From f2912d85a29643e89a07b1f3da4b400289aa56ef Mon Sep 17 00:00:00 2001 From: Eric Lindahl Date: Thu, 6 Aug 2015 12:14:09 -0400 Subject: [PATCH 1/2] Enable RTREE Compiles, minimally tested. --- Makefile | 2 +- js/sql.js | 879 +++++++++++++++++++++++----------------------- js/worker.js | 73 ++++ js/worker.sql.js | 881 +++++++++++++++++++++++------------------------ 4 files changed, 919 insertions(+), 916 deletions(-) create mode 100644 js/worker.js diff --git a/Makefile b/Makefile index 0da57c79..23d28d25 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ EMSCRIPTEN?=/usr/bin EMCC=$(EMSCRIPTEN)/emcc -CFLAGS=-DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_DISABLE_LFS -DLONGDOUBLE_TYPE=double -DSQLITE_INT64_TYPE="long long int" -DSQLITE_THREADSAFE=0 +CFLAGS=-DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_DISABLE_LFS -DLONGDOUBLE_TYPE=double -DSQLITE_INT64_TYPE="long long int" -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_RTREE all: js/sql.js diff --git a/js/sql.js b/js/sql.js index e23c197d..58c2f31d 100644 --- a/js/sql.js +++ b/js/sql.js @@ -1,471 +1,436 @@ // This prevents pollution of the global namespace var SQL = (function () { -function e(a){throw a;}var g=void 0,k=!0,l=null,m=!1;function n(){return function(){}}var q,r;r||(r=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in r)r.hasOwnProperty(ba)&&(aa[ba]=r[ba]);var s="object"===typeof process&&"function"===typeof require,da="object"===typeof window,ea="function"===typeof importScripts,ga=!da&&!s&&!ea; -if(s){r.print||(r.print=function(a){process.stdout.write(a+"\n")});r.printErr||(r.printErr=function(a){process.stderr.write(a+"\n")});var ha=require("fs"),ia=require("path");r.read=function(a,b){var a=ia.normalize(a),c=ha.readFileSync(a);!c&&a!=ia.resolve(a)&&(a=path.join(__dirname,"..","src",a),c=ha.readFileSync(a));c&&!b&&(c=c.toString());return c};r.readBinary=function(a){return r.read(a,k)};r.load=function(a){ja(read(a))};r.thisProgram=1 0) var gc = undefined")):da||ea?(r.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,m);b.send(l);return b.responseText},"undefined"!=typeof arguments&&(r.arguments=arguments),"undefined"!==typeof console?(r.print||(r.print=function(a){console.log(a)}),r.printErr||(r.printErr=function(a){console.log(a)})):r.print||(r.print= -n()),da?window.Module=r:r.load=importScripts):e("Unknown runtime environment. Where are we?");function ja(a){eval.call(l,a)}!r.load&&r.read&&(r.load=function(a){ja(r.read(a))});r.print||(r.print=n());r.printErr||(r.printErr=r.print);r.arguments||(r.arguments=[]);r.thisProgram||(r.thisProgram="./this.program");r.print=r.print;r.Ca=r.printErr;r.preRun=[];r.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(r[ba]=aa[ba]); -var w={Lf:function(a){la=a},Ye:function(){return la},Xb:function(){return v},Wb:function(a){v=a},qd: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]?w.wa:"i"===a[0]?(a=parseInt(a.substr(1)),u(0===a%8),a/8):0}},Ve:function(a){return Math.max(w.qd(a),w.wa)},ei:16,zi:function(a,b,c){return!c&&("i64"==a||"double"==a)?8:!a?Math.min(b,8):Math.min(b||(a?w.Ve(a):0), -w.wa)},ib:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),r["dynCall_"+a].apply(l,c)):r["dynCall_"+a].call(l,b)},Mb:[],ge:function(a){for(var b=0;b=oa&&ma("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+oa+", (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},ec:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},Qi:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296* -+(b|0)},Ab:8,wa:4,ki:0};r.Runtime=w;w.addFunction=w.ge;w.removeFunction=w.Gf;var pa=m,qa,ra,la;function u(a,b){a||ma("Assertion failed: "+b)}function sa(a){var b=r["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}u(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var ta,va; -(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){w.Xb()},stackRestore:function(){w.Wb()},arrayToC:function(a){var b=w.Ma(a.length);wa(a,b);return b},stringToC:function(a){var b=0;a!==l&&(a!==g&&0!==a)&&(b=w.Ma((a.length<<2)+1),xa(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};va=function(a,b,d,f){var h=sa(a),t=[],a=0;if(f)for(var B=0;B>0]=b;break;case "i8":D[a>>0]=b;break;case "i16":za[a>>1]=b;break;case "i32":E[a>>2]=b;break;case "i64":ra=[b>>>0,(qa=b,1<=+Aa(qa)?0>>0:~~+Da((qa-+(~~qa>>>0))/4294967296)>>>0:0)];E[a>>2]=ra[0];E[a+4>>2]=ra[1];break;case "float":Ea[a>>2]=b;break;case "double":Fa[a>>3]=b;break;default:ma("invalid type for setValue: "+c)}}r.setValue=ya; -function Ga(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return D[a>>0];case "i8":return D[a>>0];case "i16":return za[a>>1];case "i32":return E[a>>2];case "i64":return E[a>>2];case "float":return Ea[a>>2];case "double":return Fa[a>>3];default:ma("invalid type for setValue: "+b)}return l}r.getValue=Ga;var F=0,G=2,Ha=4;r.ALLOC_NORMAL=F;r.ALLOC_STACK=1;r.ALLOC_STATIC=G;r.ALLOC_DYNAMIC=3;r.ALLOC_NONE=Ha; -function H(a,b,c,d){var f,h;"number"===typeof a?(f=k,h=a):(f=m,h=a.length);var i="string"===typeof b?b:l,c=c==Ha?d:[Ia,w.Ma,w.Jd,w.Kb][c===g?G:c](Math.max(h,i?1:b.length));if(f){d=c;u(0==(c&3));for(a=c+(h&-4);d>2]=0;for(a=c+h;d>0]=0;return c}if("i8"===i)return a.subarray||a.slice?K.set(a,c):K.set(new Uint8Array(a),c),c;for(var d=0,j,x;d>0];if(128<=d)c=k;else if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);var h="";if(!c){for(;0>0],h+=c.Vb(d);return h}r.Pointer_stringify=y;r.UTF16ToString=function(a){for(var b=0,c="";;){var d=za[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}}; -r.stringToUTF16=function(a,b){for(var c=0;c>1]=a.charCodeAt(c);za[b+2*a.length>>1]=0};r.UTF32ToString=function(a){for(var b=0,c="";;){var d=E[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)}};r.stringToUTF32=function(a,b){for(var c=0,d=0;d=f)var h=a.charCodeAt(++d),f=65536+((f&1023)<<10)|h&1023;E[b+4*c>>2]=f;++c}E[b+4*c>>2]=0}; -function Ja(a){function b(c,d,f){var d=d||Infinity,h="",i=[],t;if("N"===a[j]){j++;"K"===a[j]&&j++;for(t=[];"E"!==a[j];)if("S"===a[j]){j++;var J=a.indexOf("_",j);t.push(p[a.substring(j,J)||0]||"?");j=J+1}else if("C"===a[j])t.push(t[t.length-1]),j+=2;else{var J=parseInt(a.substr(j)),fa=J.toString().length;if(!J||!fa){j--;break}var Tb=a.substr(j+fa,J);t.push(Tb);p.push(Tb);j+=fa+J}j++;t=t.join("::");d--;if(0===d)return c?[t]:t}else if(("K"===a[j]||A&&"L"===a[j])&&j++,J=parseInt(a.substr(j)))fa=J.toString().length, -t=a.substr(j+fa,J),j+=fa+J;A=m;"I"===a[j]?(j++,J=b(k),fa=b(k,1,k),h+=fa[0]+" "+t+"<"+J.join(", ")+">"):h=t;a:for(;jL?2*L:L+16777216; -L!==oa&&(r.Ca("increasing TOTAL_MEMORY to "+L+" to be compliant with the asm.js spec"),oa=L);u("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var M=new ArrayBuffer(oa);D=new Int8Array(M);za=new Int16Array(M);E=new Int32Array(M);K=new Uint8Array(M);Ma=new Uint16Array(M);Na=new Uint32Array(M);Ea=new Float32Array(M);Fa=new Float64Array(M);E[0]=255; -u(255===K[0]&&0===K[3],"Typed arrays 2 must be run on a little-endian system");r.HEAP=g;r.buffer=M;r.HEAP8=D;r.HEAP16=za;r.HEAP32=E;r.HEAPU8=K;r.HEAPU16=Ma;r.HEAPU32=Na;r.HEAPF32=Ea;r.HEAPF64=Fa;function Ta(a){for(;0>0]=a[c],c+=1}r.writeStringToMemory=xa; -function wa(a,b){for(var c=0;c>0]=a[c]}r.writeArrayToMemory=wa;function bb(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(D[b+a.length>>0]=0)}r.writeAsciiToMemory=bb;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.Hi=Math.imul;var Aa=Math.abs,Da=Math.ceil,Ca=Math.floor,Ba=Math.min,cb=0,db=l,eb=l;function fb(){cb++;r.monitorRunDependencies&&r.monitorRunDependencies(cb)} -r.addRunDependency=fb;function gb(){cb--;r.monitorRunDependencies&&r.monitorRunDependencies(cb);if(0==cb&&(db!==l&&(clearInterval(db),db=l),eb)){var a=eb;eb=l;a()}}r.removeRunDependency=gb;r.preloadedImages={};r.preloadedAudios={};var hb=l,Oa=8,na=Oa+39504;Va.push(); -H([51,46,56,46,55,46,52,0,83,81,76,73,84,69,95,0,0,152,0,0,16,152,0,0,32,152,0,0,56,152,0,0,72,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38, -39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173, -174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,24,4,0,0,32,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,40,4,0,0,56,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,64,4,0,0,80,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,88,4,0,0,32,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,117,110,105,120,0,0,0,0,6,0,0,0,0,0,0,0,117,110,105,120,45,110,111,110,101,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,117,110,105,120,45,100,111,116,102,105,108,101,0,0,0,0,8,0,0,0,0,0,0,0,117,110,105,120,45,101,120,99,108,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,1,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,0,37,115,0,0,0,0,0,0,42,63,91,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, -64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,0,0,116,114,105,103,103,101,114,0,116,101,109,112,0,0,0,0,50,48,49,52,45,49,50,45,48,57,32,48,49,58,51,52,58,51,54,32,102,54,54,102,55,97,49,55,98,55,56,98,97,54,49,55,97,99,100,101,57,48,102,99,56,49,48,49,48,55,102,51,52,102,49,97,49,102,50,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,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,0,0,0,0,0,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,102,117,108, -108,0,0,0,0,0,1,2,4,9,12,16,0,2,2,3,5,3,4,4,0,1,0,0,0,1,1,2,0,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82, -69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77, -65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85, -76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,0,0,0,0,0,0,0,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18, -89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,0,0,0,0,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9, -7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250, -0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110, -5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,0,0,117,110, -97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,0,0,0,0,66,73,78,65,82,89,0,0,82,84,82,73,77,0,0,0,78,79,67,65,83,69,0,0,109,97,105,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +var f;f||(f=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in f)f.hasOwnProperty(ba)&&(aa[ba]=f[ba]);var ca="object"===typeof window,da="function"===typeof importScripts,ea="object"===typeof process&&"function"===typeof require&&!ca&&!da,fa=!ca&&!ea&&!da; +if(ea){f.print||(f.print=function(a){process.stdout.write(a+"\n")});f.printErr||(f.printErr=function(a){process.stderr.write(a+"\n")});var ha=require("fs"),ia=require("path");f.read=function(a,b){a=ia.normalize(a);var c=ha.readFileSync(a);c||a==ia.resolve(a)||(a=path.join(__dirname,"..","src",a),c=ha.readFileSync(a));c&&!b&&(c=c.toString());return c};f.readBinary=function(a){return f.read(a,!0)};f.load=function(a){ja(read(a))};f.thisProgram||(f.thisProgram=1 0) var gc = undefined");else if(ca||da)f.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},"undefined"!=typeof arguments&&(f.arguments=arguments),"undefined"!==typeof console?(f.print||(f.print=function(a){console.log(a)}), +f.printErr||(f.printErr=function(a){console.log(a)})):f.print||(f.print=function(){}),da&&(f.load=importScripts),"undefined"===typeof f.setWindowTitle&&(f.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ja(a){eval.call(null,a)}!f.load&&f.read&&(f.load=function(a){ja(f.read(a))});f.print||(f.print=function(){});f.printErr||(f.printErr=f.print);f.arguments||(f.arguments=[]);f.thisProgram||(f.thisProgram="./this.program");f.print=f.print; +f.S=f.printErr;f.preRun=[];f.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(f[ba]=aa[ba]); +var n={cc:function(a){la=a},Kb:function(){return la},ha:function(){return m},Z:function(a){m=a},Za: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]?n.O:"i"===a[0]?(a=parseInt(a.substr(1)),k(0===a%8),a/8):0}},Hb:function(a){return Math.max(n.Za(a),n.O)},Be:16,gf:function(a,b){"double"===b||"i64"===b?a&7&&(k(4===(a&7)),a+=4):k(0===(a&3));return a},Te:function(a, +b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?n.Hb(a):0),n.O):Math.min(b,8):8},V:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),f["dynCall_"+a].apply(null,c)):f["dynCall_"+a].call(null,b)},pa:[],qb:function(a){for(var b=0;b=na)q("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ +na+", (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."),a=!0;return a?(p=b,0):b},za:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},bf:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},la:8,O:4,Ee:0};f.Runtime=n;n.addFunction=n.qb;n.removeFunction=n.Zb;var oa=!1,pa,qa,la;function k(a,b){a||q("Assertion failed: "+b)} +function ra(a){var b=f["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}k(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var sa,ta; +(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){n.ha()},stackRestore:function(){n.Z()},arrayToC:function(a){var b=n.T(a.length);ua(a,b);return b},stringToC:function(a){var b=0;null!==a&&void 0!==a&&0!==a&&(b=n.T((a.length<<2)+1),va(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};ta=function(a,b,d,e,g){a=ra(a);var w=[],G=0;if(e)for(var H=0;H>0]=b;break;case "i8":u[a>>0]=b;break;case "i16":Aa[a>>1]=b;break;case "i32":v[a>>2]=b;break;case "i64":qa=[b>>>0,(pa=b,1<=+Ba(pa)?0>>0:~~+Ea((pa-+(~~pa>>>0))/4294967296)>>>0:0)];v[a>>2]=qa[0];v[a+4>>2]=qa[1];break;case "float":Fa[a>>2]=b;break;case "double":Ga[a>>3]=b;break;default:q("invalid type for setValue: "+c)}}f.setValue=za; +function Ha(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return u[a>>0];case "i8":return u[a>>0];case "i16":return Aa[a>>1];case "i32":return v[a>>2];case "i64":return v[a>>2];case "float":return Fa[a>>2];case "double":return Ga[a>>3];default:q("invalid type for setValue: "+b)}return null}f.getValue=Ha;f.ALLOC_NORMAL=0;f.ALLOC_STACK=1;f.ALLOC_STATIC=2;f.ALLOC_DYNAMIC=3;f.ALLOC_NONE=4; +function x(a,b,c,d){var e,g;"number"===typeof a?(e=!0,g=a):(e=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:[Ia,n.T,n.hb,n.da][void 0===c?2:c](Math.max(g,h?1:b.length));if(e){d=c;k(0==(c&3));for(a=c+(g&-4);d>2]=0;for(a=c+g;d>0]=0;return c}if("i8"===h)return a.subarray||a.slice?z.set(a,c):z.set(new Uint8Array(a),c),c;d=0;for(var l,r;d>0];c|=d;if(0==d&&!b)break;e++;if(b&&e==b)break}b||(b=e);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; +f.stringToAscii=function(a,b){return Ma(a,b,!1)}; +function Na(a,b){for(var c,d,e,g,h,l,r="";;){c=a[b++];if(!c)return r;c&128?(d=a[b++]&63,192==(c&224)?r+=String.fromCharCode((c&31)<<6|d):(e=a[b++]&63,224==(c&240)?c=(c&15)<<12|d<<6|e:(g=a[b++]&63,240==(c&248)?c=(c&7)<<18|d<<12|e<<6|g:(h=a[b++]&63,248==(c&252)?c=(c&3)<<24|d<<18|e<<12|g<<6|h:(l=a[b++]&63,c=(c&1)<<30|d<<24|e<<18|g<<12|h<<6|l))),65536>c?r+=String.fromCharCode(c):(c-=65536,r+=String.fromCharCode(55296|c>>10,56320|c&1023)))):r+=String.fromCharCode(c)}}f.UTF8ArrayToString=Na; +f.UTF8ToString=function(a){return Na(z,a)}; +function Oa(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| +h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}f.stringToUTF8Array=Oa;f.stringToUTF8=function(a,b,c){return Oa(a,z,b,c)};function Pa(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}f.lengthBytesUTF8=Pa;f.UTF16ToString=function(a){for(var b=0,c="";;){var d=Aa[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}}; +f.stringToUTF16=function(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=a.charCodeAt(e),b+=2;Aa[b>>1]=0;return b-d};f.lengthBytesUTF16=function(a){return 2*a.length};f.UTF32ToString=function(a){for(var b=0,c="";;){var d=v[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d=d-65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}}; +f.stringToUTF32=function(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=g)var h=a.charCodeAt(++e),g=65536+((g&1023)<<10)|h&1023;v[b>>2]=g;b+=4;if(b+4>c)break}v[b>>2]=0;return b-d};f.lengthBytesUTF32=function(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}; +function Qa(a){function b(c,d,e){d=d||Infinity;var g="",h=[],w;if("N"===a[l]){l++;"K"===a[l]&&l++;for(w=[];"E"!==a[l];)if("S"===a[l]){l++;var F=a.indexOf("_",l);w.push(t[a.substring(l,F)||0]||"?");l=F+1}else if("C"===a[l])w.push(w[w.length-1]),l+=2;else{var F=parseInt(a.substr(l)),ga=F.toString().length;if(!F||!ga){l--;break}var kc=a.substr(l+ga,F);w.push(kc);t.push(kc);l+=ga+F}l++;w=w.join("::");d--;if(0===d)return c?[w]:w}else if(("K"===a[l]||y&&"L"===a[l])&&l++,F=parseInt(a.substr(l)))ga=F.toString().length, +w=a.substr(l+ga,F),l+=ga+F;y=!1;"I"===a[l]?(l++,F=b(!0),ga=b(!0,1,!0),g+=ga[0]+" "+w+"<"+F.join(", ")+">"):g=w;a:for(;lB?2*B:B+16777216;B!==na&&(f.S("increasing TOTAL_MEMORY to "+B+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+ab+")"),na=B);k("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var C;C=new ArrayBuffer(na); +u=new Int8Array(C);Aa=new Int16Array(C);v=new Int32Array(C);z=new Uint8Array(C);Va=new Uint16Array(C);Wa=new Uint32Array(C);Fa=new Float32Array(C);Ga=new Float64Array(C);v[0]=255;k(255===z[0]&&0===z[3],"Typed arrays 2 must be run on a little-endian system");f.HEAP=void 0;f.buffer=C;f.HEAP8=u;f.HEAP16=Aa;f.HEAP32=v;f.HEAPU8=z;f.HEAPU16=Va;f.HEAPU32=Wa;f.HEAPF32=Fa;f.HEAPF64=Ga; +function bb(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=va;function ua(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=ua; +function Ma(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(u[b>>0]=0)}f.writeAsciiToMemory=Ma;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.Ye=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.Ne=Math.clz32;var Ba=Math.abs,Ea=Math.ceil,Da=Math.floor,Ca=Math.min,ib=0,jb=null,kb=null; +function lb(){ib++;f.monitorRunDependencies&&f.monitorRunDependencies(ib)}f.addRunDependency=lb;function mb(){ib--;f.monitorRunDependencies&&f.monitorRunDependencies(ib);if(0==ib&&(null!==jb&&(clearInterval(jb),jb=null),kb)){var a=kb;kb=null;a()}}f.removeRunDependency=mb;f.preloadedImages={};f.preloadedAudios={};Xa=8;ma=Xa+40720;db.push(); +x([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,147,0,0,75,147,0,0,88,147,0,0,99,147,0,0,119,147,0,0,133,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,10,141,0,0,20,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,15,141,0,0,24,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,25,141,0,0,28,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,38,141,0,0,20,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,0,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231, +3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,66,0,0,33,67,0,0,68,67,0,0,166,64,0,0,216,64,0,0,13,65,0,0,58,65,0,0,110,65,0,0,164,65,0,0,209,65,0,0,11,66,0,0,66,66,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,117,116,111,109,97,116,105,99, -32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,0,77,65,84,67,72,0,0,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,3,0,0,0,5,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111, -109,32,37,115,0,0,0,0,0,0,217,213,5,249,32,161,99,215,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,0,0,0,0,0,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32, -102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,0,0,0,45,106,111,117,114,110,97,108,0,0,0,0,0,0,0,0,45,119,97,108,0,0,0,0,110,111,108,111,99,107,0,0,105,109,109,117,116,97,98,108,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,105,108,101,58,0,0,0,108,111,99,97,108,104,111,115,116,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,0,0,0,0,118,102,115,0,0,0,0,0,99,97,99,104,101,0,0,0,96,18,0,0,0,0,2,0,104,18, -0,0,0,0,4,0,0,0,0,0,0,0,0,0,115,104,97,114,101,100,0,0,112,114,105,118,97,116,101,0,109,111,100,101,0,0,0,0,160,18,0,0,1,0,0,0,168,18,0,0,2,0,0,0,176,18,0,0,6,0,0,0,184,18,0,0,128,0,0,0,0,0,0,0,0,0,0,0,114,111,0,0,0,0,0,0,114,119,0,0,0,0,0,0,114,119,99,0,0,0,0,0,109,101,109,111,114,121,0,0,97,99,99,101,115,115,0,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,0,0,0,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99, -104,32,118,102,115,58,32,37,115,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,0,0,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, -28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,0,104,20,0,0,120,20,0,0,0,0,0,0,160,20,0,0,192,20,0,0,224,20,0,0,248,20,0,0,24,21,0,0,40,21,0,0,80,21,0,0,96,21,0,0,112,21,0,0,152,21,0,0,176,21,0,0,208,21,0,0,240,21,0,0,8,22,0,0,32,22, -0,0,152,4,0,0,64,22,0,0,88,22,0,0,112,22,0,0,152,22,0,0,184,22,0,0,208,22,0,0,240,22,0,0,24,23,0,0,0,0,0,0,110,111,116,32,97,110,32,101,114,114,111,114,0,0,0,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,0,0,0,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,0,0,0,0,0,0,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98, -111,114,116,0,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,0,0,0,0,0,0,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,0,0,0,105,110,116,101,114,114,117,112,116,101,100,0,0,0,0,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,0,100, -97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,0,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,0,0,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,0,0,0,0,0,0,0, -116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,0,0,0,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,0,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,0,0,0,0,0,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,0,108,97,114, -103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,0,0,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,0,0,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116, -101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,0,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,0,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0, -0,0,1,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,0,0,0,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,96,32,0,0,0,0, -0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,96,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,104,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,104,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,136,32,0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,144,32,0,0,0,0,0,0,0,0,0, -0,2,0,1,8,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,152,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,160,32,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,160,32,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,168,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,176,32,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,184,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0, -0,0,0,0,0,192,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,200,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,200,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,208,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,216,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,255,255,1, -10,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,240,32,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,248,32,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,16,33,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,40, -33,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,48,33,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,64,33,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,72,33,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,88,33,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,112,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,128,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,24, -0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,192,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,200,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,224,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,232,33,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,248,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0, -0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,7,0,0,0,16,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,8,0,0,0,24,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,9,0,0,0,32,34,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,10,0,0,0,40,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,10,0,0,0,40,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,11,0,0,0,48,34,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,11,0, -0,0,48,34,0,0,0,0,0,0,0,0,0,0,2,0,13,8,184,4,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,64,34,0,0,0,0,0,0,0,0,0,0,2,0,5,8,72,34,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,80,34,0,0,0,0,0,0,0,0,0,0,3,0,5,8,72,34,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,80,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,116,114,105,109,0,0,0,114,116,114,105,109,0,0,0,116,114,105,109,0,0,0,0,109,105,110,0,0,0,0,0,109,97,120,0,0,0,0,0,116,121,112,101,111,102,0,0,108,101,110,103,116,104,0,0,105,110,115,116,114,0,0,0,115,117,98,115,116,114,0,0,112, -114,105,110,116,102,0,0,117,110,105,99,111,100,101,0,99,104,97,114,0,0,0,0,97,98,115,0,0,0,0,0,114,111,117,110,100,0,0,0,117,112,112,101,114,0,0,0,108,111,119,101,114,0,0,0,99,111,97,108,101,115,99,101,0,0,0,0,0,0,0,0,104,101,120,0,0,0,0,0,105,102,110,117,108,108,0,0,117,110,108,105,107,101,108,121,0,0,0,0,0,0,0,0,108,105,107,101,108,105,104,111,111,100,0,0,0,0,0,0,108,105,107,101,108,121,0,0,114,97,110,100,111,109,0,0,114,97,110,100,111,109,98,108,111,98,0,0,0,0,0,0,110,117,108,108,105,102,0,0,115, -113,108,105,116,101,95,118,101,114,115,105,111,110,0,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,108,111,103,0,0,0,0,0,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,0,0,0,0,0,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,0,0,0,0,0,0,0,113,117,111,116,101,0,0,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,0,0,0, -0,0,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,0,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,0,0,0,0,0,0,0,115,117,109,0,0,0,0,0,116,111,116,97,108,0,0,0,97,118,103,0,0,0,0,0,99,111,117,110,116,0,0,0,103,114,111,117,112,95,99,111,110,99,97,116,0,0,0,0,103,108,111,98,0,0,0,0,37,95,0,1,0,0,0,0,108,105,107,101,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,200,34,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,224, -34,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,248,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,0,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,0,0,0,37,115,37,46,42,115,34,37,119,34,0,0,0,0,0,0,37,115,37,115,0,0,0,0,37,46,42,115,34,37,119,34,37,115,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,38, -0,0,0,0,0,0,0,0,0,0,0,88,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,104,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,112,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,120,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,136,36,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,152,36,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,168,36,0, -0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,192,36,0,0,0,0,0,0,0,0,0,0,106,117,108,105,97,110,100,97,121,0,0,0,0,0,0,0,100,97,116,101,0,0,0,0,116,105,109,101,0,0,0,0,100,97,116,101,116,105,109,101,0,0,0,0,0,0,0,0,115,116,114,102,116,105,109,101,0,0,0,0,0,0,0,0,99,117,114,114,101,110,116,95,116,105,109,101,0,0,0,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,0,0,0,0,0,0,99,117,114,114,101,110,116,95,100,97,116,101,0,0,0,0,37,48,50,100,0,0,0,0,37,48,54,46, -51,102,0,0,37,48,51,100,0,0,0,0,37,46,49,54,103,0,0,0,37,108,108,100,0,0,0,0,37,48,52,100,0,0,0,0,108,111,99,97,108,116,105,109,101,0,0,0,0,0,0,0,117,110,105,120,101,112,111,99,104,0,0,0,0,0,0,0,117,116,99,0,0,0,0,0,119,101,101,107,100,97,121,32,0,0,0,0,0,0,0,0,115,116,97,114,116,32,111,102,32,0,0,0,0,0,0,0,109,111,110,116,104,0,0,0,121,101,97,114,0,0,0,0,100,97,121,0,0,0,0,0,104,111,117,114,0,0,0,0,109,105,110,117,116,101,0,0,115,101,99,111,110,100,0,0,108,111,99,97,108,32,116,105,109,101,32,117, -110,97,118,97,105,108,97,98,108,101,0,0,110,111,119,0,0,0,0,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,0,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,0,0,0,0,0,0,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103, -108,101,32,99,104,97,114,97,99,116,101,114,0,0,0,0,44,0,0,0,0,0,0,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,37,33,46,49,53,103,0,0,37,33,46,50,48,101,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,78,85,76,76,0,0,0,0,37,46,42,102,0,0,0,0,105,110,116,101,103,101,114,0,116,101,120,116,0,0,0,0,114,101,97,108,0,0,0,0,98,108,111,98,0,0,0,0,110,117,108,108,0,0,0,0,1,0,0,0,0,0,0,0,184,38,0,0,0,0,0,0,32,0,0,0,0,0,0,0,105,110,116,101,114,114,117,112,116,0,0,0,0, -0,0,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,0,0,0,0,0,0,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,114,111,119,105,100,0,0,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,0,0,0, -0,0,0,115,101,116,32,108,105,115,116,0,0,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,0,0,0,0,0,0,56,91,0,0,1,0,0,0,48,73,0,0,1,0,0,0,105,110,100,101,120,0,0,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116], -"i8",Ha,w.Ab); -H([101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,0,0,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97, -108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,0,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170, -1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173,2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,189,0,189,1,176,0,176,3,190,0,190,2,191,1,191,1,191,1,149,4,193,2,193,0,149,8,149,4,149,1,163,2,195,1,195,3,198,1,198,2,198,1,196,9,196,1,207,4,207,5,199,1,199,1,199,0,210,2,210,0,200,3,200,2,200,4,211,2,211,1,211,0,201,0, -201,2,213,2,213,0,212,7,212,7,212,7,159,0,159,2,194,2,214,1,214,2,214,3,214,4,216,2,216,0,215,0,215,3,215,2,217,4,217,0,205,0,205,3,220,4,220,2,177,1,177,1,177,0,203,0,203,3,204,0,204,2,206,0,206,2,206,4,206,4,149,6,202,0,202,2,149,8,221,5,221,3,149,6,149,7,222,2,222,1,223,0,223,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,224,1,224,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175, -2,225,1,225,2,175,5,226,1,226,2,175,5,175,3,175,5,175,4,175,4,175,5,228,5,228,4,229,2,229,0,227,1,227,0,209,1,209,0,208,3,208,1,149,12,230,1,230,0,179,0,179,3,188,5,188,3,231,0,231,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,232,1,232,1,232,1,232,1,232,1,171,2,171,1,172,2,149,5,233,11,235,1,235,1,235,2,235,0,236,1,236,1,236,3,237,0,237,3,238,0,238,2,234,3,234,2,240,1,240,3,241,0,241,3,241,2,239,7,239,5,239,5,239,1,175,4,175,6,192,1,192,1,192,1,149,4,149,6,149,3,243,0,243,2,242,1,242,0,149,1, -149,3,149,1,149,3,149,6,149,6,244,1,245,0,245,1,149,1,149,4,246,8,247,1,247,3,248,0,248,2,249,1,249,3,250,1,251,0,251,4,251,2,197,0,197,2,197,3,252,6,252,8,0,0,238,0,186,3,213,0,33,1,54,1,234,0,144,0,61,1,147,255,126,1,121,1,47,1,205,1,133,1,122,1,112,1,46,1,38,1,253,0,139,1,37,1,68,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,254,3,244,3,237,3,230,3,195,3,193,3,191,3, -189,3,182,3,179,3,162,3,144,3,105,3,93,3,55,3,42,3,3,3,247,2,208,2,196,2,158,2,145,2,107,2,102,2,100,2,98,2,96,2,94,2,92,2,86,2,83,2,81,2,68,2,30,2,28,2,25,2,23,2,21,2,19,2,17,2,15,2,247,1,130,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,95,0,191,1,82,0,78,1,248,1,211,1,147,1,221,1,208,1,147,1,147,1,147,1,147,1,92,3,235,2,232,2,17,3,126,2,126,2,158,3,123,3,132,3,131,3,119,3,76,3,72,3,67,3,80,3,62,3,75,3,61,3,24,3,71,3,58,3,225,2,70,3,27,3,21,3,47,0,222,2,18,2,184,2,9,3,199,2,165,2,221, -2,218,2,217,2,216,2,215,2,115,2,192,1,64,0,187,0,25,5,22,5,228,4,10,5,249,4,43,5,42,5,41,5,39,5,38,5,36,5,35,5,34,5,33,5,32,5,31,5,30,5,28,5,27,5,24,5,23,5,21,5,18,5,14,5,12,5,9,5,242,4,240,4,235,4,8,5,7,5,214,4,5,5,1,5,0,5,255,4,254,4,227,4,253,4,252,4,251,4,249,4,244,4,243,4,241,4,239,4,237,4,233,4,224,4,213,4,223,4,222,4,219,4,214,4,216,4,211,4,225,4,210,4,209,4,206,4,196,4,190,4,186,4,201,4,195,4,208,4,207,4,173,4,171,4,203,4,200,4,177,4,184,4,218,4,113,4,212,4,205,4,169,4,157,4,197,4,153,4,172, -4,155,4,167,4,166,4,162,4,158,4,194,4,192,4,152,4,138,4,159,4,156,4,136,4,175,4,179,4,109,4,71,4,174,4,170,4,164,4,168,4,147,4,145,4,144,4,149,4,150,4,142,4,135,4,117,4,146,4,134,4,143,4,133,4,108,4,121,4,119,4,100,4,104,4,79,4,78,4,76,4,72,4,126,4,125,4,61,4,101,4,56,4,40,4,96,4,73,4,58,4,54,4,49,4,43,4,85,4,83,4,95,4,93,4,92,4,89,4,87,4,84,4,239,3,232,3,234,3,52,4,51,4,57,4,0,0,0,0,50,1,212,0,176,1,187,3,127,2,191,0,187,3,39,1,47,2,88,0,88,0,88,0,88,0,81,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84, -0,84,0,83,0,74,1,185,0,184,0,183,0,123,2,123,2,36,1,94,2,94,2,88,0,88,0,88,0,88,0,171,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,16,0,180,1,85,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,172,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,47,2,84,0,84,0,84,0,83,0,74,1,65,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,123,2,123,2,122,2,121,2,182,0,170,2,38,2,123,1,120,1,119,1,17,0,66,1,94,2,94,2,115,1,198,0,223,1,91,0,118,1,82,0,79,0,165, -0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,86,2,123,2,123,2,107,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,186,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,82,2,82,2,142,0,72,1,71,1,228,1,249,0,88,1,238,0,123,2,123,2,122,2,121,2,73,2,192,1,14,2,13,2,229,0,132,1,1,0,138,1,194,1,72,2,193,1,123,2,123,2,123,2,123,2,63,1,139,1,94,2,94,2,199,0,157,0,17,1,126,1,12,1,125,1,187,0,123,2,123,2,122,2,121,2,55,1,43,2,10,1,81,2,81,2,10,1,91,1,76,2,89,0,90,0,80,0,88,2,87,2,89, -2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,222,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,16,1,24,2,122,2,121,2,146,0,98,2,197,0,54,1,63,2,182,0,226,1,15,1,123,1,120,1,119,1,250,1,21,0,122,2,121,2,122,2,121,2,123,2,123,2,118,1,99,2,62,2,36,2,184,1,111,0,51,2,94,2,94,2,122,2,121,2,68,1,223,1,96,2,96,2,96,2,44,1,179,1,61,2,119,0,151,1,210,0,162,0,50,2,115,3,80,2,80,2,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,250,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0, -83,0,74,1,108,2,111,0,123,2,123,2,105,1,94,2,94,2,102,1,249,0,93,1,248,0,177,1,243,0,223,1,74,2,122,2,121,2,195,0,99,2,93,0,119,0,221,0,63,2,241,1,22,2,22,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,62,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,77,0,173,1,126,2,61,2,77,2,18,2,240,0,230,0,242,0,105,0,249,0,93,1,248,0,3,2,76,2,208,0,204,1,17,2,52,2,173,0,122,2,121,2,202,3,144,0,174,1,2,0,168,1,228,0,124,1,45,2,94,2,94,2,190,0,153,0,159,0,158,0,2,2,51,0,120, -2,119,2,118,2,71,0,24,2,176,1,186,3,196,0,98,2,186,3,102,2,45,0,18,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,5,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,96,2,96,2,96,2,30,2,168,1,146,1,129,1,241,0,250,1,195,1,64,1,211,0,31,2,164,0,180,1,130,1,37,1,195,1,75,2,108,0,240,1,111,0,78,1,135,1,79,2,168,1,102,2,27,0,196,1,197,1,94,2,94,2,72,0,1,1,70,0,3,1,196,1,83,1,86,1,52,2,70,2,68,0,159,1,213,1,72,1,71,1,62,0,102,2,45,0,110,0,137,1,89,0,90,0,80,0,88,2,87,2, -89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,152,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,110,0,243,1,8,2,26,2,146,1,133,1,168,1,110,0,54,2,244,1,81,2,81,2,198,1,82,0,79,0,165,0,168,1,79,2,128,1,52,2,84,1,103,2,188,0,162,0,168,1,94,1,104,2,168,1,102,2,44,0,94,2,94,2,189,1,70,2,44,1,178,1,151,0,19,0,102,2,9,0,56,2,68,2,92,1,103,2,213,1,55,2,102,2,26,0,104,2,102,2,45,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,155,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0, -83,0,74,1,50,1,67,2,110,0,66,2,9,2,26,1,177,1,142,1,144,1,255,0,230,1,82,0,79,0,165,0,231,1,164,0,82,0,79,0,165,0,232,1,232,1,108,1,131,1,168,1,32,2,32,2,253,1,94,1,106,1,155,0,191,0,94,2,94,2,47,2,130,2,128,2,77,1,82,0,79,0,165,0,49,1,52,2,251,1,56,1,101,1,102,2,45,0,73,1,84,2,83,2,194,0,81,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,20,0,67,1,150,0,7,1,211,0,31,2,165,1,84,2,83,2,102,2,22,0,168,1,193,0,168,1, -28,1,168,1,135,1,168,1,253,1,168,1,65,2,168,1,186,0,79,1,168,1,47,2,168,1,57,1,120,0,34,2,94,2,94,2,67,0,102,2,47,0,102,2,50,0,102,2,48,0,102,2,100,0,102,2,99,0,102,2,101,0,64,2,102,2,102,0,102,2,109,0,70,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,168,1,55,1,168,1,73,2,54,0,168,1,4,2,5,2,78,2,102,2,112,0,168,1,72,2,168,1,60,2,168,1,195,0,168,1,59,2,168,1,67,0,168,1,102,2,94,0,102,2,98,0,168,1,102,2,97,0,8,1, -94,2,94,2,195,0,102,2,46,0,102,2,96,0,102,2,30,0,102,2,49,0,102,2,115,0,102,2,114,0,162,1,229,0,132,1,102,2,113,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,119,0,168,1,78,2,110,0,116,1,94,2,94,2,195,0,53,0,250,0,102,2,29,0,195,0,216,1,182,1,217,2,190,0,46,1,242,1,14,0,11,2,129,2,2,0,102,2,43,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84, -0,83,0,74,1,168,1,101,2,196,3,196,3,98,1,94,2,94,2,164,1,56,1,64,0,102,2,42,0,135,1,99,1,27,1,181,1,45,1,255,0,158,1,154,1,239,1,236,1,102,2,28,0,215,1,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,110,0,110,0,110,0,110,0,94,2,94,2,110,0,254,0,13,0,102,2,41,0,20,2,19,2,27,1,225,1,19,2,201,1,28,1,119,0,49,2,100,1,102,2,40,0,28,1,50,1,89,0,78,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0, -86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,110,0,168,1,85,1,220,0,43,2,94,2,94,2,95,1,43,2,62,1,102,2,95,0,157,1,255,0,83,0,74,1,28,1,28,1,255,0,128,2,77,1,100,1,255,0,102,2,39,0,50,1,100,1,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,61,1,60,1,141,0,209,1,94,2,94,2,219,0,107,2,207,1,102,2,10,0,161,1,206,1,255,0,189,0,254,1,41,2,95,1,207,0,107,1,161,0,102,2,38,0,59,1,218,0,255,0,255,0,80,0,88,2,87,2,89,2,89,2, -87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,76,0,163,1,255,0,3,0,110,3,205,1,168,1,247,0,75,1,75,1,102,2,37,0,217,0,76,0,163,1,134,1,3,0,216,0,215,0,166,1,4,0,75,1,75,1,168,1,35,2,12,0,168,1,33,2,102,2,36,0,168,1,29,2,166,1,168,1,28,2,168,1,214,0,168,1,152,1,168,1,27,2,147,1,93,2,93,2,237,0,102,2,25,0,119,0,102,2,24,0,76,2,152,1,102,2,45,0,118,0,102,2,35,0,102,2,34,0,102,2,33,0,102,2,23,0,76,2,60,0,223,0,91,2,90,2,1,2,122,1,73,0,74,0,140,0,139,0,168, -1,110,0,9,1,75,0,170,1,169,1,59,0,168,1,98,2,73,0,74,0,37,2,146,1,148,1,168,1,117,1,75,0,170,1,169,1,92,2,138,0,98,2,102,2,11,0,136,1,76,0,163,1,181,0,3,0,102,2,32,0,15,1,113,1,75,1,75,1,237,1,102,2,31,0,149,0,96,2,96,2,96,2,95,2,15,0,166,1,109,1,102,2,8,0,137,0,233,1,136,0,190,0,96,2,96,2,96,2,95,2,15,0,229,1,176,0,135,0,7,0,252,0,221,1,152,1,174,0,133,0,175,0,218,1,57,0,56,0,132,0,130,0,119,0,76,0,163,1,76,2,3,0,212,1,245,0,208,1,171,0,75,1,75,1,125,0,123,0,200,1,191,1,122,0,190,1,104,0,80,1,231, -0,166,1,166,0,154,0,73,0,74,0,76,1,116,0,175,1,121,0,53,1,75,0,170,1,169,1,222,0,106,0,98,2,52,1,125,2,204,0,152,1,117,2,115,2,116,2,6,0,200,0,172,1,171,1,34,1,203,0,110,2,201,0,76,2,62,0,63,0,33,1,66,0,163,1,143,1,3,0,145,1,32,1,92,0,143,0,75,1,75,1,31,1,96,2,96,2,96,2,95,2,15,0,73,0,74,0,227,0,166,1,69,1,69,0,160,1,75,0,170,1,169,1,100,2,156,1,98,2,192,0,61,0,57,2,209,0,140,1,226,0,22,1,225,0,127,1,152,1,15,2,46,2,20,1,21,2,40,2,16,2,65,1,11,2,114,1,252,1,180,0,76,2,238,1,179,0,110,1,117,0,253, -0,13,1,10,2,247,1,96,2,96,2,96,2,95,2,15,0,39,2,246,1,58,0,18,1,12,2,178,0,73,0,74,0,48,1,245,1,112,1,47,1,206,0,75,0,170,1,169,1,235,1,104,1,98,2,213,0,177,0,227,1,131,0,89,1,42,1,41,1,40,1,202,0,38,1,224,1,234,1,210,1,134,0,172,0,129,0,188,1,90,1,214,1,128,0,58,1,203,1,103,0,127,0,126,0,148,0,124,0,167,0,187,1,235,0,96,2,96,2,96,2,95,2,15,0,186,1,183,1,111,2,234,0,43,1,145,0,71,2,35,1,121,1,69,2,160,0,119,0,156,0,14,1,124,2,203,3,169,0,23,1,114,2,8,2,113,2,217,1,112,2,170,0,109,2,106,2,119,0,168, -0,55,0,153,1,167,1,25,2,97,2,30,1,29,1,149,1,58,2,48,2,44,2,5,0,52,0,202,1,42,2,147,0,11,1,7,2,248,1,6,2,150,1,6,1,239,0,4,1,0,2,87,1,255,1,2,1,97,1,53,2,0,1,224,0,251,0,103,1,21,1,19,1,220,1,219,1,246,0,96,1,244,0,211,1,199,1,236,0,233,0,232,0,51,1,185,1,25,1,205,0,163,0,141,1,24,1,23,2,249,1,74,1,105,2,203,3,203,3,203,3,203,3,111,1,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,82,1,0,0,0,0,0,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109, -101,58,32,37,115,0,0,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114, -111,119,105,100,61,35,37,100,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,0,0,0,0,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,0,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,0,0,0,0,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101, -119,0,0,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,0,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,67,97,110,110,111, -116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32, -119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,0,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37, -100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,0,0,0,116,98,108,95,110,97,109,101,61,37,81,0,0,0,0,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,0,0,45,0,0,0,0,0,0,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32, -119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,0,0,0,0,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,0,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65, -83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72, -69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76, -76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,0,0,0,0,0,0,85,80, -68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,0,0,0,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,0,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,110,111,32,115,117,99,104,32,99,111, -108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,0,3,2,1,0,0,0,0,0,73,78,84,69,71,69,82,0,37,115,58,37,100,0,0,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,0,0,0,0,79,82,68,69,82,0,0,0,71,82,79,85,80,0,0,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71, -82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,0,0,0,0,0,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,0,0,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103, -101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,102,117,110,99,116,105,111,110,115,0,0,0,0,0,0,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116, -32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,0,0,0,0,110,111,32,115,117,99,104, -32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,0,0,0,115,117,98,113,117,101,114,105,101,115,0,0,0,0,0,0,112,97,114,97,109,101,116,101,114,115,0,0,0,0,0,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,37,115,32,112,114,111,104,105,98,105,116, -101,100,32,105,110,32,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,0,0,0,110,101,119,0,0,0,0,0,111,108,100,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,0,0,37,115,58,32,37,115,46,37,115,46,37,115,0,0,0,0,37,115,58,32,37,115,46,37,115, -0,0,0,0,0,0,0,37,115,58,32,37,115,0,0,82,79,87,73,68,0,0,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,0,0,0,0,0,0,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,0,0,95,82,79,87,73,68,95,0,79,73,68,0,0,0,0,0,115,113,108,105,116,101,95,115,113,95,37,112,0,0,0,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32, -109,97,120,32,54,53,53,51,53,0,0,42,0,0,0,0,0,0,0,37,115,46,37,115,0,0,0,37,115,46,37,115,46,37,115,0,0,0,0,0,0,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,0,0,0,0,0,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,0,0,0,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32, -111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,0,0,0,0,0,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111, -32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,0,0,0,0,0,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,0,0,0,0,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,0,0,109,117,108,116,105,112,108,101,32,114,101, -99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,0,0,0,0,0,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,0,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,0,0,0,0,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,0,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100, -105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,0,0,104,105,100,100,101,110,0,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,0,0,0,0,0,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,0,0,0,0,105,100,120,0,0,0,0,0,116,98,108, -0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,176,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,160,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,66,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,128,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,116,97,116,95,103,101,116,0,0,0,0,0,0,0,0,37,108,108,117,0,0,0,0,32,37,108,108,117,0,0,0,115,116,97,116,95,112,117,115,104,0,0,0,0,0,0,0,115,116,97,116,95,105,110,105,116,0,0,0,0,0,0,0,216,71,0,0,232,71,0,0,248,71,0, -0,0,0,0,0,8,72,0,0,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,49,0,0,0,0,116,98,108,44,105,100,120,44,115,116,97,116,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,51,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,52,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,115,113,108,105,116,101,95,109,97,115,116,101,114,40,10,32, -32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,67,82,69,65,84,69,32,84,69,77,80,32,84,65,66,76,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116, -98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,102, -105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,0,0,0,0,0,0,0,117,110,111,114,100,101,114,101,100,42,0,0,0,0,0,0,115,122,61,91,48,45,57,93,42,0,0,0,0,0,0,0,33,0,32,0,30,0,28,0,26,0,0,0, -0,0,0,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,0,37,115,32,45,32,37,115,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,0,0,44,32,0,0,0,0,0,0,46,0,0,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101, -103,97,116,101,58,32,37,115,40,41,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,0,0,0,0,0,0,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,0,0,0,0,0,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,0,0,0,0,0,0,0,67,79,82,82,69,76,65,84,69,68,32,0,0,0,0,0,76,73,83,84,0,0,0,0,83,67, -65,76,65,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,120,0,0,0,0,0,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,1,0,1,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,208,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,0,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,0,0,0,0,99,97,110,110, -111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,136,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,0,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,0,0,0,99, -97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,0,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,0,110,111,32,115,117,99, -104,32,116,114,105,103,103,101,114,58,32,37,83,0,0,0,0,0,108,0,246,0,97,0,1,0,47,0,1,2,78,2,247,1,97,0,1,0,47,0,0,2,78,2,247,1,95,0,0,0,9,0,254,0,0,0,0,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,0,0,0,0,0,0,0,116,114, -105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,0,0,0,66,69,70,79,82,69,0,0,65,70,84,69,82,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70, -32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,0,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73, -71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,0,0,0,45,37,84,0,0,0,0,0,114,101,115,117,108,116,0,0,96,87,0,0,0,0,0,0,0,0,0,0,152,82,0,0,1,1,0,0,0,0,0,0,112,87,0,0,2,0,0,0,0,0,16,0,128,87,0,0,3,0,0,0,0,0,0,0,24,82,0,0,4,1,0,0,0,0,0,0,144,87,0,0,2,0,0,0,16,0,0,0,160,87,0,0,5,0,0,0,0,0,0,0,184,87,0,0,2,0,0,0,8,0,0,0,208,87,0,0,6,0,0,0,0,0,0,0,224,87,0,0,7,0,0,0,0,0,0,0,240,87,0,0,2,0,0,0,128,0,0,0,0,88,0,0,9,1,0,0,0, -0,0,0,16,88,0,0,10,1,0,0,0,0,0,0,40,88,0,0,2,0,0,0,0,0,0,1,64,88,0,0,2],"i8",Ha,w.Ab+10240); -H([1,0,0,120,85,0,0,11,0,0,0,0,0,0,0,88,88,0,0,12,1,0,0,0,0,0,0,112,88,0,0,13,1,0,0,0,0,0,0,136,88,0,0,2,0,0,0,0,0,8,0,152,88,0,0,0,0,0,0,0,0,0,0,168,88,0,0,2,0,0,0,32,0,0,0,192,88,0,0,2,0,0,0,4,0,0,0,208,88,0,0,2,0,0,0,0,32,0,0,240,88,0,0,14,1,0,0,0,0,0,0,8,89,0,0,15,1,0,0,0,0,0,0,24,89,0,0,16,1,0,0,0,0,0,0,56,84,0,0,17,1,0,0,0,0,0,0,112,82,0,0,18,1,0,0,0,0,0,0,128,82,0,0,19,0,0,0,0,0,0,0,40,89,0,0,2,0,0,0,0,128,0,0,96,82,0,0,21,0,0,0,0,0,0,0,64,89,0,0,22,1,0,0,0,0,0,0,192,82,0,0,23,0,0,0,0,0,0, -0,80,89,0,0,22,1,0,0,0,0,0,0,40,82,0,0,24,0,0,0,0,0,0,0,96,89,0,0,2,0,0,0,0,0,0,2,112,89,0,0,17,1,0,0,0,0,0,0,128,89,0,0,2,0,0,0,0,64,0,0,152,89,0,0,2,0,0,0,0,0,4,0,176,89,0,0,2,0,0,0,0,0,2,0,208,89,0,0,0,0,0,0,0,0,0,0,56,82,0,0,25,0,0,0,0,0,0,0,224,89,0,0,2,0,0,0,64,0,0,0,248,89,0,0,26,0,0,0,0,0,0,0,40,86,0,0,27,0,0,0,0,0,0,0,8,90,0,0,28,1,0,0,0,0,0,0,24,83,0,0,29,1,0,0,0,0,0,0,16,90,0,0,30,1,0,0,0,0,0,0,208,82,0,0,31,0,0,0,0,0,0,0,224,82,0,0,32,0,0,0,0,0,0,0,56,86,0,0,33,0,0,0,0,0,0,0,32,90,0,0, -0,0,0,0,0,0,0,0,8,86,0,0,34,0,0,0,0,0,0,0,48,90,0,0,35,1,0,0,0,0,0,0,64,90,0,0,2,0,0,0,0,8,1,0,0,0,0,0,4,0,0,0,51,0,1,3,137,1,8,0,25,0,2,0,90,1,2,1,137,1,8,0,25,0,1,0,154,0,0,0,35,1,1,0,0,0,0,0,99,97,99,104,101,95,115,105,122,101,0,0,0,0,0,0,112,97,103,101,95,115,105,122,101,0,0,0,0,0,0,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,0,0,110,111,114,109,97,108,0,0,101,120,99,108,117,115,105,118,101,0,0,0,0,0,0,0,108,111,99,107,105,110,103,95,109,111,100,101,0,0,0,0,106,111,117,114,110,97,108, -95,109,111,100,101,0,0,0,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,0,0,0,0,0,97,117,116,111,95,118,97,99,117,117,109,0,0,0,0,0,4,0,1,0,51,0,1,4,45,1,0,0,24,0,2,0,25,0,1,0,52,0,7,1,109,109,97,112,95,115,105,122,101,0,0,0,0,0,0,0,116,101,109,112,95,115,116,111,114,101,0,0,0,0,0,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,0,0,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,0,0,0,0,0,0,0,115, -121,110,99,104,114,111,110,111,117,115,0,0,0,0,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,99,105,100,0,0,0,0,0,110,97,109,101,0,0,0,0,116,121,112,101,0,0,0,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,0,0,0,0,0,112,107,0,0,0,0,0,0,116,97,98,108,101,0,0,0,119,105,100,116,104,0,0,0,104,101,105,103,104,116,0,0,115,101, -113,110,111,0,0,0,115,101,113,0,0,0,0,0,117,110,105,113,117,101,0,0,102,105,108,101,0,0,0,0,105,100,0,0,0,0,0,0,102,114,111,109,0,0,0,0,116,111,0,0,0,0,0,0,111,110,95,117,112,100,97,116,101,0,0,0,0,0,0,0,111,110,95,100,101,108,101,116,101,0,0,0,0,0,0,0,109,97,116,99,104,0,0,0,78,79,78,69,0,0,0,0,112,97,114,101,110,116,0,0,102,107,105,100,0,0,0,0,138,1,0,0,97,0,3,0,35,3,1,0,0,0,0,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115, -32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,0,0,0,0,114,111,119,32,0,0,0,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,0,0,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,0,0,0,0,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,0,0,0,111,107,0,0,0,0,0,0,40,85,0,0,1,0,0,0,48,85,0,0,1,0,0,0,56,85,0,0,2,0,0,0,72,85, -0,0,3,0,0,0,88,85,0,0,2,0,0,0,96,85,0,0,3,0,0,0,104,85,0,0,0,0,0,0,112,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,84,70,56,0,0,0,0,85,84,70,45,56,0,0,0,85,84,70,45,49,54,108,101,0,0,0,0,0,0,0,0,85,84,70,45,49,54,98,101,0,0,0,0,0,0,0,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,0,85,84,70,49,54,0,0,0,101,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,0,0,0,0,0,0,0,4,0,1,0,25,0,1,0,52,0,0,1,0,0, -0,0,4,0,0,0,51,0,1,0,35,1,1,0,0,0,0,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,0,102,117,108,108,0,0,0,0,114,101,115,116,97,114,116,0,98,117,115,121,0,0,0,0,108,111,103,0,0,0,0,0,99,104,101,99,107,112,111,105,110,116,101,100,0,0,0,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,0,0,0,0,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,37,95,0,0,0,0,0,0,102,111,114,101,105,103,110,32,107,101, -121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,0,0,0,83,69,84,32,78,85,76,76,0,0,0,0,0,0,0,0,83,69,84,32,68,69,70,65,85,76,84,0,0,0,0,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,0,0,0,0,0,0,0,78,79,32,65,67,84,73,79,78,0,0,0,0,0,0,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116, -114,97,110,115,97,99,116,105,111,110,0,0,0,110,111,110,101,0,0,0,0,105,110,99,114,101,109,101,110,116,97,108,0,0,0,0,0,48,87,0,0,56,87,0,0,64,87,0,0,72,87,0,0,184,18,0,0,88,87,0,0,100,101,108,101,116,101,0,0,112,101,114,115,105,115,116,0,111,102,102,0,0,0,0,0,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0,0,119,97,108,0,0,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,0,0,0,99,97, -99,104,101,95,115,112,105,108,108,0,0,0,0,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,0,0,0,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,0,0,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,0,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,0,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0, -0,0,0,0,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,0,0,0,0,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,0,0,0,0,0,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,0,0,0,0,0,0,0,102,111,114,101,105,103,110,95,107,101,121,115,0,0,0,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109, -101,115,0,0,0,0,0,0,0,102,117,108,108,102,115,121,110,99,0,0,0,0,0,0,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,0,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,0,0,0,0,0,105,110,100,101,120,95,105,110,102,111,0,0,0,0,0,0,105,110,100,101,120,95,108,105,115,116,0,0,0,0,0,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,0,0,0,0,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,0,112,97,103, -101,95,99,111,117,110,116,0,0,0,0,0,0,113,117,101,114,121,95,111,110,108,121,0,0,0,0,0,0,113,117,105,99,107,95,99,104,101,99,107,0,0,0,0,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,0,0,0,0,0,0,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,0,0,0,0,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,0,0,0,0,0,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,0,115,104,111,114,116,95,99,111,108,117, -109,110,95,110,97,109,101,115,0,0,0,0,0,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,0,0,115,116,97,116,115,0,0,0,116,97,98,108,101,95,105,110,102,111,0,0,0,0,0,0,117,115,101,114,95,118,101,114,115,105,111,110,0,0,0,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,0,0,0,0,0,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85, -78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,0,0,0,0,0,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,0,0,0,0,0,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114, -111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,0,0,48,0,0,0,0,0,0,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104, -97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,0,0,0,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,0,0,0,0,0,0,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,0,0,0,0,65,63,62,64,0,0,0,0,0,0,108,105,65,62,64,63,116,114,113,115,0,0,0,0,9,8, -0,0,0,0,0,0,108,105,0,0,0,0,0,0,83,69,65,82,67,72,0,0,83,67,65,78,0,0,0,0,32,83,85,66,81,85,69,82,89,32,37,100,0,0,0,0,32,84,65,66,76,69,32,37,115,0,0,0,0,0,0,0,32,65,83,32,37,115,0,0,80,82,73,77,65,82,89,32,75,69,89,0,0,0,0,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,0,0,0,0,0,0,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,0,0,0,0,0,0,73,78,68,69,88,32,37,115,0,0,0,0,0,0,0,0,32,85,83,73,78,71,32,0,40,114,111,119,105,100,61,63,41,0,0,0,0,0,0,0,40,114,111, -119,105,100,62,63,32,65,78,68,32,114,111,119,105,100,60,63,41,0,0,0,40,114,111,119,105,100,62,63,41,0,0,0,0,0,0,0,40,114,111,119,105,100,60,63,41,0,0,0,0,0,0,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,0,0,0,0,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,0,0,0,0,0,32,40,0,0,0,0,0,0,61,0,0,0,0,0,0,0,32,65,78,68,32,0,0,0,65,78,89,40,37,115,41,0,62,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,97,117,116,111,109,97,116,105, -99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,0,0,0,0,0,0,97,117,116,111,45,105,110,100,101,120,0,0,0,0,0,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,0,0,0,0,0,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,0,0,0,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105, -110,118,97,108,105,100,32,112,108,97,110,0,0,0,83,81,0,0,0,0,0,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,2,0,1,0,1,1,4,36,1,4,5,16,0,2,2,2,2,0,2,2,0,0,32,0,0,4,5,4,4,0,0,1,1,5,5,0,0,0,2,2,16,0,0,0,0,0,0,0,0,0,17,17,17,17,8,17,17,17,17,76,76,2,2,0,5,5,21,21,21,21,21,21,0,76,76,76,76,76,76,76,76,76,76,0,36,2,0,0,0,0,0,2,0,1,1,1,1,8,8,0,2,1,1,1,1,2,0,0,2,2,0,0,0,0,0,0,12,69,21,1,2,2,0,1,8,5,5,5,0,1,0,0,0,0,0,0,0,1,0,2,2,1,0,0,0,0,0,0,16,16,2,16,0,0,0,0,0,1,2,3,4,6,8,8,0, -0,0,0,0,0,0,0,16,67,0,0,3,0,0,0,8,67,0,0,3,0,0,0,111,105,100,0,0,0,0,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,37,115,46,114,111,119,105,100,0,0,0,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,0,0,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,0,0,110,111,32,115,117,99,104,32, -99,111,108,117,109,110,58,32,37,115,0,0,0,0,0,0,114,111,119,115,32,117,112,100,97,116,101,100,0,0,0,0,95,114,111,119,105,100,95,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,0,0,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,0,0,0,0,0,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,0,0,0,117,110,107,110,111,119,110,32, -111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,0,0,0,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,0,0,0,0,79,78,0,0,0,0,0,0,85,83,73,78,71,0,0,0, -68,73,83,84,73,78,67,84,0,0,0,0,0,0,0,0,71,82,79,85,80,32,66,89,0,0,0,0,0,0,0,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,0,79,82,68,69,82,32,66,89,0,0,0,0,0,0,0,0,99,111,108,117,109,110,37,100,0,0,0,0,0,0,0,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,0,0,0,0,0,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108, -121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,0,0,0,0,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,0,0,0,97,108,108,32,86,65,76,85,69,83, -32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,0,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,0,0,0,0,0,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83, -32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,0,0,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,0,0,0,0,0,85,78,73,79,78,32,65,76,76,0,0,0,0,0,0,0,73,78,84,69,82,83,69,67,84,0,0,0,0,0,0,0,69,88,67,69,80,84,0,0,85,78,73,79,78,0,0,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115, -105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,0,0,0,0,118,105,101,119,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,0,0,0,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,0,0,0,0,0,0,117,115,101,32,68,82,79,80,32,86,73, -69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,0,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108, -100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,0,0,117, -110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,0,0,0,0,0,0,97,108,116,101,114,116,97,98,95,0,0,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0, -0,0,0,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,0,0,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,0,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,0,0,0,0,0,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97, -117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,0,116,97,98,108,101,32,37,115,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,0,0,0,0,0,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,0,0,0,0,32,85,78,73,81,85,69,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105, -110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,0,0,0,0,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,0,0,0,0,0,0,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32, -75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,0,0,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,0,0,0,0,0,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87, -73,68,32,116,97,98,108,101,115,0,0,0,0,0,0,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,0,0,86,73,69,87,0,0,0,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114, -111,119,105,100,61,35,37,100,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,0,0,0,0,0,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,0,0,0,0,0,0,10,32,32,0,0,0,0,0,44,10,32,32,0,0,0,0,10,41,0,0,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,0,0,192,4,0,0,88,105,0,0,96,105,0,0,104,105,0,0,112,105,0,0,0,0,0,0,32,84,69,88,84,0, -0,0,32,78,85,77,0,0,0,0,32,73,78,84,0,0,0,0,32,82,69,65,76,0,0,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,0,0,0,0,0,0,0,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,0,0,0,0,0,248,105,0,0,0,106,0,0,8,106,0,0,0,0,0,0,66,69,71, -73,78,0,0,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,0,0,0,0,0,0,0,67,79,77,77,73,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,0,0,224,3,33,4,75,5,132,4,180,4,180,4,1,0,6,1,237,255,135,0,135,0,8,3,180,4,180,4,180,4,180,4,69,0,69,0,53,0,208,0,27,1,243,2,58,0,213,2,136,2,59,2,238,1,161,1,84,1,7,1,212,0,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,46,4,180,4,180, -4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,0,0,29,0,244,255,27,1,27,1,139,0,91,0,136,1,136,1,126,3,160,2,214,2,103,5,170,255,170,255,170,255,88,0,62,1,62,1,99,0,125,1,236,255,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1, -27,1,27,1,27,1,27,1,27,1,27,1,112,2,108,3,214,2,160,2,60,5,60,5,60,5,60,5,60,5,60,5,170,255,170,255,170,255,49,1,136,0,136,0,142,0,167,0,226,0,154,0,137,0,152,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,80,1,80,1,80,1,27,1,27,1,96,1,27,1,27,1,27,1,27,1,27,1,228,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,245,1,57,2,84,2,84,2,84,2,251,1,241,1,185,1,135,1,97,1,156,0,156,0,89,3,97,1,89,3,223,2,45,3,127,2,203,2,156,0,76,1,203,2,203,2,240,1,163,1,134, -2,77,5,160,4,160,4,55,5,55,5,160,4,61,5,236,4,120,4,66,5,66,5,66,5,66,5,160,4,26,5,120,4,61,5,236,4,236,4,120,4,160,4,26,5,182,4,4,5,160,4,160,4,26,5,160,4,26,5,160,4,26,5,238,4,183,4,183,4,183,4,250,4,238,4,183,4,193,4,183,4,250,4,183,4,183,4,161,4,176,4,161,4,176,4,161,4,176,4,160,4,160,4,137,4,238,4,178,4,178,4,238,4,130,4,131,4,123,4,128,4,120,4,217,4,215,4,226,4,226,4,230,4,230,4,230,4,230,4,170,255,170,255,170,255,170,255,170,255,170,255,44,4,48,1,14,2,249,0,152,1,173,255,178,1,44,3,27,0,43, -3,39,3,34,3,239,2,77,2,139,2,163,0,131,0,162,2,110,1,194,1,43,1,148,0,23,0,102,0,229,0,235,255,221,4,220,4,198,4,75,4,204,4,148,4,199,4,191,4,189,4,91,4,82,4,99,4,86,4,185,4,81,4,188,4,202,4,74,4,65,4,116,4,115,4,80,4,165,4,154,4,70,4,187,4,181,4,163,4,77,4,47,4,129,4,151,4,122,4,114,4,127,4,67,4,140,4,141,4,139,4,45,4,48,4,124,4,88,4,110,4,103,4,105,4,102,4,68,4,90,4,94,4,64,4,66,4,69,4,63,4,60,4,219,3,55,4,53,4,50,4,41,4,156,3,253,3,246,3,236,3,238,3,51,3,227,2,128,3,87,3,36,3,227,2,228,2,224,2, -178,2,142,2,153,2,106,2,70,2,56,2,16,2,42,2,123,1,20,2,223,1,199,1,123,1,176,1,115,1,85,1,28,0,82,1,116,0,245,255,199,255,171,255,7,0,248,255,3,0,0,0,0,0,135,2,196,3,196,3,196,3,110,3,110,3,201,3,196,3,6,3,34,3,34,3,170,3,201,3,201,3,201,3,108,3,201,3,201,3,201,3,196,3,201,3,10,3,40,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,169,3,171,3,48,3,47,3,150,3,21,3,45,3,38,3,42,3,111,3,104,3,105,3,103,3,107,3,112,3,201,3,41,3,73,3,88,3,72,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201, -3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,82,3,87,3,94,3,86,3,83,3,75,3,74,3,76,3,77,3,201,3,201,3,161,2,227,2,201,3,201,3,78,3,201,3,173,2,79,3,91,3,90,3,89,3,168,2,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,135,2,196,3,201, -3,201,3,196,3,196,3,196,3,196,3,196,3,196,3,188,3,10,3,0,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,176,3,174,3,201,3,123,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,141,2,201,3,143,3,6,3,6,3,6,3,8,3,242,2,254,2,143,2,44,3,23,3,23,3,155,3,44,3,155,3,198,2,221,2,195,2,34,3,23,3,106,3,34,3,34,3,7,3,254,2,201,3,181,3,14,3,14,3, -173,3,173,3,14,3,53,3,231,2,44,3,238,2,238,2,238,2,238,2,14,3,158,2,44,3,53,3,231,2,231,2,44,3,14,3,158,2,149,3,147,3,14,3,14,3,158,2,14,3,158,2,14,3,158,2,116,3,229,2,229,2,229,2,213,2,116,3,229,2,198,2,229,2,213,2,229,2,229,2,27,3,22,3,27,3,22,3,27,3,22,3,14,3,14,3,201,3,116,3,120,3,120,3,116,3,39,3,28,3,37,3,35,3,44,3,164,2,216,2,151,2,151,2,140,2,140,2,140,2,140,2,193,3,193,3,188,3,200,2,200,2,183,2,201,3,201,3,201,3,201,3,201,3,201,3,175,2,201,3,125,3,201,3,201,3,201,3,201,3,201,3,201,3,201, -3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,60,3,201,3,136,2,183,3,201,3,201,3,180,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,153,3,201,3,201,3,201,3,201,3,201,3,201,3,146,3,145,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,245,2,201,3,201,3,201,3,249,2,201,3,201,3,201,3,201,3,201,3,201,3,36,3,201,3,29,3,201,3,109,3,201,3,201,3,201, -3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,198,3,201,3,201,3,201,3,197,3,201,3,201,3,201,3,201,3,201,3,62,3,201,3,61,3,65,3,201,3,149,2,201,3,132,2,137,2,192,3,195,3,194,3,191,3,190,3,189,3,184,3,182,3,179,3,178,3,177,3,175,3,172,3,168,3,129,3,127,3,134,3,133,3,132,3,131,3,130,3,128,3,126,3,124,3,50,3,49,3,46,3,43,3,241,2,167,3,122,3,240,2,237,2,236,2,157,2,185,3,152,3,161,3,160,3,159,3,54,3,158,3,157,3,156,3,154,3,151,3,138,3,52,3,51,3,232,2,114,3,113,3,160,2,142,3,141,3,140,3,144,3,148,3,139,3, -16,3,239,2,159,2,156,2,163,2,167,2,219,2,220,2,228,2,226,2,225,2,224,2,223,2,222,2,218,2,169,2,174,2,212,2,197,2,196,2,205,2,204,2,210,2,209,2,208,2,207,2,206,2,203,2,202,2,201,2,194,2,193,2,199,2,192,2,215,2,214,2,211,2,191,2,235,2,234,2,233,2,230,2,190,2,189,2,188,2,65,3,187,2,186,2,70,3,69,3,98,3,58,3,243,2,247,2,246,2,250,2,251,2,3,3,2,3,1,3,12,3,13,3,25,3,24,3,56,3,55,3,26,3,11,3,5,3,4,3,20,3,19,3,18,3,17,3,9,3,255,2,31,3,30,3,100,3,15,3,99,3,97,3,166,3,165,3,164,3,163,3,162,3,102,3,199,3,200, -3,119,3,121,3,118,3,33,3,32,3,117,3,101,3,71,3,68,3,178,2,179,2,137,3,136,3,135,3,181,2,180,2,177,2,176,2,95,3,92,3,84,3,96,3,93,3,85,3,81,3,80,3,66,3,64,3,63,3,59,3,67,3,248,2,244,2,57,3,253,2,252,2,185,2,184,2,182,2,166,2,165,2,162,2,155,2,153,2,152,2,154,2,150,2,148,2,147,2,146,2,145,2,144,2,172,2,171,2,170,2,142,2,139,2,138,2,134,2,133,2,131,2,0,0,0,0,19,22,22,23,1,24,26,15,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,108,109,110,27,28,23,50,51,80,81,82,83,122,85,86,87,88,89,90,91,92,93, -94,95,22,70,23,71,72,73,74,75,76,77,78,79,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,19,97,91,92,93,94,95,26,85,86,87,88,89,90,91,92,93,94,95,27,28,97,98,99,122,211,102,103,104,79,19,50,51,19,122,59,55,113,224,225,226,89,90,91,92,93,94,95,23,27,28,26,71,72,73,74,75,76,77,78,79,80,81,82,83,51,85,86,87,88,89,90,91,92,93,94,95,19,132,133,58,89,90,21,108,109,110,27,28,97,98,33,100,7,8,119,120,22,19,107,42,109,27,28,27,28,95,28,50,51,99,100,101,102,103,104,105,27,28,97,98,107,152,112,132,133,112, -65,69,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,101,97,97,98,24,101,122,157,12,99,103,112,102,103,104,152,22,97,98,97,98,27,28,113,27,29,91,164,165,124,50,51,97,98,219,59,132,133,134,22,23,45,66,47,212,213,124,140,132,133,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,165,27,28,230,50,51,233,108,109,110,70,16,59,23,97,98,26,97,22,66,185,12,187,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,29,85,86,87,88,89,90,91,92,93,94,95,19, -22,148,149,45,23,47,62,154,64,156,108,109,110,37,69,23,163,59,26,26,97,98,144,145,146,147,152,200,52,23,50,51,26,22,89,90,60,210,7,8,9,138,97,22,23,26,101,26,174,175,197,71,72,73,74,75,76,77,78,79,80,81,82,83,16,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,208,209,140,152,152,111,195,196,98,70,163,160,152,23,22,164,165,246,207,27,152,174,175,171,172,50,51,137,62,139,64,171,172,222,124,27,138,24,163,89,90,130,174,175,197,163,71,72,73,74,75,76,77,78,79,80,81,82,83,22,85,86,87,88,89,90,91, -92,93,94,95,19,197,181,182,23,208,209,152,197,26,189,132,133,232,224,225,226,152,97,91,26,232,116,212,213,152,222,121,152,174,175,50,51,243,97,22,23,22,234,174,175,177,23,239,116,163,177,174,175,121,174,175,71,72,73,74,75,76,77,78,79,80,81,82,83,24,85,86,87,88,89,90,91,92,93,94,95,19,23,197,11,23,227,70,208,220,152,31,224,225,226,35,98,224,225,226,108,109,110,115,152,117,118,27,222,49,123,24,50,51,27,0,1,2,224,225,226,166,124,168,169,239,174,175,170,171,172,22,194,71,72,73,74,75,76,77,78,79,80,81, -82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,22,208,24,23,195,196,170,171,172,174,175,152,26,152,152,152,207,152,97,152,23,152,51,244,152,97,152,247,248,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,23,174,175,174,175,188,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,107,152,33,24,152,100,101,27,174,175,152,42,152,23,152,26,152,23,152,26,152,174,175,174,175,152,174,175,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,163,119,120,174,175, -19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,66,152,97,197,23,50,51,26,53,23,174,175,26,23,23,23,26,26,26,36,106,146,147,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,196,119,120,19,50,51,168,169,26,174,175,207,28,152,249,250,152,163,163,163,163,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,197,197,197,197,50,51,197,194,36,174,175,191,192,152,191,192,163,152,66,124,152,174, -175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,197,152,100,188,152,50,51,152,152,188,174,175,252,152,94,95,152,152,152,1,2,152,152,174,175,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,188,188,22,194,50,51,240,173,194,174,175,252,194,152,36,181,28,152,23,219,122,174,175,219,221,152,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,152,22,23,194,152,240,27,28,174,175,240,19,20,26,22,194,194, -38,22,27,28,152,23,22,152,116,174,175,152,23,38,152,23,152,221,152,57,152,23,163,50,51,194,174,175,66,174,175,69,57,174,175,40,174,175,174,175,174,175,174,175,69,22,53,74,75,30,53,89,90,22,22,152,197,23,96,97,98,22,152,101,89,90,91,208,209,152,53,96,97,98,101,22,101,174,175,152,19,20,105,22,174,175,112,19,27,28,20,174,175,24,132,133,134,135,136,38,44,174,175,107,61,54,26,132,133,134,135,136,54,107,22,5,140,1,57,36,111,122,28,79,79,131,123,66,19,20,69,22,1,16,20,125,27,28,123,111,120,23,131,23,16, -68,142,38,15,22,89,90,3,167,4,248,251,96,97,98,180,180,101,251,151,6,57,151,13,151,26,25,151,161,202,153,162,153,69,130,128,203,19,20,127,22,126,204,129,22,27,28,205,132,133,134,135,136,89,90,231,38,95,137,179,96,97,98,206,179,101,122,107,159,159,125,231,216,228,107,57,184,217,216,176,217,176,48,106,18,184,158,69,159,158,46,71,237,176,176,176,132,133,134,135,136,217,176,137,216,178,158,89,90,179,176,159,179,159,96,97,98,159,159,101,5,158,202,22,18,10,11,12,13],"i8",Ha,w.Ab+20481); -H([14,190,238,17,190,158,193,41,159,202,193,159,202,245,193,193,223,190,32,159,34,132,133,134,135,136,159,39,155,43,150,223,177,201,178,177,186,66,199,177,152,253,56,215,152,182,152,202,152,63,152,152,66,67,242,229,152,174,152,152,152,152,152,152,152,199,242,202,152,198,152,152,152,183,192,152,215,152,183,215,183,152,241,214,152,211,152,152,211,211,152,152,241,152,152,152,152,152,152,152,114,152,152,235,152,152,152,174,187,95,174,253,253,253,253,236,253,253,253,253,253,253,253,253,253,253,253,141, -0,0,0,0,0,0,0,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,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,27,27,27,27,27,27,27,27,27,0,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,0,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,0,0,0,0,0,64,121,0,0,72,121,0,0,80,121,0,0,88,121,0,0,96,121,0,0,104,121,0,0,112,121,0,0,120,121,0,0,128,121, -0,0,144,121,0,0,216,83,0,0,152,121,0,0,97,100,100,114,0,0,0,0,111,112,99,111,100,101,0,0,112,49,0,0,0,0,0,0,112,50,0,0,0,0,0,0,112,51,0,0,0,0,0,0,112,52,0,0,0,0,0,0,112,53,0,0,0,0,0,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,0,0,0,0,0,0,0,111,114,100,101,114,0,0,0,100,101,116,97,105,108,0,0,117,110,111,112,101,110,101,100,0,0,0,0,0,0,0,0,110,111,32,115,117,99,104,32,118,105,101,119,0,0,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,0,0,98,105,110,100,32,111,110,32,97,32, -98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,122,0,0,64,122,0,0,72,122,0,0,80,122,0,0,78,79,84,32,78,85,76,76,0,0,0,0,0,0,0,0,85,78,73,81,85,69,0,0,67,72,69,67,75,0,0,0,70,79,82,69,73,71,78,32,75,69,89,0,0,0,0,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108, -101,100,58,32,37,115,0,0,0,0,0,0,0,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,0,0,0,1,2,0,2,2,0,0,0,0,0,0,0,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,0,0,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,0,0,99,97,110,110,111,116,32,114,101,108,101, -97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114, -97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,0,0,0,0,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69, -82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,0,0,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,105,110,116,111,0,0,0,0,111,117,116,32,111,102,0,0,100,97,116,97,98,97,115,101,32,116,97,98, -108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,0,0,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,0,0,0,0,39,37,46,42,113,39,0,0,122,101,114,111,98,108,111,98,40,37,100,41,0,0,0,0,120,39,0,0,0,0,0,0,37,48,50,120,0,0,0,0,39,0,0,0,0,0,0,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67, -85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,0,0,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,0,0,0,0,0,0,0,66,69,71,73,78,59,0,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32, -84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,0,0,0,0,83,69,76,69,67,84,32,39,67,82,69,65, -84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70, -82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,0,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39, -70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,0,0,0,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110, -97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32, -124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,0,0,0,0,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108, -95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,0,0,0,0,0,0,77,97,105,110,32,102,114,101,101,108,105, -115,116,58,32,0,76,105,115,116,32,111,102,32,116,114,101,101,32,114,111,111,116,115,58,32,0,0,0,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,0,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,0,0,0,0,0,0,79,117,116,115,116,97,110,100,105,110,103,32,112,97,103,101,32,99,111,117,110,116,32,103,111,101,115,32,102,114,111,109,32,37,100,32,116,111,32,37,100,32,100,117,114,105,110,103,32,116, -104,105,115,32,97,110,97,108,121,115,105,115,0,0,10,0,0,0,0,0,0,0,80,97,103,101,32,37,100,58,32,0,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,0,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,0,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,0,0,0,0,0,0,82,111, -119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,112,114,101,118,105,111,117,115,32,119,97,115,32,37,108,108,100,41,0,0,0,0,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,0,0,0,0,0,0,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114, -32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32, -109,97,120,32,111,102,32,37,108,108,100,41,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,0,0,0,0,0,67,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,99,101,108,108,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,0,0,0,0,0,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111, -114,32,98,121,116,101,32,37,100,32,111,102,32,112,97,103,101,32,37,100,0,0,0,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,0,0,0,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,0,0,0,0,0,0,0,70,97,105,108,101,100,32,116,111,32,114, -101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,0,0,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,0,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,0,0,0,0,0,0,0,102,97,105,108, -101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,0,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,0,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,0,45,109,106,37,48,54,88,57,37,48,50,88,0,0,0,0,37,46,50,120,0,0,0,0,107,40,37,100, -0,0,0,0,110,105,108,0,0,0,0,0,66,0,0,0,0,0,0,0,44,46,46,46,0,0,0,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,0,37,100,0,0,0,0,0,0,40,98,108,111,98,41,0,0,118,116,97,98,58,37,112,58,37,112,0,0,0,0,0,0,105,110,116,97,114,114,97,121,0,0,0,0,0,0,0,0,112,114,111,103,114,97,109,0,72,74,0,0,152,137,0,0,168,137,0,0,184,137,0,0,200,137,0,0,216,137,0,0,232,137,0,0,248,137,0,0,8,138,0,0,16,138,0,0,24,138,0,0,32,138,0,0,48,138,0,0,64,138,0,0,72,138,0,0,80,138,0,0,88,138,0,0,96,138,0,0,104,138,0,0,112,138, -0,0,120,138,0,0,136,138,0,0,152,138,0,0,160,138,0,0,176,138,0,0,184,138,0,0,192,138,0,0,200,138,0,0,208,138,0,0,216,138,0,0,232,138,0,0,240,138,0,0,0,139,0,0,8,139,0,0,16,139,0,0,24,139,0,0,40,139,0,0,48,139,0,0,56,139,0,0,72,139,0,0,88,139,0,0,96,139,0,0,112,139,0,0,120,139,0,0,128,139,0,0,136,139,0,0,144,139,0,0,152,139,0,0,160,139,0,0,176,139,0,0,192,139,0,0,200,139,0,0,216,139,0,0,232,139,0,0,248,139,0,0,8,140,0,0,24,140,0,0,40,140,0,0,56,140,0,0,72,140,0,0,88,140,0,0,104,140,0,0,112,140,0,0, -120,140,0,0,128,140,0,0,136,140,0,0,144,140,0,0,152,140,0,0,168,140,0,0,184,140,0,0,192,140,0,0,208,140,0,0,216,140,0,0,224,140,0,0,240,140,0,0,0,141,0,0,8,141,0,0,16,141,0,0,24,141,0,0,32,141,0,0,40,141,0,0,48,141,0,0,56,141,0,0,64,141,0,0,72,141,0,0,88,141,0,0,96,141,0,0,104,141,0,0,120,141,0,0,136,141,0,0,144,141,0,0,160,141,0,0,176,141,0,0,184,141,0,0,200,141,0,0,208,141,0,0,216,141,0,0,224,141,0,0,232,141,0,0,248,141,0,0,8,142,0,0,24,142,0,0,32,142,0,0,40,142,0,0,48,142,0,0,56,142,0,0,64,142, -0,0,80,142,0,0,88,142,0,0,96,142,0,0,112,142,0,0,128,142,0,0,144,142,0,0,160,142,0,0,168,142,0,0,176,142,0,0,184,142,0,0,192,142,0,0,200,142,0,0,208,142,0,0,224,142,0,0,240,142,0,0,0,143,0,0,16,143,0,0,32,143,0,0,48,143,0,0,64,143,0,0,80,143,0,0,96,143,0,0,112,143,0,0,128,143,0,0,144,143,0,0,152,143,0,0,160,143,0,0,168,143,0,0,184,143,0,0,200,143,0,0,208,143,0,0,216,143,0,0,224,143,0,0,232,143,0,0,248,143,0,0,8,144,0,0,16,144,0,0,32,144,0,0,40,144,0,0,48,144,0,0,64,144,0,0,72,144,0,0,80,144,0,0,88, -144,0,0,96,144,0,0,112,144,0,0,128,144,0,0,136,144,0,0,144,144,0,0,70,117,110,99,116,105,111,110,0,0,0,0,0,0,0,0,83,97,118,101,112,111,105,110,116,0,0,0,0,0,0,0,65,117,116,111,67,111,109,109,105,116,0,0,0,0,0,0,84,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,83,111,114,116,101,114,78,101,120,116,0,0,0,0,0,0,80,114,101,118,73,102,79,112,101,110,0,0,0,0,0,0,78,101,120,116,73,102,79,112,101,110,0,0,0,0,0,0,80,114,101,118,0,0,0,0,78,101,120,116,0,0,0,0,65,103,103,83,116,101,112,0,67,104,101,99,107, -112,111,105,110,116,0,0,0,0,0,0,74,111,117,114,110,97,108,77,111,100,101,0,0,0,0,0,86,97,99,117,117,109,0,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,0,0,0,71,111,115,117,98,0,0,0,82,101,116,117,114,110,0,0,78,111,116,0,0,0,0,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,0,0,69,110,100,67,111,114,111,117,116,105,110,101,0,0,0,0,89,105,101,108,100,0,0,0,72,97,108,116,73,102,78,117,108,108,0,0,0,0,0,0,72,97,108,116,0,0,0,0,73,110,116,101,103,101,114,0,73,110,116, -54,52,0,0,0,83,116,114,105,110,103,0,0,78,117,108,108,0,0,0,0,83,111,102,116,78,117,108,108,0,0,0,0,0,0,0,0,66,108,111,98,0,0,0,0,86,97,114,105,97,98,108,101,0,0,0,0,0,0,0,0,77,111,118,101,0,0,0,0,67,111,112,121,0,0,0,0,83,67,111,112,121,0,0,0,82,101,115,117,108,116,82,111,119,0,0,0,0,0,0,0,67,111,108,108,83,101,113,0,65,100,100,73,109,109,0,0,77,117,115,116,66,101,73,110,116,0,0,0,0,0,0,0,82,101,97,108,65,102,102,105,110,105,116,121,0,0,0,0,67,97,115,116,0,0,0,0,80,101,114,109,117,116,97,116,105, -111,110,0,0,0,0,0,67,111,109,112,97,114,101,0,74,117,109,112,0,0,0,0,79,110,99,101,0,0,0,0,73,102,0,0,0,0,0,0,73,102,78,111,116,0,0,0,67,111,108,117,109,110,0,0,65,102,102,105,110,105,116,121,0,0,0,0,0,0,0,0,77,97,107,101,82,101,99,111,114,100,0,0,0,0,0,0,67,111,117,110,116,0,0,0,82,101,97,100,67,111,111,107,105,101,0,0,0,0,0,0,83,101,116,67,111,111,107,105,101,0,0,0,0,0,0,0,82,101,111,112,101,110,73,100,120,0,0,0,0,0,0,0,79,112,101,110,82,101,97,100,0,0,0,0,0,0,0,0,79,112,101,110,87,114,105,116, -101,0,0,0,0,0,0,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,0,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,0,0,83,111,114,116,101,114,79,112,101,110,0,0,0,0,0,0,83,101,113,117,101,110,99,101,84,101,115,116,0,0,0,0,79,112,101,110,80,115,101,117,100,111,0,0,0,0,0,0,67,108,111,115,101,0,0,0,83,101,101,107,76,84,0,0,83,101,101,107,76,69,0,0,83,101,101,107,71,69,0,0,83,101,101,107,71,84,0,0,83,101,101,107,0,0,0,0,78,111,67,111,110,102,108,105,99,116,0,0,0,0,0,0,78,111,116,70,111,117, -110,100,0,0,0,0,0,0,0,0,70,111,117,110,100,0,0,0,78,111,116,69,120,105,115,116,115,0,0,0,0,0,0,0,79,114,0,0,0,0,0,0,65,110,100,0,0,0,0,0,83,101,113,117,101,110,99,101,0,0,0,0,0,0,0,0,78,101,119,82,111,119,105,100,0,0,0,0,0,0,0,0,73,110,115,101,114,116,0,0,73,115,78,117,108,108,0,0,78,111,116,78,117,108,108,0,78,101,0,0,0,0,0,0,69,113,0,0,0,0,0,0,71,116,0,0,0,0,0,0,76,101,0,0,0,0,0,0,76,116,0,0,0,0,0,0,71,101,0,0,0,0,0,0,73,110,115,101,114,116,73,110,116,0,0,0,0,0,0,0,66,105,116,65,110,100,0,0,66, -105,116,79,114,0,0,0,83,104,105,102,116,76,101,102,116,0,0,0,0,0,0,0,83,104,105,102,116,82,105,103,104,116,0,0,0,0,0,0,65,100,100,0,0,0,0,0,83,117,98,116,114,97,99,116,0,0,0,0,0,0,0,0,77,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,68,105,118,105,100,101,0,0,82,101,109,97,105,110,100,101,114,0,0,0,0,0,0,0,67,111,110,99,97,116,0,0,68,101,108,101,116,101,0,0,66,105,116,78,111,116,0,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,0,0,0,0,0,83,111,114,116,101,114,67,111,109,112,97, -114,101,0,0,0,83,111,114,116,101,114,68,97,116,97,0,0,0,0,0,0,82,111,119,75,101,121,0,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,0,0,78,117,108,108,82,111,119,0,76,97,115,116,0,0,0,0,83,111,114,116,101,114,83,111,114,116,0,0,0,0,0,0,83,111,114,116,0,0,0,0,82,101,119,105,110,100,0,0,83,111,114,116,101,114,73,110,115,101,114,116,0,0,0,0,73,100,120,73,110,115,101,114,116,0,0,0,0,0,0,0,73,100,120,68,101,108,101,116,101,0,0,0,0,0,0,0,73,100,120,82,111,119,105,100,0,0,0,0,0,0,0,0,73,100,120,76,69, -0,0,0,73,100,120,71,84,0,0,0,73,100,120,76,84,0,0,0,73,100,120,71,69,0,0,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,0,0,82,101,115,101,116,83,111,114,116,101,114,0,0,0,0,0,67,114,101,97,116,101,73,110,100,101,120,0,0,0,0,0,67,114,101,97,116,101,84,97,98,108,101,0,0,0,0,0,80,97,114,115,101,83,99,104,101,109,97,0,0,0,0,0,76,111,97,100,65,110,97,108,121,115,105,115,0,0,0,0,68,114,111,112,84,97,98,108,101,0,0,0,0,0,0,0,68,114,111,112,73,110,100,101,120,0,0,0,0,0,0,0,68,114,111,112,84,114,105, -103,103,101,114,0,0,0,0,0,73,110,116,101,103,114,105,116,121,67,107,0,0,0,0,0,82,111,119,83,101,116,65,100,100,0,0,0,0,0,0,0,82,111,119,83,101,116,82,101,97,100,0,0,0,0,0,0,82,111,119,83,101,116,84,101,115,116,0,0,0,0,0,0,80,114,111,103,114,97,109,0,80,97,114,97,109,0,0,0,82,101,97,108,0,0,0,0,70,107,67,111,117,110,116,101,114,0,0,0,0,0,0,0,70,107,73,102,90,101,114,111,0,0,0,0,0,0,0,0,77,101,109,77,97,120,0,0,73,102,80,111,115,0,0,0,73,102,78,101,103,0,0,0,73,102,90,101,114,111,0,0,65,103,103,70, -105,110,97,108,0,0,0,0,0,0,0,0,73,110,99,114,86,97,99,117,117,109,0,0,0,0,0,0,69,120,112,105,114,101,0,0,84,97,98,108,101,76,111,99,107,0,0,0,0,0,0,0,86,66,101,103,105,110,0,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,0,0,0,0,0,0,0,86,79,112,101,110,0,0,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,0,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,0,0,0,0,0,0,77,97,120,80,103,99,110,116,0,0,0,0,0,0,0,0,73,110,105,116,0,0,0,0,78,111,111,112,0,0,0,0,69,120,112,108, -97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,0,0,0,64,32,32,0,0,0,0,0,1,0,0,0,8,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0, -0,0,0,0,0,0,160,146,0,0,10,0,0,0,0,0,0,0,120,146,0,0,11,0,0,0,0,0,0,0,192,18,0,0,18,0,0,0,0,0,0,0,168,146,0,0,19,0,0,0,0,0,0,0,176,146,0,0,20,0,0,0,0,0,0,0,184,146,0,0,21,0,0,0,0,0,0,0,192,146,0,0,22,0,0,0,0,0,0,0,208,146,0,0,11,0,0,0,0,0,0,0,216,146,0,0,12,0,0,0,0,0,0,0,224,146,0,0,0,0,0,0,0,0,0,0,232,146,0,0,0,0,0,0,0,0,0,0,240,146,0,0,13,0,0,0,0,0,0,0,248,146,0,0,0,0,0,0,0,0,0,0,0,147,0,0,0,0,0,0,0,0,0,0,16,147,0,0,23,0,0,0,0,0,0,0,24,147,0,0,0,0,0,0,0,0,0,0,40,147,0,0,12,0,0,0,0,0,0,0,48,147, -0,0,24,0,0,0,0,0,0,0,64,147,0,0,25,0,0,0,0,0,0,0,72,147,0,0,13,0,0,0,0,0,0,0,80,147,0,0,14,0,0,0,0,0,0,0,88,147,0,0,1,0,0,0,0,0,0,0,96,147,0,0,26,0,0,0,0,0,0,0,104,147,0,0,0,0,0,0,0,0,0,0,112,147,0,0,1,0,0,0,0,0,0,0,0,0,0,0,99,108,111,115,101,0,0,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,0,111,112,101,110,0,0,0,0,103,101,116,99,119,100,0,0,115,116,97,116,0,0,0,0,102,115,116,97,116,0,0,0,102,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0, -102,99,110,116,108,0,0,0,114,101,97,100,0,0,0,0,112,114,101,97,100,0,0,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,0,0,112,119,114,105,116,101,0,0,112,119,114,105,116,101,54,52,0,0,0,0,0,0,0,0,102,99,104,109,111,100,0,0,102,97,108,108,111,99,97,116,101,0,0,0,0,0,0,0,117,110,108,105,110,107,0,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,0,0,109,107,100,105,114,0,0,0,114,109,100,105,114,0,0,0,102,99,104,111,119,110,0,0,109,109,97,112,0,0,0,0,109,117,110,109,97,112,0,0,109,114,101,109, -97,112,0,0,103,101,116,112,97,103,101,115,105,122,101,0,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,0,0,0,0,0,47,100,101,118,47,110,117,108,108,0,0,0,0,0,0,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,0,0,37,115,47, -101,116,105,108,113,115,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,148,0,0,64,148,0,0,80,148,0,0,0,0,0,0,0,0,0,0,47,118,97,114,47,116,109,112,0,0,0,0,0,0,0,0,47,117,115,114,47,116,109,112,0,0,0,0,0,0,0,0,47,116,109,112,0,0,0,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,0,0,84,77,80,68,73,82,0,0,102,117,108,108,95,102,115,121,110,99,0,0,0,0,0,0,3,0,0,0,14,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,47,100,101,118,47,117,114,97,110,100,111,109,0,0,0,0,47,37,115,0,0,0,0,0,102,115,121,110,99,0,0,0,112,115,111,119,0,0,0,0,3,0,0,0,15,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,7,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0,0,0,0,0,0,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101, -32,111,112,101,110,58,32,37,115,0,0,0,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,0,0,0,0,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,0,0,0,0,0,0,0,0,0,0,0,0,37,115,45,115,104,109,0,0,114,101,97,100,111,110,108,121,95,115,104,109,0,0,0,0,37,0,0,0,0,0,0,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0, -2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,0,0,0,0,0,0,116,104,115,116,110,100,114,100,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,0,0,0,0,0,0,0,45,120,48,0,88,48,0,0,78,97,78,0,0,0,0,0,45,73,110,102,0,0,0,0,43,73,110,102,0,0,0,0,73,110,102,0,0,0,0,0,40,78,85,76,76, -41,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,73,83,65,66,76,69,95,76,70,83,0,0,0,0,0,73,78,84,54,52,95,84,89,80,69,0,0,0,0,0,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,0,0,0,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,0,0,84,72,82,69,65,68,83,65,70,69,61,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",Ha,w.Ab+30721);var ib=w.ec(H(12,"i8",G),8);u(0==ib%8); -var O={$:1,ea:2,Ah:3,zg:4,Fa:5,Pc:6,Yf:7,Wg:8,N:9,kg:10,bb:11,Kh:11,Td:12,tb:13,ug:14,ih:15,Ea:16,Nc:17,Vd:18,ub:19,cb:20,Oa:21,B:22,Rg:23,Sd:24,Ud:25,Hh:26,vg:27,eh:28,xb:29,wh:30,Kg:31,qh:32,rg:33,Qc:34,$g:42,xg:43,lg:44,Bg:45,Cg:46,Dg:47,Jg:48,Ih:49,Ug:50,Ag:51,pg:35,Xg:37,cg:52,fg:53,Lh:54,Sg:55,gg:56,hg:57,qg:35,ig:59,gh:60,Vg:61,Eh:62,fh:63,ah:64,bh:65,vh:66,Yg:67,ag:68,Bh:69,mg:70,rh:71,Mg:72,sg:73,eg:74,mh:76,dg:77,uh:78,Eg:79,Fg:80,Ig:81,Hg:82,Gg:83,hh:38,ac:39,Ng:36,$b:40,wb:95,ph:96,og:104, -Tg:105,bg:97,th:91,kh:88,dh:92,yh:108,Mc:111,Zf:98,ng:103,Qg:101,Og:100,Fh:110,wg:112,Oc:113,Qd:115,Od:114,Pd:89,Lg:90,sh:93,zh:94,$f:99,Pg:102,Rd:106,vb:107,Gh:109,Jh:87,tg:122,Ch:116,lh:95,Zg:123,yg:84,nh:75,jg:125,jh:131,oh:130,Dh:86},jb={"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"},kb=0;function P(a){return E[kb>>2]=a} -function lb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function mb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1),a=lb(a.split("/").filter(function(a){return!!a}),!b).join("/");!a&&!b&&(a=".");a&&c&&(a+="/");return(b?"/":"")+a} -function nb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),a=b[0],b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function ob(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function pb(){var a=Array.prototype.slice.call(arguments,0);return mb(a.join("/"))}function qb(a,b){return mb(a+"/"+b)} -function rb(){for(var a="",b=m,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:z.Ib();"string"!==typeof b&&e(new TypeError("Arguments to path.resolve must be strings"));if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=lb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."} -function sb(a,b){function c(a){for(var b=0;bc?[]:a.slice(b,c-b+1)}for(var a=rb(a).substr(1),b=rb(b).substr(1),d=c(a.split("/")),f=c(b.split("/")),h=Math.min(d.length,f.length),i=h,j=0;ja.n.length)&&(a.n=Q.Te(a),a.C=a.n.length);if(!a.n||a.n.subarray){var c=a.n?a.n.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.n,a.n=new Uint8Array(b),0b)a.n.length=b;else for(;a.n.length=a.k.C)return 0;a=Math.min(a.k.C-f,d);u(0<=a);if(8b&&e(new z.e(O.B));return b},fb:function(a,b,c){Q.md(a.k,b+c);a.k.C=Math.max(a.k.C,b+c)},Ra:function(a,b,c,d,f,h,i){z.isFile(a.k.mode)||e(new z.e(O.ub));c= -a.k.n;if(!(i&2)&&(c.buffer===b||c.buffer===b.buffer))a=m,d=c.byteOffset;else{if(0>>0)%z.ia.length},ud:function(a){var b=z.tc(a.parent.id,a.name);a.La=z.ia[b];z.ia[b]=a},vd:function(a){var b=z.tc(a.parent.id,a.name);if(z.ia[b]===a)z.ia[b]=a.La;else for(b=z.ia[b];b;){if(b.La===a){b.La=a.La;break}b=b.La}},sa:function(a,b){var c=z.mf(a);c&&e(new z.e(c,a));for(c=z.ia[z.tc(a.id,b)];c;c=c.La){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return z.Pa(a,b)},createNode:function(a, -b,c,d){z.yb||(z.yb=function(a,b,c,d){a||(a=this);this.parent=a;this.O=a.O;this.mb=l;this.id=z.rf++;this.name=b;this.mode=c;this.o={};this.q={};this.pb=d},z.yb.prototype={},Object.defineProperties(z.yb.prototype,{W:{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}},gf:{get:function(){return z.U(this.mode)}},uc:{get:function(){return z.Qb(this.mode)}}})); -a=new z.yb(a,b,c,d);z.ud(a);return a},mc:function(a){z.vd(a)},Rb:function(a){return a===a.parent},Ia:function(a){return!!a.mb},isFile:function(a){return 32768===(a&61440)},U:function(a){return 16384===(a&61440)},lb:function(a){return 40960===(a&61440)},Qb:function(a){return 8192===(a&61440)},ef:function(a){return 24576===(a&61440)},ff:function(a){return 4096===(a&61440)},hf:function(a){return 49152===(a&49152)},Oe:{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},Cd:function(a){var b=z.Oe[a];"undefined"===typeof b&&e(Error("Unknown file open mode: "+a));return b},Pe:function(a){var b=["r","w","rw"][a&2097155];a&512&&(b+="w");return b},Ba:function(a,b){return z.wd?0:-1!==b.indexOf("r")&&!(a.mode&292)||-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73)?O.tb:0},mf:function(a){var b=z.Ba(a,"x");return b?b:!a.o.Pa?O.tb:0},xc:function(a,b){try{return z.sa(a,b),O.Nc}catch(c){}return z.Ba(a,"wx")},Sb:function(a, -b,c){var d;try{d=z.sa(a,b)}catch(f){return f.Lb}if(a=z.Ba(a,"wx"))return a;if(c){if(!z.U(d.mode))return O.cb;if(z.Rb(d)||z.ra(d)===z.Ib())return O.Ea}else if(z.U(d.mode))return O.Oa;return 0},nf:function(a,b){return!a?O.ea:z.lb(a.mode)?O.$b:z.U(a.mode)&&(0!==(b&2097155)||b&512)?O.Oa:z.Ba(a,z.Pe(b))},Yd:4096,sf:function(a,b){for(var b=b||z.Yd,c=a||0;c<=b;c++)if(!z.Na[c])return c;e(new z.e(O.Sd))},T:function(a){return z.Na[a]},bd:function(a,b,c){z.zb||(z.zb=n(),z.zb.prototype={},Object.defineProperties(z.zb.prototype, -{object:{get:function(){return this.k},set:function(a){this.k=a}},Ji:{get:function(){return 1!==(this.D&2097155)}},Ki:{get:function(){return 0!==(this.D&2097155)}},Ii:{get:function(){return this.D&1024}}}));var d=new z.zb,f;for(f in a)d[f]=a[f];a=d;b=z.sf(b,c);a.I=b;return z.Na[b]=a},ve:function(a){z.Na[a]=l},Fi:function(a){return z.Na[a-1]},sc:function(a){return a?a.I+1:0},ue:{open:function(a){a.q=z.Se(a.k.pb).q;a.q.open&&a.q.open(a)},ga:function(){e(new z.e(O.xb))}},wc:function(a){return a>>8}, -Ri:function(a){return a&255},Ka:function(a,b){return a<<8|b},Cc:function(a,b){z.gd[a]={q:b}},Se:function(a){return z.gd[a]},pd:function(a){for(var b=[],a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.nb)}return b},Kd:function(a,b){function c(a){if(a){if(!c.Ke)return c.Ke=k,b(a)}else++f>=d.length&&b(l)}"function"===typeof a&&(b=a,a=m);var d=z.pd(z.root.O),f=0;d.forEach(function(b){if(!b.type.Kd)return c(l);b.type.Kd(b,a,c)})},O:function(a,b,c){var d="/"===c,f=!c,h;d&&z.root&&e(new z.e(O.Ea)); -!d&&!f&&(h=z.G(c,{pc:m}),c=h.path,h=h.k,z.Ia(h)&&e(new z.e(O.Ea)),z.U(h.mode)||e(new z.e(O.cb)));b={type:a,Ti:b,of:c,nb:[]};a=a.O(b);a.O=b;b.root=a;d?z.root=a:h&&(h.mb=b,h.O&&h.O.nb.push(b));return a},Zi:function(a){a=z.G(a,{pc:m});z.Ia(a.k)||e(new z.e(O.B));var a=a.k,b=a.mb,c=z.pd(b);Object.keys(z.ia).forEach(function(a){for(a=z.ia[a];a;){var b=a.La;-1!==c.indexOf(a.O)&&z.mc(a);a=b}});a.mb=l;b=a.O.nb.indexOf(b);u(-1!==b);a.O.nb.splice(b,1)},Pa:function(a,b){return a.o.Pa(a,b)},ha:function(a,b,c){var d= -z.G(a,{parent:k}).k,a=ob(a);(!a||"."===a||".."===a)&&e(new z.e(O.B));var f=z.xc(d,a);f&&e(new z.e(f));d.o.ha||e(new z.e(O.$));return d.o.ha(d,a,b,c)},create:function(a,b){b=(b!==g?b:438)&4095;b|=32768;return z.ha(a,b,0)},ta:function(a,b){b=(b!==g?b:511)&1023;b|=16384;return z.ha(a,b,0)},Tb:function(a,b,c){"undefined"===typeof c&&(c=b,b=438);return z.ha(a,b|8192,c)},va:function(a,b){rb(a)||e(new z.e(O.ea));var c=z.G(b,{parent:k}).k;c||e(new z.e(O.ea));var d=ob(b),f=z.xc(c,d);f&&e(new z.e(f));c.o.va|| -e(new z.e(O.$));return c.o.va(c,d,a)},rename:function(a,b){var c=nb(a),d=nb(b),f=ob(a),h=ob(b),i,j,x;try{i=z.G(a,{parent:k}),j=i.k,i=z.G(b,{parent:k}),x=i.k}catch(p){e(new z.e(O.Ea))}(!j||!x)&&e(new z.e(O.ea));j.O!==x.O&&e(new z.e(O.Vd));i=z.sa(j,f);d=sb(a,d);"."!==d.charAt(0)&&e(new z.e(O.B));d=sb(b,c);"."!==d.charAt(0)&&e(new z.e(O.ac));var A;try{A=z.sa(x,h)}catch(t){}if(i!==A){c=z.U(i.mode);(f=z.Sb(j,f,c))&&e(new z.e(f));(f=A?z.Sb(x,h,c):z.xc(x,h))&&e(new z.e(f));j.o.rename||e(new z.e(O.$));(z.Ia(i)|| -A&&z.Ia(A))&&e(new z.e(O.Ea));x!==j&&(f=z.Ba(j,"w"))&&e(new z.e(f));try{z.Q.willMovePath&&z.Q.willMovePath(a,b)}catch(B){console.log("FS.trackingDelegate['willMovePath']('"+a+"', '"+b+"') threw an exception: "+B.message)}z.vd(i);try{j.o.rename(i,x,h)}catch(I){e(I)}finally{z.ud(i)}try{if(z.Q.onMovePath)z.Q.onMovePath(a,b)}catch(ca){console.log("FS.trackingDelegate['onMovePath']('"+a+"', '"+b+"') threw an exception: "+ca.message)}}},Va:function(a){var b=z.G(a,{parent:k}).k,c=ob(a),d=z.sa(b,c),f=z.Sb(b, -c,k);f&&e(new z.e(f));b.o.Va||e(new z.e(O.$));z.Ia(d)&&e(new z.e(O.Ea));try{z.Q.willDeletePath&&z.Q.willDeletePath(a)}catch(h){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+h.message)}b.o.Va(b,c);z.mc(d);try{if(z.Q.onDeletePath)z.Q.onDeletePath(a)}catch(i){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+i.message)}},qb:function(a){a=z.G(a,{ca:k}).k;a.o.qb||e(new z.e(O.cb));return a.o.qb(a)},Da:function(a){var b=z.G(a,{parent:k}).k, -c=ob(a),d=z.sa(b,c),f=z.Sb(b,c,m);f&&(f===O.Oa&&(f=O.$),e(new z.e(f)));b.o.Da||e(new z.e(O.$));z.Ia(d)&&e(new z.e(O.Ea));try{z.Q.willDeletePath&&z.Q.willDeletePath(a)}catch(h){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+h.message)}b.o.Da(b,c);z.mc(d);try{if(z.Q.onDeletePath)z.Q.onDeletePath(a)}catch(i){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+i.message)}},Ta:function(a){(a=z.G(a).k)||e(new z.e(O.ea));a.o.Ta||e(new z.e(O.B)); -return a.o.Ta(a)},Ic:function(a,b){var c=z.G(a,{ca:!b}).k;c||e(new z.e(O.ea));c.o.fa||e(new z.e(O.$));return c.o.fa(c)},kf:function(a){return z.Ic(a,k)},hb:function(a,b,c){a="string"===typeof a?z.G(a,{ca:!c}).k:a;a.o.R||e(new z.e(O.$));a.o.R(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},Mi:function(a,b){z.hb(a,b,k)},Me:function(a,b){var c=z.T(a);c||e(new z.e(O.N));z.hb(c.k,b)},kc:function(a,b,c,d){a="string"===typeof a?z.G(a,{ca:!d}).k:a;a.o.R||e(new z.e(O.$));a.o.R(a,{timestamp:Date.now()})}, -Ni:function(a,b,c){z.kc(a,b,c,k)},Ne:function(a,b,c){(a=z.T(a))||e(new z.e(O.N));z.kc(a.k,b,c)},truncate:function(a,b){0>b&&e(new z.e(O.B));var c;c="string"===typeof a?z.G(a,{ca:k}).k:a;c.o.R||e(new z.e(O.$));z.U(c.mode)&&e(new z.e(O.Oa));z.isFile(c.mode)||e(new z.e(O.B));var d=z.Ba(c,"w");d&&e(new z.e(d));c.o.R(c,{size:b,timestamp:Date.now()})},Re:function(a,b){var c=z.T(a);c||e(new z.e(O.N));0===(c.D&2097155)&&e(new z.e(O.B));z.truncate(c.k,b)},Qf:function(a,b,c){a=z.G(a,{ca:k}).k;a.o.R(a,{timestamp:Math.max(b, -c)})},open:function(a,b,c,d,f){""===a&&e(new z.e(O.ea));var b="string"===typeof b?z.Cd(b):b,c=b&64?("undefined"===typeof c?438:c)&4095|32768:0,h;if("object"===typeof a)h=a;else{a=mb(a);try{h=z.G(a,{ca:!(b&131072)}).k}catch(i){}}var j=m;b&64&&(h?b&128&&e(new z.e(O.Nc)):(h=z.ha(a,c,0),j=k));h||e(new z.e(O.ea));z.Qb(h.mode)&&(b&=-513);j||(c=z.nf(h,b))&&e(new z.e(c));b&512&&z.truncate(h,0);b&=-641;d=z.bd({k:h,path:z.ra(h),D:b,seekable:k,position:0,q:h.q,Pf:[],error:m},d,f);d.q.open&&d.q.open(d);r.logReadFiles&& -!(b&1)&&(z.Ac||(z.Ac={}),a in z.Ac||(z.Ac[a]=1,r.printErr("read file: "+a)));try{z.Q.onOpenFile&&(f=0,1!==(b&2097155)&&(f|=z.Ld.Ed.Zd),0!==(b&2097155)&&(f|=z.Ld.Ed.de),z.Q.onOpenFile(a,f))}catch(x){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+x.message)}return d},close:function(a){try{a.q.close&&a.q.close(a)}catch(b){e(b)}finally{z.ve(a.I)}},ga:function(a,b,c){(!a.seekable||!a.q.ga)&&e(new z.e(O.xb));a.position=a.q.ga(a,b,c);a.Pf=[];return a.position},W:function(a, -b,c,d,f){(0>d||0>f)&&e(new z.e(O.B));1===(a.D&2097155)&&e(new z.e(O.N));z.U(a.k.mode)&&e(new z.e(O.Oa));a.q.W||e(new z.e(O.B));var h=k;"undefined"===typeof f?(f=a.position,h=m):a.seekable||e(new z.e(O.xb));b=a.q.W(a,b,c,d,f);h||(a.position+=b);return b},write:function(a,b,c,d,f,h){(0>d||0>f)&&e(new z.e(O.B));0===(a.D&2097155)&&e(new z.e(O.N));z.U(a.k.mode)&&e(new z.e(O.Oa));a.q.write||e(new z.e(O.B));a.D&1024&&z.ga(a,0,2);var i=k;"undefined"===typeof f?(f=a.position,i=m):a.seekable||e(new z.e(O.xb)); -b=a.q.write(a,b,c,d,f,h);i||(a.position+=b);try{if(a.path&&z.Q.onWriteToFile)z.Q.onWriteToFile(a.path)}catch(j){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+j.message)}return b},fb:function(a,b,c){(0>b||0>=c)&&e(new z.e(O.B));0===(a.D&2097155)&&e(new z.e(O.N));!z.isFile(a.k.mode)&&!z.U(node.mode)&&e(new z.e(O.ub));a.q.fb||e(new z.e(O.wb));a.q.fb(a,b,c)},Ra:function(a,b,c,d,f,h,i){1===(a.D&2097155)&&e(new z.e(O.tb));a.q.Ra||e(new z.e(O.ub));return a.q.Ra(a,b, -c,d,f,h,i)},kb:function(a,b,c){a.q.kb||e(new z.e(O.Ud));return a.q.kb(a,b,c)},Ef:function(a,b){b=b||{};b.D=b.D||"r";b.encoding=b.encoding||"binary";"utf8"!==b.encoding&&"binary"!==b.encoding&&e(Error('Invalid encoding type "'+b.encoding+'"'));var c,d=z.open(a,b.D),f=z.Ic(a).size,h=new Uint8Array(f);z.W(d,h,0,f,0);if("utf8"===b.encoding){c="";for(var i=new w.eb,j=0;j>2]=z.sc(a);u(0===a.I,"invalid handle for stdin ("+a.I+")");a=z.open("/dev/stdout","w");E[Ab>>2]=z.sc(a);u(1===a.I,"invalid handle for stdout ("+a.I+")");a=z.open("/dev/stderr","w");E[Bb>>2]=z.sc(a);u(2===a.I,"invalid handle for stderr ("+a.I+")")},jd:function(){z.e|| -(z.e=function(a,b){this.k=b;this.Id=function(a){this.Lb=a;for(var b in O)if(O[b]===a){this.code=b;break}};this.Id(a);this.message=jb[a]},z.e.prototype=Error(),[O.ea].forEach(function(a){z.rc[a]=new z.e(a);z.rc[a].stack=""}))},Nf:function(){z.jd();z.ia=Array(4096);z.O(Q,{},"/");z.xe();z.we()},jb:function(a,b,c){u(!z.jb.Pb,"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)"); -z.jb.Pb=k;z.jd();r.stdin=a||r.stdin;r.stdout=b||r.stdout;r.stderr=c||r.stderr;z.Fe()},Cf:function(){z.jb.Pb=m;for(var a=0;a -this.length-1||0>a)){var b=a%this.Db;return this.Ze(a/this.Db|0)[b]}};h.prototype.Kf=function(a){this.Ze=a};h.prototype.Zc=function(){var a=new XMLHttpRequest;a.open("HEAD",c,m);a.send(l);200<=a.status&&300>a.status||304===a.status||e(Error("Couldn't load "+c+". Status: "+a.status));var b=Number(a.getResponseHeader("Content-length")),d,f=1048576;if(!((d=a.getResponseHeader("Accept-Ranges"))&&"bytes"===d))f=b;var h=this;h.Kf(function(a){var d=a*f,i=(a+1)*f-1,i=Math.min(i,b-1);if("undefined"===typeof h.Eb[a]){var j= -h.Eb;d>i&&e(Error("invalid range ("+d+", "+i+") or no bytes requested!"));i>b-1&&e(Error("only "+b+" bytes available! programmer error!"));var p=new XMLHttpRequest;p.open("GET",c,m);b!==f&&p.setRequestHeader("Range","bytes="+d+"-"+i);"undefined"!=typeof Uint8Array&&(p.responseType="arraybuffer");p.overrideMimeType&&p.overrideMimeType("text/plain; charset=x-user-defined");p.send(l);200<=p.status&&300>p.status||304===p.status||e(Error("Couldn't load "+c+". Status: "+p.status));d=p.response!==g?new Uint8Array(p.response|| -[]):N(p.responseText||"",k);j[a]=d}"undefined"===typeof h.Eb[a]&&e(Error("doXHR failed!"));return h.Eb[a]});this.fe=b;this.ee=f;this.vc=k};if("undefined"!==typeof XMLHttpRequest){ea||e("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i=new h;Object.defineProperty(i,"length",{get:function(){this.vc||this.Zc();return this.fe}});Object.defineProperty(i,"chunkSize",{get:function(){this.vc||this.Zc();return this.ee}});i={uc:m,n:i}}else i= -{uc:m,url:c};var j=z.ye(a,b,i,d,f);i.n?j.n=i.n:i.url&&(j.n=l,j.url=i.url);Object.defineProperty(j,"usedBytes",{get:function(){return this.n.length}});var x={};Object.keys(j.q).forEach(function(a){var b=j.q[a];x[a]=function(){z.nd(j)||e(new z.e(O.Fa));return b.apply(l,arguments)}});x.W=function(a,b,c,d,f){z.nd(j)||e(new z.e(O.Fa));a=a.k.n;if(f>=a.length)return 0;d=Math.min(a.length-f,d);u(0<=d);if(a.slice)for(var h=0;h>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[p]}2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&15)<<2],c+="="); -t.src="data:audio/x-"+b.substr(-3)+";base64,"+c;f(t)}};t.src=j;r.noExitRuntime=k;setTimeout(function(){pa||f(t)},1E4)}else return h()}});var B=r.canvas;B&&(B.Dc=B.requestPointerLock||B.mozRequestPointerLock||B.webkitRequestPointerLock||B.msRequestPointerLock||n(),B.ld=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||n(),B.ld=B.ld.bind(document),document.addEventListener("pointerlockchange",p,m),document.addEventListener("mozpointerlockchange", -p,m),document.addEventListener("webkitpointerlockchange",p,m),document.addEventListener("mspointerlockchange",p,m),r.elementPointerLock&&B.addEventListener("click",function(a){!Cb&&B.Dc&&(B.Dc(),a.preventDefault())},m))}var I=b?rb(qb(a,b)):a;fb();"string"==typeof c?Ib(c,function(a){A(a)},i):A(c)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},Kc:function(){return"EM_FS_"+window.location.pathname},Lc:20,$a:"FILE_DATA",Vi:function(a,b, -c){var b=b||n(),c=c||n(),d=z.indexedDB();try{var f=d.open(z.Kc(),z.Lc)}catch(h){return c(h)}f.wf=function(){console.log("creating db");f.result.createObjectStore(z.$a)};f.onsuccess=function(){var d=f.result.transaction([z.$a],"readwrite"),h=d.objectStore(z.$a),x=0,p=0,A=a.length;a.forEach(function(a){a=h.put(z.ic(a).object.n,a);a.onsuccess=function(){x++;x+p==A&&(0==p?b():c())};a.onerror=function(){p++;x+p==A&&(0==p?b():c())}});d.onerror=c};f.onerror=c},Pi:function(a,b,c){var b=b||n(),c=c||n(),d= -z.indexedDB();try{var f=d.open(z.Kc(),z.Lc)}catch(h){return c(h)}f.wf=c;f.onsuccess=function(){var d=f.result;try{var h=d.transaction([z.$a],"readonly")}catch(x){c(x);return}var p=h.objectStore(z.$a),A=0,t=0,B=a.length;a.forEach(function(a){var d=p.get(a);d.onsuccess=function(){z.ic(a).oc&&z.Da(a);z.Gb(nb(a),ob(a),d.result,k,k,k);A++;A+t==B&&(0==t?b():c())};d.onerror=function(){t++;A+t==B&&(0==t?b():c())}});h.onerror=c};f.onerror=c}};r._i64Subtract=Jb;r._memset=Kb; -function Lb(a,b,c){a="string"!==typeof a?y(a):a;try{var d=c?z.kf(a):z.Ic(a);E[b>>2]=d.He;E[b+4>>2]=0;E[b+8>>2]=d.xd;E[b+12>>2]=d.mode;E[b+16>>2]=d.tf;E[b+20>>2]=d.uid;E[b+24>>2]=d.$e;E[b+28>>2]=d.pb;E[b+32>>2]=0;E[b+36>>2]=d.size;E[b+40>>2]=4096;E[b+44>>2]=d.se;E[b+48>>2]=d.ke.getTime()/1E3|0;E[b+52>>2]=0;E[b+56>>2]=d.pf.getTime()/1E3|0;E[b+60>>2]=0;E[b+64>>2]=d.Ge.getTime()/1E3|0;E[b+68>>2]=0;E[b+72>>2]=d.xd;return 0}catch(f){return f.k&&mb(a)!==mb(z.ra(f.k))&&f.Id(O.cb),z.F(f),-1}} -r._bitshift64Shl=Mb;function Nb(a){a/=1E3;if((da||ea)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>8,a.Ya&255]));return b},Ob:function(a,b,c){return a.ob[b+":"+c]},Wc:function(a,b){a.ob[b.ma+":"+b.port]=b},Hd:function(a,b){delete a.ob[b.ma+ -":"+b.port]},cf:function(a,b){function c(){r.websocket.aa("open",a.J.I);try{for(var c=b.Jb.shift();c;)b.p.send(c),c=b.Jb.shift()}catch(d){b.p.close()}}function d(c){u("string"!==typeof c&&c.byteLength!==g);var c=new Uint8Array(c),d=f;f=m;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],R.X.Hd(a,b),b.port=c,R.X.Wc(a,b)):(a.Ua.push({ma:b.ma,port:b.port,data:c}),r.websocket.aa("message",a.J.I))}var f=k;s?(b.p.on("open",c), -b.p.on("message",function(a,b){b.binary&&d((new Uint8Array(a)).buffer)}),b.p.on("close",function(){r.websocket.aa("close",a.J.I)}),b.p.on("error",function(){a.error=O.Mc;r.websocket.aa("error",[a.J.I,a.error,"ECONNREFUSED: Connection refused"])})):(b.p.onopen=c,b.p.onclose=function(){r.websocket.aa("close",a.J.I)},b.p.onmessage=function(a){d(a.data)},b.p.onerror=function(){a.error=O.Mc;r.websocket.aa("error",[a.J.I,a.error,"ECONNREFUSED: Connection refused"])})},Fd:function(a){if(1===a.type&&a.P)return a.yc.length? -65:0;var b=0,c=1===a.type?R.X.Ob(a,a.oa,a.pa):l;if(a.Ua.length||!c||c&&c.p.readyState===c.p.sb||c&&c.p.readyState===c.p.CLOSED)b|=65;if(!c||c&&c.p.readyState===c.p.OPEN)b|=4;if(c&&c.p.readyState===c.p.sb||c&&c.p.readyState===c.p.CLOSED)b|=16;return b},kb:function(a,b,c){switch(b){case 21531:return b=0,a.Ua.length&&(b=a.Ua[0].data.length),E[c>>2]=b,0;default:return O.B}},close:function(a){if(a.P){try{a.P.close()}catch(b){}a.P=l}for(var c=Object.keys(a.ob),d=0;d=mc;)mc+=1E3/60;b=Math.max(mc-b,0);setTimeout(a,b)}function ac(a){"undefined"===typeof window?nc(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||nc),window.requestAnimationFrame(a))} -function Hb(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)]} -function Ib(a,b,c){function d(){c?c():e('Loading data file "'+a+'" failed.')}var f=new XMLHttpRequest;f.open("GET",a,k);f.responseType="arraybuffer";f.onload=function(){if(200==f.status||0==f.status&&f.response){var c=f.response;u(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));gb()}else d()};f.onerror=d;f.send(l);fb()}var oc=[];function pc(){var a=r.canvas;oc.forEach(function(b){b(a.width,a.height)})} -function qc(a,b,c){b&&c?(a.Rf=b,a.df=c):(b=a.Rf,c=a.df);var d=b,f=c;r.forcedAspectRatio&&0>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);E[tc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),f=a(c),d=H(N(d),"i8",F),f=H(N(f),"i8",F);c.getTimezoneOffset()>2]=d,E[sc+4>>2]=f):(E[sc>>2]=f,E[sc+4>>2]=d)}} -function wc(a,b){vc();var c=new Date(1E3*E[a>>2]);E[b>>2]=c.getSeconds();E[b+4>>2]=c.getMinutes();E[b+8>>2]=c.getHours();E[b+12>>2]=c.getDate();E[b+16>>2]=c.getMonth();E[b+20>>2]=c.getFullYear()-1900;E[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);E[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;E[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;E[b+32>>2]=c;E[b+40>>2]=E[sc+(c?w.wa:0)>>2];return b} -r._bitshift64Lshr=xc;function yc(a,b,c){a=z.T(a);if(!a)return P(O.N),-1;try{return z.W(a,D,b,c)}catch(d){return z.F(d),-1}}var zc=H(1,"i32*",G); -function Ac(a){var b,c;Ac.gb?(c=E[zc>>2],b=E[c>>2]):(Ac.gb=k,S.USER="web_user",S.PATH="/",S.PWD="/",S.HOME="/home/web_user",S.LANG="C",S._=r.thisProgram,b=H(1024,"i8",G),c=H(256,"i8*",G),E[c>>2]=b,E[zc>>2]=c);var d=[],f=0,h;for(h in a)if("string"===typeof a[h]){var i=h+"="+a[h];d.push(i);f+=i.length}1024>2]=b,b+=i.length+1;E[c+4*d.length>>2]=0}var S={}; -function Bc(a){if(0===a)return 0;a=y(a);if(!S.hasOwnProperty(a))return 0;Bc.Ec&&Ka(Bc.Ec);Bc.Ec=H(N(S[a]),"i8",F);return Bc.Ec}r._memcpy=Cc;function Dc(a){Dc.gb||(C=C+4095&-4096,Dc.gb=k,u(w.Kb),Dc.he=w.Kb,w.Kb=function(){ma("cannot dynamically allocate, sbrk now has control")});var b=C;0!=a&&Dc.he(a);return b}r._memmove=Ec;function Fc(a,b,c){if(a in jb){if(jb[a].length>c-1)return P(O.Qc);bb(jb[a],b);return 0}return P(O.B)} -function Gc(a){Gc.buffer||(Gc.buffer=Ia(256));Fc(a,Gc.buffer,256);return Gc.buffer}function Hc(a,b,c,d,f,h){var i,j=m;Hc.Qa||(Hc.Qa={});if(-1==f){i=Ia(b);if(!i)return-1;Kb(i,0,b);j=k}else{f=z.T(f);if(!f)return-1;try{var x=z.Ra(f,K,a,b,h,c,d);i=x.Af;j=x.fc}catch(p){return z.F(p),-1}}Hc.Qa[i]={lf:i,vf:b,fc:j};return i}z.Nf();Va.unshift({Ha:function(){!r.noFSInit&&!z.jb.Pb&&z.jb()}});Wa.push({Ha:function(){z.wd=m}});Xa.push({Ha:function(){z.Cf()}});r.FS_createFolder=z.ze;r.FS_createPath=z.Ce; -r.FS_createDataFile=z.Gb;r.FS_createPreloadedFile=z.De;r.FS_createLazyFile=z.Ae;r.FS_createLink=z.Be;r.FS_createDevice=z.na;kb=w.Jd(4);E[kb>>2]=0;Va.unshift({Ha:n()});Xa.push({Ha:n()});var wb=new w.eb;s&&(require("fs"),process.platform.match(/^win/));Va.push({Ha:function(){R.root=z.O(R,{},l)}}); -r.requestFullScreen=function(a,b){function c(){ic=m;var a=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(d.$c=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen|| -n(),d.$c=d.$c.bind(document),kc&&d.Dc(),ic=k,lc&&("undefined"!=typeof SDL&&(a=Na[SDL.screen+0*w.wa>>2],E[SDL.screen+0*w.wa>>2]=a|8388608),pc())):(a.parentNode.insertBefore(d,a),a.parentNode.removeChild(a),lc&&("undefined"!=typeof SDL&&(a=Na[SDL.screen+0*w.wa>>2],E[SDL.screen+0*w.wa>>2]=a&-8388609),pc()));if(r.onFullScreen)r.onFullScreen(ic);qc(d)}kc=a;lc=b;"undefined"===typeof kc&&(kc=k);"undefined"===typeof lc&&(lc=m);var d=r.canvas;jc||(jc=k,document.addEventListener("fullscreenchange",c,m),document.addEventListener("mozfullscreenchange", -c,m),document.addEventListener("webkitfullscreenchange",c,m),document.addEventListener("MSFullscreenChange",c,m));var f=document.createElement("div");d.parentNode.insertBefore(f,d);f.appendChild(d);f.Hf=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:l);f.Hf()};r.requestAnimationFrame=function(a){ac(a)};r.setCanvasSize=function(a,b,c){qc(r.canvas,a,b);c||pc()}; -r.pauseMainLoop=function(){Yb=l;dc++};r.resumeMainLoop=function(){dc++;var a=Vb,b=Wb,c=Xb;Xb=l;bc(c,0,m,cc);Ub(a,b)};r.getUserMedia=function(){window.sd||(window.sd=navigator.getUserMedia||navigator.mozGetUserMedia);window.sd(g)};Ac(S);Pa=v=w.ec(na);Qa=Pa+Sa;Ra=C=w.ec(Qa);u(Ra>2],c+=E[b+12>>2]/1E3):c=Date.now();a=y(a);try{return z.Qf(a,c,c),0}catch(d){return z.F(d),-1}},_getuid:Qb,_send:function(a,b,c){return!R.rd(a)?(P(O.N),-1):Sb(a,b,c)},_getcwd:function(a,b){if(0==b)return P(O.B),0;var c=z.Ib();if(b>2];if(0>b)return P(O.B),-1;var d;try{d=z.open(a.path,a.D,0,b)}catch(f){return z.F(f), --1}return d.I;case 1:case 2:return 0;case 3:return a.D;case 4:return b=E[c>>2],a.D|=b,0;case 12:case 12:return b=E[c>>2],za[b+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 8:case 9:return P(O.B),-1;default:return P(O.B),-1}},___buildEnvironment:Ac,_fflush:n(),_pwrite:function(a,b,c,d){a=z.T(a);if(!a)return P(O.N),-1;try{return z.write(a,D,b,c,d)}catch(f){return z.F(f),-1}},_strerror_r:Fc,_localtime_r:wc,_tzset:vc,_open:function(a,b,c){c=E[c>>2];a=y(a);try{return z.open(a,b,c).I}catch(d){return z.F(d), --1}},_getpid:function(){return 42},_sbrk:Dc,_usleep:Nb,_emscripten_memcpy_big:function(a,b,c){K.set(K.subarray(b,b+c),a);return a},_unlink:function(a){a=y(a);try{return z.Da(a),0}catch(b){return z.F(b),-1}},_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"object"===typeof navigator?navigator.hardwareConcurrency||1:1}P(O.B);return-1}, -_fchmod:function(a,b){try{return z.Me(a,b),0}catch(c){return z.F(c),-1}},___setErrNo:P,_ftruncate:function(a,b){try{return z.Re(a,b),0}catch(c){return z.F(c),-1}},_mkdir:function(a,b){a=y(a);a=mb(a);"/"===a[a.length-1]&&(a=a.substr(0,a.length-1));try{return z.ta(a,b,0),0}catch(c){return z.F(c),-1}},_pread:function(a,b,c,d){a=z.T(a);if(!a)return P(O.N),-1;try{return z.W(a,D,b,c,d)}catch(f){return z.F(f),-1}},_mkport:Rb,_write:Sb,_fsync:function(a){if(z.T(a))return 0;P(O.N);return-1},___errno_location:function(){return kb}, -_stat:Lb,_recv:function(a,b,c){return!R.rd(a)?(P(O.N),-1):yc(a,b,c)},_geteuid:function(){return Qb.apply(l,arguments)},_getenv:Bc,_sleep:function(a){return Nb(1E6*a)},_emscripten_set_main_loop:bc,_abort:function(){r.abort()},_time:function(a){var b=Date.now()/1E3|0;a&&(E[a>>2]=b);return b},_fchown:function(a,b,c){try{return z.Ne(a,b,c),0}catch(d){return z.F(d),-1}},_strerror:Gc,_gettimeofday:function(a){var b=Date.now();E[a>>2]=b/1E3|0;E[a+4>>2]=1E3*(b%1E3)|0;return 0},_munmap:function(a,b){Hc.Qa|| -(Hc.Qa={});var c=Hc.Qa[a];if(!c)return 0;b==c.vf&&(Hc.Qa[a]=l,c.fc&&Ka(c.lf));return 0},_mmap:Hc,_localtime:function(a){return wc(a,rc)},_close:function(a){a=z.T(a);if(!a)return P(O.N),-1;try{return z.close(a),0}catch(b){return z.F(b),-1}},_read:yc,_truncate:function(a,b){"string"!==typeof a&&(a=y(a));try{return z.truncate(a,b),0}catch(c){return z.F(c),-1}},STACKTOP:v,STACK_MAX:Qa,tempDoublePtr:ib,ABORT:pa,cttz_i8:Jc,ctlz_i8:Ic,NaN:NaN,Infinity:Infinity};// EMSCRIPTEN_START_ASM - -var T=(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=env.cttz_i8|0;var n=env.ctlz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=+env.NaN,t=+env.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.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=0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=env.abort;var ba=env.assert;var ca=env.min;var da=env.invoke_iiii;var ea=env.invoke_i;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiii;var ma=env.invoke_viiiiii;var na=env.invoke_iii;var oa=env.invoke_iiiiii;var pa=env.invoke_viiii;var qa=env._utimes;var ra=env._getuid;var sa=env._send;var ta=env._getcwd;var ua=env._mknod;var va=env._lseek;var wa=env._emscripten_set_main_loop_timing;var xa=env._access;var ya=env._fstat;var za=env._chmod;var Aa=env._rmdir;var Ba=env._chown;var Ca=env._fcntl;var Da=env.___buildEnvironment;var Ea=env._fflush;var Fa=env._pwrite;var Ga=env._strerror_r;var Ha=env._localtime_r;var Ia=env._tzset;var Ja=env._open;var Ka=env._getpid;var La=env._sbrk;var Ma=env._usleep;var Na=env._emscripten_memcpy_big;var Oa=env._unlink;var Pa=env._sysconf;var Qa=env._fchmod;var Ra=env.___setErrNo;var Sa=env._ftruncate;var Ta=env._mkdir;var Ua=env._pread;var Va=env._mkport;var Wa=env._write;var Xa=env._fsync;var Ya=env.___errno_location;var Za=env._stat;var _a=env._recv;var $a=env._geteuid;var ab=env._getenv;var bb=env._sleep;var cb=env._emscripten_set_main_loop;var db=env._abort;var eb=env._time;var fb=env._fchown;var gb=env._strerror;var hb=env._gettimeofday;var ib=env._munmap;var jb=env._mmap;var kb=env._localtime;var lb=env._close;var mb=env._read;var nb=env._truncate;var ob=0.0; +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,6,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,69,0,0,0,0,2,0,92,69,0,0,0,0,4,0,0,0,0,0,0,0,0,0,68,69,0,0,1,0,0,0,71,69,0,0,2,0,0,0,74,69,0,0,6,0,0,0,78,69,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,7,0,0,0,1,0,0,0,7,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0, +2,0,0,0,2,0,0,0,3,0,0,0,9,0,0,0,4,0,0,0,12,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,101,0,0,1,0,0,0,178,88,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,101,87,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,91,87,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,71,87,0,0,0,0,0,0,0,0,0,0,164,87,0,0,177,87,0,0,190,87,0,0,0,0,0,0,203,87,0,0,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,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,163,90,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,32,91,0,0,0,0,0,0,0,0,0,0,17,98,0,0,0,0,0,0,0,0,0,0,68,94,0,0,1,1,0,0,0,0,0,0,32,98,0,0,2,0,0,0,0,0,16,0,48,98,0,0,3,0,0,0,0,0,0,0,191,93,0,0,4,1,0,0,0,0,0,0,61,98,0,0,2,0,0,0,16,0,0,0,73,98,0,0,5,0,0,0,0,0,0,0,93,98,0,0,2,0,0,0,8,0,0,0,114,98,0,0,6,0,0,0,0,0,0,0,129,98,0,0,7,0,0,0,0,0,0,0,145,98,0,0,2,0,0,0,128,0,0,0,159,98,0,0,9,1,0,0,0,0,0,0,173,98,0,0,10,1, +0,0,0,0,0,0,192,98,0,0,2,0,0,0,0,0,0,1,211,98,0,0,2,0,0,0,0,1,0,0,12,96,0,0,11,0,0,0,0,0,0,0,234,98,0,0,12,1,0,0,0,0,0,0,252,98,0,0,13,1,0,0,0,0,0,0,13,99,0,0,2,0,0,0,0,0,8,0,26,99,0,0,0,0,0,0,0,0,0,0,41,99,0,0,2,0,0,0,32,0,0,0,59,99,0,0,2,0,0,0,4,0,0,0,69,99,0,0,2,0,0,0,0,32,0,0,94,99,0,0,14,1,0,0,0,0,0,0,113,99,0,0,15,1,0,0,0,0,0,0,124,99,0,0,16,1,0,0,0,0,0,0,111,95,0,0,17,1,0,0,0,0,0,0,36,94,0,0,18,1,0,0,0,0,0,0,49,94,0,0,19,0,0,0,0,0,0,0,135,99,0,0,2,0,0,0,0,128,0,0,23,94,0,0,21,0,0,0,0,0,0,0, +154,99,0,0,22,1,0,0,0,0,0,0,104,94,0,0,23,0,0,0,0,0,0,0,169,99,0,0,22,1,0,0,0,0,0,0,238,93,0,0,24,0,0,0,0,0,0,0,180,99,0,0,2,0,0,0,0,0,0,2,191,99,0,0,17,1,0,0,0,0,0,0,203,99,0,0,2,0,0,0,0,64,0,0,220,99,0,0,2,0,0,0,0,0,4,0,239,99,0,0,2,0,0,0,0,0,2,0,9,100,0,0,0,0,0,0,0,0,0,0,248,93,0,0,25,0,0,0,0,0,0,0,24,100,0,0,2,0,0,0,64,0,0,0,43,100,0,0,26,0,0,0,0,0,0,0,147,96,0,0,27,0,0,0,0,0,0,0,57,100,0,0,28,1,0,0,0,0,0,0,171,94,0,0,29,1,0,0,0,0,0,0,63,100,0,0,30,1,0,0,0,0,0,0,114,94,0,0,31,0,0,0,0,0,0,0,125, +94,0,0,32,0,0,0,0,0,0,0,163,96,0,0,33,0,0,0,0,0,0,0,74,100,0,0,0,0,0,0,0,0,0,0,120,96,0,0,34,0,0,0,0,0,0,0,87,100,0,0,35,1,0,0,0,0,0,0,102,100,0,0,2,0,0,0,0,8,1,0,171,96,0,0,1,0,0,0,176,96,0,0,1,0,0,0,182,96,0,0,2,0,0,0,191,96,0,0,3,0,0,0,200,96,0,0,2,0,0,0,208,96,0,0,3,0,0,0,216,96,0,0,0,0,0,0,223,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,97,0,0,248,97,0,0,0,98,0,0,4,98,0,0,78,69,0,0,13,98,0,0,210,83,0,0,3,0,0,0,206,83,0,0,3,0,0,0,89,56,0,0,127,113,0,0,133,113,0,0,138,113,0,0,143,113,0,0,249,113,0,0,255, +113,0,0,7,114,0,0,178,120,0,0,183,120,0,0,190,120,0,0,193,120,0,0,196,120,0,0,199,120,0,0,202,120,0,0,205,120,0,0,213,120,0,0,222,120,0,0,60,95,0,0,228,120,0,0,220,132,0,0,229,132,0,0,236,132,0,0,242,132,0,0,150,89,0,0,78,133,0,0,87,133,0,0,97,133,0,0,108,133,0,0,120,133,0,0,131,133,0,0,142,133,0,0,153,133,0,0,158,133,0,0,163,133,0,0,171,133,0,0,182,133,0,0,194,133,0,0,201,133,0,0,209,133,0,0,217,133,0,0,222,133,0,0,228,133,0,0,235,133,0,0,239,133,0,0,253,133,0,0,10,134,0,0,16,134,0,0,27,134,0,0, +32,134,0,0,40,134,0,0,46,134,0,0,53,134,0,0,58,134,0,0,67,134,0,0,72,134,0,0,81,134,0,0,86,134,0,0,91,134,0,0,97,134,0,0,107,134,0,0,115,134,0,0,122,134,0,0,132,134,0,0,145,134,0,0,150,134,0,0,162,134,0,0,170,134,0,0,175,134,0,0,180,134,0,0,183,134,0,0,189,134,0,0,196,134,0,0,205,134,0,0,216,134,0,0,222,134,0,0,233,134,0,0,243,134,0,0,253,134,0,0,6,135,0,0,16,135,0,0,30,135,0,0,44,135,0,0,55,135,0,0,68,135,0,0,79,135,0,0,85,135,0,0,92,135,0,0,99,135,0,0,106,135,0,0,113,135,0,0,118,135,0,0,129,135, +0,0,138,135,0,0,144,135,0,0,154,135,0,0,157,135,0,0,161,135,0,0,170,135,0,0,179,135,0,0,186,135,0,0,193,135,0,0,201,135,0,0,204,135,0,0,207,135,0,0,210,135,0,0,213,135,0,0,216,135,0,0,219,135,0,0,229,135,0,0,236,135,0,0,242,135,0,0,252,135,0,0,7,136,0,0,11,136,0,0,20,136,0,0,29,136,0,0,36,136,0,0,46,136,0,0,53,136,0,0,60,136,0,0,67,136,0,0,75,136,0,0,86,136,0,0,100,136,0,0,111,136,0,0,118,136,0,0,126,136,0,0,132,136,0,0,140,136,0,0,145,136,0,0,156,136,0,0,161,136,0,0,168,136,0,0,181,136,0,0,191,136, +0,0,201,136,0,0,210,136,0,0,216,136,0,0,222,136,0,0,228,136,0,0,234,136,0,0,242,136,0,0,248,136,0,0,4,137,0,0,16,137,0,0,28,137,0,0,40,137,0,0,53,137,0,0,63,137,0,0,73,137,0,0,85,137,0,0,97,137,0,0,107,137,0,0,118,137,0,0,129,137,0,0,137,137,0,0,143,137,0,0,148,137,0,0,158,137,0,0,167,137,0,0,174,137,0,0,180,137,0,0,186,137,0,0,193,137,0,0,202,137,0,0,213,137,0,0,220,137,0,0,230,137,0,0,237,137,0,0,245,137,0,0,254,137,0,0,4,138,0,0,12,138,0,0,18,138,0,0,26,138,0,0,36,138,0,0,45,138,0,0,50,138,0,0, +55,138,0,0,139,138,0,0,152,138,0,0,0,0,0,0,188,138,0,0,213,138,0,0,244,138,0,0,7,139,0,0,184,91,0,0,32,139,0,0,69,139,0,0,81,139,0,0,96,139,0,0,129,139,0,0,147,139,0,0,172,139,0,0,201,139,0,0,218,139,0,0,224,122,0,0,59,56,0,0,241,139,0,0,3,140,0,0,21,140,0,0,60,140,0,0,91,140,0,0,112,140,0,0,144,140,0,0,178,140,0,0,13,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,13,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0, +0,0,85,141,0,0,11,0,0,0,0,0,0,0,48,141,0,0,16,0,0,0,0,0,0,0,1,69,0,0,22,0,0,0,0,0,0,0,90,141,0,0,23,0,0,0,0,0,0,0,97,141,0,0,24,0,0,0,0,0,0,0,102,141,0,0,25,0,0,0,0,0,0,0,108,141,0,0,26,0,0,0,0,0,0,0,118,141,0,0,12,0,0,0,0,0,0,0,124,141,0,0,13,0,0,0,0,0,0,0,129,141,0,0,0,0,0,0,0,0,0,0,135,141,0,0,0,0,0,0,0,0,0,0,143,141,0,0,14,0,0,0,0,0,0,0,149,141,0,0,0,0,0,0,0,0,0,0,156,141,0,0,0,0,0,0,0,0,0,0,165,141,0,0,27,0,0,0,0,0,0,0,172,141,0,0,0,0,0,0,0,0,0,0,182,141,0,0,17,0,0,0,0,0,0,0,189,141,0,0,28,0, +0,0,0,0,0,0,203,141,0,0,29,0,0,0,0,0,0,0,209,141,0,0,18,0,0,0,0,0,0,0,215,141,0,0,15,0,0,0,0,0,0,0,222,141,0,0,3,0,0,0,0,0,0,0,227,141,0,0,30,0,0,0,0,0,0,0,234,141,0,0,0,0,0,0,0,0,0,0,241,141,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,142,0,0,154,142,0,0,163,142,0,0,0,0,0,0,3,0,0,0,19,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,3,0,0,0,20,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17, +0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,8,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,142,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,142,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,148,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,148,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,154,145,0,0,0,0,0,0,0,0,0,0,2,0, +1,8,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,154,145,0,0,0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,7,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,0,0,0,0,9,0,0, +0,7,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,159,145,0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,166,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,173,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,179,145,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,179,145,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,186,145,0,0,0,0,0,0,0,0, +0,0,1,0,1,8,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,193,145,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,201,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,206,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,210,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,210,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,216,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,20,0,0, +0,0,0,0,0,0,0,0,0,222,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,255,255,1,10,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,237,145,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,241,145,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,248,145,0,0,0,0, +0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,1,146,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,12,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,19,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,26,146,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,37,146,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,44,146,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,26,0,0, +0,0,0,0,0,0,0,0,0,59,146,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,76,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,87,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,113,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,138,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,144,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,162,146,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,170,146,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,184,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,192,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,8,0,0,0,201,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,9,0,0,0,205,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,10,0,0,0,211,146,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,37, +0,0,0,11,0,0,0,215,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,11,0,0,0,215,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,12,0,0,0,221,146,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,12,0,0,0,221,146,0,0,0,0,0,0,0,0,0,0,2,0,13,8,85,56,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,242,96,0,0,0,0,0,0,0,0,0,0,2,0,5,8,233,96,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,237,96,0,0,0,0,0,0,0,0,0,0,3,0,5,8,233,96,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,237,96,0,0,0,0, +0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,45,144,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,65,144,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,87,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,130,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,140,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,145,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0, +0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,150,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,159,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,168,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,181,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,199,144,0,0,0,0,0,0,0,0,0,0,119,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,30,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0, +0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,17,0,0,0,13,155,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,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,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0, +204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,238,0,186,3,213,0,33,1,54,1,234,0,144,0,61,1,147,255,126,1,121,1,47,1,205,1,133,1,122,1,112,1,46,1,38,1, +253,0,139,1,37,1,68,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,254,3,244,3,237,3,230,3,195,3,193,3,191,3,189,3,182,3,179,3,162,3,144,3,105,3,93,3,55,3,42,3,3,3,247,2,208,2,196,2,158,2,145,2,107,2,102,2,100,2,98,2,96,2,94,2,92,2,86,2,83,2,81,2,68,2,30,2,28,2,25,2,23,2,21,2,19,2,17,2,15,2,247,1,130,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,95,0,191,1,82, +0,78,1,248,1,211,1,147,1,221,1,208,1,147,1,147,1,147,1,147,1,92,3,235,2,232,2,17,3,126,2,126,2,158,3,123,3,132,3,131,3,119,3,76,3,72,3,67,3,80,3,62,3,75,3,61,3,24,3,71,3,58,3,225,2,70,3,27,3,21,3,47,0,222,2,18,2,184,2,9,3,199,2,165,2,221,2,218,2,217,2,216,2,215,2,115,2,192,1,64,0,187,0,25,5,22,5,228,4,10,5,249,4,43,5,42,5,41,5,39,5,38,5,36,5,35,5,34,5,33,5,32,5,31,5,30,5,28,5,27,5,24,5,23,5,21,5,18,5,14,5,12,5,9,5,242,4,240,4,235,4,8,5,7,5,214,4,5,5,1,5,0,5,255,4,254,4,227,4,253,4,252,4,251,4,249, +4,244,4,243,4,241,4,239,4,237,4,233,4,224,4,213,4,223,4,222,4,219,4,214,4,216,4,211,4,225,4,210,4,209,4,206,4,196,4,190,4,186,4,201,4,195,4,208,4,207,4,173,4,171,4,203,4,200,4,177,4,184,4,218,4,113,4,212,4,205,4,169,4,157,4,197,4,153,4,172,4,155,4,167,4,166,4,162,4,158,4,194,4,192,4,152,4,138,4,159,4,156,4,136,4,175,4,179,4,109,4,71,4,174,4,170,4,164,4,168,4,147,4,145,4,144,4,149,4,150,4,142,4,135,4,117,4,146,4,134,4,143,4,133,4,108,4,121,4,119,4,100,4,104,4,79,4,78,4,76,4,72,4,126,4,125,4,61,4,101, +4,56,4,40,4,96,4,73,4,58,4,54,4,49,4,43,4,85,4,83,4,95,4,93,4,92,4,89,4,87,4,84,4,239,3,232,3,234,3,52,4,51,4,57,4,50,1,212,0,176,1,187,3,127,2,191,0,187,3,39,1,47,2,88,0,88,0,88,0,88,0,81,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,185,0,184,0,183,0,123,2,123,2,36,1,94,2,94,2,88,0,88,0,88,0,88,0,171,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,16,0,180,1,85,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,172,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84, +0,83,0,74,1,50,1,47,2,84,0,84,0,84,0,83,0,74,1,65,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,123,2,123,2,122,2,121,2,182,0,170,2,38,2,123,1,120,1,119,1,17,0,66,1,94,2,94,2,115,1,198,0,223,1,91,0,118,1,82,0,79,0,165,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,86,2,123,2,123,2,107,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,186,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,82,2,82,2,142,0,72,1,71,1,228,1,249,0,88,1,238,0,123,2,123,2,122,2,121,2,73,2,192, +1,14,2,13,2,229,0,132,1,1,0,138,1,194,1,72,2,193,1,123,2,123,2,123,2,123,2,63,1,139,1,94,2,94,2,199,0,157,0,17,1,126,1,12,1,125,1,187,0,123,2,123,2,122,2,121,2,55,1,43,2,10,1,81,2,81,2,10,1,91,1,76,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,222,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,16,1,24,2,122,2,121,2,146,0,98,2,197,0,54,1,63,2,182,0,226,1,15,1,123,1,120,1,119,1,250,1,21,0,122,2,121,2,122,2,121,2,123,2,123,2,118,1,99,2,62,2,36,2,184,1,111,0,51,2,94, +2,94,2,122,2,121,2,68,1,223,1,96,2,96,2,96,2,44,1,179,1,61,2,119,0,151,1,210,0,162,0,50,2,115,3,80,2,80,2,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,250,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,108,2,111,0,123,2,123,2,105,1,94,2,94,2,102,1,249,0,93,1,248,0,177,1,243,0,223,1,74,2,122,2,121,2,195,0,99,2,93,0,119,0,221,0,63,2,241,1,22,2,22,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,62,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83, +0,74,1,50,1,77,0,173,1,126,2,61,2,77,2,18,2,240,0,230,0,242,0,105,0,249,0,93,1,248,0,3,2,76,2,208,0,204,1,17,2,52,2,173,0,122,2,121,2,202,3,144,0,174,1,2,0,168,1,228,0,124,1,45,2,94,2,94,2,190,0,153,0,159,0,158,0,2,2,51,0,120,2,119,2,118,2,71,0,24,2,176,1,186,3,196,0,98,2,186,3,102,2,45,0,18,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,5,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,96,2,96,2,96,2,30,2,168,1,146,1,129,1,241,0,250,1,195,1,64,1,211,0,31,2,164,0, +180,1,130,1,37,1,195,1,75,2,108,0,240,1,111,0,78,1,135,1,79,2,168,1,102,2,27,0,196,1,197,1,94,2,94,2,72,0,1,1,70,0,3,1,196,1,83,1,86,1,52,2,70,2,68,0,159,1,213,1,72,1,71,1,62,0,102,2,45,0,110,0,137,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,152,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,110,0,243,1,8,2,26,2,146,1,133,1,168,1,110,0,54,2,244,1,81,2,81,2,198,1,82,0,79,0,165,0,168,1,79,2,128,1,52,2,84,1,103,2,188,0,162,0,168,1,94,1,104,2,168,1,102,2,44,0,94, +2,94,2,189,1,70,2,44,1,178,1,151,0,19,0,102,2,9,0,56,2,68,2,92,1,103,2,213,1,55,2,102,2,26,0,104,2,102,2,45,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,155,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,67,2,110,0,66,2,9,2,26,1,177,1,142,1,144,1,255,0,230,1,82,0,79,0,165,0,231,1,164,0,82,0,79,0,165,0,232,1,232,1,108,1,131,1,168,1,32,2,32,2,253,1,94,1,106,1,155,0,191,0,94,2,94,2,47,2,130,2,128,2,77,1,82,0,79,0,165,0,49,1,52,2,251,1,56,1,101,1,102,2,45,0,73,1,84, +2,83,2,194,0,81,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,20,0,67,1,150,0,7,1,211,0,31,2,165,1,84,2,83,2,102,2,22,0,168,1,193,0,168,1,28,1,168,1,135,1,168,1,253,1,168,1,65,2,168,1,186,0,79,1,168,1,47,2,168,1,57,1,120,0,34,2,94,2,94,2,67,0,102,2,47,0,102,2,50,0,102,2,48,0,102,2,100,0,102,2,99,0,102,2,101,0,64,2,102,2,102,0,102,2,109,0,70,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168, +1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,168,1,55,1,168,1,73,2,54,0,168,1,4,2,5,2,78,2,102,2,112,0,168,1,72,2,168,1,60,2,168,1,195,0,168,1,59,2,168,1,67,0,168,1,102,2,94,0,102,2,98,0,168,1,102,2,97,0,8,1,94,2,94,2,195,0,102,2,46,0,102,2,96,0,102,2,30,0,102,2,49,0,102,2,115,0,102,2,114,0,162,1,229],"i8",4,n.la); +x([132,1,102,2,113,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,119,0,168,1,78,2,110,0,116,1,94,2,94,2,195,0,53,0,250,0,102,2,29,0,195,0,216,1,182,1,217,2,190,0,46,1,242,1,14,0,11,2,129,2,2,0,102,2,43,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,101,2,196,3,196,3,98,1,94,2,94,2,164,1,56,1,64,0,102,2,42,0,135,1,99,1,27, +1,181,1,45,1,255,0,158,1,154,1,239,1,236,1,102,2,28,0,215,1,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,110,0,110,0,110,0,110,0,94,2,94,2,110,0,254,0,13,0,102,2,41,0,20,2,19,2,27,1,225,1,19,2,201,1,28,1,119,0,49,2,100,1,102,2,40,0,28,1,50,1,89,0,78,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,110,0,168,1,85,1,220,0,43,2,94,2,94,2,95, +1,43,2,62,1,102,2,95,0,157,1,255,0,83,0,74,1,28,1,28,1,255,0,128,2,77,1,100,1,255,0,102,2,39,0,50,1,100,1,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,61,1,60,1,141,0,209,1,94,2,94,2,219,0,107,2,207,1,102,2,10,0,161,1,206,1,255,0,189,0,254,1,41,2,95,1,207,0,107,1,161,0,102,2,38,0,59,1,218,0,255,0,255,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1, +76,0,163,1,255,0,3,0,110,3,205,1,168,1,247,0,75,1,75,1,102,2,37,0,217,0,76,0,163,1,134,1,3,0,216,0,215,0,166,1,4,0,75,1,75,1,168,1,35,2,12,0,168,1,33,2,102,2,36,0,168,1,29,2,166,1,168,1,28,2,168,1,214,0,168,1,152,1,168,1,27,2,147,1,93,2,93,2,237,0,102,2,25,0,119,0,102,2,24,0,76,2,152,1,102,2,45,0,118,0,102,2,35,0,102,2,34,0,102,2,33,0,102,2,23,0,76,2,60,0,223,0,91,2,90,2,1,2,122,1,73,0,74,0,140,0,139,0,168,1,110,0,9,1,75,0,170,1,169,1,59,0,168,1,98,2,73,0,74,0,37,2,146,1,148,1,168,1,117,1,75,0,170, +1,169,1,92,2,138,0,98,2,102,2,11,0,136,1,76,0,163,1,181,0,3,0,102,2,32,0,15,1,113,1,75,1,75,1,237,1,102,2,31,0,149,0,96,2,96,2,96,2,95,2,15,0,166,1,109,1,102,2,8,0,137,0,233,1,136,0,190,0,96,2,96,2,96,2,95,2,15,0,229,1,176,0,135,0,7,0,252,0,221,1,152,1,174,0,133,0,175,0,218,1,57,0,56,0,132,0,130,0,119,0,76,0,163,1,76,2,3,0,212,1,245,0,208,1,171,0,75,1,75,1,125,0,123,0,200,1,191,1,122,0,190,1,104,0,80,1,231,0,166,1,166,0,154,0,73,0,74,0,76,1,116,0,175,1,121,0,53,1,75,0,170,1,169,1,222,0,106,0,98,2, +52,1,125,2,204,0,152,1,117,2,115,2,116,2,6,0,200,0,172,1,171,1,34,1,203,0,110,2,201,0,76,2,62,0,63,0,33,1,66,0,163,1,143,1,3,0,145,1,32,1,92,0,143,0,75,1,75,1,31,1,96,2,96,2,96,2,95,2,15,0,73,0,74,0,227,0,166,1,69,1,69,0,160,1,75,0,170,1,169,1,100,2,156,1,98,2,192,0,61,0,57,2,209,0,140,1,226,0,22,1,225,0,127,1,152,1,15,2,46,2,20,1,21,2,40,2,16,2,65,1,11,2,114,1,252,1,180,0,76,2,238,1,179,0,110,1,117,0,253,0,13,1,10,2,247,1,96,2,96,2,96,2,95,2,15,0,39,2,246,1,58,0,18,1,12,2,178,0,73,0,74,0,48,1,245, +1,112,1,47,1,206,0,75,0,170,1,169,1,235,1,104,1,98,2,213,0,177,0,227,1,131,0,89,1,42,1,41,1,40,1,202,0,38,1,224,1,234,1,210,1,134,0,172,0,129,0,188,1,90,1,214,1,128,0,58,1,203,1,103,0,127,0,126,0,148,0,124,0,167,0,187,1,235,0,96,2,96,2,96,2,95,2,15,0,186,1,183,1,111,2,234,0,43,1,145,0,71,2,35,1,121,1,69,2,160,0,119,0,156,0,14,1,124,2,203,3,169,0,23,1,114,2,8,2,113,2,217,1,112,2,170,0,109,2,106,2,119,0,168,0,55,0,153,1,167,1,25,2,97,2,30,1,29,1,149,1,58,2,48,2,44,2,5,0,52,0,202,1,42,2,147,0,11,1,7, +2,248,1,6,2,150,1,6,1,239,0,4,1,0,2,87,1,255,1,2,1,97,1,53,2,0,1,224,0,251,0,103,1,21,1,19,1,220,1,219,1,246,0,96,1,244,0,211,1,199,1,236,0,233,0,232,0,51,1,185,1,25,1,205,0,163,0,141,1,24,1,23,2,249,1,74,1,105,2,203,3,203,3,203,3,203,3,111,1,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,82,1,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,16,16,2,16,224,3,33,4,75,5,132,4,180,4,180,4,1,0,6,1,237,255,135,0,135,0,8,3,180,4,180,4,180,4,180,4,69,0,69,0,53,0,208,0,27,1,243, +2,58,0,213,2,136,2,59,2,238,1,161,1,84,1,7,1,212,0,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,46,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,0,0,29,0,244,255,27,1,27,1,139,0,91,0,136, +1,136,1,126,3,160,2,214,2,103,5,170,255,170,255,170,255,88,0,62,1,62,1,99,0,125,1,236,255,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,112,2,108,3,214,2,160,2,60,5,60,5,60,5,60,5,60,5,60,5,170,255,170,255,170,255,49,1,136,0,136,0,142,0,167,0,226,0,154,0,137,0,152,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,80,1,80,1,80,1,27,1,27,1,96,1,27,1,27,1,27,1,27,1,27,1,228,0,27,1,27,1,27,1,27,1,27,1, +27,1,27,1,27,1,27,1,27,1,245,1,57,2,84,2,84,2,84,2,251,1,241,1,185,1,135,1,97,1,156,0,156,0,89,3,97,1,89,3,223,2,45,3,127,2,203,2,156,0,76,1,203,2,203,2,240,1,163,1,134,2,77,5,160,4,160,4,55,5,55,5,160,4,61,5,236,4,120,4,66,5,66,5,66,5,66,5,160,4,26,5,120,4,61,5,236,4,236,4,120,4,160,4,26,5,182,4,4,5,160,4,160,4,26,5,160,4,26,5,160,4,26,5,238,4,183,4,183,4,183,4,250,4,238,4,183,4,193,4,183,4,250,4,183,4,183,4,161,4,176,4,161,4,176,4,161,4,176,4,160,4,160,4,137,4,238,4,178,4,178,4,238,4,130,4,131, +4,123,4,128,4,120,4,217,4,215,4,226,4,226,4,230,4,230,4,230,4,230,4,170,255,170,255,170,255,170,255,170,255,170,255,44,4,48,1,14,2,249,0,152,1,173,255,178,1,44,3,27,0,43,3,39,3,34,3,239,2,77,2,139,2,163,0,131,0,162,2,110,1,194,1,43,1,148,0,23,0,102,0,229,0,235,255,221,4,220,4,198,4,75,4,204,4,148,4,199,4,191,4,189,4,91,4,82,4,99,4,86,4,185,4,81,4,188,4,202,4,74,4,65,4,116,4,115,4,80,4,165,4,154,4,70,4,187,4,181,4,163,4,77,4,47,4,129,4,151,4,122,4,114,4,127,4,67,4,140,4,141,4,139,4,45,4,48,4,124,4, +88,4,110,4,103,4,105,4,102,4,68,4,90,4,94,4,64,4,66,4,69,4,63,4,60,4,219,3,55,4,53,4,50,4,41,4,156,3,253,3,246,3,236,3,238,3,51,3,227,2,128,3,87,3,36,3,227,2,228,2,224,2,178,2,142,2,153,2,106,2,70,2,56,2,16,2,42,2,123,1,20,2,223,1,199,1,123,1,176,1,115,1,85,1,28,0,82,1,116,0,245,255,199,255,171,255,7,0,248,255,3,0,135,2,196,3,196,3,196,3,110,3,110,3,201,3,196,3,6,3,34,3,34,3,170,3,201,3,201,3,201,3,108,3,201,3,201,3,201,3,196,3,201,3,10,3,40,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,169,3, +171,3,48,3,47,3,150,3,21,3,45,3,38,3,42,3,111,3,104,3,105,3,103,3,107,3,112,3,201,3,41,3,73,3,88,3,72,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,82,3,87,3,94,3,86,3,83,3,75,3,74,3,76,3,77,3,201,3,201,3,161,2,227,2,201,3,201,3,78,3,201,3,173,2,79,3,91,3,90,3,89,3,168,2,201,3,201,3,201, +3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,135,2,196,3,201,3,201,3,196,3,196,3,196,3,196,3,196,3,196,3,188,3,10,3,0,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,176,3,174,3,201,3,123,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201, +3,141,2,201,3,143,3,6,3,6,3,6,3,8,3,242,2,254,2,143,2,44,3,23,3,23,3,155,3,44,3,155,3,198,2,221,2,195,2,34,3,23,3,106,3,34,3,34,3,7,3,254,2,201,3,181,3,14,3,14,3,173,3,173,3,14,3,53,3,231,2,44,3,238,2,238,2,238,2,238,2,14,3,158,2,44,3,53,3,231,2,231,2,44,3,14,3,158,2,149,3,147,3,14,3,14,3,158,2,14,3,158,2,14,3,158,2,116,3,229,2,229,2,229,2,213,2,116,3,229,2,198,2,229,2,213,2,229,2,229,2,27,3,22,3,27,3,22,3,27,3,22,3,14,3,14,3,201,3,116,3,120,3,120,3,116,3,39,3,28,3,37,3,35,3,44,3,164,2,216,2,151, +2,151,2,140,2,140,2,140,2,140,2,193,3,193,3,188,3,200,2,200,2,183,2,201,3,201,3,201,3,201,3,201,3,201,3,175,2,201,3,125,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,60,3,201,3,136,2,183,3,201,3,201,3,180,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,153,3,201,3,201,3,201,3,201,3,201,3,201,3,146,3,145,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201, +3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,245,2,201,3,201,3,201,3,249,2,201,3,201,3,201,3,201,3,201,3,201,3,36,3,201,3,29,3,201,3,109,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,198,3,201,3,201,3,201,3,197,3,201,3,201,3,201,3,201,3,201,3,62,3,201,3,61,3,65,3,201,3,149,2,201,3,132,2,137,2,192,3,195,3,194,3,191,3,190,3,189,3,184,3,182,3,179,3,178,3,177,3,175,3,172,3,168,3,129,3,127,3,134,3,133,3,132,3,131,3,130,3,128,3,126,3,124,3,50,3,49,3,46,3,43,3,241,2,167,3,122,3,240, +2,237,2,236,2,157,2,185,3,152,3,161,3,160,3,159,3,54,3,158,3,157,3,156,3,154,3,151,3,138,3,52,3,51,3,232,2,114,3,113,3,160,2,142,3,141,3,140,3,144,3,148,3,139,3,16,3,239,2,159,2,156,2,163,2,167,2,219,2,220,2,228,2,226,2,225,2,224,2,223,2,222,2,218,2,169,2,174,2,212,2,197,2,196,2,205,2,204,2,210,2,209,2,208,2,207,2,206,2,203,2,202,2,201,2,194,2,193,2,199,2,192,2,215,2,214,2,211,2,191,2,235,2,234,2,233,2,230,2,190,2,189,2,188,2,65,3,187,2,186,2,70,3,69,3,98,3,58,3,243,2,247,2,246,2,250,2,251,2,3,3, +2,3,1,3,12,3,13,3,25,3,24,3,56,3,55,3,26,3,11,3,5,3,4,3,20,3,19,3,18,3,17,3,9,3,255,2,31,3,30,3,100,3,15,3,99,3,97,3,166,3,165,3,164,3,163,3,162,3,102,3,199,3,200,3,119,3,121,3,118,3,33,3,32,3,117,3,101,3,71,3,68,3,178,2,179,2,137,3,136,3,135,3,181,2,180,2,177,2,176,2,95,3,92,3,84,3,96,3,93,3,85,3,81,3,80,3,66,3,64,3,63,3,59,3,67,3,248,2,244,2,57,3,253,2,252,2,185,2,184,2,182,2,166,2,165,2,162,2,155,2,153,2,152,2,154,2,150,2,148,2,147,2,146,2,145,2,144,2,172,2,171,2,170,2,142,2,139,2,138,2,134,2, +133,2,131,2,51,46,56,46,55,46,52,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132, +133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,37,115,0,42,63,91,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64, +64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,52,45,49,50,45,48,57,32,48,49,58,51,52,58,51,54,32,102,54,54,102,55,97,49,55, +98,55,56,98,97,54,49,55,97,99,100,101,57,48,102,99,56,49,48,49,48,55,102,51,52,102,49,97,49,102,50,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,4,0,1,2,4,9,12,16,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,102,117,108,108,0,1,0,0,0,1,1,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0, +44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69, +83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85, +78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86, +73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71, +72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98, +12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97, +99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,66,73,78,65,82,89,0,82,84,82,73,77,0,78,79,67,65,83,69,0,109,97,105,110,0,114,116,114,101,101,110,111,100,101,0,114,116,114,101,101,100,101,112,116,104,0,114,116,114,101,101,0,114,116,114,101,101,95,105,51,50,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,110,111,100,101,39,32,32,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,110,111,100,101,34,59,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,112,97,114,101,110, +116,39,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,112,97,114,101,110,116,34,59,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,114,111,119,105,100,39,32,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,114,111,119,105,100,34,59,0,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,59,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,59,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,59, +0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,0,37,115,44,32,37,115,0,37,115,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,110,111,100,101,34,40,110,111,100,101,110,111,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,100,97,116,97,32,66,76,79,66,41,59,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,114,111,119,105,100,34,40,114,111,119,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,110,111,100, +101,110,111,32,73,78,84,69,71,69,82,41,59,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,112,97,114,101,110,116,34,40,110,111,100,101,110,111,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,112,97,114,101,110,116,110,111,100,101,32,73,78,84,69,71,69,82,41,59,73,78,83,69,82,84,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,86,65,76,85,69,83,40,49,44,32,122,101,114,111,98,108,111,98,40,37,100,41,41,0,83,69,76,69,67,84,32,100,97,116,97,32, +70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,83,69,76,69,67,84,32,110,111,100,101,110,111,32,70,82,79,77,32,39, +37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,58,49,0,83,69,76,69,67,84,32,112,97,114,101,110,116,110,111,100,101,32,70,82,79,77,32,39, +37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,83,69,76,69,67,84,32,115,116,97,116,32,70,82,79,77,32,37,81,46, +115,113,108,105,116,101,95,115,116,97,116,49,32,87,72,69,82,69,32,116,98,108,32,61,32,39,37,113,95,114,111,119,105,100,39,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,83,69,76,69,67,84,32,108,101,110,103,116,104,40,100,97,116,97,41,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,49,0,87,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116, +114,101,101,32,116,97,98,108,101,0,84,111,111,32,102,101,119,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116,114,101,101,32,116,97,98,108,101,0,84,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116,114,101,101,32,116,97,98,108,101,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,32,116,111,32,114,116,114,101,101,100,101,112,116,104,40,41,0,37,108,108,100,0,32,37,103,0,37,115,32,123,37,115,125,0,123,37,115,125,0,97,117,116,111, +109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115, +93,0,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0, +108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101, +100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110, +99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102, +97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,105,110,116,101,114,114,117,112,116,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,114,111,119,105,100,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,116,111,111,32,109,97,110,121,32,116, +101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,105,110,100,101,120,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115, +116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108, +108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1, +167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173,2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,189,0,189,1,176,0,176,3,190,0,190,2,191,1,191,1,191,1,149,4,193,2,193,0,149,8,149,4,149,1,163,2,195,1,195,3,198,1,198,2,198,1,196,9,196,1,207,4,207,5,199,1,199,1,199,0,210,2,210,0,200,3,200,2,200,4,211,2,211,1,211,0,201,0,201,2,213, +2,213,0,212,7,212,7,212,7,159,0,159,2,194,2,214,1,214,2,214,3,214,4,216,2,216,0,215,0,215,3,215,2,217,4,217,0,205,0,205,3,220,4,220,2,177,1,177,1,177,0,203,0,203,3,204,0,204,2,206,0,206,2,206,4,206,4,149,6,202,0,202,2,149,8,221,5,221,3,149,6,149,7,222,2,222,1,223,0,223,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,224,1,224,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,225,1,225, +2,175,5,226,1,226,2,175,5,175,3,175,5,175,4,175,4,175,5,228,5,228,4,229,2,229,0,227,1,227,0,209,1,209,0,208,3,208,1,149,12,230,1,230,0,179,0,179,3,188,5,188,3,231,0,231,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,232,1,232,1,232,1,232,1,232,1,171,2,171,1,172,2,149,5,233,11,235,1,235,1,235,2,235,0,236,1,236,1,236,3,237,0,237,3,238,0,238,2,234,3,234,2,240,1,240,3,241,0,241,3,241,2,239,7,239,5,239,5,239,1,175,4,175,6,192,1,192,1,192,1,149,4,149,6,149,3,243,0,243,2,242,1,242,0,149,1,149,3,149,1, +149,3,149,6,149,6,244,1,245,0,245,1,149,1,149,4,246,8,247,1,247,3,248,0,248,2,249,1,249,3,250,1,251,0,251,4,251,2,197,0,197,2,197,3,252,6,252,8,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,115,113,108,105,116,101,95,116,101,109,112, +95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97, +98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98, +108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102, +97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113, +108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,115,37,115,0,37,33,46,49,53,103,0,116,104,101,114, +101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87, +72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32, +110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76, +83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101],"i8",4,n.la+10240); +x([32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116, +101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,73,78, +84,69,71,69,82,0,37,115,58,37,100,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79, +82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,116,111,111,32,109,97,110,121,32,116, +101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110, +32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110, +99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100, +32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,82,79,87,73,68,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98, +105,116,101,100,0,95,82,79,87,73,68,95,0,79,73,68,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,42,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114, +101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32, +45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108, +117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32, +37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101, +32,37,84,0,105,100,120,0,116,98,108,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,115,113,108,105,116,101,95,115,116,97,116,49,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108, +105,116,101,95,115,116,97,116,52,0,67,82,69,65,84,69,32,84,69,77,80,32,84,65,66,76,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,115,113,108,105,116,101,95, +109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,49,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32, +109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42, +0,115,122,61,91,48,45,57,93,42,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,115,32,45,32,37,115,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,44,32,0,46,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115, +40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103, +58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0, +116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,111,117,116,32,111, +102,32,109,101,109,111,114,121,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,108,0,246,0,97,0,1,0,47,0,1,2,78,2,247,1,97,0,1,0,47,0,0,2,78,2,247,1,95,0,0,0,9,0,254,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97, +116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58, +32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114, +105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,4,0,0,0,51,0,1,3,137,1,8,0,25,0,2,0,90,1,2,1,137,1,8,0,25,0,1,0,154,0,0,0,35,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117, +115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,4,0,1,0,51,0,1,4,45,1,0,0,24,0,2,0,25,0,1,0,52,0,7,1,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114, +101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,105,100,0,110,97,109,101,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,112,107,0,116,97,98,108,101,0,119,105,100,116,104,0,104,101,105,103,104,116,0,115,101,113,110,111,0,115,101,113,0,117,110, +105,113,117,101,0,102,105,108,101,0,105,100,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,78,79,78,69,0,112,97,114,101,110,116,0,102,107,105,100,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105, +110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,138,1,0,0,97,0,3,0,35,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,4,0,1,0,25,0,1,0,52,0,0,1,4,0,0,0,51,0,1,0,35,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0, +102,117,108,108,0,114,101,115,116,97,114,116,0,98,117,115,121,0,108,111,103,0,99,104,101,99,107,112,111,105,110,116,101,100,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,37,95, +0,1,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,83,69,84,32,78,85,76,76,0, +83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,116,114,117,110,99,97,116,101, +0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,99,104,101,95,115,112,105,108,108,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116, +95,99,104,97,110,103,101,115,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108, +105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116, +0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110, +107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116, +32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,48,0,118,97,114,105,97,98,108,101,32,110, +117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100, +32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,65,63,62,64,0,0,108,105,65,62,64,63,116,114,113,115,9,8,108,105,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82, +73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,40,114,111,119,105,100,61,63,41,0,40,114,111,119,105,100,62,63,32,65,78,68,32,114,111,119,105,100,60,63,41,0,40,114,111,119,105,100,62,63,41,0,40,114,111,119,105,100,60,63,41,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,61,0,32,65,78,68,32, +0,65,78,89,40,37,115,41,0,62,0,60,0,41,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114, +110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,83,81,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,0,0,1,1,1,1,1,0,0,2,0,1,0,1,1,4,36,1,4,5,16,0,2,2,2,2,0,2,2,0,0,32,0,0,4,5,4,4,0,0,1,1,5,5,0,0,0,2,2,16,0,0,0,0,0,0,0,0,0,17,17,17,17,8,17,17,17,17,76,76,2,2,0,5,5,21,21,21,21,21,21,0,76,76,76,76,76,76,76,76,76,76,0,36,2,0,0,0,0,0,2,0,1,1,1,1,8,8,0,2,1,1,1,1,2,0,0,2,2,0,0,0,0,0,0,12,69,21,1,2,2,0,1,8,5,5,5,0,1,0,0,0,0,0,0,0,1,0,2,2,1,0,0,0,1,2,3,4,6,8,8,0,0,0,0,111,105,100, +0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,95,114,111, +119,105,100,95,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73, +71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110, +37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109, +101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104, +116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,111,110,108,121,32,97,32,115,105,110,103, +108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112, +112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81, +32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32, +110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97, +108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32, +97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,116,97,98,108,101,32,37,115,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84, +32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78, +84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72, +79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111, +119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101, +32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,22,22,23,1,24,26,15,27,80,81,82,83,84,85,86, +87,88,89,90,91,92,93,94,95,108,109,110,27,28,23,50,51,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,22,70,23,71,72,73,74,75,76,77,78,79,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,19,97,91,92,93,94,95,26,85,86,87,88,89,90,91,92,93,94,95,27,28,97,98,99,122,211,102,103,104,79,19,50,51,19,122,59,55,113,224,225,226,89,90,91,92,93,94,95,23,27,28,26,71,72,73,74,75,76,77,78,79,80,81,82,83,51,85,86,87,88,89,90,91,92,93,94,95,19,132,133,58,89,90,21,108,109,110,27,28,97,98,33,100,7,8,119,120,22,19, +107,42,109,27,28,27,28,95,28,50,51,99,100,101,102,103,104,105,27,28,97,98,107,152,112,132,133,112,65,69,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,101,97,97,98,24,101,122,157,12,99,103,112,102,103,104,152,22,97,98,97,98,27,28,113,27,29,91,164,165,124,50,51,97,98,219,59,132,133,134,22,23,45,66,47,212,213,124,140,132,133,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,165,27,28,230,50,51,233,108,109,110,70,16,59,23,97,98,26,97,22, +66,185,12,187,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,29,85,86,87,88,89,90,91,92,93,94,95,19,22,148,149,45,23,47,62,154,64,156,108,109,110,37,69,23,163,59,26,26,97,98,144,145,146,147,152,200,52,23,50,51,26,22,89,90,60,210,7,8,9,138,97,22,23,26,101,26,174,175,197,71,72,73,74,75,76,77,78,79,80,81,82,83,16,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,208,209,140,152,152,111,195,196,98,70,163,160,152,23,22,164,165,246,207,27,152,174,175,171,172,50,51,137,62,139,64,171,172,222,124,27,138, +24,163,89,90,130,174,175,197,163,71,72,73,74,75,76,77,78,79,80,81,82,83,22,85,86,87,88,89,90,91,92,93,94,95,19,197,181,182,23,208,209,152,197,26,189,132,133,232,224,225,226,152,97,91,26,232,116,212,213,152,222,121,152,174,175,50,51,243,97,22,23,22,234,174,175,177,23,239,116,163,177,174,175,121,174,175,71,72,73,74,75,76,77,78,79,80,81,82,83,24,85,86,87,88,89,90,91,92,93,94,95,19,23,197,11,23,227,70,208,220,152,31,224,225,226,35,98,224,225,226,108,109,110,115,152,117,118,27,222,49,123,24,50,51,27,0, +1,2,224,225,226,166,124,168,169,239,174,175,170,171,172,22,194,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,22,208,24,23,195,196,170,171,172,174,175,152,26,152,152,152,207,152,97,152,23,152,51,244,152,97,152,247,248,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,23,174,175,174,175,188,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,107,152,33,24,152,100,101,27,174,175,152,42,152,23,152,26,152,23,152,26,152,174,175,174, +175,152,174,175,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,163,119,120,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,66,152,97,197,23,50,51,26,53,23,174,175,26,23,23,23,26,26,26,36,106,146,147,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,196,119,120,19,50,51,168,169,26,174,175,207,28,152,249,250,152,163,163,163,163,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92, +93,94,95,152,197,197,197,197,50,51,197,194,36,174,175,191,192,152,191,192,163,152,66,124,152,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,197,152,100,188,152,50,51,152,152,188,174,175,252,152,94,95,152,152,152,1,2,152,152,174,175,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,188,188,22,194,50,51,240,173,194,174,175,252,194,152,36,181,28,152,23,219,122,174,175,219,221,152,152,73,74,75,76,77,78,79,80,81,82,83,152,85, +86,87,88,89,90,91,92,93,94,95,19,20,152,22,23,194,152,240,27,28,174,175,240,19,20,26,22,194,194,38,22,27,28,152,23,22,152,116,174,175,152,23,38,152,23,152,221,152,57,152,23,163,50,51,194,174,175,66,174,175,69,57,174,175,40,174,175,174,175,174,175,174,175,69,22,53,74,75,30,53,89,90,22,22,152,197,23,96,97,98,22,152,101,89,90,91,208,209,152,53,96,97,98,101,22,101,174,175,152,19,20,105,22,174,175,112,19,27,28,20,174,175,24,132,133,134,135,136,38,44,174,175,107,61,54,26,132,133,134,135,136,54,107,22,5, +140,1,57,36,111,122,28,79,79,131,123,66,19,20,69,22,1,16,20,125,27,28,123,111,120,23,131,23,16,68,142,38,15,22,89,90,3,167,4,248,251,96,97,98,180,180,101,251,151,6,57,151,13,151,26,25,151,161,202,153,162,153,69,130,128,203,19,20,127,22,126,204,129,22,27,28,205,132,133,134,135,136,89,90,231,38,95,137,179,96,97,98,206,179,101,122,107,159,159,125,231,216,228,107,57,184,217,216,176,217,176,48,106,18,184,158,69,159,158,46,71,237,176,176,176,132,133,134,135,136,217,176,137,216,178,158,89,90,179,176,159, +179,159,96,97,98,159,159,101,5,158,202,22,18,10,11,12,13,14,190,238,17,190,158,193,41,159,202,193,159,202,245,193,193,223,190,32,159,34,132,133,134,135,136,159,39,155,43,150,223,177,201,178,177,186,66,199,177,152,253,56,215,152,182,152,202,152,63,152,152,66,67,242,229,152,174,152,152,152,152,152,152,152,199,242,202,152,198,152,152,152,183,192,152,215,152,183,215,183,152,241,214,152,211,152,152,211,211,152,152,241,152,152,152,152,152,152,152,114,152,152,235,152,152,152,174,187,95,174,253,253,253,253, +236,253,253,253,253,253,253,253,253,253,253,253,141],"i8",4,n.la+20480); +x([27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,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,27,27,27,27,27,27,27,27,27,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116, +101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,111,114,100,101,114,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117, +115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101, +109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105, +110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105, +111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0, +99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0, +39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118, +97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110, +99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78, +73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39, +32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83, +69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117, +111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101, +95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114, +111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,76,105,115,116,32,111,102,32,116,114,101,101,32,114,111,111,116,115,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,79,117,116,115,116,97,110,100,105,110,103,32,112,97,103,101,32,99,111,117,110,116,32,103,111,101,115,32,102, +114,111,109,32,37,100,32,116,111,32,37,100,32,100,117,114,105,110,103,32,116,104,105,115,32,97,110,97,108,121,115,105,115,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108, +108,32,37,100,58,32,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,112,114,101,118,105,111,117,115,32,119,97,115,32,37,108,108,100,41,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114, +32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111, +102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,67,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,99,101,108,108,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,100,32,111,102,32, +112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100, +32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116, +32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,110,105,108,0,66, +0,44,46,46,46,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,58,37,112,0,105,110,116,97,114,114,97,121,0,112,114,111,103,114,97,109,0,70,117,110,99,116,105,111,110,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120, +116,0,65,103,103,83,116,101,112,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,78,111,116,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114, +105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109, +110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111, +0,67,108,111,115,101,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,83,101,101,107,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73, +110,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111, +119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116, +101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,80,97,114,97,109,0,82, +101,97,108,0,70,107,67,111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,73,102,78,101,103,0,73,102,90,101,114,111,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116, +0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110, +103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32, +100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105, +108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32, +105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101, +0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0, +102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103, +101,116,112,97,103,101,115,105,122,101,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,0,83,81,76,73,84,69, +95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,47,37,115,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105, +112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1, +0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,45,73,110,102,0,43,73,110,102,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101, +95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99, +97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0, +37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,115,117,98,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,99,111,97,108,101,115,99,101,0,104,101,120,0,105,102,110,117,108,108,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100, +0,108,105,107,101,108,121,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,113,117,111,116,101,0,108,97, +115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,109, +105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,82,84,82,69,69,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60, +61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114, +109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98, +117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110, +110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104, +32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114, +103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111, +114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115, +32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108, +101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110, +97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117, +112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111, +114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110, +100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102, +111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,n.la+30720);var nb=n.za(x(12,"i8",2),8);k(0==nb%8);f._i64Subtract=ob;function pb(a){f.___errno_location&&(v[f.___errno_location()>>2]=a);return a} +var I={G:1,J:2,Vd:3,Sc:4,P:5,Oa:6,lc:7,qd:8,N:9,zc:10,Ka:11,ee:11,Ma:12,aa:13,Lc:14,Cd:15,ba:16,La:17,fe:18,ia:19,ja:20,U:21,u:22,ld:23,jb:24,ca:25,be:26,Mc:27,yd:28,ka:29,Sd:30,dd:31,Md:32,Ic:33,kb:34,ud:42,Pc:43,Ac:44,Vc:45,Wc:46,Xc:47,cd:48,ce:49,od:50,Uc:51,Fc:35,rd:37,rc:52,uc:53,ge:54,md:55,vc:56,wc:57,Gc:35,xc:59,Ad:60,pd:61,Zd:62,zd:63,vd:64,wd:65,Rd:66,sd:67,oc:68,Wd:69,Bc:70,Nd:71,fd:72,Jc:73,tc:74,Hd:76,sc:77,Qd:78,Yc:79,Zc:80,bd:81,ad:82,$c:83,Bd:38,Na:39,gd:36,ya:40,Id:95,Ld:96,Ec:104, +nd:105,pc:97,Pd:91,Fd:88,xd:92,Td:108,Dc:111,mc:98,Cc:103,kd:101,hd:100,$d:110,Nc:112,Oc:113,Rc:115,qc:114,Hc:89,ed:90,Od:93,Ud:94,nc:99,jd:102,Tc:106,Dd:107,ae:109,de:87,Kc:122,Xd:116,Gd:95,td:123,Qc:84,Jd:75,yc:125,Ed:131,Kd:130,Yd:86},qb={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"}; +function rb(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 J(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=rb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} +function sb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function tb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)} +function ub(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=rb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var vb=[];function wb(a,b){vb[a]={input:[],D:[],Y:b};xb(a,yb)} +var yb={open:function(a){var b=vb[a.g.fa];if(!b)throw new K(I.ia);a.B=b;a.seekable=!1},close:function(a){a.B.Y.flush(a.B)},flush:function(a){a.B.Y.flush(a.B)},M:function(a,b,c,d){if(!a.B||!a.B.Y.$a)throw new K(I.Oa);for(var e=0,g=0;ga.e.length&&(a.e=L.Gb(a),a.p=a.e.length);if(!a.e||a.e.subarray){var c=a.e?a.e.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.e,a.e=new Uint8Array(b), +0b)a.e.length=b;else for(;a.e.length=a.g.p)return 0;a=Math.min(a.g.p-e,d);k(0<=a);if(8b)throw new K(I.u);return b},Pa:function(a,b,c){L.Va(a.g,b+c);a.g.p=Math.max(a.g.p,b+c)},ra:function(a,b,c,d,e,g,h){if(32768!==(a.g.mode&61440))throw new K(I.ia);c=a.g.e;if(h&2||c.buffer!==b&&c.buffer!==b.buffer){if(0>>0)%Kb.length}function Ob(a){var b=Nb(a.parent.id,a.name);a.X=Kb[b];Kb[b]=a}function Pb(a){var b=Nb(a.parent.id,a.name);if(Kb[b]===a)Kb[b]=a.X;else for(b=Kb[b];b;){if(b.X===a){b.X=a.X;break}b=b.X}} +function Fb(a,b){var c;if(c=(c=Qb(a,"x"))?c:a.k.ea?0:I.aa)throw new K(c,a);for(c=Kb[Nb(a.id,b)];c;c=c.X){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.k.ea(a,b)} +function Db(a,b,c,d){Rb||(Rb=function(a,b,c,d){a||(a=this);this.parent=a;this.K=a.K;this.W=null;this.id=Jb++;this.name=b;this.mode=c;this.k={};this.n={};this.fa=d},Rb.prototype={},Object.defineProperties(Rb.prototype,{M:{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}},Qb:{get:function(){return M(this.mode)}},Pb:{get:function(){return 8192===(this.mode& +61440)}}}));a=new Rb(a,b,c,d);Ob(a);return a}function M(a){return 16384===(a&61440)}var Sb={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 Qb(a,b){if(Lb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return I.aa}else return I.aa;return 0}function Tb(a,b){try{return Fb(a,b),I.La}catch(c){}return Qb(a,"wx")} +function Ub(a,b,c){var d;try{d=Fb(a,b)}catch(e){return e.o}if(a=Qb(a,"wx"))return a;if(c){if(!M(d.mode))return I.ja;if(d===d.parent||"/"===Q(d))return I.ba}else if(M(d.mode))return I.U;return 0}function Vb(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!N[a])return a;throw new K(I.jb);} +function Wb(a,b){Xb||(Xb=function(){},Xb.prototype={},Object.defineProperties(Xb.prototype,{object:{get:function(){return this.g},set:function(a){this.g=a}},$e:{get:function(){return 1!==(this.flags&2097155)}},af:{get:function(){return 0!==(this.flags&2097155)}},Ze:{get:function(){return this.flags&1024}}}));var c=new Xb,d;for(d in a)c[d]=a[d];a=c;c=Vb(b);a.F=c;return N[c]=a}var Cb={open:function(a){a.n=Ib[a.g.fa].n;a.n.open&&a.n.open(a)},R:function(){throw new K(I.ka);}}; +function xb(a,b){Ib[a]={n:b}}function Yb(a,b){var c="/"===b,d=!b,e;if(c&&Hb)throw new K(I.ba);if(!c&&!d){e=P(b,{Wa:!1});b=e.path;e=e.g;if(e.W)throw new K(I.ba);if(!M(e.mode))throw new K(I.ja);}var d={type:a,ff:{},cb:b,Ub:[]},g=a.K(d);g.K=d;d.root=g;c?Hb=g:e&&(e.W=d,e.K&&e.K.Ub.push(d))}function Zb(a,b,c){var d=P(a,{parent:!0}).g;a=tb(a);if(!a||"."===a||".."===a)throw new K(I.u);var e=Tb(d,a);if(e)throw new K(e);if(!d.k.qa)throw new K(I.G);return d.k.qa(d,a,b,c)} +function $b(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return Zb(a,b,0)}function R(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return Zb(a,b,0)}function ac(a,b,c){"undefined"===typeof c&&(c=b,b=438);return Zb(a,b|8192,c)}function bc(a,b){if(!ub(a))throw new K(I.J);var c=P(b,{parent:!0}).g;if(!c)throw new K(I.J);var d=tb(b),e=Tb(c,d);if(e)throw new K(e);if(!c.k.va)throw new K(I.G);return c.k.va(c,d,a)} +function cc(a){var b=P(a,{parent:!0}).g,c=tb(a),d=Fb(b,c),e=Ub(b,c,!1);if(e)throw e===I.U&&(e=I.G),new K(e);if(!b.k.wa)throw new K(I.G);if(d.W)throw new K(I.ba);try{O.willDeletePath&&O.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.k.wa(b,c);Pb(d);try{if(O.onDeletePath)O.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} +function Mb(a){a=P(a).g;if(!a)throw new K(I.J);if(!a.k.ga)throw new K(I.u);return ub(Q(a.parent),a.k.ga(a))}function dc(a){a=P(a,{Q:!0}).g;if(!a)throw new K(I.J);if(!a.k.H)throw new K(I.G);return a.k.H(a)}function ec(a,b){var c;"string"===typeof a?c=P(a,{Q:!0}).g:c=a;if(!c.k.C)throw new K(I.G);c.k.C(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})}function fc(a){var b;"string"===typeof a?b=P(a,{Q:!0}).g:b=a;if(!b.k.C)throw new K(I.G);b.k.C(b,{timestamp:Date.now()})} +function gc(a,b){if(0>b)throw new K(I.u);var c;"string"===typeof a?c=P(a,{Q:!0}).g:c=a;if(!c.k.C)throw new K(I.G);if(M(c.mode))throw new K(I.U);if(32768!==(c.mode&61440))throw new K(I.u);var d=Qb(c,"w");if(d)throw new K(d);c.k.C(c,{size:b,timestamp:Date.now()})} +function hc(a,b,c,d){if(""===a)throw new K(I.J);if("string"===typeof b){var e=Sb[b];if("undefined"===typeof e)throw Error("Unknown file open mode: "+b);b=e}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=J(a);try{g=P(a,{Q:!(b&131072)}).g}catch(h){}}e=!1;if(b&64)if(g){if(b&128)throw new K(I.La);}else g=Zb(a,c,0),e=!0;if(!g)throw new K(I.J);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!M(g.mode))throw new K(I.ja);if(!e&&(g?40960===(g.mode&61440)?c=I.ya:M(g.mode)&& +(0!==(b&2097155)||b&512)?c=I.U:(c=["r","w","rw"][b&2097155],b&512&&(c+="w"),c=Qb(g,c)):c=I.J,c))throw new K(c);b&512&&gc(g,0);b&=-641;d=Wb({g:g,path:Q(g),flags:b,seekable:!0,position:0,n:g.n,dc:[],error:!1},d);d.n.open&&d.n.open(d);!f.logReadFiles||b&1||(ic||(ic={}),a in ic||(ic[a]=1,f.printErr("read file: "+a)));try{O.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),O.onOpenFile(a,g))}catch(l){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+l.message)}return d} +function jc(a){a.Ea&&(a.Ea=null);try{a.n.close&&a.n.close(a)}catch(b){throw b;}finally{N[a.F]=null}}function lc(a,b,c){if(!a.seekable||!a.n.R)throw new K(I.ka);a.position=a.n.R(a,b,c);a.dc=[]}function mc(a,b,c,d,e){if(0>d||0>e)throw new K(I.u);if(1===(a.flags&2097155))throw new K(I.N);if(M(a.g.mode))throw new K(I.U);if(!a.n.M)throw new K(I.u);var g=!0;if("undefined"===typeof e)e=a.position,g=!1;else if(!a.seekable)throw new K(I.ka);b=a.n.M(a,b,c,d,e);g||(a.position+=b);return b} +function nc(a,b,c,d,e,g){if(0>d||0>e)throw new K(I.u);if(0===(a.flags&2097155))throw new K(I.N);if(M(a.g.mode))throw new K(I.U);if(!a.n.write)throw new K(I.u);a.flags&1024&&lc(a,0,2);var h=!0;if("undefined"===typeof e)e=a.position,h=!1;else if(!a.seekable)throw new K(I.ka);b=a.n.write(a,b,c,d,e,g);h||(a.position+=b);try{if(a.path&&O.onWriteToFile)O.onWriteToFile(a.path)}catch(l){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+l.message)}return b} +function oc(){K||(K=function(a,b){this.g=b;this.bc=function(a){this.o=a;for(var b in I)if(I[b]===a){this.code=b;break}};this.bc(a);this.message=qb[a]},K.prototype=Error(),K.prototype.constructor=K,[I.J].forEach(function(a){Eb[a]=new K(a);Eb[a].stack=""}))}var pc;function qc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function rc(a,b,c,d){a=J(("string"===typeof a?a:Q(a))+"/"+b);return $b(a,qc(c,d))} +function sc(a,b,c,d,e,g){a=b?J(("string"===typeof a?a:Q(a))+"/"+b):a;d=qc(d,e);e=$b(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=c.Eb;v[b+4>>2]=0;v[b+8>>2]=c.ab;v[b+12>>2]=c.mode;v[b+16>>2]=c.Wb;v[b+20>>2]=c.uid;v[b+24>>2]=c.Mb;v[b+28>>2]=c.fa;v[b+32>>2]=0;v[b+36>>2]=c.size;v[b+40>>2]=4096;v[b+44>>2]=c.Bb;v[b+48>>2]=c.tb.getTime()/1E3|0;v[b+52>>2]=0;v[b+56>>2]=c.Vb.getTime()/1E3|0;v[b+60>>2]=0;v[b+64>>2]=c.Db.getTime()/1E3|0;v[b+68>>2]=0;v[b+72>>2]=c.ab;return 0}var T=0;function U(){T+=4;return v[T-4>>2]} +function xc(){return xa(U())}function yc(){var a;a=U();a=N[a];if(!a)throw new K(I.N);return a}f._memset=zc;f._bitshift64Shl=Ac;var ya=void 0;f._i64Add=Bc;function Cc(a){a=a/1E3;if((ca||da)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[w];2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&15)<<2],c+="=");G.src="data:audio/x-"+b.substr(-3)+";base64,"+c;l(G)}};G.src=y;dd(function(){l(G)})}else return r()}});var c=f.canvas;c&&(c.Ia=c.requestPointerLock||c.mozRequestPointerLock|| +c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.Ua=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.Ua=c.Ua.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),f.elementPointerLock&&c.addEventListener("click",function(a){!Wc&& +c.Ia&&(c.Ia(),a.preventDefault())},!1))}}function ed(a,b,c,d){if(b&&f.Ca&&a==f.canvas)return f.Ca;var e,g;if(b){g={antialias:!1,alpha:!1};if(d)for(var h in d)g[h]=d[h];if(g=GL.Pe(a,g))e=GL.getContext(g).je;a.style.backgroundColor="black"}else e=a.getContext("2d");if(!e)return null;c&&(b||k("undefined"===typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),f.Ca=e,b&&GL.cf(g),f.lf=b,Xc.forEach(function(a){a()}),Yc());return e} +var fd=!1,gd=void 0,hd=void 0; +function id(a,b,c){function d(){Vc=!1;var a=e.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(e.Sa=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){}, +e.Sa=e.Sa.bind(document),gd&&e.Ia(),Vc=!0,hd&&jd()):(a.parentNode.insertBefore(e,a),a.parentNode.removeChild(a),hd&&kd());if(f.onFullScreen)f.onFullScreen(Vc);ld(e)}gd=a;hd=b;md=c;"undefined"===typeof gd&&(gd=!0);"undefined"===typeof hd&&(hd=!1);"undefined"===typeof md&&(md=null);var e=f.canvas;fd||(fd=!0,document.addEventListener("fullscreenchange",d,!1),document.addEventListener("mozfullscreenchange",d,!1),document.addEventListener("webkitfullscreenchange",d,!1),document.addEventListener("MSFullscreenChange", +d,!1));var g=document.createElement("div");e.parentNode.insertBefore(g,e);g.appendChild(e);g.A=g.requestFullScreen||g.mozRequestFullScreen||g.msRequestFullscreen||(g.webkitRequestFullScreen?function(){g.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null);c?g.A({mf:c}):g.A()}var nd=0;function od(a){var b=Date.now();if(0===nd)nd=b+1E3/60;else for(;b+2>=nd;)nd+=1E3/60;b=Math.max(nd-b,0);setTimeout(a,b)} +function Lc(a){"undefined"===typeof window?od(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||od),window.requestAnimationFrame(a))}function dd(a){f.noExitRuntime=!0;setTimeout(function(){oa||a()},1E4)} +function cd(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)]}function pd(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)} +function qd(a,b,c){pd(a,function(c){k(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));mb()},function(){if(c)c();else throw'Loading data file "'+a+'" failed.';});lb()}var rd=[];function sd(){var a=f.canvas;rd.forEach(function(b){b(a.width,a.height)})}function jd(){if("undefined"!=typeof SDL){var a=Wa[SDL.screen+0*n.O>>2];v[SDL.screen+0*n.O>>2]=a|8388608}sd()}function kd(){if("undefined"!=typeof SDL){var a=Wa[SDL.screen+0*n.O>>2];v[SDL.screen+0*n.O>>2]=a&-8388609}sd()} +function ld(a,b,c){b&&c?(a.ec=b,a.Nb=c):(b=a.ec,c=a.Nb);var d=b,e=c;f.forcedAspectRatio&&0>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);v[vd>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),e=a(c),d=x(E(d),"i8",0),e=x(E(e),"i8",0);c.getTimezoneOffset()>2]=d,v[ud+4>>2]=e):(v[ud>>2]=e,v[ud+4>>2]=d)}} +function yd(a,b){xd();var c=new Date(1E3*v[a>>2]);v[b>>2]=c.getSeconds();v[b+4>>2]=c.getMinutes();v[b+8>>2]=c.getHours();v[b+12>>2]=c.getDate();v[b+16>>2]=c.getMonth();v[b+20>>2]=c.getFullYear()-1900;v[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);v[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;v[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;v[b+32>>2]=c;v[b+40>>2]=v[ud+(c?n.O:0)>>2];return b} +f._bitshift64Ashr=zd;f._bitshift64Lshr=Ad;function Bd(a,b){D.push(function(){n.V("vi",a,[b])});Bd.A=D.length}var Cd=x(1,"i32*",2); +function Dd(a){var b,c;Dd.A?(c=v[Cd>>2],b=v[c>>2]):(Dd.A=!0,V.USER=V.LOGNAME="web_user",V.PATH="/",V.PWD="/",V.HOME="/home/web_user",V.LANG="C",V._=f.thisProgram,b=x(1024,"i8",2),c=x(256,"i8*",2),v[c>>2]=b,v[Cd>>2]=c);var d=[],e=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);e+=h.length}if(1024>2]=b,b+=h.length+1;v[c+4*d.length>>2]=0}var V={}; +function Ed(a){if(0===a)return 0;a=xa(a);if(!V.hasOwnProperty(a))return 0;Ed.A&&Ra(Ed.A);Ed.A=x(E(V[a]),"i8",0);return Ed.A}function Ka(a){Ka.Ya||(p=Ua(),Ka.Ya=!0,k(n.da),Ka.Rb=n.da,n.da=function(){q("cannot dynamically allocate, sbrk now has control")});var b=p;return 0==a||Ka.Rb(a)?b:4294967295}f._memmove=Fd;function Gd(a,b){T=b;return 0}oc();Kb=Array(4096);Yb(L,"/");R("/tmp");R("/home");R("/home/web_user"); +(function(){R("/dev");xb(259,{M:function(){return 0},write:function(a,b,e,g){return g}});ac("/dev/null",259);wb(1280,Ab);wb(1536,Bb);ac("/dev/tty",1280);ac("/dev/tty1",1536);var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=ea?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};tc("/dev","random",a);tc("/dev","urandom",a);R("/dev/shm");R("/dev/shm/tmp")})();R("/proc");R("/proc/self");R("/proc/self/fd"); +Yb({K:function(){var a=Db("/proc/self","fd",16895,73);a.k={ea:function(a,c){var d=N[+c];if(!d)throw new K(I.N);var e={parent:null,K:{cb:"fake"},k:{ga:function(){return d.path}}};return e.parent=e}};return a}},"/proc/self/fd"); +db.unshift(function(){if(!f.noFSInit&&!pc){k(!pc,"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)");pc=!0;oc();f.stdin=f.stdin;f.stdout=f.stdout;f.stderr=f.stderr;f.stdin?tc("/dev","stdin",f.stdin):bc("/dev/tty","/dev/stdin");f.stdout?tc("/dev","stdout",null,f.stdout):bc("/dev/tty","/dev/stdout");f.stderr?tc("/dev","stderr",null,f.stderr):bc("/dev/tty1","/dev/stderr");var a= +hc("/dev/stdin","r");k(0===a.F,"invalid handle for stdin ("+a.F+")");a=hc("/dev/stdout","w");k(1===a.F,"invalid handle for stdout ("+a.F+")");a=hc("/dev/stderr","w");k(2===a.F,"invalid handle for stderr ("+a.F+")")}});eb.push(function(){Lb=!1});D.push(function(){pc=!1;var a=f._fflush;a&&a(0);for(a=0;athis.length-1||0>a)){var b=a%this.Cb;return this.Lb(a/this.Cb|0)[b]}};l.prototype.ac=function(a){this.Lb=a};l.prototype.Ra=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,e=1048576;(d=a.getResponseHeader("Accept-Ranges"))&& +"bytes"===d||(e=b);var g=this;g.ac(function(a){var d=a*e,h=(a+1)*e-1,h=Math.min(h,b-1);if("undefined"===typeof g.oa[a]){var l=g.oa;if(d>h)throw Error("invalid range ("+d+", "+h+") or no bytes requested!");if(h>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==e&&r.setRequestHeader("Range","bytes="+d+"-"+h);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer");r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"); +r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):E(r.responseText||"",!0);l[a]=d}if("undefined"===typeof g.oa[a])throw Error("doXHR failed!");return g.oa[a]});this.pb=b;this.ob=e;this.Fa=!0};if("undefined"!==typeof XMLHttpRequest){if(!da)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new l;Object.defineProperty(g, +"length",{get:function(){this.Fa||this.Ra();return this.pb}});Object.defineProperty(g,"chunkSize",{get:function(){this.Fa||this.Ra();return this.ob}});h=void 0}else h=c,g=void 0;var r=rc(a,b,d,e);g?r.e=g:h&&(r.e=null,r.url=h);Object.defineProperty(r,"usedBytes",{get:function(){return this.e.length}});var t={};Object.keys(r.n).forEach(function(a){var b=r.n[a];t[a]=function(){if(!uc(r))throw new K(I.P);return b.apply(null,arguments)}});t.M=function(a,b,c,d,e){if(!uc(r))throw new K(I.P);a=a.g.e;if(e>= +a.length)return 0;d=Math.min(a.length-e,d);k(0<=d);if(a.slice)for(var g=0;gd?-I.u:hc(c.path,c.flags,0,d).F;case 1:case 2:return 0;case 3:return c.flags; +case 4:return d=U(),c.flags|=d,0;case 12:case 12:return d=U(),Aa[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-I.u;case 9:return pb(I.u),-1;default:return-I.u}}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_utimes:function(a,b){var c;b?(c=1E3*v[b+8>>2],c+=v[b+12>>2]/1E3):c=Date.now();a=xa(a);try{var d=c,e=P(a,{Q:!0}).g;e.k.C(e,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof K))throw g+" : "+Sa();pb(g.o);return-1}},_pthread_cleanup_push:Bd, +___syscall6:function(a,b){T=b;try{var c=yc();jc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof K||q(d),-d.o}},___syscall40:function(a,b){T=b;try{var c=xc(),d=P(c,{parent:!0}).g,e=tb(c),g=Fb(d,e),h=Ub(d,e,!0);if(h)throw new K(h);if(!d.k.ta)throw new K(I.G);if(g.W)throw new K(I.ba);try{O.willDeletePath&&O.willDeletePath(c)}catch(l){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+l.message)}d.k.ta(d,e);Pb(g);try{if(O.onDeletePath)O.onDeletePath(c)}catch(r){console.log("FS.trackingDelegate['onDeletePath']('"+ +c+"') threw an exception: "+r.message)}return 0}catch(t){return"undefined"!==typeof S&&t instanceof K||q(t),-t.o}},___syscall118:function(a,b){T=b;try{return yc(),0}catch(c){return"undefined"!==typeof S&&c instanceof K||q(c),-c.o}},___setErrNo:pb,___syscall20:function(a,b){T=b;return 42},___syscall183:function(a,b){T=b;try{var c=U(),d=U();if(0===d)return-I.u;if(2>d)return-I.kb;Ma("/",c);return c}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_usleep:Cc,___buildEnvironment:Dd,___syscall39:function(a, +b){T=b;try{var c=xc(),d=U(),c=J(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));R(c,d);return 0}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_localtime_r:yd,_tzset:xd,_emscripten_set_main_loop_timing:Ec,_sbrk:Ka,___syscall192:function(a,b){T=b;try{var c=U(),d=U(),e=U(),g=U(),h=U(),l=U(),l=l<<12,r,t=!1;if(-1===h){r=Ia(d);if(!r)return-I.Ma;zc(r,0,d);t=!0}else{var y=N[h];if(!y)return-I.N;var w,G=z;if(1===(y.flags&2097155))throw new K(I.aa);if(!y.n.ra)throw new K(I.ia);w=y.n.ra(y, +G,c,d,l,e,g);r=w.Xb;t=w.Aa}vc[r]={Tb:r,Sb:d,Aa:t,F:h,flags:g};return r}catch(H){return"undefined"!==typeof S&&H instanceof K||q(H),-H.o}},___syscall197:function(a,b){T=b;try{var c=yc(),d=U();return wc(c.path,d)}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_emscripten_memcpy_big:function(a,b,c){z.set(z.subarray(b,b+c),a);return a},___syscall194:function(a,b){T=b;try{var c=U();k(0===U());var d=U(),e=U();0<=d?k(0===e):k(-1===e);var g=N[c];if(!g)throw new K(I.N);if(0===(g.flags& +2097155))throw new K(I.u);gc(g.g,d);return 0}catch(h){return"undefined"!==typeof S&&h instanceof K||q(h),-h.o}},___syscall212:function(a,b){T=b;try{var c=xc();U();U();fc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof K||q(d),-d.o}},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return B/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 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 79:return 0;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"object"===typeof navigator?navigator.hardwareConcurrency||1:1}pb(I.u);return-1}, +___syscall94:function(a,b){T=b;try{var c=U(),d=U(),e=N[c];if(!e)throw new K(I.N);ec(e.g,d);return 0}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g),-g.o}},_nanosleep:function(a,b){var c=v[a>>2],d=v[a+4>>2];0!==b&&(v[b>>2]=0,v[b+4>>2]=0);return Cc(1E6*c+d/1E3)},___syscall195:function(a,b){T=b;try{var c=xc(),d=U();return wc(c,d)}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},___syscall91:function(a,b){T=b;try{var c=U(),d=U(),e=vc[c];if(!e)return 0;if(d===e.Sb){var g= +N[e.F],h=e.flags,l=new Uint8Array(z.buffer,c,d);g&&g.n.sa&&g.n.sa(g,l,0,d,h);vc[c]=null;e.Aa&&Ra(e.Tb)}return 0}catch(r){return"undefined"!==typeof S&&r instanceof K||q(r),-r.o}},_pthread_self:function(){return 0},_getenv:Ed,___syscall33:function(a,b){T=b;try{var c=xc(),d;var e=U();if(e&-8)d=-I.u;else{var g;g=P(c,{Q:!0}).g;c="";e&4&&(c+="r");e&2&&(c+="w");e&1&&(c+="x");d=c&&Qb(g,c)?-I.aa:0}return d}catch(h){return"undefined"!==typeof S&&h instanceof K||q(h),-h.o}},___syscall54:function(a,b){T=b;try{var c= +yc(),d=U();switch(d){case 21505:return c.B?0:-I.ca;case 21506:return c.B?0:-I.ca;case 21519:if(!c.B)return-I.ca;var e=U();return v[e>>2]=0;case 21520:return c.B?-I.u:-I.ca;case 21531:e=U();if(!c.n.Ob)throw new K(I.ca);return c.n.Ob(c,d,e);default:q("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g),-g.o}},___unlock:function(){},___syscall140:function(a,b){T=b;try{var c=yc(),d=U(),e=U(),g=U(),h=U();k(0===d);lc(c,e,h);v[g>>2]=c.position;c.Ea&&0===e&&0===h&&(c.Ea=null); +return 0}catch(l){return"undefined"!==typeof S&&l instanceof K||q(l),-l.o}},___syscall15:function(a,b){T=b;try{var c=xc(),d=U();ec(c,d);return 0}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_emscripten_set_main_loop:Mc,___syscall10:function(a,b){T=b;try{var c=xc();cc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof K||q(d),-d.o}},___syscall3:function(a,b){T=b;try{var c=yc(),d=U(),e=U();return mc(c,u,d,e)}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g), +-g.o}},___lock:function(){},_abort:function(){f.abort()},___syscall5:function(a,b){T=b;try{var c=xc(),d=U(),e=U();return hc(c,d,e).F}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g),-g.o}},___syscall4:function(a,b){T=b;try{var c=yc(),d=U(),e=U();return nc(c,u,d,e)}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g),-g.o}},_time:function(a){var b=Date.now()/1E3|0;a&&(v[a>>2]=b);return b},_gettimeofday:function(a){var b=Date.now();v[a>>2]=b/1E3|0;v[a+4>>2]=b%1E3*1E3|0;return 0},___syscall201:function(){return Gd.apply(null, +arguments)},___syscall207:function(a,b){T=b;try{var c=U();U();U();var d=N[c];if(!d)throw new K(I.N);fc(d.g);return 0}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_localtime:function(a){return yd(a,td)},___syscall202:Gd,___syscall146:function(a,b){T=b;try{var c=yc(),d=U(),e;a:{for(var g=U(),h=0,l=0;l>2],v[d+(8*l+4)>>2],void 0);if(0>r){e=-1;break a}h+=r}e=h}return e}catch(t){return"undefined"!==typeof S&&t instanceof K||q(t),-t.o}},STACKTOP:m,STACK_MAX:Za, +tempDoublePtr:nb,ABORT:oa,cttz_i8:Hd};// EMSCRIPTEN_START_ASM +var W=(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=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.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=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_i;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiii;var ma=env.invoke_viiiiii;var na=env.invoke_iii;var oa=env.invoke_iiiiii;var pa=env.invoke_viiii;var qa=env._pthread_cleanup_pop;var ra=env.___syscall221;var sa=env._utimes;var ta=env._pthread_cleanup_push;var ua=env.___syscall6;var va=env.___syscall40;var wa=env.___syscall118;var xa=env.___setErrNo;var ya=env.___syscall20;var za=env.___syscall183;var Aa=env._usleep;var Ba=env.___buildEnvironment;var Ca=env.___syscall39;var Da=env._localtime_r;var Ea=env._tzset;var Fa=env._emscripten_set_main_loop_timing;var Ga=env._sbrk;var Ha=env.___syscall192;var Ia=env.___syscall197;var Ja=env._emscripten_memcpy_big;var Ka=env.___syscall194;var La=env.___syscall212;var Ma=env._sysconf;var Na=env.___syscall94;var Oa=env._nanosleep;var Pa=env.___syscall195;var Qa=env.___syscall91;var Ra=env._pthread_self;var Sa=env._getenv;var Ta=env.___syscall33;var Ua=env.___syscall54;var Va=env.___unlock;var Wa=env.___syscall140;var Xa=env.___syscall15;var Ya=env._emscripten_set_main_loop;var Za=env.___syscall10;var _a=env.___syscall3;var $a=env.___lock;var ab=env._abort;var bb=env.___syscall5;var cb=env.___syscall4;var db=env._time;var eb=env._gettimeofday;var fb=env.___syscall201;var gb=env.___syscall207;var hb=env._localtime;var ib=env.___syscall202;var jb=env.___syscall146;var kb=0.0; // EMSCRIPTEN_START_FUNCS -function Cb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Db(){return i|0}function Eb(a){a=a|0;i=a}function Fb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Gb(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 Hb(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 Ib(a){a=a|0;D=a}function Jb(){return D|0}function Kb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;if(!(Lb(c[f>>2]|0,16,7)|0))c[f>>2]=(c[f>>2]|0)+7;c[h>>2]=Mb(c[f>>2]|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=5){b=9;break}if((Lb(c[f>>2]|0,c[24+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0)==0?(Nb(a[(c[24+(c[g>>2]<<2)>>2]|0)+(c[h>>2]|0)>>0]|0)|0)==0:0){b=7;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==7){c[d>>2]=1;h=c[d>>2]|0;i=e;return h|0}else if((b|0)==9){c[d>>2]=0;h=c[d>>2]|0;i=e;return h|0}return 0}function Lb(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;l=f+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[l>>2]=a;c[k>>2]=b;c[j>>2]=e;c[g>>2]=c[l>>2];c[h>>2]=c[k>>2];while(1){l=c[j>>2]|0;c[j>>2]=l+ -1;if((l|0)<=0)break;if(!(d[c[g>>2]>>0]|0))break;if((d[440+(d[c[g>>2]>>0]|0)>>0]|0|0)!=(d[440+(d[c[h>>2]>>0]|0)>>0]|0|0))break;c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}if((c[j>>2]|0)<0){l=0;i=f;return l|0}l=(d[440+(d[c[g>>2]>>0]|0)>>0]|0)-(d[440+(d[c[h>>2]>>0]|0)>>0]|0)|0;i=f;return l|0}function Mb(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;c[g>>2]=c[f>>2];if(!(c[f>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=d;return b|0}while(1){b=c[g>>2]|0;if(!(a[c[g>>2]>>0]|0))break;c[g>>2]=b+1}c[e>>2]=1073741823&b-(c[f>>2]|0);b=c[e>>2]|0;i=d;return b|0}function Nb(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return((d[1224+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Ob(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if((c[e>>2]|0)>=0&(c[e>>2]|0)<5){c[d>>2]=c[24+(c[e>>2]<<2)>>2];e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}return 0}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Qb(14581)|0;a=c[g>>2]|0;i=f;return a|0}c[c[j>>2]>>2]=c[48+(c[h>>2]<<2)>>2];c[c[k>>2]>>2]=c[88+(c[h>>2]<<2)>>2];if(c[l>>2]|0)c[88+(c[h>>2]<<2)>>2]=c[48+(c[h>>2]<<2)>>2];c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}function Qb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(vf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;tc(21,3216,d);i=b;return 21}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2];if(c[f>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[c[f>>2]>>2];c[e>>2]=(c[e>>2]|0)+1}i=b;return}function Sb(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Tb(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ub[c[38640+48>>2]&31](c[d>>2]|0)|0;i=b;return a|0}function Ub(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}Bn(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Xb(c[e>>2]|0,c[c[f>>2]>>2]|0);Xb(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0);wn(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);xn(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function Vb(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;l=f+4|0;k=f;c[g>>2]=a;c[h>>2]=d;if(!(c[h>>2]|0)){i=f;return}if(!((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+520>>2]|0)!=0:0))e=4;if((e|0)==4?(d=(c[h>>2]|0)+40|0,a=(b[d>>1]|0)+ -1<<16>>16,b[d>>1]=a,(a&65535|0)>0):0){i=f;return}c[j>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+20>>2];if(!((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+520>>2]|0)!=0:0)){c[k>>2]=c[c[j>>2]>>2];gh((c[(c[j>>2]|0)+24>>2]|0)+24|0,c[k>>2]|0,0)|0}ly(c[g>>2]|0,c[j>>2]|0);c[j>>2]=c[l>>2]}Ey(c[g>>2]|0,c[h>>2]|0);hy(c[g>>2]|0,c[h>>2]|0);Xb(c[g>>2]|0,c[c[h>>2]>>2]|0);Xb(c[g>>2]|0,c[(c[h>>2]|0)+20>>2]|0);tn(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0);sn(c[g>>2]|0,c[(c[h>>2]|0)+24>>2]|0);Fy(c[g>>2]|0,c[h>>2]|0);Xb(c[g>>2]|0,c[h>>2]|0);i=f;return}function Wb(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;g=h+16|0;f=h+12|0;k=h+8|0;l=h+4|0;j=h;c[g>>2]=a;c[f>>2]=d;hu(c[(c[f>>2]|0)+60>>2]|0,b[(c[f>>2]|0)+68>>1]|0);hu(c[(c[f>>2]|0)+16>>2]|0,e[(c[f>>2]|0)+84>>1]<<1);c[k>>2]=c[(c[f>>2]|0)+192>>2];while(1){if(!(c[k>>2]|0))break;c[l>>2]=c[(c[k>>2]|0)+24>>2];dD(c[g>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0);Xb(c[g>>2]|0,c[k>>2]|0);c[k>>2]=c[l>>2]}c[j>>2]=(b[(c[f>>2]|0)+70>>1]|0)-1;while(1){d=c[g>>2]|0;if((c[j>>2]|0)<0)break;Xb(d,c[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+ -1}dD(d,c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+32>>2]|0);Xb(c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Xb(c[g>>2]|0,c[(c[f>>2]|0)+168>>2]|0);Xb(c[g>>2]|0,c[(c[f>>2]|0)+172>>2]|0);i=h;return}function Xb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}if(c[g>>2]|0){a=c[g>>2]|0;b=c[e>>2]|0;if(c[(c[g>>2]|0)+520>>2]|0){OE(a,b);i=d;return}if(Ck(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[g>>2]|0)+272>>2];c[(c[g>>2]|0)+272>>2]=c[f>>2];a=(c[g>>2]|0)+252|0;c[a>>2]=(c[a>>2]|0)+ -1;i=d;return}}hc(c[e>>2]|0);i=d;return}function Yb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;f=b+8|0;e=b+4|0;g=b;c[f>>2]=a;c[e>>2]=0;c[g>>2]=Zb()|0;if(c[g>>2]|0){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[e>>2]=c[32];while(1){if((c[e>>2]|0)==0|(c[f>>2]|0)==0)break;if(!(UE(c[f>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[d>>2]=c[e>>2];g=c[d>>2]|0;i=b;return g|0}function Zb(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;if(c[9716]|0){c[b>>2]=0;f=c[b>>2]|0;i=a;return f|0}c[d>>2]=0;if(c[d>>2]|0){c[b>>2]=c[d>>2];f=c[b>>2]|0;i=a;return f|0}c[9718]=1;if(!(c[9719]|0))c[d>>2]=wf()|0;if((((c[d>>2]|0)==0?(c[9719]=1,(c[9722]|0)==0):0)?(c[9722]=8,(c[9661]|0)!=0):0)?(c[9722]|0)==0:0)c[d>>2]=7;if(!(c[d>>2]|0))c[9721]=(c[9721]|0)+1;if(c[d>>2]|0){c[b>>2]=c[d>>2];f=c[b>>2]|0;i=a;return f|0}if((c[9716]|0)==0?(c[9717]|0)==0:0){c[e>>2]=1576;c[9717]=1;f=(c[e>>2]|0)+0|0;e=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));xf();if(!(c[9720]|0))c[d>>2]=yf()|0;if(!(c[d>>2]|0)){c[9720]=1;c[d>>2]=zf()|0}if(!(c[d>>2]|0)){Af(c[9711]|0,c[9712]|0,c[9713]|0);c[9716]=1}c[9717]=0}c[9721]=(c[9721]|0)+ -1;if((c[9721]|0)<=0)c[9722]=0;c[b>>2]=c[d>>2];f=c[b>>2]|0;i=a;return f|0}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Zb()|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];a=c[e>>2]|0;i=d;return a|0}$b(c[f>>2]|0);b=c[32]|0;if((c[g>>2]|0)!=0|(c[32]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[32]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[32]|0)+12>>2]=c[f>>2]}c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}function $b(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if((c[32]|0)==(c[d>>2]|0)){c[32]=c[(c[d>>2]|0)+12>>2];i=b;return}if(!(c[32]|0)){i=b;return}c[e>>2]=c[32];while(1){if(c[(c[e>>2]|0)+12>>2]|0)f=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else f=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!f)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=b;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=b;return}function ac(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+16|0;j=f+12|0;g=f;h=f+8|0;c[k>>2]=a;c[j>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[38]=c[k>>2];c[39]=c[j>>2];d=g;b=c[d+4>>2]|0;a=144|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[h>>2]=ME(0)|0;a=g;b=c[a+4>>2]|0;if(!((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)){k=0;k=k&1;c[43]=k;i=f;return 0}j=g;b=c[j+4>>2]|0;k=c[h>>2]|0;a=((k|0)<0)<<31>>31;k=(b|0)<(a|0)|((b|0)==(a|0)?(c[j>>2]|0)>>>0<=k>>>0:0);k=k&1;c[43]=k;i=f;return 0}function cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+48|0;e=d+24|0;g=d+16|0;f=d+8|0;h=d;j=d+32|0;k=g;c[k>>2]=a;c[k+4>>2]=b;c[j>>2]=Zb()|0;if(c[j>>2]|0){j=e;c[j>>2]=-1;c[j+4>>2]=-1;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}a=144|0;j=c[a+4>>2]|0;k=f;c[k>>2]=c[a>>2];c[k+4>>2]=j;if((c[g+4>>2]|0)<0){a=f;k=c[a+4>>2]|0;j=e;c[j>>2]=c[a>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}k=g;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0){k=g;bc(2,0,c[k>>2]|0,c[k+4>>2]|0)|0}else bc(0,0,0,0)|0;k=ec()|0;j=g;j=ZE(k|0,D|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=h;c[k>>2]=j;c[k+4>>2]=D;k=h;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0)ac(c[h>>2]&2147483647)|0;a=f;k=c[a+4>>2]|0;j=e;c[j>>2]=c[a>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}function dc(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+16|0;g=f+8|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;ac(c[g>>2]|0)|0;i=f;return}function ec(){var a=0,b=0,d=0,e=0;b=i;i=i+16|0;e=b+12|0;a=b;Pb(0,e,b+8|0,0)|0;e=c[e>>2]|0;d=a;c[d>>2]=e;c[d+4>>2]=((e|0)<0)<<31>>31;D=c[a+4>>2]|0;i=b;return c[a>>2]|0}function fc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Zb()|0){c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}if((c[e>>2]|0)<=0)a=0;else{a=c[e>>2]|0;a=gc(a,((a|0)<0)<<31>>31)|0}c[d>>2]=a;e=c[d>>2]|0;i=b;return e|0}function gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d;e=d+8|0;g=f;c[g>>2]=a;c[g+4>>2]=b;g=f;a=f;b=c[a+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(b>>>0>0|(b|0)==0&(c[a>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=d;return g|0}if(c[9660]|0){PE(c[f>>2]|0,e)|0;g=c[e>>2]|0;i=d;return g|0}else{c[e>>2]=ub[c[38640+36>>2]&31](c[f>>2]|0)|0;g=c[e>>2]|0;i=d;return g|0}return 0}function hc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if(c[9660]|0){ic(0,0-(Tb(c[d>>2]|0)|0)|0);ic(9,-1);rb[c[38640+40>>2]&31](c[d>>2]|0);i=b;return}else{rb[c[38640+40>>2]&31](c[d>>2]|0);i=b;return}}function ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=48+(c[e>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[48+(c[e>>2]<<2)>>2]|0)<=(c[88+(c[e>>2]<<2)>>2]|0)){i=d;return}c[88+(c[e>>2]<<2)>>2]=c[48+(c[e>>2]<<2)>>2];i=d;return}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;g=d+4|0;f=d;c[g>>2]=a;c[f>>2]=b;if(Zb()|0){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[e>>2]=kc(c[g>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[e>>2]|0;i=d;return a|0}function kc(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,l=0,m=0,n=0;k=i;i=i+32|0;f=k+28|0;g=k+24|0;e=k;l=k+20|0;j=k+16|0;m=k+12|0;h=k+8|0;c[g>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;d=e;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[g>>2]|0)){c[f>>2]=gc(b,d)|0;a=c[f>>2]|0;i=k;return a|0}if((b|0)==0&(d|0)==0){hc(c[g>>2]|0);c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}a=e;b=c[a+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}c[l>>2]=Tb(c[g>>2]|0)|0;c[j>>2]=ub[c[38640+52>>2]&31](c[e>>2]|0)|0;do if((c[l>>2]|0)!=(c[j>>2]|0)){if(!(c[9660]|0)){c[h>>2]=zb[c[38640+44>>2]&63](c[g>>2]|0,c[j>>2]|0)|0;break}Bg(5,c[e>>2]|0);c[m>>2]=(c[j>>2]|0)-(c[l>>2]|0);b=ME(0)|0;n=((b|0)<0)<<31>>31;d=144|0;a=c[m>>2]|0;a=ZE(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=D;if((n|0)>(d|0)|(n|0)==(d|0)&b>>>0>=a>>>0)NE(c[m>>2]|0);c[h>>2]=zb[c[38640+44>>2]&63](c[g>>2]|0,c[j>>2]|0)|0;if((c[h>>2]|0)==0&(c[38]|0)!=0){NE(c[e>>2]|0);c[h>>2]=zb[c[38640+44>>2]&63](c[g>>2]|0,c[j>>2]|0)|0}if(c[h>>2]|0){c[j>>2]=Tb(c[h>>2]|0)|0;ic(0,(c[j>>2]|0)-(c[l>>2]|0)|0)}}else c[h>>2]=c[g>>2];while(0);c[f>>2]=c[h>>2];n=c[f>>2]|0;i=k;return n|0}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;if(Zb()|0){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}else{a=h;c[f>>2]=kc(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}return 0}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+128|0;f=e+40|0;k=e+36|0;j=e+32|0;g=e+28|0;h=e;c[k>>2]=b;c[j>>2]=d;if(Zb()|0){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}else{nc(h,e+44|0,70,1e9);a[h+24>>0]=2;oc(h,0,c[k>>2]|0,c[j>>2]|0);c[g>>2]=pc(h)|0;c[f>>2]=c[g>>2];b=c[f>>2]|0;i=e;return b|0}return 0}function nc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;b=c[l>>2]|0;c[(c[h>>2]|0)+4>>2]=b;c[(c[h>>2]|0)+8>>2]=b;c[c[h>>2]>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[(c[h>>2]|0)+16>>2]=c[k>>2];c[(c[h>>2]|0)+20>>2]=c[j>>2];a[(c[h>>2]|0)+24>>0]=1;a[(c[h>>2]|0)+25>>0]=0;i=g;return}function oc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=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,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.0;m=i;i=i+272|0;Y=m+172|0;ra=m+168|0;q=m+164|0;z=m+160|0;p=m+156|0;I=m+152|0;A=m+148|0;J=m+144|0;G=m+140|0;o=m+136|0;r=m+264|0;s=m+263|0;t=m+262|0;w=m+261|0;u=m+260|0;v=m+259|0;B=m+258|0;C=m+257|0;n=m+256|0;F=m+255|0;x=m+254|0;ia=m+253|0;Q=m+252|0;ma=m+32|0;P=m+24|0;E=m+132|0;X=m+128|0;ja=m+124|0;W=m+120|0;S=m+116|0;V=m+112|0;j=m+108|0;R=m+16|0;Z=m+251|0;U=m+250|0;y=m+104|0;H=m+180|0;qa=m+8|0;pa=m+100|0;oa=m+96|0;na=m+179|0;ka=m+92|0;la=m+178|0;T=m;$=m+88|0;_=m+84|0;ea=m+80|0;ha=m+76|0;ca=m+72|0;da=m+68|0;ba=m+64|0;ga=m+60|0;fa=m+177|0;K=m+176|0;aa=m+56|0;L=m+52|0;M=m+48|0;N=m+44|0;O=m+40|0;c[Y>>2]=b;c[ra>>2]=e;c[q>>2]=f;c[z>>2]=g;a[F>>0]=0;c[W>>2]=0;c[y>>2]=0;c[I>>2]=0;if(c[ra>>2]|0){g=c[ra>>2]&2;a[x>>0]=g;if(g&255){b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[y>>2]=g}a[ia>>0]=c[ra>>2]&1}else{a[ia>>0]=0;a[x>>0]=0}a:while(1){g=a[c[q>>2]>>0]|0;c[p>>2]=g;if(!g){l=274;break}if((c[p>>2]|0)!=37){c[I>>2]=c[q>>2];do{c[q>>2]=(c[q>>2]|0)+1;if(!(a[c[q>>2]>>0]|0))break}while((a[c[q>>2]>>0]|0)!=37);Vm(c[Y>>2]|0,c[I>>2]|0,(c[q>>2]|0)-(c[I>>2]|0)|0);if(!(a[c[q>>2]>>0]|0)){l=274;break}}g=(c[q>>2]|0)+1|0;c[q>>2]=g;g=a[g>>0]|0;c[p>>2]=g;if(!g){l=13;break}a[v>>0]=0;a[u>>0]=0;a[w>>0]=0;a[t>>0]=0;a[s>>0]=0;a[r>>0]=0;a[n>>0]=0;do{switch(c[p>>2]|0){case 45:{a[r>>0]=1;break};case 43:{a[s>>0]=1;break};case 32:{a[t>>0]=1;break};case 33:{a[u>>0]=1;break};case 48:{a[v>>0]=1;break};case 35:{a[w>>0]=1;break};default:a[n>>0]=1}if(a[n>>0]|0)break;g=(c[q>>2]|0)+1|0;c[q>>2]=g;g=a[g>>0]|0;c[p>>2]=g}while((g|0)!=0);c[o>>2]=0;b:do if((c[p>>2]|0)==42){if(a[x>>0]|0){g=HE(c[y>>2]|0)|0;c[o>>2]=g}else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[o>>2]=g}if((c[o>>2]|0)<0){a[r>>0]=1;c[o>>2]=0-(c[o>>2]|0)}g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0]}else while(1){if(!((c[p>>2]|0)>=48&(c[p>>2]|0)<=57))break b;c[o>>2]=((c[o>>2]|0)*10|0)+(c[p>>2]|0)-48;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0]}while(0);c:do if((c[p>>2]|0)==46){c[A>>2]=0;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0];if((c[p>>2]|0)!=42)while(1){if(!((c[p>>2]|0)>=48&(c[p>>2]|0)<=57))break c;c[A>>2]=((c[A>>2]|0)*10|0)+(c[p>>2]|0)-48;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0]}if(a[x>>0]|0){g=HE(c[y>>2]|0)|0;c[A>>2]=g}else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[A>>2]=g}if((c[A>>2]|0)<0)c[A>>2]=0-(c[A>>2]|0);g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0]}else c[A>>2]=-1;while(0);do if((c[p>>2]|0)==108){a[B>>0]=1;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0];if((c[p>>2]|0)==108){a[C>>0]=1;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0];break}else{a[C>>0]=0;break}}else{a[C>>0]=0;a[B>>0]=0}while(0);c[E>>2]=38392;a[F>>0]=0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=23)break;ra=c[G>>2]|0;if((c[p>>2]|0)==(a[38392+((c[G>>2]|0)*6|0)>>0]|0)){l=53;break}c[G>>2]=ra+1}if((l|0)==53){l=0;c[E>>2]=38392+(ra*6|0);if((d[ia>>0]|0)==0?(d[(c[E>>2]|0)+2>>0]&2|0)!=0:0){l=274;break}a[F>>0]=a[(c[E>>2]|0)+3>>0]|0}d:do switch(d[F>>0]|0){case 14:{a[C>>0]=0;a[B>>0]=1;l=59;break};case 1:case 16:{l=59;break};case 4:case 3:case 2:{if(a[x>>0]|0)h[P>>3]=+IE(c[y>>2]|0);else{g=c[z>>2]|0;b=c[g>>2]|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];sa=+h[k>>3];c[g>>2]=b+8;h[P>>3]=sa}if((c[A>>2]|0)<0)c[A>>2]=6;do if(!(+h[P>>3]<0.0)){if(a[s>>0]|0){a[Q>>0]=43;break}if(a[t>>0]|0){a[Q>>0]=32;break}else{a[Q>>0]=0;break}}else{h[P>>3]=-+h[P>>3];a[Q>>0]=45}while(0);if((d[F>>0]|0)==4&(c[A>>2]|0)>0)c[A>>2]=(c[A>>2]|0)+ -1;c[G>>2]=c[A>>2];h[R>>3]=.5;while(1){if((c[G>>2]|0)<=0)break;c[G>>2]=(c[G>>2]|0)+ -1;h[R>>3]=+h[R>>3]*.1}if((d[F>>0]|0)==2)h[P>>3]=+h[P>>3]+ +h[R>>3];c[S>>2]=0;if($w(+h[P>>3])|0){c[I>>2]=38600;c[J>>2]=3;break d}if(+h[P>>3]>0.0){h[T>>3]=1.0;while(1){if(!((c[S>>2]|0)<=350?+h[P>>3]>=+h[T>>3]*1.0e+100:0))break;h[T>>3]=+h[T>>3]*1.0e+100;c[S>>2]=(c[S>>2]|0)+100}while(1){if(!((c[S>>2]|0)<=350?+h[P>>3]>=+h[T>>3]*1.0e+64:0))break;h[T>>3]=+h[T>>3]*1.0e+64;c[S>>2]=(c[S>>2]|0)+64}while(1){if(!((c[S>>2]|0)<=350?+h[P>>3]>=+h[T>>3]*1.0e8:0))break;h[T>>3]=+h[T>>3]*1.0e8;c[S>>2]=(c[S>>2]|0)+8}while(1){if(+h[P>>3]>=+h[T>>3]*10.0)ra=(c[S>>2]|0)<=350;else ra=0;sa=+h[T>>3];if(!ra)break;h[T>>3]=sa*10.0;c[S>>2]=(c[S>>2]|0)+1}h[P>>3]=+h[P>>3]/sa;while(1){if(!(+h[P>>3]<1.0e-8))break;h[P>>3]=+h[P>>3]*1.0e8;c[S>>2]=(c[S>>2]|0)-8}while(1){if(!(+h[P>>3]<1.0))break;h[P>>3]=+h[P>>3]*10.0;c[S>>2]=(c[S>>2]|0)+ -1}if((c[S>>2]|0)>350){do if((a[Q>>0]|0)!=45)if((a[Q>>0]|0)==43){c[I>>2]=38616;break}else{c[I>>2]=38624;break}else c[I>>2]=38608;while(0);c[J>>2]=Mb(c[I>>2]|0)|0;break d}}c[I>>2]=H;if((d[F>>0]|0)!=2?(h[P>>3]=+h[P>>3]+ +h[R>>3],+h[P>>3]>=10.0):0){h[P>>3]=+h[P>>3]*.1;c[S>>2]=(c[S>>2]|0)+1}e:do if((d[F>>0]|0)==4){a[U>>0]=((a[w>>0]|0)!=0^1)&1;do if((c[S>>2]|0)>=-4){if((c[S>>2]|0)>(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)-(c[S>>2]|0);a[F>>0]=2;break e}while(0);a[F>>0]=3}else a[U>>0]=a[u>>0]|0;while(0);if((d[F>>0]|0)==3)c[V>>2]=0;else c[V>>2]=c[S>>2];if((((c[V>>2]|0)>0?c[V>>2]|0:0)+(c[A>>2]|0)+(c[o>>2]|0)|0)>55?(g=((c[V>>2]|0)>0?c[V>>2]|0:0)+(c[A>>2]|0)+(c[o>>2]|0)+15|0,g=gc(g,((g|0)<0)<<31>>31)|0,c[W>>2]=g,c[I>>2]=g,(c[I>>2]|0)==0):0){l=167;break a}c[X>>2]=c[I>>2];c[j>>2]=16+((d[u>>0]|0)*10|0);a[Z>>0]=((c[A>>2]|0)>0?1:0)|d[w>>0]|d[u>>0];if(a[Q>>0]|0){b=a[Q>>0]|0;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b}f:do if((c[V>>2]|0)<0){g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=48}else while(1){if((c[V>>2]|0)<0)break f;b=JE(P,j)|0;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b;c[V>>2]=(c[V>>2]|0)+ -1}while(0);if(a[Z>>0]|0){g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=46}c[V>>2]=(c[V>>2]|0)+1;while(1){if((c[V>>2]|0)>=0)break;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=48;c[A>>2]=(c[A>>2]|0)+ -1;c[V>>2]=(c[V>>2]|0)+1}while(1){g=c[A>>2]|0;c[A>>2]=g+ -1;if((g|0)<=0)break;b=JE(P,j)|0;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b}do if(d[U>>0]|0){if(!(d[Z>>0]|0))break;while(1){ra=(c[I>>2]|0)+ -1|0;if((a[(c[I>>2]|0)+ -1>>0]|0)!=48)break;c[I>>2]=ra;a[ra>>0]=0}if((a[ra>>0]|0)!=46)break;ra=c[I>>2]|0;if(a[u>>0]|0){c[I>>2]=ra+1;a[ra>>0]=48;break}else{g=ra+ -1|0;c[I>>2]=g;a[g>>0]=0;break}}while(0);if((d[F>>0]|0)==3){ra=a[38552+(d[(c[E>>2]|0)+4>>0]|0)>>0]|0;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=ra;g=(c[S>>2]|0)<0;ra=c[I>>2]|0;c[I>>2]=ra+1;if(g){a[ra>>0]=45;c[S>>2]=0-(c[S>>2]|0)}else a[ra>>0]=43;if((c[S>>2]|0)>=100){b=((c[S>>2]|0)/100|0)+48&255;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b;c[S>>2]=(c[S>>2]|0)%100|0}g=((c[S>>2]|0)/10|0)+48&255;b=c[I>>2]|0;c[I>>2]=b+1;a[b>>0]=g;b=((c[S>>2]|0)%10|0)+48&255;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b}a[c[I>>2]>>0]=0;c[J>>2]=(c[I>>2]|0)-(c[X>>2]|0);c[I>>2]=c[X>>2];if((d[v>>0]|0)==0|(a[r>>0]|0)!=0)break d;if((c[J>>2]|0)>=(c[o>>2]|0))break d;c[_>>2]=(c[o>>2]|0)-(c[J>>2]|0);c[$>>2]=c[o>>2];while(1){if((c[$>>2]|0)<(c[_>>2]|0))break;a[(c[I>>2]|0)+(c[$>>2]|0)>>0]=a[(c[I>>2]|0)+((c[$>>2]|0)-(c[_>>2]|0))>>0]|0;c[$>>2]=(c[$>>2]|0)+ -1}c[$>>2]=(a[Q>>0]|0)!=0&1;while(1){g=c[_>>2]|0;c[_>>2]=g+ -1;if(!g)break;g=c[$>>2]|0;c[$>>2]=g+1;a[(c[I>>2]|0)+g>>0]=48}c[J>>2]=c[o>>2];break};case 5:{if(!(a[x>>0]|0)){b=c[(c[Y>>2]|0)+12>>2]|0;e=c[z>>2]|0;f=c[e>>2]|0;g=c[f>>2]|0;c[e>>2]=f+4;c[g>>2]=b}c[o>>2]=0;c[J>>2]=0;break};case 8:{a[H>>0]=37;c[I>>2]=H;c[J>>2]=1;break};case 9:{if(a[x>>0]|0){c[I>>2]=KE(c[y>>2]|0)|0;if(c[I>>2]|0)ra=a[c[I>>2]>>0]|0;else ra=0;c[p>>2]=ra}else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=g}if((c[A>>2]|0)>1){c[o>>2]=(c[o>>2]|0)-((c[A>>2]|0)-1);if(!((c[o>>2]|0)<=1|(a[r>>0]|0)!=0)){LE(c[Y>>2]|0,(c[o>>2]|0)-1|0,32);c[o>>2]=0}LE(c[Y>>2]|0,(c[A>>2]|0)-1|0,c[p>>2]&255)}c[J>>2]=1;a[H>>0]=c[p>>2];c[I>>2]=H;break};case 7:case 6:{if(a[x>>0]|0)c[I>>2]=KE(c[y>>2]|0)|0;else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[I>>2]=g}if(c[I>>2]|0){if(!((d[F>>0]|0)!=7|(a[x>>0]|0)!=0))c[W>>2]=c[I>>2]}else c[I>>2]=1216;if((c[A>>2]|0)<0){c[J>>2]=Mb(c[I>>2]|0)|0;break d}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[A>>2]|0))break d;if(!(a[(c[I>>2]|0)+(c[J>>2]|0)>>0]|0))break d;c[J>>2]=(c[J>>2]|0)+1}};case 15:case 11:case 10:{a[K>>0]=(d[F>>0]|0)==15?34:39;if(a[x>>0]|0)c[aa>>2]=KE(c[y>>2]|0)|0;else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[aa>>2]=g}c[ba>>2]=(c[aa>>2]|0)==0&1;if(c[ba>>2]|0)c[aa>>2]=(d[F>>0]|0)==11?9840:38632;c[ca>>2]=c[A>>2];c[da>>2]=0;c[ea>>2]=0;while(1){if(!(c[ca>>2]|0))break;g=a[(c[aa>>2]|0)+(c[ea>>2]|0)>>0]|0;a[fa>>0]=g;if(!(g<<24>>24))break;if((a[fa>>0]|0)==(a[K>>0]|0))c[da>>2]=(c[da>>2]|0)+1;c[ea>>2]=(c[ea>>2]|0)+1;c[ca>>2]=(c[ca>>2]|0)+ -1}if(c[ba>>2]|0)ra=0;else ra=(d[F>>0]|0)==11;c[ga>>2]=ra&1;c[da>>2]=(c[da>>2]|0)+((c[ea>>2]|0)+1+(c[ga>>2]<<1));if((c[da>>2]|0)>70){g=c[da>>2]|0;g=gc(g,((g|0)<0)<<31>>31)|0;c[W>>2]=g;c[I>>2]=g;if(!(c[I>>2]|0)){l=247;break a}}else c[I>>2]=H;c[ha>>2]=0;if(c[ga>>2]|0){b=a[K>>0]|0;g=c[ha>>2]|0;c[ha>>2]=g+1;a[(c[I>>2]|0)+g>>0]=b}c[ca>>2]=c[ea>>2];c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[ca>>2]|0))break;b=a[(c[aa>>2]|0)+(c[ea>>2]|0)>>0]|0;a[fa>>0]=b;g=c[ha>>2]|0;c[ha>>2]=g+1;a[(c[I>>2]|0)+g>>0]=b;if((a[fa>>0]|0)==(a[K>>0]|0)){b=a[fa>>0]|0;g=c[ha>>2]|0;c[ha>>2]=g+1;a[(c[I>>2]|0)+g>>0]=b}c[ea>>2]=(c[ea>>2]|0)+1}if(c[ga>>2]|0){b=a[K>>0]|0;g=c[ha>>2]|0;c[ha>>2]=g+1;a[(c[I>>2]|0)+g>>0]=b}a[(c[I>>2]|0)+(c[ha>>2]|0)>>0]=0;c[J>>2]=c[ha>>2];break};case 12:{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[L>>2]=g;if((c[L>>2]|0)!=0?(c[(c[L>>2]|0)+4>>2]|0)!=0:0)Vm(c[Y>>2]|0,c[c[L>>2]>>2]|0,c[(c[L>>2]|0)+4>>2]|0);c[o>>2]=0;c[J>>2]=0;break};case 13:{e=c[z>>2]|0;g=c[e>>2]|0;b=c[g>>2]|0;c[e>>2]=g+4;c[M>>2]=b;b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[N>>2]=g;c[O>>2]=(c[M>>2]|0)+8+((c[N>>2]|0)*72|0);if(c[(c[O>>2]|0)+4>>2]|0){ss(c[Y>>2]|0,c[(c[O>>2]|0)+4>>2]|0);Vm(c[Y>>2]|0,19120,1)}ss(c[Y>>2]|0,c[(c[O>>2]|0)+8>>2]|0);c[o>>2]=0;c[J>>2]=0;break};default:{l=274;break a}}while(0);if((l|0)==59){l=0;ra=(a[x>>0]|0)!=0;do if(d[(c[E>>2]|0)+2>>0]&1){do if(!ra){ra=c[z>>2]|0;if(a[C>>0]|0){g=c[ra>>2]|0;b=g;e=c[b>>2]|0;b=c[b+4>>2]|0;c[ra>>2]=g+8;g=qa;c[g>>2]=e;c[g+4>>2]=b;break}else{g=c[ra>>2]|0;b=c[g>>2]|0;c[ra>>2]=g+4;g=qa;c[g>>2]=b;c[g+4>>2]=((b|0)<0)<<31>>31;break}}else{b=HE(c[y>>2]|0)|0;g=qa;c[g>>2]=b;c[g+4>>2]=D}while(0);ra=qa;f=c[ra>>2]|0;ra=c[ra+4>>2]|0;if((c[qa+4>>2]|0)<0){if((f|0)==0&(ra|0)==-2147483648){g=ma;c[g>>2]=0;c[g+4>>2]=-2147483648}else{b=qa;b=ZE(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;g=ma;c[g>>2]=b;c[g+4>>2]=D}a[Q>>0]=45;break}g=ma;c[g>>2]=f;c[g+4>>2]=ra;if(a[s>>0]|0){a[Q>>0]=43;break}if(a[t>>0]|0){a[Q>>0]=32;break}else{a[Q>>0]=0;break}}else{do if(!ra){ra=c[z>>2]|0;if(a[C>>0]|0){g=c[ra>>2]|0;b=g;e=c[b>>2]|0;b=c[b+4>>2]|0;c[ra>>2]=g+8;g=ma;c[g>>2]=e;c[g+4>>2]=b;break}else{g=c[ra>>2]|0;b=c[g>>2]|0;c[ra>>2]=g+4;g=ma;c[g>>2]=b;c[g+4>>2]=0;break}}else{b=HE(c[y>>2]|0)|0;g=ma;c[g>>2]=b;c[g+4>>2]=D}while(0);a[Q>>0]=0}while(0);g=ma;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0)a[w>>0]=0;if((d[v>>0]|0)!=0?(c[A>>2]|0)<((c[o>>2]|0)-((a[Q>>0]|0)!=0&1)|0):0)c[A>>2]=(c[o>>2]|0)-((a[Q>>0]|0)!=0&1);if((c[A>>2]|0)>=60){c[ja>>2]=(c[A>>2]|0)+10;g=c[ja>>2]|0;g=gc(g,((g|0)<0)<<31>>31)|0;c[W>>2]=g;c[X>>2]=g;if(!(c[X>>2]|0)){l=89;break}}else{c[ja>>2]=70;c[X>>2]=H}c[I>>2]=(c[X>>2]|0)+((c[ja>>2]|0)-1);if((d[F>>0]|0)==16){g=ma;g=nF(c[g>>2]|0,c[g+4>>2]|0,10,0)|0;c[pa>>2]=g;if(!((c[pa>>2]|0)<4?(g=ma,g=mF(c[g>>2]|0,c[g+4>>2]|0,10,0)|0,g=nF(g|0,D|0,10,0)|0,!((g|0)==1&(D|0)==0)):0))c[pa>>2]=0;g=a[(c[pa>>2]<<1)+38537>>0]|0;b=(c[I>>2]|0)+ -1|0;c[I>>2]=b;a[b>>0]=g;b=a[38536+(c[pa>>2]<<1)>>0]|0;g=(c[I>>2]|0)+ -1|0;c[I>>2]=g;a[g>>0]=b}c[oa>>2]=38552+(d[(c[E>>2]|0)+4>>0]|0);a[na>>0]=a[(c[E>>2]|0)+1>>0]|0;do{g=ma;g=nF(c[g>>2]|0,c[g+4>>2]|0,d[na>>0]|0,0)|0;g=a[(c[oa>>2]|0)+g>>0]|0;b=(c[I>>2]|0)+ -1|0;c[I>>2]=b;a[b>>0]=g;b=ma;b=mF(c[b>>2]|0,c[b+4>>2]|0,d[na>>0]|0,0)|0;g=ma;c[g>>2]=b;c[g+4>>2]=D;g=ma;b=c[g+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[g>>2]|0)>>>0>0);c[J>>2]=(c[X>>2]|0)+((c[ja>>2]|0)-1)-(c[I>>2]|0);c[G>>2]=(c[A>>2]|0)-(c[J>>2]|0);while(1){if((c[G>>2]|0)<=0)break;g=(c[I>>2]|0)+ -1|0;c[I>>2]=g;a[g>>0]=48;c[G>>2]=(c[G>>2]|0)+ -1}if(a[Q>>0]|0){b=a[Q>>0]|0;g=(c[I>>2]|0)+ -1|0;c[I>>2]=g;a[g>>0]=b}g:do if((d[w>>0]|0)!=0?(d[(c[E>>2]|0)+5>>0]|0)!=0:0){c[ka>>2]=38592+(d[(c[E>>2]|0)+5>>0]|0);while(1){g=a[c[ka>>2]>>0]|0;a[la>>0]=g;if(!(g<<24>>24))break g;b=a[la>>0]|0;g=(c[I>>2]|0)+ -1|0;c[I>>2]=g;a[g>>0]=b;c[ka>>2]=(c[ka>>2]|0)+1}}while(0);c[J>>2]=(c[X>>2]|0)+((c[ja>>2]|0)-1)-(c[I>>2]|0)}c[o>>2]=(c[o>>2]|0)-(c[J>>2]|0);if(!((c[o>>2]|0)<=0|(a[r>>0]|0)!=0))LE(c[Y>>2]|0,c[o>>2]|0,32);Vm(c[Y>>2]|0,c[I>>2]|0,c[J>>2]|0);if((c[o>>2]|0)>0?(d[r>>0]|0)!=0:0)LE(c[Y>>2]|0,c[o>>2]|0,32);if(c[W>>2]|0){hc(c[W>>2]|0);c[W>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if((l|0)==13){Vm(c[Y>>2]|0,38384,1);i=m;return}else if((l|0)==89){Ym(c[Y>>2]|0,1);i=m;return}else if((l|0)==167){Ym(c[Y>>2]|0,1);i=m;return}else if((l|0)==247){Ym(c[Y>>2]|0,1);i=m;return}else if((l|0)==274){i=m;return}}function pc(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(d[(c[e>>2]|0)+24>>0]|0|0)!=0):0)?(c[(c[e>>2]|0)+8>>2]|0)==(c[(c[e>>2]|0)+4>>2]|0):0){b=c[e>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){g=(c[(c[e>>2]|0)+12>>2]|0)+1|0;b=Qe(c[b>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[e>>2]|0)+8>>2]=b}else{g=fc((c[b+12>>2]|0)+1|0)|0;c[(c[e>>2]|0)+8>>2]=g}b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){dF(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;break}else{Ym(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+28|0;h=d+24|0;g=d+8|0;f=d;c[h>>2]=a;if(Zb()|0){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}else{c[g>>2]=b;c[f>>2]=mc(c[h>>2]|0,g)|0;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}return 0}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;h=l+44|0;m=l+40|0;n=l+36|0;g=l+32|0;k=l+28|0;j=l;c[m>>2]=b;c[n>>2]=d;c[g>>2]=e;c[k>>2]=f;f=c[n>>2]|0;if((c[m>>2]|0)<=0){c[h>>2]=f;n=c[h>>2]|0;i=l;return n|0}else{nc(j,f,c[m>>2]|0,0);a[j+24>>0]=0;oc(j,0,c[g>>2]|0,c[k>>2]|0);c[h>>2]=pc(j)|0;n=c[h>>2]|0;i=l;return n|0}return 0}function sc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=rc(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;g=e+20|0;h=e+16|0;f=e;c[g>>2]=a;c[h>>2]=b;if(!(c[9723]|0)){i=e;return}c[f>>2]=d;uc(c[g>>2]|0,c[h>>2]|0,f);i=e;return}function uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+256|0;j=f+36|0;k=f+32|0;g=f+28|0;h=f;c[j>>2]=b;c[k>>2]=d;c[g>>2]=e;nc(h,f+40|0,210,0);a[h+24>>0]=0;oc(h,0,c[k>>2]|0,c[g>>2]|0);g=c[9723]|0;e=c[9724]|0;d=c[j>>2]|0;b=pc(h)|0;vb[g&63](e,d,b);i=f;return}function vc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+288|0;j=f+12|0;m=f+8|0;g=f+272|0;h=f+4|0;k=f;l=f+16|0;c[j>>2]=b;c[m>>2]=e;c[h>>2]=c[m>>2];if((c[j>>2]|0)<=0){a[176]=0;i=f;return}if(!(a[176]|0)){a[178]=0;a[177]=0;wc(Yb(0)|0,256,l)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;a[(c[k>>2]|0)+179>>0]=c[k>>2];c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;a[178]=(d[178]|0)+((d[(c[k>>2]|0)+179>>0]|0)+(a[l+(c[k>>2]|0)>>0]|0));a[g>>0]=a[(d[178]|0)+179>>0]|0;a[(d[178]|0)+179>>0]=a[(c[k>>2]|0)+179>>0]|0;a[(c[k>>2]|0)+179>>0]=a[g>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[176]=1}do{a[177]=(a[177]|0)+1<<24>>24;a[g>>0]=a[(d[177]|0)+179>>0]|0;a[178]=(d[178]|0)+(d[g>>0]|0);a[(d[177]|0)+179>>0]=a[(d[178]|0)+179>>0]|0;a[(d[178]|0)+179>>0]=a[g>>0]|0;a[g>>0]=(d[g>>0]|0)+(d[(d[177]|0)+179>>0]|0);b=a[(d[g>>0]|0)+179>>0]|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=b;m=(c[j>>2]|0)+ -1|0;c[j>>2]=m}while((m|0)!=0);i=f;return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=pb[c[(c[h>>2]|0)+56>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function xc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;c[j>>2]=a;c[h>>2]=b;c[g>>2]=c[j>>2];c[f>>2]=c[h>>2];while(1){if(d[c[g>>2]>>0]|0)a=(d[440+(d[c[g>>2]>>0]|0)>>0]|0|0)==(d[440+(d[c[f>>2]>>0]|0)>>0]|0|0);else a=0;b=c[g>>2]|0;if(!a)break;c[g>>2]=b+1;c[f>>2]=(c[f>>2]|0)+1}i=e;return(d[440+(d[b>>0]|0)>>0]|0)-(d[440+(d[c[f>>2]>>0]|0)>>0]|0)|0}function yc(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=0;while(1){if((c[b>>2]|0)>>>0>=4)break;_b(696+((c[b>>2]|0)*88|0)|0,(c[b>>2]|0)==0&1)|0;c[b>>2]=(c[b>>2]|0)+1}i=a;return 0}function zc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;q=i;i=i+624|0;p=q+92|0;A=q+88|0;C=q+84|0;B=q+80|0;k=q+76|0;H=q+72|0;s=q+68|0;r=q+64|0;t=q+60|0;j=q+56|0;F=q+52|0;n=q+48|0;D=q+44|0;w=q+40|0;G=q+36|0;v=q+32|0;o=q+28|0;u=q+24|0;E=q+20|0;m=q+96|0;z=q+16|0;l=q+12|0;x=q+8|0;y=q+4|0;g=q;c[A>>2]=a;c[C>>2]=b;c[B>>2]=d;c[k>>2]=e;c[H>>2]=f;c[s>>2]=c[B>>2];c[r>>2]=-1;c[t>>2]=0;c[j>>2]=c[k>>2]&-256;c[n>>2]=0;c[D>>2]=0;c[w>>2]=c[k>>2]&16;c[G>>2]=c[k>>2]&8;c[v>>2]=c[k>>2]&4;c[o>>2]=c[k>>2]&1;c[u>>2]=c[k>>2]&2;if(c[v>>2]|0)if((c[j>>2]|0)==16384|(c[j>>2]|0)==2048)f=1;else f=(c[j>>2]|0)==524288;else f=0;c[E>>2]=f&1;c[z>>2]=c[C>>2];a=c[9524]|0;if((a|0)!=(Ka()|0)){c[9524]=Ka()|0;vc(0,0)}e=(c[s>>2]|0)+0|0;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));f=c[z>>2]|0;do if((c[j>>2]|0)!=256){if(!f){c[n>>2]=bE(514,m)|0;if(!(c[n>>2]|0)){c[z>>2]=m;break}c[p>>2]=c[n>>2];a=c[p>>2]|0;i=q;return a|0}}else{c[l>>2]=qE(f,c[k>>2]|0)|0;if(!(c[l>>2]|0)){c[l>>2]=fc(12)|0;if(!(c[l>>2]|0)){c[p>>2]=7;a=c[p>>2]|0;i=q;return a|0}}else c[r>>2]=c[c[l>>2]>>2];c[(c[s>>2]|0)+28>>2]=c[l>>2]}while(0);if(c[o>>2]|0)c[t>>2]=c[t>>2];if(c[u>>2]|0)c[t>>2]=c[t>>2]|2;if(c[v>>2]|0)c[t>>2]=c[t>>2]|64;if(c[w>>2]|0)c[t>>2]=c[t>>2]|131200;c[t>>2]=c[t>>2];do if((c[r>>2]|0)<0){c[n>>2]=rE(c[z>>2]|0,c[k>>2]|0,x,y,g)|0;if(c[n>>2]|0){c[p>>2]=c[n>>2];a=c[p>>2]|0;i=q;return a|0}c[r>>2]=ZD(c[z>>2]|0,c[t>>2]|0,c[x>>2]|0)|0;if((c[r>>2]|0)<0?(a=(c[(Ya()|0)>>2]|0)!=21,!(a&(c[u>>2]|0)!=0^1|(c[w>>2]|0)!=0)):0){c[k>>2]=c[k>>2]&-7;c[t>>2]=c[t>>2]&-67;c[k>>2]=c[k>>2]|1;c[t>>2]=c[t>>2];c[o>>2]=1;c[r>>2]=ZD(c[z>>2]|0,c[t>>2]|0,c[x>>2]|0)|0}if((c[r>>2]|0)<0){a=Ij(30591)|0;c[n>>2]=UD(a,37536,c[z>>2]|0,30591)|0;break}if(c[k>>2]&526336){pb[c[37192+244>>2]&31](c[r>>2]|0,c[y>>2]|0,c[g>>2]|0)|0;h=34}else h=34}else h=34;while(0);if((h|0)==34){if(c[H>>2]|0)c[c[H>>2]>>2]=c[k>>2];if(c[(c[s>>2]|0)+28>>2]|0){c[c[(c[s>>2]|0)+28>>2]>>2]=c[r>>2];c[(c[(c[s>>2]|0)+28>>2]|0)+4>>2]=c[k>>2]}if(c[G>>2]|0)ub[c[37192+196>>2]&31](c[z>>2]|0)|0;c[F>>2]=(c[j>>2]|0)!=256&1;if(c[G>>2]|0)c[D>>2]=c[D>>2]|32;if(c[o>>2]|0)c[D>>2]=c[D>>2]|2;if(c[F>>2]|0)c[D>>2]=c[D>>2]|128;if(c[E>>2]|0)c[D>>2]=c[D>>2]|8;if(c[k>>2]&64)c[D>>2]=c[D>>2]|64;c[n>>2]=sE(c[A>>2]|0,c[r>>2]|0,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}if(c[n>>2]|0)hc(c[(c[s>>2]|0)+28>>2]|0);c[p>>2]=c[n>>2];a=c[p>>2]|0;i=q;return a|0}function Ac(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;g=i;i=i+32|0;f=g+20|0;h=g+12|0;k=g+8|0;e=g+4|0;j=g;c[g+16>>2]=a;c[h>>2]=b;c[k>>2]=d;c[e>>2]=0;if((ub[c[37192+196>>2]&31](c[h>>2]|0)|0)==-1){if((c[(Ya()|0)>>2]|0)==2)c[e>>2]=5898;else c[e>>2]=UD(2570,37672,c[h>>2]|0,30729)|0;c[f>>2]=c[e>>2];a=c[f>>2]|0;i=g;return a|0}do if(c[k>>2]&1){c[e>>2]=zb[c[37192+208>>2]&63](c[h>>2]|0,j)|0;if(c[e>>2]|0){if((c[e>>2]|0)!=14)break;c[e>>2]=0;break}if(Xa(c[j>>2]|0)|0)c[e>>2]=UD(1290,38128,c[h>>2]|0,30744)|0;TD(0,c[j>>2]|0,30746)}while(0);c[f>>2]=c[e>>2];a=c[f>>2]|0;i=g;return a|0}function Bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+96|0;g=k+88|0;l=k+84|0;j=k+80|0;f=k+76|0;h=k;c[k+92>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=e;c[f>>2]=0;e=c[l>>2]|0;if((e|0)==2)c[f>>2]=4;else if(!e)c[f>>2]=0;else if((e|0)==1)c[f>>2]=6;a=(zb[c[37192+28>>2]&63](c[g>>2]|0,c[f>>2]|0)|0)==0&1;c[c[j>>2]>>2]=a;if(c[l>>2]|0){i=k;return 0}if(!(c[c[j>>2]>>2]|0)){i=k;return 0}if(zb[c[37192+52>>2]&63](c[g>>2]|0,h)|0){i=k;return 0}if(c[h+36>>2]|0){i=k;return 0}c[c[j>>2]>>2]=0;i=k;return 0}function Cc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h;l=h+24|0;k=h+16|0;m=h+12|0;g=h+8|0;n=h+4|0;c[h+20>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=f;a[(c[g>>2]|0)+((c[m>>2]|0)-1)>>0]=0;do if((a[c[k>>2]>>0]|0)==47){d=c[m>>2]|0;b=c[g>>2]|0;c[j>>2]=c[k>>2];sc(d,b,1200,j)|0}else{if(zb[c[37192+40>>2]&63](c[g>>2]|0,(c[m>>2]|0)-1|0)|0){c[n>>2]=aF(c[g>>2]|0)|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;b=(c[g>>2]|0)+(c[n>>2]|0)|0;c[j>>2]=c[k>>2];sc(d,b,38120,j)|0;break}b=Ij(30831)|0;c[l>>2]=UD(b,37544,c[k>>2]|0,30831)|0;b=c[l>>2]|0;i=h;return b|0}while(0);c[l>>2]=0;b=c[l>>2]|0;i=h;return b|0}function Dc(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;j=f;c[f+20>>2]=b;c[g>>2]=d;c[h>>2]=e;_E(c[h>>2]|0,0,c[g>>2]|0)|0;c[9524]=Ka()|0;c[k>>2]=ZD(38104,0,0)|0;if((c[k>>2]|0)<0){eb(j|0)|0;b=c[h>>2]|0;a[b+0>>0]=a[j+0>>0]|0;a[b+1>>0]=a[j+1>>0]|0;a[b+2>>0]=a[j+2>>0]|0;a[b+3>>0]=a[j+3>>0]|0;b=(c[h>>2]|0)+4|0;a[b+0>>0]=a[38096]|0;a[b+1>>0]=a[38097]|0;a[b+2>>0]=a[38098]|0;a[b+3>>0]=a[38099]|0;c[g>>2]=8;b=c[g>>2]|0;i=f;return b|0}do{c[l>>2]=pb[c[37192+100>>2]&31](c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if((c[l>>2]|0)>=0)break}while((c[(Ya()|0)>>2]|0)==4);TD(0,c[k>>2]|0,30936);b=c[g>>2]|0;i=f;return b|0}function Ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;bb(c[d>>2]|0)|0;i=e;return(c[d>>2]|0)*1e6|0}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=Hc(0,g)|0;a=g;h[c[f>>2]>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return 0}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;f=d+12|0;e=d+8|0;g=d;c[d+16>>2]=a;c[f>>2]=b;c[e>>2]=0;if(!(hb(g|0,0)|0)){a=c[g>>2]|0;a=lF(1e3,0,a|0,((a|0)<0)<<31>>31|0)|0;a=bF(1045635584,49096,a|0,D|0)|0;g=(c[g+4>>2]|0)/1e3|0;g=bF(a|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=D;a=c[e>>2]|0;i=d;return a|0}else{c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}return 0}function Ic(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;g=i;i=i+32|0;k=g+12|0;j=g+8|0;h=g+4|0;f=g;c[g+16>>2]=a;c[k>>2]=b;c[j>>2]=d;c[f>>2]=12;if(!(c[k>>2]|0)){c[f>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=25)break;if(c[37200+((c[h>>2]|0)*12|0)>>2]|0)c[37196+((c[h>>2]|0)*12|0)>>2]=c[37200+((c[h>>2]|0)*12|0)>>2];c[h>>2]=(c[h>>2]|0)+1}a=c[f>>2]|0;i=g;return a|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=25){e=16;break}a=(UE(c[k>>2]|0,c[37192+((c[h>>2]|0)*12|0)>>2]|0)|0)==0;d=c[h>>2]|0;if(a)break;c[h>>2]=d+1}if((e|0)==16){a=c[f>>2]|0;i=g;return a|0}if(!(c[37200+(d*12|0)>>2]|0))c[37200+((c[h>>2]|0)*12|0)>>2]=c[37196+((c[h>>2]|0)*12|0)>>2];c[f>>2]=0;if(!(c[j>>2]|0))c[j>>2]=c[37200+((c[h>>2]|0)*12|0)>>2];c[37196+((c[h>>2]|0)*12|0)>>2]=c[j>>2];a=c[f>>2]|0;i=g;return a|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+12|0;f=e+4|0;g=e;c[e+8>>2]=a;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=25){f=6;break}a=(UE(c[f>>2]|0,c[37192+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;b=c[g>>2]|0;if(a){f=4;break}c[g>>2]=b+1}if((f|0)==4){c[d>>2]=c[37196+(b*12|0)>>2];a=c[d>>2]|0;i=e;return a|0}else if((f|0)==6){c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}return 0}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+12|0;g=e+4|0;f=e;c[e+8>>2]=a;c[g>>2]=b;c[f>>2]=-1;a:do if(c[g>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=24)break a;if(!(UE(c[g>>2]|0,c[37192+((c[f>>2]|0)*12|0)>>2]|0)|0))break a;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[f>>2]=(c[f>>2]|0)+1;while(1){if((c[f>>2]|0)>=25){f=11;break}b=c[f>>2]|0;if(c[37196+((c[f>>2]|0)*12|0)>>2]|0){f=9;break}c[f>>2]=b+1}if((f|0)==9){c[d>>2]=c[37192+(b*12|0)>>2];a=c[d>>2]|0;i=e;return a|0}else if((f|0)==11){c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}return 0}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;g=k+24|0;l=k+20|0;h=k+16|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];d=c[f>>2]|0;if(!(c[l>>2]|0)){Nc(d,c[g>>2]|0);i=k;return}if((c[d+232>>2]|0)==0?(a=rf(c[f>>2]|0)|0,c[(c[f>>2]|0)+232>>2]=a,(a|0)==0):0){i=k;return}c[j>>2]=e;c[h>>2]=yn(c[f>>2]|0,c[l>>2]|0,j)|0;sf(c[(c[f>>2]|0)+232>>2]|0,-1,c[h>>2]|0,1,16);i=k;return}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d;e=d+8|0;g=f;c[g>>2]=a;c[g+4>>2]=b;a=f;c[e>>2]=gc(c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=d;return g|0}_E(c[e>>2]|0,0,c[f>>2]|0)|0;g=c[e>>2]|0;i=d;return g|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+52>>2]=c[f>>2];if(!(c[(c[e>>2]|0)+232>>2]|0)){i=d;return}wD(c[(c[e>>2]|0)+232>>2]|0);i=d;return}function Oc(a,b){a=a|0;b=b|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,z=0,A=0,B=0,C=0,E=0,F=0;o=i;i=i+112|0;e=o+108|0;E=o+104|0;m=o+100|0;z=o+96|0;h=o+92|0;A=o+88|0;r=o+84|0;l=o+80|0;F=o+76|0;y=o+72|0;s=o+68|0;B=o+64|0;C=o+60|0;t=o+56|0;v=o+52|0;k=o+16|0;n=o+48|0;u=o+44|0;x=o+40|0;j=o+8|0;g=o;w=o+36|0;p=o+32|0;q=o+28|0;f=o+24|0;c[e>>2]=a;c[E>>2]=b;c[h>>2]=0;c[A>>2]=0;Pc(c[(c[e>>2]|0)+24>>2]|0);c[m>>2]=c[(c[e>>2]|0)+28>>2];if(Qc(c[m>>2]|0)|0){a=c[m>>2]|0;i=o;return a|0}c[r>>2]=Sb(c[(c[e>>2]|0)+24>>2]|0)|0;c[l>>2]=Sb(c[(c[e>>2]|0)+4>>2]|0)|0;c[y>>2]=-1;c[s>>2]=0;if((c[c[e>>2]>>2]|0)!=0?(d[(c[(c[(c[e>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[m>>2]=5;else c[m>>2]=0;if((0==(c[m>>2]|0)?(c[(c[e>>2]|0)+12>>2]|0)==0:0)?(a=Rc(c[(c[e>>2]|0)+4>>2]|0,2)|0,c[m>>2]=a,0==(a|0)):0){c[(c[e>>2]|0)+12>>2]=1;Sc(c[(c[e>>2]|0)+4>>2]|0,1,(c[e>>2]|0)+8|0)}if((c[m>>2]|0)==0?0==(Tc(c[(c[e>>2]|0)+24>>2]|0)|0):0){c[m>>2]=Rc(c[(c[e>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[h>>2]=Uc(c[(c[e>>2]|0)+24>>2]|0)|0;c[A>>2]=Uc(c[(c[e>>2]|0)+4>>2]|0)|0;c[z>>2]=Vc(Sb(c[(c[e>>2]|0)+4>>2]|0)|0)|0;if(0==(c[m>>2]|0)&(c[z>>2]|0)==5?(c[h>>2]|0)!=(c[A>>2]|0):0)c[m>>2]=8;c[y>>2]=Wc(c[(c[e>>2]|0)+24>>2]|0)|0;c[F>>2]=0;while(1){if((c[E>>2]|0)>=0?(c[F>>2]|0)>=(c[E>>2]|0):0)break;if((c[m>>2]|0)!=0?1:(c[(c[e>>2]|0)+16>>2]|0)>>>0>(c[y>>2]|0)>>>0)break;c[B>>2]=c[(c[e>>2]|0)+16>>2];if((c[B>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[(c[(c[e>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[m>>2]=Xc(c[r>>2]|0,c[B>>2]|0,C,2)|0,(c[m>>2]|0)==0):0){b=c[e>>2]|0;a=c[B>>2]|0;c[m>>2]=Yc(b,a,Zc(c[C>>2]|0)|0,0)|0;_c(c[C>>2]|0)}a=(c[e>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+1}do if(!(c[m>>2]|0)){c[(c[e>>2]|0)+36>>2]=c[y>>2];c[(c[e>>2]|0)+32>>2]=(c[y>>2]|0)+1-(c[(c[e>>2]|0)+16>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)>>>0>(c[y>>2]|0)>>>0){c[m>>2]=101;break}if(!(c[(c[e>>2]|0)+40>>2]|0))$c(c[e>>2]|0)}while(0);if((c[m>>2]|0)==101){if(!(c[y>>2]|0)){c[m>>2]=ad(c[(c[e>>2]|0)+4>>2]|0)|0;c[y>>2]=1}if((c[m>>2]|0)==0|(c[m>>2]|0)==101)c[m>>2]=bd(c[(c[e>>2]|0)+4>>2]|0,1,(c[(c[e>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[m>>2]|0)){if(c[c[e>>2]>>2]|0)cd(c[c[e>>2]>>2]|0);if((c[z>>2]|0)==5)c[m>>2]=dd(c[(c[e>>2]|0)+4>>2]|0,2)|0}if(!(c[m>>2]|0)){if((c[h>>2]|0)<(c[A>>2]|0)){c[v>>2]=(c[A>>2]|0)/(c[h>>2]|0)|0;c[t>>2]=((c[y>>2]|0)+(c[v>>2]|0)-1|0)/(c[v>>2]|0)|0;if((c[t>>2]|0)==((((c[282]|0)>>>0)/((c[(c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[t>>2]=(c[t>>2]|0)+ -1}else c[t>>2]=$(c[y>>2]|0,(c[h>>2]|0)/(c[A>>2]|0)|0)|0;if((c[h>>2]|0)<(c[A>>2]|0)){a=c[h>>2]|0;F=c[y>>2]|0;F=lF(a|0,((a|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;a=k;c[a>>2]=F;c[a+4>>2]=D;c[n>>2]=ed(c[l>>2]|0)|0;fd(c[l>>2]|0,x);c[u>>2]=c[t>>2];while(1){if(c[m>>2]|0)break;if((c[u>>2]|0)>>>0>(c[x>>2]|0)>>>0)break;do if((c[u>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[m>>2]=Xc(c[l>>2]|0,c[u>>2]|0,w,0)|0;if(c[m>>2]|0)break;c[m>>2]=gd(c[w>>2]|0)|0;_c(c[w>>2]|0)}while(0);c[u>>2]=(c[u>>2]|0)+1}if(!(c[m>>2]|0))c[m>>2]=hd(c[l>>2]|0,0,1)|0;F=(c[282]|0)+(c[A>>2]|0)|0;C=((F|0)<0)<<31>>31;a=k;E=c[a+4>>2]|0;if((C|0)<(E|0)|((C|0)==(E|0)?F>>>0<(c[a>>2]|0)>>>0:0)){t=(c[282]|0)+(c[A>>2]|0)|0;u=t;t=((t|0)<0)<<31>>31}else{t=k;u=c[t>>2]|0;t=c[t+4>>2]|0}F=g;c[F>>2]=u;c[F+4>>2]=t;F=(c[282]|0)+(c[h>>2]|0)|0;a=j;c[a>>2]=F;c[a+4>>2]=((F|0)<0)<<31>>31;while(1){if(c[m>>2]|0)break;F=j;C=c[F+4>>2]|0;a=g;E=c[a+4>>2]|0;if(!((C|0)<(E|0)|((C|0)==(E|0)?(c[F>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)))break;c[p>>2]=0;F=j;a=c[h>>2]|0;a=jF(c[F>>2]|0,c[F+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=bF(a|0,D|0,1,0)|0;c[q>>2]=a;c[m>>2]=Xc(c[r>>2]|0,c[q>>2]|0,p,0)|0;if(!(c[m>>2]|0)){c[f>>2]=Zc(c[p>>2]|0)|0;a=j;c[m>>2]=id(c[n>>2]|0,c[f>>2]|0,c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0}_c(c[p>>2]|0);F=c[h>>2]|0;a=j;F=bF(c[a>>2]|0,c[a+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=F;c[a+4>>2]=D}if(!(c[m>>2]|0)){a=k;c[m>>2]=jd(c[n>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0}if(!(c[m>>2]|0))c[m>>2]=kd(c[l>>2]|0,0)|0}else{ld(c[l>>2]|0,c[t>>2]|0);c[m>>2]=hd(c[l>>2]|0,0,0)|0}if(!(c[m>>2]|0)){a=md(c[(c[e>>2]|0)+4>>2]|0,0)|0;c[m>>2]=a;c[m>>2]=0==(a|0)?101:a}}}if(c[s>>2]|0){nd(c[(c[e>>2]|0)+24>>2]|0,0)|0;md(c[(c[e>>2]|0)+24>>2]|0,0)|0}if((c[m>>2]|0)==3082)c[m>>2]=7;c[(c[e>>2]|0)+28>>2]=c[m>>2];a=c[m>>2]|0;i=o;return a|0}function Pc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function Qc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!((c[d>>2]|0)!=0&(c[d>>2]|0)!=5)){d=0;d=d&1;i=b;return d|0}d=(c[d>>2]|0)!=6;d=d&1;i=b;return d|0}function Rc(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;j=i;i=i+32|0;l=j+24|0;m=j+20|0;o=j+16|0;k=j+12|0;n=j+8|0;p=j+4|0;h=j;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[k>>2]=c[(c[l>>2]|0)+4>>2];c[n>>2]=0;Pc(c[l>>2]|0);do if((d[(c[l>>2]|0)+8>>0]|0)!=2?(c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+8>>0]|0)!=1:0){if((c[m>>2]|0)!=0?(e[(c[k>>2]|0)+22>>1]&1|0)!=0:0){c[n>>2]=8;break}if((c[m>>2]|0)!=0?(d[(c[k>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[k>>2]|0)+22>>1]&64)){if((c[m>>2]|0)>1){c[p>>2]=c[(c[k>>2]|0)+72>>2];while(1){if(!(c[p>>2]|0))break a;f=c[p>>2]|0;if((c[c[p>>2]>>2]|0)!=(c[l>>2]|0))break;c[p>>2]=c[f+12>>2]}c[o>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[o>>2]=c[c[(c[k>>2]|0)+76>>2]>>2];if(c[o>>2]|0){c[n>>2]=262;break}c[n>>2]=By(c[l>>2]|0,1,1)|0;if(!(c[n>>2]|0)){f=(c[k>>2]|0)+22|0;b[f>>1]=e[f>>1]&-9;if(!(c[(c[k>>2]|0)+44>>2]|0)){f=(c[k>>2]|0)+22|0;b[f>>1]=e[f>>1]|8}while(1){if((c[(c[k>>2]|0)+12>>2]|0)==0?(f=tD(c[k>>2]|0)|0,c[n>>2]=f,0==(f|0)):0)continue;do if((c[n>>2]|0)==0&(c[m>>2]|0)!=0){if(e[(c[k>>2]|0)+22>>1]&1){c[n>>2]=8;break}g=c[c[k>>2]>>2]|0;f=(c[m>>2]|0)>1&1;c[n>>2]=uD(g,f,xh(c[c[l>>2]>>2]|0)|0)|0;if(!(c[n>>2]|0))c[n>>2]=IC(c[k>>2]|0)|0}while(0);if(c[n>>2]|0)Sk(c[k>>2]|0);if((c[n>>2]&255|0)!=5)break;if(d[(c[k>>2]|0)+20>>0]|0)break;if(!(Fh(c[k>>2]|0)|0))break}if(!(c[n>>2]|0)){if((d[(c[l>>2]|0)+8>>0]|0)==0?(f=(c[k>>2]|0)+40|0,c[f>>2]=(c[f>>2]|0)+1,(a[(c[l>>2]|0)+9>>0]|0)!=0):0){a[(c[l>>2]|0)+36>>0]=1;c[(c[l>>2]|0)+40>>2]=c[(c[k>>2]|0)+72>>2];c[(c[k>>2]|0)+72>>2]=(c[l>>2]|0)+28}a[(c[l>>2]|0)+8>>0]=(c[m>>2]|0)!=0?2:1;if((d[(c[l>>2]|0)+8>>0]|0)>(d[(c[k>>2]|0)+20>>0]|0))a[(c[k>>2]|0)+20>>0]=a[(c[l>>2]|0)+8>>0]|0;if(c[m>>2]|0){c[h>>2]=c[(c[k>>2]|0)+12>>2];c[(c[k>>2]|0)+76>>2]=c[l>>2];f=(c[k>>2]|0)+22|0;b[f>>1]=e[f>>1]&-33;if((c[m>>2]|0)>1){f=(c[k>>2]|0)+22|0;b[f>>1]=e[f>>1]|32}f=c[(c[k>>2]|0)+44>>2]|0;if((f|0)!=(Hh((c[(c[h>>2]|0)+56>>2]|0)+28|0)|0)?(c[n>>2]=gd(c[(c[h>>2]|0)+68>>2]|0)|0,(c[n>>2]|0)==0):0)ck((c[(c[h>>2]|0)+56>>2]|0)+28|0,c[(c[k>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[n>>2]|0)==0&(c[m>>2]|0)!=0)){f=c[n>>2]|0;i=j;return f|0}c[n>>2]=GC(c[c[k>>2]>>2]|0,c[(c[c[l>>2]>>2]|0)+496>>2]|0)|0;f=c[n>>2]|0;i=j;return f|0}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[j>>2]|0)+4>>2];Pc(c[j>>2]|0);a=Hh((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[g>>2]<<2))|0)|0;c[c[f>>2]>>2]=a;i=e;return}function Tc(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return(d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function Uc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function Vc(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function Wc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Aw(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function Xc(a,b,e,f){a=a|0;b=b|0;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;q=i;i=i+48|0;j=q+44|0;p=q+40|0;m=q+36|0;l=q+32|0;u=q+28|0;o=q+24|0;k=q+20|0;s=q+16|0;t=q+12|0;r=q+8|0;n=q+4|0;g=q;c[p>>2]=a;c[m>>2]=b;c[l>>2]=e;c[u>>2]=f;c[o>>2]=0;c[k>>2]=0;c[s>>2]=0;c[t>>2]=c[u>>2]&1;c[r>>2]=0;if(!(c[m>>2]|0)){c[j>>2]=kj(46160)|0;u=c[j>>2]|0;i=q;return u|0}do if(!(c[(c[p>>2]|0)+40>>2]|0)){if(((c[r>>2]|0)!=0?(ai(c[p>>2]|0)|0)!=0:0)?(c[o>>2]=cj(c[(c[p>>2]|0)+208>>2]|0,c[m>>2]|0,s)|0,(c[o>>2]|0)!=0):0)break;if((c[r>>2]|0)!=0&(c[s>>2]|0)==0){c[n>>2]=0;a=c[(c[p>>2]|0)+60>>2]|0;u=c[(c[p>>2]|0)+152>>2]|0;u=lF((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[o>>2]=XB(a,u,D,c[(c[p>>2]|0)+152>>2]|0,n)|0;if((c[o>>2]|0)==0&(c[n>>2]|0)!=0){if((d[(c[p>>2]|0)+16>>0]|0|0)>1)c[k>>2]=Hi(c[p>>2]|0,c[m>>2]|0)|0;f=c[p>>2]|0;if(!(c[k>>2]|0))c[o>>2]=rD(f,c[m>>2]|0,c[n>>2]|0,k)|0;else{a=c[f+60>>2]|0;u=c[(c[p>>2]|0)+152>>2]|0;u=lF((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;hj(a,u,D,c[n>>2]|0)|0}if(c[k>>2]|0){c[c[l>>2]>>2]=c[k>>2];c[j>>2]=0;u=c[j>>2]|0;i=q;return u|0}}if(c[o>>2]|0)break}c[g>>2]=Li(c[(c[p>>2]|0)+204>>2]|0,c[m>>2]|0,3)|0;if((c[g>>2]|0)==0?(c[o>>2]=sD(c[(c[p>>2]|0)+204>>2]|0,c[m>>2]|0,g)|0,(c[o>>2]|0)!=0):0)break;u=Mi(c[(c[p>>2]|0)+204>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[l>>2]>>2]=u;c[k>>2]=u;if(!(c[k>>2]|0)){c[o>>2]=7;h=22}else h=22}else{c[o>>2]=c[(c[p>>2]|0)+40>>2];h=22}while(0);do if((h|0)==22){if(c[o>>2]|0){c[k>>2]=0;break}if(!((c[t>>2]|0)!=0?1:(c[(c[c[l>>2]>>2]|0)+16>>2]|0)==0)){u=(c[p>>2]|0)+184|0;c[u>>2]=(c[u>>2]|0)+1;c[j>>2]=0;u=c[j>>2]|0;i=q;return u|0}c[k>>2]=c[c[l>>2]>>2];c[(c[k>>2]|0)+16>>2]=c[p>>2];if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[282]|0)/(c[(c[p>>2]|0)+152>>2]|0)|0)+1|0):0){if(((d[(c[p>>2]|0)+15>>0]|0|0)==0?!((c[t>>2]|0)!=0?1:(c[(c[p>>2]|0)+24>>2]|0)>>>0<(c[m>>2]|0)>>>0):0)?(c[c[(c[p>>2]|0)+60>>2]>>2]|0)!=0:0){u=(ai(c[p>>2]|0)|0)!=0;if(u&(c[r>>2]|0)==0?(c[o>>2]=cj(c[(c[p>>2]|0)+208>>2]|0,c[m>>2]|0,s)|0,(c[o>>2]|0)!=0):0)break;u=(c[p>>2]|0)+188|0;c[u>>2]=(c[u>>2]|0)+1;c[o>>2]=dj(c[k>>2]|0,c[s>>2]|0)|0;if(c[o>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[p>>2]|0)+156>>2]|0)>>>0){c[o>>2]=13;break}if(c[t>>2]|0){kh();if((c[m>>2]|0)>>>0<=(c[(c[p>>2]|0)+28>>2]|0)>>>0)Wg(c[(c[p>>2]|0)+56>>2]|0,c[m>>2]|0)|0;qk(c[p>>2]|0,c[m>>2]|0)|0;lh()}_E(c[(c[k>>2]|0)+4>>2]|0,0,c[(c[p>>2]|0)+152>>2]|0)|0}c[j>>2]=0;u=c[j>>2]|0;i=q;return u|0}c[o>>2]=kj(46239)|0}while(0);if(c[k>>2]|0)bj(c[k>>2]|0);gj(c[p>>2]|0);c[c[l>>2]>>2]=0;c[j>>2]=c[o>>2];u=c[j>>2]|0;i=q;return u|0}function Yc(b,d,e,f){b=b|0;d=d|0;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;h=i;i=i+80|0;v=h+68|0;x=h+64|0;m=h+60|0;s=h+56|0;t=h+52|0;l=h+48|0;q=h+44|0;r=h+40|0;w=h+8|0;g=h+36|0;k=h;o=h+32|0;u=h+28|0;n=h+24|0;p=h+20|0;j=h+16|0;c[v>>2]=b;c[x>>2]=d;c[m>>2]=e;c[s>>2]=f;c[t>>2]=Sb(c[(c[v>>2]|0)+4>>2]|0)|0;c[l>>2]=Uc(c[(c[v>>2]|0)+24>>2]|0)|0;c[q>>2]=Uc(c[(c[v>>2]|0)+4>>2]|0)|0;c[r>>2]=(c[l>>2]|0)<(c[q>>2]|0)?c[l>>2]|0:c[q>>2]|0;d=c[l>>2]|0;d=lF(c[x>>2]|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=w;c[b>>2]=d;c[b+4>>2]=D;c[g>>2]=0;if((c[l>>2]|0)!=(c[q>>2]|0)?(DA(c[t>>2]|0)|0)!=0:0)c[g>>2]=8;x=w;b=c[l>>2]|0;b=ZE(c[x>>2]|0,c[x+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;x=k;c[x>>2]=b;c[x+4>>2]=D;while(1){if(c[g>>2]|0){j=14;break}b=k;e=c[b+4>>2]|0;x=w;d=c[x+4>>2]|0;if(!((e|0)<(d|0)|((e|0)==(d|0)?(c[b>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){j=14;break}c[o>>2]=0;b=k;x=c[q>>2]|0;x=jF(c[b>>2]|0,c[b+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[u>>2]=x+1;if((c[u>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[(c[(c[v>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=Xc(c[t>>2]|0,c[u>>2]|0,o,0)|0;c[g>>2]=x;if((0==(x|0)?(x=gd(c[o>>2]|0)|0,c[g>>2]=x,0==(x|0)):0)?(x=k,b=c[l>>2]|0,b=kF(c[x>>2]|0,c[x+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,c[n>>2]=(c[m>>2]|0)+b,c[p>>2]=Zc(c[o>>2]|0)|0,b=k,x=c[q>>2]|0,x=kF(c[b>>2]|0,c[b+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[j>>2]=(c[p>>2]|0)+x,dF(c[j>>2]|0,c[n>>2]|0,c[r>>2]|0)|0,a[(Qj(c[o>>2]|0)|0)>>0]=0,x=k,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[s>>2]|0)==0):0){x=(c[j>>2]|0)+28|0;ck(x,Wc(c[(c[v>>2]|0)+24>>2]|0)|0)}_c(c[o>>2]|0)}b=c[q>>2]|0;x=k;b=bF(c[x>>2]|0,c[x+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;x=k;c[x>>2]=b;c[x+4>>2]=D}if((j|0)==14){i=h;return c[g>>2]|0}return 0}function Zc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function _c(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}ej(c[d>>2]|0);i=b;return}function $c(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=pd(Sb(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function ad(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;Pc(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=IC(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function bd(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;f=i;i=i+32|0;m=f+20|0;l=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;g=f;c[m>>2]=b;c[l>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[m>>2]|0)+4>>2];Pc(c[m>>2]|0);c[k>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2];c[g>>2]=gd(c[(c[(c[j>>2]|0)+12>>2]|0)+68>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;i=f;return m|0}ck((c[k>>2]|0)+(36+(c[l>>2]<<2))|0,c[h>>2]|0);if((c[l>>2]|0)!=7){m=c[g>>2]|0;i=f;return m|0}a[(c[j>>2]|0)+18>>0]=c[h>>2];m=c[g>>2]|0;i=f;return m|0}function cd(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;f=d;c[b>>2]=a;Rb(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4);if(c[(c[f>>2]|0)+12>>2]|0)wh(c[(c[f>>2]|0)+12>>2]|0);c[e>>2]=(c[e>>2]|0)+1}f=(c[b>>2]|0)+24|0;c[f>>2]=c[f>>2]&-3;Lk(c[b>>2]|0);Mk(c[b>>2]|0);i=d;return}function dd(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+16|0;n=j+12|0;h=j+8|0;k=j+4|0;m=j;c[l>>2]=f;c[n>>2]=g;c[h>>2]=c[(c[l>>2]|0)+4>>2];f=(c[h>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[n>>2]|0)==1){f=(c[h>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[k>>2]=Rc(c[l>>2]|0,0)|0;do if(!(c[k>>2]|0)){c[m>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];if((d[(c[m>>2]|0)+18>>0]|0|0)==(c[n>>2]&255|0)?(d[(c[m>>2]|0)+19>>0]|0|0)==(c[n>>2]&255|0):0)break;c[k>>2]=Rc(c[l>>2]|0,2)|0;if((c[k>>2]|0)==0?(c[k>>2]=gd(c[(c[(c[h>>2]|0)+12>>2]|0)+68>>2]|0)|0,(c[k>>2]|0)==0):0){a[(c[m>>2]|0)+18>>0]=c[n>>2];a[(c[m>>2]|0)+19>>0]=c[n>>2]}}while(0);f=(c[h>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=j;return c[k>>2]|0}function ed(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+60>>2]|0}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+24>>2];i=d;return}function gd(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;a=c[e>>2]|0;if((c[(c[(c[e>>2]|0)+16>>2]|0)+148>>2]|0)>>>0>(c[(c[(c[e>>2]|0)+16>>2]|0)+152>>2]|0)>>>0){c[d>>2]=mD(a)|0;e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=nD(a)|0;e=c[d>>2]|0;i=b;return e|0}return 0}function hd(b,e,f){b=b|0;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;n=i;i=i+32|0;h=n+28|0;l=n+24|0;p=n+20|0;o=n+16|0;k=n+12|0;m=n+8|0;j=n+4|0;g=n;c[l>>2]=b;c[p>>2]=e;c[o>>2]=f;c[k>>2]=0;f=c[l>>2]|0;if(c[(c[l>>2]|0)+40>>2]|0){c[h>>2]=c[f+40>>2];b=c[h>>2]|0;i=n;return b|0}if((d[f+16>>0]|0)<3){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}f=c[l>>2]|0;do if(!(a[(c[l>>2]|0)+15>>0]|0)){b=(ai(f)|0)!=0;f=c[l>>2]|0;if(b){c[m>>2]=Zi(c[f+204>>2]|0)|0;c[j>>2]=0;if(!(c[m>>2]|0)){c[k>>2]=Xc(c[l>>2]|0,1,j,0)|0;c[m>>2]=c[j>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[k>>2]=Zj(c[l>>2]|0,c[m>>2]|0,c[(c[l>>2]|0)+24>>2]|0,1)|0;_c(c[j>>2]|0);if(c[k>>2]|0)break;$h(c[(c[l>>2]|0)+204>>2]|0);break}c[k>>2]=kD(f,0)|0;if((((c[k>>2]|0)==0?(c[k>>2]=lD(c[l>>2]|0,c[p>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[k>>2]=_j(c[l>>2]|0,0)|0,(c[k>>2]|0)==0):0)?(b=c[l>>2]|0,c[k>>2]=$j(b,Zi(c[(c[l>>2]|0)+204>>2]|0)|0)|0,(c[k>>2]|0)==0):0){$h(c[(c[l>>2]|0)+204>>2]|0);if((c[(c[l>>2]|0)+24>>2]|0)>>>0>(c[(c[l>>2]|0)+32>>2]|0)>>>0){c[g>>2]=(c[(c[l>>2]|0)+24>>2]|0)-((c[(c[l>>2]|0)+24>>2]|0)==(((c[282]|0)/(c[(c[l>>2]|0)+152>>2]|0)|0)+1|0)&1);c[k>>2]=ci(c[l>>2]|0,c[g>>2]|0)|0;if((c[k>>2]|0)!=0|(c[o>>2]|0)!=0)break}else if(c[o>>2]|0)break;c[k>>2]=kd(c[l>>2]|0,c[p>>2]|0)|0}}else Og(c[f+88>>2]|0);while(0);if((c[k>>2]|0)==0?(ai(c[l>>2]|0)|0)==0:0)a[(c[l>>2]|0)+16>>0]=5;c[h>>2]=c[k>>2];b=c[h>>2]|0;i=n;return b|0}function id(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;a=Ab[c[(c[c[k>>2]>>2]|0)+12>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+20|0;g=e+8|0;j=e;f=e+16|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=Gg(c[h>>2]|0,j)|0;if(c[f>>2]|0){a=c[f>>2]|0;i=e;return a|0}b=j;d=c[b+4>>2]|0;a=g;j=c[a+4>>2]|0;if(!((d|0)>(j|0)|((d|0)==(j|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){a=c[f>>2]|0;i=e;return a|0}a=g;c[f>>2]=Xh(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}function kd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g+12|0;k=g+8|0;f=g+4|0;j=g;c[h>>2]=b;c[k>>2]=e;c[f>>2]=0;if(c[c[(c[h>>2]|0)+60>>2]>>2]|0){c[j>>2]=c[k>>2];b=ig(c[(c[h>>2]|0)+60>>2]|0,21,c[j>>2]|0)|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)==12?0:b}if(c[f>>2]|0){b=c[f>>2]|0;i=g;return b|0}if(a[(c[h>>2]|0)+7>>0]|0){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=Yh(c[(c[h>>2]|0)+60>>2]|0,d[(c[h>>2]|0)+11>>0]|0)|0;b=c[f>>2]|0;i=g;return b|0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+24>>2]=c[f>>2];i=d;return}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;l=f+8|0;k=f+4|0;j=f;c[h>>2]=b;c[l>>2]=e;if(!(d[(c[h>>2]|0)+8>>0]|0)){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}Pc(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=jD(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[l>>2]|0)==0)){a[(c[j>>2]|0)+20>>0]=1;eD(c[j>>2]|0);break}c[g>>2]=c[k>>2];b=c[g>>2]|0;i=f;return b|0}while(0);fD(c[h>>2]|0);c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}function nd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;g=h+16|0;l=h+12|0;k=h+8|0;f=h+4|0;j=h;c[l>>2]=b;c[k>>2]=e;c[f>>2]=0;if((d[(c[l>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[l>>2]|0)+4>>2];Pc(c[l>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[f>>2]=iD(c[j>>2]|0)|0,(c[f>>2]|0)!=0):0){c[g>>2]=c[f>>2];b=c[g>>2]|0;i=h;return b|0}if(a[(c[j>>2]|0)+19>>0]|0)ld(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[f>>2]=hd(c[c[j>>2]>>2]|0,c[k>>2]|0,0)|0}c[g>>2]=c[f>>2];b=c[g>>2]|0;i=h;return b|0}function od(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;d=b+16|0;f=b+12|0;h=b+8|0;g=b+4|0;e=b;c[f>>2]=a;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=b;return h|0}c[g>>2]=c[(c[f>>2]|0)+20>>2];Pc(c[(c[f>>2]|0)+24>>2]|0);if(c[c[f>>2]>>2]|0){a=(c[(c[f>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1}if(c[(c[f>>2]|0)+40>>2]|0){c[h>>2]=pd(Sb(c[(c[f>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+44}c[c[h>>2]>>2]=c[(c[f>>2]|0)+44>>2]}qd(c[(c[f>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[f>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[f>>2]|0)+28>>2]|0;c[e>>2]=a;if(c[c[f>>2]>>2]|0){Nc(c[c[f>>2]>>2]|0,c[e>>2]|0);rd(c[c[f>>2]>>2]|0)}if(c[c[f>>2]>>2]|0)hc(c[f>>2]|0);rd(c[g>>2]|0);c[d>>2]=c[e>>2];h=c[d>>2]|0;i=b;return h|0}function pd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[b>>2]|0)+88|0}function qd(b,e,f){b=b|0;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;j=i;i=i+48|0;m=j+32|0;p=j+28|0;q=j+24|0;h=j+20|0;g=j+16|0;k=j+12|0;o=j+8|0;n=j+4|0;l=j;c[m>>2]=b;c[p>>2]=e;c[q>>2]=f;c[g>>2]=c[(c[m>>2]|0)+4>>2];Pc(c[m>>2]|0);if(!(c[p>>2]|0)){b=Hy(c[g>>2]|0,0,0)|0;c[p>>2]=b;c[h>>2]=b;if(c[h>>2]|0)c[q>>2]=0}else c[h>>2]=0;if((c[p>>2]|0)!=0?(c[o>>2]=sz(c[m>>2]|0,c[p>>2]|0,c[q>>2]|0)|0,(c[o>>2]|0)!=0):0)c[h>>2]=c[o>>2];if((d[(c[m>>2]|0)+8>>0]|0|0)!=2){b=c[m>>2]|0;fD(b);b=c[h>>2]|0;i=j;return b|0}c[n>>2]=Th(c[c[g>>2]>>2]|0)|0;if(c[n>>2]|0)c[h>>2]=c[n>>2];if(!(Bw(c[g>>2]|0,1,k,0)|0)){c[l>>2]=Hh((c[(c[k>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[l>>2]|0))fd(c[c[g>>2]>>2]|0,l);c[(c[g>>2]|0)+44>>2]=c[l>>2];Rk(c[k>>2]|0)}a[(c[g>>2]|0)+20>>0]=1;eD(c[g>>2]|0);b=c[m>>2]|0;fD(b);b=c[h>>2]|0;i=j;return b|0}function rd(b){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;j=i;i=i+48|0;e=j+36|0;f=j+32|0;d=j+28|0;n=j+24|0;o=j+20|0;m=j+16|0;l=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=b;if((c[(c[e>>2]|0)+76>>2]|0)!=1691352191){i=j;return}if(Hk(c[e>>2]|0)|0){i=j;return}Ik(c[e>>2]|0,0);Jk(c[e>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[n>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[n>>2]|0)+4>>2]|0){a:do if(c[(c[n>>2]|0)+12>>2]|0){Pc(c[(c[n>>2]|0)+4>>2]|0);c[f>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+32>>2];while(1){if(!(c[f>>2]|0))break a;c[o>>2]=c[(c[f>>2]|0)+8>>2];eh(c[(c[o>>2]|0)+40>>2]|0);c[(c[o>>2]|0)+40>>2]=0;c[f>>2]=c[c[f>>2]>>2]}}while(0);Kk(c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+4>>2]=0;if((c[d>>2]|0)!=1)c[(c[n>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1}if(c[(c[(c[e>>2]|0)+16>>2]|0)+28>>2]|0)wh(c[(c[(c[e>>2]|0)+16>>2]|0)+28>>2]|0);Lk(c[e>>2]|0);Mk(c[e>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=23)break;c[k>>2]=c[(c[e>>2]|0)+336+(c[d>>2]<<2)>>2];while(1){if(!(c[k>>2]|0))break;c[l>>2]=c[(c[k>>2]|0)+28>>2];while(1){if(!(c[k>>2]|0))break;Gk(c[e>>2]|0,c[k>>2]|0);c[m>>2]=c[(c[k>>2]|0)+8>>2];Xb(c[e>>2]|0,c[k>>2]|0);c[k>>2]=c[m>>2]}c[k>>2]=c[l>>2]}c[d>>2]=(c[d>>2]|0)+1}c[f>>2]=c[(c[e>>2]|0)+436>>2];while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[d>>2]|0)*20|0)+16>>2]|0)rb[c[(c[h>>2]|0)+((c[d>>2]|0)*20|0)+16>>2]&31](c[(c[h>>2]|0)+((c[d>>2]|0)*20|0)+8>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Xb(c[e>>2]|0,c[h>>2]|0);c[f>>2]=c[c[f>>2]>>2]}mh((c[e>>2]|0)+428|0);c[f>>2]=c[(c[e>>2]|0)+316>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+12>>2]|0)rb[c[(c[g>>2]|0)+12>>2]&31](c[(c[g>>2]|0)+8>>2]|0);Xb(c[e>>2]|0,c[g>>2]|0);c[f>>2]=c[c[f>>2]>>2]}mh((c[e>>2]|0)+308|0);Nc(c[e>>2]|0,0);tf(c[(c[e>>2]|0)+232>>2]|0);c[(c[e>>2]|0)+76>>2]=-1254786768;Xb(c[e>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+28>>2]|0);c[(c[e>>2]|0)+76>>2]=-1623446221;if(a[(c[e>>2]|0)+251>>0]|0)hc(c[(c[e>>2]|0)+276>>2]|0);hc(c[e>>2]|0);i=j;return}function sd(a){a=a|0;var b=0,d=0,f=0;b=i;i=i+16|0;f=b+4|0;d=b;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=b;return f|0}if(!((e[(c[d>>2]|0)+88>>1]|0)>>>10&1)){f=0;i=b;return f|0}f=c[(c[d>>2]|0)+168>>2]|0;i=b;return f|0}function td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;i=i+32|0;d=e+16|0;h=e+12|0;b=e+8|0;g=e+4|0;f=e;c[h>>2]=a;do if(!(c[h>>2]|0))c[b>>2]=0;else{c[g>>2]=c[h>>2];c[f>>2]=c[c[g>>2]>>2];if(!(ud(c[g>>2]|0)|0)){c[b>>2]=vd(c[g>>2]|0)|0;c[b>>2]=wd(c[f>>2]|0,c[b>>2]|0)|0;rd(c[f>>2]|0);break}c[d>>2]=Qb(67386)|0;h=c[d>>2]|0;i=e;return h|0}while(0);c[d>>2]=c[b>>2];h=c[d>>2]|0;i=e;return h|0}function ud(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){tc(21,37056,b);c[d>>2]=1;e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}return 0}function vd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;if(!((c[(c[e>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[e>>2]|0)+40>>2]|0)!=1369188723:0))c[b>>2]=yd(c[e>>2]|0)|0;qn(c[e>>2]|0);i=d;return c[b>>2]|0}function wd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[h>>2]=a;c[g>>2]=b;if(!(c[h>>2]|0)){c[f>>2]=c[g>>2]&255;a=c[f>>2]|0;i=e;return a|0}if((c[g>>2]|0)==3082?1:(d[(c[h>>2]|0)+64>>0]|0|0)!=0){c[f>>2]=cD(c[h>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}else{c[f>>2]=c[g>>2]&c[(c[h>>2]|0)+56>>2];a=c[f>>2]|0;i=e;return a|0}return 0}function xd(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;if(!(c[f>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}else{c[e>>2]=c[f>>2];c[d>>2]=yd(c[e>>2]|0)|0;zd(c[e>>2]|0);c[d>>2]=wd(c[c[e>>2]>>2]|0,c[d>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}return 0}function yd(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f;d=f+8|0;g=f+4|0;c[d>>2]=a;c[g>>2]=c[c[d>>2]>>2];$y(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+76>>2]|0)>=0){Wy(a)|0;Xb(c[g>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;if((e[(c[d>>2]|0)+88>>1]|0)>>>6&1){a=(c[d>>2]|0)+88|0;b[a>>1]=b[a>>1]&-33|32}}else if((c[a+80>>2]|0)!=0?((e[(c[d>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){k=c[g>>2]|0;j=c[(c[d>>2]|0)+80>>2]|0;a=(c[(c[d>>2]|0)+44>>2]|0)!=0?1200:0;c[h>>2]=c[(c[d>>2]|0)+44>>2];Lc(k,j,a,h);Xb(c[g>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0}bD(c[d>>2]|0);k=(c[d>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+40>>2]=649915045;i=f;return c[(c[d>>2]|0)+80>>2]&c[(c[g>>2]|0)+56>>2]|0}function zd(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+87>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Ad(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;d=f+4|0;g=f;c[j>>2]=a;c[d>>2]=0;c[g>>2]=c[j>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(b[(c[g>>2]|0)+68>>1]|0))break;Bd((c[(c[g>>2]|0)+60>>2]|0)+((c[h>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+60>>2]|0)+((c[h>>2]|0)*40|0)+8>>1]=1;c[h>>2]=(c[h>>2]|0)+1}if(!((e[(c[g>>2]|0)+88>>1]|0)>>>10&1)){j=c[d>>2]|0;i=f;return j|0}if(!(c[(c[g>>2]|0)+188>>2]|0)){j=c[d>>2]|0;i=f;return j|0}j=(c[g>>2]|0)+88|0;b[j>>1]=b[j>>1]&-33|32;j=c[d>>2]|0;i=f;return j|0}function Bd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[d>>2]|0)+24>>2]|0)==0:0){i=b;return}aD(c[d>>2]|0);i=b;return}function Cd(a){a=a|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;h=d;c[g>>2]=a;c[h>>2]=c[g>>2];if(!((e[(c[h>>2]|0)+8>>1]|0)&18)){c[f>>2]=Ed(c[g>>2]|0)|0;h=c[f>>2]|0;i=d;return h|0}Dd(c[h>>2]|0)|0;g=(c[h>>2]|0)+8|0;b[g>>1]=e[g>>1]|0|16;if(c[(c[h>>2]|0)+12>>2]|0)a=c[(c[h>>2]|0)+16>>2]|0;else a=0;c[f>>2]=a;h=c[f>>2]|0;i=d;return h|0}function Dd(a){a=a|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;h=d;c[g>>2]=a;do if((e[(c[g>>2]|0)+8>>1]|0)&16384){a=(c[(c[g>>2]|0)+12>>2]|0)+(c[c[g>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(!(Dk(c[g>>2]|0,c[h>>2]|0,1)|0)){_E((c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)|0,0,c[c[g>>2]>>2]|0)|0;h=(c[g>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[g>>2]>>2]|0);h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;break}c[f>>2]=7;h=c[f>>2]|0;i=d;return h|0}while(0);c[f>>2]=0;h=c[f>>2]|0;i=d;return h|0}function Ed(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Md(c[d>>2]|0,1)|0;i=b;return a|0}function Fd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Gd(c[d>>2]|0,1)|0;i=b;return a|0}function Gd(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+8|0;k=g+4|0;j=g+12|0;h=g;c[k>>2]=b;a[j>>0]=d;c[h>>2]=c[k>>2];if(((e[(c[h>>2]|0)+8>>1]|0)&16|0)==0?(Md(c[k>>2]|0,a[j>>0]|0)|0)==0:0){c[f>>2]=0;b=c[f>>2]|0;i=g;return b|0}d=c[(c[h>>2]|0)+12>>2]|0;if((e[(c[h>>2]|0)+8>>1]|0)&16384){c[f>>2]=d+(c[c[h>>2]>>2]|0);b=c[f>>2]|0;i=g;return b|0}else{c[f>>2]=d;b=c[f>>2]|0;i=g;return b|0}return 0}function Hd(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+Id(c[e>>2]|0);i=d;return+b}function Id(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;d=i;i=i+32|0;f=d+8|0;j=d+16|0;g=d;c[j>>2]=b;b=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[b>>3];l=+h[f>>3];i=d;return+l}k=c[j>>2]|0;if((e[b+8>>1]|0)&4){h[f>>3]=+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0);l=+h[f>>3];i=d;return+l}if((e[k+8>>1]|0)&18){h[g>>3]=0.0;Lm(c[(c[j>>2]|0)+16>>2]|0,g,c[(c[j>>2]|0)+12>>2]|0,a[(c[j>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[g>>3];l=+h[f>>3];i=d;return+l}else{h[f>>3]=0.0;l=+h[f>>3];i=d;return+l}return 0.0}function Jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Kd(c[d>>2]|0)|0;i=b;return a|0}function Kd(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;d=i;i=i+32|0;f=d+8|0;g=d+20|0;k=d+16|0;j=d;c[g>>2]=b;c[k>>2]=e[(c[g>>2]|0)+8>>1];do if(!(c[k>>2]&4)){if(c[k>>2]&8){j=Ip(+h[c[g>>2]>>3])|0;k=f;c[k>>2]=j;c[k+4>>2]=D;break}if(c[k>>2]&18){k=j;c[k>>2]=0;c[k+4>>2]=0;wg(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;g=j;j=c[g+4>>2]|0;k=f;c[k>>2]=c[g>>2];c[k+4>>2]=j;break}else{k=f;c[k>>2]=0;c[k+4>>2]=0;break}}else{g=c[g>>2]|0;j=c[g+4>>2]|0;k=f;c[k>>2]=c[g>>2];c[k+4>>2]=j}while(0);k=f;D=c[k+4>>2]|0;i=d;return c[k>>2]|0}function Ld(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Kd(c[d>>2]|0)|0;i=b;return a|0}function Md(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h+4|0;j=h;k=h+8|0;c[j>>2]=b;a[k>>0]=f;do if(c[j>>2]|0){if(((e[(c[j>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[j>>2]|0)+10>>0]|0|0)==(d[k>>0]|0|0):0){c[g>>2]=c[(c[j>>2]|0)+16>>2];break}if((e[(c[j>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=$C(c[j>>2]|0,a[k>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=h;return c[g>>2]|0}function Nd(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[1144+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function Od(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;Pd(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function Pd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+12|0;n=h+8|0;m=h+4|0;l=h+16|0;k=h;c[j>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((Vd(c[c[j>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=h;return}he(c[j>>2]|0);i=h;return}function Qd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;k=g+12|0;l=g;j=g+8|0;c[h>>2]=a;c[k>>2]=b;a=l;c[a>>2]=d;c[a+4>>2]=e;c[j>>2]=f;a=l;b=c[a+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[a>>2]|0)>>>0>2147483647){Rd(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return}else{Pd(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,0,c[j>>2]|0);i=g;return}}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!((c[h>>2]|0)==0|(c[h>>2]|0)==(-1|0)))rb[c[h>>2]&31](c[g>>2]|0);if(!(c[f>>2]|0)){i=e;return 18}he(c[f>>2]|0);i=e;return 18}function Sd(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;Td(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function Td(a,d){a=a|0;d=+d;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e;c[g>>2]=a;h[f>>3]=d;_d(c[g>>2]|0);if($w(+h[f>>3])|0){i=e;return}h[c[g>>2]>>3]=+h[f>>3];b[(c[g>>2]|0)+8>>1]=8;i=e;return}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;Vd(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function Vd(f,g,h,j,k){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;o=i;i=i+48|0;l=o+28|0;n=o+24|0;u=o+20|0;v=o+16|0;r=o+34|0;s=o+12|0;m=o+8|0;p=o+4|0;q=o+32|0;t=o;c[n>>2]=f;c[u>>2]=g;c[v>>2]=h;a[r>>0]=j;c[s>>2]=k;c[m>>2]=c[v>>2];b[q>>1]=0;k=c[n>>2]|0;if(!(c[u>>2]|0)){_d(k);c[l>>2]=0;v=c[l>>2]|0;i=o;return v|0}if(c[k+32>>2]|0)c[p>>2]=c[(c[(c[n>>2]|0)+32>>2]|0)+88>>2];else c[p>>2]=1e9;b[q>>1]=(d[r>>0]|0)==0?16:2;if((c[m>>2]|0)<0){a:do if((d[r>>0]|0)==1){c[m>>2]=Mb(c[u>>2]|0)|0;if((c[m>>2]|0)>(c[p>>2]|0))c[m>>2]=(c[p>>2]|0)+1}else{c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[p>>2]|0))break a;if(!(a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|a[(c[u>>2]|0)+((c[m>>2]|0)+1)>>0]))break a;c[m>>2]=(c[m>>2]|0)+2}}while(0);b[q>>1]=e[q>>1]|512}do if((c[s>>2]|0)!=(-1|0)){v=(c[s>>2]|0)==16;Bd(c[n>>2]|0);t=c[u>>2]|0;c[(c[n>>2]|0)+16>>2]=t;if(v){c[(c[n>>2]|0)+20>>2]=t;v=Bk(c[(c[n>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+20>>2]|0)|0;c[(c[n>>2]|0)+24>>2]=v;break}else{c[(c[n>>2]|0)+36>>2]=c[s>>2];b[q>>1]=e[q>>1]|((c[s>>2]|0)==0?2048:1024);break}}else{c[t>>2]=c[m>>2];if(e[q>>1]&512)c[t>>2]=(c[t>>2]|0)+((d[r>>0]|0)==1?1:2);if((c[m>>2]|0)>(c[p>>2]|0)){c[l>>2]=18;v=c[l>>2]|0;i=o;return v|0}if(!(Lp(c[n>>2]|0,(c[t>>2]|0)>32?c[t>>2]|0:32)|0)){dF(c[(c[n>>2]|0)+16>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;break}c[l>>2]=7;v=c[l>>2]|0;i=o;return v|0}while(0);c[(c[n>>2]|0)+12>>2]=c[m>>2];b[(c[n>>2]|0)+8>>1]=b[q>>1]|0;if(!(d[r>>0]|0))q=1;else q=d[r>>0]|0;a[(c[n>>2]|0)+10>>0]=q;if((d[(c[n>>2]|0)+10>>0]|0)!=1?(_C(c[n>>2]|0)|0)!=0:0){c[l>>2]=7;v=c[l>>2]|0;i=o;return v|0}if((c[m>>2]|0)>(c[p>>2]|0)){c[l>>2]=18;v=c[l>>2]|0;i=o;return v|0}else{c[l>>2]=0;v=c[l>>2]|0;i=o;return v|0}return 0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;Xd(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function Xd(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g+8|0;j=g;c[h>>2]=a;a=j;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[h>>2]|0)+8>>1]|0)&9312){a=j;ZC(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=g;return}else{d=c[j+4>>2]|0;a=c[h>>2]|0;c[a>>2]=c[j>>2];c[a+4>>2]=d;b[(c[h>>2]|0)+8>>1]=4;i=g;return}}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;Xd(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function Zd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_d(c[c[d>>2]>>2]|0);i=b;return}function _d(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){gn(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function $d(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;Pd(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function ae(b,e,f,g,h,j){b=b|0;e=e|0;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;n=i;i=i+32|0;m=n+16|0;p=n+12|0;o=n;l=n+8|0;k=n+20|0;c[m>>2]=b;c[p>>2]=e;b=o;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=h;a[k>>0]=j;if((d[k>>0]|0)==4)a[k>>0]=(a[1136]|0)==0?3:2;b=o;e=c[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(c[b>>2]|0)>>>0>2147483647){Rd(c[p>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=n;return}else{Pd(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,a[k>>0]|0,c[l>>2]|0);i=n;return}}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ce(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function ce(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;h=g+8|0;j=g+4|0;f=g;c[h>>2]=a;c[j>>2]=d;c[f>>2]=0;if((e[(c[h>>2]|0)+8>>1]|0)&9312)gn(c[h>>2]|0);a=c[h>>2]|0;d=c[j>>2]|0;c[a+0>>2]=c[d+0>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[h>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[h>>2]|0)+8>>1]|0)&18)){a=c[f>>2]|0;i=g;return a|0}if((e[(c[j>>2]|0)+8>>1]|0)&2048){a=c[f>>2]|0;i=g;return a|0}a=(c[h>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[f>>2]=Ak(c[h>>2]|0)|0;a=c[f>>2]|0;i=g;return a|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ee(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return}function ee(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=d;c[h>>2]=e;Bd(c[g>>2]|0);b[(c[g>>2]|0)+8>>1]=16400;c[(c[g>>2]|0)+12>>2]=0;if((c[h>>2]|0)<0)c[h>>2]=0;c[c[g>>2]>>2]=c[h>>2];a[(c[g>>2]|0)+10>>0]=1;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function fe(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=d;c[(c[g>>2]|0)+20>>2]=c[h>>2];a[(c[g>>2]|0)+25>>0]=1;if(!((e[(c[c[g>>2]>>2]|0)+8>>1]|0)&1)){i=f;return}b=c[c[g>>2]>>2]|0;Vd(b,ge(c[h>>2]|0)|0,-1,1,0)|0;i=f;return}function ge(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=5952;if((c[e>>2]|0)!=516){c[e>>2]=c[e>>2]&255;if((c[e>>2]|0)>=0&(c[e>>2]|0)<27?(c[5112+(c[e>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[5112+(c[e>>2]<<2)>>2]}else c[d>>2]=5968;i=b;return c[d>>2]|0}function he(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;Vd(c[c[e>>2]>>2]|0,1176,-1,1,0)|0;i=d;return}function ie(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;_d(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;a[(c[(c[c[e>>2]>>2]|0)+32>>2]|0)+64>>0]=1;i=d;return}function je(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+48|0;f=j+32|0;m=j+28|0;k=j+24|0;l=j+20|0;e=j+16|0;o=j+12|0;g=j+8|0;n=j+4|0;h=j;c[m>>2]=d;c[k>>2]=0;c[l>>2]=0;c[e>>2]=c[m>>2];c[o>>2]=0;if(ke(c[e>>2]|0)|0){c[f>>2]=Qb(67871)|0;o=c[f>>2]|0;i=j;return o|0}c[g>>2]=c[c[e>>2]>>2];d=(c[e>>2]|0)+88|0;b[d>>1]=b[d>>1]&-2049;while(1){d=le(c[e>>2]|0)|0;c[k>>2]=d;if((d|0)!=17)break;d=c[o>>2]|0;c[o>>2]=d+1;if((d|0)>=50)break;c[n>>2]=c[(c[e>>2]|0)+76>>2];d=me(c[e>>2]|0)|0;c[k>>2]=d;c[l>>2]=d;if(c[k>>2]|0)break;xd(c[m>>2]|0)|0;if((c[n>>2]|0)<0)continue;d=(c[e>>2]|0)+88|0;b[d>>1]=b[d>>1]&-2049|2048}do if(c[l>>2]|0){c[h>>2]=Ed(c[(c[g>>2]|0)+232>>2]|0)|0;Xb(c[g>>2]|0,c[(c[e>>2]|0)+44>>2]|0);if(a[(c[g>>2]|0)+64>>0]|0){c[(c[e>>2]|0)+44>>2]=0;c[k>>2]=7;c[(c[e>>2]|0)+80>>2]=7;break}else{o=ne(c[g>>2]|0,c[h>>2]|0)|0;c[(c[e>>2]|0)+44>>2]=o;c[(c[e>>2]|0)+80>>2]=c[l>>2];break}}while(0);c[k>>2]=wd(c[g>>2]|0,c[k>>2]|0)|0;c[f>>2]=c[k>>2];o=c[f>>2]|0;i=j;return o|0}function ke(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;c[e>>2]=a;if(!(c[e>>2]|0)){tc(21,37016,b);c[d>>2]=1;e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=ud(c[e>>2]|0)|0;e=c[d>>2]|0;i=b;return e|0}return 0}function le(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;f=g+20|0;j=g+16|0;k=g+12|0;h=g+8|0;l=g;c[j>>2]=d;if((c[(c[j>>2]|0)+40>>2]|0)!=-1108210269)xd(c[j>>2]|0)|0;c[k>>2]=c[c[j>>2]>>2];d=c[j>>2]|0;if(a[(c[k>>2]|0)+64>>0]|0){c[d+80>>2]=7;c[f>>2]=7;d=c[f>>2]|0;i=g;return d|0}if((c[d+76>>2]|0)<=0?((e[(c[j>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){c[(c[j>>2]|0)+80>>2]=17;c[h>>2]=1}else{if((c[(c[j>>2]|0)+76>>2]|0)<0){if(!(c[(c[k>>2]|0)+148>>2]|0))c[(c[k>>2]|0)+240>>2]=0;if((c[(c[k>>2]|0)+180>>2]|0)!=0?(a[(c[k>>2]|0)+145>>0]|0)==0:0)Sm(c[c[k>>2]>>2]|0,(c[j>>2]|0)+128|0)|0;d=(c[k>>2]|0)+148|0;c[d>>2]=(c[d>>2]|0)+1;if(!((e[(c[j>>2]|0)+88>>1]|0)>>>8&1)){d=(c[k>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+1}if((e[(c[j>>2]|0)+88>>1]|0)>>>9&1){d=(c[k>>2]|0)+152|0;c[d>>2]=(c[d>>2]|0)+1}c[(c[j>>2]|0)+76>>2]=0}if(b[(c[j>>2]|0)+88>>1]&3)c[h>>2]=Ty(c[j>>2]|0)|0;else{d=(c[k>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;c[h>>2]=Uy(c[j>>2]|0)|0;d=(c[k>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+ -1}if((((c[h>>2]|0)!=100?(c[(c[k>>2]|0)+180>>2]|0)!=0:0)?(a[(c[k>>2]|0)+145>>0]|0)==0:0)?(c[(c[j>>2]|0)+168>>2]|0)!=0:0){Sm(c[c[k>>2]>>2]|0,l)|0;o=c[(c[k>>2]|0)+180>>2]|0;n=c[(c[k>>2]|0)+184>>2]|0;m=c[(c[j>>2]|0)+168>>2]|0;d=(c[j>>2]|0)+128|0;d=ZE(c[l>>2]|0,c[l+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=lF(d|0,D|0,1e6,0)|0;Bb[o&3](n,m,d,D)}if((c[h>>2]|0)==101?(o=Vy(c[k>>2]|0)|0,c[(c[j>>2]|0)+80>>2]=o,(c[(c[j>>2]|0)+80>>2]|0)!=0):0)c[h>>2]=1;c[(c[k>>2]|0)+52>>2]=c[h>>2];if(7==(wd(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+80>>2]|0)|0))c[(c[j>>2]|0)+80>>2]=7}if(((c[h>>2]|0)!=100?((e[(c[j>>2]|0)+88>>1]|0)>>>10&1|0)!=0:0)&(c[h>>2]|0)!=101)c[h>>2]=Wy(c[j>>2]|0)|0;c[f>>2]=c[h>>2]&c[(c[k>>2]|0)+56>>2];o=c[f>>2]|0;i=g;return o|0}function me(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+20|0;g=d+16|0;h=d+12|0;f=d+8|0;k=d+4|0;j=d;c[g>>2]=b;c[k>>2]=sd(c[g>>2]|0)|0;c[j>>2]=Fs(c[g>>2]|0)|0;c[h>>2]=pf(c[j>>2]|0,c[k>>2]|0,-1,0,c[g>>2]|0,f,0)|0;if(!(c[h>>2]|0)){Cy(c[f>>2]|0,c[g>>2]|0);Ne(c[f>>2]|0,c[g>>2]|0)|0;Dy(c[f>>2]|0);vd(c[f>>2]|0)|0;c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}if((c[h>>2]|0)==7)a[(c[j>>2]|0)+64>>0]=1;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=d;return k|0}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;j=d+12|0;g=d+8|0;f=d+4|0;h=d;c[j>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=(Mb(c[g>>2]|0)|0)+1;a=c[h>>2]|0;c[f>>2]=Qe(c[j>>2]|0,a,((a|0)<0)<<31>>31)|0;if(c[f>>2]|0)dF(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}function oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function pe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function qe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;h=d+4|0;g=d;c[h>>2]=a;c[g>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[f>>2]=re(b,c[g>>2]|0)|0;h=c[f>>2]|0;i=d;return h|0}else{c[f>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[f>>2]|0;i=d;return h|0}return 0}function re(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=d;c[f>>2]=c[(c[h>>2]|0)+8>>2];d=c[f>>2]|0;if((c[g>>2]|0)>0){Lp(d,c[g>>2]|0)|0;b[(c[f>>2]|0)+8>>1]=8192;c[c[f>>2]>>2]=c[(c[h>>2]|0)+4>>2];if(c[(c[f>>2]|0)+16>>2]|0)_E(c[(c[f>>2]|0)+16>>2]|0,0,c[g>>2]|0)|0}else{_d(d);c[(c[f>>2]|0)+16>>2]=0}i=e;return c[(c[f>>2]|0)+16>>2]|0}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;g=e;f=e+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;c[f>>2]=Qe(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=e;return h|0}_E(c[f>>2]|0,0,c[g>>2]|0)|0;h=c[f>>2]|0;i=e;return h|0}function te(a){a=a|0;var b=0,d=0,f=0;b=i;i=i+16|0;f=b+4|0;d=b;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=b;return f|0}f=e[(c[d>>2]|0)+84>>1]|0;i=b;return f|0}function ue(a){a=a|0;var b=0,d=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;g=b+4|0;f=b;c[g>>2]=a;c[f>>2]=c[g>>2];if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+84>>1];g=c[d>>2]|0;i=b;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}function ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Cd(we(c[f>>2]|0,c[g>>2]|0)|0)|0;xe(c[f>>2]|0);i=e;return c[d>>2]|0}function we(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;j=d+12|0;g=d+8|0;h=d+4|0;f=d;c[j>>2]=a;c[g>>2]=b;c[h>>2]=c[j>>2];if(((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+20>>2]|0)!=0:0)?(c[g>>2]|0)>=0?(c[g>>2]|0)<(e[(c[h>>2]|0)+84>>1]|0|0):0:0){c[f>>2]=(c[(c[h>>2]|0)+20>>2]|0)+((c[g>>2]|0)*40|0);j=c[f>>2]|0;i=d;return j|0}if((c[h>>2]|0)!=0?(c[c[h>>2]>>2]|0)!=0:0)Nc(c[c[h>>2]>>2]|0,25);c[f>>2]=Sy()|0;j=c[f>>2]|0;i=d;return j|0}function xe(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];if(!(c[d>>2]|0)){i=b;return}e=wd(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+80>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=e;i=b;return}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Fd(we(c[f>>2]|0,c[g>>2]|0)|0)|0;xe(c[f>>2]|0);i=e;return c[d>>2]|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+Hd(we(c[f>>2]|0,c[g>>2]|0)|0);xe(c[f>>2]|0);i=e;return+(+h[d>>3])}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Ed(we(c[f>>2]|0,c[g>>2]|0)|0)|0;xe(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Nd(we(c[f>>2]|0,c[g>>2]|0)|0)|0;xe(c[f>>2]|0);i=e;return c[d>>2]|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=De(c[f>>2]|0,c[e>>2]|0,17,0)|0;i=d;return a|0}function De(b,d,e,f){b=b|0;d=d|0;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;m=i;i=i+32|0;p=m+28|0;g=m+24|0;n=m+20|0;k=m+16|0;h=m+12|0;o=m+8|0;l=m+4|0;j=m;c[p>>2]=b;c[g>>2]=d;c[n>>2]=e;c[k>>2]=f;c[h>>2]=0;c[o>>2]=c[p>>2];c[j>>2]=c[c[o>>2]>>2];c[l>>2]=te(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[h>>2]|0;i=m;return p|0}p=$(c[k>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[h>>2]=ub[c[n>>2]&31]((c[(c[o>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[j>>2]|0)+64>>0]|0)){p=c[h>>2]|0;i=m;return p|0}a[(c[j>>2]|0)+64>>0]=0;c[h>>2]=0;p=c[h>>2]|0;i=m;return p|0}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a=Fe(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return a|0}function Fe(b,e,f,g,h,j){b=b|0;e=e|0;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;q=i;i=i+48|0;t=q+28|0;p=q+24|0;n=q+20|0;r=q+16|0;m=q+12|0;s=q+32|0;o=q+8|0;k=q+4|0;l=q;c[t>>2]=b;c[p>>2]=e;c[n>>2]=f;c[r>>2]=g;c[m>>2]=h;a[s>>0]=j;c[o>>2]=c[t>>2];c[l>>2]=He(c[o>>2]|0,c[p>>2]|0)|0;if(c[l>>2]|0){if(!((c[m>>2]|0)!=0&(c[m>>2]|0)!=(-1|0))){t=c[l>>2]|0;i=q;return t|0}rb[c[m>>2]&31](c[n>>2]|0);t=c[l>>2]|0;i=q;return t|0}if(!(c[n>>2]|0)){t=c[l>>2]|0;i=q;return t|0}c[k>>2]=(c[(c[o>>2]|0)+60>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);c[l>>2]=Vd(c[k>>2]|0,c[n>>2]|0,c[r>>2]|0,a[s>>0]|0,c[m>>2]|0)|0;if((c[l>>2]|0)==0?(d[s>>0]|0|0)!=0:0)c[l>>2]=yk(c[k>>2]|0,d[(c[(c[(c[c[o>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0)|0;Nc(c[c[o>>2]>>2]|0,c[l>>2]|0);c[l>>2]=wd(c[c[o>>2]>>2]|0,c[l>>2]|0)|0;t=c[l>>2]|0;i=q;return t|0}function Ge(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;e=i;i=i+32|0;l=e+20|0;j=e+16|0;k=e;f=e+12|0;g=e+8|0;c[l>>2]=a;c[j>>2]=b;h[k>>3]=d;c[g>>2]=c[l>>2];c[f>>2]=He(c[g>>2]|0,c[j>>2]|0)|0;if(c[f>>2]|0){l=c[f>>2]|0;i=e;return l|0}Td((c[(c[g>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0)|0,+h[k>>3]);l=c[f>>2]|0;i=e;return l|0}function He(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;c[j>>2]=a;c[k>>2]=d;if(ke(c[j>>2]|0)|0){c[h>>2]=Qb(68415)|0;a=c[h>>2]|0;i=g;return a|0}if((c[(c[j>>2]|0)+40>>2]|0)==-1108210269?(c[(c[j>>2]|0)+76>>2]|0)<0:0){if((c[k>>2]|0)>=1?(c[k>>2]|0)<=(b[(c[j>>2]|0)+68>>1]|0):0){c[k>>2]=(c[k>>2]|0)+ -1;c[l>>2]=(c[(c[j>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0);Bd(c[l>>2]|0);b[(c[l>>2]|0)+8>>1]=1;Nc(c[c[j>>2]>>2]|0,0);do if((e[(c[j>>2]|0)+88>>1]|0)>>>10&1){if(!((c[k>>2]|0)<32?(c[(c[j>>2]|0)+188>>2]&1<>2]|0)!=0:0))f=12;if((f|0)==12?(c[(c[j>>2]|0)+188>>2]|0)!=-1:0)break;a=(c[j>>2]|0)+88|0;b[a>>1]=b[a>>1]&-33|32}while(0);c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}Nc(c[c[j>>2]>>2]|0,25);c[h>>2]=25;a=c[h>>2]|0;i=g;return a|0}Nc(c[c[j>>2]>>2]|0,21);c[m>>2]=c[(c[j>>2]|0)+168>>2];tc(21,31184,m);c[h>>2]=Qb(68423)|0;a=c[h>>2]|0;i=g;return a|0}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Je(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;l=f+20|0;k=f+16|0;h=f;g=f+12|0;j=f+8|0;c[l>>2]=a;c[k>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;c[j>>2]=c[l>>2];c[g>>2]=He(c[j>>2]|0,c[k>>2]|0)|0;if(c[g>>2]|0){l=c[g>>2]|0;i=f;return l|0}l=h;Xd((c[(c[j>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[g>>2]|0;i=f;return l|0}function Ke(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a=Fe(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return a|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[f>>2]|0;a=c[e>>2]|0;a=Me(b,a,Mb(c[e>>2]|0)|0)|0;i=d;return a|0}function Me(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;m=g+16|0;k=g+12|0;l=g+8|0;n=g+4|0;j=g;c[m>>2]=d;c[k>>2]=e;c[l>>2]=f;if(!(c[m>>2]|0)){c[h>>2]=0;d=c[h>>2]|0;i=g;return d|0}a:do if(c[k>>2]|0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[m>>2]|0)+70>>1]|0))break a;c[j>>2]=c[(c[(c[m>>2]|0)+64>>2]|0)+(c[n>>2]<<2)>>2];if(((c[j>>2]|0)!=0?(VE(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)==0:0)?(a[(c[j>>2]|0)+(c[l>>2]|0)>>0]|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}c[h>>2]=(c[n>>2]|0)+1;d=c[h>>2]|0;i=g;return d|0}while(0);c[h>>2]=0;d=c[h>>2]|0;i=g;return d|0}function Ne(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[k>>2]=a;c[j>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=c[j>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(b[(c[g>>2]|0)+68>>1]|0))break;Ry((c[(c[h>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)|0,(c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)|0);c[f>>2]=(c[f>>2]|0)+1}i=e;return 0}function Oe(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[d>>2]=Nd(c[e>>2]|0)|0;if((c[d>>2]|0)!=3){f=c[d>>2]|0;i=b;return f|0}c[f>>2]=c[e>>2];Pe(c[f>>2]|0,0);c[d>>2]=Nd(c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}function Pe(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;k=g+20|0;m=g+16|0;l=g+8|0;j=g;n=g+24|0;c[k>>2]=d;c[m>>2]=f;a[n>>0]=a[(c[k>>2]|0)+10>>0]|0;if(!(Lm(c[(c[k>>2]|0)+16>>2]|0,l,c[(c[k>>2]|0)+12>>2]|0,a[n>>0]|0)|0)){i=g;return}if(!(wg(c[(c[k>>2]|0)+16>>2]|0,j,c[(c[k>>2]|0)+12>>2]|0,a[n>>0]|0)|0)){m=j;n=c[m+4>>2]|0;d=c[k>>2]|0;c[d>>2]=c[m>>2];c[d+4>>2]=n;d=(c[k>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|4;i=g;return}h[c[k>>2]>>3]=+h[l>>3];d=(c[k>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|8;if(!(c[m>>2]|0)){i=g;return}Hp(c[k>>2]|0);i=g;return}function Qe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+20|0;l=g+16|0;j=g;k=g+12|0;m=g+8|0;c[l>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[l>>2]|0){if(a[(c[l>>2]|0)+64>>0]|0){c[h>>2]=0;b=c[h>>2]|0;i=g;return b|0}if(a[(c[l>>2]|0)+250>>0]|0){b=j;d=c[b+4>>2]|0;f=(c[l>>2]|0)+248|0;if(d>>>0>0|((d|0)==0?(c[b>>2]|0)>>>0>(e[(c[l>>2]|0)+248>>1]|0)>>>0:0)){b=f+16|0;c[b>>2]=(c[b>>2]|0)+1;break}b=c[f+24>>2]|0;c[m>>2]=b;if(!b){b=(c[l>>2]|0)+268|0;c[b>>2]=(c[b>>2]|0)+1;break}c[(c[l>>2]|0)+272>>2]=c[c[m>>2]>>2];b=(c[l>>2]|0)+252|0;c[b>>2]=(c[b>>2]|0)+1;b=(c[l>>2]|0)+260|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[l>>2]|0)+252>>2]|0)>(c[(c[l>>2]|0)+256>>2]|0))c[(c[l>>2]|0)+256>>2]=c[(c[l>>2]|0)+252>>2];c[h>>2]=c[m>>2];b=c[h>>2]|0;i=g;return b|0}}while(0);b=j;c[k>>2]=gc(c[b>>2]|0,c[b+4>>2]|0)|0;if((c[k>>2]|0)==0&(c[l>>2]|0)!=0)a[(c[l>>2]|0)+64>>0]=1;c[h>>2]=c[k>>2];b=c[h>>2]|0;i=g;return b|0}function Re(b,d,e,f){b=b|0;d=d|0;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;l=i;i=i+48|0;k=l;g=l+36|0;m=l+32|0;p=l+28|0;j=l+24|0;h=l+20|0;n=l+16|0;o=l+12|0;c[m>>2]=b;c[p>>2]=d;c[j>>2]=e;c[h>>2]=f;if(Ar(c[m>>2]|0)|0){c[g>>2]=0;b=c[g>>2]|0;i=l;return b|0}c[n>>2]=sp(c[c[m>>2]>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(!(c[n>>2]|0)){c[o>>2]=(c[p>>2]|0)!=0?31152:31168;p=c[m>>2]|0;o=c[o>>2]|0;if(c[h>>2]|0){d=c[h>>2]|0;b=c[j>>2]|0;c[k>>2]=o;c[k+4>>2]=d;c[k+8>>2]=b;Se(p,17264,k)}else{b=c[j>>2]|0;c[k>>2]=o;c[k+4>>2]=b;Se(p,17280,k)}a[(c[m>>2]|0)+17>>0]=1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=l;return b|0}function Se(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;f=i;i=i+48|0;j=f+32|0;l=f+28|0;g=f+24|0;k=f+8|0;h=f;c[j>>2]=b;c[l>>2]=d;c[h>>2]=c[c[j>>2]>>2];c[k>>2]=e;c[g>>2]=yn(c[h>>2]|0,c[l>>2]|0,k)|0;if(a[(c[h>>2]|0)+67>>0]|0){Xb(c[h>>2]|0,c[g>>2]|0);i=f;return}else{l=(c[j>>2]|0)+64|0;c[l>>2]=(c[l>>2]|0)+1;Xb(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=c[g>>2];c[(c[j>>2]|0)+12>>2]=1;i=f;return}}function Te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=yn(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;g=b+8|0;e=b+4|0;f=b;c[g>>2]=a;c[e>>2]=c[c[g>>2]>>2];c[f>>2]=se(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[g>>2];c[d>>2]=c[f>>2];g=c[d>>2]|0;i=b;return g|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=-1e6;if(!(c[g>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){b=6;break}if((c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0)==(c[g>>2]|0)){b=6;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==6){a=c[e>>2]|0;i=d;return a|0}return 0}function We(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=ip(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;bf(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;if(!(c[(c[g>>2]|0)+4>>2]|0)){i=e;return}a[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=e;return}function Ye(b,d,e,f){b=b|0;d=d|0;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;h=i;i=i+48|0;n=h+36|0;k=h+32|0;l=h+28|0;q=h+24|0;j=h+16|0;o=h+12|0;m=h+8|0;g=h+4|0;p=h;c[k>>2]=b;c[l>>2]=d;c[q>>2]=e;c[h+20>>2]=f;if(((c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]|0)|0)>(c[(c[(c[k>>2]|0)+24>>2]|0)+84>>2]|0)?(jp(c[k>>2]|0,c[l>>2]|0)|0)!=0:0){c[n>>2]=0;b=c[n>>2]|0;i=h;return b|0}c[j>>2]=c[(c[k>>2]|0)+32>>2];if((c[l>>2]|0)>0){c[m>>2]=c[q>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;c[g>>2]=a[(c[m>>2]|0)+2>>0];c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(((c[o>>2]|0)+(c[j>>2]|0)|0)*20|0);a[c[p>>2]>>0]=a[c[m>>2]>>0]|0;c[(c[p>>2]|0)+4>>2]=a[(c[m>>2]|0)+1>>0];if((c[g>>2]|0)<0)c[(c[p>>2]|0)+8>>2]=(c[j>>2]|0)+(-1-(c[g>>2]|0));else c[(c[p>>2]|0)+8>>2]=c[g>>2];c[(c[p>>2]|0)+12>>2]=a[(c[m>>2]|0)+3>>0];a[(c[p>>2]|0)+1>>0]=0;c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+3>>0]=0;c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+4}b=(c[k>>2]|0)+32|0;c[b>>2]=(c[b>>2]|0)+(c[l>>2]|0)}c[n>>2]=c[j>>2];b=c[n>>2]|0;i=h;return b|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=(c[f>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];i=d;return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if((c[(c[g>>2]|0)+32>>2]|0)>>>0<=(c[h>>2]|0)>>>0){i=e;return}c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)+4>>2]=c[f>>2];i=e;return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if((c[(c[g>>2]|0)+32>>2]|0)>>>0<=(c[h>>2]|0)>>>0){i=e;return}c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)+8>>2]=c[f>>2];i=e;return}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if((c[(c[g>>2]|0)+32>>2]|0)>>>0<=(c[h>>2]|0)>>>0){i=e;return}c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)+12>>2]=c[f>>2];i=e;return}function bf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;k=j+20|0;o=j+16|0;h=j+12|0;m=j+8|0;l=j+4|0;n=j;c[k>>2]=b;c[o>>2]=e;c[h>>2]=f;c[m>>2]=g;c[n>>2]=c[c[k>>2]>>2];if((c[(c[k>>2]|0)+4>>2]|0)!=0?(d[(c[n>>2]|0)+64>>0]|0)==0:0){if((c[o>>2]|0)<0)c[o>>2]=(c[(c[k>>2]|0)+32>>2]|0)-1;c[l>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);Oy(c[n>>2]|0,a[(c[l>>2]|0)+1>>0]|0,c[(c[l>>2]|0)+16>>2]|0);c[(c[l>>2]|0)+16>>2]=0;n=c[h>>2]|0;if((c[m>>2]|0)==-14){c[(c[l>>2]|0)+16>>2]=n;a[(c[l>>2]|0)+1>>0]=-14;i=j;return}if(!n){c[(c[l>>2]|0)+16>>2]=0;a[(c[l>>2]|0)+1>>0]=0;i=j;return}if((c[m>>2]|0)==-6){c[(c[l>>2]|0)+16>>2]=c[h>>2];a[(c[l>>2]|0)+1>>0]=-6;i=j;return}if((c[m>>2]|0)==-10){c[(c[l>>2]|0)+16>>2]=c[h>>2];a[(c[l>>2]|0)+1>>0]=-10;Qy(c[h>>2]|0);i=j;return}if((c[m>>2]|0)<0){c[(c[l>>2]|0)+16>>2]=c[h>>2];a[(c[l>>2]|0)+1>>0]=c[m>>2];i=j;return}if(!(c[m>>2]|0))c[m>>2]=Mb(c[h>>2]|0)|0;b=c[m>>2]|0;b=rm(c[c[k>>2]>>2]|0,c[h>>2]|0,b,((b|0)<0)<<31>>31)|0;c[(c[l>>2]|0)+16>>2]=b;a[(c[l>>2]|0)+1>>0]=-1;i=j;return}if((c[m>>2]|0)==-10){i=j;return}Oy(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0);i=j;return}function cf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+32>>2]|0)){i=e;return}c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);c[j>>2]=c[c[f>>2]>>2];Oy(c[j>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);b=c[h>>2]|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[c[h>>2]>>0]=-102;if((c[g>>2]|0)!=((c[(c[f>>2]|0)+32>>2]|0)-1|0)){i=e;return}b=(c[f>>2]|0)+32|0;c[b>>2]=(c[b>>2]|0)+ -1;i=e;return}function df(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;m=i;i=i+48|0;n=m+44|0;o=m+40|0;l=m+36|0;k=m+32|0;s=m+28|0;g=m+24|0;t=m+20|0;h=m+16|0;j=m+12|0;p=m+8|0;r=m+4|0;q=m;c[n>>2]=e;c[o>>2]=f;c[l>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[o>>2]|0)+440>>2];c[s>>2]=c[(c[o>>2]|0)+72>>2];c[g>>2]=c[(c[o>>2]|0)+68>>2];c[t>>2]=c[(c[o>>2]|0)+392>>2];e=c[(c[o>>2]|0)+80>>2]|0;c[h>>2]=e;c[h>>2]=(c[h>>2]|0)==0?1:e;c[s>>2]=(c[s>>2]|0)+(c[g>>2]|0);c[p>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[(c[n>>2]|0)+32>>2]|0)*20|0);c[r>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+84>>2]|0)*20|0);rw(c[n>>2]|0,t);if(d[(c[o>>2]|0)+20>>0]|0)f=(d[(c[o>>2]|0)+21>>0]|0)!=0;else f=0;e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-129|(f&1)<<7&65535;if((c[s>>2]|0)<10?(d[(c[o>>2]|0)+450>>0]|0)!=0:0)c[s>>2]=10;_E(c[p>>2]|0,0,(c[r>>2]|0)-(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+((c[p>>2]|0)-0&7);e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-33;do{c[q>>2]=0;e=Ny(c[(c[n>>2]|0)+8>>2]|0,(c[s>>2]|0)*40|0,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+8>>2]=e;e=Ny(c[(c[n>>2]|0)+60>>2]|0,(c[k>>2]|0)*40|0,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+60>>2]=e;e=Ny(c[(c[n>>2]|0)+12>>2]|0,c[t>>2]<<2,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+12>>2]=e;e=Ny(c[(c[n>>2]|0)+64>>2]|0,c[k>>2]<<2,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+64>>2]=e;e=Ny(c[(c[n>>2]|0)+56>>2]|0,c[g>>2]<<2,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+56>>2]=e;e=Ny(c[(c[n>>2]|0)+200>>2]|0,c[h>>2]|0,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+200>>2]=e;if(c[q>>2]|0){e=c[q>>2]|0;e=se(c[l>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[n>>2]|0)+172>>2]=e}c[p>>2]=c[(c[n>>2]|0)+172>>2];c[r>>2]=(c[p>>2]|0)+(c[q>>2]|0);if(!(c[q>>2]|0))break}while((a[(c[l>>2]|0)+64>>0]|0)!=0^1);c[(c[n>>2]|0)+36>>2]=c[g>>2];c[(c[n>>2]|0)+196>>2]=c[h>>2];a:do if(c[(c[n>>2]|0)+60>>2]|0){b[(c[n>>2]|0)+68>>1]=c[k>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break a;b[(c[(c[n>>2]|0)+60>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]=1;c[(c[(c[n>>2]|0)+60>>2]|0)+((c[j>>2]|0)*40|0)+32>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}}while(0);if(c[(c[n>>2]|0)+64>>2]|0){b[(c[n>>2]|0)+70>>1]=c[(c[o>>2]|0)+444>>2];dF(c[(c[n>>2]|0)+64>>2]|0,c[(c[o>>2]|0)+472>>2]|0,b[(c[n>>2]|0)+70>>1]<<2|0)|0;_E(c[(c[o>>2]|0)+472>>2]|0,0,c[(c[o>>2]|0)+444>>2]<<2|0)|0}if(!(c[(c[n>>2]|0)+8>>2]|0)){f=c[o>>2]|0;f=f+450|0;f=a[f>>0]|0;f=f&255;e=c[n>>2]|0;e=e+88|0;f=f&65535;t=b[e>>1]|0;f=f&3;t=t&-4;f=t|f;b[e>>1]=f;e=c[n>>2]|0;zd(e);i=m;return}e=(c[n>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+ -40;c[(c[n>>2]|0)+28>>2]=c[s>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>(c[s>>2]|0))break;b[(c[(c[n>>2]|0)+8>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]=128;c[(c[(c[n>>2]|0)+8>>2]|0)+((c[j>>2]|0)*40|0)+32>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}f=c[o>>2]|0;f=f+450|0;f=a[f>>0]|0;f=f&255;e=c[n>>2]|0;e=e+88|0;f=f&65535;t=b[e>>1]|0;f=f&3;t=t&-4;f=t|f;b[e>>1]=f;e=c[n>>2]|0;zd(e);i=m;return}function ef(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}c[e>>2]=c[c[d>>2]>>2];Xb(c[e>>2]|0,c[(c[d>>2]|0)+112>>2]|0);sn(c[e>>2]|0,c[(c[d>>2]|0)+316>>2]|0);i=b;return}function ff(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;h=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;n=m+4|0;j=m;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[n>>2]=f;if(!(d[(c[k>>2]|0)+73>>0]|0)){c[h>>2]=4;a=c[h>>2]|0;i=m;return a|0}if((d[(c[k>>2]|0)+73>>0]|0|0)>=3)f=vw(c[k>>2]|0)|0;else f=0;c[j>>2]=f;if(!(c[j>>2]|0))c[j>>2]=Lw(c[k>>2]|0,c[l>>2]|0,c[g>>2]|0,c[n>>2]|0,0)|0;c[h>>2]=c[j>>2];a=c[h>>2]|0;i=m;return a|0}function gf(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[e>>2]|0))break;f=(c[e>>2]|0)+88|0;b[f>>1]=b[f>>1]&-33|32;c[e>>2]=c[(c[e>>2]|0)+52>>2]}i=d;return}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=(jf(c[f>>2]|0,c[e>>2]|0,1208,0)|0)==0&1;i=d;return a|0}function jf(b,e,f,g){b=b|0;e=e|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;k=i;i=i+64|0;n=k+56|0;m=k+52|0;l=k+48|0;h=k+44|0;j=k+40|0;p=k+36|0;r=k+32|0;t=k+28|0;u=k+24|0;s=k+20|0;o=k+60|0;v=k+16|0;q=k+12|0;w=k+8|0;x=k+4|0;y=k;c[m>>2]=b;c[l>>2]=e;c[h>>2]=f;c[j>>2]=g;c[t>>2]=d[(c[h>>2]|0)+1>>0];c[u>>2]=d[c[h>>2]>>0];a[o>>0]=a[(c[h>>2]|0)+3>>0]|0;c[v>>2]=0;if(c[j>>2]|0)g=c[j>>2]|0;else g=d[(c[h>>2]|0)+2>>0]|0;c[s>>2]=g;a:while(1){b=Um(m)|0;c[p>>2]=b;if(!b){v=76;break}if((c[p>>2]|0)==(c[u>>2]|0)){v=7;break}do if((c[p>>2]|0)==(c[s>>2]|0)){if(c[j>>2]|0){c[p>>2]=Um(m)|0;if(!(c[p>>2]|0)){v=43;break a}c[v>>2]=c[m>>2];break}c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[p>>2]=Um(l)|0;if(!(c[p>>2]|0)){v=46;break a}c[r>>2]=Um(m)|0;if((c[r>>2]|0)==94){c[y>>2]=1;c[r>>2]=Um(m)|0}if((c[r>>2]|0)==93){if((c[p>>2]|0)==93)c[x>>2]=1;c[r>>2]=Um(m)|0}while(1){if(c[r>>2]|0)f=(c[r>>2]|0)!=93;else f=0;g=c[r>>2]|0;if(!f)break;if(((g|0)==45?(d[c[m>>2]>>0]|0)!=93:0)?(c[w>>2]|0)>>>0>0?(d[c[m>>2]>>0]|0)!=0:0:0){c[r>>2]=Um(m)|0;if((c[p>>2]|0)>>>0>=(c[w>>2]|0)>>>0?(c[p>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[x>>2]=1;c[w>>2]=0}else{if((c[p>>2]|0)==(c[r>>2]|0))c[x>>2]=1;c[w>>2]=c[r>>2]}c[r>>2]=Um(m)|0}if(!g){v=69;break a}if(!(c[x>>2]^c[y>>2])){v=69;break a}else continue a}while(0);c[r>>2]=Um(l)|0;if((c[p>>2]|0)==(c[r>>2]|0))continue;if((d[o>>0]|0)!=0&(c[p>>2]|0)>>>0<128&(c[r>>2]|0)>>>0<128?(d[440+(c[p>>2]&255)>>0]|0)==(d[440+(c[r>>2]&255)>>0]|0):0)continue;if((c[p>>2]|0)!=(c[t>>2]|0)){v=75;break}if(!((c[r>>2]|0)!=0?(c[m>>2]|0)!=(c[v>>2]|0):0)){v=75;break}}if((v|0)==7){while(1){v=0;b=Um(m)|0;c[p>>2]=b;if((b|0)==(c[u>>2]|0))x=1;else x=(c[p>>2]|0)==(c[t>>2]|0);w=c[p>>2]|0;if(!x)break;if((w|0)!=(c[t>>2]|0)){v=7;continue}if(!(Um(l)|0)){v=12;break}else v=7}if((v|0)==12){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}if(!w){c[n>>2]=1;b=c[n>>2]|0;i=k;return b|0}do if((c[p>>2]|0)==(c[s>>2]|0)){if(c[j>>2]|0){c[p>>2]=Um(m)|0;if(c[p>>2]|0)break;c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}b:while(1){if(d[c[l>>2]>>0]|0)p=(jf((c[m>>2]|0)+ -1|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)==0;else p=0;o=c[l>>2]|0;if(!p)break;c[l>>2]=o+1;if((d[o>>0]|0)<192)continue;while(1){if((d[c[l>>2]>>0]&192|0)!=128)continue b;c[l>>2]=(c[l>>2]|0)+1}}c[n>>2]=(d[o>>0]|0)!=0&1;b=c[n>>2]|0;i=k;return b|0}while(0);c:do if((c[p>>2]|0)>>>0<=128){s=c[p>>2]|0;if(a[o>>0]|0){c[q>>2]=s&~(d[1224+(c[p>>2]&255)>>0]&32);c[p>>2]=d[440+(c[p>>2]&255)>>0]}else c[q>>2]=s;while(1){b=c[l>>2]|0;c[l>>2]=b+1;b=d[b>>0]|0;c[r>>2]=b;if(!b)break c;if((c[r>>2]|0)!=(c[p>>2]|0)?(c[r>>2]|0)!=(c[q>>2]|0):0)continue;if(jf(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)break}c[n>>2]=1;b=c[n>>2]|0;i=k;return b|0}else{while(1){b=Um(l)|0;c[r>>2]=b;if(!b)break c;if((c[r>>2]|0)!=(c[p>>2]|0))continue;if(jf(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)break}c[n>>2]=1;b=c[n>>2]|0;i=k;return b|0}while(0);c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==43){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==46){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==69){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==75){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==76){c[n>>2]=(d[c[l>>2]>>0]|0)==0&1;b=c[n>>2]|0;i=k;return b|0}return 0}function kf(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;u=i;i=i+64|0;l=u+56|0;o=u+52|0;t=u+48|0;x=u+44|0;z=u+40|0;n=u+36|0;m=u+32|0;j=u+28|0;r=u+24|0;q=u+20|0;v=u+16|0;w=u+12|0;s=u+8|0;y=u+4|0;p=u;c[o>>2]=b;c[t>>2]=e;c[x>>2]=f;c[z>>2]=g;c[n>>2]=h;c[m>>2]=0;c[r>>2]=0;c[q>>2]=0;if(!(lf(c[o>>2]|0)|0)){c[l>>2]=Qb(99392)|0;b=c[l>>2]|0;i=u;return b|0}if(!(c[t>>2]|0))c[t>>2]=1216;Nc(c[o>>2]|0,0);a:while(1){if(c[m>>2]|0)break;if(!(a[c[t>>2]>>0]|0))break;c[s>>2]=0;c[r>>2]=0;c[m>>2]=mf(c[o>>2]|0,c[t>>2]|0,-1,r,j)|0;if(c[m>>2]|0)continue;if(!(c[r>>2]|0)){c[t>>2]=c[j>>2];continue}c[v>>2]=0;c[w>>2]=te(c[r>>2]|0)|0;do{c[m>>2]=je(c[r>>2]|0)|0;do if(c[x>>2]|0){if(100!=(c[m>>2]|0)){if(101!=(c[m>>2]|0)|(c[v>>2]|0)!=0)break;if(!(c[(c[o>>2]|0)+24>>2]&256))break}if(!(c[v>>2]|0)){c[q>>2]=se(c[o>>2]|0,(c[w>>2]<<1<<2)+1|0,0)|0;if(!(c[q>>2]|0))break a;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;b=Ce(c[r>>2]|0,c[y>>2]|0)|0;c[(c[q>>2]|0)+(c[y>>2]<<2)>>2]=b;c[y>>2]=(c[y>>2]|0)+1}c[v>>2]=1}b:do if((c[m>>2]|0)==100){c[s>>2]=(c[q>>2]|0)+(c[w>>2]<<2);c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break b;b=Ae(c[r>>2]|0,c[y>>2]|0)|0;c[(c[s>>2]|0)+(c[y>>2]<<2)>>2]=b;if((c[(c[s>>2]|0)+(c[y>>2]<<2)>>2]|0)==0?(Be(c[r>>2]|0,c[y>>2]|0)|0)!=5:0){k=27;break a}c[y>>2]=(c[y>>2]|0)+1}}while(0);if(xb[c[x>>2]&7](c[z>>2]|0,c[w>>2]|0,c[s>>2]|0,c[q>>2]|0)|0){k=30;break a}}while(0)}while((c[m>>2]|0)==100);c[m>>2]=vd(c[r>>2]|0)|0;c[r>>2]=0;c[t>>2]=c[j>>2];while(1){if(!(d[1224+(d[c[t>>2]>>0]|0)>>0]&1))break;c[t>>2]=(c[t>>2]|0)+1}Xb(c[o>>2]|0,c[q>>2]|0);c[q>>2]=0}if((k|0)==27)a[(c[o>>2]|0)+64>>0]=1;else if((k|0)==30){c[m>>2]=4;vd(c[r>>2]|0)|0;c[r>>2]=0;Nc(c[o>>2]|0,4)}if(c[r>>2]|0)vd(c[r>>2]|0)|0;Xb(c[o>>2]|0,c[q>>2]|0);c[m>>2]=wd(c[o>>2]|0,c[m>>2]|0)|0;do if((c[m>>2]|0)!=0&(c[n>>2]|0)!=0){c[p>>2]=1+(Mb(nf(c[o>>2]|0)|0)|0);b=c[p>>2]|0;b=gc(b,((b|0)<0)<<31>>31)|0;c[c[n>>2]>>2]=b;if(c[c[n>>2]>>2]|0){e=c[c[n>>2]>>2]|0;b=nf(c[o>>2]|0)|0;dF(e|0,b|0,c[p>>2]|0)|0;break}else{c[m>>2]=7;Nc(c[o>>2]|0,7);break}}else if(c[n>>2]|0)c[c[n>>2]>>2]=0;while(0);c[l>>2]=c[m>>2];b=c[l>>2]|0;i=u;return b|0}function lf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;do if(!(c[e>>2]|0)){sk(9840);c[d>>2]=0}else{c[f>>2]=c[(c[e>>2]|0)+76>>2];if((c[f>>2]|0)==-1607883113){c[d>>2]=1;break}if($f(c[e>>2]|0)|0)sk(31136);c[d>>2]=0}while(0);i=b;return c[d>>2]|0}function mf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=pf(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function nf(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=ge(7)|0;g=c[e>>2]|0;i=d;return g|0}if(!($f(c[f>>2]|0)|0)){c[e>>2]=ge(Qb(126852)|0)|0;g=c[e>>2]|0;i=d;return g|0}if(!(a[(c[f>>2]|0)+64>>0]|0)){c[g>>2]=Ed(c[(c[f>>2]|0)+232>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=ge(c[(c[f>>2]|0)+52>>2]|0)|0}else c[g>>2]=ge(7)|0;c[e>>2]=c[g>>2];g=c[e>>2]|0;i=d;return g|0}function of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=pf(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function pf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|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,q=0,r=0,s=0;q=i;i=i+48|0;k=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;j=q+16|0;r=q+12|0;m=q+8|0;s=q+4|0;l=q;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[j>>2]=e;c[r>>2]=f;c[m>>2]=g;c[s>>2]=h;c[c[m>>2]>>2]=0;if(!(lf(c[n>>2]|0)|0)){c[k>>2]=Qb(103895)|0;a=c[k>>2]|0;i=q;return a|0}Rb(c[n>>2]|0);c[l>>2]=xy(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[r>>2]|0,c[m>>2]|0,c[s>>2]|0)|0;if((c[l>>2]|0)==17){td(c[c[m>>2]>>2]|0)|0;c[l>>2]=xy(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[r>>2]|0,c[m>>2]|0,c[s>>2]|0)|0}c[k>>2]=c[l>>2];a=c[k>>2]|0;i=q;return a|0}function qf(b,e,f){b=b|0;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;g=i;i=i+64|0;v=g;n=g+56|0;h=g+52|0;t=g+48|0;s=g+44|0;m=g+40|0;l=g+36|0;r=g+32|0;w=g+28|0;u=g+24|0;p=g+60|0;k=g+20|0;x=g+16|0;j=g+12|0;o=g+8|0;c[h>>2]=b;c[t>>2]=e;c[s>>2]=f;c[m>>2]=0;c[u>>2]=-1;c[k>>2]=c[c[h>>2]>>2];c[x>>2]=c[(c[k>>2]|0)+92>>2];if(!(c[(c[k>>2]|0)+148>>2]|0))c[(c[k>>2]|0)+240>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[(c[h>>2]|0)+480>>2]=c[t>>2];c[l>>2]=0;c[r>>2]=mn(33)|0;f=c[k>>2]|0;if(!(c[r>>2]|0)){a[f+64>>0]=1;c[n>>2]=7;b=c[n>>2]|0;i=g;return b|0}a[p>>0]=a[f+250>>0]|0;if(c[(c[k>>2]|0)+276>>2]|0)a[(c[k>>2]|0)+250>>0]=1;while(1){if(a[(c[k>>2]|0)+64>>0]|0)break;if(!(a[(c[t>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[(c[h>>2]|0)+504>>2]=(c[t>>2]|0)+(c[l>>2]|0);b=qm((c[t>>2]|0)+(c[l>>2]|0)|0,w)|0;c[(c[h>>2]|0)+508>>2]=b;c[l>>2]=(c[l>>2]|0)+(c[(c[h>>2]|0)+508>>2]|0);if((c[l>>2]|0)>(c[x>>2]|0)){q=10;break}f=c[w>>2]|0;if((f|0)==150){q=14;break}else if((f|0)==151)if(c[(c[k>>2]|0)+240>>2]|0){q=13;break}else continue;else if((f|0)==1)c[(c[h>>2]|0)+480>>2]=(c[t>>2]|0)+(c[l>>2]|0);f=c[r>>2]|0;e=c[w>>2]|0;y=(c[h>>2]|0)+504|0;b=c[h>>2]|0;c[v+0>>2]=c[y+0>>2];c[v+4>>2]=c[y+4>>2];nn(f,e,v,b);c[u>>2]=c[w>>2];if(c[(c[h>>2]|0)+12>>2]|0)break}if((q|0)==10)c[(c[h>>2]|0)+12>>2]=18;else if((q|0)==13){Se(c[h>>2]|0,9920,v);c[(c[h>>2]|0)+12>>2]=9}else if((q|0)==14){Xb(c[k>>2]|0,c[c[s>>2]>>2]|0);y=c[k>>2]|0;c[v>>2]=(c[h>>2]|0)+504;y=Te(y,9936,v)|0;c[c[s>>2]>>2]=y;c[m>>2]=(c[m>>2]|0)+1}if(((c[m>>2]|0)==0?(a[(c[t>>2]|0)+(c[l>>2]|0)>>0]|0)==0:0)?(c[(c[h>>2]|0)+12>>2]|0)==0:0){if((c[u>>2]|0)!=1){b=c[r>>2]|0;e=(c[h>>2]|0)+504|0;y=c[h>>2]|0;c[v+0>>2]=c[e+0>>2];c[v+4>>2]=c[e+4>>2];nn(b,1,v,y);c[(c[h>>2]|0)+480>>2]=(c[t>>2]|0)+(c[l>>2]|0)}b=c[r>>2]|0;e=(c[h>>2]|0)+504|0;y=c[h>>2]|0;c[v+0>>2]=c[e+0>>2];c[v+4>>2]=c[e+4>>2];nn(b,0,v,y)}on(c[r>>2]|0,13);a[(c[k>>2]|0)+250>>0]=a[p>>0]|0;if(a[(c[k>>2]|0)+64>>0]|0)c[(c[h>>2]|0)+12>>2]=7;if(((c[(c[h>>2]|0)+12>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)!=101:0)?(c[(c[h>>2]|0)+4>>2]|0)==0:0){b=(c[h>>2]|0)+4|0;y=c[k>>2]|0;c[v>>2]=ge(c[(c[h>>2]|0)+12>>2]|0)|0;pn(b,y,1200,v)}if(c[(c[h>>2]|0)+4>>2]|0){c[c[s>>2]>>2]=c[(c[h>>2]|0)+4>>2];y=c[(c[h>>2]|0)+12>>2]|0;c[v>>2]=c[c[s>>2]>>2];tc(y,1200,v);c[(c[h>>2]|0)+4>>2]=0;c[m>>2]=(c[m>>2]|0)+1}if(((c[(c[h>>2]|0)+8>>2]|0)!=0?(c[(c[h>>2]|0)+64>>2]|0)>0:0)?(d[(c[h>>2]|0)+18>>0]|0)==0:0){qn(c[(c[h>>2]|0)+8>>2]|0);c[(c[h>>2]|0)+8>>2]=0}if(!(d[(c[h>>2]|0)+18>>0]|0)){Xb(c[k>>2]|0,c[(c[h>>2]|0)+400>>2]|0);c[(c[h>>2]|0)+400>>2]=0;c[(c[h>>2]|0)+396>>2]=0}hc(c[(c[h>>2]|0)+520>>2]|0);if(!(a[(c[h>>2]|0)+451>>0]|0))Vb(c[k>>2]|0,c[(c[h>>2]|0)+484>>2]|0);if(a[(c[h>>2]|0)+449>>0]|0)rn(c[k>>2]|0,c[(c[h>>2]|0)+532>>2]|0);Ub(c[k>>2]|0,c[(c[h>>2]|0)+488>>2]|0);c[l>>2]=(c[(c[h>>2]|0)+444>>2]|0)-1;while(1){p=c[k>>2]|0;if((c[l>>2]|0)<0)break;Xb(p,c[(c[(c[h>>2]|0)+472>>2]|0)+(c[l>>2]<<2)>>2]|0);c[l>>2]=(c[l>>2]|0)+ -1}Xb(p,c[(c[h>>2]|0)+472>>2]|0);while(1){if(!(c[(c[h>>2]|0)+404>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+404>>2];c[(c[h>>2]|0)+404>>2]=c[c[j>>2]>>2];Xb(c[k>>2]|0,c[j>>2]|0)}while(1){if(!(c[(c[h>>2]|0)+524>>2]|0))break;c[o>>2]=c[(c[h>>2]|0)+524>>2];c[(c[h>>2]|0)+524>>2]=c[(c[o>>2]|0)+72>>2];Vb(c[k>>2]|0,c[o>>2]|0)}if((c[m>>2]|0)>0?(c[(c[h>>2]|0)+12>>2]|0)==0:0)c[(c[h>>2]|0)+12>>2]=1;c[n>>2]=c[m>>2];y=c[n>>2]|0;i=g;return y|0}function rf(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=se(c[f>>2]|0,40,0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=d;return f|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[f>>2];f=c[e>>2]|0;i=d;return f|0}function sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;j=m+12|0;l=m+8|0;k=m+4|0;h=m+16|0;n=m;c[j>>2]=b;c[l>>2]=d;c[k>>2]=e;a[h>>0]=f;c[n>>2]=g;if(!(c[j>>2]|0)){i=m;return}Vd(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,a[h>>0]|0,c[n>>2]|0)|0;i=m;return}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}Bd(c[d>>2]|0);Xb(c[(c[d>>2]|0)+32>>2]|0,c[d>>2]|0);i=b;return}function uf(){return 8}function vf(){return 1504}function wf(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;e=f+12|0;d=f+8|0;a=f+4|0;b=f;if(!(c[9669]|0))Cf();h=136|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));if(c[9661]|0)c[34]=8;if(((c[9708]|0)!=0?(c[9709]|0)>=100:0)?(c[9710]|0)>0:0){c[a>>2]=c[9709]&-8;c[9709]=c[a>>2];c[b>>2]=c[9708];c[d>>2]=c[9710];c[41]=c[b>>2];c[42]=c[d>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=((c[d>>2]|0)-1|0))break;c[c[b>>2]>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[c[b>>2]>>2];c[e>>2]=(c[e>>2]|0)+1}c[c[b>>2]>>2]=0;c[40]=(c[b>>2]|0)+4}else{c[40]=0;c[9708]=0;c[9709]=0;c[9710]=0}if(((c[9711]|0)!=0?(c[9712]|0)>=512:0)?(c[9713]|0)>=1:0){g=c[9674]|0;h=c[9676]|0;h=ub[g&31](h)|0;i=f;return h|0}c[9711]=0;c[9712]=0;c[9713]=0;g=c[9674]|0;h=c[9676]|0;h=ub[g&31](h)|0;i=f;return h|0}function xf(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=1576;c[e>>2]=6232;c[b>>2]=0;while(1){if((c[b>>2]|0)>=57)break;xk(c[d>>2]|0,(c[e>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}lm();mm();i=a;return}function yf(){var a=0,b=0;a=i;if(!(c[9688]|0))Df();b=ub[c[38640+112>>2]&31](c[9687]|0)|0;i=a;return b|0}function zf(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a+4|0;d=a;c[d>>2]=fc(10)|0;if(!(c[d>>2]|0)){c[b>>2]=7;d=c[b>>2]|0;i=a;return d|0}else{hc(c[d>>2]|0);c[b>>2]=yc()|0;d=c[b>>2]|0;i=a;return d|0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[j>>2]=b;c[f>>2]=d;if(!(c[791]|0)){i=e;return}c[j>>2]=c[j>>2]&-8;c[792]=c[j>>2];a=c[f>>2]|0;c[799]=a;c[793]=a;if((c[f>>2]|0)>90)d=10;else d=((c[f>>2]|0)/10|0)+1|0;c[794]=d;c[795]=c[g>>2];c[798]=0;c[800]=0;while(1){a=c[f>>2]|0;c[f>>2]=a+ -1;d=c[g>>2]|0;if(!a)break;c[h>>2]=d;c[c[h>>2]>>2]=c[798];c[798]=c[h>>2];c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0)}c[796]=d;i=e;return}function Bf(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;f=i;i=i+48|0;d=f+44|0;k=f+40|0;h=f+24|0;e=f+16|0;j=f+8|0;g=f;c[k>>2]=a;c[e>>2]=0;if(c[9716]|0){c[d>>2]=Qb(125290)|0;a=c[d>>2]|0;i=f;return a|0}c[h>>2]=b;do switch(c[k>>2]|0){case 9:{k=c[h>>2]|0;a=c[k>>2]|0;c[h>>2]=k+4;c[9660]=a;break};case 5:{if(!(c[9669]|0))Cf();k=c[h>>2]|0;a=c[k>>2]|0;c[h>>2]=k+4;c[a+0>>2]=c[9669];c[a+4>>2]=c[9670];c[a+8>>2]=c[9671];c[a+12>>2]=c[9672];c[a+16>>2]=c[9673];c[a+20>>2]=c[9674];c[a+24>>2]=c[9675];c[a+28>>2]=c[9676];break};case 19:{if(!(c[9688]|0))Df();g=c[h>>2]|0;j=c[g>>2]|0;c[h>>2]=g+4;j=j+0|0;h=38744|0;g=j+52|0;do{c[j>>2]=c[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(g|0));break};case 16:{a=c[h>>2]|0;k=c[a>>2]|0;c[h>>2]=a+4;c[9723]=k;k=c[h>>2]|0;a=c[k>>2]|0;c[h>>2]=k+4;c[9724]=a;break};case 17:{k=c[h>>2]|0;a=c[k>>2]|0;c[h>>2]=k+4;c[9663]=a;break};case 22:{a=c[h>>2]|0;k=a;l=c[k>>2]|0;k=c[k+4>>2]|0;c[h>>2]=a+8;a=j;c[a>>2]=l;c[a+4>>2]=k;a=c[h>>2]|0;k=a;l=c[k>>2]|0;k=c[k+4>>2]|0;c[h>>2]=a+8;a=g;c[a>>2]=l;c[a+4>>2]=k;a=g;b=c[a+4>>2]|0;a=(c[g+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0);b=g;c[b>>2]=a?0:l;c[b+4>>2]=a?0:k;b=g;k=c[b+4>>2]|0;a=38824|0;c[a>>2]=c[b>>2];c[a+4>>2]=k;if((c[j+4>>2]|0)<0){l=j;c[l>>2]=0;c[l+4>>2]=0}a=j;b=c[a+4>>2]|0;l=g;k=c[l+4>>2]|0;if((b|0)>(k|0)|((b|0)==(k|0)?(c[a>>2]|0)>>>0>(c[l>>2]|0)>>>0:0)){k=g;a=c[k+4>>2]|0;l=j;c[l>>2]=c[k>>2];c[l+4>>2]=a}k=j;a=c[k+4>>2]|0;l=38816|0;c[l>>2]=c[k>>2];c[l+4>>2]=a;break};case 13:{l=c[h>>2]|0;a=c[l>>2]|0;c[h>>2]=l+4;c[9667]=a;a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9668]=l;break};case 7:{a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9711]=l;l=c[h>>2]|0;a=c[l>>2]|0;c[h>>2]=l+4;c[9712]=a;a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9713]=l;break};case 20:{a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9664]=l;break};case 15:{c[e>>2]=1;break};case 4:{a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9669]=c[l+0>>2];c[9670]=c[l+4>>2];c[9671]=c[l+8>>2];c[9672]=c[l+12>>2];c[9673]=c[l+16>>2];c[9674]=c[l+20>>2];c[9675]=c[l+24>>2];c[9676]=c[l+28>>2];break};case 6:{a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9708]=l;l=c[h>>2]|0;a=c[l>>2]|0;c[h>>2]=l+4;c[9709]=a;a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9710]=l;break};case 18:{j=c[h>>2]|0;g=c[j>>2]|0;c[h>>2]=j+4;j=38744|0;h=g+0|0;g=j+52|0;do{c[j>>2]=c[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(g|0));break};case 14:break;default:c[e>>2]=1}while(0);c[d>>2]=c[e>>2];l=c[d>>2]|0;i=f;return l|0}function Cf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=6120;Bf(4,b)|0;i=a;return}function Df(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=6064;Bf(18,b)|0;i=a;return}function Ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;f=b+12|0;g=b+8|0;d=b+4|0;e=b;c[f>>2]=a;Rb(c[f>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[d>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[d>>2]|0){c[e>>2]=Sb(c[d>>2]|0)|0;Ff(c[e>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=b;return 0}function Ff(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Zk(c[(c[d>>2]|0)+204>>2]|0);i=b;return}function Gf(d,e,f,g){d=d|0;e=e|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;n=i;i=i+32|0;j=n+28|0;o=n+24|0;q=n+20|0;p=n+16|0;m=n+12|0;k=n+8|0;h=n+4|0;l=n;c[o>>2]=d;c[q>>2]=e;c[p>>2]=f;c[m>>2]=g;if(c[(c[o>>2]|0)+252>>2]|0){c[j>>2]=5;d=c[j>>2]|0;i=n;return d|0}if(a[(c[o>>2]|0)+251>>0]|0)hc(c[(c[o>>2]|0)+276>>2]|0);d=c[p>>2]&-8;c[p>>2]=d;c[p>>2]=(c[p>>2]|0)<=4?0:d;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[p>>2]|0)==0|(c[m>>2]|0)==0)){if(c[q>>2]|0){c[k>>2]=c[q>>2];break}kh();d=$(c[p>>2]|0,c[m>>2]|0)|0;c[k>>2]=gc(d,((d|0)<0)<<31>>31)|0;lh();if(c[k>>2]|0){d=Tb(c[k>>2]|0)|0;c[m>>2]=(d|0)/(c[p>>2]|0)|0}}else{c[p>>2]=0;c[k>>2]=0}while(0);c[(c[o>>2]|0)+276>>2]=c[k>>2];c[(c[o>>2]|0)+272>>2]=0;b[(c[o>>2]|0)+248>>1]=c[p>>2];if(c[k>>2]|0){c[l>>2]=c[k>>2];c[h>>2]=(c[m>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[c[l>>2]>>2]=c[(c[o>>2]|0)+272>>2];c[(c[o>>2]|0)+272>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(c[p>>2]|0);c[h>>2]=(c[h>>2]|0)+ -1}c[(c[o>>2]|0)+280>>2]=c[l>>2];a[(c[o>>2]|0)+250>>0]=1;a[(c[o>>2]|0)+251>>0]=(c[q>>2]|0)==0?1:0}else{c[(c[o>>2]|0)+276>>2]=c[o>>2];c[(c[o>>2]|0)+280>>2]=c[o>>2];a[(c[o>>2]|0)+250>>0]=0;a[(c[o>>2]|0)+251>>0]=0}c[j>>2]=0;d=c[j>>2]|0;i=n;return d|0}function Hf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;D=c[a+4>>2]|0;i=b;return c[a>>2]|0}function If(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+80>>2]|0}function Jf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function Kf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Lf(c[d>>2]|0,0)|0;i=b;return a|0}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d;e=d+12|0;f=d+8|0;h=d+4|0;c[f>>2]=a;c[h>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}if(!($f(c[f>>2]|0)|0)){c[e>>2]=Qb(125804)|0;a=c[e>>2]|0;i=d;return a|0}Xk(c[f>>2]|0);Uk(c[f>>2]|0)|0;if((c[h>>2]|0)==0?(Hk(c[f>>2]|0)|0)!=0:0){Lc(c[f>>2]|0,5,5992,g);c[e>>2]=5;a=c[e>>2]|0;i=d;return a|0}c[(c[f>>2]|0)+76>>2]=1691352191;rd(c[f>>2]|0);c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}function Mf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Lf(c[d>>2]|0,1)|0;i=b;return a|0}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+444>>2]=c[h>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];c[(c[f>>2]|0)+452>>2]=0;c[(c[f>>2]|0)+492>>2]=0;i=e;return 0}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)>0){Nf(b,34,c[e>>2]|0)|0;c[(c[e>>2]|0)+492>>2]=c[f>>2];i=d;return 0}else{Nf(b,0,0)|0;i=d;return 0}return 0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;j=d+12|0;h=d+8|0;f=d+4|0;g=d;c[j>>2]=a;c[h>>2]=b;c[f>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+492>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}else{fg(c[c[f>>2]>>2]|0,1e6)|0;c[e>>2]=1;j=c[e>>2]|0;i=d;return j|0}return 0}function Qf(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;v=i;i=i+64|0;C=v;z=v+56|0;q=v+52|0;r=v+48|0;t=v+44|0;u=v+40|0;x=v+36|0;y=v+32|0;p=v+28|0;A=v+24|0;B=v+20|0;o=v+16|0;s=v+12|0;w=v+8|0;D=v+4|0;c[q>>2]=d;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[x>>2]=j;c[y>>2]=k;c[p>>2]=l;c[A>>2]=m;c[B>>2]=n;do if(c[r>>2]|0){if((c[y>>2]|0)!=0?(c[A>>2]|0)!=0|(c[p>>2]|0)!=0:0)break;if(((c[y>>2]|0)==0&(c[A>>2]|0)!=0^1|(c[p>>2]|0)!=0?!((((c[y>>2]|0)!=0|(c[A>>2]|0)!=0)^1)&(c[p>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(d=Mb(c[r>>2]|0)|0,c[s>>2]=d,255>=(d|0)):0){c[w>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[D>>2]=Qf(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0,1|c[w>>2],c[x>>2]|0,c[y>>2]|0,c[p>>2]|0,c[A>>2]|0,c[B>>2]|0)|0;if(!(c[D>>2]|0))c[D>>2]=Qf(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0,2|c[w>>2],c[x>>2]|0,c[y>>2]|0,c[p>>2]|0,c[A>>2]|0,c[B>>2]|0)|0;if(!(c[D>>2]|0)){c[u>>2]=3;break}c[z>>2]=c[D>>2];d=c[z>>2]|0;i=v;return d|0}}else c[u>>2]=(a[1136]|0)==0?3:2;while(0);c[o>>2]=Sf(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[o>>2]|0)!=0?(e[(c[o>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(b[c[o>>2]>>1]|0)==(c[t>>2]|0):0){D=c[q>>2]|0;if(!(c[(c[q>>2]|0)+148>>2]|0)){gf(D);break}Lc(D,5,5048,C);c[z>>2]=5;d=c[z>>2]|0;i=v;return d|0}while(0);c[o>>2]=Sf(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[o>>2]|0)){c[z>>2]=7;d=c[z>>2]|0;i=v;return d|0}Gk(c[q>>2]|0,c[o>>2]|0);if(c[B>>2]|0){d=c[B>>2]|0;c[d>>2]=(c[d>>2]|0)+1}c[(c[o>>2]|0)+32>>2]=c[B>>2];b[(c[o>>2]|0)+2>>1]=e[(c[o>>2]|0)+2>>1]&3|c[w>>2];c[(c[o>>2]|0)+12>>2]=c[y>>2];c[(c[o>>2]|0)+16>>2]=c[p>>2];c[(c[o>>2]|0)+20>>2]=c[A>>2];c[(c[o>>2]|0)+4>>2]=c[x>>2];b[c[o>>2]>>1]=c[t>>2];c[z>>2]=0;d=c[z>>2]|0;i=v;return d|0}}while(0);c[z>>2]=Qb(126362)|0;d=c[z>>2]|0;i=v;return d|0}function Rf(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;f=i;i=i+32|0;g=f+16|0;j=f+12|0;h=f+8|0;k=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[k>>2]=Mb(c[j>>2]|0)|0;c[e>>2]=0;if(!(Sf(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[h>>2]|0,1,0)|0))c[e>>2]=Qf(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,1,0,51,0,0,0)|0;c[e>>2]=wd(c[g>>2]|0,c[e>>2]|0)|0;i=f;return c[e>>2]|0}function Sf(e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+64|0;x=y+44|0;q=y+40|0;o=y+36|0;p=y+32|0;m=y+28|0;n=y+49|0;r=y+48|0;t=y+24|0;u=y+20|0;s=y+16|0;w=y+12|0;z=y+8|0;v=y+4|0;l=y;c[q>>2]=e;c[o>>2]=f;c[p>>2]=g;c[m>>2]=h;a[n>>0]=j;a[r>>0]=k;c[u>>2]=0;c[s>>2]=0;c[w>>2]=((d[440+(d[c[o>>2]>>0]|0)>>0]|0)+(c[p>>2]|0)|0)%23|0;c[t>>2]=vk((c[q>>2]|0)+336|0,c[w>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[z>>2]=wk(c[t>>2]|0,c[m>>2]|0,a[n>>0]|0)|0;if((c[z>>2]|0)>(c[s>>2]|0)){c[u>>2]=c[t>>2];c[s>>2]=c[z>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[r>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[q>>2]|0)+24>>2]&2097152|0)==0:0)break;c[v>>2]=1576;c[s>>2]=0;c[t>>2]=vk(c[v>>2]|0,c[w>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[l>>2]=wk(c[t>>2]|0,c[m>>2]|0,a[n>>0]|0)|0;if((c[l>>2]|0)>(c[s>>2]|0)){c[u>>2]=c[t>>2];c[s>>2]=c[l>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);if((d[r>>0]|0)!=0&(c[s>>2]|0)<6?(e=se(c[q>>2]|0,37+(c[p>>2]|0)|0,0)|0,c[u>>2]=e,(e|0)!=0):0){c[(c[u>>2]|0)+24>>2]=(c[u>>2]|0)+36;b[c[u>>2]>>1]=c[m>>2];b[(c[u>>2]|0)+2>>1]=d[n>>0]|0;dF(c[(c[u>>2]|0)+24>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;a[(c[(c[u>>2]|0)+24>>2]|0)+(c[p>>2]|0)>>0]=0;xk((c[q>>2]|0)+336|0,c[u>>2]|0)}do if(c[u>>2]|0){if(((c[(c[u>>2]|0)+16>>2]|0)==0?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(d[r>>0]|0)==0:0)break;c[x>>2]=c[u>>2];e=c[x>>2]|0;i=y;return e|0}while(0);c[x>>2]=0;e=c[x>>2]|0;i=y;return e|0}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+24>>2];c[h>>2]=c[j>>2];c[f>>2]=qc(4928,h)|0;Ud(c[g>>2]|0,c[f>>2]|0,-1);hc(c[f>>2]|0);i=e;return}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[f>>2]|0;if((c[e>>2]|0)>0){Vf(b,5,c[e>>2]|0)|0;i=d;return 0}else{Vf(b,0,0)|0;i=d;return 0}return 0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+216>>2];c[(c[g>>2]|0)+212>>2]=c[j>>2];c[(c[g>>2]|0)+216>>2]=c[h>>2];i=f;return c[e>>2]|0}function Wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f+4|0;k=f;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=f;return 0}kh();_f(c[g>>2]|0,c[h>>2]|0)|0;lh();i=f;return 0}function Xf(b,d,e,f,g){b=b|0;d=d|0;e=e|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;j=i;i=i+48|0;n=j;o=j+32|0;l=j+28|0;m=j+24|0;p=j+20|0;q=j+16|0;r=j+12|0;k=j+8|0;h=j+4|0;c[l>>2]=b;c[m>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[h>>2]=10;if(c[q>>2]|0)c[c[q>>2]>>2]=-1;if(c[r>>2]|0)c[c[r>>2]>>2]=-1;if((c[p>>2]|0)<0|(c[p>>2]|0)>2){c[o>>2]=21;b=c[o>>2]|0;i=j;return b|0}if((c[m>>2]|0)!=0?(a[c[m>>2]>>0]|0)!=0:0)c[h>>2]=Yf(c[l>>2]|0,c[m>>2]|0)|0;if((c[h>>2]|0)<0){c[k>>2]=1;b=c[l>>2]|0;c[n>>2]=c[m>>2];Lc(b,1,1672,n)}else{c[k>>2]=Zf(c[l>>2]|0,c[h>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Nc(c[l>>2]|0,c[k>>2]|0)}c[k>>2]=wd(c[l>>2]|0,c[k>>2]|0)|0;c[o>>2]=c[k>>2];b=c[o>>2]|0;i=j;return b|0}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;j=d+16|0;g=d+12|0;e=d+8|0;f=d+4|0;h=d;c[j>>2]=a;c[g>>2]=b;c[e>>2]=-1;if(!(c[g>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[h>>2]=Mb(c[g>>2]|0)|0;c[e>>2]=(c[(c[j>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[j>>2]|0)+16>>2]|0)+(c[e>>2]<<4);while(1){if((c[e>>2]|0)<0){b=7;break}a=c[h>>2]|0;if((a|0)==(Mb(c[c[f>>2]>>2]|0)|0)?0==(xc(c[c[f>>2]>>2]|0,c[g>>2]|0)|0):0){b=7;break}c[e>>2]=(c[e>>2]|0)+ -1;c[f>>2]=(c[f>>2]|0)+ -16}if((b|0)==7){a=c[e>>2]|0;i=d;return a|0}return 0}function Zf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;n=i;i=i+32|0;k=n+28|0;p=n+24|0;m=n+20|0;g=n+16|0;o=n+12|0;h=n+8|0;l=n+4|0;j=n;c[k>>2]=a;c[p>>2]=b;c[m>>2]=d;c[g>>2]=e;c[o>>2]=f;c[h>>2]=0;c[j>>2]=0;c[l>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[l>>2]|0)<(c[(c[k>>2]|0)+20>>2]|0):0))break;if(((c[p>>2]|0)==10?1:(c[l>>2]|0)==(c[p>>2]|0))?(c[h>>2]=tk(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+4>>2]|0,c[m>>2]|0,c[g>>2]|0,c[o>>2]|0)|0,c[g>>2]=0,c[o>>2]=0,(c[h>>2]|0)==5):0){c[j>>2]=1;c[h>>2]=0}c[l>>2]=(c[l>>2]|0)+1}i=n;return((c[h>>2]|0)==0&(c[j>>2]|0)!=0?5:c[h>>2]|0)|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Xf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function $f(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;f=b+4|0;e=b;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+76>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){sk(4872);c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=1;f=c[d>>2]|0;i=b;return f|0}return 0}function ag(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;if((c[f>>2]|0)!=0?($f(c[f>>2]|0)|0)==0:0){c[b>>2]=Qb(126921)|0;f=c[b>>2]|0;i=e;return f|0}if((c[f>>2]|0)!=0?(d[(c[f>>2]|0)+64>>0]|0|0)==0:0){c[b>>2]=c[(c[f>>2]|0)+52>>2]&c[(c[f>>2]|0)+56>>2];f=c[b>>2]|0;i=e;return f|0}c[b>>2]=7;f=c[b>>2]|0;i=e;return f|0}function bg(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;e=i;i=i+32|0;f=e+16|0;j=e+12|0;k=e+8|0;h=e+4|0;g=e;c[j>>2]=a;c[k>>2]=b;c[h>>2]=d;if((c[k>>2]|0)<0|(c[k>>2]|0)>=12){c[f>>2]=-1;a=c[f>>2]|0;i=e;return a|0}c[g>>2]=c[(c[j>>2]|0)+88+(c[k>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1696+(c[k>>2]<<2)>>2]|0))c[h>>2]=c[1696+(c[k>>2]<<2)>>2];c[(c[j>>2]|0)+88+(c[k>>2]<<2)>>2]=c[h>>2]}c[f>>2]=c[g>>2];a=c[f>>2]|0;i=e;return a|0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=dg(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function dg(b,d,e,f){b=b|0;d=d|0;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;p=i;i=i+48|0;q=p;m=p+40|0;o=p+36|0;r=p+32|0;g=p+28|0;n=p+24|0;l=p+20|0;j=p+16|0;s=p+12|0;k=p+8|0;h=p+4|0;c[o>>2]=b;c[r>>2]=d;c[g>>2]=e;c[n>>2]=f;c[k>>2]=0;c[h>>2]=0;c[c[r>>2]>>2]=0;c[j>>2]=Zb()|0;if(c[j>>2]|0){c[m>>2]=c[j>>2];b=c[m>>2]|0;i=p;return b|0}if(!(1<<(c[g>>2]&7)&70)){c[m>>2]=Qb(127429)|0;b=c[m>>2]|0;i=p;return b|0}do if(c[9661]|0){if(c[g>>2]&32768){c[s>>2]=0;break}if(c[g>>2]&65536){c[s>>2]=1;break}else{c[s>>2]=c[9662];break}}else c[s>>2]=0;while(0);if(!(c[g>>2]&262144)){if(c[9715]|0)c[g>>2]=c[g>>2]|131072}else c[g>>2]=c[g>>2]&-131073;c[g>>2]=c[g>>2]&-655129;c[l>>2]=Mc(528,0)|0;do if(c[l>>2]|0){if((c[s>>2]|0)!=0?(c[(c[l>>2]|0)+12>>2]=8,(c[(c[l>>2]|0)+12>>2]|0)==0):0){hc(c[l>>2]|0);c[l>>2]=0;break}c[(c[l>>2]|0)+56>>2]=255;c[(c[l>>2]|0)+20>>2]=2;c[(c[l>>2]|0)+76>>2]=-264537850;c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+456;e=(c[l>>2]|0)+88|0;s=1696;f=e+48|0;do{c[e>>2]=c[s>>2];e=e+4|0;s=s+4|0}while((e|0)<(f|0));c[(c[l>>2]|0)+132>>2]=0;a[(c[l>>2]|0)+62>>0]=1;a[(c[l>>2]|0)+66>>0]=-1;e=38816;d=c[e+4>>2]|0;b=(c[l>>2]|0)+40|0;c[b>>2]=c[e>>2];c[b+4>>2]=d;c[(c[l>>2]|0)+72>>2]=0;c[(c[l>>2]|0)+136>>2]=2147483647;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|9437264;nh((c[l>>2]|0)+428|0);nh((c[l>>2]|0)+308|0);eg(c[l>>2]|0,3320,1,0,8,0)|0;eg(c[l>>2]|0,3320,3,0,8,0)|0;eg(c[l>>2]|0,3320,2,0,8,0)|0;eg(c[l>>2]|0,3328,1,1,8,0)|0;if(!(a[(c[l>>2]|0)+64>>0]|0)){b=$g(c[l>>2]|0,1,3320,0)|0;c[(c[l>>2]|0)+8>>2]=b;eg(c[l>>2]|0,3336,1,0,9,0)|0;c[(c[l>>2]|0)+48>>2]=c[g>>2];c[j>>2]=qh(c[n>>2]|0,c[o>>2]|0,g,c[l>>2]|0,k,h)|0;if(c[j>>2]|0){if((c[j>>2]|0)==7)a[(c[l>>2]|0)+64>>0]=1;e=c[l>>2]|0;d=c[j>>2]|0;b=(c[h>>2]|0)!=0?1200:0;c[q>>2]=c[h>>2];Lc(e,d,b,q);hc(c[h>>2]|0);break}c[j>>2]=rh(c[c[l>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+4|0,0,c[g>>2]|256)|0;if(c[j>>2]|0){if((c[j>>2]|0)==3082)c[j>>2]=7;Nc(c[l>>2]|0,c[j>>2]|0);break}Pc(c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2]|0);b=sh(c[l>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]=b;b=sh(c[l>>2]|0,0)|0;c[(c[(c[l>>2]|0)+16>>2]|0)+28>>2]=b;c[c[(c[l>>2]|0)+16>>2]>>2]=3344;a[(c[(c[l>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[l>>2]|0)+16>>2]|0)+16>>2]=1496;a[(c[(c[l>>2]|0)+16>>2]|0)+24>>0]=1;c[(c[l>>2]|0)+76>>2]=-1607883113;if(!(a[(c[l>>2]|0)+64>>0]|0)){Nc(c[l>>2]|0,0);th(c[l>>2]|0);c[j>>2]=ag(c[l>>2]|0)|0;if((c[j>>2]|0)==0?(uh(c[l>>2]|0),c[j>>2]=ag(c[l>>2]|0)|0,(c[j>>2]|0)!=0):0)break;if(c[j>>2]|0)Nc(c[l>>2]|0,c[j>>2]|0);Gf(c[l>>2]|0,0,c[9667]|0,c[9668]|0)|0;Uf(c[l>>2]|0,1e3)|0}}}while(0);hc(c[k>>2]|0);c[j>>2]=ag(c[l>>2]|0)|0;if((c[j>>2]|0)!=7){if(c[j>>2]|0)c[(c[l>>2]|0)+76>>2]=1266094736}else{Kf(c[l>>2]|0)|0;c[l>>2]=0}c[c[r>>2]>>2]=c[l>>2];c[m>>2]=wd(0,c[j>>2]|0)|0;b=c[m>>2]|0;i=p;return b|0}function eg(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;r=i;i=i+64|0;m=r;t=r+44|0;n=r+40|0;p=r+36|0;x=r+48|0;v=r+32|0;u=r+28|0;w=r+24|0;q=r+20|0;o=r+16|0;k=r+12|0;s=r+8|0;l=r+4|0;c[n>>2]=b;c[p>>2]=e;a[x>>0]=f;c[v>>2]=g;c[u>>2]=h;c[w>>2]=j;c[o>>2]=d[x>>0];if((c[o>>2]|0)==4|(c[o>>2]|0)==8)c[o>>2]=(a[1136]|0)==0?3:2;if((c[o>>2]|0)<1|(c[o>>2]|0)>3){c[t>>2]=Qb(127001)|0;b=c[t>>2]|0;i=r;return b|0}c[q>>2]=$g(c[n>>2]|0,c[o>>2]&255,c[p>>2]|0,0)|0;a:do if((c[q>>2]|0)!=0?(c[(c[q>>2]|0)+12>>2]|0)!=0:0){j=c[n>>2]|0;if(c[(c[n>>2]|0)+148>>2]|0){Lc(j,5,3248,m);c[t>>2]=5;b=c[t>>2]|0;i=r;return b|0}gf(j);ah(c[n>>2]|0);if((d[(c[q>>2]|0)+4>>0]&-9|0)==(c[o>>2]|0)){c[k>>2]=bh((c[n>>2]|0)+428|0,c[p>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=3)break a;c[l>>2]=(c[k>>2]|0)+((c[s>>2]|0)*20|0);if((d[(c[l>>2]|0)+4>>0]|0)==(d[(c[q>>2]|0)+4>>0]|0)){if(c[(c[l>>2]|0)+16>>2]|0)rb[c[(c[l>>2]|0)+16>>2]&31](c[(c[l>>2]|0)+8>>2]|0);c[(c[l>>2]|0)+12>>2]=0}c[s>>2]=(c[s>>2]|0)+1}}}while(0);c[q>>2]=$g(c[n>>2]|0,c[o>>2]&255,c[p>>2]|0,1)|0;if(!(c[q>>2]|0)){c[t>>2]=7;b=c[t>>2]|0;i=r;return b|0}else{c[(c[q>>2]|0)+12>>2]=c[u>>2];c[(c[q>>2]|0)+8>>2]=c[v>>2];c[(c[q>>2]|0)+16>>2]=c[w>>2];a[(c[q>>2]|0)+4>>0]=c[o>>2]|d[x>>0]&8;Nc(c[n>>2]|0,0);c[t>>2]=0;b=c[t>>2]|0;i=r;return b|0}return 0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[f>>2]|0)+60>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function gg(a,b,d,e){a=a|0;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,o=0;k=i;i=i+32|0;o=k+28|0;n=k+24|0;j=k+20|0;g=k+16|0;f=k+12|0;l=k+8|0;m=k+4|0;h=k;c[o>>2]=a;c[n>>2]=b;c[j>>2]=d;c[g>>2]=e;c[f>>2]=1;c[l>>2]=hg(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[l>>2]|0)){o=c[f>>2]|0;i=k;return o|0}Pc(c[l>>2]|0);c[m>>2]=Sb(c[l>>2]|0)|0;c[h>>2]=ed(c[m>>2]|0)|0;l=c[h>>2]|0;if((c[j>>2]|0)==7){c[c[g>>2]>>2]=l;c[f>>2]=0;o=c[f>>2]|0;i=k;return o|0}if(c[l>>2]|0){c[f>>2]=ig(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;o=c[f>>2]|0;i=k;return o|0}else{c[f>>2]=12;o=c[f>>2]|0;i=k;return o|0}return 0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){b=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[h>>2]|0)){b=6;break}if(!(xc(c[h>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){b=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==6){c[d>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];a=c[d>>2]|0;i=e;return a|0}else if((b|0)==8){c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}return 0}function ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=pb[c[(c[c[h>>2]>>2]|0)+40>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function jg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[9725];if(!(c[d>>2]|0)){e=0;i=b;return e|0}e=ub[c[d>>2]&31](c[e>>2]|0)|0;i=b;return e|0}function kg(a,d,f,g){a=a|0;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;m=i;i=i+32|0;j=m+24|0;p=m+20|0;o=m+16|0;h=m+12|0;n=m+8|0;k=m+4|0;l=m;c[p>>2]=a;c[o>>2]=d;c[h>>2]=f;c[n>>2]=g;c[k>>2]=0;c[l>>2]=c[(c[p>>2]|0)+4>>2];Pc(c[p>>2]|0);if((e[(c[l>>2]|0)+22>>1]|0)&2){c[j>>2]=8;p=c[j>>2]|0;i=m;return p|0}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[l>>2]|0)+32>>2]|0)-(c[(c[l>>2]|0)+36>>2]|0);if((c[o>>2]|0)>=512&(c[o>>2]|0)<=65536?((c[o>>2]|0)-1&c[o>>2]|0)==0:0){c[(c[l>>2]|0)+32>>2]=c[o>>2];Dg(c[l>>2]|0)}c[k>>2]=Eg(c[c[l>>2]>>2]|0,(c[l>>2]|0)+32|0,c[h>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=(c[(c[l>>2]|0)+32>>2]|0)-(c[h>>2]&65535);if(c[n>>2]|0){p=(c[l>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[j>>2]=c[k>>2];p=c[j>>2]|0;i=m;return p|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Cg(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function mg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;Bg(8,c[e>>2]|0);if((c[42]|0)!=0?(c[9709]|0)>=(c[e>>2]|0):0){c[d>>2]=c[41];c[41]=c[c[41]>>2];c[42]=(c[42]|0)+ -1;ic(3,1);e=c[d>>2]|0;i=b;return e|0}e=c[e>>2]|0;c[d>>2]=gc(e,((e|0)<0)<<31>>31)|0;if(!((c[9660]|0)!=0&(c[d>>2]|0)!=0)){e=c[d>>2]|0;i=b;return e|0}ic(4,Tb(c[d>>2]|0)|0);e=c[d>>2]|0;i=b;return e|0}function ng(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if((c[d>>2]|0)>>>0>=(c[9708]|0)>>>0?(c[d>>2]|0)>>>0<(c[40]|0)>>>0:0){c[e>>2]=c[d>>2];c[c[e>>2]>>2]=c[41];c[41]=c[e>>2];c[42]=(c[42]|0)+1;ic(3,-1);i=b;return}if(c[9660]|0){c[f>>2]=Tb(c[d>>2]|0)|0;ic(4,0-(c[f>>2]|0)|0);ic(0,0-(c[f>>2]|0)|0);ic(9,-1);rb[c[38640+40>>2]&31](c[d>>2]|0);i=b;return}else{rb[c[38640+40>>2]&31](c[d>>2]|0);i=b;return}}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}b=(Mb(c[g>>2]|0)|0)+1|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if(!(a[c[g>>2]>>0]|0)){g=8;break}c[j>>2]=UE(c[g>>2]|0,c[h>>2]|0)|0;d=(Mb(c[g>>2]|0)|0)+1|0;c[g>>2]=(c[g>>2]|0)+d;d=c[g>>2]|0;if(!(c[j>>2]|0)){g=6;break}b=(Mb(d)|0)+1|0;c[g>>2]=(c[g>>2]|0)+b}if((g|0)==6){c[f>>2]=d;b=c[f>>2]|0;i=e;return b|0}else if((g|0)==8){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}return 0}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;f=e+4|0;g=e;c[j>>2]=a;c[h>>2]=b;c[f>>2]=d;c[g>>2]=og(c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=(c[f>>2]|0)!=0&1;if(c[g>>2]|0){j=(qg(c[g>>2]|0,c[f>>2]&255)|0)&255;i=e;return j|0}else{j=c[f>>2]|0;i=e;return j|0}return 0}function qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((yg(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function rg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;f=g+24|0;k=g+20|0;j=g+16|0;m=g;l=g+12|0;h=g+8|0;c[k>>2]=b;c[j>>2]=e;do if((a[c[k>>2]>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[1224+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){b=m;c[b>>2]=0;c[b+4>>2]=0;c[l>>2]=2;while(1){e=c[l>>2]|0;if((a[(c[k>>2]|0)+(c[l>>2]|0)>>0]|0)!=48)break;c[l>>2]=e+1}c[h>>2]=e;while(1){if(!(d[1224+(d[(c[k>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&8))break;b=m;b=lF(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=D;e=bF(b|0,e|0,(vg(a[(c[k>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255|0,0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D;c[h>>2]=(c[h>>2]|0)+1}b=c[j>>2]|0;c[b+0>>2]=c[m+0>>2];c[b+4>>2]=c[m+4>>2];if(!(a[(c[k>>2]|0)+(c[h>>2]|0)>>0]|0))h=((c[h>>2]|0)-(c[l>>2]|0)|0)<=16;else h=0;c[f>>2]=h?0:1;b=c[f>>2]|0;i=g;return b|0}}while(0);e=c[k>>2]|0;b=c[j>>2]|0;c[f>>2]=wg(e,b,Mb(c[k>>2]|0)|0,1)|0;b=c[f>>2]|0;i=g;return b|0}function sg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ug(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function tg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[f>>2]|0)+15>>0]|0|0)!=0:0){g=1216;i=e;return g|0}g=c[(c[f>>2]|0)+168>>2]|0;i=e;return g|0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function wg(b,e,f,g){b=b|0;e=e|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;q=i;i=i+64|0;p=q+48|0;k=q+44|0;n=q+40|0;v=q+36|0;w=q+52|0;s=q+32|0;u=q;r=q+28|0;l=q+24|0;t=q+20|0;o=q+16|0;h=q+12|0;m=q+8|0;c[k>>2]=b;c[n>>2]=e;c[v>>2]=f;a[w>>0]=g;b=u;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[t>>2]=0;c[o>>2]=0;c[m>>2]=(c[k>>2]|0)+(c[v>>2]|0);if((d[w>>0]|0)==1)c[s>>2]=1;else{c[s>>2]=2;c[l>>2]=3-(d[w>>0]|0);while(1){if((c[l>>2]|0)>=(c[v>>2]|0))break;if(a[(c[k>>2]|0)+(c[l>>2]|0)>>0]|0)break;c[l>>2]=(c[l>>2]|0)+2}c[o>>2]=(c[l>>2]|0)<(c[v>>2]|0)&1;c[m>>2]=(c[k>>2]|0)+(c[l>>2]|0)+(d[w>>0]|0)+ -3;c[k>>2]=(c[k>>2]|0)+(d[w>>0]&1)}while(1){if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;if(!(d[1224+(d[c[k>>2]>>0]|0)>>0]&1))break;c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0)}do if((c[k>>2]|0)>>>0<(c[m>>2]|0)>>>0){if((a[c[k>>2]>>0]|0)==45){c[r>>2]=1;c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0);break}if((a[c[k>>2]>>0]|0)==43)c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0)}while(0);c[h>>2]=c[k>>2];while(1){if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0)}c[l>>2]=0;while(1){if(((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0>=(c[m>>2]|0)>>>0)break;b=a[(c[k>>2]|0)+(c[l>>2]|0)>>0]|0;c[t>>2]=b;if(!((b|0)>=48&(c[t>>2]|0)<=57))break;b=u;b=lF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=c[t>>2]|0;e=bF(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ZE(e|0,D|0,48,0)|0;b=u;c[b>>2]=e;c[b+4>>2]=D;c[l>>2]=(c[l>>2]|0)+(c[s>>2]|0)}b=u;e=c[b+4>>2]|0;v=(c[r>>2]|0)!=0;do if(!(e>>>0>2147483647|(e|0)==2147483647&(c[b>>2]|0)>>>0>4294967295)){w=c[u>>2]|0;u=c[u+4>>2]|0;if(v){e=ZE(0,0,w|0,u|0)|0;b=c[n>>2]|0;c[b>>2]=e;c[b+4>>2]=D;break}else{b=c[n>>2]|0;c[b>>2]=w;c[b+4>>2]=u;break}}else{b=c[n>>2]|0;c[b>>2]=v?0:-1;c[b+4>>2]=v?-2147483648:2147483647}while(0);if(!((c[t>>2]|0)!=0?((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0<(c[m>>2]|0)>>>0:0))j=31;do if((j|0)==31){if((c[l>>2]|0)==0?(c[h>>2]|0)==(c[k>>2]|0):0)break;if(!((c[o>>2]|0)!=0?1:(c[l>>2]|0)>((c[s>>2]|0)*19|0))){if((c[l>>2]|0)<((c[s>>2]|0)*19|0)){c[p>>2]=0;b=c[p>>2]|0;i=q;return b|0}c[t>>2]=xg(c[k>>2]|0,c[s>>2]|0)|0;if((c[t>>2]|0)<0){c[p>>2]=0;b=c[p>>2]|0;i=q;return b|0}if((c[t>>2]|0)>0){c[p>>2]=1;b=c[p>>2]|0;i=q;return b|0}else{c[p>>2]=(c[r>>2]|0)!=0?0:2;b=c[p>>2]|0;i=q;return b|0}}}while(0);c[p>>2]=1;b=c[p>>2]|0;i=q;return b|0}function xg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[e>>2]=0;c[k>>2]=1744;c[j>>2]=0;while(1){if(!((c[e>>2]|0)==0&(c[j>>2]|0)<18))break;b=$(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=((a[(c[g>>2]|0)+b>>0]|0)-(a[(c[k>>2]|0)+(c[j>>2]|0)>>0]|0)|0)*10;c[j>>2]=(c[j>>2]|0)+1}if(c[e>>2]|0){b=c[e>>2]|0;i=f;return b|0}c[e>>2]=(a[(c[g>>2]|0)+((c[h>>2]|0)*18|0)>>0]|0)-56;b=c[e>>2]|0;i=f;return b|0}function yg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+17|0;m=k+12|0;n=k+8|0;h=k+16|0;j=k+4|0;l=k;c[m>>2]=b;c[n>>2]=e;a[h>>0]=f;f=c[m>>2]|0;if((d[1224+(d[c[m>>2]>>0]|0)>>0]|0)&4){a[g>>0]=zg(f)|0;b=a[g>>0]|0;i=k;return b|0}c[l>>2]=Mb(f)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(7-(c[n>>2]|0)|0)){l=9;break}if((d[1800+(c[j>>2]|0)>>0]|0|0)==(c[l>>2]|0)?(Lb(1768+(d[1792+(c[j>>2]|0)>>0]|0)|0,c[m>>2]|0,c[l>>2]|0)|0)==0:0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){a[g>>0]=a[1808+(c[j>>2]|0)>>0]|0;b=a[g>>0]|0;i=k;return b|0}else if((l|0)==9){a[g>>0]=a[h>>0]|0;b=a[g>>0]|0;i=k;return b|0}return 0}function zg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;if(c[e>>2]|0)Ag(c[e>>2]|0,b)|0;i=d;return c[b>>2]|0}function Ag(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+48|0;j=g+32|0;k=g+28|0;h=g+24|0;m=g;f=g+20|0;o=g+16|0;n=g+12|0;l=g+8|0;c[k>>2]=b;c[h>>2]=e;b=m;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[1224+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[f>>2]=0;while(1){m=c[l>>2]|0;if(!((c[f>>2]|0)<8?(d[1224+(d[(c[k>>2]|0)+(c[f>>2]|0)>>0]|0)>>0]&8|0)!=0:0))break;c[l>>2]=(m<<4)+((vg(a[(c[k>>2]|0)+(c[f>>2]|0)>>0]|0)|0)&255);c[f>>2]=(c[f>>2]|0)+1}if((m&-2147483648|0)==0?(d[1224+(d[(c[k>>2]|0)+(c[f>>2]|0)>>0]|0)>>0]&8|0)==0:0){b=c[h>>2]|0;c[b+0>>2]=c[l+0>>2];c[j>>2]=1;b=c[j>>2]|0;i=g;return b|0}c[j>>2]=0;b=c[j>>2]|0;i=g;return b|0}}}else{c[n>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=11)break;b=(a[(c[k>>2]|0)+(c[f>>2]|0)>>0]|0)-48|0;c[o>>2]=b;if(!((b|0)>=0&(c[o>>2]|0)<=9))break;b=m;b=lF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=c[o>>2]|0;e=bF(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D;c[f>>2]=(c[f>>2]|0)+1}if((c[f>>2]|0)>10){c[j>>2]=0;b=c[j>>2]|0;i=g;return b|0}e=m;b=c[n>>2]|0;b=ZE(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;e=D;if((e|0)>0|(e|0)==0&b>>>0>2147483647){c[j>>2]=0;b=c[j>>2]|0;i=g;return b|0}if(c[n>>2]|0){e=m;e=ZE(0,0,c[e>>2]|0,c[e+4>>2]|0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D}c[c[h>>2]>>2]=c[m>>2];c[j>>2]=1;b=c[j>>2]|0;i=g;return b|0}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[48+(c[e>>2]<<2)>>2]=c[f>>2];if((c[48+(c[e>>2]<<2)>>2]|0)<=(c[88+(c[e>>2]<<2)>>2]|0)){i=d;return}c[88+(c[e>>2]<<2)>>2]=c[48+(c[e>>2]<<2)>>2];i=d;return}function Cg(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;h=f;c[j>>2]=a;c[k>>2]=b;if((c[k>>2]|0)<2){c[g>>2]=27;a=c[g>>2]|0;i=f;return a|0}c[l>>2]=((d[440+(d[c[j>>2]>>0]|0)>>0]|0)<<2^(d[440+(d[(c[j>>2]|0)+((c[k>>2]|0)-1)>>0]|0)>>0]|0)*3^c[k>>2]|0)%127|0;c[h>>2]=(d[2376+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[h>>2]|0)<0){b=9;break}if((d[2632+(c[h>>2]|0)>>0]|0|0)==(c[k>>2]|0)?(Lb(1816+(e[2760+(c[h>>2]<<1)>>1]|0)|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0){b=7;break}c[h>>2]=(d[2504+(c[h>>2]|0)>>0]|0)-1}if((b|0)==7){c[g>>2]=d[3008+(c[h>>2]|0)>>0];a=c[g>>2]|0;i=f;return a|0}else if((b|0)==9){c[g>>2]=27;a=c[g>>2]|0;i=f;return a|0}return 0}function Dg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=b;return}a=(c[d>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+ -4;Kg(c[(c[d>>2]|0)+80>>2]|0);c[(c[d>>2]|0)+80>>2]=0;i=b;return}function Eg(a,e,f){a=a|0;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;j=i;i=i+32|0;k=j+28|0;l=j+24|0;p=j+20|0;n=j+16|0;o=j+12|0;m=j+8|0;g=j;c[k>>2]=a;c[l>>2]=e;c[p>>2]=f;c[n>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(!((d[(c[k>>2]|0)+15>>0]|0)!=0?(c[(c[k>>2]|0)+24>>2]|0)!=0:0))h=3;do if(((h|0)==3?(a=(Fg(c[(c[k>>2]|0)+204>>2]|0)|0)==0,a&(c[o>>2]|0)!=0):0)?(c[o>>2]|0)!=(c[(c[k>>2]|0)+152>>2]|0):0){c[m>>2]=0;a=g;c[a>>2]=0;c[a+4>>2]=0;if((d[(c[k>>2]|0)+16>>0]|0)>0?(c[c[(c[k>>2]|0)+60>>2]>>2]|0)!=0:0)c[n>>2]=Gg(c[(c[k>>2]|0)+60>>2]|0,g)|0;if((c[n>>2]|0)==0?(c[m>>2]=Hg(c[o>>2]|0)|0,(c[m>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Ig(c[k>>2]|0);c[n>>2]=Jg(c[(c[k>>2]|0)+204>>2]|0,c[o>>2]|0)|0}if(!(c[n>>2]|0)){Kg(c[(c[k>>2]|0)+200>>2]|0);c[(c[k>>2]|0)+200>>2]=c[m>>2];a=g;a=bF(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,0)|0;a=ZE(a|0,D|0,1,0)|0;a=jF(a|0,D|0,c[o>>2]|0,0)|0;c[(c[k>>2]|0)+24>>2]=a;c[(c[k>>2]|0)+152>>2]=c[o>>2];break}else{Kg(c[m>>2]|0);break}}while(0);c[c[l>>2]>>2]=c[(c[k>>2]|0)+152>>2];if(c[n>>2]|0){a=c[n>>2]|0;i=j;return a|0}if((c[p>>2]|0)<0)c[p>>2]=b[(c[k>>2]|0)+142>>1];b[(c[k>>2]|0)+142>>1]=c[p>>2];Lg(c[k>>2]|0);a=c[n>>2]|0;i=j;return a|0}function Fg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+24>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Hg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ug(c[d>>2]|0)|0;i=b;return a|0}function Ig(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Og(c[(c[d>>2]|0)+88>>2]|0);Pg(c[(c[d>>2]|0)+204>>2]|0);i=b;return}function Jg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;h=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;if(c[(c[h>>2]|0)+20>>2]|0){c[g>>2]=pb[c[38640+120>>2]&31](c[j>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+40|0,d[(c[h>>2]|0)+28>>0]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=e;return a|0}k=c[9691]|0;b=c[g>>2]|0;a=Ng(c[h>>2]|0)|0;sb[k&7](b,a);if(c[(c[h>>2]|0)+40>>2]|0)rb[c[38640+148>>2]&31](c[(c[h>>2]|0)+40>>2]|0);c[(c[h>>2]|0)+40>>2]=c[g>>2];c[(c[h>>2]|0)+44>>2]=0;c[(c[h>>2]|0)+20>>2]=c[j>>2]}c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}function Kg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Mg(c[d>>2]|0)|0;i=b;return}function Lg(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Mg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;f=b+8|0;e=b+4|0;g=b;c[f>>2]=a;c[e>>2]=0;if(!(c[f>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}if((c[f>>2]|0)>>>0>=(c[795]|0)>>>0?(c[f>>2]|0)>>>0<(c[796]|0)>>>0:0){ic(1,-1);c[g>>2]=c[f>>2];c[c[g>>2]>>2]=c[798];c[798]=c[g>>2];c[799]=(c[799]|0)+1;c[800]=(c[799]|0)<(c[794]|0)&1}else{c[e>>2]=Tb(c[f>>2]|0)|0;ic(2,0-(c[e>>2]|0)|0);hc(c[f>>2]|0)}c[d>>2]=c[e>>2];g=c[d>>2]|0;i=b;return g|0}function Ng(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;a=c[(c[e>>2]|0)+16>>2]|0;if((c[(c[e>>2]|0)+16>>2]|0)>=0){c[d>>2]=a;a=c[d>>2]|0;i=b;return a|0}else{f=lF(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;a=(c[(c[e>>2]|0)+20>>2]|0)+(c[(c[e>>2]|0)+24>>2]|0)|0;a=jF(f|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;c[d>>2]=a;a=c[d>>2]|0;i=b;return a|0}return 0}function Og(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+16>>2]=1;c[d>>2]=c[(c[d>>2]|0)+44>>2]}i=b;return}function Pg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qg(c[d>>2]|0,0);i=b;return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+40>>2]|0)){i=d;return}c[g>>2]=c[c[e>>2]>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+32>>2];if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[f>>2]|0)>>>0)Rg(c[g>>2]|0);c[g>>2]=c[h>>2]}if((c[f>>2]|0)==0?(c[(c[e>>2]|0)+44>>2]|0)!=0:0){_E(c[(c[(c[e>>2]|0)+44>>2]|0)+4>>2]|0,0,c[(c[e>>2]|0)+20>>2]|0)|0;c[f>>2]=1}sb[c[38640+144>>2]&7](c[(c[e>>2]|0)+40>>2]|0,(c[f>>2]|0)+1|0);i=d;return}function Rg(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;if(!(e[(c[f>>2]|0)+24>>1]&2)){i=d;return}Sg(c[f>>2]|0,1);a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]&-7;if(b[(c[f>>2]|0)+26>>1]|0){i=d;return}Tg(c[f>>2]|0);i=d;return}function Sg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;g=j+8|0;k=j+12|0;h=j+4|0;l=j;c[g>>2]=b;a[k>>0]=f;c[h>>2]=c[(c[g>>2]|0)+28>>2];if(d[k>>0]&1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[g>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+36>>2];while(1){if(c[l>>2]|0)b=(e[(c[l>>2]|0)+24>>1]&4|0)!=0;else b=0;f=c[l>>2]|0;if(!b)break;c[l>>2]=c[f+36>>2]}c[(c[h>>2]|0)+8>>2]=f}l=c[(c[g>>2]|0)+36>>2]|0;if(c[(c[g>>2]|0)+32>>2]|0)c[(c[(c[g>>2]|0)+32>>2]|0)+36>>2]=l;else c[(c[h>>2]|0)+4>>2]=l;l=c[(c[g>>2]|0)+32>>2]|0;if(!(c[(c[g>>2]|0)+36>>2]|0)){c[c[h>>2]>>2]=l;if((c[c[h>>2]>>2]|0)==0?(d[(c[h>>2]|0)+28>>0]|0)!=0:0)a[(c[h>>2]|0)+29>>0]=2}else c[(c[(c[g>>2]|0)+36>>2]|0)+32>>2]=l;c[(c[g>>2]|0)+32>>2]=0;c[(c[g>>2]|0)+36>>2]=0}if(!(d[k>>0]&2)){i=j;return}c[(c[g>>2]|0)+32>>2]=c[c[h>>2]>>2];k=c[g>>2]|0;if(!(c[(c[g>>2]|0)+32>>2]|0)){c[(c[h>>2]|0)+4>>2]=k;if(a[(c[h>>2]|0)+28>>0]|0)a[(c[h>>2]|0)+29>>0]=1}else c[(c[(c[g>>2]|0)+32>>2]|0)+36>>2]=k;c[c[h>>2]>>2]=c[g>>2];if(c[(c[h>>2]|0)+8>>2]|0){i=j;return}if(e[(c[g>>2]|0)+24>>1]&4){i=j;return}c[(c[h>>2]|0)+8>>2]=c[g>>2];i=j;return}function Tg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(!(a[(c[(c[e>>2]|0)+28>>2]|0)+28>>0]|0)){i=d;return}if((c[(c[e>>2]|0)+20>>2]|0)==1)c[(c[(c[e>>2]|0)+28>>2]|0)+44>>2]=0;vb[c[38640+136>>2]&63](c[(c[(c[e>>2]|0)+28>>2]|0)+40>>2]|0,c[c[e>>2]>>2]|0,0);i=d;return}function Ug(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[b>>2]=0;Bg(7,c[f>>2]|0);if((c[f>>2]|0)<=(c[792]|0)?(c[b>>2]=c[798],(c[b>>2]|0)!=0):0){c[798]=c[c[798]>>2];c[799]=(c[799]|0)+ -1;c[800]=(c[799]|0)<(c[794]|0)&1;ic(1,1)}if(c[b>>2]|0){f=c[b>>2]|0;i=d;return f|0}f=c[f>>2]|0;c[b>>2]=gc(f,((f|0)<0)<<31>>31)|0;if(!(c[b>>2]|0)){f=c[b>>2]|0;i=d;return f|0}c[e>>2]=Tb(c[b>>2]|0)|0;ic(2,c[e>>2]|0);f=c[b>>2]|0;i=d;return f|0}function Vg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Mc(512,0)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=b;return e|0}c[c[d>>2]>>2]=c[e>>2];e=c[d>>2]|0;i=b;return e|0}function Wg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;h=m+28|0;j=m+24|0;k=m+20|0;o=m+16|0;p=m+12|0;n=m+8|0;f=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;if(!(c[j>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}c[k>>2]=(c[k>>2]|0)+ -1;while(1){if((c[c[j>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[j>>2]|0)+8>>2]|0))break;c[p>>2]=((c[k>>2]|0)>>>0)/((c[(c[j>>2]|0)+8>>2]|0)>>>0)|0;c[k>>2]=((c[k>>2]|0)>>>0)%((c[(c[j>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2]|0)==0?(b=Vg(c[(c[j>>2]|0)+8>>2]|0)|0,c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2]=b,(c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2]|0)==0):0){g=8;break}c[j>>2]=c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2]}if((g|0)==8){c[h>>2]=7;b=c[h>>2]|0;i=m;return b|0}p=c[k>>2]|0;if((c[c[j>>2]>>2]|0)>>>0<=4e3){b=(c[j>>2]|0)+12+(((c[k>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(p&7);c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}c[k>>2]=p+1;c[o>>2]=(p>>>0)%125|0;a:do if(!(c[(c[j>>2]|0)+12+(c[o>>2]<<2)>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)>>>0>=124)g=17}else{while(1){if((c[(c[j>>2]|0)+12+(c[o>>2]<<2)>>2]|0)==(c[k>>2]|0))break;b=(c[o>>2]|0)+1|0;c[o>>2]=b;c[o>>2]=(c[o>>2]|0)>>>0>=125?0:b;if(!(c[(c[j>>2]|0)+12+(c[o>>2]<<2)>>2]|0)){g=17;break a}}c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}while(0);if((g|0)==17?(c[(c[j>>2]|0)+4>>2]|0)>>>0>=62:0){c[l>>2]=Qe(0,500,0)|0;if(!(c[l>>2]|0)){c[h>>2]=7;b=c[h>>2]|0;i=m;return b|0}dF(c[l>>2]|0,(c[j>>2]|0)+12|0,500)|0;_E((c[j>>2]|0)+12|0,0,500)|0;c[(c[j>>2]|0)+8>>2]=(((c[c[j>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[f>>2]=Wg(c[j>>2]|0,c[k>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if(c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0){b=Wg(c[j>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[f>>2]=c[f>>2]|b}c[n>>2]=(c[n>>2]|0)+1}Xb(0,c[l>>2]|0);c[h>>2]=c[f>>2];b=c[h>>2]|0;i=m;return b|0}b=(c[j>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[j>>2]|0)+12+(c[o>>2]<<2)>>2]=c[k>>2];c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}function Xg(b,e,f){b=b|0;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;n=i;i=i+32|0;j=n+24|0;k=n+20|0;o=n+16|0;p=n+12|0;m=n+8|0;l=n+4|0;g=n;c[j>>2]=b;c[k>>2]=e;c[o>>2]=f;if(!(c[j>>2]|0)){i=n;return}c[k>>2]=(c[k>>2]|0)+ -1;while(1){if(!(c[(c[j>>2]|0)+8>>2]|0))break;c[p>>2]=((c[k>>2]|0)>>>0)/((c[(c[j>>2]|0)+8>>2]|0)>>>0)|0;c[k>>2]=((c[k>>2]|0)>>>0)%((c[(c[j>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2];if(!(c[j>>2]|0)){h=16;break}}if((h|0)==16){i=n;return}if((c[c[j>>2]>>2]|0)>>>0<=4e3){b=(c[j>>2]|0)+12+(((c[k>>2]|0)>>>0)/8|0)|0;a[b>>0]=(d[b>>0]|0)&~(1<<(c[k>>2]&7));i=n;return}c[l>>2]=c[o>>2];dF(c[l>>2]|0,(c[j>>2]|0)+12|0,500)|0;_E((c[j>>2]|0)+12|0,0,500)|0;c[(c[j>>2]|0)+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if((c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)!=0?(c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)!=((c[k>>2]|0)+1|0):0){c[g>>2]=(((c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;b=(c[j>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;while(1){if(!(c[(c[j>>2]|0)+12+(c[g>>2]<<2)>>2]|0))break;b=(c[g>>2]|0)+1|0;c[g>>2]=b;c[g>>2]=(c[g>>2]|0)>>>0>=125?0:b}c[(c[j>>2]|0)+12+(c[g>>2]<<2)>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]}c[m>>2]=(c[m>>2]|0)+1}i=n;return}function Yg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;l=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}if((c[h>>2]|0)==0?1:(c[h>>2]|0)>>>0>(c[c[g>>2]>>2]|0)>>>0){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}c[h>>2]=(c[h>>2]|0)+ -1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){k=8;break}}if((k|0)==8){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}k=c[h>>2]|0;if((c[c[g>>2]>>2]|0)>>>0<=4e3){c[f>>2]=((d[(c[g>>2]|0)+12+((k>>>0)/8|0)>>0]|0)&1<<(c[h>>2]&7)|0)!=0&1;a=c[f>>2]|0;i=e;return a|0}c[h>>2]=k+1;c[j>>2]=(k>>>0)%125|0;while(1){if(!(c[(c[g>>2]|0)+12+(c[j>>2]<<2)>>2]|0)){k=16;break}if((c[(c[g>>2]|0)+12+(c[j>>2]<<2)>>2]|0)==(c[h>>2]|0)){k=14;break}c[j>>2]=(((c[j>>2]|0)+1|0)>>>0)%125|0}if((k|0)==14){c[f>>2]=1;a=c[f>>2]|0;i=e;return a|0}else if((k|0)==16){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}return 0}function Zg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function _g(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;if(!(c[e>>2]|0)){i=b;return}a:do if(c[(c[e>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;_g(c[(c[e>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);hc(c[e>>2]|0);i=b;return}function $g(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;n=j+12|0;k=j+16|0;m=j+8|0;l=j+4|0;h=j;c[n>>2]=b;a[k>>0]=e;c[m>>2]=f;c[l>>2]=g;g=c[n>>2]|0;if(c[m>>2]|0)c[h>>2]=fh(g,c[m>>2]|0,c[l>>2]|0)|0;else c[h>>2]=c[g+8>>2];if(!(c[h>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[h>>2]=(c[h>>2]|0)+(((d[k>>0]|0)-1|0)*20|0);n=c[h>>2]|0;i=j;return n|0}function ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;g=b+20|0;d=b+16|0;f=b+12|0;e=b+8|0;h=b+4|0;j=b;c[g>>2]=a;c[f>>2]=0;c[d>>2]=c[(c[g>>2]|0)+16>>2];while(1){if((c[f>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;a:do if(c[(c[d>>2]|0)+4>>2]|0){Pc(c[(c[d>>2]|0)+4>>2]|0);c[e>>2]=c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2];while(1){if(!(c[e>>2]|0))break a;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[j>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if((c[(c[j>>2]|0)+40>>2]|0)!=0?(c[(c[(c[j>>2]|0)+40>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){eh(c[(c[j>>2]|0)+40>>2]|0);c[(c[j>>2]|0)+40>>2]=0}c[j>>2]=c[(c[j>>2]|0)+20>>2]}c[e>>2]=c[c[e>>2]>>2]}}while(0);c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+16}i=b;return}function bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;f=d+8|0;e=d+4|0;c[g>>2]=a;c[f>>2]=b;c[e>>2]=ch(c[g>>2]|0,c[f>>2]|0,d)|0;if(!(c[e>>2]|0)){g=0;i=d;return g|0}g=c[(c[e>>2]|0)+8>>2]|0;i=d;return g|0}function ch(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,l=0,m=0,n=0;e=i;i=i+32|0;f=e+28|0;n=e+24|0;h=e+20|0;k=e+16|0;g=e+12|0;j=e+8|0;l=e+4|0;m=e;c[n>>2]=a;c[h>>2]=b;c[k>>2]=d;if(c[(c[n>>2]|0)+12>>2]|0){a=dh(c[h>>2]|0)|0;c[l>>2]=(a>>>0)%((c[c[n>>2]>>2]|0)>>>0)|0;c[m>>2]=(c[(c[n>>2]|0)+12>>2]|0)+(c[l>>2]<<3);c[g>>2]=c[(c[m>>2]|0)+4>>2];c[j>>2]=c[c[m>>2]>>2]}else{c[l>>2]=0;c[g>>2]=c[(c[n>>2]|0)+8>>2];c[j>>2]=c[(c[n>>2]|0)+4>>2]}c[c[k>>2]>>2]=c[l>>2];while(1){a=c[j>>2]|0;c[j>>2]=a+ -1;if(!a){g=9;break}a=(xc(c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0)|0)==0;k=c[g>>2]|0;if(a){g=7;break}c[g>>2]=c[k>>2]}if((g|0)==7){c[f>>2]=k;a=c[f>>2]|0;i=e;return a|0}else if((g|0)==9){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}return 0}function dh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+4|0;h=e;g=e+8|0;c[f>>2]=b;c[h>>2]=0;while(1){j=c[f>>2]|0;c[f>>2]=j+1;j=a[j>>0]|0;a[g>>0]=j;b=c[h>>2]|0;if(!(j&255))break;c[h>>2]=b<<3^c[h>>2]^(d[440+(d[g>>0]|0)>>0]|0)}i=e;return b|0}function eh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+ -1;if(c[c[d>>2]>>2]|0){i=b;return}Xb(0,c[d>>2]|0);i=b;return}function fh(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;f=i;i=i+32|0;l=f+20|0;j=f+16|0;m=f+12|0;g=f+8|0;k=f+4|0;h=f;c[l>>2]=b;c[j>>2]=d;c[m>>2]=e;c[g>>2]=bh((c[l>>2]|0)+428|0,c[j>>2]|0)|0;if(!(0==(c[g>>2]|0)&(c[m>>2]|0)!=0)){m=c[g>>2]|0;i=f;return m|0}c[k>>2]=Mb(c[j>>2]|0)|0;c[g>>2]=se(c[l>>2]|0,61+(c[k>>2]|0)|0,0)|0;if(!(c[g>>2]|0)){m=c[g>>2]|0;i=f;return m|0}c[h>>2]=0;c[c[g>>2]>>2]=(c[g>>2]|0)+60;a[(c[g>>2]|0)+4>>0]=1;c[(c[g>>2]|0)+20>>2]=(c[g>>2]|0)+60;a[(c[g>>2]|0)+24>>0]=2;c[(c[g>>2]|0)+40>>2]=(c[g>>2]|0)+60;a[(c[g>>2]|0)+44>>0]=3;dF(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[c[g>>2]>>2]|0)+(c[k>>2]|0)>>0]=0;c[h>>2]=gh((c[l>>2]|0)+428|0,c[c[g>>2]>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){m=c[g>>2]|0;i=f;return m|0}a[(c[l>>2]|0)+64>>0]=1;Xb(c[l>>2]|0,c[h>>2]|0);c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}function gh(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,l=0,m=0,n=0;f=i;i=i+32|0;e=f+28|0;g=f+24|0;n=f+20|0;m=f+16|0;j=f+12|0;k=f+8|0;h=f+4|0;l=f;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=ch(c[g>>2]|0,c[n>>2]|0,j)|0;if(c[k>>2]|0){c[l>>2]=c[(c[k>>2]|0)+8>>2];if(!(c[m>>2]|0))hh(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0);else{c[(c[k>>2]|0)+8>>2]=c[m>>2];c[(c[k>>2]|0)+12>>2]=c[n>>2]}c[e>>2]=c[l>>2];a=c[e>>2]|0;i=f;return a|0}if(!(c[m>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}c[h>>2]=gc(16,0)|0;if(!(c[h>>2]|0)){c[e>>2]=c[m>>2];a=c[e>>2]|0;i=f;return a|0}c[(c[h>>2]|0)+12>>2]=c[n>>2];c[(c[h>>2]|0)+8>>2]=c[m>>2];a=(c[g>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;if(((c[(c[g>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[g>>2]|0)+4>>2]|0)>>>0>c[c[g>>2]>>2]<<1>>>0:0)?(ih(c[g>>2]|0,c[(c[g>>2]|0)+4>>2]<<1)|0)!=0:0){a=dh(c[n>>2]|0)|0;c[j>>2]=(a>>>0)%((c[c[g>>2]>>2]|0)>>>0)|0}if(c[(c[g>>2]|0)+12>>2]|0)j=(c[(c[g>>2]|0)+12>>2]|0)+(c[j>>2]<<3)|0;else j=0;jh(c[g>>2]|0,j,c[h>>2]|0);c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;h=j+4|0;g=j;c[f>>2]=a;c[e>>2]=b;c[h>>2]=d;d=c[c[e>>2]>>2]|0;if(c[(c[e>>2]|0)+4>>2]|0)c[c[(c[e>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[e>>2]>>2]|0)c[(c[c[e>>2]>>2]|0)+4>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[f>>2]|0)+12>>2]|0){c[g>>2]=(c[(c[f>>2]|0)+12>>2]|0)+(c[h>>2]<<3);if((c[(c[g>>2]|0)+4>>2]|0)==(c[e>>2]|0))c[(c[g>>2]|0)+4>>2]=c[c[e>>2]>>2];a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+ -1}hc(c[e>>2]|0);a=(c[f>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+ -1;if(c[(c[f>>2]|0)+4>>2]|0){i=j;return}mh(c[f>>2]|0);i=j;return}function ih(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;i=i+32|0;e=d+24|0;k=d+20|0;g=d+16|0;l=d+12|0;f=d+8|0;j=d+4|0;h=d;c[k>>2]=a;c[g>>2]=b;c[g>>2]=c[g>>2]<<3>>>0>1024?128:b;if((c[g>>2]|0)==(c[c[k>>2]>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}kh();c[l>>2]=gc(c[g>>2]<<3,0)|0;lh();if(!(c[l>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}hc(c[(c[k>>2]|0)+12>>2]|0);c[(c[k>>2]|0)+12>>2]=c[l>>2];a=((Tb(c[l>>2]|0)|0)>>>0)/8|0;c[g>>2]=a;c[c[k>>2]>>2]=a;_E(c[l>>2]|0,0,c[g>>2]<<3|0)|0;c[f>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=0;while(1){if(!(c[f>>2]|0))break;a=dh(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[g>>2]|0)>>>0)|0;c[j>>2]=c[c[f>>2]>>2];jh(c[k>>2]|0,(c[l>>2]|0)+(c[h>>2]<<3)|0,c[f>>2]|0);c[f>>2]=c[j>>2]}c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g+12|0;j=g+8|0;e=g+4|0;h=g;c[f>>2]=a;c[j>>2]=b;c[e>>2]=d;if(c[j>>2]|0){if(c[c[j>>2]>>2]|0)d=c[(c[j>>2]|0)+4>>2]|0;else d=0;c[h>>2]=d;a=c[j>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[j>>2]|0)+4>>2]=c[e>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[e>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[e>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[e>>2];i=g;return}c[c[e>>2]>>2]=c[h>>2];c[(c[e>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];j=c[e>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=j;else c[(c[f>>2]|0)+8>>2]=j;c[(c[h>>2]|0)+4>>2]=c[e>>2];i=g;return}function kh(){var a=0;a=i;if(!(c[802]|0)){i=a;return}wb[c[3208>>2]&0]();i=a;return}function lh(){var a=0;a=i;if(!(c[803]|0)){i=a;return}wb[c[3208+4>>2]&0]();i=a;return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;f=d;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;hc(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];hc(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[b>>2]|0)+4>>2]=0;i=d;return}function nh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function oh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+24|0;n=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;h=m+4|0;k=m;c[o>>2]=a;c[n>>2]=b;c[g>>2]=d;c[l>>2]=e;c[j>>2]=f;c[k>>2]=(c[n>>2]|0)<(c[l>>2]|0)?c[n>>2]|0:c[l>>2]|0;c[h>>2]=TE(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){a=c[h>>2]|0;i=m;return a|0}if(((c[o>>2]|0)!=0?(rk((c[g>>2]|0)+(c[k>>2]|0)|0,(c[n>>2]|0)-(c[k>>2]|0)|0)|0)!=0:0)?(rk((c[j>>2]|0)+(c[k>>2]|0)|0,(c[l>>2]|0)-(c[k>>2]|0)|0)|0)!=0:0){a=c[h>>2]|0;i=m;return a|0}c[h>>2]=(c[n>>2]|0)-(c[l>>2]|0);a=c[h>>2]|0;i=m;return a|0}function ph(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;j=g+16|0;m=g+12|0;k=g+8|0;l=g+4|0;h=g;c[g+20>>2]=a;c[j>>2]=b;c[m>>2]=d;c[k>>2]=e;c[l>>2]=f;c[h>>2]=Lb(c[m>>2]|0,c[l>>2]|0,(c[j>>2]|0)<(c[k>>2]|0)?c[j>>2]|0:c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=g;return m|0}c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);m=c[h>>2]|0;i=g;return m|0}function qh(b,e,f,g,h,j){b=b|0;e=e|0;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,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;z=i;i=i+128|0;G=z;C=z+116|0;O=z+112|0;F=z+108|0;K=z+104|0;J=z+100|0;L=z+96|0;H=z+92|0;I=z+88|0;v=z+84|0;n=z+80|0;A=z+76|0;D=z+120|0;N=z+72|0;t=z+68|0;B=z+64|0;E=z+60|0;k=z+56|0;M=z+52|0;l=z+48|0;s=z+44|0;m=z+40|0;u=z+36|0;o=z+32|0;p=z+28|0;q=z+24|0;r=z+20|0;x=z+16|0;w=z+12|0;y=z+8|0;c[O>>2]=b;c[F>>2]=e;c[K>>2]=f;c[J>>2]=g;c[L>>2]=h;c[H>>2]=j;c[I>>2]=0;c[v>>2]=c[c[K>>2]>>2];c[n>>2]=c[O>>2];c[N>>2]=Mb(c[F>>2]|0)|0;if(c[v>>2]&64)if((c[N>>2]|0)>=5)j=4;else j=83;else if((c[9663]|0)!=0&(c[N>>2]|0)>=5)j=4;else j=83;a:do if((j|0)==4)if(!(TE(c[F>>2]|0,4608,5)|0)){c[k>>2]=0;c[M>>2]=(c[N>>2]|0)+2;c[v>>2]=c[v>>2]|64;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[N>>2]|0))break;c[M>>2]=(c[M>>2]|0)+((a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)==38&1);c[E>>2]=(c[E>>2]|0)+1}c[A>>2]=fc(c[M>>2]|0)|0;if(!(c[A>>2]|0)){c[C>>2]=7;O=c[C>>2]|0;i=z;return O|0}c[E>>2]=5;do if((a[(c[F>>2]|0)+5>>0]|0)==47?(a[(c[F>>2]|0)+6>>0]|0)==47:0){c[E>>2]=7;while(1){if(a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)N=(a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)!=47;else N=0;M=c[E>>2]|0;if(!N)break;c[E>>2]=M+1}if((M|0)!=7){if((c[E>>2]|0)==16?(TE(4616,(c[F>>2]|0)+7|0,9)|0)==0:0)break;O=(c[F>>2]|0)+7|0;c[G>>2]=(c[E>>2]|0)-7;c[G+4>>2]=O;O=qc(4632,G)|0;c[c[H>>2]>>2]=O;c[I>>2]=1;break a}}while(0);c[B>>2]=0;b:while(1){O=a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0;a[D>>0]=O;if(!(O<<24>>24))break;if((a[D>>0]|0)==35)break;c[E>>2]=(c[E>>2]|0)+1;do if(((a[D>>0]|0)==37?(d[1224+(d[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[1224+(d[(c[F>>2]|0)+((c[E>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){O=c[E>>2]|0;c[E>>2]=O+1;c[l>>2]=((vg(a[(c[F>>2]|0)+O>>0]|0)|0)&255)<<4;O=c[E>>2]|0;c[E>>2]=O+1;O=(vg(a[(c[F>>2]|0)+O>>0]|0)|0)&255;c[l>>2]=(c[l>>2]|0)+O;if(c[l>>2]|0){a[D>>0]=c[l>>2];break}while(1){O=a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0;a[D>>0]=O;if(!(O<<24>>24))continue b;if((a[D>>0]|0)==35)continue b;if((c[B>>2]|0)==0?(a[D>>0]|0)==63:0)continue b;if((c[B>>2]|0)==1){if((a[D>>0]|0)==61)continue b;if((a[D>>0]|0)==38)continue b}if((c[B>>2]|0)==2?(a[D>>0]|0)==38:0)continue b;c[E>>2]=(c[E>>2]|0)+1}}else j=39;while(0);c:do if((j|0)==39){j=0;do if((c[B>>2]|0)==1){if((a[D>>0]|0)!=38?(a[D>>0]|0)!=61:0)break;if(!(a[(c[A>>2]|0)+((c[k>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0))continue b;if((a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)==35)continue b;if((a[(c[F>>2]|0)+((c[E>>2]|0)-1)>>0]|0)==38)continue b;c[E>>2]=(c[E>>2]|0)+1}else{if((a[D>>0]|0)==38){O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=0}else c[B>>2]=2;a[D>>0]=0;break c}}while(0);if(!((c[B>>2]|0)==0?(a[D>>0]|0)==63:0)){if((c[B>>2]|0)!=2)break;if((a[D>>0]|0)!=38)break}a[D>>0]=0;c[B>>2]=1}while(0);b=a[D>>0]|0;O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=b}if((c[B>>2]|0)==1){O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=0}O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=0;O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=0;O=(Mb(c[A>>2]|0)|0)+1|0;c[t>>2]=(c[A>>2]|0)+O;while(1){if(!(a[c[t>>2]>>0]|0)){j=86;break a}c[s>>2]=Mb(c[t>>2]|0)|0;c[m>>2]=(c[t>>2]|0)+((c[s>>2]|0)+1);c[u>>2]=Mb(c[m>>2]|0)|0;if((c[s>>2]|0)==3?(TE(4664,c[t>>2]|0,3)|0)==0:0)c[n>>2]=c[m>>2];else{c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==5?(TE(4672,c[t>>2]|0,5)|0)==0:0){c[q>>2]=393216;c[o>>2]=4680;c[r>>2]=c[q>>2];c[p>>2]=4672}if((c[s>>2]|0)==4?(TE(4720,c[t>>2]|0,4)|0)==0:0){c[q>>2]=135;c[o>>2]=4728;c[r>>2]=c[q>>2]&c[v>>2];c[p>>2]=4800}if(c[o>>2]|0){c[w>>2]=0;c[x>>2]=0;while(1){if(!(c[(c[o>>2]|0)+(c[x>>2]<<3)>>2]|0))break;c[y>>2]=c[(c[o>>2]|0)+(c[x>>2]<<3)>>2];O=c[u>>2]|0;if((O|0)==(Mb(c[y>>2]|0)|0)?0==(TE(c[m>>2]|0,c[y>>2]|0,c[u>>2]|0)|0):0){j=75;break}c[x>>2]=(c[x>>2]|0)+1}if((j|0)==75){j=0;c[w>>2]=c[(c[o>>2]|0)+(c[x>>2]<<3)+4>>2]}if(!(c[w>>2]|0)){j=78;break}if((c[w>>2]&-129|0)>(c[r>>2]|0)){j=80;break}c[v>>2]=c[v>>2]&~c[q>>2]|c[w>>2]}}c[t>>2]=(c[m>>2]|0)+((c[u>>2]|0)+1)}if((j|0)==78){O=c[m>>2]|0;c[G>>2]=c[p>>2];c[G+4>>2]=O;O=qc(4808,G)|0;c[c[H>>2]>>2]=O;c[I>>2]=1;break}else if((j|0)==80){O=c[m>>2]|0;c[G>>2]=c[p>>2];c[G+4>>2]=O;O=qc(4832,G)|0;c[c[H>>2]>>2]=O;c[I>>2]=3;break}}else j=83;while(0);do if((j|0)==83){c[A>>2]=fc((c[N>>2]|0)+2|0)|0;if(c[A>>2]|0){dF(c[A>>2]|0,c[F>>2]|0,c[N>>2]|0)|0;a[(c[A>>2]|0)+(c[N>>2]|0)>>0]=0;a[(c[A>>2]|0)+((c[N>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;j=86;break}c[C>>2]=7;O=c[C>>2]|0;i=z;return O|0}while(0);if((j|0)==86?(O=Yb(c[n>>2]|0)|0,c[c[J>>2]>>2]=O,(c[c[J>>2]>>2]|0)==0):0){c[G>>2]=c[n>>2];O=qc(4856,G)|0;c[c[H>>2]>>2]=O;c[I>>2]=1}if(c[I>>2]|0){hc(c[A>>2]|0);c[A>>2]=0}c[c[K>>2]>>2]=c[v>>2];c[c[L>>2]>>2]=c[A>>2];c[C>>2]=c[I>>2];O=c[C>>2]|0;i=z;return O|0}function rh(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;m=i;i=i+192|0;r=m+72|0;z=m+68|0;v=m+64|0;y=m+60|0;q=m+56|0;x=m+52|0;A=m+48|0;p=m+44|0;o=m+40|0;n=m+32|0;F=m+176|0;u=m+76|0;H=m+28|0;w=m+24|0;t=m+20|0;B=m+16|0;D=m+12|0;E=m+8|0;G=m+4|0;s=m;c[z>>2]=f;c[v>>2]=g;c[y>>2]=h;c[q>>2]=j;c[x>>2]=k;c[A>>2]=l;c[p>>2]=0;c[m+36>>2]=0;c[n>>2]=0;if(!(c[v>>2]|0))l=1;else l=(a[c[v>>2]>>0]|0)==0;c[H>>2]=l&1;if((c[v>>2]|0)!=0?(UE(c[v>>2]|0,4216)|0)==0:0)l=1;else C=5;do if((C|0)==5){if((c[H>>2]|0)!=0?(xh(c[y>>2]|0)|0)!=0:0){l=1;break}l=(c[A>>2]&128|0)!=0}while(0);c[w>>2]=l&1;if(c[w>>2]|0)c[x>>2]=c[x>>2]|2;if((c[A>>2]&256|0)!=0?(c[w>>2]|0)!=0|(c[H>>2]|0)!=0:0)c[A>>2]=c[A>>2]&-257|512;c[o>>2]=Mc(44,0)|0;if(!(c[o>>2]|0)){c[r>>2]=7;f=c[r>>2]|0;i=m;return f|0}a[(c[o>>2]|0)+8>>0]=0;c[c[o>>2]>>2]=c[y>>2];c[(c[o>>2]|0)+28>>2]=c[o>>2];c[(c[o>>2]|0)+32>>2]=1;do if(!(c[H>>2]|0)){if((c[w>>2]|0)!=0?(c[A>>2]&64|0)==0:0)break;if(c[A>>2]&131072){c[t>>2]=(c[(c[z>>2]|0)+8>>2]|0)+1;f=c[t>>2]|0;c[B>>2]=gc(f,((f|0)<0)<<31>>31)|0;a[(c[o>>2]|0)+9>>0]=1;if(!(c[B>>2]|0)){hc(c[o>>2]|0);c[r>>2]=7;f=c[r>>2]|0;i=m;return f|0}if(!(c[w>>2]|0)){c[n>>2]=yh(c[z>>2]|0,c[v>>2]|0,c[t>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0){hc(c[B>>2]|0);hc(c[o>>2]|0);c[r>>2]=c[n>>2];f=c[r>>2]|0;i=m;return f|0}}else{g=c[B>>2]|0;f=c[v>>2]|0;dF(g|0,f|0,(Mb(c[v>>2]|0)|0)+1|0)|0}c[p>>2]=c[1058];while(1){if(!(c[p>>2]|0))break;f=c[B>>2]|0;if(0==(UE(f,ug(c[c[p>>2]>>2]|0,0)|0)|0)?(f=zh(c[c[p>>2]>>2]|0)|0,(f|0)==(c[z>>2]|0)):0){C=29;break}c[p>>2]=c[(c[p>>2]|0)+68>>2]}do if((C|0)==29){c[D>>2]=(c[(c[y>>2]|0)+20>>2]|0)-1;while(1){if((c[D>>2]|0)<0){C=35;break}c[E>>2]=c[(c[(c[y>>2]|0)+16>>2]|0)+(c[D>>2]<<4)+4>>2];if((c[E>>2]|0)!=0?(c[(c[E>>2]|0)+4>>2]|0)==(c[p>>2]|0):0)break;c[D>>2]=(c[D>>2]|0)+ -1}if((C|0)==35){c[(c[o>>2]|0)+4>>2]=c[p>>2];f=(c[p>>2]|0)+64|0;c[f>>2]=(c[f>>2]|0)+1;break}hc(c[B>>2]|0);hc(c[o>>2]|0);c[r>>2]=19;f=c[r>>2]|0;i=m;return f|0}while(0);hc(c[B>>2]|0)}}while(0);do if(!(c[p>>2]|0)){c[p>>2]=Mc(84,0)|0;if(!(c[p>>2]|0)){c[n>>2]=7;break}c[n>>2]=Ah(c[z>>2]|0,c[p>>2]|0,c[v>>2]|0,76,c[x>>2]|0,c[A>>2]|0,14)|0;if(!(c[n>>2]|0)){f=(c[y>>2]|0)+40|0;Ch(c[c[p>>2]>>2]|0,c[f>>2]|0,c[f+4>>2]|0);c[n>>2]=Dh(c[c[p>>2]>>2]|0,100,u)|0}if(!(c[n>>2]|0)){a[(c[p>>2]|0)+16>>0]=c[x>>2];c[(c[p>>2]|0)+4>>2]=c[y>>2];Eh(c[c[p>>2]>>2]|0,18,c[p>>2]|0);c[(c[o>>2]|0)+4>>2]=c[p>>2];c[(c[p>>2]|0)+8>>2]=0;c[(c[p>>2]|0)+12>>2]=0;if((Gh(c[c[p>>2]>>2]|0)|0)<<24>>24){f=(c[p>>2]|0)+22|0;b[f>>1]=e[f>>1]|1}c[(c[p>>2]|0)+32>>2]=d[u+16>>0]<<8|d[u+17>>0]<<16;if(((c[(c[p>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[p>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[p>>2]|0)+32>>2]|0)-1&c[(c[p>>2]|0)+32>>2]|0)==0:0){a[F>>0]=a[u+20>>0]|0;f=(c[p>>2]|0)+22|0;b[f>>1]=e[f>>1]|2;f=(Hh(u+52|0)|0)!=0;a[(c[p>>2]|0)+17>>0]=f?1:0;f=(Hh(u+64|0)|0)!=0;a[(c[p>>2]|0)+18>>0]=f?1:0}else{c[(c[p>>2]|0)+32>>2]=0;if(!((c[v>>2]|0)==0|(c[w>>2]|0)!=0)){a[(c[p>>2]|0)+17>>0]=0;a[(c[p>>2]|0)+18>>0]=0}a[F>>0]=0}c[n>>2]=Eg(c[c[p>>2]>>2]|0,(c[p>>2]|0)+32|0,d[F>>0]|0)|0;if(!(c[n>>2]|0)){c[(c[p>>2]|0)+36>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(d[F>>0]|0);if(a[(c[o>>2]|0)+9>>0]|0){c[(c[p>>2]|0)+64>>2]=1;c[(c[p>>2]|0)+68>>2]=c[1058];c[1058]=c[p>>2];C=56}else C=56}}}else C=56;while(0);if((C|0)==56){a:do if(a[(c[o>>2]|0)+9>>0]|0){c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break a;f=c[(c[(c[y>>2]|0)+16>>2]|0)+(c[G>>2]<<4)+4>>2]|0;c[s>>2]=f;if((f|0)!=0?(d[(c[s>>2]|0)+9>>0]|0)!=0:0)break;c[G>>2]=(c[G>>2]|0)+1}while(1){if(!(c[(c[s>>2]|0)+24>>2]|0))break;c[s>>2]=c[(c[s>>2]|0)+24>>2]}if((c[(c[o>>2]|0)+4>>2]|0)>>>0<(c[(c[s>>2]|0)+4>>2]|0)>>>0){c[(c[o>>2]|0)+20>>2]=c[s>>2];c[(c[o>>2]|0)+24>>2]=0;c[(c[s>>2]|0)+24>>2]=c[o>>2];break}while(1){if(c[(c[s>>2]|0)+20>>2]|0)u=(c[(c[(c[s>>2]|0)+20>>2]|0)+4>>2]|0)>>>0<(c[(c[o>>2]|0)+4>>2]|0)>>>0;else u=0;t=c[(c[s>>2]|0)+20>>2]|0;if(!u)break;c[s>>2]=t}c[(c[o>>2]|0)+20>>2]=t;c[(c[o>>2]|0)+24>>2]=c[s>>2];if(c[(c[o>>2]|0)+20>>2]|0)c[(c[(c[o>>2]|0)+20>>2]|0)+24>>2]=c[o>>2];c[(c[s>>2]|0)+20>>2]=c[o>>2]}while(0);c[c[q>>2]>>2]=c[o>>2]}if(!(c[n>>2]|0)){if(!(vh(c[o>>2]|0,0,0)|0))Jh(c[c[(c[o>>2]|0)+4>>2]>>2]|0,2e3)}else{if((c[p>>2]|0)!=0?(c[c[p>>2]>>2]|0)!=0:0)Ih(c[c[p>>2]>>2]|0)|0;hc(c[p>>2]|0);hc(c[o>>2]|0);c[c[q>>2]>>2]=0}c[r>>2]=c[n>>2];f=c[r>>2]|0;i=m;return f|0}function sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=b;c[j>>2]=e;if(c[j>>2]|0)c[g>>2]=vh(c[j>>2]|0,84,15)|0;else c[g>>2]=se(0,84,0)|0;if(!(c[g>>2]|0)){a[(c[f>>2]|0)+64>>0]=1;b=c[g>>2]|0;i=h;return b|0}if(d[(c[g>>2]|0)+76>>0]|0){b=c[g>>2]|0;i=h;return b|0}nh((c[g>>2]|0)+8|0);nh((c[g>>2]|0)+24|0);nh((c[g>>2]|0)+40|0);nh((c[g>>2]|0)+56|0);a[(c[g>>2]|0)+77>>0]=1;b=c[g>>2]|0;i=h;return b|0}function th(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;c[f>>2]=Rf(c[e>>2]|0,4208,2)|0;if((c[f>>2]|0)!=7){i=d;return}a[(c[e>>2]|0)+64>>0]=1;i=d;return}function uh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;g=b;d=b+24|0;k=b+20|0;h=b+16|0;e=b+12|0;j=b+8|0;f=b+4|0;c[d>>2]=a;c[h>>2]=1;if(!(c[370]|0)){i=b;return}c[k>>2]=0;while(1){if(!(c[h>>2]|0))break;if((c[k>>2]|0)>=(c[370]|0)){c[j>>2]=0;c[h>>2]=0}else c[j>>2]=c[(c[371]|0)+(c[k>>2]<<2)>>2];c[f>>2]=0;if((c[j>>2]|0)!=0?(a=pb[c[j>>2]&31](c[d>>2]|0,f,3352)|0,c[e>>2]=a,(a|0)!=0):0){l=c[d>>2]|0;a=c[e>>2]|0;c[g>>2]=c[f>>2];Lc(l,a,4168,g);c[h>>2]=0}hc(c[f>>2]|0);c[k>>2]=(c[k>>2]|0)+1}i=b;return}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];Pc(c[j>>2]|0);if(!((c[g>>2]|0)!=0?(c[(c[f>>2]|0)+48>>2]|0)==0:0)){j=c[f>>2]|0;j=j+48|0;j=c[j>>2]|0;i=e;return j|0}j=c[g>>2]|0;j=se(0,j,((j|0)<0)<<31>>31)|0;c[(c[f>>2]|0)+48>>2]=j;c[(c[f>>2]|0)+52>>2]=c[h>>2];j=c[f>>2]|0;j=j+48|0;j=c[j>>2]|0;i=e;return j|0}function wh(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+64|0;l=d+48|0;f=d+32|0;k=d+16|0;h=d+8|0;g=d+4|0;j=d;c[l>>2]=a;c[g>>2]=c[l>>2];a=(c[g>>2]|0)+8|0;c[f+0>>2]=c[a+0>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];a=(c[g>>2]|0)+40|0;c[k+0>>2]=c[a+0>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];nh((c[g>>2]|0)+40|0);mh((c[g>>2]|0)+24|0);c[h>>2]=c[k+8>>2];while(1){if(!(c[h>>2]|0))break;Ub(0,c[(c[h>>2]|0)+8>>2]|0);c[h>>2]=c[c[h>>2]>>2]}mh(k);nh((c[g>>2]|0)+8|0);c[h>>2]=c[f+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];Vb(0,c[j>>2]|0);c[h>>2]=c[c[h>>2]>>2]}mh(f);mh((c[g>>2]|0)+56|0);c[(c[g>>2]|0)+72>>2]=0;if(!((e[(c[g>>2]|0)+78>>1]|0)&1)){i=d;return}l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[g>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=d;return}function xh(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return(d[(c[b>>2]|0)+63>>0]|0|0)==2|0}function yh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;b=xb[c[(c[l>>2]|0)+36>>2]&7](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function zh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Ah(d,e,f,g,h,j,k){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,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;v=i;i=i+112|0;A=v+96|0;p=v+92|0;E=v+88|0;s=v+84|0;y=v+80|0;L=v+76|0;r=v+72|0;D=v+68|0;H=v+64|0;q=v+60|0;o=v+56|0;C=v+52|0;z=v+48|0;l=v+44|0;F=v+40|0;n=v+36|0;t=v+32|0;B=v+28|0;I=v+24|0;x=v+20|0;J=v+16|0;K=v+12|0;G=v+8|0;u=v+4|0;w=v;c[p>>2]=d;c[E>>2]=e;c[s>>2]=f;c[y>>2]=g;c[L>>2]=h;c[r>>2]=j;c[D>>2]=k;c[q>>2]=0;c[o>>2]=0;c[C>>2]=0;c[z>>2]=0;c[l>>2]=0;c[n>>2]=0;c[t>>2]=0;c[B>>2]=(c[L>>2]&1|0)==0&1;c[I>>2]=Uj()|0;c[x>>2]=1024;c[J>>2]=0;c[K>>2]=0;d=c[(c[p>>2]|0)+4>>2]|0;if((d|0)>(ri()|0))c[F>>2]=(c[(c[p>>2]|0)+4>>2]|0)+7&-8;else c[F>>2]=(ri()|0)+7&-8;c[c[E>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[z>>2]=1,(c[s>>2]|0)!=0):0)?(a[c[s>>2]>>0]|0)!=0:0){c[n>>2]=ne(0,c[s>>2]|0)|0;if(c[n>>2]|0){c[t>>2]=Mb(c[n>>2]|0)|0;c[s>>2]=0;break}c[A>>2]=7;d=c[A>>2]|0;i=v;return d|0}while(0);if((c[s>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0){c[t>>2]=(c[(c[p>>2]|0)+8>>2]|0)+1;d=c[t>>2]<<1;c[n>>2]=Qe(0,d,((d|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[A>>2]=7;d=c[A>>2]|0;i=v;return d|0}a[c[n>>2]>>0]=0;c[o>>2]=yh(c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;c[t>>2]=Mb(c[n>>2]|0)|0;d=(Mb(c[s>>2]|0)|0)+1|0;d=(c[s>>2]|0)+d|0;c[J>>2]=d;c[G>>2]=d;while(1){e=c[G>>2]|0;if(!(a[c[G>>2]>>0]|0))break;d=(Mb(e)|0)+1|0;c[G>>2]=(c[G>>2]|0)+d;d=(Mb(c[G>>2]|0)|0)+1|0;c[G>>2]=(c[G>>2]|0)+d}c[K>>2]=e+1-(c[J>>2]|0);if((c[o>>2]|0)==0?((c[t>>2]|0)+8|0)>(c[(c[p>>2]|0)+8>>2]|0):0)c[o>>2]=Ij(45462)|0;if(c[o>>2]|0){Xb(0,c[n>>2]|0);c[A>>2]=c[o>>2];d=c[A>>2]|0;i=v;return d|0}}c[H>>2]=Mc(216+((c[I>>2]|0)+7&-8)+((c[(c[p>>2]|0)+4>>2]|0)+7&-8)+(c[F>>2]<<1)+(c[t>>2]|0)+1+(c[K>>2]|0)+(c[t>>2]|0)+10+(c[t>>2]|0)+6|0,0)|0;if(!(c[H>>2]|0)){Xb(0,c[n>>2]|0);c[A>>2]=7;d=c[A>>2]|0;i=v;return d|0}c[q>>2]=c[H>>2];d=(c[H>>2]|0)+216|0;c[H>>2]=d;c[(c[q>>2]|0)+204>>2]=d;d=(c[H>>2]|0)+((c[I>>2]|0)+7&-8)|0;c[H>>2]=d;c[(c[q>>2]|0)+60>>2]=d;d=(c[H>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)+7&-8)|0;c[H>>2]=d;c[(c[q>>2]|0)+68>>2]=d;d=(c[H>>2]|0)+(c[F>>2]|0)|0;c[H>>2]=d;c[(c[q>>2]|0)+64>>2]=d;d=(c[H>>2]|0)+(c[F>>2]|0)|0;c[H>>2]=d;c[(c[q>>2]|0)+168>>2]=d;if(c[n>>2]|0){d=(c[H>>2]|0)+((c[t>>2]|0)+1+(c[K>>2]|0))|0;c[H>>2]=d;c[(c[q>>2]|0)+172>>2]=d;dF(c[(c[q>>2]|0)+168>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;if(c[K>>2]|0)dF((c[(c[q>>2]|0)+168>>2]|0)+((c[t>>2]|0)+1)|0,c[J>>2]|0,c[K>>2]|0)|0;dF(c[(c[q>>2]|0)+172>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;H=(c[(c[q>>2]|0)+172>>2]|0)+(c[t>>2]|0)+0|0;G=4552;F=H+10|0;do{a[H>>0]=a[G>>0]|0;H=H+1|0;G=G+1|0}while((H|0)<(F|0));c[(c[q>>2]|0)+212>>2]=(c[(c[q>>2]|0)+172>>2]|0)+((c[t>>2]|0)+9);dF(c[(c[q>>2]|0)+212>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;d=(c[(c[q>>2]|0)+212>>2]|0)+(c[t>>2]|0)|0;a[d+0>>0]=a[4568]|0;a[d+1>>0]=a[4569]|0;a[d+2>>0]=a[4570]|0;a[d+3>>0]=a[4571]|0;a[d+4>>0]=a[4572]|0;Xb(0,c[n>>2]|0)}c[c[q>>2]>>2]=c[p>>2];c[(c[q>>2]|0)+144>>2]=c[r>>2];do if((c[s>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0){c[u>>2]=0;c[o>>2]=Di(c[p>>2]|0,c[(c[q>>2]|0)+168>>2]|0,c[(c[q>>2]|0)+60>>2]|0,c[r>>2]|0,u)|0;c[l>>2]=c[u>>2]&1;if(!(c[o>>2]|0)){c[w>>2]=Ai(c[(c[q>>2]|0)+60>>2]|0)|0;do if((c[l>>2]|0)==0?(zi(c[q>>2]|0),(c[x>>2]|0)>>>0<(c[(c[q>>2]|0)+148>>2]|0)>>>0):0)if((c[(c[q>>2]|0)+148>>2]|0)>>>0>8192){c[x>>2]=8192;break}else{c[x>>2]=c[(c[q>>2]|0)+148>>2];break}while(0);d=(pg(c[s>>2]|0,4576,0)|0)&255;a[(c[q>>2]|0)+13>>0]=d;if((c[w>>2]&8192|0)==0?(pg(c[s>>2]|0,4584,0)|0)==0:0)break;c[r>>2]=c[r>>2]|1;m=39}}else m=39;while(0);if((m|0)==39){c[C>>2]=1;a[(c[q>>2]|0)+16>>0]=1;a[(c[q>>2]|0)+17>>0]=4;a[(c[q>>2]|0)+13>>0]=1;c[l>>2]=c[r>>2]&1}if(!(c[o>>2]|0))c[o>>2]=Eg(c[q>>2]|0,x,-1)|0;if(!(c[o>>2]|0)){c[y>>2]=(c[y>>2]|0)+7&-8;c[o>>2]=Vj(c[x>>2]|0,c[y>>2]|0,((c[z>>2]|0)!=0^1)&1,(c[z>>2]|0)!=0^1?35:0,c[q>>2]|0,c[(c[q>>2]|0)+204>>2]|0)|0}if(c[o>>2]|0){Rh(c[(c[q>>2]|0)+60>>2]|0)|0;Kg(c[(c[q>>2]|0)+200>>2]|0);hc(c[q>>2]|0);c[A>>2]=c[o>>2];d=c[A>>2]|0;i=v;return d|0}a[(c[q>>2]|0)+6>>0]=c[B>>2];c[(c[q>>2]|0)+156>>2]=1073741823;a[(c[q>>2]|0)+12>>0]=c[C>>2];a[(c[q>>2]|0)+4>>0]=c[C>>2];a[(c[q>>2]|0)+18>>0]=a[(c[q>>2]|0)+12>>0]|0;a[(c[q>>2]|0)+15>>0]=c[z>>2];a[(c[q>>2]|0)+14>>0]=c[l>>2];a[(c[q>>2]|0)+7>>0]=a[(c[q>>2]|0)+12>>0]|0;if(!(a[(c[q>>2]|0)+7>>0]|0)){a[(c[q>>2]|0)+8>>0]=1;a[(c[q>>2]|0)+11>>0]=2;a[(c[q>>2]|0)+10>>0]=34;a[(c[q>>2]|0)+9>>0]=2}b[(c[q>>2]|0)+140>>1]=c[y>>2];d=(c[q>>2]|0)+160|0;c[d>>2]=-1;c[d+4>>2]=-1;zi(c[q>>2]|0);if(c[B>>2]|0){if(c[z>>2]|0)a[(c[q>>2]|0)+5>>0]=4}else a[(c[q>>2]|0)+5>>0]=2;c[(c[q>>2]|0)+196>>2]=c[D>>2];c[c[E>>2]>>2]=c[q>>2];c[A>>2]=0;d=c[A>>2]|0;i=v;return d|0}function Bh(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=Qj(c[f>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=d;return}a[c[e>>2]>>0]=0;if((Rj(c[f>>2]|0)|0)<=1){i=d;return}Sj(c[e>>2]|0)|0;i=d;return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d+4>>2]|0;a=(c[f>>2]|0)+128|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;Lg(c[f>>2]|0);i=e;return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[f>>2]=0;_E(c[h>>2]|0,0,c[j>>2]|0)|0;if(!(c[c[(c[g>>2]|0)+60>>2]>>2]|0)){a=c[f>>2]|0;i=e;return a|0}a=Ei(c[(c[g>>2]|0)+60>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)==522?0:a;a=c[f>>2]|0;i=e;return a|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+176>>2]=c[j>>2];c[(c[f>>2]|0)+180>>2]=c[h>>2];if(!(c[c[(c[f>>2]|0)+60>>2]>>2]|0)){i=e;return}c[g>>2]=(c[f>>2]|0)+176;rj(c[(c[f>>2]|0)+60>>2]|0,15,c[g>>2]|0);i=e;return}function Fh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=Pj((c[(c[d>>2]|0)+4>>2]|0)+444|0)|0;i=b;return a|0}function Gh(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+14>>0]|0}function Hh(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return(d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function Ih(b){b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+200>>2];kh();Lh(c[f>>2]|0);a[(c[f>>2]|0)+4>>0]=0;Mh(c[(c[f>>2]|0)+208>>2]|0,d[(c[f>>2]|0)+9>>0]|0,c[(c[f>>2]|0)+152>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+208>>2]=0;Ig(c[f>>2]|0);b=c[f>>2]|0;if(a[(c[f>>2]|0)+15>>0]|0)Nh(b);else{if(c[c[b+64>>2]>>2]|0){b=c[f>>2]|0;Oh(b,Ph(c[f>>2]|0)|0)|0}Qh(c[f>>2]|0)}lh();Rh(c[(c[f>>2]|0)+64>>2]|0)|0;Rh(c[(c[f>>2]|0)+60>>2]|0)|0;Kg(c[g>>2]|0);Sh(c[(c[f>>2]|0)+204>>2]|0);hc(c[f>>2]|0);i=e;return 0}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Kh(c[(c[f>>2]|0)+204>>2]|0,c[e>>2]|0);i=d;return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[9691]|0;b=c[(c[f>>2]|0)+40>>2]|0;a=Ng(c[f>>2]|0)|0;sb[e&7](b,a);i=d;return}function Lh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+136>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];hc(c[d>>2]|0);c[d>>2]=c[e>>2]}i=b;return}function Mh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;l=n+24|0;h=n+20|0;o=n+16|0;p=n+12|0;j=n+8|0;m=n+4|0;k=n;c[l>>2]=b;c[h>>2]=e;c[o>>2]=f;c[p>>2]=g;c[j>>2]=0;if(!(c[l>>2]|0)){b=c[j>>2]|0;i=n;return b|0}c[m>>2]=0;c[j>>2]=pj(c[(c[l>>2]|0)+4>>2]|0,4)|0;do if(!(c[j>>2]|0)){if(!(d[(c[l>>2]|0)+43>>0]|0))a[(c[l>>2]|0)+43>>0]=1;c[j>>2]=qj(c[l>>2]|0,0,0,0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0,0,0)|0;if(!(c[j>>2]|0)){c[k>>2]=-1;rj(c[(c[l>>2]|0)+4>>2]|0,10,k);if((c[k>>2]|0)!=1){c[m>>2]=1;break}b=(c[l>>2]|0)+16|0;e=c[b+4>>2]|0;if((e|0)>0|(e|0)==0&(c[b>>2]|0)>>>0>=0)sj(c[l>>2]|0,0,0)}}while(0);tj(c[l>>2]|0,c[m>>2]|0);Rh(c[(c[l>>2]|0)+8>>2]|0)|0;if(c[m>>2]|0){kh();_h(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+100>>2]|0,0)|0;lh()}hc(c[(c[l>>2]|0)+32>>2]|0);hc(c[l>>2]|0);b=c[j>>2]|0;i=n;return b|0}function Nh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;e=f+8|0;g=f+4|0;h=f;c[e>>2]=b;_g(c[(c[e>>2]|0)+56>>2]|0);c[(c[e>>2]|0)+56>>2]=0;Vh(c[e>>2]|0);j=(ai(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[e>>2]|0)+60>>2]>>2]|0)b=Ai(c[(c[e>>2]|0)+60>>2]|0)|0;else b=0;c[h>>2]=b;if(!(0!=(c[h>>2]&2048|0)?1==(d[(c[e>>2]|0)+5>>0]&5|0):0))Rh(c[(c[e>>2]|0)+64>>2]|0)|0;c[g>>2]=ei(c[e>>2]|0,0)|0;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0)==6:0)a[(c[e>>2]|0)+17>>0]=5;a[(c[e>>2]|0)+18>>0]=0;a[(c[e>>2]|0)+16>>0]=0}}else{oj(c[b+208>>2]|0);a[(c[e>>2]|0)+16>>0]=0}if(!(c[(c[e>>2]|0)+40>>2]|0)){j=c[e>>2]|0;j=j+72|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+80|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+19|0;a[j>>0]=0;i=f;return}Ig(c[e>>2]|0);a[(c[e>>2]|0)+18>>0]=a[(c[e>>2]|0)+12>>0]|0;a[(c[e>>2]|0)+16>>0]=0;c[(c[e>>2]|0)+40>>2]=0;j=c[e>>2]|0;j=j+72|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+80|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+19|0;a[j>>0]=0;i=f;return}function Oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=e;return h|0}c[(c[g>>2]|0)+40>>2]=c[f>>2];a[(c[g>>2]|0)+16>>0]=6;h=c[f>>2]|0;i=e;return h|0}function Ph(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=0;if(!(a[(c[f>>2]|0)+7>>0]|0))c[d>>2]=Yh(c[(c[f>>2]|0)+64>>2]|0,2)|0;if(c[d>>2]|0){f=c[d>>2]|0;i=e;return f|0}c[d>>2]=Gg(c[(c[f>>2]|0)+64>>2]|0,(c[f>>2]|0)+80|0)|0;f=c[d>>2]|0;i=e;return f|0}function Qh(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;do if((d[(c[f>>2]|0)+16>>0]|0)!=6?(d[(c[f>>2]|0)+16>>0]|0)!=0:0){if((d[(c[f>>2]|0)+16>>0]|0)>=2){kh();Th(c[f>>2]|0)|0;lh();break}if(!(a[(c[f>>2]|0)+4>>0]|0))Uh(c[f>>2]|0,0,0)|0}while(0);Nh(c[f>>2]|0);i=e;return}function Rh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=0;if(!(c[c[e>>2]>>2]|0)){e=c[d>>2]|0;i=b;return e|0}c[d>>2]=ub[c[(c[c[e>>2]>>2]|0)+4>>2]&31](c[e>>2]|0)|0;c[c[e>>2]>>2]=0;e=c[d>>2]|0;i=b;return e|0}function Sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;rb[c[38640+148>>2]&31](c[(c[d>>2]|0)+40>>2]|0);i=b;return}function Th(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=b;c[h>>2]=0;b=c[g>>2]|0;if((d[(c[g>>2]|0)+16>>0]|0)==6){c[f>>2]=c[b+40>>2];b=c[f>>2]|0;i=e;return b|0}if((d[b+16>>0]|0)<=1){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}l=(ai(c[g>>2]|0)|0)!=0;b=c[g>>2]|0;do if(l){c[h>>2]=si(b,2,-1)|0;c[j>>2]=Uh(c[g>>2]|0,d[(c[g>>2]|0)+19>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+64>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+16>>0]|0)!=2:0){c[h>>2]=ti(c[g>>2]|0,0)|0;break}c[k>>2]=d[(c[g>>2]|0)+16>>0];c[h>>2]=Uh(c[g>>2]|0,0,0)|0;if((c[k>>2]|0)>2?(a[(c[g>>2]|0)+15>>0]|0)==0:0){c[(c[g>>2]|0)+40>>2]=4;a[(c[g>>2]|0)+16>>0]=6;c[f>>2]=c[h>>2];l=c[f>>2]|0;i=e;return l|0}}while(0);c[f>>2]=Oh(c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=e;return l|0}function Uh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;h=m+24|0;l=m+20|0;n=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;o=m;c[l>>2]=b;c[n>>2]=e;c[k>>2]=f;c[j>>2]=0;c[g>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0)<2?(d[(c[l>>2]|0)+17>>0]|0)<2:0){c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}Vh(c[l>>2]|0);a:do if(c[c[(c[l>>2]|0)+64>>2]>>2]|0){b=(Wh(c[(c[l>>2]|0)+64>>2]|0)|0)!=0;f=c[l>>2]|0;if(b){Rh(c[f+64>>2]|0)|0;break}e=c[l>>2]|0;if((d[f+5>>0]|0)==3){b=e+72|0;if(!((c[b>>2]|0)==0&(c[b+4>>2]|0)==0)){c[j>>2]=Xh(c[(c[l>>2]|0)+64>>2]|0,0,0)|0;if((c[j>>2]|0)==0?(d[(c[l>>2]|0)+8>>0]|0)!=0:0)c[j>>2]=Yh(c[(c[l>>2]|0)+64>>2]|0,d[(c[l>>2]|0)+11>>0]|0)|0}else c[j>>2]=0;b=(c[l>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0;break}else{do if((d[e+5>>0]|0)!=1){if((d[(c[l>>2]|0)+4>>0]|0)!=0?(d[(c[l>>2]|0)+5>>0]|0)!=5:0)break;c[o>>2]=((a[(c[l>>2]|0)+12>>0]|0)!=0?0:1)&1;Rh(c[(c[l>>2]|0)+64>>2]|0)|0;if(!(c[o>>2]|0))break a;c[j>>2]=_h(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+172>>2]|0,0)|0;break a}while(0);c[j>>2]=Zh(c[l>>2]|0,c[n>>2]|0)|0;b=(c[l>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0;break}}while(0);_g(c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+44>>2]=0;$h(c[(c[l>>2]|0)+204>>2]|0);Qg(c[(c[l>>2]|0)+204>>2]|0,c[(c[l>>2]|0)+24>>2]|0);if(!(ai(c[l>>2]|0)|0)){if((c[j>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[l>>2]|0)+32>>2]|0)>>>0>(c[(c[l>>2]|0)+24>>2]|0)>>>0:0)c[j>>2]=ci(c[l>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0}else c[g>>2]=bi(c[(c[l>>2]|0)+208>>2]|0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)!=0?(c[c[(c[l>>2]|0)+60>>2]>>2]|0)!=0:0){b=ig(c[(c[l>>2]|0)+60>>2]|0,22,0)|0;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)==12?0:b}do if(!(a[(c[l>>2]|0)+4>>0]|0)){if((ai(c[l>>2]|0)|0)!=0?(di(c[(c[l>>2]|0)+208>>2]|0,0)|0)==0:0)break;c[g>>2]=ei(c[l>>2]|0,1)|0;a[(c[l>>2]|0)+18>>0]=0}while(0);a[(c[l>>2]|0)+16>>0]=1;a[(c[l>>2]|0)+19>>0]=0;c[h>>2]=(c[j>>2]|0)==0?c[g>>2]|0:c[j>>2]|0;b=c[h>>2]|0;i=m;return b|0}function Vh(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+96>>2]|0))break;_g(c[(c[(c[d>>2]|0)+92>>2]|0)+((c[f>>2]|0)*48|0)+16>>2]|0);c[f>>2]=(c[f>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(Wh(c[(c[d>>2]|0)+68>>2]|0)|0)==0:0))Rh(c[(c[d>>2]|0)+68>>2]|0)|0;hc(c[(c[d>>2]|0)+92>>2]|0);c[(c[d>>2]|0)+92>>2]=0;c[(c[d>>2]|0)+96>>2]=0;c[(c[d>>2]|0)+52>>2]=0;i=e;return}function Wh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[c[b>>2]>>2]|0)==4272|0}function Xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=pb[c[(c[c[f>>2]>>2]|0)+16>>2]&31](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function Yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+20>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Zh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;h=f+24|0;l=f+20|0;g=f+16|0;k=f+8|0;j=f;c[h>>2]=b;c[l>>2]=e;c[g>>2]=0;b=(c[h>>2]|0)+72|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){b=c[g>>2]|0;i=f;return b|0}m=(c[h>>2]|0)+160|0;e=c[m+4>>2]|0;b=k;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=k;e=c[(c[h>>2]|0)+64>>2]|0;if((c[l>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[g>>2]=Xh(e,0,0)|0;else c[g>>2]=id(e,4240,28,0,0)|0;if((c[g>>2]|0)==0?(a[(c[h>>2]|0)+7>>0]|0)==0:0)c[g>>2]=Yh(c[(c[h>>2]|0)+64>>2]|0,16|d[(c[h>>2]|0)+11>>0])|0;m=k;b=c[m+4>>2]|0;if(!((c[g>>2]|0)==0&((b|0)>0|(b|0)==0&(c[m>>2]|0)>>>0>0))){m=c[g>>2]|0;i=f;return m|0}c[g>>2]=Gg(c[(c[h>>2]|0)+64>>2]|0,j)|0;if(c[g>>2]|0){m=c[g>>2]|0;i=f;return m|0}b=j;l=c[b+4>>2]|0;m=k;e=c[m+4>>2]|0;if(!((l|0)>(e|0)|((l|0)==(e|0)?(c[b>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[g>>2]|0;i=f;return m|0}m=k;c[g>>2]=Xh(c[(c[h>>2]|0)+64>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[g>>2]|0;i=f;return m|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=pb[c[(c[h>>2]|0)+28>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function $h(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){a=c[c[d>>2]>>2]|0;c[e>>2]=a;if(!a)break;Rg(c[e>>2]|0)}i=b;return}function ai(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[(c[b>>2]|0)+208>>2]|0)!=0|0}function bi(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(!(a[(c[e>>2]|0)+44>>0]|0)){i=d;return 0}ji(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;a[(c[e>>2]|0)+47>>0]=0;i=d;return 0}function ci(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;g=e+32|0;m=e+28|0;f=e+24|0;l=e+8|0;k=e;j=e+20|0;h=e+16|0;c[g>>2]=a;c[m>>2]=b;c[f>>2]=0;if(!(c[c[(c[g>>2]|0)+60>>2]>>2]|0)){a=c[f>>2]|0;i=e;return a|0}if((d[(c[g>>2]|0)+16>>0]|0|0)<4?(d[(c[g>>2]|0)+16>>0]|0|0)!=0:0){a=c[f>>2]|0;i=e;return a|0}c[j>>2]=c[(c[g>>2]|0)+152>>2];c[f>>2]=Gg(c[(c[g>>2]|0)+60>>2]|0,l)|0;b=c[j>>2]|0;b=lF(b|0,((b|0)<0)<<31>>31|0,c[m>>2]|0,0)|0;a=k;c[a>>2]=b;c[a+4>>2]=D;if(c[f>>2]|0){a=c[f>>2]|0;i=e;return a|0}b=l;a=k;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){a=c[f>>2]|0;i=e;return a|0}b=l;o=c[b+4>>2]|0;a=k;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){n=c[j>>2]|0;n=bF(c[l>>2]|0,c[l+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;l=D;o=k;a=c[o+4>>2]|0;if((l|0)<(a|0)|((l|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[h>>2]=c[(c[g>>2]|0)+200>>2];_E(c[h>>2]|0,0,c[j>>2]|0)|0;l=c[(c[g>>2]|0)+60>>2]|0;a=c[h>>2]|0;n=c[j>>2]|0;o=c[j>>2]|0;o=ZE(c[k>>2]|0,c[k+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[f>>2]=id(l,a,n,o,D)|0}}else{o=k;c[f>>2]=Xh(c[(c[g>>2]|0)+60>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[f>>2]|0){o=c[f>>2]|0;i=e;return o|0}c[(c[g>>2]|0)+32>>2]=c[m>>2];o=c[f>>2]|0;i=e;return o|0}function di(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=e;c[k>>2]=f;if(c[k>>2]|0){f=c[j>>2]|0;if((c[k>>2]|0)>0){hi(f,3+(b[(c[j>>2]|0)+40>>1]|0)|0);a[(c[j>>2]|0)+43>>0]=1;c[h>>2]=1;e=c[h>>2]|0;i=g;return e|0}else{c[h>>2]=(d[f+43>>0]|0)==0&1;e=c[h>>2]|0;i=g;return e|0}}if(!(a[(c[j>>2]|0)+43>>0]|0)){c[h>>2]=0;e=c[h>>2]|0;i=g;return e|0}a[(c[j>>2]|0)+43>>0]=0;if(gi(c[j>>2]|0,3+(b[(c[j>>2]|0)+40>>1]|0)|0)|0)a[(c[j>>2]|0)+43>>0]=1;c[h>>2]=(d[(c[j>>2]|0)+43>>0]|0)==0&1;e=c[h>>2]|0;i=g;return e|0}function ei(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;j=f+4|0;g=f;c[h>>2]=b;c[j>>2]=e;c[g>>2]=0;if(!(c[c[(c[h>>2]|0)+60>>2]>>2]|0)){b=c[g>>2]|0;i=f;return b|0}if(d[(c[h>>2]|0)+13>>0]|0)e=0;else e=fi(c[(c[h>>2]|0)+60>>2]|0,c[j>>2]|0)|0;c[g>>2]=e;if((d[(c[h>>2]|0)+17>>0]|0|0)==5){b=c[g>>2]|0;i=f;return b|0}a[(c[h>>2]|0)+17>>0]=c[j>>2];b=c[g>>2]|0;i=f;return b|0}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+32>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[j>>2]=b;c[h>>2]=d;if(a[(c[j>>2]|0)+43>>0]|0){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}else{c[g>>2]=ii(c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,1,6)|0;c[f>>2]=c[g>>2];b=c[f>>2]|0;i=e;return b|0}return 0}function hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){i=e;return}ii(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,5)|0;i=e;return}function ii(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=xb[c[(c[c[k>>2]>>2]|0)+56>>2]&7](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){i=f;return}ii(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,9)|0;i=f;return}function ki(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ni(c[d>>2]|0,0,0)|0;i=b;return 0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;k=i;i=i+64|0;t=k+52|0;s=k+48|0;g=k+44|0;l=k+8|0;h=k+40|0;o=k+36|0;m=k+32|0;p=k+28|0;j=k+24|0;r=k;q=k+20|0;n=k+16|0;c[t>>2]=a;c[s>>2]=b;c[g>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;c[h>>2]=c[t>>2];c[o>>2]=c[s>>2];c[m>>2]=c[g>>2];d=(c[h>>2]|0)+24|0;b=l;a=l;a:do if(((c[d>>2]|0)!=(c[b>>2]|0)?1:(c[d+4>>2]|0)!=(c[b+4>>2]|0))|(c[a>>2]|0)==0&(c[a+4>>2]|0)==0){t=r;c[t>>2]=0;c[t+4>>2]=0;c[j>>2]=c[(c[h>>2]|0)+4>>2];while(1){if(!(c[j>>2]|0))break a;s=r;s=bF(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;b=D;t=l;a=c[t+4>>2]|0;if(!((b|0)<(a|0)|((b|0)==(a|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=r;s=bF(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;t=r;c[t>>2]=s;c[t+4>>2]=D;c[j>>2]=c[c[j>>2]>>2]}}else c[j>>2]=c[(c[h>>2]|0)+32>>2];while(0);t=l;t=kF(c[t>>2]|0,c[t+4>>2]|0,1020,0)|0;c[p>>2]=t;while(1){c[q>>2]=1020-(c[p>>2]|0);if((c[m>>2]|0)<(1020-(c[p>>2]|0)|0))f=c[m>>2]|0;else f=1020-(c[p>>2]|0)|0;c[n>>2]=f;dF(c[o>>2]|0,(c[j>>2]|0)+4+(c[p>>2]|0)|0,c[n>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[q>>2]|0);c[p>>2]=0;if((c[m>>2]|0)<0){m=13;break}t=c[c[j>>2]>>2]|0;c[j>>2]=t;if(!((t|0)!=0&(c[m>>2]|0)>0)){m=13;break}}if((m|0)==13){t=l;s=c[g>>2]|0;s=bF(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(c[h>>2]|0)+24|0;c[t>>2]=s;c[t+4>>2]=D;c[(c[h>>2]|0)+32>>2]=c[j>>2];i=k;return 0}return 0}function mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;g=i;i=i+64|0;h=g+48|0;s=g+44|0;q=g+40|0;r=g+36|0;o=g+32|0;n=g+28|0;p=g+24|0;j=g+20|0;m=g+16|0;l=g+12|0;k=g+8|0;c[s>>2]=a;c[q>>2]=b;c[r>>2]=d;a=g;c[a>>2]=e;c[a+4>>2]=f;c[o>>2]=c[s>>2];c[n>>2]=c[r>>2];c[p>>2]=c[q>>2];while(1){if((c[n>>2]|0)<=0){j=14;break}c[j>>2]=c[(c[o>>2]|0)+16>>2];s=(c[o>>2]|0)+8|0;s=kF(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;c[m>>2]=s;if((c[n>>2]|0)<(1020-(c[m>>2]|0)|0))f=c[n>>2]|0;else f=1020-(c[m>>2]|0)|0;c[l>>2]=f;if(!(c[m>>2]|0)){c[k>>2]=fc(1024)|0;if(!(c[k>>2]|0)){j=8;break}c[c[k>>2]>>2]=0;f=c[k>>2]|0;if(c[j>>2]|0)c[c[j>>2]>>2]=f;else c[(c[o>>2]|0)+4>>2]=f;c[(c[o>>2]|0)+16>>2]=c[k>>2]}dF((c[(c[o>>2]|0)+16>>2]|0)+4+(c[m>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[l>>2]|0);r=c[l>>2]|0;s=(c[o>>2]|0)+8|0;q=s;r=bF(c[q>>2]|0,c[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[s>>2]=r;c[s+4>>2]=D}if((j|0)==8){c[h>>2]=3082;s=c[h>>2]|0;i=g;return s|0}else if((j|0)==14){c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}return 0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;e=f+20|0;j=f+16|0;g=f+12|0;h=f+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=c[e>>2];c[g>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[g>>2];c[g>>2]=c[c[g>>2]>>2];hc(c[h>>2]|0)}qi(c[e>>2]|0);i=f;return 0}function oi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+8|0;b=c[e+4>>2]|0;a=c[f>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=d;return 0}function qi(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=c[d>>2]|0;_E(a|0,0,ri()|0)|0;c[c[d>>2]>>2]=4272;i=b;return}function ri(){return 40}function si(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,l=0,m=0;h=i;i=i+32|0;g=h+24|0;j=h+20|0;m=h+16|0;e=h+12|0;l=h+8|0;k=h+4|0;f=h;c[g>>2]=a;c[j>>2]=b;c[m>>2]=d;c[e>>2]=c[(c[g>>2]|0)+40>>2];if(c[e>>2]|0){a=c[e>>2]|0;i=h;return a|0}if((c[m>>2]|0)>=(c[(c[g>>2]|0)+96>>2]|0)){a=c[e>>2]|0;i=h;return a|0}c[k>>2]=(c[m>>2]|0)+((c[j>>2]|0)==1?0:1);c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=(c[(c[g>>2]|0)+96>>2]|0))break;_g(c[(c[(c[g>>2]|0)+92>>2]|0)+((c[l>>2]|0)*48|0)+16>>2]|0);c[l>>2]=(c[l>>2]|0)+1}c[(c[g>>2]|0)+96>>2]=c[k>>2];if((c[j>>2]|0)!=1){if((ai(c[g>>2]|0)|0)==0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)==0:0){a=c[e>>2]|0;i=h;return a|0}if(!(c[k>>2]|0))j=0;else j=(c[(c[g>>2]|0)+92>>2]|0)+(((c[k>>2]|0)-1|0)*48|0)|0;c[f>>2]=j;c[e>>2]=Pi(c[g>>2]|0,c[f>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}if(c[k>>2]|0){a=c[e>>2]|0;i=h;return a|0}if(!(c[c[(c[g>>2]|0)+68>>2]>>2]|0)){a=c[e>>2]|0;i=h;return a|0}if(Wh(c[(c[g>>2]|0)+68>>2]|0)|0)c[e>>2]=Xh(c[(c[g>>2]|0)+68>>2]|0,0,0)|0;c[(c[g>>2]|0)+52>>2]=0;a=c[e>>2]|0;i=h;return a|0}function ti(b,e){b=b|0;e=e|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;l=i;i=i+64|0;n=l+8|0;g=l+56|0;m=l+52|0;t=l+48|0;q=l;r=l+44|0;p=l+40|0;o=l+36|0;j=l+32|0;k=l+28|0;h=l+24|0;s=l+20|0;f=l+16|0;c[g>>2]=b;c[m>>2]=e;c[t>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[k>>2]=1;c[h>>2]=0;c[f>>2]=0;c[j>>2]=Gg(c[(c[g>>2]|0)+64>>2]|0,q)|0;a:do if(!(c[j>>2]|0)){c[h>>2]=c[(c[g>>2]|0)+200>>2];c[j>>2]=ui(c[(c[g>>2]|0)+64>>2]|0,c[h>>2]|0,(c[(c[c[g>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[j>>2]|0)==0?(a[c[h>>2]>>0]|0)!=0:0)c[j>>2]=vi(c[t>>2]|0,c[h>>2]|0,0,k)|0;c[h>>2]=0;if((c[j>>2]|0)==0&(c[k>>2]|0)!=0){b=(c[g>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0;c[s>>2]=c[m>>2];b:while(1){b=q;c[j>>2]=wi(c[g>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0,r,o)|0;if(c[j>>2]|0){o=8;break}if((c[r>>2]|0)==-1){t=q;t=ZE(c[t>>2]|0,c[t+4>>2]|0,c[(c[g>>2]|0)+148>>2]|0,0)|0;b=(c[(c[g>>2]|0)+152>>2]|0)+8|0;b=jF(t|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;c[r>>2]=b}if(!((c[r>>2]|0)!=0|(c[m>>2]|0)!=0)?(t=(c[g>>2]|0)+80|0,t=bF(c[t>>2]|0,c[t+4>>2]|0,c[(c[g>>2]|0)+148>>2]|0,0)|0,b=(c[g>>2]|0)+72|0,(t|0)==(c[b>>2]|0)?(D|0)==(c[b+4>>2]|0):0):0){b=q;t=(c[g>>2]|0)+72|0;t=ZE(c[b>>2]|0,c[b+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;b=(c[(c[g>>2]|0)+152>>2]|0)+8|0;b=jF(t|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;c[r>>2]=b}b=(c[g>>2]|0)+72|0;if((c[b+4>>2]|0)==0?(c[b>>2]|0)==(c[(c[g>>2]|0)+148>>2]|0):0){c[j>>2]=ci(c[g>>2]|0,c[o>>2]|0)|0;if(c[j>>2]|0)break a;c[(c[g>>2]|0)+24>>2]=c[o>>2]}c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[r>>2]|0)>>>0)continue b;if(c[s>>2]|0){Ig(c[g>>2]|0);c[s>>2]=0}c[j>>2]=xi(c[g>>2]|0,(c[g>>2]|0)+72|0,0,1,0)|0;if(c[j>>2]|0)break;c[f>>2]=(c[f>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}if((c[j>>2]|0)!=101){o=26;break}e=q;t=c[e+4>>2]|0;b=(c[g>>2]|0)+72|0;c[b>>2]=c[e>>2];c[b+4>>2]=t}if((o|0)==8){if((c[j>>2]|0)!=101)break;c[j>>2]=0;break}else if((o|0)==26){if((c[j>>2]|0)!=522)break;c[j>>2]=0;break}}}while(0);a[(c[g>>2]|0)+18>>0]=a[(c[g>>2]|0)+12>>0]|0;if(!(c[j>>2]|0)){c[h>>2]=c[(c[g>>2]|0)+200>>2];c[j>>2]=ui(c[(c[g>>2]|0)+64>>2]|0,c[h>>2]|0,(c[(c[c[g>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[j>>2]|0)){if((d[(c[g>>2]|0)+16>>0]|0)<4?(d[(c[g>>2]|0)+16>>0]|0)!=0:0)break;c[j>>2]=kd(c[g>>2]|0,0)|0}while(0);if(!(c[j>>2]|0))c[j>>2]=Uh(c[g>>2]|0,(a[c[h>>2]>>0]|0)!=0&1,0)|0;if((c[j>>2]|0)==0?(c[k>>2]|0)!=0?(a[c[h>>2]>>0]|0)!=0:0:0)c[j>>2]=yi(c[g>>2]|0,c[h>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[f>>2]|0)!=0)){b=c[g>>2]|0;zi(b);b=c[j>>2]|0;i=l;return b|0}b=c[(c[g>>2]|0)+172>>2]|0;c[n>>2]=c[f>>2];c[n+4>>2]=b;tc(539,4352,n);b=c[g>>2]|0;zi(b);b=c[j>>2]|0;i=l;return b|0}function ui(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,o=0,p=0,q=0;j=i;i=i+48|0;h=j+36|0;k=j+32|0;l=j+28|0;q=j+24|0;g=j+20|0;f=j+16|0;n=j;p=j+12|0;m=j+8|0;o=j+40|0;c[k>>2]=b;c[l>>2]=d;c[q>>2]=e;a[c[l>>2]>>0]=0;e=Gg(c[k>>2]|0,n)|0;c[g>>2]=e;b=n;d=c[b+4>>2]|0;if((((((!(0!=(e|0)|((d|0)<0|(d|0)==0&(c[b>>2]|0)>>>0<16))?(d=c[k>>2]|0,b=n,b=ZE(c[b>>2]|0,c[b+4>>2]|0,16,0)|0,b=Fi(d,b,D,f)|0,c[g>>2]=b,0==(b|0)):0)?!((c[f>>2]|0)==0?1:(c[f>>2]|0)>>>0>=(c[q>>2]|0)>>>0):0)?(d=c[k>>2]|0,b=n,b=ZE(c[b>>2]|0,c[b+4>>2]|0,12,0)|0,b=Fi(d,b,D,p)|0,c[g>>2]=b,0==(b|0)):0)?(d=c[k>>2]|0,b=n,b=ZE(c[b>>2]|0,c[b+4>>2]|0,8,0)|0,b=Ei(d,o,8,b,D)|0,c[g>>2]=b,0==(b|0)):0)?(TE(o,4384,8)|0)==0:0)?(o=c[k>>2]|0,q=c[l>>2]|0,d=c[f>>2]|0,b=n,b=ZE(c[b>>2]|0,c[b+4>>2]|0,16,0)|0,b=ZE(b|0,D|0,c[f>>2]|0,0)|0,b=Ei(o,q,d,b,D)|0,c[g>>2]=b,0==(b|0)):0){c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;c[p>>2]=(c[p>>2]|0)-(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(c[p>>2]|0)c[f>>2]=0;a[(c[l>>2]|0)+(c[f>>2]|0)>>0]=0;c[h>>2]=0;b=c[h>>2]|0;i=j;return b|0}c[h>>2]=c[g>>2];b=c[h>>2]|0;i=j;return b|0}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=xb[c[(c[k>>2]|0)+32>>2]&7](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function wi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;p=i;i=i+64|0;j=p+44|0;k=p+40|0;s=p+36|0;t=p+8|0;q=p+32|0;h=p+28|0;n=p+24|0;r=p+48|0;l=p;m=p+20|0;o=p+16|0;c[k>>2]=a;c[s>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[h>>2]=g;e=Oi(c[k>>2]|0)|0;b=(c[k>>2]|0)+72|0;c[b>>2]=e;c[b+4>>2]=D;b=(c[k>>2]|0)+72|0;b=bF(c[b>>2]|0,c[b+4>>2]|0,c[(c[k>>2]|0)+148>>2]|0,0)|0;e=D;a=t;d=c[a+4>>2]|0;if((e|0)>(d|0)|((e|0)==(d|0)?b>>>0>(c[a>>2]|0)>>>0:0)){c[j>>2]=101;t=c[j>>2]|0;i=p;return t|0}b=(c[k>>2]|0)+72|0;a=c[b+4>>2]|0;t=l;c[t>>2]=c[b>>2];c[t+4>>2]=a;if(!((c[s>>2]|0)==0?(a=l,t=(c[k>>2]|0)+80|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=l;c[n>>2]=Ei(c[(c[k>>2]|0)+64>>2]|0,r,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[n>>2]|0){c[j>>2]=c[n>>2];t=c[j>>2]|0;i=p;return t|0}if(TE(r,4384,8)|0){c[j>>2]=101;t=c[j>>2]|0;i=p;return t|0}}a=c[(c[k>>2]|0)+64>>2]|0;t=l;t=bF(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=Fi(a,t,D,c[q>>2]|0)|0;c[n>>2]=t;if((0==(t|0)?(a=c[(c[k>>2]|0)+64>>2]|0,t=l,t=bF(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=Fi(a,t,D,(c[k>>2]|0)+48|0)|0,c[n>>2]=t,0==(t|0)):0)?(a=c[(c[k>>2]|0)+64>>2]|0,t=l,t=bF(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=Fi(a,t,D,c[h>>2]|0)|0,c[n>>2]=t,0==(t|0)):0){t=(c[k>>2]|0)+72|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[k>>2]|0)+64>>2]|0;t=l;t=bF(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=Fi(a,t,D,o)|0;c[n>>2]=t;if(0==(t|0)?(a=c[(c[k>>2]|0)+64>>2]|0,t=l,t=bF(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=Fi(a,t,D,m)|0,c[n>>2]=t,0==(t|0)):0){if(!(c[m>>2]|0))c[m>>2]=c[(c[k>>2]|0)+152>>2];if((!((c[m>>2]|0)>>>0<512|(c[o>>2]|0)>>>0<32|(c[m>>2]|0)>>>0>65536|(c[o>>2]|0)>>>0>65536)?((c[m>>2]|0)-1&c[m>>2]|0)==0:0)?((c[o>>2]|0)-1&c[o>>2]|0)==0:0){c[n>>2]=Eg(c[k>>2]|0,m,-1)|0;c[(c[k>>2]|0)+148>>2]=c[o>>2];break}c[j>>2]=101;t=c[j>>2]|0;i=p;return t|0}c[j>>2]=c[n>>2];t=c[j>>2]|0;i=p;return t|0}while(0);t=(c[k>>2]|0)+72|0;a=t;a=bF(c[a>>2]|0,c[a+4>>2]|0,c[(c[k>>2]|0)+148>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=D;c[j>>2]=c[n>>2];t=c[j>>2]|0;i=p;return t|0}c[j>>2]=c[n>>2];t=c[j>>2]|0;i=p;return t|0}function xi(f,g,h,j,k){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;m=i;i=i+64|0;l=m+60|0;r=m+56|0;w=m+52|0;A=m+48|0;x=m+44|0;q=m+40|0;o=m+36|0;n=m+32|0;s=m+28|0;z=m+24|0;u=m+20|0;B=m+16|0;v=m+12|0;t=m;p=m+8|0;c[r>>2]=f;c[w>>2]=g;c[A>>2]=h;c[x>>2]=j;c[q>>2]=k;c[u>>2]=c[(c[r>>2]|0)+200>>2];f=c[r>>2]|0;if(c[x>>2]|0)f=c[f+64>>2]|0;else f=c[f+68>>2]|0;c[B>>2]=f;g=c[w>>2]|0;c[o>>2]=Fi(c[B>>2]|0,c[g>>2]|0,c[g+4>>2]|0,s)|0;if(c[o>>2]|0){c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}k=c[B>>2]|0;j=c[u>>2]|0;h=c[(c[r>>2]|0)+152>>2]|0;g=c[w>>2]|0;g=bF(c[g>>2]|0,c[g+4>>2]|0,4,0)|0;c[o>>2]=Ei(k,j,h,g,D)|0;if(c[o>>2]|0){c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}h=(c[(c[r>>2]|0)+152>>2]|0)+4+(c[x>>2]<<2)|0;g=c[w>>2]|0;j=g;h=bF(c[j>>2]|0,c[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;c[g>>2]=h;c[g+4>>2]=D;if((c[s>>2]|0)!=0?(c[s>>2]|0)!=(((c[282]|0)/(c[(c[r>>2]|0)+152>>2]|0)|0)+1|0):0){if((c[s>>2]|0)>>>0<=(c[(c[r>>2]|0)+24>>2]|0)>>>0?(Yg(c[A>>2]|0,c[s>>2]|0)|0)==0:0){if(c[x>>2]|0){h=c[B>>2]|0;g=c[w>>2]|0;g=ZE(c[g>>2]|0,c[g+4>>2]|0,4,0)|0;c[o>>2]=Fi(h,g,D,z)|0;if(c[o>>2]|0){c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}if((c[q>>2]|0)==0?(g=Gi(c[r>>2]|0,c[u>>2]|0)|0,(g|0)!=(c[z>>2]|0)):0){c[l>>2]=101;g=c[l>>2]|0;i=m;return g|0}}if((c[A>>2]|0)!=0?(g=Wg(c[A>>2]|0,c[s>>2]|0)|0,c[o>>2]=g,(g|0)!=0):0){c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}if((c[s>>2]|0)==1?(b[(c[r>>2]|0)+142>>1]|0)!=(d[(c[u>>2]|0)+20>>0]|0):0)b[(c[r>>2]|0)+142>>1]=d[(c[u>>2]|0)+20>>0]|0;if(ai(c[r>>2]|0)|0)c[n>>2]=0;else c[n>>2]=Hi(c[r>>2]|0,c[s>>2]|0)|0;if(c[x>>2]|0){if(d[(c[r>>2]|0)+7>>0]|0)z=1;else{g=c[w>>2]|0;j=c[g+4>>2]|0;z=(c[r>>2]|0)+80|0;h=c[z+4>>2]|0;z=(j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0<=(c[z>>2]|0)>>>0:0)}c[v>>2]=z&1}else{if(!(c[n>>2]|0))z=1;else z=0==(e[(c[n>>2]|0)+24>>1]&4|0);c[v>>2]=z&1}do if(c[c[(c[r>>2]|0)+60>>2]>>2]|0){if((d[(c[r>>2]|0)+16>>0]|0)>=4){if(!(c[v>>2]|0)){y=44;break}}else if(!((c[v>>2]|0)!=0?(d[(c[r>>2]|0)+16>>0]|0)==0:0)){y=44;break}h=c[(c[r>>2]|0)+152>>2]|0;h=lF((c[s>>2]|0)-1|0,0,h|0,((h|0)<0)<<31>>31|0)|0;g=t;c[g>>2]=h;c[g+4>>2]=D;g=t;c[o>>2]=id(c[(c[r>>2]|0)+60>>2]|0,c[u>>2]|0,c[(c[r>>2]|0)+152>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((c[s>>2]|0)>>>0>(c[(c[r>>2]|0)+32>>2]|0)>>>0)c[(c[r>>2]|0)+32>>2]=c[s>>2];if(c[(c[r>>2]|0)+88>>2]|0){Ii(c[(c[r>>2]|0)+88>>2]|0,c[s>>2]|0,c[u>>2]|0);c[u>>2]=c[u>>2]}}else y=44;while(0);do if((y|0)==44?(c[x>>2]|0)==0&(c[n>>2]|0)==0:0){g=(c[r>>2]|0)+20|0;a[g>>0]=d[g>>0]|2;c[o>>2]=Xc(c[r>>2]|0,c[s>>2]|0,n,1)|0;g=(c[r>>2]|0)+20|0;a[g>>0]=d[g>>0]&-3;if(!(c[o>>2]|0)){g=(c[n>>2]|0)+24|0;b[g>>1]=e[g>>1]&-9;Ji(c[n>>2]|0);break}c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}while(0);if(c[n>>2]|0){c[p>>2]=c[(c[n>>2]|0)+4>>2];dF(c[p>>2]|0,c[u>>2]|0,c[(c[r>>2]|0)+152>>2]|0)|0;rb[c[(c[r>>2]|0)+196>>2]&31](c[n>>2]|0);do if(c[x>>2]|0){if((c[q>>2]|0)!=0?(h=c[w>>2]|0,k=c[h+4>>2]|0,g=(c[r>>2]|0)+80|0,j=c[g+4>>2]|0,!((k|0)<(j|0)|((k|0)==(j|0)?(c[h>>2]|0)>>>0<=(c[g>>2]|0)>>>0:0))):0)break;Rg(c[n>>2]|0)}while(0);if((c[s>>2]|0)==1){q=(c[r>>2]|0)+100|0;r=(c[p>>2]|0)+24|0;p=q+16|0;do{a[q>>0]=a[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(p|0))}Ki(c[n>>2]|0)}c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}c[l>>2]=0;g=c[l>>2]|0;i=m;return g|0}c[l>>2]=101;g=c[l>>2]|0;i=m;return g|0}function yi(b,d){b=b|0;d=d|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;s=i;i=i+64|0;t=s+60|0;j=s+56|0;h=s+52|0;g=s+48|0;m=s+44|0;f=s+40|0;e=s+36|0;r=s;p=s+32|0;l=s+28|0;n=s+24|0;q=s+16|0;k=s+12|0;o=s+8|0;c[t>>2]=b;c[j>>2]=d;c[h>>2]=c[c[t>>2]>>2];c[e>>2]=0;b=c[(c[h>>2]|0)+4>>2]<<1;c[m>>2]=Mc(b,((b|0)<0)<<31>>31)|0;c[f>>2]=(c[m>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[g>>2]=Di(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0,16385,0)|0}else c[g>>2]=7;a:do if((c[g>>2]|0)==0?(c[g>>2]=Gg(c[m>>2]|0,r)|0,(c[g>>2]|0)==0):0){c[n>>2]=(c[(c[h>>2]|0)+8>>2]|0)+1;b=r;t=c[n>>2]|0;t=bF(c[b>>2]|0,c[b+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=bF(t|0,D|0,1,0)|0;c[e>>2]=gc(t,D)|0;if(!(c[e>>2]|0)){c[g>>2]=7;break}t=r;t=bF(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[l>>2]=(c[e>>2]|0)+t;c[g>>2]=Ei(c[m>>2]|0,c[e>>2]|0,c[r>>2]|0,0,0)|0;if(!(c[g>>2]|0)){a[(c[e>>2]|0)+(c[r>>2]|0)>>0]=0;c[p>>2]=c[e>>2];while(1){b=(c[p>>2]|0)-(c[e>>2]|0)|0;u=((b|0)<0)<<31>>31;t=r;d=c[t+4>>2]|0;if(!((u|0)<(d|0)|((u|0)==(d|0)?b>>>0<(c[t>>2]|0)>>>0:0)))break;c[g>>2]=vi(c[h>>2]|0,c[p>>2]|0,0,q)|0;if(c[g>>2]|0)break a;if(c[q>>2]|0){c[o>>2]=2049;c[g>>2]=Di(c[h>>2]|0,c[p>>2]|0,c[f>>2]|0,c[o>>2]|0,0)|0;if(c[g>>2]|0)break a;c[g>>2]=ui(c[f>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;Rh(c[f>>2]|0)|0;if(c[g>>2]|0)break a;if(a[c[l>>2]>>0]|0)d=(UE(c[l>>2]|0,c[j>>2]|0)|0)==0;else d=0;c[k>>2]=d&1;if(c[k>>2]|0)break a}u=(Mb(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}Rh(c[m>>2]|0)|0;c[g>>2]=_h(c[h>>2]|0,c[j>>2]|0,0)|0}}while(0);hc(c[e>>2]|0);if(!(c[m>>2]|0)){u=c[g>>2]|0;i=s;return u|0}Rh(c[m>>2]|0)|0;hc(c[m>>2]|0);u=c[g>>2]|0;i=s;return u|0}function zi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+12>>0]|0|0)==0?((Ai(c[(c[b>>2]|0)+60>>2]|0)|0)&4096|0)==0:0){a=Bi(c[(c[b>>2]|0)+60>>2]|0)|0;c[(c[b>>2]|0)+148>>2]=a;i=e;return}c[(c[b>>2]|0)+148>>2]=512;i=e;return}function Ai(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ub[c[(c[c[d>>2]>>2]|0)+48>>2]&31](c[d>>2]|0)|0;i=b;return a|0}function Bi(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Ci(c[e>>2]|0)|0;if((c[d>>2]|0)>=32){if((c[d>>2]|0)>65536)c[d>>2]=65536}else c[d>>2]=512;i=b;return c[d>>2]|0}function Ci(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[(c[c[e>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){e=4096;i=b;return e|0}e=ub[c[d>>2]&31](c[e>>2]|0)|0;i=b;return e|0}function Di(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Ab[c[(c[n>>2]|0)+24>>2]&15](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;a=Ab[c[(c[c[k>>2]>>2]|0)+8>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Fi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+16|0;l=f;j=f+12|0;h=f+20|0;g=f+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;a=l;c[g>>2]=Ei(c[k>>2]|0,h,4,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[g>>2]|0){l=c[g>>2]|0;i=f;return l|0}l=Hh(h)|0;c[c[j>>2]>>2]=l;l=c[g>>2]|0;i=f;return l|0}function Gi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;f=e+4|0;g=e;c[j>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[j>>2]|0)+48>>2];c[g>>2]=(c[(c[j>>2]|0)+152>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[h>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=e;return c[f>>2]|0}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=Li(c[(c[g>>2]|0)+204>>2]|0,c[f>>2]|0,0)|0;a=Mi(c[(c[g>>2]|0)+204>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Ii(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;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;f=e+4|0;j=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[k>>2];while(1){if(!(c[f>>2]|0))break;if(((Qc(c[(c[f>>2]|0)+28>>2]|0)|0)==0?(c[g>>2]|0)>>>0<(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(c[j>>2]=Yc(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,1)|0,(c[j>>2]|0)!=0):0)c[(c[f>>2]|0)+28>>2]=c[j>>2];c[f>>2]=c[(c[f>>2]|0)+44>>2]}i=e;return}function Ji(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-33;if((e[(c[f>>2]|0)+24>>1]|0)&2){i=d;return}a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|2;Sg(c[f>>2]|0,2);i=d;return}function Ki(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=(c[f>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+ -1<<16>>16;if(b[(c[f>>2]|0)+26>>1]|0){i=d;return}a=(c[(c[f>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+ -1;a=c[f>>2]|0;if(!(e[(c[f>>2]|0)+24>>1]&2)){Tg(a);i=d;return}if(!(c[a+36>>2]|0)){i=d;return}Sg(c[f>>2]|0,3);i=d;return}function Li(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;c[g>>2]=c[k>>2]&(d[(c[j>>2]|0)+29>>0]|0);a=pb[c[38640+132>>2]&31](c[(c[j>>2]|0)+40>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function Mi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;if(!(c[k>>2]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}c[l>>2]=c[(c[k>>2]|0)+4>>2];if(!(c[c[l>>2]>>2]|0)){c[g>>2]=Ni(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a=c[g>>2]|0;i=f;return a|0}if(!(b[(c[l>>2]|0)+26>>1]|0)){a=(c[h>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1}a=(c[l>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;if((c[j>>2]|0)==1)c[(c[h>>2]|0)+44>>2]=c[l>>2];c[g>>2]=c[l>>2];a=c[g>>2]|0;i=f;return a|0}function Ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[g>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+4>>2];b=(c[f>>2]|0)+0|0;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=c[c[e>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[f>>2]|0)+40;_E(c[(c[f>>2]|0)+8>>2]|0,0,c[(c[g>>2]|0)+24>>2]|0)|0;c[(c[f>>2]|0)+28>>2]=c[g>>2];c[(c[f>>2]|0)+20>>2]=c[h>>2];a=Mi(c[g>>2]|0,c[h>>2]|0,c[e>>2]|0)|0;i=j;return a|0}function Oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;f=b+16|0;d=b+8|0;e=b;c[f>>2]=a;h=d;c[h>>2]=0;c[h+4>>2]=0;h=(c[f>>2]|0)+72|0;g=c[h+4>>2]|0;a=e;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=e;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;i=b;return h|0}h=e;h=ZE(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=jF(h|0,D|0,c[(c[f>>2]|0)+148>>2]|0,0)|0;h=bF(h|0,D|0,1,0)|0;h=lF(h|0,D|0,c[(c[f>>2]|0)+148>>2]|0,0)|0;g=d;c[g>>2]=h;c[g+4>>2]=D;g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;i=b;return h|0}function Pi(b,d){b=b|0;d=d|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;g=i;i=i+64|0;o=g+56|0;h=g+52|0;j=g+48|0;p=g+16|0;s=g+8|0;l=g+44|0;n=g+40|0;e=g+36|0;q=g+32|0;r=g+28|0;k=g+24|0;m=g;c[h>>2]=b;c[j>>2]=d;c[l>>2]=0;c[n>>2]=0;if((c[j>>2]|0)!=0?(c[n>>2]=Vg(c[(c[j>>2]|0)+20>>2]|0)|0,(c[n>>2]|0)==0):0){c[o>>2]=7;b=c[o>>2]|0;i=g;return b|0}if(c[j>>2]|0)d=c[(c[j>>2]|0)+20>>2]|0;else d=c[(c[h>>2]|0)+28>>2]|0;c[(c[h>>2]|0)+24>>2]=d;a[(c[h>>2]|0)+18>>0]=a[(c[h>>2]|0)+12>>0]|0;if((c[j>>2]|0)==0?(ai(c[h>>2]|0)|0)!=0:0){c[o>>2]=Qi(c[h>>2]|0)|0;b=c[o>>2]|0;i=g;return b|0}t=(c[h>>2]|0)+72|0;d=c[t+4>>2]|0;b=p;c[b>>2]=c[t>>2];c[b+4>>2]=d;a:do if((c[j>>2]|0)!=0?(ai(c[h>>2]|0)|0)==0:0){t=(c[j>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[j>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=p;b=c[d>>2]|0;d=c[d+4>>2]|0}t=s;c[t>>2]=b;c[t+4>>2]=d;d=c[j>>2]|0;b=c[d+4>>2]|0;t=(c[h>>2]|0)+72|0;c[t>>2]=c[d>>2];c[t+4>>2]=b;while(1){if(c[l>>2]|0)break a;b=(c[h>>2]|0)+72|0;u=c[b+4>>2]|0;t=s;d=c[t+4>>2]|0;if(!((u|0)<(d|0)|((u|0)==(d|0)?(c[b>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[l>>2]=xi(c[h>>2]|0,(c[h>>2]|0)+72|0,c[n>>2]|0,1,1)|0}}else f=19;while(0);if((f|0)==19){u=(c[h>>2]|0)+72|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[l>>2]|0)break;t=(c[h>>2]|0)+72|0;d=c[t+4>>2]|0;u=p;b=c[u+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[q>>2]=0;u=p;c[l>>2]=wi(c[h>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,q,r)|0;if((c[q>>2]|0)==0?(t=(c[h>>2]|0)+80|0,t=bF(c[t>>2]|0,c[t+4>>2]|0,c[(c[h>>2]|0)+148>>2]|0,0)|0,u=(c[h>>2]|0)+72|0,(t|0)==(c[u>>2]|0)?(D|0)==(c[u+4>>2]|0):0):0){u=p;t=(c[h>>2]|0)+72|0;t=ZE(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[h>>2]|0)+152>>2]|0)+8|0;u=jF(t|0,D|0,u|0,((u|0)<0)<<31>>31|0)|0;c[q>>2]=u}c[e>>2]=0;while(1){if(c[l>>2]|0)continue b;if((c[e>>2]|0)>>>0>=(c[q>>2]|0)>>>0)continue b;t=(c[h>>2]|0)+72|0;d=c[t+4>>2]|0;u=p;b=c[u+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[l>>2]=xi(c[h>>2]|0,(c[h>>2]|0)+72|0,c[n>>2]|0,1,1)|0;c[e>>2]=(c[e>>2]|0)+1}}c:do if(c[j>>2]|0){t=4+(c[(c[h>>2]|0)+152>>2]|0)|0;t=lF(c[(c[j>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;c[u>>2]=t;c[u+4>>2]=D;if(ai(c[h>>2]|0)|0)c[l>>2]=Ri(c[(c[h>>2]|0)+208>>2]|0,(c[j>>2]|0)+28|0)|0;c[k>>2]=c[(c[j>>2]|0)+24>>2];while(1){if(c[l>>2]|0)break c;if((c[k>>2]|0)>>>0>=(c[(c[h>>2]|0)+52>>2]|0)>>>0)break c;c[l>>2]=xi(c[h>>2]|0,m,c[n>>2]|0,0,1)|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);_g(c[n>>2]|0);if(!(c[l>>2]|0)){b=p;t=c[b+4>>2]|0;u=(c[h>>2]|0)+72|0;c[u>>2]=c[b>>2];c[u+4>>2]=t}c[o>>2]=c[l>>2];u=c[o>>2]|0;i=g;return u|0}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;g=b+12|0;d=b+8|0;e=b+4|0;f=b;c[g>>2]=a;c[(c[g>>2]|0)+24>>2]=c[(c[g>>2]|0)+28>>2];c[d>>2]=Xi(c[(c[g>>2]|0)+208>>2]|0,36,c[g>>2]|0)|0;c[e>>2]=Zi(c[(c[g>>2]|0)+204>>2]|0)|0;while(1){if(!((c[e>>2]|0)!=0&(c[d>>2]|0)==0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[d>>2]=Yi(c[g>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[e>>2]=c[f>>2]}i=b;return c[d>>2]|0}function Ri(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=0;if((c[(c[f>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+104>>2]|0)){c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+104>>2]}if((c[c[f>>2]>>2]|0)>>>0>=(c[(c[g>>2]|0)+68>>2]|0)>>>0){a=c[d>>2]|0;i=e;return a|0}c[(c[g>>2]|0)+68>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+76>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+80>>2]=c[(c[f>>2]|0)+8>>2];Si(c[g>>2]|0);a=c[d>>2]|0;i=e;return a|0}function Si(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+32|0;l=d+24|0;f=d+20|0;g=d+16|0;m=d+12|0;h=d+8|0;j=d+4|0;k=d;c[l>>2]=a;c[f>>2]=0;c[g>>2]=0;c[m>>2]=0;c[h>>2]=0;if(!(c[(c[l>>2]|0)+68>>2]|0)){i=d;return}a=c[l>>2]|0;Ti(a,Ui(c[(c[l>>2]|0)+68>>2]|0)|0,f,g,m)|0;c[h>>2]=(c[(c[l>>2]|0)+68>>2]|0)-(c[m>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[k>>2]<<1)>>1]|0|0)>(c[h>>2]|0))b[(c[f>>2]|0)+(c[k>>2]<<1)>>1]=0;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[h>>2]|0)+1<<2));_E((c[g>>2]|0)+((c[h>>2]|0)+1<<2)|0,0,c[j>>2]|0)|0;i=d;return}function Ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;n=i;i=i+48|0;q=n+32|0;p=n+28|0;m=n+24|0;k=n+20|0;o=n+16|0;h=n+12|0;j=n+8|0;g=n+4|0;l=n;c[q>>2]=a;c[p>>2]=b;c[m>>2]=d;c[k>>2]=e;c[o>>2]=f;c[h>>2]=Vi(c[q>>2]|0,c[p>>2]|0,j)|0;if(c[h>>2]|0){q=c[h>>2]|0;i=n;return q|0}c[l>>2]=(c[j>>2]|0)+16384;if(!(c[p>>2]|0)){c[j>>2]=(c[j>>2]|0)+136;c[g>>2]=0}else c[g>>2]=4062+((c[p>>2]|0)-1<<12);c[c[k>>2]>>2]=(c[j>>2]|0)+ -4;c[c[m>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[g>>2];q=c[h>>2]|0;i=n;return q|0}function Ui(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function Vi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+24|0;l=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;o=m+4|0;n=m;c[l>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;do if((c[(c[l>>2]|0)+24>>2]|0)<=(c[h>>2]|0)){c[o>>2]=(c[h>>2]|0)+1<<2;c[n>>2]=jc(c[(c[l>>2]|0)+32>>2]|0,c[o>>2]|0)|0;if(c[n>>2]|0){_E((c[n>>2]|0)+(c[(c[l>>2]|0)+24>>2]<<2)|0,0,(c[h>>2]|0)+1-(c[(c[l>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[l>>2]|0)+32>>2]=c[n>>2];c[(c[l>>2]|0)+24>>2]=(c[h>>2]|0)+1;break}c[c[j>>2]>>2]=0;c[g>>2]=7;b=c[g>>2]|0;i=m;return b|0}while(0);do if(!(c[(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0))if((d[(c[l>>2]|0)+43>>0]|0|0)==2){b=Mc(32768,0)|0;c[(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]=b;if(c[(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0)break;c[k>>2]=7;break}else{c[k>>2]=Wi(c[(c[l>>2]|0)+4>>2]|0,c[h>>2]|0,32768,d[(c[l>>2]|0)+44>>0]|0,(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)|0)|0;if((c[k>>2]|0)!=8)break;b=(c[l>>2]|0)+46|0;a[b>>0]=d[b>>0]|0|2;c[k>>2]=0;break}while(0);c[c[j>>2]>>2]=c[(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];c[g>>2]=c[k>>2];b=c[g>>2]|0;i=m;return b|0}function Wi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a=Ab[c[(c[c[m>>2]>>2]|0)+52>>2]&15](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return a|0}function Xi(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;l=i;i=i+32|0;h=l+20|0;f=l+16|0;m=l+12|0;g=l+8|0;k=l+4|0;j=l;c[h>>2]=b;c[f>>2]=d;c[m>>2]=e;c[g>>2]=0;if(!(a[(c[h>>2]|0)+44>>0]|0)){b=c[g>>2]|0;i=l;return b|0}c[k>>2]=c[(c[h>>2]|0)+68>>2];b=(c[h>>2]|0)+52|0;b=b+0|0;d=(mj(c[h>>2]|0)|0)+0|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[j>>2]=(c[(c[h>>2]|0)+68>>2]|0)+1;while(1){if(c[g>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[f>>2]|0;d=c[m>>2]|0;b=nj(c[h>>2]|0,c[j>>2]|0)|0;c[g>>2]=zb[e&63](d,b)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[h>>2]|0)+68>>2]|0)){b=c[g>>2]|0;i=l;return b|0}Si(c[h>>2]|0);b=c[g>>2]|0;i=l;return b|0}function Yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+20|0;j=e+16|0;d=e+12|0;f=e+8|0;g=e+4|0;h=e;c[k>>2]=a;c[j>>2]=b;c[d>>2]=0;c[f>>2]=c[k>>2];c[g>>2]=Hi(c[f>>2]|0,c[j>>2]|0)|0;do if(c[g>>2]|0){if((aj(c[g>>2]|0)|0)==1){bj(c[g>>2]|0);break}c[h>>2]=0;c[d>>2]=cj(c[(c[f>>2]|0)+208>>2]|0,c[(c[g>>2]|0)+20>>2]|0,h)|0;if(!(c[d>>2]|0))c[d>>2]=dj(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[d>>2]|0))rb[c[(c[f>>2]|0)+196>>2]&31](c[g>>2]|0);ej(c[g>>2]|0)}while(0);Og(c[(c[f>>2]|0)+88>>2]|0);i=e;return c[d>>2]|0}function Zi(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[(c[e>>2]|0)+12>>2]=c[(c[e>>2]|0)+32>>2];c[e>>2]=c[(c[e>>2]|0)+32>>2]}e=_i(c[c[b>>2]>>2]|0)|0;i=d;return e|0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+144|0;h=f+136|0;b=f+8|0;d=f+4|0;e=f;c[h>>2]=a;j=b+0|0;a=j+128|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(a|0));while(1){if(!(c[h>>2]|0))break;c[d>>2]=c[h>>2];c[h>>2]=c[(c[d>>2]|0)+12>>2];c[(c[d>>2]|0)+12>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=31)break;if(!(c[b+(c[e>>2]<<2)>>2]|0)){g=6;break}c[d>>2]=$i(c[b+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[b+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}if((g|0)==6){g=0;c[b+(c[e>>2]<<2)>>2]=c[d>>2]}if((c[e>>2]|0)!=31)continue;j=$i(c[b+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[b+(c[e>>2]<<2)>>2]=j}c[d>>2]=c[b>>2];c[e>>2]=1;while(1){g=c[d>>2]|0;if((c[e>>2]|0)>=32)break;c[d>>2]=$i(g,c[b+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}i=f;return g|0}function $i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+64|0;d=g+52|0;h=g+48|0;f=g+8|0;e=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=f;while(1){if(c[d>>2]|0)a=(c[h>>2]|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;if((c[b+20>>2]|0)>>>0<(c[(c[h>>2]|0)+20>>2]|0)>>>0){c[(c[e>>2]|0)+12>>2]=c[d>>2];c[e>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[e>>2]|0)+12>>2]=c[h>>2];c[e>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+12>>2];continue}}if(b){c[(c[e>>2]|0)+12>>2]=c[d>>2];a=f+12|0;a=c[a>>2]|0;i=g;return a|0}if(c[h>>2]|0){c[(c[e>>2]|0)+12>>2]=c[h>>2];a=f+12|0;a=c[a>>2]|0;i=g;return a|0}else{c[(c[e>>2]|0)+12>>2]=0;a=f+12|0;a=c[a>>2]|0;i=g;return a|0}return 0}function aj(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function bj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)Sg(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+ -1;if((c[(c[b>>2]|0)+20>>2]|0)==1)c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]=0;vb[c[38640+136>>2]&63](c[(c[(c[b>>2]|0)+28>>2]|0)+40>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function cj(a,d,f){a=a|0;d=d|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;j=i;i=i+64|0;h=j+52|0;m=j+48|0;o=j+44|0;g=j+40|0;l=j+36|0;v=j+32|0;q=j+28|0;r=j+24|0;s=j+20|0;t=j+16|0;p=j+12|0;n=j+8|0;k=j+4|0;u=j;c[m>>2]=a;c[o>>2]=d;c[g>>2]=f;c[l>>2]=0;c[v>>2]=c[(c[m>>2]|0)+68>>2];if((c[v>>2]|0)!=0?(b[(c[m>>2]|0)+40>>1]|0)!=0:0){c[q>>2]=Ui(c[v>>2]|0)|0;a:while(1){if(!((c[q>>2]|0)>=0&(c[l>>2]|0)==0)){m=17;break}c[k>>2]=Ti(c[m>>2]|0,c[q>>2]|0,r,s,t)|0;if(c[k>>2]|0){m=7;break}c[n>>2]=8192;c[p>>2]=jj(c[o>>2]|0)|0;while(1){if(!(b[(c[r>>2]|0)+(c[p>>2]<<1)>>1]|0))break;c[u>>2]=(e[(c[r>>2]|0)+(c[p>>2]<<1)>>1]|0)+(c[t>>2]|0);if((c[u>>2]|0)>>>0<=(c[v>>2]|0)>>>0?(c[(c[s>>2]|0)+(e[(c[r>>2]|0)+(c[p>>2]<<1)>>1]<<2)>>2]|0)==(c[o>>2]|0):0)c[l>>2]=c[u>>2];a=c[n>>2]|0;c[n>>2]=a+ -1;if(!a){m=14;break a}c[p>>2]=lj(c[p>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+ -1}if((m|0)==7){c[h>>2]=c[k>>2];a=c[h>>2]|0;i=j;return a|0}else if((m|0)==14){c[h>>2]=kj(50484)|0;a=c[h>>2]|0;i=j;return a|0}else if((m|0)==17){c[c[g>>2]>>2]=c[l>>2];c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}}c[c[g>>2]>>2]=0;c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}function dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+48|0;j=e+32|0;m=e+28|0;l=e+24|0;k=e+20|0;f=e+16|0;h=e+12|0;n=e;g=e+8|0;c[j>>2]=b;c[m>>2]=d;c[l>>2]=c[(c[j>>2]|0)+16>>2];c[k>>2]=c[(c[j>>2]|0)+20>>2];c[f>>2]=0;c[h>>2]=c[(c[l>>2]|0)+152>>2];if(c[m>>2]|0)c[f>>2]=ij(c[(c[l>>2]|0)+208>>2]|0,c[m>>2]|0,c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;else{m=c[(c[l>>2]|0)+152>>2]|0;m=lF((c[k>>2]|0)-1|0,0,m|0,((m|0)<0)<<31>>31|0)|0;b=n;c[b>>2]=m;c[b+4>>2]=D;b=n;b=Ei(c[(c[l>>2]|0)+60>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)==522?0:b}if((c[k>>2]|0)!=1){b=c[f>>2]|0;i=e;return b|0}if(c[f>>2]|0){h=(c[l>>2]|0)+100|0;g=h+16|0;do{a[h>>0]=255;h=h+1|0}while((h|0)<(g|0));b=c[f>>2]|0;i=e;return b|0}else{c[g>>2]=(c[(c[j>>2]|0)+4>>2]|0)+24;h=(c[l>>2]|0)+100|0;j=(c[g>>2]|0)+0|0;g=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(g|0));b=c[f>>2]|0;i=e;return b|0}return 0}function ej(a){a=a|0;var b=0,d=0,f=0;b=i;i=i+16|0;f=b+4|0;d=b;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&64){fj(a);f=c[d>>2]|0;gj(f);i=b;return}else{Ki(a);f=c[d>>2]|0;gj(f);i=b;return}}function fj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+120|0;c[e>>2]=(c[e>>2]|0)+ -1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+136>>2];c[(c[f>>2]|0)+136>>2]=c[d>>2];e=c[(c[f>>2]|0)+60>>2]|0;a=c[(c[f>>2]|0)+152>>2]|0;a=lF((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;hj(e,a,D,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function gj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[(c[d>>2]|0)+120>>2]|0){i=b;return}if(Fg(c[(c[d>>2]|0)+204>>2]|0)|0){i=b;return}Qh(c[d>>2]|0);i=b;return}function hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function ij(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+66>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);b=(c[j>>2]|0)+24|0;b=lF((c[n>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=bF(32,0,b|0,D|0)|0;b=bF(b|0,D|0,24,0)|0;a=m;c[a>>2]=b;c[a+4>>2]=D;a=m;a=Ei(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function jj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[b>>2]|0)*383&8191|0}function kj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(vf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;tc(11,4392,d);i=b;return 11}function lj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[b>>2]|0)+1&8191|0}function mj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;h=d+4|0;g=d;c[f>>2]=a;c[h>>2]=b;c[g>>2]=Ui(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=c[(c[c[(c[f>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[e>>2]|0;i=d;return h|0}return 0}function oj(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;bi(c[e>>2]|0)|0;if((b[(c[e>>2]|0)+40>>1]|0)<0){i=d;return}hi(c[e>>2]|0,3+(b[(c[e>>2]|0)+40>>1]|0)|0);b[(c[e>>2]|0)+40>>1]=-1;i=d;return}function pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+28>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function qj(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;n=i;i=i+64|0;m=n+48|0;p=n+44|0;r=n+40|0;t=n+36|0;u=n+32|0;v=n+28|0;x=n+24|0;w=n+20|0;z=n+16|0;s=n+12|0;o=n+8|0;y=n+4|0;q=n;c[p>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[x>>2]=h;c[w>>2]=j;c[z>>2]=k;c[s>>2]=l;c[y>>2]=0;c[q>>2]=c[r>>2];if(a[(c[p>>2]|0)+46>>0]|0){c[m>>2]=8;b=c[m>>2]|0;i=n;return b|0}c[o>>2]=vj(c[p>>2]|0,1,1)|0;if(c[o>>2]|0){c[m>>2]=c[o>>2];b=c[m>>2]|0;i=n;return b|0}a[(c[p>>2]|0)+45>>0]=1;do if(c[r>>2]|0){c[o>>2]=wj(c[p>>2]|0,c[t>>2]|0,c[u>>2]|0,0,1)|0;if(!(c[o>>2]|0)){a[(c[p>>2]|0)+44>>0]=1;break}if((c[o>>2]|0)==5){c[q>>2]=0;c[o>>2]=0}}while(0);if(((c[o>>2]|0)==0?(c[o>>2]=xj(c[p>>2]|0,y)|0,(c[y>>2]|0)!=0):0)?(c[c[c[(c[p>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)hj(c[(c[p>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[o>>2]|0)){if((c[(c[p>>2]|0)+68>>2]|0)!=0?(b=yj(c[p>>2]|0)|0,(b|0)!=(c[x>>2]|0)):0)c[o>>2]=kj(51084)|0;else c[o>>2]=zj(c[p>>2]|0,c[q>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;if((c[o>>2]|0)==0|(c[o>>2]|0)==5){if(c[z>>2]|0)c[c[z>>2]>>2]=c[(c[p>>2]|0)+68>>2];if(c[s>>2]|0){b=c[(Aj(c[p>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=b}}}if(c[y>>2]|0){t=(c[p>>2]|0)+52|0;s=t+48|0;do{c[t>>2]=0;t=t+4|0}while((t|0)<(s|0))}bi(c[p>>2]|0)|0;ji(c[p>>2]|0,1,1);a[(c[p>>2]|0)+45>>0]=0;if((c[o>>2]|0)==0?(c[r>>2]|0)!=(c[q>>2]|0):0)o=5;else o=c[o>>2]|0;c[m>>2]=o;b=c[m>>2]|0;i=n;return b|0}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;pb[c[(c[c[h>>2]>>2]|0)+40>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function sj(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;e=i;i=i+32|0;h=e+16|0;g=e+24|0;j=e+8|0;k=e;f=e+20|0;c[g>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;kh();c[f>>2]=Gg(c[(c[g>>2]|0)+8>>2]|0,k)|0;if((c[f>>2]|0)==0?(b=k,d=c[b+4>>2]|0,a=j,k=c[a+4>>2]|0,(d|0)>(k|0)|((d|0)==(k|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)):0){a=j;c[f>>2]=Xh(c[(c[g>>2]|0)+8>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0}lh();if(!(c[f>>2]|0)){i=e;return}a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+100>>2];tc(a,4440,h);i=e;return}function tj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;if((d[(c[g>>2]|0)+43>>0]|0|0)!=2){uj(c[(c[g>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=e;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+24>>2]|0))break;hc(c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0);c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}i=e;return}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+64>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function vj(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;f=i;i=i+32|0;g=f+16|0;l=f+12|0;k=f+8|0;j=f+4|0;h=f;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;if(a[(c[l>>2]|0)+43>>0]|0){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}else{c[h>>2]=ii(c[(c[l>>2]|0)+4>>2]|0,c[k>>2]|0,c[j>>2]|0,10)|0;c[g>>2]=c[h>>2];b=c[g>>2]|0;i=f;return b|0}return 0}function wj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;m=h+20|0;k=h+16|0;l=h+12|0;j=h+8|0;n=h+4|0;g=h;c[m>>2]=a;c[k>>2]=b;c[l>>2]=d;c[j>>2]=e;c[n>>2]=f;while(1){c[g>>2]=vj(c[m>>2]|0,c[j>>2]|0,c[n>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[g>>2]|0)==5)){j=4;break}if(!(ub[c[k>>2]&31](c[l>>2]|0)|0)){j=4;break}}if((j|0)==4){i=h;return c[g>>2]|0}return 0}function xj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+20|0;f=k+16|0;l=k+12|0;h=k+8|0;j=k+4|0;m=k;c[f>>2]=b;c[l>>2]=e;c[h>>2]=Vi(c[f>>2]|0,0,m)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}if(c[m>>2]|0)e=Gj(c[f>>2]|0,c[l>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[f>>2]|0;if((d[(c[f>>2]|0)+46>>0]|0)&2){b=gi(e,0)|0;c[h>>2]=b;if(b)break;hi(c[f>>2]|0,0);c[h>>2]=264;break}b=vj(e,0,1)|0;c[h>>2]=b;if(!b){a[(c[f>>2]|0)+44>>0]=1;b=Vi(c[f>>2]|0,0,m)|0;c[h>>2]=b;if(0==(b|0)?(c[j>>2]=Gj(c[f>>2]|0,c[l>>2]|0)|0,(c[j>>2]|0)!=0):0){c[h>>2]=Hj(c[f>>2]|0)|0;c[c[l>>2]>>2]=1}a[(c[f>>2]|0)+44>>0]=0;ji(c[f>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[f>>2]|0)+52>>2]|0)!=3007e3:0)c[h>>2]=Ij(50131)|0;c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}function yj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return((e[(c[b>>2]|0)+66>>1]|0)&65024)+(((e[(c[b>>2]|0)+66>>1]|0)&1)<<16)|0}function zj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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,E=0,F=0,G=0,H=0;x=i;i=i+112|0;k=x+104|0;n=x+100|0;m=x+96|0;H=x+92|0;E=x+88|0;q=x+84|0;z=x+80|0;l=x+76|0;r=x+72|0;t=x+68|0;w=x+64|0;u=x+60|0;o=x+56|0;h=x+52|0;F=x+48|0;p=x+44|0;C=x+40|0;G=x+36|0;B=x+24|0;v=x+32|0;A=x+16|0;y=x+8|0;s=x;c[n>>2]=a;c[m>>2]=b;c[H>>2]=d;c[E>>2]=e;c[q>>2]=f;c[z>>2]=g;c[t>>2]=0;c[w>>2]=0;c[u>>2]=0;c[C>>2]=0;c[r>>2]=yj(c[n>>2]|0)|0;c[p>>2]=Aj(c[n>>2]|0)|0;if((c[c[p>>2]>>2]|0)>>>0>=(c[(c[n>>2]|0)+68>>2]|0)>>>0){c[k>>2]=0;a=c[k>>2]|0;i=x;return a|0}c[l>>2]=Bj(c[n>>2]|0,t)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];a=c[k>>2]|0;i=x;return a|0}if(c[m>>2]|0)c[C>>2]=c[H>>2];c[o>>2]=c[(c[n>>2]|0)+68>>2];c[h>>2]=c[(c[n>>2]|0)+72>>2];c[F>>2]=1;a:while(1){if((c[F>>2]|0)>=5){j=15;break}c[G>>2]=c[(c[p>>2]|0)+4+(c[F>>2]<<2)>>2];do if((c[o>>2]|0)>>>0>(c[G>>2]|0)>>>0){c[l>>2]=wj(c[n>>2]|0,c[C>>2]|0,c[E>>2]|0,3+(c[F>>2]|0)|0,1)|0;if(!(c[l>>2]|0)){c[(c[p>>2]|0)+4+(c[F>>2]<<2)>>2]=(c[F>>2]|0)==1?c[o>>2]|0:-1;ji(c[n>>2]|0,3+(c[F>>2]|0)|0,1);break}if((c[l>>2]|0)!=5)break a;c[o>>2]=c[G>>2];c[C>>2]=0}while(0);c[F>>2]=(c[F>>2]|0)+1}do if((j|0)==15){if((c[c[p>>2]>>2]|0)>>>0<(c[o>>2]|0)>>>0?(a=wj(c[n>>2]|0,c[C>>2]|0,c[E>>2]|0,3,1)|0,c[l>>2]=a,(a|0)==0):0){c[v>>2]=c[c[p>>2]>>2];if(c[q>>2]|0)c[l>>2]=Yh(c[(c[n>>2]|0)+8>>2]|0,c[q>>2]|0)|0;if(((c[l>>2]|0)==0?(b=c[r>>2]|0,b=lF(c[h>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0,a=A,c[a>>2]=b,c[a+4>>2]=D,c[l>>2]=Gg(c[(c[n>>2]|0)+4>>2]|0,B)|0,(c[l>>2]|0)==0):0)?(b=B,e=c[b+4>>2]|0,a=A,d=c[a+4>>2]|0,(e|0)<(d|0)|((e|0)==(d|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)):0)rj(c[(c[n>>2]|0)+4>>2]|0,5,A);b:while(1){if(c[l>>2]|0)break;while(1){if(Cj(c[t>>2]|0,w,u)|0)break b;if((c[u>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[u>>2]|0)>>>0>(c[o>>2]|0)>>>0)continue b;if((c[w>>2]|0)>>>0>(c[h>>2]|0)>>>0)continue b;b=(c[r>>2]|0)+24|0;b=lF((c[u>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=bF(32,0,b|0,D|0)|0;b=bF(b|0,D|0,24,0)|0;a=y;c[a>>2]=b;c[a+4>>2]=D;a=y;c[l>>2]=Ei(c[(c[n>>2]|0)+8>>2]|0,c[z>>2]|0,c[r>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[l>>2]|0)break b;b=c[r>>2]|0;b=lF((c[w>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;a=y;c[a>>2]=b;c[a+4>>2]=D;a=y;c[l>>2]=id(c[(c[n>>2]|0)+4>>2]|0,c[z>>2]|0,c[r>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[l>>2]|0)==0))break b}}if(!(c[l>>2]|0)){a=c[o>>2]|0;if((a|0)==(c[(mj(c[n>>2]|0)|0)+16>>2]|0)?(b=c[r>>2]|0,b=lF(c[(c[n>>2]|0)+72>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0,a=s,c[a>>2]=b,c[a+4>>2]=D,a=s,c[l>>2]=Xh(c[(c[n>>2]|0)+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,(c[l>>2]|0)==0&(c[q>>2]|0)!=0):0)c[l>>2]=Yh(c[(c[n>>2]|0)+4>>2]|0,c[q>>2]|0)|0;if(!(c[l>>2]|0))c[c[p>>2]>>2]=c[o>>2]}ji(c[n>>2]|0,3,1)}if((c[l>>2]|0)==5)c[l>>2]=0;if((c[l>>2]|0)==0&(c[m>>2]|0)!=0){if((c[c[p>>2]>>2]|0)>>>0<(c[(c[n>>2]|0)+68>>2]|0)>>>0){c[l>>2]=5;break}if((c[m>>2]|0)==2?(c[l>>2]=wj(c[n>>2]|0,c[C>>2]|0,c[E>>2]|0,4,4)|0,(c[l>>2]|0)==0):0)ji(c[n>>2]|0,4,4)}}while(0);Dj(c[t>>2]|0);c[k>>2]=c[l>>2];a=c[k>>2]|0;i=x;return a|0}function Aj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Bj(a,d){a=a|0;d=d|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;n=i;i=i+64|0;f=n+60|0;u=n+56|0;h=n+52|0;g=n+48|0;t=n+44|0;o=n+40|0;v=n+36|0;s=n+32|0;k=n+28|0;j=n+24|0;q=n+20|0;l=n+16|0;r=n+12|0;e=n+8|0;p=n+4|0;m=n;c[u>>2]=a;c[h>>2]=d;c[j>>2]=0;c[o>>2]=c[(c[u>>2]|0)+68>>2];c[t>>2]=(Ui(c[o>>2]|0)|0)+1;c[v>>2]=28+(((c[t>>2]|0)-1|0)*20|0)+(c[o>>2]<<1);c[g>>2]=mg(c[v>>2]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=n;return a|0}_E(c[g>>2]|0,0,c[v>>2]|0)|0;c[(c[g>>2]|0)+4>>2]=c[t>>2];c[k>>2]=mg(((c[o>>2]|0)>>>0>4096?4096:c[o>>2]|0)<<1)|0;if(!(c[k>>2]|0))c[j>>2]=7;c[s>>2]=0;while(1){if(c[j>>2]|0)break;if((c[s>>2]|0)>=(c[t>>2]|0))break;c[j>>2]=Ti(c[u>>2]|0,c[s>>2]|0,q,r,l)|0;if(!(c[j>>2]|0)){c[r>>2]=(c[r>>2]|0)+4;if(((c[s>>2]|0)+1|0)==(c[t>>2]|0))c[p>>2]=(c[o>>2]|0)-(c[l>>2]|0);else c[p>>2]=((c[q>>2]|0)-(c[r>>2]|0)|0)/4|0;c[m>>2]=(c[g>>2]|0)+8+((c[(c[g>>2]|0)+4>>2]|0)*20|0)+(c[l>>2]<<1);c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[p>>2]|0))break;b[(c[m>>2]|0)+(c[e>>2]<<1)>>1]=c[e>>2];c[e>>2]=(c[e>>2]|0)+1}Ej(c[r>>2]|0,c[k>>2]|0,c[m>>2]|0,p);c[(c[g>>2]|0)+8+((c[s>>2]|0)*20|0)+16>>2]=c[l>>2];c[(c[g>>2]|0)+8+((c[s>>2]|0)*20|0)+12>>2]=c[p>>2];c[(c[g>>2]|0)+8+((c[s>>2]|0)*20|0)+4>>2]=c[m>>2];c[(c[g>>2]|0)+8+((c[s>>2]|0)*20|0)+8>>2]=c[r>>2]}c[s>>2]=(c[s>>2]|0)+1}ng(c[k>>2]|0);if(c[j>>2]|0)Dj(c[g>>2]|0);c[c[h>>2]>>2]=c[g>>2];c[f>>2]=c[j>>2];a=c[f>>2]|0;i=n;return a|0}function Cj(a,b,d){a=a|0;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;k=i;i=i+32|0;h=k+28|0;j=k+24|0;n=k+20|0;o=k+16|0;m=k+12|0;p=k+8|0;f=k+4|0;l=k;c[h>>2]=a;c[j>>2]=b;c[n>>2]=d;c[m>>2]=-1;c[o>>2]=c[c[h>>2]>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)-1;while(1){if((c[p>>2]|0)<0)break;c[f>>2]=(c[h>>2]|0)+8+((c[p>>2]|0)*20|0);while(1){if((c[c[f>>2]>>2]|0)>=(c[(c[f>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+((e[(c[(c[f>>2]|0)+4>>2]|0)+(c[c[f>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[o>>2]|0)>>>0){g=6;break}a=c[f>>2]|0;c[a>>2]=(c[a>>2]|0)+1}if((g|0)==6?(g=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[n>>2]>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(e[(c[(c[f>>2]|0)+4>>2]|0)+(c[c[f>>2]>>2]<<1)>>1]|0)}c[p>>2]=(c[p>>2]|0)+ -1}a=c[m>>2]|0;c[c[h>>2]>>2]=a;c[c[j>>2]>>2]=a;i=k;return(c[m>>2]|0)==-1|0}function Dj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ng(c[d>>2]|0);i=b;return}function Ej(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0;r=i;i=i+160|0;g=r+144|0;p=r+140|0;k=r+136|0;q=r+132|0;m=r+128|0;j=r+124|0;l=r+120|0;o=r+116|0;h=r+112|0;f=r+8|0;n=r+4|0;s=r;c[g>>2]=a;c[p>>2]=b;c[k>>2]=d;c[q>>2]=e;c[m>>2]=c[c[q>>2]>>2];c[j>>2]=0;c[l>>2]=0;c[h>>2]=0;d=f+0|0;e=d+104|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;c[j>>2]=1;c[l>>2]=(c[k>>2]|0)+(c[o>>2]<<1);c[h>>2]=0;while(1){if(!(c[o>>2]&1<>2]))break;c[n>>2]=f+(c[h>>2]<<3);Fj(c[g>>2]|0,c[(c[n>>2]|0)+4>>2]|0,c[c[n>>2]>>2]|0,l,j,c[p>>2]|0);c[h>>2]=(c[h>>2]|0)+1}c[f+(c[h>>2]<<3)+4>>2]=c[l>>2];c[f+(c[h>>2]<<3)>>2]=c[j>>2];c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1;while(1){if((c[h>>2]|0)>=13)break;if(c[m>>2]&1<>2]){c[s>>2]=f+(c[h>>2]<<3);Fj(c[g>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[c[s>>2]>>2]|0,l,j,c[p>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}c[c[q>>2]>>2]=c[j>>2];i=r;return}function Fj(a,d,f,g,h,j){a=a|0;d=d|0;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,u=0,v=0,w=0,x=0,y=0;q=i;i=i+64|0;r=q+44|0;u=q+40|0;v=q+36|0;m=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;w=q+16|0;n=q+12|0;x=q+8|0;y=q+4|0;s=q+48|0;t=q;c[r>>2]=a;c[u>>2]=d;c[v>>2]=f;c[m>>2]=g;c[o>>2]=h;c[p>>2]=j;c[k>>2]=0;c[w>>2]=0;c[n>>2]=0;c[x>>2]=c[c[o>>2]>>2];c[y>>2]=c[c[m>>2]>>2];while(1){if((c[w>>2]|0)>=(c[x>>2]|0)?(c[k>>2]|0)>=(c[v>>2]|0):0)break;do if((c[k>>2]|0)<(c[v>>2]|0)){if((c[w>>2]|0)<(c[x>>2]|0)?(c[(c[r>>2]|0)+((e[(c[u>>2]|0)+(c[k>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[r>>2]|0)+((e[(c[y>>2]|0)+(c[w>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){l=8;break}a=c[k>>2]|0;c[k>>2]=a+1;b[s>>1]=b[(c[u>>2]|0)+(a<<1)>>1]|0}else l=8;while(0);if((l|0)==8){l=0;a=c[w>>2]|0;c[w>>2]=a+1;b[s>>1]=b[(c[y>>2]|0)+(a<<1)>>1]|0}c[t>>2]=c[(c[r>>2]|0)+((e[s>>1]|0)<<2)>>2];d=b[s>>1]|0;a=c[n>>2]|0;c[n>>2]=a+1;b[(c[p>>2]|0)+(a<<1)>>1]=d;if((c[k>>2]|0)>=(c[v>>2]|0))continue;if((c[(c[r>>2]|0)+((e[(c[u>>2]|0)+(c[k>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[t>>2]|0))continue;c[k>>2]=(c[k>>2]|0)+1}c[c[m>>2]>>2]=c[u>>2];c[c[o>>2]>>2]=c[n>>2];dF(c[u>>2]|0,c[p>>2]|0,c[n>>2]<<1|0)|0;i=q;return}function Gj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+128|0;l=g+120|0;m=g+116|0;o=g+112|0;n=g+104|0;k=g+56|0;h=g+8|0;j=g;c[m>>2]=b;c[o>>2]=f;c[j>>2]=mj(c[m>>2]|0)|0;b=k+0|0;f=(c[j>>2]|0)+0|0;p=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(p|0));Nj(c[m>>2]|0);b=h+0|0;f=(c[j>>2]|0)+48|0;p=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(p|0));if(TE(k,h,48)|0){c[l>>2]=1;p=c[l>>2]|0;i=g;return p|0}if(!(d[k+12>>0]|0)){c[l>>2]=1;p=c[l>>2]|0;i=g;return p|0}Jj(1,k,40,0,n);if((c[n>>2]|0)==(c[k+40>>2]|0)?(c[n+4>>2]|0)==(c[k+44>>2]|0):0){if(TE((c[m>>2]|0)+52|0,k,48)|0){c[c[o>>2]>>2]=1;b=(c[m>>2]|0)+52|0;f=k+0|0;p=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(p|0));c[(c[m>>2]|0)+36>>2]=((e[(c[m>>2]|0)+66>>1]|0)&65024)+(((e[(c[m>>2]|0)+66>>1]|0)&1)<<16)}c[l>>2]=0;p=c[l>>2]|0;i=g;return p|0}c[l>>2]=1;p=c[l>>2]|0;i=g;return p|0}function Hj(e){e=e|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,E=0;s=i;i=i+144|0;C=s+16|0;r=s+96|0;j=s+92|0;h=s+88|0;k=s+8|0;z=s+80|0;l=s+76|0;m=s+72|0;o=s+104|0;n=s+68|0;g=s+64|0;t=s+60|0;u=s+56|0;v=s;q=s+52|0;p=s+48|0;f=s+44|0;y=s+40|0;w=s+36|0;x=s+32|0;A=s+28|0;B=s+24|0;c[j>>2]=e;c[z+0>>2]=0;c[z+4>>2]=0;c[l>>2]=1+(d[(c[j>>2]|0)+45>>0]|0);c[m>>2]=8-(c[l>>2]|0);c[h>>2]=vj(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[h>>2]|0){c[r>>2]=c[h>>2];E=c[r>>2]|0;i=s;return E|0}e=(c[j>>2]|0)+52|0;E=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(E|0));c[h>>2]=Gg(c[(c[j>>2]|0)+8>>2]|0,k)|0;a:do if(!(c[h>>2]|0)){E=k;e=c[E+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[E>>2]|0)>>>0>32){c[n>>2]=0;c[h>>2]=Ei(c[(c[j>>2]|0)+8>>2]|0,o,32,0,0)|0;if(c[h>>2]|0)break a;c[p>>2]=Hh(o)|0;c[q>>2]=Hh(o+8|0)|0;if((c[p>>2]&-2|0)==931071618?!(((c[q>>2]|0)>65536?1:(c[q>>2]&(c[q>>2]|0)-1|0)!=0)|(c[q>>2]|0)<512):0){a[(c[j>>2]|0)+65>>0]=c[p>>2]&1;c[(c[j>>2]|0)+36>>2]=c[q>>2];E=Hh(o+12|0)|0;c[(c[j>>2]|0)+104>>2]=E;E=(c[j>>2]|0)+84|0;e=o+16|0;a[E+0>>0]=a[e+0>>0]|0;a[E+1>>0]=a[e+1>>0]|0;a[E+2>>0]=a[e+2>>0]|0;a[E+3>>0]=a[e+3>>0]|0;a[E+4>>0]=a[e+4>>0]|0;a[E+5>>0]=a[e+5>>0]|0;a[E+6>>0]=a[e+6>>0]|0;a[E+7>>0]=a[e+7>>0]|0;Jj((d[(c[j>>2]|0)+65>>0]|0)==((a[1136]|0)==0|0)&1,o,24,0,(c[j>>2]|0)+76|0);E=c[(c[j>>2]|0)+76>>2]|0;if((E|0)==(Hh(o+24|0)|0)?(E=c[(c[j>>2]|0)+80>>2]|0,(E|0)==(Hh(o+28|0)|0)):0){c[f>>2]=Hh(o+4|0)|0;if((c[f>>2]|0)!=3007e3){c[h>>2]=Ij(49260)|0;break}c[g>>2]=(c[q>>2]|0)+24;c[n>>2]=fc(c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;break a}c[t>>2]=(c[n>>2]|0)+24;c[u>>2]=0;E=v;c[E>>2]=32;c[E+4>>2]=0;while(1){o=v;e=c[g>>2]|0;e=bF(c[o>>2]|0,c[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;o=D;E=k;p=c[E+4>>2]|0;if(!((o|0)<(p|0)|((o|0)==(p|0)?e>>>0<=(c[E>>2]|0)>>>0:0)))break;c[u>>2]=(c[u>>2]|0)+1;E=v;c[h>>2]=Ei(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0,c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;if(c[h>>2]|0)break;c[y>>2]=Kj(c[j>>2]|0,w,x,c[t>>2]|0,c[n>>2]|0)|0;if(!(c[y>>2]|0))break;c[h>>2]=Lj(c[j>>2]|0,c[u>>2]|0,c[w>>2]|0)|0;if(c[h>>2]|0)break;if(c[x>>2]|0){c[(c[j>>2]|0)+68>>2]=c[u>>2];c[(c[j>>2]|0)+72>>2]=c[x>>2];b[(c[j>>2]|0)+66>>1]=c[q>>2]&65280|c[q>>2]>>16;c[z>>2]=c[(c[j>>2]|0)+76>>2];c[z+4>>2]=c[(c[j>>2]|0)+80>>2]}e=c[g>>2]|0;E=v;e=bF(c[E>>2]|0,c[E+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;E=v;c[E>>2]=e;c[E+4>>2]=D}hc(c[n>>2]|0)}}}while(0);if(!(c[h>>2]|0)){c[(c[j>>2]|0)+76>>2]=c[z>>2];c[(c[j>>2]|0)+80>>2]=c[z+4>>2];Mj(c[j>>2]|0);c[A>>2]=Aj(c[j>>2]|0)|0;c[c[A>>2]>>2]=0;c[(c[A>>2]|0)+4>>2]=0;c[B>>2]=1;while(1){if((c[B>>2]|0)>=5)break;c[(c[A>>2]|0)+4+(c[B>>2]<<2)>>2]=-1;c[B>>2]=(c[B>>2]|0)+1}if(c[(c[j>>2]|0)+68>>2]|0)c[(c[A>>2]|0)+8>>2]=c[(c[j>>2]|0)+68>>2];if(c[(c[j>>2]|0)+72>>2]|0){E=c[(c[j>>2]|0)+100>>2]|0;c[C>>2]=c[(c[j>>2]|0)+68>>2];c[C+4>>2]=E;tc(283,4512,C)}}}while(0);ji(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0);c[r>>2]=c[h>>2];E=c[r>>2]|0;i=s;return E|0}function Ij(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(vf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;tc(14,4472,d);i=b;return 14}function Jj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;k=i;i=i+48|0;n=k+32|0;q=k+28|0;p=k+24|0;o=k+20|0;h=k+16|0;m=k+12|0;j=k+8|0;l=k+4|0;g=k;c[n>>2]=a;c[q>>2]=b;c[p>>2]=d;c[o>>2]=e;c[h>>2]=f;c[l>>2]=c[q>>2];c[g>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[o>>2]|0){c[m>>2]=c[c[o>>2]>>2];c[j>>2]=c[(c[o>>2]|0)+4>>2]}else{c[j>>2]=0;c[m>>2]=0}if(c[n>>2]|0){do{q=c[l>>2]|0;c[l>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[j>>2]|0));q=c[l>>2]|0;c[l>>2]=q+4;c[j>>2]=(c[j>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[l>>2]|0)>>>0<(c[g>>2]|0)>>>0);q=c[m>>2]|0;p=c[h>>2]|0;c[p>>2]=q;p=c[j>>2]|0;q=c[h>>2]|0;q=q+4|0;c[q>>2]=p;i=k;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[l>>2]>>2]&255)<<24)+((c[c[l>>2]>>2]&65280)<<8)+((c[c[l>>2]>>2]&16711680)>>>8)+((c[c[l>>2]>>2]&-16777216)>>>24)+(c[j>>2]|0));c[j>>2]=(c[j>>2]|0)+(((c[(c[l>>2]|0)+4>>2]&255)<<24)+((c[(c[l>>2]|0)+4>>2]&65280)<<8)+((c[(c[l>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[l>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[l>>2]=(c[l>>2]|0)+8}while((c[l>>2]|0)>>>0<(c[g>>2]|0)>>>0);q=c[m>>2]|0;p=c[h>>2]|0;c[p>>2]=q;p=c[j>>2]|0;q=c[h>>2]|0;q=q+4|0;c[q>>2]=p;i=k;return}}function Kj(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0;p=i;i=i+48|0;k=p+32|0;q=p+28|0;m=p+24|0;o=p+20|0;s=p+16|0;n=p+12|0;r=p+8|0;j=p+4|0;l=p;c[q>>2]=b;c[m>>2]=e;c[o>>2]=f;c[s>>2]=g;c[n>>2]=h;c[j>>2]=(c[q>>2]|0)+76;if(TE((c[q>>2]|0)+84|0,(c[n>>2]|0)+8|0,8)|0){c[k>>2]=0;b=c[k>>2]|0;i=p;return b|0}c[l>>2]=Hh(c[n>>2]|0)|0;if(!(c[l>>2]|0)){c[k>>2]=0;b=c[k>>2]|0;i=p;return b|0}c[r>>2]=(d[(c[q>>2]|0)+65>>0]|0)==((a[1136]|0)==0|0)&1;Jj(c[r>>2]|0,c[n>>2]|0,8,c[j>>2]|0,c[j>>2]|0);Jj(c[r>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+36>>2]|0,c[j>>2]|0,c[j>>2]|0);b=c[c[j>>2]>>2]|0;if((b|0)==(Hh((c[n>>2]|0)+16|0)|0)?(b=c[(c[j>>2]|0)+4>>2]|0,(b|0)==(Hh((c[n>>2]|0)+20|0)|0)):0){c[c[m>>2]>>2]=c[l>>2];b=Hh((c[n>>2]|0)+4|0)|0;c[c[o>>2]>>2]=b;c[k>>2]=1;b=c[k>>2]|0;i=p;return b|0}c[k>>2]=0;b=c[k>>2]|0;i=p;return b|0}function Lj(a,d,e){a=a|0;d=d|0;e=e|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;j=i;i=i+48|0;h=j+44|0;q=j+40|0;t=j+36|0;k=j+32|0;o=j+28|0;s=j+24|0;l=j+20|0;n=j+16|0;f=j+12|0;m=j+8|0;p=j+4|0;r=j;c[q>>2]=a;c[t>>2]=d;c[k>>2]=e;c[s>>2]=0;c[l>>2]=0;c[n>>2]=0;a=c[q>>2]|0;c[o>>2]=Ti(a,Ui(c[t>>2]|0)|0,n,l,s)|0;do if(!(c[o>>2]|0)){c[m>>2]=(c[t>>2]|0)-(c[s>>2]|0);if((c[m>>2]|0)==1){c[r>>2]=(c[n>>2]|0)+16384-((c[l>>2]|0)+4);_E((c[l>>2]|0)+4|0,0,c[r>>2]|0)|0}if(c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)Si(c[q>>2]|0);c[p>>2]=c[m>>2];c[f>>2]=jj(c[k>>2]|0)|0;while(1){if(!(b[(c[n>>2]|0)+(c[f>>2]<<1)>>1]|0)){g=11;break}a=c[p>>2]|0;c[p>>2]=a+ -1;if(!a)break;c[f>>2]=lj(c[f>>2]|0)|0}if((g|0)==11){c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]=c[k>>2];b[(c[n>>2]|0)+(c[f>>2]<<1)>>1]=c[m>>2];break}c[h>>2]=kj(49129)|0;a=c[h>>2]|0;i=j;return a|0}while(0);c[h>>2]=c[o>>2];a=c[h>>2]|0;i=j;return a|0}function Mj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;e=f+4|0;c[d>>2]=b;c[e>>2]=mj(c[d>>2]|0)|0;c[f>>2]=40;a[(c[d>>2]|0)+64>>0]=1;c[(c[d>>2]|0)+52>>2]=3007e3;Jj(1,(c[d>>2]|0)+52|0,40,0,(c[d>>2]|0)+92|0);h=(c[e>>2]|0)+48|0;g=(c[d>>2]|0)+52|0;b=h+48|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(b|0));Nj(c[d>>2]|0);h=(c[e>>2]|0)+0|0;g=(c[d>>2]|0)+52|0;b=h+48|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(b|0));i=f;return}function Nj(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if((d[(c[e>>2]|0)+43>>0]|0|0)==2){i=b;return}Oj(c[(c[e>>2]|0)+4>>2]|0);i=b;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;rb[c[(c[c[d>>2]>>2]|0)+60>>2]&31](c[d>>2]|0);i=b;return}function Pj(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;b=e;c[f>>2]=a;if(((c[f>>2]|0)!=0?(c[c[f>>2]>>2]|0)!=0:0)?(c[(c[f>>2]|0)+8>>2]|0)>=0:0){c[b>>2]=zb[c[c[f>>2]>>2]&63](c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;a=(c[f>>2]|0)+8|0;if(!(c[b>>2]|0))c[a>>2]=-1;else c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=c[b>>2];f=c[d>>2]|0;i=e;return f|0}c[d>>2]=0;f=c[d>>2]|0;i=e;return f|0}function Qj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Rj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=aj(c[d>>2]|0)|0;i=b;return a|0}function Sj(f){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;j=i;i=i+48|0;h=j+32|0;k=j+28|0;r=j+42|0;s=j+44|0;q=j+24|0;v=j+20|0;l=j+16|0;p=j+40|0;m=j+12|0;t=j+8|0;g=j+4|0;o=j;u=j+38|0;n=j+36|0;c[k>>2]=f;do if(!(a[c[k>>2]>>0]|0)){c[v>>2]=c[(c[k>>2]|0)+52>>2];a[s>>0]=a[(c[k>>2]|0)+6>>0]|0;c[q>>2]=c[(c[k>>2]|0)+56>>2];if(Tj(c[k>>2]|0,d[(c[q>>2]|0)+(d[s>>0]|0)>>0]|0)|0){c[h>>2]=kj(53694)|0;v=c[h>>2]|0;i=j;return v|0}b[(c[k>>2]|0)+20>>1]=(c[(c[v>>2]|0)+32>>2]|0)-1;a[(c[k>>2]|0)+1>>0]=0;c[l>>2]=c[(c[v>>2]|0)+36>>2];f=(d[s>>0]|0)+12-(d[(c[k>>2]|0)+5>>0]<<2)&65535;b[p>>1]=f;b[(c[k>>2]|0)+14>>1]=f;c[(c[k>>2]|0)+60>>2]=(c[q>>2]|0)+(c[l>>2]|0);c[(c[k>>2]|0)+64>>2]=(c[q>>2]|0)+(e[p>>1]|0);c[t>>2]=((d[(c[q>>2]|0)+((d[s>>0]|0)+5)>>0]<<8|d[(c[q>>2]|0)+((d[s>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[k>>2]|0)+18>>1]=d[(c[q>>2]|0)+((d[s>>0]|0)+3)>>0]<<8|d[(c[q>>2]|0)+((d[s>>0]|0)+3)+1>>0];if((e[(c[k>>2]|0)+18>>1]|0)>>>0>((((c[(c[v>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[h>>2]=kj(53706)|0;v=c[h>>2]|0;i=j;return v|0}c[g>>2]=(e[p>>1]|0)+(e[(c[k>>2]|0)+18>>1]<<1);c[o>>2]=(c[l>>2]|0)-4;b[r>>1]=d[(c[q>>2]|0)+((d[s>>0]|0)+1)>>0]<<8|d[(c[q>>2]|0)+((d[s>>0]|0)+1)+1>>0];c[m>>2]=(d[(c[q>>2]|0)+((d[s>>0]|0)+7)>>0]|0)+(c[t>>2]|0);while(1){if((e[r>>1]|0)<=0){n=16;break}if((e[r>>1]|0)<(c[g>>2]|0)){n=10;break}if((e[r>>1]|0)>(c[o>>2]|0)){n=10;break}b[u>>1]=d[(c[q>>2]|0)+(e[r>>1]|0)>>0]<<8|d[(c[q>>2]|0)+(e[r>>1]|0)+1>>0];b[n>>1]=d[(c[q>>2]|0)+((e[r>>1]|0)+2)>>0]<<8|d[(c[q>>2]|0)+((e[r>>1]|0)+2)+1>>0];if((e[u>>1]|0)>0?(e[u>>1]|0)<=((e[r>>1]|0)+(e[n>>1]|0)+3|0):0){n=14;break}if(((e[r>>1]|0)+(e[n>>1]|0)|0)>(c[l>>2]|0)){n=14;break}c[m>>2]=(c[m>>2]|0)+(e[n>>1]|0);b[r>>1]=b[u>>1]|0}if((n|0)==10){c[h>>2]=kj(53749)|0;v=c[h>>2]|0;i=j;return v|0}else if((n|0)==14){c[h>>2]=kj(53756)|0;v=c[h>>2]|0;i=j;return v|0}else if((n|0)==16){if((c[m>>2]|0)<=(c[l>>2]|0)){b[(c[k>>2]|0)+16>>1]=(c[m>>2]|0)-(c[g>>2]|0);a[c[k>>2]>>0]=1;break}c[h>>2]=kj(53770)|0;v=c[h>>2]|0;i=j;return v|0}}while(0);c[h>>2]=0;v=c[h>>2]|0;i=j;return v|0}function Tj(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k+12|0;h=k+8|0;l=k+4|0;g=k;c[h>>2]=e;c[l>>2]=f;a[(c[h>>2]|0)+5>>0]=c[l>>2]>>3;c[l>>2]=c[l>>2]&-9;a[(c[h>>2]|0)+7>>0]=4-(d[(c[h>>2]|0)+5>>0]<<2);c[g>>2]=c[(c[h>>2]|0)+52>>2];do if((c[l>>2]|0)==5){a[(c[h>>2]|0)+2>>0]=1;a[(c[h>>2]|0)+3>>0]=a[(c[h>>2]|0)+5>>0]|0;a[(c[h>>2]|0)+4>>0]=((a[(c[h>>2]|0)+5>>0]|0)!=0^1)&1;b[(c[h>>2]|0)+10>>1]=b[(c[g>>2]|0)+28>>1]|0;b[(c[h>>2]|0)+12>>1]=b[(c[g>>2]|0)+30>>1]|0}else{if((c[l>>2]|0)==2){a[(c[h>>2]|0)+2>>0]=0;a[(c[h>>2]|0)+3>>0]=0;a[(c[h>>2]|0)+4>>0]=0;b[(c[h>>2]|0)+10>>1]=b[(c[g>>2]|0)+24>>1]|0;b[(c[h>>2]|0)+12>>1]=b[(c[g>>2]|0)+26>>1]|0;break}c[j>>2]=kj(53655)|0;e=c[j>>2]|0;i=k;return e|0}while(0);a[(c[h>>2]|0)+8>>0]=a[(c[g>>2]|0)+21>>0]|0;c[j>>2]=0;e=c[j>>2]|0;i=k;return e|0}function Uj(){return 48}function Vj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|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;i=i+32|0;o=j+20|0;k=j+16|0;l=j+12|0;m=j+8|0;n=j+4|0;p=j;c[o>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=h;g=(c[p>>2]|0)+0|0;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[(c[p>>2]|0)+20>>2]=1;c[(c[p>>2]|0)+24>>2]=c[k>>2];a[(c[p>>2]|0)+28>>0]=c[l>>2];a[(c[p>>2]|0)+29>>0]=2;c[(c[p>>2]|0)+32>>2]=c[m>>2];c[(c[p>>2]|0)+36>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=100;b=Jg(c[p>>2]|0,c[o>>2]|0)|0;i=j;return b|0}function Wj(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;l=f+12|0;h=f+8|0;j=f+4|0;k=f;c[l>>2]=a;c[h>>2]=b;c[j>>2]=c[l>>2];c[k>>2]=0;if(c[(c[j>>2]|0)+40>>2]|0){c[g>>2]=0;l=c[g>>2]|0;i=f;return l|0}do if(d[(c[j>>2]|0)+20>>0]|0){if(((d[(c[j>>2]|0)+20>>0]|0)&3|0)==0?((e[(c[h>>2]|0)+24>>1]|0)&4|0)==0:0)break;c[g>>2]=0;l=c[g>>2]|0;i=f;return l|0}while(0);c[(c[h>>2]|0)+12>>2]=0;l=(ai(c[j>>2]|0)|0)!=0;b=c[h>>2]|0;if(l){if(Xj(b)|0)c[k>>2]=Yj(c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=Zj(c[j>>2]|0,c[h>>2]|0,0,0)|0}else{if(!(((e[b+24>>1]|0)&4|0)==0?(d[(c[j>>2]|0)+16>>0]|0|0)!=3:0))c[k>>2]=_j(c[j>>2]|0,1)|0;if(((c[k>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0>(c[(c[j>>2]|0)+24>>2]|0)>>>0:0)?(Xj(c[h>>2]|0)|0)!=0:0)c[k>>2]=Yj(c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=$j(c[j>>2]|0,c[h>>2]|0)|0}if(!(c[k>>2]|0))Rg(c[h>>2]|0);c[g>>2]=Oh(c[j>>2]|0,c[k>>2]|0)|0;l=c[g>>2]|0;i=f;return l|0}function Xj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;b=d+20|0;j=d+16|0;e=d+12|0;g=d+8|0;h=d+4|0;f=d;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[h>>2]=c[(c[j>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+96>>2]|0)){a=7;break}c[g>>2]=(c[(c[e>>2]|0)+92>>2]|0)+((c[f>>2]|0)*48|0);if((c[(c[g>>2]|0)+20>>2]|0)>>>0>=(c[h>>2]|0)>>>0?0==(Yg(c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0)|0):0){a=5;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){c[b>>2]=1;j=c[b>>2]|0;i=d;return j|0}else if((a|0)==7){c[b>>2]=0;j=c[b>>2]|0;i=d;return j|0}return 0}function Yj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;j=e+24|0;b=e+20|0;f=e+16|0;k=e+12|0;h=e;g=e+8|0;c[j>>2]=a;c[b>>2]=0;c[f>>2]=c[(c[j>>2]|0)+16>>2];if(((d[(c[f>>2]|0)+5>>0]|0|0)!=2?(c[b>>2]=ok(c[f>>2]|0)|0,(c[b>>2]|0)==0):0)?(c[k>>2]=c[(c[j>>2]|0)+4>>2],l=4+(c[(c[f>>2]|0)+152>>2]|0)|0,l=lF(c[(c[f>>2]|0)+52>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=h,c[a>>2]=l,c[a+4>>2]=D,c[g>>2]=c[k>>2],k=h,c[b>>2]=pk(c[(c[f>>2]|0)+68>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0,(c[b>>2]|0)==0):0){a=c[(c[f>>2]|0)+68>>2]|0;g=c[g>>2]|0;k=c[(c[f>>2]|0)+152>>2]|0;l=h;l=bF(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[b>>2]=id(a,g,k,l,D)|0}if(c[b>>2]|0){l=c[b>>2]|0;i=e;return l|0}l=(c[f>>2]|0)+52|0;c[l>>2]=(c[l>>2]|0)+1;c[b>>2]=qk(c[f>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;l=c[b>>2]|0;i=e;return l|0}function Zj(a,b,e,f){a=a|0;b=b|0;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;h=i;i=i+48|0;l=h+32|0;j=h+28|0;m=h+24|0;g=h+20|0;n=h+16|0;o=h+12|0;p=h+8|0;q=h+4|0;k=h;c[l>>2]=a;c[j>>2]=b;c[m>>2]=e;c[g>>2]=f;a:do if(c[g>>2]|0){c[q>>2]=j;c[o>>2]=0;c[p>>2]=c[j>>2];while(1){a=c[p>>2]|0;c[c[q>>2]>>2]=a;if(!a)break a;if((c[(c[p>>2]|0)+20>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[q>>2]=(c[p>>2]|0)+12;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=c[(c[p>>2]|0)+12>>2]}}else c[o>>2]=1;while(0);a=(c[l>>2]|0)+192|0;c[a>>2]=(c[a>>2]|0)+(c[o>>2]|0);if((c[(c[j>>2]|0)+20>>2]|0)==1)bk(c[j>>2]|0);c[n>>2]=ik(c[(c[l>>2]|0)+208>>2]|0,c[(c[l>>2]|0)+152>>2]|0,c[j>>2]|0,c[m>>2]|0,c[g>>2]|0,d[(c[l>>2]|0)+10>>0]|0)|0;if(c[n>>2]|0){a=c[n>>2]|0;i=h;return a|0}if(!(c[(c[l>>2]|0)+88>>2]|0)){a=c[n>>2]|0;i=h;return a|0}c[k>>2]=c[j>>2];while(1){if(!(c[k>>2]|0))break;Ii(c[(c[l>>2]|0)+88>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+4>>2]|0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}a=c[n>>2]|0;i=h;return a|0}function _j(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+48|0;g=k+24|0;j=k+20|0;o=k+16|0;h=k+12|0;l=k+8|0;m=k;n=k+40|0;f=k+28|0;c[j>>2]=b;c[o>>2]=e;c[h>>2]=dk(c[j>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}do if(!(a[(c[j>>2]|0)+7>>0]|0)){if((c[c[(c[j>>2]|0)+64>>2]>>2]|0)!=0?(d[(c[j>>2]|0)+5>>0]|0)!=4:0){c[l>>2]=Ai(c[(c[j>>2]|0)+60>>2]|0)|0;if(!(c[l>>2]&512)){a[f+0>>0]=a[4384]|0;a[f+1>>0]=a[4385]|0;a[f+2>>0]=a[4386]|0;a[f+3>>0]=a[4387]|0;a[f+4>>0]=a[4388]|0;a[f+5>>0]=a[4389]|0;a[f+6>>0]=a[4390]|0;a[f+7>>0]=a[4391]|0;ck(f+8|0,c[(c[j>>2]|0)+44>>2]|0);e=Oi(c[j>>2]|0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D;b=m;c[h>>2]=Ei(c[(c[j>>2]|0)+64>>2]|0,n,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[h>>2]|0)==0?0==(TE(n,4384,8)|0):0){b=m;c[h>>2]=id(c[(c[j>>2]|0)+64>>2]|0,4600,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[h>>2]|0)!=0&(c[h>>2]|0)!=522){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}if(((d[(c[j>>2]|0)+8>>0]|0)!=0?0==(c[l>>2]&1024|0):0)?(c[h>>2]=Yh(c[(c[j>>2]|0)+64>>2]|0,d[(c[j>>2]|0)+11>>0]|0)|0,(c[h>>2]|0)!=0):0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}b=(c[j>>2]|0)+80|0;c[h>>2]=id(c[(c[j>>2]|0)+64>>2]|0,f,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}}if(0==(c[l>>2]&1024|0)?(c[h>>2]=Yh(c[(c[j>>2]|0)+64>>2]|0,d[(c[j>>2]|0)+11>>0]|((d[(c[j>>2]|0)+11>>0]|0)==3?16:0))|0,(c[h>>2]|0)!=0):0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}m=(c[j>>2]|0)+72|0;n=c[m+4>>2]|0;b=(c[j>>2]|0)+80|0;c[b>>2]=c[m>>2];c[b+4>>2]=n;if(!(c[o>>2]|0))break;if(c[l>>2]&512)break;c[(c[j>>2]|0)+44>>2]=0;c[h>>2]=ek(c[j>>2]|0)|0;if(!(c[h>>2]|0))break;c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}n=(c[j>>2]|0)+72|0;o=c[n+4>>2]|0;b=(c[j>>2]|0)+80|0;c[b>>2]=c[n>>2];c[b+4>>2]=o}while(0);fk(c[(c[j>>2]|0)+204>>2]|0);a[(c[j>>2]|0)+16>>0]=4;c[g>>2]=0;b=c[g>>2]|0;i=k;return b|0}function $j(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;l=i;i=i+48|0;h=l+32|0;f=l+28|0;g=l+24|0;n=l+8|0;j=l+20|0;k=l;m=l+16|0;c[h>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[c[(c[h>>2]|0)+60>>2]>>2]|0))c[g>>2]=ak(c[h>>2]|0,c[(c[h>>2]|0)+60>>2]|0,c[(c[h>>2]|0)+144>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[h>>2]|0)+36>>2]|0)>>>0<(c[(c[h>>2]|0)+24>>2]|0)>>>0:0){if((c[(c[f>>2]|0)+12>>2]|0)==0?(c[(c[f>>2]|0)+20>>2]|0)>>>0<=(c[(c[h>>2]|0)+36>>2]|0)>>>0:0)break;d=c[(c[h>>2]|0)+152>>2]|0;d=lF(d|0,((d|0)<0)<<31>>31|0,c[(c[h>>2]|0)+24>>2]|0,0)|0;b=n;c[b>>2]=d;c[b+4>>2]=D;rj(c[(c[h>>2]|0)+60>>2]|0,5,n);c[(c[h>>2]|0)+36>>2]=c[(c[h>>2]|0)+24>>2]}while(0);while(1){if(!((c[g>>2]|0)==0&(c[f>>2]|0)!=0))break;c[j>>2]=c[(c[f>>2]|0)+20>>2];if((c[j>>2]|0)>>>0<=(c[(c[h>>2]|0)+24>>2]|0)>>>0?0==((e[(c[f>>2]|0)+24>>1]|0)&32|0):0){d=c[(c[h>>2]|0)+152>>2]|0;d=lF((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=k;c[b>>2]=d;c[b+4>>2]=D;if((c[(c[f>>2]|0)+20>>2]|0)==1)bk(c[f>>2]|0);c[m>>2]=c[(c[f>>2]|0)+4>>2];b=k;c[g>>2]=id(c[(c[h>>2]|0)+60>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+152>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[j>>2]|0)==1){b=(c[h>>2]|0)+100|0;d=(c[m>>2]|0)+24|0;n=b+16|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(n|0))}if((c[j>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0)c[(c[h>>2]|0)+32>>2]=c[j>>2];b=(c[h>>2]|0)+192|0;c[b>>2]=(c[b>>2]|0)+1;Ii(c[(c[h>>2]|0)+88>>2]|0,c[j>>2]|0,c[(c[f>>2]|0)+4>>2]|0)}c[f>>2]=c[(c[f>>2]|0)+12>>2]}i=l;return c[g>>2]|0}function ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Di(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function bk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(Hh((c[(c[d>>2]|0)+16>>2]|0)+100|0)|0)+1;ck((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);ck((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);ck((c[(c[d>>2]|0)+4>>2]|0)+96|0,3008007);i=b;return}function ck(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function dk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=0;if(ai(c[e>>2]|0)|0){e=c[d>>2]|0;i=b;return e|0}c[d>>2]=gk(c[e>>2]|0,4)|0;e=c[d>>2]|0;i=b;return e|0} - - - -function Dz(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,E=0,F=0,G=0,H=0,I=0,J=0;C=i;i=i+80|0;q=C+72|0;r=C+68|0;B=C+64|0;A=C;p=C+60|0;E=C+56|0;F=C+52|0;H=C+48|0;J=C+44|0;s=C+40|0;y=C+36|0;G=C+32|0;w=C+28|0;t=C+24|0;I=C+20|0;z=C+16|0;u=C+12|0;x=C+8|0;v=C+76|0;c[r>>2]=f;c[B>>2]=g;f=A;c[f>>2]=h;c[f+4>>2]=j;c[p>>2]=k;c[E>>2]=l;c[F>>2]=m;c[H>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[I>>2]=c[c[r>>2]>>2];c[z>>2]=c[(c[I>>2]|0)+4>>2];c[x>>2]=0;if((d[(c[r>>2]|0)+73>>0]|0)==4){c[q>>2]=c[(c[r>>2]|0)+68>>2];J=c[q>>2]|0;i=C;return J|0}c[s>>2]=Hy(c[z>>2]|0,c[(c[r>>2]|0)+60>>2]|0,c[r>>2]|0)|0;if(c[s>>2]|0){c[q>>2]=c[s>>2];J=c[q>>2]|0;i=C;return J|0}if(((c[(c[r>>2]|0)+16>>2]|0)==0?(J=A,sB(c[I>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0),J=A,f=c[J+4>>2]|0,(d[(c[r>>2]|0)+72>>0]&2|0)!=0&((f|0)>0|(f|0)==0&(c[J>>2]|0)>>>0>0)):0)?(J=(c[r>>2]|0)+24|0,g=c[J>>2]|0,J=c[J+4>>2]|0,f=A,f=ZE(c[f>>2]|0,c[f+4>>2]|0,1,0)|0,(g|0)==(f|0)&(J|0)==(D|0)):0)c[y>>2]=-1;if((c[y>>2]|0)==0?(J=A,c[s>>2]=Dw(c[r>>2]|0,c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[H>>2]|0,y)|0,(c[s>>2]|0)!=0):0){c[q>>2]=c[s>>2];J=c[q>>2]|0;i=C;return J|0}c[t>>2]=c[(c[r>>2]|0)+120+(b[(c[r>>2]|0)+76>>1]<<2)>>2];c[x>>2]=c[(c[z>>2]|0)+80>>2];J=A;c[s>>2]=zC(c[t>>2]|0,c[x>>2]|0,c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[p>>2]|0,c[E>>2]|0,c[F>>2]|0,G)|0;do if(!(c[s>>2]|0)){c[w>>2]=e[(c[r>>2]|0)+78+(b[(c[r>>2]|0)+76>>1]<<1)>>1];if(!(c[y>>2]|0)){c[s>>2]=gd(c[(c[t>>2]|0)+68>>2]|0)|0;if(c[s>>2]|0)break;c[u>>2]=(c[(c[t>>2]|0)+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));if(!(a[(c[t>>2]|0)+5>>0]|0)){J=c[x>>2]|0;f=c[u>>2]|0;a[J+0>>0]=a[f+0>>0]|0;a[J+1>>0]=a[f+1>>0]|0;a[J+2>>0]=a[f+2>>0]|0;a[J+3>>0]=a[f+3>>0]|0}c[s>>2]=uB(c[t>>2]|0,c[u>>2]|0,v)|0;mC(c[t>>2]|0,c[w>>2]|0,e[v>>1]|0,s);if(c[s>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[t>>2]|0)+18>>1]|0)>0:0){f=(c[r>>2]|0)+78+(b[(c[r>>2]|0)+76>>1]<<1)|0;J=(b[f>>1]|0)+1<<16>>16;b[f>>1]=J;c[w>>2]=J&65535}nC(c[t>>2]|0,c[w>>2]|0,c[x>>2]|0,c[G>>2]|0,0,0,s);b[(c[r>>2]|0)+44>>1]=0;if((c[s>>2]|0)==0?(d[(c[t>>2]|0)+1>>0]|0)!=0:0){J=(c[r>>2]|0)+72|0;a[J>>0]=d[J>>0]&-3;c[s>>2]=oC(c[r>>2]|0)|0;a[(c[(c[r>>2]|0)+120+(b[(c[r>>2]|0)+76>>1]<<2)>>2]|0)+1>>0]=0;a[(c[r>>2]|0)+73>>0]=0}}while(0);c[q>>2]=c[s>>2];J=c[q>>2]|0;i=C;return J|0}function Ez(f){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;h=i;i=i+64|0;g=h+52|0;j=h+48|0;v=h+44|0;q=h+40|0;l=h+36|0;s=h+32|0;o=h+28|0;t=h+24|0;k=h+20|0;u=h+56|0;w=h+16|0;p=h+12|0;m=h+8|0;n=h+4|0;r=h;c[j>>2]=f;c[v>>2]=c[c[j>>2]>>2];c[q>>2]=c[(c[v>>2]|0)+4>>2];if((e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]|0)<(e[(c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2]|0)+18>>1]|0)?(d[(c[j>>2]|0)+73>>0]|0)==1:0){c[k>>2]=b[(c[j>>2]|0)+76>>1];c[t>>2]=e[(c[j>>2]|0)+78+(c[k>>2]<<1)>>1];c[s>>2]=c[(c[j>>2]|0)+120+(c[k>>2]<<2)>>2];c[o>>2]=(c[(c[s>>2]|0)+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[t>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[t>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+5>>0]|0)==0?(c[w>>2]=0,c[l>>2]=tw(c[j>>2]|0,w)|0,(c[l>>2]|0)!=0):0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}c[l>>2]=Hy(c[q>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}if(!(c[(c[j>>2]|0)+16>>2]|0)){w=(c[j>>2]|0)+24|0;sB(c[v>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)}c[l>>2]=gd(c[(c[s>>2]|0)+68>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}c[l>>2]=uB(c[s>>2]|0,c[o>>2]|0,u)|0;mC(c[s>>2]|0,c[t>>2]|0,e[u>>1]|0,l);if(c[l>>2]|0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}if((a[(c[s>>2]|0)+5>>0]|0)==0?(c[p>>2]=c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2],c[n>>2]=c[(c[(c[j>>2]|0)+120+((c[k>>2]|0)+1<<2)>>2]|0)+72>>2],c[o>>2]=(c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+((e[(c[p>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+((e[(c[p>>2]|0)+18>>1]|0)-1<<1)+1>>0])),c[m>>2]=(lB(c[p>>2]|0,c[o>>2]|0)|0)&65535,c[r>>2]=c[(c[q>>2]|0)+80>>2],c[l>>2]=gd(c[(c[p>>2]|0)+68>>2]|0)|0,nC(c[s>>2]|0,c[t>>2]|0,(c[o>>2]|0)+ -4|0,(c[m>>2]|0)+4|0,c[r>>2]|0,c[n>>2]|0,l),mC(c[p>>2]|0,(e[(c[p>>2]|0)+18>>1]|0)-1|0,c[m>>2]|0,l),(c[l>>2]|0)!=0):0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}c[l>>2]=oC(c[j>>2]|0)|0;if((c[l>>2]|0)==0?(b[(c[j>>2]|0)+76>>1]|0)>(c[k>>2]|0):0){while(1){m=c[j>>2]|0;if((b[(c[j>>2]|0)+76>>1]|0)<=(c[k>>2]|0))break;v=m+76|0;w=b[v>>1]|0;b[v>>1]=w+ -1<<16>>16;Rk(c[(c[j>>2]|0)+120+(w<<16>>16<<2)>>2]|0)}c[l>>2]=oC(m)|0}if(!(c[l>>2]|0))Iw(c[j>>2]|0)|0;c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}c[g>>2]=1;w=c[g>>2]|0;i=h;return w|0}function Fz(a,d,f,g){a=a|0;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;l=i;i=i+48|0;k=l+44|0;t=l+40|0;m=l+36|0;p=l+32|0;j=l+28|0;n=l+24|0;h=l+20|0;s=l+16|0;o=l+12|0;r=l+8|0;q=l+4|0;c[t>>2]=a;c[m>>2]=d;c[p>>2]=f;c[j>>2]=g;c[n>>2]=c[(c[t>>2]|0)+56>>2];c[h>>2]=c[(c[n>>2]|0)+32>>2];c[s>>2]=c[(c[t>>2]|0)+8>>2];do if(!(c[h>>2]|0)){t=Ew(c[s>>2]|0,0,0,l)|0;c[(c[n>>2]|0)+32>>2]=t;c[h>>2]=t;if(c[h>>2]|0){b[(c[h>>2]|0)+4>>1]=c[p>>2];break}c[k>>2]=7;t=c[k>>2]|0;i=l;return t|0}while(0);c[r>>2]=lC(c[n>>2]|0,q)|0;Fw(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[h>>2]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0)){n=10;break}if((e[(c[(c[h>>2]|0)+8>>2]|0)+((c[o>>2]|0)*40|0)+8>>1]|0)&1){n=8;break}c[o>>2]=(c[o>>2]|0)+1}if((n|0)==8){c[c[j>>2]>>2]=-1;c[k>>2]=0;t=c[k>>2]|0;i=l;return t|0}else if((n|0)==10){t=Uw(c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=t;c[k>>2]=0;t=c[k>>2]|0;i=l;return t|0}return 0}function Gz(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;m=f+16|0;k=f+12|0;l=f+8|0;j=f+4|0;h=f;c[m>>2]=a;c[k>>2]=d;c[l>>2]=c[(c[m>>2]|0)+56>>2];c[j>>2]=lC(c[l>>2]|0,h)|0;if(Lp(c[k>>2]|0,c[h>>2]|0)|0){c[g>>2]=7;m=c[g>>2]|0;i=f;return m|0}else{c[(c[k>>2]|0)+12>>2]=c[h>>2];b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-16896|16;dF(c[(c[k>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}return 0}function Hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[c[f>>2]>>2];Xb(c[g>>2]|0,c[(c[f>>2]|0)+44>>2]|0);a=ne(c[g>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[f>>2]|0)+44>>2]=a;hc(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=d;return}function Iz(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(iC(c[c[e>>2]>>2]|0)|0){c[d>>2]=jC(c[e>>2]|0)|0;e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}return 0}function Jz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+32|0;f=g+16|0;k=g+12|0;j=g+8|0;h=g+4|0;e=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=c[(c[k>>2]|0)+56>>2];c[e>>2]=0;b=c[h>>2]|0;if(d[(c[h>>2]|0)+56>>0]|0){c[e>>2]=EB(b)|0;c[e>>2]=c[e>>2];if(!(c[e>>2]|0)){c[e>>2]=ZB(c[h>>2]|0)|0;c[c[j>>2]>>2]=0}c[f>>2]=c[e>>2];k=c[f>>2]|0;i=g;return k|0}j=c[j>>2]|0;if(c[b+36>>2]|0){c[j>>2]=0;c[e>>2]=HB((c[h>>2]|0)+64|0,(c[h>>2]|0)+36|0)|0}else c[j>>2]=1;c[f>>2]=c[e>>2];k=c[f>>2]|0;i=g;return k|0}function Kz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=Iw(c[g>>2]|0)|0;do if(!(c[e>>2]|0)){b=c[h>>2]|0;if(!(d[(c[g>>2]|0)+73>>0]|0)){c[b>>2]=1;break}else{c[b>>2]=0;c[e>>2]=bx(c[g>>2]|0)|0;break}}while(0);i=f;return c[e>>2]|0}function Lz(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;f=i;i=i+32|0;k=f+20|0;m=f+16|0;h=f+12|0;j=f+8|0;g=f+4|0;l=f;c[k>>2]=b;c[m>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[m>>2]|0)+56>>2];e=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[g>>2]=QB(c[e+20>>2]|0,c[h>>2]|0)|0;m=c[g>>2]|0;i=f;return m|0}c[l>>2]=c[e+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[l>>2]|0)+4>>2];c[(c[l>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+40>>2]|0))oB(c[k>>2]|0,c[l>>2]|0);c[c[h>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}function Mz(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;e=i;i=i+48|0;l=e+44|0;q=e+40|0;j=e+36|0;k=e+32|0;d=e+28|0;h=e+24|0;p=e+20|0;n=e+16|0;o=e+12|0;g=e+8|0;f=e+4|0;m=e;c[q>>2]=a;c[j>>2]=b;c[k>>2]=c[(c[q>>2]|0)+56>>2];c[d>>2]=0;c[n>>2]=(c[(c[j>>2]|0)+12>>2]|0)+8;b=c[(c[j>>2]|0)+12>>2]|0;a=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=b+(Zw(a,((a|0)<0)<<31>>31)|0);if(c[(c[k>>2]|0)+4>>2]|0){b=c[k>>2]|0;if(c[(c[k>>2]|0)+40>>2]|0){if(c[b+48>>2]|0)b=((c[(c[k>>2]|0)+48>>2]|0)+(c[n>>2]|0)|0)>(c[(c[k>>2]|0)+4>>2]|0);else b=0;c[p>>2]=b&1}else{if((c[b+44>>2]|0)<=(c[(c[k>>2]|0)+4>>2]|0))if((c[(c[k>>2]|0)+44>>2]|0)>(c[c[k>>2]>>2]|0))b=(sl()|0)!=0;else b=0;else b=1;c[p>>2]=b&1}if(c[p>>2]|0){c[d>>2]=EB(c[k>>2]|0)|0;c[(c[k>>2]|0)+44>>2]=0;c[(c[k>>2]|0)+48>>2]=0}}q=(c[k>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(c[o>>2]|0);if((c[o>>2]|0)>(c[(c[k>>2]|0)+8>>2]|0))c[(c[k>>2]|0)+8>>2]=c[o>>2];do if(c[(c[k>>2]|0)+40>>2]|0){c[g>>2]=(c[(c[k>>2]|0)+48>>2]|0)+(c[n>>2]|0);do if((c[g>>2]|0)>(c[(c[k>>2]|0)+52>>2]|0)){c[m>>2]=c[(c[k>>2]|0)+52>>2]<<1;while(1){o=c[m>>2]|0;if((c[m>>2]|0)>=(c[g>>2]|0))break;c[m>>2]=o<<1}if((o|0)>(c[(c[k>>2]|0)+4>>2]|0))c[m>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)<(c[g>>2]|0))c[m>>2]=c[g>>2];q=c[m>>2]|0;c[f>>2]=kc(c[(c[k>>2]|0)+40>>2]|0,q,((q|0)<0)<<31>>31)|0;if(c[f>>2]|0){c[(c[k>>2]|0)+36>>2]=(c[f>>2]|0)+((c[(c[k>>2]|0)+36>>2]|0)-(c[(c[k>>2]|0)+40>>2]|0));c[(c[k>>2]|0)+40>>2]=c[f>>2];c[(c[k>>2]|0)+52>>2]=c[m>>2];break}c[l>>2]=7;q=c[l>>2]|0;i=e;return q|0}while(0);c[h>>2]=(c[(c[k>>2]|0)+40>>2]|0)+(c[(c[k>>2]|0)+48>>2]|0);q=(c[k>>2]|0)+48|0;c[q>>2]=(c[q>>2]|0)+((c[n>>2]|0)+7&-8);c[(c[h>>2]|0)+4>>2]=(c[(c[k>>2]|0)+36>>2]|0)-(c[(c[k>>2]|0)+40>>2]|0)}else{q=c[n>>2]|0;c[h>>2]=gc(q,((q|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+36>>2];break}c[l>>2]=7;q=c[l>>2]|0;i=e;return q|0}while(0);dF((c[h>>2]|0)+8|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[c[h>>2]>>2]=c[(c[j>>2]|0)+12>>2];c[(c[k>>2]|0)+36>>2]=c[h>>2];c[l>>2]=c[d>>2];q=c[l>>2]|0;i=e;return q|0}function Nz(a,b,e){a=a|0;b=b|0;e=e|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;l=i;i=i+128|0;g=l+116|0;r=l+112|0;q=l+108|0;m=l+104|0;p=l+80|0;o=l+100|0;n=l+96|0;k=l+92|0;j=l+88|0;h=l+40|0;f=l;c[r>>2]=a;c[q>>2]=b;c[m>>2]=e;a=p;c[a>>2]=0;c[a+4>>2]=0;Ly(c[q>>2]|0,p)|0;en(h,c[r>>2]|0,0);c[o>>2]=mz(c[q>>2]|0,0,c[p>>2]|0,1,h)|0;if(c[o>>2]|0){c[g>>2]=c[o>>2];r=c[g>>2]|0;i=l;return r|0}e=c[h+16>>2]|0;if((d[c[h+16>>2]>>0]|0|0)<128)c[n>>2]=d[e>>0];else Rw(e,n)|0;if((c[n>>2]|0)>>>0>=3?(c[n>>2]|0)<=(c[h+12>>2]|0):0){e=(c[h+16>>2]|0)+((c[n>>2]|0)-1)|0;if((d[(c[h+16>>2]|0)+((c[n>>2]|0)-1)>>0]|0|0)<128)c[k>>2]=d[e>>0];else Rw(e,k)|0;if(!((c[k>>2]|0)>>>0<1|(c[k>>2]|0)>>>0>9|(c[k>>2]|0)==7)?(c[j>>2]=Ww(c[k>>2]|0)|0,(c[h+12>>2]|0)>>>0>=((c[n>>2]|0)+(c[j>>2]|0)|0)>>>0):0){Xw((c[h+16>>2]|0)+((c[h+12>>2]|0)-(c[j>>2]|0))|0,c[k>>2]|0,f)|0;p=f;q=c[p+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Bd(h);c[g>>2]=0;r=c[g>>2]|0;i=l;return r|0}}Bd(h);c[g>>2]=kj(67174)|0;r=c[g>>2]|0;i=l;return r|0}function Oz(a,b,d,e){a=a|0;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,o=0,p=0;l=i;i=i+80|0;g=l+72|0;m=l+68|0;n=l+64|0;f=l+60|0;h=l+56|0;o=l+40|0;j=l+52|0;p=l+48|0;k=l;c[m>>2]=a;c[n>>2]=b;c[f>>2]=d;c[h>>2]=e;d=o;c[d>>2]=0;c[d+4>>2]=0;c[p>>2]=c[c[n>>2]>>2];Ly(c[p>>2]|0,o)|0;d=o;e=c[d+4>>2]|0;a=o;b=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[d>>2]|0)>>>0<=0|((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>2147483647)){c[c[h>>2]>>2]=0;c[g>>2]=kj(67206)|0;p=c[g>>2]|0;i=l;return p|0}en(k,c[m>>2]|0,0);c[j>>2]=mz(c[c[n>>2]>>2]|0,0,c[o>>2]|0,1,k)|0;if(c[j>>2]|0){c[g>>2]=c[j>>2];p=c[g>>2]|0;i=l;return p|0}else{p=Uw(c[k+12>>2]|0,c[k+16>>2]|0,c[f>>2]|0)|0;c[c[h>>2]>>2]=p;Bd(k);c[g>>2]=0;p=c[g>>2]|0;i=l;return p|0}return 0}function Pz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;Pc(c[j>>2]|0);c[e>>2]=DB(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function Qz(a,b,d,e){a=a|0;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,o=0,p=0;l=i;i=i+48|0;p=l+32|0;o=l+28|0;k=l+24|0;g=l+20|0;j=l+16|0;m=l+12|0;f=l+8|0;n=l+4|0;h=l;c[p>>2]=a;c[o>>2]=b;c[k>>2]=d;c[g>>2]=e;c[f>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[n>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[n>>2]|0)+32>>2]|0)==(c[k>>2]|0))c[(c[n>>2]|0)+32>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[h>>2]|0)+44>>2]|0)==(c[k>>2]|0))c[(c[h>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=l;return}function Rz(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;e=i;i=i+32|0;g=e+16|0;j=e+12|0;k=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[h>>2]=c[(c[g>>2]|0)+4>>2];Pc(c[g>>2]|0);c[f>>2]=Hy(c[h>>2]|0,c[j>>2]|0,0)|0;if(c[f>>2]|0){a=c[f>>2]|0;i=e;return a|0}sB(c[g>>2]|0,0,0,1);c[f>>2]=tB(c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}function Sz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h+12|0;f=h+8|0;j=h+4|0;k=h;c[g>>2]=b;c[f>>2]=e;mB(c[(c[f>>2]|0)+20>>2]|0);c[(c[f>>2]|0)+20>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[f>>2]|0)+59>>0]|0|0))break;c[k>>2]=(c[f>>2]|0)+64+(c[j>>2]<<6);nB(c[g>>2]|0,c[k>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(!(c[(c[f>>2]|0)+40>>2]|0))oB(0,c[(c[f>>2]|0)+36>>2]|0);c[(c[f>>2]|0)+36>>2]=0;c[(c[f>>2]|0)+44>>2]=0;a[(c[f>>2]|0)+56>>0]=0;c[(c[f>>2]|0)+48>>2]=0;c[(c[f>>2]|0)+8>>2]=0;Xb(c[g>>2]|0,c[(c[f>>2]|0)+32>>2]|0);c[(c[f>>2]|0)+32>>2]=0;i=h;return}function Tz(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rz(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+60>>2]|0,0)|0;i=b;return a|0}function Uz(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;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=gh((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Vb(c[f>>2]|0,c[g>>2]|0);a=(c[f>>2]|0)+24|0;c[a>>2]=c[a>>2]|2;i=e;return}function Vz(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,l=0;e=i;i=i+32|0;f=e+20|0;l=e+16|0;j=e+12|0;h=e+8|0;k=e+4|0;g=e;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[h>>2]=gh(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[h>>2]|0)){l=c[f>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=e;return}d=c[h>>2]|0;if((c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[h>>2]|0)){c[g>>2]=c[(c[d+12>>2]|0)+8>>2];while(1){if(c[g>>2]|0)b=(c[(c[g>>2]|0)+20>>2]|0)!=(c[h>>2]|0);else b=0;d=c[g>>2]|0;if(!b)break;c[g>>2]=c[d+20>>2]}if((d|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)==(c[h>>2]|0):0)c[(c[g>>2]|0)+20>>2]=c[(c[h>>2]|0)+20>>2]}else c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]=c[d+20>>2];ly(c[f>>2]|0,c[h>>2]|0);l=c[f>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=e;return}function Wz(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,l=0,m=0;e=i;i=i+32|0;h=e+24|0;m=e+20|0;k=e+16|0;f=e+12|0;l=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[f>>2]=gh(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[f>>2]|0)){i=e;return}if((c[(c[f>>2]|0)+20>>2]|0)==(c[(c[f>>2]|0)+24>>2]|0)){c[j>>2]=Ct(c[f>>2]|0)|0;c[g>>2]=(c[j>>2]|0)+64;while(1){d=(c[c[g>>2]>>2]|0)+32|0;if((c[c[g>>2]>>2]|0)==(c[f>>2]|0))break;c[g>>2]=d}c[c[g>>2]>>2]=c[d>>2]}Ub(c[h>>2]|0,c[f>>2]|0);m=(c[h>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=e;return}function Xz(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0,u=0;p=i;i=i+224|0;q=p;k=p+108|0;u=p+104|0;r=p+100|0;s=p+96|0;t=p+92|0;l=p+88|0;j=p+84|0;m=p+80|0;o=p+12|0;n=p+8|0;c[u>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[l>>2]=h;c[n>>2]=c[(c[u>>2]|0)+4>>2];Pc(c[u>>2]|0);c[m>>2]=dB(c[c[n>>2]>>2]|0)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[c[n>>2]>>2];c[o+12>>2]=Aw(c[o>>2]|0)|0;c[o+16>>2]=c[t>>2];c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[o+32>>2]=0;c[o+36>>2]=0;c[c[l>>2]>>2]=0;if(!(c[o+12>>2]|0)){c[k>>2]=0;u=c[k>>2]|0;i=p;return u|0}c[o+8>>2]=Mc((((c[o+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[o+8>>2]|0)){c[c[l>>2]>>2]=1;c[k>>2]=0;u=c[k>>2]|0;i=p;return u|0}c[j>>2]=(((c[282]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[j>>2]|0)>>>0<=(c[o+12>>2]|0)>>>0)eB(o,c[j>>2]|0);nc(o+40|0,p+112|0,100,1e9);a[o+64>>0]=2;c[o+28>>2]=33320;u=Hh((c[(c[(c[n>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;fB(o,1,u,Hh((c[(c[(c[n>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[o+28>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[s>>2]|0))break;if(!(c[o+16>>2]|0))break;if(c[(c[r>>2]|0)+(c[j>>2]<<2)>>2]|0){if((d[(c[n>>2]|0)+17>>0]|0)!=0?(c[(c[r>>2]|0)+(c[j>>2]<<2)>>2]|0)>1:0)gB(o,c[(c[r>>2]|0)+(c[j>>2]<<2)>>2]|0,1,0);c[o+28>>2]=33336;hB(o,c[(c[r>>2]|0)+(c[j>>2]<<2)>>2]|0,0,0)|0;c[o+28>>2]=0}c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if((c[j>>2]|0)>>>0>(c[o+12>>2]|0)>>>0)break;if(!(c[o+16>>2]|0))break;do if(!(iB(o,c[j>>2]|0)|0)){u=Pw(c[n>>2]|0,c[j>>2]|0)|0;if((u|0)==(c[j>>2]|0)?(a[(c[n>>2]|0)+17>>0]|0)!=0:0)break;c[q>>2]=c[j>>2];jB(o,33360,q)}while(0);if(((iB(o,c[j>>2]|0)|0)!=0?(u=Pw(c[n>>2]|0,c[j>>2]|0)|0,(u|0)==(c[j>>2]|0)):0)?(d[(c[n>>2]|0)+17>>0]|0)!=0:0){c[q>>2]=c[j>>2];jB(o,33384,q)}c[j>>2]=(c[j>>2]|0)+1}u=c[m>>2]|0;if((u|0)!=(dB(c[c[n>>2]>>2]|0)|0)){t=c[m>>2]|0;u=dB(c[c[n>>2]>>2]|0)|0;c[q>>2]=t;c[q+4>>2]=u;jB(o,33424,q)}hc(c[o+8>>2]|0);if(c[o+24>>2]|0){Zm(o+40|0);c[c[l>>2]>>2]=(c[o+20>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=p;return u|0}c[c[l>>2]>>2]=c[o+20>>2];if(!(c[o+20>>2]|0))Zm(o+40|0);c[k>>2]=pc(o+40|0)|0;u=c[k>>2]|0;i=p;return u|0}function Yz(d){d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+32>>2];Bd(c[f>>2]|0);d=Qe(c[g>>2]|0,64,0)|0;c[(c[f>>2]|0)+20>>2]=d;if(a[(c[g>>2]|0)+64>>0]|0){b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=e;return}else{d=Bk(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[(c[f>>2]|0)+24>>2]=d;g=cB(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0,c[(c[f>>2]|0)+24>>2]|0)|0;c[c[f>>2]>>2]=g;b[(c[f>>2]|0)+8>>1]=32;i=e;return}}function Zz(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;h=g;l=g+12|0;j=g+8|0;c[k>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[l>>2]=$A(c[k>>2]|0)|0;if(!(c[l>>2]|0)){i=g;return}f=h;d=c[f+4>>2]|0;a=c[l>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=d;c[(c[l>>2]|0)+8>>2]=0;c[j>>2]=c[(c[k>>2]|0)+12>>2];if(c[j>>2]|0){if(((e[(c[k>>2]|0)+26>>1]|0)&1|0)!=0?(d=h,f=c[d+4>>2]|0,a=c[j>>2]|0,h=c[a+4>>2]|0,(f|0)<(h|0)|((f|0)==(h|0)?(c[d>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)):0){a=(c[k>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[j>>2]|0)+8>>2]=c[l>>2]}else c[(c[k>>2]|0)+8>>2]=c[l>>2];c[(c[k>>2]|0)+12>>2]=c[l>>2];i=g;return}function _z(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=b;if(!((e[(c[g>>2]|0)+26>>1]|0)&2))bB(c[g>>2]|0);if(!(c[(c[g>>2]|0)+8>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}j=c[(c[g>>2]|0)+8>>2]|0;b=c[j+4>>2]|0;a=c[h>>2]|0;c[a>>2]=c[j>>2];c[a+4>>2]=b;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))jn(c[g>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}function $z(a,d,f,g){a=a|0;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;l=i;i=i+48|0;k=l+36|0;o=l+32|0;p=l+28|0;j=l;h=l+24|0;m=l+20|0;n=l+16|0;r=l+12|0;s=l+8|0;c[o>>2]=a;c[p>>2]=d;a=j;c[a>>2]=f;c[a+4>>2]=g;if((c[p>>2]|0)!=(c[(c[o>>2]|0)+28>>2]|0)){c[h>>2]=c[(c[o>>2]|0)+8>>2];if(c[h>>2]|0){c[n>>2]=(c[o>>2]|0)+20;if(!((e[(c[o>>2]|0)+26>>1]|0)&1))c[h>>2]=XA(c[h>>2]|0)|0;c[m>>2]=c[(c[o>>2]|0)+20>>2];while(1){if(!(c[m>>2]|0))break;c[n>>2]=(c[m>>2]|0)+8;if(!(c[(c[m>>2]|0)+12>>2]|0)){q=8;break}ZA(c[(c[m>>2]|0)+12>>2]|0,r,s);c[(c[m>>2]|0)+12>>2]=0;c[h>>2]=_A(c[r>>2]|0,c[h>>2]|0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}if((q|0)==8){a=YA(c[h>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=a}if((c[m>>2]|0)==0?(a=$A(c[o>>2]|0)|0,c[m>>2]=a,c[c[n>>2]>>2]=a,(c[m>>2]|0)!=0):0){a=c[m>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[(c[m>>2]|0)+8>>2]=0;a=YA(c[h>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=a}c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+12>>2]=0;a=(c[o>>2]|0)+26|0;b[a>>1]=e[a>>1]|0|1}c[(c[o>>2]|0)+28>>2]=c[p>>2]}c[m>>2]=c[(c[o>>2]|0)+20>>2];a:while(1){if(!(c[m>>2]|0)){q=25;break}c[h>>2]=c[(c[m>>2]|0)+12>>2];while(1){if(!(c[h>>2]|0))break;d=c[h>>2]|0;g=c[d+4>>2]|0;a=j;f=c[a+4>>2]|0;n=c[h>>2]|0;if((g|0)<(f|0)|((g|0)==(f|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)){c[h>>2]=c[n+8>>2];continue}d=n;g=c[d+4>>2]|0;a=j;f=c[a+4>>2]|0;if(!((g|0)>(f|0)|((g|0)==(f|0)?(c[d>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){q=23;break a}c[h>>2]=c[(c[h>>2]|0)+12>>2]}c[m>>2]=c[(c[m>>2]|0)+8>>2]}if((q|0)==23){c[k>>2]=1;a=c[k>>2]|0;i=l;return a|0}else if((q|0)==25){c[k>>2]=0;a=c[k>>2]|0;i=l;return a|0}return 0}function aA(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[f>>2]=a;if((d[(c[f>>2]|0)+16>>0]|0|0)>=3){c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}if((c[c[(c[f>>2]|0)+64>>2]>>2]|0)!=0?(f=(c[f>>2]|0)+72|0,a=c[f+4>>2]|0,(a|0)>0|(a|0)==0&(c[f>>2]|0)>>>0>0):0){c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}c[e>>2]=1;f=c[e>>2]|0;i=b;return f|0}function bA(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;f=b+4|0;e=b;c[f>>2]=a;c[e>>2]=c[c[(c[f>>2]|0)+60>>2]>>2];if(d[(c[f>>2]|0)+4>>0]|0){f=1;f=f&1;i=b;return f|0}if((c[c[e>>2]>>2]|0)<2){f=0;f=f&1;i=b;return f|0}f=(c[(c[e>>2]|0)+52>>2]|0)!=0;f=f&1;i=b;return f|0}function cA(a){a=a|0;var b=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;g=e;c[f>>2]=a;c[b>>2]=0;if(!(c[(c[f>>2]|0)+208>>2]|0)){c[g>>2]=0;c[b>>2]=hk(c[f>>2]|0,1)|0;if(!(c[b>>2]|0))c[b>>2]=vi(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+212>>2]|0,0,g)|0;if((c[b>>2]|0)==0&(c[g>>2]|0)!=0)c[b>>2]=SA(c[f>>2]|0)|0}if(c[b>>2]|0){g=c[b>>2]|0;i=e;return g|0}if(!(c[(c[f>>2]|0)+208>>2]|0)){g=c[b>>2]|0;i=e;return g|0}c[b>>2]=TA(c[f>>2]|0)|0;if(c[b>>2]|0){g=c[b>>2]|0;i=e;return g|0}c[b>>2]=Mh(c[(c[f>>2]|0)+208>>2]|0,d[(c[f>>2]|0)+9>>0]|0,c[(c[f>>2]|0)+152>>2]|0,c[(c[f>>2]|0)+200>>2]|0)|0;c[(c[f>>2]|0)+208>>2]=0;Lg(c[f>>2]|0);g=c[b>>2]|0;i=e;return g|0}function dA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+12|0;k=f+8|0;l=f+16|0;h=f+4|0;j=f;c[g>>2]=b;c[k>>2]=e;a[l>>0]=a[(c[g>>2]|0)+5>>0]|0;if((a[(c[g>>2]|0)+15>>0]|0)!=0?(c[k>>2]|0)!=4&(c[k>>2]|0)!=2:0)c[k>>2]=d[l>>0];do if((((c[k>>2]|0)!=(d[l>>0]|0)?(a[(c[g>>2]|0)+5>>0]=c[k>>2],(a[(c[g>>2]|0)+4>>0]|0)==0):0)?(d[l>>0]&5|0)==1:0)?(c[k>>2]&1|0)==0:0){Rh(c[(c[g>>2]|0)+64>>2]|0)|0;if((d[(c[g>>2]|0)+17>>0]|0)>=2){_h(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+172>>2]|0,0)|0;break}c[h>>2]=0;c[j>>2]=d[(c[g>>2]|0)+16>>0];if(!(c[j>>2]|0))c[h>>2]=KA(c[g>>2]|0)|0;if((d[(c[g>>2]|0)+16>>0]|0)==1)c[h>>2]=hk(c[g>>2]|0,2)|0;if(!(c[h>>2]|0))_h(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+172>>2]|0,0)|0;if((c[h>>2]|0)==0&(c[j>>2]|0)==1){ei(c[g>>2]|0,1)|0;break}if(!(c[j>>2]|0))Nh(c[g>>2]|0)}while(0);i=f;return d[(c[g>>2]|0)+5>>0]|0}function eA(b,e){b=b|0;e=e|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;q=i;i=i+80|0;v=q;n=q+68|0;u=q+64|0;h=q+60|0;g=q+56|0;o=q+52|0;r=q+48|0;x=q+44|0;k=q+40|0;l=q+36|0;m=q+32|0;f=q+28|0;p=q+24|0;w=q+20|0;t=q+16|0;y=q+12|0;j=q+8|0;s=q+4|0;c[u>>2]=b;c[h>>2]=e;c[g>>2]=0;c[x>>2]=0;c[p>>2]=0;if(!(a[(c[h>>2]|0)+62>>0]|0)){pn(c[u>>2]|0,c[h>>2]|0,32072,v);c[n>>2]=1;b=c[n>>2]|0;i=q;return b|0}if((c[(c[h>>2]|0)+148>>2]|0)>1){pn(c[u>>2]|0,c[h>>2]|0,32112,v);c[n>>2]=1;b=c[n>>2]|0;i=q;return b|0}c[k>>2]=c[(c[h>>2]|0)+24>>2];c[l>>2]=c[(c[h>>2]|0)+80>>2];c[m>>2]=c[(c[h>>2]|0)+84>>2];c[f>>2]=c[(c[h>>2]|0)+172>>2];b=(c[h>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[h>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[h>>2]|0)+172>>2]=0;c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+4>>2];c[w>>2]=DA(Sb(c[o>>2]|0)|0)|0;c[y>>2]=c[(c[h>>2]|0)+20>>2];if(xh(c[h>>2]|0)|0)c[x>>2]=32160;else c[x>>2]=32192;c[g>>2]=EA(c[h>>2]|0,c[u>>2]|0,c[x>>2]|0)|0;if((c[(c[h>>2]|0)+20>>2]|0)>(c[y>>2]|0))c[p>>2]=(c[(c[h>>2]|0)+16>>2]|0)+((c[(c[h>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[g>>2]|0)==0?(c[r>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+((c[(c[h>>2]|0)+20>>2]|0)-1<<4)+4>>2],gs(c[r>>2]|0)|0,c[t>>2]=FA(c[o>>2]|0)|0,c[g>>2]=EA(c[h>>2]|0,c[u>>2]|0,32216)|0,(c[g>>2]|0)==0):0)?(c[g>>2]=EA(c[h>>2]|0,c[u>>2]|0,32256)|0,(c[g>>2]|0)==0):0)?(c[g>>2]=Rc(c[o>>2]|0,2)|0,(c[g>>2]|0)==0):0){if((Vc(Sb(c[o>>2]|0)|0)|0)==5)c[(c[h>>2]|0)+72>>2]=0;y=c[r>>2]|0;b=Uc(c[o>>2]|0)|0;do if(!(kg(y,b,c[t>>2]|0,0)|0)){if((c[w>>2]|0)==0?(kg(c[r>>2]|0,c[(c[h>>2]|0)+72>>2]|0,c[t>>2]|0,0)|0)!=0:0)break;if(!(d[(c[h>>2]|0)+64>>0]|0)){v=c[r>>2]|0;if((a[(c[h>>2]|0)+66>>0]|0)>=0)e=a[(c[h>>2]|0)+66>>0]|0;else e=Tt(c[o>>2]|0)|0;Vt(v,e)|0;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32264)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32416)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32520)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32640)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32840)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32960)|0;if(c[g>>2]|0)break a;c[g>>2]=EA(c[h>>2]|0,c[u>>2]|0,33120)|0;if(c[g>>2]|0)break a;c[s>>2]=0;while(1){u=c[o>>2]|0;if((c[s>>2]|0)>=10)break;Sc(u,d[33304+(c[s>>2]|0)>>0]|0,j);c[g>>2]=bd(c[r>>2]|0,d[33304+(c[s>>2]|0)>>0]|0,(c[j>>2]|0)+(d[(c[s>>2]|0)+33305>>0]|0)|0)|0;if(c[g>>2]|0)break a;c[s>>2]=(c[s>>2]|0)+2}c[g>>2]=HA(u,c[r>>2]|0)|0;if(c[g>>2]|0)break a;c[g>>2]=gs(c[r>>2]|0)|0;if(c[g>>2]|0)break a;y=c[o>>2]|0;Vt(y,Tt(c[r>>2]|0)|0)|0;y=c[o>>2]|0;b=Uc(c[r>>2]|0)|0;c[g>>2]=kg(y,b,c[t>>2]|0,1)|0;break a}}while(0);c[g>>2]=7}while(0);c[(c[h>>2]|0)+24>>2]=c[k>>2];c[(c[h>>2]|0)+80>>2]=c[l>>2];c[(c[h>>2]|0)+84>>2]=c[m>>2];c[(c[h>>2]|0)+172>>2]=c[f>>2];kg(c[o>>2]|0,-1,-1,1)|0;a[(c[h>>2]|0)+62>>0]=1;if(c[p>>2]|0){Kk(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}cd(c[h>>2]|0);c[n>>2]=c[g>>2];b=c[n>>2]|0;i=q;return b|0}function fA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;k=d+20|0;e=d+16|0;f=d+12|0;h=d+8|0;j=d+4|0;g=d;c[k>>2]=b;c[f>>2]=c[(c[k>>2]|0)+4>>2];Pc(c[k>>2]|0);if(!(a[(c[f>>2]|0)+17>>0]|0)){c[e>>2]=101;k=c[e>>2]|0;i=d;return k|0}c[h>>2]=Aw(c[f>>2]|0)|0;c[j>>2]=Hh((c[(c[(c[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=rA(c[f>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[h>>2]|0)>>>0<(c[g>>2]|0)>>>0){c[e>>2]=kj(55422)|0;k=c[e>>2]|0;i=d;return k|0}if((c[j>>2]|0)>>>0<=0){c[e>>2]=101;k=c[e>>2]|0;i=d;return k|0}c[e>>2]=Hy(c[f>>2]|0,0,0)|0;if(!(c[e>>2]|0)){sA(c[f>>2]|0);c[e>>2]=tA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0)|0}if(c[e>>2]|0){k=c[e>>2]|0;i=d;return k|0}c[e>>2]=gd(c[(c[(c[f>>2]|0)+12>>2]|0)+68>>2]|0)|0;ck((c[(c[(c[f>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[f>>2]|0)+44>>2]|0);k=c[e>>2]|0;i=d;return k|0}function gA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;m=g+13|0;h=g;l=g+12|0;c[j>>2]=b;c[k>>2]=e;a[m>>0]=f;c[h>>2]=0;if(!(a[(c[j>>2]|0)+9>>0]|0)){b=c[h>>2]|0;i=g;return b|0}a[l>>0]=1+(d[m>>0]|0);Pc(c[j>>2]|0);c[h>>2]=By(c[j>>2]|0,c[k>>2]|0,a[l>>0]|0)|0;if(c[h>>2]|0){b=c[h>>2]|0;i=g;return b|0}c[h>>2]=qA(c[j>>2]|0,c[k>>2]|0,a[l>>0]|0)|0;b=c[h>>2]|0;i=g;return b|0}function hA(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;e=i;i=i+32|0;f=e+20|0;h=e+16|0;k=e+12|0;j=e+8|0;l=e+4|0;g=e;c[h>>2]=a;c[k>>2]=b;c[j>>2]=0;if((c[(c[h>>2]|0)+304>>2]|0)>0?(c[(c[h>>2]|0)+328>>2]|0)==0:0){c[f>>2]=6;a=c[f>>2]|0;i=e;return a|0}if(!(c[k>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}c[l>>2]=c[c[(c[k>>2]|0)+8>>2]>>2];if(c[(c[l>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+304>>2]|0))break;if((c[(c[(c[h>>2]|0)+328>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[k>>2]|0)){d=10;break}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}c[j>>2]=oA(c[h>>2]|0)|0;if((c[j>>2]|0)==0?(c[j>>2]=ub[c[(c[l>>2]|0)+56>>2]&31](c[(c[k>>2]|0)+8>>2]|0)|0,(c[j>>2]|0)==0):0)pA(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];a=c[f>>2]|0;i=e;return a|0}function iA(a,b,d,e){a=a|0;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,o=0,p=0;g=i;i=i+48|0;m=g;h=g+32|0;o=g+28|0;p=g+24|0;k=g+20|0;l=g+16|0;j=g+12|0;f=g+8|0;n=g+4|0;c[h>>2]=a;c[o>>2]=b;c[p>>2]=d;c[k>>2]=e;c[l>>2]=0;c[j>>2]=sp(c[h>>2]|0,c[p>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[n>>2]=c[c[(c[j>>2]|0)+56>>2]>>2];c[f>>2]=bh((c[h>>2]|0)+308|0,c[n>>2]|0)|0;e=c[h>>2]|0;if(c[f>>2]|0)c[l>>2]=zr(e,c[j>>2]|0,c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+4>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=c[n>>2];p=Te(e,17944,m)|0;c[c[k>>2]>>2]=p;c[l>>2]=1}if(c[l>>2]|0){p=c[l>>2]|0;i=g;return p|0}if(!(Rp(c[h>>2]|0,c[j>>2]|0)|0)){p=c[l>>2]|0;i=g;return p|0}c[l>>2]=oA(c[h>>2]|0)|0;if(c[l>>2]|0){p=c[l>>2]|0;i=g;return p|0}p=c[h>>2]|0;pA(p,Rp(c[h>>2]|0,c[j>>2]|0)|0);p=c[l>>2]|0;i=g;return p|0}function jA(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,l=0;e=i;i=i+32|0;g=e+20|0;k=e+16|0;l=e+12|0;f=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[f>>2]=0;c[h>>2]=sp(c[g>>2]|0,c[l>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2]|0)|0;if(!(c[h>>2]|0)){l=c[f>>2]|0;i=e;return l|0}if(!(c[(c[h>>2]|0)+60>>2]|0)){l=c[f>>2]|0;i=e;return l|0}c[j>>2]=Gy(c[g>>2]|0,c[h>>2]|0)|0;c[f>>2]=ub[c[(c[c[(c[j>>2]|0)+4>>2]>>2]|0)+20>>2]&31](c[(c[j>>2]|0)+8>>2]|0)|0;if(c[f>>2]|0){l=c[f>>2]|0;i=e;return l|0}c[(c[j>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+60>>2]=0;Nk(c[j>>2]|0);l=c[f>>2]|0;i=e;return l|0}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;Pc(c[g>>2]|0);c[d>>2]=nA(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function lA(b,f){b=b|0;f=f|0;var g=0,j=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;g=i;i=i+240|0;s=g+40|0;p=g+120|0;t=g+116|0;r=g+112|0;n=g+108|0;o=g+104|0;l=g+100|0;m=g+96|0;y=g+92|0;q=g+88|0;j=g+60|0;z=g+56|0;w=g+52|0;u=g+124|0;v=g;x=g+48|0;c[p>>2]=b;c[t>>2]=f;c[n>>2]=0;c[o>>2]=1;c[r>>2]=c[c[p>>2]>>2];nc(j,g+128|0,100,c[(c[r>>2]|0)+88>>2]|0);c[j>>2]=c[r>>2];if((c[(c[r>>2]|0)+160>>2]|0)>1){while(1){if(!(a[c[t>>2]>>0]|0))break;c[z>>2]=c[t>>2];do{b=c[t>>2]|0;c[t>>2]=b+1;if((a[b>>0]|0)==10)break}while((a[c[t>>2]>>0]|0)!=0);Vm(j,32016,3);Vm(j,c[z>>2]|0,(c[t>>2]|0)-(c[z>>2]|0)|0)}b=pc(j)|0;i=g;return b|0}while(1){if(!(a[c[t>>2]>>0]|0)){l=31;break}c[l>>2]=mA(c[t>>2]|0,m)|0;Vm(j,c[t>>2]|0,c[l>>2]|0);c[t>>2]=(c[t>>2]|0)+(c[l>>2]|0);if(!(c[m>>2]|0)){l=31;break}do if((a[c[t>>2]>>0]|0)==63)if((c[m>>2]|0)>1){Ag((c[t>>2]|0)+1|0,n)|0;break}else{c[n>>2]=c[o>>2];break}else c[n>>2]=Me(c[p>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;while(0);c[t>>2]=(c[t>>2]|0)+(c[m>>2]|0);c[o>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[n>>2]|0)-1|0)*40|0);if(e[(c[q>>2]|0)+8>>1]&1){Vm(j,9840,4);continue}z=c[q>>2]|0;if(e[(c[q>>2]|0)+8>>1]&4){f=c[z+4>>2]|0;b=s;c[b>>2]=c[z>>2];c[b+4>>2]=f;kn(j,0,9456,s);continue}f=c[q>>2]|0;if(e[z+8>>1]&8){h[k>>3]=+h[f>>3];c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];kn(j,0,9808,s);continue}if(e[f+8>>1]&2){a[u>>0]=a[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;if((d[u>>0]|0)!=1){f=v+0|0;z=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(z|0));c[v+32>>2]=c[r>>2];Vd(v,c[(c[q>>2]|0)+16>>2]|0,c[(c[q>>2]|0)+12>>2]|0,a[u>>0]|0,0)|0;yk(v,1)|0;c[q>>2]=v}c[w>>2]=c[(c[q>>2]|0)+12>>2];b=c[(c[q>>2]|0)+16>>2]|0;c[s>>2]=c[w>>2];c[s+4>>2]=b;kn(j,0,32024,s);if((d[u>>0]|0)==1)continue;Bd(v);continue}if(e[(c[q>>2]|0)+8>>1]&16384){c[s>>2]=c[c[q>>2]>>2];kn(j,0,32032,s);continue}Vm(j,32048,2);c[x>>2]=c[(c[q>>2]|0)+12>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[x>>2]|0))break;c[s>>2]=a[(c[(c[q>>2]|0)+16>>2]|0)+(c[y>>2]|0)>>0]&255;kn(j,0,32056,s);c[y>>2]=(c[y>>2]|0)+1}Vm(j,32064,1)}if((l|0)==31){b=pc(j)|0;i=g;return b|0}return 0}function mA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;j=g+16|0;h=g+12|0;k=g+8|0;f=g+4|0;l=g;c[j>>2]=b;c[h>>2]=d;c[f>>2]=0;c[c[h>>2]>>2]=0;while(1){if(!(a[c[j>>2]>>0]|0)){e=6;break}c[l>>2]=qm(c[j>>2]|0,k)|0;d=c[l>>2]|0;if((c[k>>2]|0)==135)break;c[f>>2]=(c[f>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0)}if((e|0)==6){b=c[f>>2]|0;i=g;return b|0}c[c[h>>2]>>2]=d;b=c[f>>2]|0;i=g;return b|0}function nA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>0)c[(c[d>>2]|0)+156>>2]=c[f>>2];i=e;return c[(c[d>>2]|0)+156>>2]|0}function oA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+4|0;g=b;c[e>>2]=a;c[b+8>>2]=5;do if(!((c[(c[e>>2]|0)+304>>2]|0)%5|0)){c[g>>2]=(c[(c[e>>2]|0)+304>>2]|0)+5<<2;g=c[g>>2]|0;c[f>>2]=Fk(c[e>>2]|0,c[(c[e>>2]|0)+328>>2]|0,g,((g|0)<0)<<31>>31)|0;if(c[f>>2]|0){g=(c[f>>2]|0)+(c[(c[e>>2]|0)+304>>2]<<2)|0;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[(c[e>>2]|0)+328>>2]=c[f>>2];break}c[d>>2]=7;g=c[d>>2]|0;i=b;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}function pA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[e>>2]|0;g=(c[f>>2]|0)+304|0;a=c[g>>2]|0;c[g>>2]=a+1;c[(c[(c[f>>2]|0)+328>>2]|0)+(a<<2)>>2]=b;Qy(c[e>>2]|0);i=d;return}function qA(b,e,f){b=b|0;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;o=i;i=i+32|0;g=o+20|0;l=o+16|0;k=o+12|0;n=o+24|0;m=o+8|0;j=o+4|0;p=o;c[l>>2]=b;c[k>>2]=e;a[n>>0]=f;c[m>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;c[p>>2]=c[(c[m>>2]|0)+72>>2];while(1){if(!(c[p>>2]|0))break;if((c[(c[p>>2]|0)+4>>2]|0)==(c[k>>2]|0)?(c[c[p>>2]>>2]|0)==(c[l>>2]|0):0){h=5;break}c[p>>2]=c[(c[p>>2]|0)+12>>2]}if((h|0)==5)c[j>>2]=c[p>>2];do if(!(c[j>>2]|0)){c[j>>2]=Mc(16,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=c[k>>2];c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+12>>2]=c[(c[m>>2]|0)+72>>2];c[(c[m>>2]|0)+72>>2]=c[j>>2];break}c[g>>2]=7;b=c[g>>2]|0;i=o;return b|0}while(0);if((d[n>>0]|0|0)>(d[(c[j>>2]|0)+8>>0]|0|0))a[(c[j>>2]|0)+8>>0]=a[n>>0]|0;c[g>>2]=0;b=c[g>>2]|0;i=o;return b|0}function rA(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,l=0;e=i;i=i+32|0;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[g>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(Pw(c[g>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[282]|0)>>>0)/((c[(c[g>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[282]|0)>>>0)/((c[(c[g>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+ -1;while(1){l=Pw(c[g>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[282]|0)>>>0)/((c[(c[g>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+ -1}i=e;return d|0}function sA(b){b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+4|0;f=e;c[g>>2]=b;c[f>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;g=(c[f>>2]|0)+72|0;a[g>>0]=(d[g>>0]|0)&-5;c[f>>2]=c[(c[f>>2]|0)+8>>2]}i=e;return}function tA(b,e,f,g){b=b|0;e=e|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;t=i;i=i+64|0;k=t+52|0;o=t+48|0;v=t+44|0;q=t+40|0;m=t+36|0;z=t+32|0;l=t+28|0;s=t+57|0;h=t+24|0;p=t+20|0;n=t+16|0;u=t+12|0;r=t+8|0;y=t+56|0;x=t+4|0;w=t;c[o>>2]=b;c[v>>2]=e;c[q>>2]=f;c[m>>2]=g;b=Pw(c[o>>2]|0,c[q>>2]|0)|0;do if((b|0)!=(c[q>>2]|0)?(c[q>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[z>>2]=Hh((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[z>>2]|0)){c[k>>2]=101;b=c[k>>2]|0;i=t;return b|0}c[l>>2]=Qw(c[o>>2]|0,c[q>>2]|0,s,h)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}if((d[s>>0]|0|0)==1){c[k>>2]=kj(55307)|0;b=c[k>>2]|0;i=t;return b|0}if((d[s>>0]|0|0)==2){if(c[m>>2]|0)break;c[l>>2]=uA(c[o>>2]|0,n,p,c[q>>2]|0,1)|0;if(!(c[l>>2]|0)){Rk(c[n>>2]|0);break}c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}a[y>>0]=0;c[x>>2]=0;c[l>>2]=Bw(c[o>>2]|0,c[q>>2]|0,r,0)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}if(!(c[m>>2]|0)){a[y>>0]=2;c[x>>2]=c[v>>2]}do{c[l>>2]=uA(c[o>>2]|0,w,u,c[x>>2]|0,a[y>>0]|0)|0;if(c[l>>2]|0){j=19;break}Rk(c[w>>2]|0);if(!(c[m>>2]|0))break}while((c[u>>2]|0)>>>0>(c[v>>2]|0)>>>0);if((j|0)==19){Rk(c[r>>2]|0);c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}c[l>>2]=vA(c[o>>2]|0,c[r>>2]|0,a[s>>0]|0,c[h>>2]|0,c[u>>2]|0,c[m>>2]|0)|0;Rk(c[r>>2]|0);if(c[l>>2]|0){c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}}while(0);if(!(c[m>>2]|0)){while(1){c[q>>2]=(c[q>>2]|0)+ -1;if((c[q>>2]|0)==((((c[282]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;b=Pw(c[o>>2]|0,c[q>>2]|0)|0;if((b|0)!=(c[q>>2]|0))break}a[(c[o>>2]|0)+19>>0]=1;c[(c[o>>2]|0)+44>>2]=c[q>>2]}c[k>>2]=0;b=c[k>>2]|0;i=t;return b|0}function uA(b,e,f,g,h){b=b|0;e=e|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,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;m=i;i=i+112|0;k=m+92|0;A=m+88|0;l=m+84|0;E=m+80|0;B=m+76|0;q=m+98|0;z=m+72|0;j=m+68|0;H=m+64|0;x=m+60|0;o=m+56|0;n=m+52|0;t=m+48|0;D=m+44|0;w=m+97|0;I=m+96|0;C=m+40|0;u=m+36|0;r=m+32|0;s=m+28|0;y=m+24|0;v=m+20|0;p=m+16|0;F=m+12|0;G=m+8|0;K=m+4|0;J=m;c[A>>2]=b;c[l>>2]=e;c[E>>2]=f;c[B>>2]=g;a[q>>0]=h;c[o>>2]=0;c[n>>2]=0;c[z>>2]=c[(c[A>>2]|0)+12>>2];c[t>>2]=Aw(c[A>>2]|0)|0;c[H>>2]=Hh((c[(c[z>>2]|0)+56>>2]|0)+36|0)|0;if((c[H>>2]|0)>>>0>=(c[t>>2]|0)>>>0){c[k>>2]=kj(57337)|0;b=c[k>>2]|0;i=m;return b|0}a:do if((c[H>>2]|0)>>>0>0){a[w>>0]=0;do if((d[q>>0]|0)==1){if((c[B>>2]|0)>>>0<=(c[t>>2]|0)>>>0){c[j>>2]=Qw(c[A>>2]|0,c[B>>2]|0,I,0)|0;if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}else{if((d[I>>0]|0)!=2)break;a[w>>0]=1;break}}}else if((d[q>>0]|0)==2)a[w>>0]=1;while(0);c[j>>2]=gd(c[(c[z>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}ck((c[(c[z>>2]|0)+56>>2]|0)+36|0,(c[H>>2]|0)-1|0);b:while(1){c[n>>2]=c[o>>2];if(c[n>>2]|0)c[D>>2]=Hh(c[(c[n>>2]|0)+56>>2]|0)|0;else c[D>>2]=Hh((c[(c[z>>2]|0)+56>>2]|0)+32|0)|0;if((c[D>>2]|0)>>>0>(c[t>>2]|0)>>>0)c[j>>2]=kj(57386)|0;else c[j>>2]=Bw(c[A>>2]|0,c[D>>2]|0,o,0)|0;if(c[j>>2]|0){p=22;break}c[x>>2]=Hh((c[(c[o>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[x>>2]|0)!=0|(a[w>>0]|0)!=0){if((c[x>>2]|0)>>>0>((((c[(c[A>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){p=27;break b}do if(d[w>>0]|0){if((c[B>>2]|0)!=(c[D>>2]|0)){if((c[D>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[E>>2]>>2]=c[D>>2];c[c[l>>2]>>2]=c[o>>2];a[w>>0]=0;c[j>>2]=gd(c[(c[o>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;do if(!(c[x>>2]|0)){if(!(c[n>>2]|0)){b=(c[(c[z>>2]|0)+56>>2]|0)+32|0;e=c[(c[o>>2]|0)+56>>2]|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;break}c[j>>2]=gd(c[(c[n>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;b=c[(c[n>>2]|0)+56>>2]|0;e=c[(c[o>>2]|0)+56>>2]|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0}else{c[u>>2]=Hh((c[(c[o>>2]|0)+56>>2]|0)+8|0)|0;if((c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0){p=39;break b}c[j>>2]=Bw(c[A>>2]|0,c[u>>2]|0,C,0)|0;if(c[j>>2]|0)break a;c[j>>2]=gd(c[(c[C>>2]|0)+68>>2]|0)|0;H=c[C>>2]|0;if(c[j>>2]|0){p=42;break b}b=c[H+56>>2]|0;e=c[(c[o>>2]|0)+56>>2]|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;ck((c[(c[C>>2]|0)+56>>2]|0)+4|0,(c[x>>2]|0)-1|0);dF((c[(c[C>>2]|0)+56>>2]|0)+8|0,(c[(c[o>>2]|0)+56>>2]|0)+12|0,(c[x>>2]|0)-1<<2|0)|0;Rk(c[C>>2]|0);if(!(c[n>>2]|0)){ck((c[(c[z>>2]|0)+56>>2]|0)+32|0,c[u>>2]|0);break}c[j>>2]=gd(c[(c[n>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;ck(c[(c[n>>2]|0)+56>>2]|0,c[u>>2]|0)}while(0);c[o>>2]=0;break c}while(0);if((c[x>>2]|0)>>>0>0){c[y>>2]=c[(c[o>>2]|0)+56>>2];b=(c[B>>2]|0)>>>0>0;c[r>>2]=0;d:do if(b)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break d;c[s>>2]=Hh((c[y>>2]|0)+(8+(c[v>>2]<<2))|0)|0;H=c[v>>2]|0;if((c[s>>2]|0)>>>0<=(c[B>>2]|0)>>>0)break;c[v>>2]=H+1}c[r>>2]=H;break}else{b=Hh((c[y>>2]|0)+8|0)|0;c[p>>2]=ds(b-(c[B>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break d;b=Hh((c[y>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[F>>2]=ds(b-(c[B>>2]|0)|0)|0;if((c[F>>2]|0)<(c[p>>2]|0)){c[r>>2]=c[v>>2];c[p>>2]=c[F>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[s>>2]=Hh((c[y>>2]|0)+(8+(c[r>>2]<<2))|0)|0;if((c[s>>2]|0)>>>0>(c[t>>2]|0)>>>0){p=62;break b}if((a[w>>0]|0)!=0?(c[s>>2]|0)!=(c[B>>2]|0):0){if((c[s>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[E>>2]>>2]=c[s>>2];c[j>>2]=gd(c[(c[o>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;if((c[r>>2]|0)>>>0<((c[x>>2]|0)-1|0)>>>0){b=(c[y>>2]|0)+(8+(c[r>>2]<<2))|0;e=(c[y>>2]|0)+(4+(c[x>>2]<<2))|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0}ck((c[y>>2]|0)+4|0,(c[x>>2]|0)-1|0);b=(CA(c[A>>2]|0,c[c[E>>2]>>2]|0)|0)!=0^1;c[G>>2]=b?1:0;c[j>>2]=Bw(c[A>>2]|0,c[c[E>>2]>>2]|0,c[l>>2]|0,c[G>>2]|0)|0;do if(!(c[j>>2]|0)){c[j>>2]=gd(c[(c[c[l>>2]>>2]|0)+68>>2]|0)|0;if(!(c[j>>2]|0))break;Rk(c[c[l>>2]>>2]|0)}while(0);a[w>>0]=0}}else{c[j>>2]=gd(c[(c[o>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;c[c[E>>2]>>2]=c[D>>2];b=(c[(c[z>>2]|0)+56>>2]|0)+32|0;e=c[(c[o>>2]|0)+56>>2]|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;c[c[l>>2]>>2]=c[o>>2];c[o>>2]=0}while(0);Rk(c[n>>2]|0);c[n>>2]=0;if(!(a[w>>0]|0))break a}if((p|0)==22){c[o>>2]=0;break}else if((p|0)==27){c[j>>2]=kj(57414)|0;break}else if((p|0)==39){c[j>>2]=kj(57448)|0;break}else if((p|0)==42){Rk(H);break}else if((p|0)==62){c[j>>2]=kj(57513)|0;break}}else{c[K>>2]=0==(d[(c[A>>2]|0)+19>>0]|0)?1:0;c[j>>2]=gd(c[(c[(c[A>>2]|0)+12>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}b=(c[A>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[A>>2]|0)+44>>2]|0)==((((c[282]|0)>>>0)/((c[(c[A>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){b=(c[A>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+1}do if((d[(c[A>>2]|0)+17>>0]|0)!=0?(b=Pw(c[A>>2]|0,c[(c[A>>2]|0)+44>>2]|0)|0,(b|0)==(c[(c[A>>2]|0)+44>>2]|0)):0){c[J>>2]=0;c[j>>2]=Bw(c[A>>2]|0,c[(c[A>>2]|0)+44>>2]|0,J,c[K>>2]|0)|0;if(!(c[j>>2]|0)){c[j>>2]=gd(c[(c[J>>2]|0)+68>>2]|0)|0;Rk(c[J>>2]|0)}if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}else{b=(c[A>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[A>>2]|0)+44>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[A>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;b=(c[A>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+1;break}}while(0);ck((c[(c[(c[A>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[A>>2]|0)+44>>2]|0);c[c[E>>2]>>2]=c[(c[A>>2]|0)+44>>2];c[j>>2]=Bw(c[A>>2]|0,c[c[E>>2]>>2]|0,c[l>>2]|0,c[K>>2]|0)|0;if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}else{c[j>>2]=gd(c[(c[c[l>>2]>>2]|0)+68>>2]|0)|0;if(!(c[j>>2]|0))break;Rk(c[c[l>>2]>>2]|0);break}}while(0);Rk(c[o>>2]|0);Rk(c[n>>2]|0);n=c[l>>2]|0;do if(!(c[j>>2]|0)){b=(Rj(c[(c[n>>2]|0)+68>>2]|0)|0)>1;n=c[c[l>>2]>>2]|0;if(!b){a[n>>0]=0;break}Rk(n);c[c[l>>2]>>2]=0;c[k>>2]=kj(57612)|0;b=c[k>>2]|0;i=m;return b|0}else c[n>>2]=0;while(0);c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}function vA(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;q=i;i=i+48|0;k=q+40|0;m=q+36|0;u=q+32|0;p=q+44|0;n=q+28|0;r=q+24|0;w=q+20|0;o=q+16|0;s=q+12|0;x=q+8|0;l=q+4|0;t=q;c[m>>2]=b;c[u>>2]=e;a[p>>0]=f;c[n>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[u>>2]|0)+72>>2];c[x>>2]=c[c[m>>2]>>2];c[l>>2]=wA(c[x>>2]|0,c[(c[u>>2]|0)+68>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}c[(c[u>>2]|0)+72>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[t>>2]=Hh(c[(c[u>>2]|0)+56>>2]|0)|0;if((c[t>>2]|0)!=0?(yA(c[m>>2]|0,c[t>>2]|0,4,c[r>>2]|0,l),(c[l>>2]|0)!=0):0){c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}}else v=5;if((v|0)==5?(c[l>>2]=xA(c[u>>2]|0)|0,(c[l>>2]|0)!=0):0){c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}do if((d[p>>0]|0|0)!=1){c[l>>2]=Bw(c[m>>2]|0,c[n>>2]|0,o,0)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}c[l>>2]=gd(c[(c[o>>2]|0)+68>>2]|0)|0;t=c[o>>2]|0;if(c[l>>2]|0){Rk(t);c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}else{c[l>>2]=zA(t,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;Rk(c[o>>2]|0);if(c[l>>2]|0)break;yA(c[m>>2]|0,c[r>>2]|0,a[p>>0]|0,c[n>>2]|0,l);break}}while(0);c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}function wA(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,q=0,r=0,s=0,t=0;l=i;i=i+48|0;k=l+36|0;r=l+32|0;p=l+28|0;j=l+24|0;t=l+20|0;n=l+16|0;m=l+12|0;q=l+8|0;o=l+4|0;s=l;c[r>>2]=d;c[p>>2]=f;c[j>>2]=g;c[t>>2]=h;c[m>>2]=0;if((a[(c[r>>2]|0)+15>>0]|0)!=0?(c[q>>2]=gd(c[p>>2]|0)|0,(c[q>>2]|0)!=0):0){c[k>>2]=c[q>>2];d=c[k>>2]|0;i=l;return d|0}if(((e[(c[p>>2]|0)+24>>1]&2|0)!=0?(Xj(c[p>>2]|0)|0)!=0:0)?(d=Yj(c[p>>2]|0)|0,c[q>>2]=d,0!=(d|0)):0){c[k>>2]=c[q>>2];d=c[k>>2]|0;i=l;return d|0}if(!((c[t>>2]|0)!=0?1:(e[(c[p>>2]|0)+24>>1]&4|0)==0))c[m>>2]=c[(c[p>>2]|0)+20>>2];d=(c[p>>2]|0)+24|0;b[d>>1]=e[d>>1]&-5;c[n>>2]=Hi(c[r>>2]|0,c[j>>2]|0)|0;do if(c[n>>2]|0){h=(c[p>>2]|0)+24|0;b[h>>1]=e[h>>1]|e[(c[n>>2]|0)+24>>1]&4;h=c[n>>2]|0;if(a[(c[r>>2]|0)+15>>0]|0){BA(h,(c[(c[r>>2]|0)+24>>2]|0)+1|0);break}else{bj(h);break}}while(0);c[o>>2]=c[(c[p>>2]|0)+20>>2];BA(c[p>>2]|0,c[j>>2]|0);Ji(c[p>>2]|0);if(a[(c[r>>2]|0)+15>>0]|0){BA(c[n>>2]|0,c[o>>2]|0);ej(c[n>>2]|0)}do if(c[m>>2]|0){c[q>>2]=Xc(c[r>>2]|0,c[m>>2]|0,s,0)|0;if(!(c[q>>2]|0)){d=(c[s>>2]|0)+24|0;b[d>>1]=e[d>>1]|4;Ji(c[s>>2]|0);ej(c[s>>2]|0);break}if((c[m>>2]|0)>>>0<=(c[(c[r>>2]|0)+28>>2]|0)>>>0)Xg(c[(c[r>>2]|0)+56>>2]|0,c[m>>2]|0,c[(c[r>>2]|0)+200>>2]|0);c[k>>2]=c[q>>2];d=c[k>>2]|0;i=l;return d|0}while(0);c[k>>2]=0;d=c[k>>2]|0;i=l;return d|0}function xA(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;h=f+32|0;p=f+28|0;q=f+24|0;l=f+20|0;g=f+16|0;j=f+36|0;m=f+12|0;n=f+8|0;o=f+4|0;k=f;c[h>>2]=b;c[g>>2]=c[(c[h>>2]|0)+52>>2];a[j>>0]=a[c[h>>2]>>0]|0;c[m>>2]=c[(c[h>>2]|0)+72>>2];c[l>>2]=Sj(c[h>>2]|0)|0;if(c[l>>2]|0){q=a[j>>0]|0;b=c[h>>2]|0;a[b>>0]=q;b=c[l>>2]|0;i=f;return b|0}c[q>>2]=e[(c[h>>2]|0)+18>>1];c[p>>2]=0;while(1){b=c[h>>2]|0;if((c[p>>2]|0)>=(c[q>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]&(d[(c[(c[h>>2]|0)+64>>2]|0)+(c[p>>2]<<1)>>0]<<8|d[(c[(c[h>>2]|0)+64>>2]|0)+(c[p>>2]<<1)+1>>0]));AA(c[h>>2]|0,c[n>>2]|0,l);if(!(a[(c[h>>2]|0)+5>>0]|0)){c[o>>2]=Hh(c[n>>2]|0)|0;yA(c[g>>2]|0,c[o>>2]|0,5,c[m>>2]|0,l)}c[p>>2]=(c[p>>2]|0)+1}if(a[b+5>>0]|0){q=a[j>>0]|0;b=c[h>>2]|0;a[b>>0]=q;b=c[l>>2]|0;i=f;return b|0}c[k>>2]=Hh((c[(c[h>>2]|0)+56>>2]|0)+((d[(c[h>>2]|0)+6>>0]|0)+8)|0)|0;yA(c[g>>2]|0,c[k>>2]|0,5,c[m>>2]|0,l);q=a[j>>0]|0;b=c[h>>2]|0;a[b>>0]=q;b=c[l>>2]|0;i=f;return b|0}function yA(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0;q=i;i=i+48|0;t=q+32|0;r=q+28|0;j=q+36|0;o=q+24|0;k=q+20|0;p=q+16|0;m=q+12|0;s=q+8|0;n=q+4|0;l=q;c[t>>2]=b;c[r>>2]=e;a[j>>0]=f;c[o>>2]=g;c[k>>2]=h;if(c[c[k>>2]>>2]|0){i=q;return}if(!(c[r>>2]|0)){b=kj(53057)|0;c[c[k>>2]>>2]=b;i=q;return}c[s>>2]=Pw(c[t>>2]|0,c[r>>2]|0)|0;c[l>>2]=Xc(c[c[t>>2]>>2]|0,c[s>>2]|0,p,0)|0;if(c[l>>2]|0){c[c[k>>2]>>2]=c[l>>2];i=q;return}c[n>>2]=((c[r>>2]|0)-(c[s>>2]|0)-1|0)*5;do if((c[n>>2]|0)>=0){c[m>>2]=Zc(c[p>>2]|0)|0;if((d[j>>0]|0|0)==(d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0|0)?(b=Hh((c[m>>2]|0)+((c[n>>2]|0)+1)|0)|0,(b|0)==(c[o>>2]|0)):0)break;b=gd(c[p>>2]|0)|0;c[l>>2]=b;c[c[k>>2]>>2]=b;if(!(c[l>>2]|0)){a[(c[m>>2]|0)+(c[n>>2]|0)>>0]=a[j>>0]|0;ck((c[m>>2]|0)+((c[n>>2]|0)+1)|0,c[o>>2]|0)}}else{b=kj(53068)|0;c[c[k>>2]>>2]=b}while(0);_c(c[p>>2]|0);i=q;return}function zA(b,f,g,h){b=b|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,q=0,r=0,s=0,t=0,u=0;r=i;i=i+64|0;l=r+48|0;n=r+44|0;o=r+40|0;m=r+36|0;j=r+53|0;q=r+52|0;s=r+32|0;t=r+28|0;u=r+24|0;p=r;c[n>>2]=b;c[o>>2]=f;c[m>>2]=g;a[j>>0]=h;h=c[n>>2]|0;do if((d[j>>0]|0|0)==4){b=Hh(c[h+56>>2]|0)|0;if((b|0)==(c[o>>2]|0)){ck(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[l>>2]=kj(55139)|0;b=c[l>>2]|0;i=r;return b|0}else{a[q>>0]=a[h>>0]|0;Sj(c[n>>2]|0)|0;c[t>>2]=e[(c[n>>2]|0)+18>>1];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=(c[(c[n>>2]|0)+56>>2]|0)+((e[(c[n>>2]|0)+20>>1]|0)&((d[(c[(c[n>>2]|0)+64>>2]|0)+(c[s>>2]<<1)>>0]|0)<<8|(d[(c[(c[n>>2]|0)+64>>2]|0)+(c[s>>2]<<1)+1>>0]|0)));if((d[j>>0]|0|0)==3){Kw(c[n>>2]|0,c[u>>2]|0,p);if(((e[p+18>>1]|0|0)!=0?((c[u>>2]|0)+(e[p+18>>1]|0)+3|0)>>>0<=((c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]|0)|0)>>>0:0)?(b=c[o>>2]|0,(b|0)==(Hh((c[u>>2]|0)+(e[p+18>>1]|0)|0)|0)):0){k=11;break}}else{b=Hh(c[u>>2]|0)|0;if((b|0)==(c[o>>2]|0)){k=13;break}}c[s>>2]=(c[s>>2]|0)+1}if((k|0)==11)ck((c[u>>2]|0)+(e[p+18>>1]|0)|0,c[m>>2]|0);else if((k|0)==13)ck(c[u>>2]|0,c[m>>2]|0);do if((c[s>>2]|0)==(c[t>>2]|0)){if((d[j>>0]|0|0)==5?(b=Hh((c[(c[n>>2]|0)+56>>2]|0)+((d[(c[n>>2]|0)+6>>0]|0)+8)|0)|0,(b|0)==(c[o>>2]|0)):0){ck((c[(c[n>>2]|0)+56>>2]|0)+((d[(c[n>>2]|0)+6>>0]|0)+8)|0,c[m>>2]|0);break}c[l>>2]=kj(55173)|0;b=c[l>>2]|0;i=r;return b|0}while(0);a[c[n>>2]>>0]=a[q>>0]|0}while(0);c[l>>2]=0;b=c[l>>2]|0;i=r;return b|0}function AA(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+48|0;l=g+36|0;h=g+32|0;m=g+28|0;j=g;k=g+24|0;c[l>>2]=a;c[h>>2]=d;c[m>>2]=f;if(c[c[m>>2]>>2]|0){i=g;return}Kw(c[l>>2]|0,c[h>>2]|0,j);if(!(b[j+18>>1]|0)){i=g;return}c[k>>2]=Hh((c[h>>2]|0)+(e[j+18>>1]|0)|0)|0;yA(c[(c[l>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[l>>2]|0)+72>>2]|0,c[m>>2]|0);i=g;return}function BA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[f>>2]|0)+28>>2];Bb[c[38640+140>>2]&3](c[(c[h>>2]|0)+40>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[f>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[f>>2]|0)+24>>1]|0)&2)){i=d;return}if(!((e[(c[f>>2]|0)+24>>1]|0)&4)){i=d;return}Sg(c[f>>2]|0,3);i=d;return}function CA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=d;return g|0}g=c[f>>2]|0;if(g>>>0>(Zg(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=d;return g|0}g=(Yg(c[e>>2]|0,c[f>>2]|0)|0)!=0;g=g&1;i=d;return g|0}function DA(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+15>>0]|0|0}function EA(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;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e+12|0;k=e+8|0;j=e+4|0;c[h>>2]=a;c[g>>2]=b;c[k>>2]=d;if(!(c[k>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=e;return a|0}if(of(c[h>>2]|0,c[k>>2]|0,-1,j,0)|0){b=c[g>>2]|0;a=c[h>>2]|0;pn(b,a,nf(c[h>>2]|0)|0,e);c[f>>2]=ag(c[h>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}else{je(c[j>>2]|0)|0;c[f>>2]=JA(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}return 0}function FA(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;Pc(c[e>>2]|0);c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function GA(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,l=0;j=i;i=i+32|0;f=j+20|0;h=j+16|0;k=j+12|0;l=j+8|0;e=j+4|0;g=j;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[g>>2]=of(c[h>>2]|0,c[l>>2]|0,-1,e,0)|0;if(c[g>>2]|0){c[f>>2]=c[g>>2];l=c[f>>2]|0;i=j;return l|0}while(1){l=100==(je(c[e>>2]|0)|0);d=c[h>>2]|0;if(!l){b=6;break}l=c[k>>2]|0;c[g>>2]=EA(d,l,Ae(c[e>>2]|0,0)|0)|0;if(c[g>>2]|0){b=5;break}}if((b|0)==5){JA(c[h>>2]|0,c[e>>2]|0,c[k>>2]|0)|0;c[f>>2]=c[g>>2];l=c[f>>2]|0;i=j;return l|0}else if((b|0)==6){c[f>>2]=JA(d,c[e>>2]|0,c[k>>2]|0)|0;l=c[f>>2]|0;i=j;return l|0}return 0}function HA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+80|0;f=g+68|0;h=g+64|0;k=g+60|0;m=g+56|0;j=g+8|0;l=g;c[f>>2]=a;c[h>>2]=d;Pc(c[f>>2]|0);Pc(c[h>>2]|0);c[m>>2]=ed(Sb(c[f>>2]|0)|0)|0;if((c[c[m>>2]>>2]|0)!=0?(d=Uc(c[h>>2]|0)|0,d=lF(d|0,((d|0)<0)<<31>>31|0,Wc(c[h>>2]|0)|0,0)|0,a=l,c[a>>2]=d,c[a+4>>2]=D,a=ig(c[m>>2]|0,11,l)|0,c[k>>2]=a,c[k>>2]=(c[k>>2]|0)==12?0:a,(c[k>>2]|0)!=0):0){a=c[k>>2]|0;i=g;return a|0}l=j+0|0;d=l+48|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(d|0));c[j+20>>2]=c[c[h>>2]>>2];c[j+24>>2]=c[h>>2];c[j+4>>2]=c[f>>2];c[j+16>>2]=1;Oc(j,2147483647)|0;c[k>>2]=od(j)|0;if(!(c[k>>2]|0)){a=(c[(c[f>>2]|0)+4>>2]|0)+22|0;b[a>>1]=(e[a>>1]|0)&-3;a=c[k>>2]|0;i=g;return a|0}else{IA(Sb(c[j+4>>2]|0)|0);a=c[k>>2]|0;i=g;return a|0}return 0}function IA(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;if(a[(c[f>>2]|0)+15>>0]|0){i=e;return}if(d[(c[f>>2]|0)+12>>0]|0){i=e;return}Ig(c[f>>2]|0);i=e;return}function JA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;j=e+12|0;g=e+8|0;f=e+4|0;c[h>>2]=a;c[j>>2]=b;c[g>>2]=d;c[f>>2]=vd(c[j>>2]|0)|0;if(!(c[f>>2]|0)){j=c[f>>2]|0;i=e;return j|0}a=c[g>>2]|0;j=c[h>>2]|0;pn(a,j,nf(c[h>>2]|0)|0,e);j=c[f>>2]|0;i=e;return j|0}function KA(b){b=b|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;g=i;i=i+64|0;e=g+32|0;h=g+28|0;f=g+24|0;q=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;m=g+4|0;l=g;j=g+40|0;c[h>>2]=b;c[f>>2]=0;if((d[(c[h>>2]|0)+15>>0]|0)!=0?(c[(c[h>>2]|0)+40>>2]|0)!=0:0){c[e>>2]=c[(c[h>>2]|0)+40>>2];b=c[e>>2]|0;i=g;return b|0}a:do if((ai(c[h>>2]|0)|0)==0?(d[(c[h>>2]|0)+16>>0]|0)==0:0){c[q>>2]=1;c[f>>2]=gk(c[h>>2]|0,1)|0;if(!(c[f>>2]|0)){if((d[(c[h>>2]|0)+17>>0]|0)<=1)c[f>>2]=LA(c[h>>2]|0,q)|0;if(!(c[f>>2]|0)){if(c[q>>2]|0){if(a[(c[h>>2]|0)+14>>0]|0){c[f>>2]=776;break}c[f>>2]=hk(c[h>>2]|0,4)|0;if(c[f>>2]|0)break;if((((c[c[(c[h>>2]|0)+64>>2]>>2]|0)==0?(c[n>>2]=c[c[h>>2]>>2],c[f>>2]=vi(c[n>>2]|0,c[(c[h>>2]|0)+172>>2]|0,0,o)|0,(c[f>>2]|0)==0&(c[o>>2]|0)!=0):0)?(c[p>>2]=0,c[m>>2]=2050,c[f>>2]=Di(c[n>>2]|0,c[(c[h>>2]|0)+172>>2]|0,c[(c[h>>2]|0)+64>>2]|0,c[m>>2]|0,p)|0,(c[f>>2]|0)==0):0)?(c[p>>2]&1|0)!=0:0){c[f>>2]=Ij(45936)|0;Rh(c[(c[h>>2]|0)+64>>2]|0)|0}m=c[h>>2]|0;if(c[c[(c[h>>2]|0)+64>>2]>>2]|0){c[f>>2]=Ph(m)|0;if(!(c[f>>2]|0)){c[f>>2]=ti(c[h>>2]|0,1)|0;a[(c[h>>2]|0)+16>>0]=0}}else if(!(a[m+4>>0]|0))ei(c[h>>2]|0,1)|0;if(c[f>>2]|0){Oh(c[h>>2]|0,c[f>>2]|0)|0;break}}do if(!(a[(c[h>>2]|0)+12>>0]|0)){if((c[(c[h>>2]|0)+88>>2]|0)==0?(MA(c[(c[h>>2]|0)+204>>2]|0)|0)<=0:0)break;c[l>>2]=0;c[f>>2]=NA(c[h>>2]|0,l)|0;if(c[f>>2]|0)break a;if((c[l>>2]|0)>>>0>0){c[f>>2]=Ei(c[(c[h>>2]|0)+60>>2]|0,j,16,24,0)|0;if((c[f>>2]|0)!=0&(c[f>>2]|0)!=522)break a}else{l=j+0|0;k=l+16|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(k|0))}if(TE((c[h>>2]|0)+100|0,j,16)|0)Ig(c[h>>2]|0)}while(0);c[f>>2]=OA(c[h>>2]|0)|0;k=36}}}else k=36;while(0);if((k|0)==36){if(ai(c[h>>2]|0)|0)c[f>>2]=PA(c[h>>2]|0)|0;if((c[f>>2]|0)==0?(d[(c[h>>2]|0)+16>>0]|0)==0:0)c[f>>2]=NA(c[h>>2]|0,(c[h>>2]|0)+24|0)|0}h=c[h>>2]|0;if(c[f>>2]|0)Nh(h);else a[h+16>>0]=1;c[e>>2]=c[f>>2];b=c[e>>2]|0;i=g;return b|0}function LA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+48|0;h=g+32|0;f=g+28|0;j=g+24|0;l=g+20|0;q=g+16|0;m=g+12|0;p=g+8|0;o=g+4|0;n=g;k=g+36|0;c[h>>2]=b;c[f>>2]=e;c[j>>2]=c[c[h>>2]>>2];c[l>>2]=0;c[q>>2]=1;c[m>>2]=((c[c[(c[h>>2]|0)+64>>2]>>2]|0)!=0^1^1)&1;c[c[f>>2]>>2]=0;if(!(c[m>>2]|0))c[l>>2]=vi(c[j>>2]|0,c[(c[h>>2]|0)+172>>2]|0,0,q)|0;if(!((c[l>>2]|0)==0&(c[q>>2]|0)!=0)){b=c[l>>2]|0;i=g;return b|0}c[p>>2]=0;c[l>>2]=WA(c[(c[h>>2]|0)+60>>2]|0,p)|0;if((c[l>>2]|0)!=0|(c[p>>2]|0)!=0){b=c[l>>2]|0;i=g;return b|0}c[l>>2]=NA(c[h>>2]|0,o)|0;if(c[l>>2]|0){b=c[l>>2]|0;i=g;return b|0}if(!((c[o>>2]|0)!=0|(c[m>>2]|0)!=0)){kh();if((hk(c[h>>2]|0,2)|0)==0?(_h(c[j>>2]|0,c[(c[h>>2]|0)+172>>2]|0,0)|0,(a[(c[h>>2]|0)+4>>0]|0)==0):0)ei(c[h>>2]|0,1)|0;lh();b=c[l>>2]|0;i=g;return b|0}if(!(c[m>>2]|0)){c[n>>2]=2049;c[l>>2]=Di(c[j>>2]|0,c[(c[h>>2]|0)+172>>2]|0,c[(c[h>>2]|0)+64>>2]|0,c[n>>2]|0,n)|0}if(!(c[l>>2]|0)){a[k>>0]=0;b=Ei(c[(c[h>>2]|0)+64>>2]|0,k,1,0,0)|0;c[l>>2]=b;c[l>>2]=(c[l>>2]|0)==522?0:b;if(!(c[m>>2]|0))Rh(c[(c[h>>2]|0)+64>>2]|0)|0;c[c[f>>2]>>2]=(d[k>>0]|0)!=0&1;b=c[l>>2]|0;i=g;return b|0}else{if((c[l>>2]|0)!=14){b=c[l>>2]|0;i=g;return b|0}c[c[f>>2]>>2]=1;c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}return 0}function MA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ub[c[38640+128>>2]&31](c[(c[d>>2]|0)+40>>2]|0)|0;i=b;return a|0}function NA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;e=f+24|0;j=f+20|0;h=f+16|0;g=f+12|0;k=f;d=f+8|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=VA(c[(c[j>>2]|0)+208>>2]|0)|0;if(!(c[g>>2]|0)){a=k;c[a>>2]=0;c[a+4>>2]=0;if((c[c[(c[j>>2]|0)+60>>2]>>2]|0)!=0?(c[d>>2]=Gg(c[(c[j>>2]|0)+60>>2]|0,k)|0,(c[d>>2]|0)!=0):0){c[e>>2]=c[d>>2];a=c[e>>2]|0;i=f;return a|0}a=k;k=c[(c[j>>2]|0)+152>>2]|0;k=bF(c[a>>2]|0,c[a+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;k=ZE(k|0,D|0,1,0)|0;a=c[(c[j>>2]|0)+152>>2]|0;a=jF(k|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;c[g>>2]=a}if((c[g>>2]|0)>>>0>(c[(c[j>>2]|0)+156>>2]|0)>>>0)c[(c[j>>2]|0)+156>>2]=c[g>>2];c[c[h>>2]>>2]=c[g>>2];c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}function OA(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e+4|0;k=e;c[h>>2]=b;c[g>>2]=0;do if(!(a[(c[h>>2]|0)+12>>0]|0)){c[g>>2]=NA(c[h>>2]|0,k)|0;if(c[g>>2]|0){c[f>>2]=c[g>>2];l=c[f>>2]|0;i=e;return l|0}l=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+212>>2]|0;if(!(c[k>>2]|0)){l=_h(l,b,0)|0;c[g>>2]=l;c[g>>2]=(c[g>>2]|0)==5898?0:l;c[j>>2]=0}else c[g>>2]=vi(l,b,0,j)|0;if(!(c[g>>2]|0)){k=c[h>>2]|0;if(c[j>>2]|0){c[g>>2]=RA(k,0)|0;break}if((d[k+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[f>>2]=c[g>>2];l=c[f>>2]|0;i=e;return l|0}function PA(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[f>>2]=0;oj(c[(c[e>>2]|0)+208>>2]|0);c[d>>2]=QA(c[(c[e>>2]|0)+208>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=b;return f|0}Ig(c[e>>2]|0);f=c[d>>2]|0;i=b;return f|0}function QA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;do{j=c[f>>2]|0;b=c[g>>2]|0;a=(c[h>>2]|0)+1|0;c[h>>2]=a;c[e>>2]=nk(j,b,0,a)|0}while((c[e>>2]|0)==-1);i=d;return c[e>>2]|0}function RA(b,d){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+12|0;j=h+8|0;k=h+4|0;f=h;c[j>>2]=b;c[k>>2]=d;c[f>>2]=0;do if((a[(c[j>>2]|0)+12>>0]|0)==0?(c[(c[j>>2]|0)+208>>2]|0)==0:0)if(bA(c[j>>2]|0)|0){Rh(c[(c[j>>2]|0)+64>>2]|0)|0;c[f>>2]=SA(c[j>>2]|0)|0;if(c[f>>2]|0)break;a[(c[j>>2]|0)+5>>0]=5;a[(c[j>>2]|0)+16>>0]=0;break}else{c[g>>2]=14;b=c[g>>2]|0;i=h;return b|0}else e=7;while(0);if((e|0)==7)c[c[k>>2]>>2]=1;c[g>>2]=c[f>>2];b=c[g>>2]|0;i=h;return b|0}function SA(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=TA(c[e>>2]|0)|0;if(c[f>>2]|0){e=c[e>>2]|0;Lg(e);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+160|0;c[f>>2]=UA(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+60>>2]|0,c[(c[e>>2]|0)+212>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+208|0)|0;e=c[e>>2]|0;Lg(e);f=c[f>>2]|0;i=g;return f|0}function TA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=hk(c[e>>2]|0,4)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=b;return e|0}ei(c[e>>2]|0,1)|0;e=c[d>>2]|0;i=b;return e|0}function UA(d,e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+48|0;m=t+44|0;s=t+40|0;r=t+36|0;u=t+32|0;v=t+28|0;l=t;p=t+24|0;n=t+20|0;o=t+16|0;w=t+12|0;q=t+8|0;c[s>>2]=d;c[r>>2]=e;c[u>>2]=f;c[v>>2]=g;d=l;c[d>>2]=h;c[d+4>>2]=j;c[p>>2]=k;c[c[p>>2]>>2]=0;c[o>>2]=Mc(112+(c[(c[s>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=7;d=c[m>>2]|0;i=t;return d|0}c[c[o>>2]>>2]=c[s>>2];c[(c[o>>2]|0)+8>>2]=(c[o>>2]|0)+112;c[(c[o>>2]|0)+4>>2]=c[r>>2];b[(c[o>>2]|0)+40>>1]=-1;f=l;e=c[f+4>>2]|0;d=(c[o>>2]|0)+16|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[(c[o>>2]|0)+100>>2]=c[u>>2];a[(c[o>>2]|0)+48>>0]=1;a[(c[o>>2]|0)+49>>0]=1;a[(c[o>>2]|0)+43>>0]=(c[v>>2]|0)!=0?2:0;c[w>>2]=524294;c[n>>2]=Di(c[s>>2]|0,c[u>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[w>>2]|0,w)|0;if((c[n>>2]|0)==0?(c[w>>2]&1|0)!=0:0)a[(c[o>>2]|0)+46>>0]=1;if(c[n>>2]|0){tj(c[o>>2]|0,0);Rh(c[(c[o>>2]|0)+8>>2]|0)|0;hc(c[o>>2]|0)}else{c[q>>2]=Ai(c[r>>2]|0)|0;if(c[q>>2]&1024)a[(c[o>>2]|0)+48>>0]=0;if(c[q>>2]&4096)a[(c[o>>2]|0)+49>>0]=0;c[c[p>>2]>>2]=c[o>>2]}c[m>>2]=c[n>>2];d=c[m>>2]|0;i=t;return d|0}function VA(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=a;if((c[f>>2]|0)!=0?(b[(c[f>>2]|0)+40>>1]|0)>=0:0){c[e>>2]=c[(c[f>>2]|0)+72>>2];f=c[e>>2]|0;i=d;return f|0}c[e>>2]=0;f=c[e>>2]|0;i=d;return f|0}function WA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+36>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function XA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+176|0;d=b+168|0;e=b+164|0;g=b+160|0;f=b;c[d>>2]=a;_E(f|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[e>>2]=0;while(1){if(!(c[f+(c[e>>2]<<2)>>2]|0))break;c[d>>2]=_A(c[f+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[f+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}c[f+(c[e>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[g>>2]}c[d>>2]=0;c[e>>2]=0;while(1){a=c[d>>2]|0;if((c[e>>2]|0)>>>0>=40)break;c[d>>2]=_A(a,c[f+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}i=b;return a|0}function YA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;e=b+12|0;g=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[g>>2]=1;while(1){a=c[d>>2]|0;if(!(c[e>>2]|0))break;c[f>>2]=a;c[d>>2]=c[e>>2];c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+12>>2]=c[f>>2];a=aB(e,c[g>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=a;c[g>>2]=(c[g>>2]|0)+1}i=b;return a|0}function ZA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;f=g+4|0;h=g;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;d=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){ZA(c[d+12>>2]|0,c[j>>2]|0,h);c[(c[h>>2]|0)+8>>2]=c[e>>2]}else c[c[j>>2]>>2]=d;h=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){ZA(c[h+8>>2]|0,(c[e>>2]|0)+8|0,c[f>>2]|0);i=g;return}else{c[c[f>>2]>>2]=h;i=g;return}}function _A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;h=g+20|0;f=g;e=g+16|0;c[d>>2]=a;c[h>>2]=b;c[e>>2]=f;while(1){if(c[d>>2]|0)a=(c[h>>2]|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;k=c[b+4>>2]|0;a=c[h>>2]|0;j=c[a+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)){c[(c[e>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];continue}j=c[h>>2]|0;b=c[j+4>>2]|0;k=c[d>>2]|0;a=c[k+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[e>>2]|0)+8>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+8>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(b){c[(c[e>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=g;return k|0}else{c[(c[e>>2]|0)+8>>2]=c[h>>2];k=f+8|0;k=c[k>>2]|0;i=g;return k|0}return 0}function $A(a){a=a|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;h=d;c[g>>2]=a;do if(!(e[(c[g>>2]|0)+24>>1]|0)){c[h>>2]=Qe(c[(c[g>>2]|0)+4>>2]|0,1016,0)|0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[c[g>>2]>>2];c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+16>>2]=(c[h>>2]|0)+8;b[(c[g>>2]|0)+24>>1]=63;break}c[f>>2]=0;h=c[f>>2]|0;i=d;return h|0}while(0);h=(c[g>>2]|0)+24|0;b[h>>1]=(b[h>>1]|0)+ -1<<16>>16;g=(c[g>>2]|0)+16|0;h=c[g>>2]|0;c[g>>2]=h+16;c[f>>2]=h;h=c[f>>2]|0;i=d;return h|0}function aB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;g=d+12|0;h=d+8|0;f=d+4|0;j=d;c[g>>2]=a;c[h>>2]=b;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}b=c[g>>2]|0;if((c[h>>2]|0)==1){c[f>>2]=c[b>>2];c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}c[j>>2]=aB(b,(c[h>>2]|0)-1|0)|0;c[f>>2]=c[c[g>>2]>>2];j=c[j>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=j;a=c[e>>2]|0;i=d;return a|0}else{c[(c[f>>2]|0)+12>>2]=j;c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];a=aB(c[g>>2]|0,(c[h>>2]|0)-1|0)|0;c[(c[f>>2]|0)+8>>2]=a;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}return 0}function bB(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;if(!((e[(c[f>>2]|0)+26>>1]|0)&1)){a=XA(c[(c[f>>2]|0)+8>>2]|0)|0;c[(c[f>>2]|0)+8>>2]=a}f=(c[f>>2]|0)+26|0;b[f>>1]=e[f>>1]|0|2;i=d;return}function cB(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function dB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fg(c[(c[d>>2]|0)+204>>2]|0)|0;i=b;return a|0}function eB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function fB(b,e,f,g){b=b|0;e=e|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;o=i;i=i+64|0;l=o;n=o+52|0;t=o+48|0;h=o+44|0;k=o+40|0;u=o+36|0;m=o+32|0;j=o+28|0;s=o+24|0;p=o+20|0;r=o+16|0;q=o+12|0;c[n>>2]=b;c[t>>2]=e;c[h>>2]=f;c[k>>2]=g;c[m>>2]=c[k>>2];c[j>>2]=c[h>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+ -1;if((b|0)<=0){p=23;break}if(!(c[(c[n>>2]|0)+16>>2]|0)){p=23;break}g=c[n>>2]|0;if((c[h>>2]|0)<1){p=5;break}if(kB(g,c[h>>2]|0)|0){p=23;break}if(Xc(c[(c[n>>2]|0)+4>>2]|0,c[h>>2]|0,s,0)|0){p=8;break}c[p>>2]=Zc(c[s>>2]|0)|0;do if(!(c[t>>2]|0)){if((c[k>>2]|0)>0?(d[(c[c[n>>2]>>2]|0)+17>>0]|0)!=0:0){c[u>>2]=Hh(c[p>>2]|0)|0;gB(c[n>>2]|0,c[u>>2]|0,4,c[h>>2]|0)}}else{c[r>>2]=Hh((c[p>>2]|0)+4|0)|0;if(a[(c[c[n>>2]>>2]|0)+17>>0]|0)gB(c[n>>2]|0,c[h>>2]|0,2,0);if((c[r>>2]|0)>(((c[(c[c[n>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[n>>2]|0;c[l>>2]=c[h>>2];jB(b,34368,l);c[k>>2]=(c[k>>2]|0)+ -1;break}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;c[q>>2]=Hh((c[p>>2]|0)+(8+(c[u>>2]<<2))|0)|0;if(a[(c[c[n>>2]>>2]|0)+17>>0]|0)gB(c[n>>2]|0,c[q>>2]|0,2,0);kB(c[n>>2]|0,c[q>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}c[k>>2]=(c[k>>2]|0)-(c[r>>2]|0)}while(0);c[h>>2]=Hh(c[p>>2]|0)|0;_c(c[s>>2]|0)}if((p|0)==5){e=c[m>>2]|0;b=c[j>>2]|0;c[l>>2]=(c[k>>2]|0)+1;c[l+4>>2]=e;c[l+8>>2]=b;jB(g,34280,l);i=o;return}else if((p|0)==8){b=c[n>>2]|0;c[l>>2]=c[h>>2];jB(b,34344,l);i=o;return}else if((p|0)==23){i=o;return}}function gB(b,e,f,g){b=b|0;e=e|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;l=i;i=i+48|0;k=l;n=l+36|0;j=l+32|0;h=l+41|0;o=l+28|0;m=l+24|0;p=l+40|0;q=l+20|0;c[n>>2]=b;c[j>>2]=e;a[h>>0]=f;c[o>>2]=g;c[m>>2]=Qw(c[c[n>>2]>>2]|0,c[j>>2]|0,p,q)|0;if(c[m>>2]|0){if((c[m>>2]|0)==7|(c[m>>2]|0)==3082)c[(c[n>>2]|0)+24>>2]=1;b=c[n>>2]|0;c[k>>2]=c[j>>2];jB(b,34192,k);i=l;return}if((d[p>>0]|0|0)==(d[h>>0]|0|0)?(c[q>>2]|0)==(c[o>>2]|0):0){i=l;return}b=c[n>>2]|0;n=d[h>>0]|0;o=c[o>>2]|0;f=d[p>>0]|0;e=c[q>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=n;c[k+8>>2]=o;c[k+12>>2]=f;c[k+16>>2]=e;jB(b,34224,k);i=l;return}function hB(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,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;G=i;i=i+192|0;t=G+40|0;m=G+180|0;o=G+176|0;z=G+172|0;M=G+168|0;K=G+164|0;u=G+160|0;w=G+156|0;V=G+152|0;r=G+148|0;O=G+144|0;U=G+140|0;v=G+136|0;y=G+132|0;E=G+128|0;F=G+124|0;x=G+120|0;I=G+116|0;D=G+112|0;k=G+108|0;J=G+32|0;L=G+24|0;n=G+104|0;p=G+100|0;q=G+96|0;P=G+92|0;S=G+88|0;T=G;R=G+84|0;Q=G+80|0;H=G+76|0;A=G+72|0;B=G+68|0;C=G+64|0;N=G+60|0;s=G+56|0;c[o>>2]=f;c[z>>2]=g;c[M>>2]=h;c[K>>2]=j;c[k>>2]=0;f=J;c[f>>2]=0;c[f+4>>2]=0;f=L;c[f>>2]=0;c[f+4>>2]=0;c[n>>2]=c[(c[o>>2]|0)+28>>2];c[p>>2]=c[(c[o>>2]|0)+32>>2];c[q>>2]=c[(c[o>>2]|0)+36>>2];c[I>>2]=c[c[o>>2]>>2];c[D>>2]=c[(c[I>>2]|0)+36>>2];if(!(c[z>>2]|0)){c[m>>2]=0;f=c[m>>2]|0;i=G;return f|0}if(kB(c[o>>2]|0,c[z>>2]|0)|0){c[m>>2]=0;f=c[m>>2]|0;i=G;return f|0}c[(c[o>>2]|0)+28>>2]=33496;c[(c[o>>2]|0)+32>>2]=c[z>>2];f=Bw(c[I>>2]|0,c[z>>2]|0,u,0)|0;c[V>>2]=f;do if(f){f=c[o>>2]|0;c[t>>2]=c[V>>2];jB(f,33512,t);c[r>>2]=-1}else{a[c[u>>2]>>0]=0;f=Sj(c[u>>2]|0)|0;c[V>>2]=f;if(f){f=c[o>>2]|0;c[t>>2]=c[V>>2];jB(f,33552,t);Rk(c[u>>2]|0);c[r>>2]=-1;break}c[r>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[u>>2]|0)+18>>1]|0))break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+28>>2]=33592;c[(c[o>>2]|0)+32>>2]=c[z>>2];c[(c[o>>2]|0)+36>>2]=c[w>>2];c[P>>2]=(c[(c[u>>2]|0)+56>>2]|0)+(e[(c[u>>2]|0)+20>>1]&(d[(c[(c[u>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[u>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));Kw(c[u>>2]|0,c[P>>2]|0,T);c[S>>2]=c[T+12>>2];if(a[(c[u>>2]|0)+2>>0]|0){j=T;V=c[j>>2]|0;j=c[j+4>>2]|0;if(c[w>>2]|0){f=L;g=c[f+4>>2]|0;if((j|0)<(g|0)|((j|0)==(g|0)?V>>>0<=(c[f>>2]|0)>>>0:0)){f=c[o>>2]|0;W=T;V=c[W+4>>2]|0;h=L;j=c[h>>2]|0;h=c[h+4>>2]|0;g=t;c[g>>2]=c[W>>2];c[g+4>>2]=V;g=t+8|0;c[g>>2]=j;c[g+4>>2]=h;jB(f,33624,t)}}else{W=L;c[W>>2]=V;c[W+4>>2]=j;W=J;c[W>>2]=V;c[W+4>>2]=j}g=T;f=c[g+4>>2]|0;W=L;c[W>>2]=c[g>>2];c[W+4>>2]=f}if((c[S>>2]|0)>>>0>(e[T+16>>1]|0)>>>0?((c[P>>2]|0)+(e[T+18>>1]|0)|0)>>>0<=((c[(c[u>>2]|0)+56>>2]|0)+(c[(c[I>>2]|0)+36>>2]|0)|0)>>>0:0){c[R>>2]=(((c[S>>2]|0)-(e[T+16>>1]|0)+(c[D>>2]|0)-5|0)>>>0)/(((c[D>>2]|0)-4|0)>>>0)|0;c[Q>>2]=Hh((c[P>>2]|0)+(e[T+18>>1]|0)|0)|0;if(a[(c[I>>2]|0)+17>>0]|0)gB(c[o>>2]|0,c[Q>>2]|0,3,c[z>>2]|0);fB(c[o>>2]|0,0,c[Q>>2]|0,c[R>>2]|0)}if(!(a[(c[u>>2]|0)+5>>0]|0)){c[U>>2]=Hh(c[P>>2]|0)|0;if(a[(c[I>>2]|0)+17>>0]|0)gB(c[o>>2]|0,c[U>>2]|0,5,c[z>>2]|0);c[O>>2]=hB(c[o>>2]|0,c[U>>2]|0,J,(c[w>>2]|0)==0?0:L)|0;if((c[w>>2]|0)>0?(c[O>>2]|0)!=(c[r>>2]|0):0)jB(c[o>>2]|0,33672,t);c[r>>2]=c[O>>2]}c[w>>2]=(c[w>>2]|0)+1}if(!(a[(c[u>>2]|0)+5>>0]|0)){c[U>>2]=Hh((c[(c[u>>2]|0)+56>>2]|0)+((d[(c[u>>2]|0)+6>>0]|0)+8)|0)|0;c[(c[o>>2]|0)+28>>2]=33704;c[(c[o>>2]|0)+32>>2]=c[z>>2];if(a[(c[I>>2]|0)+17>>0]|0)gB(c[o>>2]|0,c[U>>2]|0,5,c[z>>2]|0);hB(c[o>>2]|0,c[U>>2]|0,0,(b[(c[u>>2]|0)+18>>1]|0)!=0?L:0)|0}c[(c[o>>2]|0)+28>>2]=33496;c[(c[o>>2]|0)+32>>2]=c[z>>2];do if((d[(c[u>>2]|0)+5>>0]|0)!=0?(d[(c[u>>2]|0)+2>>0]|0)!=0:0){O=(c[K>>2]|0)!=0;if(!(c[M>>2]|0)){if(!O)break;f=J;h=c[f+4>>2]|0;W=c[K>>2]|0;g=c[W+4>>2]|0;if(!((h|0)<(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0<=(c[W>>2]|0)>>>0:0)))break;W=c[o>>2]|0;V=J;j=c[V+4>>2]|0;g=c[K>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0;f=t;c[f>>2]=c[V>>2];c[f+4>>2]=j;f=t+8|0;c[f>>2]=h;c[f+4>>2]=g;jB(W,33928,t);break}if(!O){f=L;h=c[f+4>>2]|0;W=c[M>>2]|0;g=c[W+4>>2]|0;if(!((h|0)>(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0>(c[W>>2]|0)>>>0:0)))break;W=c[o>>2]|0;V=L;j=c[V+4>>2]|0;g=c[M>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0;f=t;c[f>>2]=c[V>>2];c[f+4>>2]=j;f=t+8|0;c[f>>2]=h;c[f+4>>2]=g;jB(W,33736,t);break}f=J;h=c[f+4>>2]|0;W=c[M>>2]|0;g=c[W+4>>2]|0;if((h|0)<(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0<=(c[W>>2]|0)>>>0:0)){W=c[o>>2]|0;V=J;j=c[V+4>>2]|0;g=c[M>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0;f=t;c[f>>2]=c[V>>2];c[f+4>>2]=j;f=t+8|0;c[f>>2]=h;c[f+4>>2]=g;jB(W,33800,t)}f=L;h=c[f+4>>2]|0;W=c[K>>2]|0;g=c[W+4>>2]|0;if((h|0)>(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0>(c[W>>2]|0)>>>0:0)){W=c[o>>2]|0;V=L;j=c[V+4>>2]|0;g=c[K>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0;f=t;c[f>>2]=c[V>>2];c[f+4>>2]=j;f=t+8|0;c[f>>2]=h;c[f+4>>2]=g;jB(W,33864,t)}g=L;f=c[g+4>>2]|0;W=c[M>>2]|0;c[W>>2]=c[g>>2];c[W+4>>2]=f}while(0);c[x>>2]=c[(c[u>>2]|0)+56>>2];c[y>>2]=d[(c[u>>2]|0)+6>>0];c[k>>2]=Hg(c[(c[I>>2]|0)+32>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=0;if(c[k>>2]|0){c[H>>2]=((d[(c[x>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[x>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;_E((c[k>>2]|0)+(c[H>>2]|0)|0,0,(c[D>>2]|0)-(c[H>>2]|0)|0)|0;_E(c[k>>2]|0,1,c[H>>2]|0)|0;c[F>>2]=d[(c[x>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[x>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[E>>2]=(c[y>>2]|0)+12-(d[(c[u>>2]|0)+5>>0]<<2);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[F>>2]|0))break;c[A>>2]=d[(c[x>>2]|0)+((c[E>>2]|0)+(c[w>>2]<<1))>>0]<<8|d[(c[x>>2]|0)+((c[E>>2]|0)+(c[w>>2]<<1))+1>>0];c[B>>2]=65536;if((c[A>>2]|0)<=((c[D>>2]|0)-4|0))c[B>>2]=(lB(c[u>>2]|0,(c[x>>2]|0)+(c[A>>2]|0)|0)|0)&65535;a:do if(((c[A>>2]|0)+(c[B>>2]|0)-1|0)>=(c[D>>2]|0)){c[(c[o>>2]|0)+28>>2]=0;W=c[o>>2]|0;f=c[z>>2]|0;c[t>>2]=c[w>>2];c[t+4>>2]=f;jB(W,33992,t)}else{c[C>>2]=(c[A>>2]|0)+(c[B>>2]|0)-1;while(1){if((c[C>>2]|0)<(c[A>>2]|0))break a;W=(c[k>>2]|0)+(c[C>>2]|0)|0;a[W>>0]=(a[W>>0]|0)+1<<24>>24;c[C>>2]=(c[C>>2]|0)+ -1}}while(0);c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=d[(c[x>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[x>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[w>>2]|0)<=0)break;c[N>>2]=d[(c[x>>2]|0)+((c[w>>2]|0)+2)>>0]<<8|d[(c[x>>2]|0)+((c[w>>2]|0)+2)+1>>0];c[s>>2]=(c[w>>2]|0)+(c[N>>2]|0)-1;while(1){if((c[s>>2]|0)<(c[w>>2]|0))break;W=(c[k>>2]|0)+(c[s>>2]|0)|0;a[W>>0]=(a[W>>0]|0)+1<<24>>24;c[s>>2]=(c[s>>2]|0)+ -1}c[s>>2]=d[(c[x>>2]|0)+(c[w>>2]|0)>>0]<<8|d[(c[x>>2]|0)+(c[w>>2]|0)+1>>0];c[w>>2]=c[s>>2]}c[v>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;if(a[(c[k>>2]|0)+(c[w>>2]|0)>>0]|0){if((a[(c[k>>2]|0)+(c[w>>2]|0)>>0]|0)>1){l=72;break}}else c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+1}if((l|0)==72){W=c[o>>2]|0;f=c[z>>2]|0;c[t>>2]=c[w>>2];c[t+4>>2]=f;jB(W,34040,t)}if((c[v>>2]|0)!=(d[(c[x>>2]|0)+((c[y>>2]|0)+7)>>0]|0)){W=c[o>>2]|0;g=d[(c[x>>2]|0)+((c[y>>2]|0)+7)>>0]|0;f=c[z>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=g;c[t+8>>2]=f;jB(W,34080,t)}}else c[(c[o>>2]|0)+24>>2]=1;Kg(c[k>>2]|0);Rk(c[u>>2]|0)}while(0);c[(c[o>>2]|0)+28>>2]=c[n>>2];c[(c[o>>2]|0)+32>>2]=c[p>>2];c[(c[o>>2]|0)+36>>2]=c[q>>2];c[m>>2]=(c[r>>2]|0)+1;W=c[m>>2]|0;i=G;return W|0}function iB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return(d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function jB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+240|0;k=f;g=f+28|0;h=f+24|0;j=f+8|0;l=f+32|0;c[g>>2]=a;c[h>>2]=b;if(!(c[(c[g>>2]|0)+16>>2]|0)){i=f;return}a=(c[g>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1;a=(c[g>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=e;if(c[(c[g>>2]|0)+52>>2]|0)Vm((c[g>>2]|0)+40|0,33488,1);if(c[(c[g>>2]|0)+28>>2]|0){a=c[(c[g>>2]|0)+28>>2]|0;b=c[(c[g>>2]|0)+36>>2]|0;c[k>>2]=c[(c[g>>2]|0)+32>>2];c[k+4>>2]=b;sc(200,l,a,k)|0;ss((c[g>>2]|0)+40|0,l)}oc((c[g>>2]|0)+40|0,1,c[h>>2]|0,j);if((d[(c[g>>2]|0)+65>>0]|0|0)!=1){i=f;return}c[(c[g>>2]|0)+24>>2]=1;i=f;return}function kB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d;f=d+12|0;h=d+8|0;g=d+4|0;c[h>>2]=a;c[g>>2]=b;do if(c[g>>2]|0){b=c[h>>2]|0;a=c[g>>2]|0;if((c[g>>2]|0)>>>0>(c[(c[h>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;jB(b,34136,e);c[f>>2]=1;break}a=(iB(b,a)|0)!=0;h=c[h>>2]|0;g=c[g>>2]|0;if(a){c[e>>2]=g;jB(h,34160,e);c[f>>2]=1;break}else{eB(h,g);c[f>>2]=0;break}}else c[f>>2]=1;while(0);i=d;return c[f>>2]|0}function lB(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;l=i;i=i+32|0;k=l+24|0;o=l+20|0;j=l+16|0;m=l+12|0;h=l+8|0;n=l+4|0;p=l;c[o>>2]=f;c[j>>2]=g;c[m>>2]=(c[j>>2]|0)+(d[(c[o>>2]|0)+7>>0]|0);g=c[m>>2]|0;if(a[(c[o>>2]|0)+4>>0]|0){c[h>>2]=g+9;do{f=c[m>>2]|0;c[m>>2]=f+1;if(!(d[f>>0]&128))break}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0);b[k>>1]=(c[m>>2]|0)-(c[j>>2]|0);f=b[k>>1]|0;i=l;return f|0}c[n>>2]=d[g>>0];a:do if((c[n>>2]|0)>>>0>=128){c[h>>2]=(c[m>>2]|0)+9;c[n>>2]=c[n>>2]&127;do{g=c[n>>2]<<7;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[n>>2]=g|d[f>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[o>>2]|0)+2>>0]|0){c[h>>2]=(c[m>>2]|0)+9;do{f=c[m>>2]|0;c[m>>2]=f+1;if(!(d[f>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0)}while(0);if((c[n>>2]|0)>>>0<=(e[(c[o>>2]|0)+10>>1]|0)>>>0){f=(c[n>>2]|0)+((c[m>>2]|0)-(c[j>>2]|0))|0;c[n>>2]=f;c[n>>2]=(c[n>>2]|0)>>>0<4?4:f}else{c[p>>2]=e[(c[o>>2]|0)+12>>1];c[n>>2]=(c[p>>2]|0)+((((c[n>>2]|0)-(c[p>>2]|0)|0)>>>0)%(((c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[n>>2]|0)>>>0>(e[(c[o>>2]|0)+10>>1]|0)>>>0)c[n>>2]=c[p>>2];c[n>>2]=(c[n>>2]|0)+(4+((c[m>>2]|0)-(c[j>>2]|0)&65535))}b[k>>1]=c[n>>2];f=b[k>>1]|0;i=l;return f|0}function mB(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){e=c[d>>2]|0;hc(e);i=b;return}c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0))break;qB((c[(c[d>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0)|0);c[e>>2]=(c[e>>2]|0)+1}e=c[d>>2]|0;hc(e);i=b;return}function nB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Xb(c[f>>2]|0,c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=0;oB(0,c[(c[e>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+16>>2]=0;if(c[(c[e>>2]|0)+32>>2]|0){pB(c[(c[e>>2]|0)+32>>2]|0)|0;c[(c[e>>2]|0)+32>>2]=0;f=(c[e>>2]|0)+40|0;c[f>>2]=0;c[f+4>>2]=0}if(!(c[(c[e>>2]|0)+48>>2]|0)){i=d;return}pB(c[(c[e>>2]|0)+48>>2]|0)|0;c[(c[e>>2]|0)+48>>2]=0;f=(c[e>>2]|0)+56|0;c[f>>2]=0;c[f+4>>2]=0;i=d;return}function oB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;h=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Xb(c[g>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=d;return}function pB(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[b>>2]=Rh(c[e>>2]|0)|0;hc(c[e>>2]|0);i=d;return c[b>>2]|0}function qB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hc(c[(c[d>>2]|0)+28>>2]|0);hc(c[(c[d>>2]|0)+36>>2]|0);if(c[(c[d>>2]|0)+44>>2]|0)hj(c[(c[d>>2]|0)+24>>2]|0,0,0,c[(c[d>>2]|0)+44>>2]|0)|0;rB(c[(c[d>>2]|0)+48>>2]|0);d=(c[d>>2]|0)+0|0;a=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=b;return}function rB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}mB(c[(c[d>>2]|0)+4>>2]|0);hc(c[d>>2]|0);i=b;return}function sB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;k=h;l=h+16|0;j=h+12|0;m=h+8|0;c[n>>2]=b;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=g;c[m>>2]=c[(c[n>>2]|0)+4>>2];c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;do if((d[(c[j>>2]|0)+72>>0]|0)&16){if((c[l>>2]|0)==0?(m=(c[j>>2]|0)+24|0,n=k,!((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0)):0)break;a[(c[j>>2]|0)+73>>0]=0}while(0);c[j>>2]=c[(c[j>>2]|0)+8>>2]}i=h;return}function tB(b,f,g,h){b=b|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,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+48|0;j=o+36|0;r=o+32|0;v=o+28|0;n=o+24|0;q=o+20|0;l=o+16|0;k=o+12|0;p=o+8|0;u=o+4|0;m=o;t=o+40|0;c[r>>2]=b;c[v>>2]=f;c[n>>2]=g;c[q>>2]=h;b=c[v>>2]|0;if(b>>>0>(Aw(c[r>>2]|0)|0)>>>0){c[j>>2]=kj(59756)|0;b=c[j>>2]|0;i=o;return b|0}c[k>>2]=zw(c[r>>2]|0,c[v>>2]|0,l,0)|0;if(c[k>>2]|0){c[j>>2]=c[k>>2];b=c[j>>2]|0;i=o;return b|0}c[m>>2]=d[(c[l>>2]|0)+6>>0];c[u>>2]=0;while(1){v=c[l>>2]|0;if((c[u>>2]|0)>=(e[(c[l>>2]|0)+18>>1]|0)){s=11;break}c[p>>2]=(c[v+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));if((a[(c[l>>2]|0)+5>>0]|0)==0?(f=c[r>>2]|0,b=Hh(c[p>>2]|0)|0,c[k>>2]=tB(f,b,1,c[q>>2]|0)|0,(c[k>>2]|0)!=0):0)break;c[k>>2]=uB(c[l>>2]|0,c[p>>2]|0,t)|0;if(c[k>>2]|0)break;c[u>>2]=(c[u>>2]|0)+1}do if((s|0)==11){if(a[v+5>>0]|0){if(c[q>>2]|0){b=c[q>>2]|0;c[b>>2]=(c[b>>2]|0)+(e[(c[l>>2]|0)+18>>1]|0)}}else{f=c[r>>2]|0;b=Hh((c[(c[l>>2]|0)+56>>2]|0)+((c[m>>2]|0)+8)|0)|0;c[k>>2]=tB(f,b,1,c[q>>2]|0)|0;if(c[k>>2]|0)break}p=c[l>>2]|0;if(c[n>>2]|0){vB(p,k);break}b=gd(c[p+68>>2]|0)|0;c[k>>2]=b;if(!b)wB(c[l>>2]|0,d[(c[(c[l>>2]|0)+56>>2]|0)+(c[m>>2]|0)>>0]|8)}while(0);Rk(c[l>>2]|0);c[j>>2]=c[k>>2];b=c[j>>2]|0;i=o;return b|0}function uB(a,d,f){a=a|0;d=d|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;p=i;i=i+80|0;j=p+64|0;t=p+60|0;q=p+56|0;u=p+52|0;m=p+48|0;r=p;n=p+44|0;k=p+40|0;g=p+36|0;s=p+32|0;o=p+28|0;l=p+24|0;c[t>>2]=a;c[q>>2]=d;c[u>>2]=f;c[m>>2]=c[(c[t>>2]|0)+52>>2];Kw(c[t>>2]|0,c[q>>2]|0,r);b[c[u>>2]>>1]=b[r+20>>1]|0;if(!(e[r+18>>1]|0)){c[j>>2]=0;u=c[j>>2]|0;i=p;return u|0}if(((c[q>>2]|0)+(e[r+18>>1]|0)+3|0)>>>0>((c[(c[t>>2]|0)+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]|0)|0)>>>0){c[j>>2]=kj(57786)|0;u=c[j>>2]|0;i=p;return u|0}c[n>>2]=Hh((c[q>>2]|0)+(e[r+18>>1]|0)|0)|0;c[s>>2]=(c[(c[m>>2]|0)+36>>2]|0)-4;c[g>>2]=(((c[r+12>>2]|0)-(e[r+16>>1]|0)+(c[s>>2]|0)-1|0)>>>0)/((c[s>>2]|0)>>>0)|0;while(1){u=c[g>>2]|0;c[g>>2]=u+ -1;if(!u){h=23;break}c[o>>2]=0;c[l>>2]=0;if((c[n>>2]|0)>>>0<2){h=9;break}u=c[n>>2]|0;if(u>>>0>(Aw(c[m>>2]|0)|0)>>>0){h=9;break}if((c[g>>2]|0)!=0?(c[k>>2]=Ow(c[m>>2]|0,c[n>>2]|0,l,o)|0,(c[k>>2]|0)!=0):0){h=12;break}if((c[l>>2]|0)==0?(u=zB(c[m>>2]|0,c[n>>2]|0)|0,c[l>>2]=u,(u|0)==0):0)h=17;else if((Rj(c[(c[l>>2]|0)+68>>2]|0)|0)!=1)c[k>>2]=kj(57820)|0;else h=17;if((h|0)==17){h=0;c[k>>2]=xB(c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0}if(c[l>>2]|0)_c(c[(c[l>>2]|0)+68>>2]|0);if(c[k>>2]|0){h=21;break}c[n>>2]=c[o>>2]}if((h|0)==9){c[j>>2]=kj(57800)|0;u=c[j>>2]|0;i=p;return u|0}else if((h|0)==12){c[j>>2]=c[k>>2];u=c[j>>2]|0;i=p;return u|0}else if((h|0)==21){c[j>>2]=c[k>>2];u=c[j>>2]|0;i=p;return u|0}else if((h|0)==23){c[j>>2]=0;u=c[j>>2]|0;i=p;return u|0}return 0}function vB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[c[f>>2]>>2]|0){i=d;return}a=xB(c[(c[e>>2]|0)+52>>2]|0,c[e>>2]|0,c[(c[e>>2]|0)+72>>2]|0)|0;c[c[f>>2]>>2]=a;i=d;return}function wB(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h+12|0;n=h+8|0;m=h+4|0;k=h;o=h+18|0;l=h+16|0;c[j>>2]=f;c[n>>2]=g;c[m>>2]=c[(c[j>>2]|0)+56>>2];c[k>>2]=c[(c[j>>2]|0)+52>>2];a[o>>0]=a[(c[j>>2]|0)+6>>0]|0;if((e[(c[k>>2]|0)+22>>1]|0)&4)_E((c[m>>2]|0)+(d[o>>0]|0)|0,0,(c[(c[k>>2]|0)+36>>2]|0)-(d[o>>0]|0)|0)|0;a[(c[m>>2]|0)+(d[o>>0]|0)>>0]=c[n>>2];b[l>>1]=(d[o>>0]|0)+((c[n>>2]&8|0)==0?12:8);f=(c[m>>2]|0)+((d[o>>0]|0)+1)|0;a[f+0>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[m>>2]|0)+((d[o>>0]|0)+7)>>0]=0;a[(c[m>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[(c[k>>2]|0)+36>>2]|0)>>>8;a[(c[m>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[(c[k>>2]|0)+36>>2];b[(c[j>>2]|0)+16>>1]=(c[(c[k>>2]|0)+36>>2]|0)-(e[l>>1]|0);Tj(c[j>>2]|0,c[n>>2]|0)|0;b[(c[j>>2]|0)+14>>1]=b[l>>1]|0;c[(c[j>>2]|0)+60>>2]=(c[m>>2]|0)+(c[(c[k>>2]|0)+36>>2]|0);c[(c[j>>2]|0)+64>>2]=(c[m>>2]|0)+(e[l>>1]|0);a[(c[j>>2]|0)+1>>0]=0;b[(c[j>>2]|0)+20>>1]=(c[(c[k>>2]|0)+32>>2]|0)-1;b[(c[j>>2]|0)+18>>1]=0;a[c[j>>2]>>0]=1;i=h;return}function xB(b,d,f){b=b|0;d=d|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;q=i;i=i+48|0;k=q+36|0;r=q+32|0;p=q+28|0;h=q+24|0;m=q+20|0;l=q+16|0;n=q+12|0;g=q+8|0;o=q+4|0;j=q;c[k>>2]=b;c[r>>2]=d;c[p>>2]=f;c[h>>2]=0;c[m>>2]=0;c[l>>2]=c[(c[k>>2]|0)+12>>2];if(c[r>>2]|0){c[n>>2]=c[r>>2];yB(c[(c[n>>2]|0)+68>>2]|0)}else c[n>>2]=zB(c[k>>2]|0,c[p>>2]|0)|0;c[g>>2]=gd(c[(c[l>>2]|0)+68>>2]|0)|0;do if(!(c[g>>2]|0)){c[o>>2]=Hh((c[(c[l>>2]|0)+56>>2]|0)+36|0)|0;ck((c[(c[l>>2]|0)+56>>2]|0)+36|0,(c[o>>2]|0)+1|0);if(e[(c[k>>2]|0)+22>>1]&4){if((c[n>>2]|0)==0?(b=Bw(c[k>>2]|0,c[p>>2]|0,n,0)|0,c[g>>2]=b,(b|0)!=0):0)break;b=gd(c[(c[n>>2]|0)+68>>2]|0)|0;c[g>>2]=b;if(b)break;_E(c[(c[n>>2]|0)+56>>2]|0,0,c[(c[(c[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[k>>2]|0)+17>>0]|0)!=0?(yA(c[k>>2]|0,c[p>>2]|0,2,0,g),(c[g>>2]|0)!=0):0)break;if(c[o>>2]|0){c[m>>2]=Hh((c[(c[l>>2]|0)+56>>2]|0)+32|0)|0;c[g>>2]=Bw(c[k>>2]|0,c[m>>2]|0,h,0)|0;if(c[g>>2]|0)break;c[j>>2]=Hh((c[(c[h>>2]|0)+56>>2]|0)+4|0)|0;if((c[j>>2]|0)>>>0>((((c[(c[k>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[g>>2]=kj(57698)|0;break}if((c[j>>2]|0)>>>0<((((c[(c[k>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[g>>2]=gd(c[(c[h>>2]|0)+68>>2]|0)|0;if(c[g>>2]|0)break;ck((c[(c[h>>2]|0)+56>>2]|0)+4|0,(c[j>>2]|0)+1|0);ck((c[(c[h>>2]|0)+56>>2]|0)+(8+(c[j>>2]<<2))|0,c[p>>2]|0);if((c[n>>2]|0)!=0?(e[(c[k>>2]|0)+22>>1]&4|0)==0:0)AB(c[(c[n>>2]|0)+68>>2]|0);c[g>>2]=BB(c[k>>2]|0,c[p>>2]|0)|0;break}}if((c[n>>2]|0)==0?(b=Bw(c[k>>2]|0,c[p>>2]|0,n,0)|0,c[g>>2]=b,0!=(b|0)):0)break;c[g>>2]=gd(c[(c[n>>2]|0)+68>>2]|0)|0;if(!(c[g>>2]|0)){ck(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);ck((c[(c[n>>2]|0)+56>>2]|0)+4|0,0);ck((c[(c[l>>2]|0)+56>>2]|0)+32|0,c[p>>2]|0)}}while(0);if(!(c[n>>2]|0)){b=c[n>>2]|0;Rk(b);b=c[h>>2]|0;Rk(b);b=c[g>>2]|0;i=q;return b|0}a[c[n>>2]>>0]=0;b=c[n>>2]|0;Rk(b);b=c[h>>2]|0;Rk(b);b=c[g>>2]|0;i=q;return b|0}function yB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;CB(c[d>>2]|0);i=b;return}function zB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Hi(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;if(c[h>>2]|0){c[e>>2]=Cw(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;a=c[e>>2]|0;i=d;return a|0}else{c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}return 0}function AB(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(!((e[(c[f>>2]|0)+24>>1]|0)&2)){i=d;return}if(c[(c[g>>2]|0)+96>>2]|0){i=d;return}g=(c[f>>2]|0)+24|0;b[g>>1]=e[g>>1]|0|32;i=d;return}function BB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=0;if((c[(c[g>>2]|0)+60>>2]|0)==0?(a=Vg(c[(c[g>>2]|0)+44>>2]|0)|0,c[(c[g>>2]|0)+60>>2]=a,(c[(c[g>>2]|0)+60>>2]|0)==0):0)c[d>>2]=7;if(c[d>>2]|0){a=c[d>>2]|0;i=e;return a|0}a=c[f>>2]|0;if(a>>>0>(Zg(c[(c[g>>2]|0)+60>>2]|0)|0)>>>0){a=c[d>>2]|0;i=e;return a|0}c[d>>2]=Wg(c[(c[g>>2]|0)+60>>2]|0,c[f>>2]|0)|0;a=c[d>>2]|0;i=e;return a|0}function CB(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;i=d;return}function DB(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,o=0,p=0;m=i;i=i+48|0;g=m+32|0;n=m+28|0;o=m+24|0;p=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;f=m;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[j>>2]=0;c[k>>2]=c[(c[n>>2]|0)+4>>2];if(c[(c[k>>2]|0)+8>>2]|0){c[g>>2]=262;b=c[g>>2]|0;i=m;return b|0}c[h>>2]=Bw(c[k>>2]|0,c[o>>2]|0,j,0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}c[h>>2]=Rz(c[n>>2]|0,c[o>>2]|0,0)|0;if(c[h>>2]|0){Rk(c[j>>2]|0);c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}c[c[p>>2]>>2]=0;do if((c[o>>2]|0)>>>0>1){if(!(a[(c[k>>2]|0)+17>>0]|0)){vB(c[j>>2]|0,h);Rk(c[j>>2]|0);break}Sc(c[n>>2]|0,4,l);e=c[j>>2]|0;do if((c[o>>2]|0)==(c[l>>2]|0)){vB(e,h);Rk(c[j>>2]|0);if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}}else{Rk(e);c[h>>2]=Bw(c[k>>2]|0,c[l>>2]|0,f,0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}c[h>>2]=vA(c[k>>2]|0,c[f>>2]|0,1,0,c[o>>2]|0,0)|0;Rk(c[f>>2]|0);if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}c[f>>2]=0;c[h>>2]=Bw(c[k>>2]|0,c[l>>2]|0,f,0)|0;vB(c[f>>2]|0,h);Rk(c[f>>2]|0);if(!(c[h>>2]|0)){c[c[p>>2]>>2]=c[l>>2];break}c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}while(0);c[l>>2]=(c[l>>2]|0)+ -1;while(1){if((c[l>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[k>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(b=Pw(c[k>>2]|0,c[l>>2]|0)|0,(b|0)!=(c[l>>2]|0)):0)break;c[l>>2]=(c[l>>2]|0)+ -1}c[h>>2]=bd(c[n>>2]|0,4,c[l>>2]|0)|0}else{wB(c[j>>2]|0,9);Rk(c[j>>2]|0)}while(0);c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}function EB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=FB((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function FB(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;g=i;i=i+64|0;h=g+60|0;f=g+56|0;l=g+52|0;e=g+48|0;j=g;k=g+44|0;d=g+40|0;c[h>>2]=a;c[f>>2]=b;c[l>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[e>>2]=0;a=j+0|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[(c[h>>2]|0)+32>>2]|0))c[e>>2]=GB(c[l>>2]|0,0,0,(c[h>>2]|0)+32|0)|0;if(!(c[e>>2]|0))c[e>>2]=HB(c[h>>2]|0,c[f>>2]|0)|0;if(c[e>>2]|0){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;a=(c[h>>2]|0)+40|0;IB(c[(c[h>>2]|0)+32>>2]|0,j,c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);a=(c[h>>2]|0)+28|0;c[a>>2]=(c[a>>2]|0)+1;a=c[(c[f>>2]|0)+8>>2]|0;JB(j,a,((a|0)<0)<<31>>31);c[k>>2]=c[c[f>>2]>>2];while(1){l=c[k>>2]|0;if(!(c[k>>2]|0))break;c[d>>2]=c[l+4>>2];a=c[c[k>>2]>>2]|0;JB(j,a,((a|0)<0)<<31>>31);KB(j,(c[k>>2]|0)+8|0,c[c[k>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))hc(c[k>>2]|0);c[k>>2]=c[d>>2]}c[c[f>>2]>>2]=l;c[e>>2]=LB(j,(c[h>>2]|0)+40|0)|0;a=c[e>>2]|0;i=g;return a|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+24|0;j=f+20|0;g=f+16|0;h=f;c[k>>2]=a;a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[g>>2]=PB(c[c[k>>2]>>2]|0,0,c[j>>2]|0,4126,g)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=f;return k|0}k=h;c[k>>2]=0;c[k+4>>2]=0;rj(c[c[j>>2]>>2]|0,18,h);k=c[g>>2]|0;i=f;return k|0}function HB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;f=j+28|0;m=j+24|0;k=j+20|0;h=j+16|0;l=j+12|0;g=j+8|0;n=j+4|0;e=j;c[m>>2]=a;c[k>>2]=b;c[n>>2]=MB(c[m>>2]|0)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];a=c[f>>2]|0;i=j;return a|0}c[l>>2]=Mc(256,0)|0;if(!(c[l>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=j;return a|0}c[g>>2]=c[c[k>>2]>>2];while(1){if(!(c[g>>2]|0))break;b=c[g>>2]|0;do if(c[(c[k>>2]|0)+4>>2]|0)if((b|0)==(c[(c[k>>2]|0)+4>>2]|0)){c[e>>2]=0;break}else{c[e>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);break}else c[e>>2]=c[b+4>>2];while(0);c[(c[g>>2]|0)+4>>2]=0;c[h>>2]=0;while(1){if(!(c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0))break;NB(c[m>>2]|0,c[g>>2]|0,c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0,g);c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[g>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=64)break;NB(c[m>>2]|0,c[g>>2]|0,c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0,g);c[h>>2]=(c[h>>2]|0)+1}c[c[k>>2]>>2]=c[g>>2];hc(c[l>>2]|0);c[f>>2]=d[(c[(c[m>>2]|0)+12>>2]|0)+7>>0];a=c[f>>2]|0;i=j;return a|0}function IB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+16|0;g=k+12|0;l=k+8|0;h=k;c[j>>2]=a;c[g>>2]=b;c[l>>2]=d;a=h;c[a>>2]=e;c[a+4>>2]=f;f=(c[g>>2]|0)+0|0;e=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));a=c[l>>2]|0;a=gc(a,((a|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+4>>2]=a;if(c[(c[g>>2]|0)+4>>2]|0){b=h;a=c[l>>2]|0;a=kF(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[g>>2]|0)+12>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=h;b=c[(c[g>>2]|0)+12>>2]|0;b=ZE(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[g>>2]|0)+24|0;c[a>>2]=b;c[a+4>>2]=D;c[(c[g>>2]|0)+8>>2]=c[l>>2];c[(c[g>>2]|0)+32>>2]=c[j>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function JB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=oz(g,c[a>>2]|0,c[a+4>>2]|0)|0;KB(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function KB(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,l=0,m=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[h>>2];while(1){if((c[j>>2]|0)<=0){d=9;break}if(c[c[f>>2]>>2]|0){d=9;break}c[k>>2]=c[j>>2];if((c[k>>2]|0)>((c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+16>>2]|0)|0))c[k>>2]=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+16>>2]|0);dF((c[(c[f>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+16>>2]|0)|0,(c[g>>2]|0)+((c[h>>2]|0)-(c[j>>2]|0))|0,c[k>>2]|0)|0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]|0);if((c[(c[f>>2]|0)+16>>2]|0)==(c[(c[f>>2]|0)+8>>2]|0)){l=c[(c[f>>2]|0)+32>>2]|0;d=(c[(c[f>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0;a=(c[(c[f>>2]|0)+16>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0)|0;m=(c[f>>2]|0)+24|0;b=c[(c[f>>2]|0)+12>>2]|0;b=bF(c[m>>2]|0,c[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=id(l,d,a,b,D)|0;c[c[f>>2]>>2]=b;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+12>>2]=0;b=c[(c[f>>2]|0)+8>>2]|0;a=(c[f>>2]|0)+24|0;d=a;b=bF(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[a>>2]=b;c[a+4>>2]=D}c[j>>2]=(c[j>>2]|0)-(c[k>>2]|0)}if((d|0)==9){i=e;return}}function LB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;if(((c[c[f>>2]>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)?(c[(c[f>>2]|0)+16>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0):0){j=c[(c[f>>2]|0)+32>>2]|0;h=(c[(c[f>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0;b=(c[(c[f>>2]|0)+16>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0)|0;k=(c[f>>2]|0)+24|0;a=c[(c[f>>2]|0)+12>>2]|0;a=bF(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=id(j,h,b,a,D)|0;c[c[f>>2]>>2]=a}b=(c[f>>2]|0)+24|0;k=c[(c[f>>2]|0)+16>>2]|0;k=bF(c[b>>2]|0,c[b+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;b=c[g>>2]|0;c[b>>2]=k;c[b+4>>2]=D;hc(c[(c[f>>2]|0)+4>>2]|0);c[e>>2]=c[c[f>>2]>>2];f=(c[f>>2]|0)+0|0;b=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));i=d;return c[e>>2]|0}function MB(d){d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=d;do if(!(c[(c[g>>2]|0)+12>>2]|0)){d=Ew(c[(c[(c[g>>2]|0)+8>>2]|0)+28>>2]|0,0,0,h)|0;c[(c[g>>2]|0)+12>>2]=d;if(c[h>>2]|0){b[(c[(c[g>>2]|0)+12>>2]|0)+4>>1]=b[(c[(c[(c[g>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[g>>2]|0)+12>>2]|0)+7>>0]=0;break}c[f>>2]=7;h=c[f>>2]|0;i=e;return h|0}while(0);c[f>>2]=0;h=c[f>>2]|0;i=e;return h|0}function NB(a,b,d,e){a=a|0;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,o=0;k=i;i=i+32|0;m=k+28|0;l=k+24|0;f=k+20|0;j=k+16|0;h=k+12|0;g=k+8|0;n=k+4|0;o=k;c[m>>2]=a;c[l>>2]=b;c[f>>2]=d;c[j>>2]=e;c[h>>2]=0;c[g>>2]=h;if(c[f>>2]|0)e=(c[f>>2]|0)+8|0;else e=0;c[n>>2]=e;while(1){if(!((c[l>>2]|0)!=0&(c[f>>2]|0)!=0)){m=9;break}c[o>>2]=OB(c[m>>2]|0,(c[l>>2]|0)+8|0,c[c[l>>2]>>2]|0,c[n>>2]|0,c[c[f>>2]>>2]|0)|0;if((c[o>>2]|0)<=0){c[c[g>>2]>>2]=c[l>>2];c[g>>2]=(c[l>>2]|0)+4;c[l>>2]=c[(c[l>>2]|0)+4>>2];c[n>>2]=0;continue}c[c[g>>2]>>2]=c[f>>2];c[g>>2]=(c[f>>2]|0)+4;c[f>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[f>>2]|0)){m=9;break}c[n>>2]=(c[f>>2]|0)+8}if((m|0)==9){c[c[g>>2]>>2]=(c[l>>2]|0)!=0?c[l>>2]|0:c[f>>2]|0;c[c[j>>2]>>2]=c[h>>2];i=k;return}}function OB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;g=m+4|0;h=m;c[n>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[g>>2]=f;c[h>>2]=c[(c[n>>2]|0)+12>>2];if(c[l>>2]|0)Fw(c[(c[(c[n>>2]|0)+8>>2]|0)+28>>2]|0,c[g>>2]|0,c[l>>2]|0,c[h>>2]|0);a=Uw(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=m;return a|0}function PB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;l=j+24|0;m=j+20|0;h=j+16|0;k=j+12|0;o=j+8|0;g=j+4|0;n=j;c[l>>2]=a;c[m>>2]=b;c[h>>2]=d;c[k>>2]=e;c[o>>2]=f;c[g>>2]=7;a=c[(c[l>>2]|0)+4>>2]|0;c[n>>2]=Mc(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){a=c[g>>2]|0;i=j;return a|0}c[g>>2]=Di(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;k=c[n>>2]|0;if(c[g>>2]|0){hc(k);a=c[g>>2]|0;i=j;return a|0}else{c[c[h>>2]>>2]=k;a=c[g>>2]|0;i=j;return a|0}return 0}function QB(a,b){a=a|0;b=b|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;g=i;i=i+48|0;j=g+36|0;k=g+32|0;h=g+28|0;q=g+24|0;m=g+20|0;e=g+16|0;n=g+12|0;l=g+8|0;o=g+4|0;p=g;c[j>>2]=a;c[k>>2]=b;c[q>>2]=c[(c[(c[j>>2]|0)+8>>2]|0)+4>>2];c[m>>2]=c[(c[j>>2]|0)+4>>2];c[h>>2]=RB((c[(c[j>>2]|0)+12>>2]|0)+((c[q>>2]|0)*56|0)|0)|0;if(!(c[h>>2]|0)){c[n>>2]=(c[(c[j>>2]|0)+12>>2]|0)+((c[q>>2]&65534)*56|0);c[l>>2]=(c[(c[j>>2]|0)+12>>2]|0)+((c[q>>2]|1)*56|0);c[o>>2]=c[(c[l>>2]|0)+32>>2];c[e>>2]=((c[c[j>>2]>>2]|0)+(c[q>>2]|0)|0)/2|0;while(1){if((c[e>>2]|0)<=0)break;do if(c[(c[n>>2]|0)+24>>2]|0)if(!(c[(c[l>>2]|0)+24>>2]|0)){c[p>>2]=-1;break}else{c[p>>2]=OB(c[m>>2]|0,c[(c[n>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;break}else c[p>>2]=1;while(0);do if((c[p>>2]|0)<0)f=12;else{if((c[p>>2]|0)==0?(c[n>>2]|0)>>>0<(c[l>>2]|0)>>>0:0){f=12;break}if(c[(c[n>>2]|0)+24>>2]|0)c[o>>2]=0;c[(c[(c[j>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)|0)/56|0;c[n>>2]=(c[(c[j>>2]|0)+12>>2]|0)+((c[(c[(c[j>>2]|0)+8>>2]|0)+((c[e>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((f|0)==12){f=0;c[(c[(c[j>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=((c[n>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[j>>2]|0)+12>>2]|0)+((c[(c[(c[j>>2]|0)+8>>2]|0)+((c[e>>2]^1)<<2)>>2]|0)*56|0);c[o>>2]=c[(c[l>>2]|0)+32>>2]}c[e>>2]=(c[e>>2]|0)/2|0}c[c[k>>2]>>2]=(c[(c[(c[j>>2]|0)+12>>2]|0)+((c[(c[(c[j>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[h>>2]|0)){a=d[(c[(c[m>>2]|0)+12>>2]|0)+7>>0]|0;i=g;return a|0}else{a=c[h>>2]|0;i=g;return a|0}return 0}function RB(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;f=i;i=i+32|0;e=f+24|0;b=f+20|0;d=f+16|0;g=f;j=f+12|0;h=f+8|0;c[b>>2]=a;c[d>>2]=0;k=g;c[k>>2]=0;c[k+4>>2]=0;k=c[b>>2]|0;m=c[k+4>>2]|0;a=(c[b>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[j>>2]=c[(c[b>>2]|0)+48>>2];c[h>>2]=1;if(((c[j>>2]|0)!=0?(c[d>>2]=SB(c[j>>2]|0)|0,(c[d>>2]|0)==0):0)?(c[(c[j>>2]|0)+20>>2]|0)==0:0){m=(c[j>>2]|0)+8|0;c[d>>2]=TB(c[c[j>>2]>>2]|0,c[b>>2]|0,(c[j>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[h>>2]=0}if(c[h>>2]|0){qB(c[b>>2]|0);c[e>>2]=c[d>>2];m=c[e>>2]|0;i=f;return m|0}}if(!(c[d>>2]|0))c[d>>2]=UB(c[b>>2]|0,g)|0;if(!(c[d>>2]|0)){c[(c[b>>2]|0)+20>>2]=c[g>>2];c[d>>2]=VB(c[b>>2]|0,c[g>>2]|0,(c[b>>2]|0)+32|0)|0}c[e>>2]=c[d>>2];m=c[e>>2]|0;i=f;return m|0}function SB(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=0;c[d>>2]=YB(c[e>>2]|0)|0;f=(c[e>>2]|0)+32|0;a=(c[e>>2]|0)+48|0;c[f+0>>2]=c[a+0>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[e>>2]|0)+40|0;a=(c[e>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=b;return f|0}c[(c[e>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=b;return f|0}function TB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;n=i;i=i+48|0;h=n+36|0;o=n+32|0;m=n+28|0;q=n+24|0;p=n;j=n+20|0;l=n+16|0;k=n+12|0;g=n+8|0;c[o>>2]=a;c[m>>2]=b;c[q>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;c[j>>2]=0;if(jg(201)|0){c[h>>2]=266;a=c[h>>2]|0;i=n;return a|0}if(c[(c[m>>2]|0)+44>>2]|0){hj(c[(c[m>>2]|0)+24>>2]|0,0,0,c[(c[m>>2]|0)+44>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=0}a=p;b=c[a+4>>2]|0;d=c[m>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[q>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[m>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[m>>2]|0)+24>>2]=c[c[q>>2]>>2];c[j>>2]=WB(c[o>>2]|0,c[q>>2]|0,(c[m>>2]|0)+44|0)|0;if((c[j>>2]|0)==0?(c[(c[m>>2]|0)+44>>2]|0)==0:0){c[l>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2];b=c[m>>2]|0;a=c[l>>2]|0;a=kF(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[k>>2]=a;if(!(c[(c[m>>2]|0)+36>>2]|0)){a=c[l>>2]|0;a=gc(a,((a|0)<0)<<31>>31)|0;c[(c[m>>2]|0)+36>>2]=a;if(!(c[(c[m>>2]|0)+36>>2]|0))c[j>>2]=7;c[(c[m>>2]|0)+40>>2]=c[l>>2]}if((c[j>>2]|0)==0&(c[k>>2]|0)!=0){c[g>>2]=(c[l>>2]|0)-(c[k>>2]|0);e=c[m>>2]|0;b=c[g>>2]|0;b=bF(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;e=D;a=(c[m>>2]|0)+8|0;d=c[a+4>>2]|0;if((e|0)>(d|0)|((e|0)==(d|0)?b>>>0>(c[a>>2]|0)>>>0:0)){b=(c[m>>2]|0)+8|0;a=c[m>>2]|0;a=ZE(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=a}a=c[m>>2]|0;c[j>>2]=Ei(c[(c[m>>2]|0)+24>>2]|0,(c[(c[m>>2]|0)+36>>2]|0)+(c[k>>2]|0)|0,c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0}}c[h>>2]=c[j>>2];a=c[h>>2]|0;i=n;return a|0}function UB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+48|0;n=h+24|0;j=h+20|0;k=h+16|0;m=h+12|0;o=h+32|0;p=h+8|0;l=h+4|0;f=h;c[j>>2]=b;c[k>>2]=e;b=c[j>>2]|0;e=c[b>>2]|0;b=c[b+4>>2]|0;do if(c[(c[j>>2]|0)+44>>2]|0){e=(Jw((c[(c[j>>2]|0)+44>>2]|0)+e|0,c[k>>2]|0)|0)&255;b=c[j>>2]|0;p=b;e=bF(c[p>>2]|0,c[p+4>>2]|0,e|0,0)|0;c[b>>2]=e;c[b+4>>2]=D}else{q=c[(c[j>>2]|0)+40>>2]|0;b=kF(e|0,b|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=b;if((c[m>>2]|0)!=0?((c[(c[j>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){b=(Jw((c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[k>>2]|0)|0)&255;q=c[j>>2]|0;e=q;b=bF(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[q>>2]=b;c[q+4>>2]=D;break}c[l>>2]=0;while(1){c[f>>2]=VB(c[j>>2]|0,1,p)|0;if(c[f>>2]|0)break;b=a[c[p>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[o+(q&15)>>0]=b;if(!((d[c[p>>2]>>0]|0)&128)){g=10;break}}if((g|0)==10){Jw(o,c[k>>2]|0)|0;break}c[n>>2]=c[f>>2];q=c[n>>2]|0;i=h;return q|0}while(0);c[n>>2]=0;q=c[n>>2]|0;i=h;return q|0}function VB(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=i;i=i+64|0;g=q+52|0;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;e=q+32|0;u=q+28|0;t=q+24|0;o=q+20|0;s=q+16|0;r=q+12|0;l=q+8|0;p=q+4|0;m=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;b=c[h>>2]|0;d=c[b>>2]|0;b=c[b+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+d;b=c[j>>2]|0;a=c[h>>2]|0;d=a;b=bF(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[a>>2]=b;c[a+4>>2]=D;c[g>>2]=0;a=c[g>>2]|0;i=q;return a|0}a=c[(c[h>>2]|0)+40>>2]|0;a=kF(d|0,b|0,a|0,((a|0)<0)<<31>>31|0)|0;c[n>>2]=a;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;b=c[h>>2]|0;b=ZE(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;w=D;a=c[(c[h>>2]|0)+40>>2]|0;v=((a|0)<0)<<31>>31;d=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&b>>>0>a>>>0)c[u>>2]=c[d+40>>2];else{v=d+8|0;w=c[h>>2]|0;w=ZE(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[u>>2]=w}w=c[h>>2]|0;c[t>>2]=Ei(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[u>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];w=c[g>>2]|0;i=q;return w|0}}c[e>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[e>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;a=w;v=bF(c[a>>2]|0,c[a+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=D}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))t=128;else t=c[(c[h>>2]|0)+16>>2]<<1;c[r>>2]=t;while(1){if((c[j>>2]|0)<=(c[r>>2]|0))break;c[r>>2]=c[r>>2]<<1}w=c[r>>2]|0;c[s>>2]=kc(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[s>>2]|0){c[(c[h>>2]|0)+16>>2]=c[r>>2];c[(c[h>>2]|0)+28>>2]=c[s>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=q;return w|0}while(0);dF(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[e>>2]|0)|0;v=c[e>>2]|0;w=c[h>>2]|0;a=w;v=bF(c[a>>2]|0,c[a+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=D;c[o>>2]=(c[j>>2]|0)-(c[e>>2]|0);while(1){if((c[o>>2]|0)<=0){f=27;break}c[p>>2]=c[o>>2];if((c[o>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[l>>2]=VB(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[l>>2]|0)break;dF((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[o>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[o>>2]=(c[o>>2]|0)-(c[p>>2]|0)}if((f|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[l>>2];w=c[g>>2]|0;i=q;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=q;return w|0}function WB(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,l=0;e=i;i=i+32|0;l=e+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[l>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=0;b=(c[h>>2]|0)+8|0;k=c[b+4>>2]|0;a=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+136>>2]|0;d=((a|0)<0)<<31>>31;if(!((k|0)<(d|0)|((k|0)==(d|0)?(c[b>>2]|0)>>>0<=a>>>0:0))){l=c[f>>2]|0;i=e;return l|0}c[g>>2]=c[c[h>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[f>>2]|0;i=e;return l|0}c[f>>2]=XB(c[g>>2]|0,0,0,c[(c[h>>2]|0)+8>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=e;return l|0}function XB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function YB(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;d=i;i=i+96|0;l=d+88|0;h=d+84|0;g=d+80|0;k=d+48|0;f=d+76|0;p=d+72|0;m=d+68|0;e=d+8|0;o=d+64|0;n=d+60|0;j=d+56|0;b=d;c[l>>2]=a;c[h>>2]=0;r=(c[l>>2]|0)+8|0;q=c[r+4>>2]|0;a=k;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[f>>2]=(c[l>>2]|0)+48;c[p>>2]=c[c[l>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];a=k;IB(c[c[f>>2]>>2]|0,e,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[h>>2]|0)break;c[n>>2]=(c[(c[m>>2]|0)+12>>2]|0)+((c[(c[(c[m>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[j>>2]=c[(c[n>>2]|0)+20>>2];r=e+24|0;q=c[e+16>>2]|0;q=bF(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=b;c[r>>2]=q;c[r+4>>2]=D;if(!(c[(c[n>>2]|0)+24>>2]|0))break;a=b;p=c[j>>2]|0;p=bF(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=D;q=c[j>>2]|0;q=Zw(q,((q|0)<0)<<31>>31)|0;q=bF(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=D;p=k;r=c[(c[l>>2]|0)+16>>2]|0;r=bF(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=D;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[j>>2]|0;JB(e,r,((r|0)<0)<<31>>31);KB(e,c[(c[n>>2]|0)+32>>2]|0,c[j>>2]|0);c[h>>2]=QB(c[(c[l>>2]|0)+4>>2]|0,o)|0}c[g>>2]=LB(e,(c[f>>2]|0)+8|0)|0;if(c[h>>2]|0){r=c[h>>2]|0;i=d;return r|0}c[h>>2]=c[g>>2];r=c[h>>2]|0;i=d;return r|0}function ZB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;b=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=(c[f>>2]|0)+64;c[e>>2]=0;c[b>>2]=_B(c[f>>2]|0,e)|0;if(!(c[b>>2]|0)){c[b>>2]=$B(c[g>>2]|0,c[e>>2]|0,0)|0;c[(c[f>>2]|0)+20>>2]=c[e>>2];c[e>>2]=0}if(!(c[b>>2]|0)){g=c[b>>2]|0;i=d;return g|0}mB(c[e>>2]|0);g=c[b>>2]|0;i=d;return g|0}function _B(a,b){a=a|0;b=b|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;h=i;i=i+64|0;r=h+52|0;m=h+48|0;n=h+44|0;g=h+40|0;s=h+36|0;k=h+32|0;j=h+28|0;e=h+24|0;l=h;q=h+20|0;f=h+16|0;o=h+12|0;p=h+8|0;c[r>>2]=a;c[m>>2]=b;c[n>>2]=0;c[g>>2]=0;c[s>>2]=0;while(1){if(c[g>>2]|0)break;if((c[s>>2]|0)>=(d[(c[r>>2]|0)+59>>0]|0|0))break;c[k>>2]=(c[r>>2]|0)+64+(c[s>>2]<<6);c[j>>2]=0;c[e>>2]=cC(c[(c[k>>2]|0)+28>>2]|0)|0;a=l;c[a>>2]=0;c[a+4>>2]=0;a:do if((c[(c[k>>2]|0)+28>>2]|0)<=16)c[g>>2]=dC(c[k>>2]|0,c[(c[k>>2]|0)+28>>2]|0,l,j)|0;else{c[f>>2]=0;c[j>>2]=eC(16)|0;if(!(c[j>>2]|0))c[g>>2]=7;c[q>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[q>>2]|0)<(c[(c[k>>2]|0)+28>>2]|0):0))break a;c[o>>2]=0;if(((c[(c[k>>2]|0)+28>>2]|0)-(c[q>>2]|0)|0)<16)b=(c[(c[k>>2]|0)+28>>2]|0)-(c[q>>2]|0)|0;else b=16;c[p>>2]=b;c[g>>2]=dC(c[k>>2]|0,c[p>>2]|0,l,o)|0;if(!(c[g>>2]|0)){t=c[k>>2]|0;b=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[g>>2]=fC(t,b,a,c[j>>2]|0,c[o>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+16}}while(0);b=c[j>>2]|0;if(!(c[g>>2]|0))c[n>>2]=b;else mB(b);c[s>>2]=(c[s>>2]|0)+1}if(!(c[g>>2]|0)){a=c[n>>2]|0;t=c[m>>2]|0;c[t>>2]=a;t=c[g>>2]|0;i=h;return t|0}mB(c[n>>2]|0);c[n>>2]=0;a=c[n>>2]|0;t=c[m>>2]|0;c[t>>2]=a;t=c[g>>2]|0;i=h;return t|0}function $B(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+24|0;l=j+20|0;f=j+16|0;m=j+8|0;k=j+4|0;n=j;c[l>>2]=a;c[f>>2]=b;c[j+12>>2]=e;c[m>>2]=0;c[n>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+4>>2]=c[l>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;c[m>>2]=aC((c[(c[f>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0)|0,0)|0;if(c[m>>2]|0){g=4;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==4){c[h>>2]=c[m>>2];a=c[h>>2]|0;i=j;return a|0}c[k>>2]=(c[c[f>>2]>>2]|0)-1;while(1){if((c[k>>2]|0)<=0)break;bC(c[f>>2]|0,c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+ -1}c[h>>2]=d[(c[(c[l>>2]|0)+12>>2]|0)+7>>0];a=c[h>>2]|0;i=j;return a|0}function aC(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;i=i+32|0;k=d+24|0;l=d+20|0;e=d+16|0;g=d+12|0;f=d+8|0;j=d+4|0;h=d;c[k>>2]=a;c[l>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+48>>2];if(!(c[g>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[f>>2]=c[c[g>>2]>>2];c[j>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+24>>2];c[e>>2]=$B(c[f>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[e>>2]|0)){c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[f>>2]|0)+48>>2]|0)){a=(c[f>>2]|0)+56|0;c[e>>2]=GB(c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,(c[f>>2]|0)+48|0)|0;a=(c[f>>2]|0)+56|0;c[a>>2]=0;c[a+4>>2]=0}if(!(c[e>>2]|0)){c[(c[g>>2]|0)+48>>2]=c[(c[f>>2]|0)+48>>2];j=(c[f>>2]|0)+56|0;a=c[j+4>>2]|0;l=(c[g>>2]|0)+8|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;l=c[h>>2]|0;a=(c[f>>2]|0)+56|0;j=a;l=bF(c[j>>2]|0,c[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c[a>>2]=l;c[a+4>>2]=D}}if(c[e>>2]|0){a=c[e>>2]|0;i=d;return a|0}c[e>>2]=RB(c[k>>2]|0)|0;a=c[e>>2]|0;i=d;return a|0}function bC(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;g=i;i=i+32|0;e=g+28|0;f=g+24|0;h=g+20|0;m=g+16|0;j=g+12|0;d=g+8|0;k=g+4|0;l=g;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;if((c[f>>2]|0)>=((c[c[e>>2]>>2]|0)/2|0|0)){c[h>>2]=b-((c[c[e>>2]>>2]|0)/2|0)<<1;c[m>>2]=(c[h>>2]|0)+1}else{c[h>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[m>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+((c[f>>2]<<1)+1<<2)>>2]}c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);c[k>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[m>>2]|0)*56|0);do if(c[(c[d>>2]|0)+24>>2]|0){if(!(c[(c[k>>2]|0)+24>>2]|0)){c[j>>2]=c[h>>2];break}c[l>>2]=OB(c[(c[e>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+32>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;if((c[l>>2]|0)<=0){c[j>>2]=c[h>>2];break}else{c[j>>2]=c[m>>2];break}}else c[j>>2]=c[m>>2];while(0);c[(c[(c[e>>2]|0)+8>>2]|0)+(c[f>>2]<<2)>>2]=c[j>>2];i=g;return}function cC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;f=b+12|0;d=b+8|0;e=b;c[f>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[f>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=lF(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=D;c[d>>2]=(c[d>>2]|0)+1}i=b;return c[d>>2]|0}function dC(a,b,d,e){a=a|0;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,o=0,p=0,q=0;j=i;i=i+48|0;p=j+44|0;n=j+40|0;g=j+36|0;l=j+32|0;k=j+28|0;m=j+8|0;f=j+24|0;h=j+20|0;q=j;o=j+16|0;c[p>>2]=a;c[n>>2]=b;c[g>>2]=d;c[l>>2]=e;d=c[g>>2]|0;b=c[d+4>>2]|0;a=m;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[h>>2]=0;a=eC(c[n>>2]|0)|0;c[k>>2]=a;c[c[l>>2]>>2]=a;if(!(c[k>>2]|0))c[h>>2]=7;c[f>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[f>>2]|0)<(c[n>>2]|0):0))break;c[o>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[f>>2]|0)*56|0);d=m;c[h>>2]=hC(c[p>>2]|0,(c[p>>2]|0)+32|0,c[d>>2]|0,c[d+4>>2]|0,c[o>>2]|0,q)|0;d=(c[o>>2]|0)+8|0;b=c[d+4>>2]|0;a=m;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}if(!(c[h>>2]|0)){b=m;q=b;q=c[q>>2]|0;b=b+4|0;b=c[b>>2]|0;a=c[g>>2]|0;d=a;c[d>>2]=q;a=a+4|0;c[a>>2]=b;a=c[h>>2]|0;i=j;return a|0}mB(c[k>>2]|0);c[c[l>>2]>>2]=0;b=m;q=b;q=c[q>>2]|0;b=b+4|0;b=c[b>>2]|0;a=c[g>>2]|0;d=a;c[d>>2]=q;a=a+4|0;c[a>>2]=b;a=c[h>>2]|0;i=j;return a|0}function eC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[g>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[f>>2]=16+(a*60|0);if(jg(100)|0)f=0;else{f=c[f>>2]|0;f=Mc(f,((f|0)<0)<<31>>31)|0}c[b>>2]=f;if(!(c[b>>2]|0)){a=c[b>>2]|0;i=d;return a|0}c[c[b>>2]>>2]=c[e>>2];c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+12>>2]=(c[b>>2]|0)+16;c[(c[b>>2]|0)+8>>2]=(c[(c[b>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);a=c[b>>2]|0;i=d;return a|0}function fC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;j=i;i=i+64|0;p=j+48|0;s=j+44|0;g=j+40|0;u=j+36|0;t=j+32|0;h=j+28|0;o=j+24|0;r=j+20|0;k=j+16|0;m=j+12|0;q=j+8|0;n=j+4|0;l=j;c[p>>2]=a;c[s>>2]=b;c[g>>2]=d;c[u>>2]=e;c[t>>2]=f;c[h>>2]=0;c[o>>2]=1;c[k>>2]=c[u>>2];c[h>>2]=gC(c[p>>2]|0,c[t>>2]|0,m)|0;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[s>>2]|0))break;c[o>>2]=c[o>>2]<<4;c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=1;while(1){if(!((c[h>>2]|0)==0?(c[r>>2]|0)<(c[s>>2]|0):0))break;c[q>>2]=((c[g>>2]|0)/(c[o>>2]|0)|0|0)%16|0;c[n>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[q>>2]|0)*56|0);do if(!(c[(c[n>>2]|0)+48>>2]|0)){c[l>>2]=eC(16)|0;if(!(c[l>>2]|0)){c[h>>2]=7;break}else{c[h>>2]=gC(c[p>>2]|0,c[l>>2]|0,(c[n>>2]|0)+48|0)|0;break}}while(0);if(!(c[h>>2]|0)){c[k>>2]=c[(c[(c[n>>2]|0)+48>>2]|0)+4>>2];c[o>>2]=(c[o>>2]|0)/16|0}c[r>>2]=(c[r>>2]|0)+1}l=c[m>>2]|0;if(!(c[h>>2]|0)){c[(c[(c[k>>2]|0)+12>>2]|0)+(((c[g>>2]|0)%16|0)*56|0)+48>>2]=l;u=c[h>>2]|0;i=j;return u|0}else{rB(l);u=c[h>>2]|0;i=j;return u|0}return 0}function gC(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;e=i;i=i+32|0;g=e+16|0;j=e+12|0;k=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[h>>2]=0;if(jg(100)|0)d=0;else d=Mc(64,0)|0;c[c[k>>2]>>2]=d;c[f>>2]=d;j=c[j>>2]|0;if(!(c[f>>2]|0)){mB(j);c[h>>2]=7;a=c[h>>2]|0;i=e;return a|0}c[(c[f>>2]|0)+4>>2]=j;c[c[f>>2]>>2]=c[g>>2];j=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))j=(c[j+8>>2]|0)+9|0;else j=(c[j+4>>2]|0)/2|0;c[(c[f>>2]|0)+16>>2]=j;b=c[(c[f>>2]|0)+16>>2]|0;a=(c[g>>2]|0)+56|0;d=a;b=bF(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[a>>2]=b;c[a+4>>2]=D;a=c[h>>2]|0;i=e;return a|0}function hC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+48|0;o=j+32|0;n=j+28|0;p=j+8|0;k=j+24|0;l=j+20|0;m=j+16|0;h=j;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[k>>2]=f;c[l>>2]=g;a=p;c[m>>2]=TB(c[o>>2]|0,c[k>>2]|0,c[n>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[m>>2]|0)){c[m>>2]=UB(c[k>>2]|0,h)|0;o=c[k>>2]|0;p=h;p=bF(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[k>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=D;o=h;p=c[l>>2]|0;n=p;o=bF(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=D}if(c[m>>2]|0){p=c[m>>2]|0;i=j;return p|0}c[m>>2]=RB(c[k>>2]|0)|0;p=c[m>>2]|0;i=j;return p|0}function iC(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return(d[(c[b>>2]|0)+73>>0]|0|0)!=1|0}function jC(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=b;c[e>>2]=kC(c[c[f>>2]>>2]|0,g)|0;c[(c[f>>2]|0)+60>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=d;return g|0}a[(c[f>>2]|0)+25>>0]=1;g=c[e>>2]|0;i=d;return g|0}function kC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+12|0;j=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[e>>2]=b;if((d[(c[j>>2]|0)+73>>0]|0|0)>=3)b=vw(c[j>>2]|0)|0;else b=0;c[f>>2]=b;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];a=c[g>>2]|0;i=h;return a|0}if((d[(c[j>>2]|0)+73>>0]|0|0)==1?(c[(c[j>>2]|0)+68>>2]|0)==0:0)c[c[e>>2]>>2]=0;else c[c[e>>2]>>2]=1;c[g>>2]=0;a=c[g>>2]|0;i=h;return a|0}function lC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;f=e+4|0;g=e;c[j>>2]=b;c[h>>2]=d;d=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[g>>2]=(c[(c[(c[j>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[d+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[(c[g>>2]|0)+32>>2];b=c[f>>2]|0;i=e;return b|0}else{c[c[h>>2]>>2]=c[c[d+36>>2]>>2];c[f>>2]=(c[(c[j>>2]|0)+36>>2]|0)+8;b=c[f>>2]|0;i=e;return b|0}return 0}function mC(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;q=i;i=i+48|0;n=q+32|0;p=q+28|0;t=q+24|0;m=q+20|0;s=q+16|0;k=q+12|0;o=q+8|0;l=q+4|0;r=q;c[n>>2]=f;c[p>>2]=g;c[t>>2]=h;c[m>>2]=j;if(c[c[m>>2]>>2]|0){i=q;return}c[k>>2]=c[(c[n>>2]|0)+56>>2];c[o>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[p>>2]<<1);c[s>>2]=(d[c[o>>2]>>0]|0)<<8|(d[(c[o>>2]|0)+1>>0]|0);c[r>>2]=d[(c[n>>2]|0)+6>>0];if((c[s>>2]|0)>>>0>=((d[(c[k>>2]|0)+((c[r>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[r>>2]|0)+5)+1>>0]|0))>>>0?((c[s>>2]|0)+(c[t>>2]|0)|0)>>>0<=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[l>>2]=yC(c[n>>2]|0,c[s>>2]&65535,c[t>>2]&65535)|0;if(c[l>>2]|0){c[c[m>>2]>>2]=c[l>>2];i=q;return}else{f=(c[n>>2]|0)+18|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16;eF(c[o>>2]|0,(c[o>>2]|0)+2|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[p>>2]|0)<<1|0)|0;a[(c[k>>2]|0)+((c[r>>2]|0)+3)>>0]=(e[(c[n>>2]|0)+18>>1]|0)>>8;a[(c[k>>2]|0)+((c[r>>2]|0)+3)+1>>0]=b[(c[n>>2]|0)+18>>1];f=(c[n>>2]|0)+16|0;b[f>>1]=(e[f>>1]|0)+2;i=q;return}}f=kj(58057)|0;c[c[m>>2]>>2]=f;i=q;return}function nC(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;x=i;i=i+64|0;q=x+52|0;y=x+48|0;u=x+44|0;r=x+40|0;B=x+36|0;v=x+32|0;p=x+28|0;t=x+24|0;A=x+20|0;n=x+16|0;z=x+12|0;w=x+8|0;s=x+4|0;o=x;c[q>>2]=f;c[y>>2]=g;c[u>>2]=h;c[r>>2]=j;c[B>>2]=k;c[v>>2]=l;c[p>>2]=m;c[t>>2]=0;if(c[c[p>>2]>>2]|0){i=x;return}if((d[(c[q>>2]|0)+1>>0]|0)==0?((c[r>>2]|0)+2|0)<=(e[(c[q>>2]|0)+16>>1]|0):0){c[o>>2]=gd(c[(c[q>>2]|0)+68>>2]|0)|0;if(c[o>>2]|0){c[c[p>>2]>>2]=c[o>>2];i=x;return}c[s>>2]=c[(c[q>>2]|0)+56>>2];c[w>>2]=e[(c[q>>2]|0)+14>>1];c[n>>2]=(c[w>>2]|0)+(e[(c[q>>2]|0)+18>>1]<<1);c[z>>2]=(c[w>>2]|0)+(c[y>>2]<<1);c[o>>2]=vC(c[q>>2]|0,c[r>>2]|0,t)|0;if(c[o>>2]|0){c[c[p>>2]>>2]=c[o>>2];i=x;return}f=(c[q>>2]|0)+18|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[q>>2]|0)+16|0;b[f>>1]=(e[f>>1]|0)-(2+(c[r>>2]|0)&65535);dF((c[s>>2]|0)+(c[t>>2]|0)|0,c[u>>2]|0,c[r>>2]|0)|0;if(c[v>>2]|0)ck((c[s>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0);eF((c[s>>2]|0)+((c[z>>2]|0)+2)|0,(c[s>>2]|0)+(c[z>>2]|0)|0,(c[n>>2]|0)-(c[z>>2]|0)|0)|0;a[(c[s>>2]|0)+(c[z>>2]|0)>>0]=c[t>>2]>>8;a[(c[s>>2]|0)+(c[z>>2]|0)+1>>0]=c[t>>2];a[(c[s>>2]|0)+((d[(c[q>>2]|0)+6>>0]|0)+3)>>0]=e[(c[q>>2]|0)+18>>1]>>8;a[(c[s>>2]|0)+((d[(c[q>>2]|0)+6>>0]|0)+3)+1>>0]=b[(c[q>>2]|0)+18>>1];if(!(a[(c[(c[q>>2]|0)+52>>2]|0)+17>>0]|0)){i=x;return}AA(c[q>>2]|0,c[u>>2]|0,c[p>>2]|0);i=x;return}if(c[B>>2]|0){dF(c[B>>2]|0,c[u>>2]|0,c[r>>2]|0)|0;c[u>>2]=c[B>>2]}if(c[v>>2]|0)ck(c[u>>2]|0,c[v>>2]|0);g=(c[q>>2]|0)+1|0;f=a[g>>0]|0;a[g>>0]=f+1<<24>>24;c[A>>2]=f&255;c[(c[q>>2]|0)+32+(c[A>>2]<<2)>>2]=c[u>>2];b[(c[q>>2]|0)+22+(c[A>>2]<<1)>>1]=c[y>>2];i=x;return}function oC(f){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;m=i;i=i+64|0;l=m+32|0;g=m+28|0;r=m+24|0;n=m+36|0;j=m+20|0;q=m+16|0;k=m+12|0;h=m+8|0;p=m+4|0;o=m;c[l>>2]=f;c[g>>2]=0;c[r>>2]=(c[(c[(c[l>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[j>>2]=0;do{c[q>>2]=b[(c[l>>2]|0)+76>>1];c[k>>2]=c[(c[l>>2]|0)+120+(c[q>>2]<<2)>>2];f=a[(c[k>>2]|0)+1>>0]|0;if(!(c[q>>2]|0)){if(!(f<<24>>24))break;c[g>>2]=pC(c[k>>2]|0,(c[l>>2]|0)+124|0)|0;if(!(c[g>>2]|0)){b[(c[l>>2]|0)+76>>1]=1;b[(c[l>>2]|0)+78>>1]=0;b[(c[l>>2]|0)+80>>1]=0}}else{if((f&255|0)==0?(e[(c[k>>2]|0)+16>>1]|0)<=(c[r>>2]|0):0)break;c[h>>2]=c[(c[l>>2]|0)+120+((c[q>>2]|0)-1<<2)>>2];c[p>>2]=e[(c[l>>2]|0)+78+((c[q>>2]|0)-1<<1)>>1];c[g>>2]=gd(c[(c[h>>2]|0)+68>>2]|0)|0;do if(!(c[g>>2]|0)){if(((((d[(c[k>>2]|0)+3>>0]|0)!=0?(d[(c[k>>2]|0)+1>>0]|0)==1:0)?(e[(c[k>>2]|0)+22>>1]|0)==(e[(c[k>>2]|0)+18>>1]|0):0)?(c[(c[h>>2]|0)+72>>2]|0)!=1:0)?(e[(c[h>>2]|0)+18>>1]|0)==(c[p>>2]|0):0){c[g>>2]=qC(c[h>>2]|0,c[k>>2]|0,n)|0;break}c[o>>2]=Hg(c[(c[(c[l>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[g>>2]=rC(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,(c[q>>2]|0)==1&1,d[(c[l>>2]|0)+74>>0]|0)|0;if(c[j>>2]|0)Kg(c[j>>2]|0);c[j>>2]=c[o>>2]}while(0);a[(c[k>>2]|0)+1>>0]=0;Rk(c[k>>2]|0);f=(c[l>>2]|0)+76|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16}}while((c[g>>2]|0)==0);if(!(c[j>>2]|0)){f=c[g>>2]|0;i=m;return f|0}Kg(c[j>>2]|0);f=c[g>>2]|0;i=m;return f|0}function pC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;f=k+16|0;h=k+12|0;g=k+8|0;m=k+4|0;n=k;c[l>>2]=b;c[f>>2]=e;c[g>>2]=0;c[m>>2]=0;c[n>>2]=c[(c[l>>2]|0)+52>>2];c[h>>2]=gd(c[(c[l>>2]|0)+68>>2]|0)|0;if((c[h>>2]|0)==0?(c[h>>2]=uA(c[n>>2]|0,g,m,c[(c[l>>2]|0)+72>>2]|0,0)|0,uC(c[l>>2]|0,c[g>>2]|0,h),(a[(c[n>>2]|0)+17>>0]|0)!=0):0)yA(c[n>>2]|0,c[m>>2]|0,5,c[(c[l>>2]|0)+72>>2]|0,h);if(c[h>>2]|0){c[c[f>>2]>>2]=0;Rk(c[g>>2]|0);c[j>>2]=c[h>>2];b=c[j>>2]|0;i=k;return b|0}else{dF((c[g>>2]|0)+22|0,(c[l>>2]|0)+22|0,d[(c[l>>2]|0)+1>>0]<<1|0)|0;dF((c[g>>2]|0)+32|0,(c[l>>2]|0)+32|0,d[(c[l>>2]|0)+1>>0]<<2|0)|0;a[(c[g>>2]|0)+1>>0]=a[(c[l>>2]|0)+1>>0]|0;wB(c[l>>2]|0,d[c[(c[g>>2]|0)+56>>2]>>0]&-9);ck((c[(c[l>>2]|0)+56>>2]|0)+((d[(c[l>>2]|0)+6>>0]|0)+8)|0,c[m>>2]|0);c[c[f>>2]>>2]=c[g>>2];c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}return 0}function qC(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;q=i;i=i+48|0;k=q+40|0;s=q+36|0;l=q+32|0;u=q+28|0;j=q+24|0;o=q+20|0;p=q+16|0;r=q+12|0;v=q+8|0;m=q+4|0;t=q+44|0;n=q;c[s>>2]=f;c[l>>2]=g;c[u>>2]=h;c[j>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[k>>2]=kj(58255)|0;f=c[k>>2]|0;i=q;return f|0}c[p>>2]=uA(c[j>>2]|0,o,r,0,0)|0;if(!(c[p>>2]|0)){c[v>>2]=(c[u>>2]|0)+4;c[m>>2]=c[(c[l>>2]|0)+32>>2];b[t>>1]=lB(c[l>>2]|0,c[m>>2]|0)|0;wB(c[o>>2]|0,13);tC(c[o>>2]|0,1,m,t);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(yA(c[j>>2]|0,c[r>>2]|0,5,c[(c[s>>2]|0)+72>>2]|0,p),(e[t>>1]|0)>(e[(c[o>>2]|0)+12>>1]|0)):0)AA(c[o>>2]|0,c[m>>2]|0,p);c[m>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[n>>2]=(c[m>>2]|0)+9;do{f=c[m>>2]|0;c[m>>2]=f+1;if(!(d[f>>0]&128))break}while((c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0);c[n>>2]=(c[m>>2]|0)+9;do{f=c[m>>2]|0;c[m>>2]=f+1;f=a[f>>0]|0;g=c[v>>2]|0;c[v>>2]=g+1;a[g>>0]=f;if(!(f&128))break}while((c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0);nC(c[s>>2]|0,e[(c[s>>2]|0)+18>>1]|0,c[u>>2]|0,(c[v>>2]|0)-(c[u>>2]|0)|0,0,c[(c[l>>2]|0)+72>>2]|0,p);ck((c[(c[s>>2]|0)+56>>2]|0)+((d[(c[s>>2]|0)+6>>0]|0)+8)|0,c[r>>2]|0);Rk(c[o>>2]|0)}c[k>>2]=c[p>>2];f=c[k>>2]|0;i=q;return f|0}function rC(f,g,h,j,k){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,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,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;m=i;i=i+352|0;I=m+328|0;R=m+324|0;wa=m+320|0;V=m+316|0;X=m+312|0;ba=m+308|0;u=m+304|0;H=m+300|0;ta=m+296|0;o=m+292|0;q=m+288|0;n=m+284|0;E=m+280|0;w=m+276|0;P=m+272|0;y=m+268|0;v=m+338|0;l=m+264|0;ia=m+260|0;M=m+256|0;ha=m+252|0;qa=m+248|0;N=m+244|0;ua=m+240|0;r=m+228|0;F=m+216|0;p=m+196|0;W=m+192|0;sa=m+184|0;z=m+160|0;ga=m+140|0;s=m+136|0;J=m+132|0;pa=m+128|0;aa=m+124|0;va=m+120|0;ka=m+116|0;ja=m+112|0;la=m+108|0;ma=m+336|0;na=m+334|0;oa=m+332|0;ra=m+104|0;ca=m+100|0;ea=m+96|0;fa=m+92|0;da=m+88|0;_=m+84|0;Z=m+80|0;Y=m+76|0;U=m+72|0;S=m+68|0;Q=m+64|0;K=m+60|0;O=m+56|0;T=m;L=m+52|0;x=m+48|0;D=m+44|0;C=m+40|0;G=m+36|0;A=m+32|0;B=m+28|0;t=m+24|0;c[R>>2]=f;c[wa>>2]=g;c[V>>2]=h;c[X>>2]=j;c[ba>>2]=k;c[H>>2]=0;c[ta>>2]=0;c[o>>2]=0;c[y>>2]=0;c[qa>>2]=0;c[N>>2]=0;c[s>>2]=0;c[u>>2]=c[(c[R>>2]|0)+52>>2];if(!(c[V>>2]|0)){c[I>>2]=7;f=c[I>>2]|0;i=m;return f|0}c[n>>2]=(d[(c[R>>2]|0)+1>>0]|0)+(e[(c[R>>2]|0)+18>>1]|0);if((c[n>>2]|0)<2)c[P>>2]=0;else{do if(c[wa>>2]|0)if((c[wa>>2]|0)==(c[n>>2]|0)){c[P>>2]=(c[n>>2]|0)-2+(c[ba>>2]|0);break}else{c[P>>2]=(c[wa>>2]|0)-1;break}else c[P>>2]=0;while(0);c[n>>2]=2-(c[ba>>2]|0)}c[q>>2]=(c[n>>2]|0)+1;k=c[R>>2]|0;if(((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)|0)==(e[(c[R>>2]|0)+18>>1]|0))c[W>>2]=(c[(c[R>>2]|0)+56>>2]|0)+((d[k+6>>0]|0)+8);else c[W>>2]=(c[k+56>>2]|0)+(e[(c[R>>2]|0)+20>>1]&(d[(c[(c[R>>2]|0)+64>>2]|0)+((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[R>>2]|0)+64>>2]|0)+((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)<<1)+1>>0]));c[aa>>2]=Hh(c[W>>2]|0)|0;while(1){c[y>>2]=zw(c[u>>2]|0,c[aa>>2]|0,r+(c[n>>2]<<2)|0,0)|0;if(c[y>>2]|0){va=16;break}c[ta>>2]=(c[ta>>2]|0)+(1+(e[(c[r+(c[n>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[r+(c[n>>2]<<2)>>2]|0)+1>>0]|0));f=c[n>>2]|0;c[n>>2]=f+ -1;if(!f){va=26;break}if(((c[n>>2]|0)+(c[P>>2]|0)|0)==(e[(c[R>>2]|0)+22>>1]|0)?(d[(c[R>>2]|0)+1>>0]|0)!=0:0){c[sa+(c[n>>2]<<2)>>2]=c[(c[R>>2]|0)+32>>2];c[aa>>2]=Hh(c[sa+(c[n>>2]<<2)>>2]|0)|0;f=(lB(c[R>>2]|0,c[sa+(c[n>>2]<<2)>>2]|0)|0)&65535;c[ga+(c[n>>2]<<2)>>2]=f;a[(c[R>>2]|0)+1>>0]=0;continue}c[sa+(c[n>>2]<<2)>>2]=(c[(c[R>>2]|0)+56>>2]|0)+(e[(c[R>>2]|0)+20>>1]&(d[(c[(c[R>>2]|0)+64>>2]|0)+((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[R>>2]|0)+64>>2]|0)+((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)<<1)+1>>0]));c[aa>>2]=Hh(c[sa+(c[n>>2]<<2)>>2]|0)|0;f=(lB(c[R>>2]|0,c[sa+(c[n>>2]<<2)>>2]|0)|0)&65535;c[ga+(c[n>>2]<<2)>>2]=f;if(e[(c[u>>2]|0)+22>>1]&4){c[va>>2]=(c[sa+(c[n>>2]<<2)>>2]|0)-(c[(c[R>>2]|0)+56>>2]|0);if(((c[va>>2]|0)+(c[ga+(c[n>>2]<<2)>>2]|0)|0)>(c[(c[u>>2]|0)+36>>2]|0)){va=23;break}dF((c[V>>2]|0)+(c[va>>2]|0)|0,c[sa+(c[n>>2]<<2)>>2]|0,c[ga+(c[n>>2]<<2)>>2]|0)|0;c[sa+(c[n>>2]<<2)>>2]=(c[V>>2]|0)+((c[sa+(c[n>>2]<<2)>>2]|0)-(c[(c[R>>2]|0)+56>>2]|0))}mC(c[R>>2]|0,(c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)|0,c[ga+(c[n>>2]<<2)>>2]|0,y)}a:do if((va|0)==16)_E(r|0,0,(c[n>>2]|0)+1<<2|0)|0;else if((va|0)==23){c[y>>2]=kj(58592)|0;_E(r|0,0,(c[n>>2]|0)+1<<2|0)|0}else if((va|0)==26){c[ta>>2]=(c[ta>>2]|0)+3&-4;c[w>>2]=(c[(c[u>>2]|0)+32>>2]|0)+80;c[ua>>2]=(c[ta>>2]<<2)+(c[ta>>2]<<1)+(c[(c[u>>2]|0)+32>>2]|0)+($(c[w>>2]|0,c[q>>2]|0)|0);c[s>>2]=mg(c[ua>>2]|0)|0;if(!(c[s>>2]|0)){c[y>>2]=7;break}c[J>>2]=(c[s>>2]|0)+(c[ta>>2]<<2);c[pa>>2]=(c[J>>2]|0)+(c[ta>>2]<<1);b[v>>1]=d[(c[r>>2]|0)+5>>0]<<2;c[l>>2]=d[(c[r>>2]|0)+3>>0];c[n>>2]=0;while(1){ta=c[u>>2]|0;if((c[n>>2]|0)>=(c[q>>2]|0))break;k=(c[ta+32>>2]|0)+($(c[w>>2]|0,c[n>>2]|0)|0)|0;k=(c[pa>>2]|0)+k|0;c[F+(c[n>>2]<<2)>>2]=k;c[ja>>2]=k;k=(c[ja>>2]|0)+0|0;ua=(c[r+(c[n>>2]<<2)>>2]|0)+0|0;ta=k+76|0;do{c[k>>2]=c[ua>>2];k=k+4|0;ua=ua+4|0}while((k|0)<(ta|0));c[(c[ja>>2]|0)+56>>2]=(c[ja>>2]|0)+76;dF(c[(c[ja>>2]|0)+56>>2]|0,c[(c[r+(c[n>>2]<<2)>>2]|0)+56>>2]|0,c[(c[u>>2]|0)+32>>2]|0)|0;c[ka>>2]=(e[(c[ja>>2]|0)+18>>1]|0)+(d[(c[ja>>2]|0)+1>>0]|0);b:do if((d[(c[ja>>2]|0)+1>>0]|0)>0){c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[ka>>2]|0))break b;f=sC(c[ja>>2]|0,c[E>>2]|0)|0;c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]=f;f=lB(c[ja>>2]|0,c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=f;c[H>>2]=(c[H>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+1}}else{c[la>>2]=c[(c[ja>>2]|0)+56>>2];b[ma>>1]=b[(c[ja>>2]|0)+20>>1]|0;b[na>>1]=b[(c[ja>>2]|0)+14>>1]|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[ka>>2]|0))break b;c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]=(c[la>>2]|0)+(e[ma>>1]&(d[(c[la>>2]|0)+((e[na>>1]|0)+(c[E>>2]<<1))>>0]<<8|d[(c[la>>2]|0)+((e[na>>1]|0)+(c[E>>2]<<1))+1>>0]));f=lB(c[ja>>2]|0,c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=f;c[H>>2]=(c[H>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+1}}while(0);if(!((c[l>>2]|0)!=0?1:(c[n>>2]|0)>=((c[q>>2]|0)-1|0))){b[oa>>1]=c[ga+(c[n>>2]<<2)>>2];b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=b[oa>>1]|0;c[ra>>2]=(c[pa>>2]|0)+(c[qa>>2]|0);c[qa>>2]=(c[qa>>2]|0)+(e[oa>>1]|0);dF(c[ra>>2]|0,c[sa+(c[n>>2]<<2)>>2]|0,e[oa>>1]|0)|0;c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]=(c[ra>>2]|0)+(e[v>>1]|0);b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=(e[(c[J>>2]|0)+(c[H>>2]<<1)>>1]|0)-(e[v>>1]|0);ta=c[H>>2]|0;if(a[(c[ja>>2]|0)+5>>0]|0){if((e[(c[J>>2]|0)+(ta<<1)>>1]|0)<4)b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=4}else{f=c[(c[s>>2]|0)+(ta<<2)>>2]|0;g=(c[(c[ja>>2]|0)+56>>2]|0)+8|0;a[f+0>>0]=a[g+0>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0}c[H>>2]=(c[H>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}c[ia>>2]=(c[ta+36>>2]|0)-12+(e[v>>1]|0);c[n>>2]=0;c[w>>2]=0;c[ha>>2]=0;while(1){if((c[n>>2]|0)>=(c[H>>2]|0))break;c[ha>>2]=(c[ha>>2]|0)+((e[(c[J>>2]|0)+(c[n>>2]<<1)>>1]|0)+2);if((c[ha>>2]|0)>(c[ia>>2]|0)){c[ga+(c[w>>2]<<2)>>2]=(c[ha>>2]|0)-(e[(c[J>>2]|0)+(c[n>>2]<<1)>>1]|0);c[z+(c[w>>2]<<2)>>2]=c[n>>2];if(c[l>>2]|0)c[n>>2]=(c[n>>2]|0)+ -1;c[ha>>2]=0;c[w>>2]=(c[w>>2]|0)+1;if((c[w>>2]|0)>4){va=50;break}}c[n>>2]=(c[n>>2]|0)+1}if((va|0)==50){c[y>>2]=kj(58731)|0;break}c[ga+(c[w>>2]<<2)>>2]=c[ha>>2];c[z+(c[w>>2]<<2)>>2]=c[H>>2];c[w>>2]=(c[w>>2]|0)+1;c[n>>2]=(c[w>>2]|0)-1;while(1){if((c[n>>2]|0)<=0)break;c[ca>>2]=c[ga+(c[n>>2]<<2)>>2];c[ea>>2]=c[ga+((c[n>>2]|0)-1<<2)>>2];c[fa>>2]=(c[z+((c[n>>2]|0)-1<<2)>>2]|0)-1;c[da>>2]=(c[fa>>2]|0)+1-(c[l>>2]|0);while(1){if(c[ca>>2]|0){if(c[ba>>2]|0)break;if(((c[ca>>2]|0)+(e[(c[J>>2]|0)+(c[da>>2]<<1)>>1]|0)+2|0)>((c[ea>>2]|0)-((e[(c[J>>2]|0)+(c[fa>>2]<<1)>>1]|0)+2)|0))break}c[ca>>2]=(c[ca>>2]|0)+((e[(c[J>>2]|0)+(c[da>>2]<<1)>>1]|0)+2);c[ea>>2]=(c[ea>>2]|0)-((e[(c[J>>2]|0)+(c[fa>>2]<<1)>>1]|0)+2);f=z+((c[n>>2]|0)-1<<2)|0;c[f>>2]=(c[f>>2]|0)+ -1;c[fa>>2]=(c[z+((c[n>>2]|0)-1<<2)>>2]|0)-1;c[da>>2]=(c[fa>>2]|0)+1-(c[l>>2]|0)}c[ga+(c[n>>2]<<2)>>2]=c[ca>>2];c[ga+((c[n>>2]|0)-1<<2)>>2]=c[ea>>2];c[n>>2]=(c[n>>2]|0)+ -1}if((c[(c[r>>2]|0)+72>>2]|0)>>>0<=1){c[y>>2]=kj(58793)|0;break}c[M>>2]=d[c[(c[r>>2]|0)+56>>2]>>0];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[w>>2]|0))break;if((c[n>>2]|0)<(c[q>>2]|0)){f=c[r+(c[n>>2]<<2)>>2]|0;c[p+(c[n>>2]<<2)>>2]=f;c[_>>2]=f;c[r+(c[n>>2]<<2)>>2]=0;c[y>>2]=gd(c[(c[_>>2]|0)+68>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+1;if(c[y>>2]|0)break a}else{c[y>>2]=uA(c[u>>2]|0,_,aa,(c[ba>>2]|0)!=0?1:c[aa>>2]|0,0)|0;if(c[y>>2]|0)break a;c[p+(c[n>>2]<<2)>>2]=c[_>>2];c[o>>2]=(c[o>>2]|0)+1;if((a[(c[u>>2]|0)+17>>0]|0)!=0?(yA(c[u>>2]|0,c[(c[_>>2]|0)+72>>2]|0,5,c[(c[R>>2]|0)+72>>2]|0,y),(c[y>>2]|0)!=0):0)break a}c[n>>2]=(c[n>>2]|0)+1}while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;vB(c[r+(c[n>>2]<<2)>>2]|0,y);if(c[y>>2]|0)break a;Rk(c[r+(c[n>>2]<<2)>>2]|0);c[r+(c[n>>2]<<2)>>2]=0;c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[w>>2]|0)-1|0))break;c[Z>>2]=c[(c[p+(c[n>>2]<<2)>>2]|0)+72>>2];c[Y>>2]=c[n>>2];c[E>>2]=(c[n>>2]|0)+1;while(1){if((c[E>>2]|0)>=(c[w>>2]|0))break;if((c[(c[p+(c[E>>2]<<2)>>2]|0)+72>>2]|0)>>>0<(c[Z>>2]|0)>>>0){c[Y>>2]=c[E>>2];c[Z>>2]=c[(c[p+(c[E>>2]<<2)>>2]|0)+72>>2]}c[E>>2]=(c[E>>2]|0)+1}if((c[Y>>2]|0)>(c[n>>2]|0)){c[U>>2]=c[p+(c[n>>2]<<2)>>2];c[p+(c[n>>2]<<2)>>2]=c[p+(c[Y>>2]<<2)>>2];c[p+(c[Y>>2]<<2)>>2]=c[U>>2]}c[n>>2]=(c[n>>2]|0)+1}ck(c[W>>2]|0,c[(c[p+((c[o>>2]|0)-1<<2)>>2]|0)+72>>2]|0);c[E>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;c[S>>2]=c[p+(c[n>>2]<<2)>>2];wB(c[S>>2]|0,c[M>>2]|0);tC(c[S>>2]|0,(c[z+(c[n>>2]<<2)>>2]|0)-(c[E>>2]|0)|0,(c[s>>2]|0)+(c[E>>2]<<2)|0,(c[J>>2]|0)+(c[E>>2]<<1)|0);c[E>>2]=c[z+(c[n>>2]<<2)>>2];if((c[E>>2]|0)<(c[H>>2]|0)){c[Q>>2]=c[(c[s>>2]|0)+(c[E>>2]<<2)>>2];c[O>>2]=(e[(c[J>>2]|0)+(c[E>>2]<<1)>>1]|0)+(e[v>>1]|0);c[K>>2]=(c[V>>2]|0)+(c[N>>2]|0);do if(a[(c[S>>2]|0)+5>>0]|0){if(c[l>>2]|0){c[E>>2]=(c[E>>2]|0)+ -1;Kw(c[S>>2]|0,c[(c[s>>2]|0)+(c[E>>2]<<2)>>2]|0,T);c[Q>>2]=c[K>>2];f=T;c[O>>2]=4+(oz((c[Q>>2]|0)+4|0,c[f>>2]|0,c[f+4>>2]|0)|0);c[K>>2]=0;break}c[Q>>2]=(c[Q>>2]|0)+ -4;if((e[(c[J>>2]|0)+(c[E>>2]<<1)>>1]|0)==4)c[O>>2]=(lB(c[R>>2]|0,c[Q>>2]|0)|0)&65535}else{f=(c[(c[S>>2]|0)+56>>2]|0)+8|0;g=c[Q>>2]|0;a[f+0>>0]=a[g+0>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0}while(0);c[N>>2]=(c[N>>2]|0)+(c[O>>2]|0);nC(c[R>>2]|0,c[P>>2]|0,c[Q>>2]|0,c[O>>2]|0,c[K>>2]|0,c[(c[S>>2]|0)+72>>2]|0,y);if(c[y>>2]|0)break a;c[E>>2]=(c[E>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if(!(c[M>>2]&8)){c[L>>2]=(c[(c[F+((c[q>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8;f=(c[(c[p+((c[o>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;g=c[L>>2]|0;a[f+0>>0]=a[g+0>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0}if(((c[X>>2]|0)!=0?(e[(c[R>>2]|0)+18>>1]|0)==0:0)?(d[(c[R>>2]|0)+6>>0]|0)<=(e[(c[p>>2]|0)+16>>1]|0):0){uC(c[p>>2]|0,c[R>>2]|0,y);vB(c[p>>2]|0,y);break}if(a[(c[u>>2]|0)+17>>0]|0){c[x>>2]=c[p>>2];c[D>>2]=c[F>>2];c[C>>2]=d[(c[D>>2]|0)+1>>0];c[G>>2]=(e[(c[D>>2]|0)+18>>1]|0)+(c[C>>2]|0);if(c[C>>2]|0)K=e[(c[D>>2]|0)+22>>1]|0;else K=-1;c[A>>2]=K;c[E>>2]=0;c[w>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[H>>2]|0))break;c[B>>2]=0;while(1){if((c[n>>2]|0)!=(c[G>>2]|0))break;f=(c[E>>2]|0)+1|0;c[E>>2]=f;c[D>>2]=c[F+(f<<2)>>2];c[G>>2]=(c[n>>2]|0)+(((c[l>>2]|0)!=0^1)&1)+(e[(c[D>>2]|0)+18>>1]|0)+(d[(c[D>>2]|0)+1>>0]|0);if(a[(c[D>>2]|0)+1>>0]|0){c[C>>2]=d[(c[D>>2]|0)+1>>0];c[A>>2]=(c[n>>2]|0)+(((c[l>>2]|0)!=0^1)&1)+(e[(c[D>>2]|0)+22>>1]|0)}c[B>>2]=((c[l>>2]|0)!=0^1)&1}if((c[n>>2]|0)==(c[A>>2]|0)?(c[B>>2]=1,f=(c[C>>2]|0)+ -1|0,c[C>>2]=f,(f|0)>0):0)c[A>>2]=(c[A>>2]|0)+1;if(!((c[n>>2]|0)==(c[z+(c[w>>2]<<2)>>2]|0)?(f=(c[w>>2]|0)+1|0,c[w>>2]=f,c[x>>2]=c[p+(f<<2)>>2],(c[l>>2]|0)==0):0))va=116;do if((va|0)==116){va=0;if((c[B>>2]|0)==0?(c[(c[D>>2]|0)+72>>2]|0)==(c[(c[x>>2]|0)+72>>2]|0):0)break;if(!(b[v>>1]|0)){g=c[u>>2]|0;f=Hh(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;yA(g,f,5,c[(c[x>>2]|0)+72>>2]|0,y)}if((e[(c[J>>2]|0)+(c[n>>2]<<1)>>1]|0)>(e[(c[x>>2]|0)+12>>1]|0))AA(c[x>>2]|0,c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,y)}while(0);c[n>>2]=(c[n>>2]|0)+1}if(!(b[v>>1]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break a;c[t>>2]=Hh((c[(c[p+(c[n>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;yA(c[u>>2]|0,c[t>>2]|0,5,c[(c[p+(c[n>>2]<<2)>>2]|0)+72>>2]|0,y);c[n>>2]=(c[n>>2]|0)+1}}}}while(0);ng(c[s>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;Rk(c[r+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;Rk(c[p+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[I>>2]=c[y>>2];f=c[I>>2]|0;i=m;return f|0}function sC(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;h=j+16|0;f=j+12|0;g=j+8|0;k=j+4|0;l=j;c[f>>2]=a;c[g>>2]=b;c[k>>2]=(d[(c[f>>2]|0)+1>>0]|0)-1;while(1){if((c[k>>2]|0)<0){b=8;break}c[l>>2]=e[(c[f>>2]|0)+22+(c[k>>2]<<1)>>1];if((c[l>>2]|0)<=(c[g>>2]|0)){if((c[l>>2]|0)==(c[g>>2]|0)){b=5;break}c[g>>2]=(c[g>>2]|0)+ -1}c[k>>2]=(c[k>>2]|0)+ -1}if((b|0)==5){c[h>>2]=c[(c[f>>2]|0)+32+(c[k>>2]<<2)>>2];a=c[h>>2]|0;i=j;return a|0}else if((b|0)==8){c[h>>2]=(c[(c[f>>2]|0)+56>>2]|0)+((e[(c[f>>2]|0)+20>>1]|0)&((d[(c[(c[f>>2]|0)+64>>2]|0)+(c[g>>2]<<1)>>0]|0)<<8|(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[g>>2]<<1)+1>>0]|0)));a=c[h>>2]|0;i=j;return a|0}return 0}function tC(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,u=0,v=0;q=i;i=i+48|0;o=q+36|0;r=q+32|0;v=q+28|0;s=q+24|0;k=q+20|0;u=q+16|0;n=q+12|0;l=q+8|0;m=q+4|0;p=q;t=q+40|0;c[o>>2]=f;c[r>>2]=g;c[v>>2]=h;c[s>>2]=j;c[l>>2]=c[(c[o>>2]|0)+56>>2];c[m>>2]=d[(c[o>>2]|0)+6>>0];c[p>>2]=c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2];c[u>>2]=(c[(c[o>>2]|0)+64>>2]|0)+(c[r>>2]<<1);c[n>>2]=c[p>>2];c[k>>2]=(c[r>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;b[t>>1]=b[(c[s>>2]|0)+(c[k>>2]<<1)>>1]|0;c[u>>2]=(c[u>>2]|0)+ -2;c[n>>2]=(c[n>>2]|0)-(e[t>>1]|0);a[c[u>>2]>>0]=c[n>>2]>>8;a[(c[u>>2]|0)+1>>0]=c[n>>2];dF((c[l>>2]|0)+(c[n>>2]|0)|0,c[(c[v>>2]|0)+(c[k>>2]<<2)>>2]|0,e[t>>1]|0|0)|0;c[k>>2]=(c[k>>2]|0)+ -1}a[(c[l>>2]|0)+((c[m>>2]|0)+3)>>0]=c[r>>2]>>8;a[(c[l>>2]|0)+((c[m>>2]|0)+3)+1>>0]=c[r>>2];a[(c[l>>2]|0)+((c[m>>2]|0)+5)>>0]=c[n>>2]>>8;a[(c[l>>2]|0)+((c[m>>2]|0)+5)+1>>0]=c[n>>2];f=(c[o>>2]|0)+16|0;b[f>>1]=(e[f>>1]|0)-((c[r>>2]<<1)+(c[p>>2]|0)-(c[n>>2]|0));b[(c[o>>2]|0)+18>>1]=c[r>>2];i=q;return}function uC(b,f,g){b=b|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;o=i;i=i+48|0;n=o+36|0;l=o+32|0;k=o+28|0;m=o+24|0;h=o+20|0;p=o+16|0;q=o+12|0;r=o+8|0;j=o+4|0;s=o;c[n>>2]=b;c[l>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=o;return}c[m>>2]=c[(c[n>>2]|0)+52>>2];c[h>>2]=c[(c[n>>2]|0)+56>>2];c[p>>2]=c[(c[l>>2]|0)+56>>2];c[q>>2]=d[(c[n>>2]|0)+6>>0];c[r>>2]=(c[(c[l>>2]|0)+72>>2]|0)==1?100:0;c[s>>2]=d[(c[h>>2]|0)+((c[q>>2]|0)+5)>>0]<<8|d[(c[h>>2]|0)+((c[q>>2]|0)+5)+1>>0];dF((c[p>>2]|0)+(c[s>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)|0,(c[(c[m>>2]|0)+36>>2]|0)-(c[s>>2]|0)|0)|0;dF((c[p>>2]|0)+(c[r>>2]|0)|0,(c[h>>2]|0)+(c[q>>2]|0)|0,(e[(c[n>>2]|0)+14>>1]|0)+(e[(c[n>>2]|0)+18>>1]<<1)|0)|0;a[c[l>>2]>>0]=0;c[j>>2]=Sj(c[l>>2]|0)|0;if(c[j>>2]|0){c[c[k>>2]>>2]=c[j>>2];i=o;return}if(!(a[(c[m>>2]|0)+17>>0]|0)){i=o;return}b=xA(c[l>>2]|0)|0;c[c[k>>2]>>2]=b;i=o;return}function vC(b,f,g){b=b|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;p=i;i=i+64|0;o=p+52|0;x=p+48|0;k=p+44|0;n=p+40|0;m=p+36|0;l=p+32|0;r=p+28|0;q=p+24|0;w=p+20|0;v=p+16|0;h=p+12|0;t=p+8|0;u=p+4|0;s=p;c[x>>2]=b;c[k>>2]=f;c[n>>2]=g;c[m>>2]=d[(c[x>>2]|0)+6>>0];c[l>>2]=c[(c[x>>2]|0)+56>>2];c[v>>2]=c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2];c[q>>2]=(e[(c[x>>2]|0)+14>>1]|0)+((e[(c[x>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[l>>2]|0)+((c[m>>2]|0)+5)>>0]|0)<<8|(d[(c[l>>2]|0)+((c[m>>2]|0)+5)+1>>0]|0);do if((c[q>>2]|0)>(c[r>>2]|0)){if(!(c[r>>2]|0)){c[r>>2]=65536;break}c[o>>2]=kj(53453)|0;b=c[o>>2]|0;i=p;return b|0}while(0);a:do if(((c[q>>2]|0)+2|0)<=(c[r>>2]|0)){if((d[(c[l>>2]|0)+((c[m>>2]|0)+1)>>0]|0|0)==0?(d[(c[l>>2]|0)+((c[m>>2]|0)+2)>>0]|0|0)==0:0){j=22;break}c[t>>2]=(c[m>>2]|0)+1;while(1){b=(d[(c[l>>2]|0)+(c[t>>2]|0)>>0]|0)<<8|(d[(c[l>>2]|0)+(c[t>>2]|0)+1>>0]|0);c[h>>2]=b;if((b|0)<=0){j=22;break a}if((c[h>>2]|0)>((c[v>>2]|0)-4|0)){j=12;break}if((c[h>>2]|0)<((c[t>>2]|0)+4|0)){j=12;break}c[u>>2]=(d[(c[l>>2]|0)+((c[h>>2]|0)+2)>>0]|0)<<8|(d[(c[l>>2]|0)+((c[h>>2]|0)+2)+1>>0]|0);if((c[u>>2]|0)>=(c[k>>2]|0))break;c[t>>2]=c[h>>2]}if((j|0)==12){c[o>>2]=kj(53469)|0;b=c[o>>2]|0;i=p;return b|0}c[s>>2]=(c[u>>2]|0)-(c[k>>2]|0);do if((c[s>>2]|0)<4){if((d[(c[l>>2]|0)+((c[m>>2]|0)+7)>>0]|0|0)>=60){j=23;break a}b=(c[l>>2]|0)+(c[t>>2]|0)|0;f=(c[l>>2]|0)+(c[h>>2]|0)|0;a[b+0>>0]=a[f+0>>0]|0;a[b+1>>0]=a[f+1>>0]|0;b=(c[l>>2]|0)+((c[m>>2]|0)+7)|0;a[b>>0]=(d[b>>0]|0)+(c[s>>2]&255)}else{if(((c[u>>2]|0)+(c[h>>2]|0)|0)<=(c[v>>2]|0)){a[(c[l>>2]|0)+((c[h>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[l>>2]|0)+((c[h>>2]|0)+2)+1>>0]=c[s>>2];break}c[o>>2]=kj(53483)|0;b=c[o>>2]|0;i=p;return b|0}while(0);c[c[n>>2]>>2]=(c[h>>2]|0)+(c[s>>2]|0);c[o>>2]=0;b=c[o>>2]|0;i=p;return b|0}else j=22;while(0);if((j|0)==22?((c[q>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0):0)j=23;do if((j|0)==23){c[w>>2]=wC(c[x>>2]|0)|0;if(!(c[w>>2]|0)){c[r>>2]=(((d[(c[l>>2]|0)+((c[m>>2]|0)+5)>>0]|0)<<8|(d[(c[l>>2]|0)+((c[m>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[o>>2]=c[w>>2];b=c[o>>2]|0;i=p;return b|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[l>>2]|0)+((c[m>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[l>>2]|0)+((c[m>>2]|0)+5)+1>>0]=c[r>>2];c[c[n>>2]>>2]=c[r>>2];c[o>>2]=0;b=c[o>>2]|0;i=p;return b|0}function wC(b){b=b|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;f=i;i=i+64|0;m=f+56|0;l=f+52|0;t=f+48|0;o=f+44|0;j=f+40|0;n=f+36|0;p=f+32|0;s=f+28|0;g=f+24|0;v=f+20|0;h=f+16|0;q=f+12|0;k=f+8|0;r=f+4|0;u=f;c[l>>2]=b;c[q>>2]=xC(c[c[(c[l>>2]|0)+52>>2]>>2]|0)|0;c[h>>2]=c[(c[l>>2]|0)+56>>2];c[j>>2]=d[(c[l>>2]|0)+6>>0];c[s>>2]=e[(c[l>>2]|0)+14>>1];c[v>>2]=e[(c[l>>2]|0)+18>>1];c[p>>2]=c[(c[(c[l>>2]|0)+52>>2]|0)+36>>2];c[g>>2]=(d[(c[h>>2]|0)+((c[j>>2]|0)+5)>>0]|0)<<8|(d[(c[h>>2]|0)+((c[j>>2]|0)+5)+1>>0]|0);dF((c[q>>2]|0)+(c[g>>2]|0)|0,(c[h>>2]|0)+(c[g>>2]|0)|0,(c[p>>2]|0)-(c[g>>2]|0)|0)|0;c[g>>2]=c[p>>2];c[k>>2]=(c[s>>2]|0)+(c[v>>2]<<1);c[r>>2]=(c[p>>2]|0)-4;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0)){n=10;break}c[u>>2]=(c[h>>2]|0)+((c[s>>2]|0)+(c[t>>2]<<1));c[o>>2]=(d[c[u>>2]>>0]|0)<<8|(d[(c[u>>2]|0)+1>>0]|0);if((c[o>>2]|0)<(c[k>>2]|0)){n=5;break}if((c[o>>2]|0)>(c[r>>2]|0)){n=5;break}c[n>>2]=(lB(c[l>>2]|0,(c[q>>2]|0)+(c[o>>2]|0)|0)|0)&65535;c[g>>2]=(c[g>>2]|0)-(c[n>>2]|0);if((c[g>>2]|0)<(c[k>>2]|0)){n=8;break}if(((c[o>>2]|0)+(c[n>>2]|0)|0)>(c[p>>2]|0)){n=8;break}dF((c[h>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[o>>2]|0)|0,c[n>>2]|0)|0;a[c[u>>2]>>0]=c[g>>2]>>8;a[(c[u>>2]|0)+1>>0]=c[g>>2];c[t>>2]=(c[t>>2]|0)+1}if((n|0)==5){c[m>>2]=kj(53381)|0;v=c[m>>2]|0;i=f;return v|0}else if((n|0)==8){c[m>>2]=kj(53393)|0;v=c[m>>2]|0;i=f;return v|0}else if((n|0)==10){a[(c[h>>2]|0)+((c[j>>2]|0)+5)>>0]=c[g>>2]>>8;a[(c[h>>2]|0)+((c[j>>2]|0)+5)+1>>0]=c[g>>2];a[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]=0;a[(c[h>>2]|0)+((c[j>>2]|0)+2)>>0]=0;a[(c[h>>2]|0)+((c[j>>2]|0)+7)>>0]=0;_E((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[g>>2]|0)-(c[k>>2]|0)|0)|0;if(((c[g>>2]|0)-(c[k>>2]|0)|0)!=(e[(c[l>>2]|0)+16>>1]|0|0)){c[m>>2]=kj(53410)|0;v=c[m>>2]|0;i=f;return v|0}else{c[m>>2]=0;v=c[m>>2]|0;i=f;return v|0}}return 0}function xC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+200>>2]|0}function yC(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;n=i;i=i+48|0;m=n+20|0;t=n+16|0;j=n+32|0;u=n+30|0;s=n+28|0;o=n+26|0;q=n+35|0;v=n+34|0;l=n+24|0;x=n+12|0;r=n+8|0;p=n+4|0;w=n;c[t>>2]=f;b[j>>1]=g;b[u>>1]=h;a[v>>0]=0;b[l>>1]=b[u>>1]|0;c[x>>2]=(c[(c[(c[t>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[r>>2]=(e[j>>1]|0)+(e[u>>1]|0);c[p>>2]=c[(c[t>>2]|0)+56>>2];if((e[(c[(c[t>>2]|0)+52>>2]|0)+22>>1]|0)&4)_E((c[p>>2]|0)+(e[j>>1]|0)|0,0,e[u>>1]|0|0)|0;a[q>>0]=a[(c[t>>2]|0)+6>>0]|0;b[s>>1]=(d[q>>0]|0)+1;if((d[(c[p>>2]|0)+((e[s>>1]|0)+1)>>0]|0|0)==0?(d[(c[p>>2]|0)+(e[s>>1]|0)>>0]|0|0)==0:0)b[o>>1]=0;else k=6;do if((k|0)==6){while(1){k=0;f=((d[(c[p>>2]|0)+(e[s>>1]|0)>>0]|0)<<8|(d[(c[p>>2]|0)+(e[s>>1]|0)+1>>0]|0))&65535;b[o>>1]=f;if((f&65535|0)>0)g=(e[o>>1]|0|0)<(e[j>>1]|0|0);else g=0;h=e[o>>1]|0;if(!g)break;if((h|0)<((e[s>>1]|0)+4|0)){k=10;break}b[s>>1]=b[o>>1]|0;k=6}if((k|0)==10){c[m>>2]=kj(53568)|0;f=c[m>>2]|0;i=n;return f|0}if(h>>>0>(c[x>>2]|0)>>>0){c[m>>2]=kj(53571)|0;f=c[m>>2]|0;i=n;return f|0}do if((e[o>>1]|0|0)!=0?((c[r>>2]|0)+3|0)>>>0>=(e[o>>1]|0)>>>0:0){a[v>>0]=(e[o>>1]|0)-(c[r>>2]|0);if((c[r>>2]|0)>>>0<=(e[o>>1]|0)>>>0){c[r>>2]=(e[o>>1]|0)+((d[(c[p>>2]|0)+((e[o>>1]|0)+2)>>0]|0)<<8|(d[(c[p>>2]|0)+((e[o>>1]|0)+2)+1>>0]|0));b[u>>1]=(c[r>>2]|0)-(e[j>>1]|0);b[o>>1]=(d[(c[p>>2]|0)+(e[o>>1]|0)>>0]|0)<<8|(d[(c[p>>2]|0)+(e[o>>1]|0)+1>>0]|0);break}c[m>>2]=kj(53582)|0;f=c[m>>2]|0;i=n;return f|0}while(0);do if((e[s>>1]|0|0)>((d[q>>0]|0)+1|0)?(c[w>>2]=(e[s>>1]|0)+((d[(c[p>>2]|0)+((e[s>>1]|0)+2)>>0]|0)<<8|(d[(c[p>>2]|0)+((e[s>>1]|0)+2)+1>>0]|0)),((c[w>>2]|0)+3|0)>=(e[j>>1]|0|0)):0){if((c[w>>2]|0)<=(e[j>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[j>>1]|0)-(c[w>>2]|0));b[u>>1]=(c[r>>2]|0)-(e[s>>1]|0);b[j>>1]=b[s>>1]|0;break}c[m>>2]=kj(53595)|0;f=c[m>>2]|0;i=n;return f|0}while(0);if((d[v>>0]|0|0)<=(d[(c[p>>2]|0)+((d[q>>0]|0)+7)>>0]|0|0)){f=(c[p>>2]|0)+((d[q>>0]|0)+7)|0;a[f>>0]=(d[f>>0]|0)-(d[v>>0]|0);break}c[m>>2]=kj(53601)|0;f=c[m>>2]|0;i=n;return f|0}while(0);do if((e[j>>1]|0|0)==((d[(c[p>>2]|0)+((d[q>>0]|0)+5)>>0]|0)<<8|(d[(c[p>>2]|0)+((d[q>>0]|0)+5)+1>>0]|0)|0)){if((e[s>>1]|0|0)==((d[q>>0]|0)+1|0)){a[(c[p>>2]|0)+((d[q>>0]|0)+1)>>0]=(e[o>>1]|0)>>8;a[(c[p>>2]|0)+((d[q>>0]|0)+1)+1>>0]=b[o>>1];a[(c[p>>2]|0)+((d[q>>0]|0)+5)>>0]=(c[r>>2]|0)>>>8;a[(c[p>>2]|0)+((d[q>>0]|0)+5)+1>>0]=c[r>>2];break}c[m>>2]=kj(53608)|0;f=c[m>>2]|0;i=n;return f|0}else{a[(c[p>>2]|0)+(e[s>>1]|0)>>0]=(e[j>>1]|0)>>8;a[(c[p>>2]|0)+(e[s>>1]|0)+1>>0]=b[j>>1];a[(c[p>>2]|0)+(e[j>>1]|0)>>0]=(e[o>>1]|0)>>8;a[(c[p>>2]|0)+(e[j>>1]|0)+1>>0]=b[o>>1];a[(c[p>>2]|0)+((e[j>>1]|0)+2)>>0]=(e[u>>1]|0)>>8;a[(c[p>>2]|0)+((e[j>>1]|0)+2)+1>>0]=b[u>>1]}while(0);f=(c[t>>2]|0)+16|0;b[f>>1]=(e[f>>1]|0)+(e[l>>1]|0);c[m>>2]=0;f=c[m>>2]|0;i=n;return f|0}function zC(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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=i;i=i+112|0;r=o+96|0;E=o+92|0;M=o+88|0;K=o+84|0;J=o;L=o+80|0;H=o+76|0;N=o+72|0;C=o+68|0;u=o+64|0;G=o+60|0;I=o+56|0;v=o+52|0;p=o+48|0;w=o+44|0;y=o+40|0;q=o+36|0;x=o+32|0;z=o+28|0;A=o+24|0;F=o+20|0;B=o+16|0;D=o+12|0;s=o+8|0;t=o+100|0;c[E>>2]=b;c[M>>2]=f;c[K>>2]=g;b=J;c[b>>2]=h;c[b+4>>2]=j;c[L>>2]=k;c[H>>2]=l;c[N>>2]=m;c[C>>2]=n;c[y>>2]=0;c[q>>2]=0;c[A>>2]=c[(c[E>>2]|0)+52>>2];c[F>>2]=0;c[B>>2]=d[(c[E>>2]|0)+7>>0];c[u>>2]=(c[H>>2]|0)+(c[N>>2]|0);if(a[(c[E>>2]|0)+3>>0]|0){if((c[u>>2]|0)>>>0<128){a[(c[M>>2]|0)+(c[B>>2]|0)>>0]=c[u>>2];n=1}else{n=c[u>>2]|0;n=oz((c[M>>2]|0)+(c[B>>2]|0)|0,n,((n|0)<0)<<31>>31)|0}c[B>>2]=(c[B>>2]|0)+(n&255)}N=J;N=oz((c[M>>2]|0)+(c[B>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+N;do if(a[(c[E>>2]|0)+2>>0]|0){c[G>>2]=c[L>>2];c[I>>2]=c[H>>2];c[H>>2]=0}else{N=J;b=c[N+4>>2]|0;if(!((b|0)>0|(b|0)==0&(c[N>>2]|0)>>>0>2147483647|(c[K>>2]|0)==0)){c[u>>2]=c[J>>2];c[G>>2]=c[K>>2];c[I>>2]=c[J>>2];break}c[r>>2]=kj(57891)|0;N=c[r>>2]|0;i=o;return N|0}while(0);if((c[u>>2]|0)<=(e[(c[E>>2]|0)+10>>1]|0)){N=(c[B>>2]|0)+(c[u>>2]|0)|0;c[v>>2]=N;c[v>>2]=(c[v>>2]|0)<4?4:N;c[c[C>>2]>>2]=c[v>>2];c[w>>2]=c[u>>2];c[x>>2]=c[M>>2]}else{c[D>>2]=e[(c[E>>2]|0)+12>>1];c[v>>2]=(c[D>>2]|0)+((((c[u>>2]|0)-(c[D>>2]|0)|0)>>>0)%(((c[(c[(c[E>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[v>>2]|0)>(e[(c[E>>2]|0)+10>>1]|0))c[v>>2]=c[D>>2];c[w>>2]=c[v>>2];c[c[C>>2]>>2]=(c[v>>2]|0)+(c[B>>2]|0)+4;c[x>>2]=(c[M>>2]|0)+((c[B>>2]|0)+(c[v>>2]|0))}c[z>>2]=(c[M>>2]|0)+(c[B>>2]|0);while(1){if((c[u>>2]|0)<=0){s=37;break}if(!(c[w>>2]|0)){c[s>>2]=c[F>>2];if(a[(c[A>>2]|0)+17>>0]|0)while(1){c[F>>2]=(c[F>>2]|0)+1;N=Pw(c[A>>2]|0,c[F>>2]|0)|0;if((N|0)==(c[F>>2]|0))continue;if((c[F>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[A>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[p>>2]=uA(c[A>>2]|0,y,F,c[F>>2]|0,0)|0;if(((c[p>>2]|0)==0?(d[(c[A>>2]|0)+17>>0]|0)!=0:0)?(a[t>>0]=(c[s>>2]|0)!=0?4:3,yA(c[A>>2]|0,c[F>>2]|0,a[t>>0]|0,c[s>>2]|0,p),(c[p>>2]|0)!=0):0)Rk(c[y>>2]|0);if(c[p>>2]|0){s=26;break}ck(c[x>>2]|0,c[F>>2]|0);Rk(c[q>>2]|0);c[q>>2]=c[y>>2];c[x>>2]=c[(c[y>>2]|0)+56>>2];ck(c[x>>2]|0,0);c[z>>2]=(c[(c[y>>2]|0)+56>>2]|0)+4;c[w>>2]=(c[(c[A>>2]|0)+36>>2]|0)-4}c[v>>2]=c[u>>2];if((c[v>>2]|0)>(c[w>>2]|0))c[v>>2]=c[w>>2];if((c[I>>2]|0)>0){if((c[v>>2]|0)>(c[I>>2]|0))c[v>>2]=c[I>>2];dF(c[z>>2]|0,c[G>>2]|0,c[v>>2]|0)|0}else _E(c[z>>2]|0,0,c[v>>2]|0)|0;c[u>>2]=(c[u>>2]|0)-(c[v>>2]|0);c[z>>2]=(c[z>>2]|0)+(c[v>>2]|0);c[G>>2]=(c[G>>2]|0)+(c[v>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[v>>2]|0);c[w>>2]=(c[w>>2]|0)-(c[v>>2]|0);if(c[I>>2]|0)continue;c[I>>2]=c[H>>2];c[G>>2]=c[L>>2]}if((s|0)==26){Rk(c[q>>2]|0);c[r>>2]=c[p>>2];N=c[r>>2]|0;i=o;return N|0}else if((s|0)==37){Rk(c[q>>2]|0);c[r>>2]=0;N=c[r>>2]|0;i=o;return N|0}return 0}function AC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;g=d+4|0;f=d;c[e>>2]=a;c[g>>2]=b;c[f>>2]=c[(c[g>>2]|0)+56>>2];if(!(c[f>>2]|0)){i=d;return}Sz(c[e>>2]|0,c[f>>2]|0);hc(c[(c[f>>2]|0)+40>>2]|0);Xb(c[e>>2]|0,c[f>>2]|0);c[(c[g>>2]|0)+56>>2]=0;i=d;return}function BC(b,e,f){b=b|0;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;j=i;i=i+64|0;o=j+44|0;n=j+40|0;u=j+36|0;m=j+32|0;h=j+28|0;k=j+24|0;g=j+20|0;p=j+16|0;l=j+12|0;s=j+8|0;t=j+4|0;q=j+48|0;r=j;c[n>>2]=b;c[u>>2]=e;c[m>>2]=f;c[h>>2]=c[(c[n>>2]|0)+4>>2];f=c[h>>2]|0;if(a[(c[h>>2]|0)+17>>0]|0){sA(f);Sc(c[n>>2]|0,4,g);c[g>>2]=(c[g>>2]|0)+1;while(1){b=c[g>>2]|0;if((b|0)!=(Pw(c[h>>2]|0,c[g>>2]|0)|0)?(c[g>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[g>>2]=(c[g>>2]|0)+1}c[p>>2]=uA(c[h>>2]|0,t,s,c[g>>2]|0,1)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}if((c[s>>2]|0)!=(c[g>>2]|0)){a[q>>0]=0;c[r>>2]=0;c[p>>2]=Hy(c[h>>2]|0,0,0)|0;Rk(c[t>>2]|0);if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=Bw(c[h>>2]|0,c[g>>2]|0,k,0)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=Qw(c[h>>2]|0,c[g>>2]|0,q,r)|0;if(!((d[q>>0]|0)!=1?(d[q>>0]|0)!=2:0))c[p>>2]=kj(59666)|0;if(c[p>>2]|0){Rk(c[k>>2]|0);c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=vA(c[h>>2]|0,c[k>>2]|0,a[q>>0]|0,c[r>>2]|0,c[s>>2]|0,0)|0;Rk(c[k>>2]|0);if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=Bw(c[h>>2]|0,c[g>>2]|0,k,0)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=gd(c[(c[k>>2]|0)+68>>2]|0)|0;if(c[p>>2]|0){Rk(c[k>>2]|0);c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}}else c[k>>2]=c[t>>2];yA(c[h>>2]|0,c[g>>2]|0,1,0,p);if(c[p>>2]|0){Rk(c[k>>2]|0);c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=bd(c[n>>2]|0,4,c[g>>2]|0)|0;if(c[p>>2]|0){Rk(c[k>>2]|0);c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}}else{c[p>>2]=uA(f,k,g,1,0)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}}if(c[m>>2]&1)c[l>>2]=13;else c[l>>2]=10;wB(c[k>>2]|0,c[l>>2]|0);_c(c[(c[k>>2]|0)+68>>2]|0);c[c[u>>2]>>2]=c[g>>2];c[o>>2]=0;b=c[o>>2]|0;i=j;return b|0}function CC(d,f,g,h,j){d=d|0;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;p=i;i=i+32|0;l=p+24|0;k=p+20|0;m=p+16|0;r=p+12|0;o=p+8|0;n=p+4|0;q=p;c[k>>2]=d;c[m>>2]=f;c[r>>2]=g;c[o>>2]=h;c[n>>2]=j;c[q>>2]=c[(c[k>>2]|0)+4>>2];if((c[r>>2]|0)!=0?((e[(c[q>>2]|0)+22>>1]|0)&1|0)!=0:0){c[l>>2]=8;d=c[l>>2]|0;i=p;return d|0}if((c[r>>2]|0)!=0?(DC(c[q>>2]|0),(c[(c[q>>2]|0)+80>>2]|0)==0):0){c[l>>2]=7;d=c[l>>2]|0;i=p;return d|0}if((c[m>>2]|0)==1?(Aw(c[q>>2]|0)|0)==0:0)c[m>>2]=0;c[(c[n>>2]|0)+60>>2]=c[m>>2];b[(c[n>>2]|0)+76>>1]=-1;c[(c[n>>2]|0)+16>>2]=c[o>>2];c[c[n>>2]>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[q>>2];a[(c[n>>2]|0)+72>>0]=c[r>>2];c[(c[n>>2]|0)+8>>2]=c[(c[q>>2]|0)+8>>2];if(c[(c[n>>2]|0)+8>>2]|0)c[(c[(c[n>>2]|0)+8>>2]|0)+12>>2]=c[n>>2];c[(c[q>>2]|0)+8>>2]=c[n>>2];a[(c[n>>2]|0)+73>>0]=0;c[l>>2]=0;d=c[l>>2]|0;i=p;return d|0}function DC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(c[(c[e>>2]|0)+80>>2]|0){i=d;return}b=Hg(c[(c[e>>2]|0)+32>>2]|0)|0;c[(c[e>>2]|0)+80>>2]=b;if(!(c[(c[e>>2]|0)+80>>2]|0)){i=d;return}b=c[(c[e>>2]|0)+80>>2]|0;a[b+0>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;e=(c[e>>2]|0)+80|0;c[e>>2]=(c[e>>2]|0)+4;i=d;return}function EC(){return 200}function FC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;d=(c[d>>2]|0)+0|0;a=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=b;return}function GC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+24|0;h=e+20|0;l=e+16|0;g=e+12|0;m=e+8|0;k=e+4|0;j=e;c[h>>2]=a;c[l>>2]=b;c[g>>2]=0;c[m>>2]=c[(c[h>>2]|0)+96>>2];a:do if((c[l>>2]|0)>(c[m>>2]|0)?(d[(c[h>>2]|0)+6>>0]|0|0)!=0:0){c[j>>2]=kc(c[(c[h>>2]|0)+92>>2]|0,(c[l>>2]|0)*48|0,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=e;return a|0}_E((c[j>>2]|0)+((c[m>>2]|0)*48|0)|0,0,((c[l>>2]|0)-(c[m>>2]|0)|0)*48|0)|0;c[(c[h>>2]|0)+92>>2]=c[j>>2];c[k>>2]=c[m>>2];while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break a;c[(c[j>>2]|0)+((c[k>>2]|0)*48|0)+20>>2]=c[(c[h>>2]|0)+24>>2];if((c[c[(c[h>>2]|0)+64>>2]>>2]|0)!=0?(a=(c[h>>2]|0)+72|0,m=c[a+4>>2]|0,(m|0)>0|(m|0)==0&(c[a>>2]|0)>>>0>0):0){b=(c[h>>2]|0)+72|0;m=c[b+4>>2]|0;a=(c[j>>2]|0)+((c[k>>2]|0)*48|0)|0;c[a>>2]=c[b>>2];c[a+4>>2]=m}else{a=(c[j>>2]|0)+((c[k>>2]|0)*48|0)|0;c[a>>2]=c[(c[h>>2]|0)+148>>2];c[a+4>>2]=0}c[(c[j>>2]|0)+((c[k>>2]|0)*48|0)+24>>2]=c[(c[h>>2]|0)+52>>2];a=Vg(c[(c[h>>2]|0)+24>>2]|0)|0;c[(c[j>>2]|0)+((c[k>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[j>>2]|0)+((c[k>>2]|0)*48|0)+16>>2]|0))break;if(ai(c[h>>2]|0)|0)HC(c[(c[h>>2]|0)+208>>2]|0,(c[j>>2]|0)+((c[k>>2]|0)*48|0)+28|0);c[(c[h>>2]|0)+96>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}c[f>>2]=7;a=c[f>>2]|0;i=e;return a|0}while(0);c[f>>2]=c[g>>2];a=c[f>>2]|0;i=e;return a|0}function HC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+68>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+76>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+80>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+104>>2];i=d;return}function IC(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[j>>2]=f;if((c[(c[j>>2]|0)+44>>2]|0)>>>0>0){c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}c[l>>2]=c[(c[j>>2]|0)+12>>2];c[k>>2]=c[(c[l>>2]|0)+56>>2];c[m>>2]=gd(c[(c[l>>2]|0)+68>>2]|0)|0;if(c[m>>2]|0){c[h>>2]=c[m>>2];n=c[h>>2]|0;i=g;return n|0}else{n=(c[k>>2]|0)+0|0;m=34408|0;f=n+16|0;do{a[n>>0]=a[m>>0]|0;n=n+1|0;m=m+1|0}while((n|0)<(f|0));a[(c[k>>2]|0)+16>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>8;a[(c[k>>2]|0)+17>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>16;a[(c[k>>2]|0)+18>>0]=1;a[(c[k>>2]|0)+19>>0]=1;a[(c[k>>2]|0)+20>>0]=(c[(c[j>>2]|0)+32>>2]|0)-(c[(c[j>>2]|0)+36>>2]|0);a[(c[k>>2]|0)+21>>0]=64;a[(c[k>>2]|0)+22>>0]=32;a[(c[k>>2]|0)+23>>0]=32;n=(c[k>>2]|0)+24|0;f=n+76|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(f|0));wB(c[l>>2]|0,13);n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]|0|2;ck((c[k>>2]|0)+52|0,d[(c[j>>2]|0)+17>>0]|0);ck((c[k>>2]|0)+64|0,d[(c[j>>2]|0)+18>>0]|0);c[(c[j>>2]|0)+44>>2]=1;a[(c[k>>2]|0)+31>>0]=1;c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}return 0}function JC(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+48|0;l=h+24|0;g=h+20|0;k=h;j=h+16|0;n=h+12|0;m=h+8|0;o=h+28|0;c[g>>2]=b;b=k;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[k+4>>2]&-16777216|0)!=0){a[(c[g>>2]|0)+8>>0]=c[k>>2];e=k;e=cF(c[e>>2]|0,c[e+4>>2]|0,8)|0;b=k;c[b>>2]=e;c[b+4>>2]=D;c[j>>2]=7;while(1){if((c[j>>2]|0)<0)break;a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=c[k>>2]&127|128;e=k;e=cF(c[e>>2]|0,c[e+4>>2]|0,7)|0;b=k;c[b>>2]=e;c[b+4>>2]=D;c[j>>2]=(c[j>>2]|0)+ -1}c[l>>2]=9;b=c[l>>2]|0;i=h;return b|0}c[m>>2]=0;do{b=(c[k>>2]&127|128)&255;e=c[m>>2]|0;c[m>>2]=e+1;a[o+e>>0]=b;e=k;e=cF(c[e>>2]|0,c[e+4>>2]|0,7)|0;b=k;c[b>>2]=e;c[b+4>>2]=D;b=k}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[o>>0]=(d[o>>0]|0)&127;c[j>>2]=0;c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=a[o+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+ -1;c[j>>2]=(c[j>>2]|0)+1}c[l>>2]=c[m>>2];b=c[l>>2]|0;i=h;return b|0}function KC(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;g=f;c[d>>2]=a;c[g>>2]=b;c[c[g>>2]>>2]=e[(c[d>>2]|0)+40>>1];i=f;return c[(c[d>>2]|0)+32>>2]|0}function LC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;g=d+8|0;h=d+4|0;f=d;c[g>>2]=b;b=(c[g>>2]|0)+48|0;c[f>>2]=Gw(c[c[g>>2]>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(c[f>>2]|0){c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}if(c[h>>2]|0){c[e>>2]=kj(65954)|0;h=c[e>>2]|0;i=d;return h|0}else{a[(c[g>>2]|0)+26>>0]=0;c[(c[g>>2]|0)+60>>2]=0;c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function MC(d){d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[g>>2]=d;if(!(Lm(c[(c[g>>2]|0)+16>>2]|0,c[g>>2]|0,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0)){b[f>>1]=0;g=b[f>>1]|0;i=e;return g|0}if(!(wg(c[(c[g>>2]|0)+16>>2]|0,c[g>>2]|0,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0)){b[f>>1]=4;g=b[f>>1]|0;i=e;return g|0}else{b[f>>1]=8;g=b[f>>1]|0;i=e;return g|0}return 0}function NC(d){d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[h>>2]=d;if(Dk(c[h>>2]|0,(c[(c[h>>2]|0)+12>>2]|0)+2|0,1)|0){c[g>>2]=7;h=c[g>>2]|0;i=f;return h|0}else{a[(c[(c[h>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[h>>2]|0)+16>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)+1)>>0]=0;h=(c[h>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|512;c[g>>2]=0;h=c[g>>2]|0;i=f;return h|0}return 0}function OC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;i=i+32|0;b=e+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+176>>2]|0){c[h>>2]=c[(c[b>>2]|0)+176>>2];while(1){a=c[h>>2]|0;if(!(c[(c[h>>2]|0)+4>>2]|0))break;c[h>>2]=c[a+4>>2]}_y(a)|0;c[(c[b>>2]|0)+176>>2]=0;c[(c[b>>2]|0)+184>>2]=0}a:do if(c[(c[b>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[b>>2]|0)+36>>2]|0))break a;c[f>>2]=c[(c[(c[b>>2]|0)+56>>2]|0)+(c[g>>2]<<2)>>2];if(c[f>>2]|0){Az(c[b>>2]|0,c[f>>2]|0);c[(c[(c[b>>2]|0)+56>>2]|0)+(c[g>>2]<<2)>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}while(0);if(c[(c[b>>2]|0)+8>>2]|0)hu((c[(c[b>>2]|0)+8>>2]|0)+40|0,c[(c[b>>2]|0)+28>>2]|0);while(1){f=c[b>>2]|0;if(!(c[(c[b>>2]|0)+180>>2]|0))break;c[d>>2]=c[f+180>>2];c[(c[b>>2]|0)+180>>2]=c[(c[d>>2]|0)+4>>2];WC(c[d>>2]|0)}if(!(c[f+204>>2]|0)){i=e;return}hz(c[b>>2]|0,-1,0);i=e;return}function PC(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;g=i;i=i+112|0;x=g+8|0;f=g+104|0;h=g+100|0;F=g+96|0;j=g+92|0;B=g+88|0;s=g+84|0;C=g+80|0;E=g+76|0;l=g+72|0;k=g+68|0;o=g+64|0;q=g+60|0;m=g+56|0;A=g+52|0;n=g+48|0;d=g;y=g+44|0;u=g+40|0;w=g+36|0;v=g+32|0;t=g+28|0;r=g+24|0;p=g+20|0;z=g+16|0;c[h>>2]=a;c[F>>2]=b;c[B>>2]=0;c[s>>2]=0;c[C>>2]=0;c[s>>2]=QC(c[h>>2]|0,c[F>>2]|0)|0;c[j>>2]=0;while(1){if(c[s>>2]|0)break;if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[E>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(Tk(c[E>>2]|0)|0){c[C>>2]=1;if((c[j>>2]|0)!=1)c[B>>2]=(c[B>>2]|0)+1;Pc(c[E>>2]|0);c[s>>2]=dk(Sb(c[E>>2]|0)|0)|0}c[j>>2]=(c[j>>2]|0)+1}if(c[s>>2]|0){c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}if(((c[C>>2]|0)!=0?(c[(c[h>>2]|0)+192>>2]|0)!=0:0)?(c[s>>2]=ub[c[(c[h>>2]|0)+192>>2]&31](c[(c[h>>2]|0)+188>>2]|0)|0,(c[s>>2]|0)!=0):0){c[f>>2]=531;F=c[f>>2]|0;i=g;return F|0}F=0==(Mb(sg(c[(c[(c[h>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(F|(c[B>>2]|0)<=1){c[j>>2]=0;while(1){if(c[s>>2]|0)break;if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(c[l>>2]|0)c[s>>2]=nd(c[l>>2]|0,0)|0;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if(c[s>>2]|0)break;if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(c[k>>2]|0)c[s>>2]=md(c[k>>2]|0,0)|0;c[j>>2]=(c[j>>2]|0)+1}if(!(c[s>>2]|0))RC(c[h>>2]|0)|0}else{c[o>>2]=c[c[h>>2]>>2];c[q>>2]=0;c[m>>2]=0;c[A>>2]=sg(c[(c[(c[h>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[n>>2]=0;F=d;c[F>>2]=0;c[F+4>>2]=0;c[u>>2]=0;c[w>>2]=Mb(c[A>>2]|0)|0;F=c[h>>2]|0;c[x>>2]=c[A>>2];c[m>>2]=Te(F,34424,x)|0;if(!(c[m>>2]|0)){c[f>>2]=7;F=c[f>>2]|0;i=g;return F|0}do{if(c[u>>2]|0){if((c[u>>2]|0)>100){e=34;break}if((c[u>>2]|0)==1){c[x>>2]=c[m>>2];tc(13,34456,x)}}c[u>>2]=(c[u>>2]|0)+1;vc(4,v);F=(c[m>>2]|0)+(c[w>>2]|0)|0;a=c[v>>2]&255;c[x>>2]=(c[v>>2]|0)>>>8&16777215;c[x+4>>2]=a;sc(13,F,34472,x)|0;c[s>>2]=vi(c[o>>2]|0,c[m>>2]|0,0,y)|0}while((c[s>>2]|0)==0&(c[y>>2]|0)!=0);if((e|0)==34){c[x>>2]=c[m>>2];tc(13,34440,x);_h(c[o>>2]|0,c[m>>2]|0,0)|0}if(!(c[s>>2]|0))c[s>>2]=PB(c[o>>2]|0,c[m>>2]|0,n,16406,0)|0;if(c[s>>2]|0){Xb(c[h>>2]|0,c[m>>2]|0);c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[t>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if((Tk(c[t>>2]|0)|0)!=0?(c[r>>2]=SC(c[t>>2]|0)|0,(c[r>>2]|0)!=0):0){if((c[q>>2]|0)==0?(TC(c[t>>2]|0)|0)==0:0)c[q>>2]=1;E=c[n>>2]|0;b=c[r>>2]|0;F=(Mb(c[r>>2]|0)|0)+1|0;a=d;c[s>>2]=id(E,b,F,c[a>>2]|0,c[a+4>>2]|0)|0;a=(Mb(c[r>>2]|0)|0)+1|0;F=d;a=bF(c[F>>2]|0,c[F+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;F=d;c[F>>2]=a;c[F+4>>2]=D;if(c[s>>2]|0){e=50;break}}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==50){pB(c[n>>2]|0)|0;_h(c[o>>2]|0,c[m>>2]|0,0)|0;Xb(c[h>>2]|0,c[m>>2]|0);c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}if(((c[q>>2]|0)!=0?0==((Ai(c[n>>2]|0)|0)&1024|0):0)?(F=Yh(c[n>>2]|0,2)|0,c[s>>2]=F,0!=(F|0)):0){pB(c[n>>2]|0)|0;_h(c[o>>2]|0,c[m>>2]|0,0)|0;Xb(c[h>>2]|0,c[m>>2]|0);c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}c[j>>2]=0;while(1){if(c[s>>2]|0)break;if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(c[p>>2]|0)c[s>>2]=nd(c[p>>2]|0,c[m>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}pB(c[n>>2]|0)|0;if(c[s>>2]|0){Xb(c[h>>2]|0,c[m>>2]|0);c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}c[s>>2]=_h(c[o>>2]|0,c[m>>2]|0,1)|0;Xb(c[h>>2]|0,c[m>>2]|0);c[m>>2]=0;if(c[s>>2]|0){c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}kh();c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[z>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(c[z>>2]|0)md(c[z>>2]|0,1)|0;c[j>>2]=(c[j>>2]|0)+1}lh();RC(c[h>>2]|0)|0}c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}function QC(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;e=i;i=i+32|0;d=e+24|0;k=e+20|0;l=e+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[d>>2]=a;c[k>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[d>>2]|0)+328>>2];c[(c[d>>2]|0)+328>>2]=0;c[l>>2]=0;while(1){if(c[f>>2]|0){h=8;break}if((c[l>>2]|0)>=(c[(c[d>>2]|0)+304>>2]|0)){h=8;break}c[j>>2]=c[(c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)+8>>2];if((c[j>>2]|0)!=0?(a=c[(c[c[j>>2]>>2]|0)+60>>2]|0,c[h>>2]=a,(a|0)!=0):0){c[f>>2]=ub[c[h>>2]&31](c[j>>2]|0)|0;Hz(c[k>>2]|0,c[j>>2]|0)}c[l>>2]=(c[l>>2]|0)+1}if((h|0)==8){c[(c[d>>2]|0)+328>>2]=c[g>>2];i=e;return c[f>>2]|0}return 0}function RC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Vk(c[d>>2]|0,64);i=b;return 0}function SC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=VC(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function TC(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+4>>2];Pc(c[f>>2]|0);c[b>>2]=UC(c[c[e>>2]>>2]|0)|0;i=d;return c[b>>2]|0}function UC(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+7>>0]|0|0}function VC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+172>>2]|0}function WC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;b=e+4|0;g=e;c[d>>2]=a;c[b>>2]=(c[d>>2]|0)+72;c[g>>2]=(c[b>>2]|0)+((c[(c[d>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;Az(c[c[d>>2]>>2]|0,c[(c[g>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}hu(c[b>>2]|0,c[(c[d>>2]|0)+60>>2]|0);Xb(c[c[c[d>>2]>>2]>>2]|0,c[d>>2]|0);i=e;return}function XC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[34600+(c[b>>2]<<2)>>2]|0}function YC(d,f,g){d=d|0;f=f|0;g=g|0;var j=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;n=i;i=i+64|0;v=n;z=n+60|0;l=n+56|0;m=n+52|0;j=n+48|0;u=n+44|0;s=n+40|0;o=n+36|0;q=n+32|0;t=n+28|0;r=n+24|0;y=n+20|0;A=n+16|0;w=n+12|0;x=n+8|0;c[z>>2]=d;c[l>>2]=f;c[m>>2]=g;c[j>>2]=c[l>>2];do switch(a[(c[z>>2]|0)+1>>0]|0){case-10:{c[x>>2]=c[(c[(c[z>>2]|0)+16>>2]|0)+8>>2];f=c[m>>2]|0;d=c[l>>2]|0;A=c[c[x>>2]>>2]|0;c[v>>2]=c[x>>2];c[v+4>>2]=A;sc(f,d,34560,v)|0;d=c[j>>2]|0;i=n;return d|0};case-5:{c[A>>2]=c[(c[z>>2]|0)+16>>2];f=c[m>>2]|0;d=c[l>>2]|0;z=b[c[A>>2]>>1]|0;c[v>>2]=c[(c[A>>2]|0)+24>>2];c[v+4>>2]=z;sc(f,d,34536,v)|0;d=c[j>>2]|0;i=n;return d|0};case-19:{a[c[l>>2]>>0]=0;d=c[j>>2]|0;i=n;return d|0};case-4:{c[y>>2]=c[(c[z>>2]|0)+16>>2];f=c[m>>2]|0;d=c[l>>2]|0;c[v>>2]=c[c[y>>2]>>2];sc(f,d,34528,v)|0;d=c[j>>2]|0;i=n;return d|0};case-13:{f=c[m>>2]|0;d=c[l>>2]|0;y=c[(c[z>>2]|0)+16>>2]|0;z=c[y+4>>2]|0;A=v;c[A>>2]=c[y>>2];c[A+4>>2]=z;sc(f,d,9456,v)|0;d=c[j>>2]|0;i=n;return d|0};case-6:{c[o>>2]=c[(c[z>>2]|0)+16>>2];f=c[m>>2]|0;d=c[l>>2]|0;c[v>>2]=e[(c[o>>2]|0)+6>>1];sc(f,d,34496,v)|0;c[u>>2]=Mb(c[l>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(e[(c[o>>2]|0)+6>>1]|0))break;c[q>>2]=c[(c[o>>2]|0)+20+(c[s>>2]<<2)>>2];if(c[q>>2]|0)v=c[c[q>>2]>>2]|0;else v=34504;c[t>>2]=v;c[r>>2]=Mb(c[t>>2]|0)|0;if((c[r>>2]|0)==6?(TE(c[t>>2]|0,3320,6)|0)==0:0){c[t>>2]=34512;c[r>>2]=1}v=c[u>>2]|0;if(((c[u>>2]|0)+(c[r>>2]|0)|0)>((c[m>>2]|0)-6|0)){p=10;break}c[u>>2]=v+1;a[(c[l>>2]|0)+v>>0]=44;if(a[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]|0)>>0]|0){d=c[u>>2]|0;c[u>>2]=d+1;a[(c[l>>2]|0)+d>>0]=45}dF((c[l>>2]|0)+(c[u>>2]|0)|0,c[t>>2]|0,(c[r>>2]|0)+1|0)|0;c[u>>2]=(c[u>>2]|0)+(c[r>>2]|0);c[s>>2]=(c[s>>2]|0)+1}if((p|0)==10){d=(c[l>>2]|0)+v|0;a[d+0>>0]=a[34520]|0;a[d+1>>0]=a[34521]|0;a[d+2>>0]=a[34522]|0;a[d+3>>0]=a[34523]|0}d=c[u>>2]|0;c[u>>2]=d+1;a[(c[l>>2]|0)+d>>0]=41;a[(c[l>>2]|0)+(c[u>>2]|0)>>0]=0;d=c[j>>2]|0;i=n;return d|0};case-8:{c[w>>2]=c[(c[z>>2]|0)+16>>2];o=c[w>>2]|0;if(e[(c[w>>2]|0)+8>>1]&2){c[j>>2]=c[o+16>>2];d=c[j>>2]|0;i=n;return d|0}if(e[o+8>>1]&4){f=c[m>>2]|0;d=c[l>>2]|0;y=c[w>>2]|0;z=c[y+4>>2]|0;A=v;c[A>>2]=c[y>>2];c[A+4>>2]=z;sc(f,d,9456,v)|0;d=c[j>>2]|0;i=n;return d|0}if(e[(c[w>>2]|0)+8>>1]&8){f=c[m>>2]|0;d=c[l>>2]|0;h[k>>3]=+h[c[w>>2]>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];sc(f,d,9448,v)|0;d=c[j>>2]|0;i=n;return d|0}if(e[(c[w>>2]|0)+8>>1]&1){sc(c[m>>2]|0,c[l>>2]|0,9840,v)|0;d=c[j>>2]|0;i=n;return d|0}else{c[j>>2]=34552;d=c[j>>2]|0;i=n;return d|0}};case-14:{f=c[m>>2]|0;d=c[l>>2]|0;c[v>>2]=c[(c[z>>2]|0)+16>>2];sc(f,d,34544,v)|0;d=c[j>>2]|0;i=n;return d|0};case-18:{sc(c[m>>2]|0,c[l>>2]|0,34592,v)|0;d=c[j>>2]|0;i=n;return d|0};case-12:{f=c[m>>2]|0;d=c[l>>2]|0;h[k>>3]=+h[c[(c[z>>2]|0)+16>>2]>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];sc(f,d,9448,v)|0;d=c[j>>2]|0;i=n;return d|0};case-15:{sc(c[m>>2]|0,c[l>>2]|0,34576,v)|0;d=c[j>>2]|0;i=n;return d|0};default:{c[j>>2]=c[(c[z>>2]|0)+16>>2];if(c[j>>2]|0){d=c[j>>2]|0;i=n;return d|0}c[j>>2]=c[l>>2];a[c[l>>2]>>0]=0;d=c[j>>2]|0;i=n;return d|0}}while(0);return 0}function ZC(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;_d(c[g>>2]|0);e=h;d=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function _C(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+4|0;g=h;k=h+10|0;l=h+9|0;m=h+8|0;c[j>>2]=f;c[g>>2]=0;a[k>>0]=0;if((c[(c[j>>2]|0)+12>>2]|0)>1){a[l>>0]=a[c[(c[j>>2]|0)+16>>2]>>0]|0;a[m>>0]=a[(c[(c[j>>2]|0)+16>>2]|0)+1>>0]|0;if((d[l>>0]|0)==254?(d[m>>0]|0)==255:0)a[k>>0]=3;if((d[l>>0]|0)==255?(d[m>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){m=c[g>>2]|0;i=h;return m|0}c[g>>2]=Ak(c[j>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;i=h;return m|0}m=(c[j>>2]|0)+12|0;c[m>>2]=(c[m>>2]|0)-2;eF(c[(c[j>>2]|0)+16>>2]|0,(c[(c[j>>2]|0)+16>>2]|0)+2|0,c[(c[j>>2]|0)+12>>2]|0)|0;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[j>>2]|0)+16>>2]|0)+((c[(c[j>>2]|0)+12>>2]|0)+1)>>0]=0;m=(c[j>>2]|0)+8|0;b[m>>1]=e[m>>1]|512;a[(c[j>>2]|0)+10>>0]=a[k>>0]|0;m=c[g>>2]|0;i=h;return m|0}function $C(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;h=j+4|0;k=j;l=j+8|0;c[k>>2]=f;a[l>>0]=g;g=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[k>>2]|0)+8>>1]|0)&16384)Dd(c[k>>2]|0)|0;if((d[(c[k>>2]|0)+10>>0]|0|0)!=((d[l>>0]|0)&-9|0))yk(c[k>>2]|0,(d[l>>0]|0)&-9)|0;if((((d[l>>0]|0)&8|0)!=0?1==(1&c[(c[k>>2]|0)+16>>2]|0):0)?(Ak(c[k>>2]|0)|0)!=0:0){c[h>>2]=0;f=c[h>>2]|0;i=j;return f|0}dz(c[k>>2]|0)|0}else Kp(g,a[l>>0]|0,0)|0;if((d[(c[k>>2]|0)+10>>0]|0|0)==((d[l>>0]|0)&-9|0)){c[h>>2]=c[(c[k>>2]|0)+16>>2];f=c[h>>2]|0;i=j;return f|0}else{c[h>>2]=0;f=c[h>>2]|0;i=j;return f|0}return 0}function aD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)gn(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;i=d;return}Xb(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;i=d;return}function bD(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Xb(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function cD(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+64>>0]=0;Nc(c[e>>2]|0,7);i=d;return 7}function dD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;k=f+4|0;j=f;c[h>>2]=b;c[g>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){d=c[h>>2]|0;b=c[g>>2]|0;Xb(d,b);i=f;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[k>>2]|0)*20|0)|0)>>>0)break;Oy(c[h>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}d=c[h>>2]|0;b=c[g>>2]|0;Xb(d,b);i=f;return}function eD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_g(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function fD(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];c[h>>2]=c[c[f>>2]>>2];a[(c[g>>2]|0)+19>>0]=0;if((d[(c[f>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+152>>2]|0)>1:0){gD(c[f>>2]|0);a[(c[f>>2]|0)+8>>0]=1;i=e;return}if((d[(c[f>>2]|0)+8>>0]|0|0)!=0?(hD(c[f>>2]|0),h=(c[g>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+ -1,0==(c[(c[g>>2]|0)+40>>2]|0)):0)a[(c[g>>2]|0)+20>>0]=0;a[(c[f>>2]|0)+8>>0]=0;Sk(c[g>>2]|0);i=e;return}function gD(d){d=d|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=d;c[h>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[h>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=f;return}c[(c[h>>2]|0)+76>>2]=0;j=(c[h>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[h>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=f;return}function hD(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;h=f+4|0;j=f;c[g>>2]=a;c[d>>2]=c[(c[g>>2]|0)+4>>2];c[h>>2]=(c[d>>2]|0)+72;while(1){if(!(c[c[h>>2]>>2]|0))break;c[j>>2]=c[c[h>>2]>>2];a=(c[j>>2]|0)+12|0;if((c[c[j>>2]>>2]|0)!=(c[g>>2]|0)){c[h>>2]=a;continue}c[c[h>>2]>>2]=c[a>>2];if((c[(c[j>>2]|0)+4>>2]|0)==1)continue;hc(c[j>>2]|0)}h=c[d>>2]|0;if((c[(c[d>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[h+76>>2]=0;a=(c[d>>2]|0)+22|0;b[a>>1]=(e[a>>1]|0)&-97;i=f;return}if((c[h+40>>2]|0)!=2){i=f;return}a=(c[d>>2]|0)+22|0;b[a>>1]=(e[a>>1]|0)&-65;i=f;return}function iD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;d=e+28|0;h=e+24|0;f=e+20|0;g=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[h>>2]=b;c[f>>2]=0;c[g>>2]=c[c[h>>2]>>2];sA(c[h>>2]|0);do if(!(a[(c[h>>2]|0)+18>>0]|0)){c[m>>2]=Aw(c[h>>2]|0)|0;b=Pw(c[h>>2]|0,c[m>>2]|0)|0;if((b|0)!=(c[m>>2]|0)?(c[m>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[k>>2]=Hh((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[j>>2]=rA(c[h>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[d>>2]=kj(55475)|0;m=c[d>>2]|0;i=e;return m|0}if((c[j>>2]|0)>>>0<(c[m>>2]|0)>>>0)c[f>>2]=Hy(c[h>>2]|0,0,0)|0;c[l>>2]=c[m>>2];while(1){if(!((c[f>>2]|0)==0?(c[l>>2]|0)>>>0>(c[j>>2]|0)>>>0:0))break;c[f>>2]=tA(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,1)|0;c[l>>2]=(c[l>>2]|0)+ -1}if(((c[f>>2]|0)==101|(c[f>>2]|0)==0)&(c[k>>2]|0)>>>0>0){c[f>>2]=gd(c[(c[(c[h>>2]|0)+12>>2]|0)+68>>2]|0)|0;ck((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);ck((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);ck((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[j>>2]|0);a[(c[h>>2]|0)+19>>0]=1;c[(c[h>>2]|0)+44>>2]=c[j>>2]}if(!(c[f>>2]|0))break;Th(c[g>>2]|0)|0;break}c[d>>2]=kj(55470)|0;m=c[d>>2]|0;i=e;return m|0}while(0);c[d>>2]=c[f>>2];m=c[d>>2]|0;i=e;return m|0}function jD(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=b;c[h>>2]=0;b=c[g>>2]|0;if(c[(c[g>>2]|0)+40>>2]|0){c[f>>2]=c[b+40>>2];b=c[f>>2]|0;i=e;return b|0}if(((d[b+16>>0]|0|0)==2?(d[(c[g>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[g>>2]|0)+5>>0]|0|0)==1:0){a[(c[g>>2]|0)+16>>0]=1;c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}c[h>>2]=Uh(c[g>>2]|0,d[(c[g>>2]|0)+19>>0]|0,1)|0;c[f>>2]=Oh(c[g>>2]|0,c[h>>2]|0)|0;b=c[f>>2]|0;i=e;return b|0}function kD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;f=e+4|0;h=e;c[g>>2]=b;c[e+8>>2]=d;c[f>>2]=0;if(a[(c[g>>2]|0)+18>>0]|0){b=c[f>>2]|0;i=e;return b|0}if((c[(c[g>>2]|0)+24>>2]|0)>>>0<=0){b=c[f>>2]|0;i=e;return b|0}c[f>>2]=Xc(c[g>>2]|0,1,h,0)|0;if(!(c[f>>2]|0))c[f>>2]=gd(c[h>>2]|0)|0;if(!(c[f>>2]|0)){bk(c[h>>2]|0);a[(c[g>>2]|0)+18>>0]=1}_c(c[h>>2]|0);b=c[f>>2]|0;i=e;return b|0}function lD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;o=l+28|0;j=l+24|0;k=l+20|0;m=l+8|0;h=l;n=l+16|0;c[g>>2]=b;c[o>>2]=e;c[n>>2]=0;if(((c[o>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+19>>0]=1;c[k>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0))break;c[n>>2]=(c[n>>2]|0)+(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0);c[k>>2]=(c[k>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){e=Oi(c[g>>2]|0)|0;b=(c[g>>2]|0)+72|0;c[b>>2]=e;c[b+4>>2]=D}p=(c[g>>2]|0)+72|0;e=c[p+4>>2]|0;b=m;c[b>>2]=c[p>>2];c[b+4>>2]=e;b=m;b=pk(c[(c[g>>2]|0)+64>>2]|0,c[b>>2]|0,c[b+4>>2]|0,((c[282]|0)/(c[(c[g>>2]|0)+152>>2]|0)|0)+1|0)|0;c[j>>2]=b;if((((0==(b|0)?(e=c[(c[g>>2]|0)+64>>2]|0,o=c[o>>2]|0,b=c[k>>2]|0,p=m,p=bF(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=id(e,o,b,p,D)|0,c[j>>2]=p,0==(p|0)):0)?(b=c[(c[g>>2]|0)+64>>2]|0,o=m,o=bF(c[o>>2]|0,c[o+4>>2]|0,4,0)|0,p=c[k>>2]|0,p=bF(o|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=pk(b,p,D,c[k>>2]|0)|0,c[j>>2]=p,0==(p|0)):0)?(b=c[(c[g>>2]|0)+64>>2]|0,o=m,o=bF(c[o>>2]|0,c[o+4>>2]|0,4,0)|0,p=c[k>>2]|0,p=bF(o|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=bF(p|0,D|0,4,0)|0,p=pk(b,p,D,c[n>>2]|0)|0,c[j>>2]=p,0==(p|0)):0)?(b=c[(c[g>>2]|0)+64>>2]|0,o=m,o=bF(c[o>>2]|0,c[o+4>>2]|0,4,0)|0,p=c[k>>2]|0,p=bF(o|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=bF(p|0,D|0,8,0)|0,p=id(b,4384,8,p,D)|0,c[j>>2]=p,0==(p|0)):0){b=(c[k>>2]|0)+20|0;p=(c[g>>2]|0)+72|0;o=p;b=bF(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[p>>2]=b;c[p+4>>2]=D;p=Gg(c[(c[g>>2]|0)+64>>2]|0,h)|0;c[j>>2]=p;if(0==(p|0)?(b=h,n=c[b+4>>2]|0,p=(c[g>>2]|0)+72|0,o=c[p+4>>2]|0,(n|0)>(o|0)|((n|0)==(o|0)?(c[b>>2]|0)>>>0>(c[p>>2]|0)>>>0:0)):0){p=(c[g>>2]|0)+72|0;c[j>>2]=Xh(c[(c[g>>2]|0)+64>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}c[f>>2]=c[j>>2];p=c[f>>2]|0;i=l;return p|0}c[f>>2]=c[j>>2];p=c[f>>2]|0;i=l;return p|0}c[f>>2]=0;p=c[f>>2]|0;i=l;return p|0}function mD(f){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;k=i;i=i+48|0;s=k+44|0;j=k+40|0;t=k+36|0;l=k+32|0;g=k+28|0;m=k+24|0;p=k+20|0;o=k+16|0;u=k+12|0;r=k+8|0;q=k+4|0;n=k;c[s>>2]=f;c[j>>2]=0;c[g>>2]=0;c[p>>2]=0;c[o>>2]=c[(c[s>>2]|0)+16>>2];c[u>>2]=((c[(c[o>>2]|0)+148>>2]|0)>>>0)/((c[(c[o>>2]|0)+152>>2]|0)>>>0)|0;f=(c[o>>2]|0)+20|0;a[f>>0]=d[f>>0]|0|4;c[l>>2]=((c[(c[s>>2]|0)+20>>2]|0)-1&~((c[u>>2]|0)-1))+1;c[t>>2]=c[(c[o>>2]|0)+24>>2];do if((c[(c[s>>2]|0)+20>>2]|0)>>>0<=(c[t>>2]|0)>>>0)if(((c[l>>2]|0)+(c[u>>2]|0)-1|0)>>>0>(c[t>>2]|0)>>>0){c[g>>2]=(c[t>>2]|0)+1-(c[l>>2]|0);break}else{c[g>>2]=c[u>>2];break}else c[g>>2]=(c[(c[s>>2]|0)+20>>2]|0)-(c[l>>2]|0)+1;while(0);c[m>>2]=0;while(1){if(!((c[j>>2]|0)==0?(c[m>>2]|0)<(c[g>>2]|0):0))break;c[r>>2]=(c[l>>2]|0)+(c[m>>2]|0);if((c[r>>2]|0)!=(c[(c[s>>2]|0)+20>>2]|0)?(Yg(c[(c[o>>2]|0)+56>>2]|0,c[r>>2]|0)|0)!=0:0){f=Hi(c[o>>2]|0,c[r>>2]|0)|0;c[q>>2]=f;if(f){if((e[(c[q>>2]|0)+24>>1]|0)&4)c[p>>2]=1;ej(c[q>>2]|0)}}else h=10;if(((h|0)==10?(h=0,(c[r>>2]|0)!=(((c[282]|0)/(c[(c[o>>2]|0)+152>>2]|0)|0)+1|0)):0)?(c[j>>2]=Xc(c[o>>2]|0,c[r>>2]|0,q,0)|0,(c[j>>2]|0)==0):0){c[j>>2]=nD(c[q>>2]|0)|0;if((e[(c[q>>2]|0)+24>>1]|0)&4)c[p>>2]=1;ej(c[q>>2]|0)}c[m>>2]=(c[m>>2]|0)+1}if(!((c[j>>2]|0)==0&(c[p>>2]|0)!=0)){f=c[o>>2]|0;f=f+20|0;u=a[f>>0]|0;u=u&255;u=u&-5;u=u&255;a[f>>0]=u;f=c[j>>2]|0;i=k;return f|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;c[n>>2]=Hi(c[o>>2]|0,(c[l>>2]|0)+(c[m>>2]|0)|0)|0;if(c[n>>2]|0){f=(c[n>>2]|0)+24|0;b[f>>1]=e[f>>1]|0|4;ej(c[n>>2]|0)}c[m>>2]=(c[m>>2]|0)+1}f=c[o>>2]|0;f=f+20|0;u=a[f>>0]|0;u=u&255;u=u&-5;u=u&255;a[f>>0]=u;f=c[j>>2]|0;i=k;return f|0}function nD(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;j=i;i=i+48|0;h=j+32|0;k=j+28|0;f=j+24|0;l=j+20|0;p=j+16|0;o=j+12|0;n=j+8|0;m=j;c[k>>2]=a;c[f>>2]=c[(c[k>>2]|0)+16>>2];c[l>>2]=0;if((d[(c[f>>2]|0)+16>>0]|0|0)==2?(c[l>>2]=oD(c[f>>2]|0)|0,(c[l>>2]|0)!=0):0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}Ji(c[k>>2]|0);c[p>>2]=pD(c[f>>2]|0,c[k>>2]|0)|0;if(c[p>>2]|0){if((c[(c[f>>2]|0)+96>>2]|0)!=0?(Xj(c[k>>2]|0)|0)!=0:0)g=7}else g=7;if((g|0)==7){do if((c[p>>2]|0)==0?(ai(c[f>>2]|0)|0)==0:0){if((c[(c[k>>2]|0)+20>>2]|0)>>>0<=(c[(c[f>>2]|0)+28>>2]|0)>>>0?(c[c[(c[f>>2]|0)+64>>2]>>2]|0)!=0:0){g=(c[f>>2]|0)+72|0;p=c[g+4>>2]|0;a=m;c[a>>2]=c[g>>2];c[a+4>>2]=p;c[n>>2]=c[(c[k>>2]|0)+4>>2];c[o>>2]=Gi(c[f>>2]|0,c[n>>2]|0)|0;a=(c[k>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;a=m;c[l>>2]=pk(c[(c[f>>2]|0)+64>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}g=c[(c[f>>2]|0)+64>>2]|0;n=c[n>>2]|0;p=c[(c[f>>2]|0)+152>>2]|0;a=m;a=bF(c[a>>2]|0,c[a+4>>2]|0,4,0)|0;c[l>>2]=id(g,n,p,a,D)|0;if(c[l>>2]|0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}p=c[(c[f>>2]|0)+64>>2]|0;n=m;a=c[(c[f>>2]|0)+152>>2]|0;a=bF(c[n>>2]|0,c[n+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=bF(a|0,D|0,4,0)|0;c[l>>2]=pk(p,a,D,c[o>>2]|0)|0;if(c[l>>2]|0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}p=8+(c[(c[f>>2]|0)+152>>2]|0)|0;a=(c[f>>2]|0)+72|0;o=a;p=bF(c[o>>2]|0,c[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[a>>2]=p;c[a+4>>2]=D;a=(c[f>>2]|0)+44|0;c[a>>2]=(c[a>>2]|0)+1;c[l>>2]=Wg(c[(c[f>>2]|0)+56>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;a=qk(c[f>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|a;if(!(c[l>>2]|0))break;c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}if((d[(c[f>>2]|0)+16>>0]|0|0)!=4){a=(c[k>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4}}while(0);if((c[(c[f>>2]|0)+96>>2]|0)>0?(Xj(c[k>>2]|0)|0)!=0:0)c[l>>2]=Yj(c[k>>2]|0)|0}if((c[(c[f>>2]|0)+24>>2]|0)>>>0<(c[(c[k>>2]|0)+20>>2]|0)>>>0)c[(c[f>>2]|0)+24>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}function oD(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e+4|0;k=e;c[h>>2]=b;c[g>>2]=0;c[j>>2]=c[c[h>>2]>>2];b=c[h>>2]|0;if(c[(c[h>>2]|0)+40>>2]|0){c[f>>2]=c[b+40>>2];b=c[f>>2]|0;i=e;return b|0}if((ai(b)|0)==0?(d[(c[h>>2]|0)+5>>0]|0|0)!=2:0){b=Vg(c[(c[h>>2]|0)+24>>2]|0)|0;c[(c[h>>2]|0)+56>>2]=b;if(!(c[(c[h>>2]|0)+56>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=e;return b|0}do if(!(c[c[(c[h>>2]|0)+64>>2]>>2]|0)){b=c[h>>2]|0;if((d[(c[h>>2]|0)+5>>0]|0|0)==4){qi(c[b+64>>2]|0);break}c[k>>2]=6|((d[b+12>>0]|0|0)!=0?4104:2048);c[g>>2]=qD(c[h>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=Di(c[j>>2]|0,c[(c[h>>2]|0)+172>>2]|0,c[(c[h>>2]|0)+64>>2]|0,c[k>>2]|0,0)|0}while(0);if(!(c[g>>2]|0)){c[(c[h>>2]|0)+44>>2]=0;b=(c[h>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0;a[(c[h>>2]|0)+19>>0]=0;b=(c[h>>2]|0)+80|0;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=ek(c[h>>2]|0)|0}}j=c[h>>2]|0;if(c[g>>2]|0){_g(c[j+56>>2]|0);c[(c[h>>2]|0)+56>>2]=0}else a[j+16>>0]=3;c[f>>2]=c[g>>2];b=c[f>>2]|0;i=e;return b|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yg(c[(c[f>>2]|0)+56>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;i=d;return a|0}function qD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=b;c[g>>2]=0;if(a[(c[f>>2]|0)+12>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}if(!(c[(c[f>>2]|0)+24>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}c[h>>2]=ig(c[(c[f>>2]|0)+60>>2]|0,20,g)|0;if((c[h>>2]|0)!=12){if((c[h>>2]|0)==0&(c[g>>2]|0)!=0)c[h>>2]=1032}else c[h>>2]=0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=d;return h|0}function rD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;m=h+20|0;l=h+16|0;n=h+12|0;k=h+8|0;o=h+4|0;j=h;c[l>>2]=a;c[n>>2]=d;c[k>>2]=f;c[o>>2]=g;g=c[l>>2]|0;do if(c[(c[l>>2]|0)+136>>2]|0){a=c[g+136>>2]|0;c[j>>2]=a;c[c[o>>2]>>2]=a;c[(c[l>>2]|0)+136>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=0;_E(c[(c[j>>2]|0)+8>>2]|0,0,e[(c[l>>2]|0)+140>>1]|0|0)|0}else{a=Mc(40+(e[g+140>>1]|0)|0,0)|0;c[j>>2]=a;c[c[o>>2]>>2]=a;if(c[j>>2]|0){c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;b[(c[j>>2]|0)+24>>1]=64;b[(c[j>>2]|0)+26>>1]=1;c[(c[j>>2]|0)+16>>2]=c[l>>2];break}d=c[(c[l>>2]|0)+60>>2]|0;a=c[(c[l>>2]|0)+152>>2]|0;a=lF((c[n>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;hj(d,a,D,c[k>>2]|0)|0;c[m>>2]=7;a=c[m>>2]|0;i=h;return a|0}while(0);c[(c[j>>2]|0)+20>>2]=c[n>>2];c[(c[j>>2]|0)+4>>2]=c[k>>2];a=(c[l>>2]|0)+120|0;c[a>>2]=(c[a>>2]|0)+1;c[m>>2]=0;a=c[m>>2]|0;i=h;return a|0}function sD(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h+20|0;l=h+16|0;n=h+12|0;o=h+8|0;m=h+4|0;k=h;c[l>>2]=a;c[n>>2]=f;c[o>>2]=g;if((d[(c[l>>2]|0)+29>>0]|0)==2){c[j>>2]=0;a=c[j>>2]|0;i=h;return a|0}c[m>>2]=c[(c[l>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&4|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[l>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[l>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[k>>2]=zb[c[(c[l>>2]|0)+32>>2]&63](c[(c[l>>2]|0)+36>>2]|0,c[m>>2]|0)|0,(c[k>>2]|0)!=0&(c[k>>2]|0)!=5):0){c[j>>2]=c[k>>2];a=c[j>>2]|0;i=h;return a|0}a=pb[c[38640+132>>2]&31](c[(c[l>>2]|0)+40>>2]|0,c[n>>2]|0,2)|0;c[c[o>>2]>>2]=a;c[j>>2]=(c[c[o>>2]>>2]|0)==0?7:0;a=c[j>>2]|0;i=h;return a|0}function tD(f){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;k=i;i=i+48|0;g=k+40|0;j=k+36|0;q=k+32|0;h=k+28|0;l=k+24|0;r=k+20|0;n=k+12|0;p=k+8|0;m=k+4|0;o=k;c[j>>2]=f;c[r>>2]=0;c[q>>2]=KA(c[c[j>>2]>>2]|0)|0;if(c[q>>2]|0){c[g>>2]=c[q>>2];r=c[g>>2]|0;i=k;return r|0}c[q>>2]=Bw(c[j>>2]|0,1,h,0)|0;if(c[q>>2]|0){c[g>>2]=c[q>>2];r=c[g>>2]|0;i=k;return r|0}f=Hh((c[(c[h>>2]|0)+56>>2]|0)+28|0)|0;c[k+16>>2]=f;c[l>>2]=f;fd(c[c[j>>2]>>2]|0,r);if(!((c[l>>2]|0)!=0?(TE((c[(c[h>>2]|0)+56>>2]|0)+24|0,(c[(c[h>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[l>>2]=c[r>>2];a:do if((c[l>>2]|0)>0){c[m>>2]=c[(c[h>>2]|0)+56>>2];c[q>>2]=26;b:do if(!(TE(c[m>>2]|0,34408,16)|0)){if((d[(c[m>>2]|0)+18>>0]|0|0)>2){f=(c[j>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[m>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[m>>2]|0)+19>>0]|0|0)==2?((e[(c[j>>2]|0)+22>>1]|0)&16|0)==0:0){c[o>>2]=0;c[q>>2]=RA(c[c[j>>2]>>2]|0,o)|0;if(c[q>>2]|0)break b;if(c[o>>2]|0){c[q>>2]=26;break}Rk(c[h>>2]|0);c[g>>2]=0;r=c[g>>2]|0;i=k;return r|0}while(0);if((TE((c[m>>2]|0)+21|0,37104,3)|0)==0?(c[n>>2]=(d[(c[m>>2]|0)+16>>0]|0)<<8|(d[(c[m>>2]|0)+17>>0]|0)<<16,!(((c[n>>2]|0)>>>0>65536?1:((c[n>>2]|0)-1&c[n>>2]|0)!=0)|(c[n>>2]|0)>>>0<=256)):0){c[p>>2]=(c[n>>2]|0)-(d[(c[m>>2]|0)+20>>0]|0);if((c[n>>2]|0)!=(c[(c[j>>2]|0)+32>>2]|0)){Rk(c[h>>2]|0);c[(c[j>>2]|0)+36>>2]=c[p>>2];c[(c[j>>2]|0)+32>>2]=c[n>>2];Dg(c[j>>2]|0);c[q>>2]=Eg(c[c[j>>2]>>2]|0,(c[j>>2]|0)+32|0,(c[n>>2]|0)-(c[p>>2]|0)|0)|0;c[g>>2]=c[q>>2];r=c[g>>2]|0;i=k;return r|0}if((c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[l>>2]|0)>(c[r>>2]|0):0){c[q>>2]=kj(54754)|0;break}if((c[p>>2]|0)>>>0>=480){c[(c[j>>2]|0)+32>>2]=c[n>>2];c[(c[j>>2]|0)+36>>2]=c[p>>2];r=(Hh((c[m>>2]|0)+52|0)|0)!=0;a[(c[j>>2]|0)+17>>0]=r?1:0;r=(Hh((c[m>>2]|0)+64|0)|0)!=0;a[(c[j>>2]|0)+18>>0]=r?1:0;break a}}}}while(0);Rk(c[h>>2]|0);c[(c[j>>2]|0)+12>>2]=0;c[g>>2]=c[q>>2];r=c[g>>2]|0;i=k;return r|0}while(0);b[(c[j>>2]|0)+24>>1]=(((c[(c[j>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[j>>2]|0)+26>>1]=(((c[(c[j>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[j>>2]|0)+28>>1]=(c[(c[j>>2]|0)+36>>2]|0)-35;b[(c[j>>2]|0)+30>>1]=(((c[(c[j>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;m=c[j>>2]|0;if((e[(c[j>>2]|0)+24>>1]|0|0)>127)a[m+21>>0]=127;else a[(c[j>>2]|0)+21>>0]=b[m+24>>1];c[(c[j>>2]|0)+12>>2]=c[h>>2];c[(c[j>>2]|0)+44>>2]=c[l>>2];c[g>>2]=0;r=c[g>>2]|0;i=k;return r|0}function uD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;l=g+8|0;m=g+4|0;k=g;c[j>>2]=b;c[l>>2]=e;c[m>>2]=f;c[k>>2]=0;if(c[(c[j>>2]|0)+40>>2]|0){c[h>>2]=c[(c[j>>2]|0)+40>>2];b=c[h>>2]|0;i=g;return b|0}a[(c[j>>2]|0)+21>>0]=c[m>>2];if((d[(c[j>>2]|0)+16>>0]|0|0)==1){b=(ai(c[j>>2]|0)|0)!=0;f=c[j>>2]|0;if(!b){c[k>>2]=hk(f,2)|0;if((c[k>>2]|0)==0&(c[l>>2]|0)!=0)c[k>>2]=gk(c[j>>2]|0,4)|0}else{do if((d[f+4>>0]|0|0)!=0?(di(c[(c[j>>2]|0)+208>>2]|0,-1)|0)!=0:0){c[k>>2]=hk(c[j>>2]|0,4)|0;if(!(c[k>>2]|0)){di(c[(c[j>>2]|0)+208>>2]|0,1)|0;break}c[h>>2]=c[k>>2];b=c[h>>2]|0;i=g;return b|0}while(0);c[k>>2]=vD(c[(c[j>>2]|0)+208>>2]|0)|0}if(!(c[k>>2]|0)){a[(c[j>>2]|0)+16>>0]=2;c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+24>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+24>>2];c[(c[j>>2]|0)+28>>2]=c[(c[j>>2]|0)+24>>2];b=(c[j>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0}}c[h>>2]=c[k>>2];b=c[h>>2]|0;i=g;return b|0}function vD(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;g=d+4|0;f=d;c[g>>2]=b;if(a[(c[g>>2]|0)+46>>0]|0){c[e>>2]=8;g=c[e>>2]|0;i=d;return g|0}c[f>>2]=vj(c[g>>2]|0,0,1)|0;if(c[f>>2]|0){c[e>>2]=c[f>>2];g=c[e>>2]|0;i=d;return g|0}a[(c[g>>2]|0)+44>>0]=1;b=(c[g>>2]|0)+52|0;if(TE(b,mj(c[g>>2]|0)|0,48)|0){ji(c[g>>2]|0,0,1);a[(c[g>>2]|0)+44>>0]=0;c[f>>2]=517}c[e>>2]=c[f>>2];g=c[e>>2]|0;i=d;return g|0}function wD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);i=b;return}function xD(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 37112}function yD(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[d>>2]=0;if(!(c[e>>2]|0)){f=c[d>>2]|0;i=b;return f|0}c[f>>2]=c[e>>2];FD(c[e>>2]|0,0)|0;hc(c[(c[f>>2]|0)+24>>2]|0);c[d>>2]=kE(c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}function zD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+28|0;o=l+24|0;k=l+20|0;m=l+16|0;n=l;j=l+12|0;g=l+8|0;c[o>>2]=a;c[k>>2]=b;c[m>>2]=d;a=n;c[a>>2]=e;c[a+4>>2]=f;c[j>>2]=c[o>>2];a=n;c[g>>2]=jE(c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)==(c[m>>2]|0)){c[h>>2]=0;o=c[h>>2]|0;i=l;return o|0}if((c[g>>2]|0)<0){c[h>>2]=266;o=c[h>>2]|0;i=l;return o|0}else{c[(c[j>>2]|0)+20>>2]=0;_E((c[k>>2]|0)+(c[g>>2]|0)|0,0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;c[h>>2]=522;o=c[h>>2]|0;i=l;return o|0}return 0}function AD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;m=h+28|0;o=h+24|0;n=h+20|0;l=h+16|0;g=h;k=h+12|0;j=h+8|0;c[o>>2]=a;c[n>>2]=b;c[l>>2]=d;a=g;c[a>>2]=e;c[a+4>>2]=f;c[k>>2]=c[o>>2];c[j>>2]=0;while(1){if((c[l>>2]|0)<=0)break;o=g;o=fE(c[k>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;c[j>>2]=o;if((o|0)<=0)break;c[l>>2]=(c[l>>2]|0)-(c[j>>2]|0);a=c[j>>2]|0;o=g;a=bF(c[o>>2]|0,c[o+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;o=g;c[o>>2]=a;c[o+4>>2]=D;c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0)}if((c[l>>2]|0)<=0){c[m>>2]=0;o=c[m>>2]|0;i=h;return o|0}if((c[j>>2]|0)<0?(c[(c[k>>2]|0)+20>>2]|0)!=28:0){c[m>>2]=778;o=c[m>>2]|0;i=h;return o|0}c[(c[k>>2]|0)+20>>2]=0;c[m>>2]=13;o=c[m>>2]|0;i=h;return o|0}function BD(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;g=i;i=i+32|0;f=g+20|0;k=g+16|0;h=g;e=g+12|0;j=g+8|0;c[k>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[k>>2];if((c[(c[e>>2]|0)+40>>2]|0)>0){k=h;a=c[(c[e>>2]|0)+40>>2]|0;a=bF(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=ZE(a|0,D|0,1,0)|0;k=c[(c[e>>2]|0)+40>>2]|0;k=jF(a|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[e>>2]|0)+40>>2]|0;a=lF(k|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;k=h;c[k>>2]=a;c[k+4>>2]=D}k=h;c[j>>2]=eE(c[(c[e>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[j>>2]|0){k=c[(Ya()|0)>>2]|0;c[(c[e>>2]|0)+20>>2]=k;c[f>>2]=UD(1546,37568,c[(c[e>>2]|0)+32>>2]|0,28429)|0;k=c[f>>2]|0;i=g;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=g;return k|0}return 0}function CD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+28|0;o=f+24|0;n=f+20|0;k=f+16|0;h=f+12|0;l=f+8|0;m=f+4|0;j=f;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[k>>2]=iE(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){o=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=o;c[g>>2]=UD(1034,38e3,c[(c[h>>2]|0)+32>>2]|0,28385)|0;o=c[g>>2]|0;i=f;return o|0}if((e[(c[h>>2]|0)+18>>1]|0)&8){c[k>>2]=zb[c[37192+208>>2]&63](c[(c[h>>2]|0)+32>>2]|0,j)|0;if(!((c[k>>2]|0)==0&(c[j>>2]|0)>=0)){if((c[k>>2]|0)==14)c[k>>2]=0}else{iE(c[j>>2]|0,0,0)|0;TD(c[h>>2]|0,c[j>>2]|0,28399)}o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[g>>2]=c[k>>2];o=c[g>>2]|0;i=f;return o|0}function DD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+96|0;e=d+88|0;f=d+84|0;g=d+80|0;j=d+76|0;h=d;c[f>>2]=a;c[g>>2]=b;c[j>>2]=zb[c[37192+64>>2]&63](c[(c[f>>2]|0)+12>>2]|0,h)|0;if(c[j>>2]|0){j=c[(Ya()|0)>>2]|0;c[(c[f>>2]|0)+20>>2]=j;c[e>>2]=1802;j=c[e>>2]|0;i=d;return j|0}a=c[h+36>>2]|0;j=c[g>>2]|0;c[j>>2]=a;c[j+4>>2]=((a|0)<0)<<31>>31;j=c[g>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[g>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}function ED(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+24|0;n=f+20|0;k=f+16|0;j=f+12|0;h=f+8|0;l=f+4|0;m=f;c[n>>2]=b;c[k>>2]=e;c[j>>2]=c[n>>2];c[h>>2]=c[(c[j>>2]|0)+24>>2];c[l>>2]=0;if((d[(c[j>>2]|0)+16>>0]|0|0)>0){a[(c[j>>2]|0)+16>>0]=c[k>>2];qa(c[h>>2]|0,0)|0;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}c[l>>2]=zb[c[37192+220>>2]&63](c[h>>2]|0,511)|0;if((c[l>>2]|0)>=0){a[(c[j>>2]|0)+16>>0]=c[k>>2];c[g>>2]=c[l>>2];n=c[g>>2]|0;i=f;return n|0}c[m>>2]=c[(Ya()|0)>>2];if(17!=(c[m>>2]|0)){c[l>>2]=hE(c[m>>2]|0,3850)|0;if((c[l>>2]|0)!=0&(c[l>>2]|0)!=5)c[(c[j>>2]|0)+20>>2]=c[m>>2]}else c[l>>2]=5;c[g>>2]=c[l>>2];n=c[g>>2]|0;i=f;return n|0}function FD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+24|0;n=f+20|0;m=f+16|0;h=f+12|0;l=f+8|0;k=f+4|0;j=f;c[n>>2]=b;c[m>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[m>>2]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((c[m>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}c[k>>2]=ub[c[37192+232>>2]&31](c[l>>2]|0)|0;if((c[k>>2]|0)<0?(c[(Ya()|0)>>2]|0)==20:0)c[k>>2]=ub[c[37192+196>>2]&31](c[l>>2]|0)|0;if((c[k>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}c[j>>2]=c[(Ya()|0)>>2];c[k>>2]=0;c[k>>2]=2!=(c[j>>2]|0)?2058:0;if((c[k>>2]|0)!=0&(c[k>>2]|0)!=5)c[(c[h>>2]|0)+20>>2]=c[j>>2];c[g>>2]=c[k>>2];n=c[g>>2]|0;i=f;return n|0}function GD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;l=e+20|0;g=e+16|0;f=e+12|0;h=e+8|0;k=e+4|0;j=e;c[l>>2]=a;c[g>>2]=b;c[f>>2]=0;c[h>>2]=0;c[k>>2]=c[l>>2];if((d[(c[k>>2]|0)+16>>0]|0|0)>1){c[h>>2]=1;a=c[h>>2]|0;l=c[g>>2]|0;c[l>>2]=a;l=c[f>>2]|0;i=e;return l|0}else{c[j>>2]=c[(c[k>>2]|0)+24>>2];c[h>>2]=(zb[c[37192+28>>2]&63](c[j>>2]|0,0)|0)==0&1;a=c[h>>2]|0;l=c[g>>2]|0;c[l>>2]=a;l=c[f>>2]|0;i=e;return l|0}return 0}function HD(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;k=f;g=f+28|0;o=f+24|0;n=f+20|0;j=f+16|0;h=f+12|0;m=f+8|0;l=f+4|0;c[o>>2]=a;c[n>>2]=b;c[j>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 6:{c[(c[h>>2]|0)+40>>2]=c[c[j>>2]>>2];c[g>>2]=0;break};case 10:{aE(c[h>>2]|0,4,c[j>>2]|0);c[g>>2]=0;break};case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=qc(1200,k)|0;c[c[j>>2]>>2]=o;c[g>>2]=0;break};case 20:{o=cE(c[h>>2]|0)|0;c[c[j>>2]>>2]=o;c[g>>2]=0;break};case 1:{c[c[j>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[g>>2]=0;break};case 13:{aE(c[h>>2]|0,16,c[j>>2]|0);c[g>>2]=0;break};case 16:{c[l>>2]=fc(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0)|0;if(c[l>>2]|0){bE(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[j>>2]>>2]=c[l>>2]}c[g>>2]=0;break};case 5:{o=c[j>>2]|0;c[m>>2]=$D(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[g>>2]=c[m>>2];break};case 4:{c[c[j>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=0;break};default:c[g>>2]=12}while(0);i=f;return c[g>>2]|0}function ID(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function JD(a){a=a|0;var b=0,d=0,f=0,g=0;b=i;i=i+16|0;g=b+8|0;f=b+4|0;d=b;c[g>>2]=a;c[f>>2]=c[g>>2];c[d>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[d>>2]|0;i=b;return g|0}c[d>>2]=c[d>>2]|4096;g=c[d>>2]|0;i=b;return g|0}function KD(a,d,f,g){a=a|0;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;k=i;i=i+48|0;v=k+32|0;m=k+28|0;n=k+24|0;t=k+20|0;u=k+16|0;r=k+12|0;h=k+8|0;l=k+4|0;q=k;o=k+40|0;p=k+38|0;s=k+36|0;c[v>>2]=a;c[m>>2]=d;c[n>>2]=f;c[t>>2]=g;c[u>>2]=c[v>>2];c[r>>2]=c[(c[u>>2]|0)+36>>2];c[l>>2]=c[c[r>>2]>>2];c[q>>2]=0;b[o>>1]=(1<<(c[m>>2]|0)+(c[n>>2]|0))-(1<>2]);if(c[t>>2]&1){b[p>>1]=0;c[h>>2]=c[(c[l>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((c[h>>2]|0)!=(c[r>>2]|0))b[p>>1]=e[p>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if(!((e[o>>1]|0)&(e[p>>1]|0)))c[q>>2]=_D(c[l>>2]|0,2,(c[m>>2]|0)+120|0,c[n>>2]|0)|0;else c[q>>2]=0;if(c[q>>2]|0){v=c[q>>2]|0;i=k;return v|0}v=(c[r>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[o>>1]|0);v=(c[r>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[o>>1]|0);v=c[q>>2]|0;i=k;return v|0}if(!(c[t>>2]&4)){c[h>>2]=c[(c[l>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[o>>1]|0)){j=28;break}if((e[(c[h>>2]|0)+10>>1]|0)&(e[o>>1]|0)){j=28;break}c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((j|0)==28)c[q>>2]=5;if(c[q>>2]|0){v=c[q>>2]|0;i=k;return v|0}c[q>>2]=_D(c[l>>2]|0,1,(c[m>>2]|0)+120|0,c[n>>2]|0)|0;if(c[q>>2]|0){v=c[q>>2]|0;i=k;return v|0}v=(c[r>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[o>>1]|0);v=c[q>>2]|0;i=k;return v|0}b[s>>1]=0;c[h>>2]=c[(c[l>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[o>>1]|0)){j=16;break}b[s>>1]=e[s>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((j|0)==16)c[q>>2]=5;do if(!(c[q>>2]|0))if(!((e[s>>1]|0)&(e[o>>1]|0))){c[q>>2]=_D(c[l>>2]|0,0,(c[m>>2]|0)+120|0,c[n>>2]|0)|0;break}else{c[q>>2]=0;break}while(0);if(c[q>>2]|0){v=c[q>>2]|0;i=k;return v|0}v=(c[r>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[o>>1]|0);v=c[q>>2]|0;i=k;return v|0}function LD(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;PD();RD();i=b;return}function MD(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;i=i+32|0;e=d+24|0;l=d+20|0;f=d+16|0;h=d+12|0;g=d+8|0;j=d+4|0;k=d;c[l>>2]=a;c[f>>2]=b;c[k>>2]=c[l>>2];c[h>>2]=c[(c[k>>2]|0)+36>>2];if(!(c[h>>2]|0)){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}c[g>>2]=c[c[h>>2]>>2];c[j>>2]=(c[g>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[h>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2];hc(c[h>>2]|0);c[(c[k>>2]|0)+36>>2]=0;PD();l=(c[g>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+ -1;if(!(c[(c[g>>2]|0)+28>>2]|0)){if((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)>=0:0)ub[c[37192+196>>2]&31](c[(c[g>>2]|0)+8>>2]|0)|0;QD(c[k>>2]|0)}RD();c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}function ND(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function OD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function PD(){return}function QD(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;f=b+8|0;h=b+4|0;g=b;c[d>>2]=a;c[f>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+20>>2];if(!(c[f>>2]|0)){i=b;return}if(c[(c[f>>2]|0)+28>>2]|0){i=b;return}c[h>>2]=SD()|0;c[g>>2]=0;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=(e[(c[f>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)zb[c[37192+268>>2]&63](c[(c[(c[f>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0;else hc(c[(c[(c[f>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0)}hc(c[a+24>>2]|0);if((c[(c[f>>2]|0)+12>>2]|0)>=0){TD(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0,28999);c[(c[f>>2]|0)+12>>2]=-1}c[(c[c[f>>2]>>2]|0)+20>>2]=0;hc(c[f>>2]|0);i=b;return}function RD(){return}function SD(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=32768;c[e>>2]=qb[c[37192+292>>2]&1]()|0;if((c[e>>2]|0)<(c[d>>2]|0)){c[b>>2]=1;e=c[b>>2]|0;i=a;return e|0}else{c[b>>2]=(c[e>>2]|0)/(c[d>>2]|0)|0;e=c[b>>2]|0;i=a;return e|0}return 0}function TD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(ub[c[37192+16>>2]&31](c[h>>2]|0)|0)){i=e;return}if(c[g>>2]|0)d=c[(c[g>>2]|0)+32>>2]|0;else d=0;UD(4106,37496,d,c[f>>2]|0)|0;i=e;return}function UD(a,b,d,e){a=a|0;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;g=i;i=i+48|0;h=g;l=g+40|0;m=g+36|0;f=g+32|0;j=g+28|0;k=g+24|0;n=g+20|0;c[l>>2]=a;c[m>>2]=b;c[f>>2]=d;c[j>>2]=e;c[n>>2]=c[(Ya()|0)>>2];c[k>>2]=gb(c[n>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=1216;a=c[l>>2]|0;e=c[n>>2]|0;n=c[m>>2]|0;d=c[f>>2]|0;b=c[k>>2]|0;c[h>>2]=c[j>>2];c[h+4>>2]=e;c[h+8>>2]=n;c[h+12>>2]=d;c[h+16>>2]=b;tc(a,37504,h);i=g;return c[l>>2]|0}function VD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;b=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=Ja(b|0,a|0,f|0)|0;i=e;return a|0}function WD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+544|0;k=e;l=e+16|0;g=e+12|0;j=e+8|0;f=e+4|0;h=e+20|0;c[l>>2]=b;c[g>>2]=d;c[f>>2]=-1;c[k>>2]=c[l>>2];sc(512,h,1200,k)|0;c[j>>2]=aF(h|0)|0;while(1){if((c[j>>2]|0)<=1)break;if((a[h+(c[j>>2]|0)>>0]|0)==47)break;c[j>>2]=(c[j>>2]|0)+ -1}if((c[j>>2]|0)>0){a[h+(c[j>>2]|0)>>0]=0;c[f>>2]=ZD(h,0,0)|0}c[c[g>>2]>>2]=c[f>>2];if((c[f>>2]|0)>=0){l=0;i=e;return l|0}l=UD(Ij(28344)|0,37536,h,28344)|0;i=e;return l|0}function XD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if($a()|0){a=0;i=e;return a|0}a=fb(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return a|0}function YD(){var a=0,b=0;b=i;a=Pa(30)|0;i=b;return a|0}function ZD(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,l=0,m=0;l=i;i=i+112|0;k=l;f=l+100|0;g=l+96|0;e=l+92|0;j=l+88|0;h=l+84|0;m=l+8|0;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=(c[e>>2]|0)!=0?c[e>>2]|0:420;while(1){c[j>>2]=pb[c[37192+4>>2]&31](c[f>>2]|0,c[g>>2]|524288,c[h>>2]|0)|0;if((c[j>>2]|0)<0)if((c[(Ya()|0)>>2]|0)==4)continue;else break;if((c[j>>2]|0)>=3)break;ub[c[37192+16>>2]&31](c[j>>2]|0)|0;a=c[j>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=a;tc(28,37760,k);c[j>>2]=-1;if((pb[c[37192+4>>2]&31](37808,c[g>>2]|0,c[e>>2]|0)|0)<0)break}if(!((c[j>>2]|0)>=0&(c[e>>2]|0)!=0)){a=c[j>>2]|0;i=l;return a|0}if(zb[c[37192+64>>2]&63](c[j>>2]|0,m)|0){a=c[j>>2]|0;i=l;return a|0}if(c[m+36>>2]|0){a=c[j>>2]|0;i=l;return a|0}if((c[m+12>>2]&511|0)==(c[e>>2]|0)){a=c[j>>2]|0;i=l;return a|0}zb[c[37192+172>>2]&63](c[j>>2]|0,c[e>>2]|0)|0;a=c[j>>2]|0;i=l;return a|0}function _D(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;o=m;n=m+36|0;k=m+32|0;l=m+28|0;g=m+24|0;j=m+8|0;h=m+4|0;c[n>>2]=a;c[k>>2]=d;c[l>>2]=e;c[g>>2]=f;c[h>>2]=0;if((c[(c[n>>2]|0)+12>>2]|0)<0){a=c[h>>2]|0;i=m;return a|0}c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;b[j>>1]=c[k>>2];b[j+2>>1]=0;c[j+4>>2]=c[l>>2];c[j+8>>2]=c[g>>2];d=c[9320]|0;a=c[(c[n>>2]|0)+12>>2]|0;c[o>>2]=j;c[h>>2]=pb[d&31](a,13,o)|0;c[h>>2]=(c[h>>2]|0)!=-1?0:5;a=c[h>>2]|0;i=m;return a|0}function $D(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,l=0,m=0,n=0;k=i;i=i+128|0;f=k+112|0;g=k+108|0;n=k+16|0;e=k+8|0;l=k+32|0;m=k+28|0;h=k;j=k+24|0;c[g>>2]=a;a=n;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[g>>2]|0)+40>>2]|0)>0){if(zb[c[37192+64>>2]&63](c[(c[g>>2]|0)+12>>2]|0,l)|0){c[f>>2]=1802;a=c[f>>2]|0;i=k;return a|0}b=n;d=c[(c[g>>2]|0)+40>>2]|0;d=bF(c[b>>2]|0,c[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;d=ZE(d|0,D|0,1,0)|0;b=c[(c[g>>2]|0)+40>>2]|0;b=jF(d|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;d=c[(c[g>>2]|0)+40>>2]|0;d=lF(b|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=D;b=e;d=c[b+4>>2]|0;a=c[l+36>>2]|0;n=((a|0)<0)<<31>>31;if((d|0)>(n|0)|((d|0)==(n|0)?(c[b>>2]|0)>>>0>a>>>0:0)){c[m>>2]=c[l+40>>2];a=e;if(eE(c[(c[g>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0){a=c[(Ya()|0)>>2]|0;c[(c[g>>2]|0)+20>>2]=a;c[f>>2]=UD(1546,37568,c[(c[g>>2]|0)+32>>2]|0,28530)|0;a=c[f>>2]|0;i=k;return a|0}b=($(((c[l+36>>2]|0)+(c[m>>2]<<1)-1|0)/(c[m>>2]|0)|0,c[m>>2]|0)|0)-1|0;a=h;c[a>>2]=b;c[a+4>>2]=((b|0)<0)<<31>>31;while(1){b=h;l=c[b+4>>2]|0;a=e;n=c[a+4>>2]|0;if(!((l|0)<(n|0)|((l|0)==(n|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)))break a;a=h;c[j>>2]=fE(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0,1216,1)|0;if((c[j>>2]|0)!=1)break;b=c[m>>2]|0;a=h;b=bF(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=D}c[f>>2]=778;a=c[f>>2]|0;i=k;return a|0}}while(0);c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}function aE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+16|0;l=j+4|0;m=j+8|0;k=j;c[l>>2]=f;a[m>>0]=g;c[k>>2]=h;if((c[c[k>>2]>>2]|0)<0){c[c[k>>2]>>2]=((e[(c[l>>2]|0)+18>>1]|0)&(d[m>>0]|0)|0)!=0&1;i=j;return}h=d[m>>0]|0;if(!(c[c[k>>2]>>2]|0)){f=(c[l>>2]|0)+18|0;b[f>>1]=(e[f>>1]|0)&~h;i=j;return}else{f=(c[l>>2]|0)+18|0;b[f>>1]=e[f>>1]|0|h;i=j;return}}function bE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k;g=k+24|0;l=k+20|0;h=k+16|0;f=k+12|0;j=k+8|0;m=k+4|0;c[l>>2]=b;c[h>>2]=e;b=dE()|0;c[m>>2]=b;c[m>>2]=(c[m>>2]|0)==0?19120:b;b=(aF(c[m>>2]|0)|0)+25|0;if(b>>>0>=(c[l>>2]|0)>>>0){c[g>>2]=1;b=c[g>>2]|0;i=k;return b|0}do{e=(c[l>>2]|0)-18|0;b=c[h>>2]|0;c[n>>2]=c[m>>2];sc(e,b,37888,n)|0;c[j>>2]=aF(c[h>>2]|0)|0;vc(15,(c[h>>2]|0)+(c[j>>2]|0)|0);c[f>>2]=0;while(1){e=(c[h>>2]|0)+(c[j>>2]|0)|0;if((c[f>>2]|0)>>>0>=15)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[37824+(((d[e>>0]|0)>>>0)%62|0)>>0]|0;c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}a[e>>0]=0;a[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]=0}while((zb[c[37192+28>>2]&63](c[h>>2]|0,0)|0)==0);c[g>>2]=0;b=c[g>>2]|0;i=k;return b|0}function cE(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+80|0;e=b+76|0;d=b;c[e>>2]=a;if(!(c[(c[e>>2]|0)+8>>2]|0)){e=0;e=e&1;i=b;return e|0}if(zb[c[37192+52>>2]&63](c[(c[e>>2]|0)+32>>2]|0,d)|0){e=1;e=e&1;i=b;return e|0}e=(c[d+72>>2]|0)!=(c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0);e=e&1;i=b;return e|0}function dE(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+96|0;e=a+80|0;d=a+4|0;b=a;c[b>>2]=0;c[9476]=c[392];if(!(c[9477]|0))c[9477]=ab(37976)|0;if(!(c[9478]|0))c[9478]=ab(37992)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=7){d=12;break}if((((c[b>>2]|0)!=0?(zb[c[37192+52>>2]&63](c[b>>2]|0,d)|0)==0:0)?(c[d+12>>2]&61440|0)==16384:0)?(zb[c[37192+28>>2]&63](c[b>>2]|0,7)|0)==0:0){d=12;break}f=c[e>>2]|0;c[e>>2]=f+1;c[b>>2]=c[37904+(f<<2)>>2]}if((d|0)==12){i=a;return c[b>>2]|0}return 0}function eE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e;f=e+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;while(1){c[f>>2]=zb[c[37192+76>>2]&63](c[g>>2]|0,c[h>>2]|0)|0;if((c[f>>2]|0)>=0){d=4;break}if((c[(Ya()|0)>>2]|0)!=4){d=4;break}}if((d|0)==4){i=e;return c[f>>2]|0}return 0}function fE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;a=l;a=gE(c[(c[h>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return a|0}function gE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;j=i;i=i+48|0;h=j+36|0;n=j+32|0;r=j+8|0;o=j+28|0;p=j+24|0;k=j+20|0;l=j+16|0;q=j;c[n>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[o>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=0;c[p>>2]=c[p>>2]&131071;while(1){a=va(c[n>>2]|0,c[r>>2]|0,0)|0;b=q;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;b=q;a=r;if((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))break;c[l>>2]=pb[c[37192+136>>2]&31](c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)>=0){m=10;break}if((c[(Ya()|0)>>2]|0)!=4){m=10;break}}if((m|0)==10){if((c[l>>2]|0)<0&(c[k>>2]|0)!=0){a=c[(Ya()|0)>>2]|0;c[c[k>>2]>>2]=a}c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}if(c[k>>2]|0){a=q;if((c[a>>2]|0)==-1?(c[a+4>>2]|0)==-1:0)l=c[(Ya()|0)>>2]|0;else l=0;c[c[k>>2]>>2]=l}c[h>>2]=-1;a=c[h>>2]|0;i=j;return a|0}function hE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[h>>2]=a;c[g>>2]=b;switch(c[h>>2]|0){case 37:case 4:case 16:case 110:case 11:{c[f>>2]=5;break};case 1:{d=5;break};case 13:{if((c[g>>2]|0)==3850|(c[g>>2]|0)==2058|(c[g>>2]|0)==2314|(c[g>>2]|0)==3594)c[f>>2]=5;else d=5;break};default:c[f>>2]=c[g>>2]}if((d|0)==5)c[f>>2]=3;i=e;return c[f>>2]|0}function iE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=Xa(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function jE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;j=i;i=i+48|0;o=j+36|0;k=j+32|0;p=j+8|0;q=j+28|0;g=j+24|0;m=j+20|0;n=j+16|0;l=j;c[k>>2]=a;a=p;c[a>>2]=b;c[a+4>>2]=d;c[q>>2]=e;c[g>>2]=f;c[n>>2]=0;c[g>>2]=c[g>>2]&131071;do{a=va(c[(c[k>>2]|0)+12>>2]|0,c[p>>2]|0,0)|0;b=l;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;b=l;a=p;if((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0)){h=3;break}c[m>>2]=pb[c[37192+100>>2]&31](c[(c[k>>2]|0)+12>>2]|0,c[q>>2]|0,c[g>>2]|0)|0;if((c[m>>2]|0)==(c[g>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[g>>2]=(c[g>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;a=p;b=bF(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=p;c[a>>2]=b;c[a+4>>2]=D;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0)}}else{if((c[(Ya()|0)>>2]|0)!=4){h=11;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((h|0)==3){a=l;if((c[a>>2]|0)==-1?(c[a+4>>2]|0)==-1:0){a=c[(Ya()|0)>>2]|0;c[(c[k>>2]|0)+20>>2]=a}else c[(c[k>>2]|0)+20>>2]=0;c[o>>2]=-1;a=c[o>>2]|0;i=j;return a|0}else if((h|0)==11){c[n>>2]=0;a=c[(Ya()|0)>>2]|0;c[(c[k>>2]|0)+20>>2]=a}c[o>>2]=(c[m>>2]|0)+(c[n>>2]|0);a=c[o>>2]|0;i=j;return a|0}function kE(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];if((c[(c[d>>2]|0)+12>>2]|0)>=0){TD(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,26735);c[(c[d>>2]|0)+12>>2]=-1}hc(c[(c[d>>2]|0)+28>>2]|0);d=(c[d>>2]|0)+0|0;a=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=b;return 0}function lE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 38016}function mE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=kE(c[d>>2]|0)|0;i=b;return a|0}function nE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function oE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function pE(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function qE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+96|0;k=d+92|0;j=d+88|0;e=d+84|0;h=d+8|0;f=d+4|0;g=d;c[k>>2]=a;c[j>>2]=b;c[e>>2]=0;if(zb[c[37192+52>>2]&63](c[k>>2]|0,h)|0){k=c[e>>2]|0;i=d;return k|0}PD();c[f>>2]=c[9588];while(1){if(c[f>>2]|0)if((c[c[f>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[f>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[f>>2]|0;if(!a)break;c[f>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[f>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[j>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[e>>2]=c[c[g>>2]>>2];if(c[e>>2]|0)c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2]}RD();k=c[e>>2]|0;i=d;return k|0}function rE(b,d,e,f,g){b=b|0;d=d|0;e=e|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;o=i;i=i+624|0;q=o+100|0;l=o+96|0;k=o+92|0;n=o+88|0;h=o+84|0;j=o+80|0;p=o+104|0;r=o+76|0;m=o;c[q>>2]=b;c[l>>2]=d;c[k>>2]=e;c[n>>2]=f;c[h>>2]=g;c[j>>2]=0;c[c[k>>2]>>2]=0;c[c[n>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[l>>2]&526336)){if(!(c[l>>2]&8)){b=c[j>>2]|0;i=o;return b|0}c[c[k>>2]>>2]=384;b=c[j>>2]|0;i=o;return b|0}c[r>>2]=(Mb(c[q>>2]|0)|0)-1;while(1){if((a[(c[q>>2]|0)+(c[r>>2]|0)>>0]|0)==45)break;c[r>>2]=(c[r>>2]|0)+ -1}dF(p|0,c[q>>2]|0,c[r>>2]|0)|0;a[p+(c[r>>2]|0)>>0]=0;if(!(zb[c[37192+52>>2]&63](p,m)|0)){c[c[k>>2]>>2]=c[m+12>>2]&511;c[c[n>>2]>>2]=c[m+20>>2];c[c[h>>2]>>2]=c[m+24>>2];b=c[j>>2]|0;i=o;return b|0}else{c[j>>2]=1802;b=c[j>>2]|0;i=o;return b|0}return 0}function sE(a,d,f,g,h){a=a|0;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,q=0,r=0,s=0,t=0,u=0;j=i;i=i+48|0;o=j;s=j+40|0;r=j+36|0;u=j+32|0;n=j+28|0;t=j+24|0;p=j+20|0;q=j+16|0;k=j+12|0;l=j+8|0;m=j+4|0;c[s>>2]=a;c[r>>2]=d;c[u>>2]=f;c[n>>2]=g;c[t>>2]=h;c[q>>2]=c[u>>2];c[k>>2]=0;c[(c[q>>2]|0)+12>>2]=c[r>>2];c[(c[q>>2]|0)+4>>2]=c[s>>2];c[(c[q>>2]|0)+32>>2]=c[n>>2];b[(c[q>>2]|0)+18>>1]=c[t>>2]&255;if(pg((c[t>>2]&64|0)!=0?c[n>>2]|0:0,38136,1)|0){u=(c[q>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(UE(c[(c[s>>2]|0)+16>>2]|0,1112)|0)){u=(c[q>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[t>>2]&128)c[p>>2]=38016;else c[p>>2]=zb[c[c[(c[s>>2]|0)+20>>2]>>2]&63](c[n>>2]|0,c[q>>2]|0)|0;if((c[p>>2]|0)!=38144){if((c[p>>2]|0)==37112){c[m>>2]=(aF(c[n>>2]|0)|0)+6;c[l>>2]=fc(c[m>>2]|0)|0;if(!(c[l>>2]|0))c[k>>2]=7;else{a=c[m>>2]|0;u=c[l>>2]|0;c[o>>2]=c[n>>2];sc(a,u,38224,o)|0}c[(c[q>>2]|0)+24>>2]=c[l>>2]}}else{PD();c[k>>2]=tE(c[q>>2]|0,(c[q>>2]|0)+8|0)|0;if(c[k>>2]|0){TD(c[q>>2]|0,c[r>>2]|0,30114);c[r>>2]=-1}RD()}c[(c[q>>2]|0)+20>>2]=0;if(!(c[k>>2]|0)){c[c[q>>2]>>2]=c[p>>2];uE(c[q>>2]|0);u=c[k>>2]|0;i=j;return u|0}if((c[r>>2]|0)<0){u=c[k>>2]|0;i=j;return u|0}TD(c[q>>2]|0,c[r>>2]|0,30199);u=c[k>>2]|0;i=j;return u|0}function tE(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;h=i;i=i+112|0;e=h+104|0;j=h+100|0;g=h+96|0;l=h+92|0;m=h+88|0;d=h+80|0;k=h+4|0;f=h;c[j>>2]=a;c[g>>2]=b;c[f>>2]=0;c[m>>2]=c[(c[j>>2]|0)+12>>2];c[l>>2]=zb[c[37192+64>>2]&63](c[m>>2]|0,k)|0;if(c[l>>2]|0){m=c[(Ya()|0)>>2]|0;c[(c[j>>2]|0)+20>>2]=m;if((c[(c[j>>2]|0)+20>>2]|0)==75){c[e>>2]=22;m=c[e>>2]|0;i=h;return m|0}else{c[e>>2]=10;m=c[e>>2]|0;i=h;return m|0}}c[d+0>>2]=0;c[d+4>>2]=0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+72>>2];c[f>>2]=c[9588];while(1){if(c[f>>2]|0)b=(TE(d,c[f>>2]|0,8)|0)!=0;else b=0;j=c[f>>2]|0;if(!b)break;c[f>>2]=c[j+32>>2]}if(!j){c[f>>2]=fc(40)|0;if(!(c[f>>2]|0)){c[e>>2]=7;m=c[e>>2]|0;i=h;return m|0}b=(c[f>>2]|0)+0|0;j=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(j|0));m=c[f>>2]|0;c[m+0>>2]=c[d+0>>2];c[m+4>>2]=c[d+4>>2];c[(c[f>>2]|0)+16>>2]=1;c[(c[f>>2]|0)+32>>2]=c[9588];c[(c[f>>2]|0)+36>>2]=0;if(c[9588]|0)c[(c[9588]|0)+36>>2]=c[f>>2];c[9588]=c[f>>2]}else{m=(c[f>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[f>>2];c[e>>2]=0;m=c[e>>2]|0;i=h;return m|0}function uE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;d=i;i=i+96|0;g=d;f=d+84|0;h=d+8|0;j=d+4|0;c[f>>2]=a;if((e[(c[f>>2]|0)+18>>1]|0)&256){i=d;return}c[j>>2]=zb[c[37192+64>>2]&63](c[(c[f>>2]|0)+12>>2]|0,h)|0;if(c[j>>2]|0){c[g>>2]=c[(c[f>>2]|0)+32>>2];tc(28,38232,g);j=(c[f>>2]|0)+18|0;b[j>>1]=e[j>>1]|0|256;i=d;return}if((c[h+16>>2]|0)==0?((e[(c[f>>2]|0)+18>>1]|0)&32|0)==0:0){c[g>>2]=c[(c[f>>2]|0)+32>>2];tc(28,38256,g);j=(c[f>>2]|0)+18|0;b[j>>1]=e[j>>1]|0|256;i=d;return}a=c[f>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[g>>2]=c[a+32>>2];tc(28,38288,g);j=(c[f>>2]|0)+18|0;b[j>>1]=e[j>>1]|0|256;i=d;return}if(!(cE(a)|0)){i=d;return}c[g>>2]=c[(c[f>>2]|0)+32>>2];tc(28,38320,g);j=(c[f>>2]|0)+18|0;b[j>>1]=e[j>>1]|0|256;i=d;return}function vE(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;b=d+4|0;f=d;c[e>>2]=a;c[b>>2]=0;c[f>>2]=c[e>>2];uE(c[f>>2]|0);xE(c[e>>2]|0,0)|0;PD();if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[(c[(c[f>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)EE(c[f>>2]|0);FE(c[f>>2]|0);c[b>>2]=kE(c[e>>2]|0)|0;RD();i=d;return c[b>>2]|0}function wE(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;k=i;i=i+48|0;g=k+44|0;q=k+40|0;j=k+36|0;h=k+32|0;l=k+28|0;m=k+24|0;n=k+8|0;o=k;c[q>>2]=e;c[j>>2]=f;c[h>>2]=0;c[l>>2]=c[q>>2];c[o>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)>=(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=k;return q|0}PD();c[m>>2]=c[(c[l>>2]|0)+8>>2];if((d[(c[l>>2]|0)+16>>0]|0|0)!=(d[(c[m>>2]|0)+12>>0]|0|0)?(c[j>>2]|0)>1?1:(d[(c[m>>2]|0)+12>>0]|0|0)>=3:0)c[h>>2]=5;else p=6;a:do if((p|0)==6){do if((c[j>>2]|0)==1){if((d[(c[m>>2]|0)+12>>0]|0|0)!=1?(d[(c[m>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[l>>2]|0)+16>>0]=1;q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[n+8>>2]=1;b[n+2>>1]=0;if((c[j>>2]|0)!=1){if((c[j>>2]|0)==4?(d[(c[l>>2]|0)+16>>0]|0|0)<3:0)p=13}else p=13;if((p|0)==13?(b[n>>1]=(c[j>>2]|0)==1?0:1,c[n+4>>2]=c[282],(CE(c[l>>2]|0,n)|0)!=0):0){c[o>>2]=c[(Ya()|0)>>2];c[h>>2]=hE(c[o>>2]|0,3850)|0;if((c[h>>2]|0)==5)break;c[(c[l>>2]|0)+20>>2]=c[o>>2];break}do if((c[j>>2]|0)!=1){if((c[j>>2]|0)==4?(c[(c[m>>2]|0)+8>>2]|0)>1:0){c[h>>2]=5;break}b[n>>1]=1;p=c[282]|0;if((c[j>>2]|0)==2){c[n+4>>2]=p+1;c[n+8>>2]=1}else{c[n+4>>2]=p+2;c[n+8>>2]=510}if((CE(c[l>>2]|0,n)|0)!=0?(c[o>>2]=c[(Ya()|0)>>2],c[h>>2]=hE(c[o>>2]|0,3850)|0,(c[h>>2]|0)!=5):0)c[(c[l>>2]|0)+20>>2]=c[o>>2]}else{c[n+4>>2]=(c[282]|0)+2;c[n+8>>2]=510;if(CE(c[l>>2]|0,n)|0){c[o>>2]=c[(Ya()|0)>>2];c[h>>2]=hE(c[o>>2]|0,3850)|0}c[n+4>>2]=c[282];c[n+8>>2]=1;b[n>>1]=2;q=(CE(c[l>>2]|0,n)|0)!=0;if(q&(c[h>>2]|0)==0){c[o>>2]=c[(Ya()|0)>>2];c[h>>2]=2058}if(!(c[h>>2]|0)){a[(c[l>>2]|0)+16>>0]=1;q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[m>>2]|0)+8>>2]=1;break}if((c[h>>2]|0)==5)break a;c[(c[l>>2]|0)+20>>2]=c[o>>2];break a}while(0);n=c[j>>2]|0;if(!(c[h>>2]|0)){a[(c[l>>2]|0)+16>>0]=n;a[(c[m>>2]|0)+12>>0]=c[j>>2];break}if((n|0)==4){a[(c[l>>2]|0)+16>>0]=3;a[(c[m>>2]|0)+12>>0]=3}}while(0);RD();c[g>>2]=c[h>>2];q=c[g>>2]|0;i=k;return q|0}function xE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=BE(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function yE(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;m=i;i=i+48|0;j=m;o=m+40|0;l=m+36|0;n=m+32|0;k=m+28|0;h=m+24|0;g=m+8|0;c[o>>2]=e;c[l>>2]=f;c[n>>2]=0;c[k>>2]=0;c[h>>2]=c[o>>2];PD();if((d[(c[(c[h>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[k>>2]=1;do if((c[k>>2]|0)==0?(a[(c[(c[h>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[g+2>>1]=0;c[g+4>>2]=(c[282]|0)+1;c[g+8>>2]=1;b[g>>1]=1;e=c[9320]|0;o=c[(c[h>>2]|0)+12>>2]|0;c[j>>2]=g;if(pb[e&31](o,12,j)|0){c[n>>2]=3594;o=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=o;break}if((b[g>>1]|0)!=2)c[k>>2]=1}while(0);RD();c[c[l>>2]>>2]=c[k>>2];i=m;return c[n>>2]|0}function zE(a,f,g,h,j){a=a|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=i;i=i+160|0;k=l+148|0;E=l+144|0;n=l+140|0;r=l+136|0;z=l+132|0;p=l+128|0;C=l+124|0;D=l+120|0;m=l+116|0;o=l+112|0;t=l+108|0;u=l+104|0;v=l+100|0;x=l+96|0;y=l+20|0;q=l+16|0;w=l+12|0;B=l+8|0;A=l+4|0;s=l;c[E>>2]=a;c[n>>2]=f;c[r>>2]=g;c[z>>2]=h;c[p>>2]=j;c[C>>2]=c[E>>2];c[o>>2]=0;c[t>>2]=SD()|0;if((c[(c[C>>2]|0)+36>>2]|0)==0?(c[o>>2]=AE(c[C>>2]|0)|0,(c[o>>2]|0)!=0):0){c[k>>2]=c[o>>2];E=c[k>>2]|0;i=l;return E|0}c[D>>2]=c[(c[C>>2]|0)+36>>2];c[m>>2]=c[c[D>>2]>>2];c[u>>2]=$(((c[n>>2]|0)+(c[t>>2]|0)|0)/(c[t>>2]|0)|0,c[t>>2]|0)|0;a:do if((e[(c[m>>2]|0)+20>>1]|0|0)<(c[u>>2]|0)){c[x>>2]=$(c[u>>2]|0,c[r>>2]|0)|0;c[(c[m>>2]|0)+16>>2]=c[r>>2];b:do if((c[(c[m>>2]|0)+12>>2]|0)>=0){if(zb[c[37192+64>>2]&63](c[(c[m>>2]|0)+12>>2]|0,y)|0){c[o>>2]=4874;break a}if((c[y+36>>2]|0)<(c[x>>2]|0)){if(!(c[z>>2]|0))break a;c[q>>2]=(c[y+36>>2]|0)/4096|0;while(1){if((c[q>>2]|0)>=((c[x>>2]|0)/4096|0|0))break b;E=(c[q>>2]<<12)+4096-1|0;if((gE(c[(c[m>>2]|0)+12>>2]|0,E,((E|0)<0)<<31>>31,1216,1,0)|0)!=1)break;c[q>>2]=(c[q>>2]|0)+1}c[w>>2]=c[(c[m>>2]|0)+8>>2];c[o>>2]=UD(4874,37616,c[w>>2]|0,29258)|0;break a}}while(0);c[v>>2]=jc(c[(c[m>>2]|0)+24>>2]|0,c[u>>2]<<2)|0;if(!(c[v>>2]|0)){c[o>>2]=3082;break}c[(c[m>>2]|0)+24>>2]=c[v>>2];while(1){if((e[(c[m>>2]|0)+20>>1]|0|0)>=(c[u>>2]|0))break a;c[B>>2]=$(c[r>>2]|0,c[t>>2]|0)|0;if((c[(c[m>>2]|0)+12>>2]|0)>=0){h=c[9362]|0;g=c[B>>2]|0;f=(d[(c[m>>2]|0)+22>>0]|0|0)!=0?1:3;a=c[(c[m>>2]|0)+12>>2]|0;E=c[r>>2]|0;E=lF(E|0,((E|0)<0)<<31>>31|0,e[(c[m>>2]|0)+20>>1]|0|0,0)|0;c[s>>2]=tb[h&1](0,g,f,1,a,E)|0;if((c[s>>2]|0)==(-1|0)){q=21;break}}else{c[s>>2]=fc(c[r>>2]|0)|0;if(!(c[s>>2]|0)){q=23;break}_E(c[s>>2]|0,0,c[r>>2]|0)|0}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[t>>2]|0))break;E=$(c[r>>2]|0,c[A>>2]|0)|0;c[(c[(c[m>>2]|0)+24>>2]|0)+((e[(c[m>>2]|0)+20>>1]|0)+(c[A>>2]|0)<<2)>>2]=(c[s>>2]|0)+E;c[A>>2]=(c[A>>2]|0)+1}E=(c[m>>2]|0)+20|0;b[E>>1]=(e[E>>1]|0)+(c[t>>2]|0)}if((q|0)==21){c[o>>2]=UD(5386,37720,c[(c[m>>2]|0)+8>>2]|0,29285)|0;break}else if((q|0)==23){c[o>>2]=7;break}}while(0);if((e[(c[m>>2]|0)+20>>1]|0|0)>(c[n>>2]|0))c[c[p>>2]>>2]=c[(c[(c[m>>2]|0)+24>>2]|0)+(c[n>>2]<<2)>>2];else c[c[p>>2]>>2]=0;if((c[o>>2]|0)==0?(d[(c[m>>2]|0)+22>>0]|0|0)!=0:0)c[o>>2]=8;c[k>>2]=c[o>>2];E=c[k>>2]|0;i=l;return E|0}function AE(b){b=b|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;m=i;i=i+128|0;r=m;g=m+112|0;h=m+108|0;j=m+104|0;l=m+100|0;k=m+96|0;p=m+92|0;e=m+88|0;q=m+84|0;o=m+8|0;n=m+4|0;c[h>>2]=b;c[j>>2]=0;c[j>>2]=fc(16)|0;if(!(c[j>>2]|0)){c[g>>2]=7;b=c[g>>2]|0;i=m;return b|0}b=c[j>>2]|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;PD();c[p>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){if((zb[c[37192+64>>2]&63](c[(c[h>>2]|0)+12>>2]|0,o)|0)!=0?(d[(c[p>>2]|0)+13>>0]|0|0)==0:0)c[k>>2]=1802;else f=7;do if((f|0)==7){c[q>>2]=6+(aF(c[(c[h>>2]|0)+32>>2]|0)|0);c[l>>2]=fc(36+(c[q>>2]|0)|0)|0;if(!(c[l>>2]|0)){c[k>>2]=7;break}_E(c[l>>2]|0,0,36+(c[q>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[e>>2]=b;q=c[q>>2]|0;b=c[e>>2]|0;c[r>>2]=c[(c[h>>2]|0)+32>>2];sc(q,b,38360,r)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[h>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[l>>2]|0)+4>>2]=8;if(!(c[(c[l>>2]|0)+4>>2]|0)){c[k>>2]=7;break}if(d[(c[p>>2]|0)+13>>0]|0)break a;c[n>>2]=66;if(pg(c[(c[h>>2]|0)+32>>2]|0,38368,0)|0){c[n>>2]=0;a[(c[l>>2]|0)+22>>0]=1}b=ZD(c[e>>2]|0,c[n>>2]|0,c[o+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=b;if((c[(c[l>>2]|0)+12>>2]|0)<0){b=Ij(29111)|0;c[k>>2]=UD(b,37536,c[e>>2]|0,29111)|0;break}pb[c[37192+244>>2]&31](c[(c[l>>2]|0)+12>>2]|0,c[o+20>>2]|0,c[o+24>>2]|0)|0;c[k>>2]=0;if((_D(c[l>>2]|0,1,128,1)|0)==0?(eE(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[k>>2]=UD(4618,37568,c[e>>2]|0,29127)|0;if(!(c[k>>2]|0))c[k>>2]=_D(c[l>>2]|0,0,128,1)|0;if(!(c[k>>2]|0))break a}while(0);QD(c[h>>2]|0);hc(c[j>>2]|0);RD();c[g>>2]=c[k>>2];b=c[g>>2]|0;i=m;return b|0}while(0);c[c[j>>2]>>2]=c[l>>2];b=(c[l>>2]|0)+28|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[h>>2]|0)+36>>2]=c[j>>2];RD();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[g>>2]=0;b=c[g>>2]|0;i=m;return b|0}function BE(e,f,g){e=e|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;n=i;i=i+48|0;k=n+44|0;q=n+40|0;l=n+36|0;h=n+28|0;o=n+24|0;p=n+8|0;m=n;c[q>>2]=e;c[l>>2]=f;c[n+32>>2]=g;c[h>>2]=c[q>>2];c[m>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)<=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=n;return q|0}PD();c[o>>2]=c[(c[h>>2]|0)+8>>2];do if((d[(c[h>>2]|0)+16>>0]|0|0)>1){if((c[l>>2]|0)==1?(b[p>>1]=0,b[p+2>>1]=0,c[p+4>>2]=(c[282]|0)+2,c[p+8>>2]=510,(CE(c[h>>2]|0,p)|0)!=0):0){c[m>>2]=2314;q=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=q;break}b[p>>1]=2;b[p+2>>1]=0;c[p+4>>2]=c[282];c[p+8>>2]=2;if(!(CE(c[h>>2]|0,p)|0)){a[(c[o>>2]|0)+12>>0]=1;j=10;break}else{c[m>>2]=2058;q=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=q;break}}else j=10;while(0);if((j|0)==10?(c[l>>2]|0)==0:0){q=(c[o>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+ -1;do if(!(c[(c[o>>2]|0)+8>>2]|0)){b[p>>1]=2;b[p+2>>1]=0;c[p+8>>2]=0;c[p+4>>2]=0;if(!(CE(c[h>>2]|0,p)|0)){a[(c[o>>2]|0)+12>>0]=0;break}else{c[m>>2]=2058;q=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=q;a[(c[o>>2]|0)+12>>0]=0;a[(c[h>>2]|0)+16>>0]=0;break}}while(0);q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+ -1;if(!(c[(c[o>>2]|0)+24>>2]|0))DE(c[h>>2]|0)}RD();if(!(c[m>>2]|0))a[(c[h>>2]|0)+16>>0]=c[l>>2];c[k>>2]=c[m>>2];q=c[k>>2]|0;i=n;return q|0}function CE(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;k=i;i=i+48|0;n=k;j=k+40|0;l=k+36|0;h=k+32|0;m=k+28|0;o=k+24|0;p=k+8|0;c[l>>2]=f;c[h>>2]=g;c[o>>2]=c[(c[l>>2]|0)+8>>2];if(((e[(c[l>>2]|0)+18>>1]|0)&1|0)==0?(d[(c[o>>2]|0)+13>>0]|0|0)==0:0)g=9;else g=3;do if((g|0)==3)if(!((e[(c[l>>2]|0)+18>>1]|0)&2)){if(d[(c[o>>2]|0)+13>>0]|0){c[m>>2]=0;break}b[p+2>>1]=0;c[p+4>>2]=(c[282]|0)+2;c[p+8>>2]=510;b[p>>1]=1;h=c[9320]|0;f=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=p;c[m>>2]=pb[h&31](f,13,n)|0;if((c[m>>2]|0)>=0){a[(c[o>>2]|0)+13>>0]=1;f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1;break}c[j>>2]=c[m>>2];f=c[j>>2]|0;i=k;return f|0}else g=9;while(0);if((g|0)==9){g=c[9320]|0;f=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=c[h>>2];c[m>>2]=pb[g&31](f,13,n)|0}c[j>>2]=c[m>>2];f=c[j>>2]|0;i=k;return f|0}function DE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;b=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[b>>2]=c[(c[g>>2]|0)+8>>2];c[e>>2]=c[(c[b>>2]|0)+28>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+8>>2];TD(c[g>>2]|0,c[c[e>>2]>>2]|0,25997);hc(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[b>>2]|0)+28>>2]=0;i=d;return}function EE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function FE(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=b;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1;if(c[(c[d>>2]|0)+16>>2]|0){i=b;return}DE(c[e>>2]|0);a=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=a;else c[9588]=a;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];hc(c[d>>2]|0);i=b;return}function GE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 38144}function HE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;if((c[c[e>>2]>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){e=d;c[e>>2]=0;c[e+4>>2]=0;e=d;e=c[e>>2]|0;d=d+4|0;d=c[d>>2]|0;D=d;i=b;return e|0}else{f=(c[e>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=Ld(c[(c[(c[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;e=d;c[e>>2]=a;c[e+4>>2]=D;e=d;e=c[e>>2]|0;d=d+4|0;d=c[d>>2]|0;D=d;i=b;return e|0}return 0}function IE(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;if((c[c[e>>2]>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){h[d>>3]=0.0;f=+h[d>>3];i=b;return+f}else{g=(c[e>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[d>>3]=+Hd(c[(c[(c[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[d>>3];i=b;return+f}return 0.0}function JE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+20|0;j=e+16|0;l=e+12|0;g=e+8|0;k=e;c[j>>2]=b;c[l>>2]=d;if((c[c[l>>2]>>2]|0)<=0){a[f>>0]=48;b=a[f>>0]|0;i=e;return b|0}else{b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+ -1;c[g>>2]=~~+h[c[j>>2]>>3];h[k>>3]=+(c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+48;h[c[j>>2]>>3]=(+h[c[j>>2]>>3]- +h[k>>3])*10.0;a[f>>0]=c[g>>2];b=a[f>>0]|0;i=e;return b|0}return 0}function KE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if((c[c[e>>2]>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}else{f=(c[e>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[d>>2]=Ed(c[(c[(c[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;e=c[d>>2]|0;i=b;return e|0}return 0}function LE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+4|0;g=f;h=f+8|0;c[j>>2]=b;c[g>>2]=d;a[h>>0]=e;if(((c[(c[j>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>=(c[(c[j>>2]|0)+16>>2]|0)?(b=Xm(c[j>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=f;return}while(1){b=c[g>>2]|0;c[g>>2]=b+ -1;if((b|0)<=0)break;d=a[h>>0]|0;e=(c[j>>2]|0)+12|0;b=c[e>>2]|0;c[e>>2]=b+1;a[(c[(c[j>>2]|0)+8>>2]|0)+b>>0]=d}i=f;return}function ME(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[48+(c[b>>2]<<2)>>2]|0}function NE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;g=b+16|0;d=b+12|0;e=b;f=b+8|0;c[g>>2]=a;if(!(c[38]|0)){i=b;return}c[d>>2]=c[38];h=ME(0)|0;a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[f>>2]=c[39];c[38]=0;Bb[c[d>>2]&3](c[f>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0);c[38]=c[d>>2];c[39]=c[f>>2];i=b;return}function OE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Bk(c[e>>2]|0,c[f>>2]|0)|0;a=c[(c[e>>2]|0)+520>>2]|0;c[a>>2]=(c[a>>2]|0)+b;i=d;return}function PE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;j=g+16|0;e=g+12|0;f=g+8|0;d=g+4|0;h=g;c[j>>2]=a;c[e>>2]=b;c[f>>2]=ub[c[38640+52>>2]&31](c[j>>2]|0)|0;Bg(5,c[j>>2]|0);do if(c[38]|0){c[h>>2]=ME(0)|0;a=c[h>>2]|0;b=((a|0)<0)<<31>>31;h=144|0;j=c[f>>2]|0;j=ZE(c[h>>2]|0,c[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;h=D;if((b|0)>(h|0)|(b|0)==(h|0)&a>>>0>=j>>>0){c[43]=1;NE(c[f>>2]|0);break}else{c[43]=0;break}}while(0);c[d>>2]=ub[c[38640+36>>2]&31](c[f>>2]|0)|0;if(!(c[d>>2]|0)){a=c[d>>2]|0;j=c[e>>2]|0;c[j>>2]=a;j=c[f>>2]|0;i=g;return j|0}c[f>>2]=Tb(c[d>>2]|0)|0;ic(0,c[f>>2]|0);ic(9,1);a=c[d>>2]|0;j=c[e>>2]|0;c[j>>2]=a;j=c[f>>2]|0;i=g;return j|0}function QE(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;x=a>>>3;p=c[9750]|0;w=p>>>x;if(w&3){g=(w&1^1)+x|0;f=g<<1;d=39040+(f<<2)|0;f=39040+(f+2<<2)|0;h=c[f>>2]|0;j=h+8|0;e=c[j>>2]|0;do if((d|0)!=(e|0)){if(e>>>0<(c[9754]|0)>>>0)db();k=e+12|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=d;c[f>>2]=e;break}else db()}else c[9750]=p&~(1<>2]=H|3;H=h+(H|4)|0;c[H>>2]=c[H>>2]|1;H=j;i=b;return H|0}v=c[9752]|0;if(a>>>0>v>>>0){if(w){h=2<>>12&16;h=h>>>d;j=h>>>5&8;h=h>>>j;f=h>>>2&4;h=h>>>f;g=h>>>1&2;h=h>>>g;e=h>>>1&1;e=(j|d|f|g|e)+(h>>>e)|0;h=e<<1;g=39040+(h<<2)|0;h=39040+(h+2<<2)|0;f=c[h>>2]|0;d=f+8|0;j=c[d>>2]|0;do if((g|0)!=(j|0)){if(j>>>0<(c[9754]|0)>>>0)db();k=j+12|0;if((c[k>>2]|0)==(f|0)){c[k>>2]=g;c[h>>2]=j;E=c[9752]|0;break}else db()}else{c[9750]=p&~(1<>2]=a|3;g=f+a|0;c[f+(a|4)>>2]=e|1;c[f+H>>2]=e;if(E){f=c[9755]|0;l=E>>>3;j=l<<1;h=39040+(j<<2)|0;k=c[9750]|0;l=1<>2]|0;if(k>>>0<(c[9754]|0)>>>0)db();else{D=j;C=k}}else{c[9750]=k|l;D=39040+(j+2<<2)|0;C=h}c[D>>2]=f;c[C+12>>2]=f;c[f+8>>2]=C;c[f+12>>2]=h}c[9752]=e;c[9755]=g;H=d;i=b;return H|0}p=c[9751]|0;if(p){d=(p&0-p)+ -1|0;G=d>>>12&16;d=d>>>G;F=d>>>5&8;d=d>>>F;H=d>>>2&4;d=d>>>H;f=d>>>1&2;d=d>>>f;e=d>>>1&1;e=c[39304+((F|G|H|f|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-a|0;f=e;while(1){g=c[f+16>>2]|0;if(!g){g=c[f+20>>2]|0;if(!g)break}f=(c[g+4>>2]&-8)-a|0;H=f>>>0>>0;d=H?f:d;f=g;e=H?g:e}h=c[9754]|0;if(e>>>0>>0)db();f=e+a|0;if(e>>>0>=f>>>0)db();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){k=e+16|0;j=c[k>>2]|0;if(!j){B=0;break}}while(1){l=j+20|0;m=c[l>>2]|0;if(m){j=m;k=l;continue}l=j+16|0;m=c[l>>2]|0;if(!m)break;else{j=m;k=l}}if(k>>>0>>0)db();else{c[k>>2]=0;B=j;break}}else{j=c[e+8>>2]|0;if(j>>>0>>0)db();h=j+12|0;if((c[h>>2]|0)!=(e|0))db();l=k+8|0;if((c[l>>2]|0)==(e|0)){c[h>>2]=k;c[l>>2]=j;B=k;break}else db()}while(0);do if(g){j=c[e+28>>2]|0;h=39304+(j<<2)|0;if((e|0)==(c[h>>2]|0)){c[h>>2]=B;if(!B){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();h=g+16|0;if((c[h>>2]|0)==(e|0))c[h>>2]=B;else c[g+20>>2]=B;if(!B)break}h=c[9754]|0;if(B>>>0>>0)db();c[B+24>>2]=g;g=c[e+16>>2]|0;do if(g)if(g>>>0>>0)db();else{c[B+16>>2]=g;c[g+24>>2]=B;break}while(0);g=c[e+20>>2]|0;if(g)if(g>>>0<(c[9754]|0)>>>0)db();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[9752]|0;if(h){g=c[9755]|0;k=h>>>3;l=k<<1;h=39040+(l<<2)|0;j=c[9750]|0;k=1<>2]|0;if(k>>>0<(c[9754]|0)>>>0)db();else{A=j;z=k}}else{c[9750]=j|k;A=39040+(l+2<<2)|0;z=h}c[A>>2]=g;c[z+12>>2]=g;c[g+8>>2]=z;c[g+12>>2]=h}c[9752]=d;c[9755]=f}H=e+8|0;i=b;return H|0}}}else if(a>>>0<=4294967231){z=a+11|0;a=z&-8;B=c[9751]|0;if(B){A=0-a|0;z=z>>>8;if(z)if(a>>>0>16777215)C=31;else{G=(z+1048320|0)>>>16&8;H=z<>>16&4;H=H<>>16&2;C=14-(F|G|C)+(H<>>15)|0;C=a>>>(C+7|0)&1|C<<1}else C=0;D=c[39304+(C<<2)>>2]|0;a:do if(!D){F=0;z=0}else{if((C|0)==31)z=0;else z=25-(C>>>1)|0;F=0;E=a<>2]&-8;H=G-a|0;if(H>>>0>>0)if((G|0)==(a|0)){A=H;F=D;z=D;break a}else{A=H;z=D}H=c[D+20>>2]|0;D=c[D+(E>>>31<<2)+16>>2]|0;F=(H|0)==0|(H|0)==(D|0)?F:H;if(!D)break;else E=E<<1}}while(0);if((F|0)==0&(z|0)==0){H=2<>>12&16;H=H>>>D;C=H>>>5&8;H=H>>>C;E=H>>>2&4;H=H>>>E;G=H>>>1&2;H=H>>>G;F=H>>>1&1;F=c[39304+((C|D|E|G|F)+(H>>>F)<<2)>>2]|0}if(F)while(1){H=(c[F+4>>2]&-8)-a|0;B=H>>>0>>0;A=B?H:A;z=B?F:z;B=c[F+16>>2]|0;if(B){F=B;continue}F=c[F+20>>2]|0;if(!F)break}if((z|0)!=0?A>>>0<((c[9752]|0)-a|0)>>>0:0){f=c[9754]|0;if(z>>>0>>0)db();d=z+a|0;if(z>>>0>=d>>>0)db();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){h=z+16|0;g=c[h>>2]|0;if(!g){x=0;break}}while(1){j=g+20|0;k=c[j>>2]|0;if(k){g=k;h=j;continue}j=g+16|0;k=c[j>>2]|0;if(!k)break;else{g=k;h=j}}if(h>>>0>>0)db();else{c[h>>2]=0;x=g;break}}else{h=c[z+8>>2]|0;if(h>>>0>>0)db();j=h+12|0;if((c[j>>2]|0)!=(z|0))db();f=g+8|0;if((c[f>>2]|0)==(z|0)){c[j>>2]=g;c[f>>2]=h;x=g;break}else db()}while(0);do if(e){f=c[z+28>>2]|0;g=39304+(f<<2)|0;if((z|0)==(c[g>>2]|0)){c[g>>2]=x;if(!x){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();f=e+16|0;if((c[f>>2]|0)==(z|0))c[f>>2]=x;else c[e+20>>2]=x;if(!x)break}f=c[9754]|0;if(x>>>0>>0)db();c[x+24>>2]=e;e=c[z+16>>2]|0;do if(e)if(e>>>0>>0)db();else{c[x+16>>2]=e;c[e+24>>2]=x;break}while(0);e=c[z+20>>2]|0;if(e)if(e>>>0<(c[9754]|0)>>>0)db();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){h=f<<1;e=39040+(h<<2)|0;g=c[9750]|0;f=1<>2]|0;if(g>>>0>=(c[9754]|0)>>>0){w=f;v=g;break}db()}while(0);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)if(A>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=A>>>(e+7|0)&1|e<<1}else e=0;f=39304+(e<<2)|0;c[z+(a+28)>>2]=e;c[z+(a+20)>>2]=0;c[z+(a+16)>>2]=0;g=c[9751]|0;h=1<>2]=d;c[z+(a+24)>>2]=f;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break}h=c[f>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;c:do if((c[h+4>>2]&-8|0)!=(A|0)){e=A<>>31<<2)+16|0;f=c[g>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(A|0)){p=f;break c}else{e=e<<1;h=f}}if(g>>>0<(c[9754]|0)>>>0)db();else{c[g>>2]=d;c[z+(a+24)>>2]=h;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break b}}else p=h;while(0);f=p+8|0;e=c[f>>2]|0;H=c[9754]|0;if(p>>>0>=H>>>0&e>>>0>=H>>>0){c[e+12>>2]=d;c[f>>2]=d;c[z+(a+8)>>2]=e;c[z+(a+12)>>2]=p;c[z+(a+24)>>2]=0;break}else db()}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);p=c[9752]|0;if(p>>>0>=a>>>0){e=p-a|0;d=c[9755]|0;if(e>>>0>15){c[9755]=d+a;c[9752]=e;c[d+(a+4)>>2]=e|1;c[d+p>>2]=e;c[d+4>>2]=a|3}else{c[9752]=0;c[9755]=0;c[d+4>>2]=p|3;H=d+(p+4)|0;c[H>>2]=c[H>>2]|1}H=d+8|0;i=b;return H|0}p=c[9753]|0;if(p>>>0>a>>>0){G=p-a|0;c[9753]=G;H=c[9756]|0;c[9756]=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[9868]|0)){p=Pa(30)|0;if(!(p+ -1&p)){c[9870]=p;c[9869]=p;c[9871]=-1;c[9872]=-1;c[9873]=0;c[9861]=0;c[9868]=(eb(0)|0)&-16^1431655768;break}else db()}while(0);x=a+48|0;p=c[9870]|0;w=a+47|0;A=p+w|0;p=0-p|0;v=A&p;if(v>>>0<=a>>>0){H=0;i=b;return H|0}z=c[9860]|0;if((z|0)!=0?(G=c[9858]|0,H=G+v|0,H>>>0<=G>>>0|H>>>0>z>>>0):0){H=0;i=b;return H|0}d:do if(!(c[9861]&4)){B=c[9756]|0;e:do if(B){z=39448|0;while(1){C=c[z>>2]|0;if(C>>>0<=B>>>0?(y=z+4|0,(C+(c[y>>2]|0)|0)>>>0>B>>>0):0)break;z=c[z+8>>2]|0;if(!z){o=181;break e}}if(z){A=A-(c[9753]|0)&p;if(A>>>0<2147483647){p=La(A|0)|0;if((p|0)==((c[z>>2]|0)+(c[y>>2]|0)|0)){z=A;o=190}else{z=A;o=191}}else z=0}else o=181}else o=181;while(0);do if((o|0)==181){y=La(0)|0;if((y|0)!=(-1|0)){A=y;z=c[9869]|0;p=z+ -1|0;if(!(p&A))z=v;else z=v-A+(p+A&0-z)|0;p=c[9858]|0;A=p+z|0;if(z>>>0>a>>>0&z>>>0<2147483647){H=c[9860]|0;if((H|0)!=0?A>>>0<=p>>>0|A>>>0>H>>>0:0){z=0;break}p=La(z|0)|0;if((p|0)==(y|0)){p=y;o=190}else o=191}else z=0}else z=0}while(0);f:do if((o|0)==190){if((p|0)!=(-1|0)){q=z;o=201;break d}}else if((o|0)==191){o=0-z|0;do if((p|0)!=(-1|0)&z>>>0<2147483647&x>>>0>z>>>0?(u=c[9870]|0,u=w-z+u&0-u,u>>>0<2147483647):0)if((La(u|0)|0)==(-1|0)){La(o|0)|0;z=0;break f}else{z=u+z|0;break}while(0);if((p|0)==(-1|0))z=0;else{q=z;o=201;break d}}while(0);c[9861]=c[9861]|4;o=198}else{z=0;o=198}while(0);if((((o|0)==198?v>>>0<2147483647:0)?(t=La(v|0)|0,s=La(0)|0,(t|0)!=(-1|0)&(s|0)!=(-1|0)&t>>>0>>0):0)?(r=s-t|0,q=r>>>0>(a+40|0)>>>0,q):0){p=t;q=q?r:z;o=201}if((o|0)==201){r=(c[9858]|0)+q|0;c[9858]=r;if(r>>>0>(c[9859]|0)>>>0)c[9859]=r;r=c[9756]|0;g:do if(r){t=39448|0;while(1){s=c[t>>2]|0;v=t+4|0;w=c[v>>2]|0;if((p|0)==(s+w|0)){o=213;break}u=c[t+8>>2]|0;if(!u)break;else t=u}if(((o|0)==213?(c[t+12>>2]&8|0)==0:0)?r>>>0>=s>>>0&r>>>0

>>0:0){c[v>>2]=w+q;d=(c[9753]|0)+q|0;e=r+8|0;if(!(e&7))e=0;else e=0-e&7;H=d-e|0;c[9756]=r+e;c[9753]=H;c[r+(e+4)>>2]=H|1;c[r+(d+4)>>2]=40;c[9757]=c[9872];break}s=c[9754]|0;if(p>>>0>>0){c[9754]=p;s=p}v=p+q|0;t=39448|0;while(1){if((c[t>>2]|0)==(v|0)){o=223;break}u=c[t+8>>2]|0;if(!u)break;else t=u}if((o|0)==223?(c[t+12>>2]&8|0)==0:0){c[t>>2]=p;h=t+4|0;c[h>>2]=(c[h>>2]|0)+q;h=p+8|0;if(!(h&7))h=0;else h=0-h&7;j=p+(q+8)|0;if(!(j&7))n=0;else n=0-j&7;o=p+(n+q)|0;k=h+a|0;j=p+k|0;m=o-(p+h)-a|0;c[p+(h+4)>>2]=a|3;h:do if((o|0)!=(r|0)){if((o|0)==(c[9755]|0)){H=(c[9752]|0)+m|0;c[9752]=H;c[9755]=j;c[p+(k+4)>>2]=H|1;c[p+(H+k)>>2]=H;break}r=q+4|0;u=c[p+(r+n)>>2]|0;if((u&3|0)==1){a=u&-8;t=u>>>3;i:do if(u>>>0>=256){l=c[p+((n|24)+q)>>2]|0;t=c[p+(q+12+n)>>2]|0;do if((t|0)==(o|0)){v=n|16;u=p+(r+v)|0;t=c[u>>2]|0;if(!t){u=p+(v+q)|0;t=c[u>>2]|0;if(!t){g=0;break}}while(1){w=t+20|0;v=c[w>>2]|0;if(v){t=v;u=w;continue}w=t+16|0;v=c[w>>2]|0;if(!v)break;else{t=v;u=w}}if(u>>>0>>0)db();else{c[u>>2]=0;g=t;break}}else{u=c[p+((n|8)+q)>>2]|0;if(u>>>0>>0)db();v=u+12|0;if((c[v>>2]|0)!=(o|0))db();s=t+8|0;if((c[s>>2]|0)==(o|0)){c[v>>2]=t;c[s>>2]=u;g=t;break}else db()}while(0);if(!l)break;s=c[p+(q+28+n)>>2]|0;t=39304+(s<<2)|0;do if((o|0)!=(c[t>>2]|0)){if(l>>>0<(c[9754]|0)>>>0)db();s=l+16|0;if((c[s>>2]|0)==(o|0))c[s>>2]=g;else c[l+20>>2]=g;if(!g)break i}else{c[t>>2]=g;if(g)break;c[9751]=c[9751]&~(1<>>0>>0)db();c[g+24>>2]=l;s=n|16;l=c[p+(s+q)>>2]|0;do if(l)if(l>>>0>>0)db();else{c[g+16>>2]=l;c[l+24>>2]=g;break}while(0);l=c[p+(r+s)>>2]|0;if(!l)break;if(l>>>0<(c[9754]|0)>>>0)db();else{c[g+20>>2]=l;c[l+24>>2]=g;break}}else{g=c[p+((n|8)+q)>>2]|0;r=c[p+(q+12+n)>>2]|0;u=39040+(t<<1<<2)|0;do if((g|0)!=(u|0)){if(g>>>0>>0)db();if((c[g+12>>2]|0)==(o|0))break;db()}while(0);if((r|0)==(g|0)){c[9750]=c[9750]&~(1<>>0>>0)db();s=r+8|0;if((c[s>>2]|0)==(o|0)){l=s;break}db()}while(0);c[g+12>>2]=r;c[l>>2]=g}while(0);o=p+((a|n)+q)|0;m=a+m|0}g=o+4|0;c[g>>2]=c[g>>2]&-2;c[p+(k+4)>>2]=m|1;c[p+(m+k)>>2]=m;g=m>>>3;if(m>>>0<256){l=g<<1;d=39040+(l<<2)|0;m=c[9750]|0;g=1<>2]|0;if(g>>>0>=(c[9754]|0)>>>0){f=l;e=g;break}db()}while(0);c[f>>2]=j;c[e+12>>2]=j;c[p+(k+8)>>2]=e;c[p+(k+12)>>2]=d;break}e=m>>>8;do if(!e)e=0;else{if(m>>>0>16777215){e=31;break}G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=m>>>(e+7|0)&1|e<<1}while(0);l=39304+(e<<2)|0;c[p+(k+28)>>2]=e;c[p+(k+20)>>2]=0;c[p+(k+16)>>2]=0;g=c[9751]|0;f=1<>2]=j;c[p+(k+24)>>2]=l;c[p+(k+12)>>2]=j;c[p+(k+8)>>2]=j;break}f=c[l>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;j:do if((c[f+4>>2]&-8|0)!=(m|0)){e=m<>>31<<2)+16|0;l=c[g>>2]|0;if(!l)break;if((c[l+4>>2]&-8|0)==(m|0)){d=l;break j}else{e=e<<1;f=l}}if(g>>>0<(c[9754]|0)>>>0)db();else{c[g>>2]=j;c[p+(k+24)>>2]=f;c[p+(k+12)>>2]=j;c[p+(k+8)>>2]=j;break h}}else d=f;while(0);e=d+8|0;f=c[e>>2]|0;H=c[9754]|0;if(d>>>0>=H>>>0&f>>>0>=H>>>0){c[f+12>>2]=j;c[e>>2]=j;c[p+(k+8)>>2]=f;c[p+(k+12)>>2]=d;c[p+(k+24)>>2]=0;break}else db()}else{H=(c[9753]|0)+m|0;c[9753]=H;c[9756]=j;c[p+(k+4)>>2]=H|1}while(0);H=p+(h|8)|0;i=b;return H|0}e=39448|0;while(1){d=c[e>>2]|0;if(d>>>0<=r>>>0?(n=c[e+4>>2]|0,m=d+n|0,m>>>0>r>>>0):0)break;e=c[e+8>>2]|0}e=d+(n+ -39)|0;if(!(e&7))e=0;else e=0-e&7;d=d+(n+ -47+e)|0;d=d>>>0<(r+16|0)>>>0?r:d;e=d+8|0;f=p+8|0;if(!(f&7))f=0;else f=0-f&7;H=q+ -40-f|0;c[9756]=p+f;c[9753]=H;c[p+(f+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[9757]=c[9872];c[d+4>>2]=27;c[e+0>>2]=c[9862];c[e+4>>2]=c[9863];c[e+8>>2]=c[9864];c[e+12>>2]=c[9865];c[9862]=p;c[9863]=q;c[9865]=0;c[9864]=e;e=d+28|0;c[e>>2]=7;if((d+32|0)>>>0>>0)do{H=e;e=e+4|0;c[e>>2]=7}while((H+8|0)>>>0>>0);if((d|0)!=(r|0)){d=d-r|0;e=r+(d+4)|0;c[e>>2]=c[e>>2]&-2;c[r+4>>2]=d|1;c[r+d>>2]=d;e=d>>>3;if(d>>>0<256){f=e<<1;d=39040+(f<<2)|0;g=c[9750]|0;e=1<>2]|0;if(e>>>0>=(c[9754]|0)>>>0){k=f;j=e;break}db()}while(0);c[k>>2]=r;c[j+12>>2]=r;c[r+8>>2]=j;c[r+12>>2]=d;break}e=d>>>8;if(e)if(d>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=d>>>(e+7|0)&1|e<<1}else e=0;j=39304+(e<<2)|0;c[r+28>>2]=e;c[r+20>>2]=0;c[r+16>>2]=0;f=c[9751]|0;g=1<>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break}f=c[j>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;k:do if((c[f+4>>2]&-8|0)!=(d|0)){e=d<>>31<<2)+16|0;g=c[f>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(d|0)){h=g;break k}else{e=e<<1;j=g}}if(f>>>0<(c[9754]|0)>>>0)db();else{c[f>>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break g}}else h=f;while(0);e=h+8|0;d=c[e>>2]|0;H=c[9754]|0;if(h>>>0>=H>>>0&d>>>0>=H>>>0){c[d+12>>2]=r;c[e>>2]=r;c[r+8>>2]=d;c[r+12>>2]=h;c[r+24>>2]=0;break}else db()}}else{H=c[9754]|0;if((H|0)==0|p>>>0>>0)c[9754]=p;c[9862]=p;c[9863]=q;c[9865]=0;c[9759]=c[9868];c[9758]=-1;d=0;do{H=d<<1;G=39040+(H<<2)|0;c[39040+(H+3<<2)>>2]=G;c[39040+(H+2<<2)>>2]=G;d=d+1|0}while((d|0)!=32);d=p+8|0;if(!(d&7))d=0;else d=0-d&7;H=q+ -40-d|0;c[9756]=p+d;c[9753]=H;c[p+(d+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[9757]=c[9872]}while(0);d=c[9753]|0;if(d>>>0>a>>>0){G=d-a|0;c[9753]=G;H=c[9756]|0;c[9756]=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[(Ya()|0)>>2]=12;H=0;i=b;return H|0}function RE(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){i=b;return}q=a+ -8|0;r=c[9754]|0;if(q>>>0>>0)db();n=c[a+ -4>>2]|0;m=n&3;if((m|0)==1)db();j=n&-8;h=a+(j+ -8)|0;do if(!(n&1)){u=c[q>>2]|0;if(!m){i=b;return}q=-8-u|0;n=a+q|0;m=u+j|0;if(n>>>0>>0)db();if((n|0)==(c[9755]|0)){e=a+(j+ -4)|0;o=c[e>>2]|0;if((o&3|0)!=3){e=n;o=m;break}c[9752]=m;c[e>>2]=o&-2;c[a+(q+4)>>2]=m|1;c[h>>2]=m;i=b;return}t=u>>>3;if(u>>>0<256){e=c[a+(q+8)>>2]|0;o=c[a+(q+12)>>2]|0;p=39040+(t<<1<<2)|0;if((e|0)!=(p|0)){if(e>>>0>>0)db();if((c[e+12>>2]|0)!=(n|0))db()}if((o|0)==(e|0)){c[9750]=c[9750]&~(1<>>0>>0)db();p=o+8|0;if((c[p>>2]|0)==(n|0))s=p;else db()}else s=o+8|0;c[e+12>>2]=o;c[s>>2]=e;e=n;o=m;break}s=c[a+(q+24)>>2]|0;t=c[a+(q+12)>>2]|0;do if((t|0)==(n|0)){u=a+(q+20)|0;t=c[u>>2]|0;if(!t){u=a+(q+16)|0;t=c[u>>2]|0;if(!t){p=0;break}}while(1){v=t+20|0;w=c[v>>2]|0;if(w){t=w;u=v;continue}v=t+16|0;w=c[v>>2]|0;if(!w)break;else{t=w;u=v}}if(u>>>0>>0)db();else{c[u>>2]=0;p=t;break}}else{u=c[a+(q+8)>>2]|0;if(u>>>0>>0)db();r=u+12|0;if((c[r>>2]|0)!=(n|0))db();v=t+8|0;if((c[v>>2]|0)==(n|0)){c[r>>2]=t;c[v>>2]=u;p=t;break}else db()}while(0);if(s){r=c[a+(q+28)>>2]|0;t=39304+(r<<2)|0;if((n|0)==(c[t>>2]|0)){c[t>>2]=p;if(!p){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();r=s+16|0;if((c[r>>2]|0)==(n|0))c[r>>2]=p;else c[s+20>>2]=p;if(!p){e=n;o=m;break}}r=c[9754]|0;if(p>>>0>>0)db();c[p+24>>2]=s;s=c[a+(q+16)>>2]|0;do if(s)if(s>>>0>>0)db();else{c[p+16>>2]=s;c[s+24>>2]=p;break}while(0);q=c[a+(q+20)>>2]|0;if(q)if(q>>>0<(c[9754]|0)>>>0)db();else{c[p+20>>2]=q;c[q+24>>2]=p;e=n;o=m;break}else{e=n;o=m}}else{e=n;o=m}}else{e=q;o=j}while(0);if(e>>>0>=h>>>0)db();m=a+(j+ -4)|0;n=c[m>>2]|0;if(!(n&1))db();if(!(n&2)){if((h|0)==(c[9756]|0)){w=(c[9753]|0)+o|0;c[9753]=w;c[9756]=e;c[e+4>>2]=w|1;if((e|0)!=(c[9755]|0)){i=b;return}c[9755]=0;c[9752]=0;i=b;return}if((h|0)==(c[9755]|0)){w=(c[9752]|0)+o|0;c[9752]=w;c[9755]=e;c[e+4>>2]=w|1;c[e+w>>2]=w;i=b;return}o=(n&-8)+o|0;m=n>>>3;do if(n>>>0>=256){l=c[a+(j+16)>>2]|0;m=c[a+(j|4)>>2]|0;do if((m|0)==(h|0)){n=a+(j+12)|0;m=c[n>>2]|0;if(!m){n=a+(j+8)|0;m=c[n>>2]|0;if(!m){k=0;break}}while(1){q=m+20|0;p=c[q>>2]|0;if(p){m=p;n=q;continue}p=m+16|0;q=c[p>>2]|0;if(!q)break;else{m=q;n=p}}if(n>>>0<(c[9754]|0)>>>0)db();else{c[n>>2]=0;k=m;break}}else{n=c[a+j>>2]|0;if(n>>>0<(c[9754]|0)>>>0)db();p=n+12|0;if((c[p>>2]|0)!=(h|0))db();q=m+8|0;if((c[q>>2]|0)==(h|0)){c[p>>2]=m;c[q>>2]=n;k=m;break}else db()}while(0);if(l){m=c[a+(j+20)>>2]|0;n=39304+(m<<2)|0;if((h|0)==(c[n>>2]|0)){c[n>>2]=k;if(!k){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();m=l+16|0;if((c[m>>2]|0)==(h|0))c[m>>2]=k;else c[l+20>>2]=k;if(!k)break}h=c[9754]|0;if(k>>>0>>0)db();c[k+24>>2]=l;l=c[a+(j+8)>>2]|0;do if(l)if(l>>>0>>0)db();else{c[k+16>>2]=l;c[l+24>>2]=k;break}while(0);h=c[a+(j+12)>>2]|0;if(h)if(h>>>0<(c[9754]|0)>>>0)db();else{c[k+20>>2]=h;c[h+24>>2]=k;break}}}else{k=c[a+j>>2]|0;j=c[a+(j|4)>>2]|0;a=39040+(m<<1<<2)|0;if((k|0)!=(a|0)){if(k>>>0<(c[9754]|0)>>>0)db();if((c[k+12>>2]|0)!=(h|0))db()}if((j|0)==(k|0)){c[9750]=c[9750]&~(1<>>0<(c[9754]|0)>>>0)db();a=j+8|0;if((c[a>>2]|0)==(h|0))l=a;else db()}else l=j+8|0;c[k+12>>2]=j;c[l>>2]=k}while(0);c[e+4>>2]=o|1;c[e+o>>2]=o;if((e|0)==(c[9755]|0)){c[9752]=o;i=b;return}}else{c[m>>2]=n&-2;c[e+4>>2]=o|1;c[e+o>>2]=o}h=o>>>3;if(o>>>0<256){j=h<<1;d=39040+(j<<2)|0;k=c[9750]|0;h=1<>2]|0;if(h>>>0<(c[9754]|0)>>>0)db();else{f=j;g=h}}else{c[9750]=k|h;f=39040+(j+2<<2)|0;g=d}c[f>>2]=e;c[g+12>>2]=e;c[e+8>>2]=g;c[e+12>>2]=d;i=b;return}f=o>>>8;if(f)if(o>>>0>16777215)f=31;else{v=(f+1048320|0)>>>16&8;w=f<>>16&4;w=w<>>16&2;f=14-(u|v|f)+(w<>>15)|0;f=o>>>(f+7|0)&1|f<<1}else f=0;g=39304+(f<<2)|0;c[e+28>>2]=f;c[e+20>>2]=0;c[e+16>>2]=0;j=c[9751]|0;h=1<>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;b:do if((c[g+4>>2]&-8|0)!=(o|0)){f=o<>>31<<2)+16|0;h=c[j>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(o|0)){d=h;break b}else{f=f<<1;g=h}}if(j>>>0<(c[9754]|0)>>>0)db();else{c[j>>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e;break a}}else d=g;while(0);g=d+8|0;f=c[g>>2]|0;w=c[9754]|0;if(d>>>0>=w>>>0&f>>>0>=w>>>0){c[f+12>>2]=e;c[g>>2]=e;c[e+8>>2]=f;c[e+12>>2]=d;c[e+24>>2]=0;break}else db()}else{c[9751]=j|h;c[g>>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e}while(0);w=(c[9758]|0)+ -1|0;c[9758]=w;if(!w)d=39456|0;else{i=b;return}while(1){d=c[d>>2]|0;if(!d)break;else d=d+8|0}c[9758]=-1;i=b;return}function SE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;do if(a){if(b>>>0>4294967231){c[(Ya()|0)>>2]=12;e=0;break}if(b>>>0<11)e=16;else e=b+11&-8;e=WE(a+ -8|0,e)|0;if(e){e=e+8|0;break}e=QE(b)|0;if(!e)e=0;else{f=c[a+ -4>>2]|0;f=(f&-8)-((f&3|0)==0?8:4)|0;dF(e|0,a|0,(f>>>0>>0?f:b)|0)|0;RE(a)}}else e=QE(b)|0;while(0);i=d;return e|0}function TE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=i;a:do if(!d)d=0;else{while(1){f=a[b>>0]|0;g=a[c>>0]|0;if(f<<24>>24!=g<<24>>24)break;d=d+ -1|0;if(!d){d=0;break a}else{b=b+1|0;c=c+1|0}}d=(f&255)-(g&255)|0}while(0);i=e;return d|0}function UE(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==0?1:f<<24>>24!=e<<24>>24)c=f;else{do{b=b+1|0;c=c+1|0;f=a[b>>0]|0;e=a[c>>0]|0}while(!(f<<24>>24==0?1:f<<24>>24!=e<<24>>24));c=f}i=d;return(c&255)-(e&255)|0}function VE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=i;if(!e){b=0;i=f;return b|0}g=a[b>>0]|0;a:do if(!(g<<24>>24))g=0;else while(1){e=e+ -1|0;h=a[c>>0]|0;if(!(h<<24>>24!=0&(e|0)!=0&g<<24>>24==h<<24>>24))break a;b=b+1|0;c=c+1|0;g=a[b>>0]|0;if(!(g<<24>>24)){g=0;break}}while(0);h=(g&255)-(d[c>>0]|0)|0;i=f;return h|0}function WE(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;d=i;f=a+4|0;e=c[f>>2]|0;l=e&-8;j=a+l|0;m=c[9754]|0;h=e&3;if(!((h|0)!=1&a>>>0>=m>>>0&a>>>0>>0))db();g=a+(l|4)|0;p=c[g>>2]|0;if(!(p&1))db();if(!h){if(b>>>0<256){r=0;i=d;return r|0}if(l>>>0>=(b+4|0)>>>0?(l-b|0)>>>0<=c[9870]<<1>>>0:0){r=a;i=d;return r|0}r=0;i=d;return r|0}if(l>>>0>=b>>>0){h=l-b|0;if(h>>>0<=15){r=a;i=d;return r|0}c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=h|3;c[g>>2]=c[g>>2]|1;XE(a+b|0,h);r=a;i=d;return r|0}if((j|0)==(c[9756]|0)){g=(c[9753]|0)+l|0;if(g>>>0<=b>>>0){r=0;i=d;return r|0}r=g-b|0;c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=r|1;c[9756]=a+b;c[9753]=r;r=a;i=d;return r|0}if((j|0)==(c[9755]|0)){h=(c[9752]|0)+l|0;if(h>>>0>>0){r=0;i=d;return r|0}g=h-b|0;if(g>>>0>15){c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=g|1;c[a+h>>2]=g;e=a+(h+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[f>>2]=e&1|h|2;e=a+(h+4)|0;c[e>>2]=c[e>>2]|1;e=0;g=0}c[9752]=g;c[9755]=e;r=a;i=d;return r|0}if(p&2){r=0;i=d;return r|0}g=(p&-8)+l|0;if(g>>>0>>0){r=0;i=d;return r|0}h=g-b|0;o=p>>>3;do if(p>>>0>=256){n=c[a+(l+24)>>2]|0;o=c[a+(l+12)>>2]|0;do if((o|0)==(j|0)){p=a+(l+20)|0;o=c[p>>2]|0;if(!o){p=a+(l+16)|0;o=c[p>>2]|0;if(!o){k=0;break}}while(1){r=o+20|0;q=c[r>>2]|0;if(q){o=q;p=r;continue}q=o+16|0;r=c[q>>2]|0;if(!r)break;else{o=r;p=q}}if(p>>>0>>0)db();else{c[p>>2]=0;k=o;break}}else{p=c[a+(l+8)>>2]|0;if(p>>>0>>0)db();m=p+12|0;if((c[m>>2]|0)!=(j|0))db();q=o+8|0;if((c[q>>2]|0)==(j|0)){c[m>>2]=o;c[q>>2]=p;k=o;break}else db()}while(0);if(n){m=c[a+(l+28)>>2]|0;o=39304+(m<<2)|0;if((j|0)==(c[o>>2]|0)){c[o>>2]=k;if(!k){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();m=n+16|0;if((c[m>>2]|0)==(j|0))c[m>>2]=k;else c[n+20>>2]=k;if(!k)break}j=c[9754]|0;if(k>>>0>>0)db();c[k+24>>2]=n;m=c[a+(l+16)>>2]|0;do if(m)if(m>>>0>>0)db();else{c[k+16>>2]=m;c[m+24>>2]=k;break}while(0);j=c[a+(l+20)>>2]|0;if(j)if(j>>>0<(c[9754]|0)>>>0)db();else{c[k+20>>2]=j;c[j+24>>2]=k;break}}}else{k=c[a+(l+8)>>2]|0;l=c[a+(l+12)>>2]|0;p=39040+(o<<1<<2)|0;if((k|0)!=(p|0)){if(k>>>0>>0)db();if((c[k+12>>2]|0)!=(j|0))db()}if((l|0)==(k|0)){c[9750]=c[9750]&~(1<>>0>>0)db();m=l+8|0;if((c[m>>2]|0)==(j|0))n=m;else db()}else n=l+8|0;c[k+12>>2]=l;c[n>>2]=k}while(0);if(h>>>0<16){c[f>>2]=g|e&1|2;r=a+(g|4)|0;c[r>>2]=c[r>>2]|1;r=a;i=d;return r|0}else{c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=h|3;r=a+(g|4)|0;c[r>>2]=c[r>>2]|1;XE(a+b|0,h);r=a;i=d;return r|0}return 0} - - - -function qo(f,g,h,j,k){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,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;r=i;i=i+272|0;Y=r;u=r+264|0;E=r+260|0;o=r+256|0;p=r+252|0;H=r+248|0;O=r+244|0;C=r+240|0;pa=r+236|0;oa=r+232|0;K=r+228|0;J=r+224|0;V=r+220|0;s=r+216|0;U=r+212|0;R=r+208|0;L=r+204|0;A=r+200|0;P=r+196|0;x=r+192|0;I=r+188|0;w=r+184|0;M=r+180|0;N=r+176|0;X=r+156|0;ia=r+152|0;na=r+148|0;D=r+271|0;v=r+270|0;Z=r+269|0;ma=r+268|0;n=r+144|0;z=r+140|0;B=r+136|0;t=r+132|0;l=r+128|0;y=r+124|0;T=r+120|0;q=r+116|0;F=r+112|0;G=r+108|0;da=r+104|0;ha=r+100|0;fa=r+96|0;ga=r+92|0;la=r+88|0;ka=r+84|0;ja=r+80|0;ca=r+48|0;aa=r+44|0;ea=r+40|0;$=r+36|0;_=r+32|0;Q=r+28|0;S=r+24|0;m=r+20|0;W=r+16|0;c[u>>2]=f;c[E>>2]=g;c[o>>2]=h;c[p>>2]=j;c[H>>2]=k;c[L>>2]=0;c[A>>2]=0;c[P>>2]=0;c[x>>2]=-1;c[w>>2]=0;c[M>>2]=0;c[N>>2]=0;a[D>>0]=0;a[v>>0]=0;a[ma>>0]=1;c[n>>2]=0;c[z>>2]=0;c[B>>2]=0;c[t>>2]=0;c[q>>2]=0;c[O>>2]=c[c[u>>2]>>2];c[X+0>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[X+12>>2]=0;c[X+16>>2]=0;a:do if((c[(c[u>>2]|0)+64>>2]|0)==0?(d[(c[O>>2]|0)+64>>0]|0)==0:0){if(((c[o>>2]|0)!=0?(e[(c[o>>2]|0)+6>>1]&128|0)!=0:0)?(c[(c[o>>2]|0)+52>>2]|0)==0:0){c[n>>2]=c[c[o>>2]>>2];c[c[o>>2]>>2]=0;tn(c[O>>2]|0,c[o>>2]|0);c[o>>2]=0}c[pa>>2]=c[(c[E>>2]|0)+16>>2];if((((((c[pa>>2]|0)!=0?(c[C>>2]=Ft(c[u>>2]|0,c[E>>2]|0)|0,(c[C>>2]|0)!=0):0)?(c[ia>>2]=Ve(c[O>>2]|0,c[(c[C>>2]|0)+68>>2]|0)|0,c[na>>2]=(c[(c[O>>2]|0)+16>>2]|0)+(c[ia>>2]<<4),c[oa>>2]=c[c[na>>2]>>2],(ap(c[u>>2]|0,18,c[c[C>>2]>>2]|0,0,c[oa>>2]|0)|0)==0):0)?(a[Z>>0]=((d[(c[C>>2]|0)+44>>0]&32|0)==0^1)&1,c[G>>2]=lu(c[u>>2]|0,c[C>>2]|0,108,0,da)|0,c[F>>2]=(c[(c[C>>2]|0)+12>>2]|0)!=0&1,(Qp(c[u>>2]|0,c[C>>2]|0)|0)==0):0)?(mu(c[u>>2]|0,c[C>>2]|0,c[da>>2]|0)|0)==0:0)?(c[s>>2]=dp(c[u>>2]|0)|0,(c[s>>2]|0)!=0):0){if(!(d[(c[u>>2]|0)+18>>0]|0))nu(c[s>>2]|0);if(c[o>>2]|0)na=1;else na=(c[G>>2]|0)!=0;pp(c[u>>2]|0,na&1,c[ia>>2]|0);if(!((c[p>>2]|0)==0?(ou(c[u>>2]|0,c[C>>2]|0,c[o>>2]|0,c[H>>2]|0,c[ia>>2]|0)|0)!=0:0))ba=19;b:do if((ba|0)==19){c[B>>2]=pu(c[u>>2]|0,c[ia>>2]|0,c[C>>2]|0)|0;f=(c[(c[u>>2]|0)+72>>2]|0)+1|0;c[l>>2]=f;c[y>>2]=f;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+((b[(c[C>>2]|0)+38>>1]|0)+1);if(d[(c[C>>2]|0)+44>>0]&16){c[y>>2]=(c[y>>2]|0)+1;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+1}c[T>>2]=(c[y>>2]|0)+1;c:do if(c[p>>2]|0){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break;c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)+4>>2]=-1;c[K>>2]=(c[K>>2]|0)+1}c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break c;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0))break;f=(xc(c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)>>2]|0,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0)>>2]|0)|0)==0;na=c[J>>2]|0;if(f){ba=30;break}c[J>>2]=na+1}do if((ba|0)==30){ba=0;c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)+4>>2]=na;if((c[K>>2]|0)!=(c[J>>2]|0))a[ma>>0]=0;if((c[J>>2]|0)!=(b[(c[C>>2]|0)+36>>1]|0))break;c[x>>2]=c[K>>2]}while(0);if((c[J>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0)){f=(Zq(c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)>>2]|0)|0)==0;if(f|(a[Z>>0]|0)!=0)break;c[x>>2]=c[K>>2];a[ma>>0]=0}c[K>>2]=(c[K>>2]|0)+1}f=c[u>>2]|0;g=c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)>>2]|0;c[Y>>2]=c[E>>2];c[Y+4>>2]=0;c[Y+8>>2]=g;Se(f,23432,Y);a[(c[u>>2]|0)+17>>0]=1;break a}while(0);d:do if(c[o>>2]|0){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ha>>2]=f;c[fa>>2]=(Mr(c[s>>2]|0)|0)+1;ip(c[s>>2]|0,20,c[ha>>2]|0,0,c[fa>>2]|0)|0;$s(X,13,c[ha>>2]|0);c[X+8>>2]=(d[ma>>0]|0)!=0?c[T>>2]|0:0;c[X+12>>2]=b[(c[C>>2]|0)+38>>1];c[ga>>2]=ao(c[u>>2]|0,c[o>>2]|0,X)|0;c[z>>2]=c[X+8>>2];if(c[ga>>2]|0)break a;if(d[(c[O>>2]|0)+64>>0]|0)break a;Ir(c[s>>2]|0,21,c[ha>>2]|0)|0;zp(c[s>>2]|0,(c[fa>>2]|0)-1|0);c[R>>2]=c[c[c[o>>2]>>2]>>2];if(!((c[G>>2]|0)==0?(qu(c[u>>2]|0,c[ia>>2]|0,c[C>>2]|0)|0)==0:0))a[D>>0]=1;if(!(a[D>>0]|0))break;g=(c[u>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[w>>2]=f;c[la>>2]=kp(c[u>>2]|0)|0;c[ka>>2]=kp(c[u>>2]|0)|0;fp(c[s>>2]|0,57,c[w>>2]|0,c[R>>2]|0)|0;c[ja>>2]=Ir(c[s>>2]|0,22,c[X+4>>2]|0)|0;ip(c[s>>2]|0,49,c[z>>2]|0,c[R>>2]|0,c[la>>2]|0)|0;fp(c[s>>2]|0,74,c[w>>2]|0,c[ka>>2]|0)|0;ip(c[s>>2]|0,75,c[w>>2]|0,c[la>>2]|0,c[ka>>2]|0)|0;fp(c[s>>2]|0,16,0,c[ja>>2]|0)|0;zp(c[s>>2]|0,c[ja>>2]|0);lp(c[u>>2]|0,c[la>>2]|0);lp(c[u>>2]|0,c[ka>>2]|0)}else{c[ca+0>>2]=0;c[ca+4>>2]=0;c[ca+8>>2]=0;c[ca+12>>2]=0;c[ca+16>>2]=0;c[ca+20>>2]=0;c[ca+24>>2]=0;c[ca+28>>2]=0;c[ca>>2]=c[u>>2];c[w>>2]=-1;if(c[n>>2]|0)fa=c[c[n>>2]>>2]|0;else fa=0;c[R>>2]=fa;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[R>>2]|0))break d;if(vq(ca,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)>>2]|0)|0)break a;c[K>>2]=(c[K>>2]|0)+1}}while(0);if((c[p>>2]|0)==0&(c[R>>2]|0)>0)c[x>>2]=b[(c[C>>2]|0)+36>>1];e:do if(d[(c[C>>2]|0)+44>>0]&16){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0))break e;c[L>>2]=(c[L>>2]|0)+((d[(c[(c[C>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+23>>0]&2|0)!=0?1:0);c[K>>2]=(c[K>>2]|0)+1}}while(0);do if((c[p>>2]|0)==0&(c[R>>2]|0)!=0){if((c[R>>2]|0)==((b[(c[C>>2]|0)+38>>1]|0)-(c[L>>2]|0)|0))break;f=c[u>>2]|0;h=(b[(c[C>>2]|0)+38>>1]|0)-(c[L>>2]|0)|0;g=c[R>>2]|0;c[Y>>2]=c[E>>2];c[Y+4>>2]=0;c[Y+8>>2]=h;c[Y+12>>2]=g;Se(f,23464,Y);break a}while(0);do if(c[p>>2]|0){if((c[R>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0))break;f=c[u>>2]|0;g=c[(c[p>>2]|0)+4>>2]|0;c[Y>>2]=c[R>>2];c[Y+4>>2]=g;Se(f,23520,Y);break a}while(0);if(c[(c[O>>2]|0)+24>>2]&128){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[t>>2]=f;fp(c[s>>2]|0,25,0,c[t>>2]|0)|0}f:do if(!(c[F>>2]|0)){c[aa>>2]=du(c[u>>2]|0,c[C>>2]|0,55,-1,0,A,P)|0;c[q>>2]=Qe(c[O>>2]|0,(c[aa>>2]|0)+1<<2,0)|0;if(!(c[q>>2]|0))break a;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[aa>>2]|0))break f;g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[q>>2]|0)+(c[K>>2]<<2)>>2]=f;c[K>>2]=(c[K>>2]|0)+1}}while(0);do if(a[D>>0]|0){c[M>>2]=Ir(c[s>>2]|0,108,c[w>>2]|0)|0;c[N>>2]=Mr(c[s>>2]|0)|0}else{if(!(c[o>>2]|0))break;f=Ir(c[s>>2]|0,22,c[X+4>>2]|0)|0;c[N>>2]=f;c[M>>2]=f}while(0);c[I>>2]=Nr(c[s>>2]|0)|0;if(c[da>>2]&1){c[ea>>2]=ys(c[u>>2]|0,(b[(c[C>>2]|0)+38>>1]|0)+1|0)|0;if((c[x>>2]|0)<0)fp(c[s>>2]|0,25,-1,c[ea>>2]|0)|0;else{if(a[D>>0]|0)ip(c[s>>2]|0,47,c[w>>2]|0,c[x>>2]|0,c[ea>>2]|0)|0;else Os(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0,c[ea>>2]|0);c[$>>2]=Ir(c[s>>2]|0,77,c[ea>>2]|0)|0;fp(c[s>>2]|0,25,-1,c[ea>>2]|0)|0;zp(c[s>>2]|0,c[$>>2]|0);Ir(c[s>>2]|0,38,c[ea>>2]|0)|0}c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0))break;g:do if(!(c[p>>2]|0))c[J>>2]=c[K>>2];else{c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break g;if((c[(c[c[p>>2]>>2]|0)+(c[J>>2]<<3)+4>>2]|0)==(c[K>>2]|0))break g;c[J>>2]=(c[J>>2]|0)+1}}while(0);do if((a[D>>0]|0)!=0|(c[n>>2]|0)!=0){if((c[p>>2]|0)!=0?(c[J>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0):0){ba=95;break}if(a[D>>0]|0){ip(c[s>>2]|0,47,c[w>>2]|0,c[J>>2]|0,(c[ea>>2]|0)+(c[K>>2]|0)+1|0)|0;break}else{ru(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,(c[ea>>2]|0)+(c[K>>2]|0)+1|0);break}}else ba=95;while(0);if((ba|0)==95){ba=0;Os(c[u>>2]|0,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+4>>2]|0,(c[ea>>2]|0)+(c[K>>2]|0)+1|0)}c[K>>2]=(c[K>>2]|0)+1}if(!(c[F>>2]|0))su(c[s>>2]|0,c[C>>2]|0,(c[ea>>2]|0)+1|0);tu(c[u>>2]|0,c[G>>2]|0,108,0,1,c[C>>2]|0,(c[ea>>2]|0)-(b[(c[C>>2]|0)+38>>1]|0)-1|0,c[H>>2]|0,c[I>>2]|0);Bs(c[u>>2]|0,c[ea>>2]|0,(b[(c[C>>2]|0)+38>>1]|0)+1|0)}do if(!(c[F>>2]|0)){if(d[(c[C>>2]|0)+44>>0]&16)fp(c[s>>2]|0,28,0,c[l>>2]|0)|0;h:do if((c[x>>2]|0)>=0){do if(a[D>>0]|0)ip(c[s>>2]|0,47,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;else{if(c[o>>2]|0){fp(c[s>>2]|0,33,(c[z>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;break}Os(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0,c[y>>2]|0);c[_>>2]=dt(c[s>>2]|0,-1)|0;if(!(c[_>>2]|0))break;if((d[c[_>>2]>>0]|0)!=28)break;if(d[(c[C>>2]|0)+44>>0]&16)break;a[v>>0]=1;a[c[_>>2]>>0]=74;c[(c[_>>2]|0)+4>>2]=c[A>>2];c[(c[_>>2]|0)+8>>2]=c[y>>2];c[(c[_>>2]|0)+12>>2]=c[B>>2]}while(0);if(a[v>>0]|0)break;X=c[s>>2]|0;if(d[(c[C>>2]|0)+44>>0]&16){c[Q>>2]=Mr(X)|0;fp(c[s>>2]|0,76,c[y>>2]|0,(c[Q>>2]|0)+2|0)|0}else{c[Q>>2]=Ir(X,77,c[y>>2]|0)|0;ip(c[s>>2]|0,74,c[A>>2]|0,c[y>>2]|0,c[B>>2]|0)|0;zp(c[s>>2]|0,c[Q>>2]|0)}Ir(c[s>>2]|0,38,c[y>>2]|0)|0}else{do if(!(d[(c[C>>2]|0)+44>>0]&16)){if(d[Z>>0]|0)break;ip(c[s>>2]|0,74,c[A>>2]|0,c[y>>2]|0,c[B>>2]|0)|0;a[v>>0]=1;break h}while(0);fp(c[s>>2]|0,28,0,c[y>>2]|0)|0}while(0);uu(c[u>>2]|0,c[B>>2]|0,c[y>>2]|0);c[L>>2]=0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0))break;c[S>>2]=(c[y>>2]|0)+1+(c[K>>2]|0);i:do if((c[K>>2]|0)==(b[(c[C>>2]|0)+36>>1]|0))Ir(c[s>>2]|0,29,c[S>>2]|0)|0;else{j:do if(!(c[p>>2]|0))if(d[(c[(c[C>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+23>>0]&2){c[J>>2]=-1;c[L>>2]=(c[L>>2]|0)+1;break}else{c[J>>2]=(c[K>>2]|0)-(c[L>>2]|0);break}else{c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break j;if((c[(c[c[p>>2]>>2]|0)+(c[J>>2]<<3)+4>>2]|0)==(c[K>>2]|0))break j;c[J>>2]=(c[J>>2]|0)+1}}while(0);do if(!((c[J>>2]|0)<0|(c[R>>2]|0)==0)){if((c[p>>2]|0)!=0?(c[J>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0):0)break;if(a[D>>0]|0){ip(c[s>>2]|0,47,c[w>>2]|0,c[J>>2]|0,c[S>>2]|0)|0;break i}if(!(c[o>>2]|0)){Os(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,c[S>>2]|0);break i}if((c[z>>2]|0)==(c[T>>2]|0))break i;fp(c[s>>2]|0,34,(c[z>>2]|0)+(c[J>>2]|0)|0,c[S>>2]|0)|0;break i}while(0);vu(c[u>>2]|0,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+4>>2]|0,c[S>>2]|0)}while(0);c[K>>2]=(c[K>>2]|0)+1}if(d[(c[C>>2]|0)+44>>0]&16){c[m>>2]=Rp(c[O>>2]|0,c[C>>2]|0)|0;wu(c[u>>2]|0,c[C>>2]|0);hp(c[s>>2]|0,15,1,(b[(c[C>>2]|0)+38>>1]|0)+2|0,c[l>>2]|0,c[m>>2]|0,-10)|0;Xe(c[s>>2]|0,((c[H>>2]|0)==10?2:c[H>>2]|0)&255);Sp(c[u>>2]|0);break}else{xu(c[u>>2]|0,c[C>>2]|0,c[q>>2]|0,c[A>>2]|0,c[P>>2]|0,c[l>>2]|0,0,(c[x>>2]|0)>=0&255,c[H>>2]&255,c[I>>2]|0,W);yu(c[u>>2]|0,c[C>>2]|0,0,c[l>>2]|0,0,0);zu(c[u>>2]|0,c[C>>2]|0,c[A>>2]|0,c[P>>2]|0,c[l>>2]|0,c[q>>2]|0,0,d[v>>0]|0,(c[W>>2]|0)==0&1);break}}while(0);if(c[(c[O>>2]|0)+24>>2]&128)fp(c[s>>2]|0,37,c[t>>2]|0,1)|0;if(c[G>>2]|0)tu(c[u>>2]|0,c[G>>2]|0,108,0,2,c[C>>2]|0,(c[T>>2]|0)-2-(b[(c[C>>2]|0)+38>>1]|0)|0,c[H>>2]|0,c[I>>2]|0);Pr(c[s>>2]|0,c[I>>2]|0);do if(a[D>>0]|0){fp(c[s>>2]|0,9,c[w>>2]|0,c[N>>2]|0)|0;zp(c[s>>2]|0,c[M>>2]|0);Ir(c[s>>2]|0,61,c[w>>2]|0)|0}else{if(!(c[o>>2]|0))break;fp(c[s>>2]|0,16,0,c[N>>2]|0)|0;zp(c[s>>2]|0,c[M>>2]|0)}while(0);if((c[F>>2]|0)!=0?1:(d[(c[C>>2]|0)+44>>0]&16|0)!=0)break;if((c[A>>2]|0)<(c[P>>2]|0))Ir(c[s>>2]|0,61,c[A>>2]|0)|0;c[V>>2]=0;c[U>>2]=c[(c[C>>2]|0)+8>>2];while(1){if(!(c[U>>2]|0))break b;Ir(c[s>>2]|0,61,(c[V>>2]|0)+(c[P>>2]|0)|0)|0;c[U>>2]=c[(c[U>>2]|0)+20>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);if((d[(c[u>>2]|0)+18>>0]|0)==0?(c[(c[u>>2]|0)+412>>2]|0)==0:0)Au(c[u>>2]|0);if(((c[(c[O>>2]|0)+24>>2]&128|0)!=0?(a[(c[u>>2]|0)+18>>0]|0)==0:0)?(c[(c[u>>2]|0)+412>>2]|0)==0:0){fp(c[s>>2]|0,35,c[t>>2]|0,1)|0;Nt(c[s>>2]|0,1);Ot(c[s>>2]|0,0,0,23552,0)|0}}}while(0);vn(c[O>>2]|0,c[E>>2]|0);sn(c[O>>2]|0,c[n>>2]|0);tn(c[O>>2]|0,c[o>>2]|0);xn(c[O>>2]|0,c[p>>2]|0);Xb(c[O>>2]|0,c[q>>2]|0);i=r;return}function ro(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;f=i;i=i+32|0;e=f+16|0;k=f+12|0;g=f+8|0;h=f+4|0;j=f;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=se(c[k>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}d=ku(c[k>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;d=c[k>>2]|0;if((c[j>>2]|0)<0){xn(d,c[g>>2]|0);c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}else{a=Zo(d,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=a;c[e>>2]=c[g>>2];a=c[e>>2]|0;i=f;return a|0}return 0}function so(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function to(d,e){d=d|0;e=e|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;n=i;i=i+48|0;o=n+8|0;j=n+36|0;r=n+32|0;h=n+28|0;m=n+24|0;k=n+42|0;p=n+20|0;f=n;q=n+16|0;s=n+40|0;l=n+12|0;c[j>>2]=d;c[r>>2]=e;c[h>>2]=c[c[j>>2]>>2];if(!(c[r>>2]|0)){i=n;return}c[m>>2]=c[(c[r>>2]|0)+8>>2];do if(a[(c[m>>2]|0)+1>>0]|0){b[k>>1]=0;c[p>>2]=Mb(c[m>>2]|0)|0;if((a[c[m>>2]>>0]|0)==63){c[q>>2]=0==(wg((c[m>>2]|0)+1|0,f,(c[p>>2]|0)-1|0,1)|0)&1;d=c[f>>2]&65535;b[k>>1]=d;b[(c[r>>2]|0)+32>>1]=d;d=f;e=c[d+4>>2]|0;if(!(!((c[q>>2]|0)==0|((e|0)<0|(e|0)==0&(c[d>>2]|0)>>>0<1))?(e=f,r=c[e+4>>2]|0,d=c[(c[h>>2]|0)+124>>2]|0,s=((d|0)<0)<<31>>31,!((r|0)>(s|0)|((r|0)==(s|0)?(c[e>>2]|0)>>>0>d>>>0:0))):0)){d=c[j>>2]|0;c[o>>2]=c[(c[h>>2]|0)+124>>2];Se(d,23360,o);b[k>>1]=0}e=f;r=c[e+4>>2]|0;d=c[(c[j>>2]|0)+440>>2]|0;s=((d|0)<0)<<31>>31;if((r|0)>(s|0)|((r|0)==(s|0)?(c[e>>2]|0)>>>0>d>>>0:0))c[(c[j>>2]|0)+440>>2]=c[f>>2]}else{b[s>>1]=0;while(1){if((b[s>>1]|0)>=(c[(c[j>>2]|0)+444>>2]|0))break;if((c[(c[(c[j>>2]|0)+472>>2]|0)+(b[s>>1]<<2)>>2]|0)!=0?(UE(c[(c[(c[j>>2]|0)+472>>2]|0)+(b[s>>1]<<2)>>2]|0,c[m>>2]|0)|0)==0:0){g=14;break}b[s>>1]=(b[s>>1]|0)+1<<16>>16}if((g|0)==14){d=(b[s>>1]|0)+1&65535;b[k>>1]=d;b[(c[r>>2]|0)+32>>1]=d}if(!(b[k>>1]|0)){e=(c[j>>2]|0)+440|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;d=d&65535;b[(c[r>>2]|0)+32>>1]=d;b[k>>1]=d}}if((b[k>>1]|0)>0){do if((b[k>>1]|0)>(c[(c[j>>2]|0)+444>>2]|0)){c[l>>2]=Fk(c[h>>2]|0,c[(c[j>>2]|0)+472>>2]|0,b[k>>1]<<2,0)|0;if(!(c[l>>2]|0)){i=n;return}else{c[(c[j>>2]|0)+472>>2]=c[l>>2];_E((c[l>>2]|0)+(c[(c[j>>2]|0)+444>>2]<<2)|0,0,(b[k>>1]|0)-(c[(c[j>>2]|0)+444>>2]|0)<<2|0)|0;c[(c[j>>2]|0)+444>>2]=b[k>>1];break}}while(0);if((a[c[m>>2]>>0]|0)==63?(c[(c[(c[j>>2]|0)+472>>2]|0)+((b[k>>1]|0)-1<<2)>>2]|0)!=0:0)break;Xb(c[h>>2]|0,c[(c[(c[j>>2]|0)+472>>2]|0)+((b[k>>1]|0)-1<<2)>>2]|0);d=rm(c[h>>2]|0,c[m>>2]|0,c[p>>2]|0,0)|0;c[(c[(c[j>>2]|0)+472>>2]|0)+((b[k>>1]|0)-1<<2)>>2]=d}}else{e=(c[j>>2]|0)+440|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b[(c[r>>2]|0)+32>>1]=d}while(0);if(c[(c[j>>2]|0)+64>>2]|0){i=n;return}if((c[(c[j>>2]|0)+440>>2]|0)<=(c[(c[h>>2]|0)+124>>2]|0)){i=n;return}Se(c[j>>2]|0,23408,o);i=n;return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;if((c[(c[j>>2]|0)+4>>2]|0)>>>0<=0){a=c[f>>2]|0;i=e;return a|0}c[g>>2]=or(c[c[h>>2]>>2]|0,95,c[j>>2]|0,1)|0;if(!(c[g>>2]|0)){a=c[f>>2]|0;i=e;return a|0}c[(c[g>>2]|0)+12>>2]=c[f>>2];a=(c[g>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[f>>2]=c[g>>2];a=c[f>>2]|0;i=e;return a|0}function vo(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,l=0;e=i;i=i+32|0;f=e+20|0;k=e+16|0;g=e+12|0;l=e+8|0;j=e+4|0;h=e;c[k>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[k>>2]>>2];c[j>>2]=or(c[h>>2]|0,153,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){sn(c[h>>2]|0,c[g>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];Ao(c[k>>2]|0,c[j>>2]|0);c[f>>2]=c[j>>2];l=c[f>>2]|0;i=e;return l|0}return 0}function wo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;a=Rn(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,c[c[j>>2]>>2]|0,0)|0;c[c[h>>2]>>2]=a;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function xo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;a=Rn(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=a;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);i=g;return}function yo(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;l=h;c[n>>2]=b;c[m>>2]=e;c[k>>2]=f;c[j>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[m>>2]|0)!=0&(c[k>>2]|0)!=0)){i=h;return}if((d[c[m>>2]>>0]|0|0)!=101){i=h;return}a[c[k>>2]>>0]=c[j>>2];wn(c[l>>2]|0,c[(c[k>>2]|0)+16>>2]|0);c[(c[k>>2]|0)+16>>2]=0;i=h;return}function zo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;j=g+4|0;k=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[j>>2]=e;c[k>>2]=f;a=Rn(c[m>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=a;c[(c[h>>2]|0)+4>>2]=c[c[k>>2]>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function Ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;qr(c[e>>2]|0);Qq(c[f>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=d;return}function Bo(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,o=0,p=0,q=0,r=0,s=0;l=i;i=i+64|0;j=l;h=l+52|0;f=l+48|0;k=l+44|0;m=l+40|0;n=l+36|0;g=l+32|0;r=l+28|0;o=l+24|0;p=l+20|0;q=l+16|0;s=l+12|0;c[h>>2]=b;c[f>>2]=d;c[k>>2]=e;c[g>>2]=c[c[h>>2]>>2];if(a[(c[g>>2]|0)+64>>0]|0){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}if(Ar(c[h>>2]|0)|0){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}c[m>>2]=Op(c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0;if(!(c[m>>2]|0)){n=c[h>>2]|0;m=c[f>>2]|0;if(c[k>>2]|0)At(n,c[m+12>>2]|0);else{c[j>>2]=m;c[j+4>>2]=0;Se(n,23120,j)}a[(c[h>>2]|0)+17>>0]=1;d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}if(a[(c[m>>2]|0)+55>>0]&3){d=c[h>>2]|0;c[j>>2]=0;Se(d,23144,j);d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}c[r>>2]=Ve(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;c[o>>2]=10;c[p>>2]=c[(c[m>>2]|0)+12>>2];c[q>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[s>>2]=(c[r>>2]|0)==1?14904:14928;if(ap(c[h>>2]|0,9,c[s>>2]|0,0,c[q>>2]|0)|0){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}if(c[r>>2]|0)c[o>>2]=12;if(ap(c[h>>2]|0,c[o>>2]|0,c[c[m>>2]>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0)|0){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}c[n>>2]=dp(c[h>>2]|0)|0;if(!(c[n>>2]|0)){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}pp(c[h>>2]|0,1,c[r>>2]|0);d=c[h>>2]|0;s=(c[r>>2]|0)==1?14904:14928;b=c[c[m>>2]>>2]|0;c[j>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[j+4>>2]=s;c[j+8>>2]=b;cp(d,23224,j);iu(c[h>>2]|0,c[r>>2]|0,18160,c[c[m>>2]>>2]|0);ep(c[h>>2]|0,c[r>>2]|0);ju(c[h>>2]|0,c[(c[m>>2]|0)+44>>2]|0,c[r>>2]|0);hp(c[n>>2]|0,125,c[r>>2]|0,0,0,c[c[m>>2]>>2]|0,0)|0;d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}function Co(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=dp(c[e>>2]|0)|0;if(!(c[d>>2]|0)){i=b;return}fp(c[d>>2]|0,13,0,0)|0;Ze(c[d>>2]|0,0);i=b;return}function Do(f,g,h,j,k){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,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,ya=0,za=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,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;o=i;i=i+560|0;t=o+32|0;q=o+544|0;Ib=o+540|0;cb=o+536|0;Gb=o+532|0;Fb=o+528|0;m=o+524|0;n=o+520|0;na=o+516|0;Hb=o+512|0;Eb=o+496|0;r=o+488|0;ib=o+484|0;hb=o+480|0;tb=o+476|0;gb=o+472|0;l=o+468|0;bb=o+464|0;p=o+460|0;Db=o+456|0;Na=o+452|0;Oa=o+448|0;ab=o+444|0;va=o+440|0;eb=o+436|0;Aa=o+432|0;fb=o+428|0;la=o+424|0;Da=o+420|0;Ea=o+416|0;Fa=o+412|0;Ga=o+408|0;Ya=o+404|0;Za=o+400|0;Xa=o+396|0;Wa=o+392|0;Ca=o+388|0;Ba=o+24|0;Qa=o+384|0;Sa=o+380|0;Ra=o+376|0;Ma=o+372|0;La=o+368|0;Ka=o+364|0;_a=o+16|0;vb=o+360|0;wa=o+356|0;qa=o+352|0;sa=o+348|0;pa=o+344|0;ta=o+340|0;ra=o+336|0;oa=o+332|0;ub=o+328|0;lb=o+324|0;mb=o+320|0;xb=o+316|0;zb=o+312|0;wb=o+308|0;yb=o+548|0;Bb=o+304|0;Ab=o+300|0;Cb=o+296|0;Ja=o+292|0;kb=o+288|0;$a=o+284|0;jb=o+280|0;Ha=o+276|0;Va=o+272|0;Pa=o+268|0;Ia=o+264|0;db=o+260|0;Ta=o+256|0;Ua=o+252|0;da=o+248|0;ja=o+244|0;ea=o+240|0;fa=o+236|0;ca=o+232|0;_=o+228|0;$=o+224|0;ga=o+220|0;ba=o+216|0;ma=o+212|0;aa=o+208|0;ha=o+204|0;Z=o+200|0;ia=o+196|0;ka=o+192|0;V=o+188|0;S=o+184|0;Y=o+180|0;X=o+176|0;w=o+172|0;x=o+168|0;u=o+164|0;W=o+160|0;U=o+156|0;v=o+152|0;R=o+148|0;Q=o+144|0;E=o+140|0;M=o+136|0;T=o+132|0;G=o+128|0;K=o+124|0;L=o+120|0;z=o+116|0;A=o+112|0;y=o+108|0;I=o+104|0;N=o+100|0;F=o+96|0;H=o+92|0;J=o+88|0;P=o+84|0;C=o+80|0;O=o+76|0;B=o+72|0;ua=o+68|0;xa=o+64|0;ya=o+60|0;za=o+56|0;pb=o+52|0;qb=o+48|0;nb=o+44|0;ob=o+40|0;rb=o+8|0;sb=o;c[q>>2]=f;c[Ib>>2]=g;c[cb>>2]=h;c[Gb>>2]=j;c[Fb>>2]=k;c[m>>2]=0;c[n>>2]=0;c[na>>2]=0;c[l>>2]=c[c[q>>2]>>2];c[p>>2]=dp(c[q>>2]|0)|0;if(!(c[p>>2]|0)){i=o;return}Mt(c[p>>2]|0);c[(c[q>>2]|0)+72>>2]=2;c[r>>2]=Er(c[q>>2]|0,c[Ib>>2]|0,c[cb>>2]|0,Hb)|0;if((c[r>>2]|0)<0){i=o;return}c[bb>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[r>>2]<<4);if((c[r>>2]|0)==1?(rp(c[q>>2]|0)|0)!=0:0){i=o;return}c[m>>2]=Zo(c[l>>2]|0,c[Hb>>2]|0)|0;if(!(c[m>>2]|0)){i=o;return}g=c[l>>2]|0;Gb=c[Gb>>2]|0;if(c[Fb>>2]|0){c[t>>2]=Gb;c[n>>2]=Te(g,20296,t)|0}else c[n>>2]=Zo(g,Gb)|0;if((c[(c[cb>>2]|0)+4>>2]|0)>>>0>0)Fb=c[c[bb>>2]>>2]|0;else Fb=0;c[na>>2]=Fb;a:do if(!(ap(c[q>>2]|0,19,c[m>>2]|0,c[n>>2]|0,c[na>>2]|0)|0)){c[Eb>>2]=0;c[Eb+4>>2]=c[m>>2];c[Eb+8>>2]=c[n>>2];c[Eb+12>>2]=0;c[(c[l>>2]|0)+452>>2]=0;c[gb>>2]=gg(c[l>>2]|0,c[na>>2]|0,14,Eb)|0;if(!(c[gb>>2]|0)){if(!(c[Eb>>2]|0))break;k=(c[q>>2]|0)+72|0;h=(c[k>>2]|0)+1|0;c[k>>2]=h;c[Db>>2]=h;hp(c[p>>2]|0,97,0,c[Db>>2]|0,0,c[Eb>>2]|0,0)|0;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,20304,0)|0;fp(c[p>>2]|0,35,c[Db>>2]|0,1)|0;hc(c[Eb>>2]|0);break}if((c[gb>>2]|0)!=12){if(c[Eb>>2]|0){h=c[q>>2]|0;c[t>>2]=c[Eb>>2];Se(h,1200,t);hc(c[Eb>>2]|0)}h=(c[q>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[q>>2]|0)+12>>2]=c[gb>>2];break}c[ib>>2]=0;c[hb>>2]=54;while(1){if((c[ib>>2]|0)>(c[hb>>2]|0))break;c[tb>>2]=((c[ib>>2]|0)+(c[hb>>2]|0)|0)/2|0;c[gb>>2]=xc(c[m>>2]|0,c[20312+((c[tb>>2]|0)*12|0)>>2]|0)|0;if(!(c[gb>>2]|0))break;Db=c[tb>>2]|0;if((c[gb>>2]|0)<0){c[hb>>2]=Db-1;continue}else{c[ib>>2]=Db+1;continue}}if((c[ib>>2]|0)<=(c[hb>>2]|0)){if((d[20317+((c[tb>>2]|0)*12|0)>>0]&1|0)!=0?(Ar(c[q>>2]|0)|0)!=0:0)break;do switch(d[20316+((c[tb>>2]|0)*12|0)>>0]|0){case 25:{c[eb>>2]=c[(c[bb>>2]|0)+4>>2];c[Aa>>2]=-1;if(c[n>>2]|0)c[Aa>>2]=(qg(c[n>>2]|0,0)|0)&255;b:do if((c[Aa>>2]|0)>=0?(c[(c[cb>>2]|0)+4>>2]|0)==0:0){c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break b;wt(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[fb>>2]<<4)+4>>2]|0,c[Aa>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}while(0);c[Aa>>2]=wt(c[eb>>2]|0,c[Aa>>2]|0)|0;h=c[Aa>>2]|0;Pt(c[q>>2]|0,21048,h,((h|0)<0)<<31>>31);break a};case 24:{c[ab>>2]=c[(c[bb>>2]|0)+4>>2];if(c[n>>2]|0){h=zg(c[n>>2]|0)|0;c[(c[l>>2]|0)+72>>2]=h;if(7!=(kg(c[ab>>2]|0,c[(c[l>>2]|0)+72>>2]|0,-1,0)|0))break a;a[(c[l>>2]|0)+64>>0]=1;break a}if(c[ab>>2]|0)p=Uc(c[ab>>2]|0)|0;else p=0;c[va>>2]=p;h=c[va>>2]|0;Pt(c[q>>2]|0,21032,h,((h|0)<0)<<31>>31);break a};case 23:{h=_a;c[h>>2]=0;c[h+4>>2]=0;c[gb>>2]=0;if(!(c[gb>>2]|0)){h=_a;Pt(c[q>>2]|0,21184,c[h>>2]|0,c[h+4>>2]|0);break a}if((c[gb>>2]|0)==12)break a;h=(c[q>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[q>>2]|0)+12>>2]=c[gb>>2];break a};case 18:{Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21104,0)|0;if(c[n>>2]|0){c[Wa>>2]=Mb(c[n>>2]|0)|0;c[Ya>>2]=0;while(1){h=Rt(c[Ya>>2]|0)|0;c[Xa>>2]=h;if(!h)break;if(!(Lb(c[n>>2]|0,c[Xa>>2]|0,c[Wa>>2]|0)|0))break;c[Ya>>2]=(c[Ya>>2]|0)+1}if(!(c[Xa>>2]|0))c[Ya>>2]=-1}else c[Ya>>2]=-1;if((c[Ya>>2]|0)==-1?(c[(c[cb>>2]|0)+4>>2]|0)==0:0){c[r>>2]=0;c[(c[cb>>2]|0)+4>>2]=1}c[Za>>2]=(c[(c[l>>2]|0)+20>>2]|0)-1;while(1){if((c[Za>>2]|0)<0)break;do if(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Za>>2]<<4)+4>>2]|0){if((c[Za>>2]|0)!=(c[r>>2]|0)?(c[(c[cb>>2]|0)+4>>2]|0)!=0:0)break;Ze(c[p>>2]|0,c[Za>>2]|0);ip(c[p>>2]|0,12,c[Za>>2]|0,1,c[Ya>>2]|0)|0}while(0);c[Za>>2]=(c[Za>>2]|0)+ -1}fp(c[p>>2]|0,35,1,1)|0;break a};case 30:{if(!(c[n>>2]|0))break a;c[qa>>2]=sp(c[l>>2]|0,c[n>>2]|0,c[na>>2]|0)|0;if(!(c[qa>>2]|0))break a;c[ta>>2]=0;c[oa>>2]=Zr(c[qa>>2]|0)|0;Nt(c[p>>2]|0,6);c[(c[q>>2]|0)+72>>2]=6;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21344,0)|0;Ot(c[p>>2]|0,1,0,21352,0)|0;Ot(c[p>>2]|0,2,0,21360,0)|0;Ot(c[p>>2]|0,3,0,21368,0)|0;Ot(c[p>>2]|0,4,0,21376,0)|0;Ot(c[p>>2]|0,5,0,21392,0)|0;Qp(c[q>>2]|0,c[qa>>2]|0)|0;c[sa>>2]=0;c[ra>>2]=c[(c[qa>>2]|0)+4>>2];while(1){if((c[sa>>2]|0)>=(b[(c[qa>>2]|0)+38>>1]|0))break a;if(d[(c[ra>>2]|0)+23>>0]&2)c[ta>>2]=(c[ta>>2]|0)+1;else{fp(c[p>>2]|0,25,(c[sa>>2]|0)-(c[ta>>2]|0)|0,1)|0;hp(c[p>>2]|0,97,0,2,0,c[c[ra>>2]>>2]|0,0)|0;if(c[(c[ra>>2]|0)+12>>2]|0)q=c[(c[ra>>2]|0)+12>>2]|0;else q=1216;hp(c[p>>2]|0,97,0,3,0,q,0)|0;fp(c[p>>2]|0,25,(d[(c[ra>>2]|0)+20>>0]|0)!=0?1:0,4)|0;q=c[p>>2]|0;if(c[(c[ra>>2]|0)+8>>2]|0)hp(q,97,0,5,0,c[(c[ra>>2]|0)+8>>2]|0,0)|0;else fp(q,28,0,5)|0;c:do if(!(d[(c[ra>>2]|0)+23>>0]&1))c[pa>>2]=0;else{h=(c[oa>>2]|0)==0;c[pa>>2]=1;if(h)break;while(1){if((c[pa>>2]|0)>(b[(c[qa>>2]|0)+38>>1]|0))break c;if((b[(c[(c[oa>>2]|0)+4>>2]|0)+((c[pa>>2]|0)-1<<1)>>1]|0)==(c[sa>>2]|0))break c;c[pa>>2]=(c[pa>>2]|0)+1}}while(0);fp(c[p>>2]|0,25,c[pa>>2]|0,6)|0;fp(c[p>>2]|0,35,1,6)|0}c[sa>>2]=(c[sa>>2]|0)+1;c[ra>>2]=(c[ra>>2]|0)+24}};case 29:{if(!(c[n>>2]|0)){h=(d[(c[bb>>2]|0)+8>>0]|0)-1|0;Pt(c[q>>2]|0,21272,h,((h|0)<0)<<31>>31);break a}if(a[(c[l>>2]|0)+62>>0]|0){h=((yg(c[n>>2]|0,0,1)|0)&255)+1&255;a[(c[bb>>2]|0)+8>>0]=h;Yt(c[l>>2]|0);break a}else{Se(c[q>>2]|0,21288,t);break a}};case 10:{Ze(c[p>>2]|0,c[r>>2]|0);if(c[n>>2]|0){c[Oa>>2]=ds(zg(c[n>>2]|0)|0)|0;pp(c[q>>2]|0,0,c[r>>2]|0);fp(c[p>>2]|0,25,c[Oa>>2]|0,1)|0;ip(c[p>>2]|0,52,c[r>>2]|0,3,1)|0;c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]=c[Oa>>2];es(c[(c[bb>>2]|0)+4>>2]|0,c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21016,0)|0;h=(c[q>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+2;c[Na>>2]=Ye(c[p>>2]|0,9,20976,0)|0;_e(c[p>>2]|0,c[Na>>2]|0,c[r>>2]|0);_e(c[p>>2]|0,(c[Na>>2]|0)+1|0,c[r>>2]|0);_e(c[p>>2]|0,(c[Na>>2]|0)+6|0,2e3);break a}};case 14:{if(!((c[n>>2]|0)!=0?(h=(Ag(c[n>>2]|0,Ma)|0)==0,!(h|(c[Ma>>2]|0)<=0)):0))c[Ma>>2]=2147483647;pp(c[q>>2]|0,0,c[r>>2]|0);fp(c[p>>2]|0,25,c[Ma>>2]|0,1)|0;c[La>>2]=Ir(c[p>>2]|0,141,c[r>>2]|0)|0;Ir(c[p>>2]|0,35,1)|0;fp(c[p>>2]|0,37,1,-1)|0;fp(c[p>>2]|0,137,1,c[La>>2]|0)|0;zp(c[p>>2]|0,c[La>>2]|0);break a};case 4:if(c[n>>2]|0){c[Ka>>2]=zg(c[n>>2]|0)|0;c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]=c[Ka>>2];es(c[(c[bb>>2]|0)+4>>2]|0,c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{h=c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]|0;Pt(c[q>>2]|0,21016,h,((h|0)<0)<<31>>31);break a};case 9:{Nt(c[p>>2]|0,3);c[(c[q>>2]|0)+72>>2]=3;Ot(c[p>>2]|0,0,0,21432,0)|0;Ot(c[p>>2]|0,1,0,21352,0)|0;Ot(c[p>>2]|0,2,0,21448,0)|0;c[Ja>>2]=0;while(1){if((c[Ja>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break a;if(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Ja>>2]<<4)+4>>2]|0){fp(c[p>>2]|0,25,c[Ja>>2]|0,1)|0;hp(c[p>>2]|0,97,0,2,0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Ja>>2]<<4)>>2]|0,0)|0;h=c[p>>2]|0;hp(h,97,0,3,0,sg(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Ja>>2]<<4)+4>>2]|0)|0,0)|0;fp(c[p>>2]|0,35,1,3)|0}c[Ja>>2]=(c[Ja>>2]|0)+1}};case 13:{if(!(c[n>>2]|0))break a;c[Va>>2]=sp(c[l>>2]|0,c[n>>2]|0,c[na>>2]|0)|0;if(!(c[Va>>2]|0))break a;c[p>>2]=dp(c[q>>2]|0)|0;c[Ha>>2]=c[(c[Va>>2]|0)+16>>2];if(!(c[Ha>>2]|0))break a;c[Pa>>2]=0;Nt(c[p>>2]|0,8);c[(c[q>>2]|0)+72>>2]=8;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21456,0)|0;Ot(c[p>>2]|0,1,0,21432,0)|0;Ot(c[p>>2]|0,2,0,21400,0)|0;Ot(c[p>>2]|0,3,0,21464,0)|0;Ot(c[p>>2]|0,4,0,21472,0)|0;Ot(c[p>>2]|0,5,0,21480,0)|0;Ot(c[p>>2]|0,6,0,21496,0)|0;Ot(c[p>>2]|0,7,0,21512,0)|0;while(1){if(!(c[Ha>>2]|0))break a;c[Ia>>2]=0;while(1){if((c[Ia>>2]|0)>=(c[(c[Ha>>2]|0)+20>>2]|0))break;c[db>>2]=c[(c[Ha>>2]|0)+36+(c[Ia>>2]<<3)+4>>2];c[Ta>>2]=_t(a[(c[Ha>>2]|0)+25>>0]|0)|0;c[Ua>>2]=_t(a[(c[Ha>>2]|0)+26>>0]|0)|0;fp(c[p>>2]|0,25,c[Pa>>2]|0,1)|0;fp(c[p>>2]|0,25,c[Ia>>2]|0,2)|0;hp(c[p>>2]|0,97,0,3,0,c[(c[Ha>>2]|0)+8>>2]|0,0)|0;hp(c[p>>2]|0,97,0,4,0,c[(c[(c[Va>>2]|0)+4>>2]|0)+((c[(c[Ha>>2]|0)+36+(c[Ia>>2]<<3)>>2]|0)*24|0)>>2]|0,0)|0;hp(c[p>>2]|0,(c[db>>2]|0)!=0?97:28,0,5,0,c[db>>2]|0,0)|0;hp(c[p>>2]|0,97,0,6,0,c[Ua>>2]|0,0)|0;hp(c[p>>2]|0,97,0,7,0,c[Ta>>2]|0,0)|0;hp(c[p>>2]|0,97,0,8,0,21520,0)|0;fp(c[p>>2]|0,35,1,8)|0;c[Ia>>2]=(c[Ia>>2]|0)+1}c[Pa>>2]=(c[Pa>>2]|0)+1;c[Ha>>2]=c[(c[Ha>>2]|0)+4>>2]}};case 6:{c[kb>>2]=0;Nt(c[p>>2]|0,2);c[(c[q>>2]|0)+72>>2]=2;Ot(c[p>>2]|0,0,0,21432,0)|0;Ot(c[p>>2]|0,1,0,21352,0)|0;c[$a>>2]=c[(c[l>>2]|0)+436>>2];while(1){if(!(c[$a>>2]|0))break a;c[jb>>2]=c[(c[$a>>2]|0)+8>>2];k=c[p>>2]|0;h=c[kb>>2]|0;c[kb>>2]=h+1;fp(k,25,h,1)|0;hp(c[p>>2]|0,97,0,2,0,c[c[jb>>2]>>2]|0,0)|0;fp(c[p>>2]|0,35,1,2)|0;c[$a>>2]=c[c[$a>>2]>>2]}};case 28:{c[p>>2]=dp(c[q>>2]|0)|0;Nt(c[p>>2]|0,4);c[(c[q>>2]|0)+72>>2]=4;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21400,0)|0;Ot(c[p>>2]|0,1,0,10168,0)|0;Ot(c[p>>2]|0,2,0,21408,0)|0;Ot(c[p>>2]|0,3,0,21416,0)|0;c[lb>>2]=c[(c[(c[bb>>2]|0)+12>>2]|0)+16>>2];while(1){if(!(c[lb>>2]|0))break a;c[mb>>2]=c[(c[lb>>2]|0)+8>>2];hp(c[p>>2]|0,97,0,1,0,c[c[mb>>2]>>2]|0,0)|0;fp(c[p>>2]|0,28,0,2)|0;h=c[p>>2]|0;k=Zt(b[(c[mb>>2]|0)+42>>1]|0)|0;fp(h,25,k,3)|0;k=c[p>>2]|0;h=Zt(b[(c[mb>>2]|0)+28>>1]|0)|0;fp(k,25,h,4)|0;fp(c[p>>2]|0,35,1,4)|0;c[ub>>2]=c[(c[mb>>2]|0)+8>>2];while(1){if(!(c[ub>>2]|0))break;hp(c[p>>2]|0,97,0,2,0,c[c[ub>>2]>>2]|0,0)|0;h=c[p>>2]|0;k=Zt(b[(c[ub>>2]|0)+48>>1]|0)|0;fp(h,25,k,3)|0;k=c[p>>2]|0;h=Zt(b[c[(c[ub>>2]|0)+8>>2]>>1]|0)|0;fp(k,25,h,4)|0;fp(c[p>>2]|0,35,1,4)|0;c[ub>>2]=c[(c[ub>>2]|0)+20>>2]}c[lb>>2]=c[c[lb>>2]>>2]}};case 19:{c[Ca>>2]=Sb(c[(c[bb>>2]|0)+4>>2]|0)|0;h=Ba;c[h>>2]=-2;c[h+4>>2]=-1;if((c[n>>2]|0)!=0?(rg(c[n>>2]|0,Ba)|0,h=Ba,k=c[h+4>>2]|0,(k|0)<-1|(k|0)==-1&(c[h>>2]|0)>>>0<4294967295):0){h=Ba;c[h>>2]=-1;c[h+4>>2]=-1}k=Ba;k=St(c[Ca>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;h=Ba;c[h>>2]=k;c[h+4>>2]=D;h=Ba;Pt(c[q>>2]|0,21120,c[h>>2]|0,c[h+4>>2]|0);break a};case 21:{c[Da>>2]=21064;c[Ea>>2]=Qt(c[n>>2]|0)|0;if((c[Ea>>2]|0)==-1?(c[(c[cb>>2]|0)+4>>2]|0)==0:0)c[Ea>>2]=d[(c[l>>2]|0)+65>>0];else{if(!(c[(c[cb>>2]|0)+4>>2]|0)){c[Ga>>2]=2;while(1){if((c[Ga>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break;c[Fa>>2]=Sb(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Ga>>2]<<4)+4>>2]|0)|0;vt(c[Fa>>2]|0,c[Ea>>2]|0)|0;c[Ga>>2]=(c[Ga>>2]|0)+1}a[(c[l>>2]|0)+65>>0]=c[Ea>>2]}c[Fa>>2]=Sb(c[(c[bb>>2]|0)+4>>2]|0)|0;c[Ea>>2]=vt(c[Fa>>2]|0,c[Ea>>2]|0)|0}if((c[Ea>>2]|0)==1)c[Da>>2]=21072;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21088,0)|0;hp(c[p>>2]|0,97,0,1,0,c[Da>>2]|0,0)|0;fp(c[p>>2]|0,35,1,1)|0;break a};case 22:{qp(c[q>>2]|0,c[r>>2]|0);s=(c[q>>2]|0)+72|0;q=(c[s>>2]|0)+1|0;c[s>>2]=q;c[la>>2]=q;q=c[p>>2]|0;r=c[r>>2]|0;s=c[la>>2]|0;if((d[440+(d[c[m>>2]>>0]|0)>>0]|0)==112)fp(q,151,r,s)|0;else ip(q,152,r,s,ds(zg(c[n>>2]|0)|0)|0)|0;fp(c[p>>2]|0,35,c[la>>2]|0,1)|0;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,c[m>>2]|0,-1)|0;break a};case 1:{c[Qa>>2]=c[(c[bb>>2]|0)+4>>2];if(!(c[n>>2]|0)){k=c[q>>2]|0;h=Tt(c[Qa>>2]|0)|0;Pt(k,21144,h,((h|0)<0)<<31>>31);break a}c[Sa>>2]=Ut(c[n>>2]|0)|0;a[(c[l>>2]|0)+66>>0]=c[Sa>>2];c[gb>>2]=Vt(c[Qa>>2]|0,c[Sa>>2]|0)|0;if(c[gb>>2]|0)break a;if(!((c[Sa>>2]|0)==1|(c[Sa>>2]|0)==2))break a;c[Ra>>2]=Ye(c[p>>2]|0,6,21160,0)|0;_e(c[p>>2]|0,c[Ra>>2]|0,c[r>>2]|0);_e(c[p>>2]|0,(c[Ra>>2]|0)+1|0,c[r>>2]|0);$e(c[p>>2]|0,(c[Ra>>2]|0)+2|0,(c[Ra>>2]|0)+4|0);_e(c[p>>2]|0,(c[Ra>>2]|0)+4|0,(c[Sa>>2]|0)-1|0);_e(c[p>>2]|0,(c[Ra>>2]|0)+5|0,c[r>>2]|0);Ze(c[p>>2]|0,c[r>>2]|0);break a};case 12:{c[ba>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;h=(c[q>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+4;h=(c[q>>2]|0)+72|0;k=(c[h>>2]|0)+1|0;c[h>>2]=k;c[ma>>2]=k;k=(c[q>>2]|0)+72|0;h=(c[k>>2]|0)+1|0;c[k>>2]=h;c[aa>>2]=h;c[p>>2]=dp(c[q>>2]|0)|0;Nt(c[p>>2]|0,4);Ot(c[p>>2]|0,0,0,21400,0)|0;Ot(c[p>>2]|0,1,0,9992,0)|0;Ot(c[p>>2]|0,2,0,21528,0)|0;Ot(c[p>>2]|0,3,0,21536,0)|0;qp(c[q>>2]|0,c[r>>2]|0);c[$>>2]=c[(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]|0)+16>>2];while(1){if(!(c[$>>2]|0))break a;if(c[n>>2]|0){c[ja>>2]=Re(c[q>>2]|0,0,c[n>>2]|0,c[na>>2]|0)|0;c[$>>2]=0}else{c[ja>>2]=c[(c[$>>2]|0)+8>>2];c[$>>2]=c[c[$>>2]>>2]}if(!(c[ja>>2]|0))continue;if(!(c[(c[ja>>2]|0)+16>>2]|0))continue;Jr(c[q>>2]|0,c[r>>2]|0,c[(c[ja>>2]|0)+32>>2]|0,0,c[c[ja>>2]>>2]|0);if(((b[(c[ja>>2]|0)+38>>1]|0)+(c[aa>>2]|0)|0)>(c[(c[q>>2]|0)+72>>2]|0))c[(c[q>>2]|0)+72>>2]=(b[(c[ja>>2]|0)+38>>1]|0)+(c[aa>>2]|0);Kr(c[q>>2]|0,0,c[r>>2]|0,c[ja>>2]|0,54);hp(c[p>>2]|0,97,0,c[ba>>2]|0,0,c[c[ja>>2]>>2]|0,0)|0;c[ca>>2]=1;c[da>>2]=c[(c[ja>>2]|0)+16>>2];d:while(1){if(!(c[da>>2]|0))break;c[ea>>2]=sp(c[l>>2]|0,c[(c[da>>2]|0)+8>>2]|0,c[na>>2]|0)|0;do if(c[ea>>2]|0){c[fa>>2]=0;Jr(c[q>>2]|0,c[r>>2]|0,c[(c[ea>>2]|0)+32>>2]|0,0,c[c[ea>>2]>>2]|0);c[ga>>2]=$t(c[q>>2]|0,c[ea>>2]|0,c[da>>2]|0,fa,0)|0;if(c[ga>>2]|0){s=195;break d}if(!(c[fa>>2]|0)){Kr(c[q>>2]|0,c[ca>>2]|0,c[r>>2]|0,c[ea>>2]|0,54);break}else{ip(c[p>>2]|0,54,c[ca>>2]|0,c[(c[fa>>2]|0)+44>>2]|0,c[r>>2]|0)|0;Lr(c[q>>2]|0,c[fa>>2]|0);break}}while(0);c[ca>>2]=(c[ca>>2]|0)+1;c[da>>2]=c[(c[da>>2]|0)+4>>2]}if((s|0)==195){s=0;c[$>>2]=0}if(c[da>>2]|0)break a;if((c[(c[q>>2]|0)+68>>2]|0)<(c[ca>>2]|0))c[(c[q>>2]|0)+68>>2]=c[ca>>2];c[ha>>2]=Ir(c[p>>2]|0,108,0)|0;c[ca>>2]=1;c[da>>2]=c[(c[ja>>2]|0)+16>>2];while(1){if(!(c[da>>2]|0))break;c[ea>>2]=sp(c[l>>2]|0,c[(c[da>>2]|0)+8>>2]|0,c[na>>2]|0)|0;c[fa>>2]=0;c[ia>>2]=0;if(c[ea>>2]|0)c[ga>>2]=$t(c[q>>2]|0,c[ea>>2]|0,c[da>>2]|0,fa,ia)|0;c[Z>>2]=Nr(c[p>>2]|0)|0;do if((c[ea>>2]|0)!=0&(c[fa>>2]|0)==0){c[ka>>2]=c[(c[da>>2]|0)+36>>2];t=c[p>>2]|0;if((c[ka>>2]|0)!=(b[(c[ja>>2]|0)+36>>1]|0)){ip(t,47,0,c[ka>>2]|0,c[aa>>2]|0)|0;Es(c[p>>2]|0,c[ja>>2]|0,c[ka>>2]|0,c[aa>>2]|0);fp(c[p>>2]|0,76,c[aa>>2]|0,c[Z>>2]|0)|0;k=c[p>>2]|0;h=c[aa>>2]|0;fp(k,38,h,(Mr(c[p>>2]|0)|0)+3|0)|0}else fp(t,103,0,c[aa>>2]|0)|0;ip(c[p>>2]|0,70,c[ca>>2]|0,0,c[aa>>2]|0)|0;fp(c[p>>2]|0,16,0,c[Z>>2]|0)|0;h=c[p>>2]|0;zp(h,(Mr(c[p>>2]|0)|0)-2|0)}else{c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[(c[da>>2]|0)+20>>2]|0))break;t=c[_>>2]|0;if(c[ia>>2]|0)t=c[(c[ia>>2]|0)+(t<<2)>>2]|0;else t=c[(c[da>>2]|0)+36+(t<<3)>>2]|0;zs(c[p>>2]|0,c[ja>>2]|0,0,t,(c[aa>>2]|0)+(c[_>>2]|0)|0);fp(c[p>>2]|0,76,(c[aa>>2]|0)+(c[_>>2]|0)|0,c[Z>>2]|0)|0;c[_>>2]=(c[_>>2]|0)+1}if(!(c[ea>>2]|0))break;Hb=c[p>>2]|0;Ib=c[aa>>2]|0;f=c[(c[da>>2]|0)+20>>2]|0;k=c[ma>>2]|0;h=au(c[p>>2]|0,c[fa>>2]|0)|0;hp(Hb,49,Ib,f,k,h,c[(c[da>>2]|0)+20>>2]|0)|0;We(c[p>>2]|0,69,c[ca>>2]|0,c[Z>>2]|0,c[ma>>2]|0,0)|0}while(0);fp(c[p>>2]|0,103,0,(c[ba>>2]|0)+1|0)|0;hp(c[p>>2]|0,97,0,(c[ba>>2]|0)+2|0,0,c[(c[da>>2]|0)+8>>2]|0,0)|0;fp(c[p>>2]|0,25,(c[ca>>2]|0)-1|0,(c[ba>>2]|0)+3|0)|0;fp(c[p>>2]|0,35,c[ba>>2]|0,4)|0;Pr(c[p>>2]|0,c[Z>>2]|0);Xb(c[l>>2]|0,c[ia>>2]|0);c[ca>>2]=(c[ca>>2]|0)+1;c[da>>2]=c[(c[da>>2]|0)+4>>2]}fp(c[p>>2]|0,9,0,(c[ha>>2]|0)+1|0)|0;zp(c[p>>2]|0,c[ha>>2]|0)}};case 17:{c[w>>2]=(d[440+(d[c[m>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[cb>>2]>>2]|0))c[r>>2]=-1;c[(c[q>>2]|0)+72>>2]=6;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21560,0)|0;c[X>>2]=100;if((c[n>>2]|0)!=0?(Ag(c[n>>2]|0,X)|0,(c[X>>2]|0)<=0):0)c[X>>2]=100;fp(c[p>>2]|0,25,c[X>>2]|0,1)|0;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break;c[W>>2]=0;if(!((c[r>>2]|0)>=0?(c[V>>2]|0)!=(c[r>>2]|0):0))s=230;e:do if((s|0)==230){s=0;qp(c[q>>2]|0,c[V>>2]|0);c[Y>>2]=Ir(c[p>>2]|0,137,1)|0;fp(c[p>>2]|0,24,0,0)|0;zp(c[p>>2]|0,c[Y>>2]|0);c[u>>2]=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[V>>2]<<4)+12>>2]|0)+8;c[x>>2]=c[(c[u>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;c[U>>2]=c[(c[x>>2]|0)+8>>2];if(!(d[(c[U>>2]|0)+44>>0]&32)){fp(c[p>>2]|0,25,c[(c[U>>2]|0)+32>>2]|0,2+(c[W>>2]|0)|0)|0;c[W>>2]=(c[W>>2]|0)+1}c[v>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;fp(c[p>>2]|0,25,c[(c[v>>2]|0)+44>>2]|0,2+(c[W>>2]|0)|0)|0;c[W>>2]=(c[W>>2]|0)+1;c[v>>2]=c[(c[v>>2]|0)+20>>2]}c[x>>2]=c[c[x>>2]>>2]}if((c[(c[q>>2]|0)+72>>2]|0)>((c[W>>2]|0)+8|0))Z=c[(c[q>>2]|0)+72>>2]|0;else Z=(c[W>>2]|0)+8|0;c[(c[q>>2]|0)+72>>2]=Z;ip(c[p>>2]|0,127,2,c[W>>2]|0,1)|0;Xe(c[p>>2]|0,c[V>>2]&255);c[Y>>2]=Ir(c[p>>2]|0,76,2)|0;k=c[p>>2]|0;h=c[l>>2]|0;c[t>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[V>>2]<<4)>>2];hp(k,97,0,3,0,Te(h,21576,t)|0,-1)|0;ip(c[p>>2]|0,32,2,4,1)|0;ip(c[p>>2]|0,94,4,3,2)|0;fp(c[p>>2]|0,35,2,1)|0;zp(c[p>>2]|0,c[Y>>2]|0);c[x>>2]=c[(c[u>>2]|0)+8>>2];while(1){if((c[x>>2]|0)==0|(c[w>>2]|0)!=0)break e;c[R>>2]=c[(c[x>>2]|0)+8>>2];c[M>>2]=0;c[L>>2]=-1;f:do if(c[(c[R>>2]|0)+8>>2]|0){if(!(d[(c[R>>2]|0)+44>>0]&32))Z=0;else Z=Zr(c[R>>2]|0)|0;c[E>>2]=Z;c[Y>>2]=Ir(c[p>>2]|0,137,1)|0;fp(c[p>>2]|0,24,0,0)|0;zp(c[p>>2]|0,c[Y>>2]|0);cu(c[q>>2]|0);du(c[q>>2]|0,c[R>>2]|0,54,1,0,G,K)|0;fp(c[p>>2]|0,25,0,7)|0;c[S>>2]=0;c[Q>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break;fp(c[p>>2]|0,25,0,8+(c[S>>2]|0)|0)|0;c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[S>>2]=(c[S>>2]|0)+1}if((c[(c[q>>2]|0)+72>>2]|0)>(8+(c[S>>2]|0)|0))Z=c[(c[q>>2]|0)+72>>2]|0;else Z=8+(c[S>>2]|0)|0;c[(c[q>>2]|0)+72>>2]=Z;fp(c[p>>2]|0,108,c[G>>2]|0,0)|0;c[T>>2]=fp(c[p>>2]|0,37,7,1)|0;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(b[(c[R>>2]|0)+38>>1]|0))break;do if((c[S>>2]|0)!=(b[(c[R>>2]|0)+36>>1]|0)){if(!(d[(c[(c[R>>2]|0)+4>>2]|0)+((c[S>>2]|0)*24|0)+20>>0]|0))break;zs(c[p>>2]|0,c[R>>2]|0,c[G>>2]|0,c[S>>2]|0,3);Xe(c[p>>2]|0,-128);c[A>>2]=Ir(c[p>>2]|0,77,3)|0;fp(c[p>>2]|0,37,1,-1)|0;h=c[l>>2]|0;k=c[(c[(c[R>>2]|0)+4>>2]|0)+((c[S>>2]|0)*24|0)>>2]|0;c[t>>2]=c[c[R>>2]>>2];c[t+4>>2]=k;c[z>>2]=Te(h,21600,t)|0;hp(c[p>>2]|0,97,0,3,0,c[z>>2]|0,-1)|0;fp(c[p>>2]|0,35,3,1)|0;c[y>>2]=Ir(c[p>>2]|0,137,1)|0;mp(c[p>>2]|0,24)|0;zp(c[p>>2]|0,c[A>>2]|0);zp(c[p>>2]|0,c[y>>2]|0)}while(0);c[S>>2]=(c[S>>2]|0)+1}c[S>>2]=0;c[Q>>2]=c[(c[R>>2]|0)+8>>2];while(1){Z=c[p>>2]|0;if(!(c[Q>>2]|0))break;c[J>>2]=Nr(Z)|0;if((c[E>>2]|0)!=(c[Q>>2]|0)){c[L>>2]=ps(c[q>>2]|0,c[Q>>2]|0,c[G>>2]|0,0,0,N,c[M>>2]|0,c[L>>2]|0)|0;c[M>>2]=c[Q>>2];fp(c[p>>2]|0,37,8+(c[S>>2]|0)|0,1)|0;c[I>>2]=We(c[p>>2]|0,69,(c[K>>2]|0)+(c[S>>2]|0)|0,c[J>>2]|0,c[L>>2]|0,e[(c[Q>>2]|0)+52>>1]|0)|0;fp(c[p>>2]|0,37,1,-1)|0;hp(c[p>>2]|0,97,0,3,0,21624,-2)|0;ip(c[p>>2]|0,94,7,3,3)|0;hp(c[p>>2]|0,97,0,4,0,21632,-2)|0;ip(c[p>>2]|0,94,4,3,3)|0;c[H>>2]=hp(c[p>>2]|0,97,0,4,0,c[c[Q>>2]>>2]|0,0)|0;ip(c[p>>2]|0,94,4,3,3)|0;fp(c[p>>2]|0,35,3,1)|0;c[F>>2]=Ir(c[p>>2]|0,137,1)|0;mp(c[p>>2]|0,24)|0;zp(c[p>>2]|0,c[I>>2]|0);if(d[(c[Q>>2]|0)+54>>0]|0){c[P>>2]=Nr(c[p>>2]|0)|0;c[O>>2]=0;while(1){if((c[O>>2]|0)>=(e[(c[Q>>2]|0)+50>>1]|0))break;c[B>>2]=b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1];if(!(a[(c[(c[R>>2]|0)+4>>2]|0)+((c[B>>2]|0)*24|0)+20>>0]|0))fp(c[p>>2]|0,76,(c[L>>2]|0)+(c[O>>2]|0)|0,c[P>>2]|0)|0;c[O>>2]=(c[O>>2]|0)+1}c[C>>2]=Ir(c[p>>2]|0,9,(c[K>>2]|0)+(c[S>>2]|0)|0)|0;fp(c[p>>2]|0,16,0,c[P>>2]|0)|0;zp(c[p>>2]|0,c[C>>2]|0);We(c[p>>2]|0,114,(c[K>>2]|0)+(c[S>>2]|0)|0,c[P>>2]|0,c[L>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;fp(c[p>>2]|0,37,1,-1)|0;hp(c[p>>2]|0,97,0,3,0,21656,-2)|0;fp(c[p>>2]|0,16,0,c[H>>2]|0)|0;Pr(c[p>>2]|0,c[P>>2]|0)}zp(c[p>>2]|0,c[F>>2]|0);qs(c[q>>2]|0,c[N>>2]|0)}c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[S>>2]=(c[S>>2]|0)+1}fp(Z,9,c[G>>2]|0,c[T>>2]|0)|0;zp(c[p>>2]|0,(c[T>>2]|0)-1|0);hp(c[p>>2]|0,97,0,2,0,21688,-2)|0;c[S>>2]=0;c[Q>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break f;if((c[E>>2]|0)!=(c[Q>>2]|0)){c[Y>>2]=Mr(c[p>>2]|0)|0;fp(c[p>>2]|0,137,1,(c[Y>>2]|0)+2|0)|0;fp(c[p>>2]|0,24,0,0)|0;fp(c[p>>2]|0,50,(c[K>>2]|0)+(c[S>>2]|0)|0,3)|0;ip(c[p>>2]|0,79,8+(c[S>>2]|0)|0,(c[Y>>2]|0)+8|0,3)|0;Xe(c[p>>2]|0,-112);fp(c[p>>2]|0,37,1,-1)|0;hp(c[p>>2]|0,97,0,3,0,c[c[Q>>2]>>2]|0,0)|0;ip(c[p>>2]|0,94,3,2,7)|0;fp(c[p>>2]|0,35,7,1)|0}c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[S>>2]=(c[S>>2]|0)+1}}while(0);c[x>>2]=c[c[x>>2]>>2]}}while(0);c[V>>2]=(c[V>>2]|0)+1}c[Y>>2]=Ye(c[p>>2]|0,3,21544,0)|0;af(c[p>>2]|0,c[Y>>2]|0,0-(c[X>>2]|0)|0);zp(c[p>>2]|0,c[Y>>2]|0);bf(c[p>>2]|0,(c[Y>>2]|0)+1|0,21720,-2);break a};case 5:{if(!(c[n>>2]|0))break a;h=c[l>>2]|0;bu(h,(qg(c[n>>2]|0,0)|0)&255);break a};case 11:{if(!(c[n>>2]|0)){if(Ar(c[q>>2]|0)|0)break a;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21880,0)|0;fp(c[p>>2]|0,97,0,1)|0;bf(c[p>>2]|0,-1,c[21728+(d[(c[(c[(c[c[q>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]<<3)>>2]|0,-2);fp(c[p>>2]|0,35,1,1)|0;break a}if((e[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[ua>>2]=21728;while(1){if(!(c[c[ua>>2]>>2]|0))break;h=0==(xc(c[n>>2]|0,c[c[ua>>2]>>2]|0)|0);p=c[ua>>2]|0;if(h){s=286;break}c[ua>>2]=p+8}if((s|0)==286){if(d[p+4>>0]|0)p=d[(c[ua>>2]|0)+4>>0]|0;else p=(a[1136]|0)==0?3:2;a[(c[(c[(c[c[q>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=p}if(c[c[ua>>2]>>2]|0)break a;h=c[q>>2]|0;c[t>>2]=c[n>>2];Se(h,21896,t);break a};case 0:{Ze(c[p>>2]|0,c[r>>2]|0);switch(a[c[m>>2]>>0]|0){case 65:case 97:{c[xa>>2]=8;break};case 70:case 102:{c[xa>>2]=0;break};case 83:case 115:{c[xa>>2]=1;break};default:c[xa>>2]=6}q=c[p>>2]|0;if((c[n>>2]|0)!=0&(c[xa>>2]|0)!=0){c[ya>>2]=Ye(q,3,21928,0)|0;_e(c[p>>2]|0,c[ya>>2]|0,c[r>>2]|0);k=c[p>>2]|0;h=(c[ya>>2]|0)+1|0;_e(k,h,zg(c[n>>2]|0)|0);_e(c[p>>2]|0,(c[ya>>2]|0)+2|0,c[r>>2]|0);$e(c[p>>2]|0,(c[ya>>2]|0)+2|0,c[xa>>2]|0);break a}else{c[za>>2]=Ye(q,3,21944,0)|0;_e(c[p>>2]|0,c[za>>2]|0,c[r>>2]|0);_e(c[p>>2]|0,(c[za>>2]|0)+1|0,c[r>>2]|0);af(c[p>>2]|0,(c[za>>2]|0)+1|0,c[xa>>2]|0);Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,c[m>>2]|0,-1)|0;break a}};case 35:{c[nb>>2]=(c[c[cb>>2]>>2]|0)!=0?c[r>>2]|0:10;c[ob>>2]=0;do if(c[n>>2]|0){if(!(xc(c[n>>2]|0,21976)|0)){c[ob>>2]=1;break}if(!(xc(c[n>>2]|0,21984)|0))c[ob>>2]=2}while(0);Nt(c[p>>2]|0,3);c[(c[q>>2]|0)+72>>2]=3;Ot(c[p>>2]|0,0,0,21992,0)|0;Ot(c[p>>2]|0,1,0,22e3,0)|0;Ot(c[p>>2]|0,2,0,22008,0)|0;ip(c[p>>2]|0,11,c[nb>>2]|0,c[ob>>2]|0,1)|0;fp(c[p>>2]|0,35,1,3)|0;break a};case 7:{c[pb>>2]=0;Nt(c[p>>2]|0,1);c[(c[q>>2]|0)+72>>2]=1;Ot(c[p>>2]|0,0,0,21960,0)|0;while(1){h=c[pb>>2]|0;c[pb>>2]=h+1;h=Ob(h)|0;c[qb>>2]=h;if(!h)break a;hp(c[p>>2]|0,97,0,1,0,c[qb>>2]|0,0)|0;fp(c[p>>2]|0,35,1,1)|0}};case 26:{Ef(c[l>>2]|0)|0;break a};case 34:{if(c[n>>2]|0){h=c[l>>2]|0;Uf(h,zg(c[n>>2]|0)|0)|0}if((c[(c[l>>2]|0)+212>>2]|0)==5)p=c[(c[l>>2]|0)+216>>2]|0;else p=0;Pt(c[q>>2]|0,22024,p,((p|0)<0)<<31>>31);break a};case 27:{if((c[n>>2]|0)!=0?(rg(c[n>>2]|0,rb)|0)==0:0){h=rb;cc(c[h>>2]|0,c[h+4>>2]|0)|0}k=c[q>>2]|0;h=cc(-1,-1)|0;Pt(k,22056,h,D);break a};case 33:{if((c[n>>2]|0)!=0?(f=(rg(c[n>>2]|0,sb)|0)==0,h=sb,k=c[h+4>>2]|0,f&((k|0)>0|(k|0)==0&(c[h>>2]|0)>>>0>=0)):0)bg(c[l>>2]|0,11,c[sb>>2]&2147483647)|0;k=c[q>>2]|0;h=bg(c[l>>2]|0,11,-1)|0;Pt(k,22072,h,((h|0)<0)<<31>>31);break a};case 31:{p=c[q>>2]|0;if(c[n>>2]|0){Wt(p,c[n>>2]|0)|0;break a}else{Pt(p,21200,d[(c[l>>2]|0)+63>>0]|0,0);break a}};case 2:{if(!(c[n>>2]|0)){h=(c[(c[l>>2]|0)+24>>2]&c[20320+((c[tb>>2]|0)*12|0)>>2]|0)!=0&1;Pt(c[q>>2]|0,c[20312+((c[tb>>2]|0)*12|0)>>2]|0,h,((h|0)<0)<<31>>31);break a}c[wa>>2]=c[20320+((c[tb>>2]|0)*12|0)>>2];if(!(d[(c[l>>2]|0)+62>>0]|0))c[wa>>2]=c[wa>>2]&-524289;h=(qg(c[n>>2]|0,0)|0)<<24>>24!=0;q=c[wa>>2]|0;if(!h){h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]&~q;if((c[wa>>2]|0)==16777216){h=(c[l>>2]|0)+512|0;c[h>>2]=0;c[h+4>>2]=0}}else{h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]|q}fp(c[p>>2]|0,142,0,0)|0;Yt(c[l>>2]|0);break a};case 32:{if(!(c[n>>2]|0)){if(!(c[392]|0))break a;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21216,0)|0;hp(c[p>>2]|0,97,0,1,0,c[392]|0,0)|0;fp(c[p>>2]|0,35,1,1)|0;break a}if((a[c[n>>2]>>0]|0)!=0?(c[gb>>2]=vi(c[c[l>>2]>>2]|0,c[n>>2]|0,1,vb)|0,(c[gb>>2]|0)!=0|(c[vb>>2]|0)==0):0){Se(c[q>>2]|0,21240,t);break a}if((d[(c[l>>2]|0)+63>>0]|0)<=1)Xt(c[q>>2]|0)|0;hc(c[392]|0);if(a[c[n>>2]>>0]|0){c[t>>2]=c[n>>2];c[392]=qc(1200,t)|0;break a}else{c[392]=0;break a}};case 15:{if(!(c[n>>2]|0))break a;c[xb>>2]=Op(c[l>>2]|0,c[n>>2]|0,c[na>>2]|0)|0;if(!(c[xb>>2]|0))break a;c[zb>>2]=c[(c[xb>>2]|0)+12>>2];Nt(c[p>>2]|0,3);c[(c[q>>2]|0)+72>>2]=3;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21424,0)|0;Ot(c[p>>2]|0,1,0,21344,0)|0;Ot(c[p>>2]|0,2,0,21352,0)|0;c[wb>>2]=0;while(1){if((c[wb>>2]|0)>=(e[(c[xb>>2]|0)+50>>1]|0))break a;b[yb>>1]=b[(c[(c[xb>>2]|0)+4>>2]|0)+(c[wb>>2]<<1)>>1]|0;fp(c[p>>2]|0,25,c[wb>>2]|0,1)|0;fp(c[p>>2]|0,25,b[yb>>1]|0,2)|0;hp(c[p>>2]|0,97,0,3,0,c[(c[(c[zb>>2]|0)+4>>2]|0)+((b[yb>>1]|0)*24|0)>>2]|0,0)|0;fp(c[p>>2]|0,35,1,3)|0;c[wb>>2]=(c[wb>>2]|0)+1}};case 16:{if(!(c[n>>2]|0))break a;c[Ab>>2]=sp(c[l>>2]|0,c[n>>2]|0,c[na>>2]|0)|0;if(!(c[Ab>>2]|0))break a;c[p>>2]=dp(c[q>>2]|0)|0;Nt(c[p>>2]|0,3);c[(c[q>>2]|0)+72>>2]=3;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21432,0)|0;Ot(c[p>>2]|0,1,0,21352,0)|0;Ot(c[p>>2]|0,2,0,21440,0)|0;c[Bb>>2]=c[(c[Ab>>2]|0)+8>>2];c[Cb>>2]=0;while(1){if(!(c[Bb>>2]|0))break a;fp(c[p>>2]|0,25,c[Cb>>2]|0,1)|0;hp(c[p>>2]|0,97,0,2,0,c[c[Bb>>2]>>2]|0,0)|0;fp(c[p>>2]|0,25,(d[(c[Bb>>2]|0)+54>>0]|0)!=0&1,3)|0;fp(c[p>>2]|0,35,1,3)|0;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2];c[Cb>>2]=(c[Cb>>2]|0)+1}};default:{if(c[n>>2]|0){h=c[l>>2]|0;Of(h,zg(c[n>>2]|0)|0)|0}h=c[(c[l>>2]|0)+492>>2]|0;Pt(c[q>>2]|0,22048,h,((h|0)<0)<<31>>31);break a}}while(0)}}while(0);Xb(c[l>>2]|0,c[m>>2]|0);Xb(c[l>>2]|0,c[n>>2]|0);i=o;return}function Eo(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=i;i=i+112|0;r=j;f=j+100|0;h=j+96|0;g=j+92|0;o=j+88|0;n=j+84|0;p=j+80|0;u=j+56|0;l=j+48|0;v=j+40|0;s=j+36|0;q=j+32|0;k=j+28|0;m=j+24|0;t=j+20|0;c[f>>2]=b;c[h>>2]=d;c[g>>2]=e;c[o>>2]=c[(c[f>>2]|0)+488>>2];c[p>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+488>>2]=0;do if((c[o>>2]|0)!=0?(c[(c[f>>2]|0)+64>>2]|0)==0:0){c[n>>2]=c[c[o>>2]>>2];c[l>>2]=Ve(c[c[f>>2]>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=c[h>>2];while(1){e=c[o>>2]|0;if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+4>>2]=e;c[h>>2]=c[(c[h>>2]|0)+32>>2]}c[v>>2]=c[e>>2];c[v+4>>2]=Mb(c[v>>2]|0)|0;Gt(u,c[f>>2]|0,c[l>>2]|0,1488,v);if((Lt(u,c[(c[o>>2]|0)+28>>2]|0)|0)==0?(Jt(u,c[(c[o>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[p>>2]|0)+145>>0]|0)){c[s>>2]=dp(c[f>>2]|0)|0;if(!(c[s>>2]|0))break;pp(c[f>>2]|0,0,c[l>>2]|0);c[q>>2]=rm(c[p>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,0)|0;e=c[f>>2]|0;u=(c[l>>2]|0)==1?14904:14928;v=c[n>>2]|0;b=c[(c[o>>2]|0)+4>>2]|0;d=c[q>>2]|0;c[r>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[r+4>>2]=u;c[r+8>>2]=v;c[r+12>>2]=b;c[r+16>>2]=d;cp(e,20200,r);Xb(c[p>>2]|0,c[q>>2]|0);ep(c[f>>2]|0,c[l>>2]|0);e=c[s>>2]|0;d=c[l>>2]|0;b=c[p>>2]|0;c[r>>2]=c[n>>2];gp(e,d,Te(b,20264,r)|0)}if(a[(c[p>>2]|0)+145>>0]|0){c[k>>2]=c[o>>2];c[m>>2]=(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+40;c[o>>2]=gh(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[o>>2]|0){a[(c[p>>2]|0)+64>>0]=1;break}if((c[(c[k>>2]|0)+20>>2]|0)==(c[(c[k>>2]|0)+24>>2]|0)){c[t>>2]=bh((c[(c[k>>2]|0)+24>>2]|0)+8|0,c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=c[(c[t>>2]|0)+64>>2];c[(c[t>>2]|0)+64>>2]=c[k>>2]}}}}while(0);Ub(c[p>>2]|0,c[o>>2]|0);Bn(c[p>>2]|0,c[h>>2]|0);i=j;return}function Fo(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;o=i;i=i+128|0;y=o;s=o+116|0;L=o+112|0;J=o+108|0;H=o+104|0;B=o+100|0;q=o+96|0;p=o+92|0;r=o+88|0;G=o+84|0;x=o+80|0;v=o+76|0;A=o+72|0;u=o+68|0;w=o+64|0;t=o+60|0;F=o+56|0;I=o+32|0;C=o+24|0;E=o+20|0;D=o+16|0;z=o+12|0;c[s>>2]=b;c[L>>2]=e;c[J>>2]=f;c[H>>2]=g;c[B>>2]=h;c[q>>2]=j;c[p>>2]=k;c[r>>2]=l;c[G>>2]=m;c[x>>2]=n;c[v>>2]=0;c[u>>2]=0;c[w>>2]=c[c[s>>2]>>2];do if(c[G>>2]|0)if((c[(c[J>>2]|0)+4>>2]|0)>>>0<=0){c[t>>2]=1;c[F>>2]=c[L>>2];if(c[p>>2]|0){K=6;break}else break}else{Se(c[s>>2]|0,19856,y);break}else{c[t>>2]=Er(c[s>>2]|0,c[L>>2]|0,c[J>>2]|0,F)|0;if((c[t>>2]|0)>=0&(c[p>>2]|0)!=0)K=6}while(0);do if((K|0)==6?(d[(c[w>>2]|0)+64>>0]|0)==0:0){if((c[t>>2]|0)!=1?(d[(c[w>>2]|0)+145>>0]|0)!=0:0){Xb(c[w>>2]|0,c[(c[p>>2]|0)+12>>2]|0);c[(c[p>>2]|0)+12>>2]=0}c[A>>2]=Ft(c[s>>2]|0,c[p>>2]|0)|0;if(((d[(c[w>>2]|0)+145>>0]|0)==0?(c[A>>2]|0)!=0?(c[(c[J>>2]|0)+4>>2]|0)==0:0:0)?(c[(c[A>>2]|0)+68>>2]|0)==(c[(c[(c[w>>2]|0)+16>>2]|0)+28>>2]|0):0)c[t>>2]=1;if((a[(c[w>>2]|0)+64>>0]|0)==0?(Gt(I,c[s>>2]|0,c[t>>2]|0,1488,c[F>>2]|0),(Ht(I,c[p>>2]|0)|0)==0):0){c[A>>2]=Ft(c[s>>2]|0,c[p>>2]|0)|0;if(!(c[A>>2]|0)){if((d[(c[w>>2]|0)+144>>0]|0)!=1)break;a[(c[w>>2]|0)+146>>0]=1;break}if(d[(c[A>>2]|0)+44>>0]&16){Se(c[s>>2]|0,19904,y);break}c[u>>2]=Zo(c[w>>2]|0,c[F>>2]|0)|0;if((c[u>>2]|0)!=0?0==(Pp(c[s>>2]|0,c[u>>2]|0)|0):0){if(bh((c[(c[(c[w>>2]|0)+16>>2]|0)+(c[t>>2]<<4)+12>>2]|0)+40|0,c[u>>2]|0)|0){z=c[s>>2]|0;if(c[x>>2]|0){qp(z,c[t>>2]|0);break}else{c[y>>2]=c[F>>2];Se(z,19952,y);break}}if(!(Lb(c[c[A>>2]>>2]|0,15144,7)|0)){Se(c[s>>2]|0,19984,y);b=(c[s>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+1;break}if((c[H>>2]|0)!=49?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){b=c[s>>2]|0;e=c[p>>2]|0;c[y>>2]=(c[H>>2]|0)==35?20064:20072;c[y+4>>2]=e;c[y+8>>2]=0;Se(b,20024,y);break}if((c[H>>2]|0)==49?(c[(c[A>>2]|0)+12>>2]|0)==0:0){b=c[s>>2]|0;c[y>>2]=c[p>>2];c[y+4>>2]=0;Se(b,20080,y);break}c[C>>2]=Ve(c[w>>2]|0,c[(c[A>>2]|0)+68>>2]|0)|0;c[E>>2]=7;c[D>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[G>>2]|0)x=c[(c[(c[w>>2]|0)+16>>2]|0)+16>>2]|0;else x=c[D>>2]|0;c[z>>2]=x;if((c[C>>2]|0)==1|(c[G>>2]|0)!=0)c[E>>2]=5;if((ap(c[s>>2]|0,c[E>>2]|0,c[u>>2]|0,c[c[A>>2]>>2]|0,c[z>>2]|0)|0)==0?(ap(c[s>>2]|0,18,(c[C>>2]|0)==1?14904:14928,0,c[D>>2]|0)|0)==0:0){if((c[H>>2]|0)==49)c[H>>2]=35;c[v>>2]=se(c[w>>2]|0,36,0)|0;if(!(c[v>>2]|0))break;c[c[v>>2]>>2]=c[u>>2];c[u>>2]=0;b=ne(c[w>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[v>>2]|0)+4>>2]=b;c[(c[v>>2]|0)+20>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[t>>2]<<4)+12>>2];c[(c[v>>2]|0)+24>>2]=c[(c[A>>2]|0)+68>>2];a[(c[v>>2]|0)+8>>0]=c[B>>2];a[(c[v>>2]|0)+9>>0]=(c[H>>2]|0)==35?1:2;b=Bq(c[w>>2]|0,c[r>>2]|0,1)|0;c[(c[v>>2]|0)+12>>2]=b;b=yr(c[w>>2]|0,c[q>>2]|0)|0;c[(c[v>>2]|0)+16>>2]=b;c[(c[s>>2]|0)+488>>2]=c[v>>2]}}}}while(0);Xb(c[w>>2]|0,c[u>>2]|0);vn(c[w>>2]|0,c[p>>2]|0);xn(c[w>>2]|0,c[q>>2]|0);wn(c[w>>2]|0,c[r>>2]|0);if(c[(c[s>>2]|0)+488>>2]|0){i=o;return}Ub(c[w>>2]|0,c[v>>2]|0);i=o;return}function Go(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;l=j+16|0;o=j+12|0;h=j+8|0;k=j+4|0;n=j+20|0;m=j;c[l>>2]=b;c[o>>2]=d;c[h>>2]=e;c[k>>2]=f;a[n>>0]=g;c[m>>2]=Et(c[l>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=Jq(c[l>>2]|0,c[h>>2]|0,1)|0;c[(c[m>>2]|0)+24>>2]=o;o=Bq(c[l>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;a[(c[m>>2]|0)+1>>0]=a[n>>0]|0}sn(c[l>>2]|0,c[h>>2]|0);wn(c[l>>2]|0,c[k>>2]|0);i=j;return c[m>>2]|0}function Ho(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;l=n+16|0;o=n+12|0;h=n+8|0;k=n+4|0;m=n+20|0;j=n;c[l>>2]=b;c[o>>2]=d;c[h>>2]=e;c[k>>2]=f;a[m>>0]=g;c[j>>2]=Et(c[l>>2]|0,108,c[o>>2]|0)|0;g=c[l>>2]|0;if(c[j>>2]|0){b=Wp(g,c[k>>2]|0,1)|0;c[(c[j>>2]|0)+8>>2]=b;c[(c[j>>2]|0)+28>>2]=c[h>>2];a[(c[j>>2]|0)+1>>0]=a[m>>0]|0;b=c[l>>2]|0;o=c[k>>2]|0;tn(b,o);o=c[j>>2]|0;i=n;return o|0}else{xn(g,c[h>>2]|0);b=c[l>>2]|0;o=c[k>>2]|0;tn(b,o);o=c[j>>2]|0;i=n;return o|0}return 0}function Io(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;c[f>>2]=Et(c[j>>2]|0,109,c[k>>2]|0)|0;if(c[f>>2]|0){k=Bq(c[j>>2]|0,c[h>>2]|0,1)|0;c[(c[f>>2]|0)+20>>2]=k;a[(c[f>>2]|0)+1>>0]=10}wn(c[j>>2]|0,c[h>>2]|0);i=g;return c[f>>2]|0}function Jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;h=e+8|0;g=e+4|0;j=e;c[h>>2]=b;c[g>>2]=d;c[j>>2]=se(c[h>>2]|0,40,0)|0;if(!(c[j>>2]|0)){tn(c[h>>2]|0,c[g>>2]|0);c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}else{a[c[j>>2]>>0]=119;c[(c[j>>2]|0)+8>>2]=c[g>>2];a[(c[j>>2]|0)+1>>0]=10;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=e;return b|0}return 0}function Ko(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,o=0,p=0,q=0,r=0;m=i;i=i+48|0;l=m;j=m+40|0;g=m+36|0;f=m+32|0;n=m+28|0;r=m+24|0;k=m+20|0;q=m+16|0;h=m+12|0;p=m+8|0;c[j>>2]=b;c[g>>2]=d;c[f>>2]=e;c[n>>2]=0;c[h>>2]=c[c[j>>2]>>2];if(a[(c[h>>2]|0)+64>>0]|0){d=c[h>>2]|0;b=c[g>>2]|0;vn(d,b);i=m;return}if(Ar(c[j>>2]|0)|0){d=c[h>>2]|0;b=c[g>>2]|0;vn(d,b);i=m;return}c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+16>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;b=c[r>>2]|0;c[p>>2]=(c[r>>2]|0)<2?b^1:b;if(!((c[k>>2]|0)!=0?(xc(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2]|0,c[k>>2]|0)|0)!=0:0))o=7;if((o|0)==7?(o=0,c[n>>2]=bh((c[(c[(c[h>>2]|0)+16>>2]|0)+(c[p>>2]<<4)+12>>2]|0)+40|0,c[q>>2]|0)|0,(c[n>>2]|0)!=0):0)break;c[r>>2]=(c[r>>2]|0)+1}if(c[n>>2]|0){Bt(c[j>>2]|0,c[n>>2]|0);d=c[h>>2]|0;b=c[g>>2]|0;vn(d,b);i=m;return}n=c[j>>2]|0;if(c[f>>2]|0)At(n,c[k>>2]|0);else{c[l>>2]=c[g>>2];c[l+4>>2]=0;Se(n,19792,l)}a[(c[j>>2]|0)+17>>0]=1;d=c[h>>2]|0;b=c[g>>2]|0;vn(d,b);i=m;return}function Lo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;st(c[k>>2]|0,24,19552,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;st(c[f>>2]|0,25,19368,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function No(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+64|0;j=k;f=k+48|0;r=k+44|0;s=k+40|0;u=k+36|0;p=k+32|0;l=k+28|0;n=k+24|0;h=k+20|0;g=k+16|0;o=k+12|0;q=k+8|0;t=k+4|0;c[f>>2]=b;c[r>>2]=d;c[s>>2]=e;c[o>>2]=c[c[f>>2]>>2];if(Ar(c[f>>2]|0)|0){i=k;return}if(!(c[r>>2]|0)){ms(c[f>>2]|0,0);i=k;return}if(!((c[s>>2]|0)!=0?(c[c[s>>2]>>2]|0)!=0:0))m=6;do if((m|0)==6){c[t>>2]=Zo(c[c[f>>2]>>2]|0,c[r>>2]|0)|0;if(!(c[t>>2]|0)){i=k;return}c[u>>2]=$g(c[o>>2]|0,a[(c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[t>>2]|0,0)|0;if(!(c[u>>2]|0)){Xb(c[o>>2]|0,c[t>>2]|0);break}ms(c[f>>2]|0,c[t>>2]|0);Xb(c[o>>2]|0,c[t>>2]|0);i=k;return}while(0);c[g>>2]=Er(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,q)|0;if((c[g>>2]|0)<0){i=k;return}c[p>>2]=Zo(c[o>>2]|0,c[q>>2]|0)|0;if(!(c[p>>2]|0)){i=k;return}c[l>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[n>>2]=sp(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;if(c[n>>2]|0){ns(c[f>>2]|0,c[n>>2]|0,0);Xb(c[o>>2]|0,c[p>>2]|0);i=k;return}c[h>>2]=Op(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;Xb(c[o>>2]|0,c[p>>2]|0);l=c[f>>2]|0;if(c[h>>2]|0){pp(l,0,c[g>>2]|0);os(c[f>>2]|0,c[h>>2]|0,-1);i=k;return}else{Se(l,19064,j);i=k;return}}function Oo(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+48|0;e=l+44|0;p=l+40|0;q=l+36|0;k=l+32|0;n=l+28|0;r=l+24|0;g=l+20|0;m=l+16|0;h=l+12|0;j=l+8|0;o=l+4|0;f=l;c[e>>2]=a;c[p>>2]=b;c[q>>2]=d;c[k>>2]=c[c[e>>2]>>2];if(Ar(c[e>>2]|0)|0){i=l;return}a:do if(c[p>>2]|0){if(c[(c[q>>2]|0)+4>>2]|0){c[n>>2]=Er(c[e>>2]|0,c[p>>2]|0,c[q>>2]|0,o)|0;if((c[n>>2]|0)<0)break;c[m>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[g>>2]=Zo(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[g>>2]|0))break;a=Op(c[k>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;c[j>>2]=a;n=c[e>>2]|0;if(!a){a=Re(n,0,c[g>>2]|0,c[m>>2]|0)|0;c[h>>2]=a;if(a)Dr(c[e>>2]|0,c[h>>2]|0,0)}else Dr(n,c[(c[j>>2]|0)+12>>2]|0,c[j>>2]|0);Xb(c[k>>2]|0,c[g>>2]|0);break}c[n>>2]=Cr(c[k>>2]|0,c[p>>2]|0)|0;if((c[n>>2]|0)>=0){Br(c[e>>2]|0,c[n>>2]|0);break}c[g>>2]=Zo(c[k>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){a=Op(c[k>>2]|0,c[g>>2]|0,0)|0;c[j>>2]=a;m=c[e>>2]|0;if(!a){a=Re(m,0,c[g>>2]|0,0)|0;c[h>>2]=a;if(a)Dr(c[e>>2]|0,c[h>>2]|0,0)}else Dr(m,c[(c[j>>2]|0)+12>>2]|0,c[j>>2]|0);Xb(c[k>>2]|0,c[g>>2]|0)}}else{c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break a;if((c[r>>2]|0)!=1)Br(c[e>>2]|0,c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+1}}while(0);c[f>>2]=dp(c[e>>2]|0)|0;if(!(c[f>>2]|0)){i=l;return}mp(c[f>>2]|0,142)|0;i=l;return}function Po(b,e,f){b=b|0;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;l=i;i=i+112|0;n=l;o=l+100|0;q=l+96|0;z=l+92|0;t=l+88|0;s=l+84|0;m=l+80|0;j=l+76|0;r=l+72|0;u=l+68|0;v=l+64|0;x=l+60|0;h=l+56|0;y=l+52|0;k=l+48|0;w=l+44|0;p=l+40|0;g=l+36|0;c[o>>2]=b;c[q>>2]=e;c[z>>2]=f;c[j>>2]=0;c[r>>2]=c[c[o>>2]>>2];c[h>>2]=0;c[y>>2]=0;c[k>>2]=c[(c[r>>2]|0)+24>>2];do if(((a[(c[r>>2]|0)+64>>0]|0)==0?(c[m>>2]=np(c[o>>2]|0,0,(c[q>>2]|0)+8|0)|0,(c[m>>2]|0)!=0):0)?(c[t>>2]=Ve(c[c[o>>2]>>2]|0,c[(c[m>>2]|0)+68>>2]|0)|0,c[s>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2],b=(c[r>>2]|0)+24|0,c[b>>2]=c[b>>2]|2097152,c[j>>2]=Zo(c[r>>2]|0,c[z>>2]|0)|0,(c[j>>2]|0)!=0):0){if((sp(c[r>>2]|0,c[j>>2]|0,c[s>>2]|0)|0)==0?(Op(c[r>>2]|0,c[j>>2]|0,c[s>>2]|0)|0)==0:0){if(op(c[o>>2]|0,c[c[m>>2]>>2]|0)|0)break;if(Pp(c[o>>2]|0,c[j>>2]|0)|0)break;f=c[o>>2]|0;if(c[(c[m>>2]|0)+12>>2]|0){c[n>>2]=c[c[m>>2]>>2];Se(f,15664,n);break}if(ap(f,26,c[s>>2]|0,c[c[m>>2]>>2]|0,0)|0)break;if(Qp(c[o>>2]|0,c[m>>2]|0)|0)break;if((d[(c[m>>2]|0)+44>>0]&16|0)!=0?(c[y>>2]=Rp(c[r>>2]|0,c[m>>2]|0)|0,(c[(c[c[(c[y>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[y>>2]=0;c[x>>2]=dp(c[o>>2]|0)|0;if(!(c[x>>2]|0))break;pp(c[o>>2]|0,(c[y>>2]|0)!=0&1,c[t>>2]|0);ep(c[o>>2]|0,c[t>>2]|0);if(c[y>>2]|0){e=(c[o>>2]|0)+72|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;c[w>>2]=b;hp(c[x>>2]|0,97,0,c[w>>2]|0,0,c[j>>2]|0,0)|0;hp(c[x>>2]|0,150,c[w>>2]|0,0,0,c[y>>2]|0,-10)|0;Sp(c[o>>2]|0)}c[v>>2]=c[c[m>>2]>>2];c[u>>2]=Tm(c[v>>2]|0,-1)|0;if((c[(c[r>>2]|0)+24>>2]&524288|0)!=0?(b=Tp(c[o>>2]|0,c[m>>2]|0)|0,c[h>>2]=b,(b|0)!=0):0){b=c[o>>2]|0;y=(c[t>>2]|0)==1?14904:14928;f=c[v>>2]|0;z=c[j>>2]|0;e=c[h>>2]|0;c[n>>2]=c[s>>2];c[n+4>>2]=y;c[n+8>>2]=f;c[n+12>>2]=z;c[n+16>>2]=e;cp(b,15696,n);Xb(c[r>>2]|0,c[h>>2]|0)}b=c[o>>2]|0;A=(c[t>>2]|0)==1?14904:14928;t=c[j>>2]|0;w=c[j>>2]|0;x=c[j>>2]|0;y=c[j>>2]|0;f=c[j>>2]|0;z=c[u>>2]|0;e=c[v>>2]|0;c[n>>2]=c[s>>2];c[n+4>>2]=A;c[n+8>>2]=t;c[n+12>>2]=w;c[n+16>>2]=x;c[n+20>>2]=y;c[n+24>>2]=f;c[n+28>>2]=z;c[n+32>>2]=e;cp(b,15768,n);if(sp(c[r>>2]|0,16152,c[s>>2]|0)|0){A=c[o>>2]|0;e=c[j>>2]|0;b=c[c[m>>2]>>2]|0;c[n>>2]=c[s>>2];c[n+4>>2]=e;c[n+8>>2]=b;cp(A,16168,n)}A=xp(c[o>>2]|0,c[m>>2]|0)|0;c[h>>2]=A;if(A){A=c[o>>2]|0;e=c[j>>2]|0;b=c[h>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=e;c[n+8>>2]=b;cp(A,16232,n);Xb(c[r>>2]|0,c[h>>2]|0)}a:do if(c[(c[r>>2]|0)+24>>2]&524288){c[p>>2]=Up(c[m>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[g>>2]=c[c[p>>2]>>2];if((c[g>>2]|0)!=(c[m>>2]|0))vp(c[o>>2]|0,c[c[p>>2]>>2]|0,c[c[g>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);vp(c[o>>2]|0,c[m>>2]|0,c[j>>2]|0);break}A=c[o>>2]|0;c[n>>2]=c[j>>2];Se(A,15600,n)}while(0);vn(c[r>>2]|0,c[q>>2]|0);Xb(c[r>>2]|0,c[j>>2]|0);c[(c[r>>2]|0)+24>>2]=c[k>>2];i=l;return}function Qo(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;p=i;i=i+80|0;j=p;h=p+76|0;l=p+72|0;s=p+68|0;w=p+64|0;t=p+60|0;u=p+56|0;v=p+52|0;m=p+48|0;r=p+44|0;o=p+40|0;k=p+36|0;n=p+32|0;g=p+28|0;q=p+24|0;c[h>>2]=e;c[l>>2]=f;c[k>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+64>>2]|0){i=p;return}if(d[(c[k>>2]|0)+64>>0]|0){i=p;return}c[s>>2]=c[(c[h>>2]|0)+484>>2];c[t>>2]=Ve(c[k>>2]|0,c[(c[s>>2]|0)+68>>2]|0)|0;c[u>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[v>>2]=(c[c[s>>2]>>2]|0)+16;c[r>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(((b[(c[s>>2]|0)+38>>1]|0)-1|0)*24|0);c[o>>2]=c[(c[r>>2]|0)+4>>2];c[w>>2]=sp(c[k>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;if(ap(c[h>>2]|0,26,c[u>>2]|0,c[c[w>>2]>>2]|0,0)|0){i=p;return}if((c[o>>2]|0)!=0?(d[c[o>>2]>>0]|0)==101:0)c[o>>2]=0;if(d[(c[r>>2]|0)+23>>0]&1){Se(c[h>>2]|0,15184,j);i=p;return}if(c[(c[s>>2]|0)+8>>2]|0){Se(c[h>>2]|0,15216,j);i=p;return}if((c[(c[k>>2]|0)+24>>2]&524288|0)!=0?(c[o>>2]|0)!=0?(c[(c[s>>2]|0)+16>>2]|0)!=0:0:0){Se(c[h>>2]|0,15248,j);i=p;return}if(!((c[o>>2]|0)!=0?1:(d[(c[r>>2]|0)+20>>0]|0)==0)){Se(c[h>>2]|0,15312,j);i=p;return}do if(c[o>>2]|0){c[n>>2]=0;if(tp(c[k>>2]|0,c[o>>2]|0,1,65,n)|0){a[(c[k>>2]|0)+64>>0]=1;i=p;return}if(c[n>>2]|0){tf(c[n>>2]|0);break}Se(c[h>>2]|0,15368,j);i=p;return}while(0);c[m>>2]=rm(c[k>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0)|0;if(c[m>>2]|0){c[g>>2]=(c[m>>2]|0)+((c[(c[l>>2]|0)+4>>2]|0)-1);c[q>>2]=c[(c[k>>2]|0)+24>>2];while(1){if((c[g>>2]|0)>>>0<=(c[m>>2]|0)>>>0)break;if((a[c[g>>2]>>0]|0)!=59?(d[1224+(d[c[g>>2]>>0]|0)>>0]&1|0)==0:0)break;e=c[g>>2]|0;c[g>>2]=e+ -1;a[e>>0]=0}e=(c[k>>2]|0)+24|0;c[e>>2]=c[e>>2]|2097152;e=c[h>>2]|0;l=(c[t>>2]|0)==1?14904:14928;n=c[(c[s>>2]|0)+48>>2]|0;r=c[m>>2]|0;s=(c[(c[s>>2]|0)+48>>2]|0)+1|0;v=c[v>>2]|0;c[j>>2]=c[u>>2];c[j+4>>2]=l;c[j+8>>2]=n;c[j+12>>2]=r;c[j+16>>2]=s;c[j+20>>2]=v;cp(e,15416,j);Xb(c[k>>2]|0,c[m>>2]|0);c[(c[k>>2]|0)+24>>2]=c[q>>2]}up(c[h>>2]|0,c[t>>2]|0,(c[o>>2]|0)!=0?3:2);vp(c[h>>2]|0,c[w>>2]|0,c[c[w>>2]>>2]|0);i=p;return}function Ro(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;g=i;i=i+48|0;l=g;k=g+40|0;n=g+36|0;h=g+32|0;o=g+28|0;p=g+24|0;m=g+20|0;q=g+16|0;s=g+12|0;j=g+8|0;r=g+4|0;c[k>>2]=e;c[n>>2]=f;c[j>>2]=c[c[k>>2]>>2];if(a[(c[j>>2]|0)+64>>0]|0){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}c[o>>2]=np(c[k>>2]|0,0,(c[n>>2]|0)+8|0)|0;if(!(c[o>>2]|0)){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}if(d[(c[o>>2]|0)+44>>0]&16){Se(c[k>>2]|0,14976,l);f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}f=c[k>>2]|0;if(c[(c[o>>2]|0)+12>>2]|0){Se(f,15016,l);f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}if(op(f,c[c[o>>2]>>2]|0)|0){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}c[m>>2]=Ve(c[j>>2]|0,c[(c[o>>2]|0)+68>>2]|0)|0;c[h>>2]=se(c[j>>2]|0,76,0)|0;if(!(c[h>>2]|0)){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}c[(c[k>>2]|0)+484>>2]=c[h>>2];b[(c[h>>2]|0)+40>>1]=1;b[(c[h>>2]|0)+38>>1]=b[(c[o>>2]|0)+38>>1]|0;c[s>>2]=((((b[(c[h>>2]|0)+38>>1]|0)-1|0)/8|0)<<3)+8;e=se(c[j>>2]|0,(c[s>>2]|0)*24|0,0)|0;c[(c[h>>2]|0)+4>>2]=e;e=c[j>>2]|0;c[l>>2]=c[c[o>>2]>>2];e=Te(e,15048,l)|0;c[c[h>>2]>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)!=0?(c[c[h>>2]>>2]|0)!=0:0){dF(c[(c[h>>2]|0)+4>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[h>>2]|0)+38>>1]|0)*24|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[h>>2]|0)+38>>1]|0))break;c[r>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[q>>2]|0)*24|0);e=ne(c[j>>2]|0,c[c[r>>2]>>2]|0)|0;c[c[r>>2]>>2]=e;c[(c[r>>2]|0)+16>>2]=0;c[(c[r>>2]|0)+12>>2]=0;c[(c[r>>2]|0)+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;c[q>>2]=(c[q>>2]|0)+1}c[(c[h>>2]|0)+68>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[h>>2]|0)+48>>2]=c[(c[o>>2]|0)+48>>2];b[(c[h>>2]|0)+40>>1]=1;pp(c[k>>2]|0,0,c[m>>2]|0);c[p>>2]=dp(c[k>>2]|0)|0;if(!(c[p>>2]|0)){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}ep(c[k>>2]|0,c[m>>2]|0);f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}a[(c[j>>2]|0)+64>>0]=1;f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}function So(b,d){b=b|0;d=d|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;l=i;i=i+80|0;h=l;g=l+64|0;o=l+60|0;k=l+56|0;f=l+52|0;j=l+48|0;n=l+44|0;e=l+40|0;m=l+36|0;r=l+32|0;p=l+28|0;q=l+24|0;c[g>>2]=b;c[o>>2]=d;c[k>>2]=c[(c[g>>2]|0)+484>>2];c[f>>2]=c[c[g>>2]>>2];if(!(c[k>>2]|0)){i=l;return}_o(c[g>>2]|0);c[(c[g>>2]|0)+512>>2]=0;if((c[(c[k>>2]|0)+52>>2]|0)<1){i=l;return}if(!(a[(c[f>>2]|0)+145>>0]|0)){if(c[o>>2]|0)c[(c[g>>2]|0)+500>>2]=(c[c[o>>2]>>2]|0)-(c[(c[g>>2]|0)+496>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0);q=c[f>>2]|0;c[h>>2]=(c[g>>2]|0)+496;c[j>>2]=Te(q,14792,h)|0;c[e>>2]=Ve(c[f>>2]|0,c[(c[k>>2]|0)+68>>2]|0)|0;q=c[g>>2]|0;d=(c[e>>2]|0)==1?14904:14928;o=c[c[k>>2]>>2]|0;p=c[c[k>>2]>>2]|0;b=c[j>>2]|0;r=c[(c[g>>2]|0)+384>>2]|0;c[h>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)>>2];c[h+4>>2]=d;c[h+8>>2]=o;c[h+12>>2]=p;c[h+16>>2]=b;c[h+20>>2]=r;cp(q,14816,h);Xb(c[f>>2]|0,c[j>>2]|0);c[m>>2]=dp(c[g>>2]|0)|0;ep(c[g>>2]|0,c[e>>2]|0);fp(c[m>>2]|0,142,0,0)|0;q=c[f>>2]|0;c[h>>2]=c[c[k>>2]>>2];c[n>>2]=Te(q,14944,h)|0;gp(c[m>>2]|0,c[e>>2]|0,c[n>>2]|0);q=c[m>>2]|0;r=c[e>>2]|0;b=c[c[k>>2]>>2]|0;hp(q,145,r,0,0,b,(Mb(c[c[k>>2]>>2]|0)|0)+1|0)|0;i=l;return}c[p>>2]=c[(c[k>>2]|0)+68>>2];c[q>>2]=c[c[k>>2]>>2];c[r>>2]=gh((c[p>>2]|0)+8|0,c[q>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){a[(c[f>>2]|0)+64>>0]=1;i=l;return}else{c[(c[g>>2]|0)+484>>2]=0;i=l;return}}function To(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0;o=i;i=i+32|0;k=o+28|0;p=o+24|0;r=o+20|0;j=o+16|0;q=o+12|0;m=o+8|0;l=o+4|0;n=o;c[k>>2]=b;c[p>>2]=e;c[r>>2]=f;c[j>>2]=g;c[q>>2]=h;Mn(c[k>>2]|0,c[p>>2]|0,c[r>>2]|0,0,0,1,c[q>>2]|0);c[l>>2]=c[(c[k>>2]|0)+484>>2];if(!(c[l>>2]|0)){i=o;return}c[n>>2]=c[c[k>>2]>>2];c[m>>2]=Ve(c[n>>2]|0,c[(c[l>>2]|0)+68>>2]|0)|0;r=(c[l>>2]|0)+44|0;a[r>>0]=d[r>>0]|0|16;c[(c[l>>2]|0)+52>>2]=0;r=c[n>>2]|0;q=c[l>>2]|0;$o(r,q,Zo(c[n>>2]|0,c[j>>2]|0)|0);$o(c[n>>2]|0,c[l>>2]|0,0);q=c[n>>2]|0;r=c[l>>2]|0;$o(q,r,ne(c[n>>2]|0,c[c[l>>2]>>2]|0)|0);c[(c[k>>2]|0)+500>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)-(c[c[p>>2]>>2]|0);if(!(c[(c[l>>2]|0)+56>>2]|0)){i=o;return}ap(c[k>>2]|0,29,c[c[l>>2]>>2]|0,c[c[(c[l>>2]|0)+56>>2]>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Uo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_o(c[d>>2]|0);c[(c[d>>2]|0)+512>>2]=0;c[(c[d>>2]|0)+516>>2]=0;i=b;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=(c[g>>2]|0)+512;b=c[f>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];i=d;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[f>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=d;return}}function Wo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;n=i;i=i+48|0;q=n;p=n+40|0;l=n+36|0;s=n+32|0;h=n+28|0;j=n+24|0;o=n+20|0;m=n+16|0;k=n+12|0;r=n+8|0;g=n+4|0;c[p>>2]=a;c[l>>2]=b;c[s>>2]=d;c[h>>2]=e;c[j>>2]=f;c[o>>2]=c[c[p>>2]>>2];c[k>>2]=Zo(c[c[p>>2]>>2]|0,c[s>>2]|0)|0;a:do if((c[k>>2]|0)!=0&(c[l>>2]|0)!=0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[l>>2]>>2]|0))break a;if(!(xc(c[k>>2]|0,c[(c[l>>2]|0)+8+(c[r>>2]<<4)>>2]|0)|0)){s=c[p>>2]|0;c[q>>2]=c[k>>2];Se(s,14720,q)}c[r>>2]=(c[r>>2]|0)+1}}while(0);if(c[l>>2]|0){c[g>>2]=24+(c[c[l>>2]>>2]<<4);s=c[g>>2]|0;c[m>>2]=Fk(c[o>>2]|0,c[l>>2]|0,s,((s|0)<0)<<31>>31)|0}else c[m>>2]=se(c[o>>2]|0,24,0)|0;if(!(c[m>>2]|0)){sn(c[o>>2]|0,c[h>>2]|0);tn(c[o>>2]|0,c[j>>2]|0);Xb(c[o>>2]|0,c[k>>2]|0);c[m>>2]=c[l>>2];s=c[m>>2]|0;i=n;return s|0}else{c[(c[m>>2]|0)+8+(c[c[m>>2]>>2]<<4)+8>>2]=c[j>>2];c[(c[m>>2]|0)+8+(c[c[m>>2]>>2]<<4)+4>>2]=c[h>>2];c[(c[m>>2]|0)+8+(c[c[m>>2]>>2]<<4)>>2]=c[k>>2];c[(c[m>>2]|0)+8+(c[c[m>>2]>>2]<<4)+12>>2]=0;s=c[m>>2]|0;c[s>>2]=(c[s>>2]|0)+1;s=c[m>>2]|0;i=n;return s|0}return 0}function Xo(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[11104+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[11720+(c[h>>2]<<1)>>1]|0}function Yo(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[d>>2]=a;c[b>>2]=c[(c[d>>2]|0)+8>>2];while(1){if((c[c[d>>2]>>2]|0)<0)break;zn(c[d>>2]|0)|0}c[(c[d>>2]|0)+8>>2]=c[b>>2];i=e;return}function Zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;if(c[f>>2]|0){c[e>>2]=rm(c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,0)|0;sm(c[e>>2]|0)|0;a=c[e>>2]|0;i=d;return a|0}else{c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}return 0}function _o(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if(!(c[(c[d>>2]|0)+512>>2]|0)){i=b;return}if(!(c[(c[d>>2]|0)+484>>2]|0)){i=b;return}c[e>>2]=c[(c[d>>2]|0)+512>>2];c[f>>2]=c[(c[d>>2]|0)+516>>2];c[g>>2]=c[c[d>>2]>>2];a=c[g>>2]|0;d=c[(c[d>>2]|0)+484>>2]|0;f=c[f>>2]|0;$o(a,d,rm(c[g>>2]|0,c[e>>2]|0,f,((f|0)<0)<<31>>31)|0);i=b;return}function $o(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,l=0,m=0;j=i;i=i+32|0;k=j+24|0;f=j+20|0;e=j+16|0;h=j+12|0;m=j+8|0;g=j+4|0;l=j;c[k>>2]=a;c[f>>2]=b;c[e>>2]=d;b=(c[f>>2]|0)+52|0;a=c[b>>2]|0;c[b>>2]=a+1;c[h>>2]=a;c[m>>2]=1+(c[(c[f>>2]|0)+52>>2]|0)<<2;a=c[m>>2]|0;c[g>>2]=Fk(c[k>>2]|0,c[(c[f>>2]|0)+56>>2]|0,a,((a|0)<0)<<31>>31)|0;if(c[g>>2]|0){c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]=c[e>>2];c[(c[g>>2]|0)+((c[h>>2]|0)+1<<2)>>2]=0;a=c[g>>2]|0;m=c[f>>2]|0;m=m+56|0;c[m>>2]=a;i=j;return}c[l>>2]=0;while(1){d=c[k>>2]|0;if((c[l>>2]|0)>=(c[h>>2]|0))break;Xb(d,c[(c[(c[f>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0);c[l>>2]=(c[l>>2]|0)+1}Xb(d,c[e>>2]|0);Xb(c[k>>2]|0,c[(c[f>>2]|0)+56>>2]|0);c[(c[f>>2]|0)+52>>2]=0;a=c[g>>2]|0;m=c[f>>2]|0;m=m+56|0;c[m>>2]=a;i=j;return}function ap(a,b,e,f,g){a=a|0;b=b|0;e=e|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;o=i;i=i+48|0;m=o;j=o+32|0;l=o+28|0;h=o+24|0;p=o+20|0;q=o+16|0;r=o+12|0;n=o+8|0;k=o+4|0;c[l>>2]=a;c[h>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[n>>2]=c[c[l>>2]>>2];if((d[(c[n>>2]|0)+145>>0]|0|0)==0?(d[(c[l>>2]|0)+451>>0]|0|0)==0:0){if(!(c[(c[n>>2]|0)+284>>2]|0)){c[j>>2]=0;a=c[j>>2]|0;i=o;return a|0}c[k>>2]=tb[c[(c[n>>2]|0)+284>>2]&1](c[(c[n>>2]|0)+288>>2]|0,c[h>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[(c[l>>2]|0)+492>>2]|0)|0;if((c[k>>2]|0)!=1){if((c[k>>2]|0)!=0&(c[k>>2]|0)!=2){c[k>>2]=1;bp(c[l>>2]|0)}}else{Se(c[l>>2]|0,14752,m);c[(c[l>>2]|0)+12>>2]=23}c[j>>2]=c[k>>2];a=c[j>>2]|0;i=o;return a|0}c[j>>2]=0;a=c[j>>2]|0;i=o;return a|0}function bp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Se(c[d>>2]|0,14768,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function cp(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;l=i;i=i+144|0;f=l+36|0;n=l+32|0;m=l+16|0;g=l+8|0;h=l+4|0;j=l;k=l+40|0;c[f>>2]=b;c[n>>2]=d;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];if(c[(c[f>>2]|0)+64>>2]|0){i=l;return}c[m>>2]=e;c[g>>2]=yn(c[j>>2]|0,c[n>>2]|0,m)|0;if(!(c[g>>2]|0)){i=l;return}n=(c[f>>2]|0)+18|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;n=k+0|0;e=(c[f>>2]|0)+440|0;m=n+96|0;do{a[n>>0]=a[e>>0]|0;n=n+1|0;e=e+1|0}while((n|0)<(m|0));n=(c[f>>2]|0)+440|0;m=n+96|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(m|0));qf(c[f>>2]|0,c[g>>2]|0,h)|0;Xb(c[j>>2]|0,c[h>>2]|0);Xb(c[j>>2]|0,c[g>>2]|0);n=(c[f>>2]|0)+440|0;e=k+0|0;m=n+96|0;do{a[n>>0]=a[e>>0]|0;n=n+1|0;e=e+1|0}while((n|0)<(m|0));b=(c[f>>2]|0)+18|0;a[b>>0]=(a[b>>0]|0)+ -1<<24>>24;i=l;return}function dp(b){b=b|0;var d=0,f=0,g=0;d=i;i=i+16|0;g=d+4|0;f=d;c[g>>2]=b;c[f>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=Ue(c[g>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)mp(c[f>>2]|0,153)|0;if((c[(c[g>>2]|0)+408>>2]|0)==0?((e[(c[c[g>>2]>>2]|0)+60>>1]|0)&8|0)==0:0)a[(c[g>>2]|0)+23>>0]=1}i=d;return c[f>>2]|0}function ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d+16|0;g=d+12|0;e=d+8|0;j=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=kp(c[f>>2]|0)|0;c[j>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+8>>2];fp(c[h>>2]|0,25,(c[c[(c[(c[j>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]>>2]|0)+1|0,c[e>>2]|0)|0;ip(c[h>>2]|0,52,c[g>>2]|0,1,c[e>>2]|0)|0;lp(c[f>>2]|0,c[e>>2]|0);i=d;return}function fp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=ip(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function gp(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;e=i;i=i+32|0;g=e+16|0;k=e+12|0;h=e+8|0;f=e+4|0;j=e;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=ip(c[g>>2]|0,122,c[k>>2]|0,0,0)|0;bf(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,-1);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[g>>2]>>2]|0)+20>>2]|0))break;Ze(c[g>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=e;return}function hp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|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,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=ip(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;bf(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function ip(b,d,e,f,g){b=b|0;d=d|0;e=e|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;j=i;i=i+32|0;o=j+28|0;k=j+24|0;n=j+20|0;h=j+16|0;p=j+12|0;q=j+8|0;l=j+4|0;m=j;c[k>>2]=b;c[n>>2]=d;c[h>>2]=e;c[p>>2]=f;c[q>>2]=g;c[l>>2]=c[(c[k>>2]|0)+32>>2];if((c[(c[(c[k>>2]|0)+24>>2]|0)+84>>2]|0)<=(c[l>>2]|0)?(jp(c[k>>2]|0,1)|0)!=0:0){c[o>>2]=1;b=c[o>>2]|0;i=j;return b|0}b=(c[k>>2]|0)+32|0;c[b>>2]=(c[b>>2]|0)+1;c[m>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0);a[c[m>>2]>>0]=c[n>>2];a[(c[m>>2]|0)+3>>0]=0;c[(c[m>>2]|0)+4>>2]=c[h>>2];c[(c[m>>2]|0)+8>>2]=c[p>>2];c[(c[m>>2]|0)+12>>2]=c[q>>2];c[(c[m>>2]|0)+16>>2]=0;a[(c[m>>2]|0)+1>>0]=0;c[o>>2]=c[l>>2];b=c[o>>2]|0;i=j;return b|0}function jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+32|0;g=e+16|0;d=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[e+12>>2]=b;c[f>>2]=c[(c[g>>2]|0)+24>>2];if(c[(c[f>>2]|0)+84>>2]|0)b=c[(c[f>>2]|0)+84>>2]<<1;else b=51;c[h>>2]=b;c[d>>2]=Fk(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[h>>2]|0)*20|0,0)|0;if(!(c[d>>2]|0)){a=c[d>>2]|0;a=(a|0)!=0;a=a?0:7;i=e;return a|0}a=((Bk(c[c[f>>2]>>2]|0,c[d>>2]|0)|0)>>>0)/20|0;c[(c[f>>2]|0)+84>>2]=a;c[(c[g>>2]|0)+4>>2]=c[d>>2];a=c[d>>2]|0;a=(a|0)!=0;a=a?0:7;i=e;return a|0}function kp(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+4|0;g=e;c[g>>2]=b;b=c[g>>2]|0;if(!(d[(c[g>>2]|0)+19>>0]|0)){g=b+72|0;b=(c[g>>2]|0)+1|0;c[g>>2]=b;c[f>>2]=b;b=c[f>>2]|0;i=e;return b|0}else{h=b+19|0;b=(a[h>>0]|0)+ -1<<24>>24;a[h>>0]=b;c[f>>2]=c[(c[g>>2]|0)+24+((b&255)<<2)>>2];b=c[f>>2]|0;i=e;return b|0}return 0}function lp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=f;return}if((d[(c[j>>2]|0)+19>>0]|0|0)>=8){i=f;return}c[k>>2]=0;c[g>>2]=(c[j>>2]|0)+116;while(1){if((c[k>>2]|0)>=10){e=8;break}if((c[(c[g>>2]|0)+12>>2]|0)==(c[h>>2]|0)){e=6;break}c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((e|0)==6){a[(c[g>>2]|0)+6>>0]=1;i=f;return}else if((e|0)==8){k=c[h>>2]|0;e=(c[j>>2]|0)+19|0;b=a[e>>0]|0;a[e>>0]=b+1<<24>>24;c[(c[j>>2]|0)+24+((b&255)<<2)>>2]=k;i=f;return}}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=ip(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function np(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;e=i;i=i+32|0;j=e+16|0;h=e+12|0;g=e+8|0;f=e+4|0;k=e;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[k>>2]=Ve(c[c[j>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[f>>2]=c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2]}else c[f>>2]=c[(c[g>>2]|0)+4>>2];a=Re(c[j>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+12|0;d=h+8|0;e=h+4|0;c[d>>2]=a;c[e>>2]=b;if((Mb(c[e>>2]|0)|0)>6?0==(Lb(c[e>>2]|0,15144,7)|0):0){a=c[d>>2]|0;c[f>>2]=c[e>>2];Se(a,15152,f);c[g>>2]=1;a=c[g>>2]|0;i=h;return a|0}c[g>>2]=0;a=c[g>>2]|0;i=h;return a|0}function pp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;h=g+8|0;k=g+4|0;j=g;c[l>>2]=b;c[h>>2]=e;c[k>>2]=f;f=c[l>>2]|0;if(c[(c[l>>2]|0)+408>>2]|0)f=c[f+408>>2]|0;c[j>>2]=f;qp(c[l>>2]|0,c[k>>2]|0);b=(c[j>>2]|0)+328|0;c[b>>2]=c[b>>2]|1<>2];b=(c[j>>2]|0)+20|0;a[b>>0]=d[b>>0]|0|c[h>>2];i=g;return}function qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;f=d+8|0;e=d+4|0;g=d;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];if((c[(c[e>>2]|0)+332>>2]&1<>2]|0)!=0|0){i=d;return}h=(c[e>>2]|0)+332|0;c[h>>2]=c[h>>2]|1<>2];c[(c[e>>2]|0)+336+(c[f>>2]<<2)>>2]=c[c[(c[(c[g>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2];if((c[f>>2]|0)!=1){i=d;return}rp(c[e>>2]|0)|0;i=d;return}function rp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;h=d;e=d+20|0;f=d+16|0;j=d+12|0;g=d+8|0;k=d+4|0;c[f>>2]=b;c[j>>2]=c[c[f>>2]>>2];if((c[(c[(c[j>>2]|0)+16>>2]|0)+20>>2]|0)==0?(a[(c[f>>2]|0)+450>>0]|0)==0:0){c[g>>2]=rh(c[c[j>>2]>>2]|0,0,c[j>>2]|0,k,0,542)|0;if(c[g>>2]|0){Se(c[f>>2]|0,15072,h);c[(c[f>>2]|0)+12>>2]=c[g>>2];c[e>>2]=1;k=c[e>>2]|0;i=d;return k|0}c[(c[(c[j>>2]|0)+16>>2]|0)+20>>2]=c[k>>2];if(7==(kg(c[k>>2]|0,c[(c[j>>2]|0)+72>>2]|0,-1,0)|0)){a[(c[j>>2]|0)+64>>0]=1;c[e>>2]=1;k=c[e>>2]|0;i=d;return k|0}}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}function sp(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,l=0,m=0;k=i;i=i+32|0;h=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;m=k+4|0;j=k;c[h>>2]=a;c[e>>2]=b;c[l>>2]=d;c[g>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){f=7;break}a=c[m>>2]|0;c[j>>2]=(c[m>>2]|0)<2?a^1:a;if(!((c[l>>2]|0)!=0?(xc(c[l>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))f=5;if((f|0)==5?(f=0,c[g>>2]=bh((c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[e>>2]|0)|0,(c[g>>2]|0)!=0):0){f=7;break}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==7){i=k;return c[g>>2]|0}return 0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;b=Ap(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return b|0}function up(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,l=0,m=0;j=i;i=i+32|0;f=j+24|0;k=j+20|0;l=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;m=j;c[f>>2]=a;c[k>>2]=b;c[l>>2]=d;c[e>>2]=dp(c[f>>2]|0)|0;if(!(c[e>>2]|0)){i=j;return}c[g>>2]=kp(c[f>>2]|0)|0;c[h>>2]=kp(c[f>>2]|0)|0;ip(c[e>>2]|0,51,c[k>>2]|0,c[g>>2]|0,2)|0;Ze(c[e>>2]|0,c[k>>2]|0);fp(c[e>>2]|0,25,c[l>>2]|0,c[h>>2]|0)|0;c[m>>2]=ip(c[e>>2]|0,83,c[h>>2]|0,0,c[g>>2]|0)|0;Xe(c[e>>2]|0,-112);ip(c[e>>2]|0,52,c[k>>2]|0,2,c[h>>2]|0)|0;zp(c[e>>2]|0,c[m>>2]|0);lp(c[f>>2]|0,c[g>>2]|0);lp(c[f>>2]|0,c[h>>2]|0);i=j;return}function vp(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,l=0,m=0,n=0,o=0;k=i;i=i+48|0;l=k;j=k+32|0;h=k+28|0;e=k+24|0;f=k+20|0;m=k+16|0;g=k+12|0;n=k+8|0;o=k+4|0;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=dp(c[j>>2]|0)|0;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=Ve(c[c[j>>2]>>2]|0,c[(c[h>>2]|0)+68>>2]|0)|0;c[n>>2]=wp(c[j>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;c[o>>2]=Ve(c[c[j>>2]>>2]|0,c[(c[n>>2]|0)+20>>2]|0)|0;hp(c[f>>2]|0,126,c[o>>2]|0,0,0,c[c[n>>2]>>2]|0,0)|0;c[n>>2]=c[(c[n>>2]|0)+32>>2]}hp(c[f>>2]|0,124,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;a=c[c[j>>2]>>2]|0;c[l>>2]=c[e>>2];c[m>>2]=Te(a,15528,l)|0;if(!(c[m>>2]|0)){i=k;return}gp(c[f>>2]|0,c[g>>2]|0,c[m>>2]|0);a=xp(c[j>>2]|0,c[h>>2]|0)|0;c[m>>2]=a;if(!a){i=k;return}gp(c[f>>2]|0,1,c[m>>2]|0);i=k;return}function wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;e=f+24|0;m=f+20|0;k=f+16|0;l=f+12|0;h=f+8|0;j=f+4|0;g=f;c[m>>2]=b;c[k>>2]=d;c[l>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+28>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+438>>0]|0){c[e>>2]=0;m=c[e>>2]|0;i=f;return m|0}a:do if((c[l>>2]|0)!=(c[(c[k>>2]|0)+68>>2]|0)){c[j>>2]=c[(c[l>>2]|0)+48>>2];while(1){if(!(c[j>>2]|0))break a;c[g>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[g>>2]|0)+24>>2]|0)==(c[(c[k>>2]|0)+68>>2]|0)?0==(xc(c[(c[g>>2]|0)+4>>2]|0,c[c[k>>2]>>2]|0)|0):0){if(c[h>>2]|0)d=c[h>>2]|0;else d=c[(c[k>>2]|0)+64>>2]|0;c[(c[g>>2]|0)+32>>2]=d;c[h>>2]=c[g>>2]}c[j>>2]=c[c[j>>2]>>2]}}while(0);if(c[h>>2]|0)g=c[h>>2]|0;else g=c[(c[k>>2]|0)+64>>2]|0;c[e>>2]=g;m=c[e>>2]|0;i=f;return m|0}function xp(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;e=i;i=i+32|0;g=e;f=e+28|0;m=e+24|0;k=e+20|0;h=e+16|0;l=e+12|0;j=e+8|0;d=e+4|0;c[f>>2]=a;c[m>>2]=b;c[h>>2]=0;c[l>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+28>>2];a:do if((c[(c[m>>2]|0)+68>>2]|0)!=(c[l>>2]|0)){c[j>>2]=c[c[f>>2]>>2];c[k>>2]=wp(c[f>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[k>>2]|0))break a;if((c[(c[k>>2]|0)+20>>2]|0)==(c[l>>2]|0))c[h>>2]=yp(c[j>>2]|0,c[h>>2]|0,c[c[k>>2]>>2]|0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}}while(0);if(!(c[h>>2]|0)){a=c[h>>2]|0;i=e;return a|0}a=c[c[f>>2]>>2]|0;c[g>>2]=c[h>>2];c[d>>2]=Te(a,15544,g)|0;Xb(c[c[f>>2]>>2]|0,c[h>>2]|0);c[h>>2]=c[d>>2];a=c[h>>2]|0;i=e;return a|0}function yp(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;e=i;i=i+32|0;j=e;h=e+20|0;g=e+16|0;k=e+12|0;f=e+8|0;c[h>>2]=a;c[g>>2]=b;c[k>>2]=d;d=c[h>>2]|0;if(c[g>>2]|0){a=c[k>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=a;c[f>>2]=Te(d,15576,j)|0;Xb(c[h>>2]|0,c[g>>2]|0);a=c[f>>2]|0;i=e;return a|0}else{c[j>>2]=c[k>>2];c[f>>2]=Te(d,15568,j)|0;a=c[f>>2]|0;i=e;return a|0}return 0}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;$e(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);c[(c[(c[e>>2]|0)+24>>2]|0)+88>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;i=d;return}function Ap(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,E=0;r=i;i=i+64|0;C=r;n=r+52|0;u=r+48|0;y=r+44|0;t=r+58|0;s=r+57|0;o=r+40|0;x=r+36|0;z=r+32|0;v=r+28|0;q=r+24|0;w=r+20|0;B=r+16|0;p=r+12|0;A=r+56|0;E=r+8|0;c[u>>2]=f;c[y>>2]=g;a[t>>0]=j;a[s>>0]=k;c[o>>2]=l;c[x>>2]=m;c[v>>2]=0;c[q>>2]=0;c[w>>2]=1;c[B>>2]=1216;c[p>>2]=0;if(!(c[y>>2]|0)){c[c[o>>2]>>2]=0;c[n>>2]=0;f=c[n>>2]|0;i=r;return f|0}while(1){f=d[c[y>>2]>>0]|0;c[z>>2]=f;if((f|0)!=158)break;c[y>>2]=c[(c[y>>2]|0)+12>>2]}if((c[z>>2]|0)==159)c[z>>2]=d[(c[y>>2]|0)+38>>0];if((c[z>>2]|0)==38){a[A>>0]=Bp(c[(c[y>>2]|0)+8>>2]|0,0)|0;c[p>>2]=Ap(c[u>>2]|0,c[(c[y>>2]|0)+12>>2]|0,a[t>>0]|0,a[A>>0]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[c[o>>2]>>2]|0){Cp(c[c[o>>2]>>2]|0,a[A>>0]|0,1);Dp(c[c[o>>2]>>2]|0,a[s>>0]|0,1)}c[n>>2]=c[p>>2];f=c[n>>2]|0;i=r;return f|0}do if((c[z>>2]|0)==157){if((d[c[(c[y>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[y>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[y>>2]=c[(c[y>>2]|0)+12>>2];c[z>>2]=d[c[y>>2]>>0];c[w>>2]=-1;c[B>>2]=15592}while(0);do if((c[z>>2]|0)==97|(c[z>>2]|0)==133|(c[z>>2]|0)==132){c[q>>2]=Ep(c[u>>2]|0,c[x>>2]|0)|0;if(c[q>>2]|0){if(c[(c[y>>2]|0)+4>>2]&1024){g=c[q>>2]|0;j=c[(c[y>>2]|0)+8>>2]|0;f=c[w>>2]|0;f=lF(j|0,((j|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;Xd(g,f,D)}else{f=c[u>>2]|0;g=c[(c[y>>2]|0)+8>>2]|0;c[C>>2]=c[B>>2];c[C+4>>2]=g;c[v>>2]=Te(f,8992,C)|0;if(!(c[v>>2]|0)){s=43;break}sf(c[q>>2]|0,-1,c[v>>2]|0,1,16)}if((c[z>>2]|0)==132|(c[z>>2]|0)==133?(d[s>>0]|0|0)==65:0)Dp(c[q>>2]|0,67,1);else Dp(c[q>>2]|0,a[s>>0]|0,1);if((e[(c[q>>2]|0)+8>>1]|0)&12){f=(c[q>>2]|0)+8|0;b[f>>1]=(e[f>>1]|0)&-3}if((d[t>>0]|0|0)!=1){c[p>>2]=yk(c[q>>2]|0,d[t>>0]|0)|0;s=42}else s=42}else s=43}else{if((c[z>>2]|0)!=157){if((c[z>>2]|0)==101){c[q>>2]=Ep(c[u>>2]|0,c[x>>2]|0)|0;if(!(c[q>>2]|0)){s=43;break}else{s=42;break}}if((c[z>>2]|0)!=134){s=42;break}c[q>>2]=Ep(c[u>>2]|0,c[x>>2]|0)|0;if(!(c[q>>2]|0)){s=43;break}c[v>>2]=(c[(c[y>>2]|0)+8>>2]|0)+2;c[E>>2]=(Mb(c[v>>2]|0)|0)-1;f=c[q>>2]|0;s=Gp(c[u>>2]|0,c[v>>2]|0,c[E>>2]|0)|0;Vd(f,s,(c[E>>2]|0)/2|0,0,16)|0;s=42;break}f=0==(tp(c[u>>2]|0,c[(c[y>>2]|0)+12>>2]|0,a[t>>0]|0,a[s>>0]|0,q)|0);if(f&(c[q>>2]|0)!=0){Fp(c[q>>2]|0)|0;u=c[q>>2]|0;do if(!((e[(c[q>>2]|0)+8>>1]|0)&8)){f=u;u=c[q>>2]|0;if((c[f>>2]|0)==0?(c[f+4>>2]|0)==-2147483648:0){h[u>>3]=9223372036854776000.0;b[(c[q>>2]|0)+8>>1]=(e[(c[q>>2]|0)+8>>1]|0)&-16896|8;break}else{g=u;g=ZE(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;f=c[q>>2]|0;c[f>>2]=g;c[f+4>>2]=D;break}}else h[c[q>>2]>>3]=-+h[u>>3];while(0);Dp(c[q>>2]|0,a[s>>0]|0,a[t>>0]|0);s=42}else s=42}while(0);if((s|0)==42){c[c[o>>2]>>2]=c[q>>2];c[n>>2]=c[p>>2];f=c[n>>2]|0;i=r;return f|0}else if((s|0)==43){a[(c[u>>2]|0)+64>>0]=1;Xb(c[u>>2]|0,c[v>>2]|0);tf(c[q>>2]|0);c[n>>2]=7;f=c[n>>2]|0;i=r;return f|0}return 0}function Bp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+21|0;o=l+16|0;k=l+12|0;n=l+8|0;j=l+20|0;m=l+4|0;f=l;c[o>>2]=b;c[k>>2]=e;c[n>>2]=0;a[j>>0]=67;c[m>>2]=0;if(!(c[o>>2]|0)){a[h>>0]=a[j>>0]|0;b=a[h>>0]|0;i=l;return b|0}a:while(1){if(!(a[c[o>>2]>>0]|0))break;c[n>>2]=(c[n>>2]<<8)+(d[440+(a[c[o>>2]>>0]&255)>>0]|0);c[o>>2]=(c[o>>2]|0)+1;if((c[n>>2]|0)==1667785074){a[j>>0]=66;c[m>>2]=c[o>>2];continue}if((c[n>>2]|0)==1668050786){a[j>>0]=66;continue}if((c[n>>2]|0)==1952807028){a[j>>0]=66;continue}do if((c[n>>2]|0)==1651273570){if((a[j>>0]|0)!=67?(a[j>>0]|0)!=69:0)break;a[j>>0]=65;if((a[c[o>>2]>>0]|0)!=40)continue a;c[m>>2]=c[o>>2];continue a}while(0);if((c[n>>2]|0)==1919246700?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[n>>2]|0)==1718382433?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[n>>2]|0)==1685026146?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[n>>2]&16777215|0)==6909556){g=25;break}}if((g|0)==25)a[j>>0]=68;b:do if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]=1,(a[j>>0]|0)<67):0){if(!(c[m>>2]|0)){a[c[k>>2]>>0]=5;break}while(1){if(!(a[c[m>>2]>>0]|0))break b;if(d[1224+(d[c[m>>2]>>0]|0)>>0]&4)break;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=0;Ag(c[m>>2]|0,f)|0;b=((c[f>>2]|0)/4|0)+1|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)>255?255:b;a[c[k>>2]>>0]=c[f>>2]}while(0);a[h>>0]=a[j>>0]|0;b=a[h>>0]|0;i=l;return b|0}function Cp(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+16|0;l=j;m=j+5|0;k=j+4|0;c[l>>2]=f;a[m>>0]=g;a[k>>0]=h;if((e[(c[l>>2]|0)+8>>1]|0)&1){i=j;return}h=d[m>>0]|0;if((h|0)==65){h=c[l>>2]|0;if(!((e[(c[l>>2]|0)+8>>1]|0)&16)){Dp(h,66,a[k>>0]|0);b[(c[l>>2]|0)+8>>1]=(e[(c[l>>2]|0)+8>>1]|0)&-16896|16;i=j;return}else{f=h+8|0;b[f>>1]=(e[f>>1]|0)&-496;i=j;return}}else if((h|0)==67){Fp(c[l>>2]|0)|0;i=j;return}else if((h|0)==68){Mp(c[l>>2]|0)|0;i=j;return}else if((h|0)==69){Np(c[l>>2]|0)|0;i=j;return}else{f=(c[l>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[l>>2]|0)+8>>1]|0)&16)>>3;Dp(c[l>>2]|0,66,a[k>>0]|0);f=(c[l>>2]|0)+8|0;b[f>>1]=(e[f>>1]|0)&-16413;i=j;return}}function Dp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;Jp(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;a=rf(c[e>>2]|0)|0;i=d;return a|0}function Fp(d){d=d|0;var f=0,g=0,j=0,k=0.0;f=i;i=i+16|0;g=f;c[g>>2]=d;do if(!((e[(c[g>>2]|0)+8>>1]|0)&13)){j=0==(wg(c[(c[g>>2]|0)+16>>2]|0,c[g>>2]|0,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0);d=c[g>>2]|0;if(j){b[(c[g>>2]|0)+8>>1]=(e[d+8>>1]|0)&-16896|4;break}else{k=+Id(d);h[c[g>>2]>>3]=k;b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-16896|8;Hp(c[g>>2]|0);break}}while(0);j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=f;return 0}function Gp(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;f=i;i=i+32|0;l=f+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;b=((c[j>>2]|0)/2|0)+1|0;c[g>>2]=Qe(c[l>>2]|0,b,((b|0)<0)<<31>>31)|0;c[j>>2]=(c[j>>2]|0)+ -1;if(!(c[g>>2]|0)){l=c[g>>2]|0;i=f;return l|0}c[h>>2]=0;while(1){e=c[h>>2]|0;if((c[h>>2]|0)>=(c[j>>2]|0))break;l=((vg(a[(c[k>>2]|0)+e>>0]|0)|0)&255)<<4;l=(l|(vg(a[(c[k>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[g>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[g>>2]|0)+((e|0)/2|0)>>0]=0;l=c[g>>2]|0;i=f;return l|0}function Hp(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;d=i;i=i+16|0;g=d+8|0;f=d;c[g>>2]=a;k=Ip(+h[c[g>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=D;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[g>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=d;return}k=f;l=c[k+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-16896|4;i=d;return}function Ip(a){a=+a;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b;h[e>>3]=a;do if(!(+h[e>>3]<=-9223372036854776000.0))if(+h[e>>3]>=9223372036854776000.0){e=d;c[e>>2]=-1;c[e+4>>2]=2147483647;break}else{a=+h[e>>3];f=+O(a)>=1.0?a>0.0?(ca(+N(a/4294967296.0),4294967295.0)|0)>>>0:~~+_((a- +(~~a>>>0))/4294967296.0)>>>0:0;e=d;c[e>>2]=~~a>>>0;c[e+4>>2]=f;break}else{f=d;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=d;D=c[f+4>>2]|0;i=b;return c[f>>2]|0}function Jp(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;k=g+5|0;j=g+4|0;c[h>>2]=b;a[k>>0]=d;a[j>>0]=f;if((a[k>>0]|0)<67){if((a[k>>0]|0)!=66){i=g;return}if(e[(c[h>>2]|0)+8>>1]&2){i=g;return}if(!(e[(c[h>>2]|0)+8>>1]&12)){i=g;return}Kp(c[h>>2]|0,a[j>>0]|0,1)|0;i=g;return}if(e[(c[h>>2]|0)+8>>1]&4){i=g;return}f=c[h>>2]|0;if(e[(c[h>>2]|0)+8>>1]&8){Hp(f);i=g;return}if(!(e[f+8>>1]&2)){i=g;return}Pe(c[h>>2]|0,1);i=g;return}function Kp(f,g,j){f=f|0;g=g|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;l=q;m=q+20|0;n=q+16|0;o=q+25|0;p=q+24|0;r=q+12|0;c[n>>2]=f;a[o>>0]=g;a[p>>0]=j;c[r>>2]=e[(c[n>>2]|0)+8>>1];c[q+8>>2]=32;if(Lp(c[n>>2]|0,32)|0){c[m>>2]=7;f=c[m>>2]|0;i=q;return f|0}j=c[(c[n>>2]|0)+16>>2]|0;g=c[n>>2]|0;if(c[r>>2]&4){r=g;g=c[r+4>>2]|0;f=l;c[f>>2]=c[r>>2];c[f+4>>2]=g;sc(32,j,9456,l)|0}else{h[k>>3]=+h[g>>3];c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];sc(32,j,9808,l)|0}f=Mb(c[(c[n>>2]|0)+16>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=f;a[(c[n>>2]|0)+10>>0]=1;f=(c[n>>2]|0)+8|0;b[f>>1]=e[f>>1]|514;if(a[p>>0]|0){f=(c[n>>2]|0)+8|0;b[f>>1]=e[f>>1]&-13}yk(c[n>>2]|0,d[o>>0]|0)|0;c[m>>2]=0;f=c[m>>2]|0;i=q;return f|0}function Lp(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[j>>2]=a;c[h>>2]=d;d=c[j>>2]|0;if((c[(c[j>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[g>>2]=Dk(d,c[h>>2]|0,0)|0;a=c[g>>2]|0;i=f;return a|0}else{c[(c[j>>2]|0)+16>>2]=c[d+20>>2];a=(c[j>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&13;c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}return 0}function Mp(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=Kd(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=D;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|4;i=d;return 0}function Np(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+Id(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|8;i=d;return 0}function Op(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,l=0,m=0,n=0;l=i;i=i+32|0;e=l+24|0;j=l+20|0;k=l+16|0;g=l+12|0;n=l+8|0;m=l+4|0;h=l;c[e>>2]=a;c[j>>2]=b;c[k>>2]=d;c[g>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){f=7;break}a=c[n>>2]|0;c[m>>2]=(c[n>>2]|0)<2?a^1:a;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];if(!((c[k>>2]|0)!=0?(xc(c[k>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)!=0:0))f=5;if((f|0)==5?(f=0,c[g>>2]=bh((c[h>>2]|0)+24|0,c[j>>2]|0)|0,(c[g>>2]|0)!=0):0){f=7;break}c[n>>2]=(c[n>>2]|0)+1}if((f|0)==7){i=l;return c[g>>2]|0}return 0}function Pp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k;j=k+12|0;f=k+8|0;g=k+4|0;c[f>>2]=b;c[g>>2]=e;if((((a[(c[c[f>>2]>>2]|0)+145>>0]|0)==0?(d[(c[f>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[f>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Lb(c[g>>2]|0,15144,7)|0):0){b=c[f>>2]|0;c[h>>2]=c[g>>2];Se(b,18064,h);c[j>>2]=1;b=c[j>>2]|0;i=k;return b|0}c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}function Qp(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;o=i;i=i+48|0;m=o;j=o+36|0;k=o+32|0;l=o+28|0;s=o+24|0;q=o+20|0;t=o+16|0;p=o+12|0;n=o+8|0;r=o+4|0;h=o+40|0;c[k>>2]=f;c[l>>2]=g;c[t>>2]=0;c[n>>2]=c[c[k>>2]>>2];if(Vp(c[k>>2]|0,c[l>>2]|0)|0){c[j>>2]=1;f=c[j>>2]|0;i=o;return f|0}if(d[(c[l>>2]|0)+44>>0]&16){c[j>>2]=0;f=c[j>>2]|0;i=o;return f|0}if((b[(c[l>>2]|0)+38>>1]|0)>0){c[j>>2]=0;f=c[j>>2]|0;i=o;return f|0}if((b[(c[l>>2]|0)+38>>1]|0)<0){f=c[k>>2]|0;c[m>>2]=c[c[l>>2]>>2];Se(f,16328,m);c[j>>2]=1;f=c[j>>2]|0;i=o;return f|0}c[q>>2]=Wp(c[n>>2]|0,c[(c[l>>2]|0)+12>>2]|0,0)|0;if(c[q>>2]|0){a[h>>0]=a[(c[n>>2]|0)+250>>0]|0;c[p>>2]=c[(c[k>>2]|0)+68>>2];Xp(c[k>>2]|0,c[(c[q>>2]|0)+32>>2]|0);b[(c[l>>2]|0)+38>>1]=-1;a[(c[n>>2]|0)+250>>0]=0;c[r>>2]=c[(c[n>>2]|0)+284>>2];c[(c[n>>2]|0)+284>>2]=0;c[s>>2]=Yp(c[k>>2]|0,c[q>>2]|0)|0;c[(c[n>>2]|0)+284>>2]=c[r>>2];a[(c[n>>2]|0)+250>>0]=a[h>>0]|0;c[(c[k>>2]|0)+68>>2]=c[p>>2];if(c[s>>2]|0){b[(c[l>>2]|0)+38>>1]=b[(c[s>>2]|0)+38>>1]|0;c[(c[l>>2]|0)+4>>2]=c[(c[s>>2]|0)+4>>2];b[(c[s>>2]|0)+38>>1]=0;c[(c[s>>2]|0)+4>>2]=0;Vb(c[n>>2]|0,c[s>>2]|0);f=(c[(c[l>>2]|0)+68>>2]|0)+78|0;b[f>>1]=e[f>>1]|2}else{b[(c[l>>2]|0)+38>>1]=0;c[t>>2]=(c[t>>2]|0)+1}tn(c[n>>2]|0,c[q>>2]|0)}else c[t>>2]=(c[t>>2]|0)+1;c[j>>2]=c[t>>2];f=c[j>>2]|0;i=o;return f|0}function Rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];while(1){if(!(c[e>>2]|0)){b=5;break}if((c[c[e>>2]>>2]|0)==(c[f>>2]|0)){b=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((b|0)==5){i=d;return c[e>>2]|0}return 0}function Sp(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[e>>2]=b;a[(c[e>>2]|0)+21>>0]=1;i=d;return}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;h=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[h>>2]=b;c[e>>2]=0;c[f>>2]=Up(c[h>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[e>>2]=yp(c[c[g>>2]>>2]|0,c[e>>2]|0,c[c[c[f>>2]>>2]>>2]|0)|0;c[f>>2]=c[(c[f>>2]|0)+12>>2]}i=d;return c[e>>2]|0}function Up(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bh((c[(c[d>>2]|0)+68>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Vp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;m=p;o=p+36|0;l=p+32|0;g=p+28|0;f=p+24|0;n=p+20|0;h=p+16|0;j=p+12|0;e=p+8|0;k=p+4|0;c[l>>2]=a;c[g>>2]=b;c[f>>2]=c[c[l>>2]>>2];if(((d[(c[g>>2]|0)+44>>0]|0)&16|0)!=0?(Rp(c[f>>2]|0,c[g>>2]|0)|0)==0:0){c[n>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[h>>2]=bh((c[f>>2]|0)+308|0,c[n>>2]|0)|0;if(c[h>>2]|0){c[k>>2]=0;c[j>>2]=zr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+8>>2]|0,k)|0;if(c[j>>2]|0){a=c[l>>2]|0;c[m>>2]=c[k>>2];Se(a,1200,m)}Xb(c[f>>2]|0,c[k>>2]|0)}else{c[e>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];a=c[l>>2]|0;c[m>>2]=c[e>>2];Se(a,17944,m);c[j>>2]=1}c[o>>2]=c[j>>2];a=c[o>>2]|0;i=p;return a|0}c[o>>2]=0;a=c[o>>2]|0;i=p;return a|0}function Wp(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;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[j>>2]=0;d=c[j>>2]|0;i=h;return d|0}c[n>>2]=Qe(c[k>>2]|0,72,0)|0;if(!(c[n>>2]|0)){c[j>>2]=0;d=c[j>>2]|0;i=h;return d|0}d=Jq(c[k>>2]|0,c[c[l>>2]>>2]|0,c[m>>2]|0)|0;c[c[n>>2]>>2]=d;d=wr(c[k>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=d;d=Bq(c[k>>2]|0,c[(c[l>>2]|0)+36>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+36>>2]=d;d=Jq(c[k>>2]|0,c[(c[l>>2]|0)+40>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+40>>2]=d;d=Bq(c[k>>2]|0,c[(c[l>>2]|0)+44>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=d;d=Jq(c[k>>2]|0,c[(c[l>>2]|0)+48>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+48>>2]=d;a[(c[n>>2]|0)+4>>0]=a[(c[l>>2]|0)+4>>0]|0;d=Wp(c[k>>2]|0,c[(c[l>>2]|0)+52>>2]|0,c[m>>2]|0)|0;c[o>>2]=d;c[(c[n>>2]|0)+52>>2]=d;if(c[o>>2]|0)c[(c[o>>2]|0)+56>>2]=c[n>>2];c[(c[n>>2]|0)+56>>2]=0;o=Bq(c[k>>2]|0,c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+60>>2]=o;o=Bq(c[k>>2]|0,c[(c[l>>2]|0)+64>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+64>>2]=o;c[(c[n>>2]|0)+8>>2]=0;c[(c[n>>2]|0)+12>>2]=0;b[(c[n>>2]|0)+6>>1]=(e[(c[l>>2]|0)+6>>1]|0)&-9;c[(c[n>>2]|0)+16>>2]=-1;c[(c[n>>2]|0)+20>>2]=-1;o=(c[l>>2]|0)+24|0;f=c[o+4>>2]|0;d=(c[n>>2]|0)+24|0;c[d>>2]=c[o>>2];c[d+4>>2]=f;d=xr(c[k>>2]|0,c[(c[l>>2]|0)+68>>2]|0)|0;c[(c[n>>2]|0)+68>>2]=d;c[j>>2]=c[n>>2];d=c[j>>2]|0;i=h;return d|0}function Xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;h=d+8|0;g=d+4|0;f=d;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=d;return}c[g>>2]=0;c[f>>2]=(c[h>>2]|0)+8;while(1){if((c[g>>2]|0)>=(c[c[h>>2]>>2]|0)){b=8;break}if((c[(c[f>>2]|0)+40>>2]|0)>=0){b=8;break}b=(c[e>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[f>>2]|0)+40>>2]=a;if(c[(c[f>>2]|0)+20>>2]|0)Xp(c[e>>2]|0,c[(c[(c[f>>2]|0)+20>>2]|0)+32>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}if((b|0)==8){i=d;return}}function Yp(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;j=f+16|0;k=f+12|0;h=f+8|0;l=f+4|0;m=f;c[j>>2]=d;c[k>>2]=e;c[l>>2]=c[c[j>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+24>>2];d=(c[l>>2]|0)+24|0;c[d>>2]=c[d>>2]&-33;d=(c[l>>2]|0)+24|0;c[d>>2]=c[d>>2]|64;Zp(c[j>>2]|0,c[k>>2]|0,0);if(c[(c[j>>2]|0)+64>>2]|0){c[g>>2]=0;d=c[g>>2]|0;i=f;return d|0}while(1){if(!(c[(c[k>>2]|0)+52>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+52>>2]}c[(c[l>>2]|0)+24>>2]=c[m>>2];c[h>>2]=se(c[l>>2]|0,76,0)|0;if(!(c[h>>2]|0)){c[g>>2]=0;d=c[g>>2]|0;i=f;return d|0}b[(c[h>>2]|0)+40>>1]=1;c[c[h>>2]>>2]=0;b[(c[h>>2]|0)+28>>1]=200;_p(c[j>>2]|0,c[c[k>>2]>>2]|0,(c[h>>2]|0)+38|0,(c[h>>2]|0)+4|0)|0;$p(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0);b[(c[h>>2]|0)+36>>1]=-1;if(a[(c[l>>2]|0)+64>>0]|0){Vb(c[l>>2]|0,c[h>>2]|0);c[g>>2]=0;d=c[g>>2]|0;i=f;return d|0}else{c[g>>2]=c[h>>2];d=c[g>>2]|0;i=f;return d|0}return 0}function Zp(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;if(!(c[k>>2]|0)){i=h;return}c[m>>2]=c[c[j>>2]>>2];if(a[(c[m>>2]|0)+64>>0]|0){i=h;return}if(e[(c[k>>2]|0)+6>>1]&32){i=h;return}jq(c[j>>2]|0,c[k>>2]|0);if(c[(c[j>>2]|0)+64>>2]|0){i=h;return}if(d[(c[m>>2]|0)+64>>0]|0){i=h;return}kq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);if(c[(c[j>>2]|0)+64>>2]|0){i=h;return}if(d[(c[m>>2]|0)+64>>0]|0){i=h;return}lq(c[j>>2]|0,c[k>>2]|0);i=h;return}function _p(e,f,g,h){e=e|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,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;j=i;i=i+96|0;v=j;q=j+84|0;F=j+80|0;z=j+76|0;m=j+72|0;l=j+68|0;n=j+64|0;p=j+60|0;o=j+56|0;u=j+52|0;k=j+48|0;C=j+44|0;B=j+40|0;A=j+36|0;s=j+32|0;t=j+28|0;r=j+24|0;w=j+20|0;x=j+16|0;E=j+12|0;D=j+8|0;c[F>>2]=e;c[z>>2]=f;c[m>>2]=g;c[l>>2]=h;c[n>>2]=c[c[F>>2]>>2];if(c[z>>2]|0){c[B>>2]=c[c[z>>2]>>2];c[k>>2]=se(c[n>>2]|0,(c[B>>2]|0)*24|0,0)|0}else{c[B>>2]=0;c[k>>2]=0}b[c[m>>2]>>1]=c[B>>2];c[c[l>>2]>>2]=c[k>>2];c[p>>2]=0;c[C>>2]=c[k>>2];while(1){if((c[p>>2]|0)>=(c[B>>2]|0))break;c[A>>2]=iq(c[(c[(c[z>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;F=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+4>>2]|0;c[s>>2]=F;do if(!F){c[r>>2]=c[A>>2];while(1){h=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[h+16>>2]}if((d[h>>0]|0)==154?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[x>>2]=b[(c[r>>2]|0)+32>>1];c[w>>2]=c[(c[r>>2]|0)+44>>2];if((c[x>>2]|0)<0)c[x>>2]=b[(c[w>>2]|0)+36>>1];h=c[n>>2]|0;if((c[x>>2]|0)>=0)g=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[x>>2]|0)*24|0)>>2]|0;else g=9992;c[v>>2]=g;c[s>>2]=Te(h,1200,v)|0;break}h=c[n>>2]|0;if((d[c[r>>2]>>0]|0)==27){c[v>>2]=c[(c[r>>2]|0)+8>>2];c[s>>2]=Te(h,1200,v)|0;break}else{c[v>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+8>>2];c[s>>2]=Te(h,1200,v)|0;break}}else c[s>>2]=ne(c[n>>2]|0,c[s>>2]|0)|0;while(0);if(a[(c[n>>2]|0)+64>>0]|0){y=22;break}c[t>>2]=Mb(c[s>>2]|0)|0;c[u>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break;if(!(xc(c[(c[k>>2]|0)+((c[o>>2]|0)*24|0)>>2]|0,c[s>>2]|0)|0)){c[D>>2]=(c[t>>2]|0)-1;while(1){if((c[D>>2]|0)<=1)break;if(!(d[1224+(d[(c[s>>2]|0)+(c[D>>2]|0)>>0]|0)>>0]&4))break;c[D>>2]=(c[D>>2]|0)+ -1}if((c[D>>2]|0)>=0?(a[(c[s>>2]|0)+(c[D>>2]|0)>>0]|0)==58:0)c[t>>2]=c[D>>2];a[(c[s>>2]|0)+(c[t>>2]|0)>>0]=0;F=c[n>>2]|0;f=c[s>>2]|0;e=(c[u>>2]|0)+1|0;c[u>>2]=e;c[v>>2]=f;c[v+4>>2]=e;c[E>>2]=Te(F,16424,v)|0;Xb(c[n>>2]|0,c[s>>2]|0);c[s>>2]=c[E>>2];c[o>>2]=-1;if(!(c[s>>2]|0))break}c[o>>2]=(c[o>>2]|0)+1}c[c[C>>2]>>2]=c[s>>2];c[p>>2]=(c[p>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+24}if((y|0)==22)Xb(c[n>>2]|0,c[s>>2]|0);if(!(a[(c[n>>2]|0)+64>>0]|0)){c[q>>2]=0;F=c[q>>2]|0;i=j;return F|0}c[o>>2]=0;while(1){r=c[n>>2]|0;if((c[o>>2]|0)>=(c[p>>2]|0))break;Xb(r,c[(c[k>>2]|0)+((c[o>>2]|0)*24|0)>>2]|0);c[o>>2]=(c[o>>2]|0)+1}Xb(r,c[k>>2]|0);c[c[l>>2]>>2]=0;b[c[m>>2]>>1]=0;c[q>>2]=7;F=c[q>>2]|0;i=j;return F|0}function $p(e,f,g){e=e|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;o=i;i=i+80|0;l=o+76|0;k=o+72|0;t=o+68|0;r=o+64|0;s=o+32|0;h=o+24|0;n=o+20|0;q=o+16|0;m=o+12|0;p=o+8|0;j=o;c[l>>2]=e;c[k>>2]=f;c[t>>2]=g;c[r>>2]=c[c[l>>2]>>2];e=j;c[e>>2]=0;c[e+4>>2]=0;if(a[(c[r>>2]|0)+64>>0]|0){i=o;return}c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[s+28>>2]=0;c[s+4>>2]=c[(c[t>>2]|0)+32>>2];c[p>>2]=c[(c[c[t>>2]>>2]|0)+4>>2];c[q>>2]=0;c[h>>2]=c[(c[k>>2]|0)+4>>2];while(1){if((c[q>>2]|0)>=(b[(c[k>>2]|0)+38>>1]|0))break;c[m>>2]=c[(c[p>>2]|0)+((c[q>>2]|0)*20|0)>>2];f=c[r>>2]|0;f=ne(f,aq(s,c[m>>2]|0,(c[h>>2]|0)+22|0)|0)|0;c[(c[h>>2]|0)+12>>2]=f;f=j;f=bF(c[f>>2]|0,c[f+4>>2]|0,d[(c[h>>2]|0)+22>>0]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=D;e=bq(c[m>>2]|0)|0;a[(c[h>>2]|0)+21>>0]=e;if(!(a[(c[h>>2]|0)+21>>0]|0))a[(c[h>>2]|0)+21>>0]=65;c[n>>2]=cq(c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){e=ne(c[r>>2]|0,c[c[n>>2]>>2]|0)|0;c[(c[h>>2]|0)+16>>2]=e}c[q>>2]=(c[q>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+24}e=j;e=lF(c[e>>2]|0,c[e+4>>2]|0,4,0)|0;e=dq(e,D)|0;b[(c[k>>2]|0)+42>>1]=e;i=o;return}function aq(e,f,g){e=e|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;s=i;i=i+128|0;j=s+116|0;n=s+112|0;v=s+108|0;r=s+104|0;p=s+100|0;t=s+96|0;o=s+120|0;h=s+92|0;q=s+88|0;k=s+84|0;u=s+80|0;m=s+48|0;l=s+40|0;y=s+8|0;w=s+4|0;x=s;c[n>>2]=e;c[v>>2]=f;c[r>>2]=g;c[p>>2]=0;a[o>>0]=1;if((c[v>>2]|0)!=0?(c[(c[n>>2]|0)+4>>2]|0)!=0:0){g=d[c[v>>2]>>0]|0;do if((g|0)==154|(g|0)==156){c[h>>2]=0;c[q>>2]=0;c[k>>2]=b[(c[v>>2]|0)+32>>1];while(1){if(!(c[n>>2]|0))break;if(!((c[h>>2]|0)!=0^1))break;c[u>>2]=c[(c[n>>2]|0)+4>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[u>>2]>>2]|0))break;if((c[(c[u>>2]|0)+8+((c[t>>2]|0)*72|0)+40>>2]|0)==(c[(c[v>>2]|0)+28>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)<(c[c[u>>2]>>2]|0)){c[h>>2]=c[(c[u>>2]|0)+8+((c[t>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[u>>2]|0)+8+((c[t>>2]|0)*72|0)+20>>2];continue}else{c[n>>2]=c[(c[n>>2]|0)+16>>2];continue}}if(c[h>>2]|0){if(c[q>>2]|0){if((c[k>>2]|0)<0)break;if((c[k>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break;c[l>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2];c[m+4>>2]=c[(c[q>>2]|0)+32>>2];c[m+16>>2]=c[n>>2];c[m>>2]=c[c[n>>2]>>2];c[p>>2]=aq(m,c[l>>2]|0,o)|0;break}if(c[(c[h>>2]|0)+68>>2]|0){if((c[k>>2]|0)<0)c[k>>2]=b[(c[h>>2]|0)+36>>1];if((c[k>>2]|0)<0){c[p>>2]=16416;break}else{c[p>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+12>>2];a[o>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+22>>0]|0;break}}}}else if((g|0)==119){c[w>>2]=c[(c[v>>2]|0)+20>>2];c[x>>2]=c[c[(c[c[w>>2]>>2]|0)+4>>2]>>2];c[y+4>>2]=c[(c[w>>2]|0)+32>>2];c[y+16>>2]=c[n>>2];c[y>>2]=c[c[n>>2]>>2];c[p>>2]=aq(y,c[x>>2]|0,o)|0}while(0);if(c[r>>2]|0)a[c[r>>2]>>0]=a[o>>0]|0;c[j>>2]=c[p>>2];e=c[j>>2]|0;i=s;return e|0}c[j>>2]=0;e=c[j>>2]|0;i=s;return e|0}function bq(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;k=f+4|0;j=f;c[h>>2]=e;c[h>>2]=iq(c[h>>2]|0)|0;if(c[(c[h>>2]|0)+4>>2]&512){a[g>>0]=0;k=a[g>>0]|0;i=f;return k|0}c[k>>2]=d[c[h>>2]>>0];if((c[k>>2]|0)==119){a[g>>0]=bq(c[c[(c[c[(c[h>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;k=a[g>>0]|0;i=f;return k|0}if((c[k>>2]|0)==38){a[g>>0]=Bp(c[(c[h>>2]|0)+8>>2]|0,0)|0;k=a[g>>0]|0;i=f;return k|0}if((c[k>>2]|0)==156|(c[k>>2]|0)==154|(c[k>>2]|0)==159?(c[(c[h>>2]|0)+44>>2]|0)!=0:0){c[j>>2]=b[(c[h>>2]|0)+32>>1];if((c[j>>2]|0)<0){a[g>>0]=68;k=a[g>>0]|0;i=f;return k|0}else{a[g>>0]=a[(c[(c[(c[h>>2]|0)+44>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0)+21>>0]|0;k=a[g>>0]|0;i=f;return k|0}}a[g>>0]=a[(c[h>>2]|0)+1>>0]|0;k=a[g>>0]|0;i=f;return k|0}function cq(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;j=i;i=i+32|0;k=j+28|0;q=j+24|0;o=j+20|0;m=j+16|0;l=j+12|0;p=j+8|0;g=j+4|0;n=j;c[k>>2]=e;c[q>>2]=f;c[o>>2]=c[c[k>>2]>>2];c[m>>2]=0;c[l>>2]=c[q>>2];while(1){if(!(c[l>>2]|0))break;c[p>>2]=d[c[l>>2]>>0];if(c[(c[l>>2]|0)+4>>2]&512)break;if((c[p>>2]|0)==38|(c[p>>2]|0)==158){c[l>>2]=c[(c[l>>2]|0)+12>>2];continue}if((c[p>>2]|0)==95){h=9;break}if((c[p>>2]|0)==159?(d[(c[l>>2]|0)+38>>0]|0)==95:0){h=9;break}if((c[(c[l>>2]|0)+44>>2]|0)!=0?(c[p>>2]|0)==156|(c[p>>2]|0)==154|(c[p>>2]|0)==159|(c[p>>2]|0)==62:0){h=12;break}if(!(c[(c[l>>2]|0)+4>>2]&256))break;if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[l>>2]=c[(c[l>>2]|0)+12>>2];continue}c[l>>2]=c[(c[l>>2]|0)+16>>2]}if((h|0)==9)c[m>>2]=eq(c[k>>2]|0,a[(c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,0,c[(c[l>>2]|0)+8>>2]|0)|0;else if((h|0)==12?(c[g>>2]=b[(c[l>>2]|0)+32>>1],(c[g>>2]|0)>=0):0){c[n>>2]=c[(c[(c[(c[l>>2]|0)+44>>2]|0)+4>>2]|0)+((c[g>>2]|0)*24|0)+16>>2];c[m>>2]=$g(c[o>>2]|0,a[(c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[n>>2]|0,0)|0}if(!(fq(c[k>>2]|0,c[m>>2]|0)|0)){q=c[m>>2]|0;i=j;return q|0}c[m>>2]=0;q=c[m>>2]|0;i=j;return q|0}function dq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+10|0;g=e;h=e+8|0;j=g;c[j>>2]=a;c[j+4>>2]=d;b[h>>1]=40;a=g;d=c[a+4>>2]|0;a:do if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<8){j=g;a=c[j+4>>2]|0;if(a>>>0<0|(a|0)==0&(c[j>>2]|0)>>>0<2){b[f>>1]=0;j=b[f>>1]|0;i=e;return j|0}else while(1){j=g;a=c[j+4>>2]|0;if(!(a>>>0<0|(a|0)==0&(c[j>>2]|0)>>>0<8))break a;b[h>>1]=(b[h>>1]|0)-10;a=g;a=$E(c[a>>2]|0,c[a+4>>2]|0,1)|0;j=g;c[j>>2]=a;c[j+4>>2]=D}}else{while(1){j=g;a=c[j+4>>2]|0;if(!(a>>>0>0|(a|0)==0&(c[j>>2]|0)>>>0>255))break;b[h>>1]=(b[h>>1]|0)+40;a=g;a=cF(c[a>>2]|0,c[a+4>>2]|0,4)|0;j=g;c[j>>2]=a;c[j+4>>2]=D}while(1){j=g;a=c[j+4>>2]|0;if(!(a>>>0>0|(a|0)==0&(c[j>>2]|0)>>>0>15))break a;b[h>>1]=(b[h>>1]|0)+10;a=g;a=cF(c[a>>2]|0,c[a+4>>2]|0,1)|0;j=g;c[j>>2]=a;c[j+4>>2]=D}}while(0);b[f>>1]=(b[16360+((c[g>>2]&7)<<1)>>1]|0)+(b[h>>1]|0)-10;j=b[f>>1]|0;i=e;return j|0}function eq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;h=j;k=j+20|0;o=j+24|0;p=j+16|0;l=j+12|0;m=j+8|0;n=j+4|0;c[k>>2]=b;a[o>>0]=e;c[p>>2]=f;c[l>>2]=g;c[n>>2]=c[c[k>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=$g(c[n>>2]|0,a[o>>0]|0,c[l>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){gq(c[n>>2]|0,d[o>>0]|0,c[l>>2]|0);c[m>>2]=$g(c[n>>2]|0,a[o>>0]|0,c[l>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(hq(c[n>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=j;return p|0}p=c[k>>2]|0;c[h>>2]=c[l>>2];Se(p,16376,h);p=c[m>>2]|0;i=j;return p|0}function fq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;e=f+20|0;l=f+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[l>>2]=b;c[j>>2]=d;if((c[j>>2]|0)!=0?(c[h>>2]=c[c[j>>2]>>2],c[k>>2]=c[c[l>>2]>>2],c[g>>2]=eq(c[l>>2]|0,a[(c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[j>>2]|0,c[h>>2]|0)|0,(c[g>>2]|0)==0):0){c[e>>2]=1;b=c[e>>2]|0;i=f;return b|0}c[e>>2]=0;b=c[e>>2]|0;i=f;return b|0}function gq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;k=g+12|0;m=g+8|0;l=g+4|0;j=g;c[h>>2]=b;c[n>>2]=e;c[k>>2]=f;do if(c[(c[h>>2]|0)+220>>2]|0){c[m>>2]=ne(c[h>>2]|0,c[k>>2]|0)|0;if(c[m>>2]|0){Bb[c[(c[h>>2]|0)+220>>2]&3](c[(c[h>>2]|0)+228>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0);Xb(c[h>>2]|0,c[m>>2]|0);break}else{i=g;return}}while(0);if(!(c[(c[h>>2]|0)+224>>2]|0)){i=g;return}c[j>>2]=rf(c[h>>2]|0)|0;sf(c[j>>2]|0,-1,c[k>>2]|0,1,0);c[l>>2]=Md(c[j>>2]|0,((a[1136]|0)==0?3:2)&255)|0;if(c[l>>2]|0)Bb[c[(c[h>>2]|0)+224>>2]&3](c[(c[h>>2]|0)+228>>2]|0,c[h>>2]|0,d[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[l>>2]|0);tf(c[j>>2]|0);i=g;return}function hq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;e=f+20|0;j=f+16|0;g=f+12|0;h=f+8|0;l=f+4|0;k=f;c[j>>2]=b;c[g>>2]=d;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=3){d=6;break}c[h>>2]=$g(c[j>>2]|0,a[16408+(c[k>>2]|0)>>0]|0,c[l>>2]|0,0)|0;if(c[(c[h>>2]|0)+12>>2]|0){d=4;break}c[k>>2]=(c[k>>2]|0)+1}if((d|0)==4){b=c[g>>2]|0;l=c[h>>2]|0;c[b+0>>2]=c[l+0>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[b+16>>2]=c[l+16>>2];c[(c[g>>2]|0)+16>>2]=0;c[e>>2]=0;b=c[e>>2]|0;i=f;return b|0}else if((d|0)==6){c[e>>2]=1;b=c[e>>2]|0;i=f;return b|0}return 0}function iq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;while(1){if(c[d>>2]|0)e=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else e=0;a=c[d>>2]|0;if(!e)break;e=c[d>>2]|0;if(c[a+4>>2]&262144){c[d>>2]=c[c[(c[e+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[e+12>>2];continue}}i=b;return a|0}function jq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+28|0;f=e+24|0;g=e;c[h>>2]=b;c[f>>2]=d;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=37;c[g+12>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[g+4>>2]=38;oq(g,c[f>>2]|0)|0}c[g+4>>2]=39;c[g+8>>2]=3;oq(g,c[f>>2]|0)|0;i=e;return}function kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+32|0;f=e+28|0;h=e+24|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=40;c[g+4>>2]=41;c[g+12>>2]=c[j>>2];c[g+20>>2]=c[h>>2];oq(g,c[f>>2]|0)|0;i=e;return}function lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;e=d+24|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+8>>2]=4;c[f>>2]=37;c[f+12>>2]=c[g>>2];oq(f,c[e>>2]|0)|0;i=d;return}function mq(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;i=i+32|0;p=l+28|0;o=l+24|0;n=l+20|0;g=l+16|0;m=l+12|0;h=l+8|0;k=l+4|0;j=l;c[p>>2]=a;c[o>>2]=f;if((e[(c[o>>2]|0)+6>>1]|0)&32){i=l;return}a=(c[o>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|32;c[n>>2]=c[(c[p>>2]|0)+12>>2];c[m>>2]=c[(c[o>>2]|0)+32>>2];c[g>>2]=0;c[h>>2]=(c[m>>2]|0)+8;while(1){if((c[g>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+16>>2];if(((c[k>>2]|0)!=0?((d[(c[k>>2]|0)+44>>0]|0)&2|0)!=0:0)?(c[j>>2]=c[(c[h>>2]|0)+20>>2],(c[j>>2]|0)!=0):0){while(1){if(!(c[(c[j>>2]|0)+52>>2]|0))break;c[j>>2]=c[(c[j>>2]|0)+52>>2]}$p(c[n>>2]|0,c[k>>2]|0,c[j>>2]|0)}c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}i=l;return}function nq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;do if(c[h>>2]|0){if((c[(c[f>>2]|0)+4>>2]|0)==0?(c[(c[f>>2]|0)+8>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[h>>2]|0)){b=15;break}if((c[(c[f>>2]|0)+4>>2]|0)!=0?(c[g>>2]=zb[c[(c[f>>2]|0)+4>>2]&63](c[f>>2]|0,c[h>>2]|0)|0,(c[g>>2]|0)!=0):0){b=15;break}if(pq(c[f>>2]|0,c[h>>2]|0)|0){b=11;break}if(qq(c[f>>2]|0,c[h>>2]|0)|0){b=11;break}if(c[(c[f>>2]|0)+8>>2]|0)sb[c[(c[f>>2]|0)+8>>2]&7](c[f>>2]|0,c[h>>2]|0);c[h>>2]=c[(c[h>>2]|0)+52>>2]}if((b|0)==11){a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1;c[d>>2]=2;a=c[d>>2]|0;i=e;return a|0}else if((b|0)==15){a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1;c[d>>2]=c[g>>2]&2;a=c[d>>2]|0;i=e;return a|0}}while(0);c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}function pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=b;do if(!(rq(c[f>>2]|0,c[c[g>>2]>>2]|0)|0)){if(sq(c[f>>2]|0,c[(c[g>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(rq(c[f>>2]|0,c[(c[g>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(sq(c[f>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(rq(c[f>>2]|0,c[(c[g>>2]|0)+48>>2]|0)|0){c[d>>2]=2;break}if(sq(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}if(sq(c[f>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=e;return c[d>>2]|0}function qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;d=e+20|0;f=e+16|0;k=e+12|0;j=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[k>>2]=b;c[j>>2]=c[(c[k>>2]|0)+32>>2];a:do if(c[j>>2]|0){c[h>>2]=c[c[j>>2]>>2];c[g>>2]=(c[j>>2]|0)+8;while(1){if((c[h>>2]|0)<=0)break a;if(oq(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)break;c[h>>2]=(c[h>>2]|0)+ -1;c[g>>2]=(c[g>>2]|0)+72}c[d>>2]=2;k=c[d>>2]|0;i=e;return k|0}while(0);c[d>>2]=0;k=c[d>>2]|0;i=e;return k|0}function rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;d=e+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[j>>2]=b;a:do if(c[j>>2]|0){c[h>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[h>>2]|0)<=0)break a;if(sq(c[f>>2]|0,c[c[g>>2]>>2]|0)|0)break;c[h>>2]=(c[h>>2]|0)+ -1;c[g>>2]=(c[g>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=e;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;h=d+8|0;g=d+4|0;f=d;c[h>>2]=a;c[g>>2]=b;a:do if(!(c[g>>2]|0))c[e>>2]=0;else{c[f>>2]=zb[c[c[h>>2]>>2]&63](c[h>>2]|0,c[g>>2]|0)|0;do if((c[f>>2]|0)==0?(c[(c[g>>2]|0)+4>>2]&16384|0)==0:0){if(sq(c[h>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[e>>2]=2;break a}if(sq(c[h>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0){c[e>>2]=2;break a}h=c[h>>2]|0;b=(c[g>>2]|0)+20|0;if(c[(c[g>>2]|0)+4>>2]&2048){if(!(oq(h,c[b>>2]|0)|0))break;c[e>>2]=2;break a}else{if(!(rq(h,c[b>>2]|0)|0))break;c[e>>2]=2;break a}}while(0);c[e>>2]=c[f>>2]&2}while(0);i=d;return c[e>>2]|0}function tq(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;j=i;i=i+96|0;s=j;h=j+84|0;l=j+80|0;x=j+76|0;o=j+72|0;p=j+68|0;F=j+64|0;D=j+60|0;C=j+56|0;E=j+52|0;m=j+48|0;z=j+44|0;t=j+40|0;u=j+36|0;n=j+32|0;y=j+28|0;r=j+24|0;q=j+20|0;k=j+16|0;v=j+88|0;A=j+12|0;B=j+8|0;c[l>>2]=f;c[x>>2]=g;c[o>>2]=c[(c[l>>2]|0)+20>>2];c[p>>2]=c[c[o>>2]>>2];if(c[(c[x>>2]|0)+4>>2]&4){c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0}f=(c[x>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[x>>2]>>0]|0){case 153:{c[m>>2]=c[(c[x>>2]|0)+20>>2];if(c[m>>2]|0)B=c[c[m>>2]>>2]|0;else B=0;c[z>>2]=B;c[t>>2]=0;c[u>>2]=0;c[n>>2]=0;a[v>>0]=a[(c[(c[(c[c[p>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;Sq(c[p>>2]|0,c[o>>2]|0,16800);c[q>>2]=c[(c[x>>2]|0)+8>>2];c[r>>2]=Mb(c[q>>2]|0)|0;c[k>>2]=Sf(c[c[p>>2]>>2]|0,c[q>>2]|0,c[r>>2]|0,c[z>>2]|0,a[v>>0]|0,0)|0;do if(!(c[k>>2]|0)){c[k>>2]=Sf(c[c[p>>2]>>2]|0,c[q>>2]|0,c[r>>2]|0,-2,a[v>>0]|0,0)|0;if(!(c[k>>2]|0)){c[t>>2]=1;break}else{c[u>>2]=1;break}}else{c[n>>2]=(c[(c[k>>2]|0)+12>>2]|0)==0&1;do if(e[(c[k>>2]|0)+2>>1]&1024){f=(c[x>>2]|0)+4|0;c[f>>2]=c[f>>2]|266240;if((c[z>>2]|0)!=2){c[(c[x>>2]|0)+28>>2]=(a[c[(c[k>>2]|0)+24>>2]>>0]|0)==117?62:938;break}f=Tq(c[(c[(c[m>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[x>>2]|0)+28>>2]=f;if((c[(c[x>>2]|0)+28>>2]|0)<0){Se(c[p>>2]|0,16816,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[y>>2]=ap(c[p>>2]|0,31,0,c[(c[k>>2]|0)+24>>2]|0,0)|0;if(!(c[y>>2]|0)){if(!(e[(c[k>>2]|0)+2>>1]&2048))break;f=(c[x>>2]|0)+4|0;c[f>>2]=c[f>>2]|524288;break}if((c[y>>2]|0)==1){f=c[p>>2]|0;c[s>>2]=c[(c[k>>2]|0)+24>>2];Se(f,16888,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1}a[c[x>>2]>>0]=101;c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0}while(0);if((c[n>>2]|0)!=0?(e[(c[o>>2]|0)+28>>1]&1|0)==0:0){f=c[p>>2]|0;g=c[q>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;Se(f,16928,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1;c[n>>2]=0}else w=29;do if((w|0)==29){if((c[t>>2]|0)!=0?(d[(c[c[p>>2]>>2]|0)+145>>0]|0)==0:0){f=c[p>>2]|0;g=c[q>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;Se(f,16968,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1;break}if(c[u>>2]|0){f=c[p>>2]|0;g=c[q>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;Se(f,16992,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1}}while(0);if(c[n>>2]|0){f=(c[o>>2]|0)+28|0;b[f>>1]=e[f>>1]&-2}rq(c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){c[A>>2]=c[o>>2];a[c[x>>2]>>0]=-101;a[(c[x>>2]|0)+38>>0]=0;while(1){if(!(c[A>>2]|0))break;if(!((Uq(c[x>>2]|0,c[(c[A>>2]|0)+4>>2]|0)|0)!=0^1))break;f=(c[x>>2]|0)+38|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;c[A>>2]=c[(c[A>>2]|0)+16>>2]}if(c[A>>2]|0){f=(c[A>>2]|0)+28|0;b[f>>1]=e[f>>1]|(2|e[(c[k>>2]|0)+2>>1]&4096)}f=(c[o>>2]|0)+28|0;b[f>>1]=e[f>>1]|1}c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0};case 135:{Vq(c[p>>2]|0,c[o>>2]|0,17056);Sq(c[p>>2]|0,c[o>>2]|0,17056);break};case 75:case 20:case 119:{if((c[(c[x>>2]|0)+4>>2]&2048|0)!=0?(c[B>>2]=c[(c[o>>2]|0)+20>>2],Vq(c[p>>2]|0,c[o>>2]|0,17040),Sq(c[p>>2]|0,c[o>>2]|0,17040),oq(c[l>>2]|0,c[(c[x>>2]|0)+20>>2]|0)|0,(c[B>>2]|0)!=(c[(c[o>>2]|0)+20>>2]|0)):0){f=(c[x>>2]|0)+4|0;c[f>>2]=c[f>>2]|32}break};case 122:{c[E>>2]=c[(c[x>>2]|0)+16>>2];if((d[c[E>>2]>>0]|0)==27){c[C>>2]=0;c[D>>2]=c[(c[(c[x>>2]|0)+12>>2]|0)+8>>2];c[F>>2]=c[(c[E>>2]|0)+8>>2]}else{c[C>>2]=c[(c[(c[x>>2]|0)+12>>2]|0)+8>>2];c[D>>2]=c[(c[(c[E>>2]|0)+12>>2]|0)+8>>2];c[F>>2]=c[(c[(c[E>>2]|0)+16>>2]|0)+8>>2]}c[h>>2]=Rq(c[p>>2]|0,c[C>>2]|0,c[D>>2]|0,c[F>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;f=c[h>>2]|0;i=j;return f|0};case 27:{c[h>>2]=Rq(c[p>>2]|0,0,0,c[(c[x>>2]|0)+8>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;f=c[h>>2]|0;i=j;return f|0};default:{}}if(c[(c[p>>2]|0)+64>>2]|0)k=1;else k=(d[(c[c[p>>2]>>2]|0)+64>>0]|0)!=0;c[h>>2]=k?2:0;f=c[h>>2]|0;i=j;return f|0}function uq(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+112|0;m=j;h=j+108|0;C=j+104|0;B=j+100|0;o=j+96|0;t=j+64|0;k=j+56|0;A=j+52|0;l=j+48|0;u=j+44|0;q=j+40|0;r=j+36|0;n=j+32|0;p=j+28|0;w=j+24|0;y=j+20|0;z=j+16|0;x=j+12|0;v=j+8|0;s=j+4|0;c[C>>2]=f;c[B>>2]=g;if(e[(c[B>>2]|0)+6>>1]&2){c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0}c[o>>2]=c[(c[C>>2]|0)+20>>2];c[l>>2]=c[(c[C>>2]|0)+12>>2];c[p>>2]=c[c[l>>2]>>2];if(!(e[(c[B>>2]|0)+6>>1]&16)){Zp(c[l>>2]|0,c[B>>2]|0,c[o>>2]|0);if(c[(c[l>>2]|0)+64>>2]|0)k=1;else k=(d[(c[p>>2]|0)+64>>0]|0)!=0;c[h>>2]=k?2:1;f=c[h>>2]|0;i=j;return f|0}c[k>>2]=(c[(c[B>>2]|0)+52>>2]|0)!=0&1;c[A>>2]=0;c[n>>2]=c[B>>2];a:while(1){if(!(c[B>>2]|0)){o=58;break}f=(c[B>>2]|0)+6|0;b[f>>1]=e[f>>1]|2;c[t+0>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t>>2]=c[l>>2];if(vq(t,c[(c[B>>2]|0)+60>>2]|0)|0){o=11;break}if(vq(t,c[(c[B>>2]|0)+64>>2]|0)|0){o=11;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[(c[B>>2]|0)+32>>2]>>2]|0))break;c[w>>2]=(c[(c[B>>2]|0)+32>>2]|0)+8+((c[q>>2]|0)*72|0);if(c[(c[w>>2]|0)+20>>2]|0){c[z>>2]=0;c[x>>2]=c[(c[l>>2]|0)+492>>2];c[y>>2]=c[o>>2];while(1){if(!(c[y>>2]|0))break;c[z>>2]=(c[z>>2]|0)+(c[(c[y>>2]|0)+20>>2]|0);c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[(c[w>>2]|0)+8>>2]|0)c[(c[l>>2]|0)+492>>2]=c[(c[w>>2]|0)+8>>2];kq(c[l>>2]|0,c[(c[w>>2]|0)+20>>2]|0,c[o>>2]|0);c[(c[l>>2]|0)+492>>2]=c[x>>2];if(c[(c[l>>2]|0)+64>>2]|0){o=22;break a}if(d[(c[p>>2]|0)+64>>0]|0){o=22;break a}c[y>>2]=c[o>>2];while(1){if(!(c[y>>2]|0))break;c[z>>2]=(c[z>>2]|0)-(c[(c[y>>2]|0)+20>>2]|0);c[y>>2]=c[(c[y>>2]|0)+16>>2]}f=(c[w>>2]|0)+37|0;a[f>>0]=a[f>>0]&-3|((c[z>>2]|0)!=0&1)<<1&255}c[q>>2]=(c[q>>2]|0)+1}b[t+28>>1]=1;c[t+4>>2]=c[(c[B>>2]|0)+32>>2];c[t+16>>2]=c[o>>2];c[u>>2]=c[c[B>>2]>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[v>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2];if(vq(t,c[v>>2]|0)|0){o=31;break a}c[q>>2]=(c[q>>2]|0)+1}c[r>>2]=c[(c[B>>2]|0)+40>>2];if((c[r>>2]|0)==0?(e[t+28>>1]&2|0)==0:0){f=t+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[B>>2]|0)+6|0;b[f>>1]=e[f>>1]|(4|e[t+28>>1]&4096)}if(!((c[r>>2]|0)!=0?1:(c[(c[B>>2]|0)+44>>2]|0)==0)){o=38;break}c[t+8>>2]=c[c[B>>2]>>2];if(vq(t,c[(c[B>>2]|0)+44>>2]|0)|0){o=40;break}if(vq(t,c[(c[B>>2]|0)+36>>2]|0)|0){o=42;break}c[t+16>>2]=0;f=t+28|0;b[f>>1]=e[f>>1]|1;if((c[k>>2]|0)==0?(wq(t,c[B>>2]|0,c[(c[B>>2]|0)+48>>2]|0,16480)|0)!=0:0){o=45;break}if(a[(c[p>>2]|0)+64>>0]|0){o=47;break}b:do if(c[r>>2]|0){if(wq(t,c[B>>2]|0,c[r>>2]|0,16488)|0){o=51;break a}if(d[(c[p>>2]|0)+64>>0]|0){o=51;break a}c[q>>2]=0;c[s>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[q>>2]|0)>=(c[c[r>>2]>>2]|0))break b;if(c[(c[c[s>>2]>>2]|0)+4>>2]&2){o=55;break a}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}}while(0);c[B>>2]=c[(c[B>>2]|0)+52>>2];c[A>>2]=(c[A>>2]|0)+1}switch(o|0){case 11:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 22:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 31:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 38:{Se(c[l>>2]|0,16432,m);c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 40:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 42:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 45:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 47:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 51:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 55:{Se(c[l>>2]|0,16496,m);c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 58:{if((c[k>>2]|0)!=0?(xq(c[l>>2]|0,c[n>>2]|0)|0)!=0:0){c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0}c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0}}return 0}function vq(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+48|0;g=f+40|0;k=f+36|0;j=f+32|0;l=f+44|0;m=f+8|0;h=f;c[k>>2]=a;c[j>>2]=d;if(!(c[j>>2]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}c[h>>2]=c[c[k>>2]>>2];if(Qq(c[h>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[k>>2]>>2]|0)+460>>2]|0)|0)|0){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}a=(c[h>>2]|0)+460|0;c[a>>2]=(c[a>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[k>>2]|0)+28>>1]|0)&4098;a=(c[k>>2]|0)+28|0;b[a>>1]=(e[a>>1]|0)&-4099;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m>>2]=40;c[m+4>>2]=41;c[m+12>>2]=c[c[k>>2]>>2];c[m+20>>2]=c[k>>2];sq(m,c[j>>2]|0)|0;a=(c[c[k>>2]>>2]|0)+460|0;c[a>>2]=(c[a>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[k>>2]|0)+24>>2]|0)<=0?(c[(c[m+12>>2]|0)+64>>2]|0)<=0:0)){a=(c[j>>2]|0)+4|0;c[a>>2]=c[a>>2]|8}if((e[(c[k>>2]|0)+28>>1]|0)&2){a=(c[j>>2]|0)+4|0;c[a>>2]=c[a>>2]|2}a=(c[k>>2]|0)+28|0;b[a>>1]=e[a>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;a=c[g>>2]|0;i=f;return a|0}function wq(d,e,f,g){d=d|0;e=e|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;r=i;i=i+64|0;k=r+48|0;v=r+44|0;o=r+40|0;t=r+36|0;h=r+32|0;s=r+28|0;u=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;w=r+8|0;q=r+4|0;p=r;c[v>>2]=d;c[o>>2]=e;c[t>>2]=f;c[h>>2]=g;if(!(c[t>>2]|0)){c[k>>2]=0;d=c[k>>2]|0;i=r;return d|0}c[w>>2]=c[c[c[o>>2]>>2]>>2];c[n>>2]=c[c[v>>2]>>2];c[s>>2]=0;c[m>>2]=c[(c[t>>2]|0)+4>>2];a:while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0)){j=20;break}c[q>>2]=c[c[m>>2]>>2];c[p>>2]=iq(c[q>>2]|0)|0;if((a[c[h>>2]>>0]|0)!=71?(c[l>>2]=Aq(c[n>>2]|0,c[c[o>>2]>>2]|0,c[p>>2]|0)|0,(c[l>>2]|0)>0):0)b[(c[m>>2]|0)+16>>1]=c[l>>2];else j=8;b:do if((j|0)==8){j=0;if(yq(c[p>>2]|0,l)|0){if((c[l>>2]|0)<1|(c[l>>2]|0)>65535){j=10;break a}b[(c[m>>2]|0)+16>>1]=c[l>>2];break}b[(c[m>>2]|0)+16>>1]=0;if(vq(c[v>>2]|0,c[q>>2]|0)|0){j=13;break a}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[c[o>>2]>>2]>>2]|0))break b;if(!(Dq(c[q>>2]|0,c[(c[(c[c[o>>2]>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[m>>2]|0)+16>>1]=(c[u>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[s>>2]=(c[s>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((j|0)==10){zq(c[n>>2]|0,c[h>>2]|0,(c[s>>2]|0)+1|0,c[w>>2]|0);c[k>>2]=1;d=c[k>>2]|0;i=r;return d|0}else if((j|0)==13){c[k>>2]=1;d=c[k>>2]|0;i=r;return d|0}else if((j|0)==20){c[k>>2]=Lq(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[h>>2]|0)|0;d=c[k>>2]|0;i=r;return d|0}return 0}function xq(d,e){d=d|0;e=e|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;m=i;i=i+64|0;h=m;k=m+52|0;g=m+48|0;o=m+44|0;f=m+40|0;l=m+36|0;j=m+32|0;s=m+28|0;n=m+24|0;p=m+20|0;q=m+16|0;r=m+12|0;t=m+8|0;u=m+4|0;c[g>>2]=d;c[o>>2]=e;c[n>>2]=1;c[l>>2]=c[(c[o>>2]|0)+48>>2];if(!(c[l>>2]|0)){c[k>>2]=0;d=c[k>>2]|0;i=m;return d|0}c[s>>2]=c[c[g>>2]>>2];if((c[c[l>>2]>>2]|0)>(c[(c[s>>2]|0)+96>>2]|0)){Se(c[g>>2]|0,16560,h);c[k>>2]=1;d=c[k>>2]|0;i=m;return d|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[l>>2]>>2]|0))break;d=(c[(c[l>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+13|0;a[d>>0]=a[d>>0]&-2;c[f>>2]=(c[f>>2]|0)+1}c[(c[o>>2]|0)+56>>2]=0;while(1){if(!(c[(c[o>>2]|0)+52>>2]|0))break;c[(c[(c[o>>2]|0)+52>>2]|0)+56>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+52>>2]}a:while(1){if(!((c[o>>2]|0)!=0&(c[n>>2]|0)!=0)){n=33;break}c[n>>2]=0;c[j>>2]=c[c[o>>2]>>2];c[f>>2]=0;c[p>>2]=c[(c[l>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[l>>2]>>2]|0))break;c[q>>2]=-1;do if(!(a[(c[p>>2]|0)+13>>0]&1)){c[r>>2]=iq(c[c[p>>2]>>2]|0)|0;if(yq(c[r>>2]|0,q)|0){if((c[q>>2]|0)<=0){n=18;break a}if((c[q>>2]|0)>(c[c[j>>2]>>2]|0)){n=18;break a}}else{c[q>>2]=Aq(c[g>>2]|0,c[j>>2]|0,c[r>>2]|0)|0;if(!(c[q>>2]|0)){c[t>>2]=Bq(c[s>>2]|0,c[r>>2]|0,0)|0;if(!(a[(c[s>>2]|0)+64>>0]|0))c[q>>2]=Cq(c[g>>2]|0,c[o>>2]|0,c[t>>2]|0)|0;wn(c[s>>2]|0,c[t>>2]|0)}}if((c[q>>2]|0)<=0){c[n>>2]=1;break}c[u>>2]=ho(c[s>>2]|0,132,0)|0;if(!(c[u>>2]|0)){n=25;break a}d=(c[u>>2]|0)+4|0;c[d>>2]=c[d>>2]|1024;c[(c[u>>2]|0)+8>>2]=c[q>>2];d=c[u>>2]|0;e=c[p>>2]|0;if((c[c[p>>2]>>2]|0)==(c[r>>2]|0))c[e>>2]=d;else c[(c[e>>2]|0)+12>>2]=d;wn(c[s>>2]|0,c[r>>2]|0);b[(c[p>>2]|0)+16>>1]=c[q>>2];d=(c[p>>2]|0)+13|0;a[d>>0]=a[d>>0]&-2|1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}c[o>>2]=c[(c[o>>2]|0)+56>>2]}if((n|0)==18){zq(c[g>>2]|0,16480,(c[f>>2]|0)+1|0,c[c[j>>2]>>2]|0);c[k>>2]=1;d=c[k>>2]|0;i=m;return d|0}else if((n|0)==25){c[k>>2]=1;d=c[k>>2]|0;i=m;return d|0}else if((n|0)==33){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[l>>2]>>2]|0)){n=38;break}if(!(a[(c[(c[l>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+13>>0]&1)){n=36;break}c[f>>2]=(c[f>>2]|0)+1}if((n|0)==36){d=c[g>>2]|0;c[h>>2]=(c[f>>2]|0)+1;Se(d,16600,h);c[k>>2]=1;d=c[k>>2]|0;i=m;return d|0}else if((n|0)==38){c[k>>2]=0;d=c[k>>2]|0;i=m;return d|0}}return 0}function yq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;g=e+8|0;h=e+4|0;j=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=0;b=c[k>>2]|0;if(c[(c[k>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[b+8>>2];c[f>>2]=1;a=c[f>>2]|0;i=e;return a|0}b=d[b>>0]|0;if((b|0)==157){if(yq(c[(c[k>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}}else if((b|0)==158)c[h>>2]=yq(c[(c[k>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[f>>2]=c[h>>2];a=c[f>>2]|0;i=e;return a|0}function zq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[l>>2]|0;d=c[k>>2]|0;b=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;c[g+8>>2]=b;Se(a,16664,g);i=f;return}function Aq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;f=g+24|0;k=g+16|0;m=g+12|0;l=g+8|0;j=g+4|0;h=g;c[g+20>>2]=a;c[k>>2]=b;c[m>>2]=e;a:do if((d[c[m>>2]>>0]|0|0)==27){c[j>>2]=c[(c[m>>2]|0)+8>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[k>>2]>>2]|0))break a;c[h>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)+4>>2];if((c[h>>2]|0)!=0?(xc(c[h>>2]|0,c[j>>2]|0)|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=(c[l>>2]|0)+1;a=c[f>>2]|0;i=g;return a|0}while(0);c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}function Bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Fq(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return a|0}function Cq(d,e,f){d=d|0;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;g=i;i=i+80|0;h=g+60|0;q=g+56|0;r=g+52|0;l=g+48|0;k=g+44|0;j=g+40|0;p=g+8|0;n=g+4|0;m=g;o=g+64|0;c[q>>2]=d;c[r>>2]=e;c[l>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+32>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+67>>0]|0;a[(c[n>>2]|0)+67>>0]=1;c[m>>2]=vq(p,c[l>>2]|0)|0;a[(c[n>>2]|0)+67>>0]=a[o>>0]|0;if(c[m>>2]|0){c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[j>>2]>>2]|0)){j=8;break}r=(Dq(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[l>>2]|0,-1)|0)<2;f=(c[k>>2]|0)+1|0;if(r){j=6;break}c[k>>2]=f}if((j|0)==6){c[h>>2]=f;r=c[h>>2]|0;i=g;return r|0}else if((j|0)==8){c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}return 0}function Dq(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;m=l;c[j>>2]=a;c[k>>2]=e;c[g>>2]=f;if((c[j>>2]|0)==0|(c[k>>2]|0)==0){c[h>>2]=(c[k>>2]|0)==(c[j>>2]|0)?0:2;a=c[h>>2]|0;i=l;return a|0}c[m>>2]=c[(c[j>>2]|0)+4>>2]|c[(c[k>>2]|0)+4>>2];f=c[j>>2]|0;if(c[m>>2]&1024){if((c[f+4>>2]&c[(c[k>>2]|0)+4>>2]&1024|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==(c[(c[k>>2]|0)+8>>2]|0):0){c[h>>2]=0;a=c[h>>2]|0;i=l;return a|0}c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}e=d[c[j>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[k>>2]>>0]|0)){if((e|0)==95?(Dq(c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,c[g>>2]|0)|0)<2:0){c[h>>2]=1;a=c[h>>2]|0;i=l;return a|0}if((d[c[k>>2]>>0]|0)==95?(Dq(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[g>>2]|0)|0)<2:0){c[h>>2]=1;a=c[h>>2]|0;i=l;return a|0}c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if((((e|0)!=154?(d[c[j>>2]>>0]|0)!=156:0)?(c[(c[j>>2]|0)+8>>2]|0)!=0:0)?(UE(c[(c[j>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0)!=0:0){c[h>>2]=(d[c[j>>2]>>0]|0)==95?1:2;a=c[h>>2]|0;i=l;return a|0}if((c[(c[j>>2]|0)+4>>2]&16|0)!=(c[(c[k>>2]|0)+4>>2]&16|0)){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}do if(!(c[m>>2]&16384)){if(c[m>>2]&2048){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if(Dq(c[(c[j>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[g>>2]|0)|0){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if(Dq(c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[g>>2]|0)|0){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if(Eq(c[(c[j>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[g>>2]|0)|0){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if(!(c[m>>2]&8192)){if((b[(c[j>>2]|0)+32>>1]|0)!=(b[(c[k>>2]|0)+32>>1]|0)){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if((c[(c[j>>2]|0)+28>>2]|0)!=(c[(c[k>>2]|0)+28>>2]|0)){if((c[(c[j>>2]|0)+28>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+28>>2]|0)<0:0)break;c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}}}while(0);c[h>>2]=0;a=c[h>>2]|0;i=l;return a|0}function Eq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;f=g+24|0;h=g+20|0;n=g+16|0;l=g+12|0;m=g+8|0;j=g+4|0;k=g;c[h>>2]=a;c[n>>2]=b;c[l>>2]=e;if((c[h>>2]|0)==0&(c[n>>2]|0)==0){c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}if((c[h>>2]|0)==0|(c[n>>2]|0)==0){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}if((c[c[h>>2]>>2]|0)!=(c[c[n>>2]>>2]|0)){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[h>>2]>>2]|0)){h=14;break}c[j>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[k>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];if((d[(c[(c[h>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+12>>0]|0|0)){h=10;break}if(Dq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0){h=12;break}c[m>>2]=(c[m>>2]|0)+1}if((h|0)==10){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}else if((h|0)==12){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}else if((h|0)==14){c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}return 0}function Fq(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0,t=0;j=i;i=i+64|0;m=j+48|0;h=j+44|0;k=j+40|0;l=j+36|0;f=j+32|0;n=j+28|0;g=j+24|0;p=j+20|0;t=j+16|0;q=j+12|0;s=j+8|0;o=j+4|0;r=j;c[m>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[f>>2]=0;if(!(c[h>>2]|0)){a=c[f>>2]|0;i=j;return a|0}c[n>>2]=c[k>>2]&1;c[p>>2]=0;if(c[l>>2]|0){c[g>>2]=c[c[l>>2]>>2];c[p>>2]=32768}else{b=c[m>>2]|0;a=Gq(c[h>>2]|0,c[k>>2]|0)|0;c[g>>2]=Qe(b,a,((a|0)<0)<<31>>31)|0}c[f>>2]=c[g>>2];if(!(c[f>>2]|0)){a=c[f>>2]|0;i=j;return a|0}c[t>>2]=Hq(c[h>>2]|0,c[k>>2]|0)|0;c[q>>2]=c[t>>2]&4095;if((c[(c[h>>2]|0)+4>>2]&1024|0)==0?(c[(c[h>>2]|0)+8>>2]|0)!=0:0)c[s>>2]=(Mb(c[(c[h>>2]|0)+8>>2]|0)|0)+1;else c[s>>2]=0;if(c[n>>2]|0)dF(c[g>>2]|0,c[h>>2]|0,c[q>>2]|0)|0;else{c[o>>2]=Iq(c[h>>2]|0)|0;dF(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0)|0;_E((c[g>>2]|0)+(c[o>>2]|0)|0,0,48-(c[o>>2]|0)|0)|0}a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]&-122881;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[t>>2]&24576;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[p>>2];if(c[s>>2]|0){a=(c[g>>2]|0)+(c[q>>2]|0)|0;c[(c[f>>2]|0)+8>>2]=a;c[r>>2]=a;dF(c[r>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[s>>2]|0)|0}do if(!((c[(c[h>>2]|0)+4>>2]|c[(c[f>>2]|0)+4>>2])&16384)){p=c[m>>2]|0;o=(c[h>>2]|0)+20|0;if(c[(c[h>>2]|0)+4>>2]&2048){a=Wp(p,c[o>>2]|0,c[n>>2]|0)|0;c[(c[f>>2]|0)+20>>2]=a;break}else{a=Jq(p,c[o>>2]|0,c[n>>2]|0)|0;c[(c[f>>2]|0)+20>>2]=a;break}}while(0);n=c[h>>2]|0;if(!(c[(c[f>>2]|0)+4>>2]&24576)){if(c[n+4>>2]&16384){a=c[f>>2]|0;i=j;return a|0}a=Bq(c[m>>2]|0,c[(c[h>>2]|0)+12>>2]|0,0)|0;c[(c[f>>2]|0)+12>>2]=a;a=Bq(c[m>>2]|0,c[(c[h>>2]|0)+16>>2]|0,0)|0;c[(c[f>>2]|0)+16>>2]=a;a=c[f>>2]|0;i=j;return a|0}a=Kq(n,c[k>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+a;if(c[(c[f>>2]|0)+4>>2]&8192){a=Fq(c[m>>2]|0,c[(c[h>>2]|0)+12>>2]|0,1,g)|0;c[(c[f>>2]|0)+12>>2]=a;a=Fq(c[m>>2]|0,c[(c[h>>2]|0)+16>>2]|0,1,g)|0;c[(c[f>>2]|0)+16>>2]=a}if(!(c[l>>2]|0)){a=c[f>>2]|0;i=j;return a|0}c[c[l>>2]>>2]=c[g>>2];a=c[f>>2]|0;i=j;return a|0}function Gq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=0;if(!(c[f>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[e>>2]=Kq(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[g>>2]&1)){a=c[e>>2]|0;i=d;return a|0}a=Gq(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;a=a+(Gq(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0)|0)|0;c[e>>2]=(c[e>>2]|0)+a;a=c[e>>2]|0;i=d;return a|0}function Hq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;do if(!(c[g>>2]&1))c[e>>2]=48;else{if((c[(c[f>>2]|0)+12>>2]|0)==0?(c[(c[f>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=d;return c[e>>2]|0}function Iq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;do if(!(c[(c[e>>2]|0)+4>>2]&16384))if(c[(c[e>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=d;return c[b>>2]|0}function Jq(b,e,f){b=b|0;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;m=i;i=i+48|0;h=m+32|0;j=m+28|0;l=m+24|0;q=m+20|0;k=m+16|0;o=m+12|0;g=m+8|0;n=m+4|0;p=m;c[j>>2]=b;c[l>>2]=e;c[q>>2]=f;if(!(c[l>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}c[k>>2]=Qe(c[j>>2]|0,8,0)|0;if(!(c[k>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}b=c[c[l>>2]>>2]|0;c[n>>2]=b;c[c[k>>2]>>2]=b;a:do if(!(c[q>>2]&1)){c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[n>>2]|0)}}while(0);b=Qe(c[j>>2]|0,(c[n>>2]|0)*20|0,0)|0;c[o>>2]=b;c[(c[k>>2]|0)+4>>2]=b;if(!(c[o>>2]|0)){Xb(c[j>>2]|0,c[k>>2]|0);c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}c[g>>2]=c[(c[l>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0))break;c[p>>2]=c[c[g>>2]>>2];b=Bq(c[j>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[c[o>>2]>>2]=b;b=ne(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=b;b=ne(c[j>>2]|0,c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=b;a[(c[o>>2]|0)+12>>0]=a[(c[g>>2]|0)+12>>0]|0;b=(c[o>>2]|0)+13|0;a[b>>0]=a[b>>0]&-2;b=(c[o>>2]|0)+13|0;a[b>>0]=a[b>>0]&-3|((d[(c[g>>2]|0)+13>>0]|0)>>>1&1)<<1&255;b=(c[o>>2]|0)+16|0;e=(c[g>>2]|0)+16|0;c[b+0>>2]=c[e+0>>2];c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20;c[g>>2]=(c[g>>2]|0)+20}c[h>>2]=c[k>>2];b=c[h>>2]|0;i=m;return b|0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=(Hq(c[f>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[f>>2]|0)+4>>2]&1024|0)==0?(c[(c[f>>2]|0)+8>>2]|0)!=0:0){g=(Mb(c[(c[f>>2]|0)+8>>2]|0)|0)+1|0;c[d>>2]=(c[d>>2]|0)+g}i=e;return(c[d>>2]|0)+7&-8|0}function Lq(a,f,g,h){a=a|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,q=0,r=0,s=0,t=0;n=i;i=i+48|0;r=n;j=n+36|0;p=n+32|0;s=n+28|0;q=n+24|0;k=n+20|0;l=n+16|0;t=n+12|0;m=n+8|0;o=n+4|0;c[p>>2]=a;c[s>>2]=f;c[q>>2]=g;c[k>>2]=h;c[t>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=0?(d[(c[c[p>>2]>>2]|0)+64>>0]|0)==0:0){if((c[c[q>>2]>>2]|0)>(c[(c[t>>2]|0)+96>>2]|0)){a=c[p>>2]|0;c[r>>2]=c[k>>2];Se(a,16720,r);c[j>>2]=1;a=c[j>>2]|0;i=n;return a|0}c[m>>2]=c[c[s>>2]>>2];c[l>>2]=0;c[o>>2]=c[(c[q>>2]|0)+4>>2];while(1){if((c[l>>2]|0)>=(c[c[q>>2]>>2]|0)){o=13;break}if(b[(c[o>>2]|0)+16>>1]|0){h=c[p>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[m>>2]>>2]|0)){o=10;break}Mq(h,c[m>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[k>>2]|0,0)}c[l>>2]=(c[l>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((o|0)==10){zq(h,c[k>>2]|0,(c[l>>2]|0)+1|0,c[c[m>>2]>>2]|0);c[j>>2]=1;a=c[j>>2]|0;i=n;return a|0}else if((o|0)==13){c[j>>2]=0;a=c[j>>2]|0;i=n;return a|0}}c[j>>2]=0;a=c[j>>2]|0;i=n;return a|0}function Mq(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=i;i=i+48|0;r=p+32|0;t=p+28|0;u=p+24|0;m=p+20|0;v=p+16|0;s=p+12|0;q=p+8|0;n=p+4|0;o=p;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[m>>2]=j;c[v>>2]=k;c[s>>2]=l;c[q>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];c[o>>2]=c[c[r>>2]>>2];c[n>>2]=Bq(c[o>>2]|0,c[q>>2]|0,0)|0;if(!(c[n>>2]|0)){i=p;return}if((d[c[q>>2]>>0]|0)!=154?(a[c[v>>2]>>0]|0)!=71:0){Nq(c[n>>2]|0,c[s>>2]|0);c[n>>2]=Rn(c[r>>2]|0,24,c[n>>2]|0,0,0)|0;if(!(c[n>>2]|0)){i=p;return}f=(c[n>>2]|0)+4|0;c[f>>2]=c[f>>2]|4096;if(!(e[(c[(c[t>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+18>>1]|0)){g=(c[r>>2]|0)+456|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;b[(c[(c[t>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+18>>1]=f}c[(c[n>>2]|0)+28>>2]=e[(c[(c[t>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+18>>1]}if((d[c[m>>2]>>0]|0)==95)c[n>>2]=Oq(c[r>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;r=(c[m>>2]|0)+4|0;c[r>>2]=c[r>>2]|32768;wn(c[o>>2]|0,c[m>>2]|0);r=(c[m>>2]|0)+0|0;l=(c[n>>2]|0)+0|0;q=r+48|0;do{c[r>>2]=c[l>>2];r=r+4|0;l=l+4|0}while((r|0)<(q|0));if((c[(c[m>>2]|0)+4>>2]&1024|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0){f=ne(c[o>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=f;f=(c[m>>2]|0)+4|0;c[f>>2]=c[f>>2]|65536}Xb(c[o>>2]|0,c[n>>2]|0);i=p;return}function Nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;f=d+24|0;e=d;c[g>>2]=a;c[f>>2]=b;if((c[f>>2]|0)<=0){i=d;return}c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e>>2]=42;c[e+20>>2]=c[f>>2];sq(e,c[g>>2]|0)|0;i=d;return}function Oq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];c[f+4>>2]=Mb(c[f>>2]|0)|0;a=uo(c[h>>2]|0,c[g>>2]|0,f)|0;i=e;return a|0}function Pq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=155){i=f;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[h>>2]|0)+20>>2]|0);i=f;return 0}function Qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;h=d;f=d+16|0;j=d+12|0;e=d+8|0;g=d+4|0;c[f>>2]=a;c[j>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[c[f>>2]>>2]|0)+100>>2];if((c[j>>2]|0)<=(c[g>>2]|0)){j=c[e>>2]|0;i=d;return j|0}j=c[f>>2]|0;c[h>>2]=c[g>>2];Se(j,16752,h);c[e>>2]=1;j=c[e>>2]|0;i=d;return j|0}function Rq(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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;o=i;i=i+144|0;y=o;u=o+132|0;m=o+128|0;E=o+124|0;w=o+120|0;x=o+116|0;z=o+112|0;n=o+108|0;P=o+104|0;J=o+100|0;p=o+96|0;F=o+92|0;R=o+88|0;q=o+84|0;O=o+80|0;t=o+76|0;v=o+72|0;A=o+68|0;r=o+64|0;H=o+60|0;K=o+56|0;I=o+52|0;Q=o+48|0;N=o+44|0;S=o+40|0;M=o+36|0;G=o+32|0;C=o+28|0;T=o+24|0;B=o+20|0;s=o+16|0;c[m>>2]=f;c[E>>2]=g;c[w>>2]=h;c[x>>2]=j;c[z>>2]=k;c[n>>2]=l;c[p>>2]=0;c[F>>2]=0;c[R>>2]=0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=0;c[v>>2]=c[z>>2];c[A>>2]=0;c[r>>2]=0;c[H>>2]=0;c[(c[n>>2]|0)+28>>2]=-1;c[(c[n>>2]|0)+44>>2]=0;a:do if(c[E>>2]|0){if(e[(c[z>>2]|0)+28>>1]&20){c[E>>2]=0;break}c[P>>2]=0;while(1){if((c[P>>2]|0)>=(c[(c[q>>2]|0)+20>>2]|0))break a;k=(xc(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[P>>2]<<4)>>2]|0,c[E>>2]|0)|0)==0;l=c[P>>2]|0;if(k)break;c[P>>2]=l+1}c[A>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[z>>2]|0)!=0&(c[p>>2]|0)==0)){U=92;break}c[Q>>2]=c[(c[z>>2]|0)+4>>2];if(c[Q>>2]|0){c[P>>2]=0;c[O>>2]=(c[Q>>2]|0)+8;while(1){if((c[P>>2]|0)>=(c[c[Q>>2]>>2]|0))break;c[H>>2]=c[(c[O>>2]|0)+16>>2];if((c[(c[O>>2]|0)+20>>2]|0)!=0?(e[(c[(c[O>>2]|0)+20>>2]|0)+6>>1]&512|0)!=0:0){c[N>>2]=0;c[I>>2]=c[c[(c[O>>2]|0)+20>>2]>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[I>>2]>>2]|0))break;if(Xq(c[(c[(c[I>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)+8>>2]|0,c[x>>2]|0,c[w>>2]|0,c[E>>2]|0)|0){c[p>>2]=(c[p>>2]|0)+1;c[F>>2]=2;c[t>>2]=c[O>>2];b[(c[n>>2]|0)+32>>1]=c[J>>2];c[N>>2]=1}c[J>>2]=(c[J>>2]|0)+1}if(!((c[N>>2]|0)!=0|(c[w>>2]|0)==0))U=21}else U=21;c:do if((U|0)==21){U=0;if((c[E>>2]|0)!=0?(c[(c[H>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0)break;if(c[w>>2]|0){if(c[(c[O>>2]|0)+12>>2]|0)l=c[(c[O>>2]|0)+12>>2]|0;else l=c[c[H>>2]>>2]|0;c[S>>2]=l;if(xc(c[S>>2]|0,c[w>>2]|0)|0)break}k=c[F>>2]|0;c[F>>2]=k+1;if(!k)c[t>>2]=c[O>>2];c[J>>2]=0;c[K>>2]=c[(c[H>>2]|0)+4>>2];while(1){if((c[J>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0))break c;if(!(xc(c[c[K>>2]>>2]|0,c[x>>2]|0)|0)){if((c[p>>2]|0)!=1)break;if((d[(c[O>>2]|0)+36>>0]&4|0)==0?(Yq(c[(c[O>>2]|0)+48>>2]|0,c[x>>2]|0)|0)==0:0)break}c[J>>2]=(c[J>>2]|0)+1;c[K>>2]=(c[K>>2]|0)+24}c[p>>2]=(c[p>>2]|0)+1;c[t>>2]=c[O>>2];if((c[J>>2]|0)==(b[(c[H>>2]|0)+36>>1]|0))l=-1;else l=(c[J>>2]&65535)<<16>>16;b[(c[n>>2]|0)+32>>1]=l}while(0);c[P>>2]=(c[P>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+72}if(c[t>>2]|0){c[(c[n>>2]|0)+28>>2]=c[(c[t>>2]|0)+40>>2];c[(c[n>>2]|0)+44>>2]=c[(c[t>>2]|0)+16>>2];if(d[(c[t>>2]|0)+36>>0]&8){k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|1048576}c[A>>2]=c[(c[(c[n>>2]|0)+44>>2]|0)+68>>2]}}if((c[E>>2]|0)==0&(c[w>>2]|0)!=0&(c[F>>2]|0)==0?(c[(c[m>>2]|0)+412>>2]|0)!=0:0){c[M>>2]=d[(c[m>>2]|0)+436>>0];if((c[M>>2]|0)!=109?(xc(17160,c[w>>2]|0)|0)==0:0){c[(c[n>>2]|0)+28>>2]=1;c[H>>2]=c[(c[m>>2]|0)+412>>2]}else U=50;do if((U|0)==50){U=0;if((c[M>>2]|0)!=108?(xc(17168,c[w>>2]|0)|0)==0:0){c[(c[n>>2]|0)+28>>2]=0;c[H>>2]=c[(c[m>>2]|0)+412>>2];break}c[H>>2]=0}while(0);if(c[H>>2]|0){c[A>>2]=c[(c[H>>2]|0)+68>>2];c[F>>2]=(c[F>>2]|0)+1;c[G>>2]=0;c[K>>2]=c[(c[H>>2]|0)+4>>2];while(1){if((c[G>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0))break;k=(xc(c[c[K>>2]>>2]|0,c[x>>2]|0)|0)==0;L=c[G>>2]|0;if(k){U=58;break}c[G>>2]=L+1;c[K>>2]=(c[K>>2]|0)+24}if((U|0)==58?(U=0,(L|0)==(b[(c[H>>2]|0)+36>>1]|0)):0)c[G>>2]=-1;if(((c[G>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0)?(Zq(c[x>>2]|0)|0)!=0:0)?(d[(c[H>>2]|0)+44>>0]&32|0)==0:0)c[G>>2]=-1;if((c[G>>2]|0)<(b[(c[H>>2]|0)+38>>1]|0)){c[p>>2]=(c[p>>2]|0)+1;l=c[n>>2]|0;do if((c[G>>2]|0)>=0){j=(c[G>>2]|0)>=32;if(!(c[l+28>>2]|0)){if(j)l=-1;else l=1<>2];k=(c[m>>2]|0)+428|0;c[k>>2]=c[k>>2]|l;break}else{if(j)l=-1;else l=1<>2];k=(c[m>>2]|0)+432|0;c[k>>2]=c[k>>2]|l;break}}else a[l+1>>0]=68;while(0);b[(c[n>>2]|0)+32>>1]=c[G>>2];c[(c[n>>2]|0)+44>>2]=c[H>>2];c[r>>2]=1}}}if(((c[p>>2]|0)==0&(c[F>>2]|0)==1&(c[t>>2]|0)!=0?(Zq(c[x>>2]|0)|0)!=0:0)?(d[(c[(c[t>>2]|0)+16>>2]|0)+44>>0]&32|0)==0:0){c[p>>2]=1;b[(c[n>>2]|0)+32>>1]=-1;a[(c[n>>2]|0)+1>>0]=68}k=c[(c[z>>2]|0)+8>>2]|0;c[I>>2]=k;d:do if((k|0)!=0&(c[w>>2]|0)==0&(c[p>>2]|0)==0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[I>>2]>>2]|0))break d;c[C>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)+4>>2];if((c[C>>2]|0)!=0?(xc(c[C>>2]|0,c[x>>2]|0)|0)==0:0){U=85;break b}c[J>>2]=(c[J>>2]|0)+1}}while(0);if(c[p>>2]|0)continue;c[z>>2]=c[(c[z>>2]|0)+16>>2];c[R>>2]=(c[R>>2]|0)+1}if((U|0)==85){c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2];if((e[(c[z>>2]|0)+28>>1]&1|0)==0?(c[(c[T>>2]|0)+4>>2]&2|0)!=0:0){k=c[m>>2]|0;c[y>>2]=c[C>>2];Se(k,17176,y);c[u>>2]=2;k=c[u>>2]|0;i=o;return k|0}Mq(c[m>>2]|0,c[I>>2]|0,c[J>>2]|0,c[n>>2]|0,1216,c[R>>2]|0);c[p>>2]=1;c[t>>2]=0}else if((U|0)==92){if((c[p>>2]|0)==0&(c[w>>2]|0)==0?(c[(c[n>>2]|0)+4>>2]&64|0)!=0:0){a[c[n>>2]>>0]=97;c[(c[n>>2]|0)+44>>2]=0;c[u>>2]=1;k=c[u>>2]|0;i=o;return k|0}if((c[p>>2]|0)!=1){c[B>>2]=(c[p>>2]|0)==0?17208:17224;do if(!(c[E>>2]|0)){C=c[m>>2]|0;B=c[B>>2]|0;if(c[w>>2]|0){f=c[w>>2]|0;k=c[x>>2]|0;c[y>>2]=B;c[y+4>>2]=f;c[y+8>>2]=k;Se(C,17264,y);break}else{k=c[x>>2]|0;c[y>>2]=B;c[y+4>>2]=k;Se(C,17280,y);break}}else{k=c[m>>2]|0;h=c[E>>2]|0;g=c[w>>2]|0;f=c[x>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=h;c[y+8>>2]=g;c[y+12>>2]=f;Se(k,17248,y)}while(0);a[(c[m>>2]|0)+17>>0]=1;k=(c[v>>2]|0)+24|0;c[k>>2]=(c[k>>2]|0)+1}if((c[t>>2]|0)!=0?(b[(c[n>>2]|0)+32>>1]|0)>=0:0){g=b[(c[n>>2]|0)+32>>1]|0;c[s>>2]=g;c[s>>2]=(c[s>>2]|0)>=64?63:g;g=$E(1,0,c[s>>2]|0)|0;k=(c[t>>2]|0)+56|0;h=k;f=c[h+4>>2]|D;c[k>>2]=c[h>>2]|g;c[k+4>>2]=f}wn(c[q>>2]|0,c[(c[n>>2]|0)+12>>2]|0);c[(c[n>>2]|0)+12>>2]=0;wn(c[q>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[(c[n>>2]|0)+16>>2]=0;a[c[n>>2]>>0]=(c[r>>2]|0)!=0?62:154}if((c[p>>2]|0)!=1){c[u>>2]=2;k=c[u>>2]|0;i=o;return k|0}if((d[c[n>>2]>>0]|0)!=24)_q(c[m>>2]|0,c[n>>2]|0,c[A>>2]|0,c[(c[z>>2]|0)+4>>2]|0);while(1){k=(c[v>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+1;if((c[v>>2]|0)==(c[z>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+16>>2]}c[u>>2]=1;k=c[u>>2]|0;i=o;return k|0}function Sq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f;g=f+12|0;k=f+8|0;h=f+4|0;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;if(!((e[(c[k>>2]|0)+28>>1]|0)&16)){i=f;return}k=c[g>>2]|0;c[j>>2]=c[h>>2];Se(k,17112,j);i=f;return}function Tq(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;e=b+12|0;g=b+8|0;f=b;c[g>>2]=a;h[f>>3]=-1.0;if((d[c[g>>2]>>0]|0|0)!=133){c[e>>2]=-1;g=c[e>>2]|0;i=b;return g|0}a=c[(c[g>>2]|0)+8>>2]|0;Lm(a,f,Mb(c[(c[g>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[e>>2]=-1;g=c[e>>2]|0;i=b;return g|0}else{c[e>>2]=~~(+h[f>>3]*1.0e3);g=c[e>>2]|0;i=b;return g|0}return 0}function Uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+48|0;f=d+44|0;h=d+40|0;g=d+16|0;e=d;c[f>>2]=a;c[h>>2]=b;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=43;c[g+20>>2]=e;c[e>>2]=c[h>>2];c[e+4>>2]=0;c[e+8>>2]=0;rq(g,c[(c[f>>2]|0)+20>>2]|0)|0;if((c[e+4>>2]|0)>0){h=1;h=h&1;i=d;return h|0}h=(c[e+8>>2]|0)==0;h=h&1;i=d;return h|0}function Vq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f;g=f+12|0;k=f+8|0;h=f+4|0;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;if(!((e[(c[k>>2]|0)+28>>1]|0)&4)){i=f;return}k=c[g>>2]|0;c[j>>2]=c[h>>2];Se(k,17072,j);i=f;return}function Wq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;j=e+12|0;f=e+8|0;h=e+4|0;g=e;c[k>>2]=a;c[j>>2]=b;if((d[c[j>>2]>>0]|0|0)!=154?(d[c[j>>2]>>0]|0|0)!=156:0){i=e;return 0}c[h>>2]=c[(c[k>>2]|0)+20>>2];c[g>>2]=c[c[h>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;if((c[(c[j>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+40>>2]|0))break;c[f>>2]=(c[f>>2]|0)+1}b=c[h>>2]|0;if((c[f>>2]|0)<(c[c[g>>2]>>2]|0)){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;i=e;return 0}else{a=b+8|0;c[a>>2]=(c[a>>2]|0)+1;i=e;return 0}return 0}function Xq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;k=g+20|0;h=g+16|0;n=g+12|0;l=g+8|0;m=g+4|0;j=g;c[h>>2]=b;c[n>>2]=d;c[l>>2]=e;c[m>>2]=f;c[j>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)==46)break;c[j>>2]=(c[j>>2]|0)+1}do if(c[m>>2]|0){if((Lb(c[h>>2]|0,c[m>>2]|0,c[j>>2]|0)|0)==0?(a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==0:0)break;c[k>>2]=0;b=c[k>>2]|0;i=g;return b|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[j>>2]|0)+1);c[j>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)==46)break;c[j>>2]=(c[j>>2]|0)+1}do if(c[l>>2]|0){if((Lb(c[h>>2]|0,c[l>>2]|0,c[j>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[j>>2]|0)>>0]|0)==0:0)break;c[k>>2]=0;b=c[k>>2]|0;i=g;return b|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[j>>2]|0)+1);if((c[n>>2]|0)!=0?(xc(c[h>>2]|0,c[n>>2]|0)|0)!=0:0){c[k>>2]=0;b=c[k>>2]|0;i=g;return b|0}c[k>>2]=1;b=c[k>>2]|0;i=g;return b|0}function Yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break a;if(!(xc(c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[h>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;a=c[d>>2]|0;i=e;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}function Zq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;do if(xc(c[e>>2]|0,17368)|0){if(!(xc(c[e>>2]|0,17288)|0)){c[b>>2]=1;break}if(!(xc(c[e>>2]|0,17376)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=d;return c[b>>2]|0}function _q(e,f,g,h){e=e|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,q=0,r=0,s=0,t=0;p=i;i=i+48|0;l=p+36|0;j=p+32|0;s=p+28|0;q=p+24|0;t=p+20|0;k=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[l>>2]=e;c[j>>2]=f;c[s>>2]=g;c[q>>2]=h;c[t>>2]=c[c[l>>2]>>2];c[k>>2]=0;if(!(c[(c[t>>2]|0)+284>>2]|0)){i=p;return}c[n>>2]=Ve(c[c[l>>2]>>2]|0,c[s>>2]|0)|0;if((c[n>>2]|0)<0){i=p;return}a:do if((d[c[j>>2]>>0]|0)==62)c[k>>2]=c[(c[l>>2]|0)+412>>2];else{c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[q>>2]>>2]|0))break a;h=c[r>>2]|0;if((c[(c[j>>2]|0)+28>>2]|0)==(c[(c[q>>2]|0)+8+((c[r>>2]|0)*72|0)+40>>2]|0))break;c[r>>2]=h+1}c[k>>2]=c[(c[q>>2]|0)+8+(h*72|0)+16>>2]}while(0);c[o>>2]=b[(c[j>>2]|0)+32>>1];if(!(c[k>>2]|0)){i=p;return}do if((c[o>>2]|0)<0)if((b[(c[k>>2]|0)+36>>1]|0)>=0){c[m>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((b[(c[k>>2]|0)+36>>1]|0)*24|0)>>2];break}else{c[m>>2]=17288;break}else c[m>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];while(0);if(2!=($q(c[l>>2]|0,c[c[k>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)){i=p;return}a[c[j>>2]>>0]=101;i=p;return}function $q(a,b,d,e){a=a|0;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,o=0;m=i;i=i+48|0;f=m;h=m+36|0;j=m+32|0;k=m+28|0;n=m+24|0;o=m+20|0;l=m+16|0;g=m+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[n>>2]=e;c[o>>2]=c[c[h>>2]>>2];c[l>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[g>>2]=tb[c[(c[o>>2]|0)+284>>2]&1](c[(c[o>>2]|0)+288>>2]|0,20,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+492>>2]|0)|0;if((c[g>>2]|0)!=1){if(!((c[g>>2]|0)!=2&(c[g>>2]|0)!=0)){a=c[g>>2]|0;i=m;return a|0}bp(c[h>>2]|0);a=c[g>>2]|0;i=m;return a|0}e=c[h>>2]|0;if((c[n>>2]|0)!=0?1:(c[(c[o>>2]|0)+20>>2]|0)>2){b=c[j>>2]|0;a=c[k>>2]|0;c[f>>2]=c[l>>2];c[f+4>>2]=b;c[f+8>>2]=a;Se(e,17296,f)}else{a=c[k>>2]|0;c[f>>2]=c[j>>2];c[f+4>>2]=a;Se(e,17336,f)}c[(c[h>>2]|0)+12>>2]=23;a=c[g>>2]|0;i=m;return a|0}function ar(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;n=i;i=i+48|0;j=n+44|0;p=n+40|0;o=n+36|0;r=n+32|0;l=n+28|0;t=n+24|0;h=n+20|0;s=n+16|0;m=n+12|0;k=n+8|0;q=n;c[p>>2]=f;c[o>>2]=g;if(!(c[(c[o>>2]|0)+52>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}if(!(c[(c[o>>2]|0)+48>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}c[t>>2]=c[o>>2];while(1){if(!(c[t>>2]|0))break;if((d[(c[t>>2]|0)+4>>0]|0|0)!=116?(d[(c[t>>2]|0)+4>>0]|0|0)!=119:0)break;c[t>>2]=c[(c[t>>2]|0)+52>>2]}if(!(c[t>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}c[s>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[r>>2]=(c[c[(c[o>>2]|0)+48>>2]>>2]|0)-1;while(1){if((c[r>>2]|0)<0)break;if(c[(c[(c[s>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[r>>2]=(c[r>>2]|0)+ -1}if((c[r>>2]|0)<0){c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}c[k>>2]=c[(c[p>>2]|0)+12>>2];c[h>>2]=c[c[k>>2]>>2];c[l>>2]=se(c[h>>2]|0,72,0)|0;if(!(c[l>>2]|0)){c[j>>2]=2;f=c[j>>2]|0;i=n;return f|0}c[q+0>>2]=0;c[q+4>>2]=0;c[m>>2]=bo(c[k>>2]|0,0,0,0,q,c[l>>2]|0,0,0)|0;if(!(c[m>>2]|0)){c[j>>2]=2;f=c[j>>2]|0;i=n;return f|0}else{r=(c[l>>2]|0)+0|0;q=(c[o>>2]|0)+0|0;p=r+72|0;do{c[r>>2]=c[q>>2];r=r+4|0;q=q+4|0}while((r|0)<(p|0));c[(c[o>>2]|0)+32>>2]=c[m>>2];f=c[k>>2]|0;f=eo(f,0,ho(c[h>>2]|0,116,0)|0)|0;c[c[o>>2]>>2]=f;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+36>>2]=0;c[(c[l>>2]|0)+40>>2]=0;c[(c[l>>2]|0)+44>>2]=0;c[(c[l>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+56>>2]=0;f=(c[o>>2]|0)+6|0;b[f>>1]=(e[f>>1]|0)&-65;c[(c[(c[l>>2]|0)+52>>2]|0)+56>>2]=c[l>>2];c[(c[l>>2]|0)+60>>2]=0;c[(c[l>>2]|0)+64>>2]=0;c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}return 0}function br(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;D=i;i=i+160|0;l=D;z=D+148|0;Q=D+144|0;m=D+140|0;k=D+136|0;B=D+132|0;E=D+128|0;r=D+124|0;C=D+120|0;o=D+116|0;h=D+112|0;n=D+108|0;s=D+104|0;t=D+100|0;J=D+96|0;R=D+152|0;O=D+92|0;P=D+88|0;q=D+84|0;p=D+80|0;N=D+76|0;L=D+72|0;v=D+68|0;u=D+64|0;x=D+60|0;w=D+56|0;y=D+52|0;A=D+48|0;j=D+44|0;F=D+40|0;I=D+36|0;G=D+32|0;K=D+24|0;M=D+16|0;H=D+12|0;c[Q>>2]=f;c[m>>2]=g;c[k>>2]=c[(c[Q>>2]|0)+12>>2];c[n>>2]=c[c[k>>2]>>2];b[R>>1]=b[(c[m>>2]|0)+6>>1]|0;f=(c[m>>2]|0)+6|0;b[f>>1]=e[f>>1]|16;if(a[(c[n>>2]|0)+64>>0]|0){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}if((c[(c[m>>2]|0)+32>>2]|0)!=0?(e[R>>1]&16|0)==0:0){c[C>>2]=c[(c[m>>2]|0)+32>>2];c[o>>2]=c[c[m>>2]>>2];f=c[k>>2]|0;mo(f,c[(dr(c[m>>2]|0)|0)+68>>2]|0,0);Xp(c[k>>2]|0,c[C>>2]|0);c[B>>2]=0;c[h>>2]=(c[C>>2]|0)+8;a:while(1){if((c[B>>2]|0)>=(c[c[C>>2]>>2]|0)){P=33;break}if(!((d[(c[h>>2]|0)+37>>0]|0)>>>3&1)){g=c[Q>>2]|0;if(c[(c[h>>2]|0)+16>>2]|0){P=10;break}if(er(g,c[h>>2]|0)|0){P=12;break}do if(!(c[(c[h>>2]|0)+16>>2]|0)){if(!(c[(c[h>>2]|0)+8>>2]|0)){c[P>>2]=c[(c[h>>2]|0)+20>>2];oq(c[Q>>2]|0,c[P>>2]|0)|0;f=se(c[n>>2]|0,76,0)|0;c[O>>2]=f;c[(c[h>>2]|0)+16>>2]=f;if(!(c[O>>2]|0)){P=16;break a}b[(c[O>>2]|0)+40>>1]=1;f=c[n>>2]|0;c[l>>2]=c[O>>2];f=Te(f,17384,l)|0;c[c[O>>2]>>2]=f;while(1){if(!(c[(c[P>>2]|0)+52>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+52>>2]}_p(c[k>>2]|0,c[c[P>>2]>>2]|0,(c[O>>2]|0)+38|0,(c[O>>2]|0)+4|0)|0;b[(c[O>>2]|0)+36>>1]=-1;b[(c[O>>2]|0)+28>>1]=200;f=(c[O>>2]|0)+44|0;a[f>>0]=d[f>>0]|2;break}f=np(c[k>>2]|0,0,c[h>>2]|0)|0;c[O>>2]=f;c[(c[h>>2]|0)+16>>2]=f;if(!(c[O>>2]|0)){P=22;break a}if((e[(c[O>>2]|0)+40>>1]|0)==65535){P=24;break a}f=(c[O>>2]|0)+40|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if((c[(c[O>>2]|0)+12>>2]|0)==0?(d[(c[O>>2]|0)+44>>0]&16|0)==0:0)break;if(Qp(c[k>>2]|0,c[O>>2]|0)|0){P=28;break a}f=Wp(c[n>>2]|0,c[(c[O>>2]|0)+12>>2]|0,0)|0;c[(c[h>>2]|0)+20>>2]=f;oq(c[Q>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0}while(0);if(fr(c[k>>2]|0,c[h>>2]|0)|0){P=31;break}}c[B>>2]=(c[B>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}if((P|0)==10){cr(g,c[m>>2]|0);c[z>>2]=1;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==12){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==16){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==22){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==24){f=c[k>>2]|0;c[l>>2]=c[c[O>>2]>>2];Se(f,17400,l);c[(c[h>>2]|0)+16>>2]=0;c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==28){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==31){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==33){if((d[(c[n>>2]|0)+64>>0]|0)==0?(gr(c[k>>2]|0,c[m>>2]|0)|0)==0:0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[s>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];if((d[c[s>>2]>>0]|0)==116)break;if((d[c[s>>2]>>0]|0)==122?(d[c[(c[s>>2]|0)+16>>2]>>0]|0)==116:0)break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)<(c[c[o>>2]>>2]|0)){c[q>>2]=c[(c[o>>2]|0)+4>>2];c[p>>2]=0;c[N>>2]=c[(c[c[k>>2]>>2]|0)+24>>2];if(c[N>>2]&32)N=(c[N>>2]&64|0)==0;else N=0;c[L>>2]=N&1;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[s>>2]=c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];do if((d[c[s>>2]>>0]|0)!=116){if((d[c[s>>2]>>0]|0)==122?(d[c[t>>2]>>0]|0)==116:0){P=53;break}c[p>>2]=eo(c[k>>2]|0,c[p>>2]|0,c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)|0;if(c[p>>2]|0){c[(c[(c[p>>2]|0)+4>>2]|0)+(((c[c[p>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)+4>>2];c[(c[(c[p>>2]|0)+4>>2]|0)+(((c[c[p>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)+8>>2];c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)+4>>2]=0;c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)+8>>2]=0}c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)>>2]=0}else P=53;while(0);do if((P|0)==53){P=0;c[v>>2]=0;c[u>>2]=0;if((d[c[s>>2]>>0]|0)==122)c[u>>2]=c[(c[(c[s>>2]|0)+12>>2]|0)+8>>2];c[B>>2]=0;c[h>>2]=(c[C>>2]|0)+8;while(1){if((c[B>>2]|0)>=(c[c[C>>2]>>2]|0))break;c[x>>2]=c[(c[h>>2]|0)+16>>2];c[w>>2]=c[(c[h>>2]|0)+20>>2];c[y>>2]=c[(c[h>>2]|0)+12>>2];c[A>>2]=0;if(!(c[y>>2]|0))c[y>>2]=c[c[x>>2]>>2];if(a[(c[n>>2]|0)+64>>0]|0)break;if((c[w>>2]|0)!=0?(e[(c[w>>2]|0)+6>>1]&512|0)!=0:0)P=67;else P=62;do if((P|0)==62){P=0;c[w>>2]=0;if((c[u>>2]|0)!=0?(xc(c[u>>2]|0,c[y>>2]|0)|0)!=0:0)break;c[j>>2]=Ve(c[n>>2]|0,c[(c[x>>2]|0)+68>>2]|0)|0;if((c[j>>2]|0)>=0)N=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0;else N=17440;c[A>>2]=N;P=67}while(0);b:do if((P|0)==67){P=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(b[(c[x>>2]|0)+38>>1]|0))break b;c[F>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[E>>2]|0)*24|0)>>2];if(!((c[u>>2]|0)!=0&(c[w>>2]|0)!=0?(Xq(c[(c[(c[c[w>>2]>>2]|0)+4>>2]|0)+((c[E>>2]|0)*20|0)+8>>2]|0,0,c[u>>2]|0,0)|0)==0:0))P=71;do if((P|0)==71){P=0;if(d[(c[(c[x>>2]|0)+4>>2]|0)+((c[E>>2]|0)*24|0)+23>>0]&2)break;c[v>>2]=1;if((c[B>>2]|0)>0&(c[u>>2]|0)==0){if((d[(c[h>>2]|0)+36>>0]&4|0)!=0?(hr(c[C>>2]|0,c[B>>2]|0,c[F>>2]|0,0,0)|0)!=0:0)break;if((ir(c[(c[h>>2]|0)+48>>2]|0,c[F>>2]|0)|0)>=0)break}c[t>>2]=ho(c[n>>2]|0,27,c[F>>2]|0)|0;c[I>>2]=c[F>>2];c[G>>2]=0;do if(c[L>>2]|0)P=78;else{if((c[c[C>>2]>>2]|0)>1){P=78;break}c[J>>2]=c[t>>2]}while(0);do if((P|0)==78){P=0;c[M>>2]=ho(c[n>>2]|0,27,c[y>>2]|0)|0;c[J>>2]=Rn(c[k>>2]|0,122,c[M>>2]|0,c[t>>2]|0,0)|0;if(c[A>>2]|0){c[M>>2]=ho(c[n>>2]|0,27,c[A>>2]|0)|0;c[J>>2]=Rn(c[k>>2]|0,122,c[M>>2]|0,c[J>>2]|0,0)|0}if(!(c[L>>2]|0))break;f=c[n>>2]|0;R=c[F>>2]|0;c[l>>2]=c[y>>2];c[l+4>>2]=R;c[I>>2]=Te(f,17448,l)|0;c[G>>2]=c[I>>2]}while(0);c[p>>2]=eo(c[k>>2]|0,c[p>>2]|0,c[J>>2]|0)|0;c[K>>2]=c[I>>2];c[K+4>>2]=Mb(c[I>>2]|0)|0;fo(c[k>>2]|0,c[p>>2]|0,K,0);do if(c[p>>2]|0){if(!(e[(c[m>>2]|0)+6>>1]&512))break;c[H>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(((c[c[p>>2]>>2]|0)-1|0)*20|0);N=c[n>>2]|0;if(c[w>>2]|0){f=ne(N,c[(c[(c[c[w>>2]>>2]|0)+4>>2]|0)+((c[E>>2]|0)*20|0)+8>>2]|0)|0;c[(c[H>>2]|0)+8>>2]=f}else{R=c[y>>2]|0;f=c[I>>2]|0;c[l>>2]=c[A>>2];c[l+4>>2]=R;c[l+8>>2]=f;f=Te(N,17456,l)|0;c[(c[H>>2]|0)+8>>2]=f}f=(c[H>>2]|0)+13|0;a[f>>0]=a[f>>0]&-3|2}while(0);Xb(c[n>>2]|0,c[G>>2]|0)}while(0);c[E>>2]=(c[E>>2]|0)+1}}while(0);c[B>>2]=(c[B>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}if(!(c[v>>2]|0)){N=c[k>>2]|0;if(c[u>>2]|0){c[l>>2]=c[u>>2];Se(N,17472,l);break}else{Se(N,17496,l);break}}}while(0);c[r>>2]=(c[r>>2]|0)+1}sn(c[n>>2]|0,c[o>>2]|0);c[c[m>>2]>>2]=c[p>>2]}if((c[c[m>>2]>>2]|0)!=0?(c[c[c[m>>2]>>2]>>2]|0)>(c[(c[n>>2]|0)+96>>2]|0):0)Se(c[k>>2]|0,17520,l);c[z>>2]=0;f=c[z>>2]|0;i=D;return f|0}c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}}c[z>>2]=1;f=c[z>>2]|0;i=D;return f|0}function cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;g=d+8|0;f=d+4|0;e=d;c[h>>2]=a;c[g>>2]=b;c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=c[(dr(c[g>>2]|0)|0)+68>>2];if(!(c[e>>2]|0)){i=d;return}c[(c[f>>2]|0)+532>>2]=c[(c[e>>2]|0)+4>>2];i=d;return}function dr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+56>>2]|0))break;c[d>>2]=c[a+56>>2]}i=b;return a|0}function er(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;o=i;i=i+80|0;r=o;n=o+72|0;l=o+68|0;y=o+64|0;k=o+60|0;z=o+56|0;j=o+52|0;u=o+48|0;q=o+44|0;t=o+40|0;m=o+36|0;p=o+32|0;s=o+28|0;h=o+24|0;x=o+20|0;w=o+16|0;v=o+12|0;c[l>>2]=f;c[y>>2]=g;c[k>>2]=c[(c[l>>2]|0)+12>>2];c[z>>2]=c[c[k>>2]>>2];c[j>>2]=vr(c[(c[k>>2]|0)+532>>2]|0,c[y>>2]|0,u)|0;if(c[j>>2]|0){if(c[(c[j>>2]|0)+12>>2]|0){z=c[k>>2]|0;f=c[(c[j>>2]|0)+12>>2]|0;c[r>>2]=c[c[j>>2]>>2];Se(z,f,r);c[n>>2]=1;f=c[n>>2]|0;i=o;return f|0}f=se(c[z>>2]|0,76,0)|0;c[q>>2]=f;c[(c[y>>2]|0)+16>>2]=f;if(!(c[q>>2]|0)){c[n>>2]=2;f=c[n>>2]|0;i=o;return f|0}b[(c[q>>2]|0)+40>>1]=1;f=ne(c[z>>2]|0,c[c[j>>2]>>2]|0)|0;c[c[q>>2]>>2]=f;b[(c[q>>2]|0)+36>>1]=-1;b[(c[q>>2]|0)+28>>1]=200;f=(c[q>>2]|0)+44|0;a[f>>0]=d[f>>0]|2;f=Wp(c[z>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;c[(c[y>>2]|0)+20>>2]=f;if(a[(c[z>>2]|0)+64>>0]|0){c[n>>2]=7;f=c[n>>2]|0;i=o;return f|0}c[m>>2]=c[(c[y>>2]|0)+20>>2];if((d[(c[m>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[m>>2]|0)+4>>0]|0)==115;c[s>>2]=g&1;a:do if(c[s>>2]|0){c[w>>2]=c[(c[(c[y>>2]|0)+20>>2]|0)+32>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[w>>2]>>2]|0))break a;c[v>>2]=(c[w>>2]|0)+8+((c[x>>2]|0)*72|0);if(((c[(c[v>>2]|0)+4>>2]|0)==0?(c[(c[v>>2]|0)+8>>2]|0)!=0:0)?0==(xc(c[(c[v>>2]|0)+8>>2]|0,c[c[j>>2]>>2]|0)|0):0){c[(c[v>>2]|0)+16>>2]=c[q>>2];f=(c[v>>2]|0)+37|0;a[f>>0]=a[f>>0]&-9|8;f=(c[q>>2]|0)+40|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[m>>2]|0)+6|0;b[f>>1]=e[f>>1]|2048}c[x>>2]=(c[x>>2]|0)+1}}while(0);if((e[(c[q>>2]|0)+40>>1]|0)>2){f=c[k>>2]|0;c[r>>2]=c[c[j>>2]>>2];Se(f,17752,r);c[n>>2]=1;f=c[n>>2]|0;i=o;return f|0}c[(c[j>>2]|0)+12>>2]=17800;c[h>>2]=c[(c[k>>2]|0)+532>>2];c[(c[k>>2]|0)+532>>2]=c[u>>2];u=c[m>>2]|0;if(c[s>>2]|0)u=c[u+52>>2]|0;oq(c[l>>2]|0,u)|0;c[p>>2]=c[m>>2];while(1){u=c[p>>2]|0;if(!(c[(c[p>>2]|0)+52>>2]|0))break;c[p>>2]=c[u+52>>2]}c[t>>2]=c[u>>2];do if(c[(c[j>>2]|0)+4>>2]|0){if((c[c[t>>2]>>2]|0)==(c[c[(c[j>>2]|0)+4>>2]>>2]|0)){c[t>>2]=c[(c[j>>2]|0)+4>>2];break}f=c[k>>2]|0;g=c[c[t>>2]>>2]|0;z=c[c[(c[j>>2]|0)+4>>2]>>2]|0;c[r>>2]=c[c[j>>2]>>2];c[r+4>>2]=g;c[r+8>>2]=z;Se(f,17824,r);c[(c[k>>2]|0)+532>>2]=c[h>>2];c[n>>2]=1;f=c[n>>2]|0;i=o;return f|0}while(0);_p(c[k>>2]|0,c[t>>2]|0,(c[q>>2]|0)+38|0,(c[q>>2]|0)+4|0)|0;if(c[s>>2]|0){p=(c[j>>2]|0)+12|0;if(e[(c[m>>2]|0)+6>>1]&2048)c[p>>2]=17864;else c[p>>2]=17904;oq(c[l>>2]|0,c[m>>2]|0)|0}c[(c[j>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+532>>2]=c[h>>2]}c[n>>2]=0;f=c[n>>2]|0;i=o;return f|0}function fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;l=f;e=f+28|0;j=f+24|0;h=f+20|0;m=f+16|0;k=f+12|0;g=f+8|0;c[j>>2]=b;c[h>>2]=d;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?(c[(c[h>>2]|0)+64>>2]|0)!=0:0){c[m>>2]=c[(c[h>>2]|0)+16>>2];c[k>>2]=c[(c[h>>2]|0)+64>>2];c[g>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;if(!(xc(c[c[g>>2]>>2]|0,c[k>>2]|0)|0))break;c[g>>2]=c[(c[g>>2]|0)+20>>2]}if(c[g>>2]|0){c[(c[h>>2]|0)+68>>2]=c[g>>2];break}b=c[j>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=0;Se(b,17728,l);a[(c[j>>2]|0)+17>>0]=1;c[e>>2]=1;b=c[e>>2]|0;i=f;return b|0}while(0);c[e>>2]=0;b=c[e>>2]|0;i=f;return b|0}function gr(a,e){a=a|0;e=e|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;i=i+80|0;h=f;j=f+76|0;g=f+72|0;l=f+68|0;m=f+64|0;p=f+60|0;q=f+56|0;v=f+52|0;x=f+48|0;w=f+44|0;s=f+40|0;r=f+36|0;t=f+32|0;n=f+28|0;o=f+24|0;u=f+20|0;k=f+16|0;z=f+12|0;A=f+8|0;y=f+4|0;c[g>>2]=a;c[l>>2]=e;c[m>>2]=c[(c[l>>2]|0)+32>>2];c[v>>2]=(c[m>>2]|0)+8;c[x>>2]=(c[v>>2]|0)+72;c[p>>2]=0;a:while(1){if((c[p>>2]|0)>=((c[c[m>>2]>>2]|0)-1|0)){l=28;break}c[w>>2]=c[(c[v>>2]|0)+16>>2];c[s>>2]=c[(c[x>>2]|0)+16>>2];b:do if(!((c[w>>2]|0)==0|(c[s>>2]|0)==0)){c[r>>2]=(d[(c[x>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[x>>2]|0)+36>>0]&4){if(c[(c[x>>2]|0)+44>>2]|0){l=7;break a}if(c[(c[x>>2]|0)+48>>2]|0){l=7;break a}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[s>>2]|0)+38>>1]|0))break c;c[t>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[q>>2]|0)*24|0)>>2];if(hr(c[m>>2]|0,(c[p>>2]|0)+1|0,c[t>>2]|0,n,o)|0)kr(c[g>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0,c[q>>2]|0,c[r>>2]|0,(c[l>>2]|0)+36|0);c[q>>2]=(c[q>>2]|0)+1}}while(0);if((c[(c[x>>2]|0)+44>>2]|0)!=0?(c[(c[x>>2]|0)+48>>2]|0)!=0:0){l=15;break a}if(c[(c[x>>2]|0)+44>>2]|0){if(c[r>>2]|0)lr(c[(c[x>>2]|0)+44>>2]|0,c[(c[x>>2]|0)+40>>2]|0);a=mr(c[c[g>>2]>>2]|0,c[(c[l>>2]|0)+36>>2]|0,c[(c[x>>2]|0)+44>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=a;c[(c[x>>2]|0)+44>>2]=0}if(c[(c[x>>2]|0)+48>>2]|0){c[u>>2]=c[(c[x>>2]|0)+48>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[u>>2]|0)+4>>2]|0))break b;c[k>>2]=c[(c[c[u>>2]>>2]|0)+(c[q>>2]<<3)>>2];c[y>>2]=jr(c[s>>2]|0,c[k>>2]|0)|0;if((c[y>>2]|0)<0){l=25;break a}if(!(hr(c[m>>2]|0,(c[p>>2]|0)+1|0,c[k>>2]|0,z,A)|0)){l=25;break a}kr(c[g>>2]|0,c[m>>2]|0,c[z>>2]|0,c[A>>2]|0,(c[p>>2]|0)+1|0,c[y>>2]|0,c[r>>2]|0,(c[l>>2]|0)+36|0);c[q>>2]=(c[q>>2]|0)+1}}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72;c[v>>2]=(c[v>>2]|0)+72}if((l|0)==7){a=c[g>>2]|0;c[h>>2]=0;Se(a,17552,h);c[j>>2]=1;a=c[j>>2]|0;i=f;return a|0}else if((l|0)==15){Se(c[g>>2]|0,17608,h);c[j>>2]=1;a=c[j>>2]|0;i=f;return a|0}else if((l|0)==25){a=c[g>>2]|0;c[h>>2]=c[k>>2];Se(a,17664,h);c[j>>2]=1;a=c[j>>2]|0;i=f;return a|0}else if((l|0)==28){c[j>>2]=0;a=c[j>>2]|0;i=f;return a|0}return 0}function hr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;j=i;i=i+32|0;o=j+28|0;g=j+24|0;q=j+20|0;p=j+16|0;l=j+12|0;n=j+8|0;k=j+4|0;m=j;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[l>>2]=e;c[n>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[q>>2]|0)){h=8;break}c[m>>2]=jr(c[(c[g>>2]|0)+8+((c[k>>2]|0)*72|0)+16>>2]|0,c[p>>2]|0)|0;if((c[m>>2]|0)>=0)break;c[k>>2]=(c[k>>2]|0)+1}if((h|0)==8){c[o>>2]=0;a=c[o>>2]|0;i=j;return a|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[k>>2];c[c[n>>2]>>2]=c[m>>2]}c[o>>2]=1;a=c[o>>2]|0;i=j;return a|0}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;h=d+4|0;g=d;c[f>>2]=a;c[h>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-1;a=c[e>>2]|0;i=d;return a|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=8;break}a=(xc(c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[h>>2]|0)|0)==0;b=c[g>>2]|0;if(a){f=6;break}c[g>>2]=b+1}if((f|0)==6){c[e>>2]=b;a=c[e>>2]|0;i=d;return a|0}else if((f|0)==8){c[e>>2]=-1;a=c[e>>2]|0;i=d;return a|0}return 0}function jr(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;e=f+12|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[j>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(b[(c[g>>2]|0)+38>>1]|0)){g=6;break}a=(xc(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)>>2]|0,c[j>>2]|0)|0)==0;d=c[h>>2]|0;if(a){g=4;break}c[h>>2]=d+1}if((g|0)==4){c[e>>2]=d;a=c[e>>2]|0;i=f;return a|0}else if((g|0)==6){c[e>>2]=-1;a=c[e>>2]|0;i=f;return a|0}return 0}function kr(a,d,e,f,g,h,j,k){a=a|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;n=p+12|0;r=p+8|0;o=p+4|0;m=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[n>>2]=c[c[s>>2]>>2];c[r>>2]=ur(c[n>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[o>>2]=ur(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[m>>2]=Rn(c[s>>2]|0,79,c[r>>2]|0,c[o>>2]|0,0)|0;if(!((c[m>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[n>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[m>>2]|0;w=mr(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[m>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[m>>2]|0)+36>>1]=c[(c[o>>2]|0)+28>>2];v=c[n>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[m>>2]|0;w=mr(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function lr(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];lr(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=e;return}function mr(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;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;k=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[k>>2]=d;d=c[k>>2]|0;if(!(c[e>>2]|0)){c[f>>2]=d;a=c[f>>2]|0;i=j;return a|0}b=c[e>>2]|0;if(!d){c[f>>2]=b;a=c[f>>2]|0;i=j;return a|0}if((nr(b)|0)==0?(nr(c[k>>2]|0)|0)==0:0){c[h>>2]=or(c[g>>2]|0,72,0,0)|0;pr(c[g>>2]|0,c[h>>2]|0,c[e>>2]|0,c[k>>2]|0);c[f>>2]=c[h>>2];a=c[f>>2]|0;i=j;return a|0}wn(c[g>>2]|0,c[e>>2]|0);wn(c[g>>2]|0,c[k>>2]|0);c[f>>2]=or(c[g>>2]|0,132,10152,0)|0;a=c[f>>2]|0;i=j;return a|0}function nr(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;do if(!(c[(c[f>>2]|0)+4>>2]&1))if(yq(c[f>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=d;return c[b>>2]|0}function or(d,e,f,g){d=d|0;e=e|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;j=i;i=i+32|0;q=j+28|0;p=j+24|0;l=j+20|0;n=j+16|0;o=j+12|0;h=j+8|0;k=j+4|0;m=j;c[q>>2]=d;c[p>>2]=e;c[l>>2]=f;c[n>>2]=g;c[h>>2]=0;c[k>>2]=0;do if(c[l>>2]|0){if(((c[p>>2]|0)==132?(c[c[l>>2]>>2]|0)!=0:0)?(Ag(c[c[l>>2]>>2]|0,k)|0)!=0:0)break;c[h>>2]=(c[(c[l>>2]|0)+4>>2]|0)+1}while(0);c[o>>2]=se(c[q>>2]|0,48+(c[h>>2]|0)|0,0)|0;if(!(c[o>>2]|0)){d=c[o>>2]|0;i=j;return d|0}a[c[o>>2]>>0]=c[p>>2];b[(c[o>>2]|0)+34>>1]=-1;do if(c[l>>2]|0){g=c[o>>2]|0;if(!(c[h>>2]|0)){d=g+4|0;c[d>>2]=c[d>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[k>>2];break}c[(c[o>>2]|0)+8>>2]=g+48;if(c[(c[l>>2]|0)+4>>2]|0)dF(c[(c[o>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;a[(c[(c[o>>2]|0)+8>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)>>0]=0;if(((c[n>>2]|0)!=0&(c[h>>2]|0)>=3?(d=a[c[c[l>>2]>>2]>>0]|0,c[m>>2]=d,(d|0)==39|(c[m>>2]|0)==34|(c[m>>2]|0)==91|(c[m>>2]|0)==96):0)?(sm(c[(c[o>>2]|0)+8>>2]|0)|0,(c[m>>2]|0)==34):0){d=(c[o>>2]|0)+4|0;c[d>>2]=c[d>>2]|64}}while(0);c[(c[o>>2]|0)+24>>2]=1;d=c[o>>2]|0;i=j;return d|0}function pr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f+12|0;k=f+8|0;j=f+4|0;g=f;c[h>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){wn(c[h>>2]|0,c[j>>2]|0);wn(c[h>>2]|0,c[g>>2]|0);i=f;return}if(c[g>>2]|0){c[(c[k>>2]|0)+16>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|256&c[(c[g>>2]|0)+4>>2]}if(c[j>>2]|0){c[(c[k>>2]|0)+12>>2]=c[j>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|256&c[(c[j>>2]|0)+4>>2]}qr(c[k>>2]|0);i=f;return}function qr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;rr(c[(c[d>>2]|0)+12>>2]|0,e);rr(c[(c[d>>2]|0)+16>>2]|0,e);a=(c[d>>2]|0)+20|0;if(c[(c[d>>2]|0)+4>>2]&2048)sr(c[a>>2]|0,e);else tr(c[a>>2]|0,e);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)+1;i=b;return}function rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){i=d;return}if((c[(c[e>>2]|0)+24>>2]|0)<=(c[c[f>>2]>>2]|0)){i=d;return}c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];i=d;return}function sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){i=d;return}rr(c[(c[e>>2]|0)+36>>2]|0,c[f>>2]|0);rr(c[(c[e>>2]|0)+44>>2]|0,c[f>>2]|0);rr(c[(c[e>>2]|0)+60>>2]|0,c[f>>2]|0);rr(c[(c[e>>2]|0)+64>>2]|0,c[f>>2]|0);tr(c[c[e>>2]>>2]|0,c[f>>2]|0);tr(c[(c[e>>2]|0)+40>>2]|0,c[f>>2]|0);tr(c[(c[e>>2]|0)+48>>2]|0,c[f>>2]|0);sr(c[(c[e>>2]|0)+52>>2]|0,c[f>>2]|0);i=d;return}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){i=d;return}c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[f>>2]>>2]|0))break;rr(c[(c[(c[f>>2]|0)+4>>2]|0)+((c[e>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=d;return}function ur(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;n=g+20|0;l=g+16|0;m=g+12|0;j=g+8|0;h=g+4|0;k=g;c[n>>2]=a;c[l>>2]=d;c[m>>2]=e;c[j>>2]=f;c[h>>2]=or(c[n>>2]|0,154,0,0)|0;if(!(c[h>>2]|0)){n=c[h>>2]|0;i=g;return n|0}c[k>>2]=(c[l>>2]|0)+8+((c[m>>2]|0)*72|0);c[(c[h>>2]|0)+44>>2]=c[(c[k>>2]|0)+16>>2];c[(c[h>>2]|0)+28>>2]=c[(c[k>>2]|0)+40>>2];if((b[(c[(c[h>>2]|0)+44>>2]|0)+36>>1]|0)==(c[j>>2]|0))b[(c[h>>2]|0)+32>>1]=-1;else{b[(c[h>>2]|0)+32>>1]=c[j>>2];d=$E(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[k>>2]|0)+56|0;e=n;a=c[e+4>>2]|D;c[n>>2]=c[e>>2]|d;c[n+4>>2]=a}n=(c[h>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[h>>2]|0;i=g;return n|0}function vr(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,l=0,m=0;f=i;i=i+32|0;j=f+24|0;l=f+20|0;m=f+16|0;k=f+12|0;e=f+8|0;h=f+4|0;g=f;c[l>>2]=a;c[m>>2]=b;c[k>>2]=d;a:do if((c[(c[m>>2]|0)+4>>2]|0)==0?(a=c[(c[m>>2]|0)+8>>2]|0,c[e>>2]=a,(a|0)!=0):0){c[h>>2]=c[l>>2];b:while(1){if(!(c[h>>2]|0))break a;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[h>>2]>>2]|0))break;if(!(xc(c[e>>2]|0,c[(c[h>>2]|0)+8+(c[g>>2]<<4)>>2]|0)|0))break b;c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=c[(c[h>>2]|0)+4>>2]}c[c[k>>2]>>2]=c[h>>2];c[j>>2]=(c[h>>2]|0)+8+(c[g>>2]<<4);a=c[j>>2]|0;i=f;return a|0}while(0);c[j>>2]=0;a=c[j>>2]|0;i=f;return a|0}function wr(e,f,g){e=e|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;o=i;i=i+48|0;n=o+36|0;p=o+32|0;h=o+28|0;r=o+24|0;k=o+20|0;l=o+16|0;s=o+12|0;m=o+8|0;j=o+4|0;q=o;c[p>>2]=e;c[h>>2]=f;c[r>>2]=g;if(!(c[h>>2]|0)){c[n>>2]=0;e=c[n>>2]|0;i=o;return e|0}if((c[c[h>>2]>>2]|0)>0)g=((c[c[h>>2]>>2]|0)-1|0)*72|0;else g=0;c[s>>2]=80+g;e=c[s>>2]|0;c[k>>2]=Qe(c[p>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){c[n>>2]=0;e=c[n>>2]|0;i=o;return e|0}e=c[c[h>>2]>>2]|0;c[(c[k>>2]|0)+4>>2]=e;c[c[k>>2]>>2]=e;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[h>>2]>>2]|0))break;c[m>>2]=(c[k>>2]|0)+8+((c[l>>2]|0)*72|0);c[j>>2]=(c[h>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[m>>2]>>2]=c[c[j>>2]>>2];e=ne(c[p>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=ne(c[p>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;e=ne(c[p>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=e;a[(c[m>>2]|0)+36>>0]=a[(c[j>>2]|0)+36>>0]|0;c[(c[m>>2]|0)+40>>2]=c[(c[j>>2]|0)+40>>2];c[(c[m>>2]|0)+24>>2]=c[(c[j>>2]|0)+24>>2];c[(c[m>>2]|0)+28>>2]=c[(c[j>>2]|0)+28>>2];e=(c[m>>2]|0)+37|0;a[e>>0]=a[e>>0]&-3|((d[(c[j>>2]|0)+37>>0]|0)>>>1&1)<<1&255;e=(c[m>>2]|0)+37|0;a[e>>0]=a[e>>0]&-5|((d[(c[j>>2]|0)+37>>0]|0)>>>2&1)<<2&255;e=(c[m>>2]|0)+37|0;a[e>>0]=a[e>>0]&-9|((d[(c[j>>2]|0)+37>>0]|0)>>>3&1)<<3&255;e=ne(c[p>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[m>>2]|0)+64>>2]=e;e=(c[m>>2]|0)+37|0;a[e>>0]=a[e>>0]&-2|a[(c[j>>2]|0)+37>>0]&1;c[(c[m>>2]|0)+68>>2]=c[(c[j>>2]|0)+68>>2];e=c[(c[j>>2]|0)+16>>2]|0;c[(c[m>>2]|0)+16>>2]=e;c[q>>2]=e;if(c[q>>2]|0){e=(c[q>>2]|0)+40|0;b[e>>1]=(b[e>>1]|0)+1<<16>>16}g=Wp(c[p>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[r>>2]|0)|0;c[(c[m>>2]|0)+20>>2]=g;g=Bq(c[p>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[r>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=g;g=yr(c[p>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0;c[(c[m>>2]|0)+48>>2]=g;g=(c[j>>2]|0)+56|0;f=c[g+4>>2]|0;e=(c[m>>2]|0)+56|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[k>>2];e=c[n>>2]|0;i=o;return e|0}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;h=d+16|0;g=d+12|0;e=d+8|0;j=d+4|0;f=d;c[h>>2]=a;c[g>>2]=b;c[e>>2]=0;if(!(c[g>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[j>>2]=24+((c[c[g>>2]>>2]|0)-1<<4);a=c[j>>2]|0;c[e>>2]=se(c[h>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[e>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[c[e>>2]>>2]=c[c[g>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;a=Wp(c[h>>2]|0,c[(c[g>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]=a;a=Jq(c[h>>2]|0,c[(c[g>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]=a;a=ne(c[h>>2]|0,c[(c[g>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]=a;c[f>>2]=(c[f>>2]|0)+1}a=c[e>>2]|0;i=d;return a|0}function yr(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;i=i+32|0;e=d+24|0;f=d+20|0;j=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[j>>2]=b;if(!(c[j>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[g>>2]=Qe(c[f>>2]|0,8,0)|0;if(!(c[g>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[(c[g>>2]|0)+4>>2]=c[(c[j>>2]|0)+4>>2];a=Qe(c[f>>2]|0,c[(c[j>>2]|0)+4>>2]<<3,0)|0;c[c[g>>2]>>2]=a;if(!(c[c[g>>2]>>2]|0)){Xb(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[k>>2]=(c[c[g>>2]>>2]|0)+(c[h>>2]<<3);c[l>>2]=(c[c[j>>2]>>2]|0)+(c[h>>2]<<3);a=ne(c[f>>2]|0,c[c[l>>2]>>2]|0)|0;c[c[k>>2]>>2]=a;c[(c[k>>2]|0)+4>>2]=c[(c[l>>2]|0)+4>>2];c[h>>2]=(c[h>>2]|0)+1}c[e>>2]=c[g>>2];a=c[e>>2]|0;i=d;return a|0}function zr(e,f,g,h,j){e=e|0;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,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;r=i;i=i+96|0;o=r;k=r+92|0;m=r+88|0;u=r+84|0;B=r+80|0;G=r+76|0;p=r+72|0;C=r+64|0;F=r+60|0;q=r+56|0;n=r+52|0;I=r+48|0;H=r+44|0;s=r+40|0;l=r+36|0;E=r+32|0;D=r+28|0;t=r+24|0;v=r+20|0;z=r+16|0;w=r+12|0;y=r+8|0;x=r+4|0;c[m>>2]=e;c[u>>2]=f;c[B>>2]=g;c[G>>2]=h;c[p>>2]=j;c[I>>2]=c[(c[u>>2]|0)+56>>2];c[H>>2]=c[(c[u>>2]|0)+52>>2];c[s>>2]=0;e=c[m>>2]|0;c[o>>2]=c[c[u>>2]>>2];c[l>>2]=Te(e,1200,o)|0;if(!(c[l>>2]|0)){c[k>>2]=7;e=c[k>>2]|0;i=r;return e|0}c[q>>2]=se(c[m>>2]|0,28,0)|0;j=c[m>>2]|0;if(!(c[q>>2]|0)){Xb(j,c[l>>2]|0);c[k>>2]=7;e=c[k>>2]|0;i=r;return e|0}c[c[q>>2]>>2]=j;c[(c[q>>2]|0)+4>>2]=c[B>>2];c[E>>2]=Ve(c[m>>2]|0,c[(c[u>>2]|0)+68>>2]|0)|0;c[(c[(c[u>>2]|0)+56>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[E>>2]<<4)>>2];c[C+4>>2]=c[u>>2];c[C>>2]=c[q>>2];c[F>>2]=c[(c[m>>2]|0)+324>>2];c[(c[m>>2]|0)+324>>2]=C;c[n>>2]=tb[c[G>>2]&1](c[m>>2]|0,c[(c[B>>2]|0)+8>>2]|0,c[H>>2]|0,c[I>>2]|0,(c[q>>2]|0)+8|0,s)|0;c[(c[m>>2]|0)+324>>2]=c[F>>2];if((c[n>>2]|0)==7)a[(c[m>>2]|0)+64>>0]=1;a:do if(!(c[n>>2]|0)){if(c[(c[q>>2]|0)+8>>2]|0){e=c[(c[q>>2]|0)+8>>2]|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[c[(c[q>>2]|0)+8>>2]>>2]=c[c[B>>2]>>2];c[(c[q>>2]|0)+12>>2]=1;if(c[C+4>>2]|0){c[D>>2]=18e3;f=c[m>>2]|0;e=c[D>>2]|0;c[o>>2]=c[c[u>>2]>>2];e=Te(f,e,o)|0;c[c[p>>2]>>2]=e;Nk(c[q>>2]|0);c[n>>2]=1;break}c[(c[q>>2]|0)+24>>2]=c[(c[u>>2]|0)+60>>2];c[(c[u>>2]|0)+60>>2]=c[q>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[u>>2]|0)+38>>1]|0))break a;c[v>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+12>>2];c[w>>2]=0;if(c[v>>2]|0){c[z>>2]=Mb(c[v>>2]|0)|0;if(!(Lb(18048,c[v>>2]|0,6)|0)){if((a[(c[v>>2]|0)+6>>0]|0)!=0?(a[(c[v>>2]|0)+6>>0]|0)!=32:0)A=21}else A=21;b:do if((A|0)==21){A=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[z>>2]|0))break b;if(!(Lb(18056,(c[v>>2]|0)+(c[w>>2]|0)|0,7)|0)){if(!(a[(c[v>>2]|0)+((c[w>>2]|0)+7)>>0]|0))break;if((a[(c[v>>2]|0)+((c[w>>2]|0)+7)>>0]|0)==32)break}c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}while(0);if((c[w>>2]|0)<(c[z>>2]|0)){c[x>>2]=6+((a[(c[v>>2]|0)+((c[w>>2]|0)+6)>>0]|0)!=0?1:0);c[y>>2]=c[w>>2];while(1){if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[z>>2]|0))break;a[(c[v>>2]|0)+(c[y>>2]|0)>>0]=a[(c[v>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))>>0]|0;c[y>>2]=(c[y>>2]|0)+1}if((c[w>>2]|0)>0?(a[(c[v>>2]|0)+(c[w>>2]|0)>>0]|0)==0:0)a[(c[v>>2]|0)+((c[w>>2]|0)-1)>>0]=0;e=(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+23|0;a[e>>0]=d[e>>0]|2}}c[t>>2]=(c[t>>2]|0)+1}}}else{t=c[m>>2]|0;if(!(c[s>>2]|0)){c[o>>2]=c[l>>2];e=Te(t,17968,o)|0;c[c[p>>2]>>2]=e}else{c[o>>2]=c[s>>2];e=Te(t,1200,o)|0;c[c[p>>2]>>2]=e;hc(c[s>>2]|0)}Xb(c[m>>2]|0,c[q>>2]|0)}while(0);Xb(c[m>>2]|0,c[l>>2]|0);c[k>>2]=c[n>>2];e=c[k>>2]|0;i=r;return e|0}function Ar(b){b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;g=e;c[f>>2]=b;c[d>>2]=0;c[g>>2]=c[c[f>>2]>>2];if(!(a[(c[g>>2]|0)+145>>0]|0))c[d>>2]=_r(c[g>>2]|0,(c[f>>2]|0)+4|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}c[(c[f>>2]|0)+12>>2]=c[d>>2];g=(c[f>>2]|0)+64|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d>>2]|0;i=e;return g|0}function Br(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;f=i;i=i+48|0;d=f+32|0;e=f+28|0;n=f+24|0;m=f+20|0;g=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;h=f;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];pp(c[d>>2]|0,0,c[e>>2]|0);c[j>>2]=c[(c[d>>2]|0)+68>>2];a=(c[d>>2]|0)+68|0;c[a>>2]=(c[a>>2]|0)+3;Fr(c[d>>2]|0,c[e>>2]|0,c[j>>2]|0,0,0);c[k>>2]=(c[(c[d>>2]|0)+72>>2]|0)+1;c[l>>2]=c[(c[d>>2]|0)+68>>2];c[g>>2]=c[(c[m>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];Gr(c[d>>2]|0,c[h>>2]|0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);c[g>>2]=c[c[g>>2]>>2]}Hr(c[d>>2]|0,c[e>>2]|0);i=f;return}function Cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Zo(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=Yf(c[g>>2]|0,c[f>>2]|0)|0;Xb(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function Dr(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;k=i;i=i+32|0;g=k+16|0;e=k+12|0;j=k+8|0;f=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[j>>2]=d;c[f>>2]=Ve(c[c[g>>2]>>2]|0,c[(c[e>>2]|0)+68>>2]|0)|0;pp(c[g>>2]|0,0,c[f>>2]|0);c[h>>2]=c[(c[g>>2]|0)+68>>2];a=(c[g>>2]|0)+68|0;c[a>>2]=(c[a>>2]|0)+3;a=c[g>>2]|0;b=c[f>>2]|0;d=c[h>>2]|0;if(c[j>>2]|0)Fr(a,b,d,c[c[j>>2]>>2]|0,18160);else Fr(a,b,d,c[c[e>>2]>>2]|0,18168);Gr(c[g>>2]|0,c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,(c[(c[g>>2]|0)+72>>2]|0)+1|0,c[(c[g>>2]|0)+68>>2]|0);Hr(c[g>>2]|0,c[f>>2]|0);i=k;return}function Er(b,e,f,g){b=b|0;e=e|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;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;m=n+20|0;o=n+16|0;p=n+12|0;h=n+8|0;q=n+4|0;c[k>>2]=b;c[m>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[c[k>>2]>>2];if((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+4>>2]|0)>>>0>0:0){if(a[(c[q>>2]|0)+145>>0]|0){Se(c[k>>2]|0,18112,l);b=(c[k>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+1;c[j>>2]=-1;b=c[j>>2]|0;i=n;return b|0}c[c[p>>2]>>2]=c[o>>2];c[h>>2]=Cr(c[q>>2]|0,c[m>>2]|0)|0;if((c[h>>2]|0)<0){b=c[k>>2]|0;c[l>>2]=c[m>>2];Se(b,18136,l);b=(c[k>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+1;c[j>>2]=-1;b=c[j>>2]|0;i=n;return b|0}}else{c[h>>2]=d[(c[q>>2]|0)+144>>0];c[c[p>>2]>>2]=c[m>>2]}c[j>>2]=c[h>>2];b=c[j>>2]|0;i=n;return b|0}function Fr(b,d,e,f,g){b=b|0;d=d|0;e=e|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;r=i;i=i+80|0;s=r;p=r+68|0;n=r+64|0;l=r+60|0;u=r+56|0;w=r+52|0;j=r+48|0;v=r+44|0;h=r+40|0;k=r+36|0;m=r+24|0;o=r+72|0;q=r+20|0;t=r+16|0;c[p>>2]=b;c[n>>2]=d;c[l>>2]=e;c[u>>2]=f;c[w>>2]=g;c[v>>2]=c[c[p>>2]>>2];c[k>>2]=dp(c[p>>2]|0)|0;if(!(c[k>>2]|0)){i=r;return}c[h>>2]=(c[(c[v>>2]|0)+16>>2]|0)+(c[n>>2]<<4);c[j>>2]=0;while(1){if((c[j>>2]|0)>=3)break;c[q>>2]=c[18368+(c[j>>2]<<3)>>2];b=sp(c[v>>2]|0,c[q>>2]|0,c[c[h>>2]>>2]|0)|0;c[t>>2]=b;do if(!b){if(c[18372+(c[j>>2]<<3)>>2]|0){b=c[p>>2]|0;e=c[q>>2]|0;d=c[18372+(c[j>>2]<<3)>>2]|0;c[s>>2]=c[c[h>>2]>>2];c[s+4>>2]=e;c[s+8>>2]=d;cp(b,18456,s);c[m+(c[j>>2]<<2)>>2]=c[(c[p>>2]|0)+388>>2];a[o+(c[j>>2]|0)>>0]=2}}else{c[m+(c[j>>2]<<2)>>2]=c[(c[t>>2]|0)+32>>2];a[o+(c[j>>2]|0)>>0]=0;Jr(c[p>>2]|0,c[n>>2]|0,c[m+(c[j>>2]<<2)>>2]|0,1,c[q>>2]|0);if(c[u>>2]|0){b=c[p>>2]|0;f=c[q>>2]|0;e=c[w>>2]|0;d=c[u>>2]|0;c[s>>2]=c[c[h>>2]>>2];c[s+4>>2]=f;c[s+8>>2]=e;c[s+12>>2]=d;cp(b,18480,s);break}else{fp(c[k>>2]|0,118,c[m+(c[j>>2]<<2)>>2]|0,c[n>>2]|0)|0;break}}while(0);c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if(!(c[18372+(c[j>>2]<<3)>>2]|0))break;We(c[k>>2]|0,55,(c[l>>2]|0)+(c[j>>2]|0)|0,c[m+(c[j>>2]<<2)>>2]|0,c[n>>2]|0,3)|0;Xe(c[k>>2]|0,a[o+(c[j>>2]|0)>>0]|0);c[j>>2]=(c[j>>2]|0)+1}i=r;return}function Gr(b,f,g,h,j,k){b=b|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,M=0,N=0,O=0,P=0,Q=0,R=0;H=i;i=i+128|0;K=H+116|0;P=H+112|0;x=H+108|0;u=H+104|0;R=H+100|0;Q=H+96|0;E=H+92|0;y=H+88|0;A=H+84|0;o=H+80|0;n=H+76|0;G=H+72|0;q=H+68|0;M=H+64|0;w=H+120|0;v=H+60|0;z=H+56|0;J=H+52|0;t=H+48|0;s=H+44|0;r=H+40|0;p=H+36|0;I=H+32|0;N=H+28|0;C=H+24|0;B=H+20|0;O=H+16|0;l=H+12|0;D=H+8|0;F=H+4|0;L=H;c[K>>2]=b;c[P>>2]=f;c[x>>2]=g;c[u>>2]=h;c[R>>2]=j;c[Q>>2]=k;c[E>>2]=c[c[K>>2]>>2];c[q>>2]=-1;a[w>>0]=1;f=c[R>>2]|0;c[R>>2]=f+1;c[v>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[z>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[J>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[t>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[s>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[r>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[p>>2]=f;c[I>>2]=c[R>>2];if((c[(c[K>>2]|0)+72>>2]|0)>(c[R>>2]|0))b=c[(c[K>>2]|0)+72>>2]|0;else b=c[R>>2]|0;c[(c[K>>2]|0)+72>>2]=b;c[n>>2]=dp(c[K>>2]|0)|0;if((c[n>>2]|0)==0|(c[P>>2]|0)==0){i=H;return}if(!(c[(c[P>>2]|0)+32>>2]|0)){i=H;return}if(!(Lb(c[c[P>>2]>>2]|0,15144,7)|0)){i=H;return}c[M>>2]=Ve(c[E>>2]|0,c[(c[P>>2]|0)+68>>2]|0)|0;if(ap(c[K>>2]|0,28,c[c[P>>2]>>2]|0,0,c[(c[(c[E>>2]|0)+16>>2]|0)+(c[M>>2]<<4)>>2]|0)|0){i=H;return}Jr(c[K>>2]|0,c[M>>2]|0,c[(c[P>>2]|0)+32>>2]|0,0,c[c[P>>2]>>2]|0);R=c[Q>>2]|0;c[Q>>2]=R+1;c[o>>2]=R;R=c[Q>>2]|0;c[Q>>2]=R+1;c[A>>2]=R;if((c[(c[K>>2]|0)+68>>2]|0)>(c[Q>>2]|0))Q=c[(c[K>>2]|0)+68>>2]|0;else Q=c[Q>>2]|0;c[(c[K>>2]|0)+68>>2]=Q;Kr(c[K>>2]|0,c[o>>2]|0,c[M>>2]|0,c[P>>2]|0,54);hp(c[n>>2]|0,97,0,c[s>>2]|0,0,c[c[P>>2]>>2]|0,0)|0;c[y>>2]=c[(c[P>>2]|0)+8>>2];while(1){Q=c[x>>2]|0;if(!(c[y>>2]|0))break;if(!((Q|0)!=0?(c[x>>2]|0)!=(c[y>>2]|0):0))m=15;do if((m|0)==15){m=0;if(!(c[(c[y>>2]|0)+36>>2]|0))a[w>>0]=0;if(((d[(c[P>>2]|0)+44>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){c[N>>2]=e[(c[y>>2]|0)+50>>1];c[O>>2]=c[c[P>>2]>>2];c[l>>2]=(c[N>>2]|0)-1}else{c[N>>2]=e[(c[y>>2]|0)+52>>1];c[O>>2]=c[c[y>>2]>>2];if((d[(c[y>>2]|0)+55>>0]|0)>>>3&1)Q=e[(c[y>>2]|0)+50>>1]|0;else Q=c[N>>2]|0;c[l>>2]=Q-1}hp(c[n>>2]|0,97,0,c[r>>2]|0,0,c[O>>2]|0,0)|0;if((c[(c[K>>2]|0)+72>>2]|0)>((c[I>>2]|0)+(c[l>>2]|0)|0))Q=c[(c[K>>2]|0)+72>>2]|0;else Q=(c[I>>2]|0)+(c[l>>2]|0)|0;c[(c[K>>2]|0)+72>>2]=Q;ip(c[n>>2]|0,54,c[A>>2]|0,c[(c[y>>2]|0)+44>>2]|0,c[M>>2]|0)|0;Lr(c[K>>2]|0,c[y>>2]|0);fp(c[n>>2]|0,25,c[N>>2]|0,(c[z>>2]|0)+1|0)|0;fp(c[n>>2]|0,25,e[(c[y>>2]|0)+50>>1]|0,(c[z>>2]|0)+2|0)|0;ip(c[n>>2]|0,1,0,(c[z>>2]|0)+1|0,c[z>>2]|0)|0;bf(c[n>>2]|0,-1,18176,-5);Xe(c[n>>2]|0,2);c[C>>2]=Ir(c[n>>2]|0,108,c[A>>2]|0)|0;fp(c[n>>2]|0,25,0,c[J>>2]|0)|0;c[B>>2]=Mr(c[n>>2]|0)|0;if((c[l>>2]|0)>0){c[D>>2]=Nr(c[n>>2]|0)|0;c[F>>2]=Qe(c[E>>2]|0,c[l>>2]<<2,0)|0;if(!(c[F>>2]|0))break;mp(c[n>>2]|0,16)|0;c[B>>2]=Mr(c[n>>2]|0)|0;if(((c[l>>2]|0)==1?(e[(c[y>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[y>>2]|0)+54>>0]|0|0)!=0:0)fp(c[n>>2]|0,77,c[I>>2]|0,c[D>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[l>>2]|0))break;c[L>>2]=Or(c[K>>2]|0,c[(c[(c[y>>2]|0)+32>>2]|0)+(c[G>>2]<<2)>>2]|0)|0;fp(c[n>>2]|0,25,c[G>>2]|0,c[J>>2]|0)|0;ip(c[n>>2]|0,47,c[A>>2]|0,c[G>>2]|0,c[t>>2]|0)|0;R=hp(c[n>>2]|0,78,c[t>>2]|0,0,(c[I>>2]|0)+(c[G>>2]|0)|0,c[L>>2]|0,-4)|0;c[(c[F>>2]|0)+(c[G>>2]<<2)>>2]=R;Xe(c[n>>2]|0,-128);c[G>>2]=(c[G>>2]|0)+1}fp(c[n>>2]|0,25,c[l>>2]|0,c[J>>2]|0)|0;fp(c[n>>2]|0,16,0,c[D>>2]|0)|0;zp(c[n>>2]|0,(c[B>>2]|0)-1|0);c[G>>2]=0;while(1){Q=c[n>>2]|0;if((c[G>>2]|0)>=(c[l>>2]|0))break;zp(Q,c[(c[F>>2]|0)+(c[G>>2]<<2)>>2]|0);ip(c[n>>2]|0,47,c[A>>2]|0,c[G>>2]|0,(c[I>>2]|0)+(c[G>>2]|0)|0)|0;c[G>>2]=(c[G>>2]|0)+1}Pr(Q,c[D>>2]|0);Xb(c[E>>2]|0,c[F>>2]|0)}ip(c[n>>2]|0,1,1,c[z>>2]|0,c[t>>2]|0)|0;bf(c[n>>2]|0,-1,18216,-5);Xe(c[n>>2]|0,2);fp(c[n>>2]|0,9,c[A>>2]|0,c[B>>2]|0)|0;Qr(c[n>>2]|0,c[z>>2]|0,0,c[p>>2]|0);hp(c[n>>2]|0,49,c[s>>2]|0,3,c[t>>2]|0,18256,0)|0;fp(c[n>>2]|0,74,c[u>>2]|0,c[v>>2]|0)|0;ip(c[n>>2]|0,75,c[u>>2]|0,c[t>>2]|0,c[v>>2]|0)|0;Xe(c[n>>2]|0,8);zp(c[n>>2]|0,c[C>>2]|0)}while(0);c[y>>2]=c[(c[y>>2]|0)+20>>2]}if(Q){i=H;return}if(!(d[w>>0]|0)){i=H;return}fp(c[n>>2]|0,50,c[o>>2]|0,c[p>>2]|0)|0;c[q>>2]=Ir(c[n>>2]|0,46,c[p>>2]|0)|0;fp(c[n>>2]|0,28,0,c[r>>2]|0)|0;hp(c[n>>2]|0,49,c[s>>2]|0,3,c[t>>2]|0,18256,0)|0;fp(c[n>>2]|0,74,c[u>>2]|0,c[v>>2]|0)|0;ip(c[n>>2]|0,75,c[u>>2]|0,c[t>>2]|0,c[v>>2]|0)|0;Xe(c[n>>2]|0,8);zp(c[n>>2]|0,c[q>>2]|0);i=H;return}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=dp(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=d;return}Ir(c[e>>2]|0,123,c[f>>2]|0)|0;i=d;return}function Ir(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=ip(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return a|0}function Jr(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0;k=i;i=i+48|0;t=k+28|0;l=k+24|0;m=k+20|0;n=k+32|0;o=k+16|0;p=k+12|0;q=k+8|0;r=k+4|0;j=k;c[t>>2]=b;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;c[o>>2]=h;h=c[t>>2]|0;if(c[(c[t>>2]|0)+408>>2]|0)h=c[h+408>>2]|0;c[p>>2]=h;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+396>>2]|0))break;c[j>>2]=(c[(c[p>>2]|0)+400>>2]|0)+(c[q>>2]<<4);if((c[c[j>>2]>>2]|0)==(c[l>>2]|0)?(c[(c[j>>2]|0)+4>>2]|0)==(c[m>>2]|0):0){s=7;break}c[q>>2]=(c[q>>2]|0)+1}if((s|0)==7){if(d[(c[j>>2]|0)+8>>0]|0)l=1;else l=(d[n>>0]|0|0)!=0;a[(c[j>>2]|0)+8>>0]=l&1;i=k;return}c[r>>2]=(c[(c[p>>2]|0)+396>>2]|0)+1<<4;q=c[r>>2]|0;q=Ek(c[c[p>>2]>>2]|0,c[(c[p>>2]|0)+400>>2]|0,q,((q|0)<0)<<31>>31)|0;c[(c[p>>2]|0)+400>>2]=q;q=(c[p>>2]|0)+396|0;if(c[(c[p>>2]|0)+400>>2]|0){t=c[q>>2]|0;c[q>>2]=t+1;c[j>>2]=(c[(c[p>>2]|0)+400>>2]|0)+(t<<4);c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];a[(c[j>>2]|0)+8>>0]=a[n>>0]|0;c[(c[j>>2]|0)+12>>2]=c[o>>2];i=k;return}else{c[q>>2]=0;a[(c[c[p>>2]>>2]|0)+64>>0]=1;i=k;return}}function Kr(a,e,f,g,h){a=a|0;e=e|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,q=0;o=i;i=i+32|0;q=o+24|0;m=o+20|0;l=o+16|0;k=o+12|0;n=o+8|0;j=o+4|0;p=o;c[q>>2]=a;c[m>>2]=e;c[l>>2]=f;c[k>>2]=g;c[n>>2]=h;c[j>>2]=dp(c[q>>2]|0)|0;Jr(c[q>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+32>>2]|0,((c[n>>2]|0)==55?1:0)&255,c[c[k>>2]>>2]|0);if(!(d[(c[k>>2]|0)+44>>0]&32)){We(c[j>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[l>>2]|0,b[(c[k>>2]|0)+38>>1]|0)|0;i=o;return}else{c[p>>2]=Zr(c[k>>2]|0)|0;ip(c[j>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[p>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Lr(c[q>>2]|0,c[p>>2]|0);i=o;return}}function Lr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;bf(a,-1,Wr(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Mr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function Nr(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+24>>2];f=(c[e>>2]|0)+108|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Ek(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+112>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[e>>2]|0)+112>>2]=f}if(!(c[(c[e>>2]|0)+112>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=d;return f|0}c[(c[(c[e>>2]|0)+112>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=d;return f|0}function Or(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;h=f+12|0;k=f+8|0;m=f+4|0;j=f+17|0;l=f+16|0;g=f;c[h>>2]=b;c[k>>2]=e;c[m>>2]=c[c[h>>2]>>2];a[j>>0]=a[(c[(c[(c[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;a[l>>0]=a[(c[m>>2]|0)+145>>0]|0;c[g>>2]=$g(c[m>>2]|0,a[j>>0]|0,c[k>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[g>>2]|0;i=f;return m|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;i=f;return m|0}c[g>>2]=eq(c[h>>2]|0,a[j>>0]|0,c[g>>2]|0,c[k>>2]|0)|0;m=c[g>>2]|0;i=f;return m|0}function Pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;h=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[h>>2]=b;c[e>>2]=c[(c[f>>2]|0)+24>>2];c[g>>2]=-1-(c[h>>2]|0);if((c[g>>2]|0)>=0?(c[(c[e>>2]|0)+112>>2]|0)!=0:0)c[(c[(c[e>>2]|0)+112>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[f>>2]|0)+32>>2];c[(c[e>>2]|0)+88>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;i=d;return}function Qr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;ip(c[g>>2]|0,1,0,c[j>>2]|0,c[h>>2]|0)|0;bf(c[g>>2]|0,-1,18264,-5);Xe(c[g>>2]|0,1);i=f;return}function Rr(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,l=0,m=0,n=0,o=0;k=i;i=i+64|0;n=k+16|0;f=k+48|0;o=k+40|0;j=k+36|0;m=k+32|0;h=k+28|0;g=k+24|0;e=k+8|0;l=k;c[f>>2]=a;c[k+44>>2]=b;c[o>>2]=d;c[j>>2]=Cd(c[c[o>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[g>>2]=Mc(a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){ie(c[f>>2]|0);i=k;return}o=c[g>>2]|0;a=n;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;sc(24,o,18320,n)|0;o=c[g>>2]|0;c[m>>2]=o+(Mb(c[g>>2]|0)|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;o=e;c[o>>2]=(c[(c[(c[j>>2]|0)+24>>2]|0)+(c[h>>2]<<2)>>2]|0)+1;c[o+4>>2]=0;o=e;o=bF(c[c[j>>2]>>2]|0,0,c[o>>2]|0,c[o+4>>2]|0)|0;o=ZE(o|0,D|0,1,0)|0;d=e;d=mF(o|0,D|0,c[d>>2]|0,c[d+4>>2]|0)|0;o=l;c[o>>2]=d;c[o+4>>2]=D;o=c[m>>2]|0;d=l;b=c[d+4>>2]|0;a=n;c[a>>2]=c[d>>2];c[a+4>>2]=b;sc(24,o,18328,n)|0;o=Mb(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+o;c[h>>2]=(c[h>>2]|0)+1}$d(c[f>>2]|0,c[g>>2]|0,-1,13);i=k;return}function Sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+12|0;g=f+8|0;e=f+4|0;h=f;c[f+20>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=Cd(c[c[j>>2]>>2]|0)|0;c[h>>2]=Jd(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[e>>2]>>2]|0)){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[(c[(c[e>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]=1;c[g>>2]=(c[g>>2]|0)+1}j=c[e>>2]|0;a=c[j>>2]|0;a=a+1|0;c[j>>2]=a;i=f;return}Tr(c[e>>2]|0,c[h>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[h>>2]|0))break;j=(c[(c[e>>2]|0)+20>>2]|0)+(c[g>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;j=(c[(c[e>>2]|0)+24>>2]|0)+(c[g>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[e>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]=1;c[g>>2]=(c[g>>2]|0)+1}j=c[e>>2]|0;a=c[j>>2]|0;a=a+1|0;c[j>>2]=a;i=f;return}function Tr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Ur(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,l=0,m=0,n=0;e=i;i=i+48|0;f=e+32|0;n=e+24|0;g=e+20|0;k=e+16|0;j=e+12|0;h=e+8|0;m=e+4|0;l=e;c[f>>2]=a;c[e+28>>2]=b;c[n>>2]=d;c[k>>2]=Jd(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[k>>2]|0)+1&-2;c[j>>2]=Jd(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[l>>2]=pe(c[f>>2]|0)|0;a=c[m>>2]|0;c[g>>2]=se(c[l>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){ie(c[f>>2]|0);i=e;return}else{c[(c[g>>2]|0)+52>>2]=c[l>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+8>>2]=c[k>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];c[(c[g>>2]|0)+24>>2]=(c[g>>2]|0)+56;c[(c[g>>2]|0)+20>>2]=(c[(c[g>>2]|0)+24>>2]|0)+(c[h>>2]<<2);Od(c[f>>2]|0,c[g>>2]|0,56,16);i=e;return}}function Vr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xb(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function Wr(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+32|0;g=k+28|0;h=k+24|0;j=k+20|0;n=k+16|0;o=k+12|0;p=k+8|0;m=k+4|0;l=k;c[h>>2]=b;c[j>>2]=f;if(c[(c[h>>2]|0)+64>>2]|0){c[g>>2]=0;b=c[g>>2]|0;i=k;return b|0}if((c[(c[j>>2]|0)+40>>2]|0)!=0?(c[(c[(c[j>>2]|0)+40>>2]|0)+12>>2]|0)!=(c[c[h>>2]>>2]|0):0){eh(c[(c[j>>2]|0)+40>>2]|0);c[(c[j>>2]|0)+40>>2]=0}do if(!(c[(c[j>>2]|0)+40>>2]|0)){c[o>>2]=e[(c[j>>2]|0)+52>>1];c[p>>2]=e[(c[j>>2]|0)+50>>1];f=c[c[h>>2]>>2]|0;if((d[(c[j>>2]|0)+55>>0]|0)>>>3&1)c[m>>2]=Xr(f,c[p>>2]|0,(c[o>>2]|0)-(c[p>>2]|0)|0)|0;else c[m>>2]=Xr(f,c[o>>2]|0,0)|0;if(c[m>>2]|0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;c[l>>2]=c[(c[(c[j>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];if(!(UE(c[l>>2]|0,3320)|0))p=0;else p=Or(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+20+(c[n>>2]<<2)>>2]=p;a[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]|0)>>0]=a[(c[(c[j>>2]|0)+28>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1}l=c[m>>2]|0;if(c[(c[h>>2]|0)+64>>2]|0){eh(l);break}else{c[(c[j>>2]|0)+40>>2]=l;break}}}while(0);c[g>>2]=Yr(c[(c[j>>2]|0)+40>>2]|0)|0;b=c[g>>2]|0;i=k;return b|0}function Xr(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;j=g+12|0;l=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[h>>2]=se(0,24+(((c[l>>2]|0)+(c[k>>2]|0)|0)*5|0)|0,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+16>>2]=(c[h>>2]|0)+20+((c[l>>2]|0)+(c[k>>2]|0)<<2);b[(c[h>>2]|0)+6>>1]=c[l>>2];b[(c[h>>2]|0)+8>>1]=c[k>>2];a[(c[h>>2]|0)+4>>0]=a[(c[(c[(c[j>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[(c[h>>2]|0)+12>>2]=c[j>>2];c[c[h>>2]>>2]=1;d=c[h>>2]|0;i=g;return d|0}else{a[(c[j>>2]|0)+64>>0]=1;d=c[h>>2]|0;i=g;return d|0}return 0}function Yr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function Zr(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0)){b=5;break}if((a[(c[e>>2]|0)+55>>0]&3|0)==2){b=5;break}c[e>>2]=c[(c[e>>2]|0)+20>>2]}if((b|0)==5){i=d;return c[e>>2]|0}return 0}function _r(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;k=g+12|0;l=g+8|0;f=g+4|0;j=g;c[h>>2]=b;c[k>>2]=d;c[j>>2]=((c[(c[h>>2]|0)+24>>2]&2|0)!=0^1)&1;c[f>>2]=0;a[(c[h>>2]|0)+145>>0]=1;c[l>>2]=0;while(1){if(c[f>>2]|0)break;if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;if(!((c[l>>2]|0)==1?1:((e[(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[f>>2]=$r(c[h>>2]|0,c[l>>2]|0,c[k>>2]|0)|0,(c[f>>2]|0)!=0):0)as(c[h>>2]|0,c[l>>2]|0);c[l>>2]=(c[l>>2]|0)+1}if(((c[f>>2]|0)==0?((e[(c[(c[(c[h>>2]|0)+16>>2]|0)+28>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[f>>2]=$r(c[h>>2]|0,1,c[k>>2]|0)|0,(c[f>>2]|0)!=0):0)as(c[h>>2]|0,1);a[(c[h>>2]|0)+145>>0]=0;if(!((c[f>>2]|0)==0&(c[j>>2]|0)!=0)){b=c[f>>2]|0;i=g;return b|0}bs(c[h>>2]|0);b=c[f>>2]|0;i=g;return b|0}function $r(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,A=0,B=0,C=0,D=0;r=i;i=i+128|0;j=r;v=r+120|0;l=r+116|0;m=r+112|0;q=r+108|0;n=r+104|0;A=r+100|0;x=r+96|0;B=r+92|0;o=r+88|0;C=r+72|0;w=r+48|0;k=r+32|0;D=r+24|0;s=r+20|0;p=r+16|0;y=r+124|0;t=r+12|0;u=r+8|0;c[l>>2]=f;c[m>>2]=g;c[q>>2]=h;c[p>>2]=0;if((c[m>>2]|0)==1)c[D>>2]=18616;else c[D>>2]=18512;c[s>>2]=(c[m>>2]|0)==1?14904:14928;c[C>>2]=c[s>>2];c[C+4>>2]=18736;c[C+8>>2]=c[D>>2];c[C+12>>2]=0;c[k>>2]=c[l>>2];c[k+8>>2]=c[m>>2];c[k+12>>2]=0;c[k+4>>2]=c[q>>2];cs(k,3,C,0)|0;if(!(c[k+12>>2]|0)){c[B>>2]=sp(c[l>>2]|0,c[s>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(c[B>>2]|0){f=(c[B>>2]|0)+44|0;a[f>>0]=d[f>>0]|1}c[o>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4);if(!(c[(c[o>>2]|0)+4>>2]|0)){if((c[m>>2]|0)==1){f=(c[(c[(c[l>>2]|0)+16>>2]|0)+28>>2]|0)+78|0;b[f>>1]=e[f>>1]|1}c[v>>2]=0;f=c[v>>2]|0;i=r;return f|0}Pc(c[(c[o>>2]|0)+4>>2]|0);do if(!(Tc(c[(c[o>>2]|0)+4>>2]|0)|0)){c[n>>2]=Rc(c[(c[o>>2]|0)+4>>2]|0,0)|0;if(c[n>>2]|0){g=c[q>>2]|0;f=c[l>>2]|0;c[j>>2]=ge(c[n>>2]|0)|0;pn(g,f,1200,j);break}else{c[p>>2]=1;z=16;break}}else z=16;while(0);a:do if((z|0)==16){c[A>>2]=0;while(1){if((c[A>>2]|0)>=5)break;Sc(c[(c[o>>2]|0)+4>>2]|0,(c[A>>2]|0)+1|0,w+(c[A>>2]<<2)|0);c[A>>2]=(c[A>>2]|0)+1}c[c[(c[o>>2]|0)+12>>2]>>2]=c[w>>2];z=c[m>>2]|0;do if(c[w+16>>2]|0){A=c[w+16>>2]|0;if(!z){f=A&3;a[y>>0]=f;a[y>>0]=(d[y>>0]|0)==0?1:f;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=a[y>>0]|0;break}if((A|0)!=(d[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0)){pn(c[q>>2]|0,c[l>>2]|0,18744,j);c[n>>2]=1;break a}}else{f=(c[(c[(c[l>>2]|0)+16>>2]|0)+(z<<4)+12>>2]|0)+78|0;b[f>>1]=e[f>>1]|4}while(0);a[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]=a[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;if(!(c[(c[(c[o>>2]|0)+12>>2]|0)+80>>2]|0)){f=ds(c[w+8>>2]|0)|0;c[x>>2]=f;c[x>>2]=(c[x>>2]|0)==0?2e3:f;c[(c[(c[o>>2]|0)+12>>2]|0)+80>>2]=c[x>>2];es(c[(c[o>>2]|0)+4>>2]|0,c[(c[(c[o>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]=c[w+4>>2];if(!(d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)>4){pn(c[q>>2]|0,c[l>>2]|0,18816,j);c[n>>2]=1;break}if((c[m>>2]|0)==0?(c[w+4>>2]|0)>=4:0){f=(c[l>>2]|0)+24|0;c[f>>2]=c[f>>2]&-32769}f=c[l>>2]|0;g=c[s>>2]|0;c[j>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[j+4>>2]=g;c[t>>2]=Te(f,18840,j)|0;c[u>>2]=c[(c[l>>2]|0)+284>>2];c[(c[l>>2]|0)+284>>2]=0;c[n>>2]=kf(c[l>>2]|0,c[t>>2]|0,6,k,0)|0;c[(c[l>>2]|0)+284>>2]=c[u>>2];if(!(c[n>>2]|0))c[n>>2]=c[k+12>>2];Xb(c[l>>2]|0,c[t>>2]|0);if(!(c[n>>2]|0))fs(c[l>>2]|0,c[m>>2]|0)|0;if(a[(c[l>>2]|0)+64>>0]|0){c[n>>2]=7;cd(c[l>>2]|0)}if((c[n>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&65536|0)==0:0)break;f=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[f>>1]=e[f>>1]|1;c[n>>2]=0}while(0);if(c[p>>2]|0)gs(c[(c[o>>2]|0)+4>>2]|0)|0}else c[n>>2]=c[k+12>>2];if((c[n>>2]|0)==7|(c[n>>2]|0)==3082)a[(c[l>>2]|0)+64>>0]=1;c[v>>2]=c[n>>2];f=c[v>>2]|0;i=r;return f|0}function as(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;g=d+4|0;f=d;c[e>>2]=a;c[g>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<4);wh(c[(c[f>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=d;return}c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+16;wh(c[(c[f>>2]|0)+12>>2]|0);i=d;return}function bs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function cs(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,q=0,r=0,s=0;o=i;i=i+48|0;k=o+40|0;s=o+36|0;l=o+28|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;n=o+4|0;r=o;c[s>>2]=d;c[o+32>>2]=f;c[l>>2]=g;c[o+24>>2]=h;c[m>>2]=c[s>>2];c[j>>2]=c[c[m>>2]>>2];c[q>>2]=c[(c[m>>2]|0)+8>>2];d=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[q>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[j>>2]|0)+64>>0]|0){ks(c[m>>2]|0,c[c[l>>2]>>2]|0,0);c[k>>2]=1;s=c[k>>2]|0;i=o;return s|0}if(!(c[l>>2]|0)){c[k>>2]=0;s=c[k>>2]|0;i=o;return s|0}do if(c[(c[l>>2]|0)+4>>2]|0){if((c[(c[l>>2]|0)+8>>2]|0)!=0?(a[c[(c[l>>2]|0)+8>>2]>>0]|0)!=0:0){a[(c[j>>2]|0)+144>>0]=c[q>>2];s=zg(c[(c[l>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+140>>2]=s;a[(c[j>>2]|0)+146>>0]=0;of(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,-1,n,0)|0;c[p>>2]=c[(c[j>>2]|0)+52>>2];a[(c[j>>2]|0)+144>>0]=0;do if(0!=(c[p>>2]|0)?(a[(c[j>>2]|0)+146>>0]|0)==0:0){c[(c[m>>2]|0)+12>>2]=c[p>>2];if((c[p>>2]|0)==7){a[(c[j>>2]|0)+64>>0]=1;break}if((c[p>>2]|0)!=9?(c[p>>2]&255|0)!=6:0){d=c[m>>2]|0;s=c[c[l>>2]>>2]|0;ks(d,s,nf(c[j>>2]|0)|0)}}while(0);td(c[n>>2]|0)|0;break}if(!(c[c[l>>2]>>2]|0)){ks(c[m>>2]|0,0,0);break}c[r>>2]=Op(c[j>>2]|0,c[c[l>>2]>>2]|0,c[(c[(c[j>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0)|0;if((c[r>>2]|0)!=0?(Ag(c[(c[l>>2]|0)+4>>2]|0,(c[r>>2]|0)+44|0)|0)==0:0)ks(c[m>>2]|0,c[c[l>>2]>>2]|0,18992)}else ks(c[m>>2]|0,c[c[l>>2]>>2]|0,0);while(0);c[k>>2]=0;s=c[k>>2]|0;i=o;return s|0}function ds(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;a=c[e>>2]|0;do if((c[e>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[e>>2]|0);break}else c[b>>2]=a;while(0);i=d;return c[b>>2]|0}function es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];Pc(c[g>>2]|0);Jh(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function fs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+48|0;l=f;k=f+40|0;h=f+36|0;m=f+32|0;e=f+24|0;n=f+16|0;j=f+12|0;g=f+8|0;o=f+4|0;c[h>>2]=b;c[m>>2]=d;c[n>>2]=c[(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+32>>2];while(1){if(!(c[n>>2]|0))break;c[o>>2]=c[(c[n>>2]|0)+8>>2];hs(c[o>>2]|0);c[n>>2]=c[c[n>>2]>>2]}c[e>>2]=c[h>>2];c[e+4>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];if(!(sp(c[h>>2]|0,18392,c[e+4>>2]|0)|0)){c[k>>2]=1;b=c[k>>2]|0;i=f;return b|0}b=c[h>>2]|0;c[l>>2]=c[e+4>>2];c[j>>2]=Te(b,18896,l)|0;if(!(c[j>>2]|0))c[g>>2]=7;else{c[g>>2]=kf(c[h>>2]|0,c[j>>2]|0,7,e,0)|0;Xb(c[h>>2]|0,c[j>>2]|0)}if((c[g>>2]|0)==7)a[(c[h>>2]|0)+64>>0]=1;c[k>>2]=c[g>>2];b=c[k>>2]|0;i=f;return b|0}function gs(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;Pc(c[e>>2]|0);c[d>>2]=nd(c[e>>2]|0,0)|0;if(c[d>>2]|0){e=c[d>>2]|0;i=b;return e|0}c[d>>2]=md(c[e>>2]|0,0)|0;e=c[d>>2]|0;i=b;return e|0}function hs(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+12|0;k=f+16|0;j=f+8|0;l=f+4|0;h=f;c[g>>2]=a;b[k+0>>1]=b[9488]|0;b[k+2>>1]=b[9489]|0;b[k+4>>1]=b[9490]|0;b[k+6>>1]=b[9491]|0;b[k+8>>1]=b[9492]|0;c[j>>2]=c[(c[g>>2]|0)+8>>2];if(5<(e[(c[g>>2]|0)+50>>1]|0))a=5;else a=e[(c[g>>2]|0)+50>>1]|0;c[l>>2]=a;b[c[j>>2]>>1]=b[(c[(c[g>>2]|0)+12>>2]|0)+28>>1]|0;if((b[c[j>>2]>>1]|0)<33)b[c[j>>2]>>1]=33;dF((c[j>>2]|0)+2|0,k|0,c[l>>2]<<1|0)|0;c[h>>2]=(c[l>>2]|0)+1;while(1){if((c[h>>2]|0)>(e[(c[g>>2]|0)+50>>1]|0))break;b[(c[j>>2]|0)+(c[h>>2]<<1)>>1]=23;c[h>>2]=(c[h>>2]|0)+1}if(!(d[(c[g>>2]|0)+54>>0]|0)){i=f;return}b[(c[j>>2]|0)+(e[(c[g>>2]|0)+50>>1]<<1)>>1]=0;i=f;return}function is(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,q=0,r=0,s=0,t=0;p=i;i=i+112|0;k=p+96|0;t=p+92|0;r=p+84|0;s=p+76|0;l=p+72|0;j=p+68|0;o=p+64|0;m=p+60|0;n=p+56|0;q=p;c[t>>2]=d;c[p+88>>2]=f;c[r>>2]=g;c[p+80>>2]=h;c[s>>2]=c[t>>2];if(((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=0:0)?(c[(c[r>>2]|0)+8>>2]|0)!=0:0){c[j>>2]=sp(c[c[s>>2]>>2]|0,c[c[r>>2]>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;if(!(c[j>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=p;return t|0}do if(c[(c[r>>2]|0)+4>>2]|0)if(!(xc(c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0)){c[l>>2]=Zr(c[j>>2]|0)|0;break}else{c[l>>2]=Op(c[c[s>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;break}else c[l>>2]=0;while(0);c[o>>2]=c[(c[r>>2]|0)+8>>2];if(c[l>>2]|0){c[m>>2]=(e[(c[l>>2]|0)+50>>1]|0)+1;c[n>>2]=0;t=(c[l>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;js(c[o>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[l>>2]|0);if(!(c[(c[l>>2]|0)+36>>2]|0))b[(c[j>>2]|0)+28>>1]=b[c[(c[l>>2]|0)+8>>2]>>1]|0}else{b[q+48>>1]=b[(c[j>>2]|0)+42>>1]|0;js(c[o>>2]|0,1,0,(c[j>>2]|0)+28|0,q);b[(c[j>>2]|0)+42>>1]=b[q+48>>1]|0}c[k>>2]=0;t=c[k>>2]|0;i=p;return t|0}c[k>>2]=0;t=c[k>>2]|0;i=p;return t|0}function js(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;o=i;i=i+48|0;r=o+32|0;q=o+28|0;n=o+20|0;l=o+16|0;k=o+12|0;p=o+8|0;j=o+4|0;m=o;c[r>>2]=d;c[q>>2]=e;c[o+24>>2]=f;c[n>>2]=g;c[l>>2]=h;c[k>>2]=c[r>>2];c[j>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break;if((c[j>>2]|0)>=(c[q>>2]|0))break;c[m>>2]=0;while(1){r=a[c[k>>2]>>0]|0;c[p>>2]=r;if(!((r|0)>=48&(c[p>>2]|0)<=57))break;c[m>>2]=((c[m>>2]|0)*10|0)+(c[p>>2]|0)-48;c[k>>2]=(c[k>>2]|0)+1}r=dq(c[m>>2]|0,0)|0;b[(c[n>>2]|0)+(c[j>>2]<<1)>>1]=r;if((a[c[k>>2]>>0]|0)==32)c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}a:while(1){if(!(a[c[k>>2]>>0]|0))break;if(hf(18944,c[k>>2]|0)|0){if(!(hf(18960,c[k>>2]|0)|0)){r=zg((c[k>>2]|0)+3|0)|0;r=dq(r,((r|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+48>>1]=r}}else{r=(c[l>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(1){if(!(a[c[k>>2]>>0]|0))break;if((a[c[k>>2]>>0]|0)==32)break;c[k>>2]=(c[k>>2]|0)+1}while(1){if((a[c[k>>2]>>0]|0)!=32)continue a;c[k>>2]=(c[k>>2]|0)+1}}i=o;return}function ks(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+32|0;l=h;g=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;c[g>>2]=b;c[m>>2]=e;c[k>>2]=f;c[j>>2]=c[c[g>>2]>>2];if((a[(c[j>>2]|0)+64>>0]|0)==0?(c[(c[j>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[m>>2]|0))c[m>>2]=19016;e=c[(c[g>>2]|0)+4>>2]|0;b=c[j>>2]|0;c[l>>2]=c[m>>2];pn(e,b,19024,l);if(c[k>>2]|0){e=c[j>>2]|0;b=c[c[(c[g>>2]|0)+4>>2]>>2]|0;m=c[k>>2]|0;c[l>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];c[l+4>>2]=m;b=ls(e,b,19056,l)|0;c[c[(c[g>>2]|0)+4>>2]>>2]=b}}if(d[(c[j>>2]|0)+64>>0]|0){e=7;b=c[g>>2]|0;b=b+12|0;c[b>>2]=e;i=h;return}e=kj(103217)|0;b=c[g>>2]|0;b=b+12|0;c[b>>2]=e;i=h;return}function ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+48|0;j=g+32|0;h=g+28|0;l=g+24|0;k=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=yn(c[j>>2]|0,c[l>>2]|0,k)|0;Xb(c[j>>2]|0,c[h>>2]|0);i=g;return c[f>>2]|0}function ms(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;i=i+32|0;k=d+24|0;l=d+20|0;e=d+16|0;g=d+12|0;h=d+8|0;f=d+4|0;j=d;c[k>>2]=a;c[l>>2]=b;c[h>>2]=c[c[k>>2]>>2];c[g>>2]=0;c[e>>2]=c[(c[h>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[e>>2]|0)+12>>2]|0)+16>>2];while(1){if(!(c[f>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+8>>2];ns(c[k>>2]|0,c[j>>2]|0,c[l>>2]|0);c[f>>2]=c[c[f>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+16}i=d;return}function ns(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;e=i;i=i+32|0;f=e+16|0;g=e+12|0;k=e+8|0;j=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[j>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[k>>2]|0)!=0?(qt(c[k>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Ve(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+68>>2]|0)|0;pp(c[f>>2]|0,0,c[h>>2]|0);os(c[f>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=e;return}function os(a,b,f){a=a|0;b=b|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;q=i;i=i+80|0;o=q+64|0;g=q+60|0;u=q+56|0;w=q+52|0;h=q+48|0;p=q+44|0;l=q+40|0;r=q+36|0;k=q+32|0;s=q+28|0;x=q+24|0;j=q+20|0;t=q+16|0;m=q+12|0;y=q+8|0;v=q+4|0;n=q;c[o>>2]=a;c[g>>2]=b;c[u>>2]=f;c[w>>2]=c[(c[g>>2]|0)+12>>2];a=(c[o>>2]|0)+68|0;b=c[a>>2]|0;c[a>>2]=b+1;c[h>>2]=b;b=(c[o>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[p>>2]=a;c[y>>2]=c[c[o>>2]>>2];c[v>>2]=Ve(c[y>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0;if(ap(c[o>>2]|0,27,c[c[g>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0)|0){i=q;return}Jr(c[o>>2]|0,c[v>>2]|0,c[(c[w>>2]|0)+32>>2]|0,1,c[c[w>>2]>>2]|0);c[j>>2]=dp(c[o>>2]|0)|0;if(!(c[j>>2]|0)){i=q;return}if((c[u>>2]|0)>=0)c[s>>2]=c[u>>2];else c[s>>2]=c[(c[g>>2]|0)+44>>2];c[t>>2]=Wr(c[o>>2]|0,c[g>>2]|0)|0;a=(c[o>>2]|0)+68|0;b=c[a>>2]|0;c[a>>2]=b+1;c[l>>2]=b;b=c[j>>2]|0;a=c[l>>2]|0;y=e[(c[g>>2]|0)+50>>1]|0;hp(b,58,a,0,y,Yr(c[t>>2]|0)|0,-6)|0;Kr(c[o>>2]|0,c[h>>2]|0,c[v>>2]|0,c[w>>2]|0,54);c[r>>2]=fp(c[j>>2]|0,108,c[h>>2]|0,0)|0;c[m>>2]=kp(c[o>>2]|0)|0;ps(c[o>>2]|0,c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,0,x,0,0)|0;fp(c[j>>2]|0,109,c[l>>2]|0,c[m>>2]|0)|0;qs(c[o>>2]|0,c[x>>2]|0);fp(c[j>>2]|0,9,c[h>>2]|0,(c[r>>2]|0)+1|0)|0;zp(c[j>>2]|0,c[r>>2]|0);if((c[u>>2]|0)<0)fp(c[j>>2]|0,118,c[s>>2]|0,c[v>>2]|0)|0;hp(c[j>>2]|0,55,c[p>>2]|0,c[s>>2]|0,c[v>>2]|0,c[t>>2]|0,-6)|0;Xe(c[j>>2]|0,(1|((c[u>>2]|0)>=0?2:0))&255);c[r>>2]=fp(c[j>>2]|0,106,c[l>>2]|0,0)|0;y=(c[t>>2]|0)!=0?(d[(c[g>>2]|0)+54>>0]|0|0)!=0:0;s=Mr(c[j>>2]|0)|0;if(y){c[n>>2]=s+3;fp(c[j>>2]|0,16,0,c[n>>2]|0)|0;c[k>>2]=Mr(c[j>>2]|0)|0;We(c[j>>2]|0,99,c[l>>2]|0,c[n>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+50>>1]|0)|0;rs(c[o>>2]|0,2,c[g>>2]|0)}else c[k>>2]=s;ip(c[j>>2]|0,100,c[l>>2]|0,c[m>>2]|0,c[p>>2]|0)|0;ip(c[j>>2]|0,110,c[p>>2]|0,c[m>>2]|0,1)|0;Xe(c[j>>2]|0,16);lp(c[o>>2]|0,c[m>>2]|0);fp(c[j>>2]|0,5,c[l>>2]|0,c[k>>2]|0)|0;zp(c[j>>2]|0,c[r>>2]|0);Ir(c[j>>2]|0,61,c[h>>2]|0)|0;Ir(c[j>>2]|0,61,c[p>>2]|0)|0;Ir(c[j>>2]|0,61,c[l>>2]|0)|0;i=q;return}function ps(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;x=i;i=i+64|0;n=x+48|0;q=x+44|0;p=x+40|0;w=x+36|0;y=x+32|0;z=x+28|0;t=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;o=x+8|0;m=x+4|0;u=x;c[n>>2]=a;c[q>>2]=e;c[p>>2]=f;c[w>>2]=g;c[y>>2]=h;c[z>>2]=j;c[t>>2]=k;c[v>>2]=l;c[s>>2]=c[(c[n>>2]|0)+8>>2];c[o>>2]=c[(c[q>>2]|0)+12>>2];do if(c[z>>2]|0)if(c[(c[q>>2]|0)+36>>2]|0){a=Nr(c[s>>2]|0)|0;c[c[z>>2]>>2]=a;c[(c[n>>2]|0)+96>>2]=c[p>>2];ws(c[n>>2]|0);xs(c[n>>2]|0,c[(c[q>>2]|0)+36>>2]|0,c[c[z>>2]>>2]|0,16);break}else{c[c[z>>2]>>2]=0;break}while(0);if((c[y>>2]|0)!=0?((d[(c[q>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)l=b[(c[q>>2]|0)+50>>1]|0;else l=b[(c[q>>2]|0)+52>>1]|0;c[u>>2]=l&65535;c[m>>2]=ys(c[n>>2]|0,c[u>>2]|0)|0;do if(c[t>>2]|0){if((c[m>>2]|0)==(c[v>>2]|0)?(c[(c[t>>2]|0)+36>>2]|0)==0:0)break;c[t>>2]=0}while(0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;if(!((c[t>>2]|0)!=0?(b[(c[(c[t>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)==(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0):0)){zs(c[s>>2]|0,c[o>>2]|0,c[p>>2]|0,b[(c[(c[q>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[r>>2]|0)|0);As(c[s>>2]|0,39)|0}c[r>>2]=(c[r>>2]|0)+1}if(!(c[w>>2]|0)){f=c[n>>2]|0;e=c[m>>2]|0;a=c[u>>2]|0;Bs(f,e,a);a=c[m>>2]|0;i=x;return a|0}ip(c[s>>2]|0,49,c[m>>2]|0,c[u>>2]|0,c[w>>2]|0)|0;f=c[n>>2]|0;e=c[m>>2]|0;a=c[u>>2]|0;Bs(f,e,a);a=c[m>>2]|0;i=x;return a|0}function qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}Pr(c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0);us(c[e>>2]|0);i=d;return}function rs(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;h=i;i=i+64|0;k=h+52|0;m=h+48|0;l=h+44|0;j=h+40|0;p=h+36|0;n=h+8|0;o=h+4|0;q=h;c[k>>2]=d;c[m>>2]=f;c[l>>2]=g;c[o>>2]=c[(c[l>>2]|0)+12>>2];nc(n,0,0,200);c[n>>2]=c[c[k>>2]>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)*24|0)>>2];if(c[p>>2]|0)Vm(n,19112,2);ss(n,c[c[o>>2]>>2]|0);Vm(n,19120,1);ss(n,c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[j>>2]=pc(n)|0;ts(c[k>>2]|0,(a[(c[l>>2]|0)+55>>0]&3|0)==2?1555:2067,c[m>>2]|0,c[j>>2]|0,-1,2);i=h;return}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[f>>2]|0;a=c[e>>2]|0;Vm(b,a,Mb(c[e>>2]|0)|0);i=d;return}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|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,q=0;p=i;i=i+32|0;q=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;j=p+21|0;l=p+20|0;k=p;c[q>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;a[j>>0]=g;a[l>>0]=h;c[k>>2]=dp(c[q>>2]|0)|0;if((c[n>>2]|0)==2)Sp(c[q>>2]|0);hp(c[k>>2]|0,24,c[m>>2]|0,c[n>>2]|0,0,c[o>>2]|0,a[j>>0]|0)|0;if(!(a[l>>0]|0)){i=p;return}Xe(c[k>>2]|0,a[l>>0]|0);i=p;return}function us(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;f=b+4|0;d=b;c[e>>2]=a;a=(c[e>>2]|0)+100|0;c[a>>2]=(c[a>>2]|0)+ -1;c[f>>2]=0;c[d>>2]=(c[e>>2]|0)+116;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[d>>2]|0)+12>>2]|0)!=0?(c[(c[d>>2]|0)+8>>2]|0)>(c[(c[e>>2]|0)+100>>2]|0):0){vs(c[e>>2]|0,c[d>>2]|0);c[(c[d>>2]|0)+12>>2]=0}c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+20}i=b;return}function vs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;if(!(a[(c[g>>2]|0)+6>>0]|0)){i=f;return}if((d[(c[h>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[h>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[h>>2]|0)+24+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0;i=f;return}function ws(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+100|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function xs(a,b,e,f){a=a|0;b=b|0;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;o=i;i=i+48|0;h=o+44|0;l=o+40|0;m=o+36|0;n=o+32|0;g=o+28|0;s=o+24|0;j=o+20|0;k=o+16|0;q=o+12|0;r=o+8|0;p=o+4|0;t=o;c[h>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[g>>2]=c[(c[h>>2]|0)+8>>2];c[s>>2]=0;c[j>>2]=0;c[k>>2]=0;if((c[g>>2]|0)==0|(c[l>>2]|0)==0){i=o;return}c[s>>2]=((d[c[l>>2]>>0]|0)+0^1)-0;a:do switch(d[c[l>>2]>>0]|0|0){case 19:{Gs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[m>>2]|0,c[n>>2]|0);break};case 71:{c[p>>2]=Nr(c[g>>2]|0)|0;Gs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[p>>2]|0,c[n>>2]^16);ws(c[h>>2]|0);xs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0);Pr(c[g>>2]|0,c[p>>2]|0);us(c[h>>2]|0);break};case 79:case 78:case 83:case 80:case 81:case 82:{c[q>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,k)|0;Is(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break};case 74:{Js(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,0,c[n>>2]|0);break};case 72:{xs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[m>>2]|0,c[n>>2]|0);ws(c[h>>2]|0);xs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0);us(c[h>>2]|0);break};case 77:case 76:{c[q>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;fp(c[g>>2]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;break};case 75:if(c[n>>2]|0){Ks(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,c[m>>2]|0);break a}else{c[t>>2]=Nr(c[g>>2]|0)|0;Ks(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,c[t>>2]|0);Pr(c[g>>2]|0,c[t>>2]|0);break a};case 148:case 73:{c[q>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,k)|0;c[s>>2]=(d[c[l>>2]>>0]|0|0)==73?78:79;Is(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,128)|0;break};default:{if(nr(c[l>>2]|0)|0){fp(c[g>>2]|0,16,0,c[m>>2]|0)|0;break a}if(!(Ls(c[l>>2]|0)|0)){c[q>>2]=Hs(c[h>>2]|0,c[l>>2]|0,j)|0;ip(c[g>>2]|0,46,c[q>>2]|0,c[m>>2]|0,(c[n>>2]|0)!=0&1)|0}}}while(0);lp(c[h>>2]|0,c[j>>2]|0);lp(c[h>>2]|0,c[k>>2]|0);i=o;return}function ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;f=d+8|0;e=d+4|0;h=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];c[h>>2]=c[(c[g>>2]|0)+56>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[g>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[g>>2]|0)+56|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0);h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=(c[(c[g>>2]|0)+72>>2]|0)+1;h=(c[g>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=c[e>>2]|0;i=d;return h|0}return 0}function zs(a,e,f,g,h){a=a|0;e=e|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,q=0;o=i;i=i+32|0;k=o+24|0;l=o+20|0;p=o+16|0;m=o+12|0;n=o+8|0;j=o+4|0;q=o;c[k>>2]=a;c[l>>2]=e;c[p>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[l>>2]|0)+36>>1]|0):0){c[j>>2]=(d[(c[l>>2]|0)+44>>0]&16|0)!=0?148:47;c[q>>2]=c[m>>2];if(d[(c[l>>2]|0)+44>>0]&32){a=Zr(c[l>>2]|0)|0;c[q>>2]=(Ds(a,c[m>>2]&65535)|0)<<16>>16}ip(c[k>>2]|0,c[j>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0)|0}else fp(c[k>>2]|0,103,c[p>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=o;return}Es(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);i=o;return}function As(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[h>>2]=b;a[j>>0]=e;if(((c[(c[h>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[h>>2]|0)+24>>2]|0)+88>>2]|0)?(d[(c[(c[h>>2]|0)+4>>2]|0)+(((c[(c[h>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){cf(c[h>>2]|0,(c[(c[h>>2]|0)+32>>2]|0)-1|0);c[g>>2]=1;j=c[g>>2]|0;i=f;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=f;return j|0}function Bs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;Cs(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0);if((c[f>>2]|0)<=(c[(c[g>>2]|0)+56>>2]|0)){i=e;return}c[(c[g>>2]|0)+56>>2]=c[f>>2];c[(c[g>>2]|0)+60>>2]=c[h>>2];i=e;return}function Cs(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,l=0,m=0;e=i;i=i+32|0;f=e+24|0;j=e+20|0;m=e+16|0;l=e+12|0;k=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[j>>2]=b;c[m>>2]=d;c[k>>2]=(c[j>>2]|0)+(c[m>>2]|0)-1;c[l>>2]=0;c[g>>2]=(c[f>>2]|0)+116;while(1){if((c[l>>2]|0)>=10)break;c[h>>2]=c[(c[g>>2]|0)+12>>2];if((c[h>>2]|0)>=(c[j>>2]|0)?(c[h>>2]|0)<=(c[k>>2]|0):0){vs(c[f>>2]|0,c[g>>2]|0);c[(c[g>>2]|0)+12>>2]=0}c[l>>2]=(c[l>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=e;return}function Ds(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+10|0;k=g+4|0;j=g+8|0;h=g;c[k>>2]=a;b[j>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[k>>2]|0)+52>>1]|0)){h=6;break}d=c[h>>2]|0;if((b[j>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){h=4;break}c[h>>2]=d+1}if((h|0)==4){b[f>>1]=d;a=b[f>>1]|0;i=g;return a|0}else if((h|0)==6){b[f>>1]=-1;a=b[f>>1]|0;i=g;return a|0}return 0}function Es(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;h=m+20|0;k=m+16|0;l=m+12|0;j=m+8|0;g=m+4|0;n=m+24|0;o=m;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[j>>2]=f;if(c[(c[k>>2]|0)+12>>2]|0){i=m;return}c[g>>2]=0;a[n>>0]=a[(c[(c[(Fs(c[h>>2]|0)|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0);b=Fs(c[h>>2]|0)|0;tp(b,c[(c[o>>2]|0)+4>>2]|0,a[n>>0]|0,a[(c[o>>2]|0)+21>>0]|0,g)|0;if(c[g>>2]|0)bf(c[h>>2]|0,-1,c[g>>2]|0,-8);if((a[(c[(c[k>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)+21>>0]|0)!=69){i=m;return}Ir(c[h>>2]|0,39,c[j>>2]|0)|0;i=m;return}function Fs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Gs(a,b,e,f){a=a|0;b=b|0;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;p=i;i=i+64|0;h=p+48|0;l=p+44|0;m=p+40|0;n=p+36|0;o=p+32|0;t=p+28|0;j=p+24|0;k=p+20|0;r=p+16|0;s=p+12|0;u=p+8|0;g=p+4|0;q=p;c[h>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[(c[h>>2]|0)+8>>2];c[t>>2]=0;c[j>>2]=0;c[k>>2]=0;if((c[o>>2]|0)==0|(c[l>>2]|0)==0){i=p;return}c[t>>2]=d[c[l>>2]>>0];a:do switch(c[t>>2]|0){case 19:{xs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[m>>2]|0,c[n>>2]|0);break};case 75:{c[g>>2]=Nr(c[o>>2]|0)|0;c[q>>2]=(c[n>>2]|0)!=0?c[m>>2]|0:c[g>>2]|0;Ks(c[h>>2]|0,c[l>>2]|0,c[g>>2]|0,c[q>>2]|0);fp(c[o>>2]|0,16,0,c[m>>2]|0)|0;Pr(c[o>>2]|0,c[g>>2]|0);break};case 148:case 73:{c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;c[s>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,k)|0;c[t>>2]=(c[t>>2]|0)==73?79:78;Is(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[t>>2]|0,c[r>>2]|0,c[s>>2]|0,c[m>>2]|0,128)|0;break};case 79:case 78:case 83:case 80:case 81:case 82:{c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;c[s>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,k)|0;Is(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[t>>2]|0,c[r>>2]|0,c[s>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break};case 72:{c[u>>2]=Nr(c[o>>2]|0)|0;xs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[u>>2]|0,c[n>>2]^16);ws(c[h>>2]|0);Gs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0);Pr(c[o>>2]|0,c[u>>2]|0);us(c[h>>2]|0);break};case 71:{Gs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[m>>2]|0,c[n>>2]|0);ws(c[h>>2]|0);Gs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0);us(c[h>>2]|0);break};case 74:{Js(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,1,c[n>>2]|0);break};case 77:case 76:{c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;fp(c[o>>2]|0,c[t>>2]|0,c[r>>2]|0,c[m>>2]|0)|0;break};default:{if(Ls(c[l>>2]|0)|0){fp(c[o>>2]|0,16,0,c[m>>2]|0)|0;break a}if(!(nr(c[l>>2]|0)|0)){c[r>>2]=Hs(c[h>>2]|0,c[l>>2]|0,j)|0;ip(c[o>>2]|0,45,c[r>>2]|0,c[m>>2]|0,(c[n>>2]|0)!=0&1)|0}}}while(0);lp(c[h>>2]|0,c[j>>2]|0);lp(c[h>>2]|0,c[k>>2]|0);i=p;return}function Hs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+48|0;l=m+32|0;n=m+28|0;j=m+24|0;p=m+20|0;h=m+16|0;o=m+12|0;f=m+8|0;k=m+4|0;q=m;c[n>>2]=a;c[j>>2]=b;c[p>>2]=e;c[j>>2]=iq(c[j>>2]|0)|0;if(((d[(c[n>>2]|0)+23>>0]|0|0)!=0?(d[c[j>>2]>>0]|0|0)!=159:0)?(pt(c[j>>2]|0)|0)!=0:0){c[o>>2]=c[(c[n>>2]|0)+316>>2];c[c[p>>2]>>2]=0;a:do if(c[o>>2]|0){c[k>>2]=c[(c[o>>2]|0)+4>>2];c[f>>2]=c[c[o>>2]>>2];while(1){if((c[f>>2]|0)<=0)break a;if(((d[(c[k>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Dq(c[c[k>>2]>>2]|0,c[j>>2]|0,-1)|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+20;c[f>>2]=(c[f>>2]|0)+ -1}c[l>>2]=c[(c[k>>2]|0)+16>>2];a=c[l>>2]|0;i=m;return a|0}while(0);b=(c[n>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[h>>2]=a;ct(c[n>>2]|0,c[j>>2]|0,c[h>>2]|0,1)}else g=12;do if((g|0)==12){c[q>>2]=kp(c[n>>2]|0)|0;c[h>>2]=Qs(c[n>>2]|0,c[j>>2]|0,c[q>>2]|0)|0;if((c[h>>2]|0)==(c[q>>2]|0)){c[c[p>>2]>>2]=c[q>>2];break}else{lp(c[n>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=0;break}}while(0);c[l>>2]=c[h>>2];a=c[l>>2]|0;i=m;return a|0}function Is(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=at(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(ot(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=hp(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Xe(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function Js(b,d,e,f,g){b=b|0;d=d|0;e=e|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;j=i;i=i+224|0;h=j+216|0;p=j+212|0;o=j+208|0;k=j+204|0;n=j+200|0;m=j+152|0;q=j+104|0;s=j+56|0;r=j+8|0;l=j;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[k>>2]=f;c[n>>2]=g;c[l>>2]=0;e=r+0|0;f=(c[(c[p>>2]|0)+12>>2]|0)+0|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));a[m>>0]=72;c[m+12>>2]=q;c[m+16>>2]=s;a[q>>0]=83;c[q+12>>2]=r;c[q+16>>2]=c[c[(c[(c[p>>2]|0)+20>>2]|0)+4>>2]>>2];a[s>>0]=81;c[s+12>>2]=r;c[s+16>>2]=c[(c[(c[(c[p>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];Zs(r,Hs(c[h>>2]|0,r,l)|0);p=c[h>>2]|0;o=c[o>>2]|0;n=c[n>>2]|0;if(c[k>>2]|0){Gs(p,m,o,n);d=c[h>>2]|0;b=c[l>>2]|0;lp(d,b);i=j;return}else{xs(p,m,o,n);d=c[h>>2]|0;b=c[l>>2]|0;lp(d,b);i=j;return}}function Ks(b,d,e,f){b=b|0;d=d|0;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;l=i;i=i+80|0;k=l+64|0;p=l+60|0;h=l+56|0;o=l+52|0;g=l+48|0;r=l+68|0;q=l+44|0;j=l+40|0;n=l+36|0;y=l+32|0;w=l+28|0;t=l+24|0;v=l+20|0;z=l+16|0;u=l+12|0;x=l+8|0;s=l+4|0;m=l;c[k>>2]=b;c[p>>2]=d;c[h>>2]=e;c[o>>2]=f;c[g>>2]=0;c[n>>2]=c[(c[k>>2]|0)+8>>2];c[q>>2]=Ms(c[k>>2]|0,c[p>>2]|0,3,(c[h>>2]|0)==(c[o>>2]|0)?0:g)|0;a[r>>0]=Ns(c[p>>2]|0)|0;ws(c[k>>2]|0);c[j>>2]=kp(c[k>>2]|0)|0;Os(c[k>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0);f=c[p>>2]|0;if((c[q>>2]|0)!=5){do if(Ps(c[f+12>>2]|0)|0){u=c[n>>2]|0;t=c[j>>2]|0;if((c[o>>2]|0)==(c[h>>2]|0)){fp(u,76,t,c[o>>2]|0)|0;break}else{c[s>>2]=Ir(u,77,t)|0;fp(c[n>>2]|0,108,c[(c[p>>2]|0)+28>>2]|0,c[h>>2]|0)|0;fp(c[n>>2]|0,16,0,c[o>>2]|0)|0;zp(c[n>>2]|0,c[s>>2]|0);break}}while(0);t=c[n>>2]|0;s=c[j>>2]|0;if((c[q>>2]|0)==1){fp(t,38,s,c[h>>2]|0)|0;ip(c[n>>2]|0,70,c[(c[p>>2]|0)+28>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[k>>2]|0;b=c[j>>2]|0;lp(d,b);b=c[k>>2]|0;us(b);i=l;return}hp(t,48,s,1,0,r,1)|0;q=c[n>>2]|0;p=c[(c[p>>2]|0)+28>>2]|0;if(!(c[g>>2]|0)){We(q,68,p,c[h>>2]|0,c[j>>2]|0,1)|0;d=c[k>>2]|0;b=c[j>>2]|0;lp(d,b);b=c[k>>2]|0;us(b);i=l;return}else{c[m>>2]=We(q,69,p,0,c[j>>2]|0,1)|0;fp(c[n>>2]|0,76,c[g>>2]|0,c[o>>2]|0)|0;fp(c[n>>2]|0,16,0,c[h>>2]|0)|0;zp(c[n>>2]|0,c[m>>2]|0);d=c[k>>2]|0;b=c[j>>2]|0;lp(d,b);b=c[k>>2]|0;us(b);i=l;return}}c[y>>2]=c[f+20>>2];c[w>>2]=cq(c[k>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[t>>2]=Nr(c[n>>2]|0)|0;c[u>>2]=0;if((c[o>>2]|0)!=(c[h>>2]|0)){c[u>>2]=kp(c[k>>2]|0)|0;ip(c[n>>2]|0,85,c[j>>2]|0,c[j>>2]|0,c[u>>2]|0)|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[y>>2]>>2]|0))break;c[v>>2]=Hs(c[k>>2]|0,c[(c[(c[y>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0,z)|0;if((c[u>>2]|0)!=0?(Ps(c[(c[(c[y>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0)!=0:0)ip(c[n>>2]|0,85,c[u>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;if((c[x>>2]|0)>=((c[c[y>>2]>>2]|0)-1|0)?(c[o>>2]|0)==(c[h>>2]|0):0){hp(c[n>>2]|0,78,c[j>>2]|0,c[h>>2]|0,c[v>>2]|0,c[w>>2]|0,-4)|0;Xe(c[n>>2]|0,(a[r>>0]|16)&255)}else{hp(c[n>>2]|0,79,c[j>>2]|0,c[t>>2]|0,c[v>>2]|0,c[w>>2]|0,-4)|0;Xe(c[n>>2]|0,a[r>>0]|0)}lp(c[k>>2]|0,c[z>>2]|0);c[x>>2]=(c[x>>2]|0)+1}if(c[u>>2]|0){fp(c[n>>2]|0,76,c[u>>2]|0,c[o>>2]|0)|0;fp(c[n>>2]|0,16,0,c[h>>2]|0)|0}Pr(c[n>>2]|0,c[t>>2]|0);lp(c[k>>2]|0,c[u>>2]|0);d=c[k>>2]|0;b=c[j>>2]|0;lp(d,b);b=c[k>>2]|0;us(b);i=l;return}function Ls(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;do if(!(c[(c[f>>2]|0)+4>>2]&1))if(yq(c[f>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=d;return c[b>>2]|0}function Ms(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;n=i;i=i+80|0;q=n+72|0;v=n+68|0;o=n+64|0;w=n+60|0;F=n+56|0;x=n+52|0;m=n+48|0;y=n+44|0;t=n+40|0;z=n+36|0;s=n+32|0;C=n+28|0;l=n+78|0;r=n+76|0;p=n+24|0;u=n+20|0;A=n+16|0;B=n+12|0;k=n+8|0;D=n+4|0;E=n;c[q>>2]=f;c[v>>2]=g;c[o>>2]=h;c[w>>2]=j;c[x>>2]=0;g=(c[q>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[m>>2]=f;c[t>>2]=dp(c[q>>2]|0)|0;c[y>>2]=(c[o>>2]&4|0)!=0&1;if(c[(c[v>>2]|0)+4>>2]&2048)j=c[(c[v>>2]|0)+20>>2]|0;else j=0;c[F>>2]=j;a:do if((c[(c[q>>2]|0)+64>>2]|0)==0?(lt(c[F>>2]|0)|0)!=0:0){c[z>>2]=c[c[q>>2]>>2];c[s>>2]=c[(c[(c[F>>2]|0)+32>>2]|0)+24>>2];c[C>>2]=c[c[(c[c[F>>2]>>2]|0)+4>>2]>>2];b[l>>1]=b[(c[C>>2]|0)+32>>1]|0;b[r>>1]=Ve(c[z>>2]|0,c[(c[s>>2]|0)+68>>2]|0)|0;qp(c[q>>2]|0,b[r>>1]|0);Jr(c[q>>2]|0,b[r>>1]|0,c[(c[s>>2]|0)+32>>2]|0,0,c[c[s>>2]>>2]|0);F=c[q>>2]|0;if((b[l>>1]|0)<0){c[p>>2]=_s(F)|0;Kr(c[q>>2]|0,c[m>>2]|0,b[r>>1]|0,c[s>>2]|0,54);c[x>>2]=1;zp(c[t>>2]|0,c[p>>2]|0);break}c[A>>2]=at(F,c[(c[v>>2]|0)+12>>2]|0,c[C>>2]|0)|0;c[B>>2]=mt(c[v>>2]|0,a[(c[(c[s>>2]|0)+4>>2]|0)+((b[l>>1]|0)*24|0)+21>>0]|0)|0;c[u>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!((c[u>>2]|0)!=0&(c[x>>2]|0)==0&(c[B>>2]|0)!=0))break a;do if((b[c[(c[u>>2]|0)+4>>2]>>1]|0)==(b[l>>1]|0)?(f=$g(c[z>>2]|0,a[(c[(c[(c[z>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[c[(c[u>>2]|0)+32>>2]>>2]|0,0)|0,(f|0)==(c[A>>2]|0)):0){if(c[y>>2]|0){if((e[(c[u>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[u>>2]|0)+54>>0]|0))break}c[k>>2]=_s(c[q>>2]|0)|0;ip(c[t>>2]|0,54,c[m>>2]|0,c[(c[u>>2]|0)+44>>2]|0,b[r>>1]|0)|0;Lr(c[q>>2]|0,c[u>>2]|0);c[x>>2]=3+(d[c[(c[u>>2]|0)+28>>2]>>0]|0);if((c[w>>2]|0)!=0?(a[(c[(c[s>>2]|0)+4>>2]|0)+((b[l>>1]|0)*24|0)+20>>0]|0)==0:0){g=(c[q>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[w>>2]>>2]=f;bt(c[t>>2]|0,c[m>>2]|0,c[c[w>>2]>>2]|0)}zp(c[t>>2]|0,c[k>>2]|0)}while(0);c[u>>2]=c[(c[u>>2]|0)+20>>2]}}while(0);do if(((c[x>>2]|0)==0?(c[o>>2]&1|0)!=0:0)?(c[(c[v>>2]|0)+4>>2]&2048|0)==0:0){if((nt(c[v>>2]|0)|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)>2:0)break;c[x>>2]=5}while(0);if(c[x>>2]|0){c[(c[v>>2]|0)+28>>2]=c[m>>2];f=c[x>>2]|0;i=n;return f|0}c[D>>2]=c[(c[q>>2]|0)+424>>2];c[E>>2]=0;c[x>>2]=2;if(c[o>>2]&4){c[(c[q>>2]|0)+424>>2]=0;if((b[(c[(c[v>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[v>>2]|0)+4>>2]&2048|0)==0:0)c[x>>2]=1}else if(c[w>>2]|0){g=(c[q>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[E>>2]=f;c[c[w>>2]>>2]=f}Ys(c[q>>2]|0,c[v>>2]|0,c[E>>2]|0,(c[x>>2]|0)==1&1)|0;c[(c[q>>2]|0)+424>>2]=c[D>>2];f=c[x>>2]|0;i=n;return f|0}function Ns(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d;e=d+4|0;c[f>>2]=b;a[e>>0]=bq(c[(c[f>>2]|0)+12>>2]|0)|0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+16>>2]|0){a[e>>0]=kt(c[b+16>>2]|0,a[e>>0]|0)|0;b=a[e>>0]|0;i=d;return b|0}if(c[b+4>>2]&2048){a[e>>0]=kt(c[c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;b=a[e>>0]|0;i=d;return b|0}if(a[e>>0]|0){b=a[e>>0]|0;i=d;return b|0}a[e>>0]=65;b=a[e>>0]|0;i=d;return b|0}function Os(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=e;if((c[h>>2]|0)!=0?(d[c[h>>2]>>0]|0|0)==159:0){fp(c[(c[j>>2]|0)+8>>2]|0,33,c[(c[h>>2]|0)+28>>2]|0,c[g>>2]|0)|0;i=f;return}c[k>>2]=Qs(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if((c[k>>2]|0)==(c[g>>2]|0)){i=f;return}if(!(c[(c[j>>2]|0)+8>>2]|0)){i=f;return}fp(c[(c[j>>2]|0)+8>>2]|0,34,c[k>>2]|0,c[g>>2]|0)|0;i=f;return}function Ps(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+4|0;h=g;j=g+8|0;c[h>>2]=e;while(1){if((d[c[h>>2]>>0]|0)==158)k=1;else k=(d[c[h>>2]>>0]|0)==157;e=c[h>>2]|0;if(!k)break;c[h>>2]=c[e+12>>2]}a[j>>0]=a[e>>0]|0;if((d[j>>0]|0)==159)a[j>>0]=a[(c[h>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 154:{if(!(c[(c[h>>2]|0)+4>>2]&1048576))if((b[(c[h>>2]|0)+32>>1]|0)>=0)h=(d[(c[(c[(c[h>>2]|0)+44>>2]|0)+4>>2]|0)+((b[(c[h>>2]|0)+32>>1]|0)*24|0)+20>>0]|0)==0;else h=0;else h=1;c[f>>2]=h&1;k=c[f>>2]|0;i=g;return k|0};case 134:case 133:case 97:case 132:{c[f>>2]=0;k=c[f>>2]|0;i=g;return k|0};default:{c[f>>2]=1;k=c[f>>2]|0;i=g;return k|0}}return 0}function Qs(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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;r=i;i=i+304|0;P=r;q=r+292|0;k=r+288|0;H=r+284|0;p=r+280|0;o=r+276|0;ja=r+272|0;n=r+268|0;l=r+264|0;m=r+260|0;K=r+256|0;fa=r+252|0;ba=r+248|0;T=r+244|0;M=r+240|0;B=r+192|0;ga=r+184|0;ha=r+180|0;Z=r+176|0;X=r+172|0;W=r+168|0;Y=r+164|0;U=r+160|0;ia=r+156|0;V=r+152|0;D=r+148|0;C=r+144|0;G=r+140|0;O=r+136|0;N=r+132|0;L=r+128|0;J=r+124|0;Q=r+297|0;E=r+120|0;I=r+116|0;F=r+296|0;_=r+112|0;aa=r+108|0;ea=r+104|0;R=r+100|0;ca=r+96|0;S=r+92|0;da=r+88|0;s=r+84|0;t=r+80|0;v=r+76|0;z=r+72|0;A=r+68|0;u=r+64|0;x=r+16|0;y=r+12|0;w=r+8|0;c[k>>2]=f;c[H>>2]=g;c[p>>2]=h;c[o>>2]=c[(c[k>>2]|0)+8>>2];c[n>>2]=c[p>>2];c[l>>2]=0;c[m>>2]=0;c[M>>2]=c[c[k>>2]>>2];if(!(c[o>>2]|0)){c[q>>2]=0;f=c[q>>2]|0;i=r;return f|0}if(!(c[H>>2]|0))c[ja>>2]=101;else c[ja>>2]=d[c[H>>2]>>0];a:do switch(c[ja>>2]|0){case 77:case 76:{fp(c[o>>2]|0,25,1,c[p>>2]|0)|0;c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[ia>>2]=Ir(c[o>>2]|0,c[ja>>2]|0,c[K>>2]|0)|0;fp(c[o>>2]|0,25,0,c[p>>2]|0)|0;zp(c[o>>2]|0,c[ia>>2]|0);break};case 156:{c[ga>>2]=c[(c[H>>2]|0)+40>>2];c[ha>>2]=(c[(c[ga>>2]|0)+28>>2]|0)+((b[(c[H>>2]|0)+34>>1]|0)*24|0);if(!(a[c[ga>>2]>>0]|0)){c[n>>2]=c[(c[ha>>2]|0)+16>>2];break a}if(a[(c[ga>>2]|0)+1>>0]|0)ip(c[o>>2]|0,47,c[(c[ga>>2]|0)+8>>2]|0,c[(c[ha>>2]|0)+12>>2]|0,c[p>>2]|0)|0;else j=11;break};case 148:case 73:{c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+16>>2]|0,m)|0;c[ja>>2]=(c[ja>>2]|0)==73?79:78;Is(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[(c[H>>2]|0)+16>>2]|0,c[ja>>2]|0,c[K>>2]|0,c[fa>>2]|0,c[n>>2]|0,160)|0;break};case 97:{hp(c[o>>2]|0,97,0,c[p>>2]|0,0,c[(c[H>>2]|0)+8>>2]|0,0)|0;break};case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+16>>2]|0,m)|0;ip(c[o>>2]|0,c[ja>>2]|0,c[fa>>2]|0,c[K>>2]|0,c[p>>2]|0)|0;break};case 135:{fp(c[o>>2]|0,31,b[(c[H>>2]|0)+32>>1]|0,c[p>>2]|0)|0;if(a[(c[(c[H>>2]|0)+8>>2]|0)+1>>0]|0)bf(c[o>>2]|0,-1,c[(c[(c[k>>2]|0)+472>>2]|0)+((b[(c[H>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break};case 79:case 78:case 83:case 80:case 81:case 82:{c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+16>>2]|0,m)|0;Is(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[(c[H>>2]|0)+16>>2]|0,c[ja>>2]|0,c[K>>2]|0,c[fa>>2]|0,c[n>>2]|0,32)|0;break};case 159:{c[n>>2]=c[(c[H>>2]|0)+28>>2];break};case 119:case 20:{c[n>>2]=Ys(c[k>>2]|0,c[H>>2]|0,0,0)|0;break};case 158:case 95:{c[n>>2]=Qs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[p>>2]|0)|0;break};case 74:{c[ea>>2]=c[(c[H>>2]|0)+12>>2];c[R>>2]=c[(c[(c[H>>2]|0)+20>>2]|0)+4>>2];c[ca>>2]=c[c[R>>2]>>2];c[K>>2]=Hs(c[k>>2]|0,c[ea>>2]|0,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[ca>>2]|0,m)|0;c[ba>>2]=kp(c[k>>2]|0)|0;c[T>>2]=kp(c[k>>2]|0)|0;Is(c[k>>2]|0,c[ea>>2]|0,c[ca>>2]|0,83,c[K>>2]|0,c[fa>>2]|0,c[ba>>2]|0,32)|0;c[R>>2]=(c[R>>2]|0)+20;c[ca>>2]=c[c[R>>2]>>2];lp(c[k>>2]|0,c[m>>2]|0);c[fa>>2]=Hs(c[k>>2]|0,c[ca>>2]|0,m)|0;Is(c[k>>2]|0,c[ea>>2]|0,c[ca>>2]|0,81,c[K>>2]|0,c[fa>>2]|0,c[T>>2]|0,32)|0;ip(c[o>>2]|0,72,c[ba>>2]|0,c[T>>2]|0,c[p>>2]|0)|0;lp(c[k>>2]|0,c[ba>>2]|0);lp(c[k>>2]|0,c[T>>2]|0);break};case 62:{c[S>>2]=c[(c[H>>2]|0)+44>>2];c[da>>2]=($(c[(c[H>>2]|0)+28>>2]|0,(b[(c[S>>2]|0)+38>>1]|0)+1|0)|0)+1+(b[(c[H>>2]|0)+32>>1]|0);fp(c[o>>2]|0,132,c[da>>2]|0,c[p>>2]|0)|0;if((b[(c[H>>2]|0)+32>>1]|0)>=0?(a[(c[(c[S>>2]|0)+4>>2]|0)+((b[(c[H>>2]|0)+32>>1]|0)*24|0)+21>>0]|0)==69:0)Ir(c[o>>2]|0,39,c[p>>2]|0)|0;break};case 157:{c[U>>2]=c[(c[H>>2]|0)+12>>2];do if((d[c[U>>2]>>0]|0)!=132)if((d[c[U>>2]>>0]|0)==133){Ts(c[o>>2]|0,c[(c[U>>2]|0)+8>>2]|0,1,c[p>>2]|0);break}else{a[B>>0]=-124;c[B+4>>2]=17408;c[B+8>>2]=0;c[K>>2]=Hs(c[k>>2]|0,B,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,m)|0;ip(c[o>>2]|0,90,c[fa>>2]|0,c[K>>2]|0,c[p>>2]|0)|0;break}else Ss(c[k>>2]|0,c[U>>2]|0,1,c[p>>2]|0);while(0);c[n>>2]=c[p>>2];break};case 153:{c[L>>2]=0;a[Q>>0]=a[(c[(c[(c[M>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[E>>2]=0;if(c[(c[H>>2]|0)+4>>2]&16384)c[D>>2]=0;else c[D>>2]=c[(c[H>>2]|0)+20>>2];if(c[D>>2]|0)s=c[c[D>>2]>>2]|0;else s=0;c[C>>2]=s;c[N>>2]=c[(c[H>>2]|0)+8>>2];c[O>>2]=Mb(c[N>>2]|0)|0;c[G>>2]=Sf(c[M>>2]|0,c[N>>2]|0,c[O>>2]|0,c[C>>2]|0,a[Q>>0]|0,0)|0;if((c[G>>2]|0)!=0?(c[(c[G>>2]|0)+12>>2]|0)!=0:0){if(e[(c[G>>2]|0)+2>>1]&512){c[I>>2]=Nr(c[o>>2]|0)|0;Os(c[k>>2]|0,c[c[(c[D>>2]|0)+4>>2]>>2]|0,c[p>>2]|0);c[J>>2]=1;while(1){s=c[o>>2]|0;if((c[J>>2]|0)>=(c[C>>2]|0))break;fp(s,77,c[p>>2]|0,c[I>>2]|0)|0;Cs(c[k>>2]|0,c[p>>2]|0,1);ws(c[k>>2]|0);Os(c[k>>2]|0,c[(c[(c[D>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,c[p>>2]|0);us(c[k>>2]|0);c[J>>2]=(c[J>>2]|0)+1}Pr(s,c[I>>2]|0);break a}if(e[(c[G>>2]|0)+2>>1]&1024){Os(c[k>>2]|0,c[c[(c[D>>2]|0)+4>>2]>>2]|0,c[p>>2]|0);break a}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[C>>2]|0))break;if((c[J>>2]|0)<32?(Vs(c[(c[(c[D>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[L>>2]=c[L>>2]|1<>2];if(!((c[E>>2]|0)!=0?1:(e[(c[G>>2]|0)+2>>1]&32|0)==0))c[E>>2]=cq(c[k>>2]|0,c[(c[(c[D>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+1}if(c[D>>2]|0){s=c[k>>2]|0;if(c[L>>2]|0){c[K>>2]=(c[s+72>>2]|0)+1;f=(c[k>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(c[C>>2]|0)}else c[K>>2]=ys(s,c[C>>2]|0)|0;do if(e[(c[G>>2]|0)+2>>1]&192){a[F>>0]=a[c[c[(c[D>>2]|0)+4>>2]>>2]>>0]|0;if((d[F>>0]|0)!=154?(d[F>>0]|0)!=156:0)break;a[(c[c[(c[D>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[G>>2]|0)+2>>1]&192}while(0);ws(c[k>>2]|0);Ws(c[k>>2]|0,c[D>>2]|0,c[K>>2]|0,3)|0;us(c[k>>2]|0)}else c[K>>2]=0;if((c[C>>2]|0)>=2?(c[(c[H>>2]|0)+4>>2]&128|0)!=0:0)c[G>>2]=Xs(c[M>>2]|0,c[G>>2]|0,c[C>>2]|0,c[(c[(c[D>>2]|0)+4>>2]|0)+20>>2]|0)|0;else j=78;if((j|0)==78?(c[C>>2]|0)>0:0)c[G>>2]=Xs(c[M>>2]|0,c[G>>2]|0,c[C>>2]|0,c[c[(c[D>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[G>>2]|0)+2>>1]&32){if(!(c[E>>2]|0))c[E>>2]=c[(c[M>>2]|0)+8>>2];hp(c[o>>2]|0,36,0,0,0,c[E>>2]|0,-4)|0}hp(c[o>>2]|0,1,c[L>>2]|0,c[K>>2]|0,c[p>>2]|0,c[G>>2]|0,-5)|0;Xe(c[o>>2]|0,c[C>>2]&255);if(!((c[C>>2]|0)!=0&(c[L>>2]|0)==0))break a;Bs(c[k>>2]|0,c[K>>2]|0,c[C>>2]|0);break a}f=c[k>>2]|0;g=c[N>>2]|0;c[P>>2]=c[O>>2];c[P+4>>2]=g;Se(f,19160,P);break};case 155:{c[V>>2]=c[(c[H>>2]|0)+40>>2];if(!(c[V>>2]|0)){f=c[k>>2]|0;c[P>>2]=c[(c[H>>2]|0)+8>>2];Se(f,19128,P);break a}else{c[n>>2]=c[(c[(c[V>>2]|0)+40>>2]|0)+(b[(c[H>>2]|0)+34>>1]<<4)+8>>2];break a}};case 134:{c[W>>2]=(c[(c[H>>2]|0)+8>>2]|0)+2;c[X>>2]=(Mb(c[W>>2]|0)|0)-1;c[Y>>2]=Gp(Fs(c[o>>2]|0)|0,c[W>>2]|0,c[X>>2]|0)|0;hp(c[o>>2]|0,30,(c[X>>2]|0)/2|0,c[p>>2]|0,0,c[Y>>2]|0,-1)|0;break};case 132:{Ss(c[k>>2]|0,c[H>>2]|0,0,c[p>>2]|0);break};case 154:{j=11;break};case 101:{fp(c[o>>2]|0,28,0,c[p>>2]|0)|0;break};case 38:{c[n>>2]=Qs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[p>>2]|0)|0;if((c[n>>2]|0)!=(c[p>>2]|0)){fp(c[o>>2]|0,34,c[n>>2]|0,c[p>>2]|0)|0;c[n>>2]=c[p>>2]}fp(c[o>>2]|0,40,c[p>>2]|0,(Bp(c[(c[H>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;Us(c[k>>2]|0,c[n>>2]|0,1);break};case 24:{c[n>>2]=Qs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[p>>2]|0)|0;break};case 57:{if(!(c[(c[k>>2]|0)+412>>2]|0)){Se(c[k>>2]|0,19192,P);c[q>>2]=0;f=c[q>>2]|0;i=r;return f|0}if((a[(c[H>>2]|0)+1>>0]|0)==2)Sp(c[k>>2]|0);if((a[(c[H>>2]|0)+1>>0]|0)==4){hp(c[o>>2]|0,24,0,4,0,c[(c[H>>2]|0)+8>>2]|0,0)|0;break a}else{ts(c[k>>2]|0,1811,a[(c[H>>2]|0)+1>>0]|0,c[(c[H>>2]|0)+8>>2]|0,0,0);break a}};case 75:{c[_>>2]=Nr(c[o>>2]|0)|0;c[aa>>2]=Nr(c[o>>2]|0)|0;fp(c[o>>2]|0,28,0,c[p>>2]|0)|0;Ks(c[k>>2]|0,c[H>>2]|0,c[_>>2]|0,c[aa>>2]|0);fp(c[o>>2]|0,25,1,c[p>>2]|0)|0;Pr(c[o>>2]|0,c[_>>2]|0);fp(c[o>>2]|0,37,c[p>>2]|0,0)|0;Pr(c[o>>2]|0,c[aa>>2]|0);break};case 19:case 96:{c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[n>>2]=c[p>>2];fp(c[o>>2]|0,c[ja>>2]|0,c[K>>2]|0,c[n>>2]|0)|0;break};case 133:{Ts(c[o>>2]|0,c[(c[H>>2]|0)+8>>2]|0,0,c[p>>2]|0);break};default:{c[w>>2]=0;c[A>>2]=c[(c[H>>2]|0)+20>>2];c[u>>2]=c[(c[A>>2]|0)+4>>2];c[v>>2]=c[c[A>>2]>>2];c[s>>2]=Nr(c[o>>2]|0)|0;f=c[(c[H>>2]|0)+12>>2]|0;c[y>>2]=f;if(f){E=B+0|0;D=(c[y>>2]|0)+0|0;C=E+48|0;do{c[E>>2]=c[D>>2];E=E+4|0;D=D+4|0}while((E|0)<(C|0));Zs(B,Hs(c[k>>2]|0,c[y>>2]|0,l)|0);a[x>>0]=79;c[x+12>>2]=B;c[w>>2]=x;c[l>>2]=0}c[z>>2]=0;while(1){if((c[z>>2]|0)>=((c[v>>2]|0)-1|0))break;ws(c[k>>2]|0);B=c[(c[u>>2]|0)+((c[z>>2]|0)*20|0)>>2]|0;if(c[y>>2]|0)c[x+16>>2]=B;else c[w>>2]=B;c[t>>2]=Nr(c[o>>2]|0)|0;xs(c[k>>2]|0,c[w>>2]|0,c[t>>2]|0,16);Os(c[k>>2]|0,c[(c[u>>2]|0)+(((c[z>>2]|0)+1|0)*20|0)>>2]|0,c[p>>2]|0);fp(c[o>>2]|0,16,0,c[s>>2]|0)|0;us(c[k>>2]|0);Pr(c[o>>2]|0,c[t>>2]|0);c[z>>2]=(c[z>>2]|0)+2}if(c[v>>2]&1){ws(c[k>>2]|0);Os(c[k>>2]|0,c[(c[(c[A>>2]|0)+4>>2]|0)+(((c[v>>2]|0)-1|0)*20|0)>>2]|0,c[p>>2]|0);us(c[k>>2]|0)}else fp(c[o>>2]|0,28,0,c[p>>2]|0)|0;Pr(c[o>>2]|0,c[s>>2]|0)}}while(0);b:do if((j|0)==11){c[Z>>2]=c[(c[H>>2]|0)+28>>2];do if((c[Z>>2]|0)<0)if((c[(c[k>>2]|0)+92>>2]|0)>0){c[n>>2]=(b[(c[H>>2]|0)+32>>1]|0)+(c[(c[k>>2]|0)+92>>2]|0);break b}else{c[Z>>2]=c[(c[k>>2]|0)+96>>2];break}while(0);c[n>>2]=Rs(c[k>>2]|0,c[(c[H>>2]|0)+44>>2]|0,b[(c[H>>2]|0)+32>>1]|0,c[Z>>2]|0,c[p>>2]|0,a[(c[H>>2]|0)+38>>0]|0)|0}while(0);lp(c[k>>2]|0,c[l>>2]|0);lp(c[k>>2]|0,c[m>>2]|0);c[q>>2]=c[n>>2];f=c[q>>2]|0;i=r;return f|0}function Rs(d,e,f,g,h,j){d=d|0;e=e|0;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,u=0,v=0;n=i;i=i+48|0;m=n+32|0;q=n+28|0;k=n+24|0;s=n+20|0;r=n+16|0;t=n+12|0;p=n+36|0;o=n+8|0;v=n+4|0;u=n;c[q>>2]=d;c[k>>2]=e;c[s>>2]=f;c[r>>2]=g;c[t>>2]=h;a[p>>0]=j;c[o>>2]=c[(c[q>>2]|0)+8>>2];c[v>>2]=0;c[u>>2]=(c[q>>2]|0)+116;while(1){if((c[v>>2]|0)>=10)break;if(((c[(c[u>>2]|0)+12>>2]|0)>0?(c[c[u>>2]>>2]|0)==(c[r>>2]|0):0)?(b[(c[u>>2]|0)+4>>1]|0)==(c[s>>2]|0):0){l=6;break}c[v>>2]=(c[v>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}if((l|0)==6){e=(c[q>>2]|0)+104|0;d=c[e>>2]|0;c[e>>2]=d+1;c[(c[u>>2]|0)+16>>2]=d;it(c[q>>2]|0,c[(c[u>>2]|0)+12>>2]|0);c[m>>2]=c[(c[u>>2]|0)+12>>2];d=c[m>>2]|0;i=n;return d|0}zs(c[o>>2]|0,c[k>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);if(a[p>>0]|0)Xe(c[o>>2]|0,a[p>>0]|0);else jt(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[m>>2]=c[t>>2];d=c[m>>2]|0;i=n;return d|0}function Ss(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0;h=i;i=i+48|0;n=h+8|0;q=h+44|0;r=h+40|0;p=h+36|0;g=h+32|0;j=h+28|0;l=h+24|0;o=h+20|0;k=h;m=h+16|0;f=h+12|0;c[q>>2]=a;c[r>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[q>>2]|0)+8>>2];e=(c[r>>2]|0)+8|0;if(c[(c[r>>2]|0)+4>>2]&1024){c[l>>2]=c[e>>2];if(c[p>>2]|0)c[l>>2]=0-(c[l>>2]|0);fp(c[j>>2]|0,25,c[l>>2]|0,c[g>>2]|0)|0;i=h;return}c[m>>2]=c[e>>2];c[o>>2]=rg(c[m>>2]|0,k)|0;if((c[o>>2]|0)!=0?!((c[o>>2]|0)==2&(c[p>>2]|0)!=0):0)if(!(Lb(c[m>>2]|0,19336,2)|0)){r=c[q>>2]|0;c[n>>2]=c[m>>2];Se(r,19344,n);i=h;return}else{Ts(c[j>>2]|0,c[m>>2]|0,c[p>>2]|0,c[g>>2]|0);i=h;return}if(c[p>>2]|0){if((c[o>>2]|0)==2){m=0;l=-2147483648}else{m=k;m=ZE(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;l=D}r=k;c[r>>2]=m;c[r+4>>2]=l}c[f>>2]=ht(c[j>>2]|0,k)|0;hp(c[j>>2]|0,26,0,c[g>>2]|0,0,c[f>>2]|0,-13)|0;i=h;return}function Ts(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;g=l+24|0;m=l+20|0;n=l+16|0;f=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[m>>2]=b;c[n>>2]=d;c[f>>2]=e;if(!(c[m>>2]|0)){i=l;return}a=c[m>>2]|0;Lm(a,j,Mb(c[m>>2]|0)|0,1)|0;if(c[n>>2]|0)h[j>>3]=-+h[j>>3];c[k>>2]=ht(c[g>>2]|0,j)|0;hp(c[g>>2]|0,133,0,c[f>>2]|0,0,c[k>>2]|0,-12)|0;i=l;return}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Cs(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function Vs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=et(c[d>>2]|0,1)|0;i=b;return a|0}function Ws(b,e,f,g){b=b|0;e=e|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;r=i;i=i+48|0;n=r+36|0;v=r+32|0;q=r+28|0;u=r+41|0;t=r+24|0;h=r+20|0;k=r+16|0;o=r+40|0;p=r+12|0;s=r+8|0;m=r+4|0;l=r;c[n>>2]=b;c[v>>2]=e;c[q>>2]=f;a[u>>0]=g;a[o>>0]=(d[u>>0]&1|0)!=0?33:34;c[k>>2]=c[c[v>>2]>>2];if(!(a[(c[n>>2]|0)+23>>0]|0))a[u>>0]=d[u>>0]&-3;c[t>>2]=c[(c[v>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[k>>2]|0))break;c[p>>2]=c[c[t>>2]>>2];if((d[u>>0]&2|0)!=0?(Vs(c[p>>2]|0)|0)!=0:0)ct(c[n>>2]|0,c[p>>2]|0,(c[q>>2]|0)+(c[h>>2]|0)|0,0);else j=8;do if((j|0)==8?(j=0,c[s>>2]=Qs(c[n>>2]|0,c[p>>2]|0,(c[q>>2]|0)+(c[h>>2]|0)|0)|0,(c[s>>2]|0)!=((c[q>>2]|0)+(c[h>>2]|0)|0)):0){c[l>>2]=c[(c[n>>2]|0)+8>>2];if((((d[o>>0]|0)==33?(b=dt(c[l>>2]|0,-1)|0,c[m>>2]=b,(d[b>>0]|0)==33):0)?((c[(c[m>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)+1|0)==(c[s>>2]|0):0)?((c[(c[m>>2]|0)+8>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)+1|0)==((c[q>>2]|0)+(c[h>>2]|0)|0):0){b=(c[m>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+1;break}fp(c[l>>2]|0,d[o>>0]|0,c[s>>2]|0,(c[q>>2]|0)+(c[h>>2]|0)|0)|0}while(0);c[h>>2]=(c[h>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}i=r;return c[k>>2]|0}function Xs(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,u=0,v=0,w=0,x=0,y=0,z=0;o=i;i=i+64|0;l=o+56|0;v=o+52|0;m=o+48|0;r=o+44|0;z=o+40|0;y=o+36|0;q=o+32|0;x=o+28|0;n=o+24|0;k=o+20|0;p=o+16|0;u=o+12|0;s=o+8|0;w=o+4|0;t=o;c[v>>2]=f;c[m>>2]=g;c[r>>2]=h;c[z>>2]=j;c[n>>2]=0;c[k>>2]=0;c[u>>2]=0;if(!(c[z>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}if((d[c[z>>2]>>0]|0)!=154){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}c[y>>2]=c[(c[z>>2]|0)+44>>2];if(!(c[y>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}if(!(d[(c[y>>2]|0)+44>>0]&16)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}c[q>>2]=c[(Rp(c[v>>2]|0,c[y>>2]|0)|0)+8>>2];c[x>>2]=c[c[q>>2]>>2];if(!(c[(c[x>>2]|0)+72>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}c[s>>2]=ne(c[v>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=c[s>>2];while(1){if(!(a[c[w>>2]>>0]|0))break;a[c[w>>2]>>0]=a[440+(d[c[w>>2]>>0]|0)>>0]|0;c[w>>2]=(c[w>>2]|0)+1}z=c[(c[x>>2]|0)+72>>2]|0;h=c[q>>2]|0;g=c[r>>2]|0;f=c[s>>2]|0;c[t>>2]=n;c[u>>2]=Ab[z&15](h,g,f,c[t>>2]|0,k)|0;Xb(c[v>>2]|0,c[s>>2]|0)}if(!(c[u>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}f=c[v>>2]|0;c[p>>2]=se(f,37+(Mb(c[(c[m>>2]|0)+24>>2]|0)|0)|0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}else{s=(c[p>>2]|0)+0|0;r=(c[m>>2]|0)+0|0;q=s+36|0;do{c[s>>2]=c[r>>2];s=s+4|0;r=r+4|0}while((s|0)<(q|0));c[(c[p>>2]|0)+24>>2]=(c[p>>2]|0)+36;g=c[(c[p>>2]|0)+24>>2]|0;f=c[(c[m>>2]|0)+24>>2]|0;dF(g|0,f|0,(Mb(c[(c[m>>2]|0)+24>>2]|0)|0)+1|0)|0;c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+4>>2]=c[k>>2];f=(c[p>>2]|0)+2|0;b[f>>1]=e[f>>1]|16;c[l>>2]=c[p>>2];f=c[l>>2]|0;i=o;return f|0}return 0} - - - -function ek(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;k=f+20|0;e=f+16|0;g=f+12|0;h=f+8|0;j=f+4|0;l=f;c[k>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+200>>2];c[h>>2]=c[(c[k>>2]|0)+152>>2];if((c[h>>2]|0)>>>0>(c[(c[k>>2]|0)+148>>2]|0)>>>0)c[h>>2]=c[(c[k>>2]|0)+148>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[k>>2]|0)+96>>2]|0))break;b=(c[(c[k>>2]|0)+92>>2]|0)+((c[l>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[k>>2]|0)+72|0;m=c[n+4>>2]|0;b=(c[(c[k>>2]|0)+92>>2]|0)+((c[l>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[l>>2]=(c[l>>2]|0)+1}l=Oi(c[k>>2]|0)|0;m=D;n=(c[k>>2]|0)+72|0;c[n>>2]=l;c[n+4>>2]=m;n=(c[k>>2]|0)+80|0;c[n>>2]=l;c[n+4>>2]=m;if(((d[(c[k>>2]|0)+7>>0]|0|0)==0?(d[(c[k>>2]|0)+5>>0]|0|0)!=4:0)?((Ai(c[(c[k>>2]|0)+60>>2]|0)|0)&512|0)==0:0){l=(c[g>>2]|0)+0|0;b=l+12|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(b|0))}else{n=c[g>>2]|0;a[n+0>>0]=a[4384]|0;a[n+1>>0]=a[4385]|0;a[n+2>>0]=a[4386]|0;a[n+3>>0]=a[4387]|0;a[n+4>>0]=a[4388]|0;a[n+5>>0]=a[4389]|0;a[n+6>>0]=a[4390]|0;a[n+7>>0]=a[4391]|0;ck((c[g>>2]|0)+8|0,-1)}vc(4,(c[k>>2]|0)+48|0);ck((c[g>>2]|0)+12|0,c[(c[k>>2]|0)+48>>2]|0);ck((c[g>>2]|0)+16|0,c[(c[k>>2]|0)+28>>2]|0);ck((c[g>>2]|0)+20|0,c[(c[k>>2]|0)+148>>2]|0);ck((c[g>>2]|0)+24|0,c[(c[k>>2]|0)+152>>2]|0);_E((c[g>>2]|0)+28|0,0,(c[h>>2]|0)-28|0)|0;c[j>>2]=0;while(1){if(c[e>>2]|0){g=17;break}if((c[j>>2]|0)>>>0>=(c[(c[k>>2]|0)+148>>2]|0)>>>0){g=17;break}n=(c[k>>2]|0)+72|0;c[e>>2]=id(c[(c[k>>2]|0)+64>>2]|0,c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[k>>2]|0)+72|0;m=n;m=bF(c[m>>2]|0,c[m+4>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0)}if((g|0)==17){i=f;return c[e>>2]|0}return 0}function fk(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;g=f;c[d>>2]=a;c[g>>2]=c[c[d>>2]>>2];while(1){if(!(c[g>>2]|0))break;a=(c[g>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-5;c[g>>2]=c[(c[g>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;while(1){c[e>>2]=hk(c[f>>2]|0,c[g>>2]|0)|0;if((c[e>>2]|0)!=5){b=4;break}if(!(ub[c[(c[f>>2]|0)+176>>2]&31](c[(c[f>>2]|0)+180>>2]|0)|0)){b=4;break}}if((b|0)==4){i=d;return c[e>>2]|0}return 0}function hk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;j=f+4|0;g=f;c[h>>2]=b;c[j>>2]=e;c[g>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)>=(c[j>>2]|0)?(d[(c[h>>2]|0)+17>>0]|0|0)!=5:0){b=c[g>>2]|0;i=f;return b|0}if(d[(c[h>>2]|0)+13>>0]|0)e=0;else e=pj(c[(c[h>>2]|0)+60>>2]|0,c[j>>2]|0)|0;c[g>>2]=e;if(c[g>>2]|0){b=c[g>>2]|0;i=f;return b|0}if(!((c[j>>2]|0)==4?1:(d[(c[h>>2]|0)+17>>0]|0|0)!=5)){b=c[g>>2]|0;i=f;return b|0}a[(c[h>>2]|0)+17>>0]=c[j>>2];b=c[g>>2]|0;i=f;return b|0}function ik(e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;z=i;i=i+144|0;n=z+104|0;q=z+100|0;C=z+96|0;E=z+92|0;v=z+88|0;p=z+84|0;s=z+80|0;o=z+76|0;B=z+72|0;A=z+68|0;u=z+64|0;x=z+60|0;w=z+56|0;t=z+32|0;r=z+8|0;H=z+112|0;G=z+48|0;l=z+44|0;y=z+40|0;F=z;c[q>>2]=e;c[C>>2]=f;c[E>>2]=g;c[v>>2]=h;c[p>>2]=j;c[s>>2]=k;c[u>>2]=0;c[x>>2]=0;e=jk(c[q>>2]|0)|0;c[o>>2]=e;if(e){c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}c[B>>2]=c[(c[q>>2]|0)+68>>2];if(!(c[B>>2]|0)){ck(H,931071618|(a[1136]|0)==0);ck(H+4|0,3007e3);ck(H+8|0,c[C>>2]|0);ck(H+12|0,c[(c[q>>2]|0)+104>>2]|0);if(!(c[(c[q>>2]|0)+104>>2]|0))vc(8,(c[q>>2]|0)+84|0);e=H+16|0;f=(c[q>>2]|0)+84|0;a[e+0>>0]=a[f+0>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;a[e+4>>0]=a[f+4>>0]|0;a[e+5>>0]=a[f+5>>0]|0;a[e+6>>0]=a[f+6>>0]|0;a[e+7>>0]=a[f+7>>0]|0;Jj(1,H,24,0,G);ck(H+24|0,c[G>>2]|0);ck(H+28|0,c[G+4>>2]|0);c[(c[q>>2]|0)+36>>2]=c[C>>2];a[(c[q>>2]|0)+65>>0]=(a[1136]|0)==0;c[(c[q>>2]|0)+76>>2]=c[G>>2];c[(c[q>>2]|0)+80>>2]=c[G+4>>2];a[(c[q>>2]|0)+47>>0]=1;c[o>>2]=id(c[(c[q>>2]|0)+8>>2]|0,H,32,0,0)|0;if(c[o>>2]|0){c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}if(((c[s>>2]|0)!=0?(d[(c[q>>2]|0)+48>>0]|0)!=0:0)?(c[o>>2]=Yh(c[(c[q>>2]|0)+8>>2]|0,c[s>>2]&19)|0,(c[o>>2]|0)!=0):0){c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}}c[r>>2]=c[q>>2];c[r+4>>2]=c[(c[q>>2]|0)+8>>2];f=r+8|0;c[f>>2]=0;c[f+4>>2]=0;c[r+16>>2]=c[s>>2];c[r+20>>2]=c[C>>2];f=(c[C>>2]|0)+24|0;f=lF((c[B>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=bF(32,0,f|0,D|0)|0;e=t;c[e>>2]=f;c[e+4>>2]=D;c[w>>2]=(c[C>>2]|0)+24;c[A>>2]=c[E>>2];while(1){if(!(c[A>>2]|0))break;c[B>>2]=(c[B>>2]|0)+1;if(c[p>>2]|0)G=(c[(c[A>>2]|0)+12>>2]|0)==0?c[v>>2]|0:0;else G=0;c[l>>2]=G;e=t;c[o>>2]=kk(r,c[A>>2]|0,c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[o>>2]|0){m=16;break}c[u>>2]=c[A>>2];f=c[w>>2]|0;e=t;f=bF(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=t;c[e>>2]=f;c[e+4>>2]=D;c[A>>2]=c[(c[A>>2]|0)+12>>2]}if((m|0)==16){c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}a:do if((c[p>>2]|0)!=0?(c[s>>2]&32|0)!=0:0){if(!(a[(c[q>>2]|0)+49>>0]|0)){c[o>>2]=Yh(c[r+4>>2]|0,c[s>>2]&19)|0;break}c[y>>2]=Bi(c[(c[q>>2]|0)+8>>2]|0)|0;e=t;f=c[y>>2]|0;f=bF(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;f=ZE(f|0,D|0,1,0)|0;e=c[y>>2]|0;e=jF(f|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;f=c[y>>2]|0;f=lF(e|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=r+8|0;c[e>>2]=f;c[e+4>>2]=D;while(1){f=t;h=c[f+4>>2]|0;e=r+8|0;g=c[e+4>>2]|0;if(!((h|0)<(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0<(c[e>>2]|0)>>>0:0)))break a;e=t;c[o>>2]=kk(r,c[u>>2]|0,c[v>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[o>>2]|0)break;f=c[w>>2]|0;e=t;f=bF(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=t;c[e>>2]=f;c[e+4>>2]=D;c[x>>2]=(c[x>>2]|0)+1}c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}while(0);if(((c[p>>2]|0)!=0?(d[(c[q>>2]|0)+47>>0]|0)!=0:0)?(e=(c[q>>2]|0)+16|0,f=c[e+4>>2]|0,(f|0)>0|(f|0)==0&(c[e>>2]|0)>>>0>=0):0){e=(c[q>>2]|0)+16|0;h=c[e+4>>2]|0;f=F;c[f>>2]=c[e>>2];c[f+4>>2]=h;f=(c[C>>2]|0)+24|0;f=lF((c[B>>2]|0)+(c[x>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=bF(32,0,f|0,D|0)|0;h=D;e=(c[q>>2]|0)+16|0;g=c[e+4>>2]|0;if((h|0)>(g|0)|((h|0)==(g|0)?f>>>0>(c[e>>2]|0)>>>0:0)){f=(c[C>>2]|0)+24|0;f=lF((c[B>>2]|0)+(c[x>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=bF(32,0,f|0,D|0)|0;e=F;c[e>>2]=f;c[e+4>>2]=D}e=F;sj(c[q>>2]|0,c[e>>2]|0,c[e+4>>2]|0);a[(c[q>>2]|0)+47>>0]=0}c[B>>2]=c[(c[q>>2]|0)+68>>2];c[A>>2]=c[E>>2];while(1){if(!((c[A>>2]|0)!=0&(c[o>>2]|0)==0))break;c[B>>2]=(c[B>>2]|0)+1;c[o>>2]=Lj(c[q>>2]|0,c[B>>2]|0,c[(c[A>>2]|0)+20>>2]|0)|0;c[A>>2]=c[(c[A>>2]|0)+12>>2]}while(1){if(!((c[o>>2]|0)==0&(c[x>>2]|0)>0))break;c[B>>2]=(c[B>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+ -1;c[o>>2]=Lj(c[q>>2]|0,c[B>>2]|0,c[(c[u>>2]|0)+20>>2]|0)|0}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+66>>1]=c[C>>2]&65280|c[C>>2]>>16;c[(c[q>>2]|0)+68>>2]=c[B>>2];if(c[p>>2]|0){e=(c[q>>2]|0)+60|0;c[e>>2]=(c[e>>2]|0)+1;c[(c[q>>2]|0)+72>>2]=c[v>>2]}if(c[p>>2]|0){Mj(c[q>>2]|0);c[(c[q>>2]|0)+12>>2]=c[B>>2]}}c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}function jk(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+48|0;d=j+32|0;h=j+28|0;g=j+24|0;e=j+20|0;l=j+16|0;n=j+12|0;k=j+8|0;m=j+4|0;f=j;c[h>>2]=a;c[g>>2]=0;if(!(b[(c[h>>2]|0)+40>>1]|0)){c[l>>2]=Aj(c[h>>2]|0)|0;do if((c[c[l>>2]>>2]|0)>>>0>0){vc(4,n);c[g>>2]=vj(c[h>>2]|0,4,4)|0;if(c[g>>2]|0){if((c[g>>2]|0)==5)break;c[d>>2]=c[g>>2];n=c[d>>2]|0;i=j;return n|0}c[m>>2]=(c[h>>2]|0)+84;a=(c[h>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[h>>2]|0)+68>>2]=0;a=c[m>>2]|0;ck(a,1+(Hh(c[m>>2]|0)|0)|0);c[(c[m>>2]|0)+4>>2]=c[n>>2];Mj(c[h>>2]|0);c[c[l>>2]>>2]=0;c[(c[l>>2]|0)+8>>2]=0;c[k>>2]=2;while(1){if((c[k>>2]|0)>=5)break;c[(c[l>>2]|0)+4+(c[k>>2]<<2)>>2]=-1;c[k>>2]=(c[k>>2]|0)+1}ji(c[h>>2]|0,4,4)}while(0);hi(c[h>>2]|0,3);b[(c[h>>2]|0)+40>>1]=-1;c[e>>2]=0;do{m=c[h>>2]|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[g>>2]=nk(m,f,1,n)|0}while((c[g>>2]|0)==-1)}c[d>>2]=c[g>>2];n=c[d>>2]|0;i=j;return n|0}function kk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;l=i;i=i+64|0;h=l+28|0;g=l+24|0;p=l+20|0;o=l+16|0;k=l;j=l+12|0;m=l+8|0;n=l+32|0;c[g>>2]=a;c[p>>2]=b;c[o>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;c[m>>2]=c[(c[p>>2]|0)+4>>2];lk(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[m>>2]|0,n);a=k;c[j>>2]=mk(c[g>>2]|0,n,24,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=c[j>>2];p=c[h>>2]|0;i=l;return p|0}else{a=c[g>>2]|0;n=c[m>>2]|0;o=c[(c[g>>2]|0)+20>>2]|0;p=k;p=bF(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[j>>2]=mk(a,n,o,p,D)|0;c[h>>2]=c[j>>2];p=c[h>>2]|0;i=l;return p|0}return 0}function lk(b,e,f,g,h){b=b|0;e=e|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,q=0;j=i;i=i+32|0;m=j+24|0;q=j+20|0;p=j+16|0;n=j+12|0;l=j+8|0;o=j+4|0;k=j;c[m>>2]=b;c[q>>2]=e;c[p>>2]=f;c[n>>2]=g;c[l>>2]=h;c[k>>2]=(c[m>>2]|0)+76;ck(c[l>>2]|0,c[q>>2]|0);ck((c[l>>2]|0)+4|0,c[p>>2]|0);b=(c[l>>2]|0)+8|0;e=(c[m>>2]|0)+84|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;a[b+4>>0]=a[e+4>>0]|0;a[b+5>>0]=a[e+5>>0]|0;a[b+6>>0]=a[e+6>>0]|0;a[b+7>>0]=a[e+7>>0]|0;c[o>>2]=(d[(c[m>>2]|0)+65>>0]|0)==((a[1136]|0)==0|0)&1;Jj(c[o>>2]|0,c[l>>2]|0,8,c[k>>2]|0,c[k>>2]|0);Jj(c[o>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+36>>2]|0,c[k>>2]|0,c[k>>2]|0);ck((c[l>>2]|0)+16|0,c[c[k>>2]>>2]|0);ck((c[l>>2]|0)+20|0,c[(c[k>>2]|0)+4>>2]|0);i=j;return}function mk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+28|0;m=o+24|0;k=o+20|0;g=o+16|0;h=o;l=o+12|0;j=o+8|0;c[m>>2]=a;c[k>>2]=b;c[g>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;b=h;e=c[b+4>>2]|0;a=(c[m>>2]|0)+8|0;d=c[a+4>>2]|0;if((e|0)<(d|0)|((e|0)==(d|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)?(e=h,b=c[g>>2]|0,b=bF(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,e=D,a=(c[m>>2]|0)+8|0,d=c[a+4>>2]|0,(e|0)>(d|0)|((e|0)==(d|0)?b>>>0>=(c[a>>2]|0)>>>0:0)):0){b=(c[m>>2]|0)+8|0;a=h;a=ZE(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[j>>2]=a;a=h;c[l>>2]=id(c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];a=c[n>>2]|0;i=o;return a|0}b=c[j>>2]|0;a=h;b=bF(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=D;c[g>>2]=(c[g>>2]|0)-(c[j>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[l>>2]=Yh(c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+16>>2]&19)|0;if((c[g>>2]|0)==0|(c[l>>2]|0)!=0){c[n>>2]=c[l>>2];a=c[n>>2]|0;i=o;return a|0}}a=h;c[l>>2]=id(c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0,c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[n>>2]=c[l>>2];a=c[n>>2]|0;i=o;return a|0}function nk(a,e,f,g){a=a|0;e=e|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;j=i;i=i+48|0;h=j+44|0;m=j+40|0;t=j+36|0;s=j+32|0;v=j+28|0;q=j+24|0;o=j+20|0;n=j+16|0;p=j+12|0;l=j+8|0;u=j+4|0;k=j;c[m>>2]=a;c[t>>2]=e;c[s>>2]=f;c[v>>2]=g;c[l>>2]=0;if((c[v>>2]|0)>5){c[u>>2]=1;if((c[v>>2]|0)>100){c[h>>2]=15;a=c[h>>2]|0;i=j;return a|0}if((c[v>>2]|0)>=10)c[u>>2]=($((c[v>>2]|0)-9|0,(c[v>>2]|0)-9|0)|0)*39;fg(c[c[m>>2]>>2]|0,c[u>>2]|0)|0}if(!(c[s>>2]|0)){c[l>>2]=xj(c[m>>2]|0,c[t>>2]|0)|0;do if((c[l>>2]|0)==5){if(!(c[c[(c[m>>2]|0)+32>>2]>>2]|0)){c[l>>2]=-1;break}a=gi(c[m>>2]|0,2)|0;c[l>>2]=a;if(!a){hi(c[m>>2]|0,2);c[l>>2]=-1;break}if((c[l>>2]|0)==5)c[l>>2]=261}while(0);if(c[l>>2]|0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}}c[q>>2]=Aj(c[m>>2]|0)|0;do if((c[s>>2]|0)==0?(c[c[q>>2]>>2]|0)==(c[(c[m>>2]|0)+68>>2]|0):0){c[l>>2]=gi(c[m>>2]|0,3)|0;Nj(c[m>>2]|0);if(c[l>>2]|0){if((c[l>>2]|0)==5)break;c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}a=mj(c[m>>2]|0)|0;a=(TE(a,(c[m>>2]|0)+52|0,48)|0)!=0;k=c[m>>2]|0;if(a){hi(k,3);c[h>>2]=-1;a=c[h>>2]|0;i=j;return a|0}else{b[k+40>>1]=0;c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}}while(0);c[o>>2]=0;c[n>>2]=0;c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[k>>2]=c[(c[q>>2]|0)+4+(c[p>>2]<<2)>>2];if((c[o>>2]|0)>>>0<=(c[k>>2]|0)>>>0?(c[k>>2]|0)>>>0<=(c[(c[m>>2]|0)+68>>2]|0)>>>0:0){c[o>>2]=c[k>>2];c[n>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1}a:do if(((d[(c[m>>2]|0)+46>>0]|0)&2|0)==0?(c[n>>2]|0)==0?1:(c[o>>2]|0)>>>0<(c[(c[m>>2]|0)+68>>2]|0)>>>0:0){c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break a;c[l>>2]=vj(c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[l>>2]|0)){r=36;break}if((c[l>>2]|0)!=5)break;c[p>>2]=(c[p>>2]|0)+1}if((r|0)==36){a=c[(c[m>>2]|0)+68>>2]|0;c[(c[q>>2]|0)+4+(c[p>>2]<<2)>>2]=a;c[o>>2]=a;c[n>>2]=c[p>>2];ji(c[m>>2]|0,3+(c[p>>2]|0)|0,1);break}c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}while(0);if(!(c[n>>2]|0)){c[h>>2]=(c[l>>2]|0)==5?-1:520;a=c[h>>2]|0;i=j;return a|0}c[l>>2]=gi(c[m>>2]|0,3+(c[n>>2]|0)|0)|0;if(c[l>>2]|0){c[h>>2]=(c[l>>2]|0)==5?-1:c[l>>2]|0;a=c[h>>2]|0;i=j;return a|0}Nj(c[m>>2]|0);if((c[(c[q>>2]|0)+4+(c[n>>2]<<2)>>2]|0)==(c[o>>2]|0)?(a=mj(c[m>>2]|0)|0,(TE(a,(c[m>>2]|0)+52|0,48)|0)==0):0){b[(c[m>>2]|0)+40>>1]=c[n>>2];c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}hi(c[m>>2]|0,3+(c[n>>2]|0)|0);c[h>>2]=-1;a=c[h>>2]|0;i=j;return a|0}function ok(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;f=b+4|0;e=b;c[f>>2]=a;c[e>>2]=0;if(c[c[(c[f>>2]|0)+68>>2]>>2]|0){f=c[e>>2]|0;i=b;return f|0}if((d[(c[f>>2]|0)+5>>0]|0|0)!=4?(d[(c[f>>2]|0)+21>>0]|0|0)==0:0){c[e>>2]=ak(c[f>>2]|0,c[(c[f>>2]|0)+68>>2]|0,8192)|0;f=c[e>>2]|0;i=b;return f|0}qi(c[(c[f>>2]|0)+68>>2]|0);f=c[e>>2]|0;i=b;return f|0}function pk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;ck(g,c[k>>2]|0);a=j;a=id(c[h>>2]|0,g,4,c[a>>2]|0,c[a+4>>2]|0)|0;i=f;return a|0}function qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d+16|0;j=d+12|0;g=d+8|0;e=d+4|0;h=d;c[f>>2]=a;c[j>>2]=b;c[e>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+96>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+92>>2]|0)+((c[g>>2]|0)*48|0);if((c[j>>2]|0)>>>0<=(c[(c[h>>2]|0)+20>>2]|0)>>>0){a=Wg(c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[e>>2]|a}c[g>>2]=(c[g>>2]|0)+1}i=d;return c[e>>2]|0}function rk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+4|0;f=e;c[g>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[g>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+ -1}i=e;return(d|0)==0|0}function sk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];tc(21,4880,d);i=b;return}function tk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;k=l+16|0;g=l+12|0;m=l+8|0;h=l+4|0;j=l;c[n>>2]=a;c[k>>2]=b;c[g>>2]=e;c[m>>2]=f;c[h>>2]=0;if(!(c[n>>2]|0)){a=c[h>>2]|0;i=l;return a|0}c[j>>2]=c[(c[n>>2]|0)+4>>2];Pc(c[n>>2]|0);if(d[(c[j>>2]|0)+20>>0]|0){c[h>>2]=6;a=c[h>>2]|0;i=l;return a|0}else{c[h>>2]=uk(c[c[j>>2]>>2]|0,c[k>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;a=c[h>>2]|0;i=l;return a|0}return 0}function uk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[h>>2]=0;if(!(c[(c[j>>2]|0)+208>>2]|0)){a=c[h>>2]|0;i=g;return a|0}c[h>>2]=qj(c[(c[j>>2]|0)+208>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+176>>2]|0,c[(c[j>>2]|0)+180>>2]|0,d[(c[j>>2]|0)+9>>0]|0,c[(c[j>>2]|0)+152>>2]|0,c[(c[j>>2]|0)+200>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;a=c[h>>2]|0;i=g;return a|0}function vk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;g=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;l=h+4|0;j=h;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if(!(c[j>>2]|0)){f=7;break}if((Lb(c[(c[j>>2]|0)+24>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)==0?(a[(c[(c[j>>2]|0)+24>>2]|0)+(c[l>>2]|0)>>0]|0)==0:0){f=5;break}c[j>>2]=c[(c[j>>2]|0)+28>>2]}if((f|0)==5){c[g>>2]=c[j>>2];n=c[g>>2]|0;i=h;return n|0}else if((f|0)==7){c[g>>2]=0;n=c[g>>2]|0;i=h;return n|0}return 0}function wk(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;j=i;i=i+32|0;k=j+12|0;m=j+8|0;o=j+4|0;n=j+16|0;l=j;c[m>>2]=f;c[o>>2]=g;a[n>>0]=h;h=c[m>>2]|0;if((c[o>>2]|0)==-2){if(!(c[h+12>>2]|0))l=(c[(c[m>>2]|0)+16>>2]|0)==0;else l=0;c[k>>2]=l?0:6;f=c[k>>2]|0;i=j;return f|0}if((b[h>>1]|0)!=(c[o>>2]|0)?(b[c[m>>2]>>1]|0)>=0:0){c[k>>2]=0;f=c[k>>2]|0;i=j;return f|0}if((b[c[m>>2]>>1]|0)==(c[o>>2]|0))c[l>>2]=4;else c[l>>2]=1;if((d[n>>0]|0)!=(e[(c[m>>2]|0)+2>>1]&3|0)){if(d[n>>0]&e[(c[m>>2]|0)+2>>1]&2)c[l>>2]=(c[l>>2]|0)+1}else c[l>>2]=(c[l>>2]|0)+2;c[k>>2]=c[l>>2];f=c[k>>2]|0;i=j;return f|0}function xk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;k=f+16|0;h=f+12|0;g=f+8|0;l=f+4|0;m=f+20|0;j=f;c[k>>2]=b;c[h>>2]=e;c[l>>2]=Mb(c[(c[h>>2]|0)+24>>2]|0)|0;a[m>>0]=a[c[(c[h>>2]|0)+24>>2]>>0]|0;c[j>>2]=((d[440+(d[m>>0]|0)>>0]|0)+(c[l>>2]|0)|0)%23|0;c[g>>2]=vk(c[k>>2]|0,c[j>>2]|0,c[(c[h>>2]|0)+24>>2]|0,c[l>>2]|0)|0;if(c[g>>2]|0){c[(c[h>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];i=f;return}else{c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+28>>2]=c[(c[k>>2]|0)+(c[j>>2]<<2)>>2];c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=c[h>>2];i=f;return}}function yk(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[k>>2]|0)+10>>0]|0|0)!=(c[j>>2]|0):0){c[h>>2]=zk(c[k>>2]|0,c[j>>2]&255)|0;c[g>>2]=c[h>>2];a=c[g>>2]|0;i=f;return a|0}c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}function zk(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;j=i;i=i+48|0;o=j+40|0;l=j+36|0;k=j+45|0;t=j+32|0;q=j+28|0;m=j+24|0;n=j+20|0;h=j+16|0;p=j+12|0;u=j+44|0;v=j+8|0;r=j+4|0;s=j;c[l>>2]=f;a[k>>0]=g;if((d[(c[l>>2]|0)+10>>0]|0|0)!=1?(d[k>>0]|0|0)!=1:0){c[v>>2]=Ak(c[l>>2]|0)|0;if(c[v>>2]|0){c[o>>2]=7;g=c[o>>2]|0;i=j;return g|0}c[m>>2]=c[(c[l>>2]|0)+16>>2];c[n>>2]=(c[m>>2]|0)+(c[(c[l>>2]|0)+12>>2]&-2);while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;a[u>>0]=a[c[m>>2]>>0]|0;a[c[m>>2]>>0]=a[(c[m>>2]|0)+1>>0]|0;c[m>>2]=(c[m>>2]|0)+1;v=a[u>>0]|0;g=c[m>>2]|0;c[m>>2]=g+1;a[g>>0]=v}a[(c[l>>2]|0)+10>>0]=a[k>>0]|0}else{f=(c[l>>2]|0)+12|0;u=c[f>>2]|0;if((d[k>>0]|0|0)==1){c[f>>2]=u&-2;c[t>>2]=(c[(c[l>>2]|0)+12>>2]<<1)+1}else c[t>>2]=(u<<1)+2;c[m>>2]=c[(c[l>>2]|0)+16>>2];c[n>>2]=(c[m>>2]|0)+(c[(c[l>>2]|0)+12>>2]|0);g=c[t>>2]|0;c[q>>2]=Qe(c[(c[l>>2]|0)+32>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!(c[q>>2]|0)){c[o>>2]=7;g=c[o>>2]|0;i=j;return g|0}c[h>>2]=c[q>>2];if((d[(c[l>>2]|0)+10>>0]|0|0)==1){a:do if((d[k>>0]|0|0)==2)while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break a;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=d[g>>0];do if((c[p>>2]|0)>>>0>=192){c[p>>2]=d[4984+((c[p>>2]|0)-192)>>0];while(1){if((c[m>>2]|0)!=(c[n>>2]|0))r=((d[c[m>>2]>>0]|0)&192|0)==128;else r=0;s=c[p>>2]|0;if(!r)break;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(s<<6)+(63&(d[g>>0]|0))}if((s>>>0>=128?(c[p>>2]&-2048|0)!=55296:0)?(c[p>>2]&-2|0)!=65534:0)break;c[p>>2]=65533}while(0);r=c[p>>2]|0;if((c[p>>2]|0)>>>0<=65535){v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=r;v=(c[p>>2]|0)>>>8&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}else{g=(r>>>10&63)+(((c[p>>2]|0)-65536|0)>>>10&192)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=216+(((c[p>>2]|0)-65536|0)>>>18&3)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;g=c[p>>2]&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=220+((c[p>>2]|0)>>>8&3)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}}else while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break a;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=d[g>>0];do if((c[p>>2]|0)>>>0>=192){c[p>>2]=d[4984+((c[p>>2]|0)-192)>>0];while(1){if((c[m>>2]|0)!=(c[n>>2]|0))s=((d[c[m>>2]>>0]|0)&192|0)==128;else s=0;r=c[p>>2]|0;if(!s)break;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(r<<6)+(63&(d[g>>0]|0))}if((r>>>0>=128?(c[p>>2]&-2048|0)!=55296:0)?(c[p>>2]&-2|0)!=65534:0)break;c[p>>2]=65533}while(0);r=c[p>>2]|0;if((c[p>>2]|0)>>>0<=65535){v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=r>>>8;v=c[p>>2]&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}else{v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=216+((r-65536|0)>>>18&3);v=((c[p>>2]|0)>>>10&63)+(((c[p>>2]|0)-65536|0)>>>10&192)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;g=220+((c[p>>2]|0)>>>8&3)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=c[p>>2]&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}}while(0);c[(c[l>>2]|0)+12>>2]=(c[h>>2]|0)-(c[q>>2]|0);g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=0}else{b:do if((d[(c[l>>2]|0)+10>>0]|0|0)==2)while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break b;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=d[g>>0];g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(c[p>>2]|0)+((d[g>>0]|0)<<8);if((c[p>>2]|0)>>>0>=55296&(c[p>>2]|0)>>>0<57344?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0){g=c[m>>2]|0;c[m>>2]=g+1;c[r>>2]=d[g>>0];g=c[m>>2]|0;c[m>>2]=g+1;c[r>>2]=(c[r>>2]|0)+((d[g>>0]|0)<<8);c[p>>2]=(c[r>>2]&1023)+((c[p>>2]&63)<<10)+((c[p>>2]&960)+64<<10)}t=c[p>>2]|0;if((c[p>>2]|0)>>>0<128){g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=t;continue}s=c[p>>2]|0;if(t>>>0<2048){v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=192+(s>>>6&31);v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}t=c[p>>2]|0;if(s>>>0<65536){g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=224+(t>>>12&15);g=128+((c[p>>2]|0)>>>6&63)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}else{v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=240+(t>>>18&7);v=128+((c[p>>2]|0)>>>12&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;g=128+((c[p>>2]|0)>>>6&63)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}}else while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break b;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(d[g>>0]|0)<<8;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(c[p>>2]|0)+(d[g>>0]|0);if((c[p>>2]|0)>>>0>=55296&(c[p>>2]|0)>>>0<57344?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0){g=c[m>>2]|0;c[m>>2]=g+1;c[s>>2]=(d[g>>0]|0)<<8;g=c[m>>2]|0;c[m>>2]=g+1;c[s>>2]=(c[s>>2]|0)+(d[g>>0]|0);c[p>>2]=(c[s>>2]&1023)+((c[p>>2]&63)<<10)+((c[p>>2]&960)+64<<10)}t=c[p>>2]|0;if((c[p>>2]|0)>>>0<128){g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=t;continue}r=c[p>>2]|0;if(t>>>0<2048){v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=192+(r>>>6&31);v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}t=c[p>>2]|0;if(r>>>0<65536){g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=224+(t>>>12&15);g=128+((c[p>>2]|0)>>>6&63)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}else{v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=240+(t>>>18&7);v=128+((c[p>>2]|0)>>>12&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;g=128+((c[p>>2]|0)>>>6&63)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}}while(0);c[(c[l>>2]|0)+12>>2]=(c[h>>2]|0)-(c[q>>2]|0)}a[c[h>>2]>>0]=0;c[p>>2]=e[(c[l>>2]|0)+8>>1];Bd(c[l>>2]|0);b[(c[l>>2]|0)+8>>1]=514|c[p>>2]&31;a[(c[l>>2]|0)+10>>0]=a[k>>0]|0;c[(c[l>>2]|0)+16>>2]=c[q>>2];c[(c[l>>2]|0)+20>>2]=c[(c[l>>2]|0)+16>>2];g=Bk(c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+24>>2]=g}c[o>>2]=0;g=c[o>>2]|0;i=j;return g|0}function Ak(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+4|0;j=h;c[f>>2]=d;if((e[(c[f>>2]|0)+8>>1]|0)&16384)Dd(c[f>>2]|0)|0;c[j>>2]=e[(c[f>>2]|0)+8>>1];do if(c[j>>2]&18){if((c[(c[f>>2]|0)+24>>2]|0)!=0?(c[(c[f>>2]|0)+16>>2]|0)==(c[(c[f>>2]|0)+20>>2]|0):0)break;if(!(Dk(c[f>>2]|0,(c[(c[f>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+12>>2]|0)+1)>>0]=0;j=(c[f>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|512;break}c[g>>2]=7;j=c[g>>2]|0;i=h;return j|0}while(0);c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function Bk(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;h=d+4|0;g=d;c[h>>2]=a;c[g>>2]=b;if(!(c[h>>2]|0)){c[f>>2]=Tb(c[g>>2]|0)|0;a=c[f>>2]|0;i=d;return a|0}if(Ck(c[h>>2]|0,c[g>>2]|0)|0){c[f>>2]=e[(c[h>>2]|0)+248>>1];a=c[f>>2]|0;i=d;return a|0}else{c[f>>2]=ub[c[38640+48>>2]&31](c[g>>2]|0)|0;a=c[f>>2]|0;i=d;return a|0}return 0}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[f>>2]|0)+276>>2]|0)>>>0){a=0;a=a&1;i=d;return a|0}a=(c[e>>2]|0)>>>0<(c[(c[f>>2]|0)+280>>2]|0)>>>0;a=a&1;i=d;return a|0}function Dk(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k+12|0;h=k+8|0;l=k+4|0;g=k;c[h>>2]=a;c[l>>2]=d;c[g>>2]=f;do if((c[(c[h>>2]|0)+24>>2]|0)<(c[l>>2]|0)){if((c[l>>2]|0)<32)c[l>>2]=32;if(((c[g>>2]|0)!=0?(c[(c[h>>2]|0)+24>>2]|0)>0:0)?(c[(c[h>>2]|0)+16>>2]|0)==(c[(c[h>>2]|0)+20>>2]|0):0){a=c[l>>2]|0;a=Ek(c[(c[h>>2]|0)+32>>2]|0,c[(c[h>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+20>>2]=a;c[(c[h>>2]|0)+16>>2]=a;c[g>>2]=0}else{if((c[(c[h>>2]|0)+24>>2]|0)>0)Xb(c[(c[h>>2]|0)+32>>2]|0,c[(c[h>>2]|0)+20>>2]|0);a=c[l>>2]|0;a=Qe(c[(c[h>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+20>>2]=a}f=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){a=Bk(c[f+32>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;c[(c[h>>2]|0)+24>>2]=a;break}_d(f);c[(c[h>>2]|0)+16>>2]=0;c[(c[h>>2]|0)+24>>2]=0;c[j>>2]=7;a=c[j>>2]|0;i=k;return a|0}while(0);if(((c[g>>2]|0)!=0?(c[(c[h>>2]|0)+16>>2]|0)!=0:0)?(c[(c[h>>2]|0)+16>>2]|0)!=(c[(c[h>>2]|0)+20>>2]|0):0)dF(c[(c[h>>2]|0)+20>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0;if((e[(c[h>>2]|0)+8>>1]|0)&1024)rb[c[(c[h>>2]|0)+36>>2]&31](c[(c[h>>2]|0)+16>>2]|0);c[(c[h>>2]|0)+16>>2]=c[(c[h>>2]|0)+20>>2];a=(c[h>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-7169;c[j>>2]=0;a=c[j>>2]|0;i=k;return a|0}function Ek(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+16|0;j=f+12|0;k=f;g=f+8|0;c[h>>2]=a;c[j>>2]=b;a=k;c[a>>2]=d;c[a+4>>2]=e;a=k;c[g>>2]=Fk(c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=f;return k|0}Xb(c[h>>2]|0,c[j>>2]|0);k=c[g>>2]|0;i=f;return k|0}function Fk(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;k=n+20|0;o=n+16|0;j=n+12|0;l=n;m=n+8|0;c[o>>2]=b;c[j>>2]=f;b=l;c[b>>2]=g;c[b+4>>2]=h;c[m>>2]=0;do if(!(d[(c[o>>2]|0)+64>>0]|0)){h=c[o>>2]|0;if(!(c[j>>2]|0)){b=l;c[k>>2]=Qe(h,c[b>>2]|0,c[b+4>>2]|0)|0;b=c[k>>2]|0;i=n;return b|0}if(!(Ck(h,c[j>>2]|0)|0)){b=l;c[m>>2]=lc(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0)break;a[(c[o>>2]|0)+64>>0]=1;break}b=l;f=c[b+4>>2]|0;if(f>>>0<0|((f|0)==0?(c[b>>2]|0)>>>0<=(e[(c[o>>2]|0)+248>>1]|0)>>>0:0)){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=n;return b|0}else{b=l;c[m>>2]=Qe(c[o>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[m>>2]|0))break;dF(c[m>>2]|0,c[j>>2]|0,e[(c[o>>2]|0)+248>>1]|0|0)|0;Xb(c[o>>2]|0,c[j>>2]|0);break}}while(0);c[k>>2]=c[m>>2];b=c[k>>2]|0;i=n;return b|0}function Gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+32>>2];if(!(c[e>>2]|0)){i=d;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+ -1;if(c[c[e>>2]>>2]|0){i=d;return}rb[c[(c[e>>2]|0)+4>>2]&31](c[(c[e>>2]|0)+8>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function Hk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;if(c[(c[e>>2]|0)+4>>2]|0){c[d>>2]=1;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){a=9;break}c[g>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if((c[g>>2]|0)!=0?(Wk(c[g>>2]|0)|0)!=0:0){a=7;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==7){c[d>>2]=1;g=c[d>>2]|0;i=b;return g|0}else if((a|0)==9){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}return 0}function Ik(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;l=f+16|0;k=f+12|0;h=f+8|0;m=f+4|0;j=f;c[g>>2]=b;c[l>>2]=e;c[h>>2]=0;kh();Rb(c[g>>2]|0);if(c[(c[g>>2]|0)+24>>2]&2)e=(d[(c[g>>2]|0)+145>>0]|0)==0;else e=0;c[m>>2]=e&1;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+4>>2];if(c[j>>2]|0){if(Tk(c[j>>2]|0)|0)c[h>>2]=1;qd(c[j>>2]|0,c[l>>2]|0,((c[m>>2]|0)!=0^1)&1)|0}c[k>>2]=(c[k>>2]|0)+1}Uk(c[g>>2]|0)|0;lh();if((c[(c[g>>2]|0)+24>>2]&2|0)!=0?(d[(c[g>>2]|0)+145>>0]|0)==0:0){gf(c[g>>2]|0);cd(c[g>>2]|0)}b=(c[g>>2]|0)+504|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[g>>2]|0)+512|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[g>>2]|0)+24|0;c[b>>2]=c[b>>2]&-16777217;if(!(c[(c[g>>2]|0)+200>>2]|0)){i=f;return}if((c[h>>2]|0)==0?(a[(c[g>>2]|0)+62>>0]|0)!=0:0){i=f;return}rb[c[(c[g>>2]|0)+200>>2]&31](c[(c[g>>2]|0)+196>>2]|0);i=f;return}function Jk(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+488>>2]|0))break;c[f>>2]=c[b+488>>2];c[(c[d>>2]|0)+488>>2]=c[(c[f>>2]|0)+24>>2];Xb(c[d>>2]|0,c[f>>2]|0)}c[b+496>>2]=0;c[(c[d>>2]|0)+500>>2]=0;a[(c[d>>2]|0)+69>>0]=0;i=e;return}function Kk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;g=e+4|0;h=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+4>>2];Pc(c[d>>2]|0);c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];if((c[c[h>>2]>>2]|0)!=(c[d>>2]|0))continue;Ok(c[h>>2]|0)|0}qd(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(Pk(c[f>>2]|0)|0)==0:0)){Ih(c[c[f>>2]>>2]|0)|0;if((c[(c[f>>2]|0)+52>>2]|0)!=0?(c[(c[f>>2]|0)+48>>2]|0)!=0:0)rb[c[(c[f>>2]|0)+52>>2]&31](c[(c[f>>2]|0)+48>>2]|0);Xb(0,c[(c[f>>2]|0)+48>>2]|0);Dg(c[f>>2]|0);hc(c[f>>2]|0)}if(c[(c[d>>2]|0)+24>>2]|0)c[(c[(c[d>>2]|0)+24>>2]|0)+20>>2]=c[(c[d>>2]|0)+20>>2];if(!(c[(c[d>>2]|0)+20>>2]|0)){h=c[d>>2]|0;hc(h);i=e;return 0}c[(c[(c[d>>2]|0)+20>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];h=c[d>>2]|0;hc(h);i=e;return 0}function Lk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+332>>2];c[(c[f>>2]|0)+332>>2]=0;if(!(c[d>>2]|0)){i=b;return}gf(c[f>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];Nk(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=b;return}function Mk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;g=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=2;c[g>>2]=2;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Xb(c[d>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[g>>2]|0)){a=(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4)|0;c[a+0>>2]=c[h+0>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+1}_E((c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0,0,(c[(c[d>>2]|0)+20>>2]|0)-(c[e>>2]|0)<<4|0)|0;c[(c[d>>2]|0)+20>>2]=c[e>>2];if((c[(c[d>>2]|0)+20>>2]|0)>2){i=b;return}if((c[(c[d>>2]|0)+16>>2]|0)==((c[d>>2]|0)+456|0)){i=b;return}h=(c[d>>2]|0)+456|0;g=c[(c[d>>2]|0)+16>>2]|0;c[h+0>>2]=c[g+0>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];Xb(c[d>>2]|0,c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=(c[d>>2]|0)+456;i=b;return}function Nk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[d>>2]=c[c[e>>2]>>2];a=(c[e>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+ -1;if(c[(c[e>>2]|0)+12>>2]|0){i=b;return}c[f>>2]=c[(c[e>>2]|0)+8>>2];if(c[f>>2]|0)ub[c[(c[c[f>>2]>>2]|0)+16>>2]&31](c[f>>2]|0)|0;Xb(c[d>>2]|0,c[e>>2]|0);i=b;return}function Ok(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;f=d+8|0;h=d+4|0;e=d;c[g>>2]=a;c[f>>2]=c[c[g>>2]>>2];if(!(c[f>>2]|0)){i=d;return 0}c[e>>2]=c[(c[g>>2]|0)+4>>2];Pc(c[f>>2]|0);Qk(c[g>>2]|0);a=c[(c[g>>2]|0)+8>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=a;else c[(c[e>>2]|0)+8>>2]=a;if(c[(c[g>>2]|0)+8>>2]|0)c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>(b[(c[g>>2]|0)+76>>1]|0))break;Rk(c[(c[g>>2]|0)+120+(c[h>>2]<<2)>>2]|0);c[h>>2]=(c[h>>2]|0)+1}Sk(c[e>>2]|0);Xb(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+20>>2]|0);i=d;return 0}function Pk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[d>>2]=0;g=(c[f>>2]|0)+64|0;c[g>>2]=(c[g>>2]|0)+ -1;if((c[(c[f>>2]|0)+64>>2]|0)>0){g=c[d>>2]|0;i=b;return g|0}if((c[1058]|0)!=(c[f>>2]|0)){c[e>>2]=c[1058];while(1){if(c[e>>2]|0)g=(c[(c[e>>2]|0)+68>>2]|0)!=(c[f>>2]|0);else g=0;a=c[e>>2]|0;if(!g)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[f>>2]|0)+68>>2]}else c[1058]=c[(c[f>>2]|0)+68>>2];c[d>>2]=1;g=c[d>>2]|0;i=b;return g|0}function Qk(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;hc(c[(c[e>>2]|0)+56>>2]|0);c[(c[e>>2]|0)+56>>2]=0;a[(c[e>>2]|0)+73>>0]=0;i=d;return}function Rk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}ej(c[(c[d>>2]|0)+68>>2]|0);i=b;return}function Sk(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;if(d[(c[e>>2]|0)+20>>0]|0){i=b;return}if(!(c[(c[e>>2]|0)+12>>2]|0)){i=b;return}c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;Rk(c[f>>2]|0);i=b;return}function Tk(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){e=0;e=e&1;i=b;return e|0}e=(d[(c[e>>2]|0)+8>>0]|0|0)==2;e=e&1;i=b;return e|0}function Uk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Vk(c[d>>2]|0,68);i=b;return 0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+20|0;g=d+16|0;j=d+12|0;k=d+8|0;f=d+4|0;h=d;c[e>>2]=a;c[g>>2]=b;if(!(c[(c[e>>2]|0)+328>>2]|0)){i=d;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[e>>2]|0)+304>>2]|0))break;c[k>>2]=c[(c[(c[e>>2]|0)+328>>2]|0)+(c[j>>2]<<2)>>2];c[f>>2]=c[(c[k>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(c[h>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]|0)>>2],(c[h>>2]|0)!=0):0)ub[c[h>>2]&31](c[f>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=0;Nk(c[k>>2]|0);c[j>>2]=(c[j>>2]|0)+1}Xb(c[e>>2]|0,c[(c[e>>2]|0)+328>>2]|0);c[(c[e>>2]|0)+304>>2]=0;c[(c[e>>2]|0)+328>>2]=0;i=d;return}function Wk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[(c[b>>2]|0)+16>>2]|0)!=0|0}function Xk(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;b=e+16|0;h=e+12|0;f=e+8|0;g=e+4|0;j=e;c[b>>2]=a;Rb(c[b>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0){c[g>>2]=c[(c[f>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((d[(c[j>>2]|0)+44>>0]|0)&16)Yk(c[b>>2]|0,c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}}while(0);c[h>>2]=(c[h>>2]|0)+1}Lk(c[b>>2]|0);i=e;return}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[j>>2]=b;c[g>>2]=(c[j>>2]|0)+60;while(1){if(!(c[c[g>>2]>>2]|0)){d=6;break}b=c[c[g>>2]>>2]|0;if((c[c[c[g>>2]>>2]>>2]|0)==(c[h>>2]|0))break;c[g>>2]=b+24}if((d|0)==6){i=e;return}c[f>>2]=b;c[c[g>>2]>>2]=c[(c[f>>2]|0)+24>>2];Nk(c[f>>2]|0);i=e;return}function Zk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;rb[c[38640+152>>2]&31](c[(c[d>>2]|0)+40>>2]|0);i=b;return}function _k(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;c[b>>2]=a;d=3136|0;a=d+68|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));if(c[9661]|0){c[784]=8;c[797]=8}c[787]=10;c[791]=1;i=b;return 0}function $k(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;c[b>>2]=a;d=3136|0;a=d+68|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=b;return}function al(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,l=0;e=i;i=i+32|0;h=e+24|0;j=e+20|0;k=e+16|0;f=e+12|0;g=e+8|0;l=e+4|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[e>>2]=0;c[l>>2]=48;a=c[l>>2]|0;c[f>>2]=Mc(a,((a|0)<0)<<31>>31)|0;if(!(c[f>>2]|0)){l=c[f>>2]|0;i=e;return l|0}c[g>>2]=3136;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=c[j>>2];c[(c[f>>2]|0)+12>>2]=(c[k>>2]|0)!=0?1:0;ql(c[f>>2]|0);if(c[k>>2]|0){c[(c[f>>2]|0)+16>>2]=10;l=(c[g>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+(c[(c[f>>2]|0)+16>>2]|0);c[(c[g>>2]|0)+12>>2]=(c[(c[g>>2]|0)+4>>2]|0)+10-(c[(c[g>>2]|0)+8>>2]|0)}if(c[(c[f>>2]|0)+40>>2]|0){l=c[f>>2]|0;i=e;return l|0}hl(c[f>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}function bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;g=d+8|0;e=d+4|0;f=d;c[h>>2]=a;c[g>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+12>>2]|0)){i=d;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[g>>2]|0)-(c[(c[e>>2]|0)+20>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+20>>2]=c[g>>2];c[(c[e>>2]|0)+24>>2]=(((c[(c[e>>2]|0)+20>>2]|0)*9|0)>>>0)/10|0;jl(c[f>>2]|0);i=d;return}function cl(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+36>>2];i=d;return c[b>>2]|0}function dl(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;g=i;i=i+32|0;l=g+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[l>>2]=b;c[j>>2]=d;c[k>>2]=e;c[h>>2]=c[l>>2];c[f>>2]=0;c[f>>2]=c[(c[(c[h>>2]|0)+44>>2]|0)+((((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+40>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[f>>2]|0)d=(c[(c[f>>2]|0)+8>>2]|0)!=(c[j>>2]|0);else d=0;e=c[f>>2]|0;if(!d)break;c[f>>2]=c[e+16>>2]}if(e){if(a[(c[f>>2]|0)+12>>0]|0){l=c[f>>2]|0;i=g;return l|0}kl(c[f>>2]|0);l=c[f>>2]|0;i=g;return l|0}else{if(!(c[k>>2]|0)){l=c[f>>2]|0;i=g;return l|0}c[f>>2]=ol(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[f>>2]|0;i=g;return l|0}return 0}function el(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;h=i;i=i+32|0;m=h+20|0;l=h+16|0;k=h+12|0;f=h+8|0;g=h+4|0;j=h;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=c[m>>2];c[g>>2]=c[l>>2];c[j>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==0?(c[(c[j>>2]|0)+16>>2]|0)>>>0<=(c[(c[j>>2]|0)+4>>2]|0)>>>0:0){d=c[g>>2]|0;e=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){c[(c[e+20>>2]|0)+28>>2]=d;c[(c[g>>2]|0)+24>>2]=c[(c[j>>2]|0)+20>>2];c[(c[j>>2]|0)+20>>2]=c[g>>2]}else{c[e+24>>2]=d;c[(c[j>>2]|0)+20>>2]=c[g>>2]}m=(c[f>>2]|0)+32|0;c[m>>2]=(c[m>>2]|0)+1;a[(c[g>>2]|0)+12>>0]=0;i=h;return}ll(c[g>>2]|0);ml(c[g>>2]|0);i=h;return}function fl(a,b,d,e){a=a|0;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,o=0;f=i;i=i+32|0;o=f+28|0;n=f+24|0;m=f+20|0;j=f+16|0;k=f+12|0;g=f+8|0;h=f+4|0;l=f;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=c[o>>2];c[g>>2]=c[n>>2];c[l>>2]=((c[m>>2]|0)>>>0)%((c[(c[k>>2]|0)+40>>2]|0)>>>0)|0;c[h>>2]=(c[(c[k>>2]|0)+44>>2]|0)+(c[l>>2]<<2);while(1){if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+16}c[c[h>>2]>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[j>>2]|0)>>>0)%((c[(c[k>>2]|0)+40>>2]|0)>>>0)|0;c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[(c[(c[k>>2]|0)+44>>2]|0)+(c[l>>2]<<2)>>2];c[(c[(c[k>>2]|0)+44>>2]|0)+(c[l>>2]<<2)>>2]=c[g>>2];if((c[j>>2]|0)>>>0<=(c[(c[k>>2]|0)+28>>2]|0)>>>0){i=f;return}c[(c[k>>2]|0)+28>>2]=c[j>>2];i=f;return}function gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];if((c[f>>2]|0)>>>0>(c[(c[e>>2]|0)+28>>2]|0)>>>0){i=d;return}nl(c[e>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+28>>2]=(c[f>>2]|0)-1;i=d;return}function hl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];nl(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);jl(c[e>>2]|0);hc(c[(c[d>>2]|0)+44>>2]|0);hc(c[d>>2]|0);i=b;return}function il(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;g=b+12|0;d=b+8|0;e=b+4|0;f=b;c[g>>2]=a;c[d>>2]=c[g>>2];if(!(c[(c[d>>2]|0)+12>>2]|0)){i=b;return}c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=0;jl(c[e>>2]|0);c[(c[e>>2]|0)+4>>2]=c[f>>2];i=b;return}function jl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=(c[(c[d>>2]|0)+4>>2]|0)>>>0){a=5;break}if(!(c[(c[d>>2]|0)+24>>2]|0)){a=5;break}c[e>>2]=c[(c[d>>2]|0)+24>>2];kl(c[e>>2]|0);ll(c[e>>2]|0);ml(c[e>>2]|0)}if((a|0)==5){i=b;return}}function kl(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];c[g>>2]=c[c[e>>2]>>2];b=c[(c[d>>2]|0)+24>>2]|0;if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=b;else c[(c[g>>2]|0)+20>>2]=b;b=c[(c[d>>2]|0)+28>>2]|0;if(c[(c[d>>2]|0)+24>>2]|0)c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=b;else c[(c[g>>2]|0)+24>>2]=b;c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[e>>2]|0)+32|0;c[b>>2]=(c[b>>2]|0)+ -1;i=f;return}function ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+20>>2];c[g>>2]=((c[(c[f>>2]|0)+8>>2]|0)>>>0)%((c[(c[d>>2]|0)+40>>2]|0)>>>0)|0;c[b>>2]=(c[(c[d>>2]|0)+44>>2]|0)+(c[g>>2]<<2);while(1){a=(c[c[b>>2]>>2]|0)+16|0;if((c[c[b>>2]>>2]|0)==(c[f>>2]|0))break;c[b>>2]=a}c[c[b>>2]>>2]=c[a>>2];g=(c[d>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+ -1;i=e;return}function ml(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;if(!(c[e>>2]|0)){i=b;return}c[d>>2]=c[(c[e>>2]|0)+20>>2];Mg(c[c[e>>2]>>2]|0)|0;if(!(c[(c[d>>2]|0)+12>>2]|0)){i=b;return}e=(c[c[d>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+ -1;i=b;return}function nl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;h=e+16|0;k=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=b;c[k>>2]=d;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[(c[h>>2]|0)+40>>2]|0)>>>0)break;c[f>>2]=(c[(c[h>>2]|0)+44>>2]|0)+(c[j>>2]<<2);while(1){b=c[c[f>>2]>>2]|0;c[g>>2]=b;if(!b)break;if((c[(c[g>>2]|0)+8>>2]|0)>>>0<(c[k>>2]|0)>>>0){c[f>>2]=(c[g>>2]|0)+16;continue}b=(c[h>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+ -1;c[c[f>>2]>>2]=c[(c[g>>2]|0)+16>>2];if(!(a[(c[g>>2]|0)+12>>0]|0))kl(c[g>>2]|0);ml(c[g>>2]|0)}c[j>>2]=(c[j>>2]|0)+1}i=e;return}function ol(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,o=0,p=0;o=i;i=i+48|0;n=o+32|0;k=o+28|0;f=o+24|0;l=o+20|0;p=o+16|0;h=o+12|0;g=o+8|0;j=o+4|0;m=o;c[k>>2]=b;c[f>>2]=d;c[l>>2]=e;c[h>>2]=c[c[k>>2]>>2];c[g>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+36>>2]|0)-(c[(c[k>>2]|0)+32>>2]|0);do if((c[l>>2]|0)==1){if((c[p>>2]|0)>>>0<(c[(c[h>>2]|0)+12>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[(c[k>>2]|0)+24>>2]|0)>>>0:0){if(!(pl(c[k>>2]|0)|0))break;if((c[(c[k>>2]|0)+32>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break}c[n>>2]=0;b=c[n>>2]|0;i=o;return b|0}while(0);if((c[(c[k>>2]|0)+36>>2]|0)>>>0>=(c[(c[k>>2]|0)+40>>2]|0)>>>0)ql(c[k>>2]|0);do if((c[(c[k>>2]|0)+12>>2]|0)!=0?(c[(c[h>>2]|0)+24>>2]|0)!=0:0){if((((c[(c[k>>2]|0)+36>>2]|0)+1|0)>>>0<(c[(c[k>>2]|0)+20>>2]|0)>>>0?(c[(c[h>>2]|0)+16>>2]|0)>>>0<(c[(c[h>>2]|0)+4>>2]|0)>>>0:0)?(pl(c[k>>2]|0)|0)==0:0)break;c[g>>2]=c[(c[h>>2]|0)+24>>2];ll(c[g>>2]|0);kl(c[g>>2]|0);c[j>>2]=c[(c[g>>2]|0)+20>>2];if(((c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0)|0)!=((c[(c[k>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0)){ml(c[g>>2]|0);c[g>>2]=0;break}else{b=(c[h>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)-((c[(c[j>>2]|0)+12>>2]|0)-(c[(c[k>>2]|0)+12>>2]|0));break}}while(0);if(!(c[g>>2]|0)){if((c[l>>2]|0)==1)kh();c[g>>2]=rl(c[k>>2]|0)|0;if((c[l>>2]|0)==1)lh()}if((c[g>>2]|0)!=0?(c[m>>2]=((c[f>>2]|0)>>>0)%((c[(c[k>>2]|0)+40>>2]|0)>>>0)|0,b=(c[k>>2]|0)+36|0,c[b>>2]=(c[b>>2]|0)+1,c[(c[g>>2]|0)+8>>2]=c[f>>2],c[(c[g>>2]|0)+16>>2]=c[(c[(c[k>>2]|0)+44>>2]|0)+(c[m>>2]<<2)>>2],c[(c[g>>2]|0)+20>>2]=c[k>>2],c[(c[g>>2]|0)+28>>2]=0,c[(c[g>>2]|0)+24>>2]=0,a[(c[g>>2]|0)+12>>0]=1,c[c[(c[g>>2]|0)+4>>2]>>2]=0,c[(c[(c[k>>2]|0)+44>>2]|0)+(c[m>>2]<<2)>>2]=c[g>>2],(c[f>>2]|0)>>>0>(c[(c[k>>2]|0)+28>>2]|0)>>>0):0)c[(c[k>>2]|0)+28>>2]=c[f>>2];c[n>>2]=c[g>>2];b=c[n>>2]|0;i=o;return b|0}function pl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if((c[793]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[792]|0):0){c[d>>2]=c[800];e=c[d>>2]|0;i=b;return e|0}c[d>>2]=sl()|0;e=c[d>>2]|0;i=b;return e|0}function ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+24|0;e=b+20|0;f=b+16|0;j=b+12|0;h=b+8|0;g=b+4|0;k=b;c[d>>2]=a;a=c[(c[d>>2]|0)+40>>2]<<1;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)>>>0<256?256:a;if(c[(c[d>>2]|0)+40>>2]|0)kh();c[e>>2]=Mc(c[f>>2]<<2,0)|0;if(c[(c[d>>2]|0)+40>>2]|0)lh();if(!(c[e>>2]|0)){i=b;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[(c[d>>2]|0)+40>>2]|0)>>>0)break;c[g>>2]=c[(c[(c[d>>2]|0)+44>>2]|0)+(c[j>>2]<<2)>>2];while(1){a=c[g>>2]|0;c[h>>2]=a;if(!a)break;c[k>>2]=((c[(c[h>>2]|0)+8>>2]|0)>>>0)%((c[f>>2]|0)>>>0)|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+(c[k>>2]<<2)>>2];c[(c[e>>2]|0)+(c[k>>2]<<2)>>2]=c[h>>2]}c[j>>2]=(c[j>>2]|0)+1}hc(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=c[e>>2];c[(c[d>>2]|0)+40>>2]=c[f>>2];i=b;return}function rl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;f=b+8|0;e=b+4|0;g=b;c[f>>2]=a;c[e>>2]=0;c[g>>2]=Ug(32+(c[(c[f>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+8>>2]|0)|0)|0;c[e>>2]=(c[g>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[c[e>>2]>>2]=c[g>>2];c[(c[e>>2]|0)+4>>2]=(c[e>>2]|0)+32;if(c[(c[f>>2]|0)+12>>2]|0){g=(c[c[f>>2]>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[e>>2];g=c[d>>2]|0;i=b;return g|0}function sl(){return c[43]|0}function tl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b;f=b+8|0;d=b+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[d>>2]=QE((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[d>>2]|0){f=c[d>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[d>>2]=(c[d>>2]|0)+8;f=c[d>>2]|0;i=b;return f|0}else{c[e>>2]=a;tc(7,6192,e);f=c[d>>2]|0;i=b;return f|0}return 0}function ul(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+ -8;RE(c[d>>2]|0);i=b;return}function vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;g=d;h=d+16|0;f=d+12|0;e=d+8|0;c[h>>2]=a;c[f>>2]=b;c[e>>2]=c[h>>2];c[e>>2]=(c[e>>2]|0)+ -8;c[e>>2]=SE(c[e>>2]|0,(c[f>>2]|0)+8|0)|0;if(c[e>>2]|0){h=c[f>>2]|0;a=c[e>>2]|0;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[e>>2]=(c[e>>2]|0)+8;a=c[e>>2]|0;i=d;return a|0}else{h=wl(c[h>>2]|0)|0;a=c[f>>2]|0;c[g>>2]=h;c[g+4>>2]=a;tc(7,6152,g);a=c[e>>2]|0;i=d;return a|0}return 0}function wl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;f=b+4|0;e=b;c[f>>2]=a;if(!(c[f>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}else{c[e>>2]=c[f>>2];c[e>>2]=(c[e>>2]|0)+ -8;c[d>>2]=c[c[e>>2]>>2];f=c[d>>2]|0;i=b;return f|0}return 0}function xl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[b>>2]|0)+7&-8|0}function yl(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function zl(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Al(b,e,f){b=b|0;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;p=i;i=i+64|0;h=p+52|0;v=p+48|0;t=p+44|0;l=p+40|0;q=p+36|0;k=p+32|0;j=p+28|0;s=p+24|0;g=p+20|0;o=p+16|0;m=p+12|0;n=p+8|0;r=p+4|0;u=p;c[h>>2]=b;c[v>>2]=e;c[t>>2]=f;c[g>>2]=0;c[o>>2]=0;if((Nd(c[c[t>>2]>>2]|0)|0)==5){i=p;return}c[l>>2]=Ed(c[c[t>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=p;return}c[k>>2]=Fd(c[c[t>>2]>>2]|0)|0;a:do if((c[v>>2]|0)!=1){b=Ed(c[(c[t>>2]|0)+4>>2]|0)|0;c[q>>2]=b;if(!b){i=p;return}c[n>>2]=c[q>>2];c[m>>2]=0;while(1){if(!(a[c[n>>2]>>0]|0))break;b=c[n>>2]|0;c[n>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[n>>2]>>0]&192|0)!=128)break b;c[n>>2]=(c[n>>2]|0)+1}while(0);c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>0){e=c[h>>2]|0;b=c[m>>2]|0;b=lF(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[o>>2]=$m(e,b,D)|0;if(!(c[o>>2]|0)){i=p;return}c[g>>2]=(c[o>>2]|0)+(c[m>>2]<<2);c[n>>2]=c[q>>2];c[m>>2]=0;while(1){if(!(a[c[n>>2]>>0]|0))break a;c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]=c[n>>2];b=c[n>>2]|0;c[n>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[n>>2]>>0]&192|0)!=128)break c;c[n>>2]=(c[n>>2]|0)+1}while(0);a[(c[g>>2]|0)+(c[m>>2]|0)>>0]=(c[n>>2]|0)-(c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}}else{c[m>>2]=1;c[g>>2]=9896;c[o>>2]=9904;c[q>>2]=0}while(0);if((c[m>>2]|0)>0){c[j>>2]=oe(c[h>>2]|0)|0;d:do if((c[j>>2]&1|0)!=0&(c[k>>2]|0)>0)do{c[r>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[r>>2]=d[(c[g>>2]|0)+(c[s>>2]|0)>>0];if((c[r>>2]|0)<=(c[k>>2]|0)?(TE(c[l>>2]|0,c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]|0,c[r>>2]|0)|0)==0:0)break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)>=(c[m>>2]|0))break d;c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[r>>2]|0)}while((c[k>>2]|0)>0);while(0);e:do if((c[j>>2]&2|0)!=0&(c[k>>2]|0)>0)do{c[u>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[u>>2]=d[(c[g>>2]|0)+(c[s>>2]|0)>>0];if((c[u>>2]|0)<=(c[k>>2]|0)?(TE((c[l>>2]|0)+((c[k>>2]|0)-(c[u>>2]|0))|0,c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]|0,c[u>>2]|0)|0)==0:0)break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)>=(c[m>>2]|0))break e;c[k>>2]=(c[k>>2]|0)-(c[u>>2]|0)}while((c[k>>2]|0)>0);while(0);if(c[q>>2]|0)hc(c[o>>2]|0)}$d(c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,-1);i=p;return}function Bl(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,l=0,m=0,n=0;l=i;i=i+32|0;g=l+24|0;n=l+20|0;h=l+16|0;k=l+12|0;m=l+8|0;j=l+4|0;e=l;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;a=(oe(c[g>>2]|0)|0)==0;c[m>>2]=a?0:-1;c[e>>2]=an(c[g>>2]|0)|0;c[j>>2]=0;if((Nd(c[c[h>>2]>>2]|0)|0)==5){i=l;return}c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;if((Nd(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)==5){f=9;break}a=bn(c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0,c[e>>2]|0)|0;if((a^c[m>>2]|0)>=0)c[j>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+1}if((f|0)==9){i=l;return}be(c[g>>2]|0,c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0);i=l;return}function Cl(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;g=l+28|0;n=l+20|0;j=l+16|0;h=l+12|0;f=l+8|0;m=l+4|0;k=l;c[g>>2]=a;c[l+24>>2]=d;c[n>>2]=e;c[j>>2]=c[c[n>>2]>>2];c[h>>2]=qe(c[g>>2]|0,40)|0;if(!(c[h>>2]|0)){i=l;return}a=(Nd(c[c[n>>2]>>2]|0)|0)==5;e=(b[(c[h>>2]|0)+8>>1]|0)!=0;if(a){if(!e){i=l;return}ln(c[g>>2]|0);i=l;return}n=c[g>>2]|0;if(!e){a=pe(n)|0;c[(c[h>>2]|0)+32>>2]=a;ce(c[h>>2]|0,c[j>>2]|0)|0;i=l;return}c[k>>2]=an(n)|0;c[f>>2]=(oe(c[g>>2]|0)|0)!=0&1;c[m>>2]=bn(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(!((c[f>>2]|0)!=0&(c[m>>2]|0)<0)?!((c[f>>2]|0)==0&(c[m>>2]|0)>0):0){ln(c[g>>2]|0);i=l;return}ce(c[h>>2]|0,c[j>>2]|0)|0;i=l;return}function Dl(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=qe(c[f>>2]|0,0)|0;if(!(c[e>>2]|0)){i=d;return}if(b[(c[e>>2]|0)+8>>1]|0)be(c[f>>2]|0,c[e>>2]|0);Bd(c[e>>2]|0);i=d;return}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=0;d=Nd(c[c[h>>2]>>2]|0)|0;if((d|0)==3)c[f>>2]=9864;else if((d|0)==2)c[f>>2]=9872;else if((d|0)==4)c[f>>2]=9880;else if((d|0)==1)c[f>>2]=9856;else c[f>>2]=9888;$d(c[g>>2]|0,c[f>>2]|0,-1,0);i=e;return}function Fl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g+8|0;j=g+4|0;k=g;c[h>>2]=b;c[g+12>>2]=e;c[l>>2]=f;f=Nd(c[c[l>>2]>>2]|0)|0;if((f|0)==3){c[k>>2]=Ed(c[c[l>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=g;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}Wd(c[h>>2]|0,c[j>>2]|0);i=g;return}else if((f|0)==2|(f|0)==1|(f|0)==4){b=c[h>>2]|0;Wd(b,Fd(c[c[l>>2]>>2]|0)|0);i=g;return}else{Zd(c[h>>2]|0);i=g;return}}function Gl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+48|0;l=m+40|0;o=m+32|0;f=m+28|0;n=m+24|0;k=m+20|0;j=m+16|0;p=m+12|0;q=m+8|0;h=m+4|0;g=m;c[l>>2]=a;c[m+36>>2]=b;c[o>>2]=e;c[h>>2]=1;c[p>>2]=Nd(c[c[o>>2]>>2]|0)|0;c[q>>2]=Nd(c[(c[o>>2]|0)+4>>2]|0)|0;if((c[p>>2]|0)==5|(c[q>>2]|0)==5){i=m;return}c[k>>2]=Fd(c[c[o>>2]>>2]|0)|0;c[j>>2]=Fd(c[(c[o>>2]|0)+4>>2]|0)|0;e=c[c[o>>2]>>2]|0;if((c[p>>2]|0)==4&(c[q>>2]|0)==4){c[f>>2]=Cd(e)|0;c[n>>2]=Cd(c[(c[o>>2]|0)+4>>2]|0)|0;c[g>>2]=0}else{c[f>>2]=Ed(e)|0;c[n>>2]=Ed(c[(c[o>>2]|0)+4>>2]|0)|0;c[g>>2]=1}a:while(1){if((c[j>>2]|0)>(c[k>>2]|0))break;if(!(TE(c[f>>2]|0,c[n>>2]|0,c[j>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+ -1;c[f>>2]=(c[f>>2]|0)+1;if(!(c[g>>2]|0))continue a;if(((d[c[f>>2]>>0]|0)&192|0)!=128)continue a}}if((c[j>>2]|0)>(c[k>>2]|0))c[h>>2]=0;Wd(c[l>>2]|0,c[h>>2]|0);i=m;return}function Hl(b,e,f){b=b|0;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;l=i;i=i+48|0;k=l+44|0;r=l+40|0;p=l+36|0;g=l+32|0;m=l+28|0;n=l+24|0;o=l+20|0;j=l+8|0;h=l;q=l+16|0;c[k>>2]=b;c[r>>2]=e;c[p>>2]=f;c[q>>2]=0;if((Nd(c[(c[p>>2]|0)+4>>2]|0)|0)==5){i=l;return}if((c[r>>2]|0)==3?(Nd(c[(c[p>>2]|0)+8>>2]|0)|0)==5:0){i=l;return}c[o>>2]=Nd(c[c[p>>2]>>2]|0)|0;b=Jd(c[(c[p>>2]|0)+4>>2]|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=c[c[p>>2]>>2]|0;a:do if((c[o>>2]|0)==4){c[n>>2]=Fd(f)|0;c[g>>2]=Cd(c[c[p>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=l;return}}else{c[g>>2]=Ed(f)|0;if(!(c[g>>2]|0)){i=l;return}c[n>>2]=0;if((c[j+4>>2]|0)<0){c[m>>2]=c[g>>2];while(1){if(!(a[c[m>>2]>>0]|0))break a;b=c[m>>2]|0;c[m>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[m>>2]>>0]&192|0)!=128)break b;c[m>>2]=(c[m>>2]|0)+1}while(0);c[n>>2]=(c[n>>2]|0)+1}}}while(0);if((c[r>>2]|0)==3){e=Jd(c[(c[p>>2]|0)+8>>2]|0)|0;b=h;c[b>>2]=e;c[b+4>>2]=((e|0)<0)<<31>>31;if((c[h+4>>2]|0)<0){e=h;e=ZE(0,0,c[e>>2]|0,c[e+4>>2]|0)|0;b=h;c[b>>2]=e;c[b+4>>2]=D;c[q>>2]=1}}else{e=c[(pe(c[k>>2]|0)|0)+88>>2]|0;b=h;c[b>>2]=e;c[b+4>>2]=((e|0)<0)<<31>>31}do if((c[j+4>>2]|0)<0){e=c[n>>2]|0;b=j;e=bF(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=e;c[b+4>>2]=D;if((c[j+4>>2]|0)<0){r=j;e=h;r=bF(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;e=D;f=h;c[f>>2]=r;c[f+4>>2]=e;f=(c[h+4>>2]|0)<0;b=h;c[b>>2]=f?0:r;c[b+4>>2]=f?0:e;b=j;c[b>>2]=0;c[b+4>>2]=0}}else{b=j;e=c[b+4>>2]|0;if((e|0)>0|(e|0)==0&(c[b>>2]|0)>>>0>0){e=j;e=bF(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;b=j;c[b>>2]=e;c[b+4>>2]=D;break}b=h;e=c[b+4>>2]|0;if((e|0)>0|(e|0)==0&(c[b>>2]|0)>>>0>0){e=h;e=bF(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;b=h;c[b>>2]=e;c[b+4>>2]=D}}while(0);if((c[q>>2]|0)!=0?(e=h,b=j,e=ZE(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0,b=j,c[b>>2]=e,c[b+4>>2]=D,(c[j+4>>2]|0)<0):0){e=j;b=h;e=bF(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;b=h;c[b>>2]=e;c[b+4>>2]=D;b=j;c[b>>2]=0;c[b+4>>2]=0}if((c[o>>2]|0)==4){r=j;e=h;e=bF(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;r=D;b=c[n>>2]|0;f=((b|0)<0)<<31>>31;if((r|0)>(f|0)|(r|0)==(f|0)&e>>>0>b>>>0){e=c[n>>2]|0;r=j;r=ZE(e|0,((e|0)<0)<<31>>31|0,c[r>>2]|0,c[r+4>>2]|0)|0;e=D;f=h;c[f>>2]=r;c[f+4>>2]=e;f=(c[h+4>>2]|0)<0;b=h;c[b>>2]=f?0:r;c[b+4>>2]=f?0:e}b=h;Qd(c[k>>2]|0,(c[g>>2]|0)+(c[j>>2]|0)|0,c[b>>2]|0,c[b+4>>2]|0,-1);i=l;return}while(1){if(d[c[g>>2]>>0]|0){o=j;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0}else o=0;n=c[g>>2]|0;if(!o)break;c[g>>2]=n+1;c:do if((d[n>>0]|0)>=192)while(1){if((d[c[g>>2]>>0]&192|0)!=128)break c;c[g>>2]=(c[g>>2]|0)+1}while(0);e=j;e=bF(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;b=j;c[b>>2]=e;c[b+4>>2]=D}c[m>>2]=n;while(1){b=h;if(!((d[c[m>>2]>>0]|0)!=0&((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)))break;b=c[m>>2]|0;c[m>>2]=b+1;d:do if((d[b>>0]|0)>=192)while(1){if((d[c[m>>2]>>0]&192|0)!=128)break d;c[m>>2]=(c[m>>2]|0)+1}while(0);e=h;e=bF(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;b=h;c[b>>2]=e;c[b+4>>2]=D}b=(c[m>>2]|0)-(c[g>>2]|0)|0;ae(c[k>>2]|0,c[g>>2]|0,b,((b|0)<0)<<31>>31,-1,1);i=l;return}function Il(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,l=0,m=0,n=0;k=i;i=i+64|0;m=k;e=k+60|0;f=k+56|0;h=k+52|0;g=k+40|0;j=k+12|0;l=k+8|0;n=k+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;if((c[f>>2]|0)<1){i=k;return}a=Ed(c[c[h>>2]>>2]|0)|0;c[l>>2]=a;if(!a){i=k;return}c[g>>2]=(c[f>>2]|0)-1;c[g+4>>2]=0;c[g+8>>2]=(c[h>>2]|0)+4;nc(j,0,0,1e9);c[j>>2]=pe(c[e>>2]|0)|0;b=c[l>>2]|0;c[m>>2]=g;kn(j,2,b,m);c[n>>2]=c[j+12>>2];b=c[e>>2]|0;a=pc(j)|0;$d(b,a,c[n>>2]|0,16);i=k;return}function Jl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+4|0;h=f;c[g>>2]=a;c[f+8>>2]=b;c[j>>2]=e;c[h>>2]=Ed(c[c[j>>2]>>2]|0)|0;if(!(c[h>>2]|0)){i=f;return}if(!(d[c[h>>2]>>0]|0)){i=f;return}j=c[g>>2]|0;Wd(j,Um(h)|0);i=f;return}function Kl(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,o=0,p=0;m=i;i=i+48|0;g=m+32|0;o=m+28|0;k=m+24|0;j=m+20|0;h=m+16|0;l=m+12|0;f=m;n=m+8|0;c[g>>2]=b;c[o>>2]=d;c[k>>2]=e;b=fc((c[o>>2]<<2)+1|0)|0;c[j>>2]=b;c[h>>2]=b;if(!(c[j>>2]|0)){ie(c[g>>2]|0);i=m;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;p=Ld(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;b=D;e=f;c[e>>2]=p;c[e+4>>2]=b;e=f;d=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=f;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[n>>2]=c[f>>2]&2097151;d=c[n>>2]|0;do if((c[n>>2]|0)>>>0>=128){e=c[n>>2]|0;if(d>>>0<2048){b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[n>>2]&63)&255;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;break}d=c[n>>2]|0;if(e>>>0<65536){p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[n>>2]|0)>>>6&63)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=p;b=128+(c[n>>2]&63)&255;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;break}else{b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[n>>2]|0)>>>12&63)&255;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;p=128+((c[n>>2]|0)>>>6&63)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=p;b=128+(c[n>>2]&63)&255;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;break}}else{p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=d}while(0);c[l>>2]=(c[l>>2]|0)+1}p=(c[h>>2]|0)-(c[j>>2]|0)|0;ae(c[g>>2]|0,c[j>>2]|0,p,((p|0)<0)<<31>>31,13,1);i=m;return}function Ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;e=i;i=i+32|0;f=e+24|0;j=e+16|0;g=e+8|0;k=e;c[f>>2]=a;c[e+20>>2]=b;c[j>>2]=d;d=Nd(c[c[j>>2]>>2]|0)|0;if((d|0)==1){b=Ld(c[c[j>>2]>>2]|0)|0;a=g;c[a>>2]=b;c[a+4>>2]=D;do if((c[g+4>>2]|0)<0){a=g;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){b=g;b=ZE(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;a=g;c[a>>2]=b;c[a+4>>2]=D;break}Ud(c[f>>2]|0,9784,-1);i=e;return}while(0);a=g;Yd(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}else if((d|0)==5){Zd(c[f>>2]|0);i=e;return}else{h[k>>3]=+Hd(c[c[j>>2]>>2]|0);if(+h[k>>3]<0.0)h[k>>3]=-+h[k>>3];Sd(c[f>>2]|0,+h[k>>3]);i=e;return}}function Ml(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0.0;e=i;i=i+48|0;l=e+8|0;f=e+36|0;o=e+32|0;n=e+28|0;j=e+24|0;g=e;m=e+20|0;c[f>>2]=a;c[o>>2]=b;c[n>>2]=d;c[j>>2]=0;do if((c[o>>2]|0)==2)if(5==(Nd(c[(c[n>>2]|0)+4>>2]|0)|0)){i=e;return}else{o=Jd(c[(c[n>>2]|0)+4>>2]|0)|0;c[j>>2]=o;o=(c[j>>2]|0)>30?30:o;c[j>>2]=o;c[j>>2]=(c[j>>2]|0)<0?0:o;break}while(0);if((Nd(c[c[n>>2]>>2]|0)|0)==5){i=e;return}h[g>>3]=+Hd(c[c[n>>2]>>2]|0);do if((c[j>>2]|0)==0&+h[g>>3]>=0.0&+h[g>>3]<9223372036854776000.0){p=+h[g>>3]+.5;h[g>>3]=+(~~p>>>0>>>0)+4294967296.0*+((+O(p)>=1.0?p>0.0?(ca(+N(p/4294967296.0),4294967295.0)|0)>>>0:~~+_((p- +(~~p>>>0))/4294967296.0)>>>0:0)|0)}else{if((c[j>>2]|0)==0&+h[g>>3]<0.0?-+h[g>>3]<9223372036854776000.0:0){p=-+h[g>>3]+.5;h[g>>3]=-(+(~~p>>>0>>>0)+4294967296.0*+((+O(p)>=1.0?p>0.0?(ca(+N(p/4294967296.0),4294967295.0)|0)>>>0:~~+_((p- +(~~p>>>0))/4294967296.0)>>>0:0)|0));break}p=+h[g>>3];c[l>>2]=c[j>>2];o=l+4|0;h[k>>3]=p;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[m>>2]=qc(9848,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;Lm(o,g,Mb(c[m>>2]|0)|0,1)|0;hc(c[m>>2]|0);break}ie(c[f>>2]|0);i=e;return}while(0);Sd(c[f>>2]|0,+h[g>>3]);i=e;return}function Nl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+24|0;n=g+16|0;j=g+12|0;m=g+8|0;l=g+4|0;k=g;c[h>>2]=b;c[g+20>>2]=e;c[n>>2]=f;c[m>>2]=Ed(c[c[n>>2]>>2]|0)|0;c[k>>2]=Fd(c[c[n>>2]>>2]|0)|0;if(!(c[m>>2]|0)){i=g;return}b=c[h>>2]|0;n=c[k>>2]|0;n=bF(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[j>>2]=$m(b,n,D)|0;if(!(c[j>>2]|0)){i=g;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;a[(c[j>>2]|0)+(c[l>>2]|0)>>0]=a[(c[m>>2]|0)+(c[l>>2]|0)>>0]&~(d[1224+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&32);c[l>>2]=(c[l>>2]|0)+1}$d(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,13);i=g;return}function Ol(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+24|0;n=g+16|0;j=g+12|0;m=g+8|0;l=g+4|0;k=g;c[h>>2]=b;c[g+20>>2]=e;c[n>>2]=f;c[m>>2]=Ed(c[c[n>>2]>>2]|0)|0;c[k>>2]=Fd(c[c[n>>2]>>2]|0)|0;if(!(c[m>>2]|0)){i=g;return}b=c[h>>2]|0;n=c[k>>2]|0;n=bF(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[j>>2]=$m(b,n,D)|0;if(!(c[j>>2]|0)){i=g;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;a[(c[j>>2]|0)+(c[l>>2]|0)>>0]=a[440+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}$d(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,13);i=g;return}function Pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;$d(a,uf()|0,-1,0);i=e;return}function Ql(b,e,f){b=b|0;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;l=i;i=i+48|0;j=l+28|0;p=l+20|0;m=l+16|0;g=l+12|0;n=l+8|0;k=l+4|0;h=l;o=l+32|0;c[j>>2]=b;c[l+24>>2]=e;c[p>>2]=f;c[n>>2]=Cd(c[c[p>>2]>>2]|0)|0;c[g>>2]=Fd(c[c[p>>2]>>2]|0)|0;e=c[j>>2]|0;b=c[g>>2]|0;b=lF(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=bF(b|0,D|0,1,0)|0;b=$m(e,b,D)|0;c[k>>2]=b;c[h>>2]=b;if(!(c[k>>2]|0)){i=l;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;a[o>>0]=a[c[n>>2]>>0]|0;p=a[9824+((d[o>>0]|0)>>4&15)>>0]|0;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=p;b=a[9824+((d[o>>0]|0)&15)>>0]|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}a[c[h>>2]>>0]=0;$d(c[j>>2]|0,c[k>>2]|0,c[g>>2]<<1,13);i=l;return}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e+16|0;g=e;c[f>>2]=a;c[e+12>>2]=b;c[e+8>>2]=d;vc(8,g);if((c[g+4>>2]|0)<0){b=g;b=ZE(0,0,c[b>>2]|0,c[b+4>>2]&2147483647|0)|0;a=g;c[a>>2]=b;c[a+4>>2]=D}a=g;Yd(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[e+12>>2]=b;c[j>>2]=d;a=Jd(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=$m(c[h>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=e;return}vc(c[f>>2]|0,c[g>>2]|0);Od(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,13);i=e;return}function Tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;g=e+4|0;h=e;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=d;c[h>>2]=an(c[f>>2]|0)|0;if(!(bn(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=e;return}be(c[f>>2]|0,c[c[g>>2]>>2]|0);i=e;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;$d(a,vf()|0,-1,0);i=e;return}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=Jd(c[c[g>>2]>>2]|0)|0;c[f>>2]=Ed(c[(c[g>>2]|0)+4>>2]|0)|0;tc(a,1200,f);i=e;return}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;h=e+4|0;g=e;c[f>>2]=a;c[e+8>>2]=b;c[h>>2]=d;a=Ed(c[c[h>>2]>>2]|0)|0;c[g>>2]=a;if(!a){i=e;return}h=c[f>>2]|0;Wd(h,Kb(c[g>>2]|0)|0);i=e;return}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=Jd(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;$d(a,Ob(c[f>>2]|0)|0,-1,0);i=e;return}function Yl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=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;s=i;i=i+128|0;m=s+24|0;l=s+72|0;p=s+64|0;n=s+16|0;o=s+8|0;r=s+76|0;q=s+60|0;t=s+56|0;g=s+52|0;j=s+48|0;v=s+44|0;w=s+40|0;x=s;y=s+36|0;u=s+32|0;c[l>>2]=b;c[s+68>>2]=e;c[p>>2]=f;f=Nd(c[c[p>>2]>>2]|0)|0;if((f|0)==2){h[n>>3]=+Hd(c[c[p>>2]>>2]|0);h[k>>3]=+h[n>>3];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];sc(50,r,9808,m)|0;Lm(r,o,20,1)|0;if(+h[n>>3]!=+h[o>>3]){h[k>>3]=+h[n>>3];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];sc(50,r,9816,m)|0}$d(c[l>>2]|0,r,-1,-1);i=s;return}else if((f|0)==4){c[q>>2]=0;c[t>>2]=Cd(c[c[p>>2]>>2]|0)|0;c[g>>2]=Fd(c[c[p>>2]>>2]|0)|0;e=c[l>>2]|0;b=c[g>>2]|0;b=lF(2,0,b|0,((b|0)<0)<<31>>31|0)|0;b=bF(b|0,D|0,4,0)|0;c[q>>2]=$m(e,b,D)|0;if(!(c[q>>2]|0)){i=s;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;a[(c[q>>2]|0)+((c[j>>2]<<1)+2)>>0]=a[9824+(a[(c[t>>2]|0)+(c[j>>2]|0)>>0]>>4&15)>>0]|0;a[(c[q>>2]|0)+((c[j>>2]<<1)+3)>>0]=a[9824+(a[(c[t>>2]|0)+(c[j>>2]|0)>>0]&15)>>0]|0;c[j>>2]=(c[j>>2]|0)+1}a[(c[q>>2]|0)+((c[g>>2]<<1)+2)>>0]=39;a[(c[q>>2]|0)+((c[g>>2]<<1)+3)>>0]=0;a[c[q>>2]>>0]=88;a[(c[q>>2]|0)+1>>0]=39;$d(c[l>>2]|0,c[q>>2]|0,-1,-1);hc(c[q>>2]|0);i=s;return}else if((f|0)==3){c[y>>2]=Ed(c[c[p>>2]>>2]|0)|0;if(!(c[y>>2]|0)){i=s;return}c[v>>2]=0;b=x;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(a[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0))break;if((d[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0)==39){e=x;e=bF(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=x;c[b>>2]=e;c[b+4>>2]=D}c[v>>2]=(c[v>>2]|0)+1}e=c[l>>2]|0;f=c[v>>2]|0;b=x;b=bF(f|0,((f|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=bF(b|0,D|0,3,0)|0;c[u>>2]=$m(e,b,D)|0;if(!(c[u>>2]|0)){i=s;return}a[c[u>>2]>>0]=39;c[v>>2]=0;c[w>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0))break;e=a[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0;b=c[w>>2]|0;c[w>>2]=b+1;a[(c[u>>2]|0)+b>>0]=e;if((d[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0)==39){b=c[w>>2]|0;c[w>>2]=b+1;a[(c[u>>2]|0)+b>>0]=39}c[v>>2]=(c[v>>2]|0)+1}b=c[w>>2]|0;c[w>>2]=b+1;a[(c[u>>2]|0)+b>>0]=39;a[(c[u>>2]|0)+(c[w>>2]|0)>>0]=0;$d(c[l>>2]|0,c[u>>2]|0,c[w>>2]|0,13);i=s;return}else if((f|0)==1){be(c[l>>2]|0,c[c[p>>2]>>2]|0);i=s;return}else{$d(c[l>>2]|0,9840,4,0);i=s;return}}function Zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=pe(c[g>>2]|0)|0;b=c[g>>2]|0;a=Hf(c[f>>2]|0)|0;Yd(b,a,D);i=e;return}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=pe(c[g>>2]|0)|0;a=c[g>>2]|0;Wd(a,If(c[f>>2]|0)|0);i=e;return}function $l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=pe(c[g>>2]|0)|0;a=c[g>>2]|0;Wd(a,Jf(c[f>>2]|0)|0);i=e;return}function am(b,e,f){b=b|0;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;l=i;i=i+80|0;h=l+64|0;r=l+56|0;g=l+52|0;t=l+48|0;w=l+44|0;j=l+40|0;o=l+36|0;q=l+32|0;p=l+28|0;s=l;u=l+24|0;m=l+20|0;n=l+16|0;k=l+12|0;v=l+8|0;c[h>>2]=b;c[l+60>>2]=e;c[r>>2]=f;c[g>>2]=Ed(c[c[r>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=l;return}c[o>>2]=Fd(c[c[r>>2]>>2]|0)|0;c[t>>2]=Ed(c[(c[r>>2]|0)+4>>2]|0)|0;if(!(c[t>>2]|0)){i=l;return}if(!(d[c[t>>2]>>0]|0)){be(c[h>>2]|0,c[c[r>>2]>>2]|0);i=l;return}c[q>>2]=Fd(c[(c[r>>2]|0)+4>>2]|0)|0;c[w>>2]=Ed(c[(c[r>>2]|0)+8>>2]|0)|0;if(!(c[w>>2]|0)){i=l;return}c[p>>2]=Fd(c[(c[r>>2]|0)+8>>2]|0)|0;e=(c[o>>2]|0)+1|0;b=s;c[b>>2]=e;c[b+4>>2]=((e|0)<0)<<31>>31;b=s;c[j>>2]=$m(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}c[u>>2]=(c[o>>2]|0)-(c[q>>2]|0);c[n>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[u>>2]|0)){p=18;break}if((d[(c[g>>2]|0)+(c[m>>2]|0)>>0]|0|0)==(d[c[t>>2]>>0]|0|0)?(TE((c[g>>2]|0)+(c[m>>2]|0)|0,c[t>>2]|0,c[q>>2]|0)|0)==0:0){c[v>>2]=pe(c[h>>2]|0)|0;f=(c[p>>2]|0)-(c[q>>2]|0)|0;e=s;f=bF(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=s;c[e>>2]=f;c[e+4>>2]=D;e=s;e=ZE(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;f=D;b=c[(c[v>>2]|0)+88>>2]|0;r=((b|0)<0)<<31>>31;if((f|0)>(r|0)|(f|0)==(r|0)&e>>>0>b>>>0){p=13;break}c[k>>2]=c[j>>2];c[j>>2]=jc(c[j>>2]|0,c[s>>2]|0)|0;if(!(c[j>>2]|0)){p=15;break}dF((c[j>>2]|0)+(c[n>>2]|0)|0,c[w>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[p>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)-1)}else{e=a[(c[g>>2]|0)+(c[m>>2]|0)>>0]|0;b=c[n>>2]|0;c[n>>2]=b+1;a[(c[j>>2]|0)+b>>0]=e}c[m>>2]=(c[m>>2]|0)+1}if((p|0)==13){he(c[h>>2]|0);hc(c[j>>2]|0);i=l;return}else if((p|0)==15){ie(c[h>>2]|0);hc(c[k>>2]|0);i=l;return}else if((p|0)==18){dF((c[j>>2]|0)+(c[n>>2]|0)|0,(c[g>>2]|0)+(c[m>>2]|0)|0,(c[o>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)-(c[m>>2]|0));a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=0;$d(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0,13);i=l;return}}function bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+20|0;h=e+12|0;f=e;g=e+8|0;c[j>>2]=a;c[e+16>>2]=b;c[h>>2]=d;c[g>>2]=pe(c[j>>2]|0)|0;h=Ld(c[c[h>>2]>>2]|0)|0;b=f;c[b>>2]=h;c[b+4>>2]=D;b=f;h=c[b+4>>2]|0;a=c[(c[g>>2]|0)+88>>2]|0;g=((a|0)<0)<<31>>31;d=c[j>>2]|0;if((h|0)>(g|0)|((h|0)==(g|0)?(c[b>>2]|0)>>>0>a>>>0:0)){he(d);i=e;return}else{de(d,c[f>>2]|0);i=e;return}}function cm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;g=i;i=i+32|0;n=g+24|0;m=g+16|0;j=g+12|0;l=g+8|0;k=g;c[n>>2]=b;c[g+20>>2]=e;c[m>>2]=f;c[j>>2]=qe(c[n>>2]|0,32)|0;c[l>>2]=Oe(c[c[m>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[l>>2]|0)!=5)){i=g;return}f=(c[j>>2]|0)+16|0;n=f;n=bF(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;c[f>>2]=n;c[f+4>>2]=D;f=c[c[m>>2]>>2]|0;if((c[l>>2]|0)!=1){o=+Hd(f);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=g;return}n=Ld(f)|0;b=k;c[b>>2]=n;c[b+4>>2]=D;b=k;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=g;return}n=k;if(!(_m((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=g;return}a[(c[j>>2]|0)+24>>0]=1;i=g;return}function dm(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=qe(c[f>>2]|0,0)|0;if(!(c[e>>2]|0)){i=d;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=d;return}if(a[(c[e>>2]|0)+24>>0]|0){Ud(c[f>>2]|0,9784,-1);i=d;return}f=c[f>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){Sd(f,+h[b>>3]);i=d;return}else{g=b+8|0;Yd(f,c[g>>2]|0,c[g+4>>2]|0);i=d;return}}function em(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[d>>2]|0)){f=0.0;Sd(a,f);i=b;return}f=+h[c[d>>2]>>3];Sd(a,f);i=b;return}function fm(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qe(c[e>>2]|0,0)|0;if(!(c[d>>2]|0)){i=b;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=b;return}f=(c[d>>2]|0)+16|0;Sd(c[e>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=b;return}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[f>>2]=qe(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=e;return}}else{j=5!=(Nd(c[c[g>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=e;return}}j=c[f>>2]|0;h=j;h=bF(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=D;i=e;return}function hm(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[d>>2]|0)){d=0;e=0;Yd(a,d,e);i=b;return}e=c[d>>2]|0;d=c[e>>2]|0;e=c[e+4>>2]|0;Yd(a,d,e);i=b;return}function im(b,e,f){b=b|0;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;n=i;i=i+48|0;o=n+36|0;l=n+32|0;h=n+28|0;m=n+24|0;q=n+20|0;j=n+16|0;g=n+12|0;k=n+8|0;p=n+4|0;r=n;c[o>>2]=b;c[l>>2]=e;c[h>>2]=f;if((Nd(c[c[h>>2]>>2]|0)|0)==5){i=n;return}c[q>>2]=qe(c[o>>2]|0,28)|0;if(!(c[q>>2]|0)){i=n;return}c[p>>2]=pe(c[o>>2]|0)|0;c[r>>2]=(d[(c[q>>2]|0)+24>>0]|0|0)==0&1;a[(c[q>>2]|0)+24>>0]=2;c[(c[q>>2]|0)+20>>2]=c[(c[p>>2]|0)+88>>2];if(!(c[r>>2]|0)){if((c[l>>2]|0)==2){c[j>>2]=Ed(c[(c[h>>2]|0)+4>>2]|0)|0;c[k>>2]=Fd(c[(c[h>>2]|0)+4>>2]|0)|0}else{c[j>>2]=9776;c[k>>2]=1}if(c[k>>2]|0)Vm(c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)}c[m>>2]=Ed(c[c[h>>2]>>2]|0)|0;c[g>>2]=Fd(c[c[h>>2]>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}Vm(c[q>>2]|0,c[m>>2]|0,c[g>>2]|0);i=n;return}function jm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;f=b+4|0;e=b;c[f>>2]=a;c[e>>2]=qe(c[f>>2]|0,0)|0;if(!(c[e>>2]|0)){i=b;return}if((d[(c[e>>2]|0)+25>>0]|0|0)==2){he(c[f>>2]|0);i=b;return}a=c[f>>2]|0;if((d[(c[e>>2]|0)+25>>0]|0|0)==1){ie(a);i=b;return}else{$d(a,pc(c[e>>2]|0)|0,-1,13);i=b;return}}function km(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,l=0,m=0,n=0,o=0,p=0;k=i;i=i+48|0;f=k+36|0;n=k+32|0;l=k+28|0;g=k+24|0;h=k+20|0;e=k+16|0;p=k+12|0;o=k+8|0;j=k+4|0;m=k;c[f>>2]=a;c[n>>2]=b;c[l>>2]=d;c[e>>2]=0;c[o>>2]=pe(c[f>>2]|0)|0;c[h>>2]=Ed(c[c[l>>2]>>2]|0)|0;c[g>>2]=Ed(c[(c[l>>2]|0)+4>>2]|0)|0;c[p>>2]=Fd(c[c[l>>2]>>2]|0)|0;if((c[p>>2]|0)>(c[(c[o>>2]|0)+120>>2]|0)){Ud(c[f>>2]|0,9688,-1);i=k;return}do if((c[n>>2]|0)==3){c[j>>2]=Ed(c[(c[l>>2]|0)+8>>2]|0)|0;if(!(c[j>>2]|0)){i=k;return}if((Tm(c[j>>2]|0,-1)|0)==1){c[e>>2]=Um(j)|0;break}Ud(c[f>>2]|0,9728,-1);i=k;return}while(0);if(!((c[g>>2]|0)!=0&(c[h>>2]|0)!=0)){i=k;return}c[m>>2]=oe(c[f>>2]|0)|0;p=c[f>>2]|0;Wd(p,jf(c[h>>2]|0,c[g>>2]|0,c[m>>2]|0,c[e>>2]|0)|0);i=k;return}function lm(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=1576;c[e>>2]=9016;c[b>>2]=0;while(1){if((c[b>>2]|0)>=8)break;xk(c[d>>2]|0,(c[e>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}i=a;return}function mm(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=1576;c[e>>2]=8792;c[b>>2]=0;while(1){if((c[b>>2]|0)>=3)break;xk(c[d>>2]|0,(c[e>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}i=a;return}function nm(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,o=0,p=0,q=0,r=0,s=0;n=i;i=i+64|0;m=n;o=n+60|0;s=n+52|0;j=n+48|0;k=n+44|0;p=n+40|0;l=n+32|0;q=n+28|0;r=n+24|0;f=n+20|0;h=n+16|0;c[o>>2]=b;c[n+56>>2]=d;c[s>>2]=e;c[j>>2]=Ed(c[c[s>>2]>>2]|0)|0;c[k>>2]=Ed(c[(c[s>>2]|0)+4>>2]|0)|0;c[q>>2]=c[j>>2];c[r>>2]=0;c[h>>2]=pe(c[o>>2]|0)|0;if(!(c[j>>2]|0)){i=n;return}do{if(!(a[c[q>>2]>>0]|0)){g=7;break}c[l>>2]=c[q>>2];c[l+4>>2]=c[r>>2];do{c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=qm(c[q>>2]|0,p)|0}while((c[p>>2]|0)==151)}while((c[p>>2]|0)!=22&(c[p>>2]|0)!=125);if((g|0)==7){i=n;return}s=c[h>>2]|0;e=c[j>>2]|0;d=c[k>>2]|0;b=(c[l>>2]|0)+(c[l+4>>2]|0)|0;c[m>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[m+4>>2]=e;c[m+8>>2]=d;c[m+12>>2]=b;c[f>>2]=Te(s,9e3,m)|0;$d(c[o>>2]|0,c[f>>2]|0,-1,16);i=n;return}function om(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,o=0,p=0,q=0,r=0,s=0,t=0;o=i;i=i+80|0;q=o;s=o+68|0;t=o+60|0;f=o+56|0;p=o+52|0;j=o+48|0;m=o+40|0;h=o+32|0;k=o+28|0;l=o+24|0;r=o+20|0;n=o+16|0;c[s>>2]=b;c[o+64>>2]=d;c[t>>2]=e;c[f>>2]=Ed(c[c[t>>2]>>2]|0)|0;c[p>>2]=Ed(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[k>>2]=c[f>>2];c[l>>2]=0;c[n>>2]=pe(c[s>>2]|0)|0;if(!(c[f>>2]|0)){i=o;return}while(1){if(!(a[c[k>>2]>>0]|0)){g=8;break}c[m>>2]=c[k>>2];c[m+4>>2]=c[l>>2];do{c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);c[l>>2]=qm(c[k>>2]|0,j)|0}while((c[j>>2]|0)==151);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[j>>2]|0)==122|(c[j>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[j>>2]|0)!=137&(c[j>>2]|0)!=46&(c[j>>2]|0)!=5))break}if((g|0)==8){i=o;return}t=c[n>>2]|0;e=c[f>>2]|0;d=c[p>>2]|0;b=(c[m>>2]|0)+(c[m+4>>2]|0)|0;c[q>>2]=(c[m>>2]|0)-(c[f>>2]|0);c[q+4>>2]=e;c[q+8>>2]=d;c[q+12>>2]=b;c[r>>2]=Te(t,9e3,q)|0;$d(c[s>>2]|0,c[r>>2]|0,-1,16);i=o;return}function pm(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i;i=i+80|0;k=n;m=n+68|0;u=n+60|0;g=n+56|0;j=n+52|0;l=n+48|0;h=n+44|0;s=n+40|0;o=n+36|0;f=n+32|0;q=n+28|0;t=n+24|0;r=n+20|0;p=n+16|0;c[m>>2]=b;c[n+64>>2]=d;c[u>>2]=e;c[g>>2]=pe(c[m>>2]|0)|0;c[j>>2]=0;c[h>>2]=Ed(c[c[u>>2]>>2]|0)|0;c[s>>2]=Ed(c[(c[u>>2]|0)+4>>2]|0)|0;c[o>>2]=Ed(c[(c[u>>2]|0)+8>>2]|0)|0;if((c[h>>2]|0)==0|(c[s>>2]|0)==0){i=n;return}c[f>>2]=c[h>>2];while(1){if(!(a[c[f>>2]>>0]|0))break;c[q>>2]=qm(c[f>>2]|0,t)|0;if((c[t>>2]|0)==105){do{c[f>>2]=(c[f>>2]|0)+(c[q>>2]|0);c[q>>2]=qm(c[f>>2]|0,t)|0}while((c[t>>2]|0)==151);u=c[q>>2]|0;c[r>>2]=rm(c[g>>2]|0,c[f>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[r>>2]|0))break;sm(c[r>>2]|0)|0;if(!(xc(c[s>>2]|0,c[r>>2]|0)|0)){u=c[g>>2]|0;e=(c[f>>2]|0)-(c[h>>2]|0)|0;d=c[h>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[j>>2]|0)!=0?c[j>>2]|0:1216;c[k+4>>2]=e;c[k+8>>2]=d;c[k+12>>2]=b;c[p>>2]=Te(u,8976,k)|0;Xb(c[g>>2]|0,c[j>>2]|0);c[j>>2]=c[p>>2];c[h>>2]=(c[f>>2]|0)+(c[q>>2]|0)}Xb(c[g>>2]|0,c[r>>2]|0)}c[f>>2]=(c[f>>2]|0)+(c[q>>2]|0)}u=c[g>>2]|0;b=c[h>>2]|0;c[k>>2]=(c[j>>2]|0)!=0?c[j>>2]|0:1216;c[k+4>>2]=b;c[l>>2]=Te(u,8992,k)|0;$d(c[m>>2]|0,c[l>>2]|0,-1,16);Xb(c[g>>2]|0,c[j>>2]|0);i=n;return}function qm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;f=g+24|0;h=g+20|0;m=g+16|0;j=g+12|0;k=g+8|0;o=g+4|0;n=g;c[h>>2]=b;c[m>>2]=e;do switch(d[c[h>>2]>>0]|0){case 45:{if((d[(c[h>>2]|0)+1>>0]|0)!=45){c[c[m>>2]>>2]=90;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}c[j>>2]=2;while(1){b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!((b|0)!=0&(c[k>>2]|0)!=10))break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=151;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0};case 59:{c[c[m>>2]>>2]=1;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 38:{c[c[m>>2]>>2]=85;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 40:{c[c[m>>2]>>2]=22;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 62:{b=d[(c[h>>2]|0)+1>>0]|0;c[k>>2]=b;if((b|0)==61){c[c[m>>2]>>2]=83;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}h=c[m>>2]|0;if((c[k>>2]|0)==62){c[h>>2]=88;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}else{c[h>>2]=80;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}};case 124:{j=c[m>>2]|0;if((d[(c[h>>2]|0)+1>>0]|0)!=124){c[j>>2]=86;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else{c[j>>2]=94;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}};case 126:{c[c[m>>2]>>2]=96;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:break;case 61:{c[c[m>>2]>>2]=79;c[f>>2]=1+((d[(c[h>>2]|0)+1>>0]|0)==61&1);b=c[f>>2]|0;i=g;return b|0};case 44:{c[c[m>>2]>>2]=26;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 60:{b=d[(c[h>>2]|0)+1>>0]|0;c[k>>2]=b;if((b|0)==61){c[c[m>>2]>>2]=81;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}if((c[k>>2]|0)==62){c[c[m>>2]>>2]=78;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}h=c[m>>2]|0;if((c[k>>2]|0)==60){c[h>>2]=87;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}else{c[h>>2]=82;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}};case 46:{if(!(d[1224+(d[(c[h>>2]|0)+1>>0]|0)>>0]&4)){c[c[m>>2]>>2]=122;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}break};case 13:case 12:case 10:case 9:case 32:{c[j>>2]=1;while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&1))break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=151;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0};case 37:{c[c[m>>2]>>2]=93;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 88:case 120:{if((d[(c[h>>2]|0)+1>>0]|0)==39){c[c[m>>2]>>2]=134;c[j>>2]=2;while(1){k=c[j>>2]|0;if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=k+1}if(!((d[(c[h>>2]|0)+k>>0]|0)==39?((c[j>>2]|0)%2|0|0)==0:0))l=125;a:do if((l|0)==125){c[c[m>>2]>>2]=150;while(1){if(!(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break a;if((d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)==39)break a;c[j>>2]=(c[j>>2]|0)+1}}while(0);if(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)c[j>>2]=(c[j>>2]|0)+1;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}else l=132;break};case 91:{c[j>>2]=1;c[k>>2]=d[c[h>>2]>>0];while(1){if((c[k>>2]|0)==93)break;b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=(c[k>>2]|0)==93?27:150;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0};case 42:{c[c[m>>2]>>2]=91;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 58:case 35:case 64:case 36:{c[n>>2]=0;c[c[m>>2]>>2]=135;c[j>>2]=1;while(1){b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;if(d[1224+(c[k>>2]&255)>>0]&70)c[n>>2]=(c[n>>2]|0)+1;else{if((c[k>>2]|0)==40&(c[n>>2]|0)>0){l=107;break}if((c[k>>2]|0)!=58)break;if((d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=58)break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}do if((l|0)==107){while(1){c[j>>2]=(c[j>>2]|0)+1;b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;if((c[k>>2]|0)!=41?(d[1224+(c[k>>2]&255)>>0]&1|0)==0:0)l=107;else break}if((c[k>>2]|0)==41){c[j>>2]=(c[j>>2]|0)+1;break}else{c[c[m>>2]>>2]=150;break}}while(0);if(!(c[n>>2]|0))c[c[m>>2]>>2]=150;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0};case 34:case 39:case 96:{c[o>>2]=d[c[h>>2]>>0];c[j>>2]=1;while(1){b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;if((c[k>>2]|0)==(c[o>>2]|0)){if((d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=(c[o>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==39){c[c[m>>2]>>2]=97;c[f>>2]=(c[j>>2]|0)+1;b=c[f>>2]|0;i=g;return b|0}h=c[m>>2]|0;if(c[k>>2]|0){c[h>>2]=27;c[f>>2]=(c[j>>2]|0)+1;b=c[f>>2]|0;i=g;return b|0}else{c[h>>2]=150;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}};case 41:{c[c[m>>2]>>2]=23;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 33:{j=c[m>>2]|0;if((d[(c[h>>2]|0)+1>>0]|0)!=61){c[j>>2]=150;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}else{c[j>>2]=78;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}};case 47:{if((d[(c[h>>2]|0)+1>>0]|0)==42?(d[(c[h>>2]|0)+2>>0]|0)!=0:0){c[j>>2]=3;c[k>>2]=d[(c[h>>2]|0)+2>>0];while(1){if((c[k>>2]|0)==42?(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)==47:0)break;b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;c[j>>2]=(c[j>>2]|0)+1}if(c[k>>2]|0)c[j>>2]=(c[j>>2]|0)+1;c[c[m>>2]>>2]=151;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}c[c[m>>2]>>2]=92;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 43:{c[c[m>>2]>>2]=89;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 63:{c[c[m>>2]>>2]=135;c[j>>2]=1;while(1){k=c[j>>2]|0;if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=k+1}c[f>>2]=k;b=c[f>>2]|0;i=g;return b|0};default:l=132}while(0);if((l|0)==132){if(!(d[1224+(d[c[h>>2]>>0]|0)>>0]&70)){c[c[m>>2]>>2]=150;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}c[j>>2]=1;while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[j>>2]=(c[j>>2]|0)+1}b=Cg(c[h>>2]|0,c[j>>2]|0)|0;c[c[m>>2]>>2]=b;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}c[c[m>>2]>>2]=132;do if((d[c[h>>2]>>0]|0)==48){if((d[(c[h>>2]|0)+1>>0]|0)!=120?(d[(c[h>>2]|0)+1>>0]|0)!=88:0)break;if(d[1224+(d[(c[h>>2]|0)+2>>0]|0)>>0]&8){c[j>>2]=3;while(1){k=c[j>>2]|0;if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=k+1}c[f>>2]=k;b=c[f>>2]|0;i=g;return b|0}}while(0);c[j>>2]=0;while(1){k=c[j>>2]|0;if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=k+1}if((d[(c[h>>2]|0)+k>>0]|0)==46){c[j>>2]=(c[j>>2]|0)+1;while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=133}if(!((d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)!=101?(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)!=69:0))l=82;do if((l|0)==82){if(!(d[1224+(d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=43?(d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[1224+(d[(c[h>>2]|0)+((c[j>>2]|0)+2)>>0]|0)>>0]&4))break}c[j>>2]=(c[j>>2]|0)+2;while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=133}while(0);while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[c[m>>2]>>2]=150;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}function rm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+20|0;m=g+16|0;k=g+12|0;l=g;j=g+8|0;c[m>>2]=b;c[k>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;if(!(c[k>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=g;return b|0}d=c[m>>2]|0;b=l;b=bF(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[j>>2]=Qe(d,b,D)|0;if(c[j>>2]|0){dF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;a[(c[j>>2]|0)+(c[l>>2]|0)>>0]=0}c[h>>2]=c[j>>2];b=c[h>>2]|0;i=g;return b|0}function sm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+12|0;g=d+8|0;h=d+16|0;f=d+4|0;j=d;c[g>>2]=b;if(!(c[g>>2]|0)){c[e>>2]=-1;b=c[e>>2]|0;i=d;return b|0}a[h>>0]=a[c[g>>2]>>0]|0;b=a[h>>0]|0;if((b|0)==91)a[h>>0]=93;else if(!((b|0)==96|(b|0)==34|(b|0)==39)){c[e>>2]=-1;b=c[e>>2]|0;i=d;return b|0}c[f>>2]=1;c[j>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[g>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[g>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[j>>2]|0;c[j>>2]=b+1;a[(c[g>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[g>>2]|0)+b>>0]|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[g>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=0;c[e>>2]=c[j>>2];k=c[e>>2]|0;i=d;return k|0}function tm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+64|0;g=e+56|0;j=e+52|0;h=e+48|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;if(Bm(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=e;return}Cm(f);j=f;Sd(c[g>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=e;return}function um(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,l=0;e=i;i=i+176|0;g=e+48|0;j=e+68|0;l=e+64|0;k=e+60|0;f=e;h=e+72|0;c[j>>2]=a;c[l>>2]=b;c[k>>2]=d;if(Bm(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0,f)|0){i=e;return}Em(f);k=c[f+12>>2]|0;l=c[f+16>>2]|0;c[g>>2]=c[f+8>>2];c[g+4>>2]=k;c[g+8>>2]=l;sc(100,h,9672,g)|0;$d(c[j>>2]|0,h,-1,-1);i=e;return}function vm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;e=i;i=i+176|0;g=e+48|0;k=e+68|0;m=e+64|0;l=e+60|0;f=e;j=e+72|0;c[k>>2]=a;c[m>>2]=b;c[l>>2]=d;if(Bm(c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,f)|0){i=e;return}Fm(f);l=c[f+24>>2]|0;m=~~+h[f+32>>3];c[g>>2]=c[f+20>>2];c[g+4>>2]=l;c[g+8>>2]=m;sc(100,j,9656,g)|0;$d(c[k>>2]|0,j,-1,-1);i=e;return}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;e=i;i=i+192|0;g=e+48|0;k=e+80|0;m=e+76|0;l=e+72|0;f=e;j=e+84|0;c[k>>2]=a;c[m>>2]=b;c[l>>2]=d;if(Bm(c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,f)|0){i=e;return}Dm(f);d=c[f+12>>2]|0;b=c[f+16>>2]|0;a=c[f+20>>2]|0;l=c[f+24>>2]|0;m=~~+h[f+32>>3];c[g>>2]=c[f+8>>2];c[g+4>>2]=d;c[g+8>>2]=b;c[g+12>>2]=a;c[g+16>>2]=l;c[g+20>>2]=m;sc(100,j,9624,g)|0;$d(c[k>>2]|0,j,-1,-1);i=e;return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=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;t=i;i=i+272|0;r=t+112|0;o=t+156|0;y=t+152|0;z=t+148|0;q=t+64|0;v=t+56|0;n=t+144|0;l=t+140|0;j=t+136|0;w=t+132|0;f=t+128|0;m=t+160|0;s=t+48|0;g=t+124|0;p=t;u=t+120|0;c[o>>2]=b;c[y>>2]=d;c[z>>2]=e;c[f>>2]=Ed(c[c[z>>2]>>2]|0)|0;if(!(c[f>>2]|0)){i=t;return}if(Bm(c[o>>2]|0,(c[y>>2]|0)-1|0,(c[z>>2]|0)+4|0,q)|0){i=t;return}c[w>>2]=pe(c[o>>2]|0)|0;c[n>>2]=0;b=v;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[f>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 102:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,8,0)|0;c[b+4>>2]=D;break};case 87:case 83:case 77:case 109:case 72:case 100:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[b+4>>2]=D;break};case 74:case 115:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,50,0)|0;c[b+4>>2]=D;break};case 89:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,8,0)|0;c[b+4>>2]=D;break};case 37:case 119:break;case 106:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,3,0)|0;c[b+4>>2]=D;break};default:{x=43;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;d=v;d=bF(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;b=v;c[b>>2]=d;c[b+4>>2]=D}if((x|0)==43){i=t;return}b=v;d=c[b+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[b>>2]|0)>>>0<100)){d=v;z=c[d+4>>2]|0;b=c[(c[w>>2]|0)+88>>2]|0;e=((b|0)<0)<<31>>31;if(z>>>0>e>>>0|((z|0)==(e|0)?(c[d>>2]|0)>>>0>b>>>0:0)){he(c[o>>2]|0);i=t;return}b=c[v>>2]|0;c[j>>2]=Qe(c[w>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){ie(c[o>>2]|0);i=t;return}}else c[j>>2]=m;Cm(q);Dm(q);c[l>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0))break;v=c[n>>2]|0;b:do if((a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){d=a[(c[f>>2]|0)+v>>0]|0;b=c[l>>2]|0;c[l>>2]=b+1;a[(c[j>>2]|0)+b>>0]=d}else{c[n>>2]=v+1;do switch(a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0){case 106:case 87:{x=p+0|0;w=q+0|0;v=x+48|0;do{c[x>>2]=c[w>>2];x=x+4|0;w=w+4|0}while((x|0)<(v|0));a[p+42>>0]=0;c[p+12>>2]=1;c[p+16>>2]=1;Cm(p);d=q;b=p;c[g>>2]=jF(bF(ZE(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,D|0,432e5,0)|0,D|0,864e5,0)|0;if((a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0)==87){b=q;b=bF(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=jF(b|0,D|0,864e5,0)|0;b=kF(b|0,D|0,7,0)|0;c[u>>2]=b;b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=((c[g>>2]|0)+7-(c[u>>2]|0)|0)/7|0;sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b}else{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=(c[g>>2]|0)+1;sc(4,b,9440,r)|0;c[l>>2]=(c[l>>2]|0)+3;break b}};case 77:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+24>>2];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 115:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;e=q;d=r;c[d>>2]=ZE(jF(c[e>>2]|0,c[e+4>>2]|0,1e3,0)|0,D|0,413362496,49)|0;c[d+4>>2]=D;sc(30,b,9456,r)|0;c[l>>2]=(Mb((c[j>>2]|0)+(c[l>>2]|0)|0)|0)+(c[l>>2]|0);break b};case 72:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+20>>2];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 109:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+12>>2];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 89:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+8>>2];sc(5,b,9464,r)|0;c[l>>2]=(Mb((c[j>>2]|0)+(c[l>>2]|0)|0)|0)+(c[l>>2]|0);break b};case 74:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;d=q;h[k>>3]=(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0))/864.0e5;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];sc(20,b,9448,r)|0;c[l>>2]=(Mb((c[j>>2]|0)+(c[l>>2]|0)|0)|0)+(c[l>>2]|0);break b};case 100:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+16>>2];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 119:{d=q;d=kF(jF(bF(c[d>>2]|0,c[d+4>>2]|0,1296e5,0)|0,D|0,864e5,0)|0,D|0,7,0)|0;b=c[l>>2]|0;c[l>>2]=b+1;a[(c[j>>2]|0)+b>>0]=((d&255)<<24>>24)+48;break b};case 83:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=~~+h[q+32>>3];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 102:{h[s>>3]=+h[q+32>>3];if(+h[s>>3]>59.999)h[s>>3]=59.999;b=(c[j>>2]|0)+(c[l>>2]|0)|0;h[k>>3]=+h[s>>3];c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];sc(7,b,9432,r)|0;c[l>>2]=(Mb((c[j>>2]|0)+(c[l>>2]|0)|0)|0)+(c[l>>2]|0);break b};default:{b=c[l>>2]|0;c[l>>2]=b+1;a[(c[j>>2]|0)+b>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[j>>2]|0)+(c[l>>2]|0)>>0]=0;$d(c[o>>2]|0,c[j>>2]|0,-1,(c[j>>2]|0)==(m|0)?-1:16);i=t;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;vm(c[f>>2]|0,0,0);i=e;return}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;wm(c[f>>2]|0,0,0);i=e;return}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;um(c[f>>2]|0,0,0);i=e;return}function Bm(b,d,e,f){b=b|0;d=d|0;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.0;h=i;i=i+32|0;g=h+28|0;k=h+24|0;o=h+20|0;m=h+16|0;l=h+12|0;p=h+8|0;j=h+4|0;n=h;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[l>>2]=f;e=(c[l>>2]|0)+0|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[o>>2]|0)){c[g>>2]=Gm(c[k>>2]|0,c[l>>2]|0)|0;b=c[g>>2]|0;i=h;return b|0}b=Nd(c[c[m>>2]>>2]|0)|0;c[n>>2]=b;f=c[c[m>>2]>>2]|0;do if((b|0)==2|(c[n>>2]|0)==1){q=+Hd(f)*864.0e5+.5;d=+O(q)>=1.0?q>0.0?(ca(+N(q/4294967296.0),4294967295.0)|0)>>>0:~~+_((q- +(~~q>>>0))/4294967296.0)>>>0:0;b=c[l>>2]|0;c[b>>2]=~~q>>>0;c[b+4>>2]=d;a[(c[l>>2]|0)+42>>0]=1}else{c[j>>2]=Ed(f)|0;if((c[j>>2]|0)!=0?(Hm(c[k>>2]|0,c[j>>2]|0,c[l>>2]|0)|0)==0:0)break;c[g>>2]=1;b=c[g>>2]|0;i=h;return b|0}while(0);c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[o>>2]|0)){j=14;break}c[j>>2]=Ed(c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;if(!(c[j>>2]|0)){j=12;break}if(Im(c[k>>2]|0,c[j>>2]|0,c[l>>2]|0)|0){j=12;break}c[p>>2]=(c[p>>2]|0)+1}if((j|0)==12){c[g>>2]=1;b=c[g>>2]|0;i=h;return b|0}else if((j|0)==14){c[g>>2]=0;b=c[g>>2]|0;i=h;return b|0}return 0}function Cm(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;d=i;i=i+32|0;n=d+28|0;e=d+24|0;k=d+20|0;m=d+16|0;f=d+12|0;g=d+8|0;j=d+4|0;l=d;c[n>>2]=b;if(a[(c[n>>2]|0)+42>>0]|0){i=d;return}if(a[(c[n>>2]|0)+40>>0]|0){c[e>>2]=c[(c[n>>2]|0)+8>>2];c[k>>2]=c[(c[n>>2]|0)+12>>2];c[m>>2]=c[(c[n>>2]|0)+16>>2]}else{c[e>>2]=2e3;c[k>>2]=1;c[m>>2]=1}if((c[k>>2]|0)<=2){c[e>>2]=(c[e>>2]|0)+ -1;c[k>>2]=(c[k>>2]|0)+12}c[f>>2]=(c[e>>2]|0)/100|0;c[g>>2]=2-(c[f>>2]|0)+((c[f>>2]|0)/4|0);c[j>>2]=(((c[e>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[k>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[j>>2]|0)+(c[l>>2]|0)+(c[m>>2]|0)+(c[g>>2]|0)|0)-1524.5)*864.0e5;l=+O(o)>=1.0?o>0.0?(ca(+N(o/4294967296.0),4294967295.0)|0)>>>0:~~+_((o- +(~~o>>>0))/4294967296.0)>>>0:0;m=c[n>>2]|0;c[m>>2]=~~o>>>0;c[m+4>>2]=l;a[(c[n>>2]|0)+42>>0]=1;if(!(a[(c[n>>2]|0)+41>>0]|0)){i=d;return}l=$(c[(c[n>>2]|0)+20>>2]|0,36e5)|0;l=l+((c[(c[n>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[n>>2]|0)+32>>3]*1.0e3;l=bF(l|0,((l|0)<0)<<31>>31|0,~~o>>>0|0,(+O(o)>=1.0?o>0.0?(ca(+N(o/4294967296.0),4294967295.0)|0)>>>0:~~+_((o- +(~~o>>>0))/4294967296.0)>>>0:0)|0)|0;m=c[n>>2]|0;k=m;l=bF(c[k>>2]|0,c[k+4>>2]|0,l|0,D|0)|0;c[m>>2]=l;c[m+4>>2]=D;if(!(a[(c[n>>2]|0)+43>>0]|0)){i=d;return}l=(c[(c[n>>2]|0)+28>>2]|0)*6e4|0;m=c[n>>2]|0;k=m;l=ZE(c[k>>2]|0,c[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c[m>>2]=l;c[m+4>>2]=D;a[(c[n>>2]|0)+40>>0]=0;a[(c[n>>2]|0)+41>>0]=0;a[(c[n>>2]|0)+43>>0]=0;i=d;return}function Dm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Em(c[d>>2]|0);Fm(c[d>>2]|0);i=b;return}function Em(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+32|0;e=h+28|0;f=h+24|0;g=h+20|0;d=h+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[e>>2]=b;if(a[(c[e>>2]|0)+40>>0]|0){i=h;return}b=c[e>>2]|0;if(a[(c[e>>2]|0)+42>>0]|0){b=bF(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=jF(b|0,D|0,864e5,0)|0;c[f>>2]=b;c[g>>2]=~~((+(c[f>>2]|0)-1867216.25)/36524.25);c[g>>2]=(c[f>>2]|0)+1+(c[g>>2]|0)-((c[g>>2]|0)/4|0);c[d>>2]=(c[g>>2]|0)+1524;c[j>>2]=~~((+(c[d>>2]|0)-122.1)/365.25);c[k>>2]=((c[j>>2]|0)*36525|0)/100|0;c[l>>2]=~~(+((c[d>>2]|0)-(c[k>>2]|0)|0)/30.6001);c[m>>2]=~~(+(c[l>>2]|0)*30.6001);c[(c[e>>2]|0)+16>>2]=(c[d>>2]|0)-(c[k>>2]|0)-(c[m>>2]|0);b=c[l>>2]|0;c[(c[e>>2]|0)+12>>2]=(c[l>>2]|0)<14?b-1|0:b-13|0;b=c[j>>2]|0;c[(c[e>>2]|0)+8>>2]=(c[(c[e>>2]|0)+12>>2]|0)>2?b-4716|0:b-4715|0}else{c[b+8>>2]=2e3;c[(c[e>>2]|0)+12>>2]=1;c[(c[e>>2]|0)+16>>2]=1}a[(c[e>>2]|0)+40>>0]=1;i=h;return}function Fm(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;if(a[(c[e>>2]|0)+41>>0]|0){i=d;return}Cm(c[e>>2]|0);b=c[e>>2]|0;b=bF(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=kF(b|0,D|0,864e5,0)|0;c[f>>2]=b;h[(c[e>>2]|0)+32>>3]=+(c[f>>2]|0)/1.0e3;c[f>>2]=~~+h[(c[e>>2]|0)+32>>3];b=(c[e>>2]|0)+32|0;h[b>>3]=+h[b>>3]- +(c[f>>2]|0);c[(c[e>>2]|0)+20>>2]=(c[f>>2]|0)/3600|0;c[f>>2]=(c[f>>2]|0)-((c[(c[e>>2]|0)+20>>2]|0)*3600|0);c[(c[e>>2]|0)+24>>2]=(c[f>>2]|0)/60|0;b=(c[e>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[f>>2]|0)-((c[(c[e>>2]|0)+24>>2]|0)*60|0)|0);a[(c[e>>2]|0)+41>>0]=1;i=d;return}function Gm(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+8|0;h=e+4|0;g=e;c[h>>2]=b;c[g>>2]=d;d=Rm(c[h>>2]|0)|0;b=c[g>>2]|0;c[b>>2]=d;c[b+4>>2]=D;b=c[g>>2]|0;d=c[b+4>>2]|0;if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0){a[(c[g>>2]|0)+42>>0]=1;c[f>>2]=0;h=c[f>>2]|0;i=e;return h|0}else{c[f>>2]=1;h=c[f>>2]|0;i=e;return h|0}return 0}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;f=i;i=i+32|0;g=f+20|0;j=f+16|0;l=f+12|0;k=f+8|0;m=f;c[j>>2]=b;c[l>>2]=d;c[k>>2]=e;if(!(Qm(c[l>>2]|0,c[k>>2]|0)|0)){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}if(!(Mm(c[l>>2]|0,c[k>>2]|0)|0)){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}if(!(xc(c[l>>2]|0,9616)|0)){c[g>>2]=Gm(c[j>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=f;return b|0}b=c[l>>2]|0;if(Lm(b,m,Mb(c[l>>2]|0)|0,1)|0){n=+h[m>>3]*864.0e5+.5;d=+O(n)>=1.0?n>0.0?(ca(+N(n/4294967296.0),4294967295.0)|0)>>>0:~~+_((n- +(~~n>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;c[b>>2]=~~n>>>0;c[b+4>>2]=d;a[(c[k>>2]|0)+42>>0]=1;c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}else{c[g>>2]=1;b=c[g>>2]|0;i=f;return b|0}return 0}function Im(b,e,f){b=b|0;e=e|0;f=f|0;var g=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.0;g=i;i=i+160|0;x=g+124|0;z=g+120|0;k=g+116|0;l=g+112|0;v=g+108|0;q=g+80|0;j=g+104|0;y=g+72|0;w=g+64|0;r=g+56|0;m=g+100|0;n=g+8|0;o=g;t=g+96|0;s=g+92|0;p=g+88|0;c[x>>2]=b;c[z>>2]=e;c[k>>2]=f;c[l>>2]=1;c[j>>2]=g+128;c[v>>2]=0;while(1){if((c[v>>2]|0)>=29)break;if(!(a[(c[z>>2]|0)+(c[v>>2]|0)>>0]|0))break;a[(c[j>>2]|0)+(c[v>>2]|0)>>0]=a[440+(d[(c[z>>2]|0)+(c[v>>2]|0)>>0]|0)>>0]|0;c[v>>2]=(c[v>>2]|0)+1}a[(c[j>>2]|0)+(c[v>>2]|0)>>0]=0;switch(a[c[j>>2]>>0]|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[v>>2]=1;while(1){if(!(a[(c[j>>2]|0)+(c[v>>2]|0)>>0]|0))break;if((a[(c[j>>2]|0)+(c[v>>2]|0)>>0]|0)==58)break;if(d[1224+(d[(c[j>>2]|0)+(c[v>>2]|0)>>0]|0)>>0]&1)break;c[v>>2]=(c[v>>2]|0)+1}if(!(Lm(c[j>>2]|0,q,c[v>>2]|0,1)|0)){c[l>>2]=1;b=c[l>>2]|0;i=g;return b|0}if((a[(c[j>>2]|0)+(c[v>>2]|0)>>0]|0)==58){c[m>>2]=c[j>>2];if(!(d[1224+(d[c[m>>2]>>0]|0)>>0]&4))c[m>>2]=(c[m>>2]|0)+1;q=n+0|0;p=q+48|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(p|0));if(Mm(c[m>>2]|0,n)|0){b=c[l>>2]|0;i=g;return b|0}Cm(n);e=n;e=ZE(c[e>>2]|0,c[e+4>>2]|0,432e5,0)|0;b=n;c[b>>2]=e;c[b+4>>2]=D;b=n;b=jF(c[b>>2]|0,c[b+4>>2]|0,864e5,0)|0;e=o;c[e>>2]=b;c[e+4>>2]=D;e=o;e=lF(c[e>>2]|0,c[e+4>>2]|0,864e5,0)|0;b=n;e=ZE(c[b>>2]|0,c[b+4>>2]|0,e|0,D|0)|0;b=n;c[b>>2]=e;c[b+4>>2]=D;if((a[c[j>>2]>>0]|0)==45){e=n;e=ZE(0,0,c[e>>2]|0,c[e+4>>2]|0)|0;b=n;c[b>>2]=e;c[b+4>>2]=D}Cm(c[k>>2]|0);Km(c[k>>2]|0);e=n;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[b>>2]=e;c[b+4>>2]=D;c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}c[j>>2]=(c[j>>2]|0)+(c[v>>2]|0);while(1){m=c[j>>2]|0;if(!(d[1224+(d[c[j>>2]>>0]|0)>>0]&1))break;c[j>>2]=m+1}c[v>>2]=Mb(m)|0;if((c[v>>2]|0)>10|(c[v>>2]|0)<3){b=c[l>>2]|0;i=g;return b|0}if((a[(c[j>>2]|0)+((c[v>>2]|0)-1)>>0]|0)==115){a[(c[j>>2]|0)+((c[v>>2]|0)-1)>>0]=0;c[v>>2]=(c[v>>2]|0)+ -1}Cm(c[k>>2]|0);c[l>>2]=0;h[r>>3]=+h[q>>3]<0.0?-.5:.5;if((c[v>>2]|0)==3?(UE(c[j>>2]|0,9560)|0)==0:0){A=+h[q>>3]*864.0e5+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D}else u=50;do if((u|0)==50){if((c[v>>2]|0)==4?(UE(c[j>>2]|0,9568)|0)==0:0){A=+h[q>>3]*36.0e5+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}if((c[v>>2]|0)==6?(UE(c[j>>2]|0,9576)|0)==0:0){A=+h[q>>3]*6.0e4+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}if((c[v>>2]|0)==6?(UE(c[j>>2]|0,9584)|0)==0:0){A=+h[q>>3]*1.0e3+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}if((c[v>>2]|0)==5?(UE(c[j>>2]|0,9544)|0)==0:0){Dm(c[k>>2]|0);b=(c[k>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+~~+h[q>>3];b=c[(c[k>>2]|0)+12>>2]|0;c[t>>2]=(((c[(c[k>>2]|0)+12>>2]|0)>0?b-1|0:b-12|0)|0)/12|0;b=(c[k>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[t>>2]|0);b=(c[k>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)-((c[t>>2]|0)*12|0);a[(c[k>>2]|0)+42>>0]=0;Cm(c[k>>2]|0);c[s>>2]=~~+h[q>>3];if(!(+(c[s>>2]|0)!=+h[q>>3]))break;A=(+h[q>>3]- +(c[s>>2]|0))*30.0*864.0e5+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}if((c[v>>2]|0)==4?(UE(c[j>>2]|0,9552)|0)==0:0){c[p>>2]=~~+h[q>>3];Dm(c[k>>2]|0);b=(c[k>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[p>>2]|0);a[(c[k>>2]|0)+42>>0]=0;Cm(c[k>>2]|0);if(!(+(c[p>>2]|0)!=+h[q>>3]))break;A=(+h[q>>3]- +(c[p>>2]|0))*365.0*864.0e5+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}c[l>>2]=1}while(0);Km(c[k>>2]|0);b=c[l>>2]|0;i=g;return b|0};case 119:{if(VE(c[j>>2]|0,9512,8)|0){b=c[l>>2]|0;i=g;return b|0}b=(c[j>>2]|0)+8|0;if(!(Lm(b,q,Mb((c[j>>2]|0)+8|0)|0,1)|0)){b=c[l>>2]|0;i=g;return b|0}b=~~+h[q>>3];c[v>>2]=b;if(!(((c[v>>2]|0)>=0?+(b|0)==+h[q>>3]:0)&+h[q>>3]<7.0)){b=c[l>>2]|0;i=g;return b|0}Dm(c[k>>2]|0);a[(c[k>>2]|0)+43>>0]=0;a[(c[k>>2]|0)+42>>0]=0;Cm(c[k>>2]|0);z=c[k>>2]|0;z=bF(c[z>>2]|0,c[z+4>>2]|0,1296e5,0)|0;z=jF(z|0,D|0,864e5,0)|0;z=kF(z|0,D|0,7,0)|0;e=w;c[e>>2]=z;c[e+4>>2]=D;e=w;z=c[e+4>>2]|0;b=c[v>>2]|0;f=((b|0)<0)<<31>>31;if((z|0)>(f|0)|((z|0)==(f|0)?(c[e>>2]|0)>>>0>b>>>0:0)){e=w;e=ZE(c[e>>2]|0,c[e+4>>2]|0,7,0)|0;b=w;c[b>>2]=e;c[b+4>>2]=D}b=c[v>>2]|0;e=w;e=ZE(b|0,((b|0)<0)<<31>>31|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=lF(e|0,D|0,864e5,0)|0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,e|0,D|0)|0;c[b>>2]=e;c[b+4>>2]=D;Km(c[k>>2]|0);c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0};case 108:{if(UE(c[j>>2]|0,9472)|0){b=c[l>>2]|0;i=g;return b|0}Cm(c[k>>2]|0);e=Jm(c[k>>2]|0,c[x>>2]|0,l)|0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,e|0,D|0)|0;c[b>>2]=e;c[b+4>>2]=D;Km(c[k>>2]|0);b=c[l>>2]|0;i=g;return b|0};case 115:{if(VE(c[j>>2]|0,9528,9)|0){b=c[l>>2]|0;i=g;return b|0}c[j>>2]=(c[j>>2]|0)+9;Em(c[k>>2]|0);a[(c[k>>2]|0)+41>>0]=1;c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+20>>2]=0;h[(c[k>>2]|0)+32>>3]=0.0;a[(c[k>>2]|0)+43>>0]=0;a[(c[k>>2]|0)+42>>0]=0;if(!(UE(c[j>>2]|0,9544)|0)){c[(c[k>>2]|0)+16>>2]=1;c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}if(!(UE(c[j>>2]|0,9552)|0)){Em(c[k>>2]|0);c[(c[k>>2]|0)+12>>2]=1;c[(c[k>>2]|0)+16>>2]=1;c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}if(UE(c[j>>2]|0,9560)|0){b=c[l>>2]|0;i=g;return b|0}c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0};case 117:{if((UE(c[j>>2]|0,9488)|0)==0?(a[(c[k>>2]|0)+42>>0]|0)!=0:0){e=c[k>>2]|0;e=bF(c[e>>2]|0,c[e+4>>2]|0,43200,0)|0;e=jF(e|0,D|0,86400,0)|0;e=bF(e|0,D|0,1045635584,49096)|0;b=c[k>>2]|0;c[b>>2]=e;c[b+4>>2]=D;Km(c[k>>2]|0);c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}if(UE(c[j>>2]|0,9504)|0){b=c[l>>2]|0;i=g;return b|0}Cm(c[k>>2]|0);e=Jm(c[k>>2]|0,c[x>>2]|0,l)|0;b=y;c[b>>2]=e;c[b+4>>2]=D;if(c[l>>2]|0){b=c[l>>2]|0;i=g;return b|0}f=y;b=c[k>>2]|0;e=b;f=ZE(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[b>>2]=f;c[b+4>>2]=D;Km(c[k>>2]|0);b=y;f=c[b>>2]|0;b=c[b+4>>2]|0;e=Jm(c[k>>2]|0,c[x>>2]|0,l)|0;e=ZE(f|0,b|0,e|0,D|0)|0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,e|0,D|0)|0;c[b>>2]=e;c[b+4>>2]=D;b=c[l>>2]|0;i=g;return b|0};default:{b=c[l>>2]|0;i=g;return b|0}}return 0}function Jm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+176|0;f=o+96|0;q=o+164|0;l=o+160|0;m=o+156|0;n=o+48|0;p=o;j=o+152|0;k=o+108|0;g=o+104|0;c[q>>2]=b;c[l>>2]=d;c[m>>2]=e;d=k+0|0;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=n+0|0;q=(c[q>>2]|0)+0|0;e=d+48|0;do{c[d>>2]=c[q>>2];d=d+4|0;q=q+4|0}while((d|0)<(e|0));Dm(n);if((c[n+8>>2]|0)>=1971?(c[n+8>>2]|0)<2038:0){c[g>>2]=~~(+h[n+32>>3]+.5);h[n+32>>3]=+(c[g>>2]|0)}else{c[n+8>>2]=2e3;c[n+12>>2]=1;c[n+16>>2]=1;c[n+20>>2]=0;c[n+24>>2]=0;h[n+32>>3]=0.0}c[n+28>>2]=0;a[n+42>>0]=0;Cm(n);b=n;b=jF(c[b>>2]|0,c[b+4>>2]|0,1e3,0)|0;b=ZE(b|0,D|0,413362496,49)|0;c[j>>2]=b;if(Pm(j,k)|0){Ud(c[l>>2]|0,9592,-1);c[c[m>>2]>>2]=1;d=f;c[d>>2]=0;c[d+4>>2]=0;d=f;b=d;b=c[b>>2]|0;d=d+4|0;d=c[d>>2]|0;D=d;i=o;return b|0}else{c[p+8>>2]=(c[k+20>>2]|0)+1900;c[p+12>>2]=(c[k+16>>2]|0)+1;c[p+16>>2]=c[k+12>>2];c[p+20>>2]=c[k+8>>2];c[p+24>>2]=c[k+4>>2];h[p+32>>3]=+(c[k>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;Cm(p);c[c[m>>2]>>2]=0;d=p;b=n;b=ZE(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=f;c[d>>2]=b;c[d+4>>2]=D;d=f;b=d;b=c[b>>2]|0;d=d+4|0;d=c[d>>2]|0;D=d;i=o;return b|0}return 0}function Km(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function Lm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0.0,G=0.0;k=i;i=i+96|0;j=k+76|0;p=k+72|0;l=k+68|0;C=k+64|0;E=k+80|0;z=k+60|0;q=k+56|0;v=k+52|0;y=k+16|0;w=k+48|0;s=k+44|0;x=k+40|0;n=k+36|0;m=k+8|0;o=k+32|0;r=k+28|0;B=k+24|0;u=k;c[p>>2]=b;c[l>>2]=e;c[C>>2]=f;a[E>>0]=g;c[q>>2]=(c[p>>2]|0)+(c[C>>2]|0);c[v>>2]=1;b=y;c[b>>2]=0;c[b+4>>2]=0;c[w>>2]=0;c[s>>2]=1;c[x>>2]=0;c[n>>2]=1;c[o>>2]=0;c[r>>2]=0;h[c[l>>2]>>3]=0.0;if((d[E>>0]|0)==1)c[z>>2]=1;else{c[z>>2]=2;c[B>>2]=3-(d[E>>0]|0);while(1){if((c[B>>2]|0)>=(c[C>>2]|0))break;if(a[(c[p>>2]|0)+(c[B>>2]|0)>>0]|0)break;c[B>>2]=(c[B>>2]|0)+2}c[r>>2]=(c[B>>2]|0)<(c[C>>2]|0)&1;c[q>>2]=(c[p>>2]|0)+(c[B>>2]|0)+(d[E>>0]|0)+ -3;c[p>>2]=(c[p>>2]|0)+(d[E>>0]&1)}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&1))break;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0){c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}if((a[c[p>>2]>>0]|0)!=45){if((a[c[p>>2]>>0]|0)==43)c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}else{c[v>>2]=-1;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if((a[c[p>>2]>>0]|0)!=48)break;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;b=y;e=c[b+4>>2]|0;if(!((d[1224+(d[c[p>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=y;b=lF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[p>>2]>>0]|0)-48|0;e=bF(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;b=y;c[b>>2]=e;c[b+4>>2]=D;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&4))break;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+1}a:do if((c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0){b:do if((a[c[p>>2]>>0]|0)==46){c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;b=y;e=c[b+4>>2]|0;if(!((d[1224+(d[c[p>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=y;b=lF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[p>>2]>>0]|0)-48|0;e=bF(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;b=y;c[b>>2]=e;c[b+4>>2]=D;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+ -1}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break b;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&4))break b;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0){if(!((a[c[p>>2]>>0]|0)!=101?(a[c[p>>2]>>0]|0)!=69:0))A=38;c:do if((A|0)==38){c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[n>>2]=0;if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break a;if((a[c[p>>2]>>0]|0)!=45){if((a[c[p>>2]>>0]|0)==43)c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}else{c[s>>2]=-1;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break c;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&4))break c;if((c[x>>2]|0)<1e4)A=((c[x>>2]|0)*10|0)+((a[c[p>>2]>>0]|0)-48)|0;else A=1e4;c[x>>2]=A;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[n>>2]=1}}while(0);if((c[o>>2]|0)!=0&(c[n>>2]|0)!=0)while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break a;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&1))break a;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}}}while(0);b=$(c[x>>2]|0,c[s>>2]|0)|0;c[x>>2]=b+(c[w>>2]|0);if((c[x>>2]|0)<0){c[s>>2]=-1;c[x>>2]=$(c[x>>2]|0,-1)|0}else c[s>>2]=1;b=y;do if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){d:do if((c[s>>2]|0)>0)while(1){b=y;e=c[b+4>>2]|0;if(!(((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973836)&(c[x>>2]|0)>0))break d;c[x>>2]=(c[x>>2]|0)+ -1;e=y;e=lF(c[e>>2]|0,c[e+4>>2]|0,10,0)|0;b=y;c[b>>2]=e;c[b+4>>2]=D}else while(1){b=y;b=kF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;if(!((b|0)==0&(D|0)==0&(c[x>>2]|0)>0))break d;c[x>>2]=(c[x>>2]|0)+ -1;e=y;e=jF(c[e>>2]|0,c[e+4>>2]|0,10,0)|0;b=y;c[b>>2]=e;c[b+4>>2]=D}while(0);f=(c[v>>2]|0)<0;e=y;g=c[e>>2]|0;e=c[e+4>>2]|0;E=ZE(0,0,g|0,e|0)|0;b=y;c[b>>2]=f?E:g;c[b+4>>2]=f?D:e;if(!(c[x>>2]|0)){b=y;h[m>>3]=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);break}h[u>>3]=1.0;if((c[x>>2]|0)>307&(c[x>>2]|0)<342){while(1){if(!((c[x>>2]|0)%308|0))break;h[u>>3]=+h[u>>3]*10.0;c[x>>2]=(c[x>>2]|0)-1}b=y;F=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);G=+h[u>>3];if((c[s>>2]|0)<0){h[m>>3]=F/G;h[m>>3]=+h[m>>3]/1.0e+308;break}else{h[m>>3]=F*G;h[m>>3]=+h[m>>3]*1.0e+308;break}}if((c[x>>2]|0)>=342){b=y;F=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);if((c[s>>2]|0)<0){h[m>>3]=0.0*F;break}else{h[m>>3]=t*F;break}}while(1){if(!((c[x>>2]|0)%22|0))break;h[u>>3]=+h[u>>3]*10.0;c[x>>2]=(c[x>>2]|0)-1}while(1){if((c[x>>2]|0)<=0)break;h[u>>3]=+h[u>>3]*1.0e+22;c[x>>2]=(c[x>>2]|0)-22}b=y;F=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);G=+h[u>>3];if((c[s>>2]|0)<0){h[m>>3]=F/G;break}else{h[m>>3]=F*G;break}}else{if((c[v>>2]|0)<0)s=(c[o>>2]|0)!=0;else s=0;h[m>>3]=s?-0.0:0.0}while(0);h[c[l>>2]>>3]=+h[m>>3];if(((c[o>>2]|0)>0?(c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)&(c[n>>2]|0)!=0)l=(c[r>>2]|0)==0;else l=0;c[j>>2]=l&1;b=c[j>>2]|0;i=k;return b|0}function Mm(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+80|0;l=m+16|0;g=m+76|0;k=m+72|0;n=m+68|0;o=m+64|0;p=m+60|0;f=m+56|0;q=m+8|0;j=m;c[k>>2]=b;c[n>>2]=e;h[q>>3]=0.0;b=c[k>>2]|0;c[l>>2]=2;c[l+4>>2]=0;c[l+8>>2]=24;c[l+12>>2]=58;c[l+16>>2]=o;c[l+20>>2]=2;c[l+24>>2]=0;c[l+28>>2]=59;c[l+32>>2]=0;c[l+36>>2]=p;if((Nm(b,l)|0)!=2){c[g>>2]=1;b=c[g>>2]|0;i=m;return b|0}c[k>>2]=(c[k>>2]|0)+5;if((a[c[k>>2]>>0]|0)==58){c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;c[l>>2]=2;c[l+4>>2]=0;c[l+8>>2]=59;c[l+12>>2]=0;c[l+16>>2]=f;if((Nm(b,l)|0)!=1){c[g>>2]=1;b=c[g>>2]|0;i=m;return b|0}c[k>>2]=(c[k>>2]|0)+2;if((a[c[k>>2]>>0]|0)==46?(d[1224+(d[(c[k>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[j>>3]=1.0;c[k>>2]=(c[k>>2]|0)+1;while(1){if(!(d[1224+(d[c[k>>2]>>0]|0)>>0]&4))break;h[q>>3]=+h[q>>3]*10.0+ +(a[c[k>>2]>>0]|0)-48.0;h[j>>3]=+h[j>>3]*10.0;c[k>>2]=(c[k>>2]|0)+1}h[q>>3]=+h[q>>3]/+h[j>>3]}}else c[f>>2]=0;a[(c[n>>2]|0)+42>>0]=0;a[(c[n>>2]|0)+41>>0]=1;c[(c[n>>2]|0)+20>>2]=c[o>>2];c[(c[n>>2]|0)+24>>2]=c[p>>2];h[(c[n>>2]|0)+32>>3]=+(c[f>>2]|0)+ +h[q>>3];if(Om(c[k>>2]|0,c[n>>2]|0)|0){c[g>>2]=1;b=c[g>>2]|0;i=m;return b|0}else{a[(c[n>>2]|0)+43>>0]=(c[(c[n>>2]|0)+28>>2]|0)!=0?1:0;c[g>>2]=0;b=c[g>>2]|0;i=m;return b|0}return 0}function Nm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+64|0;l=g+48|0;p=g+32|0;j=g+24|0;o=g+20|0;n=g+16|0;m=g+12|0;h=g+8|0;k=g+4|0;f=g;c[l>>2]=b;c[f>>2]=0;c[p>>2]=e;a:while(1){e=c[p>>2]|0;b=c[e>>2]|0;c[p>>2]=e+4;c[o>>2]=b;b=c[p>>2]|0;e=c[b>>2]|0;c[p>>2]=b+4;c[n>>2]=e;e=c[p>>2]|0;b=c[e>>2]|0;c[p>>2]=e+4;c[m>>2]=b;b=c[p>>2]|0;e=c[b>>2]|0;c[p>>2]=b+4;c[h>>2]=e;e=c[p>>2]|0;b=c[e>>2]|0;c[p>>2]=e+4;c[k>>2]=b;c[j>>2]=0;while(1){b=c[o>>2]|0;c[o>>2]=b+ -1;if(!b)break;if(!(d[1224+(d[c[l>>2]>>0]|0)>>0]&4)){h=11;break a}c[j>>2]=((c[j>>2]|0)*10|0)+(a[c[l>>2]>>0]|0)-48;c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)<(c[n>>2]|0)){h=11;break}if((c[j>>2]|0)>(c[m>>2]|0)){h=11;break}if((c[h>>2]|0)!=0?(c[h>>2]|0)!=(a[c[l>>2]>>0]|0):0){h=11;break}c[c[k>>2]>>2]=c[j>>2];c[l>>2]=(c[l>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1;if(!(c[h>>2]|0)){h=11;break}}if((h|0)==11){i=g;return c[f>>2]|0}return 0}function Om(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+80|0;o=f;h=f+64|0;g=f+60|0;n=f+56|0;k=f+52|0;j=f+48|0;l=f+44|0;p=f+40|0;c[g>>2]=b;c[n>>2]=e;c[k>>2]=0;while(1){if(!(d[1224+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[n>>2]|0)+28>>2]=0;c[p>>2]=a[c[g>>2]>>0];do if((c[p>>2]|0)==45){c[k>>2]=-1;m=11}else{if((c[p>>2]|0)==43){c[k>>2]=1;m=11;break}if((c[p>>2]|0)==90|(c[p>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[h>>2]=(c[p>>2]|0)!=0&1;b=c[h>>2]|0;i=f;return b|0}while(0);do if((m|0)==11){c[g>>2]=(c[g>>2]|0)+1;b=c[g>>2]|0;c[o>>2]=2;c[o+4>>2]=0;c[o+8>>2]=14;c[o+12>>2]=58;c[o+16>>2]=j;c[o+20>>2]=2;c[o+24>>2]=0;c[o+28>>2]=59;c[o+32>>2]=0;c[o+36>>2]=l;if((Nm(b,o)|0)==2){c[g>>2]=(c[g>>2]|0)+5;b=$(c[k>>2]|0,(c[l>>2]|0)+((c[j>>2]|0)*60|0)|0)|0;c[(c[n>>2]|0)+28>>2]=b;break}c[h>>2]=1;b=c[h>>2]|0;i=f;return b|0}while(0);while(1){j=c[g>>2]|0;if(!(d[1224+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=j+1}c[h>>2]=(a[j>>0]|0)!=0&1;b=c[h>>2]|0;i=f;return b|0}function Pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f+4|0;d=f;c[h>>2]=a;c[g>>2]=b;a=kb(c[h>>2]|0)|0;c[d>>2]=a;c[d>>2]=(c[9726]|0)!=0?0:a;if(c[d>>2]|0){a=(c[g>>2]|0)+0|0;g=(c[d>>2]|0)+0|0;b=a+44|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(b|0))}c[e>>2]=(c[d>>2]|0)==0&1;i=f;return c[e>>2]|0}function Qm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+96|0;o=g;l=g+84|0;h=g+80|0;j=g+76|0;k=g+72|0;m=g+68|0;n=g+64|0;f=g+60|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=1}else c[f>>2]=0;b=c[h>>2]|0;c[o>>2]=4;c[o+4>>2]=0;c[o+8>>2]=9999;c[o+12>>2]=45;c[o+16>>2]=k;c[o+20>>2]=2;c[o+24>>2]=1;c[o+28>>2]=12;c[o+32>>2]=45;c[o+36>>2]=m;c[o+40>>2]=2;c[o+44>>2]=1;c[o+48>>2]=31;c[o+52>>2]=0;c[o+56>>2]=n;if((Nm(b,o)|0)!=3){c[l>>2]=1;b=c[l>>2]|0;i=g;return b|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[1224+(d[c[h>>2]>>0]|0)>>0]&1)o=1;else o=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!o)break;c[h>>2]=e+1}do if(Mm(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[l>>2]=1;b=c[l>>2]|0;i=g;return b|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;b=c[k>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[f>>2]|0)!=0?0-b|0:b;c[(c[j>>2]|0)+12>>2]=c[m>>2];c[(c[j>>2]|0)+16>>2]=c[n>>2];if(a[(c[j>>2]|0)+43>>0]|0)Cm(c[j>>2]|0);c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}function Rm(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+12>>2];a=(c[b>>2]|0)+136|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=Sm(c[c[(c[c[f>>2]>>2]|0)+32>>2]>>2]|0,(c[b>>2]|0)+136|0)|0,(c[e>>2]|0)!=0):0){f=(c[b>>2]|0)+136|0;c[f>>2]=0;c[f+4>>2]=0}f=(c[b>>2]|0)+136|0;D=c[f+4>>2]|0;i=d;return c[f>>2]|0}function Sm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;d=i;i=i+32|0;g=d+16|0;f=d+12|0;e=d+8|0;j=d;c[g>>2]=a;c[f>>2]=b;if((c[c[g>>2]>>2]|0)>=2?(c[(c[g>>2]|0)+72>>2]|0)!=0:0){c[e>>2]=zb[c[(c[g>>2]|0)+72>>2]&63](c[g>>2]|0,c[f>>2]|0)|0;a=c[e>>2]|0;i=d;return a|0}c[e>>2]=zb[c[(c[g>>2]|0)+64>>2]&63](c[g>>2]|0,j)|0;k=+h[j>>3]*864.0e5;j=+O(k)>=1.0?k>0.0?(ca(+N(k/4294967296.0),4294967295.0)|0)>>>0:~~+_((k- +(~~k>>>0))/4294967296.0)>>>0:0;a=c[f>>2]|0;c[a>>2]=~~k>>>0;c[a+4>>2]=j;a=c[e>>2]|0;i=d;return a|0}function Tm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;j=e+12|0;f=e+8|0;g=e+4|0;h=e;c[k>>2]=a;c[j>>2]=b;c[f>>2]=0;c[g>>2]=c[k>>2];if((c[j>>2]|0)>=0)c[h>>2]=(c[g>>2]|0)+(c[j>>2]|0);else c[h>>2]=-1;while(1){if(!(d[c[g>>2]>>0]|0)){b=10;break}if((c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0){b=10;break}k=c[g>>2]|0;c[g>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[g>>2]>>0]|0)&192|0)!=128)break a;c[g>>2]=(c[g>>2]|0)+1}while(0);c[f>>2]=(c[f>>2]|0)+1}if((b|0)==10){i=e;return c[f>>2]|0}return 0}function Um(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;f=b+4|0;e=b;c[f>>2]=a;g=c[f>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=b;return g|0}c[e>>2]=d[4984+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[f>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[f>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=b;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=b;return h|0}function Vm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;if(((c[(c[h>>2]|0)+12>>2]|0)+(c[f>>2]|0)|0)>=(c[(c[h>>2]|0)+16>>2]|0)){Wm(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}else{a=(c[h>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);dF((c[(c[h>>2]|0)+8>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)-(c[f>>2]|0))|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}}function Wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[h>>2]=Xm(c[f>>2]|0,c[h>>2]|0)|0;if((c[h>>2]|0)<=0){i=e;return}dF((c[(c[f>>2]|0)+8>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,c[g>>2]|0,c[h>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[h>>2]|0);i=e;return}function Xm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;g=k+24|0;h=k+20|0;j=k+16|0;l=k+12|0;f=k+8|0;m=k;c[h>>2]=b;c[j>>2]=e;if(a[(c[h>>2]|0)+25>>0]|0){c[g>>2]=0;b=c[g>>2]|0;i=k;return b|0}e=c[h>>2]|0;if(!(a[(c[h>>2]|0)+24>>0]|0)){c[j>>2]=(c[e+16>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0)-1;Ym(c[h>>2]|0,2);c[g>>2]=c[j>>2];b=c[g>>2]|0;i=k;return b|0}if((c[e+8>>2]|0)==(c[(c[h>>2]|0)+4>>2]|0))e=0;else e=c[(c[h>>2]|0)+8>>2]|0;c[f>>2]=e;e=c[(c[h>>2]|0)+12>>2]|0;o=m;c[o>>2]=e;c[o+4>>2]=((e|0)<0)<<31>>31;o=(c[j>>2]|0)+1|0;e=m;o=bF(c[e>>2]|0,c[e+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;e=m;c[e>>2]=o;c[e+4>>2]=D;e=m;o=c[e+4>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;n=((b|0)<0)<<31>>31;if((o|0)>(n|0)|((o|0)==(n|0)?(c[e>>2]|0)>>>0>b>>>0:0)){Zm(c[h>>2]|0);Ym(c[h>>2]|0,2);c[g>>2]=0;o=c[g>>2]|0;i=k;return o|0}c[(c[h>>2]|0)+16>>2]=c[m>>2];if((d[(c[h>>2]|0)+24>>0]|0)==1){o=c[(c[h>>2]|0)+16>>2]|0;c[l>>2]=Fk(c[c[h>>2]>>2]|0,c[f>>2]|0,o,((o|0)<0)<<31>>31)|0}else c[l>>2]=jc(c[f>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;if(!(c[l>>2]|0)){Zm(c[h>>2]|0);Ym(c[h>>2]|0,1);c[g>>2]=0;o=c[g>>2]|0;i=k;return o|0}if((c[f>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)>0:0)dF(c[l>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=c[l>>2];c[g>>2]=c[j>>2];o=c[g>>2]|0;i=k;return o|0}function Ym(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+25>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function Zm(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+8>>2]|0)!=(c[(c[e>>2]|0)+4>>2]|0)){a=c[e>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){Xb(c[a>>2]|0,c[(c[e>>2]|0)+8>>2]|0);break}else{hc(c[a+8>>2]|0);break}}while(0);c[(c[e>>2]|0)+8>>2]=0;i=b;return}function _m(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;f=i;i=i+32|0;e=f+20|0;h=f+16|0;g=f+8|0;j=f;c[h>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;d=c[h>>2]|0;k=c[d+4>>2]|0;a=j;c[a>>2]=c[d>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;d=j;b=c[d+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0?(a=j,a=ZE(-1,2147483647,c[a>>2]|0,c[a+4>>2]|0)|0,d=D,k=g,b=c[k+4>>2]|0,(d|0)<(b|0)|((d|0)==(b|0)?a>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=f;return k|0}}else if((b|0)<0?(a=j,a=bF(c[a>>2]|0,c[a+4>>2]|0,-1,2147483647)|0,a=ZE(0,0,a|0,D|0)|0,d=D,k=g,k=bF(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,b=D,(d|0)>(b|0)|(d|0)==(b|0)&a>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=f;return k|0}a=g;k=c[h>>2]|0;b=k;a=bF(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[k>>2]=a;c[k+4>>2]=D;c[e>>2]=0;k=c[e>>2]|0;i=f;return k|0}function $m(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;e=i;i=i+32|0;g=e+16|0;h=e;f=e+12|0;k=e+8|0;c[g>>2]=a;j=h;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=pe(c[g>>2]|0)|0;b=h;j=c[b+4>>2]|0;a=c[(c[k>>2]|0)+88>>2]|0;d=((a|0)<0)<<31>>31;if((j|0)>(d|0)|((j|0)==(d|0)?(c[b>>2]|0)>>>0>a>>>0:0)){he(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}k=h;c[f>>2]=gc(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[f>>2]|0){k=c[f>>2]|0;i=e;return k|0}ie(c[g>>2]|0);k=c[f>>2]|0;i=e;return k|0}function an(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function bn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+48|0;g=m+40|0;j=m+36|0;k=m+32|0;l=m+28|0;n=m+24|0;f=m+20|0;o=m+16|0;p=m+8|0;q=m;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[n>>2]=e[(c[j>>2]|0)+8>>1];c[f>>2]=e[(c[k>>2]|0)+8>>1];c[o>>2]=c[n>>2]|c[f>>2];a:do if(!(c[o>>2]&1)){if(!(c[o>>2]&12)){if(c[o>>2]&2){if(!(c[n>>2]&2)){c[g>>2]=1;break}if(!(c[f>>2]&2)){c[g>>2]=-1;break}if(c[l>>2]|0){c[g>>2]=cn(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;break}}c[g>>2]=dn(c[j>>2]|0,c[k>>2]|0)|0;break}if(c[n>>2]&c[f>>2]&4){b=c[j>>2]|0;p=c[b+4>>2]|0;a=c[k>>2]|0;q=c[a+4>>2]|0;if((p|0)<(q|0)|((p|0)==(q|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)){c[g>>2]=-1;break}b=c[j>>2]|0;p=c[b+4>>2]|0;a=c[k>>2]|0;q=c[a+4>>2]|0;if((p|0)>(q|0)|((p|0)==(q|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){c[g>>2]=1;break}else{c[g>>2]=0;break}}do if(!(c[n>>2]&8))if(c[n>>2]&4){a=c[j>>2]|0;h[p>>3]=+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0);break}else{c[g>>2]=1;break a}else h[p>>3]=+h[c[j>>2]>>3];while(0);do if(!(c[f>>2]&8))if(c[f>>2]&4){a=c[k>>2]|0;h[q>>3]=+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0);break}else{c[g>>2]=-1;break a}else h[q>>3]=+h[c[k>>2]>>3];while(0);if(+h[p>>3]<+h[q>>3]){c[g>>2]=-1;break}if(+h[p>>3]>+h[q>>3]){c[g>>2]=1;break}else{c[g>>2]=0;break}}else c[g>>2]=(c[f>>2]&1)-(c[n>>2]&1);while(0);i=m;return c[g>>2]|0}function cn(b,e,f,g){b=b|0;e=e|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;o=i;i=i+128|0;n=o+116|0;u=o+112|0;t=o+108|0;k=o+104|0;m=o+100|0;l=o+96|0;p=o+92|0;q=o+88|0;j=o+84|0;h=o+80|0;r=o+40|0;s=o;c[u>>2]=b;c[t>>2]=e;c[k>>2]=f;c[m>>2]=g;if((d[(c[u>>2]|0)+10>>0]|0|0)==(d[(c[k>>2]|0)+4>>0]|0|0)){c[n>>2]=Ab[c[(c[k>>2]|0)+12>>2]&15](c[(c[k>>2]|0)+8>>2]|0,c[(c[u>>2]|0)+12>>2]|0,c[(c[u>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[(c[t>>2]|0)+16>>2]|0)|0;b=c[n>>2]|0;i=o;return b|0}en(r,c[(c[u>>2]|0)+32>>2]|0,1);en(s,c[(c[u>>2]|0)+32>>2]|0,1);fn(r,c[u>>2]|0,4096);fn(s,c[t>>2]|0,4096);c[p>>2]=Md(r,a[(c[k>>2]|0)+4>>0]|0)|0;if(!(c[p>>2]|0))g=0;else g=c[r+12>>2]|0;c[j>>2]=g;c[q>>2]=Md(s,a[(c[k>>2]|0)+4>>0]|0)|0;if(!(c[q>>2]|0))g=0;else g=c[s+12>>2]|0;c[h>>2]=g;c[l>>2]=Ab[c[(c[k>>2]|0)+12>>2]&15](c[(c[k>>2]|0)+8>>2]|0,c[j>>2]|0,c[p>>2]|0,c[h>>2]|0,c[q>>2]|0)|0;Bd(r);Bd(s);if(((c[p>>2]|0)==0|(c[q>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;c[n>>2]=c[l>>2];b=c[n>>2]|0;i=o;return b|0}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;e=f+12|0;g=f+8|0;h=f+4|0;d=f;c[g>>2]=a;c[h>>2]=b;if((c[(c[g>>2]|0)+12>>2]|0)>(c[(c[h>>2]|0)+12>>2]|0))b=c[(c[h>>2]|0)+12>>2]|0;else b=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=TE(c[(c[g>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,b)|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];a=c[e>>2]|0;i=f;return a|0}else{c[e>>2]=(c[(c[g>>2]|0)+12>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0);a=c[e>>2]|0;i=f;return a|0}return 0}function en(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function fn(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[k>>2]=d;c[j>>2]=f;if((e[(c[h>>2]|0)+8>>1]|0)&9312)gn(c[h>>2]|0);a=c[h>>2]|0;d=c[k>>2]|0;c[a+0>>2]=c[d+0>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];if((e[(c[k>>2]|0)+8>>1]|0)&2048){i=g;return}a=(c[h>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-7169;a=(c[h>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|c[j>>2];i=g;return}function gn(a){a=a|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+4|0;g=f;c[d>>2]=a;if((e[(c[d>>2]|0)+8>>1]|0)&8192)hn(c[d>>2]|0,c[c[d>>2]>>2]|0)|0;a=c[d>>2]|0;do if(!((e[(c[d>>2]|0)+8>>1]|0)&1024)){h=c[d>>2]|0;if((e[a+8>>1]|0)&32){jn(c[h>>2]|0);break}if((e[h+8>>1]|0)&64){c[g>>2]=c[c[d>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else rb[c[a+36>>2]&31](c[(c[d>>2]|0)+16>>2]|0);while(0);b[(c[d>>2]|0)+8>>1]=1;i=f;return}function hn(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+80|0;j=g+76|0;k=g+72|0;f=g+68|0;e=g+40|0;h=g;c[j>>2]=a;c[k>>2]=d;c[f>>2]=0;if(!(c[k>>2]|0)){a=c[f>>2]|0;i=g;return a|0}if(!(c[(c[k>>2]|0)+20>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a=h+0|0;d=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b[h+8>>1]=1;c[h+32>>2]=c[(c[j>>2]|0)+32>>2];c[e>>2]=h;c[e+8>>2]=c[j>>2];c[e+4>>2]=c[k>>2];rb[c[(c[k>>2]|0)+20>>2]&31](e);if((c[(c[j>>2]|0)+24>>2]|0)>0)Xb(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=(c[j>>2]|0)+0|0;h=h+0|0;d=a+40|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(d|0));c[f>>2]=c[e+20>>2];a=c[f>>2]|0;i=g;return a|0}function jn(a){a=a|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[c[f>>2]>>2];Xb(c[(c[d>>2]|0)+4>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=e;return}function kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+24|0;j=f+20|0;h=f+16|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;oc(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,g);i=f;return}function ln(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function mn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=zb[c[e>>2]&63](1612,0)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=b;return e|0}c[c[d>>2]>>2]=-1;e=c[d>>2]|0;i=b;return e|0}function nn(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+48|0;l=h+32|0;p=h+28|0;n=h+24|0;o=h+20|0;k=h+8|0;j=h+4|0;m=h;c[p>>2]=d;c[n>>2]=e;c[o>>2]=g;c[m>>2]=c[p>>2];if((c[c[m>>2]>>2]|0)<0){c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=-1;b[(c[m>>2]|0)+12>>1]=0;a[(c[m>>2]|0)+14>>0]=0}c[k+0>>2]=c[f+0>>2];c[k+4>>2]=c[f+4>>2];c[(c[m>>2]|0)+8>>2]=c[o>>2];while(1){c[j>>2]=Cn(c[m>>2]|0,c[n>>2]&255)|0;do if((c[j>>2]|0)>=642){f=c[m>>2]|0;if((c[j>>2]|0)<969){En(f,(c[j>>2]|0)-642|0);break}else{p=c[n>>2]|0;c[l+0>>2]=c[k+0>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];Fn(f,p,l);An(c[m>>2]|0,c[n>>2]&255,k);c[n>>2]=254;break}}else{Dn(c[m>>2]|0,c[j>>2]|0,c[n>>2]|0,k);p=(c[m>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+ -1;c[n>>2]=254}while(0);if((c[n>>2]|0)==254){j=11;break}if((c[c[m>>2]>>2]|0)<0){j=11;break}}if((j|0)==11){i=h;return}}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];if(!(c[f>>2]|0)){i=d;return}while(1){if((c[c[f>>2]>>2]|0)<0)break;zn(c[f>>2]|0)|0}rb[c[e>>2]&31](c[f>>2]|0);i=d;return}function pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+48|0;g=f+32|0;j=f+28|0;l=f+24|0;k=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=e;c[h>>2]=yn(c[j>>2]|0,c[l>>2]|0,k)|0;Xb(c[j>>2]|0,c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[h>>2];i=f;return}function qn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}c[e>>2]=c[c[d>>2]>>2];Wb(c[e>>2]|0,c[d>>2]|0);a=c[(c[d>>2]|0)+52>>2]|0;if(c[(c[d>>2]|0)+48>>2]|0)c[(c[(c[d>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[e>>2]|0)+4>>2]=a;if(c[(c[d>>2]|0)+52>>2]|0)c[(c[(c[d>>2]|0)+52>>2]|0)+48>>2]=c[(c[d>>2]|0)+48>>2];c[(c[d>>2]|0)+40>>2]=-1241070648;c[c[d>>2]>>2]=0;Xb(c[e>>2]|0,c[d>>2]|0);i=b;return}function rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;c[h>>2]=(c[f>>2]|0)+8+(c[g>>2]<<4);sn(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);tn(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Xb(c[e>>2]|0,c[c[h>>2]>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[h>>2]=c[(c[e>>2]|0)+4>>2];c[g>>2]=0;while(1){b=c[f>>2]|0;if((c[g>>2]|0)>=(c[c[e>>2]>>2]|0))break;wn(b,c[c[h>>2]>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+20}Xb(b,c[(c[e>>2]|0)+4>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}un(c[e>>2]|0,c[f>>2]|0);Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function un(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;sn(c[f>>2]|0,c[c[e>>2]>>2]|0);vn(c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);wn(c[f>>2]|0,c[(c[e>>2]|0)+36>>2]|0);sn(c[f>>2]|0,c[(c[e>>2]|0)+40>>2]|0);wn(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);sn(c[f>>2]|0,c[(c[e>>2]|0)+48>>2]|0);tn(c[f>>2]|0,c[(c[e>>2]|0)+52>>2]|0);wn(c[f>>2]|0,c[(c[e>>2]|0)+60>>2]|0);wn(c[f>>2]|0,c[(c[e>>2]|0)+64>>2]|0);rn(c[f>>2]|0,c[(c[e>>2]|0)+68>>2]|0);i=d;return}function vn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[h>>2]=(c[e>>2]|0)+8;c[g>>2]=0;while(1){b=c[f>>2]|0;if((c[g>>2]|0)>=(c[c[e>>2]>>2]|0))break;Xb(b,c[(c[h>>2]|0)+4>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Vb(c[f>>2]|0,c[(c[h>>2]|0)+16>>2]|0);tn(c[f>>2]|0,c[(c[h>>2]|0)+20>>2]|0);wn(c[f>>2]|0,c[(c[h>>2]|0)+44>>2]|0);xn(c[f>>2]|0,c[(c[h>>2]|0)+48>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Xb(b,c[e>>2]|0);i=d;return}function wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}do if(!(c[(c[f>>2]|0)+4>>2]&16384)){wn(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);wn(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(c[(c[f>>2]|0)+4>>2]&65536)Xb(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){tn(a,c[b>>2]|0);break}else{sn(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&32768){i=d;return}Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[g>>2]=0;while(1){b=c[f>>2]|0;if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Xb(b,c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Xb(b,c[c[e>>2]>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function yn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+128|0;j=g+40|0;m=g+36|0;l=g+32|0;h=g+28|0;k=g;c[j>>2]=b;c[m>>2]=e;c[l>>2]=f;nc(k,g+44|0,70,c[(c[j>>2]|0)+88>>2]|0);c[k>>2]=c[j>>2];oc(k,1,c[m>>2]|0,c[l>>2]|0);c[h>>2]=pc(k)|0;if((d[k+25>>0]|0|0)!=1){m=c[h>>2]|0;i=g;return m|0}a[(c[j>>2]|0)+64>>0]=1;m=c[h>>2]|0;i=g;return m|0}function zn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e+12|0;j=e;c[h>>2]=b;c[j>>2]=(c[h>>2]|0)+12+(c[c[h>>2]>>2]<<4);if((c[c[h>>2]>>2]|0)<0){c[f>>2]=0;j=c[f>>2]|0;i=e;return j|0}else{a[g>>0]=a[(c[j>>2]|0)+2>>0]|0;An(c[h>>2]|0,a[g>>0]|0,(c[j>>2]|0)+4|0);j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+ -1;c[f>>2]=d[g>>0];j=c[f>>2]|0;i=e;return j|0}return 0}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+8|0;k=g+12|0;h=g+4|0;j=g;c[l>>2]=b;a[k>>0]=e;c[h>>2]=f;c[j>>2]=c[(c[l>>2]|0)+8>>2];do switch(d[k>>0]|0|0){case 228:case 221:case 220:case 210:case 209:case 208:case 205:case 203:case 200:case 188:case 179:{sn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 213:case 212:case 201:case 194:{vn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 175:case 174:{wn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 239:case 234:{Bn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 243:case 238:case 229:case 227:case 216:case 204:case 202:{wn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 223:case 219:case 217:{xn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 207:case 196:case 195:case 163:{tn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 252:case 197:{rn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 236:{xn(c[c[j>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0);i=g;return};default:{i=g;return}}while(0)}function Bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+32>>2];wn(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0);sn(c[g>>2]|0,c[(c[f>>2]|0)+24>>2]|0);tn(c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0);xn(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Xb(c[g>>2]|0,c[f>>2]|0)}i=d;return}function Cn(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;k=i;i=i+32|0;j=k+16|0;l=k+12|0;n=k+21|0;h=k+8|0;p=k+4|0;m=k+20|0;o=k;c[l>>2]=f;a[n>>0]=g;c[p>>2]=e[(c[l>>2]|0)+12+(c[c[l>>2]>>2]<<4)>>1];if((c[p>>2]|0)<=429?(f=b[27208+(c[p>>2]<<1)>>1]|0,c[h>>2]=f,(f|0)!=-86):0){c[h>>2]=(c[h>>2]|0)+(d[n>>0]|0);if(!((c[h>>2]|0)<0|(c[h>>2]|0)>=1497)?(d[29360+(c[h>>2]|0)>>0]|0)==(d[n>>0]|0):0){c[j>>2]=e[11720+(c[h>>2]<<1)>>1];f=c[j>>2]|0;i=k;return f|0}if((d[n>>0]|0)>0){if((d[n>>0]|0)>>>0<70?(f=a[30864+(d[n>>0]|0)>>0]|0,a[m>>0]=f,(f&255|0)!=0):0){c[j>>2]=Cn(c[l>>2]|0,a[m>>0]|0)|0;f=c[j>>2]|0;i=k;return f|0}c[o>>2]=(c[h>>2]|0)-(d[n>>0]|0)+70;if((c[o>>2]|0)>=0?(d[29360+(c[o>>2]|0)>>0]|0)==70:0){c[j>>2]=e[11720+(c[o>>2]<<1)>>1];f=c[j>>2]|0;i=k;return f|0}}c[j>>2]=e[28072+(c[p>>2]<<1)>>1];f=c[j>>2]|0;i=k;return f|0}c[j>>2]=e[28072+(c[p>>2]<<1)>>1];f=c[j>>2]|0;i=k;return f|0}function Dn(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=g;g=c[n>>2]|0;c[g>>2]=(c[g>>2]|0)+1;g=c[n>>2]|0;if((c[c[n>>2]>>2]|0)>=100){wy(g,c[j>>2]|0);i=m;return}else{c[k>>2]=(c[n>>2]|0)+12+(c[g>>2]<<4);b[c[k>>2]>>1]=c[h>>2];a[(c[k>>2]|0)+2>>0]=c[l>>2];d=(c[k>>2]|0)+4|0;e=c[j>>2]|0;c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];i=m;return}}function En(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;n=i;i=i+224|0;r=n;p=n+220|0;o=n+216|0;m=n+212|0;l=n+208|0;h=n+196|0;j=n+192|0;k=n+188|0;q=n+184|0;W=n+172|0;J=n+160|0;u=n+140|0;v=n+136|0;A=n+132|0;z=n+128|0;y=n+124|0;x=n+120|0;w=n+116|0;K=n+112|0;L=n+104|0;B=n+100|0;C=n+96|0;E=n+92|0;F=n+88|0;D=n+84|0;H=n+80|0;I=n+76|0;G=n+72|0;N=n+68|0;M=n+64|0;P=n+60|0;R=n+56|0;Q=n+52|0;O=n+48|0;S=n+44|0;T=n+40|0;V=n+36|0;U=n+32|0;t=n+28|0;X=n+24|0;Y=n+20|0;Z=n+16|0;_=n+8|0;c[p>>2]=f;c[o>>2]=g;c[q>>2]=c[(c[p>>2]|0)+8>>2];c[j>>2]=(c[p>>2]|0)+12+(c[c[p>>2]>>2]<<4);c[h+0>>2]=c[6792];c[h+4>>2]=c[6793];c[h+8>>2]=c[6794];a:do switch(c[o>>2]|0){case 65:{Xn(c[q>>2]|0,0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 117:case 115:case 16:case 15:case 14:{c[h>>2]=d[(c[j>>2]|0)+2>>0];break};case 222:case 219:case 107:case 84:case 69:case 30:case 29:{c[h>>2]=1;break};case 33:{Nn(c[q>>2]|0,0,0,0,c[(c[j>>2]|0)+4>>2]|0);tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 9:{In(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 221:case 218:case 108:case 97:case 85:case 83:case 81:case 68:case 31:case 28:{c[h>>2]=0;break};case 26:{Mn(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0,c[(c[j>>2]|0)+ -32+4>>2]|0);break};case 23:{Ln(c[q>>2]|0,1,(c[j>>2]|0)+4|0);break};case 49:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[h+4>>2]=(c[(c[j>>2]|0)+8>>2]|0)+((c[(c[j>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+ -16+4>>2]|0));break};case 94:{Vn(c[q>>2]|0,0,0,0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0,0,0,0)|0;break};case 95:{Wn(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0);break};case 61:{Tn(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 66:{Yn(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 67:{Zn(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 70:{c[h>>2]=0;break};case 62:{Un(c[q>>2]|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0);break};case 106:{_n(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 59:{Sn(J,c[q>>2]|0,97,(c[j>>2]|0)+4|0);Qn(c[q>>2]|0,J);break};case 87:{f=(c[j>>2]|0)+ -16+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break};case 90:{c[(c[q>>2]|0)+324>>2]=0;break};case 76:{c[h>>2]=7;break};case 75:{c[h>>2]=c[(c[j>>2]|0)+4>>2]<<8;c[h+4>>2]=65280;break};case 77:{c[h>>2]=8;break};case 78:{c[h>>2]=9;break};case 79:{c[h>>2]=6;break};case 80:{c[h>>2]=0;break};case 73:case 72:{c[h>>2]=0;c[h+4>>2]=0;break};case 74:{c[h>>2]=c[(c[j>>2]|0)+4>>2];c[h+4>>2]=255;break};case 19:{Kn(c[q>>2]|0);break};case 8:{Hn(c[q>>2]|0);break};case 58:{c[W>>2]=Rn(c[q>>2]|0,157,c[(c[j>>2]|0)+4>>2]|0,0,0)|0;c[W+4>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[W+8>>2]=c[(c[j>>2]|0)+12>>2];Qn(c[q>>2]|0,W);break};case 7:{Gn(c[q>>2]|0,2);break};case 13:{c[h>>2]=7;break};case 93:{Un(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,0);break};case 32:{Nn(c[q>>2]|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+ -16+4|0,a[(c[j>>2]|0)+4>>0]|0,0);break};case 110:{_n(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,1,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 111:{c[u+0>>2]=c[2508];c[u+4>>2]=c[2509];c[u+8>>2]=c[2510];c[u+12>>2]=c[2511];c[u+16>>2]=c[2512];ao(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,u)|0;tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 112:{c[v>>2]=c[(c[j>>2]|0)+4>>2];if(c[v>>2]|0){c[y>>2]=0;c[(c[v>>2]|0)+68>>2]=c[(c[j>>2]|0)+ -16+4>>2];if(c[(c[v>>2]|0)+52>>2]|0){c[A>>2]=0;c[z>>2]=c[v>>2];while(1){if(!(c[z>>2]|0))break;c[(c[z>>2]|0)+56>>2]=c[A>>2];f=(c[z>>2]|0)+6|0;b[f>>1]=e[f>>1]|64;c[A>>2]=c[z>>2];c[z>>2]=c[(c[z>>2]|0)+52>>2];c[y>>2]=(c[y>>2]|0)+1}c[x>>2]=c[(c[c[q>>2]>>2]|0)+104>>2];if((c[x>>2]|0)!=0?(c[y>>2]|0)>(c[x>>2]|0):0)Se(c[q>>2]|0,10056,r)}}else rn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);c[h>>2]=c[v>>2];break};case 116:{c[h>>2]=116;break};case 27:{a[(c[c[q>>2]>>2]|0)+250>>0]=0;f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break};case 103:case 100:case 98:case 82:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 86:{c[h+4>>2]=0;c[h>>2]=0;break};case 46:{c[h>>2]=c[(c[j>>2]|0)+ -48+4>>2];c[h+4>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+ -48+4>>2]|0);break};case 102:{a[h>>0]=c[(c[j>>2]|0)+4>>2];break};case 104:{c[h>>2]=4;break};case 105:{c[h>>2]=5;break};case 109:{$n(c[q>>2]|0,(c[j>>2]|0)+ -112+4|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0);break};case 24:{Ln(c[q>>2]|0,2,(c[j>>2]|0)+4|0);break};case 118:{c[h>>2]=co(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,c[(c[j>>2]|0)+ -80+4>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,b[(c[j>>2]|0)+ -112+4>>1]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0;break};case 120:{c[h>>2]=co(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,0,0,0,0,0,128,0,0)|0;break};case 133:{c[h>>2]=se(c[c[q>>2]>>2]|0,80,0)|0;break};case 134:{c[h>>2]=c[(c[j>>2]|0)+4>>2];io(c[h>>2]|0);break};case 135:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];if((c[h>>2]|0)!=0?(c[c[h>>2]>>2]|0)>0:0)a[(c[h>>2]|0)+8+(((c[c[h>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[j>>2]|0)+4>>2];break};case 121:{c[B>>2]=co(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,0,0,0,0,0,128,0,0)|0;if(c[B>>2]|0){a[(c[B>>2]|0)+4>>0]=116;c[(c[B>>2]|0)+52>>2]=c[(c[j>>2]|0)+ -64+4>>2];c[h>>2]=c[B>>2];break a}else{c[h>>2]=c[(c[j>>2]|0)+ -64+4>>2];break a}};case 63:{Vn(c[q>>2]|0,0,0,0,0,c[(c[j>>2]|0)+4>>2]|0,0,0,0,0)|0;break};case 39:{On(c[q>>2]|0,(c[j>>2]|0)+4|0);f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[(c[q>>2]|0)+324>>2]=0;break};case 71:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2]&~c[(c[j>>2]|0)+8>>2]|c[(c[j>>2]|0)+4>>2];break};case 92:case 54:{f=(c[q>>2]|0)+320|0;g=(c[j>>2]|0)+4|0;c[f+0>>2]=c[g+0>>2];c[f+4>>2]=c[g+4>>2];break};case 56:{Qn(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0);break};case 57:case 55:{Qn(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 38:{c[h>>2]=c[(c[j>>2]|0)+ -32+4>>2];c[h+4>>2]=(c[(c[q>>2]|0)+504>>2]|0)-(c[(c[j>>2]|0)+ -32+4>>2]|0)+(c[(c[q>>2]|0)+508>>2]|0);break};case 99:{c[h>>2]=10;break};case 101:{a[h>>0]=10;break};case 96:{Xn(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,(c[j>>2]|0)+ -48+4|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);Yn(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 44:{Pn(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 122:{b[h>>1]=1;break};case 124:case 123:{b[h>>1]=0;break};case 243:case 125:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];break};case 242:case 236:case 161:case 154:case 126:{c[h>>2]=0;break};case 64:{Wn(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 127:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;if((c[(c[j>>2]|0)+8>>2]|0)>>>0>0)fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+4|0,1);go(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -16+4|0);break};case 128:{c[C>>2]=ho(c[c[q>>2]>>2]|0,116,0)|0;c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[C>>2]|0)|0;break};case 132:{c[h+4>>2]=0;break};case 129:{c[E>>2]=Rn(c[q>>2]|0,116,0,0,(c[j>>2]|0)+4|0)|0;c[F>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+ -32+4|0)|0;c[D>>2]=Rn(c[q>>2]|0,122,c[F>>2]|0,c[E>>2]|0,0)|0;c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[D>>2]|0)|0;break};case 137:{c[h>>2]=bo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,(c[j>>2]|0)+ -80+4|0,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+ -48+4|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;jo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0);break};case 136:{c[h>>2]=0;break};case 138:{c[h>>2]=bo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,0,0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 139:{if((((c[(c[j>>2]|0)+ -96+4>>2]|0)==0?(c[(c[j>>2]|0)+ -32+8>>2]|0)==0:0)?(c[(c[j>>2]|0)+ -16+4>>2]|0)==0:0)?(c[(c[j>>2]|0)+4>>2]|0)==0:0){c[h>>2]=c[(c[j>>2]|0)+ -64+4>>2];break a}if((c[c[(c[j>>2]|0)+ -64+4>>2]>>2]|0)!=1){io(c[(c[j>>2]|0)+ -64+4>>2]|0);c[G>>2]=co(c[q>>2]|0,0,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0,0,0,512,0,0)|0;c[h>>2]=bo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,0,0,(c[j>>2]|0)+ -32+4|0,c[G>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break a}c[h>>2]=bo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,0,0,(c[j>>2]|0)+ -32+4|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;if(c[h>>2]|0){c[H>>2]=(c[h>>2]|0)+8+(((c[c[h>>2]>>2]|0)-1|0)*72|0);c[I>>2]=(c[(c[j>>2]|0)+ -64+4>>2]|0)+8;c[(c[H>>2]|0)+8>>2]=c[(c[I>>2]|0)+8>>2];c[(c[H>>2]|0)+4>>2]=c[(c[I>>2]|0)+4>>2];c[(c[H>>2]|0)+20>>2]=c[(c[I>>2]|0)+20>>2];c[(c[I>>2]|0)+4>>2]=0;c[(c[I>>2]|0)+8>>2]=0;c[(c[I>>2]|0)+20>>2]=0}vn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0);break};case 149:case 140:{c[h>>2]=0;c[h+4>>2]=0;break};case 144:{c[h>>2]=lo(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,0,0)|0;break};case 145:{c[h>>2]=lo(c[q>>2]|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+ -16+4|0,0)|0;break};case 146:{c[h>>2]=lo(c[q>>2]|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+ -16+4|0)|0;break};case 143:{c[h>>2]=1;break};case 142:{c[h>>2]=ko(c[c[q>>2]>>2]|0,0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0)|0;break};case 180:case 152:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];break};case 179:case 153:{c[h>>2]=0;break};case 235:case 162:case 155:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 156:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;if(c[h>>2]|0)a[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[j>>2]|0)+4>>2];break};case 233:case 231:case 171:case 164:case 147:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 234:case 232:case 170:case 163:case 148:{c[h>>2]=0;break};case 151:{c[h>>2]=0;c[h+4>>2]=1;break};case 160:case 158:{c[h>>2]=0;break};case 159:{c[h>>2]=1;break};case 165:{c[h>>2]=0;c[h+4>>2]=0;break};case 166:{c[h>>2]=c[(c[j>>2]|0)+4>>2];c[h+4>>2]=0;break};case 167:{c[h>>2]=c[(c[j>>2]|0)+ -32+4>>2];c[h+4>>2]=c[(c[j>>2]|0)+4>>2];break};case 157:{c[h>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+4>>2]|0)!=0:0)a[(c[(c[h>>2]|0)+4>>2]|0)+12>>0]=c[(c[j>>2]|0)+4>>2];break};case 181:{c[h>>2]=ro(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,(c[j>>2]|0)+4|0)|0;break};case 182:{c[h>>2]=ro(c[c[q>>2]>>2]|0,0,(c[j>>2]|0)+4|0)|0;break};case 183:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];break};case 168:{c[h+4>>2]=c[(c[j>>2]|0)+ -32+4>>2];c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 169:{mo(c[q>>2]|0,c[(c[j>>2]|0)+ -80+4>>2]|0,1);jo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,(c[j>>2]|0)+ -16+4|0);no(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 279:case 263:case 262:case 261:case 260:case 259:case 258:case 257:case 256:case 247:case 150:case 141:case 131:case 130:case 48:case 45:case 42:case 41:case 40:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break};case 119:case 113:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 114:{c[w>>2]=c[(c[j>>2]|0)+4>>2];if((c[w>>2]|0)!=0?(c[(c[w>>2]|0)+52>>2]|0)!=0:0){c[L+4>>2]=0;c[K>>2]=bo(c[q>>2]|0,0,0,0,L,c[w>>2]|0,0,0)|0;c[w>>2]=co(c[q>>2]|0,0,c[K>>2]|0,0,0,0,0,0,0,0)|0}if(c[w>>2]|0){a[(c[w>>2]|0)+4>>0]=c[(c[j>>2]|0)+ -16+4>>2];c[(c[w>>2]|0)+52>>2]=c[(c[j>>2]|0)+ -32+4>>2];if((c[(c[j>>2]|0)+ -16+4>>2]|0)!=116)a[(c[q>>2]|0)+22>>0]=1}else tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0);c[h>>2]=c[w>>2];break};case 47:{c[h>>2]=c[(c[j>>2]|0)+ -80+4>>2];c[h+4>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+ -80+4>>2]|0);break};case 22:{Ln(c[q>>2]|0,0,(c[j>>2]|0)+4|0);break};case 34:{a[h>>0]=0;break};case 5:{Gn(c[q>>2]|0,0);break};case 18:case 17:{Jn(c[q>>2]|0);break};case 35:{if((c[(c[j>>2]|0)+8>>2]|0)==5?(Lb(c[(c[j>>2]|0)+4>>2]|0,9992,5)|0)==0:0){a[h>>0]=32;break a}a[h>>0]=0;f=c[q>>2]|0;g=c[(c[j>>2]|0)+4>>2]|0;c[r>>2]=c[(c[j>>2]|0)+8>>2];c[r+4>>2]=g;Se(f,1e4,r);break};case 6:{Gn(c[q>>2]|0,1);break};case 172:{mo(c[q>>2]|0,c[(c[j>>2]|0)+ -112+4>>2]|0,1);jo(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,(c[j>>2]|0)+ -48+4|0);oo(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,10096);po(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,d[(c[j>>2]|0)+ -80+4>>0]|0);break};case 173:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0,1);break};case 174:{c[h>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0,1);break};case 175:{mo(c[q>>2]|0,c[(c[j>>2]|0)+ -80+4>>2]|0,1);qo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,d[(c[j>>2]|0)+ -64+4>>0]|0);break};case 176:{mo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,1);qo(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,0,c[(c[j>>2]|0)+ -32+4>>2]|0,d[(c[j>>2]|0)+ -80+4>>0]|0);break};case 177:{a[h>>0]=a[(c[j>>2]|0)+4>>0]|0;break};case 178:{a[h>>0]=5;break};case 184:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];so(h,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);break};case 191:case 190:case 185:{Sn(h,c[q>>2]|0,d[(c[j>>2]|0)+2>>0]|0,(c[j>>2]|0)+4|0);break};case 187:case 186:{Sn(h,c[q>>2]|0,27,(c[j>>2]|0)+4|0);break};case 188:{c[N>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+ -32+4|0)|0;c[M>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+4|0)|0;c[h>>2]=Rn(c[q>>2]|0,122,c[N>>2]|0,c[M>>2]|0,0)|0;so(h,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);break};case 189:{c[P>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+ -64+4|0)|0;c[R>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+ -32+4|0)|0;c[Q>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+4|0)|0;c[O>>2]=Rn(c[q>>2]|0,122,c[R>>2]|0,c[Q>>2]|0,0)|0;c[h>>2]=Rn(c[q>>2]|0,122,c[P>>2]|0,c[O>>2]|0,0)|0;so(h,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+4|0);break};case 192:{do if(((c[(c[j>>2]|0)+8>>2]|0)>>>0>=2?(a[c[(c[j>>2]|0)+4>>2]>>0]|0)==35:0)?(d[1224+(d[(c[(c[j>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){t=c[q>>2]|0;u=(c[j>>2]|0)+4|0;if(!(d[(c[q>>2]|0)+18>>0]|0)){c[r>>2]=u;Se(t,9968,r);c[h>>2]=0;break}c[h>>2]=Rn(t,159,0,0,u)|0;if(c[h>>2]|0)Ag((c[(c[j>>2]|0)+4>>2]|0)+1|0,(c[h>>2]|0)+28|0)|0}else s=170;while(0);if((s|0)==170){Sn(h,c[q>>2]|0,135,(c[j>>2]|0)+4|0);to(c[q>>2]|0,c[h>>2]|0)}so(h,(c[j>>2]|0)+4|0,(c[j>>2]|0)+4|0);break};case 193:{c[h>>2]=uo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,(c[j>>2]|0)+4|0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -32+8>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 194:{c[h>>2]=Rn(c[q>>2]|0,38,c[(c[j>>2]|0)+ -48+4>>2]|0,0,(c[j>>2]|0)+ -16+4|0)|0;so(h,(c[j>>2]|0)+ -80+4|0,(c[j>>2]|0)+4|0);break};case 195:{if((c[(c[j>>2]|0)+ -16+4>>2]|0)!=0?(c[c[(c[j>>2]|0)+ -16+4>>2]>>2]|0)>(c[(c[c[q>>2]>>2]|0)+112>>2]|0):0){f=c[q>>2]|0;c[r>>2]=(c[j>>2]|0)+ -64+4;Se(f,10112,r)}c[h>>2]=vo(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,(c[j>>2]|0)+ -64+4|0)|0;so(h,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+4|0);if((e[(c[j>>2]|0)+ -32+4>>1]|0)!=0?(c[h>>2]|0)!=0:0){f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|16}break};case 196:{c[h>>2]=vo(c[q>>2]|0,0,(c[j>>2]|0)+ -48+4|0)|0;so(h,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+4|0);break};case 197:{c[h>>2]=vo(c[q>>2]|0,0,(c[j>>2]|0)+4|0)|0;so(h,(c[j>>2]|0)+4|0,(c[j>>2]|0)+4|0);break};case 205:case 204:case 203:case 202:case 201:case 200:case 199:case 198:{wo(h,c[q>>2]|0,d[(c[j>>2]|0)+ -16+2>>0]|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);break};case 206:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=0;break};case 207:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=1;break};case 208:{c[S>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[S>>2]=eo(c[q>>2]|0,c[S>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[h>>2]=vo(c[q>>2]|0,c[S>>2]|0,(c[j>>2]|0)+ -16+4|0)|0;if(c[(c[j>>2]|0)+ -16+12>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -32+8>>2];c[h+8>>2]=c[(c[j>>2]|0)+12>>2];if(c[h>>2]|0){f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|128}break};case 209:{c[T>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[T>>2]=eo(c[q>>2]|0,c[T>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0)|0;c[T>>2]=eo(c[q>>2]|0,c[T>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[h>>2]=vo(c[q>>2]|0,c[T>>2]|0,(c[j>>2]|0)+ -48+4|0)|0;if(c[(c[j>>2]|0)+ -48+12>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -64+8>>2];c[h+8>>2]=c[(c[j>>2]|0)+12>>2];if(c[h>>2]|0){f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|128}break};case 223:{do if(c[(c[j>>2]|0)+ -16+4>>2]|0){if((c[c[(c[j>>2]|0)+ -16+4>>2]>>2]|0)==1){c[U>>2]=c[c[(c[(c[j>>2]|0)+ -16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[j>>2]|0)+ -16+4>>2]|0)+4>>2]>>2]=0;sn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);if(c[U>>2]|0){f=(c[U>>2]|0)+4|0;c[f>>2]=c[f>>2]&-257;f=(c[U>>2]|0)+4|0;c[f>>2]=c[f>>2]|512}c[h>>2]=Rn(c[q>>2]|0,(c[(c[j>>2]|0)+ -48+4>>2]|0)!=0?78:79,c[(c[j>>2]|0)+ -64+4>>2]|0,c[U>>2]|0,0)|0;break}c[h>>2]=Rn(c[q>>2]|0,75,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+20>>2]=c[(c[j>>2]|0)+ -16+4>>2];Ao(c[q>>2]|0,c[h>>2]|0)}else sn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);if(c[(c[j>>2]|0)+ -48+4>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0}else{c[h>>2]=Rn(c[q>>2]|0,132,0,0,10152+(c[(c[j>>2]|0)+ -48+4>>2]<<3)|0)|0;wn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0)}while(0);c[h+4>>2]=c[(c[j>>2]|0)+ -64+8>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 210:{xo(h,c[q>>2]|0,d[(c[j>>2]|0)+2>>0]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0);break};case 211:{xo(h,c[q>>2]|0,77,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);break};case 212:{wo(h,c[q>>2]|0,73,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);yo(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,76);break};case 213:{wo(h,c[q>>2]|0,148,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+4|0);yo(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,77);break};case 215:case 214:{zo(h,c[q>>2]|0,d[(c[j>>2]|0)+ -16+2>>0]|0,(c[j>>2]|0)+4|0,(c[j>>2]|0)+ -16+4|0);break};case 216:{zo(h,c[q>>2]|0,157,(c[j>>2]|0)+4|0,(c[j>>2]|0)+ -16+4|0);break};case 217:{zo(h,c[q>>2]|0,158,(c[j>>2]|0)+4|0,(c[j>>2]|0)+ -16+4|0);break};case 220:{c[V>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[V>>2]=eo(c[q>>2]|0,c[V>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[h>>2]=Rn(c[q>>2]|0,74,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0)|0;if(c[h>>2]|0)c[(c[h>>2]|0)+20>>2]=c[V>>2];else sn(c[c[q>>2]>>2]|0,c[V>>2]|0);if(c[(c[j>>2]|0)+ -48+4>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -64+8>>2];c[h+8>>2]=c[(c[j>>2]|0)+12>>2];break};case 224:{c[h>>2]=Rn(c[q>>2]|0,119,0,0,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+20>>2]=c[(c[j>>2]|0)+ -16+4>>2];f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|2048;Ao(c[q>>2]|0,c[h>>2]|0)}else tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);c[h+4>>2]=c[(c[j>>2]|0)+ -32+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 225:{c[h>>2]=Rn(c[q>>2]|0,75,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+20>>2]=c[(c[j>>2]|0)+ -16+4>>2];f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|2048;Ao(c[q>>2]|0,c[h>>2]|0)}else tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);if(c[(c[j>>2]|0)+ -48+4>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -64+8>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 226:{c[t>>2]=ko(c[c[q>>2]>>2]|0,0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0)|0;c[h>>2]=Rn(c[q>>2]|0,75,c[(c[j>>2]|0)+ -48+4>>2]|0,0,0)|0;r=c[q>>2]|0;if(c[h>>2]|0){f=co(r,0,c[t>>2]|0,0,0,0,0,0,0,0)|0;c[(c[h>>2]|0)+20>>2]=f;f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|2048;Ao(c[q>>2]|0,c[h>>2]|0)}else vn(c[r>>2]|0,c[t>>2]|0);if(c[(c[j>>2]|0)+ -32+4>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -48+8>>2];q=c[j>>2]|0;if(c[(c[j>>2]|0)+4>>2]|0)q=(c[(c[j>>2]|0)+4>>2]|0)+(c[q+8>>2]|0)|0;else q=(c[(c[j>>2]|0)+ -16+4>>2]|0)+(c[q+ -16+8>>2]|0)|0;c[h+8>>2]=q;break};case 227:{f=Rn(c[q>>2]|0,20,0,0,0)|0;c[h>>2]=f;c[X>>2]=f;if(c[X>>2]|0){c[(c[X>>2]|0)+20>>2]=c[(c[j>>2]|0)+ -16+4>>2];f=(c[X>>2]|0)+4|0;c[f>>2]=c[f>>2]|2048;Ao(c[q>>2]|0,c[X>>2]|0)}else tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);c[h+4>>2]=c[(c[j>>2]|0)+ -48+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 228:{c[h>>2]=Rn(c[q>>2]|0,136,c[(c[j>>2]|0)+ -48+4>>2]|0,0,0)|0;if(c[h>>2]|0){if(c[(c[j>>2]|0)+ -16+4>>2]|0)r=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;else r=c[(c[j>>2]|0)+ -32+4>>2]|0;c[(c[h>>2]|0)+20>>2]=r;Ao(c[q>>2]|0,c[h>>2]|0)}else{sn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0);wn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)}c[h+4>>2]=c[(c[j>>2]|0)+ -64+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 238:{c[h>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 229:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[h>>2]=eo(c[q>>2]|0,c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 230:{c[h>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[h>>2]=eo(c[q>>2]|0,c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 237:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 248:{Bo(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 250:case 249:{Co(c[q>>2]|0);break};case 251:{Do(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0,0,0);break};case 252:{Do(c[q>>2]|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0,0);break};case 291:case 240:{c[h>>2]=2;break};case 241:{c[h>>2]=0;break};case 239:{Vn(c[q>>2]|0,(c[j>>2]|0)+ -112+4|0,(c[j>>2]|0)+ -96+4|0,ko(c[c[q>>2]>>2]|0,0,(c[j>>2]|0)+ -64+4|0,0)|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -160+4>>2]|0,(c[j>>2]|0)+ -176+4|0,c[(c[j>>2]|0)+4>>2]|0,0,c[(c[j>>2]|0)+ -128+4>>2]|0)|0;break};case 244:{c[Y>>2]=uo(c[q>>2]|0,0,(c[j>>2]|0)+ -16+4|0)|0;c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[Y>>2]|0)|0;fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0,1);oo(c[q>>2]|0,c[h>>2]|0,10168);if(c[h>>2]|0)a[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[j>>2]|0)+4>>2];break};case 245:{c[Z>>2]=uo(c[q>>2]|0,0,(c[j>>2]|0)+ -16+4|0)|0;c[h>>2]=eo(c[q>>2]|0,0,c[Z>>2]|0)|0;fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0,1);oo(c[q>>2]|0,c[h>>2]|0,10168);if(c[h>>2]|0)a[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[j>>2]|0)+4>>2];break};case 246:{c[h>>2]=0;c[h+4>>2]=0;break};case 271:case 270:{c[h>>2]=d[(c[j>>2]|0)+2>>0];c[h+4>>2]=0;break};case 296:case 275:{c[h>>2]=0;break};case 272:{c[h>>2]=110;c[h+4>>2]=c[(c[j>>2]|0)+4>>2];break};case 297:case 276:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 253:{Do(c[q>>2]|0,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -16+4|0,0);break};case 254:{Do(c[q>>2]|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0,1);break};case 255:{Do(c[q>>2]|0,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -16+4|0,1);break};case 264:{c[_>>2]=c[(c[j>>2]|0)+ -48+4>>2];c[_+4>>2]=(c[(c[j>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+ -48+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);Eo(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,_);break};case 265:{Fo(c[q>>2]|0,(c[j>>2]|0)+ -112+4|0,(c[j>>2]|0)+ -96+4|0,c[(c[j>>2]|0)+ -80+4>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -64+8>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -160+4>>2]|0,c[(c[j>>2]|0)+ -128+4>>2]|0);q=c[j>>2]|0;if(!(c[(c[j>>2]|0)+ -96+8>>2]|0)){f=q+ -112+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break a}else{f=q+ -96+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break a}};case 269:case 266:{c[h>>2]=35;break};case 267:{c[h>>2]=31;break};case 268:{c[h>>2]=49;break};case 283:{Se(c[q>>2]|0,10360,r);break};case 284:{c[h>>2]=Go(c[c[q>>2]>>2]|0,(c[j>>2]|0)+ -64+4|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,a[(c[j>>2]|0)+ -80+4>>0]|0)|0;break};case 277:{c[(c[(c[(c[j>>2]|0)+ -32+4>>2]|0)+36>>2]|0)+32>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[(c[(c[j>>2]|0)+ -32+4>>2]|0)+36>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[h>>2]=c[(c[j>>2]|0)+ -32+4>>2];break};case 278:{c[(c[(c[j>>2]|0)+ -16+4>>2]|0)+36>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];break};case 282:{Se(c[q>>2]|0,10272,r);break};case 280:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];Se(c[q>>2]|0,10176,r);break};case 287:{c[h>>2]=Jo(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 288:{c[h>>2]=Rn(c[q>>2]|0,57,0,0,0)|0;if(c[h>>2]|0)a[(c[h>>2]|0)+1>>0]=4;c[h+4>>2]=c[(c[j>>2]|0)+ -48+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 285:{c[h>>2]=Ho(c[c[q>>2]>>2]|0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,a[(c[j>>2]|0)+ -64+4>>0]|0)|0;break};case 286:{c[h>>2]=Io(c[c[q>>2]>>2]|0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 293:{Ko(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 294:{Lo(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 295:{Mo(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 300:{No(c[q>>2]|0,0,0);break};case 289:{c[h>>2]=Rn(c[q>>2]|0,57,0,0,(c[j>>2]|0)+ -16+4|0)|0;if(c[h>>2]|0)a[(c[h>>2]|0)+1>>0]=c[(c[j>>2]|0)+ -48+4>>2];c[h+4>>2]=c[(c[j>>2]|0)+ -80+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 290:{c[h>>2]=1;break};case 292:{c[h>>2]=3;break};case 303:{Oo(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0);break};case 304:{Po(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,(c[j>>2]|0)+4|0);break};case 305:{Qo(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 306:{a[(c[c[q>>2]>>2]|0)+250>>0]=0;Ro(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 301:{No(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0);break};case 302:{Oo(c[q>>2]|0,0,0);break};case 310:{So(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 311:{To(c[q>>2]|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0);break};case 314:{Uo(c[q>>2]|0);break};case 318:case 317:case 316:{Vo(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 322:{c[h>>2]=0;break};case 309:{So(c[q>>2]|0,0);break};case 324:case 323:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 325:{c[h>>2]=Wo(c[q>>2]|0,0,(c[j>>2]|0)+ -80+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;break};case 326:{c[h>>2]=Wo(c[q>>2]|0,c[(c[j>>2]|0)+ -112+4>>2]|0,(c[j>>2]|0)+ -80+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;break};default:{}}while(0);c[m>>2]=d[10448+(c[o>>2]<<1)>>0];c[k>>2]=d[10449+(c[o>>2]<<1)>>0];f=c[p>>2]|0;c[f>>2]=(c[f>>2]|0)-(c[k>>2]|0);c[l>>2]=Xo(e[(c[j>>2]|0)+(0-(c[k>>2]|0)<<4)>>1]|0,c[m>>2]&255)|0;if((c[l>>2]|0)>=642){Yo(c[p>>2]|0);i=n;return}o=c[p>>2]|0;if(c[k>>2]|0){c[o>>2]=(c[o>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+(0-((c[k>>2]|0)-1)<<4);b[c[j>>2]>>1]=c[l>>2];a[(c[j>>2]|0)+2>>0]=c[m>>2];f=(c[j>>2]|0)+4|0;c[f+0>>2]=c[h+0>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];i=n;return}else{Dn(o,c[l>>2]|0,c[m>>2]|0,h);i=n;return}}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;c[h>>2]=d;Se(a,9968,h);c[(c[f>>2]|0)+8>>2]=c[g>>2];i=e;return}function Gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+450>>0]=c[g>>2];c[(c[f>>2]|0)+440>>2]=0;i=e;return}function Hn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;g=e+24|0;h=e+20|0;f=e+16|0;m=e+12|0;k=e+8|0;l=e+4|0;j=e;c[g>>2]=b;c[h>>2]=c[c[g>>2]>>2];if(a[(c[h>>2]|0)+64>>0]|0){i=e;return}if(a[(c[g>>2]|0)+18>>0]|0){i=e;return}if(c[(c[g>>2]|0)+64>>2]|0){i=e;return}c[f>>2]=dp(c[g>>2]|0)|0;do if(c[f>>2]|0){do{}while((As(c[f>>2]|0,61)|0)!=0);mp(c[f>>2]|0,24)|0;if(!(d[(c[h>>2]|0)+64>>0]|0)){if((c[(c[g>>2]|0)+332>>2]|0)==0?(c[(c[g>>2]|0)+316>>2]|0)==0:0)break;zp(c[f>>2]|0,0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;if(((c[(c[g>>2]|0)+332>>2]&1<>2]|0)!=0|0)!=0?(Ze(c[f>>2]|0,c[m>>2]|0),We(c[f>>2]|0,4,c[m>>2]|0,(c[(c[g>>2]|0)+328>>2]&1<>2]|0)!=0&1,c[(c[g>>2]|0)+336+(c[m>>2]<<2)>>2]|0,c[(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[h>>2]|0)+145>>0]|0)==0):0)Xe(c[f>>2]|0,1);c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+452>>2]|0))break;c[l>>2]=Rp(c[h>>2]|0,c[(c[(c[g>>2]|0)+520>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;hp(c[f>>2]|0,144,0,0,0,c[l>>2]|0,-10)|0;c[k>>2]=(c[k>>2]|0)+1}c[(c[g>>2]|0)+452>>2]=0;uy(c[g>>2]|0);vy(c[g>>2]|0);a:do if(c[(c[g>>2]|0)+316>>2]|0){c[j>>2]=c[(c[g>>2]|0)+316>>2];a[(c[g>>2]|0)+23>>0]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[j>>2]>>2]|0))break a;Os(c[g>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1}}while(0);fp(c[f>>2]|0,16,0,1)|0}}while(0);if(((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+64>>2]|0)==0:0)?(a[(c[h>>2]|0)+64>>0]|0)==0:0){if((c[(c[g>>2]|0)+404>>2]|0)!=0?(c[(c[g>>2]|0)+68>>2]|0)==0:0)c[(c[g>>2]|0)+68>>2]=1;df(c[f>>2]|0,c[g>>2]|0);c[(c[g>>2]|0)+12>>2]=101;a[(c[g>>2]|0)+16>>0]=0}else c[(c[g>>2]|0)+12>>2]=1;c[(c[g>>2]|0)+68>>2]=0;c[(c[g>>2]|0)+72>>2]=0;c[(c[g>>2]|0)+76>>2]=0;c[(c[g>>2]|0)+440>>2]=0;c[(c[g>>2]|0)+332>>2]=0;i=e;return}function In(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;j=d+16|0;h=d+12|0;f=d+8|0;g=d+4|0;e=d;c[j>>2]=a;c[h>>2]=b;c[f>>2]=c[c[j>>2]>>2];if(ap(c[j>>2]|0,22,27128,0,0)|0){i=d;return}c[g>>2]=dp(c[j>>2]|0)|0;if(!(c[g>>2]|0)){i=d;return}a:do if((c[h>>2]|0)!=7){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;fp(c[g>>2]|0,4,c[e>>2]|0,((c[h>>2]|0)==9&1)+1|0)|0;Ze(c[g>>2]|0,c[e>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);fp(c[g>>2]|0,3,0,0)|0;i=d;return}function Jn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;if(ap(c[e>>2]|0,22,27160,0,0)|0){i=b;return}c[d>>2]=dp(c[e>>2]|0)|0;if(!(c[d>>2]|0)){i=b;return}fp(c[d>>2]|0,3,1,0)|0;i=b;return}function Kn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;if(ap(c[e>>2]|0,22,27144,0,0)|0){i=b;return}c[d>>2]=dp(c[e>>2]|0)|0;if(!(c[d>>2]|0)){i=b;return}fp(c[d>>2]|0,3,1,1)|0;i=b;return}function Ln(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;e=i;i=i+32|0;j=e+16|0;g=e+12|0;k=e+8|0;h=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[k>>2]=d;c[h>>2]=Zo(c[c[j>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=e;return}c[f>>2]=dp(c[j>>2]|0)|0;if((c[f>>2]|0)!=0?(ap(c[j>>2]|0,32,c[27112+(c[g>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){hp(c[f>>2]|0,2,c[g>>2]|0,0,0,c[h>>2]|0,-1)|0;i=e;return}Xb(c[c[j>>2]>>2]|0,c[h>>2]|0);i=e;return}function Mn(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;m=i;i=i+96|0;t=m;w=m+84|0;I=m+80|0;H=m+76|0;G=m+72|0;z=m+68|0;y=m+64|0;v=m+60|0;D=m+56|0;q=m+52|0;p=m+48|0;o=m+44|0;n=m+40|0;u=m+36|0;B=m+32|0;A=m+28|0;C=m+24|0;E=m+20|0;F=m+16|0;x=m+12|0;s=m+8|0;r=m+4|0;c[w>>2]=e;c[I>>2]=f;c[H>>2]=g;c[G>>2]=h;c[z>>2]=j;c[y>>2]=k;c[v>>2]=l;c[q>>2]=0;c[p>>2]=c[c[w>>2]>>2];c[n>>2]=Er(c[w>>2]|0,c[I>>2]|0,c[H>>2]|0,u)|0;if((c[n>>2]|0)<0){i=m;return}if((c[G>>2]|0)!=0?(c[n>>2]|0)!=1?(c[(c[H>>2]|0)+4>>2]|0)>>>0>0:0:0){Se(c[w>>2]|0,27e3,t);i=m;return}if(c[G>>2]|0)c[n>>2]=1;I=(c[w>>2]|0)+496|0;e=c[u>>2]|0;c[I+0>>2]=c[e+0>>2];c[I+4>>2]=c[e+4>>2];c[q>>2]=Zo(c[p>>2]|0,c[u>>2]|0)|0;if(!(c[q>>2]|0)){i=m;return}a:do if(!(Pp(c[w>>2]|0,c[q>>2]|0)|0)){if((d[(c[p>>2]|0)+144>>0]|0)==1)c[G>>2]=1;c[A>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];if(!(ap(c[w>>2]|0,18,(c[G>>2]|0)==1?14904:14928,0,c[A>>2]|0)|0)){l=(c[G>>2]|0)!=0;do if(c[z>>2]|0)if(l){c[B>>2]=6;break}else{c[B>>2]=8;break}else if(l){c[B>>2]=4;break}else{c[B>>2]=2;break}while(0);if((c[y>>2]|0)==0?(ap(c[w>>2]|0,c[B>>2]|0,c[q>>2]|0,0,c[A>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+451>>0]|0)){c[C>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];if(Ar(c[w>>2]|0)|0)break a;c[D>>2]=sp(c[p>>2]|0,c[q>>2]|0,c[C>>2]|0)|0;if(!(c[D>>2]|0)){if(!(Op(c[p>>2]|0,c[q>>2]|0,c[C>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[q>>2];Se(I,27072,t);break a}o=c[w>>2]|0;if(c[v>>2]|0){qp(o,c[n>>2]|0);break a}else{c[t>>2]=c[u>>2];Se(o,27048,t);break a}}while(0);c[D>>2]=se(c[p>>2]|0,76,0)|0;if(!(c[D>>2]|0)){a[(c[p>>2]|0)+64>>0]=1;c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+64|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[D>>2]>>2]=c[q>>2];b[(c[D>>2]|0)+36>>1]=-1;c[(c[D>>2]|0)+68>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2];b[(c[D>>2]|0)+40>>1]=1;b[(c[D>>2]|0)+28>>1]=200;c[(c[w>>2]|0)+484>>2]=c[D>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(UE(c[q>>2]|0,16152)|0)==0:0)c[(c[(c[D>>2]|0)+68>>2]|0)+72>>2]=c[D>>2];if(a[(c[p>>2]|0)+145>>0]|0){i=m;return}I=dp(c[w>>2]|0)|0;c[o>>2]=I;if(!I){i=m;return}pp(c[w>>2]|0,0,c[n>>2]|0);if(c[y>>2]|0)mp(c[o>>2]|0,144)|0;e=(c[w>>2]|0)+72|0;I=(c[e>>2]|0)+1|0;c[e>>2]=I;c[(c[w>>2]|0)+384>>2]=I;c[x>>2]=I;I=(c[w>>2]|0)+72|0;e=(c[I>>2]|0)+1|0;c[I>>2]=e;c[(c[w>>2]|0)+388>>2]=e;c[s>>2]=e;e=(c[w>>2]|0)+72|0;I=(c[e>>2]|0)+1|0;c[e>>2]=I;c[r>>2]=I;ip(c[o>>2]|0,51,c[n>>2]|0,c[r>>2]|0,2)|0;Ze(c[o>>2]|0,c[n>>2]|0);c[E>>2]=Ir(c[o>>2]|0,45,c[r>>2]|0)|0;c[F>>2]=(c[(c[p>>2]|0)+24>>2]&32768|0)!=0?1:4;fp(c[o>>2]|0,25,c[F>>2]|0,c[r>>2]|0)|0;ip(c[o>>2]|0,52,c[n>>2]|0,2,c[r>>2]|0)|0;fp(c[o>>2]|0,25,d[(c[(c[(c[p>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[r>>2]|0)|0;ip(c[o>>2]|0,52,c[n>>2]|0,5,c[r>>2]|0)|0;zp(c[o>>2]|0,c[E>>2]|0);p=c[o>>2]|0;if((c[z>>2]|0)!=0|(c[y>>2]|0)!=0)fp(p,25,0,c[s>>2]|0)|0;else{I=fp(p,121,c[n>>2]|0,c[s>>2]|0)|0;c[(c[w>>2]|0)+416>>2]=I}Dt(c[w>>2]|0,c[n>>2]|0);fp(c[o>>2]|0,74,0,c[x>>2]|0)|0;fp(c[o>>2]|0,28,0,c[r>>2]|0)|0;ip(c[o>>2]|0,75,0,c[r>>2]|0,c[x>>2]|0)|0;Xe(c[o>>2]|0,8);mp(c[o>>2]|0,61)|0;i=m;return}}while(0);Xb(c[p>>2]|0,c[q>>2]|0);i=m;return}function Nn(e,f,g,h,j){e=e|0;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,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;y=i;i=i+144|0;m=y;u=y+128|0;C=y+124|0;x=y+120|0;D=y+132|0;H=y+116|0;q=y+112|0;n=y+108|0;p=y+104|0;G=y+100|0;k=y+96|0;o=y+92|0;s=y+88|0;v=y+84|0;t=y+80|0;E=y+60|0;F=y+56|0;w=y+52|0;r=y+48|0;A=y+44|0;z=y+40|0;B=y+36|0;l=y+32|0;c[u>>2]=e;c[C>>2]=f;c[x>>2]=g;a[D>>0]=h;c[H>>2]=j;c[n>>2]=c[c[u>>2]>>2];if((c[x>>2]|0)==0&(c[H>>2]|0)==0){i=y;return}if(d[(c[n>>2]|0)+64>>0]|0){i=y;return}c[q>>2]=c[(c[u>>2]|0)+484>>2];if(!(c[q>>2]|0)){i=y;return}if(a[(c[n>>2]|0)+145>>0]|0)c[(c[q>>2]|0)+32>>2]=c[(c[n>>2]|0)+140>>2];do if(d[D>>0]&32){if(d[(c[q>>2]|0)+44>>0]&8){Se(c[u>>2]|0,26608,m);i=y;return}if(!(d[(c[q>>2]|0)+44>>0]&4)){e=c[u>>2]|0;c[m>>2]=c[c[q>>2]>>2];Se(e,26664,m);break}else{e=(c[q>>2]|0)+44|0;a[e>>0]=d[e>>0]|32;oy(c[u>>2]|0,c[q>>2]|0);break}}while(0);c[p>>2]=Ve(c[n>>2]|0,c[(c[q>>2]|0)+68>>2]|0)|0;if(c[(c[q>>2]|0)+24>>2]|0)iy(c[u>>2]|0,c[q>>2]|0,4,0,c[(c[q>>2]|0)+24>>2]|0);py(c[q>>2]|0);c[G>>2]=c[(c[q>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break;ky(c[G>>2]|0);c[G>>2]=c[(c[G>>2]|0)+20>>2]}if(!(a[(c[n>>2]|0)+145>>0]|0)){c[o>>2]=dp(c[u>>2]|0)|0;if(!(c[o>>2]|0)){i=y;return}Ir(c[o>>2]|0,61,0)|0;if(!(c[(c[q>>2]|0)+12>>2]|0)){c[s>>2]=21400;c[v>>2]=26696}else{c[s>>2]=25504;c[v>>2]=26704}do if((c[H>>2]|0)!=0?(ip(c[o>>2]|0,55,1,c[(c[u>>2]|0)+388>>2]|0,c[p>>2]|0)|0,Xe(c[o>>2]|0,2),c[(c[u>>2]|0)+68>>2]=2,$s(E,14,1),ao(c[u>>2]|0,c[H>>2]|0,E)|0,Ir(c[o>>2]|0,61,1)|0,(c[(c[u>>2]|0)+64>>2]|0)==0):0){c[F>>2]=Yp(c[u>>2]|0,c[H>>2]|0)|0;if(!(c[F>>2]|0)){i=y;return}else{b[(c[q>>2]|0)+38>>1]=b[(c[F>>2]|0)+38>>1]|0;c[(c[q>>2]|0)+4>>2]=c[(c[F>>2]|0)+4>>2];b[(c[F>>2]|0)+38>>1]=0;c[(c[F>>2]|0)+4>>2]=0;Vb(c[n>>2]|0,c[F>>2]|0);break}}while(0);if(c[H>>2]|0)c[t>>2]=qy(c[n>>2]|0,c[q>>2]|0)|0;else{if(d[D>>0]|0)D=(c[u>>2]|0)+504|0;else D=c[x>>2]|0;c[w>>2]=D;c[k>>2]=(c[c[w>>2]>>2]|0)-(c[(c[u>>2]|0)+496>>2]|0);if((a[c[c[w>>2]>>2]>>0]|0)!=59)c[k>>2]=(c[k>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0);e=c[n>>2]|0;g=c[k>>2]|0;f=c[(c[u>>2]|0)+496>>2]|0;c[m>>2]=c[v>>2];c[m+4>>2]=g;c[m+8>>2]=f;c[t>>2]=Te(e,26712,m)|0}e=c[u>>2]|0;F=(c[p>>2]|0)==1?14904:14928;j=c[s>>2]|0;G=c[c[q>>2]>>2]|0;H=c[c[q>>2]>>2]|0;h=c[(c[u>>2]|0)+388>>2]|0;g=c[t>>2]|0;f=c[(c[u>>2]|0)+384>>2]|0;c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[m+4>>2]=F;c[m+8>>2]=j;c[m+12>>2]=G;c[m+16>>2]=H;c[m+20>>2]=h;c[m+24>>2]=g;c[m+28>>2]=f;cp(e,26728,m);Xb(c[n>>2]|0,c[t>>2]|0);ep(c[u>>2]|0,c[p>>2]|0);if((d[(c[q>>2]|0)+44>>0]&8|0)!=0?(c[r>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(c[p>>2]<<4),(c[(c[(c[r>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){e=c[u>>2]|0;c[m>>2]=c[c[r>>2]>>2];cp(e,26816,m)}g=c[o>>2]|0;f=c[p>>2]|0;e=c[n>>2]|0;c[m>>2]=c[c[q>>2]>>2];gp(g,f,Te(e,26864,m)|0)}if(!(a[(c[n>>2]|0)+145>>0]|0)){i=y;return}c[z>>2]=c[(c[q>>2]|0)+68>>2];c[A>>2]=gh((c[z>>2]|0)+8|0,c[c[q>>2]>>2]|0,c[q>>2]|0)|0;if(c[A>>2]|0){a[(c[n>>2]|0)+64>>0]=1;i=y;return}c[(c[u>>2]|0)+484>>2]=0;e=(c[n>>2]|0)+24|0;c[e>>2]=c[e>>2]|2;if(c[(c[q>>2]|0)+12>>2]|0){i=y;return}c[B>>2]=c[(c[u>>2]|0)+496>>2];if(!(c[c[C>>2]>>2]|0))c[C>>2]=c[x>>2];c[l>>2]=(c[c[C>>2]>>2]|0)-(c[B>>2]|0);e=13+(Tm(c[B>>2]|0,c[l>>2]|0)|0)|0;c[(c[q>>2]|0)+48>>2]=e;i=y;return}function On(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;n=i;i=i+48|0;l=n;j=n+32|0;r=n+28|0;k=n+24|0;q=n+20|0;p=n+16|0;o=n+12|0;m=n+8|0;g=n+4|0;c[j>>2]=e;c[r>>2]=f;c[m>>2]=c[c[j>>2]>>2];e=c[(c[j>>2]|0)+484>>2]|0;c[k>>2]=e;if(!e){i=n;return}if(((b[(c[k>>2]|0)+38>>1]|0)+1|0)>(c[(c[m>>2]|0)+96>>2]|0)){e=c[j>>2]|0;c[l>>2]=c[c[k>>2]>>2];Se(e,26552,l);i=n;return}c[p>>2]=Zo(c[m>>2]|0,c[r>>2]|0)|0;if(!(c[p>>2]|0)){i=n;return}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[k>>2]|0)+38>>1]|0))break;if((d[440+(d[c[p>>2]>>0]|0)>>0]|0)==(d[440+(d[c[(c[(c[k>>2]|0)+4>>2]|0)+((c[q>>2]|0)*24|0)>>2]>>0]|0)>>0]|0)?(xc((c[p>>2]|0)+1|0,(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[q>>2]|0)*24|0)>>2]|0)+1|0)|0)==0:0){h=9;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==9){e=c[j>>2]|0;c[l>>2]=c[p>>2];Se(e,26576,l);Xb(c[m>>2]|0,c[p>>2]|0);i=n;return}do if(!(b[(c[k>>2]|0)+38>>1]&7)){c[g>>2]=Fk(c[m>>2]|0,c[(c[k>>2]|0)+4>>2]|0,((b[(c[k>>2]|0)+38>>1]|0)+8|0)*24|0,0)|0;if(c[g>>2]|0){c[(c[k>>2]|0)+4>>2]=c[g>>2];break}Xb(c[m>>2]|0,c[p>>2]|0);i=n;return}while(0);c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((b[(c[k>>2]|0)+38>>1]|0)*24|0);e=c[o>>2]|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[c[o>>2]>>2]=c[p>>2];a[(c[o>>2]|0)+21>>0]=65;a[(c[o>>2]|0)+22>>0]=1;e=(c[k>>2]|0)+38|0;b[e>>1]=(b[e>>1]|0)+1<<16>>16;i=n;return}function Pn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;k=f+8|0;g=f+4|0;h=f;c[j>>2]=d;c[k>>2]=e;c[g>>2]=c[(c[j>>2]|0)+484>>2];if(!(c[g>>2]|0)){i=f;return}if((b[(c[g>>2]|0)+38>>1]|0)<1){i=f;return}c[h>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((b[(c[g>>2]|0)+38>>1]|0)-1|0)*24|0);d=Zo(c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=d;d=Bp(c[(c[h>>2]|0)+12>>2]|0,(c[h>>2]|0)+22|0)|0;a[(c[h>>2]|0)+21>>0]=d;i=f;return}function Qn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;l=f;k=f+20|0;g=f+16|0;m=f+12|0;j=f+8|0;h=f+4|0;c[k>>2]=d;c[g>>2]=e;c[h>>2]=c[c[k>>2]>>2];c[m>>2]=c[(c[k>>2]|0)+484>>2];if(!(c[m>>2]|0)){m=c[h>>2]|0;d=c[g>>2]|0;d=c[d>>2]|0;wn(m,d);i=f;return}c[j>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(((b[(c[m>>2]|0)+38>>1]|0)-1|0)*24|0);if(ny(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+145>>0]|0)|0){wn(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0);m=Bq(c[h>>2]|0,c[c[g>>2]>>2]|0,1)|0;c[(c[j>>2]|0)+4>>2]=m;Xb(c[h>>2]|0,c[(c[j>>2]|0)+8>>2]|0);m=(c[(c[g>>2]|0)+8>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0;m=rm(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,m,((m|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+8>>2]=m;m=c[h>>2]|0;d=c[g>>2]|0;d=c[d>>2]|0;wn(m,d);i=f;return}else{m=c[k>>2]|0;c[l>>2]=c[c[j>>2]>>2];Se(m,26504,l);m=c[h>>2]|0;d=c[g>>2]|0;d=c[d>>2]|0;wn(m,d);i=f;return}}function Rn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+20|0;n=h+16|0;l=h+12|0;k=h+8|0;g=h+4|0;m=h;c[j>>2]=a;c[n>>2]=b;c[l>>2]=d;c[k>>2]=e;c[g>>2]=f;f=c[c[j>>2]>>2]|0;if((c[n>>2]|0)==72&(c[l>>2]|0)!=0&(c[k>>2]|0)!=0)c[m>>2]=mr(f,c[l>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=or(f,c[n>>2]|0,c[g>>2]|0,1)|0;pr(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){a=c[m>>2]|0;i=h;return a|0}Qq(c[j>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;a=c[m>>2]|0;i=h;return a|0}function Sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;a=Rn(c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;c[c[g>>2]>>2]=a;c[(c[g>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function Tn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;g=f+4|0;h=f;c[j>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[j>>2]|0)+484>>2];if(!(c[h>>2]|0)){i=f;return}if((b[(c[h>>2]|0)+38>>1]|0)<1){i=f;return}a[(c[(c[h>>2]|0)+4>>2]|0)+(((b[(c[h>>2]|0)+38>>1]|0)-1|0)*24|0)+20>>0]=c[g>>2];i=f;return}function Un(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0;s=i;i=i+64|0;n=s;m=s+48|0;l=s+44|0;o=s+40|0;p=s+36|0;q=s+32|0;u=s+28|0;w=s+24|0;t=s+20|0;y=s+16|0;x=s+12|0;k=s+8|0;r=s+4|0;c[m>>2]=e;c[l>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[u>>2]=c[(c[m>>2]|0)+484>>2];c[w>>2]=0;c[t>>2]=-1;if(!(c[u>>2]|0)){f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}if(d[(c[m>>2]|0)+451>>0]|0){f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}if(d[(c[u>>2]|0)+44>>0]&4){f=c[m>>2]|0;c[n>>2]=c[c[u>>2]>>2];Se(f,26400,n);f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}e=(c[u>>2]|0)+44|0;a[e>>0]=d[e>>0]|4;a:do if(!(c[l>>2]|0)){c[t>>2]=(b[(c[u>>2]|0)+38>>1]|0)-1;e=(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+23|0;a[e>>0]=d[e>>0]|1;c[w>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+12>>2];c[x>>2]=1}else{c[x>>2]=c[c[l>>2]>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[x>>2]|0))break a;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[u>>2]|0)+38>>1]|0))break;e=(xc(c[(c[(c[l>>2]|0)+4>>2]|0)+((c[y>>2]|0)*20|0)+4>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)>>2]|0)|0)==0;j=c[t>>2]|0;if(e){v=12;break}c[t>>2]=j+1}if((v|0)==12){v=0;e=(c[(c[u>>2]|0)+4>>2]|0)+(j*24|0)+23|0;a[e>>0]=d[e>>0]|1;c[w>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+12>>2]}c[y>>2]=(c[y>>2]|0)+1}}while(0);if((c[x>>2]|0)==1&(c[w>>2]|0)!=0?(e=(xc(c[w>>2]|0,16416)|0)==0,e&(c[q>>2]|0)==0):0){b[(c[u>>2]|0)+36>>1]=c[t>>2];a[(c[u>>2]|0)+45>>0]=c[o>>2];e=(c[u>>2]|0)+44|0;a[e>>0]=d[e>>0]|c[p>>2]<<3;if(!(c[l>>2]|0)){f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}a[(c[m>>2]|0)+448>>0]=a[(c[(c[l>>2]|0)+4>>2]|0)+12>>0]|0;f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}t=c[m>>2]|0;if(c[p>>2]|0){Se(t,26448,n);f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}c[k>>2]=c[t+8>>2];if(c[k>>2]|0){e=mp(c[k>>2]|0,154)|0;c[(c[m>>2]|0)+420>>2]=e}c[r>>2]=Vn(c[m>>2]|0,0,0,0,c[l>>2]|0,c[o>>2]|0,0,0,c[q>>2]|0,0)|0;if((c[r>>2]|0)!=0?(e=(c[r>>2]|0)+55|0,a[e>>0]=a[e>>0]&-4|2,(c[k>>2]|0)!=0):0)zp(c[k>>2]|0,c[(c[m>>2]|0)+420>>2]|0);c[l>>2]=0;f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}function Vn(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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;s=i;i=i+240|0;D=s;Y=s+232|0;ka=s+228|0;ja=s+224|0;t=s+220|0;x=s+216|0;B=s+212|0;H=s+208|0;v=s+204|0;ma=s+200|0;_=s+196|0;q=s+192|0;A=s+188|0;w=s+184|0;r=s+180|0;$=s+176|0;J=s+172|0;L=s+168|0;ia=s+144|0;R=s+140|0;u=s+136|0;Z=s+132|0;C=s+128|0;M=s+124|0;Q=s+120|0;X=s+116|0;V=s+112|0;ba=s+108|0;U=s+104|0;K=s+100|0;ga=s+96|0;ha=s+92|0;fa=s+88|0;la=s+84|0;W=s+80|0;S=s+76|0;P=s+72|0;T=s+68|0;I=s+64|0;da=s+60|0;ea=s+56|0;F=s+52|0;G=s+48|0;E=s+44|0;ca=s+40|0;O=s+36|0;aa=s+32|0;N=s+28|0;z=s+24|0;c[Y>>2]=f;c[ka>>2]=g;c[ja>>2]=h;c[t>>2]=j;c[x>>2]=k;c[B>>2]=l;c[H>>2]=m;c[v>>2]=n;c[ma>>2]=o;c[_>>2]=p;c[q>>2]=0;c[A>>2]=0;c[w>>2]=0;c[r>>2]=0;c[u>>2]=c[c[Y>>2]>>2];c[M>>2]=0;c[V>>2]=0;c[U>>2]=0;c[K>>2]=0;a:do if(((d[(c[u>>2]|0)+64>>0]|0)==0?(d[(c[Y>>2]|0)+451>>0]|0)==0:0)?0==(Ar(c[Y>>2]|0)|0):0){p=c[Y>>2]|0;if(c[t>>2]|0){c[C>>2]=Er(p,c[ka>>2]|0,c[ja>>2]|0,M)|0;if((c[C>>2]|0)<0)break;if(((a[(c[u>>2]|0)+145>>0]|0)==0?(c[A>>2]=Ft(c[Y>>2]|0,c[t>>2]|0)|0,(c[A>>2]|0)!=0?(c[(c[ja>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[A>>2]|0)+68>>2]|0)==(c[(c[(c[u>>2]|0)+16>>2]|0)+28>>2]|0):0)c[C>>2]=1;Gt(ia,c[Y>>2]|0,c[C>>2]|0,10168,c[M>>2]|0);Ht(ia,c[t>>2]|0)|0;c[A>>2]=np(c[Y>>2]|0,0,(c[t>>2]|0)+8|0)|0;if(!(c[A>>2]|0))break;if((c[C>>2]|0)==1?(c[(c[(c[u>>2]|0)+16>>2]|0)+(c[C>>2]<<4)+12>>2]|0)!=(c[(c[A>>2]|0)+68>>2]|0):0){f=c[Y>>2]|0;c[D>>2]=c[c[A>>2]>>2];Se(f,25944,D);break}if(d[(c[A>>2]|0)+44>>0]&32)c[K>>2]=Zr(c[A>>2]|0)|0}else{c[A>>2]=c[p+484>>2];if(!(c[A>>2]|0))break;c[C>>2]=Ve(c[u>>2]|0,c[(c[A>>2]|0)+68>>2]|0)|0}c[Z>>2]=(c[(c[u>>2]|0)+16>>2]|0)+(c[C>>2]<<4);if(((Lb(c[c[A>>2]>>2]|0,15144,7)|0)==0?(d[(c[u>>2]|0)+145>>0]|0)==0:0)?(Lb((c[c[A>>2]>>2]|0)+7|0,26e3,9)|0)!=0:0){f=c[Y>>2]|0;c[D>>2]=c[c[A>>2]>>2];Se(f,26016,D);break}if(c[(c[A>>2]|0)+12>>2]|0){Se(c[Y>>2]|0,26048,D);break}if(d[(c[A>>2]|0)+44>>0]&16){Se(c[Y>>2]|0,26080,D);break}if(c[M>>2]|0){c[r>>2]=Zo(c[u>>2]|0,c[M>>2]|0)|0;if(!(c[r>>2]|0))break;if(Pp(c[Y>>2]|0,c[r>>2]|0)|0)break;if((a[(c[u>>2]|0)+145>>0]|0)==0?(sp(c[u>>2]|0,c[r>>2]|0,0)|0)!=0:0){f=c[Y>>2]|0;c[D>>2]=c[r>>2];Se(f,26120,D);break}if(Op(c[u>>2]|0,c[r>>2]|0,c[c[Z>>2]>>2]|0)|0){y=c[Y>>2]|0;if(c[_>>2]|0){qp(y,c[C>>2]|0);break}else{c[D>>2]=c[r>>2];Se(y,26160,D);break}}}else{c[ha>>2]=c[(c[A>>2]|0)+8>>2];c[ga>>2]=1;while(1){if(!(c[ha>>2]|0))break;c[ha>>2]=c[(c[ha>>2]|0)+20>>2];c[ga>>2]=(c[ga>>2]|0)+1}f=c[u>>2]|0;g=c[ga>>2]|0;c[D>>2]=c[c[A>>2]>>2];c[D+4>>2]=g;c[r>>2]=Te(f,26184,D)|0;if(!(c[r>>2]|0))break}c[fa>>2]=c[c[Z>>2]>>2];if((ap(c[Y>>2]|0,18,(c[C>>2]|0)==1?14904:14928,0,c[fa>>2]|0)|0)==0?(c[J>>2]=1,c[J>>2]=(c[C>>2]|0)==1?3:1,(ap(c[Y>>2]|0,c[J>>2]|0,c[r>>2]|0,c[c[A>>2]>>2]|0,c[fa>>2]|0)|0)==0):0){if(!(c[x>>2]|0)){c[x>>2]=eo(c[Y>>2]|0,0,0)|0;if(!(c[x>>2]|0))break;f=ne(c[c[Y>>2]>>2]|0,c[(c[(c[A>>2]|0)+4>>2]|0)+(((b[(c[A>>2]|0)+38>>1]|0)-1|0)*24|0)>>2]|0)|0;c[(c[(c[x>>2]|0)+4>>2]|0)+4>>2]=f;a[(c[(c[x>>2]|0)+4>>2]|0)+12>>0]=c[ma>>2]}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[x>>2]>>2]|0))break;c[la>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2];if(c[la>>2]|0){f=1+(Mb(c[(c[la>>2]|0)+8>>2]|0)|0)|0;c[V>>2]=(c[V>>2]|0)+f}c[J>>2]=(c[J>>2]|0)+1}c[$>>2]=Mb(c[r>>2]|0)|0;if(c[K>>2]|0)_=e[(c[K>>2]|0)+50>>1]|0;else _=1;c[ba>>2]=_;c[w>>2]=ov(c[u>>2]|0,(c[c[x>>2]>>2]|0)+(c[ba>>2]|0)&65535,(c[$>>2]|0)+(c[V>>2]|0)+1|0,U)|0;if(!(a[(c[u>>2]|0)+64>>0]|0)){c[c[w>>2]>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+((c[$>>2]|0)+1);dF(c[c[w>>2]>>2]|0,c[r>>2]|0,(c[$>>2]|0)+1|0)|0;c[(c[w>>2]|0)+12>>2]=c[A>>2];a[(c[w>>2]|0)+54>>0]=c[B>>2];f=(c[w>>2]|0)+55|0;a[f>>0]=a[f>>0]&-9|((c[B>>2]|0)!=0&1)<<3&255;f=(c[w>>2]|0)+55|0;a[f>>0]=a[f>>0]&-4|((c[M>>2]|0)!=0?0:1)&3;c[(c[w>>2]|0)+24>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[C>>2]<<4)+12>>2];b[(c[w>>2]|0)+50>>1]=c[c[x>>2]>>2];if(c[v>>2]|0){iy(c[Y>>2]|0,c[A>>2]|0,16,c[v>>2]|0,0);c[(c[w>>2]|0)+36>>2]=c[v>>2];c[v>>2]=0}if((d[(c[(c[Z>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[R>>2]=-1;else c[R>>2]=0;c[J>>2]=0;c[Q>>2]=c[(c[x>>2]|0)+4>>2];while(1){if((c[J>>2]|0)>=(c[c[x>>2]>>2]|0))break;c[W>>2]=c[(c[Q>>2]|0)+4>>2];c[L>>2]=0;c[X>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[L>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0))break;if(!(xc(c[W>>2]|0,c[c[X>>2]>>2]|0)|0))break;c[L>>2]=(c[L>>2]|0)+1;c[X>>2]=(c[X>>2]|0)+24}if((c[L>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0)){y=65;break}b[(c[(c[w>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1]=c[L>>2];if(c[c[Q>>2]>>2]|0){c[P>>2]=c[(c[c[Q>>2]>>2]|0)+8>>2];c[T>>2]=(Mb(c[P>>2]|0)|0)+1;dF(c[U>>2]|0,c[P>>2]|0,c[T>>2]|0)|0;c[P>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+(c[T>>2]|0);c[V>>2]=(c[V>>2]|0)-(c[T>>2]|0)}else{f=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[L>>2]|0)*24|0)+16>>2]|0;c[P>>2]=f;c[P>>2]=(c[P>>2]|0)!=0?f:3320}if((a[(c[u>>2]|0)+145>>0]|0)==0?(Or(c[Y>>2]|0,c[P>>2]|0)|0)==0:0)break a;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[J>>2]<<2)>>2]=c[P>>2];c[S>>2]=d[(c[Q>>2]|0)+12>>0]&c[R>>2];a[(c[(c[w>>2]|0)+28>>2]|0)+(c[J>>2]|0)>>0]=c[S>>2];if(!(d[(c[(c[A>>2]|0)+4>>2]|0)+((c[L>>2]|0)*24|0)+20>>0]|0)){f=(c[w>>2]|0)+55|0;a[f>>0]=a[f>>0]&-9}c[J>>2]=(c[J>>2]|0)+1;c[Q>>2]=(c[Q>>2]|0)+20}if((y|0)==65){f=c[Y>>2]|0;g=c[W>>2]|0;c[D>>2]=c[c[A>>2]>>2];c[D+4>>2]=g;Se(f,26208,D);a[(c[Y>>2]|0)+17>>0]=1;break}b:do if(c[K>>2]|0){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(e[(c[K>>2]|0)+50>>1]|0))break b;c[I>>2]=b[(c[(c[K>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1];if(jy(c[(c[w>>2]|0)+4>>2]|0,e[(c[w>>2]|0)+50>>1]|0,c[I>>2]|0)|0){f=(c[w>>2]|0)+52|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16}else{b[(c[(c[w>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1]=c[I>>2];c[(c[(c[w>>2]|0)+32>>2]|0)+(c[J>>2]<<2)>>2]=c[(c[(c[K>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];a[(c[(c[w>>2]|0)+28>>2]|0)+(c[J>>2]|0)>>0]=a[(c[(c[K>>2]|0)+28>>2]|0)+(c[L>>2]|0)>>0]|0;c[J>>2]=(c[J>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1}}else{b[(c[(c[w>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1]=-1;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[J>>2]<<2)>>2]=3320}while(0);hs(c[w>>2]|0);if(!(c[(c[Y>>2]|0)+484>>2]|0))ky(c[w>>2]|0);c:do if((c[A>>2]|0)==(c[(c[Y>>2]|0)+484>>2]|0)){c[da>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break c;if((e[(c[da>>2]|0)+50>>1]|0)==(e[(c[w>>2]|0)+50>>1]|0)){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break;if((b[(c[(c[da>>2]|0)+4>>2]|0)+(c[ea>>2]<<1)>>1]|0)!=(b[(c[(c[w>>2]|0)+4>>2]|0)+(c[ea>>2]<<1)>>1]|0))break;c[F>>2]=c[(c[(c[da>>2]|0)+32>>2]|0)+(c[ea>>2]<<2)>>2];c[G>>2]=c[(c[(c[w>>2]|0)+32>>2]|0)+(c[ea>>2]<<2)>>2];if((c[F>>2]|0)!=(c[G>>2]|0)?(xc(c[F>>2]|0,c[G>>2]|0)|0)!=0:0)break;c[ea>>2]=(c[ea>>2]|0)+1}if((c[ea>>2]|0)==(e[(c[da>>2]|0)+50>>1]|0))break}c[da>>2]=c[(c[da>>2]|0)+20>>2]}if((d[(c[da>>2]|0)+54>>0]|0)==(d[(c[w>>2]|0)+54>>0]|0))break a;do if((d[(c[da>>2]|0)+54>>0]|0)!=10){if((d[(c[w>>2]|0)+54>>0]|0)==10)break;f=c[Y>>2]|0;c[D>>2]=0;Se(f,26240,D)}while(0);if((d[(c[da>>2]|0)+54>>0]|0)!=10)break a;a[(c[da>>2]|0)+54>>0]=a[(c[w>>2]|0)+54>>0]|0;break a}while(0);do if(a[(c[u>>2]|0)+145>>0]|0){c[E>>2]=gh((c[(c[w>>2]|0)+24>>2]|0)+24|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;C=c[u>>2]|0;if(c[E>>2]|0){a[C+64>>0]=1;break a}f=C+24|0;c[f>>2]=c[f>>2]|2;if(!(c[t>>2]|0))break;c[(c[w>>2]|0)+44>>2]=c[(c[u>>2]|0)+140>>2]}else{if(c[(c[Y>>2]|0)+64>>2]|0)break;if(!((c[t>>2]|0)!=0?1:(d[(c[A>>2]|0)+44>>0]&32|0)==0))break;g=(c[Y>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[aa>>2]=f;c[ca>>2]=dp(c[Y>>2]|0)|0;if(!(c[ca>>2]|0))break a;pp(c[Y>>2]|0,1,c[C>>2]|0);fp(c[ca>>2]|0,120,c[C>>2]|0,c[aa>>2]|0)|0;if(c[H>>2]|0){c[N>>2]=(c[(c[Y>>2]|0)+504>>2]|0)-(c[c[M>>2]>>2]|0)+(c[(c[Y>>2]|0)+508>>2]|0);if((a[(c[c[M>>2]>>2]|0)+((c[N>>2]|0)-1)>>0]|0)==59)c[N>>2]=(c[N>>2]|0)+ -1;f=c[u>>2]|0;h=c[N>>2]|0;g=c[c[M>>2]>>2]|0;c[D>>2]=(c[B>>2]|0)==0?1216:26312;c[D+4>>2]=h;c[D+8>>2]=g;c[O>>2]=Te(f,26288,D)|0}else c[O>>2]=0;f=c[Y>>2]|0;l=(c[C>>2]|0)==1?14904:14928;k=c[c[w>>2]>>2]|0;j=c[c[A>>2]>>2]|0;h=c[aa>>2]|0;g=c[O>>2]|0;c[D>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];c[D+4>>2]=l;c[D+8>>2]=k;c[D+12>>2]=j;c[D+16>>2]=h;c[D+20>>2]=g;cp(f,26320,D);Xb(c[u>>2]|0,c[O>>2]|0);if(!(c[t>>2]|0))break;os(c[Y>>2]|0,c[w>>2]|0,c[aa>>2]|0);ep(c[Y>>2]|0,c[C>>2]|0);h=c[ca>>2]|0;g=c[C>>2]|0;f=c[u>>2]|0;c[D>>2]=c[c[w>>2]>>2];gp(h,g,Te(f,26368,D)|0);Ir(c[ca>>2]|0,142,0)|0}while(0);if(!((c[t>>2]|0)==0?1:(d[(c[u>>2]|0)+145>>0]|0)!=0))break;do if((c[B>>2]|0)!=5)y=121;else{if(!(c[(c[A>>2]|0)+8>>2]|0)){y=121;break}if((d[(c[(c[A>>2]|0)+8>>2]|0)+54>>0]|0)==5){y=121;break}c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(c[(c[z>>2]|0)+20>>2]|0)B=(d[(c[(c[z>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else B=0;A=c[(c[z>>2]|0)+20>>2]|0;if(!B)break;c[z>>2]=A}c[(c[w>>2]|0)+20>>2]=A;c[(c[z>>2]|0)+20>>2]=c[w>>2]}while(0);if((y|0)==121){c[(c[w>>2]|0)+20>>2]=c[(c[A>>2]|0)+8>>2];c[(c[A>>2]|0)+8>>2]=c[w>>2]}c[q>>2]=c[w>>2];c[w>>2]=0}}}while(0);if(!(c[w>>2]|0)){f=c[u>>2]|0;g=c[v>>2]|0;wn(f,g);g=c[u>>2]|0;f=c[x>>2]|0;sn(g,f);f=c[u>>2]|0;g=c[t>>2]|0;vn(f,g);g=c[u>>2]|0;f=c[r>>2]|0;Xb(g,f);f=c[q>>2]|0;i=s;return f|0}ly(c[u>>2]|0,c[w>>2]|0);f=c[u>>2]|0;g=c[v>>2]|0;wn(f,g);g=c[u>>2]|0;f=c[x>>2]|0;sn(g,f);f=c[u>>2]|0;g=c[t>>2]|0;vn(f,g);g=c[u>>2]|0;f=c[r>>2]|0;Xb(g,f);f=c[q>>2]|0;i=s;return f|0}function Wn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=b;c[h>>2]=e;c[g>>2]=c[(c[f>>2]|0)+484>>2];c[k>>2]=c[c[f>>2]>>2];if(((c[g>>2]|0)!=0?(a[(c[f>>2]|0)+451>>0]|0)==0:0)?(tg(c[(c[(c[k>>2]|0)+16>>2]|0)+(d[(c[k>>2]|0)+144>>0]<<4)+4>>2]|0)|0)==0:0){b=eo(c[f>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+324>>2]|0)){i=j;return}fo(c[f>>2]|0,c[(c[g>>2]|0)+24>>2]|0,(c[f>>2]|0)+320|0,1);i=j;return}wn(c[c[f>>2]>>2]|0,c[h>>2]|0);i=j;return}function Xn(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;p=i;i=i+80|0;u=p;q=p+68|0;n=p+64|0;C=p+60|0;o=p+56|0;k=p+52|0;w=p+48|0;m=p+44|0;x=p+40|0;s=p+36|0;B=p+32|0;v=p+28|0;z=p+24|0;t=p+20|0;A=p+16|0;y=p+12|0;r=p+8|0;c[q>>2]=e;c[n>>2]=f;c[C>>2]=g;c[o>>2]=h;c[k>>2]=j;c[w>>2]=c[c[q>>2]>>2];c[m>>2]=0;c[s>>2]=c[(c[q>>2]|0)+484>>2];a:do if((c[s>>2]|0)!=0?(d[(c[q>>2]|0)+451>>0]|0)==0:0){if(!(c[n>>2]|0)){c[A>>2]=(b[(c[s>>2]|0)+38>>1]|0)-1;if((c[A>>2]|0)<0)break;if((c[o>>2]|0)!=0?(c[c[o>>2]>>2]|0)!=1:0){e=c[q>>2]|0;f=c[C>>2]|0;c[u>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[A>>2]|0)*24|0)>>2];c[u+4>>2]=f;Se(e,25736,u);break}c[z>>2]=1}else{if((c[o>>2]|0)!=0?(c[c[o>>2]>>2]|0)!=(c[c[n>>2]>>2]|0):0){Se(c[q>>2]|0,25800,u);break}c[z>>2]=c[c[n>>2]>>2]}c[B>>2]=44+((c[z>>2]|0)-1<<3)+(c[(c[C>>2]|0)+4>>2]|0)+1;b:do if(c[o>>2]|0){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[o>>2]>>2]|0))break b;e=(Mb(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[B>>2]=(c[B>>2]|0)+e;c[v>>2]=(c[v>>2]|0)+1}}while(0);e=c[B>>2]|0;c[m>>2]=se(c[w>>2]|0,e,((e|0)<0)<<31>>31)|0;if(c[m>>2]|0){c[c[m>>2]>>2]=c[s>>2];c[(c[m>>2]|0)+4>>2]=c[(c[s>>2]|0)+16>>2];c[t>>2]=(c[m>>2]|0)+36+(c[z>>2]<<3);c[(c[m>>2]|0)+8>>2]=c[t>>2];dF(c[t>>2]|0,c[c[C>>2]>>2]|0,c[(c[C>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[C>>2]|0)+4>>2]|0)>>0]=0;sm(c[t>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)+1);c[(c[m>>2]|0)+20>>2]=c[z>>2];c:do if(!(c[n>>2]|0))c[(c[m>>2]|0)+36>>2]=(b[(c[s>>2]|0)+38>>1]|0)-1;else{c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break c;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(b[(c[s>>2]|0)+38>>1]|0))break;e=(xc(c[(c[(c[s>>2]|0)+4>>2]|0)+((c[y>>2]|0)*24|0)>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0)|0)==0;A=c[y>>2]|0;if(e){l=25;break}c[y>>2]=A+1}if((l|0)==25){l=0;c[(c[m>>2]|0)+36+(c[v>>2]<<3)>>2]=A}if((c[y>>2]|0)>=(b[(c[s>>2]|0)+38>>1]|0))break;c[v>>2]=(c[v>>2]|0)+1}e=c[q>>2]|0;c[u>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2];Se(e,25896,u);break a}while(0);d:do if(c[o>>2]|0){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break d;c[r>>2]=Mb(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0)|0;c[(c[m>>2]|0)+36+(c[v>>2]<<3)+4>>2]=c[t>>2];dF(c[t>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0,c[r>>2]|0)|0;a[(c[t>>2]|0)+(c[r>>2]|0)>>0]=0;c[t>>2]=(c[t>>2]|0)+((c[r>>2]|0)+1);c[v>>2]=(c[v>>2]|0)+1}}while(0);a[(c[m>>2]|0)+24>>0]=0;a[(c[m>>2]|0)+25>>0]=c[k>>2];a[(c[m>>2]|0)+26>>0]=c[k>>2]>>8;c[x>>2]=gh((c[(c[s>>2]|0)+68>>2]|0)+56|0,c[(c[m>>2]|0)+8>>2]|0,c[m>>2]|0)|0;if((c[x>>2]|0)==(c[m>>2]|0)){a[(c[w>>2]|0)+64>>0]=1;break}if(c[x>>2]|0){c[(c[m>>2]|0)+12>>2]=c[x>>2];c[(c[x>>2]|0)+16>>2]=c[m>>2]}c[(c[s>>2]|0)+16>>2]=c[m>>2];c[m>>2]=0}}while(0);Xb(c[w>>2]|0,c[m>>2]|0);sn(c[w>>2]|0,c[n>>2]|0);sn(c[w>>2]|0,c[o>>2]|0);i=p;return}function Yn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;f=e+8|0;h=e+4|0;g=e;c[j>>2]=b;c[f>>2]=d;b=c[(c[j>>2]|0)+484>>2]|0;c[h>>2]=b;if(!b){i=e;return}j=c[(c[h>>2]|0)+16>>2]|0;c[g>>2]=j;if(!j){i=e;return}a[(c[g>>2]|0)+24>>0]=c[f>>2];i=e;return}function Zn(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;k=j+24|0;m=j+20|0;g=j+16|0;h=j+12|0;f=j+8|0;l=j+4|0;e=j;c[k>>2]=a;c[m>>2]=d;a=c[(c[k>>2]|0)+484>>2]|0;c[g>>2]=a;if(!a){i=j;return}c[h>>2]=(b[(c[g>>2]|0)+38>>1]|0)-1;c[l>>2]=c[c[k>>2]>>2];c[f>>2]=Zo(c[l>>2]|0,c[m>>2]|0)|0;if(!(c[f>>2]|0)){i=j;return}a=(Or(c[k>>2]|0,c[f>>2]|0)|0)!=0;d=c[l>>2]|0;if(!a){Xb(d,c[f>>2]|0);i=j;return}Xb(d,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]=c[f>>2];c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;if((b[c[(c[e>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[e>>2]|0)+32>>2]>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2];c[e>>2]=c[(c[e>>2]|0)+20>>2]}i=j;return}function _n(b,e,f,g){b=b|0;e=e|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;k=i;i=i+64|0;o=k;l=k+48|0;j=k+44|0;p=k+40|0;m=k+36|0;n=k+32|0;u=k+28|0;q=k+24|0;t=k+20|0;r=k+16|0;v=k+12|0;h=k+8|0;s=k+4|0;c[l>>2]=b;c[j>>2]=e;c[p>>2]=f;c[m>>2]=g;c[q>>2]=c[c[l>>2]>>2];do if(!(a[(c[q>>2]|0)+64>>0]|0)){if(c[m>>2]|0){b=(c[q>>2]|0)+67|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[n>>2]=np(c[l>>2]|0,c[p>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[m>>2]|0){b=(c[q>>2]|0)+67|0;a[b>>0]=(a[b>>0]|0)+ -1<<24>>24}if(!(c[n>>2]|0)){if(!(c[m>>2]|0))break;At(c[l>>2]|0,c[(c[j>>2]|0)+12>>2]|0);break}c[t>>2]=Ve(c[q>>2]|0,c[(c[n>>2]|0)+68>>2]|0)|0;if((d[(c[n>>2]|0)+44>>0]&16|0)!=0?(Qp(c[l>>2]|0,c[n>>2]|0)|0)!=0:0)break;c[v>>2]=(c[t>>2]|0)==1?14904:14928;c[h>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[s>>2]=0;if(!(ap(c[l>>2]|0,9,c[v>>2]|0,0,c[h>>2]|0)|0)){do if(c[p>>2]|0)if((c[t>>2]|0)==1){c[r>>2]=15;break}else{c[r>>2]=17;break}else{if(d[(c[n>>2]|0)+44>>0]&16){c[r>>2]=30;c[s>>2]=c[(c[(Rp(c[q>>2]|0,c[n>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[t>>2]|0)==1){c[r>>2]=13;break}else{c[r>>2]=11;break}}while(0);if((ap(c[l>>2]|0,c[r>>2]|0,c[c[n>>2]>>2]|0,c[s>>2]|0,c[h>>2]|0)|0)==0?(ap(c[l>>2]|0,9,c[c[n>>2]>>2]|0,0,c[h>>2]|0)|0)==0:0){if((Lb(c[c[n>>2]>>2]|0,15144,7)|0)==0?(Lb(c[c[n>>2]>>2]|0,25512,11)|0)!=0:0){b=c[l>>2]|0;c[o>>2]=c[c[n>>2]>>2];Se(b,25528,o);break}if((c[p>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]|0)==0:0){b=c[l>>2]|0;c[o>>2]=c[c[n>>2]>>2];Se(b,25560,o);break}if((c[p>>2]|0)==0?(c[(c[n>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;c[o>>2]=c[c[n>>2]>>2];Se(b,25600,o);break}c[u>>2]=dp(c[l>>2]|0)|0;if(c[u>>2]|0){pp(c[l>>2]|0,1,c[t>>2]|0);iu(c[l>>2]|0,c[t>>2]|0,18168,c[c[n>>2]>>2]|0);dy(c[l>>2]|0,c[j>>2]|0,c[n>>2]|0);ey(c[l>>2]|0,c[n>>2]|0,c[t>>2]|0,c[p>>2]|0)}}}}while(0);vn(c[q>>2]|0,c[j>>2]|0);i=k;return}function $n(b,e,f,g,h,j,k){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;p=i;i=i+96|0;o=p+84|0;s=p+80|0;u=p+76|0;v=p+72|0;t=p+68|0;z=p+64|0;A=p+60|0;q=p+56|0;m=p+52|0;n=p+48|0;l=p+40|0;y=p+16|0;w=p+12|0;x=p+8|0;r=p+4|0;c[o>>2]=b;c[s>>2]=e;c[u>>2]=f;c[v>>2]=g;c[t>>2]=h;c[z>>2]=j;c[A>>2]=k;c[w>>2]=0;c[r>>2]=c[c[o>>2]>>2];k=c[o>>2]|0;if((c[(c[o>>2]|0)+440>>2]|0)>0){Se(k,25464,p);tn(c[r>>2]|0,c[t>>2]|0);i=p;return}Mn(k,c[u>>2]|0,c[v>>2]|0,c[z>>2]|0,1,0,c[A>>2]|0);c[q>>2]=c[(c[o>>2]|0)+484>>2];if((c[q>>2]|0)!=0?(c[(c[o>>2]|0)+64>>2]|0)==0:0){Er(c[o>>2]|0,c[u>>2]|0,c[v>>2]|0,w)|0;c[x>>2]=Ve(c[r>>2]|0,c[(c[q>>2]|0)+68>>2]|0)|0;Gt(y,c[o>>2]|0,c[x>>2]|0,25504,c[w>>2]|0);b=(It(y,c[t>>2]|0)|0)!=0;v=c[r>>2]|0;u=c[t>>2]|0;if(b){tn(v,u);i=p;return}b=Wp(v,u,1)|0;c[(c[q>>2]|0)+12>>2]=b;tn(c[r>>2]|0,c[t>>2]|0);if(a[(c[r>>2]|0)+64>>0]|0){i=p;return}if(!(a[(c[r>>2]|0)+145>>0]|0))Qp(c[o>>2]|0,c[q>>2]|0)|0;b=(c[o>>2]|0)+504|0;c[l+0>>2]=c[b+0>>2];c[l+4>>2]=c[b+4>>2];if((a[c[l>>2]>>0]|0)!=0?(a[c[l>>2]>>0]|0)!=59:0)c[l>>2]=(c[l>>2]|0)+(c[l+4>>2]|0);c[l+4>>2]=0;c[m>>2]=(c[l>>2]|0)-(c[c[s>>2]>>2]|0);c[n>>2]=c[c[s>>2]>>2];while(1){if((c[m>>2]|0)>0)r=(d[1224+(d[(c[n>>2]|0)+((c[m>>2]|0)-1)>>0]|0)>>0]&1|0)!=0;else r=0;q=c[m>>2]|0;if(!r)break;c[m>>2]=q+ -1}c[l>>2]=(c[n>>2]|0)+(q-1);c[l+4>>2]=1;Nn(c[o>>2]|0,0,l,0,0);i=p;return}tn(c[r>>2]|0,c[t>>2]|0);i=p;return}function ao(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,A=0,B=0,C=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,ya=0,za=0;W=i;i=i+400|0;T=W+384|0;o=W+380|0;n=W+376|0;l=W+372|0;u=W+368|0;I=W+364|0;N=W+360|0;t=W+356|0;ra=W+352|0;r=W+348|0;q=W+344|0;ma=W+340|0;y=W+336|0;z=W+332|0;w=W+328|0;A=W+316|0;p=W+288|0;V=W+240|0;L=W+236|0;m=W+232|0;v=W+228|0;pa=W+224|0;ua=W+204|0;ta=W+200|0;ya=W+196|0;za=W+192|0;sa=W+188|0;qa=W+184|0;va=W+180|0;wa=W+176|0;xa=W+388|0;ba=W+144|0;S=W+140|0;R=W+136|0;Y=W+132|0;Z=W+128|0;M=W+124|0;j=W+120|0;O=W+116|0;P=W+112|0;Q=W+108|0;oa=W+104|0;na=W+100|0;k=W+96|0;x=W+92|0;$=W+88|0;_=W+84|0;s=W+80|0;B=W+76|0;X=W+72|0;U=W+68|0;aa=W+64|0;H=W+60|0;G=W+56|0;J=W+52|0;K=W+48|0;F=W+44|0;E=W+40|0;C=W+36|0;ea=W+32|0;fa=W+28|0;la=W+24|0;ka=W+20|0;ca=W+16|0;ja=W+12|0;ia=W+8|0;ha=W+4|0;ga=W;da=W+390|0;c[o>>2]=f;c[n>>2]=g;c[l>>2]=h;c[w>>2]=1;c[v>>2]=c[(c[o>>2]|0)+464>>2];g=(c[o>>2]|0)+468|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[o>>2]|0)+464>>2]=f;c[m>>2]=c[c[o>>2]>>2];if(((c[n>>2]|0)!=0?(d[(c[m>>2]|0)+64>>0]|0)==0:0)?(c[(c[o>>2]|0)+64>>2]|0)==0:0){if(ap(c[o>>2]|0,21,0,0,0)|0){c[T>>2]=1;f=c[T>>2]|0;i=W;return f|0}g=V+0|0;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[l>>2]>>0]|0)<=8){sn(c[m>>2]|0,c[(c[n>>2]|0)+48>>2]|0);c[(c[n>>2]|0)+48>>2]=0;f=(c[n>>2]|0)+6|0;b[f>>1]=e[f>>1]&-2}Zp(c[o>>2]|0,c[n>>2]|0,0);c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p>>2]=c[(c[n>>2]|0)+48>>2];c[q>>2]=c[(c[n>>2]|0)+32>>2];c[r>>2]=c[c[n>>2]>>2];a:do if((((c[(c[o>>2]|0)+64>>2]|0)==0?(d[(c[m>>2]|0)+64>>0]|0)==0:0)?(c[ra>>2]=(e[(c[n>>2]|0)+6>>1]&4|0)!=0&1,c[t>>2]=dp(c[o>>2]|0)|0,(c[t>>2]|0)!=0):0)?(nx(c[o>>2]|0,c[l>>2]|0,c[c[r>>2]>>2]|0)|0)==0:0){c[u>>2]=0;while(1){if(c[(c[n>>2]|0)+52>>2]|0)break;if((c[u>>2]|0)>=(c[c[q>>2]>>2]|0))break;c[pa>>2]=(c[q>>2]|0)+8+((c[u>>2]|0)*72|0);c[ta>>2]=c[(c[pa>>2]|0)+20>>2];do if(c[ta>>2]|0){if(c[(c[pa>>2]|0)+24>>2]|0){if((d[(c[pa>>2]|0)+37>>0]|0)>>>2&1)break;fp(c[t>>2]|0,17,c[(c[pa>>2]|0)+28>>2]|0,c[(c[pa>>2]|0)+24>>2]|0)|0;break}g=ox(c[n>>2]|0)|0;f=(c[o>>2]|0)+460|0;c[f>>2]=(c[f>>2]|0)+g;c[ya>>2]=(e[(c[ta>>2]|0)+6>>1]&4|0)!=0&1;b:do if(px(c[o>>2]|0,c[n>>2]|0,c[u>>2]|0,c[ra>>2]|0,c[ya>>2]|0)|0){if(c[ya>>2]|0){c[ra>>2]=1;f=(c[n>>2]|0)+6|0;b[f>>1]=e[f>>1]|4}c[u>>2]=-1}else{do if((c[c[q>>2]>>2]|0)==1){if(e[(c[m>>2]|0)+60>>1]&256)break;c[za>>2]=(Mr(c[t>>2]|0)|0)+1;g=(c[o>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[pa>>2]|0)+28>>2]=f;ip(c[t>>2]|0,20,c[(c[pa>>2]|0)+28>>2]|0,0,c[za>>2]|0)|0;c[(c[pa>>2]|0)+24>>2]=c[za>>2];$s(ua,13,c[(c[pa>>2]|0)+28>>2]|0);a[(c[pa>>2]|0)+38>>0]=c[(c[o>>2]|0)+468>>2];ao(c[o>>2]|0,c[ta>>2]|0,ua)|0;f=(c[ta>>2]|0)+24|0;f=dq(c[f>>2]|0,c[f+4>>2]|0)|0;b[(c[(c[pa>>2]|0)+16>>2]|0)+28>>1]=f;f=(c[pa>>2]|0)+37|0;a[f>>0]=a[f>>0]&-5|4;c[(c[pa>>2]|0)+32>>2]=c[ua+8>>2];Ir(c[t>>2]|0,21,c[(c[pa>>2]|0)+28>>2]|0)|0;zp(c[t>>2]|0,(c[za>>2]|0)-1|0);qx(c[o>>2]|0);break b}while(0);c[qa>>2]=0;g=(c[o>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[pa>>2]|0)+28>>2]=f;c[sa>>2]=fp(c[t>>2]|0,25,0,c[(c[pa>>2]|0)+28>>2]|0)|0;c[(c[pa>>2]|0)+24>>2]=(c[sa>>2]|0)+1;if(!((d[(c[pa>>2]|0)+37>>0]|0)>>>1&1))c[qa>>2]=_s(c[o>>2]|0)|0;$s(ua,12,c[(c[pa>>2]|0)+40>>2]|0);a[(c[pa>>2]|0)+38>>0]=c[(c[o>>2]|0)+468>>2];ao(c[o>>2]|0,c[ta>>2]|0,ua)|0;f=(c[ta>>2]|0)+24|0;f=dq(c[f>>2]|0,c[f+4>>2]|0)|0;b[(c[(c[pa>>2]|0)+16>>2]|0)+28>>1]=f;if(c[qa>>2]|0)zp(c[t>>2]|0,c[qa>>2]|0);c[va>>2]=Ir(c[t>>2]|0,18,c[(c[pa>>2]|0)+28>>2]|0)|0;_e(c[t>>2]|0,c[sa>>2]|0,c[va>>2]|0);qx(c[o>>2]|0)}while(0);if(a[(c[m>>2]|0)+64>>0]|0)break a;g=ox(c[n>>2]|0)|0;f=(c[o>>2]|0)+460|0;c[f>>2]=(c[f>>2]|0)-g;c[q>>2]=c[(c[n>>2]|0)+32>>2];if((d[c[l>>2]>>0]|0)>8)c[p>>2]=c[(c[n>>2]|0)+48>>2]}while(0);c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=c[c[n>>2]>>2];c[ma>>2]=c[(c[n>>2]|0)+36>>2];c[y>>2]=c[(c[n>>2]|0)+40>>2];c[z>>2]=c[(c[n>>2]|0)+44>>2];a[A>>0]=(e[(c[n>>2]|0)+6>>1]&1|0)!=0;if(c[(c[n>>2]|0)+52>>2]|0){c[w>>2]=rx(c[o>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;c[(c[o>>2]|0)+464>>2]=c[v>>2];c[T>>2]=c[w>>2];f=c[T>>2]|0;i=W;return f|0}if((e[(c[n>>2]|0)+6>>1]&5|0)==1?(Eq(c[p>>2]|0,c[c[n>>2]>>2]|0,-1)|0)==0:0){f=(c[n>>2]|0)+6|0;b[f>>1]=e[f>>1]&-2;f=Jq(c[m>>2]|0,c[c[n>>2]>>2]|0,0)|0;c[(c[n>>2]|0)+40>>2]=f;c[y>>2]=c[(c[n>>2]|0)+40>>2];c[p>>2]=0}if(c[p>>2]|0){c[wa>>2]=sx(c[o>>2]|0,c[p>>2]|0,0,0)|0;g=(c[o>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[p+8>>2]=f;c[p+20>>2]=hp(c[t>>2]|0,57,c[p+8>>2]|0,(c[c[p>>2]>>2]|0)+1+(c[c[r>>2]>>2]|0)|0,0,c[wa>>2]|0,-6)|0}else c[p+20>>2]=-1;if((d[c[l>>2]>>0]|0)==12)fp(c[t>>2]|0,57,c[(c[l>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0)|0;c[L>>2]=Nr(c[t>>2]|0)|0;f=(c[n>>2]|0)+24|0;c[f>>2]=-1;c[f+4>>2]=2147483647;tx(c[o>>2]|0,c[n>>2]|0,c[L>>2]|0);if((c[(c[n>>2]|0)+8>>2]|0)==0?(c[p+20>>2]|0)>=0:0){a[(dt(c[t>>2]|0,c[p+20>>2]|0)|0)>>0]=58;f=p+24|0;a[f>>0]=d[f>>0]|1}if(e[(c[n>>2]|0)+6>>1]&1){f=(c[o>>2]|0)+68|0;g=c[f>>2]|0;c[f>>2]=g+1;c[A+4>>2]=g;g=c[t>>2]|0;f=c[A+4>>2]|0;c[A+8>>2]=hp(g,57,f,0,0,sx(c[o>>2]|0,c[c[n>>2]>>2]|0,0,0)|0,-6)|0;Xe(c[t>>2]|0,8);a[A+1>>0]=3}else a[A+1>>0]=0;if((c[ra>>2]|0)==0&(c[y>>2]|0)==0){b[xa>>1]=(d[A>>0]|0)!=0?1024:0;c[N>>2]=Hu(c[o>>2]|0,c[q>>2]|0,c[ma>>2]|0,c[p>>2]|0,c[c[n>>2]>>2]|0,b[xa>>1]|0,0)|0;if(!(c[N>>2]|0))break;g=ux(c[N>>2]|0)|0;za=D;f=(c[n>>2]|0)+24|0;h=c[f+4>>2]|0;if(za>>>0>>0|((za|0)==(h|0)?g>>>0<(c[f>>2]|0)>>>0:0)){g=ux(c[N>>2]|0)|0;f=(c[n>>2]|0)+24|0;c[f>>2]=g;c[f+4>>2]=D}do if(d[A>>0]|0){if(!(vx(c[N>>2]|0)|0))break;a[A+1>>0]=vx(c[N>>2]|0)|0}while(0);do if(c[p>>2]|0){c[p+4>>2]=wx(c[N>>2]|0)|0;if((c[p+4>>2]|0)!=(c[c[p>>2]>>2]|0))break;c[p>>2]=0}while(0);do if((c[p+20>>2]|0)>=0){if(c[p>>2]|0)break;cf(c[t>>2]|0,c[p+20>>2]|0)}while(0);ya=c[o>>2]|0;za=c[n>>2]|0;h=c[r>>2]|0;g=c[l>>2]|0;f=yx(c[N>>2]|0)|0;xx(ya,za,h,-1,p,A,g,f,zx(c[N>>2]|0)|0);Iu(c[N>>2]|0)}else{c[O>>2]=0;c[P>>2]=0;c[Q>>2]=0;pa=c[n>>2]|0;do if(c[y>>2]|0){c[oa>>2]=c[c[pa>>2]>>2];c[na>>2]=c[(c[c[n>>2]>>2]|0)+4>>2];while(1){if((c[oa>>2]|0)<=0)break;b[(c[na>>2]|0)+18>>1]=0;c[oa>>2]=(c[oa>>2]|0)+ -1;c[na>>2]=(c[na>>2]|0)+20}c[oa>>2]=c[c[y>>2]>>2];c[na>>2]=c[(c[y>>2]|0)+4>>2];while(1){if((c[oa>>2]|0)<=0)break;b[(c[na>>2]|0)+18>>1]=0;c[oa>>2]=(c[oa>>2]|0)+ -1;c[na>>2]=(c[na>>2]|0)+20}f=(c[n>>2]|0)+24|0;g=c[f+4>>2]|0;if(!(g>>>0>0|(g|0)==0&(c[f>>2]|0)>>>0>100))break;f=(c[n>>2]|0)+24|0;c[f>>2]=100;c[f+4>>2]=0}else{f=pa+24|0;c[f>>2]=1;c[f+4>>2]=0}while(0);if(!(Eq(c[y>>2]|0,c[p>>2]|0,-1)|0))c[Q>>2]=1;c[j>>2]=Nr(c[t>>2]|0)|0;c[ba+0>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;c[ba>>2]=c[o>>2];c[ba+4>>2]=c[q>>2];c[ba+12>>2]=V;c[V+16>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;if(c[y>>2]|0)na=c[c[y>>2]>>2]|0;else na=0;c[V+12>>2]=na;c[V+24>>2]=c[y>>2];Ax(ba,c[r>>2]|0);Ax(ba,c[p>>2]|0);if(c[z>>2]|0)Bx(ba,c[z>>2]|0);c[V+36>>2]=c[V+32>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[V+44>>2]|0))break;f=ba+28|0;b[f>>1]=e[f>>1]|8;Ax(ba,c[(c[(c[V+40>>2]|0)+(c[u>>2]<<4)>>2]|0)+20>>2]|0);f=ba+28|0;b[f>>1]=e[f>>1]&-9;c[u>>2]=(c[u>>2]|0)+1}c[V+20>>2]=c[(c[o>>2]|0)+72>>2];if(a[(c[m>>2]|0)+64>>0]|0)break;if(c[y>>2]|0){g=(c[o>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[V+4>>2]=f;c[k>>2]=sx(c[o>>2]|0,c[y>>2]|0,0,0)|0;c[X>>2]=hp(c[t>>2]|0,58,c[V+4>>2]|0,c[V+12>>2]|0,0,c[k>>2]|0,-6)|0;f=(c[o>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[Y>>2]=g;g=(c[o>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[Z>>2]=f;f=(c[o>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[_>>2]=g;c[$>>2]=Nr(c[t>>2]|0)|0;g=(c[o>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[aa>>2]=f;c[U>>2]=Nr(c[t>>2]|0)|0;c[S>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;f=(c[o>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(c[c[y>>2]>>2]|0);c[R>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;f=(c[o>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(c[c[y>>2]>>2]|0);fp(c[t>>2]|0,25,0,c[Z>>2]|0)|0;fp(c[t>>2]|0,25,0,c[Y>>2]|0)|0;ip(c[t>>2]|0,28,0,c[S>>2]|0,(c[S>>2]|0)+(c[c[y>>2]>>2]|0)-1|0)|0;fp(c[t>>2]|0,17,c[aa>>2]|0,c[U>>2]|0)|0;c[N>>2]=Hu(c[o>>2]|0,c[q>>2]|0,c[ma>>2]|0,c[y>>2]|0,0,(256|((c[Q>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[N>>2]|0))break;f=wx(c[N>>2]|0)|0;if((f|0)==(c[c[y>>2]>>2]|0))c[M>>2]=0;else{if(d[A>>0]|0)ba=(e[(c[n>>2]|0)+6>>1]&1|0)==0;else ba=0;Cx(c[o>>2]|0,ba?24832:24848);c[M>>2]=1;c[K>>2]=c[c[y>>2]>>2];c[J>>2]=c[K>>2];c[I>>2]=c[K>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[V+32>>2]|0))break;if((c[(c[V+28>>2]|0)+((c[u>>2]|0)*24|0)+12>>2]|0)>=(c[I>>2]|0)){c[J>>2]=(c[J>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[H>>2]=ys(c[o>>2]|0,c[J>>2]|0)|0;cu(c[o>>2]|0);Ws(c[o>>2]|0,c[y>>2]|0,c[H>>2]|0,0)|0;c[I>>2]=c[K>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[V+32>>2]|0))break;c[F>>2]=(c[V+28>>2]|0)+((c[u>>2]|0)*24|0);if((c[(c[F>>2]|0)+12>>2]|0)>=(c[I>>2]|0)){c[E>>2]=(c[I>>2]|0)+(c[H>>2]|0);c[C>>2]=Rs(c[o>>2]|0,c[c[F>>2]>>2]|0,c[(c[F>>2]|0)+8>>2]|0,c[(c[F>>2]|0)+4>>2]|0,c[E>>2]|0,0)|0;if((c[E>>2]|0)!=(c[C>>2]|0))fp(c[t>>2]|0,34,c[C>>2]|0,c[E>>2]|0)|0;c[I>>2]=(c[I>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[G>>2]=kp(c[o>>2]|0)|0;ip(c[t>>2]|0,49,c[H>>2]|0,c[J>>2]|0,c[G>>2]|0)|0;fp(c[t>>2]|0,109,c[V+4>>2]|0,c[G>>2]|0)|0;lp(c[o>>2]|0,c[G>>2]|0);Bs(c[o>>2]|0,c[H>>2]|0,c[J>>2]|0);Iu(c[N>>2]|0);g=(c[o>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[O>>2]=f;c[V+8>>2]=f;c[P>>2]=kp(c[o>>2]|0)|0;ip(c[t>>2]|0,60,c[O>>2]|0,c[P>>2]|0,c[J>>2]|0)|0;fp(c[t>>2]|0,106,c[V+4>>2]|0,c[j>>2]|0)|0;a[V+1>>0]=1;cu(c[o>>2]|0)}do if(c[Q>>2]|0){if(e[(c[m>>2]|0)+60>>1]&4)break;if((c[M>>2]|0)==0?(Dx(c[N>>2]|0)|0)==0:0)break;c[p>>2]=0;cf(c[t>>2]|0,c[p+20>>2]|0)}while(0);c[B>>2]=Mr(c[t>>2]|0)|0;cu(c[o>>2]|0);if(c[M>>2]|0)ip(c[t>>2]|0,100,c[V+4>>2]|0,c[P>>2]|0,c[O>>2]|0)|0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[y>>2]>>2]|0))break;if(c[M>>2]|0)ip(c[t>>2]|0,47,c[O>>2]|0,c[I>>2]|0,(c[R>>2]|0)+(c[I>>2]|0)|0)|0;else{a[V>>0]=1;Os(c[o>>2]|0,c[(c[(c[y>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2]|0,(c[R>>2]|0)+(c[I>>2]|0)|0)}c[I>>2]=(c[I>>2]|0)+1}za=c[t>>2]|0;h=c[S>>2]|0;g=c[R>>2]|0;f=c[c[y>>2]>>2]|0;hp(za,42,h,g,f,Yr(c[k>>2]|0)|0,-6)|0;c[x>>2]=Mr(c[t>>2]|0)|0;ip(c[t>>2]|0,43,(c[x>>2]|0)+1|0,0,(c[x>>2]|0)+1|0)|0;Ex(c[o>>2]|0,c[R>>2]|0,c[S>>2]|0,c[c[y>>2]>>2]|0);fp(c[t>>2]|0,17,c[_>>2]|0,c[$>>2]|0)|0;fp(c[t>>2]|0,137,c[Z>>2]|0,c[j>>2]|0)|0;fp(c[t>>2]|0,17,c[aa>>2]|0,c[U>>2]|0)|0;zp(c[t>>2]|0,c[x>>2]|0);Fx(c[o>>2]|0,V);fp(c[t>>2]|0,25,1,c[Y>>2]|0)|0;if(c[M>>2]|0)fp(c[t>>2]|0,5,c[V+4>>2]|0,c[B>>2]|0)|0;else{Iu(c[N>>2]|0);cf(c[t>>2]|0,c[X>>2]|0)}fp(c[t>>2]|0,17,c[_>>2]|0,c[$>>2]|0)|0;fp(c[t>>2]|0,16,0,c[j>>2]|0)|0;c[s>>2]=Mr(c[t>>2]|0)|0;fp(c[t>>2]|0,25,1,c[Z>>2]|0)|0;Ir(c[t>>2]|0,18,c[_>>2]|0)|0;Pr(c[t>>2]|0,c[$>>2]|0);c[$>>2]=Mr(c[t>>2]|0)|0;fp(c[t>>2]|0,137,c[Y>>2]|0,(c[$>>2]|0)+2|0)|0;Ir(c[t>>2]|0,18,c[_>>2]|0)|0;Gx(c[o>>2]|0,V);xs(c[o>>2]|0,c[z>>2]|0,(c[$>>2]|0)+1|0,16);xx(c[o>>2]|0,c[n>>2]|0,c[c[n>>2]>>2]|0,-1,p,A,c[l>>2]|0,(c[$>>2]|0)+1|0,c[s>>2]|0);Ir(c[t>>2]|0,18,c[_>>2]|0)|0;Pr(c[t>>2]|0,c[U>>2]|0);Hx(c[o>>2]|0,V);Ir(c[t>>2]|0,18,c[aa>>2]|0)|0}else{c[ea>>2]=0;f=Ix(c[n>>2]|0,V)|0;c[fa>>2]=f;if(f){c[la>>2]=Ve(c[c[o>>2]>>2]|0,c[(c[fa>>2]|0)+68>>2]|0)|0;g=(c[o>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[ka>>2]=f;c[ja>>2]=0;c[ia>>2]=0;c[ha>>2]=c[(c[fa>>2]|0)+32>>2];qp(c[o>>2]|0,c[la>>2]|0);Jr(c[o>>2]|0,c[la>>2]|0,c[(c[fa>>2]|0)+32>>2]|0,0,c[c[fa>>2]>>2]|0);if(d[(c[fa>>2]|0)+44>>0]&32)c[ia>>2]=Zr(c[fa>>2]|0)|0;c[ca>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(!((d[(c[ca>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[ca>>2]|0)+48>>1]|0)>=(b[(c[fa>>2]|0)+42>>1]|0))break;if(c[(c[ca>>2]|0)+36>>2]|0)break;if((c[ia>>2]|0)!=0?(b[(c[ca>>2]|0)+48>>1]|0)>=(b[(c[ia>>2]|0)+48>>1]|0):0)break;c[ia>>2]=c[ca>>2]}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}if(c[ia>>2]|0){c[ha>>2]=c[(c[ia>>2]|0)+44>>2];c[ja>>2]=Wr(c[o>>2]|0,c[ia>>2]|0)|0}We(c[t>>2]|0,54,c[ka>>2]|0,c[ha>>2]|0,c[la>>2]|0,1)|0;if(c[ja>>2]|0)bf(c[t>>2]|0,-1,c[ja>>2]|0,-6);fp(c[t>>2]|0,50,c[ka>>2]|0,c[(c[V+40>>2]|0)+8>>2]|0)|0;Ir(c[t>>2]|0,61,c[ka>>2]|0)|0;Jx(c[o>>2]|0,c[fa>>2]|0,c[ia>>2]|0)}else{c[ga>>2]=0;a[da>>0]=0;if(!(c[(c[n>>2]|0)+44>>2]|0))a[da>>0]=Kx(V,ga)|0;do if(a[da>>0]|0){c[ga>>2]=Jq(c[m>>2]|0,c[ga>>2]|0,0)|0;c[ea>>2]=c[ga>>2];if(!(c[ga>>2]|0))break;if(a[(c[m>>2]|0)+64>>0]|0)break;a[(c[(c[ga>>2]|0)+4>>2]|0)+12>>0]=(d[da>>0]|0)!=1?1:0;a[c[c[(c[ga>>2]|0)+4>>2]>>2]>>0]=-102}while(0);Hx(c[o>>2]|0,V);c[N>>2]=Hu(c[o>>2]|0,c[q>>2]|0,c[ma>>2]|0,c[ga>>2]|0,0,d[da>>0]|0,0)|0;if(!(c[N>>2]|0)){sn(c[m>>2]|0,c[ea>>2]|0);break}Fx(c[o>>2]|0,V);if((wx(c[N>>2]|0)|0)>0){f=c[t>>2]|0;fp(f,16,0,zx(c[N>>2]|0)|0)|0}Iu(c[N>>2]|0);Gx(c[o>>2]|0,V)}c[p>>2]=0;xs(c[o>>2]|0,c[z>>2]|0,c[j>>2]|0,16);xx(c[o>>2]|0,c[n>>2]|0,c[c[n>>2]>>2]|0,-1,0,0,c[l>>2]|0,c[j>>2]|0,c[j>>2]|0);sn(c[m>>2]|0,c[ea>>2]|0)}Pr(c[t>>2]|0,c[j>>2]|0)}if((d[A+1>>0]|0)==3)Cx(c[o>>2]|0,24832);if(c[p>>2]|0){Cx(c[o>>2]|0,(c[p+4>>2]|0)>0?24864:24888);Lx(c[o>>2]|0,c[n>>2]|0,p,c[c[r>>2]>>2]|0,c[l>>2]|0)}Pr(c[t>>2]|0,c[L>>2]|0);c[w>>2]=0}while(0);c[(c[o>>2]|0)+464>>2]=c[v>>2];if((c[w>>2]|0)==0?(d[c[l>>2]>>0]|0)==9:0)Mx(c[o>>2]|0,c[q>>2]|0,c[r>>2]|0);Xb(c[m>>2]|0,c[V+28>>2]|0);Xb(c[m>>2]|0,c[V+40>>2]|0);c[T>>2]=c[w>>2];f=c[T>>2]|0;i=W;return f|0}c[T>>2]=1;f=c[T>>2]|0;i=W;return f|0}function bo(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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,u=0,v=0,w=0,x=0;t=i;i=i+48|0;w=t;s=t+44|0;x=t+40|0;v=t+36|0;u=t+32|0;k=t+28|0;n=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;m=t+8|0;o=t+4|0;c[x>>2]=a;c[v>>2]=b;c[u>>2]=d;c[k>>2]=e;c[n>>2]=f;c[r>>2]=g;c[p>>2]=h;c[q>>2]=j;c[o>>2]=c[c[x>>2]>>2];if((c[v>>2]|0)==0?(c[p>>2]|0)!=0|(c[q>>2]|0)!=0:0){a=c[x>>2]|0;c[w>>2]=(c[p>>2]|0)!=0?24816:24824;Se(a,24776,w)}else l=4;if(((l|0)==4?(c[v>>2]=ko(c[o>>2]|0,c[v>>2]|0,c[u>>2]|0,c[k>>2]|0)|0,(c[v>>2]|0)!=0):0)?(c[c[v>>2]>>2]|0)!=0:0){c[m>>2]=(c[v>>2]|0)+8+(((c[c[v>>2]>>2]|0)-1|0)*72|0);if(c[(c[n>>2]|0)+4>>2]|0){a=Zo(c[o>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=a}c[(c[m>>2]|0)+20>>2]=c[r>>2];c[(c[m>>2]|0)+44>>2]=c[p>>2];c[(c[m>>2]|0)+48>>2]=c[q>>2];c[s>>2]=c[v>>2];a=c[s>>2]|0;i=t;return a|0}wn(c[o>>2]|0,c[p>>2]|0);xn(c[o>>2]|0,c[q>>2]|0);tn(c[o>>2]|0,c[r>>2]|0);c[s>>2]=0;a=c[s>>2]|0;i=t;return a|0}function co(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;p=i;i=i+128|0;v=p+112|0;A=p+108|0;s=p+104|0;t=p+100|0;u=p+96|0;o=p+92|0;w=p+88|0;x=p+116|0;y=p+84|0;z=p+80|0;r=p+76|0;B=p;q=p+72|0;c[v>>2]=d;c[A>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=j;c[w>>2]=k;b[x>>1]=l;c[y>>2]=m;c[z>>2]=n;c[q>>2]=c[c[v>>2]>>2];c[r>>2]=se(c[q>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[r>>2]=B;m=(c[r>>2]|0)+0|0;n=m+72|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}if(!(c[A>>2]|0)){d=c[v>>2]|0;c[A>>2]=eo(d,0,ho(c[q>>2]|0,116,0)|0)|0}c[c[r>>2]>>2]=c[A>>2];if(!(c[s>>2]|0))c[s>>2]=se(c[q>>2]|0,80,0)|0;c[(c[r>>2]|0)+32>>2]=c[s>>2];c[(c[r>>2]|0)+36>>2]=c[t>>2];c[(c[r>>2]|0)+40>>2]=c[u>>2];c[(c[r>>2]|0)+44>>2]=c[o>>2];c[(c[r>>2]|0)+48>>2]=c[w>>2];b[(c[r>>2]|0)+6>>1]=b[x>>1]|0;a[(c[r>>2]|0)+4>>0]=119;c[(c[r>>2]|0)+60>>2]=c[y>>2];c[(c[r>>2]|0)+64>>2]=c[z>>2];c[(c[r>>2]|0)+16>>2]=-1;c[(c[r>>2]|0)+20>>2]=-1;if(!(a[(c[q>>2]|0)+64>>0]|0)){d=c[r>>2]|0;i=p;return d|0}un(c[q>>2]|0,c[r>>2]|0);if((c[r>>2]|0)!=(B|0))Xb(c[q>>2]|0,c[r>>2]|0);c[r>>2]=0;d=c[r>>2]|0;i=p;return d|0}function eo(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,l=0,m=0;e=i;i=i+32|0;h=e+24|0;m=e+20|0;j=e+16|0;g=e+12|0;k=e+8|0;l=e+4|0;f=e;c[m>>2]=a;c[j>>2]=b;c[g>>2]=d;c[k>>2]=c[c[m>>2]>>2];if(!(c[j>>2]|0)){c[j>>2]=se(c[k>>2]|0,8,0)|0;if((c[j>>2]|0)!=0?(m=Qe(c[k>>2]|0,20,0)|0,c[(c[j>>2]|0)+4>>2]=m,(c[(c[j>>2]|0)+4>>2]|0)!=0):0)d=7;else d=8}else if(!(c[c[j>>2]>>2]&(c[c[j>>2]>>2]|0)-1)){c[l>>2]=Fk(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,(c[c[j>>2]>>2]<<1)*20|0,0)|0;if(!(c[l>>2]|0))d=8;else{c[(c[j>>2]|0)+4>>2]=c[l>>2];d=7}}else d=7;if((d|0)==7){a=c[j>>2]|0;m=c[a>>2]|0;c[a>>2]=m+1;c[f>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(m*20|0);m=c[f>>2]|0;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[h>>2]=c[j>>2];m=c[h>>2]|0;i=e;return m|0}else if((d|0)==8){wn(c[k>>2]|0,c[g>>2]|0);sn(c[k>>2]|0,c[j>>2]|0);c[h>>2]=0;m=c[h>>2]|0;i=e;return m|0}return 0}function fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;j=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[h>>2]|0)){i=f;return}c[g>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0);a=rm(c[c[j>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,0)|0;c[(c[g>>2]|0)+4>>2]=a;if(!(c[l>>2]|0)){i=f;return}if(!(c[(c[g>>2]|0)+4>>2]|0)){i=f;return}sm(c[(c[g>>2]|0)+4>>2]|0)|0;i=f;return}function go(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;e=i;i=i+32|0;k=e+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[k>>2]=a;c[f>>2]=b;c[j>>2]=d;c[h>>2]=c[c[k>>2]>>2];if(!(c[f>>2]|0)){i=e;return}c[g>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(((c[c[f>>2]>>2]|0)-1|0)*20|0);Xb(c[h>>2]|0,c[(c[g>>2]|0)+8>>2]|0);k=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;k=rm(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+8>>2]=k;i=e;return}function ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];if(c[j>>2]|0)d=Mb(c[j>>2]|0)|0;else d=0;c[f+4>>2]=d;a=or(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return a|0}function io(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[f>>2]=(c[c[e>>2]>>2]|0)-1;while(1){if((c[f>>2]|0)<=0)break;a[(c[e>>2]|0)+8+((c[f>>2]|0)*72|0)+36>>0]=a[(c[e>>2]|0)+8+(((c[f>>2]|0)-1|0)*72|0)+36>>0]|0;c[f>>2]=(c[f>>2]|0)+ -1}a[(c[e>>2]|0)+44>>0]=0;i=d;return}function jo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f+12|0;k=f+8|0;j=f+4|0;g=f;c[h>>2]=b;c[k>>2]=d;c[j>>2]=e;if(!(c[k>>2]|0)){i=f;return}if((c[c[k>>2]>>2]|0)<=0){i=f;return}c[g>>2]=(c[k>>2]|0)+8+(((c[c[k>>2]>>2]|0)-1|0)*72|0);if((c[(c[j>>2]|0)+4>>2]|0)==1?(c[c[j>>2]>>2]|0)==0:0){b=(c[g>>2]|0)+37|0;a[b>>0]=a[b>>0]&-2|1;i=f;return}b=Zo(c[c[h>>2]>>2]|0,c[j>>2]|0)|0;c[(c[g>>2]|0)+64>>2]=b;i=f;return}function ko(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;j=k+24|0;m=k+20|0;h=k+16|0;n=k+12|0;l=k+8|0;o=k+4|0;g=k;c[m>>2]=b;c[h>>2]=d;c[n>>2]=e;c[l>>2]=f;do if(!(c[h>>2]|0)){c[h>>2]=se(c[m>>2]|0,80,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+4>>2]=1;break}c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}while(0);c[h>>2]=mx(c[m>>2]|0,c[h>>2]|0,1,c[c[h>>2]>>2]|0)|0;if(a[(c[m>>2]|0)+64>>0]|0){vn(c[m>>2]|0,c[h>>2]|0);c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}c[o>>2]=(c[h>>2]|0)+8+(((c[c[h>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[g>>2]=c[l>>2];c[l>>2]=c[n>>2];c[n>>2]=c[g>>2]}b=Zo(c[m>>2]|0,c[n>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=b;b=Zo(c[m>>2]|0,c[l>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=b;c[j>>2]=c[h>>2];b=c[j>>2]|0;i=k;return b|0}function lo(a,b,e,f){a=a|0;b=b|0;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;j=i;i=i+64|0;l=j;k=j+60|0;g=j+56|0;m=j+52|0;o=j+48|0;p=j+44|0;q=j+32|0;s=j+28|0;r=j+24|0;t=j+20|0;n=j+16|0;c[k>>2]=a;c[g>>2]=b;c[m>>2]=e;c[o>>2]=f;c[p>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[m>>2];c[q+8>>2]=c[o>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=3)break;if(!(c[q+(c[r>>2]<<2)>>2]|0))break;c[s>>2]=c[q+(c[r>>2]<<2)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=7)break;if((c[(c[s>>2]|0)+4>>2]|0)==(d[24649+((c[t>>2]|0)*3|0)>>0]|0|0)?(Lb(c[c[s>>2]>>2]|0,24608+(d[24648+((c[t>>2]|0)*3|0)>>0]|0)|0,c[(c[s>>2]|0)+4>>2]|0)|0)==0:0){h=8;break}c[t>>2]=(c[t>>2]|0)+1}if((h|0)==8){h=0;c[p>>2]=c[p>>2]|(d[24650+((c[t>>2]|0)*3|0)>>0]|0)}if((c[t>>2]|0)>=7){h=11;break}c[r>>2]=(c[r>>2]|0)+1}if((h|0)==11)c[p>>2]=c[p>>2]|64;if((c[p>>2]&33|0)!=33?(c[p>>2]&64|0)==0:0){if(!(c[p>>2]&32)){a=c[p>>2]|0;i=j;return a|0}if((c[p>>2]&24|0)==8){a=c[p>>2]|0;i=j;return a|0}Se(c[k>>2]|0,24720,l);c[p>>2]=1;a=c[p>>2]|0;i=j;return a|0}c[n>>2]=9912;if(!(c[o>>2]|0))c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;f=c[m>>2]|0;e=c[n>>2]|0;b=c[o>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=f;c[l+8>>2]=e;c[l+12>>2]=b;Se(a,24672,l);c[p>>2]=1;a=c[p>>2]|0;i=j;return a|0}function mo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=b;c[h>>2]=d;a[j>>0]=e;if(!(c[h>>2]|0)){i=f;return}c[(c[h>>2]|0)+4>>2]=c[(c[g>>2]|0)+532>>2];c[(c[g>>2]|0)+532>>2]=c[h>>2];a[(c[g>>2]|0)+449>>0]=a[j>>0]|0;i=f;return}function no(e,f,g){e=e|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,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;n=i;i=i+192|0;q=n+172|0;k=n+168|0;l=n+164|0;o=n+160|0;s=n+156|0;U=n+152|0;j=n+148|0;L=n+144|0;r=n+140|0;I=n+136|0;z=n+132|0;h=n+128|0;R=n+124|0;v=n+120|0;y=n+112|0;T=n+80|0;O=n+76|0;p=n+72|0;S=n+68|0;E=n+64|0;Q=n+56|0;m=n+52|0;x=n+48|0;M=n+44|0;N=n+178|0;H=n+40|0;D=n+176|0;t=n+36|0;G=n+32|0;F=n+28|0;u=n+24|0;K=n+20|0;P=n+16|0;w=n+12|0;A=n+8|0;C=n+4|0;B=n;c[q>>2]=e;c[k>>2]=f;c[l>>2]=g;c[p>>2]=-1;c[m>>2]=0;c[M>>2]=0;b[N>>1]=1;c[t>>2]=0;c[G>>2]=0;c[F>>2]=0;c[u>>2]=0;c[K>>2]=0;c[P>>2]=0;c[y+0>>2]=0;c[y+4>>2]=0;c[v>>2]=c[c[q>>2]>>2];a:do if((((((c[(c[q>>2]|0)+64>>2]|0)==0?(d[(c[v>>2]|0)+64>>0]|0)==0:0)?(c[s>>2]=Ft(c[q>>2]|0,c[k>>2]|0)|0,(c[s>>2]|0)!=0):0)?(c[A>>2]=lu(c[q>>2]|0,c[s>>2]|0,109,0,0)|0,c[w>>2]=(c[(c[s>>2]|0)+12>>2]|0)!=0&1,(Qp(c[q>>2]|0,c[s>>2]|0)|0)==0):0)?(mu(c[q>>2]|0,c[s>>2]|0,(c[A>>2]|0)!=0?1:0)|0)==0:0)?(c[O>>2]=Ve(c[v>>2]|0,c[(c[s>>2]|0)+68>>2]|0)|0,c[U>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[O>>2]<<4)>>2],c[S>>2]=ap(c[q>>2]|0,9,c[c[s>>2]>>2]|0,0,c[U>>2]|0)|0,(c[S>>2]|0)!=1):0){f=(c[q>>2]|0)+68|0;e=c[f>>2]|0;c[f>>2]=e+1;c[(c[k>>2]|0)+48>>2]=e;c[I>>2]=e;c[R>>2]=0;c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break;e=(c[q>>2]|0)+68|0;c[e>>2]=(c[e>>2]|0)+1;c[r>>2]=c[(c[r>>2]|0)+20>>2];c[R>>2]=(c[R>>2]|0)+1}if(c[w>>2]|0)ix(c[q>>2]|0,y,c[c[s>>2]>>2]|0);c[o>>2]=dp(c[q>>2]|0)|0;if(c[o>>2]|0){if(!(d[(c[q>>2]|0)+18>>0]|0))nu(c[o>>2]|0);pp(c[q>>2]|0,1,c[O>>2]|0);if(c[w>>2]|0){jx(c[q>>2]|0,c[s>>2]|0,c[l>>2]|0,c[I>>2]|0);e=c[I>>2]|0;c[h>>2]=e;c[z>>2]=e}c[T+0>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[T+16>>2]=0;c[T+20>>2]=0;c[T+24>>2]=0;c[T+28>>2]=0;c[T>>2]=c[q>>2];c[T+4>>2]=c[k>>2];if(!(vq(T,c[l>>2]|0)|0)){if(c[(c[v>>2]|0)+24>>2]&128){f=(c[q>>2]|0)+72|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;c[p>>2]=e;fp(c[o>>2]|0,25,0,c[p>>2]|0)|0}b:do if((!((c[S>>2]|0)==0&(c[l>>2]|0)==0^1|(c[A>>2]|0)!=0)?(d[(c[s>>2]|0)+44>>0]&16|0)==0:0)?0==(cw(c[q>>2]|0,c[s>>2]|0,0,0)|0):0){Jr(c[q>>2]|0,c[O>>2]|0,c[(c[s>>2]|0)+32>>2]|0,1,c[c[s>>2]>>2]|0);if(!(d[(c[s>>2]|0)+44>>0]&32))hp(c[o>>2]|0,118,c[(c[s>>2]|0)+32>>2]|0,c[O>>2]|0,c[p>>2]|0,c[c[s>>2]>>2]|0,-2)|0;c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break b;fp(c[o>>2]|0,118,c[(c[r>>2]|0)+44>>2]|0,c[O>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+20>>2]}}else J=28;while(0);c:do if((J|0)==28){if(!(d[(c[s>>2]|0)+44>>0]&32)){c[x>>2]=0;b[N>>1]=1;f=(c[q>>2]|0)+72|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;c[G>>2]=e;fp(c[o>>2]|0,28,0,c[G>>2]|0)|0}else{c[x>>2]=Zr(c[s>>2]|0)|0;b[N>>1]=b[(c[x>>2]|0)+50>>1]|0;c[M>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;f=(c[q>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(b[N>>1]|0);f=(c[q>>2]|0)+68|0;e=c[f>>2]|0;c[f>>2]=e+1;c[t>>2]=e;c[P>>2]=fp(c[o>>2]|0,57,c[t>>2]|0,b[N>>1]|0)|0;Lr(c[q>>2]|0,c[x>>2]|0)}c[L>>2]=Hu(c[q>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0,12,(c[I>>2]|0)+1|0)|0;if(!(c[L>>2]|0))break a;c[E>>2]=kx(c[L>>2]|0,Q)|0;if(c[(c[v>>2]|0)+24>>2]&128)fp(c[o>>2]|0,37,c[p>>2]|0,1)|0;do if(c[x>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(b[N>>1]|0))break;zs(c[o>>2]|0,c[s>>2]|0,c[I>>2]|0,b[(c[(c[x>>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1]|0,(c[M>>2]|0)+(c[j>>2]|0)|0);c[j>>2]=(c[j>>2]|0)+1}c[H>>2]=c[M>>2]}else{c[H>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;c[H>>2]=Rs(c[q>>2]|0,c[s>>2]|0,-1,c[I>>2]|0,c[H>>2]|0,0)|0;if((c[H>>2]|0)<=(c[(c[q>>2]|0)+72>>2]|0))break;c[(c[q>>2]|0)+72>>2]=c[H>>2]}while(0);do if(!(c[E>>2]|0))if(c[x>>2]|0){U=(c[q>>2]|0)+72|0;T=(c[U>>2]|0)+1|0;c[U>>2]=T;c[H>>2]=T;b[D>>1]=0;T=c[o>>2]|0;U=c[M>>2]|0;g=b[N>>1]|0;f=c[H>>2]|0;e=au(c[o>>2]|0,c[x>>2]|0)|0;hp(T,49,U,g,f,e,b[N>>1]|0)|0;fp(c[o>>2]|0,110,c[t>>2]|0,c[H>>2]|0)|0;break}else{b[D>>1]=1;fp(c[o>>2]|0,128,c[G>>2]|0,c[H>>2]|0)|0;break}else{b[D>>1]=b[N>>1]|0;e=(c[R>>2]|0)+2|0;c[m>>2]=Qe(c[v>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){Iu(c[L>>2]|0);break a}_E(c[m>>2]|0,1,(c[R>>2]|0)+1|0)|0;a[(c[m>>2]|0)+((c[R>>2]|0)+1)>>0]=0;if((c[Q>>2]|0)>=0)a[(c[m>>2]|0)+((c[Q>>2]|0)-(c[I>>2]|0))>>0]=0;if((c[Q+4>>2]|0)>=0)a[(c[m>>2]|0)+((c[Q+4>>2]|0)-(c[I>>2]|0))>>0]=0;if(c[P>>2]|0)cf(c[o>>2]|0,c[P>>2]|0);c[K>>2]=mp(c[o>>2]|0,16)|0}while(0);Iu(c[L>>2]|0);if(c[E>>2]|0){c[F>>2]=Nr(c[o>>2]|0)|0;fp(c[o>>2]|0,16,0,c[F>>2]|0)|0;zp(c[o>>2]|0,c[K>>2]|0)}if(!(c[w>>2]|0))du(c[q>>2]|0,c[s>>2]|0,55,c[I>>2]|0,c[m>>2]|0,z,h)|0;do if(!(c[E>>2]|0)){I=c[o>>2]|0;if(c[x>>2]|0){c[u>>2]=Ir(I,108,c[t>>2]|0)|0;fp(c[o>>2]|0,101,c[t>>2]|0,c[H>>2]|0)|0;break}else{c[u>>2]=ip(I,129,c[G>>2]|0,0,c[H>>2]|0)|0;break}}else{if(!(a[(c[m>>2]|0)+((c[z>>2]|0)-(c[I>>2]|0))>>0]|0))break;We(c[o>>2]|0,68,c[z>>2]|0,c[F>>2]|0,c[H>>2]|0,b[D>>1]|0)|0}while(0);if(d[(c[s>>2]|0)+44>>0]&16){c[C>>2]=Rp(c[v>>2]|0,c[s>>2]|0)|0;wu(c[q>>2]|0,c[s>>2]|0);hp(c[o>>2]|0,15,0,1,c[H>>2]|0,c[C>>2]|0,-10)|0;Xe(c[o>>2]|0,2);Sp(c[q>>2]|0)}else{c[B>>2]=(d[(c[q>>2]|0)+18>>0]|0)==0&1;ew(c[q>>2]|0,c[s>>2]|0,c[A>>2]|0,c[z>>2]|0,c[h>>2]|0,c[H>>2]|0,b[D>>1]|0,c[B>>2]&255,10,c[E>>2]&255)}do if(!(c[E>>2]|0)){A=c[o>>2]|0;if(c[x>>2]|0){fp(A,9,c[t>>2]|0,(c[u>>2]|0)+1|0)|0;zp(c[o>>2]|0,c[u>>2]|0);break}else{fp(A,16,0,c[u>>2]|0)|0;zp(c[o>>2]|0,c[u>>2]|0);break}}else Pr(c[o>>2]|0,c[F>>2]|0);while(0);if(c[w>>2]|0)break;if(d[(c[s>>2]|0)+44>>0]&16)break;if(!(c[x>>2]|0))Ir(c[o>>2]|0,61,c[z>>2]|0)|0;c[j>>2]=0;c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break c;Ir(c[o>>2]|0,61,(c[h>>2]|0)+(c[j>>2]|0)|0)|0;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=c[(c[r>>2]|0)+20>>2]}}while(0);if((d[(c[q>>2]|0)+18>>0]|0)==0?(c[(c[q>>2]|0)+412>>2]|0)==0:0)Au(c[q>>2]|0);if(((c[(c[v>>2]|0)+24>>2]&128|0)!=0?(a[(c[q>>2]|0)+18>>0]|0)==0:0)?(c[(c[q>>2]|0)+412>>2]|0)==0:0){fp(c[o>>2]|0,35,c[p>>2]|0,1)|0;Nt(c[o>>2]|0,1);Ot(c[o>>2]|0,0,0,24592,0)|0}}}}while(0);lx(y);vn(c[v>>2]|0,c[k>>2]|0);wn(c[v>>2]|0,c[l>>2]|0);Xb(c[v>>2]|0,c[m>>2]|0);i=n;return}function oo(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;e=i;i=i+32|0;h=e;f=e+16|0;j=e+12|0;g=e+8|0;k=e+4|0;c[f>>2]=a;c[j>>2]=b;c[g>>2]=d;c[k>>2]=c[(c[c[f>>2]>>2]|0)+96>>2];if(!(c[j>>2]|0)){i=e;return}if((c[c[j>>2]>>2]|0)<=(c[k>>2]|0)){i=e;return}a=c[f>>2]|0;c[h>>2]=c[g>>2];Se(a,24568,h);i=e;return}function po(f,g,h,j,k){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,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;y=i;i=i+256|0;la=y;u=y+244|0;o=y+240|0;n=y+236|0;z=y+232|0;H=y+228|0;t=y+224|0;W=y+220|0;r=y+216|0;B=y+212|0;ea=y+208|0;x=y+204|0;D=y+200|0;s=y+196|0;ca=y+192|0;fa=y+188|0;C=y+184|0;l=y+180|0;v=y+176|0;R=y+172|0;p=y+168|0;E=y+164|0;ba=y+252|0;_=y+251|0;M=y+250|0;aa=y+160|0;q=y+152|0;ja=y+120|0;na=y+112|0;Q=y+108|0;K=y+104|0;A=y+100|0;F=y+96|0;S=y+92|0;I=y+88|0;X=y+84|0;Y=y+80|0;m=y+76|0;P=y+72|0;da=y+64|0;w=y+56|0;N=y+52|0;O=y+48|0;U=y+44|0;V=y+40|0;$=y+36|0;J=y+32|0;ma=y+28|0;ka=y+24|0;ia=y+20|0;ha=y+248|0;ga=y+16|0;Z=y+12|0;G=y+8|0;L=y+4|0;c[u>>2]=f;c[o>>2]=g;c[n>>2]=h;c[z>>2]=j;c[H>>2]=k;c[B>>2]=0;c[R>>2]=0;c[p>>2]=0;c[aa>>2]=0;c[m>>2]=0;c[P>>2]=0;c[w>>2]=0;c[V>>2]=0;c[$>>2]=0;c[J>>2]=0;c[q+0>>2]=0;c[q+4>>2]=0;c[v>>2]=c[c[u>>2]>>2];if(c[(c[u>>2]|0)+64>>2]|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(d[(c[v>>2]|0)+64>>0]|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[r>>2]=Ft(c[u>>2]|0,c[o>>2]|0)|0;if(!(c[r>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[na>>2]=Ve(c[c[u>>2]>>2]|0,c[(c[r>>2]|0)+68>>2]|0)|0;c[I>>2]=lu(c[u>>2]|0,c[r>>2]|0,110,c[n>>2]|0,X)|0;c[S>>2]=(c[(c[r>>2]|0)+12>>2]|0)!=0&1;if(Qp(c[u>>2]|0,c[r>>2]|0)|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(mu(c[u>>2]|0,c[r>>2]|0,c[X>>2]|0)|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}g=(c[u>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[C>>2]=f;c[fa>>2]=f;c[(c[o>>2]|0)+48>>2]=f;c[l>>2]=(c[C>>2]|0)+1;if(!(d[(c[r>>2]|0)+44>>0]&32))k=0;else k=Zr(c[r>>2]|0)|0;c[s>>2]=k;c[ca>>2]=0;c[D>>2]=c[(c[r>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break;if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+55>>0]&3|0)==2:0){c[C>>2]=c[(c[u>>2]|0)+68>>2];c[(c[o>>2]|0)+48>>2]=c[C>>2]}f=(c[u>>2]|0)+68|0;c[f>>2]=(c[f>>2]|0)+1;c[D>>2]=c[(c[D>>2]|0)+20>>2];c[ca>>2]=(c[ca>>2]|0)+1}c[p>>2]=Qe(c[v>>2]|0,((b[(c[r>>2]|0)+38>>1]|0)+(c[ca>>2]|0)<<2)+(c[ca>>2]|0)+2|0,0)|0;if(!(c[p>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[R>>2]=(c[p>>2]|0)+(b[(c[r>>2]|0)+38>>1]<<2);c[E>>2]=(c[R>>2]|0)+(c[ca>>2]<<2);_E(c[E>>2]|0,1,(c[ca>>2]|0)+1|0)|0;a[(c[E>>2]|0)+((c[ca>>2]|0)+1)>>0]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;c[(c[p>>2]|0)+(c[t>>2]<<2)>>2]=-1;c[t>>2]=(c[t>>2]|0)+1}c[ja+0>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;c[ja+16>>2]=0;c[ja+20>>2]=0;c[ja+24>>2]=0;c[ja+28>>2]=0;c[ja>>2]=c[u>>2];c[ja+4>>2]=c[o>>2];a[ba>>0]=0;a[_>>0]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[n>>2]>>2]|0)){T=41;break}if(vq(ja,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)>>2]|0)|0){T=182;break}c[W>>2]=0;while(1){if((c[W>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;f=(xc(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[W>>2]|0)*24|0)>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[W>>2]|0;if(f){T=23;break}c[W>>2]=k+1}if((T|0)==23){T=0;if((k|0)!=(b[(c[r>>2]|0)+36>>1]|0)){if((c[s>>2]|0)!=0?(d[(c[(c[r>>2]|0)+4>>2]|0)+((c[W>>2]|0)*24|0)+23>>0]&1|0)!=0:0)a[ba>>0]=1}else{a[_>>0]=1;c[aa>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)>>2]}c[(c[p>>2]|0)+(c[W>>2]<<2)>>2]=c[t>>2]}if((c[W>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0)){if(c[s>>2]|0){T=34;break}if(!(Zq(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)){T=34;break}c[W>>2]=-1;a[_>>0]=1;c[aa>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)>>2]}if((c[W>>2]|0)<0)k=17288;else k=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[W>>2]|0)*24|0)>>2]|0;c[ma>>2]=ap(c[u>>2]|0,23,c[c[r>>2]>>2]|0,k,c[(c[(c[v>>2]|0)+16>>2]|0)+(c[na>>2]<<4)>>2]|0)|0;if((c[ma>>2]|0)==1){T=182;break}if((c[ma>>2]|0)==2)c[(c[p>>2]|0)+(c[W>>2]<<2)>>2]=-1;c[t>>2]=(c[t>>2]|0)+1}if((T|0)==34){f=c[u>>2]|0;c[la>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2];Se(f,24520,la);a[(c[u>>2]|0)+17>>0]=1;lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}else if((T|0)==41){a[M>>0]=(d[_>>0]|0)+(d[ba>>0]|0);f=(c[o>>2]|0)+64|0;c[f>>2]=0;c[f+4>>2]=0;c[K>>2]=cw(c[u>>2]|0,c[r>>2]|0,c[p>>2]|0,d[M>>0]|0)|0;c[W>>2]=0;c[D>>2]=c[(c[r>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break;a:do if((!((d[M>>0]|0)!=0|(c[K>>2]|0)!=0)?(c[(c[D>>2]|0)+36>>2]|0)==0:0)?(c[D>>2]|0)!=(c[s>>2]|0):0){c[ka>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(e[(c[D>>2]|0)+50>>1]|0))break a;if((c[(c[p>>2]|0)+(b[(c[(c[D>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]<<2)>>2]|0)>=0)break;c[t>>2]=(c[t>>2]|0)+1}g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ka>>2]=f}else T=46;while(0);if((T|0)==46){T=0;g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ka>>2]=f}if(!(c[ka>>2]|0))a[(c[E>>2]|0)+((c[W>>2]|0)+1)>>0]=0;c[(c[R>>2]|0)+(c[W>>2]<<2)>>2]=c[ka>>2];c[D>>2]=c[(c[D>>2]|0)+20>>2];c[W>>2]=(c[W>>2]|0)+1}c[x>>2]=dp(c[u>>2]|0)|0;if(!(c[x>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(!(d[(c[u>>2]|0)+18>>0]|0))nu(c[x>>2]|0);pp(c[u>>2]|0,1,c[na>>2]|0);ka=c[u>>2]|0;if(d[(c[r>>2]|0)+44>>0]&16){hx(ka,c[o>>2]|0,c[r>>2]|0,c[n>>2]|0,c[aa>>2]|0,c[p>>2]|0,c[z>>2]|0,c[H>>2]|0);c[z>>2]=0;c[o>>2]=0;lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}f=ka+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[$>>2]=g;g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[O>>2]=f;c[N>>2]=f;if((d[ba>>0]|0)!=0|(c[I>>2]|0)!=0|(c[K>>2]|0)!=0){c[V>>2]=(c[(c[u>>2]|0)+72>>2]|0)+1;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(b[(c[r>>2]|0)+38>>1]|0)}if((d[M>>0]|0)!=0|(c[I>>2]|0)!=0|(c[K>>2]|0)!=0){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[O>>2]=f}c[U>>2]=(c[(c[u>>2]|0)+72>>2]|0)+1;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(b[(c[r>>2]|0)+38>>1]|0);if(c[S>>2]|0)ix(c[u>>2]|0,q,c[c[r>>2]>>2]|0);if(c[S>>2]|0)jx(c[u>>2]|0,c[r>>2]|0,c[z>>2]|0,c[C>>2]|0);if(vq(ja,c[z>>2]|0)|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(!(d[(c[r>>2]|0)+44>>0]&32)){ip(c[x>>2]|0,28,0,c[$>>2]|0,c[N>>2]|0)|0;c[ea>>2]=Hu(c[u>>2]|0,c[o>>2]|0,c[z>>2]|0,0,0,4,c[l>>2]|0)|0;if(!(c[ea>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[Q>>2]=kx(c[ea>>2]|0,da)|0;fp(c[x>>2]|0,103,c[C>>2]|0,c[N>>2]|0)|0;if(!(c[Q>>2]|0))fp(c[x>>2]|0,128,c[$>>2]|0,c[N>>2]|0)|0;Iu(c[ea>>2]|0)}else{b[ha>>1]=b[(c[s>>2]|0)+50>>1]|0;c[ia>>2]=(c[(c[u>>2]|0)+72>>2]|0)+1;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(b[ha>>1]|0);f=(c[u>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[J>>2]=g;g=(c[u>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[m>>2]=f;fp(c[x>>2]|0,28,0,c[ia>>2]|0)|0;c[ga>>2]=fp(c[x>>2]|0,57,c[m>>2]|0,b[ha>>1]|0)|0;Lr(c[u>>2]|0,c[s>>2]|0);c[ea>>2]=Hu(c[u>>2]|0,c[o>>2]|0,c[z>>2]|0,0,0,4,c[l>>2]|0)|0;if(!(c[ea>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[Q>>2]=kx(c[ea>>2]|0,da)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[ha>>1]|0))break;zs(c[x>>2]|0,c[r>>2]|0,c[C>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0,(c[ia>>2]|0)+(c[t>>2]|0)|0);c[t>>2]=(c[t>>2]|0)+1}ja=c[x>>2]|0;if(c[Q>>2]|0){cf(ja,c[ga>>2]|0);c[P>>2]=b[ha>>1];c[J>>2]=c[ia>>2]}else{j=c[ia>>2]|0;h=b[ha>>1]|0;g=c[J>>2]|0;f=au(c[x>>2]|0,c[s>>2]|0)|0;hp(ja,49,j,h,g,f,b[ha>>1]|0)|0;fp(c[x>>2]|0,110,c[m>>2]|0,c[J>>2]|0)|0}Iu(c[ea>>2]|0)}if((c[(c[v>>2]|0)+24>>2]&128|0)!=0?(c[(c[u>>2]|0)+412>>2]|0)==0:0){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[w>>2]=f;fp(c[x>>2]|0,25,0,c[w>>2]|0)|0}c[A>>2]=Nr(c[x>>2]|0)|0;if(!(c[S>>2]|0)){b:do if((c[H>>2]|0)==5)_E(c[E>>2]|0,1,(c[ca>>2]|0)+1|0)|0;else{c[D>>2]=c[(c[r>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break b;if((d[(c[D>>2]|0)+54>>0]|0)==5)break;c[D>>2]=c[(c[D>>2]|0)+20>>2]}_E(c[E>>2]|0,1,(c[ca>>2]|0)+1|0)|0}while(0);do if(c[Q>>2]|0){if((c[da>>2]|0)>=0)a[(c[E>>2]|0)+((c[da>>2]|0)-(c[fa>>2]|0))>>0]=0;if((c[da+4>>2]|0)<0)break;a[(c[E>>2]|0)+((c[da+4>>2]|0)-(c[fa>>2]|0))>>0]=0}while(0);du(c[u>>2]|0,c[r>>2]|0,55,c[fa>>2]|0,c[E>>2]|0,0,0)|0}do if(!(c[Q>>2]|0)){ca=c[x>>2]|0;if(c[s>>2]|0){c[F>>2]=Nr(ca)|0;fp(c[x>>2]|0,108,c[m>>2]|0,c[A>>2]|0)|0;c[B>>2]=fp(c[x>>2]|0,101,c[m>>2]|0,c[J>>2]|0)|0;We(c[x>>2]|0,68,c[C>>2]|0,c[F>>2]|0,c[J>>2]|0,0)|0;break}else{c[F>>2]=ip(ca,129,c[$>>2]|0,c[A>>2]|0,c[N>>2]|0)|0;ip(c[x>>2]|0,70,c[C>>2]|0,c[F>>2]|0,c[N>>2]|0)|0;break}}else{if(!((c[S>>2]|0)!=0?1:(d[(c[E>>2]|0)+((c[C>>2]|0)-(c[fa>>2]|0))>>0]|0)==0))We(c[x>>2]|0,68,c[C>>2]|0,c[A>>2]|0,c[J>>2]|0,c[P>>2]|0)|0;c[F>>2]=c[A>>2];fp(c[x>>2]|0,76,(c[s>>2]|0)!=0?c[J>>2]|0:c[N>>2]|0,c[A>>2]|0)|0}while(0);if(a[_>>0]|0){Os(c[u>>2]|0,c[aa>>2]|0,c[O>>2]|0);Ir(c[x>>2]|0,38,c[O>>2]|0)|0}do if((d[ba>>0]|0)!=0|(c[K>>2]|0)!=0|(c[I>>2]|0)!=0){if(c[K>>2]|0)$=hw(c[u>>2]|0,c[r>>2]|0)|0;else $=0;c[Z>>2]=$;f=gw(c[u>>2]|0,c[I>>2]|0,c[n>>2]|0,0,3,c[r>>2]|0,c[H>>2]|0)|0;c[Z>>2]=c[Z>>2]|f;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;do if((c[Z>>2]|0)==-1)T=117;else{if((c[t>>2]|0)<32?(c[Z>>2]&1<>2]|0)!=0:0){T=117;break}if(d[(c[(c[r>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+23>>0]&1){T=117;break}fp(c[x>>2]|0,28,0,(c[V>>2]|0)+(c[t>>2]|0)|0)|0}while(0);if((T|0)==117){T=0;zs(c[x>>2]|0,c[r>>2]|0,c[C>>2]|0,c[t>>2]|0,(c[V>>2]|0)+(c[t>>2]|0)|0)}c[t>>2]=(c[t>>2]|0)+1}if(!((d[_>>0]|0)==0&(c[s>>2]|0)==0))break;fp(c[x>>2]|0,33,c[N>>2]|0,c[O>>2]|0)|0}while(0);c[Y>>2]=gw(c[u>>2]|0,c[I>>2]|0,c[n>>2]|0,1,1,c[r>>2]|0,c[H>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;c:do if((c[t>>2]|0)==(b[(c[r>>2]|0)+36>>1]|0))fp(c[x>>2]|0,28,0,(c[U>>2]|0)+(c[t>>2]|0)|0)|0;else{c[W>>2]=c[(c[p>>2]|0)+(c[t>>2]<<2)>>2];if((c[W>>2]|0)>=0){Os(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,(c[U>>2]|0)+(c[t>>2]|0)|0);break}do if(!((c[t>>2]|0)>31?1:0==(c[X>>2]&1|0))){if(c[Y>>2]&1<>2])break;fp(c[x>>2]|0,28,0,(c[U>>2]|0)+(c[t>>2]|0)|0)|0;break c}while(0);zs(c[x>>2]|0,c[r>>2]|0,c[C>>2]|0,c[t>>2]|0,(c[U>>2]|0)+(c[t>>2]|0)|0)}while(0);c[t>>2]=(c[t>>2]|0)+1}d:do if(c[X>>2]&1){su(c[x>>2]|0,c[r>>2]|0,c[U>>2]|0);tu(c[u>>2]|0,c[I>>2]|0,110,c[n>>2]|0,1,c[r>>2]|0,c[N>>2]|0,c[H>>2]|0,c[F>>2]|0);X=c[x>>2]|0;W=c[C>>2]|0;V=c[F>>2]|0;if(c[s>>2]|0)We(X,68,W,V,c[J>>2]|0,c[P>>2]|0)|0;else ip(X,70,W,V,c[N>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break d;do if((c[(c[p>>2]|0)+(c[t>>2]<<2)>>2]|0)<0){if((c[t>>2]|0)==(b[(c[r>>2]|0)+36>>1]|0))break;zs(c[x>>2]|0,c[r>>2]|0,c[C>>2]|0,c[t>>2]|0,(c[U>>2]|0)+(c[t>>2]|0)|0)}while(0);c[t>>2]=(c[t>>2]|0)+1}}while(0);do if(!(c[S>>2]|0)){c[G>>2]=0;c[L>>2]=0;xu(c[u>>2]|0,c[r>>2]|0,c[R>>2]|0,c[C>>2]|0,c[l>>2]|0,c[O>>2]|0,c[N>>2]|0,a[M>>0]|0,c[H>>2]&255,c[F>>2]|0,L);if(c[K>>2]|0)yu(c[u>>2]|0,c[r>>2]|0,c[N>>2]|0,0,c[p>>2]|0,d[M>>0]|0);if(!((c[L>>2]|0)==0?(d[M>>0]|0)==0:0))T=148;do if((T|0)==148){T=c[x>>2]|0;S=c[C>>2]|0;if(c[s>>2]|0){c[G>>2]=We(T,68,S,0,c[J>>2]|0,c[P>>2]|0)|0;break}else{c[G>>2]=ip(T,70,S,0,c[N>>2]|0)|0;break}}while(0);fw(c[u>>2]|0,c[r>>2]|0,c[C>>2]|0,c[l>>2]|0,c[R>>2]|0);if(!((c[K>>2]|0)==0?!((d[M>>0]|0)!=0|(c[s>>2]|0)!=0):0))fp(c[x>>2]|0,95,c[C>>2]|0,0)|0;if(!((c[L>>2]|0)==0?(d[M>>0]|0)==0:0))zp(c[x>>2]|0,c[G>>2]|0);if(c[K>>2]|0)yu(c[u>>2]|0,c[r>>2]|0,0,c[O>>2]|0,c[p>>2]|0,d[M>>0]|0);zu(c[u>>2]|0,c[r>>2]|0,c[C>>2]|0,c[l>>2]|0,c[O>>2]|0,c[R>>2]|0,1,0,0);if(!(c[K>>2]|0))break;iw(c[u>>2]|0,c[r>>2]|0,c[n>>2]|0,c[N>>2]|0,c[p>>2]|0,d[M>>0]|0)}while(0);do if(c[(c[v>>2]|0)+24>>2]&128){if(c[(c[u>>2]|0)+412>>2]|0)break;fp(c[x>>2]|0,37,c[w>>2]|0,1)|0}while(0);tu(c[u>>2]|0,c[I>>2]|0,110,c[n>>2]|0,2,c[r>>2]|0,c[N>>2]|0,c[H>>2]|0,c[F>>2]|0);do if(!(c[Q>>2]|0)){G=c[x>>2]|0;F=c[F>>2]|0;if(c[s>>2]|0){Pr(G,F);fp(c[x>>2]|0,9,c[m>>2]|0,c[B>>2]|0)|0;break}else{fp(G,16,0,F)|0;break}}while(0);Pr(c[x>>2]|0,c[A>>2]|0);c[t>>2]=0;c[D>>2]=c[(c[r>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break;if(a[(c[E>>2]|0)+((c[t>>2]|0)+1)>>0]|0)fp(c[x>>2]|0,61,(c[l>>2]|0)+(c[t>>2]|0)|0,0)|0;c[D>>2]=c[(c[D>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}if((c[C>>2]|0)<(c[l>>2]|0))fp(c[x>>2]|0,61,c[C>>2]|0,0)|0;do if(!(d[(c[u>>2]|0)+18>>0]|0)){if(c[(c[u>>2]|0)+412>>2]|0)break;Au(c[u>>2]|0)}while(0);if(!(c[(c[v>>2]|0)+24>>2]&128)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(c[(c[u>>2]|0)+412>>2]|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(a[(c[u>>2]|0)+18>>0]|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}fp(c[x>>2]|0,35,c[w>>2]|0,1)|0;Nt(c[x>>2]|0,1);Ot(c[x>>2]|0,0,0,24544,0)|0;lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}else if((T|0)==182){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}} - - - -function Ys(b,e,f,g){b=b|0;e=e|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,G=0,H=0,I=0,J=0,K=0;B=i;i=i+160|0;J=B;k=B+140|0;l=B+136|0;p=B+132|0;q=B+128|0;x=B+124|0;o=B+120|0;m=B+116|0;n=B+112|0;K=B+108|0;h=B+144|0;r=B+104|0;G=B+100|0;s=B+96|0;F=B+92|0;E=B+72|0;D=B+68|0;z=B+64|0;C=B+60|0;y=B+56|0;t=B+52|0;u=B+48|0;A=B+44|0;w=B+40|0;v=B+36|0;I=B+32|0;H=B+12|0;c[l>>2]=b;c[p>>2]=e;c[q>>2]=f;c[x>>2]=g;c[o>>2]=-1;c[m>>2]=0;c[n>>2]=dp(c[l>>2]|0)|0;if(!(c[n>>2]|0)){c[k>>2]=0;b=c[k>>2]|0;i=B;return b|0}ws(c[l>>2]|0);if(!(c[(c[p>>2]|0)+4>>2]&32))c[o>>2]=_s(c[l>>2]|0)|0;if((d[(c[l>>2]|0)+450>>0]|0)==2){b=c[c[l>>2]>>2]|0;f=(d[c[p>>2]>>0]|0)==75?19296:19304;e=c[(c[l>>2]|0)+468>>2]|0;c[J>>2]=(c[o>>2]|0)>=0?1216:19280;c[J+4>>2]=f;c[J+8>>2]=e;c[K>>2]=Te(b,19248,J)|0;hp(c[n>>2]|0,155,c[(c[l>>2]|0)+464>>2]|0,0,0,c[K>>2]|0,-1)|0}J=c[p>>2]|0;do if((d[c[p>>2]>>0]|0)==75){c[G>>2]=c[J+12>>2];c[s>>2]=0;a[h>>0]=bq(c[G>>2]|0)|0;e=(c[l>>2]|0)+68|0;b=c[e>>2]|0;c[e>>2]=b+1;c[(c[p>>2]|0)+28>>2]=b;c[r>>2]=fp(c[n>>2]|0,57,c[(c[p>>2]|0)+28>>2]|0,((c[x>>2]|0)!=0^1)&1)|0;if(c[x>>2]|0)G=0;else G=Xr(c[c[l>>2]>>2]|0,1,1)|0;c[s>>2]=G;G=(c[p>>2]|0)+20|0;do if(!(c[(c[p>>2]|0)+4>>2]&2048)){if(c[G>>2]|0){c[C>>2]=c[(c[p>>2]|0)+20>>2];if(!(a[h>>0]|0))a[h>>0]=65;if(c[s>>2]|0){b=cq(c[l>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=b}c[t>>2]=kp(c[l>>2]|0)|0;c[u>>2]=kp(c[l>>2]|0)|0;if(c[x>>2]|0)fp(c[n>>2]|0,28,0,c[u>>2]|0)|0;c[z>>2]=c[c[C>>2]>>2];c[y>>2]=c[(c[C>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;c[w>>2]=c[c[y>>2]>>2];if((c[o>>2]|0)>=0?(Vs(c[w>>2]|0)|0)==0:0){cf(c[n>>2]|0,c[o>>2]|0);c[o>>2]=-1}if((c[x>>2]|0)!=0?(yq(c[w>>2]|0,v)|0)!=0:0)ip(c[n>>2]|0,84,c[(c[p>>2]|0)+28>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;else j=29;do if((j|0)==29){j=0;c[A>>2]=Qs(c[l>>2]|0,c[w>>2]|0,c[t>>2]|0)|0;D=c[n>>2]|0;C=c[A>>2]|0;if(c[x>>2]|0){fp(D,38,C,(Mr(c[n>>2]|0)|0)+2|0)|0;ip(c[n>>2]|0,75,c[(c[p>>2]|0)+28>>2]|0,c[u>>2]|0,c[A>>2]|0)|0;break}else{hp(D,49,C,1,c[u>>2]|0,h,1)|0;Us(c[l>>2]|0,c[A>>2]|0,1);fp(c[n>>2]|0,110,c[(c[p>>2]|0)+28>>2]|0,c[u>>2]|0)|0;break}}while(0);c[z>>2]=(c[z>>2]|0)+ -1;c[y>>2]=(c[y>>2]|0)+20}lp(c[l>>2]|0,c[t>>2]|0);lp(c[l>>2]|0,c[u>>2]|0)}}else{c[F>>2]=c[G>>2];$s(E,11,c[(c[p>>2]|0)+28>>2]|0);a[E+1>>0]=a[h>>0]|0;c[(c[F>>2]|0)+8>>2]=0;if(!(ao(c[l>>2]|0,c[F>>2]|0,E)|0)){c[D>>2]=c[c[F>>2]>>2];b=at(c[l>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[c[(c[D>>2]|0)+4>>2]>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=b;break}eh(c[s>>2]|0);c[k>>2]=0;b=c[k>>2]|0;i=B;return b|0}while(0);if(c[s>>2]|0)bf(c[n>>2]|0,c[r>>2]|0,c[s>>2]|0,-6)}else{c[I>>2]=c[J+20>>2];e=(c[l>>2]|0)+72|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;$s(H,0,b);if((d[c[p>>2]>>0]|0)==119){a[H>>0]=10;c[H+8>>2]=c[H+4>>2];fp(c[n>>2]|0,28,0,c[H+4>>2]|0)|0}else{a[H>>0]=3;fp(c[n>>2]|0,25,0,c[H+4>>2]|0)|0}wn(c[c[l>>2]>>2]|0,c[(c[I>>2]|0)+60>>2]|0);b=Rn(c[l>>2]|0,132,0,0,10160)|0;c[(c[I>>2]|0)+60>>2]=b;c[(c[I>>2]|0)+8>>2]=0;if(!(ao(c[l>>2]|0,c[I>>2]|0,H)|0)){c[m>>2]=c[H+4>>2];break}c[k>>2]=0;b=c[k>>2]|0;i=B;return b|0}while(0);if(c[q>>2]|0)bt(c[n>>2]|0,c[(c[p>>2]|0)+28>>2]|0,c[q>>2]|0);if((c[o>>2]|0)>=0)zp(c[n>>2]|0,c[o>>2]|0);us(c[l>>2]|0);c[k>>2]=c[m>>2];b=c[k>>2]|0;i=B;return b|0}function Zs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-97;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function _s(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=dp(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=Ir(d,44,a)|0;i=b;return a|0}function $s(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function at(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;g=e+8|0;j=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;if(c[(c[g>>2]|0)+4>>2]&256){c[f>>2]=cq(c[h>>2]|0,c[g>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]&256|0)!=0:0){c[f>>2]=cq(c[h>>2]|0,c[j>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}c[f>>2]=cq(c[h>>2]|0,c[g>>2]|0)|0;if(c[f>>2]|0){a=c[f>>2]|0;i=e;return a|0}c[f>>2]=cq(c[h>>2]|0,c[j>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}function bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;fp(c[g>>2]|0,25,0,c[h>>2]|0)|0;c[f>>2]=Ir(c[g>>2]|0,108,c[j>>2]|0)|0;ip(c[g>>2]|0,47,c[j>>2]|0,0,c[h>>2]|0)|0;Xe(c[g>>2]|0,-128);zp(c[g>>2]|0,c[f>>2]|0);i=e;return}function ct(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h+16|0;o=h+12|0;m=h+8|0;n=h+20|0;k=h+4|0;l=h;c[j>>2]=b;c[o>>2]=e;c[m>>2]=f;a[n>>0]=g;c[k>>2]=c[(c[j>>2]|0)+316>>2];c[o>>2]=Bq(c[c[j>>2]>>2]|0,c[o>>2]|0,0)|0;c[k>>2]=eo(c[j>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;if(!(c[k>>2]|0)){b=c[k>>2]|0;o=c[j>>2]|0;o=o+316|0;c[o>>2]=b;i=h;return}c[l>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(((c[c[k>>2]>>2]|0)-1|0)*20|0);c[(c[l>>2]|0)+16>>2]=c[m>>2];b=(c[l>>2]|0)+13|0;a[b>>0]=a[b>>0]&-5|((d[n>>0]|0)&1)<<2&255;b=c[k>>2]|0;o=c[j>>2]|0;o=o+316|0;c[o>>2]=b;i=h;return}function dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;e=f+8|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=d;if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;if(a[(c[c[g>>2]>>2]|0)+64>>0]|0){c[e>>2]=19312;b=c[e>>2]|0;i=f;return b|0}else{c[e>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);b=c[e>>2]|0;i=f;return b|0}return 0}function et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+20>>2]=c[g>>2];c[d>>2]=44;c[d+4>>2]=45;sq(d,c[f>>2]|0)|0;i=e;return c[d+20>>2]|0}function ft(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[h>>2]=b;c[j>>2]=e;if((c[(c[h>>2]|0)+20>>2]|0)==2?(c[(c[j>>2]|0)+4>>2]&1|0)!=0:0){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;b=c[g>>2]|0;i=f;return b|0}a:do switch(d[c[j>>2]>>0]|0|0){case 153:{if((c[(c[h>>2]|0)+20>>2]|0)<3?(c[(c[j>>2]|0)+4>>2]&524288|0)==0:0){e=8;break a}c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0};case 135:{if((c[(c[h>>2]|0)+20>>2]|0)==4){a[c[j>>2]>>0]=101;e=13;break a}if((c[(c[h>>2]|0)+20>>2]|0)==3){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;b=c[g>>2]|0;i=f;return b|0}else e=13;break};case 156:case 155:case 154:case 27:{e=8;break};default:e=13}while(0);if((e|0)==8){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;b=c[g>>2]|0;i=f;return b|0}else if((e|0)==13){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}return 0}function gt(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;c[(c[e>>2]|0)+20>>2]=0;i=d;return 2}function ht(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=b;c[g>>2]=d;c[f>>2]=Qe(Fs(c[h>>2]|0)|0,8,0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=e;return h|0}h=c[f>>2]|0;b=c[g>>2]|0;a[h+0>>0]=a[b+0>>0]|0;a[h+1>>0]=a[b+1>>0]|0;a[h+2>>0]=a[b+2>>0]|0;a[h+3>>0]=a[b+3>>0]|0;a[h+4>>0]=a[b+4>>0]|0;a[h+5>>0]=a[b+5>>0]|0;a[h+6>>0]=a[b+6>>0]|0;a[h+7>>0]=a[b+7>>0]|0;h=c[f>>2]|0;i=e;return h|0}function it(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[j>>2]=b;c[g>>2]=d;c[h>>2]=0;c[f>>2]=(c[j>>2]|0)+116;while(1){if((c[h>>2]|0)>=10)break;if((c[(c[f>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[f>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+20}i=e;return}function jt(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,q=0,r=0,s=0;q=i;i=i+32|0;l=q+28|0;o=q+24|0;p=q+20|0;j=q+16|0;r=q+12|0;s=q+8|0;m=q+4|0;n=q;c[l>>2]=d;c[o>>2]=f;c[p>>2]=g;c[j>>2]=h;if((e[(c[c[l>>2]>>2]|0)+60>>1]|0)&2){i=q;return}c[r>>2]=0;c[n>>2]=(c[l>>2]|0)+116;while(1){if((c[r>>2]|0)>=10)break;if(!(c[(c[n>>2]|0)+12>>2]|0)){k=5;break}c[r>>2]=(c[r>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}if((k|0)==5){c[(c[n>>2]|0)+8>>2]=c[(c[l>>2]|0)+100>>2];c[c[n>>2]>>2]=c[o>>2];b[(c[n>>2]|0)+4>>1]=c[p>>2];c[(c[n>>2]|0)+12>>2]=c[j>>2];a[(c[n>>2]|0)+6>>0]=0;f=(c[l>>2]|0)+104|0;d=c[f>>2]|0;c[f>>2]=d+1;c[(c[n>>2]|0)+16>>2]=d;i=q;return}c[s>>2]=2147483647;c[m>>2]=-1;c[r>>2]=0;c[n>>2]=(c[l>>2]|0)+116;while(1){if((c[r>>2]|0)>=10)break;if((c[(c[n>>2]|0)+16>>2]|0)<(c[s>>2]|0)){c[m>>2]=c[r>>2];c[s>>2]=c[(c[n>>2]|0)+16>>2]}c[r>>2]=(c[r>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}if((c[m>>2]|0)<0){i=q;return}c[n>>2]=(c[l>>2]|0)+116+((c[m>>2]|0)*20|0);c[(c[n>>2]|0)+8>>2]=c[(c[l>>2]|0)+100>>2];c[c[n>>2]>>2]=c[o>>2];b[(c[n>>2]|0)+4>>1]=c[p>>2];c[(c[n>>2]|0)+12>>2]=c[j>>2];a[(c[n>>2]|0)+6>>0]=0;f=(c[l>>2]|0)+104|0;d=c[f>>2]|0;c[f>>2]=d+1;c[(c[n>>2]|0)+16>>2]=d;i=q;return}function kt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+6|0;j=e;g=e+5|0;h=e+4|0;c[j>>2]=b;a[g>>0]=d;a[h>>0]=bq(c[j>>2]|0)|0;if((a[h>>0]|0)!=0?(a[g>>0]|0)!=0:0){if((a[h>>0]|0)<67?(a[g>>0]|0)<67:0){a[f>>0]=65;j=a[f>>0]|0;i=e;return j|0}a[f>>0]=67;j=a[f>>0]|0;i=e;return j|0}if((a[h>>0]|0)!=0|(a[g>>0]|0)!=0){a[f>>0]=(a[h>>0]|0)+(a[g>>0]|0);j=a[f>>0]|0;i=e;return j|0}else{a[f>>0]=65;j=a[f>>0]|0;i=e;return j|0}return 0}function lt(a){a=a|0;var b=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;b=f+16|0;g=f+12|0;k=f+8|0;h=f+4|0;j=f;c[g>>2]=a;do if(c[g>>2]|0){if(c[(c[g>>2]|0)+52>>2]|0){c[b>>2]=0;break}if((e[(c[g>>2]|0)+6>>1]|0)&5){c[b>>2]=0;break}if(c[(c[g>>2]|0)+60>>2]|0){c[b>>2]=0;break}if(c[(c[g>>2]|0)+36>>2]|0){c[b>>2]=0;break}c[k>>2]=c[(c[g>>2]|0)+32>>2];if((c[c[k>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[k>>2]|0)+28>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[k>>2]|0)+24>>2];if(!(c[j>>2]|0)){c[b>>2]=0;break}if((d[(c[j>>2]|0)+44>>0]|0)&16){c[b>>2]=0;break}c[h>>2]=c[c[g>>2]>>2];if((c[c[h>>2]>>2]|0)!=1){c[b>>2]=0;break}if((d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)!=154){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function mt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;e=f+4|0;j=f;g=f+9|0;h=f+8|0;c[j>>2]=b;a[g>>0]=d;a[h>>0]=Ns(c[j>>2]|0)|0;d=a[h>>0]|0;if((d|0)==66)c[e>>2]=(a[g>>0]|0)==66&1;else if((d|0)==65)c[e>>2]=1;else c[e>>2]=(a[g>>0]|0)>=67&1;i=f;return c[e>>2]|0}function nt(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=Vs(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=bq(c[k>>2]|0)|0;b=(kt(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=b|c[h>>2]&255;i=g;return a[f>>0]|0}function pt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=et(c[d>>2]|0,2)|0;i=b;return a|0}function qt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;f=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=d;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(e[(c[k>>2]|0)+52>>1]|0)){d=7;break}c[h>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)>=0?0==(xc(c[h>>2]|0,c[j>>2]|0)|0):0){d=5;break}c[l>>2]=(c[l>>2]|0)+1}if((d|0)==5){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}else if((d|0)==7){c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}return 0}function rt(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,o=0;h=i;i=i+160|0;f=h;k=h+28|0;o=h+20|0;j=h+16|0;m=h+12|0;l=h+8|0;n=h+4|0;g=h+32|0;c[k>>2]=b;c[h+24>>2]=d;c[o>>2]=e;c[j>>2]=Ed(c[c[o>>2]>>2]|0)|0;c[m>>2]=pe(c[k>>2]|0)|0;c[n>>2]=0;if(!(c[j>>2]|0))c[j>>2]=1216;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[n>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[l>>2]<<4);if((c[(c[n>>2]|0)+4>>2]|0)!=0?(xc(c[c[n>>2]>>2]|0,c[j>>2]|0)|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}do if((c[l>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0)){c[f>>2]=c[j>>2];sc(128,g,19424,f)|0}else{if((c[l>>2]|0)<2){c[f>>2]=c[j>>2];sc(128,g,19448,f)|0;break}if(!(a[(c[m>>2]|0)+62>>0]|0)){sc(128,g,19480,f)|0;break}if((Tc(c[(c[n>>2]|0)+4>>2]|0)|0)==0?(Wk(c[(c[n>>2]|0)+4>>2]|0)|0)==0:0){Kk(c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+4>>2]=0;c[(c[n>>2]|0)+12>>2]=0;cd(c[m>>2]|0);i=h;return}c[f>>2]=c[j>>2];sc(128,g,19528,f)|0}while(0);Ud(c[k>>2]|0,g,-1);i=h;return}function st(a,e,f,g,h,j,k){a=a|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;q=y+76|0;p=y+72|0;o=y+68|0;l=y+64|0;r=y+60|0;s=y+56|0;t=y+52|0;v=y+48|0;z=y+16|0;w=y+12|0;x=y+8|0;n=y+4|0;u=y;c[q>>2]=a;c[p>>2]=e;c[o>>2]=f;c[l>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[x>>2]=c[c[q>>2]>>2];c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;c[z>>2]=c[q>>2];a=tt(z,c[r>>2]|0)|0;c[v>>2]=a;do if((0==(a|0)?(a=tt(z,c[s>>2]|0)|0,c[v>>2]=a,0==(a|0)):0)?(a=tt(z,c[t>>2]|0)|0,c[v>>2]=a,0==(a|0)):0){if(c[l>>2]|0){if((d[c[l>>2]>>0]|0)==97)c[u>>2]=c[(c[l>>2]|0)+8>>2];else c[u>>2]=0;c[v>>2]=ap(c[q>>2]|0,c[p>>2]|0,c[u>>2]|0,0,0)|0;if(c[v>>2]|0)break}c[w>>2]=dp(c[q>>2]|0)|0;c[n>>2]=ys(c[q>>2]|0,4)|0;Os(c[q>>2]|0,c[r>>2]|0,c[n>>2]|0);Os(c[q>>2]|0,c[s>>2]|0,(c[n>>2]|0)+1|0);Os(c[q>>2]|0,c[t>>2]|0,(c[n>>2]|0)+2|0);if(c[w>>2]|0){ip(c[w>>2]|0,1,0,(c[n>>2]|0)+3-(b[c[o>>2]>>1]|0)|0,(c[n>>2]|0)+3|0)|0;Xe(c[w>>2]|0,b[c[o>>2]>>1]&255);bf(c[w>>2]|0,-1,c[o>>2]|0,-5);Ir(c[w>>2]|0,142,(c[p>>2]|0)==24&1)|0}}else m=4;while(0);if((m|0)==4){a=(c[q>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1}wn(c[x>>2]|0,c[r>>2]|0);wn(c[x>>2]|0,c[s>>2]|0);wn(c[x>>2]|0,c[t>>2]|0);i=y;return}function tt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+8|0;h=g+4|0;f=g;c[j>>2]=b;c[h>>2]=e;c[f>>2]=0;do if(c[h>>2]|0)if((d[c[h>>2]>>0]|0|0)!=27){c[f>>2]=vq(c[j>>2]|0,c[h>>2]|0)|0;break}else{a[c[h>>2]>>0]=97;break}while(0);i=g;return c[f>>2]|0}function ut(b,e,f){b=b|0;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;k=i;i=i+80|0;j=k;l=k+68|0;z=k+60|0;x=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;u=k+40|0;t=k+36|0;m=k+32|0;h=k+28|0;g=k+24|0;r=k+20|0;s=k+16|0;y=k+12|0;q=k+8|0;v=k+4|0;c[l>>2]=b;c[k+64>>2]=e;c[z>>2]=f;c[n>>2]=0;c[o>>2]=pe(c[l>>2]|0)|0;c[t>>2]=0;c[m>>2]=0;c[r>>2]=0;c[u>>2]=Ed(c[c[z>>2]>>2]|0)|0;c[p>>2]=Ed(c[(c[z>>2]|0)+4>>2]|0)|0;if(!(c[u>>2]|0))c[u>>2]=1216;if(!(c[p>>2]|0))c[p>>2]=1216;f=c[o>>2]|0;do if((c[(c[o>>2]|0)+20>>2]|0)<((c[(c[o>>2]|0)+116>>2]|0)+2|0)){if(!(a[f+62>>0]|0)){c[r>>2]=Te(c[o>>2]|0,19648,j)|0;break}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];if(!(xc(c[y>>2]|0,c[p>>2]|0)|0)){w=12;break}c[x>>2]=(c[x>>2]|0)+1}if((w|0)==12){z=c[o>>2]|0;c[j>>2]=c[p>>2];c[r>>2]=Te(z,19696,j)|0;break}w=c[o>>2]|0;do if((c[(c[o>>2]|0)+16>>2]|0)==((c[o>>2]|0)+456|0)){c[g>>2]=Qe(w,48,0)|0;if(!(c[g>>2]|0)){i=k;return}else{z=c[g>>2]|0;b=c[(c[o>>2]|0)+16>>2]|0;c[z+0>>2]=c[b+0>>2];c[z+4>>2]=c[b+4>>2];c[z+8>>2]=c[b+8>>2];c[z+12>>2]=c[b+12>>2];c[z+16>>2]=c[b+16>>2];c[z+20>>2]=c[b+20>>2];c[z+24>>2]=c[b+24>>2];c[z+28>>2]=c[b+28>>2];break}}else{c[g>>2]=Fk(w,c[(c[o>>2]|0)+16>>2]|0,(c[(c[o>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[g>>2]|0)){i=k;return}}while(0);c[(c[o>>2]|0)+16>>2]=c[g>>2];c[g>>2]=(c[(c[o>>2]|0)+16>>2]|0)+(c[(c[o>>2]|0)+20>>2]<<4);z=c[g>>2]|0;c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[h>>2]=c[(c[o>>2]|0)+48>>2];c[n>>2]=qh(c[(c[c[o>>2]>>2]|0)+16>>2]|0,c[u>>2]|0,h,s,t,m)|0;if(c[n>>2]|0){if((c[n>>2]|0)==7)a[(c[o>>2]|0)+64>>0]=1;Ud(c[l>>2]|0,c[m>>2]|0,-1);hc(c[m>>2]|0);i=k;return}c[h>>2]=c[h>>2]|256;c[n>>2]=rh(c[s>>2]|0,c[t>>2]|0,c[o>>2]|0,(c[g>>2]|0)+4|0,0,c[h>>2]|0)|0;hc(c[t>>2]|0);z=(c[o>>2]|0)+20|0;c[z>>2]=(c[z>>2]|0)+1;if((c[n>>2]|0)!=19){if(!(c[n>>2]|0)){z=sh(c[o>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;c[(c[g>>2]|0)+12>>2]=z;if(c[(c[g>>2]|0)+12>>2]|0){if((d[(c[(c[g>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[g>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0):0){c[r>>2]=Te(c[o>>2]|0,18744,j)|0;c[n>>2]=1}}else c[n>>2]=7;c[q>>2]=Sb(c[(c[g>>2]|0)+4>>2]|0)|0;vt(c[q>>2]|0,d[(c[o>>2]|0)+65>>0]|0)|0;z=c[(c[g>>2]|0)+4>>2]|0;wt(z,wt(c[(c[(c[o>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;xt(c[(c[g>>2]|0)+4>>2]|0,3|c[(c[o>>2]|0)+24>>2]&28)|0}}else{c[n>>2]=1;c[r>>2]=Te(c[o>>2]|0,19728,j)|0}a[(c[g>>2]|0)+8>>0]=3;z=ne(c[o>>2]|0,c[p>>2]|0)|0;c[c[g>>2]>>2]=z;if((c[n>>2]|0)==0?(c[c[g>>2]>>2]|0)==0:0)c[n>>2]=7;if(!(c[n>>2]|0)){Rb(c[o>>2]|0);c[n>>2]=_r(c[o>>2]|0,r)|0}if(!(c[n>>2]|0)){i=k;return}c[v>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;if(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0){Kk(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0)|0;c[(c[(c[o>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]=0;c[(c[(c[o>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]=0}cd(c[o>>2]|0);c[(c[o>>2]|0)+20>>2]=c[v>>2];if((c[n>>2]|0)==7|(c[n>>2]|0)==3082){a[(c[o>>2]|0)+64>>0]=1;Xb(c[o>>2]|0,c[r>>2]|0);c[r>>2]=Te(c[o>>2]|0,5400,j)|0;break}if(!(c[r>>2]|0)){z=c[o>>2]|0;c[j>>2]=c[u>>2];c[r>>2]=Te(z,19760,j)|0}}else{c[j>>2]=c[(c[o>>2]|0)+116>>2];c[r>>2]=Te(f,19608,j)|0}while(0);if(c[r>>2]|0){Ud(c[l>>2]|0,c[r>>2]|0,-1);Xb(c[o>>2]|0,c[r>>2]|0)}if(!(c[n>>2]|0)){i=k;return}fe(c[l>>2]|0,c[n>>2]|0);i=k;return}function vt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=e;if(((c[h>>2]|0)>=0?(a[(c[g>>2]|0)+12>>0]|0)==0:0)?(zt(c[(c[g>>2]|0)+208>>2]|0)|0)==0:0)a[(c[g>>2]|0)+4>>0]=c[h>>2];i=f;return d[(c[g>>2]|0)+4>>0]|0}function wt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;k=f+4|0;j=f;c[h>>2]=a;c[k>>2]=d;if(!(c[h>>2]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}Pc(c[h>>2]|0);if((c[k>>2]|0)>=0?(a=(c[(c[h>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[k>>2]|0)!=0):0){a=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[h>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[g>>2]=c[j>>2];a=c[g>>2]|0;i=f;return a|0}function xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];Pc(c[g>>2]|0);yt(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function yt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;h=g+8|0;f=g+4|0;j=g;c[h>>2]=b;c[f>>2]=e;c[j>>2]=c[f>>2]&3;if((c[j>>2]|0)==1)b=1;else b=(d[(c[h>>2]|0)+12>>0]|0)!=0;a[(c[h>>2]|0)+7>>0]=b?1:0;if((c[j>>2]|0)==3)j=(a[(c[h>>2]|0)+12>>0]|0)!=0^1;else j=0;a[(c[h>>2]|0)+8>>0]=j?1:0;do if(!(a[(c[h>>2]|0)+7>>0]|0)){if(c[f>>2]&4){a[(c[h>>2]|0)+11>>0]=3;a[(c[h>>2]|0)+9>>0]=3;break}e=(c[f>>2]&8|0)!=0;a[(c[h>>2]|0)+11>>0]=2;j=(c[h>>2]|0)+9|0;if(e){a[j>>0]=3;break}else{a[j>>0]=2;break}}else{a[(c[h>>2]|0)+11>>0]=0;a[(c[h>>2]|0)+9>>0]=0}while(0);a[(c[h>>2]|0)+10>>0]=a[(c[h>>2]|0)+11>>0]|0;if(a[(c[h>>2]|0)+8>>0]|0){e=(c[h>>2]|0)+10|0;a[e>>0]=d[e>>0]|32}h=(c[h>>2]|0)+20|0;j=d[h>>0]|0;if(c[f>>2]&16){a[h>>0]=j&-2;i=g;return}else{a[h>>0]=j|1;i=g;return}}function zt(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){e=0;e=e&1;i=b;return e|0}e=(d[(c[e>>2]|0)+43>>0]|0|0)==2;e=e&1;i=b;return e|0}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;j=d+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(xc(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;qp(c[j>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=d;return}function Bt(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;j=i;i=i+48|0;e=j+36|0;d=j+32|0;n=j+28|0;g=j+24|0;o=j+20|0;f=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;h=j;c[e>>2]=a;c[d>>2]=b;c[o>>2]=c[c[e>>2]>>2];c[f>>2]=Ve(c[c[e>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[n>>2]=Ct(c[d>>2]|0)|0;c[m>>2]=16;c[l>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[k>>2]=(c[f>>2]|0)==1?14904:14928;if((c[f>>2]|0)==1)c[m>>2]=14;if(ap(c[e>>2]|0,c[m>>2]|0,c[c[d>>2]>>2]|0,c[c[n>>2]>>2]|0,c[l>>2]|0)|0){i=j;return}if(ap(c[e>>2]|0,9,c[k>>2]|0,0,c[l>>2]|0)|0){i=j;return}o=dp(c[e>>2]|0)|0;c[g>>2]=o;if(!o){i=j;return}pp(c[e>>2]|0,0,c[f>>2]|0);Dt(c[e>>2]|0,c[f>>2]|0);c[h>>2]=Ye(c[g>>2]|0,9,19816,0)|0;bf(c[g>>2]|0,(c[h>>2]|0)+1|0,c[c[d>>2]>>2]|0,0);bf(c[g>>2]|0,(c[h>>2]|0)+4|0,1488,-2);ep(c[e>>2]|0,c[f>>2]|0);fp(c[g>>2]|0,61,0,0)|0;hp(c[g>>2]|0,126,c[f>>2]|0,0,0,c[c[d>>2]>>2]|0,0)|0;if((c[(c[e>>2]|0)+72>>2]|0)>=3){i=j;return}c[(c[e>>2]|0)+72>>2]=3;i=j;return}function Ct(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bh((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function Dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=dp(c[e>>2]|0)|0;Jr(c[e>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?14904:14928);We(c[g>>2]|0,55,0,1,c[f>>2]|0,5)|0;if(c[(c[e>>2]|0)+68>>2]|0){i=d;return}c[(c[e>>2]|0)+68>>2]=1;i=d;return}function Et(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;f=i;i=i+32|0;l=f+12|0;k=f+16|0;j=f+8|0;g=f+4|0;h=f;c[l>>2]=b;a[k>>0]=d;c[j>>2]=e;c[g>>2]=se(c[l>>2]|0,40+(c[(c[j>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[g>>2]|0)){l=c[g>>2]|0;i=f;return l|0}c[h>>2]=(c[g>>2]|0)+40;dF(c[h>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[g>>2]|0)+12>>2]=c[h>>2];c[(c[g>>2]|0)+16>>2]=c[(c[j>>2]|0)+4>>2];a[c[g>>2]>>0]=a[k>>0]|0;l=c[g>>2]|0;i=f;return l|0}function Ft(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=d;c[h>>2]=(c[j>>2]|0)+8;c[e>>2]=np(c[g>>2]|0,0,c[h>>2]|0)|0;Vb(c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+16>>2]|0);c[(c[h>>2]|0)+16>>2]=c[e>>2];if(c[e>>2]|0){j=(c[e>>2]|0)+40|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(fr(c[g>>2]|0,c[h>>2]|0)|0)){j=c[e>>2]|0;i=f;return j|0}c[e>>2]=0;j=c[e>>2]|0;i=f;return j|0}function Gt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function Ht(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;h=i;i=i+48|0;d=h;e=h+32|0;f=h+28|0;l=h+24|0;k=h+20|0;j=h+16|0;g=h+12|0;c[f>>2]=a;c[l>>2]=b;if(!(c[l>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}c[j>>2]=c[(c[f>>2]|0)+12>>2];c[k>>2]=0;c[g>>2]=(c[l>>2]|0)+8;while(1){if((c[k>>2]|0)>=(c[c[l>>2]>>2]|0)){b=15;break}if(!(c[(c[f>>2]|0)+8>>2]|0)){if((c[(c[g>>2]|0)+4>>2]|0)!=0?(xc(c[(c[g>>2]|0)+4>>2]|0,c[j>>2]|0)|0)!=0:0){b=8;break}Xb(c[c[c[f>>2]>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);c[(c[g>>2]|0)+4>>2]=0;c[c[g>>2]>>2]=c[(c[f>>2]|0)+4>>2]}if(It(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){b=11;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0){b=13;break}c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((b|0)==8){a=c[c[f>>2]>>2]|0;k=c[(c[f>>2]|0)+20>>2]|0;l=c[(c[g>>2]|0)+4>>2]|0;c[d>>2]=c[(c[f>>2]|0)+16>>2];c[d+4>>2]=k;c[d+8>>2]=l;Se(a,20128,d);c[e>>2]=1;a=c[e>>2]|0;i=h;return a|0}else if((b|0)==11){c[e>>2]=1;a=c[e>>2]|0;i=h;return a|0}else if((b|0)==13){c[e>>2]=1;a=c[e>>2]|0;i=h;return a|0}else if((b|0)==15){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}return 0}function It(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;while(1){if(!(c[g>>2]|0)){b=20;break}if(Kt(c[f>>2]|0,c[c[g>>2]>>2]|0)|0){b=4;break}if(Ht(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0)|0){b=6;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+36>>2]|0)|0){b=8;break}if(Kt(c[f>>2]|0,c[(c[g>>2]|0)+40>>2]|0)|0){b=10;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0){b=12;break}if(Kt(c[f>>2]|0,c[(c[g>>2]|0)+48>>2]|0)|0){b=14;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0)|0){b=16;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0){b=18;break}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((b|0)==4)c[e>>2]=1;else if((b|0)==6)c[e>>2]=1;else if((b|0)==8)c[e>>2]=1;else if((b|0)==10)c[e>>2]=1;else if((b|0)==12)c[e>>2]=1;else if((b|0)==14)c[e>>2]=1;else if((b|0)==16)c[e>>2]=1;else if((b|0)==18)c[e>>2]=1;else if((b|0)==20)c[e>>2]=0;i=d;return c[e>>2]|0}function Jt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g;f=g+12|0;h=g+8|0;k=g+4|0;c[h>>2]=b;c[k>>2]=e;while(1){if(!(c[k>>2]|0)){k=16;break}if((d[c[k>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+145>>0]|0)){k=6;break}a[c[k>>2]>>0]=101}if(c[(c[k>>2]|0)+4>>2]&16384){k=16;break}b=c[h>>2]|0;e=(c[k>>2]|0)+20|0;if(c[(c[k>>2]|0)+4>>2]&2048){if(It(b,c[e>>2]|0)|0){k=10;break}}else if(Kt(b,c[e>>2]|0)|0){k=12;break}if(Jt(c[h>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0){k=14;break}c[k>>2]=c[(c[k>>2]|0)+12>>2]}if((k|0)==6){b=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Se(b,20176,j);c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else if((k|0)==10){c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else if((k|0)==12){c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else if((k|0)==14){c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else if((k|0)==16){c[f>>2]=0;b=c[f>>2]|0;i=g;return b|0}return 0}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;j=d+8|0;h=d+4|0;g=d;c[f>>2]=a;c[j>>2]=b;if(!(c[j>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=0;c[g>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){b=8;break}if(Jt(c[f>>2]|0,c[c[g>>2]>>2]|0)|0){b=6;break}c[h>>2]=(c[h>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((b|0)==6){c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}else if((b|0)==8){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}return 0}function Lt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;while(1){if(!(c[g>>2]|0)){b=10;break}if(It(c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0)|0){b=4;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){b=6;break}if(Kt(c[f>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0){b=8;break}c[g>>2]=c[(c[g>>2]|0)+32>>2]}if((b|0)==4)c[e>>2]=1;else if((b|0)==6)c[e>>2]=1;else if((b|0)==8)c[e>>2]=1;else if((b|0)==10)c[e>>2]=0;i=d;return c[e>>2]|0}function Mt(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-65|64;i=d;return}function Nt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;j=f+16|0;l=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[l>>2]=d;c[k>>2]=c[c[j>>2]>>2];hu(c[(c[j>>2]|0)+16>>2]|0,(e[(c[j>>2]|0)+84>>1]|0)<<1);Xb(c[k>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[j>>2]|0)+84>>1]=c[l>>2];a=se(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[j>>2]|0)+16>>2]=a;if(!(c[(c[j>>2]|0)+16>>2]|0)){i=f;return}while(1){l=c[g>>2]|0;c[g>>2]=l+ -1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[j>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=f;return}function Ot(b,d,f,g,h){b=b|0;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,q=0,r=0;p=i;i=i+32|0;k=p+28|0;j=p+24|0;r=p+20|0;q=p+16|0;n=p+12|0;m=p+8|0;l=p+4|0;o=p;c[j>>2]=b;c[r>>2]=d;c[q>>2]=f;c[n>>2]=g;c[m>>2]=h;if(a[(c[c[j>>2]>>2]|0)+64>>0]|0){c[k>>2]=7;b=c[k>>2]|0;i=p;return b|0}else{b=(c[r>>2]|0)+($(c[q>>2]|0,e[(c[j>>2]|0)+84>>1]|0)|0)|0;c[o>>2]=(c[(c[j>>2]|0)+16>>2]|0)+(b*40|0);c[l>>2]=Vd(c[o>>2]|0,c[n>>2]|0,-1,1,c[m>>2]|0)|0;c[k>>2]=c[l>>2];b=c[k>>2]|0;i=p;return b|0}return 0}function Pt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;m=f+24|0;j=f+20|0;l=f;h=f+16|0;g=f+12|0;k=f+8|0;c[m>>2]=a;c[j>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=dp(c[m>>2]|0)|0;b=(c[m>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[g>>2]=a;c[k>>2]=Qe(c[c[m>>2]>>2]|0,8,0)|0;if(c[k>>2]|0){m=c[k>>2]|0;c[m+0>>2]=c[l+0>>2];c[m+4>>2]=c[l+4>>2]}hp(c[h>>2]|0,26,0,c[g>>2]|0,0,c[k>>2]|0,-13)|0;Nt(c[h>>2]|0,1);Ot(c[h>>2]|0,0,0,c[j>>2]|0,0)|0;fp(c[h>>2]|0,35,c[g>>2]|0,1)|0;i=f;return}function Qt(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=a;do if(c[f>>2]|0){if(!(xc(c[f>>2]|0,21072)|0)){c[e>>2]=1;break}if(!(xc(c[f>>2]|0,21064)|0))c[e>>2]=0;else b=6}else b=6;while(0);if((b|0)==6)c[e>>2]=-1;i=d;return c[e>>2]|0}function Rt(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[22296+(c[e>>2]<<2)>>2];i=d;return c[b>>2]|0}function St(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[a+4>>2]|0;if(!((b|0)>-1|(b|0)==-1&(c[a>>2]|0)>>>0>=4294967295)){b=c[f>>2]|0;b=b+160|0;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=e;return a|0}d=g;a=c[d+4>>2]|0;b=(c[f>>2]|0)+160|0;c[b>>2]=c[d>>2];c[b+4>>2]=a;b=g;gu(c[(c[f>>2]|0)+208>>2]|0,c[b>>2]|0,c[b+4>>2]|0);b=c[f>>2]|0;b=b+160|0;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=e;return a|0}function Tt(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;Pc(c[f>>2]|0);if(!(a[(c[(c[f>>2]|0)+4>>2]|0)+17>>0]|0)){f=0;c[e>>2]=f;f=c[e>>2]|0;i=d;return f|0}f=(a[(c[(c[f>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=f;f=c[e>>2]|0;i=d;return f|0}function Ut(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;f=d;c[e>>2]=a;do if(xc(c[e>>2]|0,22272)|0){if(!(xc(c[e>>2]|0,21976)|0)){c[b>>2]=1;break}if(!(xc(c[e>>2]|0,22280)|0)){c[b>>2]=2;break}else{c[f>>2]=zg(c[e>>2]|0)|0;c[b>>2]=((c[f>>2]|0)>=0&(c[f>>2]|0)<=2?c[f>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=d;return c[b>>2]|0}function Vt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;l=g+12|0;m=g+8|0;k=g+4|0;h=g;j=g+16|0;c[l>>2]=b;c[m>>2]=f;c[k>>2]=c[(c[l>>2]|0)+4>>2];c[h>>2]=0;a[j>>0]=c[m>>2];Pc(c[l>>2]|0);if(((e[(c[k>>2]|0)+22>>1]|0)&2|0)!=0?(((d[j>>0]|0|0)!=0?1:0)|0)!=(d[(c[k>>2]|0)+17>>0]|0|0):0){c[h>>2]=8;m=c[h>>2]|0;i=g;return m|0}a[(c[k>>2]|0)+17>>0]=(d[j>>0]|0|0)!=0?1:0;a[(c[k>>2]|0)+18>>0]=(d[j>>0]|0|0)==2?1:0;m=c[h>>2]|0;i=g;return m|0}function Wt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;k=f+12|0;l=f+8|0;h=f+4|0;j=f;c[k>>2]=b;c[l>>2]=e;c[h>>2]=fu(c[l>>2]|0)|0;c[j>>2]=c[c[k>>2]>>2];if((d[(c[j>>2]|0)+63>>0]|0|0)==(c[h>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=f;return l|0}if(Xt(c[k>>2]|0)|0){c[g>>2]=1;l=c[g>>2]|0;i=f;return l|0}else{a[(c[j>>2]|0)+63>>0]=c[h>>2];c[g>>2]=0;l=c[g>>2]|0;i=f;return l|0}return 0}function Xt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;d=e+12|0;g=e+8|0;f=e+4|0;c[g>>2]=b;c[f>>2]=c[c[g>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+20>>2]|0){if((a[(c[f>>2]|0)+62>>0]|0)!=0?(Tc(c[(c[(c[f>>2]|0)+16>>2]|0)+20>>2]|0)|0)==0:0){Kk(c[(c[(c[f>>2]|0)+16>>2]|0)+20>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+20>>2]=0;cd(c[f>>2]|0);break}Se(c[g>>2]|0,22208,h);c[d>>2]=1;h=c[d>>2]|0;i=e;return h|0}while(0);c[d>>2]=0;h=c[d>>2]|0;i=e;return h|0}function Yt(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=b;if(!(a[(c[g>>2]|0)+62>>0]|0)){i=e;return}c[f>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=c[(c[g>>2]|0)+20>>2];while(1){b=c[h>>2]|0;c[h>>2]=b+ -1;if((b|0)<=0)break;if(c[(c[f>>2]|0)+4>>2]|0)xt(c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|c[(c[g>>2]|0)+24>>2]&28)|0;c[f>>2]=(c[f>>2]|0)+16}i=e;return}function Zt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+8|0;f=d+16|0;g=d;b[f>>1]=a;if((b[f>>1]|0)<10){a=e;c[a>>2]=1;c[a+4>>2]=0;a=e;h=a;h=c[h>>2]|0;a=a+4|0;a=c[a>>2]|0;D=a;i=d;return h|0}k=(b[f>>1]|0)%10|0;j=g;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;b[f>>1]=(b[f>>1]|0)/10|0;j=g;k=c[j+4>>2]|0;h=g;a=c[h>>2]|0;h=c[h+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>=5)){if(h>>>0>0|(h|0)==0&a>>>0>=1){j=g;j=ZE(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=g;c[k>>2]=j;c[k+4>>2]=D}}else{j=ZE(a|0,h|0,2,0)|0;k=g;c[k>>2]=j;c[k+4>>2]=D}if((b[f>>1]|0)<3){k=g;k=bF(c[k>>2]|0,c[k+4>>2]|0,8,0)|0;k=cF(k|0,D|0,3-(b[f>>1]|0)|0)|0;j=e;c[j>>2]=k;c[j+4>>2]=D;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}if((b[f>>1]|0)>60){g=-1;f=2147483647}else{g=bF(c[g>>2]|0,c[g+4>>2]|0,8,0)|0;g=$E(g|0,D|0,(b[f>>1]|0)-3|0)|0;f=D}j=e;c[j>>2]=g;c[j+4>>2]=f;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}function _t(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;b=d[g>>0]|0;if((b|0)==6)c[e>>2]=22176;else if((b|0)==8)c[e>>2]=22152;else if((b|0)==9)c[e>>2]=22168;else if((b|0)==7)c[e>>2]=22136;else c[e>>2]=22192;i=f;return c[e>>2]|0}function $t(f,g,h,j,k){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;x=i;i=i+80|0;v=x;n=x+64|0;q=x+60|0;z=x+56|0;t=x+52|0;p=x+48|0;D=x+44|0;o=x+40|0;u=x+36|0;s=x+32|0;l=x+28|0;r=x+24|0;w=x+20|0;C=x+16|0;y=x+68|0;A=x+12|0;B=x+8|0;c[q>>2]=f;c[z>>2]=g;c[t>>2]=h;c[p>>2]=j;c[D>>2]=k;c[o>>2]=0;c[u>>2]=0;c[s>>2]=c[(c[t>>2]|0)+20>>2];c[l>>2]=c[(c[t>>2]|0)+40>>2];do if((c[s>>2]|0)==1){if((b[(c[z>>2]|0)+36>>1]|0)>=0){if(!(c[l>>2]|0)){c[n>>2]=0;f=c[n>>2]|0;i=x;return f|0}if(!(xc(c[(c[(c[z>>2]|0)+4>>2]|0)+((b[(c[z>>2]|0)+36>>1]|0)*24|0)>>2]|0,c[l>>2]|0)|0)){c[n>>2]=0;f=c[n>>2]|0;i=x;return f|0}}}else if(c[D>>2]|0){c[u>>2]=Qe(c[c[q>>2]>>2]|0,c[s>>2]<<2,0)|0;if(c[u>>2]|0){c[c[D>>2]>>2]=c[u>>2];break}c[n>>2]=1;f=c[n>>2]|0;i=x;return f|0}while(0);c[o>>2]=c[(c[z>>2]|0)+8>>2];a:while(1){if(!(c[o>>2]|0))break;do if((e[(c[o>>2]|0)+50>>1]|0)==(c[s>>2]|0)?(d[(c[o>>2]|0)+54>>0]|0)!=0:0){if(!(c[l>>2]|0))if((a[(c[o>>2]|0)+55>>0]&3|0)==2){m=17;break a}else break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[s>>2]|0))break;b[y>>1]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;f=c[(c[(c[z>>2]|0)+4>>2]|0)+((b[y>>1]|0)*24|0)+16>>2]|0;c[A>>2]=f;c[A>>2]=(c[A>>2]|0)!=0?f:3320;if(xc(c[(c[(c[o>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0,c[A>>2]|0)|0)break;c[B>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((b[y>>1]|0)*24|0)>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[s>>2]|0))break;if(!(xc(c[(c[t>>2]|0)+36+(c[C>>2]<<3)+4>>2]|0,c[B>>2]|0)|0)){m=27;break}c[C>>2]=(c[C>>2]|0)+1}if((m|0)==27?(m=0,(c[u>>2]|0)!=0):0)c[(c[u>>2]|0)+(c[w>>2]<<2)>>2]=c[(c[t>>2]|0)+36+(c[C>>2]<<3)>>2];if((c[C>>2]|0)==(c[s>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1}if((c[w>>2]|0)==(c[s>>2]|0))break a}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}b:do if((m|0)==17?(c[u>>2]|0)!=0:0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[s>>2]|0))break b;c[(c[u>>2]|0)+(c[r>>2]<<2)>>2]=c[(c[t>>2]|0)+36+(c[r>>2]<<3)>>2];c[r>>2]=(c[r>>2]|0)+1}}while(0);if(c[o>>2]|0){c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;f=c[n>>2]|0;i=x;return f|0}if(!(a[(c[q>>2]|0)+438>>0]|0)){f=c[q>>2]|0;g=c[(c[t>>2]|0)+8>>2]|0;c[v>>2]=c[c[c[t>>2]>>2]>>2];c[v+4>>2]=g;Se(f,22088,v)}Xb(c[c[q>>2]>>2]|0,c[u>>2]|0);c[n>>2]=1;f=c[n>>2]|0;i=x;return f|0}function au(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+20|0;o=l+16|0;j=l+12|0;m=l+8|0;k=l+4|0;n=l;g=l+24|0;c[o>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=c[(c[j>>2]|0)+12>>2];c[n>>2]=Fs(c[o>>2]|0)|0;d=(e[(c[j>>2]|0)+52>>1]|0)+1|0;d=Qe(0,d,((d|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=d;if(!(c[(c[j>>2]|0)+16>>2]|0)){a[(c[n>>2]|0)+64>>0]=1;c[h>>2]=0;d=c[h>>2]|0;i=l;return d|0}c[m>>2]=0;while(1){n=c[m>>2]|0;f=c[j>>2]|0;if((c[m>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[g>>1]=b[(c[f+4>>2]|0)+(n<<1)>>1]|0;if((b[g>>1]|0)<0)f=68;else f=a[(c[(c[k>>2]|0)+4>>2]|0)+((b[g>>1]|0)*24|0)+21>>0]|0;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[m>>2]|0)>>0]=f;c[m>>2]=(c[m>>2]|0)+1}a[(c[f+16>>2]|0)+n>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];d=c[h>>2]|0;i=l;return d|0}function bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[g>>2]=22080;else c[g>>2]=8776;Qf(c[f>>2]|0,8784,2,1,c[g>>2]|0,34,0,0,0)|0;Qf(c[f>>2]|0,8784,3,1,c[g>>2]|0,34,0,0,0)|0;Qf(c[f>>2]|0,8768,2,1,1208,34,0,0,0)|0;eu(c[f>>2]|0,8768,12);eu(c[f>>2]|0,8784,((c[e>>2]|0)!=0?12:4)&255);i=d;return}function cu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;f=b+4|0;e=b;c[d>>2]=a;c[f>>2]=0;c[e>>2]=(c[d>>2]|0)+116;while(1){if((c[f>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0){vs(c[d>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[f>>2]=(c[f>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=b;return}function du(b,e,f,g,h,j,k){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+64|0;r=w+52|0;p=w+48|0;x=w+44|0;l=w+40|0;o=w+36|0;v=w+32|0;m=w+28|0;z=w+24|0;n=w+20|0;u=w+16|0;A=w+12|0;t=w+8|0;q=w+4|0;s=w;c[p>>2]=b;c[x>>2]=e;c[l>>2]=f;c[o>>2]=g;c[v>>2]=h;c[m>>2]=j;c[z>>2]=k;if((d[(c[x>>2]|0)+44>>0]|0)&16){c[r>>2]=0;b=c[r>>2]|0;i=w;return b|0}c[u>>2]=Ve(c[c[p>>2]>>2]|0,c[(c[x>>2]|0)+68>>2]|0)|0;c[q>>2]=dp(c[p>>2]|0)|0;if((c[o>>2]|0)<0)c[o>>2]=c[(c[p>>2]|0)+68>>2];b=c[o>>2]|0;c[o>>2]=b+1;c[A>>2]=b;if(c[m>>2]|0)c[c[m>>2]>>2]=c[A>>2];do if(!((d[(c[x>>2]|0)+44>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){y=11;break}Kr(c[p>>2]|0,c[A>>2]|0,c[u>>2]|0,c[x>>2]|0,c[l>>2]|0)}else y=11;while(0);if((y|0)==11)Jr(c[p>>2]|0,c[u>>2]|0,c[(c[x>>2]|0)+32>>2]|0,(c[l>>2]|0)==55&255,c[c[x>>2]>>2]|0);if(c[z>>2]|0)c[c[z>>2]>>2]=c[o>>2];c[n>>2]=0;c[t>>2]=c[(c[x>>2]|0)+8>>2];while(1){y=c[o>>2]|0;if(!(c[t>>2]|0))break;c[o>>2]=y+1;c[s>>2]=y;if((a[(c[t>>2]|0)+55>>0]&3|0)==2?(c[m>>2]|0)!=0?((d[(c[x>>2]|0)+44>>0]|0)&32|0)!=0:0:0)c[c[m>>2]>>2]=c[s>>2];if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[n>>2]|0)+1)>>0]|0|0)==0:0)){ip(c[q>>2]|0,c[l>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+44>>2]|0,c[u>>2]|0)|0;Lr(c[p>>2]|0,c[t>>2]|0)}c[t>>2]=c[(c[t>>2]|0)+20>>2];c[n>>2]=(c[n>>2]|0)+1}if((y|0)>(c[(c[p>>2]|0)+68>>2]|0))c[(c[p>>2]|0)+68>>2]=c[o>>2];c[r>>2]=c[n>>2];b=c[r>>2]|0;i=w;return b|0}function eu(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+16|0;n=j+8|0;m=j+4|0;l=j+12|0;k=j;c[n>>2]=f;c[m>>2]=g;a[l>>0]=h;g=c[n>>2]|0;f=c[m>>2]|0;c[k>>2]=Sf(g,f,Mb(c[m>>2]|0)|0,2,1,0)|0;if(!(c[k>>2]|0)){i=j;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[l>>0]|0);i=j;return}function fu(b){b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[g>>2]=b;if((a[c[g>>2]>>0]|0)>=48?(a[c[g>>2]>>0]|0)<=50:0)c[f>>2]=(a[c[g>>2]>>0]|0)-48;else d=4;do if((d|0)==4){if(!(xc(c[g>>2]|0,21448)|0)){c[f>>2]=1;break}if(!(xc(c[g>>2]|0,4792)|0)){c[f>>2]=2;break}else{c[f>>2]=0;break}}while(0);i=e;return c[f>>2]|0}function gu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e;c[g>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[g>>2]|0)){i=e;return}b=c[f+4>>2]|0;a=(c[g>>2]|0)+16|0;c[a>>2]=c[f>>2];c[a+4>>2]=b;i=e;return}function hu(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+12|0;m=g+8|0;j=g+4|0;k=g;l=g+16|0;c[h>>2]=d;c[m>>2]=f;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)!=0)){i=g;return}c[j>>2]=(c[h>>2]|0)+((c[m>>2]|0)*40|0);c[k>>2]=c[(c[h>>2]|0)+32>>2];a[l>>0]=a[(c[k>>2]|0)+64>>0]|0;if(c[(c[k>>2]|0)+520>>2]|0){do{if(c[(c[h>>2]|0)+24>>2]|0)Xb(c[k>>2]|0,c[(c[h>>2]|0)+20>>2]|0);d=(c[h>>2]|0)+40|0;c[h>>2]=d}while(d>>>0<(c[j>>2]|0)>>>0);i=g;return}do{f=c[h>>2]|0;if(!((e[(c[h>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Xb(c[k>>2]|0,c[(c[h>>2]|0)+20>>2]|0);c[(c[h>>2]|0)+24>>2]=0}}else Bd(f);b[(c[h>>2]|0)+8>>1]=128;d=(c[h>>2]|0)+40|0;c[h>>2]=d}while(d>>>0<(c[j>>2]|0)>>>0);a[(c[k>>2]|0)+64>>0]=a[l>>0]|0;i=g;return}function iu(a,b,d,e){a=a|0;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,o=0;l=i;i=i+64|0;f=l;g=l+36|0;o=l+32|0;h=l+28|0;j=l+24|0;n=l+20|0;k=l+16|0;m=l+40|0;c[g>>2]=a;c[o>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>4)break;c[f>>2]=c[n>>2];sc(24,m,23336,f)|0;if(sp(c[c[g>>2]>>2]|0,m,c[k>>2]|0)|0){o=c[g>>2]|0;b=c[h>>2]|0;a=c[j>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=m;c[f+8>>2]=b;c[f+12>>2]=a;cp(o,18480,f)}c[n>>2]=(c[n>>2]|0)+1}i=l;return}function ju(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,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=dp(c[g>>2]|0)|0;c[f>>2]=kp(c[g>>2]|0)|0;ip(c[k>>2]|0,117,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Sp(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?14904:14928;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;cp(a,23280,h);lp(c[g>>2]|0,c[f>>2]|0);i=e;return}function ku(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;h=i;i=i+48|0;n=h+36|0;r=h+32|0;o=h+28|0;k=h+24|0;g=h+20|0;l=h+16|0;m=h+12|0;j=h+8|0;q=h+4|0;p=h;c[r>>2]=a;c[o>>2]=b;c[k>>2]=d;c[g>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];do if(!(c[j>>2]&(c[j>>2]|0)-1)){if(!(c[j>>2]|0))f=1;else f=c[j>>2]<<1;c[q>>2]=f;a=$(c[q>>2]|0,c[k>>2]|0)|0;c[p>>2]=Fk(c[r>>2]|0,c[o>>2]|0,a,((a|0)<0)<<31>>31)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];break}c[c[l>>2]>>2]=-1;c[n>>2]=c[o>>2];a=c[n>>2]|0;i=h;return a|0}while(0);c[m>>2]=c[o>>2];a=$(c[j>>2]|0,c[k>>2]|0)|0;_E((c[m>>2]|0)+a|0,0,c[k>>2]|0)|0;c[c[l>>2]>>2]=c[j>>2];a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[n>>2]=c[o>>2];a=c[n>>2]|0;i=h;return a|0}function lu(a,b,e,f,g){a=a|0;b=b|0;e=e|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;k=i;i=i+32|0;q=k+28|0;p=k+24|0;h=k+20|0;n=k+16|0;l=k+12|0;o=k+8|0;j=k+4|0;m=k;c[q>>2]=a;c[p>>2]=b;c[h>>2]=e;c[n>>2]=f;c[l>>2]=g;c[o>>2]=0;c[j>>2]=0;if(c[(c[c[q>>2]>>2]|0)+24>>2]&8388608)c[j>>2]=wp(c[q>>2]|0,c[p>>2]|0)|0;c[m>>2]=c[j>>2];while(1){if(!(c[m>>2]|0))break;if((d[(c[m>>2]|0)+8>>0]|0|0)==(c[h>>2]|0)?(ex(c[(c[m>>2]|0)+16>>2]|0,c[n>>2]|0)|0)!=0:0)c[o>>2]=c[o>>2]|(d[(c[m>>2]|0)+9>>0]|0);c[m>>2]=c[(c[m>>2]|0)+32>>2]}if(!(c[l>>2]|0)){b=c[o>>2]|0;b=(b|0)!=0;a=c[j>>2]|0;a=b?a:0;i=k;return a|0}c[c[l>>2]>>2]=c[o>>2];b=c[o>>2]|0;b=(b|0)!=0;a=c[j>>2]|0;a=b?a:0;i=k;return a|0}function mu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l;k=l+16|0;g=l+12|0;h=l+8|0;m=l+4|0;c[g>>2]=a;c[h>>2]=b;c[m>>2]=e;if(!(((d[(c[h>>2]|0)+44>>0]|0)&16|0)!=0?(c[(c[c[(Rp(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))f=3;do if((f|0)==3){if((((d[(c[h>>2]|0)+44>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[m>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){a=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];Se(a,24480,j);c[k>>2]=1;a=c[k>>2]|0;i=l;return a|0}c[k>>2]=0;a=c[k>>2]|0;i=l;return a|0}while(0);a=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];Se(a,24448,j);c[k>>2]=1;a=c[k>>2]|0;i=l;return a|0}function nu(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function ou(f,g,h,j,k){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+112|0;v=l+100|0;p=l+96|0;n=l+92|0;H=l+88|0;E=l+84|0;w=l+80|0;K=l+76|0;o=l+72|0;q=l+68|0;m=l+64|0;I=l+60|0;J=l+56|0;s=l+52|0;r=l+48|0;A=l+44|0;z=l+40|0;C=l+36|0;B=l+32|0;u=l+28|0;t=l+24|0;D=l+20|0;F=l+16|0;x=l+12|0;y=l+8|0;L=l+4|0;G=l;c[p>>2]=f;c[n>>2]=g;c[H>>2]=h;c[E>>2]=j;c[w>>2]=k;c[B>>2]=0;c[u>>2]=0;c[F>>2]=0;if(!(c[H>>2]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((c[(c[p>>2]|0)+532>>2]|0)==0?(c[(c[H>>2]|0)+68>>2]|0)==0:0){if(wp(c[p>>2]|0,c[n>>2]|0)|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(d[(c[n>>2]|0)+44>>0]&16){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((c[E>>2]|0)==10){if((b[(c[n>>2]|0)+36>>1]|0)>=0)c[E>>2]=d[(c[n>>2]|0)+45>>0];if((c[E>>2]|0)==10)c[E>>2]=2}if((c[c[(c[H>>2]|0)+32>>2]>>2]|0)!=1){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[(c[H>>2]|0)+32>>2]|0)+28>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+36>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+48>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+40>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+60>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+52>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(e[(c[H>>2]|0)+6>>1]&1){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}c[K>>2]=c[c[H>>2]>>2];if((c[c[K>>2]>>2]|0)!=1){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((d[c[c[(c[K>>2]|0)+4>>2]>>2]>>0]|0)!=116){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}c[I>>2]=(c[(c[H>>2]|0)+32>>2]|0)+8;c[o>>2]=np(c[p>>2]|0,0,c[I>>2]|0)|0;if(!(c[o>>2]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((c[o>>2]|0)==(c[n>>2]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(((d[(c[n>>2]|0)+44>>0]&32|0)==0|0)!=((d[(c[o>>2]|0)+44>>0]&32|0)==0|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(d[(c[o>>2]|0)+44>>0]&16){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[o>>2]|0)+12>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((b[(c[n>>2]|0)+38>>1]|0)!=(b[(c[o>>2]|0)+38>>1]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((b[(c[n>>2]|0)+36>>1]|0)!=(b[(c[o>>2]|0)+36>>1]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}c[J>>2]=0;a:while(1){if((c[J>>2]|0)>=(b[(c[n>>2]|0)+38>>1]|0)){G=64;break}c[L>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0);c[G>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0);if((a[(c[L>>2]|0)+21>>0]|0)!=(a[(c[G>>2]|0)+21>>0]|0)){G=52;break}if(!(fx(c[(c[L>>2]|0)+16>>2]|0,c[(c[G>>2]|0)+16>>2]|0)|0)){G=54;break}if((d[(c[L>>2]|0)+20>>0]|0)!=0?(a[(c[G>>2]|0)+20>>0]|0)==0:0){G=57;break}do if((c[J>>2]|0)>0){if(((c[(c[L>>2]|0)+8>>2]|0)==0|0)!=((c[(c[G>>2]|0)+8>>2]|0)==0|0)){G=62;break a}if(!(c[(c[L>>2]|0)+8>>2]|0))break;if(UE(c[(c[L>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+8>>2]|0)|0){G=62;break a}}while(0);c[J>>2]=(c[J>>2]|0)+1}if((G|0)==52){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else if((G|0)==54){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else if((G|0)==57){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else if((G|0)==62){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else if((G|0)==64){c[m>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+54>>0]|0)c[F>>2]=1;c[q>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(gx(c[m>>2]|0,c[q>>2]|0)|0)break;c[q>>2]=c[(c[q>>2]|0)+20>>2]}if(!(c[q>>2]|0)){G=73;break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}if((G|0)==73){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}do if(c[(c[n>>2]|0)+24>>2]|0){if(!(Eq(c[(c[o>>2]|0)+24>>2]|0,c[(c[n>>2]|0)+24>>2]|0,-1)|0))break;c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}while(0);do if(c[(c[c[p>>2]>>2]|0)+24>>2]&524288){if(!(c[(c[n>>2]|0)+16>>2]|0))break;c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}while(0);if(c[(c[c[p>>2]>>2]|0)+24>>2]&128){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}c[s>>2]=Ve(c[c[p>>2]>>2]|0,c[(c[o>>2]|0)+68>>2]|0)|0;c[t>>2]=dp(c[p>>2]|0)|0;qp(c[p>>2]|0,c[s>>2]|0);f=(c[p>>2]|0)+68|0;g=c[f>>2]|0;c[f>>2]=g+1;c[r>>2]=g;g=(c[p>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[A>>2]=f;c[D>>2]=pu(c[p>>2]|0,c[w>>2]|0,c[n>>2]|0)|0;c[x>>2]=kp(c[p>>2]|0)|0;c[y>>2]=kp(c[p>>2]|0)|0;Kr(c[p>>2]|0,c[A>>2]|0,c[w>>2]|0,c[n>>2]|0,55);if((b[(c[n>>2]|0)+36>>1]|0)<0)if((c[F>>2]|0)!=0?1:(c[(c[n>>2]|0)+8>>2]|0)!=0)G=87;else G=86;else if(c[F>>2]|0)G=87;else G=86;if((G|0)==86?(c[E>>2]|0)!=2&(c[E>>2]|0)!=1:0)G=87;if((G|0)==87){c[z>>2]=fp(c[t>>2]|0,108,c[A>>2]|0,0)|0;c[B>>2]=fp(c[t>>2]|0,16,0,0)|0;zp(c[t>>2]|0,c[z>>2]|0)}F=c[p>>2]|0;if(!(d[(c[o>>2]|0)+44>>0]&32)){Kr(F,c[r>>2]|0,c[s>>2]|0,c[o>>2]|0,54);c[u>>2]=fp(c[t>>2]|0,108,c[r>>2]|0,0)|0;do if((b[(c[n>>2]|0)+36>>1]|0)<0){C=c[t>>2]|0;if(!(c[(c[n>>2]|0)+8>>2]|0)){c[z>>2]=fp(C,74,c[A>>2]|0,c[y>>2]|0)|0;break}else{c[z>>2]=fp(C,103,c[r>>2]|0,c[y>>2]|0)|0;break}}else{c[z>>2]=fp(c[t>>2]|0,103,c[r>>2]|0,c[y>>2]|0)|0;c[C>>2]=ip(c[t>>2]|0,70,c[A>>2]|0,0,c[y>>2]|0)|0;bw(c[p>>2]|0,c[E>>2]|0,c[n>>2]|0);zp(c[t>>2]|0,c[C>>2]|0);uu(c[p>>2]|0,c[D>>2]|0,c[y>>2]|0)}while(0);fp(c[t>>2]|0,102,c[r>>2]|0,c[x>>2]|0)|0;ip(c[t>>2]|0,75,c[A>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Xe(c[t>>2]|0,11);bf(c[t>>2]|0,-1,c[c[n>>2]>>2]|0,0);fp(c[t>>2]|0,9,c[r>>2]|0,c[z>>2]|0)|0;fp(c[t>>2]|0,61,c[r>>2]|0,0)|0;fp(c[t>>2]|0,61,c[A>>2]|0,0)|0}else{Jr(F,c[w>>2]|0,c[(c[n>>2]|0)+32>>2]|0,1,c[c[n>>2]>>2]|0);Jr(c[p>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+32>>2]|0,0,c[c[o>>2]>>2]|0)}c[m>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;c[q>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(gx(c[m>>2]|0,c[q>>2]|0)|0)break;c[q>>2]=c[(c[q>>2]|0)+20>>2]}ip(c[t>>2]|0,54,c[r>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[s>>2]|0)|0;Lr(c[p>>2]|0,c[q>>2]|0);ip(c[t>>2]|0,55,c[A>>2]|0,c[(c[m>>2]|0)+44>>2]|0,c[w>>2]|0)|0;Lr(c[p>>2]|0,c[m>>2]|0);Xe(c[t>>2]|0,1);c[z>>2]=fp(c[t>>2]|0,108,c[r>>2]|0,0)|0;fp(c[t>>2]|0,101,c[r>>2]|0,c[x>>2]|0)|0;ip(c[t>>2]|0,110,c[A>>2]|0,c[x>>2]|0,1)|0;fp(c[t>>2]|0,9,c[r>>2]|0,(c[z>>2]|0)+1|0)|0;zp(c[t>>2]|0,c[z>>2]|0);fp(c[t>>2]|0,61,c[r>>2]|0,0)|0;fp(c[t>>2]|0,61,c[A>>2]|0,0)|0;c[m>>2]=c[(c[m>>2]|0)+20>>2]}if(c[u>>2]|0)zp(c[t>>2]|0,c[u>>2]|0);lp(c[p>>2]|0,c[y>>2]|0);lp(c[p>>2]|0,c[x>>2]|0);if(c[B>>2]|0){fp(c[t>>2]|0,24,0,0)|0;zp(c[t>>2]|0,c[B>>2]|0);fp(c[t>>2]|0,61,c[A>>2]|0,0)|0;c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else{c[v>>2]=1;f=c[v>>2]|0;i=l;return f|0}}}c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}function pu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;g=h+24|0;n=h+20|0;f=h+16|0;l=h+12|0;m=h+8|0;k=h+4|0;j=h;c[n>>2]=a;c[f>>2]=b;c[l>>2]=e;c[m>>2]=0;if((d[(c[l>>2]|0)+44>>0]|0)&8){e=c[n>>2]|0;if(c[(c[n>>2]|0)+408>>2]|0)e=c[e+408>>2]|0;c[k>>2]=e;c[j>>2]=c[(c[k>>2]|0)+404>>2];while(1){if(c[j>>2]|0)b=(c[(c[j>>2]|0)+4>>2]|0)!=(c[l>>2]|0);else b=0;e=c[j>>2]|0;if(!b)break;c[j>>2]=c[e>>2]}do if(!e){c[j>>2]=Qe(c[c[n>>2]>>2]|0,16,0)|0;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[k>>2]|0)+404>>2];c[(c[k>>2]|0)+404>>2]=c[j>>2];c[(c[j>>2]|0)+4>>2]=c[l>>2];c[(c[j>>2]|0)+8>>2]=c[f>>2];b=(c[k>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+1;b=(c[k>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[(c[j>>2]|0)+12>>2]=a;a=(c[k>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+1;break}c[g>>2]=0;a=c[g>>2]|0;i=h;return a|0}while(0);c[m>>2]=c[(c[j>>2]|0)+12>>2]}c[g>>2]=c[m>>2];a=c[g>>2]|0;i=h;return a|0}function qu(a,b,e){a=a|0;b=b|0;e=e|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;f=i;i=i+48|0;g=f+40|0;r=f+36|0;p=f+32|0;n=f+28|0;l=f+24|0;o=f+20|0;q=f+16|0;m=f+12|0;k=f+8|0;j=f+4|0;h=f;c[r>>2]=a;c[p>>2]=b;c[n>>2]=e;c[l>>2]=dp(c[r>>2]|0)|0;c[q>>2]=Mr(c[l>>2]|0)|0;if((d[(c[n>>2]|0)+44>>0]|0)&16)e=Rp(c[c[r>>2]>>2]|0,c[n>>2]|0)|0;else e=0;c[m>>2]=e;c[o>>2]=1;a:while(1){if((c[o>>2]|0)>=(c[q>>2]|0)){h=18;break}c[k>>2]=dt(c[l>>2]|0,c[o>>2]|0)|0;b:do if((d[c[k>>2]>>0]|0|0)==54?(c[(c[k>>2]|0)+12>>2]|0)==(c[p>>2]|0):0){c[h>>2]=c[(c[k>>2]|0)+8>>2];if((c[h>>2]|0)==(c[(c[n>>2]|0)+32>>2]|0)){h=8;break a}c[j>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break b;if((c[h>>2]|0)==(c[(c[j>>2]|0)+44>>2]|0)){h=12;break a}c[j>>2]=c[(c[j>>2]|0)+20>>2]}}while(0);if((d[c[k>>2]>>0]|0|0)==147?(c[(c[k>>2]|0)+16>>2]|0)==(c[m>>2]|0):0){h=16;break}c[o>>2]=(c[o>>2]|0)+1}if((h|0)==8){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}else if((h|0)==12){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}else if((h|0)==16){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}else if((h|0)==18){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}return 0}function ru(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;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];Os(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);b=(c[k>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[f>>2]=a;fp(c[j>>2]|0,33,c[h>>2]|0,c[f>>2]|0)|0;Zs(c[g>>2]|0,c[f>>2]|0);i=e;return}function su(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;m=j+20|0;n=j+16|0;h=j+12|0;k=j+8|0;g=j+4|0;l=j;c[m>>2]=d;c[n>>2]=e;c[h>>2]=f;c[g>>2]=c[(c[n>>2]|0)+20>>2];if(!(c[g>>2]|0)){c[l>>2]=Fs(c[m>>2]|0)|0;d=(b[(c[n>>2]|0)+38>>1]|0)+1|0;c[g>>2]=Qe(0,d,((d|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){a[(c[l>>2]|0)+64>>0]=1;i=j;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[n>>2]|0)+38>>1]|0))break;a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[n>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+21>>0]|0;c[k>>2]=(c[k>>2]|0)+1}do{d=c[k>>2]|0;c[k>>2]=d+ -1;a[(c[g>>2]|0)+d>>0]=0;if((c[k>>2]|0)<0)break}while((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)==65);c[(c[n>>2]|0)+20>>2]=c[g>>2]}c[k>>2]=Mb(c[g>>2]|0)|0;if(!(c[k>>2]|0)){i=j;return}f=c[m>>2]|0;if(c[h>>2]|0){hp(f,48,c[h>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[k>>2]|0)|0;i=j;return}else{bf(f,-1,c[g>>2]|0,c[k>>2]|0);i=j;return}}function tu(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+48|0;n=u+36|0;w=u+32|0;m=u+28|0;t=u+24|0;v=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;o=u;c[n>>2]=a;c[w>>2]=b;c[m>>2]=e;c[t>>2]=f;c[v>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[o>>2]=c[w>>2];while(1){if(!(c[o>>2]|0))break;if(((d[(c[o>>2]|0)+8>>0]|0|0)==(c[m>>2]|0)?(d[(c[o>>2]|0)+9>>0]|0|0)==(c[v>>2]|0):0)?(ex(c[(c[o>>2]|0)+16>>2]|0,c[t>>2]|0)|0)!=0:0)kw(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}i=u;return}function uu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<=0){i=e;return}fp(c[(c[f>>2]|0)+8>>2]|0,136,c[g>>2]|0,c[h>>2]|0)|0;i=e;return}function vu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(Vs(c[g>>2]|0)|0)!=0:0){ct(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}Os(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function wu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;h=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;k=j;c[m>>2]=b;c[h>>2]=d;d=c[m>>2]|0;if(c[(c[m>>2]|0)+408>>2]|0)d=c[d+408>>2]|0;c[g>>2]=d;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[g>>2]|0)+452>>2]|0))break;if((c[h>>2]|0)==(c[(c[(c[g>>2]|0)+520>>2]|0)+(c[l>>2]<<2)>>2]|0)){f=10;break}c[l>>2]=(c[l>>2]|0)+1}if((f|0)==10){i=j;return}c[e>>2]=(c[(c[g>>2]|0)+452>>2]|0)+1<<2;c[k>>2]=jc(c[(c[g>>2]|0)+520>>2]|0,c[e>>2]|0)|0;if(c[k>>2]|0){c[(c[g>>2]|0)+520>>2]=c[k>>2];b=c[h>>2]|0;d=(c[g>>2]|0)+452|0;m=c[d>>2]|0;c[d>>2]=m+1;c[(c[(c[g>>2]|0)+520>>2]|0)+(m<<2)>>2]=b;i=j;return}else{a[(c[c[g>>2]>>2]|0)+64>>0]=1;i=j;return}}function xu(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;aa=i;i=i+176|0;ka=aa;D=aa+168|0;v=aa+164|0;x=aa+160|0;X=aa+156|0;A=aa+152|0;z=aa+148|0;Q=aa+144|0;I=aa+175|0;N=aa+174|0;s=aa+140|0;$=aa+136|0;V=aa+132|0;w=aa+128|0;H=aa+124|0;Y=aa+120|0;F=aa+116|0;u=aa+112|0;ha=aa+108|0;M=aa+104|0;ja=aa+100|0;W=aa+96|0;O=aa+92|0;K=aa+88|0;t=aa+84|0;G=aa+173|0;y=aa+172|0;L=aa+80|0;ia=aa+76|0;ca=aa+72|0;ea=aa+68|0;da=aa+64|0;ga=aa+60|0;ba=aa+56|0;E=aa+52|0;P=aa+48|0;B=aa+44|0;C=aa+40|0;J=aa+36|0;r=aa+32|0;R=aa+28|0;S=aa+24|0;T=aa+20|0;U=aa+16|0;Z=aa+12|0;_=aa+8|0;c[D>>2]=f;c[v>>2]=g;c[x>>2]=h;c[X>>2]=j;c[A>>2]=k;c[z>>2]=l;c[Q>>2]=m;a[I>>0]=n;a[N>>0]=o;c[s>>2]=p;c[$>>2]=q;c[H>>2]=0;c[W>>2]=0;c[K>>2]=0;c[t>>2]=0;a[y>>0]=0;c[L>>2]=-1;a[G>>0]=(c[Q>>2]|0)!=0;c[Y>>2]=c[c[D>>2]>>2];c[V>>2]=dp(c[D>>2]|0)|0;c[ha>>2]=b[(c[v>>2]|0)+38>>1];if(!(d[(c[v>>2]|0)+44>>0]&32)){c[H>>2]=0;c[O>>2]=1}else{c[H>>2]=Zr(c[v>>2]|0)|0;c[O>>2]=e[(c[H>>2]|0)+50>>1]}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[ha>>2]|0))break;do if((c[F>>2]|0)!=(b[(c[v>>2]|0)+36>>1]|0)?(c[M>>2]=d[(c[(c[v>>2]|0)+4>>2]|0)+((c[F>>2]|0)*24|0)+20>>0],(c[M>>2]|0)!=0):0){if((d[N>>0]|0)==10){if((c[M>>2]|0)==10)c[M>>2]=2}else c[M>>2]=d[N>>0];if((c[M>>2]|0)==5?(c[(c[(c[v>>2]|0)+4>>2]|0)+((c[F>>2]|0)*24|0)+4>>2]|0)==0:0)c[M>>2]=2;q=c[M>>2]|0;if((q|0)==4){fp(c[V>>2]|0,76,(c[z>>2]|0)+1+(c[F>>2]|0)|0,c[s>>2]|0)|0;break}else if((q|0)==2)Sp(c[D>>2]|0);else if(!((q|0)==3|(q|0)==1)){c[ja>>2]=Ir(c[V>>2]|0,77,(c[z>>2]|0)+1+(c[F>>2]|0)|0)|0;Os(c[D>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[F>>2]|0)*24|0)+4>>2]|0,(c[z>>2]|0)+1+(c[F>>2]|0)|0);zp(c[V>>2]|0,c[ja>>2]|0);break}f=c[Y>>2]|0;g=c[(c[(c[v>>2]|0)+4>>2]|0)+((c[F>>2]|0)*24|0)>>2]|0;c[ka>>2]=c[c[v>>2]>>2];c[ka+4>>2]=g;c[ia>>2]=Te(f,17448,ka)|0;hp(c[V>>2]|0,23,1299,c[M>>2]|0,(c[z>>2]|0)+1+(c[F>>2]|0)|0,c[ia>>2]|0,-1)|0;Xe(c[V>>2]|0,1)}while(0);c[F>>2]=(c[F>>2]|0)+1}a:do if((c[(c[v>>2]|0)+24>>2]|0)!=0?(c[(c[Y>>2]|0)+24>>2]&8192|0)==0:0){c[ca>>2]=c[(c[v>>2]|0)+24>>2];c[(c[D>>2]|0)+92>>2]=(c[z>>2]|0)+1;if((d[N>>0]|0)!=10)ha=d[N>>0]|0;else ha=2;c[M>>2]=ha;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[c[ca>>2]>>2]|0))break a;c[ea>>2]=Nr(c[V>>2]|0)|0;Gs(c[D>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)>>2]|0,c[ea>>2]|0,16);if((c[M>>2]|0)==4)fp(c[V>>2]|0,16,0,c[s>>2]|0)|0;else{c[da>>2]=c[(c[(c[ca>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)+4>>2];if(!(c[da>>2]|0))c[da>>2]=c[c[v>>2]>>2];if((c[M>>2]|0)==5)c[M>>2]=2;ts(c[D>>2]|0,275,c[M>>2]|0,c[da>>2]|0,0,3)}Pr(c[V>>2]|0,c[ea>>2]|0);c[F>>2]=(c[F>>2]|0)+1}}while(0);if((d[I>>0]|0)!=0&(c[H>>2]|0)==0){c[ga>>2]=Nr(c[V>>2]|0)|0;c[M>>2]=d[(c[v>>2]|0)+45>>0];if((d[N>>0]|0)==10){if((c[M>>2]|0)==10)c[M>>2]=2}else c[M>>2]=d[N>>0];if(a[G>>0]|0){ip(c[V>>2]|0,79,c[z>>2]|0,c[ga>>2]|0,c[Q>>2]|0)|0;Xe(c[V>>2]|0,-112)}b:do if((c[M>>2]|0)==5?(d[N>>0]|0)!=5:0){c[w>>2]=c[(c[v>>2]|0)+8>>2];while(1){if(!(c[w>>2]|0))break b;if((d[(c[w>>2]|0)+54>>0]|0)==4)break;if((d[(c[w>>2]|0)+54>>0]|0)==3)break;c[w>>2]=c[(c[w>>2]|0)+20>>2]}c[K>>2]=mp(c[V>>2]|0,16)|0}while(0);ip(c[V>>2]|0,70,c[X>>2]|0,c[ga>>2]|0,c[z>>2]|0)|0;switch(c[M>>2]|0){case 4:{fp(c[V>>2]|0,16,0,c[s>>2]|0)|0;break};case 5:{c[ba>>2]=0;if(c[(c[Y>>2]|0)+24>>2]&262144)c[ba>>2]=lu(c[D>>2]|0,c[v>>2]|0,109,0,0)|0;if((c[ba>>2]|0)==0?(cw(c[D>>2]|0,c[v>>2]|0,0,0)|0)==0:0){if(c[(c[v>>2]|0)+8>>2]|0){dw(c[D>>2]|0);fw(c[D>>2]|0,c[v>>2]|0,c[X>>2]|0,c[A>>2]|0,0)}}else{dw(c[D>>2]|0);ew(c[D>>2]|0,c[v>>2]|0,c[ba>>2]|0,c[X>>2]|0,c[A>>2]|0,c[z>>2]|0,1,0,5,1)}c[W>>2]=1;break};case 3:case 2:case 1:{fa=52;break};default:{c[M>>2]=2;fa=52}}if((fa|0)==52)bw(c[D>>2]|0,c[M>>2]|0,c[v>>2]|0);Pr(c[V>>2]|0,c[ga>>2]|0);if(c[K>>2]|0){c[t>>2]=mp(c[V>>2]|0,16)|0;zp(c[V>>2]|0,c[K>>2]|0)}}c[u>>2]=0;c[w>>2]=c[(c[v>>2]|0)+8>>2];while(1){if(!(c[w>>2]|0))break;do if(c[(c[x>>2]|0)+(c[u>>2]<<2)>>2]|0){if(!(d[y>>0]|0)){su(c[V>>2]|0,c[v>>2]|0,(c[z>>2]|0)+1|0);a[y>>0]=1}c[B>>2]=(c[A>>2]|0)+(c[u>>2]|0);c[C>>2]=Nr(c[V>>2]|0)|0;if(c[(c[w>>2]|0)+36>>2]|0){fp(c[V>>2]|0,28,0,c[(c[x>>2]|0)+(c[u>>2]<<2)>>2]|0)|0;c[(c[D>>2]|0)+92>>2]=(c[z>>2]|0)+1;xs(c[D>>2]|0,c[(c[w>>2]|0)+36>>2]|0,c[C>>2]|0,16);c[(c[D>>2]|0)+92>>2]=0}c[E>>2]=ys(c[D>>2]|0,e[(c[w>>2]|0)+52>>1]|0)|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[w>>2]|0)+52>>1]|0))break;c[J>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1];if((c[J>>2]|0)>=0?(c[J>>2]|0)!=(b[(c[v>>2]|0)+36>>1]|0):0){c[r>>2]=(c[J>>2]|0)+(c[z>>2]|0)+1;fa=80}else fa=75;if((fa|0)==75?(fa=0,(c[L>>2]|0)!=((c[E>>2]|0)+(c[F>>2]|0)|0)):0){c[r>>2]=c[z>>2];if(c[(c[w>>2]|0)+36>>2]|0)ba=-1;else ba=(c[E>>2]|0)+(c[F>>2]|0)|0;c[L>>2]=ba;fa=80}if((fa|0)==80)fp(c[V>>2]|0,34,c[r>>2]|0,(c[E>>2]|0)+(c[F>>2]|0)|0)|0;c[F>>2]=(c[F>>2]|0)+1}ip(c[V>>2]|0,49,c[E>>2]|0,e[(c[w>>2]|0)+52>>1]|0,c[(c[x>>2]|0)+(c[u>>2]<<2)>>2]|0)|0;Us(c[D>>2]|0,c[E>>2]|0,e[(c[w>>2]|0)+52>>1]|0);if(((d[G>>0]|0)!=0?(c[H>>2]|0)==(c[w>>2]|0):0)?(d[I>>0]|0)==0:0){Pr(c[V>>2]|0,c[C>>2]|0);break}c[M>>2]=d[(c[w>>2]|0)+54>>0];if(!(c[M>>2]|0)){Bs(c[D>>2]|0,c[E>>2]|0,e[(c[w>>2]|0)+52>>1]|0);Pr(c[V>>2]|0,c[C>>2]|0);break}if((d[N>>0]|0)==10){if((c[M>>2]|0)==10)c[M>>2]=2}else c[M>>2]=d[N>>0];We(c[V>>2]|0,67,c[B>>2]|0,c[C>>2]|0,c[E>>2]|0,e[(c[w>>2]|0)+50>>1]|0)|0;if((c[w>>2]|0)==(c[H>>2]|0))ba=c[E>>2]|0;else ba=ys(c[D>>2]|0,c[O>>2]|0)|0;c[P>>2]=ba;c:do if((d[G>>0]|0)!=0|(c[M>>2]|0)==5){if(!(d[(c[v>>2]|0)+44>>0]&32)){fp(c[V>>2]|0,112,c[B>>2]|0,c[P>>2]|0)|0;if(!(a[G>>0]|0))break;ip(c[V>>2]|0,79,c[P>>2]|0,c[C>>2]|0,c[Q>>2]|0)|0;Xe(c[V>>2]|0,-112);break}d:do if((c[w>>2]|0)!=(c[H>>2]|0)){c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[H>>2]|0)+50>>1]|0))break d;c[R>>2]=(Ds(c[w>>2]|0,b[(c[(c[H>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]|0)|0)<<16>>16;ip(c[V>>2]|0,47,c[B>>2]|0,c[R>>2]|0,(c[P>>2]|0)+(c[F>>2]|0)|0)|0;c[F>>2]=(c[F>>2]|0)+1}}while(0);if(a[G>>0]|0){f=Mr(c[V>>2]|0)|0;c[S>>2]=f+(e[(c[H>>2]|0)+50>>1]|0);c[T>>2]=78;c[U>>2]=(a[(c[w>>2]|0)+55>>0]&3|0)==2?c[E>>2]|0:c[P>>2]|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[H>>2]|0)+50>>1]|0))break c;c[Z>>2]=Or(c[D>>2]|0,c[(c[(c[H>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[R>>2]=b[(c[(c[H>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1];if((c[F>>2]|0)==((e[(c[H>>2]|0)+50>>1]|0)-1|0)){c[S>>2]=c[C>>2];c[T>>2]=79}hp(c[V>>2]|0,c[T>>2]|0,(c[Q>>2]|0)+1+(c[R>>2]|0)|0,c[S>>2]|0,(c[U>>2]|0)+(c[F>>2]|0)|0,c[Z>>2]|0,-4)|0;Xe(c[V>>2]|0,-112);c[F>>2]=(c[F>>2]|0)+1}}}while(0);ba=c[M>>2]|0;if((ba|0)==3|(ba|0)==2|(ba|0)==1)rs(c[D>>2]|0,c[M>>2]|0,c[w>>2]|0);else if((ba|0)==4)fp(c[V>>2]|0,16,0,c[s>>2]|0)|0;else{c[_>>2]=0;dw(c[D>>2]|0);if(c[(c[Y>>2]|0)+24>>2]&262144)c[_>>2]=lu(c[D>>2]|0,c[v>>2]|0,109,0,0)|0;ew(c[D>>2]|0,c[v>>2]|0,c[_>>2]|0,c[X>>2]|0,c[A>>2]|0,c[P>>2]|0,c[O>>2]&65535,0,5,(c[w>>2]|0)==(c[H>>2]|0)&255);c[W>>2]=1}Pr(c[V>>2]|0,c[C>>2]|0);Bs(c[D>>2]|0,c[E>>2]|0,e[(c[w>>2]|0)+52>>1]|0);if((c[P>>2]|0)!=(c[E>>2]|0))Bs(c[D>>2]|0,c[P>>2]|0,c[O>>2]|0)}while(0);c[w>>2]=c[(c[w>>2]|0)+20>>2];c[u>>2]=(c[u>>2]|0)+1}if(!(c[K>>2]|0)){g=c[W>>2]|0;f=c[$>>2]|0;c[f>>2]=g;i=aa;return}fp(c[V>>2]|0,16,0,(c[K>>2]|0)+1|0)|0;zp(c[V>>2]|0,c[t>>2]|0);g=c[W>>2]|0;f=c[$>>2]|0;c[f>>2]=g;i=aa;return}function yu(e,f,g,h,j,k){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,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;D=i;i=i+112|0;p=D+104|0;q=D+100|0;z=D+96|0;y=D+92|0;r=D+88|0;s=D+84|0;o=D+80|0;n=D+76|0;A=D+72|0;K=D+68|0;v=D+64|0;B=D+60|0;C=D+56|0;I=D+52|0;l=D+48|0;J=D+44|0;F=D+40|0;E=D+36|0;L=D+32|0;M=D+28|0;N=D+24|0;H=D+20|0;G=D+16|0;t=D+12|0;w=D+8|0;u=D+4|0;x=D;c[p>>2]=e;c[q>>2]=f;c[z>>2]=g;c[y>>2]=h;c[r>>2]=j;c[s>>2]=k;c[o>>2]=c[c[p>>2]>>2];c[v>>2]=d[(c[p>>2]|0)+438>>0];if(!(c[(c[o>>2]|0)+24>>2]&524288)){i=D;return}c[A>>2]=Ve(c[o>>2]|0,c[(c[q>>2]|0)+68>>2]|0)|0;c[K>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[A>>2]<<4)>>2];c[n>>2]=c[(c[q>>2]|0)+16>>2];a:while(1){if(!(c[n>>2]|0)){m=38;break}c[C>>2]=0;c[I>>2]=0;c[E>>2]=0;if(!(((c[r>>2]|0)!=0?(xc(c[c[q>>2]>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0)!=0:0)?(Bu(c[q>>2]|0,c[n>>2]|0,c[r>>2]|0,c[s>>2]|0)|0)==0:0))m=7;do if((m|0)==7){m=0;if(a[(c[p>>2]|0)+438>>0]|0)c[B>>2]=sp(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[K>>2]|0)|0;else c[B>>2]=Re(c[p>>2]|0,0,c[(c[n>>2]|0)+8>>2]|0,c[K>>2]|0)|0;if((c[B>>2]|0)!=0?($t(c[p>>2]|0,c[B>>2]|0,c[n>>2]|0,C,I)|0)==0:0){if(c[I>>2]|0)c[l>>2]=c[I>>2];else{c[J>>2]=c[(c[n>>2]|0)+36>>2];c[l>>2]=J}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0))break;if((c[(c[l>>2]|0)+(c[F>>2]<<2)>>2]|0)==(b[(c[q>>2]|0)+36>>1]|0))c[(c[l>>2]|0)+(c[F>>2]<<2)>>2]=-1;if(c[(c[o>>2]|0)+284>>2]|0){if(c[C>>2]|0)k=b[(c[(c[C>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]|0;else k=b[(c[B>>2]|0)+36>>1]|0;c[G>>2]=c[(c[(c[B>>2]|0)+4>>2]|0)+((k<<16>>16)*24|0)>>2];c[H>>2]=$q(c[p>>2]|0,c[c[B>>2]>>2]|0,c[G>>2]|0,c[A>>2]|0)|0;c[E>>2]=(c[H>>2]|0)==2&1}c[F>>2]=(c[F>>2]|0)+1}Jr(c[p>>2]|0,c[A>>2]|0,c[(c[B>>2]|0)+32>>2]|0,0,c[c[B>>2]>>2]|0);e=(c[p>>2]|0)+68|0;c[e>>2]=(c[e>>2]|0)+1;if(c[z>>2]|0)Cu(c[p>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[n>>2]|0,c[l>>2]|0,c[z>>2]|0,-1,c[E>>2]|0);if(c[y>>2]|0)Cu(c[p>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[n>>2]|0,c[l>>2]|0,c[y>>2]|0,1,c[E>>2]|0);Xb(c[o>>2]|0,c[I>>2]|0);break}if(!(c[v>>2]|0)){m=57;break a}if(d[(c[o>>2]|0)+64>>0]|0){m=57;break a}if(!(c[B>>2]|0)){c[L>>2]=dp(c[p>>2]|0)|0;e=Mr(c[L>>2]|0)|0;c[M>>2]=e+(c[(c[n>>2]|0)+20>>2]|0)+1;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0))break;c[N>>2]=(c[(c[n>>2]|0)+36+(c[F>>2]<<3)>>2]|0)+(c[z>>2]|0)+1;fp(c[L>>2]|0,76,c[N>>2]|0,c[M>>2]|0)|0;c[F>>2]=(c[F>>2]|0)+1}fp(c[L>>2]|0,134,d[(c[n>>2]|0)+24>>0]|0,-1)|0}}while(0);c[n>>2]=c[(c[n>>2]|0)+4>>2]}if((m|0)==38){c[n>>2]=Up(c[q>>2]|0)|0;b:while(1){if(!(c[n>>2]|0)){m=57;break}c[t>>2]=0;c[u>>2]=0;if(!((c[r>>2]|0)!=0?(Du(c[q>>2]|0,c[n>>2]|0,c[r>>2]|0,c[s>>2]|0)|0)==0:0))m=42;do if((m|0)==42){m=0;if((((a[(c[n>>2]|0)+24>>0]|0)==0?(c[(c[o>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[p>>2]|0)+408>>2]|0)==0:0)?(a[(c[p>>2]|0)+20>>0]|0)==0:0)break;if($t(c[p>>2]|0,c[q>>2]|0,c[n>>2]|0,t,u)|0){if(!(c[v>>2]|0)){m=57;break b}if(d[(c[o>>2]|0)+64>>0]|0){m=57;break b}else break}c[w>>2]=ko(c[o>>2]|0,0,0,0)|0;if(c[w>>2]|0){c[x>>2]=(c[w>>2]|0)+8;c[(c[x>>2]|0)+16>>2]=c[c[n>>2]>>2];c[(c[x>>2]|0)+8>>2]=c[c[c[n>>2]>>2]>>2];f=(c[(c[x>>2]|0)+16>>2]|0)+40|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[p>>2]|0)+68|0;e=c[f>>2]|0;c[f>>2]=e+1;c[(c[x>>2]|0)+40>>2]=e;if(c[y>>2]|0)Eu(c[p>>2]|0,c[w>>2]|0,c[q>>2]|0,c[t>>2]|0,c[n>>2]|0,c[u>>2]|0,c[y>>2]|0,-1);if(c[z>>2]|0)Eu(c[p>>2]|0,c[w>>2]|0,c[q>>2]|0,c[t>>2]|0,c[n>>2]|0,c[u>>2]|0,c[z>>2]|0,1);c[(c[x>>2]|0)+8>>2]=0;vn(c[o>>2]|0,c[w>>2]|0)}Xb(c[o>>2]|0,c[u>>2]|0)}while(0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((m|0)==57){i=D;return}}else if((m|0)==57){i=D;return}}function zu(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;A=i;i=i+64|0;t=A+52|0;z=A+48|0;q=A+44|0;B=A+40|0;s=A+36|0;D=A+32|0;x=A+28|0;w=A+24|0;v=A+20|0;p=A+16|0;E=A+12|0;u=A+57|0;y=A+8|0;r=A+4|0;C=A;o=A+56|0;c[t>>2]=e;c[z>>2]=f;c[q>>2]=g;c[B>>2]=h;c[s>>2]=j;c[D>>2]=k;c[x>>2]=l;c[w>>2]=m;c[v>>2]=n;a[o>>0]=0;c[p>>2]=dp(c[t>>2]|0)|0;c[C>>2]=0;c[E>>2]=c[(c[z>>2]|0)+8>>2];while(1){if(!(c[E>>2]|0))break;if(c[(c[D>>2]|0)+(c[C>>2]<<2)>>2]|0){a[o>>0]=1;if(c[(c[E>>2]|0)+36>>2]|0){f=c[p>>2]|0;e=c[(c[D>>2]|0)+(c[C>>2]<<2)>>2]|0;fp(f,76,e,(Mr(c[p>>2]|0)|0)+2|0)|0}fp(c[p>>2]|0,110,(c[B>>2]|0)+(c[C>>2]|0)|0,c[(c[D>>2]|0)+(c[C>>2]<<2)>>2]|0)|0;a[u>>0]=0;a[u>>0]=(c[v>>2]|0)!=0?16:0;if((a[(c[E>>2]|0)+55>>0]&3|0)==2?(d[(c[z>>2]|0)+44>>0]&32|0)!=0:0)a[u>>0]=d[u>>0]|1;if(a[u>>0]|0)Xe(c[p>>2]|0,a[u>>0]|0)}c[E>>2]=c[(c[E>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}if(d[(c[z>>2]|0)+44>>0]&32){i=A;return}c[y>>2]=(c[s>>2]|0)+1;c[r>>2]=kp(c[t>>2]|0)|0;ip(c[p>>2]|0,49,c[y>>2]|0,b[(c[z>>2]|0)+38>>1]|0,c[r>>2]|0)|0;if(!(a[o>>0]|0))su(c[p>>2]|0,c[z>>2]|0,0);Us(c[t>>2]|0,c[y>>2]|0,b[(c[z>>2]|0)+38>>1]|0);if(a[(c[t>>2]|0)+18>>0]|0)a[u>>0]=0;else{a[u>>0]=1;a[u>>0]=d[u>>0]|((c[x>>2]|0)!=0?4:2)}if(c[w>>2]|0)a[u>>0]=d[u>>0]|8;if(c[v>>2]|0)a[u>>0]=d[u>>0]|16;ip(c[p>>2]|0,75,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;if(!(a[(c[t>>2]|0)+18>>0]|0))bf(c[p>>2]|0,-1,c[c[z>>2]>>2]|0,0);Xe(c[p>>2]|0,a[u>>0]|0);i=A;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;h=b+28|0;d=b+24|0;k=b+20|0;e=b+16|0;f=b+12|0;l=b+8|0;j=b+4|0;g=b;c[h>>2]=a;c[k>>2]=c[(c[h>>2]|0)+8>>2];c[e>>2]=c[c[h>>2]>>2];c[d>>2]=c[(c[h>>2]|0)+404>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[d>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=kp(c[h>>2]|0)|0;Kr(c[h>>2]|0,0,c[(c[d>>2]|0)+8>>2]|0,c[(c[(c[f>>2]|0)+12>>2]|0)+72>>2]|0,55);c[l>>2]=Ir(c[k>>2]|0,77,(c[g>>2]|0)+1|0)|0;fp(c[k>>2]|0,74,0,(c[g>>2]|0)+1|0)|0;zp(c[k>>2]|0,c[l>>2]|0);ip(c[k>>2]|0,49,(c[g>>2]|0)-1|0,2,c[j>>2]|0)|0;ip(c[k>>2]|0,75,0,c[j>>2]|0,(c[g>>2]|0)+1|0)|0;Xe(c[k>>2]|0,8);mp(c[k>>2]|0,61)|0;lp(c[h>>2]|0,c[j>>2]|0);c[d>>2]=c[c[d>>2]>>2]}i=b;return}function Bu(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+24|0;m=g+20|0;j=g+16|0;o=g+12|0;k=g+8|0;n=g+4|0;l=g;c[m>>2]=a;c[j>>2]=d;c[o>>2]=e;c[k>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[j>>2]|0)+20>>2]|0)){j=8;break}c[l>>2]=c[(c[j>>2]|0)+36+(c[n>>2]<<3)>>2];if((c[(c[o>>2]|0)+(c[l>>2]<<2)>>2]|0)>=0){j=4;break}if((c[k>>2]|0)!=0?(c[l>>2]|0)==(b[(c[m>>2]|0)+36>>1]|0):0){j=6;break}c[n>>2]=(c[n>>2]|0)+1}if((j|0)==4){c[h>>2]=1;a=c[h>>2]|0;i=g;return a|0}else if((j|0)==6){c[h>>2]=1;a=c[h>>2]|0;i=g;return a|0}else if((j|0)==8){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}return 0}function Cu(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;t=i;i=i+96|0;u=t+84|0;w=t+80|0;A=t+76|0;E=t+72|0;s=t+68|0;z=t+64|0;y=t+60|0;r=t+56|0;J=t+52|0;v=t+48|0;p=t+44|0;o=t+40|0;q=t+36|0;K=t+32|0;x=t+28|0;I=t+24|0;C=t+20|0;B=t+16|0;D=t+12|0;H=t+8|0;F=t+4|0;G=t;c[u>>2]=e;c[w>>2]=f;c[A>>2]=g;c[E>>2]=h;c[s>>2]=j;c[z>>2]=k;c[y>>2]=l;c[r>>2]=m;c[J>>2]=n;c[p>>2]=dp(c[u>>2]|0)|0;c[o>>2]=(c[(c[u>>2]|0)+68>>2]|0)-1;c[q>>2]=Nr(c[p>>2]|0)|0;if((c[r>>2]|0)<0)fp(c[p>>2]|0,135,d[(c[s>>2]|0)+24>>0]|0,c[q>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[K>>2]=(c[(c[z>>2]|0)+(c[v>>2]<<2)>>2]|0)+(c[y>>2]|0)+1;fp(c[p>>2]|0,76,c[K>>2]|0,c[q>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+1}do if(!(c[J>>2]|0)){if(!(c[E>>2]|0)){c[I>>2]=kp(c[u>>2]|0)|0;fp(c[p>>2]|0,34,(c[c[z>>2]>>2]|0)+1+(c[y>>2]|0)|0,c[I>>2]|0)|0;c[x>>2]=fp(c[p>>2]|0,38,c[I>>2]|0,0)|0;if((c[r>>2]|0)==1?(c[A>>2]|0)==(c[c[s>>2]>>2]|0):0){ip(c[p>>2]|0,79,c[y>>2]|0,c[q>>2]|0,c[I>>2]|0)|0;Xe(c[p>>2]|0,-112)}Kr(c[u>>2]|0,c[o>>2]|0,c[w>>2]|0,c[A>>2]|0,54);ip(c[p>>2]|0,70,c[o>>2]|0,0,c[I>>2]|0)|0;fp(c[p>>2]|0,16,0,c[q>>2]|0)|0;e=c[p>>2]|0;zp(e,(Mr(c[p>>2]|0)|0)-2|0);zp(c[p>>2]|0,c[x>>2]|0);lp(c[u>>2]|0,c[I>>2]|0);break}c[C>>2]=c[(c[s>>2]|0)+20>>2];c[B>>2]=ys(c[u>>2]|0,c[C>>2]|0)|0;c[D>>2]=kp(c[u>>2]|0)|0;ip(c[p>>2]|0,54,c[o>>2]|0,c[(c[E>>2]|0)+44>>2]|0,c[w>>2]|0)|0;Lr(c[u>>2]|0,c[E>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[C>>2]|0))break;fp(c[p>>2]|0,33,(c[(c[z>>2]|0)+(c[v>>2]<<2)>>2]|0)+1+(c[y>>2]|0)|0,(c[B>>2]|0)+(c[v>>2]|0)|0)|0;c[v>>2]=(c[v>>2]|0)+1}if((c[r>>2]|0)==1?(c[A>>2]|0)==(c[c[s>>2]>>2]|0):0){e=Mr(c[p>>2]|0)|0;c[H>>2]=e+(c[C>>2]|0)+1;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[C>>2]|0))break;c[F>>2]=(c[(c[z>>2]|0)+(c[v>>2]<<2)>>2]|0)+1+(c[y>>2]|0);c[G>>2]=(b[(c[(c[E>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]|0)+1+(c[y>>2]|0);if((b[(c[(c[E>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]|0)==(b[(c[A>>2]|0)+36>>1]|0))c[G>>2]=c[y>>2];ip(c[p>>2]|0,78,c[F>>2]|0,c[H>>2]|0,c[G>>2]|0)|0;Xe(c[p>>2]|0,16);c[v>>2]=(c[v>>2]|0)+1}fp(c[p>>2]|0,16,0,c[q>>2]|0)|0}j=c[p>>2]|0;h=c[B>>2]|0;g=c[C>>2]|0;f=c[D>>2]|0;e=au(c[p>>2]|0,c[E>>2]|0)|0;hp(j,49,h,g,f,e,c[C>>2]|0)|0;We(c[p>>2]|0,69,c[o>>2]|0,c[q>>2]|0,c[D>>2]|0,0)|0;lp(c[u>>2]|0,c[D>>2]|0);Bs(c[u>>2]|0,c[B>>2]|0,c[C>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[u>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[u>>2]|0)+408>>2]|0)==0:0)?(a[(c[u>>2]|0)+20>>0]|0)==0:0){ts(c[u>>2]|0,787,2,0,-2,4);e=c[p>>2]|0;f=c[q>>2]|0;Pr(e,f);f=c[p>>2]|0;e=c[o>>2]|0;Ir(f,61,e)|0;i=t;return}if((c[r>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0){v=c[u>>2]|0;if(c[(c[u>>2]|0)+408>>2]|0)v=c[v+408>>2]|0;a[v+21>>0]=1}fp(c[p>>2]|0,134,d[(c[s>>2]|0)+24>>0]|0,c[r>>2]|0)|0;e=c[p>>2]|0;f=c[q>>2]|0;Pr(e,f);f=c[p>>2]|0;e=c[o>>2]|0;Ir(f,61,e)|0;i=t;return}function Du(a,e,f,g){a=a|0;e=e|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;k=i;i=i+48|0;q=k+32|0;m=k+28|0;n=k+24|0;h=k+20|0;r=k+16|0;o=k+12|0;p=k+8|0;l=k+4|0;s=k;c[m>>2]=a;c[n>>2]=e;c[h>>2]=f;c[r>>2]=g;c[o>>2]=0;a:while(1){if((c[o>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0)){j=14;break}c[p>>2]=c[(c[n>>2]|0)+36+(c[o>>2]<<3)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[m>>2]|0)+38>>1]|0))break;if(!((c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)<0?!((c[r>>2]|0)!=0?(c[l>>2]|0)==(b[(c[m>>2]|0)+36>>1]|0):0):0))j=7;do if((j|0)==7){j=0;c[s>>2]=(c[(c[m>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0);g=c[s>>2]|0;if(c[p>>2]|0)if(!(xc(c[g>>2]|0,c[p>>2]|0)|0)){j=9;break a}else break;else if(d[g+23>>0]&1){j=11;break a}else break}while(0);c[l>>2]=(c[l>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}if((j|0)==9){c[q>>2]=1;a=c[q>>2]|0;i=k;return a|0}else if((j|0)==11){c[q>>2]=1;a=c[q>>2]|0;i=k;return a|0}else if((j|0)==14){c[q>>2]=0;a=c[q>>2]|0;i=k;return a|0}return 0}function Eu(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;v=i;i=i+144|0;w=v+128|0;J=v+124|0;z=v+120|0;G=v+116|0;t=v+112|0;M=v+108|0;A=v+104|0;o=v+100|0;q=v+96|0;E=v+92|0;r=v+88|0;H=v+56|0;p=v+48|0;s=v+44|0;u=v+40|0;L=v+36|0;O=v+32|0;P=v+28|0;K=v+134|0;N=v+24|0;y=v+20|0;B=v+16|0;x=v+12|0;I=v+8|0;D=v+4|0;F=v;C=v+132|0;c[w>>2]=f;c[J>>2]=g;c[z>>2]=h;c[G>>2]=j;c[t>>2]=k;c[M>>2]=l;c[A>>2]=m;c[o>>2]=n;c[q>>2]=c[c[w>>2]>>2];c[r>>2]=0;c[s>>2]=0;c[u>>2]=dp(c[w>>2]|0)|0;if((c[o>>2]|0)<0)c[s>>2]=fp(c[u>>2]|0,135,d[(c[t>>2]|0)+24>>0]|0,0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[(c[t>>2]|0)+20>>2]|0))break;if(c[G>>2]|0)n=b[(c[(c[G>>2]|0)+4>>2]|0)+(c[E>>2]<<1)>>1]|0;else n=-1;b[K>>1]=n;c[L>>2]=Fu(c[w>>2]|0,c[z>>2]|0,c[A>>2]|0,b[K>>1]|0)|0;if(c[M>>2]|0)n=c[(c[M>>2]|0)+(c[E>>2]<<2)>>2]|0;else n=c[(c[t>>2]|0)+36>>2]|0;b[K>>1]=n;c[N>>2]=c[(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+((b[K>>1]|0)*24|0)>>2];c[O>>2]=ho(c[q>>2]|0,27,c[N>>2]|0)|0;c[P>>2]=Rn(c[w>>2]|0,79,c[L>>2]|0,c[O>>2]|0,0)|0;c[r>>2]=mr(c[q>>2]|0,c[r>>2]|0,c[P>>2]|0)|0;c[E>>2]=(c[E>>2]|0)+1}if((c[o>>2]|0)>0?(c[z>>2]|0)==(c[c[t>>2]>>2]|0):0){if(!(d[(c[z>>2]|0)+44>>0]&32)){c[B>>2]=Fu(c[w>>2]|0,c[z>>2]|0,c[A>>2]|0,-1)|0;c[x>>2]=Gu(c[q>>2]|0,c[z>>2]|0,c[(c[J>>2]|0)+48>>2]|0,-1)|0;c[y>>2]=Rn(c[w>>2]|0,78,c[B>>2]|0,c[x>>2]|0,0)|0}else{c[D>>2]=0;c[F>>2]=Zr(c[z>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(e[(c[F>>2]|0)+50>>1]|0))break;b[C>>1]=b[(c[(c[G>>2]|0)+4>>2]|0)+(c[E>>2]<<1)>>1]|0;c[B>>2]=Fu(c[w>>2]|0,c[z>>2]|0,c[A>>2]|0,b[C>>1]|0)|0;c[x>>2]=Gu(c[q>>2]|0,c[z>>2]|0,c[(c[J>>2]|0)+48>>2]|0,b[C>>1]|0)|0;c[I>>2]=Rn(c[w>>2]|0,79,c[B>>2]|0,c[x>>2]|0,0)|0;c[D>>2]=mr(c[q>>2]|0,c[D>>2]|0,c[I>>2]|0)|0;c[E>>2]=(c[E>>2]|0)+1}c[y>>2]=Rn(c[w>>2]|0,19,c[D>>2]|0,0,0)|0}c[r>>2]=mr(c[q>>2]|0,c[r>>2]|0,c[y>>2]|0)|0}c[H+0>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[H+16>>2]=0;c[H+20>>2]=0;c[H+24>>2]=0;c[H+28>>2]=0;c[H+4>>2]=c[J>>2];c[H>>2]=c[w>>2];vq(H,c[r>>2]|0)|0;c[p>>2]=Hu(c[w>>2]|0,c[J>>2]|0,c[r>>2]|0,0,0,0,0)|0;if((c[o>>2]|0)>0?(d[(c[t>>2]|0)+24>>0]|0)==0:0){x=c[w>>2]|0;if(c[(c[w>>2]|0)+408>>2]|0)x=c[x+408>>2]|0;a[x+21>>0]=1}fp(c[u>>2]|0,134,d[(c[t>>2]|0)+24>>0]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Iu(c[p>>2]|0);wn(c[q>>2]|0,c[r>>2]|0);if(!(c[s>>2]|0)){i=v;return}zp(c[u>>2]|0,c[s>>2]|0);i=v;return}function Fu(d,e,f,g){d=d|0;e=e|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;n=i;i=i+32|0;k=n+24|0;h=n+20|0;q=n+16|0;o=n+28|0;j=n+12|0;p=n+8|0;l=n+4|0;m=n;c[k>>2]=d;c[h>>2]=e;c[q>>2]=f;b[o>>1]=g;c[m>>2]=c[c[k>>2]>>2];c[j>>2]=ho(c[m>>2]|0,159,0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=n;return d|0}if((b[o>>1]|0)>=0?(b[o>>1]|0)!=(b[(c[h>>2]|0)+36>>1]|0):0){c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((b[o>>1]|0)*24|0);c[(c[j>>2]|0)+28>>2]=(c[q>>2]|0)+(b[o>>1]|0)+1;a[(c[j>>2]|0)+1>>0]=a[(c[p>>2]|0)+21>>0]|0;c[l>>2]=c[(c[p>>2]|0)+16>>2];if(!(c[l>>2]|0))c[l>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[j>>2]=Oq(c[k>>2]|0,c[j>>2]|0,c[l>>2]|0)|0;d=c[j>>2]|0;i=n;return d|0}c[(c[j>>2]|0)+28>>2]=c[q>>2];a[(c[j>>2]|0)+1>>0]=68;d=c[j>>2]|0;i=n;return d|0}function Gu(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+12|0;j=g+8|0;k=g+4|0;l=g+16|0;h=g;c[m>>2]=a;c[j>>2]=d;c[k>>2]=e;b[l>>1]=f;c[h>>2]=ho(c[m>>2]|0,154,0)|0;if(!(c[h>>2]|0)){m=c[h>>2]|0;i=g;return m|0}c[(c[h>>2]|0)+44>>2]=c[j>>2];c[(c[h>>2]|0)+28>>2]=c[k>>2];b[(c[h>>2]|0)+32>>1]=b[l>>1]|0;m=c[h>>2]|0;i=g;return m|0}function Hu(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;r=i;i=i+176|0;Z=r+24|0;q=r+164|0;L=r+160|0;I=r+156|0;X=r+152|0;V=r+148|0;S=r+144|0;F=r+168|0;p=r+140|0;Y=r+136|0;n=r+132|0;t=r+128|0;s=r+124|0;M=r+16|0;N=r+104|0;R=r+100|0;J=r+96|0;v=r+92|0;K=r+88|0;u=r+84|0;U=r+80|0;Q=r+8|0;P=r+76|0;O=r+72|0;w=r+68|0;A=r+64|0;y=r+60|0;x=r+56|0;z=r+52|0;E=r+48|0;C=r;B=r+44|0;G=r+40|0;T=r+36|0;H=r+32|0;W=r+28|0;c[L>>2]=f;c[I>>2]=g;c[X>>2]=h;c[V>>2]=j;c[S>>2]=k;b[F>>1]=l;c[p>>2]=m;c[s>>2]=c[(c[L>>2]|0)+8>>2];c[u>>2]=c[c[L>>2]>>2];c[N+0>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[N+16>>2]=0;if((c[V>>2]|0)!=0?(c[c[V>>2]>>2]|0)>=64:0)c[V>>2]=0;c[N+8>>2]=c[V>>2];if(e[(c[u>>2]|0)+60>>1]&32)b[F>>1]=e[F>>1]&-1025;if((c[c[I>>2]>>2]|0)>64){f=c[L>>2]|0;c[Z>>2]=64;Se(f,23568,Z);c[q>>2]=0;f=c[q>>2]|0;i=r;return f|0}if(e[F>>1]&64)j=1;else j=c[c[I>>2]>>2]|0;c[n>>2]=j;c[Y>>2]=815+(((c[n>>2]|0)-1|0)*72|0)&-8;c[t>>2]=se(c[u>>2]|0,(c[Y>>2]|0)+72|0,0)|0;a:do if(!(a[(c[u>>2]|0)+64>>0]|0)){c[(c[t>>2]|0)+64>>2]=-1;c[(c[t>>2]|0)+60>>2]=-1;a[(c[t>>2]|0)+41>>0]=c[n>>2];c[c[t>>2]>>2]=c[L>>2];c[(c[t>>2]|0)+4>>2]=c[I>>2];c[(c[t>>2]|0)+8>>2]=c[V>>2];c[(c[t>>2]|0)+12>>2]=c[S>>2];f=Nr(c[s>>2]|0)|0;c[(c[t>>2]|0)+48>>2]=f;c[(c[t>>2]|0)+52>>2]=f;b[(c[t>>2]|0)+34>>1]=b[F>>1]|0;c[(c[t>>2]|0)+56>>2]=c[(c[L>>2]|0)+424>>2];c[R>>2]=(c[t>>2]|0)+68;c[N>>2]=c[t>>2];c[N+4>>2]=(c[t>>2]|0)+328;c[N+12>>2]=(c[t>>2]|0)+(c[Y>>2]|0);Ou(c[N+12>>2]|0);c[c[R>>2]>>2]=0;Ru((c[t>>2]|0)+328|0,c[t>>2]|0);Su((c[t>>2]|0)+328|0,c[X>>2]|0,72);c[K>>2]=0;while(1){X=(c[n>>2]|0)==0;if((c[K>>2]|0)>=(c[(c[N+4>>2]|0)+12>>2]|0))break;if(!(!X?(pt(c[(c[(c[N+4>>2]|0)+20>>2]|0)+((c[K>>2]|0)*48|0)>>2]|0)|0)==0:0)){xs(c[L>>2]|0,c[(c[(c[N+4>>2]|0)+20>>2]|0)+((c[K>>2]|0)*48|0)>>2]|0,c[(c[t>>2]|0)+52>>2]|0,16);f=(c[(c[N+4>>2]|0)+20>>2]|0)+((c[K>>2]|0)*48|0)+20|0;a[f>>0]=d[f>>0]|4}c[K>>2]=(c[K>>2]|0)+1}if(X){if(c[V>>2]|0)a[(c[t>>2]|0)+36>>0]=c[c[V>>2]>>2];if(e[F>>1]&1024)a[(c[t>>2]|0)+40>>0]=1}c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[c[I>>2]>>2]|0))break;Tu(c[R>>2]|0,c[(c[I>>2]|0)+8+((c[K>>2]|0)*72|0)+40>>2]|0);c[K>>2]=(c[K>>2]|0)+1}Uu(c[I>>2]|0,(c[t>>2]|0)+328|0);if(!(a[(c[u>>2]|0)+64>>0]|0)){do if(e[F>>1]&1024){if(Vu(c[L>>2]|0,c[I>>2]|0,(c[t>>2]|0)+328|0,c[S>>2]|0)|0){a[(c[t>>2]|0)+40>>0]=1;break}if(!(c[V>>2]|0)){f=(c[t>>2]|0)+34|0;b[f>>1]=e[f>>1]|512;c[(c[t>>2]|0)+8>>2]=c[S>>2]}}while(0);if(!((c[n>>2]|0)==1?(Wu(N)|0)!=0:0)){c[U>>2]=Xu(N)|0;if(c[U>>2]|0)break;Yu(c[t>>2]|0,0)|0;if(a[(c[u>>2]|0)+64>>0]|0)break;if((c[(c[t>>2]|0)+8>>2]|0)!=0?(Yu(c[t>>2]|0,(b[(c[t>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[u>>2]|0)+64>>0]|0)!=0):0)break}if((c[(c[t>>2]|0)+8>>2]|0)==0?(c[(c[u>>2]|0)+24>>2]&131072|0)!=0:0){f=(c[t>>2]|0)+24|0;c[f>>2]=-1;c[f+4>>2]=-1}if((c[(c[L>>2]|0)+64>>2]|0)==0?(d[(c[u>>2]|0)+64>>0]|0)==0:0){b:do if(((c[S>>2]|0)!=0?(d[(c[t>>2]|0)+41>>0]|0)>=2:0)?(e[(c[u>>2]|0)+60>>1]&1024|0)==0:0){g=Zu(c[R>>2]|0,c[S>>2]|0)|0;f=Q;c[f>>2]=g;c[f+4>>2]=D;if(c[N+8>>2]|0){h=Zu(c[R>>2]|0,c[N+8>>2]|0)|0;Z=Q;g=c[Z+4>>2]|D;f=Q;c[f>>2]=c[Z>>2]|h;c[f+4>>2]=g}while(1){if((d[(c[t>>2]|0)+41>>0]|0)<2)break b;c[v>>2]=c[(c[t>>2]|0)+736+(((d[(c[t>>2]|0)+41>>0]|0)-1|0)*72|0)+56>>2];if(!(d[(c[(c[t>>2]|0)+4>>2]|0)+8+((d[(c[v>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[F>>1]&1024|0)==0?(c[(c[v>>2]|0)+36>>2]&4096|0)==0:0)break b;g=Q;f=(c[v>>2]|0)+8|0;if((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0)break b;c[O>>2]=(c[(c[N+4>>2]|0)+20>>2]|0)+((c[(c[N+4>>2]|0)+12>>2]|0)*48|0);c[P>>2]=c[(c[N+4>>2]|0)+20>>2];while(1){if((c[P>>2]|0)>>>0>=(c[O>>2]|0)>>>0)break;g=(c[P>>2]|0)+40|0;f=(c[v>>2]|0)+8|0;if(((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0)?(c[(c[c[P>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[P>>2]=(c[P>>2]|0)+48}if((c[P>>2]|0)>>>0<(c[O>>2]|0)>>>0)break b;f=(c[t>>2]|0)+41|0;a[f>>0]=(a[f>>0]|0)+ -1<<24>>24;c[n>>2]=(c[n>>2]|0)+ -1}}while(0);f=(c[c[t>>2]>>2]|0)+424|0;c[f>>2]=(c[f>>2]|0)+(b[(c[t>>2]|0)+32>>1]|0);if(((e[F>>1]&4|0)!=0?(c[(c[(c[t>>2]|0)+792>>2]|0)+36>>2]&4096|0)!=0:0)?(a[(c[t>>2]|0)+38>>0]=1,(d[(c[(c[I>>2]|0)+24>>2]|0)+44>>0]&32|0)==0):0){f=(c[(c[t>>2]|0)+792>>2]|0)+36|0;c[f>>2]=c[f>>2]&-65}f=M;c[f>>2]=-1;c[f+4>>2]=-1;c[K>>2]=0;c[J>>2]=(c[t>>2]|0)+736;while(1){if((c[K>>2]|0)>=(c[n>>2]|0))break;c[y>>2]=(c[I>>2]|0)+8+((d[(c[J>>2]|0)+36>>0]|0)*72|0);c[w>>2]=c[(c[y>>2]|0)+16>>2];c[A>>2]=Ve(c[u>>2]|0,c[(c[w>>2]|0)+68>>2]|0)|0;c[v>>2]=c[(c[J>>2]|0)+56>>2];c:do if((d[(c[w>>2]|0)+44>>0]&2|0)==0?(c[(c[w>>2]|0)+12>>2]|0)==0:0){if(c[(c[v>>2]|0)+36>>2]&1024){c[x>>2]=Rp(c[u>>2]|0,c[w>>2]|0)|0;c[z>>2]=c[(c[y>>2]|0)+40>>2];hp(c[s>>2]|0,147,c[z>>2]|0,0,0,c[x>>2]|0,-10)|0;break}if(d[(c[w>>2]|0)+44>>0]&16)break;do if(!(c[(c[v>>2]|0)+36>>2]&64)){if(e[F>>1]&16)break;c[E>>2]=54;if(a[(c[t>>2]|0)+38>>0]|0){c[E>>2]=55;c[(c[t>>2]|0)+60>>2]=c[(c[y>>2]|0)+40>>2]}Kr(c[L>>2]|0,c[(c[y>>2]|0)+40>>2]|0,c[A>>2]|0,c[w>>2]|0,c[E>>2]|0);if(a[(c[t>>2]|0)+38>>0]|0)break c;if((b[(c[w>>2]|0)+38>>1]|0)>=64)break c;if(d[(c[w>>2]|0)+44>>0]&32)break c;h=(c[y>>2]|0)+56|0;g=c[h+4>>2]|0;f=C;c[f>>2]=c[h>>2];c[f+4>>2]=g;c[B>>2]=0;while(1){f=C;if(!((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0))break;g=C;g=cF(c[g>>2]|0,c[g+4>>2]|0,1)|0;f=C;c[f>>2]=g;c[f+4>>2]=D;c[B>>2]=(c[B>>2]|0)+1}g=c[s>>2]|0;f=(Mr(c[s>>2]|0)|0)-1|0;bf(g,f,c[B>>2]|0,-14);break c}while(0);Jr(c[L>>2]|0,c[A>>2]|0,c[(c[w>>2]|0)+32>>2]|0,0,c[c[w>>2]>>2]|0)}while(0);do if(c[(c[v>>2]|0)+36>>2]&512){c[G>>2]=c[(c[v>>2]|0)+28>>2];c[H>>2]=54;do if(!(d[(c[w>>2]|0)+44>>0]&32))o=87;else{if((a[(c[G>>2]|0)+55>>0]&3|0)!=2){o=87;break}if(!(e[F>>1]&64)){o=87;break}c[T>>2]=c[(c[J>>2]|0)+4>>2];c[H>>2]=0}while(0);d:do if((o|0)==87){o=0;if(a[(c[t>>2]|0)+38>>0]|0){c[W>>2]=c[(c[(c[y>>2]|0)+16>>2]|0)+8>>2];c[T>>2]=c[p>>2];while(1){if(!(c[W>>2]|0))break;if((c[W>>2]|0)==(c[G>>2]|0))break;c[T>>2]=(c[T>>2]|0)+1;c[W>>2]=c[(c[W>>2]|0)+20>>2]}c[H>>2]=55;c[(c[t>>2]|0)+64>>2]=c[T>>2];break}else{do if(c[p>>2]|0){if(!(e[F>>1]&64))break;c[T>>2]=c[p>>2];if(!(e[F>>1]&4096))break d;c[H>>2]=53;break d}while(0);g=(c[L>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[T>>2]=f;break}}while(0);c[(c[J>>2]|0)+8>>2]=c[T>>2];if(!(c[H>>2]|0))break;ip(c[s>>2]|0,c[H>>2]|0,c[T>>2]|0,c[(c[G>>2]|0)+44>>2]|0,c[A>>2]|0)|0;Lr(c[L>>2]|0,c[G>>2]|0)}while(0);if((c[A>>2]|0)>=0)qp(c[L>>2]|0,c[A>>2]|0);h=_u((c[t>>2]|0)+68|0,c[(c[y>>2]|0)+40>>2]|0)|0;Z=M;g=c[Z+4>>2]&~D;f=M;c[f>>2]=c[Z>>2]&~h;c[f+4>>2]=g;c[K>>2]=(c[K>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+72}f=Mr(c[s>>2]|0)|0;c[(c[t>>2]|0)+44>>2]=f;if(!(a[(c[u>>2]|0)+64>>0]|0)){f=M;c[f>>2]=-1;c[f+4>>2]=-1;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[n>>2]|0))break;c[J>>2]=(c[t>>2]|0)+736+((c[K>>2]|0)*72|0);if((c[(c[(c[J>>2]|0)+56>>2]|0)+36>>2]&16384|0)!=0?(f=M,$u(c[L>>2]|0,(c[t>>2]|0)+328|0,(c[I>>2]|0)+8+((d[(c[J>>2]|0)+36>>0]|0)*72|0)|0,c[f>>2]|0,c[f+4>>2]|0,c[J>>2]|0),(a[(c[u>>2]|0)+64>>0]|0)!=0):0)break a;av(c[L>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,d[(c[J>>2]|0)+36>>0]|0,b[F>>1]|0);g=Mr(c[s>>2]|0)|0;c[(c[J>>2]|0)+32>>2]=g;g=M;g=bv(c[t>>2]|0,c[K>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;f=M;c[f>>2]=g;c[f+4>>2]=D;c[(c[t>>2]|0)+48>>2]=c[(c[J>>2]|0)+24>>2];c[K>>2]=(c[K>>2]|0)+1}c[q>>2]=c[t>>2];f=c[q>>2]|0;i=r;return f|0}}}}else{Xb(c[u>>2]|0,c[t>>2]|0);c[t>>2]=0}while(0);if(c[t>>2]|0){c[(c[L>>2]|0)+424>>2]=c[(c[t>>2]|0)+56>>2];Ju(c[u>>2]|0,c[t>>2]|0)}c[q>>2]=0;f=c[q>>2]|0;i=r;return f|0}function Iu(f){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;l=i;i=i+80|0;v=l+76|0;j=l+72|0;o=l+68|0;w=l+64|0;p=l+60|0;g=l+56|0;s=l+52|0;k=l+48|0;A=l+44|0;C=l+40|0;B=l+36|0;m=l+32|0;n=l+28|0;q=l+24|0;r=l+20|0;t=l+16|0;u=l+12|0;z=l+8|0;x=l+4|0;y=l;c[v>>2]=f;c[j>>2]=c[c[v>>2]>>2];c[o>>2]=c[(c[j>>2]|0)+8>>2];c[s>>2]=c[(c[v>>2]|0)+4>>2];c[k>>2]=c[c[j>>2]>>2];cu(c[j>>2]|0);c[w>>2]=(d[(c[v>>2]|0)+41>>0]|0)-1;while(1){if((c[w>>2]|0)<0)break;c[p>>2]=(c[v>>2]|0)+736+((c[w>>2]|0)*72|0);c[g>>2]=c[(c[p>>2]|0)+56>>2];Pr(c[o>>2]|0,c[(c[p>>2]|0)+24>>2]|0);if((d[(c[p>>2]|0)+37>>0]|0)!=154){ip(c[o>>2]|0,d[(c[p>>2]|0)+37>>0]|0,c[(c[p>>2]|0)+40>>2]|0,c[(c[p>>2]|0)+44>>2]|0,d[(c[p>>2]|0)+38>>0]|0)|0;Xe(c[o>>2]|0,a[(c[p>>2]|0)+39>>0]|0)}if((c[(c[g>>2]|0)+36>>2]&2048|0)!=0?(c[(c[p>>2]|0)+48>>2]|0)>0:0){Pr(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0);c[B>>2]=c[(c[p>>2]|0)+48>>2];c[C>>2]=(c[(c[p>>2]|0)+52>>2]|0)+(((c[B>>2]|0)-1|0)*12|0);while(1){if((c[B>>2]|0)<=0)break;zp(c[o>>2]|0,(c[(c[C>>2]|0)+4>>2]|0)+1|0);fp(c[o>>2]|0,d[(c[C>>2]|0)+8>>0]|0,c[c[C>>2]>>2]|0,c[(c[C>>2]|0)+4>>2]|0)|0;zp(c[o>>2]|0,(c[(c[C>>2]|0)+4>>2]|0)-1|0);c[B>>2]=(c[B>>2]|0)+ -1;c[C>>2]=(c[C>>2]|0)+ -12}Xb(c[k>>2]|0,c[(c[p>>2]|0)+52>>2]|0)}Pr(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0);if(c[(c[p>>2]|0)+20>>2]|0){fp(c[o>>2]|0,16,0,c[(c[p>>2]|0)+20>>2]|0)|0;zp(c[o>>2]|0,c[(c[p>>2]|0)+20>>2]|0);zp(c[o>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)-2|0)}if(c[c[p>>2]>>2]|0){c[A>>2]=Ir(c[o>>2]|0,137,c[c[p>>2]>>2]|0)|0;if(!(c[(c[g>>2]|0)+36>>2]&64))Ir(c[o>>2]|0,104,c[(c[s>>2]|0)+8+((c[w>>2]|0)*72|0)+40>>2]|0)|0;if(c[(c[g>>2]|0)+36>>2]&512)Ir(c[o>>2]|0,104,c[(c[p>>2]|0)+8>>2]|0)|0;D=c[o>>2]|0;f=c[p>>2]|0;if((d[(c[p>>2]|0)+37>>0]|0)==18)fp(D,17,c[f+40>>2]|0,c[(c[p>>2]|0)+28>>2]|0)|0;else fp(D,16,0,c[f+28>>2]|0)|0;zp(c[o>>2]|0,c[A>>2]|0)}c[w>>2]=(c[w>>2]|0)+ -1}Pr(c[o>>2]|0,c[(c[v>>2]|0)+52>>2]|0);c[w>>2]=0;c[p>>2]=(c[v>>2]|0)+736;while(1){if((c[w>>2]|0)>=(d[(c[v>>2]|0)+41>>0]|0))break;c[r>>2]=0;c[t>>2]=(c[s>>2]|0)+8+((d[(c[p>>2]|0)+36>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[g>>2]=c[(c[p>>2]|0)+56>>2];a:do if(((d[(c[t>>2]|0)+37>>0]|0)>>>2&1|0)!=0?(a[(c[k>>2]|0)+64>>0]|0)==0:0){c[n>>2]=Mr(c[o>>2]|0)|0;c[m>>2]=c[(c[p>>2]|0)+32>>2];c[q>>2]=dt(c[o>>2]|0,c[m>>2]|0)|0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break a;do if((c[(c[q>>2]|0)+4>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0)){A=c[q>>2]|0;if((d[c[q>>2]>>0]|0)==47){a[A>>0]=33;c[(c[q>>2]|0)+4>>2]=(c[(c[q>>2]|0)+8>>2]|0)+(c[(c[t>>2]|0)+32>>2]|0);c[(c[q>>2]|0)+8>>2]=c[(c[q>>2]|0)+12>>2];c[(c[q>>2]|0)+12>>2]=0;break}if((d[A>>0]|0)==103){a[c[q>>2]>>0]=28;c[(c[q>>2]|0)+4>>2]=0;c[(c[q>>2]|0)+12>>2]=0}}while(0);c[m>>2]=(c[m>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}else h=35;while(0);b:do if((h|0)==35){h=0;if(((d[(c[u>>2]|0)+44>>0]&2|0)==0?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(e[(c[v>>2]|0)+34>>1]&16|0)==0:0){c[z>>2]=c[(c[g>>2]|0)+36>>2];if((a[(c[v>>2]|0)+38>>0]|0)==0?(c[z>>2]&64|0)==0:0)Ir(c[o>>2]|0,61,c[(c[t>>2]|0)+40>>2]|0)|0;if(((c[z>>2]&512|0)!=0?(c[z>>2]&16640|0)==0:0)?(c[(c[p>>2]|0)+8>>2]|0)!=(c[(c[v>>2]|0)+64>>2]|0):0)Ir(c[o>>2]|0,61,c[(c[p>>2]|0)+8>>2]|0)|0}A=c[g>>2]|0;if(!(c[(c[g>>2]|0)+36>>2]&576)){if(c[A+36>>2]&8192)c[r>>2]=c[(c[p>>2]|0)+48>>2]}else c[r>>2]=c[A+28>>2];if((c[r>>2]|0)!=0?(a[(c[k>>2]|0)+64>>0]|0)==0:0){c[n>>2]=Mr(c[o>>2]|0)|0;c[m>>2]=c[(c[p>>2]|0)+32>>2];c[q>>2]=dt(c[o>>2]|0,c[m>>2]|0)|0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break b;do if((c[(c[q>>2]|0)+4>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0)){A=c[q>>2]|0;if((d[c[q>>2]>>0]|0)!=47){if((d[A>>0]|0)!=103)break;c[(c[q>>2]|0)+4>>2]=c[(c[p>>2]|0)+8>>2];a[c[q>>2]>>0]=112;break}c[x>>2]=c[A+8>>2];if(d[(c[u>>2]|0)+44>>0]&32){c[y>>2]=Zr(c[u>>2]|0)|0;c[x>>2]=b[(c[(c[y>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]}c[x>>2]=(Ds(c[r>>2]|0,c[x>>2]&65535)|0)<<16>>16;if((c[x>>2]|0)>=0){c[(c[q>>2]|0)+8>>2]=c[x>>2];c[(c[q>>2]|0)+4>>2]=c[(c[p>>2]|0)+8>>2]}}while(0);c[m>>2]=(c[m>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}}while(0);c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[(c[j>>2]|0)+424>>2]=c[(c[v>>2]|0)+56>>2];Ju(c[k>>2]|0,c[v>>2]|0);i=l;return}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}Ku((c[f>>2]|0)+328|0);while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[g>>2]|0)+48>>2];Lu(c[e>>2]|0,c[g>>2]|0)}Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function Ku(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;f=b+12|0;h=b+8|0;g=b+4|0;e=b;c[f>>2]=a;c[e>>2]=c[c[c[c[f>>2]>>2]>>2]>>2];c[h>>2]=(c[(c[f>>2]|0)+12>>2]|0)-1;c[g>>2]=c[(c[f>>2]|0)+20>>2];while(1){if((c[h>>2]|0)<0)break;if((d[(c[g>>2]|0)+20>>0]|0)&1)wn(c[e>>2]|0,c[c[g>>2]>>2]|0);if(!((d[(c[g>>2]|0)+20>>0]|0)&16)){if((d[(c[g>>2]|0)+20>>0]|0)&32)Qu(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0)}else Pu(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0);c[h>>2]=(c[h>>2]|0)+ -1;c[g>>2]=(c[g>>2]|0)+48}if((c[(c[f>>2]|0)+20>>2]|0)==((c[f>>2]|0)+24|0)){i=b;return}Xb(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);i=b;return}function Lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Mu(c[f>>2]|0,c[e>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function Mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+44>>2]|0)!=((c[e>>2]|0)+52|0))Xb(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);Nu(c[f>>2]|0,c[e>>2]|0);Ou(c[e>>2]|0);i=d;return}function Nu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=f;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+28>>0]|0|0)!=0:0){hc(c[(c[g>>2]|0)+32>>2]|0);a[(c[g>>2]|0)+28>>0]=0;c[(c[g>>2]|0)+32>>2]=0;i=f;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=f;return}if(!(c[(c[g>>2]|0)+28>>2]|0)){i=f;return}Xb(c[h>>2]|0,c[(c[(c[g>>2]|0)+28>>2]|0)+16>>2]|0);eh(c[(c[(c[g>>2]|0)+28>>2]|0)+40>>2]|0);Xb(c[h>>2]|0,c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;i=f;return}function Ou(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+44>>2]=(c[e>>2]|0)+52;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+42>>1]=4;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ku(c[e>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ku(c[e>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function Ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function Su(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+4|0;k=g;h=g+8|0;c[j>>2]=b;c[k>>2]=e;a[h>>0]=f;a[(c[j>>2]|0)+8>>0]=a[h>>0]|0;if(!(c[k>>2]|0)){i=g;return}e=c[j>>2]|0;f=c[k>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[h>>0]|0|0)){Uv(e,f,0)|0;i=g;return}else{Su(e,c[f+12>>2]|0,a[h>>0]|0);Su(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[h>>0]|0);i=g;return}}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function Uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[g>>2]|0)+12>>2]|0)-1;while(1){if((c[e>>2]|0)<0)break;Rv(c[f>>2]|0,c[g>>2]|0,c[e>>2]|0);c[e>>2]=(c[e>>2]|0)+ -1}i=d;return}function Vu(a,f,g,h){a=a|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=i;i=i+48|0;l=s+40|0;o=s+36|0;w=s+32|0;t=s+28|0;p=s+24|0;u=s+20|0;n=s+16|0;m=s+12|0;q=s+8|0;v=s+4|0;j=s+44|0;r=s;c[o>>2]=a;c[w>>2]=f;c[t>>2]=g;c[p>>2]=h;if((c[c[w>>2]>>2]|0)!=1){c[l>>2]=0;a=c[l>>2]|0;i=s;return a|0}c[q>>2]=c[(c[w>>2]|0)+48>>2];c[u>>2]=c[(c[w>>2]|0)+24>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[p>>2]>>2]|0))break;c[v>>2]=iq(c[(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0)|0;if(((d[c[v>>2]>>0]|0)==154?(c[(c[v>>2]|0)+28>>2]|0)==(c[q>>2]|0):0)?(b[(c[v>>2]|0)+32>>1]|0)<0:0){k=8;break}c[m>>2]=(c[m>>2]|0)+1}if((k|0)==8){c[l>>2]=1;a=c[l>>2]|0;i=s;return a|0}c[n>>2]=c[(c[u>>2]|0)+8>>2];while(1){if(!(c[n>>2]|0)){k=22;break}if(d[(c[n>>2]|0)+54>>0]|0){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[n>>2]|0)+50>>1]|0))break;b[j>>1]=b[(c[(c[n>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0;if(!(hv(c[t>>2]|0,c[q>>2]|0,b[j>>1]|0,-1,-1,2,c[n>>2]|0)|0)){c[r>>2]=Qv(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;if((c[r>>2]|0)<0)break;if(!(d[(c[(c[u>>2]|0)+4>>2]|0)+((b[j>>1]|0)*24|0)+20>>0]|0))break}c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)==(e[(c[n>>2]|0)+50>>1]|0)){k=20;break}}c[n>>2]=c[(c[n>>2]|0)+20>>2]}if((k|0)==20){c[l>>2]=1;a=c[l>>2]|0;i=s;return a|0}else if((k|0)==22){c[l>>2]=0;a=c[l>>2]|0;i=s;return a|0}return 0}function Wu(f){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;m=i;i=i+48|0;h=m+40|0;s=m+36|0;q=m+32|0;o=m+28|0;r=m+24|0;k=m+20|0;j=m+16|0;p=m+12|0;l=m+8|0;n=m+4|0;g=m;c[s>>2]=f;c[q>>2]=c[c[s>>2]>>2];if(e[(c[q>>2]|0)+34>>1]&32){c[h>>2]=0;s=c[h>>2]|0;i=m;return s|0}c[o>>2]=(c[(c[q>>2]|0)+4>>2]|0)+8;c[n>>2]=c[(c[o>>2]|0)+16>>2];if(d[(c[n>>2]|0)+44>>0]&16){c[h>>2]=0;s=c[h>>2]|0;i=m;return s|0}if(c[(c[o>>2]|0)+64>>2]|0){c[h>>2]=0;s=c[h>>2]|0;i=m;return s|0}c[p>>2]=c[(c[o>>2]|0)+40>>2];c[r>>2]=(c[q>>2]|0)+328;c[j>>2]=c[(c[s>>2]|0)+12>>2];c[(c[j>>2]|0)+36>>2]=0;b[(c[j>>2]|0)+26>>1]=0;c[k>>2]=hv(c[r>>2]|0,c[p>>2]|0,-1,0,0,2,0)|0;a:do if(c[k>>2]|0){c[(c[j>>2]|0)+36>>2]=4353;c[c[(c[j>>2]|0)+44>>2]>>2]=c[k>>2];b[(c[j>>2]|0)+40>>1]=1;b[(c[j>>2]|0)+24>>1]=1;b[(c[j>>2]|0)+20>>1]=33}else{c[g>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break a;if(((d[(c[g>>2]|0)+54>>0]|0)!=0?(c[(c[g>>2]|0)+36>>2]|0)==0:0)?(e[(c[g>>2]|0)+50>>1]|0)<=4:0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(e[(c[g>>2]|0)+50>>1]|0))break;c[k>>2]=hv(c[r>>2]|0,c[p>>2]|0,b[(c[(c[g>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0,0,0,2,c[g>>2]|0)|0;if(!(c[k>>2]|0))break;c[(c[(c[j>>2]|0)+44>>2]|0)+(c[l>>2]<<2)>>2]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(e[(c[g>>2]|0)+50>>1]|0))break}c[g>>2]=c[(c[g>>2]|0)+20>>2]}c[(c[j>>2]|0)+36>>2]=4609;if(!(((d[(c[g>>2]|0)+55>>0]|0)>>>5&1|0)==0?(s=(c[o>>2]|0)+56|0,o=c[s>>2]|0,s=c[s+4>>2]|0,r=Iv(c[g>>2]|0)|0,!((o&~r|0)==0&(s&~D|0)==0)):0)){s=(c[j>>2]|0)+36|0;c[s>>2]=c[s>>2]|64}b[(c[j>>2]|0)+40>>1]=c[l>>2];b[(c[j>>2]|0)+24>>1]=c[l>>2];c[(c[j>>2]|0)+28>>2]=c[g>>2];b[(c[j>>2]|0)+20>>1]=39}while(0);if(!(c[(c[j>>2]|0)+36>>2]|0)){c[h>>2]=0;s=c[h>>2]|0;i=m;return s|0}b[(c[j>>2]|0)+22>>1]=1;c[(c[q>>2]|0)+792>>2]=c[j>>2];r=_u((c[q>>2]|0)+68|0,c[p>>2]|0)|0;s=(c[j>>2]|0)+8|0;c[s>>2]=r;c[s+4>>2]=D;c[(c[q>>2]|0)+740>>2]=c[p>>2];b[(c[q>>2]|0)+32>>1]=1;if(c[(c[q>>2]|0)+8>>2]|0)a[(c[q>>2]|0)+36>>0]=c[c[(c[q>>2]|0)+8>>2]>>2];if(e[(c[q>>2]|0)+34>>1]&1024)a[(c[q>>2]|0)+40>>0]=1;c[h>>2]=1;s=c[h>>2]|0;i=m;return s|0}function Xu(b){b=b|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;e=i;i=i+64|0;j=e+48|0;p=e+44|0;k=e+8|0;m=e;o=e+40|0;s=e+36|0;l=e+32|0;h=e+28|0;q=e+24|0;f=e+20|0;n=e+52|0;g=e+16|0;c[j>>2]=b;c[p>>2]=c[c[j>>2]>>2];r=k;c[r>>2]=0;c[r+4>>2]=0;r=m;c[r>>2]=0;c[r+4>>2]=0;c[s>>2]=c[(c[p>>2]|0)+4>>2];c[h>>2]=c[c[c[p>>2]>>2]>>2];c[q>>2]=d[(c[p>>2]|0)+41>>0];c[f>>2]=0;a[n>>0]=0;c[g>>2]=c[(c[j>>2]|0)+12>>2];Ou(c[g>>2]|0);c[o>>2]=0;c[l>>2]=(c[s>>2]|0)+8;while(1){if((c[o>>2]|0)>=(c[q>>2]|0)){j=13;break}a[(c[g>>2]|0)+16>>0]=c[o>>2];r=_u((c[p>>2]|0)+68|0,c[(c[l>>2]|0)+40>>2]|0)|0;s=(c[g>>2]|0)+8|0;c[s>>2]=r;c[s+4>>2]=D;if((d[(c[l>>2]|0)+36>>0]|0|(d[n>>0]|0))&10){b=m;r=c[b+4>>2]|0;s=k;c[s>>2]=c[b>>2];c[s+4>>2]=r}a[n>>0]=a[(c[l>>2]|0)+36>>0]|0;b=c[j>>2]|0;s=k;r=c[s>>2]|0;s=c[s+4>>2]|0;if((d[(c[(c[l>>2]|0)+16>>2]|0)+44>>0]|0)&16)c[f>>2]=vv(b,r,s)|0;else c[f>>2]=wv(b,r,s)|0;if(!(c[f>>2]|0)){s=k;c[f>>2]=xv(c[j>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0}b=(c[g>>2]|0)+8|0;t=m;r=c[t+4>>2]|c[b+4>>2];s=m;c[s>>2]=c[t>>2]|c[b>>2];c[s+4>>2]=r;if(c[f>>2]|0){j=13;break}if(d[(c[h>>2]|0)+64>>0]|0){j=13;break}c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+72}if((j|0)==13){Mu(c[h>>2]|0,c[g>>2]|0);i=e;return c[f>>2]|0}return 0}function Yu(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;q=i;i=i+160|0;y=q+32|0;j=q+132|0;m=q+128|0;t=q+146|0;P=q+124|0;p=q+120|0;E=q+116|0;k=q+112|0;u=q+108|0;B=q+104|0;N=q+100|0;S=q+96|0;K=q+92|0;Q=q+144|0;R=q+142|0;D=q+88|0;C=q+84|0;A=q+80|0;x=q+76|0;o=q+72|0;O=q+68|0;w=q+64|0;T=q+60|0;L=q+56|0;l=q+52|0;U=q+48|0;I=q+140|0;M=q+138|0;H=q+136|0;F=q+148|0;J=q+24|0;G=q+16|0;v=q+44|0;r=q+8|0;s=q+40|0;n=q;h=q+36|0;c[m>>2]=f;b[t>>1]=g;c[S>>2]=0;b[Q>>1]=0;b[R>>1]=0;c[L>>2]=0;c[E>>2]=c[c[m>>2]>>2];c[k>>2]=c[c[E>>2]>>2];c[p>>2]=d[(c[m>>2]|0)+41>>0];if((c[p>>2]|0)<=1)g=1;else g=(c[p>>2]|0)==2?5:10;c[P>>2]=g;if((c[(c[m>>2]|0)+8>>2]|0)!=0?(b[t>>1]|0)!=0:0)c[K>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];else c[K>>2]=0;c[U>>2]=($(32+(c[p>>2]<<2)|0,c[P>>2]|0)|0)<<1;c[U>>2]=(c[U>>2]|0)+(c[K>>2]<<1);f=c[U>>2]|0;c[l>>2]=Qe(c[k>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[j>>2]=7;f=c[j>>2]|0;i=q;return f|0}c[x>>2]=c[l>>2];c[A>>2]=(c[x>>2]|0)+(c[P>>2]<<5);f=c[A>>2]|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[T>>2]=(c[A>>2]|0)+(c[P>>2]<<5);c[B>>2]=c[P>>2]<<1;c[o>>2]=c[x>>2];while(1){if((c[B>>2]|0)<=0)break;c[(c[o>>2]|0)+24>>2]=c[T>>2];c[B>>2]=(c[B>>2]|0)+ -1;c[o>>2]=(c[o>>2]|0)+32;c[T>>2]=(c[T>>2]|0)+(c[p>>2]<<2)}if(c[K>>2]|0){c[L>>2]=c[T>>2];_E(c[L>>2]|0,0,c[K>>2]<<1|0)|0}if((c[(c[E>>2]|0)+424>>2]|0)>>>0<46)T=c[(c[E>>2]|0)+424>>2]|0;else T=46;b[(c[A>>2]|0)+16>>1]=T;c[C>>2]=1;if(c[K>>2]|0)a[(c[A>>2]|0)+22>>0]=(c[p>>2]|0)>0?-1:c[K>>2]|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[p>>2]|0))break;c[D>>2]=0;c[B>>2]=0;c[o>>2]=c[A>>2];while(1){if((c[B>>2]|0)>=(c[C>>2]|0))break;c[w>>2]=c[(c[m>>2]|0)+16>>2];while(1){if(!(c[w>>2]|0))break;a[F>>0]=a[(c[o>>2]|0)+22>>0]|0;g=G;c[g>>2]=0;c[g+4>>2]=0;g=c[w>>2]|0;f=c[o>>2]|0;a:do if(!((c[g>>2]&~c[f>>2]|0)!=0?1:(c[g+4>>2]&~c[f+4>>2]|0)!=0)?(g=(c[w>>2]|0)+8|0,f=c[o>>2]|0,!((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0)):0){b[H>>1]=rv(b[(c[w>>2]|0)+18>>1]|0,(b[(c[w>>2]|0)+20>>1]|0)+(b[(c[o>>2]|0)+16>>1]|0)&65535)|0;b[H>>1]=rv(b[H>>1]|0,b[(c[o>>2]|0)+20>>1]|0)|0;b[I>>1]=(b[(c[o>>2]|0)+16>>1]|0)+(b[(c[w>>2]|0)+22>>1]|0);T=c[o>>2]|0;U=(c[w>>2]|0)+8|0;g=c[T+4>>2]|c[U+4>>2];f=J;c[f>>2]=c[T>>2]|c[U>>2];c[f+4>>2]=g;if((a[F>>0]|0)<0)a[F>>0]=sv(c[m>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0,b[(c[m>>2]|0)+34>>1]|0,c[u>>2]&65535,c[w>>2]|0,G)|0;else{U=(c[o>>2]|0)+8|0;g=c[U+4>>2]|0;f=G;c[f>>2]=c[U>>2];c[f+4>>2]=g}if((a[F>>0]|0)>=0?(a[F>>0]|0)<(c[K>>2]|0):0){if(!(b[(c[L>>2]|0)+(a[F>>0]<<1)>>1]|0)){f=tv(c[m>>2]|0,b[t>>1]|0,c[K>>2]|0,a[F>>0]|0)|0;b[(c[L>>2]|0)+(a[F>>0]<<1)>>1]=f}b[M>>1]=rv(b[H>>1]|0,b[(c[L>>2]|0)+(a[F>>0]<<1)>>1]|0)|0}else b[M>>1]=b[H>>1]|0;c[N>>2]=0;c[O>>2]=c[x>>2];while(1){if((c[N>>2]|0)>=(c[D>>2]|0))break;g=c[O>>2]|0;f=J;if(((c[g>>2]|0)==(c[f>>2]|0)?(c[g+4>>2]|0)==(c[f+4>>2]|0):0)?((a[(c[O>>2]|0)+22>>0]^a[F>>0])&128|0)==0:0)break;c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+32}do if((c[N>>2]|0)<(c[D>>2]|0)){if((b[(c[O>>2]|0)+18>>1]|0)<(b[M>>1]|0))break a;if((b[(c[O>>2]|0)+18>>1]|0)!=(b[M>>1]|0))break;if((b[(c[O>>2]|0)+16>>1]|0)<=(b[I>>1]|0))break a}else{do if((c[D>>2]|0)>=(c[P>>2]|0)){if((b[M>>1]|0)>(b[Q>>1]|0))break a;if((b[M>>1]|0)!=(b[Q>>1]|0))break;if((b[H>>1]|0)>=(b[R>>1]|0))break a}while(0);if((c[D>>2]|0)<(c[P>>2]|0)){f=c[D>>2]|0;c[D>>2]=f+1;c[N>>2]=f}else c[N>>2]=c[S>>2];c[O>>2]=(c[x>>2]|0)+(c[N>>2]<<5)}while(0);T=c[o>>2]|0;f=(c[w>>2]|0)+8|0;g=c[T+4>>2]|c[f+4>>2];U=c[O>>2]|0;c[U>>2]=c[T>>2]|c[f>>2];c[U+4>>2]=g;U=G;g=c[U+4>>2]|0;f=(c[O>>2]|0)+8|0;c[f>>2]=c[U>>2];c[f+4>>2]=g;b[(c[O>>2]|0)+16>>1]=b[I>>1]|0;b[(c[O>>2]|0)+18>>1]=b[M>>1]|0;b[(c[O>>2]|0)+20>>1]=b[H>>1]|0;a[(c[O>>2]|0)+22>>0]=a[F>>0]|0;dF(c[(c[O>>2]|0)+24>>2]|0,c[(c[o>>2]|0)+24>>2]|0,c[u>>2]<<2|0)|0;c[(c[(c[O>>2]|0)+24>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[D>>2]|0)>=(c[P>>2]|0)){c[S>>2]=0;b[Q>>1]=b[(c[x>>2]|0)+18>>1]|0;b[R>>1]=b[(c[x>>2]|0)+16>>1]|0;c[N>>2]=1;c[O>>2]=(c[x>>2]|0)+32;while(1){if((c[N>>2]|0)>=(c[P>>2]|0))break a;do if((b[(c[O>>2]|0)+18>>1]|0)<=(b[Q>>1]|0)){if((b[(c[O>>2]|0)+18>>1]|0)!=(b[Q>>1]|0))break;if((b[(c[O>>2]|0)+20>>1]|0)>(b[R>>1]|0))z=58}else z=58;while(0);if((z|0)==58){z=0;b[Q>>1]=b[(c[O>>2]|0)+18>>1]|0;b[R>>1]=b[(c[O>>2]|0)+20>>1]|0;c[S>>2]=c[N>>2]}c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+32}}}while(0);c[w>>2]=c[(c[w>>2]|0)+48>>2]}c[B>>2]=(c[B>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+32}c[o>>2]=c[x>>2];c[x>>2]=c[A>>2];c[A>>2]=c[o>>2];c[C>>2]=c[D>>2];c[u>>2]=(c[u>>2]|0)+1}if(!(c[C>>2]|0)){Se(c[E>>2]|0,24032,y);Xb(c[k>>2]|0,c[l>>2]|0);c[j>>2]=1;f=c[j>>2]|0;i=q;return f|0}c[o>>2]=c[A>>2];c[B>>2]=1;while(1){if((c[B>>2]|0)>=(c[C>>2]|0))break;if((b[(c[o>>2]|0)+18>>1]|0)>(b[(c[A>>2]|0)+(c[B>>2]<<5)+18>>1]|0))c[o>>2]=(c[A>>2]|0)+(c[B>>2]<<5);c[B>>2]=(c[B>>2]|0)+1}c[u>>2]=0;while(1){x=c[m>>2]|0;if((c[u>>2]|0)>=(c[p>>2]|0))break;c[v>>2]=x+736+((c[u>>2]|0)*72|0);f=c[(c[(c[o>>2]|0)+24>>2]|0)+(c[u>>2]<<2)>>2]|0;c[w>>2]=f;c[(c[v>>2]|0)+56>>2]=f;a[(c[v>>2]|0)+36>>0]=a[(c[w>>2]|0)+16>>0]|0;c[(c[v>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+8+((d[(c[v>>2]|0)+36>>0]|0)*72|0)+40>>2];c[u>>2]=(c[u>>2]|0)+1}if(((((e[x+34>>1]&1024|0)!=0?(e[(c[m>>2]|0)+34>>1]&512|0)==0:0)?(d[(c[m>>2]|0)+40>>0]|0)==0:0)?(b[t>>1]|0)!=0:0)?(c[s>>2]=(sv(c[m>>2]|0,c[(c[m>>2]|0)+12>>2]|0,c[o>>2]|0,512,(c[p>>2]|0)-1&65535,c[(c[(c[o>>2]|0)+24>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0,r)|0)<<24>>24,(c[s>>2]|0)==(c[c[(c[m>>2]|0)+12>>2]>>2]|0)):0)a[(c[m>>2]|0)+40>>0]=2;if(c[(c[m>>2]|0)+8>>2]|0){r=a[(c[o>>2]|0)+22>>0]|0;if(e[(c[m>>2]|0)+34>>1]&512){if((r<<24>>24|0)==(c[c[(c[m>>2]|0)+8>>2]>>2]|0))a[(c[m>>2]|0)+40>>0]=2}else{a[(c[m>>2]|0)+36>>0]=r;if((a[(c[m>>2]|0)+36>>0]|0)<0)a[(c[m>>2]|0)+36>>0]=0;U=(c[o>>2]|0)+8|0;g=c[U+4>>2]|0;f=(c[m>>2]|0)+24|0;c[f>>2]=c[U>>2];c[f+4>>2]=g}if(((e[(c[m>>2]|0)+34>>1]&2048|0)!=0?(a[(c[m>>2]|0)+36>>0]|0)==(c[c[(c[m>>2]|0)+8>>2]>>2]|0):0)?(f=n,c[f>>2]=0,c[f+4>>2]=0,c[h>>2]=(sv(c[m>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0,0,(c[p>>2]|0)-1&65535,c[(c[(c[o>>2]|0)+24>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0,n)|0)<<24>>24,(c[h>>2]|0)==(c[c[(c[m>>2]|0)+8>>2]>>2]|0)):0){a[(c[m>>2]|0)+37>>0]=1;U=n;g=c[U+4>>2]|0;f=(c[m>>2]|0)+24|0;c[f>>2]=c[U>>2];c[f+4>>2]=g}}b[(c[m>>2]|0)+32>>1]=b[(c[o>>2]|0)+16>>1]|0;Xb(c[k>>2]|0,c[l>>2]|0);c[j>>2]=0;f=c[j>>2]|0;i=q;return f|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;h=d+16|0;g=d+12|0;f=d+8|0;e=d;c[h>>2]=a;c[g>>2]=b;a=e;c[a>>2]=0;c[a+4>>2]=0;if(!(c[g>>2]|0)){h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;D=h;i=d;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;j=pv(c[h>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=e;b=c[k+4>>2]|D;a=e;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+32|0;d=e;g=e+16|0;h=e+12|0;f=e+8|0;c[g>>2]=a;c[h>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0)){f=6;break}b=c[f>>2]|0;if((c[(c[g>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[h>>2]|0)){f=4;break}c[f>>2]=b+1}if((f|0)==4){a=$E(1,0,b|0)|0;b=d;c[b>>2]=a;c[b+4>>2]=D;b=d;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=e;return a|0}else if((f|0)==6){b=d;c[b>>2]=0;c[b+4>>2]=0;b=d;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=e;return a|0}return 0}function $u(d,e,f,g,h,j){d=d|0;e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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;F=i;i=i+144|0;O=F+40|0;o=F+132|0;J=F+128|0;v=F+124|0;l=F+32|0;p=F+120|0;r=F+116|0;y=F+112|0;G=F+108|0;m=F+104|0;q=F+100|0;u=F+96|0;H=F+92|0;s=F+88|0;t=F+84|0;n=F+80|0;x=F+76|0;k=F+72|0;C=F+68|0;I=F+64|0;K=F+60|0;B=F+24|0;w=F+16|0;P=F+136|0;N=F+56|0;M=F+8|0;E=F+52|0;A=F;z=F+48|0;c[o>>2]=d;c[J>>2]=e;c[v>>2]=f;d=l;c[d>>2]=g;c[d+4>>2]=h;c[p>>2]=j;a[P>>0]=0;c[q>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=_s(c[o>>2]|0)|0;c[r>>2]=0;c[H>>2]=c[(c[v>>2]|0)+16>>2];c[G>>2]=(c[(c[J>>2]|0)+20>>2]|0)+((c[(c[J>>2]|0)+12>>2]|0)*48|0);c[I>>2]=c[(c[p>>2]|0)+56>>2];h=B;c[h>>2]=0;c[h+4>>2]=0;c[y>>2]=c[(c[J>>2]|0)+20>>2];while(1){if((c[y>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;h=l;if(mv(c[y>>2]|0,c[v>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0){c[N>>2]=c[(c[y>>2]|0)+12>>2];if((c[N>>2]|0)>=64){g=0;j=-2147483648}else{g=$E(1,0,c[N>>2]|0)|0;j=D}h=M;c[h>>2]=g;c[h+4>>2]=j;if(!(a[P>>0]|0)){h=c[(c[(c[H>>2]|0)+4>>2]|0)+((c[N>>2]|0)*24|0)>>2]|0;c[O>>2]=c[c[H>>2]>>2];c[O+4>>2]=h;tc(284,23984,O);a[P>>0]=1}d=B;h=M;if((c[d>>2]&c[h>>2]|0)==0?(c[d+4>>2]&c[h+4>>2]|0)==0:0){if(nv(c[c[o>>2]>>2]|0,c[I>>2]|0,(c[r>>2]|0)+1|0)|0){L=42;break}f=c[y>>2]|0;e=c[r>>2]|0;c[r>>2]=e+1;c[(c[(c[I>>2]|0)+44>>2]|0)+(e<<2)>>2]=f;e=M;f=B;d=c[f+4>>2]|c[e+4>>2];h=B;c[h>>2]=c[f>>2]|c[e>>2];c[h+4>>2]=d}}c[y>>2]=(c[y>>2]|0)+48}if((L|0)==42){i=F;return}f=c[r>>2]&65535;b[(c[I>>2]|0)+40>>1]=f;b[(c[I>>2]|0)+24>>1]=f;c[(c[I>>2]|0)+36>>2]=16961;f=(c[v>>2]|0)+56|0;e=B;d=c[f+4>>2]&(~c[e+4>>2]|-2147483648);h=w;c[h>>2]=c[f>>2]&~c[e>>2];c[h+4>>2]=d;if((b[(c[H>>2]|0)+38>>1]|0)>=63)L=63;else L=b[(c[H>>2]|0)+38>>1]|0;c[k>>2]=L;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[k>>2]|0))break;h=w;e=c[h>>2]|0;h=c[h+4>>2]|0;d=$E(1,0,c[x>>2]|0)|0;if((e&d|0)!=0|(h&D|0)!=0)c[r>>2]=(c[r>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+1}if(0!=0?1:(c[(c[v>>2]|0)+60>>2]&-2147483648|0)!=0)c[r>>2]=(c[r>>2]|0)+((b[(c[H>>2]|0)+38>>1]|0)-64+1);h=(c[I>>2]|0)+36|0;c[h>>2]=c[h>>2]|65;c[m>>2]=ov(c[c[o>>2]>>2]|0,(c[r>>2]|0)+1&65535,0,K)|0;if(!(c[m>>2]|0)){i=F;return}c[(c[I>>2]|0)+28>>2]=c[m>>2];c[c[m>>2]>>2]=24016;c[(c[m>>2]|0)+12>>2]=c[H>>2];c[n>>2]=0;h=B;c[h>>2]=0;c[h+4>>2]=0;c[y>>2]=c[(c[J>>2]|0)+20>>2];while(1){if((c[y>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;h=l;if(mv(c[y>>2]|0,c[v>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0){c[E>>2]=c[(c[y>>2]|0)+12>>2];if((c[E>>2]|0)>=64){J=0;I=-2147483648}else{J=$E(1,0,c[E>>2]|0)|0;I=D}d=A;c[d>>2]=J;c[d+4>>2]=I;d=B;h=A;if((c[d>>2]&c[h>>2]|0)==0?(c[d+4>>2]&c[h+4>>2]|0)==0:0){c[z>>2]=c[c[y>>2]>>2];e=A;f=B;d=c[f+4>>2]|c[e+4>>2];h=B;c[h>>2]=c[f>>2]|c[e>>2];c[h+4>>2]=d;b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[(c[y>>2]|0)+12>>2];c[C>>2]=at(c[o>>2]|0,c[(c[z>>2]|0)+12>>2]|0,c[(c[z>>2]|0)+16>>2]|0)|0;if(c[C>>2]|0)I=c[c[C>>2]>>2]|0;else I=3320;c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=I;c[n>>2]=(c[n>>2]|0)+1}}c[y>>2]=(c[y>>2]|0)+48}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[k>>2]|0))break;h=w;e=c[h>>2]|0;h=c[h+4>>2]|0;d=$E(1,0,c[x>>2]|0)|0;if((e&d|0)!=0|(h&D|0)!=0){b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[x>>2];c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=3320;c[n>>2]=(c[n>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}a:do if(0!=0?1:(c[(c[v>>2]|0)+60>>2]&-2147483648|0)!=0){c[x>>2]=63;while(1){if((c[x>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0))break a;b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[x>>2];c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=3320;c[n>>2]=(c[n>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+1}}while(0);b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=-1;c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=3320;d=(c[o>>2]|0)+68|0;h=c[d>>2]|0;c[d>>2]=h+1;c[(c[p>>2]|0)+8>>2]=h;fp(c[q>>2]|0,56,c[(c[p>>2]|0)+8>>2]|0,(c[r>>2]|0)+1|0)|0;Lr(c[o>>2]|0,c[m>>2]|0);c[s>>2]=Ir(c[q>>2]|0,108,c[(c[p>>2]|0)+4>>2]|0)|0;c[t>>2]=kp(c[o>>2]|0)|0;ps(c[o>>2]|0,c[m>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[t>>2]|0,0,0,0,0)|0;fp(c[q>>2]|0,110,c[(c[p>>2]|0)+8>>2]|0,c[t>>2]|0)|0;Xe(c[q>>2]|0,16);fp(c[q>>2]|0,9,c[(c[p>>2]|0)+4>>2]|0,(c[s>>2]|0)+1|0)|0;Xe(c[q>>2]|0,3);zp(c[q>>2]|0,c[s>>2]|0);lp(c[o>>2]|0,c[t>>2]|0);zp(c[q>>2]|0,c[u>>2]|0);i=F;return}function av(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;i=i+208|0;w=B;H=B+96|0;F=B+92|0;G=B+88|0;s=B+84|0;t=B+80|0;E=B+100|0;y=B+76|0;q=B+72|0;D=B+68|0;r=B+64|0;z=B+60|0;x=B+56|0;A=B+52|0;p=B+48|0;o=B+20|0;C=B+104|0;u=B+16|0;v=B+12|0;m=B+8|0;c[H>>2]=f;c[F>>2]=g;c[G>>2]=h;c[s>>2]=j;c[t>>2]=k;b[E>>1]=l;if((d[(c[H>>2]|0)+450>>0]|0|0)!=2){i=B;return}c[y>>2]=(c[F>>2]|0)+8+((d[(c[G>>2]|0)+36>>0]|0)*72|0);c[q>>2]=c[(c[H>>2]|0)+8>>2];c[D>>2]=c[c[H>>2]>>2];c[r>>2]=c[(c[H>>2]|0)+464>>2];c[x>>2]=c[(c[G>>2]|0)+56>>2];c[A>>2]=c[(c[x>>2]|0)+36>>2];if(c[A>>2]&8192){i=B;return}if((e[E>>1]|0)&64){i=B;return}do if(c[A>>2]&48)E=1;else{if((c[A>>2]&1024|0)==0?(e[(c[x>>2]|0)+24>>1]|0|0)>0:0){E=1;break}E=((e[E>>1]|0)&3|0)!=0}while(0);c[z>>2]=E&1;nc(o,C,100,1e9);c[o>>2]=c[D>>2];ss(o,(c[z>>2]|0)!=0?23640:23648);C=c[y>>2]|0;if(c[(c[y>>2]|0)+20>>2]|0){c[w>>2]=d[C+38>>0];kn(o,0,23656,w)}else{c[w>>2]=c[C+8>>2];kn(o,0,23672,w)}if(c[(c[y>>2]|0)+12>>2]|0){c[w>>2]=c[(c[y>>2]|0)+12>>2];kn(o,0,23688,w)}do if(!(c[A>>2]&1280)){c[u>>2]=0;c[v>>2]=c[(c[x>>2]|0)+28>>2];if(((d[(c[(c[y>>2]|0)+16>>2]|0)+44>>0]|0)&32|0)!=0?(a[(c[v>>2]|0)+55>>0]&3|0)==2:0){if(c[z>>2]|0)c[u>>2]=23696}else n=18;do if((n|0)==18){if(c[A>>2]&16384){c[u>>2]=23712;break}if(c[A>>2]&64){c[u>>2]=23744;break}else{c[u>>2]=23768;break}}while(0);if(c[u>>2]|0){Vm(o,23784,7);f=c[u>>2]|0;c[w>>2]=c[c[v>>2]>>2];kn(o,0,f,w);kv(o,c[x>>2]|0,c[(c[y>>2]|0)+16>>2]|0)}}else{if((c[A>>2]&256|0)!=0?(c[A>>2]&15|0)!=0:0){do if(!(c[A>>2]&5)){if((c[A>>2]&48|0)==48){c[m>>2]=23808;break}if(c[A>>2]&32){c[m>>2]=23832;break}else{c[m>>2]=23848;break}}else c[m>>2]=23792;while(0);ss(o,23864);ss(o,c[m>>2]|0);break}if(c[A>>2]&1024){f=c[(c[x>>2]|0)+32>>2]|0;c[w>>2]=c[(c[x>>2]|0)+24>>2];c[w+4>>2]=f;kn(o,0,23896,w)}}while(0);c[p>>2]=pc(o)|0;hp(c[q>>2]|0,155,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[p>>2]|0,-1)|0;i=B;return}function bv(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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,ya=0,za=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;q=i;i=i+368|0;p=q+8|0;y=q+344|0;N=q+340|0;v=q;o=q+336|0;B=q+332|0;w=q+328|0;ma=q+324|0;ua=q+320|0;C=q+316|0;A=q+312|0;E=q+308|0;m=q+304|0;n=q+300|0;u=q+296|0;r=q+292|0;l=q+288|0;Ea=q+284|0;Ja=q+280|0;x=q+276|0;oa=q+272|0;Ra=q+268|0;Xa=q+264|0;Fa=q+260|0;Ha=q+256|0;Ga=q+252|0;Ia=q+248|0;Na=q+244|0;Va=q+240|0;Pa=q+236|0;Qa=q+232|0;Ua=q+228|0;Wa=q+224|0;Sa=q+220|0;Oa=q+216|0;Ta=q+212|0;Aa=q+350|0;xa=q+208|0;sa=q+204|0;ta=q+200|0;ra=q+196|0;va=q+192|0;la=q+188|0;ya=q+184|0;qa=q+180|0;T=q+176|0;Ma=q+172|0;wa=q+168|0;za=q+164|0;Ba=q+355|0;ka=q+354|0;Da=q+353|0;Ka=q+160|0;La=q+352|0;na=q+156|0;Ca=q+152|0;pa=q+148|0;X=q+144|0;aa=q+140|0;W=q+136|0;P=q+132|0;ca=q+128|0;ea=q+124|0;ga=q+120|0;F=q+116|0;da=q+112|0;L=q+108|0;ja=q+104|0;ia=q+348|0;Z=q+100|0;ba=q+96|0;$=q+92|0;_=q+88|0;fa=q+84|0;ha=q+80|0;Y=q+76|0;S=q+72|0;O=q+68|0;R=q+64|0;Q=q+60|0;H=q+56|0;K=q+52|0;M=q+48|0;J=q+44|0;I=q+40|0;G=q+36|0;V=q+32|0;z=q+28|0;k=q+24|0;s=q+20|0;t=q+16|0;c[y>>2]=f;c[N>>2]=g;g=v;c[g>>2]=h;c[g+4>>2]=j;c[oa>>2]=0;c[Ra>>2]=0;c[u>>2]=c[c[y>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+8>>2];c[m>>2]=(c[y>>2]|0)+328;c[r>>2]=c[c[u>>2]>>2];c[A>>2]=(c[y>>2]|0)+736+((c[N>>2]|0)*72|0);c[E>>2]=c[(c[A>>2]|0)+56>>2];c[Ea>>2]=(c[(c[y>>2]|0)+4>>2]|0)+8+((d[(c[A>>2]|0)+36>>0]|0)*72|0);c[w>>2]=c[(c[Ea>>2]|0)+40>>2];g=v;j=c[g>>2]|0;g=c[g+4>>2]|0;h=_u((c[y>>2]|0)+68|0,c[w>>2]|0)|0;f=(c[A>>2]|0)+64|0;c[f>>2]=j&~h;c[f+4>>2]=g&~D;f=(c[y>>2]|0)+24|0;f=cF(c[f>>2]|0,c[f+4>>2]|0,c[N>>2]|0)|0;c[C>>2]=f&1;if(c[(c[E>>2]|0)+36>>2]&64)j=(e[(c[y>>2]|0)+34>>1]&32|0)==0;else j=0;c[ua>>2]=j&1;f=Nr(c[l>>2]|0)|0;c[(c[A>>2]|0)+16>>2]=f;c[(c[A>>2]|0)+12>>2]=f;c[Ja>>2]=f;f=Nr(c[l>>2]|0)|0;c[(c[A>>2]|0)+24>>2]=f;c[x>>2]=f;if((d[(c[A>>2]|0)+36>>0]|0)>0?(d[(c[Ea>>2]|0)+36>>0]&8|0)!=0:0){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[A>>2]>>2]=f;fp(c[l>>2]|0,25,0,c[c[A>>2]>>2]|0)|0}do if(!((d[(c[Ea>>2]|0)+37>>0]|0)>>>2&1)){Xa=c[E>>2]|0;if(c[(c[E>>2]|0)+36>>2]&1024){c[Ga>>2]=e[Xa+40>>1];ws(c[u>>2]|0);c[Fa>>2]=ys(c[u>>2]|0,(c[Ga>>2]|0)+2|0)|0;c[Ha>>2]=c[(c[A>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[Ga>>2]|0))break;c[Ia>>2]=(c[Fa>>2]|0)+(c[o>>2]|0)+2;c[n>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(c[o>>2]<<2)>>2];do if(c[n>>2]|0){B=c[u>>2]|0;F=c[n>>2]|0;if(e[(c[n>>2]|0)+18>>1]&1){cv(B,F,c[A>>2]|0,c[o>>2]|0,c[C>>2]|0,c[Ia>>2]|0)|0;c[Ha>>2]=c[(c[A>>2]|0)+16>>2];break}else{Os(B,c[(c[F>>2]|0)+16>>2]|0,c[Ia>>2]|0);break}}while(0);c[o>>2]=(c[o>>2]|0)+1}fp(c[l>>2]|0,25,c[(c[E>>2]|0)+24>>2]|0,c[Fa>>2]|0)|0;fp(c[l>>2]|0,25,c[Ga>>2]|0,(c[Fa>>2]|0)+1|0)|0;hp(c[l>>2]|0,14,c[w>>2]|0,c[Ha>>2]|0,c[Fa>>2]|0,c[(c[E>>2]|0)+32>>2]|0,(d[(c[E>>2]|0)+28>>0]|0)!=0?-11:-2)|0;a[(c[E>>2]|0)+28>>0]=0;c[o>>2]=0;while(1){if(!((c[o>>2]|0)<16?(c[o>>2]|0)<(c[Ga>>2]|0):0))break;if(e[(c[E>>2]|0)+30>>1]>>c[o>>2]&1)dv(c[A>>2]|0,c[(c[(c[E>>2]|0)+44>>2]|0)+(c[o>>2]<<2)>>2]|0);c[o>>2]=(c[o>>2]|0)+1}a[(c[A>>2]|0)+37>>0]=-107;c[(c[A>>2]|0)+40>>2]=c[w>>2];f=Mr(c[l>>2]|0)|0;c[(c[A>>2]|0)+44>>2]=f;Bs(c[u>>2]|0,c[Fa>>2]|0,(c[Ga>>2]|0)+2|0);us(c[u>>2]|0);break}if((c[Xa+36>>2]&256|0)!=0?(c[(c[E>>2]|0)+36>>2]&5|0)!=0:0){c[n>>2]=c[c[(c[E>>2]|0)+44>>2]>>2];g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[Ra>>2]=f;c[oa>>2]=cv(c[u>>2]|0,c[n>>2]|0,c[A>>2]|0,0,c[C>>2]|0,c[Ra>>2]|0)|0;if((c[oa>>2]|0)!=(c[Ra>>2]|0))lp(c[u>>2]|0,c[Ra>>2]|0);c[ma>>2]=c[(c[A>>2]|0)+16>>2];fp(c[l>>2]|0,38,c[oa>>2]|0,c[ma>>2]|0)|0;ip(c[l>>2]|0,70,c[w>>2]|0,c[ma>>2]|0,c[oa>>2]|0)|0;Us(c[u>>2]|0,c[oa>>2]|0,1);jt(c[u>>2]|0,c[w>>2]|0,-1,c[oa>>2]|0);a[(c[A>>2]|0)+37>>0]=-102;break}if((c[(c[E>>2]|0)+36>>2]&256|0)!=0?(c[(c[E>>2]|0)+36>>2]&2|0)!=0:0){c[Na>>2]=154;c[Pa>>2]=0;c[o>>2]=0;c[Ua>>2]=0;c[Qa>>2]=0;if(c[(c[E>>2]|0)+36>>2]&32){f=c[o>>2]|0;c[o>>2]=f+1;c[Qa>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(f<<2)>>2]}if(c[(c[E>>2]|0)+36>>2]&16){f=c[o>>2]|0;c[o>>2]=f+1;c[Ua>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(f<<2)>>2]}if(c[C>>2]|0){c[n>>2]=c[Qa>>2];c[Qa>>2]=c[Ua>>2];c[Ua>>2]=c[n>>2]}if(c[Qa>>2]|0){c[Wa>>2]=c[c[Qa>>2]>>2];c[Sa>>2]=Hs(c[u>>2]|0,c[(c[Wa>>2]|0)+16>>2]|0,Oa)|0;ip(c[l>>2]|0,d[23600+((d[c[Wa>>2]>>0]|0)-80)>>0]|0,c[w>>2]|0,c[Ja>>2]|0,c[Sa>>2]|0)|0;Us(c[u>>2]|0,c[Sa>>2]|0,1);lp(c[u>>2]|0,c[Oa>>2]|0);dv(c[A>>2]|0,c[Qa>>2]|0)}else fp(c[l>>2]|0,(c[C>>2]|0)!=0?105:108,c[w>>2]|0,c[Ja>>2]|0)|0;if(c[Ua>>2]|0){c[Ta>>2]=c[c[Ua>>2]>>2];g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[Pa>>2]=f;Os(c[u>>2]|0,c[(c[Ta>>2]|0)+16>>2]|0,c[Pa>>2]|0);if((d[c[Ta>>2]>>0]|0)!=82?(d[c[Ta>>2]>>0]|0)!=80:0)c[Na>>2]=(c[C>>2]|0)!=0?82:80;else c[Na>>2]=(c[C>>2]|0)!=0?81:83;dv(c[A>>2]|0,c[Ua>>2]|0)}c[Va>>2]=Mr(c[l>>2]|0)|0;a[(c[A>>2]|0)+37>>0]=(c[C>>2]|0)!=0?8:9;c[(c[A>>2]|0)+40>>2]=c[w>>2];c[(c[A>>2]|0)+44>>2]=c[Va>>2];if((c[Na>>2]|0)==154)break;g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[oa>>2]=f;fp(c[l>>2]|0,103,c[w>>2]|0,c[oa>>2]|0)|0;jt(c[u>>2]|0,c[w>>2]|0,-1,c[oa>>2]|0);ip(c[l>>2]|0,c[Na>>2]|0,c[Pa>>2]|0,c[Ja>>2]|0,c[oa>>2]|0)|0;Xe(c[l>>2]|0,83);break}Fa=c[E>>2]|0;if(c[(c[E>>2]|0)+36>>2]&512){b[Aa>>1]=b[Fa+24>>1]|0;c[sa>>2]=0;c[ta>>2]=0;c[Ma>>2]=0;a[Ba>>0]=0;a[ka>>0]=0;a[Da>>0]=0;c[qa>>2]=c[(c[E>>2]|0)+28>>2];c[T>>2]=c[(c[A>>2]|0)+8>>2];if(((e[(c[y>>2]|0)+34>>1]&1|0)!=0?(a[(c[y>>2]|0)+36>>0]|0)>0:0)?(e[(c[qa>>2]|0)+50>>1]|0)>(e[Aa>>1]|0):0){a[ka>>0]=1;c[Ma>>2]=1}c[o>>2]=e[Aa>>1];if(c[(c[E>>2]|0)+36>>2]&32){f=c[o>>2]|0;c[o>>2]=f+1;c[sa>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(f<<2)>>2];c[Ma>>2]=1}if((((c[(c[E>>2]|0)+36>>2]&16|0)!=0?(f=c[o>>2]|0,c[o>>2]=f+1,c[ta>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(f<<2)>>2],c[Ma>>2]=1,(c[sa>>2]|0)==0):0)?(f=b[(c[(c[qa>>2]|0)+4>>2]|0)+(e[Aa>>1]<<1)>>1]|0,c[o>>2]=f,(f|0)>=0):0)?(d[(c[(c[(c[qa>>2]|0)+12>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)+20>>0]|0)==0:0)a[ka>>0]=1;c[xa>>2]=ev(c[u>>2]|0,c[A>>2]|0,c[C>>2]|0,c[Ma>>2]|0,za)|0;if(c[za>>2]|0)a[Ba>>0]=a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]|0;c[ma>>2]=c[(c[A>>2]|0)+16>>2];if((e[Aa>>1]|0)<(e[(c[qa>>2]|0)+50>>1]|0)?(c[C>>2]|0)==((d[(c[(c[qa>>2]|0)+28>>2]|0)+(e[Aa>>1]|0)>>0]|0)==0|0):0)U=64;else U=62;if(((U|0)==62?(c[C>>2]|0)!=0:0)?(e[(c[qa>>2]|0)+50>>1]|0)==(e[Aa>>1]|0):0)U=64;if((U|0)==64){c[Ka>>2]=c[ta>>2];c[ta>>2]=c[sa>>2];c[sa>>2]=c[Ka>>2];a[La>>0]=a[ka>>0]|0;a[ka>>0]=a[Da>>0]|0;a[Da>>0]=a[La>>0]|0}if(c[sa>>2]|0)F=(e[(c[sa>>2]|0)+18>>1]&40|0)!=0;else F=1;c[ra>>2]=F&1;if(c[ta>>2]|0)F=(e[(c[ta>>2]|0)+18>>1]&40|0)!=0;else F=1;c[va>>2]=F&1;if(c[sa>>2]|0)F=1;else F=(e[Aa>>1]|0)>0;c[la>>2]=F&1;c[ya>>2]=e[Aa>>1];if(!(c[sa>>2]|0)){if(a[ka>>0]|0){fp(c[l>>2]|0,28,0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0)|0;c[ya>>2]=(c[ya>>2]|0)+1;c[ra>>2]=0;c[la>>2]=1}}else{c[na>>2]=c[(c[c[sa>>2]>>2]|0)+16>>2];Os(c[u>>2]|0,c[na>>2]|0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0);do if(!(d[(c[sa>>2]|0)+20>>0]&0)){if(!(Ps(c[na>>2]|0)|0))break;fp(c[l>>2]|0,76,(c[xa>>2]|0)+(e[Aa>>1]|0)|0,c[ma>>2]|0)|0}while(0);do if(c[za>>2]|0){if(((kt(c[na>>2]|0,a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]=65;if(!(fv(c[na>>2]|0,a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]|0)|0))break;a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]=65}while(0);c[ya>>2]=(c[ya>>2]|0)+1}gv(c[u>>2]|0,c[xa>>2]|0,(c[ya>>2]|0)-(d[ka>>0]|0)|0,c[za>>2]|0);c[wa>>2]=d[23608+((c[la>>2]<<2)+(c[ra>>2]<<1)+(c[C>>2]|0))>>0];We(c[l>>2]|0,c[wa>>2]|0,c[T>>2]|0,c[ma>>2]|0,c[xa>>2]|0,c[ya>>2]|0)|0;c[ya>>2]=e[Aa>>1];do if(c[ta>>2]|0){c[Ca>>2]=c[(c[c[ta>>2]>>2]|0)+16>>2];Cs(c[u>>2]|0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0,1);Os(c[u>>2]|0,c[Ca>>2]|0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0);do if(!(d[(c[ta>>2]|0)+20>>0]&0)){if(!(Ps(c[Ca>>2]|0)|0))break;fp(c[l>>2]|0,76,(c[xa>>2]|0)+(e[Aa>>1]|0)|0,c[ma>>2]|0)|0}while(0);do if(((kt(c[Ca>>2]|0,a[Ba>>0]|0)|0)<<24>>24|0)!=65){if(fv(c[Ca>>2]|0,a[Ba>>0]|0)|0)break;gv(c[u>>2]|0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0,1,Ba)}while(0);c[ya>>2]=(c[ya>>2]|0)+1}else{if(!(a[Da>>0]|0))break;fp(c[l>>2]|0,28,0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0)|0;c[va>>2]=0;c[ya>>2]=(c[ya>>2]|0)+1}while(0);Xb(c[r>>2]|0,c[za>>2]|0);f=Mr(c[l>>2]|0)|0;c[(c[A>>2]|0)+44>>2]=f;if(c[ya>>2]|0){c[wa>>2]=d[23616+((c[C>>2]<<1)+(c[va>>2]|0))>>0];We(c[l>>2]|0,c[wa>>2]|0,c[T>>2]|0,c[ma>>2]|0,c[xa>>2]|0,c[ya>>2]|0)|0}dv(c[A>>2]|0,c[sa>>2]|0);dv(c[A>>2]|0,c[ta>>2]|0);do if(!(c[ua>>2]|0)){if(!(d[(c[(c[qa>>2]|0)+12>>2]|0)+44>>0]&32)){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[oa>>2]=f;fp(c[l>>2]|0,112,c[T>>2]|0,c[oa>>2]|0)|0;jt(c[u>>2]|0,c[w>>2]|0,-1,c[oa>>2]|0);fp(c[l>>2]|0,66,c[w>>2]|0,c[oa>>2]|0)|0;break}if((c[w>>2]|0)==(c[T>>2]|0))break;c[pa>>2]=Zr(c[(c[qa>>2]|0)+12>>2]|0)|0;c[oa>>2]=ys(c[u>>2]|0,e[(c[pa>>2]|0)+50>>1]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[pa>>2]|0)+50>>1]|0))break;c[B>>2]=(Ds(c[qa>>2]|0,b[(c[(c[pa>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)|0)<<16>>16;ip(c[l>>2]|0,47,c[T>>2]|0,c[B>>2]|0,(c[oa>>2]|0)+(c[o>>2]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}We(c[l>>2]|0,68,c[w>>2]|0,c[x>>2]|0,c[oa>>2]|0,e[(c[pa>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[E>>2]|0)+36>>2]&4096)){B=(c[A>>2]|0)+37|0;if(c[C>>2]|0){a[B>>0]=8;break}else{a[B>>0]=9;break}}else a[(c[A>>2]|0)+37>>0]=-102;while(0);c[(c[A>>2]|0)+40>>2]=c[T>>2];a[(c[A>>2]|0)+38>>0]=(c[(c[E>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[E>>2]|0)+36>>2]&15)break;a[(c[A>>2]|0)+39>>0]=1;break}if(!(c[Fa+36>>2]&8192))if((d[(c[Ea>>2]|0)+37>>0]|0)>>>3&1){a[(c[A>>2]|0)+37>>0]=-102;break}else{a[(c[A>>2]|0)+37>>0]=a[23624+(c[C>>2]|0)>>0]|0;c[(c[A>>2]|0)+40>>2]=c[w>>2];f=1+(fp(c[l>>2]|0,d[23632+(c[C>>2]|0)>>0]|0,c[w>>2]|0,c[Ja>>2]|0)|0)|0;c[(c[A>>2]|0)+44>>2]=f;a[(c[A>>2]|0)+39>>0]=1;break}c[W>>2]=0;C=(c[u>>2]|0)+68|0;f=c[C>>2]|0;c[C>>2]=f+1;c[P>>2]=f;f=(c[u>>2]|0)+72|0;C=(c[f>>2]|0)+1|0;c[f>>2]=C;c[ca>>2]=C;c[ea>>2]=0;c[ga>>2]=0;c[F>>2]=Nr(c[l>>2]|0)|0;c[L>>2]=0;c[Z>>2]=0;c[ba>>2]=c[(c[Ea>>2]|0)+16>>2];c[n>>2]=c[c[(c[E>>2]|0)+44>>2]>>2];c[X>>2]=c[(c[n>>2]|0)+12>>2];a[(c[A>>2]|0)+37>>0]=18;c[(c[A>>2]|0)+40>>2]=c[ca>>2];C=c[y>>2]|0;a:do if((d[(c[y>>2]|0)+41>>0]|0)>1){c[$>>2]=(d[C+41>>0]|0)-(c[N>>2]|0)-1;c[aa>>2]=Qe(c[r>>2]|0,80+((c[$>>2]|0)*72|0)|0,0)|0;if(!(c[aa>>2]|0)){h=v;f=c[h+4>>2]|0;g=p;c[g>>2]=c[h>>2];c[g+4>>2]=f;g=p;f=g;f=c[f>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;i=q;return f|0}c[(c[aa>>2]|0)+4>>2]=(c[$>>2]|0)+1&255;c[c[aa>>2]>>2]=c[(c[aa>>2]|0)+4>>2];C=(c[aa>>2]|0)+8|0;T=(c[Ea>>2]|0)+0|0;E=C+72|0;do{c[C>>2]=c[T>>2];C=C+4|0;T=T+4|0}while((C|0)<(E|0));c[_>>2]=(c[(c[y>>2]|0)+4>>2]|0)+8;c[B>>2]=1;while(1){if((c[B>>2]|0)>(c[$>>2]|0))break a;C=(c[aa>>2]|0)+8+((c[B>>2]|0)*72|0)+0|0;T=(c[_>>2]|0)+((d[(c[A>>2]|0)+((c[B>>2]|0)*72|0)+36>>0]|0)*72|0)+0|0;E=C+72|0;do{c[C>>2]=c[T>>2];C=C+4|0;T=T+4|0}while((C|0)<(E|0));c[B>>2]=(c[B>>2]|0)+1}}else c[aa>>2]=c[C+4>>2];while(0);if(!(e[(c[y>>2]|0)+34>>1]&8)){if(!(d[(c[ba>>2]|0)+44>>0]&32)){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ea>>2]=f;fp(c[l>>2]|0,28,0,c[ea>>2]|0)|0}else{c[fa>>2]=Zr(c[ba>>2]|0)|0;g=(c[u>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[ea>>2]=f;fp(c[l>>2]|0,57,c[ea>>2]|0,e[(c[fa>>2]|0)+50>>1]|0)|0;Lr(c[u>>2]|0,c[fa>>2]|0)}g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ga>>2]=f}c[da>>2]=fp(c[l>>2]|0,25,0,c[ca>>2]|0)|0;if((c[(c[m>>2]|0)+12>>2]|0)>1){c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;c[Y>>2]=c[(c[(c[m>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0)>>2];if(((((c[(c[m>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0)|0)!=(c[n>>2]|0)?(c[(c[Y>>2]|0)+4>>2]&1|0)==0:0)?(d[(c[(c[m>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0)+20>>0]&18|0)==0:0)?(e[(c[(c[m>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0)+18>>1]&4095|0)!=0:0){c[Y>>2]=Bq(c[r>>2]|0,c[Y>>2]|0,0)|0;c[Z>>2]=mr(c[r>>2]|0,c[Z>>2]|0,c[Y>>2]|0)|0}c[ha>>2]=(c[ha>>2]|0)+1}if(c[Z>>2]|0)c[Z>>2]=Rn(c[u>>2]|0,72,0,c[Z>>2]|0,0)|0}b[ia>>1]=112;c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[(c[X>>2]|0)+12>>2]|0))break;c[S>>2]=(c[(c[X>>2]|0)+20>>2]|0)+((c[ja>>2]|0)*48|0);if(!((c[(c[S>>2]|0)+8>>2]|0)!=(c[w>>2]|0)?(e[(c[S>>2]|0)+18>>1]&512|0)==0:0)){c[R>>2]=c[c[S>>2]>>2];c[Q>>2]=0;if((c[Z>>2]|0)!=0?(c[(c[R>>2]|0)+4>>2]&1|0)==0:0){c[(c[Z>>2]|0)+12>>2]=c[R>>2];c[R>>2]=c[Z>>2]}c[O>>2]=Hu(c[u>>2]|0,c[aa>>2]|0,c[R>>2]|0,0,0,b[ia>>1]|0,c[P>>2]|0)|0;if(c[O>>2]|0){av(c[u>>2]|0,c[aa>>2]|0,(c[O>>2]|0)+736|0,c[N>>2]|0,d[(c[A>>2]|0)+36>>0]|0,0);do if(!(e[(c[y>>2]|0)+34>>1]&8)){c[M>>2]=(c[ja>>2]|0)==((c[(c[X>>2]|0)+12>>2]|0)-1|0)?-1:c[ja>>2]|0;if(!(d[(c[ba>>2]|0)+44>>0]&32)){c[K>>2]=Rs(c[u>>2]|0,c[ba>>2]|0,-1,c[w>>2]|0,c[ga>>2]|0,0)|0;c[Q>>2]=We(c[l>>2]|0,130,c[ea>>2]|0,0,c[K>>2]|0,c[M>>2]|0)|0;break}c[J>>2]=Zr(c[ba>>2]|0)|0;c[I>>2]=e[(c[J>>2]|0)+50>>1];c[K>>2]=ys(c[u>>2]|0,c[I>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[V>>2]=b[(c[(c[J>>2]|0)+4>>2]|0)+(c[G>>2]<<1)>>1];Rs(c[u>>2]|0,c[ba>>2]|0,c[V>>2]|0,c[w>>2]|0,(c[K>>2]|0)+(c[G>>2]|0)|0,0)|0;c[G>>2]=(c[G>>2]|0)+1}if(c[M>>2]|0)c[Q>>2]=We(c[l>>2]|0,69,c[ea>>2]|0,0,c[K>>2]|0,c[I>>2]|0)|0;do if((c[M>>2]|0)>=0){ip(c[l>>2]|0,49,c[K>>2]|0,c[I>>2]|0,c[ga>>2]|0)|0;ip(c[l>>2]|0,110,c[ea>>2]|0,c[ga>>2]|0,0)|0;if(!(c[M>>2]|0))break;Xe(c[l>>2]|0,16)}while(0);Bs(c[u>>2]|0,c[K>>2]|0,c[I>>2]|0)}while(0);fp(c[l>>2]|0,17,c[ca>>2]|0,c[F>>2]|0)|0;if(c[Q>>2]|0)zp(c[l>>2]|0,c[Q>>2]|0);if(a[(c[O>>2]|0)+39>>0]|0)c[L>>2]=1;c[H>>2]=c[(c[O>>2]|0)+792>>2];do if(c[(c[H>>2]|0)+36>>2]&512){if((c[ja>>2]|0)!=0?(c[(c[H>>2]|0)+28>>2]|0)!=(c[W>>2]|0):0){U=164;break}if((d[(c[ba>>2]|0)+44>>0]&32|0)!=0?(a[(c[(c[H>>2]|0)+28>>2]|0)+55>>0]&3|0)==2:0){U=164;break}c[W>>2]=c[(c[H>>2]|0)+28>>2];b[ia>>1]=e[ia>>1]|4096}else U=164;while(0);if((U|0)==164){U=0;c[W>>2]=0}Iu(c[O>>2]|0)}}c[ja>>2]=(c[ja>>2]|0)+1}c[(c[A>>2]|0)+48>>2]=c[W>>2];if(c[W>>2]|0)c[(c[A>>2]|0)+8>>2]=c[P>>2];if(c[Z>>2]|0){c[(c[Z>>2]|0)+12>>2]=0;wn(c[r>>2]|0,c[Z>>2]|0)}g=c[l>>2]|0;f=c[da>>2]|0;_e(g,f,Mr(c[l>>2]|0)|0);fp(c[l>>2]|0,16,0,c[(c[A>>2]|0)+12>>2]|0)|0;Pr(c[l>>2]|0,c[F>>2]|0);if((d[(c[y>>2]|0)+41>>0]|0)>1)Xb(c[r>>2]|0,c[aa>>2]|0);if(!(c[L>>2]|0))dv(c[A>>2]|0,c[n>>2]|0)}else{c[Xa>>2]=c[(c[Ea>>2]|0)+28>>2];ip(c[l>>2]|0,20,c[Xa>>2]|0,0,c[(c[Ea>>2]|0)+24>>2]|0)|0;f=fp(c[l>>2]|0,22,c[Xa>>2]|0,c[Ja>>2]|0)|0;c[(c[A>>2]|0)+44>>2]=f;a[(c[A>>2]|0)+37>>0]=16}while(0);c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=c[(c[m>>2]|0)+12>>2];while(1){if((c[o>>2]|0)<=0)break;do if(!(d[(c[n>>2]|0)+20>>0]&6)){g=(c[n>>2]|0)+40|0;f=(c[A>>2]|0)+64|0;if((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0){a[(c[y>>2]|0)+39>>0]=1;break}c[z>>2]=c[c[n>>2]>>2];if((c[c[A>>2]>>2]|0)!=0?(c[(c[z>>2]|0)+4>>2]&1|0)==0:0)break;xs(c[u>>2]|0,c[z>>2]|0,c[x>>2]|0,16);f=(c[n>>2]|0)+20|0;a[f>>0]=d[f>>0]|4}while(0);c[o>>2]=(c[o>>2]|0)+ -1;c[n>>2]=(c[n>>2]|0)+48}c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=c[(c[m>>2]|0)+12>>2];while(1){if((c[o>>2]|0)<=0)break;if(((((((d[(c[n>>2]|0)+20>>0]&6|0)==0?(e[(c[n>>2]|0)+18>>1]|0)==1026:0)?(c[(c[n>>2]|0)+8>>2]|0)==(c[w>>2]|0):0)?(c[c[A>>2]>>2]|0)==0:0)?(c[k>>2]=c[c[n>>2]>>2],f=v,c[t>>2]=hv(c[m>>2]|0,c[w>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,3,0)|0,(c[t>>2]|0)!=0):0)?(d[(c[t>>2]|0)+20>>0]&4|0)==0:0)?(c[s>>2]=Qe(c[r>>2]|0,48,0)|0,(c[s>>2]|0)!=0):0){C=(c[s>>2]|0)+0|0;T=(c[c[t>>2]>>2]|0)+0|0;E=C+48|0;do{c[C>>2]=c[T>>2];C=C+4|0;T=T+4|0}while((C|0)<(E|0));c[(c[s>>2]|0)+12>>2]=c[(c[k>>2]|0)+12>>2];xs(c[u>>2]|0,c[s>>2]|0,c[x>>2]|0,16);Xb(c[r>>2]|0,c[s>>2]|0)}c[o>>2]=(c[o>>2]|0)+ -1;c[n>>2]=(c[n>>2]|0)+48}b:do if(c[c[A>>2]>>2]|0){f=Mr(c[l>>2]|0)|0;c[(c[A>>2]|0)+28>>2]=f;fp(c[l>>2]|0,25,1,c[c[A>>2]>>2]|0)|0;cu(c[u>>2]|0);c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break b;if((d[(c[n>>2]|0)+20>>0]&6|0)==0?(g=(c[n>>2]|0)+40|0,f=(c[A>>2]|0)+64|0,!((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0)):0){xs(c[u>>2]|0,c[c[n>>2]>>2]|0,c[x>>2]|0,16);f=(c[n>>2]|0)+20|0;a[f>>0]=d[f>>0]|4}c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}}while(0);h=(c[A>>2]|0)+64|0;f=c[h+4>>2]|0;g=p;c[g>>2]=c[h>>2];c[g+4>>2]=f;g=p;f=g;f=c[f>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;i=q;return f|0}function cv(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;q=i;i=i+64|0;v=q+48|0;l=q+44|0;m=q+40|0;x=q+36|0;p=q+32|0;w=q+28|0;u=q+24|0;n=q+20|0;k=q+16|0;r=q+12|0;s=q+8|0;o=q+4|0;t=q;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[x>>2]=g;c[p>>2]=h;c[w>>2]=j;c[u>>2]=c[c[l>>2]>>2];c[n>>2]=c[(c[v>>2]|0)+8>>2];if((d[c[u>>2]>>0]|0|0)==79){c[k>>2]=Qs(c[v>>2]|0,c[(c[u>>2]|0)+16>>2]|0,c[w>>2]|0)|0;e=c[m>>2]|0;b=c[l>>2]|0;dv(e,b);b=c[k>>2]|0;i=q;return b|0}if((d[c[u>>2]>>0]|0|0)==76){c[k>>2]=c[w>>2];fp(c[n>>2]|0,28,0,c[k>>2]|0)|0;e=c[m>>2]|0;b=c[l>>2]|0;dv(e,b);b=c[k>>2]|0;i=q;return b|0}c[t>>2]=c[(c[m>>2]|0)+56>>2];if(((c[(c[t>>2]|0)+36>>2]&1024|0)==0?(c[(c[t>>2]|0)+28>>2]|0)!=0:0)?(d[(c[(c[(c[t>>2]|0)+28>>2]|0)+28>>2]|0)+(c[x>>2]|0)>>0]|0|0)!=0:0)c[p>>2]=((c[p>>2]|0)!=0^1)&1;c[k>>2]=c[w>>2];c[r>>2]=Ms(c[v>>2]|0,c[u>>2]|0,4,0)|0;if((c[r>>2]|0)==4)c[p>>2]=((c[p>>2]|0)!=0^1)&1;c[s>>2]=c[(c[u>>2]|0)+28>>2];fp(c[n>>2]|0,(c[p>>2]|0)!=0?105:108,c[s>>2]|0,0)|0;b=(c[t>>2]|0)+36|0;c[b>>2]=c[b>>2]|2048;if(!(c[(c[m>>2]|0)+48>>2]|0)){b=Nr(c[n>>2]|0)|0;c[(c[m>>2]|0)+16>>2]=b}t=(c[m>>2]|0)+48|0;c[t>>2]=(c[t>>2]|0)+1;t=Ek(c[c[v>>2]>>2]|0,c[(c[m>>2]|0)+52>>2]|0,(c[(c[m>>2]|0)+48>>2]|0)*12|0,0)|0;c[(c[m>>2]|0)+52>>2]=t;c[o>>2]=c[(c[m>>2]|0)+52>>2];t=(c[m>>2]|0)+48|0;if(!(c[o>>2]|0)){c[t>>2]=0;e=c[m>>2]|0;b=c[l>>2]|0;dv(e,b);b=c[k>>2]|0;i=q;return b|0}c[o>>2]=(c[o>>2]|0)+(((c[t>>2]|0)-1|0)*12|0);c[c[o>>2]>>2]=c[s>>2];t=c[n>>2]|0;u=c[s>>2]|0;s=c[k>>2]|0;if((c[r>>2]|0)==1){b=fp(t,103,u,s)|0;c[(c[o>>2]|0)+4>>2]=b}else{b=ip(t,47,u,0,s)|0;c[(c[o>>2]|0)+4>>2]=b}a[(c[o>>2]|0)+8>>0]=(c[p>>2]|0)!=0?6:7;Ir(c[n>>2]|0,76,c[k>>2]|0)|0;e=c[m>>2]|0;b=c[l>>2]|0;dv(e,b);b=c[k>>2]|0;i=q;return b|0}function dv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;g=f+4|0;h=f;c[j>>2]=b;c[g>>2]=e;if(!(c[g>>2]|0)){i=f;return}if((d[(c[g>>2]|0)+20>>0]|0)&4){i=f;return}if((c[c[j>>2]>>2]|0)!=0?(c[(c[c[g>>2]>>2]|0)+4>>2]&1|0)==0:0){i=f;return}e=(c[j>>2]|0)+64|0;b=(c[g>>2]|0)+40|0;if(!((c[e>>2]&c[b>>2]|0)==0?(c[e+4>>2]&c[b+4>>2]|0)==0:0)){i=f;return}b=(c[g>>2]|0)+20|0;a[b>>0]=d[b>>0]|0|4;if((c[(c[g>>2]|0)+4>>2]|0)<0){i=f;return}c[h>>2]=(c[(c[(c[g>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)*48|0);g=(c[h>>2]|0)+21|0;b=(a[g>>0]|0)+ -1<<24>>24;a[g>>0]=b;if(b&255){i=f;return}dv(c[j>>2]|0,c[h>>2]|0);i=f;return}function ev(d,f,g,h,j){d=d|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=i;i=i+80|0;s=m+60|0;t=m+56|0;k=m+52|0;C=m+48|0;l=m+44|0;w=m+66|0;x=m+64|0;y=m+40|0;B=m+36|0;r=m+32|0;p=m+28|0;q=m+24|0;n=m+20|0;o=m+16|0;u=m+12|0;z=m+8|0;v=m+4|0;A=m;c[s>>2]=d;c[t>>2]=f;c[k>>2]=g;c[C>>2]=h;c[l>>2]=j;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[p>>2]=c[(c[t>>2]|0)+56>>2];b[w>>1]=b[(c[p>>2]|0)+24>>1]|0;b[x>>1]=b[(c[p>>2]|0)+26>>1]|0;c[B>>2]=c[(c[p>>2]|0)+28>>2];c[n>>2]=(c[(c[s>>2]|0)+72>>2]|0)+1;c[o>>2]=(e[(c[p>>2]|0)+24>>1]|0)+(c[C>>2]|0);d=(c[s>>2]|0)+72|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0);d=c[c[s>>2]>>2]|0;c[u>>2]=ne(d,au(c[y>>2]|0,c[B>>2]|0)|0)|0;if(!(c[u>>2]|0))a[(c[c[s>>2]>>2]|0)+64>>0]=1;a:do if(b[x>>1]|0){c[z>>2]=c[(c[t>>2]|0)+8>>2];Ir(c[y>>2]|0,(c[k>>2]|0)!=0?105:108,c[z>>2]|0)|0;c[q>>2]=mp(c[y>>2]|0,16)|0;C=We(c[y>>2]|0,(c[k>>2]|0)!=0?62:65,c[z>>2]|0,0,c[n>>2]|0,e[x>>1]|0)|0;c[(c[t>>2]|0)+20>>2]=C;zp(c[y>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[x>>1]|0))break a;ip(c[y>>2]|0,47,c[z>>2]|0,c[q>>2]|0,(c[n>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[x>>1];while(1){if((c[q>>2]|0)>=(e[w>>1]|0))break;c[r>>2]=c[(c[(c[p>>2]|0)+44>>2]|0)+(c[q>>2]<<2)>>2];c[v>>2]=cv(c[s>>2]|0,c[r>>2]|0,c[t>>2]|0,c[q>>2]|0,c[k>>2]|0,(c[n>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[v>>2]|0)!=((c[n>>2]|0)+(c[q>>2]|0)|0))if((c[o>>2]|0)==1){lp(c[s>>2]|0,c[n>>2]|0);c[n>>2]=c[v>>2];break}else{fp(c[y>>2]|0,34,c[v>>2]|0,(c[n>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);if(!(e[(c[r>>2]|0)+18>>1]&129)){c[A>>2]=c[(c[c[r>>2]>>2]|0)+16>>2];if(Ps(c[A>>2]|0)|0)fp(c[y>>2]|0,76,(c[n>>2]|0)+(c[q>>2]|0)|0,c[(c[t>>2]|0)+12>>2]|0)|0;if(c[u>>2]|0){if(((kt(c[A>>2]|0,a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[u>>2]|0)+(c[q>>2]|0)>>0]=65;if(fv(c[A>>2]|0,a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[u>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[l>>2]>>2]=c[u>>2];i=m;return c[n>>2]|0}function fv(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;g=h+4|0;k=h;j=h+9|0;l=h+8|0;c[k>>2]=e;a[j>>0]=f;a:do if((a[j>>0]|0)==65)c[g>>2]=1;else{while(1){if((d[c[k>>2]>>0]|0)==158)f=1;else f=(d[c[k>>2]>>0]|0)==157;e=c[k>>2]|0;if(!f)break;c[k>>2]=c[e+12>>2]}a[l>>0]=a[e>>0]|0;if((d[l>>0]|0)==159)a[l>>0]=a[(c[k>>2]|0)+38>>0]|0;switch(d[l>>0]|0){case 133:{if((a[j>>0]|0)==69)j=1;else j=(a[j>>0]|0)==67;c[g>>2]=j&1;break a};case 132:{if((a[j>>0]|0)==68)j=1;else j=(a[j>>0]|0)==67;c[g>>2]=j&1;break a};case 134:{c[g>>2]=1;break a};case 154:{if((b[(c[k>>2]|0)+32>>1]|0)<0)if((a[j>>0]|0)==68)j=1;else j=(a[j>>0]|0)==67;else j=0;c[g>>2]=j&1;break a};case 97:{c[g>>2]=(a[j>>0]|0)==66&1;break a};default:{c[g>>2]=0;break a}}}while(0);i=h;return c[g>>2]|0}function gv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;h=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[l>>2]|0)){i=m;return}while(1){if((c[k>>2]|0)<=0)break;if((a[c[l>>2]>>0]|0)!=65)break;c[k>>2]=(c[k>>2]|0)+ -1;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}while(1){if((c[k>>2]|0)>1)e=(a[(c[l>>2]|0)+((c[k>>2]|0)-1)>>0]|0)==65;else e=0;f=c[k>>2]|0;if(!e)break;c[k>>2]=f+ -1}if((f|0)<=0){i=m;return}fp(c[h>>2]|0,48,c[j>>2]|0,c[k>>2]|0)|0;bf(c[h>>2]|0,-1,c[l>>2]|0,c[k>>2]|0);Us(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0);i=m;return}function hv(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;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,u=0;l=i;i=i+160|0;k=l+148|0;u=l+144|0;t=l+140|0;s=l+136|0;o=l;r=l+132|0;q=l+128|0;n=l+124|0;m=l+120|0;p=l+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=o;c[a>>2]=f;c[a+4>>2]=g;c[r>>2]=h;c[q>>2]=j;c[n>>2]=0;c[m>>2]=iv(p,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;while(1){if(!(c[m>>2]|0)){h=10;break}t=(c[m>>2]|0)+32|0;u=o;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[m>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[m>>2]|0)+18>>1]|0)&2|0)!=0:0){h=6;break}if(!(c[n>>2]|0))c[n>>2]=c[m>>2]}c[m>>2]=jv(p)|0}if((h|0)==6){c[k>>2]=c[m>>2];u=c[k>>2]|0;i=l;return u|0}else if((h|0)==10){c[k>>2]=c[n>>2];u=c[k>>2]|0;i=l;return u|0}return 0}function iv(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;r=i;i=i+32|0;q=r+28|0;n=r+24|0;u=r+20|0;o=r+16|0;p=r+12|0;t=r+8|0;l=r+4|0;s=r;c[n>>2]=d;c[u>>2]=f;c[o>>2]=g;c[p>>2]=h;c[t>>2]=j;c[l>>2]=k;c[c[n>>2]>>2]=c[u>>2];c[(c[n>>2]|0)+4>>2]=c[u>>2];do if((c[l>>2]|0)!=0&(c[p>>2]|0)>=0){a[(c[n>>2]|0)+12>>0]=a[(c[(c[(c[l>>2]|0)+12>>2]|0)+4>>2]|0)+((c[p>>2]|0)*24|0)+21>>0]|0;c[s>>2]=0;while(1){j=c[s>>2]|0;k=c[l>>2]|0;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]|0)==(c[p>>2]|0)){m=7;break}if((j|0)>(e[k+52>>1]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((m|0)==7){c[(c[n>>2]|0)+8>>2]=c[(c[k+32>>2]|0)+(j<<2)>>2];break}c[q>>2]=0;u=c[q>>2]|0;i=r;return u|0}else{a[(c[n>>2]|0)+12>>0]=0;c[(c[n>>2]|0)+8>>2]=0}while(0);c[(c[n>>2]|0)+16>>2]=c[t>>2];c[(c[n>>2]|0)+20>>2]=0;c[(c[n>>2]|0)+24>>2]=c[o>>2];c[(c[n>>2]|0)+28>>2]=c[p>>2];a[(c[n>>2]|0)+13>>0]=2;a[(c[n>>2]|0)+14>>0]=2;c[q>>2]=jv(c[n>>2]|0)|0;u=c[q>>2]|0;i=r;return u|0}function jv(f){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;h=i;i=i+48|0;k=h+40|0;j=h+36|0;m=h+32|0;n=h+28|0;p=h+24|0;o=h+20|0;l=h+16|0;g=h+12|0;q=h+8|0;s=h+4|0;r=h;c[j>>2]=f;c[g>>2]=c[(c[j>>2]|0)+20>>2];a:while(1){if((d[(c[j>>2]|0)+14>>0]|0)>(d[(c[j>>2]|0)+13>>0]|0)){m=35;break}c[m>>2]=c[(c[j>>2]|0)+24+((d[(c[j>>2]|0)+14>>0]|0)-2<<2)>>2];c[n>>2]=c[(c[j>>2]|0)+24+((d[(c[j>>2]|0)+14>>0]|0)-1<<2)>>2];while(1){f=c[(c[j>>2]|0)+4>>2]|0;c[o>>2]=f;if(!f)break;c[l>>2]=(c[(c[o>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);while(1){if((c[g>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;do if((c[(c[l>>2]|0)+8>>2]|0)==(c[m>>2]|0)?(c[(c[l>>2]|0)+12>>2]|0)==(c[n>>2]|0):0){if((d[(c[j>>2]|0)+14>>0]|0)>2?(c[(c[c[l>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if((e[(c[l>>2]|0)+18>>1]&1024|0)!=0?(d[(c[j>>2]|0)+13>>0]|0)<22:0){c[p>>2]=iq(c[(c[c[l>>2]>>2]|0)+16>>2]|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[j>>2]|0)+13>>0]|0))break;if((c[(c[j>>2]|0)+24+(c[q>>2]<<2)>>2]|0)==(c[(c[p>>2]|0)+28>>2]|0)?(c[(c[j>>2]|0)+24+((c[q>>2]|0)+1<<2)>>2]|0)==(b[(c[p>>2]|0)+32>>1]|0):0)break;c[q>>2]=(c[q>>2]|0)+2}if((c[q>>2]|0)==(d[(c[j>>2]|0)+13>>0]|0)){c[(c[j>>2]|0)+24+(c[q>>2]<<2)>>2]=c[(c[p>>2]|0)+28>>2];c[(c[j>>2]|0)+24+((c[q>>2]|0)+1<<2)>>2]=b[(c[p>>2]|0)+32>>1];f=(c[j>>2]|0)+13|0;a[f>>0]=(d[f>>0]|0)+2}}if(e[(c[l>>2]|0)+18>>1]&c[(c[j>>2]|0)+16>>2]){if((c[(c[j>>2]|0)+8>>2]|0)!=0?(e[(c[l>>2]|0)+18>>1]&128|0)==0:0){c[r>>2]=c[c[c[o>>2]>>2]>>2];c[p>>2]=c[c[l>>2]>>2];if(!(mt(c[p>>2]|0,a[(c[j>>2]|0)+12>>0]|0)|0))break;c[s>>2]=at(c[r>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;if(!(c[s>>2]|0))c[s>>2]=c[(c[c[r>>2]>>2]|0)+8>>2];if(xc(c[c[s>>2]>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[l>>2]|0)+18>>1]&2)){m=31;break a}f=c[(c[c[l>>2]>>2]|0)+16>>2]|0;c[p>>2]=f;if((d[f>>0]|0)!=154){m=31;break a}if((c[(c[p>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+24>>2]|0)){m=31;break a}if((b[(c[p>>2]|0)+32>>1]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){m=31;break a}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+48}c[(c[j>>2]|0)+4>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+4>>2];c[g>>2]=0}c[(c[j>>2]|0)+4>>2]=c[c[j>>2]>>2];c[g>>2]=0;f=(c[j>>2]|0)+14|0;a[f>>0]=(d[f>>0]|0)+2}if((m|0)==31){c[(c[j>>2]|0)+20>>2]=(c[g>>2]|0)+1;c[k>>2]=c[l>>2];s=c[k>>2]|0;i=h;return s|0}else if((m|0)==35){c[k>>2]=0;s=c[k>>2]|0;i=h;return s|0}return 0}function kv(a,d,f){a=a|0;d=d|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;k=i;i=i+64|0;t=k;g=k+44|0;o=k+40|0;v=k+36|0;u=k+32|0;s=k+50|0;r=k+48|0;h=k+28|0;n=k+24|0;p=k+20|0;m=k+16|0;q=k+12|0;l=k+8|0;j=k+4|0;c[g>>2]=a;c[o>>2]=d;c[v>>2]=f;c[u>>2]=c[(c[o>>2]|0)+28>>2];b[s>>1]=b[(c[o>>2]|0)+24>>1]|0;b[r>>1]=b[(c[o>>2]|0)+26>>1]|0;c[p>>2]=c[(c[v>>2]|0)+4>>2];c[m>>2]=c[(c[u>>2]|0)+4>>2];if((e[s>>1]|0)==0?(c[(c[o>>2]|0)+36>>2]&48|0)==0:0){i=k;return}Vm(c[g>>2]|0,23928,2);c[h>>2]=0;while(1){f=c[h>>2]|0;if((c[h>>2]|0)>=(e[s>>1]|0))break;if((b[(c[m>>2]|0)+(f<<1)>>1]|0)<0)f=9992;else f=c[(c[p>>2]|0)+((b[(c[m>>2]|0)+(c[h>>2]<<1)>>1]|0)*24|0)>>2]|0;c[q>>2]=f;if((c[h>>2]|0)>=(e[r>>1]|0))lv(c[g>>2]|0,c[h>>2]|0,c[q>>2]|0,23936);else{if(c[h>>2]|0)Vm(c[g>>2]|0,23944,5);v=c[g>>2]|0;c[t>>2]=c[q>>2];kn(v,0,23952,t)}c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=f;if(c[(c[o>>2]|0)+36>>2]&32){if((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)<0)q=9992;else q=c[(c[p>>2]|0)+((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)*24|0)>>2]|0;c[l>>2]=q;u=c[g>>2]|0;v=c[h>>2]|0;c[h>>2]=v+1;lv(u,v,c[l>>2]|0,23960)}if(c[(c[o>>2]|0)+36>>2]&16){if((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)<0)l=9992;else l=c[(c[p>>2]|0)+((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)*24|0)>>2]|0;c[j>>2]=l;lv(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,23968)}Vm(c[g>>2]|0,23976,1);i=k;return}function lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;if(c[k>>2]|0)Vm(c[g>>2]|0,23944,5);ss(c[g>>2]|0,c[j>>2]|0);Vm(c[g>>2]|0,c[h>>2]|0,1);Vm(c[g>>2]|0,19016,1);i=f;return}function mv(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h+8|0;n=h;m=h+20|0;c[l>>2]=b;c[k>>2]=d;b=n;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[l>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+40>>2]|0)){c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}if(!((e[(c[l>>2]|0)+18>>1]|0)&2)){c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}d=(c[l>>2]|0)+32|0;b=n;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}if((c[(c[l>>2]|0)+12>>2]|0)<0){c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+((c[(c[l>>2]|0)+12>>2]|0)*24|0)+21>>0]|0;if(mt(c[c[l>>2]>>2]|0,a[m>>0]|0)|0){c[j>>2]=1;b=c[j>>2]|0;i=h;return b|0}else{c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}return 0}function nv(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;k=g+8|0;l=g+4|0;j=g;c[m>>2]=a;c[k>>2]=d;c[l>>2]=f;if((e[(c[k>>2]|0)+42>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}c[l>>2]=(c[l>>2]|0)+7&-8;c[j>>2]=Qe(c[m>>2]|0,c[l>>2]<<2,0)|0;if(!(c[j>>2]|0)){c[h>>2]=7;a=c[h>>2]|0;i=g;return a|0}dF(c[j>>2]|0,c[(c[k>>2]|0)+44>>2]|0,(e[(c[k>>2]|0)+42>>1]|0)<<2|0)|0;if((c[(c[k>>2]|0)+44>>2]|0)!=((c[k>>2]|0)+52|0))Xb(c[m>>2]|0,c[(c[k>>2]|0)+44>>2]|0);c[(c[k>>2]|0)+44>>2]=c[j>>2];b[(c[k>>2]|0)+42>>1]=c[l>>2];c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}function ov(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;n=g+20|0;k=g+24|0;o=g+16|0;m=g+12|0;h=g+8|0;l=g+4|0;j=g;c[n>>2]=a;b[k>>1]=d;c[o>>2]=e;c[m>>2]=f;c[l>>2]=56+((b[k>>1]<<2)+7&-8)+(((b[k>>1]|0)+1<<1)+(b[k>>1]<<1)+(b[k>>1]|0)+7&-8);a=(c[l>>2]|0)+(c[o>>2]|0)|0;c[h>>2]=se(c[n>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){o=c[h>>2]|0;i=g;return o|0}c[j>>2]=(c[h>>2]|0)+56;c[(c[h>>2]|0)+32>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+((b[k>>1]<<2)+7&-8);c[(c[h>>2]|0)+8>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+((b[k>>1]|0)+1<<1);c[(c[h>>2]|0)+4>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+(b[k>>1]<<1);c[(c[h>>2]|0)+28>>2]=c[j>>2];b[(c[h>>2]|0)+52>>1]=b[k>>1]|0;b[(c[h>>2]|0)+50>>1]=(b[k>>1]|0)-1;c[c[m>>2]>>2]=(c[h>>2]|0)+(c[l>>2]|0);o=c[h>>2]|0;i=g;return o|0}function pv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;f=h+8|0;j=h+20|0;e=h+16|0;g=h;c[j>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=f;c[b>>2]=0;c[b+4>>2]=0;b=f;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=h;return a|0}a=c[j>>2]|0;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==154){a=_u(a,c[b+28>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=D;j=g;a=c[j+4>>2]|0;b=f;c[b>>2]=c[j>>2];c[b+4>>2]=a;b=f;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=h;return a|0}l=pv(a,c[b+16>>2]|0)|0;k=g;c[k>>2]=l;c[k+4>>2]=D;k=pv(c[j>>2]|0,c[(c[e>>2]|0)+12>>2]|0)|0;l=g;a=c[l+4>>2]|D;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=c[j>>2]|0;j=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){a=qv(b,c[j>>2]|0)|0;b=g;k=c[b+4>>2]|D;l=g;c[l>>2]=c[b>>2]|a;c[l+4>>2]=k}else{a=Zu(b,c[j>>2]|0)|0;b=g;k=c[b+4>>2]|D;l=g;c[l>>2]=c[b>>2]|a;c[l+4>>2]=k}a=g;l=c[a+4>>2]|0;k=f;c[k>>2]=c[a>>2];c[k+4>>2]=l;k=f;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;D=k;i=h;return l|0}function qv(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;e=i;i=i+32|0;j=e+20|0;g=e+16|0;d=e;h=e+12|0;f=e+8|0;c[j>>2]=a;c[g>>2]=b;a=d;c[a>>2]=0;c[a+4>>2]=0;while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+32>>2];k=Zu(c[j>>2]|0,c[c[g>>2]>>2]|0)|0;l=d;b=c[l+4>>2]|D;a=d;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b;a=Zu(c[j>>2]|0,c[(c[g>>2]|0)+40>>2]|0)|0;b=d;k=c[b+4>>2]|D;l=d;c[l>>2]=c[b>>2]|a;c[l+4>>2]=k;l=Zu(c[j>>2]|0,c[(c[g>>2]|0)+48>>2]|0)|0;k=d;a=c[k+4>>2]|D;b=d;c[b>>2]=c[k>>2]|l;c[b+4>>2]=a;b=pv(c[j>>2]|0,c[(c[g>>2]|0)+36>>2]|0)|0;a=d;l=c[a+4>>2]|D;k=d;c[k>>2]=c[a>>2]|b;c[k+4>>2]=l;k=pv(c[j>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0;l=d;b=c[l+4>>2]|D;a=d;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=qv(c[j>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=d;b=c[l+4>>2]|D;a=d;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b;a=pv(c[j>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+44>>2]|0)|0;b=d;k=c[b+4>>2]|D;l=d;c[l>>2]=c[b>>2]|a;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[g>>2]=c[(c[g>>2]|0)+52>>2]}l=d;D=c[l+4>>2]|0;i=e;return c[l>>2]|0}function rv(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+4|0;g=e+2|0;h=e;b[g>>1]=a;b[h>>1]=c;if((b[g>>1]|0)>=(b[h>>1]|0)){c=b[g>>1]|0;if((b[g>>1]|0)>((b[h>>1]|0)+49|0)){b[f>>1]=c;a=b[f>>1]|0;i=e;return a|0}a=b[g>>1]|0;if((c<<16>>16|0)>((b[h>>1]|0)+31|0)){b[f>>1]=a+1;a=b[f>>1]|0;i=e;return a|0}else{b[f>>1]=a+(d[24056+((b[g>>1]|0)-(b[h>>1]|0))>>0]|0);a=b[f>>1]|0;i=e;return a|0}}else{c=b[h>>1]|0;if((b[h>>1]|0)>((b[g>>1]|0)+49|0)){b[f>>1]=c;a=b[f>>1]|0;i=e;return a|0}a=b[h>>1]|0;if((c<<16>>16|0)>((b[g>>1]|0)+31|0)){b[f>>1]=a+1;a=b[f>>1]|0;i=e;return a|0}else{b[f>>1]=a+(d[24056+((b[h>>1]|0)-(b[g>>1]|0))>>0]|0);a=b[f>>1]|0;i=e;return a|0}}return 0}function sv(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;s=i;i=i+144|0;o=s+141|0;J=s+120|0;F=s+116|0;X=s+112|0;H=s+132|0;Z=s+130|0;Y=s+108|0;P=s+104|0;M=s+140|0;t=s+139|0;B=s+138|0;u=s+137|0;Q=s+136|0;E=s+135|0;R=s+128|0;z=s+126|0;N=s+124|0;O=s+100|0;p=s+96|0;y=s+92|0;I=s+88|0;A=s+84|0;x=s+80|0;V=s+76|0;G=s+72|0;K=s+68|0;w=s+64|0;L=s+60|0;r=s+40|0;v=s+32|0;S=s+24|0;W=s+16|0;U=s+56|0;T=s+52|0;C=s+134|0;_=s+48|0;$=s+8|0;q=s;c[J>>2]=f;c[F>>2]=g;c[X>>2]=h;b[H>>1]=j;b[Z>>1]=k;c[Y>>2]=l;c[P>>2]=m;c[x>>2]=0;c[L>>2]=c[c[c[J>>2]>>2]>>2];f=r;c[f>>2]=0;c[f+4>>2]=0;if((e[Z>>1]|0)!=0?(e[(c[L>>2]|0)+60>>1]&128|0)!=0:0){a[o>>0]=0;f=a[o>>0]|0;i=s;return f|0}b[N>>1]=c[c[F>>2]>>2];if((e[N>>1]|0)>63){a[o>>0]=0;f=a[o>>0]|0;i=s;return f|0}a[u>>0]=1;g=$E(1,0,e[N>>1]|0)|0;g=ZE(g|0,D|0,1,0)|0;f=v;c[f>>2]=g;c[f+4>>2]=D;f=S;c[f>>2]=0;c[f+4>>2]=0;f=W;c[f>>2]=0;c[f+4>>2]=0;c[O>>2]=0;while(1){if(!(d[u>>0]|0))break;g=r;j=c[g+4>>2]|0;f=v;h=c[f+4>>2]|0;if(!(j>>>0>>0|((j|0)==(h|0)?(c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)))break;if((c[O>>2]|0)>(e[Z>>1]|0))break;if((c[O>>2]|0)>0){h=(c[x>>2]|0)+8|0;j=W;g=c[j+4>>2]|c[h+4>>2];f=W;c[f>>2]=c[j>>2]|c[h>>2];c[f+4>>2]=g}if((c[O>>2]|0)<(e[Z>>1]|0))m=c[(c[(c[X>>2]|0)+24>>2]|0)+(c[O>>2]<<2)>>2]|0;else m=c[Y>>2]|0;c[x>>2]=m;m=c[x>>2]|0;if(c[(c[x>>2]|0)+36>>2]&1024){n=16;break}c[I>>2]=c[(c[(c[J>>2]|0)+4>>2]|0)+8+((d[m+16>>0]|0)*72|0)+40>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[N>>1]|0))break;g=$E(1,0,c[p>>2]|0)|0;f=r;do if(((!((g&c[f>>2]|0)!=0?1:(D&c[f+4>>2]|0)!=0)?(c[G>>2]=iq(c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0,(d[c[G>>2]>>0]|0)==154):0)?(c[(c[G>>2]|0)+28>>2]|0)==(c[I>>2]|0):0)?(f=W,c[V>>2]=hv((c[J>>2]|0)+328|0,c[I>>2]|0,b[(c[G>>2]|0)+32>>1]|0,~c[f>>2],~c[f+4>>2],130,0)|0,(c[V>>2]|0)!=0):0){if((e[(c[V>>2]|0)+18>>1]&2|0)!=0?(b[(c[G>>2]|0)+32>>1]|0)>=0:0){c[K>>2]=cq(c[c[J>>2]>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[L>>2]|0)+8>>2];c[U>>2]=c[c[K>>2]>>2];c[K>>2]=cq(c[c[J>>2]>>2]|0,c[c[V>>2]>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[L>>2]|0)+8>>2];c[T>>2]=c[c[K>>2]>>2];if(xc(c[U>>2]|0,c[T>>2]|0)|0)break}h=$E(1,0,c[p>>2]|0)|0;j=r;g=c[j+4>>2]|D;f=r;c[f>>2]=c[j>>2]|h;c[f+4>>2]=g}while(0);c[p>>2]=(c[p>>2]|0)+1}if(!(c[(c[x>>2]|0)+36>>2]&4096)){if(c[(c[x>>2]|0)+36>>2]&256){c[w>>2]=0;b[R>>1]=0;b[z>>1]=1}else{f=c[(c[x>>2]|0)+28>>2]|0;c[w>>2]=f;if(!f){n=38;break}if((d[(c[w>>2]|0)+55>>0]|0)>>>2&1){n=38;break}b[R>>1]=b[(c[w>>2]|0)+50>>1]|0;b[z>>1]=b[(c[w>>2]|0)+52>>1]|0;a[u>>0]=(d[(c[w>>2]|0)+54>>0]|0)!=0}a[M>>0]=0;a[t>>0]=0;a[Q>>0]=0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(e[z>>1]|0))break;if(((c[y>>2]|0)<(e[(c[x>>2]|0)+24>>1]|0)?(e[(c[x>>2]|0)+26>>1]|0)==0:0)?(f=e[(c[(c[(c[x>>2]|0)+44>>2]|0)+(c[y>>2]<<2)>>2]|0)+18>>1]|0,c[p>>2]=f,(f&130|0)!=0):0){if(c[p>>2]&128)a[u>>0]=0}else{if(c[w>>2]|0){c[A>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[y>>2]<<1)>>1];a[B>>0]=a[(c[(c[w>>2]|0)+28>>2]|0)+(c[y>>2]|0)>>0]|0;if((c[A>>2]|0)==(b[(c[(c[w>>2]|0)+12>>2]|0)+36>>1]|0))c[A>>2]=-1}else{c[A>>2]=-1;a[B>>0]=0}do if((d[u>>0]|0)!=0&(c[A>>2]|0)>=0?(c[y>>2]|0)>=(e[(c[x>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[w>>2]|0)+12>>2]|0)+4>>2]|0)+((c[A>>2]|0)*24|0)+20>>0]|0)break;a[u>>0]=0}while(0);a[C>>0]=1;a[E>>0]=0;c[p>>2]=0;a:while(1){if(!(d[C>>0]|0))break;if((c[p>>2]|0)>=(e[N>>1]|0))break;g=$E(1,0,c[p>>2]|0)|0;f=r;do if(!((g&c[f>>2]|0)!=0?1:(D&c[f+4>>2]|0)!=0)){c[G>>2]=iq(c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;if(!(e[H>>1]&768))a[C>>0]=0;if((d[c[G>>2]>>0]|0)!=154)break;if((c[(c[G>>2]|0)+28>>2]|0)!=(c[I>>2]|0))break;if((b[(c[G>>2]|0)+32>>1]|0)!=(c[A>>2]|0))break;if((c[A>>2]|0)<0){n=68;break a}c[K>>2]=cq(c[c[J>>2]>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[L>>2]|0)+8>>2];if(!(xc(c[c[K>>2]>>2]|0,c[(c[(c[w>>2]|0)+32>>2]|0)+(c[y>>2]<<2)>>2]|0)|0)){n=68;break a}}while(0);c[p>>2]=(c[p>>2]|0)+1}if((n|0)==68){n=0;a[E>>0]=1}do if(d[E>>0]|0){if(e[H>>1]&256)break;if(a[M>>0]|0){if((d[t>>0]^d[B>>0]|0)==(d[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+12>>0]|0))break;a[E>>0]=0;break}a[t>>0]=d[B>>0]^d[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+12>>0];if(a[t>>0]|0){h=$E(1,0,c[O>>2]|0)|0;f=c[P>>2]|0;j=f;g=c[j+4>>2]|D;c[f>>2]=c[j>>2]|h;c[f+4>>2]=g}a[M>>0]=1}while(0);if(!(a[E>>0]|0)){n=82;break}if((c[A>>2]|0)<0)a[Q>>0]=1;h=$E(1,0,c[p>>2]|0)|0;j=r;g=c[j+4>>2]|D;f=r;c[f>>2]=c[j>>2]|h;c[f+4>>2]=g}c[y>>2]=(c[y>>2]|0)+1}do if((n|0)==82){n=0;if((c[y>>2]|0)!=0?(c[y>>2]|0)>=(e[R>>1]|0):0)break;a[u>>0]=0}while(0);if(a[Q>>0]|0)a[u>>0]=1}b:do if(a[u>>0]|0){h=(c[x>>2]|0)+8|0;j=S;g=c[j+4>>2]|c[h+4>>2];f=S;c[f>>2]=c[j>>2]|c[h>>2];c[f+4>>2]=g;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[N>>1]|0))break b;g=$E(1,0,c[p>>2]|0)|0;f=r;do if(!((g&c[f>>2]|0)!=0?1:(D&c[f+4>>2]|0)!=0)){c[_>>2]=c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];g=pv((c[J>>2]|0)+68|0,c[_>>2]|0)|0;f=$;c[f>>2]=g;c[f+4>>2]=D;f=$;if((c[f>>2]|0)==0&(c[f+4>>2]|0)==0?(Vs(c[_>>2]|0)|0)==0:0)break;g=$;f=S;if((c[g>>2]&~c[f>>2]|0)==0?(c[g+4>>2]&~c[f+4>>2]|0)==0:0){h=$E(1,0,c[p>>2]|0)|0;j=r;g=c[j+4>>2]|D;f=r;c[f>>2]=c[j>>2]|h;c[f+4>>2]=g}}while(0);c[p>>2]=(c[p>>2]|0)+1}}while(0);c[O>>2]=(c[O>>2]|0)+1}if((n|0)==16){if(a[m+29>>0]|0){h=v;g=c[h+4>>2]|0;f=r;c[f>>2]=c[h>>2];c[f+4>>2]=g}}else if((n|0)==38){a[o>>0]=0;f=a[o>>0]|0;i=s;return f|0}g=r;f=v;if((c[g>>2]|0)==(c[f>>2]|0)?(c[g+4>>2]|0)==(c[f+4>>2]|0):0){a[o>>0]=b[N>>1];f=a[o>>0]|0;i=s;return f|0}if(a[u>>0]|0){a[o>>0]=-1;f=a[o>>0]|0;i=s;return f|0}c[p>>2]=(e[N>>1]|0)-1;while(1){if((c[p>>2]|0)<=0){n=106;break}g=$E(1,0,c[p>>2]|0)|0;g=ZE(g|0,D|0,1,0)|0;h=q;c[h>>2]=g;c[h+4>>2]=D;h=r;g=q;f=q;t=c[p>>2]|0;if((c[h>>2]&c[g>>2]|0)==(c[f>>2]|0)?(c[h+4>>2]&c[g+4>>2]|0)==(c[f+4>>2]|0):0){n=104;break}c[p>>2]=t+ -1}if((n|0)==104){a[o>>0]=t;f=a[o>>0]|0;i=s;return f|0}else if((n|0)==106){a[o>>0]=0;f=a[o>>0]|0;i=s;return f|0}return 0}function tv(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;k=h+8|0;m=h+16|0;n=h+4|0;o=h;l=h+14|0;j=h+12|0;c[k>>2]=a;b[m>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[l>>1]=((dq(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;a=b[m>>1]|0;a=a+((uv(b[m>>1]|0)|0)<<16>>16)|0;b[j>>1]=a+(b[l>>1]|0)+16;if(!(e[(c[k>>2]|0)+34>>1]&1024)){o=b[j>>1]|0;i=h;return o|0}b[j>>1]=(b[j>>1]|0)+16;o=b[j>>1]|0;i=h;return o|0}function uv(a){a=a|0;var c=0,d=0;c=i;i=i+16|0;d=c;b[d>>1]=a;if((b[d>>1]|0)<=10){d=0;d=d&65535;i=c;return d|0}d=b[d>>1]|0;d=((dq(d,((d|0)<0)<<31>>31)|0)<<16>>16)-33|0;d=d&65535;i=c;return d|0}function vv(f,g,j){f=f|0;g=g|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,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;y=i;i=i+112|0;H=y+8|0;m=y+96|0;r=y+92|0;k=y;J=y+88|0;z=y+84|0;C=y+80|0;I=y+76|0;A=y+72|0;n=y+68|0;o=y+64|0;x=y+60|0;v=y+56|0;D=y+52|0;t=y+48|0;B=y+44|0;w=y+40|0;s=y+36|0;u=y+32|0;F=y+28|0;G=y+24|0;E=y+20|0;q=y+16|0;p=y+12|0;c[r>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=j;c[F>>2]=0;c[G>>2]=0;c[p>>2]=0;c[J>>2]=c[c[r>>2]>>2];c[z>>2]=c[c[J>>2]>>2];c[n>>2]=c[c[z>>2]>>2];c[C>>2]=c[(c[r>>2]|0)+4>>2];c[q>>2]=c[(c[r>>2]|0)+12>>2];c[I>>2]=(c[(c[J>>2]|0)+4>>2]|0)+8+((d[(c[q>>2]|0)+16>>0]|0)*72|0);c[A>>2]=c[(c[I>>2]|0)+16>>2];c[o>>2]=Nv(c[z>>2]|0,c[C>>2]|0,c[I>>2]|0,c[(c[r>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){c[m>>2]=7;J=c[m>>2]|0;i=y;return J|0}J=c[q>>2]|0;c[J>>2]=0;c[J+4>>2]=0;b[(c[q>>2]|0)+18>>1]=0;c[(c[q>>2]|0)+36>>2]=1024;b[(c[q>>2]|0)+40>>1]=0;a[(c[q>>2]|0)+28>>0]=0;c[v>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=c[c[o>>2]>>2];if(nv(c[n>>2]|0,c[q>>2]|0,c[u>>2]|0)|0){Xb(c[n>>2]|0,c[o>>2]|0);c[m>>2]=7;J=c[m>>2]|0;i=y;return J|0}c[E>>2]=0;a:while(1){if((c[E>>2]|0)>3)break;if(((c[F>>2]|0)==0?(c[E>>2]&1|0)!=0:0)?(c[E>>2]=(c[E>>2]|0)+1,(c[E>>2]|0)>3):0)break;if((c[G>>2]|0)==0&(c[E>>2]|0)>1)break;c[x>>2]=c[(c[o>>2]|0)+4>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[B>>2]=c[(c[x>>2]|0)+8>>2];c[D>>2]=(c[(c[C>>2]|0)+20>>2]|0)+((c[B>>2]|0)*48|0);j=c[E>>2]|0;do if((j|0)==2)a[(c[x>>2]|0)+5>>0]=(e[(c[D>>2]|0)+18>>1]&1|0)==0;else if((j|0)==1){J=(c[D>>2]|0)+32|0;a[(c[x>>2]|0)+5>>0]=(c[J>>2]|0)==0&(c[J+4>>2]|0)==0&1}else if(!j){a[(c[x>>2]|0)+5>>0]=0;if(e[(c[D>>2]|0)+18>>1]&1)c[F>>2]=1;J=(c[D>>2]|0)+32|0;if((c[J>>2]|0)!=0|(c[J+4>>2]|0)!=0){c[G>>2]=1;break}if(!(e[(c[D>>2]|0)+18>>1]&1))a[(c[x>>2]|0)+5>>0]=1}else a[(c[x>>2]|0)+5>>0]=1;while(0);c[t>>2]=(c[t>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}_E(c[v>>2]|0,0,c[c[o>>2]>>2]<<3|0)|0;if(c[(c[o>>2]|0)+28>>2]|0)hc(c[(c[o>>2]|0)+24>>2]|0);c[(c[o>>2]|0)+24>>2]=0;c[(c[o>>2]|0)+20>>2]=0;c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;h[(c[o>>2]|0)+40>>3]=5.0e+98;J=(c[o>>2]|0)+48|0;c[J>>2]=25;c[J+4>>2]=0;c[p>>2]=Ov(c[z>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)break;c[x>>2]=c[(c[o>>2]|0)+4>>2];f=k;I=c[f+4>>2]|0;J=c[q>>2]|0;c[J>>2]=c[f>>2];c[J+4>>2]=I;c[s>>2]=-1;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;c[(c[(c[q>>2]|0)+44>>2]|0)+(c[t>>2]<<2)>>2]=0;c[t>>2]=(c[t>>2]|0)+1}b[(c[q>>2]|0)+30>>1]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;J=(c[(c[v>>2]|0)+(c[t>>2]<<3)>>2]|0)-1|0;c[w>>2]=J;if((J|0)>=0){c[B>>2]=c[(c[x>>2]|0)+8>>2];if((c[B>>2]|0)<0?1:(c[w>>2]|0)>=(c[u>>2]|0)){l=36;break a}if((c[B>>2]|0)>=(c[(c[C>>2]|0)+12>>2]|0)){l=36;break a}if(c[(c[(c[q>>2]|0)+44>>2]|0)+(c[w>>2]<<2)>>2]|0){l=36;break a}c[D>>2]=(c[(c[C>>2]|0)+20>>2]|0)+((c[B>>2]|0)*48|0);f=(c[D>>2]|0)+32|0;J=c[q>>2]|0;g=J;I=c[g+4>>2]|c[f+4>>2];c[J>>2]=c[g>>2]|c[f>>2];c[J+4>>2]=I;c[(c[(c[q>>2]|0)+44>>2]|0)+(c[w>>2]<<2)>>2]=c[D>>2];if((c[w>>2]|0)>(c[s>>2]|0))c[s>>2]=c[w>>2];if((c[w>>2]|0)<16?(d[(c[v>>2]|0)+(c[t>>2]<<3)+4>>0]|0)!=0:0){J=(c[q>>2]|0)+30|0;b[J>>1]=e[J>>1]|1<>2]}if(e[(c[D>>2]|0)+18>>1]&1){if(!(d[(c[v>>2]|0)+(c[t>>2]<<3)+4>>0]|0))break;c[(c[o>>2]|0)+32>>2]=0}}c[t>>2]=(c[t>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}if((c[t>>2]|0)>=(c[u>>2]|0)){b[(c[q>>2]|0)+40>>1]=(c[s>>2]|0)+1;c[(c[q>>2]|0)+24>>2]=c[(c[o>>2]|0)+20>>2];a[(c[q>>2]|0)+28>>0]=c[(c[o>>2]|0)+28>>2];c[(c[o>>2]|0)+28>>2]=0;c[(c[q>>2]|0)+32>>2]=c[(c[o>>2]|0)+24>>2];if(c[(c[o>>2]|0)+32>>2]|0)j=c[(c[o>>2]|0)+8>>2]|0;else j=0;a[(c[q>>2]|0)+29>>0]=j;b[(c[q>>2]|0)+18>>1]=0;J=Pv(+h[(c[o>>2]|0)+40>>3])|0;b[(c[q>>2]|0)+20>>1]=J;J=(c[o>>2]|0)+48|0;J=dq(c[J>>2]|0,c[J+4>>2]|0)|0;b[(c[q>>2]|0)+22>>1]=J;Av(c[r>>2]|0,c[q>>2]|0)|0;if(a[(c[q>>2]|0)+28>>0]|0){hc(c[(c[q>>2]|0)+32>>2]|0);a[(c[q>>2]|0)+28>>0]=0}}c[E>>2]=(c[E>>2]|0)+1}if((l|0)==36){c[p>>2]=1;J=c[z>>2]|0;c[H>>2]=c[c[A>>2]>>2];Se(J,24088,H)}if(c[(c[o>>2]|0)+28>>2]|0)hc(c[(c[o>>2]|0)+24>>2]|0);Xb(c[n>>2]|0,c[o>>2]|0);c[m>>2]=c[p>>2];J=c[m>>2]|0;i=y;return J|0}function wv(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,A=0,B=0,C=0,E=0,F=0;k=i;i=i+144|0;n=k+128|0;m=k+8|0;r=k+124|0;v=k+120|0;A=k+64|0;C=k+140|0;B=k+136|0;F=k+56|0;o=k+52|0;z=k+48|0;j=k+44|0;s=k+40|0;p=k+36|0;t=k+134|0;x=k+132|0;q=k+32|0;u=k+28|0;E=k+24|0;w=k+20|0;y=k+16|0;l=k;c[n>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;b[B>>1]=-1;c[j>>2]=0;c[s>>2]=1;c[z>>2]=c[(c[n>>2]|0)+12>>2];c[r>>2]=c[c[n>>2]>>2];c[F>>2]=c[(c[r>>2]|0)+4>>2];c[o>>2]=(c[F>>2]|0)+8+((d[(c[z>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[o>>2]|0)+16>>2];c[q>>2]=c[(c[n>>2]|0)+4>>2];do if(c[(c[o>>2]|0)+68>>2]|0)c[v>>2]=c[(c[o>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+44>>0]&32){c[v>>2]=c[(c[u>>2]|0)+8>>2];break}g=A+0|0;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[A+50>>1]=1;b[A+52>>1]=1;c[A+4>>2]=B;c[A+8>>2]=C;a[A+54>>0]=5;c[A+12>>2]=c[u>>2];b[A+48>>1]=b[(c[u>>2]|0)+42>>1]|0;b[C>>1]=b[(c[u>>2]|0)+28>>1]|0;b[C+2>>1]=0;c[E>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[o>>2]|0)+37>>0]&1))c[A+20>>2]=c[E>>2];c[v>>2]=A}while(0);b[t>>1]=b[(c[u>>2]|0)+28>>1]|0;b[x>>1]=uv(b[t>>1]|0)|0;a:do if((((((((c[(c[n>>2]|0)+16>>2]|0)==0?(c[(c[c[c[r>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[o>>2]|0)+68>>2]|0)==0:0)?((d[(c[o>>2]|0)+37>>0]|0)>>>2&1|0)==0:0)?(a[(c[o>>2]|0)+37>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+44>>0]&32|0)==0:0)?((d[(c[o>>2]|0)+37>>0]|0)>>>1&1|0)==0:0)?((d[(c[o>>2]|0)+37>>0]|0)>>>3&1|0)==0:0){c[y>>2]=(c[(c[q>>2]|0)+20>>2]|0)+((c[(c[q>>2]|0)+12>>2]|0)*48|0);c[w>>2]=c[(c[q>>2]|0)+20>>2];while(1){if(c[j>>2]|0)break a;if((c[w>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break a;f=(c[w>>2]|0)+32|0;F=(c[z>>2]|0)+8|0;if(!((c[f>>2]&c[F>>2]|0)!=0?1:(c[f+4>>2]&c[F+4>>2]|0)!=0)?(mv(c[w>>2]|0,c[o>>2]|0,0,0)|0)!=0:0){b[(c[z>>2]|0)+24>>1]=1;b[(c[z>>2]|0)+26>>1]=0;c[(c[z>>2]|0)+28>>2]=0;b[(c[z>>2]|0)+40>>1]=1;c[c[(c[z>>2]|0)+44>>2]>>2]=c[w>>2];b[(c[z>>2]|0)+18>>1]=(b[x>>1]|0)+(b[t>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+44>>0]&2|0)==0:0){F=(c[z>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[z>>2]|0)+22>>1]=43;h=rv(b[x>>1]|0,b[(c[z>>2]|0)+22>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=h;c[(c[z>>2]|0)+36>>2]=16384;h=m;g=(c[w>>2]|0)+32|0;f=c[h+4>>2]|c[g+4>>2];F=c[z>>2]|0;c[F>>2]=c[h>>2]|c[g>>2];c[F+4>>2]=f;c[j>>2]=Av(c[n>>2]|0,c[z>>2]|0)|0}c[w>>2]=(c[w>>2]|0)+48}}while(0);b:while(1){if(!((c[j>>2]|0)==0&(c[v>>2]|0)!=0)){l=47;break}if(!((c[(c[v>>2]|0)+36>>2]|0)!=0?(Fv(c[(c[o>>2]|0)+40>>2]|0,c[q>>2]|0,c[(c[v>>2]|0)+36>>2]|0)|0)==0:0)){b[t>>1]=b[c[(c[v>>2]|0)+8>>2]>>1]|0;b[(c[z>>2]|0)+24>>1]=0;b[(c[z>>2]|0)+26>>1]=0;b[(c[z>>2]|0)+40>>1]=0;a[(c[z>>2]|0)+17>>0]=0;b[(c[z>>2]|0)+18>>1]=0;g=m;f=c[g+4>>2]|0;F=c[z>>2]|0;c[F>>2]=c[g>>2];c[F+4>>2]=f;b[(c[z>>2]|0)+22>>1]=b[t>>1]|0;c[(c[z>>2]|0)+28>>2]=c[v>>2];c[p>>2]=Gv(c[n>>2]|0,c[v>>2]|0,c[(c[o>>2]|0)+40>>2]|0)|0;do if((c[(c[v>>2]|0)+44>>2]|0)<=0){c[(c[z>>2]|0)+36>>2]=256;a[(c[z>>2]|0)+17>>0]=(c[p>>2]|0)!=0?c[s>>2]|0:0;b[(c[z>>2]|0)+20>>1]=(b[t>>1]|0)+16;Hv(c[q>>2]|0,c[z>>2]|0,b[t>>1]|0);c[j>>2]=Av(c[n>>2]|0,c[z>>2]|0)|0;b[(c[z>>2]|0)+22>>1]=b[t>>1]|0;if(c[j>>2]|0){l=47;break b}}else{if((d[(c[v>>2]|0)+55>>0]|0)>>>5&1){c[(c[z>>2]|0)+36>>2]=576;F=l;c[F>>2]=0;c[F+4>>2]=0}else{f=(c[o>>2]|0)+56|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=Iv(c[v>>2]|0)|0;F=l;c[F>>2]=h&~g;c[F+4>>2]=f&~D;F=l;c[(c[z>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[p>>2]|0)==0?(d[(c[u>>2]|0)+44>>0]&32|0)==0:0){F=l;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[v>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[v>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+42>>1]|0))break;if(e[(c[r>>2]|0)+34>>1]&4)break;if(!(c[9664]|0))break;if(e[(c[c[c[r>>2]>>2]>>2]|0)+60>>1]&64)break}a[(c[z>>2]|0)+17>>0]=(c[p>>2]|0)!=0?c[s>>2]|0:0;b[(c[z>>2]|0)+20>>1]=(b[t>>1]|0)+1+(((b[(c[v>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+42>>1]|0)|0);F=l;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=rv(b[(c[z>>2]|0)+20>>1]|0,(b[t>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=F}Hv(c[q>>2]|0,c[z>>2]|0,b[t>>1]|0);c[j>>2]=Av(c[n>>2]|0,c[z>>2]|0)|0;b[(c[z>>2]|0)+22>>1]=b[t>>1]|0;if(c[j>>2]|0){l=47;break b}}while(0);c[j>>2]=Jv(c[n>>2]|0,c[o>>2]|0,c[v>>2]|0,0)|0;if(c[(c[o>>2]|0)+68>>2]|0){l=47;break}}c[v>>2]=c[(c[v>>2]|0)+20>>2];c[s>>2]=(c[s>>2]|0)+1}if((l|0)==47){i=k;return c[j>>2]|0}return 0}function xv(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,A=0,B=0,C=0,D=0,E=0,F=0;t=i;i=i+672|0;x=t+660|0;l=t+576|0;F=t+656|0;p=t+652|0;m=t+648|0;q=t+644|0;s=t+640|0;r=t+636|0;o=t+632|0;B=t+168|0;y=t+612|0;D=t+112|0;j=t+56|0;n=t+608|0;u=t+604|0;v=t+600|0;A=t+596|0;w=t+592|0;C=t+588|0;E=t+584|0;z=t;c[x>>2]=f;f=l;c[f>>2]=g;c[f+4>>2]=h;c[F>>2]=c[c[x>>2]>>2];c[r>>2]=0;c[p>>2]=c[(c[x>>2]|0)+4>>2];c[s>>2]=(c[(c[p>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*48|0);c[m>>2]=c[(c[x>>2]|0)+12>>2];g=D+0|0;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[n>>2]=(c[(c[F>>2]|0)+4>>2]|0)+8+((d[(c[m>>2]|0)+16>>0]|0)*72|0);c[o>>2]=c[(c[n>>2]|0)+40>>2];c[q>>2]=c[(c[p>>2]|0)+20>>2];while(1){if(!((c[r>>2]|0)==0?(c[q>>2]|0)>>>0<(c[s>>2]|0)>>>0:0))break;a:do if((e[(c[q>>2]|0)+18>>1]&256|0)!=0?(g=(c[(c[q>>2]|0)+12>>2]|0)+408|0,f=(c[m>>2]|0)+8|0,(c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0):0){c[u>>2]=c[(c[q>>2]|0)+12>>2];c[v>>2]=(c[(c[u>>2]|0)+20>>2]|0)+((c[(c[u>>2]|0)+12>>2]|0)*48|0);c[w>>2]=1;f=c[x>>2]|0;c[y+0>>2]=c[f+0>>2];c[y+4>>2]=c[f+4>>2];c[y+8>>2]=c[f+8>>2];c[y+12>>2]=c[f+12>>2];c[y+16>>2]=c[f+16>>2];c[y+8>>2]=0;c[y+16>>2]=j;c[A>>2]=c[(c[u>>2]|0)+20>>2];b:while(1){if((c[A>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;F=c[A>>2]|0;if(!(e[(c[A>>2]|0)+18>>1]&512)){if((c[F+8>>2]|0)==(c[o>>2]|0)){c[B>>2]=c[c[p>>2]>>2];c[B+4>>2]=c[p>>2];a[B+8>>0]=72;c[B+12>>2]=1;c[B+20>>2]=c[A>>2];c[y+4>>2]=B;k=11}}else{c[y+4>>2]=c[F+12>>2];k=11}c:do if((k|0)==11){k=0;b[j>>1]=0;F=l;h=c[F>>2]|0;F=c[F+4>>2]|0;if(d[(c[(c[n>>2]|0)+16>>2]|0)+44>>0]&16)c[r>>2]=vv(y,h,F)|0;else c[r>>2]=wv(y,h,F)|0;if(!(c[r>>2]|0)){f=l;c[r>>2]=xv(y,c[f>>2]|0,c[f+4>>2]|0)|0}if(!(e[j>>1]|0)){k=17;break b}if(c[w>>2]|0){yv(D,j);c[w>>2]=0;break}yv(z,D);b[D>>1]=0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[z>>1]|0))break c;c[E>>2]=0;while(1){F=c[C>>2]|0;if((c[E>>2]|0)>=(e[j>>1]|0))break;f=z+8+(F<<4)|0;g=j+8+(c[E>>2]<<4)|0;h=c[f>>2]|c[g>>2];g=c[f+4>>2]|c[g+4>>2];f=rv(b[z+8+(c[C>>2]<<4)+8>>1]|0,b[j+8+(c[E>>2]<<4)+8>>1]|0)|0;zv(D,h,g,f,rv(b[z+8+(c[C>>2]<<4)+10>>1]|0,b[j+8+(c[E>>2]<<4)+10>>1]|0)|0)|0;c[E>>2]=(c[E>>2]|0)+1}c[C>>2]=F+1}}while(0);c[A>>2]=(c[A>>2]|0)+48}if((k|0)==17){k=0;b[D>>1]=0}b[(c[m>>2]|0)+40>>1]=1;c[c[(c[m>>2]|0)+44>>2]>>2]=c[q>>2];c[(c[m>>2]|0)+36>>2]=8192;b[(c[m>>2]|0)+18>>1]=0;a[(c[m>>2]|0)+17>>0]=0;f=(c[m>>2]|0)+24|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[C>>2]=0;while(1){if(c[r>>2]|0)break a;if((c[C>>2]|0)>=(e[D>>1]|0))break a;b[(c[m>>2]|0)+20>>1]=(b[D+8+(c[C>>2]<<4)+8>>1]|0)+1;b[(c[m>>2]|0)+22>>1]=b[D+8+(c[C>>2]<<4)+10>>1]|0;h=D+8+(c[C>>2]<<4)|0;g=c[h+4>>2]|0;f=c[m>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=g;c[r>>2]=Av(c[x>>2]|0,c[m>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+48}i=t;return c[r>>2]|0}function yv(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;dF((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function zv(a,d,f,g,h){a=a|0;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,q=0,r=0;k=i;i=i+32|0;q=k+16|0;p=k+12|0;n=k;o=k+24|0;l=k+22|0;j=k+20|0;m=k+8|0;c[p>>2]=a;a=n;c[a>>2]=d;c[a+4>>2]=f;b[o>>1]=g;b[l>>1]=h;b[j>>1]=b[c[p>>2]>>1]|0;c[m>>2]=(c[p>>2]|0)+8;while(1){if((e[j>>1]|0)<=0){r=9;break}if((b[o>>1]|0)<=(b[(c[m>>2]|0)+8>>1]|0)?(f=n,d=c[m>>2]|0,a=n,(c[f>>2]&c[d>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]&c[d+4>>2]|0)==(c[a+4>>2]|0):0):0)break;if((b[(c[m>>2]|0)+8>>1]|0)<=(b[o>>1]|0)?(f=c[m>>2]|0,d=n,a=c[m>>2]|0,(c[f>>2]&c[d>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]&c[d+4>>2]|0)==(c[a+4>>2]|0):0):0){r=7;break}b[j>>1]=(b[j>>1]|0)+ -1<<16>>16;c[m>>2]=(c[m>>2]|0)+16}if((r|0)==7){c[q>>2]=0;a=c[q>>2]|0;i=k;return a|0}do if((r|0)==9){r=c[p>>2]|0;if((e[c[p>>2]>>1]|0)<3){a=b[r>>1]|0;b[r>>1]=a+1<<16>>16;c[m>>2]=(c[p>>2]|0)+8+((a&65535)<<4);b[(c[m>>2]|0)+10>>1]=b[l>>1]|0;break}c[m>>2]=r+8;b[j>>1]=1;while(1){r=b[(c[m>>2]|0)+8>>1]|0;if((e[j>>1]|0)>=(e[c[p>>2]>>1]|0))break;if((r|0)>(b[(c[p>>2]|0)+8+(e[j>>1]<<4)+8>>1]|0))c[m>>2]=(c[p>>2]|0)+8+(e[j>>1]<<4);b[j>>1]=(b[j>>1]|0)+1<<16>>16}if((r|0)<=(b[o>>1]|0)){c[q>>2]=0;a=c[q>>2]|0;i=k;return a|0}}while(0);f=n;d=c[f+4>>2]|0;a=c[m>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=d;b[(c[m>>2]|0)+8>>1]=b[o>>1]|0;if((b[(c[m>>2]|0)+10>>1]|0)>(b[l>>1]|0))b[(c[m>>2]|0)+10>>1]=b[l>>1]|0;c[q>>2]=1;a=c[q>>2]|0;i=k;return a|0}function Av(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+48|0;f=k+36|0;h=k+32|0;g=k+28|0;l=k+24|0;e=k+20|0;p=k+16|0;j=k+12|0;n=k+8|0;o=k+4|0;m=k;c[h>>2]=a;c[g>>2]=d;c[p>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[c[p>>2]>>2]>>2];if(c[(c[h>>2]|0)+16>>2]|0){a=c[g>>2]|0;zv(c[(c[h>>2]|0)+16>>2]|0,c[a>>2]|0,c[a+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0;c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}Bv(c[(c[p>>2]|0)+16>>2]|0,c[g>>2]|0);c[l>>2]=Cv((c[p>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[l>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}c[e>>2]=c[c[l>>2]>>2];a:do if(!(c[e>>2]|0)){a=Qe(c[j>>2]|0,72,0)|0;c[e>>2]=a;c[c[l>>2]>>2]=a;if(c[e>>2]|0){Ou(c[e>>2]|0);c[(c[e>>2]|0)+48>>2]=0;break}c[f>>2]=7;a=c[f>>2]|0;i=k;return a|0}else{c[n>>2]=(c[e>>2]|0)+48;while(1){if(!(c[c[n>>2]>>2]|0))break a;c[n>>2]=Cv(c[n>>2]|0,c[g>>2]|0)|0;if(!(c[n>>2]|0))break a;c[o>>2]=c[c[n>>2]>>2];if(!(c[o>>2]|0))break a;c[c[n>>2]>>2]=c[(c[o>>2]|0)+48>>2];Lu(c[j>>2]|0,c[o>>2]|0)}}while(0);Dv(c[j>>2]|0,c[e>>2]|0,c[g>>2]|0)|0;if(((c[(c[e>>2]|0)+36>>2]&1024|0)==0?(c[m>>2]=c[(c[e>>2]|0)+28>>2],(c[m>>2]|0)!=0):0)?(c[(c[m>>2]|0)+44>>2]|0)==0:0)c[(c[e>>2]|0)+28>>2]=0;c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}function Bv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=e;if(!(c[(c[h>>2]|0)+36>>2]&512)){i=f;return}if(!((c[g>>2]|0)!=0?(c[(c[h>>2]|0)+36>>2]&32768|0)==0:0)){i=f;return}do{do if(((d[(c[g>>2]|0)+16>>0]|0)==(d[(c[h>>2]|0)+16>>0]|0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&32768|0)==0:0){if(Ev(c[g>>2]|0,c[h>>2]|0)|0){b[(c[h>>2]|0)+20>>1]=b[(c[g>>2]|0)+20>>1]|0;b[(c[h>>2]|0)+22>>1]=(b[(c[g>>2]|0)+22>>1]|0)-1;break}if(Ev(c[h>>2]|0,c[g>>2]|0)|0){b[(c[h>>2]|0)+20>>1]=b[(c[g>>2]|0)+20>>1]|0;b[(c[h>>2]|0)+22>>1]=(b[(c[g>>2]|0)+22>>1]|0)+1}}while(0);c[g>>2]=c[(c[g>>2]|0)+48>>2]}while((c[g>>2]|0)!=0);i=f;return}function Cv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;g=h+12|0;f=h+8|0;k=h+4|0;j=h;c[f>>2]=a;c[k>>2]=e;c[j>>2]=c[c[f>>2]>>2];while(1){if(!(c[j>>2]|0)){e=18;break}if((d[(c[j>>2]|0)+16>>0]|0)==(d[(c[k>>2]|0)+16>>0]|0)?(d[(c[j>>2]|0)+17>>0]|0)==(d[(c[k>>2]|0)+17>>0]|0):0){if((((c[(c[j>>2]|0)+36>>2]&16384|0)!=0?(c[(c[k>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[k>>2]|0)+36>>2]&1|0)!=0:0)?(l=c[j>>2]|0,e=c[k>>2]|0,a=c[k>>2]|0,(c[l>>2]&c[e>>2]|0)==(c[a>>2]|0)?(c[l+4>>2]&c[e+4>>2]|0)==(c[a+4>>2]|0):0):0){e=18;break}e=c[j>>2]|0;a=c[k>>2]|0;l=c[j>>2]|0;if(((((c[e>>2]&c[a>>2]|0)==(c[l>>2]|0)?(c[e+4>>2]&c[a+4>>2]|0)==(c[l+4>>2]|0):0)?(b[(c[j>>2]|0)+18>>1]|0)<=(b[(c[k>>2]|0)+18>>1]|0):0)?(b[(c[j>>2]|0)+20>>1]|0)<=(b[(c[k>>2]|0)+20>>1]|0):0)?(b[(c[j>>2]|0)+22>>1]|0)<=(b[(c[k>>2]|0)+22>>1]|0):0){e=13;break}e=c[j>>2]|0;a=c[k>>2]|0;l=c[k>>2]|0;if((((c[e>>2]&c[a>>2]|0)==(c[l>>2]|0)?(c[e+4>>2]&c[a+4>>2]|0)==(c[l+4>>2]|0):0)?(b[(c[j>>2]|0)+20>>1]|0)>=(b[(c[k>>2]|0)+20>>1]|0):0)?(b[(c[j>>2]|0)+22>>1]|0)>=(b[(c[k>>2]|0)+22>>1]|0):0){e=18;break}}c[f>>2]=(c[j>>2]|0)+48;c[j>>2]=c[c[f>>2]>>2]}if((e|0)==13){c[g>>2]=0;l=c[g>>2]|0;i=h;return l|0}else if((e|0)==18){c[g>>2]=c[f>>2];l=c[g>>2]|0;i=h;return l|0}return 0}function Dv(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;k=i;i=i+16|0;h=k+12|0;n=k+8|0;l=k+4|0;j=k;c[n>>2]=d;c[l>>2]=f;c[j>>2]=g;Nu(c[n>>2]|0,c[l>>2]|0);n=(nv(c[n>>2]|0,c[l>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;d=c[l>>2]|0;if(n){n=d+24|0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[h>>2]=7;n=c[h>>2]|0;i=k;return n|0}f=c[j>>2]|0;n=d+0|0;m=f+0|0;g=n+40|0;do{c[n>>2]=c[m>>2];n=n+4|0;m=m+4|0}while((n|0)<(g|0));b[d+40>>1]=b[f+40>>1]|0;dF(c[(c[l>>2]|0)+44>>2]|0,c[(c[j>>2]|0)+44>>2]|0,(e[(c[l>>2]|0)+40>>1]|0)<<2|0)|0;l=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[l+36>>2]&16384)c[(c[j>>2]|0)+28>>2]=0}else a[l+28>>0]=0;c[h>>2]=0;n=c[h>>2]|0;i=k;return n|0}function Ev(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;k=f+8|0;j=f+4|0;l=f;c[h>>2]=a;c[k>>2]=d;if((e[(c[h>>2]|0)+40>>1]|0)>=(e[(c[k>>2]|0)+40>>1]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if((b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[k>>2]|0)+20>>1]|0)){if((b[(c[h>>2]|0)+20>>1]|0)>(b[(c[k>>2]|0)+20>>1]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if((b[(c[h>>2]|0)+22>>1]|0)>(b[(c[k>>2]|0)+22>>1]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}}c[j>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0){d=17;break}c[l>>2]=(e[(c[k>>2]|0)+40>>1]|0)-1;while(1){if((c[l>>2]|0)<0)break;if((c[(c[(c[k>>2]|0)+44>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[(c[h>>2]|0)+44>>2]|0)+(c[j>>2]<<2)>>2]|0))break;c[l>>2]=(c[l>>2]|0)+ -1}if((c[l>>2]|0)<0){d=15;break}c[j>>2]=(c[j>>2]|0)+ -1}if((d|0)==15){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}else if((d|0)==17){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}return 0}function Fv(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,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;l=e+12|0;j=e+8|0;k=e+4|0;h=e;c[g>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=0;c[h>>2]=c[(c[l>>2]|0)+20>>2];while(1){if((c[k>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)){g=6;break}if(Mv(c[c[h>>2]>>2]|0,c[j>>2]|0,c[g>>2]|0)|0){g=4;break}c[k>>2]=(c[k>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+48}if((g|0)==4){c[f>>2]=1;a=c[f>>2]|0;i=e;return a|0}else if((g|0)==6){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}return 0}function Gv(a,f,g){a=a|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;j=i;i=i+32|0;h=j+28|0;q=j+24|0;m=j+20|0;k=j+16|0;o=j+12|0;p=j+8|0;l=j+4|0;n=j;c[q>>2]=a;c[m>>2]=f;c[k>>2]=g;if((d[(c[m>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}a=c[(c[c[q>>2]>>2]|0)+8>>2]|0;c[o>>2]=a;if(!a){c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}c[p>>2]=0;a:while(1){if((c[p>>2]|0)>=(c[c[o>>2]>>2]|0)){k=18;break}c[n>>2]=iq(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;if((d[c[n>>2]>>0]|0)!=154){k=8;break}b:do if((c[(c[n>>2]|0)+28>>2]|0)==(c[k>>2]|0)){if((b[(c[n>>2]|0)+32>>1]|0)<0){k=11;break a}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0))break b;if((b[(c[n>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)){k=15;break a}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[p>>2]=(c[p>>2]|0)+1}if((k|0)==8){c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}else if((k|0)==11){c[h>>2]=1;a=c[h>>2]|0;i=j;return a|0}else if((k|0)==15){c[h>>2]=1;a=c[h>>2]|0;i=j;return a|0}else if((k|0)==18){c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}return 0}function Hv(a,f,g){a=a|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;n=i;i=i+48|0;p=n+32|0;j=n+28|0;k=n+36|0;m=n+24|0;o=n+20|0;q=n;r=n+16|0;h=n+12|0;l=n+8|0;c[p>>2]=a;c[j>>2]=f;b[k>>1]=g;s=c[j>>2]|0;g=(c[j>>2]|0)+8|0;f=~(c[s+4>>2]|c[g+4>>2]);a=q;c[a>>2]=~(c[s>>2]|c[g>>2]);c[a+4>>2]=f;c[l>>2]=0;c[r>>2]=c[(c[p>>2]|0)+12>>2];c[m>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[r>>2]|0)<=0)break;if(d[(c[m>>2]|0)+20>>0]&2)break;a=(c[m>>2]|0)+40|0;s=(c[j>>2]|0)+8|0;do if(!((c[a>>2]&c[s>>2]|0)==0?(c[a+4>>2]&c[s+4>>2]|0)==0:0)?(a=(c[m>>2]|0)+40|0,s=q,!((c[a>>2]&c[s>>2]|0)!=0?1:(c[a+4>>2]&c[s+4>>2]|0)!=0)):0){c[h>>2]=(e[(c[j>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[o>>2]=c[(c[(c[j>>2]|0)+44>>2]|0)+(c[h>>2]<<2)>>2];if(c[o>>2]|0){if((c[o>>2]|0)==(c[m>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=0?((c[(c[p>>2]|0)+20>>2]|0)+((c[(c[o>>2]|0)+4>>2]|0)*48|0)|0)==(c[m>>2]|0):0)break}c[h>>2]=(c[h>>2]|0)+ -1}if((c[h>>2]|0)<0){if((b[(c[m>>2]|0)+16>>1]|0)<=0){s=(c[j>>2]|0)+22|0;b[s>>1]=(b[s>>1]|0)+(b[(c[m>>2]|0)+16>>1]|0);break}s=(c[j>>2]|0)+22|0;b[s>>1]=(b[s>>1]|0)+ -1<<16>>16;if(e[(c[m>>2]|0)+18>>1]&2)c[l>>2]=(c[l>>2]|0)+1}}while(0);c[r>>2]=(c[r>>2]|0)+ -1;c[m>>2]=(c[m>>2]|0)+48}if(!(c[l>>2]|0)){i=n;return}if((b[(c[j>>2]|0)+22>>1]|0)<=((b[k>>1]|0)-10|0)){i=n;return}b[(c[j>>2]|0)+22>>1]=(b[k>>1]|0)-10;i=n;return}function Iv(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+16|0;d=f;h=f+12|0;j=f+8|0;c[g>>2]=a;a=d;c[a>>2]=0;c[a+4>>2]=0;c[h>>2]=(e[(c[g>>2]|0)+52>>1]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];if((c[j>>2]|0)>=0&(c[j>>2]|0)<63){l=$E(1,0,c[j>>2]|0)|0;m=d;k=c[m+4>>2]|D;a=d;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[h>>2]=(c[h>>2]|0)+ -1}m=d;D=c[m+4>>2]|0;i=f;return c[m>>2]|0}function Jv(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,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;C=i;i=i+224|0;y=C+188|0;k=C+184|0;F=C+180|0;D=C+176|0;E=C+212|0;P=C+172|0;x=C+168|0;J=C+164|0;n=C+160|0;w=C+156|0;O=C+152|0;K=C+40|0;m=C;s=C+210|0;o=C+208|0;p=C+206|0;q=C+36|0;r=C+204|0;v=C+32|0;t=C+28|0;M=C+202|0;H=C+200|0;A=C+24|0;z=C+20|0;N=C+198|0;I=C+196|0;G=C+194|0;L=C+192|0;B=C+16|0;l=C+12|0;u=C+8|0;c[k>>2]=f;c[F>>2]=g;c[D>>2]=h;b[E>>1]=j;c[P>>2]=c[c[k>>2]>>2];c[x>>2]=c[c[P>>2]>>2];c[J>>2]=c[c[x>>2]>>2];c[t>>2]=0;c[A>>2]=0;c[z>>2]=0;c[n>>2]=c[(c[k>>2]|0)+12>>2];if(a[(c[J>>2]|0)+64>>0]|0){c[y>>2]=7;P=c[y>>2]|0;i=C;return P|0}do if(c[(c[n>>2]|0)+36>>2]&32)c[O>>2]=24;else{if((c[(c[D>>2]|0)+44>>2]|0)>0?(d[(c[F>>2]|0)+36>>0]&8|0)==0:0){c[O>>2]=191;break}c[O>>2]=63}while(0);if((d[(c[D>>2]|0)+55>>0]|0)>>>2&1)c[O>>2]=c[O>>2]&-61;c[v>>2]=b[(c[(c[D>>2]|0)+4>>2]|0)+(e[(c[n>>2]|0)+24>>1]<<1)>>1];c[w>>2]=iv(K,c[(c[k>>2]|0)+4>>2]|0,c[(c[F>>2]|0)+40>>2]|0,c[v>>2]|0,c[O>>2]|0,c[D>>2]|0)|0;b[o>>1]=b[(c[n>>2]|0)+24>>1]|0;b[p>>1]=b[(c[n>>2]|0)+26>>1]|0;b[s>>1]=b[(c[n>>2]|0)+40>>1]|0;c[q>>2]=c[(c[n>>2]|0)+36>>2];g=c[n>>2]|0;f=c[g+4>>2]|0;P=m;c[P>>2]=c[g>>2];c[P+4>>2]=f;b[r>>1]=b[(c[n>>2]|0)+22>>1]|0;b[(c[n>>2]|0)+18>>1]=0;b[M>>1]=b[c[(c[D>>2]|0)+8>>2]>>1]|0;b[H>>1]=uv(b[M>>1]|0)|0;if((((e[o>>1]|0)==(e[p>>1]|0)?((e[o>>1]|0)+1|0)<(e[(c[D>>2]|0)+50>>1]|0):0)?(b[(c[(c[D>>2]|0)+8>>2]|0)+((e[o>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=nv(c[J>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0,c[t>>2]=P,(P|0)==0):0){f=(c[n>>2]|0)+24|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[n>>2]|0)+26|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[n>>2]|0)+40|0;P=b[f>>1]|0;b[f>>1]=P+1<<16>>16;c[(c[(c[n>>2]|0)+44>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[N>>1]=(b[(c[(c[D>>2]|0)+8>>2]|0)+(e[o>>1]<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+8>>2]|0)+((e[o>>1]|0)+1<<1)>>1]|0);if(c[w>>2]|0)b[N>>1]=(b[N>>1]|0)+10;P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[N>>1]|0);b[N>>1]=(b[N>>1]|0)+5;Jv(c[k>>2]|0,c[F>>2]|0,c[D>>2]|0,(b[N>>1]|0)+(b[E>>1]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[r>>1]|0;b[(c[n>>2]|0)+24>>1]=b[o>>1]|0;b[(c[n>>2]|0)+26>>1]=b[p>>1]|0}while(1){if(!((c[t>>2]|0)==0&(c[w>>2]|0)!=0))break;b[I>>1]=b[(c[w>>2]|0)+18>>1]|0;c[B>>2]=0;if((e[I>>1]|0)!=128?(d[(c[w>>2]|0)+20>>0]&0|0)==0:0)j=23;else j=21;if(((j|0)==21?(j=0,(c[v>>2]|0)>=0):0)?(d[(c[(c[(c[F>>2]|0)+16>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)+20>>0]|0)==0:0)j=23;if((j|0)==23?(0,f=(c[w>>2]|0)+32|0,P=(c[n>>2]|0)+8|0,!((c[f>>2]&c[P>>2]|0)!=0?1:(c[f+4>>2]&c[P+4>>2]|0)!=0)):0){c[(c[n>>2]|0)+36>>2]=c[q>>2];b[(c[n>>2]|0)+24>>1]=b[o>>1]|0;b[(c[n>>2]|0)+40>>1]=b[s>>1]|0;if(nv(c[J>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0)break;h=c[w>>2]|0;g=(c[n>>2]|0)+40|0;O=b[g>>1]|0;b[g>>1]=O+1<<16>>16;c[(c[(c[n>>2]|0)+44>>2]|0)+((O&65535)<<2)>>2]=h;O=m;h=(c[w>>2]|0)+32|0;g=(c[n>>2]|0)+8|0;f=(c[O+4>>2]|c[h+4>>2])&~c[g+4>>2];P=c[n>>2]|0;c[P>>2]=(c[O>>2]|c[h>>2])&~c[g>>2];c[P+4>>2]=f;do if(e[I>>1]&1){c[l>>2]=c[c[w>>2]>>2];P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[l>>2]|0)+4>>2]&2048){c[B>>2]=46;break}if((c[(c[l>>2]|0)+20>>2]|0)!=0?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[l>>2]|0)+20>>2]>>2]|0;c[B>>2]=(dq(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else if(e[I>>1]&2){P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[v>>2]|0)>=0){if(b[E>>1]|0)break;if((e[(c[n>>2]|0)+24>>1]|0)!=((e[(c[D>>2]|0)+50>>1]|0)-1|0))break}if((c[v>>2]|0)>=0?(d[(c[D>>2]|0)+54>>0]|0)==0:0){P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}else{if(e[I>>1]&128){P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}j=(c[n>>2]|0)+36|0;N=c[j>>2]|0;if(e[I>>1]&36){c[j>>2]=N|34;c[z>>2]=c[w>>2];c[A>>2]=0;break}c[j>>2]=N|18;c[A>>2]=c[w>>2];if(c[(c[n>>2]|0)+36>>2]&32)j=c[(c[(c[n>>2]|0)+44>>2]|0)+((e[(c[n>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[z>>2]=j;break}while(0);do if(!(c[(c[n>>2]|0)+36>>2]&2)){f=(c[n>>2]|0)+24|0;P=(b[f>>1]|0)+1<<16>>16;b[f>>1]=P;c[u>>2]=P&65535;if((c[v>>2]|0)>=0?(b[(c[w>>2]|0)+16>>1]|0)<=0:0){P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[w>>2]|0)+16>>1]|0);P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[B>>2]|0);break}P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[D>>2]|0)+8>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+8>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0));if(e[I>>1]&128){P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else Kv(c[x>>2]|0,c[k>>2]|0,c[z>>2]|0,c[A>>2]|0,c[n>>2]|0)|0;while(0);b[G>>1]=(b[(c[n>>2]|0)+22>>1]|0)+1+(((b[(c[D>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[F>>2]|0)+16>>2]|0)+42>>1]|0)|0);P=rv(b[H>>1]|0,b[G>>1]|0)|0;b[(c[n>>2]|0)+20>>1]=P;if(!(c[(c[n>>2]|0)+36>>2]&320)){P=rv(b[(c[n>>2]|0)+20>>1]|0,(b[(c[n>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[n>>2]|0)+20>>1]=P}b[L>>1]=b[(c[n>>2]|0)+22>>1]|0;P=(c[n>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[E>>1]|0)+(c[B>>2]|0));P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[E>>1]|0)+(c[B>>2]|0));Hv(c[(c[k>>2]|0)+4>>2]|0,c[n>>2]|0,b[M>>1]|0);c[t>>2]=Av(c[k>>2]|0,c[n>>2]|0)|0;if(c[(c[n>>2]|0)+36>>2]&2)b[(c[n>>2]|0)+22>>1]=b[r>>1]|0;else b[(c[n>>2]|0)+22>>1]=b[L>>1]|0;if((c[(c[n>>2]|0)+36>>2]&16|0)==0?(e[(c[n>>2]|0)+24>>1]|0)<(e[(c[D>>2]|0)+52>>1]|0):0)Jv(c[k>>2]|0,c[F>>2]|0,c[D>>2]|0,(b[E>>1]|0)+(c[B>>2]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[r>>1]|0}c[w>>2]=jv(K)|0}g=m;f=c[g+4>>2]|0;P=c[n>>2]|0;c[P>>2]=c[g>>2];c[P+4>>2]=f;b[(c[n>>2]|0)+24>>1]=b[o>>1]|0;b[(c[n>>2]|0)+26>>1]=b[p>>1]|0;c[(c[n>>2]|0)+36>>2]=c[q>>2];b[(c[n>>2]|0)+22>>1]=b[r>>1]|0;b[(c[n>>2]|0)+40>>1]=b[s>>1]|0;c[y>>2]=c[t>>2];P=c[y>>2]|0;i=C;return P|0}function Kv(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+16|0;o=l+12|0;j=l+8|0;k=l+4|0;n=l;m=l+28|0;c[l+24>>2]=a;c[l+20>>2]=d;c[h>>2]=e;c[o>>2]=f;c[j>>2]=g;c[k>>2]=0;c[n>>2]=b[(c[j>>2]|0)+22>>1];b[m>>1]=Lv(c[h>>2]|0,c[n>>2]&65535)|0;b[m>>1]=Lv(c[o>>2]|0,b[m>>1]|0)|0;if((c[h>>2]|0)!=0&(c[o>>2]|0)!=0)b[m>>1]=(b[m>>1]|0)-20;c[n>>2]=(c[n>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[o>>2]|0)!=0&1));if((b[m>>1]|0)<10)b[m>>1]=10;if((b[m>>1]|0)>=(c[n>>2]|0)){d=c[n>>2]|0;d=d&65535;a=c[j>>2]|0;a=a+22|0;b[a>>1]=d;a=c[k>>2]|0;i=l;return a|0}c[n>>2]=b[m>>1];d=c[n>>2]|0;d=d&65535;a=c[j>>2]|0;a=a+22|0;b[a>>1]=d;a=c[k>>2]|0;i=l;return a|0}function Lv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;h=g;j=g+6|0;f=g+4|0;c[h>>2]=a;b[j>>1]=e;b[f>>1]=b[j>>1]|0;do if(c[h>>2]|0){e=c[h>>2]|0;if((b[(c[h>>2]|0)+16>>1]|0)<=0){b[f>>1]=(b[f>>1]|0)+(b[e+16>>1]|0);break}if(!(d[e+20>>0]&0))b[f>>1]=(b[f>>1]|0)-20}while(0);i=g;return b[f>>1]|0}function Mv(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;k=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;if(!(Dq(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0)){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}do if((d[c[h>>2]>>0]|0|0)==71){if((Mv(c[j>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0)|0)==0?(Mv(c[j>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[k>>2]|0)|0)==0:0)break;c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}while(0);if((((d[c[h>>2]>>0]|0|0)==77?(Dq(c[(c[j>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0)|0)==0:0)?(d[c[j>>2]>>0]|0|0)!=76:0)?(d[c[j>>2]>>0]|0|0)!=73:0){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}function Nv(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;n=i;i=i+80|0;l=n;m=n+68|0;v=n+64|0;u=n+60|0;t=n+56|0;C=n+52|0;o=n+48|0;r=n+44|0;w=n+40|0;q=n+36|0;x=n+32|0;z=n+28|0;p=n+24|0;y=n+20|0;k=n+16|0;A=n+12|0;B=n+8|0;s=n+72|0;D=n+4|0;c[v>>2]=f;c[u>>2]=g;c[t>>2]=h;c[C>>2]=j;c[w>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[u>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[u>>2]|0)+12>>2]|0))break;if(((c[(c[p>>2]|0)+8>>2]|0)==(c[(c[t>>2]|0)+40>>2]|0)?(e[(c[p>>2]|0)+18>>1]&-1153|0)!=0:0)?(d[(c[p>>2]|0)+20>>0]&0|0)==0:0)c[w>>2]=(c[w>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+48}c[y>>2]=0;if(c[C>>2]|0){c[A>>2]=c[c[C>>2]>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[A>>2]|0))break;c[B>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2];if((d[c[B>>2]>>0]|0)!=154)break;if((c[(c[B>>2]|0)+28>>2]|0)!=(c[(c[t>>2]|0)+40>>2]|0))break;c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(c[A>>2]|0))c[y>>2]=c[A>>2]}c[k>>2]=se(c[c[v>>2]>>2]|0,56+((c[w>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[k>>2]|0)){Se(c[v>>2]|0,5400,l);c[m>>2]=0;f=c[m>>2]|0;i=n;return f|0}c[q>>2]=(c[k>>2]|0)+56;c[x>>2]=(c[q>>2]|0)+((c[w>>2]|0)*12|0);c[z>>2]=(c[x>>2]|0)+(c[y>>2]<<3);c[c[k>>2]>>2]=c[w>>2];c[(c[k>>2]|0)+8>>2]=c[y>>2];c[(c[k>>2]|0)+4>>2]=c[q>>2];c[(c[k>>2]|0)+12>>2]=c[x>>2];c[(c[k>>2]|0)+16>>2]=c[z>>2];c[r>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[u>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[u>>2]|0)+12>>2]|0))break;if(((c[(c[p>>2]|0)+8>>2]|0)==(c[(c[t>>2]|0)+40>>2]|0)?(e[(c[p>>2]|0)+18>>1]&-1153|0)!=0:0)?(d[(c[p>>2]|0)+20>>0]&0|0)==0:0){c[(c[q>>2]|0)+((c[r>>2]|0)*12|0)>>2]=c[(c[p>>2]|0)+12>>2];c[(c[q>>2]|0)+((c[r>>2]|0)*12|0)+8>>2]=c[o>>2];f=b[(c[p>>2]|0)+18>>1]&255;a[s>>0]=f;a[s>>0]=(d[s>>0]|0)==1?2:f;a[(c[q>>2]|0)+((c[r>>2]|0)*12|0)+4>>0]=a[s>>0]|0;c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+48}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[y>>2]|0))break;c[D>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2];c[(c[x>>2]|0)+(c[o>>2]<<3)>>2]=b[(c[D>>2]|0)+32>>1];a[(c[x>>2]|0)+(c[o>>2]<<3)+4>>0]=a[(c[(c[C>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)+12>>0]|0;c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=c[k>>2];f=c[m>>2]|0;i=n;return f|0}function Ov(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;l=i;i=i+32|0;j=l;g=l+24|0;h=l+20|0;k=l+16|0;m=l+12|0;f=l+8|0;n=l+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[m>>2]=c[(Rp(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+8>>2];c[n>>2]=zb[c[(c[c[m>>2]>>2]|0)+12>>2]&63](c[m>>2]|0,c[k>>2]|0)|0;do if(c[n>>2]|0){if((c[n>>2]|0)==7){a[(c[c[g>>2]>>2]|0)+64>>0]=1;break}e=c[g>>2]|0;if(c[(c[m>>2]|0)+8>>2]|0){c[j>>2]=c[(c[m>>2]|0)+8>>2];Se(e,1200,j);break}else{c[j>>2]=ge(c[n>>2]|0)|0;Se(e,1200,j);break}}while(0);hc(c[(c[m>>2]|0)+8>>2]|0);c[(c[m>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if((a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0)==0?(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[f>>2]<<3)>>2]|0)>0:0){b=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];Se(b,24120,j)}c[f>>2]=(c[f>>2]|0)+1}i=l;return c[(c[g>>2]|0)+64>>2]|0}function Pv(a){a=+a;var d=0,e=0,f=0,g=0,j=0;d=i;i=i+32|0;e=d+18|0;f=d+8|0;g=d;j=d+16|0;h[f>>3]=a;if(+h[f>>3]<=1.0){b[e>>1]=0;j=b[e>>1]|0;i=d;return j|0}if(+h[f>>3]<=2.0e9){a=+h[f>>3];b[e>>1]=dq(~~a>>>0,+O(a)>=1.0?a>0.0?(ca(+N(a/4294967296.0),4294967295.0)|0)>>>0:~~+_((a- +(~~a>>>0))/4294967296.0)>>>0:0)|0;j=b[e>>1]|0;i=d;return j|0}else{c[g+0>>2]=c[f+0>>2];c[g+4>>2]=c[f+4>>2];g=cF(c[g>>2]|0,c[g+4>>2]|0,52)|0;g=ZE(g|0,D|0,1022,0)|0;b[j>>1]=g;b[e>>1]=(b[j>>1]|0)*10;j=b[e>>1]|0;i=d;return j|0}return 0}function Qv(a,e,f,g,h){a=a|0;e=e|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,q=0,r=0,s=0,t=0;j=i;i=i+48|0;l=j+36|0;p=j+32|0;q=j+28|0;t=j+24|0;r=j+20|0;s=j+16|0;k=j+12|0;o=j+8|0;m=j+4|0;n=j;c[p>>2]=a;c[q>>2]=e;c[t>>2]=f;c[r>>2]=g;c[s>>2]=h;c[o>>2]=c[(c[(c[r>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[q>>2]>>2]|0)){m=10;break}c[m>>2]=iq(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[m>>2]>>0]|0)==154?(b[(c[m>>2]|0)+32>>1]|0)==(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]|0):0)?(c[(c[m>>2]|0)+28>>2]|0)==(c[t>>2]|0):0)?(c[n>>2]=cq(c[p>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0)|0,(c[n>>2]|0)!=0):0)?0==(xc(c[c[n>>2]>>2]|0,c[o>>2]|0)|0):0){m=8;break}c[k>>2]=(c[k>>2]|0)+1}if((m|0)==8){c[l>>2]=c[k>>2];a=c[l>>2]|0;i=j;return a|0}else if((m|0)==10){c[l>>2]=-1;a=c[l>>2]|0;i=j;return a|0}return 0}function Rv(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,A=0,B=0,C=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;I=i;i=i+208|0;K=I+188|0;v=I+184|0;j=I+180|0;aa=I+176|0;E=I+172|0;V=I+168|0;q=I+164|0;y=I+40|0;A=I+32|0;z=I+24|0;s=I+160|0;u=I+156|0;p=I+152|0;O=I+148|0;t=I+144|0;G=I+140|0;$=I+16|0;w=I+136|0;N=I+132|0;C=I+194|0;x=I+128|0;l=I+124|0;B=I+192|0;F=I+120|0;Q=I+116|0;P=I+112|0;R=I+108|0;S=I+104|0;r=I+100|0;m=I+96|0;k=I+92|0;L=I+88|0;J=I+84|0;M=I+80|0;H=I+72|0;o=I+196|0;n=I+68|0;Y=I+64|0;T=I+60|0;U=I+56|0;_=I+52|0;X=I+8|0;W=I;Z=I+48|0;c[K>>2]=f;c[v>>2]=g;c[j>>2]=h;c[aa>>2]=c[c[v>>2]>>2];f=z;c[f>>2]=0;c[f+4>>2]=0;c[s>>2]=0;c[u>>2]=0;c[p>>2]=0;c[t>>2]=c[c[aa>>2]>>2];c[G>>2]=c[c[t>>2]>>2];if(a[(c[G>>2]|0)+64>>0]|0){i=I;return}c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);c[V>>2]=(c[aa>>2]|0)+68;c[q>>2]=c[c[E>>2]>>2];g=pv(c[V>>2]|0,c[(c[q>>2]|0)+12>>2]|0)|0;f=y;c[f>>2]=g;c[f+4>>2]=D;c[O>>2]=d[c[q>>2]>>0];do if((c[O>>2]|0)==75){aa=c[V>>2]|0;h=(c[q>>2]|0)+20|0;if(c[(c[q>>2]|0)+4>>2]&2048){g=qv(aa,c[h>>2]|0)|0;f=(c[E>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=D;break}else{g=Zu(aa,c[h>>2]|0)|0;f=(c[E>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=D;break}}else if((c[O>>2]|0)==76){f=(c[E>>2]|0)+32|0;c[f>>2]=0;c[f+4>>2]=0;break}else{g=pv(c[V>>2]|0,c[(c[q>>2]|0)+16>>2]|0)|0;f=(c[E>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=D;break}while(0);g=pv(c[V>>2]|0,c[q>>2]|0)|0;f=A;c[f>>2]=g;c[f+4>>2]=D;if(c[(c[q>>2]|0)+4>>2]&1){h=_u(c[V>>2]|0,b[(c[q>>2]|0)+36>>1]|0)|0;aa=$;c[aa>>2]=h;c[aa+4>>2]=D;aa=$;h=A;f=c[h+4>>2]|c[aa+4>>2];g=A;c[g>>2]=c[h>>2]|c[aa>>2];c[g+4>>2]=f;g=$;g=ZE(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;f=z;c[f>>2]=g;c[f+4>>2]=D}g=A;$=c[g+4>>2]|0;f=(c[E>>2]|0)+40|0;c[f>>2]=c[g>>2];c[f+4>>2]=$;c[(c[E>>2]|0)+8>>2]=-1;c[(c[E>>2]|0)+4>>2]=-1;b[(c[E>>2]|0)+18>>1]=0;f=(Sv(c[O>>2]|0)|0)!=0;$=c[q>>2]|0;do if(f){c[w>>2]=iq(c[$+12>>2]|0)|0;c[N>>2]=iq(c[(c[q>>2]|0)+16>>2]|0)|0;g=(c[E>>2]|0)+32|0;f=y;b[C>>1]=((c[g>>2]&c[f>>2]|0)==0?(c[g+4>>2]&c[f+4>>2]|0)==0:0)?4095:1024;if((d[c[w>>2]>>0]|0)==154){c[(c[E>>2]|0)+8>>2]=c[(c[w>>2]|0)+28>>2];c[(c[E>>2]|0)+12>>2]=b[(c[w>>2]|0)+32>>1];f=(Tv(c[O>>2]|0)|0)&65535;b[(c[E>>2]|0)+18>>1]=f&e[C>>1]}if((c[N>>2]|0)!=0?(d[c[N>>2]>>0]|0)==154:0){b[B>>1]=0;if((c[(c[E>>2]|0)+8>>2]|0)>=0){c[l>>2]=Bq(c[G>>2]|0,c[q>>2]|0,0)|0;if(a[(c[G>>2]|0)+64>>0]|0){wn(c[G>>2]|0,c[l>>2]|0);i=I;return}c[F>>2]=Uv(c[v>>2]|0,c[l>>2]|0,3)|0;if(!(c[F>>2]|0)){i=I;return}c[x>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0);c[(c[x>>2]|0)+4>>2]=c[j>>2];c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);a[(c[E>>2]|0)+21>>0]=1;f=(c[E>>2]|0)+20|0;a[f>>0]=d[f>>0]|8;if(((d[c[q>>2]>>0]|0)==79?(c[(c[q>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[G>>2]|0)+60>>1]&512|0)==0:0){f=(c[E>>2]|0)+18|0;b[f>>1]=e[f>>1]|1024;b[B>>1]=1024}}else{c[l>>2]=c[q>>2];c[x>>2]=c[E>>2]}Vv(c[t>>2]|0,c[l>>2]|0);c[w>>2]=iq(c[(c[l>>2]|0)+12>>2]|0)|0;c[(c[x>>2]|0)+8>>2]=c[(c[w>>2]|0)+28>>2];c[(c[x>>2]|0)+12>>2]=b[(c[w>>2]|0)+32>>1];h=y;f=z;g=c[h+4>>2]|c[f+4>>2];aa=(c[x>>2]|0)+32|0;c[aa>>2]=c[h>>2]|c[f>>2];c[aa+4>>2]=g;aa=A;g=c[aa+4>>2]|0;f=(c[x>>2]|0)+40|0;c[f>>2]=c[aa>>2];c[f+4>>2]=g;f=(Tv(d[c[l>>2]>>0]|0)|0)&65535;b[(c[x>>2]|0)+18>>1]=f+(e[B>>1]|0)&e[C>>1]}}else{if((d[$>>0]|0)==74?(d[(c[v>>2]|0)+8>>0]|0)==72:0){c[Q>>2]=c[(c[q>>2]|0)+20>>2];c[P>>2]=0;while(1){if((c[P>>2]|0)>=2)break;aa=c[t>>2]|0;g=d[24168+(c[P>>2]|0)>>0]|0;f=Bq(c[G>>2]|0,c[(c[q>>2]|0)+12>>2]|0,0)|0;c[R>>2]=Rn(aa,g,f,Bq(c[G>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[P>>2]|0)*20|0)>>2]|0,0)|0,0)|0;Wv(c[R>>2]|0,c[q>>2]|0);c[S>>2]=Uv(c[v>>2]|0,c[R>>2]|0,3)|0;Rv(c[K>>2]|0,c[v>>2]|0,c[S>>2]|0);c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);c[(c[(c[v>>2]|0)+20>>2]|0)+((c[S>>2]|0)*48|0)+4>>2]=c[j>>2];c[P>>2]=(c[P>>2]|0)+1}a[(c[E>>2]|0)+21>>0]=2;break}if((d[c[q>>2]>>0]|0)==71){Xv(c[K>>2]|0,c[v>>2]|0,c[j>>2]|0);c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0)}}while(0);if((d[(c[v>>2]|0)+8>>0]|0)==72?(Yv(c[t>>2]|0,c[q>>2]|0,s,u,p)|0)!=0:0){c[r>>2]=c[(c[(c[(c[q>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[m>>2]=Bq(c[G>>2]|0,c[s>>2]|0,0)|0;if(!(a[(c[G>>2]|0)+64>>0]|0)){f=(Mb(c[(c[m>>2]|0)+8>>2]|0)|0)-1|0;c[n>>2]=(c[(c[m>>2]|0)+8>>2]|0)+f;a[o>>0]=a[c[n>>2]>>0]|0;if(c[p>>2]|0){if((d[o>>0]|0)==64)c[u>>2]=0;a[o>>0]=a[440+(d[o>>0]|0)>>0]|0}a[c[n>>2]>>0]=(d[o>>0]|0)+1}c[H>>2]=(c[p>>2]|0)!=0?3336:3320;c[H+4>>2]=6;c[k>>2]=Bq(c[G>>2]|0,c[r>>2]|0,0)|0;f=c[t>>2]|0;g=uo(c[t>>2]|0,c[k>>2]|0,H)|0;c[k>>2]=Rn(f,83,g,c[s>>2]|0,0)|0;Wv(c[k>>2]|0,c[q>>2]|0);c[J>>2]=Uv(c[v>>2]|0,c[k>>2]|0,3)|0;Rv(c[K>>2]|0,c[v>>2]|0,c[J>>2]|0);c[L>>2]=Bq(c[G>>2]|0,c[r>>2]|0,0)|0;g=c[t>>2]|0;f=uo(c[t>>2]|0,c[L>>2]|0,H)|0;c[L>>2]=Rn(g,82,f,c[m>>2]|0,0)|0;Wv(c[L>>2]|0,c[q>>2]|0);c[M>>2]=Uv(c[v>>2]|0,c[L>>2]|0,3)|0;Rv(c[K>>2]|0,c[v>>2]|0,c[M>>2]|0);c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);if(c[u>>2]|0){c[(c[(c[v>>2]|0)+20>>2]|0)+((c[J>>2]|0)*48|0)+4>>2]=c[j>>2];c[(c[(c[v>>2]|0)+20>>2]|0)+((c[M>>2]|0)*48|0)+4>>2]=c[j>>2];a[(c[E>>2]|0)+21>>0]=2}}if((Zv(c[q>>2]|0)|0)!=0?(c[T>>2]=c[c[(c[(c[q>>2]|0)+20>>2]|0)+4>>2]>>2],c[U>>2]=c[(c[(c[(c[q>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],g=pv(c[V>>2]|0,c[T>>2]|0)|0,f=W,c[f>>2]=g,c[f+4>>2]=D,f=pv(c[V>>2]|0,c[U>>2]|0)|0,g=X,c[g>>2]=f,c[g+4>>2]=D,g=W,f=X,(c[g>>2]&c[f>>2]|0)==0?(c[g+4>>2]&c[f+4>>2]|0)==0:0):0){f=c[t>>2]|0;c[Z>>2]=Rn(f,51,0,Bq(c[G>>2]|0,c[T>>2]|0,0)|0,0)|0;c[Y>>2]=Uv(c[v>>2]|0,c[Z>>2]|0,3)|0;c[_>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[Y>>2]|0)*48|0);f=W;g=c[f+4>>2]|0;aa=(c[_>>2]|0)+32|0;c[aa>>2]=c[f>>2];c[aa+4>>2]=g;c[(c[_>>2]|0)+8>>2]=c[(c[U>>2]|0)+28>>2];c[(c[_>>2]|0)+12>>2]=b[(c[U>>2]|0)+32>>1];b[(c[_>>2]|0)+18>>1]=64;c[(c[_>>2]|0)+4>>2]=c[j>>2];c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);a[(c[E>>2]|0)+21>>0]=1;aa=(c[E>>2]|0)+20|0;a[aa>>0]=d[aa>>0]|8;aa=(c[E>>2]|0)+40|0;g=c[aa+4>>2]|0;f=(c[_>>2]|0)+40|0;c[f>>2]=c[aa>>2];c[f+4>>2]=g}aa=z;f=(c[E>>2]|0)+32|0;h=f;g=c[h+4>>2]|c[aa+4>>2];c[f>>2]=c[h>>2]|c[aa>>2];c[f+4>>2]=g;i=I;return}function Sv(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if((c[d>>2]|0)!=75?!((c[d>>2]|0)>=79&(c[d>>2]|0)<=83):0)a=(c[d>>2]|0)==76;else a=1;i=b;return a&1|0}function Tv(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e;d=e+4|0;c[f>>2]=a;do if((c[f>>2]|0)!=75)if((c[f>>2]|0)==76){b[d>>1]=128;break}else{b[d>>1]=2<<(c[f>>2]|0)-79;break}else b[d>>1]=1;while(0);i=e;return b[d>>1]|0}function Uv(e,f,g){e=e|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;o=i;i=i+32|0;h=o+24|0;l=o+20|0;n=o+16|0;k=o+28|0;j=o+12|0;m=o+8|0;q=o+4|0;p=o;c[l>>2]=e;c[n>>2]=f;a[k>>0]=g;do if((c[(c[l>>2]|0)+12>>2]|0)>=(c[(c[l>>2]|0)+16>>2]|0)){c[q>>2]=c[(c[l>>2]|0)+20>>2];c[p>>2]=c[c[c[c[l>>2]>>2]>>2]>>2];e=Qe(c[p>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[l>>2]|0)+20>>2]=e;if(c[(c[l>>2]|0)+20>>2]|0){dF(c[(c[l>>2]|0)+20>>2]|0,c[q>>2]|0,(c[(c[l>>2]|0)+12>>2]|0)*48|0)|0;if((c[q>>2]|0)!=((c[l>>2]|0)+24|0))Xb(c[p>>2]|0,c[q>>2]|0);e=((Bk(c[p>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[l>>2]|0)+16>>2]=e;break}if((d[k>>0]|0)&1)wn(c[p>>2]|0,c[n>>2]|0);c[(c[l>>2]|0)+20>>2]=c[q>>2];c[h>>2]=0;e=c[h>>2]|0;i=o;return e|0}while(0);f=(c[l>>2]|0)+12|0;e=c[f>>2]|0;c[f>>2]=e+1;c[m>>2]=e;c[j>>2]=(c[(c[l>>2]|0)+20>>2]|0)+(e*48|0);if((c[n>>2]|0)!=0?(c[(c[n>>2]|0)+4>>2]&262144|0)!=0:0){e=c[(c[n>>2]|0)+28>>2]|0;e=((dq(e,((e|0)<0)<<31>>31)|0)<<16>>16)-99&65535;b[(c[j>>2]|0)+16>>1]=e}else b[(c[j>>2]|0)+16>>1]=1;e=iq(c[n>>2]|0)|0;c[c[j>>2]>>2]=e;a[(c[j>>2]|0)+20>>0]=a[k>>0]|0;c[(c[j>>2]|0)+24>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=-1;c[h>>2]=c[m>>2];e=c[h>>2]|0;i=o;return e|0}function Vv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;l=h+8|0;j=h+4|0;m=h+14|0;n=h+12|0;k=h;c[l>>2]=f;c[j>>2]=g;b[m>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[m>>1]|0)==(e[n>>1]|0)){if(b[m>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(cq(c[l>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[k>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[k>>2];if((d[c[j>>2]>>0]|0)<80){i=h;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-80^2)+80;i=h;return}function Wv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=d;if(!(c[f>>2]|0)){i=e;return}a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[g>>2]|0)+4>>2]&1;b[(c[f>>2]|0)+36>>1]=b[(c[g>>2]|0)+36>>1]|0;i=e;return}function Xv(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,A=0,B=0,C=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;C=i;i=i+144|0;q=C+140|0;o=C+136|0;r=C+132|0;y=C+128|0;w=C+124|0;t=C+120|0;s=C+116|0;m=C+112|0;z=C+108|0;A=C+104|0;x=C+100|0;P=C+96|0;j=C+24|0;K=C+16|0;J=C+92|0;M=C+88|0;N=C+84|0;L=C+80|0;O=C+8|0;Q=C;R=C+76|0;B=C+72|0;G=C+68|0;E=C+64|0;F=C+60|0;I=C+56|0;H=C+52|0;v=C+48|0;n=C+44|0;u=C+40|0;l=C+36|0;p=C+32|0;c[q>>2]=f;c[o>>2]=g;c[r>>2]=h;c[y>>2]=c[c[o>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[t>>2]=c[c[w>>2]>>2];c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);c[m>>2]=c[c[s>>2]>>2];f=se(c[t>>2]|0,416,0)|0;c[P>>2]=f;c[(c[s>>2]|0)+12>>2]=f;if(!(c[P>>2]|0)){i=C;return}f=(c[s>>2]|0)+20|0;a[f>>0]=d[f>>0]|16;c[A>>2]=c[P>>2];Ru(c[A>>2]|0,c[y>>2]|0);Su(c[A>>2]|0,c[m>>2]|0,71);Uu(c[q>>2]|0,c[A>>2]|0);if(a[(c[t>>2]|0)+64>>0]|0){i=C;return}f=K;c[f>>2]=-1;c[f+4>>2]=-1;f=j;c[f>>2]=-1;c[f+4>>2]=-1;c[z>>2]=(c[(c[A>>2]|0)+12>>2]|0)-1;c[x>>2]=c[(c[A>>2]|0)+20>>2];while(1){f=K;if(!((c[z>>2]|0)>=0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)))break;do if(!(e[(c[x>>2]|0)+18>>1]&255)){f=j;c[f>>2]=0;c[f+4>>2]=0;c[J>>2]=Qe(c[t>>2]|0,408,0)|0;if(c[J>>2]|0){f=O;c[f>>2]=0;c[f+4>>2]=0;c[(c[x>>2]|0)+12>>2]=c[J>>2];f=(c[x>>2]|0)+20|0;a[f>>0]=d[f>>0]|32;b[(c[x>>2]|0)+18>>1]=512;c[M>>2]=c[J>>2];Ru(c[M>>2]|0,c[c[o>>2]>>2]|0);Su(c[M>>2]|0,c[c[x>>2]>>2]|0,72);Uu(c[q>>2]|0,c[M>>2]|0);c[(c[M>>2]|0)+4>>2]=c[o>>2];a:do if(!(a[(c[t>>2]|0)+64>>0]|0)){c[L>>2]=0;c[N>>2]=c[(c[M>>2]|0)+20>>2];while(1){if((c[L>>2]|0)>=(c[(c[M>>2]|0)+12>>2]|0))break a;if(Sv(d[c[c[N>>2]>>2]>>0]|0)|0){h=_u((c[y>>2]|0)+68|0,c[(c[N>>2]|0)+8>>2]|0)|0;S=O;g=c[S+4>>2]|D;f=O;c[f>>2]=c[S>>2]|h;c[f+4>>2]=g}c[L>>2]=(c[L>>2]|0)+1;c[N>>2]=(c[N>>2]|0)+48}}while(0);g=O;h=K;f=c[h+4>>2]&c[g+4>>2];S=K;c[S>>2]=c[h>>2]&c[g>>2];c[S+4>>2]=f}}else if(!(d[(c[x>>2]|0)+20>>0]&8)){f=_u((c[y>>2]|0)+68|0,c[(c[x>>2]|0)+8>>2]|0)|0;S=Q;c[S>>2]=f;c[S+4>>2]=D;if(d[(c[x>>2]|0)+20>>0]&2){c[R>>2]=(c[(c[A>>2]|0)+20>>2]|0)+((c[(c[x>>2]|0)+4>>2]|0)*48|0);g=_u((c[y>>2]|0)+68|0,c[(c[R>>2]|0)+8>>2]|0)|0;h=Q;f=c[h+4>>2]|D;S=Q;c[S>>2]=c[h>>2]|g;c[S+4>>2]=f}g=Q;h=K;f=c[h+4>>2]&c[g+4>>2];S=K;c[S>>2]=c[h>>2]&c[g>>2];c[S+4>>2]=f;if(!(e[(c[x>>2]|0)+18>>1]&2)){S=j;c[S>>2]=0;c[S+4>>2]=0;break}else{g=Q;h=j;f=c[h+4>>2]&c[g+4>>2];S=j;c[S>>2]=c[h>>2]&c[g>>2];c[S+4>>2]=f;break}}while(0);c[z>>2]=(c[z>>2]|0)+ -1;c[x>>2]=(c[x>>2]|0)+48}g=K;f=c[g+4>>2]|0;S=(c[P>>2]|0)+408|0;c[S>>2]=c[g>>2];c[S+4>>2]=f;S=K;b[(c[s>>2]|0)+18>>1]=(c[S>>2]|0)==0&(c[S+4>>2]|0)==0?0:256;S=j;if(!((c[S>>2]|0)!=0|(c[S+4>>2]|0)!=0)){i=C;return}c[B>>2]=0;c[G>>2]=-1;c[E>>2]=-1;c[F>>2]=0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=2|(c[B>>2]|0)!=0)break;c[x>>2]=c[(c[A>>2]|0)+20>>2];c[z>>2]=(c[(c[A>>2]|0)+12>>2]|0)-1;while(1){if((c[z>>2]|0)<0)break;S=(c[x>>2]|0)+20|0;a[S>>0]=d[S>>0]&-65;if((c[(c[x>>2]|0)+8>>2]|0)!=(c[E>>2]|0)?(S=j,g=c[S>>2]|0,S=c[S+4>>2]|0,f=_u((c[y>>2]|0)+68|0,c[(c[x>>2]|0)+8>>2]|0)|0,!((g&f|0)==0&(S&D|0)==0)):0){k=28;break}c[z>>2]=(c[z>>2]|0)+ -1;c[x>>2]=(c[x>>2]|0)+48}if((k|0)==28){k=0;c[G>>2]=c[(c[x>>2]|0)+12>>2];c[E>>2]=c[(c[x>>2]|0)+8>>2]}if((c[z>>2]|0)<0)break;c[B>>2]=1;while(1){if(!((c[z>>2]|0)>=0&(c[B>>2]|0)!=0))break;J=c[x>>2]|0;do if((c[(c[x>>2]|0)+8>>2]|0)!=(c[E>>2]|0)){S=J+20|0;a[S>>0]=d[S>>0]&-65}else{if((c[J+12>>2]|0)!=(c[G>>2]|0)){c[B>>2]=0;break}c[H>>2]=(bq(c[(c[c[x>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[I>>2]=(bq(c[(c[c[x>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[H>>2]|0)!=0?(c[H>>2]|0)!=(c[I>>2]|0):0){c[B>>2]=0;break}S=(c[x>>2]|0)+20|0;a[S>>0]=d[S>>0]|64}while(0);c[z>>2]=(c[z>>2]|0)+ -1;c[x>>2]=(c[x>>2]|0)+48}c[F>>2]=(c[F>>2]|0)+1}if(!(c[B>>2]|0)){i=C;return}c[n>>2]=0;c[u>>2]=0;c[z>>2]=(c[(c[A>>2]|0)+12>>2]|0)-1;c[x>>2]=c[(c[A>>2]|0)+20>>2];while(1){if((c[z>>2]|0)<0)break;if(d[(c[x>>2]|0)+20>>0]&64){c[v>>2]=Bq(c[t>>2]|0,c[(c[c[x>>2]>>2]|0)+16>>2]|0,0)|0;c[n>>2]=eo(c[c[y>>2]>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[u>>2]=c[(c[c[x>>2]>>2]|0)+12>>2]}c[z>>2]=(c[z>>2]|0)+ -1;c[x>>2]=(c[x>>2]|0)+48}c[v>>2]=Bq(c[t>>2]|0,c[u>>2]|0,0)|0;c[l>>2]=Rn(c[w>>2]|0,75,c[v>>2]|0,0,0)|0;if(c[l>>2]|0){Wv(c[l>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+20>>2]=c[n>>2];c[p>>2]=Uv(c[o>>2]|0,c[l>>2]|0,3)|0;Rv(c[q>>2]|0,c[o>>2]|0,c[p>>2]|0);c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);c[(c[(c[o>>2]|0)+20>>2]|0)+((c[p>>2]|0)*48|0)+4>>2]=c[r>>2];a[(c[s>>2]|0)+21>>0]=1}else sn(c[t>>2]|0,c[n>>2]|0);b[(c[s>>2]|0)+18>>1]=2048;i=C;return}function Yv(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;x=i;i=i+96|0;s=x+76|0;o=x+72|0;E=x+68|0;t=x+64|0;r=x+60|0;F=x+56|0;n=x+52|0;q=x+48|0;D=x+44|0;C=x+40|0;z=x+36|0;v=x+32|0;y=x+80|0;w=x+28|0;m=x+24|0;u=x+20|0;B=x+16|0;A=x+12|0;k=x+8|0;p=x+4|0;l=x;c[o>>2]=e;c[E>>2]=f;c[t>>2]=g;c[r>>2]=h;c[F>>2]=j;c[n>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[m>>2]=0;if(!(_v(c[w>>2]|0,c[E>>2]|0,c[F>>2]|0,y)|0)){c[s>>2]=0;F=c[s>>2]|0;i=x;return F|0}c[C>>2]=c[(c[E>>2]|0)+20>>2];c[D>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+20>>2];if(((d[c[D>>2]>>0]|0)==154?((bq(c[D>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[D>>2]|0)+44>>2]|0)+44>>0]&16|0)==0:0){c[q>>2]=iq(c[c[(c[C>>2]|0)+4>>2]>>2]|0)|0;c[u>>2]=d[c[q>>2]>>0];if((c[u>>2]|0)!=135){if((c[u>>2]|0)==97)c[n>>2]=c[(c[q>>2]|0)+8>>2]}else{c[B>>2]=c[(c[o>>2]|0)+476>>2];c[A>>2]=b[(c[q>>2]|0)+32>>1];c[m>>2]=$v(c[B>>2]|0,c[A>>2]|0,65)|0;if((c[m>>2]|0)!=0?(Nd(c[m>>2]|0)|0)==3:0)c[n>>2]=Ed(c[m>>2]|0)|0;aw(c[(c[o>>2]|0)+8>>2]|0,c[A>>2]|0)}do if(c[n>>2]|0){c[v>>2]=0;while(1){F=a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0;c[z>>2]=F;if(((F|0)!=0?(c[z>>2]|0)!=(a[y>>0]|0):0)?(c[z>>2]|0)!=(a[y+1>>0]|0):0)A=(c[z>>2]|0)!=(a[y+2>>0]|0);else A=0;j=c[v>>2]|0;if(!A)break;c[v>>2]=j+1}if((j|0)!=0?255!=(d[(c[n>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[z>>2]|0)==(a[y>>0]|0))y=(a[(c[n>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else y=0;c[c[r>>2]>>2]=y&1;c[k>>2]=ho(c[w>>2]|0,97,c[n>>2]|0)|0;if(c[k>>2]|0)a[(c[(c[k>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[k>>2];if((c[u>>2]|0)!=135)break;c[p>>2]=c[(c[o>>2]|0)+8>>2];aw(c[p>>2]|0,b[(c[q>>2]|0)+32>>1]|0);if(!(c[c[r>>2]>>2]|0))break;if(!(a[(c[(c[q>>2]|0)+8>>2]|0)+1>>0]|0))break;c[l>>2]=kp(c[o>>2]|0)|0;Qs(c[o>>2]|0,c[q>>2]|0,c[l>>2]|0)|0;F=c[p>>2]|0;af(F,(Mr(c[p>>2]|0)|0)-1|0,0);lp(c[o>>2]|0,c[l>>2]|0);break}c[n>>2]=0}while(0);tf(c[m>>2]|0);c[s>>2]=(c[n>>2]|0)!=0&1;F=c[s>>2]|0;i=x;return F|0}c[s>>2]=0;F=c[s>>2]|0;i=x;return F|0}function Zv(a){a=a|0;var b=0,e=0,f=0,g=0;e=i;i=i+16|0;b=e+8|0;g=e+4|0;f=e;c[g>>2]=a;do if((d[c[g>>2]>>0]|0|0)==153){if(xc(c[(c[g>>2]|0)+8>>2]|0,21512)|0){c[b>>2]=0;break}c[f>>2]=c[(c[g>>2]|0)+20>>2];if((c[c[f>>2]>>2]|0)!=2){c[b>>2]=0;break}if((d[c[(c[(c[f>>2]|0)+4>>2]|0)+20>>2]>>0]|0|0)!=154){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=e;return c[b>>2]|0}function _v(b,f,g,h){b=b|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;n=i;i=i+32|0;k=n+20|0;p=n+16|0;o=n+12|0;l=n+8|0;j=n+4|0;m=n;c[p>>2]=b;c[o>>2]=f;c[l>>2]=g;c[j>>2]=h;if(((d[c[o>>2]>>0]|0|0)==153?(c[(c[o>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[o>>2]|0)+20>>2]>>2]|0)==2:0){f=c[p>>2]|0;b=c[(c[o>>2]|0)+8>>2]|0;c[m>>2]=Sf(f,b,Mb(c[(c[o>>2]|0)+8>>2]|0)|0,2,1,0)|0;if((c[m>>2]|0)!=0?((e[(c[m>>2]|0)+2>>1]|0)&4|0)!=0:0){b=c[j>>2]|0;f=c[(c[m>>2]|0)+4>>2]|0;a[b+0>>0]=a[f+0>>0]|0;a[b+1>>0]=a[f+1>>0]|0;a[b+2>>0]=a[f+2>>0]|0;c[c[l>>2]>>2]=((e[(c[m>>2]|0)+2>>1]|0)&8|0)==0&1;c[k>>2]=1;b=c[k>>2]|0;i=n;return b|0}c[k>>2]=0;b=c[k>>2]|0;i=n;return b|0}c[k>>2]=0;b=c[k>>2]|0;i=n;return b|0}function $v(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+16|0;k=m+12|0;n=m+8|0;j=m+20|0;h=m+4|0;g=m;c[k>>2]=b;c[n>>2]=d;a[j>>0]=f;if((c[k>>2]|0)!=0?(c[h>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[n>>2]|0)-1|0)*40|0),0==((e[(c[h>>2]|0)+8>>1]|0)&1|0)):0){c[g>>2]=rf(c[c[k>>2]>>2]|0)|0;if(c[g>>2]|0){ce(c[g>>2]|0,c[h>>2]|0)|0;Dp(c[g>>2]|0,a[j>>0]|0,1)}c[l>>2]=c[g>>2];b=c[l>>2]|0;i=m;return b|0}c[l>>2]=0;b=c[l>>2]|0;i=m;return b|0}function aw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>32){c[(c[e>>2]|0)+188>>2]=-1;i=d;return}else{a=(c[e>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[f>>2]|0)-1;i=d;return}}function bw(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l;k=l+24|0;h=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;c[k>>2]=a;c[h>>2]=d;c[m>>2]=e;e=c[c[k>>2]>>2]|0;d=c[c[m>>2]>>2]|0;if((b[(c[m>>2]|0)+36>>1]|0)>=0){m=c[(c[(c[m>>2]|0)+4>>2]|0)+((b[(c[m>>2]|0)+36>>1]|0)*24|0)>>2]|0;c[f>>2]=d;c[f+4>>2]=m;c[g>>2]=Te(e,17448,f)|0;c[j>>2]=1555;m=c[k>>2]|0;e=c[j>>2]|0;d=c[h>>2]|0;a=c[g>>2]|0;ts(m,e,d,a,-1,2);i=l;return}else{c[f>>2]=d;c[g>>2]=Te(e,24432,f)|0;c[j>>2]=2579;m=c[k>>2]|0;e=c[j>>2]|0;d=c[h>>2]|0;a=c[g>>2]|0;ts(m,e,d,a,-1,2);i=l;return}}function cw(a,b,d,e){a=a|0;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;i=i+32|0;g=f+20|0;n=f+16|0;j=f+12|0;l=f+8|0;m=f+4|0;k=f;c[n>>2]=a;c[j>>2]=b;c[l>>2]=d;c[m>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){e=c[j>>2]|0;if(!(c[l>>2]|0)){if(Up(e)|0)h=1;else h=(c[(c[j>>2]|0)+16>>2]|0)!=0;c[g>>2]=h&1;n=c[g>>2]|0;i=f;return n|0}c[k>>2]=c[e+16>>2];while(1){e=c[j>>2]|0;if(!(c[k>>2]|0))break;if(Bu(e,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){h=9;break}c[k>>2]=c[(c[k>>2]|0)+4>>2]}if((h|0)==9){c[g>>2]=1;n=c[g>>2]|0;i=f;return n|0}c[k>>2]=Up(e)|0;while(1){if(!(c[k>>2]|0))break a;if(Du(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)break;c[k>>2]=c[(c[k>>2]|0)+12>>2]}c[g>>2]=1;n=c[g>>2]|0;i=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function dw(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[e>>2]=b;a[(c[e>>2]|0)+20>>0]=1;i=d;return}function ew(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;x=i;i=i+64|0;D=x+44|0;r=x+40|0;t=x+36|0;z=x+32|0;F=x+28|0;A=x+24|0;B=x+48|0;G=x+53|0;u=x+52|0;H=x+51|0;w=x+20|0;s=x+16|0;v=x+12|0;y=x+50|0;E=x+8|0;p=x+4|0;C=x;c[D>>2]=e;c[r>>2]=f;c[t>>2]=g;c[z>>2]=h;c[F>>2]=j;c[A>>2]=k;b[B>>1]=l;a[G>>0]=m;a[u>>0]=n;a[H>>0]=o;c[w>>2]=c[(c[D>>2]|0)+8>>2];c[s>>2]=0;c[v>>2]=Nr(c[w>>2]|0)|0;a[y>>0]=(d[(c[r>>2]|0)+44>>0]&32|0)==0?70:68;if(!(a[H>>0]|0))We(c[w>>2]|0,d[y>>0]|0,c[z>>2]|0,c[v>>2]|0,c[A>>2]|0,b[B>>1]|0)|0;H=(cw(c[D>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(H|(c[t>>2]|0)!=0){c[E>>2]=gw(c[D>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[u>>0]|0)|0;H=hw(c[D>>2]|0,c[r>>2]|0)|0;c[E>>2]=c[E>>2]|H;c[s>>2]=(c[(c[D>>2]|0)+72>>2]|0)+1;H=(c[D>>2]|0)+72|0;c[H>>2]=(c[H>>2]|0)+(1+(b[(c[r>>2]|0)+38>>1]|0));fp(c[w>>2]|0,33,c[A>>2]|0,c[s>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;if((c[E>>2]|0)!=-1){if((c[p>>2]|0)<=31?(c[E>>2]&1<>2]|0)!=0:0)q=9}else q=9;if((q|0)==9){q=0;zs(c[w>>2]|0,c[r>>2]|0,c[z>>2]|0,c[p>>2]|0,(c[s>>2]|0)+(c[p>>2]|0)+1|0)}c[p>>2]=(c[p>>2]|0)+1}c[C>>2]=Mr(c[w>>2]|0)|0;tu(c[D>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[s>>2]|0,d[u>>0]|0,c[v>>2]|0);H=c[C>>2]|0;if((H|0)<(Mr(c[w>>2]|0)|0))We(c[w>>2]|0,d[y>>0]|0,c[z>>2]|0,c[v>>2]|0,c[A>>2]|0,b[B>>1]|0)|0;yu(c[D>>2]|0,c[r>>2]|0,c[s>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){g=c[D>>2]|0;h=c[r>>2]|0;j=c[s>>2]|0;iw(g,h,0,j,0,0);j=c[D>>2]|0;h=c[t>>2]|0;g=c[r>>2]|0;f=c[s>>2]|0;H=a[u>>0]|0;H=H&255;e=c[v>>2]|0;tu(j,h,109,0,2,g,f,H,e);e=c[w>>2]|0;H=c[v>>2]|0;Pr(e,H);i=x;return}fw(c[D>>2]|0,c[r>>2]|0,c[z>>2]|0,c[F>>2]|0,0);fp(c[w>>2]|0,95,c[z>>2]|0,(d[G>>0]|0)!=0?1:0)|0;if(!(a[G>>0]|0)){g=c[D>>2]|0;h=c[r>>2]|0;j=c[s>>2]|0;iw(g,h,0,j,0,0);j=c[D>>2]|0;h=c[t>>2]|0;g=c[r>>2]|0;f=c[s>>2]|0;H=a[u>>0]|0;H=H&255;e=c[v>>2]|0;tu(j,h,109,0,2,g,f,H,e);e=c[w>>2]|0;H=c[v>>2]|0;Pr(e,H);i=x;return}bf(c[w>>2]|0,-1,c[c[r>>2]>>2]|0,0);g=c[D>>2]|0;h=c[r>>2]|0;j=c[s>>2]|0;iw(g,h,0,j,0,0);j=c[D>>2]|0;h=c[t>>2]|0;g=c[r>>2]|0;f=c[s>>2]|0;H=a[u>>0]|0;H=H&255;e=c[v>>2]|0;tu(j,h,109,0,2,g,f,H,e);e=c[w>>2]|0;H=c[v>>2]|0;Pr(e,H);i=x;return}function fw(a,e,f,g,h){a=a|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+48|0;l=u+44|0;w=u+40|0;n=u+36|0;v=u+32|0;s=u+28|0;t=u+24|0;q=u+20|0;o=u+16|0;m=u+12|0;p=u+8|0;j=u+4|0;r=u;c[l>>2]=a;c[w>>2]=e;c[n>>2]=f;c[v>>2]=g;c[s>>2]=h;c[q>>2]=-1;c[p>>2]=0;c[j>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[w>>2]|0)+44>>0]|0)&32))h=0;else h=Zr(c[w>>2]|0)|0;c[r>>2]=h;c[t>>2]=0;c[m>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if(!((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0)==0:0))k=7;if((k|0)==7?(k=0,(c[m>>2]|0)!=(c[r>>2]|0)):0){c[q>>2]=ps(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1,o,c[p>>2]|0,c[q>>2]|0)|0;w=c[m>>2]|0;if((d[(c[m>>2]|0)+55>>0]|0)>>>3&1)w=b[w+50>>1]|0;else w=b[w+52>>1]|0;ip(c[j>>2]|0,111,(c[v>>2]|0)+(c[t>>2]|0)|0,c[q>>2]|0,w&65535)|0;qs(c[l>>2]|0,c[o>>2]|0);c[p>>2]=c[m>>2]}c[t>>2]=(c[t>>2]|0)+1;c[m>>2]=c[(c[m>>2]|0)+20>>2]}i=u;return}function gw(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;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,u=0,v=0;s=i;i=i+48|0;o=s+40|0;v=s+36|0;k=s+32|0;n=s+28|0;u=s+24|0;q=s+20|0;r=s+16|0;t=s+12|0;l=s+8|0;p=s+4|0;m=s;c[o>>2]=a;c[v>>2]=b;c[k>>2]=e;c[n>>2]=f;c[u>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=(c[k>>2]|0)!=0?110:109;c[l>>2]=0;c[p>>2]=c[v>>2];while(1){if(!(c[p>>2]|0))break;if((((d[(c[p>>2]|0)+8>>0]|0|0)==(c[t>>2]|0)?(c[u>>2]&(d[(c[p>>2]|0)+9>>0]|0)|0)!=0:0)?(ex(c[(c[p>>2]|0)+16>>2]|0,c[k>>2]|0)|0)!=0:0)?(c[m>>2]=lw(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0,(c[m>>2]|0)!=0):0)c[l>>2]=c[l>>2]|c[(c[m>>2]|0)+16+(c[n>>2]<<2)>>2];c[p>>2]=c[(c[p>>2]|0)+32>>2]}i=s;return c[l>>2]|0}function hw(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;m=k+4|0;h=k;c[j>>2]=a;c[f>>2]=d;c[g>>2]=0;if(!(c[(c[c[j>>2]>>2]|0)+24>>2]&524288)){a=c[g>>2]|0;i=k;return a|0}c[l>>2]=c[(c[f>>2]|0)+16>>2];while(1){if(!(c[l>>2]|0))break;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break;if((c[(c[l>>2]|0)+36+(c[m>>2]<<3)>>2]|0)>31)d=-1;else d=1<>2]|0)+36+(c[m>>2]<<3)>>2];c[g>>2]=c[g>>2]|d;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+4>>2]}c[l>>2]=Up(c[f>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;c[h>>2]=0;$t(c[j>>2]|0,c[f>>2]|0,c[l>>2]|0,h,0)|0;a:do if(c[h>>2]|0){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[h>>2]|0)+50>>1]|0))break a;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0)>31)d=-1;else d=1<>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1];c[g>>2]=c[g>>2]|d;c[m>>2]=(c[m>>2]|0)+1}}while(0);c[l>>2]=c[(c[l>>2]|0)+12>>2]}a=c[g>>2]|0;i=k;return a|0}function iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;q=i;i=i+32|0;k=q+28|0;m=q+24|0;p=q+20|0;n=q+16|0;h=q+12|0;r=q+8|0;o=q+4|0;l=q;c[k>>2]=a;c[m>>2]=b;c[p>>2]=d;c[n>>2]=e;c[h>>2]=f;c[r>>2]=g;if(!(c[(c[c[k>>2]>>2]|0)+24>>2]&524288)){i=q;return}c[o>>2]=Up(c[m>>2]|0)|0;while(1){if(!(c[o>>2]|0))break;if(!((c[h>>2]|0)!=0?(Du(c[m>>2]|0,c[o>>2]|0,c[h>>2]|0,c[r>>2]|0)|0)==0:0))j=6;if((j|0)==6?(j=0,c[l>>2]=jw(c[k>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[l>>2]|0)!=0):0)kw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,2,0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}i=q;return}function jw(e,f,g,h){e=e|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,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;q=i;i=i+144|0;l=q+136|0;w=q+132|0;r=q+128|0;j=q+124|0;p=q+120|0;D=q+116|0;C=q+112|0;n=q+108|0;m=q+104|0;B=q+140|0;y=q+100|0;x=q+96|0;M=q+92|0;E=q+88|0;o=q+84|0;t=q+80|0;u=q+76|0;v=q+72|0;N=q+68|0;H=q+64|0;I=q+56|0;F=q+48|0;L=q+40|0;G=q+32|0;K=q+28|0;J=q+24|0;s=q+20|0;O=q+16|0;A=q+8|0;z=q;c[w>>2]=e;c[r>>2]=f;c[j>>2]=g;c[p>>2]=h;c[D>>2]=c[c[w>>2]>>2];c[m>>2]=(c[p>>2]|0)!=0&1;c[C>>2]=d[(c[j>>2]|0)+25+(c[m>>2]|0)>>0];c[n>>2]=c[(c[j>>2]|0)+28+(c[m>>2]<<2)>>2];if(!((c[C>>2]|0)==0|(c[n>>2]|0)!=0)){c[M>>2]=0;c[E>>2]=0;c[o>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[H>>2]=0;if($t(c[w>>2]|0,c[r>>2]|0,c[j>>2]|0,M,E)|0){c[l>>2]=0;e=c[l>>2]|0;i=q;return e|0}c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[(c[j>>2]|0)+20>>2]|0))break;c[I+0>>2]=c[6094];c[I+4>>2]=c[6095];c[F+0>>2]=c[6096];c[F+4>>2]=c[6097];if(c[E>>2]|0)h=c[(c[E>>2]|0)+(c[N>>2]<<2)>>2]|0;else h=c[(c[j>>2]|0)+36>>2]|0;c[K>>2]=h;if(c[M>>2]|0)h=c[(c[(c[r>>2]|0)+4>>2]|0)+((b[(c[(c[M>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0)*24|0)>>2]|0;else h=24392;c[G>>2]=h;c[L>>2]=c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)>>2];c[G+4>>2]=Mb(c[G>>2]|0)|0;c[L+4>>2]=Mb(c[L>>2]|0)|0;f=c[w>>2]|0;g=c[w>>2]|0;e=Rn(c[w>>2]|0,27,0,0,I)|0;e=Rn(g,122,e,Rn(c[w>>2]|0,27,0,0,G)|0,0)|0;c[J>>2]=Rn(f,79,e,Rn(c[w>>2]|0,27,0,0,L)|0,0)|0;c[t>>2]=mr(c[D>>2]|0,c[t>>2]|0,c[J>>2]|0)|0;if(c[p>>2]|0){h=c[w>>2]|0;f=c[w>>2]|0;g=Rn(c[w>>2]|0,27,0,0,I)|0;g=Rn(f,122,g,Rn(c[w>>2]|0,27,0,0,G)|0,0)|0;f=c[w>>2]|0;e=Rn(c[w>>2]|0,27,0,0,F)|0;c[J>>2]=Rn(h,73,g,Rn(f,122,e,Rn(c[w>>2]|0,27,0,0,G)|0,0)|0,0)|0;c[H>>2]=mr(c[D>>2]|0,c[H>>2]|0,c[J>>2]|0)|0}if((c[C>>2]|0)!=6?(c[C>>2]|0)!=9|(c[p>>2]|0)!=0:0){do if((c[C>>2]|0)!=9){if((c[C>>2]|0)!=8){c[s>>2]=Rn(c[w>>2]|0,101,0,0,0)|0;break}c[O>>2]=c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+4>>2];if(c[O>>2]|0){c[s>>2]=Bq(c[D>>2]|0,c[O>>2]|0,0)|0;break}else{c[s>>2]=Rn(c[w>>2]|0,101,0,0,0)|0;break}}else{f=c[w>>2]|0;e=Rn(c[w>>2]|0,27,0,0,F)|0;c[s>>2]=Rn(f,122,e,Rn(c[w>>2]|0,27,0,0,G)|0,0)|0}while(0);c[u>>2]=eo(c[w>>2]|0,c[u>>2]|0,c[s>>2]|0)|0;fo(c[w>>2]|0,c[u>>2]|0,L,0)}c[N>>2]=(c[N>>2]|0)+1}Xb(c[D>>2]|0,c[E>>2]|0);c[y>>2]=c[c[c[j>>2]>>2]>>2];c[x>>2]=Mb(c[y>>2]|0)|0;if((c[C>>2]|0)==6){c[A>>2]=c[y>>2];c[A+4>>2]=c[x>>2];c[z>>2]=ho(c[D>>2]|0,57,24400)|0;if(c[z>>2]|0)a[(c[z>>2]|0)+1>>0]=2;g=c[w>>2]|0;f=eo(c[w>>2]|0,0,c[z>>2]|0)|0;e=ko(c[D>>2]|0,0,A,0)|0;c[v>>2]=co(g,f,e,c[t>>2]|0,0,0,0,0,0,0)|0;c[t>>2]=0}a[B>>0]=a[(c[D>>2]|0)+250>>0]|0;a[(c[D>>2]|0)+250>>0]=0;c[n>>2]=se(c[D>>2]|0,77+(c[x>>2]|0)|0,0)|0;if((c[n>>2]|0)!=0?(e=(c[n>>2]|0)+36|0,c[(c[n>>2]|0)+28>>2]=e,c[o>>2]=e,c[(c[o>>2]|0)+12>>2]=(c[o>>2]|0)+40,c[(c[o>>2]|0)+16>>2]=c[x>>2],dF(c[(c[o>>2]|0)+12>>2]|0,c[y>>2]|0,c[x>>2]|0)|0,e=Bq(c[D>>2]|0,c[t>>2]|0,1)|0,c[(c[o>>2]|0)+20>>2]=e,e=Jq(c[D>>2]|0,c[u>>2]|0,1)|0,c[(c[o>>2]|0)+24>>2]=e,e=Wp(c[D>>2]|0,c[v>>2]|0,1)|0,c[(c[o>>2]|0)+8>>2]=e,(c[H>>2]|0)!=0):0){c[H>>2]=Rn(c[w>>2]|0,19,c[H>>2]|0,0,0)|0;e=Bq(c[D>>2]|0,c[H>>2]|0,1)|0;c[(c[n>>2]|0)+12>>2]=e}a[(c[D>>2]|0)+250>>0]=a[B>>0]|0;wn(c[D>>2]|0,c[t>>2]|0);wn(c[D>>2]|0,c[H>>2]|0);sn(c[D>>2]|0,c[u>>2]|0);tn(c[D>>2]|0,c[v>>2]|0);if((d[(c[D>>2]|0)+64>>0]|0)==1){dx(c[D>>2]|0,c[n>>2]|0);c[l>>2]=0;e=c[l>>2]|0;i=q;return e|0}s=c[C>>2]|0;if((s|0)==6)a[c[o>>2]>>0]=119;else if((s|0)==9?(c[p>>2]|0)==0:0)a[c[o>>2]>>0]=109;else k=37;if((k|0)==37)a[c[o>>2]>>0]=110;c[(c[o>>2]|0)+4>>2]=c[n>>2];c[(c[n>>2]|0)+20>>2]=c[(c[r>>2]|0)+68>>2];c[(c[n>>2]|0)+24>>2]=c[(c[r>>2]|0)+68>>2];c[(c[j>>2]|0)+28+(c[m>>2]<<2)>>2]=c[n>>2];a[(c[n>>2]|0)+8>>0]=(c[p>>2]|0)!=0?110:109}c[l>>2]=c[n>>2];e=c[l>>2]|0;i=q;return e|0}function kw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;o=i;i=i+48|0;n=o+32|0;p=o+28|0;r=o+24|0;l=o+20|0;q=o+16|0;m=o+12|0;k=o+8|0;h=o+4|0;j=o;c[n>>2]=a;c[p>>2]=b;c[r>>2]=d;c[l>>2]=e;c[q>>2]=f;c[m>>2]=g;c[k>>2]=dp(c[n>>2]|0)|0;c[h>>2]=lw(c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[h>>2]|0)){i=o;return}if(c[c[p>>2]>>2]|0)g=0==(c[(c[c[n>>2]>>2]|0)+24>>2]&262144|0);else g=0;c[j>>2]=g&1;b=c[k>>2]|0;a=c[l>>2]|0;q=c[m>>2]|0;d=(c[n>>2]|0)+72|0;r=(c[d>>2]|0)+1|0;c[d>>2]=r;ip(b,131,a,q,r)|0;bf(c[k>>2]|0,-1,c[(c[h>>2]|0)+8>>2]|0,-18);Xe(c[k>>2]|0,c[j>>2]&255);i=o;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;f=g+8|0;m=g+4|0;l=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[f>>2]=e;e=c[h>>2]|0;if(c[(c[h>>2]|0)+408>>2]|0)e=c[e+408>>2]|0;c[m>>2]=e;c[l>>2]=c[(c[m>>2]|0)+528>>2];while(1){if(!(c[l>>2]|0))break;if((c[c[l>>2]>>2]|0)==(c[j>>2]|0)?(c[(c[l>>2]|0)+12>>2]|0)==(c[f>>2]|0):0)break;c[l>>2]=c[(c[l>>2]|0)+4>>2]}if(c[l>>2]|0){a=c[l>>2]|0;i=g;return a|0}c[l>>2]=mw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[f>>2]|0)|0;a=c[l>>2]|0;i=g;return a|0}function mw(b,e,f,g){b=b|0;e=e|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;q=i;i=i+96|0;j=q;s=q+84|0;w=q+80|0;l=q+76|0;u=q+72|0;p=q+68|0;v=q+64|0;k=q+60|0;t=q+56|0;m=q+52|0;r=q+48|0;n=q+16|0;x=q+12|0;o=q+8|0;h=q+4|0;c[w>>2]=b;c[l>>2]=e;c[u>>2]=f;c[p>>2]=g;g=c[w>>2]|0;if(c[(c[w>>2]|0)+408>>2]|0)g=c[g+408>>2]|0;c[v>>2]=g;c[k>>2]=c[c[w>>2]>>2];c[m>>2]=0;c[x>>2]=0;c[h>>2]=0;c[t>>2]=se(c[k>>2]|0,24,0)|0;if(!(c[t>>2]|0)){c[s>>2]=0;b=c[s>>2]|0;i=q;return b|0}c[(c[t>>2]|0)+4>>2]=c[(c[v>>2]|0)+528>>2];c[(c[v>>2]|0)+528>>2]=c[t>>2];b=se(c[k>>2]|0,28,0)|0;c[x>>2]=b;c[(c[t>>2]|0)+8>>2]=b;if(!(c[x>>2]|0)){c[s>>2]=0;b=c[s>>2]|0;i=q;return b|0}nw(c[(c[v>>2]|0)+8>>2]|0,c[x>>2]|0);c[c[t>>2]>>2]=c[l>>2];c[(c[t>>2]|0)+12>>2]=c[p>>2];c[(c[t>>2]|0)+16>>2]=-1;c[(c[t>>2]|0)+20>>2]=-1;c[o>>2]=se(c[k>>2]|0,536,0)|0;if(!(c[o>>2]|0)){c[s>>2]=0;b=c[s>>2]|0;i=q;return b|0}c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[n>>2]=c[o>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+412>>2]=c[u>>2];c[(c[o>>2]|0)+408>>2]=c[v>>2];c[(c[o>>2]|0)+492>>2]=c[c[l>>2]>>2];a[(c[o>>2]|0)+436>>0]=a[(c[l>>2]|0)+8>>0]|0;c[(c[o>>2]|0)+424>>2]=c[(c[w>>2]|0)+424>>2];c[r>>2]=dp(c[o>>2]|0)|0;if(c[r>>2]|0){e=c[r>>2]|0;b=c[k>>2]|0;c[j>>2]=c[c[l>>2]>>2];bf(e,-1,Te(b,24176,j)|0,-1);if(c[(c[l>>2]|0)+12>>2]|0){c[m>>2]=Bq(c[k>>2]|0,c[(c[l>>2]|0)+12>>2]|0,0)|0;if(0==(vq(n,c[m>>2]|0)|0)?(d[(c[k>>2]|0)+64>>0]|0|0)==0:0){c[h>>2]=Nr(c[r>>2]|0)|0;xs(c[o>>2]|0,c[m>>2]|0,c[h>>2]|0,16)}wn(c[k>>2]|0,c[m>>2]|0)}ow(c[o>>2]|0,c[(c[l>>2]|0)+28>>2]|0,c[p>>2]|0)|0;if(c[h>>2]|0)Pr(c[r>>2]|0,c[h>>2]|0);mp(c[r>>2]|0,24)|0;pw(c[w>>2]|0,c[o>>2]|0);if(!(d[(c[k>>2]|0)+64>>0]|0)){b=qw(c[r>>2]|0,(c[x>>2]|0)+4|0,(c[v>>2]|0)+392|0)|0;c[c[x>>2]>>2]=b}c[(c[x>>2]|0)+8>>2]=c[(c[o>>2]|0)+72>>2];c[(c[x>>2]|0)+12>>2]=c[(c[o>>2]|0)+68>>2];c[(c[x>>2]|0)+16>>2]=c[(c[o>>2]|0)+80>>2];c[(c[x>>2]|0)+20>>2]=c[l>>2];c[(c[t>>2]|0)+16>>2]=c[(c[o>>2]|0)+428>>2];c[(c[t>>2]|0)+20>>2]=c[(c[o>>2]|0)+432>>2];qn(c[r>>2]|0)}ef(c[o>>2]|0);Xb(c[k>>2]|0,c[o>>2]|0);c[s>>2]=c[t>>2];b=c[s>>2]|0;i=q;return b|0}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function ow(b,e,f){b=b|0;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;m=i;i=i+48|0;k=m+44|0;p=m+40|0;o=m+36|0;j=m+32|0;h=m+28|0;l=m+24|0;n=m+4|0;g=m;c[k>>2]=b;c[p>>2]=e;c[o>>2]=f;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[l>>2]=c[c[k>>2]>>2];c[j>>2]=c[p>>2];while(1){if(!(c[j>>2]|0))break;if((c[o>>2]|0)==10)f=a[(c[j>>2]|0)+1>>0]|0;else f=c[o>>2]&255;a[(c[k>>2]|0)+437>>0]=f;f=d[c[j>>2]>>0]|0;if((f|0)==109){b=c[k>>2]|0;p=cx(c[k>>2]|0,c[j>>2]|0)|0;no(b,p,Bq(c[l>>2]|0,c[(c[j>>2]|0)+20>>2]|0,0)|0)}else if((f|0)==108){f=c[k>>2]|0;e=cx(c[k>>2]|0,c[j>>2]|0)|0;b=Wp(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;p=yr(c[l>>2]|0,c[(c[j>>2]|0)+28>>2]|0)|0;qo(f,e,b,p,d[(c[k>>2]|0)+437>>0]|0)}else if((f|0)==110){f=c[k>>2]|0;e=cx(c[k>>2]|0,c[j>>2]|0)|0;b=Jq(c[l>>2]|0,c[(c[j>>2]|0)+24>>2]|0,0)|0;p=Bq(c[l>>2]|0,c[(c[j>>2]|0)+20>>2]|0,0)|0;po(f,e,b,p,d[(c[k>>2]|0)+437>>0]|0)}else{c[g>>2]=Wp(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;$s(n,4,0);ao(c[k>>2]|0,c[g>>2]|0,n)|0;tn(c[l>>2]|0,c[g>>2]|0)}if((d[c[j>>2]>>0]|0|0)!=119)mp(c[h>>2]|0,98)|0;c[j>>2]=c[(c[j>>2]|0)+32>>2]}i=m;return 0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;if(!(c[(c[e>>2]|0)+64>>2]|0)){c[(c[e>>2]|0)+4>>2]=c[b+4>>2];c[(c[e>>2]|0)+64>>2]=c[(c[f>>2]|0)+64>>2];i=d;return}else{Xb(c[b>>2]|0,c[(c[f>>2]|0)+4>>2]|0);i=d;return}}function qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];rw(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function rw(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;m=i;i=i+48|0;n=m+28|0;l=m+24|0;r=m+20|0;k=m+16|0;o=m+12|0;j=m+8|0;g=m+4|0;p=m+32|0;q=m;c[n>>2]=e;c[l>>2]=f;c[k>>2]=c[c[l>>2]>>2];c[j>>2]=c[(c[n>>2]|0)+24>>2];c[g>>2]=c[(c[j>>2]|0)+112>>2];e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-257|256;e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-513;c[o>>2]=c[(c[n>>2]|0)+4>>2];c[r>>2]=(c[(c[n>>2]|0)+32>>2]|0)-1;while(1){if((c[r>>2]|0)<0)break;a[p>>0]=a[c[o>>2]>>0]|0;switch(d[p>>0]|0|0){case 6:case 8:{c[(c[o>>2]|0)+16>>2]=47;a[(c[o>>2]|0)+1>>0]=-19;break};case 2:case 3:{h=8;break};case 10:case 1:{if((d[(c[o>>2]|0)+3>>0]|0|0)>(c[k>>2]|0))c[k>>2]=d[(c[o>>2]|0)+3>>0];break};case 12:case 13:case 11:{e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-257;e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-513|512;break};case 14:{c[q>>2]=c[(c[o>>2]|0)+ -20+4>>2];if((c[q>>2]|0)>(c[k>>2]|0))c[k>>2]=c[q>>2];break};case 15:{if((c[(c[o>>2]|0)+8>>2]|0)>(c[k>>2]|0))c[k>>2]=c[(c[o>>2]|0)+8>>2];break};case 4:{if(c[(c[o>>2]|0)+8>>2]|0){h=(c[n>>2]|0)+88|0;b[h>>1]=b[h>>1]&-257;h=8}else h=8;break};case 5:case 7:case 9:{c[(c[o>>2]|0)+16>>2]=46;a[(c[o>>2]|0)+1>>0]=-19;break};default:{}}if((h|0)==8){h=0;e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-513|512}a[(c[o>>2]|0)+2>>0]=a[24192+(d[p>>0]|0)>>0]|0;if(((d[(c[o>>2]|0)+2>>0]|0)&1|0)!=0?(c[(c[o>>2]|0)+8>>2]|0)<0:0)c[(c[o>>2]|0)+8>>2]=c[(c[g>>2]|0)+(-1-(c[(c[o>>2]|0)+8>>2]|0)<<2)>>2];c[r>>2]=(c[r>>2]|0)+ -1;c[o>>2]=(c[o>>2]|0)+20}Xb(c[c[n>>2]>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0;c[(c[j>>2]|0)+108>>2]=0;c[c[l>>2]>>2]=c[k>>2];i=m;return}function sw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;l=h+8|0;k=h+4|0;m=h;c[l>>2]=f;c[k>>2]=g;b[(c[l>>2]|0)+44>>1]=0;g=(c[l>>2]|0)+72|0;a[g>>0]=d[g>>0]&-7;c[c[k>>2]>>2]=0;g=c[l>>2]|0;if((d[(c[l>>2]|0)+73>>0]|0)!=1){c[j>>2]=ax(g,c[k>>2]|0)|0;f=c[j>>2]|0;i=h;return f|0}c[m>>2]=c[(c[l>>2]|0)+120+(b[g+76>>1]<<2)>>2];g=(c[l>>2]|0)+78+(b[(c[l>>2]|0)+76>>1]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;if((f&65535|0)>=(e[(c[m>>2]|0)+18>>1]|0)){f=(c[l>>2]|0)+78+(b[(c[l>>2]|0)+76>>1]<<1)|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16;c[j>>2]=ax(c[l>>2]|0,c[k>>2]|0)|0;f=c[j>>2]|0;i=h;return f|0}if(a[(c[m>>2]|0)+5>>0]|0){c[j>>2]=0;f=c[j>>2]|0;i=h;return f|0}else{c[j>>2]=bx(c[l>>2]|0)|0;f=c[j>>2]|0;i=h;return f|0}return 0}function tw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=f;c[l>>2]=g;c[c[l>>2]>>2]=0;f=(c[k>>2]|0)+72|0;a[f>>0]=d[f>>0]&-15;b[(c[k>>2]|0)+44>>1]=0;if(((d[(c[k>>2]|0)+73>>0]|0)==1?(e[(c[k>>2]|0)+78+(b[(c[k>>2]|0)+76>>1]<<1)>>1]|0)!=0:0)?(d[(c[(c[k>>2]|0)+120+(b[(c[k>>2]|0)+76>>1]<<2)>>2]|0)+5>>0]|0)!=0:0){f=(c[k>>2]|0)+78+(b[(c[k>>2]|0)+76>>1]<<1)|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16;c[j>>2]=0;f=c[j>>2]|0;i=h;return f|0}c[j>>2]=uw(c[k>>2]|0,c[l>>2]|0)|0;f=c[j>>2]|0;i=h;return f|0}function uw(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;k=i;i=i+32|0;j=k+20|0;m=k+16|0;l=k+12|0;n=k+8|0;o=k+4|0;p=k;c[m>>2]=f;c[l>>2]=g;if((d[(c[m>>2]|0)+73>>0]|0)!=1){if((d[(c[m>>2]|0)+73>>0]|0)>=3)g=vw(c[m>>2]|0)|0;else g=0;c[n>>2]=g;if(c[n>>2]|0){c[j>>2]=c[n>>2];f=c[j>>2]|0;i=k;return f|0}if(!(d[(c[m>>2]|0)+73>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;f=c[j>>2]|0;i=k;return f|0}if((c[(c[m>>2]|0)+68>>2]|0)!=0?(a[(c[m>>2]|0)+73>>0]=1,f=(c[(c[m>>2]|0)+68>>2]|0)<0,c[(c[m>>2]|0)+68>>2]=0,f):0){c[j>>2]=0;f=c[j>>2]|0;i=k;return f|0}}c[o>>2]=c[(c[m>>2]|0)+120+(b[(c[m>>2]|0)+76>>1]<<2)>>2];do if(a[(c[o>>2]|0)+5>>0]|0){while(1){p=b[(c[m>>2]|0)+76>>1]|0;if(e[(c[m>>2]|0)+78+(b[(c[m>>2]|0)+76>>1]<<1)>>1]|0)break;g=c[m>>2]|0;if(!p){h=17;break}yw(g)}if((h|0)==17){a[g+73>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;f=c[j>>2]|0;i=k;return f|0}f=(c[m>>2]|0)+78+(p<<1)|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16;c[o>>2]=c[(c[m>>2]|0)+120+(b[(c[m>>2]|0)+76>>1]<<2)>>2];if((d[(c[o>>2]|0)+2>>0]|0)!=0?(a[(c[o>>2]|0)+5>>0]|0)==0:0){c[n>>2]=tw(c[m>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[p>>2]=e[(c[m>>2]|0)+78+(b[(c[m>>2]|0)+76>>1]<<1)>>1];f=c[m>>2]|0;c[n>>2]=ww(f,Hh((c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+(c[p>>2]<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+(c[p>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=xw(c[m>>2]|0)|0;break}c[j>>2]=c[n>>2];f=c[j>>2]|0;i=k;return f|0}while(0);c[j>>2]=c[n>>2];f=c[j>>2]|0;i=k;return f|0}function vw(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[h>>2]=b;b=c[h>>2]|0;if((d[(c[h>>2]|0)+73>>0]|0|0)==4){c[f>>2]=c[b+68>>2];b=c[f>>2]|0;i=e;return b|0}a[b+73>>0]=0;b=(c[h>>2]|0)+48|0;c[g>>2]=Dw(c[h>>2]|0,c[(c[h>>2]|0)+56>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,(c[h>>2]|0)+68|0)|0;if(((c[g>>2]|0)==0?(hc(c[(c[h>>2]|0)+56>>2]|0),c[(c[h>>2]|0)+56>>2]=0,(c[(c[h>>2]|0)+68>>2]|0)!=0):0)?(d[(c[h>>2]|0)+73>>0]|0|0)==1:0)a[(c[h>>2]|0)+73>>0]=2;c[f>>2]=c[g>>2];b=c[f>>2]|0;i=e;return b|0}function ww(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;h=i;i=i+32|0;j=h+24|0;m=h+20|0;p=h+16|0;k=h+12|0;n=h+8|0;l=h+4|0;o=h;c[m>>2]=f;c[p>>2]=g;c[n>>2]=b[(c[m>>2]|0)+76>>1];c[o>>2]=c[(c[m>>2]|0)+4>>2];if((b[(c[m>>2]|0)+76>>1]|0)>=19){c[j>>2]=kj(56561)|0;f=c[j>>2]|0;i=h;return f|0}c[k>>2]=zw(c[o>>2]|0,c[p>>2]|0,l,(d[(c[m>>2]|0)+72>>0]&1|0)==0?2:0)|0;if(c[k>>2]|0){c[j>>2]=c[k>>2];f=c[j>>2]|0;i=h;return f|0}c[(c[m>>2]|0)+120+((c[n>>2]|0)+1<<2)>>2]=c[l>>2];b[(c[m>>2]|0)+78+((c[n>>2]|0)+1<<1)>>1]=0;f=(c[m>>2]|0)+76|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[(c[m>>2]|0)+44>>1]=0;f=(c[m>>2]|0)+72|0;a[f>>0]=d[f>>0]&-7;if((e[(c[l>>2]|0)+18>>1]|0)>=1?(d[(c[l>>2]|0)+2>>0]|0)==(d[(c[(c[m>>2]|0)+120+(c[n>>2]<<2)>>2]|0)+2>>0]|0):0){c[j>>2]=0;f=c[j>>2]|0;i=h;return f|0}c[j>>2]=kj(56573)|0;f=c[j>>2]|0;i=h;return f|0}function xw(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+16|0;g=j+12|0;m=j+8|0;k=j+4|0;l=j;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;while(1){n=c[(c[g>>2]|0)+120+(b[(c[g>>2]|0)+76>>1]<<2)>>2]|0;c[l>>2]=n;f=c[l>>2]|0;if(!((a[n+5>>0]|0)!=0^1)){l=5;break}c[m>>2]=Hh((c[(c[l>>2]|0)+56>>2]|0)+((d[f+6>>0]|0)+8)|0)|0;b[(c[g>>2]|0)+78+(b[(c[g>>2]|0)+76>>1]<<1)>>1]=b[(c[l>>2]|0)+18>>1]|0;c[k>>2]=ww(c[g>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){l=4;break}}if((l|0)==4){c[h>>2]=c[k>>2];n=c[h>>2]|0;i=j;return n|0}else if((l|0)==5){b[(c[g>>2]|0)+78+(b[(c[g>>2]|0)+76>>1]<<1)>>1]=(e[f+18>>1]|0)-1;c[h>>2]=0;n=c[h>>2]|0;i=j;return n|0}return 0}function yw(e){e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;Rk(c[(c[g>>2]|0)+120+(b[(c[g>>2]|0)+76>>1]<<2)>>2]|0);e=(c[g>>2]|0)+76|0;b[e>>1]=(b[e>>1]|0)+ -1<<16>>16;b[(c[g>>2]|0)+44>>1]=0;e=(c[g>>2]|0)+72|0;a[e>>0]=d[e>>0]&-7;i=f;return}function zw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;j=g+8|0;k=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[j>>2]=e;c[k>>2]=f;a=c[l>>2]|0;if(a>>>0<=(Aw(c[m>>2]|0)|0)>>>0){c[h>>2]=Bw(c[m>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(((c[h>>2]|0)==0?(d[c[c[j>>2]>>2]>>0]|0|0)==0:0)?(c[h>>2]=Sj(c[c[j>>2]>>2]|0)|0,(c[h>>2]|0)!=0):0)Rk(c[c[j>>2]>>2]|0)}else c[h>>2]=kj(53903)|0;i=g;return c[h>>2]|0}function Aw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function Bw(a,b,d,e){a=a|0;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;k=i;i=i+32|0;g=k+24|0;f=k+20|0;l=k+16|0;j=k+12|0;n=k+8|0;h=k+4|0;m=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[n>>2]=e;c[h>>2]=Xc(c[c[f>>2]>>2]|0,c[l>>2]|0,m,c[n>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];n=c[g>>2]|0;i=k;return n|0}else{n=Cw(c[m>>2]|0,c[l>>2]|0,c[f>>2]|0)|0;c[c[j>>2]>>2]=n;c[g>>2]=0;n=c[g>>2]|0;i=k;return n|0}return 0}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+12|0;h=g+8|0;j=g+4|0;f=g;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;c[f>>2]=Qj(c[k>>2]|0)|0;b=Zc(c[k>>2]|0)|0;c[(c[f>>2]|0)+56>>2]=b;c[(c[f>>2]|0)+68>>2]=c[k>>2];c[(c[f>>2]|0)+52>>2]=c[j>>2];c[(c[f>>2]|0)+72>>2]=c[h>>2];a[(c[f>>2]|0)+6>>0]=(c[(c[f>>2]|0)+72>>2]|0)==1?100:0;i=g;return c[f>>2]|0}function Dw(a,b,d,f,g,h){a=a|0;b=b|0;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,q=0,r=0,s=0;q=i;i=i+240|0;k=q+36|0;l=q+32|0;s=q+28|0;n=q;p=q+24|0;j=q+20|0;r=q+16|0;o=q+12|0;m=q+8|0;c[l>>2]=a;c[s>>2]=b;a=n;c[a>>2]=d;c[a+4>>2]=f;c[p>>2]=g;c[j>>2]=h;c[m>>2]=0;if(c[s>>2]|0){c[o>>2]=Ew(c[(c[l>>2]|0)+16>>2]|0,q+40|0,200,m)|0;if(!(c[o>>2]|0)){c[k>>2]=7;a=c[k>>2]|0;i=q;return a|0}Fw(c[(c[l>>2]|0)+16>>2]|0,c[n>>2]|0,c[s>>2]|0,c[o>>2]|0);if(!(e[(c[o>>2]|0)+4>>1]|0)){Xb(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0,c[m>>2]|0);c[k>>2]=kj(52917)|0;a=c[k>>2]|0;i=q;return a|0}}else c[o>>2]=0;a=n;c[r>>2]=Gw(c[l>>2]|0,c[o>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0)Xb(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0,c[m>>2]|0);c[k>>2]=c[r>>2];a=c[k>>2]|0;i=q;return a|0}function Ew(a,d,f,g){a=a|0;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;n=i;i=i+32|0;j=n+28|0;l=n+24|0;p=n+20|0;q=n+16|0;m=n+12|0;k=n+8|0;o=n+4|0;h=n;c[l>>2]=a;c[p>>2]=d;c[q>>2]=f;c[m>>2]=g;c[o>>2]=8-(c[p>>2]&7)&7;c[h>>2]=24+(((e[(c[l>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[h>>2]|0)>((c[q>>2]|0)+(c[o>>2]|0)|0)){q=c[h>>2]|0;c[k>>2]=Qe(c[(c[l>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[m>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;i=n;return q|0}}else{c[k>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[c[m>>2]>>2]=0}c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+24;c[c[k>>2]>>2]=c[l>>2];b[(c[k>>2]|0)+4>>1]=(e[(c[l>>2]|0)+6>>1]|0)+1;c[j>>2]=c[k>>2];q=c[j>>2]|0;i=n;return q|0}function Fw(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,u=0,v=0;k=i;i=i+48|0;o=k+36|0;p=k+32|0;v=k+28|0;l=k+24|0;q=k+20|0;r=k+16|0;t=k+12|0;m=k+40|0;u=k+8|0;n=k+4|0;s=k;c[o>>2]=f;c[p>>2]=g;c[v>>2]=h;c[l>>2]=j;c[q>>2]=c[v>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];a[(c[l>>2]|0)+6>>0]=0;j=c[q>>2]|0;if((d[c[q>>2]>>0]|0|0)<128){c[u>>2]=d[j>>0];j=1}else j=(Rw(j,u)|0)&255;c[t>>2]=j&255;c[r>>2]=c[u>>2];b[m>>1]=0;while(1){if((c[t>>2]|0)>>>0>=(c[u>>2]|0)>>>0){n=11;break}if((c[r>>2]|0)>(c[p>>2]|0)){n=11;break}j=(c[q>>2]|0)+(c[t>>2]|0)|0;if((d[(c[q>>2]|0)+(c[t>>2]|0)>>0]|0|0)<128){c[s>>2]=d[j>>0];j=1}else j=(Rw(j,s)|0)&255;c[t>>2]=(c[t>>2]|0)+(j&255);a[(c[n>>2]|0)+10>>0]=a[(c[o>>2]|0)+4>>0]|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+12>>2];c[(c[n>>2]|0)+24>>2]=0;v=Xw((c[q>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[n>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+v;c[n>>2]=(c[n>>2]|0)+40;v=(b[m>>1]|0)+1<<16>>16;b[m>>1]=v;if((v&65535|0)>=(e[(c[l>>2]|0)+4>>1]|0|0)){n=11;break}}if((n|0)==11){b[(c[l>>2]|0)+4>>1]=b[m>>1]|0;i=k;return}}function Gw(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;z=i;i=i+96|0;w=z+80|0;D=z+76|0;B=z+72|0;s=z+8|0;F=z+68|0;o=z+64|0;p=z+60|0;n=z+56|0;v=z+52|0;m=z+48|0;u=z+44|0;y=z+40|0;x=z+36|0;t=z+32|0;q=z+28|0;r=z;A=z+24|0;C=z+20|0;E=z+16|0;c[D>>2]=f;c[B>>2]=g;f=s;c[f>>2]=h;c[f+4>>2]=j;c[F>>2]=k;c[o>>2]=l;if(((d[(c[D>>2]|0)+73>>0]|0)==1?(d[(c[D>>2]|0)+72>>0]&2|0)!=0:0)?(d[(c[(c[D>>2]|0)+120>>2]|0)+2>>0]|0)!=0:0){g=(c[D>>2]|0)+24|0;f=s;if((c[g>>2]|0)==(c[f>>2]|0)?(c[g+4>>2]|0)==(c[f+4>>2]|0):0){c[c[o>>2]>>2]=0;c[w>>2]=0;f=c[w>>2]|0;i=z;return f|0}if((d[(c[D>>2]|0)+72>>0]&8|0)!=0?(g=(c[D>>2]|0)+24|0,j=c[g+4>>2]|0,f=s,h=c[f+4>>2]|0,(j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)):0){c[c[o>>2]>>2]=-1;c[w>>2]=0;f=c[w>>2]|0;i=z;return f|0}}if(c[B>>2]|0){c[n>>2]=Hw(c[B>>2]|0)|0;a[(c[B>>2]|0)+7>>0]=0}else c[n>>2]=0;c[p>>2]=Iw(c[D>>2]|0)|0;if(c[p>>2]|0){c[w>>2]=c[p>>2];f=c[w>>2]|0;i=z;return f|0}if(!(d[(c[D>>2]|0)+73>>0]|0)){c[c[o>>2]>>2]=-1;c[w>>2]=0;f=c[w>>2]|0;i=z;return f|0}a:do{c[t>>2]=c[(c[D>>2]|0)+120+(b[(c[D>>2]|0)+76>>1]<<2)>>2];c[v>>2]=0;c[m>>2]=(e[(c[t>>2]|0)+18>>1]|0)-1;c[u>>2]=c[m>>2]>>1-(c[F>>2]|0);b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];b:do if(!(c[n>>2]|0)){while(1){c[q>>2]=(c[(c[t>>2]|0)+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]))+(d[(c[t>>2]|0)+7>>0]|0);c:do if(a[(c[t>>2]|0)+3>>0]|0)while(1){f=c[q>>2]|0;c[q>>2]=f+1;if(128>(d[f>>0]|0))break c;if((c[q>>2]|0)>>>0>=(c[(c[t>>2]|0)+60>>2]|0)>>>0){l=20;break a}}while(0);Jw(c[q>>2]|0,r)|0;g=r;j=c[g+4>>2]|0;f=s;h=c[f+4>>2]|0;if((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[m>>2]|0)){l=23;break}}else{g=r;j=c[g+4>>2]|0;f=s;h=c[f+4>>2]|0;if(!((j|0)>(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>(c[f>>2]|0)>>>0:0))){l=27;break}c[m>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[m>>2]|0)){l=26;break}}c[u>>2]=(c[v>>2]|0)+(c[m>>2]|0)>>1}if((l|0)==23){c[y>>2]=-1;l=49;break}else if((l|0)==26){c[y>>2]=1;l=49;break}else if((l|0)==27){l=0;h=(c[D>>2]|0)+72|0;a[h>>0]=d[h>>0]|2;h=r;g=c[h+4>>2]|0;f=(c[D>>2]|0)+24|0;c[f>>2]=c[h>>2];c[f+4>>2]=g;b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];if(a[(c[t>>2]|0)+5>>0]|0){l=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[q>>2]=(c[(c[t>>2]|0)+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]))+(d[(c[t>>2]|0)+7>>0]|0);c[A>>2]=d[c[q>>2]>>0];do if((c[A>>2]|0)<=(d[(c[t>>2]|0)+8>>0]|0))c[y>>2]=pb[c[n>>2]&31](c[A>>2]|0,(c[q>>2]|0)+1|0,c[B>>2]|0)|0;else{if((d[(c[q>>2]|0)+1>>0]&128|0)==0?(f=((c[A>>2]&127)<<7)+(d[(c[q>>2]|0)+1>>0]|0)|0,c[A>>2]=f,(f|0)<=(e[(c[t>>2]|0)+10>>1]|0)):0){c[y>>2]=pb[c[n>>2]&31](c[A>>2]|0,(c[q>>2]|0)+2|0,c[B>>2]|0)|0;break}c[E>>2]=(c[q>>2]|0)+(0-(d[(c[t>>2]|0)+7>>0]|0));Kw(c[t>>2]|0,c[E>>2]|0,(c[D>>2]|0)+24|0);c[A>>2]=c[(c[D>>2]|0)+24>>2];f=c[A>>2]|0;c[C>>2]=gc(f,((f|0)<0)<<31>>31)|0;if(!(c[C>>2]|0)){l=37;break a}b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];c[p>>2]=Lw(c[D>>2]|0,0,c[A>>2]|0,c[C>>2]|0,2)|0;if(c[p>>2]|0){l=39;break a}c[y>>2]=pb[c[n>>2]&31](c[A>>2]|0,c[C>>2]|0,c[B>>2]|0)|0;hc(c[C>>2]|0)}while(0);if((c[y>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[y>>2]|0)<=0){l=45;break a}c[m>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[m>>2]|0)){l=49;break b}c[u>>2]=(c[v>>2]|0)+(c[m>>2]|0)>>1}while(0);if((l|0)==49?(l=0,(a[(c[t>>2]|0)+5>>0]|0)!=0):0){l=50;break}k=c[t>>2]|0;if((c[v>>2]|0)>=(e[(c[t>>2]|0)+18>>1]|0))c[x>>2]=Hh((c[(c[t>>2]|0)+56>>2]|0)+((d[k+6>>0]|0)+8)|0)|0;else c[x>>2]=Hh((c[k+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[v>>2];c[p>>2]=ww(c[D>>2]|0,c[x>>2]|0)|0}while((c[p>>2]|0)==0);if((l|0)==20){c[w>>2]=kj(56945)|0;f=c[w>>2]|0;i=z;return f|0}else if((l|0)==29){c[c[o>>2]>>2]=0;c[p>>2]=0}else if((l|0)==37)c[p>>2]=7;else if((l|0)==39)hc(c[C>>2]|0);else if((l|0)==45){c[c[o>>2]>>2]=0;c[p>>2]=0;b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+7>>0]|0)c[p>>2]=11}else if((l|0)==50){b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];c[c[o>>2]>>2]=c[y>>2];c[p>>2]=0}b[(c[D>>2]|0)+44>>1]=0;f=(c[D>>2]|0)+72|0;a[f>>0]=d[f>>0]&-7;c[w>>2]=c[p>>2];f=c[w>>2]|0;i=z;return f|0}function Hw(b){b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;h=f+4|0;g=f;c[h>>2]=b;if(((e[(c[c[h>>2]>>2]|0)+6>>1]|0)+(e[(c[c[h>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1];b=(c[h>>2]|0)+12|0;if(a[c[(c[c[h>>2]>>2]|0)+16>>2]>>0]|0){c[b>>2]=1;c[(c[h>>2]|0)+16>>2]=-1}else{c[b>>2]=-1;c[(c[h>>2]|0)+16>>2]=1}if(c[g>>2]&4){c[d>>2]=15;b=c[d>>2]|0;i=f;return b|0}if((c[g>>2]&25|0)==0?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=16;b=c[d>>2]|0;i=f;return b|0}}c[d>>2]=17;b=c[d>>2]|0;i=f;return b|0}function Iw(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+16|0;k=j+12|0;l=j+8|0;g=j+4|0;m=j;c[k>>2]=f;c[g>>2]=0;do if((d[(c[k>>2]|0)+73>>0]|0)>=3){f=c[k>>2]|0;if((d[(c[k>>2]|0)+73>>0]|0)!=4){Qk(f);break}c[h>>2]=c[f+68>>2];f=c[h>>2]|0;i=j;return f|0}while(0);a:do if((b[(c[k>>2]|0)+76>>1]|0)>=0)while(1){if(!(b[(c[k>>2]|0)+76>>1]|0))break a;n=(c[k>>2]|0)+76|0;f=b[n>>1]|0;b[n>>1]=f+ -1<<16>>16;Rk(c[(c[k>>2]|0)+120+(f<<16>>16<<2)>>2]|0)}else{f=c[k>>2]|0;if(!(c[(c[k>>2]|0)+60>>2]|0)){a[f+73>>0]=0;c[h>>2]=0;n=c[h>>2]|0;i=j;return n|0}c[g>>2]=zw(c[(c[f>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+60>>2]|0,(c[k>>2]|0)+120|0,(d[(c[k>>2]|0)+72>>0]&1|0)==0?2:0)|0;f=c[k>>2]|0;if(!(c[g>>2]|0)){b[f+76>>1]=0;break}a[f+73>>0]=0;c[h>>2]=c[g>>2];n=c[h>>2]|0;i=j;return n|0}while(0);c[l>>2]=c[(c[k>>2]|0)+120>>2];if((d[c[l>>2]>>0]|0)!=0?((c[(c[k>>2]|0)+16>>2]|0)==0|0)==(d[(c[l>>2]|0)+2>>0]|0):0){b[(c[k>>2]|0)+78>>1]=0;b[(c[k>>2]|0)+44>>1]=0;n=(c[k>>2]|0)+72|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[l>>2]|0)+18>>1]|0)>0)a[(c[k>>2]|0)+73>>0]=1;else{if(a[(c[l>>2]|0)+5>>0]|0){a[(c[k>>2]|0)+73>>0]=0;break}if((c[(c[l>>2]|0)+72>>2]|0)==1){c[m>>2]=Hh((c[(c[l>>2]|0)+56>>2]|0)+((d[(c[l>>2]|0)+6>>0]|0)+8)|0)|0;a[(c[k>>2]|0)+73>>0]=1;c[g>>2]=ww(c[k>>2]|0,c[m>>2]|0)|0;break}c[h>>2]=kj(56709)|0;n=c[h>>2]|0;i=j;return n|0}while(0);c[h>>2]=c[g>>2];n=c[h>>2]|0;i=j;return n|0}c[h>>2]=kj(56698)|0;n=c[h>>2]|0;i=j;return n|0} - - - -function Jw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+20|0;m=k+16|0;j=k+12|0;h=k+8|0;f=k+4|0;l=k;c[m>>2]=b;c[j>>2]=e;c[h>>2]=d[c[m>>2]>>0];if(!(c[h>>2]&128)){b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=0;a[g>>0]=1;b=a[g>>0]|0;i=k;return b|0}c[m>>2]=(c[m>>2]|0)+1;c[f>>2]=d[c[m>>2]>>0];if(!(c[f>>2]&128)){c[h>>2]=c[h>>2]&127;c[h>>2]=c[h>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=0;a[g>>0]=2;b=a[g>>0]|0;i=k;return b|0}c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[h>>2]<<14;c[h>>2]=c[h>>2]|(d[c[m>>2]>>0]|0);b=(c[h>>2]&128|0)!=0;c[h>>2]=c[h>>2]&2080895;if(!b){c[f>>2]=c[f>>2]&127;c[f>>2]=c[f>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=0;a[g>>0]=3;b=a[g>>0]|0;i=k;return b|0}c[m>>2]=(c[m>>2]|0)+1;c[f>>2]=c[f>>2]<<14;c[f>>2]=c[f>>2]|(d[c[m>>2]>>0]|0);b=(c[f>>2]&128|0)!=0;c[f>>2]=c[f>>2]&2080895;e=c[h>>2]|0;if(!b){c[h>>2]=e<<7;c[h>>2]=c[h>>2]|c[f>>2];b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=0;a[g>>0]=4;b=a[g>>0]|0;i=k;return b|0}c[l>>2]=e;c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[h>>2]<<14;c[h>>2]=c[h>>2]|(d[c[m>>2]>>0]|0);if(!(c[h>>2]&128)){c[f>>2]=c[f>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=(c[l>>2]|0)>>>18;e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=5;b=a[g>>0]|0;i=k;return b|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[f>>2];c[m>>2]=(c[m>>2]|0)+1;c[f>>2]=c[f>>2]<<14;c[f>>2]=c[f>>2]|(d[c[m>>2]>>0]|0);if(!(c[f>>2]&128)){c[h>>2]=c[h>>2]&2080895;c[h>>2]=c[h>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=(c[l>>2]|0)>>>18;e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=6;b=a[g>>0]|0;i=k;return b|0}c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[h>>2]<<14;c[h>>2]=c[h>>2]|(d[c[m>>2]>>0]|0);e=c[h>>2]|0;if(!(c[h>>2]&128)){c[h>>2]=e&-266354561;c[f>>2]=c[f>>2]&2080895;c[f>>2]=c[f>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=(c[l>>2]|0)>>>11;e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=7;b=a[g>>0]|0;i=k;return b|0}c[h>>2]=e&2080895;c[m>>2]=(c[m>>2]|0)+1;c[f>>2]=c[f>>2]<<14;c[f>>2]=c[f>>2]|(d[c[m>>2]>>0]|0);if(c[f>>2]&128){c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[h>>2]<<15;c[h>>2]=c[h>>2]|(d[c[m>>2]>>0]|0);c[f>>2]=c[f>>2]&2080895;c[f>>2]=c[f>>2]<<8;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=c[l>>2]<<4;c[f>>2]=d[(c[m>>2]|0)+ -4>>0];c[f>>2]=c[f>>2]&127;c[f>>2]=(c[f>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[f>>2];e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=9;b=a[g>>0]|0;i=k;return b|0}else{c[f>>2]=c[f>>2]&-266354561;c[h>>2]=c[h>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=(c[l>>2]|0)>>>4;e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=8;b=a[g>>0]|0;i=k;return b|0}return 0}function Kw(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;l=i;i=i+32|0;o=l+28|0;n=l+24|0;k=l+20|0;m=l+16|0;r=l+12|0;p=l+8|0;q=l+4|0;j=l;c[o>>2]=f;c[n>>2]=g;c[k>>2]=h;if(a[(c[o>>2]|0)+3>>0]|0){h=c[n>>2]|0;g=c[n>>2]|0;if((d[c[n>>2]>>0]|0)<128){c[r>>2]=d[g>>0];g=1}else g=(Rw(g,r)|0)&255;c[m>>2]=h+(g&255);f=(Jw(c[m>>2]|0,c[k>>2]|0)|0)&255;c[m>>2]=(c[m>>2]|0)+f}else{h=c[n>>2]|0;if(a[(c[o>>2]|0)+4>>0]|0){f=4+((Jw(h+4|0,c[k>>2]|0)|0)&255)&65535;b[(c[k>>2]|0)+20>>1]=f;c[(c[k>>2]|0)+12>>2]=0;b[(c[k>>2]|0)+16>>1]=0;b[(c[k>>2]|0)+18>>1]=0;c[(c[k>>2]|0)+8>>2]=0;i=l;return}c[m>>2]=h+(d[(c[o>>2]|0)+7>>0]|0);h=c[m>>2]|0;if((d[c[m>>2]>>0]|0)<128){c[r>>2]=d[h>>0];h=1}else h=(Rw(h,r)|0)&255;c[m>>2]=(c[m>>2]|0)+(h&255);f=c[k>>2]|0;c[f>>2]=c[r>>2];c[f+4>>2]=0}c[(c[k>>2]|0)+12>>2]=c[r>>2];c[(c[k>>2]|0)+8>>2]=c[m>>2];if((c[r>>2]|0)>>>0<=(e[(c[o>>2]|0)+10>>1]|0)>>>0){b[(c[k>>2]|0)+20>>1]=(c[r>>2]|0)+((c[m>>2]|0)-(c[n>>2]|0)&65535);if((e[(c[k>>2]|0)+20>>1]|0)<4)b[(c[k>>2]|0)+20>>1]=4;b[(c[k>>2]|0)+16>>1]=c[r>>2];b[(c[k>>2]|0)+18>>1]=0;i=l;return}c[p>>2]=e[(c[o>>2]|0)+12>>1];c[q>>2]=e[(c[o>>2]|0)+10>>1];c[j>>2]=(c[p>>2]|0)+((((c[r>>2]|0)-(c[p>>2]|0)|0)>>>0)%(((c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[j>>2]|0)<=(c[q>>2]|0))b[(c[k>>2]|0)+16>>1]=c[j>>2];else b[(c[k>>2]|0)+16>>1]=c[p>>2];b[(c[k>>2]|0)+18>>1]=(c[(c[k>>2]|0)+8>>2]|0)+(e[(c[k>>2]|0)+16>>1]|0)-(c[n>>2]|0);b[(c[k>>2]|0)+20>>1]=(e[(c[k>>2]|0)+18>>1]|0)+4;i=l;return}function Lw(f,g,h,j,k){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;m=i;i=i+80|0;w=m+72|0;t=m+68|0;q=m+64|0;o=m+60|0;A=m+56|0;z=m+52|0;y=m+48|0;n=m+44|0;s=m+40|0;C=m+36|0;x=m+32|0;E=m+28|0;B=m+24|0;r=m+20|0;p=m+16|0;u=m+12|0;v=m+8|0;l=m+4|0;D=m;c[t>>2]=f;c[q>>2]=g;c[o>>2]=h;c[A>>2]=j;c[z>>2]=k;c[n>>2]=0;c[s>>2]=0;c[C>>2]=c[(c[t>>2]|0)+120+(b[(c[t>>2]|0)+76>>1]<<2)>>2];c[x>>2]=c[(c[t>>2]|0)+4>>2];if(!(e[(c[t>>2]|0)+44>>1]|0)){c[E>>2]=b[(c[t>>2]|0)+76>>1];Mw(c[(c[t>>2]|0)+120+(c[E>>2]<<2)>>2]|0,e[(c[t>>2]|0)+78+(c[E>>2]<<1)>>1]|0,(c[t>>2]|0)+24|0);f=(c[t>>2]|0)+72|0;a[f>>0]=d[f>>0]|2}c[y>>2]=c[(c[t>>2]|0)+32>>2];if(((c[y>>2]|0)+(e[(c[t>>2]|0)+40>>1]|0)|0)>>>0>((c[(c[C>>2]|0)+56>>2]|0)+(c[(c[x>>2]|0)+36>>2]|0)|0)>>>0){c[w>>2]=kj(56278)|0;f=c[w>>2]|0;i=m;return f|0}if((c[q>>2]|0)>>>0<(e[(c[t>>2]|0)+40>>1]|0)>>>0){c[B>>2]=c[o>>2];if(((c[B>>2]|0)+(c[q>>2]|0)|0)>>>0>(e[(c[t>>2]|0)+40>>1]|0)>>>0)c[B>>2]=(e[(c[t>>2]|0)+40>>1]|0)-(c[q>>2]|0);c[n>>2]=Nw((c[y>>2]|0)+(c[q>>2]|0)|0,c[A>>2]|0,c[B>>2]|0,c[z>>2]&1,c[(c[C>>2]|0)+68>>2]|0)|0;c[q>>2]=0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[B>>2]|0)}else c[q>>2]=(c[q>>2]|0)-(e[(c[t>>2]|0)+40>>1]|0);a:do if((c[n>>2]|0)==0&(c[o>>2]|0)>>>0>0){c[r>>2]=(c[(c[x>>2]|0)+36>>2]|0)-4;c[p>>2]=Hh((c[y>>2]|0)+(e[(c[t>>2]|0)+40>>1]|0)|0)|0;if((c[z>>2]|0)!=2?(d[(c[t>>2]|0)+72>>0]&4|0)==0:0){c[u>>2]=(((c[(c[t>>2]|0)+36>>2]|0)-(e[(c[t>>2]|0)+40>>1]|0)+(c[r>>2]|0)-1|0)>>>0)/((c[r>>2]|0)>>>0)|0;do if((c[u>>2]|0)>(c[(c[t>>2]|0)+64>>2]|0)){c[v>>2]=Fk(c[c[c[t>>2]>>2]>>2]|0,c[(c[t>>2]|0)+20>>2]|0,c[u>>2]<<1<<2,0)|0;if(!(c[v>>2]|0)){c[n>>2]=7;break}else{c[(c[t>>2]|0)+64>>2]=c[u>>2]<<1;c[(c[t>>2]|0)+20>>2]=c[v>>2];break}}while(0);if(!(c[n>>2]|0)){_E(c[(c[t>>2]|0)+20>>2]|0,0,c[u>>2]<<2|0)|0;f=(c[t>>2]|0)+72|0;a[f>>0]=d[f>>0]|4}}if((d[(c[t>>2]|0)+72>>0]&4|0)!=0?(c[(c[(c[t>>2]|0)+20>>2]|0)+((((c[q>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[s>>2]=((c[q>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;c[p>>2]=c[(c[(c[t>>2]|0)+20>>2]|0)+(c[s>>2]<<2)>>2];c[q>>2]=((c[q>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0}while(1){if(!((c[n>>2]|0)==0&(c[o>>2]|0)>>>0>0&(c[p>>2]|0)!=0))break a;if(d[(c[t>>2]|0)+72>>0]&4)c[(c[(c[t>>2]|0)+20>>2]|0)+(c[s>>2]<<2)>>2]=c[p>>2];if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0){if(c[(c[(c[t>>2]|0)+20>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0)c[p>>2]=c[(c[(c[t>>2]|0)+20>>2]|0)+((c[s>>2]|0)+1<<2)>>2];else c[n>>2]=Ow(c[x>>2]|0,c[p>>2]|0,0,p)|0;c[q>>2]=(c[q>>2]|0)-(c[r>>2]|0)}else{c[l>>2]=c[o>>2];if(((c[l>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[r>>2]|0)>>>0)c[l>>2]=(c[r>>2]|0)-(c[q>>2]|0);c[n>>2]=Xc(c[c[x>>2]>>2]|0,c[p>>2]|0,D,(c[z>>2]&1|0)==0?2:0)|0;if(!(c[n>>2]|0)){c[y>>2]=Zc(c[D>>2]|0)|0;c[p>>2]=Hh(c[y>>2]|0)|0;c[n>>2]=Nw((c[y>>2]|0)+((c[q>>2]|0)+4)|0,c[A>>2]|0,c[l>>2]|0,c[z>>2]&1,c[D>>2]|0)|0;_c(c[D>>2]|0);c[q>>2]=0}c[o>>2]=(c[o>>2]|0)-(c[l>>2]|0);c[A>>2]=(c[A>>2]|0)+(c[l>>2]|0)}c[s>>2]=(c[s>>2]|0)+1}}while(0);if((c[n>>2]|0)==0&(c[o>>2]|0)>>>0>0){c[w>>2]=kj(56431)|0;f=c[w>>2]|0;i=m;return f|0}else{c[w>>2]=c[n>>2];f=c[w>>2]|0;i=m;return f|0}return 0}function Mw(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Kw(c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function Nw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;h=m+24|0;l=m+20|0;k=m+16|0;j=m+12|0;o=m+8|0;n=m+4|0;g=m;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[o>>2]=e;c[n>>2]=f;do if(c[o>>2]|0){c[g>>2]=gd(c[n>>2]|0)|0;if(!(c[g>>2]|0)){dF(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;break}c[h>>2]=c[g>>2];o=c[h>>2]|0;i=m;return o|0}else dF(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;while(0);c[h>>2]=0;o=c[h>>2]|0;i=m;return o|0}function Ow(b,e,f,g){b=b|0;e=e|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;h=i;i=i+48|0;o=h+32|0;p=h+28|0;k=h+24|0;m=h+20|0;q=h+16|0;l=h+12|0;j=h+8|0;r=h+4|0;n=h;s=h+36|0;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[m>>2]=g;c[q>>2]=0;c[l>>2]=0;c[j>>2]=0;if(a[(c[o>>2]|0)+17>>0]|0){c[n>>2]=(c[p>>2]|0)+1;while(1){b=Pw(c[o>>2]|0,c[n>>2]|0)|0;if((b|0)==(c[n>>2]|0))f=1;else f=(c[n>>2]|0)==((((c[282]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0);g=c[n>>2]|0;if(!f)break;c[n>>2]=g+1}if(((g>>>0<=(Aw(c[o>>2]|0)|0)>>>0?(c[j>>2]=Qw(c[o>>2]|0,c[n>>2]|0,s,r)|0,(c[j>>2]|0)==0):0)?(d[s>>0]|0)==4:0)?(c[r>>2]|0)==(c[p>>2]|0):0){c[q>>2]=c[n>>2];c[j>>2]=101}}if((c[j>>2]|0)==0?(c[j>>2]=Bw(c[o>>2]|0,c[p>>2]|0,l,(c[k>>2]|0)==0?2:0)|0,(c[j>>2]|0)==0):0)c[q>>2]=Hh(c[(c[l>>2]|0)+56>>2]|0)|0;c[c[m>>2]>>2]=c[q>>2];l=c[l>>2]|0;if(c[k>>2]|0){c[c[k>>2]>>2]=l;e=c[j>>2]|0;e=(e|0)==101;b=c[j>>2]|0;b=e?0:b;i=h;return b|0}else{Rk(l);e=c[j>>2]|0;e=(e|0)==101;b=c[j>>2]|0;b=e?0:b;i=h;return b|0}return 0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+20|0;g=d+16|0;j=d+12|0;h=d+8|0;k=d+4|0;f=d;c[g>>2]=a;c[j>>2]=b;if((c[j>>2]|0)>>>0<2){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=(((c[(c[g>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[k>>2]=(((c[j>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[f>>2]=($(c[k>>2]|0,c[h>>2]|0)|0)+2;if((c[f>>2]|0)==((((c[282]|0)>>>0)/((c[(c[g>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[f>>2]=(c[f>>2]|0)+1;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}function Qw(b,e,f,g){b=b|0;e=e|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;o=i;i=i+48|0;j=o+36|0;s=o+32|0;q=o+28|0;h=o+24|0;p=o+20|0;l=o+16|0;r=o+12|0;m=o+8|0;n=o+4|0;k=o;c[s>>2]=b;c[q>>2]=e;c[h>>2]=f;c[p>>2]=g;c[r>>2]=Pw(c[s>>2]|0,c[q>>2]|0)|0;c[k>>2]=Xc(c[c[s>>2]>>2]|0,c[r>>2]|0,l,0)|0;if(c[k>>2]|0){c[j>>2]=c[k>>2];s=c[j>>2]|0;i=o;return s|0}c[m>>2]=Zc(c[l>>2]|0)|0;c[n>>2]=((c[q>>2]|0)-(c[r>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){_c(c[l>>2]|0);c[j>>2]=kj(53113)|0;s=c[j>>2]|0;i=o;return s|0}a[c[h>>2]>>0]=a[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[p>>2]|0){s=Hh((c[m>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[p>>2]>>2]=s}_c(c[l>>2]|0);if((d[c[h>>2]>>0]|0|0)>=1?(d[c[h>>2]>>0]|0|0)<=5:0){c[j>>2]=0;s=c[j>>2]|0;i=o;return s|0}c[j>>2]=kj(53121)|0;s=c[j>>2]|0;i=o;return s|0}function Rw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+25|0;l=f+20|0;h=f+16|0;k=f+12|0;j=f+8|0;m=f;n=f+24|0;c[l>>2]=b;c[h>>2]=e;c[k>>2]=d[c[l>>2]>>0];c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=d[c[l>>2]>>0];if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[k>>2]|c[j>>2];a[g>>0]=2;b=a[g>>0]|0;i=f;return b|0}c[l>>2]=(c[l>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[l>>2]>>0]|0);if(!(c[k>>2]&128)){c[k>>2]=c[k>>2]&2080895;c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[k>>2]|c[j>>2];a[g>>0]=3;b=a[g>>0]|0;i=f;return b|0}c[l>>2]=(c[l>>2]|0)+ -2;a[n>>0]=Jw(c[l>>2]|0,m)|0;b=m;if(0!=(c[b+4>>2]|0)?1:(c[m>>2]|0)!=(c[b>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[g>>0]=a[n>>0]|0;b=a[g>>0]|0;i=f;return b|0}function Sw(b,f,g){b=b|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;j=i;i=i+64|0;h=j+52|0;k=j+48|0;l=j+44|0;m=j+40|0;q=j+36|0;t=j+32|0;n=j+28|0;r=j+24|0;s=j+16|0;o=j+8|0;p=j;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[q>>2]=(c[l>>2]|0)+(d[c[l>>2]>>0]&63);c[t>>2]=d[(c[l>>2]|0)+1>>0];g=c[(c[m>>2]|0)+8>>2]|0;f=c[g+4>>2]|0;b=o;c[b>>2]=c[g>>2];c[b+4>>2]=f;do switch(c[t>>2]|0){case 5:{b=a[c[q>>2]>>0]<<8|d[(c[q>>2]|0)+1>>0];t=p;c[t>>2]=bF(d[(c[q>>2]|0)+2>>0]<<24|d[(c[q>>2]|0)+3>>0]<<16|d[(c[q>>2]|0)+4>>0]<<8|d[(c[q>>2]|0)+5>>0]|0,0,lF(0,1,b|0,((b|0)<0)<<31>>31|0)|0,D|0)|0;c[t+4>>2]=D;break};case 3:{b=a[c[q>>2]>>0]<<16|d[(c[q>>2]|0)+1>>0]<<8|d[(c[q>>2]|0)+2>>0];t=p;c[t>>2]=b;c[t+4>>2]=((b|0)<0)<<31>>31;break};case 2:{b=a[c[q>>2]>>0]<<8|d[(c[q>>2]|0)+1>>0];t=p;c[t>>2]=b;c[t+4>>2]=((b|0)<0)<<31>>31;break};case 7:case 0:{c[h>>2]=Uw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;t=c[h>>2]|0;i=j;return t|0};case 4:{c[r>>2]=d[c[q>>2]>>0]<<24|d[(c[q>>2]|0)+1>>0]<<16|d[(c[q>>2]|0)+2>>0]<<8|d[(c[q>>2]|0)+3>>0];b=c[r>>2]|0;t=p;c[t>>2]=b;c[t+4>>2]=((b|0)<0)<<31>>31;break};case 6:{b=s;c[b>>2]=d[c[q>>2]>>0]<<24|d[(c[q>>2]|0)+1>>0]<<16|d[(c[q>>2]|0)+2>>0]<<8|d[(c[q>>2]|0)+3>>0];c[b+4>>2]=0;b=c[s>>2]|0;f=s;c[f>>2]=d[(c[q>>2]|0)+4>>0]<<24|d[(c[q>>2]|0)+5>>0]<<16|d[(c[q>>2]|0)+6>>0]<<8|d[(c[q>>2]|0)+7>>0];c[f+4>>2]=b;f=s;b=c[f+4>>2]|0;t=p;c[t>>2]=c[f>>2];c[t+4>>2]=b;break};case 9:{t=p;c[t>>2]=1;c[t+4>>2]=0;break};case 8:{t=p;c[t>>2]=0;c[t+4>>2]=0;break};case 1:{b=a[c[q>>2]>>0]|0;t=p;c[t>>2]=b;c[t+4>>2]=((b|0)<0)<<31>>31;break};default:{c[h>>2]=Uw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;t=c[h>>2]|0;i=j;return t|0}}while(0);b=o;s=c[b+4>>2]|0;t=p;f=c[t+4>>2]|0;do if(!((s|0)>(f|0)|((s|0)==(f|0)?(c[b>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){b=o;s=c[b+4>>2]|0;t=p;f=c[t+4>>2]|0;o=c[m>>2]|0;if((s|0)<(f|0)|((s|0)==(f|0)?(c[b>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[n>>2]=c[o+16>>2];break}if((e[o+4>>1]|0)>1){c[n>>2]=Vw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,1)|0;break}else{c[n>>2]=a[(c[m>>2]|0)+6>>0];break}}else c[n>>2]=c[(c[m>>2]|0)+12>>2];while(0);c[h>>2]=c[n>>2];t=c[h>>2]|0;i=j;return t|0}function Tw(b,f,g){b=b|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;h=i;i=i+48|0;j=h+36|0;m=h+32|0;l=h+28|0;q=h+24|0;n=h+20|0;s=h+16|0;k=h+12|0;p=h+8|0;o=h+4|0;r=h;c[m>>2]=b;c[l>>2]=f;c[q>>2]=g;c[n>>2]=c[l>>2];g=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[s>>2]=d[g>>0];else Rw(g,s)|0;do if((c[s>>2]|0)>=12){if(!(c[s>>2]&1)){c[k>>2]=c[(c[q>>2]|0)+16>>2];break}c[r>>2]=d[c[n>>2]>>0];c[o>>2]=((c[s>>2]|0)-12|0)/2|0;if(((c[r>>2]|0)+(c[o>>2]|0)|0)>(c[m>>2]|0)){b=(kj(67026)|0)&255;a[(c[q>>2]|0)+7>>0]=b;c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}if((c[(c[(c[q>>2]|0)+8>>2]|0)+12>>2]|0)<(c[o>>2]|0))s=c[(c[(c[q>>2]|0)+8>>2]|0)+12>>2]|0;else s=c[o>>2]|0;c[p>>2]=s;c[k>>2]=TE((c[n>>2]|0)+(c[r>>2]|0)|0,c[(c[(c[q>>2]|0)+8>>2]|0)+16>>2]|0,c[p>>2]|0)|0;if(c[k>>2]|0){l=c[q>>2]|0;if((c[k>>2]|0)>0){c[k>>2]=c[l+16>>2];break}else{c[k>>2]=c[l+12>>2];break}}c[k>>2]=(c[o>>2]|0)-(c[(c[(c[q>>2]|0)+8>>2]|0)+12>>2]|0);if(!(c[k>>2]|0))if((e[(c[q>>2]|0)+4>>1]|0)>1){c[k>>2]=Vw(c[m>>2]|0,c[l>>2]|0,c[q>>2]|0,1)|0;break}else{c[k>>2]=a[(c[q>>2]|0)+6>>0];break}else{l=c[q>>2]|0;if((c[k>>2]|0)>0){c[k>>2]=c[l+16>>2];break}else{c[k>>2]=c[l+12>>2];break}}}else c[k>>2]=c[(c[q>>2]|0)+12>>2];while(0);c[j>>2]=c[k>>2];b=c[j>>2]|0;i=h;return b|0}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Vw(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return a|0}function Vw(f,g,j,k){f=f|0;g=g|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,E=0,F=0,G=0,H=0,I=0,J=0,K=0;p=i;i=i+160|0;o=p+148|0;A=p+144|0;K=p+140|0;l=p+136|0;J=p+132|0;q=p+128|0;E=p+124|0;B=p+120|0;v=p+116|0;m=p+112|0;C=p+108|0;n=p+104|0;H=p+100|0;s=p+40|0;I=p+96|0;r=p+92|0;G=p+32|0;t=p+24|0;u=p+16|0;x=p+8|0;w=p;F=p+88|0;z=p+84|0;y=p+80|0;c[A>>2]=f;c[K>>2]=g;c[l>>2]=j;c[J>>2]=k;c[m>>2]=0;c[C>>2]=c[(c[l>>2]|0)+8>>2];c[n>>2]=c[c[l>>2]>>2];c[H>>2]=c[K>>2];k=c[H>>2]|0;do if(c[J>>2]|0){j=(c[H>>2]|0)+1|0;if((d[k+1>>0]|0)<128){c[I>>2]=d[j>>0];k=1}else k=(Rw(j,I)|0)&255;c[v>>2]=1+(k&255);c[B>>2]=d[c[H>>2]>>0];K=c[B>>2]|0;c[q>>2]=K+(Ww(c[I>>2]|0)|0);c[E>>2]=1;c[C>>2]=(c[C>>2]|0)+40}else{I=c[H>>2]|0;if((d[k>>0]|0)<128){c[B>>2]=d[I>>0];I=1}else I=(Rw(I,B)|0)&255;c[v>>2]=I&255;c[q>>2]=c[B>>2];if((c[q>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[E>>2]=0;break}K=(kj(66745)|0)&255;a[(c[l>>2]|0)+7>>0]=K;c[o>>2]=0;K=c[o>>2]|0;i=p;return K|0}while(0);a:while(1){do if(e[(c[C>>2]|0)+8>>1]&4){c[r>>2]=d[(c[H>>2]|0)+(c[v>>2]|0)>>0];if((c[r>>2]|0)>>>0>=12){c[m>>2]=1;break}if(!(c[r>>2]|0)){c[m>>2]=-1;break}if((c[r>>2]|0)==7){K=c[C>>2]|0;h[G>>3]=+((c[K>>2]|0)>>>0)+4294967296.0*+(c[K+4>>2]|0);Xw((c[H>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0,s)|0;if(+h[s>>3]<+h[G>>3]){c[m>>2]=-1;break}if(!(+h[s>>3]>+h[G>>3]))break;c[m>>2]=1;break}else{g=Yw(c[r>>2]|0,(c[H>>2]|0)+(c[q>>2]|0)|0)|0;K=t;c[K>>2]=g;c[K+4>>2]=D;K=c[C>>2]|0;g=c[K+4>>2]|0;J=u;c[J>>2]=c[K>>2];c[J+4>>2]=g;J=t;g=c[J+4>>2]|0;K=u;f=c[K+4>>2]|0;if((g|0)<(f|0)|((g|0)==(f|0)?(c[J>>2]|0)>>>0<(c[K>>2]|0)>>>0:0)){c[m>>2]=-1;break}J=t;g=c[J+4>>2]|0;K=u;f=c[K+4>>2]|0;if(!((g|0)>(f|0)|((g|0)==(f|0)?(c[J>>2]|0)>>>0>(c[K>>2]|0)>>>0:0)))break;c[m>>2]=1;break}}else{if(e[(c[C>>2]|0)+8>>1]&8){c[r>>2]=d[(c[H>>2]|0)+(c[v>>2]|0)>>0];if((c[r>>2]|0)>>>0>=12){c[m>>2]=1;break}if(!(c[r>>2]|0)){c[m>>2]=-1;break}h[x>>3]=+h[c[C>>2]>>3];Xw((c[H>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0,s)|0;if((c[r>>2]|0)==7)h[w>>3]=+h[s>>3];else{K=s;h[w>>3]=+((c[K>>2]|0)>>>0)+4294967296.0*+(c[K+4>>2]|0)}if(+h[w>>3]<+h[x>>3]){c[m>>2]=-1;break}if(!(+h[w>>3]>+h[x>>3]))break;c[m>>2]=1;break}if(!(e[(c[C>>2]|0)+8>>1]&2)){k=d[(c[H>>2]|0)+(c[v>>2]|0)>>0]|0;if(!(e[(c[C>>2]|0)+8>>1]&16)){c[r>>2]=k;c[m>>2]=(c[r>>2]|0)!=0&1;break}I=(c[H>>2]|0)+(c[v>>2]|0)|0;if((k|0)<128)c[r>>2]=d[I>>0];else Rw(I,r)|0;if((c[r>>2]|0)>>>0>=12?(c[r>>2]&1|0)==0:0){c[z>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[q>>2]|0)+(c[z>>2]|0)|0)>>>0>(c[A>>2]|0)>>>0){q=63;break a}if((c[z>>2]|0)<(c[(c[C>>2]|0)+12>>2]|0))I=c[z>>2]|0;else I=c[(c[C>>2]|0)+12>>2]|0;c[y>>2]=I;c[m>>2]=TE((c[H>>2]|0)+(c[q>>2]|0)|0,c[(c[C>>2]|0)+16>>2]|0,c[y>>2]|0)|0;if(c[m>>2]|0)break;c[m>>2]=(c[z>>2]|0)-(c[(c[C>>2]|0)+12>>2]|0);break}c[m>>2]=-1;break}I=(c[H>>2]|0)+(c[v>>2]|0)|0;if((d[(c[H>>2]|0)+(c[v>>2]|0)>>0]|0)<128)c[r>>2]=d[I>>0];else Rw(I,r)|0;if((c[r>>2]|0)>>>0<12){c[m>>2]=-1;break}if(!(c[r>>2]&1)){c[m>>2]=1;break}c[s+12>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[q>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[A>>2]|0)>>>0){q=47;break a}if(c[(c[n>>2]|0)+20+(c[E>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[n>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[n>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[H>>2]|0)+(c[q>>2]|0);c[m>>2]=cn(s,c[C>>2]|0,c[(c[n>>2]|0)+20+(c[E>>2]<<2)>>2]|0,(c[l>>2]|0)+7|0)|0;break}if((c[s+12>>2]|0)<(c[(c[C>>2]|0)+12>>2]|0))I=c[s+12>>2]|0;else I=c[(c[C>>2]|0)+12>>2]|0;c[F>>2]=I;c[m>>2]=TE((c[H>>2]|0)+(c[q>>2]|0)|0,c[(c[C>>2]|0)+16>>2]|0,c[F>>2]|0)|0;if(!(c[m>>2]|0))c[m>>2]=(c[s+12>>2]|0)-(c[(c[C>>2]|0)+12>>2]|0)}while(0);I=c[E>>2]|0;if(c[m>>2]|0){q=71;break}c[E>>2]=I+1;c[C>>2]=(c[C>>2]|0)+40;K=Ww(c[r>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+K;K=Zw(c[r>>2]|0,0)|0;c[v>>2]=(c[v>>2]|0)+K;if((c[v>>2]|0)>>>0>=(c[B>>2]|0)>>>0){q=77;break}if((c[E>>2]|0)>=(e[(c[l>>2]|0)+4>>1]|0)){q=77;break}if((c[q>>2]|0)>>>0>(c[A>>2]|0)>>>0){q=77;break}}if((q|0)==47){K=(kj(66824)|0)&255;a[(c[l>>2]|0)+7>>0]=K;c[o>>2]=0;K=c[o>>2]|0;i=p;return K|0}else if((q|0)==63){K=(kj(66853)|0)&255;a[(c[l>>2]|0)+7>>0]=K;c[o>>2]=0;K=c[o>>2]|0;i=p;return K|0}else if((q|0)==71){if(a[(c[(c[n>>2]|0)+16>>2]|0)+I>>0]|0)c[m>>2]=0-(c[m>>2]|0);c[o>>2]=c[m>>2];K=c[o>>2]|0;i=p;return K|0}else if((q|0)==77){c[o>>2]=a[(c[l>>2]|0)+6>>0];K=c[o>>2]|0;i=p;return K|0}return 0}function Ww(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=12){c[e>>2]=((a-12|0)>>>0)/2|0;f=c[e>>2]|0;i=b;return f|0}else{c[e>>2]=d[24360+a>>0];f=c[e>>2]|0;i=b;return f|0}return 0}function Xw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;l=h+8|0;m=h+4|0;k=h;c[l>>2]=e;c[m>>2]=f;c[k>>2]=g;switch(c[m>>2]|0){case 4:{f=a[c[l>>2]>>0]<<24|d[(c[l>>2]|0)+1>>0]<<16|d[(c[l>>2]|0)+2>>0]<<8|d[(c[l>>2]|0)+3>>0];e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=4;e=c[j>>2]|0;i=h;return e|0};case 2:{f=a[c[l>>2]>>0]<<8|d[(c[l>>2]|0)+1>>0];e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=2;e=c[j>>2]|0;i=h;return e|0};case 9:case 8:{e=c[k>>2]|0;c[e>>2]=(c[m>>2]|0)-8;c[e+4>>2]=0;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=0;e=c[j>>2]|0;i=h;return e|0};case 3:{f=a[c[l>>2]>>0]<<16|d[(c[l>>2]|0)+1>>0]<<8|d[(c[l>>2]|0)+2>>0];e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=3;e=c[j>>2]|0;i=h;return e|0};case 1:{f=a[c[l>>2]>>0]|0;e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=1;e=c[j>>2]|0;i=h;return e|0};case 5:{e=d[(c[l>>2]|0)+2>>0]<<24|d[(c[l>>2]|0)+3>>0]<<16|d[(c[l>>2]|0)+4>>0]<<8|d[(c[l>>2]|0)+5>>0];f=a[c[l>>2]>>0]<<8|d[(c[l>>2]|0)+1>>0];f=bF(e|0,0,lF(0,1,f|0,((f|0)<0)<<31>>31|0)|0,D|0)|0;e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=D;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=6;e=c[j>>2]|0;i=h;return e|0};case 7:case 6:{c[j>>2]=_w(c[l>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;e=c[j>>2]|0;i=h;return e|0};case 0:case 11:case 10:{b[(c[k>>2]|0)+8>>1]=1;c[j>>2]=0;e=c[j>>2]|0;i=h;return e|0};default:{c[(c[k>>2]|0)+16>>2]=c[l>>2];c[(c[k>>2]|0)+12>>2]=(((c[m>>2]|0)-12|0)>>>0)/2|0;b[(c[k>>2]|0)+8>>1]=b[24352+((c[m>>2]&1)<<1)>>1]|0;c[j>>2]=c[(c[k>>2]|0)+12>>2];e=c[j>>2]|0;i=h;return e|0}}return 0}function Yw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;f=g+8|0;l=g+24|0;h=g+20|0;j=g+16|0;k=g;c[l>>2]=b;c[h>>2]=e;switch(c[l>>2]|0){case 5:{k=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+3>>0]<<16|d[(c[h>>2]|0)+4>>0]<<8|d[(c[h>>2]|0)+5>>0];l=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];b=f;c[b>>2]=bF(k|0,0,lF(0,1,l|0,((l|0)<0)<<31>>31|0)|0,D|0)|0;c[b+4>>2]=D;break};case 4:{c[j>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];l=c[j>>2]|0;b=f;c[b>>2]=l;c[b+4>>2]=((l|0)<0)<<31>>31;break};case 6:{b=k;c[b>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[b+4>>2]=0;b=c[k>>2]|0;l=k;c[l>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+5>>0]<<16|d[(c[h>>2]|0)+6>>0]<<8|d[(c[h>>2]|0)+7>>0];c[l+4>>2]=b;l=c[k+4>>2]|0;b=f;c[b>>2]=c[k>>2];c[b+4>>2]=l;break};case 2:{l=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];b=f;c[b>>2]=l;c[b+4>>2]=((l|0)<0)<<31>>31;break};case 3:{l=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];b=f;c[b>>2]=l;c[b+4>>2]=((l|0)<0)<<31>>31;break};case 1:case 0:{l=a[c[h>>2]>>0]|0;b=f;c[b>>2]=l;c[b+4>>2]=((l|0)<0)<<31>>31;break};default:{b=f;c[b>>2]=(c[l>>2]|0)-8;c[b+4>>2]=0}}b=f;D=c[b+4>>2]|0;i=g;return c[b>>2]|0}function Zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d;e=d+8|0;g=f;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;a=f;a=cF(c[a>>2]|0,c[a+4>>2]|0,7)|0;g=f;c[g>>2]=a;c[g+4>>2]=D;g=f}while(((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0)&(c[e>>2]|0)<9);i=d;return c[e>>2]|0}function _w(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;n=g+20|0;l=g+16|0;j=g+12|0;k=g;m=g+8|0;c[n>>2]=a;c[l>>2]=e;c[j>>2]=f;e=k;c[e>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[e+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+5>>0]|0)<<16|(d[(c[n>>2]|0)+6>>0]|0)<<8|(d[(c[n>>2]|0)+7>>0]|0);e=bF(0,c[k>>2]|0,c[m>>2]|0,0)|0;a=k;c[a>>2]=e;c[a+4>>2]=D;if((c[l>>2]|0)==6){l=k;m=c[l+4>>2]|0;n=c[j>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[j>>2]|0)+8>>1]=4;i=g;return 8}else{n=c[j>>2]|0;c[n+0>>2]=c[k+0>>2];c[n+4>>2]=c[k+4>>2];n=($w(+h[c[j>>2]>>3])|0)!=0;b[(c[j>>2]|0)+8>>1]=n?1:8;i=g;return 8}return 0}function $w(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function ax(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;l=i;i=i+32|0;k=l+20|0;n=l+16|0;m=l+12|0;o=l+8|0;p=l+4|0;h=l;c[n>>2]=f;c[m>>2]=g;if((d[(c[n>>2]|0)+73>>0]|0)!=1){if((d[(c[n>>2]|0)+73>>0]|0)>=3)g=vw(c[n>>2]|0)|0;else g=0;c[o>>2]=g;if(c[o>>2]|0){c[k>>2]=c[o>>2];f=c[k>>2]|0;i=l;return f|0}if(!(d[(c[n>>2]|0)+73>>0]|0)){c[c[m>>2]>>2]=1;c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}if((c[(c[n>>2]|0)+68>>2]|0)!=0?(a[(c[n>>2]|0)+73>>0]=1,f=(c[(c[n>>2]|0)+68>>2]|0)>0,c[(c[n>>2]|0)+68>>2]=0,f):0){c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}}c[h>>2]=c[(c[n>>2]|0)+120+(b[(c[n>>2]|0)+76>>1]<<2)>>2];f=(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;c[p>>2]=g&65535;g=(a[(c[h>>2]|0)+5>>0]|0)!=0;if((c[p>>2]|0)<(e[(c[h>>2]|0)+18>>1]|0))if(g){c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}else{c[k>>2]=bx(c[n>>2]|0)|0;f=c[k>>2]|0;i=l;return f|0}if(!g){f=c[n>>2]|0;c[o>>2]=ww(f,Hh((c[(c[h>>2]|0)+56>>2]|0)+((d[(c[h>>2]|0)+6>>0]|0)+8)|0)|0)|0;if(c[o>>2]|0){c[k>>2]=c[o>>2];f=c[k>>2]|0;i=l;return f|0}else{c[k>>2]=bx(c[n>>2]|0)|0;f=c[k>>2]|0;i=l;return f|0}}do{if(!(b[(c[n>>2]|0)+76>>1]|0)){j=17;break}yw(c[n>>2]|0);c[h>>2]=c[(c[n>>2]|0)+120+(b[(c[n>>2]|0)+76>>1]<<2)>>2]}while((e[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]|0)>=(e[(c[h>>2]|0)+18>>1]|0));if((j|0)==17){c[c[m>>2]>>2]=1;a[(c[n>>2]|0)+73>>0]=0;c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}if(a[(c[h>>2]|0)+2>>0]|0){c[k>>2]=sw(c[n>>2]|0,c[m>>2]|0)|0;f=c[k>>2]|0;i=l;return f|0}else{c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}return 0}function bx(f){f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;j=g+12|0;l=g+8|0;h=g+4|0;k=g;c[j>>2]=f;c[h>>2]=0;while(1){if(c[h>>2]|0){f=5;break}f=c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2]|0;c[k>>2]=f;if(!((a[f+5>>0]|0)!=0^1)){f=5;break}c[l>>2]=Hh((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]&(d[(c[(c[k>>2]|0)+64>>2]|0)+(e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]<<1)>>0]<<8|d[(c[(c[k>>2]|0)+64>>2]|0)+(e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]<<1)+1>>0]))|0)|0;c[h>>2]=ww(c[j>>2]|0,c[l>>2]|0)|0}if((f|0)==5){i=g;return c[h>>2]|0}return 0}function cx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d+16|0;j=d+12|0;h=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[j>>2]=b;c[e>>2]=ko(c[c[f>>2]>>2]|0,0,(c[j>>2]|0)+12|0,0)|0;if(!(c[e>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[h>>2]=Ve(c[c[f>>2]>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[h>>2]|0)==0|(c[h>>2]|0)>=2)){a=c[e>>2]|0;i=d;return a|0}c[g>>2]=c[c[f>>2]>>2];a=ne(c[g>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0;c[(c[e>>2]|0)+8+(((c[c[e>>2]>>2]|0)-1|0)*72|0)+4>>2]=a;a=c[e>>2]|0;i=d;return a|0}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];wn(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0);sn(c[g>>2]|0,c[(c[f>>2]|0)+24>>2]|0);tn(c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0);wn(c[g>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Xb(c[g>>2]|0,c[e>>2]|0);i=d;return}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[g>>2]>>2]|0)){b=8;break}if((ir(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)+4>>2]|0)|0)>=0){b=6;break}c[h>>2]=(c[h>>2]|0)+1}if((b|0)==6){c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}else if((b|0)==8){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}return 0}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;g=e+4|0;f=e;c[g>>2]=a;c[f>>2]=b;b=(c[f>>2]|0)==0;do if(c[g>>2]|0)if(b){c[d>>2]=0;break}else{c[d>>2]=(xc(c[g>>2]|0,c[f>>2]|0)|0)==0&1;break}else c[d>>2]=b&1;while(0);i=e;return c[d>>2]|0}function gx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;k=g+8|0;j=g+4|0;l=g;c[k>>2]=a;c[j>>2]=f;if((e[(c[k>>2]|0)+50>>1]|0)!=(e[(c[j>>2]|0)+50>>1]|0)){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}if((d[(c[k>>2]|0)+54>>0]|0)!=(d[(c[j>>2]|0)+54>>0]|0)){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(e[(c[j>>2]|0)+50>>1]|0)){f=14;break}if((b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)!=(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)){f=8;break}if((d[(c[(c[j>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0)!=(d[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0)){f=10;break}if(!(fx(c[(c[(c[j>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2]|0)|0)){f=12;break}c[l>>2]=(c[l>>2]|0)+1}if((f|0)==8){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}else if((f|0)==10){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}else if((f|0)==12){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}else if((f|0)==14)if(Dq(c[(c[j>>2]|0)+36>>2]|0,c[(c[k>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}else{c[h>>2]=1;a=c[h>>2]|0;i=g;return a|0}return 0}function hx(a,d,e,f,g,h,j,k){a=a|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,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;l=i;i=i+96|0;z=l+88|0;y=l+84|0;v=l+80|0;C=l+76|0;A=l+72|0;D=l+68|0;m=l+64|0;q=l+60|0;n=l+56|0;x=l+52|0;u=l+48|0;E=l+44|0;r=l+40|0;w=l+36|0;s=l+32|0;o=l+28|0;t=l+24|0;p=l+20|0;B=l;c[z>>2]=a;c[y>>2]=d;c[v>>2]=e;c[C>>2]=f;c[A>>2]=g;c[D>>2]=h;c[m>>2]=j;c[q>>2]=k;c[n>>2]=c[(c[z>>2]|0)+8>>2];c[x>>2]=0;c[u>>2]=0;c[t>>2]=c[c[z>>2]>>2];c[p>>2]=Rp(c[t>>2]|0,c[v>>2]|0)|0;a=c[z>>2]|0;c[x>>2]=eo(a,0,ho(c[t>>2]|0,27,24560)|0)|0;if(c[A>>2]|0){d=c[z>>2]|0;a=c[x>>2]|0;c[x>>2]=eo(d,a,Bq(c[t>>2]|0,c[A>>2]|0,0)|0)|0}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[v>>2]|0)+38>>1]|0))break;j=c[t>>2]|0;k=c[w>>2]|0;if((c[(c[D>>2]|0)+(c[w>>2]<<2)>>2]|0)>=0)c[E>>2]=Bq(j,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[(c[D>>2]|0)+(k<<2)>>2]|0)*20|0)>>2]|0,0)|0;else c[E>>2]=ho(j,27,c[(c[(c[v>>2]|0)+4>>2]|0)+(k*24|0)>>2]|0)|0;c[x>>2]=eo(c[z>>2]|0,c[x>>2]|0,c[E>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=co(c[z>>2]|0,c[x>>2]|0,c[y>>2]|0,c[m>>2]|0,0,0,0,0,0,0)|0;a=(c[z>>2]|0)+68|0;d=c[a>>2]|0;c[a>>2]=d+1;c[r>>2]=d;fp(c[n>>2]|0,57,c[r>>2]|0,(b[(c[v>>2]|0)+38>>1]|0)+1+((c[A>>2]|0)!=0&1)|0)|0;Xe(c[n>>2]|0,8);$s(B,14,c[r>>2]|0);ao(c[z>>2]|0,c[u>>2]|0,B)|0;d=(c[z>>2]|0)+72|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[o>>2]=a;a=(c[z>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+((b[(c[v>>2]|0)+38>>1]|0)+1);c[s>>2]=fp(c[n>>2]|0,108,c[r>>2]|0,0)|0;ip(c[n>>2]|0,47,c[r>>2]|0,0,c[o>>2]|0)|0;ip(c[n>>2]|0,47,c[r>>2]|0,(c[A>>2]|0)!=0?1:0,(c[o>>2]|0)+1|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[v>>2]|0)+38>>1]|0))break;ip(c[n>>2]|0,47,c[r>>2]|0,(c[w>>2]|0)+1+((c[A>>2]|0)!=0&1)|0,(c[o>>2]|0)+2+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}wu(c[z>>2]|0,c[v>>2]|0);hp(c[n>>2]|0,15,0,(b[(c[v>>2]|0)+38>>1]|0)+2|0,c[o>>2]|0,c[p>>2]|0,-10)|0;Xe(c[n>>2]|0,((c[q>>2]|0)==10?2:c[q>>2]|0)&255);Sp(c[z>>2]|0);fp(c[n>>2]|0,9,c[r>>2]|0,(c[s>>2]|0)+1|0)|0;zp(c[n>>2]|0,c[s>>2]|0);fp(c[n>>2]|0,61,c[r>>2]|0,0)|0;tn(c[t>>2]|0,c[u>>2]|0);i=l;return}function ix(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+492>>2];c[(c[f>>2]|0)+492>>2]=c[g>>2];i=e;return}function jx(a,b,d,e){a=a|0;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,o=0,p=0;m=i;i=i+64|0;k=m+48|0;p=m+44|0;f=m+40|0;l=m+36|0;j=m+16|0;g=m+12|0;n=m+8|0;h=m+4|0;o=m;c[k>>2]=a;c[p>>2]=b;c[f>>2]=d;c[l>>2]=e;c[h>>2]=c[c[k>>2]>>2];c[o>>2]=Ve(c[h>>2]|0,c[(c[p>>2]|0)+68>>2]|0)|0;c[f>>2]=Bq(c[h>>2]|0,c[f>>2]|0,0)|0;c[n>>2]=ko(c[h>>2]|0,0,0,0)|0;if(c[n>>2]|0){a=ne(c[h>>2]|0,c[c[p>>2]>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=a;a=ne(c[h>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=a}c[g>>2]=co(c[k>>2]|0,0,c[n>>2]|0,c[f>>2]|0,0,0,0,0,0,0)|0;$s(j,12,c[l>>2]|0);ao(c[k>>2]|0,c[g>>2]|0,j)|0;tn(c[h>>2]|0,c[g>>2]|0);i=m;return}function kx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a+0>>2]=c[b+0>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+38>>0]|0|0}function lx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[(c[d>>2]|0)+4>>2]|0)){i=b;return}c[(c[(c[d>>2]|0)+4>>2]|0)+492>>2]=c[c[d>>2]>>2];c[(c[d>>2]|0)+4>>2]=0;i=b;return}function mx(a,b,d,e){a=a|0;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,o=0,p=0;g=i;i=i+48|0;f=g+32|0;o=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;h=g+12|0;m=g+8|0;p=g+4|0;n=g;c[o>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[k>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[p>>2]=(c[c[l>>2]>>2]|0)+(c[k>>2]|0);c[m>>2]=Fk(c[o>>2]|0,c[l>>2]|0,80+(((c[p>>2]|0)-1|0)*72|0)|0,0)|0;if(c[m>>2]|0){c[l>>2]=c[m>>2];c[n>>2]=((((Bk(c[o>>2]|0,c[m>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[n>>2];break}c[f>>2]=c[l>>2];a=c[f>>2]|0;i=g;return a|0}while(0);c[h>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break;e=(c[l>>2]|0)+8+(((c[h>>2]|0)+(c[k>>2]|0)|0)*72|0)+0|0;n=(c[l>>2]|0)+8+((c[h>>2]|0)*72|0)+0|0;m=e+72|0;do{c[e>>2]=c[n>>2];e=e+4|0;n=n+4|0}while((e|0)<(m|0));c[h>>2]=(c[h>>2]|0)+ -1}a=c[l>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]|0);_E((c[l>>2]|0)+8+((c[j>>2]|0)*72|0)|0,0,(c[k>>2]|0)*72|0)|0;c[h>>2]=c[j>>2];while(1){if((c[h>>2]|0)>=((c[j>>2]|0)+(c[k>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[h>>2]|0)*72|0)+40>>2]=-1;c[h>>2]=(c[h>>2]|0)+1}c[f>>2]=c[l>>2];a=c[f>>2]|0;i=g;return a|0}function nx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;h=f;g=f+20|0;j=f+16|0;m=f+12|0;l=f+8|0;k=f+4|0;c[j>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){Se(c[j>>2]|0,25392,h);c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}function ox(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;sr(c[e>>2]|0,b);i=d;return c[b>>2]|0}function px(f,g,h,j,k){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,M=0,N=0,O=0,P=0,Q=0;E=i;i=i+128|0;x=E+112|0;I=E+108|0;H=E+104|0;l=E+100|0;s=E+96|0;C=E+92|0;Q=E+88|0;p=E+84|0;r=E+80|0;o=E+76|0;w=E+72|0;y=E+68|0;u=E+64|0;q=E+60|0;t=E+56|0;m=E+52|0;B=E+48|0;n=E+44|0;P=E+40|0;M=E+36|0;O=E+32|0;J=E+28|0;K=E+24|0;L=E+20|0;F=E+16|0;G=E+12|0;z=E+8|0;v=E+116|0;A=E+4|0;D=E;c[I>>2]=f;c[H>>2]=g;c[l>>2]=h;c[s>>2]=j;c[C>>2]=k;c[Q>>2]=c[(c[I>>2]|0)+492>>2];c[n>>2]=c[c[I>>2]>>2];if(e[(c[n>>2]|0)+60>>1]&1){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}c[w>>2]=c[(c[H>>2]|0)+32>>2];c[B>>2]=(c[w>>2]|0)+8+((c[l>>2]|0)*72|0);c[q>>2]=c[(c[B>>2]|0)+40>>2];c[r>>2]=c[(c[B>>2]|0)+20>>2];if((c[s>>2]|0)!=0&(c[C>>2]|0)!=0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[C>>2]|0)!=0?(c[c[w>>2]>>2]|0)>1:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}c[y>>2]=c[(c[r>>2]|0)+32>>2];if((c[(c[r>>2]|0)+60>>2]|0)!=0?(c[(c[H>>2]|0)+60>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(c[(c[r>>2]|0)+64>>2]|0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((e[(c[H>>2]|0)+6>>1]&64|0)!=0?(c[(c[r>>2]|0)+60>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(!(c[c[y>>2]>>2]|0)){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(e[(c[r>>2]|0)+6>>1]&1){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[(c[r>>2]|0)+60>>2]|0)!=0?(c[s>>2]|0)!=0?1:(c[c[w>>2]>>2]|0)>1:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[C>>2]|0)!=0?(e[(c[H>>2]|0)+6>>1]&1|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[(c[H>>2]|0)+48>>2]|0)!=0?(c[(c[r>>2]|0)+48>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[s>>2]|0)!=0?(c[(c[r>>2]|0)+48>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[(c[r>>2]|0)+60>>2]|0)!=0?(c[(c[H>>2]|0)+36>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[(c[r>>2]|0)+60>>2]|0)!=0?(e[(c[H>>2]|0)+6>>1]&1|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(e[(c[r>>2]|0)+6>>1]&6144){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((e[(c[H>>2]|0)+6>>1]&2048|0)!=0?(c[(c[r>>2]|0)+52>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(d[(c[B>>2]|0)+36>>0]&32){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}a:do if(c[(c[r>>2]|0)+52>>2]|0){if(c[(c[r>>2]|0)+48>>2]|0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}do if(!(c[s>>2]|0)){if(e[(c[H>>2]|0)+6>>1]&1)break;if((c[c[w>>2]>>2]|0)!=1)break;c[o>>2]=c[r>>2];while(1){if(!(c[o>>2]|0))break;if(e[(c[o>>2]|0)+6>>1]&5){N=58;break}if((c[(c[o>>2]|0)+52>>2]|0)!=0?(d[(c[o>>2]|0)+4>>0]|0)!=116:0){N=58;break}if((c[c[(c[o>>2]|0)+32>>2]>>2]|0)<1){N=58;break}if((c[c[c[r>>2]>>2]>>2]|0)!=(c[c[c[o>>2]>>2]>>2]|0)){N=58;break}c[o>>2]=c[(c[o>>2]|0)+52>>2]}if((N|0)==58){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(!(c[(c[H>>2]|0)+48>>2]|0))break a;c[P>>2]=0;while(1){if((c[P>>2]|0)>=(c[c[(c[H>>2]|0)+48>>2]>>2]|0))break a;if(!(e[(c[(c[(c[H>>2]|0)+48>>2]|0)+4>>2]|0)+((c[P>>2]|0)*20|0)+16>>1]|0))break;c[P>>2]=(c[P>>2]|0)+1}c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}while(0);c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}while(0);c[(c[I>>2]|0)+492>>2]=c[(c[B>>2]|0)+8>>2];ap(c[I>>2]|0,21,0,0,0)|0;c[(c[I>>2]|0)+492>>2]=c[Q>>2];c[r>>2]=c[(c[r>>2]|0)+52>>2];while(1){if(!(c[r>>2]|0))break;c[O>>2]=c[(c[H>>2]|0)+48>>2];c[J>>2]=c[(c[H>>2]|0)+60>>2];c[K>>2]=c[(c[H>>2]|0)+64>>2];c[L>>2]=c[(c[H>>2]|0)+52>>2];c[(c[H>>2]|0)+48>>2]=0;c[(c[H>>2]|0)+32>>2]=0;c[(c[H>>2]|0)+52>>2]=0;c[(c[H>>2]|0)+60>>2]=0;c[(c[H>>2]|0)+64>>2]=0;c[M>>2]=Wp(c[n>>2]|0,c[H>>2]|0,0)|0;c[(c[H>>2]|0)+64>>2]=c[K>>2];c[(c[H>>2]|0)+60>>2]=c[J>>2];c[(c[H>>2]|0)+48>>2]=c[O>>2];c[(c[H>>2]|0)+32>>2]=c[w>>2];a[(c[H>>2]|0)+4>>0]=116;f=c[L>>2]|0;if(!(c[M>>2]|0))c[(c[H>>2]|0)+52>>2]=f;else{c[(c[M>>2]|0)+52>>2]=f;if(c[L>>2]|0)c[(c[L>>2]|0)+56>>2]=c[M>>2];c[(c[M>>2]|0)+56>>2]=c[H>>2];c[(c[H>>2]|0)+52>>2]=c[M>>2]}if(a[(c[n>>2]|0)+64>>0]|0){N=74;break}c[r>>2]=c[(c[r>>2]|0)+52>>2]}if((N|0)==74){c[x>>2]=1;Q=c[x>>2]|0;i=E;return Q|0}Q=c[(c[B>>2]|0)+20>>2]|0;c[o>>2]=Q;c[r>>2]=Q;Xb(c[n>>2]|0,c[(c[B>>2]|0)+4>>2]|0);Xb(c[n>>2]|0,c[(c[B>>2]|0)+8>>2]|0);Xb(c[n>>2]|0,c[(c[B>>2]|0)+12>>2]|0);c[(c[B>>2]|0)+4>>2]=0;c[(c[B>>2]|0)+8>>2]=0;c[(c[B>>2]|0)+12>>2]=0;c[(c[B>>2]|0)+20>>2]=0;if(c[(c[B>>2]|0)+16>>2]|0){c[F>>2]=c[(c[B>>2]|0)+16>>2];if((e[(c[F>>2]|0)+40>>1]|0)==1){J=c[I>>2]|0;if(c[(c[I>>2]|0)+408>>2]|0)J=c[J+408>>2]|0;c[G>>2]=J;c[(c[F>>2]|0)+72>>2]=c[(c[G>>2]|0)+524>>2];c[(c[G>>2]|0)+524>>2]=c[F>>2]}else{Q=(c[F>>2]|0)+40|0;b[Q>>1]=(b[Q>>1]|0)+ -1<<16>>16}c[(c[B>>2]|0)+16>>2]=0}c[p>>2]=c[H>>2];while(1){if(!(c[p>>2]|0))break;a[v>>0]=0;c[y>>2]=c[(c[r>>2]|0)+32>>2];c[z>>2]=c[c[y>>2]>>2];c[w>>2]=c[(c[p>>2]|0)+32>>2];if(!(c[w>>2]|0)){Q=ko(c[n>>2]|0,0,0,0)|0;c[(c[p>>2]|0)+32>>2]=Q;c[w>>2]=Q;if(!(c[w>>2]|0))break}else a[v>>0]=a[(c[B>>2]|0)+36>>0]|0;if((c[z>>2]|0)>1?(Q=mx(c[n>>2]|0,c[w>>2]|0,(c[z>>2]|0)-1|0,(c[l>>2]|0)+1|0)|0,c[w>>2]=Q,c[(c[p>>2]|0)+32>>2]=Q,(a[(c[n>>2]|0)+64>>0]|0)!=0):0)break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[z>>2]|0))break;xn(c[n>>2]|0,c[(c[w>>2]|0)+8+(((c[t>>2]|0)+(c[l>>2]|0)|0)*72|0)+48>>2]|0);H=(c[w>>2]|0)+8+(((c[t>>2]|0)+(c[l>>2]|0)|0)*72|0)+0|0;G=(c[y>>2]|0)+8+((c[t>>2]|0)*72|0)+0|0;F=H+72|0;do{c[H>>2]=c[G>>2];H=H+4|0;G=G+4|0}while((H|0)<(F|0));H=(c[y>>2]|0)+8+((c[t>>2]|0)*72|0)+0|0;F=H+72|0;do{c[H>>2]=0;H=H+4|0}while((H|0)<(F|0));c[t>>2]=(c[t>>2]|0)+1}a[(c[w>>2]|0)+8+((c[l>>2]|0)*72|0)+36>>0]=a[v>>0]|0;c[u>>2]=c[c[p>>2]>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[u>>2]>>2]|0))break;if(!(c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)){c[A>>2]=ne(c[n>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+8>>2]|0)|0;sm(c[A>>2]|0)|0;c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]=c[A>>2]}c[t>>2]=(c[t>>2]|0)+1}ay(c[n>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0);if(c[s>>2]|0){ay(c[n>>2]|0,c[(c[p>>2]|0)+40>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0);Q=by(c[n>>2]|0,c[(c[p>>2]|0)+44>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0)|0;c[(c[p>>2]|0)+44>>2]=Q}do if(c[(c[r>>2]|0)+48>>2]|0){c[D>>2]=c[(c[r>>2]|0)+48>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[D>>2]>>2]|0))break;b[(c[(c[D>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+16>>1]=0;c[t>>2]=(c[t>>2]|0)+1}c[(c[p>>2]|0)+48>>2]=c[D>>2];c[(c[r>>2]|0)+48>>2]=0}else{if(!(c[(c[p>>2]|0)+48>>2]|0))break;ay(c[n>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0)}while(0);if(c[(c[r>>2]|0)+36>>2]|0)c[m>>2]=Bq(c[n>>2]|0,c[(c[r>>2]|0)+36>>2]|0,0)|0;else c[m>>2]=0;if(c[C>>2]|0){c[(c[p>>2]|0)+44>>2]=c[(c[p>>2]|0)+36>>2];c[(c[p>>2]|0)+36>>2]=c[m>>2];g=by(c[n>>2]|0,c[(c[p>>2]|0)+44>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0)|0;c[(c[p>>2]|0)+44>>2]=g;g=c[n>>2]|0;Q=c[(c[p>>2]|0)+44>>2]|0;Q=mr(g,Q,Bq(c[n>>2]|0,c[(c[r>>2]|0)+44>>2]|0,0)|0)|0;c[(c[p>>2]|0)+44>>2]=Q;Q=Jq(c[n>>2]|0,c[(c[r>>2]|0)+40>>2]|0,0)|0;c[(c[p>>2]|0)+40>>2]=Q}else{Q=by(c[n>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=Q;Q=mr(c[n>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[m>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=Q}Q=(c[p>>2]|0)+6|0;b[Q>>1]=e[Q>>1]|e[(c[r>>2]|0)+6>>1]&1;if(c[(c[r>>2]|0)+60>>2]|0){c[(c[p>>2]|0)+60>>2]=c[(c[r>>2]|0)+60>>2];c[(c[r>>2]|0)+60>>2]=0}c[p>>2]=c[(c[p>>2]|0)+52>>2];c[r>>2]=c[(c[r>>2]|0)+52>>2]}tn(c[n>>2]|0,c[o>>2]|0);c[x>>2]=1;Q=c[x>>2]|0;i=E;return Q|0}function qx(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+56>>2]=0;i=d;return}function rx(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,A=0,B=0,C=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;q=i;i=i+224|0;G=q;p=q+212|0;s=q+208|0;o=q+204|0;m=q+200|0;j=q+196|0;C=q+192|0;z=q+188|0;n=q+168|0;k=q+164|0;l=q+160|0;x=q+156|0;y=q+152|0;A=q+148|0;B=q+144|0;r=q+140|0;M=q+216|0;L=q+136|0;J=q+132|0;K=q+128|0;O=q+124|0;N=q+104|0;F=q+100|0;E=q+96|0;H=q+92|0;I=q+88|0;R=q+84|0;U=q+80|0;Q=q+76|0;P=q+72|0;T=q+68|0;X=q+64|0;Y=q+60|0;Z=q+56|0;_=q+36|0;S=q+32|0;V=q+28|0;t=q+24|0;u=q+20|0;W=q+16|0;v=q+12|0;w=q+8|0;$=q+4|0;c[s>>2]=f;c[o>>2]=g;c[m>>2]=h;c[j>>2]=0;c[k>>2]=0;c[x>>2]=0;c[y>>2]=0;c[l>>2]=c[c[s>>2]>>2];c[C>>2]=c[(c[o>>2]|0)+52>>2];f=c[m>>2]|0;c[n+0>>2]=c[f+0>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[n+16>>2]=c[f+16>>2];a:do if(!(c[(c[C>>2]|0)+48>>2]|0)){h=c[s>>2]|0;if(c[(c[C>>2]|0)+60>>2]|0){c[G>>2]=Vx(d[(c[o>>2]|0)+4>>0]|0)|0;Se(h,25096,G);c[j>>2]=1;break}c[z>>2]=dp(h)|0;if((d[n>>0]|0|0)==12){fp(c[z>>2]|0,57,c[n+4>>2]|0,c[c[c[o>>2]>>2]>>2]|0)|0;Xe(c[z>>2]|0,8);a[n>>0]=14}h=e[(c[o>>2]|0)+6>>1]|0;if((c[c[c[o>>2]>>2]>>2]|0)!=(c[c[c[C>>2]>>2]>>2]|0)){r=c[s>>2]|0;if(h&128)Se(r,25144,G);else{c[G>>2]=Vx(d[(c[o>>2]|0)+4>>0]|0)|0;Se(r,25192,G)}c[j>>2]=1;break}do if(!(h&2048)){if(c[(c[o>>2]|0)+48>>2]|0){c[p>>2]=Xx(c[s>>2]|0,c[o>>2]|0,c[m>>2]|0)|0;f=c[p>>2]|0;i=q;return f|0}G=d[(c[o>>2]|0)+4>>0]|0;if((G|0)==116){c[A>>2]=0;c[(c[C>>2]|0)+8>>2]=c[(c[o>>2]|0)+8>>2];c[(c[C>>2]|0)+12>>2]=c[(c[o>>2]|0)+12>>2];c[(c[C>>2]|0)+60>>2]=c[(c[o>>2]|0)+60>>2];c[(c[C>>2]|0)+64>>2]=c[(c[o>>2]|0)+64>>2];c[x>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[C>>2]|0,n)|0;c[(c[o>>2]|0)+60>>2]=0;c[(c[o>>2]|0)+64>>2]=0;if(c[j>>2]|0)break a;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+8>>2]=c[(c[C>>2]|0)+8>>2];c[(c[o>>2]|0)+12>>2]=c[(c[C>>2]|0)+12>>2];if(c[(c[o>>2]|0)+8>>2]|0)c[A>>2]=Ir(c[z>>2]|0,139,c[(c[o>>2]|0)+8>>2]|0)|0;c[y>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[o>>2]|0,n)|0;c[k>>2]=c[(c[o>>2]|0)+52>>2];c[(c[o>>2]|0)+52>>2]=c[C>>2];g=(c[C>>2]|0)+24|0;f=(c[o>>2]|0)+24|0;h=f;g=bF(c[h>>2]|0,c[h+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=D;if(((c[(c[C>>2]|0)+60>>2]|0)!=0?(f=(yq(c[(c[C>>2]|0)+60>>2]|0,B)|0)!=0,f&(c[B>>2]|0)>0):0)?(g=(c[o>>2]|0)+24|0,_=c[g+4>>2]|0,f=c[B>>2]|0,h=((f|0)<0)<<31>>31,_>>>0>h>>>0|((_|0)==(h|0)?(c[g>>2]|0)>>>0>f>>>0:0)):0){g=c[B>>2]|0;f=(c[o>>2]|0)+24|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31}if(!(c[A>>2]|0))break;zp(c[z>>2]|0,c[A>>2]|0);break}else if((G|0)==115|(G|0)==117){a[M>>0]=0;c[L>>2]=1;if((d[n>>0]|0|0)==(c[L>>2]|0))c[r>>2]=c[n+4>>2];else{g=(c[s>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[r>>2]=f;c[O>>2]=fp(c[z>>2]|0,57,c[r>>2]|0,0)|0;c[(c[o>>2]|0)+16>>2]=c[O>>2];f=(dr(c[o>>2]|0)|0)+6|0;b[f>>1]=e[f>>1]|0|8}$s(N,c[L>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[C>>2]|0,N)|0;if(c[j>>2]|0)break a;if((d[(c[o>>2]|0)+4>>0]|0|0)==117)a[M>>0]=2;else a[M>>0]=1;c[(c[o>>2]|0)+52>>2]=0;c[J>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=0;c[K>>2]=c[(c[o>>2]|0)+64>>2];c[(c[o>>2]|0)+64>>2]=0;a[N>>0]=a[M>>0]|0;c[y>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[o>>2]|0,N)|0;sn(c[l>>2]|0,c[(c[o>>2]|0)+48>>2]|0);c[k>>2]=c[(c[o>>2]|0)+52>>2];c[(c[o>>2]|0)+52>>2]=c[C>>2];c[(c[o>>2]|0)+48>>2]=0;if((d[(c[o>>2]|0)+4>>0]|0|0)==115){g=(c[C>>2]|0)+24|0;f=(c[o>>2]|0)+24|0;h=f;g=bF(c[h>>2]|0,c[h+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=D}wn(c[l>>2]|0,c[(c[o>>2]|0)+60>>2]|0);c[(c[o>>2]|0)+60>>2]=c[J>>2];c[(c[o>>2]|0)+64>>2]=c[K>>2];c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+12>>2]=0;if((d[n>>0]|0|0)==(c[L>>2]|0))break;if((d[n>>0]|0|0)==9){c[I>>2]=c[o>>2];while(1){if(!(c[(c[I>>2]|0)+52>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+52>>2]}Mx(c[s>>2]|0,0,c[c[I>>2]>>2]|0)}c[E>>2]=Nr(c[z>>2]|0)|0;c[F>>2]=Nr(c[z>>2]|0)|0;tx(c[s>>2]|0,c[o>>2]|0,c[E>>2]|0);fp(c[z>>2]|0,108,c[r>>2]|0,c[E>>2]|0)|0;c[H>>2]=Mr(c[z>>2]|0)|0;xx(c[s>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0,c[r>>2]|0,0,0,n,c[F>>2]|0,c[E>>2]|0);Pr(c[z>>2]|0,c[F>>2]|0);fp(c[z>>2]|0,9,c[r>>2]|0,c[H>>2]|0)|0;Pr(c[z>>2]|0,c[E>>2]|0);fp(c[z>>2]|0,61,c[r>>2]|0,0)|0;break}else{f=(c[s>>2]|0)+68|0;g=c[f>>2]|0;c[f>>2]=g+1;c[R>>2]=g;g=(c[s>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[U>>2]=f;c[Z>>2]=fp(c[z>>2]|0,57,c[R>>2]|0,0)|0;c[(c[o>>2]|0)+16>>2]=c[Z>>2];f=(dr(c[o>>2]|0)|0)+6|0;b[f>>1]=e[f>>1]|0|8;$s(_,1,c[R>>2]|0);c[x>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[C>>2]|0,_)|0;if(c[j>>2]|0)break a;c[Z>>2]=fp(c[z>>2]|0,57,c[U>>2]|0,0)|0;c[(c[o>>2]|0)+20>>2]=c[Z>>2];c[(c[o>>2]|0)+52>>2]=0;c[X>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=0;c[Y>>2]=c[(c[o>>2]|0)+64>>2];c[(c[o>>2]|0)+64>>2]=0;c[_+4>>2]=c[U>>2];c[y>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[o>>2]|0,_)|0;c[k>>2]=c[(c[o>>2]|0)+52>>2];c[(c[o>>2]|0)+52>>2]=c[C>>2];g=(c[o>>2]|0)+24|0;_=c[g+4>>2]|0;f=(c[C>>2]|0)+24|0;h=c[f+4>>2]|0;if(_>>>0>h>>>0|((_|0)==(h|0)?(c[g>>2]|0)>>>0>(c[f>>2]|0)>>>0:0)){h=(c[C>>2]|0)+24|0;g=c[h+4>>2]|0;f=(c[o>>2]|0)+24|0;c[f>>2]=c[h>>2];c[f+4>>2]=g}wn(c[l>>2]|0,c[(c[o>>2]|0)+60>>2]|0);c[(c[o>>2]|0)+60>>2]=c[X>>2];c[(c[o>>2]|0)+64>>2]=c[Y>>2];if((d[n>>0]|0|0)==9){c[V>>2]=c[o>>2];while(1){if(!(c[(c[V>>2]|0)+52>>2]|0))break;c[V>>2]=c[(c[V>>2]|0)+52>>2]}Mx(c[s>>2]|0,0,c[c[V>>2]>>2]|0)}c[P>>2]=Nr(c[z>>2]|0)|0;c[Q>>2]=Nr(c[z>>2]|0)|0;tx(c[s>>2]|0,c[o>>2]|0,c[P>>2]|0);fp(c[z>>2]|0,108,c[R>>2]|0,c[P>>2]|0)|0;c[S>>2]=kp(c[s>>2]|0)|0;c[T>>2]=fp(c[z>>2]|0,101,c[R>>2]|0,c[S>>2]|0)|0;We(c[z>>2]|0,68,c[U>>2]|0,c[Q>>2]|0,c[S>>2]|0,0)|0;lp(c[s>>2]|0,c[S>>2]|0);xx(c[s>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0,c[R>>2]|0,0,0,n,c[Q>>2]|0,c[P>>2]|0);Pr(c[z>>2]|0,c[Q>>2]|0);fp(c[z>>2]|0,9,c[R>>2]|0,c[T>>2]|0)|0;Pr(c[z>>2]|0,c[P>>2]|0);fp(c[z>>2]|0,61,c[U>>2]|0,0)|0;fp(c[z>>2]|0,61,c[R>>2]|0,0)|0;break}}else Wx(c[s>>2]|0,c[o>>2]|0,n);while(0);Yx(c[s>>2]|0,d[(c[o>>2]|0)+4>>0]|0,c[x>>2]|0,c[y>>2]|0,(d[(c[o>>2]|0)+4>>0]|0|0)!=116&1);if((e[(c[o>>2]|0)+6>>1]|0)&8){c[w>>2]=c[c[c[o>>2]>>2]>>2];c[u>>2]=Xr(c[l>>2]|0,c[w>>2]|0,1)|0;if(!(c[u>>2]|0)){c[j>>2]=7;break}c[t>>2]=0;c[v>>2]=(c[u>>2]|0)+20;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;f=Zx(c[s>>2]|0,c[o>>2]|0,c[t>>2]|0)|0;c[c[v>>2]>>2]=f;if(!(c[c[v>>2]>>2]|0))c[c[v>>2]>>2]=c[(c[l>>2]|0)+8>>2];c[t>>2]=(c[t>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+4}c[W>>2]=c[o>>2];while(1){if(!(c[W>>2]|0))break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=2)break;c[$>>2]=c[(c[W>>2]|0)+16+(c[t>>2]<<2)>>2];if((c[$>>2]|0)<0)break;$e(c[z>>2]|0,c[$>>2]|0,c[w>>2]|0);g=c[z>>2]|0;f=c[$>>2]|0;bf(g,f,Yr(c[u>>2]|0)|0,-6);c[(c[W>>2]|0)+16+(c[t>>2]<<2)>>2]=-1;c[t>>2]=(c[t>>2]|0)+1}c[W>>2]=c[(c[W>>2]|0)+52>>2]}eh(c[u>>2]|0)}}else{f=c[s>>2]|0;c[G>>2]=Vx(d[(c[o>>2]|0)+4>>0]|0)|0;Se(f,25048,G);c[j>>2]=1}while(0);c[(c[m>>2]|0)+8>>2]=c[n+8>>2];c[(c[m>>2]|0)+12>>2]=c[n+12>>2];tn(c[l>>2]|0,c[k>>2]|0);c[p>>2]=c[j>>2];f=c[p>>2]|0;i=q;return f|0}function sx(b,d,e,f){b=b|0;d=d|0;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;n=i;i=i+48|0;l=n+36|0;q=n+32|0;p=n+28|0;r=n+24|0;o=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;g=n+4|0;k=n;c[l>>2]=b;c[q>>2]=d;c[p>>2]=e;c[r>>2]=f;c[j>>2]=c[c[l>>2]>>2];c[o>>2]=c[c[q>>2]>>2];c[h>>2]=Xr(c[j>>2]|0,(c[o>>2]|0)+(c[r>>2]|0)-(c[p>>2]|0)|0,1)|0;if(!(c[h>>2]|0)){r=c[h>>2]|0;i=n;return r|0}c[g>>2]=c[p>>2];c[m>>2]=(c[(c[q>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0);while(1){if((c[g>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=cq(c[l>>2]|0,c[c[m>>2]>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[j>>2]|0)+8>>2];c[(c[h>>2]|0)+20+((c[g>>2]|0)-(c[p>>2]|0)<<2)>>2]=c[k>>2];a[(c[(c[h>>2]|0)+16>>2]|0)+((c[g>>2]|0)-(c[p>>2]|0))>>0]=a[(c[m>>2]|0)+12>>0]|0;c[g>>2]=(c[g>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}r=c[h>>2]|0;i=n;return r|0}function tx(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,l=0,m=0,n=0;k=i;i=i+32|0;l=k+28|0;f=k+24|0;h=k+20|0;g=k+16|0;e=k+12|0;m=k+8|0;n=k+4|0;j=k;c[l>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[e>>2]=0;if(c[(c[f>>2]|0)+8>>2]|0){i=k;return}cu(c[l>>2]|0);if(!(c[(c[f>>2]|0)+60>>2]|0)){i=k;return}b=(c[l>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[e>>2]=a;c[(c[f>>2]|0)+8>>2]=a;c[g>>2]=dp(c[l>>2]|0)|0;do if(yq(c[(c[f>>2]|0)+60>>2]|0,j)|0){fp(c[g>>2]|0,25,c[j>>2]|0,c[e>>2]|0)|0;if(!(c[j>>2]|0)){fp(c[g>>2]|0,16,0,c[h>>2]|0)|0;break}if((c[j>>2]|0)>=0?(b=(c[f>>2]|0)+24|0,d=c[b+4>>2]|0,a=c[j>>2]|0,h=((a|0)<0)<<31>>31,d>>>0>h>>>0|((d|0)==(h|0)?(c[b>>2]|0)>>>0>a>>>0:0)):0){b=c[j>>2]|0;a=(c[f>>2]|0)+24|0;c[a>>2]=b;c[a+4>>2]=((b|0)<0)<<31>>31}}else{Os(c[l>>2]|0,c[(c[f>>2]|0)+60>>2]|0,c[e>>2]|0);Ir(c[g>>2]|0,38,c[e>>2]|0)|0;fp(c[g>>2]|0,139,c[e>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[f>>2]|0)+64>>2]|0)){i=k;return}b=(c[l>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[m>>2]=a;c[(c[f>>2]|0)+12>>2]=a;a=(c[l>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+1;Os(c[l>>2]|0,c[(c[f>>2]|0)+64>>2]|0,c[m>>2]|0);Ir(c[g>>2]|0,38,c[m>>2]|0)|0;c[n>>2]=Ir(c[g>>2]|0,137,c[m>>2]|0)|0;fp(c[g>>2]|0,25,0,c[m>>2]|0)|0;zp(c[g>>2]|0,c[n>>2]|0);ip(c[g>>2]|0,89,c[e>>2]|0,c[m>>2]|0,(c[m>>2]|0)+1|0)|0;c[n>>2]=Ir(c[g>>2]|0,137,c[e>>2]|0)|0;fp(c[g>>2]|0,25,-1,(c[m>>2]|0)+1|0)|0;zp(c[g>>2]|0,c[n>>2]|0);i=k;return}function ux(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=Zt(b[(c[e>>2]|0)+32>>1]|0)|0;i=d;return a|0}function vx(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+40>>0]|0|0}function wx(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+36>>0]|0}function xx(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;r=i;i=i+128|0;q=r+124|0;s=r+120|0;P=r+116|0;U=r+112|0;t=r+108|0;R=r+104|0;x=r+100|0;J=r+96|0;o=r+92|0;p=r+88|0;H=r+84|0;T=r+80|0;u=r+76|0;z=r+72|0;v=r+68|0;y=r+64|0;w=r+60|0;S=r+56|0;K=r+52|0;L=r+48|0;O=r+44|0;M=r+40|0;B=r+36|0;Q=r+32|0;A=r+28|0;E=r+24|0;I=r+20|0;F=r+16|0;G=r+12|0;N=r+8|0;C=r+4|0;D=r;c[q>>2]=b;c[s>>2]=f;c[P>>2]=g;c[U>>2]=h;c[t>>2]=j;c[R>>2]=k;c[x>>2]=l;c[J>>2]=m;c[o>>2]=n;c[p>>2]=c[(c[q>>2]|0)+8>>2];c[z>>2]=d[c[x>>2]>>0];c[v>>2]=c[(c[x>>2]|0)+4>>2];c[w>>2]=0;if(c[R>>2]|0)n=d[(c[R>>2]|0)+1>>0]|0;else n=0;c[T>>2]=n;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)==0:0)c[t>>2]=0;if(!((c[t>>2]|0)!=0|(c[T>>2]|0)!=0))Ox(c[p>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[J>>2]|0);c[y>>2]=c[c[P>>2]>>2];if(c[(c[x>>2]|0)+8>>2]|0){if(((c[(c[x>>2]|0)+8>>2]|0)+(c[y>>2]|0)|0)>(c[(c[q>>2]|0)+72>>2]|0)){b=(c[q>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[y>>2]|0)}}else{if(c[t>>2]|0){c[w>>2]=c[c[c[t>>2]>>2]>>2];if(!((d[(c[t>>2]|0)+24>>0]|0)&1))c[w>>2]=(c[w>>2]|0)+1;b=(c[q>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[w>>2]|0)}c[(c[x>>2]|0)+8>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;b=(c[q>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[y>>2]|0)}c[(c[x>>2]|0)+12>>2]=c[y>>2];c[u>>2]=c[(c[x>>2]|0)+8>>2];a:do if((c[U>>2]|0)<0){if((c[z>>2]|0)!=3){if((c[z>>2]|0)==9)U=1;else U=(c[z>>2]|0)==13;Ws(c[q>>2]|0,c[P>>2]|0,c[u>>2]|0,(U?1:0)&255)|0}}else{c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[y>>2]|0))break a;ip(c[p>>2]|0,47,c[U>>2]|0,c[H>>2]|0,(c[u>>2]|0)+(c[H>>2]|0)|0)|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[T>>2]|0){T=d[(c[R>>2]|0)+1>>0]|0;if((T|0)==1)cf(c[p>>2]|0,c[(c[R>>2]|0)+8>>2]|0);else if((T|0)==2){c[L>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;b=(c[q>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[y>>2]|0);cf(c[p>>2]|0,c[(c[R>>2]|0)+8>>2]|0);c[S>>2]=dt(c[p>>2]|0,c[(c[R>>2]|0)+8>>2]|0)|0;a[c[S>>2]>>0]=28;c[(c[S>>2]|0)+4>>2]=1;c[(c[S>>2]|0)+8>>2]=c[L>>2];b=Mr(c[p>>2]|0)|0;c[K>>2]=b+(c[y>>2]|0);c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[y>>2]|0))break;c[O>>2]=cq(c[q>>2]|0,c[(c[(c[P>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)>>2]|0)|0;S=c[p>>2]|0;R=(c[u>>2]|0)+(c[H>>2]|0)|0;if((c[H>>2]|0)<((c[y>>2]|0)-1|0))ip(S,78,R,c[K>>2]|0,(c[L>>2]|0)+(c[H>>2]|0)|0)|0;else ip(S,79,R,c[J>>2]|0,(c[L>>2]|0)+(c[H>>2]|0)|0)|0;bf(c[p>>2]|0,-1,c[O>>2]|0,-4);Xe(c[p>>2]|0,-128);c[H>>2]=(c[H>>2]|0)+1}ip(c[p>>2]|0,33,c[u>>2]|0,c[L>>2]|0,(c[y>>2]|0)-1|0)|0}else Px(c[q>>2]|0,c[(c[R>>2]|0)+4>>2]|0,c[J>>2]|0,c[y>>2]|0,c[u>>2]|0);if(!(c[t>>2]|0))Ox(c[p>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[J>>2]|0)}b:do switch(c[z>>2]|0){case 11:{y=kt(c[c[(c[P>>2]|0)+4>>2]>>2]|0,a[(c[x>>2]|0)+1>>0]|0)|0;a[(c[x>>2]|0)+1>>0]=y;y=c[q>>2]|0;if(c[t>>2]|0){Ux(y,c[t>>2]|0,c[s>>2]|0,c[u>>2]|0,1,c[w>>2]|0);break b}else{c[E>>2]=kp(y)|0;hp(c[p>>2]|0,49,c[u>>2]|0,1,c[E>>2]|0,(c[x>>2]|0)+1|0,1)|0;Us(c[q>>2]|0,c[u>>2]|0,1);fp(c[p>>2]|0,110,c[v>>2]|0,c[E>>2]|0)|0;lp(c[q>>2]|0,c[E>>2]|0);break b}};case 9:case 13:{if(c[t>>2]|0){Ux(c[q>>2]|0,c[t>>2]|0,c[s>>2]|0,c[u>>2]|0,c[y>>2]|0,c[w>>2]|0);break b}v=c[p>>2]|0;if((c[z>>2]|0)==13){Ir(v,22,c[(c[x>>2]|0)+4>>2]|0)|0;break b}else{fp(v,35,c[u>>2]|0,c[y>>2]|0)|0;Us(c[q>>2]|0,c[u>>2]|0,c[y>>2]|0);break b}};case 3:{fp(c[p>>2]|0,25,1,c[v>>2]|0)|0;break};case 10:{if(c[t>>2]|0)Ux(c[q>>2]|0,c[t>>2]|0,c[s>>2]|0,c[u>>2]|0,1,c[w>>2]|0);break};case 12:case 14:case 6:case 5:{c[B>>2]=ys(c[q>>2]|0,(c[w>>2]|0)+1|0)|0;ip(c[p>>2]|0,49,c[u>>2]|0,c[y>>2]|0,(c[B>>2]|0)+(c[w>>2]|0)|0)|0;if((c[z>>2]|0)==6){c[Q>>2]=(Mr(c[p>>2]|0)|0)+4;We(c[p>>2]|0,69,(c[v>>2]|0)+1|0,c[Q>>2]|0,c[B>>2]|0,0)|0;fp(c[p>>2]|0,110,(c[v>>2]|0)+1|0,c[B>>2]|0)|0}u=c[q>>2]|0;if(c[t>>2]|0)Ux(u,c[t>>2]|0,c[s>>2]|0,(c[B>>2]|0)+(c[w>>2]|0)|0,1,c[w>>2]|0);else{c[A>>2]=kp(u)|0;fp(c[p>>2]|0,74,c[v>>2]|0,c[A>>2]|0)|0;ip(c[p>>2]|0,75,c[v>>2]|0,c[B>>2]|0,c[A>>2]|0)|0;Xe(c[p>>2]|0,8);lp(c[q>>2]|0,c[A>>2]|0)}Bs(c[q>>2]|0,c[B>>2]|0,(c[w>>2]|0)+1|0);break};case 7:case 8:{c[C>>2]=0;c[D>>2]=c[(c[x>>2]|0)+16>>2];c[I>>2]=c[c[D>>2]>>2];c[F>>2]=kp(c[q>>2]|0)|0;c[G>>2]=ys(c[q>>2]|0,(c[I>>2]|0)+2|0)|0;c[N>>2]=(c[G>>2]|0)+(c[I>>2]|0)+1;if((c[z>>2]|0)==8)c[C>>2]=We(c[p>>2]|0,69,(c[v>>2]|0)+1|0,0,c[u>>2]|0,c[y>>2]|0)|0;ip(c[p>>2]|0,49,c[u>>2]|0,c[y>>2]|0,c[N>>2]|0)|0;if((c[z>>2]|0)==8){fp(c[p>>2]|0,110,(c[v>>2]|0)+1|0,c[N>>2]|0)|0;Xe(c[p>>2]|0,16)}c[H>>2]=0;while(1){w=c[p>>2]|0;if((c[H>>2]|0)>=(c[I>>2]|0))break;fp(w,34,(c[u>>2]|0)+(e[(c[(c[D>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)+16>>1]|0)-1|0,(c[G>>2]|0)+(c[H>>2]|0)|0)|0;c[H>>2]=(c[H>>2]|0)+1}fp(w,73,c[v>>2]|0,(c[G>>2]|0)+(c[I>>2]|0)|0)|0;ip(c[p>>2]|0,49,c[G>>2]|0,(c[I>>2]|0)+2|0,c[F>>2]|0)|0;fp(c[p>>2]|0,110,c[v>>2]|0,c[F>>2]|0)|0;if(c[C>>2]|0)zp(c[p>>2]|0,c[C>>2]|0);lp(c[q>>2]|0,c[F>>2]|0);Bs(c[q>>2]|0,c[G>>2]|0,(c[I>>2]|0)+2|0);break};case 2:{ip(c[p>>2]|0,111,c[v>>2]|0,c[u>>2]|0,c[y>>2]|0)|0;break};case 1:{c[M>>2]=kp(c[q>>2]|0)|0;ip(c[p>>2]|0,49,c[u>>2]|0,c[y>>2]|0,c[M>>2]|0)|0;fp(c[p>>2]|0,110,c[v>>2]|0,c[M>>2]|0)|0;lp(c[q>>2]|0,c[M>>2]|0);break};default:{}}while(0);if(c[t>>2]|0){i=r;return}if(!(c[(c[s>>2]|0)+8>>2]|0)){i=r;return}ip(c[p>>2]|0,139,c[(c[s>>2]|0)+8>>2]|0,c[o>>2]|0,-1)|0;i=r;return}function yx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function zx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;f=d+8|0;h=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}c[h>>2]=c[(c[f>>2]|0)+4>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[f>>2]>>2]|0))break;Bx(c[g>>2]|0,c[c[h>>2]>>2]|0);c[e>>2]=(c[e>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+20}i=d;return}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;e=d+24|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=48;c[f+4>>2]=49;c[f+20>>2]=c[g>>2];sq(f,c[e>>2]|0)|0;i=d;return}function Cx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;j=e;f=e+16|0;h=e+12|0;g=e+8|0;k=e+4|0;c[f>>2]=a;c[h>>2]=b;if((d[(c[f>>2]|0)+450>>0]|0|0)!=2){i=e;return}c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[c[f>>2]>>2]|0;c[j>>2]=c[h>>2];c[k>>2]=Te(a,25024,j)|0;hp(c[g>>2]|0,155,c[(c[f>>2]|0)+464>>2]|0,0,0,c[k>>2]|0,-1)|0;i=e;return}function Dx(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+37>>0]|0|0}function Ex(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;ip(c[(c[j>>2]|0)+8>>2]|0,32,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;Cs(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Fx(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;o=i;i=i+64|0;h=o+56|0;g=o+52|0;m=o+48|0;k=o+44|0;n=o+40|0;j=o+36|0;u=o+32|0;l=o+28|0;q=o+24|0;v=o+20|0;t=o+16|0;s=o+12|0;f=o+8|0;r=o+4|0;p=o;c[h>>2]=b;c[g>>2]=d;c[m>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=0;c[j>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[u>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[v>>2]=0;c[s>>2]=c[(c[c[u>>2]>>2]|0)+20>>2];if(c[s>>2]|0){c[q>>2]=c[c[s>>2]>>2];c[t>>2]=ys(c[h>>2]|0,c[q>>2]|0)|0;Ws(c[h>>2]|0,c[s>>2]|0,c[t>>2]|0,1)|0}else{c[q>>2]=0;c[t>>2]=0}if((c[(c[u>>2]|0)+12>>2]|0)>=0){c[v>>2]=Nr(c[m>>2]|0)|0;Px(c[h>>2]|0,c[(c[u>>2]|0)+12>>2]|0,c[v>>2]|0,1,c[t>>2]|0)}if((e[(c[(c[u>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[f>>2]=0;c[p>>2]=0;c[r>>2]=c[(c[s>>2]|0)+4>>2];while(1){if(c[f>>2]|0)break;if((c[p>>2]|0)>=(c[q>>2]|0))break;c[f>>2]=cq(c[h>>2]|0,c[c[r>>2]>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}if(!(c[f>>2]|0))c[f>>2]=c[(c[c[h>>2]>>2]|0)+8>>2];if((c[n>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[h>>2]|0)+72|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[n>>2]=b}hp(c[m>>2]|0,36,c[n>>2]|0,0,0,c[f>>2]|0,-4)|0}hp(c[m>>2]|0,10,0,c[t>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[(c[u>>2]|0)+4>>2]|0,-5)|0;Xe(c[m>>2]|0,c[q>>2]&255);Us(c[h>>2]|0,c[t>>2]|0,c[q>>2]|0);Bs(c[h>>2]|0,c[t>>2]|0,c[q>>2]|0);if(c[v>>2]|0){Pr(c[m>>2]|0,c[v>>2]|0);cu(c[h>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+16}if(c[n>>2]|0)c[j>>2]=Ir(c[m>>2]|0,45,c[n>>2]|0)|0;cu(c[h>>2]|0);c[k>>2]=0;c[l>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;Os(c[h>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+24}a[c[g>>2]>>0]=0;cu(c[h>>2]|0);if(!(c[j>>2]|0)){i=o;return}zp(c[m>>2]|0,c[j>>2]|0);i=o;return}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;k=d+20|0;h=d+16|0;j=d+12|0;g=d+8|0;e=d+4|0;f=d;c[k>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[k>>2]|0)+8>>2];c[g>>2]=0;c[e>>2]=c[(c[h>>2]|0)+40>>2];while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+44>>2]|0))break;c[f>>2]=c[(c[c[e>>2]>>2]|0)+20>>2];if(c[f>>2]|0)b=c[c[f>>2]>>2]|0;else b=0;hp(c[j>>2]|0,140,c[(c[e>>2]|0)+8>>2]|0,b,0,c[(c[e>>2]|0)+4>>2]|0,-5)|0;c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+16}i=d;return}function Hx(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;h=i;i=i+48|0;m=h;j=h+32|0;d=h+28|0;l=h+24|0;g=h+20|0;e=h+16|0;n=h+12|0;f=h+8|0;k=h+4|0;c[j>>2]=a;c[d>>2]=b;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[n>>2]=(c[(c[d>>2]|0)+44>>2]|0)+(c[(c[d>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=h;return}ip(c[l>>2]|0,28,0,c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[e>>2]=c[(c[d>>2]|0)+40>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;do if((c[(c[e>>2]|0)+12>>2]|0)>=0){c[f>>2]=c[c[e>>2]>>2];if((c[(c[f>>2]|0)+20>>2]|0)!=0?(c[c[(c[f>>2]|0)+20>>2]>>2]|0)==1:0){c[k>>2]=sx(c[j>>2]|0,c[(c[f>>2]|0)+20>>2]|0,0,0)|0;hp(c[l>>2]|0,57,c[(c[e>>2]|0)+12>>2]|0,0,0,c[k>>2]|0,-6)|0;break}Se(c[j>>2]|0,24968,m);c[(c[e>>2]|0)+12>>2]=-1}while(0);c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+16}i=h;return}function Ix(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;l=f+12|0;k=f+8|0;h=f+4|0;j=f;c[l>>2]=a;c[k>>2]=b;if((((c[(c[l>>2]|0)+36>>2]|0)==0?(c[c[c[l>>2]>>2]>>2]|0)==1:0)?(c[c[(c[l>>2]|0)+32>>2]>>2]|0)==1:0)?(c[(c[(c[l>>2]|0)+32>>2]|0)+28>>2]|0)==0:0){c[h>>2]=c[(c[(c[l>>2]|0)+32>>2]|0)+24>>2];c[j>>2]=c[c[(c[c[l>>2]>>2]|0)+4>>2]>>2];if((d[(c[h>>2]|0)+44>>0]|0)&16){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if((d[c[j>>2]>>0]|0|0)!=155){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if(!(c[(c[k>>2]|0)+44>>2]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if(!((e[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if(c[(c[j>>2]|0)+4>>2]&16){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}else{c[g>>2]=c[h>>2];a=c[g>>2]|0;i=f;return a|0}}c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}function Jx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;k=l;h=l+28|0;j=l+24|0;m=l+20|0;n=l+16|0;g=l+12|0;c[h>>2]=b;c[j>>2]=e;c[m>>2]=f;if((d[(c[h>>2]|0)+450>>0]|0|0)!=2){i=l;return}if(c[m>>2]|0)if(!((d[(c[j>>2]|0)+44>>0]|0)&32))f=1;else f=(a[(c[m>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[n>>2]=f&1;e=c[c[h>>2]>>2]|0;f=(c[n>>2]|0)!=0?24944:1216;if(c[n>>2]|0)m=c[c[m>>2]>>2]|0;else m=1216;c[k>>2]=c[c[j>>2]>>2];c[k+4>>2]=f;c[k+8>>2]=m;c[g>>2]=Te(e,24920,k)|0;hp(c[(c[h>>2]|0)+8>>2]|0,155,c[(c[h>>2]|0)+464>>2]|0,0,0,c[g>>2]|0,-1)|0;i=l;return}function Kx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;l=e+20|0;h=e+16|0;f=e+12|0;j=e+8|0;g=e+4|0;k=e;c[l>>2]=a;c[h>>2]=b;c[f>>2]=0;c[c[h>>2]>>2]=0;do if((((c[(c[l>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[l>>2]|0)+40>>2]>>2],c[g>>2]=c[(c[j>>2]|0)+20>>2],(c[g>>2]|0)!=0):0)?(c[c[g>>2]>>2]|0)==1:0)?(d[c[c[(c[g>>2]|0)+4>>2]>>2]>>0]|0|0)==156:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(xc(c[k>>2]|0,8312)|0)){c[f>>2]=1;c[c[h>>2]>>2]=c[g>>2];break}if(!(xc(c[k>>2]|0,8320)|0)){c[f>>2]=2;c[c[h>>2]>>2]=c[g>>2]}}while(0);i=e;return c[f>>2]&255|0}function Lx(a,b,e,f,g){a=a|0;b=b|0;e=e|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;h=i;i=i+96|0;u=h+84|0;A=h+80|0;j=h+76|0;s=h+72|0;r=h+68|0;l=h+64|0;k=h+60|0;p=h+56|0;m=h+52|0;C=h+48|0;n=h+44|0;E=h+40|0;t=h+36|0;v=h+32|0;o=h+28|0;q=h+24|0;y=h+20|0;x=h+16|0;D=h+12|0;z=h+8|0;w=h+4|0;B=h;c[u>>2]=a;c[A>>2]=b;c[j>>2]=e;c[s>>2]=f;c[r>>2]=g;c[l>>2]=c[(c[u>>2]|0)+8>>2];c[k>>2]=Nr(c[l>>2]|0)|0;c[p>>2]=Nr(c[l>>2]|0)|0;c[C>>2]=0;c[E>>2]=c[c[j>>2]>>2];c[t>>2]=d[c[r>>2]>>0];c[v>>2]=c[(c[r>>2]|0)+4>>2];if(c[(c[j>>2]|0)+16>>2]|0){fp(c[l>>2]|0,17,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;fp(c[l>>2]|0,16,0,c[k>>2]|0)|0;Pr(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0)}c[n>>2]=c[(c[j>>2]|0)+8>>2];if((c[t>>2]|0)==9|(c[t>>2]|0)==13){c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+8>>2];c[D>>2]=c[s>>2]}else{c[q>>2]=kp(c[u>>2]|0)|0;c[o>>2]=kp(c[u>>2]|0)|0;c[D>>2]=1}c[y>>2]=(c[c[E>>2]>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0);if((d[(c[j>>2]|0)+24>>0]|0)&1){a=(c[u>>2]|0)+72|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[B>>2]=b;b=(c[u>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[x>>2]=a;if(c[(c[j>>2]|0)+16>>2]|0)c[C>>2]=_s(c[u>>2]|0)|0;ip(c[l>>2]|0,60,c[x>>2]|0,c[B>>2]|0,(c[y>>2]|0)+1+(c[D>>2]|0)|0)|0;if(c[C>>2]|0)zp(c[l>>2]|0,c[C>>2]|0);c[m>>2]=1+(fp(c[l>>2]|0,106,c[n>>2]|0,c[k>>2]|0)|0);Ox(c[l>>2]|0,c[(c[A>>2]|0)+12>>2]|0,c[p>>2]|0);ip(c[l>>2]|0,100,c[n>>2]|0,c[B>>2]|0,c[x>>2]|0)|0;c[w>>2]=0}else{c[m>>2]=1+(fp(c[l>>2]|0,107,c[n>>2]|0,c[k>>2]|0)|0);Ox(c[l>>2]|0,c[(c[A>>2]|0)+12>>2]|0,c[p>>2]|0);c[x>>2]=c[n>>2];c[w>>2]=1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[D>>2]|0))break;ip(c[l>>2]|0,47,c[x>>2]|0,(c[y>>2]|0)+(c[w>>2]|0)+(c[z>>2]|0)|0,(c[o>>2]|0)+(c[z>>2]|0)|0)|0;c[z>>2]=(c[z>>2]|0)+1}w=c[t>>2]|0;do if((w|0)==12|(w|0)==14){fp(c[l>>2]|0,74,c[v>>2]|0,c[q>>2]|0)|0;ip(c[l>>2]|0,75,c[v>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;Xe(c[l>>2]|0,8)}else if((w|0)==11){hp(c[l>>2]|0,49,c[o>>2]|0,1,c[q>>2]|0,(c[r>>2]|0)+1|0,1)|0;Us(c[u>>2]|0,c[o>>2]|0,1);fp(c[l>>2]|0,110,c[v>>2]|0,c[q>>2]|0)|0}else if((w|0)!=10){w=c[l>>2]|0;v=c[r>>2]|0;if((c[t>>2]|0)==9){fp(w,35,c[v+8>>2]|0,c[s>>2]|0)|0;Us(c[u>>2]|0,c[(c[r>>2]|0)+8>>2]|0,c[s>>2]|0);break}else{Ir(w,22,c[v+4>>2]|0)|0;break}}else Ex(c[u>>2]|0,c[o>>2]|0,c[v>>2]|0,1);while(0);if(c[q>>2]|0){lp(c[u>>2]|0,c[o>>2]|0);lp(c[u>>2]|0,c[q>>2]|0)}Pr(c[l>>2]|0,c[p>>2]|0);o=c[l>>2]|0;n=c[n>>2]|0;m=c[m>>2]|0;if((d[(c[j>>2]|0)+24>>0]|0)&1)fp(o,5,n,m)|0;else fp(o,9,n,m)|0;if(!(c[(c[j>>2]|0)+12>>2]|0)){b=c[l>>2]|0;a=c[k>>2]|0;Pr(b,a);i=h;return}Ir(c[l>>2]|0,18,c[(c[j>>2]|0)+12>>2]|0)|0;b=c[l>>2]|0;a=c[k>>2]|0;Pr(b,a);i=h;return}function Mx(e,f,g){e=e|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;u=i;i=i+80|0;z=u;k=u+68|0;l=u+64|0;m=u+60|0;q=u+56|0;n=u+52|0;s=u+48|0;x=u+44|0;w=u+40|0;v=u+36|0;o=u+32|0;p=u+28|0;t=u+24|0;h=u+20|0;r=u+16|0;y=u+12|0;A=u+8|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=c[(c[k>>2]|0)+8>>2];c[x>>2]=c[c[k>>2]>>2];if(a[(c[k>>2]|0)+450>>0]|0){i=u;return}if((c[q>>2]|0)==0?1:(d[(c[k>>2]|0)+16>>0]|0)!=0){i=u;return}if(d[(c[x>>2]|0)+64>>0]|0){i=u;return}a[(c[k>>2]|0)+16>>0]=1;c[w>>2]=(c[(c[x>>2]|0)+24>>2]&32|0)!=0&1;c[v>>2]=(c[(c[x>>2]|0)+24>>2]&64|0)!=0&1;Nt(c[q>>2]|0,c[c[m>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[o>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[o>>2]|0){if(c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[p>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];Ot(c[q>>2]|0,c[n>>2]|0,0,c[p>>2]|0,-1)|0;break}if((d[c[o>>2]>>0]|0)==154){if(!(c[l>>2]|0))j=26}else if(!((c[l>>2]|0)!=0?(d[c[o>>2]>>0]|0)==156:0))j=26;if((j|0)==26){j=0;c[A>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[x>>2]|0;if(!(c[A>>2]|0)){c[z>>2]=(c[n>>2]|0)+1;g=Te(g,24904,z)|0}else g=ne(g,c[A>>2]|0)|0;c[A>>2]=g;Ot(c[q>>2]|0,c[n>>2]|0,0,c[A>>2]|0,16)|0;break}c[r>>2]=b[(c[o>>2]|0)+32>>1];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[l>>2]>>2]|0))break;if((c[(c[l>>2]|0)+8+((c[s>>2]|0)*72|0)+40>>2]|0)==(c[(c[o>>2]|0)+28>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=c[(c[l>>2]|0)+8+((c[s>>2]|0)*72|0)+16>>2];if((c[r>>2]|0)<0)c[r>>2]=b[(c[t>>2]|0)+36>>1];if((c[r>>2]|0)<0)c[h>>2]=9992;else c[h>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[r>>2]|0)*24|0)>>2];if(!((c[v>>2]|0)!=0|(c[w>>2]|0)!=0)){f=c[q>>2]|0;e=c[n>>2]|0;Ot(f,e,0,ne(c[x>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,16)|0;break}if(c[w>>2]|0){c[y>>2]=0;e=c[x>>2]|0;f=c[h>>2]|0;c[z>>2]=c[c[t>>2]>>2];c[z+4>>2]=f;c[y>>2]=Te(e,17448,z)|0;Ot(c[q>>2]|0,c[n>>2]|0,0,c[y>>2]|0,16)|0;break}else{Ot(c[q>>2]|0,c[n>>2]|0,0,c[h>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}Nx(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0);i=u;return}function Nx(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,l=0,m=0,n=0;e=i;i=i+64|0;m=e+56|0;n=e+52|0;g=e+48|0;l=e+44|0;f=e+40|0;j=e+8|0;h=e+4|0;k=e;c[m>>2]=a;c[n>>2]=b;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+8>>2];c[j+4>>2]=c[n>>2];c[j>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;c[h>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=aq(j,c[h>>2]|0,0)|0;Ot(c[l>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=e;return}function Ox(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;j=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;if((c[g>>2]|0)<=0){i=e;return}c[h>>2]=ip(c[f>>2]|0,138,c[g>>2]|0,0,-1)|0;fp(c[f>>2]|0,16,0,c[j>>2]|0)|0;zp(c[f>>2]|0,c[h>>2]|0);i=e;return}function Px(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=kp(c[j>>2]|0)|0;We(c[l>>2]|0,69,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;ip(c[l>>2]|0,49,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;fp(c[l>>2]|0,110,c[k>>2]|0,c[h>>2]|0)|0;lp(c[j>>2]|0,c[h>>2]|0);i=g;return}function Qx(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;m=i;i=i+80|0;l=m+64|0;u=m+60|0;j=m+56|0;o=m+52|0;q=m+48|0;k=m+44|0;A=m+40|0;p=m+36|0;z=m+32|0;s=m+28|0;y=m+24|0;v=m+20|0;w=m+16|0;x=m+12|0;t=m+8|0;r=m+4|0;h=m;n=m+68|0;c[u>>2]=f;c[j>>2]=g;c[q>>2]=c[(c[u>>2]|0)+20>>2];c[k>>2]=c[c[q>>2]>>2];c[A>>2]=c[(c[q>>2]|0)+4>>2];c[p>>2]=c[(c[q>>2]|0)+12>>2];g=d[c[j>>2]>>0]|0;if((g|0)==155){if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[u>>2]|0)+16>>2]|0)==(d[(c[j>>2]|0)+38>>0]|0):0){c[h>>2]=c[(c[p>>2]|0)+40>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[p>>2]|0)+44>>2]|0))break;if(!(Dq(c[c[h>>2]>>2]|0,c[j>>2]|0,-1)|0))break;c[o>>2]=(c[o>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}do if((c[o>>2]|0)>=(c[(c[p>>2]|0)+44>>2]|0)?(a[n>>0]=a[(c[(c[(c[c[k>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[o>>2]=Tx(c[c[k>>2]>>2]|0,c[p>>2]|0)|0,(c[o>>2]|0)>=0):0){c[h>>2]=(c[(c[p>>2]|0)+40>>2]|0)+(c[o>>2]<<4);c[c[h>>2]>>2]=c[j>>2];r=(c[k>>2]|0)+72|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;c[(c[h>>2]|0)+8>>2]=q;q=c[c[k>>2]>>2]|0;r=c[(c[j>>2]|0)+8>>2]|0;s=Mb(c[(c[j>>2]|0)+8>>2]|0)|0;if(c[(c[j>>2]|0)+20>>2]|0)t=c[c[(c[j>>2]|0)+20>>2]>>2]|0;else t=0;f=Sf(q,r,s,t,a[n>>0]|0,0)|0;c[(c[h>>2]|0)+4>>2]=f;if(c[(c[j>>2]|0)+4>>2]&16){g=(c[k>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[h>>2]|0)+12>>2]=f;break}else{c[(c[h>>2]|0)+12>>2]=-1;break}}while(0);b[(c[j>>2]|0)+34>>1]=c[o>>2];c[(c[j>>2]|0)+40>>2]=c[p>>2];c[l>>2]=1;f=c[l>>2]|0;i=m;return f|0}c[l>>2]=0;f=c[l>>2]|0;i=m;return f|0}else if((g|0)==154|(g|0)==156){a:do if(c[A>>2]|0){c[z>>2]=(c[A>>2]|0)+8;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[A>>2]>>2]|0))break a;if((c[(c[j>>2]|0)+28>>2]|0)==(c[(c[z>>2]|0)+40>>2]|0))break;c[o>>2]=(c[o>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+72}c[s>>2]=c[(c[p>>2]|0)+28>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[p>>2]|0)+32>>2]|0))break;if((c[(c[s>>2]|0)+4>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0)?(c[(c[s>>2]|0)+8>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0)break;c[y>>2]=(c[y>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+24}if((c[y>>2]|0)>=(c[(c[p>>2]|0)+32>>2]|0)?(f=Sx(c[c[k>>2]>>2]|0,c[p>>2]|0)|0,c[y>>2]=f,(f|0)>=0):0){c[s>>2]=(c[(c[p>>2]|0)+28>>2]|0)+((c[y>>2]|0)*24|0);c[c[s>>2]>>2]=c[(c[j>>2]|0)+44>>2];c[(c[s>>2]|0)+4>>2]=c[(c[j>>2]|0)+28>>2];c[(c[s>>2]|0)+8>>2]=b[(c[j>>2]|0)+32>>1];g=(c[k>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[s>>2]|0)+16>>2]=f;c[(c[s>>2]|0)+12>>2]=-1;c[(c[s>>2]|0)+20>>2]=c[j>>2];b:do if(c[(c[p>>2]|0)+24>>2]|0){c[x>>2]=c[(c[p>>2]|0)+24>>2];c[t>>2]=c[(c[x>>2]|0)+4>>2];c[w>>2]=c[c[x>>2]>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break b;c[r>>2]=c[c[t>>2]>>2];if(((d[c[r>>2]>>0]|0)==154?(c[(c[r>>2]|0)+28>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0):0)?(b[(c[r>>2]|0)+32>>1]|0)==(b[(c[j>>2]|0)+32>>1]|0):0)break;c[v>>2]=(c[v>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}c[(c[s>>2]|0)+12>>2]=c[v>>2]}while(0);if((c[(c[s>>2]|0)+12>>2]|0)<0){g=(c[p>>2]|0)+12|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[s>>2]|0)+12>>2]=f}}c[(c[j>>2]|0)+40>>2]=c[p>>2];a[c[j>>2]>>0]=-100;b[(c[j>>2]|0)+34>>1]=c[y>>2]}while(0);c[l>>2]=1;f=c[l>>2]|0;i=m;return f|0}else{c[l>>2]=0;f=c[l>>2]|0;i=m;return f|0}return 0}function Rx(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;a=ku(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=a;i=e;return c[d>>2]|0}function Tx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;a=ku(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=a;i=e;return c[d>>2]|0}function Ux(b,f,g,h,j,k){b=b|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;q=i;i=i+96|0;w=q+88|0;o=q+84|0;m=q+80|0;H=q+76|0;t=q+72|0;I=q+68|0;n=q+64|0;D=q+60|0;C=q+56|0;G=q+52|0;A=q+48|0;E=q+44|0;x=q+40|0;v=q+36|0;B=q+32|0;z=q+28|0;y=q+24|0;u=q+20|0;s=q+16|0;F=q+12|0;r=q+8|0;l=q+4|0;p=q;c[w>>2]=b;c[o>>2]=f;c[m>>2]=g;c[H>>2]=h;c[t>>2]=j;c[I>>2]=k;c[n>>2]=c[(c[w>>2]|0)+8>>2];c[D>>2]=(d[(c[o>>2]|0)+24>>0]&1|0)==0&1;c[C>>2]=c[c[c[o>>2]>>2]>>2];c[G>>2]=(c[C>>2]|0)+(c[D>>2]|0)+(c[t>>2]|0);f=(c[w>>2]|0)+72|0;b=(c[f>>2]|0)+1|0;c[f>>2]=b;c[E>>2]=b;c[x>>2]=c[(c[o>>2]|0)+4>>2];if(c[I>>2]|0)c[A>>2]=(c[H>>2]|0)-(c[C>>2]|0)-(c[D>>2]|0);else{c[A>>2]=(c[(c[w>>2]|0)+72>>2]|0)+1;b=(c[w>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[G>>2]|0)}Ws(c[w>>2]|0,c[c[o>>2]>>2]|0,c[A>>2]|0,1)|0;if(c[D>>2]|0)fp(c[n>>2]|0,73,c[(c[o>>2]|0)+8>>2]|0,(c[A>>2]|0)+(c[C>>2]|0)|0)|0;if(!(c[I>>2]|0))Ex(c[w>>2]|0,c[H>>2]|0,(c[A>>2]|0)+(c[C>>2]|0)+(c[D>>2]|0)|0,c[t>>2]|0);ip(c[n>>2]|0,49,(c[A>>2]|0)+(c[x>>2]|0)|0,(c[G>>2]|0)-(c[x>>2]|0)|0,c[E>>2]|0)|0;do if((c[x>>2]|0)>0){c[B>>2]=(c[(c[w>>2]|0)+72>>2]|0)+1;k=(c[w>>2]|0)+72|0;c[k>>2]=(c[k>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=(c[C>>2]|0)-(c[(c[o>>2]|0)+4>>2]|0)+(c[D>>2]|0);k=c[n>>2]|0;if(c[D>>2]|0)c[z>>2]=Ir(k,46,(c[A>>2]|0)+(c[C>>2]|0)|0)|0;else c[z>>2]=Ir(k,59,c[(c[o>>2]|0)+8>>2]|0)|0;ip(c[n>>2]|0,42,c[B>>2]|0,c[A>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[u>>2]=dt(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;if(a[(c[c[w>>2]>>2]|0)+64>>0]|0){i=q;return}else{c[(c[u>>2]|0)+8>>2]=(c[s>>2]|0)+(c[t>>2]|0);c[F>>2]=c[(c[u>>2]|0)+16>>2];_E(c[(c[F>>2]|0)+16>>2]|0,0,e[(c[F>>2]|0)+6>>1]|0)|0;bf(c[n>>2]|0,-1,c[F>>2]|0,-6);f=sx(c[w>>2]|0,c[c[o>>2]>>2]|0,c[x>>2]|0,1)|0;c[(c[u>>2]|0)+16>>2]=f;c[y>>2]=Mr(c[n>>2]|0)|0;ip(c[n>>2]|0,43,(c[y>>2]|0)+1|0,0,(c[y>>2]|0)+1|0)|0;f=Nr(c[n>>2]|0)|0;c[(c[o>>2]|0)+16>>2]=f;f=(c[w>>2]|0)+72|0;b=(c[f>>2]|0)+1|0;c[f>>2]=b;c[(c[o>>2]|0)+12>>2]=b;fp(c[n>>2]|0,17,c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;Ir(c[n>>2]|0,119,c[(c[o>>2]|0)+8>>2]|0)|0;zp(c[n>>2]|0,c[z>>2]|0);Ex(c[w>>2]|0,c[A>>2]|0,c[B>>2]|0,c[(c[o>>2]|0)+4>>2]|0);zp(c[n>>2]|0,c[y>>2]|0);break}}while(0);if(d[(c[o>>2]|0)+24>>0]&1)c[v>>2]=109;else c[v>>2]=110;fp(c[n>>2]|0,c[v>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[E>>2]|0)|0;if(!(c[(c[m>>2]|0)+8>>2]|0)){i=q;return}s=c[m>>2]|0;if(c[(c[m>>2]|0)+12>>2]|0)c[p>>2]=(c[s+12>>2]|0)+1;else c[p>>2]=c[s+8>>2];c[r>>2]=Ir(c[n>>2]|0,139,c[p>>2]|0)|0;fp(c[n>>2]|0,37,c[p>>2]|0,-1)|0;c[l>>2]=mp(c[n>>2]|0,16)|0;zp(c[n>>2]|0,c[r>>2]|0);Ir(c[n>>2]|0,105,c[(c[o>>2]|0)+8>>2]|0)|0;Ir(c[n>>2]|0,95,c[(c[o>>2]|0)+8>>2]|0)|0;zp(c[n>>2]|0,c[l>>2]|0);i=q;return}function Vx(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[e>>2]|0;if((a|0)==117)c[b>>2]=25376;else if((a|0)==118)c[b>>2]=25360;else if((a|0)==116)c[b>>2]=25344;else c[b>>2]=25384;i=d;return c[b>>2]|0}function Wx(a,f,g){a=a|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,G=0,H=0;x=i;i=i+112|0;n=x+108|0;o=x+104|0;q=x+100|0;H=x+96|0;D=x+92|0;t=x+88|0;y=x+84|0;v=x+80|0;l=x+76|0;r=x+72|0;p=x+68|0;u=x+64|0;k=x+60|0;B=x+56|0;E=x+52|0;z=x+32|0;G=x+28|0;A=x+24|0;h=x+20|0;w=x+16|0;j=x+12|0;s=x+8|0;m=x+4|0;C=x;c[n>>2]=a;c[o>>2]=f;c[q>>2]=g;c[H>>2]=c[(c[o>>2]|0)+32>>2];c[D>>2]=c[c[c[o>>2]>>2]>>2];c[t>>2]=c[(c[n>>2]|0)+8>>2];c[y>>2]=c[(c[o>>2]|0)+52>>2];c[p>>2]=0;c[B>>2]=0;c[E>>2]=5;if(ap(c[n>>2]|0,33,0,0,0)|0){i=x;return}c[r>>2]=Nr(c[t>>2]|0)|0;tx(c[n>>2]|0,c[o>>2]|0,c[r>>2]|0);c[w>>2]=c[(c[o>>2]|0)+60>>2];c[j>>2]=c[(c[o>>2]|0)+64>>2];c[s>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+64>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[(c[o>>2]|0)+12>>2]=0;c[(c[o>>2]|0)+8>>2]=0;c[h>>2]=c[(c[o>>2]|0)+48>>2];c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[H>>2]>>2]|0))break;g=c[G>>2]|0;if((d[(c[H>>2]|0)+8+((c[G>>2]|0)*72|0)+37>>0]|0)>>>3&1){F=5;break}c[G>>2]=g+1}if((F|0)==5)c[p>>2]=c[(c[H>>2]|0)+8+(g*72|0)+40>>2];a=(c[n>>2]|0)+68|0;F=c[a>>2]|0;c[a>>2]=F+1;c[k>>2]=F;F=(c[h>>2]|0)!=0;if((d[(c[o>>2]|0)+4>>0]|0|0)==115){c[E>>2]=F?8:6;f=(c[n>>2]|0)+68|0;a=c[f>>2]|0;c[f>>2]=a+1;c[B>>2]=a}else c[E>>2]=F?7:5;$s(z,c[E>>2]|0,c[k>>2]|0);f=(c[n>>2]|0)+72|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[u>>2]=a;ip(c[t>>2]|0,60,c[p>>2]|0,c[u>>2]|0,c[D>>2]|0)|0;if(c[h>>2]|0){c[C>>2]=_x(c[n>>2]|0,c[o>>2]|0,1)|0;hp(c[t>>2]|0,57,c[k>>2]|0,(c[c[h>>2]>>2]|0)+2|0,0,c[C>>2]|0,-6)|0;c[z+16>>2]=c[h>>2]}else fp(c[t>>2]|0,57,c[k>>2]|0,c[D>>2]|0)|0;if(c[B>>2]|0){a=fp(c[t>>2]|0,57,c[B>>2]|0,0)|0;c[(c[o>>2]|0)+16>>2]=a;a=(c[o>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|8}c[(c[o>>2]|0)+48>>2]=0;c[(c[y>>2]|0)+56>>2]=0;c[A>>2]=ao(c[n>>2]|0,c[y>>2]|0,z)|0;c[(c[y>>2]|0)+56>>2]=c[o>>2];if(!(c[A>>2]|0)){c[v>>2]=fp(c[t>>2]|0,108,c[k>>2]|0,c[r>>2]|0)|0;Ir(c[t>>2]|0,104,c[p>>2]|0)|0;B=c[t>>2]|0;A=c[k>>2]|0;if(c[h>>2]|0)ip(B,47,A,(c[c[h>>2]>>2]|0)+1|0,c[u>>2]|0)|0;else fp(B,102,A,c[u>>2]|0)|0;Ir(c[t>>2]|0,95,c[k>>2]|0)|0;c[l>>2]=Nr(c[t>>2]|0)|0;Ox(c[t>>2]|0,c[m>>2]|0,c[l>>2]|0);xx(c[n>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0,c[p>>2]|0,0,0,c[q>>2]|0,c[l>>2]|0,c[r>>2]|0);if(c[s>>2]|0)ip(c[t>>2]|0,139,c[s>>2]|0,c[r>>2]|0,-1)|0;Pr(c[t>>2]|0,c[l>>2]|0);c[(c[o>>2]|0)+52>>2]=0;ao(c[n>>2]|0,c[o>>2]|0,z)|0;c[(c[o>>2]|0)+52>>2]=c[y>>2];fp(c[t>>2]|0,16,0,c[v>>2]|0)|0;Pr(c[t>>2]|0,c[r>>2]|0)}sn(c[c[n>>2]>>2]|0,c[(c[o>>2]|0)+48>>2]|0);c[(c[o>>2]|0)+48>>2]=c[h>>2];c[(c[o>>2]|0)+60>>2]=c[w>>2];c[(c[o>>2]|0)+64>>2]=c[j>>2];i=x;return}function Xx(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,A=0,B=0,C=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;X=i;i=i+224|0;W=X+212|0;A=X+208|0;l=X+204|0;C=X+200|0;_=X+196|0;ba=X+192|0;m=X+188|0;n=X+184|0;G=X+164|0;B=X+144|0;r=X+140|0;y=X+136|0;H=X+132|0;L=X+128|0;o=X+124|0;w=X+120|0;p=X+116|0;x=X+112|0;J=X+108|0;v=X+104|0;E=X+100|0;q=X+96|0;Q=X+92|0;R=X+88|0;k=X+84|0;O=X+80|0;j=X+76|0;M=X+72|0;N=X+68|0;s=X+64|0;u=X+60|0;I=X+56|0;t=X+52|0;z=X+48|0;S=X+44|0;F=X+40|0;Z=X+36|0;T=X+32|0;U=X+28|0;K=X+24|0;P=X+20|0;ca=X+16|0;aa=X+12|0;Y=X+8|0;$=X+4|0;V=X;c[A>>2]=f;c[l>>2]=g;c[C>>2]=h;c[x>>2]=0;c[z>>2]=0;c[F>>2]=c[c[A>>2]>>2];c[n>>2]=c[(c[A>>2]|0)+8>>2];c[u>>2]=Nr(c[n>>2]|0)|0;c[s>>2]=Nr(c[n>>2]|0)|0;c[t>>2]=d[(c[l>>2]|0)+4>>0];c[m>>2]=c[(c[l>>2]|0)+52>>2];c[Z>>2]=c[(c[l>>2]|0)+48>>2];c[T>>2]=c[c[Z>>2]>>2];a:do if((c[t>>2]|0)!=116){c[_>>2]=1;while(1){if(d[(c[F>>2]|0)+64>>0]|0)break a;if((c[_>>2]|0)>(c[c[c[l>>2]>>2]>>2]|0))break a;c[ba>>2]=0;c[ca>>2]=c[(c[Z>>2]|0)+4>>2];while(1){if((c[ba>>2]|0)>=(c[T>>2]|0))break;if((e[(c[ca>>2]|0)+16>>1]|0|0)==(c[_>>2]|0))break;c[ba>>2]=(c[ba>>2]|0)+1;c[ca>>2]=(c[ca>>2]|0)+20}if((c[ba>>2]|0)==(c[T>>2]|0)){c[aa>>2]=ho(c[F>>2]|0,132,0)|0;if(!(c[aa>>2]|0))break;f=(c[aa>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[aa>>2]|0)+8>>2]=c[_>>2];c[Z>>2]=eo(c[A>>2]|0,c[Z>>2]|0,c[aa>>2]|0)|0;if(c[Z>>2]|0){g=c[_>>2]&65535;f=c[T>>2]|0;c[T>>2]=f+1;b[(c[(c[Z>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=g}}c[_>>2]=(c[_>>2]|0)+1}c[W>>2]=7;f=c[W>>2]|0;i=X;return f|0}while(0);c[U>>2]=Qe(c[F>>2]|0,c[T>>2]<<2,0)|0;if(c[U>>2]|0){c[_>>2]=0;c[Y>>2]=c[(c[Z>>2]|0)+4>>2];while(1){if((c[_>>2]|0)>=(c[T>>2]|0))break;c[(c[U>>2]|0)+(c[_>>2]<<2)>>2]=(e[(c[Y>>2]|0)+16>>1]|0)-1;c[_>>2]=(c[_>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+20}c[S>>2]=_x(c[A>>2]|0,c[l>>2]|0,1)|0}else c[S>>2]=0;c[(c[l>>2]|0)+48>>2]=c[Z>>2];f=Jq(c[c[A>>2]>>2]|0,c[Z>>2]|0,0)|0;c[(c[m>>2]|0)+48>>2]=f;b:do if((c[t>>2]|0)!=116){c[$>>2]=c[c[c[l>>2]>>2]>>2];c[j>>2]=(c[(c[A>>2]|0)+72>>2]|0)+1;f=(c[A>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+((c[$>>2]|0)+1);fp(c[n>>2]|0,25,0,c[j>>2]|0)|0;c[z>>2]=Xr(c[F>>2]|0,c[$>>2]|0,1)|0;if(c[z>>2]|0){c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[$>>2]|0))break b;f=Zx(c[A>>2]|0,c[l>>2]|0,c[_>>2]|0)|0;c[(c[z>>2]|0)+20+(c[_>>2]<<2)>>2]=f;a[(c[(c[z>>2]|0)+16>>2]|0)+(c[_>>2]|0)>>0]=0;c[_>>2]=(c[_>>2]|0)+1}}}else c[j>>2]=0;while(0);c[(c[l>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+56>>2]=0;Lq(c[A>>2]|0,c[l>>2]|0,c[(c[l>>2]|0)+48>>2]|0,16480)|0;if(!(c[(c[m>>2]|0)+52>>2]|0))Lq(c[A>>2]|0,c[m>>2]|0,c[(c[m>>2]|0)+48>>2]|0,16480)|0;tx(c[A>>2]|0,c[l>>2]|0,c[u>>2]|0);if((c[t>>2]|0)==116?(c[(c[l>>2]|0)+8>>2]|0)!=0:0){Y=(c[A>>2]|0)+72|0;f=(c[Y>>2]|0)+1|0;c[Y>>2]=f;c[k>>2]=f;f=(c[A>>2]|0)+72|0;Y=(c[f>>2]|0)+1|0;c[f>>2]=Y;c[O>>2]=Y;Y=c[l>>2]|0;if(c[(c[l>>2]|0)+12>>2]|0)Y=(c[Y+12>>2]|0)+1|0;else Y=c[Y+8>>2]|0;fp(c[n>>2]|0,33,Y,c[k>>2]|0)|0;fp(c[n>>2]|0,33,c[k>>2]|0,c[O>>2]|0)|0}else{c[O>>2]=0;c[k>>2]=0}wn(c[F>>2]|0,c[(c[l>>2]|0)+60>>2]|0);c[(c[l>>2]|0)+60>>2]=0;wn(c[F>>2]|0,c[(c[l>>2]|0)+64>>2]|0);c[(c[l>>2]|0)+64>>2]=0;f=(c[A>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[r>>2]=g;g=(c[A>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[y>>2]=f;f=(c[A>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[o>>2]=g;g=(c[A>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[w>>2]=f;$s(G,13,c[r>>2]|0);$s(B,13,c[y>>2]|0);c[H>>2]=(Mr(c[n>>2]|0)|0)+1;c[I>>2]=ip(c[n>>2]|0,20,c[r>>2]|0,0,c[H>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=c[k>>2];c[K>>2]=c[(c[A>>2]|0)+468>>2];ao(c[A>>2]|0,c[m>>2]|0,G)|0;Ir(c[n>>2]|0,21,c[r>>2]|0)|0;zp(c[n>>2]|0,c[I>>2]|0);c[L>>2]=(Mr(c[n>>2]|0)|0)+1;c[I>>2]=ip(c[n>>2]|0,20,c[y>>2]|0,0,c[L>>2]|0)|0;c[M>>2]=c[(c[l>>2]|0)+8>>2];c[N>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+8>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[P>>2]=c[(c[A>>2]|0)+468>>2];ao(c[A>>2]|0,c[l>>2]|0,B)|0;c[(c[l>>2]|0)+8>>2]=c[M>>2];c[(c[l>>2]|0)+12>>2]=c[N>>2];Ir(c[n>>2]|0,21,c[y>>2]|0)|0;c[p>>2]=$x(c[A>>2]|0,c[l>>2]|0,G,c[C>>2]|0,c[o>>2]|0,c[j>>2]|0,c[z>>2]|0,c[u>>2]|0)|0;if((c[t>>2]|0)==116|(c[t>>2]|0)==115)c[x>>2]=$x(c[A>>2]|0,c[l>>2]|0,B,c[C>>2]|0,c[w>>2]|0,c[j>>2]|0,c[z>>2]|0,c[u>>2]|0)|0;eh(c[z>>2]|0);if((c[t>>2]|0)==117|(c[t>>2]|0)==118){f=c[u>>2]|0;c[J>>2]=f;c[v>>2]=f}else{c[J>>2]=fp(c[n>>2]|0,17,c[w>>2]|0,c[x>>2]|0)|0;c[v>>2]=fp(c[n>>2]|0,22,c[y>>2]|0,c[u>>2]|0)|0;fp(c[n>>2]|0,16,0,c[J>>2]|0)|0;g=(c[m>>2]|0)+24|0;f=(c[l>>2]|0)+24|0;ca=f;g=bF(c[ca>>2]|0,c[ca+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=D}if((c[t>>2]|0)==118){c[E>>2]=c[J>>2];g=(c[l>>2]|0)+24|0;ba=c[g+4>>2]|0;f=(c[m>>2]|0)+24|0;ca=c[f+4>>2]|0;if(ba>>>0>ca>>>0|((ba|0)==(ca|0)?(c[g>>2]|0)>>>0>(c[f>>2]|0)>>>0:0)){ca=(c[m>>2]|0)+24|0;g=c[ca+4>>2]|0;f=(c[l>>2]|0)+24|0;c[f>>2]=c[ca>>2];c[f+4>>2]=g}}else{c[E>>2]=fp(c[n>>2]|0,17,c[o>>2]|0,c[p>>2]|0)|0;fp(c[n>>2]|0,22,c[r>>2]|0,c[u>>2]|0)|0;fp(c[n>>2]|0,16,0,c[E>>2]|0)|0}c[q>>2]=fp(c[n>>2]|0,17,c[o>>2]|0,c[p>>2]|0)|0;fp(c[n>>2]|0,22,c[r>>2]|0,c[J>>2]|0)|0;fp(c[n>>2]|0,16,0,c[s>>2]|0)|0;do if((c[t>>2]|0)!=116)if((c[t>>2]|0)==118){c[Q>>2]=c[q>>2];c[q>>2]=(c[q>>2]|0)+1;break}else{c[Q>>2]=fp(c[n>>2]|0,22,c[r>>2]|0,c[J>>2]|0)|0;fp(c[n>>2]|0,16,0,c[s>>2]|0)|0;break}else c[Q>>2]=c[q>>2];while(0);c[R>>2]=Mr(c[n>>2]|0)|0;if((c[t>>2]|0)==116|(c[t>>2]|0)==115)fp(c[n>>2]|0,17,c[w>>2]|0,c[x>>2]|0)|0;fp(c[n>>2]|0,22,c[y>>2]|0,c[E>>2]|0)|0;fp(c[n>>2]|0,16,0,c[s>>2]|0)|0;zp(c[n>>2]|0,c[I>>2]|0);fp(c[n>>2]|0,22,c[r>>2]|0,c[v>>2]|0)|0;fp(c[n>>2]|0,22,c[y>>2]|0,c[E>>2]|0)|0;Pr(c[n>>2]|0,c[s>>2]|0);hp(c[n>>2]|0,41,0,0,0,c[U>>2]|0,-15)|0;hp(c[n>>2]|0,42,c[G+8>>2]|0,c[B+8>>2]|0,c[T>>2]|0,c[S>>2]|0,-6)|0;Xe(c[n>>2]|0,1);ip(c[n>>2]|0,43,c[q>>2]|0,c[Q>>2]|0,c[R>>2]|0)|0;Pr(c[n>>2]|0,c[u>>2]|0);if((d[c[C>>2]>>0]|0|0)==9){c[V>>2]=c[m>>2];while(1){if(!(c[(c[V>>2]|0)+52>>2]|0))break;c[V>>2]=c[(c[V>>2]|0)+52>>2]}Mx(c[A>>2]|0,0,c[c[V>>2]>>2]|0)}if(c[(c[l>>2]|0)+52>>2]|0)tn(c[F>>2]|0,c[(c[l>>2]|0)+52>>2]|0);c[(c[l>>2]|0)+52>>2]=c[m>>2];c[(c[m>>2]|0)+56>>2]=c[l>>2];Yx(c[A>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[K>>2]|0,c[P>>2]|0,0);c[W>>2]=0;f=c[W>>2]|0;i=X;return f|0}function Yx(a,b,e,f,g){a=a|0;b=b|0;e=e|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;o=i;i=i+48|0;p=o;j=o+40|0;h=o+36|0;l=o+32|0;m=o+28|0;n=o+24|0;k=o+20|0;q=o+16|0;c[j>>2]=a;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if((d[(c[j>>2]|0)+450>>0]|0|0)!=2){i=o;return}c[k>>2]=c[(c[j>>2]|0)+8>>2];a=c[c[j>>2]>>2]|0;l=c[l>>2]|0;f=c[m>>2]|0;e=(c[n>>2]|0)!=0?25320:1216;b=Vx(c[h>>2]|0)|0;c[p>>2]=l;c[p+4>>2]=f;c[p+8>>2]=e;c[p+12>>2]=b;c[q>>2]=Te(a,25280,p)|0;hp(c[k>>2]|0,155,c[(c[j>>2]|0)+464>>2]|0,0,0,c[q>>2]|0,-1)|0;i=o;return}function Zx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[(c[h>>2]|0)+52>>2]|0)c[e>>2]=Zx(c[g>>2]|0,c[(c[h>>2]|0)+52>>2]|0,c[j>>2]|0)|0;else c[e>>2]=0;if(c[e>>2]|0){a=c[e>>2]|0;i=f;return a|0}if((c[j>>2]|0)>=(c[c[c[h>>2]>>2]>>2]|0)){a=c[e>>2]|0;i=f;return a|0}c[e>>2]=cq(c[g>>2]|0,c[(c[(c[c[h>>2]>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)|0;a=c[e>>2]|0;i=f;return a|0}function _x(b,d,f){b=b|0;d=d|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;n=i;i=i+48|0;p=n+40|0;l=n+36|0;s=n+32|0;h=n+28|0;q=n+24|0;r=n+20|0;m=n+16|0;o=n+12|0;g=n+8|0;j=n+4|0;k=n;c[p>>2]=b;c[l>>2]=d;c[s>>2]=f;c[h>>2]=c[(c[l>>2]|0)+48>>2];c[q>>2]=c[c[(c[l>>2]|0)+48>>2]>>2];c[r>>2]=c[c[p>>2]>>2];c[m>>2]=Xr(c[r>>2]|0,(c[q>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;c[g>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);c[j>>2]=c[c[g>>2]>>2];f=c[p>>2]|0;if(c[(c[j>>2]|0)+4>>2]&256)c[k>>2]=cq(f,c[j>>2]|0)|0;else{c[k>>2]=Zx(f,c[l>>2]|0,(e[(c[g>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[r>>2]|0)+8>>2];s=Oq(c[p>>2]|0,c[j>>2]|0,c[c[k>>2]>>2]|0)|0;c[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]=s}c[(c[m>>2]|0)+20+(c[o>>2]<<2)>>2]=c[k>>2];a[(c[(c[m>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)+12>>0]|0;c[o>>2]=(c[o>>2]|0)+1}s=c[m>>2]|0;i=n;return s|0}function $x(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;n=i;i=i+80|0;y=n+64|0;u=n+60|0;o=n+56|0;x=n+52|0;m=n+48|0;s=n+44|0;A=n+40|0;D=n+36|0;q=n+32|0;p=n+28|0;r=n+24|0;t=n+20|0;B=n+16|0;C=n+12|0;v=n+8|0;w=n+4|0;z=n;c[u>>2]=b;c[o>>2]=e;c[x>>2]=f;c[m>>2]=g;c[s>>2]=h;c[A>>2]=j;c[D>>2]=k;c[q>>2]=l;c[p>>2]=c[(c[u>>2]|0)+8>>2];c[t>>2]=Mr(c[p>>2]|0)|0;c[r>>2]=Nr(c[p>>2]|0)|0;if(c[A>>2]|0){c[B>>2]=Ir(c[p>>2]|0,46,c[A>>2]|0)|0;g=c[p>>2]|0;f=c[(c[x>>2]|0)+8>>2]|0;e=(c[A>>2]|0)+1|0;b=c[(c[x>>2]|0)+12>>2]|0;c[C>>2]=hp(g,42,f,e,b,Yr(c[D>>2]|0)|0,-6)|0;ip(c[p>>2]|0,43,(c[C>>2]|0)+2|0,c[r>>2]|0,(c[C>>2]|0)+2|0)|0;zp(c[p>>2]|0,c[B>>2]|0);ip(c[p>>2]|0,33,c[(c[x>>2]|0)+8>>2]|0,(c[A>>2]|0)+1|0,(c[(c[x>>2]|0)+12>>2]|0)-1|0)|0;fp(c[p>>2]|0,25,1,c[A>>2]|0)|0}if(a[(c[c[u>>2]>>2]|0)+64>>0]|0){c[y>>2]=0;b=c[y>>2]|0;i=n;return b|0}Ox(c[p>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[r>>2]|0);switch(d[c[m>>2]>>0]|0){case 12:case 14:{c[v>>2]=kp(c[u>>2]|0)|0;c[w>>2]=kp(c[u>>2]|0)|0;ip(c[p>>2]|0,49,c[(c[x>>2]|0)+8>>2]|0,c[(c[x>>2]|0)+12>>2]|0,c[v>>2]|0)|0;fp(c[p>>2]|0,74,c[(c[m>>2]|0)+4>>2]|0,c[w>>2]|0)|0;ip(c[p>>2]|0,75,c[(c[m>>2]|0)+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;Xe(c[p>>2]|0,8);lp(c[u>>2]|0,c[w>>2]|0);lp(c[u>>2]|0,c[v>>2]|0);break};case 13:{if(!(c[(c[m>>2]|0)+8>>2]|0)){b=ys(c[u>>2]|0,c[(c[x>>2]|0)+12>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=b;c[(c[m>>2]|0)+12>>2]=c[(c[x>>2]|0)+12>>2]}Ex(c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+12>>2]|0);Ir(c[p>>2]|0,22,c[(c[m>>2]|0)+4>>2]|0)|0;break};case 11:{b=kt(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[m>>2]|0)+1>>0]|0)|0;a[(c[m>>2]|0)+1>>0]=b;c[z>>2]=kp(c[u>>2]|0)|0;hp(c[p>>2]|0,49,c[(c[x>>2]|0)+8>>2]|0,1,c[z>>2]|0,(c[m>>2]|0)+1|0,1)|0;Us(c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0,1);fp(c[p>>2]|0,110,c[(c[m>>2]|0)+4>>2]|0,c[z>>2]|0)|0;lp(c[u>>2]|0,c[z>>2]|0);break};case 10:{Ex(c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+4>>2]|0,1);break};default:{fp(c[p>>2]|0,35,c[(c[x>>2]|0)+8>>2]|0,c[(c[x>>2]|0)+12>>2]|0)|0;Us(c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[(c[x>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+8>>2]|0)ip(c[p>>2]|0,139,c[(c[o>>2]|0)+8>>2]|0,c[q>>2]|0,-1)|0;Pr(c[p>>2]|0,c[r>>2]|0);Ir(c[p>>2]|0,18,c[s>>2]|0)|0;c[y>>2]=c[t>>2];b=c[y>>2]|0;i=n;return b|0}function ay(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;j=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[h>>2]|0)){i=f;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[h>>2]>>2]|0))break;a=by(c[j>>2]|0,c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]=a;c[g>>2]=(c[g>>2]|0)+1}i=f;return}function by(e,f,g,h){e=e|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,q=0;n=i;i=i+32|0;k=n+20|0;q=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;p=n;c[q>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;if(!(c[l>>2]|0)){c[k>>2]=0;e=c[k>>2]|0;i=n;return e|0}do if((d[c[l>>2]>>0]|0)==154?(c[(c[l>>2]|0)+28>>2]|0)==(c[j>>2]|0):0)if((b[(c[l>>2]|0)+32>>1]|0)<0){a[c[l>>2]>>0]=101;break}else{c[p>>2]=Bq(c[q>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((b[(c[l>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;wn(c[q>>2]|0,c[l>>2]|0);c[l>>2]=c[p>>2];break}else o=8;while(0);do if((o|0)==8){p=by(c[q>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=p;p=by(c[q>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+16>>2]=p;p=c[q>>2]|0;o=(c[l>>2]|0)+20|0;if(c[(c[l>>2]|0)+4>>2]&2048){cy(p,c[o>>2]|0,c[j>>2]|0,c[m>>2]|0);break}else{ay(p,c[o>>2]|0,c[j>>2]|0,c[m>>2]|0);break}}while(0);c[k>>2]=c[l>>2];e=c[k>>2]|0;i=n;return e|0}function cy(a,b,d,e){a=a|0;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;l=i;i=i+32|0;h=l+24|0;n=l+20|0;k=l+16|0;f=l+12|0;m=l+8|0;j=l+4|0;g=l;c[h>>2]=a;c[n>>2]=b;c[k>>2]=d;c[f>>2]=e;if(!(c[n>>2]|0)){i=l;return}ay(c[h>>2]|0,c[c[n>>2]>>2]|0,c[k>>2]|0,c[f>>2]|0);ay(c[h>>2]|0,c[(c[n>>2]|0)+40>>2]|0,c[k>>2]|0,c[f>>2]|0);ay(c[h>>2]|0,c[(c[n>>2]|0)+48>>2]|0,c[k>>2]|0,c[f>>2]|0);a=by(c[h>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[k>>2]|0,c[f>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=a;a=by(c[h>>2]|0,c[(c[n>>2]|0)+36>>2]|0,c[k>>2]|0,c[f>>2]|0)|0;c[(c[n>>2]|0)+36>>2]=a;cy(c[h>>2]|0,c[(c[n>>2]|0)+52>>2]|0,c[k>>2]|0,c[f>>2]|0);c[m>>2]=c[(c[n>>2]|0)+32>>2];if(!(c[m>>2]|0)){i=l;return}c[g>>2]=c[c[m>>2]>>2];c[j>>2]=(c[m>>2]|0)+8;while(1){if((c[g>>2]|0)<=0)break;cy(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0,c[f>>2]|0);c[g>>2]=(c[g>>2]|0)+ -1;c[j>>2]=(c[j>>2]|0)+72}i=l;return}function dy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;h=l+16|0;g=l+12|0;n=l+8|0;o=l+4|0;j=l;c[k>>2]=b;c[m>>2]=e;c[h>>2]=f;c[g>>2]=c[c[k>>2]>>2];if(!(c[(c[g>>2]|0)+24>>2]&524288)){i=l;return}if((d[(c[h>>2]|0)+44>>0]|0)&16){i=l;return}if(c[(c[h>>2]|0)+12>>2]|0){i=l;return}c[n>>2]=0;c[o>>2]=dp(c[k>>2]|0)|0;do if(!(Up(c[h>>2]|0)|0)){c[j>>2]=c[(c[h>>2]|0)+16>>2];while(1){if(!(c[j>>2]|0))break;if(d[(c[j>>2]|0)+24>>0]|0)break;if(c[(c[g>>2]|0)+24>>2]&16777216)break;c[j>>2]=c[(c[j>>2]|0)+4>>2]}if(c[j>>2]|0){c[n>>2]=Nr(c[o>>2]|0)|0;fp(c[o>>2]|0,135,1,c[n>>2]|0)|0;break}else{i=l;return}}while(0);a[(c[k>>2]|0)+438>>0]=1;b=c[k>>2]|0;no(b,wr(c[g>>2]|0,c[m>>2]|0,0)|0,0);a[(c[k>>2]|0)+438>>0]=0;if(!(c[(c[g>>2]|0)+24>>2]&16777216)){b=c[o>>2]|0;fp(b,135,0,(Mr(c[o>>2]|0)|0)+2|0)|0;ts(c[k>>2]|0,787,2,0,-2,4)}if(!(c[n>>2]|0)){i=l;return}Pr(c[o>>2]|0,c[n>>2]|0);i=l;return}function ey(a,b,e,f){a=a|0;b=b|0;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;m=i;i=i+48|0;o=m;k=m+40|0;j=m+36|0;h=m+32|0;p=m+28|0;n=m+24|0;l=m+20|0;q=m+16|0;g=m+12|0;c[k>>2]=a;c[j>>2]=b;c[h>>2]=e;c[p>>2]=f;c[l>>2]=c[c[k>>2]>>2];c[g>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[h>>2]<<4);c[n>>2]=dp(c[k>>2]|0)|0;pp(c[k>>2]|0,1,c[h>>2]|0);if((d[(c[j>>2]|0)+44>>0]|0)&16)mp(c[n>>2]|0,144)|0;c[q>>2]=wp(c[k>>2]|0,c[j>>2]|0)|0;while(1){if(!(c[q>>2]|0))break;Bt(c[k>>2]|0,c[q>>2]|0);c[q>>2]=c[(c[q>>2]|0)+32>>2]}if((d[(c[j>>2]|0)+44>>0]|0)&8){a=c[k>>2]|0;b=c[c[j>>2]>>2]|0;c[o>>2]=c[c[g>>2]>>2];c[o+4>>2]=b;cp(a,25632,o)}a=c[k>>2]|0;e=(c[h>>2]|0)==1?14904:14928;b=c[c[j>>2]>>2]|0;c[o>>2]=c[c[g>>2]>>2];c[o+4>>2]=e;c[o+8>>2]=b;cp(a,25680,o);if((c[p>>2]|0)==0?((d[(c[j>>2]|0)+44>>0]|0)&16|0)==0:0)fy(c[k>>2]|0,c[j>>2]|0);if(!((d[(c[j>>2]|0)+44>>0]|0)&16)){e=c[n>>2]|0;b=c[h>>2]|0;a=c[j>>2]|0;a=c[a>>2]|0;hp(e,124,b,0,0,a,0)|0;a=c[k>>2]|0;b=c[h>>2]|0;ep(a,b);b=c[l>>2]|0;a=c[h>>2]|0;gy(b,a);i=m;return}hp(c[n>>2]|0,146,c[h>>2]|0,0,0,c[c[j>>2]>>2]|0,0)|0;e=c[n>>2]|0;b=c[h>>2]|0;a=c[j>>2]|0;a=c[a>>2]|0;hp(e,124,b,0,0,a,0)|0;a=c[k>>2]|0;b=c[h>>2]|0;ep(a,b);b=c[l>>2]|0;a=c[h>>2]|0;gy(b,a);i=m;return}function fy(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;k=i;i=i+32|0;m=k+28|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;n=k;c[m>>2]=a;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+32>>2];c[j>>2]=0;while(1){c[f>>2]=0;if(!((c[j>>2]|0)!=0?(c[l>>2]|0)>=(c[j>>2]|0):0))c[f>>2]=c[l>>2];c[g>>2]=c[(c[d>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+44>>2];if(!((c[j>>2]|0)!=0?(c[h>>2]|0)>=(c[j>>2]|0):0))e=9;if((e|0)==9?(e=0,(c[h>>2]|0)>(c[f>>2]|0)):0)c[f>>2]=c[h>>2];c[g>>2]=c[(c[g>>2]|0)+20>>2]}if(!(c[f>>2]|0))break;c[n>>2]=Ve(c[c[m>>2]>>2]|0,c[(c[d>>2]|0)+68>>2]|0)|0;ju(c[m>>2]|0,c[f>>2]|0,c[n>>2]|0);c[j>>2]=c[f>>2]}i=k;return}function gy(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=d;if(((e[(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=f;return}c[j>>2]=c[(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+16>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0){hy(c[g>>2]|0,c[k>>2]|0);c[(c[k>>2]|0)+4>>2]=0;b[(c[k>>2]|0)+38>>1]=0}c[j>>2]=c[c[j>>2]>>2]}a=(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+78|0;b[a>>1]=(e[a>>1]|0)&-3;i=f;return}function hy(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[f>>2]=d;a=c[(c[f>>2]|0)+4>>2]|0;c[j>>2]=a;if(!a){i=e;return}c[h>>2]=0;while(1){d=c[g>>2]|0;if((c[h>>2]|0)>=(b[(c[f>>2]|0)+38>>1]|0))break;Xb(d,c[c[j>>2]>>2]|0);wn(c[g>>2]|0,c[(c[j>>2]|0)+4>>2]|0);Xb(c[g>>2]|0,c[(c[j>>2]|0)+8>>2]|0);Xb(c[g>>2]|0,c[(c[j>>2]|0)+12>>2]|0);Xb(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+24}Xb(d,c[(c[f>>2]|0)+4>>2]|0);i=e;return}function iy(a,d,e,f,g){a=a|0;d=d|0;e=e|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;h=i;i=i+144|0;k=h+136|0;j=h+132|0;m=h+128|0;n=h+124|0;o=h+120|0;p=h;l=h+88|0;q=h+80|0;c[k>>2]=a;c[j>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;f=p+0|0;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[p>>2]=1;c[p+16>>2]=c[c[j>>2]>>2];c[p+24>>2]=c[j>>2];c[p+48>>2]=-1;c[l>>2]=c[k>>2];c[l+4>>2]=p;b[l+28>>1]=c[m>>2];a=(vq(l,c[n>>2]|0)|0)==0;if(!(a&(c[o>>2]|0)!=0)){i=h;return}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[o>>2]>>2]|0)){j=6;break}if(vq(l,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2]|0)|0){j=6;break}c[q>>2]=(c[q>>2]|0)+1}if((j|0)==6){i=h;return}}function jy(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;while(1){a=c[k>>2]|0;c[k>>2]=a+ -1;if((a|0)<=0){e=5;break}d=c[h>>2]|0;a=c[j>>2]|0;c[j>>2]=a+2;if((d|0)==(b[a>>1]|0)){e=4;break}}if((e|0)==4){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}else if((e|0)==5){c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}return 0}function ky(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;g=h+12|0;f=h+8|0;k=h+4|0;j=h;l=h+16|0;c[g>>2]=a;c[f>>2]=0;c[j>>2]=c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0))break;b[l>>1]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0;if((b[l>>1]|0)<0)a=1;else a=d[(c[j>>2]|0)+((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)*24|0)+22>>0]|0;c[f>>2]=(c[f>>2]|0)+a;c[k>>2]=(c[k>>2]|0)+1}a=dq(c[f>>2]<<2,0)|0;b[(c[g>>2]|0)+48>>1]=a;i=h;return}function ly(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;my(c[e>>2]|0,c[f>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0))eh(c[(c[f>>2]|0)+40>>2]|0);wn(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Xb(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){e=c[e>>2]|0;a=c[f>>2]|0;Xb(e,a);i=g;return}Xb(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);e=c[e>>2]|0;a=c[f>>2]|0;Xb(e,a);i=g;return}function my(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function ny(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=et(c[h>>2]|0,3+(d[g>>0]|0)|0)|0;i=f;return b|0}function oy(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;p=i;i=i+48|0;r=p+40|0;q=p+36|0;l=p+32|0;m=p+28|0;o=p+24|0;n=p+20|0;t=p+16|0;h=p+12|0;u=p+8|0;s=p+4|0;k=p;c[r>>2]=f;c[q>>2]=g;c[h>>2]=c[c[r>>2]>>2];c[u>>2]=c[(c[r>>2]|0)+8>>2];if(c[(c[r>>2]|0)+416>>2]|0)a[(dt(c[u>>2]|0,c[(c[r>>2]|0)+416>>2]|0)|0)>>0]=120;if(c[(c[r>>2]|0)+420>>2]|0)a[(dt(c[u>>2]|0,c[(c[r>>2]|0)+420>>2]|0)|0)>>0]=16;do if((b[(c[q>>2]|0)+36>>1]|0)>=0){c[s>>2]=eo(c[r>>2]|0,0,0)|0;if(!(c[s>>2]|0)){i=p;return}f=ne(c[c[r>>2]>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((b[(c[q>>2]|0)+36>>1]|0)*24|0)>>2]|0)|0;c[(c[(c[s>>2]|0)+4>>2]|0)+4>>2]=f;a[(c[(c[s>>2]|0)+4>>2]|0)+12>>0]=a[(c[r>>2]|0)+448>>0]|0;c[m>>2]=Vn(c[r>>2]|0,0,0,0,c[s>>2]|0,d[(c[q>>2]|0)+45>>0]|0,0,0,0,0)|0;if(!(c[m>>2]|0)){i=p;return}else{f=(c[m>>2]|0)+55|0;a[f>>0]=a[f>>0]&-4|2;b[(c[q>>2]|0)+36>>1]=-1;break}}else c[m>>2]=Zr(c[q>>2]|0)|0;while(0);f=(c[m>>2]|0)+55|0;a[f>>0]=a[f>>0]&-33|32;c[o>>2]=e[(c[m>>2]|0)+50>>1];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;a[(c[(c[q>>2]|0)+4>>2]|0)+((b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0)*24|0)+20>>0]=1;c[n>>2]=(c[n>>2]|0)+1}f=(c[m>>2]|0)+55|0;a[f>>0]=a[f>>0]&-9|8;c[(c[m>>2]|0)+44>>2]=c[(c[q>>2]|0)+32>>2];c[l>>2]=c[(c[q>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0))break;b:do if((a[(c[l>>2]|0)+55>>0]&3|0)!=2){c[k>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;if(!(jy(c[(c[l>>2]|0)+4>>2]|0,e[(c[l>>2]|0)+50>>1]|0,b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0)|0))c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}if(!(c[k>>2]|0)){b[(c[l>>2]|0)+52>>1]=b[(c[l>>2]|0)+50>>1]|0;break}if(ty(c[h>>2]|0,c[l>>2]|0,(e[(c[l>>2]|0)+50>>1]|0)+(c[k>>2]|0)|0)|0){j=38;break a}c[n>>2]=0;c[t>>2]=e[(c[l>>2]|0)+50>>1];while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break b;if(!(jy(c[(c[l>>2]|0)+4>>2]|0,e[(c[l>>2]|0)+50>>1]|0,b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0)|0)){b[(c[(c[l>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]=b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0;c[(c[(c[l>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}}while(0);c[l>>2]=c[(c[l>>2]|0)+20>>2]}if((j|0)==38){i=p;return}if((c[o>>2]|0)>=(b[(c[q>>2]|0)+38>>1]|0)){b[(c[m>>2]|0)+52>>1]=b[(c[q>>2]|0)+38>>1]|0;i=p;return}if(ty(c[h>>2]|0,c[m>>2]|0,b[(c[q>>2]|0)+38>>1]|0)|0){i=p;return}c[n>>2]=0;c[t>>2]=c[o>>2];while(1){if((c[n>>2]|0)>=(b[(c[q>>2]|0)+38>>1]|0))break;if(!(jy(c[(c[m>>2]|0)+4>>2]|0,c[t>>2]|0,c[n>>2]|0)|0)){b[(c[(c[m>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]=c[n>>2];c[(c[(c[m>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]=3320;c[t>>2]=(c[t>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function py(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g+12|0;e=g+8|0;j=g+4|0;h=g;c[f>>2]=a;c[e>>2]=0;c[h>>2]=b[(c[f>>2]|0)+38>>1];c[j>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[h>>2]|0)<=0)break;c[e>>2]=(c[e>>2]|0)+(d[(c[j>>2]|0)+22>>0]|0);c[h>>2]=(c[h>>2]|0)+ -1;c[j>>2]=(c[j>>2]|0)+24}if((b[(c[f>>2]|0)+36>>1]|0)>=0){h=c[e>>2]|0;h=h<<2;h=dq(h,0)|0;j=c[f>>2]|0;j=j+42|0;b[j>>1]=h;i=g;return}c[e>>2]=(c[e>>2]|0)+1;h=c[e>>2]|0;h=h<<2;h=dq(h,0)|0;j=c[f>>2]|0;j=j+42|0;b[j>>1]=h;i=g;return}function qy(d,e){d=d|0;e=e|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;h=i;i=i+64|0;k=h;n=h+52|0;u=h+48|0;o=h+44|0;g=h+40|0;f=h+36|0;m=h+32|0;l=h+28|0;p=h+24|0;q=h+20|0;j=h+16|0;r=h+12|0;t=h+8|0;s=h+4|0;c[u>>2]=d;c[o>>2]=e;c[m>>2]=0;c[r>>2]=c[(c[o>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[o>>2]|0)+38>>1]|0))break;d=(ry(c[c[r>>2]>>2]|0)|0)+5|0;c[m>>2]=(c[m>>2]|0)+d;c[g>>2]=(c[g>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+24}d=ry(c[c[o>>2]>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+d;if((c[m>>2]|0)<50){c[p>>2]=1216;c[q>>2]=9776;c[j>>2]=23976}else{c[p>>2]=26904;c[q>>2]=26912;c[j>>2]=26920}c[m>>2]=(c[m>>2]|0)+(35+((b[(c[o>>2]|0)+38>>1]|0)*6|0));d=c[m>>2]|0;c[l>>2]=Qe(0,d,((d|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){a[(c[u>>2]|0)+64>>0]=1;c[n>>2]=0;d=c[n>>2]|0;i=h;return d|0}sc(c[m>>2]|0,c[l>>2]|0,26928,k)|0;c[f>>2]=Mb(c[l>>2]|0)|0;sy(c[l>>2]|0,f,c[c[o>>2]>>2]|0);d=c[f>>2]|0;c[f>>2]=d+1;a[(c[l>>2]|0)+d>>0]=40;c[r>>2]=c[(c[o>>2]|0)+4>>2];c[g>>2]=0;while(1){e=(c[m>>2]|0)-(c[f>>2]|0)|0;u=(c[l>>2]|0)+(c[f>>2]|0)|0;if((c[g>>2]|0)>=(b[(c[o>>2]|0)+38>>1]|0))break;sc(e,u,c[p>>2]|0,k)|0;d=Mb((c[l>>2]|0)+(c[f>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+d;c[p>>2]=c[q>>2];sy(c[l>>2]|0,f,c[c[r>>2]>>2]|0);c[s>>2]=c[26944+((a[(c[r>>2]|0)+21>>0]|0)-65<<2)>>2];c[t>>2]=Mb(c[s>>2]|0)|0;dF((c[l>>2]|0)+(c[f>>2]|0)|0,c[s>>2]|0,c[t>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+(c[t>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+24}c[k>>2]=c[j>>2];sc(e,u,1200,k)|0;c[n>>2]=c[l>>2];d=c[n>>2]|0;i=h;return d|0}function ry(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=0;while(1){if(!(a[c[f>>2]>>0]|0))break;if((a[c[f>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}i=d;return(c[e>>2]|0)+2|0}function sy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;h=k+24|0;j=k+20|0;o=k+16|0;m=k+12|0;l=k+8|0;n=k+4|0;g=k;c[h>>2]=b;c[j>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[l>>2]=c[c[j>>2]>>2];c[n>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((d[1224+(d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)!=95:0)break;c[n>>2]=(c[n>>2]|0)+1}if(((d[1224+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(lg(c[m>>2]|0,c[n>>2]|0)|0)==27:0)?(d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)==0:0)f=(c[n>>2]|0)==0;else f=1;c[g>>2]=f&1;if(c[g>>2]|0){o=c[l>>2]|0;c[l>>2]=o+1;a[(c[h>>2]|0)+o>>0]=34}c[n>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0))break;b=a[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[(c[h>>2]|0)+o>>0]=b;if((d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)==34){o=c[l>>2]|0;c[l>>2]=o+1;a[(c[h>>2]|0)+o>>0]=34}c[n>>2]=(c[n>>2]|0)+1}if(!(c[g>>2]|0)){b=c[l>>2]|0;o=c[h>>2]|0;b=o+b|0;a[b>>0]=0;b=c[l>>2]|0;o=c[j>>2]|0;c[o>>2]=b;i=k;return}b=c[l>>2]|0;c[l>>2]=b+1;a[(c[h>>2]|0)+b>>0]=34;b=c[l>>2]|0;o=c[h>>2]|0;b=o+b|0;a[b>>0]=0;b=c[l>>2]|0;o=c[j>>2]|0;c[o>>2]=b;i=k;return}function ty(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;h=i;i=i+32|0;j=h+20|0;o=h+16|0;l=h+12|0;m=h+8|0;k=h+4|0;n=h;c[o>>2]=d;c[l>>2]=f;c[m>>2]=g;if((e[(c[l>>2]|0)+52>>1]|0|0)>=(c[m>>2]|0)){c[j>>2]=0;d=c[j>>2]|0;i=h;return d|0}c[n>>2]=(c[m>>2]|0)*7;d=c[n>>2]|0;c[k>>2]=se(c[o>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){c[j>>2]=7;d=c[j>>2]|0;i=h;return d|0}else{dF(c[k>>2]|0,c[(c[l>>2]|0)+32>>2]|0,(e[(c[l>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[l>>2]|0)+32>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+(c[m>>2]<<2);dF(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0,(e[(c[l>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[l>>2]|0)+4>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+(c[m>>2]<<1);dF(c[k>>2]|0,c[(c[l>>2]|0)+28>>2]|0,e[(c[l>>2]|0)+52>>1]|0|0)|0;c[(c[l>>2]|0)+28>>2]=c[k>>2];b[(c[l>>2]|0)+52>>1]=c[m>>2];d=(c[l>>2]|0)+55|0;a[d>>0]=a[d>>0]&-17|16;c[j>>2]=0;d=c[j>>2]|0;i=h;return d|0}return 0}function uy(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;f=b+16|0;e=b+12|0;j=b+8|0;g=b+4|0;h=b;c[f>>2]=a;c[j>>2]=dp(c[f>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+396>>2]|0))break;c[g>>2]=(c[(c[f>>2]|0)+400>>2]|0)+(c[e>>2]<<4);c[h>>2]=c[c[g>>2]>>2];hp(c[j>>2]|0,143,c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|0,c[(c[g>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=b;return}function vy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;h=b+24|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;k=b+4|0;j=b;c[h>>2]=a;c[e>>2]=c[c[h>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+8>>2];c[d>>2]=c[(c[h>>2]|0)+404>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[d>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[d>>2]|0)+12>>2];Kr(c[h>>2]|0,0,c[(c[d>>2]|0)+8>>2]|0,c[(c[(c[f>>2]|0)+12>>2]|0)+72>>2]|0,54);ip(c[j>>2]|0,28,0,c[g>>2]|0,(c[g>>2]|0)+1|0)|0;c[k>>2]=Mr(c[j>>2]|0)|0;hp(c[j>>2]|0,97,0,(c[g>>2]|0)-1|0,0,c[c[(c[d>>2]|0)+4>>2]>>2]|0,0)|0;fp(c[j>>2]|0,108,0,(c[k>>2]|0)+9|0)|0;ip(c[j>>2]|0,47,0,0,c[g>>2]|0)|0;ip(c[j>>2]|0,78,(c[g>>2]|0)-1|0,(c[k>>2]|0)+7|0,c[g>>2]|0)|0;Xe(c[j>>2]|0,16);fp(c[j>>2]|0,103,0,(c[g>>2]|0)+1|0)|0;ip(c[j>>2]|0,47,0,1,c[g>>2]|0)|0;fp(c[j>>2]|0,16,0,(c[k>>2]|0)+9|0)|0;fp(c[j>>2]|0,9,0,(c[k>>2]|0)+2|0)|0;fp(c[j>>2]|0,25,0,c[g>>2]|0)|0;mp(c[j>>2]|0,61)|0;c[d>>2]=c[c[d>>2]>>2]}i=b;return}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+12|0;d=g+4|0;c[f>>2]=a;c[g+8>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];a=c[f>>2]|0;c[a>>2]=(c[a>>2]|0)+ -1;while(1){if((c[c[f>>2]>>2]|0)<0)break;zn(c[f>>2]|0)|0}Se(c[d>>2]|0,27184,e);c[(c[f>>2]|0)+8>>2]=c[d>>2];i=g;return}function xy(b,e,f,g,h,j,k){b=b|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,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;l=i;i=i+80|0;p=l;m=l+76|0;z=l+72|0;C=l+68|0;t=l+64|0;F=l+60|0;y=l+56|0;B=l+52|0;n=l+48|0;o=l+44|0;q=l+40|0;u=l+36|0;G=l+32|0;E=l+28|0;A=l+24|0;D=l+20|0;w=l+16|0;v=l+12|0;x=l+8|0;r=l+4|0;c[m>>2]=b;c[z>>2]=e;c[C>>2]=f;c[t>>2]=g;c[F>>2]=h;c[y>>2]=j;c[B>>2]=k;c[o>>2]=0;c[q>>2]=0;c[n>>2]=se(c[m>>2]|0,536,0)|0;if(!(c[n>>2]|0)){c[q>>2]=7;b=c[n>>2]|0;ef(b);b=c[m>>2]|0;e=c[n>>2]|0;Xb(b,e);e=c[m>>2]|0;b=c[q>>2]|0;b=wd(e,b)|0;c[q>>2]=b;b=c[q>>2]|0;i=l;return b|0}c[(c[n>>2]|0)+476>>2]=c[F>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[G>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[u>>2]<<4)+4>>2];if((c[G>>2]|0)!=0?(c[q>>2]=yy(c[G>>2]|0)|0,(c[q>>2]|0)!=0):0){s=7;break}c[u>>2]=(c[u>>2]|0)+1}if((s|0)==7){c[E>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];e=c[m>>2]|0;b=c[q>>2]|0;c[p>>2]=c[E>>2];Lc(e,b,30936,p);b=c[n>>2]|0;ef(b);b=c[m>>2]|0;e=c[n>>2]|0;Xb(b,e);e=c[m>>2]|0;b=c[q>>2]|0;b=wd(e,b)|0;c[q>>2]=b;b=c[q>>2]|0;i=l;return b|0}Lk(c[m>>2]|0);c[c[n>>2]>>2]=c[m>>2];c[(c[n>>2]|0)+424>>2]=0;do if((c[C>>2]|0)>=0){if((c[C>>2]|0)!=0?(a[(c[z>>2]|0)+((c[C>>2]|0)-1)>>0]|0)==0:0){s=17;break}c[D>>2]=c[(c[m>>2]|0)+92>>2];f=c[m>>2]|0;if((c[C>>2]|0)>(c[D>>2]|0)){Lc(f,18,30968,p);c[q>>2]=wd(c[m>>2]|0,18)|0;b=c[n>>2]|0;ef(b);b=c[m>>2]|0;e=c[n>>2]|0;Xb(b,e);e=c[m>>2]|0;b=c[q>>2]|0;b=wd(e,b)|0;c[q>>2]=b;b=c[q>>2]|0;i=l;return b|0}b=c[C>>2]|0;c[A>>2]=rm(f,c[z>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[A>>2]|0){qf(c[n>>2]|0,c[A>>2]|0,o)|0;Xb(c[m>>2]|0,c[A>>2]|0);c[(c[n>>2]|0)+480>>2]=(c[z>>2]|0)+((c[(c[n>>2]|0)+480>>2]|0)-(c[A>>2]|0));break}else{c[(c[n>>2]|0)+480>>2]=(c[z>>2]|0)+(c[C>>2]|0);break}}else s=17;while(0);if((s|0)==17)qf(c[n>>2]|0,c[z>>2]|0,o)|0;if(a[(c[m>>2]|0)+64>>0]|0)c[(c[n>>2]|0)+12>>2]=7;if((c[(c[n>>2]|0)+12>>2]|0)==101)c[(c[n>>2]|0)+12>>2]=0;if(a[(c[n>>2]|0)+17>>0]|0)zy(c[n>>2]|0);if(a[(c[m>>2]|0)+64>>0]|0)c[(c[n>>2]|0)+12>>2]=7;if(c[B>>2]|0)c[c[B>>2]>>2]=c[(c[n>>2]|0)+480>>2];c[q>>2]=c[(c[n>>2]|0)+12>>2];a:do if(((c[q>>2]|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0)?(d[(c[n>>2]|0)+450>>0]|0)!=0:0){A=c[(c[n>>2]|0)+8>>2]|0;if((d[(c[n>>2]|0)+450>>0]|0)==2){Nt(A,4);c[w>>2]=8;c[v>>2]=12}else{Nt(A,8);c[w>>2]=0;c[v>>2]=8}c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break a;Ot(c[(c[n>>2]|0)+8>>2]|0,(c[u>>2]|0)-(c[w>>2]|0)|0,0,c[30992+(c[u>>2]<<2)>>2]|0,0)|0;c[u>>2]=(c[u>>2]|0)+1}}while(0);if(!(d[(c[m>>2]|0)+145>>0]|0)){c[x>>2]=c[(c[n>>2]|0)+8>>2];Ay(c[x>>2]|0,c[z>>2]|0,(c[(c[n>>2]|0)+480>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)}do if(c[(c[n>>2]|0)+8>>2]|0){if((c[q>>2]|0)==0?(d[(c[m>>2]|0)+64>>0]|0)==0:0){s=43;break}vd(c[(c[n>>2]|0)+8>>2]|0)|0}else s=43;while(0);if((s|0)==43)c[c[y>>2]>>2]=c[(c[n>>2]|0)+8>>2];t=c[m>>2]|0;s=c[q>>2]|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];Lc(t,s,1200,p);Xb(c[m>>2]|0,c[o>>2]|0)}else Nc(t,s);while(1){if(!(c[(c[n>>2]|0)+528>>2]|0))break;c[r>>2]=c[(c[n>>2]|0)+528>>2];c[(c[n>>2]|0)+528>>2]=c[(c[r>>2]|0)+4>>2];Xb(c[m>>2]|0,c[r>>2]|0)}b=c[n>>2]|0;ef(b);b=c[m>>2]|0;e=c[n>>2]|0;Xb(b,e);e=c[m>>2]|0;b=c[q>>2]|0;b=wd(e,b)|0;c[q>>2]=b;b=c[q>>2]|0;i=l;return b|0}function yy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;Pc(c[e>>2]|0);c[b>>2]=By(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function zy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;l=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;f=d+8|0;j=d+4|0;e=d;c[l>>2]=b;c[g>>2]=c[c[l>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){b=14;break}c[j>>2]=0;c[e>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[e>>2]|0){if(!(Tc(c[e>>2]|0)|0)){c[k>>2]=Rc(c[e>>2]|0,0)|0;if((c[k>>2]|0)==7|(c[k>>2]|0)==3082)a[(c[g>>2]|0)+64>>0]=1;if(c[k>>2]|0){b=14;break}c[j>>2]=1}Sc(c[e>>2]|0,1,f);if((c[f>>2]|0)!=(c[c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]>>2]|0)){as(c[g>>2]|0,c[h>>2]|0);c[(c[l>>2]|0)+12>>2]=17}if(c[j>>2]|0)gs(c[e>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((b|0)==14){i=d;return}}function Ay(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;l=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[l>>2]=f;if(!(c[j>>2]|0)){i=g;return}a=c[h>>2]|0;a=rm(c[c[j>>2]>>2]|0,c[k>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+168>>2]=a;a=(c[j>>2]|0)+88|0;b[a>>1]=b[a>>1]&-1025|(c[l>>2]&1)<<10&65535;i=g;return}function By(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;o=i;i=i+32|0;l=o+16|0;n=o+12|0;j=o+8|0;p=o+20|0;q=o+4|0;m=o;c[n>>2]=f;c[j>>2]=g;a[p>>0]=h;c[q>>2]=c[(c[n>>2]|0)+4>>2];if(!(a[(c[n>>2]|0)+9>>0]|0)){c[l>>2]=0;f=c[l>>2]|0;i=o;return f|0}if((c[(c[q>>2]|0)+76>>2]|0)!=(c[n>>2]|0)?(e[(c[q>>2]|0)+22>>1]&32|0)!=0:0){c[l>>2]=262;f=c[l>>2]|0;i=o;return f|0}c[m>>2]=c[(c[q>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0)){k=15;break}if(((c[c[m>>2]>>2]|0)!=(c[n>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0):0)?(d[(c[m>>2]|0)+8>>0]|0)!=(d[p>>0]|0):0)break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((k|0)==15){c[l>>2]=0;f=c[l>>2]|0;i=o;return f|0}if((d[p>>0]|0)==2){f=(c[q>>2]|0)+22|0;b[f>>1]=e[f>>1]|64}c[l>>2]=262;f=c[l>>2]|0;i=o;return f|0}function Cy(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;dF(l|0,c[g>>2]|0,208)|0;dF(c[g>>2]|0,c[h>>2]|0,208)|0;dF(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];a=(c[h>>2]|0)+88|0;b[a>>1]=b[a>>1]&-1025|((e[(c[g>>2]|0)+88>>1]|0)>>>10&1)<<10&65535;i=f;return}function Dy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function Ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+20|0;k=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[k>>2]=b;c[e>>2]=c[(c[k>>2]|0)+16>>2];while(1){if(!(c[e>>2]|0))break;if(!((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+520>>2]|0)!=0:0)){b=c[(c[e>>2]|0)+12>>2]|0;if(c[(c[e>>2]|0)+16>>2]|0)c[(c[(c[e>>2]|0)+16>>2]|0)+12>>2]=b;else{c[h>>2]=b;b=c[e>>2]|0;if(c[h>>2]|0)b=c[(c[b+12>>2]|0)+8>>2]|0;else b=c[b+8>>2]|0;c[d>>2]=b;gh((c[(c[k>>2]|0)+68>>2]|0)+56|0,c[d>>2]|0,c[h>>2]|0)|0}if(c[(c[e>>2]|0)+12>>2]|0)c[(c[(c[e>>2]|0)+12>>2]|0)+16>>2]=c[(c[e>>2]|0)+16>>2]}dx(c[f>>2]|0,c[(c[e>>2]|0)+28>>2]|0);dx(c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);c[g>>2]=c[(c[e>>2]|0)+4>>2];Xb(c[f>>2]|0,c[e>>2]|0);c[e>>2]=c[g>>2]}i=j;return}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0))Gy(0,c[f>>2]|0)|0;if(!(c[(c[f>>2]|0)+56>>2]|0)){i=d;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+52>>2]|0))break;if((c[g>>2]|0)!=1)Xb(c[e>>2]|0,c[(c[(c[f>>2]|0)+56>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Xb(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);i=d;return}function Gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;k=d+20|0;g=d+16|0;e=d+12|0;f=d+8|0;h=d+4|0;j=d;c[k>>2]=a;c[g>>2]=b;c[e>>2]=0;c[f>>2]=c[(c[g>>2]|0)+60>>2];c[(c[g>>2]|0)+60>>2]=0;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=c[(c[f>>2]|0)+24>>2];if((c[h>>2]|0)==(c[k>>2]|0)){c[e>>2]=c[f>>2];c[(c[g>>2]|0)+60>>2]=c[e>>2];c[(c[e>>2]|0)+24>>2]=0}else{c[(c[f>>2]|0)+24>>2]=c[(c[h>>2]|0)+332>>2];c[(c[h>>2]|0)+332>>2]=c[f>>2]}c[f>>2]=c[j>>2]}i=d;return c[e>>2]|0}function Hy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;if((c[f>>2]|0)!=(c[h>>2]|0)){if(!(c[g>>2]|0))break;if((c[(c[f>>2]|0)+60>>2]|0)==(c[g>>2]|0))break}c[f>>2]=c[(c[f>>2]|0)+8>>2]}if(!(c[f>>2]|0)){j=0;i=e;return j|0}j=Iy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return j|0}function Iy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;f=h+16|0;l=h+12|0;j=h+8|0;k=h+4|0;g=h;c[l>>2]=a;c[j>>2]=b;c[k>>2]=e;a:while(1){do if((c[l>>2]|0)!=(c[k>>2]|0)){if(0!=(c[j>>2]|0)?(c[(c[l>>2]|0)+60>>2]|0)!=(c[j>>2]|0):0)break;e=c[l>>2]|0;if((d[(c[l>>2]|0)+73>>0]|0|0)==1){c[g>>2]=Jy(e)|0;if(c[g>>2]|0){j=7;break a}else break}else{Ky(e);break}}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2];if(!(c[l>>2]|0)){j=10;break}}if((j|0)==7){c[f>>2]=c[g>>2];a=c[f>>2]|0;i=h;return a|0}else if((j|0)==10){c[f>>2]=0;a=c[f>>2]|0;i=h;return a|0}return 0}function Jy(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=Ly(c[e>>2]|0,(c[e>>2]|0)+48|0)|0;do if(!(d[(c[(c[e>>2]|0)+120>>2]|0)+2>>0]|0)){b=(c[e>>2]|0)+48|0;c[h>>2]=gc(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[h>>2]|0)){c[f>>2]=7;break}c[f>>2]=My(c[e>>2]|0,0,c[(c[e>>2]|0)+48>>2]|0,c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+56>>2]=b;break}else{hc(b);break}}while(0);if(c[f>>2]|0){h=c[e>>2]|0;h=h+72|0;b=a[h>>0]|0;b=b&255;b=b&-5;b=b&255;a[h>>0]=b;h=c[f>>2]|0;i=g;return h|0}Ky(c[e>>2]|0);a[(c[e>>2]|0)+73>>0]=3;h=c[e>>2]|0;h=h+72|0;b=a[h>>0]|0;b=b&255;b=b&-5;b=b&255;a[h>>0]=b;h=c[f>>2]|0;i=g;return h|0}function Ky(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>(b[(c[d>>2]|0)+76>>1]|0))break;Rk(c[(c[d>>2]|0)+120+(c[f>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}b[(c[d>>2]|0)+76>>1]=-1;i=e;return}function Ly(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;k=h+8|0;j=h+4|0;l=h;c[k>>2]=f;c[j>>2]=g;if(!(e[(c[k>>2]|0)+44>>1]|0)){c[l>>2]=b[(c[k>>2]|0)+76>>1];Mw(c[(c[k>>2]|0)+120+(c[l>>2]<<2)>>2]|0,e[(c[k>>2]|0)+78+(c[l>>2]<<1)>>1]|0,(c[k>>2]|0)+24|0);f=(c[k>>2]|0)+72|0;a[f>>0]=d[f>>0]|2}k=(c[k>>2]|0)+24|0;l=c[k+4>>2]|0;f=c[j>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=l;i=h;return 0}function My(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Lw(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function Ny(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;l=m+12|0;k=m+8|0;n=m+4|0;g=m;c[j>>2]=a;c[l>>2]=b;c[k>>2]=d;c[n>>2]=e;c[g>>2]=f;if(c[j>>2]|0){c[h>>2]=c[j>>2];a=c[h>>2]|0;i=m;return a|0}c[l>>2]=(c[l>>2]|0)+7&-8;if(((c[c[k>>2]>>2]|0)+(c[l>>2]|0)|0)>>>0<=(c[n>>2]|0)>>>0){c[j>>2]=c[c[k>>2]>>2];a=c[k>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}else{a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[h>>2]=c[j>>2];a=c[h>>2]|0;i=m;return a|0}function Oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[j>>2]=b;c[h>>2]=d;a:do if(c[h>>2]|0)switch(c[j>>2]|0){case-5:{Py(c[f>>2]|0,c[h>>2]|0);break a};case-6:{if(c[(c[f>>2]|0)+520>>2]|0)break a;eh(c[h>>2]|0);break a};case-11:{if(c[(c[f>>2]|0)+520>>2]|0)break a;hc(c[h>>2]|0);break a};case-8:{d=c[h>>2]|0;if(!(c[(c[f>>2]|0)+520>>2]|0)){tf(d);break a}c[g>>2]=d;if(c[(c[g>>2]|0)+24>>2]|0)Xb(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0);Xb(c[f>>2]|0,c[g>>2]|0);break a};case-10:{if(c[(c[f>>2]|0)+520>>2]|0)break a;Nk(c[h>>2]|0);break a};case-15:case-1:case-13:case-12:{Xb(c[f>>2]|0,c[h>>2]|0);break a};default:break a}while(0);i=e;return}function Py(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){i=d;return}if(!((e[(c[g>>2]|0)+2>>1]|0)&16)){i=d;return}Xb(c[f>>2]|0,c[g>>2]|0);i=d;return}function Qy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function Ry(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=d;Bd(c[g>>2]|0);g=(c[g>>2]|0)+0|0;a=(c[e>>2]|0)+0|0;d=g+40|0;do{c[g>>2]=c[a>>2];g=g+4|0;a=a+4|0}while((g|0)<(d|0));b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=f;return}function Sy(){return 31224}function Ty(f){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;l=i;i=i+64|0;k=l;g=l+60|0;j=l+56|0;w=l+52|0;p=l+48|0;s=l+44|0;t=l+40|0;q=l+36|0;u=l+32|0;h=l+28|0;n=l+24|0;o=l+20|0;m=l+16|0;v=l+12|0;x=l+8|0;r=l+4|0;c[j>>2]=f;c[p>>2]=0;c[s>>2]=0;c[t>>2]=0;c[q>>2]=c[c[j>>2]>>2];c[h>>2]=0;c[n>>2]=(c[(c[j>>2]|0)+8>>2]|0)+40;hu(c[n>>2]|0,8);c[(c[j>>2]|0)+20>>2]=0;if((c[(c[j>>2]|0)+80>>2]|0)==7){a[(c[q>>2]|0)+64>>0]=1;c[g>>2]=1;x=c[g>>2]|0;i=l;return x|0}c[w>>2]=c[(c[j>>2]|0)+32>>2];a:do if((b[(c[j>>2]|0)+88>>1]&3|0)==1){c[t>>2]=(c[(c[j>>2]|0)+8>>2]|0)+360;if(e[(c[t>>2]|0)+8>>1]&16){c[p>>2]=((c[(c[t>>2]|0)+12>>2]|0)>>>0)/4|0;c[s>>2]=c[(c[t>>2]|0)+16>>2]}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[p>>2]|0))break a;c[w>>2]=(c[w>>2]|0)+(c[(c[(c[s>>2]|0)+(c[u>>2]<<2)>>2]|0)+4>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}while(0);do{y=(c[j>>2]|0)+76|0;f=c[y>>2]|0;c[y>>2]=f+1;c[u>>2]=f;if((c[u>>2]|0)>=(c[w>>2]|0))break;if((b[(c[j>>2]|0)+88>>1]&3|0)!=2)break}while((d[(c[(c[j>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>0]|0)!=155);do if((c[u>>2]|0)>=(c[w>>2]|0)){c[(c[j>>2]|0)+80>>2]=0;c[h>>2]=101}else{if(c[(c[q>>2]|0)+240>>2]|0){c[(c[j>>2]|0)+80>>2]=9;c[h>>2]=1;x=(c[j>>2]|0)+44|0;y=c[q>>2]|0;c[k>>2]=ge(c[(c[j>>2]|0)+80>>2]|0)|0;pn(x,y,1200,k);break}if((c[u>>2]|0)<(c[(c[j>>2]|0)+32>>2]|0))c[m>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0);else{c[u>>2]=(c[u>>2]|0)-(c[(c[j>>2]|0)+32>>2]|0);c[v>>2]=0;while(1){if((c[u>>2]|0)<(c[(c[(c[s>>2]|0)+(c[v>>2]<<2)>>2]|0)+4>>2]|0))break;c[u>>2]=(c[u>>2]|0)-(c[(c[(c[s>>2]|0)+(c[v>>2]<<2)>>2]|0)+4>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[m>>2]=(c[c[(c[s>>2]|0)+(c[v>>2]<<2)>>2]>>2]|0)+((c[u>>2]|0)*20|0)}if((b[(c[j>>2]|0)+88>>1]&3|0)==1?(b[(c[n>>2]|0)+8>>1]=4,w=c[u>>2]|0,y=c[n>>2]|0,c[y>>2]=w,c[y+4>>2]=((w|0)<0)<<31>>31,c[n>>2]=(c[n>>2]|0)+40,b[(c[n>>2]|0)+8>>1]=2562,y=XC(d[c[m>>2]>>0]|0)|0,c[(c[n>>2]|0)+16>>2]=y,y=Mb(c[(c[n>>2]|0)+16>>2]|0)|0,c[(c[n>>2]|0)+12>>2]=y,a[(c[n>>2]|0)+10>>0]=1,c[n>>2]=(c[n>>2]|0)+40,(a[(c[m>>2]|0)+1>>0]|0)==-18):0){c[x>>2]=(c[p>>2]|0)+1<<2;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;if((c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]|0)==(c[(c[m>>2]|0)+16>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[p>>2]|0)?0==(Dk(c[t>>2]|0,c[x>>2]|0,(c[p>>2]|0)!=0&1)|0):0){c[s>>2]=c[(c[t>>2]|0)+16>>2];x=c[(c[m>>2]|0)+16>>2]|0;y=c[p>>2]|0;c[p>>2]=y+1;c[(c[s>>2]|0)+(y<<2)>>2]=x;y=(c[t>>2]|0)+8|0;b[y>>1]=e[y>>1]|16;c[(c[t>>2]|0)+12>>2]=c[p>>2]<<2}}b[(c[n>>2]|0)+8>>1]=4;x=c[(c[m>>2]|0)+4>>2]|0;y=c[n>>2]|0;c[y>>2]=x;c[y+4>>2]=((x|0)<0)<<31>>31;c[n>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+8>>1]=4;y=c[(c[m>>2]|0)+8>>2]|0;x=c[n>>2]|0;c[x>>2]=y;c[x+4>>2]=((y|0)<0)<<31>>31;c[n>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+8>>1]=4;x=c[(c[m>>2]|0)+12>>2]|0;y=c[n>>2]|0;c[y>>2]=x;c[y+4>>2]=((x|0)<0)<<31>>31;c[n>>2]=(c[n>>2]|0)+40;if(Lp(c[n>>2]|0,32)|0){c[g>>2]=1;y=c[g>>2]|0;i=l;return y|0}b[(c[n>>2]|0)+8>>1]=514;c[o>>2]=YC(c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,32)|0;p=c[n>>2]|0;if((c[o>>2]|0)!=(c[(c[n>>2]|0)+16>>2]|0))Vd(p,c[o>>2]|0,-1,1,0)|0;else{y=Mb(c[p+16>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=y;a[(c[n>>2]|0)+10>>0]=1}c[n>>2]=(c[n>>2]|0)+40;do if((b[(c[j>>2]|0)+88>>1]&3|0)==1){if(!(Lp(c[n>>2]|0,4)|0)){b[(c[n>>2]|0)+8>>1]=514;c[(c[n>>2]|0)+12>>2]=2;y=c[(c[n>>2]|0)+16>>2]|0;c[k>>2]=d[(c[m>>2]|0)+3>>0];sc(3,y,34488,k)|0;a[(c[n>>2]|0)+10>>0]=1;c[n>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+8>>1]=1;break}c[g>>2]=1;y=c[g>>2]|0;i=l;return y|0}while(0);b[(c[j>>2]|0)+84>>1]=8-((b[(c[j>>2]|0)+88>>1]&3)-1<<2);c[(c[j>>2]|0)+20>>2]=(c[(c[j>>2]|0)+8>>2]|0)+40;c[(c[j>>2]|0)+80>>2]=0;c[h>>2]=100}while(0);c[g>>2]=c[h>>2];y=c[g>>2]|0;i=l;return y|0}function Uy(f){f=f|0;var g=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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=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,ya=0,za=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,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,qb=0,rb=0,tb=0,wb=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Tb=0,Ub=0,Vb=0,Wb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,uc=0,wc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Tc=0,Uc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Cd=0,Fd=0,Gd=0,Hd=0,Jd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Wd=0,Yd=0,Zd=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,he=0,ie=0,je=0,ke=0,le=0,me=0,oe=0,pe=0,qe=0,re=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Re=0,Se=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,hf=0,jf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0.0;m=i;i=i+1696|0;g=m+256|0;k=m+1464|0;n=m+1460|0;u=m+1456|0;p=m+1452|0;l=m+1448|0;q=m+1444|0;nc=m+1680|0;x=m+1679|0;qa=m+1440|0;o=m+1436|0;ba=m+1432|0;$c=m+1428|0;jf=m+1424|0;I=m+1420|0;y=m+1416|0;w=m+1412|0;ia=m+1408|0;r=m+248|0;v=m+1404|0;C=m+1400|0;j=m+1396|0;s=m+1392|0;ef=m+1388|0;z=m+1384|0;A=m+1480|0;B=m+1380|0;ea=m+1376|0;fa=m+1372|0;ga=m+1368|0;ha=m+1364|0;lf=m+1360|0;mf=m+1356|0;da=m+240|0;Y=m+1678|0;aa=m+1478|0;Z=m+1476|0;$=m+1474|0;W=m+232|0;X=m+224|0;V=m+216|0;U=m+208|0;T=m+1352|0;S=m+1348|0;P=m+1320|0;R=m+1316|0;Q=m+1312|0;E=m+200|0;H=m+192|0;F=m+184|0;G=m+1677|0;J=m+1308|0;M=m+1676|0;K=m+1472|0;L=m+1470|0;ra=m+1304|0;la=m+1300|0;oa=m+1296|0;pa=m+1292|0;ka=m+1288|0;ja=m+1284|0;ma=m+1280|0;na=m+1276|0;sa=m+1272|0;ta=m+1268|0;ua=m+1264|0;Ga=m+176|0;va=m+1260|0;ya=m+1256|0;Fa=m+1252|0;za=m+1248|0;Ea=m+1244|0;of=m+1240|0;Ba=m+1236|0;nf=m+136|0;Da=m+1232|0;pf=m+1228|0;qf=m+1224|0;xa=m+1220|0;sf=m+1216|0;wa=m+1212|0;rf=m+1208|0;Ca=m+1468|0;Aa=m+1204|0;Ha=m+1200|0;Ia=m+1675|0;Pa=m+1196|0;Ja=m+1192|0;Ra=m+128|0;Ma=m+1188|0;Qa=m+120|0;Va=m+1184|0;Sa=m+1180|0;Ka=m+1176|0;Oa=m+1172|0;Ta=m+1168|0;Ya=m+1164|0;Xa=m+1160|0;Wa=m+1156|0;La=m+1152|0;Na=m+1148|0;Ua=m+1144|0;_a=m+112|0;Za=m+1140|0;fb=m+1136|0;bb=m+1132|0;$a=m+1128|0;ab=m+1124|0;cb=m+1120|0;hb=m+1116|0;gb=m+1112|0;eb=m+1108|0;ib=m+1104|0;db=m+1100|0;jb=m+1096|0;lb=m+1092|0;kb=m+1088|0;mb=m+1084|0;nb=m+1080|0;ob=m+1076|0;tb=m+1072|0;qb=m+1068|0;rb=m+1064|0;wb=m+1060|0;Bb=m+1056|0;yf=m+1052|0;xf=m+1048|0;uf=m+1044|0;zf=m+1040|0;wf=m+1036|0;vf=m+1032|0;tf=m+1028|0;Af=m+1024|0;Cb=m+1020|0;Eb=m+1016|0;Db=m+1012|0;Fb=m+1008|0;Gb=m+1004|0;Hb=m+1e3|0;Lb=m+996|0;Ib=m+992|0;Kb=m+988|0;Nb=m+968|0;Ob=m+964|0;Jb=m+104|0;Pb=m+960|0;Tb=m+956|0;Yb=m+952|0;Rb=m+948|0;Qb=m+944|0;Ub=m+940|0;Vb=m+936|0;Wb=m+916|0;Zb=m+1484|0;$b=m+912|0;ac=m+908|0;_b=m+904|0;bc=m+96|0;cc=m+88|0;ec=m+900|0;hc=m+896|0;gc=m+892|0;dc=m+888|0;fc=m+884|0;t=m+880|0;qc=m+876|0;mc=m+80|0;ic=m+872|0;oc=m+868|0;pc=m+864|0;jc=m+860|0;kc=m+856|0;lc=m+852|0;rc=m+848|0;sc=m+844|0;wc=m+840|0;uc=m+836|0;yc=m+832|0;Bc=m+828|0;Ac=m+824|0;zc=m+820|0;Cc=m+72|0;Gc=m+816|0;Dc=m+64|0;Ec=m+812|0;Fc=m+808|0;Kc=m+804|0;Hc=m+800|0;Ic=m+796|0;Jc=m+792|0;Cf=m+788|0;Df=m+784|0;Bf=m+780|0;Lc=m+776|0;Mc=m+772|0;Nc=m+768|0;Oc=m+764|0;Qc=m+760|0;Pc=m+756|0;Yc=m+752|0;Zc=m+748|0;hf=m+744|0;_c=m+724|0;Uc=m+720|0;Xc=m+716|0;Tc=m+56|0;fd=m+712|0;ad=m+708|0;ed=m+688|0;hd=m+684|0;id=m+680|0;jd=m+676|0;gd=m+672|0;ld=m+668|0;kd=m+664|0;nd=m+660|0;od=m+656|0;md=m+652|0;rd=m+648|0;sd=m+644|0;pd=m+640|0;qd=m+624|0;vd=m+616|0;ud=m+612|0;yd=m+608|0;xd=m+604|0;td=m+600|0;wd=m+596|0;zd=m+48|0;Ad=m+592|0;Cd=m+588|0;Hd=m+584|0;Nd=m+580|0;Fd=m+576|0;Md=m+572|0;Ld=m+568|0;Gd=m+564|0;Jd=m+560|0;Od=m+556|0;Pd=m+552|0;Qd=m+548|0;Rd=m+544|0;Yd=m+540|0;Td=m+536|0;Wd=m+532|0;$d=m+528|0;Sd=m+8|0;Ud=m+500|0;Zd=m+496|0;ae=m+492|0;he=m+488|0;ie=m+476|0;je=m+472|0;de=m+468|0;be=m+464|0;ce=m+460|0;ee=m+456|0;fe=m+452|0;ke=m+448|0;oe=m+1483|0;me=m+444|0;le=m+440|0;pe=m+436|0;re=m+432|0;qe=m+428|0;ue=m+424|0;te=m+420|0;Ae=m+416|0;ze=m+412|0;xe=m+408|0;Fe=m+404|0;Ee=m+400|0;ye=m+396|0;Ce=m+392|0;ve=m+388|0;we=m+384|0;De=m+380|0;Be=m+376|0;Je=m+372|0;Ke=m+368|0;Ge=m+364|0;He=m+336|0;Ie=m+332|0;Se=m+328|0;Oe=m+324|0;Ne=m+320|0;Re=m+316|0;Le=m+312|0;Me=m+308|0;We=m+304|0;Ve=m+300|0;Xe=m+296|0;_e=m+292|0;Ue=m;Ye=m+288|0;$e=m+284|0;Ze=m+1482|0;cf=m+280|0;bf=m+276|0;af=m+272|0;df=m+268|0;c[k>>2]=f;c[n>>2]=0;c[u>>2]=c[(c[k>>2]|0)+4>>2];c[l>>2]=0;c[q>>2]=c[c[k>>2]>>2];a[nc>>0]=0;a[x>>0]=a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[qa>>2]=0;c[o>>2]=0;c[ba>>2]=0;c[$c>>2]=c[(c[k>>2]|0)+8>>2];c[jf>>2]=0;c[I>>2]=0;c[y>>2]=0;c[w>>2]=0;c[ia>>2]=0;f=(c[q>>2]|0)+32|0;Ff=c[f+4>>2]|0;Gf=r;c[Gf>>2]=c[f>>2];c[Gf+4>>2]=Ff;a:do if((c[(c[k>>2]|0)+80>>2]|0)==7)Ef=871;else{c[(c[k>>2]|0)+80>>2]=0;Gf=(c[k>>2]|0)+136|0;c[Gf>>2]=0;c[Gf+4>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[q>>2]|0)+452>>2]=0;b:do if(!(c[(c[q>>2]|0)+240>>2]|0)){do if(c[(c[q>>2]|0)+292>>2]|0){c[ba>>2]=c[(c[k>>2]|0)+124>>2];f=c[(c[q>>2]|0)+300>>2]|0;if(!(c[ba>>2]|0)){c[ba>>2]=f;break}else{c[ba>>2]=((c[ba>>2]|0)>>>0)%(f>>>0)|0;break}}while(0);c[n>>2]=c[(c[k>>2]|0)+76>>2];c:while(1){if(c[l>>2]|0)break a;if(a[(c[q>>2]|0)+64>>0]|0){Ef=871;break a}c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[u>>2]|0)+((c[n>>2]|0)*20|0);if(d[(c[p>>2]|0)+2>>0]&2){c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);if(e[(c[w>>2]|0)+8>>1]&9312)_d(c[w>>2]|0);b[(c[w>>2]|0)+8>>1]=4}d:do switch(d[c[p>>2]>>0]|0){case 27:{Ef=57;break};case 21:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[v>>2]=(c[u>>2]|0)+((c[c[jf>>2]>>2]|0)*20|0);c[n>>2]=(c[(c[v>>2]|0)+8>>2]|0)-1;b[(c[jf>>2]|0)+8>>1]=128;break};case 26:{f=c[(c[p>>2]|0)+16>>2]|0;Ff=c[f+4>>2]|0;Gf=c[w>>2]|0;c[Gf>>2]=c[f>>2];c[Gf+4>>2]=Ff;break};case 133:{b[(c[w>>2]|0)+8>>1]=8;h[c[w>>2]>>3]=+h[c[(c[p>>2]|0)+16>>2]>>3];break};case 97:{a[c[p>>2]>>0]=27;Gf=Mb(c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=Gf;if((d[x>>0]|0)!=1){c[l>>2]=Vd(c[w>>2]|0,c[(c[p>>2]|0)+16>>2]|0,-1,1,0)|0;if((c[l>>2]|0)==18){Ef=870;break c}if(yk(c[w>>2]|0,d[x>>0]|0)|0){Ef=871;break a}c[(c[w>>2]|0)+24>>2]=0;Gf=(c[w>>2]|0)+8|0;b[Gf>>1]=e[Gf>>1]|2048;if((a[(c[p>>2]|0)+1>>0]|0)==-1)Xb(c[q>>2]|0,c[(c[p>>2]|0)+16>>2]|0);a[(c[p>>2]|0)+1>>0]=-1;c[(c[p>>2]|0)+16>>2]=c[(c[w>>2]|0)+16>>2];c[(c[p>>2]|0)+4>>2]=c[(c[w>>2]|0)+12>>2]}if((c[(c[p>>2]|0)+4>>2]|0)>(c[(c[q>>2]|0)+88>>2]|0)){Ef=870;break c}else Ef=57;break};case 16:{c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;Ef=16;break};case 25:{Ff=c[(c[p>>2]|0)+4>>2]|0;Gf=c[w>>2]|0;c[Gf>>2]=Ff;c[Gf+4>>2]=((Ff|0)<0)<<31>>31;break};case 23:{c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(e[(c[y>>2]|0)+8>>1]&1)Ef=28;break};case 28:{c[z>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[(c[p>>2]|0)+8>>2]|0);Gf=((c[(c[p>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[A>>1]=Gf;b[(c[w>>2]|0)+8>>1]=Gf;while(1){if((c[z>>2]|0)<=0)break d;c[w>>2]=(c[w>>2]|0)+40;_d(c[w>>2]|0);b[(c[w>>2]|0)+8>>1]=b[A>>1]|0;c[z>>2]=(c[z>>2]|0)+ -1}};case 30:{Vd(c[w>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[(c[p>>2]|0)+4>>2]|0,0,0)|0;a[(c[w>>2]|0)+10>>0]=a[x>>0]|0;break};case 31:{c[B>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[(c[p>>2]|0)+4>>2]|0)-1|0)*40|0);if(az(c[B>>2]|0)|0){Ef=870;break c}fn(c[w>>2]|0,c[B>>2]|0,2048);break};case 22:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);b[(c[jf>>2]|0)+8>>1]=4;c[C>>2]=c[c[jf>>2]>>2];Ff=c[n>>2]|0;Gf=c[jf>>2]|0;c[Gf>>2]=Ff;c[Gf+4>>2]=((Ff|0)<0)<<31>>31;c[n>>2]=c[C>>2];break};case 17:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);b[(c[jf>>2]|0)+8>>1]=4;Ff=c[n>>2]|0;Gf=c[jf>>2]|0;c[Gf>>2]=Ff;c[Gf+4>>2]=((Ff|0)<0)<<31>>31;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 88:case 87:case 86:case 85:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]|e[(c[I>>2]|0)+8>>1])&1){_d(c[w>>2]|0);break d}Gf=Kd(c[I>>2]|0)|0;Ff=E;c[Ff>>2]=Gf;c[Ff+4>>2]=D;Ff=Kd(c[jf>>2]|0)|0;Gf=F;c[Gf>>2]=Ff;c[Gf+4>>2]=D;a[G>>0]=a[c[p>>2]>>0]|0;do if((d[G>>0]|0)!=85){Ff=F;f=c[Ff>>2]|0;Ff=c[Ff+4>>2]|0;if((d[G>>0]|0)==86){Hf=E;Ff=c[Hf+4>>2]|Ff;Gf=E;c[Gf>>2]=c[Hf>>2]|f;c[Gf+4>>2]=Ff;break}if((f|0)!=0|(Ff|0)!=0){if((c[F+4>>2]|0)<0){a[G>>0]=175-(d[G>>0]|0);Hf=F;Gf=c[Hf+4>>2]|0;if((Gf|0)>-1|(Gf|0)==-1&(c[Hf>>2]|0)>>>0>4294967232){Ff=F;Ff=ZE(0,0,c[Ff>>2]|0,c[Ff+4>>2]|0)|0;f=D}else{Ff=64;f=0}Hf=F;c[Hf>>2]=Ff;c[Hf+4>>2]=f}Hf=F;Gf=c[Hf+4>>2]|0;if((Gf|0)>0|(Gf|0)==0&(c[Hf>>2]|0)>>>0>=64){Hf=E;Gf=c[Hf+4>>2]|0;if((Gf|0)>0|(Gf|0)==0&(c[Hf>>2]|0)>>>0>=0)f=1;else f=(d[G>>0]|0)==87;Gf=f?0:-1;Hf=E;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;break}c[H+0>>2]=c[E+0>>2];c[H+4>>2]=c[E+4>>2];f=c[F>>2]|0;Ff=H;Gf=c[Ff>>2]|0;Ff=c[Ff+4>>2]|0;if((d[G>>0]|0)!=87){Gf=cF(Gf|0,Ff|0,f|0)|0;Hf=H;c[Hf>>2]=Gf;c[Hf+4>>2]=D;if((c[E+4>>2]|0)<0){Ff=F;Ff=ZE(64,0,c[Ff>>2]|0,c[Ff+4>>2]|0)|0;Ff=$E(-1,-1,Ff|0)|0;f=H;Gf=c[f+4>>2]|D;Hf=H;c[Hf>>2]=c[f>>2]|Ff;c[Hf+4>>2]=Gf}}else{Gf=$E(Gf|0,Ff|0,f|0)|0;Hf=H;c[Hf>>2]=Gf;c[Hf+4>>2]=D}c[E+0>>2]=c[H+0>>2];c[E+4>>2]=c[H+4>>2]}}else{Ff=F;f=E;Gf=c[f+4>>2]&c[Ff+4>>2];Hf=E;c[Hf>>2]=c[f>>2]&c[Ff>>2];c[Hf+4>>2]=Gf}while(0);Ff=E;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|4;break};case 29:{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);b[(c[w>>2]|0)+8>>1]=(e[(c[w>>2]|0)+8>>1]|1)&-129;break};case 24:{Ef=28;break};case 37:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Mp(c[jf>>2]|0)|0;Gf=c[(c[p>>2]|0)+8>>2]|0;Hf=c[jf>>2]|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break};case 38:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]&4|0)==0?(Jp(c[jf>>2]|0,67,a[x>>0]|0),(e[(c[jf>>2]|0)+8>>1]&4|0)==0):0){if(!(c[(c[p>>2]|0)+8>>2]|0)){Ef=167;break c}c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}b[(c[jf>>2]|0)+8>>1]=e[(c[jf>>2]|0)+8>>1]&-16896|4;break};case 40:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(e[(c[jf>>2]|0)+8>>1]&16384)f=Dd(c[jf>>2]|0)|0;else f=0;c[l>>2]=f;Cp(c[jf>>2]|0,c[(c[p>>2]|0)+8>>2]&255,a[x>>0]|0);break};case 39:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(e[(c[jf>>2]|0)+8>>1]&4)Np(c[jf>>2]|0)|0;break};case 83:case 80:case 81:case 82:case 78:case 79:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);b[K>>1]=b[(c[jf>>2]|0)+8>>1]|0;b[L>>1]=b[(c[y>>2]|0)+8>>1]|0;f=d[(c[p>>2]|0)+3>>0]|0;do if((e[K>>1]|e[L>>1])&1){if(!(f&128)){f=c[p>>2]|0;if(d[(c[p>>2]|0)+3>>0]&32){c[w>>2]=(c[$c>>2]|0)+((c[f+8>>2]|0)*40|0);b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|1;break d}if(!(d[f+3>>0]&16))break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}if(((e[K>>1]&1|0)!=0?(e[L>>1]&1|0)!=0:0)?(e[L>>1]&256|0)==0:0){c[J>>2]=0;break}c[J>>2]=1}else{a[M>>0]=f&71;if((a[M>>0]|0)>=67){if((e[(c[jf>>2]|0)+8>>1]&14|0)==2)Pe(c[jf>>2]|0,0);if((e[(c[y>>2]|0)+8>>1]&14|0)==2)Pe(c[y>>2]|0,0)}else if((a[M>>0]|0)==66){if((e[(c[jf>>2]|0)+8>>1]&2|0)==0?(e[(c[jf>>2]|0)+8>>1]&12|0)!=0:0)Kp(c[jf>>2]|0,a[x>>0]|0,1)|0;if((e[(c[y>>2]|0)+8>>1]&2|0)==0?(e[(c[y>>2]|0)+8>>1]&12|0)!=0:0)Kp(c[y>>2]|0,a[x>>0]|0,1)|0}if(e[(c[jf>>2]|0)+8>>1]&16384){Dd(c[jf>>2]|0)|0;b[K>>1]=e[K>>1]&-16385}if(e[(c[y>>2]|0)+8>>1]&16384){Dd(c[y>>2]|0)|0;b[L>>1]=e[L>>1]&-16385}if(a[(c[q>>2]|0)+64>>0]|0){Ef=871;break a}c[J>>2]=bn(c[y>>2]|0,c[jf>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[p>>2]>>0]|0){case 79:{c[J>>2]=(c[J>>2]|0)==0&1;break};case 78:{c[J>>2]=(c[J>>2]|0)!=0&1;break};case 81:{c[J>>2]=(c[J>>2]|0)<=0&1;break};case 80:{c[J>>2]=(c[J>>2]|0)>0&1;break};case 82:{c[J>>2]=(c[J>>2]|0)<0&1;break};default:c[J>>2]=(c[J>>2]|0)>=0&1}if(!(d[(c[p>>2]|0)+3>>0]&32)){if(c[J>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1}else{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|4;Gf=c[J>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31}b[(c[jf>>2]|0)+8>>1]=b[K>>1]|0;b[(c[y>>2]|0)+8>>1]=b[L>>1]|0;break};case 1:{c[Q>>2]=d[(c[p>>2]|0)+3>>0];c[R>>2]=c[(c[k>>2]|0)+12>>2];c[P>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[S>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Q>>2]|0))break;c[(c[R>>2]|0)+(c[T>>2]<<2)>>2]=c[S>>2];if((e[(c[S>>2]|0)+8>>1]&4096|0)!=0?(Ak(c[S>>2]|0)|0)!=0:0){Ef=871;break a}c[T>>2]=(c[T>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+40}c[P+4>>2]=c[(c[p>>2]|0)+16>>2];c[P+16>>2]=c[n>>2];c[P+12>>2]=c[k>>2];b[(c[P>>2]|0)+8>>1]=e[(c[P>>2]|0)+8>>1]&-16896|1;a[P+25>>0]=0;Hf=r;Gf=c[Hf+4>>2]|0;Ff=(c[q>>2]|0)+32|0;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;vb[c[(c[P+4>>2]|0)+12>>2]&63](P,c[Q>>2]|0,c[R>>2]|0);Ff=(c[q>>2]|0)+32|0;Gf=c[Ff+4>>2]|0;Hf=r;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;if(a[P+25>>0]|0){if(c[P+20>>2]|0){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=Ed(c[P>>2]|0)|0;pn(Gf,Hf,1200,g);c[l>>2]=c[P+20>>2]}hz(c[k>>2]|0,c[n>>2]|0,c[(c[p>>2]|0)+4>>2]|0)}yk(c[P>>2]|0,d[x>>0]|0)|0;if(az(c[P>>2]|0)|0){Ef=870;break c}break};case 36:{if(c[(c[p>>2]|0)+4>>2]|0)Xd((c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0)|0,0,0);break};case 93:case 92:case 91:case 90:case 89:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);b[Z>>1]=ez(c[jf>>2]|0)|0;c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);b[$>>1]=ez(c[I>>2]|0)|0;c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);b[aa>>1]=e[(c[jf>>2]|0)+8>>1]|e[(c[I>>2]|0)+8>>1];e:do if(!(e[aa>>1]&1)){do if(e[Z>>1]&e[$>>1]&4){f=c[jf>>2]|0;Hf=c[f+4>>2]|0;Gf=W;c[Gf>>2]=c[f>>2];c[Gf+4>>2]=Hf;Gf=c[I>>2]|0;Hf=c[Gf+4>>2]|0;f=X;c[f>>2]=c[Gf>>2];c[f+4>>2]=Hf;a[Y>>0]=1;f=d[c[p>>2]>>0]|0;if((f|0)==89){Hf=W;if(_m(X,c[Hf>>2]|0,c[Hf+4>>2]|0)|0)break}else if((f|0)==90){Hf=W;if(fz(X,c[Hf>>2]|0,c[Hf+4>>2]|0)|0)break}else if((f|0)==91){Hf=W;if(gz(X,c[Hf>>2]|0,c[Hf+4>>2]|0)|0)break}else if((f|0)==92){Hf=W;if((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0)break e;Gf=W;Hf=X;if(((c[Gf>>2]|0)==-1?(c[Gf+4>>2]|0)==-1:0)&((c[Hf>>2]|0)==0?(c[Hf+4>>2]|0)==-2147483648:0))break;Gf=W;Hf=X;Gf=jF(c[Hf>>2]|0,c[Hf+4>>2]|0,c[Gf>>2]|0,c[Gf+4>>2]|0)|0;Hf=X;c[Hf>>2]=Gf;c[Hf+4>>2]=D}else{Hf=W;if((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0)break e;Hf=W;if((c[Hf>>2]|0)==-1?(c[Hf+4>>2]|0)==-1:0){Hf=W;c[Hf>>2]=1;c[Hf+4>>2]=0}Gf=W;Hf=X;Gf=kF(c[Hf>>2]|0,c[Hf+4>>2]|0,c[Gf>>2]|0,c[Gf+4>>2]|0)|0;Hf=X;c[Hf>>2]=Gf;c[Hf+4>>2]=D}Ff=X;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|4;break d}else a[Y>>0]=0;while(0);h[V>>3]=+Id(c[jf>>2]|0);h[U>>3]=+Id(c[I>>2]|0);f=d[c[p>>2]>>0]|0;if((f|0)==89)h[U>>3]=+h[U>>3]+ +h[V>>3];else if((f|0)==90)h[U>>3]=+h[U>>3]- +h[V>>3];else if((f|0)==91)h[U>>3]=+h[U>>3]*+h[V>>3];else if((f|0)==92){if(+h[V>>3]==0.0)break;h[U>>3]=+h[U>>3]/+h[V>>3]}else{If=+h[V>>3];Hf=+O(If)>=1.0?If>0.0?(ca(+N(If/4294967296.0),4294967295.0)|0)>>>0:~~+_((If- +(~~If>>>0))/4294967296.0)>>>0:0;Gf=W;c[Gf>>2]=~~If>>>0;c[Gf+4>>2]=Hf;If=+h[U>>3];Gf=+O(If)>=1.0?If>0.0?(ca(+N(If/4294967296.0),4294967295.0)|0)>>>0:~~+_((If- +(~~If>>>0))/4294967296.0)>>>0:0;Hf=X;c[Hf>>2]=~~If>>>0;c[Hf+4>>2]=Gf;Hf=W;if((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0)break;Hf=W;if((c[Hf>>2]|0)==-1?(c[Hf+4>>2]|0)==-1:0){Hf=W;c[Hf>>2]=1;c[Hf+4>>2]=0}Gf=X;Hf=W;Hf=kF(c[Gf>>2]|0,c[Gf+4>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)|0;h[U>>3]=+(Hf>>>0)+4294967296.0*+(D|0)}if(!($w(+h[U>>3])|0)){h[c[w>>2]>>3]=+h[U>>3];b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|8;if((a[Y>>0]|0)!=0?1:((e[Z>>1]|e[$>>1])&8|0)!=0)break d;Hp(c[w>>2]|0);break d}}while(0);_d(c[w>>2]|0);break};case 34:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);fn(c[w>>2]|0,c[jf>>2]|0,4096);break};case 35:{if(((c[(c[q>>2]|0)+292>>2]|0)!=0?(c[o>>2]|0)>>>0>=(c[ba>>2]|0)>>>0:0)?(ub[c[(c[q>>2]|0)+292>>2]&31](c[(c[q>>2]|0)+296>>2]|0)|0)!=0:0){Ef=76;break c}Hf=bz(c[k>>2]|0,0)|0;c[l>>2]=Hf;if(0==(Hf|0)?(c[l>>2]=cz(c[k>>2]|0,1)|0,(c[l>>2]|0)==0):0){Ef=79;break c}break};case 94:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]|e[(c[I>>2]|0)+8>>1])&1){_d(c[w>>2]|0);break d}if((e[(c[jf>>2]|0)+8>>1]&16384|0)!=0?(Dd(c[jf>>2]|0)|0)!=0:0){Ef=871;break a}if((e[(c[I>>2]|0)+8>>1]&16384|0)!=0?(Dd(c[I>>2]|0)|0)!=0:0){Ef=871;break a}if((e[(c[jf>>2]|0)+8>>1]&18|0)==0?(Kp(c[jf>>2]|0,a[x>>0]|0,0)|0)!=0:0){Ef=871;break a}if((e[(c[I>>2]|0)+8>>1]&18|0)==0?(Kp(c[I>>2]|0,a[x>>0]|0,0)|0)!=0:0){Ef=871;break a}f=(c[(c[jf>>2]|0)+12>>2]|0)+(c[(c[I>>2]|0)+12>>2]|0)|0;Gf=da;c[Gf>>2]=f;c[Gf+4>>2]=((f|0)<0)<<31>>31;Gf=da;f=c[Gf+4>>2]|0;Hf=c[(c[q>>2]|0)+88>>2]|0;Ff=((Hf|0)<0)<<31>>31;if((f|0)>(Ff|0)|((f|0)==(Ff|0)?(c[Gf>>2]|0)>>>0>Hf>>>0:0)){Ef=870;break c}if(Dk(c[w>>2]|0,(c[da>>2]|0)+2|0,(c[w>>2]|0)==(c[I>>2]|0)&1)|0){Ef=871;break a}b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|2;if((c[w>>2]|0)!=(c[I>>2]|0))dF(c[(c[w>>2]|0)+16>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[(c[I>>2]|0)+12>>2]|0)|0;dF((c[(c[w>>2]|0)+16>>2]|0)+(c[(c[I>>2]|0)+12>>2]|0)|0,c[(c[jf>>2]|0)+16>>2]|0,c[(c[jf>>2]|0)+12>>2]|0)|0;a[(c[(c[w>>2]|0)+16>>2]|0)+(c[da>>2]|0)>>0]=0;Hf=da;Hf=bF(c[Hf>>2]|0,c[Hf+4>>2]|0,1,0)|0;a[(c[(c[w>>2]|0)+16>>2]|0)+Hf>>0]=0;Hf=(c[w>>2]|0)+8|0;b[Hf>>1]=e[Hf>>1]|512;c[(c[w>>2]|0)+12>>2]=c[da>>2];a[(c[w>>2]|0)+10>>0]=a[x>>0]|0;break};case 20:{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Gf=(c[(c[p>>2]|0)+12>>2]|0)-1|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;b[(c[w>>2]|0)+8>>1]=4;if(c[(c[p>>2]|0)+8>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 18:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[n>>2]=c[c[jf>>2]>>2];b[(c[jf>>2]|0)+8>>1]=128;break};case 32:{c[ea>>2]=c[(c[p>>2]|0)+12>>2];c[fa>>2]=c[(c[p>>2]|0)+4>>2];c[ga>>2]=c[(c[p>>2]|0)+8>>2];c[jf>>2]=(c[$c>>2]|0)+((c[fa>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[ga>>2]|0)*40|0);do{Ry(c[w>>2]|0,c[jf>>2]|0);c[jf>>2]=(c[jf>>2]|0)+40;c[w>>2]=(c[w>>2]|0)+40;Hf=(c[ea>>2]|0)+ -1|0;c[ea>>2]=Hf}while((Hf|0)!=0);break};case 33:{c[ha>>2]=c[(c[p>>2]|0)+12>>2];c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);while(1){fn(c[w>>2]|0,c[jf>>2]|0,4096);if((e[(c[w>>2]|0)+8>>1]&4096|0)!=0?(Ak(c[w>>2]|0)|0)!=0:0){Ef=871;break a}Hf=c[ha>>2]|0;c[ha>>2]=Hf+ -1;if(!Hf)break d;c[w>>2]=(c[w>>2]|0)+40;c[jf>>2]=(c[jf>>2]|0)+40}};case 41:{c[ia>>2]=c[(c[p>>2]|0)+16>>2];break};case 42:{if(!(d[(c[p>>2]|0)+3>>0]&1))c[ia>>2]=0;c[ra>>2]=c[(c[p>>2]|0)+12>>2];c[ka>>2]=c[(c[p>>2]|0)+16>>2];c[oa>>2]=c[(c[p>>2]|0)+4>>2];c[pa>>2]=c[(c[p>>2]|0)+8>>2];c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[ra>>2]|0))break;f=c[la>>2]|0;if(c[ia>>2]|0)f=c[(c[ia>>2]|0)+(f<<2)>>2]|0;c[ja>>2]=f;c[ma>>2]=c[(c[ka>>2]|0)+20+(c[la>>2]<<2)>>2];c[na>>2]=d[(c[(c[ka>>2]|0)+16>>2]|0)+(c[la>>2]|0)>>0];c[qa>>2]=bn((c[$c>>2]|0)+(((c[oa>>2]|0)+(c[ja>>2]|0)|0)*40|0)|0,(c[$c>>2]|0)+(((c[pa>>2]|0)+(c[ja>>2]|0)|0)*40|0)|0,c[ma>>2]|0)|0;if(c[qa>>2]|0){Ef=224;break}c[la>>2]=(c[la>>2]|0)+1}if((Ef|0)==224?(Ef=0,(c[na>>2]|0)!=0):0)c[qa>>2]=0-(c[qa>>2]|0);c[ia>>2]=0;break};case 43:{if((c[qa>>2]|0)<0){c[n>>2]=(c[(c[p>>2]|0)+4>>2]|0)-1;break d}f=c[p>>2]|0;if(!(c[qa>>2]|0)){c[n>>2]=(c[f+8>>2]|0)-1;break d}else{c[n>>2]=(c[f+12>>2]|0)-1;break d}};case 71:case 72:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(e[(c[jf>>2]|0)+8>>1]&1)c[sa>>2]=2;else{Hf=Kd(c[jf>>2]|0)|0;c[sa>>2]=((Hf|0)!=0|(D|0)!=0)&1}c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);if(e[(c[I>>2]|0)+8>>1]&1)c[ta>>2]=2;else{Hf=Kd(c[I>>2]|0)|0;c[ta>>2]=((Hf|0)!=0|(D|0)!=0)&1}f=((c[sa>>2]|0)*3|0)+(c[ta>>2]|0)|0;if((d[c[p>>2]>>0]|0)==72)c[sa>>2]=d[31408+f>>0];else c[sa>>2]=d[31424+f>>0];c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if((c[sa>>2]|0)==2){b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|1;break d}else{Gf=c[sa>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|4;break d}};case 19:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);_d(c[w>>2]|0);if(!(e[(c[jf>>2]|0)+8>>1]&1)){b[(c[w>>2]|0)+8>>1]=4;Gf=Kd(c[jf>>2]|0)|0;Gf=(((Gf|0)!=0|(D|0)!=0)^1)&1;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31}break};case 96:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);_d(c[w>>2]|0);if(!(e[(c[jf>>2]|0)+8>>1]&1)){b[(c[w>>2]|0)+8>>1]=4;Gf=Kd(c[jf>>2]|0)|0;Hf=c[w>>2]|0;c[Hf>>2]=~Gf;c[Hf+4>>2]=~D}break};case 44:{f=c[p>>2]|0;if(a[(c[(c[k>>2]|0)+200>>2]|0)+(c[(c[p>>2]|0)+4>>2]|0)>>0]|0){c[n>>2]=(c[f+8>>2]|0)-1;break d}else{a[(c[(c[k>>2]|0)+200>>2]|0)+(c[f+4>>2]|0)>>0]=1;break d}};case 46:case 45:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[jf>>2]|0)+8>>1]&1)){c[ua>>2]=+Id(c[jf>>2]|0)!=0.0&1;if((d[c[p>>2]>>0]|0)==46)c[ua>>2]=((c[ua>>2]|0)!=0^1)&1}else c[ua>>2]=c[(c[p>>2]|0)+12>>2];if(c[ua>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 76:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(e[(c[jf>>2]|0)+8>>1]&1)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 77:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[jf>>2]|0)+8>>1]&1))c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 47:{c[va>>2]=c[(c[p>>2]|0)+8>>2];c[Ba>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[ya>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[za>>2]=c[(c[ya>>2]|0)+80>>2];c[Fa>>2]=c[c[ya>>2]>>2];c[l>>2]=iz(c[ya>>2]|0)|0;if(c[l>>2]|0)break c;f=c[ya>>2]|0;f:do if((c[(c[ya>>2]|0)+60>>2]|0)==(c[(c[k>>2]|0)+72>>2]|0))if((e[f+22>>1]|0)<=(c[va>>2]|0))Ef=284;else Ef=308;else{do if(a[f+25>>0]|0)if(!(c[Fa>>2]|0)){c[Aa>>2]=(c[$c>>2]|0)+((c[(c[ya>>2]|0)+16>>2]|0)*40|0);Hf=c[(c[Aa>>2]|0)+12>>2]|0;c[wa>>2]=Hf;c[(c[ya>>2]|0)+68>>2]=Hf;c[(c[ya>>2]|0)+64>>2]=Hf;c[(c[ya>>2]|0)+76>>2]=c[(c[Aa>>2]|0)+16>>2];break}else{_d(c[Ba>>2]|0);break f}else{f=c[Fa>>2]|0;if(!((d[(c[ya>>2]|0)+27>>0]|0)>>>2&1)){Ly(f,Ga)|0;Hf=jz(c[Fa>>2]|0,wa)|0;c[(c[ya>>2]|0)+76>>2]=Hf;c[(c[ya>>2]|0)+64>>2]=c[Ga>>2]}else{kz(f,(c[ya>>2]|0)+64|0)|0;Hf=lz(c[Fa>>2]|0,wa)|0;c[(c[ya>>2]|0)+76>>2]=Hf}if((c[(c[ya>>2]|0)+64>>2]|0)>>>0<=(c[wa>>2]|0)>>>0)c[(c[ya>>2]|0)+68>>2]=c[(c[ya>>2]|0)+64>>2];else c[(c[ya>>2]|0)+68>>2]=c[wa>>2];if((c[(c[ya>>2]|0)+64>>2]|0)>>>0>(c[(c[q>>2]|0)+88>>2]|0)>>>0){Ef=870;break c}}while(0);c[(c[ya>>2]|0)+60>>2]=c[(c[k>>2]|0)+72>>2];f=c[(c[ya>>2]|0)+76>>2]|0;if((d[c[(c[ya>>2]|0)+76>>2]>>0]|0)<128){c[xa>>2]=d[f>>0];f=1}else f=(Rw(f,xa)|0)&255;c[(c[ya>>2]|0)+72>>2]=f&255;b[(c[ya>>2]|0)+22>>1]=0;c[c[za>>2]>>2]=c[xa>>2];if((c[xa>>2]|0)>>>0<=98307?(c[xa>>2]|0)>>>0<=(c[(c[ya>>2]|0)+64>>2]|0)>>>0:0){if((c[wa>>2]|0)>>>0>=(c[xa>>2]|0)>>>0){Ef=284;break}c[(c[ya>>2]|0)+76>>2]=0;c[(c[ya>>2]|0)+68>>2]=0;Ef=284;break}c[l>>2]=kj(71391)|0;break d}while(0);do if((Ef|0)==284){Ef=0;do if((c[(c[ya>>2]|0)+72>>2]|0)>>>0<(c[c[za>>2]>>2]|0)>>>0){if(!(c[(c[ya>>2]|0)+76>>2]|0)){Ff=nf+0|0;f=Ff+40|0;do{c[Ff>>2]=0;Ff=Ff+4|0}while((Ff|0)<(f|0));c[l>>2]=mz(c[Fa>>2]|0,0,c[c[za>>2]>>2]|0,(((d[(c[ya>>2]|0)+27>>0]|0)>>>2&1|0)!=0^1)&1,nf)|0;if(c[l>>2]|0)break d;c[Da>>2]=c[nf+16>>2]}else c[Da>>2]=c[(c[ya>>2]|0)+76>>2];c[of>>2]=e[(c[ya>>2]|0)+22>>1];c[xa>>2]=c[(c[za>>2]|0)+(c[of>>2]<<2)>>2];c[pf>>2]=(c[Da>>2]|0)+(c[(c[ya>>2]|0)+72>>2]|0);c[qf>>2]=(c[Da>>2]|0)+(c[c[za>>2]>>2]|0);do{f=c[pf>>2]|0;if((d[c[pf>>2]>>0]|0)<128){c[rf>>2]=d[f>>0];c[pf>>2]=(c[pf>>2]|0)+1}else{Hf=(Rw(f,rf)|0)&255;c[pf>>2]=(c[pf>>2]|0)+Hf}c[(c[ya>>2]|0)+84+(c[of>>2]<<2)>>2]=c[rf>>2];c[sf>>2]=Ww(c[rf>>2]|0)|0;c[xa>>2]=(c[xa>>2]|0)+(c[sf>>2]|0);if((c[xa>>2]|0)>>>0<(c[sf>>2]|0)>>>0){Ef=294;break}c[of>>2]=(c[of>>2]|0)+1;c[(c[za>>2]|0)+(c[of>>2]<<2)>>2]=c[xa>>2];if((c[of>>2]|0)>(c[va>>2]|0))break}while((c[pf>>2]|0)>>>0<(c[qf>>2]|0)>>>0);if((Ef|0)==294){Ef=0;c[pf>>2]=(c[qf>>2]|0)+1}b[(c[ya>>2]|0)+22>>1]=c[of>>2];c[(c[ya>>2]|0)+72>>2]=(c[pf>>2]|0)-(c[Da>>2]|0);if(!(c[(c[ya>>2]|0)+76>>2]|0)){Bd(nf);b[nf+8>>1]=1}if((c[pf>>2]|0)>>>0>=(c[qf>>2]|0)>>>0){if((c[pf>>2]|0)>>>0<=(c[qf>>2]|0)>>>0?(c[xa>>2]|0)==(c[(c[ya>>2]|0)+64>>2]|0):0)Ef=302}else Ef=302;if((Ef|0)==302?(Ef=0,(c[xa>>2]|0)>>>0<=(c[(c[ya>>2]|0)+64>>2]|0)>>>0):0)break;c[l>>2]=kj(71475)|0;break d}while(0);if((e[(c[ya>>2]|0)+22>>1]|0)<=(c[va>>2]|0)){f=c[Ba>>2]|0;if((a[(c[p>>2]|0)+1>>0]|0)==-8){fn(f,c[(c[p>>2]|0)+16>>2]|0,2048);break}else{_d(f);break}}else Ef=308}while(0);if((Ef|0)==308){Ef=0;if(e[(c[Ba>>2]|0)+8>>1]&9312)_d(c[Ba>>2]|0);c[rf>>2]=c[(c[ya>>2]|0)+84+(c[va>>2]<<2)>>2];do if((c[(c[ya>>2]|0)+68>>2]|0)>>>0>=(c[(c[za>>2]|0)+((c[va>>2]|0)+1<<2)>>2]|0)>>>0)Xw((c[(c[ya>>2]|0)+76>>2]|0)+(c[(c[za>>2]|0)+(c[va>>2]<<2)>>2]|0)|0,c[rf>>2]|0,c[Ba>>2]|0)|0;else{do if(d[(c[p>>2]|0)+3>>0]&192){if((c[rf>>2]|0)>>>0>=12?(c[rf>>2]&1|0)==0:0)break;if(!(d[(c[p>>2]|0)+3>>0]&128))Ef=316}else Ef=316;while(0);if((Ef|0)==316?(Ef=0,Hf=Ww(c[rf>>2]|0)|0,c[Ea>>2]=Hf,(Hf|0)!=0):0){c[l>>2]=mz(c[Fa>>2]|0,c[(c[za>>2]|0)+(c[va>>2]<<2)>>2]|0,c[Ea>>2]|0,(((d[(c[ya>>2]|0)+27>>0]|0)>>>2&1|0)!=0^1)&1,c[Ba>>2]|0)|0;if(c[l>>2]|0)break d;Xw(c[(c[Ba>>2]|0)+16>>2]|0,c[rf>>2]|0,c[Ba>>2]|0)|0;Hf=(c[Ba>>2]|0)+8|0;b[Hf>>1]=e[Hf>>1]&-4097;break}if((c[rf>>2]|0)>>>0<=13)f=Ga;else f=0;Xw(f,c[rf>>2]|0,c[Ba>>2]|0)|0}while(0);a[(c[Ba>>2]|0)+10>>0]=a[x>>0]|0}if((e[(c[Ba>>2]|0)+8>>1]&4096|0)!=0?(c[(c[Ba>>2]|0)+16>>2]|0)!=0:0){b[Ca>>1]=e[(c[Ba>>2]|0)+8>>1]&18;c[Da>>2]=c[(c[Ba>>2]|0)+16>>2];c[Ea>>2]=c[(c[Ba>>2]|0)+12>>2];if(Lp(c[Ba>>2]|0,(c[Ea>>2]|0)+2|0)|0){Ef=871;break a}dF(c[(c[Ba>>2]|0)+16>>2]|0,c[Da>>2]|0,c[Ea>>2]|0)|0;a[(c[(c[Ba>>2]|0)+16>>2]|0)+(c[Ea>>2]|0)>>0]=0;a[(c[(c[Ba>>2]|0)+16>>2]|0)+((c[Ea>>2]|0)+1)>>0]=0;b[(c[Ba>>2]|0)+8>>1]=e[Ca>>1]|512}break};case 48:{c[Ha>>2]=c[(c[p>>2]|0)+16>>2];c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);while(1){Hf=c[Ha>>2]|0;c[Ha>>2]=Hf+1;Hf=a[Hf>>0]|0;a[Ia>>0]=Hf;if(!(Hf<<24>>24))break d;Jp(c[jf>>2]|0,a[Ia>>0]|0,a[x>>0]|0);c[jf>>2]=(c[jf>>2]|0)+40}};case 49:{Hf=Ra;c[Hf>>2]=0;c[Hf+4>>2]=0;c[Ma>>2]=0;c[Va>>2]=0;c[Ya>>2]=c[(c[p>>2]|0)+4>>2];c[Xa>>2]=c[(c[p>>2]|0)+16>>2];c[Oa>>2]=(c[$c>>2]|0)+((c[Ya>>2]|0)*40|0);c[Ya>>2]=c[(c[p>>2]|0)+8>>2];c[Ta>>2]=(c[Oa>>2]|0)+(((c[Ya>>2]|0)-1|0)*40|0);c[Wa>>2]=d[(c[k>>2]|0)+87>>0];c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(c[Xa>>2]|0){c[Ja>>2]=c[Oa>>2];do{Gf=c[Ja>>2]|0;c[Ja>>2]=Gf+40;Hf=c[Xa>>2]|0;c[Xa>>2]=Hf+1;Jp(Gf,a[Hf>>0]|0,a[x>>0]|0)}while((a[c[Xa>>2]>>0]|0)!=0)}c[Ja>>2]=c[Ta>>2];do{Hf=nz(c[Ja>>2]|0,c[Wa>>2]|0)|0;c[Ka>>2]=Hf;c[(c[Ja>>2]|0)+28>>2]=Hf;c[Ua>>2]=Ww(c[Ka>>2]|0)|0;do if(e[(c[Ja>>2]|0)+8>>1]&16384){Hf=Ra;f=c[Ja>>2]|0;if((c[Hf>>2]|0)!=0|(c[Hf+4>>2]|0)!=0){Dd(f)|0;break}else{c[Va>>2]=(c[Va>>2]|0)+(c[f>>2]|0);c[Ua>>2]=(c[Ua>>2]|0)-(c[c[Ja>>2]>>2]|0);break}}while(0);Gf=c[Ua>>2]|0;Hf=Ra;Gf=bF(c[Hf>>2]|0,c[Hf+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;Hf=Ra;c[Hf>>2]=Gf;c[Hf+4>>2]=D;if((c[Ka>>2]|0)>>>0<=127)f=1;else f=Zw(c[Ka>>2]|0,0)|0;c[Ma>>2]=(c[Ma>>2]|0)+f;Hf=(c[Ja>>2]|0)+ -40|0;c[Ja>>2]=Hf}while(Hf>>>0>=(c[Oa>>2]|0)>>>0);f=c[Ma>>2]|0;if((c[Ma>>2]|0)>126){c[Sa>>2]=Zw(f,((f|0)<0)<<31>>31)|0;c[Ma>>2]=(c[Ma>>2]|0)+(c[Sa>>2]|0);Gf=c[Sa>>2]|0;Hf=c[Ma>>2]|0;if((Gf|0)<(Zw(Hf,((Hf|0)<0)<<31>>31)|0))c[Ma>>2]=(c[Ma>>2]|0)+1}else c[Ma>>2]=f+1;Gf=c[Ma>>2]|0;f=Ra;f=bF(Gf|0,((Gf|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;Gf=Qa;c[Gf>>2]=f;c[Gf+4>>2]=D;Gf=Qa;f=c[Gf+4>>2]|0;Hf=c[(c[q>>2]|0)+88>>2]|0;Ff=((Hf|0)<0)<<31>>31;if((f|0)>(Ff|0)|((f|0)==(Ff|0)?(c[Gf>>2]|0)>>>0>Hf>>>0:0)){Ef=870;break c}if(Lp(c[w>>2]|0,c[Qa>>2]|0)|0){Ef=871;break a}c[Pa>>2]=c[(c[w>>2]|0)+16>>2];if((c[Ma>>2]|0)>>>0<128){a[c[Pa>>2]>>0]=c[Ma>>2];f=1}else{f=c[Ma>>2]|0;f=oz(c[Pa>>2]|0,f,((f|0)<0)<<31>>31)|0}c[La>>2]=f&255;c[Na>>2]=c[Ma>>2];c[Ja>>2]=c[Oa>>2];do{c[Ka>>2]=c[(c[Ja>>2]|0)+28>>2];if((c[Ka>>2]|0)>>>0<128){a[(c[Pa>>2]|0)+(c[La>>2]|0)>>0]=c[Ka>>2];f=1}else f=oz((c[Pa>>2]|0)+(c[La>>2]|0)|0,c[Ka>>2]|0,0)|0;c[La>>2]=(c[La>>2]|0)+(f&255);Hf=pz((c[Pa>>2]|0)+(c[Na>>2]|0)|0,c[Ja>>2]|0,c[Ka>>2]|0)|0;c[Na>>2]=(c[Na>>2]|0)+Hf;Hf=(c[Ja>>2]|0)+40|0;c[Ja>>2]=Hf}while(Hf>>>0<=(c[Ta>>2]|0)>>>0);c[(c[w>>2]|0)+12>>2]=c[Qa>>2];b[(c[w>>2]|0)+8>>1]=16;if(c[Va>>2]|0){c[c[w>>2]>>2]=c[Va>>2];Hf=(c[w>>2]|0)+8|0;b[Hf>>1]=e[Hf>>1]|16384}a[(c[w>>2]|0)+10>>0]=1;break};case 50:{c[Za>>2]=c[c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]>>2];Ff=_a;c[Ff>>2]=0;c[Ff+4>>2]=0;c[l>>2]=qz(c[Za>>2]|0,_a)|0;Ff=_a;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;break};case 2:{c[fb>>2]=c[(c[p>>2]|0)+4>>2];c[bb>>2]=c[(c[p>>2]|0)+16>>2];if(!(c[fb>>2]|0)){if((c[(c[q>>2]|0)+156>>2]|0)>0){pn((c[k>>2]|0)+44|0,c[q>>2]|0,31440,g);c[l>>2]=5;break d}c[$a>>2]=Mb(c[bb>>2]|0)|0;c[l>>2]=rz(c[q>>2]|0,0,(c[(c[q>>2]|0)+500>>2]|0)+(c[(c[q>>2]|0)+496>>2]|0)|0)|0;if(c[l>>2]|0)break c;c[ab>>2]=Qe(c[q>>2]|0,33+(c[$a>>2]|0)|0,0)|0;if(!(c[ab>>2]|0))break d;c[c[ab>>2]>>2]=(c[ab>>2]|0)+32;dF(c[c[ab>>2]>>2]|0,c[bb>>2]|0,(c[$a>>2]|0)+1|0)|0;f=c[q>>2]|0;if(a[(c[q>>2]|0)+62>>0]|0){a[f+62>>0]=0;a[(c[q>>2]|0)+69>>0]=1}else{Hf=f+496|0;c[Hf>>2]=(c[Hf>>2]|0)+1}c[(c[ab>>2]|0)+24>>2]=c[(c[q>>2]|0)+488>>2];c[(c[q>>2]|0)+488>>2]=c[ab>>2];Hf=(c[q>>2]|0)+504|0;Gf=c[Hf+4>>2]|0;Ff=(c[ab>>2]|0)+8|0;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;Ff=(c[q>>2]|0)+512|0;Gf=c[Ff+4>>2]|0;Hf=(c[ab>>2]|0)+16|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;break d}c[gb>>2]=0;c[cb>>2]=c[(c[q>>2]|0)+488>>2];while(1){if(!(c[cb>>2]|0))break;if(!(xc(c[c[cb>>2]>>2]|0,c[bb>>2]|0)|0))break;c[gb>>2]=(c[gb>>2]|0)+1;c[cb>>2]=c[(c[cb>>2]|0)+24>>2]}if(!(c[cb>>2]|0)){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=c[bb>>2];pn(Gf,Hf,31496,g);c[l>>2]=1;break d}if((c[fb>>2]|0)==1?(c[(c[q>>2]|0)+156>>2]|0)>0:0){pn((c[k>>2]|0)+44|0,c[q>>2]|0,31520,g);c[l>>2]=5;break d}if(!(c[(c[cb>>2]|0)+24>>2]|0))f=(d[(c[q>>2]|0)+69>>0]|0)!=0;else f=0;c[ib>>2]=f&1;if(!((c[ib>>2]|0)!=0&(c[fb>>2]|0)==1)){c[gb>>2]=(c[(c[q>>2]|0)+496>>2]|0)-(c[gb>>2]|0)-1;g:do if((c[fb>>2]|0)==2){c[db>>2]=(c[(c[q>>2]|0)+24>>2]&2|0)!=0&1;c[eb>>2]=0;while(1){if((c[eb>>2]|0)>=(c[(c[q>>2]|0)+20>>2]|0))break g;c[l>>2]=sz(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[eb>>2]<<4)+4>>2]|0,516,(c[db>>2]|0)==0&1)|0;if(c[l>>2]|0)break c;c[eb>>2]=(c[eb>>2]|0)+1}}else c[db>>2]=0;while(0);c[eb>>2]=0;while(1){if((c[eb>>2]|0)>=(c[(c[q>>2]|0)+20>>2]|0))break;c[l>>2]=tz(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[eb>>2]<<4)+4>>2]|0,c[fb>>2]|0,c[gb>>2]|0)|0;if(c[l>>2]|0)break c;c[eb>>2]=(c[eb>>2]|0)+1}if(c[db>>2]|0){gf(c[q>>2]|0);cd(c[q>>2]|0);c[(c[q>>2]|0)+24>>2]=c[(c[q>>2]|0)+24>>2]|2}}else{Hf=bz(c[k>>2]|0,1)|0;c[l>>2]=Hf;if(Hf){Ef=869;break c}a[(c[q>>2]|0)+62>>0]=1;if(($y(c[k>>2]|0)|0)==5){Ef=381;break c}a[(c[q>>2]|0)+69>>0]=0;c[l>>2]=c[(c[k>>2]|0)+80>>2]}while(1){if((c[(c[q>>2]|0)+488>>2]|0)==(c[cb>>2]|0))break;c[hb>>2]=c[(c[q>>2]|0)+488>>2];c[(c[q>>2]|0)+488>>2]=c[(c[hb>>2]|0)+24>>2];Xb(c[q>>2]|0,c[hb>>2]|0);Hf=(c[q>>2]|0)+496|0;c[Hf>>2]=(c[Hf>>2]|0)+ -1}f=c[cb>>2]|0;if((c[fb>>2]|0)==1){c[(c[q>>2]|0)+488>>2]=c[f+24>>2];Xb(c[q>>2]|0,c[cb>>2]|0);if(!(c[ib>>2]|0)){Hf=(c[q>>2]|0)+496|0;c[Hf>>2]=(c[Hf>>2]|0)+ -1}}else{Hf=f+8|0;Gf=c[Hf+4>>2]|0;Ff=(c[q>>2]|0)+504|0;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;Ff=(c[cb>>2]|0)+16|0;Gf=c[Ff+4>>2]|0;Hf=(c[q>>2]|0)+512|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}if((c[ib>>2]|0)==0?(c[l>>2]=rz(c[q>>2]|0,c[fb>>2]|0,c[gb>>2]|0)|0,(c[l>>2]|0)!=0):0)break c;break};case 3:{c[jb>>2]=c[(c[p>>2]|0)+4>>2];c[lb>>2]=c[(c[p>>2]|0)+8>>2];if(c[jb>>2]|0)f=(a[(c[q>>2]|0)+62>>0]|0)!=0^1;else f=0;c[kb>>2]=f&1;if(!((c[kb>>2]|0)==0|(c[lb>>2]|0)!=0)?(c[(c[q>>2]|0)+156>>2]|0)>0:0){pn((c[k>>2]|0)+44|0,c[q>>2]|0,31576,g);c[l>>2]=5;break d}if((c[jb>>2]|0)!=(d[(c[q>>2]|0)+62>>0]|0)){Ef=409;break c}if(c[jb>>2]|0)f=(c[lb>>2]|0)!=0?31680:31728;else f=31632;pn((c[k>>2]|0)+44|0,c[q>>2]|0,f,g);c[l>>2]=1;break};case 4:{if((c[(c[p>>2]|0)+8>>2]|0)!=0?(c[(c[q>>2]|0)+24>>2]&33554432|0)!=0:0){Ef=422;break c}c[mb>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2];if(c[mb>>2]|0){c[l>>2]=Rc(c[mb>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;if((c[l>>2]|0)==5){Ef=425;break c}if(c[l>>2]|0)break c;do if((c[(c[p>>2]|0)+8>>2]|0)!=0?((e[(c[k>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){if((d[(c[q>>2]|0)+62>>0]|0)!=0?(c[(c[q>>2]|0)+152>>2]|0)<=1:0)break;if(!(c[(c[k>>2]|0)+104>>2]|0)){Hf=(c[q>>2]|0)+500|0;c[Hf>>2]=(c[Hf>>2]|0)+1;c[(c[k>>2]|0)+104>>2]=(c[(c[q>>2]|0)+496>>2]|0)+(c[(c[q>>2]|0)+500>>2]|0)}c[l>>2]=rz(c[q>>2]|0,0,(c[(c[k>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[l>>2]|0))c[l>>2]=uz(c[mb>>2]|0,c[(c[k>>2]|0)+104>>2]|0)|0;Hf=(c[q>>2]|0)+504|0;Gf=c[Hf+4>>2]|0;Ff=(c[k>>2]|0)+152|0;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;Ff=(c[q>>2]|0)+512|0;Gf=c[Ff+4>>2]|0;Hf=(c[k>>2]|0)+160|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}while(0);Sc(c[mb>>2]|0,1,nb);c[ob>>2]=c[(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[nb>>2]=0;c[ob>>2]=0}if(d[(c[p>>2]|0)+3>>0]|0){if((c[nb>>2]|0)==(c[(c[p>>2]|0)+12>>2]|0)?(c[ob>>2]|0)==(c[(c[p>>2]|0)+16>>2]|0):0)break d;Xb(c[q>>2]|0,c[(c[k>>2]|0)+44>>2]|0);Hf=ne(c[q>>2]|0,5664)|0;c[(c[k>>2]|0)+44>>2]=Hf;if((c[c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[nb>>2]|0))as(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0);Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-33|32;c[l>>2]=17}break};case 51:{c[qb>>2]=c[(c[p>>2]|0)+4>>2];c[rb>>2]=c[(c[p>>2]|0)+12>>2];Sc(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[qb>>2]<<4)+4>>2]|0,c[rb>>2]|0,tb);Gf=c[tb>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;break};case 52:{c[wb>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4);c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);Mp(c[y>>2]|0)|0;c[l>>2]=bd(c[(c[wb>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[c[y>>2]>>2]|0)|0;if((c[(c[p>>2]|0)+8>>2]|0)!=1){if((c[(c[p>>2]|0)+8>>2]|0)==2)a[(c[(c[wb>>2]|0)+12>>2]|0)+76>>0]=c[c[y>>2]>>2]}else{c[c[(c[wb>>2]|0)+12>>2]>>2]=c[c[y>>2]>>2];Hf=(c[q>>2]|0)+24|0;c[Hf>>2]=c[Hf>>2]|2}if((c[(c[p>>2]|0)+4>>2]|0)==1){gf(c[q>>2]|0);Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-33}break};case 55:case 54:{Ef=453;break};case 53:{c[Bb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(!((c[Bb>>2]|0)!=0?(c[(c[Bb>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+8>>2]|0):0))Ef=453;break};case 57:case 56:{c[Cb>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Cb>>2]|0)){Ef=871;break a}a[(c[Cb>>2]|0)+25>>0]=1;Hf=(c[Cb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-2|1;c[l>>2]=rh(c[c[q>>2]>>2]|0,0,c[q>>2]|0,(c[Cb>>2]|0)+4|0,5|d[(c[p>>2]|0)+3>>0],1054)|0;if(!(c[l>>2]|0))c[l>>2]=Rc(c[(c[Cb>>2]|0)+4>>2]|0,1)|0;do if(!(c[l>>2]|0)){Hf=c[(c[p>>2]|0)+16>>2]|0;c[Eb>>2]=Hf;f=c[(c[Cb>>2]|0)+4>>2]|0;if(!Hf){c[l>>2]=wz(f,1,1,0,c[c[Cb>>2]>>2]|0)|0;Hf=(c[Cb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-5|4;break}c[l>>2]=yz(f,Db,2|d[(c[p>>2]|0)+3>>0])|0;if(!(c[l>>2]|0)){c[(c[Cb>>2]|0)+8>>2]=c[Eb>>2];c[l>>2]=wz(c[(c[Cb>>2]|0)+4>>2]|0,c[Db>>2]|0,1,c[Eb>>2]|0,c[c[Cb>>2]>>2]|0)|0}Hf=(c[Cb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-5}while(0);Hf=(c[Cb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-9|((d[(c[p>>2]|0)+3>>0]|0)!=8&1)<<3&255;break};case 58:{c[Fb>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Fb>>2]|0)){Ef=871;break a}c[(c[Fb>>2]|0)+8>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=zz(c[q>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[Fb>>2]|0)|0;break};case 59:{c[Gb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];Ff=(c[Gb>>2]|0)+40|0;Hf=Ff;Gf=c[Hf>>2]|0;Hf=c[Hf+4>>2]|0;f=bF(Gf|0,Hf|0,1,0)|0;c[Ff>>2]=f;c[Ff+4>>2]=D;if((Gf|0)==0&(Hf|0)==0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 60:{c[Hb>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+12>>2]|0,-1,0)|0;if(!(c[Hb>>2]|0)){Ef=871;break a}a[(c[Hb>>2]|0)+25>>0]=1;c[(c[Hb>>2]|0)+16>>2]=c[(c[p>>2]|0)+8>>2];Hf=(c[Hb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-5|4;break};case 61:{Az(c[k>>2]|0,c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]=0;break};case 65:case 64:case 63:case 62:{c[Kb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Ib>>2]=d[c[p>>2]>>0];a[(c[Kb>>2]|0)+25>>0]=0;f=c[p>>2]|0;if((d[(c[Kb>>2]|0)+27>>0]|0)>>>2&1){c[y>>2]=(c[$c>>2]|0)+((c[f+12>>2]|0)*40|0);if((e[(c[y>>2]|0)+8>>1]&14|0)==2)Pe(c[y>>2]|0,0);Gf=Kd(c[y>>2]|0)|0;Hf=Jb;c[Hf>>2]=Gf;c[Hf+4>>2]=D;do if(!(e[(c[y>>2]|0)+8>>1]&4)){if(!(e[(c[y>>2]|0)+8>>1]&8)){c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}Hf=Jb;if(+h[c[y>>2]>>3]<+((c[Hf>>2]|0)>>>0)+4294967296.0*+(c[Hf+4>>2]|0)){if((c[Ib>>2]&1|0)!=1)break;c[Ib>>2]=(c[Ib>>2]|0)+ -1;break}Hf=Jb;if(+h[c[y>>2]>>3]>+((c[Hf>>2]|0)>>>0)+4294967296.0*+(c[Hf+4>>2]|0)?(c[Ib>>2]&1|0)==0:0)c[Ib>>2]=(c[Ib>>2]|0)+1}while(0);Ff=Jb;c[l>>2]=Gw(c[c[Kb>>2]>>2]|0,0,c[Ff>>2]|0,c[Ff+4>>2]|0,0,Lb)|0;Ff=Jb;Gf=c[Ff+4>>2]|0;Hf=(c[Kb>>2]|0)+48|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;if(c[l>>2]|0)break c}else{c[Ob>>2]=c[f+16>>2];c[Nb>>2]=c[(c[Kb>>2]|0)+8>>2];b[Nb+4>>1]=c[Ob>>2];a[Nb+6>>0]=(1&(c[Ib>>2]|0)-62|0)!=0?-1:1;c[Nb+8>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(e[(c[Nb+8>>2]|0)+8>>1]&16384)Dd(c[Nb+8>>2]|0)|0;c[l>>2]=Gw(c[c[Kb>>2]>>2]|0,Nb,0,0,0,Lb)|0;if(c[l>>2]|0)break c}a[(c[Kb>>2]|0)+26>>0]=0;c[(c[Kb>>2]|0)+60>>2]=0;f=c[Lb>>2]|0;do if((c[Ib>>2]|0)>=64){if((f|0)>=0?!((c[Lb>>2]|0)==0&(c[Ib>>2]|0)==65):0){c[Lb>>2]=0;break}c[Lb>>2]=0;c[l>>2]=sw(c[c[Kb>>2]>>2]|0,Lb)|0;if(c[l>>2]|0)break c}else{if((f|0)<=0?!((c[Lb>>2]|0)==0&(c[Ib>>2]|0)==62):0){c[Lb>>2]=Bz(c[c[Kb>>2]>>2]|0)|0;break}c[Lb>>2]=0;c[l>>2]=tw(c[c[Kb>>2]>>2]|0,Lb)|0;if(c[l>>2]|0)break c}while(0);if(c[Lb>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 66:{c[Pb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];a[(c[Pb>>2]|0)+25>>0]=0;c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);Gf=Kd(c[I>>2]|0)|0;Hf=(c[Pb>>2]|0)+48|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;a[(c[Pb>>2]|0)+26>>0]=1;break};case 69:case 68:case 67:{c[Rb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[Ub>>2]=0;f=c[(c[Rb>>2]|0)+8>>2]|0;if((c[(c[p>>2]|0)+16>>2]|0)>0){c[Wb>>2]=f;b[Wb+4>>1]=c[(c[p>>2]|0)+16>>2];c[Wb+8>>2]=c[y>>2];c[Yb>>2]=0;while(1){if((c[Yb>>2]|0)>=(e[Wb+4>>1]|0))break;if(e[(c[Wb+8>>2]|0)+((c[Yb>>2]|0)*40|0)+8>>1]&16384)Dd((c[Wb+8>>2]|0)+((c[Yb>>2]|0)*40|0)|0)|0;c[Yb>>2]=(c[Yb>>2]|0)+1}c[Vb>>2]=Wb}else{c[Vb>>2]=Ew(f,Zb,191,Ub)|0;if(!(c[Vb>>2]|0)){Ef=871;break a}Fw(c[(c[Rb>>2]|0)+8>>2]|0,c[(c[y>>2]|0)+12>>2]|0,c[(c[y>>2]|0)+16>>2]|0,c[Vb>>2]|0)}a[(c[Vb>>2]|0)+6>>0]=0;h:do if((d[c[p>>2]>>0]|0)==67){c[Yb>>2]=0;while(1){if((c[Yb>>2]|0)>=(e[Wb+4>>1]|0))break h;if(e[(c[Wb+8>>2]|0)+((c[Yb>>2]|0)*40|0)+8>>1]&1)break;c[Yb>>2]=(c[Yb>>2]|0)+1}c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1}while(0);c[l>>2]=Gw(c[c[Rb>>2]>>2]|0,c[Vb>>2]|0,0,0,0,Qb)|0;if(!(c[(c[p>>2]|0)+16>>2]|0))Xb(c[q>>2]|0,c[Ub>>2]|0);if(!(c[l>>2]|0)){c[(c[Rb>>2]|0)+12>>2]=c[Qb>>2];c[Tb>>2]=(c[Qb>>2]|0)==0&1;a[(c[Rb>>2]|0)+25>>0]=1-(c[Tb>>2]|0);a[(c[Rb>>2]|0)+26>>0]=0;c[(c[Rb>>2]|0)+60>>2]=0;f=(c[Tb>>2]|0)!=0;if((d[c[p>>2]>>0]|0)==69){if(!f)break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}else{if(f)break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}}break};case 73:{Hf=(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]|0)+40|0;Gf=Hf;Ff=c[Gf>>2]|0;Gf=c[Gf+4>>2]|0;f=bF(Ff|0,Gf|0,1,0)|0;c[Hf>>2]=f;c[Hf+4>>2]=D;Hf=c[w>>2]|0;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf;break};case 70:{c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[$b>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[ac>>2]=c[c[$b>>2]>>2];c[_b>>2]=0;Hf=c[y>>2]|0;Gf=c[Hf+4>>2]|0;Ff=bc;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;Ff=bc;c[l>>2]=Gw(c[ac>>2]|0,0,c[Ff>>2]|0,c[Ff+4>>2]|0,0,_b)|0;Ff=bc;Gf=c[Ff+4>>2]|0;Hf=(c[$b>>2]|0)+48|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;a[(c[$b>>2]|0)+25>>0]=0;c[(c[$b>>2]|0)+60>>2]=0;a[(c[$b>>2]|0)+26>>0]=0;if(c[_b>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;c[(c[$b>>2]|0)+12>>2]=c[_b>>2];break};case 74:{Hf=cc;c[Hf>>2]=0;c[Hf+4>>2]=0;c[hc>>2]=0;c[ec>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(c[c[ec>>2]>>2]|0){do if(!((d[(c[ec>>2]|0)+27>>0]|0)>>>1&1)){c[l>>2]=Cz(c[c[ec>>2]>>2]|0,hc)|0;if(c[l>>2]|0)break c;if(c[hc>>2]|0){Hf=cc;c[Hf>>2]=1;c[Hf+4>>2]=0;break}c[l>>2]=Ly(c[c[ec>>2]>>2]|0,cc)|0;Hf=cc;Gf=c[Hf+4>>2]|0;if((Gf|0)>2147483647|(Gf|0)==2147483647&(c[Hf>>2]|0)>>>0>=4294967295){Hf=(c[ec>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-3|2;break}else{Gf=cc;Gf=bF(c[Gf>>2]|0,c[Gf+4>>2]|0,1,0)|0;Hf=cc;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break}}while(0);if(c[(c[p>>2]|0)+12>>2]|0){if(c[(c[k>>2]|0)+176>>2]|0){c[fc>>2]=c[(c[k>>2]|0)+176>>2];while(1){if(!(c[(c[fc>>2]|0)+4>>2]|0))break;c[fc>>2]=c[(c[fc>>2]|0)+4>>2]}c[dc>>2]=(c[(c[fc>>2]|0)+12>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0)}else c[dc>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);Mp(c[dc>>2]|0)|0;Hf=c[dc>>2]|0;if((c[Hf>>2]|0)==-1?(c[Hf+4>>2]|0)==2147483647:0){Ef=557;break c}if((d[(c[ec>>2]|0)+27>>0]|0)>>>1&1){Ef=557;break c}f=cc;Gf=c[f>>2]|0;f=c[f+4>>2]|0;Hf=c[dc>>2]|0;Hf=bF(c[Hf>>2]|0,c[Hf+4>>2]|0,1,0)|0;Ff=D;if((f|0)<(Ff|0)|(f|0)==(Ff|0)&Gf>>>0>>0){Gf=c[dc>>2]|0;Gf=bF(c[Gf>>2]|0,c[Gf+4>>2]|0,1,0)|0;Hf=cc;c[Hf>>2]=Gf;c[Hf+4>>2]=D}Ff=cc;Gf=c[Ff+4>>2]|0;Hf=c[dc>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}if((d[(c[ec>>2]|0)+27>>0]|0)>>>1&1){c[gc>>2]=0;do{vc(8,cc);Ff=cc;Hf=c[Ff+4>>2]&1073741823;Gf=cc;c[Gf>>2]=c[Ff>>2];c[Gf+4>>2]=Hf;Gf=cc;Gf=bF(c[Gf>>2]|0,c[Gf+4>>2]|0,1,0)|0;Hf=cc;c[Hf>>2]=Gf;c[Hf+4>>2]=D;Hf=cc;Hf=Gw(c[c[ec>>2]>>2]|0,0,c[Hf>>2]|0,c[Hf+4>>2]|0,0,hc)|0;c[l>>2]=Hf;if(!((Hf|0)==0&(c[hc>>2]|0)==0))break;Hf=(c[gc>>2]|0)+1|0;c[gc>>2]=Hf}while((Hf|0)<100);if((c[l>>2]|0)==0&(c[hc>>2]|0)==0){Ef=566;break c}}a[(c[ec>>2]|0)+26>>0]=0;c[(c[ec>>2]|0)+60>>2]=0}Ff=cc;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;break};case 84:case 75:{c[t>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[ic>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];f=c[(c[p>>2]|0)+12>>2]|0;if((d[c[p>>2]>>0]|0)==75){c[qc>>2]=(c[$c>>2]|0)+(f*40|0);Ff=c[qc>>2]|0;Gf=c[Ff+4>>2]|0;Hf=mc;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}else{Hf=mc;c[Hf>>2]=f;c[Hf+4>>2]=((f|0)<0)<<31>>31}if(d[(c[p>>2]|0)+3>>0]&1){Hf=(c[k>>2]|0)+92|0;c[Hf>>2]=(c[Hf>>2]|0)+1}if(d[(c[p>>2]|0)+3>>0]&2){Gf=mc;Ff=c[Gf>>2]|0;Gf=c[Gf+4>>2]|0;Hf=r;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf;Hf=(c[q>>2]|0)+32|0;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf}if(e[(c[t>>2]|0)+8>>1]&1){c[(c[t>>2]|0)+16>>2]=0;c[(c[t>>2]|0)+12>>2]=0}if(d[(c[p>>2]|0)+3>>0]&16)f=c[(c[ic>>2]|0)+12>>2]|0;else f=0;c[pc>>2]=f;if(e[(c[t>>2]|0)+8>>1]&16384)c[oc>>2]=c[c[t>>2]>>2];else c[oc>>2]=0;Hf=mc;c[l>>2]=Dz(c[c[ic>>2]>>2]|0,0,c[Hf>>2]|0,c[Hf+4>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[oc>>2]|0,(d[(c[p>>2]|0)+3>>0]&8|0)!=0&1,c[pc>>2]|0)|0;a[(c[ic>>2]|0)+26>>0]=0;c[(c[ic>>2]|0)+60>>2]=0;if(((c[l>>2]|0)==0?(c[(c[q>>2]|0)+208>>2]|0)!=0:0)?(c[(c[p>>2]|0)+16>>2]|0)!=0:0){c[jc>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(a[(c[ic>>2]|0)+24>>0]<<4)>>2];c[kc>>2]=c[(c[p>>2]|0)+16>>2];c[lc>>2]=(d[(c[p>>2]|0)+3>>0]&4|0)!=0?23:18;Hf=mc;yb[c[(c[q>>2]|0)+208>>2]&0](c[(c[q>>2]|0)+204>>2]|0,c[lc>>2]|0,c[jc>>2]|0,c[kc>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)}break};case 95:{c[rc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[l>>2]=Ez(c[c[rc>>2]>>2]|0)|0;c[(c[rc>>2]|0)+60>>2]=0;if((((c[l>>2]|0)==0?(c[(c[q>>2]|0)+208>>2]|0)!=0:0)?(c[(c[p>>2]|0)+16>>2]|0)!=0:0)?((d[(c[rc>>2]|0)+27>>0]|0)>>>2&1|0)!=0:0){Hf=(c[rc>>2]|0)+48|0;yb[c[(c[q>>2]|0)+208>>2]&0](c[(c[q>>2]|0)+204>>2]|0,9,c[(c[(c[q>>2]|0)+16>>2]|0)+(a[(c[rc>>2]|0)+24>>0]<<4)>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)}if(c[(c[p>>2]|0)+8>>2]&1){Hf=(c[k>>2]|0)+92|0;c[Hf>>2]=(c[Hf>>2]|0)+1}break};case 98:{Zy(c[q>>2]|0,c[(c[k>>2]|0)+92>>2]|0);c[(c[k>>2]|0)+92>>2]=0;break};case 99:{c[sc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[uc>>2]=c[(c[p>>2]|0)+16>>2];c[wc>>2]=0;c[l>>2]=Fz(c[sc>>2]|0,c[y>>2]|0,c[uc>>2]|0,wc)|0;if(c[wc>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 100:{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[yc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[l>>2]=Gz(c[yc>>2]|0,c[w>>2]|0)|0;c[(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+12>>2]<<2)>>2]|0)+60>>2]=0;break};case 102:case 101:{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[Bc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Ac>>2]=c[c[Bc>>2]>>2];f=c[Ac>>2]|0;if((d[(c[Bc>>2]|0)+27>>0]|0)>>>2&1){kz(f,zc)|0;if((c[zc>>2]|0)>>>0>(c[(c[q>>2]|0)+88>>2]|0)>>>0){Ef=870;break c}}else{Ly(f,Cc)|0;Gf=Cc;f=c[Gf+4>>2]|0;Hf=c[(c[q>>2]|0)+88>>2]|0;Ff=((Hf|0)<0)<<31>>31;if((f|0)>(Ff|0)|((f|0)==(Ff|0)?(c[Gf>>2]|0)>>>0>Hf>>>0:0)){Ef=870;break c}c[zc>>2]=c[Cc>>2]}if(Lp(c[w>>2]|0,(c[zc>>2]|0)>>>0>32?c[zc>>2]|0:32)|0){Ef=871;break a}c[(c[w>>2]|0)+12>>2]=c[zc>>2];b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|16;Gf=c[Ac>>2]|0;Ff=c[zc>>2]|0;f=c[(c[w>>2]|0)+16>>2]|0;if(!((d[(c[Bc>>2]|0)+27>>0]|0)>>>2&1))c[l>>2]=My(Gf,0,Ff,f)|0;else c[l>>2]=ff(Gf,0,Ff,f)|0;a[(c[w>>2]|0)+10>>0]=1;break};case 103:{c[Gc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(a[(c[Gc>>2]|0)+25>>0]|0){b[(c[w>>2]|0)+8>>1]=1;break d}f=c[Gc>>2]|0;do if(!(a[(c[Gc>>2]|0)+26>>0]|0)){Ff=c[Gc>>2]|0;if(c[f+32>>2]|0){c[Ec>>2]=c[c[Ff+32>>2]>>2];c[Fc>>2]=c[c[Ec>>2]>>2];c[l>>2]=zb[c[(c[Fc>>2]|0)+48>>2]&63](c[(c[Gc>>2]|0)+32>>2]|0,Dc)|0;Hz(c[k>>2]|0,c[Ec>>2]|0);break}c[l>>2]=Iz(Ff)|0;if(c[l>>2]|0)break c;if(a[(c[Gc>>2]|0)+25>>0]|0){b[(c[w>>2]|0)+8>>1]=1;break d}else{c[l>>2]=Ly(c[c[Gc>>2]>>2]|0,Dc)|0;break}}else{Ff=f+48|0;Gf=c[Ff+4>>2]|0;Hf=Dc;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}while(0);Ff=Dc;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;break};case 105:{c[Hc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Ic>>2]=c[c[Hc>>2]>>2];c[Jc>>2]=0;c[l>>2]=Cz(c[Ic>>2]|0,Jc)|0;a[(c[Hc>>2]|0)+25>>0]=c[Jc>>2];a[(c[Hc>>2]|0)+26>>0]=0;c[(c[Hc>>2]|0)+60>>2]=0;if((c[Jc>>2]|0)!=0?(c[(c[p>>2]|0)+8>>2]|0)>0:0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 104:{c[Kc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];a[(c[Kc>>2]|0)+25>>0]=1;c[(c[Kc>>2]|0)+60>>2]=0;if(c[c[Kc>>2]>>2]|0)Qk(c[c[Kc>>2]>>2]|0);break};case 107:case 106:{Ef=(c[k>>2]|0)+116|0;c[Ef>>2]=(c[Ef>>2]|0)+1;Ef=623;break};case 108:{Ef=623;break};case 5:{c[Lc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Mc>>2]=0;c[l>>2]=Lz(c[q>>2]|0,c[Lc>>2]|0,Mc)|0;Ef=631;break};case 7:case 6:{if(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]|0)Ef=630;break};case 9:case 8:{Ef=630;break};case 110:case 109:{c[Nc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[Oc>>2]=c[c[Nc>>2]>>2];if(d[(c[p>>2]|0)+3>>0]&1){Hf=(c[k>>2]|0)+92|0;c[Hf>>2]=(c[Hf>>2]|0)+1}if(e[(c[I>>2]|0)+8>>1]&16384)f=Dd(c[I>>2]|0)|0;else f=0;c[l>>2]=f;if(!(c[l>>2]|0)){if(c[(c[Nc>>2]|0)+56>>2]|0){c[l>>2]=Mz(c[Nc>>2]|0,c[I>>2]|0)|0;break d}c[Qc>>2]=c[(c[I>>2]|0)+12>>2];c[Pc>>2]=c[(c[I>>2]|0)+16>>2];f=c[Qc>>2]|0;if(d[(c[p>>2]|0)+3>>0]&16)Ff=c[(c[Nc>>2]|0)+12>>2]|0;else Ff=0;c[l>>2]=Dz(c[Oc>>2]|0,c[Pc>>2]|0,f,((f|0)<0)<<31>>31,1216,0,0,c[(c[p>>2]|0)+12>>2]|0,Ff)|0;c[(c[Nc>>2]|0)+60>>2]=0}break};case 112:{c[Xc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Uc>>2]=c[c[Xc>>2]>>2];b[(c[w>>2]|0)+8>>1]=1;c[l>>2]=Iz(c[Xc>>2]|0)|0;if(c[l>>2]|0)break c;if(!(a[(c[Xc>>2]|0)+25>>0]|0)){Hf=Tc;c[Hf>>2]=0;c[Hf+4>>2]=0;c[l>>2]=Nz(c[q>>2]|0,c[Uc>>2]|0,Tc)|0;if(c[l>>2]|0)break c;Ff=Tc;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;b[(c[w>>2]|0)+8>>1]=4}break};case 111:{c[Yc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Zc>>2]=c[c[Yc>>2]>>2];c[_c>>2]=c[(c[Yc>>2]|0)+8>>2];b[_c+4>>1]=c[(c[p>>2]|0)+12>>2];a[_c+6>>0]=0;c[_c+8>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[l>>2]=Gw(c[Zc>>2]|0,_c,0,0,0,hf)|0;if((c[l>>2]|0)==0&(c[hf>>2]|0)==0)c[l>>2]=Ez(c[Zc>>2]|0)|0;c[(c[Yc>>2]|0)+60>>2]=0;break};case 116:case 115:case 114:case 113:{c[fd>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[ed>>2]=c[(c[fd>>2]|0)+8>>2];b[ed+4>>1]=c[(c[p>>2]|0)+16>>2];f=ed+6|0;if((d[c[p>>2]>>0]|0)<115)a[f>>0]=-1;else a[f>>0]=0;c[ed+8>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[ad>>2]=0;c[l>>2]=Oz(c[q>>2]|0,c[fd>>2]|0,ed,ad)|0;f=c[ad>>2]|0;if((d[c[p>>2]>>0]&1|0)==1)c[ad>>2]=0-f;else c[ad>>2]=f+1;if((c[ad>>2]|0)>0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 117:{c[id>>2]=0;c[jd>>2]=c[(c[q>>2]|0)+4>>2];while(1){if(!(c[jd>>2]|0))break;if((((c[(c[jd>>2]|0)+40>>2]|0)==-1108210269?((e[(c[jd>>2]|0)+88>>1]|0)>>>9&1|0)!=0:0)?((e[(c[jd>>2]|0)+88>>1]|0)>>>2&3|0)<2:0)?(c[(c[jd>>2]|0)+76>>2]|0)>=0:0)c[id>>2]=(c[id>>2]|0)+1;c[jd>>2]=c[(c[jd>>2]|0)+52>>2]}b[(c[w>>2]|0)+8>>1]=1;if((c[id>>2]|0)>1){c[l>>2]=6;a[(c[k>>2]|0)+86>>0]=2;break d}c[gd>>2]=c[(c[p>>2]|0)+12>>2];c[hd>>2]=0;c[l>>2]=Pz(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[gd>>2]<<4)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0,hd)|0;b[(c[w>>2]|0)+8>>1]=4;Gf=c[hd>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;if((c[l>>2]|0)==0&(c[hd>>2]|0)!=0){Qz(c[q>>2]|0,c[gd>>2]|0,c[hd>>2]|0,c[(c[p>>2]|0)+4>>2]|0);a[nc>>0]=(c[gd>>2]|0)+1}break};case 119:{c[kd>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(c[(c[kd>>2]|0)+56>>2]|0){Sz(c[q>>2]|0,c[(c[kd>>2]|0)+56>>2]|0);break d}else{c[l>>2]=Tz(c[c[kd>>2]>>2]|0)|0;break d}};case 118:{c[ld>>2]=0;c[l>>2]=Rz(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0,(c[(c[p>>2]|0)+12>>2]|0)!=0?ld:0)|0;if((c[(c[p>>2]|0)+12>>2]|0)!=0?(Hf=(c[k>>2]|0)+92|0,c[Hf>>2]=(c[Hf>>2]|0)+(c[ld>>2]|0),(c[(c[p>>2]|0)+12>>2]|0)>0):0){Gf=c[ld>>2]|0;Hf=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0)|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D}break};case 121:case 120:{c[nd>>2]=0;c[md>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4);if((d[c[p>>2]>>0]|0)==121)c[od>>2]=1;else c[od>>2]=2;c[l>>2]=yz(c[(c[md>>2]|0)+4>>2]|0,nd,c[od>>2]|0)|0;Gf=c[nd>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;break};case 123:{c[l>>2]=fs(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break};case 124:{Uz(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0);break};case 122:{c[rd>>2]=c[(c[p>>2]|0)+4>>2];c[sd>>2]=(c[rd>>2]|0)==1?14904:14928;c[qd>>2]=c[q>>2];c[qd+8>>2]=c[(c[p>>2]|0)+4>>2];c[qd+4>>2]=(c[k>>2]|0)+44;Hf=c[q>>2]|0;Ff=c[sd>>2]|0;Gf=c[(c[p>>2]|0)+16>>2]|0;c[g>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[rd>>2]<<4)>>2];c[g+4>>2]=Ff;c[g+8>>2]=Gf;c[pd>>2]=Te(Hf,31776,g)|0;if(!(c[pd>>2]|0))c[l>>2]=7;else{a[(c[q>>2]|0)+145>>0]=1;c[qd+12>>2]=0;c[l>>2]=kf(c[q>>2]|0,c[pd>>2]|0,6,qd,0)|0;if(!(c[l>>2]|0))c[l>>2]=c[qd+12>>2];Xb(c[q>>2]|0,c[pd>>2]|0);a[(c[q>>2]|0)+145>>0]=0}if(c[l>>2]|0)cd(c[q>>2]|0);if((c[l>>2]|0)==7){Ef=871;break a}break};case 126:{Wz(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0);break};case 127:{c[vd>>2]=c[(c[p>>2]|0)+8>>2];c[ud>>2]=Qe(c[q>>2]|0,(c[vd>>2]|0)+1<<2,0)|0;if(!(c[ud>>2]|0)){Ef=871;break a}c[wd>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[yd>>2]=0;while(1){f=c[yd>>2]|0;if((c[yd>>2]|0)>=(c[vd>>2]|0))break;Hf=Kd((c[jf>>2]|0)+(f*40|0)|0)|0;c[(c[ud>>2]|0)+(c[yd>>2]<<2)>>2]=Hf;c[yd>>2]=(c[yd>>2]|0)+1}c[(c[ud>>2]|0)+(f<<2)>>2]=0;c[td>>2]=Xz(c[(c[(c[q>>2]|0)+16>>2]|0)+(d[(c[p>>2]|0)+3>>0]<<4)+4>>2]|0,c[ud>>2]|0,c[vd>>2]|0,c[c[wd>>2]>>2]|0,xd)|0;Xb(c[q>>2]|0,c[ud>>2]|0);Gf=c[xd>>2]|0;Hf=c[wd>>2]|0;Ff=Hf;Gf=ZE(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;_d(c[jf>>2]|0);if(c[xd>>2]|0){if(!(c[td>>2]|0)){Ef=871;break a}Vd(c[jf>>2]|0,c[td>>2]|0,-1,1,13)|0}yk(c[jf>>2]|0,d[x>>0]|0)|0;break};case 125:{Vz(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0);break};case 128:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]&32|0)==0?(Yz(c[jf>>2]|0),(e[(c[jf>>2]|0)+8>>1]&32|0)==0):0){Ef=871;break a}Hf=c[I>>2]|0;Zz(c[c[jf>>2]>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0);break};case 129:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]&32|0)!=0?(_z(c[c[jf>>2]>>2]|0,zd)|0)!=0:0){Ef=zd;Xd((c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0)|0,c[Ef>>2]|0,c[Ef+4>>2]|0);Ef=16;break d}_d(c[jf>>2]|0);c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;Ef=16;break};case 130:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[Ad>>2]=c[(c[p>>2]|0)+16>>2];if((e[(c[jf>>2]|0)+8>>1]&32|0)==0?(Yz(c[jf>>2]|0),(e[(c[jf>>2]|0)+8>>1]&32|0)==0):0){Ef=871;break a}if((c[Ad>>2]|0)!=0?(Hf=c[y>>2]|0,c[Cd>>2]=$z(c[c[jf>>2]>>2]|0,c[Ad>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)|0,(c[Cd>>2]|0)!=0):0){c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}if((c[Ad>>2]|0)>=0){Hf=c[y>>2]|0;Zz(c[c[jf>>2]>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)}break};case 131:{c[Jd>>2]=c[(c[p>>2]|0)+16>>2];c[Fd>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(a[(c[p>>2]|0)+3>>0]|0){c[Od>>2]=c[(c[Jd>>2]|0)+20>>2];c[Gd>>2]=c[(c[k>>2]|0)+176>>2];while(1){if(!(c[Gd>>2]|0))break;if((c[(c[Gd>>2]|0)+24>>2]|0)==(c[Od>>2]|0))break;c[Gd>>2]=c[(c[Gd>>2]|0)+4>>2]}if(c[Gd>>2]|0)break d}if((c[(c[k>>2]|0)+184>>2]|0)>=(c[(c[q>>2]|0)+128>>2]|0)){c[l>>2]=1;pn((c[k>>2]|0)+44|0,c[q>>2]|0,31840,g);break d}i:do if(!(e[(c[Fd>>2]|0)+8>>1]&64)){c[Hd>>2]=(c[(c[Jd>>2]|0)+8>>2]|0)+(c[(c[Jd>>2]|0)+12>>2]|0);c[Nd>>2]=72+((c[Hd>>2]|0)*40|0)+(c[(c[Jd>>2]|0)+12>>2]<<2)+(c[(c[Jd>>2]|0)+16>>2]|0);Hf=c[Nd>>2]|0;c[Gd>>2]=se(c[q>>2]|0,Hf,((Hf|0)<0)<<31>>31)|0;if(!(c[Gd>>2]|0)){Ef=871;break a}Bd(c[Fd>>2]|0);b[(c[Fd>>2]|0)+8>>1]=64;c[c[Fd>>2]>>2]=c[Gd>>2];c[c[Gd>>2]>>2]=c[k>>2];c[(c[Gd>>2]|0)+60>>2]=c[Hd>>2];c[(c[Gd>>2]|0)+64>>2]=c[(c[Jd>>2]|0)+12>>2];c[(c[Gd>>2]|0)+44>>2]=c[n>>2];c[(c[Gd>>2]|0)+12>>2]=c[(c[k>>2]|0)+8>>2];c[(c[Gd>>2]|0)+52>>2]=c[(c[k>>2]|0)+28>>2];c[(c[Gd>>2]|0)+20>>2]=c[(c[k>>2]|0)+56>>2];c[(c[Gd>>2]|0)+40>>2]=c[(c[k>>2]|0)+36>>2];c[(c[Gd>>2]|0)+8>>2]=c[(c[k>>2]|0)+4>>2];c[(c[Gd>>2]|0)+48>>2]=c[(c[k>>2]|0)+32>>2];c[(c[Gd>>2]|0)+24>>2]=c[(c[Jd>>2]|0)+20>>2];c[(c[Gd>>2]|0)+16>>2]=c[(c[k>>2]|0)+200>>2];c[(c[Gd>>2]|0)+56>>2]=c[(c[k>>2]|0)+196>>2];c[Ld>>2]=(c[Gd>>2]|0)+72+((c[(c[Gd>>2]|0)+60>>2]|0)*40|0);c[Md>>2]=(c[Gd>>2]|0)+72;while(1){if((c[Md>>2]|0)==(c[Ld>>2]|0))break i;b[(c[Md>>2]|0)+8>>1]=128;c[(c[Md>>2]|0)+32>>2]=c[q>>2];c[Md>>2]=(c[Md>>2]|0)+40}}else c[Gd>>2]=c[c[Fd>>2]>>2];while(0);Ff=(c[k>>2]|0)+184|0;c[Ff>>2]=(c[Ff>>2]|0)+1;c[(c[Gd>>2]|0)+4>>2]=c[(c[k>>2]|0)+176>>2];Ff=r;Gf=c[Ff+4>>2]|0;Hf=(c[Gd>>2]|0)+32|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;c[(c[Gd>>2]|0)+68>>2]=c[(c[k>>2]|0)+92>>2];c[(c[k>>2]|0)+92>>2]=0;c[(c[k>>2]|0)+176>>2]=c[Gd>>2];Hf=(c[Gd>>2]|0)+72+ -40|0;c[$c>>2]=Hf;c[(c[k>>2]|0)+8>>2]=Hf;c[(c[k>>2]|0)+28>>2]=c[(c[Gd>>2]|0)+60>>2];c[(c[k>>2]|0)+36>>2]=c[(c[Gd>>2]|0)+64>>2]&65535;c[(c[k>>2]|0)+56>>2]=(c[$c>>2]|0)+(((c[(c[k>>2]|0)+28>>2]|0)+1|0)*40|0);Hf=c[c[Jd>>2]>>2]|0;c[u>>2]=Hf;c[(c[k>>2]|0)+4>>2]=Hf;c[(c[k>>2]|0)+32>>2]=c[(c[Jd>>2]|0)+4>>2];c[(c[k>>2]|0)+200>>2]=(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[k>>2]|0)+36>>2]<<2);c[(c[k>>2]|0)+196>>2]=c[(c[Jd>>2]|0)+16>>2];c[n>>2]=-1;_E(c[(c[k>>2]|0)+200>>2]|0,0,c[(c[k>>2]|0)+196>>2]|0)|0;break};case 132:{c[Pd>>2]=c[(c[k>>2]|0)+176>>2];c[Qd>>2]=(c[(c[Pd>>2]|0)+12>>2]|0)+(((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[(c[Pd>>2]|0)+8>>2]|0)+((c[(c[Pd>>2]|0)+44>>2]|0)*20|0)+4>>2]|0)|0)*40|0);fn(c[w>>2]|0,c[Qd>>2]|0,4096);break};case 134:{Ff=c[p>>2]|0;if(c[(c[q>>2]|0)+24>>2]&16777216){Gf=c[Ff+8>>2]|0;Hf=(c[q>>2]|0)+512|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break d}f=c[(c[p>>2]|0)+8>>2]|0;Gf=((f|0)<0)<<31>>31;if(c[Ff+4>>2]|0){Hf=(c[q>>2]|0)+504|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,f|0,Gf|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break d}else{Hf=(c[k>>2]|0)+144|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,f|0,Gf|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break d}};case 135:if(c[(c[p>>2]|0)+4>>2]|0){Hf=(c[q>>2]|0)+504|0;if(!((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0))break d;Hf=(c[q>>2]|0)+512|0;if(!((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0))break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}else{Hf=(c[k>>2]|0)+144|0;if(!((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0))break d;Hf=(c[q>>2]|0)+512|0;if(!((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0))break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d};case 136:{if(c[(c[k>>2]|0)+176>>2]|0){c[Rd>>2]=c[(c[k>>2]|0)+176>>2];while(1){if(!(c[(c[Rd>>2]|0)+4>>2]|0))break;c[Rd>>2]=c[(c[Rd>>2]|0)+4>>2]}c[jf>>2]=(c[(c[Rd>>2]|0)+12>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0)}else c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Mp(c[jf>>2]|0)|0;c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);Mp(c[I>>2]|0)|0;Gf=c[jf>>2]|0;f=c[Gf+4>>2]|0;Hf=c[I>>2]|0;Ff=c[Hf+4>>2]|0;if((f|0)<(Ff|0)|((f|0)==(Ff|0)?(c[Gf>>2]|0)>>>0<(c[Hf>>2]|0)>>>0:0)){Ff=c[I>>2]|0;Gf=c[Ff+4>>2]|0;Hf=c[jf>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}break};case 137:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Hf=c[jf>>2]|0;Gf=c[Hf+4>>2]|0;if((Gf|0)>0|(Gf|0)==0&(c[Hf>>2]|0)>>>0>0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 138:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Gf=c[(c[p>>2]|0)+12>>2]|0;Hf=c[jf>>2]|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;if((c[(c[jf>>2]|0)+4>>2]|0)<0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 139:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Gf=c[(c[p>>2]|0)+12>>2]|0;Hf=c[jf>>2]|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;Hf=c[jf>>2]|0;if((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 10:{c[Yd>>2]=d[(c[p>>2]|0)+3>>0];c[$d>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[Zd>>2]=c[(c[k>>2]|0)+12>>2];c[Td>>2]=0;while(1){if((c[Td>>2]|0)>=(c[Yd>>2]|0))break;c[(c[Zd>>2]|0)+(c[Td>>2]<<2)>>2]=c[$d>>2];c[Td>>2]=(c[Td>>2]|0)+1;c[$d>>2]=(c[$d>>2]|0)+40}c[Ud+4>>2]=c[(c[p>>2]|0)+16>>2];Hf=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0)|0;c[Wd>>2]=Hf;c[Ud+8>>2]=Hf;Hf=(c[Wd>>2]|0)+12|0;c[Hf>>2]=(c[Hf>>2]|0)+1;en(Sd,c[q>>2]|0,1);c[Ud>>2]=Sd;c[Ud+20>>2]=0;c[Ud+12>>2]=c[k>>2];c[Ud+16>>2]=c[n>>2];a[Ud+24>>0]=0;vb[c[(c[Ud+4>>2]|0)+16>>2]&63](Ud,c[Yd>>2]|0,c[Zd>>2]|0);if(c[Ud+20>>2]|0){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=Ed(Sd)|0;pn(Gf,Hf,1200,g);c[l>>2]=c[Ud+20>>2]}if((a[Ud+24>>0]|0)!=0?(c[Td>>2]=c[(c[p>>2]|0)+ -20+4>>2],(c[Td>>2]|0)!=0):0)Xd((c[$c>>2]|0)+((c[Td>>2]|0)*40|0)|0,1,0);Bd(Sd);break};case 140:{c[ae>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[l>>2]=hn(c[ae>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=Ed(c[ae>>2]|0)|0;pn(Gf,Hf,1200,g)}yk(c[ae>>2]|0,d[x>>0]|0)|0;if(az(c[ae>>2]|0)|0){Ef=870;break c}break};case 12:{c[ce>>2]=c[(c[p>>2]|0)+12>>2];c[de>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2];c[be>>2]=Sb(c[de>>2]|0)|0;c[ee>>2]=Vc(c[be>>2]|0)|0;if((c[ce>>2]|0)==-1)c[ce>>2]=c[ee>>2];if(!(aA(c[be>>2]|0)|0))c[ce>>2]=c[ee>>2];c[fe>>2]=ug(c[be>>2]|0,1)|0;do if((c[ce>>2]|0)==5){if((Mb(c[fe>>2]|0)|0)!=0?(bA(c[be>>2]|0)|0)!=0:0)break;c[ce>>2]=c[ee>>2]}while(0);do if((c[ce>>2]|0)!=(c[ee>>2]|0)?(c[ee>>2]|0)==5|(c[ce>>2]|0)==5:0){if((a[(c[q>>2]|0)+62>>0]|0)!=0?(c[(c[q>>2]|0)+152>>2]|0)<=1:0){do if((c[ee>>2]|0)==5){c[l>>2]=cA(c[be>>2]|0)|0;if(c[l>>2]|0)break;dA(c[be>>2]|0,c[ce>>2]|0)|0}else{if((c[ee>>2]|0)!=4)break;dA(c[be>>2]|0,2)|0}while(0);if(c[l>>2]|0)break;c[l>>2]=dd(c[de>>2]|0,(c[ce>>2]|0)==5?2:1)|0;break}c[l>>2]=1;Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=(c[ce>>2]|0)==5?31936:31944;pn(Gf,Hf,31880,g);break d}while(0);if(c[l>>2]|0)c[ce>>2]=c[ee>>2];c[ce>>2]=dA(c[be>>2]|0,c[ce>>2]|0)|0;c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);b[(c[w>>2]|0)+8>>1]=2562;Hf=Rt(c[ce>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=Hf;Hf=Mb(c[(c[w>>2]|0)+16>>2]|0)|0;c[(c[w>>2]|0)+12>>2]=Hf;a[(c[w>>2]|0)+10>>0]=1;yk(c[w>>2]|0,d[x>>0]|0)|0;break};case 11:{c[ie>>2]=0;c[ie+8>>2]=-1;c[ie+4>>2]=-1;c[l>>2]=Zf(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,ie+4|0,ie+8|0)|0;if((c[l>>2]|0)==5){c[l>>2]=0;c[ie>>2]=1}c[he>>2]=0;c[je>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);while(1){if((c[he>>2]|0)>=3)break d;Hf=c[ie+(c[he>>2]<<2)>>2]|0;Xd(c[je>>2]|0,Hf,((Hf|0)<0)<<31>>31);c[he>>2]=(c[he>>2]|0)+1;c[je>>2]=(c[je>>2]|0)+40}};case 141:{c[ke>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2];c[l>>2]=fA(c[ke>>2]|0)|0;if((c[l>>2]|0)==101){c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;c[l>>2]=0}break};case 142:if(c[(c[p>>2]|0)+4>>2]|0){Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-33|32;break d}else{gf(c[q>>2]|0);break d};case 13:{c[l>>2]=eA((c[k>>2]|0)+44|0,c[q>>2]|0)|0;break};case 143:{a[oe>>0]=c[(c[p>>2]|0)+12>>2];if((d[oe>>0]|0)==0?0!=(c[(c[q>>2]|0)+24>>2]&16384|0):0)break d;c[me>>2]=c[(c[p>>2]|0)+4>>2];c[l>>2]=gA(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[me>>2]<<4)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,a[oe>>0]|0)|0;if((c[l>>2]&255|0)==6){c[le>>2]=c[(c[p>>2]|0)+16>>2];Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=c[le>>2];pn(Gf,Hf,31952,g)}break};case 145:{c[l>>2]=iA(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0,(c[k>>2]|0)+44|0)|0;break};case 146:{Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13|8;c[l>>2]=jA(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13;break};case 144:{c[pe>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=hA(c[q>>2]|0,c[pe>>2]|0)|0;if(c[pe>>2]|0)Hz(c[k>>2]|0,c[(c[pe>>2]|0)+8>>2]|0);break};case 147:{c[re>>2]=0;c[qe>>2]=0;c[ue>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[te>>2]=c[c[ue>>2]>>2];c[l>>2]=zb[c[(c[te>>2]|0)+24>>2]&63](c[ue>>2]|0,qe)|0;Hz(c[k>>2]|0,c[ue>>2]|0);if(!(c[l>>2]|0)){c[c[qe>>2]>>2]=c[ue>>2];c[re>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,0,-1,0)|0;if(c[re>>2]|0){c[(c[re>>2]|0)+32>>2]=c[qe>>2];break d}else{a[(c[q>>2]|0)+64>>0]=1;ub[c[(c[te>>2]|0)+28>>2]&31](c[qe>>2]|0)|0;break d}}break};case 14:{c[Fe>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[Ee>>2]=(c[Fe>>2]|0)+40;c[ve>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[ye>>2]=c[(c[ve>>2]|0)+32>>2];c[Ce>>2]=c[c[ye>>2]>>2];c[xe>>2]=c[c[Ce>>2]>>2];c[Ae>>2]=c[c[Ee>>2]>>2];c[ze>>2]=c[c[Fe>>2]>>2];c[we>>2]=0;c[Be>>2]=c[(c[k>>2]|0)+12>>2];c[De>>2]=0;while(1){if((c[De>>2]|0)>=(c[Ae>>2]|0))break;c[(c[Be>>2]|0)+(c[De>>2]<<2)>>2]=(c[Ee>>2]|0)+(((c[De>>2]|0)+1|0)*40|0);c[De>>2]=(c[De>>2]|0)+1}Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13|4;c[l>>2]=Ab[c[(c[xe>>2]|0)+32>>2]&15](c[ye>>2]|0,c[ze>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[Ae>>2]|0,c[Be>>2]|0)|0;Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13;Hz(c[k>>2]|0,c[Ce>>2]|0);if(!(c[l>>2]|0))c[we>>2]=ub[c[(c[xe>>2]|0)+40>>2]&31](c[ye>>2]|0)|0;if(c[we>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;a[(c[ve>>2]|0)+25>>0]=0;break};case 148:{c[Ie>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Ge>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(a[(c[Ie>>2]|0)+25>>0]|0){_d(c[Ge>>2]|0);break d}c[Je>>2]=c[c[(c[Ie>>2]|0)+32>>2]>>2];c[Ke>>2]=c[c[Je>>2]>>2];c[He+0>>2]=0;c[He+4>>2]=0;c[He+8>>2]=0;c[He+12>>2]=0;c[He+16>>2]=0;c[He+20>>2]=0;c[He+24>>2]=0;c[He>>2]=c[Ge>>2];b[(c[Ge>>2]|0)+8>>1]=e[(c[Ge>>2]|0)+8>>1]&-16896|1;c[l>>2]=pb[c[(c[Ke>>2]|0)+44>>2]&31](c[(c[Ie>>2]|0)+32>>2]|0,He,c[(c[p>>2]|0)+8>>2]|0)|0;Hz(c[k>>2]|0,c[Je>>2]|0);if(c[He+20>>2]|0)c[l>>2]=c[He+20>>2];yk(c[Ge>>2]|0,d[x>>0]|0)|0;if(az(c[Ge>>2]|0)|0){Ef=870;break c}break};case 150:{c[Le>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[Me>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[l>>2]=yk(c[Me>>2]|0,1)|0;if(!(c[l>>2]|0)){c[l>>2]=zb[c[(c[c[Le>>2]>>2]|0)+76>>2]&63](c[Le>>2]|0,c[(c[Me>>2]|0)+16>>2]|0)|0;Hz(c[k>>2]|0,c[Le>>2]|0);Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-33}break};case 149:{c[Ne>>2]=0;c[Re>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[Re>>2]|0)+25>>0]|0)){c[Se>>2]=c[c[(c[Re>>2]|0)+32>>2]>>2];c[Oe>>2]=c[c[Se>>2]>>2];Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13|4;c[l>>2]=ub[c[(c[Oe>>2]|0)+36>>2]&31](c[(c[Re>>2]|0)+32>>2]|0)|0;Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13;Hz(c[k>>2]|0,c[Se>>2]|0);if(!(c[l>>2]|0))c[Ne>>2]=ub[c[(c[Oe>>2]|0)+40>>2]&31](c[(c[Re>>2]|0)+32>>2]|0)|0;if(c[Ne>>2]|0)Ef=16;else{c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;Ef=16}}break};case 15:{c[We>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[Ve>>2]=c[c[We>>2]>>2];c[Xe>>2]=c[(c[p>>2]|0)+8>>2];if(c[(c[Ve>>2]|0)+52>>2]|0){a[Ze>>0]=a[(c[q>>2]|0)+68>>0]|0;c[Ye>>2]=c[(c[k>>2]|0)+12>>2];c[$e>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[_e>>2]=0;while(1){if((c[_e>>2]|0)>=(c[Xe>>2]|0))break;c[(c[Ye>>2]|0)+(c[_e>>2]<<2)>>2]=c[$e>>2];c[$e>>2]=(c[$e>>2]|0)+40;c[_e>>2]=(c[_e>>2]|0)+1}a[(c[q>>2]|0)+68>>0]=a[(c[p>>2]|0)+3>>0]|0;c[l>>2]=xb[c[(c[Ve>>2]|0)+52>>2]&7](c[We>>2]|0,c[Xe>>2]|0,c[Ye>>2]|0,Ue)|0;a[(c[q>>2]|0)+68>>0]=a[Ze>>0]|0;Hz(c[k>>2]|0,c[We>>2]|0);if((c[l>>2]|0)==0?(c[(c[p>>2]|0)+4>>2]|0)!=0:0){Gf=Ue;Ff=c[Gf>>2]|0;Gf=c[Gf+4>>2]|0;Hf=r;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf;Hf=(c[q>>2]|0)+32|0;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf}if((c[l>>2]&255|0)==19?(d[(c[(c[p>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[p>>2]|0)+3>>0]|0)==4){c[l>>2]=0;break d}if((d[(c[p>>2]|0)+3>>0]|0)==5)f=2;else f=d[(c[p>>2]|0)+3>>0]|0;a[(c[k>>2]|0)+86>>0]=f;break d}Hf=(c[k>>2]|0)+92|0;c[Hf>>2]=(c[Hf>>2]|0)+1}break};case 153:{if(c[(c[p>>2]|0)+8>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;if((c[(c[q>>2]|0)+172>>2]|0)!=0?((e[(c[k>>2]|0)+88>>1]|0)>>>11&1|0)==0:0){if(c[(c[p>>2]|0)+16>>2]|0)f=c[(c[p>>2]|0)+16>>2]|0;else f=c[(c[k>>2]|0)+168>>2]|0;c[af>>2]=f;if(f){c[df>>2]=lA(c[k>>2]|0,c[af>>2]|0)|0;sb[c[(c[q>>2]|0)+172>>2]&7](c[(c[q>>2]|0)+176>>2]|0,c[df>>2]|0);Xb(c[q>>2]|0,c[df>>2]|0)}}break};case 151:{Gf=Wc(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=0;break};case 152:{c[bf>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2];c[cf>>2]=0;if((c[(c[p>>2]|0)+12>>2]|0)!=0?(c[cf>>2]=Wc(c[bf>>2]|0)|0,(c[cf>>2]|0)>>>0<(c[(c[p>>2]|0)+12>>2]|0)>>>0):0)c[cf>>2]=c[(c[p>>2]|0)+12>>2];Gf=kA(c[bf>>2]|0,c[cf>>2]|0)|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;break};default:{}}while(0);do if((Ef|0)==28){Ef=0;if(c[(c[p>>2]|0)+4>>2]|0){Ef=33;break c}if(!(c[(c[k>>2]|0)+176>>2]|0)){Ef=33;break c}c[ef>>2]=c[(c[k>>2]|0)+176>>2];c[(c[k>>2]|0)+176>>2]=c[(c[ef>>2]|0)+4>>2];Ff=(c[k>>2]|0)+184|0;c[Ff>>2]=(c[Ff>>2]|0)+ -1;Zy(c[q>>2]|0,c[(c[k>>2]|0)+92>>2]|0);c[n>>2]=_y(c[ef>>2]|0)|0;Ff=(c[q>>2]|0)+32|0;Gf=c[Ff+4>>2]|0;Hf=r;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;if((c[(c[p>>2]|0)+8>>2]|0)==4)c[n>>2]=(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)-1;c[u>>2]=c[(c[k>>2]|0)+4>>2];c[$c>>2]=c[(c[k>>2]|0)+8>>2]}else if((Ef|0)==57){Ef=0;b[(c[w>>2]|0)+8>>1]=2562;c[(c[w>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[(c[w>>2]|0)+12>>2]=c[(c[p>>2]|0)+4>>2];a[(c[w>>2]|0)+10>>0]=a[x>>0]|0}else if((Ef|0)==453){Ef=0;if((e[(c[k>>2]|0)+88>>1]|0)>>>5&1){c[l>>2]=516;break}c[yf>>2]=0;c[xf>>2]=0;c[uf>>2]=c[(c[p>>2]|0)+8>>2];c[zf>>2]=c[(c[p>>2]|0)+12>>2];c[Af>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(c[zf>>2]<<4);c[vf>>2]=c[(c[Af>>2]|0)+4>>2];if((d[c[p>>2]>>0]|0)==55){c[wf>>2]=1;if((d[(c[(c[Af>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[k>>2]|0)+87>>0]|0))a[(c[k>>2]|0)+87>>0]=a[(c[(c[Af>>2]|0)+12>>2]|0)+76>>0]|0}else c[wf>>2]=0;if((d[(c[p>>2]|0)+3>>0]&2|0)!=0?(c[I>>2]=(c[$c>>2]|0)+((c[uf>>2]|0)*40|0),Mp(c[I>>2]|0)|0,c[uf>>2]=c[c[I>>2]>>2],(c[uf>>2]|0)<2):0){Ef=461;break c}f=c[p>>2]|0;if((a[(c[p>>2]|0)+1>>0]|0)!=-6){if((a[f+1>>0]|0)==-14)c[yf>>2]=c[(c[p>>2]|0)+16>>2]}else{c[xf>>2]=c[f+16>>2];c[yf>>2]=(e[(c[xf>>2]|0)+6>>1]|0)+(e[(c[xf>>2]|0)+8>>1]|0)}c[tf>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[yf>>2]|0,c[zf>>2]|0,1)|0;if(!(c[tf>>2]|0)){Ef=871;break a}a[(c[tf>>2]|0)+25>>0]=1;Hf=(c[tf>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-9|8;c[(c[tf>>2]|0)+28>>2]=c[uf>>2];c[l>>2]=wz(c[vf>>2]|0,c[uf>>2]|0,c[wf>>2]|0,c[xf>>2]|0,c[c[tf>>2]>>2]|0)|0;c[(c[tf>>2]|0)+8>>2]=c[xf>>2];xz(c[c[tf>>2]>>2]|0,d[(c[p>>2]|0)+3>>0]&1);Hf=(c[tf>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-5|((a[(c[p>>2]|0)+1>>0]|0)!=-6&1)<<2&255}else if((Ef|0)==623){Ef=0;c[Cf>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Bf>>2]=1;f=c[Cf>>2]|0;if(c[(c[Cf>>2]|0)+56>>2]|0)c[l>>2]=Jz(f,Bf)|0;else{c[Df>>2]=c[f>>2];c[l>>2]=Kz(c[Df>>2]|0,Bf)|0;a[(c[Cf>>2]|0)+26>>0]=0;c[(c[Cf>>2]|0)+60>>2]=0}a[(c[Cf>>2]|0)+25>>0]=c[Bf>>2];if(c[Bf>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1}else if((Ef|0)==630){c[Lc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Mc>>2]=c[(c[p>>2]|0)+12>>2];c[l>>2]=zb[c[(c[p>>2]|0)+16>>2]&63](c[c[Lc>>2]>>2]|0,Mc)|0;Ef=631}while(0);do if((Ef|0)==631){c[(c[Lc>>2]|0)+60>>2]=0;Ef=(c[Lc>>2]|0)+25|0;if(!(c[Mc>>2]|0)){a[Ef>>0]=0;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;Ef=(c[k>>2]|0)+108+(d[(c[p>>2]|0)+3>>0]<<2)|0;c[Ef>>2]=(c[Ef>>2]|0)+1;Ef=16;break}else{a[Ef>>0]=1;Ef=16;break}}while(0);if((Ef|0)==16){Ef=0;if(c[(c[q>>2]|0)+240>>2]|0)break b;if(((c[(c[q>>2]|0)+292>>2]|0)!=0?(c[o>>2]|0)>>>0>=(c[ba>>2]|0)>>>0:0)?(c[ba>>2]=(c[o>>2]|0)+(c[(c[q>>2]|0)+300>>2]|0)-(((c[o>>2]|0)>>>0)%((c[(c[q>>2]|0)+300>>2]|0)>>>0)|0),(ub[c[(c[q>>2]|0)+292>>2]&31](c[(c[q>>2]|0)+296>>2]|0)|0)!=0):0){Ef=20;break}}c[n>>2]=(c[n>>2]|0)+1}switch(Ef|0){case 20:{c[l>>2]=9;break a};case 33:{c[(c[k>>2]|0)+80>>2]=c[(c[p>>2]|0)+4>>2];a[(c[k>>2]|0)+86>>0]=c[(c[p>>2]|0)+8>>2];c[(c[k>>2]|0)+76>>2]=c[n>>2];if(c[(c[k>>2]|0)+80>>2]|0){if(a[(c[p>>2]|0)+3>>0]|0)c[j>>2]=c[31264+((d[(c[p>>2]|0)+3>>0]|0)-1<<2)>>2];else c[j>>2]=0;c[s>>2]=31328;if((c[j>>2]|0)!=0?(c[(c[p>>2]|0)+16>>2]|0)!=0:0){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;Ff=c[(c[p>>2]|0)+16>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=Ff;pn(Gf,Hf,31352,g)}else Ef=40;do if((Ef|0)==40){u=(c[k>>2]|0)+44|0;t=c[q>>2]|0;if(c[(c[p>>2]|0)+16>>2]|0){c[g>>2]=c[(c[p>>2]|0)+16>>2];pn(u,t,1200,g);break}else{c[g>>2]=c[j>>2];pn(u,t,31384,g);break}}while(0);Gf=c[(c[p>>2]|0)+4>>2]|0;Hf=c[s>>2]|0;f=c[(c[k>>2]|0)+168>>2]|0;Ff=c[(c[k>>2]|0)+44>>2]|0;c[g>>2]=c[n>>2];c[g+4>>2]=f;c[g+8>>2]=Ff;tc(Gf,Hf,g)}c[l>>2]=$y(c[k>>2]|0)|0;if((c[l>>2]|0)==5){c[l>>2]=5;c[(c[k>>2]|0)+80>>2]=5;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}else{c[l>>2]=(c[(c[k>>2]|0)+80>>2]|0)!=0?1:101;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}};case 76:{c[l>>2]=9;break a};case 79:{c[(c[k>>2]|0)+72>>2]=(c[(c[k>>2]|0)+72>>2]|0)+2|1;Hf=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0)|0;c[(c[k>>2]|0)+20>>2]=Hf;c[lf>>2]=Hf;c[mf>>2]=0;while(1){if((c[mf>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0))break;if((e[(c[lf>>2]|0)+((c[mf>>2]|0)*40|0)+8>>1]&4096|0)!=0?(Ak((c[lf>>2]|0)+((c[mf>>2]|0)*40|0)|0)|0)!=0:0){Ef=871;break a}dz((c[lf>>2]|0)+((c[mf>>2]|0)*40|0)|0)|0;c[mf>>2]=(c[mf>>2]|0)+1}if(a[(c[q>>2]|0)+64>>0]|0){Ef=871;break a}c[(c[k>>2]|0)+76>>2]=(c[n>>2]|0)+1;c[l>>2]=100;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0};case 167:{c[l>>2]=20;break};case 381:{c[(c[k>>2]|0)+76>>2]=c[n>>2];a[(c[q>>2]|0)+62>>0]=0;c[l>>2]=5;c[(c[k>>2]|0)+80>>2]=5;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0};case 409:{if(!(c[lb>>2]|0)){Hf=bz(c[k>>2]|0,1)|0;c[l>>2]=Hf;if(Hf){Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}a[(c[q>>2]|0)+62>>0]=c[jb>>2];if(($y(c[k>>2]|0)|0)==5){c[(c[k>>2]|0)+76>>2]=c[n>>2];a[(c[q>>2]|0)+62>>0]=1-(c[jb>>2]|0);c[l>>2]=5;c[(c[k>>2]|0)+80>>2]=5;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}}else{Ik(c[q>>2]|0,516);a[(c[q>>2]|0)+62>>0]=1}Jk(c[q>>2]|0);if(!(c[(c[k>>2]|0)+80>>2]|0)){c[l>>2]=101;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}else{c[l>>2]=1;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}};case 422:{c[l>>2]=8;break};case 425:{c[(c[k>>2]|0)+76>>2]=c[n>>2];c[l>>2]=5;c[(c[k>>2]|0)+80>>2]=5;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0};case 461:{c[l>>2]=kj(72320)|0;break};case 557:{c[l>>2]=13;break};case 566:{c[l>>2]=13;break};case 869:{Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0};case 870:{pn((c[k>>2]|0)+44|0,c[q>>2]|0,1176,g);c[l>>2]=18;break a}}if(a[(c[q>>2]|0)+64>>0]|0)c[l>>2]=7;if((c[l>>2]|0)==3082)break a;Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=ge(c[l>>2]|0)|0;pn(Gf,Hf,1200,g);break a}while(0);c[l>>2]=9;c[(c[k>>2]|0)+80>>2]=c[l>>2];Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=ge(c[l>>2]|0)|0;pn(Gf,Hf,1200,g)}while(0);if((Ef|0)==871){a[(c[q>>2]|0)+64>>0]=1;pn((c[k>>2]|0)+44|0,c[q>>2]|0,5400,g);c[l>>2]=7}c[(c[k>>2]|0)+80>>2]=c[l>>2];Hf=c[l>>2]|0;Ff=c[(c[k>>2]|0)+168>>2]|0;Gf=c[(c[k>>2]|0)+44>>2]|0;c[g>>2]=c[n>>2];c[g+4>>2]=Ff;c[g+8>>2]=Gf;tc(Hf,31984,g);$y(c[k>>2]|0)|0;if((c[l>>2]|0)==3082)a[(c[q>>2]|0)+64>>0]=1;c[l>>2]=1;if((d[nc>>0]|0)<=0){Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}as(c[q>>2]|0,(d[nc>>0]|0)-1|0);Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}function Vy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;g=b+16|0;d=b+12|0;h=b+8|0;e=b+4|0;f=b;c[g>>2]=a;c[d>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(c[f>>2]=Xy(Sb(c[e>>2]|0)|0)|0,((c[f>>2]|0)>0?(c[(c[g>>2]|0)+212>>2]|0)!=0:0)&(c[d>>2]|0)==0):0)c[d>>2]=xb[c[(c[g>>2]|0)+212>>2]&7](c[(c[g>>2]|0)+216>>2]|0,c[g>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0,c[f>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+1}i=b;return c[d>>2]|0}function Wy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;h=d+12|0;c[g>>2]=b;c[f>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[g>>2]|0)+80>>2];b=c[f>>2]|0;if(!(c[(c[g>>2]|0)+44>>2]|0)){Nc(b,c[e>>2]|0);b=c[e>>2]|0;i=d;return b|0}a[h>>0]=a[b+64>>0]|0;kh();if(!(c[(c[f>>2]|0)+232>>2]|0)){b=rf(c[f>>2]|0)|0;c[(c[f>>2]|0)+232>>2]=b}sf(c[(c[f>>2]|0)+232>>2]|0,-1,c[(c[g>>2]|0)+44>>2]|0,1,-1);lh();a[(c[f>>2]|0)+64>>0]=a[h>>0]|0;c[(c[f>>2]|0)+52>>2]=c[e>>2];b=c[e>>2]|0;i=d;return b|0}function Xy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Yy(c[(c[d>>2]|0)+208>>2]|0)|0;i=b;return a|0}function Yy(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=0;if(!(c[e>>2]|0)){e=c[d>>2]|0;i=b;return e|0}c[d>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;e=c[d>>2]|0;i=b;return e|0}function Zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+80>>2]=c[e>>2];a=(c[f>>2]|0)+84|0;c[a>>2]=(c[a>>2]|0)+(c[e>>2]|0);i=d;return}function _y(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+48>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+12>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+40>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+68>>2];i=d;return c[(c[b>>2]|0)+44>>2]|0}function $y(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;k=f+24|0;j=f+20|0;o=f+16|0;h=f+12|0;n=f+8|0;g=f+4|0;l=f;c[j>>2]=b;c[h>>2]=c[c[j>>2]>>2];if(a[(c[c[j>>2]>>2]|0)+64>>0]|0)c[(c[j>>2]|0)+80>>2]=7;if(c[(c[j>>2]|0)+200>>2]|0)_E(c[(c[j>>2]|0)+200>>2]|0,0,c[(c[j>>2]|0)+196>>2]|0)|0;OC(c[j>>2]|0);if((c[(c[j>>2]|0)+40>>2]|0)!=-1108210269){c[k>>2]=0;b=c[k>>2]|0;i=f;return b|0}if((c[(c[j>>2]|0)+76>>2]|0)>=0?((e[(c[j>>2]|0)+88>>1]|0)>>>9&1|0)!=0:0){c[g>>2]=0;c[n>>2]=c[(c[j>>2]|0)+80>>2]&255;if((c[n>>2]|0)==7|(c[n>>2]|0)==10|(c[n>>2]|0)==9)b=1;else b=(c[n>>2]|0)==13;c[l>>2]=b&1;do if((c[l>>2]|0)!=0?(c[n>>2]|0)!=9?1:((e[(c[j>>2]|0)+88>>1]|0)>>>8&1|0)==0:0){if((c[n>>2]|0)==7|(c[n>>2]|0)==13?((e[(c[j>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){c[g>>2]=2;break}Ik(c[h>>2]|0,516);Jk(c[h>>2]|0);a[(c[h>>2]|0)+62>>0]=1}while(0);if(!(c[(c[j>>2]|0)+80>>2]|0))bz(c[j>>2]|0,0)|0;if((c[(c[h>>2]|0)+304>>2]|0)>0?(c[(c[h>>2]|0)+328>>2]|0)==0:0)m=38;else if((d[(c[h>>2]|0)+62>>0]|0)!=0?(c[(c[h>>2]|0)+156>>2]|0)==(((e[(c[j>>2]|0)+88>>1]|0)>>>8&1|0)==0|0):0){if((c[(c[j>>2]|0)+80>>2]|0)!=0?(c[l>>2]|0)!=0?1:(d[(c[j>>2]|0)+86>>0]|0)!=3:0)Ik(c[h>>2]|0,0);else m=25;do if((m|0)==25){c[o>>2]=bz(c[j>>2]|0,1)|0;do if(c[o>>2]|0){if(!((e[(c[j>>2]|0)+88>>1]|0)>>>8&1)){c[o>>2]=787;break}c[k>>2]=1;b=c[k>>2]|0;i=f;return b|0}else c[o>>2]=PC(c[h>>2]|0,c[j>>2]|0)|0;while(0);if((c[o>>2]|0)==5?((e[(c[j>>2]|0)+88>>1]|0)>>>8&1|0)!=0:0){c[k>>2]=5;b=c[k>>2]|0;i=f;return b|0}if(c[o>>2]|0){c[(c[j>>2]|0)+80>>2]=c[o>>2];Ik(c[h>>2]|0,0);break}else{b=(c[h>>2]|0)+504|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[h>>2]|0)+512|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[h>>2]|0)+24|0;c[b>>2]=c[b>>2]&-16777217;bs(c[h>>2]|0);break}}while(0);c[(c[h>>2]|0)+500>>2]=0}else m=38;do if((m|0)==38?(c[g>>2]|0)==0:0){if((c[(c[j>>2]|0)+80>>2]|0)!=0?(d[(c[j>>2]|0)+86>>0]|0)!=3:0)if((d[(c[j>>2]|0)+86>>0]|0)==2){c[g>>2]=2;break}else{Ik(c[h>>2]|0,516);Jk(c[h>>2]|0);a[(c[h>>2]|0)+62>>0]=1;break}c[g>>2]=1}while(0);if((c[g>>2]|0)!=0?(c[o>>2]=cz(c[j>>2]|0,c[g>>2]|0)|0,(c[o>>2]|0)!=0):0){if(!((c[(c[j>>2]|0)+80>>2]|0)!=0?(c[(c[j>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[j>>2]|0)+80>>2]=c[o>>2];Xb(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[(c[j>>2]|0)+44>>2]=0}Ik(c[h>>2]|0,516);Jk(c[h>>2]|0);a[(c[h>>2]|0)+62>>0]=1}if((e[(c[j>>2]|0)+88>>1]|0)>>>4&1){l=c[h>>2]|0;if((c[g>>2]|0)!=2)Zy(l,c[(c[j>>2]|0)+92>>2]|0);else Zy(l,0);c[(c[j>>2]|0)+92>>2]=0}}if((c[(c[j>>2]|0)+76>>2]|0)>=0){b=(c[h>>2]|0)+148|0;c[b>>2]=(c[b>>2]|0)+ -1;if(!((e[(c[j>>2]|0)+88>>1]|0)>>>8&1)){b=(c[h>>2]|0)+156|0;c[b>>2]=(c[b>>2]|0)+ -1}if((e[(c[j>>2]|0)+88>>1]|0)>>>9&1){b=(c[h>>2]|0)+152|0;c[b>>2]=(c[b>>2]|0)+ -1}}c[(c[j>>2]|0)+40>>2]=1369188723;if(a[(c[c[j>>2]>>2]|0)+64>>0]|0)c[(c[j>>2]|0)+80>>2]=7;c[k>>2]=(c[(c[j>>2]|0)+80>>2]|0)==5?5:0;b=c[k>>2]|0;i=f;return b|0}function az(a){a=a|0;var b=0,d=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;g=b+4|0;f=b;c[g>>2]=a;if(!((e[(c[g>>2]|0)+8>>1]|0)&18)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=c[(c[g>>2]|0)+12>>2];if((e[(c[g>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[g>>2]>>2]|0);c[d>>2]=(c[f>>2]|0)>(c[(c[(c[g>>2]|0)+32>>2]|0)+88>>2]|0)&1;g=c[d>>2]|0;i=b;return g|0}function bz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;h=k;j=k+16|0;f=k+12|0;l=k+8|0;g=k+4|0;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];if(!((c[l>>2]|0)!=0?(d=(c[g>>2]|0)+504|0,b=(c[g>>2]|0)+512|0,b=bF(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=D,(d|0)>0|(d|0)==0&b>>>0>0):0))e=3;do if((e|0)==3){if((c[l>>2]|0)==0?(b=(c[f>>2]|0)+144|0,d=c[b+4>>2]|0,(d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0):0)break;c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;pn((c[f>>2]|0)+44|0,c[g>>2]|0,24400,h);c[j>>2]=1;b=c[j>>2]|0;i=k;return b|0}function cz(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;h=i;i=i+32|0;g=h+28|0;d=h+24|0;f=h+20|0;e=h+16|0;k=h+12|0;m=h+8|0;j=h+4|0;l=h;c[g>>2]=a;c[d>>2]=b;c[f>>2]=c[c[g>>2]>>2];c[e>>2]=0;if(!(c[(c[f>>2]|0)+500>>2]|0)){a=c[e>>2]|0;i=h;return a|0}if(!(c[(c[g>>2]|0)+104>>2]|0)){a=c[e>>2]|0;i=h;return a|0}c[m>>2]=(c[(c[g>>2]|0)+104>>2]|0)-1;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[j>>2]=0;c[l>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+4>>2];if(c[l>>2]|0){if((c[d>>2]|0)==2)c[j>>2]=tz(c[l>>2]|0,2,c[m>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=tz(c[l>>2]|0,1,c[m>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=c[j>>2]}c[k>>2]=(c[k>>2]|0)+1}a=(c[f>>2]|0)+500|0;c[a>>2]=(c[a>>2]|0)+ -1;c[(c[g>>2]|0)+104>>2]=0;if(!(c[e>>2]|0)){if((c[d>>2]|0)==2)c[e>>2]=rz(c[f>>2]|0,2,c[m>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=rz(c[f>>2]|0,1,c[m>>2]|0)|0}if((c[d>>2]|0)!=2){a=c[e>>2]|0;i=h;return a|0}a=(c[g>>2]|0)+152|0;m=c[a+4>>2]|0;l=(c[f>>2]|0)+504|0;c[l>>2]=c[a>>2];c[l+4>>2]=m;l=(c[g>>2]|0)+160|0;m=c[l+4>>2]|0;a=(c[f>>2]|0)+512|0;c[a>>2]=c[l>>2];c[a+4>>2]=m;a=c[e>>2]|0;i=h;return a|0}function dz(a){a=a|0;var b=0,d=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[f>>2]=a;if(((e[(c[f>>2]|0)+8>>1]|0)&514|0)!=2){c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=NC(c[f>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}return 0}function ez(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;g=f;c[g>>2]=a;a=e[(c[g>>2]|0)+8>>1]|0;do if(!((e[(c[g>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=MC(c[g>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=f;return b[d>>1]|0}function fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;h=e+8|0;g=e;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;d=c[h>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){a=g;a=ZE(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;c[f>>2]=_m(d,a,D)|0;a=c[f>>2]|0;i=e;return a|0}a=d;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>=0){c[f>>2]=1;a=c[f>>2]|0;i=e;return a|0}else{b=g;a=c[h>>2]|0;d=a;b=ZE(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=D;c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}return 0}function gz(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,l=0,m=0,n=0,o=0;f=i;i=i+64|0;k=f+60|0;h=f+56|0;m=f+48|0;o=f+40|0;n=f+32|0;j=f+24|0;l=f+16|0;e=f+8|0;g=f;c[h>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;b=c[h>>2]|0;d=c[b+4>>2]|0;a=o;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=o;a=jF(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;d=n;c[d>>2]=a;c[d+4>>2]=D;d=o;d=kF(c[d>>2]|0,c[d+4>>2]|0,0,1)|0;a=j;c[a>>2]=d;c[a+4>>2]=D;a=m;a=jF(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;d=l;c[d>>2]=a;c[d+4>>2]=D;d=m;d=kF(c[d>>2]|0,c[d+4>>2]|0,0,1)|0;a=e;c[a>>2]=d;c[a+4>>2]=D;a=n;d=l;d=(c[d>>2]|0)==0&(c[d+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!d){o=j;a=l;a=lF(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=g;c[o>>2]=a;c[o+4>>2]=D;break}a=m;o=c[h>>2]|0;b=o;a=lF(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[o>>2]=a;c[o+4>>2]=D;c[k>>2]=0;o=c[k>>2]|0;i=f;return o|0}else{if(d){o=n;a=e;a=lF(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=g;c[o>>2]=a;c[o+4>>2]=D;break}c[k>>2]=1;o=c[k>>2]|0;i=f;return o|0}while(0);b=g;d=c[b+4>>2]|0;o=g;a=c[o+4>>2]|0;if((d|0)<-1|(d|0)==-1&(c[b>>2]|0)>>>0<2147483648|((a|0)>0|(a|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[k>>2]=1;o=c[k>>2]|0;i=f;return o|0}o=g;o=lF(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;a=g;c[a>>2]=o;c[a+4>>2]=D;a=j;o=e;o=lF(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(_m(g,o,D)|0){c[k>>2]=1;o=c[k>>2]|0;i=f;return o|0}else{b=g;a=c[b+4>>2]|0;o=c[h>>2]|0;c[o>>2]=c[b>>2];c[o+4>>2]=a;c[k>>2]=0;o=c[k>>2]|0;i=f;return o|0}return 0}function hz(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;e=i;i=i+32|0;k=e+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=(c[k>>2]|0)+204;a:while(1){if(!(c[c[h>>2]>>2]|0))break;c[f>>2]=c[c[h>>2]>>2];do if((c[j>>2]|0)>=0){if((c[c[f>>2]>>2]|0)==(c[j>>2]|0)){if((c[(c[f>>2]|0)+4>>2]|0)>31)break;if(!(c[g>>2]&1<>2]|0)+4>>2]))break}c[h>>2]=(c[f>>2]|0)+16;continue a}while(0);if(c[(c[f>>2]|0)+12>>2]|0)rb[c[(c[f>>2]|0)+12>>2]&31](c[(c[f>>2]|0)+8>>2]|0);c[c[h>>2]>>2]=c[(c[f>>2]|0)+16>>2];Xb(c[c[k>>2]>>2]|0,c[f>>2]|0)}i=e;return}function iz(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=b;b=c[f>>2]|0;do if(a[(c[f>>2]|0)+26>>0]|0)c[e>>2]=LC(b)|0;else{if((c[b>>2]|0)!=0?(iC(c[c[f>>2]>>2]|0)|0)!=0:0){c[e>>2]=jC(c[f>>2]|0)|0;break}c[e>>2]=0}while(0);i=d;return c[e>>2]|0}function jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=KC(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function kz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;k=h+8|0;j=h+4|0;l=h;c[k>>2]=f;c[j>>2]=g;if(e[(c[k>>2]|0)+44>>1]|0){l=c[k>>2]|0;l=l+24|0;l=l+12|0;l=c[l>>2]|0;f=c[j>>2]|0;c[f>>2]=l;i=h;return 0}c[l>>2]=b[(c[k>>2]|0)+76>>1];Mw(c[(c[k>>2]|0)+120+(c[l>>2]<<2)>>2]|0,e[(c[k>>2]|0)+78+(c[l>>2]<<1)>>1]|0,(c[k>>2]|0)+24|0);l=(c[k>>2]|0)+72|0;a[l>>0]=d[l>>0]|2;l=c[k>>2]|0;l=l+24|0;l=l+12|0;l=c[l>>2]|0;f=c[j>>2]|0;c[f>>2]=l;i=h;return 0}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=KC(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function mz(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;m=i;i=i+32|0;q=m+28|0;o=m+24|0;k=m+20|0;n=m+16|0;j=m+12|0;r=m+8|0;p=m+4|0;l=m;c[q>>2]=d;c[o>>2]=e;c[k>>2]=f;c[n>>2]=g;c[j>>2]=h;c[p>>2]=0;c[l>>2]=0;h=c[q>>2]|0;if(c[n>>2]|0)c[r>>2]=jz(h,p)|0;else c[r>>2]=lz(h,p)|0;if(((c[o>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[p>>2]|0)>>>0){c[(c[j>>2]|0)+16>>2]=(c[r>>2]|0)+(c[o>>2]|0);b[(c[j>>2]|0)+8>>1]=4112;c[(c[j>>2]|0)+12>>2]=c[k>>2];d=c[l>>2]|0;i=m;return d|0}b[(c[j>>2]|0)+8>>1]=1;d=Lp(c[j>>2]|0,(c[k>>2]|0)+2|0)|0;c[l>>2]=d;if(d){d=c[l>>2]|0;i=m;return d|0}p=c[q>>2]|0;r=c[o>>2]|0;q=c[k>>2]|0;o=c[(c[j>>2]|0)+16>>2]|0;if(c[n>>2]|0)c[l>>2]=My(p,r,q,o)|0;else c[l>>2]=ff(p,r,q,o)|0;if(!(c[l>>2]|0)){a[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=0;a[(c[(c[j>>2]|0)+16>>2]|0)+((c[k>>2]|0)+1)>>0]=0;b[(c[j>>2]|0)+8>>1]=528;c[(c[j>>2]|0)+12>>2]=c[k>>2];d=c[l>>2]|0;i=m;return d|0}else{Bd(c[j>>2]|0);d=c[l>>2]|0;i=m;return d|0}return 0}function nz(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+48|0;d=f+32|0;k=f+28|0;j=f+24|0;m=f+20|0;l=f+16|0;h=f+8|0;g=f;c[k>>2]=a;c[j>>2]=b;c[m>>2]=e[(c[k>>2]|0)+8>>1];if(c[m>>2]&1){c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}if(!(c[m>>2]&4)){if(c[m>>2]&8){c[d>>2]=7;a=c[d>>2]|0;i=f;return a|0}c[l>>2]=c[(c[k>>2]|0)+12>>2];if(c[m>>2]&16384)c[l>>2]=(c[l>>2]|0)+(c[c[k>>2]>>2]|0);c[d>>2]=(c[l>>2]<<1)+12+((c[m>>2]&2|0)!=0&1);a=c[d>>2]|0;i=f;return a|0}a=c[k>>2]|0;k=c[a+4>>2]|0;b=h;c[b>>2]=c[a>>2];c[b+4>>2]=k;b=h;k=c[b>>2]|0;b=c[b+4>>2]|0;do if((c[h+4>>2]|0)<0){if(!((b|0)<-32768|(b|0)==-32768&k>>>0<1)){m=h;m=ZE(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;a=g;c[a>>2]=m;c[a+4>>2]=D;break}c[d>>2]=6;a=c[d>>2]|0;i=f;return a|0}else{a=g;c[a>>2]=k;c[a+4>>2]=b}while(0);a=g;m=c[a+4>>2]|0;if(m>>>0<0|(m|0)==0&(c[a>>2]|0)>>>0<=127){a=h;if((0==(c[a+4>>2]|0)?(c[h>>2]&1|0)==(c[a>>2]|0):0)&(c[j>>2]|0)>=4)g=8+(c[g>>2]|0)|0;else g=1;c[d>>2]=g;a=c[d>>2]|0;i=f;return a|0}a=g;m=c[a+4>>2]|0;if(m>>>0<0|(m|0)==0&(c[a>>2]|0)>>>0<=32767){c[d>>2]=2;a=c[d>>2]|0;i=f;return a|0}a=g;m=c[a+4>>2]|0;if(m>>>0<0|(m|0)==0&(c[a>>2]|0)>>>0<=8388607){c[d>>2]=3;a=c[d>>2]|0;i=f;return a|0}a=g;m=c[a+4>>2]|0;if(m>>>0<0|(m|0)==0&(c[a>>2]|0)>>>0<=2147483647){c[d>>2]=4;a=c[d>>2]|0;i=f;return a|0}a=g;m=c[a+4>>2]|0;if(m>>>0<32767|(m|0)==32767&(c[a>>2]|0)>>>0<=4294967295){c[d>>2]=5;a=c[d>>2]|0;i=f;return a|0}else{c[d>>2]=6;a=c[d>>2]|0;i=f;return a|0}return 0}function oz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;b=j;k=c[b+4>>2]|0;d=j;e=c[d>>2]|0;d=c[d+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[h>>2]>>0]=e&127;c[g>>2]=1;k=c[g>>2]|0;i=f;return k|0}if(d>>>0<0|(d|0)==0&e>>>0<=16383){k=j;k=cF(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[h>>2]>>0]=k&127|128;a[(c[h>>2]|0)+1>>0]=c[j>>2]&127;c[g>>2]=2;k=c[g>>2]|0;i=f;return k|0}else{k=j;c[g>>2]=JC(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=f;return k|0}return 0}function pz(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;l=i;i=i+32|0;g=l+28|0;k=l+24|0;j=l+20|0;n=l+16|0;h=l+12|0;f=l;m=l+8|0;c[k>>2]=b;c[j>>2]=d;c[n>>2]=e;e=c[n>>2]|0;if(!((c[n>>2]|0)>>>0<=7&(c[n>>2]|0)>>>0>0))if(e>>>0>=12){c[h>>2]=c[(c[j>>2]|0)+12>>2];dF(c[k>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[g>>2]=c[h>>2];b=c[g>>2]|0;i=l;return b|0}else{c[g>>2]=0;b=c[g>>2]|0;i=l;return b|0}if((e|0)==7){b=c[j>>2]|0;c[f+0>>2]=c[b+0>>2];c[f+4>>2]=c[b+4>>2]}else{e=c[j>>2]|0;d=c[e+4>>2]|0;b=f;c[b>>2]=c[e>>2];c[b+4>>2]=d}b=Ww(c[n>>2]|0)|0;c[m>>2]=b;c[h>>2]=b;do{b=c[f>>2]&255;d=(c[m>>2]|0)+ -1|0;c[m>>2]=d;a[(c[k>>2]|0)+d>>0]=b;d=f;d=cF(c[d>>2]|0,c[d+4>>2]|0,8)|0;b=f;c[b>>2]=d;c[b+4>>2]=D}while((c[m>>2]|0)!=0);c[g>>2]=c[h>>2];b=c[g>>2]|0;i=l;return b|0}function qz(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;l=i;i=i+32|0;h=l+28|0;o=l+24|0;j=l+20|0;k=l;m=l+16|0;n=l+12|0;p=l+8|0;c[o>>2]=f;c[j>>2]=g;f=k;c[f>>2]=0;c[f+4>>2]=0;if(!(c[(c[o>>2]|0)+60>>2]|0)){f=c[j>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[h>>2]=0;f=c[h>>2]|0;i=l;return f|0}c[m>>2]=Iw(c[o>>2]|0)|0;a:while(1){if(c[m>>2]|0){n=16;break}c[p>>2]=c[(c[o>>2]|0)+120+(b[(c[o>>2]|0)+76>>1]<<2)>>2];if(!((d[(c[p>>2]|0)+5>>0]|0)==0?(a[(c[p>>2]|0)+2>>0]|0)!=0:0)){g=k;g=bF(c[g>>2]|0,c[g+4>>2]|0,e[(c[p>>2]|0)+18>>1]|0,0)|0;f=k;c[f>>2]=g;c[f+4>>2]=D}if(a[(c[p>>2]|0)+5>>0]|0){do{if(!(b[(c[o>>2]|0)+76>>1]|0)){n=10;break a}yw(c[o>>2]|0)}while((e[(c[o>>2]|0)+78+(b[(c[o>>2]|0)+76>>1]<<1)>>1]|0)>=(e[(c[(c[o>>2]|0)+120+(b[(c[o>>2]|0)+76>>1]<<2)>>2]|0)+18>>1]|0));f=(c[o>>2]|0)+78+(b[(c[o>>2]|0)+76>>1]<<1)|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;c[p>>2]=c[(c[o>>2]|0)+120+(b[(c[o>>2]|0)+76>>1]<<2)>>2]}c[n>>2]=e[(c[o>>2]|0)+78+(b[(c[o>>2]|0)+76>>1]<<1)>>1];f=c[o>>2]|0;g=c[p>>2]|0;if((c[n>>2]|0)==(e[(c[p>>2]|0)+18>>1]|0)){c[m>>2]=ww(f,Hh((c[(c[p>>2]|0)+56>>2]|0)+((d[g+6>>0]|0)+8)|0)|0)|0;continue}else{c[m>>2]=ww(f,Hh((c[g+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((n|0)==10){p=k;g=c[p+4>>2]|0;f=c[j>>2]|0;c[f>>2]=c[p>>2];c[f+4>>2]=g;c[h>>2]=0;f=c[h>>2]|0;i=l;return f|0}else if((n|0)==16){c[h>>2]=c[m>>2];f=c[h>>2]|0;i=l;return f|0}return 0}function rz(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,l=0,m=0,n=0;f=i;i=i+32|0;m=f+28|0;g=f+24|0;k=f+20|0;e=f+16|0;n=f+12|0;j=f+8|0;l=f+4|0;h=f;c[m>>2]=a;c[g>>2]=b;c[k>>2]=d;c[e>>2]=0;if(!(c[(c[m>>2]|0)+328>>2]|0)){a=c[e>>2]|0;i=f;return a|0}c[n>>2]=0;while(1){if(c[e>>2]|0){g=15;break}if((c[n>>2]|0)>=(c[(c[m>>2]|0)+304>>2]|0)){g=15;break}c[j>>2]=c[(c[(c[m>>2]|0)+328>>2]|0)+(c[n>>2]<<2)>>2];c[l>>2]=c[c[(c[j>>2]|0)+4>>2]>>2];if((c[(c[j>>2]|0)+8>>2]|0)!=0?(c[c[l>>2]>>2]|0)>=2:0){d=c[g>>2]|0;if((d|0)==2)c[h>>2]=c[(c[l>>2]|0)+88>>2];else if(!d){c[h>>2]=c[(c[l>>2]|0)+80>>2];c[(c[j>>2]|0)+20>>2]=(c[k>>2]|0)+1}else c[h>>2]=c[(c[l>>2]|0)+84>>2];if((c[h>>2]|0)!=0?(c[(c[j>>2]|0)+20>>2]|0)>(c[k>>2]|0):0)c[e>>2]=zb[c[h>>2]&63](c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0)|0}c[n>>2]=(c[n>>2]|0)+1}if((g|0)==15){a=c[e>>2]|0;i=f;return a|0}return 0}function sz(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;l=n+20|0;o=n+16|0;p=n+12|0;m=n+8|0;k=n+4|0;h=n;c[l>>2]=e;c[o>>2]=f;c[p>>2]=g;c[k>>2]=0;if(!(c[l>>2]|0)){e=c[k>>2]|0;i=n;return e|0}Pc(c[l>>2]|0);c[m>>2]=c[(c[(c[l>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0)){j=14;break}if((c[p>>2]|0)!=0?(d[(c[m>>2]|0)+72>>0]&1|0)==0:0){if((d[(c[m>>2]|0)+73>>0]|0)==1?(c[k>>2]=Jy(c[m>>2]|0)|0,(c[k>>2]|0)!=0):0)break}else{Qk(c[m>>2]|0);a[(c[m>>2]|0)+73>>0]=4;c[(c[m>>2]|0)+68>>2]=c[o>>2]}c[h>>2]=0;while(1){if((c[h>>2]|0)>(b[(c[m>>2]|0)+76>>1]|0))break;Rk(c[(c[m>>2]|0)+120+(c[h>>2]<<2)>>2]|0);c[(c[m>>2]|0)+120+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+8>>2]}if((j|0)==14){e=c[k>>2]|0;i=n;return e|0}sz(c[l>>2]|0,c[k>>2]|0,0)|0;e=c[k>>2]|0;i=n;return e|0}function tz(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;j=g+16|0;l=g+12|0;m=g+8|0;h=g+4|0;k=g;c[j>>2]=a;c[l>>2]=b;c[m>>2]=f;c[h>>2]=0;if(!(c[j>>2]|0)){a=c[h>>2]|0;i=g;return a|0}if((d[(c[j>>2]|0)+8>>0]|0|0)!=2){a=c[h>>2]|0;i=g;return a|0}c[k>>2]=c[(c[j>>2]|0)+4>>2];Pc(c[j>>2]|0);c[h>>2]=si(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[h>>2]|0){a=c[h>>2]|0;i=g;return a|0}if((c[m>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[h>>2]=IC(c[k>>2]|0)|0;a=Hh((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;a=c[h>>2]|0;i=g;return a|0}function uz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];Pc(c[h>>2]|0);c[d>>2]=GC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function vz(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;j=i;i=i+32|0;q=j+28|0;r=j+24|0;l=j+20|0;k=j+16|0;m=j+12|0;n=j+8|0;p=j+4|0;o=j;c[q>>2]=d;c[r>>2]=e;c[l>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=(c[(c[q>>2]|0)+8>>2]|0)+(((c[(c[q>>2]|0)+28>>2]|0)-(c[r>>2]|0)|0)*40|0);c[o>>2]=0;g=88+(c[l>>2]<<3)|0;if(c[m>>2]|0)h=EC()|0;else h=0;c[p>>2]=g+h;if(c[(c[(c[q>>2]|0)+56>>2]|0)+(c[r>>2]<<2)>>2]|0){Az(c[q>>2]|0,c[(c[(c[q>>2]|0)+56>>2]|0)+(c[r>>2]<<2)>>2]|0);c[(c[(c[q>>2]|0)+56>>2]|0)+(c[r>>2]<<2)>>2]=0}if(Lp(c[n>>2]|0,c[p>>2]|0)|0){d=c[o>>2]|0;i=j;return d|0}p=c[(c[n>>2]|0)+16>>2]|0;c[o>>2]=p;c[(c[(c[q>>2]|0)+56>>2]|0)+(c[r>>2]<<2)>>2]=p;q=(c[o>>2]|0)+0|0;p=q+88|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(p|0));a[(c[o>>2]|0)+24>>0]=c[k>>2];b[(c[o>>2]|0)+20>>1]=c[l>>2];c[(c[o>>2]|0)+80>>2]=(c[o>>2]|0)+84+(c[l>>2]<<2);if(!(c[m>>2]|0)){d=c[o>>2]|0;i=j;return d|0}c[c[o>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(88+(c[l>>2]<<3));FC(c[c[o>>2]>>2]|0);d=c[o>>2]|0;i=j;return d|0}function wz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;Pc(c[n>>2]|0);c[g>>2]=CC(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function xz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+74>>0]=c[g>>2];i=e;return}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;Pc(c[j>>2]|0);c[e>>2]=BC(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function zz(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;q=i;i=i+48|0;n=q+44|0;r=q+40|0;u=q+36|0;l=q+32|0;p=q+28|0;o=q+24|0;m=q+20|0;s=q+16|0;v=q+12|0;t=q+8|0;k=q+4|0;j=q;c[n>>2]=f;c[r>>2]=g;c[u>>2]=h;c[k>>2]=0;c[v>>2]=24+((e[(c[(c[u>>2]|0)+8>>2]|0)+6>>1]|0)-1<<2);c[t>>2]=128;f=(c[t>>2]|0)+(c[v>>2]|0)|0;c[m>>2]=se(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[u>>2]|0)+56>>2]=c[m>>2];if(!(c[m>>2]|0)){c[k>>2]=7;f=c[k>>2]|0;i=q;return f|0}f=(c[m>>2]|0)+(c[t>>2]|0)|0;c[s>>2]=f;c[(c[m>>2]|0)+28>>2]=f;dF(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[v>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[r>>2]|0)b[(c[s>>2]|0)+6>>1]=c[r>>2];f=Uc(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[l>>2]=f;c[(c[m>>2]|0)+12>>2]=f;a[(c[m>>2]|0)+59>>0]=1;a[(c[m>>2]|0)+57>>0]=(d[(c[m>>2]|0)+59>>0]|0|0)>1;c[(c[m>>2]|0)+24>>2]=c[n>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(d[(c[m>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[m>>2]|0)+64+(c[p>>2]<<6);c[(c[j>>2]|0)+8>>2]=c[m>>2];c[p>>2]=(c[p>>2]|0)+1}if(xh(c[n>>2]|0)|0){f=c[k>>2]|0;i=q;return f|0}c[c[m>>2]>>2]=(c[l>>2]|0)*10;f=c[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;c[o>>2]=f;c[o>>2]=(c[o>>2]|0)<10?10:f;f=$(c[o>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=f;if(c[9708]|0){f=c[k>>2]|0;i=q;return f|0}c[(c[m>>2]|0)+52>>2]=c[l>>2];f=c[l>>2]|0;f=gc(f,((f|0)<0)<<31>>31)|0;c[(c[m>>2]|0)+40>>2]=f;if(c[(c[m>>2]|0)+40>>2]|0){f=c[k>>2]|0;i=q;return f|0}c[k>>2]=7;f=c[k>>2]|0;i=q;return f|0}function Az(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;f=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=e;return}AC(c[c[j>>2]>>2]|0,c[f>>2]|0);d=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0){Kk(c[d+4>>2]|0)|0;i=e;return}a=c[f>>2]|0;if(c[d>>2]|0){Ok(c[a>>2]|0)|0;i=e;return}if(!(c[a+32>>2]|0)){i=e;return}c[g>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=c[c[c[g>>2]>>2]>>2];a=(c[j>>2]|0)+88|0;b[a>>1]=b[a>>1]&-13|4;ub[c[(c[h>>2]|0)+28>>2]&31](c[g>>2]|0)|0;a=(c[j>>2]|0)+88|0;b[a>>1]=b[a>>1]&-13;i=e;return}function Bz(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+73>>0]|0|0)|0}function Cz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;k=f+4|0;h=f;c[j>>2]=b;c[k>>2]=e;if(1==(d[(c[j>>2]|0)+73>>0]|0|0)?((d[(c[j>>2]|0)+72>>0]|0)&8|0)!=0:0){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}c[h>>2]=Iw(c[j>>2]|0)|0;do if(!(c[h>>2]|0)){e=c[k>>2]|0;if(!(d[(c[j>>2]|0)+73>>0]|0)){c[e>>2]=1;break}c[e>>2]=0;c[h>>2]=xw(c[j>>2]|0)|0;j=(c[j>>2]|0)+72|0;e=d[j>>0]|0;if(!(c[h>>2]|0)){a[j>>0]=e|8;break}else{a[j>>0]=e&-9;break}}while(0);c[g>>2]=c[h>>2];b=c[g>>2]|0;i=f;return b|0} - - - -function XE(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,u=0,v=0;d=i;h=a+b|0;l=c[a+4>>2]|0;do if(!(l&1)){p=c[a>>2]|0;if(!(l&3)){i=d;return}l=a+(0-p)|0;m=p+b|0;r=c[9754]|0;if(l>>>0>>0)db();if((l|0)==(c[9755]|0)){e=a+(b+4)|0;n=c[e>>2]|0;if((n&3|0)!=3){e=l;n=m;break}c[9752]=m;c[e>>2]=n&-2;c[a+(4-p)>>2]=m|1;c[h>>2]=m;i=d;return}s=p>>>3;if(p>>>0<256){e=c[a+(8-p)>>2]|0;n=c[a+(12-p)>>2]|0;o=39040+(s<<1<<2)|0;if((e|0)!=(o|0)){if(e>>>0>>0)db();if((c[e+12>>2]|0)!=(l|0))db()}if((n|0)==(e|0)){c[9750]=c[9750]&~(1<>>0>>0)db();o=n+8|0;if((c[o>>2]|0)==(l|0))q=o;else db()}else q=n+8|0;c[e+12>>2]=n;c[q>>2]=e;e=l;n=m;break}q=c[a+(24-p)>>2]|0;s=c[a+(12-p)>>2]|0;do if((s|0)==(l|0)){u=16-p|0;t=a+(u+4)|0;s=c[t>>2]|0;if(!s){t=a+u|0;s=c[t>>2]|0;if(!s){o=0;break}}while(1){v=s+20|0;u=c[v>>2]|0;if(u){s=u;t=v;continue}u=s+16|0;v=c[u>>2]|0;if(!v)break;else{s=v;t=u}}if(t>>>0>>0)db();else{c[t>>2]=0;o=s;break}}else{t=c[a+(8-p)>>2]|0;if(t>>>0>>0)db();r=t+12|0;if((c[r>>2]|0)!=(l|0))db();u=s+8|0;if((c[u>>2]|0)==(l|0)){c[r>>2]=s;c[u>>2]=t;o=s;break}else db()}while(0);if(q){s=c[a+(28-p)>>2]|0;r=39304+(s<<2)|0;if((l|0)==(c[r>>2]|0)){c[r>>2]=o;if(!o){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();r=q+16|0;if((c[r>>2]|0)==(l|0))c[r>>2]=o;else c[q+20>>2]=o;if(!o){e=l;n=m;break}}r=c[9754]|0;if(o>>>0>>0)db();c[o+24>>2]=q;p=16-p|0;q=c[a+p>>2]|0;do if(q)if(q>>>0>>0)db();else{c[o+16>>2]=q;c[q+24>>2]=o;break}while(0);p=c[a+(p+4)>>2]|0;if(p)if(p>>>0<(c[9754]|0)>>>0)db();else{c[o+20>>2]=p;c[p+24>>2]=o;e=l;n=m;break}else{e=l;n=m}}else{e=l;n=m}}else{e=a;n=b}while(0);l=c[9754]|0;if(h>>>0>>0)db();m=a+(b+4)|0;o=c[m>>2]|0;if(!(o&2)){if((h|0)==(c[9756]|0)){v=(c[9753]|0)+n|0;c[9753]=v;c[9756]=e;c[e+4>>2]=v|1;if((e|0)!=(c[9755]|0)){i=d;return}c[9755]=0;c[9752]=0;i=d;return}if((h|0)==(c[9755]|0)){v=(c[9752]|0)+n|0;c[9752]=v;c[9755]=e;c[e+4>>2]=v|1;c[e+v>>2]=v;i=d;return}n=(o&-8)+n|0;m=o>>>3;do if(o>>>0>=256){k=c[a+(b+24)>>2]|0;o=c[a+(b+12)>>2]|0;do if((o|0)==(h|0)){o=a+(b+20)|0;m=c[o>>2]|0;if(!m){o=a+(b+16)|0;m=c[o>>2]|0;if(!m){j=0;break}}while(1){p=m+20|0;q=c[p>>2]|0;if(q){m=q;o=p;continue}q=m+16|0;p=c[q>>2]|0;if(!p)break;else{m=p;o=q}}if(o>>>0>>0)db();else{c[o>>2]=0;j=m;break}}else{m=c[a+(b+8)>>2]|0;if(m>>>0>>0)db();p=m+12|0;if((c[p>>2]|0)!=(h|0))db();l=o+8|0;if((c[l>>2]|0)==(h|0)){c[p>>2]=o;c[l>>2]=m;j=o;break}else db()}while(0);if(k){m=c[a+(b+28)>>2]|0;l=39304+(m<<2)|0;if((h|0)==(c[l>>2]|0)){c[l>>2]=j;if(!j){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();l=k+16|0;if((c[l>>2]|0)==(h|0))c[l>>2]=j;else c[k+20>>2]=j;if(!j)break}h=c[9754]|0;if(j>>>0>>0)db();c[j+24>>2]=k;k=c[a+(b+16)>>2]|0;do if(k)if(k>>>0>>0)db();else{c[j+16>>2]=k;c[k+24>>2]=j;break}while(0);h=c[a+(b+20)>>2]|0;if(h)if(h>>>0<(c[9754]|0)>>>0)db();else{c[j+20>>2]=h;c[h+24>>2]=j;break}}}else{j=c[a+(b+8)>>2]|0;a=c[a+(b+12)>>2]|0;b=39040+(m<<1<<2)|0;if((j|0)!=(b|0)){if(j>>>0>>0)db();if((c[j+12>>2]|0)!=(h|0))db()}if((a|0)==(j|0)){c[9750]=c[9750]&~(1<>>0>>0)db();b=a+8|0;if((c[b>>2]|0)==(h|0))k=b;else db()}else k=a+8|0;c[j+12>>2]=a;c[k>>2]=j}while(0);c[e+4>>2]=n|1;c[e+n>>2]=n;if((e|0)==(c[9755]|0)){c[9752]=n;i=d;return}}else{c[m>>2]=o&-2;c[e+4>>2]=n|1;c[e+n>>2]=n}b=n>>>3;if(n>>>0<256){a=b<<1;h=39040+(a<<2)|0;j=c[9750]|0;b=1<>2]|0;if(j>>>0<(c[9754]|0)>>>0)db();else{g=a;f=j}}else{c[9750]=j|b;g=39040+(a+2<<2)|0;f=h}c[g>>2]=e;c[f+12>>2]=e;c[e+8>>2]=f;c[e+12>>2]=h;i=d;return}f=n>>>8;if(f)if(n>>>0>16777215)f=31;else{u=(f+1048320|0)>>>16&8;v=f<>>16&4;v=v<>>16&2;f=14-(t|u|f)+(v<>>15)|0;f=n>>>(f+7|0)&1|f<<1}else f=0;g=39304+(f<<2)|0;c[e+28>>2]=f;c[e+20>>2]=0;c[e+16>>2]=0;a=c[9751]|0;h=1<>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}g=c[g>>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;a:do if((c[g+4>>2]&-8|0)!=(n|0)){f=n<>>31<<2)+16|0;g=c[h>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(n|0))break a;else{f=f<<1;a=g}}if(h>>>0<(c[9754]|0)>>>0)db();c[h>>2]=e;c[e+24>>2]=a;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}while(0);f=g+8|0;h=c[f>>2]|0;v=c[9754]|0;if(!(g>>>0>=v>>>0&h>>>0>=v>>>0))db();c[h+12>>2]=e;c[f>>2]=e;c[e+8>>2]=h;c[e+12>>2]=g;c[e+24>>2]=0;i=d;return}function YE(){}function ZE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return(D=b,a-c>>>0|0)|0}function _E(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 $E(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>0]|0)c=c+1|0;return c-b|0}function bF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function cF(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function dF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Na(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)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 eF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else dF(b,c,d)|0;return b|0}function fF(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function gF(b){b=b|0;var c=0;c=a[n+(b>>>24)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)>>0]|0)+24|0}function hF(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function iF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;d=b&65535;c=$(d,f)|0;e=a>>>16;d=(c>>>16)+($(d,e)|0)|0;b=b>>>16;a=$(b,f)|0;return(D=(d>>>16)+($(b,e)|0)+(((d&65535)+a|0)>>>16)|0,d+a<<16|c&65535|0)|0}function jF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=ZE(j^a,i^b,j,i)|0;g=D;b=f^j;a=e^i;a=ZE((oF(h,g,ZE(f^c,e^d,f,e)|0,D,0)|0)^b,D^a,b,a)|0;return a|0}function kF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+8|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;b=ZE(h^a,g^b,h,g)|0;a=D;oF(b,a,ZE(l^d,k^e,l,k)|0,D,j)|0;a=ZE(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;b=D;i=f;return(D=b,a)|0}function lF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;a=iF(e,f)|0;c=D;return(D=($(b,f)|0)+($(d,e)|0)+c|c&0,a|0|0)|0}function mF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=oF(a,b,c,d,0)|0;return a|0}function nF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+8|0;f=g|0;oF(a,b,d,e,f)|0;i=g;return(D=c[f+4>>2]|0,c[f>>2]|0)|0}function oF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a;j=b;i=j;l=d;g=e;k=g;if(!i){g=(f|0)!=0;if(!k){if(g){c[f>>2]=(h>>>0)%(l>>>0);c[f+4>>2]=0}k=0;m=(h>>>0)/(l>>>0)>>>0;return(D=k,m)|0}else{if(!g){l=0;m=0;return(D=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;l=0;m=0;return(D=l,m)|0}}m=(k|0)==0;do if(l){if(!m){k=(gF(k|0)|0)-(gF(i|0)|0)|0;if(k>>>0<=31){m=k+1|0;l=31-k|0;a=k-31>>31;j=m;b=h>>>(m>>>0)&a|i<>>(m>>>0)&a;k=0;l=h<>2]=a|0;c[f+4>>2]=j|b&0;l=0;m=0;return(D=l,m)|0}k=l-1|0;if(k&l){l=(gF(l|0)|0)+33-(gF(i|0)|0)|0;p=64-l|0;m=32-l|0;n=m>>31;o=l-32|0;a=o>>31;j=l;b=m-1>>31&i>>>(o>>>0)|(i<>>(l>>>0))&a;a=a&i>>>(l>>>0);k=h<>>(o>>>0))&n|h<>31;break}if(f){c[f>>2]=k&h;c[f+4>>2]=0}if((l|0)==1){o=j|b&0;p=a|0|0;return(D=o,p)|0}else{p=hF(l|0)|0;o=i>>>(p>>>0)|0;p=i<<32-p|h>>>(p>>>0)|0;return(D=o,p)|0}}else{if(m){if(f){c[f>>2]=(i>>>0)%(l>>>0);c[f+4>>2]=0}o=0;p=(i>>>0)/(l>>>0)>>>0;return(D=o,p)|0}if(!h){if(f){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(k>>>0)}o=0;p=(i>>>0)/(k>>>0)>>>0;return(D=o,p)|0}l=k-1|0;if(!(l&k)){if(f){c[f>>2]=a|0;c[f+4>>2]=l&i|b&0}o=0;p=i>>>((hF(k|0)|0)>>>0);return(D=o,p)|0}k=(gF(k|0)|0)-(gF(i|0)|0)|0;if(k>>>0<=30){a=k+1|0;l=31-k|0;j=a;b=i<>>(a>>>0);a=i>>>(a>>>0);k=0;l=h<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(D=o,p)|0}while(0);if(!j){g=l;e=0;i=0}else{h=d|0|0;g=g|e&0;e=bF(h,g,-1,-1)|0;d=D;i=0;do{m=l;l=k>>>31|l<<1;k=i|k<<1;m=b<<1|m>>>31|0;n=b>>>31|a<<1|0;ZE(e,d,m,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;b=ZE(m,n,o&h,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&g)|0;a=D;j=j-1|0}while((j|0)!=0);g=l;e=0}h=0;if(f){c[f>>2]=b;c[f+4>>2]=a}o=(k|0)>>>31|(g|h)<<1|(h<<1|k>>>31)&0|e;p=(k<<1|0>>>31)&-2|i;return(D=o,p)|0}function pF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pb[a&31](b|0,c|0,d|0)|0}function qF(a){a=a|0;return qb[a&1]()|0}function rF(a,b){a=a|0;b=b|0;rb[a&31](b|0)}function sF(a,b,c){a=a|0;b=b|0;c=c|0;sb[a&7](b|0,c|0)}function tF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return tb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function uF(a,b){a=a|0;b=b|0;return ub[a&31](b|0)|0}function vF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;vb[a&63](b|0,c|0,d|0)}function wF(a){a=a|0;wb[a&0]()}function xF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return xb[a&7](b|0,c|0,d|0,e|0)|0}function yF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;yb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)}function zF(a,b,c){a=a|0;b=b|0;c=c|0;return zb[a&63](b|0,c|0)|0}function AF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ab[a&15](b|0,c|0,d|0,e|0,f|0)|0}function BF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Bb[a&3](b|0,c|0,d|0,e|0)}function CF(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function DF(a,b,c){a=a|0;b=b|0;c=c|0;return Ca(a|0,b|0,c|0)|0}function EF(a,b,c){a=a|0;b=b|0;c=c|0;return mb(a|0,b|0,c|0)|0}function FF(a,b,c){a=a|0;b=b|0;c=c|0;return Wa(a|0,b|0,c|0)|0}function GF(){aa(1);return 0}function HF(a){a=a|0;aa(2)}function IF(a,b){a=a|0;b=b|0;aa(3)}function JF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function KF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return jb(a|0,b|0,c|0,d|0,e|0,f|0)|0}function LF(a){a=a|0;aa(5);return 0}function MF(a){a=a|0;return lb(a|0)|0}function NF(a){a=a|0;return Oa(a|0)|0}function OF(a){a=a|0;return Aa(a|0)|0}function PF(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function QF(){aa(7)}function RF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8);return 0}function SF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(9)}function TF(a,b){a=a|0;b=b|0;aa(10);return 0}function UF(a,b){a=a|0;b=b|0;return xa(a|0,b|0)|0}function VF(a,b){a=a|0;b=b|0;return ta(a|0,b|0)|0}function WF(a,b){a=a|0;b=b|0;return Za(a|0,b|0)|0}function XF(a,b){a=a|0;b=b|0;return ya(a|0,b|0)|0}function YF(a,b){a=a|0;b=b|0;return Sa(a|0,b|0)|0}function ZF(a,b){a=a|0;b=b|0;return Qa(a|0,b|0)|0}function _F(a,b){a=a|0;b=b|0;return Ta(a|0,b|0)|0}function $F(a,b){a=a|0;b=b|0;return ib(a|0,b|0)|0}function aG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(11);return 0}function bG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(12)} - - - +function ng(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;if(d[14426+(d[(c[f>>2]|0)+2>>0]|0)>>0]&8){b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[14426+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=MH(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=DH(b|0,e|0,(rg(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=sg(j,k,Ed(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function og(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qg(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function pg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function qg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+15>>0]|0|0)!=0:0){g=14425;i=f;return g|0}g=c[(c[e>>2]|0)+168>>2]|0;i=f;return g|0}function rg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function sg(b,e,f,g){b=b|0;e=e|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;w=i;i=i+64|0;l=w+36|0;m=w+20|0;n=w+12|0;j=w+32|0;h=w+52|0;q=w+44|0;k=w;r=w+28|0;p=w+8|0;o=w+24|0;s=w+16|0;u=w+40|0;t=w+48|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=f;a[h>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[j>>2]|0);if((d[h>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[h>>0]|0);while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[j>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]|0)+(d[h>>0]|0)+-3;c[m>>2]=(c[m>>2]|0)+(d[h>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[14426+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)g=(c[o>>2]|0)<=57;else g=0;h=k;f=c[h>>2]|0;h=c[h+4>>2]|0;if(!g)break;b=MH(f|0,h|0,10,0)|0;e=c[o>>2]|0;e=DH(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=AH(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}j=(c[r>>2]|0)!=0;do if(!(h>>>0>2147483647|(h|0)==2147483647&f>>>0>4294967295)){g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(j){k=AH(0,0,f|0,g|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=f;c[n+4>>2]=g;break}}else{n=c[n>>2]|0;c[n>>2]=j?0:-1;c[n+4>>2]=j?-2147483648:2147483647}while(0);if(!((c[o>>2]|0)!=0?((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0:0))v=33;do if((v|0)==33){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}c[o>>2]=tg(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}if((c[o>>2]|0)>0){c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;v=c[l>>2]|0;i=w;return v|0}}}while(0);c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}function tg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=14782;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[14426+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=vg(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Ed(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(7-(c[h>>2]|0)|0)){f=9;break}if((d[14801+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(Ib(14815+(d[14808+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){f=7;break}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==7){a[k>>0]=a[14836+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==9){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)wg(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function wg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+12|0;k=o+24|0;l=o+16|0;h=o;m=o+32|0;f=o+8|0;g=o+20|0;n=o+28|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[14426+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[14426+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((rg(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[14426+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=MH(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=DH(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=AH(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=AH(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;c[388+(c[d>>2]<<2)>>2]=c[f>>2];if((c[388+(c[d>>2]<<2)>>2]|0)<=(c[428+(c[d>>2]<<2)>>2]|0)){i=e;return}c[428+(c[d>>2]<<2)>>2]=c[388+(c[d>>2]<<2)>>2];i=e;return}function yg(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)<2){c[j>>2]=27;k=c[j>>2]|0;i=l;return k|0}c[h>>2]=((d[13848+(d[c[f>>2]>>0]|0)>>0]|0)<<2^(d[13848+(d[(c[f>>2]|0)+((c[g>>2]|0)-1)>>0]|0)>>0]|0)*3^c[g>>2]|0)%127|0;c[k>>2]=(d[14843+(c[h>>2]|0)>>0]|0)-1;while(1){if((c[k>>2]|0)<0){f=9;break}if((d[14970+(c[k>>2]|0)>>0]|0|0)==(c[g>>2]|0)?(Ib(15094+(e[7804+(c[k>>2]<<1)>>1]|0)|0,c[f>>2]|0,c[g>>2]|0)|0)==0:0){f=7;break}c[k>>2]=(d[15771+(c[k>>2]|0)>>0]|0)-1}if((f|0)==7){c[j>>2]=d[15647+(c[k>>2]|0)>>0];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==9){c[j>>2]=27;k=c[j>>2]|0;i=l;return k|0}return 0}function zg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Gg(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Ag(a,e,f){a=a|0;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;p=i;i=i+32|0;g=p+24|0;h=p+16|0;j=p+20|0;n=p+28|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+15>>0]|0)!=0?(c[(c[g>>2]|0)+24>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Bg(c[(c[g>>2]|0)+204>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+152>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+16>>0]|0)>0?(c[c[(c[g>>2]|0)+60>>2]>>2]|0)!=0:0)c[n>>2]=Cg(c[(c[g>>2]|0)+60>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Dg(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Eg(c[g>>2]|0);c[n>>2]=Fg(c[(c[g>>2]|0)+204>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){Gg(c[(c[g>>2]|0)+200>>2]|0);c[(c[g>>2]|0)+200>>2]=c[l>>2];o=k;o=DH(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=AH(o|0,C|0,1,0)|0;o=KH(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+24>>2]=o;c[(c[g>>2]|0)+152>>2]=c[m>>2];break}else{Gg(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+152>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+142>>1];b[(c[g>>2]|0)+142>>1]=c[j>>2];Hg(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Bg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=vb[c[(c[c[f>>2]>>2]|0)+24>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Dg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Qg(c[d>>2]|0)|0;i=b;return a|0}function Eg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kg(c[(c[d>>2]|0)+88>>2]|0);Lg(c[(c[d>>2]|0)+204>>2]|0);i=b;return}function Fg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+20>>2]|0){c[h>>2]=lb[c[128>>2]&31](c[g>>2]|0,(c[(c[f>>2]|0)+24>>2]|0)+40|0,d[(c[f>>2]|0)+28>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[33]|0;a=c[h>>2]|0;b=Jg(c[f>>2]|0)|0;ob[k&7](a,b);if(c[(c[f>>2]|0)+40>>2]|0)nb[c[156>>2]&31](c[(c[f>>2]|0)+40>>2]|0);c[(c[f>>2]|0)+40>>2]=c[h>>2];c[(c[f>>2]|0)+44>>2]=0;c[(c[f>>2]|0)+20>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function Gg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ig(c[d>>2]|0)|0;i=b;return}function Hg(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=0;if(!(c[d>>2]|0)){c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}if((c[d>>2]|0)>>>0>=(c[256]|0)>>>0?(c[d>>2]|0)>>>0<(c[257]|0)>>>0:0){Xd(1,-1);c[f>>2]=c[d>>2];c[c[f>>2]>>2]=c[259];c[259]=c[f>>2];c[260]=(c[260]|0)+1;c[261]=(c[260]|0)<(c[255]|0)&1}else{c[e>>2]=Jd(c[d>>2]|0)|0;Xd(2,0-(c[e>>2]|0)|0);Sb(c[d>>2]|0)}c[b>>2]=c[e>>2];f=c[b>>2]|0;i=g;return f|0}function Jg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=MH(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+20>>2]|0)+(c[(c[d>>2]|0)+24>>2]|0)|0;d=KH(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function Kg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function Lg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Mg(c[d>>2]|0,0);i=b;return}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+40>>2]|0)){i=h;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ng(c[f>>2]|0);c[f>>2]=c[g>>2]}if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+44>>2]|0)!=0:0){BH(c[(c[(c[d>>2]|0)+44>>2]|0)+4>>2]|0,0,c[(c[d>>2]|0)+20>>2]|0)|0;c[e>>2]=1}ob[c[152>>2]&7](c[(c[d>>2]|0)+40>>2]|0,(c[e>>2]|0)+1|0);i=h;return}function Ng(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}Og(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-7;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}Pg(c[d>>2]|0);i=f;return}function Og(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;h=l+12|0;k=l+4|0;g=l;c[j>>2]=b;a[h>>0]=f;c[k>>2]=c[(c[j>>2]|0)+28>>2];if(d[h>>0]&1){if((c[(c[k>>2]|0)+8>>2]|0)==(c[j>>2]|0)){c[g>>2]=c[(c[j>>2]|0)+36>>2];while(1){if(c[g>>2]|0)b=(e[(c[g>>2]|0)+24>>1]&4|0)!=0;else b=0;f=c[g>>2]|0;if(!b)break;c[g>>2]=c[f+36>>2]}c[(c[k>>2]|0)+8>>2]=f}b=c[(c[j>>2]|0)+36>>2]|0;if(c[(c[j>>2]|0)+32>>2]|0)c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=b;else c[(c[k>>2]|0)+4>>2]=b;b=c[(c[j>>2]|0)+32>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]|0)){c[c[k>>2]>>2]=b;if((c[c[k>>2]>>2]|0)==0?(d[(c[k>>2]|0)+28>>0]|0)!=0:0)a[(c[k>>2]|0)+29>>0]=2}else c[(c[(c[j>>2]|0)+36>>2]|0)+32>>2]=b;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0}if(!(d[h>>0]&2)){i=l;return}c[(c[j>>2]|0)+32>>2]=c[c[k>>2]>>2];b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+32>>2]|0)){c[(c[k>>2]|0)+4>>2]=b;if(a[(c[k>>2]|0)+28>>0]|0)a[(c[k>>2]|0)+29>>0]=1}else c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=b;c[c[k>>2]>>2]=c[j>>2];if(c[(c[k>>2]|0)+8>>2]|0){i=l;return}if(e[(c[j>>2]|0)+24>>1]&4){i=l;return}c[(c[k>>2]|0)+8>>2]=c[j>>2];i=l;return}function Pg(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+28>>0]|0)){i=e;return}if((c[(c[d>>2]|0)+20>>2]|0)==1)c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]=0;rb[c[144>>2]&63](c[(c[(c[d>>2]|0)+28>>2]|0)+40>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;xg(7,c[b>>2]|0);if((c[b>>2]|0)<=(c[253]|0)?(c[d>>2]=c[259],(c[d>>2]|0)!=0):0){c[259]=c[c[259]>>2];c[260]=(c[260]|0)+-1;c[261]=(c[260]|0)<(c[255]|0)&1;Xd(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=Wd(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=Jd(c[d>>2]|0)|0;Xd(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function Rg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=de(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function Sg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+4|0;h=p+16|0;j=p+8|0;l=p+20|0;f=p+28|0;m=p;n=p+12|0;k=p+24|0;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=Rg(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=qf(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}EH(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;BH((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=Sg(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=Sg(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Nd(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function Tg(b,e,f){b=b|0;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;p=i;i=i+32|0;g=p+8|0;h=p+16|0;j=p+20|0;l=p+24|0;n=p+4|0;k=p;m=p+12|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];EH(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;BH((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function Ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;if(!(c[h>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}if((c[j>>2]|0)==0?1:(c[j>>2]|0)>>>0>(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=8;break}}if((f|0)==8){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=16;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=14;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==14){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==16){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function Vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Wg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;Wg(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Sb(c[b>>2]|0);i=e;return}function Xg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=bh(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Yg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+20|0;f=j+16|0;d=j+12|0;e=j+8|0;h=j+4|0;g=j;c[b>>2]=a;c[d>>2]=0;c[f>>2]=c[(c[b>>2]|0)+16>>2];while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;a:do if(c[(c[f>>2]|0)+4>>2]|0){fe(c[(c[f>>2]|0)+4>>2]|0);c[e>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[e>>2]|0))break a;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;if((c[(c[g>>2]|0)+40>>2]|0)!=0?(c[(c[(c[g>>2]|0)+40>>2]|0)+12>>2]|0)==(c[b>>2]|0):0){ah(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0}c[g>>2]=c[(c[g>>2]|0)+20>>2]}c[e>>2]=c[c[e>>2]>>2]}}while(0);c[d>>2]=(c[d>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=_g(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function _g(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,l=0,m=0,n=0;n=i;i=i+32|0;m=n+4|0;f=n+16|0;j=n+8|0;e=n+20|0;l=n+28|0;k=n;g=n+12|0;h=n+24|0;c[f>>2]=a;c[j>>2]=b;c[e>>2]=d;if(c[(c[f>>2]|0)+12>>2]|0){b=$g(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[f>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[f>>2]|0)+8>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2]}c[c[e>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=($b(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function $g(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){j=c[e>>2]|0;c[e>>2]=j+1;j=a[j>>0]|0;a[f>>0]=j;b=c[g>>2]|0;if(!(j&255))break;c[g>>2]=b<<3^c[g>>2]^(d[13848+(d[f>>0]|0)>>0]|0)}i=h;return b|0}function ah(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Nd(0,c[b>>2]|0);i=d;return}function bh(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;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=Zg((c[f>>2]|0)+428|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Ed(c[g>>2]|0)|0;c[j>>2]=gf(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;EH(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=ch((c[f>>2]|0)+428|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}a[(c[f>>2]|0)+64>>0]=1;Nd(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function ch(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,l=0,m=0,n=0;n=i;i=i+32|0;k=n+4|0;l=n+16|0;e=n+8|0;f=n+20|0;h=n+28|0;g=n;m=n+12|0;j=n+24|0;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=_g(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))dh(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=Wd(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(eh(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=$g(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;fh(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Sb(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}ih(c[e>>2]|0);i=j;return}function eh(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;f=l+20|0;j=l+24|0;g=l+4|0;k=l;h=l+12|0;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}gh();c[j>>2]=Wd(c[f>>2]<<3,0)|0;hh();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Sb(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((Jd(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;BH(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=$g(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];fh(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function gh(){if(!(c[262]|0))return;sb[c[1048>>2]&0]();return}function hh(){if(!(c[263]|0))return;sb[c[1052>>2]&0]();return}function ih(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Sb(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Sb(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function jh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function kh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;l=o+4|0;n=o;m=o+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=$G(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(Wl((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(Wl((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function lh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=Ib(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function mh(b,e,f,g,h,j){b=b|0;e=e|0;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,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;R=i;i=i+160|0;J=R+16|0;I=R;H=R+8|0;G=R+24|0;m=R+68|0;S=R+120|0;n=R+116|0;o=R+124|0;p=R+60|0;q=R+40|0;r=R+44|0;F=R+92|0;v=R+48|0;P=R+52|0;L=R+112|0;t=R+144|0;k=R+128|0;N=R+132|0;u=R+72|0;x=R+88|0;y=R+76|0;l=R+80|0;E=R+84|0;C=R+36|0;O=R+96|0;D=R+104|0;s=R+56|0;M=R+108|0;A=R+32|0;z=R+100|0;w=R+136|0;B=R+64|0;K=R+140|0;c[S>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[F>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[P>>2]=c[S>>2];c[k>>2]=Ed(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[k>>2]|0)>=5?($G(c[n>>2]|0,17606,5)|0)==0:0){c[y>>2]=0;c[l>>2]=(c[k>>2]|0)+2;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=(c[l>>2]|0)+((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1);c[x>>2]=(c[x>>2]|0)+1}c[L>>2]=Rb(c[l>>2]|0)|0;if(!(c[L>>2]|0)){c[m>>2]=7;S=c[m>>2]|0;i=R;return S|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?($G(17612,(c[n>>2]|0)+7|0,9)|0)==0:0)break;S=(c[n>>2]|0)+7|0;c[G>>2]=(c[x>>2]|0)-7;c[G+4>>2]=S;S=Wb(17622,G)|0;c[c[r>>2]>>2]=S;c[F>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){S=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=S;if(!(S<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[14426+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[14426+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){S=c[x>>2]|0;c[x>>2]=S+1;c[E>>2]=((rg(a[(c[n>>2]|0)+S>>0]|0)|0)&255)<<4;S=c[x>>2]|0;c[x>>2]=S+1;S=(rg(a[(c[n>>2]|0)+S>>0]|0)|0)&255;c[E>>2]=(c[E>>2]|0)+S;if(c[E>>2]|0){a[t>>0]=c[E>>2];break}while(1){S=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=S;if(!(S<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else Q=37;while(0);c:do if((Q|0)==37){Q=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[L>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);G=a[t>>0]|0;S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=G}if((c[u>>2]|0)==1){S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=0}S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=0;S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=0;S=(Ed(c[L>>2]|0)|0)+1|0;c[N>>2]=(c[L>>2]|0)+S;while(1){if(!(a[c[N>>2]>>0]|0)){Q=84;break a}c[C>>2]=Ed(c[N>>2]|0)|0;c[O>>2]=(c[N>>2]|0)+((c[C>>2]|0)+1);c[D>>2]=Ed(c[O>>2]|0)|0;if((c[C>>2]|0)==3?($G(17650,c[N>>2]|0,3)|0)==0:0)c[P>>2]=c[O>>2];else{c[s>>2]=0;c[M>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[C>>2]|0)==5?($G(17654,c[N>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=2096;c[z>>2]=c[A>>2];c[M>>2]=17654}if((c[C>>2]|0)==4?($G(17660,c[N>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=2120;c[z>>2]=c[A>>2]&c[v>>2];c[M>>2]=17665}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[K>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];S=c[D>>2]|0;if((S|0)==(Ed(c[K>>2]|0)|0)?0==($G(c[O>>2]|0,c[K>>2]|0,c[D>>2]|0)|0):0){Q=73;break}c[w>>2]=(c[w>>2]|0)+1}if((Q|0)==73){Q=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){Q=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){Q=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[N>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1)}if((Q|0)==76){S=c[O>>2]|0;c[H>>2]=c[M>>2];c[H+4>>2]=S;S=Wb(17672,H)|0;c[c[r>>2]>>2]=S;c[F>>2]=1;break}else if((Q|0)==78){S=c[O>>2]|0;c[I>>2]=c[M>>2];c[I+4>>2]=S;S=Wb(17692,I)|0;c[c[r>>2]>>2]=S;c[F>>2]=3;break}}else Q=81;while(0);do if((Q|0)==81){c[L>>2]=Rb((c[k>>2]|0)+2|0)|0;if(c[L>>2]|0){EH(c[L>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;a[(c[L>>2]|0)+(c[k>>2]|0)>>0]=0;a[(c[L>>2]|0)+((c[k>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;Q=84;break}c[m>>2]=7;S=c[m>>2]|0;i=R;return S|0}while(0);if((Q|0)==84?(S=Lb(c[P>>2]|0)|0,c[c[p>>2]>>2]=S,(c[c[p>>2]>>2]|0)==0):0){c[J>>2]=c[P>>2];S=Wb(17716,J)|0;c[c[r>>2]>>2]=S;c[F>>2]=1}if(c[F>>2]|0){Sb(c[L>>2]|0);c[L>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[L>>2];c[m>>2]=c[F>>2];S=c[m>>2]|0;i=R;return S|0}function nh(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;H=i;i=i+192|0;B=H+24|0;m=H+28|0;n=H+44|0;o=H+60|0;C=H+4|0;p=H+8|0;q=H+48|0;E=H+56|0;D=H+64|0;G=H+72|0;w=H+76|0;y=H+80|0;u=H;t=H+40|0;v=H+12|0;z=H+52|0;s=H+16|0;x=H+20|0;r=H+36|0;F=H+32|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[C>>2]=j;c[p>>2]=k;c[q>>2]=l;c[E>>2]=0;c[H+68>>2]=0;c[G>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(aH(c[n>>2]|0,17356)|0)==0:0)h=1;else A=5;do if((A|0)==5){if((c[u>>2]|0)!=0?(aj(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[D>>2]=de(44,0)|0;if(!(c[D>>2]|0)){c[B>>2]=7;G=c[B>>2]|0;i=H;return G|0}a[(c[D>>2]|0)+8>>0]=0;c[c[D>>2]>>2]=c[o>>2];c[(c[D>>2]|0)+28>>2]=c[D>>2];c[(c[D>>2]|0)+28+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=c[v>>2]|0;c[z>>2]=Wd(u,((u|0)<0)<<31>>31)|0;a[(c[D>>2]|0)+9>>0]=1;if(!(c[z>>2]|0)){Sb(c[D>>2]|0);c[B>>2]=7;G=c[B>>2]|0;i=H;return G|0}if(!(c[t>>2]|0)){c[G>>2]=bj(c[m>>2]|0,c[n>>2]|0,c[v>>2]|0,c[z>>2]|0)|0;if(c[G>>2]|0){Sb(c[z>>2]|0);Sb(c[D>>2]|0);c[B>>2]=c[G>>2];G=c[B>>2]|0;i=H;return G|0}}else{u=c[z>>2]|0;v=c[n>>2]|0;EH(u|0,v|0,(Ed(c[n>>2]|0)|0)+1|0)|0}c[E>>2]=c[504];while(1){if(!(c[E>>2]|0))break;v=c[z>>2]|0;if(0==(aH(v,qg(c[c[E>>2]>>2]|0,0)|0)|0)?(v=cj(c[c[E>>2]>>2]|0)|0,(v|0)==(c[m>>2]|0)):0){A=29;break}c[E>>2]=c[(c[E>>2]|0)+68>>2]}do if((A|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){A=35;break}c[x>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[x>>2]|0)!=0?(c[(c[x>>2]|0)+4>>2]|0)==(c[E>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((A|0)==35){c[(c[D>>2]|0)+4>>2]=c[E>>2];x=(c[E>>2]|0)+64|0;c[x>>2]=(c[x>>2]|0)+1;break}Sb(c[z>>2]|0);Sb(c[D>>2]|0);c[B>>2]=19;G=c[B>>2]|0;i=H;return G|0}while(0);Sb(c[z>>2]|0)}}while(0);do if(!(c[E>>2]|0)){c[E>>2]=de(84,0)|0;if(!(c[E>>2]|0)){c[G>>2]=7;break}c[G>>2]=ej(c[m>>2]|0,c[E>>2]|0,c[n>>2]|0,76,c[p>>2]|0,c[q>>2]|0,14)|0;if(!(c[G>>2]|0)){z=(c[o>>2]|0)+40|0;fj(c[c[E>>2]>>2]|0,c[z>>2]|0,c[z+4>>2]|0);c[G>>2]=gj(c[c[E>>2]>>2]|0,100,y)|0}if(!(c[G>>2]|0)){a[(c[E>>2]|0)+16>>0]=c[p>>2];c[(c[E>>2]|0)+4>>2]=c[o>>2];ij(c[c[E>>2]>>2]|0,24,c[E>>2]|0);c[(c[D>>2]|0)+4>>2]=c[E>>2];c[(c[E>>2]|0)+8>>2]=0;c[(c[E>>2]|0)+12>>2]=0;if((jj(c[c[E>>2]>>2]|0)|0)<<24>>24){z=(c[E>>2]|0)+22|0;b[z>>1]=e[z>>1]|1}c[(c[E>>2]|0)+32>>2]=d[y+16>>0]<<8|d[y+17>>0]<<16;if(((c[(c[E>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[E>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[E>>2]|0)+32>>2]|0)-1&c[(c[E>>2]|0)+32>>2]|0)==0:0){a[w>>0]=a[y+20>>0]|0;z=(c[E>>2]|0)+22|0;b[z>>1]=e[z>>1]|2;z=(kj(y+52|0)|0)!=0;a[(c[E>>2]|0)+17>>0]=z?1:0;z=(kj(y+64|0)|0)!=0;a[(c[E>>2]|0)+18>>0]=z?1:0}else{c[(c[E>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[E>>2]|0)+17>>0]=0;a[(c[E>>2]|0)+18>>0]=0}a[w>>0]=0}c[G>>2]=Ag(c[c[E>>2]>>2]|0,(c[E>>2]|0)+32|0,d[w>>0]|0)|0;if(!(c[G>>2]|0)){c[(c[E>>2]|0)+36>>2]=(c[(c[E>>2]|0)+32>>2]|0)-(d[w>>0]|0);if(a[(c[D>>2]|0)+9>>0]|0){c[(c[E>>2]|0)+64>>2]=1;c[(c[E>>2]|0)+68>>2]=c[504];c[504]=c[E>>2];A=56}else A=56}}}else A=56;while(0);if((A|0)==56){a:do if(a[(c[D>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;A=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[F>>2]=A;if((A|0)!=0?(d[(c[F>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[F>>2]|0)+24>>2]|0))break;c[F>>2]=c[(c[F>>2]|0)+24>>2]}if((c[(c[D>>2]|0)+4>>2]|0)>>>0<(c[(c[F>>2]|0)+4>>2]|0)>>>0){c[(c[D>>2]|0)+20>>2]=c[F>>2];c[(c[D>>2]|0)+24>>2]=0;c[(c[F>>2]|0)+24>>2]=c[D>>2];break}while(1){if(c[(c[F>>2]|0)+20>>2]|0)h=(c[(c[(c[F>>2]|0)+20>>2]|0)+4>>2]|0)>>>0<(c[(c[D>>2]|0)+4>>2]|0)>>>0;else h=0;k=c[(c[F>>2]|0)+20>>2]|0;if(!h)break;c[F>>2]=k}c[(c[D>>2]|0)+20>>2]=k;c[(c[D>>2]|0)+24>>2]=c[F>>2];if(c[(c[D>>2]|0)+20>>2]|0)c[(c[(c[D>>2]|0)+20>>2]|0)+24>>2]=c[D>>2];c[(c[F>>2]|0)+20>>2]=c[D>>2]}while(0);c[c[C>>2]>>2]=c[D>>2]}if(!(c[G>>2]|0)){if(!($i(c[D>>2]|0,0,0)|0))mj(c[c[(c[D>>2]|0)+4>>2]>>2]|0,2e3)}else{if((c[E>>2]|0)!=0?(c[c[E>>2]>>2]|0)!=0:0)lj(c[c[E>>2]>>2]|0)|0;Sb(c[E>>2]|0);Sb(c[D>>2]|0);c[c[C>>2]>>2]=0}c[B>>2]=c[G>>2];G=c[B>>2]|0;i=H;return G|0}function oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=$i(c[g>>2]|0,84,15)|0;else c[h>>2]=gf(0,84,0)|0;if(!(c[h>>2]|0)){a[(c[f>>2]|0)+64>>0]=1;e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}jh((c[h>>2]|0)+8|0);jh((c[h>>2]|0)+24|0);jh((c[h>>2]|0)+40|0);jh((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function ph(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=td(c[d>>2]|0,17350,2)|0;if((c[f>>2]|0)!=7){i=e;return}a[(c[d>>2]|0)+64>>0]=1;i=e;return}function qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k;b=k+16|0;e=k+20|0;d=k+24|0;f=k+8|0;h=k+4|0;j=k+12|0;c[b>>2]=a;c[d>>2]=1;if(!(c[231]|0)){i=k;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;if((c[e>>2]|0)>=(c[231]|0)){c[h>>2]=0;c[d>>2]=0}else c[h>>2]=c[(c[232]|0)+(c[e>>2]<<2)>>2];c[j>>2]=0;if((c[h>>2]|0)!=0?(a=lb[c[h>>2]&31](c[b>>2]|0,j,1200)|0,c[f>>2]=a,(a|0)!=0):0){l=c[b>>2]|0;a=c[f>>2]|0;c[g>>2]=c[j>>2];ce(l,a,17311,g);c[d>>2]=0}Sb(c[j>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=k;return}function rh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[g+12>>2]=1;c[f>>2]=rd(c[b>>2]|0,15988,2,1,0,52,0,0)|0;if(!(c[f>>2]|0))c[f>>2]=rd(c[b>>2]|0,15998,1,1,0,53,0,0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;c[f>>2]=bd(c[b>>2]|0,16009,1056,c[d>>2]|0,0)|0}if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[e>>2]=1;c[f>>2]=bd(c[b>>2]|0,16015,1056,c[e>>2]|0,0)|0;f=c[f>>2]|0;i=g;return f|0}function sh(b,e,f){b=b|0;e=e|0;f=f|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;x=i;i=i+1136|0;t=x+584|0;s=x+544|0;r=x+536|0;q=x+528|0;j=x+600|0;y=x+604|0;v=x+616|0;o=x+552|0;p=x;l=x+612|0;u=x+624|0;n=x+588|0;k=x+480|0;m=x+596|0;w=x+592|0;c[j>>2]=b;c[x+608>>2]=e;c[y>>2]=f;c[v>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;BH(p|0,0,480)|0;a[p+20>>0]=lc(c[c[y>>2]>>2]|0)|0;a[p+22>>0]=8+((d[p+20>>0]|0)<<3);c[o+24>>2]=hc(c[(c[y>>2]|0)+4>>2]|0)|0;c[l>>2]=0;while(1){y=c[l>>2]|0;if((y|0)>=(mi((c[o+24>>2]|0)+2|0)|0))break;c[n>>2]=0;ci(p,o,c[l>>2]|0,k);e=512-(c[n>>2]|0)|0;y=u+(c[n>>2]|0)|0;z=k;f=c[z+4>>2]|0;b=q;c[b>>2]=c[z>>2];c[b+4>>2]=f;Yb(e,y,17289,q)|0;c[n>>2]=cH(u)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=((d[p+20>>0]|0)<<1|0))break;y=512-(c[n>>2]|0)|0;z=u+(c[n>>2]|0)|0;h[r>>3]=+g[k+8+(c[m>>2]<<2)>>2];Yb(y,z,17294,r)|0;c[n>>2]=cH(u)|0;c[m>>2]=(c[m>>2]|0)+1}if(c[v>>2]|0){c[s>>2]=c[v>>2];c[s+4>>2]=u;c[w>>2]=Wb(17298,s)|0;Sb(c[v>>2]|0);c[v>>2]=c[w>>2]}else{c[t>>2]=u;c[v>>2]=Wb(17306,t)|0}c[l>>2]=(c[l>>2]|0)+1}vc(c[j>>2]|0,c[v>>2]|0,-1,13);i=x;return}function th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+4|0;g=h;c[e>>2]=a;c[h+8>>2]=b;c[f>>2]=d;if((nc(c[c[f>>2]>>2]|0)|0)==4?(jc(c[c[f>>2]>>2]|0)|0)>=2:0){c[g>>2]=hc(c[c[f>>2]>>2]|0)|0;b=c[e>>2]|0;sc(b,mi(c[g>>2]|0)|0);i=h;return}rc(c[e>>2]|0,17256,-1);i=h;return}function uh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Vi(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,1)|0;i=h;return g|0}function vh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Vi(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,0)|0;i=h;return g|0}function wh(b,e){b=b|0;e=e|0;var f=0,g=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;u=i;i=i+96|0;r=u+8|0;f=u+16|0;v=u+32|0;g=u+28|0;p=u+36|0;q=u+40|0;k=u+44|0;m=u;j=u+20|0;s=u+49|0;o=u+12|0;l=u+24|0;n=u+48|0;c[v>>2]=b;c[g>>2]=e;c[p>>2]=c[v>>2];c[q>>2]=0;c[j>>2]=0;b=s;e=b+41|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[c[g>>2]>>2]|0)?(c[j>>2]|0)<40:0))break;c[o>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*12|0);if(((d[(c[o>>2]|0)+5>>0]|0|0)!=0?(c[c[o>>2]>>2]|0)==0:0)?(d[(c[o>>2]|0)+4>>0]|0|0)==2:0){t=6;break}do if(d[(c[o>>2]|0)+5>>0]|0){if((c[c[o>>2]>>2]|0)<=0?(d[(c[o>>2]|0)+4>>0]|0|0)!=64:0)break;switch(d[(c[o>>2]|0)+4>>0]|0|0){case 2:{a[n>>0]=65;break}case 4:{a[n>>0]=69;break}case 8:{a[n>>0]=66;break}case 16:{a[n>>0]=67;break}case 32:{a[n>>0]=68;break}default:a[n>>0]=70}v=a[n>>0]|0;b=c[j>>2]|0;c[j>>2]=b+1;a[s+b>>0]=v;b=(c[c[o>>2]>>2]|0)-1+48&255;v=c[j>>2]|0;c[j>>2]=v+1;a[s+v>>0]=b;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=(c[j>>2]|0)/2|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<3)+4>>0]=1}while(0);c[k>>2]=(c[k>>2]|0)+1}if((t|0)==6){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[l>>2]<<3)+4>>0]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[l>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=30.0;Ui(c[g>>2]|0,1,0);c[f>>2]=0;v=c[f>>2]|0;i=u;return v|0}c[(c[g>>2]|0)+20>>2]=2;c[(c[g>>2]|0)+28>>2]=1;if((c[j>>2]|0)>0?(c[r>>2]=s,v=Wb(14418,r)|0,c[(c[g>>2]|0)+24>>2]=v,0==(v|0)):0){c[f>>2]=7;v=c[f>>2]|0;i=u;return v|0}v=(c[p>>2]|0)+40|0;t=(c[j>>2]|0)+1|0;t=KH(c[v>>2]|0,c[v+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;v=m;c[v>>2]=t;c[v+4>>2]=C;v=m;h[(c[g>>2]|0)+40>>3]=(+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0))*6.0;v=m;Ui(c[g>>2]|0,c[v>>2]|0,c[v+4>>2]|0);c[f>>2]=c[q>>2];v=c[f>>2]|0;i=u;return v|0}function xh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qh(c[d>>2]|0);i=b;return 0}function yh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+48|0;g=f;l=f+36|0;b=f+32|0;d=f+28|0;e=f+24|0;c[l>>2]=a;c[b>>2]=c[l>>2];l=c[(c[b>>2]|0)+32>>2]|0;k=c[(c[b>>2]|0)+28>>2]|0;j=c[(c[b>>2]|0)+32>>2]|0;h=c[(c[b>>2]|0)+28>>2]|0;a=c[(c[b>>2]|0)+32>>2]|0;c[g>>2]=c[(c[b>>2]|0)+28>>2];c[g+4>>2]=l;c[g+8>>2]=k;c[g+12>>2]=j;c[g+16>>2]=h;c[g+20>>2]=a;c[e>>2]=Wb(16170,g)|0;if(c[e>>2]|0){c[d>>2]=Zc(c[(c[b>>2]|0)+12>>2]|0,c[e>>2]|0,0,0,0)|0;Sb(c[e>>2]|0)}else c[d>>2]=7;if(c[d>>2]|0){l=c[d>>2]|0;i=f;return l|0}Qh(c[b>>2]|0);l=c[d>>2]|0;i=f;return l|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=7;c[f>>2]=Rb(248)|0;if(c[f>>2]|0){BH(c[f>>2]|0,0,248)|0;c[c[f>>2]>>2]=c[d>>2];c[g>>2]=0}c[c[e>>2]>>2]=c[f>>2];i=h;return c[g>>2]|0}function Ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f+8|0;b=f+4|0;d=f;c[g>>2]=a;c[e>>2]=c[c[g>>2]>>2];c[d>>2]=c[g>>2];Si(c[d>>2]|0);Sb(c[(c[d>>2]|0)+32>>2]|0);c[b>>2]=0;while(1){if((c[b>>2]|0)>=5)break;Ph(c[e>>2]|0,c[(c[d>>2]|0)+64+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Sb(c[d>>2]|0);i=f;return 0}function Bh(b,e,f,g,j){b=b|0;e=e|0;f=f|0;g=g|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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0.0;A=i;i=i+80|0;v=A+40|0;D=A+36|0;B=A+52|0;k=A+68|0;l=A+16|0;m=A+32|0;y=A+28|0;w=A+56|0;x=A+72|0;q=A+76|0;z=A+44|0;n=A+24|0;t=A+20|0;r=A+48|0;p=A;o=A+8|0;s=A+60|0;u=A+64|0;c[D>>2]=b;c[B>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=j;c[y>>2]=c[c[D>>2]>>2];c[w>>2]=c[D>>2];c[x>>2]=0;c[z>>2]=0;c[n>>2]=0;Ih(c[y>>2]|0);Si(c[w>>2]|0);Sb(c[(c[w>>2]|0)+32>>2]|0);BH(c[w>>2]|0,0,248)|0;c[c[w>>2]>>2]=c[y>>2];c[(c[w>>2]|0)+8>>2]=c[B>>2];do if((c[B>>2]|0)==1){D=mc(c[c[m>>2]>>2]|0)|0;g=p;c[g>>2]=D;c[g+4>>2]=C;g=o;c[g>>2]=0;c[g+4>>2]=0;g=p;c[z>>2]=Ai(c[y>>2]|0,c[g>>2]|0,c[g+4>>2]|0,t,o)|0;g=c[w>>2]|0;if((c[z>>2]|0)==0&(c[t>>2]|0)!=0){c[r>>2]=Oi(g,0.0,0)|0;c[(c[w>>2]|0)+64>>2]=c[t>>2];w=o;B=c[w+4>>2]|0;D=(c[r>>2]|0)+8|0;c[D>>2]=c[w>>2];c[D+4>>2]=B;a[(c[r>>2]|0)+17>>0]=1;D=p;c[z>>2]=li(c[y>>2]|0,c[t>>2]|0,c[D>>2]|0,c[D+4>>2]|0,n)|0;a[(c[r>>2]|0)+18>>0]=c[n>>2];break}else{a[g+4>>0]=1;break}}else{c[z>>2]=yi(c[y>>2]|0,1,0,0,x)|0;a:do if((c[z>>2]|0)==0&(c[l>>2]|0)>0){D=Rb((c[l>>2]|0)*24|0)|0;c[(c[w>>2]|0)+16>>2]=D;c[(c[w>>2]|0)+12>>2]=c[l>>2];if(!(c[(c[w>>2]|0)+16>>2]|0)){c[z>>2]=7;break}BH(c[(c[w>>2]|0)+16>>2]|0,0,(c[l>>2]|0)*24|0)|0;BH((c[w>>2]|0)+84|0,0,(c[(c[y>>2]|0)+24>>2]|0)+1<<2|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break a;c[s>>2]=(c[(c[w>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);c[(c[s>>2]|0)+4>>2]=a[(c[k>>2]|0)+(c[q>>2]<<1)>>0];c[c[s>>2]>>2]=(a[(c[k>>2]|0)+((c[q>>2]<<1)+1)>>0]|0)-48;g=c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0;if((c[(c[s>>2]|0)+4>>2]|0)>=70){c[z>>2]=Ti(g,c[s>>2]|0)|0;if(c[z>>2]|0)break a;c[(c[(c[s>>2]|0)+16>>2]|0)+28>>2]=d[(c[y>>2]|0)+20>>0]<<1;c[(c[(c[s>>2]|0)+16>>2]|0)+24>>2]=(c[w>>2]|0)+84;c[(c[(c[s>>2]|0)+16>>2]|0)+36>>2]=(c[(c[y>>2]|0)+24>>2]|0)+1}else{E=+kc(g);h[(c[s>>2]|0)+8>>3]=E}c[q>>2]=(c[q>>2]|0)+1}}while(0);if(!(c[z>>2]|0)){c[u>>2]=Oi(c[w>>2]|0,0.0,(c[(c[y>>2]|0)+24>>2]|0)+1&255)|0;if(c[u>>2]|0){D=(c[u>>2]|0)+8|0;c[D>>2]=1;c[D+4>>2]=0;a[(c[u>>2]|0)+18>>0]=0;a[(c[u>>2]|0)+17>>0]=1;c[(c[w>>2]|0)+64>>2]=c[x>>2];c[x>>2]=0;c[z>>2]=Ki(c[w>>2]|0)|0;break}c[v>>2]=7;D=c[v>>2]|0;i=A;return D|0}}while(0);Ph(c[y>>2]|0,c[x>>2]|0)|0;Qh(c[y>>2]|0);c[v>>2]=c[z>>2];D=c[v>>2]|0;i=A;return D|0}function Ch(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=0;Ji(c[e>>2]|0);c[b>>2]=Ki(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function Dh(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;b=e;c[f>>2]=a;c[b>>2]=c[f>>2];i=e;return d[(c[b>>2]|0)+4>>0]|0|0}function Eh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;m=p;r=p+16|0;f=p+28|0;h=p+4|0;o=p+32|0;q=p+36|0;j=p+12|0;n=p+24|0;l=p+20|0;k=p+8|0;c[r>>2]=a;c[f>>2]=b;c[h>>2]=e;c[o>>2]=c[c[r>>2]>>2];c[q>>2]=c[r>>2];c[j>>2]=Gi(c[q>>2]|0)|0;c[l>>2]=0;c[k>>2]=Hi(c[q>>2]|0,l)|0;if(c[l>>2]|0){c[m>>2]=c[l>>2];r=c[m>>2]|0;i=p;return r|0}if(!(c[j>>2]|0)){c[m>>2]=0;r=c[m>>2]|0;i=p;return r|0}do if(c[h>>2]|0){if(c[l>>2]|0){c[m>>2]=c[l>>2];r=c[m>>2]|0;i=p;return r|0}Ii(c[o>>2]|0,c[k>>2]|0,d[(c[j>>2]|0)+18>>0]|0,(c[h>>2]|0)-1|0,n);f=c[f>>2]|0;if(!(d[(c[o>>2]|0)+21>>0]|0)){qc(f,+g[n>>2]);break}else{sc(f,c[n>>2]|0);break}}else{q=c[f>>2]|0;r=ii(c[o>>2]|0,c[k>>2]|0,d[(c[j>>2]|0)+18>>0]|0)|0;tc(q,r,C)}while(0);c[m>>2]=0;r=c[m>>2]|0;i=p;return r|0}function Fh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=Gi(c[g>>2]|0)|0;c[j>>2]=0;c[h>>2]=Hi(c[g>>2]|0,j)|0;if(!((c[j>>2]|0)==0&(c[f>>2]|0)!=0)){l=c[j>>2]|0;i=k;return l|0}a=ii(c[c[g>>2]>>2]|0,c[h>>2]|0,d[(c[f>>2]|0)+18>>0]|0)|0;l=c[e>>2]|0;c[l>>2]=a;c[l+4>>2]=C;l=c[j>>2]|0;i=k;return l|0}function Gh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|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.0;u=i;i=i+96|0;v=u+72|0;h=u+60|0;j=u+80|0;k=u+52|0;p=u+76|0;q=u+84|0;m=u;l=u+68|0;n=u+48|0;s=u+64|0;o=u+56|0;r=u+88|0;c[v>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=c[v>>2];c[q>>2]=0;c[l>>2]=0;Ih(c[p>>2]|0);if((c[h>>2]|0)>1){v=(d[(c[p>>2]|0)+21>>0]|0|0)==0;c[n>>2]=0;a:do if(v){while(1){if((c[n>>2]|0)>=((d[(c[p>>2]|0)+20>>0]|0)<<1|0))break a;w=+Jh(c[(c[j>>2]|0)+((c[n>>2]|0)+3<<2)>>2]|0);g[m+8+(c[n>>2]<<2)>>2]=w;w=+Kh(c[(c[j>>2]|0)+((c[n>>2]|0)+4<<2)>>2]|0);g[m+8+((c[n>>2]|0)+1<<2)>>2]=w;if(+g[m+8+(c[n>>2]<<2)>>2]>+g[m+8+((c[n>>2]|0)+1<<2)>>2])break;c[n>>2]=(c[n>>2]|0)+2}c[q>>2]=19;v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}else{while(1){if((c[n>>2]|0)>=((d[(c[p>>2]|0)+20>>0]|0)<<1|0))break a;v=lc(c[(c[j>>2]|0)+((c[n>>2]|0)+3<<2)>>2]|0)|0;c[m+8+(c[n>>2]<<2)>>2]=v;v=lc(c[(c[j>>2]|0)+((c[n>>2]|0)+4<<2)>>2]|0)|0;c[m+8+((c[n>>2]|0)+1<<2)>>2]=v;if((c[m+8+(c[n>>2]<<2)>>2]|0)>(c[m+8+((c[n>>2]|0)+1<<2)>>2]|0))break;c[n>>2]=(c[n>>2]|0)+2}c[q>>2]=19;v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}while(0);if((nc(c[(c[j>>2]|0)+8>>2]|0)|0)!=5){a=mc(c[(c[j>>2]|0)+8>>2]|0)|0;v=m;c[v>>2]=a;c[v+4>>2]=C;if(!((nc(c[c[j>>2]>>2]|0)|0)!=5?(a=mc(c[c[j>>2]>>2]|0)|0,v=m,!((a|0)!=(c[v>>2]|0)?1:(C|0)!=(c[v+4>>2]|0))):0))t=14;do if((t|0)==14?(v=m,Tc(c[(c[p>>2]|0)+68>>2]|0,1,c[v>>2]|0,c[v+4>>2]|0)|0,c[s>>2]=Cc(c[(c[p>>2]|0)+68>>2]|0)|0,c[q>>2]=fc(c[(c[p>>2]|0)+68>>2]|0)|0,100==(c[s>>2]|0)):0){if((dd(c[(c[p>>2]|0)+12>>2]|0)|0)==5){v=m;c[q>>2]=Lh(c[p>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;break}c[q>>2]=19;v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}while(0);c[l>>2]=1}}if((nc(c[c[j>>2]>>2]|0)|0)!=5){t=c[p>>2]|0;v=mc(c[c[j>>2]>>2]|0)|0;c[q>>2]=Lh(t,v,C)|0}if(!((c[q>>2]|0)==0&(c[h>>2]|0)>1)){v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}c[o>>2]=0;if(!(c[l>>2]|0))c[q>>2]=Mh(c[p>>2]|0,m)|0;s=m;t=c[s+4>>2]|0;v=c[k>>2]|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;if(!(c[q>>2]|0))c[q>>2]=Nh(c[p>>2]|0,m,0,o)|0;if(c[q>>2]|0){v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}c[(c[p>>2]|0)+52>>2]=-1;c[q>>2]=Oh(c[p>>2]|0,c[o>>2]|0,m,0)|0;c[r>>2]=Ph(c[p>>2]|0,c[o>>2]|0)|0;if(c[q>>2]|0){v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}c[q>>2]=c[r>>2];v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}function Hh(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;g=i;i=i+64|0;h=g;o=g+52|0;p=g+48|0;d=g+44|0;e=g+40|0;f=g+36|0;c[o>>2]=a;c[p>>2]=b;c[d>>2]=c[o>>2];c[e>>2]=7;o=c[(c[d>>2]|0)+32>>2]|0;n=c[p>>2]|0;m=c[(c[d>>2]|0)+28>>2]|0;l=c[(c[d>>2]|0)+32>>2]|0;k=c[p>>2]|0;j=c[(c[d>>2]|0)+28>>2]|0;a=c[(c[d>>2]|0)+32>>2]|0;b=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+28>>2];c[h+4>>2]=o;c[h+8>>2]=n;c[h+12>>2]=m;c[h+16>>2]=l;c[h+20>>2]=k;c[h+24>>2]=j;c[h+28>>2]=a;c[h+32>>2]=b;c[f>>2]=Wb(16025,h)|0;if(!(c[f>>2]|0)){p=c[e>>2]|0;i=g;return p|0}c[e>>2]=Zc(c[(c[d>>2]|0)+12>>2]|0,c[f>>2]|0,0,0,0)|0;Sb(c[f>>2]|0);p=c[e>>2]|0;i=g;return p|0}function Ih(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+36|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,j=0.0;e=i;i=i+16|0;f=e+12|0;b=e;d=e+8|0;c[f>>2]=a;h[b>>3]=+kc(c[f>>2]|0);g[d>>2]=+h[b>>3];if(!(+g[d>>2]>+h[b>>3])){j=+g[d>>2];i=e;return +j}g[d>>2]=+h[b>>3]*(+h[b>>3]<0.0?1.0000001192092896:.9999998807907104);j=+g[d>>2];i=e;return +j}function Kh(a){a=a|0;var b=0,d=0,e=0,f=0,j=0.0;e=i;i=i+16|0;f=e+12|0;b=e;d=e+8|0;c[f>>2]=a;h[b>>3]=+kc(c[f>>2]|0);g[d>>2]=+h[b>>3];if(!(+g[d>>2]<+h[b>>3])){j=+g[d>>2];i=e;return +j}g[d>>2]=+h[b>>3]*(+h[b>>3]<0.0?.9999998807907104:1.0000001192092896);j=+g[d>>2];i=e;return +j}function Lh(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,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;l=p+16|0;e=p;o=p+20|0;m=p+32|0;f=p+28|0;n=p+44|0;j=p+24|0;k=p+36|0;h=p+40|0;g=p+8|0;c[l>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;c[m>>2]=0;c[o>>2]=yi(c[l>>2]|0,1,0,0,n)|0;if(!(c[o>>2]|0)){a=e;c[o>>2]=Ai(c[l>>2]|0,c[a>>2]|0,c[a+4>>2]|0,m,0)|0}if(!(c[o>>2]|0)){a=e;c[o>>2]=li(c[l>>2]|0,c[m>>2]|0,c[a>>2]|0,c[a+4>>2]|0,f)|0;if(!(c[o>>2]|0))c[o>>2]=Bi(c[l>>2]|0,c[m>>2]|0,c[f>>2]|0,0)|0;c[j>>2]=Ph(c[l>>2]|0,c[m>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=c[j>>2]}if(!(c[o>>2]|0)){j=e;Tc(c[(c[l>>2]|0)+76>>2]|0,1,c[j>>2]|0,c[j+4>>2]|0)|0;Cc(c[(c[l>>2]|0)+76>>2]|0)|0;c[o>>2]=fc(c[(c[l>>2]|0)+76>>2]|0)|0}if(((c[o>>2]|0)==0?(c[(c[l>>2]|0)+24>>2]|0)>0:0)?(mi((c[(c[n>>2]|0)+24>>2]|0)+2|0)|0)==1:0){a=ii(c[l>>2]|0,c[n>>2]|0,0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;j=g;c[o>>2]=yi(c[l>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[n>>2]|0,h)|0;if(!(c[o>>2]|0))c[o>>2]=Ci(c[l>>2]|0,c[h>>2]|0,(c[(c[l>>2]|0)+24>>2]|0)-1|0)|0;c[k>>2]=Ph(c[l>>2]|0,c[h>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=c[k>>2];if(!(c[o>>2]|0)){k=(c[l>>2]|0)+24|0;c[k>>2]=(c[k>>2]|0)+-1;ri(c[(c[n>>2]|0)+24>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=1}}c[m>>2]=c[(c[l>>2]|0)+48>>2];while(1){b=(c[o>>2]|0)==0;if(!(c[m>>2]|0))break;if(b)c[o>>2]=Di(c[l>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+48>>2]=c[(c[m>>2]|0)+28>>2];Sb(c[m>>2]|0);c[m>>2]=c[(c[l>>2]|0)+48>>2]}d=Ph(c[l>>2]|0,c[n>>2]|0)|0;if(!b){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=d;o=c[o>>2]|0;i=p;return o|0}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;Uc(c[(c[g>>2]|0)+72>>2]|0,1)|0;Uc(c[(c[g>>2]|0)+72>>2]|0,2)|0;Cc(c[(c[g>>2]|0)+72>>2]|0)|0;c[d>>2]=fc(c[(c[g>>2]|0)+72>>2]|0)|0;a=kd(c[(c[g>>2]|0)+12>>2]|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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;A=i;i=i+144|0;f=A+104|0;g=A+116|0;j=A+92|0;k=A+132|0;y=A+120|0;u=A+124|0;x=A+100|0;t=A+88|0;s=A+72|0;q=A+80|0;p=A;v=A+128|0;o=A+8|0;w=A+112|0;l=A+108|0;n=A+96|0;r=A+56|0;m=A+64|0;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;c[y>>2]=yi(c[f>>2]|0,1,0,0,x)|0;c[u>>2]=0;while(1){if(c[y>>2]|0){z=15;break}if((c[u>>2]|0)>=((c[(c[f>>2]|0)+24>>2]|0)-(c[j>>2]|0)|0)){z=15;break}e=s;c[e>>2]=0;c[e+4>>2]=0;h[q>>3]=0.0;h[p>>3]=0.0;c[v>>2]=mi((c[(c[x>>2]|0)+24>>2]|0)+2|0)|0;c[l>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0))break;c[n>>2]=0;ci(c[f>>2]|0,c[x>>2]|0,c[t>>2]|0,o);h[r>>3]=+zi(c[f>>2]|0,o,c[g>>2]|0);h[m>>3]=+xi(c[f>>2]|0,o);if((c[t>>2]|0)!=0?!(+h[r>>3]<+h[q>>3]):0){if(+h[r>>3]==+h[q>>3]?+h[m>>3]<+h[p>>3]:0)z=10}else z=10;if((z|0)==10){z=0;c[n>>2]=1}if(c[n>>2]|0){h[q>>3]=+h[r>>3];h[p>>3]=+h[m>>3];b=o;a=c[b+4>>2]|0;e=s;c[e>>2]=c[b>>2];c[e+4>>2]=a}c[t>>2]=(c[t>>2]|0)+1}Sb(c[l>>2]|0);e=s;c[y>>2]=yi(c[f>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[x>>2]|0,w)|0;Ph(c[f>>2]|0,c[x>>2]|0)|0;c[x>>2]=c[w>>2];c[u>>2]=(c[u>>2]|0)+1}if((z|0)==15){c[c[k>>2]>>2]=c[x>>2];i=A;return c[y>>2]|0}return 0}function Oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;j=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;f=m;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=0;if((c[k>>2]|0)>0?(a=c[h>>2]|0,c[f>>2]=Vh(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,(c[f>>2]|0)!=0):0){Ph(c[g>>2]|0,c[c[f>>2]>>2]|0)|0;Wh(c[j>>2]|0);c[c[f>>2]>>2]=c[j>>2]}if(Xh(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0){if((c[k>>2]|0)>(c[(c[g>>2]|0)+52>>2]|0)?(a=(c[j>>2]|0)+8|0,!((c[a>>2]|0)==1&(c[a+4>>2]|0)==0)):0){c[(c[g>>2]|0)+52>>2]=c[k>>2];c[l>>2]=Zh(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Yh(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}c[l>>2]=_h(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}g=c[g>>2]|0;e=c[h>>2]|0;d=c[e>>2]|0;e=c[e+4>>2]|0;f=(c[j>>2]|0)+8|0;b=c[f>>2]|0;f=c[f+4>>2]|0;if(!(c[k>>2]|0)){c[l>>2]=$h(g,d,e,b,f)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=ai(g,d,e,b,f)|0;l=c[l>>2]|0;i=m;return l|0}return 0}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[e>>2]|0)+16>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+8|0;if((c[a>>2]|0)==1&(c[a+4>>2]|0)==0)c[(c[d>>2]|0)+24>>2]=-1;if(c[c[e>>2]>>2]|0)c[f>>2]=Ph(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=Rh(c[d>>2]|0,c[e>>2]|0)|0;Sh(c[d>>2]|0,c[e>>2]|0);Sb(c[e>>2]|0);f=c[f>>2]|0;i=g;return f|0}function Qh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=(c[b>>2]|0)+36|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+36>>2]|0){i=d;return}ec(c[(c[b>>2]|0)+56>>2]|0)|0;ec(c[(c[b>>2]|0)+60>>2]|0)|0;ec(c[(c[b>>2]|0)+64>>2]|0)|0;ec(c[(c[b>>2]|0)+68>>2]|0)|0;ec(c[(c[b>>2]|0)+72>>2]|0)|0;ec(c[(c[b>>2]|0)+76>>2]|0)|0;ec(c[(c[b>>2]|0)+80>>2]|0)|0;ec(c[(c[b>>2]|0)+84>>2]|0)|0;ec(c[(c[b>>2]|0)+88>>2]|0)|0;Sb(c[b>>2]|0);i=d;return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;if(!(c[(c[e>>2]|0)+20>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[f>>2]=c[(c[d>>2]|0)+60>>2];a=(c[e>>2]|0)+8|0;b=c[f>>2]|0;if((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0){a=(c[e>>2]|0)+8|0;Tc(b,1,c[a>>2]|0,c[a+4>>2]|0)|0}else Uc(b,1)|0;Qc(c[f>>2]|0,2,c[(c[e>>2]|0)+24>>2]|0,c[(c[d>>2]|0)+16>>2]|0,0)|0;Cc(c[f>>2]|0)|0;c[(c[e>>2]|0)+20>>2]=0;c[g>>2]=fc(c[f>>2]|0)|0;f=(c[e>>2]|0)+8|0;if(!((c[f>>2]|0)==0&(c[f+4>>2]|0)==0&(c[g>>2]|0)==0)){g=c[g>>2]|0;i=h;return g|0}a=kd(c[(c[d>>2]|0)+12>>2]|0)|0;f=(c[e>>2]|0)+8|0;c[f>>2]=a;c[f+4>>2]=C;Uh(c[d>>2]|0,c[e>>2]|0);g=c[g>>2]|0;i=h;return g|0}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;a=(c[e>>2]|0)+8|0;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){i=g;return}a=(c[e>>2]|0)+8|0;a=Th(c[a>>2]|0,c[a+4>>2]|0)|0;c[f>>2]=(c[d>>2]|0)+92+(a<<2);while(1){if((c[c[f>>2]>>2]|0)==(c[e>>2]|0))break;c[f>>2]=(c[c[f>>2]>>2]|0)+28}c[c[f>>2]>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=0;i=g;return}function Th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=e;b=LH(c[b>>2]|0,c[b+4>>2]|0,97,0)|0;i=d;return b|0}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;a=(c[g>>2]|0)+8|0;c[e>>2]=Th(c[a>>2]|0,c[a+4>>2]|0)|0;c[(c[g>>2]|0)+28>>2]=c[(c[f>>2]|0)+92+(c[e>>2]<<2)>>2];c[(c[f>>2]|0)+92+(c[e>>2]<<2)>>2]=c[g>>2];i=d;return}function Vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;a=Th(c[a>>2]|0,c[a+4>>2]|0)|0;c[f>>2]=c[(c[h>>2]|0)+92+(a<<2)>>2];while(1){if(!(c[f>>2]|0)){b=5;break}a=(c[f>>2]|0)+8|0;h=e;if(!((c[a>>2]|0)!=(c[h>>2]|0)?1:(c[a+4>>2]|0)!=(c[h+4>>2]|0))){b=5;break}c[f>>2]=c[(c[f>>2]|0)+28>>2]}if((b|0)==5){i=g;return c[f>>2]|0}return 0}function Wh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=(c[b>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function Xh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=((c[(c[f>>2]|0)+16>>2]|0)-4|0)/(d[(c[f>>2]|0)+22>>0]|0|0)|0;c[j>>2]=mi((c[(c[g>>2]|0)+24>>2]|0)+2|0)|0;if((c[j>>2]|0)>=(c[k>>2]|0)){b=c[j>>2]|0;a=c[k>>2]|0;a=(b|0)==(a|0);a=a&1;i=l;return a|0}fi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);ri((c[(c[g>>2]|0)+24>>2]|0)+2|0,(c[j>>2]|0)+1|0)|0;c[(c[g>>2]|0)+20>>2]=1;b=c[j>>2]|0;a=c[k>>2]|0;a=(b|0)==(a|0);a=a&1;i=l;return a|0}function Yh(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+176|0;g=y+152|0;h=y+156|0;j=y+116|0;k=y+136|0;m=y+112|0;s=y+148|0;w=y+132|0;r=y+128|0;l=y+144|0;f=y+164|0;t=y+160|0;v=y+120|0;q=y+56|0;x=y;u=y+124|0;n=y+140|0;o=y+48|0;p=y+104|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[s>>2]=0;c[w>>2]=0;c[r>>2]=mi((c[(c[h>>2]|0)+24>>2]|0)+2|0)|0;c[t>>2]=0;c[v>>2]=0;c[l>>2]=Rb(((c[r>>2]|0)+1|0)*52|0)|0;a:do if(c[l>>2]|0){c[f>>2]=(c[l>>2]|0)+(((c[r>>2]|0)+1|0)*48|0);BH(c[f>>2]|0,0,(c[r>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){d=c[g>>2]|0;e=c[h>>2]|0;if((c[m>>2]|0)>=(c[r>>2]|0))break;ci(d,e,c[m>>2]|0,(c[l>>2]|0)+((c[m>>2]|0)*48|0)|0);c[m>>2]=(c[m>>2]|0)+1}oi(d,e);e=(c[l>>2]|0)+((c[r>>2]|0)*48|0)|0;d=c[j>>2]|0;f=e+48|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(f|0));c[r>>2]=(c[r>>2]|0)+1;a=(c[h>>2]|0)+8|0;if((c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[v>>2]=qi(c[g>>2]|0,c[h>>2]|0)|0;c[t>>2]=qi(c[g>>2]|0,c[h>>2]|0)|0;a=(c[g>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[h>>2]|0)+20>>2]=1;ri(c[(c[h>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0}else{c[t>>2]=c[h>>2];c[v>>2]=qi(c[g>>2]|0,c[c[t>>2]>>2]|0)|0;Wh(c[t>>2]|0)}if(!((c[t>>2]|0)!=0&(c[v>>2]|0)!=0)){c[w>>2]=7;break}BH(c[(c[t>>2]|0)+24>>2]|0,0,c[(c[g>>2]|0)+16>>2]|0)|0;BH(c[(c[v>>2]|0)+24>>2]|0,0,c[(c[g>>2]|0)+16>>2]|0)|0;c[w>>2]=si(c[g>>2]|0,c[l>>2]|0,c[r>>2]|0,c[t>>2]|0,c[v>>2]|0,q,x)|0;if((c[w>>2]|0)==0?(r=Rh(c[g>>2]|0,c[v>>2]|0)|0,c[w>>2]=r,0==(r|0)):0){r=(c[t>>2]|0)+8|0;if((0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0)?(r=Rh(c[g>>2]|0,c[t>>2]|0)|0,c[w>>2]=r,0!=(r|0)):0)break;r=(c[v>>2]|0)+8|0;a=c[r+4>>2]|0;b=x;c[b>>2]=c[r>>2];c[b+4>>2]=a;b=(c[t>>2]|0)+8|0;a=c[b+4>>2]|0;r=q;c[r>>2]=c[b>>2];c[r+4>>2]=a;r=(c[h>>2]|0)+8|0;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[w>>2]=Oh(c[g>>2]|0,c[c[t>>2]>>2]|0,q,(c[k>>2]|0)+1|0)|0;if(c[w>>2]|0)break}else{c[u>>2]=c[c[t>>2]>>2];c[w>>2]=bi(c[g>>2]|0,c[t>>2]|0,n)|0;if(!(c[w>>2]|0)){fi(c[g>>2]|0,c[u>>2]|0,q,c[n>>2]|0);c[w>>2]=_h(c[g>>2]|0,c[u>>2]|0,q)|0}if(c[w>>2]|0)break}x=Oh(c[g>>2]|0,c[c[v>>2]>>2]|0,x,(c[k>>2]|0)+1|0)|0;c[w>>2]=x;if(!x){c[m>>2]=0;while(1){x=c[m>>2]|0;if((x|0)>=(mi((c[(c[v>>2]|0)+24>>2]|0)+2|0)|0))break;x=ii(c[g>>2]|0,c[v>>2]|0,c[m>>2]|0)|0;u=o;c[u>>2]=x;c[u+4>>2]=C;u=o;c[w>>2]=ti(c[g>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[k>>2]|0)|0;u=o;x=c[j>>2]|0;if((c[u>>2]|0)==(c[x>>2]|0)?(c[u+4>>2]|0)==(c[x+4>>2]|0):0)c[s>>2]=1;if(c[w>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}x=(c[h>>2]|0)+8|0;b:do if(!((c[x>>2]|0)==1&(c[x+4>>2]|0)==0)){if(!(c[s>>2]|0)){x=c[j>>2]|0;c[w>>2]=ti(c[g>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[t>>2]|0,c[k>>2]|0)|0}}else{c[m>>2]=0;while(1){x=c[m>>2]|0;if((x|0)>=(mi((c[(c[t>>2]|0)+24>>2]|0)+2|0)|0))break b;u=ii(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;x=p;c[x>>2]=u;c[x+4>>2]=C;x=p;c[w>>2]=ti(c[g>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[t>>2]|0,c[k>>2]|0)|0;if(c[w>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}}while(0);if(!(c[w>>2]|0)){c[w>>2]=Ph(c[g>>2]|0,c[v>>2]|0)|0;c[v>>2]=0}if(!(c[w>>2]|0)){c[w>>2]=Ph(c[g>>2]|0,c[t>>2]|0)|0;c[t>>2]=0}}}}else c[w>>2]=7;while(0);Ph(c[g>>2]|0,c[v>>2]|0)|0;Ph(c[g>>2]|0,c[t>>2]|0)|0;Sb(c[l>>2]|0);i=y;return c[w>>2]|0}function Zh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var j=0,k=0.0,l=0.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;F=i;i=i+128|0;r=F+76|0;s=F+84|0;t=F+48|0;u=F+108|0;v=F+72|0;x=F+56|0;o=F+60|0;w=F+68|0;n=F+104|0;z=F+112|0;m=F+8|0;q=F+80|0;y=F+88|0;D=F+92|0;j=F+96|0;p=F;A=F+52|0;C=F+64|0;B=F+100|0;E=F+116|0;c[s>>2]=a;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[D>>2]=0;e=m;b=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(b|0));c[z>>2]=(mi((c[(c[t>>2]|0)+24>>2]|0)+2|0)|0)+1;c[j>>2]=(c[z>>2]|0)+1&-2;c[w>>2]=Rb(c[j>>2]<<6)|0;if(!(c[w>>2]|0)){c[r>>2]=7;E=c[r>>2]|0;i=F;return E|0}c[x>>2]=(c[w>>2]|0)+((c[j>>2]|0)*48|0);c[o>>2]=(c[x>>2]|0)+(c[j>>2]<<2);c[n>>2]=(c[o>>2]|0)+(c[j>>2]<<2);c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;if((c[y>>2]|0)==((c[z>>2]|0)-1|0)){e=(c[w>>2]|0)+((c[y>>2]|0)*48|0)|0;f=c[u>>2]|0;b=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(b|0))}else ci(c[s>>2]|0,c[t>>2]|0,c[y>>2]|0,(c[w>>2]|0)+((c[y>>2]|0)*48|0)|0);c[(c[x>>2]|0)+(c[y>>2]<<2)>>2]=c[y>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[s>>2]|0)+20>>0]|0|0))break;f=(c[w>>2]|0)+((c[y>>2]|0)*48|0)+8+(c[q>>2]<<1<<2)|0;if(!(d[(c[s>>2]|0)+21>>0]|0))k=+g[f>>2];else k=+(c[f>>2]|0);f=m+(c[q>>2]<<3)|0;h[f>>3]=+h[f>>3]+k;f=(c[w>>2]|0)+((c[y>>2]|0)*48|0)+8+((c[q>>2]<<1)+1<<2)|0;if(!(d[(c[s>>2]|0)+21>>0]|0))k=+g[f>>2];else k=+(c[f>>2]|0);f=m+(c[q>>2]<<3)|0;h[f>>3]=+h[f>>3]+k;c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[s>>2]|0)+20>>0]|0|0))break;h[m+(c[q>>2]<<3)>>3]=+h[m+(c[q>>2]<<3)>>3]/(+(c[z>>2]|0)*2.0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;h[(c[n>>2]|0)+(c[y>>2]<<3)>>3]=0.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[s>>2]|0)+20>>0]|0|0))break;f=(c[w>>2]|0)+((c[y>>2]|0)*48|0)+8+((c[q>>2]<<1)+1<<2)|0;if(!(d[(c[s>>2]|0)+21>>0]|0))l=+g[f>>2];else l=+(c[f>>2]|0);f=(c[w>>2]|0)+((c[y>>2]|0)*48|0)+8+(c[q>>2]<<1<<2)|0;if(!(d[(c[s>>2]|0)+21>>0]|0))k=+g[f>>2];else k=+(c[f>>2]|0);h[p>>3]=l-k;f=(c[n>>2]|0)+(c[y>>2]<<3)|0;h[f>>3]=+h[f>>3]+(+h[p>>3]-+h[m+(c[q>>2]<<3)>>3])*(+h[p>>3]-+h[m+(c[q>>2]<<3)>>3]);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}ni(c[x>>2]|0,c[z>>2]|0,c[n>>2]|0,c[o>>2]|0);oi(c[s>>2]|0,c[t>>2]|0);c[y>>2]=0;while(1){if(c[D>>2]|0)break;if((c[y>>2]|0)>=((c[z>>2]|0)-(((((c[(c[s>>2]|0)+16>>2]|0)-4|0)/(d[(c[s>>2]|0)+22>>0]|0|0)|0|0)/3|0)+1)|0))break;c[A>>2]=(c[w>>2]|0)+((c[(c[x>>2]|0)+(c[y>>2]<<2)>>2]|0)*48|0);Xh(c[s>>2]|0,c[t>>2]|0,c[A>>2]|0)|0;o=c[A>>2]|0;p=c[u>>2]|0;do if((c[o>>2]|0)==(c[p>>2]|0)?(c[o+4>>2]|0)==(c[p+4>>2]|0):0){j=c[s>>2]|0;b=c[A>>2]|0;a=c[b>>2]|0;b=c[b+4>>2]|0;f=(c[t>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!(c[v>>2]|0)){c[D>>2]=$h(j,a,b,e,f)|0;break}else{c[D>>2]=ai(j,a,b,e,f)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=pi(c[s>>2]|0,c[t>>2]|0)|0;while(1){if(c[D>>2]|0)break;if((c[y>>2]|0)>=(c[z>>2]|0))break;c[B>>2]=(c[w>>2]|0)+((c[(c[x>>2]|0)+(c[y>>2]<<2)>>2]|0)*48|0);c[D>>2]=Nh(c[s>>2]|0,c[B>>2]|0,c[v>>2]|0,C)|0;if((c[D>>2]|0)==0?(c[D>>2]=Oh(c[s>>2]|0,c[C>>2]|0,c[B>>2]|0,c[v>>2]|0)|0,c[E>>2]=Ph(c[s>>2]|0,c[C>>2]|0)|0,(c[D>>2]|0)==0):0)c[D>>2]=c[E>>2];c[y>>2]=(c[y>>2]|0)+1}Sb(c[w>>2]|0);c[r>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function _h(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,l=0,m=0,n=0;m=i;i=i+80|0;l=m+52|0;e=m+56|0;n=m+64|0;f=m+60|0;j=m+72|0;k=m+48|0;g=m;h=m+68|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[j>>2]=c[n>>2];while(1){if(!(c[c[j>>2]>>2]|0)){e=8;break}c[k>>2]=c[c[j>>2]>>2];if(bi(c[e>>2]|0,c[j>>2]|0,h)|0){e=4;break}ci(c[e>>2]|0,c[k>>2]|0,c[h>>2]|0,g);if(!(di(c[e>>2]|0,g,c[f>>2]|0)|0)){ei(c[e>>2]|0,g,c[f>>2]|0);fi(c[e>>2]|0,c[k>>2]|0,g,c[h>>2]|0)}c[j>>2]=c[k>>2]}if((e|0)==4){c[l>>2]=267;n=c[l>>2]|0;i=m;return n|0}else if((e|0)==8){c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}return 0}function $h(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+32|0;h=g+16|0;k=g+8|0;j=g;c[h>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;a=k;Tc(c[(c[h>>2]|0)+72>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0)|0;a=j;Tc(c[(c[h>>2]|0)+72>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;Cc(c[(c[h>>2]|0)+72>>2]|0)|0;a=fc(c[(c[h>>2]|0)+72>>2]|0)|0;i=g;return a|0}function ai(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+32|0;h=g+16|0;k=g+8|0;j=g;c[h>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;a=k;Tc(c[(c[h>>2]|0)+84>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0)|0;a=j;Tc(c[(c[h>>2]|0)+84>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;Cc(c[(c[h>>2]|0)+84>>2]|0)|0;a=fc(c[(c[h>>2]|0)+84>>2]|0)|0;i=g;return a|0}function bi(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[g>>2]>>2];if(c[j>>2]|0){d=(c[g>>2]|0)+8|0;c[e>>2]=li(c[f>>2]|0,c[j>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[h>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{c[c[h>>2]>>2]=-1;c[e>>2]=0;d=c[e>>2]|0;i=k;return d|0}return 0}function ci(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;m=k+8|0;o=k+16|0;n=k+20|0;l=k+24|0;h=k+4|0;j=k;g=k+12|0;c[m>>2]=a;c[o>>2]=b;c[n>>2]=e;c[l>>2]=f;b=ii(c[m>>2]|0,c[o>>2]|0,c[n>>2]|0)|0;a=c[l>>2]|0;c[a>>2]=b;c[a+4>>2]=C;c[h>>2]=(c[(c[o>>2]|0)+24>>2]|0)+(12+(_(d[(c[m>>2]|0)+22>>0]|0,c[n>>2]|0)|0));c[j>>2]=(c[h>>2]|0)+((d[(c[m>>2]|0)+20>>0]|0)<<3);c[g>>2]=(c[l>>2]|0)+8;while(1){if((c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;ji(c[h>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+4;c[g>>2]=(c[g>>2]|0)+4}i=k;return}function di(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+4|0;f=p+16|0;h=p+8|0;j=p+20|0;m=p+28|0;n=p;k=p+12|0;l=p+24|0;c[f>>2]=a;c[h>>2]=b;c[j>>2]=e;c[n>>2]=(d[(c[f>>2]|0)+21>>0]|0|0)==1&1;c[m>>2]=0;while(1){if((c[m>>2]|0)>=((d[(c[f>>2]|0)+20>>0]|0)<<1|0)){f=11;break}c[k>>2]=(c[h>>2]|0)+8+(c[m>>2]<<2);c[l>>2]=(c[j>>2]|0)+8+(c[m>>2]<<2);if(!(c[n>>2]|0)){if(+g[c[l>>2]>>2]<+g[c[k>>2]>>2]){f=9;break}if(+g[(c[l>>2]|0)+4>>2]>+g[(c[k>>2]|0)+4>>2]){f=9;break}}if(c[n>>2]|0){if((c[c[l>>2]>>2]|0)<(c[c[k>>2]>>2]|0)){f=9;break}if((c[(c[l>>2]|0)+4>>2]|0)>(c[(c[k>>2]|0)+4>>2]|0)){f=9;break}}c[m>>2]=(c[m>>2]|0)+2}if((f|0)==9){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}else if((f|0)==11){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}return 0}function ei(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;a=(d[(c[h>>2]|0)+21>>0]|0|0)==0;c[l>>2]=0;if(a){while(1){if((c[l>>2]|0)>=((d[(c[h>>2]|0)+20>>0]|0)<<1|0))break;b=c[l>>2]|0;if(+g[(c[j>>2]|0)+8+(c[l>>2]<<2)>>2]<+g[(c[k>>2]|0)+8+(c[l>>2]<<2)>>2])f=+g[(c[j>>2]|0)+8+(b<<2)>>2];else f=+g[(c[k>>2]|0)+8+(b<<2)>>2];g[(c[j>>2]|0)+8+(c[l>>2]<<2)>>2]=f;b=(c[l>>2]|0)+1|0;if(+g[(c[j>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]>+g[(c[k>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2])f=+g[(c[j>>2]|0)+8+(b<<2)>>2];else f=+g[(c[k>>2]|0)+8+(b<<2)>>2];g[(c[j>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]=f;c[l>>2]=(c[l>>2]|0)+2}i=m;return}else{while(1){if((c[l>>2]|0)>=((d[(c[h>>2]|0)+20>>0]|0)<<1|0))break;b=c[l>>2]|0;if((c[(c[j>>2]|0)+8+(c[l>>2]<<2)>>2]|0)<(c[(c[k>>2]|0)+8+(c[l>>2]<<2)>>2]|0))b=c[(c[j>>2]|0)+8+(b<<2)>>2]|0;else b=c[(c[k>>2]|0)+8+(b<<2)>>2]|0;c[(c[j>>2]|0)+8+(c[l>>2]<<2)>>2]=b;b=(c[l>>2]|0)+1|0;if((c[(c[j>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]|0)>(c[(c[k>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]|0))b=c[(c[j>>2]|0)+8+(b<<2)>>2]|0;else b=c[(c[k>>2]|0)+8+(b<<2)>>2]|0;c[(c[j>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]=b;c[l>>2]=(c[l>>2]|0)+2}i=m;return}}function fi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[n>>2]=f;a=4+(_(d[(c[g>>2]|0)+22>>0]|0,c[n>>2]|0)|0)|0;c[l>>2]=(c[(c[h>>2]|0)+24>>2]|0)+a;a=c[j>>2]|0;a=gi(c[l>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+a;c[k>>2]=0;while(1){if((c[k>>2]|0)>=((d[(c[g>>2]|0)+20>>0]|0)<<1|0))break;n=hi(c[l>>2]|0,(c[j>>2]|0)+8+(c[k>>2]<<2)|0)|0;c[l>>2]=(c[l>>2]|0)+n;c[k>>2]=(c[k>>2]|0)+1}c[(c[h>>2]|0)+20>>2]=1;i=m;return}function gi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,56)|0;a[c[g>>2]>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,48)|0;a[(c[g>>2]|0)+1>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,40)|0;a[(c[g>>2]|0)+2>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,32)|0;a[(c[g>>2]|0)+3>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,24)|0;a[(c[g>>2]|0)+4>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,16)|0;a[(c[g>>2]|0)+5>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,8)|0;a[(c[g>>2]|0)+6>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,0)|0;a[(c[g>>2]|0)+7>>0]=b;i=f;return 8}function hi(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+8|0;h=e+4|0;g=e;c[f>>2]=b;c[h>>2]=d;c[g>>2]=c[c[h>>2]>>2];a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=(c[g>>2]|0)>>>0;i=e;return 4}function ii(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[g>>2]=b;c[h>>2]=e;a=4+(_(d[(c[j>>2]|0)+22>>0]|0,c[h>>2]|0)|0)|0;a=ki((c[(c[g>>2]|0)+24>>2]|0)+a|0)|0;i=f;return a|0}function ji(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=((d[c[h>>2]>>0]|0)<<24)+((d[(c[h>>2]|0)+1>>0]|0)<<16)+((d[(c[h>>2]|0)+2>>0]|0)<<8)+((d[(c[h>>2]|0)+3>>0]|0)<<0);c[c[f>>2]>>2]=c[g>>2];i=e;return}function ki(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;g=b;c[g>>2]=a;a=CH(d[c[g>>2]>>0]|0|0,0,56)|0;e=C;f=CH(d[(c[g>>2]|0)+1>>0]|0|0,0,48)|0;f=DH(a|0,e|0,f|0,C|0)|0;e=C;a=CH(d[(c[g>>2]|0)+2>>0]|0|0,0,40)|0;a=DH(f|0,e|0,a|0,C|0)|0;a=DH(a|0,C|0,0,d[(c[g>>2]|0)+3>>0]|0|0)|0;e=C;f=CH(d[(c[g>>2]|0)+4>>0]|0|0,0,24)|0;f=DH(a|0,e|0,f|0,C|0)|0;e=C;a=CH(d[(c[g>>2]|0)+5>>0]|0|0,0,16)|0;a=DH(f|0,e|0,a|0,C|0)|0;e=C;f=CH(d[(c[g>>2]|0)+6>>0]|0|0,0,8)|0;f=DH(a|0,e|0,f|0,C|0)|0;e=C;a=CH(d[(c[g>>2]|0)+7>>0]|0|0,0,0)|0;a=DH(f|0,e|0,a|0,C|0)|0;i=b;return a|0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;m=o+28|0;g=o+20|0;h=o+24|0;j=o;n=o+16|0;k=o+12|0;l=o+8|0;c[g>>2]=a;c[h>>2]=b;a=j;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[l>>2]=mi((c[(c[h>>2]|0)+24>>2]|0)+2|0)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){e=6;break}a=ii(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;f=j;d=c[k>>2]|0;if((a|0)==(c[f>>2]|0)?(C|0)==(c[f+4>>2]|0):0){e=4;break}c[k>>2]=d+1}if((e|0)==4){c[c[n>>2]>>2]=d;c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}else if((e|0)==6){c[m>>2]=267;n=c[m>>2]|0;i=o;return n|0}return 0}function mi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return ((d[c[b>>2]>>0]|0)<<8)+(d[(c[b>>2]|0)+1>>0]|0)|0}function ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;j=t+48|0;g=t+20|0;k=t+32|0;f=t+36|0;p=t+44|0;q=t+24|0;r=t+52|0;s=t+16|0;l=t+28|0;m=t+40|0;n=t;o=t+8|0;c[j>>2]=a;c[g>>2]=b;c[k>>2]=d;c[f>>2]=e;if((c[g>>2]|0)<=1){i=t;return}c[p>>2]=0;c[q>>2]=0;c[r>>2]=(c[g>>2]|0)/2|0;c[s>>2]=(c[g>>2]|0)-(c[r>>2]|0);c[l>>2]=c[j>>2];c[m>>2]=(c[j>>2]|0)+(c[r>>2]<<2);ni(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0,c[f>>2]|0);ni(c[m>>2]|0,c[s>>2]|0,c[k>>2]|0,c[f>>2]|0);EH(c[f>>2]|0,c[l>>2]|0,c[r>>2]<<2|0)|0;c[l>>2]=c[f>>2];while(1){if((c[p>>2]|0)>=(c[r>>2]|0)?(c[q>>2]|0)>=(c[s>>2]|0):0)break;f=c[q>>2]|0;if((c[p>>2]|0)==(c[r>>2]|0)){c[(c[j>>2]|0)+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2]=c[(c[m>>2]|0)+(f<<2)>>2];c[q>>2]=(c[q>>2]|0)+1;continue}g=c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0;if((f|0)==(c[s>>2]|0)){c[(c[j>>2]|0)+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2]=g;c[p>>2]=(c[p>>2]|0)+1;continue}h[n>>3]=+h[(c[k>>2]|0)+(g<<3)>>3];h[o>>3]=+h[(c[k>>2]|0)+(c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]<<3)>>3];if(+h[n>>3]<+h[o>>3]){c[(c[j>>2]|0)+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2]=c[(c[l>>2]|0)+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1;continue}else{c[(c[j>>2]|0)+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2]=c[(c[m>>2]|0)+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1;continue}}i=t;return}function oi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;BH((c[(c[e>>2]|0)+24>>2]|0)+2|0,0,(c[(c[f>>2]|0)+16>>2]|0)-2|0)|0;c[(c[e>>2]|0)+20>>2]=1;i=d;return}function pi(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;m=i;i=i+128|0;d=m+112|0;e=m+100|0;k=m+108|0;l=m+104|0;h=m+116|0;j=m+96|0;f=m+48|0;g=m;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[c[e>>2]>>2];c[l>>2]=0;if(!(c[k>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=mi((c[(c[e>>2]|0)+24>>2]|0)+2|0)|0;ci(c[d>>2]|0,c[e>>2]|0,0,f);c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;ci(c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,g);ei(c[d>>2]|0,f,g);c[h>>2]=(c[h>>2]|0)+1}j=(c[e>>2]|0)+8|0;b=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=b;c[l>>2]=bi(c[d>>2]|0,c[e>>2]|0,h)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}fi(c[d>>2]|0,c[k>>2]|0,f,c[h>>2]|0);c[l>>2]=pi(c[d>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=Rb(32+(c[(c[d>>2]|0)+16>>2]|0)|0)|0;if(!(c[f>>2]|0)){a=c[f>>2]|0;i=g;return a|0}BH(c[f>>2]|0,0,32+(c[(c[d>>2]|0)+16>>2]|0)|0)|0;c[(c[f>>2]|0)+24>>2]=(c[f>>2]|0)+32;c[(c[f>>2]|0)+16>>2]=1;c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+20>>2]=1;Wh(c[e>>2]|0);a=c[f>>2]|0;i=g;return a|0}function ri(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=c[g>>2]>>8;a[(c[f>>2]|0)+1>>0]=c[g>>2]>>0;i=e;return 2}function si(a,b,e,f,g,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|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,M=0,N=0,O=0,P=0,Q=0.0;P=i;i=i+240|0;o=P+220|0;p=P+192|0;q=P+172|0;r=P+164|0;s=P+160|0;t=P+180|0;u=P+212|0;v=P+208|0;w=P+176|0;m=P+196|0;E=P+148|0;B=P+204|0;D=P+156|0;z=P+136|0;n=P+224|0;l=P+200|0;H=P+56|0;A=P+64|0;y=P;C=P+184|0;I=P+188|0;G=P+8|0;N=P+88|0;F=P+144|0;J=P+80|0;x=P+72|0;M=P+216|0;K=P+168|0;L=P+152|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=j;c[v>>2]=k;c[B>>2]=0;c[D>>2]=0;h[z>>3]=0.0;c[n>>2]=_((d[(c[p>>2]|0)+20>>0]|0)+1|0,4+(c[r>>2]<<2)|0)|0;c[w>>2]=Rb(c[n>>2]|0)|0;if(!(c[w>>2]|0)){c[o>>2]=7;O=c[o>>2]|0;i=P;return O|0}a=_(d[(c[p>>2]|0)+20>>0]|0,c[r>>2]|0)|0;c[m>>2]=(c[w>>2]|0)+((d[(c[p>>2]|0)+20>>0]|0)<<2)+(a<<2);BH(c[w>>2]|0,0,c[n>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(d[(c[p>>2]|0)+20>>0]|0|0))break;a=_(c[E>>2]|0,c[r>>2]|0)|0;c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]=(c[w>>2]|0)+((d[(c[p>>2]|0)+20>>0]|0)<<2)+(a<<2);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[r>>2]|0))break;c[(c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]|0)+(c[l>>2]<<2)>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+1}ui(c[p>>2]|0,c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]|0,c[r>>2]|0,c[E>>2]|0,c[q>>2]|0,c[m>>2]|0);c[E>>2]=(c[E>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(d[(c[p>>2]|0)+20>>0]|0|0))break;h[H>>3]=0.0;h[A>>3]=0.0;h[y>>3]=0.0;c[C>>2]=0;c[I>>2]=(((c[(c[p>>2]|0)+16>>2]|0)-4|0)/(d[(c[p>>2]|0)+22>>0]|0|0)|0|0)/3|0;while(1){if((c[I>>2]|0)>((c[r>>2]|0)-((((c[(c[p>>2]|0)+16>>2]|0)-4|0)/(d[(c[p>>2]|0)+22>>0]|0|0)|0|0)/3|0)|0))break;m=G;l=(c[q>>2]|0)+((c[c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]>>2]|0)*48|0)|0;b=m+48|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(b|0));m=N;l=(c[q>>2]|0)+((c[(c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]|0)+((c[r>>2]|0)-1<<2)>>2]|0)*48|0)|0;b=m+48|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(b|0));c[F>>2]=1;while(1){if((c[F>>2]|0)>=((c[r>>2]|0)-1|0))break;l=c[p>>2]|0;m=(c[q>>2]|0)+((c[(c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]|0)+(c[F>>2]<<2)>>2]|0)*48|0)|0;if((c[F>>2]|0)<(c[I>>2]|0))ei(l,G,m);else ei(l,N,m);c[F>>2]=(c[F>>2]|0)+1}Q=+vi(c[p>>2]|0,G);h[H>>3]=+h[H>>3]+Q;Q=+vi(c[p>>2]|0,N);h[H>>3]=+h[H>>3]+Q;h[J>>3]=+wi(c[p>>2]|0,G,N,1);Q=+xi(c[p>>2]|0,G);h[x>>3]=Q+ +xi(c[p>>2]|0,N);if((c[I>>2]|0)!=((((c[(c[p>>2]|0)+16>>2]|0)-4|0)/(d[(c[p>>2]|0)+22>>0]|0|0)|0|0)/3|0|0)?!(+h[J>>3]<+h[A>>3]):0){if(+h[J>>3]==+h[A>>3]?+h[x>>3]<+h[y>>3]:0)O=23}else O=23;if((O|0)==23){O=0;c[C>>2]=c[I>>2];h[A>>3]=+h[J>>3];h[y>>3]=+h[x>>3]}c[I>>2]=(c[I>>2]|0)+1}if(!((c[E>>2]|0)!=0?!(+h[H>>3]<+h[z>>3]):0)){c[B>>2]=c[E>>2];h[z>>3]=+h[H>>3];c[D>>2]=c[C>>2]}c[E>>2]=(c[E>>2]|0)+1}m=c[u>>2]|0;l=(c[q>>2]|0)+((c[c[(c[w>>2]|0)+(c[B>>2]<<2)>>2]>>2]|0)*48|0)|0;b=m+48|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(b|0));m=c[v>>2]|0;l=(c[q>>2]|0)+((c[(c[(c[w>>2]|0)+(c[B>>2]<<2)>>2]|0)+(c[D>>2]<<2)>>2]|0)*48|0)|0;b=m+48|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(b|0));c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[r>>2]|0))break;c[M>>2]=(c[E>>2]|0)<(c[D>>2]|0)?c[s>>2]|0:c[t>>2]|0;c[K>>2]=(c[E>>2]|0)<(c[D>>2]|0)?c[u>>2]|0:c[v>>2]|0;c[L>>2]=(c[q>>2]|0)+((c[(c[(c[w>>2]|0)+(c[B>>2]<<2)>>2]|0)+(c[E>>2]<<2)>>2]|0)*48|0);Xh(c[p>>2]|0,c[M>>2]|0,c[L>>2]|0)|0;ei(c[p>>2]|0,c[K>>2]|0,c[L>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Sb(c[w>>2]|0);c[o>>2]=0;O=c[o>>2]|0;i=P;return O|0}function ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;h=m;j=m+20|0;n=m+16|0;l=m+12|0;k=m+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[n>>2]=f;c[l>>2]=(c[n>>2]|0)==0?11:12;if((c[n>>2]|0)>0?(n=h,c[k>>2]=Vh(c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0,(c[k>>2]|0)!=0):0){Ph(c[g>>2]|0,c[c[k>>2]>>2]|0)|0;Wh(c[j>>2]|0);c[c[k>>2]>>2]=c[j>>2]}a=h;n=(c[j>>2]|0)+8|0;n=wb[c[l>>2]&15](c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;i=m;return n|0}function ui(a,b,e,f,j,k){a=a|0;b=b|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0.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;C=i;i=i+80|0;o=C+64|0;p=C+68|0;m=C+52|0;q=C+40|0;r=C+36|0;n=C+48|0;u=C+32|0;v=C+60|0;w=C+76|0;x=C+72|0;s=C+44|0;t=C+56|0;y=C+16|0;z=C;A=C+8|0;B=C+24|0;c[o>>2]=a;c[p>>2]=b;c[m>>2]=e;c[q>>2]=f;c[r>>2]=j;c[n>>2]=k;if((c[m>>2]|0)<=1){i=C;return}c[u>>2]=0;c[v>>2]=0;c[w>>2]=(c[m>>2]|0)/2|0;c[x>>2]=(c[m>>2]|0)-(c[w>>2]|0);c[s>>2]=c[p>>2];c[t>>2]=(c[p>>2]|0)+(c[w>>2]<<2);ui(c[o>>2]|0,c[s>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0,c[n>>2]|0);ui(c[o>>2]|0,c[t>>2]|0,c[x>>2]|0,c[q>>2]|0,c[r>>2]|0,c[n>>2]|0);EH(c[n>>2]|0,c[s>>2]|0,c[w>>2]<<2|0)|0;c[s>>2]=c[n>>2];a:while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[v>>2]|0)>=(c[x>>2]|0):0)break;m=(c[r>>2]|0)+((c[(c[s>>2]|0)+(c[u>>2]<<2)>>2]|0)*48|0)+8+(c[q>>2]<<1<<2)|0;if(!(d[(c[o>>2]|0)+21>>0]|0))l=+g[m>>2];else l=+(c[m>>2]|0);h[y>>3]=l;m=(c[r>>2]|0)+((c[(c[s>>2]|0)+(c[u>>2]<<2)>>2]|0)*48|0)+8+((c[q>>2]<<1)+1<<2)|0;if(!(d[(c[o>>2]|0)+21>>0]|0))l=+g[m>>2];else l=+(c[m>>2]|0);h[z>>3]=l;m=(c[r>>2]|0)+((c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0)*48|0)+8+(c[q>>2]<<1<<2)|0;if(!(d[(c[o>>2]|0)+21>>0]|0))l=+g[m>>2];else l=+(c[m>>2]|0);h[A>>3]=l;m=(c[r>>2]|0)+((c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0)*48|0)+8+((c[q>>2]<<1)+1<<2)|0;if(!(d[(c[o>>2]|0)+21>>0]|0))l=+g[m>>2];else l=+(c[m>>2]|0);h[B>>3]=l;do if((c[u>>2]|0)!=(c[w>>2]|0)){if((c[v>>2]|0)!=(c[x>>2]|0)?!(+h[y>>3]<+h[A>>3]):0){if(!(+h[y>>3]==+h[A>>3]))break;if(!(+h[z>>3]<+h[B>>3]))break}c[(c[p>>2]|0)+((c[u>>2]|0)+(c[v>>2]|0)<<2)>>2]=c[(c[s>>2]|0)+(c[u>>2]<<2)>>2];c[u>>2]=(c[u>>2]|0)+1;continue a}while(0);c[(c[p>>2]|0)+((c[u>>2]|0)+(c[v>>2]|0)<<2)>>2]=c[(c[t>>2]|0)+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}i=C;return}function vi(a,b){a=a|0;b=b|0;var e=0.0,f=0.0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n;l=n+8|0;c[j>>2]=a;c[k>>2]=b;h[m>>3]=0.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=((d[(c[j>>2]|0)+20>>0]|0)<<1|0))break;b=(c[k>>2]|0)+8+((c[l>>2]|0)+1<<2)|0;if(!(d[(c[j>>2]|0)+21>>0]|0))f=+g[b>>2];else f=+(c[b>>2]|0);b=(c[k>>2]|0)+8+(c[l>>2]<<2)|0;if(!(d[(c[j>>2]|0)+21>>0]|0))e=+g[b>>2];else e=+(c[b>>2]|0);h[m>>3]=+h[m>>3]+(f-e);c[l>>2]=(c[l>>2]|0)+2}i=n;return +(+h[m>>3])}function wi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var j=0.0,k=0.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;w=i;i=i+64|0;l=w+48|0;m=w+32|0;n=w+36|0;o=w+40|0;p=w+52|0;s=w+24|0;q=w+44|0;r=w+16|0;t=w;u=w+8|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;h[s>>3]=0.0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;h[r>>3]=1.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((d[(c[l>>2]|0)+20>>0]|0)<<1|0))break;e=(c[m>>2]|0)+8+(c[q>>2]<<2)|0;if(!(d[(c[l>>2]|0)+21>>0]|0))k=+g[e>>2];else k=+(c[e>>2]|0);e=(c[n>>2]|0)+((c[p>>2]|0)*48|0)+8+(c[q>>2]<<2)|0;if(!(d[(c[l>>2]|0)+21>>0]|0))j=+g[e>>2];else j=+(c[e>>2]|0);a=(d[(c[l>>2]|0)+21>>0]|0|0)==0;e=c[q>>2]|0;do if(k>j){e=(c[m>>2]|0)+8+(e<<2)|0;if(a){j=+g[e>>2];break}else{j=+(c[e>>2]|0);break}}else{e=(c[n>>2]|0)+((c[p>>2]|0)*48|0)+8+(e<<2)|0;if(a){j=+g[e>>2];break}else{j=+(c[e>>2]|0);break}}while(0);h[t>>3]=j;e=(c[m>>2]|0)+8+((c[q>>2]|0)+1<<2)|0;if(!(d[(c[l>>2]|0)+21>>0]|0))k=+g[e>>2];else k=+(c[e>>2]|0);e=(c[n>>2]|0)+((c[p>>2]|0)*48|0)+8+((c[q>>2]|0)+1<<2)|0;if(!(d[(c[l>>2]|0)+21>>0]|0))j=+g[e>>2];else j=+(c[e>>2]|0);a=(d[(c[l>>2]|0)+21>>0]|0|0)==0;e=(c[q>>2]|0)+1|0;do if(k>2]|0)+8+(e<<2)|0;if(a){j=+g[e>>2];break}else{j=+(c[e>>2]|0);break}}else{e=(c[n>>2]|0)+((c[p>>2]|0)*48|0)+8+(e<<2)|0;if(a){j=+g[e>>2];break}else{j=+(c[e>>2]|0);break}}while(0);h[u>>3]=j;if(+h[u>>3]<+h[t>>3]){v=32;break}h[r>>3]=+h[r>>3]*(+h[u>>3]-+h[t>>3]);c[q>>2]=(c[q>>2]|0)+2}if((v|0)==32){v=0;h[r>>3]=0.0}h[s>>3]=+h[s>>3]+ +h[r>>3];c[p>>2]=(c[p>>2]|0)+1}i=w;return +(+h[s>>3])}function xi(a,b){a=a|0;b=b|0;var e=0.0,f=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+16|0;l=o+12|0;m=o;n=o+8|0;c[k>>2]=a;c[l>>2]=b;h[m>>3]=1.0;c[n>>2]=0;while(1){j=+h[m>>3];if((c[n>>2]|0)>=((d[(c[k>>2]|0)+20>>0]|0)<<1|0))break;b=(c[l>>2]|0)+8+((c[n>>2]|0)+1<<2)|0;if(!(d[(c[k>>2]|0)+21>>0]|0))f=+g[b>>2];else f=+(c[b>>2]|0);a=(c[l>>2]|0)+8+(c[n>>2]<<2)|0;if(!(d[(c[k>>2]|0)+21>>0]|0))e=+g[a>>2];else e=+(c[a>>2]|0);h[m>>3]=j*(f-e);c[n>>2]=(c[n>>2]|0)+2}i=o;return +j}function yi(a,b,e,f,g){a=a|0;b=b|0;e=e|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;r=i;i=i+48|0;m=r+28|0;n=r+12|0;h=r;j=r+24|0;o=r+36|0;q=r+8|0;k=r+16|0;p=r+32|0;l=r+20|0;c[n>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=e;c[j>>2]=f;c[o>>2]=g;c[k>>2]=0;g=h;g=Vh(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[p>>2]=g;if(g){if((c[j>>2]|0)!=0?(c[c[p>>2]>>2]|0)==0:0){Wh(c[j>>2]|0);c[c[p>>2]>>2]=c[j>>2]}q=(c[p>>2]|0)+16|0;c[q>>2]=(c[q>>2]|0)+1;c[c[o>>2]>>2]=c[p>>2];c[m>>2]=0;q=c[m>>2]|0;i=r;return q|0}g=h;Tc(c[(c[n>>2]|0)+56>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;c[q>>2]=Cc(c[(c[n>>2]|0)+56>>2]|0)|0;do if((c[q>>2]|0)==100?(c[l>>2]=Ic(c[(c[n>>2]|0)+56>>2]|0,0)|0,g=c[(c[n>>2]|0)+16>>2]|0,(g|0)==(Jc(c[(c[n>>2]|0)+56>>2]|0,0)|0)):0){c[p>>2]=Rb(32+(c[(c[n>>2]|0)+16>>2]|0)|0)|0;if(c[p>>2]|0){c[c[p>>2]>>2]=c[j>>2];c[(c[p>>2]|0)+24>>2]=(c[p>>2]|0)+32;c[(c[p>>2]|0)+16>>2]=1;f=h;a=c[f+4>>2]|0;g=(c[p>>2]|0)+8|0;c[g>>2]=c[f>>2];c[g+4>>2]=a;c[(c[p>>2]|0)+20>>2]=0;c[(c[p>>2]|0)+28>>2]=0;EH(c[(c[p>>2]|0)+24>>2]|0,c[l>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;Wh(c[j>>2]|0);break}else{c[k>>2]=7;break}}while(0);c[q>>2]=fc(c[(c[n>>2]|0)+56>>2]|0)|0;if(!(c[q>>2]|0))c[q>>2]=c[k>>2];l=h;if((c[p>>2]|0)!=0&((c[l>>2]|0)==1&(c[l+4>>2]|0)==0)?(l=mi(c[(c[p>>2]|0)+24>>2]|0)|0,c[(c[n>>2]|0)+24>>2]=l,(c[(c[n>>2]|0)+24>>2]|0)>40):0)c[q>>2]=267;if((c[p>>2]|0)!=0&(c[q>>2]|0)==0?(l=mi((c[(c[p>>2]|0)+24>>2]|0)+2|0)|0,(l|0)>(((c[(c[n>>2]|0)+16>>2]|0)-4|0)/(d[(c[n>>2]|0)+22>>0]|0|0)|0|0)):0)c[q>>2]=267;b=c[p>>2]|0;if(!(c[q>>2]|0)){if(b)Uh(c[n>>2]|0,c[p>>2]|0);else c[q>>2]=267;c[c[o>>2]>>2]=c[p>>2]}else{Sb(b);c[c[o>>2]>>2]=0}c[m>>2]=c[q>>2];q=c[m>>2]|0;i=r;return q|0}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+80|0;e=k+64|0;l=k+60|0;f=k+56|0;g=k+48|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=j;d=c[l>>2]|0;b=a+48|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(b|0));h[g>>3]=+xi(c[e>>2]|0,j);ei(c[e>>2]|0,j,c[f>>2]|0);m=+xi(c[e>>2]|0,j);i=k;return +(m-+h[g>>3])}function Ai(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+28|0;n=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[g>>2]=a;a=n;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[c[h>>2]>>2]=0;e=n;Tc(c[(c[g>>2]|0)+68>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0)|0;e=(Cc(c[(c[g>>2]|0)+68>>2]|0)|0)==100;b=c[(c[g>>2]|0)+68>>2]|0;if(!e){c[l>>2]=fc(b)|0;n=c[l>>2]|0;i=m;return n|0}e=Mc(b,0)|0;n=k;c[n>>2]=e;c[n+4>>2]=C;if(c[j>>2]|0){f=k;e=c[f+4>>2]|0;n=c[j>>2]|0;c[n>>2]=c[f>>2];c[n+4>>2]=e}n=k;c[l>>2]=yi(c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0,0,c[h>>2]|0)|0;fc(c[(c[g>>2]|0)+68>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function Bi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;l=o+16|0;j=o+20|0;g=o+24|0;m=o+4|0;h=o;n=o+12|0;c[l>>2]=a;c[j>>2]=b;c[g>>2]=e;c[m>>2]=f;a=Ei(c[l>>2]|0,c[j>>2]|0)|0;c[n>>2]=a;if(a){c[k>>2]=c[n>>2];n=c[k>>2]|0;i=o;return n|0}Fi(c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);c[h>>2]=c[c[j>>2]>>2];do if(c[h>>2]|0){a=mi((c[(c[j>>2]|0)+24>>2]|0)+2|0)|0;g=c[l>>2]|0;e=c[j>>2]|0;if((a|0)<((((c[(c[l>>2]|0)+16>>2]|0)-4|0)/(d[(c[l>>2]|0)+22>>0]|0|0)|0|0)/3|0|0)){c[n>>2]=Ci(g,e,c[m>>2]|0)|0;break}else{c[n>>2]=pi(g,e)|0;break}}while(0);c[k>>2]=c[n>>2];n=c[k>>2]|0;i=o;return n|0}function Ci(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+4|0;f=n+16|0;g=n+8|0;h=n+20|0;l=n+28|0;m=n;k=n+12|0;j=n+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;c[l>>2]=bi(c[f>>2]|0,c[g>>2]|0,j)|0;if(!(c[l>>2]|0)){c[k>>2]=c[c[g>>2]>>2];c[c[g>>2]>>2]=0;c[l>>2]=Bi(c[f>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+1|0)|0}c[m>>2]=Ph(c[f>>2]|0,c[k>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=c[m>>2];if(c[l>>2]|0){c[e>>2]=c[l>>2];m=c[e>>2]|0;i=n;return m|0}m=(c[g>>2]|0)+8|0;Tc(c[(c[f>>2]|0)+64>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;Cc(c[(c[f>>2]|0)+64>>2]|0)|0;m=fc(c[(c[f>>2]|0)+64>>2]|0)|0;c[l>>2]=m;if(m){c[e>>2]=c[l>>2];m=c[e>>2]|0;i=n;return m|0}m=(c[g>>2]|0)+8|0;Tc(c[(c[f>>2]|0)+88>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;Cc(c[(c[f>>2]|0)+88>>2]|0)|0;m=fc(c[(c[f>>2]|0)+88>>2]|0)|0;c[l>>2]=m;if(m){c[e>>2]=c[l>>2];m=c[e>>2]|0;i=n;return m|0}else{Sh(c[f>>2]|0,c[g>>2]|0);l=c[h>>2]|0;m=(c[g>>2]|0)+8|0;c[m>>2]=l;c[m+4>>2]=((l|0)<0)<<31>>31;c[(c[g>>2]|0)+28>>2]=c[(c[f>>2]|0)+48>>2];m=(c[g>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1;c[(c[f>>2]|0)+48>>2]=c[g>>2];c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}return 0}function Di(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;m=i;i=i+80|0;d=m+52|0;e=m+56|0;g=m+64|0;l=m+60|0;h=m+72|0;j=m+48|0;f=m;k=m+68|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[h>>2]=mi((c[(c[e>>2]|0)+24>>2]|0)+2|0)|0;c[g>>2]=0;while(1){if(c[l>>2]|0){d=8;break}if((c[g>>2]|0)>=(c[h>>2]|0)){d=8;break}ci(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,f);c[l>>2]=Nh(c[d>>2]|0,f,c[(c[e>>2]|0)+8>>2]|0,j)|0;if((c[l>>2]|0)==0?(c[l>>2]=Oh(c[d>>2]|0,c[j>>2]|0,f,c[(c[e>>2]|0)+8>>2]|0)|0,c[k>>2]=Ph(c[d>>2]|0,c[j>>2]|0)|0,(c[l>>2]|0)==0):0)c[l>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==8){i=m;return c[l>>2]|0}return 0}function Ei(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;l=i;i=i+32|0;d=l+24|0;e=l+16|0;k=l+20|0;g=l+28|0;j=l+12|0;h=l+8|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[g>>2]=c[e>>2];while(1){if(c[k>>2]|0){d=18;break}a=(c[g>>2]|0)+8|0;if(!((c[a>>2]|0)!=1|(c[a+4>>2]|0)!=0)){d=18;break}if(c[c[g>>2]>>2]|0){d=18;break}c[j>>2]=0;a=(c[g>>2]|0)+8|0;Tc(c[(c[d>>2]|0)+80>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0)|0;c[k>>2]=Cc(c[(c[d>>2]|0)+80>>2]|0)|0;if((c[k>>2]|0)==100){b=Mc(c[(c[d>>2]|0)+80>>2]|0,0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;b=(c[h>>2]|0)+8|0;a=f;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0)))break;c[h>>2]=c[c[h>>2]>>2]}if(!(c[h>>2]|0)){a=f;c[j>>2]=yi(c[d>>2]|0,c[a>>2]|0,c[a+4>>2]|0,0,c[g>>2]|0)|0}}c[k>>2]=fc(c[(c[d>>2]|0)+80>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[j>>2];if((c[k>>2]|0)==0?(c[c[g>>2]>>2]|0)==0:0)c[k>>2]=267;c[g>>2]=c[c[g>>2]>>2]}if((d|0)==18){i=l;return c[k>>2]|0}return 0}function Fi(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;l=f+20|0;g=f+16|0;m=f+12|0;k=f+8|0;j=f+4|0;h=f;c[l>>2]=a;c[g>>2]=b;c[m>>2]=e;a=4+(_(d[(c[l>>2]|0)+22>>0]|0,c[m>>2]|0)|0)|0;c[k>>2]=(c[(c[g>>2]|0)+24>>2]|0)+a;c[j>>2]=(c[k>>2]|0)+(d[(c[l>>2]|0)+22>>0]|0);a=mi((c[(c[g>>2]|0)+24>>2]|0)+2|0)|0;c[h>>2]=_(a-(c[m>>2]|0)-1|0,d[(c[l>>2]|0)+22>>0]|0)|0;HH(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;a=(c[(c[g>>2]|0)+24>>2]|0)+2|0;ri(a,(mi((c[(c[g>>2]|0)+24>>2]|0)+2|0)|0)-1|0)|0;c[(c[g>>2]|0)+20>>2]=1;i=f;return}function Gi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;a=c[b>>2]|0;if(d[(c[b>>2]|0)+5>>0]|0){b=a+40|0;i=e;return b|0}if(!(c[a+24>>2]|0)){b=0;i=e;return b|0}b=c[(c[b>>2]|0)+32>>2]|0;i=e;return b|0}function Hi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=1-(d[(c[e>>2]|0)+5>>0]|0);if(c[(c[e>>2]|0)+64+(c[h>>2]<<2)>>2]|0){h=c[h>>2]|0;g=c[e>>2]|0;g=g+64|0;h=g+(h<<2)|0;h=c[h>>2]|0;i=j;return h|0}b=c[e>>2]|0;if(c[h>>2]|0){a=(c[b+32>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0}else{a=b+40+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0}k=g;c[k>>2]=b;c[k+4>>2]=a;g=yi(c[c[e>>2]>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,(c[e>>2]|0)+64+(c[h>>2]<<2)|0)|0;c[c[f>>2]>>2]=g;h=c[h>>2]|0;g=c[e>>2]|0;g=g+64|0;h=g+(h<<2)|0;h=c[h>>2]|0;i=j;return h|0}function Ii(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+16|0;l=h+12|0;m=h+8|0;k=h+4|0;j=h;c[n>>2]=a;c[l>>2]=b;c[m>>2]=e;c[k>>2]=f;c[j>>2]=g;a=12+(_(d[(c[n>>2]|0)+22>>0]|0,c[m>>2]|0)|0)|0;ji((c[(c[l>>2]|0)+24>>2]|0)+(a+(c[k>>2]<<2))|0,c[j>>2]|0);i=h;return}function Ji(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=1-(d[(c[e>>2]|0)+5>>0]|0);if(c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]|0){Ph(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]|0)|0;c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]=0}b=c[e>>2]|0;if(a[(c[e>>2]|0)+5>>0]|0){j=(c[e>>2]|0)+84+(d[b+40+16>>0]<<2)|0;c[j>>2]=(c[j>>2]|0)+-1;a[(c[e>>2]|0)+5>>0]=0;i=k;return}if(!(c[b+24>>2]|0)){i=k;return}l=(c[e>>2]|0)+84+(d[(c[(c[e>>2]|0)+32>>2]|0)+16>>0]<<2)|0;c[l>>2]=(c[l>>2]|0)+-1;l=(c[e>>2]|0)+24|0;b=(c[l>>2]|0)+-1|0;c[l>>2]=b;c[j>>2]=b;b=c[(c[e>>2]|0)+32>>2]|0;l=(c[(c[e>>2]|0)+32>>2]|0)+((c[j>>2]|0)*24|0)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[b+16>>2]=c[l+16>>2];c[b+20>>2]=c[l+20>>2];if((c[j>>2]|0)<4){c[(c[e>>2]|0)+64+4>>2]=c[(c[e>>2]|0)+64+((c[j>>2]|0)+1<<2)>>2];c[(c[e>>2]|0)+64+((c[j>>2]|0)+1<<2)>>2]=0}c[f>>2]=0;while(1){l=(c[f>>2]<<1)+1|0;c[g>>2]=l;if((l|0)>=(c[j>>2]|0)){b=16;break}c[h>>2]=(c[g>>2]|0)+1;if((c[h>>2]|0)<(c[j>>2]|0)?(Qi((c[(c[e>>2]|0)+32>>2]|0)+((c[h>>2]|0)*24|0)|0,(c[(c[e>>2]|0)+32>>2]|0)+((c[g>>2]|0)*24|0)|0)|0)<0:0){if((Qi((c[(c[e>>2]|0)+32>>2]|0)+((c[h>>2]|0)*24|0)|0,(c[(c[e>>2]|0)+32>>2]|0)+((c[f>>2]|0)*24|0)|0)|0)>=0){b=16;break}Ri(c[e>>2]|0,c[f>>2]|0,c[h>>2]|0);c[f>>2]=c[h>>2];continue}if((Qi((c[(c[e>>2]|0)+32>>2]|0)+((c[g>>2]|0)*24|0)|0,(c[(c[e>>2]|0)+32>>2]|0)+((c[f>>2]|0)*24|0)|0)|0)>=0){b=16;break}Ri(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);c[f>>2]=c[g>>2]}if((b|0)==16){i=k;return}}function Ki(b){b=b|0;var e=0,f=0,g=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;y=i;i=i+96|0;g=y+76|0;j=y+64|0;p=y+68|0;t=y+32|0;s=y+48|0;l=y+60|0;v=y+72|0;n=y+80|0;o=y+52|0;m=y+56|0;k=y+40|0;w=y;u=y+24|0;q=y+36|0;r=y+44|0;c[j>>2]=b;c[t>>2]=c[c[j>>2]>>2];c[v>>2]=0;c[o>>2]=c[(c[j>>2]|0)+12>>2];c[k>>2]=(d[(c[t>>2]|0)+21>>0]|0)==1&1;a:while(1){f=Gi(c[j>>2]|0)|0;c[p>>2]=f;if(!f){x=31;break}if((d[(c[p>>2]|0)+16>>0]|0)<=0){x=31;break}c[s>>2]=Hi(c[j>>2]|0,v)|0;if(c[v>>2]|0){x=5;break}c[n>>2]=mi((c[(c[s>>2]|0)+24>>2]|0)+2|0)|0;while(1){if((d[(c[p>>2]|0)+18>>0]|0)>=(c[n>>2]|0))break;h[u>>3]=-1.0;c[q>>2]=(c[(c[s>>2]|0)+24>>2]|0)+(4+(_(d[(c[t>>2]|0)+22>>0]|0,d[(c[p>>2]|0)+18>>0]|0)|0));c[l>>2]=2;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[r>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);do if((c[(c[r>>2]|0)+4>>2]|0)>=70){c[v>>2]=Li(c[r>>2]|0,c[k>>2]|0,c[q>>2]|0,c[p>>2]|0,u,l)|0;if(c[v>>2]|0){x=12;break a}}else{b=c[r>>2]|0;e=c[k>>2]|0;f=c[q>>2]|0;if((d[(c[p>>2]|0)+16>>0]|0)==1){Mi(b,e,f,l);break}else{Ni(b,e,f,l);break}}while(0);if(!(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;if(c[l>>2]|0){x=19;break}}if((x|0)==19){x=0;a[w+16>>0]=(d[(c[p>>2]|0)+16>>0]|0)-1;if(a[w+16>>0]|0){e=ki(c[q>>2]|0)|0;f=w+8|0;c[f>>2]=e;c[f+4>>2]=C;a[w+18>>0]=0}else{b=(c[p>>2]|0)+8|0;e=c[b+4>>2]|0;f=w+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;a[w+18>>0]=(d[(c[p>>2]|0)+18>>0]|0)-1}if((d[(c[p>>2]|0)+18>>0]|0)>=(c[n>>2]|0))Ji(c[j>>2]|0);if(+h[u>>3]<0.0)h[u>>3]=0.0;c[p>>2]=Oi(c[j>>2]|0,+h[u>>3],a[w+16>>0]|0)|0;if(!(c[p>>2]|0)){x=27;break}a[(c[p>>2]|0)+17>>0]=c[l>>2];b=w+8|0;e=c[b+4>>2]|0;f=(c[p>>2]|0)+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;a[(c[p>>2]|0)+18>>0]=a[w+18>>0]|0}if((d[(c[p>>2]|0)+18>>0]|0)<(c[n>>2]|0))continue;Ji(c[j>>2]|0)}if((x|0)==5){c[g>>2]=c[v>>2];x=c[g>>2]|0;i=y;return x|0}else if((x|0)==12){c[g>>2]=c[v>>2];x=c[g>>2]|0;i=y;return x|0}else if((x|0)==27){c[g>>2]=7;x=c[g>>2]|0;i=y;return x|0}else if((x|0)==31){a[(c[j>>2]|0)+4>>0]=(c[p>>2]|0)==0;c[g>>2]=0;x=c[g>>2]|0;i=y;return x|0}return 0}function Li(a,b,e,f,j,k){a=a|0;b=b|0;e=e|0;f=f|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.0;x=i;i=i+128|0;l=x+80|0;m=x+96|0;n=x+92|0;o=x+88|0;p=x+100|0;q=x+116|0;t=x+120|0;v=x+104|0;u=x+108|0;w=x+112|0;r=x;s=x+84|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[(c[l>>2]|0)+16>>2];c[u>>2]=c[(c[v>>2]|0)+28>>2];if((c[(c[l>>2]|0)+4>>2]|0)==71?(d[(c[o>>2]|0)+16>>0]|0|0)==1:0){k=ki(c[n>>2]|0)|0;j=(c[v>>2]|0)+40|0;c[j>>2]=k;c[j+4>>2]=C}c[n>>2]=(c[n>>2]|0)+8;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;c[s>>2]=((d[c[n>>2]>>0]|0)<<24)+((d[(c[n>>2]|0)+1>>0]|0)<<16)+((d[(c[n>>2]|0)+2>>0]|0)<<8)+(d[(c[n>>2]|0)+3>>0]|0);h[r+(c[t>>2]<<3)>>3]=(c[m>>2]|0)!=0?+(c[s>>2]|0):+g[s>>2];c[t>>2]=(c[t>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+4}if((c[(c[l>>2]|0)+4>>2]|0)==70){c[w>>2]=tb[c[(c[l>>2]|0)+8>>2]&15](c[v>>2]|0,c[u>>2]|0,r,t)|0;if(!(c[t>>2]|0))c[c[q>>2]>>2]=0;h[c[p>>2]>>3]=0.0;w=c[w>>2]|0;i=x;return w|0}c[(c[v>>2]|0)+20>>2]=r;c[(c[v>>2]|0)+32>>2]=(d[(c[o>>2]|0)+16>>0]|0)-1;y=+h[c[o>>2]>>3];h[(c[v>>2]|0)+48>>3]=y;h[(c[v>>2]|0)+64>>3]=y;j=d[(c[o>>2]|0)+17>>0]|0;c[(c[v>>2]|0)+56>>2]=j;c[(c[v>>2]|0)+60>>2]=j;c[w>>2]=qb[c[(c[l>>2]|0)+8>>2]&31](c[v>>2]|0)|0;if((c[(c[v>>2]|0)+60>>2]|0)<(c[c[q>>2]>>2]|0))c[c[q>>2]>>2]=c[(c[v>>2]|0)+60>>2];if(!(+h[(c[v>>2]|0)+64>>3]<+h[c[p>>2]>>3])?!(+h[c[p>>2]>>3]<0.0):0){w=c[w>>2]|0;i=x;return w|0}h[c[p>>2]>>3]=+h[(c[v>>2]|0)+64>>3];w=c[w>>2]|0;i=x;return w|0}function Mi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;j=m+24|0;o=m+20|0;p=m+16|0;k=m+12|0;l=m;n=m+8|0;c[j>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[p>>2]=(c[p>>2]|0)+(8+(c[c[j>>2]>>2]<<2));c[n>>2]=((d[c[p>>2]>>0]|0)<<24)+((d[(c[p>>2]|0)+1>>0]|0)<<16)+((d[(c[p>>2]|0)+2>>0]|0)<<8)+(d[(c[p>>2]|0)+3>>0]|0);h[l>>3]=(c[o>>2]|0)!=0?+(c[n>>2]|0):+g[n>>2];switch(c[(c[j>>2]|0)+4>>2]|0){case 66:{if(+h[l>>3]<=+h[(c[j>>2]|0)+8>>3]){i=m;return}break}case 67:{if(+h[l>>3]<+h[(c[j>>2]|0)+8>>3]){i=m;return}break}case 68:{if(+h[l>>3]>=+h[(c[j>>2]|0)+8>>3]){i=m;return}break}case 69:{if(+h[l>>3]>+h[(c[j>>2]|0)+8>>3]){i=m;return}break}default:if(+h[l>>3]==+h[(c[j>>2]|0)+8>>3]){i=m;return}}c[c[k>>2]>>2]=0;i=m;return}function Ni(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+12|0;k=r+20|0;l=r+24|0;m=r+28|0;p=r;n=r+8|0;o=r+16|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[l>>2]=(c[l>>2]|0)+(8+((c[c[j>>2]>>2]&254)<<2));do if(((c[(c[j>>2]|0)+4>>2]|0)+-65|0)>>>0<3){c[n>>2]=((d[c[l>>2]>>0]|0)<<24)+((d[(c[l>>2]|0)+1>>0]|0)<<16)+((d[(c[l>>2]|0)+2>>0]|0)<<8)+(d[(c[l>>2]|0)+3>>0]|0);h[p>>3]=(c[k>>2]|0)!=0?+(c[n>>2]|0):+g[n>>2];if(!(+h[(c[j>>2]|0)+8>>3]>=+h[p>>3]))if((c[(c[j>>2]|0)+4>>2]|0)!=65)break;else{q=4;break}else{i=r;return}}else q=4;while(0);if((q|0)==4?(c[l>>2]=(c[l>>2]|0)+4,c[o>>2]=((d[c[l>>2]>>0]|0)<<24)+((d[(c[l>>2]|0)+1>>0]|0)<<16)+((d[(c[l>>2]|0)+2>>0]|0)<<8)+(d[(c[l>>2]|0)+3>>0]|0),h[p>>3]=(c[k>>2]|0)!=0?+(c[o>>2]|0):+g[o>>2],+h[(c[j>>2]|0)+8>>3]<=+h[p>>3]):0){i=r;return}c[c[m>>2]>>2]=0;i=r;return}function Oi(b,e,f){b=b|0;e=+e;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+16|0;k=p+24|0;l=p;m=p+28|0;o=p+12|0;g=p+8|0;n=p+20|0;c[k>>2]=b;h[l>>3]=e;a[m>>0]=f;c[g>>2]=Gi(c[k>>2]|0)|0;b=(c[k>>2]|0)+84+(d[m>>0]<<2)|0;c[b>>2]=(c[b>>2]|0)+1;do if((c[g>>2]|0)!=0?!(+h[c[g>>2]>>3]>+h[l>>3]):0){if(+h[c[g>>2]>>3]==+h[l>>3]?(d[(c[g>>2]|0)+16>>0]|0)>(d[m>>0]|0):0)break;c[j>>2]=Pi(c[k>>2]|0,+h[l>>3],a[m>>0]|0)|0;o=c[j>>2]|0;i=p;return o|0}while(0);if(a[(c[k>>2]|0)+5>>0]|0){c[o>>2]=Pi(c[k>>2]|0,+h[l>>3],a[m>>0]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}c[n>>2]=(((c[o>>2]|0)-(c[(c[k>>2]|0)+32>>2]|0)|0)/24|0)+1;f=c[k>>2]|0;if((c[n>>2]|0)<5)c[(c[k>>2]|0)+64+(c[n>>2]<<2)>>2]=c[f+64>>2];else Ph(c[f>>2]|0,c[(c[k>>2]|0)+64>>2]|0)|0;c[(c[k>>2]|0)+64>>2]=0;o=c[o>>2]|0;n=(c[k>>2]|0)+40|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];c[o+20>>2]=c[n+20>>2]}h[(c[k>>2]|0)+40>>3]=+h[l>>3];a[(c[k>>2]|0)+40+16>>0]=a[m>>0]|0;a[(c[k>>2]|0)+5>>0]=1;c[j>>2]=(c[k>>2]|0)+40;o=c[j>>2]|0;i=p;return o|0}function Pi(b,d,e){b=b|0;d=+d;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+12|0;g=q+24|0;j=q;k=q+36|0;l=q+32|0;m=q+8|0;o=q+20|0;n=q+16|0;p=q+28|0;c[g>>2]=b;h[j>>3]=d;a[k>>0]=e;do if((c[(c[g>>2]|0)+24>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[n>>2]=(c[(c[g>>2]|0)+20>>2]<<1)+8;c[o>>2]=Tb(c[(c[g>>2]|0)+32>>2]|0,(c[n>>2]|0)*24|0)|0;if(c[o>>2]|0){c[(c[g>>2]|0)+32>>2]=c[o>>2];c[(c[g>>2]|0)+20>>2]=c[n>>2];break}c[f>>2]=0;p=c[f>>2]|0;i=q;return p|0}while(0);n=(c[g>>2]|0)+24|0;b=c[n>>2]|0;c[n>>2]=b+1;c[l>>2]=b;c[o>>2]=(c[(c[g>>2]|0)+32>>2]|0)+((c[l>>2]|0)*24|0);h[c[o>>2]>>3]=+h[j>>3];a[(c[o>>2]|0)+16>>0]=a[k>>0]|0;while(1){if((c[l>>2]|0)<=0)break;c[m>>2]=((c[l>>2]|0)-1|0)/2|0;c[p>>2]=(c[(c[g>>2]|0)+32>>2]|0)+((c[m>>2]|0)*24|0);if((Qi(c[o>>2]|0,c[p>>2]|0)|0)>=0)break;Ri(c[g>>2]|0,c[m>>2]|0,c[l>>2]|0);c[l>>2]=c[m>>2];c[o>>2]=c[p>>2]}c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function Qi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,j=0;j=i;i=i+16|0;e=j+8|0;f=j+4|0;g=j;c[f>>2]=a;c[g>>2]=b;do if(!(+h[c[f>>2]>>3]<+h[c[g>>2]>>3])){if(+h[c[f>>2]>>3]>+h[c[g>>2]>>3]){c[e>>2]=1;break}if((d[(c[f>>2]|0)+16>>0]|0|0)<(d[(c[g>>2]|0)+16>>0]|0|0)){c[e>>2]=-1;break}if((d[(c[f>>2]|0)+16>>0]|0|0)>(d[(c[g>>2]|0)+16>>0]|0|0)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[e>>2]=-1;while(0);i=j;return c[e>>2]|0}function Ri(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;j=i;i=i+48|0;e=j+36|0;f=j+32|0;g=j+28|0;k=j;h=j+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(c[(c[e>>2]|0)+32>>2]|0)+((c[f>>2]|0)*24|0)|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[k+16>>2]=c[a+16>>2];c[k+20>>2]=c[a+20>>2];a=(c[(c[e>>2]|0)+32>>2]|0)+((c[f>>2]|0)*24|0)|0;d=(c[(c[e>>2]|0)+32>>2]|0)+((c[g>>2]|0)*24|0)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];a=(c[(c[e>>2]|0)+32>>2]|0)+((c[g>>2]|0)*24|0)|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];c[a+16>>2]=c[k+16>>2];c[a+20>>2]=c[k+20>>2];c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1;if((c[f>>2]|0)>=5){i=j;return}if((c[g>>2]|0)>=5){Ph(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]|0)|0;c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]=0;i=j;return}else{c[h>>2]=c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2];c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]=c[(c[e>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+64+(c[g>>2]<<2)>>2]=c[h>>2];i=j;return}}function Si(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+((c[d>>2]|0)*24|0)+16>>2];if(c[e>>2]|0){if(c[(c[e>>2]|0)+16>>2]|0)nb[c[(c[e>>2]|0)+16>>2]&31](c[(c[e>>2]|0)+12>>2]|0);Sb(c[e>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}Sb(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Ti(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;f=l+20|0;j=l+24|0;k=l+4|0;g=l;h=l+12|0;c[e>>2]=a;c[f>>2]=b;if((nc(c[e>>2]|0)|0)!=4){c[d>>2]=1;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=jc(c[e>>2]|0)|0;if((c[g>>2]|0)>=32?((((c[g>>2]|0)-32|0)>>>0)%8|0|0)==0:0){c[k>>2]=Rb(72+(c[g>>2]|0)|0)|0;if(!(c[k>>2]|0)){c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}a=c[k>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[j>>2]=(c[k>>2]|0)+72;a=c[j>>2]|0;e=hc(c[e>>2]|0)|0;EH(a|0,e|0,c[g>>2]|0)|0;c[h>>2]=32+((c[(c[j>>2]|0)+20>>2]|0)-1<<3);if((c[c[j>>2]>>2]|0)==-1995291221?(c[g>>2]|0)==(c[h>>2]|0):0){c[c[k>>2]>>2]=c[(c[j>>2]|0)+4+12>>2];c[(c[k>>2]|0)+4>>2]=c[(c[j>>2]|0)+20>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+24;if(c[(c[j>>2]|0)+4>>2]|0)c[(c[f>>2]|0)+8>>2]=c[(c[j>>2]|0)+4>>2];else{c[(c[f>>2]|0)+4>>2]=71;c[(c[f>>2]|0)+8>>2]=c[(c[j>>2]|0)+4+4>>2]}c[(c[f>>2]|0)+16>>2]=c[k>>2];c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Sb(c[k>>2]|0);c[d>>2]=1;k=c[d>>2]|0;i=l;return k|0}c[d>>2]=1;k=c[d>>2]|0;i=l;return k|0}function Ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((hd()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Vi(b,e,f,g,h,j,k){b=b|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,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;J=i;i=i+144|0;D=J+24|0;C=J+40|0;B=J+48|0;u=J+16|0;t=J+8|0;s=J;r=J+32|0;G=J+92|0;v=J+76|0;K=J+72|0;w=J+68|0;x=J+64|0;H=J+60|0;y=J+56|0;l=J+80|0;I=J+88|0;A=J+84|0;p=J+96|0;q=J+100|0;n=J+104|0;m=J+112|0;o=J+128|0;E=J+132|0;F=J+136|0;z=J+140|0;c[v>>2]=b;c[K>>2]=e;c[w>>2]=f;c[x>>2]=g;c[H>>2]=h;c[y>>2]=j;c[l>>2]=k;c[I>>2]=0;c[n>>2]=(c[K>>2]|0)!=0?1:0;c[m>>2]=c[287];c[m+4>>2]=c[288];c[m+8>>2]=c[289];c[m+12>>2]=c[290];if((c[w>>2]|0)<6)f=2;else f=(c[w>>2]|0)>14?3:(c[w>>2]|0)%2|0;c[o>>2]=f;if(c[m+(c[o>>2]<<2)>>2]|0){c[r>>2]=c[m+(c[o>>2]<<2)>>2];K=Wb(14418,r)|0;c[c[y>>2]>>2]=K;c[G>>2]=1;K=c[G>>2]|0;i=J;return K|0}K=c[v>>2]|0;c[s>>2]=1;ed(K,1,s)|0;c[p>>2]=cH(c[(c[x>>2]|0)+4>>2]|0)|0;c[q>>2]=cH(c[(c[x>>2]|0)+8>>2]|0)|0;c[A>>2]=Rb(480+(c[p>>2]|0)+(c[q>>2]|0)+2|0)|0;if(!(c[A>>2]|0)){c[G>>2]=7;K=c[G>>2]|0;i=J;return K|0}BH(c[A>>2]|0,0,480+(c[p>>2]|0)+(c[q>>2]|0)+2|0)|0;c[(c[A>>2]|0)+36>>2]=1;c[c[A>>2]>>2]=1056;c[(c[A>>2]|0)+28>>2]=(c[A>>2]|0)+480;c[(c[A>>2]|0)+32>>2]=(c[(c[A>>2]|0)+28>>2]|0)+((c[p>>2]|0)+1);a[(c[A>>2]|0)+20>>0]=((c[w>>2]|0)-4|0)/2|0;a[(c[A>>2]|0)+22>>0]=8+((d[(c[A>>2]|0)+20>>0]|0)<<2<<1);a[(c[A>>2]|0)+21>>0]=c[n>>2];EH(c[(c[A>>2]|0)+28>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[p>>2]|0)|0;EH(c[(c[A>>2]|0)+32>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[q>>2]|0)|0;c[I>>2]=Wi(c[v>>2]|0,c[A>>2]|0,c[l>>2]|0,c[y>>2]|0)|0;do if(!(c[I>>2]|0)){K=Xi(c[A>>2]|0,c[v>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[I>>2]=K;if(K){c[t>>2]=$c(c[v>>2]|0)|0;K=Wb(14418,t)|0;c[c[y>>2]>>2]=K;break}c[u>>2]=c[(c[x>>2]|0)+12>>2];c[E>>2]=Wb(16252,u)|0;c[z>>2]=4;while(1){if(c[E>>2]|0)f=(c[z>>2]|0)<(c[w>>2]|0);else f=0;g=c[E>>2]|0;if(!f)break;c[F>>2]=g;K=c[(c[x>>2]|0)+(c[z>>2]<<2)>>2]|0;c[B>>2]=c[F>>2];c[B+4>>2]=K;c[E>>2]=Wb(16270,B)|0;Sb(c[F>>2]|0);c[z>>2]=(c[z>>2]|0)+1}if(g){c[F>>2]=c[E>>2];c[C>>2]=c[F>>2];c[E>>2]=Wb(16277,C)|0;Sb(c[F>>2]|0)}if(c[E>>2]|0){K=cd(c[v>>2]|0,c[E>>2]|0)|0;c[I>>2]=K;if(K){c[D>>2]=$c(c[v>>2]|0)|0;K=Wb(14418,D)|0;c[c[y>>2]>>2]=K}}else c[I>>2]=7;Sb(c[E>>2]|0)}while(0);g=c[A>>2]|0;if(!(c[I>>2]|0))c[c[H>>2]>>2]=g;else Qh(g);c[G>>2]=c[I>>2];K=c[G>>2]|0;i=J;return K|0}function Wi(a,b,e,f){a=a|0;b=b|0;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;r=i;i=i+64|0;p=r+24|0;o=r+8|0;n=r;m=r+16|0;g=r+36|0;h=r+32|0;s=r+28|0;j=r+40|0;l=r+44|0;q=r+48|0;k=r+52|0;c[g>>2]=a;c[h>>2]=b;c[s>>2]=e;c[j>>2]=f;if(!(c[s>>2]|0)){s=c[(c[h>>2]|0)+32>>2]|0;c[o>>2]=c[(c[h>>2]|0)+28>>2];c[o+4>>2]=s;c[q>>2]=Wb(17085,o)|0;c[l>>2]=Zi(c[g>>2]|0,c[q>>2]|0,(c[h>>2]|0)+16|0)|0;if(!(c[l>>2]|0)){s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}c[p>>2]=$c(c[g>>2]|0)|0;s=Wb(14418,p)|0;c[c[j>>2]>>2]=s;s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}c[k>>2]=0;c[m>>2]=c[(c[h>>2]|0)+28>>2];c[q>>2]=Wb(17065,m)|0;c[l>>2]=Zi(c[g>>2]|0,c[q>>2]|0,k)|0;if(c[l>>2]|0){c[n>>2]=$c(c[g>>2]|0)|0;s=Wb(14418,n)|0;c[c[j>>2]>>2]=s;s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}c[(c[h>>2]|0)+16>>2]=(c[k>>2]|0)-64;if((4+((d[(c[h>>2]|0)+22>>0]|0)*51|0)|0)>=(c[(c[h>>2]|0)+16>>2]|0)){s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}c[(c[h>>2]|0)+16>>2]=4+((d[(c[h>>2]|0)+22>>0]|0)*51|0);s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}function Xi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;t=i;i=i+128|0;q=t;p=t+8|0;g=t+48|0;h=t+60|0;j=t+52|0;k=t+44|0;l=t+56|0;u=t+64|0;o=t+68|0;m=t+72|0;n=t+108|0;r=t+112|0;s=t+116|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[u>>2]=f;c[o>>2]=0;c[(c[h>>2]|0)+12>>2]=c[j>>2];if(c[u>>2]|0){w=c[l>>2]|0;v=c[k>>2]|0;b=c[l>>2]|0;f=c[k>>2]|0;a=c[l>>2]|0;d=c[k>>2]|0;e=c[l>>2]|0;u=c[(c[h>>2]|0)+16>>2]|0;c[p>>2]=c[k>>2];c[p+4>>2]=w;c[p+8>>2]=v;c[p+12>>2]=b;c[p+16>>2]=f;c[p+20>>2]=a;c[p+24>>2]=d;c[p+28>>2]=e;c[p+32>>2]=u;c[r>>2]=Wb(16282,p)|0;if(!(c[r>>2]|0)){c[g>>2]=7;w=c[g>>2]|0;i=t;return w|0}c[o>>2]=Zc(c[j>>2]|0,c[r>>2]|0,0,0,0)|0;Sb(c[r>>2]|0);if(c[o>>2]|0){c[g>>2]=c[o>>2];w=c[g>>2]|0;i=t;return w|0}}c[m>>2]=(c[h>>2]|0)+56;c[m+4>>2]=(c[h>>2]|0)+60;c[m+8>>2]=(c[h>>2]|0)+64;c[m+12>>2]=(c[h>>2]|0)+68;c[m+16>>2]=(c[h>>2]|0)+72;c[m+20>>2]=(c[h>>2]|0)+76;c[m+24>>2]=(c[h>>2]|0)+80;c[m+28>>2]=(c[h>>2]|0)+84;c[m+32>>2]=(c[h>>2]|0)+88;c[o>>2]=Yi(c[j>>2]|0,c[h>>2]|0)|0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<9?(c[o>>2]|0)==0:0))break;w=c[1164+(c[n>>2]<<2)>>2]|0;v=c[l>>2]|0;c[q>>2]=c[k>>2];c[q+4>>2]=v;c[s>>2]=Wb(w,q)|0;if(c[s>>2]|0)c[o>>2]=_c(c[j>>2]|0,c[s>>2]|0,-1,c[m+(c[n>>2]<<2)>>2]|0,0)|0;else c[o>>2]=7;Sb(c[s>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[g>>2]=c[o>>2];w=c[g>>2]|0;i=t;return w|0}function Yi(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;k=i;i=i+48|0;l=k+8|0;d=k+16|0;e=k+36|0;m=k+32|0;j=k+28|0;g=k+24|0;h=k+20|0;f=k;c[d>>2]=a;c[e>>2]=b;c[m>>2]=17009;b=f;c[b>>2]=0;c[b+4>>2]=0;b=c[m>>2]|0;a=c[(c[e>>2]|0)+32>>2]|0;c[l>>2]=c[(c[e>>2]|0)+28>>2];c[l+4>>2]=a;c[j>>2]=Wb(b,l)|0;if(!(c[j>>2]|0)){c[h>>2]=7;m=c[h>>2]|0;i=k;return m|0}c[h>>2]=_c(c[d>>2]|0,c[j>>2]|0,-1,g,0)|0;if(c[h>>2]|0){if((c[h>>2]|0)!=7)c[h>>2]=0}else{if((Cc(c[g>>2]|0)|0)==100){l=Mc(c[g>>2]|0,0)|0;m=f;c[m>>2]=l;c[m+4>>2]=C}c[h>>2]=ec(c[g>>2]|0)|0}do if(!(c[h>>2]|0)){m=f;if((c[m>>2]|0)==0&(c[m+4>>2]|0)==0){m=(c[e>>2]|0)+40|0;c[m>>2]=1048576;c[m+4>>2]=0;break}else{g=f;b=c[g+4>>2]|0;g=(b|0)>0|(b|0)==0&(c[g>>2]|0)>>>0>100;b=f;l=g?c[b+4>>2]|0:0;m=(c[e>>2]|0)+40|0;c[m>>2]=g?c[b>>2]|0:100;c[m+4>>2]=l;break}}while(0);Sb(c[j>>2]|0);m=c[h>>2]|0;i=k;return m|0}function Zi(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=7;if(!(c[f>>2]|0)){b=c[j>>2]|0;i=k;return b|0}c[h>>2]=0;c[j>>2]=_c(c[e>>2]|0,c[f>>2]|0,-1,h,0)|0;if(c[j>>2]|0){b=c[j>>2]|0;i=k;return b|0}if(100==(Cc(c[h>>2]|0)|0)){b=Lc(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=b}c[j>>2]=ec(c[h>>2]|0)|0;b=c[j>>2]|0;i=k;return b|0}function _i(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];jh((c[f>>2]|0)+40|0);ih((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Kd(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}ih(j);jh((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Ld(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}ih(h);ih((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];fe(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=gf(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function aj(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+63>>0]|0|0)==2|0}function bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=tb[c[(c[l>>2]|0)+36>>2]&15](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function cj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function dj(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Sl(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Tl(c[d>>2]|0)|0)<=1){i=f;return}Ul(c[e>>2]|0)|0;i=f;return}function ej(d,e,f,g,h,j,k){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,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+112|0;s=L+92|0;t=L+84|0;u=L+40|0;v=L+44|0;w=L;l=L+16|0;x=L+20|0;y=L+24|0;o=L+28|0;D=L+72|0;E=L+80|0;H=L+88|0;B=L+96|0;F=L+48|0;m=L+52|0;J=L+56|0;C=L+60|0;I=L+8|0;p=L+64|0;G=L+12|0;r=L+32|0;n=L+68|0;q=L+36|0;z=L+76|0;A=L+4|0;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[x>>2]=j;c[y>>2]=k;c[D>>2]=0;c[E>>2]=0;c[H>>2]=0;c[B>>2]=0;c[F>>2]=0;c[J>>2]=0;c[C>>2]=0;c[I>>2]=(c[l>>2]&1|0)==0&1;c[p>>2]=tl()|0;c[G>>2]=1024;c[r>>2]=0;c[n>>2]=0;f=c[(c[t>>2]|0)+4>>2]|0;if((f|0)>(Wj()|0))c[m>>2]=(c[(c[t>>2]|0)+4>>2]|0)+7&-8;else c[m>>2]=(Wj()|0)+7&-8;c[c[u>>2]>>2]=0;do if(((c[l>>2]&2|0)!=0?(c[B>>2]=1,(c[v>>2]|0)!=0):0)?(a[c[v>>2]>>0]|0)!=0:0){c[J>>2]=ef(0,c[v>>2]|0)|0;if(c[J>>2]|0){c[C>>2]=Ed(c[J>>2]|0)|0;c[v>>2]=0;break}c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}while(0);if((c[v>>2]|0)!=0?(a[c[v>>2]>>0]|0)!=0:0){c[C>>2]=(c[(c[t>>2]|0)+8>>2]|0)+1;f=c[C>>2]<<1;c[J>>2]=qf(0,f,((f|0)<0)<<31>>31)|0;if(!(c[J>>2]|0)){c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}a[c[J>>2]>>0]=0;c[E>>2]=bj(c[t>>2]|0,c[v>>2]|0,c[C>>2]|0,c[J>>2]|0)|0;c[C>>2]=Ed(c[J>>2]|0)|0;f=(Ed(c[v>>2]|0)|0)+1|0;f=(c[v>>2]|0)+f|0;c[r>>2]=f;c[q>>2]=f;while(1){l=c[q>>2]|0;if(!(a[c[q>>2]>>0]|0))break;f=(Ed(l)|0)+1|0;c[q>>2]=(c[q>>2]|0)+f;f=(Ed(c[q>>2]|0)|0)+1|0;c[q>>2]=(c[q>>2]|0)+f}c[n>>2]=l+1-(c[r>>2]|0);if((c[E>>2]|0)==0?((c[C>>2]|0)+8|0)>(c[(c[t>>2]|0)+8>>2]|0):0)c[E>>2]=ll(45462)|0;if(c[E>>2]|0){Nd(0,c[J>>2]|0);c[s>>2]=c[E>>2];K=c[s>>2]|0;i=L;return K|0}}c[o>>2]=de(216+((c[p>>2]|0)+7&-8)+((c[(c[t>>2]|0)+4>>2]|0)+7&-8)+(c[m>>2]<<1)+(c[C>>2]|0)+1+(c[n>>2]|0)+(c[C>>2]|0)+8+2+(c[C>>2]|0)+4+2|0,0)|0;if(!(c[o>>2]|0)){Nd(0,c[J>>2]|0);c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}c[D>>2]=c[o>>2];q=(c[o>>2]|0)+216|0;c[o>>2]=q;c[(c[D>>2]|0)+204>>2]=q;q=(c[o>>2]|0)+((c[p>>2]|0)+7&-8)|0;c[o>>2]=q;c[(c[D>>2]|0)+60>>2]=q;q=(c[o>>2]|0)+((c[(c[t>>2]|0)+4>>2]|0)+7&-8)|0;c[o>>2]=q;c[(c[D>>2]|0)+68>>2]=q;q=(c[o>>2]|0)+(c[m>>2]|0)|0;c[o>>2]=q;c[(c[D>>2]|0)+64>>2]=q;q=(c[o>>2]|0)+(c[m>>2]|0)|0;c[o>>2]=q;c[(c[D>>2]|0)+168>>2]=q;if(c[J>>2]|0){q=(c[o>>2]|0)+((c[C>>2]|0)+1+(c[n>>2]|0))|0;c[o>>2]=q;c[(c[D>>2]|0)+172>>2]=q;EH(c[(c[D>>2]|0)+168>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;if(c[n>>2]|0)EH((c[(c[D>>2]|0)+168>>2]|0)+((c[C>>2]|0)+1)|0,c[r>>2]|0,c[n>>2]|0)|0;EH(c[(c[D>>2]|0)+172>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;g=(c[(c[D>>2]|0)+172>>2]|0)+(c[C>>2]|0)|0;h=17572;l=g+10|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(l|0));c[(c[D>>2]|0)+212>>2]=(c[(c[D>>2]|0)+172>>2]|0)+((c[C>>2]|0)+8+1);EH(c[(c[D>>2]|0)+212>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;C=(c[(c[D>>2]|0)+212>>2]|0)+(c[C>>2]|0)|0;a[C>>0]=a[17582]|0;a[C+1>>0]=a[17583]|0;a[C+2>>0]=a[17584]|0;a[C+3>>0]=a[17585]|0;a[C+4>>0]=a[17586]|0;Nd(0,c[J>>2]|0)}c[c[D>>2]>>2]=c[t>>2];c[(c[D>>2]|0)+144>>2]=c[x>>2];do if((c[v>>2]|0)!=0?(a[c[v>>2]>>0]|0)!=0:0){c[z>>2]=0;c[E>>2]=gk(c[t>>2]|0,c[(c[D>>2]|0)+168>>2]|0,c[(c[D>>2]|0)+60>>2]|0,c[x>>2]|0,z)|0;c[F>>2]=c[z>>2]&1;if(!(c[E>>2]|0)){c[A>>2]=dk(c[(c[D>>2]|0)+60>>2]|0)|0;do if((c[F>>2]|0)==0?(ck(c[D>>2]|0),(c[G>>2]|0)>>>0<(c[(c[D>>2]|0)+148>>2]|0)>>>0):0)if((c[(c[D>>2]|0)+148>>2]|0)>>>0>8192){c[G>>2]=8192;break}else{c[G>>2]=c[(c[D>>2]|0)+148>>2];break}while(0);J=(Dd(c[v>>2]|0,17588,0)|0)&255;a[(c[D>>2]|0)+13>>0]=J;if((c[A>>2]&8192|0)==0?(Dd(c[v>>2]|0,17595,0)|0)==0:0)break;c[x>>2]=c[x>>2]|1;K=39}}else K=39;while(0);if((K|0)==39){c[H>>2]=1;a[(c[D>>2]|0)+16>>0]=1;a[(c[D>>2]|0)+17>>0]=4;a[(c[D>>2]|0)+13>>0]=1;c[F>>2]=c[x>>2]&1}if(!(c[E>>2]|0))c[E>>2]=Ag(c[D>>2]|0,G,-1)|0;if(!(c[E>>2]|0)){c[w>>2]=(c[w>>2]|0)+7&-8;c[E>>2]=vl(c[G>>2]|0,c[w>>2]|0,((c[B>>2]|0)!=0^1)&1,(c[B>>2]|0)!=0^1?39:0,c[D>>2]|0,c[(c[D>>2]|0)+204>>2]|0)|0}if(c[E>>2]|0){uj(c[(c[D>>2]|0)+60>>2]|0)|0;Gg(c[(c[D>>2]|0)+200>>2]|0);Sb(c[D>>2]|0);c[s>>2]=c[E>>2];K=c[s>>2]|0;i=L;return K|0}a[(c[D>>2]|0)+6>>0]=c[I>>2];c[(c[D>>2]|0)+156>>2]=1073741823;a[(c[D>>2]|0)+12>>0]=c[H>>2];a[(c[D>>2]|0)+4>>0]=c[H>>2];a[(c[D>>2]|0)+18>>0]=a[(c[D>>2]|0)+12>>0]|0;a[(c[D>>2]|0)+15>>0]=c[B>>2];a[(c[D>>2]|0)+14>>0]=c[F>>2];a[(c[D>>2]|0)+7>>0]=a[(c[D>>2]|0)+12>>0]|0;if(!(a[(c[D>>2]|0)+7>>0]|0)){a[(c[D>>2]|0)+8>>0]=1;a[(c[D>>2]|0)+11>>0]=2;a[(c[D>>2]|0)+10>>0]=34;a[(c[D>>2]|0)+9>>0]=2}b[(c[D>>2]|0)+140>>1]=c[w>>2];K=(c[D>>2]|0)+160|0;c[K>>2]=-1;c[K+4>>2]=-1;ck(c[D>>2]|0);if(c[I>>2]|0){if(c[B>>2]|0)a[(c[D>>2]|0)+5>>0]=4}else a[(c[D>>2]|0)+5>>0]=2;c[(c[D>>2]|0)+196>>2]=c[y>>2];c[c[u>>2]>>2]=c[D>>2];c[s>>2]=0;K=c[s>>2]|0;i=L;return K|0}function fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+128|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;Hg(c[f>>2]|0);i=e;return}function gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;BH(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+60>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=hk(c[(c[e>>2]|0)+60>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function hj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=sl((c[(c[d>>2]|0)+4>>2]|0)+444|0)|0;i=b;return a|0}function ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+176>>2]=c[j>>2];c[(c[e>>2]|0)+180>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+60>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+176;Wk(c[(c[e>>2]|0)+60>>2]|0,15,c[f>>2]|0);i=g;return}function jj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+14>>0]|0}function kj(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function lj(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+200>>2];gh();oj(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;pj(c[(c[e>>2]|0)+208>>2]|0,d[(c[e>>2]|0)+9>>0]|0,c[(c[e>>2]|0)+152>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+208>>2]=0;Eg(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+15>>0]|0)qj(b);else{if(c[c[b+64>>2]>>2]|0){b=c[e>>2]|0;sj(b,rj(c[e>>2]|0)|0)|0}tj(c[e>>2]|0)}hh();uj(c[(c[e>>2]|0)+64>>2]|0)|0;uj(c[(c[e>>2]|0)+60>>2]|0)|0;Gg(c[f>>2]|0);vj(c[(c[e>>2]|0)+204>>2]|0);Sb(c[e>>2]|0);i=g;return 0}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;nj(c[(c[f>>2]|0)+204>>2]|0,c[e>>2]|0);i=d;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[33]|0;b=c[(c[f>>2]|0)+40>>2]|0;a=Jg(c[f>>2]|0)|0;ob[e&7](b,a);i=d;return}function oj(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+136>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Sb(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function pj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+8|0;j=p+16|0;k=p+20|0;l=p+24|0;o=p+4|0;n=p;m=p+12|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Uk(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Vk(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Wk(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Xk(c[h>>2]|0,0,0)}}while(0);Yk(c[h>>2]|0,c[n>>2]|0);uj(c[(c[h>>2]|0)+8>>2]|0)|0;if(c[n>>2]|0){gh();Dj(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+100>>2]|0,0)|0;hh()}Sb(c[(c[h>>2]|0)+32>>2]|0);Sb(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function qj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;Wg(c[(c[e>>2]|0)+56>>2]|0);c[(c[e>>2]|0)+56>>2]=0;yj(c[e>>2]|0);j=(Fj(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[e>>2]|0)+60>>2]>>2]|0)b=dk(c[(c[e>>2]|0)+60>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[e>>2]|0)+5>>0]&5|0):0))uj(c[(c[e>>2]|0)+64>>2]|0)|0;c[g>>2]=Jj(c[e>>2]|0,0)|0;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0)==6:0)a[(c[e>>2]|0)+17>>0]=5;a[(c[e>>2]|0)+18>>0]=0;a[(c[e>>2]|0)+16>>0]=0}}else{Tk(c[b+208>>2]|0);a[(c[e>>2]|0)+16>>0]=0}if(!(c[(c[e>>2]|0)+40>>2]|0)){j=c[e>>2]|0;j=j+72|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+19|0;a[j>>0]=0;i=h;return}Eg(c[e>>2]|0);a[(c[e>>2]|0)+18>>0]=a[(c[e>>2]|0)+12>>0]|0;a[(c[e>>2]|0)+16>>0]=0;c[(c[e>>2]|0)+40>>2]=0;j=c[e>>2]|0;j=j+72|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+19|0;a[j>>0]=0;i=h;return}function rj(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=Bj(c[(c[d>>2]|0)+64>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Cg(c[(c[d>>2]|0)+64>>2]|0,(c[d>>2]|0)+80|0)|0;e=c[e>>2]|0;i=f;return e|0}function sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+40>>2]=c[f>>2];a[(c[e>>2]|0)+16>>0]=6;h=c[f>>2]|0;i=g;return h|0}function tj(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+16>>0]|0)!=6?(d[(c[e>>2]|0)+16>>0]|0)!=0:0){if((d[(c[e>>2]|0)+16>>0]|0)>=2){gh();wj(c[e>>2]|0)|0;hh();break}if(!(a[(c[e>>2]|0)+4>>0]|0))xj(c[e>>2]|0,0,0)|0}while(0);qj(c[e>>2]|0);i=f;return}function uj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=qb[c[(c[c[b>>2]>>2]|0)+4>>2]&31](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;d=c[d>>2]|0;i=e;return d|0}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nb[c[156>>2]&31](c[(c[d>>2]|0)+40>>2]|0);i=b;return}function wj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+16>>0]|0)==6){c[e>>2]=c[b+40>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+16>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(Fj(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Xj(b,2,-1)|0;c[j>>2]=xj(c[f>>2]|0,d[(c[f>>2]|0)+19>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+64>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+16>>0]|0)!=2:0){c[h>>2]=Yj(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+16>>0];c[h>>2]=xj(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+15>>0]|0)==0:0){c[(c[f>>2]|0)+40>>2]=4;a[(c[f>>2]|0)+16>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=sj(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function xj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;m=o+4|0;n=o;l=o+12|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0)<2?(d[(c[h>>2]|0)+17>>0]|0)<2:0){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}yj(c[h>>2]|0);a:do if(c[c[(c[h>>2]|0)+64>>2]>>2]|0){b=(zj(c[(c[h>>2]|0)+64>>2]|0)|0)!=0;e=c[h>>2]|0;if(b){uj(c[e+64>>2]|0)|0;break}f=c[h>>2]|0;if((d[e+5>>0]|0)==3){l=f+72|0;if(!((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)){c[m>>2]=Aj(c[(c[h>>2]|0)+64>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[h>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=Bj(c[(c[h>>2]|0)+64>>2]|0,d[(c[h>>2]|0)+11>>0]|0)|0}else c[m>>2]=0;l=(c[h>>2]|0)+72|0;c[l>>2]=0;c[l+4>>2]=0;break}else{do if((d[f+5>>0]|0)!=1){if((d[(c[h>>2]|0)+4>>0]|0)!=0?(d[(c[h>>2]|0)+5>>0]|0)!=5:0)break;c[l>>2]=((a[(c[h>>2]|0)+12>>0]|0)!=0?0:1)&1;uj(c[(c[h>>2]|0)+64>>2]|0)|0;if(!(c[l>>2]|0))break a;c[m>>2]=Dj(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+172>>2]|0,0)|0;break a}while(0);c[m>>2]=Cj(c[h>>2]|0,c[j>>2]|0)|0;l=(c[h>>2]|0)+72|0;c[l>>2]=0;c[l+4>>2]=0;break}}while(0);Wg(c[(c[h>>2]|0)+56>>2]|0);c[(c[h>>2]|0)+56>>2]=0;c[(c[h>>2]|0)+44>>2]=0;Ej(c[(c[h>>2]|0)+204>>2]|0);Mg(c[(c[h>>2]|0)+204>>2]|0,c[(c[h>>2]|0)+24>>2]|0);if(!(Fj(c[h>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[h>>2]|0)+32>>2]|0)>>>0>(c[(c[h>>2]|0)+24>>2]|0)>>>0:0)c[m>>2]=Hj(c[h>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0}else c[n>>2]=Gj(c[(c[h>>2]|0)+208>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[c[(c[h>>2]|0)+60>>2]>>2]|0)!=0:0){l=gg(c[(c[h>>2]|0)+60>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[h>>2]|0)+4>>0]|0)){if((Fj(c[h>>2]|0)|0)!=0?(Ij(c[(c[h>>2]|0)+208>>2]|0,0)|0)==0:0)break;c[n>>2]=Jj(c[h>>2]|0,1)|0;a[(c[h>>2]|0)+18>>0]=0}while(0);a[(c[h>>2]|0)+16>>0]=1;a[(c[h>>2]|0)+19>>0]=0;c[g>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[g>>2]|0;i=o;return n|0}function yj(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+96>>2]|0))break;Wg(c[(c[(c[d>>2]|0)+92>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(zj(c[(c[d>>2]|0)+68>>2]|0)|0)==0:0))uj(c[(c[d>>2]|0)+68>>2]|0)|0;Sb(c[(c[d>>2]|0)+92>>2]|0);c[(c[d>>2]|0)+92>>2]=0;c[(c[d>>2]|0)+96>>2]=0;c[(c[d>>2]|0)+52>>2]=0;i=f;return}function zj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==2020|0}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=lb[c[(c[c[f>>2]>>2]|0)+16>>2]&31](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function Bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vb[c[(c[c[f>>2]>>2]|0)+20>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Cj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+72|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+160|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+64>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=Aj(e,0,0)|0;else c[j>>2]=Ae(e,17365,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=Bj(c[(c[f>>2]|0)+64>>2]|0,16|d[(c[f>>2]|0)+11>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Cg(c[(c[f>>2]|0)+64>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=Aj(c[(c[f>>2]|0)+64>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function Dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=lb[c[(c[h>>2]|0)+28>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Ej(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;Ng(c[d>>2]|0)}i=e;return}function Fj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+208>>2]|0)!=0|0}function Gj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Oj(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function Hj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+28|0;f=m+24|0;k=m+32|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+60>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+16>>0]|0|0)<4?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+152>>2];c[k>>2]=Cg(c[(c[e>>2]|0)+60>>2]|0,g)|0;b=c[l>>2]|0;b=MH(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=DH(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+200>>2];BH(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+60>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=AH(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Ae(a,j,n,o,C)|0}}else{o=h;c[k>>2]=Aj(c[(c[e>>2]|0)+60>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+32>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Ij(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Mj(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Lj(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Jj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+60>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+13>>0]|0)e=0;else e=Kj(c[(c[f>>2]|0)+60>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+17>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+17>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=vb[c[(c[c[f>>2]>>2]|0)+32>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Lj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Nj(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Nj(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Nj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=tb[c[(c[c[k>>2]>>2]|0)+56>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Oj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Nj(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Pj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Sj(c[d>>2]|0,0,0)|0;i=b;return 0}function Qj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;r=i;i=i+64|0;t=r+44|0;s=r+20|0;n=r+36|0;o=r+8|0;p=r+24|0;m=r+48|0;l=r+52|0;g=r+16|0;q=r+28|0;h=r;j=r+32|0;k=r+40|0;c[t>>2]=a;c[s>>2]=b;c[n>>2]=d;d=o;c[d>>2]=e;c[d+4>>2]=f;c[p>>2]=c[t>>2];c[m>>2]=c[s>>2];c[l>>2]=c[n>>2];d=(c[p>>2]|0)+24|0;a=o;b=o;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=h;c[t>>2]=0;c[t+4>>2]=0;c[q>>2]=c[(c[p>>2]|0)+4>>2];while(1){if(!(c[q>>2]|0))break a;s=h;s=DH(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;a=C;t=o;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=h;s=DH(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;t=h;c[t>>2]=s;c[t+4>>2]=C;c[q>>2]=c[c[q>>2]>>2]}}else c[q>>2]=c[(c[p>>2]|0)+24+8>>2];while(0);t=o;t=LH(c[t>>2]|0,c[t+4>>2]|0,1020,0)|0;c[g>>2]=t;while(1){c[j>>2]=1020-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)<(1020-(c[g>>2]|0)|0)?c[l>>2]|0:1020-(c[g>>2]|0)|0;EH(c[m>>2]|0,(c[q>>2]|0)+4+(c[g>>2]|0)|0,c[k>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[k>>2]|0);c[l>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[g>>2]=0;if((c[l>>2]|0)<0){e=10;break}t=c[c[q>>2]>>2]|0;c[q>>2]=t;if(!((t|0)!=0&(c[l>>2]|0)>0)){e=10;break}}if((e|0)==10){t=o;s=c[n>>2]|0;s=DH(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(c[p>>2]|0)+24|0;c[t>>2]=s;c[t+4>>2]=C;c[(c[p>>2]|0)+24+8>>2]=c[q>>2];i=r;return 0}return 0}function Rj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;p=i;i=i+64|0;o=p+8|0;s=p+20|0;q=p+40|0;r=p+16|0;k=p+44|0;j=p+48|0;n=p+32|0;l=p+36|0;g=p+12|0;h=p+28|0;m=p+24|0;c[s>>2]=a;c[q>>2]=b;c[r>>2]=d;b=p;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[s>>2];c[j>>2]=c[r>>2];c[n>>2]=c[q>>2];while(1){if((c[j>>2]|0)<=0){e=11;break}c[l>>2]=c[(c[k>>2]|0)+8+8>>2];s=(c[k>>2]|0)+8|0;s=LH(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;c[g>>2]=s;c[h>>2]=(c[j>>2]|0)<(1020-(c[g>>2]|0)|0)?c[j>>2]|0:1020-(c[g>>2]|0)|0;if(!(c[g>>2]|0)){c[m>>2]=Rb(1024)|0;if(!(c[m>>2]|0)){e=5;break}c[c[m>>2]>>2]=0;e=c[m>>2]|0;if(c[l>>2]|0)c[c[l>>2]>>2]=e;else c[(c[k>>2]|0)+4>>2]=e;c[(c[k>>2]|0)+8+8>>2]=c[m>>2]}EH((c[(c[k>>2]|0)+8+8>>2]|0)+4+(c[g>>2]|0)|0,c[n>>2]|0,c[h>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[h>>2]|0);c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0);r=c[h>>2]|0;s=(c[k>>2]|0)+8|0;q=s;r=DH(c[q>>2]|0,c[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[s>>2]=r;c[s+4>>2]=C}if((e|0)==5){c[o>>2]=3082;s=c[o>>2]|0;i=p;return s|0}else if((e|0)==11){c[o>>2]=0;s=c[o>>2]|0;i=p;return s|0}return 0}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+20|0;j=h+16|0;f=h+12|0;g=h+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=c[e>>2];c[f>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[c[f>>2]>>2];Sb(c[g>>2]|0)}Vj(c[e>>2]|0);i=h;return 0}function Tj(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+8|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Vj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=c[d>>2]|0;BH(a|0,0,Wj()|0)|0;c[c[d>>2]>>2]=2020;i=b;return}function Wj(){return 40} +function yb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function zb(){return i|0}function Ab(a){a=a|0;i=a}function Bb(a,b){a=a|0;b=b|0;i=a;j=b}function Cb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Db(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 Eb(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 Fb(a){a=a|0;C=a}function Gb(){return C|0}function Hb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(Ib(c[d>>2]|0,13840,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Ed(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=6){d=9;break}if((Ib(c[d>>2]|0,c[364+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Fd(a[(c[364+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Ib(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j;c[l>>2]=a;c[k>>2]=b;c[f>>2]=e;c[g>>2]=c[l>>2];c[h>>2]=c[k>>2];while(1){l=c[f>>2]|0;c[f>>2]=l+-1;if((l|0)<=0)break;if(!(d[c[g>>2]>>0]|0))break;if((d[13848+(d[c[g>>2]>>0]|0)>>0]|0|0)!=(d[13848+(d[c[h>>2]>>0]|0)>>0]|0|0))break;c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}if((c[f>>2]|0)<0){l=0;i=j;return l|0}l=(d[13848+(d[c[g>>2]>>0]|0)>>0]|0)-(d[13848+(d[c[h>>2]>>0]|0)>>0]|0)|0;i=j;return l|0}function Jb(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<6){c[b>>2]=c[364+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Kb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[g>>2]|0)<0|(c[g>>2]|0)>=10){c[f>>2]=Gd(14581)|0;e=c[f>>2]|0;i=l;return e|0}c[c[h>>2]>>2]=c[388+(c[g>>2]<<2)>>2];c[c[j>>2]>>2]=c[428+(c[g>>2]<<2)>>2];if(c[k>>2]|0)c[428+(c[g>>2]<<2)>>2]=c[388+(c[g>>2]<<2)>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Lb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Mb()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[117];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(aH(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Mb(){var a=0,b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;e=f+4|0;a=f;if(c[58]|0){c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}c[e>>2]=0;if(c[e>>2]|0){c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[60]=1;if(!(c[61]|0))c[e>>2]=Od()|0;if(((c[e>>2]|0)==0?(c[61]=1,(c[64]|0)==0):0)?(c[64]=8,!((c[3]|0)==0|(c[64]|0)!=0)):0)c[e>>2]=7;if(!(c[e>>2]|0))c[63]=(c[63]|0)+1;if(c[e>>2]|0){c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}if((c[58]|0)==0&(c[59]|0)==0){c[a>>2]=472;c[59]=1;a=c[a>>2]|0;b=a+92|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));Pd();if(!(c[62]|0))c[e>>2]=Qd()|0;if(!(c[e>>2]|0)){c[62]=1;c[e>>2]=Rd()|0}if(!(c[e>>2]|0)){Sd(c[53]|0,c[54]|0,c[55]|0);c[58]=1}c[59]=0}c[63]=(c[63]|0)+-1;if((c[63]|0)<=0)c[64]=0;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}function Nb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Mb()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Td(c[f>>2]|0);b=c[117]|0;if((c[g>>2]|0)!=0|(c[117]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[117]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[117]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Ob(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Pb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+48|0;d=h+24|0;e=h+16|0;g=h+8|0;f=h;j=h+32|0;k=e;c[k>>2]=a;c[k+4>>2]=b;c[j>>2]=Mb()|0;if(c[j>>2]|0){j=d;c[j>>2]=-1;c[j+4>>2]=-1;j=d;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}b=288;j=c[b+4>>2]|0;k=g;c[k>>2]=c[b>>2];c[k+4>>2]=j;if((c[e+4>>2]|0)<0){k=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=k;j=d;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}k=e;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0){k=e;Ud(2,0,c[k>>2]|0,c[k+4>>2]|0)|0}else Ud(0,0,0,0)|0;k=Qb()|0;j=e;j=AH(k|0,C|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C;k=f;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0)Ob(c[f>>2]&2147483647)|0;k=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=k;j=d;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function Qb(){var a=0,b=0,d=0,e=0;b=i;i=i+16|0;e=b+12|0;a=b;Kb(0,e,b+8|0,0)|0;e=c[e>>2]|0;d=a;c[d>>2]=e;c[d+4>>2]=((e|0)<0)<<31>>31;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Rb(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Mb()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=Wd(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Sb(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){Xd(0,0-(Jd(c[b>>2]|0)|0)|0);Xd(9,-1);nb[c[48>>2]&31](c[b>>2]|0);i=d;return}else{nb[c[48>>2]&31](c[b>>2]|0);i=d;return}}function Tb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Mb()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=Yd(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Ub(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Mb()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=Yd(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Vb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;e=k+40|0;f=k+36|0;g=k+32|0;j=k+28|0;h=k;c[f>>2]=b;c[g>>2]=d;if(Mb()|0){c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{Zd(h,k+44|0,70,1e9);a[h+24>>0]=2;_d(h,0,c[f>>2]|0,c[g>>2]|0);c[j>>2]=$d(h)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}return 0}function Wb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Mb()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Vb(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Xb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;g=m+44|0;h=m+40|0;n=m+36|0;j=m+32|0;k=m+28|0;l=m;c[h>>2]=b;c[n>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[n>>2]|0;if((c[h>>2]|0)<=0){c[g>>2]=f;n=c[g>>2]|0;i=m;return n|0}else{Zd(l,f,c[h>>2]|0,0);a[l+24>>0]=0;_d(l,0,c[j>>2]|0,c[k>>2]|0);c[g>>2]=$d(l)|0;n=c[g>>2]|0;i=m;return n|0}return 0}function Yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Xb(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[65]|0)){i=h;return}c[g>>2]=d;ae(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function _b(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+288|0;f=l+12|0;m=l+8|0;j=l+272|0;k=l+4|0;g=l;h=l+16|0;c[f>>2]=b;c[m>>2]=e;c[k>>2]=c[m>>2];if((c[f>>2]|0)<=0){a[14104]=0;i=l;return}if(!(a[14104]|0)){a[14106]=0;a[14105]=0;be(Lb(0)|0,256,h)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=256)break;a[14107+(c[g>>2]|0)>>0]=c[g>>2];c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=256)break;a[14106]=(d[14106]|0)+((d[14107+(c[g>>2]|0)>>0]|0)+(a[h+(c[g>>2]|0)>>0]|0));a[j>>0]=a[14107+(d[14106]|0)>>0]|0;a[14107+(d[14106]|0)>>0]=a[14107+(c[g>>2]|0)>>0]|0;a[14107+(c[g>>2]|0)>>0]=a[j>>0]|0;c[g>>2]=(c[g>>2]|0)+1}a[14104]=1}do{a[14105]=(a[14105]|0)+1<<24>>24;a[j>>0]=a[14107+(d[14105]|0)>>0]|0;a[14106]=(d[14106]|0)+(d[j>>0]|0);a[14107+(d[14105]|0)>>0]=a[14107+(d[14106]|0)>>0]|0;a[14107+(d[14106]|0)>>0]=a[j>>0]|0;a[j>>0]=(d[j>>0]|0)+(d[14107+(d[14105]|0)>>0]|0);e=a[14107+(d[j>>0]|0)>>0]|0;m=c[k>>2]|0;c[k>>2]=m+1;a[m>>0]=e;m=(c[f>>2]|0)+-1|0;c[f>>2]=m}while((m|0)!=0);i=l;return}function $b(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[f>>2]=c[h>>2];while(1){if(d[c[e>>2]>>0]|0)a=(d[13848+(d[c[e>>2]>>0]|0)>>0]|0|0)==(d[13848+(d[c[f>>2]>>0]|0)>>0]|0|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=b+1;c[f>>2]=(c[f>>2]|0)+1}i=g;return (d[13848+(d[b>>0]|0)>>0]|0)-(d[13848+(d[c[f>>2]>>0]|0)>>0]|0)|0}function ac(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Nb(564+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function bc(a,b){a=a|0;b=b|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,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+104|0;f=F+96|0;D=F+88|0;e=F+56|0;B=F+28|0;p=F+24|0;z=F+52|0;x=F+36|0;j=F+40|0;m=F+44|0;s=F+92|0;h=F+100|0;o=F+108|0;k=F+60|0;q=F+64|0;v=F+8|0;y=F+72|0;g=F+76|0;l=F+32|0;u=F;t=F+16|0;n=F+80|0;A=F+68|0;w=F+48|0;E=F+84|0;c[r>>2]=a;c[f>>2]=b;c[B>>2]=0;c[p>>2]=0;fe(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ge(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Id(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Id(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=he(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;ie(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}if((c[D>>2]|0)==0?0==(je(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=he(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[B>>2]=ke(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=ke(c[(c[r>>2]|0)+4>>2]|0)|0;c[e>>2]=le(Id(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[e>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=me(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[f>>2]|0)>=0?(c[j>>2]|0)>=(c[f>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=ne(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=pe(b,a,oe(c[o>>2]|0)|0,0)|0;qe(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))re(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=se(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=te(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)ue(c[c[r>>2]>>2]|0);if((c[e>>2]|0)==5)c[D>>2]=ve(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[229]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=MH(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=we(c[x>>2]|0)|0;xe(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=ne(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=ye(c[n>>2]|0)|0;qe(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=ze(c[x>>2]|0,0,1)|0;o=(c[229]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[229]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[229]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=KH(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=DH(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=ne(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=oe(c[A>>2]|0)|0;q=u;c[D>>2]=Ae(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}qe(c[A>>2]|0);p=c[B>>2]|0;q=u;p=DH(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Be(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Ce(c[x>>2]|0,0)|0}else{De(c[x>>2]|0,c[k>>2]|0);c[D>>2]=ze(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Ee(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Fe(c[(c[r>>2]|0)+24>>2]|0,0)|0;Ee(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function cc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];fe(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Ge(Id(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}He(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){ee(c[c[e>>2]>>2]|0,c[g>>2]|0);Ie(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Sb(c[e>>2]|0);Ie(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function dc(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}if(!((e[(c[b>>2]|0)+88>>1]|0)>>>10&1)){f=0;i=d;return f|0}f=c[(c[b>>2]|0)+168>>2]|0;i=d;return f|0}function ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;do if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(!(Je(c[g>>2]|0)|0)){c[f>>2]=Ke(c[g>>2]|0)|0;c[f>>2]=Le(c[e>>2]|0,c[f>>2]|0)|0;Ie(c[e>>2]|0);break}c[b>>2]=Gd(67386)|0;g=c[b>>2]|0;i=h;return g|0}while(0);c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function fc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}else{c[e>>2]=c[b>>2];c[d>>2]=Me(c[e>>2]|0)|0;Ne(c[e>>2]|0);c[d>>2]=Le(c[c[e>>2]>>2]|0,c[d>>2]|0)|0;e=c[d>>2]|0;i=f;return e|0}return 0}function gc(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[g>>2]=0;c[f>>2]=c[j>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;Oe((c[(c[f>>2]|0)+60>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[f>>2]|0)+60>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[(c[f>>2]|0)+88>>1]|0)>>>10&1)){j=c[g>>2]|0;i=h;return j|0}if(!(c[(c[f>>2]|0)+188>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=(c[f>>2]|0)+88|0;b[j>>1]=b[j>>1]&-33|32;j=c[g>>2]|0;i=h;return j|0}function hc(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=ic(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}Pe(c[f>>2]|0)|0;a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function ic(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Qe(c[d>>2]|0,1)|0;i=b;return a|0}function jc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Re(c[d>>2]|0,1)|0;i=b;return a|0}function kc(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+Se(c[e>>2]|0);i=d;return +b}function lc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Te(c[d>>2]|0)|0;i=b;return a|0}function mc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Te(c[d>>2]|0)|0;i=b;return a|0}function nc(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[14363+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;Ue(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function pc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){Ve(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{Ue(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function qc(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;We(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;Xe(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;Ye(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;Ye(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function uc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ze(c[c[d>>2]>>2]|0);i=b;return}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;Ue(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function wc(b,e,f,g,h,j){b=b|0;e=e|0;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;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[920]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){Ve(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{Ue(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;_e(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$e(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return}function zc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;Xe(b,af(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function Ac(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;Xe(c[c[e>>2]>>2]|0,14395,-1,1,0)|0;i=d;return}function Bc(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Ze(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;a[(c[(c[c[e>>2]>>2]|0)+32>>2]|0)+64>>0]=1;i=d;return}function Cc(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+28|0;f=o+16|0;j=o+4|0;k=o+8|0;m=o+32|0;g=o;h=o+12|0;l=o+24|0;n=o+20|0;c[f>>2]=d;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[f>>2];c[g>>2]=0;if(bf(c[m>>2]|0)|0){c[e>>2]=Gd(67871)|0;n=c[e>>2]|0;i=o;return n|0}c[h>>2]=c[c[m>>2]>>2];d=(c[m>>2]|0)+88|0;b[d>>1]=b[d>>1]&-2049;while(1){d=cf(c[m>>2]|0)|0;c[j>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[l>>2]=c[(c[m>>2]|0)+76>>2];d=df(c[m>>2]|0)|0;c[j>>2]=d;c[k>>2]=d;if(c[j>>2]|0)break;fc(c[f>>2]|0)|0;if((c[l>>2]|0)<0)continue;d=(c[m>>2]|0)+88|0;b[d>>1]=b[d>>1]&-2049|2048}do if(c[k>>2]|0){c[n>>2]=ic(c[(c[h>>2]|0)+232>>2]|0)|0;Nd(c[h>>2]|0,c[(c[m>>2]|0)+44>>2]|0);if(a[(c[h>>2]|0)+64>>0]|0){c[(c[m>>2]|0)+44>>2]=0;c[j>>2]=7;c[(c[m>>2]|0)+80>>2]=7;break}else{n=ef(c[h>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=n;c[(c[m>>2]|0)+80>>2]=c[k>>2];break}}while(0);c[j>>2]=Le(c[h>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=o;return n|0}function Dc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function Ec(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function Fc(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=ff(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Gc(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+84>>1]|0;i=d;return f|0}function Hc(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+20>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+84>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=hc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=jc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+kc(hf(c[f>>2]|0,c[g>>2]|0)|0);jf(c[f>>2]|0);i=e;return +(+h[d>>3])}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=lc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=mc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;jf(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ic(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Oc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=nc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=kf(c[f>>2]|0,c[e>>2]|0,22,0)|0;i=d;return a|0}function Qc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=lf(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Rc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=mf(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}We((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Tc(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=mf(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;Ye((c[(c[h>>2]|0)+60>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=mf(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=lf(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=nf(a,b,Ed(c[e>>2]|0)|0)|0;i=d;return b|0}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=nc(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];pf(c[e>>2]|0,0);c[d>>2]=nc(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Jf(c[f>>2]|0,c[e>>2]|0,14421,0)|0)==0&1;i=d;return b|0}function Zc(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+52|0;k=z+44|0;l=z+24|0;m=z+20|0;n=z+12|0;o=z+40|0;w=z+48|0;x=z+56|0;v=z+28|0;p=z+8|0;r=z+4|0;t=z+32|0;q=z;s=z+16|0;u=z+36|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Kf(c[k>>2]|0)|0)){c[j>>2]=Gd(99392)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=14425;ee(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=_c(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=Gc(c[v>>2]|0)|0;do{c[w>>2]=Cc(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=gf(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=Pc(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Nc(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(Oc(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(tb[c[m>>2]&15](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Ke(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[14426+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Nd(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)a[(c[k>>2]|0)+64>>0]=1;else if((y|0)==30){c[w>>2]=4;Ke(c[v>>2]|0)|0;c[v>>2]=0;ee(c[k>>2]|0,4)}if(c[v>>2]|0)Ke(c[v>>2]|0)|0;Nd(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Le(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Ed($c(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=Wd(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=$c(c[k>>2]|0)|0;EH(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;ee(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function _c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Lf(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function $c(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=af(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Mf(c[e>>2]|0)|0)){c[d>>2]=af(Gd(126852)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+64>>0]|0)){c[f>>2]=ic(c[(c[e>>2]|0)+232>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=af(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=af(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function ad(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Lf(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Nf(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function cd(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;p=i;i=i+32|0;n=p;g=p+8|0;h=p+20|0;j=p+16|0;k=p+24|0;m=p+4|0;l=p+12|0;o=p+28|0;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[o>>2]=0;if((c[(c[h>>2]|0)+324>>2]|0)!=0?(f=c[(c[(c[h>>2]|0)+324>>2]|0)+4>>2]|0,c[l>>2]=f,(f|0)!=0):0){c[k>>2]=gf(c[h>>2]|0,536,0)|0;if(!(c[k>>2]|0))c[m>>2]=7;else{a[(c[k>>2]|0)+451>>0]=1;c[c[k>>2]>>2]=c[h>>2];c[(c[k>>2]|0)+424>>2]=1;if((((0==(Of(c[k>>2]|0,c[j>>2]|0,o)|0)?(c[(c[k>>2]|0)+484>>2]|0)!=0:0)?(a[(c[h>>2]|0)+64>>0]|0)==0:0)?(c[(c[(c[k>>2]|0)+484>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+484>>2]|0)+44>>0]&16|0)==0:0){if(!(c[(c[l>>2]|0)+4>>2]|0)){c[(c[l>>2]|0)+4>>2]=c[(c[(c[k>>2]|0)+484>>2]|0)+4>>2];b[(c[l>>2]|0)+38>>1]=b[(c[(c[k>>2]|0)+484>>2]|0)+38>>1]|0;b[(c[(c[k>>2]|0)+484>>2]|0)+38>>1]=0;c[(c[(c[k>>2]|0)+484>>2]|0)+4>>2]=0}c[(c[(c[h>>2]|0)+324>>2]|0)+4>>2]=0}else{l=c[h>>2]|0;f=(c[o>>2]|0)!=0?14418:0;c[n>>2]=c[o>>2];ce(l,1,f,n);Nd(c[h>>2]|0,c[o>>2]|0);c[m>>2]=1}a[(c[k>>2]|0)+451>>0]=0;if(c[(c[k>>2]|0)+8>>2]|0)Ke(c[(c[k>>2]|0)+8>>2]|0)|0;Ld(c[h>>2]|0,c[(c[k>>2]|0)+484>>2]|0);Gf(c[k>>2]|0);Nd(c[h>>2]|0,c[k>>2]|0)}c[m>>2]=Le(c[h>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];o=c[g>>2]|0;i=p;return o|0}ee(c[h>>2]|0,21);c[g>>2]=Gd(112758)|0;o=c[g>>2]|0;i=p;return o|0}function dd(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[14682+((d[(c[b>>2]|0)+68>>0]|0)-1)>>0]|0|0}function ed(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;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+324>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Gd(113132)|0;break}}else c[j>>2]=Gd(113140)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}ee(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function fd(){return 13832}function gd(){return 14700}function hd(){return 3008007}function id(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;k=i;i=i+48|0;h=k+44|0;f=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;d=k;c[f>>2]=a;c[j>>2]=0;if(c[58]|0){c[h>>2]=Gd(125290)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[f>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=c[b>>2];c[12]=c[b+4>>2];c[13]=c[b+8>>2];c[14]=c[b+12>>2];c[15]=c[b+16>>2];c[16]=c[b+20>>2];c[17]=c[b+24>>2];c[18]=c[b+28>>2];break}case 5:{if(!(c[11]|0))Sf();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[11];c[b+4>>2]=c[12];c[b+8>>2]=c[13];c[b+12>>2]=c[14];c[b+16>>2]=c[15];c[b+20>>2]=c[16];c[b+24>>2]=c[17];c[b+28>>2]=c[18];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=112;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[30]|0))Tf();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=112;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[65]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[66]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;l=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=l;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;l=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=d;c[b>>2]=l;c[b+4>>2]=a;b=d;f=c[b+4>>2]|0;b=(c[d+4>>2]|0)<0|((f|0)>0|(f|0)==0&(c[b>>2]|0)>>>0>0);f=d;c[f>>2]=b?0:l;c[f+4>>2]=b?0:a;f=d;a=c[f+4>>2]|0;b=192;c[b>>2]=c[f>>2];c[b+4>>2]=a;if((c[g+4>>2]|0)<0){l=g;c[l>>2]=0;c[l+4>>2]=0}b=g;f=c[b+4>>2]|0;l=d;a=c[l+4>>2]|0;if((f|0)>(a|0)|((f|0)==(a|0)?(c[b>>2]|0)>>>0>(c[l>>2]|0)>>>0:0)){a=d;b=c[a+4>>2]|0;l=g;c[l>>2]=c[a>>2];c[l+4>>2]=b}b=c[g+4>>2]|0;l=184;c[l>>2]=c[g>>2];c[l+4>>2]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Hd(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Id(c[e>>2]|0)|0;Uf(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function kd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function ld(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+80>>2]|0}function md(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function nd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wf(c[d>>2]|0,0)|0;i=b;return a|0}function od(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wf(c[d>>2]|0,1)|0;i=b;return a|0}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+444>>2]=c[h>>2];c[(c[f>>2]|0)+444+4>>2]=c[g>>2];c[(c[f>>2]|0)+444+8>>2]=0;c[(c[f>>2]|0)+492>>2]=0;i=e;return 0}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){pd(a,37,c[d>>2]|0)|0;c[(c[d>>2]|0)+492>>2]=c[e>>2];i=f;return 0}else{pd(a,0,0)|0;i=f;return 0}return 0}function rd(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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;k=i;i=i+32|0;s=k+4|0;r=k+16|0;q=k+8|0;p=k+20|0;o=k+28|0;n=k;m=k+12|0;l=k+24|0;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=sd(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function sd(a,b,d,e,f,g,h,j,k){a=a|0;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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+36|0;m=x+16|0;n=x;o=x+28|0;p=x+32|0;q=x+40|0;r=x+12|0;s=x+24|0;t=x+20|0;v=x+8|0;u=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=gf(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{nb[a&31](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=Yf(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){nb[c[t>>2]&31](c[p>>2]|0);Nd(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Le(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function td(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;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;k=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=Ed(c[f>>2]|0)|0;c[h>>2]=0;if(!(Zf(c[e>>2]|0,c[f>>2]|0,c[k>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=Yf(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,51,0,0,0)|0;c[h>>2]=Le(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){vd(a,6,c[d>>2]|0)|0;i=e;return 0}else{vd(a,0,0)|0;i=e;return 0}return 0}function vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+216>>2];c[(c[g>>2]|0)+212>>2]=c[j>>2];c[(c[g>>2]|0)+216>>2]=c[h>>2];i=f;return c[e>>2]|0}function wd(b,d,e,f,g){b=b|0;d=d|0;e=e|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;r=i;i=i+48|0;q=r;h=r+24|0;j=r+20|0;k=r+8|0;l=r+16|0;m=r+4|0;n=r+12|0;p=r+28|0;o=r+32|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>2){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=ag(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];ce(d,1,14761,q)}else{c[p>>2]=bg(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;ee(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Le(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=wd(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function yd(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Mf(c[e>>2]|0)|0)==0:0){c[b>>2]=Gd(126921)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+64>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function zd(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+88+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[932+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[932+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+88+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=cg(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Bd(a,b,d,e){a=a|0;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,o=0;m=i;i=i+32|0;o=m+4|0;n=m+16|0;h=m+8|0;j=m+20|0;l=m+28|0;f=m;g=m+12|0;k=m+24|0;c[o>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=1;c[f>>2]=fg(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[f>>2]|0)){o=c[l>>2]|0;i=m;return o|0}fe(c[f>>2]|0);c[g>>2]=Id(c[f>>2]|0)|0;c[k>>2]=we(c[g>>2]|0)|0;a=c[k>>2]|0;if((c[h>>2]|0)==7){c[c[j>>2]>>2]=a;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[a>>2]|0){c[l>>2]=gg(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}b=(Ed(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+b;while(1){if(!(a[c[e>>2]>>0]|0)){d=8;break}c[g>>2]=aH(c[e>>2]|0,c[f>>2]|0)|0;b=(Ed(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+b;b=c[e>>2]|0;if(!(c[g>>2]|0)){d=6;break}b=(Ed(b)|0)+1|0;c[e>>2]=(c[e>>2]|0)+b}if((d|0)==6){c[h>>2]=b;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Cd(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(mg(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[e>>2];if(!(c[e>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}while(1){b=c[f>>2]|0;if(!(a[c[f>>2]>>0]|0))break;c[f>>2]=b+1}c[d>>2]=1073741823&b-(c[e>>2]|0);f=c[d>>2]|0;i=g;return f|0}function Fd(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[14426+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Gd(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(gd()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Zb(21,37666,d);i=b;return 21}function Hd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qb[c[56>>2]&31](c[d>>2]|0)|0;i=b;return a|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}jn(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Nd(c[d>>2]|0,c[c[e>>2]>>2]|0);Nd(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);dn(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);en(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=f;return}function Ld(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=l;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0))k=4;if((k|0)==4?(d=(c[f>>2]|0)+40|0,k=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=k,(k&65535|0)>0):0){i=l;return}c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0)){c[j>>2]=c[c[g>>2]>>2];ch((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}ry(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}DG(c[e>>2]|0,c[f>>2]|0);ny(c[e>>2]|0,c[f>>2]|0);Nd(c[e>>2]|0,c[c[f>>2]>>2]|0);Nd(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);an(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);$m(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);EG(c[e>>2]|0,c[f>>2]|0);Nd(c[e>>2]|0,c[f>>2]|0);i=l;return}function Md(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;gu(c[(c[j>>2]|0)+60>>2]|0,b[(c[j>>2]|0)+68>>1]|0);gu(c[(c[j>>2]|0)+16>>2]|0,e[(c[j>>2]|0)+84>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+24>>2];CG(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Nd(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}c[k>>2]=(b[(c[j>>2]|0)+70>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Nd(a,c[(c[(c[j>>2]|0)+64>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}CG(a,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0);Nd(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0);Nd(c[h>>2]|0,c[(c[j>>2]|0)+168>>2]|0);Nd(c[h>>2]|0,c[(c[j>>2]|0)+172>>2]|0);i=l;return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){b=c[d>>2]|0;a=c[e>>2]|0;if(c[(c[d>>2]|0)+520>>2]|0){BG(b,a);i=g;return}if(em(b,a)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+248+24>>2];c[(c[d>>2]|0)+248+24>>2]=c[f>>2];f=(c[d>>2]|0)+248+4|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Sb(c[e>>2]|0);i=g;return}function Od(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;a=g+12|0;b=g+8|0;e=g+4|0;d=g;if(!(c[11]|0))Sf();f=280;h=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));if(c[3]|0)c[70]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[e>>2]=c[51]&-8;c[51]=c[e>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[77]=c[d>>2];c[78]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[e>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[76]=(c[d>>2]|0)+4}else{c[76]=0;c[50]=0;c[51]=0;c[52]=0}if(!((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<1)){f=c[16]|0;h=c[18]|0;h=qb[f&31](h)|0;i=g;return h|0}c[53]=0;c[54]=0;c[55]=0;f=c[16]|0;h=c[18]|0;h=qb[f&31](h)|0;i=g;return h|0}function Pd(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=472;c[a>>2]=4692;c[b>>2]=0;while(1){if((c[b>>2]|0)>=57)break;$l(c[d>>2]|0,(c[a>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}lF();mF();i=e;return}function Qd(){if(!(c[30]|0))Tf();return qb[c[120>>2]&31](c[29]|0)|0}function Rd(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Rb(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Sb(c[b>>2]|0);c[a>>2]=ac()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[252]|0)){i=j;return}c[f>>2]=c[f>>2]&-8;c[253]=c[f>>2];b=c[g>>2]|0;c[260]=b;c[254]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[255]=d;c[256]=c[e>>2];c[259]=0;c[261]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[259];c[259]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[257]=d;i=j;return}function Td(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[117]|0)==(c[d>>2]|0)){c[117]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[117]|0)){i=f;return}c[e>>2]=c[117];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h;g=h+8|0;c[k>>2]=a;c[j>>2]=b;b=f;c[b>>2]=d;c[b+4>>2]=e;c[74]=c[k>>2];c[75]=c[j>>2];e=f;b=c[e+4>>2]|0;a=288;c[a>>2]=c[e>>2];c[a+4>>2]=b;c[g>>2]=iF(0)|0;a=f;b=c[a+4>>2]|0;if(!((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)){k=0;k=k&1;c[79]=k;i=h;return 0}j=f;b=c[j+4>>2]|0;k=c[g>>2]|0;a=((k|0)<0)<<31>>31;k=(b|0)<(a|0)|((b|0)==(a|0)?(c[j>>2]|0)>>>0<=k>>>0:0);k=k&1;c[79]=k;i=h;return 0}function Vd(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+16|0;g=f+8|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;Ob(c[g>>2]|0)|0;i=f;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){kF(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=qb[c[44>>2]&31](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function Xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=388+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[388+(c[d>>2]<<2)>>2]|0)<=(c[428+(c[d>>2]<<2)>>2]|0)){i=e;return}c[428+(c[d>>2]<<2)>>2]=c[388+(c[d>>2]<<2)>>2];i=e;return}function Yd(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,l=0,m=0,n=0;m=i;i=i+32|0;e=m+16|0;f=m+24|0;g=m;k=m+28|0;j=m+12|0;h=m+8|0;l=m+20|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b>>2]|0;b=c[b+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=Wd(d,b)|0;l=c[e>>2]|0;i=m;return l|0}if((d|0)==0&(b|0)==0){Sb(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;b=c[a+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=Jd(c[f>>2]|0)|0;c[j>>2]=qb[c[60>>2]&31](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=vb[c[52>>2]&63](c[f>>2]|0,c[j>>2]|0)|0;break}xg(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);b=iF(0)|0;n=((b|0)<0)<<31>>31;d=288;a=c[h>>2]|0;a=AH(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;if((n|0)>(d|0)|(n|0)==(d|0)&b>>>0>=a>>>0)jF(c[h>>2]|0);c[l>>2]=vb[c[52>>2]&63](c[f>>2]|0,c[j>>2]|0)|0;if((c[l>>2]|0)==0&(c[74]|0)!=0){jF(c[g>>2]|0);c[l>>2]=vb[c[52>>2]&63](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=Jd(c[l>>2]|0)|0;Xd(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function Zd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;d=c[l>>2]|0;c[(c[h>>2]|0)+4>>2]=d;c[(c[h>>2]|0)+8>>2]=d;c[c[h>>2]>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[(c[h>>2]|0)+16>>2]=c[k>>2];c[(c[h>>2]|0)+20>>2]=c[j>>2];a[(c[h>>2]|0)+24>>0]=1;a[(c[h>>2]|0)+25>>0]=0;i=g;return}function _d(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0.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,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;ra=i;i=i+272|0;l=ra+172|0;k=ra+148|0;m=ra+40|0;n=ra+112|0;s=ra+108|0;r=ra+136|0;ca=ra+140|0;S=ra+48|0;M=ra+92|0;ka=ra+88|0;E=ra+179|0;H=ra+261|0;B=ra+183|0;z=ra+259|0;A=ra+181|0;J=ra+176|0;F=ra+178|0;G=ra+265|0;v=ra+264|0;na=ra+262|0;o=ra+260|0;ia=ra+258|0;da=ra+180|0;T=ra+24|0;fa=ra;N=ra+116|0;pa=ra+120|0;V=ra+124|0;oa=ra+128|0;y=ra+132|0;w=ra+52|0;Y=ra+44|0;ga=ra+8|0;D=ra+184|0;I=ra+257|0;Z=ra+160|0;q=ra+186|0;ja=ra+32|0;la=ra+152|0;u=ra+164|0;p=ra+182|0;ba=ra+156|0;ma=ra+263|0;ha=ra+16|0;K=ra+104|0;W=ra+100|0;L=ra+96|0;P=ra+168|0;Q=ra+144|0;U=ra+84|0;O=ra+80|0;X=ra+76|0;t=ra+177|0;ea=ra+256|0;x=ra+72|0;aa=ra+68|0;$=ra+64|0;R=ra+60|0;_=ra+56|0;c[l>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;a[na>>0]=0;c[oa>>2]=0;c[Z>>2]=0;c[r>>2]=0;if(c[k>>2]|0){f=c[k>>2]&2;a[o>>0]=f;if(f&255){e=c[n>>2]|0;b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;c[Z>>2]=f}a[ia>>0]=c[k>>2]&1}else{a[ia>>0]=0;a[o>>0]=0}a:while(1){f=a[c[m>>2]>>0]|0;c[s>>2]=f;if(!f){qa=272;break}if((c[s>>2]|0)!=37){c[r>>2]=c[m>>2];do{c[m>>2]=(c[m>>2]|0)+1;if(!(a[c[m>>2]>>0]|0))break}while((a[c[m>>2]>>0]|0)!=37);es(c[l>>2]|0,c[r>>2]|0,(c[m>>2]|0)-(c[r>>2]|0)|0);if(!(a[c[m>>2]>>0]|0)){qa=272;break}}f=(c[m>>2]|0)+1|0;c[m>>2]=f;f=a[f>>0]|0;c[s>>2]=f;if(!f){qa=13;break}a[J>>0]=0;a[A>>0]=0;a[z>>0]=0;a[B>>0]=0;a[H>>0]=0;a[E>>0]=0;a[v>>0]=0;do{switch(c[s>>2]|0){case 45:{a[E>>0]=1;break}case 43:{a[H>>0]=1;break}case 32:{a[B>>0]=1;break}case 35:{a[z>>0]=1;break}case 33:{a[A>>0]=1;break}case 48:{a[J>>0]=1;break}default:a[v>>0]=1}if(a[v>>0]|0)break;f=(c[m>>2]|0)+1|0;c[m>>2]=f;f=a[f>>0]|0;c[s>>2]=f}while((f|0)!=0);c[ka>>2]=0;b:do if((c[s>>2]|0)==42){if(a[o>>0]|0){f=dF(c[Z>>2]|0)|0;c[ka>>2]=f}else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[ka>>2]=f}if((c[ka>>2]|0)<0){a[E>>0]=1;c[ka>>2]=0-(c[ka>>2]|0)}f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0]}else while(1){if(!((c[s>>2]|0)>=48?(c[s>>2]|0)<=57:0))break b;c[ka>>2]=((c[ka>>2]|0)*10|0)+(c[s>>2]|0)-48;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0]}while(0);c:do if((c[s>>2]|0)==46){c[ca>>2]=0;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0];if((c[s>>2]|0)!=42)while(1){if(!((c[s>>2]|0)>=48?(c[s>>2]|0)<=57:0))break c;c[ca>>2]=((c[ca>>2]|0)*10|0)+(c[s>>2]|0)-48;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0]}if(a[o>>0]|0){f=dF(c[Z>>2]|0)|0;c[ca>>2]=f}else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[ca>>2]=f}if((c[ca>>2]|0)<0)c[ca>>2]=0-(c[ca>>2]|0);f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0]}else c[ca>>2]=-1;while(0);do if((c[s>>2]|0)==108){a[F>>0]=1;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0];if((c[s>>2]|0)==108){a[G>>0]=1;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0];break}else{a[G>>0]=0;break}}else{a[G>>0]=0;a[F>>0]=0}while(0);c[N>>2]=36697;a[na>>0]=0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=23)break;g=c[M>>2]|0;if((c[s>>2]|0)==(a[36697+((c[M>>2]|0)*6|0)>>0]|0)){qa=53;break}c[M>>2]=g+1}if((qa|0)==53){qa=0;c[N>>2]=36697+(g*6|0);if((d[ia>>0]|0)==0?(d[(c[N>>2]|0)+2>>0]&2|0)!=0:0){qa=272;break}a[na>>0]=a[(c[N>>2]|0)+3>>0]|0}d:do switch(d[na>>0]|0){case 14:{a[G>>0]=0;a[F>>0]=1;qa=59;break}case 1:case 16:{qa=59;break}case 4:case 3:case 2:{if(a[o>>0]|0)h[fa>>3]=+eF(c[Z>>2]|0);else{f=c[n>>2]|0;e=(c[f>>2]|0)+(8-1)&~(8-1);j=+h[e>>3];c[f>>2]=e+8;h[fa>>3]=j}if((c[ca>>2]|0)<0)c[ca>>2]=6;do if(!(+h[fa>>3]<0.0)){if(a[H>>0]|0){a[da>>0]=43;break}if(a[B>>0]|0){a[da>>0]=32;break}else{a[da>>0]=0;break}}else{h[fa>>3]=-+h[fa>>3];a[da>>0]=45}while(0);if((d[na>>0]|0)==4&(c[ca>>2]|0)>0)c[ca>>2]=(c[ca>>2]|0)+-1;c[M>>2]=c[ca>>2];h[ga>>3]=.5;while(1){if((c[M>>2]|0)<=0)break;c[M>>2]=(c[M>>2]|0)+-1;h[ga>>3]=+h[ga>>3]*.1}if((d[na>>0]|0)==2)h[fa>>3]=+h[fa>>3]+ +h[ga>>3];c[y>>2]=0;if(fx(+h[fa>>3])|0){c[r>>2]=36884;c[S>>2]=3;break d}if(+h[fa>>3]>0.0){h[ha>>3]=1.0;while(1){if(!(+h[fa>>3]>=+h[ha>>3]*1.e+100?(c[y>>2]|0)<=350:0))break;h[ha>>3]=+h[ha>>3]*1.e+100;c[y>>2]=(c[y>>2]|0)+100}while(1){if(!(+h[fa>>3]>=+h[ha>>3]*1.e+64?(c[y>>2]|0)<=350:0))break;h[ha>>3]=+h[ha>>3]*1.e+64;c[y>>2]=(c[y>>2]|0)+64}while(1){if(!(+h[fa>>3]>=+h[ha>>3]*1.0e8?(c[y>>2]|0)<=350:0))break;h[ha>>3]=+h[ha>>3]*1.0e8;c[y>>2]=(c[y>>2]|0)+8}while(1){j=+h[ha>>3];if(!(+h[fa>>3]>=+h[ha>>3]*10.0?(c[y>>2]|0)<=350:0))break;h[ha>>3]=j*10.0;c[y>>2]=(c[y>>2]|0)+1}h[fa>>3]=+h[fa>>3]/j;while(1){if(!(+h[fa>>3]<1.0e-08))break;h[fa>>3]=+h[fa>>3]*1.0e8;c[y>>2]=(c[y>>2]|0)-8}while(1){if(!(+h[fa>>3]<1.0))break;h[fa>>3]=+h[fa>>3]*10.0;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>350){do if((a[da>>0]|0)!=45)if((a[da>>0]|0)==43){c[r>>2]=36893;break}else{c[r>>2]=36898;break}else c[r>>2]=36888;while(0);c[S>>2]=Ed(c[r>>2]|0)|0;break d}}c[r>>2]=q;if((d[na>>0]|0)!=2?(h[fa>>3]=+h[fa>>3]+ +h[ga>>3],+h[fa>>3]>=10.0):0){h[fa>>3]=+h[fa>>3]*.1;c[y>>2]=(c[y>>2]|0)+1}e:do if((d[na>>0]|0)==4){a[I>>0]=((a[z>>0]|0)!=0^1)&1;do if((c[y>>2]|0)>=-4){if((c[y>>2]|0)>(c[ca>>2]|0))break;c[ca>>2]=(c[ca>>2]|0)-(c[y>>2]|0);a[na>>0]=2;break e}while(0);a[na>>0]=3}else a[I>>0]=a[A>>0]|0;while(0);if((d[na>>0]|0)==3)c[w>>2]=0;else c[w>>2]=c[y>>2];if((((c[w>>2]|0)>0?c[w>>2]|0:0)+(c[ca>>2]|0)+(c[ka>>2]|0)|0)>55?(f=((c[w>>2]|0)>0?c[w>>2]|0:0)+(c[ca>>2]|0)+(c[ka>>2]|0)+15|0,f=Wd(f,((f|0)<0)<<31>>31)|0,c[oa>>2]=f,c[r>>2]=f,(c[r>>2]|0)==0):0){qa=165;break a}c[pa>>2]=c[r>>2];c[Y>>2]=16+((d[A>>0]|0)*10|0);a[D>>0]=((c[ca>>2]|0)>0?1:0)|d[z>>0]|d[A>>0];if(a[da>>0]|0){e=a[da>>0]|0;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e}f:do if((c[w>>2]|0)<0){f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=48}else while(1){if((c[w>>2]|0)<0)break f;e=fF(fa,Y)|0;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e;c[w>>2]=(c[w>>2]|0)+-1}while(0);if(a[D>>0]|0){f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=46}c[w>>2]=(c[w>>2]|0)+1;while(1){if((c[w>>2]|0)>=0)break;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=48;c[ca>>2]=(c[ca>>2]|0)+-1;c[w>>2]=(c[w>>2]|0)+1}while(1){f=c[ca>>2]|0;c[ca>>2]=f+-1;if((f|0)<=0)break;e=fF(fa,Y)|0;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e}do if(d[I>>0]|0){if(!(d[D>>0]|0))break;while(1){g=(c[r>>2]|0)+-1|0;if((a[(c[r>>2]|0)+-1>>0]|0)!=48)break;c[r>>2]=g;a[g>>0]=0}if((a[g>>0]|0)!=46)break;g=c[r>>2]|0;if(a[A>>0]|0){c[r>>2]=g+1;a[g>>0]=48;break}else{f=g+-1|0;c[r>>2]=f;a[f>>0]=0;break}}while(0);if((d[na>>0]|0)==3){g=a[36844+(d[(c[N>>2]|0)+4>>0]|0)>>0]|0;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=g;f=(c[y>>2]|0)<0;g=c[r>>2]|0;c[r>>2]=g+1;if(f){a[g>>0]=45;c[y>>2]=0-(c[y>>2]|0)}else a[g>>0]=43;if((c[y>>2]|0)>=100){e=((c[y>>2]|0)/100|0)+48&255;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e;c[y>>2]=(c[y>>2]|0)%100|0}f=((c[y>>2]|0)/10|0)+48&255;e=c[r>>2]|0;c[r>>2]=e+1;a[e>>0]=f;e=((c[y>>2]|0)%10|0)+48&255;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e}a[c[r>>2]>>0]=0;c[S>>2]=(c[r>>2]|0)-(c[pa>>2]|0);c[r>>2]=c[pa>>2];if((d[J>>0]|0)==0|(a[E>>0]|0)!=0)break d;if((c[S>>2]|0)>=(c[ka>>2]|0))break d;c[W>>2]=(c[ka>>2]|0)-(c[S>>2]|0);c[K>>2]=c[ka>>2];while(1){if((c[K>>2]|0)<(c[W>>2]|0))break;a[(c[r>>2]|0)+(c[K>>2]|0)>>0]=a[(c[r>>2]|0)+((c[K>>2]|0)-(c[W>>2]|0))>>0]|0;c[K>>2]=(c[K>>2]|0)+-1}c[K>>2]=(a[da>>0]|0)!=0&1;while(1){f=c[W>>2]|0;c[W>>2]=f+-1;if(!f)break;f=c[K>>2]|0;c[K>>2]=f+1;a[(c[r>>2]|0)+f>>0]=48}c[S>>2]=c[ka>>2];break}case 5:{if(!(a[o>>0]|0)){e=c[(c[l>>2]|0)+12>>2]|0;k=c[n>>2]|0;b=(c[k>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[k>>2]=b+4;c[f>>2]=e}c[ka>>2]=0;c[S>>2]=0;break}case 8:{a[q>>0]=37;c[r>>2]=q;c[S>>2]=1;break}case 9:{if(a[o>>0]|0){c[r>>2]=gF(c[Z>>2]|0)|0;if(c[r>>2]|0)g=a[c[r>>2]>>0]|0;else g=0;c[s>>2]=g}else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[s>>2]=f}if((c[ca>>2]|0)>1){c[ka>>2]=(c[ka>>2]|0)-((c[ca>>2]|0)-1);if(!((c[ka>>2]|0)<=1|(a[E>>0]|0)!=0)){hF(c[l>>2]|0,(c[ka>>2]|0)-1|0,32);c[ka>>2]=0}hF(c[l>>2]|0,(c[ca>>2]|0)-1|0,c[s>>2]&255)}c[S>>2]=1;a[q>>0]=c[s>>2];c[r>>2]=q;break}case 7:case 6:{if(a[o>>0]|0)c[r>>2]=gF(c[Z>>2]|0)|0;else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[r>>2]=f}if(c[r>>2]|0){if(!((d[na>>0]|0)!=7|(a[o>>0]|0)!=0))c[oa>>2]=c[r>>2]}else c[r>>2]=14425;if((c[ca>>2]|0)<0){c[S>>2]=Ed(c[r>>2]|0)|0;break d}c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[ca>>2]|0))break d;if(!(a[(c[r>>2]|0)+(c[S>>2]|0)>>0]|0))break d;c[S>>2]=(c[S>>2]|0)+1}}case 15:case 11:case 10:{a[ea>>0]=(d[na>>0]|0)==15?34:39;if(a[o>>0]|0)c[x>>2]=gF(c[Z>>2]|0)|0;else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[x>>2]=f}c[O>>2]=(c[x>>2]|0)==0&1;if(c[O>>2]|0)c[x>>2]=(d[na>>0]|0)==11?30955:36902;c[Q>>2]=c[ca>>2];c[U>>2]=0;c[L>>2]=0;while(1){if(!(c[Q>>2]|0))break;f=a[(c[x>>2]|0)+(c[L>>2]|0)>>0]|0;a[t>>0]=f;if(!(f<<24>>24))break;if((a[t>>0]|0)==(a[ea>>0]|0))c[U>>2]=(c[U>>2]|0)+1;c[L>>2]=(c[L>>2]|0)+1;c[Q>>2]=(c[Q>>2]|0)+-1}if(c[O>>2]|0)g=0;else g=(d[na>>0]|0)==11;c[X>>2]=g&1;c[U>>2]=(c[U>>2]|0)+((c[L>>2]|0)+1+(c[X>>2]<<1));if((c[U>>2]|0)>70){f=c[U>>2]|0;f=Wd(f,((f|0)<0)<<31>>31)|0;c[oa>>2]=f;c[r>>2]=f;if(!(c[r>>2]|0)){qa=245;break a}}else c[r>>2]=q;c[P>>2]=0;if(c[X>>2]|0){e=a[ea>>0]|0;f=c[P>>2]|0;c[P>>2]=f+1;a[(c[r>>2]|0)+f>>0]=e}c[Q>>2]=c[L>>2];c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[Q>>2]|0))break;e=a[(c[x>>2]|0)+(c[L>>2]|0)>>0]|0;a[t>>0]=e;f=c[P>>2]|0;c[P>>2]=f+1;a[(c[r>>2]|0)+f>>0]=e;if((a[t>>0]|0)==(a[ea>>0]|0)){e=a[t>>0]|0;f=c[P>>2]|0;c[P>>2]=f+1;a[(c[r>>2]|0)+f>>0]=e}c[L>>2]=(c[L>>2]|0)+1}if(c[X>>2]|0){e=a[ea>>0]|0;f=c[P>>2]|0;c[P>>2]=f+1;a[(c[r>>2]|0)+f>>0]=e}a[(c[r>>2]|0)+(c[P>>2]|0)>>0]=0;c[S>>2]=c[P>>2];break}case 12:{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[aa>>2]=f;if((c[aa>>2]|0)!=0?(c[(c[aa>>2]|0)+4>>2]|0)!=0:0)es(c[l>>2]|0,c[c[aa>>2]>>2]|0,c[(c[aa>>2]|0)+4>>2]|0);c[ka>>2]=0;c[S>>2]=0;break}case 13:{k=c[n>>2]|0;f=(c[k>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[k>>2]=f+4;c[$>>2]=e;e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[R>>2]=f;c[_>>2]=(c[$>>2]|0)+8+((c[R>>2]|0)*72|0);if(c[(c[_>>2]|0)+4>>2]|0){fs(c[l>>2]|0,c[(c[_>>2]|0)+4>>2]|0);es(c[l>>2]|0,23024,1)}fs(c[l>>2]|0,c[(c[_>>2]|0)+8>>2]|0);c[ka>>2]=0;c[S>>2]=0;break}default:{qa=272;break a}}while(0);if((qa|0)==59){qa=0;g=(a[o>>0]|0)!=0;do if(d[(c[N>>2]|0)+2>>0]&1){do if(!g){g=c[n>>2]|0;if(a[G>>0]|0){f=(c[g>>2]|0)+(8-1)&~(8-1);e=f;k=c[e>>2]|0;e=c[e+4>>2]|0;c[g>>2]=f+8;f=ja;c[f>>2]=k;c[f+4>>2]=e;break}else{f=(c[g>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[g>>2]=f+4;f=ja;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break}}else{e=dF(c[Z>>2]|0)|0;f=ja;c[f>>2]=e;c[f+4>>2]=C}while(0);k=ja;g=c[k>>2]|0;k=c[k+4>>2]|0;if((c[ja+4>>2]|0)<0){if((g|0)==0&(k|0)==-2147483648){f=T;c[f>>2]=0;c[f+4>>2]=-2147483648}else{e=ja;e=AH(0,0,c[e>>2]|0,c[e+4>>2]|0)|0;f=T;c[f>>2]=e;c[f+4>>2]=C}a[da>>0]=45;break}f=T;c[f>>2]=g;c[f+4>>2]=k;if(a[H>>0]|0){a[da>>0]=43;break}if(a[B>>0]|0){a[da>>0]=32;break}else{a[da>>0]=0;break}}else{do if(!g){g=c[n>>2]|0;if(a[G>>0]|0){f=(c[g>>2]|0)+(8-1)&~(8-1);e=f;k=c[e>>2]|0;e=c[e+4>>2]|0;c[g>>2]=f+8;f=T;c[f>>2]=k;c[f+4>>2]=e;break}else{f=(c[g>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[g>>2]=f+4;f=T;c[f>>2]=e;c[f+4>>2]=0;break}}else{e=dF(c[Z>>2]|0)|0;f=T;c[f>>2]=e;c[f+4>>2]=C}while(0);a[da>>0]=0}while(0);f=T;if((c[f>>2]|0)==0&(c[f+4>>2]|0)==0)a[z>>0]=0;if((d[J>>0]|0)!=0?(c[ca>>2]|0)<((c[ka>>2]|0)-((a[da>>0]|0)!=0&1)|0):0)c[ca>>2]=(c[ka>>2]|0)-((a[da>>0]|0)!=0&1);if((c[ca>>2]|0)>=60){c[V>>2]=(c[ca>>2]|0)+10;f=c[V>>2]|0;f=Wd(f,((f|0)<0)<<31>>31)|0;c[oa>>2]=f;c[pa>>2]=f;if(!(c[pa>>2]|0)){qa=89;break}}else{c[V>>2]=70;c[pa>>2]=q}c[r>>2]=(c[pa>>2]|0)+((c[V>>2]|0)-1);if((d[na>>0]|0)==16){f=T;f=OH(c[f>>2]|0,c[f+4>>2]|0,10,0)|0;c[la>>2]=f;if(!((c[la>>2]|0)<4?(f=T,f=NH(c[f>>2]|0,c[f+4>>2]|0,10,0)|0,f=OH(f|0,C|0,10,0)|0,!((f|0)==1&(C|0)==0)):0))c[la>>2]=0;f=a[36835+((c[la>>2]<<1)+1)>>0]|0;e=(c[r>>2]|0)+-1|0;c[r>>2]=e;a[e>>0]=f;e=a[36835+(c[la>>2]<<1)>>0]|0;f=(c[r>>2]|0)+-1|0;c[r>>2]=f;a[f>>0]=e}c[u>>2]=36844+(d[(c[N>>2]|0)+4>>0]|0);a[p>>0]=a[(c[N>>2]|0)+1>>0]|0;do{f=T;f=OH(c[f>>2]|0,c[f+4>>2]|0,d[p>>0]|0,0)|0;f=a[(c[u>>2]|0)+f>>0]|0;e=(c[r>>2]|0)+-1|0;c[r>>2]=e;a[e>>0]=f;e=T;e=NH(c[e>>2]|0,c[e+4>>2]|0,d[p>>0]|0,0)|0;f=T;c[f>>2]=e;c[f+4>>2]=C;f=T;e=c[f+4>>2]|0}while(e>>>0>0|(e|0)==0&(c[f>>2]|0)>>>0>0);c[S>>2]=(c[pa>>2]|0)+((c[V>>2]|0)-1)-(c[r>>2]|0);c[M>>2]=(c[ca>>2]|0)-(c[S>>2]|0);while(1){if((c[M>>2]|0)<=0)break;f=(c[r>>2]|0)+-1|0;c[r>>2]=f;a[f>>0]=48;c[M>>2]=(c[M>>2]|0)+-1}if(a[da>>0]|0){e=a[da>>0]|0;f=(c[r>>2]|0)+-1|0;c[r>>2]=f;a[f>>0]=e}g:do if((d[z>>0]|0)!=0?(d[(c[N>>2]|0)+5>>0]|0)!=0:0){c[ba>>2]=36877+(d[(c[N>>2]|0)+5>>0]|0);while(1){f=a[c[ba>>2]>>0]|0;a[ma>>0]=f;if(!(f<<24>>24))break g;e=a[ma>>0]|0;f=(c[r>>2]|0)+-1|0;c[r>>2]=f;a[f>>0]=e;c[ba>>2]=(c[ba>>2]|0)+1}}while(0);c[S>>2]=(c[pa>>2]|0)+((c[V>>2]|0)-1)-(c[r>>2]|0)}c[ka>>2]=(c[ka>>2]|0)-(c[S>>2]|0);if(!((c[ka>>2]|0)<=0|(a[E>>0]|0)!=0))hF(c[l>>2]|0,c[ka>>2]|0,32);es(c[l>>2]|0,c[r>>2]|0,c[S>>2]|0);if((c[ka>>2]|0)>0?(d[E>>0]|0)!=0:0)hF(c[l>>2]|0,c[ka>>2]|0,32);if(c[oa>>2]|0){Sb(c[oa>>2]|0);c[oa>>2]=0}c[m>>2]=(c[m>>2]|0)+1}if((qa|0)==13){es(c[l>>2]|0,36695,1);i=ra;return}else if((qa|0)==89){js(c[l>>2]|0,1);i=ra;return}else if((qa|0)==165){js(c[l>>2]|0,1);i=ra;return}else if((qa|0)==245){js(c[l>>2]|0,1);i=ra;return}else if((qa|0)==272){i=ra;return}}function $d(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(d[(c[e>>2]|0)+24>>0]|0|0)!=0):0)?(c[(c[e>>2]|0)+8>>2]|0)==(c[(c[e>>2]|0)+4>>2]|0):0){b=c[e>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){g=(c[(c[e>>2]|0)+12>>2]|0)+1|0;b=qf(c[b>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[e>>2]|0)+8>>2]=b}else{g=Rb((c[b+12>>2]|0)+1|0)|0;c[(c[e>>2]|0)+8>>2]=g}b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){EH(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;break}else{js(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+256|0;j=f+36|0;k=f+32|0;g=f+28|0;h=f;c[j>>2]=b;c[k>>2]=d;c[g>>2]=e;Zd(h,f+40|0,210,0);a[h+24>>0]=0;_d(h,0,c[k>>2]|0,c[g>>2]|0);g=c[65]|0;e=c[66]|0;b=c[j>>2]|0;d=$d(h)|0;rb[g&63](e,b,d);i=f;return}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=lb[c[(c[h>>2]|0)+56>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ce(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];a=c[f>>2]|0;if(!(c[h>>2]|0)){ee(a,c[g>>2]|0);i=l;return}if((c[a+232>>2]|0)==0?(g=Pf(c[f>>2]|0)|0,c[(c[f>>2]|0)+232>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=fn(c[f>>2]|0,c[h>>2]|0,j)|0;Qf(c[(c[f>>2]|0)+232>>2]|0,-1,c[k>>2]|0,1,23);i=l;return}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=Wd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}BH(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;c[(c[d>>2]|0)+52>>2]=c[f>>2];if(!(c[(c[d>>2]|0)+232>>2]|0)){i=e;return}ID(c[(c[d>>2]|0)+232>>2]|0);i=e;return}function fe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ge(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function he(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;p=i;i=i+32|0;h=p+8|0;j=p+16|0;k=p+20|0;l=p+24|0;o=p+4|0;m=p;n=p+12|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;fe(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=Iy(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=FD(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=GD(k,m,aj(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=TC(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)qt(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(hj(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+28+8>>0]=1;c[(c[h>>2]|0)+28+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+28}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(kj((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=ye(c[(c[n>>2]|0)+68>>2]|0)|0,(c[o>>2]|0)==0):0)Dl((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=QC(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+496>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[j>>2]|0)+4>>2];fe(c[j>>2]|0);d=kj((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[g>>2]<<2))|0)|0;c[c[f>>2]>>2]=d;i=e;return}function je(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function ke(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function le(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Aw(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function ne(a,b,e,f){a=a|0;b=b|0;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;t=i;i=i+48|0;g=t;h=t+8|0;j=t+36|0;k=t+16|0;u=t+32|0;r=t+40|0;q=t+44|0;m=t+24|0;n=t+20|0;l=t+12|0;p=t+4|0;o=t+28|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[u>>2]=f;c[r>>2]=0;c[q>>2]=0;c[m>>2]=0;c[n>>2]=c[u>>2]&1;c[l>>2]=0;if(!(c[j>>2]|0)){c[g>>2]=Rk(46160)|0;u=c[g>>2]|0;i=t;return u|0}do if(!(c[(c[h>>2]|0)+40>>2]|0)){if(((c[l>>2]|0)!=0?(Fj(c[h>>2]|0)|0)!=0:0)?(c[r>>2]=Jk(c[(c[h>>2]|0)+208>>2]|0,c[j>>2]|0,m)|0,(c[r>>2]|0)!=0):0)break;if((c[l>>2]|0)!=0&(c[m>>2]|0)==0){c[p>>2]=0;e=c[(c[h>>2]|0)+60>>2]|0;u=c[(c[h>>2]|0)+152>>2]|0;u=MH((c[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[r>>2]=fC(e,u,C,c[(c[h>>2]|0)+152>>2]|0,p)|0;if((c[r>>2]|0)==0&(c[p>>2]|0)!=0){if((d[(c[h>>2]|0)+16>>0]|0|0)>1)c[q>>2]=kk(c[h>>2]|0,c[j>>2]|0)|0;f=c[h>>2]|0;if(!(c[q>>2]|0))c[r>>2]=DD(f,c[j>>2]|0,c[p>>2]|0,q)|0;else{e=c[f+60>>2]|0;u=c[(c[h>>2]|0)+152>>2]|0;u=MH((c[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ok(e,u,C,c[p>>2]|0)|0}if(c[q>>2]|0){c[c[k>>2]>>2]=c[q>>2];c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}}if(c[r>>2]|0)break}c[o>>2]=ok(c[(c[h>>2]|0)+204>>2]|0,c[j>>2]|0,3)|0;if((c[o>>2]|0)==0?(c[r>>2]=ED(c[(c[h>>2]|0)+204>>2]|0,c[j>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;u=pk(c[(c[h>>2]|0)+204>>2]|0,c[j>>2]|0,c[o>>2]|0)|0;c[c[k>>2]>>2]=u;c[q>>2]=u;if(!(c[q>>2]|0)){c[r>>2]=7;s=22}else s=22}else{c[r>>2]=c[(c[h>>2]|0)+40>>2];s=22}while(0);do if((s|0)==22){if(c[r>>2]|0){c[q>>2]=0;break}if(!((c[n>>2]|0)!=0?1:(c[(c[c[k>>2]>>2]|0)+16>>2]|0)==0)){u=(c[h>>2]|0)+184|0;c[u>>2]=(c[u>>2]|0)+1;c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}c[q>>2]=c[c[k>>2]>>2];c[(c[q>>2]|0)+16>>2]=c[h>>2];if((c[j>>2]|0)>>>0<=2147483647?(c[j>>2]|0)!=(((c[229]|0)/(c[(c[h>>2]|0)+152>>2]|0)|0)+1|0):0){if(((d[(c[h>>2]|0)+15>>0]|0|0)==0?!((c[n>>2]|0)!=0?1:(c[(c[h>>2]|0)+24>>2]|0)>>>0<(c[j>>2]|0)>>>0):0)?(c[c[(c[h>>2]|0)+60>>2]>>2]|0)!=0:0){u=(Fj(c[h>>2]|0)|0)!=0;if(u&(c[l>>2]|0)==0?(c[r>>2]=Jk(c[(c[h>>2]|0)+208>>2]|0,c[j>>2]|0,m)|0,(c[r>>2]|0)!=0):0)break;u=(c[h>>2]|0)+184+4|0;c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=Kk(c[q>>2]|0,c[m>>2]|0)|0;if(c[r>>2]|0)break}else{if((c[j>>2]|0)>>>0>(c[(c[h>>2]|0)+156>>2]|0)>>>0){c[r>>2]=13;break}if(c[n>>2]|0){gh();if((c[j>>2]|0)>>>0<=(c[(c[h>>2]|0)+28>>2]|0)>>>0)Sg(c[(c[h>>2]|0)+56>>2]|0,c[j>>2]|0)|0;Rl(c[h>>2]|0,c[j>>2]|0)|0;hh()}BH(c[(c[q>>2]|0)+4>>2]|0,0,c[(c[h>>2]|0)+152>>2]|0)|0}c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}c[r>>2]=Rk(46239)|0}while(0);if(c[q>>2]|0)Ik(c[q>>2]|0);Nk(c[h>>2]|0);c[c[k>>2]>>2]=0;c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}function oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function pe(b,d,e,f){b=b|0;d=d|0;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;w=i;i=i+80|0;g=w+20|0;x=w+24|0;h=w+52|0;j=w+60|0;q=w+28|0;p=w+48|0;o=w+56|0;n=w+64|0;l=w;v=w+44|0;m=w+8|0;r=w+16|0;k=w+36|0;t=w+40|0;s=w+32|0;u=w+68|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Id(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=ke(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=ke(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=MH(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(NA(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=AH(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=KH(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=ne(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=ye(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=LH(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=oe(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=LH(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,EH(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(Sl(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;Dl(x,me(c[(c[g>>2]|0)+24>>2]|0)|0)}qe(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=DH(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function qe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Lk(c[b>>2]|0);i=d;return}function re(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Ge(Id(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function se(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;fe(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=TC(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function te(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;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];fe(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=ye(c[(c[(c[h>>2]|0)+12>>2]|0)+68>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}Dl((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function ue(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Hd(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)_i(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;qm(c[b>>2]|0);pD(c[b>>2]|0);i=f;return}function ve(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=he(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=he(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=ye(c[(c[(c[l>>2]|0)+12>>2]|0)+68>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+60>>2]|0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+24>>2];i=d;return}function ye(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;a=c[e>>2]|0;if((c[(c[(c[e>>2]|0)+16>>2]|0)+148>>2]|0)>>>0>(c[(c[(c[e>>2]|0)+16>>2]|0)+152>>2]|0)>>>0){c[b>>2]=yD(a)|0;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=zD(a)|0;e=c[b>>2]|0;i=d;return e|0}return 0}function ze(b,e,f){b=b|0;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;p=i;i=i+32|0;g=p+4|0;h=p+16|0;j=p+8|0;k=p+20|0;o=p+28|0;m=p;n=p+12|0;l=p+24|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;f=c[h>>2]|0;if(c[(c[h>>2]|0)+40>>2]|0){c[g>>2]=c[f+40>>2];o=c[g>>2]|0;i=p;return o|0}if((d[f+16>>0]|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}f=c[h>>2]|0;do if(!(a[(c[h>>2]|0)+15>>0]|0)){e=(Fj(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=Ck(c[f+204>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=ne(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=yl(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+24>>2]|0,1)|0;qe(c[n>>2]|0);if(c[o>>2]|0)break;Ej(c[(c[h>>2]|0)+204>>2]|0);break}c[o>>2]=wD(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=xD(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=zl(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=Al(n,Ck(c[(c[h>>2]|0)+204>>2]|0)|0)|0,(c[o>>2]|0)==0):0){Ej(c[(c[h>>2]|0)+204>>2]|0);if((c[(c[h>>2]|0)+24>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+24>>2]|0)-((c[(c[h>>2]|0)+24>>2]|0)==(((c[229]|0)/(c[(c[h>>2]|0)+152>>2]|0)|0)+1|0)&1);c[o>>2]=Hj(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Ce(c[h>>2]|0,c[j>>2]|0)|0}}else Kg(c[f+88>>2]|0);while(0);if((c[o>>2]|0)==0?(Fj(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+16>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=wb[c[(c[c[k>>2]>>2]|0)+12>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Cg(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=Aj(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Ce(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+60>>2]>>2]|0){c[h>>2]=c[g>>2];e=gg(c[(c[f>>2]|0)+60>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=Bj(c[(c[f>>2]|0)+60>>2]|0,d[(c[f>>2]|0)+11>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+24>>2]=c[f>>2];i=d;return}function Ee(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}fe(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=vD(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){a[(c[j>>2]|0)+20>>0]=1;qD(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);rD(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Fe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=uD(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)De(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=ze(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Ge(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+88|0}function He(b,e,f){b=b|0;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;q=i;i=i+48|0;g=q+28|0;h=q+16|0;j=q+4|0;n=q+8|0;l=q+32|0;m=q;o=q+12|0;p=q+24|0;k=q+20|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);if(!(c[h>>2]|0)){f=Jy(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=zz(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;rD(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=wj(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(Bw(c[l>>2]|0,1,m,0)|0)){c[k>>2]=kj((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))xe(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];pt(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;qD(c[l>>2]|0);f=c[g>>2]|0;rD(f);f=c[n>>2]|0;i=q;return f|0}function Ie(b){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;o=i;i=i+48|0;d=o;e=o+16|0;f=o+28|0;j=o+4|0;l=o+32|0;n=o+36|0;k=o+12|0;g=o+24|0;h=o+20|0;m=o+8|0;c[d>>2]=b;if((c[(c[d>>2]|0)+76>>2]|0)!=1691352191){i=o;return}if(lm(c[d>>2]|0)|0){i=o;return}Bz(c[d>>2]|0,0);Cz(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if(c[(c[j>>2]|0)+4>>2]|0){a:do if(c[(c[j>>2]|0)+12>>2]|0){fe(c[(c[j>>2]|0)+4>>2]|0);c[e>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+24+8>>2];while(1){if(!(c[e>>2]|0))break a;c[l>>2]=c[(c[e>>2]|0)+8>>2];ah(c[(c[l>>2]|0)+40>>2]|0);c[(c[l>>2]|0)+40>>2]=0;c[e>>2]=c[c[e>>2]>>2]}}while(0);lt(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;if((c[f>>2]|0)!=1)c[(c[j>>2]|0)+12>>2]=0}c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)_i(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);qm(c[d>>2]|0);pD(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=23)break;c[g>>2]=c[(c[d>>2]|0)+336+(c[f>>2]<<2)>>2];while(1){if(!(c[g>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+28>>2];while(1){if(!(c[g>>2]|0))break;im(c[d>>2]|0,c[g>>2]|0);c[n>>2]=c[(c[g>>2]|0)+8>>2];Nd(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[n>>2]}c[g>>2]=c[k>>2]}c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=c[(c[d>>2]|0)+428+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)nb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&31](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}ih((c[d>>2]|0)+428|0);c[e>>2]=c[(c[d>>2]|0)+308+8>>2];while(1){if(!(c[e>>2]|0))break;c[m>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[m>>2]|0)+12>>2]|0)nb[c[(c[m>>2]|0)+12>>2]&31](c[(c[m>>2]|0)+8>>2]|0);Nd(c[d>>2]|0,c[m>>2]|0);c[e>>2]=c[c[e>>2]>>2]}ih((c[d>>2]|0)+308|0);ee(c[d>>2]|0,0);Rf(c[(c[d>>2]|0)+232>>2]|0);c[(c[d>>2]|0)+76>>2]=-1254786768;Nd(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+76>>2]=-1623446221;if(a[(c[d>>2]|0)+248+3>>0]|0)Sb(c[(c[d>>2]|0)+248+28>>2]|0);Sb(c[d>>2]|0);i=o;return}function Je(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Zb(21,36057,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Ke(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[b>>2]|0)+40>>2]|0)!=1369188723:0))c[d>>2]=Me(c[b>>2]|0)|0;Zm(c[b>>2]|0);i=e;return c[d>>2]|0}function Le(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=c[g>>2]&255;b=c[e>>2]|0;i=h;return b|0}if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+64>>0]|0|0)!=0){c[e>>2]=oD(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Me(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];ez(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+76>>2]|0)>=0){$y(a)|0;Nd(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;if((e[(c[d>>2]|0)+88>>1]|0)>>>6&1){g=(c[d>>2]|0)+88|0;b[g>>1]=b[g>>1]&-33|32}}else if((c[a+80>>2]|0)!=0?((e[(c[d>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[d>>2]|0)+80>>2]|0;a=(c[(c[d>>2]|0)+44>>2]|0)!=0?14418:0;c[g>>2]=c[(c[d>>2]|0)+44>>2];ce(k,j,a,g);Nd(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0}nD(c[d>>2]|0);k=(c[d>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+40>>2]=649915045;i=h;return c[(c[d>>2]|0)+80>>2]&c[(c[f>>2]|0)+56>>2]|0}function Ne(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+87>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}mD(c[b>>2]|0);i=d;return}function Pe(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if((e[(c[f>>2]|0)+8>>1]|0)&16384){a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)<=0?1:a;if(!(fm(c[f>>2]|0,c[g>>2]|0,1)|0)){BH((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[c[f>>2]>>2]|0);a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-16897;break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Qe(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=lD(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function Re(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+8|0;f=k+4|0;g=k+12|0;j=k;c[f>>2]=b;a[g>>0]=d;c[j>>2]=c[f>>2];if(((e[(c[j>>2]|0)+8>>1]|0)&16|0)==0?(Qe(c[f>>2]|0,a[g>>0]|0)|0)==0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}f=c[(c[j>>2]|0)+12>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16384){c[h>>2]=f+(c[c[j>>2]>>2]|0);j=c[h>>2]|0;i=k;return j|0}else{c[h>>2]=f;j=c[h>>2]|0;i=k;return j|0}return 0}function Se(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;Iq(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function Te(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=sp(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;sg(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function Ue(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((Xe(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}Ac(c[h>>2]|0);i=j;return}function Ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))nb[c[f>>2]&31](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}Ac(c[g>>2]|0);i=h;return 18}function We(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;Ze(c[e>>2]|0);if(fx(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function Xe(f,g,h,j,k){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;u=i;i=i+48|0;n=u;o=u+16|0;l=u+20|0;v=u+24|0;p=u+34|0;q=u+28|0;t=u+12|0;s=u+8|0;r=u+32|0;m=u+4|0;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){Ze(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+88>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Ed(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==23;Oe(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=dm(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(vp(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){EH(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(kD(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function Ye(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;jD(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function Ze(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){bx(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function _e(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)bx(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=cm(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function $e(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Oe(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=35431;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[4008+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[4008+(c[b>>2]<<2)>>2]}else c[d>>2]=35445;i=e;return c[d>>2]|0}function bf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Zb(21,35391,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Je(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function cf(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l;c[g>>2]=d;if((c[(c[g>>2]|0)+40>>2]|0)!=-1108210269)fc(c[g>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];d=c[g>>2]|0;if(a[(c[h>>2]|0)+64>>0]|0){c[d+80>>2]=7;c[f>>2]=7;k=c[f>>2]|0;i=l;return k|0}if((c[d+76>>2]|0)<=0?((e[(c[g>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){c[(c[g>>2]|0)+80>>2]=17;c[k>>2]=1}else{if((c[(c[g>>2]|0)+76>>2]|0)<0){if(!(c[(c[h>>2]|0)+148>>2]|0))c[(c[h>>2]|0)+240>>2]=0;if((c[(c[h>>2]|0)+180>>2]|0)!=0?(a[(c[h>>2]|0)+140+5>>0]|0)==0:0)Xy(c[c[h>>2]>>2]|0,(c[g>>2]|0)+128|0)|0;d=(c[h>>2]|0)+148|0;c[d>>2]=(c[d>>2]|0)+1;if(!((e[(c[g>>2]|0)+88>>1]|0)>>>8&1)){d=(c[h>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+1}if((e[(c[g>>2]|0)+88>>1]|0)>>>9&1){d=(c[h>>2]|0)+152|0;c[d>>2]=(c[d>>2]|0)+1}c[(c[g>>2]|0)+76>>2]=0}if(b[(c[g>>2]|0)+88>>1]&3)c[k>>2]=Yy(c[g>>2]|0)|0;else{d=(c[h>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;c[k>>2]=Zy(c[g>>2]|0)|0;d=(c[h>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+-1}if((((c[k>>2]|0)!=100?(c[(c[h>>2]|0)+180>>2]|0)!=0:0)?(a[(c[h>>2]|0)+140+5>>0]|0)==0:0)?(c[(c[g>>2]|0)+168>>2]|0)!=0:0){Xy(c[c[h>>2]>>2]|0,j)|0;n=c[(c[h>>2]|0)+180>>2]|0;m=c[(c[h>>2]|0)+184>>2]|0;d=c[(c[g>>2]|0)+168>>2]|0;o=j;j=(c[g>>2]|0)+128|0;j=AH(c[o>>2]|0,c[o+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=MH(j|0,C|0,1e6,0)|0;xb[n&3](m,d,j,C)}if((c[k>>2]|0)==101?(o=_y(c[h>>2]|0)|0,c[(c[g>>2]|0)+80>>2]=o,(c[(c[g>>2]|0)+80>>2]|0)!=0):0)c[k>>2]=1;c[(c[h>>2]|0)+52>>2]=c[k>>2];if(7==(Le(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+80>>2]|0)|0))c[(c[g>>2]|0)+80>>2]=7}if(((c[k>>2]|0)!=100?((e[(c[g>>2]|0)+88>>1]|0)>>>10&1|0)!=0:0)&(c[k>>2]|0)!=101)c[k>>2]=$y(c[g>>2]|0)|0;c[f>>2]=c[k>>2]&c[(c[h>>2]|0)+56>>2];o=c[f>>2]|0;i=l;return o|0}function df(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;h=j+12|0;g=j+8|0;k=j+4|0;f=j;c[e>>2]=b;c[k>>2]=dc(c[e>>2]|0)|0;c[f>>2]=ws(c[e>>2]|0)|0;c[h>>2]=Lf(c[f>>2]|0,c[k>>2]|0,-1,0,c[e>>2]|0,g,0)|0;if(!(c[h>>2]|0)){Vy(c[g>>2]|0,c[e>>2]|0);of(c[g>>2]|0,c[e>>2]|0)|0;Wy(c[g>>2]|0);Ke(c[g>>2]|0)|0;c[d>>2]=0;k=c[d>>2]|0;i=j;return k|0}if((c[h>>2]|0)==7)a[(c[f>>2]|0)+64>>0]=1;c[d>>2]=c[h>>2];k=c[d>>2]|0;i=j;return k|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Ed(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=qf(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)EH(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function ff(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){vp(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)BH(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{Ze(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=qf(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}BH(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function hf(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[g>>2]=c[j>>2];if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)!=0:0)?((c[d>>2]|0)>=0?(c[d>>2]|0)<(e[(c[g>>2]|0)+84>>1]|0|0):0):0){c[f>>2]=(c[(c[g>>2]|0)+20>>2]|0)+((c[d>>2]|0)*40|0);j=c[f>>2]|0;i=h;return j|0}if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)ee(c[c[g>>2]>>2]|0,25);c[f>>2]=Uy()|0;j=c[f>>2]|0;i=h;return j|0}function jf(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Le(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+80>>2]|0)|0;c[(c[b>>2]|0)+80>>2]=e;i=d;return}function kf(b,d,e,f){b=b|0;d=d|0;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;o=i;i=i+32|0;p=o+4|0;g=o+16|0;h=o+8|0;j=o+20|0;n=o+28|0;m=o;l=o+12|0;k=o+24|0;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=Gc(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=qb[c[h>>2]&31]((c[(c[m>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+64>>0]|0)){p=c[n>>2]|0;i=o;return p|0}a[(c[k>>2]|0)+64>>0]=0;c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function lf(b,e,f,g,h,j){b=b|0;e=e|0;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;s=i;i=i+48|0;t=s+4|0;k=s+16|0;l=s+20|0;m=s+24|0;n=s+28|0;o=s+32|0;p=s+12|0;q=s+8|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=mf(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}nb[c[n>>2]&31](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=Xe(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=am(c[q>>2]|0,d[(c[(c[(c[c[p>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0)|0;ee(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Le(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function mf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;c[g>>2]=a;c[h>>2]=d;if(bf(c[g>>2]|0)|0){c[f>>2]=Gd(68415)|0;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+40>>2]|0)==-1108210269?(c[(c[g>>2]|0)+76>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+68>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[j>>2]=(c[(c[g>>2]|0)+60>>2]|0)+((c[h>>2]|0)*40|0);Oe(c[j>>2]|0);b[(c[j>>2]|0)+8>>1]=1;ee(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+88>>1]|0)>>>10&1){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+188>>2]&1<>2]|0)!=0:0))l=12;if((l|0)==12?(c[(c[g>>2]|0)+188>>2]|0)!=-1:0)break;l=(c[g>>2]|0)+88|0;b[l>>1]=b[l>>1]&-33|32}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}ee(c[c[g>>2]>>2]|0,25);c[f>>2]=25;l=c[f>>2]|0;i=m;return l|0}ee(c[c[g>>2]>>2]|0,21);c[k>>2]=c[(c[g>>2]|0)+168>>2];Zb(21,31014,k);c[f>>2]=Gd(68423)|0;l=c[f>>2]|0;i=m;return l|0}function nf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+70>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+64>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(dH(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function of(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;Ty((c[(c[g>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function pf(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Iq(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(sg(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}rp(c[g>>2]|0);i=n;return}function qf(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[h>>2]|0){if(a[(c[h>>2]|0)+64>>0]|0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}if(a[(c[h>>2]|0)+248+2>>0]|0){b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+248|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+248>>1]|0)>>>0:0)){l=d+12+4|0;c[l>>2]=(c[l>>2]|0)+1;break}b=c[d+24>>2]|0;c[l>>2]=b;if(!b){l=(c[h>>2]|0)+248+12+8|0;c[l>>2]=(c[l>>2]|0)+1;break}c[(c[h>>2]|0)+248+24>>2]=c[c[l>>2]>>2];k=(c[h>>2]|0)+248+4|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[h>>2]|0)+248+12|0;c[k>>2]=(c[k>>2]|0)+1;if((c[(c[h>>2]|0)+248+4>>2]|0)>(c[(c[h>>2]|0)+248+8>>2]|0))c[(c[h>>2]|0)+248+8>>2]=c[(c[h>>2]|0)+248+4>>2];c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}}while(0);l=j;c[k>>2]=Wd(c[l>>2]|0,c[l+4>>2]|0)|0;if((c[k>>2]|0)==0&(c[h>>2]|0)!=0)a[(c[h>>2]|0)+64>>0]=1;c[g>>2]=c[k>>2];l=c[g>>2]|0;i=m;return l|0}function rf(b,d,e,f){b=b|0;d=d|0;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;q=i;i=i+48|0;p=q;o=q+8|0;j=q+32|0;k=q+36|0;g=q+24|0;l=q+20|0;m=q+28|0;n=q+40|0;h=q+44|0;c[k>>2]=b;c[g>>2]=d;c[l>>2]=e;c[m>>2]=f;if(mr(c[k>>2]|0)|0){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}c[n>>2]=cp(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[n>>2]|0)){c[h>>2]=(c[g>>2]|0)!=0?30987:31e3;g=c[k>>2]|0;d=c[h>>2]|0;if(c[m>>2]|0){m=c[m>>2]|0;p=c[l>>2]|0;c[o>>2]=d;c[o+4>>2]=m;c[o+8>>2]=p;sf(g,21543,o)}else{o=c[l>>2]|0;c[p>>2]=d;c[p+4>>2]=o;sf(g,21553,p)}a[(c[k>>2]|0)+17>>0]=1}c[j>>2]=c[n>>2];p=c[j>>2]|0;i=q;return p|0}function sf(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;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=fn(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+67>>0]|0){Nd(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+64|0;c[l>>2]=(c[l>>2]|0)+1;Nd(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=fn(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function uf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=gf(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function wf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+8|0;p=j+16|0;o=j+20|0;n=j+24|0;m=j+4|0;k=j;h=j+12|0;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=Uo(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Df(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if(!(c[(c[e>>2]|0)+4>>2]|0)){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function yf(b,d,e,f){b=b|0;d=d|0;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;q=i;i=i+48|0;g=q;h=q+16|0;j=q+28|0;k=q+4|0;l=q+36|0;m=q+12|0;o=q+24|0;n=q+20|0;p=q+8|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[q+32>>2]=f;if(((c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]|0)|0)>(c[(c[(c[h>>2]|0)+24>>2]|0)+84>>2]|0)?(Vo(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[l>>2]=c[(c[h>>2]|0)+32>>2];if((c[j>>2]|0)>0){c[o>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=a[(c[o>>2]|0)+2>>0];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(((c[m>>2]|0)+(c[l>>2]|0)|0)*20|0);a[c[p>>2]>>0]=a[c[o>>2]>>0]|0;c[(c[p>>2]|0)+4>>2]=a[(c[o>>2]|0)+1>>0];if((c[n>>2]|0)<0)c[(c[p>>2]|0)+8>>2]=(c[l>>2]|0)+(-1-(c[n>>2]|0));else c[(c[p>>2]|0)+8>>2]=c[n>>2];c[(c[p>>2]|0)+12>>2]=a[(c[o>>2]|0)+3>>0];a[(c[p>>2]|0)+1>>0]=0;c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+4}p=(c[h>>2]|0)+32|0;c[p>>2]=(c[p>>2]|0)+(c[j>>2]|0)}c[g>>2]=c[l>>2];p=c[g>>2]|0;i=q;return p|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=(c[f>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];i=d;return}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[(c[e>>2]|0)+32>>2]|0)>>>0<=(c[f>>2]|0)>>>0){i=h;return}c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]=c[g>>2];i=h;return}function Bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[(c[e>>2]|0)+32>>2]|0)>>>0<=(c[f>>2]|0)>>>0){i=h;return}c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]=c[g>>2];i=h;return}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[(c[e>>2]|0)+32>>2]|0)>>>0<=(c[f>>2]|0)>>>0){i=h;return}c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+12>>2]=c[g>>2];i=h;return}function Df(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+20|0;h=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;j=o;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;c[j>>2]=c[c[k>>2]>>2];if((c[(c[k>>2]|0)+4>>2]|0)!=0?(d[(c[j>>2]|0)+64>>0]|0)==0:0){if((c[h>>2]|0)<0)c[h>>2]=(c[(c[k>>2]|0)+32>>2]|0)-1;c[n>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);Qy(c[j>>2]|0,a[(c[n>>2]|0)+1>>0]|0,c[(c[n>>2]|0)+16>>2]|0);c[(c[n>>2]|0)+16>>2]=0;h=c[l>>2]|0;if((c[m>>2]|0)==-14){c[(c[n>>2]|0)+16>>2]=h;a[(c[n>>2]|0)+1>>0]=-14;i=o;return}if(!h){c[(c[n>>2]|0)+16>>2]=0;a[(c[n>>2]|0)+1>>0]=0;i=o;return}if((c[m>>2]|0)==-6){c[(c[n>>2]|0)+16>>2]=c[l>>2];a[(c[n>>2]|0)+1>>0]=-6;i=o;return}if((c[m>>2]|0)==-10){c[(c[n>>2]|0)+16>>2]=c[l>>2];a[(c[n>>2]|0)+1>>0]=-10;Sy(c[l>>2]|0);i=o;return}if((c[m>>2]|0)<0){c[(c[n>>2]|0)+16>>2]=c[l>>2];a[(c[n>>2]|0)+1>>0]=c[m>>2];i=o;return}if(!(c[m>>2]|0))c[m>>2]=Ed(c[l>>2]|0)|0;m=c[m>>2]|0;m=Io(c[c[k>>2]>>2]|0,c[l>>2]|0,m,((m|0)<0)<<31>>31)|0;c[(c[n>>2]|0)+16>>2]=m;a[(c[n>>2]|0)+1>>0]=-1;i=o;return}if((c[m>>2]|0)==-10){i=o;return}Qy(c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=o;return}function Ef(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+32>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0);c[g>>2]=c[c[e>>2]>>2];Qy(c[g>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);b=c[h>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[c[h>>2]>>0]=-102;if((c[f>>2]|0)!=((c[(c[e>>2]|0)+32>>2]|0)-1|0)){i=j;return}h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+-1;i=j;return}function Ff(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;t=i;i=i+48|0;g=t;h=t+8|0;j=t+36|0;q=t+16|0;o=t+32|0;n=t+40|0;l=t+44|0;p=t+24|0;k=t+20|0;r=t+12|0;s=t+4|0;m=t+28|0;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[q>>2]=c[(c[h>>2]|0)+440>>2];c[o>>2]=c[(c[h>>2]|0)+72>>2];c[n>>2]=c[(c[h>>2]|0)+68>>2];c[l>>2]=c[(c[h>>2]|0)+392>>2];f=c[(c[h>>2]|0)+80>>2]|0;c[p>>2]=f;c[p>>2]=(c[p>>2]|0)==0?1:f;c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[r>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[(c[g>>2]|0)+32>>2]|0)*20|0);c[s>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[(c[h>>2]|0)+84>>2]|0)*20|0);rw(c[g>>2]|0,l);if(d[(c[h>>2]|0)+20>>0]|0)e=(d[(c[h>>2]|0)+21>>0]|0)!=0;else e=0;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-129|(e&1)<<7&65535;if((c[o>>2]|0)<10?(d[(c[h>>2]|0)+450>>0]|0)!=0:0)c[o>>2]=10;BH(c[r>>2]|0,0,(c[s>>2]|0)-(c[r>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[r>>2]|0)-0&7);f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-33;do{c[m>>2]=0;f=Py(c[(c[g>>2]|0)+8>>2]|0,(c[o>>2]|0)*40|0,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+8>>2]=f;f=Py(c[(c[g>>2]|0)+60>>2]|0,(c[q>>2]|0)*40|0,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+60>>2]=f;f=Py(c[(c[g>>2]|0)+12>>2]|0,c[l>>2]<<2,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+12>>2]=f;f=Py(c[(c[g>>2]|0)+64>>2]|0,c[q>>2]<<2,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+64>>2]=f;f=Py(c[(c[g>>2]|0)+56>>2]|0,c[n>>2]<<2,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+56>>2]=f;f=Py(c[(c[g>>2]|0)+200>>2]|0,c[p>>2]|0,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+200>>2]=f;if(c[m>>2]|0){f=c[m>>2]|0;f=gf(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+172>>2]=f}c[r>>2]=c[(c[g>>2]|0)+172>>2];c[s>>2]=(c[r>>2]|0)+(c[m>>2]|0);if(!(c[m>>2]|0))break}while((a[(c[j>>2]|0)+64>>0]|0)!=0^1);c[(c[g>>2]|0)+36>>2]=c[n>>2];c[(c[g>>2]|0)+196>>2]=c[p>>2];a:do if(c[(c[g>>2]|0)+60>>2]|0){b[(c[g>>2]|0)+68>>1]=c[q>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[q>>2]|0))break a;b[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=1;c[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}}while(0);if(c[(c[g>>2]|0)+64>>2]|0){b[(c[g>>2]|0)+70>>1]=c[(c[h>>2]|0)+444>>2];EH(c[(c[g>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+472>>2]|0,b[(c[g>>2]|0)+70>>1]<<2|0)|0;BH(c[(c[h>>2]|0)+472>>2]|0,0,c[(c[h>>2]|0)+444>>2]<<2|0)|0}if(!(c[(c[g>>2]|0)+8>>2]|0)){r=c[h>>2]|0;r=r+450|0;r=a[r>>0]|0;r=r&255;s=c[g>>2]|0;s=s+88|0;r=r&65535;q=b[s>>1]|0;r=r&3;q=q&-4;r=q|r;b[s>>1]=r;s=c[g>>2]|0;Ne(s);i=t;return}s=(c[g>>2]|0)+8|0;c[s>>2]=(c[s>>2]|0)+-40;c[(c[g>>2]|0)+28>>2]=c[o>>2];c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[o>>2]|0))break;b[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=128;c[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}r=c[h>>2]|0;r=r+450|0;r=a[r>>0]|0;r=r&255;s=c[g>>2]|0;s=s+88|0;r=r&65535;q=b[s>>1]|0;r=r&3;q=q&-4;r=q|r;b[s>>1]=r;s=c[g>>2]|0;Ne(s);i=t;return}function Gf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Nd(c[d>>2]|0,c[(c[b>>2]|0)+112>>2]|0);$m(c[d>>2]|0,c[(c[b>>2]|0)+316>>2]|0);i=e;return}function Hf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+73>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+73>>0]|0|0)>=3)e=vw(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=Lw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function If(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+88|0;b[f>>1]=b[f>>1]&-33|32;c[d>>2]=c[(c[d>>2]|0)+52>>2]}i=e;return}function Jf(b,e,f,g){b=b|0;e=e|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;y=i;i=i+64|0;t=y;u=y+12|0;v=y+44|0;w=y+36|0;x=y+32|0;p=y+40|0;q=y+48|0;n=y+52|0;m=y+56|0;o=y+24|0;s=y+60|0;l=y+28|0;r=y+20|0;j=y+8|0;k=y+16|0;h=y+4|0;c[u>>2]=b;c[v>>2]=e;c[w>>2]=f;c[x>>2]=g;c[n>>2]=d[(c[w>>2]|0)+1>>0];c[m>>2]=d[c[w>>2]>>0];a[s>>0]=a[(c[w>>2]|0)+3>>0]|0;c[l>>2]=0;if(c[x>>2]|0)g=c[x>>2]|0;else g=d[(c[w>>2]|0)+2>>0]|0;c[o>>2]=g;a:while(1){e=du(u)|0;c[p>>2]=e;if(!e){g=74;break}if((c[p>>2]|0)==(c[m>>2]|0)){g=7;break}do if((c[p>>2]|0)==(c[o>>2]|0)){if(c[x>>2]|0){c[p>>2]=du(u)|0;if(!(c[p>>2]|0)){g=43;break a}c[l>>2]=c[u>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[p>>2]=du(v)|0;if(!(c[p>>2]|0)){g=46;break a}c[q>>2]=du(u)|0;if((c[q>>2]|0)==94){c[h>>2]=1;c[q>>2]=du(u)|0}if((c[q>>2]|0)==93){if((c[p>>2]|0)==93)c[k>>2]=1;c[q>>2]=du(u)|0}while(1){g=c[q>>2]|0;if(!((c[q>>2]|0)!=0?(c[q>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[u>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[u>>2]>>0]|0)!=0:0):0){c[q>>2]=du(u)|0;if((c[p>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[p>>2]|0)>>>0<=(c[q>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[p>>2]|0)==(c[q>>2]|0))c[k>>2]=1;c[j>>2]=c[q>>2]}c[q>>2]=du(u)|0}if(!g){g=67;break a}if(!(c[k>>2]^c[h>>2])){g=67;break a}else continue a}while(0);c[q>>2]=du(v)|0;if((c[p>>2]|0)==(c[q>>2]|0))continue;if((d[s>>0]|0)!=0&(c[p>>2]|0)>>>0<128&(c[q>>2]|0)>>>0<128?(d[13848+(c[p>>2]&255)>>0]|0)==(d[13848+(c[q>>2]&255)>>0]|0):0)continue;if((c[p>>2]|0)!=(c[n>>2]|0)){g=73;break}if(!((c[q>>2]|0)!=0?(c[u>>2]|0)!=(c[l>>2]|0):0)){g=73;break}}if((g|0)==7){while(1){g=0;l=du(u)|0;c[p>>2]=l;if((l|0)==(c[m>>2]|0))f=1;else f=(c[p>>2]|0)==(c[n>>2]|0);b=c[p>>2]|0;if(!f)break;if((b|0)!=(c[n>>2]|0)){g=7;continue}if(!(du(v)|0)){g=12;break}else g=7}if((g|0)==12){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}if(!b){c[t>>2]=1;x=c[t>>2]|0;i=y;return x|0}do if((c[p>>2]|0)==(c[o>>2]|0)){if(c[x>>2]|0){c[p>>2]=du(u)|0;if(c[p>>2]|0)break;c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}b:while(1){if(d[c[v>>2]>>0]|0)b=(Jf((c[u>>2]|0)+-1|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0)==0;else b=0;f=c[v>>2]|0;if(!b)break;c[v>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[v>>2]>>0]&192|0)!=128)continue b;c[v>>2]=(c[v>>2]|0)+1}}c[t>>2]=(d[f>>0]|0)!=0&1;x=c[t>>2]|0;i=y;return x|0}while(0);c:do if((c[p>>2]|0)>>>0<=128){f=c[p>>2]|0;if(a[s>>0]|0){c[r>>2]=f&~(d[14426+(c[p>>2]&255)>>0]&32);c[p>>2]=d[13848+(c[p>>2]&255)>>0]}else c[r>>2]=f;while(1){s=c[v>>2]|0;c[v>>2]=s+1;s=d[s>>0]|0;c[q>>2]=s;if(!s)break c;if((c[q>>2]|0)!=(c[p>>2]|0)?(c[q>>2]|0)!=(c[r>>2]|0):0)continue;if(Jf(c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0)break}c[t>>2]=1;x=c[t>>2]|0;i=y;return x|0}else{while(1){s=du(v)|0;c[q>>2]=s;if(!s)break c;if((c[q>>2]|0)!=(c[p>>2]|0))continue;if(Jf(c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0)break}c[t>>2]=1;x=c[t>>2]|0;i=y;return x|0}while(0);c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==43){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==46){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==67){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==73){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==74){c[t>>2]=(d[c[v>>2]>>0]|0)==0&1;x=c[t>>2]|0;i=y;return x|0}return 0}function Kf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){Dy(30955);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+76>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Mf(c[d>>2]|0)|0)Dy(30960);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Lf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|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,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+16|0;l=s+4|0;m=s+8|0;n=s+32|0;o=s;p=s+12|0;q=s+24|0;r=s+20|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;if(!(Kf(c[k>>2]|0)|0)){c[j>>2]=Gd(103895)|0;b=c[j>>2]|0;i=s;return b|0}Hd(c[k>>2]|0);c[r>>2]=Ey(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){ec(c[c[p>>2]>>2]|0)|0;c[r>>2]=Ey(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Mf(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+76>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){Dy(30796);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Nf(b,d,e,f,g){b=b|0;d=d|0;e=e|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;s=i;i=i+48|0;h=s;j=s+16|0;k=s+28|0;l=s+4|0;m=s+32|0;q=s+36|0;n=s+12|0;p=s+24|0;o=s+20|0;r=s+8|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=0;c[n>>2]=Ed(c[j>>2]|0)|0;if(!(Zg((c[h>>2]|0)+308|0,c[j>>2]|0)|0)){c[p>>2]=qf(c[h>>2]|0,16+(c[n>>2]|0)+1|0,0)|0;if((c[p>>2]|0)!=0?(c[r>>2]=(c[p>>2]|0)+16,EH(c[r>>2]|0,c[j>>2]|0,(c[n>>2]|0)+1|0)|0,c[(c[p>>2]|0)+4>>2]=c[r>>2],c[c[p>>2]>>2]=c[k>>2],c[(c[p>>2]|0)+8>>2]=c[l>>2],c[(c[p>>2]|0)+12>>2]=c[m>>2],c[o>>2]=ch((c[h>>2]|0)+308|0,c[r>>2]|0,c[p>>2]|0)|0,(c[o>>2]|0)!=0):0){a[(c[h>>2]|0)+64>>0]=1;Nd(c[h>>2]|0,c[o>>2]|0)}}else c[q>>2]=Gd(112100)|0;c[q>>2]=Le(c[h>>2]|0,c[q>>2]|0)|0;if(!((c[q>>2]|0)!=0&(c[m>>2]|0)!=0)){d=c[q>>2]|0;i=s;return d|0}nb[c[m>>2]&31](c[l>>2]|0);d=c[q>>2]|0;i=s;return d|0}function Of(b,e,f){b=b|0;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;B=i;i=i+96|0;g=B+40|0;s=B+16|0;r=B+24|0;q=B;p=B+8|0;u=B+32|0;v=B+28|0;h=B+56|0;j=B+84|0;y=B+88|0;x=B+60|0;n=B+64|0;o=B+68|0;l=B+72|0;k=B+92|0;w=B+80|0;m=B+48|0;z=B+52|0;A=B+76|0;c[v>>2]=b;c[h>>2]=e;c[j>>2]=f;c[y>>2]=0;c[l>>2]=-1;c[w>>2]=c[c[v>>2]>>2];c[m>>2]=c[(c[w>>2]|0)+88+4>>2];if(!(c[(c[w>>2]|0)+148>>2]|0))c[(c[w>>2]|0)+240>>2]=0;c[(c[v>>2]|0)+12>>2]=0;c[(c[v>>2]|0)+480>>2]=c[h>>2];c[x>>2]=0;c[n>>2]=Um(38)|0;b=c[w>>2]|0;if(!(c[n>>2]|0)){a[b+64>>0]=1;c[u>>2]=7;A=c[u>>2]|0;i=B;return A|0}a[k>>0]=a[b+248+2>>0]|0;if(c[(c[w>>2]|0)+248+28>>2]|0)a[(c[w>>2]|0)+248+2>>0]=1;a:while(1){if(a[(c[w>>2]|0)+64>>0]|0)break;if(!(a[(c[h>>2]|0)+(c[x>>2]|0)>>0]|0))break;c[(c[v>>2]|0)+504>>2]=(c[h>>2]|0)+(c[x>>2]|0);e=Vm((c[h>>2]|0)+(c[x>>2]|0)|0,o)|0;c[(c[v>>2]|0)+504+4>>2]=e;c[x>>2]=(c[x>>2]|0)+(c[(c[v>>2]|0)+504+4>>2]|0);if((c[x>>2]|0)>(c[m>>2]|0)){t=10;break}switch(c[o>>2]|0){case 150:{t=14;break a}case 151:if(c[(c[w>>2]|0)+240>>2]|0){t=13;break a}else continue a;case 1:{c[(c[v>>2]|0)+480>>2]=(c[h>>2]|0)+(c[x>>2]|0);break}default:{}}b=c[n>>2]|0;f=c[o>>2]|0;C=(c[v>>2]|0)+504|0;e=c[v>>2]|0;c[g>>2]=c[C>>2];c[g+4>>2]=c[C+4>>2];Wm(b,f,g,e);c[l>>2]=c[o>>2];if(c[(c[v>>2]|0)+12>>2]|0)break}if((t|0)==10)c[(c[v>>2]|0)+12>>2]=18;else if((t|0)==13){sf(c[v>>2]|0,18084,p);c[(c[v>>2]|0)+12>>2]=9}else if((t|0)==14){Nd(c[w>>2]|0,c[c[j>>2]>>2]|0);C=c[w>>2]|0;c[q>>2]=(c[v>>2]|0)+504;C=tf(C,18094,q)|0;c[c[j>>2]>>2]=C;c[y>>2]=(c[y>>2]|0)+1}if(((c[y>>2]|0)==0?(a[(c[h>>2]|0)+(c[x>>2]|0)>>0]|0)==0:0)?(c[(c[v>>2]|0)+12>>2]|0)==0:0){if((c[l>>2]|0)!=1){t=c[n>>2]|0;q=(c[v>>2]|0)+504|0;C=c[v>>2]|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];Wm(t,1,g,C);c[(c[v>>2]|0)+480>>2]=(c[h>>2]|0)+(c[x>>2]|0)}t=c[n>>2]|0;q=(c[v>>2]|0)+504|0;C=c[v>>2]|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];Wm(t,0,g,C)}Xm(c[n>>2]|0,13);a[(c[w>>2]|0)+248+2>>0]=a[k>>0]|0;if(a[(c[w>>2]|0)+64>>0]|0)c[(c[v>>2]|0)+12>>2]=7;if(((c[(c[v>>2]|0)+12>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=101:0)?(c[(c[v>>2]|0)+4>>2]|0)==0:0){t=(c[v>>2]|0)+4|0;C=c[w>>2]|0;c[r>>2]=af(c[(c[v>>2]|0)+12>>2]|0)|0;Ym(t,C,14418,r)}if(c[(c[v>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[v>>2]|0)+4>>2];C=c[(c[v>>2]|0)+12>>2]|0;c[s>>2]=c[c[j>>2]>>2];Zb(C,14418,s);c[(c[v>>2]|0)+4>>2]=0;c[y>>2]=(c[y>>2]|0)+1}if(((c[(c[v>>2]|0)+8>>2]|0)!=0?(c[(c[v>>2]|0)+64>>2]|0)>0:0)?(d[(c[v>>2]|0)+18>>0]|0)==0:0){Zm(c[(c[v>>2]|0)+8>>2]|0);c[(c[v>>2]|0)+8>>2]=0}if(!(d[(c[v>>2]|0)+18>>0]|0)){Nd(c[w>>2]|0,c[(c[v>>2]|0)+400>>2]|0);c[(c[v>>2]|0)+400>>2]=0;c[(c[v>>2]|0)+396>>2]=0}Sb(c[(c[v>>2]|0)+520>>2]|0);if(!(a[(c[v>>2]|0)+451>>0]|0))Ld(c[w>>2]|0,c[(c[v>>2]|0)+484>>2]|0);if(a[(c[v>>2]|0)+449>>0]|0)_m(c[w>>2]|0,c[(c[v>>2]|0)+532>>2]|0);Kd(c[w>>2]|0,c[(c[v>>2]|0)+488>>2]|0);c[x>>2]=(c[(c[v>>2]|0)+444>>2]|0)-1;while(1){b=c[w>>2]|0;if((c[x>>2]|0)<0)break;Nd(b,c[(c[(c[v>>2]|0)+472>>2]|0)+(c[x>>2]<<2)>>2]|0);c[x>>2]=(c[x>>2]|0)+-1}Nd(b,c[(c[v>>2]|0)+472>>2]|0);while(1){if(!(c[(c[v>>2]|0)+404>>2]|0))break;c[z>>2]=c[(c[v>>2]|0)+404>>2];c[(c[v>>2]|0)+404>>2]=c[c[z>>2]>>2];Nd(c[w>>2]|0,c[z>>2]|0)}while(1){if(!(c[(c[v>>2]|0)+524>>2]|0))break;c[A>>2]=c[(c[v>>2]|0)+524>>2];c[(c[v>>2]|0)+524>>2]=c[(c[A>>2]|0)+72>>2];Ld(c[w>>2]|0,c[A>>2]|0)}if((c[y>>2]|0)>0?(c[(c[v>>2]|0)+12>>2]|0)==0:0)c[(c[v>>2]|0)+12>>2]=1;c[u>>2]=c[y>>2];C=c[u>>2]|0;i=B;return C|0}function Pf(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=gf(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function Qf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}Xe(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function Rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Oe(c[b>>2]|0);Nd(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function Sf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=2212;id(4,b)|0;i=a;return}function Tf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=2160;id(18,b)|0;i=a;return}function Uf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;rm(c[(c[d>>2]|0)+204>>2]|0);i=b;return}function Vf(d,e,f,g){d=d|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+8|0;l=q+20|0;m=q+28|0;p=q;n=q+12|0;o=q+24|0;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+248+4>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+248+3>>0]|0)Sb(c[(c[j>>2]|0)+248+28>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}gh();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=Wd(f,((f|0)<0)<<31>>31)|0;hh();if(c[p>>2]|0){f=Jd(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+248+28>>2]=c[p>>2];c[(c[j>>2]|0)+248+24>>2]=0;b[(c[j>>2]|0)+248>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+248+24>>2];c[(c[j>>2]|0)+248+24>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+248+32>>2]=c[o>>2];a[(c[j>>2]|0)+248+2>>0]=1;a[(c[j>>2]|0)+248+3>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+248+28>>2]=c[j>>2];c[(c[j>>2]|0)+248+32>>2]=c[j>>2];a[(c[j>>2]|0)+248+2>>0]=0;a[(c[j>>2]|0)+248+3>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(Mf(c[e>>2]|0)|0)){c[d>>2]=Gd(125804)|0;g=c[d>>2]|0;i=h;return g|0}jm(c[e>>2]|0);km(c[e>>2]|0)|0;if((c[f>>2]|0)==0?(lm(c[e>>2]|0)|0)!=0:0){ce(c[e>>2]|0,5,17942,g);c[d>>2]=5;g=c[d>>2]|0;i=h;return g|0}c[(c[e>>2]|0)+76>>2]=1691352191;Ie(c[e>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+492>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{eg(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0}function Yf(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;D=i;i=i+64|0;C=D;p=D+28|0;q=D+4|0;r=D+16|0;s=D+32|0;t=D+8|0;u=D+12|0;v=D+24|0;w=D+20|0;x=D+36|0;y=D+40|0;B=D+44|0;A=D+48|0;z=D+52|0;o=D+56|0;c[q>>2]=d;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=n;do if(c[r>>2]|0){if((c[v>>2]|0)!=0?(c[x>>2]|0)!=0|(c[w>>2]|0)!=0:0)break;if(((c[v>>2]|0)==0&(c[x>>2]|0)!=0^1|(c[w>>2]|0)!=0?!((((c[v>>2]|0)!=0|(c[x>>2]|0)!=0)^1)&(c[w>>2]|0)!=0|(c[s>>2]|0)<-1|(c[s>>2]|0)>127):0)?(f=Ed(c[r>>2]|0)|0,c[A>>2]=f,255>=(f|0)):0){c[z>>2]=c[t>>2]&2048;c[t>>2]=c[t>>2]&7;do if((c[t>>2]|0)!=4){if((c[t>>2]|0)==5){c[o>>2]=Yf(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,1|c[z>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=Yf(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,2|c[z>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[o>>2]|0)){c[t>>2]=3;break}c[p>>2]=c[o>>2];C=c[p>>2]|0;i=D;return C|0}}else c[t>>2]=(a[920]|0)==0?3:2;while(0);c[B>>2]=Zf(c[q>>2]|0,c[r>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[t>>2]|0):0)?(b[c[B>>2]>>1]|0)==(c[s>>2]|0):0){d=c[q>>2]|0;if(!(c[(c[q>>2]|0)+148>>2]|0)){If(d);break}ce(d,5,17879,C);c[p>>2]=5;C=c[p>>2]|0;i=D;return C|0}while(0);c[B>>2]=Zf(c[q>>2]|0,c[r>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]&255,1)|0;if(!(c[B>>2]|0)){c[p>>2]=7;C=c[p>>2]|0;i=D;return C|0}im(c[q>>2]|0,c[B>>2]|0);if(c[y>>2]|0){C=c[y>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+32>>2]=c[y>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[z>>2];c[(c[B>>2]|0)+12>>2]=c[v>>2];c[(c[B>>2]|0)+16>>2]=c[w>>2];c[(c[B>>2]|0)+20>>2]=c[x>>2];c[(c[B>>2]|0)+4>>2]=c[u>>2];b[c[B>>2]>>1]=c[s>>2];c[p>>2]=0;C=c[p>>2]|0;i=D;return C|0}}while(0);c[p>>2]=Gd(126362)|0;C=c[p>>2]|0;i=D;return C|0}function Zf(e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;l=z+24|0;m=z+16|0;n=z+8|0;o=z+28|0;p=z+32|0;q=z+48|0;r=z+49|0;u=z+44|0;v=z+20|0;s=z+12|0;t=z+4|0;x=z+36|0;w=z;y=z+40|0;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;a[r>>0]=k;c[v>>2]=0;c[s>>2]=0;c[t>>2]=((d[13848+(d[c[n>>2]>>0]|0)>>0]|0)+(c[o>>2]|0)|0)%23|0;c[u>>2]=Zl((c[m>>2]|0)+336|0,c[t>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;c[x>>2]=_l(c[u>>2]|0,c[p>>2]|0,a[q>>0]|0)|0;if((c[x>>2]|0)>(c[s>>2]|0)){c[v>>2]=c[u>>2];c[s>>2]=c[x>>2]}c[u>>2]=c[(c[u>>2]|0)+8>>2]}a:do if(!(a[r>>0]|0)){if((c[v>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&2097152|0)==0:0)break;c[w>>2]=472;c[s>>2]=0;c[u>>2]=Zl(c[w>>2]|0,c[t>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[u>>2]|0))break a;c[y>>2]=_l(c[u>>2]|0,c[p>>2]|0,a[q>>0]|0)|0;if((c[y>>2]|0)>(c[s>>2]|0)){c[v>>2]=c[u>>2];c[s>>2]=c[y>>2]}c[u>>2]=c[(c[u>>2]|0)+8>>2]}}while(0);if((d[r>>0]|0)!=0&(c[s>>2]|0)<6?(f=gf(c[m>>2]|0,36+(c[o>>2]|0)+1|0,0)|0,c[v>>2]=f,(f|0)!=0):0){c[(c[v>>2]|0)+24>>2]=(c[v>>2]|0)+36;b[c[v>>2]>>1]=c[p>>2];b[(c[v>>2]|0)+2>>1]=d[q>>0]|0;EH(c[(c[v>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;a[(c[(c[v>>2]|0)+24>>2]|0)+(c[o>>2]|0)>>0]=0;$l((c[m>>2]|0)+336|0,c[v>>2]|0)}do if(c[v>>2]|0){if(((c[(c[v>>2]|0)+16>>2]|0)==0?(c[(c[v>>2]|0)+12>>2]|0)==0:0)?(d[r>>0]|0)==0:0)break;c[l>>2]=c[v>>2];f=c[l>>2]|0;i=z;return f|0}while(0);c[l>>2]=0;f=c[l>>2]|0;i=z;return f|0}function _f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+24>>2];c[h>>2]=c[j>>2];c[f>>2]=Wb(17764,h)|0;rc(c[g>>2]|0,c[f>>2]|0,-1);Sb(c[f>>2]|0);i=e;return}function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}gh();xd(c[f>>2]|0,c[g>>2]|0)|0;hh();i=h;return 0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=-1;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[f>>2]=Ed(c[e>>2]|0)|0;c[h>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[g>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[h>>2]<<4);while(1){if((c[h>>2]|0)<0){d=7;break}b=c[f>>2]|0;if((b|0)==(Ed(c[c[g>>2]>>2]|0)|0)?0==($b(c[c[g>>2]>>2]|0,c[e>>2]|0)|0):0){d=7;break}c[h>>2]=(c[h>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+-16}if((d|0)==7){h=c[h>>2]|0;i=j;return h|0}return 0}function bg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;p=i;i=i+32|0;g=p+4|0;h=p+16|0;j=p+8|0;k=p+20|0;l=p+28|0;o=p;n=p+12|0;m=p+24|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=Xl(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function cg(b,d,e,f){b=b|0;d=d|0;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;s=i;i=i+48|0;p=s;h=s+8|0;j=s+20|0;k=s+16|0;l=s+24|0;m=s+4|0;n=s+12|0;o=s+28|0;g=s+32|0;r=s+36|0;q=s+40|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Mb()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Gd(127429)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=de(528,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Sb(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+76>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+456;d=(c[n>>2]|0)+88|0;g=932;e=d+48|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(e|0));c[(c[n>>2]|0)+88+44>>2]=0;a[(c[n>>2]|0)+62>>0]=1;a[(c[n>>2]|0)+66>>0]=-1;e=184;b=c[e+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+72>>2]=0;c[(c[n>>2]|0)+136>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|9437264;jh((c[n>>2]|0)+428|0);jh((c[n>>2]|0)+308|0);dg(c[n>>2]|0,15963,1,0,9,0)|0;dg(c[n>>2]|0,15963,3,0,9,0)|0;dg(c[n>>2]|0,15963,2,0,9,0)|0;dg(c[n>>2]|0,15970,1,1,9,0)|0;if(!(a[(c[n>>2]|0)+64>>0]|0)){f=Xg(c[n>>2]|0,1,15963,0)|0;c[(c[n>>2]|0)+8>>2]=f;dg(c[n>>2]|0,15976,1,0,10,0)|0;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=mh(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)a[(c[n>>2]|0)+64>>0]=1;j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?14418:0;c[p>>2]=c[q>>2];ce(j,l,m,p);Sb(c[q>>2]|0);break}c[o>>2]=nh(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;ee(c[n>>2]|0,c[o>>2]|0);break}fe(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=oh(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;q=oh(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=15983;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=14695;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+76>>2]=-1607883113;if(!(a[(c[n>>2]|0)+64>>0]|0)){ee(c[n>>2]|0,0);ph(c[n>>2]|0);c[o>>2]=yd(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(qh(c[n>>2]|0),c[o>>2]=yd(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+64>>0]|0)==0:0)c[o>>2]=rh(c[n>>2]|0)|0;if(c[o>>2]|0)ee(c[n>>2]|0,c[o>>2]|0);Vf(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;ud(c[n>>2]|0,1e3)|0}}}while(0);Sb(c[r>>2]|0);c[o>>2]=yd(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+76>>2]=1266094736}else{nd(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];c[h>>2]=Le(0,c[o>>2]|0)|0;r=c[h>>2]|0;i=s;return r|0}function dg(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+16|0;l=x+8|0;m=x+20|0;n=x+48|0;o=x+40|0;p=x+4|0;q=x+28|0;v=x+32|0;s=x+12|0;r=x+24|0;t=x+36|0;u=x+44|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[920]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Gd(127001)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Xg(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+148>>2]|0){ce(b,5,15895,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}If(b);Yg(c[l>>2]|0);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=Zg((c[l>>2]|0)+428|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)nb[c[(c[u>>2]|0)+16>>2]&31](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Xg(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;ee(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vb[c[(c[f>>2]|0)+60>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!($b(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=lb[c[(c[c[h>>2]>>2]|0)+40>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function hg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[67];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=qb[c[d>>2]&31](c[b>>2]|0)|0;i=e;return d|0}function ig(a,d,f,g){a=a|0;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;o=i;i=i+32|0;h=o+8|0;p=o+16|0;j=o+20|0;k=o+24|0;l=o+4|0;n=o;m=o+12|0;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];fe(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];zg(c[m>>2]|0)}c[n>>2]=Ag(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=yg(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function kg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;xg(8,c[b>>2]|0);if((c[78]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[77];c[77]=c[c[77]>>2];c[78]=(c[78]|0)+-1;Xd(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=Wd(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Xd(4,Jd(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function lg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[76]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[77];c[77]=c[e>>2];c[78]=(c[78]|0)+1;Xd(3,-1);i=f;return}if(c[2]|0){c[d>>2]=Jd(c[b>>2]|0)|0;Xd(4,0-(c[d>>2]|0)|0);Xd(0,0-(c[d>>2]|0)|0);Xd(9,-1);nb[c[48>>2]&31](c[b>>2]|0);i=f;return}else{nb[c[48>>2]&31](c[b>>2]|0);i=f;return}}function mg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((ug(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0} +function gq(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;f=m+40|0;g=m+36|0;h=m+32|0;k=m+44|0;l=m+8|0;j=m;c[g>>2]=a;c[h>>2]=d;if(!(c[h>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}c[j>>2]=c[c[g>>2]>>2];if(Bq(c[j>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+(c[(c[c[g>>2]>>2]|0)+460>>2]|0)|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=m;return l|0}j=(c[j>>2]|0)+460|0;c[j>>2]=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]|0);b[k>>1]=(e[(c[g>>2]|0)+28>>1]|0)&4098;j=(c[g>>2]|0)+28|0;b[j>>1]=(e[j>>1]|0)&-4099;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l>>2]=44;c[l+4>>2]=45;c[l+12>>2]=c[c[g>>2]>>2];c[l+20>>2]=c[g>>2];dq(l,c[h>>2]|0)|0;j=(c[c[g>>2]>>2]|0)+460|0;c[j>>2]=(c[j>>2]|0)-(c[(c[h>>2]|0)+24>>2]|0);if(!((c[(c[g>>2]|0)+24>>2]|0)<=0?(c[(c[l+12>>2]|0)+64>>2]|0)<=0:0)){l=(c[h>>2]|0)+4|0;c[l>>2]=c[l>>2]|8}if((e[(c[g>>2]|0)+28>>1]|0)&2){l=(c[h>>2]|0)+4|0;c[l>>2]=c[l>>2]|2}l=(c[g>>2]|0)+28|0;b[l>>1]=e[l>>1]|0|(e[k>>1]|0);c[f>>2]=(c[(c[h>>2]|0)+4>>2]&8|0)!=0&1;l=c[f>>2]|0;i=m;return l|0}function hq(d,e,f,g){d=d|0;e=e|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;w=i;i=i+64|0;h=w+44|0;j=w+36|0;k=w+20|0;l=w+16|0;m=w+32|0;n=w+40|0;p=w+48|0;o=w+8|0;t=w+4|0;u=w+24|0;q=w+12|0;r=w+28|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=Vp(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=lq(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(jq(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(gq(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(oq(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){kq(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=wq(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function iq(d,e){d=d|0;e=e|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;u=i;i=i+64|0;t=u+8|0;o=u+20|0;p=u+36|0;f=u+12|0;q=u+16|0;s=u+24|0;r=u+32|0;g=u+28|0;j=u+40|0;m=u+44|0;h=u+48|0;l=u+52|0;k=u+56|0;n=u+60|0;c[p>>2]=d;c[f>>2]=e;c[j>>2]=1;c[s>>2]=c[(c[f>>2]|0)+48>>2];if(!(c[s>>2]|0)){c[o>>2]=0;t=c[o>>2]|0;i=u;return t|0}c[g>>2]=c[c[p>>2]>>2];if((c[c[s>>2]>>2]|0)>(c[(c[g>>2]|0)+88+8>>2]|0)){sf(c[p>>2]|0,20902,u);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[s>>2]>>2]|0))break;d=(c[(c[s>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+13|0;a[d>>0]=a[d>>0]&-2;c[q>>2]=(c[q>>2]|0)+1}c[(c[f>>2]|0)+56>>2]=0;while(1){if(!(c[(c[f>>2]|0)+52>>2]|0))break;c[(c[(c[f>>2]|0)+52>>2]|0)+56>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+52>>2]}a:while(1){if(!((c[f>>2]|0)!=0?(c[j>>2]|0)!=0:0)){e=33;break}c[j>>2]=0;c[r>>2]=c[c[f>>2]>>2];c[q>>2]=0;c[m>>2]=c[(c[s>>2]|0)+4>>2];while(1){if((c[q>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[h>>2]=-1;do if(!(a[(c[m>>2]|0)+13>>0]&1)){c[l>>2]=Vp(c[c[m>>2]>>2]|0)|0;if(jq(c[l>>2]|0,h)|0){if((c[h>>2]|0)<=0){e=18;break a}if((c[h>>2]|0)>(c[c[r>>2]>>2]|0)){e=18;break a}}else{c[h>>2]=lq(c[p>>2]|0,c[r>>2]|0,c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[k>>2]=mq(c[g>>2]|0,c[l>>2]|0,0)|0;if(!(a[(c[g>>2]|0)+64>>0]|0))c[h>>2]=nq(c[p>>2]|0,c[f>>2]|0,c[k>>2]|0)|0;dn(c[g>>2]|0,c[k>>2]|0)}}if((c[h>>2]|0)<=0){c[j>>2]=1;break}c[n>>2]=Qn(c[g>>2]|0,132,0)|0;if(!(c[n>>2]|0)){e=25;break a}e=(c[n>>2]|0)+4|0;c[e>>2]=c[e>>2]|1024;c[(c[n>>2]|0)+8>>2]=c[h>>2];e=c[n>>2]|0;d=c[m>>2]|0;if((c[c[m>>2]>>2]|0)==(c[l>>2]|0))c[d>>2]=e;else c[(c[d>>2]|0)+12>>2]=e;dn(c[g>>2]|0,c[l>>2]|0);b[(c[m>>2]|0)+16>>1]=c[h>>2];d=(c[m>>2]|0)+13|0;a[d>>0]=a[d>>0]&-2|1}while(0);c[q>>2]=(c[q>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}c[f>>2]=c[(c[f>>2]|0)+56>>2]}if((e|0)==18){kq(c[p>>2]|0,20831,(c[q>>2]|0)+1|0,c[c[r>>2]>>2]|0);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}else if((e|0)==25){c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}else if((e|0)==33){c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[s>>2]>>2]|0)){e=38;break}if(!(a[(c[(c[s>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+13>>0]&1)){e=36;break}c[q>>2]=(c[q>>2]|0)+1}if((e|0)==36){s=c[p>>2]|0;c[t>>2]=(c[q>>2]|0)+1;sf(s,20936,t);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}else if((e|0)==38){c[o>>2]=0;t=c[o>>2]|0;i=u;return t|0}}return 0}function jq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 158:{c[h>>2]=jq(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 157:{if(jq(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function kq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;sf(b,20997,g);i=f;return}function lq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+8|0;g=m+20|0;h=m+24|0;j=m+4|0;l=m;k=m+12|0;c[m+16>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==27){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?($b(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=qq(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return b|0}function nq(d,e,f){d=d|0;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;l=i;i=i+80|0;k=l+64|0;q=l+48|0;r=l+4|0;g=l+8|0;h=l+60|0;j=l;p=l+16|0;n=l+56|0;m=l+52|0;o=l+68|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+32>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+67>>0]|0;a[(c[n>>2]|0)+67>>0]=1;c[m>>2]=gq(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+67>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){d=8;break}r=(oq(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;f=(c[h>>2]|0)+1|0;if(r){d=6;break}c[h>>2]=f}if((d|0)==6){c[k>>2]=f;r=c[k>>2]|0;i=l;return r|0}else if((d|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function oq(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];a=c[h>>2]|0;if(c[l>>2]&1024){if((c[a+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}f=d[c[h>>2]>>0]|0;if((d[a>>0]|0)!=(d[c[j>>2]>>0]|0)){if((f|0)==95?(oq(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==95?(oq(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((((f|0)!=154?(d[c[h>>2]>>0]|0)!=156:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0)?(aH(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)!=0:0){c[g>>2]=(d[c[h>>2]>>0]|0)==95?1:2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(oq(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(oq(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(pq(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(!(c[l>>2]&8192)){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function pq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+8|0;f=n+16|0;g=n+20|0;h=n+24|0;j=n+4|0;k=n;l=n+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(oq(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function qq(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;n=t+44|0;o=t+36|0;p=t+20|0;q=t+16|0;r=t+32|0;m=t+40|0;s=t+48|0;k=t+8|0;h=t+4|0;f=t+24|0;j=t+12|0;g=t+28|0;l=t;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if(!(c[o>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[m>>2]=c[p>>2]&1;c[k>>2]=0;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[k>>2]=32768}else{b=c[n>>2]|0;e=rq(c[o>>2]|0,c[p>>2]|0)|0;c[s>>2]=qf(b,e,((e|0)<0)<<31>>31)|0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[h>>2]=sq(c[o>>2]|0,c[p>>2]|0)|0;c[f>>2]=c[h>>2]&4095;if((c[(c[o>>2]|0)+4>>2]&1024|0)==0?(c[(c[o>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(Ed(c[(c[o>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(c[m>>2]|0)EH(c[s>>2]|0,c[o>>2]|0,c[f>>2]|0)|0;else{c[g>>2]=tq(c[o>>2]|0)|0;EH(c[s>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;BH((c[s>>2]|0)+(c[g>>2]|0)|0,0,48-(c[g>>2]|0)|0)|0}e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]&-122881;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[h>>2]&24576;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[k>>2];if(c[j>>2]|0){k=(c[s>>2]|0)+(c[f>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=k;c[l>>2]=k;EH(c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[o>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&16384)){d=c[n>>2]|0;a=(c[o>>2]|0)+20|0;if(c[(c[o>>2]|0)+4>>2]&2048){m=Hp(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=uq(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);d=c[o>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[d+4>>2]&16384){s=c[r>>2]|0;i=t;return s|0}s=mq(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s;s=mq(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}p=vq(d,c[p>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+p;if(c[(c[r>>2]|0)+4>>2]&8192){p=qq(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,1,s)|0;c[(c[r>>2]|0)+12>>2]=p;p=qq(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,1,s)|0;c[(c[r>>2]|0)+16>>2]=p}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=vq(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=rq(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(rq(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]&1))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function tq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function uq(b,e,f){b=b|0;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;q=i;i=i+48|0;g=q+28|0;h=q+16|0;j=q+4|0;k=q+8|0;n=q+32|0;m=q;p=q+12|0;l=q+24|0;o=q+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=qf(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=qf(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Nd(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=mq(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=ef(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=ef(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function vq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(sq(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Ed(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function wq(a,f,g,h){a=a|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,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+16|0;m=t+20|0;k=t+24|0;n=t+8|0;q=t+4|0;r=t+12|0;j=t+28|0;s=t+32|0;o=t+36|0;c[m>>2]=a;c[k>>2]=f;c[n>>2]=g;c[q>>2]=h;c[j>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+64>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[j>>2]|0)+88+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];sf(s,21053,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[k>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}xq(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){kq(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function xq(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;o=v+28|0;n=v+16|0;m=v+4|0;s=v+8|0;p=v+32|0;q=v;r=v+12|0;u=v+24|0;t=v+20|0;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[s>>2]=j;c[p>>2]=k;c[q>>2]=l;c[r>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[t>>2]=c[c[o>>2]>>2];c[u>>2]=mq(c[t>>2]|0,c[r>>2]|0,0)|0;if(!(c[u>>2]|0)){i=v;return}if((d[c[r>>2]>>0]|0)!=154?(a[c[p>>2]>>0]|0)!=71:0){yq(c[u>>2]|0,c[q>>2]|0);c[u>>2]=zn(c[o>>2]|0,24,c[u>>2]|0,0,0)|0;if(!(c[u>>2]|0)){i=v;return}k=(c[u>>2]|0)+4|0;c[k>>2]=c[k>>2]|4096;if(!(e[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16+2>>1]|0)){f=(c[o>>2]|0)+456|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;b[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16+2>>1]=k}c[(c[u>>2]|0)+28>>2]=e[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16+2>>1]}if((d[c[s>>2]>>0]|0)==95)c[u>>2]=zq(c[o>>2]|0,c[u>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0;m=(c[s>>2]|0)+4|0;c[m>>2]=c[m>>2]|32768;dn(c[t>>2]|0,c[s>>2]|0);m=c[s>>2]|0;n=c[u>>2]|0;o=m+48|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));if((c[(c[s>>2]|0)+4>>2]&1024|0)==0?(c[(c[s>>2]|0)+8>>2]|0)!=0:0){k=ef(c[t>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0;c[(c[s>>2]|0)+8>>2]=k;s=(c[s>>2]|0)+4|0;c[s>>2]=c[s>>2]|65536}Nd(c[t>>2]|0,c[u>>2]|0);i=v;return}function yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;d=g+28|0;e=g+24|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=46;c[f+20>>2]=c[e>>2];dq(f,c[d>>2]|0)|0;i=g;return}function zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];c[f+4>>2]=Ed(c[f>>2]|0)|0;d=bo(c[h>>2]|0,c[g>>2]|0,f)|0;i=e;return d|0}function Aq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=155){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+20>>2]|0);i=h;return 0}function Bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+88+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];sf(j,21084,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function Cq(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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;X=i;i=i+176|0;W=X+16|0;V=X+24|0;D=X;B=X+40|0;I=X+60|0;J=X+52|0;m=X+48|0;K=X+120|0;L=X+88|0;M=X+56|0;N=X+64|0;q=X+44|0;s=X+72|0;O=X+76|0;o=X+80|0;t=X+116|0;P=X+92|0;x=X+84|0;S=X+96|0;U=X+100|0;T=X+104|0;Q=X+108|0;A=X+112|0;v=X+68|0;w=X+124|0;z=X+128|0;p=X+132|0;F=X+136|0;u=X+140|0;r=X+144|0;E=X+148|0;y=X+152|0;H=X+156|0;R=X+160|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&20){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=($b(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;k=c[q>>2]|0;if(h)break;c[q>>2]=k+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(k<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=88;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(e[(c[(c[x>>2]|0)+20>>2]|0)+6>>1]&512|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(Jq(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+68>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)k=c[(c[x>>2]|0)+12>>2]|0;else k=c[c[A>>2]>>2]|0;c[F>>2]=k;if($b(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0))break c;if(!($b(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(Kq(c[(c[x>>2]|0)+48>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+24}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+36>>1]|0))k=-1;else k=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=k}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+40>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+68>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+412>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+436>>0];if((c[u>>2]|0)!=109?($b(21454,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+412>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?($b(21458,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+412>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+68>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0))break;h=($b(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+24}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+36>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0)?(Lq(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+44>>0]&32|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+38>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;k=c[N>>2]|0;do if((c[r>>2]|0)>=0){f=(c[r>>2]|0)>=32?-1:1<>2];l=c[J>>2]|0;if(!(c[k+28>>2]|0)){h=l+428|0;c[h>>2]=c[h>>2]|f;break}else{h=l+432|0;c[h>>2]=c[h>>2]|f;break}}else a[k+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if(((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(Lq(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+44>>0]&32|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?($b(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=81;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==81){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];sf(W,21462,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}xq(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,14425,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==88){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?21493:21508;do if(!(c[m>>2]|0)){k=c[J>>2]|0;f=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=f;c[V+4>>2]=K;c[V+8>>2]=W;sf(k,21543,V);break}else{V=c[L>>2]|0;c[W>>2]=f;c[W+4>>2]=V;sf(k,21553,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;sf(W,21530,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=CH(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}dn(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;dn(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?62:154}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if((d[c[N>>2]>>0]|0)!=24)Mq(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function Dq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;h=j;f=j+12|0;k=j+8|0;g=j+4|0;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;if(!((e[(c[k>>2]|0)+28>>1]|0)&16)){i=j;return}k=c[f>>2]|0;c[h>>2]=c[g>>2];sf(k,21409,h);i=j;return}function Eq(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=133){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Iq(a,f,Ed(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*1.0e3);f=c[b>>2]|0;i=g;return f|0}return 0}function Fq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+16|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=47;c[g+20>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;cq(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function Gq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;h=j;f=j+12|0;k=j+8|0;g=j+4|0;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;if(!((e[(c[k>>2]|0)+28>>1]|0)&4)){i=j;return}k=c[f>>2]|0;c[h>>2]=c[g>>2];sf(k,21374,h);i=j;return}function Hq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=154?(d[c[f>>2]>>0]|0|0)!=156:0){i=k;return 0}c[g>>2]=c[(c[e>>2]|0)+20>>2];c[j>>2]=c[c[g>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[j>>2]|0)+8+((c[h>>2]|0)*72|0)+40>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}e=c[g>>2]|0;if((c[h>>2]|0)<(c[c[j>>2]>>2]|0)){j=e+4|0;c[j>>2]=(c[j>>2]|0)+1;i=k;return 0}else{j=e+8|0;c[j>>2]=(c[j>>2]|0)+1;i=k;return 0}return 0}function Iq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+48|0;w=G+40|0;x=G+44|0;j=G+64|0;m=G+80|0;r=G+36|0;E=G+32|0;u=G+68|0;t=G+8|0;p=G+76|0;z=G+52|0;q=G+56|0;y=G+60|0;D=G+16|0;A=G+24|0;B=G+72|0;n=G+28|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[q>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[r>>2]=1;else{c[r>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]|0)+(d[m>>0]|0)+-3;c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if((a[c[w>>2]>>0]|0)!=48)break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[14426+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=MH(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=DH(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[14426+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=MH(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=DH(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&4))break b;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=38;c:do if((o|0)==38){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[q>>2]|0)<1e4)j=((c[q>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[q>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=1}}while(0);if((c[A>>2]|0)!=0&(c[y>>2]|0)!=0)while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}}}while(0);r=_(c[q>>2]|0,c[z>>2]|0)|0;c[q>>2]=r+(c[p>>2]|0);if((c[q>>2]|0)<0){c[z>>2]=-1;c[q>>2]=_(c[q>>2]|0,-1)|0}else c[z>>2]=1;r=t;do if((c[r>>2]|0)!=0|(c[r+4>>2]|0)!=0){d:do if((c[z>>2]|0)>0)while(1){r=t;p=c[r+4>>2]|0;if(!((p|0)<214748364|(p|0)==214748364&(c[r>>2]|0)>>>0<3435973836?(c[q>>2]|0)>0:0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=MH(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}else while(1){r=t;r=LH(c[r>>2]|0,c[r+4>>2]|0,10,0)|0;if(!((r|0)!=0|(C|0)!=0?0:(c[q>>2]|0)>0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=KH(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}while(0);p=(c[u>>2]|0)<0;r=t;o=c[r>>2]|0;r=c[r+4>>2]|0;b=AH(0,0,o|0,r|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:r;if(!(c[q>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[q>>2]|0)>307&(c[q>>2]|0)<342){while(1){if(!((c[q>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}if((c[q>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[q>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}while(1){if((c[q>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[q>>2]=(c[q>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}else h[D>>3]=((c[u>>2]|0)<0?(c[A>>2]|0)!=0:0)?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0:0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function Jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((Ib(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((Ib(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?($b(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!($b(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function Lq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if($b(c[d>>2]|0,21629)|0){if(!($b(c[d>>2]|0,21560)|0)){c[b>>2]=1;break}if(!($b(c[d>>2]|0,21637)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function Mq(e,f,g,h){e=e|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,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s;l=s+16|0;j=s+28|0;m=s+4|0;t=s+32|0;q=s+36|0;r=s+12|0;p=s+24|0;o=s+20|0;n=s+8|0;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+284>>2]|0)){i=s;return}c[o>>2]=vf(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==62)c[q>>2]=c[(c[k>>2]|0)+412>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+40>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+36>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((b[(c[q>>2]|0)+36>>1]|0)*24|0)>>2];break}else{c[r>>2]=21560;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)>>2];while(0);if(2!=(Nq(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function Nq(a,b,d,e){a=a|0;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,o=0,p=0;p=i;i=i+48|0;n=p;m=p+8|0;f=p+32|0;g=p+36|0;h=p+24|0;j=p+20|0;k=p+28|0;o=p+40|0;l=p+44|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[o>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[l>>2]=pb[c[(c[k>>2]|0)+284>>2]&3](c[(c[k>>2]|0)+288>>2]|0,20,c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[(c[f>>2]|0)+492>>2]|0)|0;if((c[l>>2]|0)!=1){if(!((c[l>>2]|0)!=2&(c[l>>2]|0)!=0)){o=c[l>>2]|0;i=p;return o|0}No(c[f>>2]|0);o=c[l>>2]|0;i=p;return o|0}e=c[f>>2]|0;if((c[j>>2]|0)!=0?1:(c[(c[k>>2]|0)+20>>2]|0)>2){k=c[g>>2]|0;n=c[h>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[m+8>>2]=n;sf(e,21566,m)}else{o=c[h>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=o;sf(e,21599,n)}c[(c[f>>2]|0)+12>>2]=23;o=c[l>>2]|0;i=p;return o|0}function Oq(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;t=i;i=i+64|0;n=t+44|0;k=t+24|0;o=t;l=t+36|0;q=t+40|0;m=t+48|0;p=t+20|0;j=t+32|0;r=t+28|0;s=t+16|0;h=t+8|0;c[k>>2]=f;c[o>>2]=g;if(!(c[(c[o>>2]|0)+52>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;if((d[(c[m>>2]|0)+4>>0]|0|0)!=116?(d[(c[m>>2]|0)+4>>0]|0|0)!=119:0)break;c[m>>2]=c[(c[m>>2]|0)+52>>2]}if(!(c[m>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[j>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[c[(c[o>>2]|0)+48>>2]>>2]|0)-1;while(1){if((c[l>>2]|0)<0)break;if(c[(c[(c[j>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)<0){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[s>>2]=c[(c[k>>2]|0)+12>>2];c[p>>2]=c[c[s>>2]>>2];c[q>>2]=gf(c[p>>2]|0,72,0)|0;if(!(c[q>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;i=t;return s|0};c[h>>2]=0;c[h+4>>2]=0;c[r>>2]=Ln(c[s>>2]|0,0,0,0,h,c[q>>2]|0,0,0)|0;if(!(c[r>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;i=t;return s|0}else{h=c[q>>2]|0;j=c[o>>2]|0;k=h+72|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));c[(c[o>>2]|0)+32>>2]=c[r>>2];s=c[s>>2]|0;s=Nn(s,0,Qn(c[p>>2]|0,116,0)|0)|0;c[c[o>>2]>>2]=s;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+36>>2]=0;c[(c[q>>2]|0)+40>>2]=0;c[(c[q>>2]|0)+44>>2]=0;c[(c[q>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+56>>2]=0;s=(c[o>>2]|0)+6|0;b[s>>1]=(e[s>>1]|0)&-65;c[(c[(c[q>>2]|0)+52>>2]|0)+56>>2]=c[q>>2];c[(c[q>>2]|0)+60>>2]=0;c[(c[q>>2]|0)+64>>2]=0;c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function Pq(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;X=i;i=i+208|0;P=X+48|0;O=X+16|0;N=X+24|0;M=X+32|0;Q=X+56|0;o=X;l=X+8|0;p=X+180|0;j=X+172|0;q=X+164|0;E=X+124|0;t=X+120|0;v=X+80|0;w=X+84|0;I=X+88|0;z=X+92|0;B=X+96|0;s=X+100|0;y=X+104|0;F=X+196|0;A=X+176|0;h=X+204|0;n=X+128|0;k=X+132|0;r=X+136|0;D=X+140|0;m=X+144|0;x=X+148|0;L=X+152|0;U=X+156|0;H=X+160|0;G=X+76|0;V=X+68|0;T=X+64|0;u=X+72|0;S=X+200|0;R=X+188|0;W=X+192|0;K=X+112|0;C=X+168|0;J=X+184|0;c[j>>2]=f;c[q>>2]=g;c[E>>2]=c[(c[j>>2]|0)+12>>2];c[s>>2]=c[c[E>>2]>>2];b[h>>1]=b[(c[q>>2]|0)+6>>1]|0;g=(c[q>>2]|0)+6|0;b[g>>1]=e[g>>1]|16;if(a[(c[s>>2]|0)+64>>0]|0){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}if((c[(c[q>>2]|0)+32>>2]|0)!=0?(e[h>>1]&16|0)==0:0){c[I>>2]=c[(c[q>>2]|0)+32>>2];c[z>>2]=c[c[q>>2]>>2];h=c[E>>2]|0;Vn(h,c[(Rq(c[q>>2]|0)|0)+68>>2]|0,0);Ip(c[E>>2]|0,c[I>>2]|0);c[t>>2]=0;c[B>>2]=(c[I>>2]|0)+8;a:while(1){if((c[t>>2]|0)>=(c[c[I>>2]>>2]|0)){g=33;break}if(!((d[(c[B>>2]|0)+37>>0]|0)>>>3&1)){f=c[j>>2]|0;if(c[(c[B>>2]|0)+16>>2]|0){g=10;break}if(Sq(f,c[B>>2]|0)|0){g=12;break}do if(!(c[(c[B>>2]|0)+16>>2]|0)){if(!(c[(c[B>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[B>>2]|0)+20>>2];$p(c[j>>2]|0,c[k>>2]|0)|0;h=gf(c[s>>2]|0,76,0)|0;c[n>>2]=h;c[(c[B>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){g=16;break a}b[(c[n>>2]|0)+40>>1]=1;h=c[s>>2]|0;c[l>>2]=c[n>>2];h=tf(h,21641,l)|0;c[c[n>>2]>>2]=h;while(1){if(!(c[(c[k>>2]|0)+52>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+52>>2]}Lp(c[E>>2]|0,c[c[k>>2]>>2]|0,(c[n>>2]|0)+38|0,(c[n>>2]|0)+4|0)|0;b[(c[n>>2]|0)+36>>1]=-1;b[(c[n>>2]|0)+28>>1]=200;h=(c[n>>2]|0)+44|0;a[h>>0]=d[h>>0]|2;break}h=Zo(c[E>>2]|0,0,c[B>>2]|0)|0;c[n>>2]=h;c[(c[B>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){g=22;break a}if((e[(c[n>>2]|0)+40>>1]|0)==65535){g=24;break a}h=(c[n>>2]|0)+40|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if((c[(c[n>>2]|0)+12>>2]|0)==0?(d[(c[n>>2]|0)+44>>0]&16|0)==0:0)break;if(Ap(c[E>>2]|0,c[n>>2]|0)|0){g=28;break a}h=Hp(c[s>>2]|0,c[(c[n>>2]|0)+12>>2]|0,0)|0;c[(c[B>>2]|0)+20>>2]=h;$p(c[j>>2]|0,c[(c[B>>2]|0)+20>>2]|0)|0}while(0);if(Tq(c[E>>2]|0,c[B>>2]|0)|0){g=31;break}}c[t>>2]=(c[t>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+72}if((g|0)==10){Qq(f,c[q>>2]|0);c[p>>2]=1;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==12){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==16){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==22){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==24){W=c[E>>2]|0;c[o>>2]=c[c[n>>2]>>2];sf(W,21654,o);c[(c[B>>2]|0)+16>>2]=0;c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==28){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==31){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==33){if((d[(c[s>>2]|0)+64>>0]|0)==0?(Uq(c[E>>2]|0,c[q>>2]|0)|0)==0:0){c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[y>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];if((d[c[y>>2]>>0]|0)==116)break;if((d[c[y>>2]>>0]|0)==122?(d[c[(c[y>>2]|0)+16>>2]>>0]|0)==116:0)break;c[w>>2]=(c[w>>2]|0)+1}if((c[w>>2]|0)<(c[c[z>>2]>>2]|0)){c[r>>2]=c[(c[z>>2]|0)+4>>2];c[D>>2]=0;c[m>>2]=c[(c[c[E>>2]>>2]|0)+24>>2];if(c[m>>2]&32)f=(c[m>>2]&64|0)==0;else f=0;c[x>>2]=f&1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[y>>2]=c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[F>>2]=c[(c[y>>2]|0)+16>>2];do if((d[c[y>>2]>>0]|0)!=116){if((d[c[y>>2]>>0]|0)==122?(d[c[F>>2]>>0]|0)==116:0){g=53;break}c[D>>2]=Nn(c[E>>2]|0,c[D>>2]|0,c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)|0;if(c[D>>2]|0){c[(c[(c[D>>2]|0)+4>>2]|0)+(((c[c[D>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)+4>>2];c[(c[(c[D>>2]|0)+4>>2]|0)+(((c[c[D>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)+8>>2];c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)+4>>2]=0;c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]=0}c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)>>2]=0}else g=53;while(0);do if((g|0)==53){g=0;c[L>>2]=0;c[U>>2]=0;if((d[c[y>>2]>>0]|0)==122)c[U>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2];c[t>>2]=0;c[B>>2]=(c[I>>2]|0)+8;while(1){if((c[t>>2]|0)>=(c[c[I>>2]>>2]|0))break;c[H>>2]=c[(c[B>>2]|0)+16>>2];c[G>>2]=c[(c[B>>2]|0)+20>>2];c[V>>2]=c[(c[B>>2]|0)+12>>2];c[T>>2]=0;if(!(c[V>>2]|0))c[V>>2]=c[c[H>>2]>>2];if(a[(c[s>>2]|0)+64>>0]|0)break;if((c[G>>2]|0)!=0?(e[(c[G>>2]|0)+6>>1]&512|0)!=0:0)g=67;else g=62;do if((g|0)==62){g=0;c[G>>2]=0;if((c[U>>2]|0)!=0?($b(c[U>>2]|0,c[V>>2]|0)|0)!=0:0)break;c[u>>2]=vf(c[s>>2]|0,c[(c[H>>2]|0)+68>>2]|0)|0;if((c[u>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2]|0;else f=21693;c[T>>2]=f;g=67}while(0);b:do if((g|0)==67){g=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0))break b;c[S>>2]=c[(c[(c[H>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)>>2];if(!((c[U>>2]|0)!=0&(c[G>>2]|0)!=0?(Jq(c[(c[(c[c[G>>2]>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2]|0,0,c[U>>2]|0,0)|0)==0:0))g=71;do if((g|0)==71){g=0;if(d[(c[(c[H>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)+23>>0]&2)break;c[L>>2]=1;if((c[t>>2]|0)>0&(c[U>>2]|0)==0){if((d[(c[B>>2]|0)+36>>0]&4|0)!=0?(Vq(c[I>>2]|0,c[t>>2]|0,c[S>>2]|0,0,0)|0)!=0:0)break;if((Wq(c[(c[B>>2]|0)+48>>2]|0,c[S>>2]|0)|0)>=0)break}c[F>>2]=Qn(c[s>>2]|0,27,c[S>>2]|0)|0;c[R>>2]=c[S>>2];c[W>>2]=0;do if(c[x>>2]|0)g=78;else{if((c[c[I>>2]>>2]|0)>1){g=78;break}c[A>>2]=c[F>>2]}while(0);do if((g|0)==78){g=0;c[C>>2]=Qn(c[s>>2]|0,27,c[V>>2]|0)|0;c[A>>2]=zn(c[E>>2]|0,122,c[C>>2]|0,c[F>>2]|0,0)|0;if(c[T>>2]|0){c[C>>2]=Qn(c[s>>2]|0,27,c[T>>2]|0)|0;c[A>>2]=zn(c[E>>2]|0,122,c[C>>2]|0,c[A>>2]|0,0)|0}if(!(c[x>>2]|0))break;o=c[s>>2]|0;n=c[S>>2]|0;c[Q>>2]=c[V>>2];c[Q+4>>2]=n;c[R>>2]=tf(o,21695,Q)|0;c[W>>2]=c[R>>2]}while(0);c[D>>2]=Nn(c[E>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;c[K>>2]=c[R>>2];c[K+4>>2]=Ed(c[R>>2]|0)|0;On(c[E>>2]|0,c[D>>2]|0,K,0);do if(c[D>>2]|0){if(!(e[(c[q>>2]|0)+6>>1]&512))break;c[J>>2]=(c[(c[D>>2]|0)+4>>2]|0)+(((c[c[D>>2]>>2]|0)-1|0)*20|0);f=c[s>>2]|0;if(c[G>>2]|0){o=ef(f,c[(c[(c[c[G>>2]>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2]|0)|0;c[(c[J>>2]|0)+8>>2]=o}else{n=c[V>>2]|0;o=c[R>>2]|0;c[M>>2]=c[T>>2];c[M+4>>2]=n;c[M+8>>2]=o;o=tf(f,21701,M)|0;c[(c[J>>2]|0)+8>>2]=o}o=(c[J>>2]|0)+13|0;a[o>>0]=a[o>>0]&-3|2}while(0);Nd(c[s>>2]|0,c[W>>2]|0)}while(0);c[v>>2]=(c[v>>2]|0)+1}}while(0);c[t>>2]=(c[t>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+72}if(!(c[L>>2]|0)){f=c[E>>2]|0;if(c[U>>2]|0){c[N>>2]=c[U>>2];sf(f,21710,N);break}else{sf(f,21728,O);break}}}while(0);c[w>>2]=(c[w>>2]|0)+1}$m(c[s>>2]|0,c[z>>2]|0);c[c[q>>2]>>2]=c[D>>2]}if((c[c[q>>2]>>2]|0)!=0?(c[c[c[q>>2]>>2]>>2]|0)>(c[(c[s>>2]|0)+88+8>>2]|0):0)sf(c[E>>2]|0,21748,P);c[p>>2]=0;W=c[p>>2]|0;i=X;return W|0}c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}}c[p>>2]=1;W=c[p>>2]|0;i=X;return W|0}function Qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=c[(Rq(c[g>>2]|0)|0)+68>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+532>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function Rq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+56>>2]|0))break;c[b>>2]=c[a+56>>2]}i=d;return a|0}function Sq(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;B=i;i=i+96|0;u=B+16|0;p=B+8|0;j=B;v=B+28|0;w=B+56|0;k=B+32|0;y=B+36|0;h=B+44|0;x=B+40|0;o=B+48|0;t=B+52|0;r=B+60|0;A=B+64|0;s=B+68|0;q=B+72|0;z=B+76|0;l=B+80|0;n=B+84|0;m=B+88|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[(c[w>>2]|0)+12>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=hr(c[(c[y>>2]|0)+532>>2]|0,c[k>>2]|0,o)|0;if(c[x>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0){z=c[y>>2]|0;A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];sf(z,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=gf(c[h>>2]|0,76,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+40>>1]=1;j=ef(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+36>>1]=-1;b[(c[t>>2]|0)+28>>1]=200;j=(c[t>>2]|0)+44|0;a[j>>0]=d[j>>0]|2;j=Hp(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+64>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)h=1;else h=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=h&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+32>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==($b(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+37|0;a[k>>0]=a[k>>0]&-9|8;k=(c[t>>2]|0)+40|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+6|0;b[k>>1]=e[k>>1]|2048}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+40>>1]|0)>2){A=c[y>>2]|0;c[p>>2]=c[c[x>>2]>>2];sf(A,21966,p);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=22009;c[z>>2]=c[(c[y>>2]|0)+532>>2];c[(c[y>>2]|0)+532>>2]=c[o>>2];h=c[A>>2]|0;if(c[q>>2]|0)h=c[h+52>>2]|0;$p(c[w>>2]|0,h)|0;c[s>>2]=c[A>>2];while(1){h=c[s>>2]|0;if(!(c[(c[s>>2]|0)+52>>2]|0))break;c[s>>2]=c[h+52>>2]}c[r>>2]=c[h>>2];do if(c[(c[x>>2]|0)+4>>2]|0){if((c[c[r>>2]>>2]|0)==(c[c[(c[x>>2]|0)+4>>2]>>2]|0)){c[r>>2]=c[(c[x>>2]|0)+4>>2];break}A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;sf(A,22032,u);c[(c[y>>2]|0)+532>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}while(0);Lp(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+38|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){h=(c[x>>2]|0)+12|0;if(e[(c[A>>2]|0)+6>>1]&2048)c[h>>2]=22070;else c[h>>2]=22104;$p(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+532>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function Tq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;e=m+20|0;f=m+24|0;g=m+28|0;j=m+12|0;l=m+8|0;h=m+16|0;c[f>>2]=b;c[g>>2]=d;do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(c[(c[g>>2]|0)+64>>2]|0)!=0:0){c[j>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=c[(c[g>>2]|0)+64>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break;if(!($b(c[c[h>>2]>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=c[(c[h>>2]|0)+20>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+68>>2]=c[h>>2];break}j=c[f>>2]|0;c[k>>2]=c[l>>2];c[k+4>>2]=0;sf(j,21948,k);a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function Uq(a,e){a=a|0;e=e|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;C=i;i=i+96|0;A=C+8|0;z=C;y=C+16|0;w=C+20|0;x=C+60|0;f=C+32|0;u=C+28|0;g=C+48|0;o=C+36|0;p=C+40|0;s=C+44|0;q=C+24|0;t=C+52|0;n=C+56|0;v=C+64|0;h=C+68|0;k=C+72|0;r=C+76|0;B=C+80|0;j=C+84|0;l=C+88|0;m=C+92|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+32>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+44>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+38>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];if(Vq(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)Yq(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+36|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+44>>2]|0)!=0?(c[(c[s>>2]|0)+48>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+44>>2]|0){if(c[n>>2]|0)Zq(c[(c[s>>2]|0)+44>>2]|0,c[(c[s>>2]|0)+40>>2]|0);a=_q(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+36>>2]|0,c[(c[s>>2]|0)+44>>2]|0)|0;c[(c[f>>2]|0)+36>>2]=a;c[(c[s>>2]|0)+44>>2]=0}if(c[(c[s>>2]|0)+48>>2]|0){c[r>>2]=c[(c[s>>2]|0)+48>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=Xq(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(Vq(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}Yq(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+36|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;sf(B,21779,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){sf(c[x>>2]|0,21829,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];sf(z,21884,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function Vq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;q=i;i=i+32|0;g=q+4|0;h=q+16|0;j=q+8|0;k=q+20|0;l=q+28|0;m=q;n=q+12|0;o=q+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=Xq(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){b=8;break}b=($b(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;a=c[f>>2]|0;if(b){b=6;break}c[f>>2]=a+1}if((b|0)==6){c[g>>2]=a;g=c[g>>2]|0;i=h;return g|0}else if((b|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function Xq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+38>>1]|0)){d=6;break}d=($b(c[(c[(c[e>>2]|0)+4>>2]|0)+((c[g>>2]|0)*24|0)>>2]|0,c[f>>2]|0)|0)==0;a=c[g>>2]|0;if(d){d=4;break}c[g>>2]=a+1}if((d|0)==4){c[h>>2]=a;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function Yq(a,d,e,f,g,h,j,k){a=a|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+4|0;v=p+16|0;x=p+36|0;w=p;u=p+32|0;t=p+40|0;q=p+44|0;l=p+24|0;m=p+20|0;r=p+8|0;n=p+12|0;o=p+28|0;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=gr(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=gr(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=zn(c[s>>2]|0,79,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=_q(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=_q(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function Zq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;while(1){if(!(c[e>>2]|0))break;a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[e>>2]|0)+36>>1]=c[f>>2];Zq(c[(c[e>>2]|0)+12>>2]|0,c[f>>2]|0);c[e>>2]=c[(c[e>>2]|0)+16>>2]}i=g;return}function _q(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}a=c[g>>2]|0;if(!b){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}if(($q(a)|0)==0?($q(c[h>>2]|0)|0)==0:0){c[j>>2]=ar(c[f>>2]|0,72,0,0)|0;br(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}dn(c[f>>2]|0,c[g>>2]|0);dn(c[f>>2]|0,c[h>>2]|0);c[e>>2]=ar(c[f>>2]|0,132,2276,0)|0;j=c[e>>2]|0;i=k;return j|0}function $q(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(jq(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function ar(d,e,f,g){d=d|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+8|0;l=q+20|0;p=q+28|0;o=q;n=q+12|0;m=q+24|0;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;c[n>>2]=0;do if(c[k>>2]|0){if(((c[j>>2]|0)==132?(c[c[k>>2]>>2]|0)!=0:0)?(wg(c[c[k>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=gf(c[h>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}a[c[p>>2]>>0]=c[j>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[k>>2]|0){h=c[p>>2]|0;if(!(c[o>>2]|0)){o=h+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=h+48;if(c[(c[k>>2]|0)+4>>2]|0)EH(c[(c[p>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;if(((c[l>>2]|0)!=0&(c[o>>2]|0)>=3?(o=a[c[c[k>>2]>>2]>>0]|0,c[m>>2]=o,(o|0)==39|(c[m>>2]|0)==34|(c[m>>2]|0)==91|(c[m>>2]|0)==96):0)?(Jo(c[(c[p>>2]|0)+8>>2]|0)|0,(c[m>>2]|0)==34):0){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function br(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){dn(c[f>>2]|0,c[h>>2]|0);dn(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|256&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|256&c[(c[h>>2]|0)+4>>2]}cr(c[g>>2]|0);i=k;return}function cr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;dr(c[(c[b>>2]|0)+12>>2]|0,d);dr(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(c[(c[b>>2]|0)+4>>2]&2048)er(c[a>>2]|0,d);else fr(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function dr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}dr(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);dr(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);dr(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);dr(c[(c[d>>2]|0)+64>>2]|0,c[e>>2]|0);fr(c[c[d>>2]>>2]|0,c[e>>2]|0);fr(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);fr(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);er(c[(c[d>>2]|0)+52>>2]|0,c[e>>2]|0);i=f;return}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;dr(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function gr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=ar(c[n>>2]|0,154,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+40>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+36>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=CH(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function hr(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,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;g=m+20|0;h=m+24|0;l=m+4|0;k=m;j=m+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!($b(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function ir(e,f,g){e=e|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;s=i;i=i+48|0;h=s;j=s+16|0;k=s+28|0;l=s+4|0;o=s+32|0;m=s+36|0;n=s+12|0;p=s+24|0;q=s+20|0;r=s+8|0;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;if(!(c[k>>2]|0)){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}if((c[c[k>>2]>>2]|0)>0)e=((c[c[k>>2]>>2]|0)-1|0)*72|0;else e=0;c[n>>2]=80+e;n=c[n>>2]|0;c[o>>2]=qf(c[j>>2]|0,n,((n|0)<0)<<31>>31)|0;if(!(c[o>>2]|0)){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}n=c[c[k>>2]>>2]|0;c[(c[o>>2]|0)+4>>2]=n;c[c[o>>2]>>2]=n;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[p>>2]=(c[o>>2]|0)+8+((c[m>>2]|0)*72|0);c[q>>2]=(c[k>>2]|0)+8+((c[m>>2]|0)*72|0);c[c[p>>2]>>2]=c[c[q>>2]>>2];n=ef(c[j>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=n;n=ef(c[j>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0;c[(c[p>>2]|0)+8>>2]=n;n=ef(c[j>>2]|0,c[(c[q>>2]|0)+12>>2]|0)|0;c[(c[p>>2]|0)+12>>2]=n;a[(c[p>>2]|0)+36>>0]=a[(c[q>>2]|0)+36>>0]|0;c[(c[p>>2]|0)+40>>2]=c[(c[q>>2]|0)+40>>2];c[(c[p>>2]|0)+24>>2]=c[(c[q>>2]|0)+24>>2];c[(c[p>>2]|0)+28>>2]=c[(c[q>>2]|0)+28>>2];n=(c[p>>2]|0)+37|0;a[n>>0]=a[n>>0]&-3|((d[(c[q>>2]|0)+37>>0]|0)>>>1&1)<<1&255;n=(c[p>>2]|0)+37|0;a[n>>0]=a[n>>0]&-5|((d[(c[q>>2]|0)+37>>0]|0)>>>2&1)<<2&255;n=(c[p>>2]|0)+37|0;a[n>>0]=a[n>>0]&-9|((d[(c[q>>2]|0)+37>>0]|0)>>>3&1)<<3&255;n=ef(c[j>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0;c[(c[p>>2]|0)+64>>2]=n;n=(c[p>>2]|0)+37|0;a[n>>0]=a[n>>0]&-2|a[(c[q>>2]|0)+37>>0]&1;c[(c[p>>2]|0)+68>>2]=c[(c[q>>2]|0)+68>>2];n=c[(c[q>>2]|0)+16>>2]|0;c[(c[p>>2]|0)+16>>2]=n;c[r>>2]=n;if(c[r>>2]|0){n=(c[r>>2]|0)+40|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16}g=Hp(c[j>>2]|0,c[(c[q>>2]|0)+20>>2]|0,c[l>>2]|0)|0;c[(c[p>>2]|0)+20>>2]=g;g=mq(c[j>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[(c[p>>2]|0)+44>>2]=g;g=kr(c[j>>2]|0,c[(c[q>>2]|0)+48>>2]|0)|0;c[(c[p>>2]|0)+48>>2]=g;g=(c[q>>2]|0)+56|0;f=c[g+4>>2]|0;n=(c[p>>2]|0)+56|0;c[n>>2]=c[g>>2];c[n+4>>2]=f;c[m>>2]=(c[m>>2]|0)+1}c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}function jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=gf(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=Hp(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=uq(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=ef(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function kr(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;f=l+20|0;h=l+24|0;g=l+4|0;j=l;k=l+12|0;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=qf(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=qf(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Nd(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=ef(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function lr(e,f,g,h,j){e=e|0;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,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;K=i;i=i+128|0;x=K+8|0;H=K;G=K+24|0;L=K+16|0;B=K+44|0;C=K+36|0;k=K+32|0;l=K+84|0;m=K+56|0;D=K+40|0;w=K+48|0;v=K+28|0;E=K+60|0;F=K+64|0;n=K+68|0;s=K+76|0;I=K+72|0;J=K+80|0;q=K+88|0;y=K+92|0;p=K+96|0;z=K+100|0;u=K+104|0;o=K+108|0;r=K+112|0;t=K+116|0;c[C>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[D>>2]=j;c[n>>2]=c[(c[k>>2]|0)+56>>2];c[s>>2]=c[(c[k>>2]|0)+52>>2];c[I>>2]=0;h=c[C>>2]|0;c[L>>2]=c[c[k>>2]>>2];c[J>>2]=tf(h,14418,L)|0;if(!(c[J>>2]|0)){c[B>>2]=7;L=c[B>>2]|0;i=K;return L|0}c[E>>2]=gf(c[C>>2]|0,28,0)|0;e=c[C>>2]|0;if(!(c[E>>2]|0)){Nd(e,c[J>>2]|0);c[B>>2]=7;L=c[B>>2]|0;i=K;return L|0}c[c[E>>2]>>2]=e;c[(c[E>>2]|0)+4>>2]=c[l>>2];c[q>>2]=vf(c[C>>2]|0,c[(c[k>>2]|0)+68>>2]|0)|0;c[(c[(c[k>>2]|0)+56>>2]|0)+4>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2];c[w+4>>2]=c[k>>2];c[w>>2]=c[E>>2];c[v>>2]=c[(c[C>>2]|0)+324>>2];c[(c[C>>2]|0)+324>>2]=w;c[F>>2]=pb[c[m>>2]&3](c[C>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[s>>2]|0,c[n>>2]|0,(c[E>>2]|0)+8|0,I)|0;c[(c[C>>2]|0)+324>>2]=c[v>>2];if((c[F>>2]|0)==7)a[(c[C>>2]|0)+64>>0]=1;a:do if(!(c[F>>2]|0)){if(c[(c[E>>2]|0)+8>>2]|0){L=c[(c[E>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[E>>2]|0)+8>>2]>>2]=c[c[l>>2]>>2];c[(c[E>>2]|0)+12>>2]=1;if(c[w+4>>2]|0){c[y>>2]=22191;I=c[C>>2]|0;L=c[y>>2]|0;c[x>>2]=c[c[k>>2]>>2];L=tf(I,L,x)|0;c[c[D>>2]>>2]=L;om(c[E>>2]|0);c[F>>2]=1;break}c[(c[E>>2]|0)+24>>2]=c[(c[k>>2]|0)+60>>2];c[(c[k>>2]|0)+60>>2]=c[E>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[k>>2]|0)+38>>1]|0))break a;c[z>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[p>>2]|0)*24|0)+12>>2];c[o>>2]=0;if(c[z>>2]|0){c[u>>2]=Ed(c[z>>2]|0)|0;if(!(Ib(22237,c[z>>2]|0,6)|0)){if((a[(c[z>>2]|0)+6>>0]|0)!=0?(a[(c[z>>2]|0)+6>>0]|0)!=32:0)A=21}else A=21;b:do if((A|0)==21){A=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[u>>2]|0))break b;if(!(Ib(22244,(c[z>>2]|0)+(c[o>>2]|0)|0,7)|0)){if(!(a[(c[z>>2]|0)+((c[o>>2]|0)+7)>>0]|0))break;if((a[(c[z>>2]|0)+((c[o>>2]|0)+7)>>0]|0)==32)break}c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}while(0);if((c[o>>2]|0)<(c[u>>2]|0)){c[t>>2]=6+((a[(c[z>>2]|0)+((c[o>>2]|0)+6)>>0]|0)!=0?1:0);c[r>>2]=c[o>>2];while(1){if(((c[r>>2]|0)+(c[t>>2]|0)|0)>(c[u>>2]|0))break;a[(c[z>>2]|0)+(c[r>>2]|0)>>0]=a[(c[z>>2]|0)+((c[r>>2]|0)+(c[t>>2]|0))>>0]|0;c[r>>2]=(c[r>>2]|0)+1}if((c[o>>2]|0)>0?(a[(c[z>>2]|0)+(c[o>>2]|0)>>0]|0)==0:0)a[(c[z>>2]|0)+((c[o>>2]|0)-1)>>0]=0;L=(c[(c[k>>2]|0)+4>>2]|0)+((c[p>>2]|0)*24|0)+23|0;a[L>>0]=d[L>>0]|2}}c[p>>2]=(c[p>>2]|0)+1}}}else{e=c[C>>2]|0;if(!(c[I>>2]|0)){c[G>>2]=c[J>>2];L=tf(e,22161,G)|0;c[c[D>>2]>>2]=L}else{c[H>>2]=c[I>>2];L=tf(e,14418,H)|0;c[c[D>>2]>>2]=L;Sb(c[I>>2]|0)}Nd(c[C>>2]|0,c[E>>2]|0)}while(0);Nd(c[C>>2]|0,c[J>>2]|0);c[B>>2]=c[F>>2];L=c[B>>2]|0;i=K;return L|0}function mr(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+140+5>>0]|0))c[f>>2]=Mr(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function nr(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;l=i;i=i+48|0;d=l+28|0;e=l+16|0;n=l+4|0;m=l+8|0;j=l+32|0;g=l;f=l+12|0;h=l+24|0;k=l+20|0;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];$o(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+68>>2];a=(c[d>>2]|0)+68|0;c[a>>2]=(c[a>>2]|0)+3;rr(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+72>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+68>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];sr(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}tr(c[d>>2]|0,c[e>>2]|0);i=l;return}function or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Ho(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ag(c[g>>2]|0,c[f>>2]|0)|0;Nd(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function pr(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=vf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+68>>2]|0)|0;$o(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+68>>2];b=(c[e>>2]|0)+68|0;c[b>>2]=(c[b>>2]|0)+3;b=c[e>>2]|0;a=c[h>>2]|0;d=c[j>>2]|0;if(c[g>>2]|0)rr(b,a,d,c[c[g>>2]>>2]|0,22331);else rr(b,a,d,c[c[f>>2]>>2]|0,22335);sr(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+72>>2]|0)+1|0,c[(c[e>>2]|0)+68>>2]|0);tr(c[e>>2]|0,c[h>>2]|0);i=k;return}function qr(b,e,f,g){b=b|0;e=e|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;r=i;i=i+48|0;q=r;p=r+8|0;h=r+24|0;j=r+28|0;k=r+16|0;l=r+12|0;m=r+20|0;o=r+32|0;n=r+36|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];if((c[l>>2]|0)!=0?(c[(c[l>>2]|0)+4>>2]|0)>>>0>0:0){if(a[(c[n>>2]|0)+140+5>>0]|0){sf(c[j>>2]|0,22294,p);q=(c[j>>2]|0)+64|0;c[q>>2]=(c[q>>2]|0)+1;c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=or(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];sf(p,22311,q);q=(c[j>>2]|0)+64|0;c[q>>2]=(c[q>>2]|0)+1;c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[(c[n>>2]|0)+140+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function rr(b,d,e,f,g){b=b|0;d=d|0;e=e|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;x=i;i=i+96|0;v=x;u=x+16|0;h=x+28|0;j=x+48|0;k=x+36|0;l=x+32|0;m=x+76|0;q=x+44|0;p=x+52|0;r=x+56|0;t=x+60|0;o=x+64|0;n=x+84|0;w=x+40|0;s=x+80|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=Po(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[2400+(c[q>>2]<<3)>>2];g=cp(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[2400+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[2400+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;Oo(g,22383,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+388>>2];a[n+(c[q>>2]|0)>>0]=2}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+32>>2];a[n+(c[q>>2]|0)>>0]=0;vr(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;Oo(g,22406,v);break}else{Ro(c[t>>2]|0,118,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[2400+(c[q>>2]<<3)+4>>2]|0))break;wf(c[t>>2]|0,55,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;xf(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function sr(b,f,g,h,j,k){b=b|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,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+56|0;o=R+100|0;p=R+44|0;q=R+52|0;l=R+48|0;m=R+16|0;u=R+20|0;F=R+24|0;y=R+28|0;z=R+32|0;O=R+36|0;w=R+88|0;A=R+96|0;x=R+104|0;D=R+120|0;I=R+116|0;L=R+60|0;G=R+64|0;N=R+68|0;M=R+72|0;H=R+76|0;K=R+80|0;J=R+12|0;B=R+8|0;t=R;s=R+4|0;P=R+84|0;C=R+40|0;v=R+92|0;r=R+108|0;E=R+112|0;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+72>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+72>>2]=l;c[O>>2]=Po(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+32>>2]|0)){i=R;return}if(!(Ib(c[c[o>>2]>>2]|0,19570,7)|0)){i=R;return}c[x>>2]=vf(c[u>>2]|0,c[(c[o>>2]|0)+68>>2]|0)|0;if(Mo(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}vr(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+32>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+68>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+68>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+68>>2]=l;wr(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,54);To(c[O>>2]|0,97,0,c[M>>2]|0,0,c[c[o>>2]>>2]|0,0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+44>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}To(c[O>>2]|0,97,0,c[H>>2]|0,0,c[P>>2]|0,0)|0;if((c[(c[n>>2]|0)+72>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+72>>2]=l;Uo(c[O>>2]|0,54,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;xr(c[n>>2]|0,c[F>>2]|0);Ro(c[O>>2]|0,25,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;Ro(c[O>>2]|0,25,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;Uo(c[O>>2]|0,1,0,(c[L>>2]|0)+1|0,c[L>>2]|0)|0;Df(c[O>>2]|0,-1,2292,-5);xf(c[O>>2]|0,2);c[t>>2]=ur(c[O>>2]|0,108,c[y>>2]|0)|0;Ro(c[O>>2]|0,25,0,c[G>>2]|0)|0;c[s>>2]=yr(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=zr(c[O>>2]|0)|0;c[r>>2]=qf(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;Yo(c[O>>2]|0,16)|0;c[s>>2]=yr(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)Ro(c[O>>2]|0,77,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Ar(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;Ro(c[O>>2]|0,25,c[w>>2]|0,c[G>>2]|0)|0;Uo(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=To(c[O>>2]|0,78,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;xf(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}Ro(c[O>>2]|0,25,c[C>>2]|0,c[G>>2]|0)|0;Ro(c[O>>2]|0,16,0,c[v>>2]|0)|0;jp(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;jp(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);Uo(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}Br(l,c[v>>2]|0);Nd(c[u>>2]|0,c[r>>2]|0)}Uo(c[O>>2]|0,1,1,c[L>>2]|0,c[N>>2]|0)|0;Df(c[O>>2]|0,-1,2328,-5);xf(c[O>>2]|0,2);Ro(c[O>>2]|0,9,c[y>>2]|0,c[s>>2]|0)|0;Cr(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);To(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,22339,0)|0;Ro(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;Uo(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;xf(c[O>>2]|0,8);jp(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}Ro(c[O>>2]|0,50,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=ur(c[O>>2]|0,46,c[K>>2]|0)|0;Ro(c[O>>2]|0,28,0,c[H>>2]|0)|0;To(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,22339,0)|0;Ro(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;Uo(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;xf(c[O>>2]|0,8);jp(c[O>>2]|0,c[A>>2]|0);i=R;return}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Po(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}ur(c[e>>2]|0,123,c[d>>2]|0)|0;i=f;return}function ur(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Uo(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function vr(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+4|0;m=s+16|0;n=s+20|0;o=s+32|0;p=s+28|0;q=s;j=s+12|0;k=s+8|0;r=s+24|0;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+408>>2]|0)e=c[e+408>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+396>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+400>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+396>>2]|0)+1<<4;e=c[k>>2]|0;e=gm(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+400>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+400>>2]=e;e=(c[q>>2]|0)+396|0;if(c[(c[q>>2]|0)+400>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+400>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;a[(c[c[q>>2]>>2]|0)+64>>0]=1;i=s;return}}function wr(a,e,f,g,h){a=a|0;e=e|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,q=0;q=i;i=i+32|0;j=q+8|0;k=q+16|0;l=q+20|0;m=q+24|0;n=q+4|0;p=q;o=q+12|0;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=Po(c[j>>2]|0)|0;vr(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+32>>2]|0,((c[n>>2]|0)==55?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+44>>0]&32)){wf(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+38>>1]|0)|0;i=q;return}else{c[o>>2]=Lr(c[m>>2]|0)|0;Uo(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;xr(c[j>>2]|0,c[o>>2]|0);i=q;return}}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Df(a,-1,Ir(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function yr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function zr(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+24>>2];f=(c[d>>2]|0)+108|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=gm(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+112>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+112>>2]=f}if(!(c[(c[d>>2]|0)+112>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+112>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Ar(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[(c[(c[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;a[l>>0]=a[(c[m>>2]|0)+140+5>>0]|0;c[j>>2]=Xg(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=Rp(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=-1-(c[h>>2]|0);if((c[e>>2]|0)>=0?(c[(c[f>>2]|0)+112>>2]|0)!=0:0)c[(c[(c[f>>2]|0)+112>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+32>>2];c[(c[f>>2]|0)+88>>2]=(c[(c[d>>2]|0)+32>>2]|0)-1;i=g;return}function Cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;Uo(c[g>>2]|0,1,0,c[j>>2]|0,c[h>>2]|0)|0;Df(c[g>>2]|0,-1,2364,-5);xf(c[g>>2]|0,1);i=f;return}function Dr(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,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+8|0;e=o+44|0;p=o+40|0;j=o+48|0;m=o+52|0;f=o+56|0;n=o+36|0;h=o+16|0;g=o;c[e>>2]=a;c[o+32>>2]=b;c[p>>2]=d;c[j>>2]=hc(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=de(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){Bc(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Yb(24,p,22352,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Ed(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=DH(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=AH(p|0,C|0,1,0)|0;d=h;d=NH(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Yb(24,p,22357,l)|0;p=Ed(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}vc(c[e>>2]|0,c[n>>2]|0,-1,13);i=o;return}function Er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=hc(c[c[j>>2]>>2]|0)|0;c[f>>2]=lc(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}Fr(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function Fr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Gr(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,l=0,m=0,n=0;l=i;i=i+48|0;e=l+28|0;n=l+4|0;k=l+8|0;g=l+32|0;j=l;h=l+12|0;m=l+24|0;f=l+20|0;c[e>>2]=a;c[l+16>>2]=b;c[n>>2]=d;c[g>>2]=lc(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=lc(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=Ec(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=gf(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){Bc(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);oc(c[e>>2]|0,c[k>>2]|0,56,16);i=l;return}}function Hr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Nd(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function Ir(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+4|0;n=p+16|0;o=p+8|0;h=p+20|0;j=p+28|0;g=p;k=p+12|0;l=p+24|0;c[n>>2]=b;c[o>>2]=f;if(c[(c[n>>2]|0)+64>>2]|0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((c[(c[o>>2]|0)+40>>2]|0)!=0?(c[(c[(c[o>>2]|0)+40>>2]|0)+12>>2]|0)!=(c[c[n>>2]>>2]|0):0){ah(c[(c[o>>2]|0)+40>>2]|0);c[(c[o>>2]|0)+40>>2]=0}do if(!(c[(c[o>>2]|0)+40>>2]|0)){c[j>>2]=e[(c[o>>2]|0)+52>>1];c[g>>2]=e[(c[o>>2]|0)+50>>1];f=c[c[n>>2]>>2]|0;if((d[(c[o>>2]|0)+55>>0]|0)>>>3&1)c[k>>2]=Jr(f,c[g>>2]|0,(c[j>>2]|0)-(c[g>>2]|0)|0)|0;else c[k>>2]=Jr(f,c[j>>2]|0,0)|0;if(c[k>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[l>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if(!(aH(c[l>>2]|0,15963)|0))f=0;else f=Ar(c[n>>2]|0,c[l>>2]|0)|0;c[(c[k>>2]|0)+20+(c[h>>2]<<2)>>2]=f;a[(c[(c[k>>2]|0)+16>>2]|0)+(c[h>>2]|0)>>0]=a[(c[(c[o>>2]|0)+28>>2]|0)+(c[h>>2]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}f=c[k>>2]|0;if(c[(c[n>>2]|0)+64>>2]|0){ah(f);break}else{c[(c[o>>2]|0)+40>>2]=f;break}}}while(0);c[m>>2]=Kr(c[(c[o>>2]|0)+40>>2]|0)|0;o=c[m>>2]|0;i=p;return o|0}function Jr(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=gf(0,24+(((c[h>>2]|0)+(c[j>>2]|0)|0)*5|0)|0,0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+16>>2]=(c[k>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[k>>2]|0)+6>>1]=c[h>>2];b[(c[k>>2]|0)+8>>1]=c[j>>2];a[(c[k>>2]|0)+4>>0]=a[(c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[(c[k>>2]|0)+12>>2]=c[g>>2];c[c[k>>2]>>2]=1;k=c[k>>2]|0;i=l;return k|0}else{a[(c[g>>2]|0)+64>>0]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function Kr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function Lr(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Mr(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+140+5>>0]=1;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=Nr(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)Or(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=Nr(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)Or(c[f>>2]|0,1);a[(c[f>>2]|0)+140+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}Pr(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function Nr(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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+160|0;C=G+24|0;B=G+8|0;A=G+16|0;m=G;p=G+40|0;q=G+48|0;r=G+36|0;s=G+64|0;y=G+56|0;k=G+44|0;z=G+140|0;l=G+32|0;x=G+60|0;j=G+72|0;v=G+88|0;u=G+112|0;n=G+128|0;E=G+132|0;w=G+136|0;t=G+148|0;F=G+52|0;D=G+144|0;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[w>>2]=0;if((c[r>>2]|0)==1)c[n>>2]=22488;else c[n>>2]=22602;c[E>>2]=(c[r>>2]|0)==1?19269:19288;c[j>>2]=c[E>>2];c[j+4>>2]=22706;c[j+8>>2]=c[n>>2];c[j+12>>2]=0;c[u>>2]=c[q>>2];c[u+8>>2]=c[r>>2];c[u+12>>2]=0;c[u+4>>2]=c[s>>2];Qr(u,3,j,0)|0;if(!(c[u+12>>2]|0)){c[l>>2]=cp(c[q>>2]|0,c[E>>2]|0,c[(c[(c[q>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2]|0)|0;if(c[l>>2]|0){n=(c[l>>2]|0)+44|0;a[n>>0]=d[n>>0]|1}c[x>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(c[r>>2]<<4);if(!(c[(c[x>>2]|0)+4>>2]|0)){if((c[r>>2]|0)==1){F=(c[(c[(c[q>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[F>>1]=e[F>>1]|1}c[p>>2]=0;F=c[p>>2]|0;i=G;return F|0}fe(c[(c[x>>2]|0)+4>>2]|0);do if(!(je(c[(c[x>>2]|0)+4>>2]|0)|0)){c[y>>2]=he(c[(c[x>>2]|0)+4>>2]|0,0)|0;if(c[y>>2]|0){E=c[s>>2]|0;F=c[q>>2]|0;c[m>>2]=af(c[y>>2]|0)|0;Ym(E,F,14418,m);break}else{c[w>>2]=1;o=16;break}}else o=16;while(0);a:do if((o|0)==16){c[k>>2]=0;while(1){if((c[k>>2]|0)>=5)break;ie(c[(c[x>>2]|0)+4>>2]|0,(c[k>>2]|0)+1|0,v+(c[k>>2]<<2)|0);c[k>>2]=(c[k>>2]|0)+1}c[c[(c[x>>2]|0)+12>>2]>>2]=c[v>>2];f=c[r>>2]|0;do if(c[v+16>>2]|0){j=c[v+16>>2]|0;if(!f){A=j&3;a[t>>0]=A;a[t>>0]=(d[t>>0]|0)==0?1:A;a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=a[t>>0]|0;break}if((j|0)!=(d[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0)){Ym(c[s>>2]|0,c[q>>2]|0,22708,A);c[y>>2]=1;break a}}else{A=(c[(c[(c[q>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[A>>1]=e[A>>1]|4}while(0);a[(c[(c[x>>2]|0)+12>>2]|0)+77>>0]=a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;if(!(c[(c[(c[x>>2]|0)+12>>2]|0)+80>>2]|0)){A=Rr(c[v+8>>2]|0)|0;c[z>>2]=A;c[z>>2]=(c[z>>2]|0)==0?2e3:A;c[(c[(c[x>>2]|0)+12>>2]|0)+80>>2]=c[z>>2];Sr(c[(c[x>>2]|0)+4>>2]|0,c[(c[(c[x>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[x>>2]|0)+12>>2]|0)+76>>0]=c[v+4>>2];if(!(d[(c[(c[x>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[x>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[x>>2]|0)+12>>2]|0)+76>>0]|0)>4){Ym(c[s>>2]|0,c[q>>2]|0,22776,B);c[y>>2]=1;break}if((c[r>>2]|0)==0?(c[v+4>>2]|0)>=4:0){B=(c[q>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[q>>2]|0;E=c[E>>2]|0;c[C>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[C+4>>2]=E;c[F>>2]=tf(B,22800,C)|0;c[D>>2]=c[(c[q>>2]|0)+284>>2];c[(c[q>>2]|0)+284>>2]=0;c[y>>2]=Zc(c[q>>2]|0,c[F>>2]|0,7,u,0)|0;c[(c[q>>2]|0)+284>>2]=c[D>>2];if(!(c[y>>2]|0))c[y>>2]=c[u+12>>2];Nd(c[q>>2]|0,c[F>>2]|0);if(!(c[y>>2]|0))Tr(c[q>>2]|0,c[r>>2]|0)|0;if(a[(c[q>>2]|0)+64>>0]|0){c[y>>2]=7;ue(c[q>>2]|0)}if((c[y>>2]|0)!=0?(c[(c[q>>2]|0)+24>>2]&65536|0)==0:0)break;F=(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]|0)+78|0;b[F>>1]=e[F>>1]|1;c[y>>2]=0}while(0);if(c[w>>2]|0)Ur(c[(c[x>>2]|0)+4>>2]|0)|0}else c[y>>2]=c[u+12>>2];if((c[y>>2]|0)==7|(c[y>>2]|0)==3082)a[(c[q>>2]|0)+64>>0]=1;c[p>>2]=c[y>>2];F=c[p>>2]|0;i=G;return F|0}function Or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);_i(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;_i(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function Pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function Qr(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,q=0,r=0,s=0;r=i;i=i+48|0;j=r+36|0;s=r+16|0;k=r+28|0;n=r+40|0;l=r+12|0;m=r+24|0;q=r+20|0;p=r+8|0;o=r+4|0;c[s>>2]=d;c[r>>2]=f;c[k>>2]=g;c[r+32>>2]=h;c[n>>2]=c[s>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+64>>0]|0){Yr(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;s=c[j>>2]|0;i=r;return s|0}if(!(c[k>>2]|0)){c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}do if(c[(c[k>>2]|0)+4>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0){a[(c[l>>2]|0)+140+4>>0]=c[m>>2];s=vg(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+140>>2]=s;a[(c[l>>2]|0)+140+6>>0]=0;ad(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+140+4>>0]=0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+140+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){a[(c[l>>2]|0)+64>>0]=1;break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){q=c[n>>2]|0;s=c[c[k>>2]>>2]|0;Yr(q,s,$c(c[l>>2]|0)|0)}}while(0);ec(c[p>>2]|0)|0;break}if(!(c[c[k>>2]>>2]|0)){Yr(c[n>>2]|0,0,0);break}c[o>>2]=yp(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if((c[o>>2]|0)!=0?(wg(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)==0:0)Yr(c[n>>2]|0,c[c[k>>2]>>2]|0,22917)}else Yr(c[n>>2]|0,c[c[k>>2]>>2]|0,0);while(0);c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}function Rr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);mj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Tr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+28|0;f=o+24|0;g=o+8|0;l=o+16|0;h=o+4|0;n=o+12|0;k=o+32|0;j=o+36|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];Vr(c[j>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[l>>2]=c[f>>2];c[l+4>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(cp(c[f>>2]|0,22436,c[l+4>>2]|0)|0)){c[e>>2]=1;n=c[e>>2]|0;i=o;return n|0}j=c[f>>2]|0;c[m>>2]=c[l+4>>2];c[n>>2]=tf(j,22855,m)|0;if(!(c[n>>2]|0))c[k>>2]=7;else{c[k>>2]=Zc(c[f>>2]|0,c[n>>2]|0,8,l,0)|0;Nd(c[f>>2]|0,c[n>>2]|0)}if((c[k>>2]|0)==7)a[(c[f>>2]|0)+64>>0]=1;c[e>>2]=c[k>>2];n=c[e>>2]|0;i=o;return n|0}function Ur(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;fe(c[b>>2]|0);c[d>>2]=Fe(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Ee(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Vr(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[5837]|0;b[h+2>>1]=b[5838]|0;b[h+4>>1]=b[5839]|0;b[h+6>>1]=b[5840]|0;b[h+8>>1]=b[5841]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+28>>1]|0;if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;EH((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Wr(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,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+4|0;t=s+16|0;k=s;p=s+96|0;o=s+100|0;q=s+24|0;r=s+20|0;n=s+8|0;l=s+12|0;m=s+32|0;c[t>>2]=d;c[s+92>>2]=f;c[k>>2]=g;c[s+88>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=cp(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!($b(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Lr(c[q>>2]|0)|0;break}else{c[o>>2]=yp(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;c[l>>2]=0;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Xr(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+28>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+42>>1]|0;Xr(c[r>>2]|0,1,0,(c[q>>2]|0)+28|0,m);b[(c[q>>2]|0)+42>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Xr(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;q=i;i=i+48|0;r=q+28|0;j=q+16|0;k=q+8|0;l=q+32|0;p=q;m=q+12|0;n=q+24|0;o=q+20|0;c[r>>2]=d;c[j>>2]=e;c[q+4>>2]=f;c[k>>2]=g;c[l>>2]=h;c[p>>2]=c[r>>2];c[n>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[n>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[m>>2]=r;if(!((r|0)>=48?(c[m>>2]|0)<=57:0))break;c[o>>2]=((c[o>>2]|0)*10|0)+(c[m>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Qp(c[o>>2]|0,0)|0;b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}a:while(1){if(!(a[c[p>>2]>>0]|0))break;if(Yc(22896,c[p>>2]|0)|0){if(!(Yc(22907,c[p>>2]|0)|0)){r=vg((c[p>>2]|0)+3|0)|0;r=Qp(r,((r|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+48>>1]=r}}else{r=(c[l>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Yr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+8|0;l=n;g=n+28|0;h=n+24|0;j=n+20|0;k=n+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+64>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=22934;f=c[(c[g>>2]|0)+4>>2]|0;e=c[k>>2]|0;c[l>>2]=c[h>>2];Ym(f,e,22936,l);if(c[j>>2]|0){f=c[k>>2]|0;e=c[c[(c[g>>2]|0)+4>>2]>>2]|0;l=c[j>>2]|0;c[m>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];c[m+4>>2]=l;e=Zr(f,e,22967,m)|0;c[c[(c[g>>2]|0)+4>>2]>>2]=e}}if(d[(c[k>>2]|0)+64>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=n;return}f=Rk(103217)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=n;return}function Zr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+48|0;j=g+32|0;h=g+28|0;l=g+24|0;k=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=fn(c[j>>2]|0,c[l>>2]|0,k)|0;Nd(c[j>>2]|0,c[h>>2]|0);i=g;return c[f>>2]|0}function _r(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;j=l+20|0;g=l+24|0;f=l+4|0;h=l;k=l+12|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];$r(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function $r(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(ht(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=vf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+68>>2]|0)|0;$o(c[e>>2]|0,0,c[h>>2]|0);as(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function as(a,b,f){a=a|0;b=b|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;x=i;i=i+80|0;n=x+60|0;o=x+44|0;g=x+24|0;l=x+28|0;t=x+12|0;r=x+40|0;s=x+48|0;p=x+56|0;q=x+64|0;m=x+8|0;j=x+4|0;w=x+32|0;k=x;v=x+16|0;y=x+36|0;h=x+20|0;u=x+52|0;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+68|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=vf(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(Mo(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}vr(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+32>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=Po(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=Ir(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+68|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;To(b,58,a,0,y,Kr(c[k>>2]|0)|0,-6)|0;wr(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,54);c[p>>2]=Ro(c[w>>2]|0,108,c[t>>2]|0,0)|0;c[v>>2]=Wo(c[n>>2]|0)|0;bs(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;Ro(c[w>>2]|0,109,c[s>>2]|0,c[v>>2]|0)|0;cs(c[n>>2]|0,c[j>>2]|0);Ro(c[w>>2]|0,9,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;jp(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)Ro(c[w>>2]|0,118,c[m>>2]|0,c[h>>2]|0)|0;To(c[w>>2]|0,55,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;xf(c[w>>2]|0,(1|((c[g>>2]|0)>=0?2:0))&255);c[p>>2]=Ro(c[w>>2]|0,106,c[s>>2]|0,0)|0;y=(c[k>>2]|0)!=0?(d[(c[o>>2]|0)+54>>0]|0|0)!=0:0;g=yr(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Ro(c[w>>2]|0,16,0,c[u>>2]|0)|0;c[q>>2]=yr(c[w>>2]|0)|0;wf(c[w>>2]|0,99,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;ds(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;Uo(c[w>>2]|0,100,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;Uo(c[w>>2]|0,110,c[r>>2]|0,c[v>>2]|0,1)|0;xf(c[w>>2]|0,16);Xo(c[n>>2]|0,c[v>>2]|0);Ro(c[w>>2]|0,5,c[s>>2]|0,c[q>>2]|0)|0;jp(c[w>>2]|0,c[p>>2]|0);ur(c[w>>2]|0,61,c[t>>2]|0)|0;ur(c[w>>2]|0,61,c[r>>2]|0)|0;ur(c[w>>2]|0,61,c[s>>2]|0)|0;i=x;return}function bs(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;z=i;i=i+64|0;o=z+44|0;p=z+36|0;q=z+20|0;r=z+16|0;m=z+32|0;n=z+40|0;s=z+48|0;t=z+8|0;y=z+4|0;u=z+24|0;w=z+12|0;x=z+28|0;v=z;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[y>>2]=c[(c[o>>2]|0)+8>>2];c[w>>2]=c[(c[p>>2]|0)+12>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=zr(c[y>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+96>>2]=c[q>>2];ns(c[o>>2]|0);os(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[x>>2]=ps(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[x>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)){qs(c[y>>2]|0,c[w>>2]|0,c[q>>2]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0,(c[x>>2]|0)+(c[u>>2]|0)|0);rs(c[y>>2]|0,39)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){u=c[o>>2]|0;w=c[x>>2]|0;y=c[v>>2]|0;ss(u,w,y);y=c[x>>2]|0;i=z;return y|0}Uo(c[y>>2]|0,49,c[x>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;u=c[o>>2]|0;w=c[x>>2]|0;y=c[v>>2]|0;ss(u,w,y);y=c[x>>2]|0;i=z;return y|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Br(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);ls(c[d>>2]|0);i=f;return}function ds(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;q=i;i=i+64|0;h=q+28|0;j=q+40|0;k=q+32|0;p=q+44|0;m=q+52|0;l=q;n=q+36|0;o=q+48|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];Zd(l,0,0,200);c[l>>2]=c[c[h>>2]>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[o>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0)*24|0)>>2];if(c[m>>2]|0)es(l,23021,2);fs(l,c[c[n>>2]>>2]|0);es(l,23024,1);fs(l,c[o>>2]|0);c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=$d(l)|0;gs(c[h>>2]|0,(a[(c[k>>2]|0)+55>>0]&3|0)==2?1555:2067,c[j>>2]|0,c[p>>2]|0,-1,2);i=q;return}function es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>=(c[(c[e>>2]|0)+16>>2]|0)){hs(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);EH((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function fs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;es(a,b,Ed(c[e>>2]|0)|0);i=d;return}function gs(b,d,e,f,g,h){b=b|0;d=d|0;e=e|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,q=0;q=i;i=i+32|0;j=q;k=q+8|0;l=q+4|0;m=q+16|0;n=q+20|0;o=q+21|0;p=q+12|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=Po(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Cp(c[j>>2]|0);To(c[p>>2]|0,24,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;if(!(a[o>>0]|0)){i=q;return}xf(c[p>>2]|0,a[o>>0]|0);i=q;return}function hs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=is(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}EH((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function is(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m;c[g>>2]=b;c[h>>2]=e;if(a[(c[g>>2]|0)+25>>0]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}e=c[g>>2]|0;if(!(a[(c[g>>2]|0)+24>>0]|0)){c[h>>2]=(c[e+16>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)-1;js(c[g>>2]|0,2);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=m;return l|0}if((c[e+8>>2]|0)==(c[(c[g>>2]|0)+4>>2]|0))e=0;else e=c[(c[g>>2]|0)+8>>2]|0;c[l>>2]=e;e=c[(c[g>>2]|0)+12>>2]|0;o=j;c[o>>2]=e;c[o+4>>2]=((e|0)<0)<<31>>31;o=(c[h>>2]|0)+1|0;e=j;o=DH(c[e>>2]|0,c[e+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=o;c[e+4>>2]=C;e=j;o=c[e+4>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;n=((b|0)<0)<<31>>31;if((o|0)>(n|0)|((o|0)==(n|0)?(c[e>>2]|0)>>>0>b>>>0:0)){ks(c[g>>2]|0);js(c[g>>2]|0,2);c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}c[(c[g>>2]|0)+16>>2]=c[j>>2];if((d[(c[g>>2]|0)+24>>0]|0)==1){o=c[(c[g>>2]|0)+16>>2]|0;c[k>>2]=hm(c[c[g>>2]>>2]|0,c[l>>2]|0,o,((o|0)<0)<<31>>31)|0}else c[k>>2]=Tb(c[l>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0)){ks(c[g>>2]|0);js(c[g>>2]|0,1);c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+12>>2]|0)>0:0)EH(c[k>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=c[k>>2];c[f>>2]=c[h>>2];o=c[f>>2]|0;i=m;return o|0}function js(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+25>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function ks(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;do if((c[(c[b>>2]|0)+8>>2]|0)!=(c[(c[b>>2]|0)+4>>2]|0)){a=c[b>>2]|0;if((d[(c[b>>2]|0)+24>>0]|0|0)==1){Nd(c[a>>2]|0,c[(c[b>>2]|0)+8>>2]|0);break}else{Sb(c[a+8>>2]|0);break}}while(0);c[(c[b>>2]|0)+8>>2]=0;i=e;return}function ls(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=(c[b>>2]|0)+100|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+116;while(1){if((c[d>>2]|0)>=10)break;if((c[(c[e>>2]|0)+12>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)>(c[(c[b>>2]|0)+100>>2]|0):0){ms(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function ms(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(a[(c[g>>2]|0)+6>>0]|0)){i=h;return}if((d[(c[f>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+24+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0;i=h;return}function ns(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+100|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function os(a,b,e,f){a=a|0;b=b|0;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;t=i;i=i+48|0;g=t+4|0;h=t+16|0;j=t+36|0;k=t;s=t+32|0;n=t+40|0;q=t+44|0;r=t+24|0;o=t+20|0;p=t+8|0;l=t+12|0;m=t+28|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=t;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 72:{os(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);ns(c[g>>2]|0);os(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);ls(c[g>>2]|0);break}case 71:{c[l>>2]=zr(c[s>>2]|0)|0;xs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);ns(c[g>>2]|0);os(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Br(c[s>>2]|0,c[l>>2]|0);ls(c[g>>2]|0);break}case 19:{xs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[o>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;zs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}case 148:case 73:{c[o>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;c[n>>2]=(d[c[h>>2]>>0]|0|0)==73?78:79;zs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,128)|0;break}case 77:case 76:{c[o>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;Ro(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 74:{As(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);break}case 75:if(c[k>>2]|0){Bs(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=zr(c[s>>2]|0)|0;Bs(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);Br(c[s>>2]|0,c[m>>2]|0);break a}default:{if($q(c[h>>2]|0)|0){Ro(c[s>>2]|0,16,0,c[j>>2]|0)|0;break a}if(!(Cs(c[h>>2]|0)|0)){c[o>>2]=ys(c[g>>2]|0,c[h>>2]|0,q)|0;Uo(c[s>>2]|0,46,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);Xo(c[g>>2]|0,c[q>>2]|0);Xo(c[g>>2]|0,c[r>>2]|0);i=t;return}function ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+60>>2];c[h>>2]=c[(c[d>>2]|0)+56>>2];if((c[e>>2]|0)<=(c[h>>2]|0)){h=(c[d>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=(c[d>>2]|0)+56|0;c[h>>2]=(c[h>>2]|0)-(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}else{c[f>>2]=(c[(c[d>>2]|0)+72>>2]|0)+1;h=(c[d>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}return 0}function qs(a,e,f,g,h){a=a|0;e=e|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,q=0;q=i;i=i+32|0;j=q+8|0;k=q+16|0;l=q+20|0;m=q+24|0;n=q+4|0;o=q;p=q+12|0;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+36>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+44>>0]&16|0)!=0?148:47;c[p>>2]=c[m>>2];if(d[(c[k>>2]|0)+44>>0]&32){a=Lr(c[k>>2]|0)|0;c[p>>2]=(us(a,c[m>>2]&65535)|0)<<16>>16}Uo(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else Ro(c[j>>2]|0,103,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}vs(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function rs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if(((c[(c[g>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[g>>2]|0)+24>>2]|0)+88>>2]|0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){Ef(c[g>>2]|0,(c[(c[g>>2]|0)+32>>2]|0)-1|0);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;ts(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+56>>2]|0)){i=h;return}c[(c[e>>2]|0)+56>>2]=c[g>>2];c[(c[e>>2]|0)+60>>2]=c[f>>2];i=h;return}function ts(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,l=0,m=0;l=i;i=i+32|0;e=l+8|0;f=l+16|0;m=l+20|0;g=l+24|0;h=l+4|0;j=l;k=l+12|0;c[e>>2]=a;c[f>>2]=b;c[m>>2]=d;c[h>>2]=(c[f>>2]|0)+(c[m>>2]|0)-1;c[g>>2]=0;c[j>>2]=(c[e>>2]|0)+116;while(1){if((c[g>>2]|0)>=10)break;c[k>>2]=c[(c[j>>2]|0)+12>>2];if((c[k>>2]|0)>=(c[f>>2]|0)?(c[k>>2]|0)<=(c[h>>2]|0):0){ms(c[e>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+12>>2]=0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=l;return}function us(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){a=6;break}d=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=4;break}c[h>>2]=d+1}if((a|0)==4){b[j>>1]=d;j=b[j>>1]|0;i=k;return j|0}else if((a|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function vs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+4|0;h=o+12|0;j=o+8|0;k=o+20|0;n=o;l=o+24|0;m=o+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(c[(c[(ws(c[g>>2]|0)|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0);b=ws(c[g>>2]|0)|0;dp(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+21>>0]|0,n)|0;if(c[n>>2]|0)Df(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0)+21>>0]|0)!=69){i=o;return}ur(c[g>>2]|0,39,c[k>>2]|0)|0;i=o;return}function ws(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function xs(a,b,e,f){a=a|0;b=b|0;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;u=i;i=i+64|0;g=u+44|0;h=u+36|0;j=u+20|0;k=u+16|0;t=u+32|0;o=u+40|0;r=u+48|0;s=u+8|0;p=u+4|0;q=u+24|0;l=u+12|0;m=u+28|0;n=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[o>>2]=d[c[h>>2]>>0];a:do switch(c[o>>2]|0){case 72:{c[l>>2]=zr(c[t>>2]|0)|0;os(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);ns(c[g>>2]|0);xs(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Br(c[t>>2]|0,c[l>>2]|0);ls(c[g>>2]|0);break}case 71:{xs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);ns(c[g>>2]|0);xs(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);ls(c[g>>2]|0);break}case 19:{os(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;zs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}case 148:case 73:{c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;zs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,128)|0;break}case 77:case 76:{c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;Ro(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 74:{As(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1,c[k>>2]|0);break}case 75:{c[m>>2]=zr(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;Bs(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Ro(c[t>>2]|0,16,0,c[j>>2]|0)|0;Br(c[t>>2]|0,c[m>>2]|0);break}default:{if(Cs(c[h>>2]|0)|0){Ro(c[t>>2]|0,16,0,c[j>>2]|0)|0;break a}if(!($q(c[h>>2]|0)|0)){c[p>>2]=ys(c[g>>2]|0,c[h>>2]|0,r)|0;Uo(c[t>>2]|0,45,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);Xo(c[g>>2]|0,c[r>>2]|0);Xo(c[g>>2]|0,c[s>>2]|0);i=u;return}function ys(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+28|0;g=q+16|0;h=q+4|0;j=q+8|0;o=q+32|0;l=q;k=q+12|0;m=q+24|0;n=q+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=Vp(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=159:0)?(gt(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+316>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(oq(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+72|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;Vs(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=Wo(c[g>>2]|0)|0;c[o>>2]=Hs(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{Xo(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function zs(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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,u=0,v=0;l=i;i=i+48|0;n=l+36|0;v=l+16|0;u=l;s=l+28|0;p=l+32|0;r=l+40|0;q=l+12|0;t=l+24|0;m=l+20|0;k=l+8|0;o=l+4|0;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=Ts(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(ft(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=To(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;xf(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function As(b,d,e,f,g){b=b|0;d=d|0;e=e|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;s=i;i=i+224|0;o=s;h=s+64|0;m=s+168|0;p=s+4|0;n=s+172|0;q=s+176|0;j=s+16|0;k=s+120|0;l=s+72|0;r=s+8|0;c[o>>2]=b;c[h>>2]=d;c[m>>2]=e;c[p>>2]=f;c[n>>2]=g;c[r>>2]=0;e=l;g=c[(c[h>>2]|0)+12>>2]|0;f=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(f|0));a[q>>0]=72;c[q+12>>2]=j;c[q+16>>2]=k;a[j>>0]=83;c[j+12>>2]=l;c[j+16>>2]=c[c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]>>2];a[k>>0]=81;c[k+12>>2]=l;c[k+16>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];Qs(l,ys(c[o>>2]|0,l,r)|0);e=c[o>>2]|0;g=c[m>>2]|0;f=c[n>>2]|0;if(c[p>>2]|0){xs(e,q,g,f);q=c[o>>2]|0;r=c[r>>2]|0;Xo(q,r);i=s;return}else{os(e,q,g,f);q=c[o>>2]|0;r=c[r>>2]|0;Xo(q,r);i=s;return}}function Bs(b,d,e,f){b=b|0;d=d|0;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;z=i;i=i+80|0;s=z+8|0;r=z+24|0;t=z+44|0;u=z+52|0;x=z+12|0;p=z+68|0;q=z+48|0;w=z+56|0;y=z+60|0;k=z+64|0;j=z+4|0;h=z+32|0;l=z;n=z+16|0;m=z+36|0;g=z+20|0;o=z+28|0;v=z+40|0;c[s>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[x>>2]=0;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[q>>2]=Ds(c[s>>2]|0,c[r>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:x)|0;a[p>>0]=Es(c[r>>2]|0)|0;ns(c[s>>2]|0);c[w>>2]=Wo(c[s>>2]|0)|0;Fs(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[w>>2]|0);e=c[r>>2]|0;if((c[q>>2]|0)!=5){do if(Gs(c[e+12>>2]|0)|0){e=c[y>>2]|0;f=c[w>>2]|0;if((c[u>>2]|0)==(c[t>>2]|0)){Ro(e,76,f,c[u>>2]|0)|0;break}else{c[o>>2]=ur(e,77,f)|0;Ro(c[y>>2]|0,108,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0)|0;Ro(c[y>>2]|0,16,0,c[u>>2]|0)|0;jp(c[y>>2]|0,c[o>>2]|0);break}}while(0);e=c[y>>2]|0;f=c[w>>2]|0;if((c[q>>2]|0)==1){Ro(e,38,f,c[t>>2]|0)|0;Uo(c[y>>2]|0,70,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;x=c[s>>2]|0;y=c[w>>2]|0;Xo(x,y);y=c[s>>2]|0;ls(y);i=z;return}To(e,48,f,1,0,p,1)|0;e=c[y>>2]|0;f=c[(c[r>>2]|0)+28>>2]|0;if(!(c[x>>2]|0)){wf(e,68,f,c[t>>2]|0,c[w>>2]|0,1)|0;x=c[s>>2]|0;y=c[w>>2]|0;Xo(x,y);y=c[s>>2]|0;ls(y);i=z;return}else{c[v>>2]=wf(e,69,f,0,c[w>>2]|0,1)|0;Ro(c[y>>2]|0,76,c[x>>2]|0,c[u>>2]|0)|0;Ro(c[y>>2]|0,16,0,c[t>>2]|0)|0;jp(c[y>>2]|0,c[v>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;Xo(x,y);y=c[s>>2]|0;ls(y);i=z;return}}c[k>>2]=c[e+20>>2];c[j>>2]=Pp(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0)|0;c[h>>2]=zr(c[y>>2]|0)|0;c[m>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[m>>2]=Wo(c[s>>2]|0)|0;Uo(c[y>>2]|0,85,c[w>>2]|0,c[w>>2]|0,c[m>>2]|0)|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[l>>2]=ys(c[s>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,n)|0;if((c[m>>2]|0)!=0?(Gs(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)!=0:0)Uo(c[y>>2]|0,85,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)>=((c[c[k>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){To(c[y>>2]|0,78,c[w>>2]|0,c[t>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;xf(c[y>>2]|0,(a[p>>0]|16)&255)}else{To(c[y>>2]|0,79,c[w>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;xf(c[y>>2]|0,a[p>>0]|0)}Xo(c[s>>2]|0,c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[m>>2]|0){Ro(c[y>>2]|0,76,c[m>>2]|0,c[u>>2]|0)|0;Ro(c[y>>2]|0,16,0,c[t>>2]|0)|0}Br(c[y>>2]|0,c[h>>2]|0);Xo(c[s>>2]|0,c[m>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;Xo(x,y);y=c[s>>2]|0;ls(y);i=z;return}function Cs(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(jq(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function Ds(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;l=F+36|0;m=F+24|0;n=F+44|0;o=F+60|0;k=F+12|0;r=F+16|0;w=F+48|0;x=F+56|0;E=F+64|0;q=F+68|0;B=F+72|0;y=F+8|0;u=F+76|0;v=F+78|0;s=F+40|0;z=F+20|0;A=F+52|0;p=F+28|0;t=F+32|0;D=F+4|0;C=F;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[r>>2]=0;g=(c[l>>2]|0)+68|0;j=c[g>>2]|0;c[g>>2]=j+1;c[w>>2]=j;c[E>>2]=Po(c[l>>2]|0)|0;c[x>>2]=(c[n>>2]&4|0)!=0&1;if(c[(c[m>>2]|0)+4>>2]&2048)h=c[(c[m>>2]|0)+20>>2]|0;else h=0;c[k>>2]=h;a:do if((c[(c[l>>2]|0)+64>>2]|0)==0?(ct(c[k>>2]|0)|0)!=0:0){c[q>>2]=c[c[l>>2]>>2];c[B>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+8+16>>2];c[y>>2]=c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2];b[u>>1]=b[(c[y>>2]|0)+32>>1]|0;b[v>>1]=vf(c[q>>2]|0,c[(c[B>>2]|0)+68>>2]|0)|0;ap(c[l>>2]|0,b[v>>1]|0);vr(c[l>>2]|0,b[v>>1]|0,c[(c[B>>2]|0)+32>>2]|0,0,c[c[B>>2]>>2]|0);h=c[l>>2]|0;if((b[u>>1]|0)<0){c[s>>2]=Rs(h)|0;wr(c[l>>2]|0,c[w>>2]|0,b[v>>1]|0,c[B>>2]|0,54);c[r>>2]=1;jp(c[E>>2]|0,c[s>>2]|0);break}c[A>>2]=Ts(h,c[(c[m>>2]|0)+12>>2]|0,c[y>>2]|0)|0;c[p>>2]=dt(c[m>>2]|0,a[(c[(c[B>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+21>>0]|0)|0;c[z>>2]=c[(c[B>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0&(c[r>>2]|0)==0&(c[p>>2]|0)!=0))break a;do if((b[c[(c[z>>2]|0)+4>>2]>>1]|0)==(b[u>>1]|0)?(y=Xg(c[q>>2]|0,a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[c[(c[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(c[A>>2]|0)):0){if(c[x>>2]|0){if((e[(c[z>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[z>>2]|0)+54>>0]|0))break}c[t>>2]=Rs(c[l>>2]|0)|0;Uo(c[E>>2]|0,54,c[w>>2]|0,c[(c[z>>2]|0)+44>>2]|0,b[v>>1]|0)|0;xr(c[l>>2]|0,c[z>>2]|0);c[r>>2]=3+(d[c[(c[z>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(a[(c[(c[B>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+20>>0]|0)==0:0){s=(c[l>>2]|0)+72|0;y=(c[s>>2]|0)+1|0;c[s>>2]=y;c[c[o>>2]>>2]=y;Us(c[E>>2]|0,c[w>>2]|0,c[c[o>>2]>>2]|0)}jp(c[E>>2]|0,c[t>>2]|0)}while(0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}}while(0);do if(((c[r>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((et(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[r>>2]=5}while(0);if(c[r>>2]|0){c[(c[m>>2]|0)+28>>2]=c[w>>2];E=c[r>>2]|0;i=F;return E|0}c[D>>2]=c[(c[l>>2]|0)+424>>2];c[C>>2]=0;c[r>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+424>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[r>>2]=1}else if(c[o>>2]|0){B=(c[l>>2]|0)+72|0;E=(c[B>>2]|0)+1|0;c[B>>2]=E;c[C>>2]=E;c[c[o>>2]>>2]=E}Ps(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,(c[r>>2]|0)==1&1)|0;c[(c[l>>2]|0)+424>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function Es(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=Op(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=bt(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=bt(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function Fs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==159:0){Ro(c[(c[f>>2]|0)+8>>2]|0,33,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=Hs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}Ro(c[(c[f>>2]|0)+8>>2]|0,34,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function Gs(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==158)f=1;else f=(d[c[g>>2]>>0]|0)==157;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==159)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 134:case 133:case 97:case 132:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 154:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+32>>1]|0)*24|0)+20>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function Hs(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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=i;i=i+320|0;C=la+16|0;H=la;B=la+8|0;da=la+232|0;ea=la+132|0;J=la+168|0;fa=la+140|0;ja=la+136|0;o=la+36|0;ga=la+40|0;ha=la+44|0;ia=la+48|0;R=la+52|0;y=la+56|0;z=la+60|0;A=la+68|0;L=la+64|0;U=la+72|0;q=la+120|0;r=la+124|0;m=la+128|0;n=la+220|0;D=la+228|0;E=la+236|0;u=la+244|0;l=la+296|0;s=la+152|0;T=la+300|0;S=la+160|0;Q=la+164|0;G=la+240|0;I=la+172|0;K=la+176|0;O=la+180|0;F=la+304|0;P=la+188|0;M=la+192|0;N=la+305|0;k=la+200|0;j=la+204|0;v=la+208|0;t=la+212|0;w=la+24|0;x=la+148|0;p=la+20|0;W=la+156|0;Z=la+32|0;Y=la+216|0;X=la+224|0;aa=la+28|0;V=la+144|0;$=la+248|0;ca=la+196|0;ba=la+184|0;c[ea>>2]=f;c[J>>2]=g;c[fa>>2]=h;c[ja>>2]=c[(c[ea>>2]|0)+8>>2];c[ga>>2]=c[fa>>2];c[ha>>2]=0;c[ia>>2]=0;c[L>>2]=c[c[ea>>2]>>2];if(!(c[ja>>2]|0)){c[da>>2]=0;ka=c[da>>2]|0;i=la;return ka|0}if(!(c[J>>2]|0))c[o>>2]=101;else c[o>>2]=d[c[J>>2]>>0];a:do switch(c[o>>2]|0){case 156:{c[q>>2]=c[(c[J>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[J>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[ga>>2]=c[(c[r>>2]|0)+16>>2];break a}if(a[(c[q>>2]|0)+1>>0]|0)Uo(c[ja>>2]|0,47,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;else ka=11;break}case 154:{ka=11;break}case 132:{Js(c[ea>>2]|0,c[J>>2]|0,0,c[fa>>2]|0);break}case 133:{Ks(c[ja>>2]|0,c[(c[J>>2]|0)+8>>2]|0,0,c[fa>>2]|0);break}case 97:{To(c[ja>>2]|0,97,0,c[fa>>2]|0,0,c[(c[J>>2]|0)+8>>2]|0,0)|0;break}case 101:{Ro(c[ja>>2]|0,28,0,c[fa>>2]|0)|0;break}case 134:{c[D>>2]=(c[(c[J>>2]|0)+8>>2]|0)+2;c[n>>2]=(Ed(c[D>>2]|0)|0)-1;c[E>>2]=qp(ws(c[ja>>2]|0)|0,c[D>>2]|0,c[n>>2]|0)|0;To(c[ja>>2]|0,30,(c[n>>2]|0)/2|0,c[fa>>2]|0,0,c[E>>2]|0,-1)|0;break}case 135:{Ro(c[ja>>2]|0,31,b[(c[J>>2]|0)+32>>1]|0,c[fa>>2]|0)|0;if(a[(c[(c[J>>2]|0)+8>>2]|0)+1>>0]|0)Df(c[ja>>2]|0,-1,c[(c[(c[ea>>2]|0)+472>>2]|0)+((b[(c[J>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 159:{c[ga>>2]=c[(c[J>>2]|0)+28>>2];break}case 24:{c[ga>>2]=Hs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;break}case 38:{c[ga>>2]=Hs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;if((c[ga>>2]|0)!=(c[fa>>2]|0)){Ro(c[ja>>2]|0,34,c[ga>>2]|0,c[fa>>2]|0)|0;c[ga>>2]=c[fa>>2]}Ro(c[ja>>2]|0,40,c[fa>>2]|0,(lp(c[(c[J>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;Ls(c[ea>>2]|0,c[ga>>2]|0,1);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;zs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[(c[J>>2]|0)+16>>2]|0,c[o>>2]|0,c[R>>2]|0,c[y>>2]|0,c[ga>>2]|0,32)|0;break}case 148:case 73:{c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;zs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[(c[J>>2]|0)+16>>2]|0,c[o>>2]|0,c[R>>2]|0,c[y>>2]|0,c[ga>>2]|0,160)|0;break}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;Uo(c[ja>>2]|0,c[o>>2]|0,c[y>>2]|0,c[R>>2]|0,c[fa>>2]|0)|0;break}case 157:{c[u>>2]=c[(c[J>>2]|0)+12>>2];do if((d[c[u>>2]>>0]|0)!=132)if((d[c[u>>2]>>0]|0)==133){Ks(c[ja>>2]|0,c[(c[u>>2]|0)+8>>2]|0,1,c[fa>>2]|0);break}else{a[U>>0]=-124;c[U+4>>2]=17408;c[U+8>>2]=0;c[R>>2]=ys(c[ea>>2]|0,U,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ia)|0;Uo(c[ja>>2]|0,90,c[y>>2]|0,c[R>>2]|0,c[fa>>2]|0)|0;break}else Js(c[ea>>2]|0,c[u>>2]|0,1,c[fa>>2]|0);while(0);c[ga>>2]=c[fa>>2];break}case 19:case 96:{c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[ga>>2]=c[fa>>2];Ro(c[ja>>2]|0,c[o>>2]|0,c[R>>2]|0,c[ga>>2]|0)|0;break}case 77:case 76:{Ro(c[ja>>2]|0,25,1,c[fa>>2]|0)|0;c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[l>>2]=ur(c[ja>>2]|0,c[o>>2]|0,c[R>>2]|0)|0;Ro(c[ja>>2]|0,25,0,c[fa>>2]|0)|0;jp(c[ja>>2]|0,c[l>>2]|0);break}case 155:{c[s>>2]=c[(c[J>>2]|0)+40>>2];if(!(c[s>>2]|0)){ja=c[ea>>2]|0;c[B>>2]=c[(c[J>>2]|0)+8>>2];sf(ja,23026,B);break a}else{c[ga>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[J>>2]|0)+34>>1]<<4)+8>>2];break a}}case 153:{c[K>>2]=0;a[F>>0]=a[(c[(c[(c[L>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[P>>2]=0;if(c[(c[J>>2]|0)+4>>2]&16384)c[T>>2]=0;else c[T>>2]=c[(c[J>>2]|0)+20>>2];if(c[T>>2]|0)l=c[c[T>>2]>>2]|0;else l=0;c[S>>2]=l;c[I>>2]=c[(c[J>>2]|0)+8>>2];c[G>>2]=Ed(c[I>>2]|0)|0;c[Q>>2]=Zf(c[L>>2]|0,c[I>>2]|0,c[G>>2]|0,c[S>>2]|0,a[F>>0]|0,0)|0;if((c[Q>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)!=0:0){if(e[(c[Q>>2]|0)+2>>1]&512){c[M>>2]=zr(c[ja>>2]|0)|0;Fs(c[ea>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0,c[fa>>2]|0);c[O>>2]=1;while(1){j=c[ja>>2]|0;if((c[O>>2]|0)>=(c[S>>2]|0))break;Ro(j,77,c[fa>>2]|0,c[M>>2]|0)|0;ts(c[ea>>2]|0,c[fa>>2]|0,1);ns(c[ea>>2]|0);Fs(c[ea>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0,c[fa>>2]|0);ls(c[ea>>2]|0);c[O>>2]=(c[O>>2]|0)+1}Br(j,c[M>>2]|0);break a}if(e[(c[Q>>2]|0)+2>>1]&1024){Fs(c[ea>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0,c[fa>>2]|0);break a}c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[S>>2]|0))break;if((c[O>>2]|0)<32?(Ms(c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[K>>2]=c[K>>2]|1<>2];if(!((c[P>>2]|0)!=0?1:(e[(c[Q>>2]|0)+2>>1]&32|0)==0))c[P>>2]=Pp(c[ea>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0)|0;c[O>>2]=(c[O>>2]|0)+1}if(c[T>>2]|0){j=c[ea>>2]|0;if(c[K>>2]|0){c[R>>2]=(c[j+72>>2]|0)+1;ca=(c[ea>>2]|0)+72|0;c[ca>>2]=(c[ca>>2]|0)+(c[S>>2]|0)}else c[R>>2]=ps(j,c[S>>2]|0)|0;do if(e[(c[Q>>2]|0)+2>>1]&192){a[N>>0]=a[c[c[(c[T>>2]|0)+4>>2]>>2]>>0]|0;if((d[N>>0]|0)!=154?(d[N>>0]|0)!=156:0)break;a[(c[c[(c[T>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[Q>>2]|0)+2>>1]&192}while(0);ns(c[ea>>2]|0);Ns(c[ea>>2]|0,c[T>>2]|0,c[R>>2]|0,3)|0;ls(c[ea>>2]|0)}else c[R>>2]=0;if((c[S>>2]|0)>=2?(c[(c[J>>2]|0)+4>>2]&128|0)!=0:0)c[Q>>2]=Os(c[L>>2]|0,c[Q>>2]|0,c[S>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+20>>2]|0)|0;else ka=78;if((ka|0)==78?(c[S>>2]|0)>0:0)c[Q>>2]=Os(c[L>>2]|0,c[Q>>2]|0,c[S>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[Q>>2]|0)+2>>1]&32){if(!(c[P>>2]|0))c[P>>2]=c[(c[L>>2]|0)+8>>2];To(c[ja>>2]|0,36,0,0,0,c[P>>2]|0,-4)|0}To(c[ja>>2]|0,1,c[K>>2]|0,c[R>>2]|0,c[fa>>2]|0,c[Q>>2]|0,-5)|0;xf(c[ja>>2]|0,c[S>>2]&255);if(!((c[S>>2]|0)!=0&(c[K>>2]|0)==0))break a;ss(c[ea>>2]|0,c[R>>2]|0,c[S>>2]|0);break a}ja=c[ea>>2]|0;fa=c[I>>2]|0;c[H>>2]=c[G>>2];c[H+4>>2]=fa;sf(ja,23052,H);break}case 119:case 20:{c[ga>>2]=Ps(c[ea>>2]|0,c[J>>2]|0,0,0)|0;break}case 75:{c[k>>2]=zr(c[ja>>2]|0)|0;c[j>>2]=zr(c[ja>>2]|0)|0;Ro(c[ja>>2]|0,28,0,c[fa>>2]|0)|0;Bs(c[ea>>2]|0,c[J>>2]|0,c[k>>2]|0,c[j>>2]|0);Ro(c[ja>>2]|0,25,1,c[fa>>2]|0)|0;Br(c[ja>>2]|0,c[k>>2]|0);Ro(c[ja>>2]|0,37,c[fa>>2]|0,0)|0;Br(c[ja>>2]|0,c[j>>2]|0);break}case 74:{c[v>>2]=c[(c[J>>2]|0)+12>>2];c[t>>2]=c[(c[(c[J>>2]|0)+20>>2]|0)+4>>2];c[w>>2]=c[c[t>>2]>>2];c[R>>2]=ys(c[ea>>2]|0,c[v>>2]|0,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[w>>2]|0,ia)|0;c[z>>2]=Wo(c[ea>>2]|0)|0;c[A>>2]=Wo(c[ea>>2]|0)|0;zs(c[ea>>2]|0,c[v>>2]|0,c[w>>2]|0,83,c[R>>2]|0,c[y>>2]|0,c[z>>2]|0,32)|0;c[t>>2]=(c[t>>2]|0)+20;c[w>>2]=c[c[t>>2]>>2];Xo(c[ea>>2]|0,c[ia>>2]|0);c[y>>2]=ys(c[ea>>2]|0,c[w>>2]|0,ia)|0;zs(c[ea>>2]|0,c[v>>2]|0,c[w>>2]|0,81,c[R>>2]|0,c[y>>2]|0,c[A>>2]|0,32)|0;Uo(c[ja>>2]|0,72,c[z>>2]|0,c[A>>2]|0,c[fa>>2]|0)|0;Xo(c[ea>>2]|0,c[z>>2]|0);Xo(c[ea>>2]|0,c[A>>2]|0);break}case 158:case 95:{c[ga>>2]=Hs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;break}case 62:{c[x>>2]=c[(c[J>>2]|0)+44>>2];c[p>>2]=(_(c[(c[J>>2]|0)+28>>2]|0,(b[(c[x>>2]|0)+38>>1]|0)+1|0)|0)+1+(b[(c[J>>2]|0)+32>>1]|0);Ro(c[ja>>2]|0,132,c[p>>2]|0,c[fa>>2]|0)|0;if((b[(c[J>>2]|0)+32>>1]|0)>=0?(a[(c[(c[x>>2]|0)+4>>2]|0)+((b[(c[J>>2]|0)+32>>1]|0)*24|0)+21>>0]|0)==69:0)ur(c[ja>>2]|0,39,c[fa>>2]|0)|0;break}case 57:{if(!(c[(c[ea>>2]|0)+412>>2]|0)){sf(c[ea>>2]|0,23077,C);c[da>>2]=0;ka=c[da>>2]|0;i=la;return ka|0}if((a[(c[J>>2]|0)+1>>0]|0)==2)Cp(c[ea>>2]|0);if((a[(c[J>>2]|0)+1>>0]|0)==4){To(c[ja>>2]|0,24,0,4,0,c[(c[J>>2]|0)+8>>2]|0,0)|0;break a}else{gs(c[ea>>2]|0,1811,a[(c[J>>2]|0)+1>>0]|0,c[(c[J>>2]|0)+8>>2]|0,0,0);break a}}default:{c[ba>>2]=0;c[aa>>2]=c[(c[J>>2]|0)+20>>2];c[V>>2]=c[(c[aa>>2]|0)+4>>2];c[Y>>2]=c[c[aa>>2]>>2];c[W>>2]=zr(c[ja>>2]|0)|0;T=c[(c[J>>2]|0)+12>>2]|0;c[ca>>2]=T;if(T){j=U;k=c[ca>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Qs(U,ys(c[ea>>2]|0,c[ca>>2]|0,ha)|0);a[$>>0]=79;c[$+12>>2]=U;c[ba>>2]=$;c[ha>>2]=0}c[X>>2]=0;while(1){if((c[X>>2]|0)>=((c[Y>>2]|0)-1|0))break;ns(c[ea>>2]|0);j=c[(c[V>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0;if(c[ca>>2]|0)c[$+16>>2]=j;else c[ba>>2]=j;c[Z>>2]=zr(c[ja>>2]|0)|0;os(c[ea>>2]|0,c[ba>>2]|0,c[Z>>2]|0,16);Fs(c[ea>>2]|0,c[(c[V>>2]|0)+(((c[X>>2]|0)+1|0)*20|0)>>2]|0,c[fa>>2]|0);Ro(c[ja>>2]|0,16,0,c[W>>2]|0)|0;ls(c[ea>>2]|0);Br(c[ja>>2]|0,c[Z>>2]|0);c[X>>2]=(c[X>>2]|0)+2}if(c[Y>>2]&1){ns(c[ea>>2]|0);Fs(c[ea>>2]|0,c[(c[(c[aa>>2]|0)+4>>2]|0)+(((c[Y>>2]|0)-1|0)*20|0)>>2]|0,c[fa>>2]|0);ls(c[ea>>2]|0)}else Ro(c[ja>>2]|0,28,0,c[fa>>2]|0)|0;Br(c[ja>>2]|0,c[W>>2]|0)}}while(0);b:do if((ka|0)==11){c[m>>2]=c[(c[J>>2]|0)+28>>2];do if((c[m>>2]|0)<0)if((c[(c[ea>>2]|0)+92>>2]|0)>0){c[ga>>2]=(b[(c[J>>2]|0)+32>>1]|0)+(c[(c[ea>>2]|0)+92>>2]|0);break b}else{c[m>>2]=c[(c[ea>>2]|0)+96>>2];break}while(0);c[ga>>2]=Is(c[ea>>2]|0,c[(c[J>>2]|0)+44>>2]|0,b[(c[J>>2]|0)+32>>1]|0,c[m>>2]|0,c[fa>>2]|0,a[(c[J>>2]|0)+38>>0]|0)|0}while(0);Xo(c[ea>>2]|0,c[ha>>2]|0);Xo(c[ea>>2]|0,c[ia>>2]|0);c[da>>2]=c[ga>>2];ka=c[da>>2]|0;i=la;return ka|0}function Is(d,e,f,g,h,j){d=d|0;e=e|0;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,u=0,v=0;v=i;i=i+48|0;k=v;l=v+16|0;m=v+8|0;n=v+20|0;o=v+28|0;p=v+32|0;q=v+36|0;t=v+24|0;r=v+4|0;s=v+12|0;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;c[t>>2]=c[(c[l>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=(c[l>>2]|0)+116;while(1){if((c[r>>2]|0)>=10)break;if(((c[(c[s>>2]|0)+12>>2]|0)>0?(c[c[s>>2]>>2]|0)==(c[o>>2]|0):0)?(b[(c[s>>2]|0)+4>>1]|0)==(c[n>>2]|0):0){u=6;break}c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}if((u|0)==6){t=(c[l>>2]|0)+104|0;u=c[t>>2]|0;c[t>>2]=u+1;c[(c[s>>2]|0)+16>>2]=u;$s(c[l>>2]|0,c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=c[(c[s>>2]|0)+12>>2];u=c[k>>2]|0;i=v;return u|0}qs(c[t>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);if(a[q>>0]|0)xf(c[t>>2]|0,a[q>>0]|0);else at(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);c[k>>2]=c[p>>2];u=c[k>>2]|0;i=v;return u|0}function Js(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0;q=i;i=i+48|0;n=q+8|0;f=q+28|0;r=q+20|0;g=q+32|0;h=q+24|0;l=q+36|0;k=q+16|0;j=q+12|0;m=q;o=q+40|0;p=q+44|0;c[f>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[r>>2]|0)+8|0;if(c[(c[r>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);Ro(c[l>>2]|0,25,c[k>>2]|0,c[h>>2]|0)|0;i=q;return}c[o>>2]=c[e>>2];c[j>>2]=ng(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(Ib(c[o>>2]|0,23176,2)|0)){r=c[f>>2]|0;c[n>>2]=c[o>>2];sf(r,23179,n);i=q;return}else{Ks(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=q;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=AH(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;r=m;c[r>>2]=o?0:n;c[r+4>>2]=o?-2147483648:C}c[p>>2]=_s(c[l>>2]|0,m)|0;To(c[l>>2]|0,26,0,c[h>>2]|0,0,c[p>>2]|0,-13)|0;i=q;return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;l=n;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=n;return}b=c[g>>2]|0;Iq(b,l,Ed(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];c[m>>2]=_s(c[f>>2]|0,l)|0;To(c[f>>2]|0,133,0,c[k>>2]|0,0,c[m>>2]|0,-12)|0;i=n;return}function Ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;ts(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function Ms(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xs(c[d>>2]|0,1)|0;i=b;return a|0}function Ns(b,e,f,g){b=b|0;e=e|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;v=i;i=i+48|0;h=v+12|0;j=v+16|0;k=v+4|0;l=v+40|0;r=v+32|0;n=v;p=v+36|0;m=v+41|0;q=v+20|0;o=v+28|0;s=v+24|0;t=v+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;a[m>>0]=(d[l>>0]&1|0)!=0?33:34;c[p>>2]=c[c[j>>2]>>2];if(!(a[(c[h>>2]|0)+23>>0]|0))a[l>>0]=d[l>>0]&-3;c[r>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;c[q>>2]=c[c[r>>2]>>2];if((d[l>>0]&2|0)!=0?(Ms(c[q>>2]|0)|0)!=0:0)Vs(c[h>>2]|0,c[q>>2]|0,(c[k>>2]|0)+(c[n>>2]|0)|0,0);else u=8;do if((u|0)==8?(u=0,c[o>>2]=Hs(c[h>>2]|0,c[q>>2]|0,(c[k>>2]|0)+(c[n>>2]|0)|0)|0,(c[o>>2]|0)!=((c[k>>2]|0)+(c[n>>2]|0)|0)):0){c[t>>2]=c[(c[h>>2]|0)+8>>2];if((((d[m>>0]|0)==33?(f=Ws(c[t>>2]|0,-1)|0,c[s>>2]=f,(d[f>>0]|0)==33):0)?((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==(c[o>>2]|0):0)?((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==((c[k>>2]|0)+(c[n>>2]|0)|0):0){f=(c[s>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+1;break}Ro(c[t>>2]|0,d[m>>0]|0,c[o>>2]|0,(c[k>>2]|0)+(c[n>>2]|0)|0)|0}while(0);c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}i=v;return c[p>>2]|0}function Os(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,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;u=z+52|0;m=z+44|0;v=z+20|0;l=z+12|0;k=z+4|0;p=z+40|0;q=z+48|0;o=z+56|0;y=z+16|0;w=z+24|0;x=z;r=z+32|0;t=z+28|0;s=z+8|0;n=z+36|0;c[m>>2]=f;c[v>>2]=g;c[l>>2]=h;c[k>>2]=j;c[y>>2]=0;c[w>>2]=0;c[r>>2]=0;if(!(c[k>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}if((d[c[k>>2]>>0]|0)!=154){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}c[p>>2]=c[(c[k>>2]|0)+44>>2];if(!(c[p>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}if(!(d[(c[p>>2]|0)+44>>0]&16)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}c[q>>2]=c[(Bp(c[m>>2]|0,c[p>>2]|0)|0)+8>>2];c[o>>2]=c[c[q>>2]>>2];if(!(c[(c[o>>2]|0)+72>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}c[t>>2]=ef(c[m>>2]|0,c[(c[v>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[s>>2]=c[t>>2];while(1){if(!(a[c[s>>2]>>0]|0))break;a[c[s>>2]>>0]=a[13848+(d[c[s>>2]>>0]|0)>>0]|0;c[s>>2]=(c[s>>2]|0)+1}o=c[(c[o>>2]|0)+72>>2]|0;p=c[q>>2]|0;q=c[l>>2]|0;s=c[t>>2]|0;c[n>>2]=y;c[r>>2]=wb[o&15](p,q,s,c[n>>2]|0,w)|0;Nd(c[m>>2]|0,c[t>>2]|0)}if(!(c[r>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}t=c[m>>2]|0;c[x>>2]=gf(t,36+(Ed(c[(c[v>>2]|0)+24>>2]|0)|0)+1|0,0)|0;if(!(c[x>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}else{k=c[x>>2]|0;l=c[v>>2]|0;m=k+36|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[(c[x>>2]|0)+24>>2]=(c[x>>2]|0)+36;s=c[(c[x>>2]|0)+24>>2]|0;t=c[(c[v>>2]|0)+24>>2]|0;EH(s|0,t|0,(Ed(c[(c[v>>2]|0)+24>>2]|0)|0)+1|0)|0;c[(c[x>>2]|0)+12>>2]=c[y>>2];c[(c[x>>2]|0)+4>>2]=c[w>>2];y=(c[x>>2]|0)+2|0;b[y>>1]=e[y>>1]|16;c[u>>2]=c[x>>2];y=c[u>>2]|0;i=z;return y|0}return 0} +function yz(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+4|0;f=n+16|0;g=n+8|0;m=n+20|0;h=n+28|0;k=n;j=n+12|0;l=n+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+328>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+304>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+328>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=vb[c[l>>2]&63](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function zz(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;if(!(c[h>>2]|0)){o=c[n>>2]|0;i=p;return o|0}fe(c[h>>2]|0);c[m>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0)){o=14;break}if((c[k>>2]|0)!=0?(d[(c[m>>2]|0)+72>>0]&1|0)==0:0){if((d[(c[m>>2]|0)+73>>0]|0)==1?(c[n>>2]=Ly(c[m>>2]|0)|0,(c[n>>2]|0)!=0):0)break}else{ot(c[m>>2]|0);a[(c[m>>2]|0)+73>>0]=4;c[(c[m>>2]|0)+68>>2]=c[j>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>(b[(c[m>>2]|0)+76>>1]|0))break;pt(c[(c[m>>2]|0)+120+(c[l>>2]<<2)>>2]|0);c[(c[m>>2]|0)+120+(c[l>>2]<<2)>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+8>>2]}if((o|0)==14){o=c[n>>2]|0;i=p;return o|0}zz(c[h>>2]|0,c[n>>2]|0,0)|0;o=c[n>>2]|0;i=p;return o|0}function Az(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);c[l>>2]=Xj(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=TC(c[k>>2]|0)|0;a=kj((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function Bz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;gh();Hd(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+140+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(SC(c[k>>2]|0)|0)c[j>>2]=1;He(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}km(c[f>>2]|0)|0;hh();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+140+5>>0]|0)==0:0){If(c[f>>2]|0);ue(c[f>>2]|0)}l=(c[f>>2]|0)+504|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+512|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-16777217;if(!(c[(c[f>>2]|0)+200>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+62>>0]|0)!=0:0){i=m;return}nb[c[(c[f>>2]|0)+200>>2]&31](c[(c[f>>2]|0)+196>>2]|0);i=m;return}function Cz(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+488>>2]|0))break;c[e>>2]=c[b+488>>2];c[(c[d>>2]|0)+488>>2]=c[(c[e>>2]|0)+24>>2];Nd(c[d>>2]|0,c[e>>2]|0)}c[b+496>>2]=0;c[(c[d>>2]|0)+500>>2]=0;a[(c[d>>2]|0)+69>>0]=0;i=f;return}function Dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];fe(c[h>>2]|0);c[d>>2]=QC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Ez(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;r=i;i=i+32|0;j=r+4|0;k=r+16|0;m=r+8|0;n=r+20|0;o=r+28|0;q=r;l=r+12|0;p=r+24|0;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=(c[(c[j>>2]|0)+8>>2]|0)+(((c[(c[j>>2]|0)+28>>2]|0)-(c[k>>2]|0)|0)*40|0);c[p>>2]=0;e=88+(c[m>>2]<<3)|0;if(c[o>>2]|0)g=OC()|0;else g=0;c[l>>2]=e+g;if(c[(c[(c[j>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]|0){Jz(c[j>>2]|0,c[(c[(c[j>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]|0);c[(c[(c[j>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]=0}if(vp(c[q>>2]|0,c[l>>2]|0)|0){q=c[p>>2]|0;i=r;return q|0}g=c[(c[q>>2]|0)+16>>2]|0;c[p>>2]=g;c[(c[(c[j>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]=g;g=c[p>>2]|0;e=g+88|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));a[(c[p>>2]|0)+24>>0]=c[n>>2];b[(c[p>>2]|0)+20>>1]=c[m>>2];c[(c[p>>2]|0)+80>>2]=(c[p>>2]|0)+84+(c[m>>2]<<2);if(!(c[o>>2]|0)){q=c[p>>2]|0;i=r;return q|0}c[c[p>>2]>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(88+(c[m>>2]<<3));PC(c[c[p>>2]>>2]|0);q=c[p>>2]|0;i=r;return q|0}function Fz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;fe(c[n>>2]|0);c[g>>2]=MC(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Gz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+74>>0]=c[g>>2];i=e;return}function Hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;fe(c[j>>2]|0);c[e>>2]=LC(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function Iz(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;v=i;i=i+48|0;j=v+4|0;k=v+16|0;l=v+36|0;r=v;m=v+32|0;n=v+40|0;p=v+44|0;o=v+24|0;u=v+20|0;t=v+8|0;s=v+12|0;q=v+28|0;c[j>>2]=f;c[k>>2]=g;c[l>>2]=h;c[s>>2]=0;c[u>>2]=24+((e[(c[(c[l>>2]|0)+8>>2]|0)+6>>1]|0)-1<<2);c[t>>2]=128;h=(c[t>>2]|0)+(c[u>>2]|0)|0;c[p>>2]=gf(c[j>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[l>>2]|0)+56>>2]=c[p>>2];if(!(c[p>>2]|0)){c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}t=(c[p>>2]|0)+(c[t>>2]|0)|0;c[o>>2]=t;c[(c[p>>2]|0)+28>>2]=t;EH(c[o>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[u>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=0;if(c[k>>2]|0)b[(c[o>>2]|0)+6>>1]=c[k>>2];u=ke(c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[r>>2]=u;c[(c[p>>2]|0)+12>>2]=u;a[(c[p>>2]|0)+59>>0]=1;a[(c[p>>2]|0)+57>>0]=(d[(c[p>>2]|0)+59>>0]|0|0)>1;c[(c[p>>2]|0)+24>>2]=c[j>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(d[(c[p>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[p>>2]|0)+64+(c[m>>2]<<6);c[(c[q>>2]|0)+8>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}if(aj(c[j>>2]|0)|0){u=c[s>>2]|0;i=v;return u|0}c[c[p>>2]>>2]=(c[r>>2]|0)*10;u=c[(c[(c[(c[j>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;c[n>>2]=u;c[n>>2]=(c[n>>2]|0)<10?10:u;u=_(c[n>>2]|0,c[r>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=u;if(c[50]|0){u=c[s>>2]|0;i=v;return u|0}c[(c[p>>2]|0)+52>>2]=c[r>>2];u=c[r>>2]|0;u=Wd(u,((u|0)<0)<<31>>31)|0;c[(c[p>>2]|0)+36+4>>2]=u;if(c[(c[p>>2]|0)+36+4>>2]|0){u=c[s>>2]|0;i=v;return u|0}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}function Jz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=j;return}KC(c[c[e>>2]>>2]|0,c[f>>2]|0);d=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0){lt(c[d+4>>2]|0)|0;i=j;return}a=c[f>>2]|0;if(c[d>>2]|0){mt(c[a>>2]|0)|0;i=j;return}if(!(c[a+32>>2]|0)){i=j;return}c[h>>2]=c[(c[f>>2]|0)+32>>2];c[g>>2]=c[c[c[h>>2]>>2]>>2];f=(c[e>>2]|0)+88|0;b[f>>1]=b[f>>1]&-13|4;qb[c[(c[g>>2]|0)+28>>2]&31](c[h>>2]|0)|0;h=(c[e>>2]|0)+88|0;b[h>>1]=b[h>>1]&-13;i=j;return}function Kz(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+73>>0]|0|0)|0}function Lz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+73>>0]|0|0)?((d[(c[g>>2]|0)+72>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=Iw(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){b=c[f>>2]|0;if(!(d[(c[g>>2]|0)+73>>0]|0)){c[b>>2]=1;break}c[b>>2]=0;c[j>>2]=xw(c[g>>2]|0)|0;b=(c[g>>2]|0)+72|0;f=d[b>>0]|0;if(!(c[j>>2]|0)){a[b>>0]=f|8;break}else{a[b>>0]=f&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function Mz(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+80|0;p=I+72|0;q=I+8|0;r=I+16|0;s=I;t=I+28|0;u=I+20|0;v=I+24|0;w=I+12|0;J=I+32|0;F=I+36|0;y=I+44|0;G=I+48|0;x=I+52|0;E=I+56|0;B=I+60|0;D=I+64|0;A=I+68|0;z=I+40|0;H=I+76|0;c[q>>2]=f;c[r>>2]=g;g=s;c[g>>2]=h;c[g+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[B>>2]=c[c[q>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+4>>2];c[z>>2]=0;if((d[(c[q>>2]|0)+73>>0]|0)==4){c[p>>2]=c[(c[q>>2]|0)+68>>2];J=c[p>>2]|0;i=I;return J|0}c[F>>2]=Jy(c[D>>2]|0,c[(c[q>>2]|0)+60>>2]|0,c[q>>2]|0)|0;if(c[F>>2]|0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}if(((c[(c[q>>2]|0)+16>>2]|0)==0?(J=s,CB(c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0),J=s,o=c[J+4>>2]|0,(d[(c[q>>2]|0)+72>>0]&2|0)!=0&((o|0)>0|(o|0)==0&(c[J>>2]|0)>>>0>0)):0)?(J=(c[q>>2]|0)+24|0,g=c[J>>2]|0,J=c[J+4>>2]|0,o=s,o=AH(c[o>>2]|0,c[o+4>>2]|0,1,0)|0,(g|0)==(o|0)&(J|0)==(C|0)):0)c[y>>2]=-1;if((c[y>>2]|0)==0?(J=s,c[F>>2]=Dw(c[q>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}c[E>>2]=c[(c[q>>2]|0)+120+(b[(c[q>>2]|0)+76>>1]<<2)>>2];c[z>>2]=c[(c[D>>2]|0)+80>>2];J=s;c[F>>2]=JC(c[E>>2]|0,c[z>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,G)|0;do if(!(c[F>>2]|0)){c[x>>2]=e[(c[q>>2]|0)+78+(b[(c[q>>2]|0)+76>>1]<<1)>>1];if(!(c[y>>2]|0)){c[F>>2]=ye(c[(c[E>>2]|0)+68>>2]|0)|0;if(c[F>>2]|0)break;c[A>>2]=(c[(c[E>>2]|0)+56>>2]|0)+(e[(c[E>>2]|0)+20>>1]&(d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)>>0]<<8|d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)+1>>0]));if(!(a[(c[E>>2]|0)+5>>0]|0)){J=c[z>>2]|0;o=c[A>>2]|0;a[J>>0]=a[o>>0]|0;a[J+1>>0]=a[o+1>>0]|0;a[J+2>>0]=a[o+2>>0]|0;a[J+3>>0]=a[o+3>>0]|0}c[F>>2]=EB(c[E>>2]|0,c[A>>2]|0,H)|0;wC(c[E>>2]|0,c[x>>2]|0,e[H>>1]|0,F);if(c[F>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[E>>2]|0)+18>>1]|0)>0:0){H=(c[q>>2]|0)+78+(b[(c[q>>2]|0)+76>>1]<<1)|0;J=(b[H>>1]|0)+1<<16>>16;b[H>>1]=J;c[x>>2]=J&65535}xC(c[E>>2]|0,c[x>>2]|0,c[z>>2]|0,c[G>>2]|0,0,0,F);b[(c[q>>2]|0)+24+20>>1]=0;if((c[F>>2]|0)==0?(d[(c[E>>2]|0)+1>>0]|0)!=0:0){J=(c[q>>2]|0)+72|0;a[J>>0]=d[J>>0]&-3;c[F>>2]=yC(c[q>>2]|0)|0;a[(c[(c[q>>2]|0)+120+(b[(c[q>>2]|0)+76>>1]<<2)>>2]|0)+1>>0]=0;a[(c[q>>2]|0)+73>>0]=0}}while(0);c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}function Nz(f){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;w=i;i=i+64|0;s=w+16|0;t=w+36|0;l=w+12|0;m=w+8|0;v=w+32|0;p=w+40|0;n=w+48|0;g=w+52|0;u=w+20|0;r=w+56|0;k=w+28|0;o=w+4|0;j=w+24|0;h=w+44|0;q=w;c[t>>2]=f;c[l>>2]=c[c[t>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];if((e[(c[t>>2]|0)+78+(b[(c[t>>2]|0)+76>>1]<<1)>>1]|0)<(e[(c[(c[t>>2]|0)+120+(b[(c[t>>2]|0)+76>>1]<<2)>>2]|0)+18>>1]|0)?(d[(c[t>>2]|0)+73>>0]|0)==1:0){c[u>>2]=b[(c[t>>2]|0)+76>>1];c[g>>2]=e[(c[t>>2]|0)+78+(c[u>>2]<<1)>>1];c[p>>2]=c[(c[t>>2]|0)+120+(c[u>>2]<<2)>>2];c[n>>2]=(c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+(c[g>>2]<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+(c[g>>2]<<1)+1>>0]));if((a[(c[p>>2]|0)+5>>0]|0)==0?(c[k>>2]=0,c[v>>2]=tw(c[t>>2]|0,k)|0,(c[v>>2]|0)!=0):0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}c[v>>2]=Jy(c[m>>2]|0,c[(c[t>>2]|0)+60>>2]|0,c[t>>2]|0)|0;if(c[v>>2]|0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}if(!(c[(c[t>>2]|0)+16>>2]|0)){f=(c[t>>2]|0)+24|0;CB(c[l>>2]|0,c[f>>2]|0,c[f+4>>2]|0,0)}c[v>>2]=ye(c[(c[p>>2]|0)+68>>2]|0)|0;if(c[v>>2]|0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}c[v>>2]=EB(c[p>>2]|0,c[n>>2]|0,r)|0;wC(c[p>>2]|0,c[g>>2]|0,e[r>>1]|0,v);if(c[v>>2]|0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}if((a[(c[p>>2]|0)+5>>0]|0)==0?(c[o>>2]=c[(c[t>>2]|0)+120+(b[(c[t>>2]|0)+76>>1]<<2)>>2],c[h>>2]=c[(c[(c[t>>2]|0)+120+((c[u>>2]|0)+1<<2)>>2]|0)+72>>2],c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0])),c[j>>2]=(vB(c[o>>2]|0,c[n>>2]|0)|0)&65535,c[q>>2]=c[(c[m>>2]|0)+80>>2],c[v>>2]=ye(c[(c[o>>2]|0)+68>>2]|0)|0,xC(c[p>>2]|0,c[g>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[q>>2]|0,c[h>>2]|0,v),wC(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,v),(c[v>>2]|0)!=0):0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}c[v>>2]=yC(c[t>>2]|0)|0;if((c[v>>2]|0)==0?(b[(c[t>>2]|0)+76>>1]|0)>(c[u>>2]|0):0){while(1){g=c[t>>2]|0;if((b[(c[t>>2]|0)+76>>1]|0)<=(c[u>>2]|0))break;q=g+76|0;r=b[q>>1]|0;b[q>>1]=r+-1<<16>>16;pt(c[(c[t>>2]|0)+120+(r<<16>>16<<2)>>2]|0)}c[v>>2]=yC(g)|0}if(!(c[v>>2]|0))Iw(c[t>>2]|0)|0;c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}c[s>>2]=1;v=c[s>>2]|0;i=w;return v|0}function Oz(a,d,f,g){a=a|0;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;s=i;i=i+48|0;o=s;t=s+8|0;p=s+36|0;h=s+16|0;q=s+32|0;n=s+40|0;r=s+44|0;m=s+24|0;j=s+20|0;l=s+12|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+56>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+8>>2];do if(!(c[r>>2]|0)){t=Ew(c[m>>2]|0,0,0,s+28|0)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+4>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=vC(c[n>>2]|0,k)|0;Fw(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+8>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=Uw(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function Pz(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+56>>2];c[j>>2]=vC(c[l>>2]|0,h)|0;if(vp(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-16896|16;EH(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function Qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[c[f>>2]>>2];Nd(c[g>>2]|0,c[(c[f>>2]|0)+44>>2]|0);b=ef(c[g>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[f>>2]|0)+44>>2]=b;Sb(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=d;return}function Rz(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(sC(c[c[d>>2]>>2]|0)|0){c[b>>2]=tC(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Sz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[k>>2]|0)+56>>2];c[h>>2]=0;a=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=OB(a)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=hC(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}b=c[e>>2]|0;if(c[a+36>>2]|0){c[b>>2]=0;c[h>>2]=RB((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[b>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function Tz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=Iw(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+73>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=hx(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function Uz(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;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+56>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=_B(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))yB(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function Vz(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;p=i;i=i+48|0;f=p;q=p+8|0;g=p+36|0;n=p+16|0;o=p+32|0;m=p+40|0;d=p+44|0;l=p+24|0;e=p+20|0;j=p+12|0;h=p+4|0;k=p+28|0;c[q>>2]=a;c[g>>2]=b;c[n>>2]=c[(c[q>>2]|0)+56>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+12>>2]|0)+8;a=c[(c[g>>2]|0)+12>>2]|0;b=c[(c[g>>2]|0)+12>>2]|0;c[e>>2]=a+(_w(b,((b|0)<0)<<31>>31)|0);if(c[(c[n>>2]|0)+4>>2]|0){a=c[n>>2]|0;if(c[(c[n>>2]|0)+36+4>>2]|0){if(c[a+48>>2]|0)a=((c[(c[n>>2]|0)+48>>2]|0)+(c[l>>2]|0)|0)>(c[(c[n>>2]|0)+4>>2]|0);else a=0;c[d>>2]=a&1}else{if((c[a+36+8>>2]|0)<=(c[(c[n>>2]|0)+4>>2]|0))if((c[(c[n>>2]|0)+36+8>>2]|0)>(c[c[n>>2]>>2]|0))a=(Mm()|0)!=0;else a=0;else a=1;c[d>>2]=a&1}if(c[d>>2]|0){c[o>>2]=OB(c[n>>2]|0)|0;c[(c[n>>2]|0)+36+8>>2]=0;c[(c[n>>2]|0)+48>>2]=0}}q=(c[n>>2]|0)+36+8|0;c[q>>2]=(c[q>>2]|0)+(c[e>>2]|0);if((c[e>>2]|0)>(c[(c[n>>2]|0)+8>>2]|0))c[(c[n>>2]|0)+8>>2]=c[e>>2];do if(c[(c[n>>2]|0)+36+4>>2]|0){c[j>>2]=(c[(c[n>>2]|0)+48>>2]|0)+(c[l>>2]|0);do if((c[j>>2]|0)>(c[(c[n>>2]|0)+52>>2]|0)){c[k>>2]=c[(c[n>>2]|0)+52>>2]<<1;while(1){a=c[k>>2]|0;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=a<<1}if((a|0)>(c[(c[n>>2]|0)+4>>2]|0))c[k>>2]=c[(c[n>>2]|0)+4>>2];if((c[k>>2]|0)<(c[j>>2]|0))c[k>>2]=c[j>>2];q=c[k>>2]|0;c[h>>2]=Yd(c[(c[n>>2]|0)+36+4>>2]|0,q,((q|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[n>>2]|0)+36>>2]=(c[h>>2]|0)+((c[(c[n>>2]|0)+36>>2]|0)-(c[(c[n>>2]|0)+36+4>>2]|0));c[(c[n>>2]|0)+36+4>>2]=c[h>>2];c[(c[n>>2]|0)+52>>2]=c[k>>2];break}c[f>>2]=7;q=c[f>>2]|0;i=p;return q|0}while(0);c[m>>2]=(c[(c[n>>2]|0)+36+4>>2]|0)+(c[(c[n>>2]|0)+48>>2]|0);q=(c[n>>2]|0)+48|0;c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)+7&-8);c[(c[m>>2]|0)+4>>2]=(c[(c[n>>2]|0)+36>>2]|0)-(c[(c[n>>2]|0)+36+4>>2]|0)}else{q=c[l>>2]|0;c[m>>2]=Wd(q,((q|0)<0)<<31>>31)|0;if(c[m>>2]|0){c[(c[m>>2]|0)+4>>2]=c[(c[n>>2]|0)+36>>2];break}c[f>>2]=7;q=c[f>>2]|0;i=p;return q|0}while(0);EH((c[m>>2]|0)+8|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;c[c[m>>2]>>2]=c[(c[g>>2]|0)+12>>2];c[(c[n>>2]|0)+36>>2]=c[m>>2];c[f>>2]=c[o>>2];q=c[f>>2]|0;i=p;return q|0}function Wz(a,b,e){a=a|0;b=b|0;e=e|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;o=i;i=i+128|0;g=o+108|0;r=o+104|0;q=o+96|0;h=o+100|0;p=o+40|0;f=o+116|0;l=o+112|0;m=o+92|0;j=o+88|0;k=o;n=o+48|0;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;Ny(c[q>>2]|0,p)|0;$w(k,c[r>>2]|0,0);c[f>>2]=tz(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else Rw(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else Rw(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=Ww(c[m>>2]|0)|0,(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){Xw((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Oe(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Oe(k);c[g>>2]=Rk(67174)|0;r=c[g>>2]|0;i=o;return r|0}function Xz(a,b,d,e){a=a|0;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,o=0,p=0;o=i;i=i+80|0;f=o+56|0;g=o+64|0;h=o+60|0;j=o+48|0;k=o+72|0;m=o;n=o+52|0;p=o+68|0;l=o+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;b=m;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=c[c[h>>2]>>2];Ny(c[p>>2]|0,m)|0;b=m;a=c[b+4>>2]|0;e=m;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[k>>2]>>2]=0;c[f>>2]=Rk(67206)|0;p=c[f>>2]|0;i=o;return p|0}$w(l,c[g>>2]|0,0);c[n>>2]=tz(c[c[h>>2]>>2]|0,0,c[m>>2]|0,1,l)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=Uw(c[l+12>>2]|0,c[l+16>>2]|0,c[j>>2]|0)|0;c[c[k>>2]>>2]=p;Oe(l);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;fe(c[j>>2]|0);c[e>>2]=NB(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function Zz(a,b,d,e){a=a|0;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,o=0,p=0;n=i;i=i+48|0;p=n+28|0;o=n+16|0;f=n+4|0;g=n+8|0;j=n+32|0;k=n;h=n+12|0;m=n+24|0;l=n+20|0;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+32>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+32>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function _z(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];fe(c[e>>2]|0);c[j>>2]=Jy(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}CB(c[e>>2]|0,0,0,1);c[j>>2]=DB(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function $z(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;wB(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+(c[h>>2]<<6);xB(c[f>>2]|0,c[j>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))yB(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Nd(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function aA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=_z(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+60>>2]|0,0)|0;i=b;return a|0}function bA(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;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=ch((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Ld(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function cA(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,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=ch(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}b=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[b+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)a=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else a=0;b=c[f>>2]|0;if(!a)break;c[f>>2]=c[b+20>>2]}if((b|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[b+20>>2];ry(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function dA(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,l=0,m=0;j=i;i=i+32|0;f=j+8|0;m=j+16|0;k=j+20|0;g=j+24|0;l=j+4|0;e=j;h=j+12|0;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=ch(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=zt(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+64;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Kd(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function eA(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+224|0;t=u+8|0;s=u;r=u+16|0;j=u+20|0;w=u+36|0;k=u+24|0;l=u+28|0;v=u+120|0;m=u+40|0;n=u+44|0;o=u+48|0;q=u+52|0;p=u+32|0;c[w>>2]=b;c[k>>2]=e;c[l>>2]=f;c[v>>2]=g;c[m>>2]=h;c[p>>2]=c[(c[w>>2]|0)+4>>2];fe(c[w>>2]|0);c[o>>2]=nB(c[c[p>>2]>>2]|0)|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[c[p>>2]>>2];c[q+12>>2]=Aw(c[q>>2]|0)|0;c[q+16>>2]=c[v>>2];c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q+32>>2]=0;c[q+36>>2]=0;c[c[m>>2]>>2]=0;if(!(c[q+12>>2]|0)){c[j>>2]=0;w=c[j>>2]|0;i=u;return w|0}c[q+8>>2]=de((((c[q+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[q+8>>2]|0)){c[c[m>>2]>>2]=1;c[j>>2]=0;w=c[j>>2]|0;i=u;return w|0}c[n>>2]=(((c[229]|0)>>>0)/((c[(c[p>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[n>>2]|0)>>>0<=(c[q+12>>2]|0)>>>0)oB(q,c[n>>2]|0);Zd(q+40|0,u+124|0,100,1e9);a[q+40+24>>0]=2;c[q+28>>2]=32951;w=kj((c[(c[(c[p>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;pB(q,1,w,kj((c[(c[(c[p>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[q+28>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[l>>2]|0)?(c[q+16>>2]|0)!=0:0))break;if(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0){if((d[(c[p>>2]|0)+17>>0]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>1:0)qB(q,c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0,1,0);c[q+28>>2]=32967;rB(q,c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0,0,0)|0;c[q+28>>2]=0}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(!((c[n>>2]|0)>>>0<=(c[q+12>>2]|0)>>>0?(c[q+16>>2]|0)!=0:0))break;do if(!(sB(q,c[n>>2]|0)|0)){w=Pw(c[p>>2]|0,c[n>>2]|0)|0;if((w|0)==(c[n>>2]|0)?(a[(c[p>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[n>>2];tB(q,32988,r)}while(0);if(((sB(q,c[n>>2]|0)|0)!=0?(w=Pw(c[p>>2]|0,c[n>>2]|0)|0,(w|0)==(c[n>>2]|0)):0)?(d[(c[p>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[n>>2];tB(q,33010,s)}c[n>>2]=(c[n>>2]|0)+1}w=c[o>>2]|0;if((w|0)!=(nB(c[c[p>>2]>>2]|0)|0)){v=c[o>>2]|0;w=nB(c[c[p>>2]>>2]|0)|0;c[t>>2]=v;c[t+4>>2]=w;tB(q,33044,t)}Sb(c[q+8>>2]|0);if(c[q+24>>2]|0){ks(q+40|0);c[c[m>>2]>>2]=(c[q+20>>2]|0)+1;c[j>>2]=0;w=c[j>>2]|0;i=u;return w|0}c[c[m>>2]>>2]=c[q+20>>2];if(!(c[q+20>>2]|0))ks(q+40|0);c[j>>2]=$d(q+40|0)|0;w=c[j>>2]|0;i=u;return w|0}function fA(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Oe(c[e>>2]|0);d=qf(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+64>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=dm(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=mB(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function gA(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=jB(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){if(((e[(c[g>>2]|0)+26>>1]|0)&1|0)!=0?(h,d=c[h+4>>2]|0,a=c[k>>2]|0,f=c[a+4>>2]|0,(d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)):0){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function hA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((e[(c[f>>2]|0)+26>>1]|0)&2))lB(c[f>>2]|0);if(!(c[(c[f>>2]|0)+8>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}j=c[(c[f>>2]|0)+8>>2]|0;a=c[j+4>>2]|0;b=c[g>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[f>>2]|0)+8>>2]|0))dx(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=h;return j|0}function iA(a,d,f,g){a=a|0;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;s=i;i=i+48|0;o=s+32|0;h=s+20|0;j=s+12|0;p=s;q=s+36|0;r=s+8|0;m=s+16|0;k=s+28|0;l=s+24|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=fB(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}hB(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=iB(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=gB(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=jB(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=gB(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function jA(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+16>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+72|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function kA(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;b=e;c[f>>2]=a;c[b>>2]=c[c[(c[f>>2]|0)+60>>2]>>2];if(d[(c[f>>2]|0)+4>>0]|0){f=1;f=f&1;i=e;return f|0}if((c[c[b>>2]>>2]|0)<2){f=0;f=f&1;i=e;return f|0}f=(c[(c[b>>2]|0)+52>>2]|0)!=0;f=f&1;i=e;return f|0}function lA(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=0;if(!(c[(c[b>>2]|0)+208>>2]|0)){c[e>>2]=0;c[f>>2]=Il(c[b>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=_j(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+212>>2]|0,0,e)|0;if((c[f>>2]|0)==0&(c[e>>2]|0)!=0)c[f>>2]=aB(c[b>>2]|0)|0}if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}if(!(c[(c[b>>2]|0)+208>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=bB(c[b>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=pj(c[(c[b>>2]|0)+208>>2]|0,d[(c[b>>2]|0)+9>>0]|0,c[(c[b>>2]|0)+152>>2]|0,c[(c[b>>2]|0)+200>>2]|0)|0;c[(c[b>>2]|0)+208>>2]=0;Hg(c[b>>2]|0);f=c[f>>2]|0;i=g;return f|0}function mA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+15>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((((c[g>>2]|0)!=(d[h>>0]|0)?(a[(c[f>>2]|0)+5>>0]=c[g>>2],(a[(c[f>>2]|0)+4>>0]|0)==0):0)?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){uj(c[(c[f>>2]|0)+64>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)>=2){Dj(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+172>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+16>>0];if(!(c[k>>2]|0))c[j>>2]=UA(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+16>>0]|0)==1)c[j>>2]=Il(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))Dj(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+172>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Jj(c[f>>2]|0,1)|0;break}if(!(c[k>>2]|0))qj(c[f>>2]|0)}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0}function nA(b,e){b=b|0;e=e|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;x=i;i=i+80|0;k=x+16|0;j=x+44|0;l=x+12|0;s=x+24|0;q=x+20|0;r=x+40|0;h=x+36|0;t=x+28|0;u=x+32|0;v=x+48|0;w=x+52|0;p=x+56|0;f=x+60|0;o=x+64|0;g=x+68|0;n=x+72|0;m=x+76|0;c[j>>2]=b;c[l>>2]=e;c[s>>2]=0;c[h>>2]=0;c[p>>2]=0;if(!(a[(c[l>>2]|0)+62>>0]|0)){Ym(c[j>>2]|0,c[l>>2]|0,31744,x+8|0);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}if((c[(c[l>>2]|0)+148>>2]|0)>1){Ym(c[j>>2]|0,c[l>>2]|0,31784,x);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}c[t>>2]=c[(c[l>>2]|0)+24>>2];c[u>>2]=c[(c[l>>2]|0)+80>>2];c[v>>2]=c[(c[l>>2]|0)+84>>2];c[w>>2]=c[(c[l>>2]|0)+172>>2];b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[l>>2]|0)+172>>2]=0;c[q>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2];c[f>>2]=NA(Id(c[q>>2]|0)|0)|0;c[g>>2]=c[(c[l>>2]|0)+20>>2];if(aj(c[l>>2]|0)|0)c[h>>2]=31827;else c[h>>2]=31859;c[s>>2]=OA(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[(c[l>>2]|0)+20>>2]|0)>(c[g>>2]|0))c[p>>2]=(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[s>>2]|0)==0?(c[r>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4)+4>>2],Ur(c[r>>2]|0)|0,c[o>>2]=PA(c[q>>2]|0)|0,c[s>>2]=OA(c[l>>2]|0,c[j>>2]|0,31883)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=OA(c[l>>2]|0,c[j>>2]|0,31916)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=he(c[q>>2]|0,2)|0,(c[s>>2]|0)==0):0){if((le(Id(c[q>>2]|0)|0)|0)==5)c[(c[l>>2]|0)+72>>2]=0;b=c[r>>2]|0;h=ke(c[q>>2]|0)|0;do if(!(ig(b,h,c[o>>2]|0,0)|0)){if((c[f>>2]|0)==0?(ig(c[r>>2]|0,c[(c[l>>2]|0)+72>>2]|0,c[o>>2]|0,0)|0)!=0:0)break;if(!(d[(c[l>>2]|0)+64>>0]|0)){f=c[r>>2]|0;if((a[(c[l>>2]|0)+66>>0]|0)>=0)e=a[(c[l>>2]|0)+66>>0]|0;else e=Qt(c[q>>2]|0)|0;St(f,e)|0;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,31923)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32071)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32175)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32293)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32489)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32602)|0;if(c[s>>2]|0)break a;c[s>>2]=OA(c[l>>2]|0,c[j>>2]|0,32757)|0;if(c[s>>2]|0)break a;c[m>>2]=0;while(1){f=c[q>>2]|0;if((c[m>>2]|0)>=10)break;ie(f,d[32941+(c[m>>2]|0)>>0]|0,n);c[s>>2]=te(c[r>>2]|0,d[32941+(c[m>>2]|0)>>0]|0,(c[n>>2]|0)+(d[32941+((c[m>>2]|0)+1)>>0]|0)|0)|0;if(c[s>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+2}c[s>>2]=RA(f,c[r>>2]|0)|0;if(c[s>>2]|0)break a;c[s>>2]=Ur(c[r>>2]|0)|0;if(c[s>>2]|0)break a;n=c[q>>2]|0;St(n,Qt(c[r>>2]|0)|0)|0;n=c[q>>2]|0;r=ke(c[r>>2]|0)|0;c[s>>2]=ig(n,r,c[o>>2]|0,1)|0;break a}}while(0);c[s>>2]=7}while(0);c[(c[l>>2]|0)+24>>2]=c[t>>2];c[(c[l>>2]|0)+80>>2]=c[u>>2];c[(c[l>>2]|0)+84>>2]=c[v>>2];c[(c[l>>2]|0)+172>>2]=c[w>>2];ig(c[q>>2]|0,-1,-1,1)|0;a[(c[l>>2]|0)+62>>0]=1;if(c[p>>2]|0){lt(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}ue(c[l>>2]|0);c[k>>2]=c[s>>2];w=c[k>>2]|0;i=x;return w|0}function oA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];fe(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=Aw(c[g>>2]|0)|0;c[e>>2]=kj((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=BA(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Rk(55422)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Jy(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){CA(c[g>>2]|0);c[h>>2]=DA(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=ye(c[(c[(c[g>>2]|0)+12>>2]|0)+68>>2]|0)|0;Dl((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function pA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);fe(c[g>>2]|0);c[l>>2]=Iy(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=AA(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function qA(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;l=i;i=i+32|0;d=l+20|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=a;c[f>>2]=b;c[j>>2]=0;if((c[(c[e>>2]|0)+304>>2]|0)>0?(c[(c[e>>2]|0)+328>>2]|0)==0:0){c[d>>2]=6;k=c[d>>2]|0;i=l;return k|0}if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[h>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+304>>2]|0))break;if((c[(c[(c[e>>2]|0)+328>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){k=10;break}c[g>>2]=(c[g>>2]|0)+1}if((k|0)==10){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[j>>2]=yA(c[e>>2]|0)|0;if((c[j>>2]|0)==0?(c[j>>2]=qb[c[(c[h>>2]|0)+56>>2]&31](c[(c[f>>2]|0)+8>>2]|0)|0,(c[j>>2]|0)==0):0)zA(c[e>>2]|0,c[f>>2]|0)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function rA(a,b,d,e){a=a|0;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,o=0,p=0;n=i;i=i+48|0;l=n;f=n+24|0;o=n+20|0;p=n+8|0;g=n+16|0;k=n+4|0;j=n+12|0;h=n+28|0;m=n+32|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=cp(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+56>>2]>>2];c[h>>2]=Zg((c[f>>2]|0)+308|0,c[m>>2]|0)|0;a=c[f>>2]|0;if(c[h>>2]|0)c[k>>2]=lr(a,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{c[l>>2]=c[m>>2];p=tf(a,22142,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Bp(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=yA(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;zA(p,Bp(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function sA(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,l=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[k>>2]=b;c[l>>2]=d;c[h>>2]=0;c[g>>2]=cp(c[e>>2]|0,c[l>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2]|0)|0;if(!(c[g>>2]|0)){l=c[h>>2]|0;i=j;return l|0}if(!(c[(c[g>>2]|0)+60>>2]|0)){l=c[h>>2]|0;i=j;return l|0}c[f>>2]=xA(c[e>>2]|0,c[g>>2]|0)|0;c[h>>2]=qb[c[(c[c[(c[f>>2]|0)+4>>2]>>2]|0)+20>>2]&31](c[(c[f>>2]|0)+8>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}c[(c[f>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+60>>2]=0;om(c[f>>2]|0);l=c[h>>2]|0;i=j;return l|0}function tA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;fe(c[g>>2]|0);c[d>>2]=wA(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function uA(b,f){b=b|0;f=f|0;var g=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;C=i;i=i+272|0;y=C+32|0;A=C+24|0;z=C+16|0;x=C+8|0;w=C;j=C+92|0;k=C+88|0;l=C+96|0;o=C+132|0;t=C+84|0;p=C+136|0;s=C+140|0;n=C+80|0;u=C+128|0;B=C+100|0;g=C+144|0;q=C+148|0;m=C+256|0;v=C+40|0;r=C+152|0;c[j>>2]=b;c[k>>2]=f;c[o>>2]=0;c[t>>2]=1;c[l>>2]=c[c[j>>2]>>2];Zd(B,C+156|0,100,c[(c[l>>2]|0)+88>>2]|0);c[B>>2]=c[l>>2];if((c[(c[l>>2]|0)+160>>2]|0)>1){while(1){if(!(a[c[k>>2]>>0]|0))break;c[g>>2]=c[k>>2];do{A=c[k>>2]|0;c[k>>2]=A+1;if((a[A>>0]|0)==10)break}while((a[c[k>>2]>>0]|0)!=0);es(B,31710,3);es(B,c[g>>2]|0,(c[k>>2]|0)-(c[g>>2]|0)|0)}B=$d(B)|0;i=C;return B|0}while(1){if(!(a[c[k>>2]>>0]|0)){f=31;break}c[p>>2]=vA(c[k>>2]|0,s)|0;es(B,c[k>>2]|0,c[p>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[p>>2]|0);if(!(c[s>>2]|0)){f=31;break}do if((a[c[k>>2]>>0]|0)==63)if((c[s>>2]|0)>1){wg((c[k>>2]|0)+1|0,o)|0;break}else{c[o>>2]=c[t>>2];break}else c[o>>2]=nf(c[j>>2]|0,c[k>>2]|0,c[s>>2]|0)|0;while(0);c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0);c[t>>2]=(c[o>>2]|0)+1;c[u>>2]=(c[(c[j>>2]|0)+60>>2]|0)+(((c[o>>2]|0)-1|0)*40|0);if(e[(c[u>>2]|0)+8>>1]&1){es(B,30955,4);continue}f=c[u>>2]|0;if(e[(c[u>>2]|0)+8>>1]&4){b=c[f+4>>2]|0;g=w;c[g>>2]=c[f>>2];c[g+4>>2]=b;jv(B,0,17289,w);continue}b=c[u>>2]|0;if(e[f+8>>1]&8){h[x>>3]=+h[b>>3];jv(B,0,19997,x);continue}if(e[b+8>>1]&2){a[m>>0]=a[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;if((d[m>>0]|0)!=1){b=v;f=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));c[v+32>>2]=c[l>>2];Xe(v,c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+12>>2]|0,a[m>>0]|0,0)|0;am(v,1)|0;c[u>>2]=v}c[q>>2]=c[(c[u>>2]|0)+12>>2];g=c[(c[u>>2]|0)+16>>2]|0;c[z>>2]=c[q>>2];c[z+4>>2]=g;jv(B,0,31714,z);if((d[m>>0]|0)==1)continue;Oe(v);continue}if(e[(c[u>>2]|0)+8>>1]&16384){c[A>>2]=c[c[u>>2]>>2];jv(B,0,31721,A);continue}es(B,31734,2);c[r>>2]=c[(c[u>>2]|0)+12>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[r>>2]|0))break;c[y>>2]=a[(c[(c[u>>2]|0)+16>>2]|0)+(c[n>>2]|0)>>0]&255;jv(B,0,31737,y);c[n>>2]=(c[n>>2]|0)+1}es(B,31742,1)}if((f|0)==31){B=$d(B)|0;i=C;return B|0}return 0}function vA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=Vm(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function wA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+156>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+156>>2]|0}function xA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+60>>2];c[(c[e>>2]|0)+60>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+60>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+332>>2];c[(c[f>>2]|0)+332>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function yA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+304>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+304>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=hm(c[d>>2]|0,c[(c[d>>2]|0)+328>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+304>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+328>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function zA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+304|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+328>>2]|0)+(b<<2)>>2]=a;Sy(c[e>>2]|0);i=d;return}function AA(b,e,f){b=b|0;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;p=i;i=i+32|0;g=p+8|0;h=p+16|0;j=p+20|0;k=p+24|0;l=p+4|0;n=p;m=p+12|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=de(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function BA(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,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(Pw(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=Pw(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))d=1;else d=(c[f>>2]|0)==((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=c[f>>2]|0;if(!d)break;c[f>>2]=b+-1}i=g;return b|0}function CA(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+72|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function DA(b,e,f,g){b=b|0;e=e|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;z=i;i=i+64|0;h=z+20|0;j=z+36|0;k=z;l=z+8|0;m=z+32|0;t=z+40|0;x=z+48|0;o=z+56|0;s=z+52|0;p=z+12|0;u=z+4|0;q=z+28|0;w=z+16|0;n=z+57|0;r=z+44|0;v=z+24|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=Pw(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=kj((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=Qw(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Rk(55307)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=EA(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){pt(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=Bw(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=EA(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}pt(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){pt(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=FA(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;pt(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[229]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=Pw(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function EA(b,e,f,g,h){b=b|0;e=e|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,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;K=i;i=i+112|0;H=K+36|0;n=K;I=K+56|0;o=K+28|0;p=K+76|0;q=K+96|0;D=K+12|0;J=K+48|0;l=K+64|0;z=K+72|0;G=K+80|0;F=K+88|0;A=K+32|0;y=K+92|0;E=K+97|0;k=K+98|0;C=K+52|0;w=K+60|0;s=K+16|0;x=K+4|0;r=K+20|0;v=K+68|0;u=K+24|0;t=K+84|0;B=K+44|0;j=K+40|0;m=K+8|0;c[n>>2]=b;c[I>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[G>>2]=0;c[F>>2]=0;c[D>>2]=c[(c[n>>2]|0)+12>>2];c[A>>2]=Aw(c[n>>2]|0)|0;c[l>>2]=kj((c[(c[D>>2]|0)+56>>2]|0)+36|0)|0;if((c[l>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Rk(57337)|0;J=c[H>>2]|0;i=K;return J|0}a:do if((c[l>>2]|0)>>>0>0){a[E>>0]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[J>>2]=Qw(c[n>>2]|0,c[p>>2]|0,k,0)|0;if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}else{if((d[k>>0]|0)!=2)break;a[E>>0]=1;break}}}else if((d[q>>0]|0)==2)a[E>>0]=1;while(0);c[J>>2]=ye(c[(c[D>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}Dl((c[(c[D>>2]|0)+56>>2]|0)+36|0,(c[l>>2]|0)-1|0);b:while(1){c[F>>2]=c[G>>2];if(c[F>>2]|0)c[y>>2]=kj(c[(c[F>>2]|0)+56>>2]|0)|0;else c[y>>2]=kj((c[(c[D>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0>(c[A>>2]|0)>>>0)c[J>>2]=Rk(57386)|0;else c[J>>2]=Bw(c[n>>2]|0,c[y>>2]|0,G,0)|0;if(c[J>>2]|0){h=22;break}c[z>>2]=kj((c[(c[G>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[E>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[n>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){h=27;break b}do if(d[E>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[I>>2]>>2]=c[G>>2];a[E>>0]=0;c[J>>2]=ye(c[(c[G>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[F>>2]|0)){e=(c[(c[D>>2]|0)+56>>2]|0)+32|0;f=c[(c[G>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[J>>2]=ye(c[(c[F>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;e=c[(c[F>>2]|0)+56>>2]|0;f=c[(c[G>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=kj((c[(c[G>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){h=39;break b}c[J>>2]=Bw(c[n>>2]|0,c[w>>2]|0,C,0)|0;if(c[J>>2]|0)break a;c[J>>2]=ye(c[(c[C>>2]|0)+68>>2]|0)|0;j=c[C>>2]|0;if(c[J>>2]|0){h=42;break b}e=c[j+56>>2]|0;f=c[(c[G>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;Dl((c[(c[C>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);EH((c[(c[C>>2]|0)+56>>2]|0)+8|0,(c[(c[G>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;pt(c[C>>2]|0);if(!(c[F>>2]|0)){Dl((c[(c[D>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[J>>2]=ye(c[(c[F>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;Dl(c[(c[F>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[G>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[G>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=kj((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;h=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=h+1}c[s>>2]=h;break}else{e=kj((c[r>>2]|0)+8|0)|0;c[u>>2]=Rr(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=kj((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Rr(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=kj((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){h=62;break b}if((a[E>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[J>>2]=ye(c[(c[G>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}Dl((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(MA(c[n>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[B>>2]=e?1:0;c[J>>2]=Bw(c[n>>2]|0,c[c[o>>2]>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;do if(!(c[J>>2]|0)){c[J>>2]=ye(c[(c[c[I>>2]>>2]|0)+68>>2]|0)|0;if(!(c[J>>2]|0))break;pt(c[c[I>>2]>>2]|0)}while(0);a[E>>0]=0}}else{c[J>>2]=ye(c[(c[G>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[D>>2]|0)+56>>2]|0)+32|0;f=c[(c[G>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[I>>2]>>2]=c[G>>2];c[G>>2]=0}while(0);pt(c[F>>2]|0);c[F>>2]=0;if(!(a[E>>0]|0))break a}if((h|0)==22){c[G>>2]=0;break}else if((h|0)==27){c[J>>2]=Rk(57414)|0;break}else if((h|0)==39){c[J>>2]=Rk(57448)|0;break}else if((h|0)==42){pt(j);break}else if((h|0)==62){c[J>>2]=Rk(57513)|0;break}}else{c[j>>2]=0==(d[(c[n>>2]|0)+19>>0]|0)?1:0;c[J>>2]=ye(c[(c[(c[n>>2]|0)+12>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}E=(c[n>>2]|0)+44|0;c[E>>2]=(c[E>>2]|0)+1;if((c[(c[n>>2]|0)+44>>2]|0)==((((c[229]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){E=(c[n>>2]|0)+44|0;c[E>>2]=(c[E>>2]|0)+1}do if((d[(c[n>>2]|0)+17>>0]|0)!=0?(E=Pw(c[n>>2]|0,c[(c[n>>2]|0)+44>>2]|0)|0,(E|0)==(c[(c[n>>2]|0)+44>>2]|0)):0){c[m>>2]=0;c[J>>2]=Bw(c[n>>2]|0,c[(c[n>>2]|0)+44>>2]|0,m,c[j>>2]|0)|0;if(!(c[J>>2]|0)){c[J>>2]=ye(c[(c[m>>2]|0)+68>>2]|0)|0;pt(c[m>>2]|0)}if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}else{E=(c[n>>2]|0)+44|0;c[E>>2]=(c[E>>2]|0)+1;if((c[(c[n>>2]|0)+44>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;E=(c[n>>2]|0)+44|0;c[E>>2]=(c[E>>2]|0)+1;break}}while(0);Dl((c[(c[(c[n>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[n>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[n>>2]|0)+44>>2];c[J>>2]=Bw(c[n>>2]|0,c[c[o>>2]>>2]|0,c[I>>2]|0,c[j>>2]|0)|0;if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}else{c[J>>2]=ye(c[(c[c[I>>2]>>2]|0)+68>>2]|0)|0;if(!(c[J>>2]|0))break;pt(c[c[I>>2]>>2]|0);break}}while(0);pt(c[G>>2]|0);pt(c[F>>2]|0);h=c[I>>2]|0;do if(!(c[J>>2]|0)){G=(Tl(c[(c[h>>2]|0)+68>>2]|0)|0)>1;h=c[c[I>>2]>>2]|0;if(!G){a[h>>0]=0;break}pt(h);c[c[I>>2]>>2]=0;c[H>>2]=Rk(57612)|0;J=c[H>>2]|0;i=K;return J|0}else c[h>>2]=0;while(0);c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}function FA(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+12|0;o=v+16|0;k=v+28|0;p=v+44|0;q=v+32|0;r=v+36|0;w=v+40|0;t=v+24|0;s=v+20|0;x=v+8|0;u=v;l=v+4|0;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+72>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=GA(c[x>>2]|0,c[(c[k>>2]|0)+68>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+72>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=kj(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(IA(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=HA(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=Bw(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=ye(c[(c[t>>2]|0)+68>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){pt(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=JA(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;pt(c[t>>2]|0);if(c[u>>2]|0)break;IA(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function GA(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,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t;l=t+16|0;m=t+28|0;n=t+4|0;j=t+32|0;r=t+36|0;o=t+12|0;s=t+24|0;p=t+20|0;q=t+8|0;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[j>>2]=h;c[o>>2]=0;if((a[(c[l>>2]|0)+15>>0]|0)!=0?(c[s>>2]=ye(c[m>>2]|0)|0,(c[s>>2]|0)!=0):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if(((e[(c[m>>2]|0)+24>>1]&2|0)!=0?(wl(c[m>>2]|0)|0)!=0:0)?(g=xl(c[m>>2]|0)|0,c[s>>2]=g,0!=(g|0)):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if(!((c[j>>2]|0)!=0?1:(e[(c[m>>2]|0)+24>>1]&4|0)==0))c[o>>2]=c[(c[m>>2]|0)+20>>2];g=(c[m>>2]|0)+24|0;b[g>>1]=e[g>>1]&-5;c[r>>2]=kk(c[l>>2]|0,c[n>>2]|0)|0;do if(c[r>>2]|0){j=(c[m>>2]|0)+24|0;b[j>>1]=e[j>>1]|e[(c[r>>2]|0)+24>>1]&4;j=c[r>>2]|0;if(a[(c[l>>2]|0)+15>>0]|0){LA(j,(c[(c[l>>2]|0)+24>>2]|0)+1|0);break}else{Ik(j);break}}while(0);c[p>>2]=c[(c[m>>2]|0)+20>>2];LA(c[m>>2]|0,c[n>>2]|0);mk(c[m>>2]|0);if(a[(c[l>>2]|0)+15>>0]|0){LA(c[r>>2]|0,c[p>>2]|0);Lk(c[r>>2]|0)}do if(c[o>>2]|0){c[s>>2]=ne(c[l>>2]|0,c[o>>2]|0,q,0)|0;if(!(c[s>>2]|0)){s=(c[q>>2]|0)+24|0;b[s>>1]=e[s>>1]|4;mk(c[q>>2]|0);Lk(c[q>>2]|0);break}if((c[o>>2]|0)>>>0<=(c[(c[l>>2]|0)+28>>2]|0)>>>0)Tg(c[(c[l>>2]|0)+56>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+200>>2]|0);c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}while(0);c[k>>2]=0;s=c[k>>2]|0;i=t;return s|0}function HA(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+16|0;l=q+8|0;p=q+20|0;m=q+28|0;k=q+36|0;o=q+12|0;n=q+24|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+72>>2];c[p>>2]=Ul(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));KA(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+5>>0]|0)){c[g>>2]=kj(c[n>>2]|0)|0;IA(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+5>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=kj((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+6>>0]|0)+8)|0)|0;IA(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function IA(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t;k=t+16|0;l=t+36|0;m=t+20|0;n=t+28|0;q=t+32|0;r=t+12|0;o=t+24|0;p=t+4|0;s=t+8|0;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Rk(53057)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=Pw(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=ne(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=oe(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=kj((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=ye(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;Dl((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Rk(53068)|0;c[c[n>>2]>>2]=s}while(0);qe(c[q>>2]|0);i=t;return}function JA(b,f,g,h){b=b|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,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;j=u+48|0;k=u+36|0;l=u+40|0;m=u+44|0;n=u+52|0;q=u+53|0;o=u+32|0;r=u+28|0;s=u+24|0;p=u;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){t=kj(c[h+56>>2]|0)|0;if((t|0)==(c[l>>2]|0)){Dl(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Rk(55139)|0;t=c[j>>2]|0;i=u;return t|0}else{a[q>>0]=a[h>>0]|0;Ul(c[k>>2]|0)|0;c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Kw(c[k>>2]|0,c[s>>2]|0,p);if(((e[p+18>>1]|0|0)!=0?((c[s>>2]|0)+(e[p+18>>1]|0)+3|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(b=c[l>>2]|0,(b|0)==(kj((c[s>>2]|0)+(e[p+18>>1]|0)|0)|0)):0){t=11;break}}else{b=kj(c[s>>2]|0)|0;if((b|0)==(c[l>>2]|0)){t=13;break}}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==11)Dl((c[s>>2]|0)+(e[p+18>>1]|0)|0,c[m>>2]|0);else if((t|0)==13)Dl(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(t=kj((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+6>>0]|0)+8)|0)|0,(t|0)==(c[l>>2]|0)):0){Dl((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+6>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Rk(55173)|0;t=c[j>>2]|0;i=u;return t|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}function KA(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;g=m+36|0;h=m+32|0;j=m+28|0;k=m;l=m+24|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;if(c[c[j>>2]>>2]|0){i=m;return}Kw(c[g>>2]|0,c[h>>2]|0,k);if(!(b[k+18>>1]|0)){i=m;return}c[l>>2]=kj((c[h>>2]|0)+(e[k+18>>1]|0)|0)|0;IA(c[(c[g>>2]|0)+52>>2]|0,c[l>>2]|0,3,c[(c[g>>2]|0)+72>>2]|0,c[j>>2]|0);i=m;return}function LA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];xb[c[148>>2]&3](c[(c[h>>2]|0)+40>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&4)){i=f;return}Og(c[d>>2]|0,3);i=f;return}function MA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(Vg(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(Ug(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function NA(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+15>>0]|0|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;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){c[e>>2]=7;d=c[e>>2]|0;i=k;return d|0}if(ad(c[f>>2]|0,c[h>>2]|0,-1,j,0)|0){b=c[g>>2]|0;d=c[f>>2]|0;Ym(b,d,$c(c[f>>2]|0)|0,k);c[e>>2]=yd(c[f>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{Cc(c[j>>2]|0)|0;c[e>>2]=TA(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}return 0}function PA(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;fe(c[e>>2]|0);c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function QA(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,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=ad(c[f>>2]|0,c[l>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}while(1){l=100==(Cc(c[h>>2]|0)|0);b=c[f>>2]|0;if(!l){a=6;break}l=c[g>>2]|0;c[j>>2]=OA(b,l,Nc(c[h>>2]|0,0)|0)|0;if(c[j>>2]|0){a=5;break}}if((a|0)==5){TA(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}else if((a|0)==6){c[e>>2]=TA(b,c[h>>2]|0,c[g>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}return 0}function RA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;f=m+56|0;k=m+8|0;g=m;c[h>>2]=a;c[j>>2]=d;fe(c[h>>2]|0);fe(c[j>>2]|0);c[f>>2]=we(Id(c[h>>2]|0)|0)|0;if((c[c[f>>2]>>2]|0)!=0?(d=ke(c[j>>2]|0)|0,d=MH(d|0,((d|0)<0)<<31>>31|0,me(c[j>>2]|0)|0,0)|0,a=g,c[a>>2]=d,c[a+4>>2]=C,a=gg(c[f>>2]|0,11,g)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;bc(k,2147483647)|0;c[l>>2]=cc(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{SA(Id(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function SA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(a[(c[e>>2]|0)+15>>0]|0){i=f;return}if(d[(c[e>>2]|0)+12>>0]|0){i=f;return}Eg(c[e>>2]|0);i=f;return}function TA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Ke(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}d=c[f>>2]|0;j=c[e>>2]|0;Ym(d,j,$c(c[e>>2]|0)|0,h);j=c[g>>2]|0;i=h;return j|0}function UA(b){b=b|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;q=i;i=i+64|0;o=q+32|0;m=q+16|0;p=q+4|0;e=q+8|0;j=q+28|0;f=q;h=q+12|0;g=q+24|0;k=q+20|0;n=q+40|0;c[m>>2]=b;c[p>>2]=0;if((d[(c[m>>2]|0)+15>>0]|0)!=0?(c[(c[m>>2]|0)+40>>2]|0)!=0:0){c[o>>2]=c[(c[m>>2]|0)+40>>2];p=c[o>>2]|0;i=q;return p|0}a:do if((Fj(c[m>>2]|0)|0)==0?(d[(c[m>>2]|0)+16>>0]|0)==0:0){c[e>>2]=1;c[p>>2]=Hl(c[m>>2]|0,1)|0;if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<=1)c[p>>2]=VA(c[m>>2]|0,e)|0;if(!(c[p>>2]|0)){if(c[e>>2]|0){if(a[(c[m>>2]|0)+14>>0]|0){c[p>>2]=776;break}c[p>>2]=Il(c[m>>2]|0,4)|0;if(c[p>>2]|0)break;if((((c[c[(c[m>>2]|0)+64>>2]>>2]|0)==0?(c[j>>2]=c[c[m>>2]>>2],c[p>>2]=_j(c[j>>2]|0,c[(c[m>>2]|0)+172>>2]|0,0,f)|0,(c[p>>2]|0)==0&(c[f>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[p>>2]=gk(c[j>>2]|0,c[(c[m>>2]|0)+172>>2]|0,c[(c[m>>2]|0)+64>>2]|0,c[g>>2]|0,h)|0,(c[p>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[p>>2]=ll(45936)|0;uj(c[(c[m>>2]|0)+64>>2]|0)|0}f=c[m>>2]|0;if(c[c[(c[m>>2]|0)+64>>2]>>2]|0){c[p>>2]=rj(f)|0;if(!(c[p>>2]|0)){c[p>>2]=Yj(c[m>>2]|0,1)|0;a[(c[m>>2]|0)+16>>0]=0}}else if(!(a[f+4>>0]|0))Jj(c[m>>2]|0,1)|0;if(c[p>>2]|0){sj(c[m>>2]|0,c[p>>2]|0)|0;break}}do if(!(a[(c[m>>2]|0)+12>>0]|0)){if((c[(c[m>>2]|0)+88>>2]|0)==0?(WA(c[(c[m>>2]|0)+204>>2]|0)|0)<=0:0)break;c[k>>2]=0;c[p>>2]=XA(c[m>>2]|0,k)|0;if(c[p>>2]|0)break a;if((c[k>>2]|0)>>>0>0){c[p>>2]=hk(c[(c[m>>2]|0)+60>>2]|0,n,16,24,0)|0;if((c[p>>2]|0)!=0&(c[p>>2]|0)!=522)break a}else{e=n;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if($G((c[m>>2]|0)+100|0,n,16)|0)Eg(c[m>>2]|0)}while(0);c[p>>2]=YA(c[m>>2]|0)|0;l=36}}}else l=36;while(0);if((l|0)==36){if(Fj(c[m>>2]|0)|0)c[p>>2]=ZA(c[m>>2]|0)|0;if((c[p>>2]|0)==0?(d[(c[m>>2]|0)+16>>0]|0)==0:0)c[p>>2]=XA(c[m>>2]|0,(c[m>>2]|0)+24|0)|0}e=c[m>>2]|0;if(c[p>>2]|0)qj(e);else a[e+16>>0]=1;c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}function VA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+16|0;o=q+4|0;p=q+8|0;h=q+28|0;l=q;m=q+12|0;n=q+24|0;j=q+20|0;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+64>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=_j(c[o>>2]|0,c[(c[f>>2]|0)+172>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=eB(c[(c[f>>2]|0)+60>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=XA(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){gh();if((Il(c[f>>2]|0,2)|0)==0?(Dj(c[o>>2]|0,c[(c[f>>2]|0)+172>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Jj(c[f>>2]|0,1)|0;hh();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=gk(c[o>>2]|0,c[(c[f>>2]|0)+172>>2]|0,c[(c[f>>2]|0)+64>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=hk(c[(c[f>>2]|0)+64>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))uj(c[(c[f>>2]|0)+64>>2]|0)|0;c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function WA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qb[c[136>>2]&31](c[(c[d>>2]|0)+40>>2]|0)|0;i=b;return a|0}function XA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=dB(c[(c[e>>2]|0)+208>>2]|0)|0;if(!(c[h>>2]|0)){b=g;c[b>>2]=0;c[b+4>>2]=0;if((c[c[(c[e>>2]|0)+60>>2]>>2]|0)!=0?(c[j>>2]=Cg(c[(c[e>>2]|0)+60>>2]|0,g)|0,(c[j>>2]|0)!=0):0){c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}j=g;b=c[(c[e>>2]|0)+152>>2]|0;b=DH(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=AH(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+152>>2]|0;j=KH(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j}if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+156>>2]|0)>>>0)c[(c[e>>2]|0)+156>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function YA(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+12>>0]|0)){c[k>>2]=XA(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+212>>2]|0;if(!(c[f>>2]|0)){f=Dj(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=_j(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=$A(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function ZA(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Tk(c[(c[b>>2]|0)+208>>2]|0);c[d>>2]=_A(c[(c[b>>2]|0)+208>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Eg(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function _A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Ol(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function $A(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+12>>0]|0)==0?(c[(c[f>>2]|0)+208>>2]|0)==0:0)if(kA(c[f>>2]|0)|0){uj(c[(c[f>>2]|0)+64>>2]|0)|0;c[h>>2]=aB(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+16>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function aB(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=bB(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;Hg(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+160|0;c[f>>2]=cB(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+60>>2]|0,c[(c[e>>2]|0)+212>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+208|0)|0;b=c[e>>2]|0;Hg(b);f=c[f>>2]|0;i=g;return f|0}function bB(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Il(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Jj(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function cB(d,e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+8|0;m=w+20|0;n=w+12|0;o=w+32|0;p=w+36|0;q=w;r=w+16|0;v=w+28|0;u=w+24|0;s=w+40|0;t=w+44|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=de(112+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+112;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+100>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=gk(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Yk(c[u>>2]|0,0);uj(c[(c[u>>2]|0)+8>>2]|0)|0;Sb(c[u>>2]|0)}else{c[t>>2]=dk(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function dB(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function eB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=vb[c[(c[c[f>>2]>>2]|0)+36>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function fB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;BH(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=iB(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=0;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>>>0>=40)break;c[d>>2]=iB(a,c[e+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=g;return a|0}function gB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=kB(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function hB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){hB(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){hB(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function iB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}j=c[e>>2]|0;a=c[j+4>>2]|0;k=c[d>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(a){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else{c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function jB(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=qf(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function kB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;if((c[g>>2]|0)==1){c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}c[d>>2]=kB(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(!(c[h>>2]|0)){c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=kB(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function lB(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+26>>1]|0)&1)){a=fB(c[(c[d>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=a}a=(c[d>>2]|0)+26|0;b[a>>1]=e[a>>1]|0|2;i=f;return}function mB(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function nB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Bg(c[(c[d>>2]|0)+204>>2]|0)|0;i=b;return a|0}function oB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function pB(b,e,f,g){b=b|0;e=e|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;w=i;i=i+80|0;o=w+24|0;v=w;u=w+8|0;p=w+36|0;h=w+44|0;q=w+28|0;r=w+32|0;j=w+40|0;s=w+48|0;t=w+52|0;n=w+56|0;m=w+60|0;l=w+64|0;k=w+68|0;c[p>>2]=b;c[h>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=c[r>>2];c[t>>2]=c[q>>2];while(1){b=c[r>>2]|0;c[r>>2]=b+-1;if((b|0)<=0){f=23;break}if(!(c[(c[p>>2]|0)+16>>2]|0)){f=23;break}g=c[p>>2]|0;if((c[q>>2]|0)<1){f=5;break}if(uB(g,c[q>>2]|0)|0){f=23;break}if(ne(c[(c[p>>2]|0)+4>>2]|0,c[q>>2]|0,n,0)|0){f=8;break}c[m>>2]=oe(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[r>>2]|0)>0?(d[(c[c[p>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=kj(c[m>>2]|0)|0;qB(c[p>>2]|0,c[j>>2]|0,4,c[q>>2]|0)}}else{c[l>>2]=kj((c[m>>2]|0)+4|0)|0;if(a[(c[c[p>>2]>>2]|0)+17>>0]|0)qB(c[p>>2]|0,c[q>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[p>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[p>>2]|0;c[o>>2]=c[q>>2];tB(b,33899,o);c[r>>2]=(c[r>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=kj((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[p>>2]>>2]|0)+17>>0]|0)qB(c[p>>2]|0,c[k>>2]|0,2,0);uB(c[p>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[r>>2]=(c[r>>2]|0)-(c[l>>2]|0)}while(0);c[q>>2]=kj(c[m>>2]|0)|0;qe(c[n>>2]|0)}if((f|0)==5){s=c[s>>2]|0;v=c[t>>2]|0;c[u>>2]=(c[r>>2]|0)+1;c[u+4>>2]=s;c[u+8>>2]=v;tB(g,33820,u);i=w;return}else if((f|0)==8){u=c[p>>2]|0;c[v>>2]=c[q>>2];tB(u,33877,v);i=w;return}else if((f|0)==23){i=w;return}}function qB(b,e,f,g){b=b|0;e=e|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;r=i;i=i+64|0;q=r;p=r+24|0;h=r+36|0;j=r+32|0;k=r+48|0;l=r+28|0;o=r+40|0;m=r+49|0;n=r+44|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=Qw(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];tB(q,33737,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;tB(p,33766,q);i=r;return}function rB(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,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;da=i;i=i+304|0;ba=da+128|0;aa=da+64|0;$=da+8|0;_=da+32|0;Z=da+152|0;Y=da+16|0;X=da+112|0;v=da+168|0;u=da+48|0;m=da+72|0;l=da;w=da+176|0;x=da+220|0;y=da+216|0;z=da+272|0;A=da+264|0;P=da+204|0;I=da+208|0;k=da+260|0;F=da+180|0;n=da+184|0;r=da+248|0;C=da+188|0;G=da+192|0;B=da+196|0;L=da+200|0;E=da+268|0;O=da+276|0;W=da+212|0;H=da+244|0;N=da+144|0;M=da+80|0;T=da+224|0;R=da+228|0;S=da+232|0;q=da+236|0;t=da+240|0;o=da+88|0;p=da+288|0;s=da+292|0;D=da+296|0;Q=da+280|0;U=da+284|0;J=da+172|0;V=da+256|0;K=da+252|0;c[x>>2]=f;c[y>>2]=g;c[z>>2]=h;c[A>>2]=j;c[H>>2]=0;h=N;c[h>>2]=0;c[h+4>>2]=0;h=M;c[h>>2]=0;c[h+4>>2]=0;c[T>>2]=c[(c[x>>2]|0)+28>>2];c[R>>2]=c[(c[x>>2]|0)+32>>2];c[S>>2]=c[(c[x>>2]|0)+36>>2];c[O>>2]=c[c[x>>2]>>2];c[W>>2]=c[(c[O>>2]|0)+36>>2];if(!(c[y>>2]|0)){c[w>>2]=0;ca=c[w>>2]|0;i=da;return ca|0}if(uB(c[x>>2]|0,c[y>>2]|0)|0){c[w>>2]=0;ca=c[w>>2]|0;i=da;return ca|0}c[(c[x>>2]|0)+28>>2]=33109;c[(c[x>>2]|0)+32>>2]=c[y>>2];h=Bw(c[O>>2]|0,c[y>>2]|0,P,0)|0;c[k>>2]=h;do if(h){ca=c[x>>2]|0;c[l>>2]=c[k>>2];tB(ca,33119,l);c[F>>2]=-1}else{a[c[P>>2]>>0]=0;l=Ul(c[P>>2]|0)|0;c[k>>2]=l;if(l){ca=c[x>>2]|0;c[m>>2]=c[k>>2];tB(ca,33157,m);pt(c[P>>2]|0);c[F>>2]=-1;break}c[F>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(e[(c[P>>2]|0)+18>>1]|0))break;if(!(c[(c[x>>2]|0)+16>>2]|0))break;c[(c[x>>2]|0)+28>>2]=33195;c[(c[x>>2]|0)+32>>2]=c[y>>2];c[(c[x>>2]|0)+36>>2]=c[I>>2];c[q>>2]=(c[(c[P>>2]|0)+56>>2]|0)+(e[(c[P>>2]|0)+20>>1]&(d[(c[(c[P>>2]|0)+64>>2]|0)+(c[I>>2]<<1)>>0]<<8|d[(c[(c[P>>2]|0)+64>>2]|0)+(c[I>>2]<<1)+1>>0]));Kw(c[P>>2]|0,c[q>>2]|0,o);c[t>>2]=c[o+12>>2];if(a[(c[P>>2]|0)+2>>0]|0){g=o;f=c[g>>2]|0;g=c[g+4>>2]|0;if(c[I>>2]|0){m=M;l=c[m+4>>2]|0;if((g|0)<(l|0)|((g|0)==(l|0)?f>>>0<=(c[m>>2]|0)>>>0:0)){m=c[x>>2]|0;g=o;j=c[g+4>>2]|0;k=M;h=c[k>>2]|0;k=c[k+4>>2]|0;l=u;c[l>>2]=c[g>>2];c[l+4>>2]=j;l=u+8|0;c[l>>2]=h;c[l+4>>2]=k;tB(m,33221,u)}}else{m=M;c[m>>2]=f;c[m+4>>2]=g;m=N;c[m>>2]=f;c[m+4>>2]=g}k=o;l=c[k+4>>2]|0;m=M;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[t>>2]|0)>>>0>(e[o+16>>1]|0)>>>0?((c[q>>2]|0)+(e[o+18>>1]|0)|0)>>>0<=((c[(c[P>>2]|0)+56>>2]|0)+(c[(c[O>>2]|0)+36>>2]|0)|0)>>>0:0){c[p>>2]=(((c[t>>2]|0)-(e[o+16>>1]|0)+(c[W>>2]|0)-5|0)>>>0)/(((c[W>>2]|0)-4|0)>>>0)|0;c[s>>2]=kj((c[q>>2]|0)+(e[o+18>>1]|0)|0)|0;if(a[(c[O>>2]|0)+17>>0]|0)qB(c[x>>2]|0,c[s>>2]|0,3,c[y>>2]|0);pB(c[x>>2]|0,0,c[s>>2]|0,c[p>>2]|0)}if(!(a[(c[P>>2]|0)+5>>0]|0)){c[r>>2]=kj(c[q>>2]|0)|0;if(a[(c[O>>2]|0)+17>>0]|0)qB(c[x>>2]|0,c[r>>2]|0,5,c[y>>2]|0);c[n>>2]=rB(c[x>>2]|0,c[r>>2]|0,N,(c[I>>2]|0)==0?0:M)|0;if((c[I>>2]|0)>0?(c[n>>2]|0)!=(c[F>>2]|0):0)tB(c[x>>2]|0,33265,v);c[F>>2]=c[n>>2]}c[I>>2]=(c[I>>2]|0)+1}if(!(a[(c[P>>2]|0)+5>>0]|0)){c[r>>2]=kj((c[(c[P>>2]|0)+56>>2]|0)+((d[(c[P>>2]|0)+6>>0]|0)+8)|0)|0;c[(c[x>>2]|0)+28>>2]=33290;c[(c[x>>2]|0)+32>>2]=c[y>>2];if(a[(c[O>>2]|0)+17>>0]|0)qB(c[x>>2]|0,c[r>>2]|0,5,c[y>>2]|0);rB(c[x>>2]|0,c[r>>2]|0,0,(b[(c[P>>2]|0)+18>>1]|0)!=0?M:0)|0}c[(c[x>>2]|0)+28>>2]=33109;c[(c[x>>2]|0)+32>>2]=c[y>>2];do if((d[(c[P>>2]|0)+5>>0]|0)!=0?(d[(c[P>>2]|0)+2>>0]|0)!=0:0){f=(c[A>>2]|0)!=0;if(!(c[z>>2]|0)){if(!f)break;Y=N;M=c[Y+4>>2]|0;Z=c[A>>2]|0;X=c[Z+4>>2]|0;if(!((M|0)<(X|0)|((M|0)==(X|0)?(c[Y>>2]|0)>>>0<=(c[Z>>2]|0)>>>0:0)))break;Z=c[x>>2]|0;z=N;M=c[z+4>>2]|0;X=c[A>>2]|0;N=c[X>>2]|0;X=c[X+4>>2]|0;Y=_;c[Y>>2]=c[z>>2];c[Y+4>>2]=M;Y=_+8|0;c[Y>>2]=N;c[Y+4>>2]=X;tB(Z,33499,_);break}if(!f){Z=M;N=c[Z+4>>2]|0;_=c[z>>2]|0;Y=c[_+4>>2]|0;if(!((N|0)>(Y|0)|((N|0)==(Y|0)?(c[Z>>2]|0)>>>0>(c[_>>2]|0)>>>0:0)))break;_=c[x>>2]|0;A=M;M=c[A+4>>2]|0;Y=c[z>>2]|0;N=c[Y>>2]|0;Y=c[Y+4>>2]|0;Z=X;c[Z>>2]=c[A>>2];c[Z+4>>2]=M;Z=X+8|0;c[Z>>2]=N;c[Z+4>>2]=Y;tB(_,33318,X);break}X=N;u=c[X+4>>2]|0;_=c[z>>2]|0;v=c[_+4>>2]|0;if((u|0)<(v|0)|((u|0)==(v|0)?(c[X>>2]|0)>>>0<=(c[_>>2]|0)>>>0:0)){_=c[x>>2]|0;t=N;u=c[t+4>>2]|0;N=c[z>>2]|0;v=c[N>>2]|0;N=c[N+4>>2]|0;X=Y;c[X>>2]=c[t>>2];c[X+4>>2]=u;X=Y+8|0;c[X>>2]=v;c[X+4>>2]=N;tB(_,33379,Y)}Y=M;N=c[Y+4>>2]|0;_=c[A>>2]|0;X=c[_+4>>2]|0;if((N|0)>(X|0)|((N|0)==(X|0)?(c[Y>>2]|0)>>>0>(c[_>>2]|0)>>>0:0)){_=c[x>>2]|0;u=M;v=c[u+4>>2]|0;X=c[A>>2]|0;N=c[X>>2]|0;X=c[X+4>>2]|0;Y=Z;c[Y>>2]=c[u>>2];c[Y+4>>2]=v;Y=Z+8|0;c[Y>>2]=N;c[Y+4>>2]=X;tB(_,33438,Z)}Y=M;Z=c[Y+4>>2]|0;_=c[z>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z}while(0);c[E>>2]=c[(c[P>>2]|0)+56>>2];c[G>>2]=d[(c[P>>2]|0)+6>>0];c[H>>2]=Dg(c[(c[O>>2]|0)+32>>2]|0)|0;c[(c[x>>2]|0)+28>>2]=0;if(c[H>>2]|0){c[D>>2]=((d[(c[E>>2]|0)+((c[G>>2]|0)+5)>>0]<<8|d[(c[E>>2]|0)+((c[G>>2]|0)+5)+1>>0])-1&65535)+1;BH((c[H>>2]|0)+(c[D>>2]|0)|0,0,(c[W>>2]|0)-(c[D>>2]|0)|0)|0;BH(c[H>>2]|0,1,c[D>>2]|0)|0;c[L>>2]=d[(c[E>>2]|0)+((c[G>>2]|0)+3)>>0]<<8|d[(c[E>>2]|0)+((c[G>>2]|0)+3)+1>>0];c[B>>2]=(c[G>>2]|0)+12-(d[(c[P>>2]|0)+5>>0]<<2);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[L>>2]|0))break;c[Q>>2]=d[(c[E>>2]|0)+((c[B>>2]|0)+(c[I>>2]<<1))>>0]<<8|d[(c[E>>2]|0)+((c[B>>2]|0)+(c[I>>2]<<1))+1>>0];c[U>>2]=65536;if((c[Q>>2]|0)<=((c[W>>2]|0)-4|0))c[U>>2]=(vB(c[P>>2]|0,(c[E>>2]|0)+(c[Q>>2]|0)|0)|0)&65535;a:do if(((c[Q>>2]|0)+(c[U>>2]|0)-1|0)>=(c[W>>2]|0)){c[(c[x>>2]|0)+28>>2]=0;_=c[x>>2]|0;Z=c[y>>2]|0;c[$>>2]=c[I>>2];c[$+4>>2]=Z;tB(_,33558,$)}else{c[J>>2]=(c[Q>>2]|0)+(c[U>>2]|0)-1;while(1){if((c[J>>2]|0)<(c[Q>>2]|0))break a;_=(c[H>>2]|0)+(c[J>>2]|0)|0;a[_>>0]=(a[_>>0]|0)+1<<24>>24;c[J>>2]=(c[J>>2]|0)+-1}}while(0);c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=d[(c[E>>2]|0)+((c[G>>2]|0)+1)>>0]<<8|d[(c[E>>2]|0)+((c[G>>2]|0)+1)+1>>0];while(1){if((c[I>>2]|0)<=0)break;c[V>>2]=d[(c[E>>2]|0)+((c[I>>2]|0)+2)>>0]<<8|d[(c[E>>2]|0)+((c[I>>2]|0)+2)+1>>0];c[K>>2]=(c[I>>2]|0)+(c[V>>2]|0)-1;while(1){if((c[K>>2]|0)<(c[I>>2]|0))break;$=(c[H>>2]|0)+(c[K>>2]|0)|0;a[$>>0]=(a[$>>0]|0)+1<<24>>24;c[K>>2]=(c[K>>2]|0)+-1}c[K>>2]=d[(c[E>>2]|0)+(c[I>>2]|0)>>0]<<8|d[(c[E>>2]|0)+(c[I>>2]|0)+1>>0];c[I>>2]=c[K>>2]}c[C>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[W>>2]|0))break;if(a[(c[H>>2]|0)+(c[I>>2]|0)>>0]|0){if((a[(c[H>>2]|0)+(c[I>>2]|0)>>0]|0)>1){ca=72;break}}else c[C>>2]=(c[C>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+1}if((ca|0)==72){ca=c[x>>2]|0;$=c[y>>2]|0;c[aa>>2]=c[I>>2];c[aa+4>>2]=$;tB(ca,33600,aa)}if((c[C>>2]|0)!=(d[(c[E>>2]|0)+((c[G>>2]|0)+7)>>0]|0)){ca=c[x>>2]|0;$=d[(c[E>>2]|0)+((c[G>>2]|0)+7)>>0]|0;aa=c[y>>2]|0;c[ba>>2]=c[C>>2];c[ba+4>>2]=$;c[ba+8>>2]=aa;tB(ca,33637,ba)}}else c[(c[x>>2]|0)+24>>2]=1;Gg(c[H>>2]|0);pt(c[P>>2]|0)}while(0);c[(c[x>>2]|0)+28>>2]=c[T>>2];c[(c[x>>2]|0)+32>>2]=c[R>>2];c[(c[x>>2]|0)+36>>2]=c[S>>2];c[w>>2]=(c[F>>2]|0)+1;ca=c[w>>2]|0;i=da;return ca|0}function sB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function tB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+240|0;j=l;f=l+28|0;g=l+24|0;h=l+8|0;k=l+32|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=l;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)es((c[f>>2]|0)+40|0,33107,1);if(c[(c[f>>2]|0)+28>>2]|0){b=c[(c[f>>2]|0)+28>>2]|0;e=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=e;Yb(200,k,b,j)|0;fs((c[f>>2]|0)+40|0,k)}_d((c[f>>2]|0)+40|0,1,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+25>>0]|0|0)!=1){i=l;return}c[(c[f>>2]|0)+24>>2]=1;i=l;return}function uB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;tB(b,33689,e);c[g>>2]=1;break}e=(sB(b,a)|0)!=0;b=c[d>>2]|0;a=c[f>>2]|0;if(e){c[h>>2]=a;tB(b,33712,h);c[g>>2]=1;break}else{oB(b,a);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function vB(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;p=i;i=i+32|0;h=p+24|0;j=p+12|0;k=p+8|0;o=p+20|0;n=p;m=p+16|0;l=p+4|0;c[j>>2]=f;c[k>>2]=g;c[o>>2]=(c[k>>2]|0)+(d[(c[j>>2]|0)+7>>0]|0);g=c[o>>2]|0;if(a[(c[j>>2]|0)+4>>0]|0){c[n>>2]=g+9;do{m=c[o>>2]|0;c[o>>2]=m+1;if(!(d[m>>0]&128))break}while((c[o>>2]|0)>>>0<(c[n>>2]|0)>>>0);b[h>>1]=(c[o>>2]|0)-(c[k>>2]|0);o=b[h>>1]|0;i=p;return o|0}c[m>>2]=d[g>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[o>>2]|0)+9;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;f=(c[o>>2]|0)+1|0;c[o>>2]=f;c[m>>2]=g|d[f>>0]&127;if((d[c[o>>2]>>0]|0)<128)break a}while((c[o>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[o>>2]=(c[o>>2]|0)+1;b:do if(a[(c[j>>2]|0)+2>>0]|0){c[n>>2]=(c[o>>2]|0)+9;do{f=c[o>>2]|0;c[o>>2]=f+1;if(!(d[f>>0]&128))break b}while((c[o>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);if((c[m>>2]|0)>>>0<=(e[(c[j>>2]|0)+10>>1]|0)>>>0){o=(c[m>>2]|0)+((c[o>>2]|0)-(c[k>>2]|0))|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0<4?4:o}else{c[l>>2]=e[(c[j>>2]|0)+12>>1];c[m>>2]=(c[l>>2]|0)+((((c[m>>2]|0)-(c[l>>2]|0)|0)>>>0)%(((c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[m>>2]|0)>>>0>(e[(c[j>>2]|0)+10>>1]|0)>>>0)c[m>>2]=c[l>>2];c[m>>2]=(c[m>>2]|0)+(4+((c[o>>2]|0)-(c[k>>2]|0)&65535))}b[h>>1]=c[m>>2];o=b[h>>1]|0;i=p;return o|0}function wB(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Sb(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;AB((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Sb(a);i=e;return}function xB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Nd(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);c[(c[d>>2]|0)+12>>2]=0;yB(0,c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;if(c[(c[d>>2]|0)+32>>2]|0){zB(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+32>>2]=0;f=(c[d>>2]|0)+32+8|0;c[f>>2]=0;c[f+4>>2]=0}if(!(c[(c[d>>2]|0)+48>>2]|0)){i=e;return}zB(c[(c[d>>2]|0)+48>>2]|0)|0;c[(c[d>>2]|0)+48>>2]=0;f=(c[d>>2]|0)+48+8|0;c[f>>2]=0;c[f+4>>2]=0;i=e;return}function yB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Nd(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function zB(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[b>>2]=uj(c[e>>2]|0)|0;Sb(c[e>>2]|0);i=d;return c[b>>2]|0}function AB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Sb(c[(c[b>>2]|0)+28>>2]|0);Sb(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Ok(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;BB(c[(c[b>>2]|0)+48>>2]|0);a=c[b>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function BB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}wB(c[(c[b>>2]|0)+4>>2]|0);Sb(c[b>>2]|0);i=d;return}function CB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;h=l;j=l+16|0;k=l+12|0;m=l+8|0;c[n>>2]=b;b=h;c[b>>2]=e;c[b+4>>2]=f;c[j>>2]=g;c[m>>2]=c[(c[n>>2]|0)+4>>2];c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;do if((d[(c[k>>2]|0)+72>>0]|0)&16){if((c[j>>2]|0)==0?(m=(c[k>>2]|0)+24|0,n=h,!((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0)):0)break;a[(c[k>>2]|0)+73>>0]=0}while(0);c[k>>2]=c[(c[k>>2]|0)+8>>2]}i=l;return}function DB(b,f,g,h){b=b|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,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;q=v+36|0;k=v+16|0;j=v+28|0;r=v+4|0;l=v+32|0;t=v;u=v+12|0;n=v+24|0;m=v+20|0;s=v+8|0;o=v+40|0;c[k>>2]=b;c[j>>2]=f;c[r>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(Aw(c[k>>2]|0)|0)>>>0){c[q>>2]=Rk(59756)|0;u=c[q>>2]|0;i=v;return u|0}c[u>>2]=zw(c[k>>2]|0,c[j>>2]|0,t,0)|0;if(c[u>>2]|0){c[q>>2]=c[u>>2];u=c[q>>2]|0;i=v;return u|0}c[s>>2]=d[(c[t>>2]|0)+6>>0];c[m>>2]=0;while(1){j=c[t>>2]|0;if((c[m>>2]|0)>=(e[(c[t>>2]|0)+18>>1]|0)){p=11;break}c[n>>2]=(c[j+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[t>>2]|0)+5>>0]|0)==0?(f=c[k>>2]|0,h=kj(c[n>>2]|0)|0,c[u>>2]=DB(f,h,1,c[l>>2]|0)|0,(c[u>>2]|0)!=0):0)break;c[u>>2]=EB(c[t>>2]|0,c[n>>2]|0,o)|0;if(c[u>>2]|0)break;c[m>>2]=(c[m>>2]|0)+1}do if((p|0)==11){if(a[j+5>>0]|0){if(c[l>>2]|0){p=c[l>>2]|0;c[p>>2]=(c[p>>2]|0)+(e[(c[t>>2]|0)+18>>1]|0)}}else{o=c[k>>2]|0;p=kj((c[(c[t>>2]|0)+56>>2]|0)+((c[s>>2]|0)+8)|0)|0;c[u>>2]=DB(o,p,1,c[l>>2]|0)|0;if(c[u>>2]|0)break}j=c[t>>2]|0;if(c[r>>2]|0){FB(j,u);break}r=ye(c[j+68>>2]|0)|0;c[u>>2]=r;if(!r)GB(c[t>>2]|0,d[(c[(c[t>>2]|0)+56>>2]|0)+(c[s>>2]|0)>>0]|8)}while(0);pt(c[t>>2]|0);c[q>>2]=c[u>>2];u=c[q>>2]|0;i=v;return u|0}function EB(a,d,f){a=a|0;d=d|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;t=i;i=i+80|0;g=t+24|0;h=t+32|0;j=t+28|0;u=t+36|0;p=t+52|0;l=t;o=t+64|0;r=t+44|0;m=t+40|0;n=t+56|0;k=t+60|0;q=t+48|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Kw(c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+20>>1]|0;if(!(e[l+18>>1]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+3|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Rk(57786)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=kj((c[j>>2]|0)+(e[l+18>>1]|0)|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(Aw(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=Ow(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=JB(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Tl(c[(c[q>>2]|0)+68>>2]|0)|0)!=1)c[r>>2]=Rk(57820)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=HB(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)qe(c[(c[q>>2]|0)+68>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Rk(57800)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=HB(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+72>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function GB(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+6>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)BH((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Vl(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function HB(b,d,f){b=b|0;d=d|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;r=i;i=i+48|0;g=r;h=r+16|0;j=r+28|0;p=r+4|0;k=r+32|0;o=r+36|0;n=r+12|0;q=r+24|0;l=r+20|0;m=r+8|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=f;c[p>>2]=0;c[k>>2]=0;c[o>>2]=c[(c[g>>2]|0)+12>>2];if(c[h>>2]|0){c[n>>2]=c[h>>2];IB(c[(c[n>>2]|0)+68>>2]|0)}else c[n>>2]=JB(c[g>>2]|0,c[j>>2]|0)|0;c[q>>2]=ye(c[(c[o>>2]|0)+68>>2]|0)|0;do if(!(c[q>>2]|0)){c[l>>2]=kj((c[(c[o>>2]|0)+56>>2]|0)+36|0)|0;Dl((c[(c[o>>2]|0)+56>>2]|0)+36|0,(c[l>>2]|0)+1|0);if(e[(c[g>>2]|0)+22>>1]&4){if((c[n>>2]|0)==0?(d=Bw(c[g>>2]|0,c[j>>2]|0,n,0)|0,c[q>>2]=d,(d|0)!=0):0)break;d=ye(c[(c[n>>2]|0)+68>>2]|0)|0;c[q>>2]=d;if(d)break;BH(c[(c[n>>2]|0)+56>>2]|0,0,c[(c[(c[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[g>>2]|0)+17>>0]|0)!=0?(IA(c[g>>2]|0,c[j>>2]|0,2,0,q),(c[q>>2]|0)!=0):0)break;if(c[l>>2]|0){c[k>>2]=kj((c[(c[o>>2]|0)+56>>2]|0)+32|0)|0;c[q>>2]=Bw(c[g>>2]|0,c[k>>2]|0,p,0)|0;if(c[q>>2]|0)break;c[m>>2]=kj((c[(c[p>>2]|0)+56>>2]|0)+4|0)|0;if((c[m>>2]|0)>>>0>((((c[(c[g>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[q>>2]=Rk(57698)|0;break}if((c[m>>2]|0)>>>0<((((c[(c[g>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[q>>2]=ye(c[(c[p>>2]|0)+68>>2]|0)|0;if(c[q>>2]|0)break;Dl((c[(c[p>>2]|0)+56>>2]|0)+4|0,(c[m>>2]|0)+1|0);Dl((c[(c[p>>2]|0)+56>>2]|0)+(8+(c[m>>2]<<2))|0,c[j>>2]|0);if((c[n>>2]|0)!=0?(e[(c[g>>2]|0)+22>>1]&4|0)==0:0)KB(c[(c[n>>2]|0)+68>>2]|0);c[q>>2]=LB(c[g>>2]|0,c[j>>2]|0)|0;break}}if((c[n>>2]|0)==0?(d=Bw(c[g>>2]|0,c[j>>2]|0,n,0)|0,c[q>>2]=d,0!=(d|0)):0)break;c[q>>2]=ye(c[(c[n>>2]|0)+68>>2]|0)|0;if(!(c[q>>2]|0)){Dl(c[(c[n>>2]|0)+56>>2]|0,c[k>>2]|0);Dl((c[(c[n>>2]|0)+56>>2]|0)+4|0,0);Dl((c[(c[o>>2]|0)+56>>2]|0)+32|0,c[j>>2]|0)}}while(0);if(!(c[n>>2]|0)){o=c[n>>2]|0;pt(o);p=c[p>>2]|0;pt(p);q=c[q>>2]|0;i=r;return q|0}a[c[n>>2]>>0]=0;o=c[n>>2]|0;pt(o);p=c[p>>2]|0;pt(p);q=c[q>>2]|0;i=r;return q|0}function IB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;MB(c[d>>2]|0);i=b;return}function JB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=kk(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=Cw(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function KB(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=g;return}if(c[(c[f>>2]|0)+96>>2]|0){i=g;return}a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|32;i=g;return}function LB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=Rg(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(Vg(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=Sg(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function MB(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;i=d;return}function NB(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,o=0,p=0;p=i;i=i+48|0;f=p+28|0;g=p+16|0;h=p+4|0;j=p+8|0;o=p+32|0;n=p;l=p+12|0;k=p+24|0;m=p+20|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=Bw(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=_z(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){pt(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;do if((c[h>>2]|0)>>>0>1){if(!(a[(c[l>>2]|0)+17>>0]|0)){FB(c[n>>2]|0,o);pt(c[n>>2]|0);break}ie(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){FB(d,o);pt(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{pt(d);c[o>>2]=Bw(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=FA(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;pt(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=Bw(c[l>>2]|0,c[k>>2]|0,m,0)|0;FB(c[m>>2]|0,o);pt(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=Pw(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=te(c[g>>2]|0,4,c[k>>2]|0)|0}else{GB(c[n>>2]|0,9);pt(c[n>>2]|0)}while(0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function OB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=PB((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function PB(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;l=i;i=i+64|0;e=l+44|0;f=l+52|0;d=l+56|0;j=l+60|0;k=l;g=l+40|0;h=l+48|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;a=k;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[(c[e>>2]|0)+32>>2]|0))c[j>>2]=QB(c[d>>2]|0,0,0,(c[e>>2]|0)+32|0)|0;if(!(c[j>>2]|0))c[j>>2]=RB(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+32+8|0;SB(c[(c[e>>2]|0)+32>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;TB(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;TB(k,d,((d|0)<0)<<31>>31);UB(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Sb(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=VB(k,(c[e>>2]|0)+32+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function QB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;f=j+20|0;h=j+16|0;g=j;c[k>>2]=a;a=j+8|0;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;c[h>>2]=ZB(c[c[k>>2]>>2]|0,0,c[f>>2]|0,4126,h)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}k=g;c[k>>2]=0;c[k+4>>2]=0;Wk(c[c[f>>2]>>2]|0,18,g);k=c[h>>2]|0;i=j;return k|0}function RB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+4|0;g=n+16|0;h=n+8|0;k=n+20|0;j=n+28|0;l=n;e=n+12|0;m=n+24|0;c[g>>2]=a;c[h>>2]=b;c[e>>2]=WB(c[g>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=de(256,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=n;return m|0}c[l>>2]=c[c[h>>2]>>2];while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;do if(c[(c[h>>2]|0)+4>>2]|0)if((b|0)==(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=0;break}else{c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0);break}else c[m>>2]=c[b+4>>2];while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if(!(c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0))break;XB(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[m>>2]}c[l>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=64)break;XB(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[k>>2]=(c[k>>2]|0)+1}c[c[h>>2]>>2]=c[l>>2];Sb(c[j>>2]|0);c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+7>>0];m=c[f>>2]|0;i=n;return m|0}function SB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;f=c[h>>2]|0;e=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));a=c[j>>2]|0;a=Wd(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=LH(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=AH(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function TB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=vz(g,c[a>>2]|0,c[a+4>>2]|0)|0;UB(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function UB(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,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);EH((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=DH(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ae(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=DH(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function VB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[d>>2]=b;if(((c[c[e>>2]>>2]|0)==0?(c[(c[e>>2]|0)+4>>2]|0)!=0:0)?(c[(c[e>>2]|0)+16>>2]|0)>(c[(c[e>>2]|0)+12>>2]|0):0){j=c[(c[e>>2]|0)+32>>2]|0;h=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;a=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;k=(c[e>>2]|0)+24|0;b=c[(c[e>>2]|0)+12>>2]|0;b=DH(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Ae(j,h,a,b,C)|0;c[c[e>>2]>>2]=b}j=(c[e>>2]|0)+24|0;k=c[(c[e>>2]|0)+16>>2]|0;k=DH(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;d=c[d>>2]|0;c[d>>2]=k;c[d+4>>2]=C;Sb(c[(c[e>>2]|0)+4>>2]|0);c[f>>2]=c[c[e>>2]>>2];d=c[e>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function WB(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=Ew(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+4>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+7>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function XB(a,b,d,e){a=a|0;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,o=0;o=i;i=i+32|0;f=o+4|0;j=o+16|0;k=o+8|0;l=o+20|0;m=o+28|0;n=o;g=o+12|0;h=o+24|0;c[f>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;c[n>>2]=m;c[g>>2]=(c[k>>2]|0)!=0?(c[k>>2]|0)+8|0:0;while(1){if(!((c[j>>2]|0)!=0?(c[k>>2]|0)!=0:0)){f=7;break}c[h>>2]=YB(c[f>>2]|0,(c[j>>2]|0)+8|0,c[c[j>>2]>>2]|0,c[g>>2]|0,c[c[k>>2]>>2]|0)|0;if((c[h>>2]|0)<=0){c[c[n>>2]>>2]=c[j>>2];c[n>>2]=(c[j>>2]|0)+4;c[j>>2]=c[(c[j>>2]|0)+4>>2];c[g>>2]=0;continue}c[c[n>>2]>>2]=c[k>>2];c[n>>2]=(c[k>>2]|0)+4;c[k>>2]=c[(c[k>>2]|0)+4>>2];if(!(c[k>>2]|0)){f=7;break}c[g>>2]=(c[k>>2]|0)+8}if((f|0)==7){c[c[n>>2]>>2]=(c[j>>2]|0)!=0?c[j>>2]|0:c[k>>2]|0;c[c[l>>2]>>2]=c[m>>2];i=o;return}}function YB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0)Fw(c[(c[(c[g>>2]|0)+8>>2]|0)+28>>2]|0,c[l>>2]|0,c[k>>2]|0,c[m>>2]|0);m=Uw(c[j>>2]|0,c[h>>2]|0,c[m>>2]|0)|0;i=n;return m|0}function ZB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;m=o+20|0;j=o+24|0;k=o+4|0;n=o;l=o+12|0;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=7;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=de(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=gk(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Sb(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function _B(a,b){a=a|0;b=b|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;q=i;i=i+48|0;e=q;f=q+16|0;o=q+28|0;h=q+4|0;n=q+32|0;g=q+36|0;l=q+12|0;m=q+24|0;k=q+20|0;j=q+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=$B((c[(c[e>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[h>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[h>>2]|1)*56|0);c[k>>2]=c[(c[m>>2]|0)+32>>2];c[g>>2]=((c[c[e>>2]>>2]|0)+(c[h>>2]|0)|0)/2|0;while(1){if((c[g>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[j>>2]=-1;break}else{c[j>>2]=YB(c[n>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[j>>2]=1;while(0);do if((c[j>>2]|0)<0)p=12;else{if((c[j>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[k>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[g>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[g>>2]^1)<<2)>>2]|0)*56|0);c[k>>2]=c[(c[m>>2]|0)+32>>2]}c[g>>2]=(c[g>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+7>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function $B(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;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=aC(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=bC(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){AB(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=cC(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=dC(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function aC(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=gC(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function bC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;q=i;i=i+48|0;g=q+24|0;h=q+20|0;j=q+28|0;k=q+12|0;l=q;p=q+8|0;o=q+16|0;m=q+32|0;n=q+36|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(hg(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Ok(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=eC(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=LH(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=Wd(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=DH(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=AH(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=hk(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function cC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+16|0;h=p+12|0;m=p+8|0;k=p+32|0;j=p;l=p+20|0;n=p+4|0;c[g>>2]=b;c[h>>2]=e;b=c[g>>2]|0;e=c[b>>2]|0;b=c[b+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(Jw((c[(c[g>>2]|0)+44>>2]|0)+e|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=DH(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;b=LH(e|0,b|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=b;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(Jw((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=DH(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=dC(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){Jw(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function dC(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;g=u+16|0;h=u+12|0;j=u+44|0;k=u+36|0;n=u+32|0;o=u+40|0;e=u+48|0;f=u+52|0;r=u+20|0;l=u;q=u+28|0;s=u+4|0;p=u+24|0;m=u+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;b=c[h>>2]|0;a=c[b>>2]|0;b=c[b+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+a;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=DH(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=LH(a|0,b|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;b=c[h>>2]|0;b=AH(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;a=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&b>>>0>d>>>0)c[e>>2]=c[a+40>>2];else{v=a+8|0;w=c[h>>2]|0;w=AH(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=hk(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=DH(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))a=128;else a=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=a;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=Yd(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);EH(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=DH(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=dC(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;EH((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function eC(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,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+136>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=fC(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function fC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function gC(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;o=i;i=i+96|0;b=o+60|0;l=o+56|0;m=o+68|0;f=o;j=o+72|0;p=o+64|0;h=o+88|0;n=o+8|0;d=o+76|0;k=o+80|0;g=o+84|0;e=o+48|0;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;SB(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=DH(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=DH(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=_w(q,((q|0)<0)<<31>>31)|0;q=DH(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=DH(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;TB(n,r,((r|0)<0)<<31>>31);UB(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=_B(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=VB(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function hC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=iC(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=jC(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}wB(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function iC(a,b){a=a|0;b=b|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;s=i;i=i+64|0;e=s+48|0;f=s+40|0;n=s+16|0;r=s+12|0;k=s+36|0;q=s+44|0;p=s+52|0;l=s+32|0;h=s;g=s+20|0;j=s+8|0;o=s+28|0;m=s+24|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+(c[k>>2]<<6);c[p>>2]=0;c[l>>2]=mC(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=nC(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=oC(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=nC(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=pC(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else wB(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}wB(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function jC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+8|0;g=n+16|0;h=n+20|0;l=n+4|0;j=n;k=n+12|0;c[g>>2]=a;c[h>>2]=b;c[n+24>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=kC((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;lC(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+7>>0];m=c[f>>2]|0;i=n;return m|0}function kC(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;k=l+20|0;h=l+24|0;j=l+4|0;f=l;g=l+12|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+48>>2];if(!(c[h>>2]|0)){k=c[k>>2]|0;i=l;return k|0}c[j>>2]=c[c[h>>2]>>2];c[f>>2]=c[(c[(c[j>>2]|0)+8>>2]|0)+24>>2];c[k>>2]=jC(c[j>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[e>>2]|0)|0;if(!(c[k>>2]|0)){c[g>>2]=c[(c[h>>2]|0)+16>>2];if(!(c[(c[j>>2]|0)+48>>2]|0)){a=(c[j>>2]|0)+48+8|0;c[k>>2]=QB(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,(c[j>>2]|0)+48|0)|0;a=(c[j>>2]|0)+48+8|0;c[a>>2]=0;c[a+4>>2]=0}if(!(c[k>>2]|0)){c[(c[h>>2]|0)+32+16>>2]=c[(c[j>>2]|0)+48>>2];f=(c[j>>2]|0)+48+8|0;b=c[f+4>>2]|0;a=(c[h>>2]|0)+8|0;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=c[g>>2]|0;j=(c[j>>2]|0)+48+8|0;h=j;a=DH(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[j>>2]=a;c[j+4>>2]=C}}if(c[k>>2]|0){k=c[k>>2]|0;i=l;return k|0}c[k>>2]=$B(c[d>>2]|0)|0;k=c[k>>2]|0;i=l;return k|0}function lC(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;m=i;i=i+32|0;d=m+4|0;e=m+16|0;f=m+8|0;g=m+20|0;h=m+28|0;j=m;k=m+12|0;l=m+24|0;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[f>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[g>>2]=(c[f>>2]|0)+1}else{c[f>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[j>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[f>>2]|0)*56|0);c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);do if(c[(c[j>>2]|0)+24>>2]|0){if(!(c[(c[k>>2]|0)+24>>2]|0)){c[h>>2]=c[f>>2];break}c[l>>2]=YB(c[(c[d>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;if((c[l>>2]|0)<=0){c[h>>2]=c[f>>2];break}else{c[h>>2]=c[g>>2];break}}else c[h>>2]=c[g>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[h>>2];i=m;return}function mC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=MH(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function nC(a,b,d,e){a=a|0;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,o=0,p=0,q=0;q=i;i=i+48|0;f=q+16|0;g=q+32|0;h=q+24|0;j=q+28|0;n=q+40|0;l=q;k=q+20|0;p=q+36|0;m=q+8|0;o=q+44|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=oC(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=rC(c[f>>2]|0,(c[f>>2]|0)+32|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}wB(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function oC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(hg(100)|0)a=0;else{a=c[d>>2]|0;a=de(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function pC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;s=i;i=i+64|0;g=s+44|0;h=s+36|0;p=s+12|0;u=s+8|0;t=s+32|0;r=s+40|0;l=s+48|0;j=s+16|0;q=s;m=s+24|0;k=s+4|0;o=s+28|0;n=s+20|0;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=qC(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=oC(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=qC(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{BB(g);u=c[r>>2]|0;i=s;return u|0}return 0}function qC(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;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(hg(100)|0)b=0;else b=de(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){wB(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+48+8|0;g=h;g=DH(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function rC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+28|0;n=m+24|0;p=m+8|0;h=m+32|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=bC(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){c[l>>2]=cC(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=DH(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=DH(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=$B(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function sC(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+73>>0]|0|0)!=1|0}function tC(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=uC(c[c[d>>2]>>2]|0,g)|0;c[(c[d>>2]|0)+60>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+25>>0]=1;g=c[e>>2]|0;i=f;return g|0}function uC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if((d[(c[f>>2]|0)+73>>0]|0|0)>=3)a=vw(c[f>>2]|0)|0;else a=0;c[h>>2]=a;if(c[h>>2]|0){c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}if((d[(c[f>>2]|0)+73>>0]|0|0)==1?(c[(c[f>>2]|0)+68>>2]|0)==0:0)c[c[g>>2]>>2]=0;else c[c[g>>2]>>2]=1;c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function vC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function wC(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;t=i;i=i+48|0;k=t+28|0;l=t+16|0;m=t+4|0;n=t+8|0;q=t+32|0;o=t;r=t+12|0;s=t+24|0;p=t+20|0;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+6>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=IC(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}else{h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;HH(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Rk(58057)|0;c[c[n>>2]>>2]=h;i=t;return}function xC(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;B=i;i=i+64|0;n=B+16|0;o=B+12|0;p=B+44|0;q=B+36|0;r=B+32|0;s=B+40|0;t=B+48|0;x=B+52|0;z=B+20|0;w=B;y=B+28|0;u=B+4|0;v=B+24|0;A=B+8|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[x>>2]=0;if(c[c[t>>2]>>2]|0){i=B;return}if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[A>>2]=ye(c[(c[n>>2]|0)+68>>2]|0)|0;if(c[A>>2]|0){c[c[t>>2]>>2]=c[A>>2];i=B;return}c[v>>2]=c[(c[n>>2]|0)+56>>2];c[u>>2]=e[(c[n>>2]|0)+14>>1];c[w>>2]=(c[u>>2]|0)+(e[(c[n>>2]|0)+18>>1]<<1);c[y>>2]=(c[u>>2]|0)+(c[o>>2]<<1);c[A>>2]=FC(c[n>>2]|0,c[q>>2]|0,x)|0;if(c[A>>2]|0){c[c[t>>2]>>2]=c[A>>2];i=B;return}j=(c[n>>2]|0)+18|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16;j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);EH((c[v>>2]|0)+(c[x>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)Dl((c[v>>2]|0)+(c[x>>2]|0)|0,c[s>>2]|0);HH((c[v>>2]|0)+((c[y>>2]|0)+2)|0,(c[v>>2]|0)+(c[y>>2]|0)|0,(c[w>>2]|0)-(c[y>>2]|0)|0)|0;a[(c[v>>2]|0)+(c[y>>2]|0)>>0]=c[x>>2]>>8;a[(c[v>>2]|0)+(c[y>>2]|0)+1>>0]=c[x>>2];a[(c[v>>2]|0)+((d[(c[n>>2]|0)+6>>0]|0)+3)>>0]=e[(c[n>>2]|0)+18>>1]>>8;a[(c[v>>2]|0)+((d[(c[n>>2]|0)+6>>0]|0)+3)+1>>0]=b[(c[n>>2]|0)+18>>1];if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=B;return}KA(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=B;return}if(c[r>>2]|0){EH(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)Dl(c[p>>2]|0,c[s>>2]|0);A=(c[n>>2]|0)+1|0;j=a[A>>0]|0;a[A>>0]=j+1<<24>>24;c[z>>2]=j&255;c[(c[n>>2]|0)+32+(c[z>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[z>>2]<<1)>>1]=c[o>>2];i=B;return}function yC(f){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;r=i;i=i+64|0;g=r;q=r+16|0;l=r+8|0;h=r+36|0;m=r+28|0;k=r+32|0;n=r+12|0;o=r+24|0;j=r+4|0;p=r+20|0;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=b[(c[g>>2]|0)+76>>1];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=zC(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){b[(c[g>>2]|0)+76>>1]=1;b[(c[g>>2]|0)+78>>1]=0;b[(c[g>>2]|0)+78+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+78+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=ye(c[(c[o>>2]|0)+68>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+72>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=AC(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Dg(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=BC(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+74>>0]|0)|0;if(c[m>>2]|0)Gg(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;pt(c[n>>2]|0);f=(c[g>>2]|0)+76|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}Gg(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function zC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+8|0;g=n+16|0;h=n+20|0;m=n+24|0;k=n+4|0;l=n;j=n+12|0;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=ye(c[(c[g>>2]|0)+68>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=EA(c[j>>2]|0,k,l,c[(c[g>>2]|0)+72>>2]|0,0)|0,EC(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)IA(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+72>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;pt(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{EH((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;EH((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;GB(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);Dl((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+6>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function AC(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;v=i;i=i+48|0;j=v+12|0;k=v+16|0;l=v+28|0;m=v+4|0;n=v+32|0;p=v+36|0;t=v+40|0;s=v+24|0;q=v+20|0;o=v+8|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Rk(58255)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=EA(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=vB(c[l>>2]|0,c[o>>2]|0)|0;GB(c[p>>2]|0,13);DC(c[p>>2]|0,1,o,u);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(IA(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+72>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)KA(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);xC(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+72>>2]|0,t);Dl((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+6>>0]|0)+8)|0,c[s>>2]|0);pt(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0} +function Gw(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;F=i;i=i+96|0;m=F+68|0;n=F+40|0;o=F+52|0;p=F+8|0;q=F+60|0;r=F+32|0;C=F+28|0;E=F+56|0;v=F+64|0;D=F+80|0;u=F+44|0;s=F+48|0;t=F+24|0;B=F+20|0;y=F+16|0;x=F;w=F+72|0;A=F+76|0;z=F+36|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((d[(c[n>>2]|0)+73>>0]|0)==1?(d[(c[n>>2]|0)+72>>0]&2|0)!=0:0)?(d[(c[(c[n>>2]|0)+120>>2]|0)+2>>0]|0)!=0:0){g=(c[n>>2]|0)+24|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+72>>0]&8|0)!=0?(g=(c[n>>2]|0)+24|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=Hw(c[o>>2]|0)|0;a[(c[o>>2]|0)+7>>0]=0}else c[E>>2]=0;c[C>>2]=Iw(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+73>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(b[(c[n>>2]|0)+76>>1]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]))+(d[(c[B>>2]|0)+7>>0]|0);c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){h=20;break a}}while(0);Jw(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){h=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){h=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){h=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((h|0)==23){c[s>>2]=-1;h=49;break}else if((h|0)==26){c[s>>2]=1;h=49;break}else if((h|0)==27){h=0;f=(c[n>>2]|0)+72|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+24|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+5>>0]|0){h=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]))+(d[(c[B>>2]|0)+7>>0]|0);c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+8>>0]|0))c[s>>2]=lb[c[E>>2]&31](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=lb[c[E>>2]&31](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+7>>0]|0));Kw(c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+24|0);c[w>>2]=c[(c[n>>2]|0)+24>>2];l=c[w>>2]|0;c[A>>2]=Wd(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){h=37;break a}b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];c[C>>2]=Lw(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){h=39;break a}c[s>>2]=lb[c[E>>2]&31](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Sb(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){h=45;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){h=49;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((h|0)==49?(h=0,(a[(c[B>>2]|0)+5>>0]|0)!=0):0){h=50;break}j=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=kj((c[(c[B>>2]|0)+56>>2]|0)+((d[j+6>>0]|0)+8)|0)|0;else c[t>>2]=kj((c[j+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[v>>2];c[C>>2]=ww(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((h|0)==20){c[m>>2]=Rk(56945)|0;E=c[m>>2]|0;i=F;return E|0}else if((h|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((h|0)==37)c[C>>2]=7;else if((h|0)==39)Sb(c[A>>2]|0);else if((h|0)==45){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+7>>0]|0)c[C>>2]=11}else if((h|0)==50){b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+24+20>>1]=0;E=(c[n>>2]|0)+72|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function Hw(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+8>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){c[b>>2]=1;c[(c[f>>2]|0)+16>>2]=-1}else{c[b>>2]=-1;c[(c[f>>2]|0)+16>>2]=1}if(c[g>>2]&4){c[d>>2]=18;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=19;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=20;g=c[d>>2]|0;i=h;return g|0}function Iw(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+73>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+73>>0]|0)!=4){ot(f);break}c[g>>2]=c[f+68>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((b[(c[h>>2]|0)+76>>1]|0)>=0)while(1){if(!(b[(c[h>>2]|0)+76>>1]|0))break a;n=(c[h>>2]|0)+76|0;f=b[n>>1]|0;b[n>>1]=f+-1<<16>>16;pt(c[(c[h>>2]|0)+120+(f<<16>>16<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+60>>2]|0)){a[f+73>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=zw(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+60>>2]|0,(c[h>>2]|0)+120|0,(d[(c[h>>2]|0)+72>>0]&1|0)==0?2:0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){b[f+76>>1]=0;break}a[f+73>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+16>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+78>>1]=0;b[(c[h>>2]|0)+24+20>>1]=0;n=(c[h>>2]|0)+72|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+73>>0]=1;else{if(a[(c[j>>2]|0)+5>>0]|0){a[(c[h>>2]|0)+73>>0]=0;break}if((c[(c[j>>2]|0)+72>>2]|0)==1){c[l>>2]=kj((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+6>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+73>>0]=1;c[k>>2]=ww(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Rk(56709)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Rk(56698)|0;n=c[g>>2]|0;i=m;return n|0}function Jw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function Kw(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;r=i;i=i+32|0;j=r+4|0;k=r+16|0;l=r+8|0;p=r+20|0;o=r+28|0;n=r;m=r+12|0;q=r+24|0;c[j>>2]=f;c[k>>2]=g;c[l>>2]=h;if(a[(c[j>>2]|0)+3>>0]|0){g=c[k>>2]|0;h=c[k>>2]|0;if((d[c[k>>2]>>0]|0)<128){c[o>>2]=d[h>>0];h=1}else h=(Rw(h,o)|0)&255;c[p>>2]=g+(h&255);f=(Jw(c[p>>2]|0,c[l>>2]|0)|0)&255;c[p>>2]=(c[p>>2]|0)+f}else{h=c[k>>2]|0;if(a[(c[j>>2]|0)+4>>0]|0){q=4+((Jw(h+4|0,c[l>>2]|0)|0)&255)&65535;b[(c[l>>2]|0)+20>>1]=q;c[(c[l>>2]|0)+12>>2]=0;b[(c[l>>2]|0)+16>>1]=0;b[(c[l>>2]|0)+18>>1]=0;c[(c[l>>2]|0)+8>>2]=0;i=r;return}c[p>>2]=h+(d[(c[j>>2]|0)+7>>0]|0);h=c[p>>2]|0;if((d[c[p>>2]>>0]|0)<128){c[o>>2]=d[h>>0];h=1}else h=(Rw(h,o)|0)&255;c[p>>2]=(c[p>>2]|0)+(h&255);f=c[l>>2]|0;c[f>>2]=c[o>>2];c[f+4>>2]=0}c[(c[l>>2]|0)+12>>2]=c[o>>2];c[(c[l>>2]|0)+8>>2]=c[p>>2];if((c[o>>2]|0)>>>0<=(e[(c[j>>2]|0)+10>>1]|0)>>>0){b[(c[l>>2]|0)+20>>1]=(c[o>>2]|0)+((c[p>>2]|0)-(c[k>>2]|0)&65535);if((e[(c[l>>2]|0)+20>>1]|0)<4)b[(c[l>>2]|0)+20>>1]=4;b[(c[l>>2]|0)+16>>1]=c[o>>2];b[(c[l>>2]|0)+18>>1]=0;i=r;return}c[n>>2]=e[(c[j>>2]|0)+12>>1];c[m>>2]=e[(c[j>>2]|0)+10>>1];c[q>>2]=(c[n>>2]|0)+((((c[o>>2]|0)-(c[n>>2]|0)|0)>>>0)%(((c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[q>>2]|0)<=(c[m>>2]|0))b[(c[l>>2]|0)+16>>1]=c[q>>2];else b[(c[l>>2]|0)+16>>1]=c[n>>2];b[(c[l>>2]|0)+18>>1]=(c[(c[l>>2]|0)+8>>2]|0)+(e[(c[l>>2]|0)+16>>1]|0)-(c[k>>2]|0);b[(c[l>>2]|0)+20>>1]=(e[(c[l>>2]|0)+18>>1]|0)+4;i=r;return}function Lw(f,g,h,j,k){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;E=i;i=i+80|0;l=E+68|0;m=E+44|0;n=E+24|0;o=E+32|0;p=E+12|0;q=E+16|0;u=E+48|0;D=E+56|0;v=E+64|0;C=E+72|0;A=E+36|0;w=E+8|0;r=E;z=E+4|0;y=E+40|0;x=E+20|0;t=E+52|0;s=E+28|0;B=E+60|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[D>>2]=0;c[v>>2]=0;c[C>>2]=c[(c[m>>2]|0)+120+(b[(c[m>>2]|0)+76>>1]<<2)>>2];c[A>>2]=c[(c[m>>2]|0)+4>>2];if(!(e[(c[m>>2]|0)+24+20>>1]|0)){c[w>>2]=b[(c[m>>2]|0)+76>>1];Mw(c[(c[m>>2]|0)+120+(c[w>>2]<<2)>>2]|0,e[(c[m>>2]|0)+78+(c[w>>2]<<1)>>1]|0,(c[m>>2]|0)+24|0);f=(c[m>>2]|0)+72|0;a[f>>0]=d[f>>0]|2}c[u>>2]=c[(c[m>>2]|0)+24+8>>2];if(((c[u>>2]|0)+(e[(c[m>>2]|0)+24+16>>1]|0)|0)>>>0>((c[(c[C>>2]|0)+56>>2]|0)+(c[(c[A>>2]|0)+36>>2]|0)|0)>>>0){c[l>>2]=Rk(56278)|0;D=c[l>>2]|0;i=E;return D|0}if((c[n>>2]|0)>>>0<(e[(c[m>>2]|0)+24+16>>1]|0)>>>0){c[r>>2]=c[o>>2];if(((c[r>>2]|0)+(c[n>>2]|0)|0)>>>0>(e[(c[m>>2]|0)+24+16>>1]|0)>>>0)c[r>>2]=(e[(c[m>>2]|0)+24+16>>1]|0)-(c[n>>2]|0);c[D>>2]=Nw((c[u>>2]|0)+(c[n>>2]|0)|0,c[p>>2]|0,c[r>>2]|0,c[q>>2]&1,c[(c[C>>2]|0)+68>>2]|0)|0;c[n>>2]=0;c[p>>2]=(c[p>>2]|0)+(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[r>>2]|0)}else c[n>>2]=(c[n>>2]|0)-(e[(c[m>>2]|0)+24+16>>1]|0);a:do if((c[D>>2]|0)==0&(c[o>>2]|0)>>>0>0){c[z>>2]=(c[(c[A>>2]|0)+36>>2]|0)-4;c[y>>2]=kj((c[u>>2]|0)+(e[(c[m>>2]|0)+24+16>>1]|0)|0)|0;if((c[q>>2]|0)!=2?(d[(c[m>>2]|0)+72>>0]&4|0)==0:0){c[x>>2]=(((c[(c[m>>2]|0)+24+12>>2]|0)-(e[(c[m>>2]|0)+24+16>>1]|0)+(c[z>>2]|0)-1|0)>>>0)/((c[z>>2]|0)>>>0)|0;do if((c[x>>2]|0)>(c[(c[m>>2]|0)+64>>2]|0)){c[t>>2]=hm(c[c[c[m>>2]>>2]>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[x>>2]<<1<<2,0)|0;if(!(c[t>>2]|0)){c[D>>2]=7;break}else{c[(c[m>>2]|0)+64>>2]=c[x>>2]<<1;c[(c[m>>2]|0)+20>>2]=c[t>>2];break}}while(0);if(!(c[D>>2]|0)){BH(c[(c[m>>2]|0)+20>>2]|0,0,c[x>>2]<<2|0)|0;C=(c[m>>2]|0)+72|0;a[C>>0]=d[C>>0]|4}}if((d[(c[m>>2]|0)+72>>0]&4|0)!=0?(c[(c[(c[m>>2]|0)+20>>2]|0)+((((c[n>>2]|0)>>>0)/((c[z>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[v>>2]=((c[n>>2]|0)>>>0)/((c[z>>2]|0)>>>0)|0;c[y>>2]=c[(c[(c[m>>2]|0)+20>>2]|0)+(c[v>>2]<<2)>>2];c[n>>2]=((c[n>>2]|0)>>>0)%((c[z>>2]|0)>>>0)|0}while(1){if(!((c[D>>2]|0)==0&(c[o>>2]|0)>>>0>0&(c[y>>2]|0)!=0))break a;if(d[(c[m>>2]|0)+72>>0]&4)c[(c[(c[m>>2]|0)+20>>2]|0)+(c[v>>2]<<2)>>2]=c[y>>2];if((c[n>>2]|0)>>>0>=(c[z>>2]|0)>>>0){if(c[(c[(c[m>>2]|0)+20>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0)c[y>>2]=c[(c[(c[m>>2]|0)+20>>2]|0)+((c[v>>2]|0)+1<<2)>>2];else c[D>>2]=Ow(c[A>>2]|0,c[y>>2]|0,0,y)|0;c[n>>2]=(c[n>>2]|0)-(c[z>>2]|0)}else{c[s>>2]=c[o>>2];if(((c[s>>2]|0)+(c[n>>2]|0)|0)>>>0>(c[z>>2]|0)>>>0)c[s>>2]=(c[z>>2]|0)-(c[n>>2]|0);c[D>>2]=ne(c[c[A>>2]>>2]|0,c[y>>2]|0,B,(c[q>>2]&1|0)==0?2:0)|0;if(!(c[D>>2]|0)){c[u>>2]=oe(c[B>>2]|0)|0;c[y>>2]=kj(c[u>>2]|0)|0;c[D>>2]=Nw((c[u>>2]|0)+((c[n>>2]|0)+4)|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]&1,c[B>>2]|0)|0;qe(c[B>>2]|0);c[n>>2]=0}c[o>>2]=(c[o>>2]|0)-(c[s>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0)}c[v>>2]=(c[v>>2]|0)+1}}while(0);if((c[D>>2]|0)==0&(c[o>>2]|0)>>>0>0){c[l>>2]=Rk(56431)|0;D=c[l>>2]|0;i=E;return D|0}else{c[l>>2]=c[D>>2];D=c[l>>2]|0;i=E;return D|0}return 0}function Mw(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Kw(c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function Nw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+8|0;h=n+16|0;j=n+20|0;k=n+24|0;o=n+4|0;l=n;m=n+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=ye(c[l>>2]|0)|0;if(!(c[m>>2]|0)){EH(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else EH(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function Ow(b,e,f,g){b=b|0;e=e|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;s=i;i=i+48|0;h=s+32|0;j=s+16|0;q=s+4|0;k=s+8|0;n=s+28|0;o=s;r=s+12|0;p=s+24|0;m=s+20|0;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=Pw(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))e=1;else e=(c[m>>2]|0)==((((c[229]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=c[m>>2]|0;if(!e)break;c[m>>2]=b+1}if(((b>>>0<=(Aw(c[h>>2]|0)|0)>>>0?(c[r>>2]=Qw(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=Bw(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=kj(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];b=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=b;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{pt(b);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function Qw(b,e,f,g){b=b|0;e=e|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;r=i;i=i+48|0;h=r;s=r+16|0;j=r+28|0;k=r+4|0;l=r+32|0;o=r+36|0;m=r+12|0;p=r+24|0;n=r+20|0;q=r+8|0;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=Pw(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=ne(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=oe(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){qe(c[o>>2]|0);c[h>>2]=Rk(53113)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=kj((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}qe(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Rk(53121)|0;s=c[h>>2]|0;i=r;return s|0}function Rw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+12|0;h=n+8|0;j=n+20|0;k=n+16|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=Jw(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function Sw(b,f,g){b=b|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;s=i;i=i+64|0;n=s+44|0;o=s+40|0;p=s+24|0;q=s+36|0;h=s+32|0;t=s+52|0;r=s+48|0;m=s+28|0;l=s+8|0;k=s;j=s+16|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];b=c[(c[q>>2]|0)+8>>2]|0;f=c[b+4>>2]|0;g=k;c[g>>2]=c[b>>2];c[g+4>>2]=f;do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=DH(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,MH(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=Uw(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=Uw(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=c[h+16>>2];break}if((e[h+4>>1]|0)>1){c[r>>2]=Vw(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+6>>0];break}}else c[r>>2]=c[(c[q>>2]|0)+12>>2];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function Tw(b,f,g){b=b|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;s=i;i=i+48|0;q=s;j=s+16|0;k=s+28|0;l=s+4|0;m=s+32|0;h=s+36|0;r=s+12|0;n=s+24|0;o=s+20|0;p=s+8|0;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else Rw(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=c[(c[l>>2]|0)+16>>2];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Rk(67026)|0)&255;a[(c[l>>2]|0)+7>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=$G((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+8>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=c[b+16>>2];break}else{c[r>>2]=c[b+12>>2];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+4>>1]|0)>1){c[r>>2]=Vw(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+6>>0];break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=c[b+16>>2];break}else{c[r>>2]=c[b+12>>2];break}}}else c[r>>2]=c[(c[l>>2]|0)+12>>2];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Vw(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function Vw(f,g,j,k){f=f|0;g=g|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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;I=i;i=i+160|0;E=I+128|0;m=I+96|0;K=I+132|0;F=I+140|0;J=I+88|0;o=I+116|0;p=I+104|0;D=I+100|0;q=I+124|0;H=I+120|0;x=I+136|0;G=I+144|0;n=I+148|0;t=I+32|0;l=I+108|0;B=I+112|0;y=I;r=I+8|0;z=I+16|0;A=I+24|0;s=I+72|0;u=I+84|0;w=I+80|0;v=I+92|0;c[m>>2]=f;c[K>>2]=g;c[F>>2]=j;c[J>>2]=k;c[H>>2]=0;c[x>>2]=c[(c[F>>2]|0)+8>>2];c[G>>2]=c[c[F>>2]>>2];c[n>>2]=c[K>>2];f=c[n>>2]|0;do if(c[J>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];f=1}else f=(Rw(k,l)|0)&255;c[q>>2]=1+(f&255);c[D>>2]=d[c[n>>2]>>0];K=c[D>>2]|0;c[o>>2]=K+(Ww(c[l>>2]|0)|0);c[p>>2]=1;c[x>>2]=(c[x>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[D>>2]=d[k>>0];f=1}else f=(Rw(k,D)|0)&255;c[q>>2]=f&255;c[o>>2]=c[D>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}K=(Rk(66745)|0)&255;a[(c[F>>2]|0)+7>>0]=K;c[E>>2]=0;K=c[E>>2]|0;i=I;return K|0}while(0);a:while(1){do if(e[(c[x>>2]|0)+8>>1]&4){c[B>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[B>>2]|0)>>>0>=12){c[H>>2]=1;break}if(!(c[B>>2]|0)){c[H>>2]=-1;break}if((c[B>>2]|0)==7){K=c[x>>2]|0;h[y>>3]=+((c[K>>2]|0)>>>0)+4294967296.0*+(c[K+4>>2]|0);Xw((c[n>>2]|0)+(c[o>>2]|0)|0,c[B>>2]|0,t)|0;if(+h[t>>3]<+h[y>>3]){c[H>>2]=-1;break}if(!(+h[t>>3]>+h[y>>3]))break;c[H>>2]=1;break}else{j=Yw(c[B>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;K=r;c[K>>2]=j;c[K+4>>2]=C;K=c[x>>2]|0;j=c[K+4>>2]|0;J=z;c[J>>2]=c[K>>2];c[J+4>>2]=j;J=r;j=c[J+4>>2]|0;K=z;l=c[K+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[J>>2]|0)>>>0<(c[K>>2]|0)>>>0:0)){c[H>>2]=-1;break}J=r;j=c[J+4>>2]|0;K=z;l=c[K+4>>2]|0;if(!((j|0)>(l|0)|((j|0)==(l|0)?(c[J>>2]|0)>>>0>(c[K>>2]|0)>>>0:0)))break;c[H>>2]=1;break}}else{if(e[(c[x>>2]|0)+8>>1]&8){c[B>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[B>>2]|0)>>>0>=12){c[H>>2]=1;break}if(!(c[B>>2]|0)){c[H>>2]=-1;break}h[A>>3]=+h[c[x>>2]>>3];Xw((c[n>>2]|0)+(c[o>>2]|0)|0,c[B>>2]|0,t)|0;if((c[B>>2]|0)==7)h[s>>3]=+h[t>>3];else{K=t;h[s>>3]=+((c[K>>2]|0)>>>0)+4294967296.0*+(c[K+4>>2]|0)}if(+h[s>>3]<+h[A>>3]){c[H>>2]=-1;break}if(!(+h[s>>3]>+h[A>>3]))break;c[H>>2]=1;break}if(!(e[(c[x>>2]|0)+8>>1]&2)){f=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[x>>2]|0)+8>>1]&16)){c[B>>2]=f;c[H>>2]=(c[B>>2]|0)!=0&1;break}k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((f|0)<128)c[B>>2]=d[k>>0];else Rw(k,B)|0;if((c[B>>2]|0)>>>0>=12?(c[B>>2]&1|0)==0:0){c[w>>2]=(((c[B>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[w>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){f=63;break a}if((c[w>>2]|0)<(c[(c[x>>2]|0)+12>>2]|0))f=c[w>>2]|0;else f=c[(c[x>>2]|0)+12>>2]|0;c[v>>2]=f;c[H>>2]=$G((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[x>>2]|0)+16>>2]|0,c[v>>2]|0)|0;if(c[H>>2]|0)break;c[H>>2]=(c[w>>2]|0)-(c[(c[x>>2]|0)+12>>2]|0);break}c[H>>2]=-1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[B>>2]=d[f>>0];else Rw(f,B)|0;if((c[B>>2]|0)>>>0<12){c[H>>2]=-1;break}if(!(c[B>>2]&1)){c[H>>2]=1;break}c[t+12>>2]=(((c[B>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[t+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){f=47;break a}if(c[(c[G>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[t+10>>0]=a[(c[G>>2]|0)+4>>0]|0;c[t+32>>2]=c[(c[G>>2]|0)+12>>2];b[t+8>>1]=2;c[t+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[H>>2]=Zw(t,c[x>>2]|0,c[(c[G>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[F>>2]|0)+7|0)|0;break}if((c[t+12>>2]|0)<(c[(c[x>>2]|0)+12>>2]|0))f=c[t+12>>2]|0;else f=c[(c[x>>2]|0)+12>>2]|0;c[u>>2]=f;c[H>>2]=$G((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[x>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=(c[t+12>>2]|0)-(c[(c[x>>2]|0)+12>>2]|0)}while(0);k=c[p>>2]|0;if(c[H>>2]|0){f=71;break}c[p>>2]=k+1;c[x>>2]=(c[x>>2]|0)+40;K=Ww(c[B>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+K;K=_w(c[B>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+K;if((c[q>>2]|0)>>>0>=(c[D>>2]|0)>>>0){f=77;break}if((c[p>>2]|0)>=(e[(c[F>>2]|0)+4>>1]|0)){f=77;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){f=77;break}}if((f|0)==47){K=(Rk(66824)|0)&255;a[(c[F>>2]|0)+7>>0]=K;c[E>>2]=0;K=c[E>>2]|0;i=I;return K|0}else if((f|0)==63){K=(Rk(66853)|0)&255;a[(c[F>>2]|0)+7>>0]=K;c[E>>2]=0;K=c[E>>2]|0;i=I;return K|0}else if((f|0)==71){if(a[(c[(c[G>>2]|0)+16>>2]|0)+k>>0]|0)c[H>>2]=0-(c[H>>2]|0);c[E>>2]=c[H>>2];K=c[E>>2]|0;i=I;return K|0}else if((f|0)==77){c[E>>2]=a[(c[F>>2]|0)+6>>0];K=c[E>>2]|0;i=I;return K|0}return 0}function Ww(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=12){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[26746+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function Xw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=DH(f|0,0,MH(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=ex(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[11684+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function Yw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=DH(b|0,0,MH(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function Zw(b,e,f,g){b=b|0;e=e|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;u=i;i=i+128|0;h=u+112|0;j=u+84|0;k=u+96|0;l=u+100|0;m=u+108|0;r=u+88|0;s=u+116|0;t=u+80|0;p=u+92|0;q=u+104|0;n=u;o=u+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=wb[c[(c[l>>2]|0)+12>>2]&15](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}$w(n,c[(c[j>>2]|0)+32>>2]|0,1);$w(o,c[(c[j>>2]|0)+32>>2]|0,1);ax(n,c[j>>2]|0,4096);ax(o,c[k>>2]|0,4096);c[s>>2]=Qe(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Qe(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=wb[c[(c[l>>2]|0)+12>>2]&15](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;Oe(n);Oe(o);if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function _w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=GH(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0?(c[e>>2]|0)<9:0);i=f;return c[e>>2]|0}function $w(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function ax(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312)bx(c[g>>2]|0);f=c[g>>2]|0;a=c[h>>2]|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}f=(c[g>>2]|0)+8|0;b[f>>1]=(e[f>>1]|0)&-7169;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|c[j>>2];i=k;return}function bx(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)cx(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){dx(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else nb[c[a+36>>2]&31](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function cx(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+80|0;f=k+76|0;g=k+72|0;j=k+68|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+20>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;a=e;d=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];nb[c[(c[g>>2]|0)+20>>2]&31](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Nd(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);a=c[f>>2]|0;d=a+40|0;do{c[a>>2]=c[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(d|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function dx(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Nd(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function ex(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=DH(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(fx(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function fx(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function gx(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;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+73>>0]|0)!=1){if((d[(c[j>>2]|0)+73>>0]|0)>=3)f=vw(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+73>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+68>>2]|0)!=0?(a[(c[j>>2]|0)+73>>0]=1,g=(c[(c[j>>2]|0)+68>>2]|0)>0,c[(c[j>>2]|0)+68>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2];g=(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+5>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=hx(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=ww(o,kj((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+6>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=hx(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(b[(c[j>>2]|0)+76>>1]|0)){o=17;break}yw(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2]}while((e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+73>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=sw(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function hx(f){f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[g>>2]=f;c[k>>2]=0;while(1){if(c[k>>2]|0){g=5;break}f=c[(c[g>>2]|0)+120+(b[(c[g>>2]|0)+76>>1]<<2)>>2]|0;c[h>>2]=f;if(!((a[f+5>>0]|0)!=0^1)){g=5;break}c[j>>2]=kj((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]&(d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[g>>2]|0)+78+(b[(c[g>>2]|0)+76>>1]<<1)>>1]<<1)>>0]<<8|d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[g>>2]|0)+78+(b[(c[g>>2]|0)+76>>1]<<1)>>1]<<1)+1>>0]))|0)|0;c[k>>2]=ww(c[g>>2]|0,c[j>>2]|0)|0}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=Tn(c[c[d>>2]>>2]|0,0,(c[e>>2]|0)+12|0,0)|0;if(!(c[h>>2]|0)){b=c[h>>2]|0;i=j;return b|0}c[g>>2]=vf(c[c[d>>2]>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[g>>2]|0)==0|(c[g>>2]|0)>=2)){b=c[h>>2]|0;i=j;return b|0}c[f>>2]=c[c[d>>2]>>2];b=ef(c[f>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(((c[c[h>>2]>>2]|0)-1|0)*72|0)+4>>2]=b;b=c[h>>2]|0;i=j;return b|0}function jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];dn(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);$m(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);an(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);dn(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=g;return}function kx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((Wq(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=(c[f>>2]|0)==0;do if(c[e>>2]|0)if(a){c[d>>2]=0;break}else{c[d>>2]=($b(c[e>>2]|0,c[f>>2]|0)|0)==0&1;break}else c[d>>2]=a&1;while(0);i=g;return c[d>>2]|0}function mx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=14;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=10;break}if(!(lx(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0)){g=12;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==10){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==12){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==14)if(oq(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function nx(a,d,e,f,g,h,j,k){a=a|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,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;E=i;i=i+96|0;l=E+84|0;m=E+44|0;n=E+24|0;o=E+32|0;p=E+12|0;q=E+16|0;r=E+48|0;s=E+56|0;D=E+80|0;z=E+88|0;B=E+36|0;A=E+8|0;w=E;x=E+4|0;t=E+40|0;y=E+20|0;u=E+52|0;C=E+28|0;v=E+60|0;c[l>>2]=a;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[D>>2]=c[(c[l>>2]|0)+8>>2];c[z>>2]=0;c[B>>2]=0;c[u>>2]=c[c[l>>2]>>2];c[C>>2]=Bp(c[u>>2]|0,c[n>>2]|0)|0;j=c[l>>2]|0;c[z>>2]=Nn(j,0,Qn(c[u>>2]|0,27,26900)|0)|0;if(c[p>>2]|0){e=c[l>>2]|0;j=c[z>>2]|0;c[z>>2]=Nn(e,j,mq(c[u>>2]|0,c[p>>2]|0,0)|0)|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[n>>2]|0)+38>>1]|0))break;k=c[u>>2]|0;h=c[x>>2]|0;if((c[(c[q>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)c[A>>2]=mq(k,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[(c[q>>2]|0)+(h<<2)>>2]|0)*20|0)>>2]|0,0)|0;else c[A>>2]=Qn(k,27,c[(c[(c[n>>2]|0)+4>>2]|0)+(h*24|0)>>2]|0)|0;c[z>>2]=Nn(c[l>>2]|0,c[z>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[B>>2]=Mn(c[l>>2]|0,c[z>>2]|0,c[m>>2]|0,c[r>>2]|0,0,0,0,0,0,0)|0;A=(c[l>>2]|0)+68|0;z=c[A>>2]|0;c[A>>2]=z+1;c[w>>2]=z;Ro(c[D>>2]|0,57,c[w>>2]|0,(b[(c[n>>2]|0)+38>>1]|0)+1+((c[p>>2]|0)!=0&1)|0)|0;xf(c[D>>2]|0,8);Ss(v,14,c[w>>2]|0);Kn(c[l>>2]|0,c[B>>2]|0,v)|0;z=(c[l>>2]|0)+72|0;A=(c[z>>2]|0)+1|0;c[z>>2]=A;c[y>>2]=A;A=(c[l>>2]|0)+72|0;c[A>>2]=(c[A>>2]|0)+((b[(c[n>>2]|0)+38>>1]|0)+1);c[t>>2]=Ro(c[D>>2]|0,108,c[w>>2]|0,0)|0;Uo(c[D>>2]|0,47,c[w>>2]|0,0,c[y>>2]|0)|0;Uo(c[D>>2]|0,47,c[w>>2]|0,(c[p>>2]|0)!=0?1:0,(c[y>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[n>>2]|0)+38>>1]|0))break;Uo(c[D>>2]|0,47,c[w>>2]|0,(c[x>>2]|0)+1+((c[p>>2]|0)!=0&1)|0,(c[y>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}vu(c[l>>2]|0,c[n>>2]|0);To(c[D>>2]|0,15,0,(b[(c[n>>2]|0)+38>>1]|0)+2|0,c[y>>2]|0,c[C>>2]|0,-10)|0;xf(c[D>>2]|0,((c[s>>2]|0)==10?2:c[s>>2]|0)&255);Cp(c[l>>2]|0);Ro(c[D>>2]|0,9,c[w>>2]|0,(c[t>>2]|0)+1|0)|0;jp(c[D>>2]|0,c[t>>2]|0);Ro(c[D>>2]|0,61,c[w>>2]|0,0)|0;an(c[u>>2]|0,c[B>>2]|0);i=E;return}function ox(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+492>>2];c[(c[f>>2]|0)+492>>2]=c[g>>2];i=e;return}function px(a,b,d,e){a=a|0;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,o=0,p=0;p=i;i=i+64|0;f=p+28|0;g=p+16|0;h=p+4|0;j=p+8|0;l=p+32|0;o=p;n=p+12|0;k=p+24|0;m=p+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=vf(c[k>>2]|0,c[(c[g>>2]|0)+68>>2]|0)|0;c[h>>2]=mq(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=Tn(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=ef(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=ef(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Mn(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,0,0,0)|0;Ss(l,12,c[j>>2]|0);Kn(c[f>>2]|0,c[o>>2]|0,l)|0;an(c[k>>2]|0,c[o>>2]|0);i=p;return}function qx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+38>>0]|0|0}function rx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+492>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function sx(a,b,d,e){a=a|0;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,o=0,p=0;p=i;i=i+48|0;k=p+28|0;f=p+16|0;l=p+4|0;m=p+8|0;n=p+32|0;o=p;j=p+12|0;g=p+24|0;h=p+20|0;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=hm(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((dm(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;e=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;f=e+72|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(f|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);BH((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+40>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function tx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;h=j;f=j+20|0;g=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;c[g>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){sf(c[g>>2]|0,27637,h);c[f>>2]=1;m=c[f>>2]|0;i=j;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=j;return m|0}function ux(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;er(c[e>>2]|0,b);i=d;return c[b>>2]|0}function vx(f,g,h,j,k){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,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;x=Q+56|0;t=Q+48|0;u=Q+44|0;y=Q+100|0;z=Q+92|0;A=Q+16|0;m=Q+20|0;I=Q+24|0;K=Q+28|0;L=Q+32|0;J=Q+36|0;M=Q+88|0;G=Q+96|0;D=Q+104|0;C=Q+108|0;O=Q+112|0;N=Q+60|0;B=Q+64|0;l=Q+68|0;o=Q+72|0;q=Q+76|0;n=Q+12|0;p=Q+8|0;r=Q+80|0;v=Q+4|0;w=Q;F=Q+40|0;E=Q+116|0;P=Q+52|0;H=Q+84|0;c[t>>2]=f;c[u>>2]=g;c[y>>2]=h;c[z>>2]=j;c[A>>2]=k;c[m>>2]=c[(c[t>>2]|0)+492>>2];c[B>>2]=c[c[t>>2]>>2];if(e[(c[B>>2]|0)+60>>1]&1){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[u>>2]|0)+32>>2];c[N>>2]=(c[J>>2]|0)+8+((c[y>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+40>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];if((c[z>>2]|0)!=0&(c[A>>2]|0)!=0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[c[J>>2]>>2]|0)>1:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}c[M>>2]=c[(c[K>>2]|0)+32>>2];if((c[(c[K>>2]|0)+60>>2]|0)!=0?(c[(c[u>>2]|0)+60>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+64>>2]|0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((e[(c[u>>2]|0)+6>>1]&64|0)!=0?(c[(c[K>>2]|0)+60>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(e[(c[K>>2]|0)+6>>1]&1){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?((c[z>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(e[(c[u>>2]|0)+6>>1]&1|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[(c[u>>2]|0)+48>>2]|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[z>>2]|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?(c[(c[u>>2]|0)+36>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?(e[(c[u>>2]|0)+6>>1]&1|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(e[(c[K>>2]|0)+6>>1]&6144){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((e[(c[u>>2]|0)+6>>1]&2048|0)!=0?(c[(c[K>>2]|0)+52>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+52>>2]|0){if(c[(c[K>>2]|0)+48>>2]|0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}do if(!(c[z>>2]|0)){if(e[(c[u>>2]|0)+6>>1]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(e[(c[L>>2]|0)+6>>1]&5){s=58;break}if((c[(c[L>>2]|0)+52>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){s=58;break}if((c[c[(c[L>>2]|0)+32>>2]>>2]|0)<1){s=58;break}if((c[c[c[K>>2]>>2]>>2]|0)!=(c[c[c[L>>2]>>2]>>2]|0)){s=58;break}c[L>>2]=c[(c[L>>2]|0)+52>>2]}if((s|0)==58){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(!(c[(c[u>>2]|0)+48>>2]|0))break a;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[(c[u>>2]|0)+48>>2]>>2]|0))break a;if(!(e[(c[(c[(c[u>>2]|0)+48>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)+16>>1]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}while(0);c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}while(0);c[(c[t>>2]|0)+492>>2]=c[(c[N>>2]|0)+8>>2];Mo(c[t>>2]|0,21,0,0,0)|0;c[(c[t>>2]|0)+492>>2]=c[m>>2];c[K>>2]=c[(c[K>>2]|0)+52>>2];while(1){if(!(c[K>>2]|0))break;c[q>>2]=c[(c[u>>2]|0)+48>>2];c[n>>2]=c[(c[u>>2]|0)+60>>2];c[p>>2]=c[(c[u>>2]|0)+64>>2];c[r>>2]=c[(c[u>>2]|0)+52>>2];c[(c[u>>2]|0)+48>>2]=0;c[(c[u>>2]|0)+32>>2]=0;c[(c[u>>2]|0)+52>>2]=0;c[(c[u>>2]|0)+60>>2]=0;c[(c[u>>2]|0)+64>>2]=0;c[o>>2]=Hp(c[B>>2]|0,c[u>>2]|0,0)|0;c[(c[u>>2]|0)+64>>2]=c[p>>2];c[(c[u>>2]|0)+60>>2]=c[n>>2];c[(c[u>>2]|0)+48>>2]=c[q>>2];c[(c[u>>2]|0)+32>>2]=c[J>>2];a[(c[u>>2]|0)+4>>0]=116;h=c[r>>2]|0;if(!(c[o>>2]|0))c[(c[u>>2]|0)+52>>2]=h;else{c[(c[o>>2]|0)+52>>2]=h;if(c[r>>2]|0)c[(c[r>>2]|0)+56>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=c[u>>2];c[(c[u>>2]|0)+52>>2]=c[o>>2]}if(a[(c[B>>2]|0)+64>>0]|0){s=74;break}c[K>>2]=c[(c[K>>2]|0)+52>>2]}if((s|0)==74){c[x>>2]=1;P=c[x>>2]|0;i=Q;return P|0}s=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=s;c[K>>2]=s;Nd(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Nd(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Nd(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[v>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[v>>2]|0)+40>>1]|0)==1){h=c[t>>2]|0;if(c[(c[t>>2]|0)+408>>2]|0)h=c[h+408>>2]|0;c[w>>2]=h;c[(c[v>>2]|0)+72>>2]=c[(c[w>>2]|0)+524>>2];c[(c[w>>2]|0)+524>>2]=c[v>>2]}else{w=(c[v>>2]|0)+40|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[u>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+32>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+32>>2];if(!(c[J>>2]|0)){w=Tn(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+32>>2]=w;c[J>>2]=w;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(w=sx(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[y>>2]|0)+1|0)|0,c[J>>2]=w,c[(c[I>>2]|0)+32>>2]=w,(a[(c[B>>2]|0)+64>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;en(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[y>>2]|0)|0)*72|0)+48>>2]|0);j=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[y>>2]|0)|0)*72|0)|0;l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;h=j+72|0;do{c[j>>2]=c[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(h|0));j=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;h=j+72|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(h|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[y>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=ef(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Jo(c[P>>2]|0)|0;c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}gy(c[B>>2]|0,c[c[I>>2]>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0);if(c[z>>2]|0){gy(c[B>>2]|0,c[(c[I>>2]|0)+40>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0);w=hy(c[B>>2]|0,c[(c[I>>2]|0)+44>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0)|0;c[(c[I>>2]|0)+44>>2]=w}do if(c[(c[K>>2]|0)+48>>2]|0){c[H>>2]=c[(c[K>>2]|0)+48>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+48>>2]=c[H>>2];c[(c[K>>2]|0)+48>>2]=0}else{if(!(c[(c[I>>2]|0)+48>>2]|0))break;gy(c[B>>2]|0,c[(c[I>>2]|0)+48>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0)}while(0);if(c[(c[K>>2]|0)+36>>2]|0)c[O>>2]=mq(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;else c[O>>2]=0;if(c[A>>2]|0){c[(c[I>>2]|0)+44>>2]=c[(c[I>>2]|0)+36>>2];c[(c[I>>2]|0)+36>>2]=c[O>>2];v=hy(c[B>>2]|0,c[(c[I>>2]|0)+44>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0)|0;c[(c[I>>2]|0)+44>>2]=v;v=c[B>>2]|0;w=c[(c[I>>2]|0)+44>>2]|0;w=_q(v,w,mq(c[B>>2]|0,c[(c[K>>2]|0)+44>>2]|0,0)|0)|0;c[(c[I>>2]|0)+44>>2]=w;w=uq(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0;c[(c[I>>2]|0)+40>>2]=w}else{w=hy(c[B>>2]|0,c[(c[I>>2]|0)+36>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0)|0;c[(c[I>>2]|0)+36>>2]=w;w=_q(c[B>>2]|0,c[(c[I>>2]|0)+36>>2]|0,c[O>>2]|0)|0;c[(c[I>>2]|0)+36>>2]=w}w=(c[I>>2]|0)+6|0;b[w>>1]=e[w>>1]|e[(c[K>>2]|0)+6>>1]&1;if(c[(c[K>>2]|0)+60>>2]|0){c[(c[I>>2]|0)+60>>2]=c[(c[K>>2]|0)+60>>2];c[(c[K>>2]|0)+60>>2]=0}c[I>>2]=c[(c[I>>2]|0)+52>>2];c[K>>2]=c[(c[K>>2]|0)+52>>2]}an(c[B>>2]|0,c[L>>2]|0);c[x>>2]=1;P=c[x>>2]|0;i=Q;return P|0}function wx(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+56>>2]=0;i=d;return}function xx(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,A=0,B=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;ca=i;i=i+256|0;ba=ca+16|0;aa=ca+24|0;k=ca;j=ca+8|0;V=ca+200|0;l=ca+36|0;W=ca+208|0;X=ca+100|0;$=ca+88|0;N=ca+40|0;U=ca+48|0;Z=ca+52|0;_=ca+72|0;Y=ca+76|0;y=ca+80|0;z=ca+104|0;m=ca+92|0;D=ca+84|0;S=ca+204|0;E=ca+240|0;O=ca+220|0;I=ca+228|0;L=ca+232|0;n=ca+236|0;T=ca+120|0;u=ca+140|0;s=ca+224|0;w=ca+148|0;F=ca+152|0;Q=ca+156|0;R=ca+160|0;v=ca+164|0;t=ca+168|0;x=ca+172|0;J=ca+176|0;M=ca+28|0;o=ca+44|0;A=ca+180|0;P=ca+96|0;G=ca+216|0;r=ca+116|0;H=ca+32|0;K=ca+144|0;q=ca+108|0;B=ca+112|0;p=ca+212|0;c[l>>2]=f;c[W>>2]=g;c[X>>2]=h;c[$>>2]=0;c[_>>2]=0;c[y>>2]=0;c[z>>2]=0;c[Y>>2]=c[c[l>>2]>>2];c[N>>2]=c[(c[W>>2]|0)+52>>2];f=c[X>>2]|0;c[Z>>2]=c[f>>2];c[Z+4>>2]=c[f+4>>2];c[Z+8>>2]=c[f+8>>2];c[Z+12>>2]=c[f+12>>2];c[Z+16>>2]=c[f+16>>2];a:do if(!(c[(c[N>>2]|0)+48>>2]|0)){h=c[l>>2]|0;if(c[(c[N>>2]|0)+60>>2]|0){c[k>>2]=$x(d[(c[W>>2]|0)+4>>0]|0)|0;sf(h,27375,k);c[$>>2]=1;break}c[U>>2]=Po(h)|0;if((d[Z>>0]|0|0)==12){Ro(c[U>>2]|0,57,c[Z+4>>2]|0,c[c[c[W>>2]>>2]>>2]|0)|0;xf(c[U>>2]|0,8);a[Z>>0]=14}g=e[(c[W>>2]|0)+6>>1]|0;if((c[c[c[W>>2]>>2]>>2]|0)!=(c[c[c[N>>2]>>2]>>2]|0)){h=c[l>>2]|0;if(g&128)sf(h,27420,aa);else{c[ba>>2]=$x(d[(c[W>>2]|0)+4>>0]|0)|0;sf(h,27466,ba)}c[$>>2]=1;break}b:do if(g&2048)ay(c[l>>2]|0,c[W>>2]|0,Z);else{if(c[(c[W>>2]|0)+48>>2]|0){c[V>>2]=by(c[l>>2]|0,c[W>>2]|0,c[X>>2]|0)|0;ba=c[V>>2]|0;i=ca;return ba|0}switch(d[(c[W>>2]|0)+4>>0]|0|0){case 116:{c[m>>2]=0;c[(c[N>>2]|0)+8>>2]=c[(c[W>>2]|0)+8>>2];c[(c[N>>2]|0)+12>>2]=c[(c[W>>2]|0)+12>>2];c[(c[N>>2]|0)+60>>2]=c[(c[W>>2]|0)+60>>2];c[(c[N>>2]|0)+64>>2]=c[(c[W>>2]|0)+64>>2];c[y>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[N>>2]|0,Z)|0;c[(c[W>>2]|0)+60>>2]=0;c[(c[W>>2]|0)+64>>2]=0;if(c[$>>2]|0)break a;c[(c[W>>2]|0)+52>>2]=0;c[(c[W>>2]|0)+8>>2]=c[(c[N>>2]|0)+8>>2];c[(c[W>>2]|0)+12>>2]=c[(c[N>>2]|0)+12>>2];if(c[(c[W>>2]|0)+8>>2]|0)c[m>>2]=ur(c[U>>2]|0,139,c[(c[W>>2]|0)+8>>2]|0)|0;c[z>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[W>>2]|0,Z)|0;c[_>>2]=c[(c[W>>2]|0)+52>>2];c[(c[W>>2]|0)+52>>2]=c[N>>2];aa=(c[N>>2]|0)+24|0;ba=(c[W>>2]|0)+24|0;T=ba;c[ba>>2]=DH(c[T>>2]|0,c[T+4>>2]|0,c[aa>>2]|0,c[aa+4>>2]|0)|0;c[ba+4>>2]=C;if(((c[(c[N>>2]|0)+60>>2]|0)!=0?(ba=(jq(c[(c[N>>2]|0)+60>>2]|0,D)|0)!=0,ba&(c[D>>2]|0)>0):0)?(aa=(c[W>>2]|0)+24|0,S=c[aa+4>>2]|0,ba=c[D>>2]|0,T=((ba|0)<0)<<31>>31,S>>>0>T>>>0|((S|0)==(T|0)?(c[aa>>2]|0)>>>0>ba>>>0:0)):0){aa=c[D>>2]|0;ba=(c[W>>2]|0)+24|0;c[ba>>2]=aa;c[ba+4>>2]=((aa|0)<0)<<31>>31}if(!(c[m>>2]|0))break b;jp(c[U>>2]|0,c[m>>2]|0);break b}case 115:case 117:{a[E>>0]=0;c[O>>2]=1;if((d[Z>>0]|0|0)==(c[O>>2]|0))c[S>>2]=c[Z+4>>2];else{aa=(c[l>>2]|0)+68|0;ba=c[aa>>2]|0;c[aa>>2]=ba+1;c[S>>2]=ba;c[n>>2]=Ro(c[U>>2]|0,57,c[S>>2]|0,0)|0;c[(c[W>>2]|0)+16>>2]=c[n>>2];ba=(Rq(c[W>>2]|0)|0)+6|0;b[ba>>1]=e[ba>>1]|0|8}Ss(T,c[O>>2]|0,c[S>>2]|0);c[y>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[N>>2]|0,T)|0;if(c[$>>2]|0)break a;if((d[(c[W>>2]|0)+4>>0]|0|0)==117)a[E>>0]=2;else a[E>>0]=1;c[(c[W>>2]|0)+52>>2]=0;c[I>>2]=c[(c[W>>2]|0)+60>>2];c[(c[W>>2]|0)+60>>2]=0;c[L>>2]=c[(c[W>>2]|0)+64>>2];c[(c[W>>2]|0)+64>>2]=0;a[T>>0]=a[E>>0]|0;c[z>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[W>>2]|0,T)|0;$m(c[Y>>2]|0,c[(c[W>>2]|0)+48>>2]|0);c[_>>2]=c[(c[W>>2]|0)+52>>2];c[(c[W>>2]|0)+52>>2]=c[N>>2];c[(c[W>>2]|0)+48>>2]=0;if((d[(c[W>>2]|0)+4>>0]|0|0)==115){aa=(c[N>>2]|0)+24|0;ba=(c[W>>2]|0)+24|0;T=ba;aa=DH(c[T>>2]|0,c[T+4>>2]|0,c[aa>>2]|0,c[aa+4>>2]|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}dn(c[Y>>2]|0,c[(c[W>>2]|0)+60>>2]|0);c[(c[W>>2]|0)+60>>2]=c[I>>2];c[(c[W>>2]|0)+64>>2]=c[L>>2];c[(c[W>>2]|0)+8>>2]=0;c[(c[W>>2]|0)+12>>2]=0;if((d[Z>>0]|0|0)==(c[O>>2]|0))break b;if((d[Z>>0]|0|0)==9){c[F>>2]=c[W>>2];while(1){if(!(c[(c[F>>2]|0)+52>>2]|0))break;c[F>>2]=c[(c[F>>2]|0)+52>>2]}Sx(c[l>>2]|0,0,c[c[F>>2]>>2]|0)}c[s>>2]=zr(c[U>>2]|0)|0;c[u>>2]=zr(c[U>>2]|0)|0;zx(c[l>>2]|0,c[W>>2]|0,c[s>>2]|0);Ro(c[U>>2]|0,108,c[S>>2]|0,c[s>>2]|0)|0;c[w>>2]=yr(c[U>>2]|0)|0;Fx(c[l>>2]|0,c[W>>2]|0,c[c[W>>2]>>2]|0,c[S>>2]|0,0,0,Z,c[u>>2]|0,c[s>>2]|0);Br(c[U>>2]|0,c[u>>2]|0);Ro(c[U>>2]|0,9,c[S>>2]|0,c[w>>2]|0)|0;Br(c[U>>2]|0,c[s>>2]|0);Ro(c[U>>2]|0,61,c[S>>2]|0,0)|0;break b}default:{ba=(c[l>>2]|0)+68|0;aa=c[ba>>2]|0;c[ba>>2]=aa+1;c[Q>>2]=aa;aa=(c[l>>2]|0)+68|0;ba=c[aa>>2]|0;c[aa>>2]=ba+1;c[R>>2]=ba;c[o>>2]=Ro(c[U>>2]|0,57,c[Q>>2]|0,0)|0;c[(c[W>>2]|0)+16>>2]=c[o>>2];ba=(Rq(c[W>>2]|0)|0)+6|0;b[ba>>1]=e[ba>>1]|0|8;Ss(A,1,c[Q>>2]|0);c[y>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[N>>2]|0,A)|0;if(c[$>>2]|0)break a;c[o>>2]=Ro(c[U>>2]|0,57,c[R>>2]|0,0)|0;c[(c[W>>2]|0)+16+4>>2]=c[o>>2];c[(c[W>>2]|0)+52>>2]=0;c[J>>2]=c[(c[W>>2]|0)+60>>2];c[(c[W>>2]|0)+60>>2]=0;c[M>>2]=c[(c[W>>2]|0)+64>>2];c[(c[W>>2]|0)+64>>2]=0;c[A+4>>2]=c[R>>2];c[z>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[W>>2]|0,A)|0;c[_>>2]=c[(c[W>>2]|0)+52>>2];c[(c[W>>2]|0)+52>>2]=c[N>>2];aa=(c[W>>2]|0)+24|0;S=c[aa+4>>2]|0;ba=(c[N>>2]|0)+24|0;T=c[ba+4>>2]|0;if(S>>>0>T>>>0|((S|0)==(T|0)?(c[aa>>2]|0)>>>0>(c[ba>>2]|0)>>>0:0)){T=(c[N>>2]|0)+24|0;aa=c[T+4>>2]|0;ba=(c[W>>2]|0)+24|0;c[ba>>2]=c[T>>2];c[ba+4>>2]=aa}dn(c[Y>>2]|0,c[(c[W>>2]|0)+60>>2]|0);c[(c[W>>2]|0)+60>>2]=c[J>>2];c[(c[W>>2]|0)+64>>2]=c[M>>2];if((d[Z>>0]|0|0)==9){c[G>>2]=c[W>>2];while(1){if(!(c[(c[G>>2]|0)+52>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+52>>2]}Sx(c[l>>2]|0,0,c[c[G>>2]>>2]|0)}c[t>>2]=zr(c[U>>2]|0)|0;c[v>>2]=zr(c[U>>2]|0)|0;zx(c[l>>2]|0,c[W>>2]|0,c[t>>2]|0);Ro(c[U>>2]|0,108,c[Q>>2]|0,c[t>>2]|0)|0;c[P>>2]=Wo(c[l>>2]|0)|0;c[x>>2]=Ro(c[U>>2]|0,101,c[Q>>2]|0,c[P>>2]|0)|0;wf(c[U>>2]|0,68,c[R>>2]|0,c[v>>2]|0,c[P>>2]|0,0)|0;Xo(c[l>>2]|0,c[P>>2]|0);Fx(c[l>>2]|0,c[W>>2]|0,c[c[W>>2]>>2]|0,c[Q>>2]|0,0,0,Z,c[v>>2]|0,c[t>>2]|0);Br(c[U>>2]|0,c[v>>2]|0);Ro(c[U>>2]|0,9,c[Q>>2]|0,c[x>>2]|0)|0;Br(c[U>>2]|0,c[t>>2]|0);Ro(c[U>>2]|0,61,c[R>>2]|0,0)|0;Ro(c[U>>2]|0,61,c[Q>>2]|0,0)|0;break b}}}while(0);cy(c[l>>2]|0,d[(c[W>>2]|0)+4>>0]|0,c[y>>2]|0,c[z>>2]|0,(d[(c[W>>2]|0)+4>>0]|0|0)!=116&1);if((e[(c[W>>2]|0)+6>>1]|0)&8){c[B>>2]=c[c[c[W>>2]>>2]>>2];c[H>>2]=Jr(c[Y>>2]|0,c[B>>2]|0,1)|0;if(!(c[H>>2]|0)){c[$>>2]=7;break}c[r>>2]=0;c[q>>2]=(c[H>>2]|0)+20;while(1){if((c[r>>2]|0)>=(c[B>>2]|0))break;ba=dy(c[l>>2]|0,c[W>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=ba;if(!(c[c[q>>2]>>2]|0))c[c[q>>2]>>2]=c[(c[Y>>2]|0)+8>>2];c[r>>2]=(c[r>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+4}c[K>>2]=c[W>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=2)break;c[p>>2]=c[(c[K>>2]|0)+16+(c[r>>2]<<2)>>2];if((c[p>>2]|0)<0)break;Bf(c[U>>2]|0,c[p>>2]|0,c[B>>2]|0);aa=c[U>>2]|0;ba=c[p>>2]|0;Df(aa,ba,Kr(c[H>>2]|0)|0,-6);c[(c[K>>2]|0)+16+(c[r>>2]<<2)>>2]=-1;c[r>>2]=(c[r>>2]|0)+1}c[K>>2]=c[(c[K>>2]|0)+52>>2]}ah(c[H>>2]|0)}}else{ba=c[l>>2]|0;c[j>>2]=$x(d[(c[W>>2]|0)+4>>0]|0)|0;sf(ba,27327,j);c[$>>2]=1}while(0);c[(c[X>>2]|0)+8>>2]=c[Z+8>>2];c[(c[X>>2]|0)+12>>2]=c[Z+12>>2];an(c[Y>>2]|0,c[_>>2]|0);c[V>>2]=c[$>>2];ba=c[V>>2]|0;i=ca;return ba|0}function yx(b,d,e,f){b=b|0;d=d|0;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;q=i;i=i+48|0;g=q;h=q+16|0;j=q+28|0;r=q+4|0;m=q+32|0;o=q+36|0;p=q+12|0;k=q+24|0;l=q+20|0;n=q+8|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Jr(c[k>>2]|0,(c[m>>2]|0)+(c[r>>2]|0)-(c[j>>2]|0)|0,1)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=Pp(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function zx(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+4|0;f=n+16|0;g=n+8|0;m=n+20|0;j=n+28|0;k=n;h=n+12|0;l=n+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;c[j>>2]=0;if(c[(c[f>>2]|0)+8>>2]|0){i=n;return}$t(c[e>>2]|0);if(!(c[(c[f>>2]|0)+60>>2]|0)){i=n;return}b=(c[e>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[j>>2]=a;c[(c[f>>2]|0)+8>>2]=a;c[m>>2]=Po(c[e>>2]|0)|0;do if(jq(c[(c[f>>2]|0)+60>>2]|0,l)|0){Ro(c[m>>2]|0,25,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Ro(c[m>>2]|0,16,0,c[g>>2]|0)|0;break}if((c[l>>2]|0)>=0?(b=(c[f>>2]|0)+24|0,g=c[b+4>>2]|0,a=c[l>>2]|0,d=((a|0)<0)<<31>>31,g>>>0>d>>>0|((g|0)==(d|0)?(c[b>>2]|0)>>>0>a>>>0:0)):0){b=c[l>>2]|0;a=(c[f>>2]|0)+24|0;c[a>>2]=b;c[a+4>>2]=((b|0)<0)<<31>>31}}else{Fs(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0,c[j>>2]|0);ur(c[m>>2]|0,38,c[j>>2]|0)|0;Ro(c[m>>2]|0,139,c[j>>2]|0,c[g>>2]|0)|0}while(0);if(!(c[(c[f>>2]|0)+64>>2]|0)){i=n;return}b=(c[e>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[k>>2]=a;c[(c[f>>2]|0)+12>>2]=a;a=(c[e>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+1;Fs(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0,c[k>>2]|0);ur(c[m>>2]|0,38,c[k>>2]|0)|0;c[h>>2]=ur(c[m>>2]|0,137,c[k>>2]|0)|0;Ro(c[m>>2]|0,25,0,c[k>>2]|0)|0;jp(c[m>>2]|0,c[h>>2]|0);Uo(c[m>>2]|0,89,c[j>>2]|0,c[k>>2]|0,(c[k>>2]|0)+1|0)|0;c[h>>2]=ur(c[m>>2]|0,137,c[j>>2]|0)|0;Ro(c[m>>2]|0,25,-1,(c[k>>2]|0)+1|0)|0;jp(c[m>>2]|0,c[h>>2]|0);i=n;return}function Ax(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=Wt(b[(c[e>>2]|0)+32>>1]|0)|0;i=d;return a|0}function Bx(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+40>>0]|0|0}function Cx(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+36>>0]|0}function Dx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function Ex(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function Fx(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;U=i;i=i+128|0;P=U+60|0;Q=U+56|0;s=U+44|0;o=U+108|0;R=U+116|0;p=U+16|0;L=U+20|0;t=U+24|0;S=U+28|0;T=U+32|0;C=U+36|0;q=U+88|0;O=U+96|0;B=U+104|0;N=U+112|0;E=U+120|0;M=U+124|0;r=U+64|0;v=U+68|0;z=U+72|0;w=U+76|0;x=U+80|0;G=U+12|0;u=U+8|0;J=U;H=U+4|0;D=U+84|0;I=U+40|0;K=U+92|0;y=U+48|0;A=U+100|0;F=U+52|0;c[P>>2]=b;c[Q>>2]=f;c[s>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[L>>2]=l;c[t>>2]=m;c[S>>2]=n;c[T>>2]=c[(c[P>>2]|0)+8>>2];c[B>>2]=d[c[L>>2]>>0];c[N>>2]=c[(c[L>>2]|0)+4>>2];c[M>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[q>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[q>>2]|0)!=0))Ux(c[T>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[t>>2]|0);c[E>>2]=c[c[s>>2]>>2];if(c[(c[L>>2]|0)+8>>2]|0){if(((c[(c[L>>2]|0)+8>>2]|0)+(c[E>>2]|0)|0)>(c[(c[P>>2]|0)+72>>2]|0)){h=(c[P>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[E>>2]|0)}}else{if(c[R>>2]|0){c[M>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+24>>0]|0)&1))c[M>>2]=(c[M>>2]|0)+1;h=(c[P>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[M>>2]|0)}c[(c[L>>2]|0)+8>>2]=(c[(c[P>>2]|0)+72>>2]|0)+1;h=(c[P>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[E>>2]|0)}c[(c[L>>2]|0)+12>>2]=c[E>>2];c[O>>2]=c[(c[L>>2]|0)+8>>2];a:do if((c[o>>2]|0)<0){if((c[B>>2]|0)!=3)Ns(c[P>>2]|0,c[s>>2]|0,c[O>>2]|0,(((c[B>>2]|0)==9?1:(c[B>>2]|0)==13)?1:0)&255)|0}else{c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[E>>2]|0))break a;Uo(c[T>>2]|0,47,c[o>>2]|0,c[C>>2]|0,(c[O>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}}while(0);if(c[q>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[z>>2]=(c[(c[P>>2]|0)+72>>2]|0)+1;q=(c[P>>2]|0)+72|0;c[q>>2]=(c[q>>2]|0)+(c[E>>2]|0);Ef(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0);c[r>>2]=Ws(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[r>>2]>>0]=28;c[(c[r>>2]|0)+4>>2]=1;c[(c[r>>2]|0)+8>>2]=c[z>>2];c[v>>2]=(yr(c[T>>2]|0)|0)+(c[E>>2]|0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[E>>2]|0))break;c[w>>2]=Pp(c[P>>2]|0,c[(c[(c[s>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0)|0;m=c[T>>2]|0;n=(c[O>>2]|0)+(c[C>>2]|0)|0;if((c[C>>2]|0)<((c[E>>2]|0)-1|0))Uo(m,78,n,c[v>>2]|0,(c[z>>2]|0)+(c[C>>2]|0)|0)|0;else Uo(m,79,n,c[t>>2]|0,(c[z>>2]|0)+(c[C>>2]|0)|0)|0;Df(c[T>>2]|0,-1,c[w>>2]|0,-4);xf(c[T>>2]|0,-128);c[C>>2]=(c[C>>2]|0)+1}Uo(c[T>>2]|0,33,c[O>>2]|0,c[z>>2]|0,(c[E>>2]|0)-1|0)|0;break}case 1:{Ef(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0);break}default:Vx(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[t>>2]|0,c[E>>2]|0,c[O>>2]|0)}if(!(c[R>>2]|0))Ux(c[T>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[t>>2]|0)}b:do switch(c[B>>2]|0){case 1:{c[x>>2]=Wo(c[P>>2]|0)|0;Uo(c[T>>2]|0,49,c[O>>2]|0,c[E>>2]|0,c[x>>2]|0)|0;Ro(c[T>>2]|0,110,c[N>>2]|0,c[x>>2]|0)|0;Xo(c[P>>2]|0,c[x>>2]|0);break}case 2:{Uo(c[T>>2]|0,111,c[N>>2]|0,c[O>>2]|0,c[E>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[G>>2]=ps(c[P>>2]|0,(c[M>>2]|0)+1|0)|0;Uo(c[T>>2]|0,49,c[O>>2]|0,c[E>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0)|0;if((c[B>>2]|0)==6){c[u>>2]=(yr(c[T>>2]|0)|0)+4;wf(c[T>>2]|0,69,(c[N>>2]|0)+1|0,c[u>>2]|0,c[G>>2]|0,0)|0;Ro(c[T>>2]|0,110,(c[N>>2]|0)+1|0,c[G>>2]|0)|0}m=c[P>>2]|0;if(c[R>>2]|0)_x(m,c[R>>2]|0,c[Q>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0,1,c[M>>2]|0);else{c[J>>2]=Wo(m)|0;Ro(c[T>>2]|0,74,c[N>>2]|0,c[J>>2]|0)|0;Uo(c[T>>2]|0,75,c[N>>2]|0,c[G>>2]|0,c[J>>2]|0)|0;xf(c[T>>2]|0,8);Xo(c[P>>2]|0,c[J>>2]|0)}ss(c[P>>2]|0,c[G>>2]|0,(c[M>>2]|0)+1|0);break}case 11:{m=bt(c[c[(c[s>>2]|0)+4>>2]>>2]|0,a[(c[L>>2]|0)+1>>0]|0)|0;a[(c[L>>2]|0)+1>>0]=m;m=c[P>>2]|0;if(c[R>>2]|0){_x(m,c[R>>2]|0,c[Q>>2]|0,c[O>>2]|0,1,c[M>>2]|0);break b}else{c[H>>2]=Wo(m)|0;To(c[T>>2]|0,49,c[O>>2]|0,1,c[H>>2]|0,(c[L>>2]|0)+1|0,1)|0;Ls(c[P>>2]|0,c[O>>2]|0,1);Ro(c[T>>2]|0,110,c[N>>2]|0,c[H>>2]|0)|0;Xo(c[P>>2]|0,c[H>>2]|0);break b}}case 3:{Ro(c[T>>2]|0,25,1,c[N>>2]|0)|0;break}case 10:{if(c[R>>2]|0)_x(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[O>>2]|0,1,c[M>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){_x(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[O>>2]|0,c[E>>2]|0,c[M>>2]|0);break b}m=c[T>>2]|0;if((c[B>>2]|0)==13){ur(m,22,c[(c[L>>2]|0)+4>>2]|0)|0;break b}else{Ro(m,35,c[O>>2]|0,c[E>>2]|0)|0;Ls(c[P>>2]|0,c[O>>2]|0,c[E>>2]|0);break b}}case 7:case 8:{c[A>>2]=0;c[F>>2]=c[(c[L>>2]|0)+16>>2];c[D>>2]=c[c[F>>2]>>2];c[I>>2]=Wo(c[P>>2]|0)|0;c[K>>2]=ps(c[P>>2]|0,(c[D>>2]|0)+2|0)|0;c[y>>2]=(c[K>>2]|0)+(c[D>>2]|0)+1;if((c[B>>2]|0)==8)c[A>>2]=wf(c[T>>2]|0,69,(c[N>>2]|0)+1|0,0,c[O>>2]|0,c[E>>2]|0)|0;Uo(c[T>>2]|0,49,c[O>>2]|0,c[E>>2]|0,c[y>>2]|0)|0;if((c[B>>2]|0)==8){Ro(c[T>>2]|0,110,(c[N>>2]|0)+1|0,c[y>>2]|0)|0;xf(c[T>>2]|0,16)}c[C>>2]=0;while(1){m=c[T>>2]|0;if((c[C>>2]|0)>=(c[D>>2]|0))break;Ro(m,34,(c[O>>2]|0)+(e[(c[(c[F>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]|0)-1|0,(c[K>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}Ro(m,73,c[N>>2]|0,(c[K>>2]|0)+(c[D>>2]|0)|0)|0;Uo(c[T>>2]|0,49,c[K>>2]|0,(c[D>>2]|0)+2|0,c[I>>2]|0)|0;Ro(c[T>>2]|0,110,c[N>>2]|0,c[I>>2]|0)|0;if(c[A>>2]|0)jp(c[T>>2]|0,c[A>>2]|0);Xo(c[P>>2]|0,c[I>>2]|0);ss(c[P>>2]|0,c[K>>2]|0,(c[D>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=U;return}if(!(c[(c[Q>>2]|0)+8>>2]|0)){i=U;return}Uo(c[T>>2]|0,139,c[(c[Q>>2]|0)+8>>2]|0,c[S>>2]|0,-1)|0;i=U;return}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;Hx(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function Hx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;e=d+24|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=52;c[f+4>>2]=53;c[f+20>>2]=c[g>>2];dq(f,c[e>>2]|0)|0;i=d;return}function Ix(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+450>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=tf(b,27304,h)|0;To(c[g>>2]|0,155,c[(c[e>>2]|0)+464>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function Jx(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+37>>0]|0|0}function Kx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;Uo(c[(c[j>>2]|0)+8>>2]|0,32,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;ts(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Lx(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;v=i;i=i+64|0;f=v+52|0;g=v+44|0;u=v+24|0;k=v+20|0;t=v+12|0;h=v+40|0;p=v+48|0;n=v+56|0;m=v+28|0;j=v+8|0;s=v+4|0;r=v+32|0;o=v;q=v+16|0;l=v+36|0;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=ps(c[f>>2]|0,c[m>>2]|0)|0;Ns(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=zr(c[u>>2]|0)|0;Vx(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=Pp(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+72|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}To(c[u>>2]|0,36,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}To(c[u>>2]|0,10,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;xf(c[u>>2]|0,c[m>>2]&255);Ls(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);ss(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){Br(c[u>>2]|0,c[j>>2]|0);$t(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=ur(c[u>>2]|0,45,c[t>>2]|0)|0;$t(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;Fs(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;$t(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}jp(c[u>>2]|0,c[h>>2]|0);i=v;return}function Mx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;To(c[h>>2]|0,140,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function Nx(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;m=i;i=i+48|0;l=m;d=m+24|0;e=m+20|0;k=m+8|0;f=m+16|0;h=m+4|0;n=m+12|0;g=m+28|0;j=m+32|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}Uo(c[k>>2]|0,28,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=yx(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;To(c[k>>2]|0,57,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}sf(c[d>>2]|0,27253,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function Ox(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+36>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+32>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+32>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+44>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=155){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Px(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+450>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+44>>0]|0)&32))e=1;else e=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else e=0;c[h>>2]=e&1;b=c[c[j>>2]>>2]|0;f=(c[h>>2]|0)!=0?27212:14425;if(c[h>>2]|0)e=c[c[g>>2]>>2]|0;else e=14425;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=f;c[l+8>>2]=e;c[m>>2]=tf(b,27235,l)|0;To(c[(c[j>>2]|0)+8>>2]|0,155,c[(c[j>>2]|0)+464>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function Qx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==156:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!($b(c[k>>2]|0,27204)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!($b(c[k>>2]|0,27208)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function Rx(a,b,e,f,g){a=a|0;b=b|0;e=e|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;E=i;i=i+96|0;s=E+40|0;k=E+52|0;B=E+4|0;t=E+76|0;u=E+36|0;D=E+16|0;C=E+20|0;v=E+56|0;A=E+64|0;j=E+72|0;z=E+80|0;q=E+84|0;w=E+44|0;m=E+48|0;x=E+8|0;y=E;o=E+24|0;n=E+28|0;p=E+60|0;l=E+12|0;h=E+32|0;r=E+68|0;c[s>>2]=a;c[k>>2]=b;c[B>>2]=e;c[t>>2]=f;c[u>>2]=g;c[D>>2]=c[(c[s>>2]|0)+8>>2];c[C>>2]=zr(c[D>>2]|0)|0;c[v>>2]=zr(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[w>>2]=d[c[u>>2]>>0];c[m>>2]=c[(c[u>>2]|0)+4>>2];if(c[(c[B>>2]|0)+16>>2]|0){Ro(c[D>>2]|0,17,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Ro(c[D>>2]|0,16,0,c[C>>2]|0)|0;Br(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[w>>2]|0)==9|(c[w>>2]|0)==13){c[y>>2]=0;c[x>>2]=c[(c[u>>2]|0)+8>>2];c[p>>2]=c[t>>2]}else{c[y>>2]=Wo(c[s>>2]|0)|0;c[x>>2]=Wo(c[s>>2]|0)|0;c[p>>2]=1}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+24>>0]|0)&1){e=(c[s>>2]|0)+72|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[s>>2]|0)+68|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=Rs(c[s>>2]|0)|0;Uo(c[D>>2]|0,60,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)jp(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(Ro(c[D>>2]|0,106,c[z>>2]|0,c[C>>2]|0)|0);Ux(c[D>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[v>>2]|0);Uo(c[D>>2]|0,100,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[h>>2]=0}else{c[A>>2]=1+(Ro(c[D>>2]|0,107,c[z>>2]|0,c[C>>2]|0)|0);Ux(c[D>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[v>>2]|0);c[n>>2]=c[z>>2];c[h>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;Uo(c[D>>2]|0,47,c[n>>2]|0,(c[o>>2]|0)+(c[h>>2]|0)+(c[l>>2]|0)|0,(c[x>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[w>>2]|0){case 12:case 14:{Ro(c[D>>2]|0,74,c[m>>2]|0,c[y>>2]|0)|0;Uo(c[D>>2]|0,75,c[m>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;xf(c[D>>2]|0,8);break}case 11:{To(c[D>>2]|0,49,c[x>>2]|0,1,c[y>>2]|0,(c[u>>2]|0)+1|0,1)|0;Ls(c[s>>2]|0,c[x>>2]|0,1);Ro(c[D>>2]|0,110,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:{Kx(c[s>>2]|0,c[x>>2]|0,c[m>>2]|0,1);break}default:{k=c[D>>2]|0;j=c[u>>2]|0;if((c[w>>2]|0)==9){Ro(k,35,c[j+8>>2]|0,c[t>>2]|0)|0;Ls(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[t>>2]|0);break a}else{ur(k,22,c[j+4>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){Xo(c[s>>2]|0,c[x>>2]|0);Xo(c[s>>2]|0,c[y>>2]|0)}Br(c[D>>2]|0,c[v>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+24>>0]|0)&1)Ro(k,5,j,h)|0;else Ro(k,9,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;Br(B,D);i=E;return}ur(c[D>>2]|0,18,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;Br(B,D);i=E;return}function Sx(e,f,g){e=e|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;B=i;i=i+80|0;v=B+8|0;u=B;h=B+16|0;j=B+12|0;k=B+40|0;t=B+20|0;n=B+24|0;p=B+32|0;l=B+28|0;m=B+36|0;s=B+44|0;q=B+48|0;y=B+52|0;r=B+56|0;x=B+60|0;o=B+64|0;z=B+68|0;w=B+72|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+450>>0]|0){i=B;return}if((c[t>>2]|0)==0?1:(d[(c[h>>2]|0)+16>>0]|0)!=0){i=B;return}if(d[(c[l>>2]|0)+64>>0]|0){i=B;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&32|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;Kt(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];Lt(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)==154){if(!(c[j>>2]|0))A=26}else if(!((c[j>>2]|0)!=0?(d[c[q>>2]>>0]|0)==156:0))A=26;if((A|0)==26){A=0;c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=tf(g,27195,v)|0}else g=ef(g,c[w>>2]|0)|0;c[w>>2]=g;Lt(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,23)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+40>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+36>>1];if((c[o>>2]|0)<0)c[x>>2]=18143;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;Lt(e,f,0,ef(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,23)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=tf(f,21695,u)|0;Lt(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,23)|0;break}else{Lt(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}Tx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=B;return}function Tx(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,l=0,m=0,n=0;l=i;i=i+64|0;m=l+32|0;n=l+44|0;e=l+36|0;j=l+48|0;f=l+56|0;h=l;g=l+40|0;k=l+52|0;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=Np(h,c[g>>2]|0,0)|0;Lt(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function Ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=j;return}c[h>>2]=Uo(c[e>>2]|0,138,c[f>>2]|0,0,-1)|0;Ro(c[e>>2]|0,16,0,c[g>>2]|0)|0;jp(c[e>>2]|0,c[h>>2]|0);i=j;return}function Vx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+8|0;k=g+16|0;o=g+20|0;m=g+24|0;n=g+4|0;l=g;h=g+12|0;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=Wo(c[j>>2]|0)|0;wf(c[l>>2]|0,69,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Uo(c[l>>2]|0,49,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Ro(c[l>>2]|0,110,c[k>>2]|0,c[h>>2]|0)|0;Xo(c[j>>2]|0,c[h>>2]|0);i=g;return}function Wx(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;A=i;i=i+80|0;t=A+64|0;l=A+44|0;u=A+24|0;w=A+28|0;q=A+12|0;z=A+40|0;r=A+48|0;x=A+56|0;p=A+60|0;m=A+8|0;j=A+4|0;k=A+32|0;h=A;o=A+16|0;s=A+36|0;n=A+20|0;y=A+52|0;v=A+68|0;c[l>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[l>>2]|0)+20>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 154:case 156:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+40>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[j>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=Yx(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[j>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[j>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+72|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[h>>2]=c[c[o>>2]>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==154?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[k>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-100;b[(c[u>>2]|0)+34>>1]=c[j>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 155:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[l>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(oq(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[(c[(c[c[z>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[w>>2]=Zx(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];j=(c[z>>2]|0)+72|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;c[(c[y>>2]|0)+8>>2]=h;h=c[c[z>>2]>>2]|0;j=c[(c[u>>2]|0)+8>>2]|0;k=Ed(c[(c[u>>2]|0)+8>>2]|0)|0;if(c[(c[u>>2]|0)+20>>2]|0)l=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else l=0;v=Zf(h,j,k,l,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+68|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function Xx(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Yx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=ju(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function Zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=ju(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function _x(b,f,g,h,j,k){b=b|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;I=i;i=i+96|0;o=I+84|0;C=I;D=I+4|0;l=I+40|0;p=I+76|0;m=I+16|0;H=I+20|0;s=I+24|0;t=I+64|0;n=I+72|0;z=I+80|0;B=I+88|0;v=I+44|0;w=I+48|0;A=I+52|0;q=I+8|0;r=I+56|0;y=I+28|0;u=I+60|0;x=I+12|0;E=I+32|0;F=I+68|0;G=I+36|0;c[o>>2]=b;c[C>>2]=f;c[D>>2]=g;c[l>>2]=h;c[p>>2]=j;c[m>>2]=k;c[H>>2]=c[(c[o>>2]|0)+8>>2];c[s>>2]=(d[(c[C>>2]|0)+24>>0]&1|0)==0&1;c[t>>2]=c[c[c[C>>2]>>2]>>2];c[n>>2]=(c[t>>2]|0)+(c[s>>2]|0)+(c[p>>2]|0);f=(c[o>>2]|0)+72|0;h=(c[f>>2]|0)+1|0;c[f>>2]=h;c[B>>2]=h;c[v>>2]=c[(c[C>>2]|0)+4>>2];if(c[m>>2]|0)c[z>>2]=(c[l>>2]|0)-(c[t>>2]|0)-(c[s>>2]|0);else{c[z>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;h=(c[o>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[n>>2]|0)}Ns(c[o>>2]|0,c[c[C>>2]>>2]|0,c[z>>2]|0,1)|0;if(c[s>>2]|0)Ro(c[H>>2]|0,73,c[(c[C>>2]|0)+8>>2]|0,(c[z>>2]|0)+(c[t>>2]|0)|0)|0;if(!(c[m>>2]|0))Kx(c[o>>2]|0,c[l>>2]|0,(c[z>>2]|0)+(c[t>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0);Uo(c[H>>2]|0,49,(c[z>>2]|0)+(c[v>>2]|0)|0,(c[n>>2]|0)-(c[v>>2]|0)|0,c[B>>2]|0)|0;do if((c[v>>2]|0)>0){c[A>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;l=(c[o>>2]|0)+72|0;c[l>>2]=(c[l>>2]|0)+(c[(c[C>>2]|0)+4>>2]|0);c[u>>2]=(c[t>>2]|0)-(c[(c[C>>2]|0)+4>>2]|0)+(c[s>>2]|0);l=c[H>>2]|0;if(c[s>>2]|0)c[q>>2]=ur(l,46,(c[z>>2]|0)+(c[t>>2]|0)|0)|0;else c[q>>2]=ur(l,59,c[(c[C>>2]|0)+8>>2]|0)|0;Uo(c[H>>2]|0,42,c[A>>2]|0,c[z>>2]|0,c[(c[C>>2]|0)+4>>2]|0)|0;c[y>>2]=Ws(c[H>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;if(a[(c[c[o>>2]>>2]|0)+64>>0]|0){i=I;return}else{c[(c[y>>2]|0)+8>>2]=(c[u>>2]|0)+(c[p>>2]|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];BH(c[(c[x>>2]|0)+16>>2]|0,0,e[(c[x>>2]|0)+6>>1]|0)|0;Df(c[H>>2]|0,-1,c[x>>2]|0,-6);x=yx(c[o>>2]|0,c[c[C>>2]>>2]|0,c[v>>2]|0,1)|0;c[(c[y>>2]|0)+16>>2]=x;c[r>>2]=yr(c[H>>2]|0)|0;Uo(c[H>>2]|0,43,(c[r>>2]|0)+1|0,0,(c[r>>2]|0)+1|0)|0;x=zr(c[H>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=x;x=(c[o>>2]|0)+72|0;y=(c[x>>2]|0)+1|0;c[x>>2]=y;c[(c[C>>2]|0)+12>>2]=y;Ro(c[H>>2]|0,17,c[(c[C>>2]|0)+12>>2]|0,c[(c[C>>2]|0)+16>>2]|0)|0;ur(c[H>>2]|0,119,c[(c[C>>2]|0)+8>>2]|0)|0;jp(c[H>>2]|0,c[q>>2]|0);Kx(c[o>>2]|0,c[z>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+4>>2]|0);jp(c[H>>2]|0,c[r>>2]|0);break}}while(0);if(d[(c[C>>2]|0)+24>>0]&1)c[w>>2]=109;else c[w>>2]=110;Ro(c[H>>2]|0,c[w>>2]|0,c[(c[C>>2]|0)+8>>2]|0,c[B>>2]|0)|0;if(!(c[(c[D>>2]|0)+8>>2]|0)){i=I;return}l=c[D>>2]|0;if(c[(c[D>>2]|0)+12>>2]|0)c[G>>2]=(c[l+12>>2]|0)+1;else c[G>>2]=c[l+8>>2];c[E>>2]=ur(c[H>>2]|0,139,c[G>>2]|0)|0;Ro(c[H>>2]|0,37,c[G>>2]|0,-1)|0;c[F>>2]=Yo(c[H>>2]|0,16)|0;jp(c[H>>2]|0,c[E>>2]|0);ur(c[H>>2]|0,105,c[(c[C>>2]|0)+8>>2]|0)|0;ur(c[H>>2]|0,95,c[(c[C>>2]|0)+8>>2]|0)|0;jp(c[H>>2]|0,c[F>>2]|0);i=I;return}function $x(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=27604;break}case 118:{c[b>>2]=27614;break}case 117:{c[b>>2]=27624;break}default:c[b>>2]=27631}i=d;return c[b>>2]|0}function ay(a,f,g){a=a|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,G=0,H=0;H=i;i=i+112|0;q=H+44|0;r=H+40|0;s=H+4|0;j=H+100|0;n=H;G=H+16|0;C=H+20|0;v=H+24|0;u=H+80|0;t=H+88|0;x=H+96|0;D=H+104|0;y=H+108|0;m=H+48|0;l=H+52|0;w=H+56|0;h=H+8|0;p=H+76|0;B=H+28|0;z=H+12|0;A=H+32|0;E=H+84|0;F=H+36|0;o=H+92|0;c[q>>2]=a;c[r>>2]=f;c[s>>2]=g;c[j>>2]=c[(c[r>>2]|0)+32>>2];c[n>>2]=c[c[c[r>>2]>>2]>>2];c[G>>2]=c[(c[q>>2]|0)+8>>2];c[C>>2]=c[(c[r>>2]|0)+52>>2];c[x>>2]=0;c[m>>2]=0;c[l>>2]=5;if(Mo(c[q>>2]|0,33,0,0,0)|0){i=H;return}c[t>>2]=zr(c[G>>2]|0)|0;zx(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0);c[z>>2]=c[(c[r>>2]|0)+60>>2];c[A>>2]=c[(c[r>>2]|0)+64>>2];c[E>>2]=c[(c[r>>2]|0)+8>>2];c[F>>2]=c[(c[r>>2]|0)+12>>2];c[(c[r>>2]|0)+64>>2]=0;c[(c[r>>2]|0)+60>>2]=0;c[(c[r>>2]|0)+12>>2]=0;c[(c[r>>2]|0)+8>>2]=0;c[B>>2]=c[(c[r>>2]|0)+48>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0))break;f=c[h>>2]|0;if((d[(c[j>>2]|0)+8+((c[h>>2]|0)*72|0)+37>>0]|0)>>>3&1){k=5;break}c[h>>2]=f+1}if((k|0)==5)c[x>>2]=c[(c[j>>2]|0)+8+(f*72|0)+40>>2];k=(c[q>>2]|0)+68|0;f=c[k>>2]|0;c[k>>2]=f+1;c[y>>2]=f;f=(c[B>>2]|0)!=0;if((d[(c[r>>2]|0)+4>>0]|0|0)==115){c[l>>2]=f?8:6;j=(c[q>>2]|0)+68|0;k=c[j>>2]|0;c[j>>2]=k+1;c[m>>2]=k}else c[l>>2]=f?7:5;Ss(w,c[l>>2]|0,c[y>>2]|0);k=(c[q>>2]|0)+72|0;l=(c[k>>2]|0)+1|0;c[k>>2]=l;c[D>>2]=l;Uo(c[G>>2]|0,60,c[x>>2]|0,c[D>>2]|0,c[n>>2]|0)|0;if(c[B>>2]|0){c[o>>2]=ey(c[q>>2]|0,c[r>>2]|0,1)|0;To(c[G>>2]|0,57,c[y>>2]|0,(c[c[B>>2]>>2]|0)+2|0,0,c[o>>2]|0,-6)|0;c[w+16>>2]=c[B>>2]}else Ro(c[G>>2]|0,57,c[y>>2]|0,c[n>>2]|0)|0;if(c[m>>2]|0){o=Ro(c[G>>2]|0,57,c[m>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=o;o=(c[r>>2]|0)+6|0;b[o>>1]=e[o>>1]|0|8}c[(c[r>>2]|0)+48>>2]=0;c[(c[C>>2]|0)+56>>2]=0;c[p>>2]=Kn(c[q>>2]|0,c[C>>2]|0,w)|0;c[(c[C>>2]|0)+56>>2]=c[r>>2];if(!(c[p>>2]|0)){c[v>>2]=Ro(c[G>>2]|0,108,c[y>>2]|0,c[t>>2]|0)|0;ur(c[G>>2]|0,104,c[x>>2]|0)|0;g=c[G>>2]|0;f=c[y>>2]|0;if(c[B>>2]|0)Uo(g,47,f,(c[c[B>>2]>>2]|0)+1|0,c[D>>2]|0)|0;else Ro(g,102,f,c[D>>2]|0)|0;ur(c[G>>2]|0,95,c[y>>2]|0)|0;c[u>>2]=zr(c[G>>2]|0)|0;Ux(c[G>>2]|0,c[F>>2]|0,c[u>>2]|0);Fx(c[q>>2]|0,c[r>>2]|0,c[c[r>>2]>>2]|0,c[x>>2]|0,0,0,c[s>>2]|0,c[u>>2]|0,c[t>>2]|0);if(c[E>>2]|0)Uo(c[G>>2]|0,139,c[E>>2]|0,c[t>>2]|0,-1)|0;Br(c[G>>2]|0,c[u>>2]|0);c[(c[r>>2]|0)+52>>2]=0;Kn(c[q>>2]|0,c[r>>2]|0,w)|0;c[(c[r>>2]|0)+52>>2]=c[C>>2];Ro(c[G>>2]|0,16,0,c[v>>2]|0)|0;Br(c[G>>2]|0,c[t>>2]|0)}$m(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+48>>2]|0);c[(c[r>>2]|0)+48>>2]=c[B>>2];c[(c[r>>2]|0)+60>>2]=c[z>>2];c[(c[r>>2]|0)+64>>2]=c[A>>2];i=H;return}function by(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,A=0,B=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;ca=i;i=i+224|0;q=ca+120|0;r=ca+116|0;s=ca+112|0;t=ca+196|0;j=ca+204|0;k=ca+188|0;T=ca+20|0;ba=ca+24|0;H=ca+28|0;I=ca+48|0;U=ca+68|0;V=ca+72|0;E=ca+76|0;F=ca+80|0;Y=ca+84|0;Z=ca+88|0;B=ca+92|0;D=ca+96|0;y=ca+176|0;z=ca+184|0;A=ca+192|0;x=ca+200|0;v=ca+208|0;w=ca+212|0;W=ca+124|0;X=ca+128|0;_=ca+132|0;$=ca+136|0;aa=ca+140|0;M=ca+144|0;N=ca+148|0;L=ca+152|0;P=ca+156|0;R=ca+160|0;S=ca+164|0;G=ca+168|0;p=ca+16|0;O=ca+12|0;u=ca+172|0;J=ca+100|0;K=ca;m=ca+8|0;o=ca+104|0;n=ca+180|0;l=ca+4|0;Q=ca+108|0;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[R>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[ba>>2]=c[(c[r>>2]|0)+8>>2];c[N>>2]=zr(c[ba>>2]|0)|0;c[M>>2]=zr(c[ba>>2]|0)|0;c[P>>2]=d[(c[s>>2]|0)+4>>0];c[T>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=c[(c[s>>2]|0)+48>>2];c[O>>2]=c[c[p>>2]>>2];a:do if((c[P>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+64>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[O>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[O>>2]|0)){c[o>>2]=Qn(c[G>>2]|0,132,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Nn(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[O>>2]|0;c[O>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;ba=c[q>>2]|0;i=ca;return ba|0}while(0);c[u>>2]=qf(c[G>>2]|0,c[O>>2]<<2,0)|0;if(c[u>>2]|0){c[j>>2]=0;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>=(c[O>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[S>>2]=ey(c[r>>2]|0,c[s>>2]|0,1)|0}else c[S>>2]=0;c[(c[s>>2]|0)+48>>2]=c[p>>2];f=uq(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[T>>2]|0)+48>>2]=f;b:do if((c[P>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[_>>2]=(c[(c[r>>2]|0)+72>>2]|0)+1;f=(c[r>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);Ro(c[ba>>2]|0,25,0,c[_>>2]|0)|0;c[R>>2]=Jr(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[R>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=dy(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[R>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[R>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[_>>2]=0;while(0);c[(c[s>>2]|0)+52>>2]=0;c[(c[T>>2]|0)+56>>2]=0;wq(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+48>>2]|0,20831)|0;if(!(c[(c[T>>2]|0)+52>>2]|0))wq(c[r>>2]|0,c[T>>2]|0,c[(c[T>>2]|0)+48>>2]|0,20831)|0;zx(c[r>>2]|0,c[s>>2]|0,c[N>>2]|0);if((c[P>>2]|0)==116?(c[(c[s>>2]|0)+8>>2]|0)!=0:0){j=(c[r>>2]|0)+72|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[W>>2]=f;f=(c[r>>2]|0)+72|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[X>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+12>>2]|0)j=(c[j+12>>2]|0)+1|0;else j=c[j+8>>2]|0;Ro(c[ba>>2]|0,33,j,c[W>>2]|0)|0;Ro(c[ba>>2]|0,33,c[W>>2]|0,c[X>>2]|0)|0}else{c[X>>2]=0;c[W>>2]=0}dn(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;dn(c[G>>2]|0,c[(c[s>>2]|0)+64>>2]|0);c[(c[s>>2]|0)+64>>2]=0;f=(c[r>>2]|0)+72|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[U>>2]=p;p=(c[r>>2]|0)+72|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+72|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[Y>>2]=p;p=(c[r>>2]|0)+72|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Z>>2]=f;Ss(H,13,c[U>>2]|0);Ss(I,13,c[V>>2]|0);c[E>>2]=(yr(c[ba>>2]|0)|0)+1;c[L>>2]=Uo(c[ba>>2]|0,20,c[U>>2]|0,0,c[E>>2]|0)|0;c[(c[T>>2]|0)+8>>2]=c[W>>2];c[J>>2]=c[(c[r>>2]|0)+468>>2];Kn(c[r>>2]|0,c[T>>2]|0,H)|0;ur(c[ba>>2]|0,21,c[U>>2]|0)|0;jp(c[ba>>2]|0,c[L>>2]|0);c[F>>2]=(yr(c[ba>>2]|0)|0)+1;c[L>>2]=Uo(c[ba>>2]|0,20,c[V>>2]|0,0,c[F>>2]|0)|0;c[$>>2]=c[(c[s>>2]|0)+8>>2];c[aa>>2]=c[(c[s>>2]|0)+12>>2];c[(c[s>>2]|0)+8>>2]=c[X>>2];c[(c[s>>2]|0)+12>>2]=0;c[K>>2]=c[(c[r>>2]|0)+468>>2];Kn(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+8>>2]=c[$>>2];c[(c[s>>2]|0)+12>>2]=c[aa>>2];ur(c[ba>>2]|0,21,c[V>>2]|0)|0;c[B>>2]=fy(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[Y>>2]|0,c[_>>2]|0,c[R>>2]|0,c[N>>2]|0)|0;if((c[P>>2]|0)==116|(c[P>>2]|0)==115)c[D>>2]=fy(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Z>>2]|0,c[_>>2]|0,c[R>>2]|0,c[N>>2]|0)|0;ah(c[R>>2]|0);if((c[P>>2]|0)==117|(c[P>>2]|0)==118){aa=c[N>>2]|0;c[y>>2]=aa;c[z>>2]=aa}else{c[y>>2]=Ro(c[ba>>2]|0,17,c[Z>>2]|0,c[D>>2]|0)|0;c[z>>2]=Ro(c[ba>>2]|0,22,c[V>>2]|0,c[N>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[y>>2]|0)|0;$=(c[T>>2]|0)+24|0;aa=(c[s>>2]|0)+24|0;_=aa;$=DH(c[_>>2]|0,c[_+4>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;c[aa>>2]=$;c[aa+4>>2]=C}if((c[P>>2]|0)==118){c[A>>2]=c[y>>2];$=(c[s>>2]|0)+24|0;X=c[$+4>>2]|0;aa=(c[T>>2]|0)+24|0;_=c[aa+4>>2]|0;if(X>>>0>_>>>0|((X|0)==(_|0)?(c[$>>2]|0)>>>0>(c[aa>>2]|0)>>>0:0)){_=(c[T>>2]|0)+24|0;$=c[_+4>>2]|0;aa=(c[s>>2]|0)+24|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$}}else{c[A>>2]=Ro(c[ba>>2]|0,17,c[Y>>2]|0,c[B>>2]|0)|0;Ro(c[ba>>2]|0,22,c[U>>2]|0,c[N>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[A>>2]|0)|0}c[x>>2]=Ro(c[ba>>2]|0,17,c[Y>>2]|0,c[B>>2]|0)|0;Ro(c[ba>>2]|0,22,c[U>>2]|0,c[y>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[M>>2]|0)|0;do if((c[P>>2]|0)!=116)if((c[P>>2]|0)==118){c[v>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+1;break}else{c[v>>2]=Ro(c[ba>>2]|0,22,c[U>>2]|0,c[y>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[M>>2]|0)|0;break}else c[v>>2]=c[x>>2];while(0);c[w>>2]=yr(c[ba>>2]|0)|0;if((c[P>>2]|0)==116|(c[P>>2]|0)==115)Ro(c[ba>>2]|0,17,c[Z>>2]|0,c[D>>2]|0)|0;Ro(c[ba>>2]|0,22,c[V>>2]|0,c[A>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[M>>2]|0)|0;jp(c[ba>>2]|0,c[L>>2]|0);Ro(c[ba>>2]|0,22,c[U>>2]|0,c[z>>2]|0)|0;Ro(c[ba>>2]|0,22,c[V>>2]|0,c[A>>2]|0)|0;Br(c[ba>>2]|0,c[M>>2]|0);To(c[ba>>2]|0,41,0,0,0,c[u>>2]|0,-15)|0;To(c[ba>>2]|0,42,c[H+8>>2]|0,c[I+8>>2]|0,c[O>>2]|0,c[S>>2]|0,-6)|0;xf(c[ba>>2]|0,1);Uo(c[ba>>2]|0,43,c[x>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;Br(c[ba>>2]|0,c[N>>2]|0);if((d[c[t>>2]>>0]|0|0)==9){c[Q>>2]=c[T>>2];while(1){if(!(c[(c[Q>>2]|0)+52>>2]|0))break;c[Q>>2]=c[(c[Q>>2]|0)+52>>2]}Sx(c[r>>2]|0,0,c[c[Q>>2]>>2]|0)}if(c[(c[s>>2]|0)+52>>2]|0)an(c[G>>2]|0,c[(c[s>>2]|0)+52>>2]|0);c[(c[s>>2]|0)+52>>2]=c[T>>2];c[(c[T>>2]|0)+56>>2]=c[s>>2];cy(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function cy(a,b,e,f,g){a=a|0;b=b|0;e=e|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;q=i;i=i+48|0;o=q;h=q+20|0;j=q+32|0;k=q+28|0;l=q+36|0;m=q+16|0;n=q+24|0;p=q+40|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+450>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?27548:14425;b=$x(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=tf(a,27567,o)|0;To(c[n>>2]|0,155,c[(c[h>>2]|0)+464>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+52>>2]|0)c[h>>2]=dy(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=Pp(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function ey(b,d,f){b=b|0;d=d|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;r=i;i=i+48|0;g=r+36|0;h=r+16|0;s=r;o=r+28|0;l=r+32|0;j=r+40|0;p=r+12|0;k=r+24|0;n=r+20|0;q=r+8|0;m=r+4|0;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+48>>2];c[l>>2]=c[c[(c[h>>2]|0)+48>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=Jr(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=Pp(f,c[q>>2]|0)|0;else{c[m>>2]=dy(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=zq(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function fy(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;D=i;i=i+80|0;m=D+60|0;n=D+44|0;o=D+24|0;p=D+28|0;q=D+12|0;r=D+40|0;s=D+48|0;t=D+56|0;u=D+64|0;C=D+8|0;w=D+4|0;v=D+32|0;x=D;y=D+16|0;z=D+36|0;B=D+20|0;A=D+52|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=yr(c[C>>2]|0)|0;c[w>>2]=zr(c[C>>2]|0)|0;if(c[s>>2]|0){c[x>>2]=ur(c[C>>2]|0,46,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+8>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+12>>2]|0;c[y>>2]=To(k,42,b,j,h,Kr(c[t>>2]|0)|0,-6)|0;Uo(c[C>>2]|0,43,(c[y>>2]|0)+2|0,c[w>>2]|0,(c[y>>2]|0)+2|0)|0;jp(c[C>>2]|0,c[x>>2]|0);Uo(c[C>>2]|0,33,c[(c[p>>2]|0)+8>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+12>>2]|0)-1|0)|0;Ro(c[C>>2]|0,25,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+64>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}Ux(c[C>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[w>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:case 14:{c[z>>2]=Wo(c[n>>2]|0)|0;c[B>>2]=Wo(c[n>>2]|0)|0;Uo(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[z>>2]|0)|0;Ro(c[C>>2]|0,74,c[(c[q>>2]|0)+4>>2]|0,c[B>>2]|0)|0;Uo(c[C>>2]|0,75,c[(c[q>>2]|0)+4>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;xf(c[C>>2]|0,8);Xo(c[n>>2]|0,c[B>>2]|0);Xo(c[n>>2]|0,c[z>>2]|0);break}case 11:{h=bt(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[q>>2]|0)+1>>0]|0)|0;a[(c[q>>2]|0)+1>>0]=h;c[A>>2]=Wo(c[n>>2]|0)|0;To(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,1,c[A>>2]|0,(c[q>>2]|0)+1|0,1)|0;Ls(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1);Ro(c[C>>2]|0,110,c[(c[q>>2]|0)+4>>2]|0,c[A>>2]|0)|0;Xo(c[n>>2]|0,c[A>>2]|0);break}case 10:{Kx(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+4>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+8>>2]|0)){h=ps(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=h;c[(c[q>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2]}Kx(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+12>>2]|0);ur(c[C>>2]|0,22,c[(c[q>>2]|0)+4>>2]|0)|0;break}default:{Ro(c[C>>2]|0,35,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;Ls(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+8>>2]|0)Uo(c[C>>2]|0,139,c[(c[o>>2]|0)+8>>2]|0,c[u>>2]|0,-1)|0;Br(c[C>>2]|0,c[w>>2]|0);ur(c[C>>2]|0,18,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function gy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=hy(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function hy(e,f,g,h){e=e|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,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==154?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=mq(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;dn(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=hy(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=hy(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;e=c[j>>2]|0;j=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){iy(e,c[j>>2]|0,c[o>>2]|0,c[p>>2]|0);break}else{gy(e,c[j>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function iy(a,b,d,e){a=a|0;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;n=i;i=i+32|0;f=n+8|0;g=n+16|0;h=n+20|0;j=n+24|0;m=n+4|0;l=n;k=n+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=n;return}gy(c[f>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0);gy(c[f>>2]|0,c[(c[g>>2]|0)+40>>2]|0,c[h>>2]|0,c[j>>2]|0);gy(c[f>>2]|0,c[(c[g>>2]|0)+48>>2]|0,c[h>>2]|0,c[j>>2]|0);e=hy(c[f>>2]|0,c[(c[g>>2]|0)+44>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[g>>2]|0)+44>>2]=e;e=hy(c[f>>2]|0,c[(c[g>>2]|0)+36>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=e;iy(c[f>>2]|0,c[(c[g>>2]|0)+52>>2]|0,c[h>>2]|0,c[j>>2]|0);c[m>>2]=c[(c[g>>2]|0)+32>>2];if(!(c[m>>2]|0)){i=n;return}c[k>>2]=c[c[m>>2]>>2];c[l>>2]=(c[m>>2]|0)+8;while(1){if((c[k>>2]|0)<=0)break;iy(c[f>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[h>>2]|0,c[j>>2]|0);c[k>>2]=(c[k>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+72}i=n;return}function jy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;l=o+4|0;n=o;m=o+12|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+44>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=Po(c[g>>2]|0)|0;do if(!(Fp(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&16777216)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=zr(c[n>>2]|0)|0;Ro(c[n>>2]|0,135,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+438>>0]=1;f=c[g>>2]|0;Wn(f,ir(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+438>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&16777216)){f=c[n>>2]|0;Ro(f,135,0,(yr(c[n>>2]|0)|0)+2|0)|0;gs(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}Br(c[n>>2]|0,c[l>>2]|0);i=o;return}function ky(a,b,e,f){a=a|0;b=b|0;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;r=i;i=i+64|0;q=r+8|0;p=r;g=r+24|0;h=r+36|0;j=r+32|0;k=r+20|0;o=r+28|0;l=r+40|0;n=r+44|0;m=r+48|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=Po(c[g>>2]|0)|0;$o(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+44>>0]|0)&16)Yo(c[o>>2]|0,144)|0;c[n>>2]=gp(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;yt(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+44>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;Oo(n,27856,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?19269:19288;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;Oo(p,27901,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+44>>0]|0)&16|0)==0:0)ly(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+44>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;To(o,124,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Qo(q,p);p=c[l>>2]|0;q=c[j>>2]|0;my(p,q);i=r;return}To(c[o>>2]|0,146,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;To(o,124,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Qo(q,p);p=c[l>>2]|0;q=c[j>>2]|0;my(p,q);i=r;return}function ly(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;n=i;i=i+32|0;d=n+4|0;e=n+16|0;k=n+8|0;g=n+20|0;l=n+28|0;j=n;h=n+12|0;f=n+24|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+32>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=vf(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+68>>2]|0)|0;iu(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function my(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){ny(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+38>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function ny(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+38>>1]|0))break;Nd(a,c[c[h>>2]>>2]|0);dn(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Nd(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Nd(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Nd(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+24}Nd(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function oy(a,d,e,f,g){a=a|0;d=d|0;e=e|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;q=i;i=i+144|0;h=q+80|0;j=q+120|0;k=q+84|0;l=q+124|0;m=q+132|0;p=q;o=q+88|0;n=q+128|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;g=p;f=g+80|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[p>>2]=1;c[p+8+8>>2]=c[c[j>>2]>>2];c[p+8+16>>2]=c[j>>2];c[p+8+40>>2]=-1;c[o>>2]=c[h>>2];c[o+4>>2]=p;b[o+28>>1]=c[k>>2];p=(gq(o,c[l>>2]|0)|0)==0;if(!(p&(c[m>>2]|0)!=0)){i=q;return}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[m>>2]>>2]|0)){g=6;break}if(gq(o,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0){g=6;break}c[n>>2]=(c[n>>2]|0)+1}if((g|0)==6){i=q;return}}function py(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function qy(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+((b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)*24|0)+22>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Qp(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function ry(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;sy(c[e>>2]|0,c[f>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0))ah(c[(c[f>>2]|0)+40>>2]|0);dn(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Nd(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Nd(a,b);i=g;return}Nd(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Nd(a,b);i=g;return}function sy(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function ty(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=Xs(c[h>>2]|0,3+(d[g>>0]|0)|0)|0;i=f;return b|0}function uy(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;u=i;i=i+48|0;h=u+36|0;j=u+16|0;p=u;r=u+28|0;o=u+32|0;l=u+40|0;m=u+12|0;k=u+24|0;s=u+20|0;q=u+8|0;n=u+4|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[s>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[h>>2]|0)+416>>2]|0)a[(Ws(c[s>>2]|0,c[(c[h>>2]|0)+416>>2]|0)|0)>>0]=120;if(c[(c[h>>2]|0)+420>>2]|0)a[(Ws(c[s>>2]|0,c[(c[h>>2]|0)+420>>2]|0)|0)>>0]=16;do if((b[(c[j>>2]|0)+36>>1]|0)>=0){c[q>>2]=Nn(c[h>>2]|0,0,0)|0;if(!(c[q>>2]|0)){i=u;return}s=ef(c[c[h>>2]>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((b[(c[j>>2]|0)+36>>1]|0)*24|0)>>2]|0)|0;c[(c[(c[q>>2]|0)+4>>2]|0)+4>>2]=s;a[(c[(c[q>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+448>>0]|0;c[r>>2]=Dn(c[h>>2]|0,0,0,0,c[q>>2]|0,d[(c[j>>2]|0)+45>>0]|0,0,0,0,0)|0;if(!(c[r>>2]|0)){i=u;return}else{s=(c[r>>2]|0)+55|0;a[s>>0]=a[s>>0]&-4|2;b[(c[j>>2]|0)+36>>1]=-1;break}}else c[r>>2]=Lr(c[j>>2]|0)|0;while(0);s=(c[r>>2]|0)+55|0;a[s>>0]=a[s>>0]&-33|32;c[o>>2]=e[(c[r>>2]|0)+50>>1];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;a[(c[(c[j>>2]|0)+4>>2]|0)+((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)*24|0)+20>>0]=1;c[l>>2]=(c[l>>2]|0)+1}s=(c[r>>2]|0)+55|0;a[s>>0]=a[s>>0]&-9|8;c[(c[r>>2]|0)+44>>2]=c[(c[j>>2]|0)+32>>2];c[p>>2]=c[(c[j>>2]|0)+8>>2];a:while(1){if(!(c[p>>2]|0))break;b:do if((a[(c[p>>2]|0)+55>>0]&3|0)!=2){c[n>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if(!(py(c[(c[p>>2]|0)+4>>2]|0,e[(c[p>>2]|0)+50>>1]|0,b[(c[(c[r>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[n>>2]=(c[n>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[n>>2]|0)){b[(c[p>>2]|0)+52>>1]=b[(c[p>>2]|0)+50>>1]|0;break}if(zy(c[k>>2]|0,c[p>>2]|0,(e[(c[p>>2]|0)+50>>1]|0)+(c[n>>2]|0)|0)|0){t=38;break a}c[l>>2]=0;c[m>>2]=e[(c[p>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break b;if(!(py(c[(c[p>>2]|0)+4>>2]|0,e[(c[p>>2]|0)+50>>1]|0,b[(c[(c[r>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[p>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]=b[(c[(c[r>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[p>>2]|0)+32>>2]|0)+(c[m>>2]<<2)>>2]=c[(c[(c[r>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[p>>2]=c[(c[p>>2]|0)+20>>2]}if((t|0)==38){i=u;return}if((c[o>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0)){b[(c[r>>2]|0)+52>>1]=b[(c[j>>2]|0)+38>>1]|0;i=u;return}if(zy(c[k>>2]|0,c[r>>2]|0,b[(c[j>>2]|0)+38>>1]|0)|0){i=u;return}c[l>>2]=0;c[m>>2]=c[o>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;if(!(py(c[(c[r>>2]|0)+4>>2]|0,c[m>>2]|0,c[l>>2]|0)|0)){b[(c[(c[r>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]=c[l>>2];c[(c[(c[r>>2]|0)+32>>2]|0)+(c[m>>2]<<2)>>2]=15963;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=u;return}function vy(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+38>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+22>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+24}if((b[(c[e>>2]|0)+36>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Qp(g,0)|0;h=c[e>>2]|0;h=h+42|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Qp(g,0)|0;h=c[e>>2]|0;h=h+42|0;b[h>>1]=g;i=j;return}function wy(d,e){d=d|0;e=e|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;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+36|0;f=w+24|0;j=w+20|0;k=w+28|0;l=w+32|0;n=w+40|0;u=w+44|0;s=w+48|0;t=w+52|0;r=w+56|0;o=w+60|0;m=w+64|0;v=w+68|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;e=(xy(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+24}e=xy(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=14425;c[t>>2]=29027;c[r>>2]=26411}else{c[s>>2]=29029;c[t>>2]=29033;c[r>>2]=29038}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+38>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=qf(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){a[(c[f>>2]|0)+64>>0]=1;c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Yb(c[n>>2]|0,c[u>>2]|0,29041,g)|0;c[l>>2]=Ed(c[u>>2]|0)|0;yy(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){d=(c[n>>2]|0)-(c[l>>2]|0)|0;f=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;Yb(d,f,c[s>>2]|0,p)|0;g=Ed((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];yy(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[3288+((a[(c[o>>2]|0)+21>>0]|0)-65<<2)>>2];c[m>>2]=Ed(c[v>>2]|0)|0;EH((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+24}c[q>>2]=c[r>>2];Yb(d,f,14418,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function xy(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function yy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+8|0;h=n+16|0;o=n+20|0;m=n+24|0;j=n+4|0;k=n;l=n+12|0;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[14426+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[14426+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(jg(c[m>>2]|0,c[k>>2]|0)|0)==27:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function zy(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;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=gf(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{EH(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);EH(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);EH(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function Ay(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=Po(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+396>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+400>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];To(c[h>>2]|0,143,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function By(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+8|0;g=k+16|0;e=k+20|0;h=k+24|0;f=k+4|0;d=k;j=k+12|0;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[j>>2]=c[(c[b>>2]|0)+8>>2];c[g>>2]=c[(c[b>>2]|0)+404>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+8>>2]<<4);c[f>>2]=c[(c[g>>2]|0)+12>>2];wr(c[b>>2]|0,0,c[(c[g>>2]|0)+8>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0,54);Uo(c[j>>2]|0,28,0,c[f>>2]|0,(c[f>>2]|0)+1|0)|0;c[d>>2]=yr(c[j>>2]|0)|0;To(c[j>>2]|0,97,0,(c[f>>2]|0)-1|0,0,c[c[(c[g>>2]|0)+4>>2]>>2]|0,0)|0;Ro(c[j>>2]|0,108,0,(c[d>>2]|0)+9|0)|0;Uo(c[j>>2]|0,47,0,0,c[f>>2]|0)|0;Uo(c[j>>2]|0,78,(c[f>>2]|0)-1|0,(c[d>>2]|0)+7|0,c[f>>2]|0)|0;xf(c[j>>2]|0,16);Ro(c[j>>2]|0,103,0,(c[f>>2]|0)+1|0)|0;Uo(c[j>>2]|0,47,0,1,c[f>>2]|0)|0;Ro(c[j>>2]|0,16,0,(c[d>>2]|0)+9|0)|0;Ro(c[j>>2]|0,9,0,(c[d>>2]|0)+2|0)|0;Ro(c[j>>2]|0,25,0,c[f>>2]|0)|0;Yo(c[j>>2]|0,61)|0;c[g>>2]=c[c[g>>2]>>2]}i=k;return}function Cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=g+12|0;e=g+4|0;c[d>>2]=a;c[g+8>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[c[d>>2]>>2]|0)<0)break;gn(c[d>>2]|0)|0}sf(c[e>>2]|0,29207,f);c[(c[d>>2]|0)+8>>2]=c[e>>2];i=g;return}function Dy(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Zb(21,30804,d);i=b;return}function Ey(b,e,f,g,h,j,k){b=b|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,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;I=i;i=i+96|0;G=I+8|0;s=I;n=I+16|0;C=I+20|0;u=I+60|0;p=I+32|0;v=I+28|0;l=I+48|0;w=I+36|0;q=I+40|0;D=I+44|0;H=I+24|0;F=I+52|0;x=I+56|0;m=I+64|0;o=I+68|0;t=I+72|0;r=I+76|0;y=I+80|0;z=I+84|0;A=I+88|0;E=I+92|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[F>>2]=0;c[D>>2]=gf(c[C>>2]|0,536,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;H=c[D>>2]|0;Gf(H);H=c[C>>2]|0;G=c[D>>2]|0;Nd(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Le(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}c[(c[D>>2]|0)+476>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[F>>2]=Fy(c[m>>2]|0)|0,(c[F>>2]|0)!=0):0){B=7;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==7){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];G=c[C>>2]|0;H=c[F>>2]|0;c[n>>2]=c[o>>2];ce(G,H,30849,n);H=c[D>>2]|0;Gf(H);H=c[C>>2]|0;G=c[D>>2]|0;Nd(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Le(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}qm(c[C>>2]|0);c[c[D>>2]>>2]=c[C>>2];c[(c[D>>2]|0)+424>>2]=0;do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=17;break}c[r>>2]=c[(c[C>>2]|0)+88+4>>2];l=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){ce(l,18,30879,s);c[F>>2]=Le(c[C>>2]|0,18)|0;H=c[D>>2]|0;Gf(H);H=c[C>>2]|0;G=c[D>>2]|0;Nd(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Le(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Io(l,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Of(c[D>>2]|0,c[t>>2]|0,H)|0;Nd(c[C>>2]|0,c[t>>2]|0);c[(c[D>>2]|0)+480>>2]=(c[u>>2]|0)+((c[(c[D>>2]|0)+480>>2]|0)-(c[t>>2]|0));break}else{c[(c[D>>2]|0)+480>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=17;while(0);if((B|0)==17)Of(c[D>>2]|0,c[u>>2]|0,H)|0;if(a[(c[C>>2]|0)+64>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if((c[(c[D>>2]|0)+12>>2]|0)==101)c[(c[D>>2]|0)+12>>2]=0;if(a[(c[D>>2]|0)+17>>0]|0)Gy(c[D>>2]|0);if(a[(c[C>>2]|0)+64>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[D>>2]|0)+480>>2];c[F>>2]=c[(c[D>>2]|0)+12>>2];a:do if(((c[F>>2]|0)==0?(c[(c[D>>2]|0)+8>>2]|0)!=0:0)?(d[(c[D>>2]|0)+450>>0]|0)!=0:0){l=c[(c[D>>2]|0)+8>>2]|0;if((d[(c[D>>2]|0)+450>>0]|0)==2){Kt(l,4);c[y>>2]=8;c[z>>2]=12}else{Kt(l,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;Lt(c[(c[D>>2]|0)+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[3320+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+140+5>>0]|0)){c[A>>2]=c[(c[D>>2]|0)+8>>2];Hy(c[A>>2]|0,c[u>>2]|0,(c[(c[D>>2]|0)+480>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[(c[D>>2]|0)+8>>2]|0){if((c[F>>2]|0)==0?(d[(c[C>>2]|0)+64>>0]|0)==0:0){B=43;break}Ke(c[(c[D>>2]|0)+8>>2]|0)|0}else B=43;while(0);if((B|0)==43)c[c[w>>2]>>2]=c[(c[D>>2]|0)+8>>2];b=c[C>>2]|0;l=c[F>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];ce(b,l,14418,G);Nd(c[C>>2]|0,c[H>>2]|0)}else ee(b,l);while(1){if(!(c[(c[D>>2]|0)+528>>2]|0))break;c[E>>2]=c[(c[D>>2]|0)+528>>2];c[(c[D>>2]|0)+528>>2]=c[(c[E>>2]|0)+4>>2];Nd(c[C>>2]|0,c[E>>2]|0)}H=c[D>>2]|0;Gf(H);H=c[C>>2]|0;G=c[D>>2]|0;Nd(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Le(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}function Fy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;fe(c[e>>2]|0);c[b>>2]=Iy(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function Gy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+8|0;f=l+16|0;g=l+20|0;k=l+24|0;e=l+4|0;h=l;j=l+12|0;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=14;break}c[h>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if(!(je(c[j>>2]|0)|0)){c[k>>2]=he(c[j>>2]|0,0)|0;if((c[k>>2]|0)==7|(c[k>>2]|0)==3082)a[(c[f>>2]|0)+64>>0]=1;if(c[k>>2]|0){d=14;break}c[h>>2]=1}ie(c[j>>2]|0,1,e);if((c[e>>2]|0)!=(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]>>2]|0)){Or(c[f>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+12>>2]=17}if(c[h>>2]|0)Ur(c[j>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==14){i=l;return}}function Hy(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Io(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+168>>2]=d;d=(c[g>>2]|0)+88|0;b[d>>1]=b[d>>1]&-1025|(c[k>>2]&1)<<10&65535;i=l;return}function Iy(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;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function Jy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;if((c[g>>2]|0)!=(c[f>>2]|0)){if(!(c[e>>2]|0))break;if((c[(c[g>>2]|0)+60>>2]|0)==(c[e>>2]|0))break}c[g>>2]=c[(c[g>>2]|0)+8>>2]}if(!(c[g>>2]|0)){j=0;i=h;return j|0}j=Ky(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;i=h;return j|0}function Ky(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+60>>2]|0)!=(c[g>>2]|0):0)break;b=c[f>>2]|0;if((d[(c[f>>2]|0)+73>>0]|0|0)==1){c[k>>2]=Ly(b)|0;if(c[k>>2]|0){b=7;break a}else break}else{My(b);break}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=10;break}}if((b|0)==7){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((b|0)==10){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function Ly(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;e=h;c[f>>2]=b;c[g>>2]=Ny(c[f>>2]|0,(c[f>>2]|0)+48|0)|0;do if(!(d[(c[(c[f>>2]|0)+120>>2]|0)+2>>0]|0)){b=(c[f>>2]|0)+48|0;c[e>>2]=Wd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){c[g>>2]=7;break}c[g>>2]=Oy(c[f>>2]|0,0,c[(c[f>>2]|0)+48>>2]|0,c[e>>2]|0)|0;b=c[e>>2]|0;if(!(c[g>>2]|0)){c[(c[f>>2]|0)+56>>2]=b;break}else{Sb(b);break}}while(0);if(c[g>>2]|0){f=c[f>>2]|0;f=f+72|0;e=a[f>>0]|0;e=e&255;e=e&-5;e=e&255;a[f>>0]=e;g=c[g>>2]|0;i=h;return g|0}My(c[f>>2]|0);a[(c[f>>2]|0)+73>>0]=3;f=c[f>>2]|0;f=f+72|0;e=a[f>>0]|0;e=e&255;e=e&-5;e=e&255;a[f>>0]=e;g=c[g>>2]|0;i=h;return g|0}function My(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;while(1){if((c[e>>2]|0)>(b[(c[d>>2]|0)+76>>1]|0))break;pt(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}b[(c[d>>2]|0)+76>>1]=-1;i=f;return}function Ny(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;if(!(e[(c[h>>2]|0)+24+20>>1]|0)){c[k>>2]=b[(c[h>>2]|0)+76>>1];Mw(c[(c[h>>2]|0)+120+(c[k>>2]<<2)>>2]|0,e[(c[h>>2]|0)+78+(c[k>>2]<<1)>>1]|0,(c[h>>2]|0)+24|0);g=(c[h>>2]|0)+72|0;a[g>>0]=d[g>>0]|2}k=(c[h>>2]|0)+24|0;f=c[k+4>>2]|0;g=c[j>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=f;i=l;return 0}function Oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Lw(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function Py(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(c[h>>2]|0){c[g>>2]=c[h>>2];d=c[g>>2]|0;i=n;return d|0}c[j>>2]=(c[j>>2]|0)+7&-8;if(((c[c[k>>2]>>2]|0)+(c[j>>2]|0)|0)>>>0<=(c[l>>2]|0)>>>0){c[h>>2]=c[c[k>>2]>>2];d=c[k>>2]|0;c[d>>2]=(c[d>>2]|0)+(c[j>>2]|0)}else{d=c[m>>2]|0;c[d>>2]=(c[d>>2]|0)+(c[j>>2]|0)}c[g>>2]=c[h>>2];d=c[g>>2]|0;i=n;return d|0}function Qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[f>>2]|0)){i=j;return}switch(c[e>>2]|0){case -15:case -1:case -13:case -12:{Nd(c[g>>2]|0,c[f>>2]|0);i=j;return}case -6:{if(c[(c[g>>2]|0)+520>>2]|0){i=j;return}ah(c[f>>2]|0);i=j;return}case -11:{if(c[(c[g>>2]|0)+520>>2]|0){i=j;return}Sb(c[f>>2]|0);i=j;return}case -5:{Ry(c[g>>2]|0,c[f>>2]|0);i=j;return}case -8:{e=c[f>>2]|0;if(!(c[(c[g>>2]|0)+520>>2]|0)){Rf(e);i=j;return}c[h>>2]=e;if(c[(c[h>>2]|0)+24>>2]|0)Nd(c[g>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Nd(c[g>>2]|0,c[h>>2]|0);i=j;return}case -10:{if(c[(c[g>>2]|0)+520>>2]|0){i=j;return}om(c[f>>2]|0);i=j;return}default:{i=j;return}}}function Ry(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Nd(c[d>>2]|0,c[f>>2]|0);i=g;return}function Sy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function Ty(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Oe(c[e>>2]|0);a=c[e>>2]|0;d=c[f>>2]|0;e=a+40|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function Uy(){return 320}function Vy(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;EH(l|0,c[g>>2]|0,208)|0;EH(c[g>>2]|0,c[h>>2]|0,208)|0;EH(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];d=(c[h>>2]|0)+88|0;b[d>>1]=b[d>>1]&-1025|((e[(c[g>>2]|0)+88>>1]|0)>>>10&1)<<10&65535;i=f;return}function Wy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=vb[c[(c[d>>2]|0)+72>>2]&63](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=vb[c[(c[d>>2]|0)+64>>2]&63](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0} +function BC(f,g,h,j,k){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,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,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;wa=i;i=i+352|0;Z=wa+228|0;p=wa+24|0;l=wa+100|0;q=wa+144|0;r=wa+212|0;s=wa+116|0;ra=wa+280|0;na=wa+32|0;n=wa+64|0;oa=wa+40|0;pa=wa+44|0;ea=wa+48|0;ia=wa+52|0;ja=wa+56|0;F=wa+60|0;ua=wa+208|0;la=wa+332|0;ma=wa+68|0;X=wa+72|0;O=wa+76|0;R=wa+80|0;z=wa+84|0;y=wa+88|0;o=wa+92|0;ca=wa+320|0;aa=wa+236|0;ba=wa+252|0;K=wa+276|0;v=wa+288|0;da=wa+300|0;V=wa+120|0;$=wa+204|0;va=wa+140|0;u=wa+272|0;P=wa+148|0;m=wa+152|0;B=wa+156|0;J=wa+160|0;t=wa+164|0;C=wa+334|0;w=wa+336|0;S=wa+338|0;M=wa+180|0;W=wa+184|0;U=wa+188|0;Q=wa+192|0;x=wa+196|0;H=wa+200|0;E=wa+28|0;D=wa+220|0;L=wa+36|0;I=wa+224|0;G=wa+232|0;N=wa+104|0;T=wa+248|0;A=wa;Y=wa+96|0;sa=wa+216|0;ta=wa+112|0;qa=wa+296|0;fa=wa+176|0;ga=wa+172|0;ha=wa+168|0;ka=wa+108|0;c[p>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[na>>2]=0;c[n>>2]=0;c[oa>>2]=0;c[ua>>2]=0;c[z>>2]=0;c[y>>2]=0;c[$>>2]=0;c[ra>>2]=c[(c[p>>2]|0)+52>>2];if(!(c[q>>2]|0)){c[Z>>2]=7;va=c[Z>>2]|0;i=wa;return va|0}c[ea>>2]=(d[(c[p>>2]|0)+1>>0]|0)+(e[(c[p>>2]|0)+18>>1]|0);if((c[ea>>2]|0)<2)c[F>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[ea>>2]|0)){c[F>>2]=(c[ea>>2]|0)-2+(c[s>>2]|0);break}else{c[F>>2]=(c[l>>2]|0)-1;break}else c[F>>2]=0;while(0);c[ea>>2]=2-(c[s>>2]|0)}c[pa>>2]=(c[ea>>2]|0)+1;k=c[p>>2]|0;if(((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)|0)==(e[(c[p>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[p>>2]|0)+56>>2]|0)+((d[k+6>>0]|0)+8);else c[K>>2]=(c[k+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)<<1)+1>>0]));c[P>>2]=kj(c[K>>2]|0)|0;while(1){c[ua>>2]=zw(c[ra>>2]|0,c[P>>2]|0,ca+(c[ea>>2]<<2)|0,0)|0;if(c[ua>>2]|0){f=16;break}c[n>>2]=(c[n>>2]|0)+(1+(e[(c[ca+(c[ea>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[ca+(c[ea>>2]<<2)>>2]|0)+1>>0]|0));f=c[ea>>2]|0;c[ea>>2]=f+-1;if(!f){f=26;break}if(((c[ea>>2]|0)+(c[F>>2]|0)|0)==(e[(c[p>>2]|0)+22>>1]|0)?(d[(c[p>>2]|0)+1>>0]|0)!=0:0){c[v+(c[ea>>2]<<2)>>2]=c[(c[p>>2]|0)+32>>2];c[P>>2]=kj(c[v+(c[ea>>2]<<2)>>2]|0)|0;f=(vB(c[p>>2]|0,c[v+(c[ea>>2]<<2)>>2]|0)|0)&65535;c[V+(c[ea>>2]<<2)>>2]=f;a[(c[p>>2]|0)+1>>0]=0;continue}c[v+(c[ea>>2]<<2)>>2]=(c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)<<1)+1>>0]));c[P>>2]=kj(c[v+(c[ea>>2]<<2)>>2]|0)|0;f=(vB(c[p>>2]|0,c[v+(c[ea>>2]<<2)>>2]|0)|0)&65535;c[V+(c[ea>>2]<<2)>>2]=f;if(e[(c[ra>>2]|0)+22>>1]&4){c[m>>2]=(c[v+(c[ea>>2]<<2)>>2]|0)-(c[(c[p>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[V+(c[ea>>2]<<2)>>2]|0)|0)>(c[(c[ra>>2]|0)+36>>2]|0)){f=23;break}EH((c[q>>2]|0)+(c[m>>2]|0)|0,c[v+(c[ea>>2]<<2)>>2]|0,c[V+(c[ea>>2]<<2)>>2]|0)|0;c[v+(c[ea>>2]<<2)>>2]=(c[q>>2]|0)+((c[v+(c[ea>>2]<<2)>>2]|0)-(c[(c[p>>2]|0)+56>>2]|0))}wC(c[p>>2]|0,(c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)|0,c[V+(c[ea>>2]<<2)>>2]|0,ua)}a:do if((f|0)==16)BH(ca|0,0,(c[ea>>2]|0)+1<<2|0)|0;else if((f|0)==23){c[ua>>2]=Rk(58592)|0;BH(ca|0,0,(c[ea>>2]|0)+1<<2|0)|0}else if((f|0)==26){c[n>>2]=(c[n>>2]|0)+3&-4;c[ja>>2]=(c[(c[ra>>2]|0)+32>>2]|0)+80;c[o>>2]=(c[n>>2]<<2)+(c[n>>2]<<1)+(c[(c[ra>>2]|0)+32>>2]|0)+(_(c[ja>>2]|0,c[pa>>2]|0)|0);c[$>>2]=kg(c[o>>2]|0)|0;if(!(c[$>>2]|0)){c[ua>>2]=7;break}c[va>>2]=(c[$>>2]|0)+(c[n>>2]<<2);c[u>>2]=(c[va>>2]|0)+(c[n>>2]<<1);b[la>>1]=d[(c[ca>>2]|0)+5>>0]<<2;c[ma>>2]=d[(c[ca>>2]|0)+3>>0];c[ea>>2]=0;while(1){k=c[ra>>2]|0;if((c[ea>>2]|0)>=(c[pa>>2]|0))break;k=(c[k+32>>2]|0)+(_(c[ja>>2]|0,c[ea>>2]|0)|0)|0;k=(c[u>>2]|0)+k|0;c[aa+(c[ea>>2]<<2)>>2]=k;c[J>>2]=k;k=c[J>>2]|0;h=c[ca+(c[ea>>2]<<2)>>2]|0;l=k+76|0;do{c[k>>2]=c[h>>2];k=k+4|0;h=h+4|0}while((k|0)<(l|0));c[(c[J>>2]|0)+56>>2]=(c[J>>2]|0)+76;EH(c[(c[J>>2]|0)+56>>2]|0,c[(c[ca+(c[ea>>2]<<2)>>2]|0)+56>>2]|0,c[(c[ra>>2]|0)+32>>2]|0)|0;c[B>>2]=(e[(c[J>>2]|0)+18>>1]|0)+(d[(c[J>>2]|0)+1>>0]|0);b:do if((d[(c[J>>2]|0)+1>>0]|0)>0){c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[B>>2]|0))break b;o=CC(c[J>>2]|0,c[ia>>2]|0)|0;c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]=o;o=vB(c[J>>2]|0,c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]|0)|0;b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=o;c[na>>2]=(c[na>>2]|0)+1;c[ia>>2]=(c[ia>>2]|0)+1}}else{c[t>>2]=c[(c[J>>2]|0)+56>>2];b[C>>1]=b[(c[J>>2]|0)+20>>1]|0;b[w>>1]=b[(c[J>>2]|0)+14>>1]|0;c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[B>>2]|0))break b;c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]=(c[t>>2]|0)+(e[C>>1]&(d[(c[t>>2]|0)+((e[w>>1]|0)+(c[ia>>2]<<1))>>0]<<8|d[(c[t>>2]|0)+((e[w>>1]|0)+(c[ia>>2]<<1))+1>>0]));o=vB(c[J>>2]|0,c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]|0)|0;b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=o;c[na>>2]=(c[na>>2]|0)+1;c[ia>>2]=(c[ia>>2]|0)+1}}while(0);if(!((c[ma>>2]|0)!=0?1:(c[ea>>2]|0)>=((c[pa>>2]|0)-1|0))){b[S>>1]=c[V+(c[ea>>2]<<2)>>2];b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=b[S>>1]|0;c[M>>2]=(c[u>>2]|0)+(c[z>>2]|0);c[z>>2]=(c[z>>2]|0)+(e[S>>1]|0);EH(c[M>>2]|0,c[v+(c[ea>>2]<<2)>>2]|0,e[S>>1]|0)|0;c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]=(c[M>>2]|0)+(e[la>>1]|0);b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=(e[(c[va>>2]|0)+(c[na>>2]<<1)>>1]|0)-(e[la>>1]|0);k=c[na>>2]|0;if(a[(c[J>>2]|0)+5>>0]|0){if((e[(c[va>>2]|0)+(k<<1)>>1]|0)<4)b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=4}else{o=c[(c[$>>2]|0)+(k<<2)>>2]|0;n=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0}c[na>>2]=(c[na>>2]|0)+1}c[ea>>2]=(c[ea>>2]|0)+1}c[X>>2]=(c[k+36>>2]|0)-12+(e[la>>1]|0);c[ea>>2]=0;c[ja>>2]=0;c[R>>2]=0;while(1){if((c[ea>>2]|0)>=(c[na>>2]|0))break;c[R>>2]=(c[R>>2]|0)+((e[(c[va>>2]|0)+(c[ea>>2]<<1)>>1]|0)+2);if((c[R>>2]|0)>(c[X>>2]|0)){c[V+(c[ja>>2]<<2)>>2]=(c[R>>2]|0)-(e[(c[va>>2]|0)+(c[ea>>2]<<1)>>1]|0);c[da+(c[ja>>2]<<2)>>2]=c[ea>>2];if(c[ma>>2]|0)c[ea>>2]=(c[ea>>2]|0)+-1;c[R>>2]=0;c[ja>>2]=(c[ja>>2]|0)+1;if((c[ja>>2]|0)>4){f=50;break}}c[ea>>2]=(c[ea>>2]|0)+1}if((f|0)==50){c[ua>>2]=Rk(58731)|0;break}c[V+(c[ja>>2]<<2)>>2]=c[R>>2];c[da+(c[ja>>2]<<2)>>2]=c[na>>2];c[ja>>2]=(c[ja>>2]|0)+1;c[ea>>2]=(c[ja>>2]|0)-1;while(1){if((c[ea>>2]|0)<=0)break;c[W>>2]=c[V+(c[ea>>2]<<2)>>2];c[U>>2]=c[V+((c[ea>>2]|0)-1<<2)>>2];c[Q>>2]=(c[da+((c[ea>>2]|0)-1<<2)>>2]|0)-1;c[x>>2]=(c[Q>>2]|0)+1-(c[ma>>2]|0);while(1){if(c[W>>2]|0){if(c[s>>2]|0)break;if(((c[W>>2]|0)+(e[(c[va>>2]|0)+(c[x>>2]<<1)>>1]|0)+2|0)>((c[U>>2]|0)-((e[(c[va>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2)|0))break}c[W>>2]=(c[W>>2]|0)+((e[(c[va>>2]|0)+(c[x>>2]<<1)>>1]|0)+2);c[U>>2]=(c[U>>2]|0)-((e[(c[va>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2);X=da+((c[ea>>2]|0)-1<<2)|0;c[X>>2]=(c[X>>2]|0)+-1;c[Q>>2]=(c[da+((c[ea>>2]|0)-1<<2)>>2]|0)-1;c[x>>2]=(c[Q>>2]|0)+1-(c[ma>>2]|0)}c[V+(c[ea>>2]<<2)>>2]=c[W>>2];c[V+((c[ea>>2]|0)-1<<2)>>2]=c[U>>2];c[ea>>2]=(c[ea>>2]|0)+-1}if((c[(c[ca>>2]|0)+72>>2]|0)>>>0<=1){c[ua>>2]=Rk(58793)|0;break}c[O>>2]=d[c[(c[ca>>2]|0)+56>>2]>>0];c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[ja>>2]|0))break;if((c[ea>>2]|0)<(c[pa>>2]|0)){X=c[ca+(c[ea>>2]<<2)>>2]|0;c[ba+(c[ea>>2]<<2)>>2]=X;c[H>>2]=X;c[ca+(c[ea>>2]<<2)>>2]=0;c[ua>>2]=ye(c[(c[H>>2]|0)+68>>2]|0)|0;c[oa>>2]=(c[oa>>2]|0)+1;if(c[ua>>2]|0)break a}else{c[ua>>2]=EA(c[ra>>2]|0,H,P,(c[s>>2]|0)!=0?1:c[P>>2]|0,0)|0;if(c[ua>>2]|0)break a;c[ba+(c[ea>>2]<<2)>>2]=c[H>>2];c[oa>>2]=(c[oa>>2]|0)+1;if((a[(c[ra>>2]|0)+17>>0]|0)!=0?(IA(c[ra>>2]|0,c[(c[H>>2]|0)+72>>2]|0,5,c[(c[p>>2]|0)+72>>2]|0,ua),(c[ua>>2]|0)!=0):0)break a}c[ea>>2]=(c[ea>>2]|0)+1}while(1){if((c[ea>>2]|0)>=(c[pa>>2]|0))break;FB(c[ca+(c[ea>>2]<<2)>>2]|0,ua);if(c[ua>>2]|0)break a;pt(c[ca+(c[ea>>2]<<2)>>2]|0);c[ca+(c[ea>>2]<<2)>>2]=0;c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=((c[ja>>2]|0)-1|0))break;c[E>>2]=c[(c[ba+(c[ea>>2]<<2)>>2]|0)+72>>2];c[D>>2]=c[ea>>2];c[ia>>2]=(c[ea>>2]|0)+1;while(1){if((c[ia>>2]|0)>=(c[ja>>2]|0))break;if((c[(c[ba+(c[ia>>2]<<2)>>2]|0)+72>>2]|0)>>>0<(c[E>>2]|0)>>>0){c[D>>2]=c[ia>>2];c[E>>2]=c[(c[ba+(c[ia>>2]<<2)>>2]|0)+72>>2]}c[ia>>2]=(c[ia>>2]|0)+1}if((c[D>>2]|0)>(c[ea>>2]|0)){c[L>>2]=c[ba+(c[ea>>2]<<2)>>2];c[ba+(c[ea>>2]<<2)>>2]=c[ba+(c[D>>2]<<2)>>2];c[ba+(c[D>>2]<<2)>>2]=c[L>>2]}c[ea>>2]=(c[ea>>2]|0)+1}Dl(c[K>>2]|0,c[(c[ba+((c[oa>>2]|0)-1<<2)>>2]|0)+72>>2]|0);c[ia>>2]=0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]|0))break;c[I>>2]=c[ba+(c[ea>>2]<<2)>>2];GB(c[I>>2]|0,c[O>>2]|0);DC(c[I>>2]|0,(c[da+(c[ea>>2]<<2)>>2]|0)-(c[ia>>2]|0)|0,(c[$>>2]|0)+(c[ia>>2]<<2)|0,(c[va>>2]|0)+(c[ia>>2]<<1)|0);c[ia>>2]=c[da+(c[ea>>2]<<2)>>2];if((c[ia>>2]|0)<(c[na>>2]|0)){c[G>>2]=c[(c[$>>2]|0)+(c[ia>>2]<<2)>>2];c[T>>2]=(e[(c[va>>2]|0)+(c[ia>>2]<<1)>>1]|0)+(e[la>>1]|0);c[N>>2]=(c[q>>2]|0)+(c[y>>2]|0);do if(a[(c[I>>2]|0)+5>>0]|0){if(c[ma>>2]|0){c[ia>>2]=(c[ia>>2]|0)+-1;Kw(c[I>>2]|0,c[(c[$>>2]|0)+(c[ia>>2]<<2)>>2]|0,A);c[G>>2]=c[N>>2];X=A;c[T>>2]=4+(vz((c[G>>2]|0)+4|0,c[X>>2]|0,c[X+4>>2]|0)|0);c[N>>2]=0;break}c[G>>2]=(c[G>>2]|0)+-4;if((e[(c[va>>2]|0)+(c[ia>>2]<<1)>>1]|0)==4)c[T>>2]=(vB(c[p>>2]|0,c[G>>2]|0)|0)&65535}else{X=(c[(c[I>>2]|0)+56>>2]|0)+8|0;W=c[G>>2]|0;a[X>>0]=a[W>>0]|0;a[X+1>>0]=a[W+1>>0]|0;a[X+2>>0]=a[W+2>>0]|0;a[X+3>>0]=a[W+3>>0]|0}while(0);c[y>>2]=(c[y>>2]|0)+(c[T>>2]|0);xC(c[p>>2]|0,c[F>>2]|0,c[G>>2]|0,c[T>>2]|0,c[N>>2]|0,c[(c[I>>2]|0)+72>>2]|0,ua);if(c[ua>>2]|0)break a;c[ia>>2]=(c[ia>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+1}c[ea>>2]=(c[ea>>2]|0)+1}if(!(c[O>>2]&8)){c[Y>>2]=(c[(c[aa+((c[pa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8;X=(c[(c[ba+((c[oa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;Y=c[Y>>2]|0;a[X>>0]=a[Y>>0]|0;a[X+1>>0]=a[Y+1>>0]|0;a[X+2>>0]=a[Y+2>>0]|0;a[X+3>>0]=a[Y+3>>0]|0}if(((c[r>>2]|0)!=0?(e[(c[p>>2]|0)+18>>1]|0)==0:0)?(d[(c[p>>2]|0)+6>>0]|0)<=(e[(c[ba>>2]|0)+16>>1]|0):0){EC(c[ba>>2]|0,c[p>>2]|0,ua);FB(c[ba>>2]|0,ua);break}if(a[(c[ra>>2]|0)+17>>0]|0){c[sa>>2]=c[ba>>2];c[ta>>2]=c[aa>>2];c[qa>>2]=d[(c[ta>>2]|0)+1>>0];c[fa>>2]=(e[(c[ta>>2]|0)+18>>1]|0)+(c[qa>>2]|0);if(c[qa>>2]|0)k=e[(c[ta>>2]|0)+22>>1]|0;else k=-1;c[ga>>2]=k;c[ia>>2]=0;c[ja>>2]=0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[na>>2]|0))break;c[ha>>2]=0;while(1){if((c[ea>>2]|0)!=(c[fa>>2]|0))break;Y=(c[ia>>2]|0)+1|0;c[ia>>2]=Y;c[ta>>2]=c[aa+(Y<<2)>>2];c[fa>>2]=(c[ea>>2]|0)+(((c[ma>>2]|0)!=0^1)&1)+(e[(c[ta>>2]|0)+18>>1]|0)+(d[(c[ta>>2]|0)+1>>0]|0);if(a[(c[ta>>2]|0)+1>>0]|0){c[qa>>2]=d[(c[ta>>2]|0)+1>>0];c[ga>>2]=(c[ea>>2]|0)+(((c[ma>>2]|0)!=0^1)&1)+(e[(c[ta>>2]|0)+22>>1]|0)}c[ha>>2]=((c[ma>>2]|0)!=0^1)&1}if((c[ea>>2]|0)==(c[ga>>2]|0)?(c[ha>>2]=1,Y=(c[qa>>2]|0)+-1|0,c[qa>>2]=Y,(Y|0)>0):0)c[ga>>2]=(c[ga>>2]|0)+1;if(!((c[ea>>2]|0)==(c[da+(c[ja>>2]<<2)>>2]|0)?(Y=(c[ja>>2]|0)+1|0,c[ja>>2]=Y,c[sa>>2]=c[ba+(Y<<2)>>2],(c[ma>>2]|0)==0):0))f=116;do if((f|0)==116){f=0;if((c[ha>>2]|0)==0?(c[(c[ta>>2]|0)+72>>2]|0)==(c[(c[sa>>2]|0)+72>>2]|0):0)break;if(!(b[la>>1]|0)){X=c[ra>>2]|0;Y=kj(c[(c[$>>2]|0)+(c[ea>>2]<<2)>>2]|0)|0;IA(X,Y,5,c[(c[sa>>2]|0)+72>>2]|0,ua)}if((e[(c[va>>2]|0)+(c[ea>>2]<<1)>>1]|0)>(e[(c[sa>>2]|0)+12>>1]|0))KA(c[sa>>2]|0,c[(c[$>>2]|0)+(c[ea>>2]<<2)>>2]|0,ua)}while(0);c[ea>>2]=(c[ea>>2]|0)+1}if(!(b[la>>1]|0)){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]|0))break a;c[ka>>2]=kj((c[(c[ba+(c[ea>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;IA(c[ra>>2]|0,c[ka>>2]|0,5,c[(c[ba+(c[ea>>2]<<2)>>2]|0)+72>>2]|0,ua);c[ea>>2]=(c[ea>>2]|0)+1}}}}while(0);lg(c[$>>2]|0);c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[pa>>2]|0))break;pt(c[ca+(c[ea>>2]<<2)>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]|0))break;pt(c[ba+(c[ea>>2]<<2)>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}c[Z>>2]=c[ua>>2];va=c[Z>>2]|0;i=wa;return va|0}function CC(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;f=l;c[h>>2]=a;c[j>>2]=b;c[k>>2]=(d[(c[h>>2]|0)+1>>0]|0)-1;while(1){if((c[k>>2]|0)<0){b=8;break}c[f>>2]=e[(c[h>>2]|0)+22+(c[k>>2]<<1)>>1];if((c[f>>2]|0)<=(c[j>>2]|0)){if((c[f>>2]|0)==(c[j>>2]|0)){b=5;break}c[j>>2]=(c[j>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+-1}if((b|0)==5){c[g>>2]=c[(c[h>>2]|0)+32+(c[k>>2]<<2)>>2];k=c[g>>2]|0;i=l;return k|0}else if((b|0)==8){c[g>>2]=(c[(c[h>>2]|0)+56>>2]|0)+((e[(c[h>>2]|0)+20>>1]|0)&((d[(c[(c[h>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[h>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)));k=c[g>>2]|0;i=l;return k|0}return 0}function DC(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,u=0,v=0;v=i;i=i+48|0;k=v+36|0;l=v+16|0;m=v+28|0;n=v+4|0;r=v+32|0;t=v;o=v+12|0;p=v+24|0;q=v+20|0;s=v+8|0;u=v+40|0;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;c[p>>2]=c[(c[k>>2]|0)+56>>2];c[q>>2]=d[(c[k>>2]|0)+6>>0];c[s>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];c[t>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[o>>2]=c[s>>2];c[r>>2]=(c[l>>2]|0)-1;while(1){if((c[r>>2]|0)<0)break;b[u>>1]=b[(c[n>>2]|0)+(c[r>>2]<<1)>>1]|0;c[t>>2]=(c[t>>2]|0)+-2;c[o>>2]=(c[o>>2]|0)-(e[u>>1]|0);a[c[t>>2]>>0]=c[o>>2]>>8;a[(c[t>>2]|0)+1>>0]=c[o>>2];EH((c[p>>2]|0)+(c[o>>2]|0)|0,c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]|0,e[u>>1]|0|0)|0;c[r>>2]=(c[r>>2]|0)+-1}a[(c[p>>2]|0)+((c[q>>2]|0)+3)>>0]=c[l>>2]>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+3)+1>>0]=c[l>>2];a[(c[p>>2]|0)+((c[q>>2]|0)+5)>>0]=c[o>>2]>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+5)+1>>0]=c[o>>2];u=(c[k>>2]|0)+16|0;b[u>>1]=(e[u>>1]|0)-((c[l>>2]<<1)+(c[s>>2]|0)-(c[o>>2]|0));b[(c[k>>2]|0)+18>>1]=c[l>>2];i=v;return}function EC(b,f,g){b=b|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;s=i;i=i+48|0;h=s;j=s+16|0;k=s+28|0;q=s+4|0;l=s+32|0;m=s+36|0;o=s+12|0;p=s+24|0;r=s+20|0;n=s+8|0;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+6>>0];c[p>>2]=(c[(c[j>>2]|0)+72>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];EH((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;EH((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Ul(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=HA(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function FC(b,f,g){b=b|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;x=i;i=i+64|0;h=x+24|0;j=x+20|0;k=x+44|0;l=x+36|0;p=x+32|0;n=x+40|0;t=x+48|0;o=x+52|0;r=x+8|0;u=x+4|0;q=x+28|0;m=x+12|0;s=x;v=x+16|0;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[p>>2]=d[(c[j>>2]|0)+6>>0];c[n>>2]=c[(c[j>>2]|0)+56>>2];c[u>>2]=c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2];c[o>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[t>>2]=(d[(c[n>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0);do if((c[o>>2]|0)>(c[t>>2]|0)){if(!(c[t>>2]|0)){c[t>>2]=65536;break}c[h>>2]=Rk(53453)|0;w=c[h>>2]|0;i=x;return w|0}while(0);a:do if(((c[o>>2]|0)+2|0)<=(c[t>>2]|0)){if((d[(c[n>>2]|0)+((c[p>>2]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+((c[p>>2]|0)+2)>>0]|0|0)==0:0){w=22;break}c[m>>2]=(c[p>>2]|0)+1;while(1){b=(d[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(c[m>>2]|0)+1>>0]|0);c[q>>2]=b;if((b|0)<=0){w=22;break a}if((c[q>>2]|0)>((c[u>>2]|0)-4|0)){w=12;break}if((c[q>>2]|0)<((c[m>>2]|0)+4|0)){w=12;break}c[s>>2]=(d[(c[n>>2]|0)+((c[q>>2]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((c[q>>2]|0)+2)+1>>0]|0);if((c[s>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=c[q>>2]}if((w|0)==12){c[h>>2]=Rk(53469)|0;w=c[h>>2]|0;i=x;return w|0}c[v>>2]=(c[s>>2]|0)-(c[k>>2]|0);do if((c[v>>2]|0)<4){if((d[(c[n>>2]|0)+((c[p>>2]|0)+7)>>0]|0|0)>=60){w=23;break a}w=(c[n>>2]|0)+(c[m>>2]|0)|0;u=(c[n>>2]|0)+(c[q>>2]|0)|0;a[w>>0]=a[u>>0]|0;a[w+1>>0]=a[u+1>>0]|0;w=(c[n>>2]|0)+((c[p>>2]|0)+7)|0;a[w>>0]=(d[w>>0]|0)+(c[v>>2]&255)}else{if(((c[s>>2]|0)+(c[q>>2]|0)|0)<=(c[u>>2]|0)){a[(c[n>>2]|0)+((c[q>>2]|0)+2)>>0]=c[v>>2]>>8;a[(c[n>>2]|0)+((c[q>>2]|0)+2)+1>>0]=c[v>>2];break}c[h>>2]=Rk(53483)|0;w=c[h>>2]|0;i=x;return w|0}while(0);c[c[l>>2]>>2]=(c[q>>2]|0)+(c[v>>2]|0);c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}else w=22;while(0);if((w|0)==22?((c[o>>2]|0)+2+(c[k>>2]|0)|0)>(c[t>>2]|0):0)w=23;do if((w|0)==23){c[r>>2]=GC(c[j>>2]|0)|0;if(!(c[r>>2]|0)){c[t>>2]=(((d[(c[n>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[r>>2];w=c[h>>2]|0;i=x;return w|0}while(0);c[t>>2]=(c[t>>2]|0)-(c[k>>2]|0);a[(c[n>>2]|0)+((c[p>>2]|0)+5)>>0]=c[t>>2]>>8;a[(c[n>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[t>>2];c[c[l>>2]>>2]=c[t>>2];c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}function GC(b){b=b|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;v=i;i=i+64|0;p=v+52|0;q=v+44|0;g=v+20|0;l=v+12|0;t=v+4|0;m=v+40|0;o=v+48|0;f=v+56|0;r=v+16|0;j=v+24|0;s=v;n=v+32|0;u=v+28|0;h=v+8|0;k=v+36|0;c[q>>2]=b;c[n>>2]=HC(c[c[(c[q>>2]|0)+52>>2]>>2]|0)|0;c[s>>2]=c[(c[q>>2]|0)+56>>2];c[t>>2]=d[(c[q>>2]|0)+6>>0];c[f>>2]=e[(c[q>>2]|0)+14>>1];c[j>>2]=e[(c[q>>2]|0)+18>>1];c[o>>2]=c[(c[(c[q>>2]|0)+52>>2]|0)+36>>2];c[r>>2]=(d[(c[s>>2]|0)+((c[t>>2]|0)+5)>>0]|0)<<8|(d[(c[s>>2]|0)+((c[t>>2]|0)+5)+1>>0]|0);EH((c[n>>2]|0)+(c[r>>2]|0)|0,(c[s>>2]|0)+(c[r>>2]|0)|0,(c[o>>2]|0)-(c[r>>2]|0)|0)|0;c[r>>2]=c[o>>2];c[u>>2]=(c[f>>2]|0)+(c[j>>2]<<1);c[h>>2]=(c[o>>2]|0)-4;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0)){f=10;break}c[k>>2]=(c[s>>2]|0)+((c[f>>2]|0)+(c[g>>2]<<1));c[l>>2]=(d[c[k>>2]>>0]|0)<<8|(d[(c[k>>2]|0)+1>>0]|0);if((c[l>>2]|0)<(c[u>>2]|0)){f=5;break}if((c[l>>2]|0)>(c[h>>2]|0)){f=5;break}c[m>>2]=(vB(c[q>>2]|0,(c[n>>2]|0)+(c[l>>2]|0)|0)|0)&65535;c[r>>2]=(c[r>>2]|0)-(c[m>>2]|0);if((c[r>>2]|0)<(c[u>>2]|0)){f=8;break}if(((c[l>>2]|0)+(c[m>>2]|0)|0)>(c[o>>2]|0)){f=8;break}EH((c[s>>2]|0)+(c[r>>2]|0)|0,(c[n>>2]|0)+(c[l>>2]|0)|0,c[m>>2]|0)|0;a[c[k>>2]>>0]=c[r>>2]>>8;a[(c[k>>2]|0)+1>>0]=c[r>>2];c[g>>2]=(c[g>>2]|0)+1}if((f|0)==5){c[p>>2]=Rk(53381)|0;u=c[p>>2]|0;i=v;return u|0}else if((f|0)==8){c[p>>2]=Rk(53393)|0;u=c[p>>2]|0;i=v;return u|0}else if((f|0)==10){a[(c[s>>2]|0)+((c[t>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[s>>2]|0)+((c[t>>2]|0)+5)+1>>0]=c[r>>2];a[(c[s>>2]|0)+((c[t>>2]|0)+1)>>0]=0;a[(c[s>>2]|0)+((c[t>>2]|0)+2)>>0]=0;a[(c[s>>2]|0)+((c[t>>2]|0)+7)>>0]=0;BH((c[s>>2]|0)+(c[u>>2]|0)|0,0,(c[r>>2]|0)-(c[u>>2]|0)|0)|0;if(((c[r>>2]|0)-(c[u>>2]|0)|0)!=(e[(c[q>>2]|0)+16>>1]|0|0)){c[p>>2]=Rk(53410)|0;u=c[p>>2]|0;i=v;return u|0}else{c[p>>2]=0;u=c[p>>2]|0;i=v;return u|0}}return 0}function HC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+200>>2]|0}function IC(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;x=i;i=i+48|0;j=x+20|0;k=x+12|0;l=x+28|0;m=x+24|0;t=x+30|0;q=x+32|0;o=x+35|0;v=x+34|0;s=x+26|0;r=x+16|0;p=x;n=x+4|0;u=x+8|0;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[v>>0]=0;b[s>>1]=b[m>>1]|0;c[r>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[p>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[n>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)BH((c[n>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[o>>0]=a[(c[k>>2]|0)+6>>0]|0;b[t>>1]=(d[o>>0]|0)+1;if((d[(c[n>>2]|0)+((e[t>>1]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0|0)==0:0)b[q>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;f=((d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]|0))&65535;b[q>>1]=f;if((f&65535|0)>0)g=(e[q>>1]|0|0)<(e[l>>1]|0|0);else g=0;h=e[q>>1]|0;if(!g)break;if((h|0)<((e[t>>1]|0)+4|0)){w=10;break}b[t>>1]=b[q>>1]|0;w=6}if((w|0)==10){c[j>>2]=Rk(53568)|0;w=c[j>>2]|0;i=x;return w|0}if(h>>>0>(c[r>>2]|0)>>>0){c[j>>2]=Rk(53571)|0;w=c[j>>2]|0;i=x;return w|0}do if((e[q>>1]|0|0)!=0?((c[p>>2]|0)+3|0)>>>0>=(e[q>>1]|0)>>>0:0){a[v>>0]=(e[q>>1]|0)-(c[p>>2]|0);if((c[p>>2]|0)>>>0<=(e[q>>1]|0)>>>0){c[p>>2]=(e[q>>1]|0)+((d[(c[n>>2]|0)+((e[q>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[q>>1]|0)+2)+1>>0]|0));b[m>>1]=(c[p>>2]|0)-(e[l>>1]|0);b[q>>1]=(d[(c[n>>2]|0)+(e[q>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[q>>1]|0)+1>>0]|0);break}c[j>>2]=Rk(53582)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[t>>1]|0|0)>((d[o>>0]|0)+1|0)?(c[u>>2]=(e[t>>1]|0)+((d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0]|0)),((c[u>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[u>>2]|0)<=(e[l>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[l>>1]|0)-(c[u>>2]|0));b[m>>1]=(c[p>>2]|0)-(e[t>>1]|0);b[l>>1]=b[t>>1]|0;break}c[j>>2]=Rk(53595)|0;w=c[j>>2]|0;i=x;return w|0}while(0);if((d[v>>0]|0|0)<=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0|0)){w=(c[n>>2]|0)+((d[o>>0]|0)+7)|0;a[w>>0]=(d[w>>0]|0)-(d[v>>0]|0);break}c[j>>2]=Rk(53601)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[l>>1]|0|0)==((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]|0)|0)){if((e[t>>1]|0|0)==((d[o>>0]|0)+1|0)){a[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[p>>2]|0)>>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[p>>2];break}c[j>>2]=Rk(53608)|0;w=c[j>>2]|0;i=x;return w|0}else{a[(c[n>>2]|0)+(e[t>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]=b[l>>1];a[(c[n>>2]|0)+(e[l>>1]|0)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+(e[l>>1]|0)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[n>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);w=(c[k>>2]|0)+16|0;b[w>>1]=(e[w>>1]|0)+(e[s>>1]|0);c[j>>2]=0;w=c[j>>2]|0;i=x;return w|0}function JC(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;M=i;i=i+112|0;J=M+96|0;p=M+20|0;q=M+60|0;r=M+32|0;s=M;t=M+12|0;u=M+16|0;N=M+56|0;o=M+48|0;z=M+24|0;F=M+28|0;A=M+92|0;x=M+36|0;L=M+40|0;I=M+44|0;C=M+52|0;K=M+68|0;E=M+72|0;D=M+76|0;B=M+80|0;G=M+84|0;y=M+88|0;w=M+64|0;H=M+8|0;v=M+100|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;b=s;c[b>>2]=h;c[b+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[N>>2]=m;c[o>>2]=n;c[C>>2]=0;c[K>>2]=0;c[B>>2]=c[(c[p>>2]|0)+52>>2];c[G>>2]=0;c[y>>2]=d[(c[p>>2]|0)+7>>0];c[z>>2]=(c[u>>2]|0)+(c[N>>2]|0);if(a[(c[p>>2]|0)+3>>0]|0){if((c[z>>2]|0)>>>0<128){a[(c[q>>2]|0)+(c[y>>2]|0)>>0]=c[z>>2];h=1}else{h=c[z>>2]|0;h=vz((c[q>>2]|0)+(c[y>>2]|0)|0,h,((h|0)<0)<<31>>31)|0}c[y>>2]=(c[y>>2]|0)+(h&255)}N=s;N=vz((c[q>>2]|0)+(c[y>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+N;do if(a[(c[p>>2]|0)+2>>0]|0){c[F>>2]=c[t>>2];c[A>>2]=c[u>>2];c[u>>2]=0}else{N=s;n=c[N+4>>2]|0;if(!((n|0)>0|(n|0)==0&(c[N>>2]|0)>>>0>2147483647|(c[r>>2]|0)==0)){c[z>>2]=c[s>>2];c[F>>2]=c[r>>2];c[A>>2]=c[s>>2];break}c[J>>2]=Rk(57891)|0;N=c[J>>2]|0;i=M;return N|0}while(0);if((c[z>>2]|0)<=(e[(c[p>>2]|0)+10>>1]|0)){N=(c[y>>2]|0)+(c[z>>2]|0)|0;c[x>>2]=N;c[x>>2]=(c[x>>2]|0)<4?4:N;c[c[o>>2]>>2]=c[x>>2];c[I>>2]=c[z>>2];c[E>>2]=c[q>>2]}else{c[w>>2]=e[(c[p>>2]|0)+12>>1];c[x>>2]=(c[w>>2]|0)+((((c[z>>2]|0)-(c[w>>2]|0)|0)>>>0)%(((c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[x>>2]|0)>(e[(c[p>>2]|0)+10>>1]|0))c[x>>2]=c[w>>2];c[I>>2]=c[x>>2];c[c[o>>2]>>2]=(c[x>>2]|0)+(c[y>>2]|0)+4;c[E>>2]=(c[q>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))}c[D>>2]=(c[q>>2]|0)+(c[y>>2]|0);while(1){if((c[z>>2]|0)<=0){h=37;break}if(!(c[I>>2]|0)){c[H>>2]=c[G>>2];if(a[(c[B>>2]|0)+17>>0]|0)while(1){c[G>>2]=(c[G>>2]|0)+1;N=Pw(c[B>>2]|0,c[G>>2]|0)|0;if((N|0)==(c[G>>2]|0))continue;if((c[G>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[L>>2]=EA(c[B>>2]|0,C,G,c[G>>2]|0,0)|0;if(((c[L>>2]|0)==0?(d[(c[B>>2]|0)+17>>0]|0)!=0:0)?(a[v>>0]=(c[H>>2]|0)!=0?4:3,IA(c[B>>2]|0,c[G>>2]|0,a[v>>0]|0,c[H>>2]|0,L),(c[L>>2]|0)!=0):0)pt(c[C>>2]|0);if(c[L>>2]|0){h=26;break}Dl(c[E>>2]|0,c[G>>2]|0);pt(c[K>>2]|0);c[K>>2]=c[C>>2];c[E>>2]=c[(c[C>>2]|0)+56>>2];Dl(c[E>>2]|0,0);c[D>>2]=(c[(c[C>>2]|0)+56>>2]|0)+4;c[I>>2]=(c[(c[B>>2]|0)+36>>2]|0)-4}c[x>>2]=c[z>>2];if((c[x>>2]|0)>(c[I>>2]|0))c[x>>2]=c[I>>2];if((c[A>>2]|0)>0){if((c[x>>2]|0)>(c[A>>2]|0))c[x>>2]=c[A>>2];EH(c[D>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}else BH(c[D>>2]|0,0,c[x>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-(c[x>>2]|0);c[D>>2]=(c[D>>2]|0)+(c[x>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[x>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[x>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[x>>2]|0);if(c[A>>2]|0)continue;c[A>>2]=c[u>>2];c[F>>2]=c[t>>2]}if((h|0)==26){pt(c[K>>2]|0);c[J>>2]=c[L>>2];N=c[J>>2]|0;i=M;return N|0}else if((h|0)==37){pt(c[K>>2]|0);c[J>>2]=0;N=c[J>>2]|0;i=M;return N|0}return 0}function KC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+56>>2];if(!(c[f>>2]|0)){i=g;return}$z(c[d>>2]|0,c[f>>2]|0);Sb(c[(c[f>>2]|0)+36+4>>2]|0);Nd(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+56>>2]=0;i=g;return}function LC(b,e,f){b=b|0;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;u=i;i=i+64|0;g=u+4|0;h=u;j=u+16|0;k=u+28|0;n=u+32|0;p=u+40|0;r=u+44|0;t=u+24|0;s=u+20|0;q=u+8|0;o=u+12|0;l=u+48|0;m=u+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){CA(f);ie(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(Pw(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=EA(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=Jy(c[n>>2]|0,0,0)|0;pt(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Bw(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Qw(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Rk(59666)|0;if(c[t>>2]|0){pt(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=FA(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;pt(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Bw(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=ye(c[(c[p>>2]|0)+68>>2]|0)|0;if(c[t>>2]|0){pt(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];IA(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){pt(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=te(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){pt(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=EA(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;GB(c[p>>2]|0,c[s>>2]|0);qe(c[(c[p>>2]|0)+68>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function MC(d,f,g,h,j){d=d|0;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;r=i;i=i+32|0;k=r+8|0;l=r+16|0;m=r+20|0;n=r+24|0;o=r+4|0;p=r;q=r+12|0;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=c[(c[l>>2]|0)+4>>2];if((c[n>>2]|0)!=0?((e[(c[q>>2]|0)+22>>1]|0)&1|0)!=0:0){c[k>>2]=8;g=c[k>>2]|0;i=r;return g|0}if((c[n>>2]|0)!=0?(NC(c[q>>2]|0),(c[(c[q>>2]|0)+80>>2]|0)==0):0){c[k>>2]=7;g=c[k>>2]|0;i=r;return g|0}if((c[m>>2]|0)==1?(Aw(c[q>>2]|0)|0)==0:0)c[m>>2]=0;c[(c[p>>2]|0)+60>>2]=c[m>>2];b[(c[p>>2]|0)+76>>1]=-1;c[(c[p>>2]|0)+16>>2]=c[o>>2];c[c[p>>2]>>2]=c[l>>2];c[(c[p>>2]|0)+4>>2]=c[q>>2];a[(c[p>>2]|0)+72>>0]=c[n>>2];c[(c[p>>2]|0)+8>>2]=c[(c[q>>2]|0)+8>>2];if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=c[p>>2];c[(c[q>>2]|0)+8>>2]=c[p>>2];a[(c[p>>2]|0)+73>>0]=0;c[k>>2]=0;g=c[k>>2]|0;i=r;return g|0}function NC(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Dg(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function OC(){return 200}function PC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+76|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function QC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;g=m+20|0;l=m+24|0;k=m+4|0;j=m;h=m+12|0;c[f>>2]=a;c[g>>2]=b;c[l>>2]=0;c[k>>2]=c[(c[f>>2]|0)+96>>2];a:do if((c[g>>2]|0)>(c[k>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[h>>2]=Yd(c[(c[f>>2]|0)+92>>2]|0,(c[g>>2]|0)*48|0,0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;l=c[e>>2]|0;i=m;return l|0}BH((c[h>>2]|0)+((c[k>>2]|0)*48|0)|0,0,((c[g>>2]|0)-(c[k>>2]|0)|0)*48|0)|0;c[(c[f>>2]|0)+92>>2]=c[h>>2];c[j>>2]=c[k>>2];while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break a;c[(c[h>>2]|0)+((c[j>>2]|0)*48|0)+20>>2]=c[(c[f>>2]|0)+24>>2];if((c[c[(c[f>>2]|0)+64>>2]>>2]|0)!=0?(a=(c[f>>2]|0)+72|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){k=(c[f>>2]|0)+72|0;b=c[k+4>>2]|0;a=(c[h>>2]|0)+((c[j>>2]|0)*48|0)|0;c[a>>2]=c[k>>2];c[a+4>>2]=b}else{a=(c[h>>2]|0)+((c[j>>2]|0)*48|0)|0;c[a>>2]=c[(c[f>>2]|0)+148>>2];c[a+4>>2]=0}c[(c[h>>2]|0)+((c[j>>2]|0)*48|0)+24>>2]=c[(c[f>>2]|0)+52>>2];a=Rg(c[(c[f>>2]|0)+24>>2]|0)|0;c[(c[h>>2]|0)+((c[j>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[h>>2]|0)+((c[j>>2]|0)*48|0)+16>>2]|0))break;if(Fj(c[f>>2]|0)|0)RC(c[(c[f>>2]|0)+208>>2]|0,(c[h>>2]|0)+((c[j>>2]|0)*48|0)+28|0);c[(c[f>>2]|0)+96>>2]=(c[j>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}c[e>>2]=7;l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function RC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+104>>2];i=d;return}function SC(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function TC(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=ye(c[(c[m>>2]|0)+68>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{g=c[l>>2]|0;f=33938;h=g+16|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;g=(c[l>>2]|0)+24|0;h=g+76|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));GB(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;Dl((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);Dl((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function UC(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+12|0;h=o+20|0;j=o;l=o+24|0;m=o+8|0;n=o+16|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=GH(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=GH(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=GH(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function VC(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;g=f;c[d>>2]=a;c[g>>2]=b;c[c[g>>2]>>2]=e[(c[d>>2]|0)+24+16>>1];i=f;return c[(c[d>>2]|0)+24+8>>2]|0}function WC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+48|0;c[f>>2]=Gw(c[c[e>>2]>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Rk(65954)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+26>>0]=0;c[(c[e>>2]|0)+60>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function XC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[(c[e>>2]|0)+12>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))a=c[(c[f>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;c[g>>2]=$G(c[(c[e>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,a)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0);g=c[d>>2]|0;i=h;return g|0}return 0}function YC(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Iq(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(sg(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function ZC(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(fm(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function _C(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;f=h+16|0;e=h+12|0;b=h+8|0;d=h+4|0;g=h;c[f>>2]=a;if(c[(c[f>>2]|0)+176>>2]|0){c[e>>2]=c[(c[f>>2]|0)+176>>2];while(1){a=c[e>>2]|0;if(!(c[(c[e>>2]|0)+4>>2]|0))break;c[e>>2]=c[a+4>>2]}dz(a)|0;c[(c[f>>2]|0)+176>>2]=0;c[(c[f>>2]|0)+184>>2]=0}a:do if(c[(c[f>>2]|0)+56>>2]|0){c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[f>>2]|0)+36>>2]|0))break a;c[d>>2]=c[(c[(c[f>>2]|0)+56>>2]|0)+(c[b>>2]<<2)>>2];if(c[d>>2]|0){Jz(c[f>>2]|0,c[d>>2]|0);c[(c[(c[f>>2]|0)+56>>2]|0)+(c[b>>2]<<2)>>2]=0}c[b>>2]=(c[b>>2]|0)+1}}while(0);if(c[(c[f>>2]|0)+8>>2]|0)gu((c[(c[f>>2]|0)+8>>2]|0)+40|0,c[(c[f>>2]|0)+28>>2]|0);while(1){a=c[f>>2]|0;if(!(c[(c[f>>2]|0)+180>>2]|0))break;c[g>>2]=c[a+180>>2];c[(c[f>>2]|0)+180>>2]=c[(c[g>>2]|0)+4>>2];gD(c[g>>2]|0)}if(!(c[a+204>>2]|0)){i=h;return}nz(c[f>>2]|0,-1,0);i=h;return}function $C(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;H=i;i=i+144|0;z=H+8|0;B=H+16|0;A=H+24|0;y=H;d=H+60|0;e=H+48|0;I=H+40|0;f=H+96|0;j=H+80|0;v=H+56|0;l=H+52|0;n=H+44|0;o=H+64|0;p=H+68|0;u=H+72|0;k=H+92|0;F=H+84|0;E=H+76|0;t=H+88|0;m=H+32|0;w=H+100|0;x=H+104|0;h=H+108|0;g=H+112|0;q=H+116|0;D=H+120|0;r=H+124|0;s=H+128|0;c[e>>2]=a;c[I>>2]=b;c[j>>2]=0;c[v>>2]=0;c[l>>2]=0;c[v>>2]=aD(c[e>>2]|0,c[I>>2]|0)|0;c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(SC(c[n>>2]|0)|0){c[l>>2]=1;if((c[f>>2]|0)!=1)c[j>>2]=(c[j>>2]|0)+1;fe(c[n>>2]|0);c[v>>2]=El(Id(c[n>>2]|0)|0)|0}c[f>>2]=(c[f>>2]|0)+1}if(c[v>>2]|0){c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}if(((c[l>>2]|0)!=0?(c[(c[e>>2]|0)+192>>2]|0)!=0:0)?(c[v>>2]=qb[c[(c[e>>2]|0)+192>>2]&31](c[(c[e>>2]|0)+188>>2]|0)|0,(c[v>>2]|0)!=0):0){c[d>>2]=531;I=c[d>>2]|0;i=H;return I|0}I=0==(Ed(og(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(c[j>>2]|0)<=1){c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[o>>2]|0)c[v>>2]=Fe(c[o>>2]|0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[p>>2]|0)c[v>>2]=Ee(c[p>>2]|0,0)|0;c[f>>2]=(c[f>>2]|0)+1}if(!(c[v>>2]|0))bD(c[e>>2]|0)|0}else{c[u>>2]=c[c[e>>2]>>2];c[k>>2]=0;c[F>>2]=0;c[E>>2]=og(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;I=m;c[I>>2]=0;c[I+4>>2]=0;c[x>>2]=0;c[h>>2]=Ed(c[E>>2]|0)|0;I=c[e>>2]|0;c[y>>2]=c[E>>2];c[F>>2]=tf(I,33954,y)|0;if(!(c[F>>2]|0)){c[d>>2]=7;I=c[d>>2]|0;i=H;return I|0}do{if(c[x>>2]|0){if((c[x>>2]|0)>100){G=34;break}if((c[x>>2]|0)==1){c[B>>2]=c[F>>2];Zb(13,33984,B)}}c[x>>2]=(c[x>>2]|0)+1;_b(4,g);I=(c[F>>2]|0)+(c[h>>2]|0)|0;E=c[g>>2]&255;c[z>>2]=(c[g>>2]|0)>>>8&16777215;c[z+4>>2]=E;Yb(13,I,33999,z)|0;c[v>>2]=_j(c[u>>2]|0,c[F>>2]|0,0,w)|0}while((c[v>>2]|0)==0?(c[w>>2]|0)!=0:0);if((G|0)==34){c[A>>2]=c[F>>2];Zb(13,33970,A);Dj(c[u>>2]|0,c[F>>2]|0,0)|0}if(!(c[v>>2]|0))c[v>>2]=ZB(c[u>>2]|0,c[F>>2]|0,t,16406,0)|0;if(c[v>>2]|0){Nd(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if((SC(c[q>>2]|0)|0)!=0?(c[D>>2]=cD(c[q>>2]|0)|0,(c[D>>2]|0)!=0):0){if((c[k>>2]|0)==0?(dD(c[q>>2]|0)|0)==0:0)c[k>>2]=1;A=c[t>>2]|0;B=c[D>>2]|0;I=(Ed(c[D>>2]|0)|0)+1|0;E=m;c[v>>2]=Ae(A,B,I,c[E>>2]|0,c[E+4>>2]|0)|0;E=(Ed(c[D>>2]|0)|0)+1|0;I=m;E=DH(c[I>>2]|0,c[I+4>>2]|0,E|0,((E|0)<0)<<31>>31|0)|0;I=m;c[I>>2]=E;c[I+4>>2]=C;if(c[v>>2]|0){G=50;break}}c[f>>2]=(c[f>>2]|0)+1}if((G|0)==50){zB(c[t>>2]|0)|0;Dj(c[u>>2]|0,c[F>>2]|0,0)|0;Nd(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}if(((c[k>>2]|0)!=0?0==((dk(c[t>>2]|0)|0)&1024|0):0)?(I=Bj(c[t>>2]|0,2)|0,c[v>>2]=I,0!=(I|0)):0){zB(c[t>>2]|0)|0;Dj(c[u>>2]|0,c[F>>2]|0,0)|0;Nd(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[r>>2]|0)c[v>>2]=Fe(c[r>>2]|0,c[F>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}zB(c[t>>2]|0)|0;if(c[v>>2]|0){Nd(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[v>>2]=Dj(c[u>>2]|0,c[F>>2]|0,1)|0;Nd(c[e>>2]|0,c[F>>2]|0);c[F>>2]=0;if(c[v>>2]|0){c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}gh();c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[s>>2]|0)Ee(c[s>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+1}hh();bD(c[e>>2]|0)|0}c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}function aD(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;l=i;i=i+32|0;h=l+8|0;d=l+16|0;e=l+20|0;k=l+24|0;j=l+4|0;g=l;f=l+12|0;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+328>>2];c[(c[h>>2]|0)+328>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+304>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=qb[c[g>>2]&31](c[f>>2]|0)|0;Qz(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+328>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function bD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nm(c[d>>2]|0,64);i=b;return 0}function cD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fD(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function dD(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+4>>2];fe(c[f>>2]|0);c[b>>2]=eD(c[c[e>>2]>>2]|0)|0;i=d;return c[b>>2]|0}function eD(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+7>>0]|0|0}function fD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+172>>2]|0}function gD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+72;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;Jz(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}gu(c[d>>2]|0,c[(c[b>>2]|0)+60>>2]|0);Nd(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function hD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[3384+(c[b>>2]<<2)>>2]|0}function iD(d,f,g){d=d|0;f=f|0;g=g|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+160|0;t=K+16|0;s=K+56|0;r=K+88|0;z=K+40|0;y=K+72|0;x=K+80|0;q=K+24|0;p=K+32|0;v=K;u=K+48|0;o=K+8|0;n=K+64|0;j=K+132|0;H=K+116|0;I=K+104|0;J=K+124|0;A=K+128|0;B=K+136|0;E=K+108|0;D=K+112|0;F=K+96|0;C=K+120|0;k=K+100|0;l=K+140|0;w=K+144|0;m=K+148|0;c[j>>2]=d;c[H>>2]=f;c[I>>2]=g;c[J>>2]=c[H>>2];do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[E>>2]=c[(c[j>>2]|0)+16>>2];y=c[I>>2]|0;z=c[H>>2]|0;c[n>>2]=e[(c[E>>2]|0)+6>>1];Yb(y,z,34051,n)|0;c[A>>2]=Ed(c[H>>2]|0)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[E>>2]|0)+6>>1]|0))break;c[D>>2]=c[(c[E>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[D>>2]|0)j=c[c[D>>2]>>2]|0;else j=34056;c[F>>2]=j;c[C>>2]=Ed(c[F>>2]|0)|0;if((c[C>>2]|0)==6?($G(c[F>>2]|0,15963,6)|0)==0:0){c[F>>2]=34060;c[C>>2]=1}j=c[A>>2]|0;if(((c[A>>2]|0)+(c[C>>2]|0)|0)>((c[I>>2]|0)-6|0)){G=10;break}c[A>>2]=j+1;a[(c[H>>2]|0)+j>>0]=44;if(a[(c[(c[E>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0){z=c[A>>2]|0;c[A>>2]=z+1;a[(c[H>>2]|0)+z>>0]=45}EH((c[H>>2]|0)+(c[A>>2]|0)|0,c[F>>2]|0,(c[C>>2]|0)+1|0)|0;c[A>>2]=(c[A>>2]|0)+(c[C>>2]|0);c[B>>2]=(c[B>>2]|0)+1}if((G|0)==10){I=(c[H>>2]|0)+j|0;a[I>>0]=a[34062]|0;a[I+1>>0]=a[34063]|0;a[I+2>>0]=a[34064]|0;a[I+3>>0]=a[34065]|0}I=c[A>>2]|0;c[A>>2]=I+1;a[(c[H>>2]|0)+I>>0]=41;a[(c[H>>2]|0)+(c[A>>2]|0)>>0]=0;J=c[J>>2]|0;i=K;return J|0}case -4:{c[k>>2]=c[(c[j>>2]|0)+16>>2];G=c[I>>2]|0;I=c[H>>2]|0;c[o>>2]=c[c[k>>2]>>2];Yb(G,I,34067,o)|0;J=c[J>>2]|0;i=K;return J|0}case -5:{c[l>>2]=c[(c[j>>2]|0)+16>>2];G=c[I>>2]|0;I=c[H>>2]|0;H=b[c[l>>2]>>1]|0;c[u>>2]=c[(c[l>>2]|0)+24>>2];c[u+4>>2]=H;Yb(G,I,34075,u)|0;J=c[J>>2]|0;i=K;return J|0}case -13:{G=c[I>>2]|0;I=c[H>>2]|0;E=c[(c[j>>2]|0)+16>>2]|0;F=c[E+4>>2]|0;H=v;c[H>>2]=c[E>>2];c[H+4>>2]=F;Yb(G,I,17289,v)|0;J=c[J>>2]|0;i=K;return J|0}case -14:{G=c[I>>2]|0;I=c[H>>2]|0;c[p>>2]=c[(c[j>>2]|0)+16>>2];Yb(G,I,34082,p)|0;J=c[J>>2]|0;i=K;return J|0}case -12:{G=c[I>>2]|0;I=c[H>>2]|0;h[q>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];Yb(G,I,34085,q)|0;J=c[J>>2]|0;i=K;return J|0}case -8:{c[w>>2]=c[(c[j>>2]|0)+16>>2];j=c[w>>2]|0;if(e[(c[w>>2]|0)+8>>1]&2){c[J>>2]=c[j+16>>2];J=c[J>>2]|0;i=K;return J|0}if(e[j+8>>1]&4){G=c[I>>2]|0;I=c[H>>2]|0;E=c[w>>2]|0;F=c[E+4>>2]|0;H=x;c[H>>2]=c[E>>2];c[H+4>>2]=F;Yb(G,I,17289,x)|0;J=c[J>>2]|0;i=K;return J|0}if(e[(c[w>>2]|0)+8>>1]&8){G=c[I>>2]|0;I=c[H>>2]|0;h[y>>3]=+h[c[w>>2]>>3];Yb(G,I,34085,y)|0;J=c[J>>2]|0;i=K;return J|0}if(e[(c[w>>2]|0)+8>>1]&1){Yb(c[I>>2]|0,c[H>>2]|0,30955,z)|0;J=c[J>>2]|0;i=K;return J|0}else{c[J>>2]=34091;J=c[J>>2]|0;i=K;return J|0}}case -10:{c[m>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];G=c[I>>2]|0;I=c[H>>2]|0;H=c[c[m>>2]>>2]|0;c[r>>2]=c[m>>2];c[r+4>>2]=H;Yb(G,I,34098,r)|0;J=c[J>>2]|0;i=K;return J|0}case -15:{Yb(c[I>>2]|0,c[H>>2]|0,34109,s)|0;J=c[J>>2]|0;i=K;return J|0}case -18:{Yb(c[I>>2]|0,c[H>>2]|0,34118,t)|0;J=c[J>>2]|0;i=K;return J|0}case -19:{a[c[H>>2]>>0]=0;J=c[J>>2]|0;i=K;return J|0}default:{c[J>>2]=c[(c[j>>2]|0)+16>>2];if(c[J>>2]|0){J=c[J>>2]|0;i=K;return J|0}c[J>>2]=c[H>>2];a[c[H>>2]>>0]=0;J=c[J>>2]|0;i=K;return J|0}}while(0);return 0}function jD(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;Ze(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function kD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=cm(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;HH(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function lD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[j>>2]|0)+8>>1]|0)&16384)Pe(c[j>>2]|0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))am(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(cm(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}iz(c[j>>2]|0)|0}else up(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function mD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)bx(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Nd(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function nD(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Nd(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function oD(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+64>>0]=0;ee(c[e>>2]|0,7);i=d;return 7}function pD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Nd(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}BH((c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0,0,(c[(c[b>>2]|0)+20>>2]|0)-(c[e>>2]|0)<<4|0)|0;c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+456|0)){i=g;return}h=(c[b>>2]|0)+456|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Nd(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+456;i=g;return}function qD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Wg(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function rD(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+152>>2]|0)>1:0){sD(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(tD(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;qt(c[f>>2]|0);i=g;return}function sD(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return}function tD(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Sb(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function uD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+4|0;e=m+16|0;l=m+8|0;k=m+20|0;g=m+28|0;h=m;f=m+12|0;j=m+24|0;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];CA(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=Aw(c[e>>2]|0)|0;b=Pw(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=kj((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=BA(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Rk(55475)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=Jy(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=DA(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=ye(c[(c[(c[e>>2]|0)+12>>2]|0)+68>>2]|0)|0;Dl((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);Dl((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);Dl((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;wj(c[k>>2]|0)|0;break}c[d>>2]=Rk(55470)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function vD(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[e>>2]=c[b+40>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+16>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+16>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}c[g>>2]=xj(c[f>>2]|0,d[(c[f>>2]|0)+19>>0]|0,1)|0;c[e>>2]=sj(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function wD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+18>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=ne(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=ye(c[f>>2]|0)|0;if(!(c[g>>2]|0)){Cl(c[f>>2]|0);a[(c[e>>2]|0)+18>>0]=1}qe(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function xD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+16|0;g=o+20|0;h=o+28|0;n=o+24|0;m=o+36|0;k=o;l=o+8|0;j=o+32|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+19>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=rk(c[g>>2]|0)|0;e=(c[g>>2]|0)+72|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+72|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Ql(c[(c[g>>2]|0)+64>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[229]|0)/(c[(c[g>>2]|0)+152>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+64>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=DH(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Ae(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+64>>2]|0,e=k,e=DH(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=DH(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Ql(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+64>>2]|0,e=k,e=DH(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=DH(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=DH(q|0,C|0,4,0)|0,q=Ql(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+64>>2]|0,e=k,e=DH(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=DH(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=DH(q|0,C|0,8,0)|0,q=Ae(p,17420,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+72|0;e=q;p=DH(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Cg(c[(c[g>>2]|0)+64>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+72|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+72|0;c[n>>2]=Aj(c[(c[g>>2]|0)+64>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function yD(f){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;u=i;i=i+48|0;g=u+4|0;s=u+16|0;k=u+36|0;r=u;j=u+32|0;h=u+40|0;m=u+44|0;p=u+24|0;l=u+20|0;q=u+8|0;n=u+12|0;o=u+28|0;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+148>>2]|0)>>>0)/((c[(c[p>>2]|0)+152>>2]|0)>>>0)|0;f=(c[p>>2]|0)+20|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+24>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(Ug(c[(c[p>>2]|0)+56>>2]|0,c[q>>2]|0)|0)!=0:0){f=kk(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&4)c[m>>2]=1;Lk(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[229]|0)/(c[(c[p>>2]|0)+152>>2]|0)|0)+1|0)):0)?(c[s>>2]=ne(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=zD(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&4)c[m>>2]=1;Lk(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+20|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=kk(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|4;Lk(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+20|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function zD(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;p=i;i=i+48|0;f=p+28|0;g=p+12|0;m=p+24|0;n=p+20|0;k=p+32|0;h=p+8|0;l=p+16|0;j=p;c[g>>2]=a;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[n>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)==2?(c[n>>2]=AD(c[m>>2]|0)|0,(c[n>>2]|0)!=0):0){c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}mk(c[g>>2]|0);c[k>>2]=BD(c[m>>2]|0,c[g>>2]|0)|0;if(c[k>>2]|0){if((c[(c[m>>2]|0)+96>>2]|0)!=0?(wl(c[g>>2]|0)|0)!=0:0)o=7}else o=7;if((o|0)==7){do if((c[k>>2]|0)==0?(Fj(c[m>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[(c[m>>2]|0)+28>>2]|0)>>>0?(c[c[(c[m>>2]|0)+64>>2]>>2]|0)!=0:0){k=(c[m>>2]|0)+72|0;a=c[k+4>>2]|0;o=j;c[o>>2]=c[k>>2];c[o+4>>2]=a;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[h>>2]=jk(c[m>>2]|0,c[l>>2]|0)|0;o=(c[g>>2]|0)+24|0;b[o>>1]=e[o>>1]|0|4;o=j;c[n>>2]=Ql(c[(c[m>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}k=c[(c[m>>2]|0)+64>>2]|0;l=c[l>>2]|0;a=c[(c[m>>2]|0)+152>>2]|0;o=j;o=DH(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[n>>2]=Ae(k,l,a,o,C)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}a=c[(c[m>>2]|0)+64>>2]|0;l=j;o=c[(c[m>>2]|0)+152>>2]|0;o=DH(c[l>>2]|0,c[l+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=DH(o|0,C|0,4,0)|0;c[n>>2]=Ql(a,o,C,c[h>>2]|0)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}a=8+(c[(c[m>>2]|0)+152>>2]|0)|0;o=(c[m>>2]|0)+72|0;l=o;a=DH(c[l>>2]|0,c[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[o>>2]=a;c[o+4>>2]=C;o=(c[m>>2]|0)+44|0;c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=Sg(c[(c[m>>2]|0)+56>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;o=Rl(c[m>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;c[n>>2]=c[n>>2]|o;if(!(c[n>>2]|0))break;c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}if((d[(c[m>>2]|0)+16>>0]|0|0)!=4){o=(c[g>>2]|0)+24|0;b[o>>1]=e[o>>1]|0|4}}while(0);if((c[(c[m>>2]|0)+96>>2]|0)>0?(wl(c[g>>2]|0)|0)!=0:0)c[n>>2]=xl(c[g>>2]|0)|0}if((c[(c[m>>2]|0)+24>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[m>>2]|0)+24>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}function AD(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;e=k;c[h>>2]=b;c[j>>2]=0;c[f>>2]=c[c[h>>2]>>2];b=c[h>>2]|0;if(c[(c[h>>2]|0)+40>>2]|0){c[g>>2]=c[b+40>>2];j=c[g>>2]|0;i=k;return j|0}if((Fj(b)|0)==0?(d[(c[h>>2]|0)+5>>0]|0|0)!=2:0){b=Rg(c[(c[h>>2]|0)+24>>2]|0)|0;c[(c[h>>2]|0)+56>>2]=b;if(!(c[(c[h>>2]|0)+56>>2]|0)){c[g>>2]=7;j=c[g>>2]|0;i=k;return j|0}do if(!(c[c[(c[h>>2]|0)+64>>2]>>2]|0)){b=c[h>>2]|0;if((d[(c[h>>2]|0)+5>>0]|0|0)==4){Vj(c[b+64>>2]|0);break}c[e>>2]=6|((d[b+12>>0]|0|0)!=0?4104:2048);c[j>>2]=CD(c[h>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=gk(c[f>>2]|0,c[(c[h>>2]|0)+172>>2]|0,c[(c[h>>2]|0)+64>>2]|0,c[e>>2]|0,0)|0}while(0);if(!(c[j>>2]|0)){c[(c[h>>2]|0)+44>>2]=0;f=(c[h>>2]|0)+72|0;c[f>>2]=0;c[f+4>>2]=0;a[(c[h>>2]|0)+19>>0]=0;f=(c[h>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;c[j>>2]=Fl(c[h>>2]|0)|0}}b=c[h>>2]|0;if(c[j>>2]|0){Wg(c[b+56>>2]|0);c[(c[h>>2]|0)+56>>2]=0}else a[b+16>>0]=3;c[g>>2]=c[j>>2];j=c[g>>2]|0;i=k;return j|0}function BD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Ug(c[(c[f>>2]|0)+56>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;i=d;return b|0}function CD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+12>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+24>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=gg(c[(c[e>>2]|0)+60>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function DD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+136>>2]|0){g=c[f+136>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+136>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;BH(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+140>>1]|0|0)|0}else{g=de(40+(e[f+140>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=64;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+60>>2]|0;n=c[(c[j>>2]|0)+152>>2]|0;n=MH((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Ok(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+120|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function ED(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+29>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&4|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=vb[c[(c[j>>2]|0)+32>>2]&63](c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}n=lb[c[140>>2]&31](c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function FD(f){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;r=i;i=i+48|0;n=r+36|0;o=r+16|0;l=r;q=r+28|0;p=r+32|0;h=r+40|0;k=r+24|0;m=r+20|0;j=r+8|0;g=r+4|0;c[o>>2]=f;c[h>>2]=0;c[l>>2]=UA(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=Bw(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=kj((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+12>>2]=f;c[p>>2]=f;xe(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?($G((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!($G(c[j>>2]|0,33938,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=$A(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}pt(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if(($G((c[j>>2]|0)+21|0,36102,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){pt(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];zg(c[o>>2]|0);c[l>>2]=Ag(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Rk(54754)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(kj((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(kj((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);pt(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function GD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+40>>2]|0){c[h>>2]=c[(c[j>>2]|0)+40>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+21>>0]=c[g>>2];if((d[(c[j>>2]|0)+16>>0]|0|0)==1){f=(Fj(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Il(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=Hl(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Ij(c[(c[j>>2]|0)+208>>2]|0,-1)|0)!=0:0){c[l>>2]=Il(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Ij(c[(c[j>>2]|0)+208>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=HD(c[(c[j>>2]|0)+208>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+16>>0]=2;c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+24>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+24>>2];c[(c[j>>2]|0)+28>>2]=c[(c[j>>2]|0)+24>>2];k=(c[j>>2]|0)+72|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function HD(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=_k(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if($G(b,Fk(c[e>>2]|0)|0,48)|0){Oj(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function ID(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ze(c[d>>2]|0);i=b;return}function JD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;H=i;i=i+624|0;g=H+44|0;h=H+4|0;j=H;k=H+40|0;l=H+76|0;m=H+16|0;z=H+20|0;p=H+24|0;x=H+64|0;o=H+72|0;w=H+80|0;B=H+88|0;n=H+92|0;t=H+48|0;s=H+52|0;r=H+56|0;v=H+8|0;u=H+60|0;C=H+28|0;F=H+96|0;E=H+32|0;A=H+68|0;y=H+36|0;D=H+84|0;q=H+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)d=1;else d=(c[o>>2]|0)==524288;else d=0;c[C>>2]=d&1;c[E>>2]=c[j>>2];b=c[1152]|0;if((b|0)!=(lH()|0)){c[1152]=lH()|0;_b(0,0)}d=c[z>>2]|0;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!d){c[B>>2]=zE(514,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=OE(d,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Rb(12)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=PE(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=vE(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(IG()|0)>>2]|0)!=21,!(F&(c[u>>2]|0)!=0^1|(c[t>>2]|0)!=0)):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=vE(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=ll(30591)|0;c[B>>2]=qE(F,36181,c[E>>2]|0,30591)|0;break}if(c[l>>2]&526336){lb[c[4448>>2]&31](c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)qb[c[4400>>2]&31](c[E>>2]|0)|0;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=QE(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Sb(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function KD(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;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((qb[c[4400>>2]&31](c[f>>2]|0)|0)==-1){if((c[(IG()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=qE(2570,36278,c[f>>2]|0,30729)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=vb[c[4412>>2]&63](c[f>>2]|0,h)|0;if(c[j>>2]|0){if((c[j>>2]|0)!=14)break;c[j>>2]=0;break}if(hH(c[h>>2]|0)|0)c[j>>2]=qE(1290,36548,c[f>>2]|0,30744)|0;pE(0,c[h>>2]|0,30746)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function LD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+96|0;f=l+88|0;g=l+84|0;h=l+80|0;j=l+76|0;k=l;c[l+92>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;switch(c[g>>2]|0){case 0:{c[j>>2]=0;break}case 1:{c[j>>2]=6;break}case 2:{c[j>>2]=4;break}default:{}}b=(vb[c[4232>>2]&63](c[f>>2]|0,c[j>>2]|0)|0)==0&1;c[c[h>>2]>>2]=b;if(c[g>>2]|0){i=l;return 0}if(!(c[c[h>>2]>>2]|0)){i=l;return 0}if(vb[c[4256>>2]&63](c[f>>2]|0,k)|0){i=l;return 0}if(c[k+36>>2]|0){i=l;return 0}c[c[h>>2]>>2]=0;i=l;return 0}function MD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+8|0;m=o;g=o+16|0;h=o+24|0;j=o+12|0;k=o+20|0;l=o+32|0;c[o+28>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]=0;do if((a[c[h>>2]>>0]|0)==47){f=c[j>>2]|0;d=c[k>>2]|0;c[m>>2]=c[h>>2];Yb(f,d,14418,m)|0}else{if(vb[c[4244>>2]&63](c[k>>2]|0,(c[j>>2]|0)-1|0)|0){c[l>>2]=cH(c[k>>2]|0)|0;f=(c[j>>2]|0)-(c[l>>2]|0)|0;d=(c[k>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=c[h>>2];Yb(f,d,36544,n)|0;break}d=ll(30831)|0;c[g>>2]=qE(d,36186,c[h>>2]|0,30831)|0;d=c[g>>2]|0;i=o;return d|0}while(0);c[g>>2]=0;d=c[g>>2]|0;i=o;return d|0}function ND(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;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;BH(c[g>>2]|0,0,c[f>>2]|0)|0;c[1152]=lH()|0;c[h>>2]=vE(36531,0,0)|0;if((c[h>>2]|0)<0){db(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[4608]|0;a[e+1>>0]=a[4609]|0;a[e+2>>0]=a[4610]|0;a[e+3>>0]=a[4611]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=lb[c[4304>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(IG()|0)>>2]|0)==4);pE(0,c[h>>2]|0,30936);e=c[f>>2]|0;i=l;return e|0}function OD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;pH(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function PD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=RD(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function QD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return 0}function RD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;d=g+12|0;e=g+8|0;f=g;c[g+16>>2]=a;c[d>>2]=b;c[e>>2]=0;if(!(eb(f|0,0)|0)){a=c[f>>2]|0;a=MH(1e3,0,a|0,((a|0)<0)<<31>>31|0)|0;a=DH(1045635584,49096,a|0,C|0)|0;b=(c[f+4>>2]|0)/1e3|0;b=DH(a|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;f=c[d>>2]|0;c[f>>2]=b;c[f+4>>2]=C;f=c[e>>2]|0;i=g;return f|0}else{c[e>>2]=1;f=c[e>>2]|0;i=g;return f|0}return 0}function SD(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;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=25)break;if(c[4204+((c[g>>2]|0)*12|0)+8>>2]|0)c[4204+((c[g>>2]|0)*12|0)+4>>2]=c[4204+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=25){j=16;break}b=(aH(c[e>>2]|0,c[4204+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[4204+(d*12|0)+8>>2]|0))c[4204+((c[g>>2]|0)*12|0)+8>>2]=c[4204+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[4204+((c[g>>2]|0)*12|0)+8>>2];c[4204+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function TD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=25){b=6;break}b=(aH(c[d>>2]|0,c[4204+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;a=c[e>>2]|0;if(b){b=4;break}c[e>>2]=a+1}if((b|0)==4){c[f>>2]=c[4204+(a*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((b|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function UD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=24)break a;if(!(aH(c[d>>2]|0,c[4204+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=25){a=11;break}d=c[e>>2]|0;if(c[4204+((c[e>>2]|0)*12|0)+4>>2]|0){a=9;break}c[e>>2]=d+1}if((a|0)==9){c[f>>2]=c[4204+(d*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function VD(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 4128}function WD(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){e=c[e>>2]|0;i=f;return e|0}c[d>>2]=c[b>>2];bE(c[b>>2]|0,0)|0;Sb(c[(c[d>>2]|0)+24>>2]|0);c[e>>2]=IE(c[b>>2]|0)|0;e=c[e>>2]|0;i=f;return e|0}function XD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+12|0;o=m+20|0;h=m+24|0;j=m+28|0;n=m;l=m+8|0;k=m+16|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=HE(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{c[(c[l>>2]|0)+20>>2]=0;BH((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function YD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+12|0;o=n+20|0;h=n+24|0;j=n+28|0;k=n;l=n+8|0;m=n+16|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){if((c[j>>2]|0)<=0)break;o=k;o=DE(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if((o|0)<=0)break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=DH(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=0){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}c[(c[l>>2]|0)+20>>2]=0;c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function ZD(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;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=DH(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=AH(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=KH(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=MH(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=CE(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[(IG()|0)>>2]|0;c[(c[g>>2]|0)+20>>2]=k;c[e>>2]=qE(1546,36204,c[(c[g>>2]|0)+32>>2]|0,28429)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function _D(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+4|0;o=k+16|0;n=k+8|0;j=k+20|0;h=k+28|0;l=k;m=k+12|0;g=k+24|0;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=GE(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){o=c[(IG()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=o;c[f>>2]=qE(1034,36520,c[(c[h>>2]|0)+32>>2]|0,28385)|0;o=c[f>>2]|0;i=k;return o|0}if((e[(c[h>>2]|0)+18>>1]|0)&8){c[j>>2]=vb[c[4412>>2]&63](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!((c[j>>2]|0)==0&(c[g>>2]|0)>=0)){if((c[j>>2]|0)==14)c[j>>2]=0}else{GE(c[g>>2]|0,0,0)|0;pE(c[h>>2]|0,c[g>>2]|0,28399)}o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function $D(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=vb[c[4268>>2]&63](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[(IG()|0)>>2]|0;c[(c[e>>2]|0)+20>>2]=j;c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function aE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+8|0;n=m+16|0;g=m+20|0;h=m+24|0;l=m+4|0;j=m;k=m+12|0;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];sa(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=vb[c[4424>>2]&63](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(IG()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=FE(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=0&(c[j>>2]|0)!=5)c[(c[h>>2]|0)+20>>2]=c[k>>2]}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function bE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+8|0;n=m+16|0;g=m+20|0;h=m+24|0;l=m+4|0;j=m;k=m+12|0;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=qb[c[4436>>2]&31](c[l>>2]|0)|0;if((c[j>>2]|0)<0?(c[(IG()|0)>>2]|0)==20:0)c[j>>2]=qb[c[4400>>2]&31](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(IG()|0)>>2];c[j>>2]=0;c[j>>2]=2!=(c[k>>2]|0)?2058:0;if((c[j>>2]|0)!=0&(c[j>>2]|0)!=5)c[(c[h>>2]|0)+20>>2]=c[k>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function cE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=0;c[f>>2]=c[l>>2];if((d[(c[f>>2]|0)+16>>0]|0|0)>1){c[h>>2]=1;j=c[h>>2]|0;l=c[e>>2]|0;c[l>>2]=j;l=c[g>>2]|0;i=k;return l|0}else{c[j>>2]=c[(c[f>>2]|0)+24>>2];c[h>>2]=(vb[c[4232>>2]&63](c[j>>2]|0,0)|0)==0&1;j=c[h>>2]|0;l=c[e>>2]|0;c[l>>2]=j;l=c[g>>2]|0;i=k;return l|0}return 0}function dE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+8|0;o=m+20|0;n=m+16|0;g=m+24|0;h=m+4|0;j=m+12|0;l=m+28|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=xE(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{yE(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{yE(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Wb(14418,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{c[l>>2]=Rb(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0)|0;if(c[l>>2]|0){zE(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=AE(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function eE(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function fE(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function gE(a,d,f,g){a=a|0;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;t=i;i=i+48|0;v=t+32|0;h=t+8|0;j=t+4|0;k=t+16|0;u=t+28|0;o=t;q=t+12|0;p=t+24|0;r=t+20|0;n=t+40|0;l=t+38|0;m=t+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[u>>2]=c[v>>2];c[o>>2]=c[(c[u>>2]|0)+36>>2];c[p>>2]=c[c[o>>2]>>2];c[r>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[q>>2]=c[(c[p>>2]|0)+32>>2];while(1){if(!(c[q>>2]|0))break;if((c[q>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[q>>2]|0)+10>>1]|0);c[q>>2]=c[(c[q>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[r>>2]=wE(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[r>>2]=0;if(c[r>>2]|0){v=c[r>>2]|0;i=t;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[r>>2]|0;i=t;return v|0}if(!(c[k>>2]&4)){c[q>>2]=c[(c[p>>2]|0)+32>>2];while(1){if(!(c[q>>2]|0))break;if((e[(c[q>>2]|0)+12>>1]|0)&(e[n>>1]|0)){s=28;break}if((e[(c[q>>2]|0)+10>>1]|0)&(e[n>>1]|0)){s=28;break}c[q>>2]=c[(c[q>>2]|0)+4>>2]}if((s|0)==28)c[r>>2]=5;if(c[r>>2]|0){v=c[r>>2]|0;i=t;return v|0}c[r>>2]=wE(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[r>>2]|0){v=c[r>>2]|0;i=t;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[r>>2]|0;i=t;return v|0}b[m>>1]=0;c[q>>2]=c[(c[p>>2]|0)+32>>2];while(1){if(!(c[q>>2]|0))break;if((e[(c[q>>2]|0)+12>>1]|0)&(e[n>>1]|0)){s=16;break}b[m>>1]=e[m>>1]|0|(e[(c[q>>2]|0)+10>>1]|0);c[q>>2]=c[(c[q>>2]|0)+4>>2]}if((s|0)==16)c[r>>2]=5;do if(!(c[r>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[r>>2]=wE(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[r>>2]=0;break}while(0);if(c[r>>2]|0){v=c[r>>2]|0;i=t;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[r>>2]|0;i=t;return v|0}function hE(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;lE();nE();i=b;return}function iE(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;k=i;i=i+32|0;d=k+8|0;l=k+16|0;e=k+20|0;f=k+24|0;h=k+4|0;j=k;g=k+12|0;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Sb(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;lE();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)qb[c[4400>>2]&31](c[(c[h>>2]|0)+8>>2]|0)|0;mE(c[g>>2]|0)}nE();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function jE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function kE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function lE(){return}function mE(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=oE()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)vb[c[4472>>2]&63](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Sb(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Sb(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){pE(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,28999);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Sb(c[g>>2]|0);i=h;return}function nE(){return}function oE(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=mb[c[4496>>2]&1]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function pE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(qb[c[4220>>2]&31](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;qE(4106,36144,e,c[f>>2]|0)|0;i=g;return}function qE(a,b,d,e){a=a|0;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;n=i;i=i+48|0;l=n;f=n+32|0;g=n+36|0;h=n+40|0;j=n+24|0;m=n+20|0;k=n+28|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(IG()|0)>>2];c[m>>2]=JG(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=14425;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Zb(d,36150,l);i=n;return c[f>>2]|0}function rE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=LG(d,a,f)|0;i=e;return a|0}function sE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+544|0;k=j;l=j+16|0;e=j+12|0;g=j+8|0;f=j+4|0;h=j+20|0;c[l>>2]=b;c[e>>2]=d;c[f>>2]=-1;c[k>>2]=c[l>>2];Yb(512,h,14418,k)|0;c[g>>2]=cH(h)|0;while(1){if((c[g>>2]|0)<=1)break;if((a[h+(c[g>>2]|0)>>0]|0)==47)break;c[g>>2]=(c[g>>2]|0)+-1}if((c[g>>2]|0)>0){a[h+(c[g>>2]|0)>>0]=0;c[f>>2]=vE(h,0,0)|0}c[c[e>>2]>>2]=c[f>>2];if((c[f>>2]|0)>=0){l=0;i=j;return l|0}l=qE(ll(28344)|0,36181,h,28344)|0;i=j;return l|0}function tE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(kH()|0){b=0;i=h;return b|0}b=gH(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function uE(){return Ma(30)|0}function vE(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,l=0,m=0;m=i;i=i+112|0;l=m;e=m+92|0;f=m+96|0;g=m+100|0;h=m+12|0;j=m+8|0;k=m+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=lb[c[4208>>2]&31](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(IG()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;qb[c[4220>>2]&31](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Zb(28,36349,l);c[h>>2]=-1;if((lb[c[4208>>2]&31](36392,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(vb[c[4268>>2]&63](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}vb[c[4376>>2]&63](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function wE(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o;g=o+32|0;h=o+36|0;j=o+40|0;k=o+24|0;l=o+8|0;m=o+28|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if((c[(c[g>>2]|0)+12>>2]|0)<0){n=c[m>>2]|0;i=o;return n|0};c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b[l>>1]=c[h>>2];b[l+2>>1]=0;c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];e=c[1073]|0;a=c[(c[g>>2]|0)+12>>2]|0;c[n>>2]=l;c[m>>2]=lb[e&31](a,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;n=c[m>>2]|0;i=o;return n|0}function xE(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,l=0,m=0,n=0;n=i;i=i+128|0;e=n+28|0;f=n+32|0;g=n;l=n+16|0;h=n+40|0;k=n+24|0;j=n+8|0;m=n+36|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(vb[c[4268>>2]&63](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=DH(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=AH(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=KH(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=MH(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];a=l;if(CE(c[(c[f>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0){a=c[(IG()|0)>>2]|0;c[(c[f>>2]|0)+20>>2]=a;c[e>>2]=qE(1546,36204,c[(c[f>>2]|0)+32>>2]|0,28530)|0;a=c[e>>2]|0;i=n;return a|0}h=(_(((c[h+36>>2]|0)+(c[k>>2]<<1)-1|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if(!((d|0)<(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)))break a;a=j;c[m>>2]=DE(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,14425,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=DH(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function yE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function zE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+16|0;g=n+20|0;h=n+24|0;j=n+8|0;k=n+4|0;m=n+12|0;c[g>>2]=b;c[h>>2]=e;e=BE()|0;c[m>>2]=e;c[m>>2]=(c[m>>2]|0)==0?23024:e;e=(cH(c[m>>2]|0)|0)+7+18|0;if(e>>>0>=(c[g>>2]|0)>>>0){c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}do{b=(c[g>>2]|0)-18|0;e=c[h>>2]|0;c[l>>2]=c[m>>2];Yb(b,e,36402,l)|0;c[k>>2]=cH(c[h>>2]|0)|0;_b(15,(c[h>>2]|0)+(c[k>>2]|0)|0);c[j>>2]=0;while(1){b=(c[h>>2]|0)+(c[k>>2]|0)|0;if((c[j>>2]|0)>>>0>=15)break;a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=a[36413+(((d[b>>0]|0)>>>0)%62|0)>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}a[b>>0]=0;a[(c[h>>2]|0)+((c[k>>2]|0)+1)>>0]=0}while((vb[c[4232>>2]&63](c[h>>2]|0,0)|0)==0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function AE(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(vb[c[4256>>2]&63](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function BE(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+96|0;b=e+80|0;a=e+4|0;d=e;c[d>>2]=0;c[1126]=c[90];if(!(c[1127]|0))c[1127]=Sa(36476)|0;if(!(c[1128]|0))c[1128]=Sa(36490)|0;c[b>>2]=0;while(1){if((c[b>>2]|0)>>>0>=7){a=12;break}if((((c[d>>2]|0)!=0?(vb[c[4256>>2]&63](c[d>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(vb[c[4232>>2]&63](c[d>>2]|0,7)|0)==0:0){a=12;break}f=c[b>>2]|0;c[b>>2]=f+1;c[d>>2]=c[4504+(f<<2)>>2]}if((a|0)==12){i=e;return c[d>>2]|0}return 0}function CE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=vb[c[4280>>2]&63](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(IG()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function DE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=EE(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function EE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;r=i;i=i+48|0;p=r+32|0;h=r+20|0;j=r;k=r+28|0;l=r+36|0;q=r+16|0;n=r+24|0;m=r+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=g;c[n>>2]=0;c[l>>2]=c[l>>2]&131071;while(1){g=mH(c[h>>2]|0,c[j>>2]|0,0)|0;e=m;c[e>>2]=g;c[e+4>>2]=((g|0)<0)<<31>>31;e=m;g=j;if((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))break;c[n>>2]=lb[c[4340>>2]&31](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[n>>2]|0)>=0){o=10;break}if((c[(IG()|0)>>2]|0)!=4){o=10;break}}if((o|0)==10){if((c[n>>2]|0)<0&(c[q>>2]|0)!=0){o=c[(IG()|0)>>2]|0;c[c[q>>2]>>2]=o}c[p>>2]=c[n>>2];q=c[p>>2]|0;i=r;return q|0}if(c[q>>2]|0){o=m;if((c[o>>2]|0)==-1?(c[o+4>>2]|0)==-1:0)b=c[(IG()|0)>>2]|0;else b=0;c[c[q>>2]>>2]=b}c[p>>2]=-1;q=c[p>>2]|0;i=r;return q|0}function FE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;e=g;c[h>>2]=a;c[e>>2]=b;switch(c[h>>2]|0){case 37:case 4:case 16:case 110:case 11:{c[d>>2]=5;break}case 13:{if((c[e>>2]|0)==3850|(c[e>>2]|0)==2058|(c[e>>2]|0)==2314|(c[e>>2]|0)==3594)c[d>>2]=5;else f=5;break}case 1:{f=5;break}default:c[d>>2]=c[e>>2]}if((f|0)==5)c[d>>2]=3;i=g;return c[d>>2]|0}function GE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=hH(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function HE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;q=i;i=i+48|0;g=q+32|0;h=q+20|0;j=q;k=q+28|0;l=q+36|0;m=q+16|0;o=q+24|0;n=q+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=mH(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;a=n;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=n;e=j;if((c[a>>2]|0)!=(c[e>>2]|0)?1:(c[a+4>>2]|0)!=(c[e+4>>2]|0)){p=3;break}c[m>>2]=lb[c[4304>>2]&31](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=DH(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(IG()|0)>>2]|0)!=4){p=11;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=n;if((c[p>>2]|0)==-1?(c[p+4>>2]|0)==-1:0){p=c[(IG()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=p}else c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==11){c[o>>2]=0;p=c[(IG()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=p}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function IE(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){pE(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,26735);c[(c[b>>2]|0)+12>>2]=-1}Sb(c[(c[b>>2]|0)+28>>2]|0);b=c[b>>2]|0;a=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return 0}function JE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 4532}function KE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=IE(c[d>>2]|0)|0;i=b;return a|0}function LE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function ME(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function NE(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function OE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(vb[c[4256>>2]&63](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}lE();c[e>>2]=c[1172];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))b=1;else b=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+32>>2]}if(a){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}nE();k=c[f>>2]|0;i=j;return k|0}function PE(b,d,e,f,g){b=b|0;d=d|0;e=e|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;r=i;i=i+624|0;h=r+4|0;j=r+88|0;k=r+92|0;l=r+96|0;m=r+100|0;o=r;q=r+104|0;n=r+8|0;p=r+12|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[j>>2]&526336)){if(!(c[j>>2]&8)){b=c[o>>2]|0;i=r;return b|0}c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}c[n>>2]=(Ed(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}EH(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;if(!(vb[c[4256>>2]&63](q,p)|0)){c[c[k>>2]>>2]=c[p+12>>2]&511;c[c[l>>2]>>2]=c[p+20>>2];c[c[m>>2]>>2]=c[p+24>>2];b=c[o>>2]|0;i=r;return b|0}else{c[o>>2]=1802;b=c[o>>2]|0;i=r;return b|0}return 0}function QE(a,d,f,g,h){a=a|0;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,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+8|0;k=t+20|0;u=t+16|0;l=t+24|0;m=t+4|0;o=t+12|0;p=t+28|0;q=t+32|0;s=t+36|0;n=t+40|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(Dd((c[m>>2]&64|0)!=0?c[l>>2]|0:0,36554,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(aH(c[(c[j>>2]|0)+16>>2]|0,36134)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=4532;else c[o>>2]=vb[c[c[(c[j>>2]|0)+20>>2]>>2]&63](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=4612){if((c[o>>2]|0)==4128){c[n>>2]=(cH(c[l>>2]|0)|0)+6;c[s>>2]=Rb(c[n>>2]|0)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Yb(g,u,36559,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{lE();c[q>>2]=RE(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){pE(c[p>>2]|0,c[k>>2]|0,30114);c[k>>2]=-1}nE()}c[(c[p>>2]|0)+20>>2]=0;if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];SE(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}pE(c[p>>2]|0,c[k>>2]|0,30199);u=c[q>>2]|0;i=t;return u|0}function RE(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;k=i;i=i+112|0;f=k+8|0;d=k+92|0;g=k+12|0;l=k+96|0;m=k+104|0;h=k;e=k+16|0;j=k+100|0;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=vb[c[4268>>2]&63](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[(IG()|0)>>2]|0;c[(c[d>>2]|0)+20>>2]=m;if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1172];while(1){if(c[j>>2]|0)d=($G(h,c[j>>2]|0,8)|0)!=0;else d=0;a=c[j>>2]|0;if(!d)break;c[j>>2]=c[a+32>>2]}if(!a){c[j>>2]=Rb(40)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1172];c[(c[j>>2]|0)+36>>2]=0;if(c[1172]|0)c[(c[1172]|0)+36>>2]=c[j>>2];c[1172]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function SE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;k=m+8|0;g=m+16|0;f=m+24|0;h=m+108|0;j=m+32|0;d=m+28|0;c[h>>2]=a;if((e[(c[h>>2]|0)+18>>1]|0)&256){i=m;return}c[d>>2]=vb[c[4268>>2]&63](c[(c[h>>2]|0)+12>>2]|0,j)|0;if(c[d>>2]|0){c[f>>2]=c[(c[h>>2]|0)+32>>2];Zb(28,36567,f);l=(c[h>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|256;i=m;return}if((c[j+16>>2]|0)==0?((e[(c[h>>2]|0)+18>>1]|0)&32|0)==0:0){c[g>>2]=c[(c[h>>2]|0)+32>>2];Zb(28,36591,g);l=(c[h>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|256;i=m;return}a=c[h>>2]|0;if((c[j+16>>2]|0)>>>0>1){c[k>>2]=c[a+32>>2];Zb(28,36620,k);l=(c[h>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|256;i=m;return}if(!(AE(a)|0)){i=m;return}c[l>>2]=c[(c[h>>2]|0)+32>>2];Zb(28,36647,l);l=(c[h>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|256;i=m;return}function TE(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];SE(c[d>>2]|0);VE(c[b>>2]|0,0)|0;lE();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)aF(c[d>>2]|0);bF(c[d>>2]|0);c[e>>2]=IE(c[b>>2]|0)|0;nE();i=f;return c[e>>2]|0}function UE(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;p=i;i=i+48|0;k=p+4|0;q=p+32|0;l=p+8|0;o=p+36|0;m=p+44|0;n=p;h=p+16|0;j=p+40|0;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}lE();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[229],(_E(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(IG()|0)>>2];c[o>>2]=FE(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;c[(c[m>>2]|0)+20>>2]=c[j>>2];break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[229]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((_E(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(IG()|0)>>2],c[o>>2]=FE(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)c[(c[m>>2]|0)+20>>2]=c[j>>2]}else{c[h+4>>2]=(c[229]|0)+2;c[h+8>>2]=510;if(_E(c[m>>2]|0,h)|0){c[j>>2]=c[(IG()|0)>>2];c[o>>2]=FE(c[j>>2]|0,3850)|0}c[h+4>>2]=c[229];c[h+8>>2]=1;b[h>>1]=2;q=(_E(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(IG()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;c[(c[m>>2]|0)+20>>2]=c[j>>2];break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);nE();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function VE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=ZE(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function WE(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;n=i;i=i+48|0;m=n;o=n+32|0;g=n+36|0;k=n+40|0;l=n+8|0;j=n+4|0;h=n+16|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];lE();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[229]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1073]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(lb[f&31](o,12,m)|0){c[k>>2]=3594;o=c[(IG()|0)>>2]|0;c[(c[j>>2]|0)+20>>2]=o;break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);nE();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function XE(a,f,g,h,j){a=a|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+160|0;y=D+96|0;E=D+104|0;z=D+84|0;k=D+140|0;l=D+92|0;A=D+80|0;u=D+120|0;t=D+128|0;B=D+136|0;C=D+144|0;s=D+148|0;r=D+100|0;m=D+108|0;p=D+112|0;w=D;o=D+116|0;x=D+124|0;q=D+88|0;n=D+132|0;v=D+76|0;c[E>>2]=a;c[z>>2]=f;c[k>>2]=g;c[l>>2]=h;c[A>>2]=j;c[u>>2]=c[E>>2];c[C>>2]=0;c[s>>2]=oE()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[C>>2]=YE(c[u>>2]|0)|0,(c[C>>2]|0)!=0):0){c[y>>2]=c[C>>2];E=c[y>>2]|0;i=D;return E|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[B>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[z>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[B>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[B>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[B>>2]|0)+12>>2]|0)>=0){if(vb[c[4268>>2]&63](c[(c[B>>2]|0)+12>>2]|0,w)|0){c[C>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;E=(c[o>>2]<<12)+4096-1|0;if((EE(c[(c[B>>2]|0)+12>>2]|0,E,((E|0)<0)<<31>>31,14425,1,0)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[x>>2]=c[(c[B>>2]|0)+8>>2];c[C>>2]=qE(4874,36239,c[x>>2]|0,29258)|0;break a}}while(0);c[m>>2]=Tb(c[(c[B>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[C>>2]=3082;break}c[(c[B>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[B>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[B>>2]|0)+12>>2]|0)>=0){j=c[1115]|0;w=c[q>>2]|0;g=(d[(c[B>>2]|0)+22>>0]|0|0)!=0?1:3;x=c[(c[B>>2]|0)+12>>2]|0;E=c[k>>2]|0;E=MH(E|0,((E|0)<0)<<31>>31|0,e[(c[B>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=pb[j&3](0,w,g,1,x,E)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{c[v>>2]=Rb(c[k>>2]|0)|0;if(!(c[v>>2]|0)){k=23;break}BH(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;E=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[B>>2]|0)+24>>2]|0)+((e[(c[B>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+E;c[n>>2]=(c[n>>2]|0)+1}E=(c[B>>2]|0)+20|0;b[E>>1]=(e[E>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[C>>2]=qE(5386,36318,c[(c[B>>2]|0)+8>>2]|0,29285)|0;break}else if((k|0)==23){c[C>>2]=7;break}}while(0);if((e[(c[B>>2]|0)+20>>1]|0|0)>(c[z>>2]|0))c[c[A>>2]>>2]=c[(c[(c[B>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2];else c[c[A>>2]>>2]=0;if((c[C>>2]|0)==0?(d[(c[B>>2]|0)+22>>0]|0|0)!=0:0)c[C>>2]=8;c[y>>2]=c[C>>2];E=c[y>>2]|0;i=D;return E|0}function YE(b){b=b|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;r=i;i=i+128|0;o=r;e=r+8|0;f=r+20|0;j=r+16|0;l=r+24|0;m=r+4|0;k=r+12|0;p=r+28|0;g=r+32|0;n=r+36|0;h=r+112|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Rb(16)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;lE();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){if((vb[c[4268>>2]&63](c[(c[f>>2]|0)+12>>2]|0,n)|0)!=0?(d[(c[k>>2]|0)+13>>0]|0|0)==0:0)c[m>>2]=1802;else q=7;do if((q|0)==7){c[g>>2]=6+(cH(c[(c[f>>2]|0)+32>>2]|0)|0);c[l>>2]=Rb(36+(c[g>>2]|0)|0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}BH(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[p>>2]=b;b=c[g>>2]|0;q=c[p>>2]|0;c[o>>2]=c[(c[f>>2]|0)+32>>2];Yb(b,q,36675,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];c[(c[l>>2]|0)+4>>2]=8;if(!(c[(c[l>>2]|0)+4>>2]|0)){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(Dd(c[(c[f>>2]|0)+32>>2]|0,36682,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}q=vE(c[p>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=q;if((c[(c[l>>2]|0)+12>>2]|0)<0){q=ll(29111)|0;c[m>>2]=qE(q,36181,c[p>>2]|0,29111)|0;break}lb[c[4448>>2]&31](c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((wE(c[l>>2]|0,1,128,1)|0)==0?(CE(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=qE(4618,36204,c[p>>2]|0,29127)|0;if(!(c[m>>2]|0))c[m>>2]=wE(c[l>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}while(0);mE(c[f>>2]|0);Sb(c[j>>2]|0);nE();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];nE();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function ZE(e,f,g){e=e|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;p=i;i=i+48|0;h=p+4|0;q=p+32|0;j=p+8|0;l=p+44|0;m=p;k=p+16|0;n=p+40|0;c[q>>2]=e;c[j>>2]=f;c[p+36>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}lE();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[229]|0)+2,c[k+8>>2]=510,(_E(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[(IG()|0)>>2]|0;c[(c[l>>2]|0)+20>>2]=q;break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[229];c[k+8>>2]=2;if(!(_E(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[(IG()|0)>>2]|0;c[(c[l>>2]|0)+20>>2]=q;break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(_E(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[(IG()|0)>>2]|0;c[(c[l>>2]|0)+20>>2]=q;a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))$E(c[l>>2]|0)}nE();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function _E(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;q=i;i=i+48|0;p=q+8|0;o=q;h=q+16|0;j=q+28|0;k=q+24|0;n=q+12|0;m=q+20|0;l=q+32|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];if(((e[(c[j>>2]|0)+18>>1]|0)&1|0)==0?(d[(c[m>>2]|0)+13>>0]|0|0)==0:0)f=9;else f=3;do if((f|0)==3)if(!((e[(c[j>>2]|0)+18>>1]|0)&2)){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[229]|0)+2;c[l+8>>2]=510;b[l>>1]=1;k=c[1073]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=lb[k&31](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else f=9;while(0);if((f|0)==9){m=c[1073]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=lb[m&31](o,13,p)|0}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function $E(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];pE(c[b>>2]|0,c[c[d>>2]>>2]|0,25997);Sb(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function aF(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function bF(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}$E(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1172]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Sb(c[d>>2]|0);i=e;return}function cF(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 4612}function dF(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=mc(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function eF(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+kc(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function fF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function gF(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=ic(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(((c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>=(c[(c[f>>2]|0)+16>>2]|0)?(b=is(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function iF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[388+(c[b>>2]<<2)>>2]|0}function jF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;f=g+12|0;d=g;e=g+8|0;c[b>>2]=a;if(!(c[74]|0)){i=g;return}c[f>>2]=c[74];h=iF(0)|0;a=d;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[e>>2]=c[75];c[74]=0;xb[c[f>>2]&3](c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0);c[74]=c[f>>2];c[75]=c[e>>2];i=g;return}function kF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=qb[c[60>>2]&31](c[j>>2]|0)|0;xg(5,c[j>>2]|0);do if(c[74]|0){c[f>>2]=iF(0)|0;b=c[f>>2]|0;a=((b|0)<0)<<31>>31;f=288;j=c[e>>2]|0;j=AH(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[79]=1;jF(c[e>>2]|0);break}else{c[79]=0;break}}while(0);c[g>>2]=qb[c[44>>2]&31](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=Jd(c[g>>2]|0)|0;Xd(0,c[e>>2]|0);Xd(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function lF(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=472;c[a>>2]=6852;c[b>>2]=0;while(1){if((c[b>>2]|0)>=8)break;$l(c[d>>2]|0,(c[a>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}i=e;return}function mF(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=472;c[a>>2]=6744;c[b>>2]=0;while(1){if((c[b>>2]|0)>=3)break;$l(c[d>>2]|0,(c[a>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}i=e;return}function nF(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,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;l=r;f=r+36|0;s=r+24|0;o=r+32|0;p=r+20|0;k=r+16|0;j=r+40|0;m=r+48|0;h=r+52|0;n=r+56|0;g=r+60|0;c[f>>2]=b;c[r+28>>2]=d;c[s>>2]=e;c[o>>2]=ic(c[c[s>>2]>>2]|0)|0;c[p>>2]=ic(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=Ec(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Vm(c[m>>2]|0,k)|0}while((c[k>>2]|0)==151)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=tf(s,36983,l)|0;vc(c[f>>2]|0,c[n>>2]|0,-1,23);i=r;return}function oF(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,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;m=s;f=s+16|0;t=s+32|0;p=s+36|0;q=s+20|0;l=s+24|0;k=s+40|0;h=s+48|0;n=s+52|0;j=s+56|0;o=s+60|0;g=s+64|0;c[f>>2]=b;c[s+28>>2]=d;c[t>>2]=e;c[p>>2]=ic(c[c[t>>2]>>2]|0)|0;c[q>>2]=ic(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=Ec(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=Vm(c[n>>2]|0,l)|0}while((c[l>>2]|0)==151);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=46&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=tf(t,36983,m)|0;vc(c[f>>2]|0,c[o>>2]|0,-1,23);i=s;return}function pF(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+80|0;l=u+16|0;k=u;f=u+24|0;v=u+28|0;g=u+44|0;r=u+32|0;t=u+40|0;n=u+48|0;p=u+52|0;o=u+56|0;m=u+60|0;h=u+64|0;j=u+68|0;s=u+72|0;q=u+76|0;c[f>>2]=b;c[u+36>>2]=d;c[v>>2]=e;c[g>>2]=Ec(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=ic(c[c[v>>2]>>2]|0)|0;c[p>>2]=ic(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=ic(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=Vm(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Vm(c[m>>2]|0,j)|0}while((c[j>>2]|0)==151);v=c[h>>2]|0;c[s>>2]=Io(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Jo(c[s>>2]|0)|0;if(!($b(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:14425;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=tf(v,36972,k)|0;Nd(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Nd(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:14425;c[l+4>>2]=s;c[t>>2]=tf(v,19992,l)|0;vc(c[f>>2]|0,c[t>>2]|0,-1,23);Nd(c[g>>2]|0,c[r>>2]|0);i=u;return}function qF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(yF(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}zF(f);j=f;qc(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function rF(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,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(yF(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}BF(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Yb(100,h,37247,f)|0;vc(c[e>>2]|0,h,-1,-1);i=j;return}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(yF(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}CF(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Yb(100,j,37232,f)|0;vc(c[e>>2]|0,j,-1,-1);i=k;return}function tF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(yF(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}AF(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Yb(100,j,37202,f)|0;vc(c[e>>2]|0,j,-1,-1);i=k;return}function uF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=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,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+136|0;y=J+152|0;x=J+64|0;w=J+192|0;v=J+168|0;u=J+160|0;t=J+176|0;B=J+184|0;A=J+72|0;s=J+128|0;r=J;m=J+220|0;g=J+208|0;f=J+200|0;E=J+80|0;k=J+56|0;n=J+212|0;o=J+204|0;G=J+216|0;j=J+224|0;I=J+196|0;H=J+236|0;q=J+144|0;p=J+228|0;F=J+8|0;D=J+232|0;c[m>>2]=b;c[g>>2]=d;c[f>>2]=e;c[I>>2]=ic(c[c[f>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(yF(c[m>>2]|0,(c[g>>2]|0)-1|0,(c[f>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=Ec(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=43;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=DH(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==43){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;g=c[b+4>>2]|0;l=c[(c[j>>2]|0)+88>>2]|0;e=((l|0)<0)<<31>>31;if(g>>>0>e>>>0|((g|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){Ac(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=qf(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){Bc(c[m>>2]|0);i=J;return}}else c[G>>2]=H;zF(E);AF(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;d=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+d>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=d+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Yb(3,l,37076,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Yb(7,l,37081,s)|0;c[o>>2]=(Ed((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Yb(3,l,37076,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{d=F;f=E;g=d+48|0;do{c[d>>2]=c[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;zF(F);k=E;l=F;c[p>>2]=KH(DH(AH(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=DH(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=KH(l|0,C|0,864e5,0)|0;l=LH(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Yb(3,l,37076,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Yb(4,l,37088,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Yb(20,l,34085,u)|0;c[o>>2]=(Ed((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Yb(3,l,37076,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Yb(3,l,37076,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=AH(KH(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Yb(30,l,17289,x)|0;c[o>>2]=(Ed((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Yb(3,l,37076,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=LH(KH(DH(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Yb(5,l,37093,z)|0;c[o>>2]=(Ed((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;vc(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:23);i=J;return}function vF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;sF(c[f>>2]|0,0,0);i=e;return}function wF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;tF(c[f>>2]|0,0,0);i=e;return}function xF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;rF(c[f>>2]|0,0,0);i=e;return}function yF(b,d,e,f){b=b|0;d=d|0;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.0;p=i;i=i+32|0;o=p+4|0;g=p+16|0;h=p+8|0;j=p+20|0;k=p+28|0;m=p;n=p+12|0;l=p+24|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;e=c[k>>2]|0;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));if(!(c[h>>2]|0)){c[o>>2]=DF(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=nc(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;e=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+kc(e)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=ic(e)|0;if((c[n>>2]|0)!=0?(EF(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){e=14;break}c[n>>2]=ic(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){e=12;break}if(FF(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){e=12;break}c[m>>2]=(c[m>>2]|0)+1}if((e|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((e|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function zF(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+4|0;m=n+16|0;j=n+8|0;g=n+20|0;e=n+28|0;f=n;k=n+12|0;l=n+24|0;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=DH(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=DH(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=AH(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function AF(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;BF(c[d>>2]|0);CF(c[d>>2]|0);i=b;return}function BF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+4|0;l=m+16|0;e=m+8|0;f=m+20|0;g=m+28|0;h=m;j=m+12|0;k=m+24|0;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=DH(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=KH(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]|0)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function CF(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}zF(c[d>>2]|0);b=c[d>>2]|0;b=DH(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=LH(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function DF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=NF(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function EF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(MF(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(IF(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!($b(c[j>>2]|0,37198)|0)){c[f>>2]=DF(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(Iq(d,l,Ed(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0} +function Zn(f,g,h,j,k){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,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;ra=i;i=i+304|0;F=ra;E=ra+24|0;w=ra+8|0;I=ra+52|0;J=ra+152|0;K=ra+244|0;L=ra+252|0;M=ra+124|0;R=ra+56|0;fa=ra+60|0;n=ra+64|0;m=ra+68|0;T=ra+72|0;$=ra+76|0;X=ra+80|0;qa=ra+112|0;da=ra+84|0;ba=ra+92|0;ca=ra+96|0;U=ra+100|0;V=ra+104|0;Y=ra+108|0;S=ra+288|0;oa=ra+240|0;P=ra+248|0;O=ra+256|0;x=ra+264|0;r=ra+284|0;l=ra+136|0;pa=ra+292|0;Q=ra+293|0;G=ra+294|0;q=ra+295|0;ea=ra+156|0;ka=ra+160|0;ia=ra+164|0;ma=ra+168|0;la=ra+172|0;na=ra+176|0;ja=ra+180|0;N=ra+184|0;_=ra+188|0;ga=ra+192|0;D=ra+196|0;v=ra+200|0;p=ra+44|0;s=ra+40|0;t=ra+148|0;u=ra+204|0;o=ra+116|0;C=ra+208|0;z=ra+120|0;B=ra+48|0;y=ra+128|0;A=ra+132|0;aa=ra+260|0;W=ra+88|0;ha=ra+144|0;Z=ra+140|0;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[ca>>2]=0;c[U>>2]=0;c[V>>2]=0;c[Y>>2]=-1;c[oa>>2]=0;c[P>>2]=0;c[O>>2]=0;a[pa>>0]=0;a[Q>>0]=0;a[q>>0]=1;c[ea>>2]=0;c[ka>>2]=0;c[ia>>2]=0;c[ma>>2]=0;c[N>>2]=0;c[R>>2]=c[c[I>>2]>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;a:do if((c[(c[I>>2]|0)+64>>2]|0)==0?(d[(c[R>>2]|0)+64>>0]|0)==0:0){if(((c[K>>2]|0)!=0?(e[(c[K>>2]|0)+6>>1]&128|0)!=0:0)?(c[(c[K>>2]|0)+52>>2]|0)==0:0){c[ea>>2]=c[c[K>>2]>>2];c[c[K>>2]>>2]=0;an(c[R>>2]|0,c[K>>2]|0);c[K>>2]=0}c[n>>2]=c[(c[J>>2]|0)+8+8>>2];if((((((c[n>>2]|0)!=0?(c[fa>>2]=Ct(c[I>>2]|0,c[J>>2]|0)|0,(c[fa>>2]|0)!=0):0)?(c[r>>2]=vf(c[R>>2]|0,c[(c[fa>>2]|0)+68>>2]|0)|0,c[l>>2]=(c[(c[R>>2]|0)+16>>2]|0)+(c[r>>2]<<4),c[m>>2]=c[c[l>>2]>>2],(Mo(c[I>>2]|0,18,c[c[fa>>2]>>2]|0,0,c[m>>2]|0)|0)==0):0)?(a[G>>0]=((d[(c[fa>>2]|0)+44>>0]&32|0)==0^1)&1,c[ga>>2]=ku(c[I>>2]|0,c[fa>>2]|0,108,0,D)|0,c[_>>2]=(c[(c[fa>>2]|0)+12>>2]|0)!=0&1,(Ap(c[I>>2]|0,c[fa>>2]|0)|0)==0):0)?(lu(c[I>>2]|0,c[fa>>2]|0,c[D>>2]|0)|0)==0:0)?(c[qa>>2]=Po(c[I>>2]|0)|0,(c[qa>>2]|0)!=0):0){if(!(d[(c[I>>2]|0)+18>>0]|0))mu(c[qa>>2]|0);$o(c[I>>2]|0,((c[K>>2]|0)!=0?1:(c[ga>>2]|0)!=0)&1,c[r>>2]|0);if(!((c[L>>2]|0)==0?(nu(c[I>>2]|0,c[fa>>2]|0,c[K>>2]|0,c[M>>2]|0,c[r>>2]|0)|0)!=0:0))H=17;b:do if((H|0)==17){c[ia>>2]=ou(c[I>>2]|0,c[r>>2]|0,c[fa>>2]|0)|0;n=(c[(c[I>>2]|0)+72>>2]|0)+1|0;c[la>>2]=n;c[na>>2]=n;n=(c[I>>2]|0)+72|0;c[n>>2]=(c[n>>2]|0)+((b[(c[fa>>2]|0)+38>>1]|0)+1);if(d[(c[fa>>2]|0)+44>>0]&16){c[na>>2]=(c[na>>2]|0)+1;n=(c[I>>2]|0)+72|0;c[n>>2]=(c[n>>2]|0)+1}c[ja>>2]=(c[na>>2]|0)+1;c:do if(c[L>>2]|0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break;c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=-1;c[T>>2]=(c[T>>2]|0)+1}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break c;c[$>>2]=0;while(1){if((c[$>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0))break;n=($b(c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[$>>2]|0)*24|0)>>2]|0)|0)==0;k=c[$>>2]|0;if(n){H=28;break}c[$>>2]=k+1}do if((H|0)==28){H=0;c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=k;if((c[T>>2]|0)!=(c[$>>2]|0))a[q>>0]=0;if((c[$>>2]|0)!=(b[(c[fa>>2]|0)+36>>1]|0))break;c[Y>>2]=c[T>>2]}while(0);if((c[$>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0)){n=(Lq(c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0)|0)==0;if(n|(a[G>>0]|0)!=0)break;c[Y>>2]=c[T>>2];a[q>>0]=0}c[T>>2]=(c[T>>2]|0)+1}qa=c[I>>2]|0;pa=c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0;c[w>>2]=c[J>>2];c[w+4>>2]=0;c[w+8>>2]=pa;sf(qa,25996,w);a[(c[I>>2]|0)+17>>0]=1;break a}while(0);d:do if(c[K>>2]|0){w=(c[I>>2]|0)+72|0;C=(c[w>>2]|0)+1|0;c[w>>2]=C;c[v>>2]=C;c[p>>2]=(yr(c[qa>>2]|0)|0)+1;Uo(c[qa>>2]|0,20,c[v>>2]|0,0,c[p>>2]|0)|0;Ss(x,13,c[v>>2]|0);c[x+8>>2]=(d[q>>0]|0)!=0?c[ja>>2]|0:0;c[x+12>>2]=b[(c[fa>>2]|0)+38>>1];c[s>>2]=Kn(c[I>>2]|0,c[K>>2]|0,x)|0;c[ka>>2]=c[x+8>>2];if(c[s>>2]|0)break a;if(d[(c[R>>2]|0)+64>>0]|0)break a;ur(c[qa>>2]|0,21,c[v>>2]|0)|0;jp(c[qa>>2]|0,(c[p>>2]|0)-1|0);c[ba>>2]=c[c[c[K>>2]>>2]>>2];if(!((c[ga>>2]|0)==0?(pu(c[I>>2]|0,c[r>>2]|0,c[fa>>2]|0)|0)==0:0))a[pa>>0]=1;if(!(a[pa>>0]|0))break;w=(c[I>>2]|0)+68|0;C=c[w>>2]|0;c[w>>2]=C+1;c[oa>>2]=C;c[t>>2]=Wo(c[I>>2]|0)|0;c[u>>2]=Wo(c[I>>2]|0)|0;Ro(c[qa>>2]|0,57,c[oa>>2]|0,c[ba>>2]|0)|0;c[o>>2]=ur(c[qa>>2]|0,22,c[x+4>>2]|0)|0;Uo(c[qa>>2]|0,49,c[ka>>2]|0,c[ba>>2]|0,c[t>>2]|0)|0;Ro(c[qa>>2]|0,74,c[oa>>2]|0,c[u>>2]|0)|0;Uo(c[qa>>2]|0,75,c[oa>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;Ro(c[qa>>2]|0,16,0,c[o>>2]|0)|0;jp(c[qa>>2]|0,c[o>>2]|0);Xo(c[I>>2]|0,c[t>>2]|0);Xo(c[I>>2]|0,c[u>>2]|0)}else{c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0;c[C>>2]=c[I>>2];c[oa>>2]=-1;if(c[ea>>2]|0)k=c[c[ea>>2]>>2]|0;else k=0;c[ba>>2]=k;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[ba>>2]|0))break d;if(gq(C,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0)|0)break a;c[T>>2]=(c[T>>2]|0)+1}}while(0);if((c[L>>2]|0)==0&(c[ba>>2]|0)>0)c[Y>>2]=b[(c[fa>>2]|0)+36>>1];e:do if(d[(c[fa>>2]|0)+44>>0]&16){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0))break e;c[ca>>2]=(c[ca>>2]|0)+((d[(c[(c[fa>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+23>>0]&2|0)!=0?1:0);c[T>>2]=(c[T>>2]|0)+1}}while(0);do if((c[L>>2]|0)==0&(c[ba>>2]|0)!=0){if((c[ba>>2]|0)==((b[(c[fa>>2]|0)+38>>1]|0)-(c[ca>>2]|0)|0))break;qa=c[I>>2]|0;oa=(b[(c[fa>>2]|0)+38>>1]|0)-(c[ca>>2]|0)|0;pa=c[ba>>2]|0;c[E>>2]=c[J>>2];c[E+4>>2]=0;c[E+8>>2]=oa;c[E+12>>2]=pa;sf(qa,26028,E);break a}while(0);do if(c[L>>2]|0){if((c[ba>>2]|0)==(c[(c[L>>2]|0)+4>>2]|0))break;qa=c[I>>2]|0;pa=c[(c[L>>2]|0)+4>>2]|0;c[F>>2]=c[ba>>2];c[F+4>>2]=pa;sf(qa,26080,F);break a}while(0);if(c[(c[R>>2]|0)+24>>2]&128){E=(c[I>>2]|0)+72|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[ma>>2]=F;Ro(c[qa>>2]|0,25,0,c[ma>>2]|0)|0}f:do if(!(c[_>>2]|0)){c[z>>2]=au(c[I>>2]|0,c[fa>>2]|0,55,-1,0,U,V)|0;c[N>>2]=qf(c[R>>2]|0,(c[z>>2]|0)+1<<2,0)|0;if(!(c[N>>2]|0))break a;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[z>>2]|0))break f;E=(c[I>>2]|0)+72|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[N>>2]|0)+(c[T>>2]<<2)>>2]=F;c[T>>2]=(c[T>>2]|0)+1}}while(0);do if(a[pa>>0]|0){c[P>>2]=ur(c[qa>>2]|0,108,c[oa>>2]|0)|0;c[O>>2]=yr(c[qa>>2]|0)|0}else{if(!(c[K>>2]|0))break;F=ur(c[qa>>2]|0,22,c[x+4>>2]|0)|0;c[O>>2]=F;c[P>>2]=F}while(0);c[S>>2]=zr(c[qa>>2]|0)|0;if(c[D>>2]&1){c[B>>2]=ps(c[I>>2]|0,(b[(c[fa>>2]|0)+38>>1]|0)+1|0)|0;if((c[Y>>2]|0)<0)Ro(c[qa>>2]|0,25,-1,c[B>>2]|0)|0;else{if(a[pa>>0]|0)Uo(c[qa>>2]|0,47,c[oa>>2]|0,c[Y>>2]|0,c[B>>2]|0)|0;else Fs(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[B>>2]|0);c[y>>2]=ur(c[qa>>2]|0,77,c[B>>2]|0)|0;Ro(c[qa>>2]|0,25,-1,c[B>>2]|0)|0;jp(c[qa>>2]|0,c[y>>2]|0);ur(c[qa>>2]|0,38,c[B>>2]|0)|0}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0))break;g:do if(!(c[L>>2]|0))c[$>>2]=c[T>>2];else{c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break g;if((c[(c[c[L>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break g;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if((a[pa>>0]|0)!=0|(c[ea>>2]|0)!=0){if((c[L>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0):0){H=93;break}if(a[pa>>0]|0){Uo(c[qa>>2]|0,47,c[oa>>2]|0,c[$>>2]|0,(c[B>>2]|0)+(c[T>>2]|0)+1|0)|0;break}else{qu(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+(c[T>>2]|0)+1|0);break}}else H=93;while(0);if((H|0)==93){H=0;Fs(c[I>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+4>>2]|0,(c[B>>2]|0)+(c[T>>2]|0)+1|0)}c[T>>2]=(c[T>>2]|0)+1}if(!(c[_>>2]|0))ru(c[qa>>2]|0,c[fa>>2]|0,(c[B>>2]|0)+1|0);su(c[I>>2]|0,c[ga>>2]|0,108,0,1,c[fa>>2]|0,(c[B>>2]|0)-(b[(c[fa>>2]|0)+38>>1]|0)-1|0,c[M>>2]|0,c[S>>2]|0);ss(c[I>>2]|0,c[B>>2]|0,(b[(c[fa>>2]|0)+38>>1]|0)+1|0)}do if(!(c[_>>2]|0)){if(d[(c[fa>>2]|0)+44>>0]&16)Ro(c[qa>>2]|0,28,0,c[la>>2]|0)|0;h:do if((c[Y>>2]|0)>=0){do if(a[pa>>0]|0)Uo(c[qa>>2]|0,47,c[oa>>2]|0,c[Y>>2]|0,c[na>>2]|0)|0;else{if(c[K>>2]|0){Ro(c[qa>>2]|0,33,(c[ka>>2]|0)+(c[Y>>2]|0)|0,c[na>>2]|0)|0;break}Fs(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[na>>2]|0);c[A>>2]=Ws(c[qa>>2]|0,-1)|0;if(!(c[A>>2]|0))break;if((d[c[A>>2]>>0]|0)!=28)break;if(d[(c[fa>>2]|0)+44>>0]&16)break;a[Q>>0]=1;a[c[A>>2]>>0]=74;c[(c[A>>2]|0)+4>>2]=c[U>>2];c[(c[A>>2]|0)+8>>2]=c[na>>2];c[(c[A>>2]|0)+12>>2]=c[ia>>2]}while(0);if(a[Q>>0]|0)break;k=c[qa>>2]|0;if(d[(c[fa>>2]|0)+44>>0]&16){c[aa>>2]=yr(k)|0;Ro(c[qa>>2]|0,76,c[na>>2]|0,(c[aa>>2]|0)+2|0)|0}else{c[aa>>2]=ur(k,77,c[na>>2]|0)|0;Uo(c[qa>>2]|0,74,c[U>>2]|0,c[na>>2]|0,c[ia>>2]|0)|0;jp(c[qa>>2]|0,c[aa>>2]|0)}ur(c[qa>>2]|0,38,c[na>>2]|0)|0}else{do if(!(d[(c[fa>>2]|0)+44>>0]&16)){if(d[G>>0]|0)break;Uo(c[qa>>2]|0,74,c[U>>2]|0,c[na>>2]|0,c[ia>>2]|0)|0;a[Q>>0]=1;break h}while(0);Ro(c[qa>>2]|0,28,0,c[na>>2]|0)|0}while(0);tu(c[I>>2]|0,c[ia>>2]|0,c[na>>2]|0);c[ca>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0))break;c[W>>2]=(c[na>>2]|0)+1+(c[T>>2]|0);i:do if((c[T>>2]|0)==(b[(c[fa>>2]|0)+36>>1]|0))ur(c[qa>>2]|0,29,c[W>>2]|0)|0;else{j:do if(!(c[L>>2]|0))if(d[(c[(c[fa>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+23>>0]&2){c[$>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1;break}else{c[$>>2]=(c[T>>2]|0)-(c[ca>>2]|0);break}else{c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break j;if((c[(c[c[L>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break j;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if(!((c[$>>2]|0)<0|(c[ba>>2]|0)==0)){if((c[L>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0):0)break;if(a[pa>>0]|0){Uo(c[qa>>2]|0,47,c[oa>>2]|0,c[$>>2]|0,c[W>>2]|0)|0;break i}if(!(c[K>>2]|0)){Fs(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,c[W>>2]|0);break i}if((c[ka>>2]|0)==(c[ja>>2]|0))break i;Ro(c[qa>>2]|0,34,(c[ka>>2]|0)+(c[$>>2]|0)|0,c[W>>2]|0)|0;break i}while(0);uu(c[I>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+4>>2]|0,c[W>>2]|0)}while(0);c[T>>2]=(c[T>>2]|0)+1}if(d[(c[fa>>2]|0)+44>>0]&16){c[ha>>2]=Bp(c[R>>2]|0,c[fa>>2]|0)|0;vu(c[I>>2]|0,c[fa>>2]|0);To(c[qa>>2]|0,15,1,(b[(c[fa>>2]|0)+38>>1]|0)+2|0,c[la>>2]|0,c[ha>>2]|0,-10)|0;xf(c[qa>>2]|0,((c[M>>2]|0)==10?2:c[M>>2]|0)&255);Cp(c[I>>2]|0);break}else{wu(c[I>>2]|0,c[fa>>2]|0,c[N>>2]|0,c[U>>2]|0,c[V>>2]|0,c[la>>2]|0,0,(c[Y>>2]|0)>=0&255,c[M>>2]&255,c[S>>2]|0,Z);xu(c[I>>2]|0,c[fa>>2]|0,0,c[la>>2]|0,0,0);yu(c[I>>2]|0,c[fa>>2]|0,c[U>>2]|0,c[V>>2]|0,c[la>>2]|0,c[N>>2]|0,0,d[Q>>0]|0,(c[Z>>2]|0)==0&1);break}}while(0);if(c[(c[R>>2]|0)+24>>2]&128)Ro(c[qa>>2]|0,37,c[ma>>2]|0,1)|0;if(c[ga>>2]|0)su(c[I>>2]|0,c[ga>>2]|0,108,0,2,c[fa>>2]|0,(c[ja>>2]|0)-2-(b[(c[fa>>2]|0)+38>>1]|0)|0,c[M>>2]|0,c[S>>2]|0);Br(c[qa>>2]|0,c[S>>2]|0);do if(a[pa>>0]|0){Ro(c[qa>>2]|0,9,c[oa>>2]|0,c[O>>2]|0)|0;jp(c[qa>>2]|0,c[P>>2]|0);ur(c[qa>>2]|0,61,c[oa>>2]|0)|0}else{if(!(c[K>>2]|0))break;Ro(c[qa>>2]|0,16,0,c[O>>2]|0)|0;jp(c[qa>>2]|0,c[P>>2]|0)}while(0);if((c[_>>2]|0)!=0?1:(d[(c[fa>>2]|0)+44>>0]&16|0)!=0)break;if((c[U>>2]|0)<(c[V>>2]|0))ur(c[qa>>2]|0,61,c[U>>2]|0)|0;c[X>>2]=0;c[da>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break b;ur(c[qa>>2]|0,61,(c[X>>2]|0)+(c[V>>2]|0)|0)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}}while(0);if((d[(c[I>>2]|0)+18>>0]|0)==0?(c[(c[I>>2]|0)+412>>2]|0)==0:0)zu(c[I>>2]|0);if(((c[(c[R>>2]|0)+24>>2]&128|0)!=0?(a[(c[I>>2]|0)+18>>0]|0)==0:0)?(c[(c[I>>2]|0)+412>>2]|0)==0:0){Ro(c[qa>>2]|0,35,c[ma>>2]|0,1)|0;Kt(c[qa>>2]|0,1);Lt(c[qa>>2]|0,0,0,26105,0)|0}}}while(0);cn(c[R>>2]|0,c[J>>2]|0);$m(c[R>>2]|0,c[ea>>2]|0);an(c[R>>2]|0,c[K>>2]|0);en(c[R>>2]|0,c[L>>2]|0);Nd(c[R>>2]|0,c[N>>2]|0);i=ra;return}function _n(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;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=gf(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=ju(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){en(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Ho(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function $n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function ao(d,e){d=d|0;e=e|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;t=i;i=i+64|0;p=t;o=t+16|0;f=t+28|0;g=t+32|0;k=t+40|0;r=t+20|0;q=t+48|0;n=t+36|0;l=t+8|0;j=t+24|0;m=t+50|0;h=t+44|0;c[f>>2]=d;c[g>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0)){i=t;return}c[r>>2]=c[(c[g>>2]|0)+8>>2];do if(a[(c[r>>2]|0)+1>>0]|0){b[q>>1]=0;c[n>>2]=Ed(c[r>>2]|0)|0;if((a[c[r>>2]>>0]|0)==63){c[j>>2]=0==(sg((c[r>>2]|0)+1|0,l,(c[n>>2]|0)-1|0,1)|0)&1;s=c[l>>2]&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s;s=l;d=c[s+4>>2]|0;if(!(!((c[j>>2]|0)==0|((d|0)<0|(d|0)==0&(c[s>>2]|0)>>>0<1))?(d=l,m=c[d+4>>2]|0,s=c[(c[k>>2]|0)+88+36>>2]|0,e=((s|0)<0)<<31>>31,!((m|0)>(e|0)|((m|0)==(e|0)?(c[d>>2]|0)>>>0>s>>>0:0))):0)){s=c[f>>2]|0;c[o>>2]=c[(c[k>>2]|0)+88+36>>2];sf(s,25930,o);b[q>>1]=0}o=l;e=c[o+4>>2]|0;s=c[(c[f>>2]|0)+440>>2]|0;d=((s|0)<0)<<31>>31;if((e|0)>(d|0)|((e|0)==(d|0)?(c[o>>2]|0)>>>0>s>>>0:0))c[(c[f>>2]|0)+440>>2]=c[l>>2]}else{b[m>>1]=0;while(1){if((b[m>>1]|0)>=(c[(c[f>>2]|0)+444>>2]|0))break;if((c[(c[(c[f>>2]|0)+472>>2]|0)+(b[m>>1]<<2)>>2]|0)!=0?(aH(c[(c[(c[f>>2]|0)+472>>2]|0)+(b[m>>1]<<2)>>2]|0,c[r>>2]|0)|0)==0:0){s=14;break}b[m>>1]=(b[m>>1]|0)+1<<16>>16}if((s|0)==14){s=(b[m>>1]|0)+1&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s}if(!(b[q>>1]|0)){o=(c[f>>2]|0)+440|0;s=(c[o>>2]|0)+1|0;c[o>>2]=s;s=s&65535;b[(c[g>>2]|0)+32>>1]=s;b[q>>1]=s}}if((b[q>>1]|0)>0){do if((b[q>>1]|0)>(c[(c[f>>2]|0)+444>>2]|0)){c[h>>2]=hm(c[k>>2]|0,c[(c[f>>2]|0)+472>>2]|0,b[q>>1]<<2,0)|0;if(!(c[h>>2]|0)){i=t;return}else{c[(c[f>>2]|0)+472>>2]=c[h>>2];BH((c[h>>2]|0)+(c[(c[f>>2]|0)+444>>2]<<2)|0,0,(b[q>>1]|0)-(c[(c[f>>2]|0)+444>>2]|0)<<2|0)|0;c[(c[f>>2]|0)+444>>2]=b[q>>1];break}}while(0);if((a[c[r>>2]>>0]|0)==63?(c[(c[(c[f>>2]|0)+472>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0)!=0:0)break;Nd(c[k>>2]|0,c[(c[(c[f>>2]|0)+472>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0);s=Io(c[k>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;c[(c[(c[f>>2]|0)+472>>2]|0)+((b[q>>1]|0)-1<<2)>>2]=s}}else{r=(c[f>>2]|0)+440|0;s=(c[r>>2]|0)+1|0;c[r>>2]=s;b[(c[g>>2]|0)+32>>1]=s}while(0);if(c[(c[f>>2]|0)+64>>2]|0){i=t;return}if((c[(c[f>>2]|0)+440>>2]|0)<=(c[(c[k>>2]|0)+88+36>>2]|0)){i=t;return}sf(c[f>>2]|0,25973,p);i=t;return}function bo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[(c[g>>2]|0)+4>>2]|0)>>>0<=0){a=c[f>>2]|0;i=j;return a|0}c[h>>2]=ar(c[c[e>>2]>>2]|0,95,c[g>>2]|0,1)|0;if(!(c[h>>2]|0)){a=c[f>>2]|0;i=j;return a|0}c[(c[h>>2]|0)+12>>2]=c[f>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[f>>2]=c[h>>2];a=c[f>>2]|0;i=j;return a|0}function co(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,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=ar(c[h>>2]|0,153,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){$m(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];io(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function eo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;f=zn(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,c[c[j>>2]>>2]|0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function fo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;f=zn(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);i=g;return}function go(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[h>>2]|0)!=0&(c[j>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];dn(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function ho(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;j=g+4|0;k=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[j>>2]=e;c[k>>2]=f;f=zn(c[m>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[k>>2]>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;cr(c[e>>2]|0);Bq(c[f>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=d;return}function jo(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+32|0;q=u+44|0;r=u+28|0;h=u+36|0;k=u+40|0;s=u+48|0;f=u+52|0;g=u+56|0;j=u+60|0;n=u+64|0;o=u+68|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+64>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}if(mr(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}c[h>>2]=yp(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)xt(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;sf(f,25718,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;sf(t,25736,l);s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}c[f>>2]=vf(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[g>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[o>>2]=(c[f>>2]|0)==1?19269:19288;if(Mo(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}if(c[f>>2]|0)c[g>>2]=12;if(Mo(c[p>>2]|0,c[g>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}c[k>>2]=Po(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}$o(c[p>>2]|0,1,c[f>>2]|0);t=c[p>>2]|0;o=(c[f>>2]|0)==1?19269:19288;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;Oo(t,25809,m);hu(c[p>>2]|0,c[f>>2]|0,22331,c[c[h>>2]>>2]|0);Qo(c[p>>2]|0,c[f>>2]|0);iu(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[f>>2]|0);To(c[k>>2]|0,125,c[f>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}function ko(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Po(c[e>>2]|0)|0;if(!(c[b>>2]|0)){i=d;return}Ro(c[b>>2]|0,13,0,0)|0;zf(c[b>>2]|0,0);i=d;return}function lo(f,g,h,j,k){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,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,ya=0,za=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,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Qb=0,Rb=0,Tb=0;Tb=i;i=i+608|0;Ma=Tb+80|0;Fb=Tb+72|0;Eb=Tb+8|0;ta=Tb;sa=Tb+88|0;ra=Tb+56|0;s=Tb+32|0;p=Tb+64|0;Mb=Tb+288|0;m=Tb+284|0;t=Tb+112|0;n=Tb+408|0;o=Tb+104|0;Qb=Tb+96|0;Rb=Tb+92|0;bb=Tb+392|0;l=Tb+376|0;q=Tb+296|0;Lb=Tb+188|0;U=Tb+168|0;qa=Tb+164|0;V=Tb+124|0;la=Tb+120|0;Ob=Tb+132|0;aa=Tb+136|0;Nb=Tb+140|0;r=Tb+144|0;w=Tb+148|0;na=Tb+152|0;Y=Tb+156|0;Ea=Tb+160|0;Z=Tb+384|0;y=Tb+380|0;Q=Tb+372|0;Sa=Tb+324|0;za=Tb+292|0;B=Tb+192|0;fa=Tb+184|0;R=Tb+180|0;D=Tb+196|0;S=Tb+200|0;va=Tb+204|0;W=Tb+208|0;ga=Tb+212|0;O=Tb+40|0;_=Tb+220|0;A=Tb+224|0;M=Tb+228|0;P=Tb+232|0;x=Tb+236|0;oa=Tb+240|0;pa=Tb+24|0;ma=Tb+248|0;Da=Tb+252|0;La=Tb+256|0;Fa=Tb+260|0;Ga=Tb+264|0;Ha=Tb+268|0;Ia=Tb+272|0;Ka=Tb+276|0;ca=Tb+280|0;F=Tb+544|0;ha=Tb+552|0;da=Tb+560|0;ia=Tb+568|0;G=Tb+576|0;z=Tb+596|0;ea=Tb+332|0;ja=Tb+328|0;H=Tb+320|0;I=Tb+316|0;J=Tb+336|0;X=Tb+340|0;$=Tb+344|0;ba=Tb+348|0;ka=Tb+352|0;K=Tb+356|0;T=Tb+360|0;ua=Tb+556|0;wa=Tb+368|0;xa=Tb+564|0;Va=Tb+572|0;Ya=Tb+584|0;Xa=Tb+588|0;Wa=Tb+388|0;Qa=Tb+592|0;Ta=Tb+396|0;Ua=Tb+400|0;ab=Tb+404|0;_a=Tb+216|0;Za=Tb+412|0;$a=Tb+416|0;Oa=Tb+420|0;Na=Tb+424|0;Pa=Tb+428|0;Ra=Tb+432|0;fb=Tb+436|0;kb=Tb+440|0;cb=Tb+444|0;ub=Tb+448|0;jb=Tb+452|0;Gb=Tb+456|0;Bb=Tb+460|0;eb=Tb+244|0;zb=Tb+468|0;vb=Tb+472|0;Ab=Tb+476|0;wb=Tb+480|0;xb=Tb+484|0;yb=Tb+488|0;tb=Tb+492|0;hb=Tb+496|0;ib=Tb+500|0;Cb=Tb+504|0;Hb=Tb+508|0;lb=Tb+580|0;nb=Tb+516|0;mb=Tb+520|0;ob=Tb+524|0;pb=Tb+528|0;qb=Tb+532|0;db=Tb+312|0;Db=Tb+176|0;rb=Tb+464|0;sb=Tb+116|0;gb=Tb+100|0;Ja=Tb+512|0;Ca=Tb+172|0;Aa=Tb+128|0;Ba=Tb+540|0;L=Tb+108|0;ya=Tb+536|0;N=Tb+548|0;E=Tb+364|0;u=Tb+48|0;v=Tb+16|0;c[Mb>>2]=f;c[m>>2]=g;c[t>>2]=h;c[n>>2]=j;c[o>>2]=k;c[Qb>>2]=0;c[Rb>>2]=0;c[bb>>2]=0;c[Ob>>2]=c[c[Mb>>2]>>2];c[Nb>>2]=Po(c[Mb>>2]|0)|0;if(!(c[Nb>>2]|0)){i=Tb;return}Jt(c[Nb>>2]|0);c[(c[Mb>>2]|0)+72>>2]=2;c[Lb>>2]=qr(c[Mb>>2]|0,c[m>>2]|0,c[t>>2]|0,l)|0;if((c[Lb>>2]|0)<0){i=Tb;return}c[aa>>2]=(c[(c[Ob>>2]|0)+16>>2]|0)+(c[Lb>>2]<<4);if((c[Lb>>2]|0)==1?(bp(c[Mb>>2]|0)|0)!=0:0){i=Tb;return}c[Qb>>2]=Ho(c[Ob>>2]|0,c[l>>2]|0)|0;if(!(c[Qb>>2]|0)){i=Tb;return}k=c[Ob>>2]|0;m=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=m;c[Rb>>2]=tf(k,23988,p)|0}else c[Rb>>2]=Ho(k,m)|0;if((c[(c[t>>2]|0)+4>>2]|0)>>>0>0)m=c[c[aa>>2]>>2]|0;else m=0;c[bb>>2]=m;a:do if(!(Mo(c[Mb>>2]|0,19,c[Qb>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[Qb>>2];c[q+8>>2]=c[Rb>>2];c[q+12>>2]=0;c[(c[Ob>>2]|0)+444+8>>2]=0;c[la>>2]=Bd(c[Ob>>2]|0,c[bb>>2]|0,14,q)|0;if(!(c[la>>2]|0)){if(!(c[q>>2]|0))break;Lb=(c[Mb>>2]|0)+72|0;Mb=(c[Lb>>2]|0)+1|0;c[Lb>>2]=Mb;c[r>>2]=Mb;To(c[Nb>>2]|0,97,0,c[r>>2]|0,0,c[q>>2]|0,0)|0;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,23992,0)|0;Ro(c[Nb>>2]|0,35,c[r>>2]|0,1)|0;Sb(c[q>>2]|0);break}if((c[la>>2]|0)!=12){if(c[q>>2]|0){Nb=c[Mb>>2]|0;c[s>>2]=c[q>>2];sf(Nb,14418,s);Sb(c[q>>2]|0)}Nb=(c[Mb>>2]|0)+64|0;c[Nb>>2]=(c[Nb>>2]|0)+1;c[(c[Mb>>2]|0)+12>>2]=c[la>>2];break}c[U>>2]=0;c[qa>>2]=54;while(1){if((c[U>>2]|0)>(c[qa>>2]|0))break;c[V>>2]=((c[U>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[la>>2]=$b(c[Qb>>2]|0,c[2516+((c[V>>2]|0)*12|0)>>2]|0)|0;if(!(c[la>>2]|0))break;m=c[V>>2]|0;if((c[la>>2]|0)<0){c[qa>>2]=m-1;continue}else{c[U>>2]=m+1;continue}}if((c[U>>2]|0)<=(c[qa>>2]|0)){if((d[2516+((c[V>>2]|0)*12|0)+5>>0]&1|0)!=0?(mr(c[Mb>>2]|0)|0)!=0:0)break;do switch(d[2516+((c[V>>2]|0)*12|0)+4>>0]|0){case 10:{zf(c[Nb>>2]|0,c[Lb>>2]|0);if(c[Rb>>2]|0){c[na>>2]=Rr(vg(c[Rb>>2]|0)|0)|0;$o(c[Mb>>2]|0,0,c[Lb>>2]|0);Ro(c[Nb>>2]|0,25,c[na>>2]|0,1)|0;Uo(c[Nb>>2]|0,52,c[Lb>>2]|0,3,1)|0;c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Sr(c[(c[aa>>2]|0)+4>>2]|0,c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,23999,0)|0;Mb=(c[Mb>>2]|0)+72|0;c[Mb>>2]=(c[Mb>>2]|0)+2;c[w>>2]=yf(c[Nb>>2]|0,9,24010,0)|0;Af(c[Nb>>2]|0,c[w>>2]|0,c[Lb>>2]|0);Af(c[Nb>>2]|0,(c[w>>2]|0)+1|0,c[Lb>>2]|0);Af(c[Nb>>2]|0,(c[w>>2]|0)+6|0,2e3);break a}}case 24:{c[Y>>2]=c[(c[aa>>2]|0)+4>>2];if(c[Rb>>2]|0){Nb=vg(c[Rb>>2]|0)|0;c[(c[Ob>>2]|0)+72>>2]=Nb;if(7!=(ig(c[Y>>2]|0,c[(c[Ob>>2]|0)+72>>2]|0,-1,0)|0))break a;a[(c[Ob>>2]|0)+64>>0]=1;break a}if(c[Y>>2]|0)l=ke(c[Y>>2]|0)|0;else l=0;c[Ea>>2]=l;Nb=c[Ea>>2]|0;Mt(c[Mb>>2]|0,24046,Nb,((Nb|0)<0)<<31>>31);break a}case 25:{c[Z>>2]=c[(c[aa>>2]|0)+4>>2];c[y>>2]=-1;if(c[Rb>>2]|0)c[y>>2]=(mg(c[Rb>>2]|0,0)|0)&255;b:do if((c[y>>2]|0)>=0?(c[(c[t>>2]|0)+4>>2]|0)==0:0){c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[Ob>>2]|0)+20>>2]|0))break b;tt(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[Q>>2]<<4)+4>>2]|0,c[y>>2]|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}}while(0);c[y>>2]=tt(c[Z>>2]|0,c[y>>2]|0)|0;Nb=c[y>>2]|0;Mt(c[Mb>>2]|0,24056,Nb,((Nb|0)<0)<<31>>31);break a}case 22:{ap(c[Mb>>2]|0,c[Lb>>2]|0);l=(c[Mb>>2]|0)+72|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Sa>>2]=m;m=c[Nb>>2]|0;l=c[Lb>>2]|0;k=c[Sa>>2]|0;if((d[13848+(d[c[Qb>>2]>>0]|0)>>0]|0)==112)Ro(m,151,l,k)|0;else Uo(m,152,l,k,Rr(vg(c[Rb>>2]|0)|0)|0)|0;Ro(c[Nb>>2]|0,35,c[Sa>>2]|0,1)|0;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,c[Qb>>2]|0,-1)|0;break a}case 21:{c[za>>2]=24070;c[B>>2]=Nt(c[Rb>>2]|0)|0;if((c[B>>2]|0)==-1?(c[(c[t>>2]|0)+4>>2]|0)==0:0)c[B>>2]=d[(c[Ob>>2]|0)+65>>0];else{if(!(c[(c[t>>2]|0)+4>>2]|0)){c[R>>2]=2;while(1){if((c[R>>2]|0)>=(c[(c[Ob>>2]|0)+20>>2]|0))break;c[fa>>2]=Id(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[R>>2]<<4)+4>>2]|0)|0;st(c[fa>>2]|0,c[B>>2]|0)|0;c[R>>2]=(c[R>>2]|0)+1}a[(c[Ob>>2]|0)+65>>0]=c[B>>2]}c[fa>>2]=Id(c[(c[aa>>2]|0)+4>>2]|0)|0;c[B>>2]=st(c[fa>>2]|0,c[B>>2]|0)|0}if((c[B>>2]|0)==1)c[za>>2]=24077;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24087,0)|0;To(c[Nb>>2]|0,97,0,1,0,c[za>>2]|0,0)|0;Ro(c[Nb>>2]|0,35,1,1)|0;break a}case 18:{Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24100,0)|0;if(c[Rb>>2]|0){c[W>>2]=Ed(c[Rb>>2]|0)|0;c[D>>2]=0;while(1){Mb=Ot(c[D>>2]|0)|0;c[va>>2]=Mb;if(!Mb)break;if(!(Ib(c[Rb>>2]|0,c[va>>2]|0,c[W>>2]|0)|0))break;c[D>>2]=(c[D>>2]|0)+1}if(!(c[va>>2]|0))c[D>>2]=-1}else c[D>>2]=-1;if((c[D>>2]|0)==-1?(c[(c[t>>2]|0)+4>>2]|0)==0:0){c[Lb>>2]=0;c[(c[t>>2]|0)+4>>2]=1}c[S>>2]=(c[(c[Ob>>2]|0)+20>>2]|0)-1;while(1){if((c[S>>2]|0)<0)break;do if(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0){if((c[S>>2]|0)!=(c[Lb>>2]|0)?(c[(c[t>>2]|0)+4>>2]|0)!=0:0)break;zf(c[Nb>>2]|0,c[S>>2]|0);Uo(c[Nb>>2]|0,12,c[S>>2]|0,1,c[D>>2]|0)|0}while(0);c[S>>2]=(c[S>>2]|0)+-1}Ro(c[Nb>>2]|0,35,1,1)|0;break a}case 19:{c[ga>>2]=Id(c[(c[aa>>2]|0)+4>>2]|0)|0;Nb=O;c[Nb>>2]=-2;c[Nb+4>>2]=-1;if((c[Rb>>2]|0)!=0?(ng(c[Rb>>2]|0,O)|0,Nb=O,Lb=c[Nb+4>>2]|0,(Lb|0)<-1|(Lb|0)==-1&(c[Nb>>2]|0)>>>0<4294967295):0){Nb=O;c[Nb>>2]=-1;c[Nb+4>>2]=-1}Lb=O;Lb=Pt(c[ga>>2]|0,c[Lb>>2]|0,c[Lb+4>>2]|0)|0;Nb=O;c[Nb>>2]=Lb;c[Nb+4>>2]=C;Nb=O;Mt(c[Mb>>2]|0,24113,c[Nb>>2]|0,c[Nb+4>>2]|0);break a}case 1:{c[_>>2]=c[(c[aa>>2]|0)+4>>2];if(!(c[Rb>>2]|0)){Mb=c[Mb>>2]|0;Nb=Qt(c[_>>2]|0)|0;Mt(Mb,24132,Nb,((Nb|0)<0)<<31>>31);break a}c[A>>2]=Rt(c[Rb>>2]|0)|0;a[(c[Ob>>2]|0)+66>>0]=c[A>>2];c[la>>2]=St(c[_>>2]|0,c[A>>2]|0)|0;if(c[la>>2]|0)break a;if(!((c[A>>2]|0)==1|(c[A>>2]|0)==2))break a;c[M>>2]=yf(c[Nb>>2]|0,6,24144,0)|0;Af(c[Nb>>2]|0,c[M>>2]|0,c[Lb>>2]|0);Af(c[Nb>>2]|0,(c[M>>2]|0)+1|0,c[Lb>>2]|0);Bf(c[Nb>>2]|0,(c[M>>2]|0)+2|0,(c[M>>2]|0)+4|0);Af(c[Nb>>2]|0,(c[M>>2]|0)+4|0,(c[A>>2]|0)-1|0);Af(c[Nb>>2]|0,(c[M>>2]|0)+5|0,c[Lb>>2]|0);zf(c[Nb>>2]|0,c[Lb>>2]|0);break a}case 14:{if(!((c[Rb>>2]|0)!=0?(Kb=(wg(c[Rb>>2]|0,P)|0)==0,!(Kb|(c[P>>2]|0)<=0)):0))c[P>>2]=2147483647;$o(c[Mb>>2]|0,0,c[Lb>>2]|0);Ro(c[Nb>>2]|0,25,c[P>>2]|0,1)|0;c[x>>2]=ur(c[Nb>>2]|0,141,c[Lb>>2]|0)|0;ur(c[Nb>>2]|0,35,1)|0;Ro(c[Nb>>2]|0,37,1,-1)|0;Ro(c[Nb>>2]|0,137,1,c[x>>2]|0)|0;jp(c[Nb>>2]|0,c[x>>2]|0);break a}case 4:if(c[Rb>>2]|0){c[oa>>2]=vg(c[Rb>>2]|0)|0;c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]=c[oa>>2];Sr(c[(c[aa>>2]|0)+4>>2]|0,c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Nb=c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]|0;Mt(c[Mb>>2]|0,23999,Nb,((Nb|0)<0)<<31>>31);break a}case 23:{Nb=pa;c[Nb>>2]=0;c[Nb+4>>2]=0;c[la>>2]=0;if(!(c[la>>2]|0)){Nb=pa;Mt(c[Mb>>2]|0,24168,c[Nb>>2]|0,c[Nb+4>>2]|0);break a}if((c[la>>2]|0)==12)break a;Nb=(c[Mb>>2]|0)+64|0;c[Nb>>2]=(c[Nb>>2]|0)+1;c[(c[Mb>>2]|0)+12>>2]=c[la>>2];break a}case 31:{l=c[Mb>>2]|0;if(c[Rb>>2]|0){Tt(l,c[Rb>>2]|0)|0;break a}else{Mt(l,24178,d[(c[Ob>>2]|0)+63>>0]|0,0);break a}}case 32:{if(!(c[Rb>>2]|0)){if(!(c[90]|0))break a;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24189,0)|0;To(c[Nb>>2]|0,97,0,1,0,c[90]|0,0)|0;Ro(c[Nb>>2]|0,35,1,1)|0;break a}if((a[c[Rb>>2]>>0]|0)!=0?(c[la>>2]=_j(c[c[Ob>>2]>>2]|0,c[Rb>>2]|0,1,ma)|0,(c[la>>2]|0)!=0|(c[ma>>2]|0)==0):0){sf(c[Mb>>2]|0,24210,ra);break a}if((d[(c[Ob>>2]|0)+63>>0]|0)<=1)Ut(c[Mb>>2]|0)|0;Sb(c[90]|0);if(a[c[Rb>>2]>>0]|0){c[sa>>2]=c[Rb>>2];c[90]=Wb(14418,sa)|0;break a}else{c[90]=0;break a}}case 29:{if(!(c[Rb>>2]|0)){Nb=(d[(c[aa>>2]|0)+8>>0]|0)-1|0;Mt(c[Mb>>2]|0,24235,Nb,((Nb|0)<0)<<31>>31);break a}if(a[(c[Ob>>2]|0)+62>>0]|0){Nb=((ug(c[Rb>>2]|0,0,1)|0)&255)+1&255;a[(c[aa>>2]|0)+8>>0]=Nb;Vt(c[Ob>>2]|0);break a}else{sf(c[Mb>>2]|0,24247,ta);break a}}case 2:{if(!(c[Rb>>2]|0)){Nb=(c[(c[Ob>>2]|0)+24>>2]&c[2516+((c[V>>2]|0)*12|0)+8>>2]|0)!=0&1;Mt(c[Mb>>2]|0,c[2516+((c[V>>2]|0)*12|0)>>2]|0,Nb,((Nb|0)<0)<<31>>31);break a}c[Da>>2]=c[2516+((c[V>>2]|0)*12|0)+8>>2];if(!(d[(c[Ob>>2]|0)+62>>0]|0))c[Da>>2]=c[Da>>2]&-524289;Mb=(mg(c[Rb>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!Mb){Mb=(c[Ob>>2]|0)+24|0;c[Mb>>2]=c[Mb>>2]&~l;if((c[Da>>2]|0)==16777216){Mb=(c[Ob>>2]|0)+512|0;c[Mb>>2]=0;c[Mb+4>>2]=0}}else{Mb=(c[Ob>>2]|0)+24|0;c[Mb>>2]=c[Mb>>2]|l}Ro(c[Nb>>2]|0,142,0,0)|0;Vt(c[Ob>>2]|0);break a}case 30:{if(!(c[Rb>>2]|0))break a;c[La>>2]=cp(c[Ob>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0;if(!(c[La>>2]|0))break a;c[Ha>>2]=0;c[Ka>>2]=Lr(c[La>>2]|0)|0;Kt(c[Nb>>2]|0,6);c[(c[Mb>>2]|0)+72>>2]=6;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24300,0)|0;Lt(c[Nb>>2]|0,1,0,24304,0)|0;Lt(c[Nb>>2]|0,2,0,24309,0)|0;Lt(c[Nb>>2]|0,3,0,24314,0)|0;Lt(c[Nb>>2]|0,4,0,24322,0)|0;Lt(c[Nb>>2]|0,5,0,24333,0)|0;Ap(c[Mb>>2]|0,c[La>>2]|0)|0;c[Fa>>2]=0;c[Ia>>2]=c[(c[La>>2]|0)+4>>2];while(1){if((c[Fa>>2]|0)>=(b[(c[La>>2]|0)+38>>1]|0))break a;if(d[(c[Ia>>2]|0)+23>>0]&2)c[Ha>>2]=(c[Ha>>2]|0)+1;else{Ro(c[Nb>>2]|0,25,(c[Fa>>2]|0)-(c[Ha>>2]|0)|0,1)|0;To(c[Nb>>2]|0,97,0,2,0,c[c[Ia>>2]>>2]|0,0)|0;if(c[(c[Ia>>2]|0)+12>>2]|0)m=c[(c[Ia>>2]|0)+12>>2]|0;else m=14425;To(c[Nb>>2]|0,97,0,3,0,m,0)|0;Ro(c[Nb>>2]|0,25,(d[(c[Ia>>2]|0)+20>>0]|0)!=0?1:0,4)|0;m=c[Nb>>2]|0;if(c[(c[Ia>>2]|0)+8>>2]|0)To(m,97,0,5,0,c[(c[Ia>>2]|0)+8>>2]|0,0)|0;else Ro(m,28,0,5)|0;c:do if(!(d[(c[Ia>>2]|0)+23>>0]&1))c[Ga>>2]=0;else{Mb=(c[Ka>>2]|0)==0;c[Ga>>2]=1;if(Mb)break;while(1){if((c[Ga>>2]|0)>(b[(c[La>>2]|0)+38>>1]|0))break c;if((b[(c[(c[Ka>>2]|0)+4>>2]|0)+((c[Ga>>2]|0)-1<<1)>>1]|0)==(c[Fa>>2]|0))break c;c[Ga>>2]=(c[Ga>>2]|0)+1}}while(0);Ro(c[Nb>>2]|0,25,c[Ga>>2]|0,6)|0;Ro(c[Nb>>2]|0,35,1,6)|0}c[Fa>>2]=(c[Fa>>2]|0)+1;c[Ia>>2]=(c[Ia>>2]|0)+24}}case 28:{c[Nb>>2]=Po(c[Mb>>2]|0)|0;Kt(c[Nb>>2]|0,4);c[(c[Mb>>2]|0)+72>>2]=4;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24336,0)|0;Lt(c[Nb>>2]|0,1,0,18253,0)|0;Lt(c[Nb>>2]|0,2,0,24342,0)|0;Lt(c[Nb>>2]|0,3,0,24348,0)|0;c[F>>2]=c[(c[(c[aa>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[F>>2]|0))break a;c[ha>>2]=c[(c[F>>2]|0)+8>>2];To(c[Nb>>2]|0,97,0,1,0,c[c[ha>>2]>>2]|0,0)|0;Ro(c[Nb>>2]|0,28,0,2)|0;Mb=c[Nb>>2]|0;Lb=Wt(b[(c[ha>>2]|0)+42>>1]|0)|0;Ro(Mb,25,Lb,3)|0;Lb=c[Nb>>2]|0;Mb=Wt(b[(c[ha>>2]|0)+28>>1]|0)|0;Ro(Lb,25,Mb,4)|0;Ro(c[Nb>>2]|0,35,1,4)|0;c[ca>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;To(c[Nb>>2]|0,97,0,2,0,c[c[ca>>2]>>2]|0,0)|0;Mb=c[Nb>>2]|0;Lb=Wt(b[(c[ca>>2]|0)+48>>1]|0)|0;Ro(Mb,25,Lb,3)|0;Lb=c[Nb>>2]|0;Mb=Wt(b[c[(c[ca>>2]|0)+8>>2]>>1]|0)|0;Ro(Lb,25,Mb,4)|0;Ro(c[Nb>>2]|0,35,1,4)|0;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[F>>2]=c[c[F>>2]>>2]}}case 15:{if(!(c[Rb>>2]|0))break a;c[da>>2]=yp(c[Ob>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0;if(!(c[da>>2]|0))break a;c[ia>>2]=c[(c[da>>2]|0)+12>>2];Kt(c[Nb>>2]|0,3);c[(c[Mb>>2]|0)+72>>2]=3;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24355,0)|0;Lt(c[Nb>>2]|0,1,0,24300,0)|0;Lt(c[Nb>>2]|0,2,0,24304,0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break a;b[z>>1]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[G>>2]<<1)>>1]|0;Ro(c[Nb>>2]|0,25,c[G>>2]|0,1)|0;Ro(c[Nb>>2]|0,25,b[z>>1]|0,2)|0;To(c[Nb>>2]|0,97,0,3,0,c[(c[(c[ia>>2]|0)+4>>2]|0)+((b[z>>1]|0)*24|0)>>2]|0,0)|0;Ro(c[Nb>>2]|0,35,1,3)|0;c[G>>2]=(c[G>>2]|0)+1}}case 16:{if(!(c[Rb>>2]|0))break a;c[ja>>2]=cp(c[Ob>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[Nb>>2]=Po(c[Mb>>2]|0)|0;Kt(c[Nb>>2]|0,3);c[(c[Mb>>2]|0)+72>>2]=3;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24361,0)|0;Lt(c[Nb>>2]|0,1,0,24304,0)|0;Lt(c[Nb>>2]|0,2,0,24365,0)|0;c[ea>>2]=c[(c[ja>>2]|0)+8>>2];c[H>>2]=0;while(1){if(!(c[ea>>2]|0))break a;Ro(c[Nb>>2]|0,25,c[H>>2]|0,1)|0;To(c[Nb>>2]|0,97,0,2,0,c[c[ea>>2]>>2]|0,0)|0;Ro(c[Nb>>2]|0,25,(d[(c[ea>>2]|0)+54>>0]|0)!=0&1,3)|0;Ro(c[Nb>>2]|0,35,1,3)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[H>>2]=(c[H>>2]|0)+1}}case 9:{Kt(c[Nb>>2]|0,3);c[(c[Mb>>2]|0)+72>>2]=3;Lt(c[Nb>>2]|0,0,0,24361,0)|0;Lt(c[Nb>>2]|0,1,0,24304,0)|0;Lt(c[Nb>>2]|0,2,0,24372,0)|0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[Ob>>2]|0)+20>>2]|0))break a;if(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+4>>2]|0){Ro(c[Nb>>2]|0,25,c[I>>2]|0,1)|0;To(c[Nb>>2]|0,97,0,2,0,c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2]|0,0)|0;Mb=c[Nb>>2]|0;To(Mb,97,0,3,0,og(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+4>>2]|0)|0,0)|0;Ro(c[Nb>>2]|0,35,1,3)|0}c[I>>2]=(c[I>>2]|0)+1}}case 6:{c[J>>2]=0;Kt(c[Nb>>2]|0,2);c[(c[Mb>>2]|0)+72>>2]=2;Lt(c[Nb>>2]|0,0,0,24361,0)|0;Lt(c[Nb>>2]|0,1,0,24304,0)|0;c[X>>2]=c[(c[Ob>>2]|0)+428+8>>2];while(1){if(!(c[X>>2]|0))break a;c[$>>2]=c[(c[X>>2]|0)+8>>2];Lb=c[Nb>>2]|0;Mb=c[J>>2]|0;c[J>>2]=Mb+1;Ro(Lb,25,Mb,1)|0;To(c[Nb>>2]|0,97,0,2,0,c[c[$>>2]>>2]|0,0)|0;Ro(c[Nb>>2]|0,35,1,2)|0;c[X>>2]=c[c[X>>2]>>2]}}case 13:{if(!(c[Rb>>2]|0))break a;c[ka>>2]=cp(c[Ob>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0;if(!(c[ka>>2]|0))break a;c[Nb>>2]=Po(c[Mb>>2]|0)|0;c[ba>>2]=c[(c[ka>>2]|0)+16>>2];if(!(c[ba>>2]|0))break a;c[K>>2]=0;Kt(c[Nb>>2]|0,8);c[(c[Mb>>2]|0)+72>>2]=8;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24377,0)|0;Lt(c[Nb>>2]|0,1,0,24361,0)|0;Lt(c[Nb>>2]|0,2,0,24336,0)|0;Lt(c[Nb>>2]|0,3,0,24380,0)|0;Lt(c[Nb>>2]|0,4,0,24385,0)|0;Lt(c[Nb>>2]|0,5,0,24388,0)|0;Lt(c[Nb>>2]|0,6,0,24398,0)|0;Lt(c[Nb>>2]|0,7,0,24408,0)|0;while(1){if(!(c[ba>>2]|0))break a;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[ba>>2]|0)+20>>2]|0))break;c[ua>>2]=c[(c[ba>>2]|0)+36+(c[T>>2]<<3)+4>>2];c[wa>>2]=Xt(a[(c[ba>>2]|0)+25>>0]|0)|0;c[xa>>2]=Xt(a[(c[ba>>2]|0)+25+1>>0]|0)|0;Ro(c[Nb>>2]|0,25,c[K>>2]|0,1)|0;Ro(c[Nb>>2]|0,25,c[T>>2]|0,2)|0;To(c[Nb>>2]|0,97,0,3,0,c[(c[ba>>2]|0)+8>>2]|0,0)|0;To(c[Nb>>2]|0,97,0,4,0,c[(c[(c[ka>>2]|0)+4>>2]|0)+((c[(c[ba>>2]|0)+36+(c[T>>2]<<3)>>2]|0)*24|0)>>2]|0,0)|0;To(c[Nb>>2]|0,(c[ua>>2]|0)!=0?97:28,0,5,0,c[ua>>2]|0,0)|0;To(c[Nb>>2]|0,97,0,6,0,c[xa>>2]|0,0)|0;To(c[Nb>>2]|0,97,0,7,0,c[wa>>2]|0,0)|0;To(c[Nb>>2]|0,97,0,8,0,24414,0)|0;Ro(c[Nb>>2]|0,35,1,8)|0;c[T>>2]=(c[T>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1;c[ba>>2]=c[(c[ba>>2]|0)+4>>2]}}case 12:{c[_a>>2]=(c[(c[Mb>>2]|0)+72>>2]|0)+1;Hb=(c[Mb>>2]|0)+72|0;c[Hb>>2]=(c[Hb>>2]|0)+4;Hb=(c[Mb>>2]|0)+72|0;Gb=(c[Hb>>2]|0)+1|0;c[Hb>>2]=Gb;c[Za>>2]=Gb;Gb=(c[Mb>>2]|0)+72|0;Hb=(c[Gb>>2]|0)+1|0;c[Gb>>2]=Hb;c[$a>>2]=Hb;c[Nb>>2]=Po(c[Mb>>2]|0)|0;Kt(c[Nb>>2]|0,4);Lt(c[Nb>>2]|0,0,0,24336,0)|0;Lt(c[Nb>>2]|0,1,0,18143,0)|0;Lt(c[Nb>>2]|0,2,0,24419,0)|0;Lt(c[Nb>>2]|0,3,0,24426,0)|0;ap(c[Mb>>2]|0,c[Lb>>2]|0);c[Ua>>2]=c[(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[Lb>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Ua>>2]|0))break a;if(c[Rb>>2]|0){c[Ya>>2]=rf(c[Mb>>2]|0,0,c[Rb>>2]|0,c[bb>>2]|0)|0;c[Ua>>2]=0}else{c[Ya>>2]=c[(c[Ua>>2]|0)+8>>2];c[Ua>>2]=c[c[Ua>>2]>>2]}if(!(c[Ya>>2]|0))continue;if(!(c[(c[Ya>>2]|0)+16>>2]|0))continue;vr(c[Mb>>2]|0,c[Lb>>2]|0,c[(c[Ya>>2]|0)+32>>2]|0,0,c[c[Ya>>2]>>2]|0);if(((b[(c[Ya>>2]|0)+38>>1]|0)+(c[$a>>2]|0)|0)>(c[(c[Mb>>2]|0)+72>>2]|0))c[(c[Mb>>2]|0)+72>>2]=(b[(c[Ya>>2]|0)+38>>1]|0)+(c[$a>>2]|0);wr(c[Mb>>2]|0,0,c[Lb>>2]|0,c[Ya>>2]|0,54);To(c[Nb>>2]|0,97,0,c[_a>>2]|0,0,c[c[Ya>>2]>>2]|0,0)|0;c[Qa>>2]=1;c[Va>>2]=c[(c[Ya>>2]|0)+16>>2];d:while(1){if(!(c[Va>>2]|0))break;c[Xa>>2]=cp(c[Ob>>2]|0,c[(c[Va>>2]|0)+8>>2]|0,c[bb>>2]|0)|0;do if(c[Xa>>2]|0){c[Wa>>2]=0;vr(c[Mb>>2]|0,c[Lb>>2]|0,c[(c[Xa>>2]|0)+32>>2]|0,0,c[c[Xa>>2]>>2]|0);c[ab>>2]=Yt(c[Mb>>2]|0,c[Xa>>2]|0,c[Va>>2]|0,Wa,0)|0;if(c[ab>>2]|0){Kb=195;break d}if(!(c[Wa>>2]|0)){wr(c[Mb>>2]|0,c[Qa>>2]|0,c[Lb>>2]|0,c[Xa>>2]|0,54);break}else{Uo(c[Nb>>2]|0,54,c[Qa>>2]|0,c[(c[Wa>>2]|0)+44>>2]|0,c[Lb>>2]|0)|0;xr(c[Mb>>2]|0,c[Wa>>2]|0);break}}while(0);c[Qa>>2]=(c[Qa>>2]|0)+1;c[Va>>2]=c[(c[Va>>2]|0)+4>>2]}if((Kb|0)==195){Kb=0;c[Ua>>2]=0}if(c[Va>>2]|0)break a;if((c[(c[Mb>>2]|0)+68>>2]|0)<(c[Qa>>2]|0))c[(c[Mb>>2]|0)+68>>2]=c[Qa>>2];c[Oa>>2]=ur(c[Nb>>2]|0,108,0)|0;c[Qa>>2]=1;c[Va>>2]=c[(c[Ya>>2]|0)+16>>2];while(1){if(!(c[Va>>2]|0))break;c[Xa>>2]=cp(c[Ob>>2]|0,c[(c[Va>>2]|0)+8>>2]|0,c[bb>>2]|0)|0;c[Wa>>2]=0;c[Pa>>2]=0;if(c[Xa>>2]|0)c[ab>>2]=Yt(c[Mb>>2]|0,c[Xa>>2]|0,c[Va>>2]|0,Wa,Pa)|0;c[Na>>2]=zr(c[Nb>>2]|0)|0;do if((c[Xa>>2]|0)!=0&(c[Wa>>2]|0)==0){c[Ra>>2]=c[(c[Va>>2]|0)+36>>2];m=c[Nb>>2]|0;if((c[Ra>>2]|0)!=(b[(c[Ya>>2]|0)+36>>1]|0)){Uo(m,47,0,c[Ra>>2]|0,c[$a>>2]|0)|0;vs(c[Nb>>2]|0,c[Ya>>2]|0,c[Ra>>2]|0,c[$a>>2]|0);Ro(c[Nb>>2]|0,76,c[$a>>2]|0,c[Na>>2]|0)|0;Gb=c[Nb>>2]|0;Hb=c[$a>>2]|0;Ro(Gb,38,Hb,(yr(c[Nb>>2]|0)|0)+3|0)|0}else Ro(m,103,0,c[$a>>2]|0)|0;Uo(c[Nb>>2]|0,70,c[Qa>>2]|0,0,c[$a>>2]|0)|0;Ro(c[Nb>>2]|0,16,0,c[Na>>2]|0)|0;Hb=c[Nb>>2]|0;jp(Hb,(yr(c[Nb>>2]|0)|0)-2|0)}else{c[Ta>>2]=0;while(1){if((c[Ta>>2]|0)>=(c[(c[Va>>2]|0)+20>>2]|0))break;m=c[Ta>>2]|0;if(c[Pa>>2]|0)m=c[(c[Pa>>2]|0)+(m<<2)>>2]|0;else m=c[(c[Va>>2]|0)+36+(m<<3)>>2]|0;qs(c[Nb>>2]|0,c[Ya>>2]|0,0,m,(c[$a>>2]|0)+(c[Ta>>2]|0)|0);Ro(c[Nb>>2]|0,76,(c[$a>>2]|0)+(c[Ta>>2]|0)|0,c[Na>>2]|0)|0;c[Ta>>2]=(c[Ta>>2]|0)+1}if(!(c[Xa>>2]|0))break;Db=c[Nb>>2]|0;Eb=c[$a>>2]|0;Fb=c[(c[Va>>2]|0)+20>>2]|0;Gb=c[Za>>2]|0;Hb=Zt(c[Nb>>2]|0,c[Wa>>2]|0)|0;To(Db,49,Eb,Fb,Gb,Hb,c[(c[Va>>2]|0)+20>>2]|0)|0;wf(c[Nb>>2]|0,69,c[Qa>>2]|0,c[Na>>2]|0,c[Za>>2]|0,0)|0}while(0);Ro(c[Nb>>2]|0,103,0,(c[_a>>2]|0)+1|0)|0;To(c[Nb>>2]|0,97,0,(c[_a>>2]|0)+2|0,0,c[(c[Va>>2]|0)+8>>2]|0,0)|0;Ro(c[Nb>>2]|0,25,(c[Qa>>2]|0)-1|0,(c[_a>>2]|0)+3|0)|0;Ro(c[Nb>>2]|0,35,c[_a>>2]|0,4)|0;Br(c[Nb>>2]|0,c[Na>>2]|0);Nd(c[Ob>>2]|0,c[Pa>>2]|0);c[Qa>>2]=(c[Qa>>2]|0)+1;c[Va>>2]=c[(c[Va>>2]|0)+4>>2]}Ro(c[Nb>>2]|0,9,0,(c[Oa>>2]|0)+1|0)|0;jp(c[Nb>>2]|0,c[Oa>>2]|0)}}case 5:{if(!(c[Rb>>2]|0))break a;Nb=c[Ob>>2]|0;_t(Nb,(mg(c[Rb>>2]|0,0)|0)&255);break a}case 17:{c[jb>>2]=(d[13848+(d[c[Qb>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[t>>2]>>2]|0))c[Lb>>2]=-1;c[(c[Mb>>2]|0)+72>>2]=6;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24431,0)|0;c[ub>>2]=100;if((c[Rb>>2]|0)!=0?(wg(c[Rb>>2]|0,ub)|0,(c[ub>>2]|0)<=0):0)c[ub>>2]=100;Ro(c[Nb>>2]|0,25,c[ub>>2]|0,1)|0;c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[(c[Ob>>2]|0)+20>>2]|0))break;c[eb>>2]=0;if(!((c[Lb>>2]|0)>=0?(c[fb>>2]|0)!=(c[Lb>>2]|0):0))Kb=230;e:do if((Kb|0)==230){Kb=0;ap(c[Mb>>2]|0,c[fb>>2]|0);c[cb>>2]=ur(c[Nb>>2]|0,137,1)|0;Ro(c[Nb>>2]|0,24,0,0)|0;jp(c[Nb>>2]|0,c[cb>>2]|0);c[Bb>>2]=(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[fb>>2]<<4)+12>>2]|0)+8;c[Gb>>2]=c[(c[Bb>>2]|0)+8>>2];while(1){if(!(c[Gb>>2]|0))break;c[zb>>2]=c[(c[Gb>>2]|0)+8>>2];if(!(d[(c[zb>>2]|0)+44>>0]&32)){Ro(c[Nb>>2]|0,25,c[(c[zb>>2]|0)+32>>2]|0,2+(c[eb>>2]|0)|0)|0;c[eb>>2]=(c[eb>>2]|0)+1}c[vb>>2]=c[(c[zb>>2]|0)+8>>2];while(1){if(!(c[vb>>2]|0))break;Ro(c[Nb>>2]|0,25,c[(c[vb>>2]|0)+44>>2]|0,2+(c[eb>>2]|0)|0)|0;c[eb>>2]=(c[eb>>2]|0)+1;c[vb>>2]=c[(c[vb>>2]|0)+20>>2]}c[Gb>>2]=c[c[Gb>>2]>>2]}if((c[(c[Mb>>2]|0)+72>>2]|0)>((c[eb>>2]|0)+8|0))m=c[(c[Mb>>2]|0)+72>>2]|0;else m=(c[eb>>2]|0)+8|0;c[(c[Mb>>2]|0)+72>>2]=m;Uo(c[Nb>>2]|0,127,2,c[eb>>2]|0,1)|0;xf(c[Nb>>2]|0,c[fb>>2]&255);c[cb>>2]=ur(c[Nb>>2]|0,76,2)|0;ab=c[Nb>>2]|0;bb=c[Ob>>2]|0;c[Eb>>2]=c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[fb>>2]<<4)>>2];To(ab,97,0,3,0,tf(bb,24447,Eb)|0,-1)|0;Uo(c[Nb>>2]|0,32,2,4,1)|0;Uo(c[Nb>>2]|0,94,4,3,2)|0;Ro(c[Nb>>2]|0,35,2,1)|0;jp(c[Nb>>2]|0,c[cb>>2]|0);c[Gb>>2]=c[(c[Bb>>2]|0)+8>>2];while(1){if(!(c[Gb>>2]|0))break e;if(!((c[jb>>2]|0)!=0^1))break e;c[Ab>>2]=c[(c[Gb>>2]|0)+8>>2];c[yb>>2]=0;c[Cb>>2]=-1;f:do if(c[(c[Ab>>2]|0)+8>>2]|0){if(!(d[(c[Ab>>2]|0)+44>>0]&32))m=0;else m=Lr(c[Ab>>2]|0)|0;c[xb>>2]=m;c[cb>>2]=ur(c[Nb>>2]|0,137,1)|0;Ro(c[Nb>>2]|0,24,0,0)|0;jp(c[Nb>>2]|0,c[cb>>2]|0);$t(c[Mb>>2]|0);au(c[Mb>>2]|0,c[Ab>>2]|0,54,1,0,hb,ib)|0;Ro(c[Nb>>2]|0,25,0,7)|0;c[kb>>2]=0;c[wb>>2]=c[(c[Ab>>2]|0)+8>>2];while(1){if(!(c[wb>>2]|0))break;Ro(c[Nb>>2]|0,25,0,8+(c[kb>>2]|0)|0)|0;c[wb>>2]=c[(c[wb>>2]|0)+20>>2];c[kb>>2]=(c[kb>>2]|0)+1}if((c[(c[Mb>>2]|0)+72>>2]|0)>(8+(c[kb>>2]|0)|0))m=c[(c[Mb>>2]|0)+72>>2]|0;else m=8+(c[kb>>2]|0)|0;c[(c[Mb>>2]|0)+72>>2]=m;Ro(c[Nb>>2]|0,108,c[hb>>2]|0,0)|0;c[tb>>2]=Ro(c[Nb>>2]|0,37,7,1)|0;c[kb>>2]=0;while(1){if((c[kb>>2]|0)>=(b[(c[Ab>>2]|0)+38>>1]|0))break;do if((c[kb>>2]|0)!=(b[(c[Ab>>2]|0)+36>>1]|0)){if(!(d[(c[(c[Ab>>2]|0)+4>>2]|0)+((c[kb>>2]|0)*24|0)+20>>0]|0))break;qs(c[Nb>>2]|0,c[Ab>>2]|0,c[hb>>2]|0,c[kb>>2]|0,3);xf(c[Nb>>2]|0,-128);c[lb>>2]=ur(c[Nb>>2]|0,77,3)|0;Ro(c[Nb>>2]|0,37,1,-1)|0;bb=c[Ob>>2]|0;ab=c[(c[(c[Ab>>2]|0)+4>>2]|0)+((c[kb>>2]|0)*24|0)>>2]|0;c[Fb>>2]=c[c[Ab>>2]>>2];c[Fb+4>>2]=ab;c[Hb>>2]=tf(bb,24471,Fb)|0;To(c[Nb>>2]|0,97,0,3,0,c[Hb>>2]|0,-1)|0;Ro(c[Nb>>2]|0,35,3,1)|0;c[nb>>2]=ur(c[Nb>>2]|0,137,1)|0;Yo(c[Nb>>2]|0,24)|0;jp(c[Nb>>2]|0,c[lb>>2]|0);jp(c[Nb>>2]|0,c[nb>>2]|0)}while(0);c[kb>>2]=(c[kb>>2]|0)+1}c[kb>>2]=0;c[wb>>2]=c[(c[Ab>>2]|0)+8>>2];while(1){m=c[Nb>>2]|0;if(!(c[wb>>2]|0))break;c[db>>2]=zr(m)|0;if((c[xb>>2]|0)!=(c[wb>>2]|0)){c[Cb>>2]=bs(c[Mb>>2]|0,c[wb>>2]|0,c[hb>>2]|0,0,0,ob,c[yb>>2]|0,c[Cb>>2]|0)|0;c[yb>>2]=c[wb>>2];Ro(c[Nb>>2]|0,37,8+(c[kb>>2]|0)|0,1)|0;c[mb>>2]=wf(c[Nb>>2]|0,69,(c[ib>>2]|0)+(c[kb>>2]|0)|0,c[db>>2]|0,c[Cb>>2]|0,e[(c[wb>>2]|0)+52>>1]|0)|0;Ro(c[Nb>>2]|0,37,1,-1)|0;To(c[Nb>>2]|0,97,0,3,0,24491,-2)|0;Uo(c[Nb>>2]|0,94,7,3,3)|0;To(c[Nb>>2]|0,97,0,4,0,24496,-2)|0;Uo(c[Nb>>2]|0,94,4,3,3)|0;c[qb>>2]=To(c[Nb>>2]|0,97,0,4,0,c[c[wb>>2]>>2]|0,0)|0;Uo(c[Nb>>2]|0,94,4,3,3)|0;Ro(c[Nb>>2]|0,35,3,1)|0;c[pb>>2]=ur(c[Nb>>2]|0,137,1)|0;Yo(c[Nb>>2]|0,24)|0;jp(c[Nb>>2]|0,c[mb>>2]|0);if(d[(c[wb>>2]|0)+54>>0]|0){c[Db>>2]=zr(c[Nb>>2]|0)|0;c[sb>>2]=0;while(1){if((c[sb>>2]|0)>=(e[(c[wb>>2]|0)+50>>1]|0))break;c[gb>>2]=b[(c[(c[wb>>2]|0)+4>>2]|0)+(c[sb>>2]<<1)>>1];if(!(a[(c[(c[Ab>>2]|0)+4>>2]|0)+((c[gb>>2]|0)*24|0)+20>>0]|0))Ro(c[Nb>>2]|0,76,(c[Cb>>2]|0)+(c[sb>>2]|0)|0,c[Db>>2]|0)|0;c[sb>>2]=(c[sb>>2]|0)+1}c[rb>>2]=ur(c[Nb>>2]|0,9,(c[ib>>2]|0)+(c[kb>>2]|0)|0)|0;Ro(c[Nb>>2]|0,16,0,c[Db>>2]|0)|0;jp(c[Nb>>2]|0,c[rb>>2]|0);wf(c[Nb>>2]|0,114,(c[ib>>2]|0)+(c[kb>>2]|0)|0,c[Db>>2]|0,c[Cb>>2]|0,e[(c[wb>>2]|0)+50>>1]|0)|0;Ro(c[Nb>>2]|0,37,1,-1)|0;To(c[Nb>>2]|0,97,0,3,0,24517,-2)|0;Ro(c[Nb>>2]|0,16,0,c[qb>>2]|0)|0;Br(c[Nb>>2]|0,c[Db>>2]|0)}jp(c[Nb>>2]|0,c[pb>>2]|0);cs(c[Mb>>2]|0,c[ob>>2]|0)}c[wb>>2]=c[(c[wb>>2]|0)+20>>2];c[kb>>2]=(c[kb>>2]|0)+1}Ro(m,9,c[hb>>2]|0,c[tb>>2]|0)|0;jp(c[Nb>>2]|0,(c[tb>>2]|0)-1|0);To(c[Nb>>2]|0,97,0,2,0,24544,-2)|0;c[kb>>2]=0;c[wb>>2]=c[(c[Ab>>2]|0)+8>>2];while(1){if(!(c[wb>>2]|0))break f;if((c[xb>>2]|0)!=(c[wb>>2]|0)){c[cb>>2]=yr(c[Nb>>2]|0)|0;Ro(c[Nb>>2]|0,137,1,(c[cb>>2]|0)+2|0)|0;Ro(c[Nb>>2]|0,24,0,0)|0;Ro(c[Nb>>2]|0,50,(c[ib>>2]|0)+(c[kb>>2]|0)|0,3)|0;Uo(c[Nb>>2]|0,79,8+(c[kb>>2]|0)|0,(c[cb>>2]|0)+8|0,3)|0;xf(c[Nb>>2]|0,-112);Ro(c[Nb>>2]|0,37,1,-1)|0;To(c[Nb>>2]|0,97,0,3,0,c[c[wb>>2]>>2]|0,0)|0;Uo(c[Nb>>2]|0,94,3,2,7)|0;Ro(c[Nb>>2]|0,35,7,1)|0}c[wb>>2]=c[(c[wb>>2]|0)+20>>2];c[kb>>2]=(c[kb>>2]|0)+1}}while(0);c[Gb>>2]=c[c[Gb>>2]>>2]}}while(0);c[fb>>2]=(c[fb>>2]|0)+1}c[cb>>2]=yf(c[Nb>>2]|0,3,24573,0)|0;Cf(c[Nb>>2]|0,c[cb>>2]|0,0-(c[ub>>2]|0)|0);jp(c[Nb>>2]|0,c[cb>>2]|0);Df(c[Nb>>2]|0,(c[cb>>2]|0)+1|0,24585,-2);break a}case 11:{if(!(c[Rb>>2]|0)){if(mr(c[Mb>>2]|0)|0)break a;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24588,0)|0;Ro(c[Nb>>2]|0,97,0,1)|0;Df(c[Nb>>2]|0,-1,c[3176+(d[(c[(c[(c[c[Mb>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]<<3)>>2]|0,-2);Ro(c[Nb>>2]|0,35,1,1)|0;break a}if((e[(c[(c[(c[Ob>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[Ob>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ja>>2]=3176;while(1){if(!(c[c[Ja>>2]>>2]|0))break;Nb=0==($b(c[Rb>>2]|0,c[c[Ja>>2]>>2]|0)|0);l=c[Ja>>2]|0;if(Nb){Kb=287;break}c[Ja>>2]=l+8}if((Kb|0)==287){if(d[l+4>>0]|0)l=d[(c[Ja>>2]|0)+4>>0]|0;else l=(a[920]|0)==0?3:2;a[(c[(c[(c[c[Mb>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=l}if(c[c[Ja>>2]>>2]|0)break a;Nb=c[Mb>>2]|0;c[Ma>>2]=c[Rb>>2];sf(Nb,24597,Ma);break a}case 0:{zf(c[Nb>>2]|0,c[Lb>>2]|0);switch(a[c[Qb>>2]>>0]|0){case 65:case 97:{c[Ca>>2]=8;break}case 70:case 102:{c[Ca>>2]=0;break}case 83:case 115:{c[Ca>>2]=1;break}default:c[Ca>>2]=6}k=c[Nb>>2]|0;if((c[Rb>>2]|0)!=0&(c[Ca>>2]|0)!=0){c[Aa>>2]=yf(k,3,24622,0)|0;Af(c[Nb>>2]|0,c[Aa>>2]|0,c[Lb>>2]|0);Kb=c[Nb>>2]|0;Mb=(c[Aa>>2]|0)+1|0;Af(Kb,Mb,vg(c[Rb>>2]|0)|0);Af(c[Nb>>2]|0,(c[Aa>>2]|0)+2|0,c[Lb>>2]|0);Bf(c[Nb>>2]|0,(c[Aa>>2]|0)+2|0,c[Ca>>2]|0);break a}else{c[Ba>>2]=yf(k,3,24634,0)|0;Af(c[Nb>>2]|0,c[Ba>>2]|0,c[Lb>>2]|0);Af(c[Nb>>2]|0,(c[Ba>>2]|0)+1|0,c[Lb>>2]|0);Cf(c[Nb>>2]|0,(c[Ba>>2]|0)+1|0,c[Ca>>2]|0);Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,c[Qb>>2]|0,-1)|0;break a}}case 7:{c[L>>2]=0;Kt(c[Nb>>2]|0,1);c[(c[Mb>>2]|0)+72>>2]=1;Lt(c[Nb>>2]|0,0,0,24646,0)|0;while(1){Mb=c[L>>2]|0;c[L>>2]=Mb+1;Mb=Jb(Mb)|0;c[ya>>2]=Mb;if(!Mb)break a;To(c[Nb>>2]|0,97,0,1,0,c[ya>>2]|0,0)|0;Ro(c[Nb>>2]|0,35,1,1)|0}}case 35:{c[N>>2]=(c[c[t>>2]>>2]|0)!=0?c[Lb>>2]|0:10;c[E>>2]=0;do if(c[Rb>>2]|0){if(!($b(c[Rb>>2]|0,24661)|0)){c[E>>2]=1;break}if(!($b(c[Rb>>2]|0,24666)|0))c[E>>2]=2}while(0);Kt(c[Nb>>2]|0,3);c[(c[Mb>>2]|0)+72>>2]=3;Lt(c[Nb>>2]|0,0,0,24674,0)|0;Lt(c[Nb>>2]|0,1,0,24679,0)|0;Lt(c[Nb>>2]|0,2,0,24683,0)|0;Uo(c[Nb>>2]|0,11,c[N>>2]|0,c[E>>2]|0,1)|0;Ro(c[Nb>>2]|0,35,1,3)|0;break a}case 34:{if(c[Rb>>2]|0){Nb=c[Ob>>2]|0;ud(Nb,vg(c[Rb>>2]|0)|0)|0}if((c[(c[Ob>>2]|0)+212>>2]|0)==6)l=c[(c[Ob>>2]|0)+216>>2]|0;else l=0;Mt(c[Mb>>2]|0,24696,l,((l|0)<0)<<31>>31);break a}case 26:{jd(c[Ob>>2]|0)|0;break a}case 27:{if((c[Rb>>2]|0)!=0?(ng(c[Rb>>2]|0,u)|0)==0:0){Nb=u;Pb(c[Nb>>2]|0,c[Nb+4>>2]|0)|0}Mb=c[Mb>>2]|0;Nb=Pb(-1,-1)|0;Mt(Mb,24723,Nb,C);break a}case 33:{if((c[Rb>>2]|0)!=0?(Kb=(ng(c[Rb>>2]|0,v)|0)==0,Nb=v,Lb=c[Nb+4>>2]|0,Kb&((Lb|0)>0|(Lb|0)==0&(c[Nb>>2]|0)>>>0>=0)):0)zd(c[Ob>>2]|0,11,c[v>>2]&2147483647)|0;Mb=c[Mb>>2]|0;Nb=zd(c[Ob>>2]|0,11,-1)|0;Mt(Mb,24739,Nb,((Nb|0)<0)<<31>>31);break a}default:{if(c[Rb>>2]|0){Nb=c[Ob>>2]|0;qd(Nb,vg(c[Rb>>2]|0)|0)|0}Nb=c[(c[Ob>>2]|0)+492>>2]|0;Mt(c[Mb>>2]|0,24715,Nb,((Nb|0)<0)<<31>>31);break a}}while(0)}}while(0);Nd(c[Ob>>2]|0,c[Qb>>2]|0);Nd(c[Ob>>2]|0,c[Rb>>2]|0);i=Tb;return}function mo(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;t=w+24|0;s=w;f=w+28|0;g=w+32|0;h=w+36|0;p=w+48|0;v=w+40|0;j=w+44|0;q=w+56|0;k=w+80|0;l=w+88|0;r=w+96|0;u=w+100|0;n=w+104|0;m=w+108|0;o=w+112|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+488>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+488>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+64>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=vf(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+32>>2]}c[l>>2]=c[e>>2];c[l+4>>2]=Ed(c[l>>2]|0)|0;Dt(q,c[f>>2]|0,c[k>>2]|0,14687,l);if((It(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(Gt(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+140+5>>0]|0)){c[r>>2]=Po(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;$o(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Io(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?19269:19288;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;Oo(q,23895,s);Nd(c[j>>2]|0,c[u>>2]|0);Qo(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];So(r,s,tf(u,23959,t)|0)}if(a[(c[j>>2]|0)+140+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=ch(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){a[(c[j>>2]|0)+64>>0]=1;break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=Zg((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+64>>2];c[(c[o>>2]|0)+64>>2]=c[n>>2]}}}}while(0);Kd(c[j>>2]|0,c[p>>2]|0);jn(c[j>>2]|0,c[g>>2]|0);i=w;return}function no(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;Q=i;i=i+160|0;v=Q+16|0;u=Q;t=Q+24|0;F=Q+48|0;s=Q+40|0;r=Q+32|0;I=Q+52|0;o=Q+100|0;p=Q+72|0;x=Q+68|0;y=Q+64|0;J=Q+60|0;K=Q+56|0;L=Q+76|0;z=Q+80|0;A=Q+88|0;O=Q+84|0;E=Q+92|0;P=Q+96|0;M=Q+104|0;N=Q+108|0;D=Q+112|0;q=Q+120|0;C=Q+144|0;B=Q+148|0;G=Q+152|0;H=Q+156|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{sf(c[I>>2]|0,23578,r);break}else{c[N>>2]=qr(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+64>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+140+5>>0]|0)!=0:0){Nd(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=Ct(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+140+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+68>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+64>>0]|0)==0?(Dt(q,c[I>>2]|0,c[N>>2]|0,14687,c[D>>2]|0),(Et(q,c[K>>2]|0)|0)==0):0){c[E>>2]=Ct(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+140+4>>0]|0)!=1)break;a[(c[M>>2]|0)+140+6>>0]=1;break}if(d[(c[E>>2]|0)+44>>0]&16){sf(c[I>>2]|0,23624,s);break}c[P>>2]=Ho(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(zp(c[I>>2]|0,c[P>>2]|0)|0):0){if(Zg((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){ap(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];sf(o,23665,F);break}}if(!(Ib(c[c[E>>2]>>2]|0,19570,7)|0)){sf(c[I>>2]|0,23691,t);N=(c[I>>2]|0)+64|0;c[N>>2]=(c[N>>2]|0)+1;break}if((c[x>>2]|0)!=49?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==35?23729:23736;c[u+4>>2]=H;c[u+8>>2]=0;sf(N,23742,u);break}if((c[x>>2]|0)==49?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;sf(N,23779,v);break}c[C>>2]=vf(c[M>>2]|0,c[(c[E>>2]|0)+68>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((Mo(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(Mo(c[I>>2]|0,18,(c[C>>2]|0)==1?19269:19288,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==49)c[x>>2]=35;c[O>>2]=gf(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=ef(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+68>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==35?1:2;N=mq(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=kr(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+488>>2]=c[O>>2]}}}}while(0);Nd(c[M>>2]|0,c[P>>2]|0);cn(c[M>>2]|0,c[K>>2]|0);en(c[M>>2]|0,c[J>>2]|0);dn(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+488>>2]|0){i=Q;return}Kd(c[M>>2]|0,c[O>>2]|0);i=Q;return}function oo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=Bt(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=uq(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+24>>2]=o;o=mq(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}$m(c[h>>2]|0,c[j>>2]|0);dn(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function po(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=Bt(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=Hp(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+28>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;an(l,o);o=c[m>>2]|0;i=n;return o|0}else{en(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;an(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function qo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=Bt(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=mq(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+20>>2]=k;a[(c[h>>2]|0)+1>>0]=10}dn(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function ro(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=gf(c[f>>2]|0,40,0)|0;if(!(c[h>>2]|0)){an(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function so(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,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+20|0;m=r+24|0;n=r+28|0;h=r+12|0;f=r+8|0;q=r+16|0;j=r+32|0;o=r+36|0;g=r+40|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+64>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;cn(p,q);i=r;return}if(mr(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;cn(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?($b(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=Zg((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){yt(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;cn(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)xt(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;sf(f,23522,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;cn(p,q);i=r;return}function to(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;it(c[k>>2]|0,24,2480,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;it(c[f>>2]|0,25,2444,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function vo(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u;q=u+4|0;f=u+12|0;g=u+8|0;j=u+24|0;m=u+16|0;o=u+20|0;l=u+28|0;s=u+32|0;r=u+36|0;h=u+40|0;k=u+44|0;n=u+48|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(mr(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){_r(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Ho(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Xg(c[h>>2]|0,a[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Nd(c[h>>2]|0,c[n>>2]|0);break}_r(c[q>>2]|0,c[n>>2]|0);Nd(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=qr(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Ho(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=cp(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){$r(c[q>>2]|0,c[l>>2]|0,0);Nd(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=yp(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Nd(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){$o(f,0,c[r>>2]|0);as(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{sf(f,22975,t);i=u;return}}function wo(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+4|0;e=r+16|0;f=r+36|0;m=r;h=r+32|0;g=r+40|0;q=r+44|0;k=r+24|0;o=r+20|0;n=r+8|0;j=r+12|0;p=r+28|0;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(mr(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=qr(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Ho(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=yp(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=rf(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)pr(c[l>>2]|0,c[o>>2]|0,0)}else pr(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Nd(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=or(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){nr(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Ho(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=yp(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=rf(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)pr(c[l>>2]|0,c[o>>2]|0,0)}else pr(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Nd(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)nr(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=Po(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}Yo(c[p>>2]|0,142)|0;i=r;return}function xo(b,e,f){b=b|0;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;E=i;i=i+176|0;y=E+80|0;x=E+96|0;w=E;z=E+48|0;v=E+40|0;h=E+72|0;j=E+108|0;k=E+140|0;g=E+128|0;n=E+124|0;A=E+120|0;r=E+116|0;B=E+112|0;l=E+132|0;o=E+136|0;C=E+144|0;u=E+148|0;D=E+152|0;s=E+156|0;t=E+160|0;m=E+164|0;p=E+168|0;q=E+172|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+64>>0]|0)==0?(c[r>>2]=Zo(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=vf(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+68>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Ho(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((cp(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(yp(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(_o(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(zp(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];sf(g,20063,v);break}if(Mo(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Ap(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+44>>0]&16|0)!=0?(c[s>>2]=Bp(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=Po(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;$o(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);Qo(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+72|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;To(c[u>>2]|0,97,0,c[m>>2]|0,0,c[B>>2]|0,0)|0;To(c[u>>2]|0,150,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Cp(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Dp(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Ep(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?19269:19288;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;Oo(v,20090,z);Nd(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?19269:19288;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;Oo(z,20159,w);if(cp(c[l>>2]|0,20543,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;Oo(C,20559,x)}C=hp(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;Oo(C,20617,y);Nd(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Fp(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))fp(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);fp(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];sf(D,20004,h)}while(0);cn(c[l>>2]|0,c[k>>2]|0);Nd(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function yo(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;B=i;i=i+128|0;t=B;s=B+56|0;w=B+24|0;v=B+48|0;u=B+32|0;r=B+40|0;g=B+60|0;h=B+80|0;n=B+76|0;o=B+72|0;k=B+68|0;y=B+64|0;A=B+84|0;x=B+88|0;l=B+92|0;m=B+96|0;j=B+100|0;p=B+104|0;z=B+108|0;q=B+112|0;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+64>>2]|0){i=B;return}if(d[(c[j>>2]|0)+64>>0]|0){i=B;return}c[n>>2]=c[(c[g>>2]|0)+484>>2];c[k>>2]=vf(c[j>>2]|0,c[(c[n>>2]|0)+68>>2]|0)|0;c[y>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[A>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+(((b[(c[n>>2]|0)+38>>1]|0)-1|0)*24|0);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=cp(c[j>>2]|0,c[A>>2]|0,c[y>>2]|0)|0;if(Mo(c[g>>2]|0,26,c[y>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=B;return}if((c[m>>2]|0)!=0?(d[c[m>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+23>>0]&1){sf(c[g>>2]|0,19606,r);i=B;return}if(c[(c[n>>2]|0)+8>>2]|0){sf(c[g>>2]|0,19638,u);i=B;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){sf(c[g>>2]|0,19665,v);i=B;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+20>>0]|0)==0)){sf(c[g>>2]|0,19724,w);i=B;return}do if(c[m>>2]|0){c[p>>2]=0;if(dp(c[j>>2]|0,c[m>>2]|0,1,65,p)|0){a[(c[j>>2]|0)+64>>0]=1;i=B;return}if(c[p>>2]|0){Rf(c[p>>2]|0);break}sf(c[g>>2]|0,19777,s);i=B;return}while(0);c[x>>2]=Io(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[x>>2]|0){c[z>>2]=(c[x>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[q>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[z>>2]|0)>>>0<=(c[x>>2]|0)>>>0)break;if((a[c[z>>2]>>0]|0)!=59?(d[14426+(d[c[z>>2]>>0]|0)>>0]&1|0)==0:0)break;w=c[z>>2]|0;c[z>>2]=w+-1;a[w>>0]=0}z=(c[j>>2]|0)+24|0;c[z>>2]=c[z>>2]|2097152;z=c[g>>2]|0;s=(c[k>>2]|0)==1?19269:19288;u=c[(c[n>>2]|0)+48>>2]|0;v=c[x>>2]|0;w=(c[(c[n>>2]|0)+48>>2]|0)+1|0;A=c[A>>2]|0;c[t>>2]=c[y>>2];c[t+4>>2]=s;c[t+8>>2]=u;c[t+12>>2]=v;c[t+16>>2]=w;c[t+20>>2]=A;Oo(z,19823,t);Nd(c[j>>2]|0,c[x>>2]|0);c[(c[j>>2]|0)+24>>2]=c[q>>2]}ep(c[g>>2]|0,c[k>>2]|0,(c[m>>2]|0)!=0?3:2);fp(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=B;return}function zo(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;s=i;i=i+64|0;r=s+8|0;g=s+24|0;h=s+20|0;o=s+32|0;p=s+28|0;q=s+36|0;l=s+40|0;k=s+44|0;m=s+48|0;j=s+52|0;n=s+56|0;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+64>>0]|0){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}c[p>>2]=Zo(c[g>>2]|0,0,(c[h>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}if(d[(c[p>>2]|0)+44>>0]&16){sf(c[g>>2]|0,19417,s);q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}e=c[g>>2]|0;if(c[(c[p>>2]|0)+12>>2]|0){sf(e,19451,s+16|0);q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}if(_o(e,c[c[p>>2]>>2]|0)|0){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}c[l>>2]=vf(c[j>>2]|0,c[(c[p>>2]|0)+68>>2]|0)|0;c[o>>2]=gf(c[j>>2]|0,76,0)|0;if(!(c[o>>2]|0)){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}c[(c[g>>2]|0)+484>>2]=c[o>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+38>>1]=b[(c[p>>2]|0)+38>>1]|0;c[m>>2]=((((b[(c[o>>2]|0)+38>>1]|0)-1|0)/8|0)<<3)+8;m=gf(c[j>>2]|0,(c[m>>2]|0)*24|0,0)|0;c[(c[o>>2]|0)+4>>2]=m;m=c[j>>2]|0;c[r>>2]=c[c[p>>2]>>2];r=tf(m,19481,r)|0;c[c[o>>2]>>2]=r;if((c[(c[o>>2]|0)+4>>2]|0)!=0?(c[c[o>>2]>>2]|0)!=0:0){EH(c[(c[o>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+38>>1]|0)*24|0)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[o>>2]|0)+38>>1]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0);r=ef(c[j>>2]|0,c[c[n>>2]>>2]|0)|0;c[c[n>>2]>>2]=r;c[(c[n>>2]|0)+16>>2]=0;c[(c[n>>2]|0)+12>>2]=0;c[(c[n>>2]|0)+4>>2]=0;c[(c[n>>2]|0)+8>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[o>>2]|0)+68>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2];c[(c[o>>2]|0)+48>>2]=c[(c[p>>2]|0)+48>>2];b[(c[o>>2]|0)+40>>1]=1;$o(c[g>>2]|0,0,c[l>>2]|0);c[q>>2]=Po(c[g>>2]|0)|0;if(!(c[q>>2]|0)){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}Qo(c[g>>2]|0,c[l>>2]|0);q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}a[(c[j>>2]|0)+64>>0]=1;q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}function Ao(b,d){b=b|0;d=d|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;t=i;i=i+80|0;p=t+32|0;o=t+8|0;n=t;e=t+40|0;f=t+52|0;l=t+36|0;g=t+44|0;r=t+48|0;s=t+56|0;h=t+60|0;m=t+64|0;j=t+68|0;k=t+72|0;q=t+76|0;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[e>>2]|0)+484>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[l>>2]|0)){i=t;return}Ko(c[e>>2]|0);c[(c[e>>2]|0)+512>>2]=0;if((c[(c[l>>2]|0)+52>>2]|0)<1){i=t;return}if(!(a[(c[g>>2]|0)+140+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+496+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+496>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);q=c[g>>2]|0;c[n>>2]=(c[e>>2]|0)+496;c[r>>2]=tf(q,19245,n)|0;c[h>>2]=vf(c[g>>2]|0,c[(c[l>>2]|0)+68>>2]|0)|0;q=c[e>>2]|0;d=(c[h>>2]|0)==1?19269:19288;j=c[c[l>>2]>>2]|0;b=c[c[l>>2]>>2]|0;k=c[r>>2]|0;n=c[(c[e>>2]|0)+384>>2]|0;c[o>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[o+4>>2]=d;c[o+8>>2]=j;c[o+12>>2]=b;c[o+16>>2]=k;c[o+20>>2]=n;Oo(q,19302,o);Nd(c[g>>2]|0,c[r>>2]|0);c[m>>2]=Po(c[e>>2]|0)|0;Qo(c[e>>2]|0,c[h>>2]|0);Ro(c[m>>2]|0,142,0,0)|0;q=c[g>>2]|0;c[p>>2]=c[c[l>>2]>>2];c[s>>2]=tf(q,19390,p)|0;So(c[m>>2]|0,c[h>>2]|0,c[s>>2]|0);q=c[m>>2]|0;r=c[h>>2]|0;s=c[c[l>>2]>>2]|0;To(q,145,r,0,0,s,(Ed(c[c[l>>2]>>2]|0)|0)+1|0)|0;i=t;return}c[k>>2]=c[(c[l>>2]|0)+68>>2];c[q>>2]=c[c[l>>2]>>2];c[j>>2]=ch((c[k>>2]|0)+8|0,c[q>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){a[(c[g>>2]|0)+64>>0]=1;i=t;return}else{c[(c[e>>2]|0)+484>>2]=0;i=t;return}}function Bo(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0;p=i;i=i+32|0;j=p+4|0;k=p+16|0;r=p+8|0;l=p+20|0;q=p+28|0;n=p;o=p+12|0;m=p+24|0;c[j>>2]=b;c[k>>2]=e;c[r>>2]=f;c[l>>2]=g;c[q>>2]=h;un(c[j>>2]|0,c[k>>2]|0,c[r>>2]|0,0,0,1,c[q>>2]|0);c[o>>2]=c[(c[j>>2]|0)+484>>2];if(!(c[o>>2]|0)){i=p;return}c[m>>2]=c[c[j>>2]>>2];c[n>>2]=vf(c[m>>2]|0,c[(c[o>>2]|0)+68>>2]|0)|0;r=(c[o>>2]|0)+44|0;a[r>>0]=d[r>>0]|0|16;c[(c[o>>2]|0)+52>>2]=0;r=c[m>>2]|0;q=c[o>>2]|0;Lo(r,q,Ho(c[m>>2]|0,c[l>>2]|0)|0);Lo(c[m>>2]|0,c[o>>2]|0,0);q=c[m>>2]|0;r=c[o>>2]|0;Lo(q,r,ef(c[m>>2]|0,c[c[o>>2]>>2]|0)|0);c[(c[j>>2]|0)+496+4>>2]=(c[c[l>>2]>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)-(c[c[k>>2]>>2]|0);if(!(c[(c[o>>2]|0)+56>>2]|0)){i=p;return}Mo(c[j>>2]|0,29,c[c[o>>2]>>2]|0,c[c[(c[o>>2]|0)+56>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2]|0)|0;i=p;return}function Co(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ko(c[d>>2]|0);c[(c[d>>2]|0)+512>>2]=0;c[(c[d>>2]|0)+512+4>>2]=0;i=b;return}function Do(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+512;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Eo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;r=i;i=i+48|0;p=r;g=r+8|0;h=r+20|0;s=r+16|0;j=r+24|0;k=r+4|0;l=r+12|0;o=r+28|0;q=r+32|0;m=r+36|0;n=r+40|0;c[g>>2]=a;c[h>>2]=b;c[s>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[q>>2]=Ho(c[c[g>>2]>>2]|0,c[s>>2]|0)|0;a:do if((c[q>>2]|0)!=0&(c[h>>2]|0)!=0){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[h>>2]>>2]|0))break a;if(!($b(c[q>>2]|0,c[(c[h>>2]|0)+8+(c[m>>2]<<4)>>2]|0)|0)){s=c[g>>2]|0;c[p>>2]=c[q>>2];sf(s,19177,p)}c[m>>2]=(c[m>>2]|0)+1}}while(0);if(c[h>>2]|0){c[n>>2]=24+(c[c[h>>2]>>2]<<4);s=c[n>>2]|0;c[o>>2]=hm(c[l>>2]|0,c[h>>2]|0,s,((s|0)<0)<<31>>31)|0}else c[o>>2]=gf(c[l>>2]|0,24,0)|0;if(!(c[o>>2]|0)){$m(c[l>>2]|0,c[j>>2]|0);an(c[l>>2]|0,c[k>>2]|0);Nd(c[l>>2]|0,c[q>>2]|0);c[o>>2]=c[h>>2];s=c[o>>2]|0;i=r;return s|0}else{c[(c[o>>2]|0)+8+(c[c[o>>2]>>2]<<4)+8>>2]=c[k>>2];c[(c[o>>2]|0)+8+(c[c[o>>2]>>2]<<4)+4>>2]=c[j>>2];c[(c[o>>2]|0)+8+(c[c[o>>2]>>2]<<4)>>2]=c[q>>2];c[(c[o>>2]|0)+8+(c[c[o>>2]>>2]<<4)+12>>2]=0;s=c[o>>2]|0;c[s>>2]=(c[s>>2]|0)+1;s=c[o>>2]|0;i=r;return s|0}return 0}function Fo(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[8052+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[8664+(c[h>>2]<<1)>>1]|0}function Go(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];while(1){if((c[c[b>>2]>>2]|0)<0)break;gn(c[b>>2]|0)|0}c[(c[b>>2]|0)+8>>2]=c[d>>2];i=e;return}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Io(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Jo(c[f>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Io(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=DH(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=qf(b,d,C)|0;if(c[l>>2]|0){EH(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Jo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+12|0;e=j+8|0;h=j+16|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}a[h>>0]=a[c[e>>2]>>0]|0;switch(a[h>>0]|0){case 96:case 34:case 39:break;case 91:{a[h>>0]=93;break}default:{c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}}c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function Ko(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+512>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+484>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+512>>2];c[e>>2]=c[(c[b>>2]|0)+512+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+484>>2]|0;a=c[e>>2]|0;Lo(h,b,Io(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function Lo(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,l=0,m=0;l=i;i=i+32|0;e=l+8|0;f=l+16|0;g=l+20|0;j=l+24|0;m=l+4|0;h=l;k=l+12|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=(c[f>>2]|0)+52|0;d=c[b>>2]|0;c[b>>2]=d+1;c[j>>2]=d;c[m>>2]=1+(c[(c[f>>2]|0)+52>>2]|0)<<2;d=c[m>>2]|0;c[h>>2]=hm(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;k=c[h>>2]|0;m=c[f>>2]|0;m=m+56|0;c[m>>2]=k;i=l;return}c[k>>2]=0;while(1){a=c[e>>2]|0;if((c[k>>2]|0)>=(c[j>>2]|0))break;Nd(a,c[(c[(c[f>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}Nd(a,c[g>>2]|0);Nd(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);c[(c[f>>2]|0)+52>>2]=0;k=c[h>>2]|0;m=c[f>>2]|0;m=m+56|0;c[m>>2]=k;i=l;return}function Mo(a,b,e,f,g){a=a|0;b=b|0;e=e|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;r=i;i=i+48|0;q=r;h=r+24|0;j=r+20|0;k=r+8|0;l=r+16|0;m=r+4|0;n=r+12|0;o=r+28|0;p=r+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+140+5>>0]|0|0)==0?(d[(c[j>>2]|0)+451>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+284>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=pb[c[(c[o>>2]|0)+284>>2]&3](c[(c[o>>2]|0)+288>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+492>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;No(c[j>>2]|0)}}else{sf(c[j>>2]|0,19207,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function No(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;sf(c[d>>2]|0,19222,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function Oo(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;n=i;i=i+144|0;h=n+4|0;g=n+12|0;f=n+16|0;m=n+32|0;l=n;j=n+8|0;k=n+40|0;c[h>>2]=b;c[g>>2]=d;c[l>>2]=0;c[j>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+64>>2]|0){i=n;return}c[f>>2]=e;c[m>>2]=fn(c[j>>2]|0,c[g>>2]|0,f)|0;if(!(c[m>>2]|0)){i=n;return}b=(c[h>>2]|0)+18|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=k;f=(c[h>>2]|0)+440|0;g=b+96|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));b=(c[h>>2]|0)+440|0;g=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(g|0));Of(c[h>>2]|0,c[m>>2]|0,l)|0;Nd(c[j>>2]|0,c[l>>2]|0);Nd(c[j>>2]|0,c[m>>2]|0);b=(c[h>>2]|0)+440|0;f=k;g=b+96|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;i=n;return}function Po(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=uf(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)Yo(c[f>>2]|0,153)|0;if((c[(c[d>>2]|0)+408>>2]|0)==0?((e[(c[c[d>>2]>>2]|0)+60>>1]|0)&8|0)==0:0)a[(c[d>>2]|0)+23>>0]=1}i=g;return c[f>>2]|0}function Qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d+16|0;g=d+12|0;e=d+8|0;j=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=Wo(c[f>>2]|0)|0;c[j>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+8>>2];Ro(c[h>>2]|0,25,(c[c[(c[(c[j>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]>>2]|0)+1|0,c[e>>2]|0)|0;Uo(c[h>>2]|0,52,c[g>>2]|0,1,c[e>>2]|0)|0;Xo(c[f>>2]|0,c[e>>2]|0);i=d;return}function Ro(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Uo(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function So(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;g=i;i=i+32|0;e=g+16|0;k=g+12|0;h=g+8|0;f=g+4|0;j=g;c[e>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=Uo(c[e>>2]|0,122,c[k>>2]|0,0,0)|0;Df(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,-1);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;zf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function To(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|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,q=0,r=0;k=i;i=i+32|0;n=k+4|0;r=k+16|0;q=k+8|0;p=k+20|0;o=k+28|0;m=k;l=k+12|0;j=k+24|0;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=Uo(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Df(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function Uo(b,d,e,f,g){b=b|0;d=d|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+8|0;l=q+20|0;m=q+28|0;n=q;o=q+12|0;p=q+24|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+32>>2];if((c[(c[(c[j>>2]|0)+24>>2]|0)+84>>2]|0)<=(c[o>>2]|0)?(Vo(c[j>>2]|0,1)|0)!=0:0){c[h>>2]=1;p=c[h>>2]|0;i=q;return p|0}g=(c[j>>2]|0)+32|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];if(c[(c[f>>2]|0)+84>>2]|0)b=c[(c[f>>2]|0)+84>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=hm(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=((dm(c[c[f>>2]>>2]|0,c[g>>2]|0)|0)>>>0)/20|0;c[(c[f>>2]|0)+84>>2]=e;c[(c[d>>2]|0)+4>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function Wo(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+72|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+24+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function Xo(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+116;while(1){if((c[f>>2]|0)>=10){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+24+((j&255)<<2)>>2]=h;i=k;return}}function Yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Uo(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function Zo(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=vf(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=rf(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function _o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Ed(c[f>>2]|0)|0)>6?0==(Ib(c[f>>2]|0,19570,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];sf(b,19578,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function $o(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+408>>2]|0)f=c[f+408>>2]|0;c[k>>2]=f;ap(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+328|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+332>>2]&1<>2]|0)!=0|0){i=g;return}h=(c[f>>2]|0)+332|0;c[h>>2]=c[h>>2]|1<>2];c[(c[f>>2]|0)+336+(c[d>>2]<<2)>>2]=c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+12>>2]>>2];if((c[d>>2]|0)!=1){i=g;return}bp(c[f>>2]|0)|0;i=g;return}function bp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+450>>0]|0)==0:0){c[h>>2]=nh(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){sf(c[e>>2]|0,19500,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(ig(c[g>>2]|0,c[(c[f>>2]|0)+72>>2]|0,-1,0)|0)){a[(c[f>>2]|0)+64>>0]=1;c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function cp(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,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?($b(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=Zg((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function dp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;g=kp(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return g|0}function ep(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,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;g=m+20|0;l=m+24|0;j=m+4|0;k=m;h=m+12|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=Po(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}c[j>>2]=Wo(c[e>>2]|0)|0;c[k>>2]=Wo(c[e>>2]|0)|0;Uo(c[l>>2]|0,51,c[f>>2]|0,c[j>>2]|0,2)|0;zf(c[l>>2]|0,c[f>>2]|0);Ro(c[l>>2]|0,25,c[g>>2]|0,c[k>>2]|0)|0;c[h>>2]=Uo(c[l>>2]|0,83,c[k>>2]|0,0,c[j>>2]|0)|0;xf(c[l>>2]|0,-112);Uo(c[l>>2]|0,52,c[f>>2]|0,2,c[k>>2]|0)|0;jp(c[l>>2]|0,c[h>>2]|0);Xo(c[e>>2]|0,c[j>>2]|0);Xo(c[e>>2]|0,c[k>>2]|0);i=m;return}function fp(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,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+24|0;f=o+20|0;g=o+8|0;l=o+16|0;n=o+4|0;h=o+12|0;k=o+28|0;j=o+32|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=Po(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=vf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+68>>2]|0)|0;c[k>>2]=gp(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=vf(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;To(c[l>>2]|0,126,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}To(c[l>>2]|0,124,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=tf(d,19932,m)|0;if(!(c[n>>2]|0)){i=o;return}So(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=hp(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}So(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function gp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+8|0;m=l+16|0;f=l+20|0;e=l+24|0;h=l+4|0;g=l;j=l+12|0;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+438>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+68>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+68>>2]|0)?0==($b(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+64>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+64>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function hp(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;m=i;i=i+32|0;j=m;d=m+8|0;e=m+20|0;h=m+16|0;l=m+24|0;g=m+4|0;f=m+12|0;k=m+28|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+68>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=gp(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=ip(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=tf(h,19944,j)|0;Nd(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function ip(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,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=tf(a,19976,j)|0;Nd(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=tf(a,19968,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Bf(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);c[(c[(c[e>>2]|0)+24>>2]|0)+88>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;i=d;return}function kp(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,D=0,E=0;E=i;i=i+64|0;t=E;z=E+8|0;v=E+40|0;n=E+20|0;x=E+56|0;y=E+58|0;A=E+48|0;o=E+32|0;s=E+36|0;w=E+12|0;B=E+28|0;r=E+24|0;u=E+16|0;D=E+44|0;p=E+57|0;q=E+52|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=14425;c[D>>2]=0;if(!(c[n>>2]|0)){c[c[A>>2]>>2]=0;c[z>>2]=0;D=c[z>>2]|0;i=E;return D|0}while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if((l|0)!=158)break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==159)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==38){a[p>>0]=lp(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=kp(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){mp(c[c[A>>2]>>2]|0,a[p>>0]|0,1);np(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==157){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=19990}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==133|(c[s>>2]|0)==132){c[B>>2]=op(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=MH(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;Ye(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=tf(l,19992,t)|0;if(!(c[w>>2]|0)){n=43;break}Qf(c[B>>2]|0,-1,c[w>>2]|0,1,23)}if((c[s>>2]|0)==132|(c[s>>2]|0)==133?(d[y>>0]|0|0)==65:0)np(c[B>>2]|0,67,1);else np(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=am(c[B>>2]|0,d[x>>0]|0)|0;n=42}else n=42}else n=43}else{if((c[s>>2]|0)!=157){if((c[s>>2]|0)==101){c[B>>2]=op(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}else{n=42;break}}if((c[s>>2]|0)!=134){n=42;break}c[B>>2]=op(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Ed(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=qp(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;Xe(y,n,(c[q>>2]|0)/2|0,0,23)|0;n=42;break}w=0==(dp(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){pp(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-16896|8;break}else{v=n;v=AH(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);np(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=42}else n=42}while(0);if((n|0)==42){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==43){a[(c[v>>2]|0)+64>>0]=1;Nd(c[v>>2]|0,c[w>>2]|0);Rf(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function lp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+20|0;g=o+8|0;h=o+4|0;k=o+16|0;j=o+21|0;m=o+12|0;l=o;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;a[j>>0]=67;c[m>>2]=0;if(!(c[g>>2]|0)){a[f>>0]=a[j>>0]|0;n=a[f>>0]|0;i=o;return n|0}a:while(1){if(!(a[c[g>>2]>>0]|0))break;c[k>>2]=(c[k>>2]<<8)+(d[13848+(a[c[g>>2]>>0]&255)>>0]|0);c[g>>2]=(c[g>>2]|0)+1;if((c[k>>2]|0)==1667785074){a[j>>0]=66;c[m>>2]=c[g>>2];continue}if((c[k>>2]|0)==1668050786){a[j>>0]=66;continue}if((c[k>>2]|0)==1952807028){a[j>>0]=66;continue}do if((c[k>>2]|0)==1651273570){if((a[j>>0]|0)!=67?(a[j>>0]|0)!=69:0)break;a[j>>0]=65;if((a[c[g>>2]>>0]|0)!=40)continue a;c[m>>2]=c[g>>2];continue a}while(0);if((c[k>>2]|0)==1919246700?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]|0)==1718382433?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]|0)==1685026146?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]&16777215|0)==6909556){n=25;break}}if((n|0)==25)a[j>>0]=68;b:do if((c[h>>2]|0)!=0?(a[c[h>>2]>>0]=1,(a[j>>0]|0)<67):0){if(!(c[m>>2]|0)){a[c[h>>2]>>0]=5;break}while(1){if(!(a[c[m>>2]>>0]|0))break b;if(d[14426+(d[c[m>>2]>>0]|0)>>0]&4)break;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=0;wg(c[m>>2]|0,l)|0;n=((c[l>>2]|0)/4|0)+1|0;c[l>>2]=n;c[l>>2]=(c[l>>2]|0)>255?255:n;a[c[h>>2]>>0]=c[l>>2]}while(0);a[f>>0]=a[j>>0]|0;n=a[f>>0]|0;i=o;return n|0}function mp(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if(!((e[(c[k>>2]|0)+8>>1]|0)&16)){np(j,66,a[l>>0]|0);b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-16896|16;i=m;return}else{l=j+8|0;b[l>>1]=(e[l>>1]|0)&-496;i=m;return}}case 67:{pp(c[k>>2]|0)|0;i=m;return}case 68:{wp(c[k>>2]|0)|0;i=m;return}case 69:{xp(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;np(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function np(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;tp(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function op(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Pf(c[e>>2]|0)|0;i=d;return b|0}function pp(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(sg(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-16896|4;break}else{k=+Se(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|8;rp(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=g;return 0}function qp(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;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=qf(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((rg(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(rg(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function rp(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=sp(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-16896|4;i=g;return}function sp(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function tp(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+5|0;h=k+4|0;c[j>>2]=b;a[g>>0]=d;a[h>>0]=f;if((a[g>>0]|0)<67){if((a[g>>0]|0)!=66){i=k;return}if(e[(c[j>>2]|0)+8>>1]&2){i=k;return}if(!(e[(c[j>>2]|0)+8>>1]&12)){i=k;return}up(c[j>>2]|0,a[h>>0]|0,1)|0;i=k;return}if(e[(c[j>>2]|0)+8>>1]&4){i=k;return}g=c[j>>2]|0;if(e[(c[j>>2]|0)+8>>1]&8){rp(g);i=k;return}if(!(e[g+8>>1]&2)){i=k;return}pf(c[j>>2]|0,1);i=k;return}function up(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;p=r+8|0;k=r+20|0;l=r+16|0;m=r+32|0;n=r+33|0;o=r+24|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+28>>2]=32;if(vp(c[l>>2]|0,32)|0){c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}g=c[(c[l>>2]|0)+16>>2]|0;j=c[l>>2]|0;if(c[o>>2]&4){f=j;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Yb(32,g,17289,p)|0}else{h[q>>3]=+h[j>>3];Yb(32,g,19997,q)|0}q=Ed(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}am(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function vp(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=fm(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function wp(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=Te(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|4;i=d;return 0}function xp(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+Se(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|8;i=d;return 0}function yp(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+8|0;f=n+16|0;g=n+20|0;k=n+24|0;h=n+4|0;j=n;l=n+12|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?($b(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=Zg((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function zp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+140+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Ib(c[h>>2]|0,19570,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];sf(e,22252,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Ap(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;t=i;i=i+48|0;r=t;h=t+16|0;j=t+28|0;k=t+4|0;q=t+32|0;p=t+36|0;o=t+12|0;n=t+24|0;l=t+20|0;s=t+8|0;m=t+40|0;c[j>>2]=f;c[k>>2]=g;c[o>>2]=0;c[l>>2]=c[c[j>>2]>>2];if(Gp(c[j>>2]|0,c[k>>2]|0)|0){c[h>>2]=1;s=c[h>>2]|0;i=t;return s|0}if(d[(c[k>>2]|0)+44>>0]&16){c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if((b[(c[k>>2]|0)+38>>1]|0)>0){c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if((b[(c[k>>2]|0)+38>>1]|0)<0){s=c[j>>2]|0;c[r>>2]=c[c[k>>2]>>2];sf(s,20709,r);c[h>>2]=1;s=c[h>>2]|0;i=t;return s|0}c[p>>2]=Hp(c[l>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(c[p>>2]|0){a[m>>0]=a[(c[l>>2]|0)+248+2>>0]|0;c[n>>2]=c[(c[j>>2]|0)+68>>2];Ip(c[j>>2]|0,c[(c[p>>2]|0)+32>>2]|0);b[(c[k>>2]|0)+38>>1]=-1;a[(c[l>>2]|0)+248+2>>0]=0;c[s>>2]=c[(c[l>>2]|0)+284>>2];c[(c[l>>2]|0)+284>>2]=0;c[q>>2]=Jp(c[j>>2]|0,c[p>>2]|0)|0;c[(c[l>>2]|0)+284>>2]=c[s>>2];a[(c[l>>2]|0)+248+2>>0]=a[m>>0]|0;c[(c[j>>2]|0)+68>>2]=c[n>>2];if(c[q>>2]|0){b[(c[k>>2]|0)+38>>1]=b[(c[q>>2]|0)+38>>1]|0;c[(c[k>>2]|0)+4>>2]=c[(c[q>>2]|0)+4>>2];b[(c[q>>2]|0)+38>>1]=0;c[(c[q>>2]|0)+4>>2]=0;Ld(c[l>>2]|0,c[q>>2]|0);s=(c[(c[k>>2]|0)+68>>2]|0)+78|0;b[s>>1]=e[s>>1]|2}else{b[(c[k>>2]|0)+38>>1]=0;c[o>>2]=(c[o>>2]|0)+1}an(c[l>>2]|0,c[p>>2]|0)}else c[o>>2]=(c[o>>2]|0)+1;c[h>>2]=c[o>>2];s=c[h>>2]|0;i=t;return s|0}function Bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Cp(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Dp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Fp(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=ip(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Fp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg((c[(c[d>>2]|0)+68>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Gp(a,b){a=a|0;b=b|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;q=i;i=i+48|0;m=q;l=q+8|0;e=q+24|0;f=q+28|0;g=q+16|0;h=q+12|0;o=q+20|0;j=q+32|0;k=q+36|0;p=q+40|0;n=q+44|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+44>>0]|0)&16|0)!=0?(Bp(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[j>>2]=Zg((c[h>>2]|0)+308|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=lr(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];sf(p,14418,m)}Nd(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];sf(o,22142,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function Hp(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;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if(!(c[k>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=qf(c[j>>2]|0,72,0)|0;if(!(c[m>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}f=uq(c[j>>2]|0,c[c[k>>2]>>2]|0,c[l>>2]|0)|0;c[c[m>>2]>>2]=f;f=ir(c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+32>>2]=f;f=mq(c[j>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=f;f=uq(c[j>>2]|0,c[(c[k>>2]|0)+40>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+40>>2]=f;f=mq(c[j>>2]|0,c[(c[k>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=f;f=uq(c[j>>2]|0,c[(c[k>>2]|0)+48>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+48>>2]=f;a[(c[m>>2]|0)+4>>0]=a[(c[k>>2]|0)+4>>0]|0;f=Hp(c[j>>2]|0,c[(c[k>>2]|0)+52>>2]|0,c[l>>2]|0)|0;c[n>>2]=f;c[(c[m>>2]|0)+52>>2]=f;if(c[n>>2]|0)c[(c[n>>2]|0)+56>>2]=c[m>>2];c[(c[m>>2]|0)+56>>2]=0;g=mq(c[j>>2]|0,c[(c[k>>2]|0)+60>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+60>>2]=g;g=mq(c[j>>2]|0,c[(c[k>>2]|0)+64>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+64>>2]=g;c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;b[(c[m>>2]|0)+6>>1]=(e[(c[k>>2]|0)+6>>1]|0)&-9;c[(c[m>>2]|0)+16>>2]=-1;c[(c[m>>2]|0)+16+4>>2]=-1;g=(c[k>>2]|0)+24|0;f=c[g+4>>2]|0;n=(c[m>>2]|0)+24|0;c[n>>2]=c[g>>2];c[n+4>>2]=f;n=jr(c[j>>2]|0,c[(c[k>>2]|0)+68>>2]|0)|0;c[(c[m>>2]|0)+68>>2]=n;c[h>>2]=c[m>>2];n=c[h>>2]|0;i=o;return n|0}function Ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+40>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+40>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)Ip(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+32>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function Jp(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-33;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Kp(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+64>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+52>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+52>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=gf(c[j>>2]|0,76,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+40>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+28>>1]=200;Lp(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+38|0,(c[k>>2]|0)+4|0)|0;Mp(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+36>>1]=-1;if(a[(c[j>>2]|0)+64>>0]|0){Ld(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function Kp(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(!(c[j>>2]|0)){i=m;return}c[l>>2]=c[c[h>>2]>>2];if(a[(c[l>>2]|0)+64>>0]|0){i=m;return}if(e[(c[j>>2]|0)+6>>1]&32){i=m;return}Wp(c[h>>2]|0,c[j>>2]|0);if(c[(c[h>>2]|0)+64>>2]|0){i=m;return}if(d[(c[l>>2]|0)+64>>0]|0){i=m;return}Xp(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);if(c[(c[h>>2]|0)+64>>2]|0){i=m;return}if(d[(c[l>>2]|0)+64>>0]|0){i=m;return}Yp(c[h>>2]|0,c[j>>2]|0);i=m;return}function Lp(e,f,g,h){e=e|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,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;H=i;i=i+112|0;w=H;v=H+8|0;u=H+24|0;t=H+16|0;A=H+32|0;I=H+44|0;j=H+36|0;B=H+72|0;C=H+52|0;E=H+40|0;F=H+48|0;G=H+28|0;k=H+56|0;D=H+60|0;q=H+64|0;n=H+68|0;p=H+76|0;x=H+80|0;o=H+84|0;r=H+88|0;s=H+92|0;l=H+96|0;y=H+100|0;m=H+104|0;c[I>>2]=e;c[j>>2]=f;c[B>>2]=g;c[C>>2]=h;c[E>>2]=c[c[I>>2]>>2];if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[D>>2]=gf(c[E>>2]|0,(c[n>>2]|0)*24|0,0)|0}else{c[n>>2]=0;c[D>>2]=0}b[c[B>>2]>>1]=c[n>>2];c[c[C>>2]>>2]=c[D>>2];c[F>>2]=0;c[q>>2]=c[D>>2];while(1){if((c[F>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=Vp(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)>>2]|0)|0;I=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)+4>>2]|0;c[x>>2]=I;do if(!I){c[r>>2]=c[p>>2];while(1){e=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[e+16>>2]}if((d[e>>0]|0)==154?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[l>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[l>>2]|0)<0)c[l>>2]=b[(c[s>>2]|0)+36>>1];e=c[E>>2]|0;if((c[l>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2]|0;else f=18143;c[t>>2]=f;c[x>>2]=tf(e,14418,t)|0;break}e=c[E>>2]|0;if((d[c[r>>2]>>0]|0)==27){c[u>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=tf(e,14418,u)|0;break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)+8>>2];c[x>>2]=tf(e,14418,v)|0;break}}else c[x>>2]=ef(c[E>>2]|0,c[x>>2]|0)|0;while(0);if(a[(c[E>>2]|0)+64>>0]|0){z=22;break}c[o>>2]=Ed(c[x>>2]|0)|0;c[k>>2]=0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[F>>2]|0))break;if(!($b(c[(c[D>>2]|0)+((c[G>>2]|0)*24|0)>>2]|0,c[x>>2]|0)|0)){c[m>>2]=(c[o>>2]|0)-1;while(1){if((c[m>>2]|0)<=1)break;if(!(d[14426+(d[(c[x>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&4))break;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>=0?(a[(c[x>>2]|0)+(c[m>>2]|0)>>0]|0)==58:0)c[o>>2]=c[m>>2];a[(c[x>>2]|0)+(c[o>>2]|0)>>0]=0;I=c[E>>2]|0;h=c[x>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[w>>2]=h;c[w+4>>2]=g;c[y>>2]=tf(I,20781,w)|0;Nd(c[E>>2]|0,c[x>>2]|0);c[x>>2]=c[y>>2];c[G>>2]=-1;if(!(c[x>>2]|0))break}c[G>>2]=(c[G>>2]|0)+1}c[c[q>>2]>>2]=c[x>>2];c[F>>2]=(c[F>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+24}if((z|0)==22)Nd(c[E>>2]|0,c[x>>2]|0);if(!(a[(c[E>>2]|0)+64>>0]|0)){c[A>>2]=0;I=c[A>>2]|0;i=H;return I|0}c[G>>2]=0;while(1){e=c[E>>2]|0;if((c[G>>2]|0)>=(c[F>>2]|0))break;Nd(e,c[(c[D>>2]|0)+((c[G>>2]|0)*24|0)>>2]|0);c[G>>2]=(c[G>>2]|0)+1}Nd(e,c[D>>2]|0);c[c[C>>2]>>2]=0;b[c[B>>2]>>1]=0;c[A>>2]=7;I=c[A>>2]|0;i=H;return I|0}function Mp(e,f,g){e=e|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;t=i;i=i+80|0;h=t+8|0;j=t+12|0;k=t+24|0;m=t+20|0;r=t+32|0;p=t+76|0;q=t+16|0;n=t+64|0;o=t+68|0;l=t+72|0;s=t;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=s;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+64>>0]|0){i=t;return};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r+4>>2]=c[(c[k>>2]|0)+32>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[p>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;c[o>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];g=c[m>>2]|0;g=ef(g,Np(r,c[o>>2]|0,(c[p>>2]|0)+22|0)|0)|0;c[(c[p>>2]|0)+12>>2]=g;g=s;g=DH(c[g>>2]|0,c[g+4>>2]|0,d[(c[p>>2]|0)+22>>0]|0,0)|0;f=s;c[f>>2]=g;c[f+4>>2]=C;f=Op(c[o>>2]|0)|0;a[(c[p>>2]|0)+21>>0]=f;if(!(a[(c[p>>2]|0)+21>>0]|0))a[(c[p>>2]|0)+21>>0]=65;c[q>>2]=Pp(c[h>>2]|0,c[o>>2]|0)|0;if(c[q>>2]|0){f=ef(c[m>>2]|0,c[c[q>>2]>>2]|0)|0;c[(c[p>>2]|0)+16>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+24}s=MH(c[s>>2]|0,c[s+4>>2]|0,4,0)|0;s=Qp(s,C)|0;b[(c[j>>2]|0)+42>>1]=s;i=t;return}function Np(e,f,g){e=e|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;y=i;i=i+128|0;h=y+4|0;j=y+48|0;k=y+100|0;l=y+92|0;x=y+88|0;o=y+96|0;m=y+116|0;t=y+108|0;r=y+112|0;n=y+52|0;u=y+12|0;v=y+56|0;p=y;w=y+16|0;s=y+8|0;q=y+104|0;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[x>>2]=0;a[m>>0]=1;if((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]|0)!=0:0){a:do switch(d[c[k>>2]>>0]|0){case 154:case 156:{c[t>>2]=0;c[r>>2]=0;c[n>>2]=b[(c[k>>2]|0)+32>>1];while(1){if(!(c[j>>2]|0))break;if(!((c[t>>2]|0)!=0^1))break;c[u>>2]=c[(c[j>>2]|0)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[u>>2]>>2]|0))break;if((c[(c[u>>2]|0)+8+((c[o>>2]|0)*72|0)+40>>2]|0)==(c[(c[k>>2]|0)+28>>2]|0))break;c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)<(c[c[u>>2]>>2]|0)){c[t>>2]=c[(c[u>>2]|0)+8+((c[o>>2]|0)*72|0)+16>>2];c[r>>2]=c[(c[u>>2]|0)+8+((c[o>>2]|0)*72|0)+20>>2];continue}else{c[j>>2]=c[(c[j>>2]|0)+16>>2];continue}}if(c[t>>2]|0){if(c[r>>2]|0){if((c[n>>2]|0)<0)break a;if((c[n>>2]|0)>=(c[c[c[r>>2]>>2]>>2]|0))break a;c[p>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];c[v+4>>2]=c[(c[r>>2]|0)+32>>2];c[v+16>>2]=c[j>>2];c[v>>2]=c[c[j>>2]>>2];c[x>>2]=Np(v,c[p>>2]|0,m)|0;break a}if(c[(c[t>>2]|0)+68>>2]|0){if((c[n>>2]|0)<0)c[n>>2]=b[(c[t>>2]|0)+36>>1];if((c[n>>2]|0)<0){c[x>>2]=20773;break a}else{c[x>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)+12>>2];a[m>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)+22>>0]|0;break a}}}break}case 119:{c[s>>2]=c[(c[k>>2]|0)+20>>2];c[q>>2]=c[c[(c[c[s>>2]>>2]|0)+4>>2]>>2];c[w+4>>2]=c[(c[s>>2]|0)+32>>2];c[w+16>>2]=c[j>>2];c[w>>2]=c[c[j>>2]>>2];c[x>>2]=Np(w,c[q>>2]|0,m)|0;break}default:{}}while(0);if(c[l>>2]|0)a[c[l>>2]>>0]=a[m>>0]|0;c[h>>2]=c[x>>2];x=c[h>>2]|0;i=y;return x|0}c[h>>2]=0;x=c[h>>2]|0;i=y;return x|0}function Op(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[g>>2]=e;c[g>>2]=Vp(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;e=a[f>>0]|0;i=k;return e|0}c[j>>2]=d[c[g>>2]>>0];if((c[j>>2]|0)==119){a[f>>0]=Op(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==38){a[f>>0]=lp(c[(c[g>>2]|0)+8>>2]|0,0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==156|(c[j>>2]|0)==154|(c[j>>2]|0)==159?(c[(c[g>>2]|0)+44>>2]|0)!=0:0){c[h>>2]=b[(c[g>>2]|0)+32>>1];if((c[h>>2]|0)<0){a[f>>0]=68;e=a[f>>0]|0;i=k;return e|0}else{a[f>>0]=a[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+21>>0]|0;e=a[f>>0]|0;i=k;return e|0}}a[f>>0]=a[(c[g>>2]|0)+1>>0]|0;e=a[f>>0]|0;i=k;return e|0}function Pp(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;p=i;i=i+32|0;g=p+4|0;q=p+16|0;h=p+8|0;m=p+20|0;l=p+28|0;k=p;j=p+12|0;n=p+24|0;c[g>>2]=e;c[q>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[m>>2]=0;c[l>>2]=c[q>>2];while(1){if(!(c[l>>2]|0))break;c[k>>2]=d[c[l>>2]>>0];if(c[(c[l>>2]|0)+4>>2]&512)break;if((c[k>>2]|0)==38|(c[k>>2]|0)==158){c[l>>2]=c[(c[l>>2]|0)+12>>2];continue}if((c[k>>2]|0)==95){o=9;break}if((c[k>>2]|0)==159?(d[(c[l>>2]|0)+38>>0]|0)==95:0){o=9;break}if((c[(c[l>>2]|0)+44>>2]|0)!=0?(c[k>>2]|0)==156|(c[k>>2]|0)==154|(c[k>>2]|0)==159|(c[k>>2]|0)==62:0){o=12;break}if(!(c[(c[l>>2]|0)+4>>2]&256))break;if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[l>>2]=c[(c[l>>2]|0)+12>>2];continue}c[l>>2]=c[(c[l>>2]|0)+16>>2]}if((o|0)==9)c[m>>2]=Rp(c[g>>2]|0,a[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,0,c[(c[l>>2]|0)+8>>2]|0)|0;else if((o|0)==12?(c[j>>2]=b[(c[l>>2]|0)+32>>1],(c[j>>2]|0)>=0):0){c[n>>2]=c[(c[(c[(c[l>>2]|0)+44>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0)+16>>2];c[m>>2]=Xg(c[h>>2]|0,a[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[n>>2]|0,0)|0}if(!(Sp(c[g>>2]|0,c[m>>2]|0)|0)){q=c[m>>2]|0;i=p;return q|0}c[m>>2]=0;q=c[m>>2]|0;i=p;return q|0}function Qp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=CH(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=GH(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=GH(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[11658+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Rp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+12|0;j=o+24|0;p=o+20|0;k=o+4|0;m=o+16|0;l=o+8|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Xg(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){Tp(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Xg(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(Up(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];sf(p,20739,n);p=c[m>>2]|0;i=o;return p|0}function Sp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=Rp(c[f>>2]|0,a[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Tp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+220>>2]|0){c[l>>2]=ef(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){xb[c[(c[g>>2]|0)+220>>2]&3](c[(c[g>>2]|0)+228>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Nd(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+224>>2]|0)){i=n;return}c[k>>2]=Pf(c[g>>2]|0)|0;Qf(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Qe(c[k>>2]|0,((a[920]|0)==0?3:2)&255)|0;if(c[m>>2]|0)xb[c[(c[g>>2]|0)+224>>2]&3](c[(c[g>>2]|0)+228>>2]|0,c[g>>2]|0,d[(c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[m>>2]|0);Rf(c[k>>2]|0);i=n;return}function Up(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Xg(c[e>>2]|0,a[20770+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function Vp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function Wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+28|0;e=g+24|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=41;c[f+12>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+4>>2]=42;$p(f,c[e>>2]|0)|0}c[f+4>>2]=43;c[f+8>>2]=3;$p(f,c[e>>2]|0)|0;i=g;return}function Xp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+32|0;f=e+28|0;h=e+24|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=44;c[g+4>>2]=45;c[g+12>>2]=c[j>>2];c[g+20>>2]=c[h>>2];$p(g,c[f>>2]|0)|0;i=e;return}function Yp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;e=d+24|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+8>>2]=4;c[f>>2]=41;c[f+12>>2]=c[g>>2];$p(f,c[e>>2]|0)|0;i=d;return}function Zp(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+4|0;h=p+16|0;l=p+8|0;j=p+20|0;o=p+28|0;k=p;n=p+12|0;m=p+24|0;c[g>>2]=a;c[h>>2]=f;if((e[(c[h>>2]|0)+6>>1]|0)&32){i=p;return}a=(c[h>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|32;c[l>>2]=c[(c[g>>2]|0)+12>>2];c[o>>2]=c[(c[h>>2]|0)+32>>2];c[j>>2]=0;c[k>>2]=(c[o>>2]|0)+8;while(1){if((c[j>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[n>>2]=c[(c[k>>2]|0)+16>>2];if(((c[n>>2]|0)!=0?((d[(c[n>>2]|0)+44>>0]|0)&2|0)!=0:0)?(c[m>>2]=c[(c[k>>2]|0)+20>>2],(c[m>>2]|0)!=0):0){while(1){if(!(c[(c[m>>2]|0)+52>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+52>>2]}Mp(c[l>>2]|0,c[n>>2]|0,c[m>>2]|0)}c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+72}i=p;return}function _p(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+4>>2]|0)==0?(c[(c[f>>2]|0)+8>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+4>>2]|0)!=0?(c[g>>2]=vb[c[(c[f>>2]|0)+4>>2]&63](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(aq(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(bq(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+8>>2]|0)ob[c[(c[f>>2]|0)+8>>2]&7](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+52>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function aq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(cq(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(dq(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(cq(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(dq(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(cq(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0)|0){c[d>>2]=2;break}if(dq(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}if(dq(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[k>>2]=b;c[h>>2]=c[(c[k>>2]|0)+32>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if($p(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)break;c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}c[d>>2]=2;k=c[d>>2]|0;i=j;return k|0}while(0);c[d>>2]=0;k=c[d>>2]|0;i=j;return k|0}function cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(dq(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function dq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;a:do if(!(c[f>>2]|0))c[e>>2]=0;else{c[g>>2]=vb[c[c[d>>2]>>2]&63](c[d>>2]|0,c[f>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&16384|0)==0:0){if(dq(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0){c[e>>2]=2;break a}if(dq(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){c[e>>2]=2;break a}b=c[d>>2]|0;d=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(!($p(b,c[d>>2]|0)|0))break;c[e>>2]=2;break a}else{if(!(cq(b,c[d>>2]|0)|0))break;c[e>>2]=2;break a}}while(0);c[e>>2]=c[g>>2]&2}while(0);i=h;return c[e>>2]|0}function eq(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;J=i;i=i+128|0;C=J+16|0;E=J+8|0;D=J+32|0;B=J;A=J+24|0;I=J+48|0;n=J+40|0;o=J+84|0;x=J+60|0;z=J+56|0;k=J+52|0;m=J+44|0;l=J+112|0;j=J+68|0;w=J+72|0;s=J+80|0;u=J+76|0;F=J+88|0;r=J+92|0;p=J+96|0;t=J+100|0;G=J+104|0;v=J+108|0;q=J+120|0;y=J+64|0;h=J+116|0;c[n>>2]=f;c[o>>2]=g;c[x>>2]=c[(c[n>>2]|0)+20>>2];c[z>>2]=c[c[x>>2]>>2];if(c[(c[o>>2]|0)+4>>2]&4){c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[o>>2]>>0]|0){case 27:{c[I>>2]=Cq(c[z>>2]|0,0,0,c[(c[o>>2]|0)+8>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 122:{c[j>>2]=c[(c[o>>2]|0)+16>>2];if((d[c[j>>2]>>0]|0)==27){c[l>>2]=0;c[m>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2]}else{c[l>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2]}c[I>>2]=Cq(c[z>>2]|0,c[l>>2]|0,c[m>>2]|0,c[k>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 153:{c[w>>2]=c[(c[o>>2]|0)+20>>2];if(c[w>>2]|0)h=c[c[w>>2]>>2]|0;else h=0;c[s>>2]=h;c[u>>2]=0;c[F>>2]=0;c[r>>2]=0;a[q>>0]=a[(c[(c[(c[c[z>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;Dq(c[z>>2]|0,c[x>>2]|0,21132);c[G>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=Ed(c[G>>2]|0)|0;c[v>>2]=Zf(c[c[z>>2]>>2]|0,c[G>>2]|0,c[t>>2]|0,c[s>>2]|0,a[q>>0]|0,0)|0;do if(!(c[v>>2]|0)){c[v>>2]=Zf(c[c[z>>2]>>2]|0,c[G>>2]|0,c[t>>2]|0,-2,a[q>>0]|0,0)|0;if(!(c[v>>2]|0)){c[u>>2]=1;break}else{c[F>>2]=1;break}}else{c[r>>2]=(c[(c[v>>2]|0)+12>>2]|0)==0&1;do if(e[(c[v>>2]|0)+2>>1]&1024){q=(c[o>>2]|0)+4|0;c[q>>2]=c[q>>2]|266240;if((c[s>>2]|0)!=2){c[(c[o>>2]|0)+28>>2]=(a[c[(c[v>>2]|0)+24>>2]>>0]|0)==117?62:938;break}s=Eq(c[(c[(c[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=s;if((c[(c[o>>2]|0)+28>>2]|0)<0){sf(c[z>>2]|0,21142,A);A=(c[x>>2]|0)+24|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[p>>2]=Mo(c[z>>2]|0,31,0,c[(c[v>>2]|0)+24>>2]|0,0)|0;if(!(c[p>>2]|0)){if(!(e[(c[v>>2]|0)+2>>1]&2048))break;B=(c[o>>2]|0)+4|0;c[B>>2]=c[B>>2]|524288;break}if((c[p>>2]|0)==1){H=c[z>>2]|0;c[B>>2]=c[(c[v>>2]|0)+24>>2];sf(H,21213,B);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}a[c[o>>2]>>0]=101;c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}while(0);if((c[r>>2]|0)!=0?(e[(c[x>>2]|0)+28>>1]&1|0)==0:0){F=c[z>>2]|0;G=c[G>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=G;sf(F,21248,D);G=(c[x>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[r>>2]=0}else H=29;do if((H|0)==29){if((c[u>>2]|0)!=0?(d[(c[c[z>>2]>>2]|0)+140+5>>0]|0)==0:0){H=c[z>>2]|0;G=c[G>>2]|0;c[E>>2]=c[t>>2];c[E+4>>2]=G;sf(H,21284,E);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1;break}if(c[F>>2]|0){H=c[z>>2]|0;G=c[G>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=G;sf(H,21307,C);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[r>>2]|0){H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]&-2}cq(c[n>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[y>>2]=c[x>>2];a[c[o>>2]>>0]=-101;a[(c[o>>2]|0)+38>>0]=0;while(1){if(!(c[y>>2]|0))break;if(!((Fq(c[o>>2]|0,c[(c[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(c[o>>2]|0)+38|0;a[H>>0]=(a[H>>0]|0)+1<<24>>24;c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[y>>2]|0){H=(c[y>>2]|0)+28|0;b[H>>1]=e[H>>1]|(2|e[(c[v>>2]|0)+2>>1]&4096)}H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|1}c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}case 75:case 20:case 119:{if((c[(c[o>>2]|0)+4>>2]&2048|0)!=0?(c[h>>2]=c[(c[x>>2]|0)+20>>2],Gq(c[z>>2]|0,c[x>>2]|0,21352),Dq(c[z>>2]|0,c[x>>2]|0,21352),$p(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0,(c[h>>2]|0)!=(c[(c[x>>2]|0)+20>>2]|0)):0){H=(c[o>>2]|0)+4|0;c[H>>2]=c[H>>2]|32}break}case 135:{Gq(c[z>>2]|0,c[x>>2]|0,21363);Dq(c[z>>2]|0,c[x>>2]|0,21363);break}default:{}}if(c[(c[z>>2]|0)+64>>2]|0)h=1;else h=(d[(c[c[z>>2]>>2]|0)+64>>0]|0)!=0;c[I>>2]=h?2:0;I=c[I>>2]|0;i=J;return I|0}function fq(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;D=i;i=i+128|0;B=D+8|0;A=D;C=D+16|0;h=D+80|0;j=D+20|0;t=D+12|0;v=D+24|0;x=D+60|0;m=D+56|0;z=D+64|0;o=D+68|0;l=D+72|0;p=D+76|0;y=D+84|0;k=D+88|0;q=D+92|0;s=D+96|0;n=D+100|0;w=D+104|0;u=D+108|0;r=D+112|0;c[h>>2]=f;c[j>>2]=g;if(e[(c[j>>2]|0)+6>>1]&2){c[C>>2]=1;C=c[C>>2]|0;i=D;return C|0}c[t>>2]=c[(c[h>>2]|0)+20>>2];c[z>>2]=c[(c[h>>2]|0)+12>>2];c[k>>2]=c[c[z>>2]>>2];if(!(e[(c[j>>2]|0)+6>>1]&16)){Kp(c[z>>2]|0,c[j>>2]|0,c[t>>2]|0);if(c[(c[z>>2]|0)+64>>2]|0)h=1;else h=(d[(c[k>>2]|0)+64>>0]|0)!=0;c[C>>2]=h?2:1;C=c[C>>2]|0;i=D;return C|0}c[x>>2]=(c[(c[j>>2]|0)+52>>2]|0)!=0&1;c[m>>2]=0;c[y>>2]=c[j>>2];a:while(1){if(!(c[j>>2]|0)){h=58;break}f=(c[j>>2]|0)+6|0;b[f>>1]=e[f>>1]|2;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[z>>2];if(gq(v,c[(c[j>>2]|0)+60>>2]|0)|0){h=11;break}if(gq(v,c[(c[j>>2]|0)+64>>2]|0)|0){h=11;break}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[(c[j>>2]|0)+32>>2]>>2]|0))break;c[q>>2]=(c[(c[j>>2]|0)+32>>2]|0)+8+((c[l>>2]|0)*72|0);if(c[(c[q>>2]|0)+20>>2]|0){c[n>>2]=0;c[w>>2]=c[(c[z>>2]|0)+492>>2];c[s>>2]=c[t>>2];while(1){if(!(c[s>>2]|0))break;c[n>>2]=(c[n>>2]|0)+(c[(c[s>>2]|0)+20>>2]|0);c[s>>2]=c[(c[s>>2]|0)+16>>2]}if(c[(c[q>>2]|0)+8>>2]|0)c[(c[z>>2]|0)+492>>2]=c[(c[q>>2]|0)+8>>2];Xp(c[z>>2]|0,c[(c[q>>2]|0)+20>>2]|0,c[t>>2]|0);c[(c[z>>2]|0)+492>>2]=c[w>>2];if(c[(c[z>>2]|0)+64>>2]|0){h=22;break a}if(d[(c[k>>2]|0)+64>>0]|0){h=22;break a}c[s>>2]=c[t>>2];while(1){if(!(c[s>>2]|0))break;c[n>>2]=(c[n>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0);c[s>>2]=c[(c[s>>2]|0)+16>>2]}f=(c[q>>2]|0)+37|0;a[f>>0]=a[f>>0]&-3|((c[n>>2]|0)!=0&1)<<1&255}c[l>>2]=(c[l>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[j>>2]|0)+32>>2];c[v+16>>2]=c[t>>2];c[o>>2]=c[c[j>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[u>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2];if(gq(v,c[u>>2]|0)|0){h=31;break a}c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=c[(c[j>>2]|0)+40>>2];if((c[p>>2]|0)==0?(e[v+28>>1]&2|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[j>>2]|0)+6|0;b[f>>1]=e[f>>1]|(4|e[v+28>>1]&4096)}if(!((c[p>>2]|0)!=0?1:(c[(c[j>>2]|0)+44>>2]|0)==0)){h=38;break}c[v+8>>2]=c[c[j>>2]>>2];if(gq(v,c[(c[j>>2]|0)+44>>2]|0)|0){h=40;break}if(gq(v,c[(c[j>>2]|0)+36>>2]|0)|0){h=42;break}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if((c[x>>2]|0)==0?(hq(v,c[j>>2]|0,c[(c[j>>2]|0)+48>>2]|0,20831)|0)!=0:0){h=45;break}if(a[(c[k>>2]|0)+64>>0]|0){h=47;break}b:do if(c[p>>2]|0){if(hq(v,c[j>>2]|0,c[p>>2]|0,20837)|0){h=51;break a}if(d[(c[k>>2]|0)+64>>0]|0){h=51;break a}c[l>>2]=0;c[r>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[l>>2]|0)>=(c[c[p>>2]>>2]|0))break b;if(c[(c[c[r>>2]>>2]|0)+4>>2]&2){h=55;break a}c[l>>2]=(c[l>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}}while(0);c[j>>2]=c[(c[j>>2]|0)+52>>2];c[m>>2]=(c[m>>2]|0)+1}switch(h|0){case 11:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 22:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 31:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 38:{sf(c[z>>2]|0,20787,A);c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 40:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 42:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 45:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 47:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 51:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 55:{sf(c[z>>2]|0,20843,B);c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 58:{if((c[x>>2]|0)!=0?(iq(c[z>>2]|0,c[y>>2]|0)|0)!=0:0){c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}c[C>>2]=1;C=c[C>>2]|0;i=D;return C|0}}return 0} +function Xj(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,l=0,m=0;m=i;i=i+32|0;j=m+8|0;e=m+16|0;f=m+20|0;l=m+24|0;g=m+4|0;h=m;k=m+12|0;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+40>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+96>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+96>>2]|0))break;Wg(c[(c[(c[j>>2]|0)+92>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+96>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((Fj(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+64>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+92>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=sk(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+68>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(zj(c[(c[j>>2]|0)+68>>2]|0)|0)c[l>>2]=Aj(c[(c[j>>2]|0)+68>>2]|0,0,0)|0;c[(c[j>>2]|0)+52>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Yj(b,e){b=b|0;e=e|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;t=i;i=i+64|0;r=t+8|0;m=t+16|0;n=t+32|0;j=t+20|0;k=t;g=t+24|0;l=t+28|0;f=t+36|0;p=t+40|0;q=t+44|0;s=t+48|0;h=t+52|0;o=t+56|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Cg(c[(c[m>>2]|0)+64>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+200>>2];c[p>>2]=Zj(c[(c[m>>2]|0)+64>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=_j(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+72|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=$j(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=AH(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+148>>2]|0,0)|0;j=(c[(c[m>>2]|0)+152>>2]|0)+8|0;j=KH(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+80|0,b=DH(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+148>>2]|0,0)|0,j=(c[m>>2]|0)+72|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+72|0;b=AH(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+152>>2]|0)+8|0;j=KH(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+72|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+148>>2]|0):0){c[p>>2]=Hj(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+24>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Eg(c[m>>2]|0);c[h>>2]=0}c[p>>2]=ak(c[m>>2]|0,(c[m>>2]|0)+72|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+72|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+18>>0]=a[(c[m>>2]|0)+12>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+200>>2];c[p>>2]=Zj(c[(c[m>>2]|0)+64>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+16>>0]|0)<4?(d[(c[m>>2]|0)+16>>0]|0)!=0:0)break;c[p>>2]=Ce(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=xj(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=bk(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;ck(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+172>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Zb(539,17393,r);s=c[m>>2]|0;ck(s);s=c[p>>2]|0;i=t;return s|0}function Zj(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,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+16|0;h=q+12|0;j=q+24|0;n=q+32|0;m=q+8|0;o=q;l=q+28|0;p=q+20|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Cg(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=AH(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=ik(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=AH(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=ik(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=AH(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=hk(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?($G(k,17420,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=AH(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=AH(d|0,C|0,c[m>>2]|0,0)|0,d=hk(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function _j(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=tb[c[(c[k>>2]|0)+32>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function $j(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;s=i;i=i+64|0;h=s+16|0;j=s+32|0;k=s+20|0;t=s+8|0;l=s+40|0;m=s+44|0;r=s+24|0;n=s+48|0;o=s;p=s+28|0;q=s+36|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=rk(c[j>>2]|0)|0;f=(c[j>>2]|0)+72|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+72|0;f=DH(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+148>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+72|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+80|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=hk(c[(c[j>>2]|0)+64>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if($G(n,17420,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+64>>2]|0;t=o;t=DH(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=ik(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+64>>2]|0,t=o,t=DH(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=ik(a,t,C,(c[j>>2]|0)+48|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+64>>2]|0,t=o,t=DH(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=ik(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+72|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+64>>2]|0;t=o;t=DH(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=ik(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+64>>2]|0,t=o,t=DH(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=ik(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+152>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Ag(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+148>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+72|0;a=t;a=DH(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+148>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function ak(f,g,h,j,k){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;B=i;i=i+64|0;y=B+56|0;o=B+36|0;p=B+12|0;l=B+16|0;q=B+28|0;r=B+20|0;A=B+24|0;z=B+60|0;v=B+32|0;m=B+40|0;s=B+44|0;n=B+48|0;t=B+52|0;u=B;x=B+8|0;c[o>>2]=f;c[p>>2]=g;c[l>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[o>>2]|0)+200>>2];j=c[o>>2]|0;if(c[q>>2]|0)j=c[j+64>>2]|0;else j=c[j+68>>2]|0;c[n>>2]=j;f=c[p>>2]|0;c[A>>2]=ik(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[n>>2]|0;j=c[s>>2]|0;g=c[(c[o>>2]|0)+152>>2]|0;f=c[p>>2]|0;f=DH(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=hk(k,j,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[o>>2]|0)+152>>2]|0)+4+(c[q>>2]<<2)|0;f=c[p>>2]|0;j=f;g=DH(c[j>>2]|0,c[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[229]|0)/(c[(c[o>>2]|0)+152>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[o>>2]|0)+24>>2]|0)>>>0?(Ug(c[l>>2]|0,c[v>>2]|0)|0)==0:0){if(c[q>>2]|0){f=c[n>>2]|0;n=c[p>>2]|0;n=AH(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[A>>2]=ik(f,n,C,m)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[r>>2]|0)==0?(n=jk(c[o>>2]|0,c[s>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[l>>2]|0)!=0?(n=Sg(c[l>>2]|0,c[v>>2]|0)|0,c[A>>2]=n,(n|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[o>>2]|0)+142>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[o>>2]|0)+142>>1]=d[(c[s>>2]|0)+20>>0]|0;if(Fj(c[o>>2]|0)|0)c[z>>2]=0;else c[z>>2]=kk(c[o>>2]|0,c[v>>2]|0)|0;if(c[q>>2]|0){if(d[(c[o>>2]|0)+7>>0]|0)j=1;else{n=c[p>>2]|0;l=c[n+4>>2]|0;j=(c[o>>2]|0)+80|0;m=c[j+4>>2]|0;j=(l|0)<(m|0)|((l|0)==(m|0)?(c[n>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&4|0);c[t>>2]=j&1}do if(c[c[(c[o>>2]|0)+60>>2]>>2]|0){if((d[(c[o>>2]|0)+16>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[o>>2]|0)+16>>0]|0)==0:0)){w=44;break}n=c[(c[o>>2]|0)+152>>2]|0;n=MH((c[v>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=n;c[t+4>>2]=C;c[A>>2]=Ae(c[(c[o>>2]|0)+60>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+152>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[o>>2]|0)+32>>2]|0)>>>0)c[(c[o>>2]|0)+32>>2]=c[v>>2];if(c[(c[o>>2]|0)+88>>2]|0){lk(c[(c[o>>2]|0)+88>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[q>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[o>>2]|0)+20|0;a[w>>0]=d[w>>0]|2;c[A>>2]=ne(c[o>>2]|0,c[v>>2]|0,z,1)|0;w=(c[o>>2]|0)+20|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){w=(c[z>>2]|0)+24|0;b[w>>1]=e[w>>1]&-9;mk(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];EH(c[x>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+152>>2]|0)|0;nb[c[(c[o>>2]|0)+196>>2]&31](c[z>>2]|0);do if(c[q>>2]|0){if((c[r>>2]|0)!=0?(u=c[p>>2]|0,s=c[u+4>>2]|0,w=(c[o>>2]|0)+80|0,t=c[w+4>>2]|0,!((s|0)<(t|0)|((s|0)==(t|0)?(c[u>>2]|0)>>>0<=(c[w>>2]|0)>>>0:0))):0)break;Ng(c[z>>2]|0)}while(0);if((c[v>>2]|0)==1){j=(c[o>>2]|0)+100|0;h=(c[x>>2]|0)+24|0;k=j+16|0;do{a[j>>0]=a[h>>0]|0;j=j+1|0;h=h+1|0}while((j|0)<(k|0))}nk(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function bk(b,d){b=b|0;d=d|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;s=i;i=i+64|0;t=s+40|0;e=s+48|0;n=s+20|0;o=s+24|0;m=s+16|0;l=s+44|0;q=s+52|0;j=s;p=s+32|0;r=s+12|0;k=s+8|0;g=s+28|0;f=s+56|0;h=s+60|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=de(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+36>>2]=16385;c[o>>2]=gk(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Cg(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=DH(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=DH(t|0,C|0,1,0)|0;c[q>>2]=Wd(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=DH(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=hk(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=_j(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=gk(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Zj(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;uj(c[l>>2]|0)|0;if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(aH(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Ed(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}uj(c[m>>2]|0)|0;c[o>>2]=Dj(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Sb(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}uj(c[m>>2]|0)|0;Sb(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function ck(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+12>>0]|0|0)==0?((dk(c[(c[b>>2]|0)+60>>2]|0)|0)&4096|0)==0:0){a=ek(c[(c[b>>2]|0)+60>>2]|0)|0;c[(c[b>>2]|0)+148>>2]=a;i=e;return}c[(c[b>>2]|0)+148>>2]=512;i=e;return}function dk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qb[c[(c[c[d>>2]>>2]|0)+48>>2]&31](c[d>>2]|0)|0;i=b;return a|0}function ek(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=fk(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function fk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=qb[c[d>>2]&31](c[b>>2]|0)|0;i=e;return d|0}function gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=wb[c[(c[n>>2]|0)+24>>2]&15](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function hk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=wb[c[(c[c[k>>2]>>2]|0)+8>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=hk(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=kj(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function jk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+48>>2];c[g>>2]=(c[(c[j>>2]|0)+152>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=ok(c[(c[g>>2]|0)+204>>2]|0,c[f>>2]|0,0)|0;b=pk(c[(c[g>>2]|0)+204>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function lk(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;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];while(1){if(!(c[g>>2]|0))break;if(((ge(c[(c[g>>2]|0)+28>>2]|0)|0)==0?(c[e>>2]|0)>>>0<(c[(c[g>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=pe(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[g>>2]|0)+28>>2]=c[h>>2];c[g>>2]=c[(c[g>>2]|0)+44>>2]}i=j;return}function mk(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-33;if((e[(c[d>>2]|0)+24>>1]|0)&2){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|2;Og(c[d>>2]|0,2);i=f;return}function nk(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;a=(c[d>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}a=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;a=c[d>>2]|0;if(!(e[(c[d>>2]|0)+24>>1]&2)){Pg(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}Og(c[d>>2]|0,3);i=f;return}function ok(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;c[g>>2]=c[k>>2]&(d[(c[j>>2]|0)+29>>0]|0);b=lb[c[140>>2]&31](c[(c[j>>2]|0)+40>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function pk(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;if(!(c[j>>2]|0)){c[f>>2]=0;d=c[f>>2]|0;i=l;return d|0}c[k>>2]=c[(c[j>>2]|0)+4>>2];if(!(c[c[k>>2]>>2]|0)){c[f>>2]=qk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[f>>2]|0;i=l;return d|0}if(!(b[(c[k>>2]|0)+26>>1]|0)){d=(c[g>>2]|0)+12|0;c[d>>2]=(c[d>>2]|0)+1}d=(c[k>>2]|0)+26|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;if((c[h>>2]|0)==1)c[(c[g>>2]|0)+44>>2]=c[k>>2];c[f>>2]=c[k>>2];d=c[f>>2]|0;i=l;return d|0}function qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[g>>2]|0)+4>>2];d=c[h>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[c[h>>2]>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[h>>2]|0)+8>>2]=(c[h>>2]|0)+40;BH(c[(c[h>>2]|0)+8>>2]|0,0,c[(c[e>>2]|0)+24>>2]|0)|0;c[(c[h>>2]|0)+28>>2]=c[e>>2];c[(c[h>>2]|0)+20>>2]=c[f>>2];h=pk(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=j;return h|0}function rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+72|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=AH(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=KH(h|0,C|0,c[(c[b>>2]|0)+148>>2]|0,0)|0;h=DH(h|0,C|0,1,0)|0;h=MH(h|0,C|0,c[(c[b>>2]|0)+148>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function sk(b,d){b=b|0;d=d|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;s=i;i=i+64|0;e=s+24|0;f=s+36|0;g=s+32|0;q=s+16|0;j=s;p=s+28|0;o=s+56|0;k=s+40|0;m=s+44|0;h=s+48|0;l=s+52|0;n=s+8|0;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=Rg(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)d=c[(c[g>>2]|0)+20>>2]|0;else d=c[(c[f>>2]|0)+28>>2]|0;c[(c[f>>2]|0)+24>>2]=d;a[(c[f>>2]|0)+18>>0]=a[(c[f>>2]|0)+12>>0]|0;if((c[g>>2]|0)==0?(Fj(c[f>>2]|0)|0)!=0:0){c[e>>2]=tk(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+72|0;d=c[t+4>>2]|0;b=q;c[b>>2]=c[t>>2];c[b+4>>2]=d;a:do if((c[g>>2]|0)!=0?(Fj(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){b=(c[g>>2]|0)+8|0;d=c[b>>2]|0;b=c[b+4>>2]|0}else{b=q;d=c[b>>2]|0;b=c[b+4>>2]|0}t=j;c[t>>2]=d;c[t+4>>2]=b;d=c[g>>2]|0;b=c[d+4>>2]|0;t=(c[f>>2]|0)+72|0;c[t>>2]=c[d>>2];c[t+4>>2]=b;while(1){if(c[p>>2]|0)break a;b=(c[f>>2]|0)+72|0;u=c[b+4>>2]|0;t=j;d=c[t+4>>2]|0;if(!((u|0)<(d|0)|((u|0)==(d|0)?(c[b>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=ak(c[f>>2]|0,(c[f>>2]|0)+72|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+72|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+72|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=$j(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+80|0,t=DH(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+148>>2]|0,0)|0,u=(c[f>>2]|0)+72|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+72|0;t=AH(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+152>>2]|0)+8|0;u=KH(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+72|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=ak(c[f>>2]|0,(c[f>>2]|0)+72|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+152>>2]|0)|0;t=MH(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(Fj(c[f>>2]|0)|0)c[p>>2]=uk(c[(c[f>>2]|0)+208>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+52>>2]|0)>>>0)break c;c[p>>2]=ak(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);Wg(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+72|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+24>>2]=c[(c[b>>2]|0)+28>>2];c[f>>2]=Bk(c[(c[b>>2]|0)+208>>2]|0,40,c[b>>2]|0)|0;c[d>>2]=Ck(c[(c[b>>2]|0)+204>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=Ak(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+104>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+104>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];vk(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function vk(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+8|0;f=m+16|0;g=m+20|0;k=m+24|0;j=m+4|0;l=m;h=m+12|0;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;xk(a,wk(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));BH((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function wk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function xk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;p=i;i=i+48|0;q=p+28|0;g=p+16|0;h=p+4|0;j=p+8|0;k=p+32|0;o=p;m=p+12|0;n=p+24|0;l=p+20|0;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=yk(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function yk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;n=o+4|0;m=o;l=o+12|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;c[l>>2]=Tb(c[(c[h>>2]|0)+32>>2]|0,c[m>>2]|0)|0;if(c[l>>2]|0){BH((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=de(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=zk(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function zk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=wb[c[(c[c[m>>2]>>2]|0)+52>>2]&15](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=kk(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((Hk(c[f>>2]|0)|0)==1){Ik(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Jk(c[(c[e>>2]|0)+208>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Kk(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))nb[c[(c[e>>2]|0)+196>>2]&31](c[f>>2]|0);Lk(c[f>>2]|0)}while(0);Kg(c[(c[e>>2]|0)+88>>2]|0);i=h;return c[g>>2]|0}function Bk(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;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];d=(c[f>>2]|0)+52|0;b=Fk(c[f>>2]|0)|0;e=d+48|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(e|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=Gk(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=vb[e&63](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}vk(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function Ck(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=Dk(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function Dk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=Ek(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=Ek(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){a=c[h>>2]|0;if((c[g>>2]|0)>=32)break;c[h>>2]=Ek(a,c[f+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=j;return a|0}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;if((c[a+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];continue}}if(a){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}if(c[e>>2]|0){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+12>>2]=0;g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function Fk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=wk(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Hk(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Ik(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)Og(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if((c[(c[b>>2]|0)+20>>2]|0)==1)c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]=0;rb[c[144>>2]&63](c[(c[(c[b>>2]|0)+28>>2]|0)+40>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Jk(a,d,f){a=a|0;d=d|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;v=i;i=i+64|0;r=v+24|0;g=v+20|0;h=v+44|0;s=v+36|0;t=v+32|0;o=v+40|0;m=v+48|0;j=v+52|0;k=v+8|0;p=v+4|0;n=v+28|0;q=v+12|0;u=v;l=v+16|0;c[g>>2]=a;c[h>>2]=d;c[s>>2]=f;c[t>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[m>>2]=wk(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=0?(c[t>>2]|0)==0:0)){g=17;break}c[u>>2]=xk(c[g>>2]|0,c[m>>2]|0,j,k,p)|0;if(c[u>>2]|0){g=7;break}c[q>>2]=8192;c[n>>2]=Qk(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[p>>2]|0);if((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[t>>2]=c[l>>2];f=c[q>>2]|0;c[q>>2]=f+-1;if(!f){g=14;break a}c[n>>2]=Sk(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[r>>2]=c[u>>2];u=c[r>>2]|0;i=v;return u|0}else if((g|0)==14){c[r>>2]=Rk(50484)|0;u=c[r>>2]|0;i=v;return u|0}else if((g|0)==17){c[c[s>>2]>>2]=c[t>>2];c[r>>2]=0;u=c[r>>2]|0;i=v;return u|0}}c[c[s>>2]>>2]=0;c[r>>2]=0;u=c[r>>2]|0;i=v;return u|0}function Kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;f=n+12|0;e=n+16|0;h=n+24|0;j=n+20|0;m=n+32|0;k=n+8|0;g=n;l=n+28|0;c[f>>2]=b;c[e>>2]=d;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+152>>2];if(c[e>>2]|0)c[m>>2]=Pk(c[(c[h>>2]|0)+208>>2]|0,c[e>>2]|0,c[k>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;else{e=c[(c[h>>2]|0)+152>>2]|0;e=MH((c[j>>2]|0)-1|0,0,e|0,((e|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=e;c[b+4>>2]=C;b=g;k=hk(c[(c[h>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){f=(c[h>>2]|0)+100|0;e=f+16|0;do{a[f>>0]=255;f=f+1|0}while((f|0)<(e|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[f>>2]|0)+4>>2]|0)+24;f=(c[h>>2]|0)+100|0;d=c[l>>2]|0;e=f+16|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Lk(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&64){Mk(a);f=c[b>>2]|0;Nk(f);i=d;return}else{nk(a);f=c[b>>2]|0;Nk(f);i=d;return}}function Mk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+120|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+136>>2];c[(c[f>>2]|0)+136>>2]=c[d>>2];e=c[(c[f>>2]|0)+60>>2]|0;a=c[(c[f>>2]|0)+152>>2]|0;a=MH((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ok(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Nk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+120>>2]|0){i=d;return}if(Bg(c[(c[b>>2]|0)+204>>2]|0)|0){i=d;return}tj(c[b>>2]|0);i=d;return}function Ok(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Pk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=MH((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=DH(32,0,f|0,C|0)|0;f=DH(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=hk(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Qk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Rk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(gd()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Zb(11,17428,d);i=b;return 11}function Sk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Tk(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;Gj(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Mj(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=vb[c[(c[c[f>>2]>>2]|0)+28>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Vk(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;z=i;i=i+64|0;y=z+44|0;u=z+36|0;v=z+12|0;n=z+8|0;m=z+32|0;o=z+40|0;p=z+48|0;q=z+16|0;r=z;s=z+24|0;x=z+4|0;t=z+28|0;w=z+20|0;c[u>>2]=b;c[v>>2]=d;c[n>>2]=e;c[m>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[w>>2]=c[v>>2];if(a[(c[u>>2]|0)+46>>0]|0){c[y>>2]=8;y=c[y>>2]|0;i=z;return y|0}c[x>>2]=_k(c[u>>2]|0,1,1)|0;if(c[x>>2]|0){c[y>>2]=c[x>>2];y=c[y>>2]|0;i=z;return y|0}a[(c[u>>2]|0)+45>>0]=1;do if(c[v>>2]|0){c[x>>2]=$k(c[u>>2]|0,c[n>>2]|0,c[m>>2]|0,0,1)|0;if(!(c[x>>2]|0)){a[(c[u>>2]|0)+44>>0]=1;break}if((c[x>>2]|0)==5){c[w>>2]=0;c[x>>2]=0}}while(0);if(((c[x>>2]|0)==0?(c[x>>2]=al(c[u>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[u>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ok(c[(c[u>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[x>>2]|0)){if((c[(c[u>>2]|0)+52+16>>2]|0)!=0?(j=bl(c[u>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[x>>2]=Rk(51084)|0;else c[x>>2]=cl(c[u>>2]|0,c[w>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[x>>2]|0)==0|(c[x>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[u>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(dl(c[u>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[u>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}Gj(c[u>>2]|0)|0;Oj(c[u>>2]|0,1,1);a[(c[u>>2]|0)+45>>0]=0;if((c[x>>2]|0)==0?(c[v>>2]|0)!=(c[w>>2]|0):0)m=5;else m=c[x>>2]|0;c[y>>2]=m;y=c[y>>2]|0;i=z;return y|0}function Wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;lb[c[(c[c[h>>2]>>2]|0)+40>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Xk(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;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;gh();c[g>>2]=Cg(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=Aj(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}hh();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+100>>2];Zb(h,17470,j);i=k;return}function Yk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Zk(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Sb(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vb[c[(c[c[f>>2]>>2]|0)+64>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function _k(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;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Nj(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function $k(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=_k(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(qb[c[h>>2]&31](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function al(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=yk(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=jl(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Lj(e,0)|0;c[l>>2]=k;if(k)break;Mj(c[g>>2]|0,0);c[l>>2]=264;break}b=_k(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=yk(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=jl(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=kl(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Oj(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=ll(50131)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function bl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function cl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+88|0;j=H+56|0;k=H+36|0;l=H+84|0;m=H+60|0;n=H+64|0;o=H+52|0;A=H+92|0;D=H+44|0;z=H+48|0;q=H+80|0;r=H+104|0;u=H+96|0;t=H+100|0;p=H+68|0;y=H+72|0;E=H+40|0;F=H+32|0;x=H+16|0;v=H+76|0;w=H;s=H+8|0;B=H+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=0;c[D>>2]=bl(c[j>>2]|0)|0;c[y>>2]=dl(c[j>>2]|0)|0;if((c[c[y>>2]>>2]|0)>>>0>=(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[h>>2]=0;G=c[h>>2]|0;i=H;return G|0}c[A>>2]=el(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}if(c[k>>2]|0)c[E>>2]=c[l>>2];c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;a:while(1){if((c[p>>2]|0)>=5){G=15;break}c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=$k(c[j>>2]|0,c[E>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Oj(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[E>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}do if((G|0)==15){if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=$k(c[j>>2]|0,c[E>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];if(c[n>>2]|0)c[A>>2]=Bj(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[D>>2]|0,g=MH(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Cg(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Wk(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(fl(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[D>>2]|0)+24|0;g=MH((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=DH(32,0,g|0,C|0)|0;g=DH(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=hk(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[D>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[D>>2]|0;g=MH((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Ae(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[D>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(Fk(c[j>>2]|0)|0)+16>>2]|0)?(g=c[D>>2]|0,g=MH(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=B,c[G>>2]=g,c[G+4>>2]=C,G=B,c[A>>2]=Aj(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=Bj(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Oj(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5)c[A>>2]=0;if((c[A>>2]|0)==0&(c[k>>2]|0)!=0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)==2?(c[A>>2]=$k(c[j>>2]|0,c[E>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0)Oj(c[j>>2]|0,4,4)}}while(0);gl(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function dl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function el(a,d){a=a|0;d=d|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;v=i;i=i+64|0;e=v+8|0;f=v+24|0;g=v+44|0;t=v+52|0;s=v+32|0;n=v+40|0;q=v+48|0;m=v+56|0;l=v+60|0;u=v+4|0;h=v+28|0;o=v+12|0;k=v;p=v+16|0;r=v+36|0;j=v+20|0;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(wk(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);c[t>>2]=kg(c[q>>2]|0)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}BH(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=kg(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=xk(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}hl(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}lg(c[l>>2]|0);if(c[u>>2]|0)gl(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function fl(a,b,d){a=a|0;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;p=i;i=i+32|0;f=p+4|0;g=p+16|0;h=p+8|0;k=p+20|0;m=p+28|0;j=p;n=p+12|0;l=p+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function gl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;lg(c[d>>2]|0);i=b;return}function hl(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0;s=i;i=i+160|0;f=s+4|0;g=s+116|0;h=s+136|0;j=s;o=s+132|0;p=s+140|0;k=s+144|0;m=s+124|0;n=s+120|0;l=s+8|0;q=s+112|0;r=s+128|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;a=l;b=a+104|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);il(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);il(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function il(a,d,f,g,h,j){a=a|0;d=d|0;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,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+4|0;l=y;m=y+16|0;n=y+28|0;o=y+32|0;p=y+40|0;s=y+44|0;u=y+24|0;t=y+20|0;w=y+8|0;q=y+12|0;v=y+48|0;r=y+36|0;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];EH(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function jl(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+96|0;j=p+104|0;k=p+108|0;l=p+112|0;n=p+48|0;o=p;m=p+100|0;c[j>>2]=b;c[k>>2]=f;c[m>>2]=Fk(c[j>>2]|0)|0;b=n;f=c[m>>2]|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));ql(c[j>>2]|0);b=o;f=(c[m>>2]|0)+48|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));if($G(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ml(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if($G((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;b=(c[j>>2]|0)+52|0;f=n;g=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function kl(e){e=e|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,D=0,E=0;E=i;i=i+144|0;B=E+8|0;g=E+44|0;h=E+48|0;y=E+80|0;u=E+16|0;m=E+72|0;p=E+64|0;t=E+36|0;j=E+104|0;l=E+92|0;z=E+96|0;k=E+52|0;o=E+56|0;q=E;A=E+32|0;s=E+24|0;D=E+28|0;r=E+88|0;x=E+40|0;v=E+60|0;w=E+84|0;n=E+100|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=_k(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Cg(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=hk(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=kj(j)|0;c[A>>2]=kj(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=kj(j+12|0)|0,c[(c[h>>2]|0)+104>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ml((d[(c[h>>2]|0)+52+13>>0]|0)==((a[920]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(kj(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(kj(j+28|0)|0)):0){c[D>>2]=kj(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=ll(49260)|0;break}c[z>>2]=(c[A>>2]|0)+24;c[l>>2]=Rb(c[z>>2]|0)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=DH(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=hk(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=nl(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=ol(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=DH(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Sb(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];pl(c[h>>2]|0);c[w>>2]=dl(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+100>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Zb(283,17535,B)}}}while(0);Oj(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function ll(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(gd()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Zb(14,17496,d);i=b;return 14}function ml(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;o=i;i=i+48|0;g=o+28|0;q=o+16|0;p=o+4|0;h=o+8|0;j=o+32|0;m=o;n=o+12|0;k=o+24|0;l=o+20|0;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function nl(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+16|0;l=s+4|0;m=s+8|0;n=s+32|0;o=s;q=s+12|0;p=s+24|0;r=s+20|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if($G((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=kj(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[920]|0)==0|0)&1;ml(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ml(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(kj((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(kj((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=kj((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function ol(a,d,e){a=a|0;d=d|0;e=e|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;t=i;i=i+48|0;f=t+4|0;g=t+16|0;h=t+36|0;j=t;r=t+32|0;n=t+40|0;l=t+44|0;k=t+24|0;m=t+20|0;o=t+8|0;q=t+12|0;p=t+28|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=xk(a,wk(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);BH((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)vk(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Qk(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Sk(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Rk(49129)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function pl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=Fk(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ml(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));ql(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ql(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}rl(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function rl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nb[c[(c[c[d>>2]>>2]|0)+60>>2]&31](c[d>>2]|0);i=b;return}function sl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=vb[c[c[b>>2]>>2]&63](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function tl(){return 48}function ul(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+40>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+20>>0]|0){if(((d[(c[h>>2]|0)+20>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&4|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(Fj(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){if(wl(a)|0)c[j>>2]=xl(c[g>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=yl(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&4|0)==0?(d[(c[h>>2]|0)+16>>0]|0|0)!=3:0))c[j>>2]=zl(c[h>>2]|0,1)|0;if(((c[j>>2]|0)==0?(c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+24>>2]|0)>>>0:0)?(wl(c[g>>2]|0)|0)!=0:0)c[j>>2]=xl(c[g>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=Al(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))Ng(c[g>>2]|0);c[f>>2]=sj(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function vl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|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;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;h=c[o>>2]|0;e=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(e|0));c[(c[o>>2]|0)+20>>2]=1;c[(c[o>>2]|0)+24>>2]=c[k>>2];a[(c[o>>2]|0)+28>>0]=c[l>>2];a[(c[o>>2]|0)+29>>0]=2;c[(c[o>>2]|0)+32>>2]=c[m>>2];c[(c[o>>2]|0)+36>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;o=Fg(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+96>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+92>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(Ug(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function xl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Pl(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+152>>2]|0)|0,l=MH(c[(c[h>>2]|0)+52>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Ql(c[(c[h>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+68>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+152>>2]|0;l=e;l=DH(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Ae(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+52|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=Rl(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function yl(a,b,e,f){a=a|0;b=b|0;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;q=i;i=i+48|0;g=q+28|0;h=q+16|0;j=q+4|0;k=q+8|0;p=q+32|0;l=q;m=q+12|0;o=q+24|0;n=q+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[o>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[o>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[o>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);o=(c[g>>2]|0)+184+8|0;c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)Cl(c[h>>2]|0);c[p>>2]=Jl(c[(c[g>>2]|0)+208>>2]|0,c[(c[g>>2]|0)+152>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+10>>0]|0)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!(c[(c[g>>2]|0)+88>>2]|0)){p=c[p>>2]|0;i=q;return p|0}c[n>>2]=c[h>>2];while(1){if(!(c[n>>2]|0))break;lk(c[(c[g>>2]|0)+88>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+4>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}p=c[p>>2]|0;i=q;return p|0}function zl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+8|0;h=o+16|0;m=o+20|0;k=o+12|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=El(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=dk(c[(c[g>>2]|0)+60>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[17420]|0;a[n+1>>0]=a[17421]|0;a[n+2>>0]=a[17422]|0;a[n+3>>0]=a[17423]|0;a[n+4>>0]=a[17424]|0;a[n+5>>0]=a[17425]|0;a[n+6>>0]=a[17426]|0;a[n+7>>0]=a[17427]|0;Dl(n+8|0,c[(c[g>>2]|0)+44>>2]|0);e=rk(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=hk(c[(c[g>>2]|0)+64>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==($G(j,17420,8)|0):0){b=l;c[m>>2]=Ae(c[(c[g>>2]|0)+64>>2]|0,17605,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=Bj(c[(c[g>>2]|0)+64>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;c[m>>2]=Ae(c[(c[g>>2]|0)+64>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=Bj(c[(c[g>>2]|0)+64>>2]|0,d[(c[g>>2]|0)+11>>0]|((d[(c[g>>2]|0)+11>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+72|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+80|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+44>>2]=0;c[m>>2]=Fl(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+72|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+80|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);Gl(c[(c[g>>2]|0)+204>>2]|0);a[(c[g>>2]|0)+16>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function Al(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;n=i;i=i+48|0;g=n+28|0;h=n+20|0;m=n+32|0;f=n+8|0;l=n+24|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+60>>2]>>2]|0))c[m>>2]=Bl(c[g>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+144>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+36>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+152>>2]|0;d=MH(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+24>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Wk(c[(c[g>>2]|0)+60>>2]|0,5,f);c[(c[g>>2]|0)+36>>2]=c[(c[g>>2]|0)+24>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+24>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&32|0):0){b=c[(c[g>>2]|0)+152>>2]|0;b=MH((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)Cl(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Ae(c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+152>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){f=(c[g>>2]|0)+100|0;b=(c[k>>2]|0)+24|0;d=f+16|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(d|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0)c[(c[g>>2]|0)+32>>2]=c[l>>2];f=(c[g>>2]|0)+184+8|0;c[f>>2]=(c[f>>2]|0)+1;lk(c[(c[g>>2]|0)+88>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=gk(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function Cl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(kj((c[(c[d>>2]|0)+16>>2]|0)+100|0)|0)+1;Dl((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);Dl((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);Dl((c[(c[d>>2]|0)+4>>2]|0)+96|0,3008007);i=b;return}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function El(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(Fj(c[b>>2]|0)|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Hl(c[b>>2]|0,4)|0;d=c[d>>2]|0;i=e;return d|0}function Fl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+200>>2];c[g>>2]=c[(c[f>>2]|0)+152>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+148>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+148>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+96>>2]|0))break;b=(c[(c[f>>2]|0)+92>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+72|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+92>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=rk(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+72|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((dk(c[(c[f>>2]|0)+60>>2]|0)|0)&512|0)==0:0){b=c[j>>2]|0;e=b+12|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}else{n=c[j>>2]|0;a[n>>0]=a[17420]|0;a[n+1>>0]=a[17421]|0;a[n+2>>0]=a[17422]|0;a[n+3>>0]=a[17423]|0;a[n+4>>0]=a[17424]|0;a[n+5>>0]=a[17425]|0;a[n+6>>0]=a[17426]|0;a[n+7>>0]=a[17427]|0;Dl((c[j>>2]|0)+8|0,-1)}_b(4,(c[f>>2]|0)+48|0);Dl((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+48>>2]|0);Dl((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+28>>2]|0);Dl((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+148>>2]|0);Dl((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+152>>2]|0);BH((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+148>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+72|0;c[k>>2]=Ae(c[(c[f>>2]|0)+64>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+72|0;m=n;m=DH(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function Gl(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-5;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Il(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(qb[c[(c[d>>2]|0)+176>>2]&31](c[(c[d>>2]|0)+180>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Il(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+17>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+17>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+13>>0]|0)e=0;else e=Uk(c[(c[f>>2]|0)+60>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+17>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+17>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Jl(e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+144|0;n=H+72|0;o=H+64|0;p=H+68|0;q=H+96|0;r=H+80|0;s=H+84|0;t=H+40|0;A=H+60|0;u=H+100|0;y=H+104|0;z=H+108|0;x=H+76|0;E=H+56|0;v=H+24|0;F=H;m=H+112|0;l=H+48|0;w=H+88|0;B=H+92|0;D=H+32|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[z>>2]=0;c[x>>2]=0;f=Kl(c[o>>2]|0)|0;c[A>>2]=f;if(f){c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}c[u>>2]=c[(c[o>>2]|0)+52+16>>2];if(!(c[u>>2]|0)){Dl(m,931071618|(a[920]|0)==0);Dl(m+4|0,3007e3);Dl(m+8|0,c[p>>2]|0);Dl(m+12|0,c[(c[o>>2]|0)+104>>2]|0);if(!(c[(c[o>>2]|0)+104>>2]|0))_b(8,(c[o>>2]|0)+52+32|0);f=m+16|0;k=(c[o>>2]|0)+52+32|0;a[f>>0]=a[k>>0]|0;a[f+1>>0]=a[k+1>>0]|0;a[f+2>>0]=a[k+2>>0]|0;a[f+3>>0]=a[k+3>>0]|0;a[f+4>>0]=a[k+4>>0]|0;a[f+5>>0]=a[k+5>>0]|0;a[f+6>>0]=a[k+6>>0]|0;a[f+7>>0]=a[k+7>>0]|0;ml(1,m,24,0,l);Dl(m+24|0,c[l>>2]|0);Dl(m+28|0,c[l+4>>2]|0);c[(c[o>>2]|0)+36>>2]=c[p>>2];a[(c[o>>2]|0)+52+13>>0]=(a[920]|0)==0;c[(c[o>>2]|0)+52+24>>2]=c[l>>2];c[(c[o>>2]|0)+52+24+4>>2]=c[l+4>>2];a[(c[o>>2]|0)+47>>0]=1;c[A>>2]=Ae(c[(c[o>>2]|0)+8>>2]|0,m,32,0,0)|0;if(c[A>>2]|0){c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}if(((c[t>>2]|0)!=0?(d[(c[o>>2]|0)+48>>0]|0)!=0:0)?(c[A>>2]=Bj(c[(c[o>>2]|0)+8>>2]|0,c[t>>2]&19)|0,(c[A>>2]|0)!=0):0){c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}}c[F>>2]=c[o>>2];c[F+4>>2]=c[(c[o>>2]|0)+8>>2];k=F+8|0;c[k>>2]=0;c[k+4>>2]=0;c[F+16>>2]=c[t>>2];c[F+20>>2]=c[p>>2];k=(c[p>>2]|0)+24|0;k=MH((c[u>>2]|0)+1-1|0,0,k|0,((k|0)<0)<<31>>31|0)|0;k=DH(32,0,k|0,C|0)|0;f=v;c[f>>2]=k;c[f+4>>2]=C;c[E>>2]=(c[p>>2]|0)+24;c[y>>2]=c[q>>2];while(1){if(!(c[y>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1;if(c[s>>2]|0)l=(c[(c[y>>2]|0)+12>>2]|0)==0?c[r>>2]|0:0;else l=0;c[w>>2]=l;f=v;c[A>>2]=Ll(F,c[y>>2]|0,c[w>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[A>>2]|0){G=16;break}c[z>>2]=c[y>>2];k=c[E>>2]|0;f=v;k=DH(c[f>>2]|0,c[f+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;f=v;c[f>>2]=k;c[f+4>>2]=C;c[y>>2]=c[(c[y>>2]|0)+12>>2]}if((G|0)==16){c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}a:do if((c[s>>2]|0)!=0?(c[t>>2]&32|0)!=0:0){if(!(a[(c[o>>2]|0)+49>>0]|0)){c[A>>2]=Bj(c[F+4>>2]|0,c[t>>2]&19)|0;break}c[B>>2]=ek(c[(c[o>>2]|0)+8>>2]|0)|0;G=v;w=c[B>>2]|0;w=DH(c[G>>2]|0,c[G+4>>2]|0,w|0,((w|0)<0)<<31>>31|0)|0;w=AH(w|0,C|0,1,0)|0;G=c[B>>2]|0;G=KH(w|0,C|0,G|0,((G|0)<0)<<31>>31|0)|0;B=c[B>>2]|0;B=MH(G|0,C|0,B|0,((B|0)<0)<<31>>31|0)|0;G=F+8|0;c[G>>2]=B;c[G+4>>2]=C;while(1){B=v;t=c[B+4>>2]|0;G=F+8|0;w=c[G+4>>2]|0;if(!((t|0)<(w|0)|((t|0)==(w|0)?(c[B>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)))break a;G=v;c[A>>2]=Ll(F,c[z>>2]|0,c[r>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break;B=c[E>>2]|0;G=v;B=DH(c[G>>2]|0,c[G+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;G=v;c[G>>2]=B;c[G+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}while(0);if(((c[s>>2]|0)!=0?(d[(c[o>>2]|0)+47>>0]|0)!=0:0)?(G=(c[o>>2]|0)+16|0,F=c[G+4>>2]|0,(F|0)>0|(F|0)==0&(c[G>>2]|0)>>>0>=0):0){G=(c[o>>2]|0)+16|0;B=c[G+4>>2]|0;F=D;c[F>>2]=c[G>>2];c[F+4>>2]=B;F=(c[p>>2]|0)+24|0;F=MH((c[u>>2]|0)+(c[x>>2]|0)+1-1|0,0,F|0,((F|0)<0)<<31>>31|0)|0;F=DH(32,0,F|0,C|0)|0;B=C;G=(c[o>>2]|0)+16|0;E=c[G+4>>2]|0;if((B|0)>(E|0)|((B|0)==(E|0)?F>>>0>(c[G>>2]|0)>>>0:0)){F=(c[p>>2]|0)+24|0;F=MH((c[u>>2]|0)+(c[x>>2]|0)+1-1|0,0,F|0,((F|0)<0)<<31>>31|0)|0;F=DH(32,0,F|0,C|0)|0;G=D;c[G>>2]=F;c[G+4>>2]=C}G=D;Xk(c[o>>2]|0,c[G>>2]|0,c[G+4>>2]|0);a[(c[o>>2]|0)+47>>0]=0}c[u>>2]=c[(c[o>>2]|0)+52+16>>2];c[y>>2]=c[q>>2];while(1){if(!((c[y>>2]|0)!=0?(c[A>>2]|0)==0:0))break;c[u>>2]=(c[u>>2]|0)+1;c[A>>2]=ol(c[o>>2]|0,c[u>>2]|0,c[(c[y>>2]|0)+20>>2]|0)|0;c[y>>2]=c[(c[y>>2]|0)+12>>2]}while(1){if(!((c[A>>2]|0)==0?(c[x>>2]|0)>0:0))break;c[u>>2]=(c[u>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1;c[A>>2]=ol(c[o>>2]|0,c[u>>2]|0,c[(c[z>>2]|0)+20>>2]|0)|0}if(!(c[A>>2]|0)){b[(c[o>>2]|0)+52+14>>1]=c[p>>2]&65280|c[p>>2]>>16;c[(c[o>>2]|0)+52+16>>2]=c[u>>2];if(c[s>>2]|0){G=(c[o>>2]|0)+52+8|0;c[G>>2]=(c[G>>2]|0)+1;c[(c[o>>2]|0)+52+20>>2]=c[r>>2]}if(c[s>>2]|0){pl(c[o>>2]|0);c[(c[o>>2]|0)+12>>2]=c[u>>2]}}c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}function Kl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;d=n+28|0;e=n+16|0;l=n+4|0;g=n+8|0;k=n+32|0;m=n;h=n+12|0;f=n+24|0;j=n+20|0;c[e>>2]=a;c[l>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[k>>2]=dl(c[e>>2]|0)|0;do if((c[c[k>>2]>>2]|0)>>>0>0){_b(4,m);c[l>>2]=_k(c[e>>2]|0,4,4)|0;if(c[l>>2]|0){if((c[l>>2]|0)==5)break;c[d>>2]=c[l>>2];m=c[d>>2]|0;i=n;return m|0}c[f>>2]=(c[e>>2]|0)+52+32;a=(c[e>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[e>>2]|0)+52+16>>2]=0;a=c[f>>2]|0;Dl(a,1+(kj(c[f>>2]|0)|0)|0);c[(c[f>>2]|0)+4>>2]=c[m>>2];pl(c[e>>2]|0);c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+4+4>>2]=0;c[h>>2]=2;while(1){if((c[h>>2]|0)>=5)break;c[(c[k>>2]|0)+4+(c[h>>2]<<2)>>2]=-1;c[h>>2]=(c[h>>2]|0)+1}Oj(c[e>>2]|0,4,4)}while(0);Mj(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[g>>2]=0;do{a=c[e>>2]|0;m=(c[g>>2]|0)+1|0;c[g>>2]=m;c[l>>2]=Ol(a,j,1,m)|0}while((c[l>>2]|0)==-1)}c[d>>2]=c[l>>2];m=c[d>>2]|0;i=n;return m|0}function Ll(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;m=i;i=i+64|0;g=m+28|0;h=m+20|0;p=m+24|0;o=m+16|0;j=m;l=m+8|0;k=m+12|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Ml(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Nl(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=DH(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Nl(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function Ml(b,e,f,g,h){b=b|0;e=e|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,q=0;j=i;i=i+32|0;m=j+8|0;q=j+16|0;p=j+20|0;n=j+24|0;l=j+4|0;o=j;k=j+12|0;c[m>>2]=b;c[q>>2]=e;c[p>>2]=f;c[n>>2]=g;c[l>>2]=h;c[k>>2]=(c[m>>2]|0)+52+24;Dl(c[l>>2]|0,c[q>>2]|0);Dl((c[l>>2]|0)+4|0,c[p>>2]|0);b=(c[l>>2]|0)+8|0;f=(c[m>>2]|0)+52+32|0;a[b>>0]=a[f>>0]|0;a[b+1>>0]=a[f+1>>0]|0;a[b+2>>0]=a[f+2>>0]|0;a[b+3>>0]=a[f+3>>0]|0;a[b+4>>0]=a[f+4>>0]|0;a[b+5>>0]=a[f+5>>0]|0;a[b+6>>0]=a[f+6>>0]|0;a[b+7>>0]=a[f+7>>0]|0;c[o>>2]=(d[(c[m>>2]|0)+52+13>>0]|0)==((a[920]|0)==0|0)&1;ml(c[o>>2]|0,c[l>>2]|0,8,c[k>>2]|0,c[k>>2]|0);ml(c[o>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+36>>2]|0,c[k>>2]|0,c[k>>2]|0);Dl((c[l>>2]|0)+16|0,c[c[k>>2]>>2]|0);Dl((c[l>>2]|0)+20|0,c[(c[k>>2]|0)+4>>2]|0);i=j;return}function Nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+12|0;h=o+20|0;j=o+24|0;k=o+28|0;l=o;n=o+8|0;m=o+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=DH(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=AH(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Ae(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=DH(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=Bj(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Ae(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Ol(a,e,f,g){a=a|0;e=e|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;v=i;i=i+48|0;u=v+4|0;h=v+16|0;j=v+36|0;k=v;l=v+32|0;q=v+40|0;o=v+44|0;n=v+24|0;m=v+20|0;r=v+8|0;p=v+12|0;s=v+28|0;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=0;if((c[l>>2]|0)>5){c[p>>2]=1;if((c[l>>2]|0)>100){c[u>>2]=15;u=c[u>>2]|0;i=v;return u|0}if((c[l>>2]|0)>=10)c[p>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;eg(c[c[h>>2]>>2]|0,c[p>>2]|0)|0}if(!(c[k>>2]|0)){c[r>>2]=al(c[h>>2]|0,c[j>>2]|0)|0;do if((c[r>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[r>>2]=-1;break}f=Lj(c[h>>2]|0,2)|0;c[r>>2]=f;if(!f){Mj(c[h>>2]|0,2);c[r>>2]=-1;break}if((c[r>>2]|0)==5)c[r>>2]=261}while(0);if(c[r>>2]|0){c[u>>2]=c[r>>2];u=c[u>>2]|0;i=v;return u|0}}c[q>>2]=dl(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[q>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[r>>2]=Lj(c[h>>2]|0,3)|0;ql(c[h>>2]|0);if(c[r>>2]|0){if((c[r>>2]|0)==5)break;c[u>>2]=c[r>>2];u=c[u>>2]|0;i=v;return u|0}t=Fk(c[h>>2]|0)|0;t=($G(t,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(t){Mj(h,3);c[u>>2]=-1;u=c[u>>2]|0;i=v;return u|0}else{b[h+40>>1]=0;c[u>>2]=0;u=c[u>>2]|0;i=v;return u|0}}while(0);c[o>>2]=0;c[n>>2]=0;c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[s>>2]=c[(c[q>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[o>>2]|0)>>>0<=(c[s>>2]|0)>>>0?(c[s>>2]|0)>>>0<=(c[(c[h>>2]|0)+52+16>>2]|0)>>>0:0){c[o>>2]=c[s>>2];c[n>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[n>>2]|0)==0?1:(c[o>>2]|0)>>>0<(c[(c[h>>2]|0)+52+16>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[r>>2]=_k(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[r>>2]|0)){t=36;break}if((c[r>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((t|0)==36){t=c[(c[h>>2]|0)+52+16>>2]|0;c[(c[q>>2]|0)+4+(c[m>>2]<<2)>>2]=t;c[o>>2]=t;c[n>>2]=c[m>>2];Oj(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[u>>2]=c[r>>2];u=c[u>>2]|0;i=v;return u|0}while(0);if(!(c[n>>2]|0)){c[u>>2]=(c[r>>2]|0)==5?-1:520;u=c[u>>2]|0;i=v;return u|0}c[r>>2]=Lj(c[h>>2]|0,3+(c[n>>2]|0)|0)|0;if(c[r>>2]|0){c[u>>2]=(c[r>>2]|0)==5?-1:c[r>>2]|0;u=c[u>>2]|0;i=v;return u|0}ql(c[h>>2]|0);if((c[(c[q>>2]|0)+4+(c[n>>2]<<2)>>2]|0)==(c[o>>2]|0)?(t=Fk(c[h>>2]|0)|0,($G(t,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[n>>2];c[u>>2]=c[r>>2];u=c[u>>2]|0;i=v;return u|0}Mj(c[h>>2]|0,3+(c[n>>2]|0)|0);c[u>>2]=-1;u=c[u>>2]|0;i=v;return u|0}function Pl(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;if(c[c[(c[b>>2]|0)+68>>2]>>2]|0){e=c[e>>2]|0;i=f;return e|0}if((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+21>>0]|0|0)==0:0){c[e>>2]=Bl(c[b>>2]|0,c[(c[b>>2]|0)+68>>2]|0,8192)|0;e=c[e>>2]|0;i=f;return e|0}Vj(c[(c[b>>2]|0)+68>>2]|0);e=c[e>>2]|0;i=f;return e|0}function Ql(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;Dl(g,c[k>>2]|0);e=j;e=Ae(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function Rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+96>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+92>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=Sg(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Sl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Tl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hk(c[d>>2]|0)|0;i=b;return a|0}function Ul(f){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;v=i;i=i+48|0;q=v+20|0;r=v+16|0;n=v+36|0;j=v+44|0;h=v+28|0;m=v;u=v+32|0;g=v+40|0;t=v+4|0;p=v+24|0;s=v+12|0;k=v+8|0;l=v+38|0;o=v+42|0;c[r>>2]=f;do if(!(a[c[r>>2]>>0]|0)){c[m>>2]=c[(c[r>>2]|0)+52>>2];a[j>>0]=a[(c[r>>2]|0)+6>>0]|0;c[h>>2]=c[(c[r>>2]|0)+56>>2];if(Vl(c[r>>2]|0,d[(c[h>>2]|0)+(d[j>>0]|0)>>0]|0)|0){c[q>>2]=Rk(53694)|0;u=c[q>>2]|0;i=v;return u|0}b[(c[r>>2]|0)+20>>1]=(c[(c[m>>2]|0)+32>>2]|0)-1;a[(c[r>>2]|0)+1>>0]=0;c[u>>2]=c[(c[m>>2]|0)+36>>2];f=(d[j>>0]|0)+12-(d[(c[r>>2]|0)+5>>0]<<2)&65535;b[g>>1]=f;b[(c[r>>2]|0)+14>>1]=f;c[(c[r>>2]|0)+60>>2]=(c[h>>2]|0)+(c[u>>2]|0);c[(c[r>>2]|0)+64>>2]=(c[h>>2]|0)+(e[g>>1]|0);c[p>>2]=((d[(c[h>>2]|0)+((d[j>>0]|0)+5)>>0]<<8|d[(c[h>>2]|0)+((d[j>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[r>>2]|0)+18>>1]=d[(c[h>>2]|0)+((d[j>>0]|0)+3)>>0]<<8|d[(c[h>>2]|0)+((d[j>>0]|0)+3)+1>>0];if((e[(c[r>>2]|0)+18>>1]|0)>>>0>((((c[(c[m>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[q>>2]=Rk(53706)|0;u=c[q>>2]|0;i=v;return u|0}c[s>>2]=(e[g>>1]|0)+(e[(c[r>>2]|0)+18>>1]<<1);c[k>>2]=(c[u>>2]|0)-4;b[n>>1]=d[(c[h>>2]|0)+((d[j>>0]|0)+1)>>0]<<8|d[(c[h>>2]|0)+((d[j>>0]|0)+1)+1>>0];c[t>>2]=(d[(c[h>>2]|0)+((d[j>>0]|0)+7)>>0]|0)+(c[p>>2]|0);while(1){if((e[n>>1]|0)<=0){g=16;break}if((e[n>>1]|0)<(c[s>>2]|0)){g=10;break}if((e[n>>1]|0)>(c[k>>2]|0)){g=10;break}b[l>>1]=d[(c[h>>2]|0)+(e[n>>1]|0)>>0]<<8|d[(c[h>>2]|0)+(e[n>>1]|0)+1>>0];b[o>>1]=d[(c[h>>2]|0)+((e[n>>1]|0)+2)>>0]<<8|d[(c[h>>2]|0)+((e[n>>1]|0)+2)+1>>0];if((e[l>>1]|0)>0?(e[l>>1]|0)<=((e[n>>1]|0)+(e[o>>1]|0)+3|0):0){g=14;break}if(((e[n>>1]|0)+(e[o>>1]|0)|0)>(c[u>>2]|0)){g=14;break}c[t>>2]=(c[t>>2]|0)+(e[o>>1]|0);b[n>>1]=b[l>>1]|0}if((g|0)==10){c[q>>2]=Rk(53749)|0;u=c[q>>2]|0;i=v;return u|0}else if((g|0)==14){c[q>>2]=Rk(53756)|0;u=c[q>>2]|0;i=v;return u|0}else if((g|0)==16){if((c[t>>2]|0)<=(c[u>>2]|0)){b[(c[r>>2]|0)+16>>1]=(c[t>>2]|0)-(c[s>>2]|0);a[c[r>>2]>>0]=1;break}c[q>>2]=Rk(53770)|0;u=c[q>>2]|0;i=v;return u|0}}while(0);c[q>>2]=0;u=c[q>>2]|0;i=v;return u|0}function Vl(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;a[(c[h>>2]|0)+5>>0]=c[j>>2]>>3;c[j>>2]=c[j>>2]&-9;a[(c[h>>2]|0)+7>>0]=4-(d[(c[h>>2]|0)+5>>0]<<2);c[k>>2]=c[(c[h>>2]|0)+52>>2];do if((c[j>>2]|0)==5){a[(c[h>>2]|0)+2>>0]=1;a[(c[h>>2]|0)+3>>0]=a[(c[h>>2]|0)+5>>0]|0;a[(c[h>>2]|0)+4>>0]=((a[(c[h>>2]|0)+5>>0]|0)!=0^1)&1;b[(c[h>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[h>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[j>>2]|0)==2){a[(c[h>>2]|0)+2>>0]=0;a[(c[h>>2]|0)+3>>0]=0;a[(c[h>>2]|0)+4>>0]=0;b[(c[h>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[h>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[g>>2]=Rk(53655)|0;e=c[g>>2]|0;i=l;return e|0}while(0);a[(c[h>>2]|0)+8>>0]=a[(c[k>>2]|0)+21>>0]|0;c[g>>2]=0;e=c[g>>2]|0;i=l;return e|0}function Wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)d=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else d=0;b=c[f>>2]|0;if(!d)break;c[f>>2]=b+-1}i=g;return (b|0)==0|0}function Xl(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=Yl(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function Yl(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+208>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Vk(c[(c[g>>2]|0)+208>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+176>>2]|0,c[(c[g>>2]|0)+180>>2]|0,d[(c[g>>2]|0)+9>>0]|0,c[(c[g>>2]|0)+152>>2]|0,c[(c[g>>2]|0)+200>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function Zl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;j=l+20|0;n=l+16|0;m=l+12|0;g=l+8|0;h=l+4|0;k=l;c[n>>2]=b;c[m>>2]=d;c[g>>2]=e;c[h>>2]=f;c[k>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if(!(c[k>>2]|0)){g=7;break}if((Ib(c[(c[k>>2]|0)+24>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)==0?(a[(c[(c[k>>2]|0)+24>>2]|0)+(c[h>>2]|0)>>0]|0)==0:0){g=5;break}c[k>>2]=c[(c[k>>2]|0)+28>>2]}if((g|0)==5){c[j>>2]=c[k>>2];n=c[j>>2]|0;i=l;return n|0}else if((g|0)==7){c[j>>2]=0;n=c[j>>2]|0;i=l;return n|0}return 0}function _l(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;o=i;i=i+32|0;n=o+12|0;j=o+8|0;k=o+4|0;l=o+16|0;m=o;c[j>>2]=f;c[k>>2]=g;a[l>>0]=h;h=c[j>>2]|0;if((c[k>>2]|0)==-2){if(!(c[h+12>>2]|0))h=(c[(c[j>>2]|0)+16>>2]|0)==0;else h=0;c[n>>2]=h?0:6;n=c[n>>2]|0;i=o;return n|0}if((b[h>>1]|0)!=(c[k>>2]|0)?(b[c[j>>2]>>1]|0)>=0:0){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if((b[c[j>>2]>>1]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[n>>2]=c[m>>2];n=c[n>>2]|0;i=o;return n|0}function $l(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;j=k+8|0;l=k+4|0;m=k+20|0;h=k;c[f>>2]=b;c[g>>2]=e;c[l>>2]=Ed(c[(c[g>>2]|0)+24>>2]|0)|0;a[m>>0]=a[c[(c[g>>2]|0)+24>>2]>>0]|0;c[h>>2]=((d[13848+(d[m>>0]|0)>>0]|0)+(c[l>>2]|0)|0)%23|0;c[j>>2]=Zl(c[f>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){c[(c[g>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];c[(c[j>>2]|0)+8>>2]=c[g>>2];i=k;return}else{c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+28>>2]=c[(c[f>>2]|0)+(c[h>>2]<<2)>>2];c[(c[f>>2]|0)+(c[h>>2]<<2)>>2]=c[g>>2];i=k;return}}function am(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=bm(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function bm(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;v=i;i=i+48|0;n=v+12|0;o=v+16|0;p=v+44|0;k=v+4|0;t=v+32|0;s=v+36|0;u=v+40|0;r=v+24|0;q=v+20|0;j=v+45|0;h=v;l=v+8|0;m=v+28|0;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=cm(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=qf(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[17815+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[q>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);f=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=f;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(f>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[17815+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[q>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);f=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=f>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((f-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Oe(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&31;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=dm(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function cm(d){d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=d;if((e[(c[g>>2]|0)+8>>1]|0)&16384)Pe(c[g>>2]|0)|0;c[h>>2]=e[(c[g>>2]|0)+8>>1];do if(c[h>>2]&18){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(fm(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=j;return d|0}while(0);c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}function dm(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=Jd(c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}if(em(c[f>>2]|0,c[g>>2]|0)|0){c[d>>2]=e[(c[f>>2]|0)+248>>1];b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=qb[c[56>>2]&31](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function em(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+248+28>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+248+32>>2]|0)>>>0;b=b&1;i=f;return b|0}function fm(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=gm(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Nd(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=qf(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=dm(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}Ze(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)EH(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)nb[c[(c[j>>2]|0)+36>>2]&31](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=hm(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Nd(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function hm(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o;n=o+8|0;c[k>>2]=b;c[l>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;c[n>>2]=0;do if(!(d[(c[k>>2]|0)+64>>0]|0)){g=c[k>>2]|0;if(!(c[l>>2]|0)){n=m;c[j>>2]=qf(g,c[n>>2]|0,c[n+4>>2]|0)|0;n=c[j>>2]|0;i=o;return n|0}if(!(em(g,c[l>>2]|0)|0)){c[n>>2]=Ub(c[l>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;if(c[n>>2]|0)break;a[(c[k>>2]|0)+64>>0]=1;break}f=m;b=c[f+4>>2]|0;if(b>>>0<0|((b|0)==0?(c[f>>2]|0)>>>0<=(e[(c[k>>2]|0)+248>>1]|0)>>>0:0)){c[j>>2]=c[l>>2];n=c[j>>2]|0;i=o;return n|0}else{c[n>>2]=qf(c[k>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;if(!(c[n>>2]|0))break;EH(c[n>>2]|0,c[l>>2]|0,e[(c[k>>2]|0)+248>>1]|0|0)|0;Nd(c[k>>2]|0,c[l>>2]|0);break}}while(0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}function im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+32>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}nb[c[(c[e>>2]|0)+4>>2]&31](c[(c[e>>2]|0)+8>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=f;return}function jm(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;g=j+8|0;f=j+4|0;h=j;c[b>>2]=a;Hd(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[g>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[g>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[h>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[h>>2]|0)+44>>0]|0)&16)pm(c[b>>2]|0,c[h>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}qm(c[b>>2]|0);i=j;return}function km(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nm(c[d>>2]|0,68);i=b;return 0}function lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(mm(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function mm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+328>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+304>>2]|0))break;c[h>>2]=c[(c[(c[d>>2]|0)+328>>2]|0)+(c[f>>2]<<2)>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];if((c[g>>2]|0)!=0?(c[j>>2]=c[(c[c[g>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[j>>2]|0)!=0):0)qb[c[j>>2]&31](c[g>>2]|0)|0;c[(c[h>>2]|0)+20>>2]=0;om(c[h>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(c[d>>2]|0,c[(c[d>>2]|0)+328>>2]|0);c[(c[d>>2]|0)+304>>2]=0;c[(c[d>>2]|0)+328>>2]=0;i=k;return}function om(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)qb[c[(c[c[e>>2]>>2]|0)+16>>2]&31](c[e>>2]|0)|0;Nd(c[d>>2]|0,c[b>>2]|0);i=f;return}function pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+60;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];om(c[e>>2]|0);i=h;return}function qm(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+332>>2];c[(c[b>>2]|0)+332>>2]=0;if(!(c[d>>2]|0)){i=f;return}If(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];om(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function rm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nb[c[160>>2]&31](c[(c[d>>2]|0)+40>>2]|0);i=b;return}function sm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=980;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(c[3]|0){c[245]=8;c[258]=8}c[248]=10;c[252]=1;i=d;return 0}function tm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=980;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function um(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,l=0;k=i;i=i+32|0;e=k+8|0;f=k+16|0;g=k+20|0;h=k+24|0;j=k+4|0;l=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k+12>>2]=0;c[l>>2]=48;a=c[l>>2]|0;c[h>>2]=de(a,((a|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=980;c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=c[e>>2];c[(c[h>>2]|0)+8>>2]=c[f>>2];c[(c[h>>2]|0)+12>>2]=(c[g>>2]|0)!=0?1:0;Km(c[h>>2]|0);if(c[g>>2]|0){c[(c[h>>2]|0)+16>>2]=10;l=(c[j>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+(c[(c[h>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+12>>2]=(c[(c[j>>2]|0)+4>>2]|0)+10-(c[(c[j>>2]|0)+8>>2]|0)}if(c[(c[h>>2]|0)+40>>2]|0){l=c[h>>2]|0;i=k;return l|0}Bm(c[h>>2]|0);c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+12>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+20>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+20>>2]=c[d>>2];c[(c[e>>2]|0)+24>>2]=(((c[(c[e>>2]|0)+20>>2]|0)*9|0)>>>0)/10|0;Dm(c[f>>2]|0);i=g;return}function wm(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+36>>2];i=d;return c[b>>2]|0}function xm(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;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=0;c[j>>2]=c[(c[(c[h>>2]|0)+44>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+40>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[j>>2]|0)e=(c[(c[j>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=c[d+16>>2]}if(d){if(a[(c[j>>2]|0)+12>>0]|0){l=c[j>>2]|0;i=k;return l|0}Em(c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}else{if(!(c[g>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=Im(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}return 0}function ym(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;j=i;i=i+32|0;m=j+20|0;l=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=c[m>>2];c[h>>2]=c[l>>2];c[g>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){d=c[h>>2]|0;b=c[g>>2]|0;if(c[(c[g>>2]|0)+20>>2]|0){c[(c[b+20>>2]|0)+28>>2]=d;c[(c[h>>2]|0)+24>>2]=c[(c[g>>2]|0)+20>>2];c[(c[g>>2]|0)+20>>2]=c[h>>2]}else{c[b+24>>2]=d;c[(c[g>>2]|0)+20>>2]=c[h>>2]}m=(c[f>>2]|0)+32|0;c[m>>2]=(c[m>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=j;return}Fm(c[h>>2]|0);Gm(c[h>>2]|0);i=j;return}function zm(a,b,d,e){a=a|0;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,o=0;l=i;i=i+32|0;o=l+4|0;n=l+16|0;m=l+8|0;f=l+20|0;h=l+28|0;j=l;k=l+12|0;g=l+24|0;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+40>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+44>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+40>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+44>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+44>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+28>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+28>>2]=c[f>>2];i=l;return}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+28>>2]|0)>>>0){i=f;return}Hm(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+28>>2]=(c[d>>2]|0)-1;i=f;return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];Hm(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);Dm(c[e>>2]|0);Sb(c[(c[d>>2]|0)+44>>2]|0);Sb(c[d>>2]|0);i=b;return}function Cm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Dm(c[d>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Dm(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+16>>2]|0)>>>0<=(c[(c[b>>2]|0)+4>>2]|0)>>>0){b=5;break}if(!(c[(c[b>>2]|0)+24>>2]|0)){b=5;break}c[d>>2]=c[(c[b>>2]|0)+24>>2];Em(c[d>>2]|0);Fm(c[d>>2]|0);Gm(c[d>>2]|0)}if((b|0)==5){i=e;return}}function Em(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];c[f>>2]=c[c[e>>2]>>2];b=c[(c[d>>2]|0)+24>>2]|0;if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=b;else c[(c[f>>2]|0)+20>>2]=b;b=c[(c[d>>2]|0)+28>>2]|0;if(c[(c[d>>2]|0)+24>>2]|0)c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=b;else c[(c[f>>2]|0)+24>>2]=b;c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;f=(c[e>>2]|0)+32|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}function Fm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;g=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+20>>2];c[g>>2]=((c[(c[b>>2]|0)+8>>2]|0)>>>0)%((c[(c[d>>2]|0)+40>>2]|0)>>>0)|0;c[e>>2]=(c[(c[d>>2]|0)+44>>2]|0)+(c[g>>2]<<2);while(1){a=(c[c[e>>2]>>2]|0)+16|0;if((c[c[e>>2]>>2]|0)==(c[b>>2]|0))break;c[e>>2]=a}c[c[e>>2]>>2]=c[a>>2];g=(c[d>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+-1;i=f;return}function Gm(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[(c[b>>2]|0)+20>>2];Ig(c[c[b>>2]>>2]|0)|0;if(!(c[(c[d>>2]|0)+12>>2]|0)){i=e;return}d=(c[c[d>>2]>>2]|0)+16|0;c[d>>2]=(c[d>>2]|0)+-1;i=e;return}function Hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+40>>2]|0)>>>0)break;c[j>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[j>>2]>>2]|0;c[h>>2]=b;if(!b)break;if((c[(c[h>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[j>>2]=(c[h>>2]|0)+16;continue}b=(c[e>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];if(!(a[(c[h>>2]|0)+12>>0]|0))Em(c[h>>2]|0);Gm(c[h>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=k;return}function Im(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,o=0,p=0;p=i;i=i+48|0;f=p+28|0;g=p+16|0;h=p+4|0;j=p+8|0;l=p+32|0;m=p;o=p+12|0;n=p+24|0;k=p+20|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+36>>2]|0)-(c[(c[g>>2]|0)+32>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0:0){if(!(Jm(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+32>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[(c[g>>2]|0)+40>>2]|0)>>>0)Km(c[g>>2]|0);do if((c[(c[g>>2]|0)+12>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]|0)!=0:0){if((((c[(c[g>>2]|0)+36>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0?(c[(c[m>>2]|0)+16>>2]|0)>>>0<(c[(c[m>>2]|0)+4>>2]|0)>>>0:0)?(Jm(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+24>>2];Fm(c[o>>2]|0);Em(c[o>>2]|0);c[n>>2]=c[(c[o>>2]|0)+20>>2];if(((c[(c[n>>2]|0)+4>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0)!=((c[(c[g>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0)){Gm(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+12>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0));break}}while(0);if(!(c[o>>2]|0)){if((c[j>>2]|0)==1)gh();c[o>>2]=Lm(c[g>>2]|0)|0;if((c[j>>2]|0)==1)hh()}if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+40>>2]|0)>>>0)|0,n=(c[g>>2]|0)+36|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+44>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+44>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+28>>2]|0)>>>0):0)c[(c[g>>2]|0)+28>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Jm(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[254]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[253]|0):0){c[b>>2]=c[261];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Mm()|0;e=c[b>>2]|0;i=d;return e|0}function Km(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+8|0;d=k+16|0;g=k+20|0;f=k+24|0;j=k+4|0;h=k;e=k+12|0;c[b>>2]=a;a=c[(c[b>>2]|0)+40>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+40>>2]|0)gh();c[d>>2]=de(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+40>>2]|0)hh();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+40>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+44>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Sb(c[(c[b>>2]|0)+44>>2]|0);c[(c[b>>2]|0)+44>>2]=c[d>>2];c[(c[b>>2]|0)+40>>2]=c[g>>2];i=k;return}function Lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=0;c[f>>2]=Qg(32+(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+8>>2]|0)|0)|0;c[e>>2]=(c[f>>2]|0)+(c[(c[d>>2]|0)+4>>2]|0);if(!(c[f>>2]|0)){c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=(c[e>>2]|0)+32;if(c[(c[d>>2]|0)+12>>2]|0){f=(c[c[d>>2]>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+1}c[b>>2]=c[e>>2];f=c[b>>2]|0;i=g;return f|0}function Mm(){return c[79]|0}function Nm(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=FG((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Zb(7,18046,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Om(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;GG(c[d>>2]|0);i=b;return}function Pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=HG(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Qm(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Zb(7,18010,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Qm(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[e>>2]=c[d>>2];c[e>>2]=(c[e>>2]|0)+-8;c[b>>2]=c[c[e>>2]>>2];a=c[b>>2]|0;i=f;return a|0}return 0}function Rm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Sm(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Tm(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Um(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=vb[c[e>>2]&63](1612,0)|0;if(!(c[b>>2]|0)){e=c[b>>2]|0;i=d;return e|0}c[c[b>>2]>>2]=-1;e=c[b>>2]|0;i=d;return e|0}function Vm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+8|0;m=o+16|0;h=o+20|0;l=o+24|0;k=o+4|0;f=o;g=o+12|0;c[m>>2]=b;c[h>>2]=e;do switch(d[c[m>>2]>>0]|0){case 13:case 12:case 10:case 9:case 32:{c[l>>2]=1;while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=151;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 45:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=90;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!((j|0)!=0?(c[k>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=151;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 40:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 41:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 59:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 43:{c[c[h>>2]>>2]=89;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 42:{c[c[h>>2]>>2]=91;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 47:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[k>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[k>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!j)break;c[l>>2]=(c[l>>2]|0)+1}if(c[k>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=151;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=92;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 37:{c[c[h>>2]>>2]=93;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 61:{c[c[h>>2]>>2]=79;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 60:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=81;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[k>>2]|0)==62){c[c[h>>2]>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[k>>2]|0)==60){c[f>>2]=87;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=82;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 62:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=83;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[k>>2]|0)==62){c[f>>2]=88;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=80;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 33:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=150;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 124:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=86;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=94;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 44:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 38:{c[c[h>>2]>>2]=85;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 126:{c[c[h>>2]>>2]=96;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 34:case 39:case 96:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!j)break;if((c[k>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[k>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[k>>2]|0){c[f>>2]=27;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=150;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 46:{if(!(d[14426+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)){c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:break;case 91:{c[l>>2]=1;c[k>>2]=d[c[m>>2]>>0];while(1){if((c[k>>2]|0)==93)break;j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!j)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[k>>2]|0)==93?27:150;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 63:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 58:case 35:case 64:case 36:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;if(d[14426+(c[k>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[k>>2]|0)==40&(c[g>>2]|0)>0){j=107;break}if((c[k>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((j|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!j)break;if((c[k>>2]|0)!=41?(d[14426+(c[k>>2]&255)>>0]&1|0)==0:0)j=107;else break}if((c[k>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=150;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=150;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 88:case 120:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=134;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))j=125;a:do if((j|0)==125){c[c[h>>2]>>2]=150;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break a;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break a;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else j=132;break}default:j=132}while(0);if((j|0)==132){if(!(d[14426+(d[c[m>>2]>>0]|0)>>0]&70)){c[c[h>>2]>>2]=150;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=1;while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}m=yg(c[m>>2]|0,c[l>>2]|0)|0;c[c[h>>2]>>2]=m;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=132;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[14426+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))j=82;do if((j|0)==82){if(!(d[14426+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[14426+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}while(0);while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=150;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function Wm(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+16|0;p=o+32|0;j=o+36|0;h=o+40|0;l=o+4|0;k=o;n=o+28|0;c[p>>2]=d;c[j>>2]=e;c[h>>2]=g;c[n>>2]=c[p>>2];if((c[c[n>>2]>>2]|0)<0){c[c[n>>2]>>2]=0;c[(c[n>>2]|0)+4>>2]=-1;b[(c[n>>2]|0)+12>>1]=0;a[(c[n>>2]|0)+12+2>>0]=0};c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];c[(c[n>>2]|0)+8>>2]=c[h>>2];while(1){c[k>>2]=kn(c[n>>2]|0,c[j>>2]&255)|0;do if((c[k>>2]|0)>=642){h=c[n>>2]|0;if((c[k>>2]|0)<969){mn(h,(c[k>>2]|0)-642|0);break}else{p=c[j>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];nn(h,p,m);hn(c[n>>2]|0,c[j>>2]&255,l);c[j>>2]=254;break}}else{ln(c[n>>2]|0,c[k>>2]|0,c[j>>2]|0,l);p=(c[n>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+-1;c[j>>2]=254}while(0);if((c[j>>2]|0)==254){h=11;break}if((c[c[n>>2]>>2]|0)<0){h=11;break}}if((h|0)==11){i=o;return}}function Xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if(!(c[e>>2]|0)){i=f;return}while(1){if((c[c[e>>2]>>2]|0)<0)break;gn(c[e>>2]|0)|0}nb[c[d>>2]&31](c[e>>2]|0);i=f;return}function Ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+48|0;g=f+32|0;j=f+28|0;l=f+24|0;k=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=e;c[h>>2]=fn(c[j>>2]|0,c[l>>2]|0,k)|0;Nd(c[j>>2]|0,c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[h>>2];i=f;return}function Zm(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Md(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+52>>2]|0;if(c[(c[b>>2]|0)+48>>2]|0)c[(c[(c[b>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+52>>2]|0)c[(c[(c[b>>2]|0)+52>>2]|0)+48>>2]=c[(c[b>>2]|0)+48>>2];c[(c[b>>2]|0)+40>>2]=-1241070648;c[c[b>>2]>>2]=0;Nd(c[d>>2]|0,c[b>>2]|0);i=e;return}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);$m(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);an(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Nd(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(c[d>>2]|0,c[e>>2]|0);i=h;return}function $m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;dn(a,c[c[g>>2]>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Nd(a,c[(c[e>>2]|0)+4>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=h;return}function an(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}bn(c[d>>2]|0,c[e>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=f;return}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$m(c[f>>2]|0,c[c[e>>2]>>2]|0);cn(c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);dn(c[f>>2]|0,c[(c[e>>2]|0)+36>>2]|0);$m(c[f>>2]|0,c[(c[e>>2]|0)+40>>2]|0);dn(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);$m(c[f>>2]|0,c[(c[e>>2]|0)+48>>2]|0);an(c[f>>2]|0,c[(c[e>>2]|0)+52>>2]|0);dn(c[f>>2]|0,c[(c[e>>2]|0)+60>>2]|0);dn(c[f>>2]|0,c[(c[e>>2]|0)+64>>2]|0);_m(c[f>>2]|0,c[(c[e>>2]|0)+68>>2]|0);i=d;return}function cn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=(c[e>>2]|0)+8;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;Nd(a,c[(c[g>>2]|0)+4>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+12>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+64>>2]|0);Ld(c[d>>2]|0,c[(c[g>>2]|0)+16>>2]|0);an(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0);dn(c[d>>2]|0,c[(c[g>>2]|0)+44>>2]|0);en(c[d>>2]|0,c[(c[g>>2]|0)+48>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}Nd(a,c[e>>2]|0);i=h;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}do if(!(c[(c[e>>2]|0)+4>>2]&16384)){dn(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);dn(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);if(c[(c[e>>2]|0)+4>>2]&65536)Nd(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=c[d>>2]|0;a=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){an(b,c[a>>2]|0);break}else{$m(b,c[a>>2]|0);break}}while(0);if(c[(c[e>>2]|0)+4>>2]&32768){i=f;return}Nd(c[d>>2]|0,c[e>>2]|0);i=f;return}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Nd(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(a,c[c[e>>2]>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=g;return}function fn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;Zd(k,j+44|0,70,c[(c[g>>2]|0)+88>>2]|0);c[k>>2]=c[g>>2];_d(k,1,c[m>>2]|0,c[l>>2]|0);c[h>>2]=$d(k)|0;if((d[k+25>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}a[(c[g>>2]|0)+64>>0]=1;m=c[h>>2]|0;i=j;return m|0}function gn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;f=j+4|0;g=j+12|0;h=j;c[f>>2]=b;c[h>>2]=(c[f>>2]|0)+12+(c[c[f>>2]>>2]<<4);if((c[c[f>>2]>>2]|0)<0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[g>>0]=a[(c[h>>2]|0)+2>>0]|0;hn(c[f>>2]|0,a[g>>0]|0,(c[h>>2]|0)+4|0);h=c[f>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;c[e>>2]=d[g>>0];h=c[e>>2]|0;i=j;return h|0}return 0}function hn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+8>>2];do switch(d[k>>0]|0|0){case 207:case 196:case 195:case 163:{an(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 175:case 174:{dn(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 228:case 221:case 220:case 210:case 209:case 208:case 205:case 203:case 200:case 188:case 179:{$m(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 213:case 212:case 201:case 194:{cn(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 252:case 197:{_m(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 243:case 238:case 229:case 227:case 216:case 204:case 202:{dn(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 223:case 219:case 217:{en(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 239:case 234:{jn(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 236:{en(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+32>>2];dn(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);$m(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);an(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);en(c[d>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Nd(c[d>>2]|0,c[f>>2]|0)}i=g;return}function kn(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;p=i;i=i+32|0;h=p;j=p+8|0;k=p+20|0;l=p+16|0;o=p+12|0;m=p+21|0;n=p+4|0;c[j>>2]=f;a[k>>0]=g;c[o>>2]=e[(c[j>>2]|0)+12+(c[c[j>>2]>>2]<<4)>>1];if((c[o>>2]|0)<=429?(f=b[11688+(c[o>>2]<<1)>>1]|0,c[l>>2]=f,(f|0)!=-86):0){c[l>>2]=(c[l>>2]|0)+(d[k>>0]|0);if(!((c[l>>2]|0)<0|(c[l>>2]|0)>=1497)?(d[29229+(c[l>>2]|0)>>0]|0)==(d[k>>0]|0):0){c[h>>2]=e[8664+(c[l>>2]<<1)>>1];o=c[h>>2]|0;i=p;return o|0}if((d[k>>0]|0)>0){if((d[k>>0]|0)>>>0<70?(f=a[30726+(d[k>>0]|0)>>0]|0,a[m>>0]=f,(f&255|0)!=0):0){c[h>>2]=kn(c[j>>2]|0,a[m>>0]|0)|0;o=c[h>>2]|0;i=p;return o|0}c[n>>2]=(c[l>>2]|0)-(d[k>>0]|0)+70;if((c[n>>2]|0)>=0?(d[29229+(c[n>>2]|0)>>0]|0)==70:0){c[h>>2]=e[8664+(c[n>>2]<<1)>>1];o=c[h>>2]|0;i=p;return o|0}}c[h>>2]=e[12548+(c[o>>2]<<1)>>1];o=c[h>>2]|0;i=p;return o|0}c[h>>2]=e[12548+(c[o>>2]<<1)>>1];o=c[h>>2]|0;i=p;return o|0}function ln(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+1;f=c[h>>2]|0;if((c[c[h>>2]>>2]|0)>=100){Cy(f,c[l>>2]|0);i=n;return}else{c[m>>2]=(c[h>>2]|0)+12+(c[f>>2]<<4);b[c[m>>2]>>1]=c[j>>2];a[(c[m>>2]|0)+2>>0]=c[k>>2];m=(c[m>>2]|0)+4|0;l=c[l>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];i=n;return}} +function av(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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,ya=0,za=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;Xa=i;i=i+368|0;Ha=Xa;Ia=Xa+208|0;Z=Xa+152|0;Ja=Xa+8|0;Na=Xa+20|0;Ga=Xa+168|0;Ma=Xa+296|0;F=Xa+16|0;N=Xa+32|0;Ea=Xa+40|0;Sa=Xa+44|0;Fa=Xa+48|0;Va=Xa+52|0;Ua=Xa+56|0;Ta=Xa+60|0;La=Xa+128|0;Wa=Xa+36|0;E=Xa+72|0;v=Xa+76|0;Ka=Xa+80|0;K=Xa+84|0;l=Xa+88|0;k=Xa+92|0;A=Xa+96|0;z=Xa+100|0;D=Xa+104|0;B=Xa+108|0;u=Xa+112|0;t=Xa+116|0;m=Xa+120|0;o=Xa+124|0;n=Xa+68|0;p=Xa+64|0;r=Xa+136|0;s=Xa+140|0;q=Xa+144|0;M=Xa+348|0;V=Xa+304|0;S=Xa+312|0;R=Xa+320|0;W=Xa+328|0;J=Xa+336|0;X=Xa+340|0;L=Xa+176|0;P=Xa+180|0;aa=Xa+344|0;w=Xa+188|0;O=Xa+192|0;Y=Xa+196|0;I=Xa+352|0;G=Xa+353|0;H=Xa+354|0;x=Xa+212|0;y=Xa+355|0;T=Xa+220|0;U=Xa+224|0;Q=Xa+228|0;ra=Xa+232|0;pa=Xa+236|0;ma=Xa+240|0;$=Xa+244|0;ya=Xa+248|0;Aa=Xa+252|0;za=Xa+256|0;ba=Xa+260|0;da=Xa+264|0;Ba=Xa+268|0;ga=Xa+272|0;Ca=Xa+350|0;la=Xa+280|0;wa=Xa+284|0;ia=Xa+288|0;ka=Xa+292|0;sa=Xa+28|0;fa=Xa+184|0;na=Xa+24|0;qa=Xa+300|0;va=Xa+156|0;oa=Xa+308|0;ha=Xa+132|0;ua=Xa+160|0;xa=Xa+316|0;ea=Xa+164|0;ta=Xa+324|0;ja=Xa+172|0;ca=Xa+276|0;_=Xa+216|0;Pa=Xa+332|0;Qa=Xa+204|0;Ra=Xa+200|0;Oa=Xa+148|0;c[Ia>>2]=f;c[Z>>2]=g;g=Ja;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[l>>2]=0;c[Ta>>2]=c[c[Ia>>2]>>2];c[Wa>>2]=c[(c[Ta>>2]|0)+8>>2];c[Va>>2]=(c[Ia>>2]|0)+328;c[La>>2]=c[c[Ta>>2]>>2];c[Sa>>2]=(c[Ia>>2]|0)+736+((c[Z>>2]|0)*72|0);c[Fa>>2]=c[(c[Sa>>2]|0)+56>>2];c[E>>2]=(c[(c[Ia>>2]|0)+4>>2]|0)+8+((d[(c[Sa>>2]|0)+36>>0]|0)*72|0);c[Ma>>2]=c[(c[E>>2]|0)+40>>2];h=Ja;g=c[h>>2]|0;h=c[h+4>>2]|0;j=Zu((c[Ia>>2]|0)+68|0,c[Ma>>2]|0)|0;f=(c[Sa>>2]|0)+64|0;c[f>>2]=g&~j;c[f+4>>2]=h&~C;f=(c[Ia>>2]|0)+24|0;f=GH(c[f>>2]|0,c[f+4>>2]|0,c[Z>>2]|0)|0;c[Ea>>2]=f&1;if(c[(c[Fa>>2]|0)+36>>2]&64)h=(e[(c[Ia>>2]|0)+34>>1]&32|0)==0;else h=0;c[N>>2]=h&1;f=zr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+16>>2]=f;c[(c[Sa>>2]|0)+12>>2]=f;c[v>>2]=f;f=zr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+24>>2]=f;c[Ka>>2]=f;if((d[(c[Sa>>2]|0)+36>>0]|0)>0?(d[(c[E>>2]|0)+36>>0]&8|0)!=0:0){h=(c[Ta>>2]|0)+72|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;c[c[Sa>>2]>>2]=f;Ro(c[Wa>>2]|0,25,0,c[c[Sa>>2]>>2]|0)|0}do if(!((d[(c[E>>2]|0)+37>>0]|0)>>>2&1)){h=c[Fa>>2]|0;if(c[(c[Fa>>2]|0)+36>>2]&1024){c[D>>2]=e[h+40>>1];ns(c[Ta>>2]|0);c[A>>2]=ps(c[Ta>>2]|0,(c[D>>2]|0)+2|0)|0;c[z>>2]=c[(c[Sa>>2]|0)+12>>2];c[Na>>2]=0;while(1){if((c[Na>>2]|0)>=(c[D>>2]|0))break;c[B>>2]=(c[A>>2]|0)+(c[Na>>2]|0)+2;c[Ua>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(c[Na>>2]<<2)>>2];do if(c[Ua>>2]|0){g=c[Ta>>2]|0;j=c[Ua>>2]|0;if(e[(c[Ua>>2]|0)+18>>1]&1){bv(g,j,c[Sa>>2]|0,c[Na>>2]|0,c[Ea>>2]|0,c[B>>2]|0)|0;c[z>>2]=c[(c[Sa>>2]|0)+16>>2];break}else{Fs(g,c[(c[j>>2]|0)+16>>2]|0,c[B>>2]|0);break}}while(0);c[Na>>2]=(c[Na>>2]|0)+1}Ro(c[Wa>>2]|0,25,c[(c[Fa>>2]|0)+24>>2]|0,c[A>>2]|0)|0;Ro(c[Wa>>2]|0,25,c[D>>2]|0,(c[A>>2]|0)+1|0)|0;To(c[Wa>>2]|0,14,c[Ma>>2]|0,c[z>>2]|0,c[A>>2]|0,c[(c[Fa>>2]|0)+24+8>>2]|0,(d[(c[Fa>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Fa>>2]|0)+24+4>>0]=0;c[Na>>2]=0;while(1){if(!((c[Na>>2]|0)<(c[D>>2]|0)?(c[Na>>2]|0)<16:0))break;if(e[(c[Fa>>2]|0)+24+6>>1]>>c[Na>>2]&1)cv(c[Sa>>2]|0,c[(c[(c[Fa>>2]|0)+44>>2]|0)+(c[Na>>2]<<2)>>2]|0);c[Na>>2]=(c[Na>>2]|0)+1}a[(c[Sa>>2]|0)+37>>0]=-107;c[(c[Sa>>2]|0)+40>>2]=c[Ma>>2];Ga=yr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+44>>2]=Ga;ss(c[Ta>>2]|0,c[A>>2]|0,(c[D>>2]|0)+2|0);ls(c[Ta>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Fa>>2]|0)+36>>2]&5|0)!=0:0){c[Ua>>2]=c[c[(c[Fa>>2]|0)+44>>2]>>2];Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[l>>2]=Ga;c[K>>2]=bv(c[Ta>>2]|0,c[Ua>>2]|0,c[Sa>>2]|0,0,c[Ea>>2]|0,c[l>>2]|0)|0;if((c[K>>2]|0)!=(c[l>>2]|0))Xo(c[Ta>>2]|0,c[l>>2]|0);c[F>>2]=c[(c[Sa>>2]|0)+16>>2];Ro(c[Wa>>2]|0,38,c[K>>2]|0,c[F>>2]|0)|0;Uo(c[Wa>>2]|0,70,c[Ma>>2]|0,c[F>>2]|0,c[K>>2]|0)|0;Ls(c[Ta>>2]|0,c[K>>2]|0,1);at(c[Ta>>2]|0,c[Ma>>2]|0,-1,c[K>>2]|0);a[(c[Sa>>2]|0)+37>>0]=-102;break}if((c[(c[Fa>>2]|0)+36>>2]&256|0)!=0?(c[(c[Fa>>2]|0)+36>>2]&2|0)!=0:0){c[u>>2]=154;c[m>>2]=0;c[Na>>2]=0;c[n>>2]=0;c[o>>2]=0;if(c[(c[Fa>>2]|0)+36>>2]&32){Ga=c[Na>>2]|0;c[Na>>2]=Ga+1;c[o>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(Ga<<2)>>2]}if(c[(c[Fa>>2]|0)+36>>2]&16){Ga=c[Na>>2]|0;c[Na>>2]=Ga+1;c[n>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(Ga<<2)>>2]}if(c[Ea>>2]|0){c[Ua>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=c[Ua>>2]}if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[r>>2]=ys(c[Ta>>2]|0,c[(c[p>>2]|0)+16>>2]|0,s)|0;Uo(c[Wa>>2]|0,d[26147+((d[c[p>>2]>>0]|0)-80)>>0]|0,c[Ma>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;Ls(c[Ta>>2]|0,c[r>>2]|0,1);Xo(c[Ta>>2]|0,c[s>>2]|0);cv(c[Sa>>2]|0,c[o>>2]|0)}else Ro(c[Wa>>2]|0,(c[Ea>>2]|0)!=0?105:108,c[Ma>>2]|0,c[v>>2]|0)|0;if(c[n>>2]|0){c[q>>2]=c[c[n>>2]>>2];Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[m>>2]=Ga;Fs(c[Ta>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[m>>2]|0);if((d[c[q>>2]>>0]|0)!=82?(d[c[q>>2]>>0]|0)!=80:0)c[u>>2]=(c[Ea>>2]|0)!=0?82:80;else c[u>>2]=(c[Ea>>2]|0)!=0?81:83;cv(c[Sa>>2]|0,c[n>>2]|0)}c[t>>2]=yr(c[Wa>>2]|0)|0;a[(c[Sa>>2]|0)+37>>0]=(c[Ea>>2]|0)!=0?8:9;c[(c[Sa>>2]|0)+40>>2]=c[Ma>>2];c[(c[Sa>>2]|0)+44>>2]=c[t>>2];if((c[u>>2]|0)==154)break;Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[K>>2]=Ga;Ro(c[Wa>>2]|0,103,c[Ma>>2]|0,c[K>>2]|0)|0;at(c[Ta>>2]|0,c[Ma>>2]|0,-1,c[K>>2]|0);Uo(c[Wa>>2]|0,c[u>>2]|0,c[m>>2]|0,c[v>>2]|0,c[K>>2]|0)|0;xf(c[Wa>>2]|0,83);break}h=c[Fa>>2]|0;if(c[(c[Fa>>2]|0)+36>>2]&512){b[M>>1]=b[h+24>>1]|0;c[S>>2]=0;c[R>>2]=0;c[w>>2]=0;a[I>>0]=0;a[G>>0]=0;a[H>>0]=0;c[P>>2]=c[(c[Fa>>2]|0)+24+4>>2];c[aa>>2]=c[(c[Sa>>2]|0)+8>>2];if(((e[(c[Ia>>2]|0)+34>>1]&1|0)!=0?(a[(c[Ia>>2]|0)+36>>0]|0)>0:0)?(e[(c[P>>2]|0)+50>>1]|0)>(e[M>>1]|0):0){a[G>>0]=1;c[w>>2]=1}c[Na>>2]=e[M>>1];if(c[(c[Fa>>2]|0)+36>>2]&32){Da=c[Na>>2]|0;c[Na>>2]=Da+1;c[S>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(Da<<2)>>2];c[w>>2]=1}if((((c[(c[Fa>>2]|0)+36>>2]&16|0)!=0?(Da=c[Na>>2]|0,c[Na>>2]=Da+1,c[R>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(Da<<2)>>2],c[w>>2]=1,(c[S>>2]|0)==0):0)?(Da=b[(c[(c[P>>2]|0)+4>>2]|0)+(e[M>>1]<<1)>>1]|0,c[Na>>2]=Da,(Da|0)>=0):0)?(d[(c[(c[(c[P>>2]|0)+12>>2]|0)+4>>2]|0)+((c[Na>>2]|0)*24|0)+20>>0]|0)==0:0)a[G>>0]=1;c[V>>2]=dv(c[Ta>>2]|0,c[Sa>>2]|0,c[Ea>>2]|0,c[w>>2]|0,Y)|0;if(c[Y>>2]|0)a[I>>0]=a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0;c[F>>2]=c[(c[Sa>>2]|0)+16>>2];if((e[M>>1]|0)<(e[(c[P>>2]|0)+50>>1]|0)?(c[Ea>>2]|0)==((d[(c[(c[P>>2]|0)+28>>2]|0)+(e[M>>1]|0)>>0]|0)==0|0):0)Da=64;else Da=62;if(((Da|0)==62?(c[Ea>>2]|0)!=0:0)?(e[(c[P>>2]|0)+50>>1]|0)==(e[M>>1]|0):0)Da=64;if((Da|0)==64){c[x>>2]=c[R>>2];c[R>>2]=c[S>>2];c[S>>2]=c[x>>2];a[y>>0]=a[G>>0]|0;a[G>>0]=a[H>>0]|0;a[H>>0]=a[y>>0]|0}if(c[S>>2]|0)j=(e[(c[S>>2]|0)+18>>1]&40|0)!=0;else j=1;c[W>>2]=j&1;if(c[R>>2]|0)j=(e[(c[R>>2]|0)+18>>1]&40|0)!=0;else j=1;c[J>>2]=j&1;if(c[S>>2]|0)j=1;else j=(e[M>>1]|0)>0;c[X>>2]=j&1;c[L>>2]=e[M>>1];if(!(c[S>>2]|0)){if(a[G>>0]|0){Ro(c[Wa>>2]|0,28,0,(c[V>>2]|0)+(e[M>>1]|0)|0)|0;c[L>>2]=(c[L>>2]|0)+1;c[W>>2]=0;c[X>>2]=1}}else{c[T>>2]=c[(c[c[S>>2]>>2]|0)+16>>2];Fs(c[Ta>>2]|0,c[T>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0);do if(!(d[(c[S>>2]|0)+20>>0]&0)){if(!(Gs(c[T>>2]|0)|0))break;Ro(c[Wa>>2]|0,76,(c[V>>2]|0)+(e[M>>1]|0)|0,c[F>>2]|0)|0}while(0);do if(c[Y>>2]|0){if(((bt(c[T>>2]|0,a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]=65;if(!(ev(c[T>>2]|0,a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0)|0))break;a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]=65}while(0);c[L>>2]=(c[L>>2]|0)+1}fv(c[Ta>>2]|0,c[V>>2]|0,(c[L>>2]|0)-(d[G>>0]|0)|0,c[Y>>2]|0);c[O>>2]=d[26151+((c[X>>2]<<2)+(c[W>>2]<<1)+(c[Ea>>2]|0))>>0];wf(c[Wa>>2]|0,c[O>>2]|0,c[aa>>2]|0,c[F>>2]|0,c[V>>2]|0,c[L>>2]|0)|0;c[L>>2]=e[M>>1];do if(c[R>>2]|0){c[U>>2]=c[(c[c[R>>2]>>2]|0)+16>>2];ts(c[Ta>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0,1);Fs(c[Ta>>2]|0,c[U>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0);do if(!(d[(c[R>>2]|0)+20>>0]&0)){if(!(Gs(c[U>>2]|0)|0))break;Ro(c[Wa>>2]|0,76,(c[V>>2]|0)+(e[M>>1]|0)|0,c[F>>2]|0)|0}while(0);do if(((bt(c[U>>2]|0,a[I>>0]|0)|0)<<24>>24|0)!=65){if(ev(c[U>>2]|0,a[I>>0]|0)|0)break;fv(c[Ta>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0,1,I)}while(0);c[L>>2]=(c[L>>2]|0)+1}else{if(!(a[H>>0]|0))break;Ro(c[Wa>>2]|0,28,0,(c[V>>2]|0)+(e[M>>1]|0)|0)|0;c[J>>2]=0;c[L>>2]=(c[L>>2]|0)+1}while(0);Nd(c[La>>2]|0,c[Y>>2]|0);Da=yr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+44>>2]=Da;if(c[L>>2]|0){c[O>>2]=d[26159+((c[Ea>>2]<<1)+(c[J>>2]|0))>>0];wf(c[Wa>>2]|0,c[O>>2]|0,c[aa>>2]|0,c[F>>2]|0,c[V>>2]|0,c[L>>2]|0)|0}cv(c[Sa>>2]|0,c[S>>2]|0);cv(c[Sa>>2]|0,c[R>>2]|0);do if(!(c[N>>2]|0)){if(!(d[(c[(c[P>>2]|0)+12>>2]|0)+44>>0]&32)){Da=(c[Ta>>2]|0)+72|0;Ga=(c[Da>>2]|0)+1|0;c[Da>>2]=Ga;c[K>>2]=Ga;Ro(c[Wa>>2]|0,112,c[aa>>2]|0,c[K>>2]|0)|0;at(c[Ta>>2]|0,c[Ma>>2]|0,-1,c[K>>2]|0);Ro(c[Wa>>2]|0,66,c[Ma>>2]|0,c[K>>2]|0)|0;break}if((c[Ma>>2]|0)==(c[aa>>2]|0))break;c[Q>>2]=Lr(c[(c[P>>2]|0)+12>>2]|0)|0;c[K>>2]=ps(c[Ta>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;c[Na>>2]=0;while(1){if((c[Na>>2]|0)>=(e[(c[Q>>2]|0)+50>>1]|0))break;c[Ga>>2]=(us(c[P>>2]|0,b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[Na>>2]<<1)>>1]|0)|0)<<16>>16;Uo(c[Wa>>2]|0,47,c[aa>>2]|0,c[Ga>>2]|0,(c[K>>2]|0)+(c[Na>>2]|0)|0)|0;c[Na>>2]=(c[Na>>2]|0)+1}wf(c[Wa>>2]|0,68,c[Ma>>2]|0,c[Ka>>2]|0,c[K>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Fa>>2]|0)+36>>2]&4096)){g=(c[Sa>>2]|0)+37|0;if(c[Ea>>2]|0){a[g>>0]=8;break}else{a[g>>0]=9;break}}else a[(c[Sa>>2]|0)+37>>0]=-102;while(0);c[(c[Sa>>2]|0)+40>>2]=c[aa>>2];a[(c[Sa>>2]|0)+38>>0]=(c[(c[Fa>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Fa>>2]|0)+36>>2]&15)break;a[(c[Sa>>2]|0)+39>>0]=1;break}if(!(c[h+36>>2]&8192))if((d[(c[E>>2]|0)+37>>0]|0)>>>3&1){a[(c[Sa>>2]|0)+37>>0]=-102;break}else{a[(c[Sa>>2]|0)+37>>0]=a[26163+(c[Ea>>2]|0)>>0]|0;c[(c[Sa>>2]|0)+40>>2]=c[Ma>>2];Ga=1+(Ro(c[Wa>>2]|0,d[26165+(c[Ea>>2]|0)>>0]|0,c[Ma>>2]|0,c[v>>2]|0)|0)|0;c[(c[Sa>>2]|0)+44>>2]=Ga;a[(c[Sa>>2]|0)+39>>0]=1;break}c[ma>>2]=0;j=(c[Ta>>2]|0)+68|0;Ea=c[j>>2]|0;c[j>>2]=Ea+1;c[$>>2]=Ea;Ea=(c[Ta>>2]|0)+72|0;j=(c[Ea>>2]|0)+1|0;c[Ea>>2]=j;c[ya>>2]=j;c[Aa>>2]=0;c[za>>2]=0;c[ba>>2]=zr(c[Wa>>2]|0)|0;c[Ba>>2]=0;c[la>>2]=0;c[wa>>2]=c[(c[E>>2]|0)+16>>2];c[Ua>>2]=c[c[(c[Fa>>2]|0)+44>>2]>>2];c[ra>>2]=c[(c[Ua>>2]|0)+12>>2];a[(c[Sa>>2]|0)+37>>0]=18;c[(c[Sa>>2]|0)+40>>2]=c[ya>>2];j=c[Ia>>2]|0;a:do if((d[(c[Ia>>2]|0)+41>>0]|0)>1){c[ia>>2]=(d[j+41>>0]|0)-(c[Z>>2]|0)-1;c[pa>>2]=qf(c[La>>2]|0,80+((c[ia>>2]|0)*72|0)|0,0)|0;if(!(c[pa>>2]|0)){Ua=Ja;Wa=c[Ua+4>>2]|0;Va=Ha;c[Va>>2]=c[Ua>>2];c[Va+4>>2]=Wa;Va=Ha;Wa=Va;Wa=c[Wa>>2]|0;Va=Va+4|0;Va=c[Va>>2]|0;C=Va;i=Xa;return Wa|0}c[(c[pa>>2]|0)+4>>2]=(c[ia>>2]|0)+1&255;c[c[pa>>2]>>2]=c[(c[pa>>2]|0)+4>>2];h=(c[pa>>2]|0)+8|0;j=c[E>>2]|0;g=h+72|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(g|0));c[ka>>2]=(c[(c[Ia>>2]|0)+4>>2]|0)+8;c[Ga>>2]=1;while(1){if((c[Ga>>2]|0)>(c[ia>>2]|0))break a;h=(c[pa>>2]|0)+8+((c[Ga>>2]|0)*72|0)|0;j=(c[ka>>2]|0)+((d[(c[Sa>>2]|0)+((c[Ga>>2]|0)*72|0)+36>>0]|0)*72|0)|0;g=h+72|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(g|0));c[Ga>>2]=(c[Ga>>2]|0)+1}}else c[pa>>2]=c[j+4>>2];while(0);if(!(e[(c[Ia>>2]|0)+34>>1]&8)){if(!(d[(c[wa>>2]|0)+44>>0]&32)){Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[Aa>>2]=Ga;Ro(c[Wa>>2]|0,28,0,c[Aa>>2]|0)|0}else{c[sa>>2]=Lr(c[wa>>2]|0)|0;Fa=(c[Ta>>2]|0)+68|0;Ga=c[Fa>>2]|0;c[Fa>>2]=Ga+1;c[Aa>>2]=Ga;Ro(c[Wa>>2]|0,57,c[Aa>>2]|0,e[(c[sa>>2]|0)+50>>1]|0)|0;xr(c[Ta>>2]|0,c[sa>>2]|0)}Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[za>>2]=Ga}c[da>>2]=Ro(c[Wa>>2]|0,25,0,c[ya>>2]|0)|0;if((c[(c[Va>>2]|0)+12>>2]|0)>1){c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[(c[Va>>2]|0)+12>>2]|0))break;c[na>>2]=c[(c[(c[Va>>2]|0)+20>>2]|0)+((c[fa>>2]|0)*48|0)>>2];if(((((c[(c[Va>>2]|0)+20>>2]|0)+((c[fa>>2]|0)*48|0)|0)!=(c[Ua>>2]|0)?(c[(c[na>>2]|0)+4>>2]&1|0)==0:0)?(d[(c[(c[Va>>2]|0)+20>>2]|0)+((c[fa>>2]|0)*48|0)+20>>0]&18|0)==0:0)?(e[(c[(c[Va>>2]|0)+20>>2]|0)+((c[fa>>2]|0)*48|0)+18>>1]&4095|0)!=0:0){c[na>>2]=mq(c[La>>2]|0,c[na>>2]|0,0)|0;c[la>>2]=_q(c[La>>2]|0,c[la>>2]|0,c[na>>2]|0)|0}c[fa>>2]=(c[fa>>2]|0)+1}if(c[la>>2]|0)c[la>>2]=zn(c[Ta>>2]|0,72,0,c[la>>2]|0,0)|0}b[Ca>>1]=112;c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[(c[ra>>2]|0)+12>>2]|0))break;c[qa>>2]=(c[(c[ra>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0);if(!((c[(c[qa>>2]|0)+8>>2]|0)!=(c[Ma>>2]|0)?(e[(c[qa>>2]|0)+18>>1]&512|0)==0:0)){c[oa>>2]=c[c[qa>>2]>>2];c[ha>>2]=0;if((c[la>>2]|0)!=0?(c[(c[oa>>2]|0)+4>>2]&1|0)==0:0){c[(c[la>>2]|0)+12>>2]=c[oa>>2];c[oa>>2]=c[la>>2]}c[va>>2]=Gu(c[Ta>>2]|0,c[pa>>2]|0,c[oa>>2]|0,0,0,b[Ca>>1]|0,c[$>>2]|0)|0;if(c[va>>2]|0){$u(c[Ta>>2]|0,c[pa>>2]|0,(c[va>>2]|0)+736|0,c[Z>>2]|0,d[(c[Sa>>2]|0)+36>>0]|0,0);do if(!(e[(c[Ia>>2]|0)+34>>1]&8)){c[ea>>2]=(c[ga>>2]|0)==((c[(c[ra>>2]|0)+12>>2]|0)-1|0)?-1:c[ga>>2]|0;if(!(d[(c[wa>>2]|0)+44>>0]&32)){c[xa>>2]=Is(c[Ta>>2]|0,c[wa>>2]|0,-1,c[Ma>>2]|0,c[za>>2]|0,0)|0;c[ha>>2]=wf(c[Wa>>2]|0,130,c[Aa>>2]|0,0,c[xa>>2]|0,c[ea>>2]|0)|0;break}c[ta>>2]=Lr(c[wa>>2]|0)|0;c[ja>>2]=e[(c[ta>>2]|0)+50>>1];c[xa>>2]=ps(c[Ta>>2]|0,c[ja>>2]|0)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[ja>>2]|0))break;c[_>>2]=b[(c[(c[ta>>2]|0)+4>>2]|0)+(c[ca>>2]<<1)>>1];Is(c[Ta>>2]|0,c[wa>>2]|0,c[_>>2]|0,c[Ma>>2]|0,(c[xa>>2]|0)+(c[ca>>2]|0)|0,0)|0;c[ca>>2]=(c[ca>>2]|0)+1}if(c[ea>>2]|0)c[ha>>2]=wf(c[Wa>>2]|0,69,c[Aa>>2]|0,0,c[xa>>2]|0,c[ja>>2]|0)|0;do if((c[ea>>2]|0)>=0){Uo(c[Wa>>2]|0,49,c[xa>>2]|0,c[ja>>2]|0,c[za>>2]|0)|0;Uo(c[Wa>>2]|0,110,c[Aa>>2]|0,c[za>>2]|0,0)|0;if(!(c[ea>>2]|0))break;xf(c[Wa>>2]|0,16)}while(0);ss(c[Ta>>2]|0,c[xa>>2]|0,c[ja>>2]|0)}while(0);Ro(c[Wa>>2]|0,17,c[ya>>2]|0,c[ba>>2]|0)|0;if(c[ha>>2]|0)jp(c[Wa>>2]|0,c[ha>>2]|0);if(a[(c[va>>2]|0)+39>>0]|0)c[Ba>>2]=1;c[ua>>2]=c[(c[va>>2]|0)+736+56>>2];do if(c[(c[ua>>2]|0)+36>>2]&512){if((c[ga>>2]|0)!=0?(c[(c[ua>>2]|0)+24+4>>2]|0)!=(c[ma>>2]|0):0){Da=164;break}if((d[(c[wa>>2]|0)+44>>0]&32|0)!=0?(a[(c[(c[ua>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Da=164;break}c[ma>>2]=c[(c[ua>>2]|0)+24+4>>2];b[Ca>>1]=e[Ca>>1]|4096}else Da=164;while(0);if((Da|0)==164){Da=0;c[ma>>2]=0}Hu(c[va>>2]|0)}}c[ga>>2]=(c[ga>>2]|0)+1}c[(c[Sa>>2]|0)+48>>2]=c[ma>>2];if(c[ma>>2]|0)c[(c[Sa>>2]|0)+8>>2]=c[$>>2];if(c[la>>2]|0){c[(c[la>>2]|0)+12>>2]=0;dn(c[La>>2]|0,c[la>>2]|0)}Fa=c[Wa>>2]|0;Ga=c[da>>2]|0;Af(Fa,Ga,yr(c[Wa>>2]|0)|0);Ro(c[Wa>>2]|0,16,0,c[(c[Sa>>2]|0)+12>>2]|0)|0;Br(c[Wa>>2]|0,c[ba>>2]|0);if((d[(c[Ia>>2]|0)+41>>0]|0)>1)Nd(c[La>>2]|0,c[pa>>2]|0);if(!(c[Ba>>2]|0))cv(c[Sa>>2]|0,c[Ua>>2]|0)}else{c[k>>2]=c[(c[E>>2]|0)+28>>2];Uo(c[Wa>>2]|0,20,c[k>>2]|0,0,c[(c[E>>2]|0)+24>>2]|0)|0;Ga=Ro(c[Wa>>2]|0,22,c[k>>2]|0,c[v>>2]|0)|0;c[(c[Sa>>2]|0)+44>>2]=Ga;a[(c[Sa>>2]|0)+37>>0]=16}while(0);c[Ua>>2]=c[(c[Va>>2]|0)+20>>2];c[Na>>2]=c[(c[Va>>2]|0)+12>>2];while(1){if((c[Na>>2]|0)<=0)break;do if(!(d[(c[Ua>>2]|0)+20>>0]&6)){Fa=(c[Ua>>2]|0)+40|0;Ga=(c[Sa>>2]|0)+64|0;if((c[Fa>>2]&c[Ga>>2]|0)!=0?1:(c[Fa+4>>2]&c[Ga+4>>2]|0)!=0){a[(c[Ia>>2]|0)+39>>0]=1;break}c[Pa>>2]=c[c[Ua>>2]>>2];if((c[c[Sa>>2]>>2]|0)!=0?(c[(c[Pa>>2]|0)+4>>2]&1|0)==0:0)break;os(c[Ta>>2]|0,c[Pa>>2]|0,c[Ka>>2]|0,16);Ga=(c[Ua>>2]|0)+20|0;a[Ga>>0]=d[Ga>>0]|4}while(0);c[Na>>2]=(c[Na>>2]|0)+-1;c[Ua>>2]=(c[Ua>>2]|0)+48}c[Ua>>2]=c[(c[Va>>2]|0)+20>>2];c[Na>>2]=c[(c[Va>>2]|0)+12>>2];while(1){if((c[Na>>2]|0)<=0)break;if(((((((d[(c[Ua>>2]|0)+20>>0]&6|0)==0?(e[(c[Ua>>2]|0)+18>>1]|0)==1026:0)?(c[(c[Ua>>2]|0)+8>>2]|0)==(c[Ma>>2]|0):0)?(c[c[Sa>>2]>>2]|0)==0:0)?(c[Qa>>2]=c[c[Ua>>2]>>2],Pa=Ja,c[Oa>>2]=gv(c[Va>>2]|0,c[Ma>>2]|0,c[(c[Ua>>2]|0)+12>>2]|0,c[Pa>>2]|0,c[Pa+4>>2]|0,3,0)|0,(c[Oa>>2]|0)!=0):0)?(d[(c[Oa>>2]|0)+20>>0]&4|0)==0:0)?(c[Ra>>2]=qf(c[La>>2]|0,48,0)|0,(c[Ra>>2]|0)!=0):0){h=c[Ra>>2]|0;j=c[c[Oa>>2]>>2]|0;g=h+48|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(g|0));c[(c[Ra>>2]|0)+12>>2]=c[(c[Qa>>2]|0)+12>>2];os(c[Ta>>2]|0,c[Ra>>2]|0,c[Ka>>2]|0,16);Nd(c[La>>2]|0,c[Ra>>2]|0)}c[Na>>2]=(c[Na>>2]|0)+-1;c[Ua>>2]=(c[Ua>>2]|0)+48}b:do if(c[c[Sa>>2]>>2]|0){Ra=yr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+28>>2]=Ra;Ro(c[Wa>>2]|0,25,1,c[c[Sa>>2]>>2]|0)|0;$t(c[Ta>>2]|0);c[Ua>>2]=c[(c[Va>>2]|0)+20>>2];c[Na>>2]=0;while(1){if((c[Na>>2]|0)>=(c[(c[Va>>2]|0)+12>>2]|0))break b;if((d[(c[Ua>>2]|0)+20>>0]&6|0)==0?(Ra=(c[Ua>>2]|0)+40|0,Wa=(c[Sa>>2]|0)+64|0,!((c[Ra>>2]&c[Wa>>2]|0)!=0?1:(c[Ra+4>>2]&c[Wa+4>>2]|0)!=0)):0){os(c[Ta>>2]|0,c[c[Ua>>2]>>2]|0,c[Ka>>2]|0,16);Wa=(c[Ua>>2]|0)+20|0;a[Wa>>0]=d[Wa>>0]|4}c[Na>>2]=(c[Na>>2]|0)+1;c[Ua>>2]=(c[Ua>>2]|0)+48}}while(0);Ua=(c[Sa>>2]|0)+64|0;Wa=c[Ua+4>>2]|0;Va=Ha;c[Va>>2]=c[Ua>>2];c[Va+4>>2]=Wa;Va=Ha;Wa=Va;Wa=c[Wa>>2]|0;Va=Va+4|0;Va=c[Va>>2]|0;C=Va;i=Xa;return Wa|0}function bv(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;x=i;i=i+64|0;m=x+44|0;q=x+36|0;r=x+20|0;l=x+16|0;s=x+32|0;k=x+40|0;o=x+48|0;w=x+8|0;u=x+4|0;t=x+24|0;p=x+12|0;v=x+28|0;n=x;c[m>>2]=b;c[q>>2]=e;c[r>>2]=f;c[l>>2]=g;c[s>>2]=h;c[k>>2]=j;c[o>>2]=c[c[q>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+8>>2];if((d[c[o>>2]>>0]|0|0)==79){c[u>>2]=Hs(c[m>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[k>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;cv(v,w);w=c[u>>2]|0;i=x;return w|0}if((d[c[o>>2]>>0]|0|0)==76){c[u>>2]=c[k>>2];Ro(c[w>>2]|0,28,0,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;cv(v,w);w=c[u>>2]|0;i=x;return w|0}c[n>>2]=c[(c[r>>2]|0)+56>>2];if(((c[(c[n>>2]|0)+36>>2]&1024|0)==0?(c[(c[n>>2]|0)+24+4>>2]|0)!=0:0)?(d[(c[(c[(c[n>>2]|0)+24+4>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0|0)!=0:0)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[u>>2]=c[k>>2];c[t>>2]=Ds(c[m>>2]|0,c[o>>2]|0,4,0)|0;if((c[t>>2]|0)==4)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[p>>2]=c[(c[o>>2]|0)+28>>2];Ro(c[w>>2]|0,(c[s>>2]|0)!=0?105:108,c[p>>2]|0,0)|0;o=(c[n>>2]|0)+36|0;c[o>>2]=c[o>>2]|2048;if(!(c[(c[r>>2]|0)+48>>2]|0)){o=zr(c[w>>2]|0)|0;c[(c[r>>2]|0)+16>>2]=o}k=(c[r>>2]|0)+48|0;c[k>>2]=(c[k>>2]|0)+1;k=gm(c[c[m>>2]>>2]|0,c[(c[r>>2]|0)+48+4>>2]|0,(c[(c[r>>2]|0)+48>>2]|0)*12|0,0)|0;c[(c[r>>2]|0)+48+4>>2]=k;c[v>>2]=c[(c[r>>2]|0)+48+4>>2];k=(c[r>>2]|0)+48|0;if(!(c[v>>2]|0)){c[k>>2]=0;v=c[r>>2]|0;w=c[q>>2]|0;cv(v,w);w=c[u>>2]|0;i=x;return w|0}c[v>>2]=(c[v>>2]|0)+(((c[k>>2]|0)-1|0)*12|0);c[c[v>>2]>>2]=c[p>>2];m=c[w>>2]|0;k=c[p>>2]|0;l=c[u>>2]|0;if((c[t>>2]|0)==1){t=Ro(m,103,k,l)|0;c[(c[v>>2]|0)+4>>2]=t}else{t=Uo(m,47,k,0,l)|0;c[(c[v>>2]|0)+4>>2]=t}a[(c[v>>2]|0)+8>>0]=(c[s>>2]|0)!=0?6:7;ur(c[w>>2]|0,76,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;cv(v,w);w=c[u>>2]|0;i=x;return w|0}function cv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(!(c[g>>2]|0)){i=j;return}if((d[(c[g>>2]|0)+20>>0]|0)&4){i=j;return}if((c[c[f>>2]>>2]|0)!=0?(c[(c[c[g>>2]>>2]|0)+4>>2]&1|0)==0:0){i=j;return}b=(c[f>>2]|0)+64|0;e=(c[g>>2]|0)+40|0;if(!((c[b>>2]&c[e>>2]|0)==0?(c[b+4>>2]&c[e+4>>2]|0)==0:0)){i=j;return}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|0|4;if((c[(c[g>>2]|0)+4>>2]|0)<0){i=j;return}c[h>>2]=(c[(c[(c[g>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)*48|0);b=(c[h>>2]|0)+21|0;e=(a[b>>0]|0)+-1<<24>>24;a[b>>0]=e;if(e&255){i=j;return}cv(c[f>>2]|0,c[h>>2]|0);i=j;return}function dv(d,f,g,h,j){d=d|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;k=A+4|0;l=A+44|0;m=A+24|0;C=A+20|0;n=A+32|0;q=A+64|0;s=A+66|0;y=A+56|0;B=A+8|0;v=A+60|0;t=A+28|0;p=A+12|0;x=A;r=A+16|0;z=A+36|0;o=A+52|0;w=A+48|0;u=A+40|0;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;c[C>>2]=h;c[n>>2]=j;c[y>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[l>>2]|0)+56>>2];b[q>>1]=b[(c[t>>2]|0)+24>>1]|0;b[s>>1]=b[(c[t>>2]|0)+24+2>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+4>>2];c[x>>2]=(c[(c[k>>2]|0)+72>>2]|0)+1;c[r>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[k>>2]|0)+72|0;c[j>>2]=(c[j>>2]|0)+(c[r>>2]|0);j=c[c[k>>2]>>2]|0;c[z>>2]=ef(j,Zt(c[y>>2]|0,c[B>>2]|0)|0)|0;if(!(c[z>>2]|0))a[(c[c[k>>2]>>2]|0)+64>>0]=1;a:do if(b[s>>1]|0){c[o>>2]=c[(c[l>>2]|0)+8>>2];ur(c[y>>2]|0,(c[m>>2]|0)!=0?105:108,c[o>>2]|0)|0;c[p>>2]=Yo(c[y>>2]|0,16)|0;C=wf(c[y>>2]|0,(c[m>>2]|0)!=0?62:65,c[o>>2]|0,0,c[x>>2]|0,e[s>>1]|0)|0;c[(c[l>>2]|0)+20>>2]=C;jp(c[y>>2]|0,c[p>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[s>>1]|0))break a;Uo(c[y>>2]|0,47,c[o>>2]|0,c[p>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=e[s>>1];while(1){if((c[p>>2]|0)>=(e[q>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+44>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=bv(c[k>>2]|0,c[v>>2]|0,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[p>>2]|0)|0))if((c[r>>2]|0)==1){Xo(c[k>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{Ro(c[y>>2]|0,34,c[w>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;break}while(0);if(!(e[(c[v>>2]|0)+18>>1]&129)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if(Gs(c[u>>2]|0)|0)Ro(c[y>>2]|0,76,(c[x>>2]|0)+(c[p>>2]|0)|0,c[(c[l>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((bt(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65;if(ev(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65}}c[p>>2]=(c[p>>2]|0)+1}c[c[n>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function ev(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==158)f=1;else f=(d[c[g>>2]>>0]|0)==157;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[j>>0]=a[e>>0]|0;if((d[j>>0]|0)==159)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 132:{if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;c[k>>2]=e&1;break a}case 133:{if((a[h>>0]|0)==69)e=1;else e=(a[h>>0]|0)==67;c[k>>2]=e&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 134:{c[k>>2]=1;break a}case 154:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;else e=0;c[k>>2]=e&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function fv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)d=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else d=0;e=c[j>>2]|0;if(!d)break;c[j>>2]=e+-1}if((e|0)<=0){i=m;return}Ro(c[l>>2]|0,48,c[h>>2]|0,c[j>>2]|0)|0;Df(c[l>>2]|0,-1,c[k>>2]|0,c[j>>2]|0);Ls(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function gv(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;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,u=0;p=i;i=i+160|0;m=p+8|0;u=p+132|0;t=p+136|0;s=p+140|0;k=p;r=p+152|0;q=p+128|0;o=p+144|0;n=p+148|0;l=p+16|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[r>>2]=h;c[q>>2]=j;c[o>>2]=0;c[n>>2]=hv(l,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;while(1){if(!(c[n>>2]|0)){f=10;break}t=(c[n>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[n>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[n>>2]|0)+18>>1]|0)&2|0)!=0:0){f=6;break}if(!(c[o>>2]|0))c[o>>2]=c[n>>2]}c[n>>2]=iv(l)|0}if((f|0)==6){c[m>>2]=c[n>>2];u=c[m>>2]|0;i=p;return u|0}else if((f|0)==10){c[m>>2]=c[o>>2];u=c[m>>2]|0;i=p;return u|0}return 0}function hv(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;t=i;i=i+32|0;l=t+4|0;m=t+16|0;u=t+8|0;n=t+20|0;o=t+28|0;p=t;q=t+12|0;r=t+24|0;c[m>>2]=d;c[u>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[c[m>>2]>>2]=c[u>>2];c[(c[m>>2]|0)+4>>2]=c[u>>2];do if((c[q>>2]|0)!=0&(c[o>>2]|0)>=0){a[(c[m>>2]|0)+12>>0]=a[(c[(c[(c[q>>2]|0)+12>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)+21>>0]|0;c[r>>2]=0;while(1){g=c[r>>2]|0;h=c[q>>2]|0;if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)==(c[o>>2]|0)){s=7;break}if((g|0)>(e[h+52>>1]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((s|0)==7){c[(c[m>>2]|0)+8>>2]=c[(c[h+32>>2]|0)+(g<<2)>>2];break}c[l>>2]=0;u=c[l>>2]|0;i=t;return u|0}else{a[(c[m>>2]|0)+12>>0]=0;c[(c[m>>2]|0)+8>>2]=0}while(0);c[(c[m>>2]|0)+16>>2]=c[p>>2];c[(c[m>>2]|0)+20>>2]=0;c[(c[m>>2]|0)+24>>2]=c[n>>2];c[(c[m>>2]|0)+24+4>>2]=c[o>>2];a[(c[m>>2]|0)+13>>0]=2;a[(c[m>>2]|0)+14>>0]=2;c[l>>2]=iv(c[m>>2]|0)|0;u=c[l>>2]|0;i=t;return u|0}function iv(f){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;s=i;i=i+48|0;o=s+36|0;p=s+16|0;h=s;g=s+28|0;n=s+32|0;m=s+40|0;r=s+12|0;q=s+24|0;j=s+20|0;k=s+8|0;l=s+4|0;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+20>>2];a:while(1){if((d[(c[p>>2]|0)+14>>0]|0)>(d[(c[p>>2]|0)+13>>0]|0)){g=35;break}c[h>>2]=c[(c[p>>2]|0)+24+((d[(c[p>>2]|0)+14>>0]|0)-2<<2)>>2];c[g>>2]=c[(c[p>>2]|0)+24+((d[(c[p>>2]|0)+14>>0]|0)-1<<2)>>2];while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+8>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){if((d[(c[p>>2]|0)+14>>0]|0)>2?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if((e[(c[r>>2]|0)+18>>1]&1024|0)!=0?(d[(c[p>>2]|0)+13>>0]|0)<22:0){c[n>>2]=Vp(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+13>>0]|0))break;if((c[(c[p>>2]|0)+24+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(c[(c[p>>2]|0)+24+((c[j>>2]|0)+1<<2)>>2]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+2}if((c[j>>2]|0)==(d[(c[p>>2]|0)+13>>0]|0)){c[(c[p>>2]|0)+24+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];c[(c[p>>2]|0)+24+((c[j>>2]|0)+1<<2)>>2]=b[(c[n>>2]|0)+32>>1];f=(c[p>>2]|0)+13|0;a[f>>0]=(d[f>>0]|0)+2}}if(e[(c[r>>2]|0)+18>>1]&c[(c[p>>2]|0)+16>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+18>>1]&128|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(dt(c[n>>2]|0,a[(c[p>>2]|0)+12>>0]|0)|0))break;c[k>>2]=Ts(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if($b(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+18>>1]&2)){g=31;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=154){g=31;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+24>>2]|0)){g=31;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(c[(c[p>>2]|0)+24+4>>2]|0)){g=31;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+14|0;a[f>>0]=(d[f>>0]|0)+2}if((g|0)==31){c[(c[p>>2]|0)+20>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==35){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function jv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+24|0;j=f+20|0;h=f+16|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;_d(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,g);i=f;return}function kv(a,d,f){a=a|0;d=d|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;t=i;i=i+64|0;j=t;q=t+16|0;l=t+8|0;v=t+28|0;u=t+32|0;g=t+48|0;h=t+50|0;r=t+24|0;o=t+20|0;m=t+36|0;n=t+40|0;k=t+12|0;p=t+4|0;s=t+44|0;c[q>>2]=a;c[l>>2]=d;c[v>>2]=f;c[u>>2]=c[(c[l>>2]|0)+24+4>>2];b[g>>1]=b[(c[l>>2]|0)+24>>1]|0;b[h>>1]=b[(c[l>>2]|0)+24+2>>1]|0;c[m>>2]=c[(c[v>>2]|0)+4>>2];c[n>>2]=c[(c[u>>2]|0)+4>>2];if((e[g>>1]|0)==0?(c[(c[l>>2]|0)+36>>2]&48|0)==0:0){i=t;return}es(c[q>>2]|0,26388,2);c[r>>2]=0;while(1){d=c[r>>2]|0;if((c[r>>2]|0)>=(e[g>>1]|0))break;if((b[(c[n>>2]|0)+(d<<1)>>1]|0)<0)d=18143;else d=c[(c[m>>2]|0)+((b[(c[n>>2]|0)+(c[r>>2]<<1)>>1]|0)*24|0)>>2]|0;c[k>>2]=d;if((c[r>>2]|0)>=(e[h>>1]|0))lv(c[q>>2]|0,c[r>>2]|0,c[k>>2]|0,26391);else{if(c[r>>2]|0)es(c[q>>2]|0,26393,5);v=c[q>>2]|0;c[j>>2]=c[k>>2];jv(v,0,26399,j)}c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=d;if(c[(c[l>>2]|0)+36>>2]&32){if((b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0)<0)d=18143;else d=c[(c[m>>2]|0)+((b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0)*24|0)>>2]|0;c[p>>2]=d;u=c[q>>2]|0;v=c[r>>2]|0;c[r>>2]=v+1;lv(u,v,c[p>>2]|0,26407)}if(c[(c[l>>2]|0)+36>>2]&16){if((b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0)<0)d=18143;else d=c[(c[m>>2]|0)+((b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0)*24|0)>>2]|0;c[s>>2]=d;lv(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,26409)}es(c[q>>2]|0,26411,1);i=t;return}function lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[k>>2]|0)es(c[f>>2]|0,26393,5);fs(c[f>>2]|0,c[g>>2]|0);es(c[f>>2]|0,c[h>>2]|0,1);es(c[f>>2]|0,22934,1);i=j;return}function mv(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+40>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+18>>1]|0)&2)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+12>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+12>>2]|0)*24|0)+21>>0]|0;if(dt(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function nv(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+42>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=qf(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}EH(c[l>>2]|0,c[(c[j>>2]|0)+44>>2]|0,(e[(c[j>>2]|0)+42>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+44>>2]|0)!=((c[j>>2]|0)+52|0))Nd(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[(c[j>>2]|0)+44>>2]=c[l>>2];b[(c[j>>2]|0)+42>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function ov(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;n=m+4|0;g=m+24|0;o=m+8|0;h=m+20|0;k=m;j=m+16|0;l=m+12|0;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=gf(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function pv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+8|0;e=j+20|0;g=j+16|0;h=j;c[e>>2]=a;c[g>>2]=b;b=h;c[b>>2]=0;c[b+4>>2]=0;if(!(c[g>>2]|0)){g=f;c[g>>2]=0;c[g+4>>2]=0;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=c[e>>2]|0;a=c[g>>2]|0;if((d[c[g>>2]>>0]|0|0)==154){g=Zu(b,c[a+28>>2]|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=h;h=c[e+4>>2]|0;g=f;c[g>>2]=c[e>>2];c[g+4>>2]=h;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}l=pv(b,c[a+16>>2]|0)|0;k=h;c[k>>2]=l;c[k+4>>2]=C;k=pv(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;b=c[l+4>>2]|C;a=h;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b;a=c[e>>2]|0;b=(c[g>>2]|0)+20|0;if(c[(c[g>>2]|0)+4>>2]&2048){g=qv(a,c[b>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}else{g=Yu(a,c[b>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=f;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=f;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function qv(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;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+32>>2];k=Yu(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=Yu(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=Yu(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=pv(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=pv(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=qv(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=pv(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+44>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+52>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function rv(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){c=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=c;g=b[e>>1]|0;i=h;return g|0}a=b[f>>1]|0;if((c<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=a+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=a+(d[26468+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[26468+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function sv(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;$=i;i=i+144|0;W=$+138|0;n=$+108|0;o=$+96|0;p=$+88|0;q=$+124|0;r=$+130|0;s=$+76|0;t=$+72|0;T=$+134|0;R=$+140|0;S=$+139|0;B=$+141|0;w=$+136|0;A=$+137|0;G=$+128|0;F=$+132|0;H=$+126|0;z=$+52|0;X=$+48|0;D=$+120|0;y=$+64|0;x=$+68|0;N=$+112|0;P=$+116|0;O=$+104|0;L=$+84|0;M=$+56|0;v=$+80|0;Z=$+24|0;I=$+16|0;J=$+8|0;Q=$;U=$+60|0;V=$+100|0;u=$+135|0;K=$+92|0;E=$+32|0;Y=$+40|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[N>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=Z;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+60>>1]&128|0)!=0:0){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}b[H>>1]=c[c[o>>2]>>2];if((e[H>>1]|0)>63){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}a[B>>0]=1;f=CH(1,0,e[H>>1]|0)|0;f=AH(f|0,C|0,1,0)|0;j=I;c[j>>2]=f;c[j+4>>2]=C;j=J;c[j>>2]=0;c[j+4>>2]=0;j=Q;c[j>>2]=0;c[j+4>>2]=0;c[z>>2]=0;while(1){if(!(d[B>>0]|0))break;f=Z;h=c[f+4>>2]|0;j=I;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[z>>2]|0)>(e[r>>1]|0))break;if((c[z>>2]|0)>0){m=(c[N>>2]|0)+8|0;h=Q;f=c[h+4>>2]|c[m+4>>2];j=Q;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[z>>2]|0)<(e[r>>1]|0))k=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2]|0;else k=c[s>>2]|0;c[N>>2]=k;k=c[N>>2]|0;if(c[(c[N>>2]|0)+36>>2]&1024){_=16;break}c[y>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+40>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break;f=CH(1,0,c[X>>2]|0)|0;j=Z;do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[O>>2]=Vp(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0,(d[c[O>>2]>>0]|0)==154):0)?(c[(c[O>>2]|0)+28>>2]|0)==(c[y>>2]|0):0)?(j=Q,c[P>>2]=gv((c[n>>2]|0)+328|0,c[y>>2]|0,b[(c[O>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],130,0)|0,(c[P>>2]|0)!=0):0){if((e[(c[P>>2]|0)+18>>1]&2|0)!=0?(b[(c[O>>2]|0)+32>>1]|0)>=0:0){c[L>>2]=Pp(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[U>>2]=c[c[L>>2]>>2];c[L>>2]=Pp(c[c[n>>2]>>2]|0,c[c[P>>2]>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[V>>2]=c[c[L>>2]>>2];if($b(c[U>>2]|0,c[V>>2]|0)|0)break}m=CH(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[X>>2]=(c[X>>2]|0)+1}if(!(c[(c[N>>2]|0)+36>>2]&4096)){if(c[(c[N>>2]|0)+36>>2]&256){c[M>>2]=0;b[G>>1]=0;b[F>>1]=1}else{j=c[(c[N>>2]|0)+24+4>>2]|0;c[M>>2]=j;if(!j){_=38;break}if((d[(c[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}b[G>>1]=b[(c[M>>2]|0)+50>>1]|0;b[F>>1]=b[(c[M>>2]|0)+52>>1]|0;a[B>>0]=(d[(c[M>>2]|0)+54>>0]|0)!=0}a[T>>0]=0;a[R>>0]=0;a[w>>0]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[F>>1]|0))break;if(((c[D>>2]|0)<(e[(c[N>>2]|0)+24>>1]|0)?(e[(c[N>>2]|0)+24+2>>1]|0)==0:0)?(j=e[(c[(c[(c[N>>2]|0)+44>>2]|0)+(c[D>>2]<<2)>>2]|0)+18>>1]|0,c[X>>2]=j,(j&130|0)!=0):0){if(c[X>>2]&128)a[B>>0]=0}else{if(c[M>>2]|0){c[x>>2]=b[(c[(c[M>>2]|0)+4>>2]|0)+(c[D>>2]<<1)>>1];a[S>>0]=a[(c[(c[M>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0;if((c[x>>2]|0)==(b[(c[(c[M>>2]|0)+12>>2]|0)+36>>1]|0))c[x>>2]=-1}else{c[x>>2]=-1;a[S>>0]=0}do if((d[B>>0]|0)!=0&(c[x>>2]|0)>=0?(c[D>>2]|0)>=(e[(c[N>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[M>>2]|0)+12>>2]|0)+4>>2]|0)+((c[x>>2]|0)*24|0)+20>>0]|0)break;a[B>>0]=0}while(0);a[u>>0]=1;a[A>>0]=0;c[X>>2]=0;a:while(1){if(!(d[u>>0]|0))break;if((c[X>>2]|0)>=(e[H>>1]|0))break;f=CH(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[O>>2]=Vp(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&768))a[u>>0]=0;if((d[c[O>>2]>>0]|0)!=154)break;if((c[(c[O>>2]|0)+28>>2]|0)!=(c[y>>2]|0))break;if((b[(c[O>>2]|0)+32>>1]|0)!=(c[x>>2]|0))break;if((c[x>>2]|0)<0){_=68;break a}c[L>>2]=Pp(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];if(!($b(c[c[L>>2]>>2]|0,c[(c[(c[M>>2]|0)+32>>2]|0)+(c[D>>2]<<2)>>2]|0)|0)){_=68;break a}}while(0);c[X>>2]=(c[X>>2]|0)+1}if((_|0)==68){_=0;a[A>>0]=1}do if(d[A>>0]|0){if(e[q>>1]&256)break;if(a[T>>0]|0){if((d[R>>0]^d[S>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0]|0))break;a[A>>0]=0;break}a[R>>0]=d[S>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0];if(a[R>>0]|0){m=CH(1,0,c[z>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[T>>0]=1}while(0);if(!(a[A>>0]|0)){_=82;break}if((c[x>>2]|0)<0)a[w>>0]=1;m=CH(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[D>>2]=(c[D>>2]|0)+1}do if((_|0)==82){_=0;if((c[D>>2]|0)!=0?(c[D>>2]|0)>=(e[G>>1]|0):0)break;a[B>>0]=0}while(0);if(a[w>>0]|0)a[B>>0]=1}b:do if(a[B>>0]|0){m=(c[N>>2]|0)+8|0;h=J;f=c[h+4>>2]|c[m+4>>2];j=J;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break b;f=CH(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[K>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2];f=pv((c[n>>2]|0)+68|0,c[K>>2]|0)|0;j=E;c[j>>2]=f;c[j+4>>2]=C;j=E;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?(Ms(c[K>>2]|0)|0)==0:0)break;f=E;j=J;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=CH(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((_|0)==16){if(a[k+24+5>>0]|0){U=I;V=c[U+4>>2]|0;_=Z;c[_>>2]=c[U>>2];c[_+4>>2]=V}}else if((_|0)==38){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}V=Z;_=I;if((c[V>>2]|0)==(c[_>>2]|0)?(c[V+4>>2]|0)==(c[_+4>>2]|0):0){a[W>>0]=b[H>>1];_=a[W>>0]|0;i=$;return _|0}if(a[B>>0]|0){a[W>>0]=-1;_=a[W>>0]|0;i=$;return _|0}c[X>>2]=(e[H>>1]|0)-1;while(1){if((c[X>>2]|0)<=0){_=106;break}V=CH(1,0,c[X>>2]|0)|0;V=AH(V|0,C|0,1,0)|0;U=Y;c[U>>2]=V;c[U+4>>2]=C;U=Z;V=Y;_=Y;k=c[X>>2]|0;if((c[U>>2]&c[V>>2]|0)==(c[_>>2]|0)?(c[U+4>>2]&c[V+4>>2]|0)==(c[_+4>>2]|0):0){_=104;break}c[X>>2]=k+-1}if((_|0)==104){a[W>>0]=k;_=a[W>>0]|0;i=$;return _|0}else if((_|0)==106){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}return 0}function tv(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;k=j+8|0;m=j+16|0;n=j+4|0;o=j;l=j+14|0;h=j+12|0;c[k>>2]=a;b[m>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[l>>1]=((Qp(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;a=b[m>>1]|0;a=a+((uv(b[m>>1]|0)|0)<<16>>16)|0;b[h>>1]=a+(b[l>>1]|0)+16;if(!(e[(c[k>>2]|0)+34>>1]&1024)){o=b[h>>1]|0;i=j;return o|0}b[h>>1]=(b[h>>1]|0)+16;o=b[h>>1]|0;i=j;return o|0}function uv(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Qp(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function vv(f,g,j){f=f|0;g=g|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,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;H=i;i=i+112|0;F=H;k=H+16|0;l=H+68|0;m=H+8|0;J=H+20|0;x=H+24|0;B=H+28|0;I=H+64|0;y=H+32|0;n=H+40|0;v=H+44|0;u=H+48|0;A=H+52|0;z=H+56|0;o=H+60|0;r=H+36|0;q=H+72|0;s=H+76|0;t=H+80|0;D=H+84|0;E=H+88|0;p=H+92|0;w=H+96|0;C=H+100|0;c[l>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=j;c[D>>2]=0;c[E>>2]=0;c[C>>2]=0;c[J>>2]=c[c[l>>2]>>2];c[x>>2]=c[c[J>>2]>>2];c[n>>2]=c[c[x>>2]>>2];c[B>>2]=c[(c[l>>2]|0)+4>>2];c[w>>2]=c[(c[l>>2]|0)+12>>2];c[I>>2]=(c[(c[J>>2]|0)+4>>2]|0)+8+((d[(c[w>>2]|0)+16>>0]|0)*72|0);c[y>>2]=c[(c[I>>2]|0)+16>>2];c[v>>2]=Nv(c[x>>2]|0,c[B>>2]|0,c[I>>2]|0,c[(c[l>>2]|0)+8>>2]|0)|0;if(!(c[v>>2]|0)){c[k>>2]=7;J=c[k>>2]|0;i=H;return J|0}J=c[w>>2]|0;c[J>>2]=0;c[J+4>>2]=0;b[(c[w>>2]|0)+18>>1]=0;c[(c[w>>2]|0)+36>>2]=1024;b[(c[w>>2]|0)+40>>1]=0;a[(c[w>>2]|0)+24+4>>0]=0;c[A>>2]=c[(c[v>>2]|0)+16>>2];c[t>>2]=c[c[v>>2]>>2];if(nv(c[n>>2]|0,c[w>>2]|0,c[t>>2]|0)|0){Nd(c[n>>2]|0,c[v>>2]|0);c[k>>2]=7;J=c[k>>2]|0;i=H;return J|0}c[p>>2]=0;a:while(1){if((c[p>>2]|0)>3)break;if(((c[D>>2]|0)==0?(c[p>>2]&1|0)!=0:0)?(c[p>>2]=(c[p>>2]|0)+1,(c[p>>2]|0)>3):0)break;if((c[E>>2]|0)==0&(c[p>>2]|0)>1)break;c[u>>2]=c[(c[v>>2]|0)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[v>>2]>>2]|0))break;c[r>>2]=c[(c[u>>2]|0)+8>>2];c[z>>2]=(c[(c[B>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);b:do switch(c[p>>2]|0){case 0:{a[(c[u>>2]|0)+5>>0]=0;if(e[(c[z>>2]|0)+18>>1]&1)c[D>>2]=1;J=(c[z>>2]|0)+32|0;if((c[J>>2]|0)!=0|(c[J+4>>2]|0)!=0){c[E>>2]=1;break b}if(!(e[(c[z>>2]|0)+18>>1]&1))a[(c[u>>2]|0)+5>>0]=1;break}case 1:{J=(c[z>>2]|0)+32|0;a[(c[u>>2]|0)+5>>0]=(c[J>>2]|0)==0&(c[J+4>>2]|0)==0&1;break}case 2:{a[(c[u>>2]|0)+5>>0]=(e[(c[z>>2]|0)+18>>1]&1|0)==0;break}default:a[(c[u>>2]|0)+5>>0]=1}while(0);c[o>>2]=(c[o>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+12}BH(c[A>>2]|0,0,c[c[v>>2]>>2]<<3|0)|0;if(c[(c[v>>2]|0)+28>>2]|0)Sb(c[(c[v>>2]|0)+24>>2]|0);c[(c[v>>2]|0)+24>>2]=0;c[(c[v>>2]|0)+20>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+32>>2]=0;h[(c[v>>2]|0)+40>>3]=5.e+98;J=(c[v>>2]|0)+48|0;c[J>>2]=25;c[J+4>>2]=0;c[C>>2]=Ov(c[x>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;if(c[C>>2]|0)break;c[u>>2]=c[(c[v>>2]|0)+4>>2];f=m;I=c[f+4>>2]|0;J=c[w>>2]|0;c[J>>2]=c[f>>2];c[J+4>>2]=I;c[s>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;c[(c[(c[w>>2]|0)+44>>2]|0)+(c[o>>2]<<2)>>2]=0;c[o>>2]=(c[o>>2]|0)+1}b[(c[w>>2]|0)+24+6>>1]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;J=(c[(c[A>>2]|0)+(c[o>>2]<<3)>>2]|0)-1|0;c[q>>2]=J;if((J|0)>=0){c[r>>2]=c[(c[u>>2]|0)+8>>2];if((c[r>>2]|0)<0?1:(c[q>>2]|0)>=(c[t>>2]|0)){G=36;break a}if((c[r>>2]|0)>=(c[(c[B>>2]|0)+12>>2]|0)){G=36;break a}if(c[(c[(c[w>>2]|0)+44>>2]|0)+(c[q>>2]<<2)>>2]|0){G=36;break a}c[z>>2]=(c[(c[B>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);f=(c[z>>2]|0)+32|0;J=c[w>>2]|0;j=J;I=c[j+4>>2]|c[f+4>>2];c[J>>2]=c[j>>2]|c[f>>2];c[J+4>>2]=I;c[(c[(c[w>>2]|0)+44>>2]|0)+(c[q>>2]<<2)>>2]=c[z>>2];if((c[q>>2]|0)>(c[s>>2]|0))c[s>>2]=c[q>>2];if((c[q>>2]|0)<16?(d[(c[A>>2]|0)+(c[o>>2]<<3)+4>>0]|0)!=0:0){J=(c[w>>2]|0)+24+6|0;b[J>>1]=e[J>>1]|1<>2]}if(e[(c[z>>2]|0)+18>>1]&1){if(!(d[(c[A>>2]|0)+(c[o>>2]<<3)+4>>0]|0))break;c[(c[v>>2]|0)+32>>2]=0}}c[o>>2]=(c[o>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+12}if((c[o>>2]|0)>=(c[t>>2]|0)){b[(c[w>>2]|0)+40>>1]=(c[s>>2]|0)+1;c[(c[w>>2]|0)+24>>2]=c[(c[v>>2]|0)+20>>2];a[(c[w>>2]|0)+24+4>>0]=c[(c[v>>2]|0)+28>>2];c[(c[v>>2]|0)+28>>2]=0;c[(c[w>>2]|0)+24+8>>2]=c[(c[v>>2]|0)+24>>2];if(c[(c[v>>2]|0)+32>>2]|0)g=c[(c[v>>2]|0)+8>>2]|0;else g=0;a[(c[w>>2]|0)+24+5>>0]=g;b[(c[w>>2]|0)+18>>1]=0;J=Pv(+h[(c[v>>2]|0)+40>>3])|0;b[(c[w>>2]|0)+20>>1]=J;J=(c[v>>2]|0)+48|0;J=Qp(c[J>>2]|0,c[J+4>>2]|0)|0;b[(c[w>>2]|0)+22>>1]=J;Av(c[l>>2]|0,c[w>>2]|0)|0;if(a[(c[w>>2]|0)+24+4>>0]|0){Sb(c[(c[w>>2]|0)+24+8>>2]|0);a[(c[w>>2]|0)+24+4>>0]=0}}c[p>>2]=(c[p>>2]|0)+1}if((G|0)==36){c[C>>2]=1;J=c[x>>2]|0;c[F>>2]=c[c[y>>2]>>2];sf(J,26500,F)}if(c[(c[v>>2]|0)+28>>2]|0)Sb(c[(c[v>>2]|0)+24>>2]|0);Nd(c[n>>2]|0,c[v>>2]|0);c[k>>2]=c[C>>2];J=c[k>>2]|0;i=H;return J|0}function wv(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,A=0,B=0,D=0,E=0,F=0;E=i;i=i+144|0;j=E+24|0;k=E+8|0;y=E+16|0;s=E+20|0;B=E+32|0;m=E+132|0;l=E+136|0;F=E+88|0;t=E+124|0;r=E+96|0;D=E+128|0;o=E+108|0;n=E+112|0;A=E+138|0;z=E+140|0;w=E+100|0;u=E+92|0;q=E+120|0;v=E+116|0;x=E+104|0;p=E;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[D>>2]=0;c[o>>2]=1;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[y>>2]=c[c[j>>2]>>2];c[F>>2]=c[(c[y>>2]|0)+4>>2];c[t>>2]=(c[F>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[w>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[t>>2]|0)+68>>2]|0)c[s>>2]=c[(c[t>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+44>>0]&32){c[s>>2]=c[(c[u>>2]|0)+8>>2];break}h=B;g=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));b[B+50>>1]=1;b[B+52>>1]=1;c[B+4>>2]=l;c[B+8>>2]=m;a[B+54>>0]=5;c[B+12>>2]=c[u>>2];b[B+48>>1]=b[(c[u>>2]|0)+42>>1]|0;b[m>>1]=b[(c[u>>2]|0)+28>>1]|0;b[m+2>>1]=0;c[q>>2]=c[(c[(c[t>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[t>>2]|0)+37>>0]&1))c[B+20>>2]=c[q>>2];c[s>>2]=B}while(0);b[A>>1]=b[(c[u>>2]|0)+28>>1]|0;b[z>>1]=uv(b[A>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(c[(c[c[c[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[t>>2]|0)+68>>2]|0)==0:0)?((d[(c[t>>2]|0)+37>>0]|0)>>>2&1|0)==0:0)?(a[(c[t>>2]|0)+37>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+44>>0]&32|0)==0:0)?((d[(c[t>>2]|0)+37>>0]|0)>>>1&1|0)==0:0)?((d[(c[t>>2]|0)+37>>0]|0)>>>3&1|0)==0:0){c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(c[D>>2]|0)break a;if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break a;B=(c[v>>2]|0)+32|0;F=(c[r>>2]|0)+8|0;if(!((c[B>>2]&c[F>>2]|0)!=0?1:(c[B+4>>2]&c[F+4>>2]|0)!=0)?(mv(c[v>>2]|0,c[t>>2]|0,0,0)|0)!=0:0){b[(c[r>>2]|0)+24>>1]=1;b[(c[r>>2]|0)+24+2>>1]=0;c[(c[r>>2]|0)+24+4>>2]=0;b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+44>>2]>>2]=c[v>>2];b[(c[r>>2]|0)+18>>1]=(b[z>>1]|0)+(b[A>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+44>>0]&2|0)==0:0){F=(c[r>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[r>>2]|0)+22>>1]=43;m=rv(b[z>>1]|0,b[(c[r>>2]|0)+22>>1]|0)|0;b[(c[r>>2]|0)+20>>1]=m;c[(c[r>>2]|0)+36>>2]=16384;m=k;q=(c[v>>2]|0)+32|0;B=c[m+4>>2]|c[q+4>>2];F=c[r>>2]|0;c[F>>2]=c[m>>2]|c[q>>2];c[F+4>>2]=B;c[D>>2]=Av(c[j>>2]|0,c[r>>2]|0)|0}c[v>>2]=(c[v>>2]|0)+48}}while(0);b:while(1){if(!((c[D>>2]|0)==0?(c[s>>2]|0)!=0:0)){h=46;break}if(!((c[(c[s>>2]|0)+36>>2]|0)!=0?(Fv(c[(c[t>>2]|0)+40>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+36>>2]|0)|0)==0:0)){b[A>>1]=b[c[(c[s>>2]|0)+8>>2]>>1]|0;b[(c[r>>2]|0)+24>>1]=0;b[(c[r>>2]|0)+24+2>>1]=0;b[(c[r>>2]|0)+40>>1]=0;a[(c[r>>2]|0)+17>>0]=0;b[(c[r>>2]|0)+18>>1]=0;z=k;B=c[z+4>>2]|0;F=c[r>>2]|0;c[F>>2]=c[z>>2];c[F+4>>2]=B;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;c[(c[r>>2]|0)+24+4>>2]=c[s>>2];c[n>>2]=Gv(c[j>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+40>>2]|0)|0;do if((c[(c[s>>2]|0)+44>>2]|0)<=0){c[(c[r>>2]|0)+36>>2]=256;a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+16;Hv(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=Av(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){h=46;break b}}else{if((d[(c[s>>2]|0)+55>>0]|0)>>>5&1){c[(c[r>>2]|0)+36>>2]=576;F=p;c[F>>2]=0;c[F+4>>2]=0}else{B=(c[t>>2]|0)+56|0;x=c[B>>2]|0;B=c[B+4>>2]|0;z=Iv(c[s>>2]|0)|0;F=p;c[F>>2]=x&~z;c[F+4>>2]=B&~C;F=p;c[(c[r>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[n>>2]|0)==0?(d[(c[u>>2]|0)+44>>0]&32|0)==0:0){F=p;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[s>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[s>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+42>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[y>>2]|0)+34>>1]&4|0)==0:0))break;if(e[(c[c[c[y>>2]>>2]>>2]|0)+60>>1]&64)break}a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+1+(((b[(c[s>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+42>>1]|0)|0);F=p;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=rv(b[(c[r>>2]|0)+20>>1]|0,(b[A>>1]|0)+16&65535)|0;b[(c[r>>2]|0)+20>>1]=F}Hv(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=Av(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){h=46;break b}}while(0);c[D>>2]=Jv(c[j>>2]|0,c[t>>2]|0,c[s>>2]|0,0)|0;if(c[(c[t>>2]|0)+68>>2]|0){h=46;break}}c[s>>2]=c[(c[s>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if((h|0)==46){i=E;return c[D>>2]|0}return 0}function xv(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,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+672|0;k=F+624|0;l=F+112|0;j=F+636|0;w=F+632|0;r=F+596|0;v=F+608|0;x=F+604|0;y=F+628|0;n=F+620|0;D=F+120|0;B=F+644|0;C=F;z=F+56|0;q=F+612|0;t=F+592|0;u=F+588|0;s=F+616|0;p=F+584|0;m=F+600|0;o=F+640|0;A=F+528|0;c[k>>2]=f;f=l;c[f>>2]=g;c[f+4>>2]=h;c[j>>2]=c[c[k>>2]>>2];c[y>>2]=0;c[w>>2]=c[(c[k>>2]|0)+4>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[r>>2]=c[(c[k>>2]|0)+12>>2];g=C;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[q>>2]=(c[(c[j>>2]|0)+4>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[n>>2]=c[(c[q>>2]|0)+40>>2];c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(!((c[v>>2]|0)>>>0<(c[x>>2]|0)>>>0?(c[y>>2]|0)==0:0))break;a:do if((e[(c[v>>2]|0)+18>>1]&256|0)!=0?(f=(c[(c[v>>2]|0)+12>>2]|0)+408|0,j=(c[r>>2]|0)+8|0,(c[f>>2]&c[j>>2]|0)!=0?1:(c[f+4>>2]&c[j+4>>2]|0)!=0):0){c[t>>2]=c[(c[v>>2]|0)+12>>2];c[u>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[p>>2]=1;j=c[k>>2]|0;c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];c[B+16>>2]=c[j+16>>2];c[B+8>>2]=0;c[B+16>>2]=z;c[s>>2]=c[(c[t>>2]|0)+20>>2];b:while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;h=c[s>>2]|0;if(!(e[(c[s>>2]|0)+18>>1]&512)){if((c[h+8>>2]|0)==(c[n>>2]|0)){c[D>>2]=c[c[w>>2]>>2];c[D+4>>2]=c[w>>2];a[D+8>>0]=72;c[D+12>>2]=1;c[D+20>>2]=c[s>>2];c[B+4>>2]=D;E=11}}else{c[B+4>>2]=c[h+12>>2];E=11}c:do if((E|0)==11){E=0;b[z>>1]=0;g=l;h=c[g>>2]|0;g=c[g+4>>2]|0;if(d[(c[(c[q>>2]|0)+16>>2]|0)+44>>0]&16)c[y>>2]=vv(B,h,g)|0;else c[y>>2]=wv(B,h,g)|0;if(!(c[y>>2]|0)){j=l;c[y>>2]=xv(B,c[j>>2]|0,c[j+4>>2]|0)|0}if(!(e[z>>1]|0)){E=17;break b}if(c[p>>2]|0){yv(C,z);c[p>>2]=0;break}yv(A,C);b[C>>1]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[A>>1]|0))break c;c[o>>2]=0;while(1){h=c[m>>2]|0;if((c[o>>2]|0)>=(e[z>>1]|0))break;j=A+8+(h<<4)|0;f=z+8+(c[o>>2]<<4)|0;g=c[j>>2]|c[f>>2];f=c[j+4>>2]|c[f+4>>2];j=rv(b[A+8+(c[m>>2]<<4)+8>>1]|0,b[z+8+(c[o>>2]<<4)+8>>1]|0)|0;zv(C,g,f,j,rv(b[A+8+(c[m>>2]<<4)+10>>1]|0,b[z+8+(c[o>>2]<<4)+10>>1]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=h+1}}while(0);c[s>>2]=(c[s>>2]|0)+48}if((E|0)==17){E=0;b[C>>1]=0}b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+44>>2]>>2]=c[v>>2];c[(c[r>>2]|0)+36>>2]=8192;b[(c[r>>2]|0)+18>>1]=0;a[(c[r>>2]|0)+17>>0]=0;j=(c[r>>2]|0)+24|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[m>>2]=0;while(1){if(c[y>>2]|0)break a;if((c[m>>2]|0)>=(e[C>>1]|0))break a;b[(c[r>>2]|0)+20>>1]=(b[C+8+(c[m>>2]<<4)+8>>1]|0)+1;b[(c[r>>2]|0)+22>>1]=b[C+8+(c[m>>2]<<4)+10>>1]|0;g=C+8+(c[m>>2]<<4)|0;f=c[g+4>>2]|0;j=c[r>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;c[y>>2]=Av(c[k>>2]|0,c[r>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}i=F;return c[y>>2]|0}function yv(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;EH((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function zv(a,d,f,g,h){a=a|0;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,q=0,r=0;r=i;i=i+32|0;k=r+8|0;l=r+16|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+12|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function Av(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p;f=p+16|0;g=p+28|0;n=p+4|0;j=p+32|0;m=p+36|0;h=p+12|0;o=p+24|0;l=p+20|0;k=p+8|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){o=c[g>>2]|0;zv(c[(c[f>>2]|0)+16>>2]|0,c[o>>2]|0,c[o+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0;c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}Bv(c[(c[m>>2]|0)+16>>2]|0,c[g>>2]|0);c[n>>2]=Cv((c[m>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=qf(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){Nu(c[j>>2]|0);c[(c[j>>2]|0)+48>>2]=0;break}c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}else{c[o>>2]=(c[j>>2]|0)+48;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=Cv(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+48>>2];Ku(c[h>>2]|0,c[l>>2]|0)}}while(0);Dv(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+4>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+4>>2]=0;c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}function Bv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&512)){i=h;return}if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&32768|0)==0:0)){i=h;return}do{do if(((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[f>>2]|0)+36>>2]&32768|0)==0:0){if(Ev(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(Ev(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+48>>2]}while((c[f>>2]|0)!=0);i=h;return}function Cv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[j>>2]=a;c[f>>2]=e;c[g>>2]=c[c[j>>2]>>2];while(1){if(!(c[g>>2]|0)){f=18;break}if((d[(c[g>>2]|0)+16>>0]|0)==(d[(c[f>>2]|0)+16>>0]|0)?(d[(c[g>>2]|0)+17>>0]|0)==(d[(c[f>>2]|0)+17>>0]|0):0){if((((c[(c[g>>2]|0)+36>>2]&16384|0)!=0?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[f>>2]|0)+36>>2]&1|0)!=0:0)?(l=c[g>>2]|0,e=c[f>>2]|0,a=c[f>>2]|0,(c[l>>2]&c[e>>2]|0)==(c[a>>2]|0)?(c[l+4>>2]&c[e+4>>2]|0)==(c[a+4>>2]|0):0):0){f=18;break}e=c[g>>2]|0;a=c[f>>2]|0;l=c[g>>2]|0;if(((((c[e>>2]&c[a>>2]|0)==(c[l>>2]|0)?(c[e+4>>2]&c[a+4>>2]|0)==(c[l+4>>2]|0):0)?(b[(c[g>>2]|0)+18>>1]|0)<=(b[(c[f>>2]|0)+18>>1]|0):0)?(b[(c[g>>2]|0)+20>>1]|0)<=(b[(c[f>>2]|0)+20>>1]|0):0)?(b[(c[g>>2]|0)+22>>1]|0)<=(b[(c[f>>2]|0)+22>>1]|0):0){f=13;break}e=c[g>>2]|0;a=c[f>>2]|0;l=c[f>>2]|0;if((((c[e>>2]&c[a>>2]|0)==(c[l>>2]|0)?(c[e+4>>2]&c[a+4>>2]|0)==(c[l+4>>2]|0):0)?(b[(c[g>>2]|0)+20>>1]|0)>=(b[(c[f>>2]|0)+20>>1]|0):0)?(b[(c[g>>2]|0)+22>>1]|0)>=(b[(c[f>>2]|0)+22>>1]|0):0){f=18;break}}c[j>>2]=(c[g>>2]|0)+48;c[g>>2]=c[c[j>>2]>>2]}if((f|0)==13){c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}else if((f|0)==18){c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}return 0}function Dv(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;n=i;i=i+16|0;l=n+12|0;j=n+8|0;k=n+4|0;m=n;c[j>>2]=d;c[k>>2]=f;c[m>>2]=g;Mu(c[j>>2]|0,c[k>>2]|0);j=(nv(c[j>>2]|0,c[k>>2]|0,e[(c[m>>2]|0)+40>>1]|0)|0)!=0;f=c[k>>2]|0;if(j){m=f+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[l>>2]=7;m=c[l>>2]|0;i=n;return m|0}g=c[m>>2]|0;d=f;h=g;j=d+40|0;do{c[d>>2]=c[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(j|0));b[f+40>>1]=b[g+40>>1]|0;EH(c[(c[k>>2]|0)+44>>2]|0,c[(c[m>>2]|0)+44>>2]|0,(e[(c[k>>2]|0)+40>>1]|0)<<2|0)|0;d=c[m>>2]|0;if(!(c[(c[m>>2]|0)+36>>2]&1024)){if(c[d+36>>2]&16384)c[(c[m>>2]|0)+24+4>>2]=0}else a[d+24+4>>0]=0;c[l>>2]=0;m=c[l>>2]|0;i=n;return m|0}function Ev(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if((e[(c[f>>2]|0)+40>>1]|0)>=(e[(c[g>>2]|0)+40>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=17;break}c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+44>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+44>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=15;break}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==15){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==17){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function Fv(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,l=0;l=i;i=i+32|0;k=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[j>>2]=c[(c[f>>2]|0)+20>>2];while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+12>>2]|0)){e=6;break}if(Mv(c[c[j>>2]>>2]|0,c[g>>2]|0,c[e>>2]|0)|0){e=4;break}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+48}if((e|0)==4){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((e|0)==6){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function Gv(a,f,g){a=a|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;q=i;i=i+32|0;p=q+4|0;h=q+16|0;j=q+8|0;k=q+20|0;o=q+28|0;l=q;m=q+12|0;n=q+24|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+55>>0]|0)>>>2&1){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}f=c[(c[c[h>>2]>>2]|0)+8>>2]|0;c[o>>2]=f;if(!f){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=0;a:while(1){if((c[l>>2]|0)>=(c[c[o>>2]>>2]|0)){h=18;break}c[n>>2]=Vp(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;if((d[c[n>>2]>>0]|0)!=154){h=8;break}b:do if((c[(c[n>>2]|0)+28>>2]|0)==(c[k>>2]|0)){if((b[(c[n>>2]|0)+32>>1]|0)<0){h=11;break a}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[j>>2]|0)+50>>1]|0))break b;if((b[(c[n>>2]|0)+32>>1]|0)==(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0)){h=15;break a}c[m>>2]=(c[m>>2]|0)+1}}while(0);c[l>>2]=(c[l>>2]|0)+1}if((h|0)==8){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}else if((h|0)==11){c[p>>2]=1;p=c[p>>2]|0;i=q;return p|0}else if((h|0)==15){c[p>>2]=1;p=c[p>>2]|0;i=q;return p|0}else if((h|0)==18){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function Hv(a,f,g){a=a|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;r=i;i=i+48|0;h=r+8|0;j=r+20|0;k=r+36|0;p=r+28|0;q=r+32|0;o=r;l=r+16|0;m=r+12|0;n=r+24|0;c[h>>2]=a;c[j>>2]=f;b[k>>1]=g;s=c[j>>2]|0;g=(c[j>>2]|0)+8|0;f=~(c[s+4>>2]|c[g+4>>2]);a=o;c[a>>2]=~(c[s>>2]|c[g>>2]);c[a+4>>2]=f;c[n>>2]=0;c[l>>2]=c[(c[h>>2]|0)+12>>2];c[p>>2]=c[(c[h>>2]|0)+20>>2];while(1){if((c[l>>2]|0)<=0)break;if(d[(c[p>>2]|0)+20>>0]&2)break;a=(c[p>>2]|0)+40|0;s=(c[j>>2]|0)+8|0;do if(!((c[a>>2]&c[s>>2]|0)==0?(c[a+4>>2]&c[s+4>>2]|0)==0:0)?(a=(c[p>>2]|0)+40|0,s=o,!((c[a>>2]&c[s>>2]|0)!=0?1:(c[a+4>>2]&c[s+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[j>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[q>>2]=c[(c[(c[j>>2]|0)+44>>2]|0)+(c[m>>2]<<2)>>2];if(c[q>>2]|0){if((c[q>>2]|0)==(c[p>>2]|0))break;if((c[(c[q>>2]|0)+4>>2]|0)>=0?((c[(c[h>>2]|0)+20>>2]|0)+((c[(c[q>>2]|0)+4>>2]|0)*48|0)|0)==(c[p>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[p>>2]|0)+16>>1]|0)<=0){s=(c[j>>2]|0)+22|0;b[s>>1]=(b[s>>1]|0)+(b[(c[p>>2]|0)+16>>1]|0);break}s=(c[j>>2]|0)+22|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16;if(e[(c[p>>2]|0)+18>>1]&2)c[n>>2]=(c[n>>2]|0)+1}}while(0);c[l>>2]=(c[l>>2]|0)+-1;c[p>>2]=(c[p>>2]|0)+48}if(!(c[n>>2]|0)){i=r;return}if((b[(c[j>>2]|0)+22>>1]|0)<=((b[k>>1]|0)-10|0)){i=r;return}b[(c[j>>2]|0)+22>>1]=(b[k>>1]|0)-10;i=r;return}function Iv(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=CH(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function Jv(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,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;O=i;i=i+224|0;m=O+192|0;n=O+24|0;o=O+12|0;p=O+36|0;q=O+198|0;P=O+20|0;A=O+164|0;r=O+172|0;z=O+180|0;B=O+188|0;l=O+40|0;N=O+48|0;L=O;I=O+200|0;H=O+206|0;K=O+210|0;M=O+168|0;J=O+196|0;t=O+176|0;G=O+184|0;F=O+214|0;E=O+204|0;C=O+32|0;x=O+28|0;k=O+212|0;s=O+216|0;D=O+202|0;w=O+208|0;v=O+16|0;y=O+160|0;u=O+8|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;c[P>>2]=c[c[n>>2]>>2];c[A>>2]=c[c[P>>2]>>2];c[r>>2]=c[c[A>>2]>>2];c[G>>2]=0;c[C>>2]=0;c[x>>2]=0;c[z>>2]=c[(c[n>>2]|0)+12>>2];if(a[(c[r>>2]|0)+64>>0]|0){c[m>>2]=7;P=c[m>>2]|0;i=O;return P|0}do if(c[(c[z>>2]|0)+36>>2]&32)c[l>>2]=24;else{if((c[(c[p>>2]|0)+44>>2]|0)>0?(d[(c[o>>2]|0)+36>>0]&8|0)==0:0){c[l>>2]=191;break}c[l>>2]=63}while(0);if((d[(c[p>>2]|0)+55>>0]|0)>>>2&1)c[l>>2]=c[l>>2]&-61;c[t>>2]=b[(c[(c[p>>2]|0)+4>>2]|0)+(e[(c[z>>2]|0)+24>>1]<<1)>>1];c[B>>2]=hv(N,c[(c[n>>2]|0)+4>>2]|0,c[(c[o>>2]|0)+40>>2]|0,c[t>>2]|0,c[l>>2]|0,c[p>>2]|0)|0;b[H>>1]=b[(c[z>>2]|0)+24>>1]|0;b[K>>1]=b[(c[z>>2]|0)+24+2>>1]|0;b[I>>1]=b[(c[z>>2]|0)+40>>1]|0;c[M>>2]=c[(c[z>>2]|0)+36>>2];h=c[z>>2]|0;g=c[h+4>>2]|0;P=L;c[P>>2]=c[h>>2];c[P+4>>2]=g;b[J>>1]=b[(c[z>>2]|0)+22>>1]|0;b[(c[z>>2]|0)+18>>1]=0;b[F>>1]=b[c[(c[p>>2]|0)+8>>2]>>1]|0;b[E>>1]=uv(b[F>>1]|0)|0;if((((e[H>>1]|0)==(e[K>>1]|0)?((e[H>>1]|0)+1|0)<(e[(c[p>>2]|0)+50>>1]|0):0)?(b[(c[(c[p>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=nv(c[r>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0,c[G>>2]=P,(P|0)==0):0){g=(c[z>>2]|0)+24|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[z>>2]|0)+24+2|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[z>>2]|0)+40|0;P=b[g>>1]|0;b[g>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+44>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[k>>1]=(b[(c[(c[p>>2]|0)+8>>2]|0)+(e[H>>1]<<1)>>1]|0)-(b[(c[(c[p>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0);if(c[B>>2]|0)b[k>>1]=(b[k>>1]|0)+10;P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[k>>1]|0);b[k>>1]=(b[k>>1]|0)+5;Jv(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,(b[k>>1]|0)+(b[q>>1]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+24+2>>1]=b[K>>1]|0}while(1){if(!((c[G>>2]|0)==0?(c[B>>2]|0)!=0:0))break;b[s>>1]=b[(c[B>>2]|0)+18>>1]|0;c[v>>2]=0;if((e[s>>1]|0)!=128?(d[(c[B>>2]|0)+20>>0]&0|0)==0:0)k=23;else k=21;if(((k|0)==21?(k=0,(c[t>>2]|0)>=0):0)?(d[(c[(c[(c[o>>2]|0)+16>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+20>>0]|0)==0:0)k=23;if((k|0)==23?(0,g=(c[B>>2]|0)+32|0,P=(c[z>>2]|0)+8|0,!((c[g>>2]&c[P>>2]|0)!=0?1:(c[g+4>>2]&c[P+4>>2]|0)!=0)):0){c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(nv(c[r>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break;f=c[B>>2]|0;h=(c[z>>2]|0)+40|0;l=b[h>>1]|0;b[h>>1]=l+1<<16>>16;c[(c[(c[z>>2]|0)+44>>2]|0)+((l&65535)<<2)>>2]=f;l=L;f=(c[B>>2]|0)+32|0;h=(c[z>>2]|0)+8|0;g=(c[l+4>>2]|c[f+4>>2])&~c[h+4>>2];P=c[z>>2]|0;c[P>>2]=(c[l>>2]|c[f>>2])&~c[h>>2];c[P+4>>2]=g;do if(e[s>>1]&1){c[y>>2]=c[c[B>>2]>>2];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[y>>2]|0)+4>>2]&2048){c[v>>2]=46;break}if((c[(c[y>>2]|0)+20>>2]|0)!=0?(c[c[(c[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[y>>2]|0)+20>>2]>>2]|0;c[v>>2]=(Qp(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else if(e[s>>1]&2){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[t>>2]|0)>=0){if(b[q>>1]|0)break;if((e[(c[z>>2]|0)+24>>1]|0)!=((e[(c[p>>2]|0)+50>>1]|0)-1|0))break}if((c[t>>2]|0)>=0?(d[(c[p>>2]|0)+54>>0]|0)==0:0){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}else{if(e[s>>1]&128){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}k=(c[z>>2]|0)+36|0;j=c[k>>2]|0;if(e[s>>1]&36){c[k>>2]=j|34;c[x>>2]=c[B>>2];c[C>>2]=0;break}c[k>>2]=j|18;c[C>>2]=c[B>>2];if(c[(c[z>>2]|0)+36>>2]&32)k=c[(c[(c[z>>2]|0)+44>>2]|0)+((e[(c[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else k=0;c[x>>2]=k;break}while(0);do if(!(c[(c[z>>2]|0)+36>>2]&2)){g=(c[z>>2]|0)+24|0;P=(b[g>>1]|0)+1<<16>>16;b[g>>1]=P;c[u>>2]=P&65535;if((c[t>>2]|0)>=0?(b[(c[B>>2]|0)+16>>1]|0)<=0:0){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[B>>2]|0)+16>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[v>>2]|0);break}P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[p>>2]|0)+8>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[(c[p>>2]|0)+8>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0));if(e[s>>1]&128){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else Kv(c[A>>2]|0,c[n>>2]|0,c[x>>2]|0,c[C>>2]|0,c[z>>2]|0)|0;while(0);b[D>>1]=(b[(c[z>>2]|0)+22>>1]|0)+1+(((b[(c[p>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[o>>2]|0)+16>>2]|0)+42>>1]|0)|0);P=rv(b[E>>1]|0,b[D>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=P;if(!(c[(c[z>>2]|0)+36>>2]&320)){P=rv(b[(c[z>>2]|0)+20>>1]|0,(b[(c[z>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=P}b[w>>1]=b[(c[z>>2]|0)+22>>1]|0;P=(c[z>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[q>>1]|0)+(c[v>>2]|0));P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[q>>1]|0)+(c[v>>2]|0));Hv(c[(c[n>>2]|0)+4>>2]|0,c[z>>2]|0,b[F>>1]|0);c[G>>2]=Av(c[n>>2]|0,c[z>>2]|0)|0;if(c[(c[z>>2]|0)+36>>2]&2)b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;else b[(c[z>>2]|0)+22>>1]=b[w>>1]|0;if((c[(c[z>>2]|0)+36>>2]&16|0)==0?(e[(c[z>>2]|0)+24>>1]|0)<(e[(c[p>>2]|0)+52>>1]|0):0)Jv(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,(b[q>>1]|0)+(c[v>>2]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0}c[B>>2]=iv(N)|0}N=c[L+4>>2]|0;P=c[z>>2]|0;c[P>>2]=c[L>>2];c[P+4>>2]=N;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+24+2>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;c[m>>2]=c[G>>2];P=c[m>>2]|0;i=O;return P|0}function Kv(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+12|0;k=o+4|0;n=o;m=o+8|0;l=o+28|0;c[o+24>>2]=a;c[o+16>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=Lv(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=Lv(c[j>>2]|0,b[l>>1]|0)|0;if((c[h>>2]|0)!=0&(c[j>>2]|0)!=0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function Lv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=e;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){e=c[f>>2]|0;if((b[(c[f>>2]|0)+16>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[e+16>>1]|0);break}if(!(d[e+20>>0]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function Mv(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(oq(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==71){if((Mv(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(Mv(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==77?(oq(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=76:0)?(d[c[g>>2]>>0]|0|0)!=73:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function Nv(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;C=D;k=D+12|0;l=D+4|0;m=D+36|0;n=D+24|0;o=D+16|0;p=D+20|0;q=D+8|0;t=D+28|0;x=D+32|0;z=D+40|0;B=D+44|0;A=D+48|0;s=D+52|0;y=D+56|0;r=D+60|0;v=D+64|0;u=D+72|0;w=D+68|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=0;c[p>>2]=0;c[A>>2]=c[(c[m>>2]|0)+20>>2];while(1){if((c[p>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;if(((c[(c[A>>2]|0)+8>>2]|0)==(c[(c[n>>2]|0)+40>>2]|0)?(e[(c[A>>2]|0)+18>>1]&-1153|0)!=0:0)?(d[(c[A>>2]|0)+20>>0]&0|0)==0:0)c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+48}c[s>>2]=0;if(c[o>>2]|0){c[r>>2]=c[c[o>>2]>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[v>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((d[c[v>>2]>>0]|0)!=154)break;if((c[(c[v>>2]|0)+28>>2]|0)!=(c[(c[n>>2]|0)+40>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}if((c[p>>2]|0)==(c[r>>2]|0))c[s>>2]=c[r>>2]}c[y>>2]=gf(c[c[l>>2]>>2]|0,56+((c[t>>2]|0)*20|0)+(c[s>>2]<<3)|0,0)|0;if(!(c[y>>2]|0)){sf(c[l>>2]|0,23480,C);c[k>>2]=0;C=c[k>>2]|0;i=D;return C|0}c[x>>2]=(c[y>>2]|0)+56;c[z>>2]=(c[x>>2]|0)+((c[t>>2]|0)*12|0);c[B>>2]=(c[z>>2]|0)+(c[s>>2]<<3);c[c[y>>2]>>2]=c[t>>2];c[(c[y>>2]|0)+8>>2]=c[s>>2];c[(c[y>>2]|0)+4>>2]=c[x>>2];c[(c[y>>2]|0)+12>>2]=c[z>>2];c[(c[y>>2]|0)+16>>2]=c[B>>2];c[q>>2]=0;c[p>>2]=0;c[A>>2]=c[(c[m>>2]|0)+20>>2];while(1){if((c[p>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;if(((c[(c[A>>2]|0)+8>>2]|0)==(c[(c[n>>2]|0)+40>>2]|0)?(e[(c[A>>2]|0)+18>>1]&-1153|0)!=0:0)?(d[(c[A>>2]|0)+20>>0]&0|0)==0:0){c[(c[x>>2]|0)+((c[q>>2]|0)*12|0)>>2]=c[(c[A>>2]|0)+12>>2];c[(c[x>>2]|0)+((c[q>>2]|0)*12|0)+8>>2]=c[p>>2];C=b[(c[A>>2]|0)+18>>1]&255;a[u>>0]=C;a[u>>0]=(d[u>>0]|0)==1?2:C;a[(c[x>>2]|0)+((c[q>>2]|0)*12|0)+4>>0]=a[u>>0]|0;c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+48}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[s>>2]|0))break;c[w>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];c[(c[z>>2]|0)+(c[p>>2]<<3)>>2]=b[(c[w>>2]|0)+32>>1];a[(c[z>>2]|0)+(c[p>>2]<<3)+4>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+12>>0]|0;c[p>>2]=(c[p>>2]|0)+1}c[k>>2]=c[y>>2];C=c[k>>2]|0;i=D;return C|0}function Ov(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,o=0,p=0;p=i;i=i+48|0;o=p;n=p+8|0;m=p+16|0;f=p+32|0;g=p+24|0;h=p+20|0;k=p+28|0;j=p+36|0;l=p+40|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[(Bp(c[c[f>>2]>>2]|0,c[g>>2]|0)|0)+8>>2];c[l>>2]=vb[c[(c[c[k>>2]>>2]|0)+12>>2]&63](c[k>>2]|0,c[h>>2]|0)|0;do if(c[l>>2]|0){if((c[l>>2]|0)==7){a[(c[c[f>>2]>>2]|0)+64>>0]=1;break}e=c[f>>2]|0;if(c[(c[k>>2]|0)+8>>2]|0){c[n>>2]=c[(c[k>>2]|0)+8>>2];sf(e,14418,n);break}else{c[m>>2]=af(c[l>>2]|0)|0;sf(e,14418,m);break}}while(0);Sb(c[(c[k>>2]|0)+8>>2]|0);c[(c[k>>2]|0)+8>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[h>>2]>>2]|0))break;if((a[(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0)==0?(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]|0)>0:0){n=c[f>>2]|0;c[o>>2]=c[c[g>>2]>>2];sf(n,26528,o)}c[j>>2]=(c[j>>2]|0)+1}i=p;return c[(c[f>>2]|0)+64>>2]|0}function Pv(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Qp(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=GH(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=AH(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function Qv(a,e,f,g,h){a=a|0;e=e|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,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t;j=t+16|0;k=t+28|0;l=t+4|0;m=t+32|0;n=t+36|0;s=t+12|0;q=t+24|0;o=t+20|0;p=t+8|0;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=Vp(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==154?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=Pp(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==($b(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0}function Rv(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,A=0,B=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;aa=i;i=i+208|0;l=aa+88|0;m=aa+152|0;n=aa+48|0;j=aa+148|0;W=aa+176|0;K=aa+96|0;F=aa+56|0;_=aa+32|0;X=aa;r=aa+8|0;U=aa+52|0;y=aa+64|0;z=aa+68|0;A=aa+72|0;R=aa+76|0;p=aa+80|0;k=aa+16|0;G=aa+188|0;S=aa+172|0;B=aa+192|0;L=aa+184|0;E=aa+104|0;q=aa+194|0;t=aa+112|0;J=aa+116|0;s=aa+120|0;M=aa+124|0;u=aa+128|0;H=aa+132|0;V=aa+136|0;N=aa+140|0;O=aa+144|0;v=aa+60|0;w=aa+156|0;$=aa+160|0;o=aa+196|0;D=aa+108|0;x=aa+84|0;T=aa+92|0;I=aa+168|0;Q=aa+100|0;Y=aa+40|0;Z=aa+24|0;P=aa+180|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=r;c[g>>2]=0;c[g+4>>2]=0;c[U>>2]=0;c[y>>2]=0;c[z>>2]=0;c[R>>2]=c[c[j>>2]>>2];c[p>>2]=c[c[R>>2]>>2];if(a[(c[p>>2]|0)+64>>0]|0){i=aa;return}c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[K>>2]=(c[j>>2]|0)+68;c[F>>2]=c[c[W>>2]>>2];g=pv(c[K>>2]|0,c[(c[F>>2]|0)+12>>2]|0)|0;j=_;c[j>>2]=g;c[j+4>>2]=C;c[A>>2]=d[c[F>>2]>>0];do if((c[A>>2]|0)==75){f=c[K>>2]|0;h=(c[F>>2]|0)+20|0;if(c[(c[F>>2]|0)+4>>2]&2048){g=qv(f,c[h>>2]|0)|0;j=(c[W>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=Yu(f,c[h>>2]|0)|0;j=(c[W>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[A>>2]|0)==76){j=(c[W>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=pv(c[K>>2]|0,c[(c[F>>2]|0)+16>>2]|0)|0;j=(c[W>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=pv(c[K>>2]|0,c[F>>2]|0)|0;j=X;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[F>>2]|0)+4>>2]&1){f=Zu(c[K>>2]|0,b[(c[F>>2]|0)+36>>1]|0)|0;h=k;c[h>>2]=f;c[h+4>>2]=C;h=k;f=X;g=c[f+4>>2]|c[h+4>>2];j=X;c[j>>2]=c[f>>2]|c[h>>2];c[j+4>>2]=g;j=k;j=AH(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=r;c[k>>2]=j;c[k+4>>2]=C}j=X;f=c[j+4>>2]|0;k=(c[W>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=f;c[(c[W>>2]|0)+8>>2]=-1;c[(c[W>>2]|0)+4>>2]=-1;b[(c[W>>2]|0)+18>>1]=0;k=(Sv(c[A>>2]|0)|0)!=0;f=c[F>>2]|0;do if(k){c[G>>2]=Vp(c[f+12>>2]|0)|0;c[S>>2]=Vp(c[(c[F>>2]|0)+16>>2]|0)|0;J=(c[W>>2]|0)+32|0;M=_;b[B>>1]=((c[J>>2]&c[M>>2]|0)==0?(c[J+4>>2]&c[M+4>>2]|0)==0:0)?4095:1024;if((d[c[G>>2]>>0]|0)==154){c[(c[W>>2]|0)+8>>2]=c[(c[G>>2]|0)+28>>2];c[(c[W>>2]|0)+12>>2]=b[(c[G>>2]|0)+32>>1];M=(Tv(c[A>>2]|0)|0)&65535;b[(c[W>>2]|0)+18>>1]=M&e[B>>1]}if((c[S>>2]|0)!=0?(d[c[S>>2]>>0]|0)==154:0){b[q>>1]=0;if((c[(c[W>>2]|0)+8>>2]|0)>=0){c[E>>2]=mq(c[p>>2]|0,c[F>>2]|0,0)|0;if(a[(c[p>>2]|0)+64>>0]|0){dn(c[p>>2]|0,c[E>>2]|0);i=aa;return}c[t>>2]=Uv(c[m>>2]|0,c[E>>2]|0,3)|0;if(!(c[t>>2]|0)){i=aa;return}c[L>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[t>>2]|0)*48|0);c[(c[L>>2]|0)+4>>2]=c[n>>2];c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);a[(c[W>>2]|0)+21>>0]=1;S=(c[W>>2]|0)+20|0;a[S>>0]=d[S>>0]|8;if(((d[c[F>>2]>>0]|0)==79?(c[(c[F>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[p>>2]|0)+60>>1]&512|0)==0:0){S=(c[W>>2]|0)+18|0;b[S>>1]=e[S>>1]|1024;b[q>>1]=1024}}else{c[E>>2]=c[F>>2];c[L>>2]=c[W>>2]}Vv(c[R>>2]|0,c[E>>2]|0);c[G>>2]=Vp(c[(c[E>>2]|0)+12>>2]|0)|0;c[(c[L>>2]|0)+8>>2]=c[(c[G>>2]|0)+28>>2];c[(c[L>>2]|0)+12>>2]=b[(c[G>>2]|0)+32>>1];J=_;M=r;_=c[J+4>>2]|c[M+4>>2];S=(c[L>>2]|0)+32|0;c[S>>2]=c[J>>2]|c[M>>2];c[S+4>>2]=_;S=X;X=c[S+4>>2]|0;_=(c[L>>2]|0)+40|0;c[_>>2]=c[S>>2];c[_+4>>2]=X;_=(Tv(d[c[E>>2]>>0]|0)|0)&65535;b[(c[L>>2]|0)+18>>1]=_+(e[q>>1]|0)&e[B>>1]}}else{if((d[f>>0]|0)==74?(d[(c[m>>2]|0)+8>>0]|0)==72:0){c[J>>2]=c[(c[F>>2]|0)+20>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=2)break;S=c[R>>2]|0;X=d[26574+(c[s>>2]|0)>>0]|0;_=mq(c[p>>2]|0,c[(c[F>>2]|0)+12>>2]|0,0)|0;c[M>>2]=zn(S,X,_,mq(c[p>>2]|0,c[(c[(c[J>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0,0)|0,0)|0;Wv(c[M>>2]|0,c[F>>2]|0);c[u>>2]=Uv(c[m>>2]|0,c[M>>2]|0,3)|0;Rv(c[l>>2]|0,c[m>>2]|0,c[u>>2]|0);c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[(c[(c[m>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0)+4>>2]=c[n>>2];c[s>>2]=(c[s>>2]|0)+1}a[(c[W>>2]|0)+21>>0]=2;break}if((d[c[F>>2]>>0]|0)==71){Xv(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==72?(Yv(c[R>>2]|0,c[F>>2]|0,U,y,z)|0)!=0:0){c[H>>2]=c[(c[(c[(c[F>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[V>>2]=mq(c[p>>2]|0,c[U>>2]|0,0)|0;if(!(a[(c[p>>2]|0)+64>>0]|0)){_=(Ed(c[(c[V>>2]|0)+8>>2]|0)|0)-1|0;c[D>>2]=(c[(c[V>>2]|0)+8>>2]|0)+_;a[o>>0]=a[c[D>>2]>>0]|0;if(c[z>>2]|0){if((d[o>>0]|0)==64)c[y>>2]=0;a[o>>0]=a[13848+(d[o>>0]|0)>>0]|0}a[c[D>>2]>>0]=(d[o>>0]|0)+1}c[$>>2]=(c[z>>2]|0)!=0?15976:15963;c[$+4>>2]=6;c[N>>2]=mq(c[p>>2]|0,c[H>>2]|0,0)|0;X=c[R>>2]|0;_=bo(c[R>>2]|0,c[N>>2]|0,$)|0;c[N>>2]=zn(X,83,_,c[U>>2]|0,0)|0;Wv(c[N>>2]|0,c[F>>2]|0);c[v>>2]=Uv(c[m>>2]|0,c[N>>2]|0,3)|0;Rv(c[l>>2]|0,c[m>>2]|0,c[v>>2]|0);c[O>>2]=mq(c[p>>2]|0,c[H>>2]|0,0)|0;_=c[R>>2]|0;$=bo(c[R>>2]|0,c[O>>2]|0,$)|0;c[O>>2]=zn(_,82,$,c[V>>2]|0,0)|0;Wv(c[O>>2]|0,c[F>>2]|0);c[w>>2]=Uv(c[m>>2]|0,c[O>>2]|0,3)|0;Rv(c[l>>2]|0,c[m>>2]|0,c[w>>2]|0);c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[y>>2]|0){c[(c[(c[m>>2]|0)+20>>2]|0)+((c[v>>2]|0)*48|0)+4>>2]=c[n>>2];c[(c[(c[m>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0)+4>>2]=c[n>>2];a[(c[W>>2]|0)+21>>0]=2}}if((Zv(c[F>>2]|0)|0)!=0?(c[T>>2]=c[c[(c[(c[F>>2]|0)+20>>2]|0)+4>>2]>>2],c[I>>2]=c[(c[(c[(c[F>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],_=pv(c[K>>2]|0,c[T>>2]|0)|0,$=Z,c[$>>2]=_,c[$+4>>2]=C,$=pv(c[K>>2]|0,c[I>>2]|0)|0,_=Y,c[_>>2]=$,c[_+4>>2]=C,_=Z,$=Y,(c[_>>2]&c[$>>2]|0)==0?(c[_+4>>2]&c[$+4>>2]|0)==0:0):0){$=c[R>>2]|0;c[P>>2]=zn($,51,0,mq(c[p>>2]|0,c[T>>2]|0,0)|0,0)|0;c[x>>2]=Uv(c[m>>2]|0,c[P>>2]|0,3)|0;c[Q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[x>>2]|0)*48|0);$=Z;_=c[$+4>>2]|0;Z=(c[Q>>2]|0)+32|0;c[Z>>2]=c[$>>2];c[Z+4>>2]=_;c[(c[Q>>2]|0)+8>>2]=c[(c[I>>2]|0)+28>>2];c[(c[Q>>2]|0)+12>>2]=b[(c[I>>2]|0)+32>>1];b[(c[Q>>2]|0)+18>>1]=64;c[(c[Q>>2]|0)+4>>2]=c[n>>2];c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);a[(c[W>>2]|0)+21>>0]=1;Z=(c[W>>2]|0)+20|0;a[Z>>0]=d[Z>>0]|8;Z=(c[W>>2]|0)+40|0;_=c[Z+4>>2]|0;$=(c[Q>>2]|0)+40|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_}Z=r;$=(c[W>>2]|0)+32|0;Y=$;_=c[Y+4>>2]|c[Z+4>>2];c[$>>2]=c[Y>>2]|c[Z>>2];c[$+4>>2]=_;i=aa;return}function Sv(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=75?!((c[b>>2]|0)>=79&(c[b>>2]|0)<=83):0)b=(c[b>>2]|0)==76;else b=1;i=d;return b&1|0}function Tv(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=75)if((c[d>>2]|0)==76){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-79;break}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function Uv(e,f,g){e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+12|0;l=q+28|0;p=q+24|0;n=q;o=q+20|0;m=q+8|0;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;do if((c[(c[j>>2]|0)+12>>2]|0)>=(c[(c[j>>2]|0)+16>>2]|0)){c[o>>2]=c[(c[j>>2]|0)+20>>2];c[m>>2]=c[c[c[c[j>>2]>>2]>>2]>>2];g=qf(c[m>>2]|0,(c[(c[j>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[j>>2]|0)+20>>2]=g;if(c[(c[j>>2]|0)+20>>2]|0){EH(c[(c[j>>2]|0)+20>>2]|0,c[o>>2]|0,(c[(c[j>>2]|0)+12>>2]|0)*48|0)|0;if((c[o>>2]|0)!=((c[j>>2]|0)+24|0))Nd(c[m>>2]|0,c[o>>2]|0);g=((dm(c[m>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[j>>2]|0)+16>>2]=g;break}if((d[l>>0]|0)&1)dn(c[m>>2]|0,c[k>>2]|0);c[(c[j>>2]|0)+20>>2]=c[o>>2];c[h>>2]=0;g=c[h>>2]|0;i=q;return g|0}while(0);e=(c[j>>2]|0)+12|0;g=c[e>>2]|0;c[e>>2]=g+1;c[n>>2]=g;c[p>>2]=(c[(c[j>>2]|0)+20>>2]|0)+(g*48|0);if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+4>>2]&262144|0)!=0:0){g=c[(c[k>>2]|0)+28>>2]|0;g=((Qp(g,((g|0)<0)<<31>>31)|0)<<16>>16)-99&65535;b[(c[p>>2]|0)+16>>1]=g}else b[(c[p>>2]|0)+16>>1]=1;g=Vp(c[k>>2]|0)|0;c[c[p>>2]>>2]=g;a[(c[p>>2]|0)+20>>0]=a[l>>0]|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];c[(c[p>>2]|0)+4>>2]=-1;c[h>>2]=c[n>>2];g=c[h>>2]|0;i=q;return g|0}function Vv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(Pp(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<80){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-80^2)+80;i=m;return}function Wv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function Xv(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,A=0,B=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;R=i;i=i+144|0;s=R+64|0;t=R+72|0;u=R+84|0;P=R+124|0;N=R+132|0;y=R+32|0;O=R+36|0;H=R+76|0;z=R+60|0;M=R+44|0;L=R+52|0;q=R+104|0;x=R+24|0;l=R+16|0;n=R+128|0;p=R+136|0;o=R+140|0;m=R+80|0;j=R+8|0;k=R;r=R+92|0;F=R+96|0;A=R+48|0;B=R+108|0;E=R+112|0;v=R+116|0;w=R+120|0;G=R+56|0;J=R+88|0;I=R+40|0;K=R+100|0;D=R+68|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[P>>2]=c[c[t>>2]>>2];c[N>>2]=c[c[P>>2]>>2];c[y>>2]=c[c[N>>2]>>2];c[O>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0);c[H>>2]=c[c[O>>2]>>2];g=gf(c[y>>2]|0,416,0)|0;c[q>>2]=g;c[(c[O>>2]|0)+12>>2]=g;if(!(c[q>>2]|0)){i=R;return}g=(c[O>>2]|0)+20|0;a[g>>0]=d[g>>0]|16;c[M>>2]=c[q>>2];Qu(c[M>>2]|0,c[P>>2]|0);Ru(c[M>>2]|0,c[H>>2]|0,71);Tu(c[s>>2]|0,c[M>>2]|0);if(a[(c[y>>2]|0)+64>>0]|0){i=R;return}g=l;c[g>>2]=-1;c[g+4>>2]=-1;g=x;c[g>>2]=-1;c[g+4>>2]=-1;c[z>>2]=(c[(c[M>>2]|0)+12>>2]|0)-1;c[L>>2]=c[(c[M>>2]|0)+20>>2];while(1){g=l;if(!((c[z>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[L>>2]|0)+18>>1]&255)){g=x;c[g>>2]=0;c[g+4>>2]=0;c[n>>2]=qf(c[y>>2]|0,408,0)|0;if(c[n>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[L>>2]|0)+12>>2]=c[n>>2];g=(c[L>>2]|0)+20|0;a[g>>0]=d[g>>0]|32;b[(c[L>>2]|0)+18>>1]=512;c[p>>2]=c[n>>2];Qu(c[p>>2]|0,c[c[t>>2]>>2]|0);Ru(c[p>>2]|0,c[c[L>>2]>>2]|0,72);Tu(c[s>>2]|0,c[p>>2]|0);c[(c[p>>2]|0)+4>>2]=c[t>>2];a:do if(!(a[(c[y>>2]|0)+64>>0]|0)){c[m>>2]=0;c[o>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[m>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break a;if(Sv(d[c[c[o>>2]>>2]>>0]|0)|0){h=Zu((c[P>>2]|0)+68|0,c[(c[o>>2]|0)+8>>2]|0)|0;S=j;f=c[S+4>>2]|C;g=j;c[g>>2]=c[S>>2]|h;c[g+4>>2]=f}c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+48}}while(0);f=j;h=l;g=c[h+4>>2]&c[f+4>>2];S=l;c[S>>2]=c[h>>2]&c[f>>2];c[S+4>>2]=g}}else if(!(d[(c[L>>2]|0)+20>>0]&8)){g=Zu((c[P>>2]|0)+68|0,c[(c[L>>2]|0)+8>>2]|0)|0;S=k;c[S>>2]=g;c[S+4>>2]=C;if(d[(c[L>>2]|0)+20>>0]&2){c[r>>2]=(c[(c[M>>2]|0)+20>>2]|0)+((c[(c[L>>2]|0)+4>>2]|0)*48|0);f=Zu((c[P>>2]|0)+68|0,c[(c[r>>2]|0)+8>>2]|0)|0;h=k;g=c[h+4>>2]|C;S=k;c[S>>2]=c[h>>2]|f;c[S+4>>2]=g}f=k;h=l;g=c[h+4>>2]&c[f+4>>2];S=l;c[S>>2]=c[h>>2]&c[f>>2];c[S+4>>2]=g;if(!(e[(c[L>>2]|0)+18>>1]&2)){S=x;c[S>>2]=0;c[S+4>>2]=0;break}else{f=k;h=x;g=c[h+4>>2]&c[f+4>>2];S=x;c[S>>2]=c[h>>2]&c[f>>2];c[S+4>>2]=g;break}}while(0);c[z>>2]=(c[z>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+48}f=l;g=c[f+4>>2]|0;S=(c[q>>2]|0)+408|0;c[S>>2]=c[f>>2];c[S+4>>2]=g;S=l;b[(c[O>>2]|0)+18>>1]=(c[S>>2]|0)==0&(c[S+4>>2]|0)==0?0:256;S=x;if(!((c[S>>2]|0)!=0|(c[S+4>>2]|0)!=0)){i=R;return}c[F>>2]=0;c[A>>2]=-1;c[B>>2]=-1;c[E>>2]=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=2)break;if(!((c[F>>2]|0)!=0^1))break;c[L>>2]=c[(c[M>>2]|0)+20>>2];c[z>>2]=(c[(c[M>>2]|0)+12>>2]|0)-1;while(1){if((c[z>>2]|0)<0)break;S=(c[L>>2]|0)+20|0;a[S>>0]=d[S>>0]&-65;if((c[(c[L>>2]|0)+8>>2]|0)!=(c[B>>2]|0)?(S=x,f=c[S>>2]|0,S=c[S+4>>2]|0,g=Zu((c[P>>2]|0)+68|0,c[(c[L>>2]|0)+8>>2]|0)|0,!((f&g|0)==0&(S&C|0)==0)):0){Q=29;break}c[z>>2]=(c[z>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+48}if((Q|0)==29){Q=0;c[A>>2]=c[(c[L>>2]|0)+12>>2];c[B>>2]=c[(c[L>>2]|0)+8>>2]}if((c[z>>2]|0)<0)break;c[F>>2]=1;while(1){if(!((c[z>>2]|0)>=0?(c[F>>2]|0)!=0:0))break;j=c[L>>2]|0;do if((c[(c[L>>2]|0)+8>>2]|0)!=(c[B>>2]|0)){S=j+20|0;a[S>>0]=d[S>>0]&-65}else{if((c[j+12>>2]|0)!=(c[A>>2]|0)){c[F>>2]=0;break}c[w>>2]=(Op(c[(c[c[L>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[v>>2]=(Op(c[(c[c[L>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[w>>2]|0)!=0?(c[w>>2]|0)!=(c[v>>2]|0):0){c[F>>2]=0;break}S=(c[L>>2]|0)+20|0;a[S>>0]=d[S>>0]|64}while(0);c[z>>2]=(c[z>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+48}c[E>>2]=(c[E>>2]|0)+1}if(!(c[F>>2]|0)){i=R;return}c[J>>2]=0;c[I>>2]=0;c[z>>2]=(c[(c[M>>2]|0)+12>>2]|0)-1;c[L>>2]=c[(c[M>>2]|0)+20>>2];while(1){if((c[z>>2]|0)<0)break;if(d[(c[L>>2]|0)+20>>0]&64){c[G>>2]=mq(c[y>>2]|0,c[(c[c[L>>2]>>2]|0)+16>>2]|0,0)|0;c[J>>2]=Nn(c[c[P>>2]>>2]|0,c[J>>2]|0,c[G>>2]|0)|0;c[I>>2]=c[(c[c[L>>2]>>2]|0)+12>>2]}c[z>>2]=(c[z>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+48}c[G>>2]=mq(c[y>>2]|0,c[I>>2]|0,0)|0;c[K>>2]=zn(c[N>>2]|0,75,c[G>>2]|0,0,0)|0;if(c[K>>2]|0){Wv(c[K>>2]|0,c[H>>2]|0);c[(c[K>>2]|0)+20>>2]=c[J>>2];c[D>>2]=Uv(c[t>>2]|0,c[K>>2]|0,3)|0;Rv(c[s>>2]|0,c[t>>2]|0,c[D>>2]|0);c[O>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0);c[(c[(c[t>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0)+4>>2]=c[u>>2];a[(c[O>>2]|0)+21>>0]=1}else $m(c[y>>2]|0,c[J>>2]|0);b[(c[O>>2]|0)+18>>1]=2048;i=R;return}function Yv(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+96|0;r=E+36|0;s=E+20|0;l=E+24|0;t=E+32|0;u=E+12|0;F=E+16|0;D=E+48|0;z=E+56|0;m=E+64|0;n=E+72|0;p=E+76|0;v=E+40|0;q=E+80|0;w=E;A=E+4|0;x=E+44|0;o=E+52|0;k=E+28|0;y=E+60|0;C=E+68|0;B=E+8|0;c[s>>2]=e;c[l>>2]=f;c[t>>2]=g;c[u>>2]=h;c[F>>2]=j;c[D>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(_v(c[w>>2]|0,c[l>>2]|0,c[F>>2]|0,q)|0)){c[r>>2]=0;F=c[r>>2]|0;i=E;return F|0}c[n>>2]=c[(c[l>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==154?((Op(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+44>>0]&16|0)==0:0){c[z>>2]=Vp(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[D>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+476>>2];c[k>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=$v(c[o>>2]|0,c[k>>2]|0,65)|0;if((c[A>>2]|0)!=0?(nc(c[A>>2]|0)|0)==3:0)c[D>>2]=ic(c[A>>2]|0)|0;aw(c[(c[s>>2]|0)+8>>2]|0,c[k>>2]|0)}do if(c[D>>2]|0){c[v>>2]=0;while(1){F=a[(c[D>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=F;if(((F|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[D>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[D>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Qn(c[w>>2]|0,97,c[D>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[C>>2]=c[(c[s>>2]|0)+8>>2];aw(c[C>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=Wo(c[s>>2]|0)|0;Hs(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;F=c[C>>2]|0;Cf(F,(yr(c[C>>2]|0)|0)-1|0,0);Xo(c[s>>2]|0,c[B>>2]|0);break}c[D>>2]=0}while(0);Rf(c[A>>2]|0);c[r>>2]=(c[D>>2]|0)!=0&1;F=c[r>>2]|0;i=E;return F|0}c[r>>2]=0;F=c[r>>2]|0;i=E;return F|0}function Zv(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;e=g+4|0;f=g;c[e>>2]=a;do if((d[c[e>>2]>>0]|0|0)==153){if($b(c[(c[e>>2]|0)+8>>2]|0,24408)|0){c[b>>2]=0;break}c[f>>2]=c[(c[e>>2]|0)+20>>2];if((c[c[f>>2]>>2]|0)!=2){c[b>>2]=0;break}if((d[c[(c[(c[f>>2]|0)+4>>2]|0)+20>>2]>>0]|0|0)!=154){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=g;return c[b>>2]|0}function _v(b,f,g,h){b=b|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;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==153?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){f=c[k>>2]|0;g=c[(c[l>>2]|0)+8>>2]|0;c[o>>2]=Zf(f,g,Ed(c[(c[l>>2]|0)+8>>2]|0)|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function $v(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Pf(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){_e(c[m>>2]|0,c[l>>2]|0)|0;np(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function aw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+188>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function bw(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;k=n+8|0;f=n+28|0;g=n+32|0;h=n+20|0;m=n+16|0;j=n+24|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;d=c[c[f>>2]>>2]|0;a=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+36>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+((b[(c[h>>2]|0)+36>>1]|0)*24|0)>>2]|0;c[k>>2]=a;c[k+4>>2]=h;c[m>>2]=tf(d,21695,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;gs(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=a;c[m>>2]=tf(d,26792,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;gs(h,k,l,m,-1,2);i=n;return}}function cw(a,b,d,e){a=a|0;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;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Fp(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(Au(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Fp(d)|0;while(1){if(!(c[j>>2]|0))break a;if(Cu(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function dw(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function ew(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;G=i;i=i+64|0;p=G+44|0;q=G+16|0;r=G;s=G+28|0;t=G+32|0;u=G+40|0;v=G+48|0;w=G+50|0;x=G+51|0;H=G+53|0;E=G+4|0;B=G+36|0;A=G+8|0;D=G+52|0;C=G+20|0;z=G+24|0;y=G+12|0;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;a[w>>0]=m;a[x>>0]=n;a[H>>0]=o;c[E>>2]=c[(c[p>>2]|0)+8>>2];c[B>>2]=0;c[A>>2]=zr(c[E>>2]|0)|0;a[D>>0]=(d[(c[q>>2]|0)+44>>0]&32|0)==0?70:68;if(!(a[H>>0]|0))wf(c[E>>2]|0,d[D>>0]|0,c[s>>2]|0,c[A>>2]|0,c[u>>2]|0,b[v>>1]|0)|0;H=(cw(c[p>>2]|0,c[q>>2]|0,0,0)|0)!=0;if(H|(c[r>>2]|0)!=0){c[C>>2]=gw(c[p>>2]|0,c[r>>2]|0,0,0,3,c[q>>2]|0,d[x>>0]|0)|0;H=hw(c[p>>2]|0,c[q>>2]|0)|0;c[C>>2]=c[C>>2]|H;c[B>>2]=(c[(c[p>>2]|0)+72>>2]|0)+1;H=(c[p>>2]|0)+72|0;c[H>>2]=(c[H>>2]|0)+(1+(b[(c[q>>2]|0)+38>>1]|0));Ro(c[E>>2]|0,33,c[u>>2]|0,c[B>>2]|0)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(b[(c[q>>2]|0)+38>>1]|0))break;if((c[C>>2]|0)!=-1){if((c[z>>2]|0)<=31?(c[C>>2]&1<>2]|0)!=0:0)F=9}else F=9;if((F|0)==9){F=0;qs(c[E>>2]|0,c[q>>2]|0,c[s>>2]|0,c[z>>2]|0,(c[B>>2]|0)+(c[z>>2]|0)+1|0)}c[z>>2]=(c[z>>2]|0)+1}c[y>>2]=yr(c[E>>2]|0)|0;su(c[p>>2]|0,c[r>>2]|0,109,0,1,c[q>>2]|0,c[B>>2]|0,d[x>>0]|0,c[A>>2]|0);H=c[y>>2]|0;if((H|0)<(yr(c[E>>2]|0)|0))wf(c[E>>2]|0,d[D>>0]|0,c[s>>2]|0,c[A>>2]|0,c[u>>2]|0,b[v>>1]|0)|0;xu(c[p>>2]|0,c[q>>2]|0,c[B>>2]|0,0,0,0)}if(c[(c[q>>2]|0)+12>>2]|0){f=c[p>>2]|0;e=c[q>>2]|0;D=c[B>>2]|0;iw(f,e,0,D,0,0);D=c[p>>2]|0;e=c[r>>2]|0;f=c[q>>2]|0;g=c[B>>2]|0;H=a[x>>0]|0;H=H&255;F=c[A>>2]|0;su(D,e,109,0,2,f,g,H,F);F=c[E>>2]|0;H=c[A>>2]|0;Br(F,H);i=G;return}fw(c[p>>2]|0,c[q>>2]|0,c[s>>2]|0,c[t>>2]|0,0);Ro(c[E>>2]|0,95,c[s>>2]|0,(d[w>>0]|0)!=0?1:0)|0;if(!(a[w>>0]|0)){f=c[p>>2]|0;e=c[q>>2]|0;D=c[B>>2]|0;iw(f,e,0,D,0,0);D=c[p>>2]|0;e=c[r>>2]|0;f=c[q>>2]|0;g=c[B>>2]|0;H=a[x>>0]|0;H=H&255;F=c[A>>2]|0;su(D,e,109,0,2,f,g,H,F);F=c[E>>2]|0;H=c[A>>2]|0;Br(F,H);i=G;return}Df(c[E>>2]|0,-1,c[c[q>>2]>>2]|0,0);f=c[p>>2]|0;e=c[q>>2]|0;D=c[B>>2]|0;iw(f,e,0,D,0,0);D=c[p>>2]|0;e=c[r>>2]|0;f=c[q>>2]|0;g=c[B>>2]|0;H=a[x>>0]|0;H=H&255;F=c[A>>2]|0;su(D,e,109,0,2,f,g,H,F);F=c[E>>2]|0;H=c[A>>2]|0;Br(F,H);i=G;return}function fw(a,e,f,g,h){a=a|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;k=w+4|0;j=w+16|0;l=w+36|0;m=w;n=w+32|0;o=w+40|0;t=w+44|0;p=w+24|0;q=w+20|0;s=w+8|0;u=w+12|0;r=w+28|0;c[k>>2]=a;c[j>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[t>>2]=-1;c[s>>2]=0;c[u>>2]=c[(c[k>>2]|0)+8>>2];if(!((d[(c[j>>2]|0)+44>>0]|0)&32))h=0;else h=Lr(c[j>>2]|0)|0;c[r>>2]=h;c[o>>2]=0;c[q>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(!((c[n>>2]|0)!=0?(c[(c[n>>2]|0)+(c[o>>2]<<2)>>2]|0)==0:0))v=7;if((v|0)==7?(v=0,(c[q>>2]|0)!=(c[r>>2]|0)):0){c[t>>2]=bs(c[k>>2]|0,c[q>>2]|0,c[l>>2]|0,0,1,p,c[s>>2]|0,c[t>>2]|0)|0;h=c[q>>2]|0;if((d[(c[q>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;Uo(c[u>>2]|0,111,(c[m>>2]|0)+(c[o>>2]|0)|0,c[t>>2]|0,h&65535)|0;cs(c[k>>2]|0,c[p>>2]|0);c[s>>2]=c[q>>2]}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=c[(c[q>>2]|0)+20>>2]}i=w;return}function gw(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;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,u=0,v=0;u=i;i=i+48|0;k=u+36|0;v=u+16|0;l=u;m=u+28|0;n=u+32|0;o=u+40|0;p=u+12|0;r=u+24|0;q=u+20|0;s=u+8|0;t=u+4|0;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(kx(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=lw(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function hw(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Fp(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;Yt(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;r=i;i=i+32|0;h=r+4|0;j=r+16|0;k=r+8|0;l=r+20|0;m=r+28|0;n=r;p=r+12|0;o=r+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Fp(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(Cu(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=jw(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)kw(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function jw(e,f,g,h){e=e|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,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;O=i;i=i+160|0;j=O+72|0;k=O+56|0;l=O+52|0;m=O+128|0;n=O+120|0;q=O+24|0;o=O+28|0;E=O+32|0;t=O+36|0;r=O+144|0;M=O+44|0;v=O+116|0;y=O+124|0;p=O+132|0;D=O+136|0;G=O+140|0;z=O+76|0;C=O+80|0;s=O+84|0;F=O+88|0;K=O+96|0;J=O+16|0;I=O+8|0;L=O+104|0;u=O+4|0;x=O;A=O+48|0;w=O+112|0;H=O+64|0;B=O+40|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[t>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[t>>2]|0)>>0];c[E>>2]=c[(c[m>>2]|0)+28+(c[t>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[E>>2]|0)!=0)){c[y>>2]=0;c[p>>2]=0;c[D>>2]=0;c[G>>2]=0;c[z>>2]=0;c[C>>2]=0;c[F>>2]=0;if(Yt(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,y,p)|0){c[j>>2]=0;N=c[j>>2]|0;i=O;return N|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[K>>2]=c[818];c[K+4>>2]=c[819];c[J>>2]=c[820];c[J+4>>2]=c[821];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[u>>2]=h;if(c[y>>2]|0)h=c[(c[(c[l>>2]|0)+4>>2]|0)+((b[(c[(c[y>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]|0)*24|0)>>2]|0;else h=26758;c[L>>2]=h;c[I>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[u>>2]|0)*24|0)>>2];c[L+4>>2]=Ed(c[L>>2]|0)|0;c[I+4>>2]=Ed(c[I>>2]|0)|0;e=c[k>>2]|0;g=c[k>>2]|0;f=zn(c[k>>2]|0,27,0,0,K)|0;f=zn(g,122,f,zn(c[k>>2]|0,27,0,0,L)|0,0)|0;c[x>>2]=zn(e,79,f,zn(c[k>>2]|0,27,0,0,I)|0,0)|0;c[G>>2]=_q(c[q>>2]|0,c[G>>2]|0,c[x>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=zn(c[k>>2]|0,27,0,0,K)|0;g=zn(e,122,g,zn(c[k>>2]|0,27,0,0,L)|0,0)|0;e=c[k>>2]|0;f=zn(c[k>>2]|0,27,0,0,J)|0;c[x>>2]=zn(h,73,g,zn(e,122,f,zn(c[k>>2]|0,27,0,0,L)|0,0)|0,0)|0;c[F>>2]=_q(c[q>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[A>>2]=zn(c[k>>2]|0,101,0,0,0)|0;break}c[w>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[u>>2]|0)*24|0)+4>>2];if(c[w>>2]|0){c[A>>2]=mq(c[q>>2]|0,c[w>>2]|0,0)|0;break}else{c[A>>2]=zn(c[k>>2]|0,101,0,0,0)|0;break}}else{e=c[k>>2]|0;f=zn(c[k>>2]|0,27,0,0,J)|0;c[A>>2]=zn(e,122,f,zn(c[k>>2]|0,27,0,0,L)|0,0)|0}while(0);c[z>>2]=Nn(c[k>>2]|0,c[z>>2]|0,c[A>>2]|0)|0;On(c[k>>2]|0,c[z>>2]|0,I,0)}c[s>>2]=(c[s>>2]|0)+1}Nd(c[q>>2]|0,c[p>>2]|0);c[M>>2]=c[c[c[m>>2]>>2]>>2];c[v>>2]=Ed(c[M>>2]|0)|0;if((c[o>>2]|0)==6){c[H>>2]=c[M>>2];c[H+4>>2]=c[v>>2];c[B>>2]=Qn(c[q>>2]|0,57,26762)|0;if(c[B>>2]|0)a[(c[B>>2]|0)+1>>0]=2;J=c[k>>2]|0;K=Nn(c[k>>2]|0,0,c[B>>2]|0)|0;L=Tn(c[q>>2]|0,0,H,0)|0;c[C>>2]=Mn(J,K,L,c[G>>2]|0,0,0,0,0,0,0)|0;c[G>>2]=0}a[r>>0]=a[(c[q>>2]|0)+248+2>>0]|0;a[(c[q>>2]|0)+248+2>>0]=0;c[E>>2]=gf(c[q>>2]|0,76+(c[v>>2]|0)+1|0,0)|0;if((c[E>>2]|0)!=0?(L=(c[E>>2]|0)+36|0,c[(c[E>>2]|0)+28>>2]=L,c[D>>2]=L,c[(c[D>>2]|0)+12>>2]=(c[D>>2]|0)+40,c[(c[D>>2]|0)+12+4>>2]=c[v>>2],EH(c[(c[D>>2]|0)+12>>2]|0,c[M>>2]|0,c[v>>2]|0)|0,M=mq(c[q>>2]|0,c[G>>2]|0,1)|0,c[(c[D>>2]|0)+20>>2]=M,M=uq(c[q>>2]|0,c[z>>2]|0,1)|0,c[(c[D>>2]|0)+24>>2]=M,M=Hp(c[q>>2]|0,c[C>>2]|0,1)|0,c[(c[D>>2]|0)+8>>2]=M,(c[F>>2]|0)!=0):0){c[F>>2]=zn(c[k>>2]|0,19,c[F>>2]|0,0,0)|0;M=mq(c[q>>2]|0,c[F>>2]|0,1)|0;c[(c[E>>2]|0)+12>>2]=M}a[(c[q>>2]|0)+248+2>>0]=a[r>>0]|0;dn(c[q>>2]|0,c[G>>2]|0);dn(c[q>>2]|0,c[F>>2]|0);$m(c[q>>2]|0,c[z>>2]|0);an(c[q>>2]|0,c[C>>2]|0);if((d[(c[q>>2]|0)+64>>0]|0)==1){jx(c[q>>2]|0,c[E>>2]|0);c[j>>2]=0;N=c[j>>2]|0;i=O;return N|0}switch(c[o>>2]|0){case 6:{a[c[D>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)N=37;else a[c[D>>2]>>0]=109;break}default:N=37}if((N|0)==37)a[c[D>>2]>>0]=110;c[(c[D>>2]|0)+4>>2]=c[E>>2];c[(c[E>>2]|0)+20>>2]=c[(c[l>>2]|0)+68>>2];c[(c[E>>2]|0)+24>>2]=c[(c[l>>2]|0)+68>>2];c[(c[m>>2]|0)+28+(c[t>>2]<<2)>>2]=c[E>>2];a[(c[E>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[E>>2];N=c[j>>2]|0;i=O;return N|0}function kw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;p=i;i=i+48|0;j=p+28|0;h=p+16|0;r=p+4|0;k=p+8|0;q=p+32|0;l=p;o=p+12|0;n=p+24|0;m=p+20|0;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=Po(c[j>>2]|0)|0;c[n>>2]=lw(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+72|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;Uo(e,131,k,q,r)|0;Df(c[o>>2]|0,-1,c[(c[n>>2]|0)+8>>2]|0,-18);xf(c[o>>2]|0,c[m>>2]&255);i=p;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)e=c[e+408>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+528>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=mw(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function mw(b,e,f,g){b=b|0;e=e|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;x=i;i=i+96|0;w=x;h=x+24|0;j=x+4|0;k=x+12|0;l=x+32|0;m=x+16|0;s=x+20|0;n=x+8|0;p=x+28|0;t=x+36|0;v=x+40|0;u=x+48|0;q=x+80|0;r=x+84|0;o=x+88|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+408>>2]|0)g=c[g+408>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=gf(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+528>>2];c[(c[s>>2]|0)+528>>2]=c[p>>2];e=gf(c[n>>2]|0,28,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}nw(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=gf(c[n>>2]|0,536,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+412>>2]=c[l>>2];c[(c[r>>2]|0)+408>>2]=c[s>>2];c[(c[r>>2]|0)+492>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+436>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+424>>2]=c[(c[j>>2]|0)+424>>2];c[v>>2]=Po(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Df(e,-1,tf(l,26576,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=mq(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(gq(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+64>>0]|0|0)==0:0){c[o>>2]=zr(c[v>>2]|0)|0;os(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}dn(c[n>>2]|0,c[t>>2]|0)}ow(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)Br(c[v>>2]|0,c[o>>2]|0);Yo(c[v>>2]|0,24)|0;pw(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+64>>0]|0)){w=qw(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+392|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+72>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+68>>2];c[(c[q>>2]|0)+16>>2]=c[(c[r>>2]|0)+80>>2];c[(c[q>>2]|0)+20>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+428>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+432>>2];Zm(c[v>>2]|0)}Gf(c[r>>2]|0);Nd(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function ow(b,e,f){b=b|0;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;o=i;i=i+48|0;g=o+4|0;p=o+32|0;h=o+8|0;l=o+36|0;n=o+44|0;j=o;m=o+12|0;k=o+40|0;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+437>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=ix(c[g>>2]|0,c[l>>2]|0)|0;p=uq(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0,0)|0;Yn(b,e,p,mq(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0,d[(c[g>>2]|0)+437>>0]|0);break}case 108:{b=c[g>>2]|0;e=ix(c[g>>2]|0,c[l>>2]|0)|0;p=Hp(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;Zn(b,e,p,kr(c[j>>2]|0,c[(c[l>>2]|0)+28>>2]|0)|0,d[(c[g>>2]|0)+437>>0]|0);break}case 109:{p=c[g>>2]|0;Wn(p,ix(c[g>>2]|0,c[l>>2]|0)|0,mq(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0);break}default:{c[k>>2]=Hp(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;Ss(m,4,0);Kn(c[g>>2]|0,c[k>>2]|0,m)|0;an(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)Yo(c[n>>2]|0,98)|0;c[l>>2]=c[(c[l>>2]|0)+32>>2]}i=o;return 0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+64>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+64>>2]=c[(c[e>>2]|0)+64>>2];i=f;return}else{Nd(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];rw(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function rw(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;r=i;i=i+48|0;g=r+4|0;h=r+16|0;k=r+20|0;m=r+24|0;o=r+28|0;p=r;j=r+12|0;n=r+32|0;l=r+8|0;c[g>>2]=e;c[h>>2]=f;c[m>>2]=c[c[h>>2]>>2];c[p>>2]=c[(c[g>>2]|0)+24>>2];c[j>>2]=c[(c[p>>2]|0)+112>>2];f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-257|256;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-513;c[o>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[n>>0]=a[c[o>>2]>>0]|0;switch(d[n>>0]|0|0){case 10:case 1:{if((d[(c[o>>2]|0)+3>>0]|0|0)>(c[m>>2]|0))c[m>>2]=d[(c[o>>2]|0)+3>>0];break}case 4:{if(c[(c[o>>2]|0)+8>>2]|0){q=(c[g>>2]|0)+88|0;b[q>>1]=b[q>>1]&-257;q=8}else q=8;break}case 2:case 3:{q=8;break}case 12:case 13:case 11:{f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-257;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-513|512;break}case 15:{if((c[(c[o>>2]|0)+8>>2]|0)>(c[m>>2]|0))c[m>>2]=c[(c[o>>2]|0)+8>>2];break}case 14:{c[l>>2]=c[(c[o>>2]|0)+-20+4>>2];if((c[l>>2]|0)>(c[m>>2]|0))c[m>>2]=c[l>>2];break}case 5:case 7:case 9:{c[(c[o>>2]|0)+16>>2]=50;a[(c[o>>2]|0)+1>>0]=-19;break}case 6:case 8:{c[(c[o>>2]|0)+16>>2]=51;a[(c[o>>2]|0)+1>>0]=-19;break}default:{}}if((q|0)==8){q=0;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-513|512}a[(c[o>>2]|0)+2>>0]=a[26590+(d[n>>0]|0)>>0]|0;if(((d[(c[o>>2]|0)+2>>0]|0)&1|0)!=0?(c[(c[o>>2]|0)+8>>2]|0)<0:0)c[(c[o>>2]|0)+8>>2]=c[(c[j>>2]|0)+(-1-(c[(c[o>>2]|0)+8>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+20}Nd(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+112>>2]|0);c[(c[p>>2]|0)+112>>2]=0;c[(c[p>>2]|0)+108>>2]=0;c[c[h>>2]>>2]=c[m>>2];i=r;return}function sw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+24+20>>1]=0;f=(c[j>>2]|0)+72|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+73>>0]|0)!=1){c[h>>2]=gx(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(b[f+76>>1]<<2)>>2];f=(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=gx(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+5>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=hx(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function tw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+72|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+24+20>>1]=0;if(((d[(c[j>>2]|0)+73>>0]|0)==1?(e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2]|0)+5>>0]|0)!=0:0){g=(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=uw(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function uw(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;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+73>>0]|0)!=1){if((d[(c[k>>2]|0)+73>>0]|0)>=3)f=vw(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+73>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+68>>2]|0)!=0?(a[(c[k>>2]|0)+73>>0]=1,f=(c[(c[k>>2]|0)+68>>2]|0)<0,c[(c[k>>2]|0)+68>>2]=0,f):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(b[(c[k>>2]|0)+76>>1]<<2)>>2];do if(a[(c[m>>2]|0)+5>>0]|0){while(1){g=b[(c[k>>2]|0)+76>>1]|0;if(e[(c[k>>2]|0)+78+(b[(c[k>>2]|0)+76>>1]<<1)>>1]|0)break;f=c[k>>2]|0;if(!g){o=17;break}yw(f)}if((o|0)==17){a[f+73>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+78+(g<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(b[(c[k>>2]|0)+76>>1]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+5>>0]|0)==0:0){c[n>>2]=tw(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+78+(b[(c[k>>2]|0)+76>>1]<<1)>>1];o=c[k>>2]|0;c[n>>2]=ww(o,kj((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=xw(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function vw(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+73>>0]|0|0)==4){c[e>>2]=c[b+68>>2];g=c[e>>2]|0;i=h;return g|0}a[b+73>>0]=0;b=(c[f>>2]|0)+48|0;c[g>>2]=Dw(c[f>>2]|0,c[(c[f>>2]|0)+56>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,(c[f>>2]|0)+68|0)|0;if(((c[g>>2]|0)==0?(Sb(c[(c[f>>2]|0)+56>>2]|0),c[(c[f>>2]|0)+56>>2]=0,(c[(c[f>>2]|0)+68>>2]|0)!=0):0)?(d[(c[f>>2]|0)+73>>0]|0|0)==1:0)a[(c[f>>2]|0)+73>>0]=2;c[e>>2]=c[g>>2];g=c[e>>2]|0;i=h;return g|0}function ww(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;p=i;i=i+32|0;h=p+8|0;j=p+16|0;k=p+20|0;o=p+24|0;l=p+4|0;n=p;m=p+12|0;c[j>>2]=f;c[k>>2]=g;c[l>>2]=b[(c[j>>2]|0)+76>>1];c[m>>2]=c[(c[j>>2]|0)+4>>2];if((b[(c[j>>2]|0)+76>>1]|0)>=19){c[h>>2]=Rk(56561)|0;o=c[h>>2]|0;i=p;return o|0}c[o>>2]=zw(c[m>>2]|0,c[k>>2]|0,n,(d[(c[j>>2]|0)+72>>0]&1|0)==0?2:0)|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];o=c[h>>2]|0;i=p;return o|0}c[(c[j>>2]|0)+120+((c[l>>2]|0)+1<<2)>>2]=c[n>>2];b[(c[j>>2]|0)+78+((c[l>>2]|0)+1<<1)>>1]=0;o=(c[j>>2]|0)+76|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;b[(c[j>>2]|0)+24+20>>1]=0;o=(c[j>>2]|0)+72|0;a[o>>0]=d[o>>0]&-7;if((e[(c[n>>2]|0)+18>>1]|0)>=1?(d[(c[n>>2]|0)+2>>0]|0)==(d[(c[(c[j>>2]|0)+120+(c[l>>2]<<2)>>2]|0)+2>>0]|0):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=Rk(56573)|0;o=c[h>>2]|0;i=p;return o|0}function xw(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(b[(c[l>>2]|0)+76>>1]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+5>>0]|0)!=0^1)){f=5;break}c[j>>2]=kj((c[(c[h>>2]|0)+56>>2]|0)+((d[g+6>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+78+(b[(c[l>>2]|0)+76>>1]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=ww(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+78+(b[(c[l>>2]|0)+76>>1]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function yw(e){e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;pt(c[(c[g>>2]|0)+120+(b[(c[g>>2]|0)+76>>1]<<2)>>2]|0);e=(c[g>>2]|0)+76|0;b[e>>1]=(b[e>>1]|0)+-1<<16>>16;b[(c[g>>2]|0)+24+20>>1]=0;e=(c[g>>2]|0)+72|0;a[e>>0]=d[e>>0]&-7;i=f;return}function zw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;e=c[h>>2]|0;if(e>>>0<=(Aw(c[g>>2]|0)|0)>>>0){c[l>>2]=Bw(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(((c[l>>2]|0)==0?(d[c[c[j>>2]>>2]>>0]|0|0)==0:0)?(c[l>>2]=Ul(c[c[j>>2]>>2]|0)|0,(c[l>>2]|0)!=0):0)pt(c[c[j>>2]>>2]|0)}else c[l>>2]=Rk(53903)|0;i=m;return c[l>>2]|0}function Aw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function Bw(a,b,d,e){a=a|0;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;m=i;i=i+32|0;f=m+8|0;g=m+16|0;h=m+20|0;j=m+24|0;n=m+4|0;l=m;k=m+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=ne(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=Cw(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+12|0;h=g+8|0;j=g+4|0;f=g;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;c[f>>2]=Sl(c[k>>2]|0)|0;d=oe(c[k>>2]|0)|0;c[(c[f>>2]|0)+56>>2]=d;c[(c[f>>2]|0)+68>>2]=c[k>>2];c[(c[f>>2]|0)+52>>2]=c[j>>2];c[(c[f>>2]|0)+72>>2]=c[h>>2];a[(c[f>>2]|0)+6>>0]=(c[(c[f>>2]|0)+72>>2]|0)==1?100:0;i=g;return c[f>>2]|0}function Dw(a,b,d,f,g,h){a=a|0;b=b|0;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,q=0,r=0,s=0;s=i;i=i+240|0;j=s+8|0;k=s+24|0;l=s+16|0;m=s;n=s+32|0;o=s+36|0;r=s+20|0;q=s+28|0;p=s+12|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=Ew(c[(c[k>>2]|0)+16>>2]|0,s+40|0,200,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}Fw(c[(c[k>>2]|0)+16>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+4>>1]|0)){Nd(c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Rk(52917)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=Gw(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Nd(c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function Ew(a,d,f,g){a=a|0;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;p=i;i=i+32|0;h=p+4|0;j=p+16|0;k=p+8|0;q=p+20|0;l=p+28|0;o=p;n=p+12|0;m=p+24|0;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=24+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=qf(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+8>>2]=(c[o>>2]|0)+24;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+4>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function Fw(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,u=0,v=0;u=i;i=i+48|0;k=u;l=u+16|0;v=u+4|0;s=u+8|0;m=u+32|0;n=u+36|0;o=u+12|0;t=u+40|0;r=u+20|0;p=u+28|0;q=u+24|0;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+8>>2];a[(c[s>>2]|0)+6>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(Rw(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(Rw(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;v=Xw((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+4>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+4>>1]=b[t>>1]|0;i=u;return}} +function Ps(b,e,f,g){b=b|0;e=e|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,G=0,H=0,I=0,J=0,K=0;K=i;i=i+160|0;h=K;r=K+108|0;s=K+36|0;t=K+40|0;u=K+12|0;v=K+16|0;A=K+20|0;H=K+80|0;I=K+32|0;j=K+96|0;x=K+144|0;w=K+112|0;l=K+120|0;D=K+44|0;q=K+48|0;n=K+60|0;o=K+52|0;y=K+56|0;p=K+84|0;C=K+100|0;E=K+104|0;F=K+28|0;G=K+24|0;B=K+92|0;z=K+88|0;m=K+116|0;k=K+124|0;c[s>>2]=b;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[A>>2]=-1;c[H>>2]=0;c[I>>2]=Po(c[s>>2]|0)|0;if(!(c[I>>2]|0)){c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}ns(c[s>>2]|0);if(!(c[(c[t>>2]|0)+4>>2]&32))c[A>>2]=Rs(c[s>>2]|0)|0;if((d[(c[s>>2]|0)+450>>0]|0)==2){f=c[c[s>>2]>>2]|0;g=(d[c[t>>2]>>0]|0)==75?23139:23144;b=c[(c[s>>2]|0)+468>>2]|0;c[h>>2]=(c[A>>2]|0)>=0?14425:23127;c[h+4>>2]=g;c[h+8>>2]=b;c[j>>2]=tf(f,23151,h)|0;To(c[I>>2]|0,155,c[(c[s>>2]|0)+464>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[t>>2]|0;do if((d[c[t>>2]>>0]|0)==75){c[l>>2]=c[g+12>>2];c[D>>2]=0;a[x>>0]=Op(c[l>>2]|0)|0;l=(c[s>>2]|0)+68|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[t>>2]|0)+28>>2]=m;c[w>>2]=Ro(c[I>>2]|0,57,c[(c[t>>2]|0)+28>>2]|0,((c[v>>2]|0)!=0^1)&1)|0;if(c[v>>2]|0)g=0;else g=Jr(c[c[s>>2]>>2]|0,1,1)|0;c[D>>2]=g;g=(c[t>>2]|0)+20|0;do if(!(c[(c[t>>2]|0)+4>>2]&2048)){if(c[g>>2]|0){c[p>>2]=c[(c[t>>2]|0)+20>>2];if(!(a[x>>0]|0))a[x>>0]=65;if(c[D>>2]|0){q=Pp(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=q}c[E>>2]=Wo(c[s>>2]|0)|0;c[F>>2]=Wo(c[s>>2]|0)|0;if(c[v>>2]|0)Ro(c[I>>2]|0,28,0,c[F>>2]|0)|0;c[y>>2]=c[c[p>>2]>>2];c[C>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[B>>2]=c[c[C>>2]>>2];if((c[A>>2]|0)>=0?(Ms(c[B>>2]|0)|0)==0:0){Ef(c[I>>2]|0,c[A>>2]|0);c[A>>2]=-1}if((c[v>>2]|0)!=0?(jq(c[B>>2]|0,z)|0)!=0:0)Uo(c[I>>2]|0,84,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;else J=29;do if((J|0)==29){J=0;c[G>>2]=Hs(c[s>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;e=c[I>>2]|0;g=c[G>>2]|0;if(c[v>>2]|0){Ro(e,38,g,(yr(c[I>>2]|0)|0)+2|0)|0;Uo(c[I>>2]|0,75,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break}else{To(e,49,g,1,c[F>>2]|0,x,1)|0;Ls(c[s>>2]|0,c[G>>2]|0,1);Ro(c[I>>2]|0,110,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[C>>2]=(c[C>>2]|0)+20}Xo(c[s>>2]|0,c[E>>2]|0);Xo(c[s>>2]|0,c[F>>2]|0)}}else{c[q>>2]=c[g>>2];Ss(n,11,c[(c[t>>2]|0)+28>>2]|0);a[n+1>>0]=a[x>>0]|0;c[(c[q>>2]|0)+8>>2]=0;if(!(Kn(c[s>>2]|0,c[q>>2]|0,n)|0)){c[o>>2]=c[c[q>>2]>>2];J=Ts(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[c[(c[o>>2]|0)+4>>2]>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=J;break}ah(c[D>>2]|0);c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[D>>2]|0)Df(c[I>>2]|0,c[w>>2]|0,c[D>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];G=(c[s>>2]|0)+72|0;J=(c[G>>2]|0)+1|0;c[G>>2]=J;Ss(k,0,J);if((d[c[t>>2]>>0]|0)==119){a[k>>0]=10;c[k+8>>2]=c[k+4>>2];Ro(c[I>>2]|0,28,0,c[k+4>>2]|0)|0}else{a[k>>0]=3;Ro(c[I>>2]|0,25,0,c[k+4>>2]|0)|0}dn(c[c[s>>2]>>2]|0,c[(c[m>>2]|0)+60>>2]|0);J=zn(c[s>>2]|0,132,0,0,2284)|0;c[(c[m>>2]|0)+60>>2]=J;c[(c[m>>2]|0)+8>>2]=0;if(!(Kn(c[s>>2]|0,c[m>>2]|0,k)|0)){c[H>>2]=c[k+4>>2];break}c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[u>>2]|0)Us(c[I>>2]|0,c[(c[t>>2]|0)+28>>2]|0,c[u>>2]|0);if((c[A>>2]|0)>=0)jp(c[I>>2]|0,c[A>>2]|0);ls(c[s>>2]|0);c[r>>2]=c[H>>2];J=c[r>>2]|0;i=K;return J|0}function Qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-97;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function Rs(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Po(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=ur(d,44,a)|0;i=b;return a|0}function Ss(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function Ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=Pp(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=Pp(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Pp(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Pp(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;Ro(c[g>>2]|0,25,0,c[h>>2]|0)|0;c[f>>2]=ur(c[g>>2]|0,108,c[j>>2]|0)|0;Uo(c[g>>2]|0,47,c[j>>2]|0,0,c[h>>2]|0)|0;xf(c[g>>2]|0,-128);jp(c[g>>2]|0,c[f>>2]|0);i=e;return}function Vs(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+316>>2];c[o>>2]=mq(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Nn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+316|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+316|0;c[o>>2]=g;i=n;return}function Ws(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+64>>0]|0){c[e>>2]=2424;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function Xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+20>>2]=c[g>>2];c[d>>2]=48;c[d+4>>2]=49;dq(d,c[f>>2]|0)|0;i=e;return c[d+20>>2]|0}function Ys(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[h>>2]=b;c[f>>2]=e;if((c[(c[h>>2]|0)+20>>2]|0)==2?(c[(c[f>>2]|0)+4>>2]&1|0)!=0:0){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;h=c[g>>2]|0;i=j;return h|0}a:do switch(d[c[f>>2]>>0]|0|0){case 153:{if((c[(c[h>>2]|0)+20>>2]|0)<3?(c[(c[f>>2]|0)+4>>2]&524288|0)==0:0){f=8;break a}c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}case 156:case 155:case 154:case 27:{f=8;break}case 135:{if((c[(c[h>>2]|0)+20>>2]|0)==4){a[c[f>>2]>>0]=101;f=13;break a}if((c[(c[h>>2]|0)+20>>2]|0)==3){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;h=c[g>>2]|0;i=j;return h|0}else f=13;break}default:f=13}while(0);if((f|0)==8){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;h=c[g>>2]|0;i=j;return h|0}else if((f|0)==13){c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}return 0}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;c[(c[e>>2]|0)+20>>2]=0;i=d;return 2}function _s(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+8|0;e=g+4|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=qf(ws(c[h>>2]|0)|0,8,0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}h=c[f>>2]|0;b=c[e>>2]|0;a[h>>0]=a[b>>0]|0;a[h+1>>0]=a[b+1>>0]|0;a[h+2>>0]=a[b+2>>0]|0;a[h+3>>0]=a[b+3>>0]|0;a[h+4>>0]=a[b+4>>0]|0;a[h+5>>0]=a[b+5>>0]|0;a[h+6>>0]=a[b+6>>0]|0;a[h+7>>0]=a[b+7>>0]|0;h=c[f>>2]|0;i=g;return h|0}function $s(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=(c[j>>2]|0)+116;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[g>>2]|0)+12>>2]|0)==(c[e>>2]|0))a[(c[g>>2]|0)+6>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function at(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,q=0,r=0,s=0;s=i;i=i+32|0;j=s+4|0;k=s+16|0;l=s+8|0;m=s+20|0;n=s+28|0;p=s;o=s+12|0;q=s+24|0;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;if((e[(c[c[j>>2]>>2]|0)+60>>1]|0)&2){i=s;return}c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+116;while(1){if((c[n>>2]|0)>=10)break;if(!(c[(c[q>>2]|0)+12>>2]|0)){r=5;break}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((r|0)==5){c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+100>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+104|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}c[p>>2]=2147483647;c[o>>2]=-1;c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+116;while(1){if((c[n>>2]|0)>=10)break;if((c[(c[q>>2]|0)+16>>2]|0)<(c[p>>2]|0)){c[o>>2]=c[n>>2];c[p>>2]=c[(c[q>>2]|0)+16>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((c[o>>2]|0)<0){i=s;return}c[q>>2]=(c[j>>2]|0)+116+((c[o>>2]|0)*20|0);c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+100>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+104|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}function bt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=Op(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function ct(a){a=a|0;var b=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[f>>2]=a;do if(c[f>>2]|0){if(c[(c[f>>2]|0)+52>>2]|0){c[b>>2]=0;break}if((e[(c[f>>2]|0)+6>>1]|0)&5){c[b>>2]=0;break}if(c[(c[f>>2]|0)+60>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+36>>2]|0){c[b>>2]=0;break}c[h>>2]=c[(c[f>>2]|0)+32>>2];if((c[c[h>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[h>>2]|0)+8+20>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[h>>2]|0)+8+16>>2];if(!(c[j>>2]|0)){c[b>>2]=0;break}if((d[(c[j>>2]|0)+44>>0]|0)&16){c[b>>2]=0;break}c[g>>2]=c[c[f>>2]>>2];if((c[c[g>>2]>>2]|0)!=1){c[b>>2]=0;break}if((d[c[c[(c[g>>2]|0)+4>>2]>>2]>>0]|0|0)!=154){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=k;return c[b>>2]|0}function dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=Es(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function et(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=Ms(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=Op(c[k>>2]|0)|0;d=(bt(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function gt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xs(c[d>>2]|0,2)|0;i=b;return a|0}function ht(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==($b(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function it(a,e,f,g,h,j,k){a=a|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+96|0;l=z+76|0;m=z+68|0;n=z+52|0;o=z+48|0;p=z+64|0;q=z+72|0;r=z+80|0;t=z+40|0;v=z+8|0;w=z+56|0;s=z+44|0;u=z+60|0;x=z;c[l>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=jt(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=jt(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=jt(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=Mo(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=Po(c[l>>2]|0)|0;c[u>>2]=ps(c[l>>2]|0,4)|0;Fs(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);Fs(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);Fs(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){Uo(c[w>>2]|0,1,0,(c[u>>2]|0)+3-(b[c[n>>2]>>1]|0)|0,(c[u>>2]|0)+3|0)|0;xf(c[w>>2]|0,b[c[n>>2]>>1]&255);Df(c[w>>2]|0,-1,c[n>>2]|0,-5);ur(c[w>>2]|0,142,(c[m>>2]|0)==24&1)|0}}else y=4;while(0);if((y|0)==4){y=(c[l>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1}dn(c[s>>2]|0,c[p>>2]|0);dn(c[s>>2]|0,c[q>>2]|0);dn(c[s>>2]|0,c[r>>2]|0);i=z;return}function jt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=27){c[h>>2]=gq(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function kt(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,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+8|0;m=q;l=q+24|0;k=q+16|0;f=q+36|0;r=q+52|0;p=q+40|0;g=q+44|0;h=q+48|0;j=q+32|0;o=q+56|0;c[f>>2]=b;c[q+28>>2]=d;c[r>>2]=e;c[p>>2]=ic(c[c[r>>2]>>2]|0)|0;c[g>>2]=Ec(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=14425;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?($b(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Yb(128,o,23217,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Yb(128,o,23238,l)|0;break}if(!(a[(c[g>>2]|0)+62>>0]|0)){Yb(128,o,23264,m)|0;break}if((je(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(mm(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){lt(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;ue(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Yb(128,o,23306,n)|0}while(0);rc(c[f>>2]|0,o,-1);i=q;return}function lt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];fe(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;mt(c[g>>2]|0)|0}He(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(nt(c[e>>2]|0)|0)==0:0)){lj(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)nb[c[(c[e>>2]|0)+52>>2]&31](c[(c[e>>2]|0)+48>>2]|0);Nd(0,c[(c[e>>2]|0)+48>>2]|0);zg(c[e>>2]|0);Sb(c[e>>2]|0)}if(c[(c[d>>2]|0)+24>>2]|0)c[(c[(c[d>>2]|0)+24>>2]|0)+20>>2]=c[(c[d>>2]|0)+20>>2];if(!(c[(c[d>>2]|0)+20>>2]|0)){g=c[d>>2]|0;Sb(g);i=h;return 0}c[(c[(c[d>>2]|0)+20>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];g=c[d>>2]|0;Sb(g);i=h;return 0}function mt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=h;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];fe(c[g>>2]|0);ot(c[d>>2]|0);a=c[(c[d>>2]|0)+8>>2]|0;if(c[(c[d>>2]|0)+12>>2]|0)c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]=a;else c[(c[f>>2]|0)+8>>2]=a;if(c[(c[d>>2]|0)+8>>2]|0)c[(c[(c[d>>2]|0)+8>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>(b[(c[d>>2]|0)+76>>1]|0))break;pt(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}qt(c[f>>2]|0);Nd(c[c[g>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0);i=h;return 0}function nt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[504]|0)!=(c[d>>2]|0)){c[e>>2]=c[504];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[504]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function ot(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Sb(c[(c[e>>2]|0)+56>>2]|0);c[(c[e>>2]|0)+56>>2]=0;a[(c[e>>2]|0)+73>>0]=0;i=d;return}function pt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Lk(c[(c[b>>2]|0)+68>>2]|0);i=d;return}function qt(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;pt(c[e>>2]|0);i=f;return}function rt(b,e,f){b=b|0;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;E=i;i=i+128|0;w=E+8|0;v=E+16|0;y=E+24|0;x=E+40|0;k=E+48|0;j=E;h=E+32|0;n=E+84|0;F=E+68|0;g=E+64|0;u=E+60|0;p=E+56|0;C=E+52|0;B=E+76|0;D=E+80|0;z=E+88|0;q=E+92|0;o=E+96|0;A=E+100|0;t=E+104|0;l=E+108|0;s=E+112|0;r=E+116|0;c[n>>2]=b;c[E+72>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=Ec(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=ic(c[c[F>>2]>>2]|0)|0;c[C>>2]=ic(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=14425;if(!(c[C>>2]|0))c[C>>2]=14425;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+88+28>>2]|0)+2|0)){if(!(a[e+62>>0]|0)){c[A>>2]=tf(c[p>>2]|0,23379,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!($b(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=tf(F,23421,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+456|0)){c[o>>2]=qf(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=hm(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=mh(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)a[(c[p>>2]|0)+64>>0]=1;rc(c[n>>2]|0,c[z>>2]|0,-1);Sb(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=nh(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Sb(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=oh(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[(c[(c[p>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0):0){c[A>>2]=tf(c[p>>2]|0,22708,y)|0;c[u>>2]=1}}else c[u>>2]=7;c[s>>2]=Id(c[(c[o>>2]|0)+4>>2]|0)|0;st(c[s>>2]|0,d[(c[p>>2]|0)+65>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;tt(F,tt(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;ut(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&28)|0}}else{c[u>>2]=1;c[A>>2]=tf(c[p>>2]|0,23451,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=ef(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Hd(c[p>>2]|0);c[u>>2]=Mr(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){lt(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}ue(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){a[(c[p>>2]|0)+64>>0]=1;Nd(c[p>>2]|0,c[A>>2]|0);c[A>>2]=tf(c[p>>2]|0,23480,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=tf(F,23494,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+88+28>>2];c[A>>2]=tf(e,23342,h)|0}while(0);if(c[A>>2]|0){rc(c[n>>2]|0,c[A>>2]|0,-1);Nd(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}zc(c[n>>2]|0,c[u>>2]|0);i=E;return}function st(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+12>>0]|0)==0:0)?(wt(c[(c[f>>2]|0)+208>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function tt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}fe(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);vt(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function vt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&3;if((c[f>>2]|0)==1)b=1;else b=(d[(c[g>>2]|0)+12>>0]|0)!=0;a[(c[g>>2]|0)+7>>0]=b?1:0;if((c[f>>2]|0)==3)e=(a[(c[g>>2]|0)+12>>0]|0)!=0^1;else e=0;a[(c[g>>2]|0)+8>>0]=e?1:0;do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&4){a[(c[g>>2]|0)+11>>0]=3;a[(c[g>>2]|0)+9>>0]=3;break}f=(c[h>>2]&8|0)!=0;a[(c[g>>2]|0)+11>>0]=2;e=(c[g>>2]|0)+9|0;if(f){a[e>>0]=3;break}else{a[e>>0]=2;break}}else{a[(c[g>>2]|0)+11>>0]=0;a[(c[g>>2]|0)+9>>0]=0}while(0);a[(c[g>>2]|0)+10>>0]=a[(c[g>>2]|0)+11>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){f=(c[g>>2]|0)+10|0;a[f>>0]=d[f>>0]|32}e=(c[g>>2]|0)+20|0;b=d[e>>0]|0;if(c[h>>2]&16){a[e>>0]=b&-2;i=j;return}else{a[e>>0]=b|1;i=j;return}}function wt(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=($b(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;ap(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function yt(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;n=i;i=i+48|0;d=n;e=n+16|0;j=n+28|0;k=n+4|0;o=n+32|0;h=n+36|0;g=n+12|0;l=n+24|0;m=n+20|0;f=n+8|0;c[d>>2]=a;c[e>>2]=b;c[o>>2]=c[c[d>>2]>>2];c[h>>2]=vf(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=zt(c[e>>2]|0)|0;c[g>>2]=16;c[l>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[m>>2]=(c[h>>2]|0)==1?19269:19288;if((c[h>>2]|0)==1)c[g>>2]=14;if(Mo(c[d>>2]|0,c[g>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[l>>2]|0)|0){i=n;return}if(Mo(c[d>>2]|0,9,c[m>>2]|0,0,c[l>>2]|0)|0){i=n;return}o=Po(c[d>>2]|0)|0;c[k>>2]=o;if(!o){i=n;return}$o(c[d>>2]|0,0,c[h>>2]|0);At(c[d>>2]|0,c[h>>2]|0);c[f>>2]=yf(c[k>>2]|0,9,23542,0)|0;Df(c[k>>2]|0,(c[f>>2]|0)+1|0,c[c[e>>2]>>2]|0,0);Df(c[k>>2]|0,(c[f>>2]|0)+4|0,14687,-2);Qo(c[d>>2]|0,c[h>>2]|0);Ro(c[k>>2]|0,61,0,0)|0;To(c[k>>2]|0,126,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;if((c[(c[d>>2]|0)+72>>2]|0)>=3){i=n;return}c[(c[d>>2]|0)+72>>2]=3;i=n;return}function zt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Po(c[d>>2]|0)|0;vr(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?19269:19288);wf(c[g>>2]|0,55,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+68>>2]|0){i=e;return}c[(c[d>>2]|0)+68>>2]=1;i=e;return}function Bt(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;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=gf(c[l>>2]|0,40+(c[(c[g>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+40;EH(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=c[j>>2];c[(c[h>>2]|0)+12+4>>2]=c[(c[g>>2]|0)+4>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function Ct(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=Zo(c[e>>2]|0,0,c[f>>2]|0)|0;Ld(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+40|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(Tq(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function Dt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function Et(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;l=i;i=i+48|0;k=l;g=l+24|0;h=l+28|0;d=l+32|0;e=l+16|0;f=l+12|0;j=l+20|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?($b(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Nd(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(Ft(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(Gt(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;sf(f,23825,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function Ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(Ht(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(Et(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=6;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=8;break}if(Ht(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=10;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=12;break}if(Ht(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0){d=14;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=16;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+52>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function Gt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){b=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+140+5>>0]|0)){b=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&16384){b=16;break}b=c[h>>2]|0;e=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(Ft(b,c[e>>2]|0)|0){b=10;break}}else if(Ht(b,c[e>>2]|0)|0){b=12;break}if(Gt(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){b=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((b|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];sf(f,23871,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((b|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((b|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((b|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((b|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function Ht(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(Gt(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function It(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(Ft(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=6;break}if(Ht(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+32>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function Jt(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-65|64;i=d;return}function Kt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=a;c[l>>2]=d;c[k>>2]=c[c[f>>2]>>2];gu(c[(c[f>>2]|0)+16>>2]|0,(e[(c[f>>2]|0)+84>>1]|0)<<1);Nd(c[k>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[f>>2]|0)+84>>1]=c[l>>2];a=gf(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[f>>2]|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=j;return}while(1){l=c[g>>2]|0;c[g>>2]=l+-1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[f>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=j;return}function Lt(b,d,f,g,h){b=b|0;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,q=0,r=0;r=i;i=i+32|0;j=r+4|0;k=r+16|0;l=r+8|0;m=r+20|0;n=r+28|0;o=r;q=r+12|0;p=r+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+64>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+84>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(g*40|0);c[q>>2]=Xe(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function Mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l+20|0;g=l;k=l+16|0;h=l+12|0;j=l+8|0;c[m>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[k>>2]=Po(c[m>>2]|0)|0;a=(c[m>>2]|0)+72|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[h>>2]=b;c[j>>2]=qf(c[c[m>>2]>>2]|0,8,0)|0;if(c[j>>2]|0){m=c[j>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2]}To(c[k>>2]|0,26,0,c[h>>2]|0,0,c[j>>2]|0,-13)|0;Kt(c[k>>2]|0,1);Lt(c[k>>2]|0,0,0,c[f>>2]|0,0)|0;Ro(c[k>>2]|0,35,c[h>>2]|0,1)|0;i=l;return}function Nt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!($b(c[d>>2]|0,24077)|0)){c[b>>2]=1;break}if(!($b(c[d>>2]|0,24070)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function Ot(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[3248+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function Pt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+160|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;fu(c[(c[e>>2]|0)+208>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+160|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function Qt(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;fe(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function Rt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if($b(c[d>>2]|0,25056)|0){if(!($b(c[d>>2]|0,24661)|0)){c[b>>2]=1;break}if(!($b(c[d>>2]|0,25061)|0)){c[b>>2]=2;break}else{c[e>>2]=vg(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function St(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];fe(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function Tt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=eu(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+63>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(Ut(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+63>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function Ut(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+62>>0]|0)!=0?(je(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){lt(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;ue(c[f>>2]|0);break}sf(c[e>>2]|0,24994,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function Vt(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+62>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)ut(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&28)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function Wt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;g=h+8|0;e=h+16|0;f=h;b[e>>1]=a;if((b[e>>1]|0)<10){f=g;c[f>>2]=1;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}k=(b[e>>1]|0)%10|0;j=f;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;b[e>>1]=(b[e>>1]|0)/10|0;j=f;k=c[j+4>>2]|0;d=f;a=c[d>>2]|0;d=c[d+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>=5)){if(d>>>0>0|(d|0)==0&a>>>0>=1){j=f;j=AH(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C}}else{j=AH(a|0,d|0,2,0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C}if((b[e>>1]|0)<3){k=f;k=DH(c[k>>2]|0,c[k+4>>2]|0,8,0)|0;k=GH(k|0,C|0,3-(b[e>>1]|0)|0)|0;j=g;c[j>>2]=k;c[j+4>>2]=C;j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}if((b[e>>1]|0)>60){d=-1;a=2147483647}else{d=f;d=DH(c[d>>2]|0,c[d+4>>2]|0,8,0)|0;d=CH(d|0,C|0,(b[e>>1]|0)-3|0)|0;a=C}j=g;c[j>>2]=d;c[j+4>>2]=a;j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function Xt(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=24946;break}case 8:{c[e>>2]=24955;break}case 9:{c[e>>2]=24967;break}case 6:{c[e>>2]=24975;break}default:c[e>>2]=24984}i=f;return c[e>>2]|0}function Yt(f,g,h,j,k){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;D=i;i=i+80|0;y=D;l=D+32|0;m=D+8|0;n=D+28|0;o=D+16|0;p=D+20|0;q=D+24|0;x=D+60|0;r=D+36|0;w=D+40|0;B=D+44|0;s=D+48|0;t=D+52|0;v=D+56|0;u=D+68|0;z=D+12|0;A=D+64|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+36>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!($b(c[(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+36>>1]|0)*24|0)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=qf(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;j=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+16>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:15963;if($b(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!($b(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=27;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==27?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+438>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;sf(C,24901,y)}Nd(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function Zt(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+4|0;h=o+12|0;k=o+16|0;l=o+20|0;m=o;g=o+8|0;n=o+24|0;c[h>>2]=d;c[k>>2]=f;if(!(c[(c[k>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[k>>2]|0)+12>>2];c[g>>2]=ws(c[h>>2]|0)|0;d=(e[(c[k>>2]|0)+52>>1]|0)+1|0;d=qf(0,d,((d|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=d;if(!(c[(c[k>>2]|0)+16>>2]|0)){a[(c[g>>2]|0)+64>>0]=1;c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;h=c[k>>2]|0;if((c[l>>2]|0)>=(e[(c[k>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[h+4>>2]|0)+(g<<1)>>1]|0;if((b[n>>1]|0)<0)g=68;else g=a[(c[(c[m>>2]|0)+4>>2]|0)+((b[n>>1]|0)*24|0)+21>>0]|0;a[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=g;c[l>>2]=(c[l>>2]|0)+1}a[(c[h+16>>2]|0)+g>>0]=0}c[j>>2]=c[(c[k>>2]|0)+16>>2];n=c[j>>2]|0;i=o;return n|0}function _t(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=24805;else c[f>>2]=24809;Yf(c[d>>2]|0,24813,2,1,c[f>>2]|0,39,0,0,0)|0;Yf(c[d>>2]|0,24813,3,1,c[f>>2]|0,39,0,0,0)|0;Yf(c[d>>2]|0,24818,2,1,14421,39,0,0,0)|0;cu(c[d>>2]|0,24818,12);cu(c[d>>2]|0,24813,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function $t(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+116;while(1){if((c[d>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0){ms(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function au(b,e,f,g,h,j,k){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;o=A+24|0;p=A+20|0;q=A+44|0;r=A+36|0;s=A+32|0;t=A+40|0;u=A+48|0;l=A+52|0;v=A+8|0;w=A+4|0;m=A+28|0;y=A+12|0;z=A;x=A+16|0;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[l>>2]=k;if((d[(c[q>>2]|0)+44>>0]|0)&16){c[o>>2]=0;z=c[o>>2]|0;i=A;return z|0}c[w>>2]=vf(c[c[p>>2]>>2]|0,c[(c[q>>2]|0)+68>>2]|0)|0;c[z>>2]=Po(c[p>>2]|0)|0;if((c[s>>2]|0)<0)c[s>>2]=c[(c[p>>2]|0)+68>>2];k=c[s>>2]|0;c[s>>2]=k+1;c[m>>2]=k;if(c[u>>2]|0)c[c[u>>2]>>2]=c[m>>2];do if(!((d[(c[q>>2]|0)+44>>0]|0)&32)){if((c[t>>2]|0)!=0?(d[c[t>>2]>>0]|0|0)==0:0){n=11;break}wr(c[p>>2]|0,c[m>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0)}else n=11;while(0);if((n|0)==11)vr(c[p>>2]|0,c[w>>2]|0,c[(c[q>>2]|0)+32>>2]|0,(c[r>>2]|0)==55&255,c[c[q>>2]>>2]|0);if(c[l>>2]|0)c[c[l>>2]>>2]=c[s>>2];c[v>>2]=0;c[y>>2]=c[(c[q>>2]|0)+8>>2];while(1){l=c[s>>2]|0;if(!(c[y>>2]|0))break;c[s>>2]=l+1;c[x>>2]=l;if((a[(c[y>>2]|0)+55>>0]&3|0)==2?((c[u>>2]|0)!=0?((d[(c[q>>2]|0)+44>>0]|0)&32|0)!=0:0):0)c[c[u>>2]>>2]=c[x>>2];if(!((c[t>>2]|0)!=0?(d[(c[t>>2]|0)+((c[v>>2]|0)+1)>>0]|0|0)==0:0)){Uo(c[z>>2]|0,c[r>>2]|0,c[x>>2]|0,c[(c[y>>2]|0)+44>>2]|0,c[w>>2]|0)|0;xr(c[p>>2]|0,c[y>>2]|0)}c[y>>2]=c[(c[y>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}if((l|0)>(c[(c[p>>2]|0)+68>>2]|0))c[(c[p>>2]|0)+68>>2]=c[s>>2];c[o>>2]=c[v>>2];z=c[o>>2]|0;i=A;return z|0}function bu(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,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;e=n;f=n+16|0;g=n+28|0;k=n+4|0;l=n+32|0;h=n+36|0;p=n+12|0;o=n+24|0;m=n+20|0;j=n+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[o>>2]=Ec(c[e>>2]|0)|0;c[l>>2]=ic(c[c[g>>2]>>2]|0)|0;c[k>>2]=ic(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=jc(c[c[g>>2]>>2]|0)|0;if((c[p>>2]|0)>(c[(c[o>>2]|0)+88+32>>2]|0)){rc(c[e>>2]|0,24823,-1);i=n;return}do if((c[f>>2]|0)==3){c[m>>2]=ic(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}if((Dp(c[m>>2]|0,-1)|0)==1){c[h>>2]=du(m)|0;break}rc(c[e>>2]|0,24856,-1);i=n;return}while(0);if(!((c[k>>2]|0)!=0&(c[l>>2]|0)!=0)){i=n;return}c[j>>2]=Dc(c[e>>2]|0)|0;p=c[e>>2]|0;sc(p,Jf(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0);i=n;return}function cu(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;h=c[n>>2]|0;g=c[m>>2]|0;c[k>>2]=Zf(h,g,Ed(c[m>>2]|0)|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function du(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[17815+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function eu(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!($b(c[e>>2]|0,24372)|0)){c[d>>2]=1;break}if(!($b(c[e>>2]|0,17742)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function fu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function gu(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+12|0;g=m+8|0;l=m+4|0;j=m;k=m+16|0;c[h>>2]=d;c[g>>2]=f;if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){i=m;return}c[l>>2]=(c[h>>2]|0)+((c[g>>2]|0)*40|0);c[j>>2]=c[(c[h>>2]|0)+32>>2];a[k>>0]=a[(c[j>>2]|0)+64>>0]|0;if(c[(c[j>>2]|0)+520>>2]|0){do{if(c[(c[h>>2]|0)+24>>2]|0)Nd(c[j>>2]|0,c[(c[h>>2]|0)+20>>2]|0);k=(c[h>>2]|0)+40|0;c[h>>2]=k}while(k>>>0<(c[l>>2]|0)>>>0);i=m;return}do{g=c[h>>2]|0;if(!((e[(c[h>>2]|0)+8>>1]|0)&9312)){if(c[g+24>>2]|0){Nd(c[j>>2]|0,c[(c[h>>2]|0)+20>>2]|0);c[(c[h>>2]|0)+24>>2]=0}}else Oe(g);b[(c[h>>2]|0)+8>>1]=128;d=(c[h>>2]|0)+40|0;c[h>>2]=d}while(d>>>0<(c[l>>2]|0)>>>0);a[(c[j>>2]|0)+64>>0]=a[k>>0]|0;i=m;return}function hu(a,b,d,e){a=a|0;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,o=0,p=0;o=i;i=i+80|0;l=o;k=o+16|0;f=o+32|0;p=o+28|0;g=o+40|0;h=o+20|0;j=o+24|0;m=o+36|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Yb(24,n,25914,k)|0;if(cp(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;Oo(p,22406,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function iu(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,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=Po(c[g>>2]|0)|0;c[f>>2]=Wo(c[g>>2]|0)|0;Uo(c[k>>2]|0,117,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Cp(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?19269:19288;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;Oo(a,25858,h);Xo(c[g>>2]|0,c[f>>2]|0);i=e;return}function ju(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;r=i;i=i+48|0;g=r;h=r+16|0;j=r+28|0;k=r+4|0;l=r+32|0;m=r+36|0;q=r+12|0;n=r+24|0;p=r+20|0;o=r+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=hm(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;BH((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function ku(a,b,e,f,g){a=a|0;b=b|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+8|0;l=q+20|0;m=q+28|0;n=q;p=q+12|0;o=q+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&8388608)c[p>>2]=gp(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(kx(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function lu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+44>>0]|0)&16|0)!=0?(c[(c[c[(Bp(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+44>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];sf(m,26830,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];sf(m,26801,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function mu(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function nu(f,g,h,j,k){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+112|0;v=L+48|0;w=L+44|0;x=L+84|0;l=L+92|0;s=L+40|0;y=L+16|0;o=L+20|0;G=L+24|0;H=L+28|0;F=L+72|0;p=L+80|0;m=L+88|0;C=L+96|0;E=L+100|0;D=L+52|0;z=L+56|0;t=L+60|0;A=L+64|0;B=L+8|0;K=L+12|0;u=L+68|0;r=L+32|0;I=L+36|0;J=L+76|0;n=L;q=L+4|0;c[w>>2]=f;c[x>>2]=g;c[l>>2]=h;c[s>>2]=j;c[y>>2]=k;c[A>>2]=0;c[B>>2]=0;c[r>>2]=0;if(!(c[l>>2]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((c[(c[w>>2]|0)+532>>2]|0)==0?(c[(c[l>>2]|0)+68>>2]|0)==0:0){if(gp(c[w>>2]|0,c[x>>2]|0)|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(d[(c[x>>2]|0)+44>>0]&16){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((c[s>>2]|0)==10){if((b[(c[x>>2]|0)+36>>1]|0)>=0)c[s>>2]=d[(c[x>>2]|0)+45>>0];if((c[s>>2]|0)==10)c[s>>2]=2}if((c[c[(c[l>>2]|0)+32>>2]>>2]|0)!=1){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[(c[l>>2]|0)+32>>2]|0)+8+20>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+36>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+48>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+40>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+60>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+52>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(e[(c[l>>2]|0)+6>>1]&1){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}c[o>>2]=c[c[l>>2]>>2];if((c[c[o>>2]>>2]|0)!=1){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((d[c[c[(c[o>>2]|0)+4>>2]>>2]>>0]|0)!=116){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}c[p>>2]=(c[(c[l>>2]|0)+32>>2]|0)+8;c[G>>2]=Zo(c[w>>2]|0,0,c[p>>2]|0)|0;if(!(c[G>>2]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((c[G>>2]|0)==(c[x>>2]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(((d[(c[x>>2]|0)+44>>0]&32|0)==0|0)!=((d[(c[G>>2]|0)+44>>0]&32|0)==0|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(d[(c[G>>2]|0)+44>>0]&16){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[G>>2]|0)+12>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((b[(c[x>>2]|0)+38>>1]|0)!=(b[(c[G>>2]|0)+38>>1]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((b[(c[x>>2]|0)+36>>1]|0)!=(b[(c[G>>2]|0)+36>>1]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}c[m>>2]=0;a:while(1){if((c[m>>2]|0)>=(b[(c[x>>2]|0)+38>>1]|0)){l=64;break}c[n>>2]=(c[(c[x>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0);c[q>>2]=(c[(c[G>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0);if((a[(c[n>>2]|0)+21>>0]|0)!=(a[(c[q>>2]|0)+21>>0]|0)){l=52;break}if(!(lx(c[(c[n>>2]|0)+16>>2]|0,c[(c[q>>2]|0)+16>>2]|0)|0)){l=54;break}if((d[(c[n>>2]|0)+20>>0]|0)!=0?(a[(c[q>>2]|0)+20>>0]|0)==0:0){l=57;break}do if((c[m>>2]|0)>0){if(((c[(c[n>>2]|0)+8>>2]|0)==0|0)!=((c[(c[q>>2]|0)+8>>2]|0)==0|0)){l=62;break a}if(!(c[(c[n>>2]|0)+8>>2]|0))break;if(aH(c[(c[n>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[m>>2]=(c[m>>2]|0)+1}if((l|0)==52){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else if((l|0)==54){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else if((l|0)==57){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else if((l|0)==62){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else if((l|0)==64){c[F>>2]=c[(c[x>>2]|0)+8>>2];while(1){if(!(c[F>>2]|0))break;if(d[(c[F>>2]|0)+54>>0]|0)c[r>>2]=1;c[H>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(mx(c[F>>2]|0,c[H>>2]|0)|0)break;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(!(c[H>>2]|0)){l=73;break}c[F>>2]=c[(c[F>>2]|0)+20>>2]}if((l|0)==73){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}do if(c[(c[x>>2]|0)+24>>2]|0){if(!(pq(c[(c[G>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+24>>2]|0,-1)|0))break;c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}while(0);do if(c[(c[c[w>>2]>>2]|0)+24>>2]&524288){if(!(c[(c[x>>2]|0)+16>>2]|0))break;c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}while(0);if(c[(c[c[w>>2]>>2]|0)+24>>2]&128){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}c[C>>2]=vf(c[c[w>>2]>>2]|0,c[(c[G>>2]|0)+68>>2]|0)|0;c[K>>2]=Po(c[w>>2]|0)|0;ap(c[w>>2]|0,c[C>>2]|0);q=(c[w>>2]|0)+68|0;h=c[q>>2]|0;c[q>>2]=h+1;c[E>>2]=h;h=(c[w>>2]|0)+68|0;q=c[h>>2]|0;c[h>>2]=q+1;c[D>>2]=q;c[u>>2]=ou(c[w>>2]|0,c[y>>2]|0,c[x>>2]|0)|0;c[I>>2]=Wo(c[w>>2]|0)|0;c[J>>2]=Wo(c[w>>2]|0)|0;wr(c[w>>2]|0,c[D>>2]|0,c[y>>2]|0,c[x>>2]|0,55);if((b[(c[x>>2]|0)+36>>1]|0)<0)if((c[r>>2]|0)!=0?1:(c[(c[x>>2]|0)+8>>2]|0)!=0)l=87;else l=86;else if(c[r>>2]|0)l=87;else l=86;if((l|0)==86?(c[s>>2]|0)!=2&(c[s>>2]|0)!=1:0)l=87;if((l|0)==87){c[z>>2]=Ro(c[K>>2]|0,108,c[D>>2]|0,0)|0;c[A>>2]=Ro(c[K>>2]|0,16,0,0)|0;jp(c[K>>2]|0,c[z>>2]|0)}l=c[w>>2]|0;if(!(d[(c[G>>2]|0)+44>>0]&32)){wr(l,c[E>>2]|0,c[C>>2]|0,c[G>>2]|0,54);c[B>>2]=Ro(c[K>>2]|0,108,c[E>>2]|0,0)|0;do if((b[(c[x>>2]|0)+36>>1]|0)<0){l=c[K>>2]|0;if(!(c[(c[x>>2]|0)+8>>2]|0)){c[z>>2]=Ro(l,74,c[D>>2]|0,c[J>>2]|0)|0;break}else{c[z>>2]=Ro(l,103,c[E>>2]|0,c[J>>2]|0)|0;break}}else{c[z>>2]=Ro(c[K>>2]|0,103,c[E>>2]|0,c[J>>2]|0)|0;c[t>>2]=Uo(c[K>>2]|0,70,c[D>>2]|0,0,c[J>>2]|0)|0;bw(c[w>>2]|0,c[s>>2]|0,c[x>>2]|0);jp(c[K>>2]|0,c[t>>2]|0);tu(c[w>>2]|0,c[u>>2]|0,c[J>>2]|0)}while(0);Ro(c[K>>2]|0,102,c[E>>2]|0,c[I>>2]|0)|0;Uo(c[K>>2]|0,75,c[D>>2]|0,c[I>>2]|0,c[J>>2]|0)|0;xf(c[K>>2]|0,11);Df(c[K>>2]|0,-1,c[c[x>>2]>>2]|0,0);Ro(c[K>>2]|0,9,c[E>>2]|0,c[z>>2]|0)|0;Ro(c[K>>2]|0,61,c[E>>2]|0,0)|0;Ro(c[K>>2]|0,61,c[D>>2]|0,0)|0}else{vr(l,c[y>>2]|0,c[(c[x>>2]|0)+32>>2]|0,1,c[c[x>>2]>>2]|0);vr(c[w>>2]|0,c[C>>2]|0,c[(c[G>>2]|0)+32>>2]|0,0,c[c[G>>2]>>2]|0)}c[F>>2]=c[(c[x>>2]|0)+8>>2];while(1){if(!(c[F>>2]|0))break;c[H>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(mx(c[F>>2]|0,c[H>>2]|0)|0)break;c[H>>2]=c[(c[H>>2]|0)+20>>2]}Uo(c[K>>2]|0,54,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[C>>2]|0)|0;xr(c[w>>2]|0,c[H>>2]|0);Uo(c[K>>2]|0,55,c[D>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[y>>2]|0)|0;xr(c[w>>2]|0,c[F>>2]|0);xf(c[K>>2]|0,1);c[z>>2]=Ro(c[K>>2]|0,108,c[E>>2]|0,0)|0;Ro(c[K>>2]|0,101,c[E>>2]|0,c[I>>2]|0)|0;Uo(c[K>>2]|0,110,c[D>>2]|0,c[I>>2]|0,1)|0;Ro(c[K>>2]|0,9,c[E>>2]|0,(c[z>>2]|0)+1|0)|0;jp(c[K>>2]|0,c[z>>2]|0);Ro(c[K>>2]|0,61,c[E>>2]|0,0)|0;Ro(c[K>>2]|0,61,c[D>>2]|0,0)|0;c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(c[B>>2]|0)jp(c[K>>2]|0,c[B>>2]|0);Xo(c[w>>2]|0,c[J>>2]|0);Xo(c[w>>2]|0,c[I>>2]|0);if(c[A>>2]|0){Ro(c[K>>2]|0,24,0,0)|0;jp(c[K>>2]|0,c[A>>2]|0);Ro(c[K>>2]|0,61,c[D>>2]|0,0)|0;c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else{c[v>>2]=1;K=c[v>>2]|0;i=L;return K|0}}}c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}function ou(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+8|0;g=n+16|0;h=n+20|0;j=n+24|0;k=n+4|0;m=n;l=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if((d[(c[j>>2]|0)+44>>0]|0)&8){a=c[g>>2]|0;if(c[(c[g>>2]|0)+408>>2]|0)a=c[a+408>>2]|0;c[m>>2]=a;c[l>>2]=c[(c[m>>2]|0)+404>>2];while(1){if(c[l>>2]|0)b=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else b=0;a=c[l>>2]|0;if(!b)break;c[l>>2]=c[a>>2]}do if(!a){c[l>>2]=qf(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+404>>2];c[(c[m>>2]|0)+404>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+72|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+72|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function pu(a,b,e){a=a|0;b=b|0;e=e|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;r=i;i=i+48|0;q=r+36|0;f=r+16|0;g=r;h=r+28|0;p=r+32|0;j=r+40|0;k=r+12|0;n=r+24|0;m=r+20|0;l=r+8|0;o=r+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=Po(c[f>>2]|0)|0;c[k>>2]=yr(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+44>>0]|0)&16)f=Bp(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=Ws(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==54?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+32>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==147?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function qu(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;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];Fs(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+72|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;Ro(c[j>>2]|0,33,c[h>>2]|0,c[f>>2]|0)|0;Qs(c[g>>2]|0,c[f>>2]|0);i=e;return}function ru(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=ws(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+38>>1]|0)+1|0;c[m>>2]=qf(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){a[(c[j>>2]|0)+64>>0]=1;i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+38>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)+21>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Ed(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){To(g,48,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Df(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function su(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v;w=v+16|0;n=v+28|0;o=v+4|0;p=v+32|0;q=v+36|0;r=v+12|0;s=v+24|0;t=v+20|0;u=v+8|0;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(kx(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)kw(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}Ro(c[(c[e>>2]|0)+8>>2]|0,136,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function uu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(Ms(c[g>>2]|0)|0)!=0:0){Vs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}Fs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function vu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;e=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;f=l;c[m>>2]=b;c[e>>2]=d;b=c[m>>2]|0;if(c[(c[m>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[j>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+452>>2]|0))break;if((c[e>>2]|0)==(c[(c[(c[j>>2]|0)+520>>2]|0)+(c[g>>2]<<2)>>2]|0)){k=10;break}c[g>>2]=(c[g>>2]|0)+1}if((k|0)==10){i=l;return}c[h>>2]=(c[(c[j>>2]|0)+452>>2]|0)+1<<2;c[f>>2]=Tb(c[(c[j>>2]|0)+520>>2]|0,c[h>>2]|0)|0;if(c[f>>2]|0){c[(c[j>>2]|0)+520>>2]=c[f>>2];k=c[e>>2]|0;h=(c[j>>2]|0)+452|0;m=c[h>>2]|0;c[h>>2]=m+1;c[(c[(c[j>>2]|0)+520>>2]|0)+(m<<2)>>2]=k;i=l;return}else{a[(c[c[j>>2]>>2]|0)+64>>0]=1;i=l;return}}function wu(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;ka=i;i=i+176|0;x=ka;B=ka+152|0;C=ka+8|0;E=ka+76|0;F=ka+80|0;G=ka+60|0;H=ka+24|0;I=ka+28|0;J=ka+172|0;K=ka+173|0;L=ka+40|0;D=ka+44|0;ha=ka+48|0;$=ka+52|0;aa=ka+56|0;P=ka+12|0;Q=ka+132|0;W=ka+140|0;u=ka+148|0;Y=ka+156|0;t=ka+164|0;ga=ka+84|0;X=ka+88|0;U=ka+168|0;T=ka+96|0;V=ka+174|0;O=ka+175|0;fa=ka+108|0;y=ka+112|0;v=ka+116|0;s=ka+120|0;z=ka+124|0;r=ka+16|0;w=ka+128|0;da=ka+64|0;ea=ka+20|0;S=ka+68|0;N=ka+136|0;R=ka+72|0;ia=ka+144|0;ja=ka+92|0;M=ka+160|0;Z=ka+104|0;ca=ka+100|0;_=ka+36|0;ba=ka+32|0;c[B>>2]=f;c[C>>2]=g;c[E>>2]=h;c[F>>2]=j;c[G>>2]=k;c[H>>2]=l;c[I>>2]=m;a[J>>0]=n;a[K>>0]=o;c[L>>2]=p;c[D>>2]=q;c[aa>>2]=0;c[ga>>2]=0;c[U>>2]=0;c[T>>2]=0;a[O>>0]=0;c[fa>>2]=-1;a[V>>0]=(c[I>>2]|0)!=0;c[P>>2]=c[c[B>>2]>>2];c[ha>>2]=Po(c[B>>2]|0)|0;c[u>>2]=b[(c[C>>2]|0)+38>>1];if(!(d[(c[C>>2]|0)+44>>0]&32)){c[aa>>2]=0;c[X>>2]=1}else{c[aa>>2]=Lr(c[C>>2]|0)|0;c[X>>2]=e[(c[aa>>2]|0)+50>>1]}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[u>>2]|0))break;a:do if((c[Q>>2]|0)!=(b[(c[C>>2]|0)+36>>1]|0)?(c[Y>>2]=d[(c[(c[C>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*24|0)+20>>0],(c[Y>>2]|0)!=0):0){if((d[K>>0]|0)==10){if((c[Y>>2]|0)==10)c[Y>>2]=2}else c[Y>>2]=d[K>>0];if((c[Y>>2]|0)==5?(c[(c[(c[C>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*24|0)+4>>2]|0)==0:0)c[Y>>2]=2;switch(c[Y>>2]|0){case 2:{Cp(c[B>>2]|0);break}case 3:case 1:break;case 4:{Ro(c[ha>>2]|0,76,(c[H>>2]|0)+1+(c[Q>>2]|0)|0,c[L>>2]|0)|0;break a}default:{c[t>>2]=ur(c[ha>>2]|0,77,(c[H>>2]|0)+1+(c[Q>>2]|0)|0)|0;Fs(c[B>>2]|0,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*24|0)+4>>2]|0,(c[H>>2]|0)+1+(c[Q>>2]|0)|0);jp(c[ha>>2]|0,c[t>>2]|0);break a}}m=c[P>>2]|0;l=c[(c[(c[C>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*24|0)>>2]|0;c[x>>2]=c[c[C>>2]>>2];c[x+4>>2]=l;c[y>>2]=tf(m,21695,x)|0;To(c[ha>>2]|0,23,1299,c[Y>>2]|0,(c[H>>2]|0)+1+(c[Q>>2]|0)|0,c[y>>2]|0,-1)|0;xf(c[ha>>2]|0,1)}while(0);c[Q>>2]=(c[Q>>2]|0)+1}b:do if((c[(c[C>>2]|0)+24>>2]|0)!=0?(c[(c[P>>2]|0)+24>>2]&8192|0)==0:0){c[v>>2]=c[(c[C>>2]|0)+24>>2];c[(c[B>>2]|0)+92>>2]=(c[H>>2]|0)+1;c[Y>>2]=(d[K>>0]|0)!=10?d[K>>0]|0:2;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[c[v>>2]>>2]|0))break b;c[s>>2]=zr(c[ha>>2]|0)|0;xs(c[B>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)>>2]|0,c[s>>2]|0,16);if((c[Y>>2]|0)==4)Ro(c[ha>>2]|0,16,0,c[L>>2]|0)|0;else{c[z>>2]=c[(c[(c[v>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)+4>>2];if(!(c[z>>2]|0))c[z>>2]=c[c[C>>2]>>2];if((c[Y>>2]|0)==5)c[Y>>2]=2;gs(c[B>>2]|0,275,c[Y>>2]|0,c[z>>2]|0,0,3)}Br(c[ha>>2]|0,c[s>>2]|0);c[Q>>2]=(c[Q>>2]|0)+1}}while(0);if((d[J>>0]|0)!=0&(c[aa>>2]|0)==0){c[r>>2]=zr(c[ha>>2]|0)|0;c[Y>>2]=d[(c[C>>2]|0)+45>>0];if((d[K>>0]|0)==10){if((c[Y>>2]|0)==10)c[Y>>2]=2}else c[Y>>2]=d[K>>0];if(a[V>>0]|0){Uo(c[ha>>2]|0,79,c[H>>2]|0,c[r>>2]|0,c[I>>2]|0)|0;xf(c[ha>>2]|0,-112)}c:do if((c[Y>>2]|0)==5?(d[K>>0]|0)!=5:0){c[$>>2]=c[(c[C>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break c;if((d[(c[$>>2]|0)+54>>0]|0)==4)break;if((d[(c[$>>2]|0)+54>>0]|0)==3)break;c[$>>2]=c[(c[$>>2]|0)+20>>2]}c[U>>2]=Yo(c[ha>>2]|0,16)|0}while(0);Uo(c[ha>>2]|0,70,c[F>>2]|0,c[r>>2]|0,c[H>>2]|0)|0;switch(c[Y>>2]|0){case 3:case 2:case 1:{A=50;break}case 5:{c[w>>2]=0;if(c[(c[P>>2]|0)+24>>2]&262144)c[w>>2]=ku(c[B>>2]|0,c[C>>2]|0,109,0,0)|0;if((c[w>>2]|0)==0?(cw(c[B>>2]|0,c[C>>2]|0,0,0)|0)==0:0){if(c[(c[C>>2]|0)+8>>2]|0){dw(c[B>>2]|0);fw(c[B>>2]|0,c[C>>2]|0,c[F>>2]|0,c[G>>2]|0,0)}}else{dw(c[B>>2]|0);ew(c[B>>2]|0,c[C>>2]|0,c[w>>2]|0,c[F>>2]|0,c[G>>2]|0,c[H>>2]|0,1,0,5,1)}c[ga>>2]=1;break}case 4:{Ro(c[ha>>2]|0,16,0,c[L>>2]|0)|0;break}default:{c[Y>>2]=2;A=50}}if((A|0)==50)bw(c[B>>2]|0,c[Y>>2]|0,c[C>>2]|0);Br(c[ha>>2]|0,c[r>>2]|0);if(c[U>>2]|0){c[T>>2]=Yo(c[ha>>2]|0,16)|0;jp(c[ha>>2]|0,c[U>>2]|0)}}c[W>>2]=0;c[$>>2]=c[(c[C>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;do if(c[(c[E>>2]|0)+(c[W>>2]<<2)>>2]|0){if(!(d[O>>0]|0)){ru(c[ha>>2]|0,c[C>>2]|0,(c[H>>2]|0)+1|0);a[O>>0]=1}c[S>>2]=(c[G>>2]|0)+(c[W>>2]|0);c[N>>2]=zr(c[ha>>2]|0)|0;if(c[(c[$>>2]|0)+36>>2]|0){Ro(c[ha>>2]|0,28,0,c[(c[E>>2]|0)+(c[W>>2]<<2)>>2]|0)|0;c[(c[B>>2]|0)+92>>2]=(c[H>>2]|0)+1;os(c[B>>2]|0,c[(c[$>>2]|0)+36>>2]|0,c[N>>2]|0,16);c[(c[B>>2]|0)+92>>2]=0}c[da>>2]=ps(c[B>>2]|0,e[(c[$>>2]|0)+52>>1]|0)|0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(e[(c[$>>2]|0)+52>>1]|0))break;c[R>>2]=b[(c[(c[$>>2]|0)+4>>2]|0)+(c[Q>>2]<<1)>>1];if((c[R>>2]|0)>=0?(c[R>>2]|0)!=(b[(c[C>>2]|0)+36>>1]|0):0){c[ia>>2]=(c[R>>2]|0)+(c[H>>2]|0)+1;A=78}else A=73;if((A|0)==73?(A=0,(c[fa>>2]|0)!=((c[da>>2]|0)+(c[Q>>2]|0)|0)):0){c[ia>>2]=c[H>>2];if(c[(c[$>>2]|0)+36>>2]|0)h=-1;else h=(c[da>>2]|0)+(c[Q>>2]|0)|0;c[fa>>2]=h;A=78}if((A|0)==78)Ro(c[ha>>2]|0,34,c[ia>>2]|0,(c[da>>2]|0)+(c[Q>>2]|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}Uo(c[ha>>2]|0,49,c[da>>2]|0,e[(c[$>>2]|0)+52>>1]|0,c[(c[E>>2]|0)+(c[W>>2]<<2)>>2]|0)|0;Ls(c[B>>2]|0,c[da>>2]|0,e[(c[$>>2]|0)+52>>1]|0);if(((d[V>>0]|0)!=0?(c[aa>>2]|0)==(c[$>>2]|0):0)?(d[J>>0]|0)==0:0){Br(c[ha>>2]|0,c[N>>2]|0);break}c[Y>>2]=d[(c[$>>2]|0)+54>>0];if(!(c[Y>>2]|0)){ss(c[B>>2]|0,c[da>>2]|0,e[(c[$>>2]|0)+52>>1]|0);Br(c[ha>>2]|0,c[N>>2]|0);break}if((d[K>>0]|0)==10){if((c[Y>>2]|0)==10)c[Y>>2]=2}else c[Y>>2]=d[K>>0];wf(c[ha>>2]|0,67,c[S>>2]|0,c[N>>2]|0,c[da>>2]|0,e[(c[$>>2]|0)+50>>1]|0)|0;if((c[$>>2]|0)==(c[aa>>2]|0))h=c[da>>2]|0;else h=ps(c[B>>2]|0,c[X>>2]|0)|0;c[ea>>2]=h;d:do if((d[V>>0]|0)!=0|(c[Y>>2]|0)==5){if(!(d[(c[C>>2]|0)+44>>0]&32)){Ro(c[ha>>2]|0,112,c[S>>2]|0,c[ea>>2]|0)|0;if(!(a[V>>0]|0))break;Uo(c[ha>>2]|0,79,c[ea>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;xf(c[ha>>2]|0,-112);break}e:do if((c[$>>2]|0)!=(c[aa>>2]|0)){c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(e[(c[aa>>2]|0)+50>>1]|0))break e;c[ja>>2]=(us(c[$>>2]|0,b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[Q>>2]<<1)>>1]|0)|0)<<16>>16;Uo(c[ha>>2]|0,47,c[S>>2]|0,c[ja>>2]|0,(c[ea>>2]|0)+(c[Q>>2]|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}}while(0);if(a[V>>0]|0){A=yr(c[ha>>2]|0)|0;c[M>>2]=A+(e[(c[aa>>2]|0)+50>>1]|0);c[Z>>2]=78;c[ca>>2]=(a[(c[$>>2]|0)+55>>0]&3|0)==2?c[da>>2]|0:c[ea>>2]|0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(e[(c[aa>>2]|0)+50>>1]|0))break d;c[_>>2]=Ar(c[B>>2]|0,c[(c[(c[aa>>2]|0)+32>>2]|0)+(c[Q>>2]<<2)>>2]|0)|0;c[ja>>2]=b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[Q>>2]<<1)>>1];if((c[Q>>2]|0)==((e[(c[aa>>2]|0)+50>>1]|0)-1|0)){c[M>>2]=c[N>>2];c[Z>>2]=79}To(c[ha>>2]|0,c[Z>>2]|0,(c[I>>2]|0)+1+(c[ja>>2]|0)|0,c[M>>2]|0,(c[ca>>2]|0)+(c[Q>>2]|0)|0,c[_>>2]|0,-4)|0;xf(c[ha>>2]|0,-112);c[Q>>2]=(c[Q>>2]|0)+1}}}while(0);switch(c[Y>>2]|0){case 3:case 2:case 1:{ds(c[B>>2]|0,c[Y>>2]|0,c[$>>2]|0);break}case 4:{Ro(c[ha>>2]|0,16,0,c[L>>2]|0)|0;break}default:{c[ba>>2]=0;dw(c[B>>2]|0);if(c[(c[P>>2]|0)+24>>2]&262144)c[ba>>2]=ku(c[B>>2]|0,c[C>>2]|0,109,0,0)|0;ew(c[B>>2]|0,c[C>>2]|0,c[ba>>2]|0,c[F>>2]|0,c[G>>2]|0,c[ea>>2]|0,c[X>>2]&65535,0,5,(c[$>>2]|0)==(c[aa>>2]|0)&255);c[ga>>2]=1}}Br(c[ha>>2]|0,c[N>>2]|0);ss(c[B>>2]|0,c[da>>2]|0,e[(c[$>>2]|0)+52>>1]|0);if((c[ea>>2]|0)!=(c[da>>2]|0))ss(c[B>>2]|0,c[ea>>2]|0,c[X>>2]|0)}while(0);c[$>>2]=c[(c[$>>2]|0)+20>>2];c[W>>2]=(c[W>>2]|0)+1}if(!(c[U>>2]|0)){ia=c[ga>>2]|0;ja=c[D>>2]|0;c[ja>>2]=ia;i=ka;return}Ro(c[ha>>2]|0,16,0,(c[U>>2]|0)+1|0)|0;jp(c[ha>>2]|0,c[T>>2]|0);ia=c[ga>>2]|0;ja=c[D>>2]|0;c[ja>>2]=ia;i=ka;return}function xu(e,f,g,h,j,k){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,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;N=i;i=i+112|0;l=N+100|0;m=N+92|0;n=N+44|0;o=N+48|0;p=N+84|0;q=N+16|0;u=N+20|0;C=N+24|0;x=N+28|0;L=N+32|0;B=N+80|0;H=N+88|0;D=N+96|0;t=N+104|0;r=N+52|0;w=N+56|0;v=N+60|0;A=N+64|0;J=N+68|0;y=N+12|0;z=N+8|0;I=N+72|0;K=N+36|0;E=N+76|0;G=N+4|0;s=N;F=N+40|0;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[u>>2]=c[c[l>>2]>>2];c[B>>2]=d[(c[l>>2]|0)+438>>0];if(!(c[(c[u>>2]|0)+24>>2]&524288)){i=N;return}c[x>>2]=vf(c[u>>2]|0,c[(c[m>>2]|0)+68>>2]|0)|0;c[L>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];c[C>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[C>>2]|0)){M=38;break}c[D>>2]=0;c[t>>2]=0;c[A>>2]=0;if(!(((c[p>>2]|0)!=0?($b(c[c[m>>2]>>2]|0,c[(c[C>>2]|0)+8>>2]|0)|0)!=0:0)?(Au(c[m>>2]|0,c[C>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))M=7;do if((M|0)==7){M=0;if(a[(c[l>>2]|0)+438>>0]|0)c[H>>2]=cp(c[u>>2]|0,c[(c[C>>2]|0)+8>>2]|0,c[L>>2]|0)|0;else c[H>>2]=rf(c[l>>2]|0,0,c[(c[C>>2]|0)+8>>2]|0,c[L>>2]|0)|0;if((c[H>>2]|0)!=0?(Yt(c[l>>2]|0,c[H>>2]|0,c[C>>2]|0,D,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[w>>2]=c[(c[C>>2]|0)+36>>2];c[r>>2]=w}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[v>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+36>>1]|0))c[(c[r>>2]|0)+(c[v>>2]<<2)>>2]=-1;if(c[(c[u>>2]|0)+284>>2]|0){if(c[D>>2]|0)j=b[(c[(c[D>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]|0;else j=b[(c[H>>2]|0)+36>>1]|0;c[K>>2]=c[(c[(c[H>>2]|0)+4>>2]|0)+((j<<16>>16)*24|0)>>2];c[I>>2]=Nq(c[l>>2]|0,c[c[H>>2]>>2]|0,c[K>>2]|0,c[x>>2]|0)|0;c[A>>2]=(c[I>>2]|0)==2&1}c[v>>2]=(c[v>>2]|0)+1}vr(c[l>>2]|0,c[x>>2]|0,c[(c[H>>2]|0)+32>>2]|0,0,c[c[H>>2]>>2]|0);g=(c[l>>2]|0)+68|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)Bu(c[l>>2]|0,c[x>>2]|0,c[H>>2]|0,c[D>>2]|0,c[C>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[A>>2]|0);if(c[o>>2]|0)Bu(c[l>>2]|0,c[x>>2]|0,c[H>>2]|0,c[D>>2]|0,c[C>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[A>>2]|0);Nd(c[u>>2]|0,c[t>>2]|0);break}if(!(c[B>>2]|0)){M=57;break a}if(d[(c[u>>2]|0)+64>>0]|0){M=57;break a}if(!(c[H>>2]|0)){c[J>>2]=Po(c[l>>2]|0)|0;g=yr(c[J>>2]|0)|0;c[y>>2]=g+(c[(c[C>>2]|0)+20>>2]|0)+1;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[z>>2]=(c[(c[C>>2]|0)+36+(c[v>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;Ro(c[J>>2]|0,76,c[z>>2]|0,c[y>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+1}Ro(c[J>>2]|0,134,d[(c[C>>2]|0)+24>>0]|0,-1)|0}}while(0);c[C>>2]=c[(c[C>>2]|0)+4>>2]}if((M|0)==38){c[C>>2]=Fp(c[m>>2]|0)|0;b:while(1){if(!(c[C>>2]|0)){M=57;break}c[E>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(Cu(c[m>>2]|0,c[C>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))M=42;do if((M|0)==42){M=0;if((((a[(c[C>>2]|0)+24>>0]|0)==0?(c[(c[u>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[l>>2]|0)+408>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(Yt(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,E,s)|0){if(!(c[B>>2]|0)){M=57;break b}if(d[(c[u>>2]|0)+64>>0]|0){M=57;break b}else break}c[G>>2]=Tn(c[u>>2]|0,0,0,0)|0;if(c[G>>2]|0){c[F>>2]=(c[G>>2]|0)+8;c[(c[F>>2]|0)+16>>2]=c[c[C>>2]>>2];c[(c[F>>2]|0)+8>>2]=c[c[c[C>>2]>>2]>>2];K=(c[(c[F>>2]|0)+16>>2]|0)+40|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=(c[l>>2]|0)+68|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[F>>2]|0)+40>>2]=L;if(c[o>>2]|0)Du(c[l>>2]|0,c[G>>2]|0,c[m>>2]|0,c[E>>2]|0,c[C>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if(c[n>>2]|0)Du(c[l>>2]|0,c[G>>2]|0,c[m>>2]|0,c[E>>2]|0,c[C>>2]|0,c[s>>2]|0,c[n>>2]|0,1);c[(c[F>>2]|0)+8>>2]=0;cn(c[u>>2]|0,c[G>>2]|0)}Nd(c[u>>2]|0,c[s>>2]|0)}while(0);c[C>>2]=c[(c[C>>2]|0)+12>>2]}if((M|0)==57){i=N;return}}else if((M|0)==57){i=N;return}}function yu(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;E=i;i=i+64|0;o=E+52|0;p=E+36|0;q=E+4|0;r=E+16|0;s=E+32|0;t=E+40|0;u=E+48|0;v=E+24|0;w=E+20|0;D=E+8|0;z=E+12|0;A=E+57|0;B=E;C=E+44|0;y=E+28|0;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=Po(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;Ro(j,76,n,(yr(c[D>>2]|0)|0)+2|0)|0}Ro(c[D>>2]|0,110,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+44>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;if(a[A>>0]|0)xf(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+44>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=Wo(c[o>>2]|0)|0;Uo(c[D>>2]|0,49,c[B>>2]|0,b[(c[p>>2]|0)+38>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))ru(c[D>>2]|0,c[p>>2]|0,0);Ls(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+38>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;Uo(c[D>>2]|0,75,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Df(c[D>>2]|0,-1,c[c[p>>2]>>2]|0,0);xf(c[D>>2]|0,a[A>>0]|0);i=E;return}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+4|0;h=l+16|0;k=l+8|0;d=l+20|0;j=l+28|0;f=l;e=l+12|0;g=l+24|0;c[b>>2]=a;c[k>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+404>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=Wo(c[b>>2]|0)|0;wr(c[b>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,55);c[f>>2]=ur(c[k>>2]|0,77,(c[g>>2]|0)+1|0)|0;Ro(c[k>>2]|0,74,0,(c[g>>2]|0)+1|0)|0;jp(c[k>>2]|0,c[f>>2]|0);Uo(c[k>>2]|0,49,(c[g>>2]|0)-1|0,2,c[e>>2]|0)|0;Uo(c[k>>2]|0,75,0,c[e>>2]|0,(c[g>>2]|0)+1|0)|0;xf(c[k>>2]|0,8);Yo(c[k>>2]|0,61)|0;Xo(c[b>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}i=l;return}function Au(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+8|0;g=o+16|0;h=o+20|0;j=o+24|0;k=o+4|0;l=o;m=o+12|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+36>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0}function Bu(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;K=i;i=i+96|0;E=K+40|0;o=K+52|0;p=K+4|0;q=K+76|0;F=K+36|0;r=K+16|0;s=K+20|0;G=K+56|0;t=K+64|0;u=K+72|0;J=K+80|0;H=K+84|0;I=K+44|0;z=K+48|0;x=K+8|0;C=K;A=K+24|0;D=K+28|0;B=K+60|0;w=K+12|0;v=K+32|0;y=K+68|0;c[E>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[F>>2]=j;c[r>>2]=k;c[s>>2]=l;c[G>>2]=m;c[t>>2]=n;c[J>>2]=Po(c[E>>2]|0)|0;c[H>>2]=(c[(c[E>>2]|0)+68>>2]|0)-1;c[I>>2]=zr(c[J>>2]|0)|0;if((c[G>>2]|0)<0)Ro(c[J>>2]|0,135,d[(c[F>>2]|0)+24>>0]|0,c[I>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[F>>2]|0)+20>>2]|0))break;c[z>>2]=(c[(c[r>>2]|0)+(c[u>>2]<<2)>>2]|0)+(c[s>>2]|0)+1;Ro(c[J>>2]|0,76,c[z>>2]|0,c[I>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}do if(!(c[t>>2]|0)){if(!(c[q>>2]|0)){c[C>>2]=Wo(c[E>>2]|0)|0;Ro(c[J>>2]|0,34,(c[c[r>>2]>>2]|0)+1+(c[s>>2]|0)|0,c[C>>2]|0)|0;c[x>>2]=Ro(c[J>>2]|0,38,c[C>>2]|0,0)|0;if((c[G>>2]|0)==1?(c[p>>2]|0)==(c[c[F>>2]>>2]|0):0){Uo(c[J>>2]|0,79,c[s>>2]|0,c[I>>2]|0,c[C>>2]|0)|0;xf(c[J>>2]|0,-112)}wr(c[E>>2]|0,c[H>>2]|0,c[o>>2]|0,c[p>>2]|0,54);Uo(c[J>>2]|0,70,c[H>>2]|0,0,c[C>>2]|0)|0;Ro(c[J>>2]|0,16,0,c[I>>2]|0)|0;D=c[J>>2]|0;jp(D,(yr(c[J>>2]|0)|0)-2|0);jp(c[J>>2]|0,c[x>>2]|0);Xo(c[E>>2]|0,c[C>>2]|0);break}c[A>>2]=c[(c[F>>2]|0)+20>>2];c[D>>2]=ps(c[E>>2]|0,c[A>>2]|0)|0;c[B>>2]=Wo(c[E>>2]|0)|0;Uo(c[J>>2]|0,54,c[H>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[o>>2]|0)|0;xr(c[E>>2]|0,c[q>>2]|0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[A>>2]|0))break;Ro(c[J>>2]|0,33,(c[(c[r>>2]|0)+(c[u>>2]<<2)>>2]|0)+1+(c[s>>2]|0)|0,(c[D>>2]|0)+(c[u>>2]|0)|0)|0;c[u>>2]=(c[u>>2]|0)+1}if((c[G>>2]|0)==1?(c[p>>2]|0)==(c[c[F>>2]>>2]|0):0){C=yr(c[J>>2]|0)|0;c[w>>2]=C+(c[A>>2]|0)+1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[A>>2]|0))break;c[v>>2]=(c[(c[r>>2]|0)+(c[u>>2]<<2)>>2]|0)+1+(c[s>>2]|0);c[y>>2]=(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)+1+(c[s>>2]|0);if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[p>>2]|0)+36>>1]|0))c[y>>2]=c[s>>2];Uo(c[J>>2]|0,78,c[v>>2]|0,c[w>>2]|0,c[y>>2]|0)|0;xf(c[J>>2]|0,16);c[u>>2]=(c[u>>2]|0)+1}Ro(c[J>>2]|0,16,0,c[I>>2]|0)|0}h=c[J>>2]|0;e=c[D>>2]|0;g=c[A>>2]|0;l=c[B>>2]|0;C=Zt(c[J>>2]|0,c[q>>2]|0)|0;To(h,49,e,g,l,C,c[A>>2]|0)|0;wf(c[J>>2]|0,69,c[H>>2]|0,c[I>>2]|0,c[B>>2]|0,0)|0;Xo(c[E>>2]|0,c[B>>2]|0);ss(c[E>>2]|0,c[D>>2]|0,c[A>>2]|0)}while(0);if((((a[(c[F>>2]|0)+24>>0]|0)==0?(c[(c[c[E>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[E>>2]|0)+408>>2]|0)==0:0)?(a[(c[E>>2]|0)+20>>0]|0)==0:0){gs(c[E>>2]|0,787,2,0,-2,4);G=c[J>>2]|0;I=c[I>>2]|0;Br(G,I);I=c[J>>2]|0;J=c[H>>2]|0;ur(I,61,J)|0;i=K;return}if((c[G>>2]|0)>0?(d[(c[F>>2]|0)+24>>0]|0)==0:0){o=c[E>>2]|0;if(c[(c[E>>2]|0)+408>>2]|0)o=c[o+408>>2]|0;a[o+21>>0]=1}Ro(c[J>>2]|0,134,d[(c[F>>2]|0)+24>>0]|0,c[G>>2]|0)|0;G=c[J>>2]|0;I=c[I>>2]|0;Br(G,I);I=c[J>>2]|0;J=c[H>>2]|0;ur(I,61,J)|0;i=K;return}function Cu(a,e,f,g){a=a|0;e=e|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;s=i;i=i+48|0;h=s+28|0;j=s+16|0;k=s+4|0;l=s+8|0;m=s+32|0;n=s;q=s+12|0;o=s+24|0;p=s+20|0;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+36>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0);f=c[p>>2]|0;if(c[q>>2]|0)if(!($b(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+23>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function Du(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;P=i;i=i+144|0;H=P+124|0;o=P+40|0;p=P;q=P+84|0;I=P+4|0;r=P+16|0;s=P+20|0;J=P+24|0;K=P+28|0;t=P+72|0;N=P+80|0;F=P+88|0;M=P+120|0;L=P+48|0;O=P+52|0;z=P+56|0;D=P+60|0;x=P+8|0;u=P+130|0;G=P+12|0;B=P+32|0;A=P+68|0;E=P+36|0;y=P+76|0;w=P+44|0;C=P+64|0;v=P+128|0;c[H>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[I>>2]=k;c[r>>2]=l;c[s>>2]=m;c[J>>2]=n;c[K>>2]=c[c[H>>2]>>2];c[N>>2]=0;c[L>>2]=0;c[O>>2]=Po(c[H>>2]|0)|0;if((c[J>>2]|0)<0)c[L>>2]=Ro(c[O>>2]|0,135,d[(c[I>>2]|0)+24>>0]|0,0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[I>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)l=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;else l=-1;b[u>>1]=l;c[z>>2]=Eu(c[H>>2]|0,c[p>>2]|0,c[s>>2]|0,b[u>>1]|0)|0;if(c[r>>2]|0)l=c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0;else l=c[(c[I>>2]|0)+36>>2]|0;b[u>>1]=l;c[G>>2]=c[(c[(c[c[I>>2]>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)>>2];c[D>>2]=Qn(c[K>>2]|0,27,c[G>>2]|0)|0;c[x>>2]=zn(c[H>>2]|0,79,c[z>>2]|0,c[D>>2]|0,0)|0;c[N>>2]=_q(c[K>>2]|0,c[N>>2]|0,c[x>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+1}if((c[J>>2]|0)>0?(c[p>>2]|0)==(c[c[I>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+44>>0]&32)){c[A>>2]=Eu(c[H>>2]|0,c[p>>2]|0,c[s>>2]|0,-1)|0;c[E>>2]=Fu(c[K>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+40>>2]|0,-1)|0;c[B>>2]=zn(c[H>>2]|0,78,c[A>>2]|0,c[E>>2]|0,0)|0}else{c[w>>2]=0;c[C>>2]=Lr(c[p>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(e[(c[C>>2]|0)+50>>1]|0))break;b[v>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;c[A>>2]=Eu(c[H>>2]|0,c[p>>2]|0,c[s>>2]|0,b[v>>1]|0)|0;c[E>>2]=Fu(c[K>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+40>>2]|0,b[v>>1]|0)|0;c[y>>2]=zn(c[H>>2]|0,79,c[A>>2]|0,c[E>>2]|0,0)|0;c[w>>2]=_q(c[K>>2]|0,c[w>>2]|0,c[y>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+1}c[B>>2]=zn(c[H>>2]|0,19,c[w>>2]|0,0,0)|0}c[N>>2]=_q(c[K>>2]|0,c[N>>2]|0,c[B>>2]|0)|0};c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[F+16>>2]=0;c[F+20>>2]=0;c[F+24>>2]=0;c[F+28>>2]=0;c[F+4>>2]=c[o>>2];c[F>>2]=c[H>>2];gq(F,c[N>>2]|0)|0;c[M>>2]=Gu(c[H>>2]|0,c[o>>2]|0,c[N>>2]|0,0,0,0,0)|0;if((c[J>>2]|0)>0?(d[(c[I>>2]|0)+24>>0]|0)==0:0){l=c[H>>2]|0;if(c[(c[H>>2]|0)+408>>2]|0)l=c[l+408>>2]|0;a[l+21>>0]=1}Ro(c[O>>2]|0,134,d[(c[I>>2]|0)+24>>0]|0,c[J>>2]|0)|0;if(c[M>>2]|0)Hu(c[M>>2]|0);dn(c[K>>2]|0,c[N>>2]|0);if(!(c[L>>2]|0)){i=P;return}jp(c[O>>2]|0,c[L>>2]|0);i=P;return}function Eu(d,e,f,g){d=d|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+12|0;l=q+28|0;o=q+24|0;n=q;p=q+20|0;m=q+8|0;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Qn(c[m>>2]|0,159,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+36>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((b[l>>1]|0)*24|0);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+21>>0]|0;c[p>>2]=c[(c[n>>2]|0)+16>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=zq(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function Fu(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Qn(c[m>>2]|0,154,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function Gu(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;Z=i;i=i+176|0;n=Z+16|0;q=Z+132|0;r=Z+64|0;s=Z+112|0;o=Z+156|0;t=Z+36|0;u=Z+32|0;v=Z+172|0;w=Z+40|0;p=Z+48|0;F=Z+52|0;T=Z+56|0;X=Z+60|0;G=Z;V=Z+68|0;O=Z+152|0;M=Z+160|0;N=Z+164|0;D=Z+100|0;y=Z+104|0;U=Z+108|0;W=Z+8|0;R=Z+116|0;J=Z+120|0;P=Z+124|0;A=Z+128|0;Q=Z+44|0;S=Z+140|0;z=Z+144|0;H=Z+148|0;x=Z+24|0;E=Z+88|0;K=Z+136|0;B=Z+92|0;I=Z+96|0;L=Z+168|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[X>>2]=c[(c[r>>2]|0)+8>>2];c[y>>2]=c[c[r>>2]>>2];c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[V+8>>2]=c[t>>2];if(e[(c[y>>2]|0)+60>>1]&32)b[v>>1]=e[v>>1]&-1025;if((c[c[s>>2]>>2]|0)>64){Y=c[r>>2]|0;c[n>>2]=64;sf(Y,26119,n);c[q>>2]=0;Y=c[q>>2]|0;i=Z;return Y|0}if(e[v>>1]&64)m=1;else m=c[c[s>>2]>>2]|0;c[F>>2]=m;c[p>>2]=808+(((c[F>>2]|0)-1|0)*72|0)+7&-8;c[T>>2]=gf(c[y>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[y>>2]|0)+64>>0]|0)){c[(c[T>>2]|0)+60+4>>2]=-1;c[(c[T>>2]|0)+60>>2]=-1;a[(c[T>>2]|0)+41>>0]=c[F>>2];c[c[T>>2]>>2]=c[r>>2];c[(c[T>>2]|0)+4>>2]=c[s>>2];c[(c[T>>2]|0)+8>>2]=c[t>>2];c[(c[T>>2]|0)+12>>2]=c[u>>2];l=zr(c[X>>2]|0)|0;c[(c[T>>2]|0)+48>>2]=l;c[(c[T>>2]|0)+52>>2]=l;b[(c[T>>2]|0)+34>>1]=b[v>>1]|0;c[(c[T>>2]|0)+56>>2]=c[(c[r>>2]|0)+424>>2];c[O>>2]=(c[T>>2]|0)+68;c[V>>2]=c[T>>2];c[V+4>>2]=(c[T>>2]|0)+328;c[V+12>>2]=(c[T>>2]|0)+(c[p>>2]|0);Nu(c[V+12>>2]|0);c[c[O>>2]>>2]=0;Qu((c[T>>2]|0)+328|0,c[T>>2]|0);Ru((c[T>>2]|0)+328|0,c[o>>2]|0,72);c[D>>2]=0;while(1){m=(c[F>>2]|0)==0;if((c[D>>2]|0)>=(c[(c[V+4>>2]|0)+12>>2]|0))break;if(!(!m?(gt(c[(c[(c[V+4>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0)>>2]|0)|0)==0:0)){os(c[r>>2]|0,c[(c[(c[V+4>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0)>>2]|0,c[(c[T>>2]|0)+52>>2]|0,16);p=(c[(c[V+4>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0)+20|0;a[p>>0]=d[p>>0]|4}c[D>>2]=(c[D>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[T>>2]|0)+36>>0]=c[c[t>>2]>>2];if(e[v>>1]&1024)a[(c[T>>2]|0)+40>>0]=1}c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[c[s>>2]>>2]|0))break;Su(c[O>>2]|0,c[(c[s>>2]|0)+8+((c[D>>2]|0)*72|0)+40>>2]|0);c[D>>2]=(c[D>>2]|0)+1}Tu(c[s>>2]|0,(c[T>>2]|0)+328|0);if(!(a[(c[y>>2]|0)+64>>0]|0)){do if(e[v>>1]&1024){if(Uu(c[r>>2]|0,c[s>>2]|0,(c[T>>2]|0)+328|0,c[u>>2]|0)|0){a[(c[T>>2]|0)+40>>0]=1;break}if(!(c[t>>2]|0)){t=(c[T>>2]|0)+34|0;b[t>>1]=e[t>>1]|512;c[(c[T>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[F>>2]|0)==1?(Vu(V)|0)!=0:0)){c[U>>2]=Wu(V)|0;if(c[U>>2]|0)break;Xu(c[T>>2]|0,0)|0;if(a[(c[y>>2]|0)+64>>0]|0)break;if((c[(c[T>>2]|0)+8>>2]|0)!=0?(Xu(c[T>>2]|0,(b[(c[T>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[y>>2]|0)+64>>0]|0)!=0):0)break}if((c[(c[T>>2]|0)+8>>2]|0)==0?(c[(c[y>>2]|0)+24>>2]&131072|0)!=0:0){U=(c[T>>2]|0)+24|0;c[U>>2]=-1;c[U+4>>2]=-1}if((c[(c[r>>2]|0)+64>>2]|0)==0?(d[(c[y>>2]|0)+64>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[T>>2]|0)+41>>0]|0)>=2:0)?(e[(c[y>>2]|0)+60>>1]&1024|0)==0:0){u=Yu(c[O>>2]|0,c[u>>2]|0)|0;U=W;c[U>>2]=u;c[U+4>>2]=C;if(c[V+8>>2]|0){u=Yu(c[O>>2]|0,c[V+8>>2]|0)|0;t=W;O=c[t+4>>2]|C;U=W;c[U>>2]=c[t>>2]|u;c[U+4>>2]=O}while(1){if((d[(c[T>>2]|0)+41>>0]|0)<2)break b;c[N>>2]=c[(c[T>>2]|0)+736+(((d[(c[T>>2]|0)+41>>0]|0)-1|0)*72|0)+56>>2];if(!(d[(c[(c[T>>2]|0)+4>>2]|0)+8+((d[(c[N>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&1024|0)==0?(c[(c[N>>2]|0)+36>>2]&4096|0)==0:0)break b;O=W;U=(c[N>>2]|0)+8|0;if((c[O>>2]&c[U>>2]|0)!=0?1:(c[O+4>>2]&c[U+4>>2]|0)!=0)break b;c[J>>2]=(c[(c[V+4>>2]|0)+20>>2]|0)+((c[(c[V+4>>2]|0)+12>>2]|0)*48|0);c[R>>2]=c[(c[V+4>>2]|0)+20>>2];while(1){if((c[R>>2]|0)>>>0>=(c[J>>2]|0)>>>0)break;O=(c[R>>2]|0)+40|0;U=(c[N>>2]|0)+8|0;if(((c[O>>2]&c[U>>2]|0)!=0?1:(c[O+4>>2]&c[U+4>>2]|0)!=0)?(c[(c[c[R>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[R>>2]=(c[R>>2]|0)+48}if((c[R>>2]|0)>>>0<(c[J>>2]|0)>>>0)break b;U=(c[T>>2]|0)+41|0;a[U>>0]=(a[U>>0]|0)+-1<<24>>24;c[F>>2]=(c[F>>2]|0)+-1}}while(0);W=(c[c[T>>2]>>2]|0)+424|0;c[W>>2]=(c[W>>2]|0)+(b[(c[T>>2]|0)+32>>1]|0);if(((e[v>>1]&4|0)!=0?(c[(c[(c[T>>2]|0)+736+56>>2]|0)+36>>2]&4096|0)!=0:0)?(a[(c[T>>2]|0)+38>>0]=1,(d[(c[(c[s>>2]|0)+8+16>>2]|0)+44>>0]&32|0)==0):0){W=(c[(c[T>>2]|0)+736+56>>2]|0)+36|0;c[W>>2]=c[W>>2]&-65}W=G;c[W>>2]=-1;c[W+4>>2]=-1;c[D>>2]=0;c[M>>2]=(c[T>>2]|0)+736;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[Q>>2]=(c[s>>2]|0)+8+((d[(c[M>>2]|0)+36>>0]|0)*72|0);c[P>>2]=c[(c[Q>>2]|0)+16>>2];c[A>>2]=vf(c[y>>2]|0,c[(c[P>>2]|0)+68>>2]|0)|0;c[N>>2]=c[(c[M>>2]|0)+56>>2];c:do if((d[(c[P>>2]|0)+44>>0]&2|0)==0?(c[(c[P>>2]|0)+12>>2]|0)==0:0){if(c[(c[N>>2]|0)+36>>2]&1024){c[S>>2]=Bp(c[y>>2]|0,c[P>>2]|0)|0;c[z>>2]=c[(c[Q>>2]|0)+40>>2];To(c[X>>2]|0,147,c[z>>2]|0,0,0,c[S>>2]|0,-10)|0;break}if(d[(c[P>>2]|0)+44>>0]&16)break;do if(!(c[(c[N>>2]|0)+36>>2]&64)){if(e[v>>1]&16)break;c[H>>2]=54;if(a[(c[T>>2]|0)+38>>0]|0){c[H>>2]=55;c[(c[T>>2]|0)+60>>2]=c[(c[Q>>2]|0)+40>>2]}wr(c[r>>2]|0,c[(c[Q>>2]|0)+40>>2]|0,c[A>>2]|0,c[P>>2]|0,c[H>>2]|0);if(a[(c[T>>2]|0)+38>>0]|0)break c;if((b[(c[P>>2]|0)+38>>1]|0)>=64)break c;if(d[(c[P>>2]|0)+44>>0]&32)break c;U=(c[Q>>2]|0)+56|0;V=c[U+4>>2]|0;W=x;c[W>>2]=c[U>>2];c[W+4>>2]=V;c[E>>2]=0;while(1){W=x;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0))break;V=x;V=GH(c[V>>2]|0,c[V+4>>2]|0,1)|0;W=x;c[W>>2]=V;c[W+4>>2]=C;c[E>>2]=(c[E>>2]|0)+1}V=c[X>>2]|0;W=(yr(c[X>>2]|0)|0)-1|0;Df(V,W,c[E>>2]|0,-14);break c}while(0);vr(c[r>>2]|0,c[A>>2]|0,c[(c[P>>2]|0)+32>>2]|0,0,c[c[P>>2]>>2]|0)}while(0);do if(c[(c[N>>2]|0)+36>>2]&512){c[K>>2]=c[(c[N>>2]|0)+24+4>>2];c[I>>2]=54;do if(!(d[(c[P>>2]|0)+44>>0]&32))Y=87;else{if((a[(c[K>>2]|0)+55>>0]&3|0)!=2){Y=87;break}if(!(e[v>>1]&64)){Y=87;break}c[B>>2]=c[(c[M>>2]|0)+4>>2];c[I>>2]=0}while(0);d:do if((Y|0)==87){Y=0;if(a[(c[T>>2]|0)+38>>0]|0){c[L>>2]=c[(c[(c[Q>>2]|0)+16>>2]|0)+8>>2];c[B>>2]=c[w>>2];while(1){if(!(c[L>>2]|0))break;if((c[L>>2]|0)==(c[K>>2]|0))break;c[B>>2]=(c[B>>2]|0)+1;c[L>>2]=c[(c[L>>2]|0)+20>>2]}c[I>>2]=55;c[(c[T>>2]|0)+60+4>>2]=c[B>>2];break}else{do if(c[w>>2]|0){if(!(e[v>>1]&64))break;c[B>>2]=c[w>>2];if(!(e[v>>1]&4096))break d;c[I>>2]=53;break d}while(0);V=(c[r>>2]|0)+68|0;W=c[V>>2]|0;c[V>>2]=W+1;c[B>>2]=W;break}}while(0);c[(c[M>>2]|0)+8>>2]=c[B>>2];if(!(c[I>>2]|0))break;Uo(c[X>>2]|0,c[I>>2]|0,c[B>>2]|0,c[(c[K>>2]|0)+44>>2]|0,c[A>>2]|0)|0;xr(c[r>>2]|0,c[K>>2]|0)}while(0);if((c[A>>2]|0)>=0)ap(c[r>>2]|0,c[A>>2]|0);U=Zu((c[T>>2]|0)+68|0,c[(c[Q>>2]|0)+40>>2]|0)|0;R=G;V=c[R+4>>2]&~C;W=G;c[W>>2]=c[R>>2]&~U;c[W+4>>2]=V;c[D>>2]=(c[D>>2]|0)+1;c[M>>2]=(c[M>>2]|0)+72}Y=yr(c[X>>2]|0)|0;c[(c[T>>2]|0)+44>>2]=Y;if(!(a[(c[y>>2]|0)+64>>0]|0)){Y=G;c[Y>>2]=-1;c[Y+4>>2]=-1;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[M>>2]=(c[T>>2]|0)+736+((c[D>>2]|0)*72|0);if((c[(c[(c[M>>2]|0)+56>>2]|0)+36>>2]&16384|0)!=0?(Y=G,_u(c[r>>2]|0,(c[T>>2]|0)+328|0,(c[s>>2]|0)+8+((d[(c[M>>2]|0)+36>>0]|0)*72|0)|0,c[Y>>2]|0,c[Y+4>>2]|0,c[M>>2]|0),(a[(c[y>>2]|0)+64>>0]|0)!=0):0)break a;$u(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0,c[D>>2]|0,d[(c[M>>2]|0)+36>>0]|0,b[v>>1]|0);W=yr(c[X>>2]|0)|0;c[(c[M>>2]|0)+32>>2]=W;W=G;W=av(c[T>>2]|0,c[D>>2]|0,c[W>>2]|0,c[W+4>>2]|0)|0;Y=G;c[Y>>2]=W;c[Y+4>>2]=C;c[(c[T>>2]|0)+48>>2]=c[(c[M>>2]|0)+24>>2];c[D>>2]=(c[D>>2]|0)+1}c[q>>2]=c[T>>2];Y=c[q>>2]|0;i=Z;return Y|0}}}}else{Nd(c[y>>2]|0,c[T>>2]|0);c[T>>2]=0}while(0);if(c[T>>2]|0){c[(c[r>>2]|0)+424>>2]=c[(c[T>>2]|0)+56>>2];Iu(c[y>>2]|0,c[T>>2]|0)}c[q>>2]=0;Y=c[q>>2]|0;i=Z;return Y|0}function Hu(f){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;D=i;i=i+80|0;l=D+36|0;u=D+24|0;z=D+20|0;n=D+68|0;r=D+32|0;s=D+16|0;y=D+48|0;m=D+56|0;h=D+64|0;k=D+72|0;j=D+76|0;o=D+40|0;p=D+8|0;t=D;q=D+4|0;x=D+44|0;w=D+52|0;A=D+28|0;B=D+60|0;v=D+12|0;c[l>>2]=f;c[u>>2]=c[c[l>>2]>>2];c[z>>2]=c[(c[u>>2]|0)+8>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];c[m>>2]=c[c[u>>2]>>2];$t(c[u>>2]|0);c[n>>2]=(d[(c[l>>2]|0)+41>>0]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[r>>2]=(c[l>>2]|0)+736+((c[n>>2]|0)*72|0);c[s>>2]=c[(c[r>>2]|0)+56>>2];Br(c[z>>2]|0,c[(c[r>>2]|0)+24>>2]|0);if((d[(c[r>>2]|0)+37>>0]|0)!=154){Uo(c[z>>2]|0,d[(c[r>>2]|0)+37>>0]|0,c[(c[r>>2]|0)+40>>2]|0,c[(c[r>>2]|0)+44>>2]|0,d[(c[r>>2]|0)+38>>0]|0)|0;xf(c[z>>2]|0,a[(c[r>>2]|0)+39>>0]|0)}if((c[(c[s>>2]|0)+36>>2]&2048|0)!=0?(c[(c[r>>2]|0)+48>>2]|0)>0:0){Br(c[z>>2]|0,c[(c[r>>2]|0)+16>>2]|0);c[j>>2]=c[(c[r>>2]|0)+48>>2];c[k>>2]=(c[(c[r>>2]|0)+48+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break;jp(c[z>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)+1|0);Ro(c[z>>2]|0,d[(c[k>>2]|0)+8>>0]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;jp(c[z>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+-12}Nd(c[m>>2]|0,c[(c[r>>2]|0)+48+4>>2]|0)}Br(c[z>>2]|0,c[(c[r>>2]|0)+12>>2]|0);if(c[(c[r>>2]|0)+20>>2]|0){Ro(c[z>>2]|0,16,0,c[(c[r>>2]|0)+20>>2]|0)|0;jp(c[z>>2]|0,c[(c[r>>2]|0)+20>>2]|0);jp(c[z>>2]|0,(c[(c[r>>2]|0)+20>>2]|0)-2|0)}if(c[c[r>>2]>>2]|0){c[h>>2]=ur(c[z>>2]|0,137,c[c[r>>2]>>2]|0)|0;if(!(c[(c[s>>2]|0)+36>>2]&64))ur(c[z>>2]|0,104,c[(c[y>>2]|0)+8+((c[n>>2]|0)*72|0)+40>>2]|0)|0;if(c[(c[s>>2]|0)+36>>2]&512)ur(c[z>>2]|0,104,c[(c[r>>2]|0)+8>>2]|0)|0;f=c[z>>2]|0;g=c[r>>2]|0;if((d[(c[r>>2]|0)+37>>0]|0)==18)Ro(f,17,c[g+40>>2]|0,c[(c[r>>2]|0)+28>>2]|0)|0;else Ro(f,16,0,c[g+28>>2]|0)|0;jp(c[z>>2]|0,c[h>>2]|0)}c[n>>2]=(c[n>>2]|0)+-1}Br(c[z>>2]|0,c[(c[l>>2]|0)+52>>2]|0);c[n>>2]=0;c[r>>2]=(c[l>>2]|0)+736;while(1){if((c[n>>2]|0)>=(d[(c[l>>2]|0)+41>>0]|0))break;c[q>>2]=0;c[x>>2]=(c[y>>2]|0)+8+((d[(c[r>>2]|0)+36>>0]|0)*72|0);c[w>>2]=c[(c[x>>2]|0)+16>>2];c[s>>2]=c[(c[r>>2]|0)+56>>2];a:do if(((d[(c[x>>2]|0)+37>>0]|0)>>>2&1|0)!=0?(a[(c[m>>2]|0)+64>>0]|0)==0:0){c[p>>2]=yr(c[z>>2]|0)|0;c[o>>2]=c[(c[r>>2]|0)+32>>2];c[t>>2]=Ws(c[z>>2]|0,c[o>>2]|0)|0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;do if((c[(c[t>>2]|0)+4>>2]|0)==(c[(c[r>>2]|0)+4>>2]|0)){f=c[t>>2]|0;if((d[c[t>>2]>>0]|0)==47){a[f>>0]=33;c[(c[t>>2]|0)+4>>2]=(c[(c[t>>2]|0)+8>>2]|0)+(c[(c[x>>2]|0)+32>>2]|0);c[(c[t>>2]|0)+8>>2]=c[(c[t>>2]|0)+12>>2];c[(c[t>>2]|0)+12>>2]=0;break}if((d[f>>0]|0)==103){a[c[t>>2]>>0]=28;c[(c[t>>2]|0)+4>>2]=0;c[(c[t>>2]|0)+12>>2]=0}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}}else C=35;while(0);b:do if((C|0)==35){C=0;if(((d[(c[w>>2]|0)+44>>0]&2|0)==0?(c[(c[w>>2]|0)+12>>2]|0)==0:0)?(e[(c[l>>2]|0)+34>>1]&16|0)==0:0){c[A>>2]=c[(c[s>>2]|0)+36>>2];if((a[(c[l>>2]|0)+38>>0]|0)==0?(c[A>>2]&64|0)==0:0)ur(c[z>>2]|0,61,c[(c[x>>2]|0)+40>>2]|0)|0;if(((c[A>>2]&512|0)!=0?(c[A>>2]&16640|0)==0:0)?(c[(c[r>>2]|0)+8>>2]|0)!=(c[(c[l>>2]|0)+60+4>>2]|0):0)ur(c[z>>2]|0,61,c[(c[r>>2]|0)+8>>2]|0)|0}f=c[s>>2]|0;if(!(c[(c[s>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[q>>2]=c[(c[r>>2]|0)+48>>2]}else c[q>>2]=c[f+24+4>>2];if((c[q>>2]|0)!=0?(a[(c[m>>2]|0)+64>>0]|0)==0:0){c[p>>2]=yr(c[z>>2]|0)|0;c[o>>2]=c[(c[r>>2]|0)+32>>2];c[t>>2]=Ws(c[z>>2]|0,c[o>>2]|0)|0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break b;do if((c[(c[t>>2]|0)+4>>2]|0)==(c[(c[r>>2]|0)+4>>2]|0)){f=c[t>>2]|0;if((d[c[t>>2]>>0]|0)!=47){if((d[f>>0]|0)!=103)break;c[(c[t>>2]|0)+4>>2]=c[(c[r>>2]|0)+8>>2];a[c[t>>2]>>0]=112;break}c[B>>2]=c[f+8>>2];if(d[(c[w>>2]|0)+44>>0]&32){c[v>>2]=Lr(c[w>>2]|0)|0;c[B>>2]=b[(c[(c[v>>2]|0)+4>>2]|0)+(c[B>>2]<<1)>>1]}c[B>>2]=(us(c[q>>2]|0,c[B>>2]&65535)|0)<<16>>16;if((c[B>>2]|0)>=0){c[(c[t>>2]|0)+8>>2]=c[B>>2];c[(c[t>>2]|0)+4>>2]=c[(c[r>>2]|0)+8>>2]}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+72}c[(c[u>>2]|0)+424>>2]=c[(c[l>>2]|0)+56>>2];Iu(c[m>>2]|0,c[l>>2]|0);i=D;return}function Iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}Ju((c[e>>2]|0)+328|0);while(1){if(!(c[(c[e>>2]|0)+16>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+16>>2];c[(c[e>>2]|0)+16>>2]=c[(c[f>>2]|0)+48>>2];Ku(c[d>>2]|0,c[f>>2]|0)}Nd(c[d>>2]|0,c[e>>2]|0);i=g;return}function Ju(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;e=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[e>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((d[(c[e>>2]|0)+20>>0]|0)&1)dn(c[f>>2]|0,c[c[e>>2]>>2]|0);if(!((d[(c[e>>2]|0)+20>>0]|0)&16)){if((d[(c[e>>2]|0)+20>>0]|0)&32)Pu(c[f>>2]|0,c[(c[e>>2]|0)+12>>2]|0)}else Ou(c[f>>2]|0,c[(c[e>>2]|0)+12>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=(c[e>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Nd(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function Ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Lu(c[f>>2]|0,c[e>>2]|0);Nd(c[f>>2]|0,c[e>>2]|0);i=d;return}function Lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+44>>2]|0)!=((c[e>>2]|0)+52|0))Nd(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0);Mu(c[d>>2]|0,c[e>>2]|0);Nu(c[e>>2]|0);i=f;return}function Mu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Sb(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+4>>2]|0)){i=h;return}Nd(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+4>>2]|0)+16>>2]|0);ah(c[(c[(c[g>>2]|0)+24+4>>2]|0)+40>>2]|0);Nd(c[f>>2]|0,c[(c[g>>2]|0)+24+4>>2]|0);c[(c[g>>2]|0)+24+4>>2]=0;i=h;return}function Nu(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+44>>2]=(c[e>>2]|0)+52;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+42>>1]=4;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function Ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ju(c[e>>2]|0);Nd(c[f>>2]|0,c[e>>2]|0);i=d;return}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ju(c[e>>2]|0);Nd(c[f>>2]|0,c[e>>2]|0);i=d;return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function Ru(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[h>>2]|0)){i=k;return}e=c[g>>2]|0;f=c[h>>2]|0;if((d[c[h>>2]>>0]|0|0)!=(d[j>>0]|0|0)){Uv(e,f,0)|0;i=k;return}else{Ru(e,c[f+12>>2]|0,a[j>>0]|0);Ru(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,a[j>>0]|0);i=k;return}}function Su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;Rv(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function Uu(a,f,g,h){a=a|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;j=w+12|0;k=w+16|0;l=w+28|0;m=w+4|0;n=w+32|0;u=w+36|0;t=w+40|0;o=w+24|0;p=w+20|0;s=w+8|0;q=w+44|0;r=w;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;v=c[j>>2]|0;i=w;return v|0}c[p>>2]=c[(c[l>>2]|0)+8+40>>2];c[u>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[s>>2]=Vp(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[s>>2]>>0]|0)==154?(c[(c[s>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[s>>2]|0)+32>>1]|0)<0:0){v=8;break}c[o>>2]=(c[o>>2]|0)+1}if((v|0)==8){c[j>>2]=1;v=c[j>>2]|0;i=w;return v|0}c[t>>2]=c[(c[u>>2]|0)+8>>2];while(1){if(!(c[t>>2]|0)){v=22;break}if(d[(c[t>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[t>>2]|0)+50>>1]|0))break;b[q>>1]=b[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0;if(!(gv(c[m>>2]|0,c[p>>2]|0,b[q>>1]|0,-1,-1,2,c[t>>2]|0)|0)){c[r>>2]=Qv(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,c[o>>2]|0)|0;if((c[r>>2]|0)<0)break;if(!(d[(c[(c[u>>2]|0)+4>>2]|0)+((b[q>>1]|0)*24|0)+20>>0]|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[t>>2]|0)+50>>1]|0)){v=20;break}}c[t>>2]=c[(c[t>>2]|0)+20>>2]}if((v|0)==20){c[j>>2]=1;v=c[j>>2]|0;i=w;return v|0}else if((v|0)==22){c[j>>2]=0;v=c[j>>2]|0;i=w;return v|0}return 0}function Vu(f){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;s=i;i=i+48|0;g=s+36|0;h=s+16|0;r=s;m=s+28|0;q=s+32|0;p=s+40|0;n=s+12|0;j=s+24|0;k=s+20|0;o=s+8|0;l=s+4|0;c[h>>2]=f;c[r>>2]=c[c[h>>2]>>2];if(e[(c[r>>2]|0)+34>>1]&32){c[g>>2]=0;r=c[g>>2]|0;i=s;return r|0}c[m>>2]=(c[(c[r>>2]|0)+4>>2]|0)+8;c[o>>2]=c[(c[m>>2]|0)+16>>2];if(d[(c[o>>2]|0)+44>>0]&16){c[g>>2]=0;r=c[g>>2]|0;i=s;return r|0}if(c[(c[m>>2]|0)+64>>2]|0){c[g>>2]=0;r=c[g>>2]|0;i=s;return r|0}c[j>>2]=c[(c[m>>2]|0)+40>>2];c[q>>2]=(c[r>>2]|0)+328;c[n>>2]=c[(c[h>>2]|0)+12>>2];c[(c[n>>2]|0)+36>>2]=0;b[(c[n>>2]|0)+24+2>>1]=0;c[p>>2]=gv(c[q>>2]|0,c[j>>2]|0,-1,0,0,2,0)|0;a:do if(c[p>>2]|0){c[(c[n>>2]|0)+36>>2]=4353;c[c[(c[n>>2]|0)+44>>2]>>2]=c[p>>2];b[(c[n>>2]|0)+40>>1]=1;b[(c[n>>2]|0)+24>>1]=1;b[(c[n>>2]|0)+20>>1]=33}else{c[l>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break a;if(((d[(c[l>>2]|0)+54>>0]|0)!=0?(c[(c[l>>2]|0)+36>>2]|0)==0:0)?(e[(c[l>>2]|0)+50>>1]|0)<=4:0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break;c[p>>2]=gv(c[q>>2]|0,c[j>>2]|0,b[(c[(c[l>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0,0,0,2,c[l>>2]|0)|0;if(!(c[p>>2]|0))break;c[(c[(c[n>>2]|0)+44>>2]|0)+(c[k>>2]<<2)>>2]=c[p>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[l>>2]|0)+50>>1]|0))break}c[l>>2]=c[(c[l>>2]|0)+20>>2]}c[(c[n>>2]|0)+36>>2]=4609;if(!(((d[(c[l>>2]|0)+55>>0]|0)>>>5&1|0)==0?(q=(c[m>>2]|0)+56|0,o=c[q>>2]|0,q=c[q+4>>2]|0,p=Iv(c[l>>2]|0)|0,!((o&~p|0)==0&(q&~C|0)==0)):0)){q=(c[n>>2]|0)+36|0;c[q>>2]=c[q>>2]|64}b[(c[n>>2]|0)+40>>1]=c[k>>2];b[(c[n>>2]|0)+24>>1]=c[k>>2];c[(c[n>>2]|0)+24+4>>2]=c[l>>2];b[(c[n>>2]|0)+20>>1]=39}while(0);if(!(c[(c[n>>2]|0)+36>>2]|0)){c[g>>2]=0;r=c[g>>2]|0;i=s;return r|0}b[(c[n>>2]|0)+22>>1]=1;c[(c[r>>2]|0)+736+56>>2]=c[n>>2];p=Zu((c[r>>2]|0)+68|0,c[j>>2]|0)|0;q=(c[n>>2]|0)+8|0;c[q>>2]=p;c[q+4>>2]=C;c[(c[r>>2]|0)+736+4>>2]=c[j>>2];b[(c[r>>2]|0)+32>>1]=1;if(c[(c[r>>2]|0)+8>>2]|0)a[(c[r>>2]|0)+36>>0]=c[c[(c[r>>2]|0)+8>>2]>>2];if(e[(c[r>>2]|0)+34>>1]&1024)a[(c[r>>2]|0)+40>>0]=1;c[g>>2]=1;r=c[g>>2]|0;i=s;return r|0}function Wu(b){b=b|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;s=i;i=i+64|0;g=s+24|0;n=s+28|0;j=s;k=s+8|0;h=s+32|0;f=s+44|0;m=s+48|0;p=s+36|0;l=s+40|0;r=s+20|0;o=s+52|0;q=s+16|0;c[g>>2]=b;c[n>>2]=c[c[g>>2]>>2];e=j;c[e>>2]=0;c[e+4>>2]=0;e=k;c[e>>2]=0;c[e+4>>2]=0;c[f>>2]=c[(c[n>>2]|0)+4>>2];c[p>>2]=c[c[c[n>>2]>>2]>>2];c[l>>2]=d[(c[n>>2]|0)+41>>0];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[g>>2]|0)+12>>2];Nu(c[q>>2]|0);c[h>>2]=0;c[m>>2]=(c[f>>2]|0)+8;while(1){if((c[h>>2]|0)>=(c[l>>2]|0)){b=13;break}a[(c[q>>2]|0)+16>>0]=c[h>>2];e=Zu((c[n>>2]|0)+68|0,c[(c[m>>2]|0)+40>>2]|0)|0;f=(c[q>>2]|0)+8|0;c[f>>2]=e;c[f+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){b=k;e=c[b+4>>2]|0;f=j;c[f>>2]=c[b>>2];c[f+4>>2]=e}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;b=c[g>>2]|0;f=j;e=c[f>>2]|0;f=c[f+4>>2]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+44>>0]|0)&16)c[r>>2]=vv(b,e,f)|0;else c[r>>2]=wv(b,e,f)|0;if(!(c[r>>2]|0)){f=j;c[r>>2]=xv(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0}b=(c[q>>2]|0)+8|0;t=k;e=c[t+4>>2]|c[b+4>>2];f=k;c[f>>2]=c[t>>2]|c[b>>2];c[f+4>>2]=e;if(c[r>>2]|0){b=13;break}if(d[(c[p>>2]|0)+64>>0]|0){b=13;break}c[h>>2]=(c[h>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((b|0)==13){Lu(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function Xu(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;U=i;i=i+160|0;E=U;M=U+116|0;N=U+108|0;G=U+142|0;r=U+104|0;P=U+84|0;z=U+80|0;O=U+44|0;H=U+124|0;n=U+40|0;p=U+56|0;t=U+60|0;w=U+64|0;s=U+148|0;u=U+140|0;y=U+120|0;v=U+128|0;k=U+132|0;m=U+88|0;R=U+92|0;A=U+96|0;K=U+48|0;j=U+100|0;l=U+68|0;S=U+52|0;h=U+72|0;x=U+150|0;B=U+144|0;C=U+146|0;o=U+152|0;q=U+32|0;D=U+16|0;J=U+76|0;I=U+8|0;L=U+112|0;T=U+24|0;Q=U+136|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[P>>2]=d[(c[N>>2]|0)+41>>0];if((c[P>>2]|0)<=1)g=1;else g=(c[P>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[P>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[S>>2]=qf(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[S>>2]|0)){c[M>>2]=7;T=c[M>>2]|0;i=U;return T|0}c[m>>2]=c[S>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[R>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[R>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[R>>2]=(c[R>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[P>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];BH(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+424>>2]|0)>>>0<46)g=c[(c[z>>2]|0)+424>>2]|0;else g=46;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[P>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[P>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[R>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+16>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[R>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[R>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[R>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){b[C>>1]=rv(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[R>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=rv(b[C>>1]|0,b[(c[R>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[R>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[R>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=sv(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,b[(c[N>>2]|0)+34>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[R>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=tv(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=rv(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[R>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;EH(c[(c[A>>2]|0)+24>>2]|0,c[(c[R>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=58}else F=58;while(0);if((F|0)==58){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+48>>2]}c[n>>2]=(c[n>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+32}c[R>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[R>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){sf(c[z>>2]|0,26450,E);Nd(c[O>>2]|0,c[S>>2]|0);c[M>>2]=1;T=c[M>>2]|0;i=U;return T|0}c[R>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[R>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[R>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[P>>2]|0))break;c[J>>2]=g+736+((c[H>>2]|0)*72|0);F=c[(c[(c[R>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+56>>2]=F;a[(c[J>>2]|0)+36>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+36>>0]|0)*72|0)+40>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+34>>1]&1024|0)!=0?(e[(c[N>>2]|0)+34>>1]&512|0)==0:0)?(d[(c[N>>2]|0)+40>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(sv(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[R>>2]|0,512,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+40>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[R>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+34>>1]&512){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+40>>0]=2}else{a[(c[N>>2]|0)+36>>0]=g;if((a[(c[N>>2]|0)+36>>0]|0)<0)a[(c[N>>2]|0)+36>>0]=0;J=(c[R>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+24|0;c[L>>2]=c[J>>2];c[L+4>>2]=K}if(((e[(c[N>>2]|0)+34>>1]&2048|0)!=0?(a[(c[N>>2]|0)+36>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0)?(L=T,c[L>>2]=0,c[L+4>>2]=0,c[Q>>2]=(sv(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,0,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,(c[Q>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+37>>0]=1;P=T;Q=c[P+4>>2]|0;T=(c[N>>2]|0)+24|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q}}b[(c[N>>2]|0)+32>>1]=b[(c[R>>2]|0)+16>>1]|0;Nd(c[O>>2]|0,c[S>>2]|0);c[M>>2]=0;T=c[M>>2]|0;i=U;return T|0}function Yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=pv(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}b=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=b+1}if((a|0)==4){e=CH(1,0,b|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((a|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function _u(d,e,f,g,h,j){d=d|0;e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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;P=i;i=i+144|0;n=P+8|0;s=P+56|0;p=P+76|0;t=P+60|0;u=P+40|0;v=P+104|0;G=P+84|0;K=P+52|0;L=P+48|0;I=P+116|0;O=P+80|0;w=P+64|0;J=P+68|0;x=P+72|0;N=P+112|0;F=P+120|0;A=P+124|0;E=P+88|0;H=P+92|0;q=P+96|0;r=P+100|0;D=P+32|0;z=P;m=P+136|0;l=P+108|0;k=P+16|0;B=P+128|0;y=P+24|0;M=P+132|0;c[s>>2]=d;c[p>>2]=e;c[t>>2]=f;e=u;c[e>>2]=g;c[e+4>>2]=h;c[v>>2]=j;a[m>>0]=0;c[O>>2]=c[(c[s>>2]|0)+8>>2];c[w>>2]=Rs(c[s>>2]|0)|0;c[G>>2]=0;c[J>>2]=c[(c[t>>2]|0)+16>>2];c[L>>2]=(c[(c[p>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*48|0);c[q>>2]=c[(c[v>>2]|0)+56>>2];e=D;c[e>>2]=0;c[e+4>>2]=0;c[K>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[K>>2]|0)>>>0>=(c[L>>2]|0)>>>0)break;e=u;if(mv(c[K>>2]|0,c[t>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0){c[l>>2]=c[(c[K>>2]|0)+12>>2];if((c[l>>2]|0)>=64){g=0;h=-2147483648}else{g=CH(1,0,c[l>>2]|0)|0;h=C}e=k;c[e>>2]=g;c[e+4>>2]=h;if(!(a[m>>0]|0)){e=c[(c[(c[J>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2]|0;c[n>>2]=c[c[J>>2]>>2];c[n+4>>2]=e;Zb(284,26413,n);a[m>>0]=1}f=D;e=k;if((c[f>>2]&c[e>>2]|0)==0?(c[f+4>>2]&c[e+4>>2]|0)==0:0){if(nv(c[c[s>>2]>>2]|0,c[q>>2]|0,(c[G>>2]|0)+1|0)|0){o=42;break}j=c[K>>2]|0;d=c[G>>2]|0;c[G>>2]=d+1;c[(c[(c[q>>2]|0)+44>>2]|0)+(d<<2)>>2]=j;d=k;j=D;f=c[j+4>>2]|c[d+4>>2];e=D;c[e>>2]=c[j>>2]|c[d>>2];c[e+4>>2]=f}}c[K>>2]=(c[K>>2]|0)+48}if((o|0)==42){i=P;return}l=c[G>>2]&65535;b[(c[q>>2]|0)+40>>1]=l;b[(c[q>>2]|0)+24>>1]=l;c[(c[q>>2]|0)+36>>2]=16961;l=(c[t>>2]|0)+56|0;m=D;n=c[l+4>>2]&(~c[m+4>>2]|-2147483648);o=z;c[o>>2]=c[l>>2]&~c[m>>2];c[o+4>>2]=n;if((b[(c[J>>2]|0)+38>>1]|0)>=63)g=63;else g=b[(c[J>>2]|0)+38>>1]|0;c[E>>2]=g;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[E>>2]|0))break;o=z;m=c[o>>2]|0;o=c[o+4>>2]|0;n=CH(1,0,c[A>>2]|0)|0;if((m&n|0)!=0|(o&C|0)!=0)c[G>>2]=(c[G>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if(0!=0?1:(c[(c[t>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[G>>2]=(c[G>>2]|0)+((b[(c[J>>2]|0)+38>>1]|0)-64+1);o=(c[q>>2]|0)+36|0;c[o>>2]=c[o>>2]|65;c[I>>2]=ov(c[c[s>>2]>>2]|0,(c[G>>2]|0)+1&65535,0,r)|0;if(!(c[I>>2]|0)){i=P;return}c[(c[q>>2]|0)+24+4>>2]=c[I>>2];c[c[I>>2]>>2]=26439;c[(c[I>>2]|0)+12>>2]=c[J>>2];c[F>>2]=0;r=D;c[r>>2]=0;c[r+4>>2]=0;c[K>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[K>>2]|0)>>>0>=(c[L>>2]|0)>>>0)break;r=u;if(mv(c[K>>2]|0,c[t>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0){c[B>>2]=c[(c[K>>2]|0)+12>>2];if((c[B>>2]|0)>=64){h=0;g=-2147483648}else{h=CH(1,0,c[B>>2]|0)|0;g=C}q=y;c[q>>2]=h;c[q+4>>2]=g;q=D;r=y;if((c[q>>2]&c[r>>2]|0)==0?(c[q+4>>2]&c[r+4>>2]|0)==0:0){c[M>>2]=c[c[K>>2]>>2];p=y;o=D;q=c[o+4>>2]|c[p+4>>2];r=D;c[r>>2]=c[o>>2]|c[p>>2];c[r+4>>2]=q;b[(c[(c[I>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]=c[(c[K>>2]|0)+12>>2];c[H>>2]=Ts(c[s>>2]|0,c[(c[M>>2]|0)+12>>2]|0,c[(c[M>>2]|0)+16>>2]|0)|0;if(c[H>>2]|0)h=c[c[H>>2]>>2]|0;else h=15963;c[(c[(c[I>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]=h;c[F>>2]=(c[F>>2]|0)+1}}c[K>>2]=(c[K>>2]|0)+48}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[E>>2]|0))break;M=z;K=c[M>>2]|0;M=c[M+4>>2]|0;L=CH(1,0,c[A>>2]|0)|0;if((K&L|0)!=0|(M&C|0)!=0){b[(c[(c[I>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]=c[A>>2];c[(c[(c[I>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]=15963;c[F>>2]=(c[F>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}a:do if(0!=0?1:(c[(c[t>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[A>>2]=63;while(1){if((c[A>>2]|0)>=(b[(c[J>>2]|0)+38>>1]|0))break a;b[(c[(c[I>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]=c[A>>2];c[(c[(c[I>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]=15963;c[F>>2]=(c[F>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}}while(0);b[(c[(c[I>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]=-1;c[(c[(c[I>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]=15963;L=(c[s>>2]|0)+68|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[v>>2]|0)+8>>2]=M;Ro(c[O>>2]|0,56,c[(c[v>>2]|0)+8>>2]|0,(c[G>>2]|0)+1|0)|0;xr(c[s>>2]|0,c[I>>2]|0);c[x>>2]=ur(c[O>>2]|0,108,c[(c[v>>2]|0)+4>>2]|0)|0;c[N>>2]=Wo(c[s>>2]|0)|0;bs(c[s>>2]|0,c[I>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[N>>2]|0,0,0,0,0)|0;Ro(c[O>>2]|0,110,c[(c[v>>2]|0)+8>>2]|0,c[N>>2]|0)|0;xf(c[O>>2]|0,16);Ro(c[O>>2]|0,9,c[(c[v>>2]|0)+4>>2]|0,(c[x>>2]|0)+1|0)|0;xf(c[O>>2]|0,3);jp(c[O>>2]|0,c[x>>2]|0);Xo(c[s>>2]|0,c[N>>2]|0);jp(c[O>>2]|0,c[w>>2]|0);i=P;return}function $u(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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+240|0;E=L+24|0;G=L+8|0;F=L+16|0;D=L+32|0;C=L;m=L+112|0;n=L+104|0;o=L+84|0;s=L+80|0;t=L+48|0;p=L+128|0;y=L+108|0;B=L+116|0;q=L+88|0;v=L+92|0;w=L+44|0;z=L+40|0;u=L+36|0;I=L+96|0;A=L+52|0;r=L+132|0;H=L+100|0;x=L+120|0;J=L+124|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=j;c[t>>2]=k;b[p>>1]=l;if((d[(c[m>>2]|0)+450>>0]|0|0)!=2){i=L;return}c[y>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+36>>0]|0)*72|0);c[B>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[v>>2]=c[(c[m>>2]|0)+464>>2];c[z>>2]=c[(c[o>>2]|0)+56>>2];c[u>>2]=c[(c[z>>2]|0)+36>>2];if(c[u>>2]&8192){i=L;return}if((e[p>>1]|0)&64){i=L;return}do if(c[u>>2]&48)m=1;else{if((c[u>>2]&1024|0)==0?(e[(c[z>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[w>>2]=m&1;Zd(A,r,100,1e9);c[A>>2]=c[q>>2];fs(A,(c[w>>2]|0)!=0?26167:26174);m=c[y>>2]|0;if(c[(c[y>>2]|0)+20>>2]|0){c[C>>2]=d[m+38>>0];jv(A,0,26179,C)}else{c[D>>2]=c[m+8>>2];jv(A,0,26192,D)}if(c[(c[y>>2]|0)+12>>2]|0){c[F>>2]=c[(c[y>>2]|0)+12>>2];jv(A,0,26202,F)}do if(!(c[u>>2]&1280)){c[H>>2]=0;c[x>>2]=c[(c[z>>2]|0)+24+4>>2];if(((d[(c[(c[y>>2]|0)+16>>2]|0)+44>>0]|0)&32|0)!=0?(a[(c[x>>2]|0)+55>>0]&3|0)==2:0){if(c[w>>2]|0)c[H>>2]=26209}else K=18;do if((K|0)==18){if(c[u>>2]&16384){c[H>>2]=26221;break}if(c[u>>2]&64){c[H>>2]=26246;break}else{c[H>>2]=26264;break}}while(0);if(c[H>>2]|0){es(A,26273,7);K=c[H>>2]|0;c[G>>2]=c[c[x>>2]>>2];jv(A,0,K,G);kv(A,c[z>>2]|0,c[(c[y>>2]|0)+16>>2]|0)}}else{if((c[u>>2]&256|0)!=0?(c[u>>2]&15|0)!=0:0){do if(!(c[u>>2]&5)){if((c[u>>2]&48|0)==48){c[J>>2]=26291;break}if(c[u>>2]&32){c[J>>2]=26313;break}else{c[J>>2]=26323;break}}else c[J>>2]=26281;while(0);fs(A,26333);fs(A,c[J>>2]|0);break}if(c[u>>2]&1024){K=c[(c[z>>2]|0)+24+8>>2]|0;c[E>>2]=c[(c[z>>2]|0)+24>>2];c[E+4>>2]=K;jv(A,0,26361,E)}}while(0);c[I>>2]=$d(A)|0;To(c[B>>2]|0,155,c[v>>2]|0,c[s>>2]|0,c[t>>2]|0,c[I>>2]|0,-1)|0;i=L;return} +function mn(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;ea=i;i=i+272|0;R=ea+40|0;Q=ea+16|0;P=ea+8|0;T=ea;W=ea+32|0;S=ea+48|0;O=ea+24|0;Z=ea+52|0;_=ea+140|0;aa=ea+96|0;$=ea+88|0;ba=ea+68|0;ca=ea+56|0;da=ea+60|0;Y=ea+64|0;M=ea+196|0;N=ea+144|0;k=ea+120|0;m=ea+104|0;z=ea+92|0;x=ea+236|0;h=ea+244|0;l=ea+252|0;C=ea+260|0;s=ea+108|0;U=ea+112|0;D=ea+240|0;o=ea+248|0;E=ea+256|0;t=ea+156|0;r=ea+160|0;y=ea+192|0;A=ea+164|0;F=ea+168|0;G=ea+172|0;I=ea+176|0;H=ea+180|0;J=ea+184|0;K=ea+188|0;L=ea+232|0;u=ea+212|0;v=ea+264|0;w=ea+268|0;B=ea+84|0;V=ea+216|0;p=ea+208|0;q=ea+80|0;n=ea+100|0;j=ea+224|0;c[Z>>2]=f;c[_>>2]=g;c[Y>>2]=c[(c[Z>>2]|0)+8>>2];c[ca>>2]=(c[Z>>2]|0)+12+(c[c[Z>>2]>>2]<<4);c[ba>>2]=c[561];c[ba+4>>2]=c[562];c[ba+8>>2]=c[563];a:do switch(c[_>>2]|0){case 5:{on(c[Y>>2]|0,0);break}case 6:{on(c[Y>>2]|0,1);break}case 7:{on(c[Y>>2]|0,2);break}case 8:{pn(c[Y>>2]|0);break}case 9:{qn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 13:{c[ba>>2]=7;break}case 117:case 115:case 16:case 15:case 14:{c[ba>>2]=d[(c[ca>>2]|0)+2>>0];break}case 18:case 17:{rn(c[Y>>2]|0);break}case 19:{sn(c[Y>>2]|0);break}case 22:{tn(c[Y>>2]|0,0,(c[ca>>2]|0)+4|0);break}case 23:{tn(c[Y>>2]|0,1,(c[ca>>2]|0)+4|0);break}case 24:{tn(c[Y>>2]|0,2,(c[ca>>2]|0)+4|0);break}case 26:{un(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0,c[(c[ca>>2]|0)+-32+4>>2]|0);break}case 27:{a[(c[c[Y>>2]>>2]|0)+248+2>>0]=0;Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break}case 221:case 218:case 108:case 97:case 85:case 83:case 81:case 68:case 31:case 28:{c[ba>>2]=0;break}case 222:case 219:case 107:case 84:case 69:case 30:case 29:{c[ba>>2]=1;break}case 32:{vn(c[Y>>2]|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+-16+4|0,a[(c[ca>>2]|0)+4>>0]|0,0);break}case 33:{vn(c[Y>>2]|0,0,0,0,c[(c[ca>>2]|0)+4>>2]|0);an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 34:{a[ba>>0]=0;break}case 35:{if((c[(c[ca>>2]|0)+4+4>>2]|0)==5?(Ib(c[(c[ca>>2]|0)+4>>2]|0,18143,5)|0)==0:0){a[ba>>0]=32;break a}a[ba>>0]=0;Y=c[Y>>2]|0;X=c[(c[ca>>2]|0)+4>>2]|0;c[O>>2]=c[(c[ca>>2]|0)+4+4>>2];c[O+4>>2]=X;sf(Y,18149,O);break}case 38:{c[ba>>2]=c[(c[ca>>2]|0)+-32+4>>2];c[ba+4>>2]=(c[(c[Y>>2]|0)+504>>2]|0)-(c[(c[ca>>2]|0)+-32+4>>2]|0)+(c[(c[Y>>2]|0)+504+4>>2]|0);break}case 39:{wn(c[Y>>2]|0,(c[ca>>2]|0)+4|0);X=(c[ca>>2]|0)+4|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[(c[Y>>2]|0)+320+4>>2]=0;break}case 279:case 263:case 262:case 261:case 260:case 259:case 258:case 257:case 256:case 247:case 150:case 141:case 131:case 130:case 48:case 45:case 42:case 41:case 40:{Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break}case 44:{xn(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 46:{c[ba>>2]=c[(c[ca>>2]|0)+-48+4>>2];c[ba+4>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0)-(c[(c[ca>>2]|0)+-48+4>>2]|0);break}case 47:{c[ba>>2]=c[(c[ca>>2]|0)+-80+4>>2];c[ba+4>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0)-(c[(c[ca>>2]|0)+-80+4>>2]|0);break}case 49:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[ba+4>>2]=(c[(c[ca>>2]|0)+4+4>>2]|0)+((c[(c[ca>>2]|0)+4>>2]|0)-(c[(c[ca>>2]|0)+-16+4>>2]|0));break}case 92:case 54:{Y=(c[Y>>2]|0)+320|0;X=(c[ca>>2]|0)+4|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];break}case 57:case 55:{yn(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 56:{yn(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0);break}case 58:{c[M>>2]=zn(c[Y>>2]|0,157,c[(c[ca>>2]|0)+4>>2]|0,0,0)|0;c[M+4>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[M+8>>2]=c[(c[ca>>2]|0)+4+8>>2];yn(c[Y>>2]|0,M);break}case 59:{An(N,c[Y>>2]|0,97,(c[ca>>2]|0)+4|0);yn(c[Y>>2]|0,N);break}case 61:{Bn(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 62:{Cn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0);break}case 63:{Dn(c[Y>>2]|0,0,0,0,0,c[(c[ca>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 64:{En(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 65:{Fn(c[Y>>2]|0,0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 66:{Gn(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 67:{Hn(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 70:{c[ba>>2]=0;break}case 71:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2]&~c[(c[ca>>2]|0)+4+4>>2]|c[(c[ca>>2]|0)+4>>2];break}case 73:case 72:{c[ba>>2]=0;c[ba+4>>2]=0;break}case 74:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];c[ba+4>>2]=255;break}case 75:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2]<<8;c[ba+4>>2]=65280;break}case 76:{c[ba>>2]=7;break}case 77:{c[ba>>2]=8;break}case 78:{c[ba>>2]=9;break}case 79:{c[ba>>2]=6;break}case 80:{c[ba>>2]=0;break}case 103:case 100:case 98:case 82:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 86:{c[ba+4>>2]=0;c[ba>>2]=0;break}case 87:{Y=(c[ca>>2]|0)+-16+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break}case 90:{c[(c[Y>>2]|0)+320+4>>2]=0;break}case 93:{Cn(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,0);break}case 94:{Dn(c[Y>>2]|0,0,0,0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 95:{En(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0);break}case 96:{Fn(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,(c[ca>>2]|0)+-48+4|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);Gn(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 99:{c[ba>>2]=10;break}case 101:{a[ba>>0]=10;break}case 102:{a[ba>>0]=c[(c[ca>>2]|0)+4>>2];break}case 104:{c[ba>>2]=4;break}case 105:{c[ba>>2]=5;break}case 106:{In(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 109:{Jn(c[Y>>2]|0,(c[ca>>2]|0)+-112+4|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0);break}case 110:{In(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,1,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 111:{c[k>>2]=c[564];c[k+4>>2]=c[565];c[k+8>>2]=c[566];c[k+12>>2]=c[567];c[k+16>>2]=c[568];Kn(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,k)|0;an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 112:{c[m>>2]=c[(c[ca>>2]|0)+4>>2];if(c[m>>2]|0){c[h>>2]=0;c[(c[m>>2]|0)+68>>2]=c[(c[ca>>2]|0)+-16+4>>2];if(c[(c[m>>2]|0)+52>>2]|0){c[z>>2]=0;c[x>>2]=c[m>>2];while(1){if(!(c[x>>2]|0))break;c[(c[x>>2]|0)+56>>2]=c[z>>2];X=(c[x>>2]|0)+6|0;b[X>>1]=e[X>>1]|64;c[z>>2]=c[x>>2];c[x>>2]=c[(c[x>>2]|0)+52>>2];c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=c[(c[c[Y>>2]>>2]|0)+88+16>>2];if((c[l>>2]|0)!=0?(c[h>>2]|0)>(c[l>>2]|0):0)sf(c[Y>>2]|0,18176,S)}}else _m(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);c[ba>>2]=c[m>>2];break}case 119:case 113:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 114:{c[C>>2]=c[(c[ca>>2]|0)+4>>2];if((c[C>>2]|0)!=0?(c[(c[C>>2]|0)+52>>2]|0)!=0:0){c[U+4>>2]=0;c[s>>2]=Ln(c[Y>>2]|0,0,0,0,U,c[C>>2]|0,0,0)|0;c[C>>2]=Mn(c[Y>>2]|0,0,c[s>>2]|0,0,0,0,0,0,0,0)|0}if(c[C>>2]|0){a[(c[C>>2]|0)+4>>0]=c[(c[ca>>2]|0)+-16+4>>2];c[(c[C>>2]|0)+52>>2]=c[(c[ca>>2]|0)+-32+4>>2];if((c[(c[ca>>2]|0)+-16+4>>2]|0)!=116)a[(c[Y>>2]|0)+22>>0]=1}else an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0);c[ba>>2]=c[C>>2];break}case 116:{c[ba>>2]=116;break}case 118:{c[ba>>2]=Mn(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,c[(c[ca>>2]|0)+-80+4>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,b[(c[ca>>2]|0)+-112+4>>1]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+4+4>>2]|0)|0;break}case 120:{c[ba>>2]=Mn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,0,0,0,0,0,128,0,0)|0;break}case 121:{c[D>>2]=Mn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,0,0,0,0,0,128,0,0)|0;if(c[D>>2]|0){a[(c[D>>2]|0)+4>>0]=116;c[(c[D>>2]|0)+52>>2]=c[(c[ca>>2]|0)+-64+4>>2];c[ba>>2]=c[D>>2];break a}else{c[ba>>2]=c[(c[ca>>2]|0)+-64+4>>2];break a}}case 122:{b[ba>>1]=1;break}case 124:case 123:{b[ba>>1]=0;break}case 243:case 125:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];break}case 242:case 236:case 161:case 154:case 126:{c[ba>>2]=0;break}case 127:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;if((c[(c[ca>>2]|0)+4+4>>2]|0)>>>0>0)On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+4|0,1);Pn(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-16+4|0);break}case 128:{c[o>>2]=Qn(c[c[Y>>2]>>2]|0,116,0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[o>>2]|0)|0;break}case 129:{c[E>>2]=zn(c[Y>>2]|0,116,0,0,(c[ca>>2]|0)+4|0)|0;c[t>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+-32+4|0)|0;c[r>>2]=zn(c[Y>>2]|0,122,c[t>>2]|0,c[E>>2]|0,0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[r>>2]|0)|0;break}case 132:{c[ba+4>>2]=0;break}case 133:{c[ba>>2]=gf(c[c[Y>>2]>>2]|0,80,0)|0;break}case 134:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];Rn(c[ba>>2]|0);break}case 135:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];if((c[ba>>2]|0)!=0?(c[c[ba>>2]>>2]|0)>0:0)a[(c[ba>>2]|0)+8+(((c[c[ba>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[ca>>2]|0)+4>>2];break}case 136:{c[ba>>2]=0;break}case 137:{c[ba>>2]=Ln(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,(c[ca>>2]|0)+-80+4|0,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+-48+4|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;Sn(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0);break}case 138:{c[ba>>2]=Ln(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,0,0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 139:{if((((c[(c[ca>>2]|0)+-96+4>>2]|0)==0?(c[(c[ca>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[ca>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[ca>>2]|0)+4>>2]|0)==0:0){c[ba>>2]=c[(c[ca>>2]|0)+-64+4>>2];break a}if((c[c[(c[ca>>2]|0)+-64+4>>2]>>2]|0)!=1){Rn(c[(c[ca>>2]|0)+-64+4>>2]|0);c[F>>2]=Mn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0,0,0,512,0,0)|0;c[ba>>2]=Ln(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,0,0,(c[ca>>2]|0)+-32+4|0,c[F>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break a}c[ba>>2]=Ln(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,0,0,(c[ca>>2]|0)+-32+4|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;if(c[ba>>2]|0){c[y>>2]=(c[ba>>2]|0)+8+(((c[c[ba>>2]>>2]|0)-1|0)*72|0);c[A>>2]=(c[(c[ca>>2]|0)+-64+4>>2]|0)+8;c[(c[y>>2]|0)+8>>2]=c[(c[A>>2]|0)+8>>2];c[(c[y>>2]|0)+4>>2]=c[(c[A>>2]|0)+4>>2];c[(c[y>>2]|0)+20>>2]=c[(c[A>>2]|0)+20>>2];c[(c[A>>2]|0)+4>>2]=0;c[(c[A>>2]|0)+8>>2]=0;c[(c[A>>2]|0)+20>>2]=0}cn(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0);break}case 149:case 140:{c[ba>>2]=0;c[ba+4>>2]=0;break}case 142:{c[ba>>2]=Tn(c[c[Y>>2]>>2]|0,0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0)|0;break}case 143:{c[ba>>2]=1;break}case 144:{c[ba>>2]=Un(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,0,0)|0;break}case 145:{c[ba>>2]=Un(c[Y>>2]|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+-16+4|0,0)|0;break}case 146:{c[ba>>2]=Un(c[Y>>2]|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+-16+4|0)|0;break}case 233:case 231:case 171:case 164:case 147:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 234:case 232:case 170:case 163:case 148:{c[ba>>2]=0;break}case 151:{c[ba>>2]=0;c[ba+4>>2]=1;break}case 180:case 152:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];break}case 179:case 153:{c[ba>>2]=0;break}case 235:case 162:case 155:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 156:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;if(c[ba>>2]|0)a[(c[(c[ba>>2]|0)+4>>2]|0)+(((c[c[ba>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[ca>>2]|0)+4>>2];break}case 157:{c[ba>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;if((c[ba>>2]|0)!=0?(c[(c[ba>>2]|0)+4>>2]|0)!=0:0)a[(c[(c[ba>>2]|0)+4>>2]|0)+12>>0]=c[(c[ca>>2]|0)+4>>2];break}case 160:case 158:{c[ba>>2]=0;break}case 159:{c[ba>>2]=1;break}case 165:{c[ba>>2]=0;c[ba+4>>2]=0;break}case 166:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];c[ba+4>>2]=0;break}case 167:{c[ba>>2]=c[(c[ca>>2]|0)+-32+4>>2];c[ba+4>>2]=c[(c[ca>>2]|0)+4>>2];break}case 168:{c[ba+4>>2]=c[(c[ca>>2]|0)+-32+4>>2];c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 169:{Vn(c[Y>>2]|0,c[(c[ca>>2]|0)+-80+4>>2]|0,1);Sn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,(c[ca>>2]|0)+-16+4|0);Wn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 172:{Vn(c[Y>>2]|0,c[(c[ca>>2]|0)+-112+4>>2]|0,1);Sn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,(c[ca>>2]|0)+-48+4|0);Xn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,18210);Yn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,d[(c[ca>>2]|0)+-80+4>>0]|0);break}case 173:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0,1);break}case 174:{c[ba>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+4>>2]|0)|0;On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0,1);break}case 175:{Vn(c[Y>>2]|0,c[(c[ca>>2]|0)+-80+4>>2]|0,1);Zn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,d[(c[ca>>2]|0)+-64+4>>0]|0);break}case 176:{Vn(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,1);Zn(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,0,c[(c[ca>>2]|0)+-32+4>>2]|0,d[(c[ca>>2]|0)+-80+4>>0]|0);break}case 177:{a[ba>>0]=a[(c[ca>>2]|0)+4>>0]|0;break}case 178:{a[ba>>0]=5;break}case 181:{c[ba>>2]=_n(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,(c[ca>>2]|0)+4|0)|0;break}case 182:{c[ba>>2]=_n(c[c[Y>>2]>>2]|0,0,(c[ca>>2]|0)+4|0)|0;break}case 183:{Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=c[Y+8>>2];break}case 184:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];$n(ba,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);break}case 191:case 190:case 185:{An(ba,c[Y>>2]|0,d[(c[ca>>2]|0)+2>>0]|0,(c[ca>>2]|0)+4|0);break}case 187:case 186:{An(ba,c[Y>>2]|0,27,(c[ca>>2]|0)+4|0);break}case 188:{c[G>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+-32+4|0)|0;c[I>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+4|0)|0;c[ba>>2]=zn(c[Y>>2]|0,122,c[G>>2]|0,c[I>>2]|0,0)|0;$n(ba,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);break}case 189:{c[H>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+-64+4|0)|0;c[J>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+-32+4|0)|0;c[K>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+4|0)|0;c[L>>2]=zn(c[Y>>2]|0,122,c[J>>2]|0,c[K>>2]|0,0)|0;c[ba>>2]=zn(c[Y>>2]|0,122,c[H>>2]|0,c[L>>2]|0,0)|0;$n(ba,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+4|0);break}case 192:{do if(((c[(c[ca>>2]|0)+4+4>>2]|0)>>>0>=2?(a[c[(c[ca>>2]|0)+4>>2]>>0]|0)==35:0)?(d[14426+(d[(c[(c[ca>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=c[Y>>2]|0;j=(c[ca>>2]|0)+4|0;if(!(d[(c[Y>>2]|0)+18>>0]|0)){c[W>>2]=j;sf(h,18119,W);c[ba>>2]=0;break}c[ba>>2]=zn(h,159,0,0,j)|0;if(c[ba>>2]|0)wg((c[(c[ca>>2]|0)+4>>2]|0)+1|0,(c[ba>>2]|0)+28|0)|0}else X=170;while(0);if((X|0)==170){An(ba,c[Y>>2]|0,135,(c[ca>>2]|0)+4|0);ao(c[Y>>2]|0,c[ba>>2]|0)}$n(ba,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+4|0);break}case 193:{c[ba>>2]=bo(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,(c[ca>>2]|0)+4|0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-32+4+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 194:{c[ba>>2]=zn(c[Y>>2]|0,38,c[(c[ca>>2]|0)+-48+4>>2]|0,0,(c[ca>>2]|0)+-16+4|0)|0;$n(ba,(c[ca>>2]|0)+-80+4|0,(c[ca>>2]|0)+4|0);break}case 195:{if((c[(c[ca>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[ca>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[Y>>2]>>2]|0)+88+24>>2]|0):0){X=c[Y>>2]|0;c[T>>2]=(c[ca>>2]|0)+-64+4;sf(X,18219,T)}c[ba>>2]=co(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,(c[ca>>2]|0)+-64+4|0)|0;$n(ba,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+4|0);if((e[(c[ca>>2]|0)+-32+4>>1]|0)!=0?(c[ba>>2]|0)!=0:0){Y=(c[ba>>2]|0)+4|0;c[Y>>2]=c[Y>>2]|16}break}case 196:{c[ba>>2]=co(c[Y>>2]|0,0,(c[ca>>2]|0)+-48+4|0)|0;$n(ba,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+4|0);break}case 197:{c[ba>>2]=co(c[Y>>2]|0,0,(c[ca>>2]|0)+4|0)|0;$n(ba,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+4|0);break}case 205:case 204:case 203:case 202:case 201:case 200:case 199:case 198:{eo(ba,c[Y>>2]|0,d[(c[ca>>2]|0)+-16+2>>0]|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);break}case 206:{Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=0;break}case 207:{Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=1;break}case 208:{c[u>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+4>>2]|0)|0;c[u>>2]=Nn(c[Y>>2]|0,c[u>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[ba>>2]=co(c[Y>>2]|0,c[u>>2]|0,(c[ca>>2]|0)+-16+4|0)|0;if(c[(c[ca>>2]|0)+-16+4+8>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-32+4+4>>2];c[ba+8>>2]=c[(c[ca>>2]|0)+4+8>>2];if(c[ba>>2]|0){Y=(c[ba>>2]|0)+4|0;c[Y>>2]=c[Y>>2]|128}break}case 209:{c[v>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[v>>2]=Nn(c[Y>>2]|0,c[v>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0)|0;c[v>>2]=Nn(c[Y>>2]|0,c[v>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;c[ba>>2]=co(c[Y>>2]|0,c[v>>2]|0,(c[ca>>2]|0)+-48+4|0)|0;if(c[(c[ca>>2]|0)+-48+4+8>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4+4>>2];c[ba+8>>2]=c[(c[ca>>2]|0)+4+8>>2];if(c[ba>>2]|0){Y=(c[ba>>2]|0)+4|0;c[Y>>2]=c[Y>>2]|128}break}case 210:{fo(ba,c[Y>>2]|0,d[(c[ca>>2]|0)+2>>0]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0);break}case 211:{fo(ba,c[Y>>2]|0,77,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);break}case 212:{eo(ba,c[Y>>2]|0,73,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);go(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[ba>>2]|0,76);break}case 213:{eo(ba,c[Y>>2]|0,148,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+4|0);go(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[ba>>2]|0,77);break}case 215:case 214:{ho(ba,c[Y>>2]|0,d[(c[ca>>2]|0)+-16+2>>0]|0,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+-16+4|0);break}case 216:{ho(ba,c[Y>>2]|0,157,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+-16+4|0);break}case 217:{ho(ba,c[Y>>2]|0,158,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+-16+4|0);break}case 220:{c[w>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[w>>2]=Nn(c[Y>>2]|0,c[w>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;c[ba>>2]=zn(c[Y>>2]|0,74,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[ba>>2]|0)c[(c[ba>>2]|0)+20>>2]=c[w>>2];else $m(c[c[Y>>2]>>2]|0,c[w>>2]|0);if(c[(c[ca>>2]|0)+-48+4>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4+4>>2];c[ba+8>>2]=c[(c[ca>>2]|0)+4+8>>2];break}case 223:{do if(c[(c[ca>>2]|0)+-16+4>>2]|0){if((c[c[(c[ca>>2]|0)+-16+4>>2]>>2]|0)==1){c[B>>2]=c[c[(c[(c[ca>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[ca>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;$m(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);if(c[B>>2]|0){X=(c[B>>2]|0)+4|0;c[X>>2]=c[X>>2]&-257;X=(c[B>>2]|0)+4|0;c[X>>2]=c[X>>2]|512}c[ba>>2]=zn(c[Y>>2]|0,(c[(c[ca>>2]|0)+-48+4>>2]|0)!=0?78:79,c[(c[ca>>2]|0)+-64+4>>2]|0,c[B>>2]|0,0)|0;break}c[ba>>2]=zn(c[Y>>2]|0,75,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[ba>>2]|0){c[(c[ba>>2]|0)+20>>2]=c[(c[ca>>2]|0)+-16+4>>2];io(c[Y>>2]|0,c[ba>>2]|0)}else $m(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);if(c[(c[ca>>2]|0)+-48+4>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0}else{c[ba>>2]=zn(c[Y>>2]|0,132,0,0,2276+(c[(c[ca>>2]|0)+-48+4>>2]<<3)|0)|0;dn(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0)}while(0);c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 224:{c[ba>>2]=zn(c[Y>>2]|0,119,0,0,0)|0;if(c[ba>>2]|0){c[(c[ba>>2]|0)+20>>2]=c[(c[ca>>2]|0)+-16+4>>2];X=(c[ba>>2]|0)+4|0;c[X>>2]=c[X>>2]|2048;io(c[Y>>2]|0,c[ba>>2]|0)}else an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);c[ba+4>>2]=c[(c[ca>>2]|0)+-32+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 225:{c[ba>>2]=zn(c[Y>>2]|0,75,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[ba>>2]|0){c[(c[ba>>2]|0)+20>>2]=c[(c[ca>>2]|0)+-16+4>>2];X=(c[ba>>2]|0)+4|0;c[X>>2]=c[X>>2]|2048;io(c[Y>>2]|0,c[ba>>2]|0)}else an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);if(c[(c[ca>>2]|0)+-48+4>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 226:{c[V>>2]=Tn(c[c[Y>>2]>>2]|0,0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0)|0;c[ba>>2]=zn(c[Y>>2]|0,75,c[(c[ca>>2]|0)+-48+4>>2]|0,0,0)|0;h=c[Y>>2]|0;if(c[ba>>2]|0){X=Mn(h,0,c[V>>2]|0,0,0,0,0,0,0,0)|0;c[(c[ba>>2]|0)+20>>2]=X;X=(c[ba>>2]|0)+4|0;c[X>>2]=c[X>>2]|2048;io(c[Y>>2]|0,c[ba>>2]|0)}else cn(c[h>>2]|0,c[V>>2]|0);if(c[(c[ca>>2]|0)+-32+4>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-48+4+4>>2];h=c[ca>>2]|0;if(c[(c[ca>>2]|0)+4>>2]|0)h=(c[(c[ca>>2]|0)+4>>2]|0)+(c[h+4+4>>2]|0)|0;else h=(c[(c[ca>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;c[ba+8>>2]=h;break}case 227:{X=zn(c[Y>>2]|0,20,0,0,0)|0;c[ba>>2]=X;c[p>>2]=X;if(c[p>>2]|0){c[(c[p>>2]|0)+20>>2]=c[(c[ca>>2]|0)+-16+4>>2];X=(c[p>>2]|0)+4|0;c[X>>2]=c[X>>2]|2048;io(c[Y>>2]|0,c[p>>2]|0)}else an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);c[ba+4>>2]=c[(c[ca>>2]|0)+-48+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 228:{c[ba>>2]=zn(c[Y>>2]|0,136,c[(c[ca>>2]|0)+-48+4>>2]|0,0,0)|0;if(c[ba>>2]|0){if(c[(c[ca>>2]|0)+-16+4>>2]|0)h=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[ca>>2]|0)+-32+4>>2]|0;c[(c[ba>>2]|0)+20>>2]=h;io(c[Y>>2]|0,c[ba>>2]|0)}else{$m(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0);dn(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)}c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 229:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[ba>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 230:{c[ba>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[ba>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 237:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 238:{c[ba>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 239:{Dn(c[Y>>2]|0,(c[ca>>2]|0)+-112+4|0,(c[ca>>2]|0)+-96+4|0,Tn(c[c[Y>>2]>>2]|0,0,(c[ca>>2]|0)+-64+4|0,0)|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-160+4>>2]|0,(c[ca>>2]|0)+-176+4|0,c[(c[ca>>2]|0)+4>>2]|0,0,c[(c[ca>>2]|0)+-128+4>>2]|0)|0;break}case 291:case 240:{c[ba>>2]=2;break}case 241:{c[ba>>2]=0;break}case 244:{c[q>>2]=bo(c[Y>>2]|0,0,(c[ca>>2]|0)+-16+4|0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[q>>2]|0)|0;On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0,1);Xn(c[Y>>2]|0,c[ba>>2]|0,18253);if(c[ba>>2]|0)a[(c[(c[ba>>2]|0)+4>>2]|0)+(((c[c[ba>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[ca>>2]|0)+4>>2];break}case 245:{c[n>>2]=bo(c[Y>>2]|0,0,(c[ca>>2]|0)+-16+4|0)|0;c[ba>>2]=Nn(c[Y>>2]|0,0,c[n>>2]|0)|0;On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0,1);Xn(c[Y>>2]|0,c[ba>>2]|0,18253);if(c[ba>>2]|0)a[(c[(c[ba>>2]|0)+4>>2]|0)+(((c[c[ba>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[ca>>2]|0)+4>>2];break}case 246:{c[ba>>2]=0;c[ba+4>>2]=0;break}case 248:{jo(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 250:case 249:{ko(c[Y>>2]|0);break}case 251:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0,0,0);break}case 252:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0,0);break}case 253:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-16+4|0,0);break}case 254:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0,1);break}case 255:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-16+4|0,1);break}case 264:{c[j>>2]=c[(c[ca>>2]|0)+-48+4>>2];c[j+4>>2]=(c[(c[ca>>2]|0)+4>>2]|0)-(c[(c[ca>>2]|0)+-48+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);mo(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,j);break}case 265:{no(c[Y>>2]|0,(c[ca>>2]|0)+-112+4|0,(c[ca>>2]|0)+-96+4|0,c[(c[ca>>2]|0)+-80+4>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-64+4+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-160+4>>2]|0,c[(c[ca>>2]|0)+-128+4>>2]|0);h=c[ca>>2]|0;if(!(c[(c[ca>>2]|0)+-96+4+4>>2]|0)){Y=h+-112+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break a}else{Y=h+-96+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break a}}case 269:case 266:{c[ba>>2]=35;break}case 267:{c[ba>>2]=31;break}case 268:{c[ba>>2]=49;break}case 271:case 270:{c[ba>>2]=d[(c[ca>>2]|0)+2>>0];c[ba+4>>2]=0;break}case 272:{c[ba>>2]=110;c[ba+4>>2]=c[(c[ca>>2]|0)+4>>2];break}case 296:case 275:{c[ba>>2]=0;break}case 297:case 276:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 277:{c[(c[(c[(c[ca>>2]|0)+-32+4>>2]|0)+36>>2]|0)+32>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[(c[(c[ca>>2]|0)+-32+4>>2]|0)+36>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[ba>>2]=c[(c[ca>>2]|0)+-32+4>>2];break}case 278:{c[(c[(c[ca>>2]|0)+-16+4>>2]|0)+36>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];break}case 280:{X=(c[ca>>2]|0)+4|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];sf(c[Y>>2]|0,18259,P);break}case 282:{sf(c[Y>>2]|0,18354,Q);break}case 283:{sf(c[Y>>2]|0,18438,R);break}case 284:{c[ba>>2]=oo(c[c[Y>>2]>>2]|0,(c[ca>>2]|0)+-64+4|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,a[(c[ca>>2]|0)+-80+4>>0]|0)|0;break}case 285:{c[ba>>2]=po(c[c[Y>>2]>>2]|0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,a[(c[ca>>2]|0)+-64+4>>0]|0)|0;break}case 286:{c[ba>>2]=qo(c[c[Y>>2]>>2]|0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 287:{c[ba>>2]=ro(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 288:{c[ba>>2]=zn(c[Y>>2]|0,57,0,0,0)|0;if(c[ba>>2]|0)a[(c[ba>>2]|0)+1>>0]=4;c[ba+4>>2]=c[(c[ca>>2]|0)+-48+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 289:{c[ba>>2]=zn(c[Y>>2]|0,57,0,0,(c[ca>>2]|0)+-16+4|0)|0;if(c[ba>>2]|0)a[(c[ba>>2]|0)+1>>0]=c[(c[ca>>2]|0)+-48+4>>2];c[ba+4>>2]=c[(c[ca>>2]|0)+-80+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 290:{c[ba>>2]=1;break}case 292:{c[ba>>2]=3;break}case 293:{so(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 294:{to(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 295:{uo(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 300:{vo(c[Y>>2]|0,0,0);break}case 301:{vo(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0);break}case 302:{wo(c[Y>>2]|0,0,0);break}case 303:{wo(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0);break}case 304:{xo(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,(c[ca>>2]|0)+4|0);break}case 305:{yo(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 306:{a[(c[c[Y>>2]>>2]|0)+248+2>>0]=0;zo(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 309:{Ao(c[Y>>2]|0,0);break}case 310:{Ao(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 311:{Bo(c[Y>>2]|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0);break}case 314:{Co(c[Y>>2]|0);break}case 318:case 317:case 316:{Do(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 322:{c[ba>>2]=0;break}case 324:case 323:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 325:{c[ba>>2]=Eo(c[Y>>2]|0,0,(c[ca>>2]|0)+-80+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;break}case 326:{c[ba>>2]=Eo(c[Y>>2]|0,c[(c[ca>>2]|0)+-112+4>>2]|0,(c[ca>>2]|0)+-80+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;break}default:{}}while(0);c[aa>>2]=d[18523+(c[_>>2]<<1)>>0];c[da>>2]=d[18523+(c[_>>2]<<1)+1>>0];_=c[Z>>2]|0;c[_>>2]=(c[_>>2]|0)-(c[da>>2]|0);c[$>>2]=Fo(e[(c[ca>>2]|0)+(0-(c[da>>2]|0)<<4)>>1]|0,c[aa>>2]&255)|0;if((c[$>>2]|0)>=642){Go(c[Z>>2]|0);i=ea;return}h=c[Z>>2]|0;if(c[da>>2]|0){c[h>>2]=(c[h>>2]|0)+1;c[ca>>2]=(c[ca>>2]|0)+(0-((c[da>>2]|0)-1)<<4);b[c[ca>>2]>>1]=c[$>>2];a[(c[ca>>2]|0)+2>>0]=c[aa>>2];da=(c[ca>>2]|0)+4|0;c[da>>2]=c[ba>>2];c[da+4>>2]=c[ba+4>>2];c[da+8>>2]=c[ba+8>>2];i=ea;return}else{ln(h,c[$>>2]|0,c[aa>>2]|0,ba);i=ea;return}}function nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;c[h>>2]=d;sf(a,18119,h);c[(c[f>>2]|0)+8>>2]=c[g>>2];i=e;return}function on(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+450>>0]=c[g>>2];c[(c[f>>2]|0)+440>>2]=0;i=e;return}function pn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;k=m+20|0;h=m+24|0;g=m+4|0;l=m;j=m+12|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[f>>2]|0)+64>>0]|0){i=m;return}if(a[(c[e>>2]|0)+18>>0]|0){i=m;return}if(c[(c[e>>2]|0)+64>>2]|0){i=m;return}c[k>>2]=Po(c[e>>2]|0)|0;do if(c[k>>2]|0){do{}while((rs(c[k>>2]|0,61)|0)!=0);Yo(c[k>>2]|0,24)|0;if(!(d[(c[f>>2]|0)+64>>0]|0)){if((c[(c[e>>2]|0)+332>>2]|0)==0?(c[(c[e>>2]|0)+316>>2]|0)==0:0)break;jp(c[k>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+332>>2]&1<>2]|0)!=0|0)!=0?(zf(c[k>>2]|0,c[h>>2]|0),wf(c[k>>2]|0,4,c[h>>2]|0,(c[(c[e>>2]|0)+328>>2]&1<>2]|0)!=0&1,c[(c[e>>2]|0)+336+(c[h>>2]<<2)>>2]|0,c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+140+5>>0]|0)==0):0)xf(c[k>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+452>>2]|0))break;c[l>>2]=Bp(c[f>>2]|0,c[(c[(c[e>>2]|0)+520>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;To(c[k>>2]|0,144,0,0,0,c[l>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+452>>2]=0;Ay(c[e>>2]|0);By(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+316>>2]|0){c[j>>2]=c[(c[e>>2]|0)+316>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;Fs(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Ro(c[k>>2]|0,16,0,1)|0}}while(0);if(((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+64>>2]|0)==0:0)?(a[(c[f>>2]|0)+64>>0]|0)==0:0){if((c[(c[e>>2]|0)+404>>2]|0)!=0?(c[(c[e>>2]|0)+68>>2]|0)==0:0)c[(c[e>>2]|0)+68>>2]=1;Ff(c[k>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;a[(c[e>>2]|0)+16>>0]=0}else c[(c[e>>2]|0)+12>>2]=1;c[(c[e>>2]|0)+68>>2]=0;c[(c[e>>2]|0)+72>>2]=0;c[(c[e>>2]|0)+76>>2]=0;c[(c[e>>2]|0)+440>>2]=0;c[(c[e>>2]|0)+332>>2]=0;i=m;return}function qn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Mo(c[d>>2]|0,22,29177,0,0)|0){i=j;return}c[h>>2]=Po(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Ro(c[h>>2]|0,4,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;zf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Ro(c[h>>2]|0,3,0,0)|0;i=j;return}function rn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Mo(c[b>>2]|0,22,29200,0,0)|0){i=e;return}c[d>>2]=Po(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Ro(c[d>>2]|0,3,1,0)|0;i=e;return}function sn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Mo(c[b>>2]|0,22,29191,0,0)|0){i=e;return}c[d>>2]=Po(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Ro(c[d>>2]|0,3,1,1)|0;i=e;return}function tn(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;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Ho(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=Po(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(Mo(c[e>>2]|0,32,c[3308+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){To(c[g>>2]|0,2,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Nd(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function un(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;J=i;i=i+112|0;t=J+16|0;G=J;o=J+8|0;w=J+68|0;K=J+28|0;m=J+20|0;n=J+40|0;x=J+64|0;y=J+56|0;z=J+36|0;s=J+32|0;H=J+24|0;A=J+44|0;F=J+48|0;I=J+52|0;B=J+60|0;p=J+72|0;u=J+76|0;v=J+80|0;r=J+84|0;q=J+88|0;C=J+92|0;D=J+96|0;E=J+100|0;c[w>>2]=e;c[K>>2]=f;c[m>>2]=g;c[n>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];c[I>>2]=qr(c[w>>2]|0,c[K>>2]|0,c[m>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[n>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[m>>2]|0)+4>>2]|0)>>>0>0:0):0){sf(c[w>>2]|0,29077,o);i=J;return}if(c[n>>2]|0)c[I>>2]=1;K=(c[w>>2]|0)+496|0;o=c[B>>2]|0;c[K>>2]=c[o>>2];c[K+4>>2]=c[o+4>>2];c[H>>2]=Ho(c[A>>2]|0,c[B>>2]|0)|0;if(!(c[H>>2]|0)){i=J;return}a:do if(!(zp(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+140+4>>0]|0)==1)c[n>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Mo(c[w>>2]|0,18,(c[n>>2]|0)==1?19269:19288,0,c[u>>2]|0)|0)){m=(c[n>>2]|0)!=0;do if(c[x>>2]|0)if(m){c[p>>2]=6;break}else{c[p>>2]=8;break}else if(m){c[p>>2]=4;break}else{c[p>>2]=2;break}while(0);if((c[y>>2]|0)==0?(Mo(c[w>>2]|0,c[p>>2]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+451>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(mr(c[w>>2]|0)|0)break a;c[s>>2]=cp(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[s>>2]|0)){if(!(yp(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;K=c[w>>2]|0;c[t>>2]=c[H>>2];sf(K,29142,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){ap(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];sf(m,29118,G);break a}}while(0);c[s>>2]=gf(c[A>>2]|0,76,0)|0;if(!(c[s>>2]|0)){a[(c[A>>2]|0)+64>>0]=1;c[(c[w>>2]|0)+12>>2]=7;K=(c[w>>2]|0)+64|0;c[K>>2]=(c[K>>2]|0)+1;break}c[c[s>>2]>>2]=c[H>>2];b[(c[s>>2]|0)+36>>1]=-1;c[(c[s>>2]|0)+68>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[s>>2]|0)+40>>1]=1;b[(c[s>>2]|0)+28>>1]=200;c[(c[w>>2]|0)+484>>2]=c[s>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(aH(c[H>>2]|0,20543)|0)==0:0)c[(c[(c[s>>2]|0)+68>>2]|0)+72>>2]=c[s>>2];if(a[(c[A>>2]|0)+140+5>>0]|0){i=J;return}K=Po(c[w>>2]|0)|0;c[F>>2]=K;if(!K){i=J;return}$o(c[w>>2]|0,0,c[I>>2]|0);if(c[y>>2]|0)Yo(c[F>>2]|0,144)|0;K=(c[w>>2]|0)+72|0;m=(c[K>>2]|0)+1|0;c[K>>2]=m;c[(c[w>>2]|0)+384>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+72|0;K=(c[m>>2]|0)+1|0;c[m>>2]=K;c[(c[w>>2]|0)+388>>2]=K;c[D>>2]=K;K=(c[w>>2]|0)+72|0;m=(c[K>>2]|0)+1|0;c[K>>2]=m;c[E>>2]=m;Uo(c[F>>2]|0,51,c[I>>2]|0,c[E>>2]|0,2)|0;zf(c[F>>2]|0,c[I>>2]|0);c[r>>2]=ur(c[F>>2]|0,45,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;Ro(c[F>>2]|0,25,c[q>>2]|0,c[E>>2]|0)|0;Uo(c[F>>2]|0,52,c[I>>2]|0,2,c[E>>2]|0)|0;Ro(c[F>>2]|0,25,d[(c[(c[(c[A>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[E>>2]|0)|0;Uo(c[F>>2]|0,52,c[I>>2]|0,5,c[E>>2]|0)|0;jp(c[F>>2]|0,c[r>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)Ro(m,25,0,c[D>>2]|0)|0;else{K=Ro(m,121,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+416>>2]=K}At(c[w>>2]|0,c[I>>2]|0);Ro(c[F>>2]|0,74,0,c[C>>2]|0)|0;Ro(c[F>>2]|0,28,0,c[E>>2]|0)|0;Uo(c[F>>2]|0,75,0,c[E>>2]|0,c[C>>2]|0)|0;xf(c[F>>2]|0,8);Yo(c[F>>2]|0,61)|0;i=J;return}}while(0);Nd(c[A>>2]|0,c[H>>2]|0);i=J;return}function vn(e,f,g,h,j){e=e|0;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,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;M=i;i=i+192|0;F=M+16|0;D=M+64|0;H=M+32|0;G=M;E=M+72|0;C=M+24|0;k=M+76|0;l=M+124|0;m=M+112|0;n=M+176|0;o=M+100|0;u=M+80|0;p=M+88|0;r=M+168|0;x=M+96|0;s=M+120|0;B=M+116|0;K=M+108|0;L=M+104|0;J=M+128|0;q=M+132|0;A=M+152|0;w=M+156|0;v=M+160|0;y=M+164|0;z=M+84|0;I=M+92|0;t=M+172|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[p>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=M;return}if(d[(c[p>>2]|0)+64>>0]|0){i=M;return}c[u>>2]=c[(c[k>>2]|0)+484>>2];if(!(c[u>>2]|0)){i=M;return}if(a[(c[p>>2]|0)+140+5>>0]|0)c[(c[u>>2]|0)+32>>2]=c[(c[p>>2]|0)+140>>2];do if(d[n>>0]&32){if(d[(c[u>>2]|0)+44>>0]&8){sf(c[k>>2]|0,28756,C);i=M;return}if(!(d[(c[u>>2]|0)+44>>0]&4)){C=c[k>>2]|0;c[E>>2]=c[c[u>>2]>>2];sf(C,28806,E);break}else{E=(c[u>>2]|0)+44|0;a[E>>0]=d[E>>0]|32;uy(c[k>>2]|0,c[u>>2]|0);break}}while(0);c[r>>2]=vf(c[p>>2]|0,c[(c[u>>2]|0)+68>>2]|0)|0;if(c[(c[u>>2]|0)+24>>2]|0)oy(c[k>>2]|0,c[u>>2]|0,4,0,c[(c[u>>2]|0)+24>>2]|0);vy(c[u>>2]|0);c[x>>2]=c[(c[u>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;qy(c[x>>2]|0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}if(!(a[(c[p>>2]|0)+140+5>>0]|0)){c[B>>2]=Po(c[k>>2]|0)|0;if(!(c[B>>2]|0)){i=M;return}ur(c[B>>2]|0,61,0)|0;if(!(c[(c[u>>2]|0)+12>>2]|0)){c[K>>2]=24336;c[L>>2]=28838}else{c[K>>2]=27745;c[L>>2]=28844}do if((c[o>>2]|0)!=0?(Uo(c[B>>2]|0,55,1,c[(c[k>>2]|0)+388>>2]|0,c[r>>2]|0)|0,xf(c[B>>2]|0,2),c[(c[k>>2]|0)+68>>2]=2,Ss(q,14,1),Kn(c[k>>2]|0,c[o>>2]|0,q)|0,ur(c[B>>2]|0,61,1)|0,(c[(c[k>>2]|0)+64>>2]|0)==0):0){c[A>>2]=Jp(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[A>>2]|0)){i=M;return}else{b[(c[u>>2]|0)+38>>1]=b[(c[A>>2]|0)+38>>1]|0;c[(c[u>>2]|0)+4>>2]=c[(c[A>>2]|0)+4>>2];b[(c[A>>2]|0)+38>>1]=0;c[(c[A>>2]|0)+4>>2]=0;Ld(c[p>>2]|0,c[A>>2]|0);break}}while(0);if(c[o>>2]|0)c[J>>2]=wy(c[p>>2]|0,c[u>>2]|0)|0;else{c[w>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+504|0:c[m>>2]|0;c[s>>2]=(c[c[w>>2]>>2]|0)-(c[(c[k>>2]|0)+496>>2]|0);if((a[c[c[w>>2]>>2]>>0]|0)!=59)c[s>>2]=(c[s>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0);E=c[p>>2]|0;h=c[s>>2]|0;C=c[(c[k>>2]|0)+496>>2]|0;c[G>>2]=c[L>>2];c[G+4>>2]=h;c[G+8>>2]=C;c[J>>2]=tf(E,28849,G)|0}L=c[k>>2]|0;A=(c[r>>2]|0)==1?19269:19288;j=c[K>>2]|0;h=c[c[u>>2]>>2]|0;C=c[c[u>>2]>>2]|0;E=c[(c[k>>2]|0)+388>>2]|0;G=c[J>>2]|0;K=c[(c[k>>2]|0)+384>>2]|0;c[H>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[H+4>>2]=A;c[H+8>>2]=j;c[H+12>>2]=h;c[H+16>>2]=C;c[H+20>>2]=E;c[H+24>>2]=G;c[H+28>>2]=K;Oo(L,28864,H);Nd(c[p>>2]|0,c[J>>2]|0);Qo(c[k>>2]|0,c[r>>2]|0);if((d[(c[u>>2]|0)+44>>0]&8|0)!=0?(c[v>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4),(c[(c[(c[v>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){L=c[k>>2]|0;c[D>>2]=c[c[v>>2]>>2];Oo(L,28951,D)}J=c[B>>2]|0;K=c[r>>2]|0;L=c[p>>2]|0;c[F>>2]=c[c[u>>2]>>2];So(J,K,tf(L,28993,F)|0)}if(!(a[(c[p>>2]|0)+140+5>>0]|0)){i=M;return}c[z>>2]=c[(c[u>>2]|0)+68>>2];c[y>>2]=ch((c[z>>2]|0)+8|0,c[c[u>>2]>>2]|0,c[u>>2]|0)|0;if(c[y>>2]|0){a[(c[p>>2]|0)+64>>0]=1;i=M;return}c[(c[k>>2]|0)+484>>2]=0;L=(c[p>>2]|0)+24|0;c[L>>2]=c[L>>2]|2;if(c[(c[u>>2]|0)+12>>2]|0){i=M;return}c[I>>2]=c[(c[k>>2]|0)+496>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[t>>2]=(c[c[l>>2]>>2]|0)-(c[I>>2]|0);L=13+(Dp(c[I>>2]|0,c[t>>2]|0)|0)|0;c[(c[u>>2]|0)+48>>2]=L;i=M;return}function wn(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;s=i;i=i+48|0;p=s+8|0;o=s;g=s+16|0;h=s+28|0;m=s+24|0;l=s+12|0;q=s+20|0;n=s+32|0;k=s+36|0;j=s+40|0;c[g>>2]=e;c[h>>2]=f;c[k>>2]=c[c[g>>2]>>2];e=c[(c[g>>2]|0)+484>>2]|0;c[m>>2]=e;if(!e){i=s;return}if(((b[(c[m>>2]|0)+38>>1]|0)+1|0)>(c[(c[k>>2]|0)+88+8>>2]|0)){r=c[g>>2]|0;c[o>>2]=c[c[m>>2]>>2];sf(r,28707,o);i=s;return}c[q>>2]=Ho(c[k>>2]|0,c[h>>2]|0)|0;if(!(c[q>>2]|0)){i=s;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[m>>2]|0)+38>>1]|0))break;if((d[13848+(d[c[q>>2]>>0]|0)>>0]|0)==(d[13848+(d[c[(c[(c[m>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2]>>0]|0)>>0]|0)?($b((c[q>>2]|0)+1|0,(c[(c[(c[m>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2]|0)+1|0)|0)==0:0){r=9;break}c[l>>2]=(c[l>>2]|0)+1}if((r|0)==9){r=c[g>>2]|0;c[p>>2]=c[q>>2];sf(r,28730,p);Nd(c[k>>2]|0,c[q>>2]|0);i=s;return}do if(!(b[(c[m>>2]|0)+38>>1]&7)){c[j>>2]=hm(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0,((b[(c[m>>2]|0)+38>>1]|0)+8|0)*24|0,0)|0;if(c[j>>2]|0){c[(c[m>>2]|0)+4>>2]=c[j>>2];break}Nd(c[k>>2]|0,c[q>>2]|0);i=s;return}while(0);c[n>>2]=(c[(c[m>>2]|0)+4>>2]|0)+((b[(c[m>>2]|0)+38>>1]|0)*24|0);r=c[n>>2]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[c[n>>2]>>2]=c[q>>2];a[(c[n>>2]|0)+21>>0]=65;a[(c[n>>2]|0)+22>>0]=1;r=(c[m>>2]|0)+38|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16;i=s;return}function xn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[f>>2]|0)+484>>2];if(!(c[h>>2]|0)){i=k;return}if((b[(c[h>>2]|0)+38>>1]|0)<1){i=k;return}c[j>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(((b[(c[h>>2]|0)+38>>1]|0)-1|0)*24|0);e=Ho(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+12>>2]=e;e=lp(c[(c[j>>2]|0)+12>>2]|0,(c[j>>2]|0)+22|0)|0;a[(c[j>>2]|0)+21>>0]=e;i=k;return}function yn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=c[(c[f>>2]|0)+484>>2];if(!(c[j>>2]|0)){e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;dn(e,l);i=m;return}c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(((b[(c[j>>2]|0)+38>>1]|0)-1|0)*24|0);if(ty(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+140+5>>0]|0)|0){dn(c[h>>2]|0,c[(c[k>>2]|0)+4>>2]|0);e=mq(c[h>>2]|0,c[c[g>>2]>>2]|0,1)|0;c[(c[k>>2]|0)+4>>2]=e;Nd(c[h>>2]|0,c[(c[k>>2]|0)+8>>2]|0);e=(c[(c[g>>2]|0)+8>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0;e=Io(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+8>>2]=e;e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;dn(e,l);i=m;return}else{e=c[f>>2]|0;c[l>>2]=c[c[k>>2]>>2];sf(e,28662,l);e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;dn(e,l);i=m;return}}function zn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;b=c[c[g>>2]>>2]|0;if((c[h>>2]|0)==72&(c[j>>2]|0)!=0&(c[k>>2]|0)!=0)c[m>>2]=_q(b,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=ar(b,c[h>>2]|0,c[l>>2]|0,1)|0;br(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){m=c[m>>2]|0;i=n;return m|0}Bq(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}function An(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;e=zn(c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function Bn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+484>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+38>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+(((b[(c[g>>2]|0)+38>>1]|0)-1|0)*24|0)+20>>0]=c[f>>2];i=h;return}function Cn(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;y=z+8|0;k=z;r=z+24|0;s=z+32|0;t=z+12|0;u=z+16|0;v=z+20|0;o=z+28|0;p=z+36|0;m=z+40|0;l=z+44|0;n=z+48|0;x=z+52|0;w=z+56|0;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[o>>2]=c[(c[r>>2]|0)+484>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[o>>2]|0)){x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}if(d[(c[r>>2]|0)+451>>0]|0){x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}if(d[(c[o>>2]|0)+44>>0]&4){x=c[r>>2]|0;c[k>>2]=c[c[o>>2]>>2];sf(x,28565,k);x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}k=(c[o>>2]|0)+44|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[s>>2]|0)){c[m>>2]=(b[(c[o>>2]|0)+38>>1]|0)-1;q=(c[(c[o>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+23|0;a[q>>0]=d[q>>0]|1;c[p>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2];c[n>>2]=1}else{c[n>>2]=c[c[s>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[o>>2]|0)+38>>1]|0))break;k=($b(c[(c[(c[s>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)+4>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)>>2]|0)|0)==0;h=c[m>>2]|0;if(k){q=12;break}c[m>>2]=h+1}if((q|0)==12){q=0;k=(c[(c[o>>2]|0)+4>>2]|0)+(h*24|0)+23|0;a[k>>0]=d[k>>0]|1;c[p>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(q=($b(c[p>>2]|0,20773)|0)==0,q&(c[v>>2]|0)==0):0){b[(c[o>>2]|0)+36>>1]=c[m>>2];a[(c[o>>2]|0)+45>>0]=c[t>>2];y=(c[o>>2]|0)+44|0;a[y>>0]=d[y>>0]|c[u>>2]<<3;if(!(c[s>>2]|0)){x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}a[(c[r>>2]|0)+448>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+12>>0]|0;x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}h=c[r>>2]|0;if(c[u>>2]|0){sf(h,28606,y);x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}c[x>>2]=c[h+8>>2];if(c[x>>2]|0){y=Yo(c[x>>2]|0,154)|0;c[(c[r>>2]|0)+420>>2]=y}c[w>>2]=Dn(c[r>>2]|0,0,0,0,c[s>>2]|0,c[t>>2]|0,0,0,c[v>>2]|0,0)|0;if((c[w>>2]|0)!=0?(y=(c[w>>2]|0)+55|0,a[y>>0]=a[y>>0]&-4|2,(c[x>>2]|0)!=0):0)jp(c[x>>2]|0,c[(c[r>>2]|0)+420>>2]|0);c[s>>2]=0;x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}function Dn(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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;xa=i;i=i+336|0;ca=xa+8|0;ba=xa+96|0;aa=xa+48|0;$=xa+40|0;_=xa+64|0;B=xa;Z=xa+24|0;A=xa+32|0;z=xa+80|0;y=xa+16|0;C=xa+72|0;x=xa+88|0;E=xa+132|0;q=xa+124|0;r=xa+120|0;qa=xa+276|0;ra=xa+260|0;ka=xa+220|0;F=xa+212|0;sa=xa+204|0;s=xa+196|0;G=xa+164|0;va=xa+156|0;na=xa+136|0;ua=xa+152|0;wa=xa+292|0;P=xa+300|0;H=xa+308|0;J=xa+316|0;w=xa+168|0;X=xa+192|0;ta=xa+272|0;Q=xa+296|0;la=xa+304|0;T=xa+256|0;S=xa+312|0;V=xa+216|0;N=xa+224|0;O=xa+228|0;ia=xa+200|0;U=xa+232|0;t=xa+236|0;v=xa+240|0;D=xa+160|0;u=xa+244|0;ga=xa+248|0;W=xa+252|0;ha=xa+148|0;M=xa+264|0;da=xa+268|0;R=xa+320|0;K=xa+324|0;ea=xa+328|0;fa=xa+144|0;ma=xa+280|0;Y=xa+128|0;ja=xa+140|0;I=xa+288|0;L=xa+208|0;oa=xa+284|0;c[E>>2]=f;c[q>>2]=g;c[r>>2]=h;c[qa>>2]=j;c[ra>>2]=k;c[ka>>2]=l;c[F>>2]=m;c[sa>>2]=n;c[s>>2]=o;c[G>>2]=p;c[va>>2]=0;c[na>>2]=0;c[ua>>2]=0;c[wa>>2]=0;c[ta>>2]=c[c[E>>2]>>2];c[T>>2]=0;c[N>>2]=0;c[ia>>2]=0;c[U>>2]=0;a:do if(((d[(c[ta>>2]|0)+64>>0]|0)==0?(d[(c[E>>2]|0)+451>>0]|0)==0:0)?0==(mr(c[E>>2]|0)|0):0){p=c[E>>2]|0;if(c[qa>>2]|0){c[la>>2]=qr(p,c[q>>2]|0,c[r>>2]|0,T)|0;if((c[la>>2]|0)<0)break;if(((a[(c[ta>>2]|0)+140+5>>0]|0)==0?(c[na>>2]=Ct(c[E>>2]|0,c[qa>>2]|0)|0,(c[na>>2]|0)!=0?(c[(c[r>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[na>>2]|0)+68>>2]|0)==(c[(c[(c[ta>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[la>>2]=1;Dt(w,c[E>>2]|0,c[la>>2]|0,18253,c[T>>2]|0);Et(w,c[qa>>2]|0)|0;c[na>>2]=Zo(c[E>>2]|0,0,(c[qa>>2]|0)+8|0)|0;if(!(c[na>>2]|0))break;if((c[la>>2]|0)==1?(c[(c[(c[ta>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+12>>2]|0)!=(c[(c[na>>2]|0)+68>>2]|0):0){pa=c[E>>2]|0;c[x>>2]=c[c[na>>2]>>2];sf(pa,28160,x);break}if(d[(c[na>>2]|0)+44>>0]&32)c[U>>2]=Lr(c[na>>2]|0)|0}else{c[na>>2]=c[p+484>>2];if(!(c[na>>2]|0))break;c[la>>2]=vf(c[ta>>2]|0,c[(c[na>>2]|0)+68>>2]|0)|0}c[Q>>2]=(c[(c[ta>>2]|0)+16>>2]|0)+(c[la>>2]<<4);if(((Ib(c[c[na>>2]>>2]|0,19570,7)|0)==0?(d[(c[ta>>2]|0)+140+5>>0]|0)==0:0)?(Ib((c[c[na>>2]>>2]|0)+7|0,28210,9)|0)!=0:0){pa=c[E>>2]|0;c[C>>2]=c[c[na>>2]>>2];sf(pa,28220,C);break}if(c[(c[na>>2]|0)+12>>2]|0){sf(c[E>>2]|0,28248,y);break}if(d[(c[na>>2]|0)+44>>0]&16){sf(c[E>>2]|0,28273,z);break}if(c[T>>2]|0){c[wa>>2]=Ho(c[ta>>2]|0,c[T>>2]|0)|0;if(!(c[wa>>2]|0))break;if(zp(c[E>>2]|0,c[wa>>2]|0)|0)break;if((a[(c[ta>>2]|0)+140+5>>0]|0)==0?(cp(c[ta>>2]|0,c[wa>>2]|0,0)|0)!=0:0){pa=c[E>>2]|0;c[A>>2]=c[wa>>2];sf(pa,28307,A);break}if(yp(c[ta>>2]|0,c[wa>>2]|0,c[c[Q>>2]>>2]|0)|0){l=c[E>>2]|0;if(c[G>>2]|0){ap(l,c[la>>2]|0);break}else{c[Z>>2]=c[wa>>2];sf(l,28341,Z);break}}}else{c[v>>2]=c[(c[na>>2]|0)+8>>2];c[t>>2]=1;while(1){if(!(c[v>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}Z=c[ta>>2]|0;G=c[t>>2]|0;c[B>>2]=c[c[na>>2]>>2];c[B+4>>2]=G;c[wa>>2]=tf(Z,28365,B)|0;if(!(c[wa>>2]|0))break}c[D>>2]=c[c[Q>>2]>>2];if((Mo(c[E>>2]|0,18,(c[la>>2]|0)==1?19269:19288,0,c[D>>2]|0)|0)==0?(c[H>>2]=1,c[H>>2]=(c[la>>2]|0)==1?3:1,(Mo(c[E>>2]|0,c[H>>2]|0,c[wa>>2]|0,c[c[na>>2]>>2]|0,c[D>>2]|0)|0)==0):0){if(!(c[ra>>2]|0)){c[ra>>2]=Nn(c[E>>2]|0,0,0)|0;if(!(c[ra>>2]|0))break;Z=ef(c[c[E>>2]>>2]|0,c[(c[(c[na>>2]|0)+4>>2]|0)+(((b[(c[na>>2]|0)+38>>1]|0)-1|0)*24|0)>>2]|0)|0;c[(c[(c[ra>>2]|0)+4>>2]|0)+4>>2]=Z;a[(c[(c[ra>>2]|0)+4>>2]|0)+12>>0]=c[s>>2]}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[c[ra>>2]>>2]|0))break;c[u>>2]=c[(c[(c[ra>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)>>2];if(c[u>>2]|0){Z=1+(Ed(c[(c[u>>2]|0)+8>>2]|0)|0)|0;c[N>>2]=(c[N>>2]|0)+Z}c[H>>2]=(c[H>>2]|0)+1}c[P>>2]=Ed(c[wa>>2]|0)|0;if(c[U>>2]|0)p=e[(c[U>>2]|0)+50>>1]|0;else p=1;c[O>>2]=p;c[ua>>2]=ov(c[ta>>2]|0,(c[c[ra>>2]>>2]|0)+(c[O>>2]|0)&65535,(c[P>>2]|0)+(c[N>>2]|0)+1|0,ia)|0;if(!(a[(c[ta>>2]|0)+64>>0]|0)){c[c[ua>>2]>>2]=c[ia>>2];c[ia>>2]=(c[ia>>2]|0)+((c[P>>2]|0)+1);EH(c[c[ua>>2]>>2]|0,c[wa>>2]|0,(c[P>>2]|0)+1|0)|0;c[(c[ua>>2]|0)+12>>2]=c[na>>2];a[(c[ua>>2]|0)+54>>0]=c[ka>>2];Z=(c[ua>>2]|0)+55|0;a[Z>>0]=a[Z>>0]&-9|((c[ka>>2]|0)!=0&1)<<3&255;Z=(c[ua>>2]|0)+55|0;a[Z>>0]=a[Z>>0]&-4|((c[T>>2]|0)!=0?0:1)&3;c[(c[ua>>2]|0)+24>>2]=c[(c[(c[ta>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+12>>2];b[(c[ua>>2]|0)+50>>1]=c[c[ra>>2]>>2];if(c[sa>>2]|0){oy(c[E>>2]|0,c[na>>2]|0,16,c[sa>>2]|0,0);c[(c[ua>>2]|0)+36>>2]=c[sa>>2];c[sa>>2]=0}if((d[(c[(c[Q>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[X>>2]=-1;else c[X>>2]=0;c[H>>2]=0;c[S>>2]=c[(c[ra>>2]|0)+4>>2];while(1){if((c[H>>2]|0)>=(c[c[ra>>2]>>2]|0))break;c[ga>>2]=c[(c[S>>2]|0)+4>>2];c[J>>2]=0;c[V>>2]=c[(c[na>>2]|0)+4>>2];while(1){if((c[J>>2]|0)>=(b[(c[na>>2]|0)+38>>1]|0))break;if(!($b(c[ga>>2]|0,c[c[V>>2]>>2]|0)|0))break;c[J>>2]=(c[J>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+24}if((c[J>>2]|0)>=(b[(c[na>>2]|0)+38>>1]|0)){pa=65;break}b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[H>>2]<<1)>>1]=c[J>>2];if(c[c[S>>2]>>2]|0){c[ha>>2]=c[(c[c[S>>2]>>2]|0)+8>>2];c[M>>2]=(Ed(c[ha>>2]|0)|0)+1;EH(c[ia>>2]|0,c[ha>>2]|0,c[M>>2]|0)|0;c[ha>>2]=c[ia>>2];c[ia>>2]=(c[ia>>2]|0)+(c[M>>2]|0);c[N>>2]=(c[N>>2]|0)-(c[M>>2]|0)}else{Z=c[(c[(c[na>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0)+16>>2]|0;c[ha>>2]=Z;c[ha>>2]=(c[ha>>2]|0)!=0?Z:15963}if((a[(c[ta>>2]|0)+140+5>>0]|0)==0?(Ar(c[E>>2]|0,c[ha>>2]|0)|0)==0:0)break a;c[(c[(c[ua>>2]|0)+32>>2]|0)+(c[H>>2]<<2)>>2]=c[ha>>2];c[W>>2]=d[(c[S>>2]|0)+12>>0]&c[X>>2];a[(c[(c[ua>>2]|0)+28>>2]|0)+(c[H>>2]|0)>>0]=c[W>>2];if(!(d[(c[(c[na>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0)+20>>0]|0)){Z=(c[ua>>2]|0)+55|0;a[Z>>0]=a[Z>>0]&-9}c[H>>2]=(c[H>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+20}if((pa|0)==65){pa=c[E>>2]|0;oa=c[ga>>2]|0;c[_>>2]=c[c[na>>2]>>2];c[_+4>>2]=oa;sf(pa,28388,_);a[(c[E>>2]|0)+17>>0]=1;break}b:do if(c[U>>2]|0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break b;c[da>>2]=b[(c[(c[U>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1];if(py(c[(c[ua>>2]|0)+4>>2]|0,e[(c[ua>>2]|0)+50>>1]|0,c[da>>2]|0)|0){ia=(c[ua>>2]|0)+52|0;b[ia>>1]=(b[ia>>1]|0)+-1<<16>>16}else{b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[H>>2]<<1)>>1]=c[da>>2];c[(c[(c[ua>>2]|0)+32>>2]|0)+(c[H>>2]<<2)>>2]=c[(c[(c[U>>2]|0)+32>>2]|0)+(c[J>>2]<<2)>>2];a[(c[(c[ua>>2]|0)+28>>2]|0)+(c[H>>2]|0)>>0]=a[(c[(c[U>>2]|0)+28>>2]|0)+(c[J>>2]|0)>>0]|0;c[H>>2]=(c[H>>2]|0)+1}c[J>>2]=(c[J>>2]|0)+1}}else{b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[H>>2]<<1)>>1]=-1;c[(c[(c[ua>>2]|0)+32>>2]|0)+(c[H>>2]<<2)>>2]=15963}while(0);Vr(c[ua>>2]|0);if(!(c[(c[E>>2]|0)+484>>2]|0))qy(c[ua>>2]|0);c:do if((c[na>>2]|0)==(c[(c[E>>2]|0)+484>>2]|0)){c[R>>2]=c[(c[na>>2]|0)+8>>2];while(1){if(!(c[R>>2]|0))break c;if((e[(c[R>>2]|0)+50>>1]|0)==(e[(c[ua>>2]|0)+50>>1]|0)){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(e[(c[R>>2]|0)+50>>1]|0))break;if((b[(c[(c[R>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]|0)!=(b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]|0))break;c[ea>>2]=c[(c[(c[R>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];c[fa>>2]=c[(c[(c[ua>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];if((c[ea>>2]|0)!=(c[fa>>2]|0)?($b(c[ea>>2]|0,c[fa>>2]|0)|0)!=0:0)break;c[K>>2]=(c[K>>2]|0)+1}if((c[K>>2]|0)==(e[(c[R>>2]|0)+50>>1]|0))break}c[R>>2]=c[(c[R>>2]|0)+20>>2]}if((d[(c[R>>2]|0)+54>>0]|0)==(d[(c[ua>>2]|0)+54>>0]|0))break a;do if((d[(c[R>>2]|0)+54>>0]|0)!=10){if((d[(c[ua>>2]|0)+54>>0]|0)==10)break;pa=c[E>>2]|0;c[$>>2]=0;sf(pa,28420,$)}while(0);if((d[(c[R>>2]|0)+54>>0]|0)!=10)break a;a[(c[R>>2]|0)+54>>0]=a[(c[ua>>2]|0)+54>>0]|0;break a}while(0);do if(a[(c[ta>>2]|0)+140+5>>0]|0){c[ma>>2]=ch((c[(c[ua>>2]|0)+24>>2]|0)+24|0,c[c[ua>>2]>>2]|0,c[ua>>2]|0)|0;p=c[ta>>2]|0;if(c[ma>>2]|0){a[p+64>>0]=1;break a}ma=p+24|0;c[ma>>2]=c[ma>>2]|2;if(!(c[qa>>2]|0))break;c[(c[ua>>2]|0)+44>>2]=c[(c[ta>>2]|0)+140>>2]}else{if(c[(c[E>>2]|0)+64>>2]|0)break;if(!((c[qa>>2]|0)!=0?1:(d[(c[na>>2]|0)+44>>0]&32|0)==0))break;ia=(c[E>>2]|0)+72|0;ma=(c[ia>>2]|0)+1|0;c[ia>>2]=ma;c[I>>2]=ma;c[Y>>2]=Po(c[E>>2]|0)|0;if(!(c[Y>>2]|0))break a;$o(c[E>>2]|0,1,c[la>>2]|0);Ro(c[Y>>2]|0,120,c[la>>2]|0,c[I>>2]|0)|0;if(c[F>>2]|0){c[L>>2]=(c[(c[E>>2]|0)+504>>2]|0)-(c[c[T>>2]>>2]|0)+(c[(c[E>>2]|0)+504+4>>2]|0);if((a[(c[c[T>>2]>>2]|0)+((c[L>>2]|0)-1)>>0]|0)==59)c[L>>2]=(c[L>>2]|0)+-1;ma=c[ta>>2]|0;ha=c[L>>2]|0;ia=c[c[T>>2]>>2]|0;c[aa>>2]=(c[ka>>2]|0)==0?14425:28462;c[aa+4>>2]=ha;c[aa+8>>2]=ia;c[ja>>2]=tf(ma,28470,aa)|0}else c[ja>>2]=0;ma=c[E>>2]|0;ea=(c[la>>2]|0)==1?19269:19288;fa=c[c[ua>>2]>>2]|0;ga=c[c[na>>2]>>2]|0;ha=c[I>>2]|0;ia=c[ja>>2]|0;c[ba>>2]=c[(c[(c[ta>>2]|0)+16>>2]|0)+(c[la>>2]<<4)>>2];c[ba+4>>2]=ea;c[ba+8>>2]=fa;c[ba+12>>2]=ga;c[ba+16>>2]=ha;c[ba+20>>2]=ia;Oo(ma,28490,ba);Nd(c[ta>>2]|0,c[ja>>2]|0);if(!(c[qa>>2]|0))break;as(c[E>>2]|0,c[ua>>2]|0,c[I>>2]|0);Qo(c[E>>2]|0,c[la>>2]|0);ja=c[Y>>2]|0;la=c[la>>2]|0;ma=c[ta>>2]|0;c[ca>>2]=c[c[ua>>2]>>2];So(ja,la,tf(ma,28538,ca)|0);ur(c[Y>>2]|0,142,0)|0}while(0);if(!((c[qa>>2]|0)==0?1:(d[(c[ta>>2]|0)+140+5>>0]|0)!=0))break;do if((c[ka>>2]|0)!=5)pa=121;else{if(!(c[(c[na>>2]|0)+8>>2]|0)){pa=121;break}if((d[(c[(c[na>>2]|0)+8>>2]|0)+54>>0]|0)==5){pa=121;break}c[oa>>2]=c[(c[na>>2]|0)+8>>2];while(1){if(c[(c[oa>>2]|0)+20>>2]|0)p=(d[(c[(c[oa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else p=0;l=c[(c[oa>>2]|0)+20>>2]|0;if(!p)break;c[oa>>2]=l}c[(c[ua>>2]|0)+20>>2]=l;c[(c[oa>>2]|0)+20>>2]=c[ua>>2]}while(0);if((pa|0)==121){c[(c[ua>>2]|0)+20>>2]=c[(c[na>>2]|0)+8>>2];c[(c[na>>2]|0)+8>>2]=c[ua>>2]}c[va>>2]=c[ua>>2];c[ua>>2]=0}}}while(0);if(!(c[ua>>2]|0)){pa=c[ta>>2]|0;ua=c[sa>>2]|0;dn(pa,ua);ua=c[ta>>2]|0;sa=c[ra>>2]|0;$m(ua,sa);sa=c[ta>>2]|0;ua=c[qa>>2]|0;cn(sa,ua);ua=c[ta>>2]|0;wa=c[wa>>2]|0;Nd(ua,wa);wa=c[va>>2]|0;i=xa;return wa|0}ry(c[ta>>2]|0,c[ua>>2]|0);pa=c[ta>>2]|0;ua=c[sa>>2]|0;dn(pa,ua);ua=c[ta>>2]|0;sa=c[ra>>2]|0;$m(ua,sa);sa=c[ta>>2]|0;ua=c[qa>>2]|0;cn(sa,ua);ua=c[ta>>2]|0;wa=c[wa>>2]|0;Nd(ua,wa);wa=c[va>>2]|0;i=xa;return wa|0}function En(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+484>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+451>>0]|0)==0:0)?(pg(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+140+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Nn(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+320+4>>2]|0)){i=k;return}On(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+320|0,1);i=k;return}dn(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Fn(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E;o=E+16|0;n=E+8|0;p=E+20|0;q=E+48|0;k=E+28|0;r=E+24|0;s=E+44|0;t=E+40|0;z=E+32|0;A=E+36|0;y=E+52|0;m=E+56|0;u=E+60|0;x=E+64|0;C=E+68|0;l=E+72|0;v=E+76|0;w=E+80|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+484>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+451>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+38>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2];c[n+4>>2]=C;sf(D,27957,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){sf(c[p>>2]|0,28020,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Ed(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=gf(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];EH(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Jo(c[C>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+38>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+38>>1]|0))break;o=($b(c[(c[(c[y>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+38>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];sf(D,28114,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Ed(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];EH(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=ch((c[(c[y>>2]|0)+68>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){a[(c[t>>2]|0)+64>>0]=1;break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Nd(c[t>>2]|0,c[z>>2]|0);$m(c[t>>2]|0,c[q>>2]|0);$m(c[t>>2]|0,c[r>>2]|0);i=E;return}function Gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+484>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Hn(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;j=m+20|0;h=m+24|0;l=m+4|0;g=m;k=m+12|0;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+484>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+38>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Ho(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Ar(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Nd(e,c[l>>2]|0);i=m;return}Nd(e,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function In(b,e,f,g){b=b|0;e=e|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;x=i;i=i+80|0;t=x;s=x+16|0;r=x+8|0;h=x+20|0;j=x+40|0;k=x+28|0;l=x+24|0;p=x+36|0;q=x+32|0;n=x+44|0;o=x+48|0;m=x+52|0;w=x+56|0;v=x+60|0;u=x+64|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if(!(a[(c[n>>2]|0)+64>>0]|0)){if(c[l>>2]|0){b=(c[n>>2]|0)+67|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=Zo(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+67|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;xt(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=vf(c[n>>2]|0,c[(c[p>>2]|0)+68>>2]|0)|0;if((d[(c[p>>2]|0)+44>>0]&16|0)!=0?(Ap(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?19269:19288;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(Mo(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+44>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Bp(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((Mo(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(Mo(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((Ib(c[c[p>>2]>>2]|0,19570,7)|0)==0?(Ib(c[c[p>>2]>>2]|0,27750,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];sf(w,27762,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];sf(w,27790,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];sf(w,27824,t);break}c[q>>2]=Po(c[h>>2]|0)|0;if(c[q>>2]|0){$o(c[h>>2]|0,1,c[o>>2]|0);hu(c[h>>2]|0,c[o>>2]|0,22335,c[c[p>>2]>>2]|0);jy(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);ky(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);cn(c[n>>2]|0,c[j>>2]|0);i=x;return}function Jn(b,e,f,g,h,j,k){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;w=A+16|0;s=A+24|0;l=A+4|0;m=A+28|0;t=A+8|0;n=A+12|0;o=A+20|0;v=A+32|0;x=A+36|0;z=A+40|0;y=A+48|0;r=A+56|0;q=A+80|0;p=A+84|0;u=A+88|0;c[w>>2]=b;c[s>>2]=e;c[l>>2]=f;c[m>>2]=g;c[t>>2]=h;c[n>>2]=j;c[o>>2]=k;c[q>>2]=0;c[u>>2]=c[c[w>>2]>>2];j=c[w>>2]|0;if((c[(c[w>>2]|0)+440>>2]|0)>0){sf(j,27709,A);an(c[u>>2]|0,c[t>>2]|0);i=A;return}un(j,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,1,0,c[o>>2]|0);c[v>>2]=c[(c[w>>2]|0)+484>>2];if((c[v>>2]|0)!=0?(c[(c[w>>2]|0)+64>>2]|0)==0:0){qr(c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,q)|0;c[p>>2]=vf(c[u>>2]|0,c[(c[v>>2]|0)+68>>2]|0)|0;Dt(r,c[w>>2]|0,c[p>>2]|0,27745,c[q>>2]|0);r=(Ft(r,c[t>>2]|0)|0)!=0;j=c[u>>2]|0;k=c[t>>2]|0;if(r){an(j,k);i=A;return}r=Hp(j,k,1)|0;c[(c[v>>2]|0)+12>>2]=r;an(c[u>>2]|0,c[t>>2]|0);if(a[(c[u>>2]|0)+64>>0]|0){i=A;return}if(!(a[(c[u>>2]|0)+140+5>>0]|0))Ap(c[w>>2]|0,c[v>>2]|0)|0;v=(c[w>>2]|0)+504|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];if((a[c[y>>2]>>0]|0)!=0?(a[c[y>>2]>>0]|0)!=59:0)c[y>>2]=(c[y>>2]|0)+(c[y+4>>2]|0);c[y+4>>2]=0;c[x>>2]=(c[y>>2]|0)-(c[c[s>>2]>>2]|0);c[z>>2]=c[c[s>>2]>>2];while(1){if((c[x>>2]|0)>0)k=(d[14426+(d[(c[z>>2]|0)+((c[x>>2]|0)-1)>>0]|0)>>0]&1|0)!=0;else k=0;j=c[x>>2]|0;if(!k)break;c[x>>2]=j+-1}c[y>>2]=(c[z>>2]|0)+(j-1);c[y+4>>2]=1;vn(c[w>>2]|0,0,y,0,0);i=A;return}an(c[u>>2]|0,c[t>>2]|0);i=A;return}function Kn(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,A=0,B=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,ya=0,za=0;za=i;i=i+400|0;J=za+224|0;K=za+216|0;L=za+212|0;M=za+328|0;V=za+336|0;aa=za+376|0;la=za+208|0;ya=za+24|0;l=za+28|0;ga=za+32|0;ka=za+36|0;H=za+40|0;ha=za+44|0;ia=za+48|0;oa=za+52|0;ua=za+56|0;va=za+68|0;ta=za+96|0;Z=za+144|0;T=za+148|0;_=za+152|0;o=za+156|0;k=za+160|0;q=za+180|0;m=za+184|0;j=za+188|0;s=za+192|0;n=za+196|0;r=za+316|0;p=za+324|0;t=za+392|0;I=za+344|0;W=za+380|0;Y=za+384|0;$=za+388|0;X=za+228|0;U=za+232|0;N=za+236|0;xa=za+240|0;wa=za+244|0;ea=za+248|0;u=za+252|0;v=za+256|0;ja=za+260|0;ba=za+264|0;O=za+268|0;qa=za+272|0;Q=za+276|0;S=za+280|0;R=za+284|0;P=za+288|0;sa=za+292|0;pa=za+296|0;ra=za+300|0;ca=za+304|0;da=za+20|0;fa=za+16|0;ma=za+308|0;na=za+200|0;B=za+312|0;G=za+12|0;y=za;x=za+204|0;D=za+320|0;E=za+8|0;A=za+4|0;z=za+220|0;F=za+332|0;w=za+394|0;c[K>>2]=f;c[L>>2]=g;c[M>>2]=h;c[oa>>2]=1;c[_>>2]=c[(c[K>>2]|0)+464>>2];g=(c[K>>2]|0)+468|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[K>>2]|0)+464>>2]=f;c[T>>2]=c[c[K>>2]>>2];if(((c[L>>2]|0)!=0?(d[(c[T>>2]|0)+64>>0]|0)==0:0)?(c[(c[K>>2]|0)+64>>2]|0)==0:0){if(Mo(c[K>>2]|0,21,0,0,0)|0){c[J>>2]=1;ya=c[J>>2]|0;i=za;return ya|0}h=ta;g=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));if((d[c[M>>2]>>0]|0)<=8){$m(c[T>>2]|0,c[(c[L>>2]|0)+48>>2]|0);c[(c[L>>2]|0)+48>>2]=0;f=(c[L>>2]|0)+6|0;b[f>>1]=e[f>>1]&-2}Kp(c[K>>2]|0,c[L>>2]|0,0);c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;c[va+20>>2]=0;c[va+24>>2]=0;c[va>>2]=c[(c[L>>2]|0)+48>>2];c[ka>>2]=c[(c[L>>2]|0)+32>>2];c[ga>>2]=c[c[L>>2]>>2];a:do if((((c[(c[K>>2]|0)+64>>2]|0)==0?(d[(c[T>>2]|0)+64>>0]|0)==0:0)?(c[l>>2]=(e[(c[L>>2]|0)+6>>1]&4|0)!=0&1,c[ya>>2]=Po(c[K>>2]|0)|0,(c[ya>>2]|0)!=0):0)?(tx(c[K>>2]|0,c[M>>2]|0,c[c[ga>>2]>>2]|0)|0)==0:0){c[V>>2]=0;while(1){if(c[(c[L>>2]|0)+52>>2]|0)break;if((c[V>>2]|0)>=(c[c[ka>>2]>>2]|0))break;c[o>>2]=(c[ka>>2]|0)+8+((c[V>>2]|0)*72|0);c[q>>2]=c[(c[o>>2]|0)+20>>2];do if(c[q>>2]|0){if(c[(c[o>>2]|0)+24>>2]|0){if((d[(c[o>>2]|0)+37>>0]|0)>>>2&1)break;Ro(c[ya>>2]|0,17,c[(c[o>>2]|0)+28>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;break}g=ux(c[L>>2]|0)|0;f=(c[K>>2]|0)+460|0;c[f>>2]=(c[f>>2]|0)+g;c[m>>2]=(e[(c[q>>2]|0)+6>>1]&4|0)!=0&1;b:do if(vx(c[K>>2]|0,c[L>>2]|0,c[V>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[L>>2]|0)+6|0;b[f>>1]=e[f>>1]|4}c[V>>2]=-1}else{do if((c[c[ka>>2]>>2]|0)==1){if(e[(c[T>>2]|0)+60>>1]&256)break;c[j>>2]=(yr(c[ya>>2]|0)|0)+1;g=(c[K>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[o>>2]|0)+28>>2]=f;Uo(c[ya>>2]|0,20,c[(c[o>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=c[j>>2];Ss(k,13,c[(c[o>>2]|0)+28>>2]|0);a[(c[o>>2]|0)+38>>0]=c[(c[K>>2]|0)+468>>2];Kn(c[K>>2]|0,c[q>>2]|0,k)|0;f=(c[q>>2]|0)+24|0;f=Qp(c[f>>2]|0,c[f+4>>2]|0)|0;b[(c[(c[o>>2]|0)+16>>2]|0)+28>>1]=f;f=(c[o>>2]|0)+37|0;a[f>>0]=a[f>>0]&-5|4;c[(c[o>>2]|0)+32>>2]=c[k+8>>2];ur(c[ya>>2]|0,21,c[(c[o>>2]|0)+28>>2]|0)|0;jp(c[ya>>2]|0,(c[j>>2]|0)-1|0);wx(c[K>>2]|0);break b}while(0);c[n>>2]=0;g=(c[K>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[o>>2]|0)+28>>2]=f;c[s>>2]=Ro(c[ya>>2]|0,25,0,c[(c[o>>2]|0)+28>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=(c[s>>2]|0)+1;if(!((d[(c[o>>2]|0)+37>>0]|0)>>>1&1))c[n>>2]=Rs(c[K>>2]|0)|0;Ss(k,12,c[(c[o>>2]|0)+40>>2]|0);a[(c[o>>2]|0)+38>>0]=c[(c[K>>2]|0)+468>>2];Kn(c[K>>2]|0,c[q>>2]|0,k)|0;f=(c[q>>2]|0)+24|0;f=Qp(c[f>>2]|0,c[f+4>>2]|0)|0;b[(c[(c[o>>2]|0)+16>>2]|0)+28>>1]=f;if(c[n>>2]|0)jp(c[ya>>2]|0,c[n>>2]|0);c[r>>2]=ur(c[ya>>2]|0,18,c[(c[o>>2]|0)+28>>2]|0)|0;Af(c[ya>>2]|0,c[s>>2]|0,c[r>>2]|0);wx(c[K>>2]|0)}while(0);if(a[(c[T>>2]|0)+64>>0]|0)break a;g=ux(c[L>>2]|0)|0;f=(c[K>>2]|0)+460|0;c[f>>2]=(c[f>>2]|0)-g;c[ka>>2]=c[(c[L>>2]|0)+32>>2];if((d[c[M>>2]>>0]|0)>8)c[va>>2]=c[(c[L>>2]|0)+48>>2]}while(0);c[V>>2]=(c[V>>2]|0)+1}c[ga>>2]=c[c[L>>2]>>2];c[H>>2]=c[(c[L>>2]|0)+36>>2];c[ha>>2]=c[(c[L>>2]|0)+40>>2];c[ia>>2]=c[(c[L>>2]|0)+44>>2];a[ua>>0]=(e[(c[L>>2]|0)+6>>1]&1|0)!=0;if(c[(c[L>>2]|0)+52>>2]|0){c[oa>>2]=xx(c[K>>2]|0,c[L>>2]|0,c[M>>2]|0)|0;c[(c[K>>2]|0)+464>>2]=c[_>>2];c[J>>2]=c[oa>>2];ya=c[J>>2]|0;i=za;return ya|0}if((e[(c[L>>2]|0)+6>>1]&5|0)==1?(pq(c[va>>2]|0,c[c[L>>2]>>2]|0,-1)|0)==0:0){s=(c[L>>2]|0)+6|0;b[s>>1]=e[s>>1]&-2;s=uq(c[T>>2]|0,c[c[L>>2]>>2]|0,0)|0;c[(c[L>>2]|0)+40>>2]=s;c[ha>>2]=c[(c[L>>2]|0)+40>>2];c[va>>2]=0}if(c[va>>2]|0){c[p>>2]=yx(c[K>>2]|0,c[va>>2]|0,0,0)|0;r=(c[K>>2]|0)+68|0;s=c[r>>2]|0;c[r>>2]=s+1;c[va+8>>2]=s;c[va+20>>2]=To(c[ya>>2]|0,57,c[va+8>>2]|0,(c[c[va>>2]>>2]|0)+1+(c[c[ga>>2]>>2]|0)|0,0,c[p>>2]|0,-6)|0}else c[va+20>>2]=-1;if((d[c[M>>2]>>0]|0)==12)Ro(c[ya>>2]|0,57,c[(c[M>>2]|0)+4>>2]|0,c[c[ga>>2]>>2]|0)|0;c[Z>>2]=zr(c[ya>>2]|0)|0;s=(c[L>>2]|0)+24|0;c[s>>2]=-1;c[s+4>>2]=2147483647;zx(c[K>>2]|0,c[L>>2]|0,c[Z>>2]|0);if((c[(c[L>>2]|0)+8>>2]|0)==0?(c[va+20>>2]|0)>=0:0){a[(Ws(c[ya>>2]|0,c[va+20>>2]|0)|0)>>0]=58;s=va+24|0;a[s>>0]=d[s>>0]|1}if(e[(c[L>>2]|0)+6>>1]&1){s=(c[K>>2]|0)+68|0;r=c[s>>2]|0;c[s>>2]=r+1;c[ua+4>>2]=r;r=c[ya>>2]|0;s=c[ua+4>>2]|0;c[ua+8>>2]=To(r,57,s,0,0,yx(c[K>>2]|0,c[c[L>>2]>>2]|0,0,0)|0,-6)|0;xf(c[ya>>2]|0,8);a[ua+1>>0]=3}else a[ua+1>>0]=0;if((c[l>>2]|0)==0&(c[ha>>2]|0)==0){b[t>>1]=(d[ua>>0]|0)!=0?1024:0;c[la>>2]=Gu(c[K>>2]|0,c[ka>>2]|0,c[H>>2]|0,c[va>>2]|0,c[c[L>>2]>>2]|0,b[t>>1]|0,0)|0;if(!(c[la>>2]|0))break;wa=Ax(c[la>>2]|0)|0;ra=C;xa=(c[L>>2]|0)+24|0;sa=c[xa+4>>2]|0;if(ra>>>0>>0|((ra|0)==(sa|0)?wa>>>0<(c[xa>>2]|0)>>>0:0)){wa=Ax(c[la>>2]|0)|0;xa=(c[L>>2]|0)+24|0;c[xa>>2]=wa;c[xa+4>>2]=C}do if(d[ua>>0]|0){if(!(Bx(c[la>>2]|0)|0))break;a[ua+1>>0]=Bx(c[la>>2]|0)|0}while(0);do if(c[va>>2]|0){c[va+4>>2]=Cx(c[la>>2]|0)|0;if((c[va+4>>2]|0)!=(c[c[va>>2]>>2]|0))break;c[va>>2]=0}while(0);do if((c[va+20>>2]|0)>=0){if(c[va>>2]|0)break;Ef(c[ya>>2]|0,c[va+20>>2]|0)}while(0);qa=c[K>>2]|0;ra=c[L>>2]|0;sa=c[ga>>2]|0;wa=c[M>>2]|0;xa=Dx(c[la>>2]|0)|0;Fx(qa,ra,sa,-1,va,ua,wa,xa,Ex(c[la>>2]|0)|0);Hu(c[la>>2]|0)}else{c[xa>>2]=0;c[wa>>2]=0;c[ea>>2]=0;h=c[L>>2]|0;do if(c[ha>>2]|0){c[u>>2]=c[c[h>>2]>>2];c[v>>2]=c[(c[c[L>>2]>>2]|0)+4>>2];while(1){if((c[u>>2]|0)<=0)break;b[(c[v>>2]|0)+16+2>>1]=0;c[u>>2]=(c[u>>2]|0)+-1;c[v>>2]=(c[v>>2]|0)+20}c[u>>2]=c[c[ha>>2]>>2];c[v>>2]=c[(c[ha>>2]|0)+4>>2];while(1){if((c[u>>2]|0)<=0)break;b[(c[v>>2]|0)+16+2>>1]=0;c[u>>2]=(c[u>>2]|0)+-1;c[v>>2]=(c[v>>2]|0)+20}v=(c[L>>2]|0)+24|0;u=c[v+4>>2]|0;if(!(u>>>0>0|(u|0)==0&(c[v>>2]|0)>>>0>100))break;v=(c[L>>2]|0)+24|0;c[v>>2]=100;c[v+4>>2]=0}else{v=h+24|0;c[v>>2]=1;c[v+4>>2]=0}while(0);if(!(pq(c[ha>>2]|0,c[va>>2]|0,-1)|0))c[ea>>2]=1;c[N>>2]=zr(c[ya>>2]|0)|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;c[I>>2]=c[K>>2];c[I+4>>2]=c[ka>>2];c[I+12>>2]=ta;c[ta+16>>2]=(c[(c[K>>2]|0)+72>>2]|0)+1;if(c[ha>>2]|0)h=c[c[ha>>2]>>2]|0;else h=0;c[ta+12>>2]=h;c[ta+24>>2]=c[ha>>2];Gx(I,c[ga>>2]|0);Gx(I,c[va>>2]|0);if(c[ia>>2]|0)Hx(I,c[ia>>2]|0);c[ta+36>>2]=c[ta+32>>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[ta+44>>2]|0))break;v=I+28|0;b[v>>1]=e[v>>1]|8;Gx(I,c[(c[(c[ta+40>>2]|0)+(c[V>>2]<<4)>>2]|0)+20>>2]|0);v=I+28|0;b[v>>1]=e[v>>1]&-9;c[V>>2]=(c[V>>2]|0)+1}c[ta+20>>2]=c[(c[K>>2]|0)+72>>2];if(a[(c[T>>2]|0)+64>>0]|0)break;if(c[ha>>2]|0){G=(c[K>>2]|0)+68|0;I=c[G>>2]|0;c[G>>2]=I+1;c[ta+4>>2]=I;c[ja>>2]=yx(c[K>>2]|0,c[ha>>2]|0,0,0)|0;c[R>>2]=To(c[ya>>2]|0,58,c[ta+4>>2]|0,c[ta+12>>2]|0,0,c[ja>>2]|0,-6)|0;I=(c[K>>2]|0)+72|0;G=(c[I>>2]|0)+1|0;c[I>>2]=G;c[$>>2]=G;G=(c[K>>2]|0)+72|0;I=(c[G>>2]|0)+1|0;c[G>>2]=I;c[X>>2]=I;I=(c[K>>2]|0)+72|0;G=(c[I>>2]|0)+1|0;c[I>>2]=G;c[qa>>2]=G;c[O>>2]=zr(c[ya>>2]|0)|0;G=(c[K>>2]|0)+72|0;I=(c[G>>2]|0)+1|0;c[G>>2]=I;c[sa>>2]=I;c[P>>2]=zr(c[ya>>2]|0)|0;c[W>>2]=(c[(c[K>>2]|0)+72>>2]|0)+1;I=(c[K>>2]|0)+72|0;c[I>>2]=(c[I>>2]|0)+(c[c[ha>>2]>>2]|0);c[Y>>2]=(c[(c[K>>2]|0)+72>>2]|0)+1;I=(c[K>>2]|0)+72|0;c[I>>2]=(c[I>>2]|0)+(c[c[ha>>2]>>2]|0);Ro(c[ya>>2]|0,25,0,c[X>>2]|0)|0;Ro(c[ya>>2]|0,25,0,c[$>>2]|0)|0;Uo(c[ya>>2]|0,28,0,c[W>>2]|0,(c[W>>2]|0)+(c[c[ha>>2]>>2]|0)-1|0)|0;Ro(c[ya>>2]|0,17,c[sa>>2]|0,c[P>>2]|0)|0;c[la>>2]=Gu(c[K>>2]|0,c[ka>>2]|0,c[H>>2]|0,c[ha>>2]|0,0,(256|((c[ea>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[la>>2]|0))break;I=Cx(c[la>>2]|0)|0;if((I|0)==(c[c[ha>>2]>>2]|0))c[U>>2]=0;else{if(d[ua>>0]|0)h=(e[(c[L>>2]|0)+6>>1]&1|0)==0;else h=0;Ix(c[K>>2]|0,h?27145:27154);c[U>>2]=1;c[da>>2]=c[c[ha>>2]>>2];c[ca>>2]=c[da>>2];c[aa>>2]=c[da>>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[ta+32>>2]|0))break;if((c[(c[ta+28>>2]|0)+((c[V>>2]|0)*24|0)+12>>2]|0)>=(c[aa>>2]|0)){c[ca>>2]=(c[ca>>2]|0)+1;c[aa>>2]=(c[aa>>2]|0)+1}c[V>>2]=(c[V>>2]|0)+1}c[pa>>2]=ps(c[K>>2]|0,c[ca>>2]|0)|0;$t(c[K>>2]|0);Ns(c[K>>2]|0,c[ha>>2]|0,c[pa>>2]|0,0)|0;c[aa>>2]=c[da>>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[ta+32>>2]|0))break;c[fa>>2]=(c[ta+28>>2]|0)+((c[V>>2]|0)*24|0);if((c[(c[fa>>2]|0)+12>>2]|0)>=(c[aa>>2]|0)){c[ma>>2]=(c[aa>>2]|0)+(c[pa>>2]|0);c[na>>2]=Is(c[K>>2]|0,c[c[fa>>2]>>2]|0,c[(c[fa>>2]|0)+8>>2]|0,c[(c[fa>>2]|0)+4>>2]|0,c[ma>>2]|0,0)|0;if((c[ma>>2]|0)!=(c[na>>2]|0))Ro(c[ya>>2]|0,34,c[na>>2]|0,c[ma>>2]|0)|0;c[aa>>2]=(c[aa>>2]|0)+1}c[V>>2]=(c[V>>2]|0)+1}c[ra>>2]=Wo(c[K>>2]|0)|0;Uo(c[ya>>2]|0,49,c[pa>>2]|0,c[ca>>2]|0,c[ra>>2]|0)|0;Ro(c[ya>>2]|0,109,c[ta+4>>2]|0,c[ra>>2]|0)|0;Xo(c[K>>2]|0,c[ra>>2]|0);ss(c[K>>2]|0,c[pa>>2]|0,c[ca>>2]|0);Hu(c[la>>2]|0);pa=(c[K>>2]|0)+68|0;ra=c[pa>>2]|0;c[pa>>2]=ra+1;c[xa>>2]=ra;c[ta+8>>2]=ra;c[wa>>2]=Wo(c[K>>2]|0)|0;Uo(c[ya>>2]|0,60,c[xa>>2]|0,c[wa>>2]|0,c[ca>>2]|0)|0;Ro(c[ya>>2]|0,106,c[ta+4>>2]|0,c[N>>2]|0)|0;a[ta+1>>0]=1;$t(c[K>>2]|0)}do if(c[ea>>2]|0){if(e[(c[T>>2]|0)+60>>1]&4)break;if((c[U>>2]|0)==0?(Jx(c[la>>2]|0)|0)==0:0)break;c[va>>2]=0;Ef(c[ya>>2]|0,c[va+20>>2]|0)}while(0);c[S>>2]=yr(c[ya>>2]|0)|0;$t(c[K>>2]|0);if(c[U>>2]|0)Uo(c[ya>>2]|0,100,c[ta+4>>2]|0,c[wa>>2]|0,c[xa>>2]|0)|0;c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(c[c[ha>>2]>>2]|0))break;if(c[U>>2]|0)Uo(c[ya>>2]|0,47,c[xa>>2]|0,c[aa>>2]|0,(c[Y>>2]|0)+(c[aa>>2]|0)|0)|0;else{a[ta>>0]=1;Fs(c[K>>2]|0,c[(c[(c[ha>>2]|0)+4>>2]|0)+((c[aa>>2]|0)*20|0)>>2]|0,(c[Y>>2]|0)+(c[aa>>2]|0)|0)}c[aa>>2]=(c[aa>>2]|0)+1}pa=c[ya>>2]|0;ra=c[W>>2]|0;wa=c[Y>>2]|0;xa=c[c[ha>>2]>>2]|0;To(pa,42,ra,wa,xa,Kr(c[ja>>2]|0)|0,-6)|0;c[ba>>2]=yr(c[ya>>2]|0)|0;Uo(c[ya>>2]|0,43,(c[ba>>2]|0)+1|0,0,(c[ba>>2]|0)+1|0)|0;Kx(c[K>>2]|0,c[Y>>2]|0,c[W>>2]|0,c[c[ha>>2]>>2]|0);Ro(c[ya>>2]|0,17,c[qa>>2]|0,c[O>>2]|0)|0;Ro(c[ya>>2]|0,137,c[X>>2]|0,c[N>>2]|0)|0;Ro(c[ya>>2]|0,17,c[sa>>2]|0,c[P>>2]|0)|0;jp(c[ya>>2]|0,c[ba>>2]|0);Lx(c[K>>2]|0,ta);Ro(c[ya>>2]|0,25,1,c[$>>2]|0)|0;if(c[U>>2]|0)Ro(c[ya>>2]|0,5,c[ta+4>>2]|0,c[S>>2]|0)|0;else{Hu(c[la>>2]|0);Ef(c[ya>>2]|0,c[R>>2]|0)}Ro(c[ya>>2]|0,17,c[qa>>2]|0,c[O>>2]|0)|0;Ro(c[ya>>2]|0,16,0,c[N>>2]|0)|0;c[Q>>2]=yr(c[ya>>2]|0)|0;Ro(c[ya>>2]|0,25,1,c[X>>2]|0)|0;ur(c[ya>>2]|0,18,c[qa>>2]|0)|0;Br(c[ya>>2]|0,c[O>>2]|0);c[O>>2]=yr(c[ya>>2]|0)|0;Ro(c[ya>>2]|0,137,c[$>>2]|0,(c[O>>2]|0)+2|0)|0;ur(c[ya>>2]|0,18,c[qa>>2]|0)|0;Mx(c[K>>2]|0,ta);os(c[K>>2]|0,c[ia>>2]|0,(c[O>>2]|0)+1|0,16);Fx(c[K>>2]|0,c[L>>2]|0,c[c[L>>2]>>2]|0,-1,va,ua,c[M>>2]|0,(c[O>>2]|0)+1|0,c[Q>>2]|0);ur(c[ya>>2]|0,18,c[qa>>2]|0)|0;Br(c[ya>>2]|0,c[P>>2]|0);Nx(c[K>>2]|0,ta);ur(c[ya>>2]|0,18,c[sa>>2]|0)|0}else{c[B>>2]=0;xa=Ox(c[L>>2]|0,ta)|0;c[G>>2]=xa;if(xa){c[y>>2]=vf(c[c[K>>2]>>2]|0,c[(c[G>>2]|0)+68>>2]|0)|0;wa=(c[K>>2]|0)+68|0;xa=c[wa>>2]|0;c[wa>>2]=xa+1;c[x>>2]=xa;c[E>>2]=0;c[A>>2]=0;c[z>>2]=c[(c[G>>2]|0)+32>>2];ap(c[K>>2]|0,c[y>>2]|0);vr(c[K>>2]|0,c[y>>2]|0,c[(c[G>>2]|0)+32>>2]|0,0,c[c[G>>2]>>2]|0);if(d[(c[G>>2]|0)+44>>0]&32)c[A>>2]=Lr(c[G>>2]|0)|0;c[D>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break;do if(!((d[(c[D>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[D>>2]|0)+48>>1]|0)>=(b[(c[G>>2]|0)+42>>1]|0))break;if(c[(c[D>>2]|0)+36>>2]|0)break;if((c[A>>2]|0)!=0?(b[(c[D>>2]|0)+48>>1]|0)>=(b[(c[A>>2]|0)+48>>1]|0):0)break;c[A>>2]=c[D>>2]}while(0);c[D>>2]=c[(c[D>>2]|0)+20>>2]}if(c[A>>2]|0){c[z>>2]=c[(c[A>>2]|0)+44>>2];c[E>>2]=Ir(c[K>>2]|0,c[A>>2]|0)|0}wf(c[ya>>2]|0,54,c[x>>2]|0,c[z>>2]|0,c[y>>2]|0,1)|0;if(c[E>>2]|0)Df(c[ya>>2]|0,-1,c[E>>2]|0,-6);Ro(c[ya>>2]|0,50,c[x>>2]|0,c[(c[ta+40>>2]|0)+8>>2]|0)|0;ur(c[ya>>2]|0,61,c[x>>2]|0)|0;Px(c[K>>2]|0,c[G>>2]|0,c[A>>2]|0)}else{c[F>>2]=0;a[w>>0]=0;if(!(c[(c[L>>2]|0)+44>>2]|0))a[w>>0]=Qx(ta,F)|0;do if(a[w>>0]|0){c[F>>2]=uq(c[T>>2]|0,c[F>>2]|0,0)|0;c[B>>2]=c[F>>2];if(!(c[F>>2]|0))break;if(a[(c[T>>2]|0)+64>>0]|0)break;a[(c[(c[F>>2]|0)+4>>2]|0)+12>>0]=(d[w>>0]|0)!=1?1:0;a[c[c[(c[F>>2]|0)+4>>2]>>2]>>0]=-102}while(0);Nx(c[K>>2]|0,ta);c[la>>2]=Gu(c[K>>2]|0,c[ka>>2]|0,c[H>>2]|0,c[F>>2]|0,0,d[w>>0]|0,0)|0;if(!(c[la>>2]|0)){$m(c[T>>2]|0,c[B>>2]|0);break}Lx(c[K>>2]|0,ta);if((Cx(c[la>>2]|0)|0)>0){xa=c[ya>>2]|0;Ro(xa,16,0,Ex(c[la>>2]|0)|0)|0}Hu(c[la>>2]|0);Mx(c[K>>2]|0,ta)}c[va>>2]=0;os(c[K>>2]|0,c[ia>>2]|0,c[N>>2]|0,16);Fx(c[K>>2]|0,c[L>>2]|0,c[c[L>>2]>>2]|0,-1,0,0,c[M>>2]|0,c[N>>2]|0,c[N>>2]|0);$m(c[T>>2]|0,c[B>>2]|0)}Br(c[ya>>2]|0,c[N>>2]|0)}if((d[ua+1>>0]|0)==3)Ix(c[K>>2]|0,27145);if(c[va>>2]|0){Ix(c[K>>2]|0,(c[va+4>>2]|0)>0?27163:27186);Rx(c[K>>2]|0,c[L>>2]|0,va,c[c[ga>>2]>>2]|0,c[M>>2]|0)}Br(c[ya>>2]|0,c[Z>>2]|0);c[oa>>2]=0}while(0);c[(c[K>>2]|0)+464>>2]=c[_>>2];if((c[oa>>2]|0)==0?(d[c[M>>2]>>0]|0)==9:0)Sx(c[K>>2]|0,c[ka>>2]|0,c[ga>>2]|0);Nd(c[T>>2]|0,c[ta+28>>2]|0);Nd(c[T>>2]|0,c[ta+40>>2]|0);c[J>>2]=c[oa>>2];ya=c[J>>2]|0;i=za;return ya|0}c[J>>2]=1;ya=c[J>>2]|0;i=za;return ya|0}function Ln(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+24|0;l=x+8|0;m=x+12|0;n=x+20|0;o=x+16|0;p=x+4|0;q=x+28|0;r=x+32|0;s=x+36|0;u=x+40|0;t=x+44|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?27100:27103;sf(j,27109,v)}else w=4;if(((w|0)==4?(c[m>>2]=Tn(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Ho(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+44>>2]=c[r>>2];c[(c[u>>2]|0)+48>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}dn(c[t>>2]|0,c[r>>2]|0);en(c[t>>2]|0,c[s>>2]|0);an(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Mn(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;B=i;i=i+128|0;o=B+72|0;p=B+80|0;q=B+88|0;r=B+76|0;s=B+92|0;t=B+84|0;u=B+112|0;v=B+116|0;w=B+100|0;x=B+104|0;z=B+108|0;A=B;y=B+96|0;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];c[z>>2]=gf(c[y>>2]|0,72,0)|0;if(!(c[z>>2]|0)){c[z>>2]=A;h=c[z>>2]|0;e=h+72|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(e|0))}if(!(c[p>>2]|0)){o=c[o>>2]|0;c[p>>2]=Nn(o,0,Qn(c[y>>2]|0,116,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];if(!(c[q>>2]|0))c[q>>2]=gf(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+32>>2]=c[q>>2];c[(c[z>>2]|0)+36>>2]=c[r>>2];c[(c[z>>2]|0)+40>>2]=c[s>>2];c[(c[z>>2]|0)+44>>2]=c[t>>2];c[(c[z>>2]|0)+48>>2]=c[u>>2];b[(c[z>>2]|0)+6>>1]=b[v>>1]|0;a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+60>>2]=c[w>>2];c[(c[z>>2]|0)+64>>2]=c[x>>2];c[(c[z>>2]|0)+16>>2]=-1;c[(c[z>>2]|0)+16+4>>2]=-1;if(!(a[(c[y>>2]|0)+64>>0]|0)){A=c[z>>2]|0;i=B;return A|0}bn(c[y>>2]|0,c[z>>2]|0);if((c[z>>2]|0)!=(A|0))Nd(c[y>>2]|0,c[z>>2]|0);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Nn(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,l=0,m=0;l=i;i=i+32|0;f=l+8|0;m=l+16|0;g=l+20|0;h=l+24|0;j=l+4|0;e=l;k=l+12|0;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=gf(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(m=qf(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=hm(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){dn(c[j>>2]|0,c[h>>2]|0);$m(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Io(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}if(!(c[(c[k>>2]|0)+4>>2]|0)){i=l;return}Jo(c[(c[k>>2]|0)+4>>2]|0)|0;i=l;return}function Pn(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;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Nd(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Io(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Ed(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=ar(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Rn(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Sn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+37|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Ho(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;i=k;return}function Tn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;l=o+4|0;m=o;n=o+12|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=gf(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=sx(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+64>>0]|0){cn(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Ho(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Ho(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function Un(a,b,e,f){a=a|0;b=b|0;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;u=i;i=i+80|0;r=u+16|0;q=u;g=u+20|0;h=u+36|0;j=u+32|0;k=u+24|0;o=u+28|0;l=u+40|0;p=u+52|0;m=u+56|0;n=u+60|0;s=u+64|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[26944+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(Ib(c[c[p>>2]>>2]|0,26965+(d[26944+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[26944+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}sf(c[g>>2]|0,27045,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=26999;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;sf(t,27001,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function Vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+532>>2];c[(c[f>>2]|0)+532>>2]=c[g>>2];a[(c[f>>2]|0)+449>>0]=a[h>>0]|0;i=j;return}function Wn(e,f,g){e=e|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,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;U=i;i=i+192|0;D=U+68|0;E=U+56|0;F=U+8|0;T=U+116|0;R=U+168|0;t=U+16|0;J=U+20|0;q=U+24|0;P=U+28|0;n=U+32|0;K=U+36|0;M=U+40|0;o=U+44|0;I=U+112|0;S=U+120|0;s=U+136|0;l=U+172|0;O=U+176|0;r=U+180|0;A=U+72|0;k=U+80|0;G=U+88|0;Q=U+92|0;m=U+96|0;p=U+184|0;x=U+12|0;z=U+186|0;L=U;y=U+104|0;v=U+48|0;H=U+108|0;h=U+52|0;j=U+128|0;N=U+60|0;B=U+64|0;C=U+4|0;w=U+100|0;c[D>>2]=e;c[E>>2]=f;c[F>>2]=g;c[O>>2]=-1;c[G>>2]=0;c[m>>2]=0;b[p>>1]=1;c[L>>2]=0;c[y>>2]=0;c[v>>2]=0;c[H>>2]=0;c[h>>2]=0;c[j>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[I>>2]=c[c[D>>2]>>2];a:do if((((((c[(c[D>>2]|0)+64>>2]|0)==0?(d[(c[I>>2]|0)+64>>0]|0)==0:0)?(c[R>>2]=Ct(c[D>>2]|0,c[E>>2]|0)|0,(c[R>>2]|0)!=0):0)?(c[B>>2]=ku(c[D>>2]|0,c[R>>2]|0,109,0,0)|0,c[N>>2]=(c[(c[R>>2]|0)+12>>2]|0)!=0&1,(Ap(c[D>>2]|0,c[R>>2]|0)|0)==0):0)?(lu(c[D>>2]|0,c[R>>2]|0,(c[B>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=vf(c[I>>2]|0,c[(c[R>>2]|0)+68>>2]|0)|0,c[t>>2]=c[(c[(c[I>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2],c[r>>2]=Mo(c[D>>2]|0,9,c[c[R>>2]>>2]|0,0,c[t>>2]|0)|0,(c[r>>2]|0)!=1):0){g=(c[D>>2]|0)+68|0;t=c[g>>2]|0;c[g>>2]=t+1;c[(c[E>>2]|0)+8+40>>2]=t;c[n>>2]=t;c[o>>2]=0;c[P>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[P>>2]|0))break;t=(c[D>>2]|0)+68|0;c[t>>2]=(c[t>>2]|0)+1;c[P>>2]=c[(c[P>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[N>>2]|0)ox(c[D>>2]|0,S,c[c[R>>2]>>2]|0);c[T>>2]=Po(c[D>>2]|0)|0;if(c[T>>2]|0){if(!(d[(c[D>>2]|0)+18>>0]|0))mu(c[T>>2]|0);$o(c[D>>2]|0,1,c[l>>2]|0);if(c[N>>2]|0){px(c[D>>2]|0,c[R>>2]|0,c[F>>2]|0,c[n>>2]|0);t=c[n>>2]|0;c[M>>2]=t;c[K>>2]=t};c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[s+28>>2]=0;c[s>>2]=c[D>>2];c[s+4>>2]=c[E>>2];if(!(gq(s,c[F>>2]|0)|0)){if(c[(c[I>>2]|0)+24>>2]&128){s=(c[D>>2]|0)+72|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[O>>2]=t;Ro(c[T>>2]|0,25,0,c[O>>2]|0)|0}b:do if((!((c[r>>2]|0)==0&(c[F>>2]|0)==0^1|(c[B>>2]|0)!=0)?(d[(c[R>>2]|0)+44>>0]&16|0)==0:0)?0==(cw(c[D>>2]|0,c[R>>2]|0,0,0)|0):0){vr(c[D>>2]|0,c[l>>2]|0,c[(c[R>>2]|0)+32>>2]|0,1,c[c[R>>2]>>2]|0);if(!(d[(c[R>>2]|0)+44>>0]&32))To(c[T>>2]|0,118,c[(c[R>>2]|0)+32>>2]|0,c[l>>2]|0,c[O>>2]|0,c[c[R>>2]>>2]|0,-2)|0;c[P>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[P>>2]|0))break b;Ro(c[T>>2]|0,118,c[(c[P>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[P>>2]=c[(c[P>>2]|0)+20>>2]}}else u=28;while(0);c:do if((u|0)==28){if(!(d[(c[R>>2]|0)+44>>0]&32)){c[Q>>2]=0;b[p>>1]=1;t=(c[D>>2]|0)+72|0;u=(c[t>>2]|0)+1|0;c[t>>2]=u;c[y>>2]=u;Ro(c[T>>2]|0,28,0,c[y>>2]|0)|0}else{c[Q>>2]=Lr(c[R>>2]|0)|0;b[p>>1]=b[(c[Q>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[D>>2]|0)+72>>2]|0)+1;t=(c[D>>2]|0)+72|0;c[t>>2]=(c[t>>2]|0)+(b[p>>1]|0);t=(c[D>>2]|0)+68|0;u=c[t>>2]|0;c[t>>2]=u+1;c[L>>2]=u;c[j>>2]=Ro(c[T>>2]|0,57,c[L>>2]|0,b[p>>1]|0)|0;xr(c[D>>2]|0,c[Q>>2]|0)}c[q>>2]=Gu(c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,0,0,12,(c[n>>2]|0)+1|0)|0;if(!(c[q>>2]|0))break a;c[A>>2]=qx(c[q>>2]|0,k)|0;if(c[(c[I>>2]|0)+24>>2]&128)Ro(c[T>>2]|0,37,c[O>>2]|0,1)|0;do if(c[Q>>2]|0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(b[p>>1]|0))break;qs(c[T>>2]|0,c[R>>2]|0,c[n>>2]|0,b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[J>>2]|0)|0);c[J>>2]=(c[J>>2]|0)+1}c[x>>2]=c[m>>2]}else{c[x>>2]=(c[(c[D>>2]|0)+72>>2]|0)+1;c[x>>2]=Is(c[D>>2]|0,c[R>>2]|0,-1,c[n>>2]|0,c[x>>2]|0,0)|0;if((c[x>>2]|0)<=(c[(c[D>>2]|0)+72>>2]|0))break;c[(c[D>>2]|0)+72>>2]=c[x>>2]}while(0);do if(!(c[A>>2]|0))if(c[Q>>2]|0){r=(c[D>>2]|0)+72|0;g=(c[r>>2]|0)+1|0;c[r>>2]=g;c[x>>2]=g;b[z>>1]=0;g=c[T>>2]|0;r=c[m>>2]|0;s=b[p>>1]|0;t=c[x>>2]|0;u=Zt(c[T>>2]|0,c[Q>>2]|0)|0;To(g,49,r,s,t,u,b[p>>1]|0)|0;Ro(c[T>>2]|0,110,c[L>>2]|0,c[x>>2]|0)|0;break}else{b[z>>1]=1;Ro(c[T>>2]|0,128,c[y>>2]|0,c[x>>2]|0)|0;break}else{b[z>>1]=b[p>>1]|0;u=(c[o>>2]|0)+2|0;c[G>>2]=qf(c[I>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){Hu(c[q>>2]|0);break a}BH(c[G>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[G>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[k>>2]|0)>=0)a[(c[G>>2]|0)+((c[k>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[k+4>>2]|0)>=0)a[(c[G>>2]|0)+((c[k+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(c[j>>2]|0)Ef(c[T>>2]|0,c[j>>2]|0);c[h>>2]=Yo(c[T>>2]|0,16)|0}while(0);Hu(c[q>>2]|0);if(c[A>>2]|0){c[v>>2]=zr(c[T>>2]|0)|0;Ro(c[T>>2]|0,16,0,c[v>>2]|0)|0;jp(c[T>>2]|0,c[h>>2]|0)}if(!(c[N>>2]|0))au(c[D>>2]|0,c[R>>2]|0,55,c[n>>2]|0,c[G>>2]|0,K,M)|0;do if(!(c[A>>2]|0)){h=c[T>>2]|0;if(c[Q>>2]|0){c[H>>2]=ur(h,108,c[L>>2]|0)|0;Ro(c[T>>2]|0,101,c[L>>2]|0,c[x>>2]|0)|0;break}else{c[H>>2]=Uo(h,129,c[y>>2]|0,0,c[x>>2]|0)|0;break}}else{if(!(a[(c[G>>2]|0)+((c[K>>2]|0)-(c[n>>2]|0))>>0]|0))break;wf(c[T>>2]|0,68,c[K>>2]|0,c[v>>2]|0,c[x>>2]|0,b[z>>1]|0)|0}while(0);if(d[(c[R>>2]|0)+44>>0]&16){c[C>>2]=Bp(c[I>>2]|0,c[R>>2]|0)|0;vu(c[D>>2]|0,c[R>>2]|0);To(c[T>>2]|0,15,0,1,c[x>>2]|0,c[C>>2]|0,-10)|0;xf(c[T>>2]|0,2);Cp(c[D>>2]|0)}else{c[w>>2]=(d[(c[D>>2]|0)+18>>0]|0)==0&1;ew(c[D>>2]|0,c[R>>2]|0,c[B>>2]|0,c[K>>2]|0,c[M>>2]|0,c[x>>2]|0,b[z>>1]|0,c[w>>2]&255,10,c[A>>2]&255)}do if(!(c[A>>2]|0)){h=c[T>>2]|0;if(c[Q>>2]|0){Ro(h,9,c[L>>2]|0,(c[H>>2]|0)+1|0)|0;jp(c[T>>2]|0,c[H>>2]|0);break}else{Ro(h,16,0,c[H>>2]|0)|0;jp(c[T>>2]|0,c[H>>2]|0);break}}else Br(c[T>>2]|0,c[v>>2]|0);while(0);if(c[N>>2]|0)break;if(d[(c[R>>2]|0)+44>>0]&16)break;if(!(c[Q>>2]|0))ur(c[T>>2]|0,61,c[K>>2]|0)|0;c[J>>2]=0;c[P>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[P>>2]|0))break c;ur(c[T>>2]|0,61,(c[M>>2]|0)+(c[J>>2]|0)|0)|0;c[J>>2]=(c[J>>2]|0)+1;c[P>>2]=c[(c[P>>2]|0)+20>>2]}}while(0);if((d[(c[D>>2]|0)+18>>0]|0)==0?(c[(c[D>>2]|0)+412>>2]|0)==0:0)zu(c[D>>2]|0);if(((c[(c[I>>2]|0)+24>>2]&128|0)!=0?(a[(c[D>>2]|0)+18>>0]|0)==0:0)?(c[(c[D>>2]|0)+412>>2]|0)==0:0){Ro(c[T>>2]|0,35,c[O>>2]|0,1)|0;Kt(c[T>>2]|0,1);Lt(c[T>>2]|0,0,0,26931,0)|0}}}}while(0);rx(S);cn(c[I>>2]|0,c[E>>2]|0);dn(c[I>>2]|0,c[F>>2]|0);Nd(c[I>>2]|0,c[G>>2]|0);i=U;return}function Xn(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;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+88+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];sf(d,26908,j);i=k;return}function Yn(f,g,h,j,k){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,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;na=i;i=i+256|0;o=na;W=na+92|0;X=na+84|0;Y=na+176|0;Z=na+200|0;J=na+192|0;ca=na+20|0;B=na+24|0;ja=na+28|0;aa=na+32|0;w=na+36|0;ma=na+40|0;ha=na+44|0;ia=na+48|0;u=na+52|0;s=na+8|0;da=na+60|0;fa=na+64|0;ba=na+68|0;K=na+72|0;$=na+76|0;_=na+180|0;x=na+250|0;A=na+251|0;M=na+252|0;y=na+208|0;la=na+104|0;p=na+216|0;l=na+116|0;Q=na+120|0;N=na+124|0;ga=na+128|0;V=na+132|0;G=na+136|0;R=na+140|0;F=na+144|0;C=na+148|0;ea=na+152|0;P=na+156|0;r=na+160|0;ka=na+168|0;U=na+16|0;T=na+56|0;H=na+112|0;E=na+4|0;z=na+12|0;S=na+172|0;m=na+80|0;n=na+184|0;t=na+88|0;v=na+248|0;q=na+96|0;D=na+204|0;O=na+196|0;L=na+188|0;c[W>>2]=f;c[X>>2]=g;c[Y>>2]=h;c[Z>>2]=j;c[J>>2]=k;c[aa>>2]=0;c[K>>2]=0;c[$>>2]=0;c[y>>2]=0;c[ea>>2]=0;c[P>>2]=0;c[ka>>2]=0;c[E>>2]=0;c[z>>2]=0;c[S>>2]=0;c[la>>2]=0;c[la+4>>2]=0;c[ba>>2]=c[c[W>>2]>>2];if(c[(c[W>>2]|0)+64>>2]|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(d[(c[ba>>2]|0)+64>>0]|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[ja>>2]=Ct(c[W>>2]|0,c[X>>2]|0)|0;if(!(c[ja>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[l>>2]=vf(c[c[W>>2]>>2]|0,c[(c[ja>>2]|0)+68>>2]|0)|0;c[R>>2]=ku(c[W>>2]|0,c[ja>>2]|0,110,c[Y>>2]|0,F)|0;c[G>>2]=(c[(c[ja>>2]|0)+12>>2]|0)!=0&1;if(Ap(c[W>>2]|0,c[ja>>2]|0)|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(lu(c[W>>2]|0,c[ja>>2]|0,c[F>>2]|0)|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}g=(c[W>>2]|0)+68|0;j=c[g>>2]|0;c[g>>2]=j+1;c[da>>2]=j;c[s>>2]=j;c[(c[X>>2]|0)+8+40>>2]=j;c[fa>>2]=(c[da>>2]|0)+1;if(!(d[(c[ja>>2]|0)+44>>0]&32))k=0;else k=Lr(c[ja>>2]|0)|0;c[ia>>2]=k;c[u>>2]=0;c[ha>>2]=c[(c[ja>>2]|0)+8>>2];while(1){if(!(c[ha>>2]|0))break;if((c[ia>>2]|0)!=0?(a[(c[ha>>2]|0)+55>>0]&3|0)==2:0){c[da>>2]=c[(c[W>>2]|0)+68>>2];c[(c[X>>2]|0)+8+40>>2]=c[da>>2]}j=(c[W>>2]|0)+68|0;c[j>>2]=(c[j>>2]|0)+1;c[ha>>2]=c[(c[ha>>2]|0)+20>>2];c[u>>2]=(c[u>>2]|0)+1}c[$>>2]=qf(c[ba>>2]|0,((b[(c[ja>>2]|0)+38>>1]|0)+(c[u>>2]|0)<<2)+(c[u>>2]|0)+2|0,0)|0;if(!(c[$>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[K>>2]=(c[$>>2]|0)+(b[(c[ja>>2]|0)+38>>1]<<2);c[_>>2]=(c[K>>2]|0)+(c[u>>2]<<2);BH(c[_>>2]|0,1,(c[u>>2]|0)+1|0)|0;a[(c[_>>2]|0)+((c[u>>2]|0)+1)>>0]=0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break;c[(c[$>>2]|0)+(c[ca>>2]<<2)>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[W>>2];c[p+4>>2]=c[X>>2];a[x>>0]=0;a[A>>0]=0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[c[Y>>2]>>2]|0)){I=41;break}if(gq(p,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)>>2]|0)|0){I=182;break}c[B>>2]=0;while(1){if((c[B>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break;j=($b(c[(c[(c[ja>>2]|0)+4>>2]|0)+((c[B>>2]|0)*24|0)>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[B>>2]|0;if(j){I=23;break}c[B>>2]=k+1}if((I|0)==23){I=0;if((k|0)!=(b[(c[ja>>2]|0)+36>>1]|0)){if((c[ia>>2]|0)!=0?(d[(c[(c[ja>>2]|0)+4>>2]|0)+((c[B>>2]|0)*24|0)+23>>0]&1|0)!=0:0)a[x>>0]=1}else{a[A>>0]=1;c[y>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)>>2]}c[(c[$>>2]|0)+(c[B>>2]<<2)>>2]=c[ca>>2]}if((c[B>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0)){if(c[ia>>2]|0){I=34;break}if(!(Lq(c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)+4>>2]|0)|0)){I=34;break}c[B>>2]=-1;a[A>>0]=1;c[y>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)>>2]}if((c[B>>2]|0)<0)k=21560;else k=c[(c[(c[ja>>2]|0)+4>>2]|0)+((c[B>>2]|0)*24|0)>>2]|0;c[m>>2]=Mo(c[W>>2]|0,23,c[c[ja>>2]>>2]|0,k,c[(c[(c[ba>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[m>>2]|0)==1){I=182;break}if((c[m>>2]|0)==2)c[(c[$>>2]|0)+(c[B>>2]<<2)>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1}if((I|0)==34){ma=c[W>>2]|0;c[o>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)+4>>2];sf(ma,26868,o);a[(c[W>>2]|0)+17>>0]=1;rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}else if((I|0)==41){a[M>>0]=(d[A>>0]|0)+(d[x>>0]|0);o=(c[X>>2]|0)+8+56|0;c[o>>2]=0;c[o+4>>2]=0;c[N>>2]=cw(c[W>>2]|0,c[ja>>2]|0,c[$>>2]|0,d[M>>0]|0)|0;c[B>>2]=0;c[ha>>2]=c[(c[ja>>2]|0)+8>>2];while(1){if(!(c[ha>>2]|0))break;a:do if((!((d[M>>0]|0)!=0|(c[N>>2]|0)!=0)?(c[(c[ha>>2]|0)+36>>2]|0)==0:0)?(c[ha>>2]|0)!=(c[ia>>2]|0):0){c[n>>2]=0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(e[(c[ha>>2]|0)+50>>1]|0))break a;if((c[(c[$>>2]|0)+(b[(c[(c[ha>>2]|0)+4>>2]|0)+(c[ca>>2]<<1)>>1]<<2)>>2]|0)>=0)break;c[ca>>2]=(c[ca>>2]|0)+1}m=(c[W>>2]|0)+72|0;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[n>>2]=o}else I=46;while(0);if((I|0)==46){I=0;m=(c[W>>2]|0)+72|0;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[n>>2]=o}if(!(c[n>>2]|0))a[(c[_>>2]|0)+((c[B>>2]|0)+1)>>0]=0;c[(c[K>>2]|0)+(c[B>>2]<<2)>>2]=c[n>>2];c[ha>>2]=c[(c[ha>>2]|0)+20>>2];c[B>>2]=(c[B>>2]|0)+1}c[ma>>2]=Po(c[W>>2]|0)|0;if(!(c[ma>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(!(d[(c[W>>2]|0)+18>>0]|0))mu(c[ma>>2]|0);$o(c[W>>2]|0,1,c[l>>2]|0);k=c[W>>2]|0;if(d[(c[ja>>2]|0)+44>>0]&16){nx(k,c[X>>2]|0,c[ja>>2]|0,c[Y>>2]|0,c[y>>2]|0,c[$>>2]|0,c[Z>>2]|0,c[J>>2]|0);c[Z>>2]=0;c[X>>2]=0;rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}o=k+72|0;n=(c[o>>2]|0)+1|0;c[o>>2]=n;c[z>>2]=n;n=(c[W>>2]|0)+72|0;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[T>>2]=o;c[U>>2]=o;if((d[x>>0]|0)!=0|(c[R>>2]|0)!=0|(c[N>>2]|0)!=0){c[E>>2]=(c[(c[W>>2]|0)+72>>2]|0)+1;o=(c[W>>2]|0)+72|0;c[o>>2]=(c[o>>2]|0)+(b[(c[ja>>2]|0)+38>>1]|0)}if((d[M>>0]|0)!=0|(c[R>>2]|0)!=0|(c[N>>2]|0)!=0){n=(c[W>>2]|0)+72|0;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[T>>2]=o}c[H>>2]=(c[(c[W>>2]|0)+72>>2]|0)+1;o=(c[W>>2]|0)+72|0;c[o>>2]=(c[o>>2]|0)+(b[(c[ja>>2]|0)+38>>1]|0);if(c[G>>2]|0)ox(c[W>>2]|0,la,c[c[ja>>2]>>2]|0);if(c[G>>2]|0)px(c[W>>2]|0,c[ja>>2]|0,c[Z>>2]|0,c[da>>2]|0);if(gq(p,c[Z>>2]|0)|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(!(d[(c[ja>>2]|0)+44>>0]&32)){Uo(c[ma>>2]|0,28,0,c[z>>2]|0,c[U>>2]|0)|0;c[w>>2]=Gu(c[W>>2]|0,c[X>>2]|0,c[Z>>2]|0,0,0,4,c[fa>>2]|0)|0;if(!(c[w>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[Q>>2]=qx(c[w>>2]|0,r)|0;Ro(c[ma>>2]|0,103,c[da>>2]|0,c[U>>2]|0)|0;if(!(c[Q>>2]|0))Ro(c[ma>>2]|0,128,c[z>>2]|0,c[U>>2]|0)|0;Hu(c[w>>2]|0)}else{b[v>>1]=b[(c[ia>>2]|0)+50>>1]|0;c[t>>2]=(c[(c[W>>2]|0)+72>>2]|0)+1;p=(c[W>>2]|0)+72|0;c[p>>2]=(c[p>>2]|0)+(b[v>>1]|0);p=(c[W>>2]|0)+72|0;o=(c[p>>2]|0)+1|0;c[p>>2]=o;c[S>>2]=o;o=(c[W>>2]|0)+68|0;p=c[o>>2]|0;c[o>>2]=p+1;c[ea>>2]=p;Ro(c[ma>>2]|0,28,0,c[t>>2]|0)|0;c[q>>2]=Ro(c[ma>>2]|0,57,c[ea>>2]|0,b[v>>1]|0)|0;xr(c[W>>2]|0,c[ia>>2]|0);c[w>>2]=Gu(c[W>>2]|0,c[X>>2]|0,c[Z>>2]|0,0,0,4,c[fa>>2]|0)|0;if(!(c[w>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[Q>>2]=qx(c[w>>2]|0,r)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[v>>1]|0))break;qs(c[ma>>2]|0,c[ja>>2]|0,c[da>>2]|0,b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[ca>>2]<<1)>>1]|0,(c[t>>2]|0)+(c[ca>>2]|0)|0);c[ca>>2]=(c[ca>>2]|0)+1}k=c[ma>>2]|0;if(c[Q>>2]|0){Ef(k,c[q>>2]|0);c[P>>2]=b[v>>1];c[S>>2]=c[t>>2]}else{o=c[t>>2]|0;p=b[v>>1]|0;q=c[S>>2]|0;t=Zt(c[ma>>2]|0,c[ia>>2]|0)|0;To(k,49,o,p,q,t,b[v>>1]|0)|0;Ro(c[ma>>2]|0,110,c[ea>>2]|0,c[S>>2]|0)|0}Hu(c[w>>2]|0)}if((c[(c[ba>>2]|0)+24>>2]&128|0)!=0?(c[(c[W>>2]|0)+412>>2]|0)==0:0){v=(c[W>>2]|0)+72|0;w=(c[v>>2]|0)+1|0;c[v>>2]=w;c[ka>>2]=w;Ro(c[ma>>2]|0,25,0,c[ka>>2]|0)|0}c[ga>>2]=zr(c[ma>>2]|0)|0;if(!(c[G>>2]|0)){b:do if((c[J>>2]|0)==5)BH(c[_>>2]|0,1,(c[u>>2]|0)+1|0)|0;else{c[ha>>2]=c[(c[ja>>2]|0)+8>>2];while(1){if(!(c[ha>>2]|0))break b;if((d[(c[ha>>2]|0)+54>>0]|0)==5)break;c[ha>>2]=c[(c[ha>>2]|0)+20>>2]}BH(c[_>>2]|0,1,(c[u>>2]|0)+1|0)|0}while(0);do if(c[Q>>2]|0){if((c[r>>2]|0)>=0)a[(c[_>>2]|0)+((c[r>>2]|0)-(c[s>>2]|0))>>0]=0;if((c[r+4>>2]|0)<0)break;a[(c[_>>2]|0)+((c[r+4>>2]|0)-(c[s>>2]|0))>>0]=0}while(0);au(c[W>>2]|0,c[ja>>2]|0,55,c[s>>2]|0,c[_>>2]|0,0,0)|0}do if(!(c[Q>>2]|0)){k=c[ma>>2]|0;if(c[ia>>2]|0){c[V>>2]=zr(k)|0;Ro(c[ma>>2]|0,108,c[ea>>2]|0,c[ga>>2]|0)|0;c[aa>>2]=Ro(c[ma>>2]|0,101,c[ea>>2]|0,c[S>>2]|0)|0;wf(c[ma>>2]|0,68,c[da>>2]|0,c[V>>2]|0,c[S>>2]|0,0)|0;break}else{c[V>>2]=Uo(k,129,c[z>>2]|0,c[ga>>2]|0,c[U>>2]|0)|0;Uo(c[ma>>2]|0,70,c[da>>2]|0,c[V>>2]|0,c[U>>2]|0)|0;break}}else{if(!((c[G>>2]|0)!=0?1:(d[(c[_>>2]|0)+((c[da>>2]|0)-(c[s>>2]|0))>>0]|0)==0))wf(c[ma>>2]|0,68,c[da>>2]|0,c[ga>>2]|0,c[S>>2]|0,c[P>>2]|0)|0;c[V>>2]=c[ga>>2];Ro(c[ma>>2]|0,76,(c[ia>>2]|0)!=0?c[S>>2]|0:c[U>>2]|0,c[ga>>2]|0)|0}while(0);if(a[A>>0]|0){Fs(c[W>>2]|0,c[y>>2]|0,c[T>>2]|0);ur(c[ma>>2]|0,38,c[T>>2]|0)|0}do if((d[x>>0]|0)!=0|(c[N>>2]|0)!=0|(c[R>>2]|0)!=0){if(c[N>>2]|0)k=hw(c[W>>2]|0,c[ja>>2]|0)|0;else k=0;c[D>>2]=k;z=gw(c[W>>2]|0,c[R>>2]|0,c[Y>>2]|0,0,3,c[ja>>2]|0,c[J>>2]|0)|0;c[D>>2]=c[D>>2]|z;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break;do if((c[D>>2]|0)==-1)I=117;else{if((c[ca>>2]|0)<32?(c[D>>2]&1<>2]|0)!=0:0){I=117;break}if(d[(c[(c[ja>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*24|0)+23>>0]&1){I=117;break}Ro(c[ma>>2]|0,28,0,(c[E>>2]|0)+(c[ca>>2]|0)|0)|0}while(0);if((I|0)==117){I=0;qs(c[ma>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[ca>>2]|0,(c[E>>2]|0)+(c[ca>>2]|0)|0)}c[ca>>2]=(c[ca>>2]|0)+1}if(!((d[A>>0]|0)==0&(c[ia>>2]|0)==0))break;Ro(c[ma>>2]|0,33,c[U>>2]|0,c[T>>2]|0)|0}while(0);c[C>>2]=gw(c[W>>2]|0,c[R>>2]|0,c[Y>>2]|0,1,1,c[ja>>2]|0,c[J>>2]|0)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break;c:do if((c[ca>>2]|0)==(b[(c[ja>>2]|0)+36>>1]|0))Ro(c[ma>>2]|0,28,0,(c[H>>2]|0)+(c[ca>>2]|0)|0)|0;else{c[B>>2]=c[(c[$>>2]|0)+(c[ca>>2]<<2)>>2];if((c[B>>2]|0)>=0){Fs(c[W>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0,(c[H>>2]|0)+(c[ca>>2]|0)|0);break}do if(!((c[ca>>2]|0)>31?1:0==(c[F>>2]&1|0))){if(c[C>>2]&1<>2])break;Ro(c[ma>>2]|0,28,0,(c[H>>2]|0)+(c[ca>>2]|0)|0)|0;break c}while(0);qs(c[ma>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[ca>>2]|0,(c[H>>2]|0)+(c[ca>>2]|0)|0)}while(0);c[ca>>2]=(c[ca>>2]|0)+1}d:do if(c[F>>2]&1){ru(c[ma>>2]|0,c[ja>>2]|0,c[H>>2]|0);su(c[W>>2]|0,c[R>>2]|0,110,c[Y>>2]|0,1,c[ja>>2]|0,c[U>>2]|0,c[J>>2]|0,c[V>>2]|0);h=c[ma>>2]|0;f=c[da>>2]|0;k=c[V>>2]|0;if(c[ia>>2]|0)wf(h,68,f,k,c[S>>2]|0,c[P>>2]|0)|0;else Uo(h,70,f,k,c[U>>2]|0)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break d;do if((c[(c[$>>2]|0)+(c[ca>>2]<<2)>>2]|0)<0){if((c[ca>>2]|0)==(b[(c[ja>>2]|0)+36>>1]|0))break;qs(c[ma>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[ca>>2]|0,(c[H>>2]|0)+(c[ca>>2]|0)|0)}while(0);c[ca>>2]=(c[ca>>2]|0)+1}}while(0);do if(!(c[G>>2]|0)){c[O>>2]=0;c[L>>2]=0;wu(c[W>>2]|0,c[ja>>2]|0,c[K>>2]|0,c[da>>2]|0,c[fa>>2]|0,c[T>>2]|0,c[U>>2]|0,a[M>>0]|0,c[J>>2]&255,c[V>>2]|0,L);if(c[N>>2]|0)xu(c[W>>2]|0,c[ja>>2]|0,c[U>>2]|0,0,c[$>>2]|0,d[M>>0]|0);if(!((c[L>>2]|0)==0?(d[M>>0]|0)==0:0))I=148;do if((I|0)==148){h=c[ma>>2]|0;f=c[da>>2]|0;if(c[ia>>2]|0){c[O>>2]=wf(h,68,f,0,c[S>>2]|0,c[P>>2]|0)|0;break}else{c[O>>2]=Uo(h,70,f,0,c[U>>2]|0)|0;break}}while(0);fw(c[W>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[fa>>2]|0,c[K>>2]|0);if(!((c[N>>2]|0)==0?!((d[M>>0]|0)!=0|(c[ia>>2]|0)!=0):0))Ro(c[ma>>2]|0,95,c[da>>2]|0,0)|0;if(!((c[L>>2]|0)==0?(d[M>>0]|0)==0:0))jp(c[ma>>2]|0,c[O>>2]|0);if(c[N>>2]|0)xu(c[W>>2]|0,c[ja>>2]|0,0,c[T>>2]|0,c[$>>2]|0,d[M>>0]|0);yu(c[W>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[fa>>2]|0,c[T>>2]|0,c[K>>2]|0,1,0,0);if(!(c[N>>2]|0))break;iw(c[W>>2]|0,c[ja>>2]|0,c[Y>>2]|0,c[U>>2]|0,c[$>>2]|0,d[M>>0]|0)}while(0);do if(c[(c[ba>>2]|0)+24>>2]&128){if(c[(c[W>>2]|0)+412>>2]|0)break;Ro(c[ma>>2]|0,37,c[ka>>2]|0,1)|0}while(0);su(c[W>>2]|0,c[R>>2]|0,110,c[Y>>2]|0,2,c[ja>>2]|0,c[U>>2]|0,c[J>>2]|0,c[V>>2]|0);do if(!(c[Q>>2]|0)){h=c[ma>>2]|0;f=c[V>>2]|0;if(c[ia>>2]|0){Br(h,f);Ro(c[ma>>2]|0,9,c[ea>>2]|0,c[aa>>2]|0)|0;break}else{Ro(h,16,0,f)|0;break}}while(0);Br(c[ma>>2]|0,c[ga>>2]|0);c[ca>>2]=0;c[ha>>2]=c[(c[ja>>2]|0)+8>>2];while(1){if(!(c[ha>>2]|0))break;if(a[(c[_>>2]|0)+((c[ca>>2]|0)+1)>>0]|0)Ro(c[ma>>2]|0,61,(c[fa>>2]|0)+(c[ca>>2]|0)|0,0)|0;c[ha>>2]=c[(c[ha>>2]|0)+20>>2];c[ca>>2]=(c[ca>>2]|0)+1}if((c[da>>2]|0)<(c[fa>>2]|0))Ro(c[ma>>2]|0,61,c[da>>2]|0,0)|0;do if(!(d[(c[W>>2]|0)+18>>0]|0)){if(c[(c[W>>2]|0)+412>>2]|0)break;zu(c[W>>2]|0)}while(0);if(!(c[(c[ba>>2]|0)+24>>2]&128)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(c[(c[W>>2]|0)+412>>2]|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(a[(c[W>>2]|0)+18>>0]|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}Ro(c[ma>>2]|0,35,c[ka>>2]|0,1)|0;Kt(c[ma>>2]|0,1);Lt(c[ma>>2]|0,0,0,26887,0)|0;rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}else if((I|0)==182){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}} +function Yy(f){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;y=i;i=i+80|0;w=y+8|0;q=y;r=y+36|0;s=y+20|0;n=y+16|0;o=y+12|0;g=y+24|0;p=y+32|0;h=y+28|0;j=y+40|0;v=y+44|0;t=y+48|0;x=y+52|0;u=y+56|0;k=y+60|0;m=y+64|0;l=y+68|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;gu(c[t>>2]|0,8);c[(c[s>>2]|0)+20>>2]=0;if((c[(c[s>>2]|0)+80>>2]|0)==7){a[(c[h>>2]|0)+64>>0]=1;c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+32>>2];a:do if((b[(c[s>>2]|0)+88>>1]&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+8>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+76|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if((b[(c[s>>2]|0)+88>>1]&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=155);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+240>>2]|0){c[(c[s>>2]|0)+80>>2]=9;c[v>>2]=1;x=(c[s>>2]|0)+44|0;z=c[h>>2]|0;c[q>>2]=af(c[(c[s>>2]|0)+80>>2]|0)|0;Ym(x,z,14418,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+32>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+32>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if((b[(c[s>>2]|0)+88>>1]&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=hD(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Ed(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(fm(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(vp(c[t>>2]|0,32)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=iD(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,32)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0))Xe(g,c[x>>2]|0,-1,1,0)|0;else{z=Ed(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if((b[(c[s>>2]|0)+88>>1]&3|0)==1){if(!(vp(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Yb(3,z,34046,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+84>>1]=8-((b[(c[s>>2]|0)+88>>1]&3)-1<<2);c[(c[s>>2]|0)+20>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0}function Zy(f){f=f|0;var g=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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=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,ya=0,za=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,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,mb=0,nb=0,pb=0,sb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Fd=0,Gd=0,Hd=0,Jd=0,Kd=0,Ld=0,Md=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,je=0,ke=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Qe=0,Re=0,Ue=0,Ve=0,We=0,_e=0,$e=0,bf=0,cf=0,df=0,ff=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,rf=0,sf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0.0,cg=0;_f=i;i=i+1872|0;rf=_f+304|0;of=_f+72|0;nf=_f+136|0;mf=_f+64|0;lf=_f+80|0;kf=_f+408|0;jf=_f+320|0;hf=_f+200|0;ff=_f+24|0;df=_f+344|0;cf=_f+144|0;bf=_f+176|0;$e=_f+360|0;_e=_f+56|0;We=_f+336|0;Ve=_f+40|0;Ue=_f+168|0;Xf=_f+368|0;Wf=_f+256|0;Vf=_f+352|0;Re=_f+264|0;Of=_f+592|0;Tf=_f+580|0;n=_f+560|0;Sf=_f+544|0;Uf=_f+528|0;Pf=_f+516|0;se=_f+1860|0;L=_f+1859|0;ja=_f+452|0;Rf=_f+448|0;hb=_f+1508|0;l=_f+1348|0;Wc=_f+1140|0;Xc=_f+1060|0;Yc=_f+928|0;rd=_f+884|0;o=_f+872|0;Qf=_f+312|0;mc=_f+836|0;Td=_f+820|0;Zf=_f+808|0;Yf=_f+632|0;Oc=_f+588|0;E=_f+584|0;pb=_f+1656|0;Cd=_f+572|0;La=_f+556|0;Ab=_f+548|0;Eb=_f+540|0;Ma=_f+536|0;dd=_f+524|0;V=_f+520|0;Ua=_f+8|0;z=_f+1662|0;Q=_f+1652|0;He=_f+1650|0;Ie=_f+1658|0;ea=_f+328|0;ga=_f+288|0;$d=_f+192|0;ae=_f+32|0;ba=_f+512|0;Ib=_f+1464|0;G=_f+1396|0;w=_f+1316|0;Na=_f+1244|0;fa=_f+416|0;Je=_f+424|0;ha=_f+280|0;yb=_f+1664|0;be=_f+924|0;s=_f+1666|0;R=_f+1648|0;S=_f+1654|0;Pa=_f+868|0;ca=_f+860|0;Db=_f+856|0;Hb=_f+848|0;$c=_f+832|0;Aa=_f+824|0;nc=_f+816|0;A=_f+812|0;Le=_f+804|0;Me=_f+796|0;B=_f+628|0;Sd=_f+384|0;Fb=_f+636|0;Ob=_f+640|0;oc=_f+644|0;m=_f+648|0;Ja=_f+652|0;X=_f+656|0;Lc=_f+660|0;ze=_f+216|0;Af=_f+552|0;Ef=_f+672|0;Cf=_f+676|0;xb=_f+680|0;Ce=_f+684|0;y=_f+688|0;De=_f+692|0;U=_f+1660|0;xd=_f+700|0;yf=_f+704|0;D=_f+1667|0;Kf=_f+712|0;vd=_f+480|0;Ya=_f+272|0;cb=_f+724|0;Va=_f+440|0;kb=_f+732|0;jb=_f+736|0;Be=_f+740|0;Hc=_f+744|0;cd=_f+492|0;$a=_f+752|0;zf=_f+496|0;P=_f+760|0;aa=_f+500|0;Ha=_f+768|0;Ka=_f+504|0;Za=_f+208|0;pc=_f+508|0;Cb=_f+784|0;Jf=_f+788|0;gb=_f+792|0;qd=_f+1440|0;zd=_f+1432|0;Ad=_f+1368|0;ya=_f+1356|0;Ba=_f+1300|0;Fa=_f+1284|0;Ea=_f+1212|0;I=_f+1196|0;xa=_f+1132|0;Ge=_f+1076|0;Kb=_f+1072|0;ta=_f+1064|0;pa=_f+1052|0;ua=_f+1044|0;la=_f+1028|0;ka=_f+1012|0;Ic=_f+908|0;xc=_f+896|0;ab=_f+1588|0;ad=_f+888|0;Gb=_f+1604|0;ma=_f+1612|0;uf=_f+1620|0;Qd=_f+1628|0;Cc=_f+1636|0;Jc=_f+1640|0;Dc=_f+900|0;bd=_f+904|0;Ud=_f+852|0;Ec=_f+912|0;Pb=_f+916|0;Fc=_f+920|0;ee=_f+828|0;sb=_f+1644|0;Qb=_f+932|0;Xd=_f+936|0;bb=_f+956|0;qa=_f;Rb=_f+964|0;t=_f+968|0;Ca=_f+800|0;Sb=_f+976|0;fe=_f+980|0;Tc=_f+984|0;Uc=_f+988|0;Yd=_f+992|0;r=_f+1668|0;Tb=_f+1016|0;qc=_f+1020|0;ge=_f+1024|0;ra=_f+184|0;Ke=_f+48|0;Ub=_f+1036|0;je=_f+1040|0;F=_f+1584|0;fd=_f+1596|0;Pc=_f+1600|0;Gc=_f+1056|0;_c=_f+1608|0;sa=_f+16|0;Vb=_f+1624|0;mb=_f+1632|0;Ae=_f+664|0;Bf=_f+1080|0;Mf=_f+668|0;zb=_f+1096|0;Wb=_f+1100|0;Xb=_f+1104|0;ke=_f+1108|0;eb=_f+1112|0;Yb=_f+1116|0;ac=_f+1120|0;rc=_f+1124|0;Oa=_f+1128|0;Qa=_f+296|0;bc=_f+1136|0;Ne=_f+392|0;Fd=_f+1144|0;jd=_f+1148|0;cc=_f+1152|0;dc=_f+1156|0;sc=_f+1160|0;ne=_f+1164|0;ec=_f+1168|0;tc=_f+1172|0;oe=_f+1176|0;fc=_f+1180|0;pe=_f+1184|0;gc=_f+716|0;uc=_f+1192|0;db=_f+720|0;Ff=_f+1200|0;hc=_f+1204|0;vc=_f+1208|0;qe=_f+728|0;Zd=_f+1216|0;wc=_f+1236|0;jc=_f+1240|0;we=_f+400|0;kc=_f+1248|0;re=_f+1252|0;_d=_f+1256|0;va=_f+1276|0;ia=_f+1280|0;Dd=_f+748|0;na=_f+1288|0;Xa=_f+1292|0;lc=_f+1296|0;Vd=_f+756|0;T=_f+1304|0;Kc=_f+1308|0;oa=_f+1312|0;Gf=_f+764|0;Lf=_f+1320|0;Da=_f+1328|0;ib=_f+1344|0;q=_f+772|0;Ia=_f+1352|0;_a=_f+776|0;vf=_f+1360|0;Wd=_f+780|0;Qe=_f+432|0;za=_f+1372|0;O=_f+1376|0;fb=_f+1380|0;Wa=_f+1384|0;yd=_f+1388|0;gd=_f+1392|0;Nc=_f+1592|0;Qc=_f+1436|0;td=_f+1428|0;Ee=_f+1424|0;Rc=_f+1364|0;Vc=_f+1616|0;Sc=_f+1444|0;Ra=_f+1448|0;da=_f+1452|0;hd=_f+1456|0;wd=_f+1460|0;Fe=_f+96|0;H=_f+1468|0;x=_f+1496|0;id=_f+1500|0;W=_f+1504|0;p=_f+1084|0;ed=_f+1512|0;Lb=_f+1516|0;sd=_f+1520|0;J=_f+1068|0;K=_f+1528|0;Df=_f+1532|0;Mb=_f+1536|0;Ga=_f+1665|0;Bb=_f+1544|0;wf=_f+1548|0;Bd=_f+1552|0;yc=_f+1556|0;Od=_f+1560|0;Gd=_f+1564|0;kd=_f+1568|0;Sa=_f+1572|0;wa=_f+1576|0;ld=_f+1524|0;ud=_f+468|0;Jb=_f+1188|0;Pd=_f+840|0;Hd=_f+960|0;zc=_f+564|0;ce=_f+456|0;Y=_f+568|0;u=_f+532|0;Jd=_f+1580|0;md=_f+472|0;Mc=_f+844|0;ye=_f+596|0;Ac=_f+1540|0;Kd=_f+972|0;nd=_f+864|0;de=_f+1048|0;Bc=_f+624|0;Ld=_f+708|0;pd=_f+696|0;Md=_f+876|0;od=_f+880|0;Ta=_f+892|0;_=_f+1032|0;xe=_f+160|0;v=_f+488|0;Rd=_f+484|0;sf=_f+1663|0;nb=_f+476|0;Nb=_f+576|0;Nf=_f+460|0;xf=_f+464|0;c[Of>>2]=f;c[Tf>>2]=0;c[n>>2]=c[(c[Of>>2]|0)+4>>2];c[Uf>>2]=0;c[Pf>>2]=c[c[Of>>2]>>2];a[se>>0]=0;a[L>>0]=a[(c[(c[(c[Pf>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[ja>>2]=0;c[Rf>>2]=0;c[hb>>2]=0;c[l>>2]=c[(c[Of>>2]|0)+8>>2];c[Wc>>2]=0;c[Xc>>2]=0;c[Yc>>2]=0;c[rd>>2]=0;c[o>>2]=0;g=(c[Pf>>2]|0)+32|0;f=c[g+4>>2]|0;j=Qf;c[j>>2]=c[g>>2];c[j+4>>2]=f;a:do if((c[(c[Of>>2]|0)+80>>2]|0)==7)k=867;else{c[(c[Of>>2]|0)+80>>2]=0;j=(c[Of>>2]|0)+136|0;c[j>>2]=0;c[j+4>>2]=0;c[(c[Of>>2]|0)+20>>2]=0;c[(c[Pf>>2]|0)+444+8>>2]=0;b:do if(!(c[(c[Pf>>2]|0)+240>>2]|0)){do if(c[(c[Pf>>2]|0)+292>>2]|0){c[hb>>2]=c[(c[Of>>2]|0)+108+16>>2];f=c[(c[Pf>>2]|0)+300>>2]|0;if(!(c[hb>>2]|0)){c[hb>>2]=f;break}else{c[hb>>2]=((c[hb>>2]|0)>>>0)%(f>>>0)|0;break}}while(0);c[Tf>>2]=c[(c[Of>>2]|0)+76>>2];c:while(1){if(c[Uf>>2]|0)break a;if(a[(c[Pf>>2]|0)+64>>0]|0){k=867;break a}c[Rf>>2]=(c[Rf>>2]|0)+1;c[Sf>>2]=(c[n>>2]|0)+((c[Tf>>2]|0)*20|0);if(d[(c[Sf>>2]|0)+2>>0]&2){c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);if(e[(c[rd>>2]|0)+8>>1]&9312)Ze(c[rd>>2]|0);b[(c[rd>>2]|0)+8>>1]=4}d:do switch(d[c[Sf>>2]>>0]|0){case 16:{c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;k=16;break}case 17:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);b[(c[Wc>>2]|0)+8>>1]=4;f=c[Tf>>2]|0;j=c[Wc>>2]|0;c[j>>2]=f;c[j+4>>2]=((f|0)<0)<<31>>31;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 18:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Tf>>2]=c[c[Wc>>2]>>2];b[(c[Wc>>2]|0)+8>>1]=128;break}case 20:{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);f=(c[(c[Sf>>2]|0)+12>>2]|0)-1|0;j=c[rd>>2]|0;c[j>>2]=f;c[j+4>>2]=((f|0)<0)<<31>>31;b[(c[rd>>2]|0)+8>>1]=4;if(c[(c[Sf>>2]|0)+8>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 21:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[mc>>2]=(c[n>>2]|0)+((c[c[Wc>>2]>>2]|0)*20|0);c[Tf>>2]=(c[(c[mc>>2]|0)+8>>2]|0)-1;b[(c[Wc>>2]|0)+8>>1]=128;break}case 22:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);b[(c[Wc>>2]|0)+8>>1]=4;c[Td>>2]=c[c[Wc>>2]>>2];f=c[Tf>>2]|0;j=c[Wc>>2]|0;c[j>>2]=f;c[j+4>>2]=((f|0)<0)<<31>>31;c[Tf>>2]=c[Td>>2];break}case 23:{c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Yc>>2]|0)+8>>1]&1)k=28;break}case 24:{k=28;break}case 25:{f=c[(c[Sf>>2]|0)+4>>2]|0;j=c[rd>>2]|0;c[j>>2]=f;c[j+4>>2]=((f|0)<0)<<31>>31;break}case 26:{g=c[(c[Sf>>2]|0)+16>>2]|0;f=c[g+4>>2]|0;j=c[rd>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;break}case 133:{b[(c[rd>>2]|0)+8>>1]=8;h[c[rd>>2]>>3]=+h[c[(c[Sf>>2]|0)+16>>2]>>3];break}case 97:{a[c[Sf>>2]>>0]=27;k=Ed(c[(c[Sf>>2]|0)+16>>2]|0)|0;c[(c[Sf>>2]|0)+4>>2]=k;if((d[L>>0]|0)!=1){c[Uf>>2]=Xe(c[rd>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,-1,1,0)|0;if((c[Uf>>2]|0)==18){k=866;break c}if(am(c[rd>>2]|0,d[L>>0]|0)|0){k=867;break a}c[(c[rd>>2]|0)+24>>2]=0;k=(c[rd>>2]|0)+8|0;b[k>>1]=e[k>>1]|2048;if((a[(c[Sf>>2]|0)+1>>0]|0)==-1)Nd(c[Pf>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0);a[(c[Sf>>2]|0)+1>>0]=-1;c[(c[Sf>>2]|0)+16>>2]=c[(c[rd>>2]|0)+16>>2];c[(c[Sf>>2]|0)+4>>2]=c[(c[rd>>2]|0)+12>>2]}if((c[(c[Sf>>2]|0)+4>>2]|0)>(c[(c[Pf>>2]|0)+88>>2]|0)){k=866;break c}else k=57;break}case 27:{k=57;break}case 28:{c[E>>2]=(c[(c[Sf>>2]|0)+12>>2]|0)-(c[(c[Sf>>2]|0)+8>>2]|0);j=((c[(c[Sf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[pb>>1]=j;b[(c[rd>>2]|0)+8>>1]=j;while(1){if((c[E>>2]|0)<=0)break d;c[rd>>2]=(c[rd>>2]|0)+40;Ze(c[rd>>2]|0);b[(c[rd>>2]|0)+8>>1]=b[pb>>1]|0;c[E>>2]=(c[E>>2]|0)+-1}}case 29:{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);b[(c[rd>>2]|0)+8>>1]=(e[(c[rd>>2]|0)+8>>1]|1)&-129;break}case 30:{Xe(c[rd>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,0,0)|0;a[(c[rd>>2]|0)+10>>0]=a[L>>0]|0;break}case 31:{c[Cd>>2]=(c[(c[Of>>2]|0)+60>>2]|0)+(((c[(c[Sf>>2]|0)+4>>2]|0)-1|0)*40|0);if(fz(c[Cd>>2]|0)|0){k=866;break c}ax(c[rd>>2]|0,c[Cd>>2]|0,2048);break}case 32:{c[La>>2]=c[(c[Sf>>2]|0)+12>>2];c[Ab>>2]=c[(c[Sf>>2]|0)+4>>2];c[Eb>>2]=c[(c[Sf>>2]|0)+8>>2];c[Wc>>2]=(c[l>>2]|0)+((c[Ab>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[Eb>>2]|0)*40|0);do{Ty(c[rd>>2]|0,c[Wc>>2]|0);c[Wc>>2]=(c[Wc>>2]|0)+40;c[rd>>2]=(c[rd>>2]|0)+40;j=(c[La>>2]|0)+-1|0;c[La>>2]=j}while((j|0)!=0);break}case 33:{c[Ma>>2]=c[(c[Sf>>2]|0)+12>>2];c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);while(1){ax(c[rd>>2]|0,c[Wc>>2]|0,4096);if((e[(c[rd>>2]|0)+8>>1]&4096|0)!=0?(cm(c[rd>>2]|0)|0)!=0:0){k=867;break a}j=c[Ma>>2]|0;c[Ma>>2]=j+-1;if(!j)break d;c[rd>>2]=(c[rd>>2]|0)+40;c[Wc>>2]=(c[Wc>>2]|0)+40}}case 34:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);ax(c[rd>>2]|0,c[Wc>>2]|0,4096);break}case 35:{if(((c[(c[Pf>>2]|0)+292>>2]|0)!=0?(c[Rf>>2]|0)>>>0>=(c[hb>>2]|0)>>>0:0)?(qb[c[(c[Pf>>2]|0)+292>>2]&31](c[(c[Pf>>2]|0)+296>>2]|0)|0)!=0:0){k=76;break c}j=gz(c[Of>>2]|0,0)|0;c[Uf>>2]=j;if(0==(j|0)?(c[Uf>>2]=hz(c[Of>>2]|0,1)|0,(c[Uf>>2]|0)==0):0){k=79;break c}break}case 94:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]|e[(c[Xc>>2]|0)+8>>1])&1){Ze(c[rd>>2]|0);break d}if((e[(c[Wc>>2]|0)+8>>1]&16384|0)!=0?(Pe(c[Wc>>2]|0)|0)!=0:0){k=867;break a}if((e[(c[Xc>>2]|0)+8>>1]&16384|0)!=0?(Pe(c[Xc>>2]|0)|0)!=0:0){k=867;break a}if((e[(c[Wc>>2]|0)+8>>1]&18|0)==0?(up(c[Wc>>2]|0,a[L>>0]|0,0)|0)!=0:0){k=867;break a}if((e[(c[Xc>>2]|0)+8>>1]&18|0)==0?(up(c[Xc>>2]|0,a[L>>0]|0,0)|0)!=0:0){k=867;break a}$f=(c[(c[Wc>>2]|0)+12>>2]|0)+(c[(c[Xc>>2]|0)+12>>2]|0)|0;f=Ua;c[f>>2]=$f;c[f+4>>2]=(($f|0)<0)<<31>>31;f=Ua;$f=c[f+4>>2]|0;j=c[(c[Pf>>2]|0)+88>>2]|0;g=((j|0)<0)<<31>>31;if(($f|0)>(g|0)|(($f|0)==(g|0)?(c[f>>2]|0)>>>0>j>>>0:0)){k=866;break c}if(fm(c[rd>>2]|0,(c[Ua>>2]|0)+2|0,(c[rd>>2]|0)==(c[Xc>>2]|0)&1)|0){k=867;break a}b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|2;if((c[rd>>2]|0)!=(c[Xc>>2]|0))EH(c[(c[rd>>2]|0)+16>>2]|0,c[(c[Xc>>2]|0)+16>>2]|0,c[(c[Xc>>2]|0)+12>>2]|0)|0;EH((c[(c[rd>>2]|0)+16>>2]|0)+(c[(c[Xc>>2]|0)+12>>2]|0)|0,c[(c[Wc>>2]|0)+16>>2]|0,c[(c[Wc>>2]|0)+12>>2]|0)|0;a[(c[(c[rd>>2]|0)+16>>2]|0)+(c[Ua>>2]|0)>>0]=0;$f=Ua;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,1,0)|0;a[(c[(c[rd>>2]|0)+16>>2]|0)+$f>>0]=0;$f=(c[rd>>2]|0)+8|0;b[$f>>1]=e[$f>>1]|512;c[(c[rd>>2]|0)+12>>2]=c[Ua>>2];a[(c[rd>>2]|0)+10>>0]=a[L>>0]|0;break}case 93:case 92:case 91:case 90:case 89:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);b[He>>1]=jz(c[Wc>>2]|0)|0;c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);b[Ie>>1]=jz(c[Xc>>2]|0)|0;c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);b[Q>>1]=e[(c[Wc>>2]|0)+8>>1]|e[(c[Xc>>2]|0)+8>>1];e:do if(!(e[Q>>1]&1)){f:do if(e[He>>1]&e[Ie>>1]&4){$f=c[Wc>>2]|0;j=c[$f+4>>2]|0;f=ea;c[f>>2]=c[$f>>2];c[f+4>>2]=j;f=c[Xc>>2]|0;j=c[f+4>>2]|0;$f=ga;c[$f>>2]=c[f>>2];c[$f+4>>2]=j;a[z>>0]=1;switch(d[c[Sf>>2]>>0]|0){case 89:{$f=ea;if(kz(ga,c[$f>>2]|0,c[$f+4>>2]|0)|0)break f;break}case 90:{$f=ea;if(lz(ga,c[$f>>2]|0,c[$f+4>>2]|0)|0)break f;break}case 91:{$f=ea;if(mz(ga,c[$f>>2]|0,c[$f+4>>2]|0)|0)break f;break}case 92:{$f=ea;if((c[$f>>2]|0)==0&(c[$f+4>>2]|0)==0)break e;j=ea;$f=ga;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[$f>>2]|0)==0?(c[$f+4>>2]|0)==-2147483648:0))break f;j=ea;f=ga;$f=ga;c[$f>>2]=KH(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[$f+4>>2]=C;break}default:{$f=ea;if((c[$f>>2]|0)==0&(c[$f+4>>2]|0)==0)break e;$f=ea;if((c[$f>>2]|0)==-1?(c[$f+4>>2]|0)==-1:0){$f=ea;c[$f>>2]=1;c[$f+4>>2]=0}j=ea;f=ga;$f=ga;c[$f>>2]=LH(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[$f+4>>2]=C}}f=ga;j=c[f+4>>2]|0;$f=c[rd>>2]|0;c[$f>>2]=c[f>>2];c[$f+4>>2]=j;b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|4;break d}else a[z>>0]=0;while(0);h[$d>>3]=+Se(c[Wc>>2]|0);h[ae>>3]=+Se(c[Xc>>2]|0);switch(d[c[Sf>>2]>>0]|0){case 89:{h[ae>>3]=+h[ae>>3]+ +h[$d>>3];break}case 90:{h[ae>>3]=+h[ae>>3]-+h[$d>>3];break}case 91:{h[ae>>3]=+h[ae>>3]*+h[$d>>3];break}case 92:{if(+h[$d>>3]==0.0)break e;h[ae>>3]=+h[ae>>3]/+h[$d>>3];break}default:{ag=+h[$d>>3];$f=+N(ag)>=1.0?(ag>0.0?~~+$(+M(ag/4294967296.0),4294967295.0)>>>0:~~+Z((ag-+(~~ag>>>0))/4294967296.0)>>>0):0;j=ea;c[j>>2]=~~ag>>>0;c[j+4>>2]=$f;ag=+h[ae>>3];j=+N(ag)>=1.0?(ag>0.0?~~+$(+M(ag/4294967296.0),4294967295.0)>>>0:~~+Z((ag-+(~~ag>>>0))/4294967296.0)>>>0):0;$f=ga;c[$f>>2]=~~ag>>>0;c[$f+4>>2]=j;$f=ea;if((c[$f>>2]|0)==0&(c[$f+4>>2]|0)==0)break e;$f=ea;if((c[$f>>2]|0)==-1?(c[$f+4>>2]|0)==-1:0){$f=ea;c[$f>>2]=1;c[$f+4>>2]=0}j=ga;$f=ea;h[ae>>3]=+((LH(c[j>>2]|0,c[j+4>>2]|0,c[$f>>2]|0,c[$f+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(fx(+h[ae>>3])|0)){h[c[rd>>2]>>3]=+h[ae>>3];b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|8;if((a[z>>0]|0)!=0?1:((e[He>>1]|e[Ie>>1])&8|0)!=0)break d;rp(c[rd>>2]|0);break d}}while(0);Ze(c[rd>>2]|0);break}case 36:{if(c[(c[Sf>>2]|0)+4>>2]|0)Ye((c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 1:{c[Na>>2]=d[(c[Sf>>2]|0)+3>>0];c[w>>2]=c[(c[Of>>2]|0)+12>>2];c[G>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Ib>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(c[Na>>2]|0))break;c[(c[w>>2]|0)+(c[ba>>2]<<2)>>2]=c[Ib>>2];if((e[(c[Ib>>2]|0)+8>>1]&4096|0)!=0?(cm(c[Ib>>2]|0)|0)!=0:0){k=867;break a}c[ba>>2]=(c[ba>>2]|0)+1;c[Ib>>2]=(c[Ib>>2]|0)+40}c[G+4>>2]=c[(c[Sf>>2]|0)+16>>2];c[G+16>>2]=c[Tf>>2];c[G+12>>2]=c[Of>>2];b[(c[G>>2]|0)+8>>1]=e[(c[G>>2]|0)+8>>1]&-16896|1;a[G+25>>0]=0;$f=Qf;j=c[$f+4>>2]|0;f=(c[Pf>>2]|0)+32|0;c[f>>2]=c[$f>>2];c[f+4>>2]=j;rb[c[(c[G+4>>2]|0)+12>>2]&63](G,c[Na>>2]|0,c[w>>2]|0);f=(c[Pf>>2]|0)+32|0;j=c[f+4>>2]|0;$f=Qf;c[$f>>2]=c[f>>2];c[$f+4>>2]=j;if(a[G+25>>0]|0){if(c[G+20>>2]|0){j=(c[Of>>2]|0)+44|0;$f=c[Pf>>2]|0;c[Ue>>2]=ic(c[G>>2]|0)|0;Ym(j,$f,14418,Ue);c[Uf>>2]=c[G+20>>2]}nz(c[Of>>2]|0,c[Tf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0)}am(c[G>>2]|0,d[L>>0]|0)|0;if(fz(c[G>>2]|0)|0){k=866;break c}break}case 88:case 87:case 86:case 85:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]|e[(c[Xc>>2]|0)+8>>1])&1){Ze(c[rd>>2]|0);break d}$f=Te(c[Xc>>2]|0)|0;j=fa;c[j>>2]=$f;c[j+4>>2]=C;j=Te(c[Wc>>2]|0)|0;$f=ha;c[$f>>2]=j;c[$f+4>>2]=C;a[yb>>0]=a[c[Sf>>2]>>0]|0;do if((d[yb>>0]|0)!=85){g=ha;f=c[g>>2]|0;g=c[g+4>>2]|0;if((d[yb>>0]|0)==86){cg=fa;j=c[cg+4>>2]|g;$f=fa;c[$f>>2]=c[cg>>2]|f;c[$f+4>>2]=j;break}if((f|0)!=0|(g|0)!=0){if((c[ha+4>>2]|0)<0){a[yb>>0]=175-(d[yb>>0]|0);$f=ha;j=c[$f+4>>2]|0;$f=(j|0)>-1|(j|0)==-1&(c[$f>>2]|0)>>>0>4294967232;j=ha;j=AH(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;cg=ha;c[cg>>2]=$f?j:64;c[cg+4>>2]=$f?C:0}cg=ha;$f=c[cg+4>>2]|0;if(($f|0)>0|($f|0)==0&(c[cg>>2]|0)>>>0>=64){cg=fa;$f=c[cg+4>>2]|0;if(($f|0)>0|($f|0)==0&(c[cg>>2]|0)>>>0>=0)f=1;else f=(d[yb>>0]|0)==87;$f=f?0:-1;cg=fa;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;break};c[Je>>2]=c[fa>>2];c[Je+4>>2]=c[fa+4>>2];f=c[ha>>2]|0;j=Je;g=c[j>>2]|0;j=c[j+4>>2]|0;if((d[yb>>0]|0)!=87){$f=GH(g|0,j|0,f|0)|0;cg=Je;c[cg>>2]=$f;c[cg+4>>2]=C;if((c[fa+4>>2]|0)<0){j=ha;j=AH(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=CH(-1,-1,j|0)|0;f=Je;$f=c[f+4>>2]|C;cg=Je;c[cg>>2]=c[f>>2]|j;c[cg+4>>2]=$f}}else{$f=CH(g|0,j|0,f|0)|0;cg=Je;c[cg>>2]=$f;c[cg+4>>2]=C};c[fa>>2]=c[Je>>2];c[fa+4>>2]=c[Je+4>>2]}}else{j=ha;f=fa;$f=c[f+4>>2]&c[j+4>>2];cg=fa;c[cg>>2]=c[f>>2]&c[j>>2];c[cg+4>>2]=$f}while(0);j=fa;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|4;break}case 37:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);wp(c[Wc>>2]|0)|0;$f=c[(c[Sf>>2]|0)+8>>2]|0;cg=c[Wc>>2]|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;break}case 38:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]&4|0)==0?(tp(c[Wc>>2]|0,67,a[L>>0]|0),(e[(c[Wc>>2]|0)+8>>1]&4|0)==0):0){if(!(c[(c[Sf>>2]|0)+8>>2]|0)){k=165;break c}c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}b[(c[Wc>>2]|0)+8>>1]=e[(c[Wc>>2]|0)+8>>1]&-16896|4;break}case 39:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Wc>>2]|0)+8>>1]&4)xp(c[Wc>>2]|0)|0;break}case 40:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Wc>>2]|0)+8>>1]&16384)f=Pe(c[Wc>>2]|0)|0;else f=0;c[Uf>>2]=f;mp(c[Wc>>2]|0,c[(c[Sf>>2]|0)+8>>2]&255,a[L>>0]|0);break}case 83:case 80:case 81:case 82:case 78:case 79:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);b[R>>1]=b[(c[Wc>>2]|0)+8>>1]|0;b[S>>1]=b[(c[Yc>>2]|0)+8>>1]|0;f=d[(c[Sf>>2]|0)+3>>0]|0;do if((e[R>>1]|e[S>>1])&1){if(!(f&128)){f=c[Sf>>2]|0;if(d[(c[Sf>>2]|0)+3>>0]&32){c[rd>>2]=(c[l>>2]|0)+((c[f+8>>2]|0)*40|0);b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|1;break d}if(!(d[f+3>>0]&16))break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}if(((e[R>>1]&1|0)!=0?(e[S>>1]&1|0)!=0:0)?(e[S>>1]&256|0)==0:0){c[be>>2]=0;break}c[be>>2]=1}else{a[s>>0]=f&71;if((a[s>>0]|0)>=67){if((e[(c[Wc>>2]|0)+8>>1]&14|0)==2)pf(c[Wc>>2]|0,0);if((e[(c[Yc>>2]|0)+8>>1]&14|0)==2)pf(c[Yc>>2]|0,0)}else if((a[s>>0]|0)==66){if((e[(c[Wc>>2]|0)+8>>1]&2|0)==0?(e[(c[Wc>>2]|0)+8>>1]&12|0)!=0:0)up(c[Wc>>2]|0,a[L>>0]|0,1)|0;if((e[(c[Yc>>2]|0)+8>>1]&2|0)==0?(e[(c[Yc>>2]|0)+8>>1]&12|0)!=0:0)up(c[Yc>>2]|0,a[L>>0]|0,1)|0}if(e[(c[Wc>>2]|0)+8>>1]&16384){Pe(c[Wc>>2]|0)|0;b[R>>1]=e[R>>1]&-16385}if(e[(c[Yc>>2]|0)+8>>1]&16384){Pe(c[Yc>>2]|0)|0;b[S>>1]=e[S>>1]&-16385}if(a[(c[Pf>>2]|0)+64>>0]|0){k=867;break a}c[be>>2]=oz(c[Yc>>2]|0,c[Wc>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[Sf>>2]>>0]|0){case 79:{c[be>>2]=(c[be>>2]|0)==0&1;break}case 78:{c[be>>2]=(c[be>>2]|0)!=0&1;break}case 82:{c[be>>2]=(c[be>>2]|0)<0&1;break}case 81:{c[be>>2]=(c[be>>2]|0)<=0&1;break}case 80:{c[be>>2]=(c[be>>2]|0)>0&1;break}default:c[be>>2]=(c[be>>2]|0)>=0&1}if(!(d[(c[Sf>>2]|0)+3>>0]&32)){if(c[be>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1}else{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|4;$f=c[be>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31}b[(c[Wc>>2]|0)+8>>1]=b[R>>1]|0;b[(c[Yc>>2]|0)+8>>1]=b[S>>1]|0;break}case 41:{c[o>>2]=c[(c[Sf>>2]|0)+16>>2];break}case 42:{if(!(d[(c[Sf>>2]|0)+3>>0]&1))c[o>>2]=0;c[Pa>>2]=c[(c[Sf>>2]|0)+12>>2];c[$c>>2]=c[(c[Sf>>2]|0)+16>>2];c[Db>>2]=c[(c[Sf>>2]|0)+4>>2];c[Hb>>2]=c[(c[Sf>>2]|0)+8>>2];c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[Pa>>2]|0))break;f=c[ca>>2]|0;if(c[o>>2]|0)f=c[(c[o>>2]|0)+(f<<2)>>2]|0;c[Aa>>2]=f;c[nc>>2]=c[(c[$c>>2]|0)+20+(c[ca>>2]<<2)>>2];c[A>>2]=d[(c[(c[$c>>2]|0)+16>>2]|0)+(c[ca>>2]|0)>>0];c[ja>>2]=oz((c[l>>2]|0)+(((c[Db>>2]|0)+(c[Aa>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[Hb>>2]|0)+(c[Aa>>2]|0)|0)*40|0)|0,c[nc>>2]|0)|0;if(c[ja>>2]|0){k=222;break}c[ca>>2]=(c[ca>>2]|0)+1}if((k|0)==222?(k=0,(c[A>>2]|0)!=0):0)c[ja>>2]=0-(c[ja>>2]|0);c[o>>2]=0;break}case 43:{if((c[ja>>2]|0)<0){c[Tf>>2]=(c[(c[Sf>>2]|0)+4>>2]|0)-1;break d}f=c[Sf>>2]|0;if(!(c[ja>>2]|0)){c[Tf>>2]=(c[f+8>>2]|0)-1;break d}else{c[Tf>>2]=(c[f+12>>2]|0)-1;break d}}case 71:case 72:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Wc>>2]|0)+8>>1]&1)c[Le>>2]=2;else{cg=Te(c[Wc>>2]|0)|0;c[Le>>2]=((cg|0)!=0|(C|0)!=0)&1}c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Xc>>2]|0)+8>>1]&1)c[Me>>2]=2;else{cg=Te(c[Xc>>2]|0)|0;c[Me>>2]=((cg|0)!=0|(C|0)!=0)&1}f=((c[Le>>2]|0)*3|0)+(c[Me>>2]|0)|0;if((d[c[Sf>>2]>>0]|0)==72)c[Le>>2]=d[31124+f>>0];else c[Le>>2]=d[31133+f>>0];c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if((c[Le>>2]|0)==2){b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|1;break d}else{$f=c[Le>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|4;break d}}case 19:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);Ze(c[rd>>2]|0);if(!(e[(c[Wc>>2]|0)+8>>1]&1)){b[(c[rd>>2]|0)+8>>1]=4;$f=Te(c[Wc>>2]|0)|0;$f=((($f|0)!=0|(C|0)!=0)^1)&1;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31}break}case 96:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);Ze(c[rd>>2]|0);if(!(e[(c[Wc>>2]|0)+8>>1]&1)){b[(c[rd>>2]|0)+8>>1]=4;$f=Te(c[Wc>>2]|0)|0;cg=c[rd>>2]|0;c[cg>>2]=~$f;c[cg+4>>2]=~C}break}case 44:{f=c[Sf>>2]|0;if(a[(c[(c[Of>>2]|0)+200>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]|0)>>0]|0){c[Tf>>2]=(c[f+8>>2]|0)-1;break d}else{a[(c[(c[Of>>2]|0)+200>>2]|0)+(c[f+4>>2]|0)>>0]=1;break d}}case 46:case 45:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Wc>>2]|0)+8>>1]&1)){c[B>>2]=+Se(c[Wc>>2]|0)!=0.0&1;if((d[c[Sf>>2]>>0]|0)==46)c[B>>2]=((c[B>>2]|0)!=0^1)&1}else c[B>>2]=c[(c[Sf>>2]|0)+12>>2];if(c[B>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 76:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Wc>>2]|0)+8>>1]&1)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 77:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Wc>>2]|0)+8>>1]&1))c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 47:{c[Fb>>2]=c[(c[Sf>>2]|0)+8>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Ob>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[m>>2]=c[(c[Ob>>2]|0)+80>>2];c[oc>>2]=c[c[Ob>>2]>>2];c[Uf>>2]=pz(c[Ob>>2]|0)|0;if(c[Uf>>2]|0)break c;f=c[Ob>>2]|0;g:do if((c[(c[Ob>>2]|0)+60>>2]|0)==(c[(c[Of>>2]|0)+72>>2]|0))if((e[f+22>>1]|0)<=(c[Fb>>2]|0))k=282;else k=306;else{do if(a[f+25>>0]|0)if(!(c[oc>>2]|0)){c[xd>>2]=(c[l>>2]|0)+((c[(c[Ob>>2]|0)+16>>2]|0)*40|0);cg=c[(c[xd>>2]|0)+12>>2]|0;c[y>>2]=cg;c[(c[Ob>>2]|0)+68>>2]=cg;c[(c[Ob>>2]|0)+64>>2]=cg;c[(c[Ob>>2]|0)+76>>2]=c[(c[xd>>2]|0)+16>>2];break}else{Ze(c[Lc>>2]|0);break g}else{f=c[oc>>2]|0;if(!((d[(c[Ob>>2]|0)+27>>0]|0)>>>2&1)){Ny(f,Sd)|0;cg=qz(c[oc>>2]|0,y)|0;c[(c[Ob>>2]|0)+76>>2]=cg;c[(c[Ob>>2]|0)+64>>2]=c[Sd>>2]}else{rz(f,(c[Ob>>2]|0)+64|0)|0;cg=sz(c[oc>>2]|0,y)|0;c[(c[Ob>>2]|0)+76>>2]=cg}if((c[(c[Ob>>2]|0)+64>>2]|0)>>>0<=(c[y>>2]|0)>>>0)c[(c[Ob>>2]|0)+68>>2]=c[(c[Ob>>2]|0)+64>>2];else c[(c[Ob>>2]|0)+68>>2]=c[y>>2];if((c[(c[Ob>>2]|0)+64>>2]|0)>>>0>(c[(c[Pf>>2]|0)+88>>2]|0)>>>0){k=866;break c}}while(0);c[(c[Ob>>2]|0)+60>>2]=c[(c[Of>>2]|0)+72>>2];f=c[(c[Ob>>2]|0)+76>>2]|0;if((d[c[(c[Ob>>2]|0)+76>>2]>>0]|0)<128){c[xb>>2]=d[f>>0];f=1}else f=(Rw(f,xb)|0)&255;c[(c[Ob>>2]|0)+72>>2]=f&255;b[(c[Ob>>2]|0)+22>>1]=0;c[c[m>>2]>>2]=c[xb>>2];if((c[xb>>2]|0)>>>0<=98307?(c[xb>>2]|0)>>>0<=(c[(c[Ob>>2]|0)+64>>2]|0)>>>0:0){if((c[y>>2]|0)>>>0>=(c[xb>>2]|0)>>>0){k=282;break}c[(c[Ob>>2]|0)+76>>2]=0;c[(c[Ob>>2]|0)+68>>2]=0;k=282;break}c[Uf>>2]=Rk(71391)|0;break d}while(0);do if((k|0)==282){k=0;do if((c[(c[Ob>>2]|0)+72>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0){if(!(c[(c[Ob>>2]|0)+76>>2]|0)){f=ze;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[Uf>>2]=tz(c[oc>>2]|0,0,c[c[m>>2]>>2]|0,(((d[(c[Ob>>2]|0)+27>>0]|0)>>>2&1|0)!=0^1)&1,ze)|0;if(c[Uf>>2]|0)break d;c[Af>>2]=c[ze+16>>2]}else c[Af>>2]=c[(c[Ob>>2]|0)+76>>2];c[X>>2]=e[(c[Ob>>2]|0)+22>>1];c[xb>>2]=c[(c[m>>2]|0)+(c[X>>2]<<2)>>2];c[Ef>>2]=(c[Af>>2]|0)+(c[(c[Ob>>2]|0)+72>>2]|0);c[Cf>>2]=(c[Af>>2]|0)+(c[c[m>>2]>>2]|0);do{f=c[Ef>>2]|0;if((d[c[Ef>>2]>>0]|0)<128){c[De>>2]=d[f>>0];c[Ef>>2]=(c[Ef>>2]|0)+1}else{cg=(Rw(f,De)|0)&255;c[Ef>>2]=(c[Ef>>2]|0)+cg}c[(c[Ob>>2]|0)+84+(c[X>>2]<<2)>>2]=c[De>>2];c[Ce>>2]=Ww(c[De>>2]|0)|0;c[xb>>2]=(c[xb>>2]|0)+(c[Ce>>2]|0);if((c[xb>>2]|0)>>>0<(c[Ce>>2]|0)>>>0){k=292;break}c[X>>2]=(c[X>>2]|0)+1;c[(c[m>>2]|0)+(c[X>>2]<<2)>>2]=c[xb>>2];if((c[X>>2]|0)>(c[Fb>>2]|0))break}while((c[Ef>>2]|0)>>>0<(c[Cf>>2]|0)>>>0);if((k|0)==292){k=0;c[Ef>>2]=(c[Cf>>2]|0)+1}b[(c[Ob>>2]|0)+22>>1]=c[X>>2];c[(c[Ob>>2]|0)+72>>2]=(c[Ef>>2]|0)-(c[Af>>2]|0);if(!(c[(c[Ob>>2]|0)+76>>2]|0)){Oe(ze);b[ze+8>>1]=1}if((c[Ef>>2]|0)>>>0>=(c[Cf>>2]|0)>>>0){if((c[Ef>>2]|0)>>>0<=(c[Cf>>2]|0)>>>0?(c[xb>>2]|0)==(c[(c[Ob>>2]|0)+64>>2]|0):0)k=300}else k=300;if((k|0)==300?(k=0,(c[xb>>2]|0)>>>0<=(c[(c[Ob>>2]|0)+64>>2]|0)>>>0):0)break;c[Uf>>2]=Rk(71475)|0;break d}while(0);if((e[(c[Ob>>2]|0)+22>>1]|0)<=(c[Fb>>2]|0)){f=c[Lc>>2]|0;if((a[(c[Sf>>2]|0)+1>>0]|0)==-8){ax(f,c[(c[Sf>>2]|0)+16>>2]|0,2048);break}else{Ze(f);break}}else k=306}while(0);if((k|0)==306){k=0;if(e[(c[Lc>>2]|0)+8>>1]&9312)Ze(c[Lc>>2]|0);c[De>>2]=c[(c[Ob>>2]|0)+84+(c[Fb>>2]<<2)>>2];do if((c[(c[Ob>>2]|0)+68>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[Fb>>2]|0)+1<<2)>>2]|0)>>>0)Xw((c[(c[Ob>>2]|0)+76>>2]|0)+(c[(c[m>>2]|0)+(c[Fb>>2]<<2)>>2]|0)|0,c[De>>2]|0,c[Lc>>2]|0)|0;else{do if(d[(c[Sf>>2]|0)+3>>0]&192){if((c[De>>2]|0)>>>0>=12?(c[De>>2]&1|0)==0:0)break;if(!(d[(c[Sf>>2]|0)+3>>0]&128))k=314}else k=314;while(0);if((k|0)==314?(k=0,cg=Ww(c[De>>2]|0)|0,c[Ja>>2]=cg,(cg|0)!=0):0){c[Uf>>2]=tz(c[oc>>2]|0,c[(c[m>>2]|0)+(c[Fb>>2]<<2)>>2]|0,c[Ja>>2]|0,(((d[(c[Ob>>2]|0)+27>>0]|0)>>>2&1|0)!=0^1)&1,c[Lc>>2]|0)|0;if(c[Uf>>2]|0)break d;Xw(c[(c[Lc>>2]|0)+16>>2]|0,c[De>>2]|0,c[Lc>>2]|0)|0;cg=(c[Lc>>2]|0)+8|0;b[cg>>1]=e[cg>>1]&-4097;break}Xw((c[De>>2]|0)>>>0<=13?Sd:0,c[De>>2]|0,c[Lc>>2]|0)|0}while(0);a[(c[Lc>>2]|0)+10>>0]=a[L>>0]|0}if((e[(c[Lc>>2]|0)+8>>1]&4096|0)!=0?(c[(c[Lc>>2]|0)+16>>2]|0)!=0:0){b[U>>1]=e[(c[Lc>>2]|0)+8>>1]&18;c[Af>>2]=c[(c[Lc>>2]|0)+16>>2];c[Ja>>2]=c[(c[Lc>>2]|0)+12>>2];if(vp(c[Lc>>2]|0,(c[Ja>>2]|0)+2|0)|0){k=867;break a}EH(c[(c[Lc>>2]|0)+16>>2]|0,c[Af>>2]|0,c[Ja>>2]|0)|0;a[(c[(c[Lc>>2]|0)+16>>2]|0)+(c[Ja>>2]|0)>>0]=0;a[(c[(c[Lc>>2]|0)+16>>2]|0)+((c[Ja>>2]|0)+1)>>0]=0;b[(c[Lc>>2]|0)+8>>1]=e[U>>1]|512}break}case 48:{c[yf>>2]=c[(c[Sf>>2]|0)+16>>2];c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);while(1){cg=c[yf>>2]|0;c[yf>>2]=cg+1;cg=a[cg>>0]|0;a[D>>0]=cg;if(!(cg<<24>>24))break d;tp(c[Wc>>2]|0,a[D>>0]|0,a[L>>0]|0);c[Wc>>2]=(c[Wc>>2]|0)+40}}case 49:{cg=Ya;c[cg>>2]=0;c[cg+4>>2]=0;c[cb>>2]=0;c[kb>>2]=0;c[$a>>2]=c[(c[Sf>>2]|0)+4>>2];c[zf>>2]=c[(c[Sf>>2]|0)+16>>2];c[Hc>>2]=(c[l>>2]|0)+((c[$a>>2]|0)*40|0);c[$a>>2]=c[(c[Sf>>2]|0)+8>>2];c[cd>>2]=(c[Hc>>2]|0)+(((c[$a>>2]|0)-1|0)*40|0);c[P>>2]=d[(c[Of>>2]|0)+87>>0];c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(c[zf>>2]|0){c[vd>>2]=c[Hc>>2];do{$f=c[vd>>2]|0;c[vd>>2]=$f+40;cg=c[zf>>2]|0;c[zf>>2]=cg+1;tp($f,a[cg>>0]|0,a[L>>0]|0)}while((a[c[zf>>2]>>0]|0)!=0)}c[vd>>2]=c[cd>>2];do{cg=uz(c[vd>>2]|0,c[P>>2]|0)|0;c[Be>>2]=cg;c[(c[vd>>2]|0)+28>>2]=cg;c[Ka>>2]=Ww(c[Be>>2]|0)|0;do if(e[(c[vd>>2]|0)+8>>1]&16384){cg=Ya;f=c[vd>>2]|0;if((c[cg>>2]|0)!=0|(c[cg+4>>2]|0)!=0){Pe(f)|0;break}else{c[kb>>2]=(c[kb>>2]|0)+(c[f>>2]|0);c[Ka>>2]=(c[Ka>>2]|0)-(c[c[vd>>2]>>2]|0);break}}while(0);$f=c[Ka>>2]|0;cg=Ya;$f=DH(c[cg>>2]|0,c[cg+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;cg=Ya;c[cg>>2]=$f;c[cg+4>>2]=C;if((c[Be>>2]|0)>>>0<=127)f=1;else f=_w(c[Be>>2]|0,0)|0;c[cb>>2]=(c[cb>>2]|0)+f;cg=(c[vd>>2]|0)+-40|0;c[vd>>2]=cg}while(cg>>>0>=(c[Hc>>2]|0)>>>0);f=c[cb>>2]|0;if((c[cb>>2]|0)>126){c[jb>>2]=_w(f,((f|0)<0)<<31>>31)|0;c[cb>>2]=(c[cb>>2]|0)+(c[jb>>2]|0);$f=c[jb>>2]|0;cg=c[cb>>2]|0;if(($f|0)<(_w(cg,((cg|0)<0)<<31>>31)|0))c[cb>>2]=(c[cb>>2]|0)+1}else c[cb>>2]=f+1;$f=c[cb>>2]|0;f=Ya;f=DH($f|0,(($f|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;$f=Va;c[$f>>2]=f;c[$f+4>>2]=C;$f=Va;f=c[$f+4>>2]|0;cg=c[(c[Pf>>2]|0)+88>>2]|0;j=((cg|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[$f>>2]|0)>>>0>cg>>>0:0)){k=866;break c}if(vp(c[rd>>2]|0,c[Va>>2]|0)|0){k=867;break a}c[Kf>>2]=c[(c[rd>>2]|0)+16>>2];if((c[cb>>2]|0)>>>0<128){a[c[Kf>>2]>>0]=c[cb>>2];f=1}else{f=c[cb>>2]|0;f=vz(c[Kf>>2]|0,f,((f|0)<0)<<31>>31)|0}c[aa>>2]=f&255;c[Ha>>2]=c[cb>>2];c[vd>>2]=c[Hc>>2];do{c[Be>>2]=c[(c[vd>>2]|0)+28>>2];if((c[Be>>2]|0)>>>0<128){a[(c[Kf>>2]|0)+(c[aa>>2]|0)>>0]=c[Be>>2];f=1}else f=vz((c[Kf>>2]|0)+(c[aa>>2]|0)|0,c[Be>>2]|0,0)|0;c[aa>>2]=(c[aa>>2]|0)+(f&255);cg=wz((c[Kf>>2]|0)+(c[Ha>>2]|0)|0,c[vd>>2]|0,c[Be>>2]|0)|0;c[Ha>>2]=(c[Ha>>2]|0)+cg;cg=(c[vd>>2]|0)+40|0;c[vd>>2]=cg}while(cg>>>0<=(c[cd>>2]|0)>>>0);c[(c[rd>>2]|0)+12>>2]=c[Va>>2];b[(c[rd>>2]|0)+8>>1]=16;if(c[kb>>2]|0){c[c[rd>>2]>>2]=c[kb>>2];cg=(c[rd>>2]|0)+8|0;b[cg>>1]=e[cg>>1]|16384}a[(c[rd>>2]|0)+10>>0]=1;break}case 50:{c[pc>>2]=c[c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]>>2];j=Za;c[j>>2]=0;c[j+4>>2]=0;c[Uf>>2]=xz(c[pc>>2]|0,Za)|0;j=Za;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;break}case 2:{c[Cb>>2]=c[(c[Sf>>2]|0)+4>>2];c[Jf>>2]=c[(c[Sf>>2]|0)+16>>2];if(!(c[Cb>>2]|0)){if((c[(c[Pf>>2]|0)+156>>2]|0)>0){Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,31142,Ve);c[Uf>>2]=5;break d}c[gb>>2]=Ed(c[Jf>>2]|0)|0;c[Uf>>2]=yz(c[Pf>>2]|0,0,(c[(c[Pf>>2]|0)+500>>2]|0)+(c[(c[Pf>>2]|0)+496>>2]|0)|0)|0;if(c[Uf>>2]|0)break c;c[qd>>2]=qf(c[Pf>>2]|0,32+(c[gb>>2]|0)+1|0,0)|0;if(!(c[qd>>2]|0))break d;c[c[qd>>2]>>2]=(c[qd>>2]|0)+32;EH(c[c[qd>>2]>>2]|0,c[Jf>>2]|0,(c[gb>>2]|0)+1|0)|0;f=c[Pf>>2]|0;if(a[(c[Pf>>2]|0)+62>>0]|0){a[f+62>>0]=0;a[(c[Pf>>2]|0)+69>>0]=1}else{cg=f+496|0;c[cg>>2]=(c[cg>>2]|0)+1}c[(c[qd>>2]|0)+24>>2]=c[(c[Pf>>2]|0)+488>>2];c[(c[Pf>>2]|0)+488>>2]=c[qd>>2];cg=(c[Pf>>2]|0)+504|0;$f=c[cg+4>>2]|0;j=(c[qd>>2]|0)+8|0;c[j>>2]=c[cg>>2];c[j+4>>2]=$f;j=(c[Pf>>2]|0)+512|0;$f=c[j+4>>2]|0;cg=(c[qd>>2]|0)+16|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;break d}c[ya>>2]=0;c[zd>>2]=c[(c[Pf>>2]|0)+488>>2];while(1){if(!(c[zd>>2]|0))break;if(!($b(c[c[zd>>2]>>2]|0,c[Jf>>2]|0)|0))break;c[ya>>2]=(c[ya>>2]|0)+1;c[zd>>2]=c[(c[zd>>2]|0)+24>>2]}if(!(c[zd>>2]|0)){$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[We>>2]=c[Jf>>2];Ym($f,cg,31193,We);c[Uf>>2]=1;break d}if((c[Cb>>2]|0)==1?(c[(c[Pf>>2]|0)+156>>2]|0)>0:0){Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,31215,_e);c[Uf>>2]=5;break d}if(!(c[(c[zd>>2]|0)+24>>2]|0))f=(d[(c[Pf>>2]|0)+69>>0]|0)!=0;else f=0;c[Fa>>2]=f&1;if(!((c[Fa>>2]|0)!=0&(c[Cb>>2]|0)==1)){c[ya>>2]=(c[(c[Pf>>2]|0)+496>>2]|0)-(c[ya>>2]|0)-1;h:do if((c[Cb>>2]|0)==2){c[Ea>>2]=(c[(c[Pf>>2]|0)+24>>2]&2|0)!=0&1;c[Ba>>2]=0;while(1){if((c[Ba>>2]|0)>=(c[(c[Pf>>2]|0)+20>>2]|0))break h;c[Uf>>2]=zz(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[Ba>>2]<<4)+4>>2]|0,516,(c[Ea>>2]|0)==0&1)|0;if(c[Uf>>2]|0)break c;c[Ba>>2]=(c[Ba>>2]|0)+1}}else c[Ea>>2]=0;while(0);c[Ba>>2]=0;while(1){if((c[Ba>>2]|0)>=(c[(c[Pf>>2]|0)+20>>2]|0))break;c[Uf>>2]=Az(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[Ba>>2]<<4)+4>>2]|0,c[Cb>>2]|0,c[ya>>2]|0)|0;if(c[Uf>>2]|0)break c;c[Ba>>2]=(c[Ba>>2]|0)+1}if(c[Ea>>2]|0){If(c[Pf>>2]|0);ue(c[Pf>>2]|0);c[(c[Pf>>2]|0)+24>>2]=c[(c[Pf>>2]|0)+24>>2]|2}}else{cg=gz(c[Of>>2]|0,1)|0;c[Uf>>2]=cg;if(cg){k=865;break c}a[(c[Pf>>2]|0)+62>>0]=1;if((ez(c[Of>>2]|0)|0)==5){k=377;break c}a[(c[Pf>>2]|0)+69>>0]=0;c[Uf>>2]=c[(c[Of>>2]|0)+80>>2]}while(1){if((c[(c[Pf>>2]|0)+488>>2]|0)==(c[zd>>2]|0))break;c[Ad>>2]=c[(c[Pf>>2]|0)+488>>2];c[(c[Pf>>2]|0)+488>>2]=c[(c[Ad>>2]|0)+24>>2];Nd(c[Pf>>2]|0,c[Ad>>2]|0);cg=(c[Pf>>2]|0)+496|0;c[cg>>2]=(c[cg>>2]|0)+-1}f=c[zd>>2]|0;if((c[Cb>>2]|0)==1){c[(c[Pf>>2]|0)+488>>2]=c[f+24>>2];Nd(c[Pf>>2]|0,c[zd>>2]|0);if(!(c[Fa>>2]|0)){cg=(c[Pf>>2]|0)+496|0;c[cg>>2]=(c[cg>>2]|0)+-1}}else{cg=f+8|0;$f=c[cg+4>>2]|0;j=(c[Pf>>2]|0)+504|0;c[j>>2]=c[cg>>2];c[j+4>>2]=$f;j=(c[zd>>2]|0)+16|0;$f=c[j+4>>2]|0;cg=(c[Pf>>2]|0)+512|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}if((c[Fa>>2]|0)==0?(c[Uf>>2]=yz(c[Pf>>2]|0,c[Cb>>2]|0,c[ya>>2]|0)|0,(c[Uf>>2]|0)!=0):0)break c;break}case 3:{c[I>>2]=c[(c[Sf>>2]|0)+4>>2];c[xa>>2]=c[(c[Sf>>2]|0)+8>>2];if(c[I>>2]|0)f=(a[(c[Pf>>2]|0)+62>>0]|0)!=0^1;else f=0;c[Ge>>2]=f&1;if(!((c[Ge>>2]|0)==0|(c[xa>>2]|0)!=0)?(c[(c[Pf>>2]|0)+156>>2]|0)>0:0){Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,31269,$e);c[Uf>>2]=5;break d}if((c[I>>2]|0)!=(d[(c[Pf>>2]|0)+62>>0]|0)){k=405;break c}if(c[I>>2]|0)f=(c[xa>>2]|0)!=0?31324:31367;else f=31408;Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,f,bf);c[Uf>>2]=1;break}case 4:{if((c[(c[Sf>>2]|0)+8>>2]|0)!=0?(c[(c[Pf>>2]|0)+24>>2]&33554432|0)!=0:0){k=418;break c}c[Kb>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2];if(c[Kb>>2]|0){c[Uf>>2]=he(c[Kb>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0)|0;if((c[Uf>>2]|0)==5){k=421;break c}if(c[Uf>>2]|0)break c;do if((c[(c[Sf>>2]|0)+8>>2]|0)!=0?((e[(c[Of>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){if((d[(c[Pf>>2]|0)+62>>0]|0)!=0?(c[(c[Pf>>2]|0)+152>>2]|0)<=1:0)break;if(!(c[(c[Of>>2]|0)+104>>2]|0)){cg=(c[Pf>>2]|0)+500|0;c[cg>>2]=(c[cg>>2]|0)+1;c[(c[Of>>2]|0)+104>>2]=(c[(c[Pf>>2]|0)+496>>2]|0)+(c[(c[Pf>>2]|0)+500>>2]|0)}c[Uf>>2]=yz(c[Pf>>2]|0,0,(c[(c[Of>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[Uf>>2]|0))c[Uf>>2]=Dz(c[Kb>>2]|0,c[(c[Of>>2]|0)+104>>2]|0)|0;cg=(c[Pf>>2]|0)+504|0;$f=c[cg+4>>2]|0;j=(c[Of>>2]|0)+152|0;c[j>>2]=c[cg>>2];c[j+4>>2]=$f;j=(c[Pf>>2]|0)+512|0;$f=c[j+4>>2]|0;cg=(c[Of>>2]|0)+160|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}while(0);ie(c[Kb>>2]|0,1,ta);c[pa>>2]=c[(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[ta>>2]=0;c[pa>>2]=0}if(d[(c[Sf>>2]|0)+3>>0]|0){if((c[ta>>2]|0)==(c[(c[Sf>>2]|0)+12>>2]|0)?(c[pa>>2]|0)==(c[(c[Sf>>2]|0)+16>>2]|0):0)break d;Nd(c[Pf>>2]|0,c[(c[Of>>2]|0)+44>>2]|0);cg=ef(c[Pf>>2]|0,31456)|0;c[(c[Of>>2]|0)+44>>2]=cg;if((c[c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[ta>>2]|0))Or(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0);cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-33|32;c[Uf>>2]=17}break}case 51:{c[la>>2]=c[(c[Sf>>2]|0)+4>>2];c[ka>>2]=c[(c[Sf>>2]|0)+12>>2];ie(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+4>>2]|0,c[ka>>2]|0,ua);$f=c[ua>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;break}case 52:{c[Ic>>2]=(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4);c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);wp(c[Yc>>2]|0)|0;c[Uf>>2]=te(c[(c[Ic>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,c[c[Yc>>2]>>2]|0)|0;if((c[(c[Sf>>2]|0)+8>>2]|0)!=1){if((c[(c[Sf>>2]|0)+8>>2]|0)==2)a[(c[(c[Ic>>2]|0)+12>>2]|0)+76>>0]=c[c[Yc>>2]>>2]}else{c[c[(c[Ic>>2]|0)+12>>2]>>2]=c[c[Yc>>2]>>2];cg=(c[Pf>>2]|0)+24|0;c[cg>>2]=c[cg>>2]|2}if((c[(c[Sf>>2]|0)+4>>2]|0)==1){If(c[Pf>>2]|0);cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-33}break}case 53:{c[xc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(!((c[xc>>2]|0)!=0?(c[(c[xc>>2]|0)+28>>2]|0)==(c[(c[Sf>>2]|0)+8>>2]|0):0))k=449;break}case 55:case 54:{k=449;break}case 57:case 56:{c[Dc>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Dc>>2]|0)){k=867;break a}a[(c[Dc>>2]|0)+25>>0]=1;cg=(c[Dc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-2|1;c[Uf>>2]=nh(c[c[Pf>>2]>>2]|0,0,c[Pf>>2]|0,(c[Dc>>2]|0)+4|0,5|d[(c[Sf>>2]|0)+3>>0],1054)|0;if(!(c[Uf>>2]|0))c[Uf>>2]=he(c[(c[Dc>>2]|0)+4>>2]|0,1)|0;do if(!(c[Uf>>2]|0)){cg=c[(c[Sf>>2]|0)+16>>2]|0;c[bd>>2]=cg;f=c[(c[Dc>>2]|0)+4>>2]|0;if(!cg){c[Uf>>2]=Fz(f,1,1,0,c[c[Dc>>2]>>2]|0)|0;cg=(c[Dc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-5|4;break}c[Uf>>2]=Hz(f,Ud,2|d[(c[Sf>>2]|0)+3>>0])|0;if(!(c[Uf>>2]|0)){c[(c[Dc>>2]|0)+8>>2]=c[bd>>2];c[Uf>>2]=Fz(c[(c[Dc>>2]|0)+4>>2]|0,c[Ud>>2]|0,1,c[bd>>2]|0,c[c[Dc>>2]>>2]|0)|0}cg=(c[Dc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-5}while(0);cg=(c[Dc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-9|((d[(c[Sf>>2]|0)+3>>0]|0)!=8&1)<<3&255;break}case 58:{c[Ec>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Ec>>2]|0)){k=867;break a}c[(c[Ec>>2]|0)+8>>2]=c[(c[Sf>>2]|0)+16>>2];c[Uf>>2]=Iz(c[Pf>>2]|0,c[(c[Sf>>2]|0)+12>>2]|0,c[Ec>>2]|0)|0;break}case 59:{c[Pb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];j=(c[Pb>>2]|0)+40|0;cg=j;$f=c[cg>>2]|0;cg=c[cg+4>>2]|0;f=DH($f|0,cg|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if(($f|0)==0&(cg|0)==0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 60:{c[Fc>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+12>>2]|0,-1,0)|0;if(!(c[Fc>>2]|0)){k=867;break a}a[(c[Fc>>2]|0)+25>>0]=1;c[(c[Fc>>2]|0)+16>>2]=c[(c[Sf>>2]|0)+8>>2];cg=(c[Fc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-5|4;break}case 61:{Jz(c[Of>>2]|0,c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]=0;break}case 65:case 64:case 63:case 62:{c[Qb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[sb>>2]=d[c[Sf>>2]>>0];a[(c[Qb>>2]|0)+25>>0]=0;f=c[Sf>>2]|0;if((d[(c[Qb>>2]|0)+27>>0]|0)>>>2&1){c[Yc>>2]=(c[l>>2]|0)+((c[f+12>>2]|0)*40|0);if((e[(c[Yc>>2]|0)+8>>1]&14|0)==2)pf(c[Yc>>2]|0,0);$f=Te(c[Yc>>2]|0)|0;cg=qa;c[cg>>2]=$f;c[cg+4>>2]=C;do if(!(e[(c[Yc>>2]|0)+8>>1]&4)){if(!(e[(c[Yc>>2]|0)+8>>1]&8)){c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}cg=qa;if(+h[c[Yc>>2]>>3]<+((c[cg>>2]|0)>>>0)+4294967296.0*+(c[cg+4>>2]|0)){if((c[sb>>2]&1|0)!=1)break;c[sb>>2]=(c[sb>>2]|0)+-1;break}cg=qa;if(+h[c[Yc>>2]>>3]>+((c[cg>>2]|0)>>>0)+4294967296.0*+(c[cg+4>>2]|0)?(c[sb>>2]&1|0)==0:0)c[sb>>2]=(c[sb>>2]|0)+1}while(0);j=qa;c[Uf>>2]=Gw(c[c[Qb>>2]>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,ee)|0;j=qa;$f=c[j+4>>2]|0;cg=(c[Qb>>2]|0)+48|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;if(c[Uf>>2]|0)break c}else{c[bb>>2]=c[f+16>>2];c[Xd>>2]=c[(c[Qb>>2]|0)+8>>2];b[Xd+4>>1]=c[bb>>2];a[Xd+6>>0]=(1&(c[sb>>2]|0)-62|0)!=0?-1:1;c[Xd+8>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Xd+8>>2]|0)+8>>1]&16384)Pe(c[Xd+8>>2]|0)|0;c[Uf>>2]=Gw(c[c[Qb>>2]>>2]|0,Xd,0,0,0,ee)|0;if(c[Uf>>2]|0)break c}a[(c[Qb>>2]|0)+26>>0]=0;c[(c[Qb>>2]|0)+60>>2]=0;f=c[ee>>2]|0;do if((c[sb>>2]|0)>=64){if((f|0)>=0?!((c[ee>>2]|0)==0&(c[sb>>2]|0)==65):0){c[ee>>2]=0;break}c[ee>>2]=0;c[Uf>>2]=sw(c[c[Qb>>2]>>2]|0,ee)|0;if(c[Uf>>2]|0)break c}else{if((f|0)<=0?!((c[ee>>2]|0)==0&(c[sb>>2]|0)==62):0){c[ee>>2]=Kz(c[c[Qb>>2]>>2]|0)|0;break}c[ee>>2]=0;c[Uf>>2]=tw(c[c[Qb>>2]>>2]|0,ee)|0;if(c[Uf>>2]|0)break c}while(0);if(c[ee>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 66:{c[Rb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];a[(c[Rb>>2]|0)+25>>0]=0;c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);$f=Te(c[Xc>>2]|0)|0;cg=(c[Rb>>2]|0)+48|0;c[cg>>2]=$f;c[cg+4>>2]=C;a[(c[Rb>>2]|0)+26>>0]=1;break}case 69:case 68:case 67:{c[Sb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Tc>>2]=0;f=c[(c[Sb>>2]|0)+8>>2]|0;if((c[(c[Sf>>2]|0)+16>>2]|0)>0){c[Yd>>2]=f;b[Yd+4>>1]=c[(c[Sf>>2]|0)+16>>2];c[Yd+8>>2]=c[Yc>>2];c[Ca>>2]=0;while(1){if((c[Ca>>2]|0)>=(e[Yd+4>>1]|0))break;if(e[(c[Yd+8>>2]|0)+((c[Ca>>2]|0)*40|0)+8>>1]&16384)Pe((c[Yd+8>>2]|0)+((c[Ca>>2]|0)*40|0)|0)|0;c[Ca>>2]=(c[Ca>>2]|0)+1}c[Uc>>2]=Yd}else{c[Uc>>2]=Ew(f,r,191,Tc)|0;if(!(c[Uc>>2]|0)){k=867;break a}Fw(c[(c[Sb>>2]|0)+8>>2]|0,c[(c[Yc>>2]|0)+12>>2]|0,c[(c[Yc>>2]|0)+16>>2]|0,c[Uc>>2]|0)}a[(c[Uc>>2]|0)+6>>0]=0;i:do if((d[c[Sf>>2]>>0]|0)==67){c[Ca>>2]=0;while(1){if((c[Ca>>2]|0)>=(e[Yd+4>>1]|0))break i;if(e[(c[Yd+8>>2]|0)+((c[Ca>>2]|0)*40|0)+8>>1]&1)break;c[Ca>>2]=(c[Ca>>2]|0)+1}c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1}while(0);c[Uf>>2]=Gw(c[c[Sb>>2]>>2]|0,c[Uc>>2]|0,0,0,0,fe)|0;if(!(c[(c[Sf>>2]|0)+16>>2]|0))Nd(c[Pf>>2]|0,c[Tc>>2]|0);if(!(c[Uf>>2]|0)){c[(c[Sb>>2]|0)+12>>2]=c[fe>>2];c[t>>2]=(c[fe>>2]|0)==0&1;a[(c[Sb>>2]|0)+25>>0]=1-(c[t>>2]|0);a[(c[Sb>>2]|0)+26>>0]=0;c[(c[Sb>>2]|0)+60>>2]=0;f=(c[t>>2]|0)!=0;if((d[c[Sf>>2]>>0]|0)==69){if(!f)break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}else{if(f)break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}}break}case 70:{c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Tb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[qc>>2]=c[c[Tb>>2]>>2];c[ge>>2]=0;cg=c[Yc>>2]|0;$f=c[cg+4>>2]|0;j=ra;c[j>>2]=c[cg>>2];c[j+4>>2]=$f;j=ra;c[Uf>>2]=Gw(c[qc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,ge)|0;j=ra;$f=c[j+4>>2]|0;cg=(c[Tb>>2]|0)+48|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;a[(c[Tb>>2]|0)+25>>0]=0;c[(c[Tb>>2]|0)+60>>2]=0;a[(c[Tb>>2]|0)+26>>0]=0;if(c[ge>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;c[(c[Tb>>2]|0)+12>>2]=c[ge>>2];break}case 73:{cg=(c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]|0)+40|0;$f=cg;j=c[$f>>2]|0;$f=c[$f+4>>2]|0;f=DH(j|0,$f|0,1,0)|0;c[cg>>2]=f;c[cg+4>>2]=C;cg=c[rd>>2]|0;c[cg>>2]=j;c[cg+4>>2]=$f;break}case 74:{cg=Ke;c[cg>>2]=0;c[cg+4>>2]=0;c[je>>2]=0;c[Ub>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(c[c[Ub>>2]>>2]|0){do if(!((d[(c[Ub>>2]|0)+27>>0]|0)>>>1&1)){c[Uf>>2]=Lz(c[c[Ub>>2]>>2]|0,je)|0;if(c[Uf>>2]|0)break c;if(c[je>>2]|0){cg=Ke;c[cg>>2]=1;c[cg+4>>2]=0;break}c[Uf>>2]=Ny(c[c[Ub>>2]>>2]|0,Ke)|0;cg=Ke;$f=c[cg+4>>2]|0;if(($f|0)>2147483647|($f|0)==2147483647&(c[cg>>2]|0)>>>0>=4294967295){cg=(c[Ub>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-3|2;break}else{$f=Ke;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,1,0)|0;cg=Ke;c[cg>>2]=$f;c[cg+4>>2]=C;break}}while(0);if(c[(c[Sf>>2]|0)+12>>2]|0){if(c[(c[Of>>2]|0)+176>>2]|0){c[Pc>>2]=c[(c[Of>>2]|0)+176>>2];while(1){if(!(c[(c[Pc>>2]|0)+4>>2]|0))break;c[Pc>>2]=c[(c[Pc>>2]|0)+4>>2]}c[fd>>2]=(c[(c[Pc>>2]|0)+12>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0)}else c[fd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);wp(c[fd>>2]|0)|0;cg=c[fd>>2]|0;if((c[cg>>2]|0)==-1?(c[cg+4>>2]|0)==2147483647:0){k=553;break c}if((d[(c[Ub>>2]|0)+27>>0]|0)>>>1&1){k=553;break c}f=Ke;$f=c[f>>2]|0;f=c[f+4>>2]|0;cg=c[fd>>2]|0;cg=DH(c[cg>>2]|0,c[cg+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&$f>>>0>>0){$f=c[fd>>2]|0;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,1,0)|0;cg=Ke;c[cg>>2]=$f;c[cg+4>>2]=C}j=Ke;$f=c[j+4>>2]|0;cg=c[fd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}if((d[(c[Ub>>2]|0)+27>>0]|0)>>>1&1){c[F>>2]=0;do{_b(8,Ke);j=Ke;cg=c[j+4>>2]&1073741823;$f=Ke;c[$f>>2]=c[j>>2];c[$f+4>>2]=cg;$f=Ke;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,1,0)|0;cg=Ke;c[cg>>2]=$f;c[cg+4>>2]=C;cg=Ke;cg=Gw(c[c[Ub>>2]>>2]|0,0,c[cg>>2]|0,c[cg+4>>2]|0,0,je)|0;c[Uf>>2]=cg;if(!((cg|0)==0&(c[je>>2]|0)==0))break;cg=(c[F>>2]|0)+1|0;c[F>>2]=cg}while((cg|0)<100);if((c[Uf>>2]|0)==0&(c[je>>2]|0)==0){k=562;break c}}a[(c[Ub>>2]|0)+26>>0]=0;c[(c[Ub>>2]|0)+60>>2]=0}j=Ke;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;break}case 84:case 75:{c[Gc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[Vb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];f=c[(c[Sf>>2]|0)+12>>2]|0;if((d[c[Sf>>2]>>0]|0)==75){c[_c>>2]=(c[l>>2]|0)+(f*40|0);j=c[_c>>2]|0;$f=c[j+4>>2]|0;cg=sa;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}else{cg=sa;c[cg>>2]=f;c[cg+4>>2]=((f|0)<0)<<31>>31}if(d[(c[Sf>>2]|0)+3>>0]&1){cg=(c[Of>>2]|0)+92|0;c[cg>>2]=(c[cg>>2]|0)+1}if(d[(c[Sf>>2]|0)+3>>0]&2){$f=sa;j=c[$f>>2]|0;$f=c[$f+4>>2]|0;cg=Qf;c[cg>>2]=j;c[cg+4>>2]=$f;cg=(c[Pf>>2]|0)+32|0;c[cg>>2]=j;c[cg+4>>2]=$f}if(e[(c[Gc>>2]|0)+8>>1]&1){c[(c[Gc>>2]|0)+16>>2]=0;c[(c[Gc>>2]|0)+12>>2]=0}if(d[(c[Sf>>2]|0)+3>>0]&16)f=c[(c[Vb>>2]|0)+12>>2]|0;else f=0;c[Ae>>2]=f;if(e[(c[Gc>>2]|0)+8>>1]&16384)c[mb>>2]=c[c[Gc>>2]>>2];else c[mb>>2]=0;cg=sa;c[Uf>>2]=Mz(c[c[Vb>>2]>>2]|0,0,c[cg>>2]|0,c[cg+4>>2]|0,c[(c[Gc>>2]|0)+16>>2]|0,c[(c[Gc>>2]|0)+12>>2]|0,c[mb>>2]|0,(d[(c[Sf>>2]|0)+3>>0]&8|0)!=0&1,c[Ae>>2]|0)|0;a[(c[Vb>>2]|0)+26>>0]=0;c[(c[Vb>>2]|0)+60>>2]=0;if(((c[Uf>>2]|0)==0?(c[(c[Pf>>2]|0)+208>>2]|0)!=0:0)?(c[(c[Sf>>2]|0)+16>>2]|0)!=0:0){c[Bf>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(a[(c[Vb>>2]|0)+24>>0]<<4)>>2];c[Mf>>2]=c[(c[Sf>>2]|0)+16>>2];c[zb>>2]=(d[(c[Sf>>2]|0)+3>>0]&4|0)!=0?23:18;cg=sa;ub[c[(c[Pf>>2]|0)+208>>2]&0](c[(c[Pf>>2]|0)+204>>2]|0,c[zb>>2]|0,c[Bf>>2]|0,c[Mf>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0)}break}case 95:{c[Wb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Uf>>2]=Nz(c[c[Wb>>2]>>2]|0)|0;c[(c[Wb>>2]|0)+60>>2]=0;if((((c[Uf>>2]|0)==0?(c[(c[Pf>>2]|0)+208>>2]|0)!=0:0)?(c[(c[Sf>>2]|0)+16>>2]|0)!=0:0)?((d[(c[Wb>>2]|0)+27>>0]|0)>>>2&1|0)!=0:0){cg=(c[Wb>>2]|0)+48|0;ub[c[(c[Pf>>2]|0)+208>>2]&0](c[(c[Pf>>2]|0)+204>>2]|0,9,c[(c[(c[Pf>>2]|0)+16>>2]|0)+(a[(c[Wb>>2]|0)+24>>0]<<4)>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0)}if(c[(c[Sf>>2]|0)+8>>2]&1){cg=(c[Of>>2]|0)+92|0;c[cg>>2]=(c[cg>>2]|0)+1}break}case 98:{cz(c[Pf>>2]|0,c[(c[Of>>2]|0)+92>>2]|0);c[(c[Of>>2]|0)+92>>2]=0;break}case 99:{c[Xb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[eb>>2]=c[(c[Sf>>2]|0)+16>>2];c[ke>>2]=0;c[Uf>>2]=Oz(c[Xb>>2]|0,c[Yc>>2]|0,c[eb>>2]|0,ke)|0;if(c[ke>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 100:{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[Yb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Uf>>2]=Pz(c[Yb>>2]|0,c[rd>>2]|0)|0;c[(c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+12>>2]<<2)>>2]|0)+60>>2]=0;break}case 102:case 101:{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[ac>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[rc>>2]=c[c[ac>>2]>>2];f=c[rc>>2]|0;if((d[(c[ac>>2]|0)+27>>0]|0)>>>2&1){rz(f,Oa)|0;if((c[Oa>>2]|0)>>>0>(c[(c[Pf>>2]|0)+88>>2]|0)>>>0){k=866;break c}}else{Ny(f,Qa)|0;$f=Qa;f=c[$f+4>>2]|0;cg=c[(c[Pf>>2]|0)+88>>2]|0;j=((cg|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[$f>>2]|0)>>>0>cg>>>0:0)){k=866;break c}c[Oa>>2]=c[Qa>>2]}if(vp(c[rd>>2]|0,(c[Oa>>2]|0)>>>0>32?c[Oa>>2]|0:32)|0){k=867;break a}c[(c[rd>>2]|0)+12>>2]=c[Oa>>2];b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|16;j=c[rc>>2]|0;f=c[Oa>>2]|0;g=c[(c[rd>>2]|0)+16>>2]|0;if(!((d[(c[ac>>2]|0)+27>>0]|0)>>>2&1))c[Uf>>2]=Oy(j,0,f,g)|0;else c[Uf>>2]=Hf(j,0,f,g)|0;a[(c[rd>>2]|0)+10>>0]=1;break}case 103:{c[bc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(a[(c[bc>>2]|0)+25>>0]|0){b[(c[rd>>2]|0)+8>>1]=1;break d}f=c[bc>>2]|0;do if(!(a[(c[bc>>2]|0)+26>>0]|0)){g=c[bc>>2]|0;if(c[f+32>>2]|0){c[Fd>>2]=c[c[g+32>>2]>>2];c[jd>>2]=c[c[Fd>>2]>>2];c[Uf>>2]=vb[c[(c[jd>>2]|0)+48>>2]&63](c[(c[bc>>2]|0)+32>>2]|0,Ne)|0;Qz(c[Of>>2]|0,c[Fd>>2]|0);break}c[Uf>>2]=Rz(g)|0;if(c[Uf>>2]|0)break c;if(a[(c[bc>>2]|0)+25>>0]|0){b[(c[rd>>2]|0)+8>>1]=1;break d}else{c[Uf>>2]=Ny(c[c[bc>>2]>>2]|0,Ne)|0;break}}else{j=f+48|0;$f=c[j+4>>2]|0;cg=Ne;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}while(0);j=Ne;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;break}case 104:{c[cc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];a[(c[cc>>2]|0)+25>>0]=1;c[(c[cc>>2]|0)+60>>2]=0;if(c[c[cc>>2]>>2]|0)ot(c[c[cc>>2]>>2]|0);break}case 105:{c[dc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[sc>>2]=c[c[dc>>2]>>2];c[ne>>2]=0;c[Uf>>2]=Lz(c[sc>>2]|0,ne)|0;a[(c[dc>>2]|0)+25>>0]=c[ne>>2];a[(c[dc>>2]|0)+26>>0]=0;c[(c[dc>>2]|0)+60>>2]=0;if((c[ne>>2]|0)!=0?(c[(c[Sf>>2]|0)+8>>2]|0)>0:0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 107:case 106:{k=(c[Of>>2]|0)+108+8|0;c[k>>2]=(c[k>>2]|0)+1;k=619;break}case 108:{k=619;break}case 5:{c[fc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[pe>>2]=0;c[Uf>>2]=Uz(c[Pf>>2]|0,c[fc>>2]|0,pe)|0;k=627;break}case 7:case 6:{if(c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]|0)k=626;break}case 9:case 8:{k=626;break}case 110:case 109:{c[gc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[uc>>2]=c[c[gc>>2]>>2];if(d[(c[Sf>>2]|0)+3>>0]&1){cg=(c[Of>>2]|0)+92|0;c[cg>>2]=(c[cg>>2]|0)+1}if(e[(c[Xc>>2]|0)+8>>1]&16384)f=Pe(c[Xc>>2]|0)|0;else f=0;c[Uf>>2]=f;if(!(c[Uf>>2]|0)){if(c[(c[gc>>2]|0)+56>>2]|0){c[Uf>>2]=Vz(c[gc>>2]|0,c[Xc>>2]|0)|0;break d}c[db>>2]=c[(c[Xc>>2]|0)+12>>2];c[Ff>>2]=c[(c[Xc>>2]|0)+16>>2];f=c[db>>2]|0;if(d[(c[Sf>>2]|0)+3>>0]&16)g=c[(c[gc>>2]|0)+12>>2]|0;else g=0;c[Uf>>2]=Mz(c[uc>>2]|0,c[Ff>>2]|0,f,((f|0)<0)<<31>>31,14425,0,0,c[(c[Sf>>2]|0)+12>>2]|0,g)|0;c[(c[gc>>2]|0)+60>>2]=0}break}case 111:{c[hc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[vc>>2]=c[c[hc>>2]>>2];c[Zd>>2]=c[(c[hc>>2]|0)+8>>2];b[Zd+4>>1]=c[(c[Sf>>2]|0)+12>>2];a[Zd+6>>0]=0;c[Zd+8>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[Uf>>2]=Gw(c[vc>>2]|0,Zd,0,0,0,qe)|0;if((c[Uf>>2]|0)==0&(c[qe>>2]|0)==0)c[Uf>>2]=Nz(c[vc>>2]|0)|0;c[(c[hc>>2]|0)+60>>2]=0;break}case 112:{c[jc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[wc>>2]=c[c[jc>>2]>>2];b[(c[rd>>2]|0)+8>>1]=1;c[Uf>>2]=Rz(c[jc>>2]|0)|0;if(c[Uf>>2]|0)break c;if(!(a[(c[jc>>2]|0)+25>>0]|0)){cg=we;c[cg>>2]=0;c[cg+4>>2]=0;c[Uf>>2]=Wz(c[Pf>>2]|0,c[wc>>2]|0,we)|0;if(c[Uf>>2]|0)break c;j=we;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;b[(c[rd>>2]|0)+8>>1]=4}break}case 116:case 115:case 114:case 113:{c[kc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=c[(c[kc>>2]|0)+8>>2];b[_d+4>>1]=c[(c[Sf>>2]|0)+16>>2];f=_d+6|0;if((d[c[Sf>>2]>>0]|0)<115)a[f>>0]=-1;else a[f>>0]=0;c[_d+8>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[re>>2]=0;c[Uf>>2]=Xz(c[Pf>>2]|0,c[kc>>2]|0,_d,re)|0;f=c[re>>2]|0;if((d[c[Sf>>2]>>0]&1|0)==1)c[re>>2]=0-f;else c[re>>2]=f+1;if((c[re>>2]|0)>0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 117:{c[ia>>2]=0;c[Dd>>2]=c[(c[Pf>>2]|0)+4>>2];while(1){if(!(c[Dd>>2]|0))break;if((((c[(c[Dd>>2]|0)+40>>2]|0)==-1108210269?((e[(c[Dd>>2]|0)+88>>1]|0)>>>9&1|0)!=0:0)?((e[(c[Dd>>2]|0)+88>>1]|0)>>>2&3|0)<2:0)?(c[(c[Dd>>2]|0)+76>>2]|0)>=0:0)c[ia>>2]=(c[ia>>2]|0)+1;c[Dd>>2]=c[(c[Dd>>2]|0)+52>>2]}b[(c[rd>>2]|0)+8>>1]=1;if((c[ia>>2]|0)>1){c[Uf>>2]=6;a[(c[Of>>2]|0)+86>>0]=2;break d}c[na>>2]=c[(c[Sf>>2]|0)+12>>2];c[va>>2]=0;c[Uf>>2]=Yz(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[na>>2]<<4)+4>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,va)|0;b[(c[rd>>2]|0)+8>>1]=4;$f=c[va>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;if((c[Uf>>2]|0)==0&(c[va>>2]|0)!=0){Zz(c[Pf>>2]|0,c[na>>2]|0,c[va>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0);a[se>>0]=(c[na>>2]|0)+1}break}case 118:{c[Xa>>2]=0;c[Uf>>2]=_z(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,(c[(c[Sf>>2]|0)+12>>2]|0)!=0?Xa:0)|0;if((c[(c[Sf>>2]|0)+12>>2]|0)!=0?(cg=(c[Of>>2]|0)+92|0,c[cg>>2]=(c[cg>>2]|0)+(c[Xa>>2]|0),(c[(c[Sf>>2]|0)+12>>2]|0)>0):0){$f=c[Xa>>2]|0;cg=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0)|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C}break}case 119:{c[lc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(c[(c[lc>>2]|0)+56>>2]|0){$z(c[Pf>>2]|0,c[(c[lc>>2]|0)+56>>2]|0);break d}else{c[Uf>>2]=aA(c[c[lc>>2]>>2]|0)|0;break d}}case 121:case 120:{c[Vd>>2]=0;c[Kc>>2]=(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4);if((d[c[Sf>>2]>>0]|0)==121)c[T>>2]=1;else c[T>>2]=2;c[Uf>>2]=Hz(c[(c[Kc>>2]|0)+4>>2]|0,Vd,c[T>>2]|0)|0;$f=c[Vd>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;break}case 122:{c[oa>>2]=c[(c[Sf>>2]|0)+4>>2];c[Gf>>2]=(c[oa>>2]|0)==1?19269:19288;c[Da>>2]=c[Pf>>2];c[Da+8>>2]=c[(c[Sf>>2]|0)+4>>2];c[Da+4>>2]=(c[Of>>2]|0)+44;cg=c[Pf>>2]|0;j=c[Gf>>2]|0;$f=c[(c[Sf>>2]|0)+16>>2]|0;c[cf>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)>>2];c[cf+4>>2]=j;c[cf+8>>2]=$f;c[Lf>>2]=tf(cg,31484,cf)|0;if(!(c[Lf>>2]|0))c[Uf>>2]=7;else{a[(c[Pf>>2]|0)+140+5>>0]=1;c[Da+12>>2]=0;c[Uf>>2]=Zc(c[Pf>>2]|0,c[Lf>>2]|0,7,Da,0)|0;if(!(c[Uf>>2]|0))c[Uf>>2]=c[Da+12>>2];Nd(c[Pf>>2]|0,c[Lf>>2]|0);a[(c[Pf>>2]|0)+140+5>>0]=0}if(c[Uf>>2]|0)ue(c[Pf>>2]|0);if((c[Uf>>2]|0)==7){k=867;break a}break}case 123:{c[Uf>>2]=Tr(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0)|0;break}case 124:{bA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0);break}case 125:{cA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0);break}case 126:{dA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0);break}case 127:{c[ib>>2]=c[(c[Sf>>2]|0)+8>>2];c[q>>2]=qf(c[Pf>>2]|0,(c[ib>>2]|0)+1<<2,0)|0;if(!(c[q>>2]|0)){k=867;break a}c[Wd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Ia>>2]=0;while(1){f=c[Ia>>2]|0;if((c[Ia>>2]|0)>=(c[ib>>2]|0))break;cg=Te((c[Wc>>2]|0)+(f*40|0)|0)|0;c[(c[q>>2]|0)+(c[Ia>>2]<<2)>>2]=cg;c[Ia>>2]=(c[Ia>>2]|0)+1}c[(c[q>>2]|0)+(f<<2)>>2]=0;c[vf>>2]=eA(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(d[(c[Sf>>2]|0)+3>>0]<<4)+4>>2]|0,c[q>>2]|0,c[ib>>2]|0,c[c[Wd>>2]>>2]|0,_a)|0;Nd(c[Pf>>2]|0,c[q>>2]|0);$f=c[_a>>2]|0;cg=c[Wd>>2]|0;j=cg;$f=AH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;Ze(c[Wc>>2]|0);if(c[_a>>2]|0){if(!(c[vf>>2]|0)){k=867;break a}Xe(c[Wc>>2]|0,c[vf>>2]|0,-1,1,13)|0}am(c[Wc>>2]|0,d[L>>0]|0)|0;break}case 128:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]&32|0)==0?(fA(c[Wc>>2]|0),(e[(c[Wc>>2]|0)+8>>1]&32|0)==0):0){k=867;break a}cg=c[Xc>>2]|0;gA(c[c[Wc>>2]>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0);break}case 129:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]&32|0)!=0?(hA(c[c[Wc>>2]>>2]|0,Qe)|0)!=0:0){k=Qe;Ye((c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=16;break d}Ze(c[Wc>>2]|0);c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;k=16;break}case 130:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[za>>2]=c[(c[Sf>>2]|0)+16>>2];if((e[(c[Wc>>2]|0)+8>>1]&32|0)==0?(fA(c[Wc>>2]|0),(e[(c[Wc>>2]|0)+8>>1]&32|0)==0):0){k=867;break a}if((c[za>>2]|0)!=0?(cg=c[Yc>>2]|0,c[O>>2]=iA(c[c[Wc>>2]>>2]|0,c[za>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0)|0,(c[O>>2]|0)!=0):0){c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}if((c[za>>2]|0)>=0){cg=c[Yc>>2]|0;gA(c[c[Wc>>2]>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0)}break}case 131:{c[td>>2]=c[(c[Sf>>2]|0)+16>>2];c[yd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(a[(c[Sf>>2]|0)+3>>0]|0){c[Ee>>2]=c[(c[td>>2]|0)+20>>2];c[Qc>>2]=c[(c[Of>>2]|0)+176>>2];while(1){if(!(c[Qc>>2]|0))break;if((c[(c[Qc>>2]|0)+24>>2]|0)==(c[Ee>>2]|0))break;c[Qc>>2]=c[(c[Qc>>2]|0)+4>>2]}if(c[Qc>>2]|0)break d}if((c[(c[Of>>2]|0)+184>>2]|0)>=(c[(c[Pf>>2]|0)+88+40>>2]|0)){c[Uf>>2]=1;Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,31548,df);break d}j:do if(!(e[(c[yd>>2]|0)+8>>1]&64)){c[fb>>2]=(c[(c[td>>2]|0)+8>>2]|0)+(c[(c[td>>2]|0)+12>>2]|0);c[Wa>>2]=72+((c[fb>>2]|0)*40|0)+(c[(c[td>>2]|0)+12>>2]<<2)+(c[(c[td>>2]|0)+16>>2]|0);cg=c[Wa>>2]|0;c[Qc>>2]=gf(c[Pf>>2]|0,cg,((cg|0)<0)<<31>>31)|0;if(!(c[Qc>>2]|0)){k=867;break a}Oe(c[yd>>2]|0);b[(c[yd>>2]|0)+8>>1]=64;c[c[yd>>2]>>2]=c[Qc>>2];c[c[Qc>>2]>>2]=c[Of>>2];c[(c[Qc>>2]|0)+60>>2]=c[fb>>2];c[(c[Qc>>2]|0)+64>>2]=c[(c[td>>2]|0)+12>>2];c[(c[Qc>>2]|0)+44>>2]=c[Tf>>2];c[(c[Qc>>2]|0)+12>>2]=c[(c[Of>>2]|0)+8>>2];c[(c[Qc>>2]|0)+52>>2]=c[(c[Of>>2]|0)+28>>2];c[(c[Qc>>2]|0)+20>>2]=c[(c[Of>>2]|0)+56>>2];c[(c[Qc>>2]|0)+40>>2]=c[(c[Of>>2]|0)+36>>2];c[(c[Qc>>2]|0)+8>>2]=c[(c[Of>>2]|0)+4>>2];c[(c[Qc>>2]|0)+48>>2]=c[(c[Of>>2]|0)+32>>2];c[(c[Qc>>2]|0)+24>>2]=c[(c[td>>2]|0)+20>>2];c[(c[Qc>>2]|0)+16>>2]=c[(c[Of>>2]|0)+200>>2];c[(c[Qc>>2]|0)+56>>2]=c[(c[Of>>2]|0)+196>>2];c[Nc>>2]=(c[Qc>>2]|0)+72+((c[(c[Qc>>2]|0)+60>>2]|0)*40|0);c[gd>>2]=(c[Qc>>2]|0)+72;while(1){if((c[gd>>2]|0)==(c[Nc>>2]|0))break j;b[(c[gd>>2]|0)+8>>1]=128;c[(c[gd>>2]|0)+32>>2]=c[Pf>>2];c[gd>>2]=(c[gd>>2]|0)+40}}else c[Qc>>2]=c[c[yd>>2]>>2];while(0);j=(c[Of>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Qc>>2]|0)+4>>2]=c[(c[Of>>2]|0)+176>>2];j=Qf;$f=c[j+4>>2]|0;cg=(c[Qc>>2]|0)+32|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;c[(c[Qc>>2]|0)+68>>2]=c[(c[Of>>2]|0)+92>>2];c[(c[Of>>2]|0)+92>>2]=0;c[(c[Of>>2]|0)+176>>2]=c[Qc>>2];cg=(c[Qc>>2]|0)+72+-40|0;c[l>>2]=cg;c[(c[Of>>2]|0)+8>>2]=cg;c[(c[Of>>2]|0)+28>>2]=c[(c[Qc>>2]|0)+60>>2];c[(c[Of>>2]|0)+36>>2]=c[(c[Qc>>2]|0)+64>>2]&65535;c[(c[Of>>2]|0)+56>>2]=(c[l>>2]|0)+(((c[(c[Of>>2]|0)+28>>2]|0)+1|0)*40|0);cg=c[c[td>>2]>>2]|0;c[n>>2]=cg;c[(c[Of>>2]|0)+4>>2]=cg;c[(c[Of>>2]|0)+32>>2]=c[(c[td>>2]|0)+4>>2];c[(c[Of>>2]|0)+200>>2]=(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Of>>2]|0)+36>>2]<<2);c[(c[Of>>2]|0)+196>>2]=c[(c[td>>2]|0)+16>>2];c[Tf>>2]=-1;BH(c[(c[Of>>2]|0)+200>>2]|0,0,c[(c[Of>>2]|0)+196>>2]|0)|0;break}case 132:{c[Rc>>2]=c[(c[Of>>2]|0)+176>>2];c[Vc>>2]=(c[(c[Rc>>2]|0)+12>>2]|0)+(((c[(c[Sf>>2]|0)+4>>2]|0)+(c[(c[(c[Rc>>2]|0)+8>>2]|0)+((c[(c[Rc>>2]|0)+44>>2]|0)*20|0)+4>>2]|0)|0)*40|0);ax(c[rd>>2]|0,c[Vc>>2]|0,4096);break}case 134:{j=c[Sf>>2]|0;if(c[(c[Pf>>2]|0)+24>>2]&16777216){$f=c[j+8>>2]|0;cg=(c[Pf>>2]|0)+512|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;break d}f=c[(c[Sf>>2]|0)+8>>2]|0;g=((f|0)<0)<<31>>31;if(c[j+4>>2]|0){cg=(c[Pf>>2]|0)+504|0;$f=cg;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,f|0,g|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;break d}else{cg=(c[Of>>2]|0)+144|0;$f=cg;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,f|0,g|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;break d}}case 135:if(c[(c[Sf>>2]|0)+4>>2]|0){cg=(c[Pf>>2]|0)+504|0;if(!((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0))break d;cg=(c[Pf>>2]|0)+512|0;if(!((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0))break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}else{cg=(c[Of>>2]|0)+144|0;if(!((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0))break d;cg=(c[Pf>>2]|0)+512|0;if(!((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0))break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}case 136:{if(c[(c[Of>>2]|0)+176>>2]|0){c[Sc>>2]=c[(c[Of>>2]|0)+176>>2];while(1){if(!(c[(c[Sc>>2]|0)+4>>2]|0))break;c[Sc>>2]=c[(c[Sc>>2]|0)+4>>2]}c[Wc>>2]=(c[(c[Sc>>2]|0)+12>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0)}else c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);wp(c[Wc>>2]|0)|0;c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);wp(c[Xc>>2]|0)|0;$f=c[Wc>>2]|0;f=c[$f+4>>2]|0;cg=c[Xc>>2]|0;j=c[cg+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[$f>>2]|0)>>>0<(c[cg>>2]|0)>>>0:0)){j=c[Xc>>2]|0;$f=c[j+4>>2]|0;cg=c[Wc>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}break}case 137:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);cg=c[Wc>>2]|0;$f=c[cg+4>>2]|0;if(($f|0)>0|($f|0)==0&(c[cg>>2]|0)>>>0>0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 138:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);$f=c[(c[Sf>>2]|0)+12>>2]|0;cg=c[Wc>>2]|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;if((c[(c[Wc>>2]|0)+4>>2]|0)<0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 139:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);$f=c[(c[Sf>>2]|0)+12>>2]|0;cg=c[Wc>>2]|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;cg=c[Wc>>2]|0;if((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 10:{c[Ra>>2]=d[(c[Sf>>2]|0)+3>>0];c[wd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[x>>2]=c[(c[Of>>2]|0)+12>>2];c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[Ra>>2]|0))break;c[(c[x>>2]|0)+(c[da>>2]<<2)>>2]=c[wd>>2];c[da>>2]=(c[da>>2]|0)+1;c[wd>>2]=(c[wd>>2]|0)+40}c[H+4>>2]=c[(c[Sf>>2]|0)+16>>2];cg=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0)|0;c[hd>>2]=cg;c[H+8>>2]=cg;cg=(c[hd>>2]|0)+12|0;c[cg>>2]=(c[cg>>2]|0)+1;$w(Fe,c[Pf>>2]|0,1);c[H>>2]=Fe;c[H+20>>2]=0;c[H+12>>2]=c[Of>>2];c[H+16>>2]=c[Tf>>2];a[H+24>>0]=0;rb[c[(c[H+4>>2]|0)+16>>2]&63](H,c[Ra>>2]|0,c[x>>2]|0);if(c[H+20>>2]|0){$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[ff>>2]=ic(Fe)|0;Ym($f,cg,14418,ff);c[Uf>>2]=c[H+20>>2]}if((a[H+24>>0]|0)!=0?(c[da>>2]=c[(c[Sf>>2]|0)+-20+4>>2],(c[da>>2]|0)!=0):0)Ye((c[l>>2]|0)+((c[da>>2]|0)*40|0)|0,1,0);Oe(Fe);break}case 140:{c[id>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Uf>>2]=cx(c[id>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0)|0;if(c[Uf>>2]|0){$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[hf>>2]=ic(c[id>>2]|0)|0;Ym($f,cg,14418,hf)}am(c[id>>2]|0,d[L>>0]|0)|0;if(fz(c[id>>2]|0)|0){k=866;break c}break}case 11:{c[p>>2]=0;c[p+8>>2]=-1;c[p+4>>2]=-1;c[Uf>>2]=bg(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,p+4|0,p+8|0)|0;if((c[Uf>>2]|0)==5){c[Uf>>2]=0;c[p>>2]=1}c[W>>2]=0;c[ed>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[W>>2]|0)>=3)break d;cg=c[p+(c[W>>2]<<2)>>2]|0;Ye(c[ed>>2]|0,cg,((cg|0)<0)<<31>>31);c[W>>2]=(c[W>>2]|0)+1;c[ed>>2]=(c[ed>>2]|0)+40}}case 12:{c[J>>2]=c[(c[Sf>>2]|0)+12>>2];c[Lb>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2];c[sd>>2]=Id(c[Lb>>2]|0)|0;c[K>>2]=le(c[sd>>2]|0)|0;if((c[J>>2]|0)==-1)c[J>>2]=c[K>>2];if(!(jA(c[sd>>2]|0)|0))c[J>>2]=c[K>>2];c[Df>>2]=qg(c[sd>>2]|0,1)|0;do if((c[J>>2]|0)==5){if((Ed(c[Df>>2]|0)|0)!=0?(kA(c[sd>>2]|0)|0)!=0:0)break;c[J>>2]=c[K>>2]}while(0);do if((c[J>>2]|0)!=(c[K>>2]|0)?(c[K>>2]|0)==5|(c[J>>2]|0)==5:0){if((a[(c[Pf>>2]|0)+62>>0]|0)!=0?(c[(c[Pf>>2]|0)+152>>2]|0)<=1:0){do if((c[K>>2]|0)==5){c[Uf>>2]=lA(c[sd>>2]|0)|0;if(c[Uf>>2]|0)break;mA(c[sd>>2]|0,c[J>>2]|0)|0}else{if((c[K>>2]|0)!=4)break;mA(c[sd>>2]|0,2)|0}while(0);if(c[Uf>>2]|0)break;c[Uf>>2]=ve(c[Lb>>2]|0,(c[J>>2]|0)==5?2:1)|0;break}c[Uf>>2]=1;$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[jf>>2]=(c[J>>2]|0)==5?31585:31590;Ym($f,cg,31597,jf);break d}while(0);if(c[Uf>>2]|0)c[J>>2]=c[K>>2];c[J>>2]=mA(c[sd>>2]|0,c[J>>2]|0)|0;c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);b[(c[rd>>2]|0)+8>>1]=2562;cg=Ot(c[J>>2]|0)|0;c[(c[rd>>2]|0)+16>>2]=cg;cg=Ed(c[(c[rd>>2]|0)+16>>2]|0)|0;c[(c[rd>>2]|0)+12>>2]=cg;a[(c[rd>>2]|0)+10>>0]=1;am(c[rd>>2]|0,d[L>>0]|0)|0;break}case 13:{c[Uf>>2]=nA((c[Of>>2]|0)+44|0,c[Pf>>2]|0)|0;break}case 141:{c[Mb>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2];c[Uf>>2]=oA(c[Mb>>2]|0)|0;if((c[Uf>>2]|0)==101){c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;c[Uf>>2]=0}break}case 142:if(c[(c[Sf>>2]|0)+4>>2]|0){cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-33|32;break d}else{If(c[Pf>>2]|0);break d}case 143:{a[Ga>>0]=c[(c[Sf>>2]|0)+12>>2];if((d[Ga>>0]|0)==0?0!=(c[(c[Pf>>2]|0)+24>>2]&16384|0):0)break d;c[Bb>>2]=c[(c[Sf>>2]|0)+4>>2];c[Uf>>2]=pA(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[Bb>>2]<<4)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,a[Ga>>0]|0)|0;if((c[Uf>>2]&255|0)==6){c[wf>>2]=c[(c[Sf>>2]|0)+16>>2];$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[kf>>2]=c[wf>>2];Ym($f,cg,31649,kf)}break}case 144:{c[Bd>>2]=c[(c[Sf>>2]|0)+16>>2];c[Uf>>2]=qA(c[Pf>>2]|0,c[Bd>>2]|0)|0;if(c[Bd>>2]|0)Qz(c[Of>>2]|0,c[(c[Bd>>2]|0)+8>>2]|0);break}case 145:{c[Uf>>2]=rA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,(c[Of>>2]|0)+44|0)|0;break}case 146:{cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13|8;c[Uf>>2]=sA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0)|0;cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13;break}case 147:{c[yc>>2]=0;c[Od>>2]=0;c[Gd>>2]=c[(c[(c[Sf>>2]|0)+16>>2]|0)+8>>2];c[kd>>2]=c[c[Gd>>2]>>2];c[Uf>>2]=vb[c[(c[kd>>2]|0)+24>>2]&63](c[Gd>>2]|0,Od)|0;Qz(c[Of>>2]|0,c[Gd>>2]|0);if(!(c[Uf>>2]|0)){c[c[Od>>2]>>2]=c[Gd>>2];c[yc>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,0,-1,0)|0;if(c[yc>>2]|0){c[(c[yc>>2]|0)+32>>2]=c[Od>>2];break d}else{a[(c[Pf>>2]|0)+64>>0]=1;qb[c[(c[kd>>2]|0)+28>>2]&31](c[Od>>2]|0)|0;break d}}break}case 14:{c[ud>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Jb>>2]=(c[ud>>2]|0)+40;c[zc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Pd>>2]=c[(c[zc>>2]|0)+32>>2];c[Hd>>2]=c[c[Pd>>2]>>2];c[ld>>2]=c[c[Hd>>2]>>2];c[Sa>>2]=c[c[Jb>>2]>>2];c[wa>>2]=c[c[ud>>2]>>2];c[ce>>2]=0;c[u>>2]=c[(c[Of>>2]|0)+12>>2];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[Sa>>2]|0))break;c[(c[u>>2]|0)+(c[Y>>2]<<2)>>2]=(c[Jb>>2]|0)+(((c[Y>>2]|0)+1|0)*40|0);c[Y>>2]=(c[Y>>2]|0)+1}cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13|4;c[Uf>>2]=wb[c[(c[ld>>2]|0)+32>>2]&15](c[Pd>>2]|0,c[wa>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,c[Sa>>2]|0,c[u>>2]|0)|0;cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13;Qz(c[Of>>2]|0,c[Hd>>2]|0);if(!(c[Uf>>2]|0))c[ce>>2]=qb[c[(c[ld>>2]|0)+40>>2]&31](c[Pd>>2]|0)|0;if(c[ce>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;a[(c[zc>>2]|0)+25>>0]=0;break}case 148:{c[Ac>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(a[(c[Ac>>2]|0)+25>>0]|0){Ze(c[Mc>>2]|0);break d}c[Jd>>2]=c[c[(c[Ac>>2]|0)+32>>2]>>2];c[md>>2]=c[c[Jd>>2]>>2];c[ye>>2]=0;c[ye+4>>2]=0;c[ye+8>>2]=0;c[ye+12>>2]=0;c[ye+16>>2]=0;c[ye+20>>2]=0;c[ye+24>>2]=0;c[ye>>2]=c[Mc>>2];b[(c[Mc>>2]|0)+8>>1]=e[(c[Mc>>2]|0)+8>>1]&-16896|1;c[Uf>>2]=lb[c[(c[md>>2]|0)+44>>2]&31](c[(c[Ac>>2]|0)+32>>2]|0,ye,c[(c[Sf>>2]|0)+8>>2]|0)|0;Qz(c[Of>>2]|0,c[Jd>>2]|0);if(c[ye+20>>2]|0)c[Uf>>2]=c[ye+20>>2];am(c[Mc>>2]|0,d[L>>0]|0)|0;if(fz(c[Mc>>2]|0)|0){k=866;break c}break}case 149:{c[de>>2]=0;c[Bc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[Bc>>2]|0)+25>>0]|0)){c[Kd>>2]=c[c[(c[Bc>>2]|0)+32>>2]>>2];c[nd>>2]=c[c[Kd>>2]>>2];cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13|4;c[Uf>>2]=qb[c[(c[nd>>2]|0)+36>>2]&31](c[(c[Bc>>2]|0)+32>>2]|0)|0;cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13;Qz(c[Of>>2]|0,c[Kd>>2]|0);if(!(c[Uf>>2]|0))c[de>>2]=qb[c[(c[nd>>2]|0)+40>>2]&31](c[(c[Bc>>2]|0)+32>>2]|0)|0;if(c[de>>2]|0)k=16;else{c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;k=16}}break}case 150:{c[Ld>>2]=c[(c[(c[Sf>>2]|0)+16>>2]|0)+8>>2];c[pd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Uf>>2]=am(c[pd>>2]|0,1)|0;if(!(c[Uf>>2]|0)){c[Uf>>2]=vb[c[(c[c[Ld>>2]>>2]|0)+76>>2]&63](c[Ld>>2]|0,c[(c[pd>>2]|0)+16>>2]|0)|0;Qz(c[Of>>2]|0,c[Ld>>2]|0);cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-33}break}case 15:{c[Md>>2]=c[(c[(c[Sf>>2]|0)+16>>2]|0)+8>>2];c[od>>2]=c[c[Md>>2]>>2];c[Ta>>2]=c[(c[Sf>>2]|0)+8>>2];if(c[(c[od>>2]|0)+52>>2]|0){a[sf>>0]=a[(c[Pf>>2]|0)+68>>0]|0;c[v>>2]=c[(c[Of>>2]|0)+12>>2];c[Rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[Ta>>2]|0))break;c[(c[v>>2]|0)+(c[_>>2]<<2)>>2]=c[Rd>>2];c[Rd>>2]=(c[Rd>>2]|0)+40;c[_>>2]=(c[_>>2]|0)+1}a[(c[Pf>>2]|0)+68>>0]=a[(c[Sf>>2]|0)+3>>0]|0;c[Uf>>2]=tb[c[(c[od>>2]|0)+52>>2]&15](c[Md>>2]|0,c[Ta>>2]|0,c[v>>2]|0,xe)|0;a[(c[Pf>>2]|0)+68>>0]=a[sf>>0]|0;Qz(c[Of>>2]|0,c[Md>>2]|0);if((c[Uf>>2]|0)==0?(c[(c[Sf>>2]|0)+4>>2]|0)!=0:0){$f=xe;j=c[$f>>2]|0;$f=c[$f+4>>2]|0;cg=Qf;c[cg>>2]=j;c[cg+4>>2]=$f;cg=(c[Pf>>2]|0)+32|0;c[cg>>2]=j;c[cg+4>>2]=$f}if((c[Uf>>2]&255|0)==19?(d[(c[(c[Sf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[Sf>>2]|0)+3>>0]|0)==4){c[Uf>>2]=0;break d}if((d[(c[Sf>>2]|0)+3>>0]|0)==5)f=2;else f=d[(c[Sf>>2]|0)+3>>0]|0;a[(c[Of>>2]|0)+86>>0]=f;break d}cg=(c[Of>>2]|0)+92|0;c[cg>>2]=(c[cg>>2]|0)+1}break}case 151:{$f=me(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=0;break}case 152:{c[Nb>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2];c[nb>>2]=0;if((c[(c[Sf>>2]|0)+12>>2]|0)!=0?(c[nb>>2]=me(c[Nb>>2]|0)|0,(c[nb>>2]|0)>>>0<(c[(c[Sf>>2]|0)+12>>2]|0)>>>0):0)c[nb>>2]=c[(c[Sf>>2]|0)+12>>2];$f=tA(c[Nb>>2]|0,c[nb>>2]|0)|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;break}case 153:{if(c[(c[Sf>>2]|0)+8>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;if((c[(c[Pf>>2]|0)+172>>2]|0)!=0?((e[(c[Of>>2]|0)+88>>1]|0)>>>11&1|0)==0:0){if(c[(c[Sf>>2]|0)+16>>2]|0)f=c[(c[Sf>>2]|0)+16>>2]|0;else f=c[(c[Of>>2]|0)+168>>2]|0;c[Nf>>2]=f;if(f){c[xf>>2]=uA(c[Of>>2]|0,c[Nf>>2]|0)|0;ob[c[(c[Pf>>2]|0)+172>>2]&7](c[(c[Pf>>2]|0)+176>>2]|0,c[xf>>2]|0);Nd(c[Pf>>2]|0,c[xf>>2]|0)}}break}default:{}}while(0);do if((k|0)==28){k=0;if(c[(c[Sf>>2]|0)+4>>2]|0){k=33;break c}if(!(c[(c[Of>>2]|0)+176>>2]|0)){k=33;break c}c[Oc>>2]=c[(c[Of>>2]|0)+176>>2];c[(c[Of>>2]|0)+176>>2]=c[(c[Oc>>2]|0)+4>>2];j=(c[Of>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+-1;cz(c[Pf>>2]|0,c[(c[Of>>2]|0)+92>>2]|0);c[Tf>>2]=dz(c[Oc>>2]|0)|0;j=(c[Pf>>2]|0)+32|0;$f=c[j+4>>2]|0;cg=Qf;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;if((c[(c[Sf>>2]|0)+8>>2]|0)==4)c[Tf>>2]=(c[(c[(c[Of>>2]|0)+4>>2]|0)+((c[Tf>>2]|0)*20|0)+8>>2]|0)-1;c[n>>2]=c[(c[Of>>2]|0)+4>>2];c[l>>2]=c[(c[Of>>2]|0)+8>>2]}else if((k|0)==57){k=0;b[(c[rd>>2]|0)+8>>1]=2562;c[(c[rd>>2]|0)+16>>2]=c[(c[Sf>>2]|0)+16>>2];c[(c[rd>>2]|0)+12>>2]=c[(c[Sf>>2]|0)+4>>2];a[(c[rd>>2]|0)+10>>0]=a[L>>0]|0}else if((k|0)==449){k=0;if((e[(c[Of>>2]|0)+88>>1]|0)>>>5&1){c[Uf>>2]=516;break}c[ab>>2]=0;c[ad>>2]=0;c[Gb>>2]=c[(c[Sf>>2]|0)+8>>2];c[ma>>2]=c[(c[Sf>>2]|0)+12>>2];c[Jc>>2]=(c[(c[Pf>>2]|0)+16>>2]|0)+(c[ma>>2]<<4);c[Qd>>2]=c[(c[Jc>>2]|0)+4>>2];if((d[c[Sf>>2]>>0]|0)==55){c[uf>>2]=1;if((d[(c[(c[Jc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[Of>>2]|0)+87>>0]|0))a[(c[Of>>2]|0)+87>>0]=a[(c[(c[Jc>>2]|0)+12>>2]|0)+76>>0]|0}else c[uf>>2]=0;if((d[(c[Sf>>2]|0)+3>>0]&2|0)!=0?(c[Xc>>2]=(c[l>>2]|0)+((c[Gb>>2]|0)*40|0),wp(c[Xc>>2]|0)|0,c[Gb>>2]=c[c[Xc>>2]>>2],(c[Gb>>2]|0)<2):0){k=457;break c}f=c[Sf>>2]|0;if((a[(c[Sf>>2]|0)+1>>0]|0)!=-6){if((a[f+1>>0]|0)==-14)c[ab>>2]=c[(c[Sf>>2]|0)+16>>2]}else{c[ad>>2]=c[f+16>>2];c[ab>>2]=(e[(c[ad>>2]|0)+6>>1]|0)+(e[(c[ad>>2]|0)+8>>1]|0)}c[Cc>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[ab>>2]|0,c[ma>>2]|0,1)|0;if(!(c[Cc>>2]|0)){k=867;break a}a[(c[Cc>>2]|0)+25>>0]=1;cg=(c[Cc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-9|8;c[(c[Cc>>2]|0)+28>>2]=c[Gb>>2];c[Uf>>2]=Fz(c[Qd>>2]|0,c[Gb>>2]|0,c[uf>>2]|0,c[ad>>2]|0,c[c[Cc>>2]>>2]|0)|0;c[(c[Cc>>2]|0)+8>>2]=c[ad>>2];Gz(c[c[Cc>>2]>>2]|0,d[(c[Sf>>2]|0)+3>>0]&1);cg=(c[Cc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-5|((a[(c[Sf>>2]|0)+1>>0]|0)!=-6&1)<<2&255}else if((k|0)==619){k=0;c[ec>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[oe>>2]=1;f=c[ec>>2]|0;if(c[(c[ec>>2]|0)+56>>2]|0)c[Uf>>2]=Sz(f,oe)|0;else{c[tc>>2]=c[f>>2];c[Uf>>2]=Tz(c[tc>>2]|0,oe)|0;a[(c[ec>>2]|0)+26>>0]=0;c[(c[ec>>2]|0)+60>>2]=0}a[(c[ec>>2]|0)+25>>0]=c[oe>>2];if(c[oe>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1}else if((k|0)==626){c[fc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[pe>>2]=c[(c[Sf>>2]|0)+12>>2];c[Uf>>2]=vb[c[(c[Sf>>2]|0)+16>>2]&63](c[c[fc>>2]>>2]|0,pe)|0;k=627}while(0);do if((k|0)==627){c[(c[fc>>2]|0)+60>>2]=0;f=(c[fc>>2]|0)+25|0;if(!(c[pe>>2]|0)){a[f>>0]=0;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;k=(c[Of>>2]|0)+108+(d[(c[Sf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=16;break}else{a[f>>0]=1;k=16;break}}while(0);if((k|0)==16){k=0;if(c[(c[Pf>>2]|0)+240>>2]|0)break b;if(((c[(c[Pf>>2]|0)+292>>2]|0)!=0?(c[Rf>>2]|0)>>>0>=(c[hb>>2]|0)>>>0:0)?(c[hb>>2]=(c[Rf>>2]|0)+(c[(c[Pf>>2]|0)+300>>2]|0)-(((c[Rf>>2]|0)>>>0)%((c[(c[Pf>>2]|0)+300>>2]|0)>>>0)|0),(qb[c[(c[Pf>>2]|0)+292>>2]&31](c[(c[Pf>>2]|0)+296>>2]|0)|0)!=0):0){k=20;break}}c[Tf>>2]=(c[Tf>>2]|0)+1}switch(k|0){case 20:{c[Uf>>2]=9;break a}case 33:{c[(c[Of>>2]|0)+80>>2]=c[(c[Sf>>2]|0)+4>>2];a[(c[Of>>2]|0)+86>>0]=c[(c[Sf>>2]|0)+8>>2];c[(c[Of>>2]|0)+76>>2]=c[Tf>>2];if(c[(c[Of>>2]|0)+80>>2]|0){if(a[(c[Sf>>2]|0)+3>>0]|0)c[Zf>>2]=c[3368+((d[(c[Sf>>2]|0)+3>>0]|0)-1<<2)>>2];else c[Zf>>2]=0;c[Yf>>2]=31054;if((c[Zf>>2]|0)!=0?(c[(c[Sf>>2]|0)+16>>2]|0)!=0:0){$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;Wf=c[(c[Sf>>2]|0)+16>>2]|0;c[Re>>2]=c[Zf>>2];c[Re+4>>2]=Wf;Ym($f,cg,31078,Re)}else k=40;do if((k|0)==40){g=(c[Of>>2]|0)+44|0;f=c[Pf>>2]|0;if(c[(c[Sf>>2]|0)+16>>2]|0){c[Vf>>2]=c[(c[Sf>>2]|0)+16>>2];Ym(g,f,14418,Vf);break}else{c[Wf>>2]=c[Zf>>2];Ym(g,f,31103,Wf);break}}while(0);$f=c[(c[Sf>>2]|0)+4>>2]|0;cg=c[Yf>>2]|0;Yf=c[(c[Of>>2]|0)+168>>2]|0;Zf=c[(c[Of>>2]|0)+44>>2]|0;c[Xf>>2]=c[Tf>>2];c[Xf+4>>2]=Yf;c[Xf+8>>2]=Zf;Zb($f,cg,Xf)}c[Uf>>2]=ez(c[Of>>2]|0)|0;if((c[Uf>>2]|0)==5){c[Uf>>2]=5;c[(c[Of>>2]|0)+80>>2]=5;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}else{c[Uf>>2]=(c[(c[Of>>2]|0)+80>>2]|0)!=0?1:101;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}}case 76:{c[Uf>>2]=9;break a}case 79:{c[(c[Of>>2]|0)+72>>2]=(c[(c[Of>>2]|0)+72>>2]|0)+2|1;cg=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[Of>>2]|0)+20>>2]=cg;c[dd>>2]=cg;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[Sf>>2]|0)+8>>2]|0))break;if((e[(c[dd>>2]|0)+((c[V>>2]|0)*40|0)+8>>1]&4096|0)!=0?(cm((c[dd>>2]|0)+((c[V>>2]|0)*40|0)|0)|0)!=0:0){k=867;break a}iz((c[dd>>2]|0)+((c[V>>2]|0)*40|0)|0)|0;c[V>>2]=(c[V>>2]|0)+1}if(a[(c[Pf>>2]|0)+64>>0]|0){k=867;break a}c[(c[Of>>2]|0)+76>>2]=(c[Tf>>2]|0)+1;c[Uf>>2]=100;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}case 165:{c[Uf>>2]=20;break}case 377:{c[(c[Of>>2]|0)+76>>2]=c[Tf>>2];a[(c[Pf>>2]|0)+62>>0]=0;c[Uf>>2]=5;c[(c[Of>>2]|0)+80>>2]=5;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}case 405:{if(!(c[xa>>2]|0)){cg=gz(c[Of>>2]|0,1)|0;c[Uf>>2]=cg;if(cg){cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}a[(c[Pf>>2]|0)+62>>0]=c[I>>2];if((ez(c[Of>>2]|0)|0)==5){c[(c[Of>>2]|0)+76>>2]=c[Tf>>2];a[(c[Pf>>2]|0)+62>>0]=1-(c[I>>2]|0);c[Uf>>2]=5;c[(c[Of>>2]|0)+80>>2]=5;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}}else{Bz(c[Pf>>2]|0,516);a[(c[Pf>>2]|0)+62>>0]=1}Cz(c[Pf>>2]|0);if(!(c[(c[Of>>2]|0)+80>>2]|0)){c[Uf>>2]=101;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}else{c[Uf>>2]=1;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}}case 418:{c[Uf>>2]=8;break}case 421:{c[(c[Of>>2]|0)+76>>2]=c[Tf>>2];c[Uf>>2]=5;c[(c[Of>>2]|0)+80>>2]=5;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}case 457:{c[Uf>>2]=Rk(72320)|0;break}case 553:{c[Uf>>2]=13;break}case 562:{c[Uf>>2]=13;break}case 865:{cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}case 866:{Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,14395,mf);c[Uf>>2]=18;break a}}if(a[(c[Pf>>2]|0)+64>>0]|0)c[Uf>>2]=7;if((c[Uf>>2]|0)==3082)break a;$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[of>>2]=af(c[Uf>>2]|0)|0;Ym($f,cg,14418,of);break a}while(0);c[Uf>>2]=9;c[(c[Of>>2]|0)+80>>2]=c[Uf>>2];$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[rf>>2]=af(c[Uf>>2]|0)|0;Ym($f,cg,14418,rf)}while(0);if((k|0)==867){a[(c[Pf>>2]|0)+64>>0]=1;Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,23480,nf);c[Uf>>2]=7}c[(c[Of>>2]|0)+80>>2]=c[Uf>>2];cg=c[Uf>>2]|0;Zf=c[(c[Of>>2]|0)+168>>2]|0;$f=c[(c[Of>>2]|0)+44>>2]|0;c[lf>>2]=c[Tf>>2];c[lf+4>>2]=Zf;c[lf+8>>2]=$f;Zb(cg,31678,lf);ez(c[Of>>2]|0)|0;if((c[Uf>>2]|0)==3082)a[(c[Pf>>2]|0)+64>>0]=1;c[Uf>>2]=1;if((d[se>>0]|0)<=0){cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}Or(c[Pf>>2]|0,(d[se>>0]|0)-1|0);cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}function _y(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(c[e>>2]=az(Id(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+212>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=tb[c[(c[b>>2]|0)+212>>2]&15](c[(c[b>>2]|0)+216>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function $y(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;g=h;f=h+12|0;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[g>>2]=c[(c[d>>2]|0)+80>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+44>>2]|0)){ee(b,c[g>>2]|0);g=c[g>>2]|0;i=h;return g|0}a[f>>0]=a[b+64>>0]|0;gh();if(!(c[(c[e>>2]|0)+232>>2]|0)){b=Pf(c[e>>2]|0)|0;c[(c[e>>2]|0)+232>>2]=b}Qf(c[(c[e>>2]|0)+232>>2]|0,-1,c[(c[d>>2]|0)+44>>2]|0,1,-1);hh();a[(c[e>>2]|0)+64>>0]=a[f>>0]|0;c[(c[e>>2]|0)+52>>2]=c[g>>2];g=c[g>>2]|0;i=h;return g|0}function az(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bz(c[(c[d>>2]|0)+208>>2]|0)|0;i=b;return a|0}function bz(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+80>>2]=c[e>>2];b=(c[f>>2]|0)+84|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function dz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+48>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+12>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+40>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+68>>2];i=d;return c[(c[b>>2]|0)+44>>2]|0}function ez(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;l=o+16|0;h=o+20|0;m=o+24|0;g=o+4|0;n=o;f=o+12|0;c[l>>2]=b;c[m>>2]=c[c[l>>2]>>2];if(a[(c[c[l>>2]>>2]|0)+64>>0]|0)c[(c[l>>2]|0)+80>>2]=7;if(c[(c[l>>2]|0)+200>>2]|0)BH(c[(c[l>>2]|0)+200>>2]|0,0,c[(c[l>>2]|0)+196>>2]|0)|0;_C(c[l>>2]|0);if((c[(c[l>>2]|0)+40>>2]|0)!=-1108210269){c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+76>>2]|0)>=0?((e[(c[l>>2]|0)+88>>1]|0)>>>9&1|0)!=0:0){c[n>>2]=0;c[g>>2]=c[(c[l>>2]|0)+80>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[f>>2]=b&1;do if((c[f>>2]|0)!=0?((c[g>>2]|0)!=9?1:((e[(c[l>>2]|0)+88>>1]|0)>>>8&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?((e[(c[l>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){c[n>>2]=2;break}Bz(c[m>>2]|0,516);Cz(c[m>>2]|0);a[(c[m>>2]|0)+62>>0]=1}while(0);if(!(c[(c[l>>2]|0)+80>>2]|0))gz(c[l>>2]|0,0)|0;if((c[(c[m>>2]|0)+304>>2]|0)>0?(c[(c[m>>2]|0)+328>>2]|0)==0:0)j=38;else if((d[(c[m>>2]|0)+62>>0]|0)!=0?(c[(c[m>>2]|0)+156>>2]|0)==(((e[(c[l>>2]|0)+88>>1]|0)>>>8&1|0)==0|0):0){if((c[(c[l>>2]|0)+80>>2]|0)!=0?((c[f>>2]|0)!=0?1:(d[(c[l>>2]|0)+86>>0]|0)!=3):0)Bz(c[m>>2]|0,0);else j=25;do if((j|0)==25){c[h>>2]=gz(c[l>>2]|0,1)|0;do if(c[h>>2]|0){if(!((e[(c[l>>2]|0)+88>>1]|0)>>>8&1)){c[h>>2]=787;break}c[k>>2]=1;n=c[k>>2]|0;i=o;return n|0}else c[h>>2]=$C(c[m>>2]|0,c[l>>2]|0)|0;while(0);if((c[h>>2]|0)==5?((e[(c[l>>2]|0)+88>>1]|0)>>>8&1|0)!=0:0){c[k>>2]=5;n=c[k>>2]|0;i=o;return n|0}if(c[h>>2]|0){c[(c[l>>2]|0)+80>>2]=c[h>>2];Bz(c[m>>2]|0,0);break}else{g=(c[m>>2]|0)+504|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+512|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+24|0;c[g>>2]=c[g>>2]&-16777217;Pr(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+500>>2]=0}else j=38;do if((j|0)==38?(c[n>>2]|0)==0:0){if((c[(c[l>>2]|0)+80>>2]|0)!=0?(d[(c[l>>2]|0)+86>>0]|0)!=3:0)if((d[(c[l>>2]|0)+86>>0]|0)==2){c[n>>2]=2;break}else{Bz(c[m>>2]|0,516);Cz(c[m>>2]|0);a[(c[m>>2]|0)+62>>0]=1;break}c[n>>2]=1}while(0);if((c[n>>2]|0)!=0?(c[h>>2]=hz(c[l>>2]|0,c[n>>2]|0)|0,(c[h>>2]|0)!=0):0){if(!((c[(c[l>>2]|0)+80>>2]|0)!=0?(c[(c[l>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[l>>2]|0)+80>>2]=c[h>>2];Nd(c[m>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[(c[l>>2]|0)+44>>2]=0}Bz(c[m>>2]|0,516);Cz(c[m>>2]|0);a[(c[m>>2]|0)+62>>0]=1}if((e[(c[l>>2]|0)+88>>1]|0)>>>4&1){b=c[m>>2]|0;if((c[n>>2]|0)!=2)cz(b,c[(c[l>>2]|0)+92>>2]|0);else cz(b,0);c[(c[l>>2]|0)+92>>2]=0}}if((c[(c[l>>2]|0)+76>>2]|0)>=0){n=(c[m>>2]|0)+148|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[l>>2]|0)+88>>1]|0)>>>8&1)){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[l>>2]|0)+88>>1]|0)>>>9&1){n=(c[m>>2]|0)+152|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[l>>2]|0)+40>>2]=1369188723;if(a[(c[c[l>>2]>>2]|0)+64>>0]|0)c[(c[l>>2]|0)+80>>2]=7;c[k>>2]=(c[(c[l>>2]|0)+80>>2]|0)==5?5:0;n=c[k>>2]|0;i=o;return n|0}function fz(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+88>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function gz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+504|0,b=(c[h>>2]|0)+512|0,b=DH(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+144|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;Ym((c[f>>2]|0)+44|0,c[h>>2]|0,26762,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function hz(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;m=i;i=i+32|0;d=m+4|0;e=m+16|0;f=m+8|0;k=m+20|0;g=m+28|0;h=m;l=m+12|0;j=m+24|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+500>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+104>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+104>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=Az(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=Az(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+500|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+104>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=yz(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=yz(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+152|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+504|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+160|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+512|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function iz(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=ZC(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function jz(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=YC(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function kz(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;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;d=c[f>>2]|0;k=c[d+4>>2]|0;a=h;c[a>>2]=c[d>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;d=h;b=c[d+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0?(h,h=AH(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,b=C,k=g,a=c[k+4>>2]|0,(b|0)<(a|0)|((b|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((b|0)<0?(h,h=DH(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=AH(0,0,h|0,C|0)|0,b=C,k=g,k=DH(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(b|0)>(a|0)|(b|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=DH(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=AH(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=kz(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=AH(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function mz(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,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+60|0;f=n+56|0;g=n+24|0;o=n+16|0;j=n+48|0;h=n;l=n+40|0;k=n+8|0;m=n+32|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=c[f>>2]|0;b=c[d+4>>2]|0;a=o;c[a>>2]=c[d>>2];c[a+4>>2]=b;a=o;a=KH(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=j;c[b>>2]=a;c[b+4>>2]=C;b=o;b=LH(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;a=KH(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;b=g;b=LH(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=l;b=(c[b>>2]|0)==0&(c[b+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!b){o=h;l=MH(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}m=g;o=c[f>>2]|0;l=o;m=MH(c[l>>2]|0,c[l+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[o>>2]=m;c[o+4>>2]=C;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}else{if(b){o=j;l=k;l=MH(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}while(0);j=m;g=c[j+4>>2]|0;o=m;l=c[o+4>>2]|0;if((g|0)<-1|(g|0)==-1&(c[j>>2]|0)>>>0<2147483648|((l|0)>0|(l|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}o=m;o=MH(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;l=m;c[l>>2]=o;c[l+4>>2]=C;l=h;o=k;o=MH(c[l>>2]|0,c[l+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(kz(m,o,C)|0){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}else{l=m;m=c[l+4>>2]|0;o=c[f>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=m;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}return 0}function nz(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[e>>2]|0)+204;a:while(1){if(!(c[c[j>>2]>>2]|0))break;c[h>>2]=c[c[j>>2]>>2];do if((c[f>>2]|0)>=0){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>31)break;if(!(c[g>>2]&1<>2]|0)+4>>2]))break}c[j>>2]=(c[h>>2]|0)+16;continue a}while(0);if(c[(c[h>>2]|0)+12>>2]|0)nb[c[(c[h>>2]|0)+12>>2]&31](c[(c[h>>2]|0)+8>>2]|0);c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];Nd(c[c[e>>2]>>2]|0,c[h>>2]|0)}i=k;return}function oz(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;j=q+36|0;k=q+16|0;m=q+40|0;n=q+24|0;l=q+20|0;o=q;p=q+8|0;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];a:do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=Zw(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=XC(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){o=c[g>>2]|0;a=c[o+4>>2]|0;p=c[j>>2]|0;b=c[p+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)){c[f>>2]=-1;break}o=c[g>>2]|0;a=c[o+4>>2]|0;p=c[j>>2]|0;b=c[p+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[o>>2]|0)>>>0>(c[p>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}do if(!(c[m>>2]&8))if(c[m>>2]&4){b=c[g>>2]|0;h[o>>3]=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);break}else{c[f>>2]=1;break a}else h[o>>3]=+h[c[g>>2]>>3];while(0);do if(!(c[n>>2]&8))if(c[n>>2]&4){b=c[j>>2]|0;h[p>>3]=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);break}else{c[f>>2]=-1;break a}else h[p>>3]=+h[c[j>>2]>>3];while(0);if(+h[o>>3]<+h[p>>3]){c[f>>2]=-1;break}if(+h[o>>3]>+h[p>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=q;return c[f>>2]|0}function pz(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;b=c[e>>2]|0;do if(a[(c[e>>2]|0)+26>>0]|0)c[d>>2]=WC(b)|0;else{if((c[b>>2]|0)!=0?(sC(c[c[e>>2]>>2]|0)|0)!=0:0){c[d>>2]=tC(c[e>>2]|0)|0;break}c[d>>2]=0}while(0);i=f;return c[d>>2]|0}function qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=VC(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function rz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;if(e[(c[h>>2]|0)+24+20>>1]|0){f=c[h>>2]|0;f=f+24|0;f=f+12|0;f=c[f>>2]|0;g=c[j>>2]|0;c[g>>2]=f;i=l;return 0}c[k>>2]=b[(c[h>>2]|0)+76>>1];Mw(c[(c[h>>2]|0)+120+(c[k>>2]<<2)>>2]|0,e[(c[h>>2]|0)+78+(c[k>>2]<<1)>>1]|0,(c[h>>2]|0)+24|0);f=(c[h>>2]|0)+72|0;a[f>>0]=d[f>>0]|2;f=c[h>>2]|0;f=f+24|0;f=f+12|0;f=c[f>>2]|0;g=c[j>>2]|0;c[g>>2]=f;i=l;return 0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=VC(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function tz(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;r=i;i=i+32|0;j=r+4|0;m=r+16|0;n=r+8|0;o=r+20|0;p=r+28|0;l=r;k=r+12|0;q=r+24|0;c[j>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[k>>2]=0;c[q>>2]=0;f=c[j>>2]|0;if(c[o>>2]|0)c[l>>2]=qz(f,k)|0;else c[l>>2]=sz(f,k)|0;if(((c[m>>2]|0)+(c[n>>2]|0)|0)>>>0<=(c[k>>2]|0)>>>0){c[(c[p>>2]|0)+16>>2]=(c[l>>2]|0)+(c[m>>2]|0);b[(c[p>>2]|0)+8>>1]=4112;c[(c[p>>2]|0)+12>>2]=c[n>>2];q=c[q>>2]|0;i=r;return q|0}b[(c[p>>2]|0)+8>>1]=1;l=vp(c[p>>2]|0,(c[n>>2]|0)+2|0)|0;c[q>>2]=l;if(l){q=c[q>>2]|0;i=r;return q|0}f=c[j>>2]|0;d=c[m>>2]|0;e=c[n>>2]|0;g=c[(c[p>>2]|0)+16>>2]|0;if(c[o>>2]|0)c[q>>2]=Oy(f,d,e,g)|0;else c[q>>2]=Hf(f,d,e,g)|0;if(!(c[q>>2]|0)){a[(c[(c[p>>2]|0)+16>>2]|0)+(c[n>>2]|0)>>0]=0;a[(c[(c[p>>2]|0)+16>>2]|0)+((c[n>>2]|0)+1)>>0]=0;b[(c[p>>2]|0)+8>>1]=528;c[(c[p>>2]|0)+12>>2]=c[n>>2];q=c[q>>2]|0;i=r;return q|0}else{Oe(c[p>>2]|0);q=c[q>>2]|0;i=r;return q|0}return 0}function uz(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;l=m+28|0;d=m+20|0;h=m+24|0;f=m+32|0;g=m+16|0;j=m;k=m+8|0;c[d>>2]=a;c[h>>2]=b;c[f>>2]=e[(c[d>>2]|0)+8>>1];if(c[f>>2]&1){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}if(!(c[f>>2]&4)){if(c[f>>2]&8){c[l>>2]=7;l=c[l>>2]|0;i=m;return l|0}c[g>>2]=c[(c[d>>2]|0)+12>>2];if(c[f>>2]&16384)c[g>>2]=(c[g>>2]|0)+(c[c[d>>2]>>2]|0);c[l>>2]=(c[g>>2]<<1)+12+((c[f>>2]&2|0)!=0&1);l=c[l>>2]|0;i=m;return l|0}a=c[d>>2]|0;b=c[a+4>>2]|0;d=j;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=j;b=c[d>>2]|0;d=c[d+4>>2]|0;do if((c[j+4>>2]|0)<0){if(!((d|0)<-32768|(d|0)==-32768&b>>>0<1)){g=j;g=AH(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;a=k;c[a>>2]=g;c[a+4>>2]=C;break}c[l>>2]=6;l=c[l>>2]|0;i=m;return l|0}else{a=k;c[a>>2]=b;c[a+4>>2]=d}while(0);a=k;g=c[a+4>>2]|0;if(g>>>0<0|(g|0)==0&(c[a>>2]|0)>>>0<=127){a=j;if((0==(c[a+4>>2]|0)?(c[j>>2]&1|0)==(c[a>>2]|0):0)&(c[h>>2]|0)>=4)b=8+(c[k>>2]|0)|0;else b=1;c[l>>2]=b;l=c[l>>2]|0;i=m;return l|0}j=k;h=c[j+4>>2]|0;if(h>>>0<0|(h|0)==0&(c[j>>2]|0)>>>0<=32767){c[l>>2]=2;l=c[l>>2]|0;i=m;return l|0}j=k;h=c[j+4>>2]|0;if(h>>>0<0|(h|0)==0&(c[j>>2]|0)>>>0<=8388607){c[l>>2]=3;l=c[l>>2]|0;i=m;return l|0}j=k;h=c[j+4>>2]|0;if(h>>>0<0|(h|0)==0&(c[j>>2]|0)>>>0<=2147483647){c[l>>2]=4;l=c[l>>2]|0;i=m;return l|0}j=c[k+4>>2]|0;if(j>>>0<32767|(j|0)==32767&(c[k>>2]|0)>>>0<=4294967295){c[l>>2]=5;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=6;l=c[l>>2]|0;i=m;return l|0}return 0}function vz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;d=h;e=c[d>>2]|0;d=c[d+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=e&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(d>>>0<0|(d|0)==0&e>>>0<=16383){k=h;k=GH(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=UC(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function wz(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;n=i;i=i+32|0;f=n+12|0;g=n+20|0;h=n+24|0;j=n+28|0;l=n+8|0;m=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[j>>2]|0;if(!((c[j>>2]|0)>>>0<=7&(c[j>>2]|0)>>>0>0))if(b>>>0>=12){c[l>>2]=c[(c[h>>2]|0)+12>>2];EH(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}else{c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}if((b|0)==7){h=c[h>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2]}else{d=c[h>>2]|0;e=c[d+4>>2]|0;h=m;c[h>>2]=c[d>>2];c[h+4>>2]=e}j=Ww(c[j>>2]|0)|0;c[k>>2]=j;c[l>>2]=j;do{j=c[m>>2]&255;h=(c[k>>2]|0)+-1|0;c[k>>2]=h;a[(c[g>>2]|0)+h>>0]=j;h=m;h=GH(c[h>>2]|0,c[h+4>>2]|0,8)|0;j=m;c[j>>2]=h;c[j+4>>2]=C}while((c[k>>2]|0)!=0);c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}function xz(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;p=i;i=i+32|0;l=p+28|0;h=p+20|0;m=p+24|0;n=p;o=p+16|0;j=p+12|0;k=p+8|0;c[h>>2]=f;c[m>>2]=g;f=n;c[f>>2]=0;c[f+4>>2]=0;if(!(c[(c[h>>2]|0)+60>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[o>>2]=Iw(c[h>>2]|0)|0;a:while(1){if(c[o>>2]|0){g=16;break}c[k>>2]=c[(c[h>>2]|0)+120+(b[(c[h>>2]|0)+76>>1]<<2)>>2];if(!((d[(c[k>>2]|0)+5>>0]|0)==0?(a[(c[k>>2]|0)+2>>0]|0)!=0:0)){g=n;g=DH(c[g>>2]|0,c[g+4>>2]|0,e[(c[k>>2]|0)+18>>1]|0,0)|0;f=n;c[f>>2]=g;c[f+4>>2]=C}if(a[(c[k>>2]|0)+5>>0]|0){do{if(!(b[(c[h>>2]|0)+76>>1]|0)){g=10;break a}yw(c[h>>2]|0)}while((e[(c[h>>2]|0)+78+(b[(c[h>>2]|0)+76>>1]<<1)>>1]|0)>=(e[(c[(c[h>>2]|0)+120+(b[(c[h>>2]|0)+76>>1]<<2)>>2]|0)+18>>1]|0));f=(c[h>>2]|0)+78+(b[(c[h>>2]|0)+76>>1]<<1)|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;c[k>>2]=c[(c[h>>2]|0)+120+(b[(c[h>>2]|0)+76>>1]<<2)>>2]}c[j>>2]=e[(c[h>>2]|0)+78+(b[(c[h>>2]|0)+76>>1]<<1)>>1];g=c[h>>2]|0;f=c[k>>2]|0;if((c[j>>2]|0)==(e[(c[k>>2]|0)+18>>1]|0)){c[o>>2]=ww(g,kj((c[(c[k>>2]|0)+56>>2]|0)+((d[f+6>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=ww(g,kj((c[f+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]&(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((g|0)==10){k=n;n=c[k+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[k>>2];c[o+4>>2]=n;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}else if((g|0)==16){c[l>>2]=c[o>>2];o=c[l>>2]|0;i=p;return o|0}return 0} +function FF(b,e,f){b=b|0;e=e|0;f=f|0;var g=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.0;z=i;i=i+160|0;g=z+120|0;j=z+112|0;w=z+104|0;x=z+108|0;m=z+92|0;n=z+72|0;y=z+96|0;l=z;k=z+8|0;o=z+16|0;v=z+88|0;u=z+24|0;t=z+80|0;p=z+100|0;q=z+116|0;r=z+124|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[13848+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(aH(c[y>>2]|0,37098)|0){y=c[x>>2]|0;i=z;return y|0}zF(c[w>>2]|0);v=GF(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=DH(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;HF(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((aH(c[y>>2]|0,37108)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=DH(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=KH(v|0,C|0,86400,0)|0;v=DH(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;HF(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(aH(c[y>>2]|0,37118)|0){y=c[x>>2]|0;i=z;return y|0}zF(c[w>>2]|0);y=l;c[y>>2]=GF(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(c[x>>2]|0){y=c[x>>2]|0;i=z;return y|0}y=l;v=c[w>>2]|0;u=v;c[v>>2]=AH(c[u>>2]|0,c[u+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;c[v+4>>2]=C;HF(c[w>>2]|0);v=l;y=c[v>>2]|0;v=c[v+4>>2]|0;v=AH(y|0,v|0,GF(c[w>>2]|0,c[g>>2]|0,x)|0,C|0)|0;y=c[w>>2]|0;w=y;c[y>>2]=DH(c[w>>2]|0,c[w+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;y=c[x>>2]|0;i=z;return y|0}case 119:{if(dH(c[y>>2]|0,37122,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(Iq((c[y>>2]|0)+8|0,n,Ed((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}AF(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;zF(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=LH(KH(DH(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=AH(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=MH(AH(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=DH(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;HF(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(dH(c[y>>2]|0,37131,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;BF(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(aH(c[y>>2]|0,37141)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(aH(c[y>>2]|0,37147)|0)){BF(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(aH(c[y>>2]|0,37152)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[14426+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(Iq(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[14426+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;b=u;f=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));if(IF(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}zF(u);v=u;v=AH(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=KH(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=MH(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=AH(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=AH(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}zF(c[w>>2]|0);HF(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=DH(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[14426+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Ed(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}zF(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(aH(c[y>>2]|0,37152)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=51;do if((s|0)==51){if((c[m>>2]|0)==4?(aH(c[y>>2]|0,37156)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(aH(c[y>>2]|0,37161)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(aH(c[y>>2]|0,37168)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(aH(c[y>>2]|0,37141)|0)==0:0){AF(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;zF(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(aH(c[y>>2]|0,37147)|0)==0:0){c[r>>2]=~~+h[n>>3];AF(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;zF(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);HF(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function GF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+156|0;j=q+160|0;k=q+164|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;e=m;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=o;b=c[f>>2]|0;d=e+48|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));AF(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;zF(o);l=o;l=KH(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=AH(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(LF(n,m)|0){rc(c[j>>2]|0,37175,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;zF(p);c[c[k>>2]>>2]=0;n=p;p=o;p=AH(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function HF(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function IF(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+112|0;p=q+56|0;r=q+8|0;f=q+76|0;g=q+80|0;j=q+96|0;k=q+92|0;l=q+88|0;o=q+84|0;m=q+48|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=2;c[r+4>>2]=0;c[r+8>>2]=24;c[r+12>>2]=58;c[r+16>>2]=k;c[r+20>>2]=2;c[r+24>>2]=0;c[r+28>>2]=59;c[r+32>>2]=0;c[r+36>>2]=l;if((JF(b,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=2;c[p+4>>2]=0;c[p+8>>2]=59;c[p+12>>2]=0;c[p+16>>2]=o;if((JF(r,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[14426+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[14426+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(KF(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function JF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+40|0;h=p+16|0;n=p+4|0;g=p+8|0;k=p+44|0;j=p;l=p+12|0;m=p+36|0;o=p+32|0;c[f>>2]=b;c[o>>2]=0;c[h>>2]=e;a:while(1){e=(c[h>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[h>>2]=e+4;c[g>>2]=b;b=(c[h>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[h>>2]=b+4;c[k>>2]=e;e=(c[h>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[h>>2]=e+4;c[j>>2]=b;b=(c[h>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[h>>2]=b+4;c[l>>2]=e;e=(c[h>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[h>>2]=e+4;c[m>>2]=b;c[n>>2]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if(!b)break;if(!(d[14426+(d[c[f>>2]>>0]|0)>>0]&4)){f=11;break a}c[n>>2]=((c[n>>2]|0)*10|0)+(a[c[f>>2]>>0]|0)-48;c[f>>2]=(c[f>>2]|0)+1}if((c[n>>2]|0)<(c[k>>2]|0)){f=11;break}if((c[n>>2]|0)>(c[j>>2]|0)){f=11;break}if((c[l>>2]|0)!=0?(c[l>>2]|0)!=(a[c[f>>2]>>0]|0):0){f=11;break}c[c[m>>2]>>2]=c[n>>2];c[f>>2]=(c[f>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[l>>2]|0)){f=11;break}}if((f|0)==11){i=p;return c[o>>2]|0}return 0}function KF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;l=p;n=p+44|0;o=p+56|0;f=p+52|0;k=p+60|0;h=p+40|0;j=p+48|0;g=p+64|0;c[o>>2]=b;c[f>>2]=e;c[k>>2]=0;while(1){if(!(d[14426+(d[c[o>>2]>>0]|0)>>0]&1))break;c[o>>2]=(c[o>>2]|0)+1}c[(c[f>>2]|0)+28>>2]=0;c[g>>2]=a[c[o>>2]>>0];do if((c[g>>2]|0)==45){c[k>>2]=-1;m=11}else{if((c[g>>2]|0)==43){c[k>>2]=1;m=11;break}if((c[g>>2]|0)==90|(c[g>>2]|0)==122){c[o>>2]=(c[o>>2]|0)+1;break}c[n>>2]=(c[g>>2]|0)!=0&1;o=c[n>>2]|0;i=p;return o|0}while(0);do if((m|0)==11){c[o>>2]=(c[o>>2]|0)+1;m=c[o>>2]|0;c[l>>2]=2;c[l+4>>2]=0;c[l+8>>2]=14;c[l+12>>2]=58;c[l+16>>2]=h;c[l+20>>2]=2;c[l+24>>2]=0;c[l+28>>2]=59;c[l+32>>2]=0;c[l+36>>2]=j;if((JF(m,l)|0)==2){c[o>>2]=(c[o>>2]|0)+5;m=_(c[k>>2]|0,(c[j>>2]|0)+((c[h>>2]|0)*60|0)|0)|0;c[(c[f>>2]|0)+28>>2]=m;break}c[n>>2]=1;o=c[n>>2]|0;i=p;return o|0}while(0);while(1){f=c[o>>2]|0;if(!(d[14426+(d[c[o>>2]>>0]|0)>>0]&1))break;c[o>>2]=f+1}c[n>>2]=(a[f>>0]|0)!=0&1;o=c[n>>2]|0;i=p;return o|0}function LF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=hb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[68]|0)!=0?0:a;if(c[e>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;d=a+44|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function MF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+96|0;f=o;g=o+64|0;h=o+76|0;j=o+72|0;m=o+80|0;l=o+60|0;k=o+68|0;n=o+84|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=4;c[f+4>>2]=0;c[f+8>>2]=9999;c[f+12>>2]=45;c[f+16>>2]=m;c[f+20>>2]=2;c[f+24>>2]=1;c[f+28>>2]=12;c[f+32>>2]=45;c[f+36>>2]=l;c[f+40>>2]=2;c[f+44>>2]=1;c[f+48>>2]=31;c[f+52>>2]=0;c[f+56>>2]=k;if((JF(b,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[14426+(d[c[h>>2]>>0]|0)>>0]&1)e=1;else e=84==(d[c[h>>2]>>0]|0);f=c[h>>2]|0;if(!e)break;c[h>>2]=f+1}do if(IF(f,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)zF(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function NF(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+12>>2];a=(c[e>>2]|0)+136|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[d>>2]=Xy(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,(c[e>>2]|0)+136|0)|0,(c[d>>2]|0)!=0):0){d=(c[e>>2]|0)+136|0;c[d>>2]=0;c[d+4>>2]=0}e=(c[e>>2]|0)+136|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function OF(b,e,f){b=b|0;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;v=i;i=i+64|0;g=v+24|0;h=v+20|0;j=v+44|0;u=v+36|0;t=v+32|0;r=v+40|0;m=v+48|0;n=v+52|0;k=v+8|0;l=v+4|0;q=v+28|0;s=v+12|0;o=v;p=v+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((nc(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=ic(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=jc(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=ic(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=MH(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=yG(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=37665;c[l>>2]=7140;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=Dc(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?($G(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?($G((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Sb(c[l>>2]|0)}vc(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function PF(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+8|0;f=n+16|0;g=n+20|0;h=n+24|0;k=n+4|0;j=n;l=n+12|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(Dc(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=zG(c[e>>2]|0)|0;c[j>>2]=0;if((nc(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((nc(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=oz(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}xc(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function QF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+4|0;f=n+8|0;k=n+20|0;l=n+28|0;j=n;h=n+12|0;m=n+24|0;c[g>>2]=a;c[n+16>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=Fc(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(nc(c[c[f>>2]>>2]|0)|0)==5;d=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!d){i=n;return}AG(c[g>>2]|0);i=n;return}f=c[g>>2]|0;if(!d){m=Ec(f)|0;c[(c[l>>2]|0)+32>>2]=m;_e(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=zG(f)|0;c[j>>2]=(Dc(c[g>>2]|0)|0)!=0&1;c[h>>2]=oz(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){AG(c[g>>2]|0);i=n;return}_e(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function RF(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=Fc(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)xc(c[d>>2]|0,c[e>>2]|0);Oe(c[e>>2]|0);i=f;return}function SF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(nc(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=30974;break}case 3:{c[f>>2]=37655;break}case 2:{c[f>>2]=30969;break}case 4:{c[f>>2]=37660;break}default:c[f>>2]=30982}vc(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function TF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(nc(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{sc(c[g>>2]|0,jc(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=ic(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}sc(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{uc(c[g>>2]|0);i=l;return}}}function UF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q;o=q+28|0;p=q+32|0;k=q+40|0;l=q+12|0;m=q+24|0;n=q+20|0;h=q+8|0;j=q+4|0;c[f>>2]=a;c[q+16>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=nc(c[c[g>>2]>>2]|0)|0;c[n>>2]=nc(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=jc(c[c[g>>2]>>2]|0)|0;c[l>>2]=jc(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=hc(b)|0;c[p>>2]=hc(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=ic(b)|0;c[p>>2]=ic(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!($G(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;sc(c[f>>2]|0,c[h>>2]|0);i=q;return}function VF(b,e,f){b=b|0;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;r=i;i=i+48|0;m=r+24|0;g=r+28|0;h=r+32|0;p=r+36|0;q=r+40|0;j=r+44|0;l=r+20|0;n=r;o=r+8|0;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((nc(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(nc(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=nc(c[c[h>>2]>>2]|0)|0;b=lc(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=jc(e)|0;c[p>>2]=hc(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=ic(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=lc(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=AH(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(Ec(c[m>>2]|0)|0)+88>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=DH(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=DH(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=DH(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=DH(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=AH(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=DH(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=DH(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=AH(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;pc(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=DH(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=DH(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;wc(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function WF(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,l=0,m=0,n=0;n=i;i=i+64|0;k=n;e=n+32|0;f=n+44|0;g=n+40|0;l=n+48|0;j=n+4|0;m=n+36|0;h=n+60|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<1){i=n;return}a=ic(c[c[g>>2]>>2]|0)|0;c[m>>2]=a;if(!a){i=n;return}c[l>>2]=(c[f>>2]|0)-1;c[l+4>>2]=0;c[l+8>>2]=(c[g>>2]|0)+4;Zd(j,0,0,1e9);c[j>>2]=Ec(c[e>>2]|0)|0;m=c[m>>2]|0;c[k>>2]=l;jv(j,2,m,k);c[h>>2]=c[j+12>>2];l=c[e>>2]|0;m=$d(j)|0;vc(l,m,c[h>>2]|0,23);i=n;return}function XF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=ic(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;sc(j,du(g)|0);i=h;return}function YF(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,o=0,p=0;o=i;i=i+48|0;f=o+12|0;g=o+16|0;h=o+24|0;m=o+20|0;n=o+32|0;k=o+8|0;l=o;j=o+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=Rb((c[g>>2]<<2)+1|0)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){Bc(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=mc(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;d=l;c[d>>2]=p;c[d+4>>2]=b;d=l;e=c[d+4>>2]|0;d=(c[l+4>>2]|0)<0|((e|0)>0|(e|0)==0&(c[d>>2]|0)>>>0>1114111);e=l;c[e>>2]=d?65533:p;c[e+4>>2]=d?0:b;c[j>>2]=c[l>>2]&2097151;e=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){d=c[j>>2]|0;if(e>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(d>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}e=c[j>>2]|0;if(d>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(e>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(e>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=e}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;wc(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,13,1);i=o;return}function ZF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(nc(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=mc(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=AH(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}rc(c[e>>2]|0,37610,-1);i=k;return}while(0);j=g;tc(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{uc(c[e>>2]|0);i=k;return}default:{h[j>>3]=+kc(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];qc(c[e>>2]|0,+h[j>>3]);i=k;return}}}function _F(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+36|0;f=m+40|0;g=m+24|0;j=m;l=m+28|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(nc(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=lc(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((nc(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+kc(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Wb(37650,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;Iq(n,j,Ed(c[l>>2]|0)|0,1)|0;Sb(c[l>>2]|0);break}Bc(c[e>>2]|0);i=m;return}while(0);qc(c[e>>2]|0,+h[j>>3]);i=m;return}function $F(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+8|0;n=m+20|0;k=m+24|0;l=m+4|0;h=m;j=m+12|0;c[g>>2]=b;c[m+16>>2]=e;c[n>>2]=f;c[l>>2]=ic(c[c[n>>2]>>2]|0)|0;c[j>>2]=jc(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=DH(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=yG(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[14426+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}vc(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,13);i=m;return}function aG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+8|0;n=m+20|0;k=m+24|0;l=m+4|0;h=m;j=m+12|0;c[g>>2]=b;c[m+16>>2]=e;c[n>>2]=f;c[l>>2]=ic(c[c[n>>2]>>2]|0)|0;c[j>>2]=jc(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=DH(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=yG(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[13848+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}vc(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,13);i=m;return}function bG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;vc(a,fd()|0,-1,0);i=e;return}function cG(b,e,f){b=b|0;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;o=i;i=i+48|0;g=o+28|0;p=o+8|0;j=o+20|0;k=o+4|0;l=o;n=o+12|0;m=o+24|0;h=o+32|0;c[g>>2]=b;c[o+16>>2]=e;c[p>>2]=f;c[l>>2]=hc(c[c[p>>2]>>2]|0)|0;c[k>>2]=jc(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=MH(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=DH(b|0,C|0,1,0)|0;b=yG(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[37634+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[37634+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;vc(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,13);i=o;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;_b(8,f);if((c[f+4>>2]|0)<0){d=f;d=AH(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}tc(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function eG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=lc(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=yG(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}_b(c[f>>2]|0,c[g>>2]|0);oc(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,13);i=h;return}function fG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=zG(c[e>>2]|0)|0;if(!(oz(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}xc(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function gG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;vc(a,gd()|0,-1,0);i=e;return}function hG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=lc(c[c[g>>2]>>2]|0)|0;c[f>>2]=ic(c[(c[g>>2]|0)+4>>2]|0)|0;Zb(a,14418,f);i=e;return}function iG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=ic(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;sc(h,Hb(c[f>>2]|0)|0);i=g;return}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=lc(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;vc(a,Jb(c[f>>2]|0)|0,-1,0);i=e;return}function kG(b,e,f){b=b|0;e=e|0;f=f|0;var g=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;y=i;i=i+144|0;s=y+32|0;r=y+16|0;g=y+48|0;j=y+40|0;p=y+24|0;q=y;w=y+84|0;x=y+44|0;v=y+72|0;o=y+76|0;k=y+52|0;l=y+64|0;m=y+60|0;n=y+8|0;u=y+68|0;t=y+80|0;c[g>>2]=b;c[y+56>>2]=e;c[j>>2]=f;switch(nc(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+kc(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Yb(50,w,19997,r)|0;Iq(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Yb(50,w,37627,s)|0}vc(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{xc(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=hc(c[c[j>>2]>>2]|0)|0;c[o>>2]=jc(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=yG(u,DH(MH(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[37634+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[37634+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;vc(c[g>>2]|0,c[x>>2]|0,-1,-1);Sb(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=ic(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=DH(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=DH(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=DH(x|0,C|0,3,0)|0;c[t>>2]=yG(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;vc(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,13);i=y;return}default:{vc(c[g>>2]|0,30955,4,0);i=y;return}}}function lG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ec(c[g>>2]|0)|0;d=c[g>>2]|0;a=kd(c[f>>2]|0)|0;tc(d,a,C);i=e;return}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ec(c[g>>2]|0)|0;a=c[g>>2]|0;sc(a,ld(c[f>>2]|0)|0);i=e;return}function nG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ec(c[g>>2]|0)|0;a=c[g>>2]|0;sc(a,md(c[f>>2]|0)|0);i=e;return}function oG(b,e,f){b=b|0;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;w=i;i=i+80|0;p=w+36|0;g=w+48|0;v=w+56|0;n=w+16|0;o=w+44|0;u=w+52|0;s=w+60|0;l=w+64|0;m=w+40|0;k=w;j=w+28|0;q=w+32|0;r=w+8|0;t=w+20|0;h=w+24|0;c[p>>2]=b;c[w+12>>2]=e;c[g>>2]=f;c[v>>2]=ic(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=jc(c[c[g>>2]>>2]|0)|0;c[n>>2]=ic(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){xc(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=jc(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=ic(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=jc(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=yG(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?($G((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=Ec(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=DH(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=AH(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+88>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];c[u>>2]=Tb(c[u>>2]|0,c[k>>2]|0)|0;if(!(c[u>>2]|0)){g=15;break}EH((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){Ac(c[p>>2]|0);Sb(c[u>>2]|0);i=w;return}else if((g|0)==15){Bc(c[p>>2]|0);Sb(c[t>>2]|0);i=w;return}else if((g|0)==18){EH((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;vc(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,13);i=w;return}}function pG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+20|0;h=f+12|0;e=f;g=f+8|0;c[j>>2]=a;c[f+16>>2]=b;c[h>>2]=d;c[g>>2]=Ec(c[j>>2]|0)|0;h=mc(c[c[h>>2]>>2]|0)|0;d=e;c[d>>2]=h;c[d+4>>2]=C;d=e;h=c[d+4>>2]|0;a=c[(c[g>>2]|0)+88>>2]|0;g=((a|0)<0)<<31>>31;b=c[j>>2]|0;if((h|0)>(g|0)|((h|0)==(g|0)?(c[d>>2]|0)>>>0>a>>>0:0)){Ac(b);i=f;return}else{yc(b,c[e>>2]|0);i=f;return}}function qG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=Fc(c[n>>2]|0,32)|0;c[k>>2]=Xc(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=DH(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+kc(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=mc(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(kz((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function rG(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Fc(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){rc(c[d>>2]|0,37610,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){qc(d,+h[b>>3]);i=f;return}else{g=b+8|0;tc(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function sG(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Fc(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;qc(a,f);i=d;return}f=+h[c[b>>2]>>3];qc(a,f);i=d;return}function tG(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Fc(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;qc(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function uG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Fc(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(nc(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=DH(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function vG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Fc(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;tc(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;tc(a,b,e);i=d;return}function wG(b,e,f){b=b|0;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;r=i;i=i+48|0;g=r;h=r+16|0;j=r+28|0;q=r+4|0;o=r+32|0;p=r+36|0;n=r+12|0;m=r+24|0;k=r+20|0;l=r+8|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if((nc(c[c[j>>2]>>2]|0)|0)==5){i=r;return}c[o>>2]=Fc(c[g>>2]|0,28)|0;if(!(c[o>>2]|0)){i=r;return}c[k>>2]=Ec(c[g>>2]|0)|0;c[l>>2]=(d[(c[o>>2]|0)+24>>0]|0|0)==0&1;a[(c[o>>2]|0)+24>>0]=2;c[(c[o>>2]|0)+20>>2]=c[(c[k>>2]|0)+88>>2];if(!(c[l>>2]|0)){if((c[h>>2]|0)==2){c[p>>2]=ic(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=jc(c[(c[j>>2]|0)+4>>2]|0)|0}else{c[p>>2]=29027;c[m>>2]=1}if(c[m>>2]|0)es(c[o>>2]|0,c[p>>2]|0,c[m>>2]|0)}c[q>>2]=ic(c[c[j>>2]>>2]|0)|0;c[n>>2]=jc(c[c[j>>2]>>2]|0)|0;if(!(c[q>>2]|0)){i=r;return}es(c[o>>2]|0,c[q>>2]|0,c[n>>2]|0);i=r;return}function xG(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=Fc(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+25>>0]|0|0)==2){Ac(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+25>>0]|0|0)==1){Bc(b);i=f;return}else{vc(b,$d(c[e>>2]|0)|0,-1,13);i=f;return}}function yG(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+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=Ec(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){Ac(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=Wd(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}Bc(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function zG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function AG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function BG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=dm(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+520>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function CG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Nd(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;Qy(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Nd(e,j);i=k;return}function DG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+520>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;ch((c[(c[e>>2]|0)+68>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}jx(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);jx(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Nd(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function EG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+520>>2]|0)!=0:0))xA(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+56>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+52>>2]|0))break;if((c[f>>2]|0)!=1)Nd(c[d>>2]|0,c[(c[(c[e>>2]|0)+56>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0);i=g;return}function FG(a){a=a|0;var b=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,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;do if(a>>>0<245){s=a>>>0<11?16:a+11&-8;a=s>>>3;m=c[1798]|0;j=m>>>a;if(j&3){e=(j&1^1)+a|0;b=e<<1;d=7232+(b<<2)|0;b=7232+(b+2<<2)|0;f=c[b>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)==(h|0))c[1798]=m&~(1<>>0>=(c[1802]|0)>>>0?(l=h+12|0,(c[l>>2]|0)==(f|0)):0){c[l>>2]=d;c[b>>2]=h;break}ab()}while(0);U=e<<3;c[f+4>>2]=U|3;U=f+(U|4)|0;c[U>>2]=c[U>>2]|1;break}b=c[1800]|0;if(s>>>0>b>>>0){if(j){f=2<>>12&16;f=f>>>g;e=f>>>5&8;f=f>>>e;d=f>>>2&4;f=f>>>d;h=f>>>1&2;f=f>>>h;i=f>>>1&1;i=(e|g|d|h|i)+(f>>>i)|0;f=i<<1;h=7232+(f<<2)|0;f=7232+(f+2<<2)|0;d=c[f>>2]|0;g=d+8|0;e=c[g>>2]|0;do if((h|0)==(e|0)){c[1798]=m&~(1<>>0>=(c[1802]|0)>>>0?(k=e+12|0,(c[k>>2]|0)==(d|0)):0){c[k>>2]=h;c[f>>2]=e;n=c[1800]|0;break}ab()}while(0);U=i<<3;b=U-s|0;c[d+4>>2]=s|3;j=d+s|0;c[d+(s|4)>>2]=b|1;c[d+U>>2]=b;if(n){d=c[1803]|0;e=n>>>3;h=e<<1;i=7232+(h<<2)|0;f=c[1798]|0;e=1<>2]|0;if(h>>>0<(c[1802]|0)>>>0)ab();else{p=f;q=h}}else{c[1798]=f|e;p=7232+(h+2<<2)|0;q=i}c[p>>2]=d;c[q+12>>2]=d;c[d+8>>2]=q;c[d+12>>2]=i}c[1800]=b;c[1803]=j;break}a=c[1799]|0;if(a){f=(a&0-a)+-1|0;T=f>>>12&16;f=f>>>T;S=f>>>5&8;f=f>>>S;U=f>>>2&4;f=f>>>U;h=f>>>1&2;f=f>>>h;j=f>>>1&1;j=c[7496+((S|T|U|h|j)+(f>>>j)<<2)>>2]|0;f=(c[j+4>>2]&-8)-s|0;h=j;while(1){i=c[h+16>>2]|0;if(!i){i=c[h+20>>2]|0;if(!i){b=f;break}}h=(c[i+4>>2]&-8)-s|0;U=h>>>0>>0;f=U?h:f;h=i;j=U?i:j}a=c[1802]|0;if(j>>>0>=a>>>0?(v=j+s|0,j>>>0>>0):0){e=c[j+24>>2]|0;i=c[j+12>>2]|0;do if((i|0)==(j|0)){h=j+20|0;i=c[h>>2]|0;if(!i){h=j+16|0;i=c[h>>2]|0;if(!i){t=0;break}}while(1){g=i+20|0;f=c[g>>2]|0;if(f){i=f;h=g;continue}g=i+16|0;f=c[g>>2]|0;if(!f)break;else{i=f;h=g}}if(h>>>0>>0)ab();else{c[h>>2]=0;t=i;break}}else{h=c[j+8>>2]|0;if((h>>>0>=a>>>0?(d=h+12|0,(c[d>>2]|0)==(j|0)):0)?(o=i+8|0,(c[o>>2]|0)==(j|0)):0){c[d>>2]=i;c[o>>2]=h;t=i;break}ab()}while(0);do if(e){h=c[j+28>>2]|0;g=7496+(h<<2)|0;if((j|0)==(c[g>>2]|0)){c[g>>2]=t;if(!t){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();h=e+16|0;if((c[h>>2]|0)==(j|0))c[h>>2]=t;else c[e+20>>2]=t;if(!t)break}g=c[1802]|0;if(t>>>0>>0)ab();c[t+24>>2]=e;h=c[j+16>>2]|0;do if(h)if(h>>>0>>0)ab();else{c[t+16>>2]=h;c[h+24>>2]=t;break}while(0);h=c[j+20>>2]|0;if(h)if(h>>>0<(c[1802]|0)>>>0)ab();else{c[t+20>>2]=h;c[h+24>>2]=t;break}}while(0);if(b>>>0<16){U=b+s|0;c[j+4>>2]=U|3;U=j+(U+4)|0;c[U>>2]=c[U>>2]|1}else{c[j+4>>2]=s|3;c[j+(s|4)>>2]=b|1;c[j+(b+s)>>2]=b;e=c[1800]|0;if(e){d=c[1803]|0;f=e>>>3;h=f<<1;i=7232+(h<<2)|0;g=c[1798]|0;f=1<>2]|0;if(g>>>0<(c[1802]|0)>>>0)ab();else{u=h;w=g}}else{c[1798]=g|f;u=7232+(h+2<<2)|0;w=i}c[u>>2]=d;c[w+12>>2]=d;c[d+8>>2]=w;c[d+12>>2]=i}c[1800]=b;c[1803]=v}g=j+8|0;break}ab()}else V=154}else V=154}else if(a>>>0<=4294967231){a=a+11|0;w=a&-8;m=c[1799]|0;if(m){j=0-w|0;a=a>>>8;if(a)if(w>>>0>16777215)l=31;else{v=(a+1048320|0)>>>16&8;V=a<>>16&4;V=V<>>16&2;l=14-(u|v|l)+(V<>>15)|0;l=w>>>(l+7|0)&1|l<<1}else l=0;a=c[7496+(l<<2)>>2]|0;a:do if(!a){i=0;a=0;V=86}else{d=j;i=0;b=w<<((l|0)==31?0:25-(l>>>1)|0);k=a;a=0;while(1){e=c[k+4>>2]&-8;j=e-w|0;if(j>>>0>>0)if((e|0)==(w|0)){e=k;a=k;V=90;break a}else a=k;else j=d;V=c[k+20>>2]|0;k=c[k+16+(b>>>31<<2)>>2]|0;i=(V|0)==0|(V|0)==(k|0)?i:V;if(!k){V=86;break}else{d=j;b=b<<1}}}while(0);if((V|0)==86){if((i|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>t;q=a>>>5&8;a=a>>>q;u=a>>>2&4;a=a>>>u;v=a>>>1&2;a=a>>>v;i=a>>>1&1;i=c[7496+((q|t|u|v|i)+(a>>>i)<<2)>>2]|0;a=0}if(!i){q=j;p=a}else{e=i;V=90}}if((V|0)==90)while(1){V=0;v=(c[e+4>>2]&-8)-w|0;i=v>>>0>>0;j=i?v:j;a=i?e:a;i=c[e+16>>2]|0;if(i){e=i;V=90;continue}e=c[e+20>>2]|0;if(!e){q=j;p=a;break}else V=90}if((p|0)!=0?q>>>0<((c[1800]|0)-w|0)>>>0:0){a=c[1802]|0;if(p>>>0>=a>>>0?(H=p+w|0,p>>>0>>0):0){j=c[p+24>>2]|0;i=c[p+12>>2]|0;do if((i|0)==(p|0)){h=p+20|0;i=c[h>>2]|0;if(!i){h=p+16|0;i=c[h>>2]|0;if(!i){y=0;break}}while(1){g=i+20|0;f=c[g>>2]|0;if(f){i=f;h=g;continue}g=i+16|0;f=c[g>>2]|0;if(!f)break;else{i=f;h=g}}if(h>>>0>>0)ab();else{c[h>>2]=0;y=i;break}}else{h=c[p+8>>2]|0;if((h>>>0>=a>>>0?(r=h+12|0,(c[r>>2]|0)==(p|0)):0)?(s=i+8|0,(c[s>>2]|0)==(p|0)):0){c[r>>2]=i;c[s>>2]=h;y=i;break}ab()}while(0);do if(j){i=c[p+28>>2]|0;h=7496+(i<<2)|0;if((p|0)==(c[h>>2]|0)){c[h>>2]=y;if(!y){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();h=j+16|0;if((c[h>>2]|0)==(p|0))c[h>>2]=y;else c[j+20>>2]=y;if(!y)break}i=c[1802]|0;if(y>>>0>>0)ab();c[y+24>>2]=j;h=c[p+16>>2]|0;do if(h)if(h>>>0>>0)ab();else{c[y+16>>2]=h;c[h+24>>2]=y;break}while(0);h=c[p+20>>2]|0;if(h)if(h>>>0<(c[1802]|0)>>>0)ab();else{c[y+20>>2]=h;c[h+24>>2]=y;break}}while(0);b:do if(q>>>0>=16){c[p+4>>2]=w|3;c[p+(w|4)>>2]=q|1;c[p+(q+w)>>2]=q;i=q>>>3;if(q>>>0<256){g=i<<1;e=7232+(g<<2)|0;f=c[1798]|0;h=1<>2]|0;if(g>>>0<(c[1802]|0)>>>0)ab();else{z=h;A=g}}else{c[1798]=f|h;z=7232+(g+2<<2)|0;A=e}c[z>>2]=H;c[A+12>>2]=H;c[p+(w+8)>>2]=A;c[p+(w+12)>>2]=e;break}d=q>>>8;if(d)if(q>>>0>16777215)i=31;else{T=(d+1048320|0)>>>16&8;U=d<>>16&4;U=U<>>16&2;i=14-(S|T|i)+(U<>>15)|0;i=q>>>(i+7|0)&1|i<<1}else i=0;h=7496+(i<<2)|0;c[p+(w+28)>>2]=i;c[p+(w+20)>>2]=0;c[p+(w+16)>>2]=0;g=c[1799]|0;f=1<>2]=H;c[p+(w+24)>>2]=h;c[p+(w+12)>>2]=H;c[p+(w+8)>>2]=H;break}d=c[h>>2]|0;c:do if((c[d+4>>2]&-8|0)!=(q|0)){i=q<<((i|0)==31?0:25-(i>>>1)|0);while(1){b=d+16+(i>>>31<<2)|0;h=c[b>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(q|0)){C=h;break c}else{i=i<<1;d=h}}if(b>>>0<(c[1802]|0)>>>0)ab();else{c[b>>2]=H;c[p+(w+24)>>2]=d;c[p+(w+12)>>2]=H;c[p+(w+8)>>2]=H;break b}}else C=d;while(0);d=C+8|0;b=c[d>>2]|0;U=c[1802]|0;if(b>>>0>=U>>>0&C>>>0>=U>>>0){c[b+12>>2]=H;c[d>>2]=H;c[p+(w+8)>>2]=b;c[p+(w+12)>>2]=C;c[p+(w+24)>>2]=0;break}else ab()}else{U=q+w|0;c[p+4>>2]=U|3;U=p+(U+4)|0;c[U>>2]=c[U>>2]|1}while(0);g=p+8|0;break}ab()}else{s=w;V=154}}else{s=w;V=154}}else{s=-1;V=154}while(0);d:do if((V|0)==154){a=c[1800]|0;if(a>>>0>=s>>>0){b=a-s|0;d=c[1803]|0;if(b>>>0>15){c[1803]=d+s;c[1800]=b;c[d+(s+4)>>2]=b|1;c[d+a>>2]=b;c[d+4>>2]=s|3}else{c[1800]=0;c[1803]=0;c[d+4>>2]=a|3;V=d+(a+4)|0;c[V>>2]=c[V>>2]|1}g=d+8|0;break}a=c[1801]|0;if(a>>>0>s>>>0){V=a-s|0;c[1801]=V;g=c[1804]|0;c[1804]=g+s;c[g+(s+4)>>2]=V|1;c[g+4>>2]=s|3;g=g+8|0;break}if(!(c[1916]|0))sH();m=s+48|0;d=c[1918]|0;l=s+47|0;e=d+l|0;d=0-d|0;k=e&d;if(k>>>0>s>>>0){a=c[1908]|0;if((a|0)!=0?(C=c[1906]|0,H=C+k|0,H>>>0<=C>>>0|H>>>0>a>>>0):0){g=0;break}e:do if(!(c[1909]&4)){a=c[1804]|0;f:do if(a){i=7640;while(1){j=c[i>>2]|0;if(j>>>0<=a>>>0?(x=i+4|0,(j+(c[x>>2]|0)|0)>>>0>a>>>0):0){g=i;a=x;break}i=c[i+8>>2]|0;if(!i){V=172;break f}}j=e-(c[1801]|0)&d;if(j>>>0<2147483647){i=Ga(j|0)|0;H=(i|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=H?j:0;if(H){if((i|0)!=(-1|0)){A=i;t=a;V=192;break e}}else V=182}else a=0}else V=172;while(0);do if((V|0)==172){g=Ga(0)|0;if((g|0)!=(-1|0)){a=g;j=c[1917]|0;i=j+-1|0;if(!(i&a))j=k;else j=k-a+(i+a&0-j)|0;a=c[1906]|0;i=a+j|0;if(j>>>0>s>>>0&j>>>0<2147483647){H=c[1908]|0;if((H|0)!=0?i>>>0<=a>>>0|i>>>0>H>>>0:0){a=0;break}i=Ga(j|0)|0;V=(i|0)==(g|0);a=V?j:0;if(V){A=g;t=a;V=192;break e}else V=182}else a=0}else a=0}while(0);g:do if((V|0)==182){g=0-j|0;do if(m>>>0>j>>>0&(j>>>0<2147483647&(i|0)!=(-1|0))?(B=c[1918]|0,B=l-j+B&0-B,B>>>0<2147483647):0)if((Ga(B|0)|0)==(-1|0)){Ga(g|0)|0;break g}else{j=B+j|0;break}while(0);if((i|0)!=(-1|0)){A=i;t=j;V=192;break e}}while(0);c[1909]=c[1909]|4;V=189}else{a=0;V=189}while(0);if((((V|0)==189?k>>>0<2147483647:0)?(D=Ga(k|0)|0,E=Ga(0)|0,D>>>0>>0&((D|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(F=E-D|0,G=F>>>0>(s+40|0)>>>0,G):0){A=D;t=G?F:a;V=192}if((V|0)==192){j=(c[1906]|0)+t|0;c[1906]=j;if(j>>>0>(c[1907]|0)>>>0)c[1907]=j;q=c[1804]|0;h:do if(q){g=7640;do{a=c[g>>2]|0;j=g+4|0;i=c[j>>2]|0;if((A|0)==(a+i|0)){I=a;J=j;K=i;L=g;V=202;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((V|0)==202?(c[L+12>>2]&8|0)==0:0)?q>>>0>>0&q>>>0>=I>>>0:0){c[J>>2]=K+t;V=(c[1801]|0)+t|0;U=q+8|0;U=(U&7|0)==0?0:0-U&7;T=V-U|0;c[1804]=q+U;c[1801]=T;c[q+(U+4)>>2]=T|1;c[q+(V+4)>>2]=40;c[1805]=c[1920];break}j=c[1802]|0;if(A>>>0>>0){c[1802]=A;j=A}i=A+t|0;a=7640;while(1){if((c[a>>2]|0)==(i|0)){g=a;i=a;V=210;break}a=c[a+8>>2]|0;if(!a){i=7640;break}}if((V|0)==210)if(!(c[i+12>>2]&8)){c[g>>2]=A;o=i+4|0;c[o>>2]=(c[o>>2]|0)+t;o=A+8|0;o=(o&7|0)==0?0:0-o&7;l=A+(t+8)|0;l=(l&7|0)==0?0:0-l&7;i=A+(l+t)|0;p=o+s|0;n=A+p|0;a=i-(A+o)-s|0;c[A+(o+4)>>2]=s|3;i:do if((i|0)!=(q|0)){if((i|0)==(c[1803]|0)){V=(c[1800]|0)+a|0;c[1800]=V;c[1803]=n;c[A+(p+4)>>2]=V|1;c[A+(V+p)>>2]=V;break}b=t+4|0;h=c[A+(b+l)>>2]|0;if((h&3|0)==1){k=h&-8;e=h>>>3;j:do if(h>>>0>=256){d=c[A+((l|24)+t)>>2]|0;g=c[A+(t+12+l)>>2]|0;k:do if((g|0)==(i|0)){f=l|16;g=A+(b+f)|0;h=c[g>>2]|0;if(!h){g=A+(f+t)|0;h=c[g>>2]|0;if(!h){R=0;break}}while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0>>0)ab();else{c[g>>2]=0;R=h;break}}else{f=c[A+((l|8)+t)>>2]|0;do if(f>>>0>=j>>>0){j=f+12|0;if((c[j>>2]|0)!=(i|0))break;h=g+8|0;if((c[h>>2]|0)!=(i|0))break;c[j>>2]=g;c[h>>2]=f;R=g;break k}while(0);ab()}while(0);if(!d)break;j=c[A+(t+28+l)>>2]|0;h=7496+(j<<2)|0;do if((i|0)!=(c[h>>2]|0)){if(d>>>0<(c[1802]|0)>>>0)ab();h=d+16|0;if((c[h>>2]|0)==(i|0))c[h>>2]=R;else c[d+20>>2]=R;if(!R)break j}else{c[h>>2]=R;if(R)break;c[1799]=c[1799]&~(1<>>0>>0)ab();c[R+24>>2]=d;i=l|16;h=c[A+(i+t)>>2]|0;do if(h)if(h>>>0>>0)ab();else{c[R+16>>2]=h;c[h+24>>2]=R;break}while(0);i=c[A+(b+i)>>2]|0;if(!i)break;if(i>>>0<(c[1802]|0)>>>0)ab();else{c[R+20>>2]=i;c[i+24>>2]=R;break}}else{h=c[A+((l|8)+t)>>2]|0;g=c[A+(t+12+l)>>2]|0;f=7232+(e<<1<<2)|0;do if((h|0)!=(f|0)){if(h>>>0>=j>>>0?(c[h+12>>2]|0)==(i|0):0)break;ab()}while(0);if((g|0)==(h|0)){c[1798]=c[1798]&~(1<>>0>=j>>>0?(N=g+8|0,(c[N>>2]|0)==(i|0)):0){M=N;break}ab()}while(0);c[h+12>>2]=g;c[M>>2]=h}while(0);i=A+((k|l)+t)|0;a=k+a|0}i=i+4|0;c[i>>2]=c[i>>2]&-2;c[A+(p+4)>>2]=a|1;c[A+(a+p)>>2]=a;i=a>>>3;if(a>>>0<256){g=i<<1;e=7232+(g<<2)|0;f=c[1798]|0;h=1<>2]|0;if(g>>>0>=(c[1802]|0)>>>0){S=h;T=g;break}ab()}while(0);c[S>>2]=n;c[T+12>>2]=n;c[A+(p+8)>>2]=T;c[A+(p+12)>>2]=e;break}d=a>>>8;do if(!d)i=0;else{if(a>>>0>16777215){i=31;break}T=(d+1048320|0)>>>16&8;V=d<>>16&4;V=V<>>16&2;i=14-(S|T|i)+(V<>>15)|0;i=a>>>(i+7|0)&1|i<<1}while(0);h=7496+(i<<2)|0;c[A+(p+28)>>2]=i;c[A+(p+20)>>2]=0;c[A+(p+16)>>2]=0;g=c[1799]|0;f=1<>2]=n;c[A+(p+24)>>2]=h;c[A+(p+12)>>2]=n;c[A+(p+8)>>2]=n;break}d=c[h>>2]|0;l:do if((c[d+4>>2]&-8|0)!=(a|0)){i=a<<((i|0)==31?0:25-(i>>>1)|0);while(1){b=d+16+(i>>>31<<2)|0;h=c[b>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(a|0)){U=h;break l}else{i=i<<1;d=h}}if(b>>>0<(c[1802]|0)>>>0)ab();else{c[b>>2]=n;c[A+(p+24)>>2]=d;c[A+(p+12)>>2]=n;c[A+(p+8)>>2]=n;break i}}else U=d;while(0);d=U+8|0;b=c[d>>2]|0;V=c[1802]|0;if(b>>>0>=V>>>0&U>>>0>=V>>>0){c[b+12>>2]=n;c[d>>2]=n;c[A+(p+8)>>2]=b;c[A+(p+12)>>2]=U;c[A+(p+24)>>2]=0;break}else ab()}else{V=(c[1801]|0)+a|0;c[1801]=V;c[1804]=n;c[A+(p+4)>>2]=V|1}while(0);g=A+(o|8)|0;break d}else i=7640;while(1){g=c[i>>2]|0;if(g>>>0<=q>>>0?(h=c[i+4>>2]|0,f=g+h|0,f>>>0>q>>>0):0)break;i=c[i+8>>2]|0}i=g+(h+-39)|0;i=g+(h+-47+((i&7|0)==0?0:0-i&7))|0;j=q+16|0;i=i>>>0>>0?q:i;h=i+8|0;g=A+8|0;g=(g&7|0)==0?0:0-g&7;V=t+-40-g|0;c[1804]=A+g;c[1801]=V;c[A+(g+4)>>2]=V|1;c[A+(t+-36)>>2]=40;c[1805]=c[1920];g=i+4|0;c[g>>2]=27;c[h>>2]=c[1910];c[h+4>>2]=c[1911];c[h+8>>2]=c[1912];c[h+12>>2]=c[1913];c[1910]=A;c[1911]=t;c[1913]=0;c[1912]=h;h=i+28|0;c[h>>2]=7;if((i+32|0)>>>0>>0)do{V=h;h=h+4|0;c[h>>2]=7}while((V+8|0)>>>0>>0);if((i|0)!=(q|0)){a=i-q|0;c[g>>2]=c[g>>2]&-2;c[q+4>>2]=a|1;c[i>>2]=a;f=a>>>3;if(a>>>0<256){h=f<<1;i=7232+(h<<2)|0;g=c[1798]|0;e=1<>2]|0;if(b>>>0<(c[1802]|0)>>>0)ab();else{O=d;P=b}}else{c[1798]=g|e;O=7232+(h+2<<2)|0;P=i}c[O>>2]=q;c[P+12>>2]=q;c[q+8>>2]=P;c[q+12>>2]=i;break}d=a>>>8;if(d)if(a>>>0>16777215)h=31;else{U=(d+1048320|0)>>>16&8;V=d<>>16&4;V=V<>>16&2;h=14-(T|U|h)+(V<>>15)|0;h=a>>>(h+7|0)&1|h<<1}else h=0;e=7496+(h<<2)|0;c[q+28>>2]=h;c[q+20>>2]=0;c[j>>2]=0;d=c[1799]|0;b=1<>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}d=c[e>>2]|0;m:do if((c[d+4>>2]&-8|0)!=(a|0)){h=a<<((h|0)==31?0:25-(h>>>1)|0);while(1){b=d+16+(h>>>31<<2)|0;e=c[b>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(a|0)){Q=e;break m}else{h=h<<1;d=e}}if(b>>>0<(c[1802]|0)>>>0)ab();else{c[b>>2]=q;c[q+24>>2]=d;c[q+12>>2]=q;c[q+8>>2]=q;break h}}else Q=d;while(0);d=Q+8|0;b=c[d>>2]|0;V=c[1802]|0;if(b>>>0>=V>>>0&Q>>>0>=V>>>0){c[b+12>>2]=q;c[d>>2]=q;c[q+8>>2]=b;c[q+12>>2]=Q;c[q+24>>2]=0;break}else ab()}}else{V=c[1802]|0;if((V|0)==0|A>>>0>>0)c[1802]=A;c[1910]=A;c[1911]=t;c[1913]=0;c[1807]=c[1916];c[1806]=-1;d=0;do{V=d<<1;U=7232+(V<<2)|0;c[7232+(V+3<<2)>>2]=U;c[7232+(V+2<<2)>>2]=U;d=d+1|0}while((d|0)!=32);V=A+8|0;V=(V&7|0)==0?0:0-V&7;U=t+-40-V|0;c[1804]=A+V;c[1801]=U;c[A+(V+4)>>2]=U|1;c[A+(t+-36)>>2]=40;c[1805]=c[1920]}while(0);b=c[1801]|0;if(b>>>0>s>>>0){V=b-s|0;c[1801]=V;g=c[1804]|0;c[1804]=g+s;c[g+(s+4)>>2]=V|1;c[g+4>>2]=s|3;g=g+8|0;break}}c[(IG()|0)>>2]=12;g=0}else g=0}while(0);return g|0}function GG(a){a=a|0;var b=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,A=0,B=0;a:do if(a){f=a+-8|0;k=c[1802]|0;b:do if(f>>>0>=k>>>0?(e=c[a+-4>>2]|0,d=e&3,(d|0)!=1):0){v=e&-8;w=a+(v+-8)|0;do if(!(e&1)){f=c[f>>2]|0;if(!d)break a;l=-8-f|0;n=a+l|0;o=f+v|0;if(n>>>0>>0)break b;if((n|0)==(c[1803]|0)){g=a+(v+-4)|0;f=c[g>>2]|0;if((f&3|0)!=3){B=n;g=o;break}c[1800]=o;c[g>>2]=f&-2;c[a+(l+4)>>2]=o|1;c[w>>2]=o;break a}d=f>>>3;if(f>>>0<256){e=c[a+(l+8)>>2]|0;g=c[a+(l+12)>>2]|0;f=7232+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=k>>>0?(c[e+12>>2]|0)==(n|0):0)break;ab()}while(0);if((g|0)==(e|0)){c[1798]=c[1798]&~(1<>>0>=k>>>0?(h=g+8|0,(c[h>>2]|0)==(n|0)):0){b=h;break}ab()}while(0);c[e+12>>2]=g;c[b>>2]=e;B=n;g=o;break}h=c[a+(l+24)>>2]|0;f=c[a+(l+12)>>2]|0;do if((f|0)==(n|0)){e=a+(l+20)|0;f=c[e>>2]|0;if(!f){e=a+(l+16)|0;f=c[e>>2]|0;if(!f){m=0;break}}while(1){d=f+20|0;b=c[d>>2]|0;if(b){f=b;e=d;continue}d=f+16|0;b=c[d>>2]|0;if(!b)break;else{f=b;e=d}}if(e>>>0>>0)ab();else{c[e>>2]=0;m=f;break}}else{e=c[a+(l+8)>>2]|0;if((e>>>0>=k>>>0?(i=e+12|0,(c[i>>2]|0)==(n|0)):0)?(j=f+8|0,(c[j>>2]|0)==(n|0)):0){c[i>>2]=f;c[j>>2]=e;m=f;break}ab()}while(0);if(h){f=c[a+(l+28)>>2]|0;e=7496+(f<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=m;if(!m){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();f=h+16|0;if((c[f>>2]|0)==(n|0))c[f>>2]=m;else c[h+20>>2]=m;if(!m){B=n;g=o;break}}e=c[1802]|0;if(m>>>0>>0)ab();c[m+24>>2]=h;f=c[a+(l+16)>>2]|0;do if(f)if(f>>>0>>0)ab();else{c[m+16>>2]=f;c[f+24>>2]=m;break}while(0);f=c[a+(l+20)>>2]|0;if(f)if(f>>>0<(c[1802]|0)>>>0)ab();else{c[m+20>>2]=f;c[f+24>>2]=m;B=n;g=o;break}else{B=n;g=o}}else{B=n;g=o}}else{B=f;g=v}while(0);if(B>>>0>>0?(p=a+(v+-4)|0,q=c[p>>2]|0,(q&1|0)!=0):0){if(!(q&2)){if((w|0)==(c[1804]|0)){A=(c[1801]|0)+g|0;c[1801]=A;c[1804]=B;c[B+4>>2]=A|1;if((B|0)!=(c[1803]|0))break a;c[1803]=0;c[1800]=0;break a}if((w|0)==(c[1803]|0)){A=(c[1800]|0)+g|0;c[1800]=A;c[1803]=B;c[B+4>>2]=A|1;c[B+A>>2]=A;break a}j=(q&-8)+g|0;d=q>>>3;do if(q>>>0>=256){b=c[a+(v+16)>>2]|0;g=c[a+(v|4)>>2]|0;do if((g|0)==(w|0)){f=a+(v+12)|0;g=c[f>>2]|0;if(!g){f=a+(v+8)|0;g=c[f>>2]|0;if(!g){x=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0<(c[1802]|0)>>>0)ab();else{c[f>>2]=0;x=g;break}}else{f=c[a+v>>2]|0;if((f>>>0>=(c[1802]|0)>>>0?(t=f+12|0,(c[t>>2]|0)==(w|0)):0)?(u=g+8|0,(c[u>>2]|0)==(w|0)):0){c[t>>2]=g;c[u>>2]=f;x=g;break}ab()}while(0);if(b){g=c[a+(v+20)>>2]|0;f=7496+(g<<2)|0;if((w|0)==(c[f>>2]|0)){c[f>>2]=x;if(!x){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();g=b+16|0;if((c[g>>2]|0)==(w|0))c[g>>2]=x;else c[b+20>>2]=x;if(!x)break}g=c[1802]|0;if(x>>>0>>0)ab();c[x+24>>2]=b;f=c[a+(v+8)>>2]|0;do if(f)if(f>>>0>>0)ab();else{c[x+16>>2]=f;c[f+24>>2]=x;break}while(0);d=c[a+(v+12)>>2]|0;if(d)if(d>>>0<(c[1802]|0)>>>0)ab();else{c[x+20>>2]=d;c[d+24>>2]=x;break}}}else{e=c[a+v>>2]|0;g=c[a+(v|4)>>2]|0;f=7232+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=(c[1802]|0)>>>0?(c[e+12>>2]|0)==(w|0):0)break;ab()}while(0);if((g|0)==(e|0)){c[1798]=c[1798]&~(1<>>0>=(c[1802]|0)>>>0?(s=g+8|0,(c[s>>2]|0)==(w|0)):0){r=s;break}ab()}while(0);c[e+12>>2]=g;c[r>>2]=e}while(0);c[B+4>>2]=j|1;c[B+j>>2]=j;if((B|0)==(c[1803]|0)){c[1800]=j;break a}else g=j}else{c[p>>2]=q&-2;c[B+4>>2]=g|1;c[B+g>>2]=g}f=g>>>3;if(g>>>0<256){e=f<<1;g=7232+(e<<2)|0;b=c[1798]|0;d=1<>2]|0;if(b>>>0<(c[1802]|0)>>>0)ab();else{y=d;z=b}}else{c[1798]=b|d;y=7232+(e+2<<2)|0;z=g}c[y>>2]=B;c[z+12>>2]=B;c[B+8>>2]=z;c[B+12>>2]=g;break a}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{y=(b+1048320|0)>>>16&8;z=b<>>16&4;z=z<>>16&2;f=14-(a|y|f)+(z<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;d=7496+(f<<2)|0;c[B+28>>2]=f;c[B+20>>2]=0;c[B+16>>2]=0;b=c[1799]|0;e=1<>2]|0;d:do if((c[d+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){b=d+16+(f>>>31<<2)|0;e=c[b>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){A=e;break d}else{f=f<<1;d=e}}if(b>>>0<(c[1802]|0)>>>0)ab();else{c[b>>2]=B;c[B+24>>2]=d;c[B+12>>2]=B;c[B+8>>2]=B;break c}}else A=d;while(0);b=A+8|0;d=c[b>>2]|0;z=c[1802]|0;if(d>>>0>=z>>>0&A>>>0>=z>>>0){c[d+12>>2]=B;c[b>>2]=B;c[B+8>>2]=d;c[B+12>>2]=A;c[B+24>>2]=0;break}else ab()}else{c[1799]=b|e;c[d>>2]=B;c[B+24>>2]=d;c[B+12>>2]=B;c[B+8>>2]=B}while(0);B=(c[1806]|0)+-1|0;c[1806]=B;if(!B)b=7648;else break a;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[1806]=-1;break a}}while(0);ab()}while(0);return}function HG(a,b){a=a|0;b=b|0;var d=0,e=0;do if(a){if(b>>>0>4294967231){c[(IG()|0)>>2]=12;d=0;break}d=tH(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){d=d+8|0;break}d=FG(b)|0;if(!d)d=0;else{e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;EH(d|0,a|0,(e>>>0>>0?e:b)|0)|0;GG(a)}}else d=FG(b)|0;while(0);return d|0}function IG(){var a=0;if(!(c[1786]|0))a=7688;else a=c[(Ra()|0)+60>>2]|0;return a|0}function JG(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[37778+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=37866;e=5;break}}if((e|0)==2)if(!c)b=37866;else{b=37866;e=5}if((e|0)==5)while(1){while(1){e=b+1|0;if(!(a[b>>0]|0)){b=e;break}else b=e}c=c+-1|0;if(!c)break;else e=5}return b|0}function KG(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+192|0;j=s+152|0;h=s+112|0;r=s;q=s+64|0;p=s+128|0;m=s+136|0;l=s+48|0;f=s+96|0;n=s+80|0;g=s+32|0;e=s+16|0;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=NG(ra(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ra(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ra(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=NG(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ra(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ra(221,l|0)|0}d=NG(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ra(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ra(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ra(221,r|0)|0}d=NG(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;ua(6,p|0)|0}d=NG(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=NG(ra(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=NG(ra(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function LG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=NG(bb(5,f|0)|0)|0;i=e;return d|0}function MG(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[39670+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function NG(a){a=a|0;if(a>>>0>4294963200){c[(IG()|0)>>2]=0-a;a=-1}return a|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(IG()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)xH(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=NG(Ha(192,h|0)|0)|0;if(j)yH()}else{c[(IG()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function PG(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;xH(-1);c[e>>2]=a;c[e+4>>2]=b;a=NG(Qa(91,e|0)|0)|0;yH();i=d;return a|0}function QG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=Na(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(ra(221,f|0)|0)>=0):0){MG(e,a);c[g>>2]=e;c[g+4>>2]=b;d=NG(Xa(15,g|0)|0)|0}else d=NG(d)|0;i=h;return d|0}function RG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=Ia(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(ra(221,f|0)|0)>=0):0){MG(e,a);c[g>>2]=e;c[g+4>>2]=b;d=NG(Pa(195,g|0)|0)|0}else d=NG(d)|0;i=h;return d|0}function SG(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=NG(Ca(39,e|0)|0)|0;i=d;return a|0}function TG(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=NG(Pa(195,e|0)|0)|0;i=d;return a|0}function UG(a){a=a|0;return 0}function VG(a){a=a|0;return}function WG(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=NG(ua(6,d|0)|0)|0;i=b;return a|0}function XG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((NG(Wa(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function YG(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,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[1786]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=NG(jb(146,n|0)|0)|0}else{ta(17,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=NG(jb(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function ZG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=21;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ua(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=YG(b,d,e)|0;i=g;return f|0}function _G(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=wH(a)|0;break}d=(UG(a)|0)==0;b=wH(a)|0;if(!d)VG(a)}else{if(!(c[1797]|0))b=0;else b=_G(c[1797]|0)|0;$a(7172);a=c[1792]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=UG(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wH(a)|0|b;if(d)VG(a);a=c[a+56>>2]|0}while((a|0)!=0);Va(7172)}while(0);return b|0}function $G(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{f=d;e=b;while(1){d=a[e>>0]|0;b=a[c>>0]|0;if(d<<24>>24!=b<<24>>24)break;f=f+-1|0;if(!f){b=0;break a}else{e=e+1|0;c=c+1|0}}b=(d&255)-(b&255)|0}while(0);return b|0}function aH(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function bH(a){a=a|0;var b=0,c=0;c=(cH(a)|0)+1|0;b=FG(c)|0;if(!b)b=0;else EH(b|0,a|0,c|0)|0;return b|0}function cH(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function dH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function eH(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=NG(Ta(33,e|0)|0)|0;i=d;return a|0}function fH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ua(6,d|0)|0;a=NG((a|0)==-4?-115:a)|0;i=b;return a|0}function gH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=gb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(ra(221,g|0)|0)>=0):0){MG(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=NG(La(212,h|0)|0)|0}else e=NG(e)|0;i=j;return e|0}function hH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=NG(wa(118,d|0)|0)|0;i=b;return a|0}function iH(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=NG(Ka(194,e|0)|0)|0;i=d;return b|0}function jH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(IG()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((NG(za(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=bH(d)|0}else a=0}i=g;return a|0}function kH(){var a=0,b=0;b=i;i=i+16|0;a=fb(201,b|0)|0;i=b;return a|0}function lH(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function mH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(NG(Wa(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function nH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=NG(_a(3,f|0)|0)|0;i=e;return a|0}function oH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=NG(va(40,d|0)|0)|0;i=b;return a|0}function pH(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(Oa(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function qH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=NG(Za(10,d|0)|0)|0;i=b;return a|0}function rH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=NG(cb(4,f|0)|0)|0;i=e;return a|0}function sH(){var a=0;do if(!(c[1916]|0)){a=Ma(30)|0;if(!(a+-1&a)){c[1918]=a;c[1917]=a;c[1919]=-1;c[1920]=-1;c[1921]=0;c[1909]=0;c[1916]=(db(0)|0)&-16^1431655768;break}else ab()}while(0);return}function tH(a,b){a=a|0;b=b|0;var 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;q=a+4|0;r=c[q>>2]|0;l=r&-8;m=a+l|0;k=c[1802]|0;g=r&3;if((g|0)!=1&a>>>0>=k>>>0&a>>>0>>0?(f=a+(l|4)|0,e=c[f>>2]|0,(e&1|0)!=0):0){do if(!g)if(b>>>0<256)a=0;else{if(l>>>0>=(b+4|0)>>>0?(l-b|0)>>>0<=c[1918]<<1>>>0:0)break;a=0}else{if(l>>>0>=b>>>0){e=l-b|0;if(e>>>0<=15)break;c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=e|3;c[f>>2]=c[f>>2]|1;uH(a+b|0,e);break}if((m|0)==(c[1804]|0)){e=(c[1801]|0)+l|0;if(e>>>0<=b>>>0){a=0;break}p=e-b|0;c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=p|1;c[1804]=a+b;c[1801]=p;break}if((m|0)==(c[1803]|0)){e=(c[1800]|0)+l|0;if(e>>>0>>0){a=0;break}d=e-b|0;if(d>>>0>15){c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[q>>2]=r&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1800]=d;c[1803]=e;break}if((e&2|0)==0?(p=(e&-8)+l|0,p>>>0>=b>>>0):0){o=p-b|0;f=e>>>3;do if(e>>>0>=256){j=c[a+(l+24)>>2]|0;g=c[a+(l+12)>>2]|0;do if((g|0)==(m|0)){d=a+(l+20)|0;e=c[d>>2]|0;if(!e){d=a+(l+16)|0;e=c[d>>2]|0;if(!e){n=0;break}}while(1){f=e+20|0;g=c[f>>2]|0;if(g){e=g;d=f;continue}g=e+16|0;f=c[g>>2]|0;if(!f)break;else{e=f;d=g}}if(d>>>0>>0)ab();else{c[d>>2]=0;n=e;break}}else{e=c[a+(l+8)>>2]|0;if((e>>>0>=k>>>0?(d=e+12|0,(c[d>>2]|0)==(m|0)):0)?(i=g+8|0,(c[i>>2]|0)==(m|0)):0){c[d>>2]=g;c[i>>2]=e;n=g;break}ab()}while(0);if(j){e=c[a+(l+28)>>2]|0;d=7496+(e<<2)|0;if((m|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();e=j+16|0;if((c[e>>2]|0)==(m|0))c[e>>2]=n;else c[j+20>>2]=n;if(!n)break}d=c[1802]|0;if(n>>>0>>0)ab();c[n+24>>2]=j;e=c[a+(l+16)>>2]|0;do if(e)if(e>>>0>>0)ab();else{c[n+16>>2]=e;c[e+24>>2]=n;break}while(0);e=c[a+(l+20)>>2]|0;if(e)if(e>>>0<(c[1802]|0)>>>0)ab();else{c[n+20>>2]=e;c[e+24>>2]=n;break}}}else{g=c[a+(l+8)>>2]|0;e=c[a+(l+12)>>2]|0;d=7232+(f<<1<<2)|0;do if((g|0)!=(d|0)){if(g>>>0>=k>>>0?(c[g+12>>2]|0)==(m|0):0)break;ab()}while(0);if((e|0)==(g|0)){c[1798]=c[1798]&~(1<>>0>=k>>>0?(j=e+8|0,(c[j>>2]|0)==(m|0)):0){h=j;break}ab()}while(0);c[g+12>>2]=e;c[h>>2]=g}while(0);if(o>>>0<16){c[q>>2]=p|r&1|2;b=a+(p|4)|0;c[b>>2]=c[b>>2]|1;break}else{c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=o|3;r=a+(p|4)|0;c[r>>2]=c[r>>2]|1;uH(a+b|0,o);break}}else a=0}while(0);return a|0}ab();return 0}function uH(a,b){a=a|0;b=b|0;var 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;u=a+b|0;h=c[a+4>>2]|0;do if(!(h&1)){m=c[a>>2]|0;if(h&3){o=a+(0-m)|0;h=m+b|0;l=c[1802]|0;if(o>>>0>>0)ab();if((o|0)==(c[1803]|0)){f=a+(b+4)|0;g=c[f>>2]|0;if((g&3|0)!=3){p=54;break}c[1800]=h;c[f>>2]=g&-2;c[a+(4-m)>>2]=h|1;c[u>>2]=h;break}d=m>>>3;if(m>>>0<256){e=c[a+(8-m)>>2]|0;g=c[a+(12-m)>>2]|0;f=7232+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=l>>>0?(c[e+12>>2]|0)==(o|0):0)break;ab()}while(0);if((g|0)==(e|0)){c[1798]=c[1798]&~(1<>>0>=l>>>0?(j=g+8|0,(c[j>>2]|0)==(o|0)):0){i=j;break}ab()}while(0);c[e+12>>2]=g;c[i>>2]=e;p=54;break}j=c[a+(24-m)>>2]|0;g=c[a+(12-m)>>2]|0;do if((g|0)==(o|0)){e=16-m|0;f=a+(e+4)|0;g=c[f>>2]|0;if(!g){f=a+e|0;g=c[f>>2]|0;if(!g){n=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0>>0)ab();else{c[f>>2]=0;n=g;break}}else{f=c[a+(8-m)>>2]|0;if((f>>>0>=l>>>0?(e=f+12|0,(c[e>>2]|0)==(o|0)):0)?(k=g+8|0,(c[k>>2]|0)==(o|0)):0){c[e>>2]=g;c[k>>2]=f;n=g;break}ab()}while(0);if(j){g=c[a+(28-m)>>2]|0;f=7496+(g<<2)|0;if((o|0)==(c[f>>2]|0)){c[f>>2]=n;if(!n){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();g=j+16|0;if((c[g>>2]|0)==(o|0))c[g>>2]=n;else c[j+20>>2]=n;if(!n){p=54;break}}e=c[1802]|0;if(n>>>0>>0)ab();c[n+24>>2]=j;g=16-m|0;f=c[a+g>>2]|0;do if(f)if(f>>>0>>0)ab();else{c[n+16>>2]=f;c[f+24>>2]=n;break}while(0);g=c[a+(g+4)>>2]|0;if(g)if(g>>>0<(c[1802]|0)>>>0)ab();else{c[n+20>>2]=g;c[g+24>>2]=n;p=54;break}else p=54}else p=54}}else{o=a;h=b;p=54}while(0);a:do if((p|0)==54){j=c[1802]|0;if(u>>>0>>0)ab();g=a+(b+4)|0;f=c[g>>2]|0;if(!(f&2)){if((u|0)==(c[1804]|0)){y=(c[1801]|0)+h|0;c[1801]=y;c[1804]=o;c[o+4>>2]=y|1;if((o|0)!=(c[1803]|0))break;c[1803]=0;c[1800]=0;break}if((u|0)==(c[1803]|0)){y=(c[1800]|0)+h|0;c[1800]=y;c[1803]=o;c[o+4>>2]=y|1;c[o+y>>2]=y;break}i=(f&-8)+h|0;e=f>>>3;do if(f>>>0>=256){k=c[a+(b+24)>>2]|0;h=c[a+(b+12)>>2]|0;do if((h|0)==(u|0)){g=a+(b+20)|0;h=c[g>>2]|0;if(!h){g=a+(b+16)|0;h=c[g>>2]|0;if(!h){v=0;break}}while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0>>0)ab();else{c[g>>2]=0;v=h;break}}else{g=c[a+(b+8)>>2]|0;if((g>>>0>=j>>>0?(s=g+12|0,(c[s>>2]|0)==(u|0)):0)?(t=h+8|0,(c[t>>2]|0)==(u|0)):0){c[s>>2]=h;c[t>>2]=g;v=h;break}ab()}while(0);if(k){h=c[a+(b+28)>>2]|0;g=7496+(h<<2)|0;if((u|0)==(c[g>>2]|0)){c[g>>2]=v;if(!v){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();h=k+16|0;if((c[h>>2]|0)==(u|0))c[h>>2]=v;else c[k+20>>2]=v;if(!v)break}h=c[1802]|0;if(v>>>0>>0)ab();c[v+24>>2]=k;g=c[a+(b+16)>>2]|0;do if(g)if(g>>>0>>0)ab();else{c[v+16>>2]=g;c[g+24>>2]=v;break}while(0);e=c[a+(b+20)>>2]|0;if(e)if(e>>>0<(c[1802]|0)>>>0)ab();else{c[v+20>>2]=e;c[e+24>>2]=v;break}}}else{f=c[a+(b+8)>>2]|0;h=c[a+(b+12)>>2]|0;g=7232+(e<<1<<2)|0;do if((f|0)!=(g|0)){if(f>>>0>=j>>>0?(c[f+12>>2]|0)==(u|0):0)break;ab()}while(0);if((h|0)==(f|0)){c[1798]=c[1798]&~(1<>>0>=j>>>0?(r=h+8|0,(c[r>>2]|0)==(u|0)):0){q=r;break}ab()}while(0);c[f+12>>2]=h;c[q>>2]=f}while(0);c[o+4>>2]=i|1;c[o+i>>2]=i;if((o|0)==(c[1803]|0)){c[1800]=i;break}else h=i}else{c[g>>2]=f&-2;c[o+4>>2]=h|1;c[o+h>>2]=h}g=h>>>3;if(h>>>0<256){f=g<<1;h=7232+(f<<2)|0;d=c[1798]|0;e=1<>2]|0;if(d>>>0<(c[1802]|0)>>>0)ab();else{w=e;x=d}}else{c[1798]=d|e;w=7232+(f+2<<2)|0;x=h}c[w>>2]=o;c[x+12>>2]=o;c[o+8>>2]=x;c[o+12>>2]=h;break}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{w=(d+1048320|0)>>>16&8;x=d<>>16&4;x=x<>>16&2;g=14-(b|w|g)+(x<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;e=7496+(g<<2)|0;c[o+28>>2]=g;c[o+20>>2]=0;c[o+16>>2]=0;d=c[1799]|0;f=1<>2]=o;c[o+24>>2]=e;c[o+12>>2]=o;c[o+8>>2]=o;break}e=c[e>>2]|0;b:do if((c[e+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){d=e+16+(g>>>31<<2)|0;f=c[d>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){y=f;break b}else{g=g<<1;e=f}}if(d>>>0<(c[1802]|0)>>>0)ab();else{c[d>>2]=o;c[o+24>>2]=e;c[o+12>>2]=o;c[o+8>>2]=o;break a}}else y=e;while(0);d=y+8|0;e=c[d>>2]|0;x=c[1802]|0;if(e>>>0>=x>>>0&y>>>0>=x>>>0){c[e+12>>2]=o;c[d>>2]=o;c[o+8>>2]=e;c[o+12>>2]=y;c[o+24>>2]=0;break}else ab()}while(0);return}function vH(a){a=a|0;if(!(c[a+68>>2]|0))VG(a);return}function wH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(lb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)lb[c[a+40>>2]&31](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function xH(a){a=a|0;return}function yH(){return}function zH(){}function AH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function BH(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;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function CH(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function EH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ja(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)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 FH(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function GH(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function HH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else EH(b,c,d)|0;return b|0}function IH(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function JH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function KH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=AH(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return AH((PH(h,g,AH(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function LH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=AH(h^a,g^b,h,g)|0;b=C;PH(a,b,AH(l^d,k^e,l,k)|0,C,j)|0;e=AH(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function MH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=JH(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function NH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return PH(a,b,c,d,0)|0}function OH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;PH(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function PH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a;l=b;m=l;k=d;o=e;i=o;if(!m){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(n>>>0)%(k>>>0);c[f+4>>2]=0}o=0;f=(n>>>0)/(k>>>0)>>>0;return (C=o,f)|0}else{if(!g){o=0;f=0;return (C=o,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;o=0;f=0;return (C=o,f)|0}}j=(i|0)==0;do if(k){if(!j){h=(aa(i|0)|0)-(aa(m|0)|0)|0;if(h>>>0<=31){g=h+1|0;l=31-h|0;k=h-31>>31;i=g;j=n>>>(g>>>0)&k|m<>>(g>>>0)&k;g=0;h=n<>2]=a|0;c[f+4>>2]=l|b&0;o=0;f=0;return (C=o,f)|0}j=k-1|0;if(j&k){h=(aa(k|0)|0)+33-(aa(m|0)|0)|0;p=64-h|0;l=32-h|0;a=l>>31;b=h-32|0;k=b>>31;i=h;j=l-1>>31&m>>>(b>>>0)|(m<>>(h>>>0))&k;k=k&m>>>(h>>>0);g=n<>>(b>>>0))&a|n<>31;break}if(f){c[f>>2]=j&n;c[f+4>>2]=0}if((k|0)==1){f=l|b&0;p=a|0|0;return (C=f,p)|0}else{p=IH(k|0)|0;f=m>>>(p>>>0)|0;p=m<<32-p|n>>>(p>>>0)|0;return (C=f,p)|0}}else{if(j){if(f){c[f>>2]=(m>>>0)%(k>>>0);c[f+4>>2]=0}f=0;p=(m>>>0)/(k>>>0)>>>0;return (C=f,p)|0}if(!n){if(f){c[f>>2]=0;c[f+4>>2]=(m>>>0)%(i>>>0)}f=0;p=(m>>>0)/(i>>>0)>>>0;return (C=f,p)|0}j=i-1|0;if(!(j&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=j&m|b&0}f=0;p=m>>>((IH(i|0)|0)>>>0);return (C=f,p)|0}h=(aa(i|0)|0)-(aa(m|0)|0)|0;if(h>>>0<=30){k=h+1|0;h=31-h|0;i=k;j=m<>>(k>>>0);k=m>>>(k>>>0);g=0;h=n<>2]=a|0;c[f+4>>2]=l|b&0;f=0;p=0;return (C=f,p)|0}while(0);if(!i){l=h;i=0;h=0}else{m=d|0|0;l=o|e&0;b=DH(m|0,l|0,-1,-1)|0;a=C;d=h;h=0;do{n=d;d=g>>>31|d<<1;g=h|g<<1;n=j<<1|n>>>31|0;e=j>>>31|k<<1|0;AH(b,a,n,e)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;j=AH(n,e,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;k=C;i=i-1|0}while((i|0)!=0);l=d;i=0}d=0;if(f){c[f>>2]=j;c[f+4>>2]=k}f=(g|0)>>>31|(l|d)<<1|(d<<1|g>>>31)&0|i;p=(g<<1|0>>>31)&-2|h;return (C=f,p)|0}function QH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lb[a&31](b|0,c|0,d|0)|0}function RH(a){a=a|0;return mb[a&1]()|0}function SH(a,b){a=a|0;b=b|0;nb[a&31](b|0)}function TH(a,b,c){a=a|0;b=b|0;c=c|0;ob[a&7](b|0,c|0)}function UH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return pb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function VH(a,b){a=a|0;b=b|0;return qb[a&31](b|0)|0}function WH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rb[a&63](b|0,c|0,d|0)}function XH(a){a=a|0;sb[a&0]()}function YH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return tb[a&15](b|0,c|0,d|0,e|0)|0}function ZH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ub[a&0](b|0,c|0,d|0,e|0,f|0,g|0)}function _H(a,b,c){a=a|0;b=b|0;c=c|0;return vb[a&63](b|0,c|0)|0}function $H(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return wb[a&15](b|0,c|0,d|0,e|0,f|0)|0}function aI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&3](b|0,c|0,d|0,e|0)}function bI(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function cI(){ba(1);return 0}function dI(a){a=a|0;ba(2)}function eI(a,b){a=a|0;b=b|0;ba(3)}function fI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function gI(a){a=a|0;ba(5);return 0}function hI(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function iI(){ba(7)}function jI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function kI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function lI(a,b){a=a|0;b=b|0;ba(10);return 0}function mI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function nI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} // EMSCRIPTEN_END_FUNCS -var pb=[CF,Ac,Dc,Gc,Ic,ni,al,dl,BD,HD,VD,DF,EF,FF,XD,Sw,Tw,Uw,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF];var qb=[GF,YD];var rb=[HF,$k,hl,il,ul,zl,Dl,dm,em,fm,hm,jm,LD,hc,Bh,wh,Vr,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF];var sb=[IF,bl,gl,cr,mq,IF,IF,IF];var tb=[JF,KF];var ub=[LF,ki,_k,cl,tl,wl,xl,yl,yD,ID,JD,MF,NF,OF,mE,vE,Tb,Ed,Fh,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF];var vb=[PF,el,Al,Bl,Cl,El,Fl,Gl,Hl,Il,Jl,Kl,Ll,Ml,Nl,Ol,Pl,Ql,Rl,Sl,Tl,Ul,Vl,Wl,Xl,Yl,Zl,_l,$l,am,bm,cm,gm,im,km,nm,om,pm,tm,um,vm,wm,xm,ym,zm,Am,Ur,Sr,Rr,rt,ut,Tf,PF,PF,PF,PF,PF,PF,PF,PF,PF,PF,PF,PF];var wb=[QF];var xb=[RF,Bc,Cc,KD,OD,Wf,cs,is];var yb=[SF];var zb=[TF,Ec,Fc,Hc,Jc,Kc,GE,lE,xD,oi,pi,vl,CD,DD,ED,FD,GD,MD,UF,VF,WF,XF,YF,ZF,WD,_F,$F,nE,oE,pE,wE,xE,yE,gc,Pf,Wj,Yi,nq,ar,br,tq,uq,Pq,Wq,ft,gt,sw,tw,Qx,Rx,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF];var Ab=[aG,zc,li,mi,zD,AD,ND,zE,oh,ph,aG,aG,aG,aG,aG,aG];var Bb=[bG,fl,dc,bG];return{_strlen:aF,_sqlite3_column_name:Ce,_sqlite3_reset:xd,_sqlite3_column_type:Be,_sqlite3_exec:kf,_sqlite3_step:je,_bitshift64Lshr:cF,_sqlite3_prepare_v2:mf,_sqlite3_close_v2:Mf,_sqlite3_open:cg,_bitshift64Shl:$E,_sqlite3_column_bytes:ye,_sqlite3_bind_int:Ie,_sqlite3_bind_blob:Ee,_memset:_E,_memcpy:dF,_sqlite3_column_blob:ve,_sqlite3_bind_parameter_index:Le,_i64Subtract:ZE,_sqlite3_column_text:Ae,_realloc:SE,_i64Add:bF,_sqlite3_finalize:td,_sqlite3_column_double:ze,_sqlite3_errmsg:nf,_sqlite3_data_count:ue,_sqlite3_bind_text:Ke,_sqlite3_bind_double:Ge,_free:RE,_memmove:eF,_sqlite3_free:hc,_sqlite3_clear_bindings:Ad,_malloc:QE,runPostSets:YE,stackAlloc:Cb,stackSave:Db,stackRestore:Eb,setThrew:Fb,setTempRet0:Ib,getTempRet0:Jb,dynCall_iiii:pF,dynCall_i:qF,dynCall_vi:rF,dynCall_vii:sF,dynCall_iiiiiii:tF,dynCall_ii:uF,dynCall_viii:vF,dynCall_v:wF,dynCall_iiiii:xF,dynCall_viiiiii:yF,dynCall_iii:zF,dynCall_iiiiii:AF,dynCall_viiii:BF}}) +var lb=[bI,KD,ND,QD,SD,Eh,Sj,um,xm,ZD,dE,rE,KG,nH,rH,tE,ZG,XG,Sw,Tw,Uw,YG,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI];var mb=[cI,uE];var nb=[dI,tm,Bm,Cm,Om,Tm,hE,RF,rG,sG,tG,vG,xG,Sb,dj,_i,Hr,vH,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI];var ob=[eI,vm,Am,Qq,Zp,eI,eI,eI];var pb=[fI,uh,vh,OG];var qb=[gI,xh,yh,Ah,Ch,Dh,Pj,sm,wm,Nm,Qm,Rm,Sm,WD,eE,fE,fH,qH,oH,KE,TE,WG,ic,Jd,hj,gI,gI,gI,gI,gI,gI,gI];var rb=[hI,ym,Gr,Er,Dr,kt,rt,OF,PF,QF,SF,TF,UF,VF,WF,XF,YF,ZF,_F,$F,aG,bG,cG,dG,eG,fG,gG,hG,iG,jG,kG,lG,mG,nG,oG,pG,qG,uG,wG,bu,nF,oF,pF,qF,rF,sF,tF,uF,vF,wF,xF,_f,sh,th,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI];var sb=[iI];var tb=[jI,LD,MD,Gh,gE,kE,$f,Qr,Wr,jI,jI,jI,jI,jI,jI,jI];var ub=[kI];var vb=[lI,OD,PD,RD,TD,UD,wh,zh,Fh,Hh,Tj,Uj,Pm,cF,JE,VD,_D,$D,aE,bE,cE,iE,eH,jH,TG,RG,iH,QG,sE,SG,PG,LE,ME,NE,UE,VE,WE,Xf,Wd,ul,Ak,_p,Oq,Pq,eq,fq,Aq,Hq,Ys,Zs,sw,tw,Wx,Xx,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI];var wb=[mI,JD,Bh,Qj,Rj,XD,YD,jE,XE,kh,lh,$h,ai,mI,mI,mI];var xb=[nI,zm,Vd,nI];return{_sqlite3_column_name:Pc,_sqlite3_reset:fc,_sqlite3_column_type:Oc,_sqlite3_exec:Zc,_sqlite3_step:Cc,_bitshift64Lshr:GH,_sqlite3_prepare_v2:_c,_sqlite3_close_v2:od,_sqlite3_open:Ad,_bitshift64Shl:CH,_fflush:_G,_sqlite3_column_bytes:Jc,_sqlite3_bind_int:Sc,_sqlite3_bind_blob:Qc,_memset:BH,_memcpy:EH,_sqlite3_column_blob:Ic,_sqlite3_bind_parameter_index:Wc,_i64Subtract:AH,_sqlite3_column_text:Nc,_i64Add:DH,_sqlite3_finalize:ec,_sqlite3_column_double:Kc,_sqlite3_errmsg:$c,_sqlite3_data_count:Hc,_sqlite3_bind_text:Vc,_sqlite3_bind_double:Rc,___errno_location:IG,_free:GG,_memmove:HH,_sqlite3_free:Sb,_sqlite3_clear_bindings:gc,_malloc:FG,_bitshift64Ashr:FH,runPostSets:zH,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setThrew:Cb,setTempRet0:Fb,getTempRet0:Gb,dynCall_iiii:QH,dynCall_i:RH,dynCall_vi:SH,dynCall_vii:TH,dynCall_iiiiiii:UH,dynCall_ii:VH,dynCall_viii:WH,dynCall_v:XH,dynCall_iiiii:YH,dynCall_viiiiii:ZH,dynCall_iii:_H,dynCall_iiiiii:$H,dynCall_viiii:aI}}) // EMSCRIPTEN_END_ASM -(r.ie,r.je,M),Ob=r._strlen=T._strlen;r._sqlite3_column_name=T._sqlite3_column_name;r._sqlite3_reset=T._sqlite3_reset;r._sqlite3_column_type=T._sqlite3_column_type;r._sqlite3_exec=T._sqlite3_exec;r._sqlite3_step=T._sqlite3_step;var xc=r._bitshift64Lshr=T._bitshift64Lshr;r._sqlite3_prepare_v2=T._sqlite3_prepare_v2;r._sqlite3_close_v2=T._sqlite3_close_v2;r._sqlite3_open=T._sqlite3_open;var Mb=r._bitshift64Shl=T._bitshift64Shl;r._sqlite3_column_bytes=T._sqlite3_column_bytes; -r._sqlite3_bind_int=T._sqlite3_bind_int;r._sqlite3_bind_blob=T._sqlite3_bind_blob;var Kb=r._memset=T._memset,Cc=r._memcpy=T._memcpy;r._sqlite3_column_blob=T._sqlite3_column_blob;r._sqlite3_bind_parameter_index=T._sqlite3_bind_parameter_index;var Jb=r._i64Subtract=T._i64Subtract;r._sqlite3_column_text=T._sqlite3_column_text;r._realloc=T._realloc;var Pb=r._i64Add=T._i64Add;r._sqlite3_finalize=T._sqlite3_finalize;r._sqlite3_column_double=T._sqlite3_column_double;r._sqlite3_errmsg=T._sqlite3_errmsg; -r._sqlite3_data_count=T._sqlite3_data_count;r._sqlite3_bind_text=T._sqlite3_bind_text;r._sqlite3_bind_double=T._sqlite3_bind_double;var Ka=r._free=T._free,Ec=r._memmove=T._memmove;r._sqlite3_free=T._sqlite3_free;r._sqlite3_clear_bindings=T._sqlite3_clear_bindings;var Ia=r._malloc=T._malloc;r.runPostSets=T.runPostSets;r.dynCall_iiii=T.dynCall_iiii;r.dynCall_i=T.dynCall_i;r.dynCall_vi=T.dynCall_vi;r.dynCall_vii=T.dynCall_vii;r.dynCall_iiiiiii=T.dynCall_iiiiiii;r.dynCall_ii=T.dynCall_ii; -r.dynCall_viii=T.dynCall_viii;r.dynCall_v=T.dynCall_v;r.dynCall_iiiii=T.dynCall_iiiii;r.dynCall_viiiiii=T.dynCall_viiiiii;r.dynCall_iii=T.dynCall_iii;r.dynCall_iiiiii=T.dynCall_iiiiii;r.dynCall_viiii=T.dynCall_viiii;w.Ma=T.stackAlloc;w.Xb=T.stackSave;w.Wb=T.stackRestore;w.Lf=T.setTempRet0;w.Ye=T.getTempRet0;function U(a,b){a!=l&&("number"==typeof a?this.da(a):b==l&&"string"!=typeof a?this.S(a,256):this.S(a,b))}function Kc(){return new U(l)} -function Lc(a,b){var c=Mc[a.charCodeAt(b)];return c==l?-1:c}function Nc(a){var b=Kc();b.Aa(a);return b}function V(a,b){this.H=a|0;this.M=b|0}V.Tc={};V.Aa=function(a){if(-128<=a&&128>a){var b=V.Tc[a];if(b)return b}b=new V(a|0,0>a?-1:0);-128<=a&&128>a&&(V.Tc[a]=b);return b};V.da=function(a){return isNaN(a)||!isFinite(a)?V.ZERO:a<=-V.Vc?V.MIN_VALUE:a+1>=V.Vc?V.MAX_VALUE:0>a?V.da(-a).K():new V(a%V.ya|0,a/V.ya|0)};V.qa=function(a,b){return new V(a,b)}; -V.S=function(a,b){0==a.length&&e(Error("number format error: empty string"));var c=b||10;(2>c||36i?(i=V.da(Math.pow(c,i)),f=f.multiply(i).add(V.da(j))):(f=f.multiply(d),f=f.add(V.da(j)))}return f};V.bc=65536; -V.gi=16777216;V.ya=V.bc*V.bc;V.hi=V.ya/2;V.ii=V.ya*V.bc;V.ce=V.ya*V.ya;V.Vc=V.ce/2;V.ZERO=V.Aa(0);V.ONE=V.Aa(1);V.Uc=V.Aa(-1);V.MAX_VALUE=V.qa(-1,2147483647);V.MIN_VALUE=V.qa(0,-2147483648);V.be=V.Aa(16777216);q=V.prototype;q.Zb=function(){return this.M*V.ya+this.Ue()}; -q.toString=function(a){a=a||10;(2>a||36h.length;)h="0"+h;d=""+h+d}};q.Ue=function(){return 0<=this.H?this.H:V.ya+this.H}; -q.Ja=function(){return 0==this.M&&0==this.H};q.Y=function(){return 0>this.M};q.zd=function(){return 1==(this.H&1)};q.ba=function(a){return this.M==a.M&&this.H==a.H};q.Bd=function(){return 0>this.lc(V.be)};q.af=function(a){return 0>>16,c=this.M&65535,d=this.H>>>16,f=a.M>>>16,h=a.M&65535,i=a.H>>>16,j;j=0+((this.H&65535)+(a.H&65535));a=0+(j>>>16);a+=d+i;d=0+(a>>>16);d+=c+h;c=0+(d>>>16);c=c+(b+f)&65535;return V.qa((a&65535)<<16|j&65535,c<<16|d&65535)};q.rb=function(a){return this.add(a.K())}; -q.multiply=function(a){if(this.Ja()||a.Ja())return V.ZERO;if(this.ba(V.MIN_VALUE))return a.zd()?V.MIN_VALUE:V.ZERO;if(a.ba(V.MIN_VALUE))return this.zd()?V.MIN_VALUE:V.ZERO;if(this.Y())return a.Y()?this.K().multiply(a.K()):this.K().multiply(a).K();if(a.Y())return this.multiply(a.K()).K();if(this.Bd()&&a.Bd())return V.da(this.Zb()*a.Zb());var b=this.M>>>16,c=this.M&65535,d=this.H>>>16,f=this.H&65535,h=a.M>>>16,i=a.M&65535,j=a.H>>>16,a=a.H&65535,x,p,A,t;t=0+f*a;A=0+(t>>>16);A+=d*a;p=0+(A>>>16);A=(A& -65535)+f*j;p+=A>>>16;A&=65535;p+=c*a;x=0+(p>>>16);p=(p&65535)+d*j;x+=p>>>16;p&=65535;p+=f*i;x+=p>>>16;p&=65535;x=x+(b*a+c*j+d*i+f*h)&65535;return V.qa(A<<16|t&65535,x<<16|p)}; -q.Ga=function(a){a.Ja()&&e(Error("division by zero"));if(this.Ja())return V.ZERO;if(this.ba(V.MIN_VALUE)){if(a.ba(V.ONE)||a.ba(V.Uc))return V.MIN_VALUE;if(a.ba(V.MIN_VALUE))return V.ONE;var b=this.Mf().Ga(a).shiftLeft(1);if(b.ba(V.ZERO))return a.Y()?V.ONE:V.Uc;var c=this.rb(a.multiply(b));return b.add(c.Ga(a))}if(a.ba(V.MIN_VALUE))return V.ZERO;if(this.Y())return a.Y()?this.K().Ga(a.K()):this.K().Ga(a).K();if(a.Y())return this.Ga(a.K()).K();for(var d=V.ZERO,c=this;c.bf(a);){for(var b=Math.max(1,Math.floor(c.Zb()/ -a.Zb())),f=Math.ceil(Math.log(b)/Math.LN2),f=48>=f?1:Math.pow(2,f-48),h=V.da(b),i=h.multiply(a);i.Y()||i.af(c);)b-=f,h=V.da(b),i=h.multiply(a);h.Ja()&&(h=V.ONE);d=d.add(h);c=c.rb(i)}return d};q.uf=function(){return V.qa(~this.H,~this.M)};q.shiftLeft=function(a){a&=63;if(0==a)return this;var b=this.H;return 32>a?V.qa(b<>>32-a):V.qa(0,b<a?V.qa(this.H>>>a|b<<32-a,b>>a):V.qa(b>>a-32,0<=b?0:-1)};q=U.prototype; -q.hc=function(a,b,c,d){for(var f=0,h=0;0<=--d;){var i=a*this[f++]+b[c]+h,h=Math.floor(i/67108864);b[c++]=i&67108863}return h};q.A=26;q.la=67108863;q.ab=67108864;q.Wd=Math.pow(2,52);q.Rc=26;q.Sc=0;var Mc=[],Oc,W;Oc=48;for(W=0;9>=W;++W)Mc[Oc++]=W;Oc=97;for(W=10;36>W;++W)Mc[Oc++]=W;Oc=65;for(W=10;36>W;++W)Mc[Oc++]=W;q=U.prototype;q.copyTo=function(a){for(var b=this.g-1;0<=b;--b)a[b]=this[b];a.g=this.g;a.u=this.u};q.Aa=function(a){this.g=1;this.u=0>a?-1:0;0a?this[0]=a+DV:this.g=0}; -q.S=function(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else if(4==b)c=2;else{this.Qe(a,b);return}this.u=this.g=0;for(var d=a.length,f=m,h=0;0<=--d;){var i=8==c?a[d]&255:Lc(a,d);0>i?"-"==a.charAt(d)&&(f=k):(f=m,0==h?this[this.g++]=i:h+c>this.A?(this[this.g-1]|=(i&(1<>this.A-h):this[this.g-1]|=i<=this.A&&(h-=this.A))}8==c&&0!=(a[0]&128)&&(this.u=-1,0>d|i,i=(this[j]&f)<=this.g)b.g=0;else{var d=a%this.A,f=this.A-d,h=(1<>d;for(var i=c+1;i>d;0>=this.A;if(a.g>=this.A;d+=this.u}else{for(d+=this.u;c>=this.A;d-=a.u}b.u=0>d?-1:0;-1>d?b[c++]=this.ab+d:0=d.g)){var f=this.abs();if(f.g>>16))j=p,x+=16;if(0!=(p=j>>8))j=p,x+=8;if(0!=(p=j>>4))j=p,x+=4;if(0!=(p=j>>2))j=p,x+=2;0!=j>>1&&(x+=1);j=this.A-x;0>this.Sc:0);x=this.Wd/p;p=(1<i&&U.ZERO.ka(c,c)}}}}; -q.toString=function(a){if(0>this.u)return"-"+this.K().toString(a);if(16==a)a=4;else if(8==a)a=3;else if(2==a)a=1;else if(32==a)a=5;else if(4==a)a=2;else return this.Of(a);var b=(1<>i))d=k,f="0123456789abcdefghijklmnopqrstuvwxyz".charAt(c);for(;0<=h;)i>(i+=this.A-a)):(c=this[h]>>(i-=a)&b,0>=i&&(i+=this.A,--h)),0this.u?this.K():this};q.Fb=function(a){var b=this.u-a.u;if(0!=b)return b;var c=this.g,b=c-a.g;if(0!=b)return 0>this.u?-b:b;for(;0<=--c;)if(0!=(b=this[c]-a[c]))return b;return 0};U.ZERO=Nc(0);U.ONE=Nc(1);q=U.prototype; -q.Qe=function(a,b){this.Aa(0);b==l&&(b=10);for(var c=this.Db(b),d=Math.pow(b,c),f=m,h=0,i=0,j=0;jx?"-"==a.charAt(j)&&0==this.Hc()&&(f=k):(i=b*i+x,++h>=c&&(this.fd(d),this.ed(i),i=h=0))}0this.u?-1:0>=this.g||1==this.g&&0>=this[0]?0:1};q.fd=function(a){this[this.g]=this.hc(a-1,this,0,this.g);++this.g;this.za()}; -q.ed=function(a){var b=0;if(0!=a){for(;this.g<=b;)this[this.g++]=0;for(this[b]+=a;this[b]>=this.ab;)this[b]-=this.ab,++b>=this.g&&(this[this.g++]=0),++this[b]}};q.Of=function(a){a==l&&(a=10);if(0==this.Hc()||2>a||36this.u){if(1==this.g)return this[0]-this.ab;if(0==this.g)return-1}else{if(1==this.g)return this[0];if(0==this.g)return 0}return(this[1]&(1<<32-this.A)-1)<>=this.A;if(a.g>=this.A;d+=this.u}else{for(d+=this.u;c>=this.A;d+=a.u}b.u=0>d?-1:0;0d&&(b[c++]=this.ab+d);b.g=c;b.za()}; -var X={abs:function(a,b){var c=new V(a,b),c=c.Y()?c.K():c;E[ib>>2]=c.H;E[ib+4>>2]=c.M},kd:function(){X.Je||(X.Je=k,X.Md=new U,X.Md.S("4294967296",10),X.Jc=new U,X.Jc.S("18446744073709551616",10),X.Xi=new U,X.Yi=new U)},Oi:function(a,b){var c=new U;c.S(b.toString(),10);var d=new U;c.qf(d);c=new U;c.S(a.toString(),10);var f=new U;c.dc(d,f);return f},stringify:function(a,b,c){a=(new V(a,b)).toString();c&&"-"==a[0]&&(X.kd(),c=new U,c.S(a,10),a=new U,X.Jc.dc(c,a),a=a.toString(10));return a},S:function(a, -b,c,d,f){X.kd();var h=new U;h.S(a,b);a=new U;a.S(c,10);c=new U;c.S(d,10);f&&0>h.Fb(U.ZERO)&&(d=new U,h.dc(X.Jc,d),h=d);d=m;0>h.Fb(a)?(h=a,d=k):0>2]=h.H;E[ib+4>>2]=h.M;d&&e("range error")}}; -if(hb)if("function"===typeof r.locateFile?hb=r.locateFile(hb):r.memoryInitializerPrefixURL&&(hb=r.memoryInitializerPrefixURL+hb),s||ga){var Pc=r.readBinary(hb);K.set(Pc,Oa)}else fb(),Ib(hb,function(a){K.set(a,Oa);gb()},function(){e("could not load memory initializer "+hb)});function ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ka.prototype=Error();var Qc,Rc=l,eb=function Sc(){!r.calledRun&&Tc&&Uc();r.calledRun||(eb=Sc)}; -r.callMain=r.ri=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}u(0==cb,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");u(0==Ua.length,"cannot call main when preRun functions remain to be called");a=a||[];Za||(Za=k,Ta(Va));var c=a.length+1,d=[H(N(r.thisProgram),"i8",F)];b();for(var f=0;fd;a=0<=d?++f:--f)c[a]=D[b+a];return c};$.prototype.get=function(a){var b,c,d;a!=l&&this.bind(a)&&this.step();d=[];a=b=0;for(c=kd(this.L);0<=c?bc;a=0<=c?++b:--b)switch(jd(this.L,a)){case Y.Xd:case Y.FLOAT:d.push(this.We(a));break;case Y.ae:d.push(this.Xe(a));break;case Y.Nd:d.push(this.getBlob(a));break;default:d.push(l)}return d}; -$.prototype.getColumnNames=function(){var a,b,c,d;d=[];a=b=0;for(c=kd(this.L);0<=c?bc;a=0<=c?++b:--b)d.push(hd(this.L,a));return d};$.prototype.getAsObject=function(a){var b,c,d,f,h,i;f=this.get(a);c=this.getColumnNames();d={};a=h=0;for(i=c.length;h>>0);a!=l&&z.Gb("/",this.filename,a,k,k);this.handleError(od(this.filename,Z));this.db=Ga(Z,"i32");this.Yb={}} -ud.prototype.run=function(a,b){var c;this.db||e("Database closed");b?(c=this.prepare(a,b),c.step(),c.free()):this.handleError(md(this.db,a,0,0,Z));return this}; -ud.prototype.exec=function(a){var b,c,d,f,h;this.db||e("Database closed");f=w.Xb();c=w.Ma(a.length<<3);xa(a,c);a=w.Ma(4);for(d=[];Ga(c,"i8")!==Wc;)if(ya(Z,0,"i32"),ya(a,0,"i32"),this.handleError(qd(this.db,c,-1,Z,a)),b=Ga(Z,"i32"),c=Ga(a,"i32"),b!==Wc){h=new $(b,this);for(b=l;h.step();)b===l&&(b={columns:h.getColumnNames(),values:[]},d.push(b)),b.values.push(h.get());h.free()}w.Wb(f);return d}; -ud.prototype.each=function(a,b,c,d){"function"===typeof b&&(d=c,c=b,b=g);for(a=this.prepare(a,b);a.step();)c(a.getAsObject());a.free();if("function"===typeof d)return d()};ud.prototype.prepare=function(a,b){var c,d;ya(Z,0,"i32");this.handleError(pd(this.db,a,-1,Z,Wc));c=Ga(Z,"i32");c===Wc&&e("Nothing to prepare");d=new $(c,this);b!=l&&d.bind(b);return this.Yb[c]=d}; -ud.prototype["export"]=function(){var a,b,c;c=this.Yb;for(b in c)a=c[b],a.free();this.handleError(dd(this.db));a=z.Ef(this.filename,{encoding:"binary"});this.handleError(od(this.filename,Z));this.db=Ga(Z,"i32");return a};ud.prototype.close=function(){var a,b,c;c=this.Yb;for(b in c)a=c[b],a.free();this.handleError(dd(this.db));z.Da("/"+this.filename);return this.db=l};ud.prototype.handleError=function(a){if(a===Y.Bb)return l;a=ld(this.db);e(Error(a))};Database=ud; -od=r.cwrap("sqlite3_open","number",["string","number"]);dd=r.cwrap("sqlite3_close_v2","number",["number"]);md=r.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);r.cwrap("sqlite3_free","",["number"]);pd=r.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);qd=r.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]);bd=r.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]); -Yc=r.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);Zc=r.cwrap("sqlite3_bind_double","number",["number","number","number"]);$c=r.cwrap("sqlite3_bind_int","number",["number","number","number"]);ad=r.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);td=r.cwrap("sqlite3_step","number",["number"]);ld=r.cwrap("sqlite3_errmsg","string",["number"]);kd=r.cwrap("sqlite3_data_count","number",["number"]); -gd=r.cwrap("sqlite3_column_double","number",["number","number"]);id=r.cwrap("sqlite3_column_text","string",["number","number"]);ed=r.cwrap("sqlite3_column_blob","number",["number","number"]);fd=r.cwrap("sqlite3_column_bytes","number",["number","number"]);jd=r.cwrap("sqlite3_column_type","number",["number","number"]);hd=r.cwrap("sqlite3_column_name","string",["number","number"]);rd=r.cwrap("sqlite3_reset","number",["number"]);cd=r.cwrap("sqlite3_clear_bindings","number",["number"]); -nd=r.cwrap("sqlite3_finalize","number",["number"]);this.SQL={Database:Database};for(Xc in this.SQL)r[Xc]=this.SQL[Xc];Wc=0;Y.Bb=0;Y.xh=1;Y.Oh=2;Y.$h=3;Y.Sf=4;Y.Uf=5;Y.Rh=6;Y.Vh=7;Y.ci=8;Y.Ph=9;Y.Qh=10;Y.Xf=11;Y.Xh=12;Y.Nh=13;Y.Vf=14;Y.ai=15;Y.EMPTY=16;Y.di=17;Y.fi=18;Y.Wf=19;Y.Sh=20;Y.Th=21;Y.Uh=22;Y.Tf=23;Y.Mh=24;Y.bi=25;Y.Wh=26;Y.Yh=27;Y.ji=28;Y.$d=100;Y.DONE=101;Y.Xd=1;Y.FLOAT=2;Y.ae=3;Y.Nd=4;Y.Zh=5; +(f.rb,f.sb,C);f._sqlite3_column_name=W._sqlite3_column_name;f._sqlite3_reset=W._sqlite3_reset;f._sqlite3_column_type=W._sqlite3_column_type;f._sqlite3_exec=W._sqlite3_exec;f._sqlite3_step=W._sqlite3_step;var Ad=f._bitshift64Lshr=W._bitshift64Lshr;f._sqlite3_prepare_v2=W._sqlite3_prepare_v2;f._sqlite3_close_v2=W._sqlite3_close_v2;f._sqlite3_open=W._sqlite3_open; +var Ac=f._bitshift64Shl=W._bitshift64Shl,Gb=f._fflush=W._fflush;f._sqlite3_column_bytes=W._sqlite3_column_bytes;f._sqlite3_bind_int=W._sqlite3_bind_int;f._sqlite3_bind_blob=W._sqlite3_bind_blob;var zc=f._memset=W._memset,Dc=f._memcpy=W._memcpy;f._sqlite3_column_blob=W._sqlite3_column_blob;f._sqlite3_bind_parameter_index=W._sqlite3_bind_parameter_index;var ob=f._i64Subtract=W._i64Subtract;f._sqlite3_column_text=W._sqlite3_column_text;var Bc=f._i64Add=W._i64Add;f._sqlite3_finalize=W._sqlite3_finalize; +f._sqlite3_column_double=W._sqlite3_column_double;f._sqlite3_errmsg=W._sqlite3_errmsg;f._sqlite3_data_count=W._sqlite3_data_count;f._sqlite3_bind_text=W._sqlite3_bind_text;f._sqlite3_bind_double=W._sqlite3_bind_double;f.___errno_location=W.___errno_location;var Ra=f._free=W._free;f.runPostSets=W.runPostSets;var Fd=f._memmove=W._memmove;f._sqlite3_free=W._sqlite3_free;f._sqlite3_clear_bindings=W._sqlite3_clear_bindings;var Ia=f._malloc=W._malloc,zd=f._bitshift64Ashr=W._bitshift64Ashr; +f.dynCall_iiii=W.dynCall_iiii;f.dynCall_i=W.dynCall_i;f.dynCall_vi=W.dynCall_vi;f.dynCall_vii=W.dynCall_vii;f.dynCall_iiiiiii=W.dynCall_iiiiiii;f.dynCall_ii=W.dynCall_ii;f.dynCall_viii=W.dynCall_viii;f.dynCall_v=W.dynCall_v;f.dynCall_iiiii=W.dynCall_iiiii;f.dynCall_viiiiii=W.dynCall_viiiiii;f.dynCall_iii=W.dynCall_iii;f.dynCall_iiiiii=W.dynCall_iiiiii;f.dynCall_viiii=W.dynCall_viiii;n.T=W.stackAlloc;n.ha=W.stackSave;n.Z=W.stackRestore;n.Qe=W.establishStackSpace;n.cc=W.setTempRet0;n.Kb=W.getTempRet0; +function ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ka.prototype=Error();ka.prototype.constructor=ka;var Id,Jd=null,kb=function Kd(){f.calledRun||Ld();f.calledRun||(kb=Kd)}; +f.callMain=f.Le=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}k(0==ib,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");k(0==cb.length,"cannot call main when preRun functions remain to be called");a=a||[];La||(La=!0,bb(db));var c=a.length+1,d=[x(E(f.thisProgram),"i8",0)];b();for(var e=0;eg;a=0<=g?++c:--c)e[a]=u[d+a];return e};a.prototype.get=function(a){var c,d,e;null!=a&&this.bind(a)&&this.step();e=[];a=c=0;for(d=ee(this.q);0<=d?cd;a=0<=d?++c:--c)switch(de(this.q,a)){case X.lb:case X.FLOAT:e.push(this.Ib(a));break;case X.nb:e.push(this.Jb(a));break;case X.ib:e.push(this.getBlob(a));break;default:e.push(null)}return e};a.prototype.getColumnNames=function(){var a,c,d,e;e=[];a=c= +0;for(d=ee(this.q);0<=d?cd;a=0<=d?++c:--c)e.push(be(this.q,a));return e};a.prototype.getAsObject=function(a){var c,d,e,g,h,l;l=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&sc("/",this.filename,a,!0,!0);this.handleError(ie(this.filename,Z));this.db=Ha(Z,"i32");this.ua={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(ge(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,e,g,h;if(!this.db)throw"Database closed";g=n.ha();d=n.T(a.length<<3);va(a,d);a=n.T(4);for(e=[];Ha(d,"i8")!== +Pd;)if(za(Z,0,"i32"),za(a,0,"i32"),this.handleError(ke(this.db,d,-1,Z,a)),c=Ha(Z,"i32"),d=Ha(a,"i32"),c!==Pd){h=new Qd(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},e.push(c)),c.values.push(h.get());h.free()}n.Z(g);return e};a.prototype.each=function(a,c,d,e){"function"===typeof c&&(e=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof e)return e()};a.prototype.prepare=function(a){var c;za(Z,0,"i32");this.handleError(je(this.db, +a,-1,Z,Pd));a=Ha(Z,"i32");if(a===Pd)throw"Nothing to prepare";c=new Qd(a,this);return this.ua[a]=c};a.prototype["export"]=function(){var a,c,d,e;d=this.ua;for(a in d)e=d[a],e.free();this.handleError(Yd(this.db));e=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=hc(e,a.flags);e=dc(e).size;var g=new Uint8Array(e);mc(d,g,0,e,0);"utf8"===a.encoding?c=Na(g,0): +"binary"===a.encoding&&(c=g);jc(d);this.handleError(ie(this.filename,Z));this.db=Ha(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.ua;for(a in c)d=c[a],d.free();this.handleError(Yd(this.db));cc("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===X.ma)return null;a=fe(this.db);throw Error(a);};return a}();ie=f.cwrap("sqlite3_open","number",["string","number"]);Yd=f.cwrap("sqlite3_close_v2","number",["number"]); +ge=f.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);f.cwrap("sqlite3_free","",["number"]);je=f.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);ke=f.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]);Wd=f.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);Sd=f.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]); +Td=f.cwrap("sqlite3_bind_double","number",["number","number","number"]);Ud=f.cwrap("sqlite3_bind_int","number",["number","number","number"]);Vd=f.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);me=f.cwrap("sqlite3_step","number",["number"]);fe=f.cwrap("sqlite3_errmsg","string",["number"]);ee=f.cwrap("sqlite3_data_count","number",["number"]);ae=f.cwrap("sqlite3_column_double","number",["number","number"]);ce=f.cwrap("sqlite3_column_text","string",["number","number"]); +Zd=f.cwrap("sqlite3_column_blob","number",["number","number"]);$d=f.cwrap("sqlite3_column_bytes","number",["number","number"]);de=f.cwrap("sqlite3_column_type","number",["number","number"]);be=f.cwrap("sqlite3_column_name","string",["number","number"]);le=f.cwrap("sqlite3_reset","number",["number"]);Xd=f.cwrap("sqlite3_clear_bindings","number",["number"]);he=f.cwrap("sqlite3_finalize","number",["number"]);this.SQL={Database:Database};for(Rd in this.SQL)f[Rd]=this.SQL[Rd];Pd=0;X.ma=0;X.ERROR=1; +X.ke=2;X.we=3;X.fc=4;X.hc=5;X.ne=6;X.re=7;X.ze=8;X.le=9;X.me=10;X.kc=11;X.te=12;X.ie=13;X.ic=14;X.xe=15;X.EMPTY=16;X.Ae=17;X.Ce=18;X.jc=19;X.oe=20;X.pe=21;X.qe=22;X.gc=23;X.he=24;X.ye=25;X.se=26;X.ue=27;X.De=28;X.mb=100;X.DONE=101;X.lb=1;X.FLOAT=2;X.nb=3;X.ib=4;X.ve=5; return this['SQL']; })(); diff --git a/js/worker.js b/js/worker.js new file mode 100644 index 00000000..72a3fc18 --- /dev/null +++ b/js/worker.js @@ -0,0 +1,73 @@ +// Generated by CoffeeScript 1.9.3 +var createDb, db; + +if (typeof importScripts === 'function') { + db = null; + createDb = function(data) { + if (db != null) { + db.close(); + } + return db = new SQL.Database(data); + }; + self.onmessage = function(event) { + var buff, callback, data, done, err; + data = event['data']; + switch (data != null ? data['action'] : void 0) { + case 'open': + buff = data['buffer']; + createDb((buff ? new Uint8Array(buff) : void 0)); + return postMessage({ + 'id': data['id'], + 'ready': true + }); + case 'exec': + if (db === null) { + createDb(); + } + if (!data['sql']) { + throw 'exec: Missing query string'; + } + return postMessage({ + 'id': data['id'], + 'results': db.exec(data['sql']) + }); + case 'each': + if (db === null) { + createDb(); + } + callback = function(row) { + return postMessage({ + 'id': data['id'], + 'row': row, + 'finished': false + }); + }; + done = function() { + return postMessage({ + 'id': data['id'], + 'finished': true + }); + }; + return db.each(data['sql'], data['params'], callback, done); + case 'export': + buff = db["export"]().buffer; + try { + return postMessage({ + 'id': data['id'], + 'buffer': buff + }, [buff]); + } catch (_error) { + err = _error; + return postMessage({ + 'id': data['id'], + 'buffer': buff + }); + } + break; + case 'close': + return db != null ? db.close() : void 0; + default: + throw new 'Invalid action : ' + (data != null ? data['action'] : void 0); + } + }; +} diff --git a/js/worker.sql.js b/js/worker.sql.js index d274bbd1..88757265 100644 --- a/js/worker.sql.js +++ b/js/worker.sql.js @@ -1,477 +1,442 @@ // This prevents pollution of the global namespace var SQL = (function () { -function e(a){throw a;}var g=void 0,k=!0,l=null,m=!1;function n(){return function(){}}var q,r;r||(r=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in r)r.hasOwnProperty(ba)&&(aa[ba]=r[ba]);var s="object"===typeof process&&"function"===typeof require,da="object"===typeof window,ea="function"===typeof importScripts,ga=!da&&!s&&!ea; -if(s){r.print||(r.print=function(a){process.stdout.write(a+"\n")});r.printErr||(r.printErr=function(a){process.stderr.write(a+"\n")});var ha=require("fs"),ia=require("path");r.read=function(a,b){var a=ia.normalize(a),c=ha.readFileSync(a);!c&&a!=ia.resolve(a)&&(a=path.join(__dirname,"..","src",a),c=ha.readFileSync(a));c&&!b&&(c=c.toString());return c};r.readBinary=function(a){return r.read(a,k)};r.load=function(a){ja(read(a))};r.thisProgram=1 0) var gc = undefined")):da||ea?(r.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,m);b.send(l);return b.responseText},"undefined"!=typeof arguments&&(r.arguments=arguments),"undefined"!==typeof console?(r.print||(r.print=function(a){console.log(a)}),r.printErr||(r.printErr=function(a){console.log(a)})):r.print||(r.print= -n()),da?window.Module=r:r.load=importScripts):e("Unknown runtime environment. Where are we?");function ja(a){eval.call(l,a)}!r.load&&r.read&&(r.load=function(a){ja(r.read(a))});r.print||(r.print=n());r.printErr||(r.printErr=r.print);r.arguments||(r.arguments=[]);r.thisProgram||(r.thisProgram="./this.program");r.print=r.print;r.Ca=r.printErr;r.preRun=[];r.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(r[ba]=aa[ba]); -var w={Lf:function(a){la=a},Ye:function(){return la},Xb:function(){return v},Wb:function(a){v=a},qd: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]?w.wa:"i"===a[0]?(a=parseInt(a.substr(1)),u(0===a%8),a/8):0}},Ve:function(a){return Math.max(w.qd(a),w.wa)},ei:16,zi:function(a,b,c){return!c&&("i64"==a||"double"==a)?8:!a?Math.min(b,8):Math.min(b||(a?w.Ve(a):0), -w.wa)},ib:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),r["dynCall_"+a].apply(l,c)):r["dynCall_"+a].call(l,b)},Mb:[],ge:function(a){for(var b=0;b=oa&&ma("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+oa+", (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},ec:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},Qi:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296* -+(b|0)},Ab:8,wa:4,ki:0};r.Runtime=w;w.addFunction=w.ge;w.removeFunction=w.Gf;var pa=m,qa,ra,la;function u(a,b){a||ma("Assertion failed: "+b)}function sa(a){var b=r["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}u(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var ta,va; -(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){w.Xb()},stackRestore:function(){w.Wb()},arrayToC:function(a){var b=w.Ma(a.length);wa(a,b);return b},stringToC:function(a){var b=0;a!==l&&(a!==g&&0!==a)&&(b=w.Ma((a.length<<2)+1),xa(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};va=function(a,b,d,f){var h=sa(a),t=[],a=0;if(f)for(var B=0;B>0]=b;break;case "i8":D[a>>0]=b;break;case "i16":za[a>>1]=b;break;case "i32":E[a>>2]=b;break;case "i64":ra=[b>>>0,(qa=b,1<=+Aa(qa)?0>>0:~~+Da((qa-+(~~qa>>>0))/4294967296)>>>0:0)];E[a>>2]=ra[0];E[a+4>>2]=ra[1];break;case "float":Ea[a>>2]=b;break;case "double":Fa[a>>3]=b;break;default:ma("invalid type for setValue: "+c)}}r.setValue=ya; -function Ga(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return D[a>>0];case "i8":return D[a>>0];case "i16":return za[a>>1];case "i32":return E[a>>2];case "i64":return E[a>>2];case "float":return Ea[a>>2];case "double":return Fa[a>>3];default:ma("invalid type for setValue: "+b)}return l}r.getValue=Ga;var F=0,G=2,Ha=4;r.ALLOC_NORMAL=F;r.ALLOC_STACK=1;r.ALLOC_STATIC=G;r.ALLOC_DYNAMIC=3;r.ALLOC_NONE=Ha; -function H(a,b,c,d){var f,h;"number"===typeof a?(f=k,h=a):(f=m,h=a.length);var i="string"===typeof b?b:l,c=c==Ha?d:[Ia,w.Ma,w.Jd,w.Kb][c===g?G:c](Math.max(h,i?1:b.length));if(f){d=c;u(0==(c&3));for(a=c+(h&-4);d>2]=0;for(a=c+h;d>0]=0;return c}if("i8"===i)return a.subarray||a.slice?K.set(a,c):K.set(new Uint8Array(a),c),c;for(var d=0,j,x;d>0];if(128<=d)c=k;else if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);var h="";if(!c){for(;0>0],h+=c.Vb(d);return h}r.Pointer_stringify=y;r.UTF16ToString=function(a){for(var b=0,c="";;){var d=za[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}}; -r.stringToUTF16=function(a,b){for(var c=0;c>1]=a.charCodeAt(c);za[b+2*a.length>>1]=0};r.UTF32ToString=function(a){for(var b=0,c="";;){var d=E[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)}};r.stringToUTF32=function(a,b){for(var c=0,d=0;d=f)var h=a.charCodeAt(++d),f=65536+((f&1023)<<10)|h&1023;E[b+4*c>>2]=f;++c}E[b+4*c>>2]=0}; -function Ja(a){function b(c,d,f){var d=d||Infinity,h="",i=[],t;if("N"===a[j]){j++;"K"===a[j]&&j++;for(t=[];"E"!==a[j];)if("S"===a[j]){j++;var J=a.indexOf("_",j);t.push(p[a.substring(j,J)||0]||"?");j=J+1}else if("C"===a[j])t.push(t[t.length-1]),j+=2;else{var J=parseInt(a.substr(j)),fa=J.toString().length;if(!J||!fa){j--;break}var Tb=a.substr(j+fa,J);t.push(Tb);p.push(Tb);j+=fa+J}j++;t=t.join("::");d--;if(0===d)return c?[t]:t}else if(("K"===a[j]||A&&"L"===a[j])&&j++,J=parseInt(a.substr(j)))fa=J.toString().length, -t=a.substr(j+fa,J),j+=fa+J;A=m;"I"===a[j]?(j++,J=b(k),fa=b(k,1,k),h+=fa[0]+" "+t+"<"+J.join(", ")+">"):h=t;a:for(;jL?2*L:L+16777216; -L!==oa&&(r.Ca("increasing TOTAL_MEMORY to "+L+" to be compliant with the asm.js spec"),oa=L);u("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var M=new ArrayBuffer(oa);D=new Int8Array(M);za=new Int16Array(M);E=new Int32Array(M);K=new Uint8Array(M);Ma=new Uint16Array(M);Na=new Uint32Array(M);Ea=new Float32Array(M);Fa=new Float64Array(M);E[0]=255; -u(255===K[0]&&0===K[3],"Typed arrays 2 must be run on a little-endian system");r.HEAP=g;r.buffer=M;r.HEAP8=D;r.HEAP16=za;r.HEAP32=E;r.HEAPU8=K;r.HEAPU16=Ma;r.HEAPU32=Na;r.HEAPF32=Ea;r.HEAPF64=Fa;function Ta(a){for(;0>0]=a[c],c+=1}r.writeStringToMemory=xa; -function wa(a,b){for(var c=0;c>0]=a[c]}r.writeArrayToMemory=wa;function bb(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(D[b+a.length>>0]=0)}r.writeAsciiToMemory=bb;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.Hi=Math.imul;var Aa=Math.abs,Da=Math.ceil,Ca=Math.floor,Ba=Math.min,cb=0,db=l,eb=l;function fb(){cb++;r.monitorRunDependencies&&r.monitorRunDependencies(cb)} -r.addRunDependency=fb;function gb(){cb--;r.monitorRunDependencies&&r.monitorRunDependencies(cb);if(0==cb&&(db!==l&&(clearInterval(db),db=l),eb)){var a=eb;eb=l;a()}}r.removeRunDependency=gb;r.preloadedImages={};r.preloadedAudios={};var hb=l,Oa=8,na=Oa+39504;Va.push(); -H([51,46,56,46,55,46,52,0,83,81,76,73,84,69,95,0,0,152,0,0,16,152,0,0,32,152,0,0,56,152,0,0,72,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38, -39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173, -174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,24,4,0,0,32,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,40,4,0,0,56,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,64,4,0,0,80,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,88,4,0,0,32,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,117,110,105,120,0,0,0,0,6,0,0,0,0,0,0,0,117,110,105,120,45,110,111,110,101,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,117,110,105,120,45,100,111,116,102,105,108,101,0,0,0,0,8,0,0,0,0,0,0,0,117,110,105,120,45,101,120,99,108,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,1,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,0,37,115,0,0,0,0,0,0,42,63,91,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, -64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,0,0,116,114,105,103,103,101,114,0,116,101,109,112,0,0,0,0,50,48,49,52,45,49,50,45,48,57,32,48,49,58,51,52,58,51,54,32,102,54,54,102,55,97,49,55,98,55,56,98,97,54,49,55,97,99,100,101,57,48,102,99,56,49,48,49,48,55,102,51,52,102,49,97,49,102,50,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,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,0,0,0,0,0,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,102,117,108, -108,0,0,0,0,0,1,2,4,9,12,16,0,2,2,3,5,3,4,4,0,1,0,0,0,1,1,2,0,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82, -69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77, -65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85, -76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,0,0,0,0,0,0,0,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18, -89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,0,0,0,0,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9, -7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250, -0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110, -5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,0,0,117,110, -97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,0,0,0,0,66,73,78,65,82,89,0,0,82,84,82,73,77,0,0,0,78,79,67,65,83,69,0,0,109,97,105,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +var f;f||(f=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in f)f.hasOwnProperty(ba)&&(aa[ba]=f[ba]);var ca="object"===typeof window,da="function"===typeof importScripts,ea="object"===typeof process&&"function"===typeof require&&!ca&&!da,fa=!ca&&!ea&&!da; +if(ea){f.print||(f.print=function(a){process.stdout.write(a+"\n")});f.printErr||(f.printErr=function(a){process.stderr.write(a+"\n")});var ha=require("fs"),ia=require("path");f.read=function(a,b){a=ia.normalize(a);var c=ha.readFileSync(a);c||a==ia.resolve(a)||(a=path.join(__dirname,"..","src",a),c=ha.readFileSync(a));c&&!b&&(c=c.toString());return c};f.readBinary=function(a){return f.read(a,!0)};f.load=function(a){ja(read(a))};f.thisProgram||(f.thisProgram=1 0) var gc = undefined");else if(ca||da)f.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},"undefined"!=typeof arguments&&(f.arguments=arguments),"undefined"!==typeof console?(f.print||(f.print=function(a){console.log(a)}), +f.printErr||(f.printErr=function(a){console.log(a)})):f.print||(f.print=function(){}),da&&(f.load=importScripts),"undefined"===typeof f.setWindowTitle&&(f.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ja(a){eval.call(null,a)}!f.load&&f.read&&(f.load=function(a){ja(f.read(a))});f.print||(f.print=function(){});f.printErr||(f.printErr=f.print);f.arguments||(f.arguments=[]);f.thisProgram||(f.thisProgram="./this.program");f.print=f.print; +f.S=f.printErr;f.preRun=[];f.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(f[ba]=aa[ba]); +var n={cc:function(a){la=a},Kb:function(){return la},ha:function(){return m},Z:function(a){m=a},Za: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]?n.O:"i"===a[0]?(a=parseInt(a.substr(1)),k(0===a%8),a/8):0}},Hb:function(a){return Math.max(n.Za(a),n.O)},Be:16,gf:function(a,b){"double"===b||"i64"===b?a&7&&(k(4===(a&7)),a+=4):k(0===(a&3));return a},Te:function(a, +b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?n.Hb(a):0),n.O):Math.min(b,8):8},V:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),f["dynCall_"+a].apply(null,c)):f["dynCall_"+a].call(null,b)},pa:[],qb:function(a){for(var b=0;b=na)q("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ +na+", (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."),a=!0;return a?(p=b,0):b},za:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},bf:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},la:8,O:4,Ee:0};f.Runtime=n;n.addFunction=n.qb;n.removeFunction=n.Zb;var oa=!1,pa,qa,la;function k(a,b){a||q("Assertion failed: "+b)} +function ra(a){var b=f["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}k(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var sa,ta; +(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){n.ha()},stackRestore:function(){n.Z()},arrayToC:function(a){var b=n.T(a.length);ua(a,b);return b},stringToC:function(a){var b=0;null!==a&&void 0!==a&&0!==a&&(b=n.T((a.length<<2)+1),va(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};ta=function(a,b,d,e,g){a=ra(a);var w=[],G=0;if(e)for(var H=0;H>0]=b;break;case "i8":u[a>>0]=b;break;case "i16":Aa[a>>1]=b;break;case "i32":v[a>>2]=b;break;case "i64":qa=[b>>>0,(pa=b,1<=+Ba(pa)?0>>0:~~+Ea((pa-+(~~pa>>>0))/4294967296)>>>0:0)];v[a>>2]=qa[0];v[a+4>>2]=qa[1];break;case "float":Fa[a>>2]=b;break;case "double":Ga[a>>3]=b;break;default:q("invalid type for setValue: "+c)}}f.setValue=za; +function Ha(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return u[a>>0];case "i8":return u[a>>0];case "i16":return Aa[a>>1];case "i32":return v[a>>2];case "i64":return v[a>>2];case "float":return Fa[a>>2];case "double":return Ga[a>>3];default:q("invalid type for setValue: "+b)}return null}f.getValue=Ha;f.ALLOC_NORMAL=0;f.ALLOC_STACK=1;f.ALLOC_STATIC=2;f.ALLOC_DYNAMIC=3;f.ALLOC_NONE=4; +function x(a,b,c,d){var e,g;"number"===typeof a?(e=!0,g=a):(e=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:[Ia,n.T,n.hb,n.da][void 0===c?2:c](Math.max(g,h?1:b.length));if(e){d=c;k(0==(c&3));for(a=c+(g&-4);d>2]=0;for(a=c+g;d>0]=0;return c}if("i8"===h)return a.subarray||a.slice?z.set(a,c):z.set(new Uint8Array(a),c),c;d=0;for(var l,r;d>0];c|=d;if(0==d&&!b)break;e++;if(b&&e==b)break}b||(b=e);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; +f.stringToAscii=function(a,b){return Ma(a,b,!1)}; +function Na(a,b){for(var c,d,e,g,h,l,r="";;){c=a[b++];if(!c)return r;c&128?(d=a[b++]&63,192==(c&224)?r+=String.fromCharCode((c&31)<<6|d):(e=a[b++]&63,224==(c&240)?c=(c&15)<<12|d<<6|e:(g=a[b++]&63,240==(c&248)?c=(c&7)<<18|d<<12|e<<6|g:(h=a[b++]&63,248==(c&252)?c=(c&3)<<24|d<<18|e<<12|g<<6|h:(l=a[b++]&63,c=(c&1)<<30|d<<24|e<<18|g<<12|h<<6|l))),65536>c?r+=String.fromCharCode(c):(c-=65536,r+=String.fromCharCode(55296|c>>10,56320|c&1023)))):r+=String.fromCharCode(c)}}f.UTF8ArrayToString=Na; +f.UTF8ToString=function(a){return Na(z,a)}; +function Oa(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| +h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}f.stringToUTF8Array=Oa;f.stringToUTF8=function(a,b,c){return Oa(a,z,b,c)};function Pa(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}f.lengthBytesUTF8=Pa;f.UTF16ToString=function(a){for(var b=0,c="";;){var d=Aa[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}}; +f.stringToUTF16=function(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=a.charCodeAt(e),b+=2;Aa[b>>1]=0;return b-d};f.lengthBytesUTF16=function(a){return 2*a.length};f.UTF32ToString=function(a){for(var b=0,c="";;){var d=v[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d=d-65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}}; +f.stringToUTF32=function(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=g)var h=a.charCodeAt(++e),g=65536+((g&1023)<<10)|h&1023;v[b>>2]=g;b+=4;if(b+4>c)break}v[b>>2]=0;return b-d};f.lengthBytesUTF32=function(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}; +function Qa(a){function b(c,d,e){d=d||Infinity;var g="",h=[],w;if("N"===a[l]){l++;"K"===a[l]&&l++;for(w=[];"E"!==a[l];)if("S"===a[l]){l++;var F=a.indexOf("_",l);w.push(t[a.substring(l,F)||0]||"?");l=F+1}else if("C"===a[l])w.push(w[w.length-1]),l+=2;else{var F=parseInt(a.substr(l)),ga=F.toString().length;if(!F||!ga){l--;break}var kc=a.substr(l+ga,F);w.push(kc);t.push(kc);l+=ga+F}l++;w=w.join("::");d--;if(0===d)return c?[w]:w}else if(("K"===a[l]||y&&"L"===a[l])&&l++,F=parseInt(a.substr(l)))ga=F.toString().length, +w=a.substr(l+ga,F),l+=ga+F;y=!1;"I"===a[l]?(l++,F=b(!0),ga=b(!0,1,!0),g+=ga[0]+" "+w+"<"+F.join(", ")+">"):g=w;a:for(;lB?2*B:B+16777216;B!==na&&(f.S("increasing TOTAL_MEMORY to "+B+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+ab+")"),na=B);k("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var C;C=new ArrayBuffer(na); +u=new Int8Array(C);Aa=new Int16Array(C);v=new Int32Array(C);z=new Uint8Array(C);Va=new Uint16Array(C);Wa=new Uint32Array(C);Fa=new Float32Array(C);Ga=new Float64Array(C);v[0]=255;k(255===z[0]&&0===z[3],"Typed arrays 2 must be run on a little-endian system");f.HEAP=void 0;f.buffer=C;f.HEAP8=u;f.HEAP16=Aa;f.HEAP32=v;f.HEAPU8=z;f.HEAPU16=Va;f.HEAPU32=Wa;f.HEAPF32=Fa;f.HEAPF64=Ga; +function bb(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=va;function ua(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=ua; +function Ma(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(u[b>>0]=0)}f.writeAsciiToMemory=Ma;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.Ye=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.Ne=Math.clz32;var Ba=Math.abs,Ea=Math.ceil,Da=Math.floor,Ca=Math.min,ib=0,jb=null,kb=null; +function lb(){ib++;f.monitorRunDependencies&&f.monitorRunDependencies(ib)}f.addRunDependency=lb;function mb(){ib--;f.monitorRunDependencies&&f.monitorRunDependencies(ib);if(0==ib&&(null!==jb&&(clearInterval(jb),jb=null),kb)){var a=kb;kb=null;a()}}f.removeRunDependency=mb;f.preloadedImages={};f.preloadedAudios={};Xa=8;ma=Xa+40720;db.push(); +x([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,147,0,0,75,147,0,0,88,147,0,0,99,147,0,0,119,147,0,0,133,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,10,141,0,0,20,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,15,141,0,0,24,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,25,141,0,0,28,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,38,141,0,0,20,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,0,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231, +3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,66,0,0,33,67,0,0,68,67,0,0,166,64,0,0,216,64,0,0,13,65,0,0,58,65,0,0,110,65,0,0,164,65,0,0,209,65,0,0,11,66,0,0,66,66,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,117,116,111,109,97,116,105,99, -32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,0,77,65,84,67,72,0,0,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,3,0,0,0,5,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111, -109,32,37,115,0,0,0,0,0,0,217,213,5,249,32,161,99,215,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,0,0,0,0,0,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32, -102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,0,0,0,45,106,111,117,114,110,97,108,0,0,0,0,0,0,0,0,45,119,97,108,0,0,0,0,110,111,108,111,99,107,0,0,105,109,109,117,116,97,98,108,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,105,108,101,58,0,0,0,108,111,99,97,108,104,111,115,116,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,0,0,0,0,118,102,115,0,0,0,0,0,99,97,99,104,101,0,0,0,96,18,0,0,0,0,2,0,104,18, -0,0,0,0,4,0,0,0,0,0,0,0,0,0,115,104,97,114,101,100,0,0,112,114,105,118,97,116,101,0,109,111,100,101,0,0,0,0,160,18,0,0,1,0,0,0,168,18,0,0,2,0,0,0,176,18,0,0,6,0,0,0,184,18,0,0,128,0,0,0,0,0,0,0,0,0,0,0,114,111,0,0,0,0,0,0,114,119,0,0,0,0,0,0,114,119,99,0,0,0,0,0,109,101,109,111,114,121,0,0,97,99,99,101,115,115,0,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,0,0,0,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99, -104,32,118,102,115,58,32,37,115,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,0,0,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, -28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,0,104,20,0,0,120,20,0,0,0,0,0,0,160,20,0,0,192,20,0,0,224,20,0,0,248,20,0,0,24,21,0,0,40,21,0,0,80,21,0,0,96,21,0,0,112,21,0,0,152,21,0,0,176,21,0,0,208,21,0,0,240,21,0,0,8,22,0,0,32,22, -0,0,152,4,0,0,64,22,0,0,88,22,0,0,112,22,0,0,152,22,0,0,184,22,0,0,208,22,0,0,240,22,0,0,24,23,0,0,0,0,0,0,110,111,116,32,97,110,32,101,114,114,111,114,0,0,0,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,0,0,0,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,0,0,0,0,0,0,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98, -111,114,116,0,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,0,0,0,0,0,0,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,0,0,0,105,110,116,101,114,114,117,112,116,101,100,0,0,0,0,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,0,100, -97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,0,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,0,0,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,0,0,0,0,0,0,0, -116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,0,0,0,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,0,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,0,0,0,0,0,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,0,108,97,114, -103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,0,0,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,0,0,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116, -101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,0,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,0,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0, -0,0,1,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,0,0,0,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,96,32,0,0,0,0, -0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,96,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,104,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,104,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,136,32,0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,144,32,0,0,0,0,0,0,0,0,0, -0,2,0,1,8,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,152,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,160,32,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,160,32,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,168,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,176,32,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,184,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0, -0,0,0,0,0,192,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,200,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,200,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,208,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,216,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,255,255,1, -10,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,240,32,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,248,32,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,16,33,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,40, -33,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,48,33,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,64,33,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,72,33,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,88,33,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,112,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,128,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,24, -0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,192,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,200,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,224,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,232,33,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,248,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0, -0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,7,0,0,0,16,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,8,0,0,0,24,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,9,0,0,0,32,34,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,10,0,0,0,40,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,10,0,0,0,40,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,11,0,0,0,48,34,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,11,0, -0,0,48,34,0,0,0,0,0,0,0,0,0,0,2,0,13,8,184,4,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,64,34,0,0,0,0,0,0,0,0,0,0,2,0,5,8,72,34,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,80,34,0,0,0,0,0,0,0,0,0,0,3,0,5,8,72,34,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,80,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,116,114,105,109,0,0,0,114,116,114,105,109,0,0,0,116,114,105,109,0,0,0,0,109,105,110,0,0,0,0,0,109,97,120,0,0,0,0,0,116,121,112,101,111,102,0,0,108,101,110,103,116,104,0,0,105,110,115,116,114,0,0,0,115,117,98,115,116,114,0,0,112, -114,105,110,116,102,0,0,117,110,105,99,111,100,101,0,99,104,97,114,0,0,0,0,97,98,115,0,0,0,0,0,114,111,117,110,100,0,0,0,117,112,112,101,114,0,0,0,108,111,119,101,114,0,0,0,99,111,97,108,101,115,99,101,0,0,0,0,0,0,0,0,104,101,120,0,0,0,0,0,105,102,110,117,108,108,0,0,117,110,108,105,107,101,108,121,0,0,0,0,0,0,0,0,108,105,107,101,108,105,104,111,111,100,0,0,0,0,0,0,108,105,107,101,108,121,0,0,114,97,110,100,111,109,0,0,114,97,110,100,111,109,98,108,111,98,0,0,0,0,0,0,110,117,108,108,105,102,0,0,115, -113,108,105,116,101,95,118,101,114,115,105,111,110,0,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,108,111,103,0,0,0,0,0,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,0,0,0,0,0,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,0,0,0,0,0,0,0,113,117,111,116,101,0,0,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,0,0,0, -0,0,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,0,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,0,0,0,0,0,0,0,115,117,109,0,0,0,0,0,116,111,116,97,108,0,0,0,97,118,103,0,0,0,0,0,99,111,117,110,116,0,0,0,103,114,111,117,112,95,99,111,110,99,97,116,0,0,0,0,103,108,111,98,0,0,0,0,37,95,0,1,0,0,0,0,108,105,107,101,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,200,34,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,224, -34,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,248,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,0,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,0,0,0,37,115,37,46,42,115,34,37,119,34,0,0,0,0,0,0,37,115,37,115,0,0,0,0,37,46,42,115,34,37,119,34,37,115,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,38, -0,0,0,0,0,0,0,0,0,0,0,88,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,104,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,112,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,120,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,136,36,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,152,36,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,168,36,0, -0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,192,36,0,0,0,0,0,0,0,0,0,0,106,117,108,105,97,110,100,97,121,0,0,0,0,0,0,0,100,97,116,101,0,0,0,0,116,105,109,101,0,0,0,0,100,97,116,101,116,105,109,101,0,0,0,0,0,0,0,0,115,116,114,102,116,105,109,101,0,0,0,0,0,0,0,0,99,117,114,114,101,110,116,95,116,105,109,101,0,0,0,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,0,0,0,0,0,0,99,117,114,114,101,110,116,95,100,97,116,101,0,0,0,0,37,48,50,100,0,0,0,0,37,48,54,46, -51,102,0,0,37,48,51,100,0,0,0,0,37,46,49,54,103,0,0,0,37,108,108,100,0,0,0,0,37,48,52,100,0,0,0,0,108,111,99,97,108,116,105,109,101,0,0,0,0,0,0,0,117,110,105,120,101,112,111,99,104,0,0,0,0,0,0,0,117,116,99,0,0,0,0,0,119,101,101,107,100,97,121,32,0,0,0,0,0,0,0,0,115,116,97,114,116,32,111,102,32,0,0,0,0,0,0,0,109,111,110,116,104,0,0,0,121,101,97,114,0,0,0,0,100,97,121,0,0,0,0,0,104,111,117,114,0,0,0,0,109,105,110,117,116,101,0,0,115,101,99,111,110,100,0,0,108,111,99,97,108,32,116,105,109,101,32,117, -110,97,118,97,105,108,97,98,108,101,0,0,110,111,119,0,0,0,0,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,0,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,0,0,0,0,0,0,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103, -108,101,32,99,104,97,114,97,99,116,101,114,0,0,0,0,44,0,0,0,0,0,0,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,37,33,46,49,53,103,0,0,37,33,46,50,48,101,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,78,85,76,76,0,0,0,0,37,46,42,102,0,0,0,0,105,110,116,101,103,101,114,0,116,101,120,116,0,0,0,0,114,101,97,108,0,0,0,0,98,108,111,98,0,0,0,0,110,117,108,108,0,0,0,0,1,0,0,0,0,0,0,0,184,38,0,0,0,0,0,0,32,0,0,0,0,0,0,0,105,110,116,101,114,114,117,112,116,0,0,0,0, -0,0,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,0,0,0,0,0,0,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,114,111,119,105,100,0,0,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,0,0,0, -0,0,0,115,101,116,32,108,105,115,116,0,0,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,0,0,0,0,0,0,56,91,0,0,1,0,0,0,48,73,0,0,1,0,0,0,105,110,100,101,120,0,0,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116], -"i8",Ha,w.Ab); -H([101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,0,0,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97, -108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,0,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170, -1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173,2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,189,0,189,1,176,0,176,3,190,0,190,2,191,1,191,1,191,1,149,4,193,2,193,0,149,8,149,4,149,1,163,2,195,1,195,3,198,1,198,2,198,1,196,9,196,1,207,4,207,5,199,1,199,1,199,0,210,2,210,0,200,3,200,2,200,4,211,2,211,1,211,0,201,0, -201,2,213,2,213,0,212,7,212,7,212,7,159,0,159,2,194,2,214,1,214,2,214,3,214,4,216,2,216,0,215,0,215,3,215,2,217,4,217,0,205,0,205,3,220,4,220,2,177,1,177,1,177,0,203,0,203,3,204,0,204,2,206,0,206,2,206,4,206,4,149,6,202,0,202,2,149,8,221,5,221,3,149,6,149,7,222,2,222,1,223,0,223,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,224,1,224,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175, -2,225,1,225,2,175,5,226,1,226,2,175,5,175,3,175,5,175,4,175,4,175,5,228,5,228,4,229,2,229,0,227,1,227,0,209,1,209,0,208,3,208,1,149,12,230,1,230,0,179,0,179,3,188,5,188,3,231,0,231,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,232,1,232,1,232,1,232,1,232,1,171,2,171,1,172,2,149,5,233,11,235,1,235,1,235,2,235,0,236,1,236,1,236,3,237,0,237,3,238,0,238,2,234,3,234,2,240,1,240,3,241,0,241,3,241,2,239,7,239,5,239,5,239,1,175,4,175,6,192,1,192,1,192,1,149,4,149,6,149,3,243,0,243,2,242,1,242,0,149,1, -149,3,149,1,149,3,149,6,149,6,244,1,245,0,245,1,149,1,149,4,246,8,247,1,247,3,248,0,248,2,249,1,249,3,250,1,251,0,251,4,251,2,197,0,197,2,197,3,252,6,252,8,0,0,238,0,186,3,213,0,33,1,54,1,234,0,144,0,61,1,147,255,126,1,121,1,47,1,205,1,133,1,122,1,112,1,46,1,38,1,253,0,139,1,37,1,68,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,254,3,244,3,237,3,230,3,195,3,193,3,191,3, -189,3,182,3,179,3,162,3,144,3,105,3,93,3,55,3,42,3,3,3,247,2,208,2,196,2,158,2,145,2,107,2,102,2,100,2,98,2,96,2,94,2,92,2,86,2,83,2,81,2,68,2,30,2,28,2,25,2,23,2,21,2,19,2,17,2,15,2,247,1,130,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,95,0,191,1,82,0,78,1,248,1,211,1,147,1,221,1,208,1,147,1,147,1,147,1,147,1,92,3,235,2,232,2,17,3,126,2,126,2,158,3,123,3,132,3,131,3,119,3,76,3,72,3,67,3,80,3,62,3,75,3,61,3,24,3,71,3,58,3,225,2,70,3,27,3,21,3,47,0,222,2,18,2,184,2,9,3,199,2,165,2,221, -2,218,2,217,2,216,2,215,2,115,2,192,1,64,0,187,0,25,5,22,5,228,4,10,5,249,4,43,5,42,5,41,5,39,5,38,5,36,5,35,5,34,5,33,5,32,5,31,5,30,5,28,5,27,5,24,5,23,5,21,5,18,5,14,5,12,5,9,5,242,4,240,4,235,4,8,5,7,5,214,4,5,5,1,5,0,5,255,4,254,4,227,4,253,4,252,4,251,4,249,4,244,4,243,4,241,4,239,4,237,4,233,4,224,4,213,4,223,4,222,4,219,4,214,4,216,4,211,4,225,4,210,4,209,4,206,4,196,4,190,4,186,4,201,4,195,4,208,4,207,4,173,4,171,4,203,4,200,4,177,4,184,4,218,4,113,4,212,4,205,4,169,4,157,4,197,4,153,4,172, -4,155,4,167,4,166,4,162,4,158,4,194,4,192,4,152,4,138,4,159,4,156,4,136,4,175,4,179,4,109,4,71,4,174,4,170,4,164,4,168,4,147,4,145,4,144,4,149,4,150,4,142,4,135,4,117,4,146,4,134,4,143,4,133,4,108,4,121,4,119,4,100,4,104,4,79,4,78,4,76,4,72,4,126,4,125,4,61,4,101,4,56,4,40,4,96,4,73,4,58,4,54,4,49,4,43,4,85,4,83,4,95,4,93,4,92,4,89,4,87,4,84,4,239,3,232,3,234,3,52,4,51,4,57,4,0,0,0,0,50,1,212,0,176,1,187,3,127,2,191,0,187,3,39,1,47,2,88,0,88,0,88,0,88,0,81,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84, -0,84,0,83,0,74,1,185,0,184,0,183,0,123,2,123,2,36,1,94,2,94,2,88,0,88,0,88,0,88,0,171,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,16,0,180,1,85,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,172,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,47,2,84,0,84,0,84,0,83,0,74,1,65,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,123,2,123,2,122,2,121,2,182,0,170,2,38,2,123,1,120,1,119,1,17,0,66,1,94,2,94,2,115,1,198,0,223,1,91,0,118,1,82,0,79,0,165, -0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,86,2,123,2,123,2,107,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,186,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,82,2,82,2,142,0,72,1,71,1,228,1,249,0,88,1,238,0,123,2,123,2,122,2,121,2,73,2,192,1,14,2,13,2,229,0,132,1,1,0,138,1,194,1,72,2,193,1,123,2,123,2,123,2,123,2,63,1,139,1,94,2,94,2,199,0,157,0,17,1,126,1,12,1,125,1,187,0,123,2,123,2,122,2,121,2,55,1,43,2,10,1,81,2,81,2,10,1,91,1,76,2,89,0,90,0,80,0,88,2,87,2,89, -2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,222,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,16,1,24,2,122,2,121,2,146,0,98,2,197,0,54,1,63,2,182,0,226,1,15,1,123,1,120,1,119,1,250,1,21,0,122,2,121,2,122,2,121,2,123,2,123,2,118,1,99,2,62,2,36,2,184,1,111,0,51,2,94,2,94,2,122,2,121,2,68,1,223,1,96,2,96,2,96,2,44,1,179,1,61,2,119,0,151,1,210,0,162,0,50,2,115,3,80,2,80,2,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,250,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0, -83,0,74,1,108,2,111,0,123,2,123,2,105,1,94,2,94,2,102,1,249,0,93,1,248,0,177,1,243,0,223,1,74,2,122,2,121,2,195,0,99,2,93,0,119,0,221,0,63,2,241,1,22,2,22,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,62,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,77,0,173,1,126,2,61,2,77,2,18,2,240,0,230,0,242,0,105,0,249,0,93,1,248,0,3,2,76,2,208,0,204,1,17,2,52,2,173,0,122,2,121,2,202,3,144,0,174,1,2,0,168,1,228,0,124,1,45,2,94,2,94,2,190,0,153,0,159,0,158,0,2,2,51,0,120, -2,119,2,118,2,71,0,24,2,176,1,186,3,196,0,98,2,186,3,102,2,45,0,18,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,5,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,96,2,96,2,96,2,30,2,168,1,146,1,129,1,241,0,250,1,195,1,64,1,211,0,31,2,164,0,180,1,130,1,37,1,195,1,75,2,108,0,240,1,111,0,78,1,135,1,79,2,168,1,102,2,27,0,196,1,197,1,94,2,94,2,72,0,1,1,70,0,3,1,196,1,83,1,86,1,52,2,70,2,68,0,159,1,213,1,72,1,71,1,62,0,102,2,45,0,110,0,137,1,89,0,90,0,80,0,88,2,87,2, -89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,152,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,110,0,243,1,8,2,26,2,146,1,133,1,168,1,110,0,54,2,244,1,81,2,81,2,198,1,82,0,79,0,165,0,168,1,79,2,128,1,52,2,84,1,103,2,188,0,162,0,168,1,94,1,104,2,168,1,102,2,44,0,94,2,94,2,189,1,70,2,44,1,178,1,151,0,19,0,102,2,9,0,56,2,68,2,92,1,103,2,213,1,55,2,102,2,26,0,104,2,102,2,45,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,155,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0, -83,0,74,1,50,1,67,2,110,0,66,2,9,2,26,1,177,1,142,1,144,1,255,0,230,1,82,0,79,0,165,0,231,1,164,0,82,0,79,0,165,0,232,1,232,1,108,1,131,1,168,1,32,2,32,2,253,1,94,1,106,1,155,0,191,0,94,2,94,2,47,2,130,2,128,2,77,1,82,0,79,0,165,0,49,1,52,2,251,1,56,1,101,1,102,2,45,0,73,1,84,2,83,2,194,0,81,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,20,0,67,1,150,0,7,1,211,0,31,2,165,1,84,2,83,2,102,2,22,0,168,1,193,0,168,1, -28,1,168,1,135,1,168,1,253,1,168,1,65,2,168,1,186,0,79,1,168,1,47,2,168,1,57,1,120,0,34,2,94,2,94,2,67,0,102,2,47,0,102,2,50,0,102,2,48,0,102,2,100,0,102,2,99,0,102,2,101,0,64,2,102,2,102,0,102,2,109,0,70,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,168,1,55,1,168,1,73,2,54,0,168,1,4,2,5,2,78,2,102,2,112,0,168,1,72,2,168,1,60,2,168,1,195,0,168,1,59,2,168,1,67,0,168,1,102,2,94,0,102,2,98,0,168,1,102,2,97,0,8,1, -94,2,94,2,195,0,102,2,46,0,102,2,96,0,102,2,30,0,102,2,49,0,102,2,115,0,102,2,114,0,162,1,229,0,132,1,102,2,113,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,119,0,168,1,78,2,110,0,116,1,94,2,94,2,195,0,53,0,250,0,102,2,29,0,195,0,216,1,182,1,217,2,190,0,46,1,242,1,14,0,11,2,129,2,2,0,102,2,43,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84, -0,83,0,74,1,168,1,101,2,196,3,196,3,98,1,94,2,94,2,164,1,56,1,64,0,102,2,42,0,135,1,99,1,27,1,181,1,45,1,255,0,158,1,154,1,239,1,236,1,102,2,28,0,215,1,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,110,0,110,0,110,0,110,0,94,2,94,2,110,0,254,0,13,0,102,2,41,0,20,2,19,2,27,1,225,1,19,2,201,1,28,1,119,0,49,2,100,1,102,2,40,0,28,1,50,1,89,0,78,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0, -86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,110,0,168,1,85,1,220,0,43,2,94,2,94,2,95,1,43,2,62,1,102,2,95,0,157,1,255,0,83,0,74,1,28,1,28,1,255,0,128,2,77,1,100,1,255,0,102,2,39,0,50,1,100,1,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,61,1,60,1,141,0,209,1,94,2,94,2,219,0,107,2,207,1,102,2,10,0,161,1,206,1,255,0,189,0,254,1,41,2,95,1,207,0,107,1,161,0,102,2,38,0,59,1,218,0,255,0,255,0,80,0,88,2,87,2,89,2,89,2, -87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,76,0,163,1,255,0,3,0,110,3,205,1,168,1,247,0,75,1,75,1,102,2,37,0,217,0,76,0,163,1,134,1,3,0,216,0,215,0,166,1,4,0,75,1,75,1,168,1,35,2,12,0,168,1,33,2,102,2,36,0,168,1,29,2,166,1,168,1,28,2,168,1,214,0,168,1,152,1,168,1,27,2,147,1,93,2,93,2,237,0,102,2,25,0,119,0,102,2,24,0,76,2,152,1,102,2,45,0,118,0,102,2,35,0,102,2,34,0,102,2,33,0,102,2,23,0,76,2,60,0,223,0,91,2,90,2,1,2,122,1,73,0,74,0,140,0,139,0,168, -1,110,0,9,1,75,0,170,1,169,1,59,0,168,1,98,2,73,0,74,0,37,2,146,1,148,1,168,1,117,1,75,0,170,1,169,1,92,2,138,0,98,2,102,2,11,0,136,1,76,0,163,1,181,0,3,0,102,2,32,0,15,1,113,1,75,1,75,1,237,1,102,2,31,0,149,0,96,2,96,2,96,2,95,2,15,0,166,1,109,1,102,2,8,0,137,0,233,1,136,0,190,0,96,2,96,2,96,2,95,2,15,0,229,1,176,0,135,0,7,0,252,0,221,1,152,1,174,0,133,0,175,0,218,1,57,0,56,0,132,0,130,0,119,0,76,0,163,1,76,2,3,0,212,1,245,0,208,1,171,0,75,1,75,1,125,0,123,0,200,1,191,1,122,0,190,1,104,0,80,1,231, -0,166,1,166,0,154,0,73,0,74,0,76,1,116,0,175,1,121,0,53,1,75,0,170,1,169,1,222,0,106,0,98,2,52,1,125,2,204,0,152,1,117,2,115,2,116,2,6,0,200,0,172,1,171,1,34,1,203,0,110,2,201,0,76,2,62,0,63,0,33,1,66,0,163,1,143,1,3,0,145,1,32,1,92,0,143,0,75,1,75,1,31,1,96,2,96,2,96,2,95,2,15,0,73,0,74,0,227,0,166,1,69,1,69,0,160,1,75,0,170,1,169,1,100,2,156,1,98,2,192,0,61,0,57,2,209,0,140,1,226,0,22,1,225,0,127,1,152,1,15,2,46,2,20,1,21,2,40,2,16,2,65,1,11,2,114,1,252,1,180,0,76,2,238,1,179,0,110,1,117,0,253, -0,13,1,10,2,247,1,96,2,96,2,96,2,95,2,15,0,39,2,246,1,58,0,18,1,12,2,178,0,73,0,74,0,48,1,245,1,112,1,47,1,206,0,75,0,170,1,169,1,235,1,104,1,98,2,213,0,177,0,227,1,131,0,89,1,42,1,41,1,40,1,202,0,38,1,224,1,234,1,210,1,134,0,172,0,129,0,188,1,90,1,214,1,128,0,58,1,203,1,103,0,127,0,126,0,148,0,124,0,167,0,187,1,235,0,96,2,96,2,96,2,95,2,15,0,186,1,183,1,111,2,234,0,43,1,145,0,71,2,35,1,121,1,69,2,160,0,119,0,156,0,14,1,124,2,203,3,169,0,23,1,114,2,8,2,113,2,217,1,112,2,170,0,109,2,106,2,119,0,168, -0,55,0,153,1,167,1,25,2,97,2,30,1,29,1,149,1,58,2,48,2,44,2,5,0,52,0,202,1,42,2,147,0,11,1,7,2,248,1,6,2,150,1,6,1,239,0,4,1,0,2,87,1,255,1,2,1,97,1,53,2,0,1,224,0,251,0,103,1,21,1,19,1,220,1,219,1,246,0,96,1,244,0,211,1,199,1,236,0,233,0,232,0,51,1,185,1,25,1,205,0,163,0,141,1,24,1,23,2,249,1,74,1,105,2,203,3,203,3,203,3,203,3,111,1,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,82,1,0,0,0,0,0,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109, -101,58,32,37,115,0,0,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114, -111,119,105,100,61,35,37,100,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,0,0,0,0,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,0,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,0,0,0,0,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101, -119,0,0,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,0,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,67,97,110,110,111, -116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32, -119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,0,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37, -100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,0,0,0,116,98,108,95,110,97,109,101,61,37,81,0,0,0,0,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,0,0,45,0,0,0,0,0,0,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32, -119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,0,0,0,0,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,0,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65, -83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72, -69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76, -76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,0,0,0,0,0,0,85,80, -68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,0,0,0,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,0,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,110,111,32,115,117,99,104,32,99,111, -108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,0,3,2,1,0,0,0,0,0,73,78,84,69,71,69,82,0,37,115,58,37,100,0,0,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,0,0,0,0,79,82,68,69,82,0,0,0,71,82,79,85,80,0,0,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71, -82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,0,0,0,0,0,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,0,0,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103, -101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,102,117,110,99,116,105,111,110,115,0,0,0,0,0,0,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116, -32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,0,0,0,0,110,111,32,115,117,99,104, -32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,0,0,0,115,117,98,113,117,101,114,105,101,115,0,0,0,0,0,0,112,97,114,97,109,101,116,101,114,115,0,0,0,0,0,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,37,115,32,112,114,111,104,105,98,105,116, -101,100,32,105,110,32,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,0,0,0,110,101,119,0,0,0,0,0,111,108,100,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,0,0,37,115,58,32,37,115,46,37,115,46,37,115,0,0,0,0,37,115,58,32,37,115,46,37,115, -0,0,0,0,0,0,0,37,115,58,32,37,115,0,0,82,79,87,73,68,0,0,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,0,0,0,0,0,0,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,0,0,95,82,79,87,73,68,95,0,79,73,68,0,0,0,0,0,115,113,108,105,116,101,95,115,113,95,37,112,0,0,0,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32, -109,97,120,32,54,53,53,51,53,0,0,42,0,0,0,0,0,0,0,37,115,46,37,115,0,0,0,37,115,46,37,115,46,37,115,0,0,0,0,0,0,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,0,0,0,0,0,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,0,0,0,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32, -111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,0,0,0,0,0,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111, -32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,0,0,0,0,0,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,0,0,0,0,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,0,0,109,117,108,116,105,112,108,101,32,114,101, -99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,0,0,0,0,0,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,0,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,0,0,0,0,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,0,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100, -105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,0,0,104,105,100,100,101,110,0,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,0,0,0,0,0,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,0,0,0,0,105,100,120,0,0,0,0,0,116,98,108, -0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,176,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,160,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,66,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,128,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,116,97,116,95,103,101,116,0,0,0,0,0,0,0,0,37,108,108,117,0,0,0,0,32,37,108,108,117,0,0,0,115,116,97,116,95,112,117,115,104,0,0,0,0,0,0,0,115,116,97,116,95,105,110,105,116,0,0,0,0,0,0,0,216,71,0,0,232,71,0,0,248,71,0, -0,0,0,0,0,8,72,0,0,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,49,0,0,0,0,116,98,108,44,105,100,120,44,115,116,97,116,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,51,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,52,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,115,113,108,105,116,101,95,109,97,115,116,101,114,40,10,32, -32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,67,82,69,65,84,69,32,84,69,77,80,32,84,65,66,76,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116, -98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,102, -105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,0,0,0,0,0,0,0,117,110,111,114,100,101,114,101,100,42,0,0,0,0,0,0,115,122,61,91,48,45,57,93,42,0,0,0,0,0,0,0,33,0,32,0,30,0,28,0,26,0,0,0, -0,0,0,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,0,37,115,32,45,32,37,115,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,0,0,44,32,0,0,0,0,0,0,46,0,0,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101, -103,97,116,101,58,32,37,115,40,41,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,0,0,0,0,0,0,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,0,0,0,0,0,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,0,0,0,0,0,0,0,67,79,82,82,69,76,65,84,69,68,32,0,0,0,0,0,76,73,83,84,0,0,0,0,83,67, -65,76,65,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,120,0,0,0,0,0,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,1,0,1,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,208,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,0,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,0,0,0,0,99,97,110,110, -111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,136,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,0,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,0,0,0,99, -97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,0,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,0,110,111,32,115,117,99, -104,32,116,114,105,103,103,101,114,58,32,37,83,0,0,0,0,0,108,0,246,0,97,0,1,0,47,0,1,2,78,2,247,1,97,0,1,0,47,0,0,2,78,2,247,1,95,0,0,0,9,0,254,0,0,0,0,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,0,0,0,0,0,0,0,116,114, -105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,0,0,0,66,69,70,79,82,69,0,0,65,70,84,69,82,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70, -32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,0,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73, -71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,0,0,0,45,37,84,0,0,0,0,0,114,101,115,117,108,116,0,0,96,87,0,0,0,0,0,0,0,0,0,0,152,82,0,0,1,1,0,0,0,0,0,0,112,87,0,0,2,0,0,0,0,0,16,0,128,87,0,0,3,0,0,0,0,0,0,0,24,82,0,0,4,1,0,0,0,0,0,0,144,87,0,0,2,0,0,0,16,0,0,0,160,87,0,0,5,0,0,0,0,0,0,0,184,87,0,0,2,0,0,0,8,0,0,0,208,87,0,0,6,0,0,0,0,0,0,0,224,87,0,0,7,0,0,0,0,0,0,0,240,87,0,0,2,0,0,0,128,0,0,0,0,88,0,0,9,1,0,0,0, -0,0,0,16,88,0,0,10,1,0,0,0,0,0,0,40,88,0,0,2,0,0,0,0,0,0,1,64,88,0,0,2],"i8",Ha,w.Ab+10240); -H([1,0,0,120,85,0,0,11,0,0,0,0,0,0,0,88,88,0,0,12,1,0,0,0,0,0,0,112,88,0,0,13,1,0,0,0,0,0,0,136,88,0,0,2,0,0,0,0,0,8,0,152,88,0,0,0,0,0,0,0,0,0,0,168,88,0,0,2,0,0,0,32,0,0,0,192,88,0,0,2,0,0,0,4,0,0,0,208,88,0,0,2,0,0,0,0,32,0,0,240,88,0,0,14,1,0,0,0,0,0,0,8,89,0,0,15,1,0,0,0,0,0,0,24,89,0,0,16,1,0,0,0,0,0,0,56,84,0,0,17,1,0,0,0,0,0,0,112,82,0,0,18,1,0,0,0,0,0,0,128,82,0,0,19,0,0,0,0,0,0,0,40,89,0,0,2,0,0,0,0,128,0,0,96,82,0,0,21,0,0,0,0,0,0,0,64,89,0,0,22,1,0,0,0,0,0,0,192,82,0,0,23,0,0,0,0,0,0, -0,80,89,0,0,22,1,0,0,0,0,0,0,40,82,0,0,24,0,0,0,0,0,0,0,96,89,0,0,2,0,0,0,0,0,0,2,112,89,0,0,17,1,0,0,0,0,0,0,128,89,0,0,2,0,0,0,0,64,0,0,152,89,0,0,2,0,0,0,0,0,4,0,176,89,0,0,2,0,0,0,0,0,2,0,208,89,0,0,0,0,0,0,0,0,0,0,56,82,0,0,25,0,0,0,0,0,0,0,224,89,0,0,2,0,0,0,64,0,0,0,248,89,0,0,26,0,0,0,0,0,0,0,40,86,0,0,27,0,0,0,0,0,0,0,8,90,0,0,28,1,0,0,0,0,0,0,24,83,0,0,29,1,0,0,0,0,0,0,16,90,0,0,30,1,0,0,0,0,0,0,208,82,0,0,31,0,0,0,0,0,0,0,224,82,0,0,32,0,0,0,0,0,0,0,56,86,0,0,33,0,0,0,0,0,0,0,32,90,0,0, -0,0,0,0,0,0,0,0,8,86,0,0,34,0,0,0,0,0,0,0,48,90,0,0,35,1,0,0,0,0,0,0,64,90,0,0,2,0,0,0,0,8,1,0,0,0,0,0,4,0,0,0,51,0,1,3,137,1,8,0,25,0,2,0,90,1,2,1,137,1,8,0,25,0,1,0,154,0,0,0,35,1,1,0,0,0,0,0,99,97,99,104,101,95,115,105,122,101,0,0,0,0,0,0,112,97,103,101,95,115,105,122,101,0,0,0,0,0,0,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,0,0,110,111,114,109,97,108,0,0,101,120,99,108,117,115,105,118,101,0,0,0,0,0,0,0,108,111,99,107,105,110,103,95,109,111,100,101,0,0,0,0,106,111,117,114,110,97,108, -95,109,111,100,101,0,0,0,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,0,0,0,0,0,97,117,116,111,95,118,97,99,117,117,109,0,0,0,0,0,4,0,1,0,51,0,1,4,45,1,0,0,24,0,2,0,25,0,1,0,52,0,7,1,109,109,97,112,95,115,105,122,101,0,0,0,0,0,0,0,116,101,109,112,95,115,116,111,114,101,0,0,0,0,0,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,0,0,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,0,0,0,0,0,0,0,115, -121,110,99,104,114,111,110,111,117,115,0,0,0,0,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,99,105,100,0,0,0,0,0,110,97,109,101,0,0,0,0,116,121,112,101,0,0,0,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,0,0,0,0,0,112,107,0,0,0,0,0,0,116,97,98,108,101,0,0,0,119,105,100,116,104,0,0,0,104,101,105,103,104,116,0,0,115,101, -113,110,111,0,0,0,115,101,113,0,0,0,0,0,117,110,105,113,117,101,0,0,102,105,108,101,0,0,0,0,105,100,0,0,0,0,0,0,102,114,111,109,0,0,0,0,116,111,0,0,0,0,0,0,111,110,95,117,112,100,97,116,101,0,0,0,0,0,0,0,111,110,95,100,101,108,101,116,101,0,0,0,0,0,0,0,109,97,116,99,104,0,0,0,78,79,78,69,0,0,0,0,112,97,114,101,110,116,0,0,102,107,105,100,0,0,0,0,138,1,0,0,97,0,3,0,35,3,1,0,0,0,0,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115, -32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,0,0,0,0,114,111,119,32,0,0,0,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,0,0,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,0,0,0,0,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,0,0,0,111,107,0,0,0,0,0,0,40,85,0,0,1,0,0,0,48,85,0,0,1,0,0,0,56,85,0,0,2,0,0,0,72,85, -0,0,3,0,0,0,88,85,0,0,2,0,0,0,96,85,0,0,3,0,0,0,104,85,0,0,0,0,0,0,112,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,84,70,56,0,0,0,0,85,84,70,45,56,0,0,0,85,84,70,45,49,54,108,101,0,0,0,0,0,0,0,0,85,84,70,45,49,54,98,101,0,0,0,0,0,0,0,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,0,85,84,70,49,54,0,0,0,101,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,0,0,0,0,0,0,0,4,0,1,0,25,0,1,0,52,0,0,1,0,0, -0,0,4,0,0,0,51,0,1,0,35,1,1,0,0,0,0,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,0,102,117,108,108,0,0,0,0,114,101,115,116,97,114,116,0,98,117,115,121,0,0,0,0,108,111,103,0,0,0,0,0,99,104,101,99,107,112,111,105,110,116,101,100,0,0,0,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,0,0,0,0,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,37,95,0,0,0,0,0,0,102,111,114,101,105,103,110,32,107,101, -121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,0,0,0,83,69,84,32,78,85,76,76,0,0,0,0,0,0,0,0,83,69,84,32,68,69,70,65,85,76,84,0,0,0,0,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,0,0,0,0,0,0,0,78,79,32,65,67,84,73,79,78,0,0,0,0,0,0,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116, -114,97,110,115,97,99,116,105,111,110,0,0,0,110,111,110,101,0,0,0,0,105,110,99,114,101,109,101,110,116,97,108,0,0,0,0,0,48,87,0,0,56,87,0,0,64,87,0,0,72,87,0,0,184,18,0,0,88,87,0,0,100,101,108,101,116,101,0,0,112,101,114,115,105,115,116,0,111,102,102,0,0,0,0,0,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0,0,119,97,108,0,0,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,0,0,0,99,97, -99,104,101,95,115,112,105,108,108,0,0,0,0,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,0,0,0,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,0,0,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,0,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,0,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0, -0,0,0,0,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,0,0,0,0,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,0,0,0,0,0,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,0,0,0,0,0,0,0,102,111,114,101,105,103,110,95,107,101,121,115,0,0,0,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109, -101,115,0,0,0,0,0,0,0,102,117,108,108,102,115,121,110,99,0,0,0,0,0,0,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,0,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,0,0,0,0,0,105,110,100,101,120,95,105,110,102,111,0,0,0,0,0,0,105,110,100,101,120,95,108,105,115,116,0,0,0,0,0,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,0,0,0,0,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,0,112,97,103, -101,95,99,111,117,110,116,0,0,0,0,0,0,113,117,101,114,121,95,111,110,108,121,0,0,0,0,0,0,113,117,105,99,107,95,99,104,101,99,107,0,0,0,0,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,0,0,0,0,0,0,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,0,0,0,0,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,0,0,0,0,0,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,0,115,104,111,114,116,95,99,111,108,117, -109,110,95,110,97,109,101,115,0,0,0,0,0,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,0,0,115,116,97,116,115,0,0,0,116,97,98,108,101,95,105,110,102,111,0,0,0,0,0,0,117,115,101,114,95,118,101,114,115,105,111,110,0,0,0,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,0,0,0,0,0,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85, -78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,0,0,0,0,0,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,0,0,0,0,0,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114, -111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,0,0,48,0,0,0,0,0,0,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104, -97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,0,0,0,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,0,0,0,0,0,0,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,0,0,0,0,65,63,62,64,0,0,0,0,0,0,108,105,65,62,64,63,116,114,113,115,0,0,0,0,9,8, -0,0,0,0,0,0,108,105,0,0,0,0,0,0,83,69,65,82,67,72,0,0,83,67,65,78,0,0,0,0,32,83,85,66,81,85,69,82,89,32,37,100,0,0,0,0,32,84,65,66,76,69,32,37,115,0,0,0,0,0,0,0,32,65,83,32,37,115,0,0,80,82,73,77,65,82,89,32,75,69,89,0,0,0,0,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,0,0,0,0,0,0,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,0,0,0,0,0,0,73,78,68,69,88,32,37,115,0,0,0,0,0,0,0,0,32,85,83,73,78,71,32,0,40,114,111,119,105,100,61,63,41,0,0,0,0,0,0,0,40,114,111, -119,105,100,62,63,32,65,78,68,32,114,111,119,105,100,60,63,41,0,0,0,40,114,111,119,105,100,62,63,41,0,0,0,0,0,0,0,40,114,111,119,105,100,60,63,41,0,0,0,0,0,0,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,0,0,0,0,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,0,0,0,0,0,32,40,0,0,0,0,0,0,61,0,0,0,0,0,0,0,32,65,78,68,32,0,0,0,65,78,89,40,37,115,41,0,62,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,97,117,116,111,109,97,116,105, -99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,0,0,0,0,0,0,97,117,116,111,45,105,110,100,101,120,0,0,0,0,0,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,0,0,0,0,0,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,0,0,0,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105, -110,118,97,108,105,100,32,112,108,97,110,0,0,0,83,81,0,0,0,0,0,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,2,0,1,0,1,1,4,36,1,4,5,16,0,2,2,2,2,0,2,2,0,0,32,0,0,4,5,4,4,0,0,1,1,5,5,0,0,0,2,2,16,0,0,0,0,0,0,0,0,0,17,17,17,17,8,17,17,17,17,76,76,2,2,0,5,5,21,21,21,21,21,21,0,76,76,76,76,76,76,76,76,76,76,0,36,2,0,0,0,0,0,2,0,1,1,1,1,8,8,0,2,1,1,1,1,2,0,0,2,2,0,0,0,0,0,0,12,69,21,1,2,2,0,1,8,5,5,5,0,1,0,0,0,0,0,0,0,1,0,2,2,1,0,0,0,0,0,0,16,16,2,16,0,0,0,0,0,1,2,3,4,6,8,8,0, -0,0,0,0,0,0,0,16,67,0,0,3,0,0,0,8,67,0,0,3,0,0,0,111,105,100,0,0,0,0,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,37,115,46,114,111,119,105,100,0,0,0,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,0,0,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,0,0,110,111,32,115,117,99,104,32, -99,111,108,117,109,110,58,32,37,115,0,0,0,0,0,0,114,111,119,115,32,117,112,100,97,116,101,100,0,0,0,0,95,114,111,119,105,100,95,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,0,0,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,0,0,0,0,0,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,0,0,0,117,110,107,110,111,119,110,32, -111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,0,0,0,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,0,0,0,0,79,78,0,0,0,0,0,0,85,83,73,78,71,0,0,0, -68,73,83,84,73,78,67,84,0,0,0,0,0,0,0,0,71,82,79,85,80,32,66,89,0,0,0,0,0,0,0,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,0,79,82,68,69,82,32,66,89,0,0,0,0,0,0,0,0,99,111,108,117,109,110,37,100,0,0,0,0,0,0,0,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,0,0,0,0,0,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108, -121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,0,0,0,0,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,0,0,0,97,108,108,32,86,65,76,85,69,83, -32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,0,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,0,0,0,0,0,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83, -32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,0,0,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,0,0,0,0,0,85,78,73,79,78,32,65,76,76,0,0,0,0,0,0,0,73,78,84,69,82,83,69,67,84,0,0,0,0,0,0,0,69,88,67,69,80,84,0,0,85,78,73,79,78,0,0,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115, -105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,0,0,0,0,118,105,101,119,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,0,0,0,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,0,0,0,0,0,0,117,115,101,32,68,82,79,80,32,86,73, -69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,0,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108, -100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,0,0,117, -110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,0,0,0,0,0,0,97,108,116,101,114,116,97,98,95,0,0,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0, -0,0,0,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,0,0,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,0,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,0,0,0,0,0,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97, -117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,0,116,97,98,108,101,32,37,115,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,0,0,0,0,0,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,0,0,0,0,32,85,78,73,81,85,69,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105, -110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,0,0,0,0,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,0,0,0,0,0,0,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32, -75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,0,0,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,0,0,0,0,0,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87, -73,68,32,116,97,98,108,101,115,0,0,0,0,0,0,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,0,0,86,73,69,87,0,0,0,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114, -111,119,105,100,61,35,37,100,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,0,0,0,0,0,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,0,0,0,0,0,0,10,32,32,0,0,0,0,0,44,10,32,32,0,0,0,0,10,41,0,0,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,0,0,192,4,0,0,88,105,0,0,96,105,0,0,104,105,0,0,112,105,0,0,0,0,0,0,32,84,69,88,84,0, -0,0,32,78,85,77,0,0,0,0,32,73,78,84,0,0,0,0,32,82,69,65,76,0,0,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,0,0,0,0,0,0,0,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,0,0,0,0,0,248,105,0,0,0,106,0,0,8,106,0,0,0,0,0,0,66,69,71, -73,78,0,0,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,0,0,0,0,0,0,0,67,79,77,77,73,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,0,0,224,3,33,4,75,5,132,4,180,4,180,4,1,0,6,1,237,255,135,0,135,0,8,3,180,4,180,4,180,4,180,4,69,0,69,0,53,0,208,0,27,1,243,2,58,0,213,2,136,2,59,2,238,1,161,1,84,1,7,1,212,0,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,46,4,180,4,180, -4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,0,0,29,0,244,255,27,1,27,1,139,0,91,0,136,1,136,1,126,3,160,2,214,2,103,5,170,255,170,255,170,255,88,0,62,1,62,1,99,0,125,1,236,255,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1, -27,1,27,1,27,1,27,1,27,1,27,1,112,2,108,3,214,2,160,2,60,5,60,5,60,5,60,5,60,5,60,5,170,255,170,255,170,255,49,1,136,0,136,0,142,0,167,0,226,0,154,0,137,0,152,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,80,1,80,1,80,1,27,1,27,1,96,1,27,1,27,1,27,1,27,1,27,1,228,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,245,1,57,2,84,2,84,2,84,2,251,1,241,1,185,1,135,1,97,1,156,0,156,0,89,3,97,1,89,3,223,2,45,3,127,2,203,2,156,0,76,1,203,2,203,2,240,1,163,1,134, -2,77,5,160,4,160,4,55,5,55,5,160,4,61,5,236,4,120,4,66,5,66,5,66,5,66,5,160,4,26,5,120,4,61,5,236,4,236,4,120,4,160,4,26,5,182,4,4,5,160,4,160,4,26,5,160,4,26,5,160,4,26,5,238,4,183,4,183,4,183,4,250,4,238,4,183,4,193,4,183,4,250,4,183,4,183,4,161,4,176,4,161,4,176,4,161,4,176,4,160,4,160,4,137,4,238,4,178,4,178,4,238,4,130,4,131,4,123,4,128,4,120,4,217,4,215,4,226,4,226,4,230,4,230,4,230,4,230,4,170,255,170,255,170,255,170,255,170,255,170,255,44,4,48,1,14,2,249,0,152,1,173,255,178,1,44,3,27,0,43, -3,39,3,34,3,239,2,77,2,139,2,163,0,131,0,162,2,110,1,194,1,43,1,148,0,23,0,102,0,229,0,235,255,221,4,220,4,198,4,75,4,204,4,148,4,199,4,191,4,189,4,91,4,82,4,99,4,86,4,185,4,81,4,188,4,202,4,74,4,65,4,116,4,115,4,80,4,165,4,154,4,70,4,187,4,181,4,163,4,77,4,47,4,129,4,151,4,122,4,114,4,127,4,67,4,140,4,141,4,139,4,45,4,48,4,124,4,88,4,110,4,103,4,105,4,102,4,68,4,90,4,94,4,64,4,66,4,69,4,63,4,60,4,219,3,55,4,53,4,50,4,41,4,156,3,253,3,246,3,236,3,238,3,51,3,227,2,128,3,87,3,36,3,227,2,228,2,224,2, -178,2,142,2,153,2,106,2,70,2,56,2,16,2,42,2,123,1,20,2,223,1,199,1,123,1,176,1,115,1,85,1,28,0,82,1,116,0,245,255,199,255,171,255,7,0,248,255,3,0,0,0,0,0,135,2,196,3,196,3,196,3,110,3,110,3,201,3,196,3,6,3,34,3,34,3,170,3,201,3,201,3,201,3,108,3,201,3,201,3,201,3,196,3,201,3,10,3,40,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,169,3,171,3,48,3,47,3,150,3,21,3,45,3,38,3,42,3,111,3,104,3,105,3,103,3,107,3,112,3,201,3,41,3,73,3,88,3,72,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201, -3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,82,3,87,3,94,3,86,3,83,3,75,3,74,3,76,3,77,3,201,3,201,3,161,2,227,2,201,3,201,3,78,3,201,3,173,2,79,3,91,3,90,3,89,3,168,2,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,135,2,196,3,201, -3,201,3,196,3,196,3,196,3,196,3,196,3,196,3,188,3,10,3,0,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,176,3,174,3,201,3,123,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,141,2,201,3,143,3,6,3,6,3,6,3,8,3,242,2,254,2,143,2,44,3,23,3,23,3,155,3,44,3,155,3,198,2,221,2,195,2,34,3,23,3,106,3,34,3,34,3,7,3,254,2,201,3,181,3,14,3,14,3, -173,3,173,3,14,3,53,3,231,2,44,3,238,2,238,2,238,2,238,2,14,3,158,2,44,3,53,3,231,2,231,2,44,3,14,3,158,2,149,3,147,3,14,3,14,3,158,2,14,3,158,2,14,3,158,2,116,3,229,2,229,2,229,2,213,2,116,3,229,2,198,2,229,2,213,2,229,2,229,2,27,3,22,3,27,3,22,3,27,3,22,3,14,3,14,3,201,3,116,3,120,3,120,3,116,3,39,3,28,3,37,3,35,3,44,3,164,2,216,2,151,2,151,2,140,2,140,2,140,2,140,2,193,3,193,3,188,3,200,2,200,2,183,2,201,3,201,3,201,3,201,3,201,3,201,3,175,2,201,3,125,3,201,3,201,3,201,3,201,3,201,3,201,3,201, -3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,60,3,201,3,136,2,183,3,201,3,201,3,180,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,153,3,201,3,201,3,201,3,201,3,201,3,201,3,146,3,145,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,245,2,201,3,201,3,201,3,249,2,201,3,201,3,201,3,201,3,201,3,201,3,36,3,201,3,29,3,201,3,109,3,201,3,201,3,201, -3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,198,3,201,3,201,3,201,3,197,3,201,3,201,3,201,3,201,3,201,3,62,3,201,3,61,3,65,3,201,3,149,2,201,3,132,2,137,2,192,3,195,3,194,3,191,3,190,3,189,3,184,3,182,3,179,3,178,3,177,3,175,3,172,3,168,3,129,3,127,3,134,3,133,3,132,3,131,3,130,3,128,3,126,3,124,3,50,3,49,3,46,3,43,3,241,2,167,3,122,3,240,2,237,2,236,2,157,2,185,3,152,3,161,3,160,3,159,3,54,3,158,3,157,3,156,3,154,3,151,3,138,3,52,3,51,3,232,2,114,3,113,3,160,2,142,3,141,3,140,3,144,3,148,3,139,3, -16,3,239,2,159,2,156,2,163,2,167,2,219,2,220,2,228,2,226,2,225,2,224,2,223,2,222,2,218,2,169,2,174,2,212,2,197,2,196,2,205,2,204,2,210,2,209,2,208,2,207,2,206,2,203,2,202,2,201,2,194,2,193,2,199,2,192,2,215,2,214,2,211,2,191,2,235,2,234,2,233,2,230,2,190,2,189,2,188,2,65,3,187,2,186,2,70,3,69,3,98,3,58,3,243,2,247,2,246,2,250,2,251,2,3,3,2,3,1,3,12,3,13,3,25,3,24,3,56,3,55,3,26,3,11,3,5,3,4,3,20,3,19,3,18,3,17,3,9,3,255,2,31,3,30,3,100,3,15,3,99,3,97,3,166,3,165,3,164,3,163,3,162,3,102,3,199,3,200, -3,119,3,121,3,118,3,33,3,32,3,117,3,101,3,71,3,68,3,178,2,179,2,137,3,136,3,135,3,181,2,180,2,177,2,176,2,95,3,92,3,84,3,96,3,93,3,85,3,81,3,80,3,66,3,64,3,63,3,59,3,67,3,248,2,244,2,57,3,253,2,252,2,185,2,184,2,182,2,166,2,165,2,162,2,155,2,153,2,152,2,154,2,150,2,148,2,147,2,146,2,145,2,144,2,172,2,171,2,170,2,142,2,139,2,138,2,134,2,133,2,131,2,0,0,0,0,19,22,22,23,1,24,26,15,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,108,109,110,27,28,23,50,51,80,81,82,83,122,85,86,87,88,89,90,91,92,93, -94,95,22,70,23,71,72,73,74,75,76,77,78,79,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,19,97,91,92,93,94,95,26,85,86,87,88,89,90,91,92,93,94,95,27,28,97,98,99,122,211,102,103,104,79,19,50,51,19,122,59,55,113,224,225,226,89,90,91,92,93,94,95,23,27,28,26,71,72,73,74,75,76,77,78,79,80,81,82,83,51,85,86,87,88,89,90,91,92,93,94,95,19,132,133,58,89,90,21,108,109,110,27,28,97,98,33,100,7,8,119,120,22,19,107,42,109,27,28,27,28,95,28,50,51,99,100,101,102,103,104,105,27,28,97,98,107,152,112,132,133,112, -65,69,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,101,97,97,98,24,101,122,157,12,99,103,112,102,103,104,152,22,97,98,97,98,27,28,113,27,29,91,164,165,124,50,51,97,98,219,59,132,133,134,22,23,45,66,47,212,213,124,140,132,133,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,165,27,28,230,50,51,233,108,109,110,70,16,59,23,97,98,26,97,22,66,185,12,187,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,29,85,86,87,88,89,90,91,92,93,94,95,19, -22,148,149,45,23,47,62,154,64,156,108,109,110,37,69,23,163,59,26,26,97,98,144,145,146,147,152,200,52,23,50,51,26,22,89,90,60,210,7,8,9,138,97,22,23,26,101,26,174,175,197,71,72,73,74,75,76,77,78,79,80,81,82,83,16,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,208,209,140,152,152,111,195,196,98,70,163,160,152,23,22,164,165,246,207,27,152,174,175,171,172,50,51,137,62,139,64,171,172,222,124,27,138,24,163,89,90,130,174,175,197,163,71,72,73,74,75,76,77,78,79,80,81,82,83,22,85,86,87,88,89,90,91, -92,93,94,95,19,197,181,182,23,208,209,152,197,26,189,132,133,232,224,225,226,152,97,91,26,232,116,212,213,152,222,121,152,174,175,50,51,243,97,22,23,22,234,174,175,177,23,239,116,163,177,174,175,121,174,175,71,72,73,74,75,76,77,78,79,80,81,82,83,24,85,86,87,88,89,90,91,92,93,94,95,19,23,197,11,23,227,70,208,220,152,31,224,225,226,35,98,224,225,226,108,109,110,115,152,117,118,27,222,49,123,24,50,51,27,0,1,2,224,225,226,166,124,168,169,239,174,175,170,171,172,22,194,71,72,73,74,75,76,77,78,79,80,81, -82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,22,208,24,23,195,196,170,171,172,174,175,152,26,152,152,152,207,152,97,152,23,152,51,244,152,97,152,247,248,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,23,174,175,174,175,188,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,107,152,33,24,152,100,101,27,174,175,152,42,152,23,152,26,152,23,152,26,152,174,175,174,175,152,174,175,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,163,119,120,174,175, -19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,66,152,97,197,23,50,51,26,53,23,174,175,26,23,23,23,26,26,26,36,106,146,147,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,196,119,120,19,50,51,168,169,26,174,175,207,28,152,249,250,152,163,163,163,163,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,197,197,197,197,50,51,197,194,36,174,175,191,192,152,191,192,163,152,66,124,152,174, -175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,197,152,100,188,152,50,51,152,152,188,174,175,252,152,94,95,152,152,152,1,2,152,152,174,175,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,188,188,22,194,50,51,240,173,194,174,175,252,194,152,36,181,28,152,23,219,122,174,175,219,221,152,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,152,22,23,194,152,240,27,28,174,175,240,19,20,26,22,194,194, -38,22,27,28,152,23,22,152,116,174,175,152,23,38,152,23,152,221,152,57,152,23,163,50,51,194,174,175,66,174,175,69,57,174,175,40,174,175,174,175,174,175,174,175,69,22,53,74,75,30,53,89,90,22,22,152,197,23,96,97,98,22,152,101,89,90,91,208,209,152,53,96,97,98,101,22,101,174,175,152,19,20,105,22,174,175,112,19,27,28,20,174,175,24,132,133,134,135,136,38,44,174,175,107,61,54,26,132,133,134,135,136,54,107,22,5,140,1,57,36,111,122,28,79,79,131,123,66,19,20,69,22,1,16,20,125,27,28,123,111,120,23,131,23,16, -68,142,38,15,22,89,90,3,167,4,248,251,96,97,98,180,180,101,251,151,6,57,151,13,151,26,25,151,161,202,153,162,153,69,130,128,203,19,20,127,22,126,204,129,22,27,28,205,132,133,134,135,136,89,90,231,38,95,137,179,96,97,98,206,179,101,122,107,159,159,125,231,216,228,107,57,184,217,216,176,217,176,48,106,18,184,158,69,159,158,46,71,237,176,176,176,132,133,134,135,136,217,176,137,216,178,158,89,90,179,176,159,179,159,96,97,98,159,159,101,5,158,202,22,18,10,11,12,13],"i8",Ha,w.Ab+20481); -H([14,190,238,17,190,158,193,41,159,202,193,159,202,245,193,193,223,190,32,159,34,132,133,134,135,136,159,39,155,43,150,223,177,201,178,177,186,66,199,177,152,253,56,215,152,182,152,202,152,63,152,152,66,67,242,229,152,174,152,152,152,152,152,152,152,199,242,202,152,198,152,152,152,183,192,152,215,152,183,215,183,152,241,214,152,211,152,152,211,211,152,152,241,152,152,152,152,152,152,152,114,152,152,235,152,152,152,174,187,95,174,253,253,253,253,236,253,253,253,253,253,253,253,253,253,253,253,141, -0,0,0,0,0,0,0,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,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,27,27,27,27,27,27,27,27,27,0,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,0,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,0,0,0,0,0,64,121,0,0,72,121,0,0,80,121,0,0,88,121,0,0,96,121,0,0,104,121,0,0,112,121,0,0,120,121,0,0,128,121, -0,0,144,121,0,0,216,83,0,0,152,121,0,0,97,100,100,114,0,0,0,0,111,112,99,111,100,101,0,0,112,49,0,0,0,0,0,0,112,50,0,0,0,0,0,0,112,51,0,0,0,0,0,0,112,52,0,0,0,0,0,0,112,53,0,0,0,0,0,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,0,0,0,0,0,0,0,111,114,100,101,114,0,0,0,100,101,116,97,105,108,0,0,117,110,111,112,101,110,101,100,0,0,0,0,0,0,0,0,110,111,32,115,117,99,104,32,118,105,101,119,0,0,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,0,0,98,105,110,100,32,111,110,32,97,32, -98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,122,0,0,64,122,0,0,72,122,0,0,80,122,0,0,78,79,84,32,78,85,76,76,0,0,0,0,0,0,0,0,85,78,73,81,85,69,0,0,67,72,69,67,75,0,0,0,70,79,82,69,73,71,78,32,75,69,89,0,0,0,0,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108, -101,100,58,32,37,115,0,0,0,0,0,0,0,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,0,0,0,1,2,0,2,2,0,0,0,0,0,0,0,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,0,0,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,0,0,99,97,110,110,111,116,32,114,101,108,101, -97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114, -97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,0,0,0,0,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69, -82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,0,0,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,105,110,116,111,0,0,0,0,111,117,116,32,111,102,0,0,100,97,116,97,98,97,115,101,32,116,97,98, -108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,0,0,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,0,0,0,0,39,37,46,42,113,39,0,0,122,101,114,111,98,108,111,98,40,37,100,41,0,0,0,0,120,39,0,0,0,0,0,0,37,48,50,120,0,0,0,0,39,0,0,0,0,0,0,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67, -85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,0,0,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,0,0,0,0,0,0,0,66,69,71,73,78,59,0,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32, -84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,0,0,0,0,83,69,76,69,67,84,32,39,67,82,69,65, -84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70, -82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,0,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39, -70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,0,0,0,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110, -97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32, -124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,0,0,0,0,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108, -95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,0,0,0,0,0,0,77,97,105,110,32,102,114,101,101,108,105, -115,116,58,32,0,76,105,115,116,32,111,102,32,116,114,101,101,32,114,111,111,116,115,58,32,0,0,0,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,0,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,0,0,0,0,0,0,79,117,116,115,116,97,110,100,105,110,103,32,112,97,103,101,32,99,111,117,110,116,32,103,111,101,115,32,102,114,111,109,32,37,100,32,116,111,32,37,100,32,100,117,114,105,110,103,32,116, -104,105,115,32,97,110,97,108,121,115,105,115,0,0,10,0,0,0,0,0,0,0,80,97,103,101,32,37,100,58,32,0,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,0,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,0,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,0,0,0,0,0,0,82,111, -119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,112,114,101,118,105,111,117,115,32,119,97,115,32,37,108,108,100,41,0,0,0,0,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,0,0,0,0,0,0,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114, -32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32, -109,97,120,32,111,102,32,37,108,108,100,41,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,0,0,0,0,0,67,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,99,101,108,108,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,0,0,0,0,0,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111, -114,32,98,121,116,101,32,37,100,32,111,102,32,112,97,103,101,32,37,100,0,0,0,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,0,0,0,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,0,0,0,0,0,0,0,70,97,105,108,101,100,32,116,111,32,114, -101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,0,0,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,0,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,0,0,0,0,0,0,0,102,97,105,108, -101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,0,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,0,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,0,45,109,106,37,48,54,88,57,37,48,50,88,0,0,0,0,37,46,50,120,0,0,0,0,107,40,37,100, -0,0,0,0,110,105,108,0,0,0,0,0,66,0,0,0,0,0,0,0,44,46,46,46,0,0,0,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,0,37,100,0,0,0,0,0,0,40,98,108,111,98,41,0,0,118,116,97,98,58,37,112,58,37,112,0,0,0,0,0,0,105,110,116,97,114,114,97,121,0,0,0,0,0,0,0,0,112,114,111,103,114,97,109,0,72,74,0,0,152,137,0,0,168,137,0,0,184,137,0,0,200,137,0,0,216,137,0,0,232,137,0,0,248,137,0,0,8,138,0,0,16,138,0,0,24,138,0,0,32,138,0,0,48,138,0,0,64,138,0,0,72,138,0,0,80,138,0,0,88,138,0,0,96,138,0,0,104,138,0,0,112,138, -0,0,120,138,0,0,136,138,0,0,152,138,0,0,160,138,0,0,176,138,0,0,184,138,0,0,192,138,0,0,200,138,0,0,208,138,0,0,216,138,0,0,232,138,0,0,240,138,0,0,0,139,0,0,8,139,0,0,16,139,0,0,24,139,0,0,40,139,0,0,48,139,0,0,56,139,0,0,72,139,0,0,88,139,0,0,96,139,0,0,112,139,0,0,120,139,0,0,128,139,0,0,136,139,0,0,144,139,0,0,152,139,0,0,160,139,0,0,176,139,0,0,192,139,0,0,200,139,0,0,216,139,0,0,232,139,0,0,248,139,0,0,8,140,0,0,24,140,0,0,40,140,0,0,56,140,0,0,72,140,0,0,88,140,0,0,104,140,0,0,112,140,0,0, -120,140,0,0,128,140,0,0,136,140,0,0,144,140,0,0,152,140,0,0,168,140,0,0,184,140,0,0,192,140,0,0,208,140,0,0,216,140,0,0,224,140,0,0,240,140,0,0,0,141,0,0,8,141,0,0,16,141,0,0,24,141,0,0,32,141,0,0,40,141,0,0,48,141,0,0,56,141,0,0,64,141,0,0,72,141,0,0,88,141,0,0,96,141,0,0,104,141,0,0,120,141,0,0,136,141,0,0,144,141,0,0,160,141,0,0,176,141,0,0,184,141,0,0,200,141,0,0,208,141,0,0,216,141,0,0,224,141,0,0,232,141,0,0,248,141,0,0,8,142,0,0,24,142,0,0,32,142,0,0,40,142,0,0,48,142,0,0,56,142,0,0,64,142, -0,0,80,142,0,0,88,142,0,0,96,142,0,0,112,142,0,0,128,142,0,0,144,142,0,0,160,142,0,0,168,142,0,0,176,142,0,0,184,142,0,0,192,142,0,0,200,142,0,0,208,142,0,0,224,142,0,0,240,142,0,0,0,143,0,0,16,143,0,0,32,143,0,0,48,143,0,0,64,143,0,0,80,143,0,0,96,143,0,0,112,143,0,0,128,143,0,0,144,143,0,0,152,143,0,0,160,143,0,0,168,143,0,0,184,143,0,0,200,143,0,0,208,143,0,0,216,143,0,0,224,143,0,0,232,143,0,0,248,143,0,0,8,144,0,0,16,144,0,0,32,144,0,0,40,144,0,0,48,144,0,0,64,144,0,0,72,144,0,0,80,144,0,0,88, -144,0,0,96,144,0,0,112,144,0,0,128,144,0,0,136,144,0,0,144,144,0,0,70,117,110,99,116,105,111,110,0,0,0,0,0,0,0,0,83,97,118,101,112,111,105,110,116,0,0,0,0,0,0,0,65,117,116,111,67,111,109,109,105,116,0,0,0,0,0,0,84,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,83,111,114,116,101,114,78,101,120,116,0,0,0,0,0,0,80,114,101,118,73,102,79,112,101,110,0,0,0,0,0,0,78,101,120,116,73,102,79,112,101,110,0,0,0,0,0,0,80,114,101,118,0,0,0,0,78,101,120,116,0,0,0,0,65,103,103,83,116,101,112,0,67,104,101,99,107, -112,111,105,110,116,0,0,0,0,0,0,74,111,117,114,110,97,108,77,111,100,101,0,0,0,0,0,86,97,99,117,117,109,0,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,0,0,0,71,111,115,117,98,0,0,0,82,101,116,117,114,110,0,0,78,111,116,0,0,0,0,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,0,0,69,110,100,67,111,114,111,117,116,105,110,101,0,0,0,0,89,105,101,108,100,0,0,0,72,97,108,116,73,102,78,117,108,108,0,0,0,0,0,0,72,97,108,116,0,0,0,0,73,110,116,101,103,101,114,0,73,110,116, -54,52,0,0,0,83,116,114,105,110,103,0,0,78,117,108,108,0,0,0,0,83,111,102,116,78,117,108,108,0,0,0,0,0,0,0,0,66,108,111,98,0,0,0,0,86,97,114,105,97,98,108,101,0,0,0,0,0,0,0,0,77,111,118,101,0,0,0,0,67,111,112,121,0,0,0,0,83,67,111,112,121,0,0,0,82,101,115,117,108,116,82,111,119,0,0,0,0,0,0,0,67,111,108,108,83,101,113,0,65,100,100,73,109,109,0,0,77,117,115,116,66,101,73,110,116,0,0,0,0,0,0,0,82,101,97,108,65,102,102,105,110,105,116,121,0,0,0,0,67,97,115,116,0,0,0,0,80,101,114,109,117,116,97,116,105, -111,110,0,0,0,0,0,67,111,109,112,97,114,101,0,74,117,109,112,0,0,0,0,79,110,99,101,0,0,0,0,73,102,0,0,0,0,0,0,73,102,78,111,116,0,0,0,67,111,108,117,109,110,0,0,65,102,102,105,110,105,116,121,0,0,0,0,0,0,0,0,77,97,107,101,82,101,99,111,114,100,0,0,0,0,0,0,67,111,117,110,116,0,0,0,82,101,97,100,67,111,111,107,105,101,0,0,0,0,0,0,83,101,116,67,111,111,107,105,101,0,0,0,0,0,0,0,82,101,111,112,101,110,73,100,120,0,0,0,0,0,0,0,79,112,101,110,82,101,97,100,0,0,0,0,0,0,0,0,79,112,101,110,87,114,105,116, -101,0,0,0,0,0,0,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,0,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,0,0,83,111,114,116,101,114,79,112,101,110,0,0,0,0,0,0,83,101,113,117,101,110,99,101,84,101,115,116,0,0,0,0,79,112,101,110,80,115,101,117,100,111,0,0,0,0,0,0,67,108,111,115,101,0,0,0,83,101,101,107,76,84,0,0,83,101,101,107,76,69,0,0,83,101,101,107,71,69,0,0,83,101,101,107,71,84,0,0,83,101,101,107,0,0,0,0,78,111,67,111,110,102,108,105,99,116,0,0,0,0,0,0,78,111,116,70,111,117, -110,100,0,0,0,0,0,0,0,0,70,111,117,110,100,0,0,0,78,111,116,69,120,105,115,116,115,0,0,0,0,0,0,0,79,114,0,0,0,0,0,0,65,110,100,0,0,0,0,0,83,101,113,117,101,110,99,101,0,0,0,0,0,0,0,0,78,101,119,82,111,119,105,100,0,0,0,0,0,0,0,0,73,110,115,101,114,116,0,0,73,115,78,117,108,108,0,0,78,111,116,78,117,108,108,0,78,101,0,0,0,0,0,0,69,113,0,0,0,0,0,0,71,116,0,0,0,0,0,0,76,101,0,0,0,0,0,0,76,116,0,0,0,0,0,0,71,101,0,0,0,0,0,0,73,110,115,101,114,116,73,110,116,0,0,0,0,0,0,0,66,105,116,65,110,100,0,0,66, -105,116,79,114,0,0,0,83,104,105,102,116,76,101,102,116,0,0,0,0,0,0,0,83,104,105,102,116,82,105,103,104,116,0,0,0,0,0,0,65,100,100,0,0,0,0,0,83,117,98,116,114,97,99,116,0,0,0,0,0,0,0,0,77,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,68,105,118,105,100,101,0,0,82,101,109,97,105,110,100,101,114,0,0,0,0,0,0,0,67,111,110,99,97,116,0,0,68,101,108,101,116,101,0,0,66,105,116,78,111,116,0,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,0,0,0,0,0,83,111,114,116,101,114,67,111,109,112,97, -114,101,0,0,0,83,111,114,116,101,114,68,97,116,97,0,0,0,0,0,0,82,111,119,75,101,121,0,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,0,0,78,117,108,108,82,111,119,0,76,97,115,116,0,0,0,0,83,111,114,116,101,114,83,111,114,116,0,0,0,0,0,0,83,111,114,116,0,0,0,0,82,101,119,105,110,100,0,0,83,111,114,116,101,114,73,110,115,101,114,116,0,0,0,0,73,100,120,73,110,115,101,114,116,0,0,0,0,0,0,0,73,100,120,68,101,108,101,116,101,0,0,0,0,0,0,0,73,100,120,82,111,119,105,100,0,0,0,0,0,0,0,0,73,100,120,76,69, -0,0,0,73,100,120,71,84,0,0,0,73,100,120,76,84,0,0,0,73,100,120,71,69,0,0,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,0,0,82,101,115,101,116,83,111,114,116,101,114,0,0,0,0,0,67,114,101,97,116,101,73,110,100,101,120,0,0,0,0,0,67,114,101,97,116,101,84,97,98,108,101,0,0,0,0,0,80,97,114,115,101,83,99,104,101,109,97,0,0,0,0,0,76,111,97,100,65,110,97,108,121,115,105,115,0,0,0,0,68,114,111,112,84,97,98,108,101,0,0,0,0,0,0,0,68,114,111,112,73,110,100,101,120,0,0,0,0,0,0,0,68,114,111,112,84,114,105, -103,103,101,114,0,0,0,0,0,73,110,116,101,103,114,105,116,121,67,107,0,0,0,0,0,82,111,119,83,101,116,65,100,100,0,0,0,0,0,0,0,82,111,119,83,101,116,82,101,97,100,0,0,0,0,0,0,82,111,119,83,101,116,84,101,115,116,0,0,0,0,0,0,80,114,111,103,114,97,109,0,80,97,114,97,109,0,0,0,82,101,97,108,0,0,0,0,70,107,67,111,117,110,116,101,114,0,0,0,0,0,0,0,70,107,73,102,90,101,114,111,0,0,0,0,0,0,0,0,77,101,109,77,97,120,0,0,73,102,80,111,115,0,0,0,73,102,78,101,103,0,0,0,73,102,90,101,114,111,0,0,65,103,103,70, -105,110,97,108,0,0,0,0,0,0,0,0,73,110,99,114,86,97,99,117,117,109,0,0,0,0,0,0,69,120,112,105,114,101,0,0,84,97,98,108,101,76,111,99,107,0,0,0,0,0,0,0,86,66,101,103,105,110,0,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,0,0,0,0,0,0,0,86,79,112,101,110,0,0,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,0,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,0,0,0,0,0,0,77,97,120,80,103,99,110,116,0,0,0,0,0,0,0,0,73,110,105,116,0,0,0,0,78,111,111,112,0,0,0,0,69,120,112,108, -97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,0,0,0,64,32,32,0,0,0,0,0,1,0,0,0,8,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0, -0,0,0,0,0,0,160,146,0,0,10,0,0,0,0,0,0,0,120,146,0,0,11,0,0,0,0,0,0,0,192,18,0,0,18,0,0,0,0,0,0,0,168,146,0,0,19,0,0,0,0,0,0,0,176,146,0,0,20,0,0,0,0,0,0,0,184,146,0,0,21,0,0,0,0,0,0,0,192,146,0,0,22,0,0,0,0,0,0,0,208,146,0,0,11,0,0,0,0,0,0,0,216,146,0,0,12,0,0,0,0,0,0,0,224,146,0,0,0,0,0,0,0,0,0,0,232,146,0,0,0,0,0,0,0,0,0,0,240,146,0,0,13,0,0,0,0,0,0,0,248,146,0,0,0,0,0,0,0,0,0,0,0,147,0,0,0,0,0,0,0,0,0,0,16,147,0,0,23,0,0,0,0,0,0,0,24,147,0,0,0,0,0,0,0,0,0,0,40,147,0,0,12,0,0,0,0,0,0,0,48,147, -0,0,24,0,0,0,0,0,0,0,64,147,0,0,25,0,0,0,0,0,0,0,72,147,0,0,13,0,0,0,0,0,0,0,80,147,0,0,14,0,0,0,0,0,0,0,88,147,0,0,1,0,0,0,0,0,0,0,96,147,0,0,26,0,0,0,0,0,0,0,104,147,0,0,0,0,0,0,0,0,0,0,112,147,0,0,1,0,0,0,0,0,0,0,0,0,0,0,99,108,111,115,101,0,0,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,0,111,112,101,110,0,0,0,0,103,101,116,99,119,100,0,0,115,116,97,116,0,0,0,0,102,115,116,97,116,0,0,0,102,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0, -102,99,110,116,108,0,0,0,114,101,97,100,0,0,0,0,112,114,101,97,100,0,0,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,0,0,112,119,114,105,116,101,0,0,112,119,114,105,116,101,54,52,0,0,0,0,0,0,0,0,102,99,104,109,111,100,0,0,102,97,108,108,111,99,97,116,101,0,0,0,0,0,0,0,117,110,108,105,110,107,0,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,0,0,109,107,100,105,114,0,0,0,114,109,100,105,114,0,0,0,102,99,104,111,119,110,0,0,109,109,97,112,0,0,0,0,109,117,110,109,97,112,0,0,109,114,101,109, -97,112,0,0,103,101,116,112,97,103,101,115,105,122,101,0,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,0,0,0,0,0,47,100,101,118,47,110,117,108,108,0,0,0,0,0,0,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,0,0,37,115,47, -101,116,105,108,113,115,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,148,0,0,64,148,0,0,80,148,0,0,0,0,0,0,0,0,0,0,47,118,97,114,47,116,109,112,0,0,0,0,0,0,0,0,47,117,115,114,47,116,109,112,0,0,0,0,0,0,0,0,47,116,109,112,0,0,0,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,0,0,84,77,80,68,73,82,0,0,102,117,108,108,95,102,115,121,110,99,0,0,0,0,0,0,3,0,0,0,14,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,47,100,101,118,47,117,114,97,110,100,111,109,0,0,0,0,47,37,115,0,0,0,0,0,102,115,121,110,99,0,0,0,112,115,111,119,0,0,0,0,3,0,0,0,15,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,7,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0,0,0,0,0,0,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101, -32,111,112,101,110,58,32,37,115,0,0,0,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,0,0,0,0,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,0,0,0,0,0,0,0,0,0,0,0,0,37,115,45,115,104,109,0,0,114,101,97,100,111,110,108,121,95,115,104,109,0,0,0,0,37,0,0,0,0,0,0,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0, -2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,0,0,0,0,0,0,116,104,115,116,110,100,114,100,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,0,0,0,0,0,0,0,45,120,48,0,88,48,0,0,78,97,78,0,0,0,0,0,45,73,110,102,0,0,0,0,43,73,110,102,0,0,0,0,73,110,102,0,0,0,0,0,40,78,85,76,76, -41,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,73,83,65,66,76,69,95,76,70,83,0,0,0,0,0,73,78,84,54,52,95,84,89,80,69,0,0,0,0,0,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,0,0,0,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,0,0,84,72,82,69,65,68,83,65,70,69,61,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",Ha,w.Ab+30721);var ib=w.ec(H(12,"i8",G),8);u(0==ib%8); -var O={$:1,ea:2,Ah:3,zg:4,Fa:5,Pc:6,Yf:7,Wg:8,N:9,kg:10,bb:11,Kh:11,Td:12,tb:13,ug:14,ih:15,Ea:16,Nc:17,Vd:18,ub:19,cb:20,Oa:21,B:22,Rg:23,Sd:24,Ud:25,Hh:26,vg:27,eh:28,xb:29,wh:30,Kg:31,qh:32,rg:33,Qc:34,$g:42,xg:43,lg:44,Bg:45,Cg:46,Dg:47,Jg:48,Ih:49,Ug:50,Ag:51,pg:35,Xg:37,cg:52,fg:53,Lh:54,Sg:55,gg:56,hg:57,qg:35,ig:59,gh:60,Vg:61,Eh:62,fh:63,ah:64,bh:65,vh:66,Yg:67,ag:68,Bh:69,mg:70,rh:71,Mg:72,sg:73,eg:74,mh:76,dg:77,uh:78,Eg:79,Fg:80,Ig:81,Hg:82,Gg:83,hh:38,ac:39,Ng:36,$b:40,wb:95,ph:96,og:104, -Tg:105,bg:97,th:91,kh:88,dh:92,yh:108,Mc:111,Zf:98,ng:103,Qg:101,Og:100,Fh:110,wg:112,Oc:113,Qd:115,Od:114,Pd:89,Lg:90,sh:93,zh:94,$f:99,Pg:102,Rd:106,vb:107,Gh:109,Jh:87,tg:122,Ch:116,lh:95,Zg:123,yg:84,nh:75,jg:125,jh:131,oh:130,Dh:86},jb={"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"},kb=0;function P(a){return E[kb>>2]=a} -function lb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function mb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1),a=lb(a.split("/").filter(function(a){return!!a}),!b).join("/");!a&&!b&&(a=".");a&&c&&(a+="/");return(b?"/":"")+a} -function nb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),a=b[0],b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function ob(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function pb(){var a=Array.prototype.slice.call(arguments,0);return mb(a.join("/"))}function qb(a,b){return mb(a+"/"+b)} -function rb(){for(var a="",b=m,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:z.Ib();"string"!==typeof b&&e(new TypeError("Arguments to path.resolve must be strings"));if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=lb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."} -function sb(a,b){function c(a){for(var b=0;bc?[]:a.slice(b,c-b+1)}for(var a=rb(a).substr(1),b=rb(b).substr(1),d=c(a.split("/")),f=c(b.split("/")),h=Math.min(d.length,f.length),i=h,j=0;ja.n.length)&&(a.n=Q.Te(a),a.C=a.n.length);if(!a.n||a.n.subarray){var c=a.n?a.n.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.n,a.n=new Uint8Array(b),0b)a.n.length=b;else for(;a.n.length=a.k.C)return 0;a=Math.min(a.k.C-f,d);u(0<=a);if(8b&&e(new z.e(O.B));return b},fb:function(a,b,c){Q.md(a.k,b+c);a.k.C=Math.max(a.k.C,b+c)},Ra:function(a,b,c,d,f,h,i){z.isFile(a.k.mode)||e(new z.e(O.ub));c= -a.k.n;if(!(i&2)&&(c.buffer===b||c.buffer===b.buffer))a=m,d=c.byteOffset;else{if(0>>0)%z.ia.length},ud:function(a){var b=z.tc(a.parent.id,a.name);a.La=z.ia[b];z.ia[b]=a},vd:function(a){var b=z.tc(a.parent.id,a.name);if(z.ia[b]===a)z.ia[b]=a.La;else for(b=z.ia[b];b;){if(b.La===a){b.La=a.La;break}b=b.La}},sa:function(a,b){var c=z.mf(a);c&&e(new z.e(c,a));for(c=z.ia[z.tc(a.id,b)];c;c=c.La){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return z.Pa(a,b)},createNode:function(a, -b,c,d){z.yb||(z.yb=function(a,b,c,d){a||(a=this);this.parent=a;this.O=a.O;this.mb=l;this.id=z.rf++;this.name=b;this.mode=c;this.o={};this.q={};this.pb=d},z.yb.prototype={},Object.defineProperties(z.yb.prototype,{W:{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}},gf:{get:function(){return z.U(this.mode)}},uc:{get:function(){return z.Qb(this.mode)}}})); -a=new z.yb(a,b,c,d);z.ud(a);return a},mc:function(a){z.vd(a)},Rb:function(a){return a===a.parent},Ia:function(a){return!!a.mb},isFile:function(a){return 32768===(a&61440)},U:function(a){return 16384===(a&61440)},lb:function(a){return 40960===(a&61440)},Qb:function(a){return 8192===(a&61440)},ef:function(a){return 24576===(a&61440)},ff:function(a){return 4096===(a&61440)},hf:function(a){return 49152===(a&49152)},Oe:{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},Cd:function(a){var b=z.Oe[a];"undefined"===typeof b&&e(Error("Unknown file open mode: "+a));return b},Pe:function(a){var b=["r","w","rw"][a&2097155];a&512&&(b+="w");return b},Ba:function(a,b){return z.wd?0:-1!==b.indexOf("r")&&!(a.mode&292)||-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73)?O.tb:0},mf:function(a){var b=z.Ba(a,"x");return b?b:!a.o.Pa?O.tb:0},xc:function(a,b){try{return z.sa(a,b),O.Nc}catch(c){}return z.Ba(a,"wx")},Sb:function(a, -b,c){var d;try{d=z.sa(a,b)}catch(f){return f.Lb}if(a=z.Ba(a,"wx"))return a;if(c){if(!z.U(d.mode))return O.cb;if(z.Rb(d)||z.ra(d)===z.Ib())return O.Ea}else if(z.U(d.mode))return O.Oa;return 0},nf:function(a,b){return!a?O.ea:z.lb(a.mode)?O.$b:z.U(a.mode)&&(0!==(b&2097155)||b&512)?O.Oa:z.Ba(a,z.Pe(b))},Yd:4096,sf:function(a,b){for(var b=b||z.Yd,c=a||0;c<=b;c++)if(!z.Na[c])return c;e(new z.e(O.Sd))},T:function(a){return z.Na[a]},bd:function(a,b,c){z.zb||(z.zb=n(),z.zb.prototype={},Object.defineProperties(z.zb.prototype, -{object:{get:function(){return this.k},set:function(a){this.k=a}},Ji:{get:function(){return 1!==(this.D&2097155)}},Ki:{get:function(){return 0!==(this.D&2097155)}},Ii:{get:function(){return this.D&1024}}}));var d=new z.zb,f;for(f in a)d[f]=a[f];a=d;b=z.sf(b,c);a.I=b;return z.Na[b]=a},ve:function(a){z.Na[a]=l},Fi:function(a){return z.Na[a-1]},sc:function(a){return a?a.I+1:0},ue:{open:function(a){a.q=z.Se(a.k.pb).q;a.q.open&&a.q.open(a)},ga:function(){e(new z.e(O.xb))}},wc:function(a){return a>>8}, -Ri:function(a){return a&255},Ka:function(a,b){return a<<8|b},Cc:function(a,b){z.gd[a]={q:b}},Se:function(a){return z.gd[a]},pd:function(a){for(var b=[],a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.nb)}return b},Kd:function(a,b){function c(a){if(a){if(!c.Ke)return c.Ke=k,b(a)}else++f>=d.length&&b(l)}"function"===typeof a&&(b=a,a=m);var d=z.pd(z.root.O),f=0;d.forEach(function(b){if(!b.type.Kd)return c(l);b.type.Kd(b,a,c)})},O:function(a,b,c){var d="/"===c,f=!c,h;d&&z.root&&e(new z.e(O.Ea)); -!d&&!f&&(h=z.G(c,{pc:m}),c=h.path,h=h.k,z.Ia(h)&&e(new z.e(O.Ea)),z.U(h.mode)||e(new z.e(O.cb)));b={type:a,Ti:b,of:c,nb:[]};a=a.O(b);a.O=b;b.root=a;d?z.root=a:h&&(h.mb=b,h.O&&h.O.nb.push(b));return a},Zi:function(a){a=z.G(a,{pc:m});z.Ia(a.k)||e(new z.e(O.B));var a=a.k,b=a.mb,c=z.pd(b);Object.keys(z.ia).forEach(function(a){for(a=z.ia[a];a;){var b=a.La;-1!==c.indexOf(a.O)&&z.mc(a);a=b}});a.mb=l;b=a.O.nb.indexOf(b);u(-1!==b);a.O.nb.splice(b,1)},Pa:function(a,b){return a.o.Pa(a,b)},ha:function(a,b,c){var d= -z.G(a,{parent:k}).k,a=ob(a);(!a||"."===a||".."===a)&&e(new z.e(O.B));var f=z.xc(d,a);f&&e(new z.e(f));d.o.ha||e(new z.e(O.$));return d.o.ha(d,a,b,c)},create:function(a,b){b=(b!==g?b:438)&4095;b|=32768;return z.ha(a,b,0)},ta:function(a,b){b=(b!==g?b:511)&1023;b|=16384;return z.ha(a,b,0)},Tb:function(a,b,c){"undefined"===typeof c&&(c=b,b=438);return z.ha(a,b|8192,c)},va:function(a,b){rb(a)||e(new z.e(O.ea));var c=z.G(b,{parent:k}).k;c||e(new z.e(O.ea));var d=ob(b),f=z.xc(c,d);f&&e(new z.e(f));c.o.va|| -e(new z.e(O.$));return c.o.va(c,d,a)},rename:function(a,b){var c=nb(a),d=nb(b),f=ob(a),h=ob(b),i,j,x;try{i=z.G(a,{parent:k}),j=i.k,i=z.G(b,{parent:k}),x=i.k}catch(p){e(new z.e(O.Ea))}(!j||!x)&&e(new z.e(O.ea));j.O!==x.O&&e(new z.e(O.Vd));i=z.sa(j,f);d=sb(a,d);"."!==d.charAt(0)&&e(new z.e(O.B));d=sb(b,c);"."!==d.charAt(0)&&e(new z.e(O.ac));var A;try{A=z.sa(x,h)}catch(t){}if(i!==A){c=z.U(i.mode);(f=z.Sb(j,f,c))&&e(new z.e(f));(f=A?z.Sb(x,h,c):z.xc(x,h))&&e(new z.e(f));j.o.rename||e(new z.e(O.$));(z.Ia(i)|| -A&&z.Ia(A))&&e(new z.e(O.Ea));x!==j&&(f=z.Ba(j,"w"))&&e(new z.e(f));try{z.Q.willMovePath&&z.Q.willMovePath(a,b)}catch(B){console.log("FS.trackingDelegate['willMovePath']('"+a+"', '"+b+"') threw an exception: "+B.message)}z.vd(i);try{j.o.rename(i,x,h)}catch(I){e(I)}finally{z.ud(i)}try{if(z.Q.onMovePath)z.Q.onMovePath(a,b)}catch(ca){console.log("FS.trackingDelegate['onMovePath']('"+a+"', '"+b+"') threw an exception: "+ca.message)}}},Va:function(a){var b=z.G(a,{parent:k}).k,c=ob(a),d=z.sa(b,c),f=z.Sb(b, -c,k);f&&e(new z.e(f));b.o.Va||e(new z.e(O.$));z.Ia(d)&&e(new z.e(O.Ea));try{z.Q.willDeletePath&&z.Q.willDeletePath(a)}catch(h){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+h.message)}b.o.Va(b,c);z.mc(d);try{if(z.Q.onDeletePath)z.Q.onDeletePath(a)}catch(i){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+i.message)}},qb:function(a){a=z.G(a,{ca:k}).k;a.o.qb||e(new z.e(O.cb));return a.o.qb(a)},Da:function(a){var b=z.G(a,{parent:k}).k, -c=ob(a),d=z.sa(b,c),f=z.Sb(b,c,m);f&&(f===O.Oa&&(f=O.$),e(new z.e(f)));b.o.Da||e(new z.e(O.$));z.Ia(d)&&e(new z.e(O.Ea));try{z.Q.willDeletePath&&z.Q.willDeletePath(a)}catch(h){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+h.message)}b.o.Da(b,c);z.mc(d);try{if(z.Q.onDeletePath)z.Q.onDeletePath(a)}catch(i){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+i.message)}},Ta:function(a){(a=z.G(a).k)||e(new z.e(O.ea));a.o.Ta||e(new z.e(O.B)); -return a.o.Ta(a)},Ic:function(a,b){var c=z.G(a,{ca:!b}).k;c||e(new z.e(O.ea));c.o.fa||e(new z.e(O.$));return c.o.fa(c)},kf:function(a){return z.Ic(a,k)},hb:function(a,b,c){a="string"===typeof a?z.G(a,{ca:!c}).k:a;a.o.R||e(new z.e(O.$));a.o.R(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},Mi:function(a,b){z.hb(a,b,k)},Me:function(a,b){var c=z.T(a);c||e(new z.e(O.N));z.hb(c.k,b)},kc:function(a,b,c,d){a="string"===typeof a?z.G(a,{ca:!d}).k:a;a.o.R||e(new z.e(O.$));a.o.R(a,{timestamp:Date.now()})}, -Ni:function(a,b,c){z.kc(a,b,c,k)},Ne:function(a,b,c){(a=z.T(a))||e(new z.e(O.N));z.kc(a.k,b,c)},truncate:function(a,b){0>b&&e(new z.e(O.B));var c;c="string"===typeof a?z.G(a,{ca:k}).k:a;c.o.R||e(new z.e(O.$));z.U(c.mode)&&e(new z.e(O.Oa));z.isFile(c.mode)||e(new z.e(O.B));var d=z.Ba(c,"w");d&&e(new z.e(d));c.o.R(c,{size:b,timestamp:Date.now()})},Re:function(a,b){var c=z.T(a);c||e(new z.e(O.N));0===(c.D&2097155)&&e(new z.e(O.B));z.truncate(c.k,b)},Qf:function(a,b,c){a=z.G(a,{ca:k}).k;a.o.R(a,{timestamp:Math.max(b, -c)})},open:function(a,b,c,d,f){""===a&&e(new z.e(O.ea));var b="string"===typeof b?z.Cd(b):b,c=b&64?("undefined"===typeof c?438:c)&4095|32768:0,h;if("object"===typeof a)h=a;else{a=mb(a);try{h=z.G(a,{ca:!(b&131072)}).k}catch(i){}}var j=m;b&64&&(h?b&128&&e(new z.e(O.Nc)):(h=z.ha(a,c,0),j=k));h||e(new z.e(O.ea));z.Qb(h.mode)&&(b&=-513);j||(c=z.nf(h,b))&&e(new z.e(c));b&512&&z.truncate(h,0);b&=-641;d=z.bd({k:h,path:z.ra(h),D:b,seekable:k,position:0,q:h.q,Pf:[],error:m},d,f);d.q.open&&d.q.open(d);r.logReadFiles&& -!(b&1)&&(z.Ac||(z.Ac={}),a in z.Ac||(z.Ac[a]=1,r.printErr("read file: "+a)));try{z.Q.onOpenFile&&(f=0,1!==(b&2097155)&&(f|=z.Ld.Ed.Zd),0!==(b&2097155)&&(f|=z.Ld.Ed.de),z.Q.onOpenFile(a,f))}catch(x){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+x.message)}return d},close:function(a){try{a.q.close&&a.q.close(a)}catch(b){e(b)}finally{z.ve(a.I)}},ga:function(a,b,c){(!a.seekable||!a.q.ga)&&e(new z.e(O.xb));a.position=a.q.ga(a,b,c);a.Pf=[];return a.position},W:function(a, -b,c,d,f){(0>d||0>f)&&e(new z.e(O.B));1===(a.D&2097155)&&e(new z.e(O.N));z.U(a.k.mode)&&e(new z.e(O.Oa));a.q.W||e(new z.e(O.B));var h=k;"undefined"===typeof f?(f=a.position,h=m):a.seekable||e(new z.e(O.xb));b=a.q.W(a,b,c,d,f);h||(a.position+=b);return b},write:function(a,b,c,d,f,h){(0>d||0>f)&&e(new z.e(O.B));0===(a.D&2097155)&&e(new z.e(O.N));z.U(a.k.mode)&&e(new z.e(O.Oa));a.q.write||e(new z.e(O.B));a.D&1024&&z.ga(a,0,2);var i=k;"undefined"===typeof f?(f=a.position,i=m):a.seekable||e(new z.e(O.xb)); -b=a.q.write(a,b,c,d,f,h);i||(a.position+=b);try{if(a.path&&z.Q.onWriteToFile)z.Q.onWriteToFile(a.path)}catch(j){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+j.message)}return b},fb:function(a,b,c){(0>b||0>=c)&&e(new z.e(O.B));0===(a.D&2097155)&&e(new z.e(O.N));!z.isFile(a.k.mode)&&!z.U(node.mode)&&e(new z.e(O.ub));a.q.fb||e(new z.e(O.wb));a.q.fb(a,b,c)},Ra:function(a,b,c,d,f,h,i){1===(a.D&2097155)&&e(new z.e(O.tb));a.q.Ra||e(new z.e(O.ub));return a.q.Ra(a,b, -c,d,f,h,i)},kb:function(a,b,c){a.q.kb||e(new z.e(O.Ud));return a.q.kb(a,b,c)},Ef:function(a,b){b=b||{};b.D=b.D||"r";b.encoding=b.encoding||"binary";"utf8"!==b.encoding&&"binary"!==b.encoding&&e(Error('Invalid encoding type "'+b.encoding+'"'));var c,d=z.open(a,b.D),f=z.Ic(a).size,h=new Uint8Array(f);z.W(d,h,0,f,0);if("utf8"===b.encoding){c="";for(var i=new w.eb,j=0;j>2]=z.sc(a);u(0===a.I,"invalid handle for stdin ("+a.I+")");a=z.open("/dev/stdout","w");E[Ab>>2]=z.sc(a);u(1===a.I,"invalid handle for stdout ("+a.I+")");a=z.open("/dev/stderr","w");E[Bb>>2]=z.sc(a);u(2===a.I,"invalid handle for stderr ("+a.I+")")},jd:function(){z.e|| -(z.e=function(a,b){this.k=b;this.Id=function(a){this.Lb=a;for(var b in O)if(O[b]===a){this.code=b;break}};this.Id(a);this.message=jb[a]},z.e.prototype=Error(),[O.ea].forEach(function(a){z.rc[a]=new z.e(a);z.rc[a].stack=""}))},Nf:function(){z.jd();z.ia=Array(4096);z.O(Q,{},"/");z.xe();z.we()},jb:function(a,b,c){u(!z.jb.Pb,"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)"); -z.jb.Pb=k;z.jd();r.stdin=a||r.stdin;r.stdout=b||r.stdout;r.stderr=c||r.stderr;z.Fe()},Cf:function(){z.jb.Pb=m;for(var a=0;a -this.length-1||0>a)){var b=a%this.Db;return this.Ze(a/this.Db|0)[b]}};h.prototype.Kf=function(a){this.Ze=a};h.prototype.Zc=function(){var a=new XMLHttpRequest;a.open("HEAD",c,m);a.send(l);200<=a.status&&300>a.status||304===a.status||e(Error("Couldn't load "+c+". Status: "+a.status));var b=Number(a.getResponseHeader("Content-length")),d,f=1048576;if(!((d=a.getResponseHeader("Accept-Ranges"))&&"bytes"===d))f=b;var h=this;h.Kf(function(a){var d=a*f,i=(a+1)*f-1,i=Math.min(i,b-1);if("undefined"===typeof h.Eb[a]){var j= -h.Eb;d>i&&e(Error("invalid range ("+d+", "+i+") or no bytes requested!"));i>b-1&&e(Error("only "+b+" bytes available! programmer error!"));var p=new XMLHttpRequest;p.open("GET",c,m);b!==f&&p.setRequestHeader("Range","bytes="+d+"-"+i);"undefined"!=typeof Uint8Array&&(p.responseType="arraybuffer");p.overrideMimeType&&p.overrideMimeType("text/plain; charset=x-user-defined");p.send(l);200<=p.status&&300>p.status||304===p.status||e(Error("Couldn't load "+c+". Status: "+p.status));d=p.response!==g?new Uint8Array(p.response|| -[]):N(p.responseText||"",k);j[a]=d}"undefined"===typeof h.Eb[a]&&e(Error("doXHR failed!"));return h.Eb[a]});this.fe=b;this.ee=f;this.vc=k};if("undefined"!==typeof XMLHttpRequest){ea||e("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i=new h;Object.defineProperty(i,"length",{get:function(){this.vc||this.Zc();return this.fe}});Object.defineProperty(i,"chunkSize",{get:function(){this.vc||this.Zc();return this.ee}});i={uc:m,n:i}}else i= -{uc:m,url:c};var j=z.ye(a,b,i,d,f);i.n?j.n=i.n:i.url&&(j.n=l,j.url=i.url);Object.defineProperty(j,"usedBytes",{get:function(){return this.n.length}});var x={};Object.keys(j.q).forEach(function(a){var b=j.q[a];x[a]=function(){z.nd(j)||e(new z.e(O.Fa));return b.apply(l,arguments)}});x.W=function(a,b,c,d,f){z.nd(j)||e(new z.e(O.Fa));a=a.k.n;if(f>=a.length)return 0;d=Math.min(a.length-f,d);u(0<=d);if(a.slice)for(var h=0;h>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[p]}2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&15)<<2],c+="="); -t.src="data:audio/x-"+b.substr(-3)+";base64,"+c;f(t)}};t.src=j;r.noExitRuntime=k;setTimeout(function(){pa||f(t)},1E4)}else return h()}});var B=r.canvas;B&&(B.Dc=B.requestPointerLock||B.mozRequestPointerLock||B.webkitRequestPointerLock||B.msRequestPointerLock||n(),B.ld=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||n(),B.ld=B.ld.bind(document),document.addEventListener("pointerlockchange",p,m),document.addEventListener("mozpointerlockchange", -p,m),document.addEventListener("webkitpointerlockchange",p,m),document.addEventListener("mspointerlockchange",p,m),r.elementPointerLock&&B.addEventListener("click",function(a){!Cb&&B.Dc&&(B.Dc(),a.preventDefault())},m))}var I=b?rb(qb(a,b)):a;fb();"string"==typeof c?Ib(c,function(a){A(a)},i):A(c)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},Kc:function(){return"EM_FS_"+window.location.pathname},Lc:20,$a:"FILE_DATA",Vi:function(a,b, -c){var b=b||n(),c=c||n(),d=z.indexedDB();try{var f=d.open(z.Kc(),z.Lc)}catch(h){return c(h)}f.wf=function(){console.log("creating db");f.result.createObjectStore(z.$a)};f.onsuccess=function(){var d=f.result.transaction([z.$a],"readwrite"),h=d.objectStore(z.$a),x=0,p=0,A=a.length;a.forEach(function(a){a=h.put(z.ic(a).object.n,a);a.onsuccess=function(){x++;x+p==A&&(0==p?b():c())};a.onerror=function(){p++;x+p==A&&(0==p?b():c())}});d.onerror=c};f.onerror=c},Pi:function(a,b,c){var b=b||n(),c=c||n(),d= -z.indexedDB();try{var f=d.open(z.Kc(),z.Lc)}catch(h){return c(h)}f.wf=c;f.onsuccess=function(){var d=f.result;try{var h=d.transaction([z.$a],"readonly")}catch(x){c(x);return}var p=h.objectStore(z.$a),A=0,t=0,B=a.length;a.forEach(function(a){var d=p.get(a);d.onsuccess=function(){z.ic(a).oc&&z.Da(a);z.Gb(nb(a),ob(a),d.result,k,k,k);A++;A+t==B&&(0==t?b():c())};d.onerror=function(){t++;A+t==B&&(0==t?b():c())}});h.onerror=c};f.onerror=c}};r._i64Subtract=Jb;r._memset=Kb; -function Lb(a,b,c){a="string"!==typeof a?y(a):a;try{var d=c?z.kf(a):z.Ic(a);E[b>>2]=d.He;E[b+4>>2]=0;E[b+8>>2]=d.xd;E[b+12>>2]=d.mode;E[b+16>>2]=d.tf;E[b+20>>2]=d.uid;E[b+24>>2]=d.$e;E[b+28>>2]=d.pb;E[b+32>>2]=0;E[b+36>>2]=d.size;E[b+40>>2]=4096;E[b+44>>2]=d.se;E[b+48>>2]=d.ke.getTime()/1E3|0;E[b+52>>2]=0;E[b+56>>2]=d.pf.getTime()/1E3|0;E[b+60>>2]=0;E[b+64>>2]=d.Ge.getTime()/1E3|0;E[b+68>>2]=0;E[b+72>>2]=d.xd;return 0}catch(f){return f.k&&mb(a)!==mb(z.ra(f.k))&&f.Id(O.cb),z.F(f),-1}} -r._bitshift64Shl=Mb;function Nb(a){a/=1E3;if((da||ea)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>8,a.Ya&255]));return b},Ob:function(a,b,c){return a.ob[b+":"+c]},Wc:function(a,b){a.ob[b.ma+":"+b.port]=b},Hd:function(a,b){delete a.ob[b.ma+ -":"+b.port]},cf:function(a,b){function c(){r.websocket.aa("open",a.J.I);try{for(var c=b.Jb.shift();c;)b.p.send(c),c=b.Jb.shift()}catch(d){b.p.close()}}function d(c){u("string"!==typeof c&&c.byteLength!==g);var c=new Uint8Array(c),d=f;f=m;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],R.X.Hd(a,b),b.port=c,R.X.Wc(a,b)):(a.Ua.push({ma:b.ma,port:b.port,data:c}),r.websocket.aa("message",a.J.I))}var f=k;s?(b.p.on("open",c), -b.p.on("message",function(a,b){b.binary&&d((new Uint8Array(a)).buffer)}),b.p.on("close",function(){r.websocket.aa("close",a.J.I)}),b.p.on("error",function(){a.error=O.Mc;r.websocket.aa("error",[a.J.I,a.error,"ECONNREFUSED: Connection refused"])})):(b.p.onopen=c,b.p.onclose=function(){r.websocket.aa("close",a.J.I)},b.p.onmessage=function(a){d(a.data)},b.p.onerror=function(){a.error=O.Mc;r.websocket.aa("error",[a.J.I,a.error,"ECONNREFUSED: Connection refused"])})},Fd:function(a){if(1===a.type&&a.P)return a.yc.length? -65:0;var b=0,c=1===a.type?R.X.Ob(a,a.oa,a.pa):l;if(a.Ua.length||!c||c&&c.p.readyState===c.p.sb||c&&c.p.readyState===c.p.CLOSED)b|=65;if(!c||c&&c.p.readyState===c.p.OPEN)b|=4;if(c&&c.p.readyState===c.p.sb||c&&c.p.readyState===c.p.CLOSED)b|=16;return b},kb:function(a,b,c){switch(b){case 21531:return b=0,a.Ua.length&&(b=a.Ua[0].data.length),E[c>>2]=b,0;default:return O.B}},close:function(a){if(a.P){try{a.P.close()}catch(b){}a.P=l}for(var c=Object.keys(a.ob),d=0;d=mc;)mc+=1E3/60;b=Math.max(mc-b,0);setTimeout(a,b)}function ac(a){"undefined"===typeof window?nc(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||nc),window.requestAnimationFrame(a))} -function Hb(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)]} -function Ib(a,b,c){function d(){c?c():e('Loading data file "'+a+'" failed.')}var f=new XMLHttpRequest;f.open("GET",a,k);f.responseType="arraybuffer";f.onload=function(){if(200==f.status||0==f.status&&f.response){var c=f.response;u(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));gb()}else d()};f.onerror=d;f.send(l);fb()}var oc=[];function pc(){var a=r.canvas;oc.forEach(function(b){b(a.width,a.height)})} -function qc(a,b,c){b&&c?(a.Rf=b,a.df=c):(b=a.Rf,c=a.df);var d=b,f=c;r.forcedAspectRatio&&0>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);E[tc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),f=a(c),d=H(N(d),"i8",F),f=H(N(f),"i8",F);c.getTimezoneOffset()>2]=d,E[sc+4>>2]=f):(E[sc>>2]=f,E[sc+4>>2]=d)}} -function wc(a,b){vc();var c=new Date(1E3*E[a>>2]);E[b>>2]=c.getSeconds();E[b+4>>2]=c.getMinutes();E[b+8>>2]=c.getHours();E[b+12>>2]=c.getDate();E[b+16>>2]=c.getMonth();E[b+20>>2]=c.getFullYear()-1900;E[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);E[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;E[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;E[b+32>>2]=c;E[b+40>>2]=E[sc+(c?w.wa:0)>>2];return b} -r._bitshift64Lshr=xc;function yc(a,b,c){a=z.T(a);if(!a)return P(O.N),-1;try{return z.W(a,D,b,c)}catch(d){return z.F(d),-1}}var zc=H(1,"i32*",G); -function Ac(a){var b,c;Ac.gb?(c=E[zc>>2],b=E[c>>2]):(Ac.gb=k,S.USER="web_user",S.PATH="/",S.PWD="/",S.HOME="/home/web_user",S.LANG="C",S._=r.thisProgram,b=H(1024,"i8",G),c=H(256,"i8*",G),E[c>>2]=b,E[zc>>2]=c);var d=[],f=0,h;for(h in a)if("string"===typeof a[h]){var i=h+"="+a[h];d.push(i);f+=i.length}1024>2]=b,b+=i.length+1;E[c+4*d.length>>2]=0}var S={}; -function Bc(a){if(0===a)return 0;a=y(a);if(!S.hasOwnProperty(a))return 0;Bc.Ec&&Ka(Bc.Ec);Bc.Ec=H(N(S[a]),"i8",F);return Bc.Ec}r._memcpy=Cc;function Dc(a){Dc.gb||(C=C+4095&-4096,Dc.gb=k,u(w.Kb),Dc.he=w.Kb,w.Kb=function(){ma("cannot dynamically allocate, sbrk now has control")});var b=C;0!=a&&Dc.he(a);return b}r._memmove=Ec;function Fc(a,b,c){if(a in jb){if(jb[a].length>c-1)return P(O.Qc);bb(jb[a],b);return 0}return P(O.B)} -function Gc(a){Gc.buffer||(Gc.buffer=Ia(256));Fc(a,Gc.buffer,256);return Gc.buffer}function Hc(a,b,c,d,f,h){var i,j=m;Hc.Qa||(Hc.Qa={});if(-1==f){i=Ia(b);if(!i)return-1;Kb(i,0,b);j=k}else{f=z.T(f);if(!f)return-1;try{var x=z.Ra(f,K,a,b,h,c,d);i=x.Af;j=x.fc}catch(p){return z.F(p),-1}}Hc.Qa[i]={lf:i,vf:b,fc:j};return i}z.Nf();Va.unshift({Ha:function(){!r.noFSInit&&!z.jb.Pb&&z.jb()}});Wa.push({Ha:function(){z.wd=m}});Xa.push({Ha:function(){z.Cf()}});r.FS_createFolder=z.ze;r.FS_createPath=z.Ce; -r.FS_createDataFile=z.Gb;r.FS_createPreloadedFile=z.De;r.FS_createLazyFile=z.Ae;r.FS_createLink=z.Be;r.FS_createDevice=z.na;kb=w.Jd(4);E[kb>>2]=0;Va.unshift({Ha:n()});Xa.push({Ha:n()});var wb=new w.eb;s&&(require("fs"),process.platform.match(/^win/));Va.push({Ha:function(){R.root=z.O(R,{},l)}}); -r.requestFullScreen=function(a,b){function c(){ic=m;var a=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(d.$c=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen|| -n(),d.$c=d.$c.bind(document),kc&&d.Dc(),ic=k,lc&&("undefined"!=typeof SDL&&(a=Na[SDL.screen+0*w.wa>>2],E[SDL.screen+0*w.wa>>2]=a|8388608),pc())):(a.parentNode.insertBefore(d,a),a.parentNode.removeChild(a),lc&&("undefined"!=typeof SDL&&(a=Na[SDL.screen+0*w.wa>>2],E[SDL.screen+0*w.wa>>2]=a&-8388609),pc()));if(r.onFullScreen)r.onFullScreen(ic);qc(d)}kc=a;lc=b;"undefined"===typeof kc&&(kc=k);"undefined"===typeof lc&&(lc=m);var d=r.canvas;jc||(jc=k,document.addEventListener("fullscreenchange",c,m),document.addEventListener("mozfullscreenchange", -c,m),document.addEventListener("webkitfullscreenchange",c,m),document.addEventListener("MSFullscreenChange",c,m));var f=document.createElement("div");d.parentNode.insertBefore(f,d);f.appendChild(d);f.Hf=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:l);f.Hf()};r.requestAnimationFrame=function(a){ac(a)};r.setCanvasSize=function(a,b,c){qc(r.canvas,a,b);c||pc()}; -r.pauseMainLoop=function(){Yb=l;dc++};r.resumeMainLoop=function(){dc++;var a=Vb,b=Wb,c=Xb;Xb=l;bc(c,0,m,cc);Ub(a,b)};r.getUserMedia=function(){window.sd||(window.sd=navigator.getUserMedia||navigator.mozGetUserMedia);window.sd(g)};Ac(S);Pa=v=w.ec(na);Qa=Pa+Sa;Ra=C=w.ec(Qa);u(Ra>2],c+=E[b+12>>2]/1E3):c=Date.now();a=y(a);try{return z.Qf(a,c,c),0}catch(d){return z.F(d),-1}},_getuid:Qb,_send:function(a,b,c){return!R.rd(a)?(P(O.N),-1):Sb(a,b,c)},_getcwd:function(a,b){if(0==b)return P(O.B),0;var c=z.Ib();if(b>2];if(0>b)return P(O.B),-1;var d;try{d=z.open(a.path,a.D,0,b)}catch(f){return z.F(f), --1}return d.I;case 1:case 2:return 0;case 3:return a.D;case 4:return b=E[c>>2],a.D|=b,0;case 12:case 12:return b=E[c>>2],za[b+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 8:case 9:return P(O.B),-1;default:return P(O.B),-1}},___buildEnvironment:Ac,_fflush:n(),_pwrite:function(a,b,c,d){a=z.T(a);if(!a)return P(O.N),-1;try{return z.write(a,D,b,c,d)}catch(f){return z.F(f),-1}},_strerror_r:Fc,_localtime_r:wc,_tzset:vc,_open:function(a,b,c){c=E[c>>2];a=y(a);try{return z.open(a,b,c).I}catch(d){return z.F(d), --1}},_getpid:function(){return 42},_sbrk:Dc,_usleep:Nb,_emscripten_memcpy_big:function(a,b,c){K.set(K.subarray(b,b+c),a);return a},_unlink:function(a){a=y(a);try{return z.Da(a),0}catch(b){return z.F(b),-1}},_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"object"===typeof navigator?navigator.hardwareConcurrency||1:1}P(O.B);return-1}, -_fchmod:function(a,b){try{return z.Me(a,b),0}catch(c){return z.F(c),-1}},___setErrNo:P,_ftruncate:function(a,b){try{return z.Re(a,b),0}catch(c){return z.F(c),-1}},_mkdir:function(a,b){a=y(a);a=mb(a);"/"===a[a.length-1]&&(a=a.substr(0,a.length-1));try{return z.ta(a,b,0),0}catch(c){return z.F(c),-1}},_pread:function(a,b,c,d){a=z.T(a);if(!a)return P(O.N),-1;try{return z.W(a,D,b,c,d)}catch(f){return z.F(f),-1}},_mkport:Rb,_write:Sb,_fsync:function(a){if(z.T(a))return 0;P(O.N);return-1},___errno_location:function(){return kb}, -_stat:Lb,_recv:function(a,b,c){return!R.rd(a)?(P(O.N),-1):yc(a,b,c)},_geteuid:function(){return Qb.apply(l,arguments)},_getenv:Bc,_sleep:function(a){return Nb(1E6*a)},_emscripten_set_main_loop:bc,_abort:function(){r.abort()},_time:function(a){var b=Date.now()/1E3|0;a&&(E[a>>2]=b);return b},_fchown:function(a,b,c){try{return z.Ne(a,b,c),0}catch(d){return z.F(d),-1}},_strerror:Gc,_gettimeofday:function(a){var b=Date.now();E[a>>2]=b/1E3|0;E[a+4>>2]=1E3*(b%1E3)|0;return 0},_munmap:function(a,b){Hc.Qa|| -(Hc.Qa={});var c=Hc.Qa[a];if(!c)return 0;b==c.vf&&(Hc.Qa[a]=l,c.fc&&Ka(c.lf));return 0},_mmap:Hc,_localtime:function(a){return wc(a,rc)},_close:function(a){a=z.T(a);if(!a)return P(O.N),-1;try{return z.close(a),0}catch(b){return z.F(b),-1}},_read:yc,_truncate:function(a,b){"string"!==typeof a&&(a=y(a));try{return z.truncate(a,b),0}catch(c){return z.F(c),-1}},STACKTOP:v,STACK_MAX:Qa,tempDoublePtr:ib,ABORT:pa,cttz_i8:Jc,ctlz_i8:Ic,NaN:NaN,Infinity:Infinity};// EMSCRIPTEN_START_ASM - -var T=(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=env.cttz_i8|0;var n=env.ctlz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=+env.NaN,t=+env.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.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=0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=env.abort;var ba=env.assert;var ca=env.min;var da=env.invoke_iiii;var ea=env.invoke_i;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiii;var ma=env.invoke_viiiiii;var na=env.invoke_iii;var oa=env.invoke_iiiiii;var pa=env.invoke_viiii;var qa=env._utimes;var ra=env._getuid;var sa=env._send;var ta=env._getcwd;var ua=env._mknod;var va=env._lseek;var wa=env._emscripten_set_main_loop_timing;var xa=env._access;var ya=env._fstat;var za=env._chmod;var Aa=env._rmdir;var Ba=env._chown;var Ca=env._fcntl;var Da=env.___buildEnvironment;var Ea=env._fflush;var Fa=env._pwrite;var Ga=env._strerror_r;var Ha=env._localtime_r;var Ia=env._tzset;var Ja=env._open;var Ka=env._getpid;var La=env._sbrk;var Ma=env._usleep;var Na=env._emscripten_memcpy_big;var Oa=env._unlink;var Pa=env._sysconf;var Qa=env._fchmod;var Ra=env.___setErrNo;var Sa=env._ftruncate;var Ta=env._mkdir;var Ua=env._pread;var Va=env._mkport;var Wa=env._write;var Xa=env._fsync;var Ya=env.___errno_location;var Za=env._stat;var _a=env._recv;var $a=env._geteuid;var ab=env._getenv;var bb=env._sleep;var cb=env._emscripten_set_main_loop;var db=env._abort;var eb=env._time;var fb=env._fchown;var gb=env._strerror;var hb=env._gettimeofday;var ib=env._munmap;var jb=env._mmap;var kb=env._localtime;var lb=env._close;var mb=env._read;var nb=env._truncate;var ob=0.0; +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,6,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,69,0,0,0,0,2,0,92,69,0,0,0,0,4,0,0,0,0,0,0,0,0,0,68,69,0,0,1,0,0,0,71,69,0,0,2,0,0,0,74,69,0,0,6,0,0,0,78,69,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,7,0,0,0,1,0,0,0,7,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0, +2,0,0,0,2,0,0,0,3,0,0,0,9,0,0,0,4,0,0,0,12,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,101,0,0,1,0,0,0,178,88,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,101,87,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,91,87,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,71,87,0,0,0,0,0,0,0,0,0,0,164,87,0,0,177,87,0,0,190,87,0,0,0,0,0,0,203,87,0,0,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,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,163,90,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,32,91,0,0,0,0,0,0,0,0,0,0,17,98,0,0,0,0,0,0,0,0,0,0,68,94,0,0,1,1,0,0,0,0,0,0,32,98,0,0,2,0,0,0,0,0,16,0,48,98,0,0,3,0,0,0,0,0,0,0,191,93,0,0,4,1,0,0,0,0,0,0,61,98,0,0,2,0,0,0,16,0,0,0,73,98,0,0,5,0,0,0,0,0,0,0,93,98,0,0,2,0,0,0,8,0,0,0,114,98,0,0,6,0,0,0,0,0,0,0,129,98,0,0,7,0,0,0,0,0,0,0,145,98,0,0,2,0,0,0,128,0,0,0,159,98,0,0,9,1,0,0,0,0,0,0,173,98,0,0,10,1, +0,0,0,0,0,0,192,98,0,0,2,0,0,0,0,0,0,1,211,98,0,0,2,0,0,0,0,1,0,0,12,96,0,0,11,0,0,0,0,0,0,0,234,98,0,0,12,1,0,0,0,0,0,0,252,98,0,0,13,1,0,0,0,0,0,0,13,99,0,0,2,0,0,0,0,0,8,0,26,99,0,0,0,0,0,0,0,0,0,0,41,99,0,0,2,0,0,0,32,0,0,0,59,99,0,0,2,0,0,0,4,0,0,0,69,99,0,0,2,0,0,0,0,32,0,0,94,99,0,0,14,1,0,0,0,0,0,0,113,99,0,0,15,1,0,0,0,0,0,0,124,99,0,0,16,1,0,0,0,0,0,0,111,95,0,0,17,1,0,0,0,0,0,0,36,94,0,0,18,1,0,0,0,0,0,0,49,94,0,0,19,0,0,0,0,0,0,0,135,99,0,0,2,0,0,0,0,128,0,0,23,94,0,0,21,0,0,0,0,0,0,0, +154,99,0,0,22,1,0,0,0,0,0,0,104,94,0,0,23,0,0,0,0,0,0,0,169,99,0,0,22,1,0,0,0,0,0,0,238,93,0,0,24,0,0,0,0,0,0,0,180,99,0,0,2,0,0,0,0,0,0,2,191,99,0,0,17,1,0,0,0,0,0,0,203,99,0,0,2,0,0,0,0,64,0,0,220,99,0,0,2,0,0,0,0,0,4,0,239,99,0,0,2,0,0,0,0,0,2,0,9,100,0,0,0,0,0,0,0,0,0,0,248,93,0,0,25,0,0,0,0,0,0,0,24,100,0,0,2,0,0,0,64,0,0,0,43,100,0,0,26,0,0,0,0,0,0,0,147,96,0,0,27,0,0,0,0,0,0,0,57,100,0,0,28,1,0,0,0,0,0,0,171,94,0,0,29,1,0,0,0,0,0,0,63,100,0,0,30,1,0,0,0,0,0,0,114,94,0,0,31,0,0,0,0,0,0,0,125, +94,0,0,32,0,0,0,0,0,0,0,163,96,0,0,33,0,0,0,0,0,0,0,74,100,0,0,0,0,0,0,0,0,0,0,120,96,0,0,34,0,0,0,0,0,0,0,87,100,0,0,35,1,0,0,0,0,0,0,102,100,0,0,2,0,0,0,0,8,1,0,171,96,0,0,1,0,0,0,176,96,0,0,1,0,0,0,182,96,0,0,2,0,0,0,191,96,0,0,3,0,0,0,200,96,0,0,2,0,0,0,208,96,0,0,3,0,0,0,216,96,0,0,0,0,0,0,223,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,97,0,0,248,97,0,0,0,98,0,0,4,98,0,0,78,69,0,0,13,98,0,0,210,83,0,0,3,0,0,0,206,83,0,0,3,0,0,0,89,56,0,0,127,113,0,0,133,113,0,0,138,113,0,0,143,113,0,0,249,113,0,0,255, +113,0,0,7,114,0,0,178,120,0,0,183,120,0,0,190,120,0,0,193,120,0,0,196,120,0,0,199,120,0,0,202,120,0,0,205,120,0,0,213,120,0,0,222,120,0,0,60,95,0,0,228,120,0,0,220,132,0,0,229,132,0,0,236,132,0,0,242,132,0,0,150,89,0,0,78,133,0,0,87,133,0,0,97,133,0,0,108,133,0,0,120,133,0,0,131,133,0,0,142,133,0,0,153,133,0,0,158,133,0,0,163,133,0,0,171,133,0,0,182,133,0,0,194,133,0,0,201,133,0,0,209,133,0,0,217,133,0,0,222,133,0,0,228,133,0,0,235,133,0,0,239,133,0,0,253,133,0,0,10,134,0,0,16,134,0,0,27,134,0,0, +32,134,0,0,40,134,0,0,46,134,0,0,53,134,0,0,58,134,0,0,67,134,0,0,72,134,0,0,81,134,0,0,86,134,0,0,91,134,0,0,97,134,0,0,107,134,0,0,115,134,0,0,122,134,0,0,132,134,0,0,145,134,0,0,150,134,0,0,162,134,0,0,170,134,0,0,175,134,0,0,180,134,0,0,183,134,0,0,189,134,0,0,196,134,0,0,205,134,0,0,216,134,0,0,222,134,0,0,233,134,0,0,243,134,0,0,253,134,0,0,6,135,0,0,16,135,0,0,30,135,0,0,44,135,0,0,55,135,0,0,68,135,0,0,79,135,0,0,85,135,0,0,92,135,0,0,99,135,0,0,106,135,0,0,113,135,0,0,118,135,0,0,129,135, +0,0,138,135,0,0,144,135,0,0,154,135,0,0,157,135,0,0,161,135,0,0,170,135,0,0,179,135,0,0,186,135,0,0,193,135,0,0,201,135,0,0,204,135,0,0,207,135,0,0,210,135,0,0,213,135,0,0,216,135,0,0,219,135,0,0,229,135,0,0,236,135,0,0,242,135,0,0,252,135,0,0,7,136,0,0,11,136,0,0,20,136,0,0,29,136,0,0,36,136,0,0,46,136,0,0,53,136,0,0,60,136,0,0,67,136,0,0,75,136,0,0,86,136,0,0,100,136,0,0,111,136,0,0,118,136,0,0,126,136,0,0,132,136,0,0,140,136,0,0,145,136,0,0,156,136,0,0,161,136,0,0,168,136,0,0,181,136,0,0,191,136, +0,0,201,136,0,0,210,136,0,0,216,136,0,0,222,136,0,0,228,136,0,0,234,136,0,0,242,136,0,0,248,136,0,0,4,137,0,0,16,137,0,0,28,137,0,0,40,137,0,0,53,137,0,0,63,137,0,0,73,137,0,0,85,137,0,0,97,137,0,0,107,137,0,0,118,137,0,0,129,137,0,0,137,137,0,0,143,137,0,0,148,137,0,0,158,137,0,0,167,137,0,0,174,137,0,0,180,137,0,0,186,137,0,0,193,137,0,0,202,137,0,0,213,137,0,0,220,137,0,0,230,137,0,0,237,137,0,0,245,137,0,0,254,137,0,0,4,138,0,0,12,138,0,0,18,138,0,0,26,138,0,0,36,138,0,0,45,138,0,0,50,138,0,0, +55,138,0,0,139,138,0,0,152,138,0,0,0,0,0,0,188,138,0,0,213,138,0,0,244,138,0,0,7,139,0,0,184,91,0,0,32,139,0,0,69,139,0,0,81,139,0,0,96,139,0,0,129,139,0,0,147,139,0,0,172,139,0,0,201,139,0,0,218,139,0,0,224,122,0,0,59,56,0,0,241,139,0,0,3,140,0,0,21,140,0,0,60,140,0,0,91,140,0,0,112,140,0,0,144,140,0,0,178,140,0,0,13,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,13,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0, +0,0,85,141,0,0,11,0,0,0,0,0,0,0,48,141,0,0,16,0,0,0,0,0,0,0,1,69,0,0,22,0,0,0,0,0,0,0,90,141,0,0,23,0,0,0,0,0,0,0,97,141,0,0,24,0,0,0,0,0,0,0,102,141,0,0,25,0,0,0,0,0,0,0,108,141,0,0,26,0,0,0,0,0,0,0,118,141,0,0,12,0,0,0,0,0,0,0,124,141,0,0,13,0,0,0,0,0,0,0,129,141,0,0,0,0,0,0,0,0,0,0,135,141,0,0,0,0,0,0,0,0,0,0,143,141,0,0,14,0,0,0,0,0,0,0,149,141,0,0,0,0,0,0,0,0,0,0,156,141,0,0,0,0,0,0,0,0,0,0,165,141,0,0,27,0,0,0,0,0,0,0,172,141,0,0,0,0,0,0,0,0,0,0,182,141,0,0,17,0,0,0,0,0,0,0,189,141,0,0,28,0, +0,0,0,0,0,0,203,141,0,0,29,0,0,0,0,0,0,0,209,141,0,0,18,0,0,0,0,0,0,0,215,141,0,0,15,0,0,0,0,0,0,0,222,141,0,0,3,0,0,0,0,0,0,0,227,141,0,0,30,0,0,0,0,0,0,0,234,141,0,0,0,0,0,0,0,0,0,0,241,141,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,142,0,0,154,142,0,0,163,142,0,0,0,0,0,0,3,0,0,0,19,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,3,0,0,0,20,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17, +0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,8,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,142,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,142,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,148,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,148,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,154,145,0,0,0,0,0,0,0,0,0,0,2,0, +1,8,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,154,145,0,0,0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,7,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,0,0,0,0,9,0,0, +0,7,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,159,145,0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,166,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,173,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,179,145,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,179,145,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,186,145,0,0,0,0,0,0,0,0, +0,0,1,0,1,8,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,193,145,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,201,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,206,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,210,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,210,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,216,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,20,0,0, +0,0,0,0,0,0,0,0,0,222,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,255,255,1,10,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,237,145,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,241,145,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,248,145,0,0,0,0, +0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,1,146,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,12,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,19,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,26,146,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,37,146,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,44,146,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,26,0,0, +0,0,0,0,0,0,0,0,0,59,146,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,76,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,87,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,113,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,138,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,144,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,162,146,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,170,146,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,184,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,192,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,8,0,0,0,201,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,9,0,0,0,205,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,10,0,0,0,211,146,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,37, +0,0,0,11,0,0,0,215,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,11,0,0,0,215,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,12,0,0,0,221,146,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,12,0,0,0,221,146,0,0,0,0,0,0,0,0,0,0,2,0,13,8,85,56,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,242,96,0,0,0,0,0,0,0,0,0,0,2,0,5,8,233,96,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,237,96,0,0,0,0,0,0,0,0,0,0,3,0,5,8,233,96,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,237,96,0,0,0,0, +0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,45,144,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,65,144,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,87,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,130,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,140,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,145,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0, +0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,150,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,159,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,168,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,181,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,199,144,0,0,0,0,0,0,0,0,0,0,119,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,30,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0, +0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,17,0,0,0,13,155,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,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,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0, +204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,238,0,186,3,213,0,33,1,54,1,234,0,144,0,61,1,147,255,126,1,121,1,47,1,205,1,133,1,122,1,112,1,46,1,38,1, +253,0,139,1,37,1,68,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,254,3,244,3,237,3,230,3,195,3,193,3,191,3,189,3,182,3,179,3,162,3,144,3,105,3,93,3,55,3,42,3,3,3,247,2,208,2,196,2,158,2,145,2,107,2,102,2,100,2,98,2,96,2,94,2,92,2,86,2,83,2,81,2,68,2,30,2,28,2,25,2,23,2,21,2,19,2,17,2,15,2,247,1,130,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,95,0,191,1,82, +0,78,1,248,1,211,1,147,1,221,1,208,1,147,1,147,1,147,1,147,1,92,3,235,2,232,2,17,3,126,2,126,2,158,3,123,3,132,3,131,3,119,3,76,3,72,3,67,3,80,3,62,3,75,3,61,3,24,3,71,3,58,3,225,2,70,3,27,3,21,3,47,0,222,2,18,2,184,2,9,3,199,2,165,2,221,2,218,2,217,2,216,2,215,2,115,2,192,1,64,0,187,0,25,5,22,5,228,4,10,5,249,4,43,5,42,5,41,5,39,5,38,5,36,5,35,5,34,5,33,5,32,5,31,5,30,5,28,5,27,5,24,5,23,5,21,5,18,5,14,5,12,5,9,5,242,4,240,4,235,4,8,5,7,5,214,4,5,5,1,5,0,5,255,4,254,4,227,4,253,4,252,4,251,4,249, +4,244,4,243,4,241,4,239,4,237,4,233,4,224,4,213,4,223,4,222,4,219,4,214,4,216,4,211,4,225,4,210,4,209,4,206,4,196,4,190,4,186,4,201,4,195,4,208,4,207,4,173,4,171,4,203,4,200,4,177,4,184,4,218,4,113,4,212,4,205,4,169,4,157,4,197,4,153,4,172,4,155,4,167,4,166,4,162,4,158,4,194,4,192,4,152,4,138,4,159,4,156,4,136,4,175,4,179,4,109,4,71,4,174,4,170,4,164,4,168,4,147,4,145,4,144,4,149,4,150,4,142,4,135,4,117,4,146,4,134,4,143,4,133,4,108,4,121,4,119,4,100,4,104,4,79,4,78,4,76,4,72,4,126,4,125,4,61,4,101, +4,56,4,40,4,96,4,73,4,58,4,54,4,49,4,43,4,85,4,83,4,95,4,93,4,92,4,89,4,87,4,84,4,239,3,232,3,234,3,52,4,51,4,57,4,50,1,212,0,176,1,187,3,127,2,191,0,187,3,39,1,47,2,88,0,88,0,88,0,88,0,81,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,185,0,184,0,183,0,123,2,123,2,36,1,94,2,94,2,88,0,88,0,88,0,88,0,171,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,16,0,180,1,85,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,172,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84, +0,83,0,74,1,50,1,47,2,84,0,84,0,84,0,83,0,74,1,65,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,123,2,123,2,122,2,121,2,182,0,170,2,38,2,123,1,120,1,119,1,17,0,66,1,94,2,94,2,115,1,198,0,223,1,91,0,118,1,82,0,79,0,165,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,86,2,123,2,123,2,107,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,186,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,82,2,82,2,142,0,72,1,71,1,228,1,249,0,88,1,238,0,123,2,123,2,122,2,121,2,73,2,192, +1,14,2,13,2,229,0,132,1,1,0,138,1,194,1,72,2,193,1,123,2,123,2,123,2,123,2,63,1,139,1,94,2,94,2,199,0,157,0,17,1,126,1,12,1,125,1,187,0,123,2,123,2,122,2,121,2,55,1,43,2,10,1,81,2,81,2,10,1,91,1,76,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,222,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,16,1,24,2,122,2,121,2,146,0,98,2,197,0,54,1,63,2,182,0,226,1,15,1,123,1,120,1,119,1,250,1,21,0,122,2,121,2,122,2,121,2,123,2,123,2,118,1,99,2,62,2,36,2,184,1,111,0,51,2,94, +2,94,2,122,2,121,2,68,1,223,1,96,2,96,2,96,2,44,1,179,1,61,2,119,0,151,1,210,0,162,0,50,2,115,3,80,2,80,2,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,250,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,108,2,111,0,123,2,123,2,105,1,94,2,94,2,102,1,249,0,93,1,248,0,177,1,243,0,223,1,74,2,122,2,121,2,195,0,99,2,93,0,119,0,221,0,63,2,241,1,22,2,22,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,62,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83, +0,74,1,50,1,77,0,173,1,126,2,61,2,77,2,18,2,240,0,230,0,242,0,105,0,249,0,93,1,248,0,3,2,76,2,208,0,204,1,17,2,52,2,173,0,122,2,121,2,202,3,144,0,174,1,2,0,168,1,228,0,124,1,45,2,94,2,94,2,190,0,153,0,159,0,158,0,2,2,51,0,120,2,119,2,118,2,71,0,24,2,176,1,186,3,196,0,98,2,186,3,102,2,45,0,18,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,5,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,96,2,96,2,96,2,30,2,168,1,146,1,129,1,241,0,250,1,195,1,64,1,211,0,31,2,164,0, +180,1,130,1,37,1,195,1,75,2,108,0,240,1,111,0,78,1,135,1,79,2,168,1,102,2,27,0,196,1,197,1,94,2,94,2,72,0,1,1,70,0,3,1,196,1,83,1,86,1,52,2,70,2,68,0,159,1,213,1,72,1,71,1,62,0,102,2,45,0,110,0,137,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,152,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,110,0,243,1,8,2,26,2,146,1,133,1,168,1,110,0,54,2,244,1,81,2,81,2,198,1,82,0,79,0,165,0,168,1,79,2,128,1,52,2,84,1,103,2,188,0,162,0,168,1,94,1,104,2,168,1,102,2,44,0,94, +2,94,2,189,1,70,2,44,1,178,1,151,0,19,0,102,2,9,0,56,2,68,2,92,1,103,2,213,1,55,2,102,2,26,0,104,2,102,2,45,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,155,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,67,2,110,0,66,2,9,2,26,1,177,1,142,1,144,1,255,0,230,1,82,0,79,0,165,0,231,1,164,0,82,0,79,0,165,0,232,1,232,1,108,1,131,1,168,1,32,2,32,2,253,1,94,1,106,1,155,0,191,0,94,2,94,2,47,2,130,2,128,2,77,1,82,0,79,0,165,0,49,1,52,2,251,1,56,1,101,1,102,2,45,0,73,1,84, +2,83,2,194,0,81,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,20,0,67,1,150,0,7,1,211,0,31,2,165,1,84,2,83,2,102,2,22,0,168,1,193,0,168,1,28,1,168,1,135,1,168,1,253,1,168,1,65,2,168,1,186,0,79,1,168,1,47,2,168,1,57,1,120,0,34,2,94,2,94,2,67,0,102,2,47,0,102,2,50,0,102,2,48,0,102,2,100,0,102,2,99,0,102,2,101,0,64,2,102,2,102,0,102,2,109,0,70,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168, +1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,168,1,55,1,168,1,73,2,54,0,168,1,4,2,5,2,78,2,102,2,112,0,168,1,72,2,168,1,60,2,168,1,195,0,168,1,59,2,168,1,67,0,168,1,102,2,94,0,102,2,98,0,168,1,102,2,97,0,8,1,94,2,94,2,195,0,102,2,46,0,102,2,96,0,102,2,30,0,102,2,49,0,102,2,115,0,102,2,114,0,162,1,229],"i8",4,n.la); +x([132,1,102,2,113,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,119,0,168,1,78,2,110,0,116,1,94,2,94,2,195,0,53,0,250,0,102,2,29,0,195,0,216,1,182,1,217,2,190,0,46,1,242,1,14,0,11,2,129,2,2,0,102,2,43,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,101,2,196,3,196,3,98,1,94,2,94,2,164,1,56,1,64,0,102,2,42,0,135,1,99,1,27, +1,181,1,45,1,255,0,158,1,154,1,239,1,236,1,102,2,28,0,215,1,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,110,0,110,0,110,0,110,0,94,2,94,2,110,0,254,0,13,0,102,2,41,0,20,2,19,2,27,1,225,1,19,2,201,1,28,1,119,0,49,2,100,1,102,2,40,0,28,1,50,1,89,0,78,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,110,0,168,1,85,1,220,0,43,2,94,2,94,2,95, +1,43,2,62,1,102,2,95,0,157,1,255,0,83,0,74,1,28,1,28,1,255,0,128,2,77,1,100,1,255,0,102,2,39,0,50,1,100,1,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,61,1,60,1,141,0,209,1,94,2,94,2,219,0,107,2,207,1,102,2,10,0,161,1,206,1,255,0,189,0,254,1,41,2,95,1,207,0,107,1,161,0,102,2,38,0,59,1,218,0,255,0,255,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1, +76,0,163,1,255,0,3,0,110,3,205,1,168,1,247,0,75,1,75,1,102,2,37,0,217,0,76,0,163,1,134,1,3,0,216,0,215,0,166,1,4,0,75,1,75,1,168,1,35,2,12,0,168,1,33,2,102,2,36,0,168,1,29,2,166,1,168,1,28,2,168,1,214,0,168,1,152,1,168,1,27,2,147,1,93,2,93,2,237,0,102,2,25,0,119,0,102,2,24,0,76,2,152,1,102,2,45,0,118,0,102,2,35,0,102,2,34,0,102,2,33,0,102,2,23,0,76,2,60,0,223,0,91,2,90,2,1,2,122,1,73,0,74,0,140,0,139,0,168,1,110,0,9,1,75,0,170,1,169,1,59,0,168,1,98,2,73,0,74,0,37,2,146,1,148,1,168,1,117,1,75,0,170, +1,169,1,92,2,138,0,98,2,102,2,11,0,136,1,76,0,163,1,181,0,3,0,102,2,32,0,15,1,113,1,75,1,75,1,237,1,102,2,31,0,149,0,96,2,96,2,96,2,95,2,15,0,166,1,109,1,102,2,8,0,137,0,233,1,136,0,190,0,96,2,96,2,96,2,95,2,15,0,229,1,176,0,135,0,7,0,252,0,221,1,152,1,174,0,133,0,175,0,218,1,57,0,56,0,132,0,130,0,119,0,76,0,163,1,76,2,3,0,212,1,245,0,208,1,171,0,75,1,75,1,125,0,123,0,200,1,191,1,122,0,190,1,104,0,80,1,231,0,166,1,166,0,154,0,73,0,74,0,76,1,116,0,175,1,121,0,53,1,75,0,170,1,169,1,222,0,106,0,98,2, +52,1,125,2,204,0,152,1,117,2,115,2,116,2,6,0,200,0,172,1,171,1,34,1,203,0,110,2,201,0,76,2,62,0,63,0,33,1,66,0,163,1,143,1,3,0,145,1,32,1,92,0,143,0,75,1,75,1,31,1,96,2,96,2,96,2,95,2,15,0,73,0,74,0,227,0,166,1,69,1,69,0,160,1,75,0,170,1,169,1,100,2,156,1,98,2,192,0,61,0,57,2,209,0,140,1,226,0,22,1,225,0,127,1,152,1,15,2,46,2,20,1,21,2,40,2,16,2,65,1,11,2,114,1,252,1,180,0,76,2,238,1,179,0,110,1,117,0,253,0,13,1,10,2,247,1,96,2,96,2,96,2,95,2,15,0,39,2,246,1,58,0,18,1,12,2,178,0,73,0,74,0,48,1,245, +1,112,1,47,1,206,0,75,0,170,1,169,1,235,1,104,1,98,2,213,0,177,0,227,1,131,0,89,1,42,1,41,1,40,1,202,0,38,1,224,1,234,1,210,1,134,0,172,0,129,0,188,1,90,1,214,1,128,0,58,1,203,1,103,0,127,0,126,0,148,0,124,0,167,0,187,1,235,0,96,2,96,2,96,2,95,2,15,0,186,1,183,1,111,2,234,0,43,1,145,0,71,2,35,1,121,1,69,2,160,0,119,0,156,0,14,1,124,2,203,3,169,0,23,1,114,2,8,2,113,2,217,1,112,2,170,0,109,2,106,2,119,0,168,0,55,0,153,1,167,1,25,2,97,2,30,1,29,1,149,1,58,2,48,2,44,2,5,0,52,0,202,1,42,2,147,0,11,1,7, +2,248,1,6,2,150,1,6,1,239,0,4,1,0,2,87,1,255,1,2,1,97,1,53,2,0,1,224,0,251,0,103,1,21,1,19,1,220,1,219,1,246,0,96,1,244,0,211,1,199,1,236,0,233,0,232,0,51,1,185,1,25,1,205,0,163,0,141,1,24,1,23,2,249,1,74,1,105,2,203,3,203,3,203,3,203,3,111,1,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,82,1,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,16,16,2,16,224,3,33,4,75,5,132,4,180,4,180,4,1,0,6,1,237,255,135,0,135,0,8,3,180,4,180,4,180,4,180,4,69,0,69,0,53,0,208,0,27,1,243, +2,58,0,213,2,136,2,59,2,238,1,161,1,84,1,7,1,212,0,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,46,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,0,0,29,0,244,255,27,1,27,1,139,0,91,0,136, +1,136,1,126,3,160,2,214,2,103,5,170,255,170,255,170,255,88,0,62,1,62,1,99,0,125,1,236,255,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,112,2,108,3,214,2,160,2,60,5,60,5,60,5,60,5,60,5,60,5,170,255,170,255,170,255,49,1,136,0,136,0,142,0,167,0,226,0,154,0,137,0,152,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,80,1,80,1,80,1,27,1,27,1,96,1,27,1,27,1,27,1,27,1,27,1,228,0,27,1,27,1,27,1,27,1,27,1, +27,1,27,1,27,1,27,1,27,1,245,1,57,2,84,2,84,2,84,2,251,1,241,1,185,1,135,1,97,1,156,0,156,0,89,3,97,1,89,3,223,2,45,3,127,2,203,2,156,0,76,1,203,2,203,2,240,1,163,1,134,2,77,5,160,4,160,4,55,5,55,5,160,4,61,5,236,4,120,4,66,5,66,5,66,5,66,5,160,4,26,5,120,4,61,5,236,4,236,4,120,4,160,4,26,5,182,4,4,5,160,4,160,4,26,5,160,4,26,5,160,4,26,5,238,4,183,4,183,4,183,4,250,4,238,4,183,4,193,4,183,4,250,4,183,4,183,4,161,4,176,4,161,4,176,4,161,4,176,4,160,4,160,4,137,4,238,4,178,4,178,4,238,4,130,4,131, +4,123,4,128,4,120,4,217,4,215,4,226,4,226,4,230,4,230,4,230,4,230,4,170,255,170,255,170,255,170,255,170,255,170,255,44,4,48,1,14,2,249,0,152,1,173,255,178,1,44,3,27,0,43,3,39,3,34,3,239,2,77,2,139,2,163,0,131,0,162,2,110,1,194,1,43,1,148,0,23,0,102,0,229,0,235,255,221,4,220,4,198,4,75,4,204,4,148,4,199,4,191,4,189,4,91,4,82,4,99,4,86,4,185,4,81,4,188,4,202,4,74,4,65,4,116,4,115,4,80,4,165,4,154,4,70,4,187,4,181,4,163,4,77,4,47,4,129,4,151,4,122,4,114,4,127,4,67,4,140,4,141,4,139,4,45,4,48,4,124,4, +88,4,110,4,103,4,105,4,102,4,68,4,90,4,94,4,64,4,66,4,69,4,63,4,60,4,219,3,55,4,53,4,50,4,41,4,156,3,253,3,246,3,236,3,238,3,51,3,227,2,128,3,87,3,36,3,227,2,228,2,224,2,178,2,142,2,153,2,106,2,70,2,56,2,16,2,42,2,123,1,20,2,223,1,199,1,123,1,176,1,115,1,85,1,28,0,82,1,116,0,245,255,199,255,171,255,7,0,248,255,3,0,135,2,196,3,196,3,196,3,110,3,110,3,201,3,196,3,6,3,34,3,34,3,170,3,201,3,201,3,201,3,108,3,201,3,201,3,201,3,196,3,201,3,10,3,40,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,169,3, +171,3,48,3,47,3,150,3,21,3,45,3,38,3,42,3,111,3,104,3,105,3,103,3,107,3,112,3,201,3,41,3,73,3,88,3,72,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,82,3,87,3,94,3,86,3,83,3,75,3,74,3,76,3,77,3,201,3,201,3,161,2,227,2,201,3,201,3,78,3,201,3,173,2,79,3,91,3,90,3,89,3,168,2,201,3,201,3,201, +3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,135,2,196,3,201,3,201,3,196,3,196,3,196,3,196,3,196,3,196,3,188,3,10,3,0,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,176,3,174,3,201,3,123,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201, +3,141,2,201,3,143,3,6,3,6,3,6,3,8,3,242,2,254,2,143,2,44,3,23,3,23,3,155,3,44,3,155,3,198,2,221,2,195,2,34,3,23,3,106,3,34,3,34,3,7,3,254,2,201,3,181,3,14,3,14,3,173,3,173,3,14,3,53,3,231,2,44,3,238,2,238,2,238,2,238,2,14,3,158,2,44,3,53,3,231,2,231,2,44,3,14,3,158,2,149,3,147,3,14,3,14,3,158,2,14,3,158,2,14,3,158,2,116,3,229,2,229,2,229,2,213,2,116,3,229,2,198,2,229,2,213,2,229,2,229,2,27,3,22,3,27,3,22,3,27,3,22,3,14,3,14,3,201,3,116,3,120,3,120,3,116,3,39,3,28,3,37,3,35,3,44,3,164,2,216,2,151, +2,151,2,140,2,140,2,140,2,140,2,193,3,193,3,188,3,200,2,200,2,183,2,201,3,201,3,201,3,201,3,201,3,201,3,175,2,201,3,125,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,60,3,201,3,136,2,183,3,201,3,201,3,180,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,153,3,201,3,201,3,201,3,201,3,201,3,201,3,146,3,145,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201, +3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,245,2,201,3,201,3,201,3,249,2,201,3,201,3,201,3,201,3,201,3,201,3,36,3,201,3,29,3,201,3,109,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,198,3,201,3,201,3,201,3,197,3,201,3,201,3,201,3,201,3,201,3,62,3,201,3,61,3,65,3,201,3,149,2,201,3,132,2,137,2,192,3,195,3,194,3,191,3,190,3,189,3,184,3,182,3,179,3,178,3,177,3,175,3,172,3,168,3,129,3,127,3,134,3,133,3,132,3,131,3,130,3,128,3,126,3,124,3,50,3,49,3,46,3,43,3,241,2,167,3,122,3,240, +2,237,2,236,2,157,2,185,3,152,3,161,3,160,3,159,3,54,3,158,3,157,3,156,3,154,3,151,3,138,3,52,3,51,3,232,2,114,3,113,3,160,2,142,3,141,3,140,3,144,3,148,3,139,3,16,3,239,2,159,2,156,2,163,2,167,2,219,2,220,2,228,2,226,2,225,2,224,2,223,2,222,2,218,2,169,2,174,2,212,2,197,2,196,2,205,2,204,2,210,2,209,2,208,2,207,2,206,2,203,2,202,2,201,2,194,2,193,2,199,2,192,2,215,2,214,2,211,2,191,2,235,2,234,2,233,2,230,2,190,2,189,2,188,2,65,3,187,2,186,2,70,3,69,3,98,3,58,3,243,2,247,2,246,2,250,2,251,2,3,3, +2,3,1,3,12,3,13,3,25,3,24,3,56,3,55,3,26,3,11,3,5,3,4,3,20,3,19,3,18,3,17,3,9,3,255,2,31,3,30,3,100,3,15,3,99,3,97,3,166,3,165,3,164,3,163,3,162,3,102,3,199,3,200,3,119,3,121,3,118,3,33,3,32,3,117,3,101,3,71,3,68,3,178,2,179,2,137,3,136,3,135,3,181,2,180,2,177,2,176,2,95,3,92,3,84,3,96,3,93,3,85,3,81,3,80,3,66,3,64,3,63,3,59,3,67,3,248,2,244,2,57,3,253,2,252,2,185,2,184,2,182,2,166,2,165,2,162,2,155,2,153,2,152,2,154,2,150,2,148,2,147,2,146,2,145,2,144,2,172,2,171,2,170,2,142,2,139,2,138,2,134,2, +133,2,131,2,51,46,56,46,55,46,52,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132, +133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,37,115,0,42,63,91,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64, +64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,52,45,49,50,45,48,57,32,48,49,58,51,52,58,51,54,32,102,54,54,102,55,97,49,55, +98,55,56,98,97,54,49,55,97,99,100,101,57,48,102,99,56,49,48,49,48,55,102,51,52,102,49,97,49,102,50,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,4,0,1,2,4,9,12,16,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,102,117,108,108,0,1,0,0,0,1,1,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0, +44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69, +83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85, +78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86, +73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71, +72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98, +12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97, +99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,66,73,78,65,82,89,0,82,84,82,73,77,0,78,79,67,65,83,69,0,109,97,105,110,0,114,116,114,101,101,110,111,100,101,0,114,116,114,101,101,100,101,112,116,104,0,114,116,114,101,101,0,114,116,114,101,101,95,105,51,50,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,110,111,100,101,39,32,32,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,110,111,100,101,34,59,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,112,97,114,101,110, +116,39,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,112,97,114,101,110,116,34,59,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,114,111,119,105,100,39,32,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,114,111,119,105,100,34,59,0,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,59,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,59,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,59, +0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,0,37,115,44,32,37,115,0,37,115,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,110,111,100,101,34,40,110,111,100,101,110,111,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,100,97,116,97,32,66,76,79,66,41,59,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,114,111,119,105,100,34,40,114,111,119,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,110,111,100, +101,110,111,32,73,78,84,69,71,69,82,41,59,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,112,97,114,101,110,116,34,40,110,111,100,101,110,111,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,112,97,114,101,110,116,110,111,100,101,32,73,78,84,69,71,69,82,41,59,73,78,83,69,82,84,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,86,65,76,85,69,83,40,49,44,32,122,101,114,111,98,108,111,98,40,37,100,41,41,0,83,69,76,69,67,84,32,100,97,116,97,32, +70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,83,69,76,69,67,84,32,110,111,100,101,110,111,32,70,82,79,77,32,39, +37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,58,49,0,83,69,76,69,67,84,32,112,97,114,101,110,116,110,111,100,101,32,70,82,79,77,32,39, +37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,83,69,76,69,67,84,32,115,116,97,116,32,70,82,79,77,32,37,81,46, +115,113,108,105,116,101,95,115,116,97,116,49,32,87,72,69,82,69,32,116,98,108,32,61,32,39,37,113,95,114,111,119,105,100,39,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,83,69,76,69,67,84,32,108,101,110,103,116,104,40,100,97,116,97,41,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,49,0,87,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116, +114,101,101,32,116,97,98,108,101,0,84,111,111,32,102,101,119,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116,114,101,101,32,116,97,98,108,101,0,84,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116,114,101,101,32,116,97,98,108,101,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,32,116,111,32,114,116,114,101,101,100,101,112,116,104,40,41,0,37,108,108,100,0,32,37,103,0,37,115,32,123,37,115,125,0,123,37,115,125,0,97,117,116,111, +109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115, +93,0,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0, +108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101, +100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110, +99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102, +97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,105,110,116,101,114,114,117,112,116,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,114,111,119,105,100,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,116,111,111,32,109,97,110,121,32,116, +101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,105,110,100,101,120,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115, +116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108, +108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1, +167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173,2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,189,0,189,1,176,0,176,3,190,0,190,2,191,1,191,1,191,1,149,4,193,2,193,0,149,8,149,4,149,1,163,2,195,1,195,3,198,1,198,2,198,1,196,9,196,1,207,4,207,5,199,1,199,1,199,0,210,2,210,0,200,3,200,2,200,4,211,2,211,1,211,0,201,0,201,2,213, +2,213,0,212,7,212,7,212,7,159,0,159,2,194,2,214,1,214,2,214,3,214,4,216,2,216,0,215,0,215,3,215,2,217,4,217,0,205,0,205,3,220,4,220,2,177,1,177,1,177,0,203,0,203,3,204,0,204,2,206,0,206,2,206,4,206,4,149,6,202,0,202,2,149,8,221,5,221,3,149,6,149,7,222,2,222,1,223,0,223,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,224,1,224,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,225,1,225, +2,175,5,226,1,226,2,175,5,175,3,175,5,175,4,175,4,175,5,228,5,228,4,229,2,229,0,227,1,227,0,209,1,209,0,208,3,208,1,149,12,230,1,230,0,179,0,179,3,188,5,188,3,231,0,231,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,232,1,232,1,232,1,232,1,232,1,171,2,171,1,172,2,149,5,233,11,235,1,235,1,235,2,235,0,236,1,236,1,236,3,237,0,237,3,238,0,238,2,234,3,234,2,240,1,240,3,241,0,241,3,241,2,239,7,239,5,239,5,239,1,175,4,175,6,192,1,192,1,192,1,149,4,149,6,149,3,243,0,243,2,242,1,242,0,149,1,149,3,149,1, +149,3,149,6,149,6,244,1,245,0,245,1,149,1,149,4,246,8,247,1,247,3,248,0,248,2,249,1,249,3,250,1,251,0,251,4,251,2,197,0,197,2,197,3,252,6,252,8,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,115,113,108,105,116,101,95,116,101,109,112, +95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97, +98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98, +108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102, +97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113, +108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,115,37,115,0,37,33,46,49,53,103,0,116,104,101,114, +101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87, +72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32, +110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76, +83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101],"i8",4,n.la+10240); +x([32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116, +101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,73,78, +84,69,71,69,82,0,37,115,58,37,100,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79, +82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,116,111,111,32,109,97,110,121,32,116, +101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110, +32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110, +99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100, +32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,82,79,87,73,68,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98, +105,116,101,100,0,95,82,79,87,73,68,95,0,79,73,68,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,42,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114, +101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32, +45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108, +117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32, +37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101, +32,37,84,0,105,100,120,0,116,98,108,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,115,113,108,105,116,101,95,115,116,97,116,49,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108, +105,116,101,95,115,116,97,116,52,0,67,82,69,65,84,69,32,84,69,77,80,32,84,65,66,76,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,115,113,108,105,116,101,95, +109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,49,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32, +109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42, +0,115,122,61,91,48,45,57,93,42,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,115,32,45,32,37,115,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,44,32,0,46,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115, +40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103, +58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0, +116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,111,117,116,32,111, +102,32,109,101,109,111,114,121,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,108,0,246,0,97,0,1,0,47,0,1,2,78,2,247,1,97,0,1,0,47,0,0,2,78,2,247,1,95,0,0,0,9,0,254,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97, +116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58, +32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114, +105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,4,0,0,0,51,0,1,3,137,1,8,0,25,0,2,0,90,1,2,1,137,1,8,0,25,0,1,0,154,0,0,0,35,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117, +115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,4,0,1,0,51,0,1,4,45,1,0,0,24,0,2,0,25,0,1,0,52,0,7,1,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114, +101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,105,100,0,110,97,109,101,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,112,107,0,116,97,98,108,101,0,119,105,100,116,104,0,104,101,105,103,104,116,0,115,101,113,110,111,0,115,101,113,0,117,110, +105,113,117,101,0,102,105,108,101,0,105,100,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,78,79,78,69,0,112,97,114,101,110,116,0,102,107,105,100,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105, +110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,138,1,0,0,97,0,3,0,35,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,4,0,1,0,25,0,1,0,52,0,0,1,4,0,0,0,51,0,1,0,35,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0, +102,117,108,108,0,114,101,115,116,97,114,116,0,98,117,115,121,0,108,111,103,0,99,104,101,99,107,112,111,105,110,116,101,100,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,37,95, +0,1,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,83,69,84,32,78,85,76,76,0, +83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,116,114,117,110,99,97,116,101, +0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,99,104,101,95,115,112,105,108,108,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116, +95,99,104,97,110,103,101,115,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108, +105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116, +0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110, +107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116, +32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,48,0,118,97,114,105,97,98,108,101,32,110, +117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100, +32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,65,63,62,64,0,0,108,105,65,62,64,63,116,114,113,115,9,8,108,105,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82, +73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,40,114,111,119,105,100,61,63,41,0,40,114,111,119,105,100,62,63,32,65,78,68,32,114,111,119,105,100,60,63,41,0,40,114,111,119,105,100,62,63,41,0,40,114,111,119,105,100,60,63,41,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,61,0,32,65,78,68,32, +0,65,78,89,40,37,115,41,0,62,0,60,0,41,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114, +110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,83,81,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,0,0,1,1,1,1,1,0,0,2,0,1,0,1,1,4,36,1,4,5,16,0,2,2,2,2,0,2,2,0,0,32,0,0,4,5,4,4,0,0,1,1,5,5,0,0,0,2,2,16,0,0,0,0,0,0,0,0,0,17,17,17,17,8,17,17,17,17,76,76,2,2,0,5,5,21,21,21,21,21,21,0,76,76,76,76,76,76,76,76,76,76,0,36,2,0,0,0,0,0,2,0,1,1,1,1,8,8,0,2,1,1,1,1,2,0,0,2,2,0,0,0,0,0,0,12,69,21,1,2,2,0,1,8,5,5,5,0,1,0,0,0,0,0,0,0,1,0,2,2,1,0,0,0,1,2,3,4,6,8,8,0,0,0,0,111,105,100, +0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,95,114,111, +119,105,100,95,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73, +71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110, +37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109, +101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104, +116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,111,110,108,121,32,97,32,115,105,110,103, +108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112, +112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81, +32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32, +110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97, +108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32, +97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,116,97,98,108,101,32,37,115,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84, +32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78, +84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72, +79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111, +119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101, +32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,22,22,23,1,24,26,15,27,80,81,82,83,84,85,86, +87,88,89,90,91,92,93,94,95,108,109,110,27,28,23,50,51,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,22,70,23,71,72,73,74,75,76,77,78,79,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,19,97,91,92,93,94,95,26,85,86,87,88,89,90,91,92,93,94,95,27,28,97,98,99,122,211,102,103,104,79,19,50,51,19,122,59,55,113,224,225,226,89,90,91,92,93,94,95,23,27,28,26,71,72,73,74,75,76,77,78,79,80,81,82,83,51,85,86,87,88,89,90,91,92,93,94,95,19,132,133,58,89,90,21,108,109,110,27,28,97,98,33,100,7,8,119,120,22,19, +107,42,109,27,28,27,28,95,28,50,51,99,100,101,102,103,104,105,27,28,97,98,107,152,112,132,133,112,65,69,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,101,97,97,98,24,101,122,157,12,99,103,112,102,103,104,152,22,97,98,97,98,27,28,113,27,29,91,164,165,124,50,51,97,98,219,59,132,133,134,22,23,45,66,47,212,213,124,140,132,133,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,165,27,28,230,50,51,233,108,109,110,70,16,59,23,97,98,26,97,22, +66,185,12,187,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,29,85,86,87,88,89,90,91,92,93,94,95,19,22,148,149,45,23,47,62,154,64,156,108,109,110,37,69,23,163,59,26,26,97,98,144,145,146,147,152,200,52,23,50,51,26,22,89,90,60,210,7,8,9,138,97,22,23,26,101,26,174,175,197,71,72,73,74,75,76,77,78,79,80,81,82,83,16,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,208,209,140,152,152,111,195,196,98,70,163,160,152,23,22,164,165,246,207,27,152,174,175,171,172,50,51,137,62,139,64,171,172,222,124,27,138, +24,163,89,90,130,174,175,197,163,71,72,73,74,75,76,77,78,79,80,81,82,83,22,85,86,87,88,89,90,91,92,93,94,95,19,197,181,182,23,208,209,152,197,26,189,132,133,232,224,225,226,152,97,91,26,232,116,212,213,152,222,121,152,174,175,50,51,243,97,22,23,22,234,174,175,177,23,239,116,163,177,174,175,121,174,175,71,72,73,74,75,76,77,78,79,80,81,82,83,24,85,86,87,88,89,90,91,92,93,94,95,19,23,197,11,23,227,70,208,220,152,31,224,225,226,35,98,224,225,226,108,109,110,115,152,117,118,27,222,49,123,24,50,51,27,0, +1,2,224,225,226,166,124,168,169,239,174,175,170,171,172,22,194,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,22,208,24,23,195,196,170,171,172,174,175,152,26,152,152,152,207,152,97,152,23,152,51,244,152,97,152,247,248,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,23,174,175,174,175,188,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,107,152,33,24,152,100,101,27,174,175,152,42,152,23,152,26,152,23,152,26,152,174,175,174, +175,152,174,175,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,163,119,120,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,66,152,97,197,23,50,51,26,53,23,174,175,26,23,23,23,26,26,26,36,106,146,147,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,196,119,120,19,50,51,168,169,26,174,175,207,28,152,249,250,152,163,163,163,163,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92, +93,94,95,152,197,197,197,197,50,51,197,194,36,174,175,191,192,152,191,192,163,152,66,124,152,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,197,152,100,188,152,50,51,152,152,188,174,175,252,152,94,95,152,152,152,1,2,152,152,174,175,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,188,188,22,194,50,51,240,173,194,174,175,252,194,152,36,181,28,152,23,219,122,174,175,219,221,152,152,73,74,75,76,77,78,79,80,81,82,83,152,85, +86,87,88,89,90,91,92,93,94,95,19,20,152,22,23,194,152,240,27,28,174,175,240,19,20,26,22,194,194,38,22,27,28,152,23,22,152,116,174,175,152,23,38,152,23,152,221,152,57,152,23,163,50,51,194,174,175,66,174,175,69,57,174,175,40,174,175,174,175,174,175,174,175,69,22,53,74,75,30,53,89,90,22,22,152,197,23,96,97,98,22,152,101,89,90,91,208,209,152,53,96,97,98,101,22,101,174,175,152,19,20,105,22,174,175,112,19,27,28,20,174,175,24,132,133,134,135,136,38,44,174,175,107,61,54,26,132,133,134,135,136,54,107,22,5, +140,1,57,36,111,122,28,79,79,131,123,66,19,20,69,22,1,16,20,125,27,28,123,111,120,23,131,23,16,68,142,38,15,22,89,90,3,167,4,248,251,96,97,98,180,180,101,251,151,6,57,151,13,151,26,25,151,161,202,153,162,153,69,130,128,203,19,20,127,22,126,204,129,22,27,28,205,132,133,134,135,136,89,90,231,38,95,137,179,96,97,98,206,179,101,122,107,159,159,125,231,216,228,107,57,184,217,216,176,217,176,48,106,18,184,158,69,159,158,46,71,237,176,176,176,132,133,134,135,136,217,176,137,216,178,158,89,90,179,176,159, +179,159,96,97,98,159,159,101,5,158,202,22,18,10,11,12,13,14,190,238,17,190,158,193,41,159,202,193,159,202,245,193,193,223,190,32,159,34,132,133,134,135,136,159,39,155,43,150,223,177,201,178,177,186,66,199,177,152,253,56,215,152,182,152,202,152,63,152,152,66,67,242,229,152,174,152,152,152,152,152,152,152,199,242,202,152,198,152,152,152,183,192,152,215,152,183,215,183,152,241,214,152,211,152,152,211,211,152,152,241,152,152,152,152,152,152,152,114,152,152,235,152,152,152,174,187,95,174,253,253,253,253, +236,253,253,253,253,253,253,253,253,253,253,253,141],"i8",4,n.la+20480); +x([27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,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,27,27,27,27,27,27,27,27,27,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116, +101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,111,114,100,101,114,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117, +115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101, +109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105, +110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105, +111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0, +99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0, +39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118, +97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110, +99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78, +73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39, +32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83, +69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117, +111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101, +95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114, +111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,76,105,115,116,32,111,102,32,116,114,101,101,32,114,111,111,116,115,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,79,117,116,115,116,97,110,100,105,110,103,32,112,97,103,101,32,99,111,117,110,116,32,103,111,101,115,32,102, +114,111,109,32,37,100,32,116,111,32,37,100,32,100,117,114,105,110,103,32,116,104,105,115,32,97,110,97,108,121,115,105,115,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108, +108,32,37,100,58,32,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,112,114,101,118,105,111,117,115,32,119,97,115,32,37,108,108,100,41,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114, +32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111, +102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,67,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,99,101,108,108,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,100,32,111,102,32, +112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100, +32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116, +32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,110,105,108,0,66, +0,44,46,46,46,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,58,37,112,0,105,110,116,97,114,114,97,121,0,112,114,111,103,114,97,109,0,70,117,110,99,116,105,111,110,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120, +116,0,65,103,103,83,116,101,112,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,78,111,116,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114, +105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109, +110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111, +0,67,108,111,115,101,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,83,101,101,107,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73, +110,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111, +119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116, +101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,80,97,114,97,109,0,82, +101,97,108,0,70,107,67,111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,73,102,78,101,103,0,73,102,90,101,114,111,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116, +0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110, +103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32, +100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105, +108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32, +105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101, +0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0, +102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103, +101,116,112,97,103,101,115,105,122,101,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,0,83,81,76,73,84,69, +95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,47,37,115,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105, +112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1, +0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,45,73,110,102,0,43,73,110,102,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101, +95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99, +97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0, +37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,115,117,98,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,99,111,97,108,101,115,99,101,0,104,101,120,0,105,102,110,117,108,108,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100, +0,108,105,107,101,108,121,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,113,117,111,116,101,0,108,97, +115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,109, +105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,82,84,82,69,69,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60, +61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114, +109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98, +117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110, +110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104, +32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114, +103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111, +114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115, +32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108, +101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110, +97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117, +112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111, +114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110, +100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102, +111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,n.la+30720);var nb=n.za(x(12,"i8",2),8);k(0==nb%8);f._i64Subtract=ob;function pb(a){f.___errno_location&&(v[f.___errno_location()>>2]=a);return a} +var I={G:1,J:2,Vd:3,Sc:4,P:5,Oa:6,lc:7,qd:8,N:9,zc:10,Ka:11,ee:11,Ma:12,aa:13,Lc:14,Cd:15,ba:16,La:17,fe:18,ia:19,ja:20,U:21,u:22,ld:23,jb:24,ca:25,be:26,Mc:27,yd:28,ka:29,Sd:30,dd:31,Md:32,Ic:33,kb:34,ud:42,Pc:43,Ac:44,Vc:45,Wc:46,Xc:47,cd:48,ce:49,od:50,Uc:51,Fc:35,rd:37,rc:52,uc:53,ge:54,md:55,vc:56,wc:57,Gc:35,xc:59,Ad:60,pd:61,Zd:62,zd:63,vd:64,wd:65,Rd:66,sd:67,oc:68,Wd:69,Bc:70,Nd:71,fd:72,Jc:73,tc:74,Hd:76,sc:77,Qd:78,Yc:79,Zc:80,bd:81,ad:82,$c:83,Bd:38,Na:39,gd:36,ya:40,Id:95,Ld:96,Ec:104, +nd:105,pc:97,Pd:91,Fd:88,xd:92,Td:108,Dc:111,mc:98,Cc:103,kd:101,hd:100,$d:110,Nc:112,Oc:113,Rc:115,qc:114,Hc:89,ed:90,Od:93,Ud:94,nc:99,jd:102,Tc:106,Dd:107,ae:109,de:87,Kc:122,Xd:116,Gd:95,td:123,Qc:84,Jd:75,yc:125,Ed:131,Kd:130,Yd:86},qb={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"}; +function rb(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 J(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=rb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} +function sb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function tb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)} +function ub(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=rb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var vb=[];function wb(a,b){vb[a]={input:[],D:[],Y:b};xb(a,yb)} +var yb={open:function(a){var b=vb[a.g.fa];if(!b)throw new K(I.ia);a.B=b;a.seekable=!1},close:function(a){a.B.Y.flush(a.B)},flush:function(a){a.B.Y.flush(a.B)},M:function(a,b,c,d){if(!a.B||!a.B.Y.$a)throw new K(I.Oa);for(var e=0,g=0;ga.e.length&&(a.e=L.Gb(a),a.p=a.e.length);if(!a.e||a.e.subarray){var c=a.e?a.e.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.e,a.e=new Uint8Array(b), +0b)a.e.length=b;else for(;a.e.length=a.g.p)return 0;a=Math.min(a.g.p-e,d);k(0<=a);if(8b)throw new K(I.u);return b},Pa:function(a,b,c){L.Va(a.g,b+c);a.g.p=Math.max(a.g.p,b+c)},ra:function(a,b,c,d,e,g,h){if(32768!==(a.g.mode&61440))throw new K(I.ia);c=a.g.e;if(h&2||c.buffer!==b&&c.buffer!==b.buffer){if(0>>0)%Kb.length}function Ob(a){var b=Nb(a.parent.id,a.name);a.X=Kb[b];Kb[b]=a}function Pb(a){var b=Nb(a.parent.id,a.name);if(Kb[b]===a)Kb[b]=a.X;else for(b=Kb[b];b;){if(b.X===a){b.X=a.X;break}b=b.X}} +function Fb(a,b){var c;if(c=(c=Qb(a,"x"))?c:a.k.ea?0:I.aa)throw new K(c,a);for(c=Kb[Nb(a.id,b)];c;c=c.X){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.k.ea(a,b)} +function Db(a,b,c,d){Rb||(Rb=function(a,b,c,d){a||(a=this);this.parent=a;this.K=a.K;this.W=null;this.id=Jb++;this.name=b;this.mode=c;this.k={};this.n={};this.fa=d},Rb.prototype={},Object.defineProperties(Rb.prototype,{M:{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}},Qb:{get:function(){return M(this.mode)}},Pb:{get:function(){return 8192===(this.mode& +61440)}}}));a=new Rb(a,b,c,d);Ob(a);return a}function M(a){return 16384===(a&61440)}var Sb={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 Qb(a,b){if(Lb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return I.aa}else return I.aa;return 0}function Tb(a,b){try{return Fb(a,b),I.La}catch(c){}return Qb(a,"wx")} +function Ub(a,b,c){var d;try{d=Fb(a,b)}catch(e){return e.o}if(a=Qb(a,"wx"))return a;if(c){if(!M(d.mode))return I.ja;if(d===d.parent||"/"===Q(d))return I.ba}else if(M(d.mode))return I.U;return 0}function Vb(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!N[a])return a;throw new K(I.jb);} +function Wb(a,b){Xb||(Xb=function(){},Xb.prototype={},Object.defineProperties(Xb.prototype,{object:{get:function(){return this.g},set:function(a){this.g=a}},$e:{get:function(){return 1!==(this.flags&2097155)}},af:{get:function(){return 0!==(this.flags&2097155)}},Ze:{get:function(){return this.flags&1024}}}));var c=new Xb,d;for(d in a)c[d]=a[d];a=c;c=Vb(b);a.F=c;return N[c]=a}var Cb={open:function(a){a.n=Ib[a.g.fa].n;a.n.open&&a.n.open(a)},R:function(){throw new K(I.ka);}}; +function xb(a,b){Ib[a]={n:b}}function Yb(a,b){var c="/"===b,d=!b,e;if(c&&Hb)throw new K(I.ba);if(!c&&!d){e=P(b,{Wa:!1});b=e.path;e=e.g;if(e.W)throw new K(I.ba);if(!M(e.mode))throw new K(I.ja);}var d={type:a,ff:{},cb:b,Ub:[]},g=a.K(d);g.K=d;d.root=g;c?Hb=g:e&&(e.W=d,e.K&&e.K.Ub.push(d))}function Zb(a,b,c){var d=P(a,{parent:!0}).g;a=tb(a);if(!a||"."===a||".."===a)throw new K(I.u);var e=Tb(d,a);if(e)throw new K(e);if(!d.k.qa)throw new K(I.G);return d.k.qa(d,a,b,c)} +function $b(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return Zb(a,b,0)}function R(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return Zb(a,b,0)}function ac(a,b,c){"undefined"===typeof c&&(c=b,b=438);return Zb(a,b|8192,c)}function bc(a,b){if(!ub(a))throw new K(I.J);var c=P(b,{parent:!0}).g;if(!c)throw new K(I.J);var d=tb(b),e=Tb(c,d);if(e)throw new K(e);if(!c.k.va)throw new K(I.G);return c.k.va(c,d,a)} +function cc(a){var b=P(a,{parent:!0}).g,c=tb(a),d=Fb(b,c),e=Ub(b,c,!1);if(e)throw e===I.U&&(e=I.G),new K(e);if(!b.k.wa)throw new K(I.G);if(d.W)throw new K(I.ba);try{O.willDeletePath&&O.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.k.wa(b,c);Pb(d);try{if(O.onDeletePath)O.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} +function Mb(a){a=P(a).g;if(!a)throw new K(I.J);if(!a.k.ga)throw new K(I.u);return ub(Q(a.parent),a.k.ga(a))}function dc(a){a=P(a,{Q:!0}).g;if(!a)throw new K(I.J);if(!a.k.H)throw new K(I.G);return a.k.H(a)}function ec(a,b){var c;"string"===typeof a?c=P(a,{Q:!0}).g:c=a;if(!c.k.C)throw new K(I.G);c.k.C(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})}function fc(a){var b;"string"===typeof a?b=P(a,{Q:!0}).g:b=a;if(!b.k.C)throw new K(I.G);b.k.C(b,{timestamp:Date.now()})} +function gc(a,b){if(0>b)throw new K(I.u);var c;"string"===typeof a?c=P(a,{Q:!0}).g:c=a;if(!c.k.C)throw new K(I.G);if(M(c.mode))throw new K(I.U);if(32768!==(c.mode&61440))throw new K(I.u);var d=Qb(c,"w");if(d)throw new K(d);c.k.C(c,{size:b,timestamp:Date.now()})} +function hc(a,b,c,d){if(""===a)throw new K(I.J);if("string"===typeof b){var e=Sb[b];if("undefined"===typeof e)throw Error("Unknown file open mode: "+b);b=e}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=J(a);try{g=P(a,{Q:!(b&131072)}).g}catch(h){}}e=!1;if(b&64)if(g){if(b&128)throw new K(I.La);}else g=Zb(a,c,0),e=!0;if(!g)throw new K(I.J);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!M(g.mode))throw new K(I.ja);if(!e&&(g?40960===(g.mode&61440)?c=I.ya:M(g.mode)&& +(0!==(b&2097155)||b&512)?c=I.U:(c=["r","w","rw"][b&2097155],b&512&&(c+="w"),c=Qb(g,c)):c=I.J,c))throw new K(c);b&512&&gc(g,0);b&=-641;d=Wb({g:g,path:Q(g),flags:b,seekable:!0,position:0,n:g.n,dc:[],error:!1},d);d.n.open&&d.n.open(d);!f.logReadFiles||b&1||(ic||(ic={}),a in ic||(ic[a]=1,f.printErr("read file: "+a)));try{O.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),O.onOpenFile(a,g))}catch(l){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+l.message)}return d} +function jc(a){a.Ea&&(a.Ea=null);try{a.n.close&&a.n.close(a)}catch(b){throw b;}finally{N[a.F]=null}}function lc(a,b,c){if(!a.seekable||!a.n.R)throw new K(I.ka);a.position=a.n.R(a,b,c);a.dc=[]}function mc(a,b,c,d,e){if(0>d||0>e)throw new K(I.u);if(1===(a.flags&2097155))throw new K(I.N);if(M(a.g.mode))throw new K(I.U);if(!a.n.M)throw new K(I.u);var g=!0;if("undefined"===typeof e)e=a.position,g=!1;else if(!a.seekable)throw new K(I.ka);b=a.n.M(a,b,c,d,e);g||(a.position+=b);return b} +function nc(a,b,c,d,e,g){if(0>d||0>e)throw new K(I.u);if(0===(a.flags&2097155))throw new K(I.N);if(M(a.g.mode))throw new K(I.U);if(!a.n.write)throw new K(I.u);a.flags&1024&&lc(a,0,2);var h=!0;if("undefined"===typeof e)e=a.position,h=!1;else if(!a.seekable)throw new K(I.ka);b=a.n.write(a,b,c,d,e,g);h||(a.position+=b);try{if(a.path&&O.onWriteToFile)O.onWriteToFile(a.path)}catch(l){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+l.message)}return b} +function oc(){K||(K=function(a,b){this.g=b;this.bc=function(a){this.o=a;for(var b in I)if(I[b]===a){this.code=b;break}};this.bc(a);this.message=qb[a]},K.prototype=Error(),K.prototype.constructor=K,[I.J].forEach(function(a){Eb[a]=new K(a);Eb[a].stack=""}))}var pc;function qc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function rc(a,b,c,d){a=J(("string"===typeof a?a:Q(a))+"/"+b);return $b(a,qc(c,d))} +function sc(a,b,c,d,e,g){a=b?J(("string"===typeof a?a:Q(a))+"/"+b):a;d=qc(d,e);e=$b(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=c.Eb;v[b+4>>2]=0;v[b+8>>2]=c.ab;v[b+12>>2]=c.mode;v[b+16>>2]=c.Wb;v[b+20>>2]=c.uid;v[b+24>>2]=c.Mb;v[b+28>>2]=c.fa;v[b+32>>2]=0;v[b+36>>2]=c.size;v[b+40>>2]=4096;v[b+44>>2]=c.Bb;v[b+48>>2]=c.tb.getTime()/1E3|0;v[b+52>>2]=0;v[b+56>>2]=c.Vb.getTime()/1E3|0;v[b+60>>2]=0;v[b+64>>2]=c.Db.getTime()/1E3|0;v[b+68>>2]=0;v[b+72>>2]=c.ab;return 0}var T=0;function U(){T+=4;return v[T-4>>2]} +function xc(){return xa(U())}function yc(){var a;a=U();a=N[a];if(!a)throw new K(I.N);return a}f._memset=zc;f._bitshift64Shl=Ac;var ya=void 0;f._i64Add=Bc;function Cc(a){a=a/1E3;if((ca||da)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[w];2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&15)<<2],c+="=");G.src="data:audio/x-"+b.substr(-3)+";base64,"+c;l(G)}};G.src=y;dd(function(){l(G)})}else return r()}});var c=f.canvas;c&&(c.Ia=c.requestPointerLock||c.mozRequestPointerLock|| +c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.Ua=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.Ua=c.Ua.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),f.elementPointerLock&&c.addEventListener("click",function(a){!Wc&& +c.Ia&&(c.Ia(),a.preventDefault())},!1))}}function ed(a,b,c,d){if(b&&f.Ca&&a==f.canvas)return f.Ca;var e,g;if(b){g={antialias:!1,alpha:!1};if(d)for(var h in d)g[h]=d[h];if(g=GL.Pe(a,g))e=GL.getContext(g).je;a.style.backgroundColor="black"}else e=a.getContext("2d");if(!e)return null;c&&(b||k("undefined"===typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),f.Ca=e,b&&GL.cf(g),f.lf=b,Xc.forEach(function(a){a()}),Yc());return e} +var fd=!1,gd=void 0,hd=void 0; +function id(a,b,c){function d(){Vc=!1;var a=e.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(e.Sa=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){}, +e.Sa=e.Sa.bind(document),gd&&e.Ia(),Vc=!0,hd&&jd()):(a.parentNode.insertBefore(e,a),a.parentNode.removeChild(a),hd&&kd());if(f.onFullScreen)f.onFullScreen(Vc);ld(e)}gd=a;hd=b;md=c;"undefined"===typeof gd&&(gd=!0);"undefined"===typeof hd&&(hd=!1);"undefined"===typeof md&&(md=null);var e=f.canvas;fd||(fd=!0,document.addEventListener("fullscreenchange",d,!1),document.addEventListener("mozfullscreenchange",d,!1),document.addEventListener("webkitfullscreenchange",d,!1),document.addEventListener("MSFullscreenChange", +d,!1));var g=document.createElement("div");e.parentNode.insertBefore(g,e);g.appendChild(e);g.A=g.requestFullScreen||g.mozRequestFullScreen||g.msRequestFullscreen||(g.webkitRequestFullScreen?function(){g.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null);c?g.A({mf:c}):g.A()}var nd=0;function od(a){var b=Date.now();if(0===nd)nd=b+1E3/60;else for(;b+2>=nd;)nd+=1E3/60;b=Math.max(nd-b,0);setTimeout(a,b)} +function Lc(a){"undefined"===typeof window?od(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||od),window.requestAnimationFrame(a))}function dd(a){f.noExitRuntime=!0;setTimeout(function(){oa||a()},1E4)} +function cd(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)]}function pd(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)} +function qd(a,b,c){pd(a,function(c){k(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));mb()},function(){if(c)c();else throw'Loading data file "'+a+'" failed.';});lb()}var rd=[];function sd(){var a=f.canvas;rd.forEach(function(b){b(a.width,a.height)})}function jd(){if("undefined"!=typeof SDL){var a=Wa[SDL.screen+0*n.O>>2];v[SDL.screen+0*n.O>>2]=a|8388608}sd()}function kd(){if("undefined"!=typeof SDL){var a=Wa[SDL.screen+0*n.O>>2];v[SDL.screen+0*n.O>>2]=a&-8388609}sd()} +function ld(a,b,c){b&&c?(a.ec=b,a.Nb=c):(b=a.ec,c=a.Nb);var d=b,e=c;f.forcedAspectRatio&&0>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);v[vd>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),e=a(c),d=x(E(d),"i8",0),e=x(E(e),"i8",0);c.getTimezoneOffset()>2]=d,v[ud+4>>2]=e):(v[ud>>2]=e,v[ud+4>>2]=d)}} +function yd(a,b){xd();var c=new Date(1E3*v[a>>2]);v[b>>2]=c.getSeconds();v[b+4>>2]=c.getMinutes();v[b+8>>2]=c.getHours();v[b+12>>2]=c.getDate();v[b+16>>2]=c.getMonth();v[b+20>>2]=c.getFullYear()-1900;v[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);v[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;v[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;v[b+32>>2]=c;v[b+40>>2]=v[ud+(c?n.O:0)>>2];return b} +f._bitshift64Ashr=zd;f._bitshift64Lshr=Ad;function Bd(a,b){D.push(function(){n.V("vi",a,[b])});Bd.A=D.length}var Cd=x(1,"i32*",2); +function Dd(a){var b,c;Dd.A?(c=v[Cd>>2],b=v[c>>2]):(Dd.A=!0,V.USER=V.LOGNAME="web_user",V.PATH="/",V.PWD="/",V.HOME="/home/web_user",V.LANG="C",V._=f.thisProgram,b=x(1024,"i8",2),c=x(256,"i8*",2),v[c>>2]=b,v[Cd>>2]=c);var d=[],e=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);e+=h.length}if(1024>2]=b,b+=h.length+1;v[c+4*d.length>>2]=0}var V={}; +function Ed(a){if(0===a)return 0;a=xa(a);if(!V.hasOwnProperty(a))return 0;Ed.A&&Ra(Ed.A);Ed.A=x(E(V[a]),"i8",0);return Ed.A}function Ka(a){Ka.Ya||(p=Ua(),Ka.Ya=!0,k(n.da),Ka.Rb=n.da,n.da=function(){q("cannot dynamically allocate, sbrk now has control")});var b=p;return 0==a||Ka.Rb(a)?b:4294967295}f._memmove=Fd;function Gd(a,b){T=b;return 0}oc();Kb=Array(4096);Yb(L,"/");R("/tmp");R("/home");R("/home/web_user"); +(function(){R("/dev");xb(259,{M:function(){return 0},write:function(a,b,e,g){return g}});ac("/dev/null",259);wb(1280,Ab);wb(1536,Bb);ac("/dev/tty",1280);ac("/dev/tty1",1536);var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=ea?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};tc("/dev","random",a);tc("/dev","urandom",a);R("/dev/shm");R("/dev/shm/tmp")})();R("/proc");R("/proc/self");R("/proc/self/fd"); +Yb({K:function(){var a=Db("/proc/self","fd",16895,73);a.k={ea:function(a,c){var d=N[+c];if(!d)throw new K(I.N);var e={parent:null,K:{cb:"fake"},k:{ga:function(){return d.path}}};return e.parent=e}};return a}},"/proc/self/fd"); +db.unshift(function(){if(!f.noFSInit&&!pc){k(!pc,"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)");pc=!0;oc();f.stdin=f.stdin;f.stdout=f.stdout;f.stderr=f.stderr;f.stdin?tc("/dev","stdin",f.stdin):bc("/dev/tty","/dev/stdin");f.stdout?tc("/dev","stdout",null,f.stdout):bc("/dev/tty","/dev/stdout");f.stderr?tc("/dev","stderr",null,f.stderr):bc("/dev/tty1","/dev/stderr");var a= +hc("/dev/stdin","r");k(0===a.F,"invalid handle for stdin ("+a.F+")");a=hc("/dev/stdout","w");k(1===a.F,"invalid handle for stdout ("+a.F+")");a=hc("/dev/stderr","w");k(2===a.F,"invalid handle for stderr ("+a.F+")")}});eb.push(function(){Lb=!1});D.push(function(){pc=!1;var a=f._fflush;a&&a(0);for(a=0;athis.length-1||0>a)){var b=a%this.Cb;return this.Lb(a/this.Cb|0)[b]}};l.prototype.ac=function(a){this.Lb=a};l.prototype.Ra=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,e=1048576;(d=a.getResponseHeader("Accept-Ranges"))&& +"bytes"===d||(e=b);var g=this;g.ac(function(a){var d=a*e,h=(a+1)*e-1,h=Math.min(h,b-1);if("undefined"===typeof g.oa[a]){var l=g.oa;if(d>h)throw Error("invalid range ("+d+", "+h+") or no bytes requested!");if(h>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==e&&r.setRequestHeader("Range","bytes="+d+"-"+h);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer");r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"); +r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):E(r.responseText||"",!0);l[a]=d}if("undefined"===typeof g.oa[a])throw Error("doXHR failed!");return g.oa[a]});this.pb=b;this.ob=e;this.Fa=!0};if("undefined"!==typeof XMLHttpRequest){if(!da)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new l;Object.defineProperty(g, +"length",{get:function(){this.Fa||this.Ra();return this.pb}});Object.defineProperty(g,"chunkSize",{get:function(){this.Fa||this.Ra();return this.ob}});h=void 0}else h=c,g=void 0;var r=rc(a,b,d,e);g?r.e=g:h&&(r.e=null,r.url=h);Object.defineProperty(r,"usedBytes",{get:function(){return this.e.length}});var t={};Object.keys(r.n).forEach(function(a){var b=r.n[a];t[a]=function(){if(!uc(r))throw new K(I.P);return b.apply(null,arguments)}});t.M=function(a,b,c,d,e){if(!uc(r))throw new K(I.P);a=a.g.e;if(e>= +a.length)return 0;d=Math.min(a.length-e,d);k(0<=d);if(a.slice)for(var g=0;gd?-I.u:hc(c.path,c.flags,0,d).F;case 1:case 2:return 0;case 3:return c.flags; +case 4:return d=U(),c.flags|=d,0;case 12:case 12:return d=U(),Aa[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-I.u;case 9:return pb(I.u),-1;default:return-I.u}}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_utimes:function(a,b){var c;b?(c=1E3*v[b+8>>2],c+=v[b+12>>2]/1E3):c=Date.now();a=xa(a);try{var d=c,e=P(a,{Q:!0}).g;e.k.C(e,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof K))throw g+" : "+Sa();pb(g.o);return-1}},_pthread_cleanup_push:Bd, +___syscall6:function(a,b){T=b;try{var c=yc();jc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof K||q(d),-d.o}},___syscall40:function(a,b){T=b;try{var c=xc(),d=P(c,{parent:!0}).g,e=tb(c),g=Fb(d,e),h=Ub(d,e,!0);if(h)throw new K(h);if(!d.k.ta)throw new K(I.G);if(g.W)throw new K(I.ba);try{O.willDeletePath&&O.willDeletePath(c)}catch(l){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+l.message)}d.k.ta(d,e);Pb(g);try{if(O.onDeletePath)O.onDeletePath(c)}catch(r){console.log("FS.trackingDelegate['onDeletePath']('"+ +c+"') threw an exception: "+r.message)}return 0}catch(t){return"undefined"!==typeof S&&t instanceof K||q(t),-t.o}},___syscall118:function(a,b){T=b;try{return yc(),0}catch(c){return"undefined"!==typeof S&&c instanceof K||q(c),-c.o}},___setErrNo:pb,___syscall20:function(a,b){T=b;return 42},___syscall183:function(a,b){T=b;try{var c=U(),d=U();if(0===d)return-I.u;if(2>d)return-I.kb;Ma("/",c);return c}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_usleep:Cc,___buildEnvironment:Dd,___syscall39:function(a, +b){T=b;try{var c=xc(),d=U(),c=J(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));R(c,d);return 0}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_localtime_r:yd,_tzset:xd,_emscripten_set_main_loop_timing:Ec,_sbrk:Ka,___syscall192:function(a,b){T=b;try{var c=U(),d=U(),e=U(),g=U(),h=U(),l=U(),l=l<<12,r,t=!1;if(-1===h){r=Ia(d);if(!r)return-I.Ma;zc(r,0,d);t=!0}else{var y=N[h];if(!y)return-I.N;var w,G=z;if(1===(y.flags&2097155))throw new K(I.aa);if(!y.n.ra)throw new K(I.ia);w=y.n.ra(y, +G,c,d,l,e,g);r=w.Xb;t=w.Aa}vc[r]={Tb:r,Sb:d,Aa:t,F:h,flags:g};return r}catch(H){return"undefined"!==typeof S&&H instanceof K||q(H),-H.o}},___syscall197:function(a,b){T=b;try{var c=yc(),d=U();return wc(c.path,d)}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_emscripten_memcpy_big:function(a,b,c){z.set(z.subarray(b,b+c),a);return a},___syscall194:function(a,b){T=b;try{var c=U();k(0===U());var d=U(),e=U();0<=d?k(0===e):k(-1===e);var g=N[c];if(!g)throw new K(I.N);if(0===(g.flags& +2097155))throw new K(I.u);gc(g.g,d);return 0}catch(h){return"undefined"!==typeof S&&h instanceof K||q(h),-h.o}},___syscall212:function(a,b){T=b;try{var c=xc();U();U();fc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof K||q(d),-d.o}},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return B/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 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 79:return 0;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"object"===typeof navigator?navigator.hardwareConcurrency||1:1}pb(I.u);return-1}, +___syscall94:function(a,b){T=b;try{var c=U(),d=U(),e=N[c];if(!e)throw new K(I.N);ec(e.g,d);return 0}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g),-g.o}},_nanosleep:function(a,b){var c=v[a>>2],d=v[a+4>>2];0!==b&&(v[b>>2]=0,v[b+4>>2]=0);return Cc(1E6*c+d/1E3)},___syscall195:function(a,b){T=b;try{var c=xc(),d=U();return wc(c,d)}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},___syscall91:function(a,b){T=b;try{var c=U(),d=U(),e=vc[c];if(!e)return 0;if(d===e.Sb){var g= +N[e.F],h=e.flags,l=new Uint8Array(z.buffer,c,d);g&&g.n.sa&&g.n.sa(g,l,0,d,h);vc[c]=null;e.Aa&&Ra(e.Tb)}return 0}catch(r){return"undefined"!==typeof S&&r instanceof K||q(r),-r.o}},_pthread_self:function(){return 0},_getenv:Ed,___syscall33:function(a,b){T=b;try{var c=xc(),d;var e=U();if(e&-8)d=-I.u;else{var g;g=P(c,{Q:!0}).g;c="";e&4&&(c+="r");e&2&&(c+="w");e&1&&(c+="x");d=c&&Qb(g,c)?-I.aa:0}return d}catch(h){return"undefined"!==typeof S&&h instanceof K||q(h),-h.o}},___syscall54:function(a,b){T=b;try{var c= +yc(),d=U();switch(d){case 21505:return c.B?0:-I.ca;case 21506:return c.B?0:-I.ca;case 21519:if(!c.B)return-I.ca;var e=U();return v[e>>2]=0;case 21520:return c.B?-I.u:-I.ca;case 21531:e=U();if(!c.n.Ob)throw new K(I.ca);return c.n.Ob(c,d,e);default:q("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g),-g.o}},___unlock:function(){},___syscall140:function(a,b){T=b;try{var c=yc(),d=U(),e=U(),g=U(),h=U();k(0===d);lc(c,e,h);v[g>>2]=c.position;c.Ea&&0===e&&0===h&&(c.Ea=null); +return 0}catch(l){return"undefined"!==typeof S&&l instanceof K||q(l),-l.o}},___syscall15:function(a,b){T=b;try{var c=xc(),d=U();ec(c,d);return 0}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_emscripten_set_main_loop:Mc,___syscall10:function(a,b){T=b;try{var c=xc();cc(c);return 0}catch(d){return"undefined"!==typeof S&&d instanceof K||q(d),-d.o}},___syscall3:function(a,b){T=b;try{var c=yc(),d=U(),e=U();return mc(c,u,d,e)}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g), +-g.o}},___lock:function(){},_abort:function(){f.abort()},___syscall5:function(a,b){T=b;try{var c=xc(),d=U(),e=U();return hc(c,d,e).F}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g),-g.o}},___syscall4:function(a,b){T=b;try{var c=yc(),d=U(),e=U();return nc(c,u,d,e)}catch(g){return"undefined"!==typeof S&&g instanceof K||q(g),-g.o}},_time:function(a){var b=Date.now()/1E3|0;a&&(v[a>>2]=b);return b},_gettimeofday:function(a){var b=Date.now();v[a>>2]=b/1E3|0;v[a+4>>2]=b%1E3*1E3|0;return 0},___syscall201:function(){return Gd.apply(null, +arguments)},___syscall207:function(a,b){T=b;try{var c=U();U();U();var d=N[c];if(!d)throw new K(I.N);fc(d.g);return 0}catch(e){return"undefined"!==typeof S&&e instanceof K||q(e),-e.o}},_localtime:function(a){return yd(a,td)},___syscall202:Gd,___syscall146:function(a,b){T=b;try{var c=yc(),d=U(),e;a:{for(var g=U(),h=0,l=0;l>2],v[d+(8*l+4)>>2],void 0);if(0>r){e=-1;break a}h+=r}e=h}return e}catch(t){return"undefined"!==typeof S&&t instanceof K||q(t),-t.o}},STACKTOP:m,STACK_MAX:Za, +tempDoublePtr:nb,ABORT:oa,cttz_i8:Hd};// EMSCRIPTEN_START_ASM +var W=(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=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.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=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_i;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_iiiiiii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiii;var ma=env.invoke_viiiiii;var na=env.invoke_iii;var oa=env.invoke_iiiiii;var pa=env.invoke_viiii;var qa=env._pthread_cleanup_pop;var ra=env.___syscall221;var sa=env._utimes;var ta=env._pthread_cleanup_push;var ua=env.___syscall6;var va=env.___syscall40;var wa=env.___syscall118;var xa=env.___setErrNo;var ya=env.___syscall20;var za=env.___syscall183;var Aa=env._usleep;var Ba=env.___buildEnvironment;var Ca=env.___syscall39;var Da=env._localtime_r;var Ea=env._tzset;var Fa=env._emscripten_set_main_loop_timing;var Ga=env._sbrk;var Ha=env.___syscall192;var Ia=env.___syscall197;var Ja=env._emscripten_memcpy_big;var Ka=env.___syscall194;var La=env.___syscall212;var Ma=env._sysconf;var Na=env.___syscall94;var Oa=env._nanosleep;var Pa=env.___syscall195;var Qa=env.___syscall91;var Ra=env._pthread_self;var Sa=env._getenv;var Ta=env.___syscall33;var Ua=env.___syscall54;var Va=env.___unlock;var Wa=env.___syscall140;var Xa=env.___syscall15;var Ya=env._emscripten_set_main_loop;var Za=env.___syscall10;var _a=env.___syscall3;var $a=env.___lock;var ab=env._abort;var bb=env.___syscall5;var cb=env.___syscall4;var db=env._time;var eb=env._gettimeofday;var fb=env.___syscall201;var gb=env.___syscall207;var hb=env._localtime;var ib=env.___syscall202;var jb=env.___syscall146;var kb=0.0; // EMSCRIPTEN_START_FUNCS -function Cb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Db(){return i|0}function Eb(a){a=a|0;i=a}function Fb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Gb(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 Hb(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 Ib(a){a=a|0;D=a}function Jb(){return D|0}function Kb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;if(!(Lb(c[f>>2]|0,16,7)|0))c[f>>2]=(c[f>>2]|0)+7;c[h>>2]=Mb(c[f>>2]|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=5){b=9;break}if((Lb(c[f>>2]|0,c[24+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0)==0?(Nb(a[(c[24+(c[g>>2]<<2)>>2]|0)+(c[h>>2]|0)>>0]|0)|0)==0:0){b=7;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==7){c[d>>2]=1;h=c[d>>2]|0;i=e;return h|0}else if((b|0)==9){c[d>>2]=0;h=c[d>>2]|0;i=e;return h|0}return 0}function Lb(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;l=f+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[l>>2]=a;c[k>>2]=b;c[j>>2]=e;c[g>>2]=c[l>>2];c[h>>2]=c[k>>2];while(1){l=c[j>>2]|0;c[j>>2]=l+ -1;if((l|0)<=0)break;if(!(d[c[g>>2]>>0]|0))break;if((d[440+(d[c[g>>2]>>0]|0)>>0]|0|0)!=(d[440+(d[c[h>>2]>>0]|0)>>0]|0|0))break;c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}if((c[j>>2]|0)<0){l=0;i=f;return l|0}l=(d[440+(d[c[g>>2]>>0]|0)>>0]|0)-(d[440+(d[c[h>>2]>>0]|0)>>0]|0)|0;i=f;return l|0}function Mb(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;c[g>>2]=c[f>>2];if(!(c[f>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=d;return b|0}while(1){b=c[g>>2]|0;if(!(a[c[g>>2]>>0]|0))break;c[g>>2]=b+1}c[e>>2]=1073741823&b-(c[f>>2]|0);b=c[e>>2]|0;i=d;return b|0}function Nb(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return((d[1224+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Ob(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if((c[e>>2]|0)>=0&(c[e>>2]|0)<5){c[d>>2]=c[24+(c[e>>2]<<2)>>2];e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}return 0}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Qb(14581)|0;a=c[g>>2]|0;i=f;return a|0}c[c[j>>2]>>2]=c[48+(c[h>>2]<<2)>>2];c[c[k>>2]>>2]=c[88+(c[h>>2]<<2)>>2];if(c[l>>2]|0)c[88+(c[h>>2]<<2)>>2]=c[48+(c[h>>2]<<2)>>2];c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}function Qb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(vf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;tc(21,3216,d);i=b;return 21}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2];if(c[f>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[c[f>>2]>>2];c[e>>2]=(c[e>>2]|0)+1}i=b;return}function Sb(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Tb(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ub[c[38640+48>>2]&31](c[d>>2]|0)|0;i=b;return a|0}function Ub(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}Bn(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Xb(c[e>>2]|0,c[c[f>>2]>>2]|0);Xb(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0);wn(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);xn(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function Vb(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;l=f+4|0;k=f;c[g>>2]=a;c[h>>2]=d;if(!(c[h>>2]|0)){i=f;return}if(!((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+520>>2]|0)!=0:0))e=4;if((e|0)==4?(d=(c[h>>2]|0)+40|0,a=(b[d>>1]|0)+ -1<<16>>16,b[d>>1]=a,(a&65535|0)>0):0){i=f;return}c[j>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+20>>2];if(!((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+520>>2]|0)!=0:0)){c[k>>2]=c[c[j>>2]>>2];gh((c[(c[j>>2]|0)+24>>2]|0)+24|0,c[k>>2]|0,0)|0}ly(c[g>>2]|0,c[j>>2]|0);c[j>>2]=c[l>>2]}Ey(c[g>>2]|0,c[h>>2]|0);hy(c[g>>2]|0,c[h>>2]|0);Xb(c[g>>2]|0,c[c[h>>2]>>2]|0);Xb(c[g>>2]|0,c[(c[h>>2]|0)+20>>2]|0);tn(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0);sn(c[g>>2]|0,c[(c[h>>2]|0)+24>>2]|0);Fy(c[g>>2]|0,c[h>>2]|0);Xb(c[g>>2]|0,c[h>>2]|0);i=f;return}function Wb(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;g=h+16|0;f=h+12|0;k=h+8|0;l=h+4|0;j=h;c[g>>2]=a;c[f>>2]=d;hu(c[(c[f>>2]|0)+60>>2]|0,b[(c[f>>2]|0)+68>>1]|0);hu(c[(c[f>>2]|0)+16>>2]|0,e[(c[f>>2]|0)+84>>1]<<1);c[k>>2]=c[(c[f>>2]|0)+192>>2];while(1){if(!(c[k>>2]|0))break;c[l>>2]=c[(c[k>>2]|0)+24>>2];dD(c[g>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0);Xb(c[g>>2]|0,c[k>>2]|0);c[k>>2]=c[l>>2]}c[j>>2]=(b[(c[f>>2]|0)+70>>1]|0)-1;while(1){d=c[g>>2]|0;if((c[j>>2]|0)<0)break;Xb(d,c[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+ -1}dD(d,c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+32>>2]|0);Xb(c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Xb(c[g>>2]|0,c[(c[f>>2]|0)+168>>2]|0);Xb(c[g>>2]|0,c[(c[f>>2]|0)+172>>2]|0);i=h;return}function Xb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}if(c[g>>2]|0){a=c[g>>2]|0;b=c[e>>2]|0;if(c[(c[g>>2]|0)+520>>2]|0){OE(a,b);i=d;return}if(Ck(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[g>>2]|0)+272>>2];c[(c[g>>2]|0)+272>>2]=c[f>>2];a=(c[g>>2]|0)+252|0;c[a>>2]=(c[a>>2]|0)+ -1;i=d;return}}hc(c[e>>2]|0);i=d;return}function Yb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;f=b+8|0;e=b+4|0;g=b;c[f>>2]=a;c[e>>2]=0;c[g>>2]=Zb()|0;if(c[g>>2]|0){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[e>>2]=c[32];while(1){if((c[e>>2]|0)==0|(c[f>>2]|0)==0)break;if(!(UE(c[f>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[d>>2]=c[e>>2];g=c[d>>2]|0;i=b;return g|0}function Zb(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;if(c[9716]|0){c[b>>2]=0;f=c[b>>2]|0;i=a;return f|0}c[d>>2]=0;if(c[d>>2]|0){c[b>>2]=c[d>>2];f=c[b>>2]|0;i=a;return f|0}c[9718]=1;if(!(c[9719]|0))c[d>>2]=wf()|0;if((((c[d>>2]|0)==0?(c[9719]=1,(c[9722]|0)==0):0)?(c[9722]=8,(c[9661]|0)!=0):0)?(c[9722]|0)==0:0)c[d>>2]=7;if(!(c[d>>2]|0))c[9721]=(c[9721]|0)+1;if(c[d>>2]|0){c[b>>2]=c[d>>2];f=c[b>>2]|0;i=a;return f|0}if((c[9716]|0)==0?(c[9717]|0)==0:0){c[e>>2]=1576;c[9717]=1;f=(c[e>>2]|0)+0|0;e=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));xf();if(!(c[9720]|0))c[d>>2]=yf()|0;if(!(c[d>>2]|0)){c[9720]=1;c[d>>2]=zf()|0}if(!(c[d>>2]|0)){Af(c[9711]|0,c[9712]|0,c[9713]|0);c[9716]=1}c[9717]=0}c[9721]=(c[9721]|0)+ -1;if((c[9721]|0)<=0)c[9722]=0;c[b>>2]=c[d>>2];f=c[b>>2]|0;i=a;return f|0}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Zb()|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];a=c[e>>2]|0;i=d;return a|0}$b(c[f>>2]|0);b=c[32]|0;if((c[g>>2]|0)!=0|(c[32]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[32]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[32]|0)+12>>2]=c[f>>2]}c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}function $b(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if((c[32]|0)==(c[d>>2]|0)){c[32]=c[(c[d>>2]|0)+12>>2];i=b;return}if(!(c[32]|0)){i=b;return}c[e>>2]=c[32];while(1){if(c[(c[e>>2]|0)+12>>2]|0)f=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else f=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!f)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=b;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=b;return}function ac(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+16|0;j=f+12|0;g=f;h=f+8|0;c[k>>2]=a;c[j>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[38]=c[k>>2];c[39]=c[j>>2];d=g;b=c[d+4>>2]|0;a=144|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[h>>2]=ME(0)|0;a=g;b=c[a+4>>2]|0;if(!((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)){k=0;k=k&1;c[43]=k;i=f;return 0}j=g;b=c[j+4>>2]|0;k=c[h>>2]|0;a=((k|0)<0)<<31>>31;k=(b|0)<(a|0)|((b|0)==(a|0)?(c[j>>2]|0)>>>0<=k>>>0:0);k=k&1;c[43]=k;i=f;return 0}function cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+48|0;e=d+24|0;g=d+16|0;f=d+8|0;h=d;j=d+32|0;k=g;c[k>>2]=a;c[k+4>>2]=b;c[j>>2]=Zb()|0;if(c[j>>2]|0){j=e;c[j>>2]=-1;c[j+4>>2]=-1;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}a=144|0;j=c[a+4>>2]|0;k=f;c[k>>2]=c[a>>2];c[k+4>>2]=j;if((c[g+4>>2]|0)<0){a=f;k=c[a+4>>2]|0;j=e;c[j>>2]=c[a>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}k=g;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0){k=g;bc(2,0,c[k>>2]|0,c[k+4>>2]|0)|0}else bc(0,0,0,0)|0;k=ec()|0;j=g;j=ZE(k|0,D|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=h;c[k>>2]=j;c[k+4>>2]=D;k=h;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0)ac(c[h>>2]&2147483647)|0;a=f;k=c[a+4>>2]|0;j=e;c[j>>2]=c[a>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}function dc(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+16|0;g=f+8|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;ac(c[g>>2]|0)|0;i=f;return}function ec(){var a=0,b=0,d=0,e=0;b=i;i=i+16|0;e=b+12|0;a=b;Pb(0,e,b+8|0,0)|0;e=c[e>>2]|0;d=a;c[d>>2]=e;c[d+4>>2]=((e|0)<0)<<31>>31;D=c[a+4>>2]|0;i=b;return c[a>>2]|0}function fc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Zb()|0){c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}if((c[e>>2]|0)<=0)a=0;else{a=c[e>>2]|0;a=gc(a,((a|0)<0)<<31>>31)|0}c[d>>2]=a;e=c[d>>2]|0;i=b;return e|0}function gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d;e=d+8|0;g=f;c[g>>2]=a;c[g+4>>2]=b;g=f;a=f;b=c[a+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(b>>>0>0|(b|0)==0&(c[a>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=d;return g|0}if(c[9660]|0){PE(c[f>>2]|0,e)|0;g=c[e>>2]|0;i=d;return g|0}else{c[e>>2]=ub[c[38640+36>>2]&31](c[f>>2]|0)|0;g=c[e>>2]|0;i=d;return g|0}return 0}function hc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if(c[9660]|0){ic(0,0-(Tb(c[d>>2]|0)|0)|0);ic(9,-1);rb[c[38640+40>>2]&31](c[d>>2]|0);i=b;return}else{rb[c[38640+40>>2]&31](c[d>>2]|0);i=b;return}}function ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=48+(c[e>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[48+(c[e>>2]<<2)>>2]|0)<=(c[88+(c[e>>2]<<2)>>2]|0)){i=d;return}c[88+(c[e>>2]<<2)>>2]=c[48+(c[e>>2]<<2)>>2];i=d;return}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;g=d+4|0;f=d;c[g>>2]=a;c[f>>2]=b;if(Zb()|0){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[e>>2]=kc(c[g>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[e>>2]|0;i=d;return a|0}function kc(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,l=0,m=0,n=0;k=i;i=i+32|0;f=k+28|0;g=k+24|0;e=k;l=k+20|0;j=k+16|0;m=k+12|0;h=k+8|0;c[g>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;d=e;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[g>>2]|0)){c[f>>2]=gc(b,d)|0;a=c[f>>2]|0;i=k;return a|0}if((b|0)==0&(d|0)==0){hc(c[g>>2]|0);c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}a=e;b=c[a+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}c[l>>2]=Tb(c[g>>2]|0)|0;c[j>>2]=ub[c[38640+52>>2]&31](c[e>>2]|0)|0;do if((c[l>>2]|0)!=(c[j>>2]|0)){if(!(c[9660]|0)){c[h>>2]=zb[c[38640+44>>2]&63](c[g>>2]|0,c[j>>2]|0)|0;break}Bg(5,c[e>>2]|0);c[m>>2]=(c[j>>2]|0)-(c[l>>2]|0);b=ME(0)|0;n=((b|0)<0)<<31>>31;d=144|0;a=c[m>>2]|0;a=ZE(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=D;if((n|0)>(d|0)|(n|0)==(d|0)&b>>>0>=a>>>0)NE(c[m>>2]|0);c[h>>2]=zb[c[38640+44>>2]&63](c[g>>2]|0,c[j>>2]|0)|0;if((c[h>>2]|0)==0&(c[38]|0)!=0){NE(c[e>>2]|0);c[h>>2]=zb[c[38640+44>>2]&63](c[g>>2]|0,c[j>>2]|0)|0}if(c[h>>2]|0){c[j>>2]=Tb(c[h>>2]|0)|0;ic(0,(c[j>>2]|0)-(c[l>>2]|0)|0)}}else c[h>>2]=c[g>>2];while(0);c[f>>2]=c[h>>2];n=c[f>>2]|0;i=k;return n|0}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;if(Zb()|0){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}else{a=h;c[f>>2]=kc(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}return 0}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+128|0;f=e+40|0;k=e+36|0;j=e+32|0;g=e+28|0;h=e;c[k>>2]=b;c[j>>2]=d;if(Zb()|0){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}else{nc(h,e+44|0,70,1e9);a[h+24>>0]=2;oc(h,0,c[k>>2]|0,c[j>>2]|0);c[g>>2]=pc(h)|0;c[f>>2]=c[g>>2];b=c[f>>2]|0;i=e;return b|0}return 0}function nc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;b=c[l>>2]|0;c[(c[h>>2]|0)+4>>2]=b;c[(c[h>>2]|0)+8>>2]=b;c[c[h>>2]>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[(c[h>>2]|0)+16>>2]=c[k>>2];c[(c[h>>2]|0)+20>>2]=c[j>>2];a[(c[h>>2]|0)+24>>0]=1;a[(c[h>>2]|0)+25>>0]=0;i=g;return}function oc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=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,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.0;m=i;i=i+272|0;Y=m+172|0;ra=m+168|0;q=m+164|0;z=m+160|0;p=m+156|0;I=m+152|0;A=m+148|0;J=m+144|0;G=m+140|0;o=m+136|0;r=m+264|0;s=m+263|0;t=m+262|0;w=m+261|0;u=m+260|0;v=m+259|0;B=m+258|0;C=m+257|0;n=m+256|0;F=m+255|0;x=m+254|0;ia=m+253|0;Q=m+252|0;ma=m+32|0;P=m+24|0;E=m+132|0;X=m+128|0;ja=m+124|0;W=m+120|0;S=m+116|0;V=m+112|0;j=m+108|0;R=m+16|0;Z=m+251|0;U=m+250|0;y=m+104|0;H=m+180|0;qa=m+8|0;pa=m+100|0;oa=m+96|0;na=m+179|0;ka=m+92|0;la=m+178|0;T=m;$=m+88|0;_=m+84|0;ea=m+80|0;ha=m+76|0;ca=m+72|0;da=m+68|0;ba=m+64|0;ga=m+60|0;fa=m+177|0;K=m+176|0;aa=m+56|0;L=m+52|0;M=m+48|0;N=m+44|0;O=m+40|0;c[Y>>2]=b;c[ra>>2]=e;c[q>>2]=f;c[z>>2]=g;a[F>>0]=0;c[W>>2]=0;c[y>>2]=0;c[I>>2]=0;if(c[ra>>2]|0){g=c[ra>>2]&2;a[x>>0]=g;if(g&255){b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[y>>2]=g}a[ia>>0]=c[ra>>2]&1}else{a[ia>>0]=0;a[x>>0]=0}a:while(1){g=a[c[q>>2]>>0]|0;c[p>>2]=g;if(!g){l=274;break}if((c[p>>2]|0)!=37){c[I>>2]=c[q>>2];do{c[q>>2]=(c[q>>2]|0)+1;if(!(a[c[q>>2]>>0]|0))break}while((a[c[q>>2]>>0]|0)!=37);Vm(c[Y>>2]|0,c[I>>2]|0,(c[q>>2]|0)-(c[I>>2]|0)|0);if(!(a[c[q>>2]>>0]|0)){l=274;break}}g=(c[q>>2]|0)+1|0;c[q>>2]=g;g=a[g>>0]|0;c[p>>2]=g;if(!g){l=13;break}a[v>>0]=0;a[u>>0]=0;a[w>>0]=0;a[t>>0]=0;a[s>>0]=0;a[r>>0]=0;a[n>>0]=0;do{switch(c[p>>2]|0){case 45:{a[r>>0]=1;break};case 43:{a[s>>0]=1;break};case 32:{a[t>>0]=1;break};case 33:{a[u>>0]=1;break};case 48:{a[v>>0]=1;break};case 35:{a[w>>0]=1;break};default:a[n>>0]=1}if(a[n>>0]|0)break;g=(c[q>>2]|0)+1|0;c[q>>2]=g;g=a[g>>0]|0;c[p>>2]=g}while((g|0)!=0);c[o>>2]=0;b:do if((c[p>>2]|0)==42){if(a[x>>0]|0){g=HE(c[y>>2]|0)|0;c[o>>2]=g}else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[o>>2]=g}if((c[o>>2]|0)<0){a[r>>0]=1;c[o>>2]=0-(c[o>>2]|0)}g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0]}else while(1){if(!((c[p>>2]|0)>=48&(c[p>>2]|0)<=57))break b;c[o>>2]=((c[o>>2]|0)*10|0)+(c[p>>2]|0)-48;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0]}while(0);c:do if((c[p>>2]|0)==46){c[A>>2]=0;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0];if((c[p>>2]|0)!=42)while(1){if(!((c[p>>2]|0)>=48&(c[p>>2]|0)<=57))break c;c[A>>2]=((c[A>>2]|0)*10|0)+(c[p>>2]|0)-48;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0]}if(a[x>>0]|0){g=HE(c[y>>2]|0)|0;c[A>>2]=g}else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[A>>2]=g}if((c[A>>2]|0)<0)c[A>>2]=0-(c[A>>2]|0);g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0]}else c[A>>2]=-1;while(0);do if((c[p>>2]|0)==108){a[B>>0]=1;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0];if((c[p>>2]|0)==108){a[C>>0]=1;g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[p>>2]=a[g>>0];break}else{a[C>>0]=0;break}}else{a[C>>0]=0;a[B>>0]=0}while(0);c[E>>2]=38392;a[F>>0]=0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=23)break;ra=c[G>>2]|0;if((c[p>>2]|0)==(a[38392+((c[G>>2]|0)*6|0)>>0]|0)){l=53;break}c[G>>2]=ra+1}if((l|0)==53){l=0;c[E>>2]=38392+(ra*6|0);if((d[ia>>0]|0)==0?(d[(c[E>>2]|0)+2>>0]&2|0)!=0:0){l=274;break}a[F>>0]=a[(c[E>>2]|0)+3>>0]|0}d:do switch(d[F>>0]|0){case 14:{a[C>>0]=0;a[B>>0]=1;l=59;break};case 1:case 16:{l=59;break};case 4:case 3:case 2:{if(a[x>>0]|0)h[P>>3]=+IE(c[y>>2]|0);else{g=c[z>>2]|0;b=c[g>>2]|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];sa=+h[k>>3];c[g>>2]=b+8;h[P>>3]=sa}if((c[A>>2]|0)<0)c[A>>2]=6;do if(!(+h[P>>3]<0.0)){if(a[s>>0]|0){a[Q>>0]=43;break}if(a[t>>0]|0){a[Q>>0]=32;break}else{a[Q>>0]=0;break}}else{h[P>>3]=-+h[P>>3];a[Q>>0]=45}while(0);if((d[F>>0]|0)==4&(c[A>>2]|0)>0)c[A>>2]=(c[A>>2]|0)+ -1;c[G>>2]=c[A>>2];h[R>>3]=.5;while(1){if((c[G>>2]|0)<=0)break;c[G>>2]=(c[G>>2]|0)+ -1;h[R>>3]=+h[R>>3]*.1}if((d[F>>0]|0)==2)h[P>>3]=+h[P>>3]+ +h[R>>3];c[S>>2]=0;if($w(+h[P>>3])|0){c[I>>2]=38600;c[J>>2]=3;break d}if(+h[P>>3]>0.0){h[T>>3]=1.0;while(1){if(!((c[S>>2]|0)<=350?+h[P>>3]>=+h[T>>3]*1.0e+100:0))break;h[T>>3]=+h[T>>3]*1.0e+100;c[S>>2]=(c[S>>2]|0)+100}while(1){if(!((c[S>>2]|0)<=350?+h[P>>3]>=+h[T>>3]*1.0e+64:0))break;h[T>>3]=+h[T>>3]*1.0e+64;c[S>>2]=(c[S>>2]|0)+64}while(1){if(!((c[S>>2]|0)<=350?+h[P>>3]>=+h[T>>3]*1.0e8:0))break;h[T>>3]=+h[T>>3]*1.0e8;c[S>>2]=(c[S>>2]|0)+8}while(1){if(+h[P>>3]>=+h[T>>3]*10.0)ra=(c[S>>2]|0)<=350;else ra=0;sa=+h[T>>3];if(!ra)break;h[T>>3]=sa*10.0;c[S>>2]=(c[S>>2]|0)+1}h[P>>3]=+h[P>>3]/sa;while(1){if(!(+h[P>>3]<1.0e-8))break;h[P>>3]=+h[P>>3]*1.0e8;c[S>>2]=(c[S>>2]|0)-8}while(1){if(!(+h[P>>3]<1.0))break;h[P>>3]=+h[P>>3]*10.0;c[S>>2]=(c[S>>2]|0)+ -1}if((c[S>>2]|0)>350){do if((a[Q>>0]|0)!=45)if((a[Q>>0]|0)==43){c[I>>2]=38616;break}else{c[I>>2]=38624;break}else c[I>>2]=38608;while(0);c[J>>2]=Mb(c[I>>2]|0)|0;break d}}c[I>>2]=H;if((d[F>>0]|0)!=2?(h[P>>3]=+h[P>>3]+ +h[R>>3],+h[P>>3]>=10.0):0){h[P>>3]=+h[P>>3]*.1;c[S>>2]=(c[S>>2]|0)+1}e:do if((d[F>>0]|0)==4){a[U>>0]=((a[w>>0]|0)!=0^1)&1;do if((c[S>>2]|0)>=-4){if((c[S>>2]|0)>(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)-(c[S>>2]|0);a[F>>0]=2;break e}while(0);a[F>>0]=3}else a[U>>0]=a[u>>0]|0;while(0);if((d[F>>0]|0)==3)c[V>>2]=0;else c[V>>2]=c[S>>2];if((((c[V>>2]|0)>0?c[V>>2]|0:0)+(c[A>>2]|0)+(c[o>>2]|0)|0)>55?(g=((c[V>>2]|0)>0?c[V>>2]|0:0)+(c[A>>2]|0)+(c[o>>2]|0)+15|0,g=gc(g,((g|0)<0)<<31>>31)|0,c[W>>2]=g,c[I>>2]=g,(c[I>>2]|0)==0):0){l=167;break a}c[X>>2]=c[I>>2];c[j>>2]=16+((d[u>>0]|0)*10|0);a[Z>>0]=((c[A>>2]|0)>0?1:0)|d[w>>0]|d[u>>0];if(a[Q>>0]|0){b=a[Q>>0]|0;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b}f:do if((c[V>>2]|0)<0){g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=48}else while(1){if((c[V>>2]|0)<0)break f;b=JE(P,j)|0;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b;c[V>>2]=(c[V>>2]|0)+ -1}while(0);if(a[Z>>0]|0){g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=46}c[V>>2]=(c[V>>2]|0)+1;while(1){if((c[V>>2]|0)>=0)break;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=48;c[A>>2]=(c[A>>2]|0)+ -1;c[V>>2]=(c[V>>2]|0)+1}while(1){g=c[A>>2]|0;c[A>>2]=g+ -1;if((g|0)<=0)break;b=JE(P,j)|0;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b}do if(d[U>>0]|0){if(!(d[Z>>0]|0))break;while(1){ra=(c[I>>2]|0)+ -1|0;if((a[(c[I>>2]|0)+ -1>>0]|0)!=48)break;c[I>>2]=ra;a[ra>>0]=0}if((a[ra>>0]|0)!=46)break;ra=c[I>>2]|0;if(a[u>>0]|0){c[I>>2]=ra+1;a[ra>>0]=48;break}else{g=ra+ -1|0;c[I>>2]=g;a[g>>0]=0;break}}while(0);if((d[F>>0]|0)==3){ra=a[38552+(d[(c[E>>2]|0)+4>>0]|0)>>0]|0;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=ra;g=(c[S>>2]|0)<0;ra=c[I>>2]|0;c[I>>2]=ra+1;if(g){a[ra>>0]=45;c[S>>2]=0-(c[S>>2]|0)}else a[ra>>0]=43;if((c[S>>2]|0)>=100){b=((c[S>>2]|0)/100|0)+48&255;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b;c[S>>2]=(c[S>>2]|0)%100|0}g=((c[S>>2]|0)/10|0)+48&255;b=c[I>>2]|0;c[I>>2]=b+1;a[b>>0]=g;b=((c[S>>2]|0)%10|0)+48&255;g=c[I>>2]|0;c[I>>2]=g+1;a[g>>0]=b}a[c[I>>2]>>0]=0;c[J>>2]=(c[I>>2]|0)-(c[X>>2]|0);c[I>>2]=c[X>>2];if((d[v>>0]|0)==0|(a[r>>0]|0)!=0)break d;if((c[J>>2]|0)>=(c[o>>2]|0))break d;c[_>>2]=(c[o>>2]|0)-(c[J>>2]|0);c[$>>2]=c[o>>2];while(1){if((c[$>>2]|0)<(c[_>>2]|0))break;a[(c[I>>2]|0)+(c[$>>2]|0)>>0]=a[(c[I>>2]|0)+((c[$>>2]|0)-(c[_>>2]|0))>>0]|0;c[$>>2]=(c[$>>2]|0)+ -1}c[$>>2]=(a[Q>>0]|0)!=0&1;while(1){g=c[_>>2]|0;c[_>>2]=g+ -1;if(!g)break;g=c[$>>2]|0;c[$>>2]=g+1;a[(c[I>>2]|0)+g>>0]=48}c[J>>2]=c[o>>2];break};case 5:{if(!(a[x>>0]|0)){b=c[(c[Y>>2]|0)+12>>2]|0;e=c[z>>2]|0;f=c[e>>2]|0;g=c[f>>2]|0;c[e>>2]=f+4;c[g>>2]=b}c[o>>2]=0;c[J>>2]=0;break};case 8:{a[H>>0]=37;c[I>>2]=H;c[J>>2]=1;break};case 9:{if(a[x>>0]|0){c[I>>2]=KE(c[y>>2]|0)|0;if(c[I>>2]|0)ra=a[c[I>>2]>>0]|0;else ra=0;c[p>>2]=ra}else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=g}if((c[A>>2]|0)>1){c[o>>2]=(c[o>>2]|0)-((c[A>>2]|0)-1);if(!((c[o>>2]|0)<=1|(a[r>>0]|0)!=0)){LE(c[Y>>2]|0,(c[o>>2]|0)-1|0,32);c[o>>2]=0}LE(c[Y>>2]|0,(c[A>>2]|0)-1|0,c[p>>2]&255)}c[J>>2]=1;a[H>>0]=c[p>>2];c[I>>2]=H;break};case 7:case 6:{if(a[x>>0]|0)c[I>>2]=KE(c[y>>2]|0)|0;else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[I>>2]=g}if(c[I>>2]|0){if(!((d[F>>0]|0)!=7|(a[x>>0]|0)!=0))c[W>>2]=c[I>>2]}else c[I>>2]=1216;if((c[A>>2]|0)<0){c[J>>2]=Mb(c[I>>2]|0)|0;break d}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[A>>2]|0))break d;if(!(a[(c[I>>2]|0)+(c[J>>2]|0)>>0]|0))break d;c[J>>2]=(c[J>>2]|0)+1}};case 15:case 11:case 10:{a[K>>0]=(d[F>>0]|0)==15?34:39;if(a[x>>0]|0)c[aa>>2]=KE(c[y>>2]|0)|0;else{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[aa>>2]=g}c[ba>>2]=(c[aa>>2]|0)==0&1;if(c[ba>>2]|0)c[aa>>2]=(d[F>>0]|0)==11?9840:38632;c[ca>>2]=c[A>>2];c[da>>2]=0;c[ea>>2]=0;while(1){if(!(c[ca>>2]|0))break;g=a[(c[aa>>2]|0)+(c[ea>>2]|0)>>0]|0;a[fa>>0]=g;if(!(g<<24>>24))break;if((a[fa>>0]|0)==(a[K>>0]|0))c[da>>2]=(c[da>>2]|0)+1;c[ea>>2]=(c[ea>>2]|0)+1;c[ca>>2]=(c[ca>>2]|0)+ -1}if(c[ba>>2]|0)ra=0;else ra=(d[F>>0]|0)==11;c[ga>>2]=ra&1;c[da>>2]=(c[da>>2]|0)+((c[ea>>2]|0)+1+(c[ga>>2]<<1));if((c[da>>2]|0)>70){g=c[da>>2]|0;g=gc(g,((g|0)<0)<<31>>31)|0;c[W>>2]=g;c[I>>2]=g;if(!(c[I>>2]|0)){l=247;break a}}else c[I>>2]=H;c[ha>>2]=0;if(c[ga>>2]|0){b=a[K>>0]|0;g=c[ha>>2]|0;c[ha>>2]=g+1;a[(c[I>>2]|0)+g>>0]=b}c[ca>>2]=c[ea>>2];c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[ca>>2]|0))break;b=a[(c[aa>>2]|0)+(c[ea>>2]|0)>>0]|0;a[fa>>0]=b;g=c[ha>>2]|0;c[ha>>2]=g+1;a[(c[I>>2]|0)+g>>0]=b;if((a[fa>>0]|0)==(a[K>>0]|0)){b=a[fa>>0]|0;g=c[ha>>2]|0;c[ha>>2]=g+1;a[(c[I>>2]|0)+g>>0]=b}c[ea>>2]=(c[ea>>2]|0)+1}if(c[ga>>2]|0){b=a[K>>0]|0;g=c[ha>>2]|0;c[ha>>2]=g+1;a[(c[I>>2]|0)+g>>0]=b}a[(c[I>>2]|0)+(c[ha>>2]|0)>>0]=0;c[J>>2]=c[ha>>2];break};case 12:{b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[L>>2]=g;if((c[L>>2]|0)!=0?(c[(c[L>>2]|0)+4>>2]|0)!=0:0)Vm(c[Y>>2]|0,c[c[L>>2]>>2]|0,c[(c[L>>2]|0)+4>>2]|0);c[o>>2]=0;c[J>>2]=0;break};case 13:{e=c[z>>2]|0;g=c[e>>2]|0;b=c[g>>2]|0;c[e>>2]=g+4;c[M>>2]=b;b=c[z>>2]|0;e=c[b>>2]|0;g=c[e>>2]|0;c[b>>2]=e+4;c[N>>2]=g;c[O>>2]=(c[M>>2]|0)+8+((c[N>>2]|0)*72|0);if(c[(c[O>>2]|0)+4>>2]|0){ss(c[Y>>2]|0,c[(c[O>>2]|0)+4>>2]|0);Vm(c[Y>>2]|0,19120,1)}ss(c[Y>>2]|0,c[(c[O>>2]|0)+8>>2]|0);c[o>>2]=0;c[J>>2]=0;break};default:{l=274;break a}}while(0);if((l|0)==59){l=0;ra=(a[x>>0]|0)!=0;do if(d[(c[E>>2]|0)+2>>0]&1){do if(!ra){ra=c[z>>2]|0;if(a[C>>0]|0){g=c[ra>>2]|0;b=g;e=c[b>>2]|0;b=c[b+4>>2]|0;c[ra>>2]=g+8;g=qa;c[g>>2]=e;c[g+4>>2]=b;break}else{g=c[ra>>2]|0;b=c[g>>2]|0;c[ra>>2]=g+4;g=qa;c[g>>2]=b;c[g+4>>2]=((b|0)<0)<<31>>31;break}}else{b=HE(c[y>>2]|0)|0;g=qa;c[g>>2]=b;c[g+4>>2]=D}while(0);ra=qa;f=c[ra>>2]|0;ra=c[ra+4>>2]|0;if((c[qa+4>>2]|0)<0){if((f|0)==0&(ra|0)==-2147483648){g=ma;c[g>>2]=0;c[g+4>>2]=-2147483648}else{b=qa;b=ZE(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;g=ma;c[g>>2]=b;c[g+4>>2]=D}a[Q>>0]=45;break}g=ma;c[g>>2]=f;c[g+4>>2]=ra;if(a[s>>0]|0){a[Q>>0]=43;break}if(a[t>>0]|0){a[Q>>0]=32;break}else{a[Q>>0]=0;break}}else{do if(!ra){ra=c[z>>2]|0;if(a[C>>0]|0){g=c[ra>>2]|0;b=g;e=c[b>>2]|0;b=c[b+4>>2]|0;c[ra>>2]=g+8;g=ma;c[g>>2]=e;c[g+4>>2]=b;break}else{g=c[ra>>2]|0;b=c[g>>2]|0;c[ra>>2]=g+4;g=ma;c[g>>2]=b;c[g+4>>2]=0;break}}else{b=HE(c[y>>2]|0)|0;g=ma;c[g>>2]=b;c[g+4>>2]=D}while(0);a[Q>>0]=0}while(0);g=ma;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0)a[w>>0]=0;if((d[v>>0]|0)!=0?(c[A>>2]|0)<((c[o>>2]|0)-((a[Q>>0]|0)!=0&1)|0):0)c[A>>2]=(c[o>>2]|0)-((a[Q>>0]|0)!=0&1);if((c[A>>2]|0)>=60){c[ja>>2]=(c[A>>2]|0)+10;g=c[ja>>2]|0;g=gc(g,((g|0)<0)<<31>>31)|0;c[W>>2]=g;c[X>>2]=g;if(!(c[X>>2]|0)){l=89;break}}else{c[ja>>2]=70;c[X>>2]=H}c[I>>2]=(c[X>>2]|0)+((c[ja>>2]|0)-1);if((d[F>>0]|0)==16){g=ma;g=nF(c[g>>2]|0,c[g+4>>2]|0,10,0)|0;c[pa>>2]=g;if(!((c[pa>>2]|0)<4?(g=ma,g=mF(c[g>>2]|0,c[g+4>>2]|0,10,0)|0,g=nF(g|0,D|0,10,0)|0,!((g|0)==1&(D|0)==0)):0))c[pa>>2]=0;g=a[(c[pa>>2]<<1)+38537>>0]|0;b=(c[I>>2]|0)+ -1|0;c[I>>2]=b;a[b>>0]=g;b=a[38536+(c[pa>>2]<<1)>>0]|0;g=(c[I>>2]|0)+ -1|0;c[I>>2]=g;a[g>>0]=b}c[oa>>2]=38552+(d[(c[E>>2]|0)+4>>0]|0);a[na>>0]=a[(c[E>>2]|0)+1>>0]|0;do{g=ma;g=nF(c[g>>2]|0,c[g+4>>2]|0,d[na>>0]|0,0)|0;g=a[(c[oa>>2]|0)+g>>0]|0;b=(c[I>>2]|0)+ -1|0;c[I>>2]=b;a[b>>0]=g;b=ma;b=mF(c[b>>2]|0,c[b+4>>2]|0,d[na>>0]|0,0)|0;g=ma;c[g>>2]=b;c[g+4>>2]=D;g=ma;b=c[g+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[g>>2]|0)>>>0>0);c[J>>2]=(c[X>>2]|0)+((c[ja>>2]|0)-1)-(c[I>>2]|0);c[G>>2]=(c[A>>2]|0)-(c[J>>2]|0);while(1){if((c[G>>2]|0)<=0)break;g=(c[I>>2]|0)+ -1|0;c[I>>2]=g;a[g>>0]=48;c[G>>2]=(c[G>>2]|0)+ -1}if(a[Q>>0]|0){b=a[Q>>0]|0;g=(c[I>>2]|0)+ -1|0;c[I>>2]=g;a[g>>0]=b}g:do if((d[w>>0]|0)!=0?(d[(c[E>>2]|0)+5>>0]|0)!=0:0){c[ka>>2]=38592+(d[(c[E>>2]|0)+5>>0]|0);while(1){g=a[c[ka>>2]>>0]|0;a[la>>0]=g;if(!(g<<24>>24))break g;b=a[la>>0]|0;g=(c[I>>2]|0)+ -1|0;c[I>>2]=g;a[g>>0]=b;c[ka>>2]=(c[ka>>2]|0)+1}}while(0);c[J>>2]=(c[X>>2]|0)+((c[ja>>2]|0)-1)-(c[I>>2]|0)}c[o>>2]=(c[o>>2]|0)-(c[J>>2]|0);if(!((c[o>>2]|0)<=0|(a[r>>0]|0)!=0))LE(c[Y>>2]|0,c[o>>2]|0,32);Vm(c[Y>>2]|0,c[I>>2]|0,c[J>>2]|0);if((c[o>>2]|0)>0?(d[r>>0]|0)!=0:0)LE(c[Y>>2]|0,c[o>>2]|0,32);if(c[W>>2]|0){hc(c[W>>2]|0);c[W>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if((l|0)==13){Vm(c[Y>>2]|0,38384,1);i=m;return}else if((l|0)==89){Ym(c[Y>>2]|0,1);i=m;return}else if((l|0)==167){Ym(c[Y>>2]|0,1);i=m;return}else if((l|0)==247){Ym(c[Y>>2]|0,1);i=m;return}else if((l|0)==274){i=m;return}}function pc(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(d[(c[e>>2]|0)+24>>0]|0|0)!=0):0)?(c[(c[e>>2]|0)+8>>2]|0)==(c[(c[e>>2]|0)+4>>2]|0):0){b=c[e>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){g=(c[(c[e>>2]|0)+12>>2]|0)+1|0;b=Qe(c[b>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[e>>2]|0)+8>>2]=b}else{g=fc((c[b+12>>2]|0)+1|0)|0;c[(c[e>>2]|0)+8>>2]=g}b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){dF(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;break}else{Ym(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+28|0;h=d+24|0;g=d+8|0;f=d;c[h>>2]=a;if(Zb()|0){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}else{c[g>>2]=b;c[f>>2]=mc(c[h>>2]|0,g)|0;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}return 0}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;h=l+44|0;m=l+40|0;n=l+36|0;g=l+32|0;k=l+28|0;j=l;c[m>>2]=b;c[n>>2]=d;c[g>>2]=e;c[k>>2]=f;f=c[n>>2]|0;if((c[m>>2]|0)<=0){c[h>>2]=f;n=c[h>>2]|0;i=l;return n|0}else{nc(j,f,c[m>>2]|0,0);a[j+24>>0]=0;oc(j,0,c[g>>2]|0,c[k>>2]|0);c[h>>2]=pc(j)|0;n=c[h>>2]|0;i=l;return n|0}return 0}function sc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=rc(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;g=e+20|0;h=e+16|0;f=e;c[g>>2]=a;c[h>>2]=b;if(!(c[9723]|0)){i=e;return}c[f>>2]=d;uc(c[g>>2]|0,c[h>>2]|0,f);i=e;return}function uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+256|0;j=f+36|0;k=f+32|0;g=f+28|0;h=f;c[j>>2]=b;c[k>>2]=d;c[g>>2]=e;nc(h,f+40|0,210,0);a[h+24>>0]=0;oc(h,0,c[k>>2]|0,c[g>>2]|0);g=c[9723]|0;e=c[9724]|0;d=c[j>>2]|0;b=pc(h)|0;vb[g&63](e,d,b);i=f;return}function vc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+288|0;j=f+12|0;m=f+8|0;g=f+272|0;h=f+4|0;k=f;l=f+16|0;c[j>>2]=b;c[m>>2]=e;c[h>>2]=c[m>>2];if((c[j>>2]|0)<=0){a[176]=0;i=f;return}if(!(a[176]|0)){a[178]=0;a[177]=0;wc(Yb(0)|0,256,l)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;a[(c[k>>2]|0)+179>>0]=c[k>>2];c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;a[178]=(d[178]|0)+((d[(c[k>>2]|0)+179>>0]|0)+(a[l+(c[k>>2]|0)>>0]|0));a[g>>0]=a[(d[178]|0)+179>>0]|0;a[(d[178]|0)+179>>0]=a[(c[k>>2]|0)+179>>0]|0;a[(c[k>>2]|0)+179>>0]=a[g>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[176]=1}do{a[177]=(a[177]|0)+1<<24>>24;a[g>>0]=a[(d[177]|0)+179>>0]|0;a[178]=(d[178]|0)+(d[g>>0]|0);a[(d[177]|0)+179>>0]=a[(d[178]|0)+179>>0]|0;a[(d[178]|0)+179>>0]=a[g>>0]|0;a[g>>0]=(d[g>>0]|0)+(d[(d[177]|0)+179>>0]|0);b=a[(d[g>>0]|0)+179>>0]|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=b;m=(c[j>>2]|0)+ -1|0;c[j>>2]=m}while((m|0)!=0);i=f;return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=pb[c[(c[h>>2]|0)+56>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function xc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;c[j>>2]=a;c[h>>2]=b;c[g>>2]=c[j>>2];c[f>>2]=c[h>>2];while(1){if(d[c[g>>2]>>0]|0)a=(d[440+(d[c[g>>2]>>0]|0)>>0]|0|0)==(d[440+(d[c[f>>2]>>0]|0)>>0]|0|0);else a=0;b=c[g>>2]|0;if(!a)break;c[g>>2]=b+1;c[f>>2]=(c[f>>2]|0)+1}i=e;return(d[440+(d[b>>0]|0)>>0]|0)-(d[440+(d[c[f>>2]>>0]|0)>>0]|0)|0}function yc(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=0;while(1){if((c[b>>2]|0)>>>0>=4)break;_b(696+((c[b>>2]|0)*88|0)|0,(c[b>>2]|0)==0&1)|0;c[b>>2]=(c[b>>2]|0)+1}i=a;return 0}function zc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;q=i;i=i+624|0;p=q+92|0;A=q+88|0;C=q+84|0;B=q+80|0;k=q+76|0;H=q+72|0;s=q+68|0;r=q+64|0;t=q+60|0;j=q+56|0;F=q+52|0;n=q+48|0;D=q+44|0;w=q+40|0;G=q+36|0;v=q+32|0;o=q+28|0;u=q+24|0;E=q+20|0;m=q+96|0;z=q+16|0;l=q+12|0;x=q+8|0;y=q+4|0;g=q;c[A>>2]=a;c[C>>2]=b;c[B>>2]=d;c[k>>2]=e;c[H>>2]=f;c[s>>2]=c[B>>2];c[r>>2]=-1;c[t>>2]=0;c[j>>2]=c[k>>2]&-256;c[n>>2]=0;c[D>>2]=0;c[w>>2]=c[k>>2]&16;c[G>>2]=c[k>>2]&8;c[v>>2]=c[k>>2]&4;c[o>>2]=c[k>>2]&1;c[u>>2]=c[k>>2]&2;if(c[v>>2]|0)if((c[j>>2]|0)==16384|(c[j>>2]|0)==2048)f=1;else f=(c[j>>2]|0)==524288;else f=0;c[E>>2]=f&1;c[z>>2]=c[C>>2];a=c[9524]|0;if((a|0)!=(Ka()|0)){c[9524]=Ka()|0;vc(0,0)}e=(c[s>>2]|0)+0|0;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));f=c[z>>2]|0;do if((c[j>>2]|0)!=256){if(!f){c[n>>2]=bE(514,m)|0;if(!(c[n>>2]|0)){c[z>>2]=m;break}c[p>>2]=c[n>>2];a=c[p>>2]|0;i=q;return a|0}}else{c[l>>2]=qE(f,c[k>>2]|0)|0;if(!(c[l>>2]|0)){c[l>>2]=fc(12)|0;if(!(c[l>>2]|0)){c[p>>2]=7;a=c[p>>2]|0;i=q;return a|0}}else c[r>>2]=c[c[l>>2]>>2];c[(c[s>>2]|0)+28>>2]=c[l>>2]}while(0);if(c[o>>2]|0)c[t>>2]=c[t>>2];if(c[u>>2]|0)c[t>>2]=c[t>>2]|2;if(c[v>>2]|0)c[t>>2]=c[t>>2]|64;if(c[w>>2]|0)c[t>>2]=c[t>>2]|131200;c[t>>2]=c[t>>2];do if((c[r>>2]|0)<0){c[n>>2]=rE(c[z>>2]|0,c[k>>2]|0,x,y,g)|0;if(c[n>>2]|0){c[p>>2]=c[n>>2];a=c[p>>2]|0;i=q;return a|0}c[r>>2]=ZD(c[z>>2]|0,c[t>>2]|0,c[x>>2]|0)|0;if((c[r>>2]|0)<0?(a=(c[(Ya()|0)>>2]|0)!=21,!(a&(c[u>>2]|0)!=0^1|(c[w>>2]|0)!=0)):0){c[k>>2]=c[k>>2]&-7;c[t>>2]=c[t>>2]&-67;c[k>>2]=c[k>>2]|1;c[t>>2]=c[t>>2];c[o>>2]=1;c[r>>2]=ZD(c[z>>2]|0,c[t>>2]|0,c[x>>2]|0)|0}if((c[r>>2]|0)<0){a=Ij(30591)|0;c[n>>2]=UD(a,37536,c[z>>2]|0,30591)|0;break}if(c[k>>2]&526336){pb[c[37192+244>>2]&31](c[r>>2]|0,c[y>>2]|0,c[g>>2]|0)|0;h=34}else h=34}else h=34;while(0);if((h|0)==34){if(c[H>>2]|0)c[c[H>>2]>>2]=c[k>>2];if(c[(c[s>>2]|0)+28>>2]|0){c[c[(c[s>>2]|0)+28>>2]>>2]=c[r>>2];c[(c[(c[s>>2]|0)+28>>2]|0)+4>>2]=c[k>>2]}if(c[G>>2]|0)ub[c[37192+196>>2]&31](c[z>>2]|0)|0;c[F>>2]=(c[j>>2]|0)!=256&1;if(c[G>>2]|0)c[D>>2]=c[D>>2]|32;if(c[o>>2]|0)c[D>>2]=c[D>>2]|2;if(c[F>>2]|0)c[D>>2]=c[D>>2]|128;if(c[E>>2]|0)c[D>>2]=c[D>>2]|8;if(c[k>>2]&64)c[D>>2]=c[D>>2]|64;c[n>>2]=sE(c[A>>2]|0,c[r>>2]|0,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}if(c[n>>2]|0)hc(c[(c[s>>2]|0)+28>>2]|0);c[p>>2]=c[n>>2];a=c[p>>2]|0;i=q;return a|0}function Ac(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;g=i;i=i+32|0;f=g+20|0;h=g+12|0;k=g+8|0;e=g+4|0;j=g;c[g+16>>2]=a;c[h>>2]=b;c[k>>2]=d;c[e>>2]=0;if((ub[c[37192+196>>2]&31](c[h>>2]|0)|0)==-1){if((c[(Ya()|0)>>2]|0)==2)c[e>>2]=5898;else c[e>>2]=UD(2570,37672,c[h>>2]|0,30729)|0;c[f>>2]=c[e>>2];a=c[f>>2]|0;i=g;return a|0}do if(c[k>>2]&1){c[e>>2]=zb[c[37192+208>>2]&63](c[h>>2]|0,j)|0;if(c[e>>2]|0){if((c[e>>2]|0)!=14)break;c[e>>2]=0;break}if(Xa(c[j>>2]|0)|0)c[e>>2]=UD(1290,38128,c[h>>2]|0,30744)|0;TD(0,c[j>>2]|0,30746)}while(0);c[f>>2]=c[e>>2];a=c[f>>2]|0;i=g;return a|0}function Bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+96|0;g=k+88|0;l=k+84|0;j=k+80|0;f=k+76|0;h=k;c[k+92>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=e;c[f>>2]=0;e=c[l>>2]|0;if((e|0)==2)c[f>>2]=4;else if(!e)c[f>>2]=0;else if((e|0)==1)c[f>>2]=6;a=(zb[c[37192+28>>2]&63](c[g>>2]|0,c[f>>2]|0)|0)==0&1;c[c[j>>2]>>2]=a;if(c[l>>2]|0){i=k;return 0}if(!(c[c[j>>2]>>2]|0)){i=k;return 0}if(zb[c[37192+52>>2]&63](c[g>>2]|0,h)|0){i=k;return 0}if(c[h+36>>2]|0){i=k;return 0}c[c[j>>2]>>2]=0;i=k;return 0}function Cc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h;l=h+24|0;k=h+16|0;m=h+12|0;g=h+8|0;n=h+4|0;c[h+20>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=f;a[(c[g>>2]|0)+((c[m>>2]|0)-1)>>0]=0;do if((a[c[k>>2]>>0]|0)==47){d=c[m>>2]|0;b=c[g>>2]|0;c[j>>2]=c[k>>2];sc(d,b,1200,j)|0}else{if(zb[c[37192+40>>2]&63](c[g>>2]|0,(c[m>>2]|0)-1|0)|0){c[n>>2]=aF(c[g>>2]|0)|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;b=(c[g>>2]|0)+(c[n>>2]|0)|0;c[j>>2]=c[k>>2];sc(d,b,38120,j)|0;break}b=Ij(30831)|0;c[l>>2]=UD(b,37544,c[k>>2]|0,30831)|0;b=c[l>>2]|0;i=h;return b|0}while(0);c[l>>2]=0;b=c[l>>2]|0;i=h;return b|0}function Dc(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;j=f;c[f+20>>2]=b;c[g>>2]=d;c[h>>2]=e;_E(c[h>>2]|0,0,c[g>>2]|0)|0;c[9524]=Ka()|0;c[k>>2]=ZD(38104,0,0)|0;if((c[k>>2]|0)<0){eb(j|0)|0;b=c[h>>2]|0;a[b+0>>0]=a[j+0>>0]|0;a[b+1>>0]=a[j+1>>0]|0;a[b+2>>0]=a[j+2>>0]|0;a[b+3>>0]=a[j+3>>0]|0;b=(c[h>>2]|0)+4|0;a[b+0>>0]=a[38096]|0;a[b+1>>0]=a[38097]|0;a[b+2>>0]=a[38098]|0;a[b+3>>0]=a[38099]|0;c[g>>2]=8;b=c[g>>2]|0;i=f;return b|0}do{c[l>>2]=pb[c[37192+100>>2]&31](c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if((c[l>>2]|0)>=0)break}while((c[(Ya()|0)>>2]|0)==4);TD(0,c[k>>2]|0,30936);b=c[g>>2]|0;i=f;return b|0}function Ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;bb(c[d>>2]|0)|0;i=e;return(c[d>>2]|0)*1e6|0}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=Hc(0,g)|0;a=g;h[c[f>>2]>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return 0}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;f=d+12|0;e=d+8|0;g=d;c[d+16>>2]=a;c[f>>2]=b;c[e>>2]=0;if(!(hb(g|0,0)|0)){a=c[g>>2]|0;a=lF(1e3,0,a|0,((a|0)<0)<<31>>31|0)|0;a=bF(1045635584,49096,a|0,D|0)|0;g=(c[g+4>>2]|0)/1e3|0;g=bF(a|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=D;a=c[e>>2]|0;i=d;return a|0}else{c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}return 0}function Ic(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;g=i;i=i+32|0;k=g+12|0;j=g+8|0;h=g+4|0;f=g;c[g+16>>2]=a;c[k>>2]=b;c[j>>2]=d;c[f>>2]=12;if(!(c[k>>2]|0)){c[f>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=25)break;if(c[37200+((c[h>>2]|0)*12|0)>>2]|0)c[37196+((c[h>>2]|0)*12|0)>>2]=c[37200+((c[h>>2]|0)*12|0)>>2];c[h>>2]=(c[h>>2]|0)+1}a=c[f>>2]|0;i=g;return a|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=25){e=16;break}a=(UE(c[k>>2]|0,c[37192+((c[h>>2]|0)*12|0)>>2]|0)|0)==0;d=c[h>>2]|0;if(a)break;c[h>>2]=d+1}if((e|0)==16){a=c[f>>2]|0;i=g;return a|0}if(!(c[37200+(d*12|0)>>2]|0))c[37200+((c[h>>2]|0)*12|0)>>2]=c[37196+((c[h>>2]|0)*12|0)>>2];c[f>>2]=0;if(!(c[j>>2]|0))c[j>>2]=c[37200+((c[h>>2]|0)*12|0)>>2];c[37196+((c[h>>2]|0)*12|0)>>2]=c[j>>2];a=c[f>>2]|0;i=g;return a|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+12|0;f=e+4|0;g=e;c[e+8>>2]=a;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=25){f=6;break}a=(UE(c[f>>2]|0,c[37192+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;b=c[g>>2]|0;if(a){f=4;break}c[g>>2]=b+1}if((f|0)==4){c[d>>2]=c[37196+(b*12|0)>>2];a=c[d>>2]|0;i=e;return a|0}else if((f|0)==6){c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}return 0}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+12|0;g=e+4|0;f=e;c[e+8>>2]=a;c[g>>2]=b;c[f>>2]=-1;a:do if(c[g>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=24)break a;if(!(UE(c[g>>2]|0,c[37192+((c[f>>2]|0)*12|0)>>2]|0)|0))break a;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[f>>2]=(c[f>>2]|0)+1;while(1){if((c[f>>2]|0)>=25){f=11;break}b=c[f>>2]|0;if(c[37196+((c[f>>2]|0)*12|0)>>2]|0){f=9;break}c[f>>2]=b+1}if((f|0)==9){c[d>>2]=c[37192+(b*12|0)>>2];a=c[d>>2]|0;i=e;return a|0}else if((f|0)==11){c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}return 0}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;g=k+24|0;l=k+20|0;h=k+16|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];d=c[f>>2]|0;if(!(c[l>>2]|0)){Nc(d,c[g>>2]|0);i=k;return}if((c[d+232>>2]|0)==0?(a=rf(c[f>>2]|0)|0,c[(c[f>>2]|0)+232>>2]=a,(a|0)==0):0){i=k;return}c[j>>2]=e;c[h>>2]=yn(c[f>>2]|0,c[l>>2]|0,j)|0;sf(c[(c[f>>2]|0)+232>>2]|0,-1,c[h>>2]|0,1,16);i=k;return}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d;e=d+8|0;g=f;c[g>>2]=a;c[g+4>>2]=b;a=f;c[e>>2]=gc(c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=d;return g|0}_E(c[e>>2]|0,0,c[f>>2]|0)|0;g=c[e>>2]|0;i=d;return g|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+52>>2]=c[f>>2];if(!(c[(c[e>>2]|0)+232>>2]|0)){i=d;return}wD(c[(c[e>>2]|0)+232>>2]|0);i=d;return}function Oc(a,b){a=a|0;b=b|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,z=0,A=0,B=0,C=0,E=0,F=0;o=i;i=i+112|0;e=o+108|0;E=o+104|0;m=o+100|0;z=o+96|0;h=o+92|0;A=o+88|0;r=o+84|0;l=o+80|0;F=o+76|0;y=o+72|0;s=o+68|0;B=o+64|0;C=o+60|0;t=o+56|0;v=o+52|0;k=o+16|0;n=o+48|0;u=o+44|0;x=o+40|0;j=o+8|0;g=o;w=o+36|0;p=o+32|0;q=o+28|0;f=o+24|0;c[e>>2]=a;c[E>>2]=b;c[h>>2]=0;c[A>>2]=0;Pc(c[(c[e>>2]|0)+24>>2]|0);c[m>>2]=c[(c[e>>2]|0)+28>>2];if(Qc(c[m>>2]|0)|0){a=c[m>>2]|0;i=o;return a|0}c[r>>2]=Sb(c[(c[e>>2]|0)+24>>2]|0)|0;c[l>>2]=Sb(c[(c[e>>2]|0)+4>>2]|0)|0;c[y>>2]=-1;c[s>>2]=0;if((c[c[e>>2]>>2]|0)!=0?(d[(c[(c[(c[e>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[m>>2]=5;else c[m>>2]=0;if((0==(c[m>>2]|0)?(c[(c[e>>2]|0)+12>>2]|0)==0:0)?(a=Rc(c[(c[e>>2]|0)+4>>2]|0,2)|0,c[m>>2]=a,0==(a|0)):0){c[(c[e>>2]|0)+12>>2]=1;Sc(c[(c[e>>2]|0)+4>>2]|0,1,(c[e>>2]|0)+8|0)}if((c[m>>2]|0)==0?0==(Tc(c[(c[e>>2]|0)+24>>2]|0)|0):0){c[m>>2]=Rc(c[(c[e>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[h>>2]=Uc(c[(c[e>>2]|0)+24>>2]|0)|0;c[A>>2]=Uc(c[(c[e>>2]|0)+4>>2]|0)|0;c[z>>2]=Vc(Sb(c[(c[e>>2]|0)+4>>2]|0)|0)|0;if(0==(c[m>>2]|0)&(c[z>>2]|0)==5?(c[h>>2]|0)!=(c[A>>2]|0):0)c[m>>2]=8;c[y>>2]=Wc(c[(c[e>>2]|0)+24>>2]|0)|0;c[F>>2]=0;while(1){if((c[E>>2]|0)>=0?(c[F>>2]|0)>=(c[E>>2]|0):0)break;if((c[m>>2]|0)!=0?1:(c[(c[e>>2]|0)+16>>2]|0)>>>0>(c[y>>2]|0)>>>0)break;c[B>>2]=c[(c[e>>2]|0)+16>>2];if((c[B>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[(c[(c[e>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[m>>2]=Xc(c[r>>2]|0,c[B>>2]|0,C,2)|0,(c[m>>2]|0)==0):0){b=c[e>>2]|0;a=c[B>>2]|0;c[m>>2]=Yc(b,a,Zc(c[C>>2]|0)|0,0)|0;_c(c[C>>2]|0)}a=(c[e>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+1}do if(!(c[m>>2]|0)){c[(c[e>>2]|0)+36>>2]=c[y>>2];c[(c[e>>2]|0)+32>>2]=(c[y>>2]|0)+1-(c[(c[e>>2]|0)+16>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)>>>0>(c[y>>2]|0)>>>0){c[m>>2]=101;break}if(!(c[(c[e>>2]|0)+40>>2]|0))$c(c[e>>2]|0)}while(0);if((c[m>>2]|0)==101){if(!(c[y>>2]|0)){c[m>>2]=ad(c[(c[e>>2]|0)+4>>2]|0)|0;c[y>>2]=1}if((c[m>>2]|0)==0|(c[m>>2]|0)==101)c[m>>2]=bd(c[(c[e>>2]|0)+4>>2]|0,1,(c[(c[e>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[m>>2]|0)){if(c[c[e>>2]>>2]|0)cd(c[c[e>>2]>>2]|0);if((c[z>>2]|0)==5)c[m>>2]=dd(c[(c[e>>2]|0)+4>>2]|0,2)|0}if(!(c[m>>2]|0)){if((c[h>>2]|0)<(c[A>>2]|0)){c[v>>2]=(c[A>>2]|0)/(c[h>>2]|0)|0;c[t>>2]=((c[y>>2]|0)+(c[v>>2]|0)-1|0)/(c[v>>2]|0)|0;if((c[t>>2]|0)==((((c[282]|0)>>>0)/((c[(c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[t>>2]=(c[t>>2]|0)+ -1}else c[t>>2]=$(c[y>>2]|0,(c[h>>2]|0)/(c[A>>2]|0)|0)|0;if((c[h>>2]|0)<(c[A>>2]|0)){a=c[h>>2]|0;F=c[y>>2]|0;F=lF(a|0,((a|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;a=k;c[a>>2]=F;c[a+4>>2]=D;c[n>>2]=ed(c[l>>2]|0)|0;fd(c[l>>2]|0,x);c[u>>2]=c[t>>2];while(1){if(c[m>>2]|0)break;if((c[u>>2]|0)>>>0>(c[x>>2]|0)>>>0)break;do if((c[u>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[m>>2]=Xc(c[l>>2]|0,c[u>>2]|0,w,0)|0;if(c[m>>2]|0)break;c[m>>2]=gd(c[w>>2]|0)|0;_c(c[w>>2]|0)}while(0);c[u>>2]=(c[u>>2]|0)+1}if(!(c[m>>2]|0))c[m>>2]=hd(c[l>>2]|0,0,1)|0;F=(c[282]|0)+(c[A>>2]|0)|0;C=((F|0)<0)<<31>>31;a=k;E=c[a+4>>2]|0;if((C|0)<(E|0)|((C|0)==(E|0)?F>>>0<(c[a>>2]|0)>>>0:0)){t=(c[282]|0)+(c[A>>2]|0)|0;u=t;t=((t|0)<0)<<31>>31}else{t=k;u=c[t>>2]|0;t=c[t+4>>2]|0}F=g;c[F>>2]=u;c[F+4>>2]=t;F=(c[282]|0)+(c[h>>2]|0)|0;a=j;c[a>>2]=F;c[a+4>>2]=((F|0)<0)<<31>>31;while(1){if(c[m>>2]|0)break;F=j;C=c[F+4>>2]|0;a=g;E=c[a+4>>2]|0;if(!((C|0)<(E|0)|((C|0)==(E|0)?(c[F>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)))break;c[p>>2]=0;F=j;a=c[h>>2]|0;a=jF(c[F>>2]|0,c[F+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=bF(a|0,D|0,1,0)|0;c[q>>2]=a;c[m>>2]=Xc(c[r>>2]|0,c[q>>2]|0,p,0)|0;if(!(c[m>>2]|0)){c[f>>2]=Zc(c[p>>2]|0)|0;a=j;c[m>>2]=id(c[n>>2]|0,c[f>>2]|0,c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0}_c(c[p>>2]|0);F=c[h>>2]|0;a=j;F=bF(c[a>>2]|0,c[a+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=F;c[a+4>>2]=D}if(!(c[m>>2]|0)){a=k;c[m>>2]=jd(c[n>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0}if(!(c[m>>2]|0))c[m>>2]=kd(c[l>>2]|0,0)|0}else{ld(c[l>>2]|0,c[t>>2]|0);c[m>>2]=hd(c[l>>2]|0,0,0)|0}if(!(c[m>>2]|0)){a=md(c[(c[e>>2]|0)+4>>2]|0,0)|0;c[m>>2]=a;c[m>>2]=0==(a|0)?101:a}}}if(c[s>>2]|0){nd(c[(c[e>>2]|0)+24>>2]|0,0)|0;md(c[(c[e>>2]|0)+24>>2]|0,0)|0}if((c[m>>2]|0)==3082)c[m>>2]=7;c[(c[e>>2]|0)+28>>2]=c[m>>2];a=c[m>>2]|0;i=o;return a|0}function Pc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function Qc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!((c[d>>2]|0)!=0&(c[d>>2]|0)!=5)){d=0;d=d&1;i=b;return d|0}d=(c[d>>2]|0)!=6;d=d&1;i=b;return d|0}function Rc(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;j=i;i=i+32|0;l=j+24|0;m=j+20|0;o=j+16|0;k=j+12|0;n=j+8|0;p=j+4|0;h=j;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[k>>2]=c[(c[l>>2]|0)+4>>2];c[n>>2]=0;Pc(c[l>>2]|0);do if((d[(c[l>>2]|0)+8>>0]|0)!=2?(c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+8>>0]|0)!=1:0){if((c[m>>2]|0)!=0?(e[(c[k>>2]|0)+22>>1]&1|0)!=0:0){c[n>>2]=8;break}if((c[m>>2]|0)!=0?(d[(c[k>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[k>>2]|0)+22>>1]&64)){if((c[m>>2]|0)>1){c[p>>2]=c[(c[k>>2]|0)+72>>2];while(1){if(!(c[p>>2]|0))break a;f=c[p>>2]|0;if((c[c[p>>2]>>2]|0)!=(c[l>>2]|0))break;c[p>>2]=c[f+12>>2]}c[o>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[o>>2]=c[c[(c[k>>2]|0)+76>>2]>>2];if(c[o>>2]|0){c[n>>2]=262;break}c[n>>2]=By(c[l>>2]|0,1,1)|0;if(!(c[n>>2]|0)){f=(c[k>>2]|0)+22|0;b[f>>1]=e[f>>1]&-9;if(!(c[(c[k>>2]|0)+44>>2]|0)){f=(c[k>>2]|0)+22|0;b[f>>1]=e[f>>1]|8}while(1){if((c[(c[k>>2]|0)+12>>2]|0)==0?(f=tD(c[k>>2]|0)|0,c[n>>2]=f,0==(f|0)):0)continue;do if((c[n>>2]|0)==0&(c[m>>2]|0)!=0){if(e[(c[k>>2]|0)+22>>1]&1){c[n>>2]=8;break}g=c[c[k>>2]>>2]|0;f=(c[m>>2]|0)>1&1;c[n>>2]=uD(g,f,xh(c[c[l>>2]>>2]|0)|0)|0;if(!(c[n>>2]|0))c[n>>2]=IC(c[k>>2]|0)|0}while(0);if(c[n>>2]|0)Sk(c[k>>2]|0);if((c[n>>2]&255|0)!=5)break;if(d[(c[k>>2]|0)+20>>0]|0)break;if(!(Fh(c[k>>2]|0)|0))break}if(!(c[n>>2]|0)){if((d[(c[l>>2]|0)+8>>0]|0)==0?(f=(c[k>>2]|0)+40|0,c[f>>2]=(c[f>>2]|0)+1,(a[(c[l>>2]|0)+9>>0]|0)!=0):0){a[(c[l>>2]|0)+36>>0]=1;c[(c[l>>2]|0)+40>>2]=c[(c[k>>2]|0)+72>>2];c[(c[k>>2]|0)+72>>2]=(c[l>>2]|0)+28}a[(c[l>>2]|0)+8>>0]=(c[m>>2]|0)!=0?2:1;if((d[(c[l>>2]|0)+8>>0]|0)>(d[(c[k>>2]|0)+20>>0]|0))a[(c[k>>2]|0)+20>>0]=a[(c[l>>2]|0)+8>>0]|0;if(c[m>>2]|0){c[h>>2]=c[(c[k>>2]|0)+12>>2];c[(c[k>>2]|0)+76>>2]=c[l>>2];f=(c[k>>2]|0)+22|0;b[f>>1]=e[f>>1]&-33;if((c[m>>2]|0)>1){f=(c[k>>2]|0)+22|0;b[f>>1]=e[f>>1]|32}f=c[(c[k>>2]|0)+44>>2]|0;if((f|0)!=(Hh((c[(c[h>>2]|0)+56>>2]|0)+28|0)|0)?(c[n>>2]=gd(c[(c[h>>2]|0)+68>>2]|0)|0,(c[n>>2]|0)==0):0)ck((c[(c[h>>2]|0)+56>>2]|0)+28|0,c[(c[k>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[n>>2]|0)==0&(c[m>>2]|0)!=0)){f=c[n>>2]|0;i=j;return f|0}c[n>>2]=GC(c[c[k>>2]>>2]|0,c[(c[c[l>>2]>>2]|0)+496>>2]|0)|0;f=c[n>>2]|0;i=j;return f|0}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[j>>2]|0)+4>>2];Pc(c[j>>2]|0);a=Hh((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[g>>2]<<2))|0)|0;c[c[f>>2]>>2]=a;i=e;return}function Tc(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return(d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function Uc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function Vc(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function Wc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Aw(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function Xc(a,b,e,f){a=a|0;b=b|0;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;q=i;i=i+48|0;j=q+44|0;p=q+40|0;m=q+36|0;l=q+32|0;u=q+28|0;o=q+24|0;k=q+20|0;s=q+16|0;t=q+12|0;r=q+8|0;n=q+4|0;g=q;c[p>>2]=a;c[m>>2]=b;c[l>>2]=e;c[u>>2]=f;c[o>>2]=0;c[k>>2]=0;c[s>>2]=0;c[t>>2]=c[u>>2]&1;c[r>>2]=0;if(!(c[m>>2]|0)){c[j>>2]=kj(46160)|0;u=c[j>>2]|0;i=q;return u|0}do if(!(c[(c[p>>2]|0)+40>>2]|0)){if(((c[r>>2]|0)!=0?(ai(c[p>>2]|0)|0)!=0:0)?(c[o>>2]=cj(c[(c[p>>2]|0)+208>>2]|0,c[m>>2]|0,s)|0,(c[o>>2]|0)!=0):0)break;if((c[r>>2]|0)!=0&(c[s>>2]|0)==0){c[n>>2]=0;a=c[(c[p>>2]|0)+60>>2]|0;u=c[(c[p>>2]|0)+152>>2]|0;u=lF((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[o>>2]=XB(a,u,D,c[(c[p>>2]|0)+152>>2]|0,n)|0;if((c[o>>2]|0)==0&(c[n>>2]|0)!=0){if((d[(c[p>>2]|0)+16>>0]|0|0)>1)c[k>>2]=Hi(c[p>>2]|0,c[m>>2]|0)|0;f=c[p>>2]|0;if(!(c[k>>2]|0))c[o>>2]=rD(f,c[m>>2]|0,c[n>>2]|0,k)|0;else{a=c[f+60>>2]|0;u=c[(c[p>>2]|0)+152>>2]|0;u=lF((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;hj(a,u,D,c[n>>2]|0)|0}if(c[k>>2]|0){c[c[l>>2]>>2]=c[k>>2];c[j>>2]=0;u=c[j>>2]|0;i=q;return u|0}}if(c[o>>2]|0)break}c[g>>2]=Li(c[(c[p>>2]|0)+204>>2]|0,c[m>>2]|0,3)|0;if((c[g>>2]|0)==0?(c[o>>2]=sD(c[(c[p>>2]|0)+204>>2]|0,c[m>>2]|0,g)|0,(c[o>>2]|0)!=0):0)break;u=Mi(c[(c[p>>2]|0)+204>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[l>>2]>>2]=u;c[k>>2]=u;if(!(c[k>>2]|0)){c[o>>2]=7;h=22}else h=22}else{c[o>>2]=c[(c[p>>2]|0)+40>>2];h=22}while(0);do if((h|0)==22){if(c[o>>2]|0){c[k>>2]=0;break}if(!((c[t>>2]|0)!=0?1:(c[(c[c[l>>2]>>2]|0)+16>>2]|0)==0)){u=(c[p>>2]|0)+184|0;c[u>>2]=(c[u>>2]|0)+1;c[j>>2]=0;u=c[j>>2]|0;i=q;return u|0}c[k>>2]=c[c[l>>2]>>2];c[(c[k>>2]|0)+16>>2]=c[p>>2];if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[282]|0)/(c[(c[p>>2]|0)+152>>2]|0)|0)+1|0):0){if(((d[(c[p>>2]|0)+15>>0]|0|0)==0?!((c[t>>2]|0)!=0?1:(c[(c[p>>2]|0)+24>>2]|0)>>>0<(c[m>>2]|0)>>>0):0)?(c[c[(c[p>>2]|0)+60>>2]>>2]|0)!=0:0){u=(ai(c[p>>2]|0)|0)!=0;if(u&(c[r>>2]|0)==0?(c[o>>2]=cj(c[(c[p>>2]|0)+208>>2]|0,c[m>>2]|0,s)|0,(c[o>>2]|0)!=0):0)break;u=(c[p>>2]|0)+188|0;c[u>>2]=(c[u>>2]|0)+1;c[o>>2]=dj(c[k>>2]|0,c[s>>2]|0)|0;if(c[o>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[p>>2]|0)+156>>2]|0)>>>0){c[o>>2]=13;break}if(c[t>>2]|0){kh();if((c[m>>2]|0)>>>0<=(c[(c[p>>2]|0)+28>>2]|0)>>>0)Wg(c[(c[p>>2]|0)+56>>2]|0,c[m>>2]|0)|0;qk(c[p>>2]|0,c[m>>2]|0)|0;lh()}_E(c[(c[k>>2]|0)+4>>2]|0,0,c[(c[p>>2]|0)+152>>2]|0)|0}c[j>>2]=0;u=c[j>>2]|0;i=q;return u|0}c[o>>2]=kj(46239)|0}while(0);if(c[k>>2]|0)bj(c[k>>2]|0);gj(c[p>>2]|0);c[c[l>>2]>>2]=0;c[j>>2]=c[o>>2];u=c[j>>2]|0;i=q;return u|0}function Yc(b,d,e,f){b=b|0;d=d|0;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;h=i;i=i+80|0;v=h+68|0;x=h+64|0;m=h+60|0;s=h+56|0;t=h+52|0;l=h+48|0;q=h+44|0;r=h+40|0;w=h+8|0;g=h+36|0;k=h;o=h+32|0;u=h+28|0;n=h+24|0;p=h+20|0;j=h+16|0;c[v>>2]=b;c[x>>2]=d;c[m>>2]=e;c[s>>2]=f;c[t>>2]=Sb(c[(c[v>>2]|0)+4>>2]|0)|0;c[l>>2]=Uc(c[(c[v>>2]|0)+24>>2]|0)|0;c[q>>2]=Uc(c[(c[v>>2]|0)+4>>2]|0)|0;c[r>>2]=(c[l>>2]|0)<(c[q>>2]|0)?c[l>>2]|0:c[q>>2]|0;d=c[l>>2]|0;d=lF(c[x>>2]|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=w;c[b>>2]=d;c[b+4>>2]=D;c[g>>2]=0;if((c[l>>2]|0)!=(c[q>>2]|0)?(DA(c[t>>2]|0)|0)!=0:0)c[g>>2]=8;x=w;b=c[l>>2]|0;b=ZE(c[x>>2]|0,c[x+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;x=k;c[x>>2]=b;c[x+4>>2]=D;while(1){if(c[g>>2]|0){j=14;break}b=k;e=c[b+4>>2]|0;x=w;d=c[x+4>>2]|0;if(!((e|0)<(d|0)|((e|0)==(d|0)?(c[b>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){j=14;break}c[o>>2]=0;b=k;x=c[q>>2]|0;x=jF(c[b>>2]|0,c[b+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[u>>2]=x+1;if((c[u>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[(c[(c[v>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=Xc(c[t>>2]|0,c[u>>2]|0,o,0)|0;c[g>>2]=x;if((0==(x|0)?(x=gd(c[o>>2]|0)|0,c[g>>2]=x,0==(x|0)):0)?(x=k,b=c[l>>2]|0,b=kF(c[x>>2]|0,c[x+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,c[n>>2]=(c[m>>2]|0)+b,c[p>>2]=Zc(c[o>>2]|0)|0,b=k,x=c[q>>2]|0,x=kF(c[b>>2]|0,c[b+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[j>>2]=(c[p>>2]|0)+x,dF(c[j>>2]|0,c[n>>2]|0,c[r>>2]|0)|0,a[(Qj(c[o>>2]|0)|0)>>0]=0,x=k,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[s>>2]|0)==0):0){x=(c[j>>2]|0)+28|0;ck(x,Wc(c[(c[v>>2]|0)+24>>2]|0)|0)}_c(c[o>>2]|0)}b=c[q>>2]|0;x=k;b=bF(c[x>>2]|0,c[x+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;x=k;c[x>>2]=b;c[x+4>>2]=D}if((j|0)==14){i=h;return c[g>>2]|0}return 0}function Zc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function _c(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}ej(c[d>>2]|0);i=b;return}function $c(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=pd(Sb(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function ad(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;Pc(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=IC(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function bd(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;f=i;i=i+32|0;m=f+20|0;l=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;g=f;c[m>>2]=b;c[l>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[m>>2]|0)+4>>2];Pc(c[m>>2]|0);c[k>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2];c[g>>2]=gd(c[(c[(c[j>>2]|0)+12>>2]|0)+68>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;i=f;return m|0}ck((c[k>>2]|0)+(36+(c[l>>2]<<2))|0,c[h>>2]|0);if((c[l>>2]|0)!=7){m=c[g>>2]|0;i=f;return m|0}a[(c[j>>2]|0)+18>>0]=c[h>>2];m=c[g>>2]|0;i=f;return m|0}function cd(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;f=d;c[b>>2]=a;Rb(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4);if(c[(c[f>>2]|0)+12>>2]|0)wh(c[(c[f>>2]|0)+12>>2]|0);c[e>>2]=(c[e>>2]|0)+1}f=(c[b>>2]|0)+24|0;c[f>>2]=c[f>>2]&-3;Lk(c[b>>2]|0);Mk(c[b>>2]|0);i=d;return}function dd(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+16|0;n=j+12|0;h=j+8|0;k=j+4|0;m=j;c[l>>2]=f;c[n>>2]=g;c[h>>2]=c[(c[l>>2]|0)+4>>2];f=(c[h>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[n>>2]|0)==1){f=(c[h>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[k>>2]=Rc(c[l>>2]|0,0)|0;do if(!(c[k>>2]|0)){c[m>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];if((d[(c[m>>2]|0)+18>>0]|0|0)==(c[n>>2]&255|0)?(d[(c[m>>2]|0)+19>>0]|0|0)==(c[n>>2]&255|0):0)break;c[k>>2]=Rc(c[l>>2]|0,2)|0;if((c[k>>2]|0)==0?(c[k>>2]=gd(c[(c[(c[h>>2]|0)+12>>2]|0)+68>>2]|0)|0,(c[k>>2]|0)==0):0){a[(c[m>>2]|0)+18>>0]=c[n>>2];a[(c[m>>2]|0)+19>>0]=c[n>>2]}}while(0);f=(c[h>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=j;return c[k>>2]|0}function ed(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+60>>2]|0}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+24>>2];i=d;return}function gd(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;a=c[e>>2]|0;if((c[(c[(c[e>>2]|0)+16>>2]|0)+148>>2]|0)>>>0>(c[(c[(c[e>>2]|0)+16>>2]|0)+152>>2]|0)>>>0){c[d>>2]=mD(a)|0;e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=nD(a)|0;e=c[d>>2]|0;i=b;return e|0}return 0}function hd(b,e,f){b=b|0;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;n=i;i=i+32|0;h=n+28|0;l=n+24|0;p=n+20|0;o=n+16|0;k=n+12|0;m=n+8|0;j=n+4|0;g=n;c[l>>2]=b;c[p>>2]=e;c[o>>2]=f;c[k>>2]=0;f=c[l>>2]|0;if(c[(c[l>>2]|0)+40>>2]|0){c[h>>2]=c[f+40>>2];b=c[h>>2]|0;i=n;return b|0}if((d[f+16>>0]|0)<3){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}f=c[l>>2]|0;do if(!(a[(c[l>>2]|0)+15>>0]|0)){b=(ai(f)|0)!=0;f=c[l>>2]|0;if(b){c[m>>2]=Zi(c[f+204>>2]|0)|0;c[j>>2]=0;if(!(c[m>>2]|0)){c[k>>2]=Xc(c[l>>2]|0,1,j,0)|0;c[m>>2]=c[j>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[k>>2]=Zj(c[l>>2]|0,c[m>>2]|0,c[(c[l>>2]|0)+24>>2]|0,1)|0;_c(c[j>>2]|0);if(c[k>>2]|0)break;$h(c[(c[l>>2]|0)+204>>2]|0);break}c[k>>2]=kD(f,0)|0;if((((c[k>>2]|0)==0?(c[k>>2]=lD(c[l>>2]|0,c[p>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[k>>2]=_j(c[l>>2]|0,0)|0,(c[k>>2]|0)==0):0)?(b=c[l>>2]|0,c[k>>2]=$j(b,Zi(c[(c[l>>2]|0)+204>>2]|0)|0)|0,(c[k>>2]|0)==0):0){$h(c[(c[l>>2]|0)+204>>2]|0);if((c[(c[l>>2]|0)+24>>2]|0)>>>0>(c[(c[l>>2]|0)+32>>2]|0)>>>0){c[g>>2]=(c[(c[l>>2]|0)+24>>2]|0)-((c[(c[l>>2]|0)+24>>2]|0)==(((c[282]|0)/(c[(c[l>>2]|0)+152>>2]|0)|0)+1|0)&1);c[k>>2]=ci(c[l>>2]|0,c[g>>2]|0)|0;if((c[k>>2]|0)!=0|(c[o>>2]|0)!=0)break}else if(c[o>>2]|0)break;c[k>>2]=kd(c[l>>2]|0,c[p>>2]|0)|0}}else Og(c[f+88>>2]|0);while(0);if((c[k>>2]|0)==0?(ai(c[l>>2]|0)|0)==0:0)a[(c[l>>2]|0)+16>>0]=5;c[h>>2]=c[k>>2];b=c[h>>2]|0;i=n;return b|0}function id(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;a=Ab[c[(c[c[k>>2]>>2]|0)+12>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+20|0;g=e+8|0;j=e;f=e+16|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=Gg(c[h>>2]|0,j)|0;if(c[f>>2]|0){a=c[f>>2]|0;i=e;return a|0}b=j;d=c[b+4>>2]|0;a=g;j=c[a+4>>2]|0;if(!((d|0)>(j|0)|((d|0)==(j|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){a=c[f>>2]|0;i=e;return a|0}a=g;c[f>>2]=Xh(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}function kd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g+12|0;k=g+8|0;f=g+4|0;j=g;c[h>>2]=b;c[k>>2]=e;c[f>>2]=0;if(c[c[(c[h>>2]|0)+60>>2]>>2]|0){c[j>>2]=c[k>>2];b=ig(c[(c[h>>2]|0)+60>>2]|0,21,c[j>>2]|0)|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)==12?0:b}if(c[f>>2]|0){b=c[f>>2]|0;i=g;return b|0}if(a[(c[h>>2]|0)+7>>0]|0){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=Yh(c[(c[h>>2]|0)+60>>2]|0,d[(c[h>>2]|0)+11>>0]|0)|0;b=c[f>>2]|0;i=g;return b|0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+24>>2]=c[f>>2];i=d;return}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;l=f+8|0;k=f+4|0;j=f;c[h>>2]=b;c[l>>2]=e;if(!(d[(c[h>>2]|0)+8>>0]|0)){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}Pc(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=jD(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[l>>2]|0)==0)){a[(c[j>>2]|0)+20>>0]=1;eD(c[j>>2]|0);break}c[g>>2]=c[k>>2];b=c[g>>2]|0;i=f;return b|0}while(0);fD(c[h>>2]|0);c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}function nd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;g=h+16|0;l=h+12|0;k=h+8|0;f=h+4|0;j=h;c[l>>2]=b;c[k>>2]=e;c[f>>2]=0;if((d[(c[l>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[l>>2]|0)+4>>2];Pc(c[l>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[f>>2]=iD(c[j>>2]|0)|0,(c[f>>2]|0)!=0):0){c[g>>2]=c[f>>2];b=c[g>>2]|0;i=h;return b|0}if(a[(c[j>>2]|0)+19>>0]|0)ld(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[f>>2]=hd(c[c[j>>2]>>2]|0,c[k>>2]|0,0)|0}c[g>>2]=c[f>>2];b=c[g>>2]|0;i=h;return b|0}function od(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;d=b+16|0;f=b+12|0;h=b+8|0;g=b+4|0;e=b;c[f>>2]=a;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=b;return h|0}c[g>>2]=c[(c[f>>2]|0)+20>>2];Pc(c[(c[f>>2]|0)+24>>2]|0);if(c[c[f>>2]>>2]|0){a=(c[(c[f>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1}if(c[(c[f>>2]|0)+40>>2]|0){c[h>>2]=pd(Sb(c[(c[f>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+44}c[c[h>>2]>>2]=c[(c[f>>2]|0)+44>>2]}qd(c[(c[f>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[f>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[f>>2]|0)+28>>2]|0;c[e>>2]=a;if(c[c[f>>2]>>2]|0){Nc(c[c[f>>2]>>2]|0,c[e>>2]|0);rd(c[c[f>>2]>>2]|0)}if(c[c[f>>2]>>2]|0)hc(c[f>>2]|0);rd(c[g>>2]|0);c[d>>2]=c[e>>2];h=c[d>>2]|0;i=b;return h|0}function pd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[b>>2]|0)+88|0}function qd(b,e,f){b=b|0;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;j=i;i=i+48|0;m=j+32|0;p=j+28|0;q=j+24|0;h=j+20|0;g=j+16|0;k=j+12|0;o=j+8|0;n=j+4|0;l=j;c[m>>2]=b;c[p>>2]=e;c[q>>2]=f;c[g>>2]=c[(c[m>>2]|0)+4>>2];Pc(c[m>>2]|0);if(!(c[p>>2]|0)){b=Hy(c[g>>2]|0,0,0)|0;c[p>>2]=b;c[h>>2]=b;if(c[h>>2]|0)c[q>>2]=0}else c[h>>2]=0;if((c[p>>2]|0)!=0?(c[o>>2]=sz(c[m>>2]|0,c[p>>2]|0,c[q>>2]|0)|0,(c[o>>2]|0)!=0):0)c[h>>2]=c[o>>2];if((d[(c[m>>2]|0)+8>>0]|0|0)!=2){b=c[m>>2]|0;fD(b);b=c[h>>2]|0;i=j;return b|0}c[n>>2]=Th(c[c[g>>2]>>2]|0)|0;if(c[n>>2]|0)c[h>>2]=c[n>>2];if(!(Bw(c[g>>2]|0,1,k,0)|0)){c[l>>2]=Hh((c[(c[k>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[l>>2]|0))fd(c[c[g>>2]>>2]|0,l);c[(c[g>>2]|0)+44>>2]=c[l>>2];Rk(c[k>>2]|0)}a[(c[g>>2]|0)+20>>0]=1;eD(c[g>>2]|0);b=c[m>>2]|0;fD(b);b=c[h>>2]|0;i=j;return b|0}function rd(b){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;j=i;i=i+48|0;e=j+36|0;f=j+32|0;d=j+28|0;n=j+24|0;o=j+20|0;m=j+16|0;l=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=b;if((c[(c[e>>2]|0)+76>>2]|0)!=1691352191){i=j;return}if(Hk(c[e>>2]|0)|0){i=j;return}Ik(c[e>>2]|0,0);Jk(c[e>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[n>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[n>>2]|0)+4>>2]|0){a:do if(c[(c[n>>2]|0)+12>>2]|0){Pc(c[(c[n>>2]|0)+4>>2]|0);c[f>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+32>>2];while(1){if(!(c[f>>2]|0))break a;c[o>>2]=c[(c[f>>2]|0)+8>>2];eh(c[(c[o>>2]|0)+40>>2]|0);c[(c[o>>2]|0)+40>>2]=0;c[f>>2]=c[c[f>>2]>>2]}}while(0);Kk(c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+4>>2]=0;if((c[d>>2]|0)!=1)c[(c[n>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1}if(c[(c[(c[e>>2]|0)+16>>2]|0)+28>>2]|0)wh(c[(c[(c[e>>2]|0)+16>>2]|0)+28>>2]|0);Lk(c[e>>2]|0);Mk(c[e>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=23)break;c[k>>2]=c[(c[e>>2]|0)+336+(c[d>>2]<<2)>>2];while(1){if(!(c[k>>2]|0))break;c[l>>2]=c[(c[k>>2]|0)+28>>2];while(1){if(!(c[k>>2]|0))break;Gk(c[e>>2]|0,c[k>>2]|0);c[m>>2]=c[(c[k>>2]|0)+8>>2];Xb(c[e>>2]|0,c[k>>2]|0);c[k>>2]=c[m>>2]}c[k>>2]=c[l>>2]}c[d>>2]=(c[d>>2]|0)+1}c[f>>2]=c[(c[e>>2]|0)+436>>2];while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[d>>2]|0)*20|0)+16>>2]|0)rb[c[(c[h>>2]|0)+((c[d>>2]|0)*20|0)+16>>2]&31](c[(c[h>>2]|0)+((c[d>>2]|0)*20|0)+8>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Xb(c[e>>2]|0,c[h>>2]|0);c[f>>2]=c[c[f>>2]>>2]}mh((c[e>>2]|0)+428|0);c[f>>2]=c[(c[e>>2]|0)+316>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+12>>2]|0)rb[c[(c[g>>2]|0)+12>>2]&31](c[(c[g>>2]|0)+8>>2]|0);Xb(c[e>>2]|0,c[g>>2]|0);c[f>>2]=c[c[f>>2]>>2]}mh((c[e>>2]|0)+308|0);Nc(c[e>>2]|0,0);tf(c[(c[e>>2]|0)+232>>2]|0);c[(c[e>>2]|0)+76>>2]=-1254786768;Xb(c[e>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+28>>2]|0);c[(c[e>>2]|0)+76>>2]=-1623446221;if(a[(c[e>>2]|0)+251>>0]|0)hc(c[(c[e>>2]|0)+276>>2]|0);hc(c[e>>2]|0);i=j;return}function sd(a){a=a|0;var b=0,d=0,f=0;b=i;i=i+16|0;f=b+4|0;d=b;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=b;return f|0}if(!((e[(c[d>>2]|0)+88>>1]|0)>>>10&1)){f=0;i=b;return f|0}f=c[(c[d>>2]|0)+168>>2]|0;i=b;return f|0}function td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;i=i+32|0;d=e+16|0;h=e+12|0;b=e+8|0;g=e+4|0;f=e;c[h>>2]=a;do if(!(c[h>>2]|0))c[b>>2]=0;else{c[g>>2]=c[h>>2];c[f>>2]=c[c[g>>2]>>2];if(!(ud(c[g>>2]|0)|0)){c[b>>2]=vd(c[g>>2]|0)|0;c[b>>2]=wd(c[f>>2]|0,c[b>>2]|0)|0;rd(c[f>>2]|0);break}c[d>>2]=Qb(67386)|0;h=c[d>>2]|0;i=e;return h|0}while(0);c[d>>2]=c[b>>2];h=c[d>>2]|0;i=e;return h|0}function ud(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){tc(21,37056,b);c[d>>2]=1;e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}return 0}function vd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;if(!((c[(c[e>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[e>>2]|0)+40>>2]|0)!=1369188723:0))c[b>>2]=yd(c[e>>2]|0)|0;qn(c[e>>2]|0);i=d;return c[b>>2]|0}function wd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[h>>2]=a;c[g>>2]=b;if(!(c[h>>2]|0)){c[f>>2]=c[g>>2]&255;a=c[f>>2]|0;i=e;return a|0}if((c[g>>2]|0)==3082?1:(d[(c[h>>2]|0)+64>>0]|0|0)!=0){c[f>>2]=cD(c[h>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}else{c[f>>2]=c[g>>2]&c[(c[h>>2]|0)+56>>2];a=c[f>>2]|0;i=e;return a|0}return 0}function xd(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;if(!(c[f>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}else{c[e>>2]=c[f>>2];c[d>>2]=yd(c[e>>2]|0)|0;zd(c[e>>2]|0);c[d>>2]=wd(c[c[e>>2]>>2]|0,c[d>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}return 0}function yd(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f;d=f+8|0;g=f+4|0;c[d>>2]=a;c[g>>2]=c[c[d>>2]>>2];$y(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+76>>2]|0)>=0){Wy(a)|0;Xb(c[g>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;if((e[(c[d>>2]|0)+88>>1]|0)>>>6&1){a=(c[d>>2]|0)+88|0;b[a>>1]=b[a>>1]&-33|32}}else if((c[a+80>>2]|0)!=0?((e[(c[d>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){k=c[g>>2]|0;j=c[(c[d>>2]|0)+80>>2]|0;a=(c[(c[d>>2]|0)+44>>2]|0)!=0?1200:0;c[h>>2]=c[(c[d>>2]|0)+44>>2];Lc(k,j,a,h);Xb(c[g>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0}bD(c[d>>2]|0);k=(c[d>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+40>>2]=649915045;i=f;return c[(c[d>>2]|0)+80>>2]&c[(c[g>>2]|0)+56>>2]|0}function zd(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+87>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Ad(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;d=f+4|0;g=f;c[j>>2]=a;c[d>>2]=0;c[g>>2]=c[j>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(b[(c[g>>2]|0)+68>>1]|0))break;Bd((c[(c[g>>2]|0)+60>>2]|0)+((c[h>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+60>>2]|0)+((c[h>>2]|0)*40|0)+8>>1]=1;c[h>>2]=(c[h>>2]|0)+1}if(!((e[(c[g>>2]|0)+88>>1]|0)>>>10&1)){j=c[d>>2]|0;i=f;return j|0}if(!(c[(c[g>>2]|0)+188>>2]|0)){j=c[d>>2]|0;i=f;return j|0}j=(c[g>>2]|0)+88|0;b[j>>1]=b[j>>1]&-33|32;j=c[d>>2]|0;i=f;return j|0}function Bd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[d>>2]|0)+24>>2]|0)==0:0){i=b;return}aD(c[d>>2]|0);i=b;return}function Cd(a){a=a|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;h=d;c[g>>2]=a;c[h>>2]=c[g>>2];if(!((e[(c[h>>2]|0)+8>>1]|0)&18)){c[f>>2]=Ed(c[g>>2]|0)|0;h=c[f>>2]|0;i=d;return h|0}Dd(c[h>>2]|0)|0;g=(c[h>>2]|0)+8|0;b[g>>1]=e[g>>1]|0|16;if(c[(c[h>>2]|0)+12>>2]|0)a=c[(c[h>>2]|0)+16>>2]|0;else a=0;c[f>>2]=a;h=c[f>>2]|0;i=d;return h|0}function Dd(a){a=a|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;h=d;c[g>>2]=a;do if((e[(c[g>>2]|0)+8>>1]|0)&16384){a=(c[(c[g>>2]|0)+12>>2]|0)+(c[c[g>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(!(Dk(c[g>>2]|0,c[h>>2]|0,1)|0)){_E((c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)|0,0,c[c[g>>2]>>2]|0)|0;h=(c[g>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[g>>2]>>2]|0);h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;break}c[f>>2]=7;h=c[f>>2]|0;i=d;return h|0}while(0);c[f>>2]=0;h=c[f>>2]|0;i=d;return h|0}function Ed(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Md(c[d>>2]|0,1)|0;i=b;return a|0}function Fd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Gd(c[d>>2]|0,1)|0;i=b;return a|0}function Gd(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+8|0;k=g+4|0;j=g+12|0;h=g;c[k>>2]=b;a[j>>0]=d;c[h>>2]=c[k>>2];if(((e[(c[h>>2]|0)+8>>1]|0)&16|0)==0?(Md(c[k>>2]|0,a[j>>0]|0)|0)==0:0){c[f>>2]=0;b=c[f>>2]|0;i=g;return b|0}d=c[(c[h>>2]|0)+12>>2]|0;if((e[(c[h>>2]|0)+8>>1]|0)&16384){c[f>>2]=d+(c[c[h>>2]>>2]|0);b=c[f>>2]|0;i=g;return b|0}else{c[f>>2]=d;b=c[f>>2]|0;i=g;return b|0}return 0}function Hd(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+Id(c[e>>2]|0);i=d;return+b}function Id(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;d=i;i=i+32|0;f=d+8|0;j=d+16|0;g=d;c[j>>2]=b;b=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[b>>3];l=+h[f>>3];i=d;return+l}k=c[j>>2]|0;if((e[b+8>>1]|0)&4){h[f>>3]=+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0);l=+h[f>>3];i=d;return+l}if((e[k+8>>1]|0)&18){h[g>>3]=0.0;Lm(c[(c[j>>2]|0)+16>>2]|0,g,c[(c[j>>2]|0)+12>>2]|0,a[(c[j>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[g>>3];l=+h[f>>3];i=d;return+l}else{h[f>>3]=0.0;l=+h[f>>3];i=d;return+l}return 0.0}function Jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Kd(c[d>>2]|0)|0;i=b;return a|0}function Kd(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;d=i;i=i+32|0;f=d+8|0;g=d+20|0;k=d+16|0;j=d;c[g>>2]=b;c[k>>2]=e[(c[g>>2]|0)+8>>1];do if(!(c[k>>2]&4)){if(c[k>>2]&8){j=Ip(+h[c[g>>2]>>3])|0;k=f;c[k>>2]=j;c[k+4>>2]=D;break}if(c[k>>2]&18){k=j;c[k>>2]=0;c[k+4>>2]=0;wg(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;g=j;j=c[g+4>>2]|0;k=f;c[k>>2]=c[g>>2];c[k+4>>2]=j;break}else{k=f;c[k>>2]=0;c[k+4>>2]=0;break}}else{g=c[g>>2]|0;j=c[g+4>>2]|0;k=f;c[k>>2]=c[g>>2];c[k+4>>2]=j}while(0);k=f;D=c[k+4>>2]|0;i=d;return c[k>>2]|0}function Ld(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Kd(c[d>>2]|0)|0;i=b;return a|0}function Md(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h+4|0;j=h;k=h+8|0;c[j>>2]=b;a[k>>0]=f;do if(c[j>>2]|0){if(((e[(c[j>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[j>>2]|0)+10>>0]|0|0)==(d[k>>0]|0|0):0){c[g>>2]=c[(c[j>>2]|0)+16>>2];break}if((e[(c[j>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=$C(c[j>>2]|0,a[k>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=h;return c[g>>2]|0}function Nd(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[1144+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function Od(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;Pd(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function Pd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+12|0;n=h+8|0;m=h+4|0;l=h+16|0;k=h;c[j>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((Vd(c[c[j>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=h;return}he(c[j>>2]|0);i=h;return}function Qd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;k=g+12|0;l=g;j=g+8|0;c[h>>2]=a;c[k>>2]=b;a=l;c[a>>2]=d;c[a+4>>2]=e;c[j>>2]=f;a=l;b=c[a+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[a>>2]|0)>>>0>2147483647){Rd(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return}else{Pd(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,0,c[j>>2]|0);i=g;return}}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!((c[h>>2]|0)==0|(c[h>>2]|0)==(-1|0)))rb[c[h>>2]&31](c[g>>2]|0);if(!(c[f>>2]|0)){i=e;return 18}he(c[f>>2]|0);i=e;return 18}function Sd(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;Td(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function Td(a,d){a=a|0;d=+d;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e;c[g>>2]=a;h[f>>3]=d;_d(c[g>>2]|0);if($w(+h[f>>3])|0){i=e;return}h[c[g>>2]>>3]=+h[f>>3];b[(c[g>>2]|0)+8>>1]=8;i=e;return}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;Vd(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function Vd(f,g,h,j,k){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;o=i;i=i+48|0;l=o+28|0;n=o+24|0;u=o+20|0;v=o+16|0;r=o+34|0;s=o+12|0;m=o+8|0;p=o+4|0;q=o+32|0;t=o;c[n>>2]=f;c[u>>2]=g;c[v>>2]=h;a[r>>0]=j;c[s>>2]=k;c[m>>2]=c[v>>2];b[q>>1]=0;k=c[n>>2]|0;if(!(c[u>>2]|0)){_d(k);c[l>>2]=0;v=c[l>>2]|0;i=o;return v|0}if(c[k+32>>2]|0)c[p>>2]=c[(c[(c[n>>2]|0)+32>>2]|0)+88>>2];else c[p>>2]=1e9;b[q>>1]=(d[r>>0]|0)==0?16:2;if((c[m>>2]|0)<0){a:do if((d[r>>0]|0)==1){c[m>>2]=Mb(c[u>>2]|0)|0;if((c[m>>2]|0)>(c[p>>2]|0))c[m>>2]=(c[p>>2]|0)+1}else{c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[p>>2]|0))break a;if(!(a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|a[(c[u>>2]|0)+((c[m>>2]|0)+1)>>0]))break a;c[m>>2]=(c[m>>2]|0)+2}}while(0);b[q>>1]=e[q>>1]|512}do if((c[s>>2]|0)!=(-1|0)){v=(c[s>>2]|0)==16;Bd(c[n>>2]|0);t=c[u>>2]|0;c[(c[n>>2]|0)+16>>2]=t;if(v){c[(c[n>>2]|0)+20>>2]=t;v=Bk(c[(c[n>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+20>>2]|0)|0;c[(c[n>>2]|0)+24>>2]=v;break}else{c[(c[n>>2]|0)+36>>2]=c[s>>2];b[q>>1]=e[q>>1]|((c[s>>2]|0)==0?2048:1024);break}}else{c[t>>2]=c[m>>2];if(e[q>>1]&512)c[t>>2]=(c[t>>2]|0)+((d[r>>0]|0)==1?1:2);if((c[m>>2]|0)>(c[p>>2]|0)){c[l>>2]=18;v=c[l>>2]|0;i=o;return v|0}if(!(Lp(c[n>>2]|0,(c[t>>2]|0)>32?c[t>>2]|0:32)|0)){dF(c[(c[n>>2]|0)+16>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;break}c[l>>2]=7;v=c[l>>2]|0;i=o;return v|0}while(0);c[(c[n>>2]|0)+12>>2]=c[m>>2];b[(c[n>>2]|0)+8>>1]=b[q>>1]|0;if(!(d[r>>0]|0))q=1;else q=d[r>>0]|0;a[(c[n>>2]|0)+10>>0]=q;if((d[(c[n>>2]|0)+10>>0]|0)!=1?(_C(c[n>>2]|0)|0)!=0:0){c[l>>2]=7;v=c[l>>2]|0;i=o;return v|0}if((c[m>>2]|0)>(c[p>>2]|0)){c[l>>2]=18;v=c[l>>2]|0;i=o;return v|0}else{c[l>>2]=0;v=c[l>>2]|0;i=o;return v|0}return 0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;Xd(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function Xd(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g+8|0;j=g;c[h>>2]=a;a=j;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[h>>2]|0)+8>>1]|0)&9312){a=j;ZC(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=g;return}else{d=c[j+4>>2]|0;a=c[h>>2]|0;c[a>>2]=c[j>>2];c[a+4>>2]=d;b[(c[h>>2]|0)+8>>1]=4;i=g;return}}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;Xd(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function Zd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_d(c[c[d>>2]>>2]|0);i=b;return}function _d(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){gn(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function $d(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;Pd(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function ae(b,e,f,g,h,j){b=b|0;e=e|0;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;n=i;i=i+32|0;m=n+16|0;p=n+12|0;o=n;l=n+8|0;k=n+20|0;c[m>>2]=b;c[p>>2]=e;b=o;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=h;a[k>>0]=j;if((d[k>>0]|0)==4)a[k>>0]=(a[1136]|0)==0?3:2;b=o;e=c[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(c[b>>2]|0)>>>0>2147483647){Rd(c[p>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=n;return}else{Pd(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,a[k>>0]|0,c[l>>2]|0);i=n;return}}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ce(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function ce(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;h=g+8|0;j=g+4|0;f=g;c[h>>2]=a;c[j>>2]=d;c[f>>2]=0;if((e[(c[h>>2]|0)+8>>1]|0)&9312)gn(c[h>>2]|0);a=c[h>>2]|0;d=c[j>>2]|0;c[a+0>>2]=c[d+0>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[h>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[h>>2]|0)+8>>1]|0)&18)){a=c[f>>2]|0;i=g;return a|0}if((e[(c[j>>2]|0)+8>>1]|0)&2048){a=c[f>>2]|0;i=g;return a|0}a=(c[h>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[f>>2]=Ak(c[h>>2]|0)|0;a=c[f>>2]|0;i=g;return a|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ee(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return}function ee(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=d;c[h>>2]=e;Bd(c[g>>2]|0);b[(c[g>>2]|0)+8>>1]=16400;c[(c[g>>2]|0)+12>>2]=0;if((c[h>>2]|0)<0)c[h>>2]=0;c[c[g>>2]>>2]=c[h>>2];a[(c[g>>2]|0)+10>>0]=1;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function fe(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=d;c[(c[g>>2]|0)+20>>2]=c[h>>2];a[(c[g>>2]|0)+25>>0]=1;if(!((e[(c[c[g>>2]>>2]|0)+8>>1]|0)&1)){i=f;return}b=c[c[g>>2]>>2]|0;Vd(b,ge(c[h>>2]|0)|0,-1,1,0)|0;i=f;return}function ge(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=5952;if((c[e>>2]|0)!=516){c[e>>2]=c[e>>2]&255;if((c[e>>2]|0)>=0&(c[e>>2]|0)<27?(c[5112+(c[e>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[5112+(c[e>>2]<<2)>>2]}else c[d>>2]=5968;i=b;return c[d>>2]|0}function he(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;Vd(c[c[e>>2]>>2]|0,1176,-1,1,0)|0;i=d;return}function ie(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;_d(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;a[(c[(c[c[e>>2]>>2]|0)+32>>2]|0)+64>>0]=1;i=d;return}function je(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+48|0;f=j+32|0;m=j+28|0;k=j+24|0;l=j+20|0;e=j+16|0;o=j+12|0;g=j+8|0;n=j+4|0;h=j;c[m>>2]=d;c[k>>2]=0;c[l>>2]=0;c[e>>2]=c[m>>2];c[o>>2]=0;if(ke(c[e>>2]|0)|0){c[f>>2]=Qb(67871)|0;o=c[f>>2]|0;i=j;return o|0}c[g>>2]=c[c[e>>2]>>2];d=(c[e>>2]|0)+88|0;b[d>>1]=b[d>>1]&-2049;while(1){d=le(c[e>>2]|0)|0;c[k>>2]=d;if((d|0)!=17)break;d=c[o>>2]|0;c[o>>2]=d+1;if((d|0)>=50)break;c[n>>2]=c[(c[e>>2]|0)+76>>2];d=me(c[e>>2]|0)|0;c[k>>2]=d;c[l>>2]=d;if(c[k>>2]|0)break;xd(c[m>>2]|0)|0;if((c[n>>2]|0)<0)continue;d=(c[e>>2]|0)+88|0;b[d>>1]=b[d>>1]&-2049|2048}do if(c[l>>2]|0){c[h>>2]=Ed(c[(c[g>>2]|0)+232>>2]|0)|0;Xb(c[g>>2]|0,c[(c[e>>2]|0)+44>>2]|0);if(a[(c[g>>2]|0)+64>>0]|0){c[(c[e>>2]|0)+44>>2]=0;c[k>>2]=7;c[(c[e>>2]|0)+80>>2]=7;break}else{o=ne(c[g>>2]|0,c[h>>2]|0)|0;c[(c[e>>2]|0)+44>>2]=o;c[(c[e>>2]|0)+80>>2]=c[l>>2];break}}while(0);c[k>>2]=wd(c[g>>2]|0,c[k>>2]|0)|0;c[f>>2]=c[k>>2];o=c[f>>2]|0;i=j;return o|0}function ke(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;c[e>>2]=a;if(!(c[e>>2]|0)){tc(21,37016,b);c[d>>2]=1;e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=ud(c[e>>2]|0)|0;e=c[d>>2]|0;i=b;return e|0}return 0}function le(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;f=g+20|0;j=g+16|0;k=g+12|0;h=g+8|0;l=g;c[j>>2]=d;if((c[(c[j>>2]|0)+40>>2]|0)!=-1108210269)xd(c[j>>2]|0)|0;c[k>>2]=c[c[j>>2]>>2];d=c[j>>2]|0;if(a[(c[k>>2]|0)+64>>0]|0){c[d+80>>2]=7;c[f>>2]=7;d=c[f>>2]|0;i=g;return d|0}if((c[d+76>>2]|0)<=0?((e[(c[j>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){c[(c[j>>2]|0)+80>>2]=17;c[h>>2]=1}else{if((c[(c[j>>2]|0)+76>>2]|0)<0){if(!(c[(c[k>>2]|0)+148>>2]|0))c[(c[k>>2]|0)+240>>2]=0;if((c[(c[k>>2]|0)+180>>2]|0)!=0?(a[(c[k>>2]|0)+145>>0]|0)==0:0)Sm(c[c[k>>2]>>2]|0,(c[j>>2]|0)+128|0)|0;d=(c[k>>2]|0)+148|0;c[d>>2]=(c[d>>2]|0)+1;if(!((e[(c[j>>2]|0)+88>>1]|0)>>>8&1)){d=(c[k>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+1}if((e[(c[j>>2]|0)+88>>1]|0)>>>9&1){d=(c[k>>2]|0)+152|0;c[d>>2]=(c[d>>2]|0)+1}c[(c[j>>2]|0)+76>>2]=0}if(b[(c[j>>2]|0)+88>>1]&3)c[h>>2]=Ty(c[j>>2]|0)|0;else{d=(c[k>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;c[h>>2]=Uy(c[j>>2]|0)|0;d=(c[k>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+ -1}if((((c[h>>2]|0)!=100?(c[(c[k>>2]|0)+180>>2]|0)!=0:0)?(a[(c[k>>2]|0)+145>>0]|0)==0:0)?(c[(c[j>>2]|0)+168>>2]|0)!=0:0){Sm(c[c[k>>2]>>2]|0,l)|0;o=c[(c[k>>2]|0)+180>>2]|0;n=c[(c[k>>2]|0)+184>>2]|0;m=c[(c[j>>2]|0)+168>>2]|0;d=(c[j>>2]|0)+128|0;d=ZE(c[l>>2]|0,c[l+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=lF(d|0,D|0,1e6,0)|0;Bb[o&3](n,m,d,D)}if((c[h>>2]|0)==101?(o=Vy(c[k>>2]|0)|0,c[(c[j>>2]|0)+80>>2]=o,(c[(c[j>>2]|0)+80>>2]|0)!=0):0)c[h>>2]=1;c[(c[k>>2]|0)+52>>2]=c[h>>2];if(7==(wd(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+80>>2]|0)|0))c[(c[j>>2]|0)+80>>2]=7}if(((c[h>>2]|0)!=100?((e[(c[j>>2]|0)+88>>1]|0)>>>10&1|0)!=0:0)&(c[h>>2]|0)!=101)c[h>>2]=Wy(c[j>>2]|0)|0;c[f>>2]=c[h>>2]&c[(c[k>>2]|0)+56>>2];o=c[f>>2]|0;i=g;return o|0}function me(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+20|0;g=d+16|0;h=d+12|0;f=d+8|0;k=d+4|0;j=d;c[g>>2]=b;c[k>>2]=sd(c[g>>2]|0)|0;c[j>>2]=Fs(c[g>>2]|0)|0;c[h>>2]=pf(c[j>>2]|0,c[k>>2]|0,-1,0,c[g>>2]|0,f,0)|0;if(!(c[h>>2]|0)){Cy(c[f>>2]|0,c[g>>2]|0);Ne(c[f>>2]|0,c[g>>2]|0)|0;Dy(c[f>>2]|0);vd(c[f>>2]|0)|0;c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}if((c[h>>2]|0)==7)a[(c[j>>2]|0)+64>>0]=1;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=d;return k|0}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;j=d+12|0;g=d+8|0;f=d+4|0;h=d;c[j>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=(Mb(c[g>>2]|0)|0)+1;a=c[h>>2]|0;c[f>>2]=Qe(c[j>>2]|0,a,((a|0)<0)<<31>>31)|0;if(c[f>>2]|0)dF(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}function oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function pe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function qe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;h=d+4|0;g=d;c[h>>2]=a;c[g>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[f>>2]=re(b,c[g>>2]|0)|0;h=c[f>>2]|0;i=d;return h|0}else{c[f>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[f>>2]|0;i=d;return h|0}return 0}function re(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=d;c[f>>2]=c[(c[h>>2]|0)+8>>2];d=c[f>>2]|0;if((c[g>>2]|0)>0){Lp(d,c[g>>2]|0)|0;b[(c[f>>2]|0)+8>>1]=8192;c[c[f>>2]>>2]=c[(c[h>>2]|0)+4>>2];if(c[(c[f>>2]|0)+16>>2]|0)_E(c[(c[f>>2]|0)+16>>2]|0,0,c[g>>2]|0)|0}else{_d(d);c[(c[f>>2]|0)+16>>2]=0}i=e;return c[(c[f>>2]|0)+16>>2]|0}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;g=e;f=e+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;c[f>>2]=Qe(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=e;return h|0}_E(c[f>>2]|0,0,c[g>>2]|0)|0;h=c[f>>2]|0;i=e;return h|0}function te(a){a=a|0;var b=0,d=0,f=0;b=i;i=i+16|0;f=b+4|0;d=b;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=b;return f|0}f=e[(c[d>>2]|0)+84>>1]|0;i=b;return f|0}function ue(a){a=a|0;var b=0,d=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;g=b+4|0;f=b;c[g>>2]=a;c[f>>2]=c[g>>2];if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+84>>1];g=c[d>>2]|0;i=b;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}function ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Cd(we(c[f>>2]|0,c[g>>2]|0)|0)|0;xe(c[f>>2]|0);i=e;return c[d>>2]|0}function we(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;j=d+12|0;g=d+8|0;h=d+4|0;f=d;c[j>>2]=a;c[g>>2]=b;c[h>>2]=c[j>>2];if(((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+20>>2]|0)!=0:0)?(c[g>>2]|0)>=0?(c[g>>2]|0)<(e[(c[h>>2]|0)+84>>1]|0|0):0:0){c[f>>2]=(c[(c[h>>2]|0)+20>>2]|0)+((c[g>>2]|0)*40|0);j=c[f>>2]|0;i=d;return j|0}if((c[h>>2]|0)!=0?(c[c[h>>2]>>2]|0)!=0:0)Nc(c[c[h>>2]>>2]|0,25);c[f>>2]=Sy()|0;j=c[f>>2]|0;i=d;return j|0}function xe(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];if(!(c[d>>2]|0)){i=b;return}e=wd(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+80>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=e;i=b;return}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Fd(we(c[f>>2]|0,c[g>>2]|0)|0)|0;xe(c[f>>2]|0);i=e;return c[d>>2]|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+Hd(we(c[f>>2]|0,c[g>>2]|0)|0);xe(c[f>>2]|0);i=e;return+(+h[d>>3])}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Ed(we(c[f>>2]|0,c[g>>2]|0)|0)|0;xe(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Nd(we(c[f>>2]|0,c[g>>2]|0)|0)|0;xe(c[f>>2]|0);i=e;return c[d>>2]|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=De(c[f>>2]|0,c[e>>2]|0,17,0)|0;i=d;return a|0}function De(b,d,e,f){b=b|0;d=d|0;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;m=i;i=i+32|0;p=m+28|0;g=m+24|0;n=m+20|0;k=m+16|0;h=m+12|0;o=m+8|0;l=m+4|0;j=m;c[p>>2]=b;c[g>>2]=d;c[n>>2]=e;c[k>>2]=f;c[h>>2]=0;c[o>>2]=c[p>>2];c[j>>2]=c[c[o>>2]>>2];c[l>>2]=te(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[h>>2]|0;i=m;return p|0}p=$(c[k>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[h>>2]=ub[c[n>>2]&31]((c[(c[o>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[j>>2]|0)+64>>0]|0)){p=c[h>>2]|0;i=m;return p|0}a[(c[j>>2]|0)+64>>0]=0;c[h>>2]=0;p=c[h>>2]|0;i=m;return p|0}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a=Fe(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return a|0}function Fe(b,e,f,g,h,j){b=b|0;e=e|0;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;q=i;i=i+48|0;t=q+28|0;p=q+24|0;n=q+20|0;r=q+16|0;m=q+12|0;s=q+32|0;o=q+8|0;k=q+4|0;l=q;c[t>>2]=b;c[p>>2]=e;c[n>>2]=f;c[r>>2]=g;c[m>>2]=h;a[s>>0]=j;c[o>>2]=c[t>>2];c[l>>2]=He(c[o>>2]|0,c[p>>2]|0)|0;if(c[l>>2]|0){if(!((c[m>>2]|0)!=0&(c[m>>2]|0)!=(-1|0))){t=c[l>>2]|0;i=q;return t|0}rb[c[m>>2]&31](c[n>>2]|0);t=c[l>>2]|0;i=q;return t|0}if(!(c[n>>2]|0)){t=c[l>>2]|0;i=q;return t|0}c[k>>2]=(c[(c[o>>2]|0)+60>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);c[l>>2]=Vd(c[k>>2]|0,c[n>>2]|0,c[r>>2]|0,a[s>>0]|0,c[m>>2]|0)|0;if((c[l>>2]|0)==0?(d[s>>0]|0|0)!=0:0)c[l>>2]=yk(c[k>>2]|0,d[(c[(c[(c[c[o>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0)|0;Nc(c[c[o>>2]>>2]|0,c[l>>2]|0);c[l>>2]=wd(c[c[o>>2]>>2]|0,c[l>>2]|0)|0;t=c[l>>2]|0;i=q;return t|0}function Ge(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;e=i;i=i+32|0;l=e+20|0;j=e+16|0;k=e;f=e+12|0;g=e+8|0;c[l>>2]=a;c[j>>2]=b;h[k>>3]=d;c[g>>2]=c[l>>2];c[f>>2]=He(c[g>>2]|0,c[j>>2]|0)|0;if(c[f>>2]|0){l=c[f>>2]|0;i=e;return l|0}Td((c[(c[g>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0)|0,+h[k>>3]);l=c[f>>2]|0;i=e;return l|0}function He(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;c[j>>2]=a;c[k>>2]=d;if(ke(c[j>>2]|0)|0){c[h>>2]=Qb(68415)|0;a=c[h>>2]|0;i=g;return a|0}if((c[(c[j>>2]|0)+40>>2]|0)==-1108210269?(c[(c[j>>2]|0)+76>>2]|0)<0:0){if((c[k>>2]|0)>=1?(c[k>>2]|0)<=(b[(c[j>>2]|0)+68>>1]|0):0){c[k>>2]=(c[k>>2]|0)+ -1;c[l>>2]=(c[(c[j>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0);Bd(c[l>>2]|0);b[(c[l>>2]|0)+8>>1]=1;Nc(c[c[j>>2]>>2]|0,0);do if((e[(c[j>>2]|0)+88>>1]|0)>>>10&1){if(!((c[k>>2]|0)<32?(c[(c[j>>2]|0)+188>>2]&1<>2]|0)!=0:0))f=12;if((f|0)==12?(c[(c[j>>2]|0)+188>>2]|0)!=-1:0)break;a=(c[j>>2]|0)+88|0;b[a>>1]=b[a>>1]&-33|32}while(0);c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}Nc(c[c[j>>2]>>2]|0,25);c[h>>2]=25;a=c[h>>2]|0;i=g;return a|0}Nc(c[c[j>>2]>>2]|0,21);c[m>>2]=c[(c[j>>2]|0)+168>>2];tc(21,31184,m);c[h>>2]=Qb(68423)|0;a=c[h>>2]|0;i=g;return a|0}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Je(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;l=f+20|0;k=f+16|0;h=f;g=f+12|0;j=f+8|0;c[l>>2]=a;c[k>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;c[j>>2]=c[l>>2];c[g>>2]=He(c[j>>2]|0,c[k>>2]|0)|0;if(c[g>>2]|0){l=c[g>>2]|0;i=f;return l|0}l=h;Xd((c[(c[j>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[g>>2]|0;i=f;return l|0}function Ke(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a=Fe(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return a|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[f>>2]|0;a=c[e>>2]|0;a=Me(b,a,Mb(c[e>>2]|0)|0)|0;i=d;return a|0}function Me(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;m=g+16|0;k=g+12|0;l=g+8|0;n=g+4|0;j=g;c[m>>2]=d;c[k>>2]=e;c[l>>2]=f;if(!(c[m>>2]|0)){c[h>>2]=0;d=c[h>>2]|0;i=g;return d|0}a:do if(c[k>>2]|0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[m>>2]|0)+70>>1]|0))break a;c[j>>2]=c[(c[(c[m>>2]|0)+64>>2]|0)+(c[n>>2]<<2)>>2];if(((c[j>>2]|0)!=0?(VE(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)==0:0)?(a[(c[j>>2]|0)+(c[l>>2]|0)>>0]|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}c[h>>2]=(c[n>>2]|0)+1;d=c[h>>2]|0;i=g;return d|0}while(0);c[h>>2]=0;d=c[h>>2]|0;i=g;return d|0}function Ne(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[k>>2]=a;c[j>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=c[j>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(b[(c[g>>2]|0)+68>>1]|0))break;Ry((c[(c[h>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)|0,(c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)|0);c[f>>2]=(c[f>>2]|0)+1}i=e;return 0}function Oe(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[d>>2]=Nd(c[e>>2]|0)|0;if((c[d>>2]|0)!=3){f=c[d>>2]|0;i=b;return f|0}c[f>>2]=c[e>>2];Pe(c[f>>2]|0,0);c[d>>2]=Nd(c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}function Pe(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;k=g+20|0;m=g+16|0;l=g+8|0;j=g;n=g+24|0;c[k>>2]=d;c[m>>2]=f;a[n>>0]=a[(c[k>>2]|0)+10>>0]|0;if(!(Lm(c[(c[k>>2]|0)+16>>2]|0,l,c[(c[k>>2]|0)+12>>2]|0,a[n>>0]|0)|0)){i=g;return}if(!(wg(c[(c[k>>2]|0)+16>>2]|0,j,c[(c[k>>2]|0)+12>>2]|0,a[n>>0]|0)|0)){m=j;n=c[m+4>>2]|0;d=c[k>>2]|0;c[d>>2]=c[m>>2];c[d+4>>2]=n;d=(c[k>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|4;i=g;return}h[c[k>>2]>>3]=+h[l>>3];d=(c[k>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|8;if(!(c[m>>2]|0)){i=g;return}Hp(c[k>>2]|0);i=g;return}function Qe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+20|0;l=g+16|0;j=g;k=g+12|0;m=g+8|0;c[l>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[l>>2]|0){if(a[(c[l>>2]|0)+64>>0]|0){c[h>>2]=0;b=c[h>>2]|0;i=g;return b|0}if(a[(c[l>>2]|0)+250>>0]|0){b=j;d=c[b+4>>2]|0;f=(c[l>>2]|0)+248|0;if(d>>>0>0|((d|0)==0?(c[b>>2]|0)>>>0>(e[(c[l>>2]|0)+248>>1]|0)>>>0:0)){b=f+16|0;c[b>>2]=(c[b>>2]|0)+1;break}b=c[f+24>>2]|0;c[m>>2]=b;if(!b){b=(c[l>>2]|0)+268|0;c[b>>2]=(c[b>>2]|0)+1;break}c[(c[l>>2]|0)+272>>2]=c[c[m>>2]>>2];b=(c[l>>2]|0)+252|0;c[b>>2]=(c[b>>2]|0)+1;b=(c[l>>2]|0)+260|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[l>>2]|0)+252>>2]|0)>(c[(c[l>>2]|0)+256>>2]|0))c[(c[l>>2]|0)+256>>2]=c[(c[l>>2]|0)+252>>2];c[h>>2]=c[m>>2];b=c[h>>2]|0;i=g;return b|0}}while(0);b=j;c[k>>2]=gc(c[b>>2]|0,c[b+4>>2]|0)|0;if((c[k>>2]|0)==0&(c[l>>2]|0)!=0)a[(c[l>>2]|0)+64>>0]=1;c[h>>2]=c[k>>2];b=c[h>>2]|0;i=g;return b|0}function Re(b,d,e,f){b=b|0;d=d|0;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;l=i;i=i+48|0;k=l;g=l+36|0;m=l+32|0;p=l+28|0;j=l+24|0;h=l+20|0;n=l+16|0;o=l+12|0;c[m>>2]=b;c[p>>2]=d;c[j>>2]=e;c[h>>2]=f;if(Ar(c[m>>2]|0)|0){c[g>>2]=0;b=c[g>>2]|0;i=l;return b|0}c[n>>2]=sp(c[c[m>>2]>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(!(c[n>>2]|0)){c[o>>2]=(c[p>>2]|0)!=0?31152:31168;p=c[m>>2]|0;o=c[o>>2]|0;if(c[h>>2]|0){d=c[h>>2]|0;b=c[j>>2]|0;c[k>>2]=o;c[k+4>>2]=d;c[k+8>>2]=b;Se(p,17264,k)}else{b=c[j>>2]|0;c[k>>2]=o;c[k+4>>2]=b;Se(p,17280,k)}a[(c[m>>2]|0)+17>>0]=1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=l;return b|0}function Se(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;f=i;i=i+48|0;j=f+32|0;l=f+28|0;g=f+24|0;k=f+8|0;h=f;c[j>>2]=b;c[l>>2]=d;c[h>>2]=c[c[j>>2]>>2];c[k>>2]=e;c[g>>2]=yn(c[h>>2]|0,c[l>>2]|0,k)|0;if(a[(c[h>>2]|0)+67>>0]|0){Xb(c[h>>2]|0,c[g>>2]|0);i=f;return}else{l=(c[j>>2]|0)+64|0;c[l>>2]=(c[l>>2]|0)+1;Xb(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=c[g>>2];c[(c[j>>2]|0)+12>>2]=1;i=f;return}}function Te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=yn(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;g=b+8|0;e=b+4|0;f=b;c[g>>2]=a;c[e>>2]=c[c[g>>2]>>2];c[f>>2]=se(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[g>>2];c[d>>2]=c[f>>2];g=c[d>>2]|0;i=b;return g|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=-1e6;if(!(c[g>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){b=6;break}if((c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0)==(c[g>>2]|0)){b=6;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==6){a=c[e>>2]|0;i=d;return a|0}return 0}function We(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=ip(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;bf(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;if(!(c[(c[g>>2]|0)+4>>2]|0)){i=e;return}a[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=e;return}function Ye(b,d,e,f){b=b|0;d=d|0;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;h=i;i=i+48|0;n=h+36|0;k=h+32|0;l=h+28|0;q=h+24|0;j=h+16|0;o=h+12|0;m=h+8|0;g=h+4|0;p=h;c[k>>2]=b;c[l>>2]=d;c[q>>2]=e;c[h+20>>2]=f;if(((c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]|0)|0)>(c[(c[(c[k>>2]|0)+24>>2]|0)+84>>2]|0)?(jp(c[k>>2]|0,c[l>>2]|0)|0)!=0:0){c[n>>2]=0;b=c[n>>2]|0;i=h;return b|0}c[j>>2]=c[(c[k>>2]|0)+32>>2];if((c[l>>2]|0)>0){c[m>>2]=c[q>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;c[g>>2]=a[(c[m>>2]|0)+2>>0];c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(((c[o>>2]|0)+(c[j>>2]|0)|0)*20|0);a[c[p>>2]>>0]=a[c[m>>2]>>0]|0;c[(c[p>>2]|0)+4>>2]=a[(c[m>>2]|0)+1>>0];if((c[g>>2]|0)<0)c[(c[p>>2]|0)+8>>2]=(c[j>>2]|0)+(-1-(c[g>>2]|0));else c[(c[p>>2]|0)+8>>2]=c[g>>2];c[(c[p>>2]|0)+12>>2]=a[(c[m>>2]|0)+3>>0];a[(c[p>>2]|0)+1>>0]=0;c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+3>>0]=0;c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+4}b=(c[k>>2]|0)+32|0;c[b>>2]=(c[b>>2]|0)+(c[l>>2]|0)}c[n>>2]=c[j>>2];b=c[n>>2]|0;i=h;return b|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=(c[f>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];i=d;return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if((c[(c[g>>2]|0)+32>>2]|0)>>>0<=(c[h>>2]|0)>>>0){i=e;return}c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)+4>>2]=c[f>>2];i=e;return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if((c[(c[g>>2]|0)+32>>2]|0)>>>0<=(c[h>>2]|0)>>>0){i=e;return}c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)+8>>2]=c[f>>2];i=e;return}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if((c[(c[g>>2]|0)+32>>2]|0)>>>0<=(c[h>>2]|0)>>>0){i=e;return}c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)+12>>2]=c[f>>2];i=e;return}function bf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;k=j+20|0;o=j+16|0;h=j+12|0;m=j+8|0;l=j+4|0;n=j;c[k>>2]=b;c[o>>2]=e;c[h>>2]=f;c[m>>2]=g;c[n>>2]=c[c[k>>2]>>2];if((c[(c[k>>2]|0)+4>>2]|0)!=0?(d[(c[n>>2]|0)+64>>0]|0)==0:0){if((c[o>>2]|0)<0)c[o>>2]=(c[(c[k>>2]|0)+32>>2]|0)-1;c[l>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);Oy(c[n>>2]|0,a[(c[l>>2]|0)+1>>0]|0,c[(c[l>>2]|0)+16>>2]|0);c[(c[l>>2]|0)+16>>2]=0;n=c[h>>2]|0;if((c[m>>2]|0)==-14){c[(c[l>>2]|0)+16>>2]=n;a[(c[l>>2]|0)+1>>0]=-14;i=j;return}if(!n){c[(c[l>>2]|0)+16>>2]=0;a[(c[l>>2]|0)+1>>0]=0;i=j;return}if((c[m>>2]|0)==-6){c[(c[l>>2]|0)+16>>2]=c[h>>2];a[(c[l>>2]|0)+1>>0]=-6;i=j;return}if((c[m>>2]|0)==-10){c[(c[l>>2]|0)+16>>2]=c[h>>2];a[(c[l>>2]|0)+1>>0]=-10;Qy(c[h>>2]|0);i=j;return}if((c[m>>2]|0)<0){c[(c[l>>2]|0)+16>>2]=c[h>>2];a[(c[l>>2]|0)+1>>0]=c[m>>2];i=j;return}if(!(c[m>>2]|0))c[m>>2]=Mb(c[h>>2]|0)|0;b=c[m>>2]|0;b=rm(c[c[k>>2]>>2]|0,c[h>>2]|0,b,((b|0)<0)<<31>>31)|0;c[(c[l>>2]|0)+16>>2]=b;a[(c[l>>2]|0)+1>>0]=-1;i=j;return}if((c[m>>2]|0)==-10){i=j;return}Oy(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0);i=j;return}function cf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+32>>2]|0)){i=e;return}c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);c[j>>2]=c[c[f>>2]>>2];Oy(c[j>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);b=c[h>>2]|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[c[h>>2]>>0]=-102;if((c[g>>2]|0)!=((c[(c[f>>2]|0)+32>>2]|0)-1|0)){i=e;return}b=(c[f>>2]|0)+32|0;c[b>>2]=(c[b>>2]|0)+ -1;i=e;return}function df(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;m=i;i=i+48|0;n=m+44|0;o=m+40|0;l=m+36|0;k=m+32|0;s=m+28|0;g=m+24|0;t=m+20|0;h=m+16|0;j=m+12|0;p=m+8|0;r=m+4|0;q=m;c[n>>2]=e;c[o>>2]=f;c[l>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[o>>2]|0)+440>>2];c[s>>2]=c[(c[o>>2]|0)+72>>2];c[g>>2]=c[(c[o>>2]|0)+68>>2];c[t>>2]=c[(c[o>>2]|0)+392>>2];e=c[(c[o>>2]|0)+80>>2]|0;c[h>>2]=e;c[h>>2]=(c[h>>2]|0)==0?1:e;c[s>>2]=(c[s>>2]|0)+(c[g>>2]|0);c[p>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[(c[n>>2]|0)+32>>2]|0)*20|0);c[r>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+84>>2]|0)*20|0);rw(c[n>>2]|0,t);if(d[(c[o>>2]|0)+20>>0]|0)f=(d[(c[o>>2]|0)+21>>0]|0)!=0;else f=0;e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-129|(f&1)<<7&65535;if((c[s>>2]|0)<10?(d[(c[o>>2]|0)+450>>0]|0)!=0:0)c[s>>2]=10;_E(c[p>>2]|0,0,(c[r>>2]|0)-(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+((c[p>>2]|0)-0&7);e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-33;do{c[q>>2]=0;e=Ny(c[(c[n>>2]|0)+8>>2]|0,(c[s>>2]|0)*40|0,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+8>>2]=e;e=Ny(c[(c[n>>2]|0)+60>>2]|0,(c[k>>2]|0)*40|0,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+60>>2]=e;e=Ny(c[(c[n>>2]|0)+12>>2]|0,c[t>>2]<<2,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+12>>2]=e;e=Ny(c[(c[n>>2]|0)+64>>2]|0,c[k>>2]<<2,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+64>>2]=e;e=Ny(c[(c[n>>2]|0)+56>>2]|0,c[g>>2]<<2,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+56>>2]=e;e=Ny(c[(c[n>>2]|0)+200>>2]|0,c[h>>2]|0,p,c[r>>2]|0,q)|0;c[(c[n>>2]|0)+200>>2]=e;if(c[q>>2]|0){e=c[q>>2]|0;e=se(c[l>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[n>>2]|0)+172>>2]=e}c[p>>2]=c[(c[n>>2]|0)+172>>2];c[r>>2]=(c[p>>2]|0)+(c[q>>2]|0);if(!(c[q>>2]|0))break}while((a[(c[l>>2]|0)+64>>0]|0)!=0^1);c[(c[n>>2]|0)+36>>2]=c[g>>2];c[(c[n>>2]|0)+196>>2]=c[h>>2];a:do if(c[(c[n>>2]|0)+60>>2]|0){b[(c[n>>2]|0)+68>>1]=c[k>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break a;b[(c[(c[n>>2]|0)+60>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]=1;c[(c[(c[n>>2]|0)+60>>2]|0)+((c[j>>2]|0)*40|0)+32>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}}while(0);if(c[(c[n>>2]|0)+64>>2]|0){b[(c[n>>2]|0)+70>>1]=c[(c[o>>2]|0)+444>>2];dF(c[(c[n>>2]|0)+64>>2]|0,c[(c[o>>2]|0)+472>>2]|0,b[(c[n>>2]|0)+70>>1]<<2|0)|0;_E(c[(c[o>>2]|0)+472>>2]|0,0,c[(c[o>>2]|0)+444>>2]<<2|0)|0}if(!(c[(c[n>>2]|0)+8>>2]|0)){f=c[o>>2]|0;f=f+450|0;f=a[f>>0]|0;f=f&255;e=c[n>>2]|0;e=e+88|0;f=f&65535;t=b[e>>1]|0;f=f&3;t=t&-4;f=t|f;b[e>>1]=f;e=c[n>>2]|0;zd(e);i=m;return}e=(c[n>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+ -40;c[(c[n>>2]|0)+28>>2]=c[s>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>(c[s>>2]|0))break;b[(c[(c[n>>2]|0)+8>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]=128;c[(c[(c[n>>2]|0)+8>>2]|0)+((c[j>>2]|0)*40|0)+32>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}f=c[o>>2]|0;f=f+450|0;f=a[f>>0]|0;f=f&255;e=c[n>>2]|0;e=e+88|0;f=f&65535;t=b[e>>1]|0;f=f&3;t=t&-4;f=t|f;b[e>>1]=f;e=c[n>>2]|0;zd(e);i=m;return}function ef(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}c[e>>2]=c[c[d>>2]>>2];Xb(c[e>>2]|0,c[(c[d>>2]|0)+112>>2]|0);sn(c[e>>2]|0,c[(c[d>>2]|0)+316>>2]|0);i=b;return}function ff(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;h=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;n=m+4|0;j=m;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[n>>2]=f;if(!(d[(c[k>>2]|0)+73>>0]|0)){c[h>>2]=4;a=c[h>>2]|0;i=m;return a|0}if((d[(c[k>>2]|0)+73>>0]|0|0)>=3)f=vw(c[k>>2]|0)|0;else f=0;c[j>>2]=f;if(!(c[j>>2]|0))c[j>>2]=Lw(c[k>>2]|0,c[l>>2]|0,c[g>>2]|0,c[n>>2]|0,0)|0;c[h>>2]=c[j>>2];a=c[h>>2]|0;i=m;return a|0}function gf(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[e>>2]|0))break;f=(c[e>>2]|0)+88|0;b[f>>1]=b[f>>1]&-33|32;c[e>>2]=c[(c[e>>2]|0)+52>>2]}i=d;return}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=(jf(c[f>>2]|0,c[e>>2]|0,1208,0)|0)==0&1;i=d;return a|0}function jf(b,e,f,g){b=b|0;e=e|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;k=i;i=i+64|0;n=k+56|0;m=k+52|0;l=k+48|0;h=k+44|0;j=k+40|0;p=k+36|0;r=k+32|0;t=k+28|0;u=k+24|0;s=k+20|0;o=k+60|0;v=k+16|0;q=k+12|0;w=k+8|0;x=k+4|0;y=k;c[m>>2]=b;c[l>>2]=e;c[h>>2]=f;c[j>>2]=g;c[t>>2]=d[(c[h>>2]|0)+1>>0];c[u>>2]=d[c[h>>2]>>0];a[o>>0]=a[(c[h>>2]|0)+3>>0]|0;c[v>>2]=0;if(c[j>>2]|0)g=c[j>>2]|0;else g=d[(c[h>>2]|0)+2>>0]|0;c[s>>2]=g;a:while(1){b=Um(m)|0;c[p>>2]=b;if(!b){v=76;break}if((c[p>>2]|0)==(c[u>>2]|0)){v=7;break}do if((c[p>>2]|0)==(c[s>>2]|0)){if(c[j>>2]|0){c[p>>2]=Um(m)|0;if(!(c[p>>2]|0)){v=43;break a}c[v>>2]=c[m>>2];break}c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[p>>2]=Um(l)|0;if(!(c[p>>2]|0)){v=46;break a}c[r>>2]=Um(m)|0;if((c[r>>2]|0)==94){c[y>>2]=1;c[r>>2]=Um(m)|0}if((c[r>>2]|0)==93){if((c[p>>2]|0)==93)c[x>>2]=1;c[r>>2]=Um(m)|0}while(1){if(c[r>>2]|0)f=(c[r>>2]|0)!=93;else f=0;g=c[r>>2]|0;if(!f)break;if(((g|0)==45?(d[c[m>>2]>>0]|0)!=93:0)?(c[w>>2]|0)>>>0>0?(d[c[m>>2]>>0]|0)!=0:0:0){c[r>>2]=Um(m)|0;if((c[p>>2]|0)>>>0>=(c[w>>2]|0)>>>0?(c[p>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[x>>2]=1;c[w>>2]=0}else{if((c[p>>2]|0)==(c[r>>2]|0))c[x>>2]=1;c[w>>2]=c[r>>2]}c[r>>2]=Um(m)|0}if(!g){v=69;break a}if(!(c[x>>2]^c[y>>2])){v=69;break a}else continue a}while(0);c[r>>2]=Um(l)|0;if((c[p>>2]|0)==(c[r>>2]|0))continue;if((d[o>>0]|0)!=0&(c[p>>2]|0)>>>0<128&(c[r>>2]|0)>>>0<128?(d[440+(c[p>>2]&255)>>0]|0)==(d[440+(c[r>>2]&255)>>0]|0):0)continue;if((c[p>>2]|0)!=(c[t>>2]|0)){v=75;break}if(!((c[r>>2]|0)!=0?(c[m>>2]|0)!=(c[v>>2]|0):0)){v=75;break}}if((v|0)==7){while(1){v=0;b=Um(m)|0;c[p>>2]=b;if((b|0)==(c[u>>2]|0))x=1;else x=(c[p>>2]|0)==(c[t>>2]|0);w=c[p>>2]|0;if(!x)break;if((w|0)!=(c[t>>2]|0)){v=7;continue}if(!(Um(l)|0)){v=12;break}else v=7}if((v|0)==12){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}if(!w){c[n>>2]=1;b=c[n>>2]|0;i=k;return b|0}do if((c[p>>2]|0)==(c[s>>2]|0)){if(c[j>>2]|0){c[p>>2]=Um(m)|0;if(c[p>>2]|0)break;c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}b:while(1){if(d[c[l>>2]>>0]|0)p=(jf((c[m>>2]|0)+ -1|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)==0;else p=0;o=c[l>>2]|0;if(!p)break;c[l>>2]=o+1;if((d[o>>0]|0)<192)continue;while(1){if((d[c[l>>2]>>0]&192|0)!=128)continue b;c[l>>2]=(c[l>>2]|0)+1}}c[n>>2]=(d[o>>0]|0)!=0&1;b=c[n>>2]|0;i=k;return b|0}while(0);c:do if((c[p>>2]|0)>>>0<=128){s=c[p>>2]|0;if(a[o>>0]|0){c[q>>2]=s&~(d[1224+(c[p>>2]&255)>>0]&32);c[p>>2]=d[440+(c[p>>2]&255)>>0]}else c[q>>2]=s;while(1){b=c[l>>2]|0;c[l>>2]=b+1;b=d[b>>0]|0;c[r>>2]=b;if(!b)break c;if((c[r>>2]|0)!=(c[p>>2]|0)?(c[r>>2]|0)!=(c[q>>2]|0):0)continue;if(jf(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)break}c[n>>2]=1;b=c[n>>2]|0;i=k;return b|0}else{while(1){b=Um(l)|0;c[r>>2]=b;if(!b)break c;if((c[r>>2]|0)!=(c[p>>2]|0))continue;if(jf(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)break}c[n>>2]=1;b=c[n>>2]|0;i=k;return b|0}while(0);c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==43){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==46){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==69){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==75){c[n>>2]=0;b=c[n>>2]|0;i=k;return b|0}else if((v|0)==76){c[n>>2]=(d[c[l>>2]>>0]|0)==0&1;b=c[n>>2]|0;i=k;return b|0}return 0}function kf(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;u=i;i=i+64|0;l=u+56|0;o=u+52|0;t=u+48|0;x=u+44|0;z=u+40|0;n=u+36|0;m=u+32|0;j=u+28|0;r=u+24|0;q=u+20|0;v=u+16|0;w=u+12|0;s=u+8|0;y=u+4|0;p=u;c[o>>2]=b;c[t>>2]=e;c[x>>2]=f;c[z>>2]=g;c[n>>2]=h;c[m>>2]=0;c[r>>2]=0;c[q>>2]=0;if(!(lf(c[o>>2]|0)|0)){c[l>>2]=Qb(99392)|0;b=c[l>>2]|0;i=u;return b|0}if(!(c[t>>2]|0))c[t>>2]=1216;Nc(c[o>>2]|0,0);a:while(1){if(c[m>>2]|0)break;if(!(a[c[t>>2]>>0]|0))break;c[s>>2]=0;c[r>>2]=0;c[m>>2]=mf(c[o>>2]|0,c[t>>2]|0,-1,r,j)|0;if(c[m>>2]|0)continue;if(!(c[r>>2]|0)){c[t>>2]=c[j>>2];continue}c[v>>2]=0;c[w>>2]=te(c[r>>2]|0)|0;do{c[m>>2]=je(c[r>>2]|0)|0;do if(c[x>>2]|0){if(100!=(c[m>>2]|0)){if(101!=(c[m>>2]|0)|(c[v>>2]|0)!=0)break;if(!(c[(c[o>>2]|0)+24>>2]&256))break}if(!(c[v>>2]|0)){c[q>>2]=se(c[o>>2]|0,(c[w>>2]<<1<<2)+1|0,0)|0;if(!(c[q>>2]|0))break a;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;b=Ce(c[r>>2]|0,c[y>>2]|0)|0;c[(c[q>>2]|0)+(c[y>>2]<<2)>>2]=b;c[y>>2]=(c[y>>2]|0)+1}c[v>>2]=1}b:do if((c[m>>2]|0)==100){c[s>>2]=(c[q>>2]|0)+(c[w>>2]<<2);c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break b;b=Ae(c[r>>2]|0,c[y>>2]|0)|0;c[(c[s>>2]|0)+(c[y>>2]<<2)>>2]=b;if((c[(c[s>>2]|0)+(c[y>>2]<<2)>>2]|0)==0?(Be(c[r>>2]|0,c[y>>2]|0)|0)!=5:0){k=27;break a}c[y>>2]=(c[y>>2]|0)+1}}while(0);if(xb[c[x>>2]&7](c[z>>2]|0,c[w>>2]|0,c[s>>2]|0,c[q>>2]|0)|0){k=30;break a}}while(0)}while((c[m>>2]|0)==100);c[m>>2]=vd(c[r>>2]|0)|0;c[r>>2]=0;c[t>>2]=c[j>>2];while(1){if(!(d[1224+(d[c[t>>2]>>0]|0)>>0]&1))break;c[t>>2]=(c[t>>2]|0)+1}Xb(c[o>>2]|0,c[q>>2]|0);c[q>>2]=0}if((k|0)==27)a[(c[o>>2]|0)+64>>0]=1;else if((k|0)==30){c[m>>2]=4;vd(c[r>>2]|0)|0;c[r>>2]=0;Nc(c[o>>2]|0,4)}if(c[r>>2]|0)vd(c[r>>2]|0)|0;Xb(c[o>>2]|0,c[q>>2]|0);c[m>>2]=wd(c[o>>2]|0,c[m>>2]|0)|0;do if((c[m>>2]|0)!=0&(c[n>>2]|0)!=0){c[p>>2]=1+(Mb(nf(c[o>>2]|0)|0)|0);b=c[p>>2]|0;b=gc(b,((b|0)<0)<<31>>31)|0;c[c[n>>2]>>2]=b;if(c[c[n>>2]>>2]|0){e=c[c[n>>2]>>2]|0;b=nf(c[o>>2]|0)|0;dF(e|0,b|0,c[p>>2]|0)|0;break}else{c[m>>2]=7;Nc(c[o>>2]|0,7);break}}else if(c[n>>2]|0)c[c[n>>2]>>2]=0;while(0);c[l>>2]=c[m>>2];b=c[l>>2]|0;i=u;return b|0}function lf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;do if(!(c[e>>2]|0)){sk(9840);c[d>>2]=0}else{c[f>>2]=c[(c[e>>2]|0)+76>>2];if((c[f>>2]|0)==-1607883113){c[d>>2]=1;break}if($f(c[e>>2]|0)|0)sk(31136);c[d>>2]=0}while(0);i=b;return c[d>>2]|0}function mf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=pf(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function nf(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=ge(7)|0;g=c[e>>2]|0;i=d;return g|0}if(!($f(c[f>>2]|0)|0)){c[e>>2]=ge(Qb(126852)|0)|0;g=c[e>>2]|0;i=d;return g|0}if(!(a[(c[f>>2]|0)+64>>0]|0)){c[g>>2]=Ed(c[(c[f>>2]|0)+232>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=ge(c[(c[f>>2]|0)+52>>2]|0)|0}else c[g>>2]=ge(7)|0;c[e>>2]=c[g>>2];g=c[e>>2]|0;i=d;return g|0}function of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=pf(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function pf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|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,q=0,r=0,s=0;q=i;i=i+48|0;k=q+32|0;n=q+28|0;o=q+24|0;p=q+20|0;j=q+16|0;r=q+12|0;m=q+8|0;s=q+4|0;l=q;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[j>>2]=e;c[r>>2]=f;c[m>>2]=g;c[s>>2]=h;c[c[m>>2]>>2]=0;if(!(lf(c[n>>2]|0)|0)){c[k>>2]=Qb(103895)|0;a=c[k>>2]|0;i=q;return a|0}Rb(c[n>>2]|0);c[l>>2]=xy(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[r>>2]|0,c[m>>2]|0,c[s>>2]|0)|0;if((c[l>>2]|0)==17){td(c[c[m>>2]>>2]|0)|0;c[l>>2]=xy(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[r>>2]|0,c[m>>2]|0,c[s>>2]|0)|0}c[k>>2]=c[l>>2];a=c[k>>2]|0;i=q;return a|0}function qf(b,e,f){b=b|0;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;g=i;i=i+64|0;v=g;n=g+56|0;h=g+52|0;t=g+48|0;s=g+44|0;m=g+40|0;l=g+36|0;r=g+32|0;w=g+28|0;u=g+24|0;p=g+60|0;k=g+20|0;x=g+16|0;j=g+12|0;o=g+8|0;c[h>>2]=b;c[t>>2]=e;c[s>>2]=f;c[m>>2]=0;c[u>>2]=-1;c[k>>2]=c[c[h>>2]>>2];c[x>>2]=c[(c[k>>2]|0)+92>>2];if(!(c[(c[k>>2]|0)+148>>2]|0))c[(c[k>>2]|0)+240>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[(c[h>>2]|0)+480>>2]=c[t>>2];c[l>>2]=0;c[r>>2]=mn(33)|0;f=c[k>>2]|0;if(!(c[r>>2]|0)){a[f+64>>0]=1;c[n>>2]=7;b=c[n>>2]|0;i=g;return b|0}a[p>>0]=a[f+250>>0]|0;if(c[(c[k>>2]|0)+276>>2]|0)a[(c[k>>2]|0)+250>>0]=1;while(1){if(a[(c[k>>2]|0)+64>>0]|0)break;if(!(a[(c[t>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[(c[h>>2]|0)+504>>2]=(c[t>>2]|0)+(c[l>>2]|0);b=qm((c[t>>2]|0)+(c[l>>2]|0)|0,w)|0;c[(c[h>>2]|0)+508>>2]=b;c[l>>2]=(c[l>>2]|0)+(c[(c[h>>2]|0)+508>>2]|0);if((c[l>>2]|0)>(c[x>>2]|0)){q=10;break}f=c[w>>2]|0;if((f|0)==150){q=14;break}else if((f|0)==151)if(c[(c[k>>2]|0)+240>>2]|0){q=13;break}else continue;else if((f|0)==1)c[(c[h>>2]|0)+480>>2]=(c[t>>2]|0)+(c[l>>2]|0);f=c[r>>2]|0;e=c[w>>2]|0;y=(c[h>>2]|0)+504|0;b=c[h>>2]|0;c[v+0>>2]=c[y+0>>2];c[v+4>>2]=c[y+4>>2];nn(f,e,v,b);c[u>>2]=c[w>>2];if(c[(c[h>>2]|0)+12>>2]|0)break}if((q|0)==10)c[(c[h>>2]|0)+12>>2]=18;else if((q|0)==13){Se(c[h>>2]|0,9920,v);c[(c[h>>2]|0)+12>>2]=9}else if((q|0)==14){Xb(c[k>>2]|0,c[c[s>>2]>>2]|0);y=c[k>>2]|0;c[v>>2]=(c[h>>2]|0)+504;y=Te(y,9936,v)|0;c[c[s>>2]>>2]=y;c[m>>2]=(c[m>>2]|0)+1}if(((c[m>>2]|0)==0?(a[(c[t>>2]|0)+(c[l>>2]|0)>>0]|0)==0:0)?(c[(c[h>>2]|0)+12>>2]|0)==0:0){if((c[u>>2]|0)!=1){b=c[r>>2]|0;e=(c[h>>2]|0)+504|0;y=c[h>>2]|0;c[v+0>>2]=c[e+0>>2];c[v+4>>2]=c[e+4>>2];nn(b,1,v,y);c[(c[h>>2]|0)+480>>2]=(c[t>>2]|0)+(c[l>>2]|0)}b=c[r>>2]|0;e=(c[h>>2]|0)+504|0;y=c[h>>2]|0;c[v+0>>2]=c[e+0>>2];c[v+4>>2]=c[e+4>>2];nn(b,0,v,y)}on(c[r>>2]|0,13);a[(c[k>>2]|0)+250>>0]=a[p>>0]|0;if(a[(c[k>>2]|0)+64>>0]|0)c[(c[h>>2]|0)+12>>2]=7;if(((c[(c[h>>2]|0)+12>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)!=101:0)?(c[(c[h>>2]|0)+4>>2]|0)==0:0){b=(c[h>>2]|0)+4|0;y=c[k>>2]|0;c[v>>2]=ge(c[(c[h>>2]|0)+12>>2]|0)|0;pn(b,y,1200,v)}if(c[(c[h>>2]|0)+4>>2]|0){c[c[s>>2]>>2]=c[(c[h>>2]|0)+4>>2];y=c[(c[h>>2]|0)+12>>2]|0;c[v>>2]=c[c[s>>2]>>2];tc(y,1200,v);c[(c[h>>2]|0)+4>>2]=0;c[m>>2]=(c[m>>2]|0)+1}if(((c[(c[h>>2]|0)+8>>2]|0)!=0?(c[(c[h>>2]|0)+64>>2]|0)>0:0)?(d[(c[h>>2]|0)+18>>0]|0)==0:0){qn(c[(c[h>>2]|0)+8>>2]|0);c[(c[h>>2]|0)+8>>2]=0}if(!(d[(c[h>>2]|0)+18>>0]|0)){Xb(c[k>>2]|0,c[(c[h>>2]|0)+400>>2]|0);c[(c[h>>2]|0)+400>>2]=0;c[(c[h>>2]|0)+396>>2]=0}hc(c[(c[h>>2]|0)+520>>2]|0);if(!(a[(c[h>>2]|0)+451>>0]|0))Vb(c[k>>2]|0,c[(c[h>>2]|0)+484>>2]|0);if(a[(c[h>>2]|0)+449>>0]|0)rn(c[k>>2]|0,c[(c[h>>2]|0)+532>>2]|0);Ub(c[k>>2]|0,c[(c[h>>2]|0)+488>>2]|0);c[l>>2]=(c[(c[h>>2]|0)+444>>2]|0)-1;while(1){p=c[k>>2]|0;if((c[l>>2]|0)<0)break;Xb(p,c[(c[(c[h>>2]|0)+472>>2]|0)+(c[l>>2]<<2)>>2]|0);c[l>>2]=(c[l>>2]|0)+ -1}Xb(p,c[(c[h>>2]|0)+472>>2]|0);while(1){if(!(c[(c[h>>2]|0)+404>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+404>>2];c[(c[h>>2]|0)+404>>2]=c[c[j>>2]>>2];Xb(c[k>>2]|0,c[j>>2]|0)}while(1){if(!(c[(c[h>>2]|0)+524>>2]|0))break;c[o>>2]=c[(c[h>>2]|0)+524>>2];c[(c[h>>2]|0)+524>>2]=c[(c[o>>2]|0)+72>>2];Vb(c[k>>2]|0,c[o>>2]|0)}if((c[m>>2]|0)>0?(c[(c[h>>2]|0)+12>>2]|0)==0:0)c[(c[h>>2]|0)+12>>2]=1;c[n>>2]=c[m>>2];y=c[n>>2]|0;i=g;return y|0}function rf(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=se(c[f>>2]|0,40,0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=d;return f|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[f>>2];f=c[e>>2]|0;i=d;return f|0}function sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;j=m+12|0;l=m+8|0;k=m+4|0;h=m+16|0;n=m;c[j>>2]=b;c[l>>2]=d;c[k>>2]=e;a[h>>0]=f;c[n>>2]=g;if(!(c[j>>2]|0)){i=m;return}Vd(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,a[h>>0]|0,c[n>>2]|0)|0;i=m;return}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}Bd(c[d>>2]|0);Xb(c[(c[d>>2]|0)+32>>2]|0,c[d>>2]|0);i=b;return}function uf(){return 8}function vf(){return 1504}function wf(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;e=f+12|0;d=f+8|0;a=f+4|0;b=f;if(!(c[9669]|0))Cf();h=136|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));if(c[9661]|0)c[34]=8;if(((c[9708]|0)!=0?(c[9709]|0)>=100:0)?(c[9710]|0)>0:0){c[a>>2]=c[9709]&-8;c[9709]=c[a>>2];c[b>>2]=c[9708];c[d>>2]=c[9710];c[41]=c[b>>2];c[42]=c[d>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=((c[d>>2]|0)-1|0))break;c[c[b>>2]>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[c[b>>2]>>2];c[e>>2]=(c[e>>2]|0)+1}c[c[b>>2]>>2]=0;c[40]=(c[b>>2]|0)+4}else{c[40]=0;c[9708]=0;c[9709]=0;c[9710]=0}if(((c[9711]|0)!=0?(c[9712]|0)>=512:0)?(c[9713]|0)>=1:0){g=c[9674]|0;h=c[9676]|0;h=ub[g&31](h)|0;i=f;return h|0}c[9711]=0;c[9712]=0;c[9713]=0;g=c[9674]|0;h=c[9676]|0;h=ub[g&31](h)|0;i=f;return h|0}function xf(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=1576;c[e>>2]=6232;c[b>>2]=0;while(1){if((c[b>>2]|0)>=57)break;xk(c[d>>2]|0,(c[e>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}lm();mm();i=a;return}function yf(){var a=0,b=0;a=i;if(!(c[9688]|0))Df();b=ub[c[38640+112>>2]&31](c[9687]|0)|0;i=a;return b|0}function zf(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a+4|0;d=a;c[d>>2]=fc(10)|0;if(!(c[d>>2]|0)){c[b>>2]=7;d=c[b>>2]|0;i=a;return d|0}else{hc(c[d>>2]|0);c[b>>2]=yc()|0;d=c[b>>2]|0;i=a;return d|0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[j>>2]=b;c[f>>2]=d;if(!(c[791]|0)){i=e;return}c[j>>2]=c[j>>2]&-8;c[792]=c[j>>2];a=c[f>>2]|0;c[799]=a;c[793]=a;if((c[f>>2]|0)>90)d=10;else d=((c[f>>2]|0)/10|0)+1|0;c[794]=d;c[795]=c[g>>2];c[798]=0;c[800]=0;while(1){a=c[f>>2]|0;c[f>>2]=a+ -1;d=c[g>>2]|0;if(!a)break;c[h>>2]=d;c[c[h>>2]>>2]=c[798];c[798]=c[h>>2];c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0)}c[796]=d;i=e;return}function Bf(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;f=i;i=i+48|0;d=f+44|0;k=f+40|0;h=f+24|0;e=f+16|0;j=f+8|0;g=f;c[k>>2]=a;c[e>>2]=0;if(c[9716]|0){c[d>>2]=Qb(125290)|0;a=c[d>>2]|0;i=f;return a|0}c[h>>2]=b;do switch(c[k>>2]|0){case 9:{k=c[h>>2]|0;a=c[k>>2]|0;c[h>>2]=k+4;c[9660]=a;break};case 5:{if(!(c[9669]|0))Cf();k=c[h>>2]|0;a=c[k>>2]|0;c[h>>2]=k+4;c[a+0>>2]=c[9669];c[a+4>>2]=c[9670];c[a+8>>2]=c[9671];c[a+12>>2]=c[9672];c[a+16>>2]=c[9673];c[a+20>>2]=c[9674];c[a+24>>2]=c[9675];c[a+28>>2]=c[9676];break};case 19:{if(!(c[9688]|0))Df();g=c[h>>2]|0;j=c[g>>2]|0;c[h>>2]=g+4;j=j+0|0;h=38744|0;g=j+52|0;do{c[j>>2]=c[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(g|0));break};case 16:{a=c[h>>2]|0;k=c[a>>2]|0;c[h>>2]=a+4;c[9723]=k;k=c[h>>2]|0;a=c[k>>2]|0;c[h>>2]=k+4;c[9724]=a;break};case 17:{k=c[h>>2]|0;a=c[k>>2]|0;c[h>>2]=k+4;c[9663]=a;break};case 22:{a=c[h>>2]|0;k=a;l=c[k>>2]|0;k=c[k+4>>2]|0;c[h>>2]=a+8;a=j;c[a>>2]=l;c[a+4>>2]=k;a=c[h>>2]|0;k=a;l=c[k>>2]|0;k=c[k+4>>2]|0;c[h>>2]=a+8;a=g;c[a>>2]=l;c[a+4>>2]=k;a=g;b=c[a+4>>2]|0;a=(c[g+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0);b=g;c[b>>2]=a?0:l;c[b+4>>2]=a?0:k;b=g;k=c[b+4>>2]|0;a=38824|0;c[a>>2]=c[b>>2];c[a+4>>2]=k;if((c[j+4>>2]|0)<0){l=j;c[l>>2]=0;c[l+4>>2]=0}a=j;b=c[a+4>>2]|0;l=g;k=c[l+4>>2]|0;if((b|0)>(k|0)|((b|0)==(k|0)?(c[a>>2]|0)>>>0>(c[l>>2]|0)>>>0:0)){k=g;a=c[k+4>>2]|0;l=j;c[l>>2]=c[k>>2];c[l+4>>2]=a}k=j;a=c[k+4>>2]|0;l=38816|0;c[l>>2]=c[k>>2];c[l+4>>2]=a;break};case 13:{l=c[h>>2]|0;a=c[l>>2]|0;c[h>>2]=l+4;c[9667]=a;a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9668]=l;break};case 7:{a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9711]=l;l=c[h>>2]|0;a=c[l>>2]|0;c[h>>2]=l+4;c[9712]=a;a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9713]=l;break};case 20:{a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9664]=l;break};case 15:{c[e>>2]=1;break};case 4:{a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9669]=c[l+0>>2];c[9670]=c[l+4>>2];c[9671]=c[l+8>>2];c[9672]=c[l+12>>2];c[9673]=c[l+16>>2];c[9674]=c[l+20>>2];c[9675]=c[l+24>>2];c[9676]=c[l+28>>2];break};case 6:{a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9708]=l;l=c[h>>2]|0;a=c[l>>2]|0;c[h>>2]=l+4;c[9709]=a;a=c[h>>2]|0;l=c[a>>2]|0;c[h>>2]=a+4;c[9710]=l;break};case 18:{j=c[h>>2]|0;g=c[j>>2]|0;c[h>>2]=j+4;j=38744|0;h=g+0|0;g=j+52|0;do{c[j>>2]=c[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(g|0));break};case 14:break;default:c[e>>2]=1}while(0);c[d>>2]=c[e>>2];l=c[d>>2]|0;i=f;return l|0}function Cf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=6120;Bf(4,b)|0;i=a;return}function Df(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=6064;Bf(18,b)|0;i=a;return}function Ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;f=b+12|0;g=b+8|0;d=b+4|0;e=b;c[f>>2]=a;Rb(c[f>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[d>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[d>>2]|0){c[e>>2]=Sb(c[d>>2]|0)|0;Ff(c[e>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=b;return 0}function Ff(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Zk(c[(c[d>>2]|0)+204>>2]|0);i=b;return}function Gf(d,e,f,g){d=d|0;e=e|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;n=i;i=i+32|0;j=n+28|0;o=n+24|0;q=n+20|0;p=n+16|0;m=n+12|0;k=n+8|0;h=n+4|0;l=n;c[o>>2]=d;c[q>>2]=e;c[p>>2]=f;c[m>>2]=g;if(c[(c[o>>2]|0)+252>>2]|0){c[j>>2]=5;d=c[j>>2]|0;i=n;return d|0}if(a[(c[o>>2]|0)+251>>0]|0)hc(c[(c[o>>2]|0)+276>>2]|0);d=c[p>>2]&-8;c[p>>2]=d;c[p>>2]=(c[p>>2]|0)<=4?0:d;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[p>>2]|0)==0|(c[m>>2]|0)==0)){if(c[q>>2]|0){c[k>>2]=c[q>>2];break}kh();d=$(c[p>>2]|0,c[m>>2]|0)|0;c[k>>2]=gc(d,((d|0)<0)<<31>>31)|0;lh();if(c[k>>2]|0){d=Tb(c[k>>2]|0)|0;c[m>>2]=(d|0)/(c[p>>2]|0)|0}}else{c[p>>2]=0;c[k>>2]=0}while(0);c[(c[o>>2]|0)+276>>2]=c[k>>2];c[(c[o>>2]|0)+272>>2]=0;b[(c[o>>2]|0)+248>>1]=c[p>>2];if(c[k>>2]|0){c[l>>2]=c[k>>2];c[h>>2]=(c[m>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[c[l>>2]>>2]=c[(c[o>>2]|0)+272>>2];c[(c[o>>2]|0)+272>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(c[p>>2]|0);c[h>>2]=(c[h>>2]|0)+ -1}c[(c[o>>2]|0)+280>>2]=c[l>>2];a[(c[o>>2]|0)+250>>0]=1;a[(c[o>>2]|0)+251>>0]=(c[q>>2]|0)==0?1:0}else{c[(c[o>>2]|0)+276>>2]=c[o>>2];c[(c[o>>2]|0)+280>>2]=c[o>>2];a[(c[o>>2]|0)+250>>0]=0;a[(c[o>>2]|0)+251>>0]=0}c[j>>2]=0;d=c[j>>2]|0;i=n;return d|0}function Hf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;D=c[a+4>>2]|0;i=b;return c[a>>2]|0}function If(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+80>>2]|0}function Jf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function Kf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Lf(c[d>>2]|0,0)|0;i=b;return a|0}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d;e=d+12|0;f=d+8|0;h=d+4|0;c[f>>2]=a;c[h>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}if(!($f(c[f>>2]|0)|0)){c[e>>2]=Qb(125804)|0;a=c[e>>2]|0;i=d;return a|0}Xk(c[f>>2]|0);Uk(c[f>>2]|0)|0;if((c[h>>2]|0)==0?(Hk(c[f>>2]|0)|0)!=0:0){Lc(c[f>>2]|0,5,5992,g);c[e>>2]=5;a=c[e>>2]|0;i=d;return a|0}c[(c[f>>2]|0)+76>>2]=1691352191;rd(c[f>>2]|0);c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}function Mf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Lf(c[d>>2]|0,1)|0;i=b;return a|0}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+444>>2]=c[h>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];c[(c[f>>2]|0)+452>>2]=0;c[(c[f>>2]|0)+492>>2]=0;i=e;return 0}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)>0){Nf(b,34,c[e>>2]|0)|0;c[(c[e>>2]|0)+492>>2]=c[f>>2];i=d;return 0}else{Nf(b,0,0)|0;i=d;return 0}return 0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;j=d+12|0;h=d+8|0;f=d+4|0;g=d;c[j>>2]=a;c[h>>2]=b;c[f>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+492>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}else{fg(c[c[f>>2]>>2]|0,1e6)|0;c[e>>2]=1;j=c[e>>2]|0;i=d;return j|0}return 0}function Qf(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;v=i;i=i+64|0;C=v;z=v+56|0;q=v+52|0;r=v+48|0;t=v+44|0;u=v+40|0;x=v+36|0;y=v+32|0;p=v+28|0;A=v+24|0;B=v+20|0;o=v+16|0;s=v+12|0;w=v+8|0;D=v+4|0;c[q>>2]=d;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[x>>2]=j;c[y>>2]=k;c[p>>2]=l;c[A>>2]=m;c[B>>2]=n;do if(c[r>>2]|0){if((c[y>>2]|0)!=0?(c[A>>2]|0)!=0|(c[p>>2]|0)!=0:0)break;if(((c[y>>2]|0)==0&(c[A>>2]|0)!=0^1|(c[p>>2]|0)!=0?!((((c[y>>2]|0)!=0|(c[A>>2]|0)!=0)^1)&(c[p>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(d=Mb(c[r>>2]|0)|0,c[s>>2]=d,255>=(d|0)):0){c[w>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[D>>2]=Qf(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0,1|c[w>>2],c[x>>2]|0,c[y>>2]|0,c[p>>2]|0,c[A>>2]|0,c[B>>2]|0)|0;if(!(c[D>>2]|0))c[D>>2]=Qf(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0,2|c[w>>2],c[x>>2]|0,c[y>>2]|0,c[p>>2]|0,c[A>>2]|0,c[B>>2]|0)|0;if(!(c[D>>2]|0)){c[u>>2]=3;break}c[z>>2]=c[D>>2];d=c[z>>2]|0;i=v;return d|0}}else c[u>>2]=(a[1136]|0)==0?3:2;while(0);c[o>>2]=Sf(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[o>>2]|0)!=0?(e[(c[o>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(b[c[o>>2]>>1]|0)==(c[t>>2]|0):0){D=c[q>>2]|0;if(!(c[(c[q>>2]|0)+148>>2]|0)){gf(D);break}Lc(D,5,5048,C);c[z>>2]=5;d=c[z>>2]|0;i=v;return d|0}while(0);c[o>>2]=Sf(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[o>>2]|0)){c[z>>2]=7;d=c[z>>2]|0;i=v;return d|0}Gk(c[q>>2]|0,c[o>>2]|0);if(c[B>>2]|0){d=c[B>>2]|0;c[d>>2]=(c[d>>2]|0)+1}c[(c[o>>2]|0)+32>>2]=c[B>>2];b[(c[o>>2]|0)+2>>1]=e[(c[o>>2]|0)+2>>1]&3|c[w>>2];c[(c[o>>2]|0)+12>>2]=c[y>>2];c[(c[o>>2]|0)+16>>2]=c[p>>2];c[(c[o>>2]|0)+20>>2]=c[A>>2];c[(c[o>>2]|0)+4>>2]=c[x>>2];b[c[o>>2]>>1]=c[t>>2];c[z>>2]=0;d=c[z>>2]|0;i=v;return d|0}}while(0);c[z>>2]=Qb(126362)|0;d=c[z>>2]|0;i=v;return d|0}function Rf(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;f=i;i=i+32|0;g=f+16|0;j=f+12|0;h=f+8|0;k=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[k>>2]=Mb(c[j>>2]|0)|0;c[e>>2]=0;if(!(Sf(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[h>>2]|0,1,0)|0))c[e>>2]=Qf(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,1,0,51,0,0,0)|0;c[e>>2]=wd(c[g>>2]|0,c[e>>2]|0)|0;i=f;return c[e>>2]|0}function Sf(e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+64|0;x=y+44|0;q=y+40|0;o=y+36|0;p=y+32|0;m=y+28|0;n=y+49|0;r=y+48|0;t=y+24|0;u=y+20|0;s=y+16|0;w=y+12|0;z=y+8|0;v=y+4|0;l=y;c[q>>2]=e;c[o>>2]=f;c[p>>2]=g;c[m>>2]=h;a[n>>0]=j;a[r>>0]=k;c[u>>2]=0;c[s>>2]=0;c[w>>2]=((d[440+(d[c[o>>2]>>0]|0)>>0]|0)+(c[p>>2]|0)|0)%23|0;c[t>>2]=vk((c[q>>2]|0)+336|0,c[w>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[z>>2]=wk(c[t>>2]|0,c[m>>2]|0,a[n>>0]|0)|0;if((c[z>>2]|0)>(c[s>>2]|0)){c[u>>2]=c[t>>2];c[s>>2]=c[z>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[r>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[q>>2]|0)+24>>2]&2097152|0)==0:0)break;c[v>>2]=1576;c[s>>2]=0;c[t>>2]=vk(c[v>>2]|0,c[w>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[l>>2]=wk(c[t>>2]|0,c[m>>2]|0,a[n>>0]|0)|0;if((c[l>>2]|0)>(c[s>>2]|0)){c[u>>2]=c[t>>2];c[s>>2]=c[l>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);if((d[r>>0]|0)!=0&(c[s>>2]|0)<6?(e=se(c[q>>2]|0,37+(c[p>>2]|0)|0,0)|0,c[u>>2]=e,(e|0)!=0):0){c[(c[u>>2]|0)+24>>2]=(c[u>>2]|0)+36;b[c[u>>2]>>1]=c[m>>2];b[(c[u>>2]|0)+2>>1]=d[n>>0]|0;dF(c[(c[u>>2]|0)+24>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;a[(c[(c[u>>2]|0)+24>>2]|0)+(c[p>>2]|0)>>0]=0;xk((c[q>>2]|0)+336|0,c[u>>2]|0)}do if(c[u>>2]|0){if(((c[(c[u>>2]|0)+16>>2]|0)==0?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(d[r>>0]|0)==0:0)break;c[x>>2]=c[u>>2];e=c[x>>2]|0;i=y;return e|0}while(0);c[x>>2]=0;e=c[x>>2]|0;i=y;return e|0}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+24>>2];c[h>>2]=c[j>>2];c[f>>2]=qc(4928,h)|0;Ud(c[g>>2]|0,c[f>>2]|0,-1);hc(c[f>>2]|0);i=e;return}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[f>>2]|0;if((c[e>>2]|0)>0){Vf(b,5,c[e>>2]|0)|0;i=d;return 0}else{Vf(b,0,0)|0;i=d;return 0}return 0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+216>>2];c[(c[g>>2]|0)+212>>2]=c[j>>2];c[(c[g>>2]|0)+216>>2]=c[h>>2];i=f;return c[e>>2]|0}function Wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f+4|0;k=f;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=f;return 0}kh();_f(c[g>>2]|0,c[h>>2]|0)|0;lh();i=f;return 0}function Xf(b,d,e,f,g){b=b|0;d=d|0;e=e|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;j=i;i=i+48|0;n=j;o=j+32|0;l=j+28|0;m=j+24|0;p=j+20|0;q=j+16|0;r=j+12|0;k=j+8|0;h=j+4|0;c[l>>2]=b;c[m>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[h>>2]=10;if(c[q>>2]|0)c[c[q>>2]>>2]=-1;if(c[r>>2]|0)c[c[r>>2]>>2]=-1;if((c[p>>2]|0)<0|(c[p>>2]|0)>2){c[o>>2]=21;b=c[o>>2]|0;i=j;return b|0}if((c[m>>2]|0)!=0?(a[c[m>>2]>>0]|0)!=0:0)c[h>>2]=Yf(c[l>>2]|0,c[m>>2]|0)|0;if((c[h>>2]|0)<0){c[k>>2]=1;b=c[l>>2]|0;c[n>>2]=c[m>>2];Lc(b,1,1672,n)}else{c[k>>2]=Zf(c[l>>2]|0,c[h>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Nc(c[l>>2]|0,c[k>>2]|0)}c[k>>2]=wd(c[l>>2]|0,c[k>>2]|0)|0;c[o>>2]=c[k>>2];b=c[o>>2]|0;i=j;return b|0}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;j=d+16|0;g=d+12|0;e=d+8|0;f=d+4|0;h=d;c[j>>2]=a;c[g>>2]=b;c[e>>2]=-1;if(!(c[g>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[h>>2]=Mb(c[g>>2]|0)|0;c[e>>2]=(c[(c[j>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[j>>2]|0)+16>>2]|0)+(c[e>>2]<<4);while(1){if((c[e>>2]|0)<0){b=7;break}a=c[h>>2]|0;if((a|0)==(Mb(c[c[f>>2]>>2]|0)|0)?0==(xc(c[c[f>>2]>>2]|0,c[g>>2]|0)|0):0){b=7;break}c[e>>2]=(c[e>>2]|0)+ -1;c[f>>2]=(c[f>>2]|0)+ -16}if((b|0)==7){a=c[e>>2]|0;i=d;return a|0}return 0}function Zf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;n=i;i=i+32|0;k=n+28|0;p=n+24|0;m=n+20|0;g=n+16|0;o=n+12|0;h=n+8|0;l=n+4|0;j=n;c[k>>2]=a;c[p>>2]=b;c[m>>2]=d;c[g>>2]=e;c[o>>2]=f;c[h>>2]=0;c[j>>2]=0;c[l>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[l>>2]|0)<(c[(c[k>>2]|0)+20>>2]|0):0))break;if(((c[p>>2]|0)==10?1:(c[l>>2]|0)==(c[p>>2]|0))?(c[h>>2]=tk(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+4>>2]|0,c[m>>2]|0,c[g>>2]|0,c[o>>2]|0)|0,c[g>>2]=0,c[o>>2]=0,(c[h>>2]|0)==5):0){c[j>>2]=1;c[h>>2]=0}c[l>>2]=(c[l>>2]|0)+1}i=n;return((c[h>>2]|0)==0&(c[j>>2]|0)!=0?5:c[h>>2]|0)|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Xf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function $f(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;f=b+4|0;e=b;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+76>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){sk(4872);c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=1;f=c[d>>2]|0;i=b;return f|0}return 0}function ag(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;if((c[f>>2]|0)!=0?($f(c[f>>2]|0)|0)==0:0){c[b>>2]=Qb(126921)|0;f=c[b>>2]|0;i=e;return f|0}if((c[f>>2]|0)!=0?(d[(c[f>>2]|0)+64>>0]|0|0)==0:0){c[b>>2]=c[(c[f>>2]|0)+52>>2]&c[(c[f>>2]|0)+56>>2];f=c[b>>2]|0;i=e;return f|0}c[b>>2]=7;f=c[b>>2]|0;i=e;return f|0}function bg(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;e=i;i=i+32|0;f=e+16|0;j=e+12|0;k=e+8|0;h=e+4|0;g=e;c[j>>2]=a;c[k>>2]=b;c[h>>2]=d;if((c[k>>2]|0)<0|(c[k>>2]|0)>=12){c[f>>2]=-1;a=c[f>>2]|0;i=e;return a|0}c[g>>2]=c[(c[j>>2]|0)+88+(c[k>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1696+(c[k>>2]<<2)>>2]|0))c[h>>2]=c[1696+(c[k>>2]<<2)>>2];c[(c[j>>2]|0)+88+(c[k>>2]<<2)>>2]=c[h>>2]}c[f>>2]=c[g>>2];a=c[f>>2]|0;i=e;return a|0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=dg(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function dg(b,d,e,f){b=b|0;d=d|0;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;p=i;i=i+48|0;q=p;m=p+40|0;o=p+36|0;r=p+32|0;g=p+28|0;n=p+24|0;l=p+20|0;j=p+16|0;s=p+12|0;k=p+8|0;h=p+4|0;c[o>>2]=b;c[r>>2]=d;c[g>>2]=e;c[n>>2]=f;c[k>>2]=0;c[h>>2]=0;c[c[r>>2]>>2]=0;c[j>>2]=Zb()|0;if(c[j>>2]|0){c[m>>2]=c[j>>2];b=c[m>>2]|0;i=p;return b|0}if(!(1<<(c[g>>2]&7)&70)){c[m>>2]=Qb(127429)|0;b=c[m>>2]|0;i=p;return b|0}do if(c[9661]|0){if(c[g>>2]&32768){c[s>>2]=0;break}if(c[g>>2]&65536){c[s>>2]=1;break}else{c[s>>2]=c[9662];break}}else c[s>>2]=0;while(0);if(!(c[g>>2]&262144)){if(c[9715]|0)c[g>>2]=c[g>>2]|131072}else c[g>>2]=c[g>>2]&-131073;c[g>>2]=c[g>>2]&-655129;c[l>>2]=Mc(528,0)|0;do if(c[l>>2]|0){if((c[s>>2]|0)!=0?(c[(c[l>>2]|0)+12>>2]=8,(c[(c[l>>2]|0)+12>>2]|0)==0):0){hc(c[l>>2]|0);c[l>>2]=0;break}c[(c[l>>2]|0)+56>>2]=255;c[(c[l>>2]|0)+20>>2]=2;c[(c[l>>2]|0)+76>>2]=-264537850;c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+456;e=(c[l>>2]|0)+88|0;s=1696;f=e+48|0;do{c[e>>2]=c[s>>2];e=e+4|0;s=s+4|0}while((e|0)<(f|0));c[(c[l>>2]|0)+132>>2]=0;a[(c[l>>2]|0)+62>>0]=1;a[(c[l>>2]|0)+66>>0]=-1;e=38816;d=c[e+4>>2]|0;b=(c[l>>2]|0)+40|0;c[b>>2]=c[e>>2];c[b+4>>2]=d;c[(c[l>>2]|0)+72>>2]=0;c[(c[l>>2]|0)+136>>2]=2147483647;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|9437264;nh((c[l>>2]|0)+428|0);nh((c[l>>2]|0)+308|0);eg(c[l>>2]|0,3320,1,0,8,0)|0;eg(c[l>>2]|0,3320,3,0,8,0)|0;eg(c[l>>2]|0,3320,2,0,8,0)|0;eg(c[l>>2]|0,3328,1,1,8,0)|0;if(!(a[(c[l>>2]|0)+64>>0]|0)){b=$g(c[l>>2]|0,1,3320,0)|0;c[(c[l>>2]|0)+8>>2]=b;eg(c[l>>2]|0,3336,1,0,9,0)|0;c[(c[l>>2]|0)+48>>2]=c[g>>2];c[j>>2]=qh(c[n>>2]|0,c[o>>2]|0,g,c[l>>2]|0,k,h)|0;if(c[j>>2]|0){if((c[j>>2]|0)==7)a[(c[l>>2]|0)+64>>0]=1;e=c[l>>2]|0;d=c[j>>2]|0;b=(c[h>>2]|0)!=0?1200:0;c[q>>2]=c[h>>2];Lc(e,d,b,q);hc(c[h>>2]|0);break}c[j>>2]=rh(c[c[l>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+4|0,0,c[g>>2]|256)|0;if(c[j>>2]|0){if((c[j>>2]|0)==3082)c[j>>2]=7;Nc(c[l>>2]|0,c[j>>2]|0);break}Pc(c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2]|0);b=sh(c[l>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]=b;b=sh(c[l>>2]|0,0)|0;c[(c[(c[l>>2]|0)+16>>2]|0)+28>>2]=b;c[c[(c[l>>2]|0)+16>>2]>>2]=3344;a[(c[(c[l>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[l>>2]|0)+16>>2]|0)+16>>2]=1496;a[(c[(c[l>>2]|0)+16>>2]|0)+24>>0]=1;c[(c[l>>2]|0)+76>>2]=-1607883113;if(!(a[(c[l>>2]|0)+64>>0]|0)){Nc(c[l>>2]|0,0);th(c[l>>2]|0);c[j>>2]=ag(c[l>>2]|0)|0;if((c[j>>2]|0)==0?(uh(c[l>>2]|0),c[j>>2]=ag(c[l>>2]|0)|0,(c[j>>2]|0)!=0):0)break;if(c[j>>2]|0)Nc(c[l>>2]|0,c[j>>2]|0);Gf(c[l>>2]|0,0,c[9667]|0,c[9668]|0)|0;Uf(c[l>>2]|0,1e3)|0}}}while(0);hc(c[k>>2]|0);c[j>>2]=ag(c[l>>2]|0)|0;if((c[j>>2]|0)!=7){if(c[j>>2]|0)c[(c[l>>2]|0)+76>>2]=1266094736}else{Kf(c[l>>2]|0)|0;c[l>>2]=0}c[c[r>>2]>>2]=c[l>>2];c[m>>2]=wd(0,c[j>>2]|0)|0;b=c[m>>2]|0;i=p;return b|0}function eg(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;r=i;i=i+64|0;m=r;t=r+44|0;n=r+40|0;p=r+36|0;x=r+48|0;v=r+32|0;u=r+28|0;w=r+24|0;q=r+20|0;o=r+16|0;k=r+12|0;s=r+8|0;l=r+4|0;c[n>>2]=b;c[p>>2]=e;a[x>>0]=f;c[v>>2]=g;c[u>>2]=h;c[w>>2]=j;c[o>>2]=d[x>>0];if((c[o>>2]|0)==4|(c[o>>2]|0)==8)c[o>>2]=(a[1136]|0)==0?3:2;if((c[o>>2]|0)<1|(c[o>>2]|0)>3){c[t>>2]=Qb(127001)|0;b=c[t>>2]|0;i=r;return b|0}c[q>>2]=$g(c[n>>2]|0,c[o>>2]&255,c[p>>2]|0,0)|0;a:do if((c[q>>2]|0)!=0?(c[(c[q>>2]|0)+12>>2]|0)!=0:0){j=c[n>>2]|0;if(c[(c[n>>2]|0)+148>>2]|0){Lc(j,5,3248,m);c[t>>2]=5;b=c[t>>2]|0;i=r;return b|0}gf(j);ah(c[n>>2]|0);if((d[(c[q>>2]|0)+4>>0]&-9|0)==(c[o>>2]|0)){c[k>>2]=bh((c[n>>2]|0)+428|0,c[p>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=3)break a;c[l>>2]=(c[k>>2]|0)+((c[s>>2]|0)*20|0);if((d[(c[l>>2]|0)+4>>0]|0)==(d[(c[q>>2]|0)+4>>0]|0)){if(c[(c[l>>2]|0)+16>>2]|0)rb[c[(c[l>>2]|0)+16>>2]&31](c[(c[l>>2]|0)+8>>2]|0);c[(c[l>>2]|0)+12>>2]=0}c[s>>2]=(c[s>>2]|0)+1}}}while(0);c[q>>2]=$g(c[n>>2]|0,c[o>>2]&255,c[p>>2]|0,1)|0;if(!(c[q>>2]|0)){c[t>>2]=7;b=c[t>>2]|0;i=r;return b|0}else{c[(c[q>>2]|0)+12>>2]=c[u>>2];c[(c[q>>2]|0)+8>>2]=c[v>>2];c[(c[q>>2]|0)+16>>2]=c[w>>2];a[(c[q>>2]|0)+4>>0]=c[o>>2]|d[x>>0]&8;Nc(c[n>>2]|0,0);c[t>>2]=0;b=c[t>>2]|0;i=r;return b|0}return 0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[f>>2]|0)+60>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function gg(a,b,d,e){a=a|0;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,o=0;k=i;i=i+32|0;o=k+28|0;n=k+24|0;j=k+20|0;g=k+16|0;f=k+12|0;l=k+8|0;m=k+4|0;h=k;c[o>>2]=a;c[n>>2]=b;c[j>>2]=d;c[g>>2]=e;c[f>>2]=1;c[l>>2]=hg(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[l>>2]|0)){o=c[f>>2]|0;i=k;return o|0}Pc(c[l>>2]|0);c[m>>2]=Sb(c[l>>2]|0)|0;c[h>>2]=ed(c[m>>2]|0)|0;l=c[h>>2]|0;if((c[j>>2]|0)==7){c[c[g>>2]>>2]=l;c[f>>2]=0;o=c[f>>2]|0;i=k;return o|0}if(c[l>>2]|0){c[f>>2]=ig(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;o=c[f>>2]|0;i=k;return o|0}else{c[f>>2]=12;o=c[f>>2]|0;i=k;return o|0}return 0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){b=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[h>>2]|0)){b=6;break}if(!(xc(c[h>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){b=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==6){c[d>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];a=c[d>>2]|0;i=e;return a|0}else if((b|0)==8){c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}return 0}function ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=pb[c[(c[c[h>>2]>>2]|0)+40>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function jg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[9725];if(!(c[d>>2]|0)){e=0;i=b;return e|0}e=ub[c[d>>2]&31](c[e>>2]|0)|0;i=b;return e|0}function kg(a,d,f,g){a=a|0;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;m=i;i=i+32|0;j=m+24|0;p=m+20|0;o=m+16|0;h=m+12|0;n=m+8|0;k=m+4|0;l=m;c[p>>2]=a;c[o>>2]=d;c[h>>2]=f;c[n>>2]=g;c[k>>2]=0;c[l>>2]=c[(c[p>>2]|0)+4>>2];Pc(c[p>>2]|0);if((e[(c[l>>2]|0)+22>>1]|0)&2){c[j>>2]=8;p=c[j>>2]|0;i=m;return p|0}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[l>>2]|0)+32>>2]|0)-(c[(c[l>>2]|0)+36>>2]|0);if((c[o>>2]|0)>=512&(c[o>>2]|0)<=65536?((c[o>>2]|0)-1&c[o>>2]|0)==0:0){c[(c[l>>2]|0)+32>>2]=c[o>>2];Dg(c[l>>2]|0)}c[k>>2]=Eg(c[c[l>>2]>>2]|0,(c[l>>2]|0)+32|0,c[h>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=(c[(c[l>>2]|0)+32>>2]|0)-(c[h>>2]&65535);if(c[n>>2]|0){p=(c[l>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[j>>2]=c[k>>2];p=c[j>>2]|0;i=m;return p|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Cg(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function mg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;Bg(8,c[e>>2]|0);if((c[42]|0)!=0?(c[9709]|0)>=(c[e>>2]|0):0){c[d>>2]=c[41];c[41]=c[c[41]>>2];c[42]=(c[42]|0)+ -1;ic(3,1);e=c[d>>2]|0;i=b;return e|0}e=c[e>>2]|0;c[d>>2]=gc(e,((e|0)<0)<<31>>31)|0;if(!((c[9660]|0)!=0&(c[d>>2]|0)!=0)){e=c[d>>2]|0;i=b;return e|0}ic(4,Tb(c[d>>2]|0)|0);e=c[d>>2]|0;i=b;return e|0}function ng(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if((c[d>>2]|0)>>>0>=(c[9708]|0)>>>0?(c[d>>2]|0)>>>0<(c[40]|0)>>>0:0){c[e>>2]=c[d>>2];c[c[e>>2]>>2]=c[41];c[41]=c[e>>2];c[42]=(c[42]|0)+1;ic(3,-1);i=b;return}if(c[9660]|0){c[f>>2]=Tb(c[d>>2]|0)|0;ic(4,0-(c[f>>2]|0)|0);ic(0,0-(c[f>>2]|0)|0);ic(9,-1);rb[c[38640+40>>2]&31](c[d>>2]|0);i=b;return}else{rb[c[38640+40>>2]&31](c[d>>2]|0);i=b;return}}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}b=(Mb(c[g>>2]|0)|0)+1|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if(!(a[c[g>>2]>>0]|0)){g=8;break}c[j>>2]=UE(c[g>>2]|0,c[h>>2]|0)|0;d=(Mb(c[g>>2]|0)|0)+1|0;c[g>>2]=(c[g>>2]|0)+d;d=c[g>>2]|0;if(!(c[j>>2]|0)){g=6;break}b=(Mb(d)|0)+1|0;c[g>>2]=(c[g>>2]|0)+b}if((g|0)==6){c[f>>2]=d;b=c[f>>2]|0;i=e;return b|0}else if((g|0)==8){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}return 0}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;f=e+4|0;g=e;c[j>>2]=a;c[h>>2]=b;c[f>>2]=d;c[g>>2]=og(c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=(c[f>>2]|0)!=0&1;if(c[g>>2]|0){j=(qg(c[g>>2]|0,c[f>>2]&255)|0)&255;i=e;return j|0}else{j=c[f>>2]|0;i=e;return j|0}return 0}function qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((yg(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function rg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;f=g+24|0;k=g+20|0;j=g+16|0;m=g;l=g+12|0;h=g+8|0;c[k>>2]=b;c[j>>2]=e;do if((a[c[k>>2]>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[1224+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){b=m;c[b>>2]=0;c[b+4>>2]=0;c[l>>2]=2;while(1){e=c[l>>2]|0;if((a[(c[k>>2]|0)+(c[l>>2]|0)>>0]|0)!=48)break;c[l>>2]=e+1}c[h>>2]=e;while(1){if(!(d[1224+(d[(c[k>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&8))break;b=m;b=lF(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=D;e=bF(b|0,e|0,(vg(a[(c[k>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255|0,0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D;c[h>>2]=(c[h>>2]|0)+1}b=c[j>>2]|0;c[b+0>>2]=c[m+0>>2];c[b+4>>2]=c[m+4>>2];if(!(a[(c[k>>2]|0)+(c[h>>2]|0)>>0]|0))h=((c[h>>2]|0)-(c[l>>2]|0)|0)<=16;else h=0;c[f>>2]=h?0:1;b=c[f>>2]|0;i=g;return b|0}}while(0);e=c[k>>2]|0;b=c[j>>2]|0;c[f>>2]=wg(e,b,Mb(c[k>>2]|0)|0,1)|0;b=c[f>>2]|0;i=g;return b|0}function sg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ug(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function tg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[f>>2]|0)+15>>0]|0|0)!=0:0){g=1216;i=e;return g|0}g=c[(c[f>>2]|0)+168>>2]|0;i=e;return g|0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function wg(b,e,f,g){b=b|0;e=e|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;q=i;i=i+64|0;p=q+48|0;k=q+44|0;n=q+40|0;v=q+36|0;w=q+52|0;s=q+32|0;u=q;r=q+28|0;l=q+24|0;t=q+20|0;o=q+16|0;h=q+12|0;m=q+8|0;c[k>>2]=b;c[n>>2]=e;c[v>>2]=f;a[w>>0]=g;b=u;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[t>>2]=0;c[o>>2]=0;c[m>>2]=(c[k>>2]|0)+(c[v>>2]|0);if((d[w>>0]|0)==1)c[s>>2]=1;else{c[s>>2]=2;c[l>>2]=3-(d[w>>0]|0);while(1){if((c[l>>2]|0)>=(c[v>>2]|0))break;if(a[(c[k>>2]|0)+(c[l>>2]|0)>>0]|0)break;c[l>>2]=(c[l>>2]|0)+2}c[o>>2]=(c[l>>2]|0)<(c[v>>2]|0)&1;c[m>>2]=(c[k>>2]|0)+(c[l>>2]|0)+(d[w>>0]|0)+ -3;c[k>>2]=(c[k>>2]|0)+(d[w>>0]&1)}while(1){if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;if(!(d[1224+(d[c[k>>2]>>0]|0)>>0]&1))break;c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0)}do if((c[k>>2]|0)>>>0<(c[m>>2]|0)>>>0){if((a[c[k>>2]>>0]|0)==45){c[r>>2]=1;c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0);break}if((a[c[k>>2]>>0]|0)==43)c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0)}while(0);c[h>>2]=c[k>>2];while(1){if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0)}c[l>>2]=0;while(1){if(((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0>=(c[m>>2]|0)>>>0)break;b=a[(c[k>>2]|0)+(c[l>>2]|0)>>0]|0;c[t>>2]=b;if(!((b|0)>=48&(c[t>>2]|0)<=57))break;b=u;b=lF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=c[t>>2]|0;e=bF(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ZE(e|0,D|0,48,0)|0;b=u;c[b>>2]=e;c[b+4>>2]=D;c[l>>2]=(c[l>>2]|0)+(c[s>>2]|0)}b=u;e=c[b+4>>2]|0;v=(c[r>>2]|0)!=0;do if(!(e>>>0>2147483647|(e|0)==2147483647&(c[b>>2]|0)>>>0>4294967295)){w=c[u>>2]|0;u=c[u+4>>2]|0;if(v){e=ZE(0,0,w|0,u|0)|0;b=c[n>>2]|0;c[b>>2]=e;c[b+4>>2]=D;break}else{b=c[n>>2]|0;c[b>>2]=w;c[b+4>>2]=u;break}}else{b=c[n>>2]|0;c[b>>2]=v?0:-1;c[b+4>>2]=v?-2147483648:2147483647}while(0);if(!((c[t>>2]|0)!=0?((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0<(c[m>>2]|0)>>>0:0))j=31;do if((j|0)==31){if((c[l>>2]|0)==0?(c[h>>2]|0)==(c[k>>2]|0):0)break;if(!((c[o>>2]|0)!=0?1:(c[l>>2]|0)>((c[s>>2]|0)*19|0))){if((c[l>>2]|0)<((c[s>>2]|0)*19|0)){c[p>>2]=0;b=c[p>>2]|0;i=q;return b|0}c[t>>2]=xg(c[k>>2]|0,c[s>>2]|0)|0;if((c[t>>2]|0)<0){c[p>>2]=0;b=c[p>>2]|0;i=q;return b|0}if((c[t>>2]|0)>0){c[p>>2]=1;b=c[p>>2]|0;i=q;return b|0}else{c[p>>2]=(c[r>>2]|0)!=0?0:2;b=c[p>>2]|0;i=q;return b|0}}}while(0);c[p>>2]=1;b=c[p>>2]|0;i=q;return b|0}function xg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[e>>2]=0;c[k>>2]=1744;c[j>>2]=0;while(1){if(!((c[e>>2]|0)==0&(c[j>>2]|0)<18))break;b=$(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=((a[(c[g>>2]|0)+b>>0]|0)-(a[(c[k>>2]|0)+(c[j>>2]|0)>>0]|0)|0)*10;c[j>>2]=(c[j>>2]|0)+1}if(c[e>>2]|0){b=c[e>>2]|0;i=f;return b|0}c[e>>2]=(a[(c[g>>2]|0)+((c[h>>2]|0)*18|0)>>0]|0)-56;b=c[e>>2]|0;i=f;return b|0}function yg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+17|0;m=k+12|0;n=k+8|0;h=k+16|0;j=k+4|0;l=k;c[m>>2]=b;c[n>>2]=e;a[h>>0]=f;f=c[m>>2]|0;if((d[1224+(d[c[m>>2]>>0]|0)>>0]|0)&4){a[g>>0]=zg(f)|0;b=a[g>>0]|0;i=k;return b|0}c[l>>2]=Mb(f)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(7-(c[n>>2]|0)|0)){l=9;break}if((d[1800+(c[j>>2]|0)>>0]|0|0)==(c[l>>2]|0)?(Lb(1768+(d[1792+(c[j>>2]|0)>>0]|0)|0,c[m>>2]|0,c[l>>2]|0)|0)==0:0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){a[g>>0]=a[1808+(c[j>>2]|0)>>0]|0;b=a[g>>0]|0;i=k;return b|0}else if((l|0)==9){a[g>>0]=a[h>>0]|0;b=a[g>>0]|0;i=k;return b|0}return 0}function zg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;if(c[e>>2]|0)Ag(c[e>>2]|0,b)|0;i=d;return c[b>>2]|0}function Ag(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+48|0;j=g+32|0;k=g+28|0;h=g+24|0;m=g;f=g+20|0;o=g+16|0;n=g+12|0;l=g+8|0;c[k>>2]=b;c[h>>2]=e;b=m;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[1224+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[f>>2]=0;while(1){m=c[l>>2]|0;if(!((c[f>>2]|0)<8?(d[1224+(d[(c[k>>2]|0)+(c[f>>2]|0)>>0]|0)>>0]&8|0)!=0:0))break;c[l>>2]=(m<<4)+((vg(a[(c[k>>2]|0)+(c[f>>2]|0)>>0]|0)|0)&255);c[f>>2]=(c[f>>2]|0)+1}if((m&-2147483648|0)==0?(d[1224+(d[(c[k>>2]|0)+(c[f>>2]|0)>>0]|0)>>0]&8|0)==0:0){b=c[h>>2]|0;c[b+0>>2]=c[l+0>>2];c[j>>2]=1;b=c[j>>2]|0;i=g;return b|0}c[j>>2]=0;b=c[j>>2]|0;i=g;return b|0}}}else{c[n>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=11)break;b=(a[(c[k>>2]|0)+(c[f>>2]|0)>>0]|0)-48|0;c[o>>2]=b;if(!((b|0)>=0&(c[o>>2]|0)<=9))break;b=m;b=lF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=c[o>>2]|0;e=bF(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D;c[f>>2]=(c[f>>2]|0)+1}if((c[f>>2]|0)>10){c[j>>2]=0;b=c[j>>2]|0;i=g;return b|0}e=m;b=c[n>>2]|0;b=ZE(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;e=D;if((e|0)>0|(e|0)==0&b>>>0>2147483647){c[j>>2]=0;b=c[j>>2]|0;i=g;return b|0}if(c[n>>2]|0){e=m;e=ZE(0,0,c[e>>2]|0,c[e+4>>2]|0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D}c[c[h>>2]>>2]=c[m>>2];c[j>>2]=1;b=c[j>>2]|0;i=g;return b|0}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[48+(c[e>>2]<<2)>>2]=c[f>>2];if((c[48+(c[e>>2]<<2)>>2]|0)<=(c[88+(c[e>>2]<<2)>>2]|0)){i=d;return}c[88+(c[e>>2]<<2)>>2]=c[48+(c[e>>2]<<2)>>2];i=d;return}function Cg(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;h=f;c[j>>2]=a;c[k>>2]=b;if((c[k>>2]|0)<2){c[g>>2]=27;a=c[g>>2]|0;i=f;return a|0}c[l>>2]=((d[440+(d[c[j>>2]>>0]|0)>>0]|0)<<2^(d[440+(d[(c[j>>2]|0)+((c[k>>2]|0)-1)>>0]|0)>>0]|0)*3^c[k>>2]|0)%127|0;c[h>>2]=(d[2376+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[h>>2]|0)<0){b=9;break}if((d[2632+(c[h>>2]|0)>>0]|0|0)==(c[k>>2]|0)?(Lb(1816+(e[2760+(c[h>>2]<<1)>>1]|0)|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0){b=7;break}c[h>>2]=(d[2504+(c[h>>2]|0)>>0]|0)-1}if((b|0)==7){c[g>>2]=d[3008+(c[h>>2]|0)>>0];a=c[g>>2]|0;i=f;return a|0}else if((b|0)==9){c[g>>2]=27;a=c[g>>2]|0;i=f;return a|0}return 0}function Dg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=b;return}a=(c[d>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+ -4;Kg(c[(c[d>>2]|0)+80>>2]|0);c[(c[d>>2]|0)+80>>2]=0;i=b;return}function Eg(a,e,f){a=a|0;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;j=i;i=i+32|0;k=j+28|0;l=j+24|0;p=j+20|0;n=j+16|0;o=j+12|0;m=j+8|0;g=j;c[k>>2]=a;c[l>>2]=e;c[p>>2]=f;c[n>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(!((d[(c[k>>2]|0)+15>>0]|0)!=0?(c[(c[k>>2]|0)+24>>2]|0)!=0:0))h=3;do if(((h|0)==3?(a=(Fg(c[(c[k>>2]|0)+204>>2]|0)|0)==0,a&(c[o>>2]|0)!=0):0)?(c[o>>2]|0)!=(c[(c[k>>2]|0)+152>>2]|0):0){c[m>>2]=0;a=g;c[a>>2]=0;c[a+4>>2]=0;if((d[(c[k>>2]|0)+16>>0]|0)>0?(c[c[(c[k>>2]|0)+60>>2]>>2]|0)!=0:0)c[n>>2]=Gg(c[(c[k>>2]|0)+60>>2]|0,g)|0;if((c[n>>2]|0)==0?(c[m>>2]=Hg(c[o>>2]|0)|0,(c[m>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Ig(c[k>>2]|0);c[n>>2]=Jg(c[(c[k>>2]|0)+204>>2]|0,c[o>>2]|0)|0}if(!(c[n>>2]|0)){Kg(c[(c[k>>2]|0)+200>>2]|0);c[(c[k>>2]|0)+200>>2]=c[m>>2];a=g;a=bF(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,0)|0;a=ZE(a|0,D|0,1,0)|0;a=jF(a|0,D|0,c[o>>2]|0,0)|0;c[(c[k>>2]|0)+24>>2]=a;c[(c[k>>2]|0)+152>>2]=c[o>>2];break}else{Kg(c[m>>2]|0);break}}while(0);c[c[l>>2]>>2]=c[(c[k>>2]|0)+152>>2];if(c[n>>2]|0){a=c[n>>2]|0;i=j;return a|0}if((c[p>>2]|0)<0)c[p>>2]=b[(c[k>>2]|0)+142>>1];b[(c[k>>2]|0)+142>>1]=c[p>>2];Lg(c[k>>2]|0);a=c[n>>2]|0;i=j;return a|0}function Fg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+24>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Hg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ug(c[d>>2]|0)|0;i=b;return a|0}function Ig(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Og(c[(c[d>>2]|0)+88>>2]|0);Pg(c[(c[d>>2]|0)+204>>2]|0);i=b;return}function Jg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;h=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;if(c[(c[h>>2]|0)+20>>2]|0){c[g>>2]=pb[c[38640+120>>2]&31](c[j>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+40|0,d[(c[h>>2]|0)+28>>0]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=e;return a|0}k=c[9691]|0;b=c[g>>2]|0;a=Ng(c[h>>2]|0)|0;sb[k&7](b,a);if(c[(c[h>>2]|0)+40>>2]|0)rb[c[38640+148>>2]&31](c[(c[h>>2]|0)+40>>2]|0);c[(c[h>>2]|0)+40>>2]=c[g>>2];c[(c[h>>2]|0)+44>>2]=0;c[(c[h>>2]|0)+20>>2]=c[j>>2]}c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}function Kg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Mg(c[d>>2]|0)|0;i=b;return}function Lg(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Mg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;f=b+8|0;e=b+4|0;g=b;c[f>>2]=a;c[e>>2]=0;if(!(c[f>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}if((c[f>>2]|0)>>>0>=(c[795]|0)>>>0?(c[f>>2]|0)>>>0<(c[796]|0)>>>0:0){ic(1,-1);c[g>>2]=c[f>>2];c[c[g>>2]>>2]=c[798];c[798]=c[g>>2];c[799]=(c[799]|0)+1;c[800]=(c[799]|0)<(c[794]|0)&1}else{c[e>>2]=Tb(c[f>>2]|0)|0;ic(2,0-(c[e>>2]|0)|0);hc(c[f>>2]|0)}c[d>>2]=c[e>>2];g=c[d>>2]|0;i=b;return g|0}function Ng(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;a=c[(c[e>>2]|0)+16>>2]|0;if((c[(c[e>>2]|0)+16>>2]|0)>=0){c[d>>2]=a;a=c[d>>2]|0;i=b;return a|0}else{f=lF(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;a=(c[(c[e>>2]|0)+20>>2]|0)+(c[(c[e>>2]|0)+24>>2]|0)|0;a=jF(f|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;c[d>>2]=a;a=c[d>>2]|0;i=b;return a|0}return 0}function Og(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+16>>2]=1;c[d>>2]=c[(c[d>>2]|0)+44>>2]}i=b;return}function Pg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qg(c[d>>2]|0,0);i=b;return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+40>>2]|0)){i=d;return}c[g>>2]=c[c[e>>2]>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+32>>2];if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[f>>2]|0)>>>0)Rg(c[g>>2]|0);c[g>>2]=c[h>>2]}if((c[f>>2]|0)==0?(c[(c[e>>2]|0)+44>>2]|0)!=0:0){_E(c[(c[(c[e>>2]|0)+44>>2]|0)+4>>2]|0,0,c[(c[e>>2]|0)+20>>2]|0)|0;c[f>>2]=1}sb[c[38640+144>>2]&7](c[(c[e>>2]|0)+40>>2]|0,(c[f>>2]|0)+1|0);i=d;return}function Rg(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;if(!(e[(c[f>>2]|0)+24>>1]&2)){i=d;return}Sg(c[f>>2]|0,1);a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]&-7;if(b[(c[f>>2]|0)+26>>1]|0){i=d;return}Tg(c[f>>2]|0);i=d;return}function Sg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;g=j+8|0;k=j+12|0;h=j+4|0;l=j;c[g>>2]=b;a[k>>0]=f;c[h>>2]=c[(c[g>>2]|0)+28>>2];if(d[k>>0]&1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[g>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+36>>2];while(1){if(c[l>>2]|0)b=(e[(c[l>>2]|0)+24>>1]&4|0)!=0;else b=0;f=c[l>>2]|0;if(!b)break;c[l>>2]=c[f+36>>2]}c[(c[h>>2]|0)+8>>2]=f}l=c[(c[g>>2]|0)+36>>2]|0;if(c[(c[g>>2]|0)+32>>2]|0)c[(c[(c[g>>2]|0)+32>>2]|0)+36>>2]=l;else c[(c[h>>2]|0)+4>>2]=l;l=c[(c[g>>2]|0)+32>>2]|0;if(!(c[(c[g>>2]|0)+36>>2]|0)){c[c[h>>2]>>2]=l;if((c[c[h>>2]>>2]|0)==0?(d[(c[h>>2]|0)+28>>0]|0)!=0:0)a[(c[h>>2]|0)+29>>0]=2}else c[(c[(c[g>>2]|0)+36>>2]|0)+32>>2]=l;c[(c[g>>2]|0)+32>>2]=0;c[(c[g>>2]|0)+36>>2]=0}if(!(d[k>>0]&2)){i=j;return}c[(c[g>>2]|0)+32>>2]=c[c[h>>2]>>2];k=c[g>>2]|0;if(!(c[(c[g>>2]|0)+32>>2]|0)){c[(c[h>>2]|0)+4>>2]=k;if(a[(c[h>>2]|0)+28>>0]|0)a[(c[h>>2]|0)+29>>0]=1}else c[(c[(c[g>>2]|0)+32>>2]|0)+36>>2]=k;c[c[h>>2]>>2]=c[g>>2];if(c[(c[h>>2]|0)+8>>2]|0){i=j;return}if(e[(c[g>>2]|0)+24>>1]&4){i=j;return}c[(c[h>>2]|0)+8>>2]=c[g>>2];i=j;return}function Tg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(!(a[(c[(c[e>>2]|0)+28>>2]|0)+28>>0]|0)){i=d;return}if((c[(c[e>>2]|0)+20>>2]|0)==1)c[(c[(c[e>>2]|0)+28>>2]|0)+44>>2]=0;vb[c[38640+136>>2]&63](c[(c[(c[e>>2]|0)+28>>2]|0)+40>>2]|0,c[c[e>>2]>>2]|0,0);i=d;return}function Ug(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[b>>2]=0;Bg(7,c[f>>2]|0);if((c[f>>2]|0)<=(c[792]|0)?(c[b>>2]=c[798],(c[b>>2]|0)!=0):0){c[798]=c[c[798]>>2];c[799]=(c[799]|0)+ -1;c[800]=(c[799]|0)<(c[794]|0)&1;ic(1,1)}if(c[b>>2]|0){f=c[b>>2]|0;i=d;return f|0}f=c[f>>2]|0;c[b>>2]=gc(f,((f|0)<0)<<31>>31)|0;if(!(c[b>>2]|0)){f=c[b>>2]|0;i=d;return f|0}c[e>>2]=Tb(c[b>>2]|0)|0;ic(2,c[e>>2]|0);f=c[b>>2]|0;i=d;return f|0}function Vg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Mc(512,0)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=b;return e|0}c[c[d>>2]>>2]=c[e>>2];e=c[d>>2]|0;i=b;return e|0}function Wg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;h=m+28|0;j=m+24|0;k=m+20|0;o=m+16|0;p=m+12|0;n=m+8|0;f=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;if(!(c[j>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}c[k>>2]=(c[k>>2]|0)+ -1;while(1){if((c[c[j>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[j>>2]|0)+8>>2]|0))break;c[p>>2]=((c[k>>2]|0)>>>0)/((c[(c[j>>2]|0)+8>>2]|0)>>>0)|0;c[k>>2]=((c[k>>2]|0)>>>0)%((c[(c[j>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2]|0)==0?(b=Vg(c[(c[j>>2]|0)+8>>2]|0)|0,c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2]=b,(c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2]|0)==0):0){g=8;break}c[j>>2]=c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2]}if((g|0)==8){c[h>>2]=7;b=c[h>>2]|0;i=m;return b|0}p=c[k>>2]|0;if((c[c[j>>2]>>2]|0)>>>0<=4e3){b=(c[j>>2]|0)+12+(((c[k>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(p&7);c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}c[k>>2]=p+1;c[o>>2]=(p>>>0)%125|0;a:do if(!(c[(c[j>>2]|0)+12+(c[o>>2]<<2)>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)>>>0>=124)g=17}else{while(1){if((c[(c[j>>2]|0)+12+(c[o>>2]<<2)>>2]|0)==(c[k>>2]|0))break;b=(c[o>>2]|0)+1|0;c[o>>2]=b;c[o>>2]=(c[o>>2]|0)>>>0>=125?0:b;if(!(c[(c[j>>2]|0)+12+(c[o>>2]<<2)>>2]|0)){g=17;break a}}c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}while(0);if((g|0)==17?(c[(c[j>>2]|0)+4>>2]|0)>>>0>=62:0){c[l>>2]=Qe(0,500,0)|0;if(!(c[l>>2]|0)){c[h>>2]=7;b=c[h>>2]|0;i=m;return b|0}dF(c[l>>2]|0,(c[j>>2]|0)+12|0,500)|0;_E((c[j>>2]|0)+12|0,0,500)|0;c[(c[j>>2]|0)+8>>2]=(((c[c[j>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[f>>2]=Wg(c[j>>2]|0,c[k>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if(c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0){b=Wg(c[j>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[f>>2]=c[f>>2]|b}c[n>>2]=(c[n>>2]|0)+1}Xb(0,c[l>>2]|0);c[h>>2]=c[f>>2];b=c[h>>2]|0;i=m;return b|0}b=(c[j>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[j>>2]|0)+12+(c[o>>2]<<2)>>2]=c[k>>2];c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}function Xg(b,e,f){b=b|0;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;n=i;i=i+32|0;j=n+24|0;k=n+20|0;o=n+16|0;p=n+12|0;m=n+8|0;l=n+4|0;g=n;c[j>>2]=b;c[k>>2]=e;c[o>>2]=f;if(!(c[j>>2]|0)){i=n;return}c[k>>2]=(c[k>>2]|0)+ -1;while(1){if(!(c[(c[j>>2]|0)+8>>2]|0))break;c[p>>2]=((c[k>>2]|0)>>>0)/((c[(c[j>>2]|0)+8>>2]|0)>>>0)|0;c[k>>2]=((c[k>>2]|0)>>>0)%((c[(c[j>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=c[(c[j>>2]|0)+12+(c[p>>2]<<2)>>2];if(!(c[j>>2]|0)){h=16;break}}if((h|0)==16){i=n;return}if((c[c[j>>2]>>2]|0)>>>0<=4e3){b=(c[j>>2]|0)+12+(((c[k>>2]|0)>>>0)/8|0)|0;a[b>>0]=(d[b>>0]|0)&~(1<<(c[k>>2]&7));i=n;return}c[l>>2]=c[o>>2];dF(c[l>>2]|0,(c[j>>2]|0)+12|0,500)|0;_E((c[j>>2]|0)+12|0,0,500)|0;c[(c[j>>2]|0)+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if((c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)!=0?(c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)!=((c[k>>2]|0)+1|0):0){c[g>>2]=(((c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;b=(c[j>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;while(1){if(!(c[(c[j>>2]|0)+12+(c[g>>2]<<2)>>2]|0))break;b=(c[g>>2]|0)+1|0;c[g>>2]=b;c[g>>2]=(c[g>>2]|0)>>>0>=125?0:b}c[(c[j>>2]|0)+12+(c[g>>2]<<2)>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]}c[m>>2]=(c[m>>2]|0)+1}i=n;return}function Yg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;l=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}if((c[h>>2]|0)==0?1:(c[h>>2]|0)>>>0>(c[c[g>>2]>>2]|0)>>>0){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}c[h>>2]=(c[h>>2]|0)+ -1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){k=8;break}}if((k|0)==8){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}k=c[h>>2]|0;if((c[c[g>>2]>>2]|0)>>>0<=4e3){c[f>>2]=((d[(c[g>>2]|0)+12+((k>>>0)/8|0)>>0]|0)&1<<(c[h>>2]&7)|0)!=0&1;a=c[f>>2]|0;i=e;return a|0}c[h>>2]=k+1;c[j>>2]=(k>>>0)%125|0;while(1){if(!(c[(c[g>>2]|0)+12+(c[j>>2]<<2)>>2]|0)){k=16;break}if((c[(c[g>>2]|0)+12+(c[j>>2]<<2)>>2]|0)==(c[h>>2]|0)){k=14;break}c[j>>2]=(((c[j>>2]|0)+1|0)>>>0)%125|0}if((k|0)==14){c[f>>2]=1;a=c[f>>2]|0;i=e;return a|0}else if((k|0)==16){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}return 0}function Zg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function _g(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;if(!(c[e>>2]|0)){i=b;return}a:do if(c[(c[e>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;_g(c[(c[e>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);hc(c[e>>2]|0);i=b;return}function $g(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;n=j+12|0;k=j+16|0;m=j+8|0;l=j+4|0;h=j;c[n>>2]=b;a[k>>0]=e;c[m>>2]=f;c[l>>2]=g;g=c[n>>2]|0;if(c[m>>2]|0)c[h>>2]=fh(g,c[m>>2]|0,c[l>>2]|0)|0;else c[h>>2]=c[g+8>>2];if(!(c[h>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[h>>2]=(c[h>>2]|0)+(((d[k>>0]|0)-1|0)*20|0);n=c[h>>2]|0;i=j;return n|0}function ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;g=b+20|0;d=b+16|0;f=b+12|0;e=b+8|0;h=b+4|0;j=b;c[g>>2]=a;c[f>>2]=0;c[d>>2]=c[(c[g>>2]|0)+16>>2];while(1){if((c[f>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;a:do if(c[(c[d>>2]|0)+4>>2]|0){Pc(c[(c[d>>2]|0)+4>>2]|0);c[e>>2]=c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2];while(1){if(!(c[e>>2]|0))break a;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[j>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if((c[(c[j>>2]|0)+40>>2]|0)!=0?(c[(c[(c[j>>2]|0)+40>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){eh(c[(c[j>>2]|0)+40>>2]|0);c[(c[j>>2]|0)+40>>2]=0}c[j>>2]=c[(c[j>>2]|0)+20>>2]}c[e>>2]=c[c[e>>2]>>2]}}while(0);c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+16}i=b;return}function bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;f=d+8|0;e=d+4|0;c[g>>2]=a;c[f>>2]=b;c[e>>2]=ch(c[g>>2]|0,c[f>>2]|0,d)|0;if(!(c[e>>2]|0)){g=0;i=d;return g|0}g=c[(c[e>>2]|0)+8>>2]|0;i=d;return g|0}function ch(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,l=0,m=0,n=0;e=i;i=i+32|0;f=e+28|0;n=e+24|0;h=e+20|0;k=e+16|0;g=e+12|0;j=e+8|0;l=e+4|0;m=e;c[n>>2]=a;c[h>>2]=b;c[k>>2]=d;if(c[(c[n>>2]|0)+12>>2]|0){a=dh(c[h>>2]|0)|0;c[l>>2]=(a>>>0)%((c[c[n>>2]>>2]|0)>>>0)|0;c[m>>2]=(c[(c[n>>2]|0)+12>>2]|0)+(c[l>>2]<<3);c[g>>2]=c[(c[m>>2]|0)+4>>2];c[j>>2]=c[c[m>>2]>>2]}else{c[l>>2]=0;c[g>>2]=c[(c[n>>2]|0)+8>>2];c[j>>2]=c[(c[n>>2]|0)+4>>2]}c[c[k>>2]>>2]=c[l>>2];while(1){a=c[j>>2]|0;c[j>>2]=a+ -1;if(!a){g=9;break}a=(xc(c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0)|0)==0;k=c[g>>2]|0;if(a){g=7;break}c[g>>2]=c[k>>2]}if((g|0)==7){c[f>>2]=k;a=c[f>>2]|0;i=e;return a|0}else if((g|0)==9){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}return 0}function dh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+4|0;h=e;g=e+8|0;c[f>>2]=b;c[h>>2]=0;while(1){j=c[f>>2]|0;c[f>>2]=j+1;j=a[j>>0]|0;a[g>>0]=j;b=c[h>>2]|0;if(!(j&255))break;c[h>>2]=b<<3^c[h>>2]^(d[440+(d[g>>0]|0)>>0]|0)}i=e;return b|0}function eh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+ -1;if(c[c[d>>2]>>2]|0){i=b;return}Xb(0,c[d>>2]|0);i=b;return}function fh(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;f=i;i=i+32|0;l=f+20|0;j=f+16|0;m=f+12|0;g=f+8|0;k=f+4|0;h=f;c[l>>2]=b;c[j>>2]=d;c[m>>2]=e;c[g>>2]=bh((c[l>>2]|0)+428|0,c[j>>2]|0)|0;if(!(0==(c[g>>2]|0)&(c[m>>2]|0)!=0)){m=c[g>>2]|0;i=f;return m|0}c[k>>2]=Mb(c[j>>2]|0)|0;c[g>>2]=se(c[l>>2]|0,61+(c[k>>2]|0)|0,0)|0;if(!(c[g>>2]|0)){m=c[g>>2]|0;i=f;return m|0}c[h>>2]=0;c[c[g>>2]>>2]=(c[g>>2]|0)+60;a[(c[g>>2]|0)+4>>0]=1;c[(c[g>>2]|0)+20>>2]=(c[g>>2]|0)+60;a[(c[g>>2]|0)+24>>0]=2;c[(c[g>>2]|0)+40>>2]=(c[g>>2]|0)+60;a[(c[g>>2]|0)+44>>0]=3;dF(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[c[g>>2]>>2]|0)+(c[k>>2]|0)>>0]=0;c[h>>2]=gh((c[l>>2]|0)+428|0,c[c[g>>2]>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){m=c[g>>2]|0;i=f;return m|0}a[(c[l>>2]|0)+64>>0]=1;Xb(c[l>>2]|0,c[h>>2]|0);c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}function gh(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,l=0,m=0,n=0;f=i;i=i+32|0;e=f+28|0;g=f+24|0;n=f+20|0;m=f+16|0;j=f+12|0;k=f+8|0;h=f+4|0;l=f;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=ch(c[g>>2]|0,c[n>>2]|0,j)|0;if(c[k>>2]|0){c[l>>2]=c[(c[k>>2]|0)+8>>2];if(!(c[m>>2]|0))hh(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0);else{c[(c[k>>2]|0)+8>>2]=c[m>>2];c[(c[k>>2]|0)+12>>2]=c[n>>2]}c[e>>2]=c[l>>2];a=c[e>>2]|0;i=f;return a|0}if(!(c[m>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}c[h>>2]=gc(16,0)|0;if(!(c[h>>2]|0)){c[e>>2]=c[m>>2];a=c[e>>2]|0;i=f;return a|0}c[(c[h>>2]|0)+12>>2]=c[n>>2];c[(c[h>>2]|0)+8>>2]=c[m>>2];a=(c[g>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;if(((c[(c[g>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[g>>2]|0)+4>>2]|0)>>>0>c[c[g>>2]>>2]<<1>>>0:0)?(ih(c[g>>2]|0,c[(c[g>>2]|0)+4>>2]<<1)|0)!=0:0){a=dh(c[n>>2]|0)|0;c[j>>2]=(a>>>0)%((c[c[g>>2]>>2]|0)>>>0)|0}if(c[(c[g>>2]|0)+12>>2]|0)j=(c[(c[g>>2]|0)+12>>2]|0)+(c[j>>2]<<3)|0;else j=0;jh(c[g>>2]|0,j,c[h>>2]|0);c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;h=j+4|0;g=j;c[f>>2]=a;c[e>>2]=b;c[h>>2]=d;d=c[c[e>>2]>>2]|0;if(c[(c[e>>2]|0)+4>>2]|0)c[c[(c[e>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[e>>2]>>2]|0)c[(c[c[e>>2]>>2]|0)+4>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[f>>2]|0)+12>>2]|0){c[g>>2]=(c[(c[f>>2]|0)+12>>2]|0)+(c[h>>2]<<3);if((c[(c[g>>2]|0)+4>>2]|0)==(c[e>>2]|0))c[(c[g>>2]|0)+4>>2]=c[c[e>>2]>>2];a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+ -1}hc(c[e>>2]|0);a=(c[f>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+ -1;if(c[(c[f>>2]|0)+4>>2]|0){i=j;return}mh(c[f>>2]|0);i=j;return}function ih(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;i=i+32|0;e=d+24|0;k=d+20|0;g=d+16|0;l=d+12|0;f=d+8|0;j=d+4|0;h=d;c[k>>2]=a;c[g>>2]=b;c[g>>2]=c[g>>2]<<3>>>0>1024?128:b;if((c[g>>2]|0)==(c[c[k>>2]>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}kh();c[l>>2]=gc(c[g>>2]<<3,0)|0;lh();if(!(c[l>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}hc(c[(c[k>>2]|0)+12>>2]|0);c[(c[k>>2]|0)+12>>2]=c[l>>2];a=((Tb(c[l>>2]|0)|0)>>>0)/8|0;c[g>>2]=a;c[c[k>>2]>>2]=a;_E(c[l>>2]|0,0,c[g>>2]<<3|0)|0;c[f>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=0;while(1){if(!(c[f>>2]|0))break;a=dh(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[g>>2]|0)>>>0)|0;c[j>>2]=c[c[f>>2]>>2];jh(c[k>>2]|0,(c[l>>2]|0)+(c[h>>2]<<3)|0,c[f>>2]|0);c[f>>2]=c[j>>2]}c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g+12|0;j=g+8|0;e=g+4|0;h=g;c[f>>2]=a;c[j>>2]=b;c[e>>2]=d;if(c[j>>2]|0){if(c[c[j>>2]>>2]|0)d=c[(c[j>>2]|0)+4>>2]|0;else d=0;c[h>>2]=d;a=c[j>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[j>>2]|0)+4>>2]=c[e>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[e>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[e>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[e>>2];i=g;return}c[c[e>>2]>>2]=c[h>>2];c[(c[e>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];j=c[e>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=j;else c[(c[f>>2]|0)+8>>2]=j;c[(c[h>>2]|0)+4>>2]=c[e>>2];i=g;return}function kh(){var a=0;a=i;if(!(c[802]|0)){i=a;return}wb[c[3208>>2]&0]();i=a;return}function lh(){var a=0;a=i;if(!(c[803]|0)){i=a;return}wb[c[3208+4>>2]&0]();i=a;return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;f=d;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;hc(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];hc(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[b>>2]|0)+4>>2]=0;i=d;return}function nh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function oh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+24|0;n=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;h=m+4|0;k=m;c[o>>2]=a;c[n>>2]=b;c[g>>2]=d;c[l>>2]=e;c[j>>2]=f;c[k>>2]=(c[n>>2]|0)<(c[l>>2]|0)?c[n>>2]|0:c[l>>2]|0;c[h>>2]=TE(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){a=c[h>>2]|0;i=m;return a|0}if(((c[o>>2]|0)!=0?(rk((c[g>>2]|0)+(c[k>>2]|0)|0,(c[n>>2]|0)-(c[k>>2]|0)|0)|0)!=0:0)?(rk((c[j>>2]|0)+(c[k>>2]|0)|0,(c[l>>2]|0)-(c[k>>2]|0)|0)|0)!=0:0){a=c[h>>2]|0;i=m;return a|0}c[h>>2]=(c[n>>2]|0)-(c[l>>2]|0);a=c[h>>2]|0;i=m;return a|0}function ph(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;j=g+16|0;m=g+12|0;k=g+8|0;l=g+4|0;h=g;c[g+20>>2]=a;c[j>>2]=b;c[m>>2]=d;c[k>>2]=e;c[l>>2]=f;c[h>>2]=Lb(c[m>>2]|0,c[l>>2]|0,(c[j>>2]|0)<(c[k>>2]|0)?c[j>>2]|0:c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=g;return m|0}c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);m=c[h>>2]|0;i=g;return m|0}function qh(b,e,f,g,h,j){b=b|0;e=e|0;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,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;z=i;i=i+128|0;G=z;C=z+116|0;O=z+112|0;F=z+108|0;K=z+104|0;J=z+100|0;L=z+96|0;H=z+92|0;I=z+88|0;v=z+84|0;n=z+80|0;A=z+76|0;D=z+120|0;N=z+72|0;t=z+68|0;B=z+64|0;E=z+60|0;k=z+56|0;M=z+52|0;l=z+48|0;s=z+44|0;m=z+40|0;u=z+36|0;o=z+32|0;p=z+28|0;q=z+24|0;r=z+20|0;x=z+16|0;w=z+12|0;y=z+8|0;c[O>>2]=b;c[F>>2]=e;c[K>>2]=f;c[J>>2]=g;c[L>>2]=h;c[H>>2]=j;c[I>>2]=0;c[v>>2]=c[c[K>>2]>>2];c[n>>2]=c[O>>2];c[N>>2]=Mb(c[F>>2]|0)|0;if(c[v>>2]&64)if((c[N>>2]|0)>=5)j=4;else j=83;else if((c[9663]|0)!=0&(c[N>>2]|0)>=5)j=4;else j=83;a:do if((j|0)==4)if(!(TE(c[F>>2]|0,4608,5)|0)){c[k>>2]=0;c[M>>2]=(c[N>>2]|0)+2;c[v>>2]=c[v>>2]|64;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[N>>2]|0))break;c[M>>2]=(c[M>>2]|0)+((a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)==38&1);c[E>>2]=(c[E>>2]|0)+1}c[A>>2]=fc(c[M>>2]|0)|0;if(!(c[A>>2]|0)){c[C>>2]=7;O=c[C>>2]|0;i=z;return O|0}c[E>>2]=5;do if((a[(c[F>>2]|0)+5>>0]|0)==47?(a[(c[F>>2]|0)+6>>0]|0)==47:0){c[E>>2]=7;while(1){if(a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)N=(a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)!=47;else N=0;M=c[E>>2]|0;if(!N)break;c[E>>2]=M+1}if((M|0)!=7){if((c[E>>2]|0)==16?(TE(4616,(c[F>>2]|0)+7|0,9)|0)==0:0)break;O=(c[F>>2]|0)+7|0;c[G>>2]=(c[E>>2]|0)-7;c[G+4>>2]=O;O=qc(4632,G)|0;c[c[H>>2]>>2]=O;c[I>>2]=1;break a}}while(0);c[B>>2]=0;b:while(1){O=a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0;a[D>>0]=O;if(!(O<<24>>24))break;if((a[D>>0]|0)==35)break;c[E>>2]=(c[E>>2]|0)+1;do if(((a[D>>0]|0)==37?(d[1224+(d[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[1224+(d[(c[F>>2]|0)+((c[E>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){O=c[E>>2]|0;c[E>>2]=O+1;c[l>>2]=((vg(a[(c[F>>2]|0)+O>>0]|0)|0)&255)<<4;O=c[E>>2]|0;c[E>>2]=O+1;O=(vg(a[(c[F>>2]|0)+O>>0]|0)|0)&255;c[l>>2]=(c[l>>2]|0)+O;if(c[l>>2]|0){a[D>>0]=c[l>>2];break}while(1){O=a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0;a[D>>0]=O;if(!(O<<24>>24))continue b;if((a[D>>0]|0)==35)continue b;if((c[B>>2]|0)==0?(a[D>>0]|0)==63:0)continue b;if((c[B>>2]|0)==1){if((a[D>>0]|0)==61)continue b;if((a[D>>0]|0)==38)continue b}if((c[B>>2]|0)==2?(a[D>>0]|0)==38:0)continue b;c[E>>2]=(c[E>>2]|0)+1}}else j=39;while(0);c:do if((j|0)==39){j=0;do if((c[B>>2]|0)==1){if((a[D>>0]|0)!=38?(a[D>>0]|0)!=61:0)break;if(!(a[(c[A>>2]|0)+((c[k>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0))continue b;if((a[(c[F>>2]|0)+(c[E>>2]|0)>>0]|0)==35)continue b;if((a[(c[F>>2]|0)+((c[E>>2]|0)-1)>>0]|0)==38)continue b;c[E>>2]=(c[E>>2]|0)+1}else{if((a[D>>0]|0)==38){O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=0}else c[B>>2]=2;a[D>>0]=0;break c}}while(0);if(!((c[B>>2]|0)==0?(a[D>>0]|0)==63:0)){if((c[B>>2]|0)!=2)break;if((a[D>>0]|0)!=38)break}a[D>>0]=0;c[B>>2]=1}while(0);b=a[D>>0]|0;O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=b}if((c[B>>2]|0)==1){O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=0}O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=0;O=c[k>>2]|0;c[k>>2]=O+1;a[(c[A>>2]|0)+O>>0]=0;O=(Mb(c[A>>2]|0)|0)+1|0;c[t>>2]=(c[A>>2]|0)+O;while(1){if(!(a[c[t>>2]>>0]|0)){j=86;break a}c[s>>2]=Mb(c[t>>2]|0)|0;c[m>>2]=(c[t>>2]|0)+((c[s>>2]|0)+1);c[u>>2]=Mb(c[m>>2]|0)|0;if((c[s>>2]|0)==3?(TE(4664,c[t>>2]|0,3)|0)==0:0)c[n>>2]=c[m>>2];else{c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==5?(TE(4672,c[t>>2]|0,5)|0)==0:0){c[q>>2]=393216;c[o>>2]=4680;c[r>>2]=c[q>>2];c[p>>2]=4672}if((c[s>>2]|0)==4?(TE(4720,c[t>>2]|0,4)|0)==0:0){c[q>>2]=135;c[o>>2]=4728;c[r>>2]=c[q>>2]&c[v>>2];c[p>>2]=4800}if(c[o>>2]|0){c[w>>2]=0;c[x>>2]=0;while(1){if(!(c[(c[o>>2]|0)+(c[x>>2]<<3)>>2]|0))break;c[y>>2]=c[(c[o>>2]|0)+(c[x>>2]<<3)>>2];O=c[u>>2]|0;if((O|0)==(Mb(c[y>>2]|0)|0)?0==(TE(c[m>>2]|0,c[y>>2]|0,c[u>>2]|0)|0):0){j=75;break}c[x>>2]=(c[x>>2]|0)+1}if((j|0)==75){j=0;c[w>>2]=c[(c[o>>2]|0)+(c[x>>2]<<3)+4>>2]}if(!(c[w>>2]|0)){j=78;break}if((c[w>>2]&-129|0)>(c[r>>2]|0)){j=80;break}c[v>>2]=c[v>>2]&~c[q>>2]|c[w>>2]}}c[t>>2]=(c[m>>2]|0)+((c[u>>2]|0)+1)}if((j|0)==78){O=c[m>>2]|0;c[G>>2]=c[p>>2];c[G+4>>2]=O;O=qc(4808,G)|0;c[c[H>>2]>>2]=O;c[I>>2]=1;break}else if((j|0)==80){O=c[m>>2]|0;c[G>>2]=c[p>>2];c[G+4>>2]=O;O=qc(4832,G)|0;c[c[H>>2]>>2]=O;c[I>>2]=3;break}}else j=83;while(0);do if((j|0)==83){c[A>>2]=fc((c[N>>2]|0)+2|0)|0;if(c[A>>2]|0){dF(c[A>>2]|0,c[F>>2]|0,c[N>>2]|0)|0;a[(c[A>>2]|0)+(c[N>>2]|0)>>0]=0;a[(c[A>>2]|0)+((c[N>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;j=86;break}c[C>>2]=7;O=c[C>>2]|0;i=z;return O|0}while(0);if((j|0)==86?(O=Yb(c[n>>2]|0)|0,c[c[J>>2]>>2]=O,(c[c[J>>2]>>2]|0)==0):0){c[G>>2]=c[n>>2];O=qc(4856,G)|0;c[c[H>>2]>>2]=O;c[I>>2]=1}if(c[I>>2]|0){hc(c[A>>2]|0);c[A>>2]=0}c[c[K>>2]>>2]=c[v>>2];c[c[L>>2]>>2]=c[A>>2];c[C>>2]=c[I>>2];O=c[C>>2]|0;i=z;return O|0}function rh(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;m=i;i=i+192|0;r=m+72|0;z=m+68|0;v=m+64|0;y=m+60|0;q=m+56|0;x=m+52|0;A=m+48|0;p=m+44|0;o=m+40|0;n=m+32|0;F=m+176|0;u=m+76|0;H=m+28|0;w=m+24|0;t=m+20|0;B=m+16|0;D=m+12|0;E=m+8|0;G=m+4|0;s=m;c[z>>2]=f;c[v>>2]=g;c[y>>2]=h;c[q>>2]=j;c[x>>2]=k;c[A>>2]=l;c[p>>2]=0;c[m+36>>2]=0;c[n>>2]=0;if(!(c[v>>2]|0))l=1;else l=(a[c[v>>2]>>0]|0)==0;c[H>>2]=l&1;if((c[v>>2]|0)!=0?(UE(c[v>>2]|0,4216)|0)==0:0)l=1;else C=5;do if((C|0)==5){if((c[H>>2]|0)!=0?(xh(c[y>>2]|0)|0)!=0:0){l=1;break}l=(c[A>>2]&128|0)!=0}while(0);c[w>>2]=l&1;if(c[w>>2]|0)c[x>>2]=c[x>>2]|2;if((c[A>>2]&256|0)!=0?(c[w>>2]|0)!=0|(c[H>>2]|0)!=0:0)c[A>>2]=c[A>>2]&-257|512;c[o>>2]=Mc(44,0)|0;if(!(c[o>>2]|0)){c[r>>2]=7;f=c[r>>2]|0;i=m;return f|0}a[(c[o>>2]|0)+8>>0]=0;c[c[o>>2]>>2]=c[y>>2];c[(c[o>>2]|0)+28>>2]=c[o>>2];c[(c[o>>2]|0)+32>>2]=1;do if(!(c[H>>2]|0)){if((c[w>>2]|0)!=0?(c[A>>2]&64|0)==0:0)break;if(c[A>>2]&131072){c[t>>2]=(c[(c[z>>2]|0)+8>>2]|0)+1;f=c[t>>2]|0;c[B>>2]=gc(f,((f|0)<0)<<31>>31)|0;a[(c[o>>2]|0)+9>>0]=1;if(!(c[B>>2]|0)){hc(c[o>>2]|0);c[r>>2]=7;f=c[r>>2]|0;i=m;return f|0}if(!(c[w>>2]|0)){c[n>>2]=yh(c[z>>2]|0,c[v>>2]|0,c[t>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0){hc(c[B>>2]|0);hc(c[o>>2]|0);c[r>>2]=c[n>>2];f=c[r>>2]|0;i=m;return f|0}}else{g=c[B>>2]|0;f=c[v>>2]|0;dF(g|0,f|0,(Mb(c[v>>2]|0)|0)+1|0)|0}c[p>>2]=c[1058];while(1){if(!(c[p>>2]|0))break;f=c[B>>2]|0;if(0==(UE(f,ug(c[c[p>>2]>>2]|0,0)|0)|0)?(f=zh(c[c[p>>2]>>2]|0)|0,(f|0)==(c[z>>2]|0)):0){C=29;break}c[p>>2]=c[(c[p>>2]|0)+68>>2]}do if((C|0)==29){c[D>>2]=(c[(c[y>>2]|0)+20>>2]|0)-1;while(1){if((c[D>>2]|0)<0){C=35;break}c[E>>2]=c[(c[(c[y>>2]|0)+16>>2]|0)+(c[D>>2]<<4)+4>>2];if((c[E>>2]|0)!=0?(c[(c[E>>2]|0)+4>>2]|0)==(c[p>>2]|0):0)break;c[D>>2]=(c[D>>2]|0)+ -1}if((C|0)==35){c[(c[o>>2]|0)+4>>2]=c[p>>2];f=(c[p>>2]|0)+64|0;c[f>>2]=(c[f>>2]|0)+1;break}hc(c[B>>2]|0);hc(c[o>>2]|0);c[r>>2]=19;f=c[r>>2]|0;i=m;return f|0}while(0);hc(c[B>>2]|0)}}while(0);do if(!(c[p>>2]|0)){c[p>>2]=Mc(84,0)|0;if(!(c[p>>2]|0)){c[n>>2]=7;break}c[n>>2]=Ah(c[z>>2]|0,c[p>>2]|0,c[v>>2]|0,76,c[x>>2]|0,c[A>>2]|0,14)|0;if(!(c[n>>2]|0)){f=(c[y>>2]|0)+40|0;Ch(c[c[p>>2]>>2]|0,c[f>>2]|0,c[f+4>>2]|0);c[n>>2]=Dh(c[c[p>>2]>>2]|0,100,u)|0}if(!(c[n>>2]|0)){a[(c[p>>2]|0)+16>>0]=c[x>>2];c[(c[p>>2]|0)+4>>2]=c[y>>2];Eh(c[c[p>>2]>>2]|0,18,c[p>>2]|0);c[(c[o>>2]|0)+4>>2]=c[p>>2];c[(c[p>>2]|0)+8>>2]=0;c[(c[p>>2]|0)+12>>2]=0;if((Gh(c[c[p>>2]>>2]|0)|0)<<24>>24){f=(c[p>>2]|0)+22|0;b[f>>1]=e[f>>1]|1}c[(c[p>>2]|0)+32>>2]=d[u+16>>0]<<8|d[u+17>>0]<<16;if(((c[(c[p>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[p>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[p>>2]|0)+32>>2]|0)-1&c[(c[p>>2]|0)+32>>2]|0)==0:0){a[F>>0]=a[u+20>>0]|0;f=(c[p>>2]|0)+22|0;b[f>>1]=e[f>>1]|2;f=(Hh(u+52|0)|0)!=0;a[(c[p>>2]|0)+17>>0]=f?1:0;f=(Hh(u+64|0)|0)!=0;a[(c[p>>2]|0)+18>>0]=f?1:0}else{c[(c[p>>2]|0)+32>>2]=0;if(!((c[v>>2]|0)==0|(c[w>>2]|0)!=0)){a[(c[p>>2]|0)+17>>0]=0;a[(c[p>>2]|0)+18>>0]=0}a[F>>0]=0}c[n>>2]=Eg(c[c[p>>2]>>2]|0,(c[p>>2]|0)+32|0,d[F>>0]|0)|0;if(!(c[n>>2]|0)){c[(c[p>>2]|0)+36>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(d[F>>0]|0);if(a[(c[o>>2]|0)+9>>0]|0){c[(c[p>>2]|0)+64>>2]=1;c[(c[p>>2]|0)+68>>2]=c[1058];c[1058]=c[p>>2];C=56}else C=56}}}else C=56;while(0);if((C|0)==56){a:do if(a[(c[o>>2]|0)+9>>0]|0){c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break a;f=c[(c[(c[y>>2]|0)+16>>2]|0)+(c[G>>2]<<4)+4>>2]|0;c[s>>2]=f;if((f|0)!=0?(d[(c[s>>2]|0)+9>>0]|0)!=0:0)break;c[G>>2]=(c[G>>2]|0)+1}while(1){if(!(c[(c[s>>2]|0)+24>>2]|0))break;c[s>>2]=c[(c[s>>2]|0)+24>>2]}if((c[(c[o>>2]|0)+4>>2]|0)>>>0<(c[(c[s>>2]|0)+4>>2]|0)>>>0){c[(c[o>>2]|0)+20>>2]=c[s>>2];c[(c[o>>2]|0)+24>>2]=0;c[(c[s>>2]|0)+24>>2]=c[o>>2];break}while(1){if(c[(c[s>>2]|0)+20>>2]|0)u=(c[(c[(c[s>>2]|0)+20>>2]|0)+4>>2]|0)>>>0<(c[(c[o>>2]|0)+4>>2]|0)>>>0;else u=0;t=c[(c[s>>2]|0)+20>>2]|0;if(!u)break;c[s>>2]=t}c[(c[o>>2]|0)+20>>2]=t;c[(c[o>>2]|0)+24>>2]=c[s>>2];if(c[(c[o>>2]|0)+20>>2]|0)c[(c[(c[o>>2]|0)+20>>2]|0)+24>>2]=c[o>>2];c[(c[s>>2]|0)+20>>2]=c[o>>2]}while(0);c[c[q>>2]>>2]=c[o>>2]}if(!(c[n>>2]|0)){if(!(vh(c[o>>2]|0,0,0)|0))Jh(c[c[(c[o>>2]|0)+4>>2]>>2]|0,2e3)}else{if((c[p>>2]|0)!=0?(c[c[p>>2]>>2]|0)!=0:0)Ih(c[c[p>>2]>>2]|0)|0;hc(c[p>>2]|0);hc(c[o>>2]|0);c[c[q>>2]>>2]=0}c[r>>2]=c[n>>2];f=c[r>>2]|0;i=m;return f|0}function sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=b;c[j>>2]=e;if(c[j>>2]|0)c[g>>2]=vh(c[j>>2]|0,84,15)|0;else c[g>>2]=se(0,84,0)|0;if(!(c[g>>2]|0)){a[(c[f>>2]|0)+64>>0]=1;b=c[g>>2]|0;i=h;return b|0}if(d[(c[g>>2]|0)+76>>0]|0){b=c[g>>2]|0;i=h;return b|0}nh((c[g>>2]|0)+8|0);nh((c[g>>2]|0)+24|0);nh((c[g>>2]|0)+40|0);nh((c[g>>2]|0)+56|0);a[(c[g>>2]|0)+77>>0]=1;b=c[g>>2]|0;i=h;return b|0}function th(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;c[f>>2]=Rf(c[e>>2]|0,4208,2)|0;if((c[f>>2]|0)!=7){i=d;return}a[(c[e>>2]|0)+64>>0]=1;i=d;return}function uh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;g=b;d=b+24|0;k=b+20|0;h=b+16|0;e=b+12|0;j=b+8|0;f=b+4|0;c[d>>2]=a;c[h>>2]=1;if(!(c[370]|0)){i=b;return}c[k>>2]=0;while(1){if(!(c[h>>2]|0))break;if((c[k>>2]|0)>=(c[370]|0)){c[j>>2]=0;c[h>>2]=0}else c[j>>2]=c[(c[371]|0)+(c[k>>2]<<2)>>2];c[f>>2]=0;if((c[j>>2]|0)!=0?(a=pb[c[j>>2]&31](c[d>>2]|0,f,3352)|0,c[e>>2]=a,(a|0)!=0):0){l=c[d>>2]|0;a=c[e>>2]|0;c[g>>2]=c[f>>2];Lc(l,a,4168,g);c[h>>2]=0}hc(c[f>>2]|0);c[k>>2]=(c[k>>2]|0)+1}i=b;return}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];Pc(c[j>>2]|0);if(!((c[g>>2]|0)!=0?(c[(c[f>>2]|0)+48>>2]|0)==0:0)){j=c[f>>2]|0;j=j+48|0;j=c[j>>2]|0;i=e;return j|0}j=c[g>>2]|0;j=se(0,j,((j|0)<0)<<31>>31)|0;c[(c[f>>2]|0)+48>>2]=j;c[(c[f>>2]|0)+52>>2]=c[h>>2];j=c[f>>2]|0;j=j+48|0;j=c[j>>2]|0;i=e;return j|0}function wh(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+64|0;l=d+48|0;f=d+32|0;k=d+16|0;h=d+8|0;g=d+4|0;j=d;c[l>>2]=a;c[g>>2]=c[l>>2];a=(c[g>>2]|0)+8|0;c[f+0>>2]=c[a+0>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];a=(c[g>>2]|0)+40|0;c[k+0>>2]=c[a+0>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];nh((c[g>>2]|0)+40|0);mh((c[g>>2]|0)+24|0);c[h>>2]=c[k+8>>2];while(1){if(!(c[h>>2]|0))break;Ub(0,c[(c[h>>2]|0)+8>>2]|0);c[h>>2]=c[c[h>>2]>>2]}mh(k);nh((c[g>>2]|0)+8|0);c[h>>2]=c[f+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];Vb(0,c[j>>2]|0);c[h>>2]=c[c[h>>2]>>2]}mh(f);mh((c[g>>2]|0)+56|0);c[(c[g>>2]|0)+72>>2]=0;if(!((e[(c[g>>2]|0)+78>>1]|0)&1)){i=d;return}l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[g>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=d;return}function xh(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return(d[(c[b>>2]|0)+63>>0]|0|0)==2|0}function yh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;b=xb[c[(c[l>>2]|0)+36>>2]&7](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function zh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Ah(d,e,f,g,h,j,k){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,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;v=i;i=i+112|0;A=v+96|0;p=v+92|0;E=v+88|0;s=v+84|0;y=v+80|0;L=v+76|0;r=v+72|0;D=v+68|0;H=v+64|0;q=v+60|0;o=v+56|0;C=v+52|0;z=v+48|0;l=v+44|0;F=v+40|0;n=v+36|0;t=v+32|0;B=v+28|0;I=v+24|0;x=v+20|0;J=v+16|0;K=v+12|0;G=v+8|0;u=v+4|0;w=v;c[p>>2]=d;c[E>>2]=e;c[s>>2]=f;c[y>>2]=g;c[L>>2]=h;c[r>>2]=j;c[D>>2]=k;c[q>>2]=0;c[o>>2]=0;c[C>>2]=0;c[z>>2]=0;c[l>>2]=0;c[n>>2]=0;c[t>>2]=0;c[B>>2]=(c[L>>2]&1|0)==0&1;c[I>>2]=Uj()|0;c[x>>2]=1024;c[J>>2]=0;c[K>>2]=0;d=c[(c[p>>2]|0)+4>>2]|0;if((d|0)>(ri()|0))c[F>>2]=(c[(c[p>>2]|0)+4>>2]|0)+7&-8;else c[F>>2]=(ri()|0)+7&-8;c[c[E>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[z>>2]=1,(c[s>>2]|0)!=0):0)?(a[c[s>>2]>>0]|0)!=0:0){c[n>>2]=ne(0,c[s>>2]|0)|0;if(c[n>>2]|0){c[t>>2]=Mb(c[n>>2]|0)|0;c[s>>2]=0;break}c[A>>2]=7;d=c[A>>2]|0;i=v;return d|0}while(0);if((c[s>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0){c[t>>2]=(c[(c[p>>2]|0)+8>>2]|0)+1;d=c[t>>2]<<1;c[n>>2]=Qe(0,d,((d|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[A>>2]=7;d=c[A>>2]|0;i=v;return d|0}a[c[n>>2]>>0]=0;c[o>>2]=yh(c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;c[t>>2]=Mb(c[n>>2]|0)|0;d=(Mb(c[s>>2]|0)|0)+1|0;d=(c[s>>2]|0)+d|0;c[J>>2]=d;c[G>>2]=d;while(1){e=c[G>>2]|0;if(!(a[c[G>>2]>>0]|0))break;d=(Mb(e)|0)+1|0;c[G>>2]=(c[G>>2]|0)+d;d=(Mb(c[G>>2]|0)|0)+1|0;c[G>>2]=(c[G>>2]|0)+d}c[K>>2]=e+1-(c[J>>2]|0);if((c[o>>2]|0)==0?((c[t>>2]|0)+8|0)>(c[(c[p>>2]|0)+8>>2]|0):0)c[o>>2]=Ij(45462)|0;if(c[o>>2]|0){Xb(0,c[n>>2]|0);c[A>>2]=c[o>>2];d=c[A>>2]|0;i=v;return d|0}}c[H>>2]=Mc(216+((c[I>>2]|0)+7&-8)+((c[(c[p>>2]|0)+4>>2]|0)+7&-8)+(c[F>>2]<<1)+(c[t>>2]|0)+1+(c[K>>2]|0)+(c[t>>2]|0)+10+(c[t>>2]|0)+6|0,0)|0;if(!(c[H>>2]|0)){Xb(0,c[n>>2]|0);c[A>>2]=7;d=c[A>>2]|0;i=v;return d|0}c[q>>2]=c[H>>2];d=(c[H>>2]|0)+216|0;c[H>>2]=d;c[(c[q>>2]|0)+204>>2]=d;d=(c[H>>2]|0)+((c[I>>2]|0)+7&-8)|0;c[H>>2]=d;c[(c[q>>2]|0)+60>>2]=d;d=(c[H>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)+7&-8)|0;c[H>>2]=d;c[(c[q>>2]|0)+68>>2]=d;d=(c[H>>2]|0)+(c[F>>2]|0)|0;c[H>>2]=d;c[(c[q>>2]|0)+64>>2]=d;d=(c[H>>2]|0)+(c[F>>2]|0)|0;c[H>>2]=d;c[(c[q>>2]|0)+168>>2]=d;if(c[n>>2]|0){d=(c[H>>2]|0)+((c[t>>2]|0)+1+(c[K>>2]|0))|0;c[H>>2]=d;c[(c[q>>2]|0)+172>>2]=d;dF(c[(c[q>>2]|0)+168>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;if(c[K>>2]|0)dF((c[(c[q>>2]|0)+168>>2]|0)+((c[t>>2]|0)+1)|0,c[J>>2]|0,c[K>>2]|0)|0;dF(c[(c[q>>2]|0)+172>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;H=(c[(c[q>>2]|0)+172>>2]|0)+(c[t>>2]|0)+0|0;G=4552;F=H+10|0;do{a[H>>0]=a[G>>0]|0;H=H+1|0;G=G+1|0}while((H|0)<(F|0));c[(c[q>>2]|0)+212>>2]=(c[(c[q>>2]|0)+172>>2]|0)+((c[t>>2]|0)+9);dF(c[(c[q>>2]|0)+212>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;d=(c[(c[q>>2]|0)+212>>2]|0)+(c[t>>2]|0)|0;a[d+0>>0]=a[4568]|0;a[d+1>>0]=a[4569]|0;a[d+2>>0]=a[4570]|0;a[d+3>>0]=a[4571]|0;a[d+4>>0]=a[4572]|0;Xb(0,c[n>>2]|0)}c[c[q>>2]>>2]=c[p>>2];c[(c[q>>2]|0)+144>>2]=c[r>>2];do if((c[s>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0){c[u>>2]=0;c[o>>2]=Di(c[p>>2]|0,c[(c[q>>2]|0)+168>>2]|0,c[(c[q>>2]|0)+60>>2]|0,c[r>>2]|0,u)|0;c[l>>2]=c[u>>2]&1;if(!(c[o>>2]|0)){c[w>>2]=Ai(c[(c[q>>2]|0)+60>>2]|0)|0;do if((c[l>>2]|0)==0?(zi(c[q>>2]|0),(c[x>>2]|0)>>>0<(c[(c[q>>2]|0)+148>>2]|0)>>>0):0)if((c[(c[q>>2]|0)+148>>2]|0)>>>0>8192){c[x>>2]=8192;break}else{c[x>>2]=c[(c[q>>2]|0)+148>>2];break}while(0);d=(pg(c[s>>2]|0,4576,0)|0)&255;a[(c[q>>2]|0)+13>>0]=d;if((c[w>>2]&8192|0)==0?(pg(c[s>>2]|0,4584,0)|0)==0:0)break;c[r>>2]=c[r>>2]|1;m=39}}else m=39;while(0);if((m|0)==39){c[C>>2]=1;a[(c[q>>2]|0)+16>>0]=1;a[(c[q>>2]|0)+17>>0]=4;a[(c[q>>2]|0)+13>>0]=1;c[l>>2]=c[r>>2]&1}if(!(c[o>>2]|0))c[o>>2]=Eg(c[q>>2]|0,x,-1)|0;if(!(c[o>>2]|0)){c[y>>2]=(c[y>>2]|0)+7&-8;c[o>>2]=Vj(c[x>>2]|0,c[y>>2]|0,((c[z>>2]|0)!=0^1)&1,(c[z>>2]|0)!=0^1?35:0,c[q>>2]|0,c[(c[q>>2]|0)+204>>2]|0)|0}if(c[o>>2]|0){Rh(c[(c[q>>2]|0)+60>>2]|0)|0;Kg(c[(c[q>>2]|0)+200>>2]|0);hc(c[q>>2]|0);c[A>>2]=c[o>>2];d=c[A>>2]|0;i=v;return d|0}a[(c[q>>2]|0)+6>>0]=c[B>>2];c[(c[q>>2]|0)+156>>2]=1073741823;a[(c[q>>2]|0)+12>>0]=c[C>>2];a[(c[q>>2]|0)+4>>0]=c[C>>2];a[(c[q>>2]|0)+18>>0]=a[(c[q>>2]|0)+12>>0]|0;a[(c[q>>2]|0)+15>>0]=c[z>>2];a[(c[q>>2]|0)+14>>0]=c[l>>2];a[(c[q>>2]|0)+7>>0]=a[(c[q>>2]|0)+12>>0]|0;if(!(a[(c[q>>2]|0)+7>>0]|0)){a[(c[q>>2]|0)+8>>0]=1;a[(c[q>>2]|0)+11>>0]=2;a[(c[q>>2]|0)+10>>0]=34;a[(c[q>>2]|0)+9>>0]=2}b[(c[q>>2]|0)+140>>1]=c[y>>2];d=(c[q>>2]|0)+160|0;c[d>>2]=-1;c[d+4>>2]=-1;zi(c[q>>2]|0);if(c[B>>2]|0){if(c[z>>2]|0)a[(c[q>>2]|0)+5>>0]=4}else a[(c[q>>2]|0)+5>>0]=2;c[(c[q>>2]|0)+196>>2]=c[D>>2];c[c[E>>2]>>2]=c[q>>2];c[A>>2]=0;d=c[A>>2]|0;i=v;return d|0}function Bh(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=Qj(c[f>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=d;return}a[c[e>>2]>>0]=0;if((Rj(c[f>>2]|0)|0)<=1){i=d;return}Sj(c[e>>2]|0)|0;i=d;return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d+4>>2]|0;a=(c[f>>2]|0)+128|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;Lg(c[f>>2]|0);i=e;return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[f>>2]=0;_E(c[h>>2]|0,0,c[j>>2]|0)|0;if(!(c[c[(c[g>>2]|0)+60>>2]>>2]|0)){a=c[f>>2]|0;i=e;return a|0}a=Ei(c[(c[g>>2]|0)+60>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)==522?0:a;a=c[f>>2]|0;i=e;return a|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+176>>2]=c[j>>2];c[(c[f>>2]|0)+180>>2]=c[h>>2];if(!(c[c[(c[f>>2]|0)+60>>2]>>2]|0)){i=e;return}c[g>>2]=(c[f>>2]|0)+176;rj(c[(c[f>>2]|0)+60>>2]|0,15,c[g>>2]|0);i=e;return}function Fh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=Pj((c[(c[d>>2]|0)+4>>2]|0)+444|0)|0;i=b;return a|0}function Gh(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+14>>0]|0}function Hh(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return(d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function Ih(b){b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+200>>2];kh();Lh(c[f>>2]|0);a[(c[f>>2]|0)+4>>0]=0;Mh(c[(c[f>>2]|0)+208>>2]|0,d[(c[f>>2]|0)+9>>0]|0,c[(c[f>>2]|0)+152>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+208>>2]=0;Ig(c[f>>2]|0);b=c[f>>2]|0;if(a[(c[f>>2]|0)+15>>0]|0)Nh(b);else{if(c[c[b+64>>2]>>2]|0){b=c[f>>2]|0;Oh(b,Ph(c[f>>2]|0)|0)|0}Qh(c[f>>2]|0)}lh();Rh(c[(c[f>>2]|0)+64>>2]|0)|0;Rh(c[(c[f>>2]|0)+60>>2]|0)|0;Kg(c[g>>2]|0);Sh(c[(c[f>>2]|0)+204>>2]|0);hc(c[f>>2]|0);i=e;return 0}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Kh(c[(c[f>>2]|0)+204>>2]|0,c[e>>2]|0);i=d;return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[9691]|0;b=c[(c[f>>2]|0)+40>>2]|0;a=Ng(c[f>>2]|0)|0;sb[e&7](b,a);i=d;return}function Lh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+136>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];hc(c[d>>2]|0);c[d>>2]=c[e>>2]}i=b;return}function Mh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;l=n+24|0;h=n+20|0;o=n+16|0;p=n+12|0;j=n+8|0;m=n+4|0;k=n;c[l>>2]=b;c[h>>2]=e;c[o>>2]=f;c[p>>2]=g;c[j>>2]=0;if(!(c[l>>2]|0)){b=c[j>>2]|0;i=n;return b|0}c[m>>2]=0;c[j>>2]=pj(c[(c[l>>2]|0)+4>>2]|0,4)|0;do if(!(c[j>>2]|0)){if(!(d[(c[l>>2]|0)+43>>0]|0))a[(c[l>>2]|0)+43>>0]=1;c[j>>2]=qj(c[l>>2]|0,0,0,0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0,0,0)|0;if(!(c[j>>2]|0)){c[k>>2]=-1;rj(c[(c[l>>2]|0)+4>>2]|0,10,k);if((c[k>>2]|0)!=1){c[m>>2]=1;break}b=(c[l>>2]|0)+16|0;e=c[b+4>>2]|0;if((e|0)>0|(e|0)==0&(c[b>>2]|0)>>>0>=0)sj(c[l>>2]|0,0,0)}}while(0);tj(c[l>>2]|0,c[m>>2]|0);Rh(c[(c[l>>2]|0)+8>>2]|0)|0;if(c[m>>2]|0){kh();_h(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+100>>2]|0,0)|0;lh()}hc(c[(c[l>>2]|0)+32>>2]|0);hc(c[l>>2]|0);b=c[j>>2]|0;i=n;return b|0}function Nh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;e=f+8|0;g=f+4|0;h=f;c[e>>2]=b;_g(c[(c[e>>2]|0)+56>>2]|0);c[(c[e>>2]|0)+56>>2]=0;Vh(c[e>>2]|0);j=(ai(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[e>>2]|0)+60>>2]>>2]|0)b=Ai(c[(c[e>>2]|0)+60>>2]|0)|0;else b=0;c[h>>2]=b;if(!(0!=(c[h>>2]&2048|0)?1==(d[(c[e>>2]|0)+5>>0]&5|0):0))Rh(c[(c[e>>2]|0)+64>>2]|0)|0;c[g>>2]=ei(c[e>>2]|0,0)|0;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0)==6:0)a[(c[e>>2]|0)+17>>0]=5;a[(c[e>>2]|0)+18>>0]=0;a[(c[e>>2]|0)+16>>0]=0}}else{oj(c[b+208>>2]|0);a[(c[e>>2]|0)+16>>0]=0}if(!(c[(c[e>>2]|0)+40>>2]|0)){j=c[e>>2]|0;j=j+72|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+80|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+19|0;a[j>>0]=0;i=f;return}Ig(c[e>>2]|0);a[(c[e>>2]|0)+18>>0]=a[(c[e>>2]|0)+12>>0]|0;a[(c[e>>2]|0)+16>>0]=0;c[(c[e>>2]|0)+40>>2]=0;j=c[e>>2]|0;j=j+72|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+80|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+19|0;a[j>>0]=0;i=f;return}function Oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=e;return h|0}c[(c[g>>2]|0)+40>>2]=c[f>>2];a[(c[g>>2]|0)+16>>0]=6;h=c[f>>2]|0;i=e;return h|0}function Ph(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=0;if(!(a[(c[f>>2]|0)+7>>0]|0))c[d>>2]=Yh(c[(c[f>>2]|0)+64>>2]|0,2)|0;if(c[d>>2]|0){f=c[d>>2]|0;i=e;return f|0}c[d>>2]=Gg(c[(c[f>>2]|0)+64>>2]|0,(c[f>>2]|0)+80|0)|0;f=c[d>>2]|0;i=e;return f|0}function Qh(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;do if((d[(c[f>>2]|0)+16>>0]|0)!=6?(d[(c[f>>2]|0)+16>>0]|0)!=0:0){if((d[(c[f>>2]|0)+16>>0]|0)>=2){kh();Th(c[f>>2]|0)|0;lh();break}if(!(a[(c[f>>2]|0)+4>>0]|0))Uh(c[f>>2]|0,0,0)|0}while(0);Nh(c[f>>2]|0);i=e;return}function Rh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=0;if(!(c[c[e>>2]>>2]|0)){e=c[d>>2]|0;i=b;return e|0}c[d>>2]=ub[c[(c[c[e>>2]>>2]|0)+4>>2]&31](c[e>>2]|0)|0;c[c[e>>2]>>2]=0;e=c[d>>2]|0;i=b;return e|0}function Sh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;rb[c[38640+148>>2]&31](c[(c[d>>2]|0)+40>>2]|0);i=b;return}function Th(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=b;c[h>>2]=0;b=c[g>>2]|0;if((d[(c[g>>2]|0)+16>>0]|0)==6){c[f>>2]=c[b+40>>2];b=c[f>>2]|0;i=e;return b|0}if((d[b+16>>0]|0)<=1){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}l=(ai(c[g>>2]|0)|0)!=0;b=c[g>>2]|0;do if(l){c[h>>2]=si(b,2,-1)|0;c[j>>2]=Uh(c[g>>2]|0,d[(c[g>>2]|0)+19>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+64>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+16>>0]|0)!=2:0){c[h>>2]=ti(c[g>>2]|0,0)|0;break}c[k>>2]=d[(c[g>>2]|0)+16>>0];c[h>>2]=Uh(c[g>>2]|0,0,0)|0;if((c[k>>2]|0)>2?(a[(c[g>>2]|0)+15>>0]|0)==0:0){c[(c[g>>2]|0)+40>>2]=4;a[(c[g>>2]|0)+16>>0]=6;c[f>>2]=c[h>>2];l=c[f>>2]|0;i=e;return l|0}}while(0);c[f>>2]=Oh(c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=e;return l|0}function Uh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;h=m+24|0;l=m+20|0;n=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;o=m;c[l>>2]=b;c[n>>2]=e;c[k>>2]=f;c[j>>2]=0;c[g>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0)<2?(d[(c[l>>2]|0)+17>>0]|0)<2:0){c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}Vh(c[l>>2]|0);a:do if(c[c[(c[l>>2]|0)+64>>2]>>2]|0){b=(Wh(c[(c[l>>2]|0)+64>>2]|0)|0)!=0;f=c[l>>2]|0;if(b){Rh(c[f+64>>2]|0)|0;break}e=c[l>>2]|0;if((d[f+5>>0]|0)==3){b=e+72|0;if(!((c[b>>2]|0)==0&(c[b+4>>2]|0)==0)){c[j>>2]=Xh(c[(c[l>>2]|0)+64>>2]|0,0,0)|0;if((c[j>>2]|0)==0?(d[(c[l>>2]|0)+8>>0]|0)!=0:0)c[j>>2]=Yh(c[(c[l>>2]|0)+64>>2]|0,d[(c[l>>2]|0)+11>>0]|0)|0}else c[j>>2]=0;b=(c[l>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0;break}else{do if((d[e+5>>0]|0)!=1){if((d[(c[l>>2]|0)+4>>0]|0)!=0?(d[(c[l>>2]|0)+5>>0]|0)!=5:0)break;c[o>>2]=((a[(c[l>>2]|0)+12>>0]|0)!=0?0:1)&1;Rh(c[(c[l>>2]|0)+64>>2]|0)|0;if(!(c[o>>2]|0))break a;c[j>>2]=_h(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+172>>2]|0,0)|0;break a}while(0);c[j>>2]=Zh(c[l>>2]|0,c[n>>2]|0)|0;b=(c[l>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0;break}}while(0);_g(c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+44>>2]=0;$h(c[(c[l>>2]|0)+204>>2]|0);Qg(c[(c[l>>2]|0)+204>>2]|0,c[(c[l>>2]|0)+24>>2]|0);if(!(ai(c[l>>2]|0)|0)){if((c[j>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[l>>2]|0)+32>>2]|0)>>>0>(c[(c[l>>2]|0)+24>>2]|0)>>>0:0)c[j>>2]=ci(c[l>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0}else c[g>>2]=bi(c[(c[l>>2]|0)+208>>2]|0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)!=0?(c[c[(c[l>>2]|0)+60>>2]>>2]|0)!=0:0){b=ig(c[(c[l>>2]|0)+60>>2]|0,22,0)|0;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)==12?0:b}do if(!(a[(c[l>>2]|0)+4>>0]|0)){if((ai(c[l>>2]|0)|0)!=0?(di(c[(c[l>>2]|0)+208>>2]|0,0)|0)==0:0)break;c[g>>2]=ei(c[l>>2]|0,1)|0;a[(c[l>>2]|0)+18>>0]=0}while(0);a[(c[l>>2]|0)+16>>0]=1;a[(c[l>>2]|0)+19>>0]=0;c[h>>2]=(c[j>>2]|0)==0?c[g>>2]|0:c[j>>2]|0;b=c[h>>2]|0;i=m;return b|0}function Vh(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+96>>2]|0))break;_g(c[(c[(c[d>>2]|0)+92>>2]|0)+((c[f>>2]|0)*48|0)+16>>2]|0);c[f>>2]=(c[f>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(Wh(c[(c[d>>2]|0)+68>>2]|0)|0)==0:0))Rh(c[(c[d>>2]|0)+68>>2]|0)|0;hc(c[(c[d>>2]|0)+92>>2]|0);c[(c[d>>2]|0)+92>>2]=0;c[(c[d>>2]|0)+96>>2]=0;c[(c[d>>2]|0)+52>>2]=0;i=e;return}function Wh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[c[b>>2]>>2]|0)==4272|0}function Xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=pb[c[(c[c[f>>2]>>2]|0)+16>>2]&31](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function Yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+20>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Zh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;h=f+24|0;l=f+20|0;g=f+16|0;k=f+8|0;j=f;c[h>>2]=b;c[l>>2]=e;c[g>>2]=0;b=(c[h>>2]|0)+72|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){b=c[g>>2]|0;i=f;return b|0}m=(c[h>>2]|0)+160|0;e=c[m+4>>2]|0;b=k;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=k;e=c[(c[h>>2]|0)+64>>2]|0;if((c[l>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[g>>2]=Xh(e,0,0)|0;else c[g>>2]=id(e,4240,28,0,0)|0;if((c[g>>2]|0)==0?(a[(c[h>>2]|0)+7>>0]|0)==0:0)c[g>>2]=Yh(c[(c[h>>2]|0)+64>>2]|0,16|d[(c[h>>2]|0)+11>>0])|0;m=k;b=c[m+4>>2]|0;if(!((c[g>>2]|0)==0&((b|0)>0|(b|0)==0&(c[m>>2]|0)>>>0>0))){m=c[g>>2]|0;i=f;return m|0}c[g>>2]=Gg(c[(c[h>>2]|0)+64>>2]|0,j)|0;if(c[g>>2]|0){m=c[g>>2]|0;i=f;return m|0}b=j;l=c[b+4>>2]|0;m=k;e=c[m+4>>2]|0;if(!((l|0)>(e|0)|((l|0)==(e|0)?(c[b>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[g>>2]|0;i=f;return m|0}m=k;c[g>>2]=Xh(c[(c[h>>2]|0)+64>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[g>>2]|0;i=f;return m|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=pb[c[(c[h>>2]|0)+28>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function $h(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){a=c[c[d>>2]>>2]|0;c[e>>2]=a;if(!a)break;Rg(c[e>>2]|0)}i=b;return}function ai(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[(c[b>>2]|0)+208>>2]|0)!=0|0}function bi(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(!(a[(c[e>>2]|0)+44>>0]|0)){i=d;return 0}ji(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;a[(c[e>>2]|0)+47>>0]=0;i=d;return 0}function ci(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;g=e+32|0;m=e+28|0;f=e+24|0;l=e+8|0;k=e;j=e+20|0;h=e+16|0;c[g>>2]=a;c[m>>2]=b;c[f>>2]=0;if(!(c[c[(c[g>>2]|0)+60>>2]>>2]|0)){a=c[f>>2]|0;i=e;return a|0}if((d[(c[g>>2]|0)+16>>0]|0|0)<4?(d[(c[g>>2]|0)+16>>0]|0|0)!=0:0){a=c[f>>2]|0;i=e;return a|0}c[j>>2]=c[(c[g>>2]|0)+152>>2];c[f>>2]=Gg(c[(c[g>>2]|0)+60>>2]|0,l)|0;b=c[j>>2]|0;b=lF(b|0,((b|0)<0)<<31>>31|0,c[m>>2]|0,0)|0;a=k;c[a>>2]=b;c[a+4>>2]=D;if(c[f>>2]|0){a=c[f>>2]|0;i=e;return a|0}b=l;a=k;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){a=c[f>>2]|0;i=e;return a|0}b=l;o=c[b+4>>2]|0;a=k;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){n=c[j>>2]|0;n=bF(c[l>>2]|0,c[l+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;l=D;o=k;a=c[o+4>>2]|0;if((l|0)<(a|0)|((l|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[h>>2]=c[(c[g>>2]|0)+200>>2];_E(c[h>>2]|0,0,c[j>>2]|0)|0;l=c[(c[g>>2]|0)+60>>2]|0;a=c[h>>2]|0;n=c[j>>2]|0;o=c[j>>2]|0;o=ZE(c[k>>2]|0,c[k+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[f>>2]=id(l,a,n,o,D)|0}}else{o=k;c[f>>2]=Xh(c[(c[g>>2]|0)+60>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[f>>2]|0){o=c[f>>2]|0;i=e;return o|0}c[(c[g>>2]|0)+32>>2]=c[m>>2];o=c[f>>2]|0;i=e;return o|0}function di(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=e;c[k>>2]=f;if(c[k>>2]|0){f=c[j>>2]|0;if((c[k>>2]|0)>0){hi(f,3+(b[(c[j>>2]|0)+40>>1]|0)|0);a[(c[j>>2]|0)+43>>0]=1;c[h>>2]=1;e=c[h>>2]|0;i=g;return e|0}else{c[h>>2]=(d[f+43>>0]|0)==0&1;e=c[h>>2]|0;i=g;return e|0}}if(!(a[(c[j>>2]|0)+43>>0]|0)){c[h>>2]=0;e=c[h>>2]|0;i=g;return e|0}a[(c[j>>2]|0)+43>>0]=0;if(gi(c[j>>2]|0,3+(b[(c[j>>2]|0)+40>>1]|0)|0)|0)a[(c[j>>2]|0)+43>>0]=1;c[h>>2]=(d[(c[j>>2]|0)+43>>0]|0)==0&1;e=c[h>>2]|0;i=g;return e|0}function ei(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;j=f+4|0;g=f;c[h>>2]=b;c[j>>2]=e;c[g>>2]=0;if(!(c[c[(c[h>>2]|0)+60>>2]>>2]|0)){b=c[g>>2]|0;i=f;return b|0}if(d[(c[h>>2]|0)+13>>0]|0)e=0;else e=fi(c[(c[h>>2]|0)+60>>2]|0,c[j>>2]|0)|0;c[g>>2]=e;if((d[(c[h>>2]|0)+17>>0]|0|0)==5){b=c[g>>2]|0;i=f;return b|0}a[(c[h>>2]|0)+17>>0]=c[j>>2];b=c[g>>2]|0;i=f;return b|0}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+32>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[j>>2]=b;c[h>>2]=d;if(a[(c[j>>2]|0)+43>>0]|0){c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}else{c[g>>2]=ii(c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,1,6)|0;c[f>>2]=c[g>>2];b=c[f>>2]|0;i=e;return b|0}return 0}function hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){i=e;return}ii(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,5)|0;i=e;return}function ii(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=xb[c[(c[c[k>>2]>>2]|0)+56>>2]&7](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){i=f;return}ii(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,9)|0;i=f;return}function ki(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ni(c[d>>2]|0,0,0)|0;i=b;return 0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;k=i;i=i+64|0;t=k+52|0;s=k+48|0;g=k+44|0;l=k+8|0;h=k+40|0;o=k+36|0;m=k+32|0;p=k+28|0;j=k+24|0;r=k;q=k+20|0;n=k+16|0;c[t>>2]=a;c[s>>2]=b;c[g>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;c[h>>2]=c[t>>2];c[o>>2]=c[s>>2];c[m>>2]=c[g>>2];d=(c[h>>2]|0)+24|0;b=l;a=l;a:do if(((c[d>>2]|0)!=(c[b>>2]|0)?1:(c[d+4>>2]|0)!=(c[b+4>>2]|0))|(c[a>>2]|0)==0&(c[a+4>>2]|0)==0){t=r;c[t>>2]=0;c[t+4>>2]=0;c[j>>2]=c[(c[h>>2]|0)+4>>2];while(1){if(!(c[j>>2]|0))break a;s=r;s=bF(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;b=D;t=l;a=c[t+4>>2]|0;if(!((b|0)<(a|0)|((b|0)==(a|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=r;s=bF(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;t=r;c[t>>2]=s;c[t+4>>2]=D;c[j>>2]=c[c[j>>2]>>2]}}else c[j>>2]=c[(c[h>>2]|0)+32>>2];while(0);t=l;t=kF(c[t>>2]|0,c[t+4>>2]|0,1020,0)|0;c[p>>2]=t;while(1){c[q>>2]=1020-(c[p>>2]|0);if((c[m>>2]|0)<(1020-(c[p>>2]|0)|0))f=c[m>>2]|0;else f=1020-(c[p>>2]|0)|0;c[n>>2]=f;dF(c[o>>2]|0,(c[j>>2]|0)+4+(c[p>>2]|0)|0,c[n>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[q>>2]|0);c[p>>2]=0;if((c[m>>2]|0)<0){m=13;break}t=c[c[j>>2]>>2]|0;c[j>>2]=t;if(!((t|0)!=0&(c[m>>2]|0)>0)){m=13;break}}if((m|0)==13){t=l;s=c[g>>2]|0;s=bF(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(c[h>>2]|0)+24|0;c[t>>2]=s;c[t+4>>2]=D;c[(c[h>>2]|0)+32>>2]=c[j>>2];i=k;return 0}return 0}function mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;g=i;i=i+64|0;h=g+48|0;s=g+44|0;q=g+40|0;r=g+36|0;o=g+32|0;n=g+28|0;p=g+24|0;j=g+20|0;m=g+16|0;l=g+12|0;k=g+8|0;c[s>>2]=a;c[q>>2]=b;c[r>>2]=d;a=g;c[a>>2]=e;c[a+4>>2]=f;c[o>>2]=c[s>>2];c[n>>2]=c[r>>2];c[p>>2]=c[q>>2];while(1){if((c[n>>2]|0)<=0){j=14;break}c[j>>2]=c[(c[o>>2]|0)+16>>2];s=(c[o>>2]|0)+8|0;s=kF(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;c[m>>2]=s;if((c[n>>2]|0)<(1020-(c[m>>2]|0)|0))f=c[n>>2]|0;else f=1020-(c[m>>2]|0)|0;c[l>>2]=f;if(!(c[m>>2]|0)){c[k>>2]=fc(1024)|0;if(!(c[k>>2]|0)){j=8;break}c[c[k>>2]>>2]=0;f=c[k>>2]|0;if(c[j>>2]|0)c[c[j>>2]>>2]=f;else c[(c[o>>2]|0)+4>>2]=f;c[(c[o>>2]|0)+16>>2]=c[k>>2]}dF((c[(c[o>>2]|0)+16>>2]|0)+4+(c[m>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[l>>2]|0);r=c[l>>2]|0;s=(c[o>>2]|0)+8|0;q=s;r=bF(c[q>>2]|0,c[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[s>>2]=r;c[s+4>>2]=D}if((j|0)==8){c[h>>2]=3082;s=c[h>>2]|0;i=g;return s|0}else if((j|0)==14){c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}return 0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;e=f+20|0;j=f+16|0;g=f+12|0;h=f+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=c[e>>2];c[g>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[g>>2];c[g>>2]=c[c[g>>2]>>2];hc(c[h>>2]|0)}qi(c[e>>2]|0);i=f;return 0}function oi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+8|0;b=c[e+4>>2]|0;a=c[f>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=d;return 0}function qi(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=c[d>>2]|0;_E(a|0,0,ri()|0)|0;c[c[d>>2]>>2]=4272;i=b;return}function ri(){return 40}function si(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,l=0,m=0;h=i;i=i+32|0;g=h+24|0;j=h+20|0;m=h+16|0;e=h+12|0;l=h+8|0;k=h+4|0;f=h;c[g>>2]=a;c[j>>2]=b;c[m>>2]=d;c[e>>2]=c[(c[g>>2]|0)+40>>2];if(c[e>>2]|0){a=c[e>>2]|0;i=h;return a|0}if((c[m>>2]|0)>=(c[(c[g>>2]|0)+96>>2]|0)){a=c[e>>2]|0;i=h;return a|0}c[k>>2]=(c[m>>2]|0)+((c[j>>2]|0)==1?0:1);c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=(c[(c[g>>2]|0)+96>>2]|0))break;_g(c[(c[(c[g>>2]|0)+92>>2]|0)+((c[l>>2]|0)*48|0)+16>>2]|0);c[l>>2]=(c[l>>2]|0)+1}c[(c[g>>2]|0)+96>>2]=c[k>>2];if((c[j>>2]|0)!=1){if((ai(c[g>>2]|0)|0)==0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)==0:0){a=c[e>>2]|0;i=h;return a|0}if(!(c[k>>2]|0))j=0;else j=(c[(c[g>>2]|0)+92>>2]|0)+(((c[k>>2]|0)-1|0)*48|0)|0;c[f>>2]=j;c[e>>2]=Pi(c[g>>2]|0,c[f>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}if(c[k>>2]|0){a=c[e>>2]|0;i=h;return a|0}if(!(c[c[(c[g>>2]|0)+68>>2]>>2]|0)){a=c[e>>2]|0;i=h;return a|0}if(Wh(c[(c[g>>2]|0)+68>>2]|0)|0)c[e>>2]=Xh(c[(c[g>>2]|0)+68>>2]|0,0,0)|0;c[(c[g>>2]|0)+52>>2]=0;a=c[e>>2]|0;i=h;return a|0}function ti(b,e){b=b|0;e=e|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;l=i;i=i+64|0;n=l+8|0;g=l+56|0;m=l+52|0;t=l+48|0;q=l;r=l+44|0;p=l+40|0;o=l+36|0;j=l+32|0;k=l+28|0;h=l+24|0;s=l+20|0;f=l+16|0;c[g>>2]=b;c[m>>2]=e;c[t>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[k>>2]=1;c[h>>2]=0;c[f>>2]=0;c[j>>2]=Gg(c[(c[g>>2]|0)+64>>2]|0,q)|0;a:do if(!(c[j>>2]|0)){c[h>>2]=c[(c[g>>2]|0)+200>>2];c[j>>2]=ui(c[(c[g>>2]|0)+64>>2]|0,c[h>>2]|0,(c[(c[c[g>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[j>>2]|0)==0?(a[c[h>>2]>>0]|0)!=0:0)c[j>>2]=vi(c[t>>2]|0,c[h>>2]|0,0,k)|0;c[h>>2]=0;if((c[j>>2]|0)==0&(c[k>>2]|0)!=0){b=(c[g>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0;c[s>>2]=c[m>>2];b:while(1){b=q;c[j>>2]=wi(c[g>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0,r,o)|0;if(c[j>>2]|0){o=8;break}if((c[r>>2]|0)==-1){t=q;t=ZE(c[t>>2]|0,c[t+4>>2]|0,c[(c[g>>2]|0)+148>>2]|0,0)|0;b=(c[(c[g>>2]|0)+152>>2]|0)+8|0;b=jF(t|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;c[r>>2]=b}if(!((c[r>>2]|0)!=0|(c[m>>2]|0)!=0)?(t=(c[g>>2]|0)+80|0,t=bF(c[t>>2]|0,c[t+4>>2]|0,c[(c[g>>2]|0)+148>>2]|0,0)|0,b=(c[g>>2]|0)+72|0,(t|0)==(c[b>>2]|0)?(D|0)==(c[b+4>>2]|0):0):0){b=q;t=(c[g>>2]|0)+72|0;t=ZE(c[b>>2]|0,c[b+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;b=(c[(c[g>>2]|0)+152>>2]|0)+8|0;b=jF(t|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;c[r>>2]=b}b=(c[g>>2]|0)+72|0;if((c[b+4>>2]|0)==0?(c[b>>2]|0)==(c[(c[g>>2]|0)+148>>2]|0):0){c[j>>2]=ci(c[g>>2]|0,c[o>>2]|0)|0;if(c[j>>2]|0)break a;c[(c[g>>2]|0)+24>>2]=c[o>>2]}c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[r>>2]|0)>>>0)continue b;if(c[s>>2]|0){Ig(c[g>>2]|0);c[s>>2]=0}c[j>>2]=xi(c[g>>2]|0,(c[g>>2]|0)+72|0,0,1,0)|0;if(c[j>>2]|0)break;c[f>>2]=(c[f>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}if((c[j>>2]|0)!=101){o=26;break}e=q;t=c[e+4>>2]|0;b=(c[g>>2]|0)+72|0;c[b>>2]=c[e>>2];c[b+4>>2]=t}if((o|0)==8){if((c[j>>2]|0)!=101)break;c[j>>2]=0;break}else if((o|0)==26){if((c[j>>2]|0)!=522)break;c[j>>2]=0;break}}}while(0);a[(c[g>>2]|0)+18>>0]=a[(c[g>>2]|0)+12>>0]|0;if(!(c[j>>2]|0)){c[h>>2]=c[(c[g>>2]|0)+200>>2];c[j>>2]=ui(c[(c[g>>2]|0)+64>>2]|0,c[h>>2]|0,(c[(c[c[g>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[j>>2]|0)){if((d[(c[g>>2]|0)+16>>0]|0)<4?(d[(c[g>>2]|0)+16>>0]|0)!=0:0)break;c[j>>2]=kd(c[g>>2]|0,0)|0}while(0);if(!(c[j>>2]|0))c[j>>2]=Uh(c[g>>2]|0,(a[c[h>>2]>>0]|0)!=0&1,0)|0;if((c[j>>2]|0)==0?(c[k>>2]|0)!=0?(a[c[h>>2]>>0]|0)!=0:0:0)c[j>>2]=yi(c[g>>2]|0,c[h>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[f>>2]|0)!=0)){b=c[g>>2]|0;zi(b);b=c[j>>2]|0;i=l;return b|0}b=c[(c[g>>2]|0)+172>>2]|0;c[n>>2]=c[f>>2];c[n+4>>2]=b;tc(539,4352,n);b=c[g>>2]|0;zi(b);b=c[j>>2]|0;i=l;return b|0}function ui(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,o=0,p=0,q=0;j=i;i=i+48|0;h=j+36|0;k=j+32|0;l=j+28|0;q=j+24|0;g=j+20|0;f=j+16|0;n=j;p=j+12|0;m=j+8|0;o=j+40|0;c[k>>2]=b;c[l>>2]=d;c[q>>2]=e;a[c[l>>2]>>0]=0;e=Gg(c[k>>2]|0,n)|0;c[g>>2]=e;b=n;d=c[b+4>>2]|0;if((((((!(0!=(e|0)|((d|0)<0|(d|0)==0&(c[b>>2]|0)>>>0<16))?(d=c[k>>2]|0,b=n,b=ZE(c[b>>2]|0,c[b+4>>2]|0,16,0)|0,b=Fi(d,b,D,f)|0,c[g>>2]=b,0==(b|0)):0)?!((c[f>>2]|0)==0?1:(c[f>>2]|0)>>>0>=(c[q>>2]|0)>>>0):0)?(d=c[k>>2]|0,b=n,b=ZE(c[b>>2]|0,c[b+4>>2]|0,12,0)|0,b=Fi(d,b,D,p)|0,c[g>>2]=b,0==(b|0)):0)?(d=c[k>>2]|0,b=n,b=ZE(c[b>>2]|0,c[b+4>>2]|0,8,0)|0,b=Ei(d,o,8,b,D)|0,c[g>>2]=b,0==(b|0)):0)?(TE(o,4384,8)|0)==0:0)?(o=c[k>>2]|0,q=c[l>>2]|0,d=c[f>>2]|0,b=n,b=ZE(c[b>>2]|0,c[b+4>>2]|0,16,0)|0,b=ZE(b|0,D|0,c[f>>2]|0,0)|0,b=Ei(o,q,d,b,D)|0,c[g>>2]=b,0==(b|0)):0){c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;c[p>>2]=(c[p>>2]|0)-(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(c[p>>2]|0)c[f>>2]=0;a[(c[l>>2]|0)+(c[f>>2]|0)>>0]=0;c[h>>2]=0;b=c[h>>2]|0;i=j;return b|0}c[h>>2]=c[g>>2];b=c[h>>2]|0;i=j;return b|0}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=xb[c[(c[k>>2]|0)+32>>2]&7](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function wi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;p=i;i=i+64|0;j=p+44|0;k=p+40|0;s=p+36|0;t=p+8|0;q=p+32|0;h=p+28|0;n=p+24|0;r=p+48|0;l=p;m=p+20|0;o=p+16|0;c[k>>2]=a;c[s>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[h>>2]=g;e=Oi(c[k>>2]|0)|0;b=(c[k>>2]|0)+72|0;c[b>>2]=e;c[b+4>>2]=D;b=(c[k>>2]|0)+72|0;b=bF(c[b>>2]|0,c[b+4>>2]|0,c[(c[k>>2]|0)+148>>2]|0,0)|0;e=D;a=t;d=c[a+4>>2]|0;if((e|0)>(d|0)|((e|0)==(d|0)?b>>>0>(c[a>>2]|0)>>>0:0)){c[j>>2]=101;t=c[j>>2]|0;i=p;return t|0}b=(c[k>>2]|0)+72|0;a=c[b+4>>2]|0;t=l;c[t>>2]=c[b>>2];c[t+4>>2]=a;if(!((c[s>>2]|0)==0?(a=l,t=(c[k>>2]|0)+80|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=l;c[n>>2]=Ei(c[(c[k>>2]|0)+64>>2]|0,r,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[n>>2]|0){c[j>>2]=c[n>>2];t=c[j>>2]|0;i=p;return t|0}if(TE(r,4384,8)|0){c[j>>2]=101;t=c[j>>2]|0;i=p;return t|0}}a=c[(c[k>>2]|0)+64>>2]|0;t=l;t=bF(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=Fi(a,t,D,c[q>>2]|0)|0;c[n>>2]=t;if((0==(t|0)?(a=c[(c[k>>2]|0)+64>>2]|0,t=l,t=bF(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=Fi(a,t,D,(c[k>>2]|0)+48|0)|0,c[n>>2]=t,0==(t|0)):0)?(a=c[(c[k>>2]|0)+64>>2]|0,t=l,t=bF(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=Fi(a,t,D,c[h>>2]|0)|0,c[n>>2]=t,0==(t|0)):0){t=(c[k>>2]|0)+72|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[k>>2]|0)+64>>2]|0;t=l;t=bF(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=Fi(a,t,D,o)|0;c[n>>2]=t;if(0==(t|0)?(a=c[(c[k>>2]|0)+64>>2]|0,t=l,t=bF(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=Fi(a,t,D,m)|0,c[n>>2]=t,0==(t|0)):0){if(!(c[m>>2]|0))c[m>>2]=c[(c[k>>2]|0)+152>>2];if((!((c[m>>2]|0)>>>0<512|(c[o>>2]|0)>>>0<32|(c[m>>2]|0)>>>0>65536|(c[o>>2]|0)>>>0>65536)?((c[m>>2]|0)-1&c[m>>2]|0)==0:0)?((c[o>>2]|0)-1&c[o>>2]|0)==0:0){c[n>>2]=Eg(c[k>>2]|0,m,-1)|0;c[(c[k>>2]|0)+148>>2]=c[o>>2];break}c[j>>2]=101;t=c[j>>2]|0;i=p;return t|0}c[j>>2]=c[n>>2];t=c[j>>2]|0;i=p;return t|0}while(0);t=(c[k>>2]|0)+72|0;a=t;a=bF(c[a>>2]|0,c[a+4>>2]|0,c[(c[k>>2]|0)+148>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=D;c[j>>2]=c[n>>2];t=c[j>>2]|0;i=p;return t|0}c[j>>2]=c[n>>2];t=c[j>>2]|0;i=p;return t|0}function xi(f,g,h,j,k){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;m=i;i=i+64|0;l=m+60|0;r=m+56|0;w=m+52|0;A=m+48|0;x=m+44|0;q=m+40|0;o=m+36|0;n=m+32|0;s=m+28|0;z=m+24|0;u=m+20|0;B=m+16|0;v=m+12|0;t=m;p=m+8|0;c[r>>2]=f;c[w>>2]=g;c[A>>2]=h;c[x>>2]=j;c[q>>2]=k;c[u>>2]=c[(c[r>>2]|0)+200>>2];f=c[r>>2]|0;if(c[x>>2]|0)f=c[f+64>>2]|0;else f=c[f+68>>2]|0;c[B>>2]=f;g=c[w>>2]|0;c[o>>2]=Fi(c[B>>2]|0,c[g>>2]|0,c[g+4>>2]|0,s)|0;if(c[o>>2]|0){c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}k=c[B>>2]|0;j=c[u>>2]|0;h=c[(c[r>>2]|0)+152>>2]|0;g=c[w>>2]|0;g=bF(c[g>>2]|0,c[g+4>>2]|0,4,0)|0;c[o>>2]=Ei(k,j,h,g,D)|0;if(c[o>>2]|0){c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}h=(c[(c[r>>2]|0)+152>>2]|0)+4+(c[x>>2]<<2)|0;g=c[w>>2]|0;j=g;h=bF(c[j>>2]|0,c[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;c[g>>2]=h;c[g+4>>2]=D;if((c[s>>2]|0)!=0?(c[s>>2]|0)!=(((c[282]|0)/(c[(c[r>>2]|0)+152>>2]|0)|0)+1|0):0){if((c[s>>2]|0)>>>0<=(c[(c[r>>2]|0)+24>>2]|0)>>>0?(Yg(c[A>>2]|0,c[s>>2]|0)|0)==0:0){if(c[x>>2]|0){h=c[B>>2]|0;g=c[w>>2]|0;g=ZE(c[g>>2]|0,c[g+4>>2]|0,4,0)|0;c[o>>2]=Fi(h,g,D,z)|0;if(c[o>>2]|0){c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}if((c[q>>2]|0)==0?(g=Gi(c[r>>2]|0,c[u>>2]|0)|0,(g|0)!=(c[z>>2]|0)):0){c[l>>2]=101;g=c[l>>2]|0;i=m;return g|0}}if((c[A>>2]|0)!=0?(g=Wg(c[A>>2]|0,c[s>>2]|0)|0,c[o>>2]=g,(g|0)!=0):0){c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}if((c[s>>2]|0)==1?(b[(c[r>>2]|0)+142>>1]|0)!=(d[(c[u>>2]|0)+20>>0]|0):0)b[(c[r>>2]|0)+142>>1]=d[(c[u>>2]|0)+20>>0]|0;if(ai(c[r>>2]|0)|0)c[n>>2]=0;else c[n>>2]=Hi(c[r>>2]|0,c[s>>2]|0)|0;if(c[x>>2]|0){if(d[(c[r>>2]|0)+7>>0]|0)z=1;else{g=c[w>>2]|0;j=c[g+4>>2]|0;z=(c[r>>2]|0)+80|0;h=c[z+4>>2]|0;z=(j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0<=(c[z>>2]|0)>>>0:0)}c[v>>2]=z&1}else{if(!(c[n>>2]|0))z=1;else z=0==(e[(c[n>>2]|0)+24>>1]&4|0);c[v>>2]=z&1}do if(c[c[(c[r>>2]|0)+60>>2]>>2]|0){if((d[(c[r>>2]|0)+16>>0]|0)>=4){if(!(c[v>>2]|0)){y=44;break}}else if(!((c[v>>2]|0)!=0?(d[(c[r>>2]|0)+16>>0]|0)==0:0)){y=44;break}h=c[(c[r>>2]|0)+152>>2]|0;h=lF((c[s>>2]|0)-1|0,0,h|0,((h|0)<0)<<31>>31|0)|0;g=t;c[g>>2]=h;c[g+4>>2]=D;g=t;c[o>>2]=id(c[(c[r>>2]|0)+60>>2]|0,c[u>>2]|0,c[(c[r>>2]|0)+152>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if((c[s>>2]|0)>>>0>(c[(c[r>>2]|0)+32>>2]|0)>>>0)c[(c[r>>2]|0)+32>>2]=c[s>>2];if(c[(c[r>>2]|0)+88>>2]|0){Ii(c[(c[r>>2]|0)+88>>2]|0,c[s>>2]|0,c[u>>2]|0);c[u>>2]=c[u>>2]}}else y=44;while(0);do if((y|0)==44?(c[x>>2]|0)==0&(c[n>>2]|0)==0:0){g=(c[r>>2]|0)+20|0;a[g>>0]=d[g>>0]|2;c[o>>2]=Xc(c[r>>2]|0,c[s>>2]|0,n,1)|0;g=(c[r>>2]|0)+20|0;a[g>>0]=d[g>>0]&-3;if(!(c[o>>2]|0)){g=(c[n>>2]|0)+24|0;b[g>>1]=e[g>>1]&-9;Ji(c[n>>2]|0);break}c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}while(0);if(c[n>>2]|0){c[p>>2]=c[(c[n>>2]|0)+4>>2];dF(c[p>>2]|0,c[u>>2]|0,c[(c[r>>2]|0)+152>>2]|0)|0;rb[c[(c[r>>2]|0)+196>>2]&31](c[n>>2]|0);do if(c[x>>2]|0){if((c[q>>2]|0)!=0?(h=c[w>>2]|0,k=c[h+4>>2]|0,g=(c[r>>2]|0)+80|0,j=c[g+4>>2]|0,!((k|0)<(j|0)|((k|0)==(j|0)?(c[h>>2]|0)>>>0<=(c[g>>2]|0)>>>0:0))):0)break;Rg(c[n>>2]|0)}while(0);if((c[s>>2]|0)==1){q=(c[r>>2]|0)+100|0;r=(c[p>>2]|0)+24|0;p=q+16|0;do{a[q>>0]=a[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(p|0))}Ki(c[n>>2]|0)}c[l>>2]=c[o>>2];g=c[l>>2]|0;i=m;return g|0}c[l>>2]=0;g=c[l>>2]|0;i=m;return g|0}c[l>>2]=101;g=c[l>>2]|0;i=m;return g|0}function yi(b,d){b=b|0;d=d|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;s=i;i=i+64|0;t=s+60|0;j=s+56|0;h=s+52|0;g=s+48|0;m=s+44|0;f=s+40|0;e=s+36|0;r=s;p=s+32|0;l=s+28|0;n=s+24|0;q=s+16|0;k=s+12|0;o=s+8|0;c[t>>2]=b;c[j>>2]=d;c[h>>2]=c[c[t>>2]>>2];c[e>>2]=0;b=c[(c[h>>2]|0)+4>>2]<<1;c[m>>2]=Mc(b,((b|0)<0)<<31>>31)|0;c[f>>2]=(c[m>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[g>>2]=Di(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0,16385,0)|0}else c[g>>2]=7;a:do if((c[g>>2]|0)==0?(c[g>>2]=Gg(c[m>>2]|0,r)|0,(c[g>>2]|0)==0):0){c[n>>2]=(c[(c[h>>2]|0)+8>>2]|0)+1;b=r;t=c[n>>2]|0;t=bF(c[b>>2]|0,c[b+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=bF(t|0,D|0,1,0)|0;c[e>>2]=gc(t,D)|0;if(!(c[e>>2]|0)){c[g>>2]=7;break}t=r;t=bF(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[l>>2]=(c[e>>2]|0)+t;c[g>>2]=Ei(c[m>>2]|0,c[e>>2]|0,c[r>>2]|0,0,0)|0;if(!(c[g>>2]|0)){a[(c[e>>2]|0)+(c[r>>2]|0)>>0]=0;c[p>>2]=c[e>>2];while(1){b=(c[p>>2]|0)-(c[e>>2]|0)|0;u=((b|0)<0)<<31>>31;t=r;d=c[t+4>>2]|0;if(!((u|0)<(d|0)|((u|0)==(d|0)?b>>>0<(c[t>>2]|0)>>>0:0)))break;c[g>>2]=vi(c[h>>2]|0,c[p>>2]|0,0,q)|0;if(c[g>>2]|0)break a;if(c[q>>2]|0){c[o>>2]=2049;c[g>>2]=Di(c[h>>2]|0,c[p>>2]|0,c[f>>2]|0,c[o>>2]|0,0)|0;if(c[g>>2]|0)break a;c[g>>2]=ui(c[f>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;Rh(c[f>>2]|0)|0;if(c[g>>2]|0)break a;if(a[c[l>>2]>>0]|0)d=(UE(c[l>>2]|0,c[j>>2]|0)|0)==0;else d=0;c[k>>2]=d&1;if(c[k>>2]|0)break a}u=(Mb(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}Rh(c[m>>2]|0)|0;c[g>>2]=_h(c[h>>2]|0,c[j>>2]|0,0)|0}}while(0);hc(c[e>>2]|0);if(!(c[m>>2]|0)){u=c[g>>2]|0;i=s;return u|0}Rh(c[m>>2]|0)|0;hc(c[m>>2]|0);u=c[g>>2]|0;i=s;return u|0}function zi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+12>>0]|0|0)==0?((Ai(c[(c[b>>2]|0)+60>>2]|0)|0)&4096|0)==0:0){a=Bi(c[(c[b>>2]|0)+60>>2]|0)|0;c[(c[b>>2]|0)+148>>2]=a;i=e;return}c[(c[b>>2]|0)+148>>2]=512;i=e;return}function Ai(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ub[c[(c[c[d>>2]>>2]|0)+48>>2]&31](c[d>>2]|0)|0;i=b;return a|0}function Bi(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Ci(c[e>>2]|0)|0;if((c[d>>2]|0)>=32){if((c[d>>2]|0)>65536)c[d>>2]=65536}else c[d>>2]=512;i=b;return c[d>>2]|0}function Ci(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[(c[c[e>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){e=4096;i=b;return e|0}e=ub[c[d>>2]&31](c[e>>2]|0)|0;i=b;return e|0}function Di(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Ab[c[(c[n>>2]|0)+24>>2]&15](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;a=Ab[c[(c[c[k>>2]>>2]|0)+8>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Fi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+16|0;l=f;j=f+12|0;h=f+20|0;g=f+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;a=l;c[g>>2]=Ei(c[k>>2]|0,h,4,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[g>>2]|0){l=c[g>>2]|0;i=f;return l|0}l=Hh(h)|0;c[c[j>>2]>>2]=l;l=c[g>>2]|0;i=f;return l|0}function Gi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;f=e+4|0;g=e;c[j>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[j>>2]|0)+48>>2];c[g>>2]=(c[(c[j>>2]|0)+152>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[h>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=e;return c[f>>2]|0}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=Li(c[(c[g>>2]|0)+204>>2]|0,c[f>>2]|0,0)|0;a=Mi(c[(c[g>>2]|0)+204>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Ii(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;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;f=e+4|0;j=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[k>>2];while(1){if(!(c[f>>2]|0))break;if(((Qc(c[(c[f>>2]|0)+28>>2]|0)|0)==0?(c[g>>2]|0)>>>0<(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(c[j>>2]=Yc(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,1)|0,(c[j>>2]|0)!=0):0)c[(c[f>>2]|0)+28>>2]=c[j>>2];c[f>>2]=c[(c[f>>2]|0)+44>>2]}i=e;return}function Ji(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-33;if((e[(c[f>>2]|0)+24>>1]|0)&2){i=d;return}a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|2;Sg(c[f>>2]|0,2);i=d;return}function Ki(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=(c[f>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+ -1<<16>>16;if(b[(c[f>>2]|0)+26>>1]|0){i=d;return}a=(c[(c[f>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+ -1;a=c[f>>2]|0;if(!(e[(c[f>>2]|0)+24>>1]&2)){Tg(a);i=d;return}if(!(c[a+36>>2]|0)){i=d;return}Sg(c[f>>2]|0,3);i=d;return}function Li(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;c[g>>2]=c[k>>2]&(d[(c[j>>2]|0)+29>>0]|0);a=pb[c[38640+132>>2]&31](c[(c[j>>2]|0)+40>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function Mi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;if(!(c[k>>2]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}c[l>>2]=c[(c[k>>2]|0)+4>>2];if(!(c[c[l>>2]>>2]|0)){c[g>>2]=Ni(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a=c[g>>2]|0;i=f;return a|0}if(!(b[(c[l>>2]|0)+26>>1]|0)){a=(c[h>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1}a=(c[l>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;if((c[j>>2]|0)==1)c[(c[h>>2]|0)+44>>2]=c[l>>2];c[g>>2]=c[l>>2];a=c[g>>2]|0;i=f;return a|0}function Ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[g>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+4>>2];b=(c[f>>2]|0)+0|0;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=c[c[e>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[f>>2]|0)+40;_E(c[(c[f>>2]|0)+8>>2]|0,0,c[(c[g>>2]|0)+24>>2]|0)|0;c[(c[f>>2]|0)+28>>2]=c[g>>2];c[(c[f>>2]|0)+20>>2]=c[h>>2];a=Mi(c[g>>2]|0,c[h>>2]|0,c[e>>2]|0)|0;i=j;return a|0}function Oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;f=b+16|0;d=b+8|0;e=b;c[f>>2]=a;h=d;c[h>>2]=0;c[h+4>>2]=0;h=(c[f>>2]|0)+72|0;g=c[h+4>>2]|0;a=e;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=e;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;i=b;return h|0}h=e;h=ZE(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=jF(h|0,D|0,c[(c[f>>2]|0)+148>>2]|0,0)|0;h=bF(h|0,D|0,1,0)|0;h=lF(h|0,D|0,c[(c[f>>2]|0)+148>>2]|0,0)|0;g=d;c[g>>2]=h;c[g+4>>2]=D;g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;i=b;return h|0}function Pi(b,d){b=b|0;d=d|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;g=i;i=i+64|0;o=g+56|0;h=g+52|0;j=g+48|0;p=g+16|0;s=g+8|0;l=g+44|0;n=g+40|0;e=g+36|0;q=g+32|0;r=g+28|0;k=g+24|0;m=g;c[h>>2]=b;c[j>>2]=d;c[l>>2]=0;c[n>>2]=0;if((c[j>>2]|0)!=0?(c[n>>2]=Vg(c[(c[j>>2]|0)+20>>2]|0)|0,(c[n>>2]|0)==0):0){c[o>>2]=7;b=c[o>>2]|0;i=g;return b|0}if(c[j>>2]|0)d=c[(c[j>>2]|0)+20>>2]|0;else d=c[(c[h>>2]|0)+28>>2]|0;c[(c[h>>2]|0)+24>>2]=d;a[(c[h>>2]|0)+18>>0]=a[(c[h>>2]|0)+12>>0]|0;if((c[j>>2]|0)==0?(ai(c[h>>2]|0)|0)!=0:0){c[o>>2]=Qi(c[h>>2]|0)|0;b=c[o>>2]|0;i=g;return b|0}t=(c[h>>2]|0)+72|0;d=c[t+4>>2]|0;b=p;c[b>>2]=c[t>>2];c[b+4>>2]=d;a:do if((c[j>>2]|0)!=0?(ai(c[h>>2]|0)|0)==0:0){t=(c[j>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[j>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=p;b=c[d>>2]|0;d=c[d+4>>2]|0}t=s;c[t>>2]=b;c[t+4>>2]=d;d=c[j>>2]|0;b=c[d+4>>2]|0;t=(c[h>>2]|0)+72|0;c[t>>2]=c[d>>2];c[t+4>>2]=b;while(1){if(c[l>>2]|0)break a;b=(c[h>>2]|0)+72|0;u=c[b+4>>2]|0;t=s;d=c[t+4>>2]|0;if(!((u|0)<(d|0)|((u|0)==(d|0)?(c[b>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[l>>2]=xi(c[h>>2]|0,(c[h>>2]|0)+72|0,c[n>>2]|0,1,1)|0}}else f=19;while(0);if((f|0)==19){u=(c[h>>2]|0)+72|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[l>>2]|0)break;t=(c[h>>2]|0)+72|0;d=c[t+4>>2]|0;u=p;b=c[u+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[q>>2]=0;u=p;c[l>>2]=wi(c[h>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,q,r)|0;if((c[q>>2]|0)==0?(t=(c[h>>2]|0)+80|0,t=bF(c[t>>2]|0,c[t+4>>2]|0,c[(c[h>>2]|0)+148>>2]|0,0)|0,u=(c[h>>2]|0)+72|0,(t|0)==(c[u>>2]|0)?(D|0)==(c[u+4>>2]|0):0):0){u=p;t=(c[h>>2]|0)+72|0;t=ZE(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[h>>2]|0)+152>>2]|0)+8|0;u=jF(t|0,D|0,u|0,((u|0)<0)<<31>>31|0)|0;c[q>>2]=u}c[e>>2]=0;while(1){if(c[l>>2]|0)continue b;if((c[e>>2]|0)>>>0>=(c[q>>2]|0)>>>0)continue b;t=(c[h>>2]|0)+72|0;d=c[t+4>>2]|0;u=p;b=c[u+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[l>>2]=xi(c[h>>2]|0,(c[h>>2]|0)+72|0,c[n>>2]|0,1,1)|0;c[e>>2]=(c[e>>2]|0)+1}}c:do if(c[j>>2]|0){t=4+(c[(c[h>>2]|0)+152>>2]|0)|0;t=lF(c[(c[j>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;c[u>>2]=t;c[u+4>>2]=D;if(ai(c[h>>2]|0)|0)c[l>>2]=Ri(c[(c[h>>2]|0)+208>>2]|0,(c[j>>2]|0)+28|0)|0;c[k>>2]=c[(c[j>>2]|0)+24>>2];while(1){if(c[l>>2]|0)break c;if((c[k>>2]|0)>>>0>=(c[(c[h>>2]|0)+52>>2]|0)>>>0)break c;c[l>>2]=xi(c[h>>2]|0,m,c[n>>2]|0,0,1)|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);_g(c[n>>2]|0);if(!(c[l>>2]|0)){b=p;t=c[b+4>>2]|0;u=(c[h>>2]|0)+72|0;c[u>>2]=c[b>>2];c[u+4>>2]=t}c[o>>2]=c[l>>2];u=c[o>>2]|0;i=g;return u|0}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;g=b+12|0;d=b+8|0;e=b+4|0;f=b;c[g>>2]=a;c[(c[g>>2]|0)+24>>2]=c[(c[g>>2]|0)+28>>2];c[d>>2]=Xi(c[(c[g>>2]|0)+208>>2]|0,36,c[g>>2]|0)|0;c[e>>2]=Zi(c[(c[g>>2]|0)+204>>2]|0)|0;while(1){if(!((c[e>>2]|0)!=0&(c[d>>2]|0)==0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[d>>2]=Yi(c[g>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[e>>2]=c[f>>2]}i=b;return c[d>>2]|0}function Ri(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=0;if((c[(c[f>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+104>>2]|0)){c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+104>>2]}if((c[c[f>>2]>>2]|0)>>>0>=(c[(c[g>>2]|0)+68>>2]|0)>>>0){a=c[d>>2]|0;i=e;return a|0}c[(c[g>>2]|0)+68>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+76>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+80>>2]=c[(c[f>>2]|0)+8>>2];Si(c[g>>2]|0);a=c[d>>2]|0;i=e;return a|0}function Si(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+32|0;l=d+24|0;f=d+20|0;g=d+16|0;m=d+12|0;h=d+8|0;j=d+4|0;k=d;c[l>>2]=a;c[f>>2]=0;c[g>>2]=0;c[m>>2]=0;c[h>>2]=0;if(!(c[(c[l>>2]|0)+68>>2]|0)){i=d;return}a=c[l>>2]|0;Ti(a,Ui(c[(c[l>>2]|0)+68>>2]|0)|0,f,g,m)|0;c[h>>2]=(c[(c[l>>2]|0)+68>>2]|0)-(c[m>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[k>>2]<<1)>>1]|0|0)>(c[h>>2]|0))b[(c[f>>2]|0)+(c[k>>2]<<1)>>1]=0;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[h>>2]|0)+1<<2));_E((c[g>>2]|0)+((c[h>>2]|0)+1<<2)|0,0,c[j>>2]|0)|0;i=d;return}function Ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;n=i;i=i+48|0;q=n+32|0;p=n+28|0;m=n+24|0;k=n+20|0;o=n+16|0;h=n+12|0;j=n+8|0;g=n+4|0;l=n;c[q>>2]=a;c[p>>2]=b;c[m>>2]=d;c[k>>2]=e;c[o>>2]=f;c[h>>2]=Vi(c[q>>2]|0,c[p>>2]|0,j)|0;if(c[h>>2]|0){q=c[h>>2]|0;i=n;return q|0}c[l>>2]=(c[j>>2]|0)+16384;if(!(c[p>>2]|0)){c[j>>2]=(c[j>>2]|0)+136;c[g>>2]=0}else c[g>>2]=4062+((c[p>>2]|0)-1<<12);c[c[k>>2]>>2]=(c[j>>2]|0)+ -4;c[c[m>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[g>>2];q=c[h>>2]|0;i=n;return q|0}function Ui(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function Vi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+24|0;l=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;o=m+4|0;n=m;c[l>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;do if((c[(c[l>>2]|0)+24>>2]|0)<=(c[h>>2]|0)){c[o>>2]=(c[h>>2]|0)+1<<2;c[n>>2]=jc(c[(c[l>>2]|0)+32>>2]|0,c[o>>2]|0)|0;if(c[n>>2]|0){_E((c[n>>2]|0)+(c[(c[l>>2]|0)+24>>2]<<2)|0,0,(c[h>>2]|0)+1-(c[(c[l>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[l>>2]|0)+32>>2]=c[n>>2];c[(c[l>>2]|0)+24>>2]=(c[h>>2]|0)+1;break}c[c[j>>2]>>2]=0;c[g>>2]=7;b=c[g>>2]|0;i=m;return b|0}while(0);do if(!(c[(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0))if((d[(c[l>>2]|0)+43>>0]|0|0)==2){b=Mc(32768,0)|0;c[(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]=b;if(c[(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0)break;c[k>>2]=7;break}else{c[k>>2]=Wi(c[(c[l>>2]|0)+4>>2]|0,c[h>>2]|0,32768,d[(c[l>>2]|0)+44>>0]|0,(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)|0)|0;if((c[k>>2]|0)!=8)break;b=(c[l>>2]|0)+46|0;a[b>>0]=d[b>>0]|0|2;c[k>>2]=0;break}while(0);c[c[j>>2]>>2]=c[(c[(c[l>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];c[g>>2]=c[k>>2];b=c[g>>2]|0;i=m;return b|0}function Wi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a=Ab[c[(c[c[m>>2]>>2]|0)+52>>2]&15](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return a|0}function Xi(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;l=i;i=i+32|0;h=l+20|0;f=l+16|0;m=l+12|0;g=l+8|0;k=l+4|0;j=l;c[h>>2]=b;c[f>>2]=d;c[m>>2]=e;c[g>>2]=0;if(!(a[(c[h>>2]|0)+44>>0]|0)){b=c[g>>2]|0;i=l;return b|0}c[k>>2]=c[(c[h>>2]|0)+68>>2];b=(c[h>>2]|0)+52|0;b=b+0|0;d=(mj(c[h>>2]|0)|0)+0|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[j>>2]=(c[(c[h>>2]|0)+68>>2]|0)+1;while(1){if(c[g>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[f>>2]|0;d=c[m>>2]|0;b=nj(c[h>>2]|0,c[j>>2]|0)|0;c[g>>2]=zb[e&63](d,b)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[h>>2]|0)+68>>2]|0)){b=c[g>>2]|0;i=l;return b|0}Si(c[h>>2]|0);b=c[g>>2]|0;i=l;return b|0}function Yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+20|0;j=e+16|0;d=e+12|0;f=e+8|0;g=e+4|0;h=e;c[k>>2]=a;c[j>>2]=b;c[d>>2]=0;c[f>>2]=c[k>>2];c[g>>2]=Hi(c[f>>2]|0,c[j>>2]|0)|0;do if(c[g>>2]|0){if((aj(c[g>>2]|0)|0)==1){bj(c[g>>2]|0);break}c[h>>2]=0;c[d>>2]=cj(c[(c[f>>2]|0)+208>>2]|0,c[(c[g>>2]|0)+20>>2]|0,h)|0;if(!(c[d>>2]|0))c[d>>2]=dj(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[d>>2]|0))rb[c[(c[f>>2]|0)+196>>2]&31](c[g>>2]|0);ej(c[g>>2]|0)}while(0);Og(c[(c[f>>2]|0)+88>>2]|0);i=e;return c[d>>2]|0}function Zi(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[(c[e>>2]|0)+12>>2]=c[(c[e>>2]|0)+32>>2];c[e>>2]=c[(c[e>>2]|0)+32>>2]}e=_i(c[c[b>>2]>>2]|0)|0;i=d;return e|0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+144|0;h=f+136|0;b=f+8|0;d=f+4|0;e=f;c[h>>2]=a;j=b+0|0;a=j+128|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(a|0));while(1){if(!(c[h>>2]|0))break;c[d>>2]=c[h>>2];c[h>>2]=c[(c[d>>2]|0)+12>>2];c[(c[d>>2]|0)+12>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=31)break;if(!(c[b+(c[e>>2]<<2)>>2]|0)){g=6;break}c[d>>2]=$i(c[b+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[b+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}if((g|0)==6){g=0;c[b+(c[e>>2]<<2)>>2]=c[d>>2]}if((c[e>>2]|0)!=31)continue;j=$i(c[b+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[b+(c[e>>2]<<2)>>2]=j}c[d>>2]=c[b>>2];c[e>>2]=1;while(1){g=c[d>>2]|0;if((c[e>>2]|0)>=32)break;c[d>>2]=$i(g,c[b+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}i=f;return g|0}function $i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+64|0;d=g+52|0;h=g+48|0;f=g+8|0;e=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=f;while(1){if(c[d>>2]|0)a=(c[h>>2]|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;if((c[b+20>>2]|0)>>>0<(c[(c[h>>2]|0)+20>>2]|0)>>>0){c[(c[e>>2]|0)+12>>2]=c[d>>2];c[e>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[e>>2]|0)+12>>2]=c[h>>2];c[e>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+12>>2];continue}}if(b){c[(c[e>>2]|0)+12>>2]=c[d>>2];a=f+12|0;a=c[a>>2]|0;i=g;return a|0}if(c[h>>2]|0){c[(c[e>>2]|0)+12>>2]=c[h>>2];a=f+12|0;a=c[a>>2]|0;i=g;return a|0}else{c[(c[e>>2]|0)+12>>2]=0;a=f+12|0;a=c[a>>2]|0;i=g;return a|0}return 0}function aj(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function bj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)Sg(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+ -1;if((c[(c[b>>2]|0)+20>>2]|0)==1)c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]=0;vb[c[38640+136>>2]&63](c[(c[(c[b>>2]|0)+28>>2]|0)+40>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function cj(a,d,f){a=a|0;d=d|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;j=i;i=i+64|0;h=j+52|0;m=j+48|0;o=j+44|0;g=j+40|0;l=j+36|0;v=j+32|0;q=j+28|0;r=j+24|0;s=j+20|0;t=j+16|0;p=j+12|0;n=j+8|0;k=j+4|0;u=j;c[m>>2]=a;c[o>>2]=d;c[g>>2]=f;c[l>>2]=0;c[v>>2]=c[(c[m>>2]|0)+68>>2];if((c[v>>2]|0)!=0?(b[(c[m>>2]|0)+40>>1]|0)!=0:0){c[q>>2]=Ui(c[v>>2]|0)|0;a:while(1){if(!((c[q>>2]|0)>=0&(c[l>>2]|0)==0)){m=17;break}c[k>>2]=Ti(c[m>>2]|0,c[q>>2]|0,r,s,t)|0;if(c[k>>2]|0){m=7;break}c[n>>2]=8192;c[p>>2]=jj(c[o>>2]|0)|0;while(1){if(!(b[(c[r>>2]|0)+(c[p>>2]<<1)>>1]|0))break;c[u>>2]=(e[(c[r>>2]|0)+(c[p>>2]<<1)>>1]|0)+(c[t>>2]|0);if((c[u>>2]|0)>>>0<=(c[v>>2]|0)>>>0?(c[(c[s>>2]|0)+(e[(c[r>>2]|0)+(c[p>>2]<<1)>>1]<<2)>>2]|0)==(c[o>>2]|0):0)c[l>>2]=c[u>>2];a=c[n>>2]|0;c[n>>2]=a+ -1;if(!a){m=14;break a}c[p>>2]=lj(c[p>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+ -1}if((m|0)==7){c[h>>2]=c[k>>2];a=c[h>>2]|0;i=j;return a|0}else if((m|0)==14){c[h>>2]=kj(50484)|0;a=c[h>>2]|0;i=j;return a|0}else if((m|0)==17){c[c[g>>2]>>2]=c[l>>2];c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}}c[c[g>>2]>>2]=0;c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}function dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+48|0;j=e+32|0;m=e+28|0;l=e+24|0;k=e+20|0;f=e+16|0;h=e+12|0;n=e;g=e+8|0;c[j>>2]=b;c[m>>2]=d;c[l>>2]=c[(c[j>>2]|0)+16>>2];c[k>>2]=c[(c[j>>2]|0)+20>>2];c[f>>2]=0;c[h>>2]=c[(c[l>>2]|0)+152>>2];if(c[m>>2]|0)c[f>>2]=ij(c[(c[l>>2]|0)+208>>2]|0,c[m>>2]|0,c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;else{m=c[(c[l>>2]|0)+152>>2]|0;m=lF((c[k>>2]|0)-1|0,0,m|0,((m|0)<0)<<31>>31|0)|0;b=n;c[b>>2]=m;c[b+4>>2]=D;b=n;b=Ei(c[(c[l>>2]|0)+60>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)==522?0:b}if((c[k>>2]|0)!=1){b=c[f>>2]|0;i=e;return b|0}if(c[f>>2]|0){h=(c[l>>2]|0)+100|0;g=h+16|0;do{a[h>>0]=255;h=h+1|0}while((h|0)<(g|0));b=c[f>>2]|0;i=e;return b|0}else{c[g>>2]=(c[(c[j>>2]|0)+4>>2]|0)+24;h=(c[l>>2]|0)+100|0;j=(c[g>>2]|0)+0|0;g=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(g|0));b=c[f>>2]|0;i=e;return b|0}return 0}function ej(a){a=a|0;var b=0,d=0,f=0;b=i;i=i+16|0;f=b+4|0;d=b;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&64){fj(a);f=c[d>>2]|0;gj(f);i=b;return}else{Ki(a);f=c[d>>2]|0;gj(f);i=b;return}}function fj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+120|0;c[e>>2]=(c[e>>2]|0)+ -1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+136>>2];c[(c[f>>2]|0)+136>>2]=c[d>>2];e=c[(c[f>>2]|0)+60>>2]|0;a=c[(c[f>>2]|0)+152>>2]|0;a=lF((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;hj(e,a,D,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function gj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[(c[d>>2]|0)+120>>2]|0){i=b;return}if(Fg(c[(c[d>>2]|0)+204>>2]|0)|0){i=b;return}Qh(c[d>>2]|0);i=b;return}function hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function ij(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+66>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);b=(c[j>>2]|0)+24|0;b=lF((c[n>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=bF(32,0,b|0,D|0)|0;b=bF(b|0,D|0,24,0)|0;a=m;c[a>>2]=b;c[a+4>>2]=D;a=m;a=Ei(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function jj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[b>>2]|0)*383&8191|0}function kj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(vf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;tc(11,4392,d);i=b;return 11}function lj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[b>>2]|0)+1&8191|0}function mj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;h=d+4|0;g=d;c[f>>2]=a;c[h>>2]=b;c[g>>2]=Ui(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=c[(c[c[(c[f>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[e>>2]|0;i=d;return h|0}return 0}function oj(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;bi(c[e>>2]|0)|0;if((b[(c[e>>2]|0)+40>>1]|0)<0){i=d;return}hi(c[e>>2]|0,3+(b[(c[e>>2]|0)+40>>1]|0)|0);b[(c[e>>2]|0)+40>>1]=-1;i=d;return}function pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+28>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function qj(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;n=i;i=i+64|0;m=n+48|0;p=n+44|0;r=n+40|0;t=n+36|0;u=n+32|0;v=n+28|0;x=n+24|0;w=n+20|0;z=n+16|0;s=n+12|0;o=n+8|0;y=n+4|0;q=n;c[p>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[x>>2]=h;c[w>>2]=j;c[z>>2]=k;c[s>>2]=l;c[y>>2]=0;c[q>>2]=c[r>>2];if(a[(c[p>>2]|0)+46>>0]|0){c[m>>2]=8;b=c[m>>2]|0;i=n;return b|0}c[o>>2]=vj(c[p>>2]|0,1,1)|0;if(c[o>>2]|0){c[m>>2]=c[o>>2];b=c[m>>2]|0;i=n;return b|0}a[(c[p>>2]|0)+45>>0]=1;do if(c[r>>2]|0){c[o>>2]=wj(c[p>>2]|0,c[t>>2]|0,c[u>>2]|0,0,1)|0;if(!(c[o>>2]|0)){a[(c[p>>2]|0)+44>>0]=1;break}if((c[o>>2]|0)==5){c[q>>2]=0;c[o>>2]=0}}while(0);if(((c[o>>2]|0)==0?(c[o>>2]=xj(c[p>>2]|0,y)|0,(c[y>>2]|0)!=0):0)?(c[c[c[(c[p>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)hj(c[(c[p>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[o>>2]|0)){if((c[(c[p>>2]|0)+68>>2]|0)!=0?(b=yj(c[p>>2]|0)|0,(b|0)!=(c[x>>2]|0)):0)c[o>>2]=kj(51084)|0;else c[o>>2]=zj(c[p>>2]|0,c[q>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;if((c[o>>2]|0)==0|(c[o>>2]|0)==5){if(c[z>>2]|0)c[c[z>>2]>>2]=c[(c[p>>2]|0)+68>>2];if(c[s>>2]|0){b=c[(Aj(c[p>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=b}}}if(c[y>>2]|0){t=(c[p>>2]|0)+52|0;s=t+48|0;do{c[t>>2]=0;t=t+4|0}while((t|0)<(s|0))}bi(c[p>>2]|0)|0;ji(c[p>>2]|0,1,1);a[(c[p>>2]|0)+45>>0]=0;if((c[o>>2]|0)==0?(c[r>>2]|0)!=(c[q>>2]|0):0)o=5;else o=c[o>>2]|0;c[m>>2]=o;b=c[m>>2]|0;i=n;return b|0}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;pb[c[(c[c[h>>2]>>2]|0)+40>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function sj(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;e=i;i=i+32|0;h=e+16|0;g=e+24|0;j=e+8|0;k=e;f=e+20|0;c[g>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;kh();c[f>>2]=Gg(c[(c[g>>2]|0)+8>>2]|0,k)|0;if((c[f>>2]|0)==0?(b=k,d=c[b+4>>2]|0,a=j,k=c[a+4>>2]|0,(d|0)>(k|0)|((d|0)==(k|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)):0){a=j;c[f>>2]=Xh(c[(c[g>>2]|0)+8>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0}lh();if(!(c[f>>2]|0)){i=e;return}a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+100>>2];tc(a,4440,h);i=e;return}function tj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;if((d[(c[g>>2]|0)+43>>0]|0|0)!=2){uj(c[(c[g>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=e;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+24>>2]|0))break;hc(c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0);c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}i=e;return}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+64>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function vj(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;f=i;i=i+32|0;g=f+16|0;l=f+12|0;k=f+8|0;j=f+4|0;h=f;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;if(a[(c[l>>2]|0)+43>>0]|0){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}else{c[h>>2]=ii(c[(c[l>>2]|0)+4>>2]|0,c[k>>2]|0,c[j>>2]|0,10)|0;c[g>>2]=c[h>>2];b=c[g>>2]|0;i=f;return b|0}return 0}function wj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;m=h+20|0;k=h+16|0;l=h+12|0;j=h+8|0;n=h+4|0;g=h;c[m>>2]=a;c[k>>2]=b;c[l>>2]=d;c[j>>2]=e;c[n>>2]=f;while(1){c[g>>2]=vj(c[m>>2]|0,c[j>>2]|0,c[n>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[g>>2]|0)==5)){j=4;break}if(!(ub[c[k>>2]&31](c[l>>2]|0)|0)){j=4;break}}if((j|0)==4){i=h;return c[g>>2]|0}return 0}function xj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+20|0;f=k+16|0;l=k+12|0;h=k+8|0;j=k+4|0;m=k;c[f>>2]=b;c[l>>2]=e;c[h>>2]=Vi(c[f>>2]|0,0,m)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}if(c[m>>2]|0)e=Gj(c[f>>2]|0,c[l>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[f>>2]|0;if((d[(c[f>>2]|0)+46>>0]|0)&2){b=gi(e,0)|0;c[h>>2]=b;if(b)break;hi(c[f>>2]|0,0);c[h>>2]=264;break}b=vj(e,0,1)|0;c[h>>2]=b;if(!b){a[(c[f>>2]|0)+44>>0]=1;b=Vi(c[f>>2]|0,0,m)|0;c[h>>2]=b;if(0==(b|0)?(c[j>>2]=Gj(c[f>>2]|0,c[l>>2]|0)|0,(c[j>>2]|0)!=0):0){c[h>>2]=Hj(c[f>>2]|0)|0;c[c[l>>2]>>2]=1}a[(c[f>>2]|0)+44>>0]=0;ji(c[f>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[f>>2]|0)+52>>2]|0)!=3007e3:0)c[h>>2]=Ij(50131)|0;c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}function yj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return((e[(c[b>>2]|0)+66>>1]|0)&65024)+(((e[(c[b>>2]|0)+66>>1]|0)&1)<<16)|0}function zj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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,E=0,F=0,G=0,H=0;x=i;i=i+112|0;k=x+104|0;n=x+100|0;m=x+96|0;H=x+92|0;E=x+88|0;q=x+84|0;z=x+80|0;l=x+76|0;r=x+72|0;t=x+68|0;w=x+64|0;u=x+60|0;o=x+56|0;h=x+52|0;F=x+48|0;p=x+44|0;C=x+40|0;G=x+36|0;B=x+24|0;v=x+32|0;A=x+16|0;y=x+8|0;s=x;c[n>>2]=a;c[m>>2]=b;c[H>>2]=d;c[E>>2]=e;c[q>>2]=f;c[z>>2]=g;c[t>>2]=0;c[w>>2]=0;c[u>>2]=0;c[C>>2]=0;c[r>>2]=yj(c[n>>2]|0)|0;c[p>>2]=Aj(c[n>>2]|0)|0;if((c[c[p>>2]>>2]|0)>>>0>=(c[(c[n>>2]|0)+68>>2]|0)>>>0){c[k>>2]=0;a=c[k>>2]|0;i=x;return a|0}c[l>>2]=Bj(c[n>>2]|0,t)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];a=c[k>>2]|0;i=x;return a|0}if(c[m>>2]|0)c[C>>2]=c[H>>2];c[o>>2]=c[(c[n>>2]|0)+68>>2];c[h>>2]=c[(c[n>>2]|0)+72>>2];c[F>>2]=1;a:while(1){if((c[F>>2]|0)>=5){j=15;break}c[G>>2]=c[(c[p>>2]|0)+4+(c[F>>2]<<2)>>2];do if((c[o>>2]|0)>>>0>(c[G>>2]|0)>>>0){c[l>>2]=wj(c[n>>2]|0,c[C>>2]|0,c[E>>2]|0,3+(c[F>>2]|0)|0,1)|0;if(!(c[l>>2]|0)){c[(c[p>>2]|0)+4+(c[F>>2]<<2)>>2]=(c[F>>2]|0)==1?c[o>>2]|0:-1;ji(c[n>>2]|0,3+(c[F>>2]|0)|0,1);break}if((c[l>>2]|0)!=5)break a;c[o>>2]=c[G>>2];c[C>>2]=0}while(0);c[F>>2]=(c[F>>2]|0)+1}do if((j|0)==15){if((c[c[p>>2]>>2]|0)>>>0<(c[o>>2]|0)>>>0?(a=wj(c[n>>2]|0,c[C>>2]|0,c[E>>2]|0,3,1)|0,c[l>>2]=a,(a|0)==0):0){c[v>>2]=c[c[p>>2]>>2];if(c[q>>2]|0)c[l>>2]=Yh(c[(c[n>>2]|0)+8>>2]|0,c[q>>2]|0)|0;if(((c[l>>2]|0)==0?(b=c[r>>2]|0,b=lF(c[h>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0,a=A,c[a>>2]=b,c[a+4>>2]=D,c[l>>2]=Gg(c[(c[n>>2]|0)+4>>2]|0,B)|0,(c[l>>2]|0)==0):0)?(b=B,e=c[b+4>>2]|0,a=A,d=c[a+4>>2]|0,(e|0)<(d|0)|((e|0)==(d|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)):0)rj(c[(c[n>>2]|0)+4>>2]|0,5,A);b:while(1){if(c[l>>2]|0)break;while(1){if(Cj(c[t>>2]|0,w,u)|0)break b;if((c[u>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[u>>2]|0)>>>0>(c[o>>2]|0)>>>0)continue b;if((c[w>>2]|0)>>>0>(c[h>>2]|0)>>>0)continue b;b=(c[r>>2]|0)+24|0;b=lF((c[u>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=bF(32,0,b|0,D|0)|0;b=bF(b|0,D|0,24,0)|0;a=y;c[a>>2]=b;c[a+4>>2]=D;a=y;c[l>>2]=Ei(c[(c[n>>2]|0)+8>>2]|0,c[z>>2]|0,c[r>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[l>>2]|0)break b;b=c[r>>2]|0;b=lF((c[w>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;a=y;c[a>>2]=b;c[a+4>>2]=D;a=y;c[l>>2]=id(c[(c[n>>2]|0)+4>>2]|0,c[z>>2]|0,c[r>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[l>>2]|0)==0))break b}}if(!(c[l>>2]|0)){a=c[o>>2]|0;if((a|0)==(c[(mj(c[n>>2]|0)|0)+16>>2]|0)?(b=c[r>>2]|0,b=lF(c[(c[n>>2]|0)+72>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0,a=s,c[a>>2]=b,c[a+4>>2]=D,a=s,c[l>>2]=Xh(c[(c[n>>2]|0)+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,(c[l>>2]|0)==0&(c[q>>2]|0)!=0):0)c[l>>2]=Yh(c[(c[n>>2]|0)+4>>2]|0,c[q>>2]|0)|0;if(!(c[l>>2]|0))c[c[p>>2]>>2]=c[o>>2]}ji(c[n>>2]|0,3,1)}if((c[l>>2]|0)==5)c[l>>2]=0;if((c[l>>2]|0)==0&(c[m>>2]|0)!=0){if((c[c[p>>2]>>2]|0)>>>0<(c[(c[n>>2]|0)+68>>2]|0)>>>0){c[l>>2]=5;break}if((c[m>>2]|0)==2?(c[l>>2]=wj(c[n>>2]|0,c[C>>2]|0,c[E>>2]|0,4,4)|0,(c[l>>2]|0)==0):0)ji(c[n>>2]|0,4,4)}}while(0);Dj(c[t>>2]|0);c[k>>2]=c[l>>2];a=c[k>>2]|0;i=x;return a|0}function Aj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Bj(a,d){a=a|0;d=d|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;n=i;i=i+64|0;f=n+60|0;u=n+56|0;h=n+52|0;g=n+48|0;t=n+44|0;o=n+40|0;v=n+36|0;s=n+32|0;k=n+28|0;j=n+24|0;q=n+20|0;l=n+16|0;r=n+12|0;e=n+8|0;p=n+4|0;m=n;c[u>>2]=a;c[h>>2]=d;c[j>>2]=0;c[o>>2]=c[(c[u>>2]|0)+68>>2];c[t>>2]=(Ui(c[o>>2]|0)|0)+1;c[v>>2]=28+(((c[t>>2]|0)-1|0)*20|0)+(c[o>>2]<<1);c[g>>2]=mg(c[v>>2]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=n;return a|0}_E(c[g>>2]|0,0,c[v>>2]|0)|0;c[(c[g>>2]|0)+4>>2]=c[t>>2];c[k>>2]=mg(((c[o>>2]|0)>>>0>4096?4096:c[o>>2]|0)<<1)|0;if(!(c[k>>2]|0))c[j>>2]=7;c[s>>2]=0;while(1){if(c[j>>2]|0)break;if((c[s>>2]|0)>=(c[t>>2]|0))break;c[j>>2]=Ti(c[u>>2]|0,c[s>>2]|0,q,r,l)|0;if(!(c[j>>2]|0)){c[r>>2]=(c[r>>2]|0)+4;if(((c[s>>2]|0)+1|0)==(c[t>>2]|0))c[p>>2]=(c[o>>2]|0)-(c[l>>2]|0);else c[p>>2]=((c[q>>2]|0)-(c[r>>2]|0)|0)/4|0;c[m>>2]=(c[g>>2]|0)+8+((c[(c[g>>2]|0)+4>>2]|0)*20|0)+(c[l>>2]<<1);c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[p>>2]|0))break;b[(c[m>>2]|0)+(c[e>>2]<<1)>>1]=c[e>>2];c[e>>2]=(c[e>>2]|0)+1}Ej(c[r>>2]|0,c[k>>2]|0,c[m>>2]|0,p);c[(c[g>>2]|0)+8+((c[s>>2]|0)*20|0)+16>>2]=c[l>>2];c[(c[g>>2]|0)+8+((c[s>>2]|0)*20|0)+12>>2]=c[p>>2];c[(c[g>>2]|0)+8+((c[s>>2]|0)*20|0)+4>>2]=c[m>>2];c[(c[g>>2]|0)+8+((c[s>>2]|0)*20|0)+8>>2]=c[r>>2]}c[s>>2]=(c[s>>2]|0)+1}ng(c[k>>2]|0);if(c[j>>2]|0)Dj(c[g>>2]|0);c[c[h>>2]>>2]=c[g>>2];c[f>>2]=c[j>>2];a=c[f>>2]|0;i=n;return a|0}function Cj(a,b,d){a=a|0;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;k=i;i=i+32|0;h=k+28|0;j=k+24|0;n=k+20|0;o=k+16|0;m=k+12|0;p=k+8|0;f=k+4|0;l=k;c[h>>2]=a;c[j>>2]=b;c[n>>2]=d;c[m>>2]=-1;c[o>>2]=c[c[h>>2]>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)-1;while(1){if((c[p>>2]|0)<0)break;c[f>>2]=(c[h>>2]|0)+8+((c[p>>2]|0)*20|0);while(1){if((c[c[f>>2]>>2]|0)>=(c[(c[f>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+((e[(c[(c[f>>2]|0)+4>>2]|0)+(c[c[f>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[o>>2]|0)>>>0){g=6;break}a=c[f>>2]|0;c[a>>2]=(c[a>>2]|0)+1}if((g|0)==6?(g=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[n>>2]>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(e[(c[(c[f>>2]|0)+4>>2]|0)+(c[c[f>>2]>>2]<<1)>>1]|0)}c[p>>2]=(c[p>>2]|0)+ -1}a=c[m>>2]|0;c[c[h>>2]>>2]=a;c[c[j>>2]>>2]=a;i=k;return(c[m>>2]|0)==-1|0}function Dj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ng(c[d>>2]|0);i=b;return}function Ej(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0;r=i;i=i+160|0;g=r+144|0;p=r+140|0;k=r+136|0;q=r+132|0;m=r+128|0;j=r+124|0;l=r+120|0;o=r+116|0;h=r+112|0;f=r+8|0;n=r+4|0;s=r;c[g>>2]=a;c[p>>2]=b;c[k>>2]=d;c[q>>2]=e;c[m>>2]=c[c[q>>2]>>2];c[j>>2]=0;c[l>>2]=0;c[h>>2]=0;d=f+0|0;e=d+104|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;c[j>>2]=1;c[l>>2]=(c[k>>2]|0)+(c[o>>2]<<1);c[h>>2]=0;while(1){if(!(c[o>>2]&1<>2]))break;c[n>>2]=f+(c[h>>2]<<3);Fj(c[g>>2]|0,c[(c[n>>2]|0)+4>>2]|0,c[c[n>>2]>>2]|0,l,j,c[p>>2]|0);c[h>>2]=(c[h>>2]|0)+1}c[f+(c[h>>2]<<3)+4>>2]=c[l>>2];c[f+(c[h>>2]<<3)>>2]=c[j>>2];c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1;while(1){if((c[h>>2]|0)>=13)break;if(c[m>>2]&1<>2]){c[s>>2]=f+(c[h>>2]<<3);Fj(c[g>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[c[s>>2]>>2]|0,l,j,c[p>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}c[c[q>>2]>>2]=c[j>>2];i=r;return}function Fj(a,d,f,g,h,j){a=a|0;d=d|0;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,u=0,v=0,w=0,x=0,y=0;q=i;i=i+64|0;r=q+44|0;u=q+40|0;v=q+36|0;m=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;w=q+16|0;n=q+12|0;x=q+8|0;y=q+4|0;s=q+48|0;t=q;c[r>>2]=a;c[u>>2]=d;c[v>>2]=f;c[m>>2]=g;c[o>>2]=h;c[p>>2]=j;c[k>>2]=0;c[w>>2]=0;c[n>>2]=0;c[x>>2]=c[c[o>>2]>>2];c[y>>2]=c[c[m>>2]>>2];while(1){if((c[w>>2]|0)>=(c[x>>2]|0)?(c[k>>2]|0)>=(c[v>>2]|0):0)break;do if((c[k>>2]|0)<(c[v>>2]|0)){if((c[w>>2]|0)<(c[x>>2]|0)?(c[(c[r>>2]|0)+((e[(c[u>>2]|0)+(c[k>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[r>>2]|0)+((e[(c[y>>2]|0)+(c[w>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){l=8;break}a=c[k>>2]|0;c[k>>2]=a+1;b[s>>1]=b[(c[u>>2]|0)+(a<<1)>>1]|0}else l=8;while(0);if((l|0)==8){l=0;a=c[w>>2]|0;c[w>>2]=a+1;b[s>>1]=b[(c[y>>2]|0)+(a<<1)>>1]|0}c[t>>2]=c[(c[r>>2]|0)+((e[s>>1]|0)<<2)>>2];d=b[s>>1]|0;a=c[n>>2]|0;c[n>>2]=a+1;b[(c[p>>2]|0)+(a<<1)>>1]=d;if((c[k>>2]|0)>=(c[v>>2]|0))continue;if((c[(c[r>>2]|0)+((e[(c[u>>2]|0)+(c[k>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[t>>2]|0))continue;c[k>>2]=(c[k>>2]|0)+1}c[c[m>>2]>>2]=c[u>>2];c[c[o>>2]>>2]=c[n>>2];dF(c[u>>2]|0,c[p>>2]|0,c[n>>2]<<1|0)|0;i=q;return}function Gj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+128|0;l=g+120|0;m=g+116|0;o=g+112|0;n=g+104|0;k=g+56|0;h=g+8|0;j=g;c[m>>2]=b;c[o>>2]=f;c[j>>2]=mj(c[m>>2]|0)|0;b=k+0|0;f=(c[j>>2]|0)+0|0;p=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(p|0));Nj(c[m>>2]|0);b=h+0|0;f=(c[j>>2]|0)+48|0;p=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(p|0));if(TE(k,h,48)|0){c[l>>2]=1;p=c[l>>2]|0;i=g;return p|0}if(!(d[k+12>>0]|0)){c[l>>2]=1;p=c[l>>2]|0;i=g;return p|0}Jj(1,k,40,0,n);if((c[n>>2]|0)==(c[k+40>>2]|0)?(c[n+4>>2]|0)==(c[k+44>>2]|0):0){if(TE((c[m>>2]|0)+52|0,k,48)|0){c[c[o>>2]>>2]=1;b=(c[m>>2]|0)+52|0;f=k+0|0;p=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(p|0));c[(c[m>>2]|0)+36>>2]=((e[(c[m>>2]|0)+66>>1]|0)&65024)+(((e[(c[m>>2]|0)+66>>1]|0)&1)<<16)}c[l>>2]=0;p=c[l>>2]|0;i=g;return p|0}c[l>>2]=1;p=c[l>>2]|0;i=g;return p|0}function Hj(e){e=e|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,E=0;s=i;i=i+144|0;C=s+16|0;r=s+96|0;j=s+92|0;h=s+88|0;k=s+8|0;z=s+80|0;l=s+76|0;m=s+72|0;o=s+104|0;n=s+68|0;g=s+64|0;t=s+60|0;u=s+56|0;v=s;q=s+52|0;p=s+48|0;f=s+44|0;y=s+40|0;w=s+36|0;x=s+32|0;A=s+28|0;B=s+24|0;c[j>>2]=e;c[z+0>>2]=0;c[z+4>>2]=0;c[l>>2]=1+(d[(c[j>>2]|0)+45>>0]|0);c[m>>2]=8-(c[l>>2]|0);c[h>>2]=vj(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[h>>2]|0){c[r>>2]=c[h>>2];E=c[r>>2]|0;i=s;return E|0}e=(c[j>>2]|0)+52|0;E=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(E|0));c[h>>2]=Gg(c[(c[j>>2]|0)+8>>2]|0,k)|0;a:do if(!(c[h>>2]|0)){E=k;e=c[E+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[E>>2]|0)>>>0>32){c[n>>2]=0;c[h>>2]=Ei(c[(c[j>>2]|0)+8>>2]|0,o,32,0,0)|0;if(c[h>>2]|0)break a;c[p>>2]=Hh(o)|0;c[q>>2]=Hh(o+8|0)|0;if((c[p>>2]&-2|0)==931071618?!(((c[q>>2]|0)>65536?1:(c[q>>2]&(c[q>>2]|0)-1|0)!=0)|(c[q>>2]|0)<512):0){a[(c[j>>2]|0)+65>>0]=c[p>>2]&1;c[(c[j>>2]|0)+36>>2]=c[q>>2];E=Hh(o+12|0)|0;c[(c[j>>2]|0)+104>>2]=E;E=(c[j>>2]|0)+84|0;e=o+16|0;a[E+0>>0]=a[e+0>>0]|0;a[E+1>>0]=a[e+1>>0]|0;a[E+2>>0]=a[e+2>>0]|0;a[E+3>>0]=a[e+3>>0]|0;a[E+4>>0]=a[e+4>>0]|0;a[E+5>>0]=a[e+5>>0]|0;a[E+6>>0]=a[e+6>>0]|0;a[E+7>>0]=a[e+7>>0]|0;Jj((d[(c[j>>2]|0)+65>>0]|0)==((a[1136]|0)==0|0)&1,o,24,0,(c[j>>2]|0)+76|0);E=c[(c[j>>2]|0)+76>>2]|0;if((E|0)==(Hh(o+24|0)|0)?(E=c[(c[j>>2]|0)+80>>2]|0,(E|0)==(Hh(o+28|0)|0)):0){c[f>>2]=Hh(o+4|0)|0;if((c[f>>2]|0)!=3007e3){c[h>>2]=Ij(49260)|0;break}c[g>>2]=(c[q>>2]|0)+24;c[n>>2]=fc(c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;break a}c[t>>2]=(c[n>>2]|0)+24;c[u>>2]=0;E=v;c[E>>2]=32;c[E+4>>2]=0;while(1){o=v;e=c[g>>2]|0;e=bF(c[o>>2]|0,c[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;o=D;E=k;p=c[E+4>>2]|0;if(!((o|0)<(p|0)|((o|0)==(p|0)?e>>>0<=(c[E>>2]|0)>>>0:0)))break;c[u>>2]=(c[u>>2]|0)+1;E=v;c[h>>2]=Ei(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0,c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;if(c[h>>2]|0)break;c[y>>2]=Kj(c[j>>2]|0,w,x,c[t>>2]|0,c[n>>2]|0)|0;if(!(c[y>>2]|0))break;c[h>>2]=Lj(c[j>>2]|0,c[u>>2]|0,c[w>>2]|0)|0;if(c[h>>2]|0)break;if(c[x>>2]|0){c[(c[j>>2]|0)+68>>2]=c[u>>2];c[(c[j>>2]|0)+72>>2]=c[x>>2];b[(c[j>>2]|0)+66>>1]=c[q>>2]&65280|c[q>>2]>>16;c[z>>2]=c[(c[j>>2]|0)+76>>2];c[z+4>>2]=c[(c[j>>2]|0)+80>>2]}e=c[g>>2]|0;E=v;e=bF(c[E>>2]|0,c[E+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;E=v;c[E>>2]=e;c[E+4>>2]=D}hc(c[n>>2]|0)}}}while(0);if(!(c[h>>2]|0)){c[(c[j>>2]|0)+76>>2]=c[z>>2];c[(c[j>>2]|0)+80>>2]=c[z+4>>2];Mj(c[j>>2]|0);c[A>>2]=Aj(c[j>>2]|0)|0;c[c[A>>2]>>2]=0;c[(c[A>>2]|0)+4>>2]=0;c[B>>2]=1;while(1){if((c[B>>2]|0)>=5)break;c[(c[A>>2]|0)+4+(c[B>>2]<<2)>>2]=-1;c[B>>2]=(c[B>>2]|0)+1}if(c[(c[j>>2]|0)+68>>2]|0)c[(c[A>>2]|0)+8>>2]=c[(c[j>>2]|0)+68>>2];if(c[(c[j>>2]|0)+72>>2]|0){E=c[(c[j>>2]|0)+100>>2]|0;c[C>>2]=c[(c[j>>2]|0)+68>>2];c[C+4>>2]=E;tc(283,4512,C)}}}while(0);ji(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0);c[r>>2]=c[h>>2];E=c[r>>2]|0;i=s;return E|0}function Ij(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(vf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;tc(14,4472,d);i=b;return 14}function Jj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;k=i;i=i+48|0;n=k+32|0;q=k+28|0;p=k+24|0;o=k+20|0;h=k+16|0;m=k+12|0;j=k+8|0;l=k+4|0;g=k;c[n>>2]=a;c[q>>2]=b;c[p>>2]=d;c[o>>2]=e;c[h>>2]=f;c[l>>2]=c[q>>2];c[g>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[o>>2]|0){c[m>>2]=c[c[o>>2]>>2];c[j>>2]=c[(c[o>>2]|0)+4>>2]}else{c[j>>2]=0;c[m>>2]=0}if(c[n>>2]|0){do{q=c[l>>2]|0;c[l>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[j>>2]|0));q=c[l>>2]|0;c[l>>2]=q+4;c[j>>2]=(c[j>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[l>>2]|0)>>>0<(c[g>>2]|0)>>>0);q=c[m>>2]|0;p=c[h>>2]|0;c[p>>2]=q;p=c[j>>2]|0;q=c[h>>2]|0;q=q+4|0;c[q>>2]=p;i=k;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[l>>2]>>2]&255)<<24)+((c[c[l>>2]>>2]&65280)<<8)+((c[c[l>>2]>>2]&16711680)>>>8)+((c[c[l>>2]>>2]&-16777216)>>>24)+(c[j>>2]|0));c[j>>2]=(c[j>>2]|0)+(((c[(c[l>>2]|0)+4>>2]&255)<<24)+((c[(c[l>>2]|0)+4>>2]&65280)<<8)+((c[(c[l>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[l>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[l>>2]=(c[l>>2]|0)+8}while((c[l>>2]|0)>>>0<(c[g>>2]|0)>>>0);q=c[m>>2]|0;p=c[h>>2]|0;c[p>>2]=q;p=c[j>>2]|0;q=c[h>>2]|0;q=q+4|0;c[q>>2]=p;i=k;return}}function Kj(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0;p=i;i=i+48|0;k=p+32|0;q=p+28|0;m=p+24|0;o=p+20|0;s=p+16|0;n=p+12|0;r=p+8|0;j=p+4|0;l=p;c[q>>2]=b;c[m>>2]=e;c[o>>2]=f;c[s>>2]=g;c[n>>2]=h;c[j>>2]=(c[q>>2]|0)+76;if(TE((c[q>>2]|0)+84|0,(c[n>>2]|0)+8|0,8)|0){c[k>>2]=0;b=c[k>>2]|0;i=p;return b|0}c[l>>2]=Hh(c[n>>2]|0)|0;if(!(c[l>>2]|0)){c[k>>2]=0;b=c[k>>2]|0;i=p;return b|0}c[r>>2]=(d[(c[q>>2]|0)+65>>0]|0)==((a[1136]|0)==0|0)&1;Jj(c[r>>2]|0,c[n>>2]|0,8,c[j>>2]|0,c[j>>2]|0);Jj(c[r>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+36>>2]|0,c[j>>2]|0,c[j>>2]|0);b=c[c[j>>2]>>2]|0;if((b|0)==(Hh((c[n>>2]|0)+16|0)|0)?(b=c[(c[j>>2]|0)+4>>2]|0,(b|0)==(Hh((c[n>>2]|0)+20|0)|0)):0){c[c[m>>2]>>2]=c[l>>2];b=Hh((c[n>>2]|0)+4|0)|0;c[c[o>>2]>>2]=b;c[k>>2]=1;b=c[k>>2]|0;i=p;return b|0}c[k>>2]=0;b=c[k>>2]|0;i=p;return b|0}function Lj(a,d,e){a=a|0;d=d|0;e=e|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;j=i;i=i+48|0;h=j+44|0;q=j+40|0;t=j+36|0;k=j+32|0;o=j+28|0;s=j+24|0;l=j+20|0;n=j+16|0;f=j+12|0;m=j+8|0;p=j+4|0;r=j;c[q>>2]=a;c[t>>2]=d;c[k>>2]=e;c[s>>2]=0;c[l>>2]=0;c[n>>2]=0;a=c[q>>2]|0;c[o>>2]=Ti(a,Ui(c[t>>2]|0)|0,n,l,s)|0;do if(!(c[o>>2]|0)){c[m>>2]=(c[t>>2]|0)-(c[s>>2]|0);if((c[m>>2]|0)==1){c[r>>2]=(c[n>>2]|0)+16384-((c[l>>2]|0)+4);_E((c[l>>2]|0)+4|0,0,c[r>>2]|0)|0}if(c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)Si(c[q>>2]|0);c[p>>2]=c[m>>2];c[f>>2]=jj(c[k>>2]|0)|0;while(1){if(!(b[(c[n>>2]|0)+(c[f>>2]<<1)>>1]|0)){g=11;break}a=c[p>>2]|0;c[p>>2]=a+ -1;if(!a)break;c[f>>2]=lj(c[f>>2]|0)|0}if((g|0)==11){c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]=c[k>>2];b[(c[n>>2]|0)+(c[f>>2]<<1)>>1]=c[m>>2];break}c[h>>2]=kj(49129)|0;a=c[h>>2]|0;i=j;return a|0}while(0);c[h>>2]=c[o>>2];a=c[h>>2]|0;i=j;return a|0}function Mj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;e=f+4|0;c[d>>2]=b;c[e>>2]=mj(c[d>>2]|0)|0;c[f>>2]=40;a[(c[d>>2]|0)+64>>0]=1;c[(c[d>>2]|0)+52>>2]=3007e3;Jj(1,(c[d>>2]|0)+52|0,40,0,(c[d>>2]|0)+92|0);h=(c[e>>2]|0)+48|0;g=(c[d>>2]|0)+52|0;b=h+48|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(b|0));Nj(c[d>>2]|0);h=(c[e>>2]|0)+0|0;g=(c[d>>2]|0)+52|0;b=h+48|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(b|0));i=f;return}function Nj(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if((d[(c[e>>2]|0)+43>>0]|0|0)==2){i=b;return}Oj(c[(c[e>>2]|0)+4>>2]|0);i=b;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;rb[c[(c[c[d>>2]>>2]|0)+60>>2]&31](c[d>>2]|0);i=b;return}function Pj(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;b=e;c[f>>2]=a;if(((c[f>>2]|0)!=0?(c[c[f>>2]>>2]|0)!=0:0)?(c[(c[f>>2]|0)+8>>2]|0)>=0:0){c[b>>2]=zb[c[c[f>>2]>>2]&63](c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;a=(c[f>>2]|0)+8|0;if(!(c[b>>2]|0))c[a>>2]=-1;else c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=c[b>>2];f=c[d>>2]|0;i=e;return f|0}c[d>>2]=0;f=c[d>>2]|0;i=e;return f|0}function Qj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Rj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=aj(c[d>>2]|0)|0;i=b;return a|0}function Sj(f){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;j=i;i=i+48|0;h=j+32|0;k=j+28|0;r=j+42|0;s=j+44|0;q=j+24|0;v=j+20|0;l=j+16|0;p=j+40|0;m=j+12|0;t=j+8|0;g=j+4|0;o=j;u=j+38|0;n=j+36|0;c[k>>2]=f;do if(!(a[c[k>>2]>>0]|0)){c[v>>2]=c[(c[k>>2]|0)+52>>2];a[s>>0]=a[(c[k>>2]|0)+6>>0]|0;c[q>>2]=c[(c[k>>2]|0)+56>>2];if(Tj(c[k>>2]|0,d[(c[q>>2]|0)+(d[s>>0]|0)>>0]|0)|0){c[h>>2]=kj(53694)|0;v=c[h>>2]|0;i=j;return v|0}b[(c[k>>2]|0)+20>>1]=(c[(c[v>>2]|0)+32>>2]|0)-1;a[(c[k>>2]|0)+1>>0]=0;c[l>>2]=c[(c[v>>2]|0)+36>>2];f=(d[s>>0]|0)+12-(d[(c[k>>2]|0)+5>>0]<<2)&65535;b[p>>1]=f;b[(c[k>>2]|0)+14>>1]=f;c[(c[k>>2]|0)+60>>2]=(c[q>>2]|0)+(c[l>>2]|0);c[(c[k>>2]|0)+64>>2]=(c[q>>2]|0)+(e[p>>1]|0);c[t>>2]=((d[(c[q>>2]|0)+((d[s>>0]|0)+5)>>0]<<8|d[(c[q>>2]|0)+((d[s>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[k>>2]|0)+18>>1]=d[(c[q>>2]|0)+((d[s>>0]|0)+3)>>0]<<8|d[(c[q>>2]|0)+((d[s>>0]|0)+3)+1>>0];if((e[(c[k>>2]|0)+18>>1]|0)>>>0>((((c[(c[v>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[h>>2]=kj(53706)|0;v=c[h>>2]|0;i=j;return v|0}c[g>>2]=(e[p>>1]|0)+(e[(c[k>>2]|0)+18>>1]<<1);c[o>>2]=(c[l>>2]|0)-4;b[r>>1]=d[(c[q>>2]|0)+((d[s>>0]|0)+1)>>0]<<8|d[(c[q>>2]|0)+((d[s>>0]|0)+1)+1>>0];c[m>>2]=(d[(c[q>>2]|0)+((d[s>>0]|0)+7)>>0]|0)+(c[t>>2]|0);while(1){if((e[r>>1]|0)<=0){n=16;break}if((e[r>>1]|0)<(c[g>>2]|0)){n=10;break}if((e[r>>1]|0)>(c[o>>2]|0)){n=10;break}b[u>>1]=d[(c[q>>2]|0)+(e[r>>1]|0)>>0]<<8|d[(c[q>>2]|0)+(e[r>>1]|0)+1>>0];b[n>>1]=d[(c[q>>2]|0)+((e[r>>1]|0)+2)>>0]<<8|d[(c[q>>2]|0)+((e[r>>1]|0)+2)+1>>0];if((e[u>>1]|0)>0?(e[u>>1]|0)<=((e[r>>1]|0)+(e[n>>1]|0)+3|0):0){n=14;break}if(((e[r>>1]|0)+(e[n>>1]|0)|0)>(c[l>>2]|0)){n=14;break}c[m>>2]=(c[m>>2]|0)+(e[n>>1]|0);b[r>>1]=b[u>>1]|0}if((n|0)==10){c[h>>2]=kj(53749)|0;v=c[h>>2]|0;i=j;return v|0}else if((n|0)==14){c[h>>2]=kj(53756)|0;v=c[h>>2]|0;i=j;return v|0}else if((n|0)==16){if((c[m>>2]|0)<=(c[l>>2]|0)){b[(c[k>>2]|0)+16>>1]=(c[m>>2]|0)-(c[g>>2]|0);a[c[k>>2]>>0]=1;break}c[h>>2]=kj(53770)|0;v=c[h>>2]|0;i=j;return v|0}}while(0);c[h>>2]=0;v=c[h>>2]|0;i=j;return v|0}function Tj(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k+12|0;h=k+8|0;l=k+4|0;g=k;c[h>>2]=e;c[l>>2]=f;a[(c[h>>2]|0)+5>>0]=c[l>>2]>>3;c[l>>2]=c[l>>2]&-9;a[(c[h>>2]|0)+7>>0]=4-(d[(c[h>>2]|0)+5>>0]<<2);c[g>>2]=c[(c[h>>2]|0)+52>>2];do if((c[l>>2]|0)==5){a[(c[h>>2]|0)+2>>0]=1;a[(c[h>>2]|0)+3>>0]=a[(c[h>>2]|0)+5>>0]|0;a[(c[h>>2]|0)+4>>0]=((a[(c[h>>2]|0)+5>>0]|0)!=0^1)&1;b[(c[h>>2]|0)+10>>1]=b[(c[g>>2]|0)+28>>1]|0;b[(c[h>>2]|0)+12>>1]=b[(c[g>>2]|0)+30>>1]|0}else{if((c[l>>2]|0)==2){a[(c[h>>2]|0)+2>>0]=0;a[(c[h>>2]|0)+3>>0]=0;a[(c[h>>2]|0)+4>>0]=0;b[(c[h>>2]|0)+10>>1]=b[(c[g>>2]|0)+24>>1]|0;b[(c[h>>2]|0)+12>>1]=b[(c[g>>2]|0)+26>>1]|0;break}c[j>>2]=kj(53655)|0;e=c[j>>2]|0;i=k;return e|0}while(0);a[(c[h>>2]|0)+8>>0]=a[(c[g>>2]|0)+21>>0]|0;c[j>>2]=0;e=c[j>>2]|0;i=k;return e|0}function Uj(){return 48}function Vj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|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;i=i+32|0;o=j+20|0;k=j+16|0;l=j+12|0;m=j+8|0;n=j+4|0;p=j;c[o>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=h;g=(c[p>>2]|0)+0|0;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[(c[p>>2]|0)+20>>2]=1;c[(c[p>>2]|0)+24>>2]=c[k>>2];a[(c[p>>2]|0)+28>>0]=c[l>>2];a[(c[p>>2]|0)+29>>0]=2;c[(c[p>>2]|0)+32>>2]=c[m>>2];c[(c[p>>2]|0)+36>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=100;b=Jg(c[p>>2]|0,c[o>>2]|0)|0;i=j;return b|0}function Wj(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;l=f+12|0;h=f+8|0;j=f+4|0;k=f;c[l>>2]=a;c[h>>2]=b;c[j>>2]=c[l>>2];c[k>>2]=0;if(c[(c[j>>2]|0)+40>>2]|0){c[g>>2]=0;l=c[g>>2]|0;i=f;return l|0}do if(d[(c[j>>2]|0)+20>>0]|0){if(((d[(c[j>>2]|0)+20>>0]|0)&3|0)==0?((e[(c[h>>2]|0)+24>>1]|0)&4|0)==0:0)break;c[g>>2]=0;l=c[g>>2]|0;i=f;return l|0}while(0);c[(c[h>>2]|0)+12>>2]=0;l=(ai(c[j>>2]|0)|0)!=0;b=c[h>>2]|0;if(l){if(Xj(b)|0)c[k>>2]=Yj(c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=Zj(c[j>>2]|0,c[h>>2]|0,0,0)|0}else{if(!(((e[b+24>>1]|0)&4|0)==0?(d[(c[j>>2]|0)+16>>0]|0|0)!=3:0))c[k>>2]=_j(c[j>>2]|0,1)|0;if(((c[k>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0>(c[(c[j>>2]|0)+24>>2]|0)>>>0:0)?(Xj(c[h>>2]|0)|0)!=0:0)c[k>>2]=Yj(c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=$j(c[j>>2]|0,c[h>>2]|0)|0}if(!(c[k>>2]|0))Rg(c[h>>2]|0);c[g>>2]=Oh(c[j>>2]|0,c[k>>2]|0)|0;l=c[g>>2]|0;i=f;return l|0}function Xj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;b=d+20|0;j=d+16|0;e=d+12|0;g=d+8|0;h=d+4|0;f=d;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[h>>2]=c[(c[j>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+96>>2]|0)){a=7;break}c[g>>2]=(c[(c[e>>2]|0)+92>>2]|0)+((c[f>>2]|0)*48|0);if((c[(c[g>>2]|0)+20>>2]|0)>>>0>=(c[h>>2]|0)>>>0?0==(Yg(c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0)|0):0){a=5;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){c[b>>2]=1;j=c[b>>2]|0;i=d;return j|0}else if((a|0)==7){c[b>>2]=0;j=c[b>>2]|0;i=d;return j|0}return 0}function Yj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;j=e+24|0;b=e+20|0;f=e+16|0;k=e+12|0;h=e;g=e+8|0;c[j>>2]=a;c[b>>2]=0;c[f>>2]=c[(c[j>>2]|0)+16>>2];if(((d[(c[f>>2]|0)+5>>0]|0|0)!=2?(c[b>>2]=ok(c[f>>2]|0)|0,(c[b>>2]|0)==0):0)?(c[k>>2]=c[(c[j>>2]|0)+4>>2],l=4+(c[(c[f>>2]|0)+152>>2]|0)|0,l=lF(c[(c[f>>2]|0)+52>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=h,c[a>>2]=l,c[a+4>>2]=D,c[g>>2]=c[k>>2],k=h,c[b>>2]=pk(c[(c[f>>2]|0)+68>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0,(c[b>>2]|0)==0):0){a=c[(c[f>>2]|0)+68>>2]|0;g=c[g>>2]|0;k=c[(c[f>>2]|0)+152>>2]|0;l=h;l=bF(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[b>>2]=id(a,g,k,l,D)|0}if(c[b>>2]|0){l=c[b>>2]|0;i=e;return l|0}l=(c[f>>2]|0)+52|0;c[l>>2]=(c[l>>2]|0)+1;c[b>>2]=qk(c[f>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;l=c[b>>2]|0;i=e;return l|0}function Zj(a,b,e,f){a=a|0;b=b|0;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;h=i;i=i+48|0;l=h+32|0;j=h+28|0;m=h+24|0;g=h+20|0;n=h+16|0;o=h+12|0;p=h+8|0;q=h+4|0;k=h;c[l>>2]=a;c[j>>2]=b;c[m>>2]=e;c[g>>2]=f;a:do if(c[g>>2]|0){c[q>>2]=j;c[o>>2]=0;c[p>>2]=c[j>>2];while(1){a=c[p>>2]|0;c[c[q>>2]>>2]=a;if(!a)break a;if((c[(c[p>>2]|0)+20>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[q>>2]=(c[p>>2]|0)+12;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=c[(c[p>>2]|0)+12>>2]}}else c[o>>2]=1;while(0);a=(c[l>>2]|0)+192|0;c[a>>2]=(c[a>>2]|0)+(c[o>>2]|0);if((c[(c[j>>2]|0)+20>>2]|0)==1)bk(c[j>>2]|0);c[n>>2]=ik(c[(c[l>>2]|0)+208>>2]|0,c[(c[l>>2]|0)+152>>2]|0,c[j>>2]|0,c[m>>2]|0,c[g>>2]|0,d[(c[l>>2]|0)+10>>0]|0)|0;if(c[n>>2]|0){a=c[n>>2]|0;i=h;return a|0}if(!(c[(c[l>>2]|0)+88>>2]|0)){a=c[n>>2]|0;i=h;return a|0}c[k>>2]=c[j>>2];while(1){if(!(c[k>>2]|0))break;Ii(c[(c[l>>2]|0)+88>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+4>>2]|0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}a=c[n>>2]|0;i=h;return a|0}function _j(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+48|0;g=k+24|0;j=k+20|0;o=k+16|0;h=k+12|0;l=k+8|0;m=k;n=k+40|0;f=k+28|0;c[j>>2]=b;c[o>>2]=e;c[h>>2]=dk(c[j>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}do if(!(a[(c[j>>2]|0)+7>>0]|0)){if((c[c[(c[j>>2]|0)+64>>2]>>2]|0)!=0?(d[(c[j>>2]|0)+5>>0]|0)!=4:0){c[l>>2]=Ai(c[(c[j>>2]|0)+60>>2]|0)|0;if(!(c[l>>2]&512)){a[f+0>>0]=a[4384]|0;a[f+1>>0]=a[4385]|0;a[f+2>>0]=a[4386]|0;a[f+3>>0]=a[4387]|0;a[f+4>>0]=a[4388]|0;a[f+5>>0]=a[4389]|0;a[f+6>>0]=a[4390]|0;a[f+7>>0]=a[4391]|0;ck(f+8|0,c[(c[j>>2]|0)+44>>2]|0);e=Oi(c[j>>2]|0)|0;b=m;c[b>>2]=e;c[b+4>>2]=D;b=m;c[h>>2]=Ei(c[(c[j>>2]|0)+64>>2]|0,n,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[h>>2]|0)==0?0==(TE(n,4384,8)|0):0){b=m;c[h>>2]=id(c[(c[j>>2]|0)+64>>2]|0,4600,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[h>>2]|0)!=0&(c[h>>2]|0)!=522){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}if(((d[(c[j>>2]|0)+8>>0]|0)!=0?0==(c[l>>2]&1024|0):0)?(c[h>>2]=Yh(c[(c[j>>2]|0)+64>>2]|0,d[(c[j>>2]|0)+11>>0]|0)|0,(c[h>>2]|0)!=0):0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}b=(c[j>>2]|0)+80|0;c[h>>2]=id(c[(c[j>>2]|0)+64>>2]|0,f,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}}if(0==(c[l>>2]&1024|0)?(c[h>>2]=Yh(c[(c[j>>2]|0)+64>>2]|0,d[(c[j>>2]|0)+11>>0]|((d[(c[j>>2]|0)+11>>0]|0)==3?16:0))|0,(c[h>>2]|0)!=0):0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}m=(c[j>>2]|0)+72|0;n=c[m+4>>2]|0;b=(c[j>>2]|0)+80|0;c[b>>2]=c[m>>2];c[b+4>>2]=n;if(!(c[o>>2]|0))break;if(c[l>>2]&512)break;c[(c[j>>2]|0)+44>>2]=0;c[h>>2]=ek(c[j>>2]|0)|0;if(!(c[h>>2]|0))break;c[g>>2]=c[h>>2];b=c[g>>2]|0;i=k;return b|0}n=(c[j>>2]|0)+72|0;o=c[n+4>>2]|0;b=(c[j>>2]|0)+80|0;c[b>>2]=c[n>>2];c[b+4>>2]=o}while(0);fk(c[(c[j>>2]|0)+204>>2]|0);a[(c[j>>2]|0)+16>>0]=4;c[g>>2]=0;b=c[g>>2]|0;i=k;return b|0}function $j(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;l=i;i=i+48|0;h=l+32|0;f=l+28|0;g=l+24|0;n=l+8|0;j=l+20|0;k=l;m=l+16|0;c[h>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[c[(c[h>>2]|0)+60>>2]>>2]|0))c[g>>2]=ak(c[h>>2]|0,c[(c[h>>2]|0)+60>>2]|0,c[(c[h>>2]|0)+144>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[h>>2]|0)+36>>2]|0)>>>0<(c[(c[h>>2]|0)+24>>2]|0)>>>0:0){if((c[(c[f>>2]|0)+12>>2]|0)==0?(c[(c[f>>2]|0)+20>>2]|0)>>>0<=(c[(c[h>>2]|0)+36>>2]|0)>>>0:0)break;d=c[(c[h>>2]|0)+152>>2]|0;d=lF(d|0,((d|0)<0)<<31>>31|0,c[(c[h>>2]|0)+24>>2]|0,0)|0;b=n;c[b>>2]=d;c[b+4>>2]=D;rj(c[(c[h>>2]|0)+60>>2]|0,5,n);c[(c[h>>2]|0)+36>>2]=c[(c[h>>2]|0)+24>>2]}while(0);while(1){if(!((c[g>>2]|0)==0&(c[f>>2]|0)!=0))break;c[j>>2]=c[(c[f>>2]|0)+20>>2];if((c[j>>2]|0)>>>0<=(c[(c[h>>2]|0)+24>>2]|0)>>>0?0==((e[(c[f>>2]|0)+24>>1]|0)&32|0):0){d=c[(c[h>>2]|0)+152>>2]|0;d=lF((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=k;c[b>>2]=d;c[b+4>>2]=D;if((c[(c[f>>2]|0)+20>>2]|0)==1)bk(c[f>>2]|0);c[m>>2]=c[(c[f>>2]|0)+4>>2];b=k;c[g>>2]=id(c[(c[h>>2]|0)+60>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+152>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[j>>2]|0)==1){b=(c[h>>2]|0)+100|0;d=(c[m>>2]|0)+24|0;n=b+16|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(n|0))}if((c[j>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0)c[(c[h>>2]|0)+32>>2]=c[j>>2];b=(c[h>>2]|0)+192|0;c[b>>2]=(c[b>>2]|0)+1;Ii(c[(c[h>>2]|0)+88>>2]|0,c[j>>2]|0,c[(c[f>>2]|0)+4>>2]|0)}c[f>>2]=c[(c[f>>2]|0)+12>>2]}i=l;return c[g>>2]|0}function ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Di(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function bk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(Hh((c[(c[d>>2]|0)+16>>2]|0)+100|0)|0)+1;ck((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);ck((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);ck((c[(c[d>>2]|0)+4>>2]|0)+96|0,3008007);i=b;return}function ck(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function dk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=0;if(ai(c[e>>2]|0)|0){e=c[d>>2]|0;i=b;return e|0}c[d>>2]=gk(c[e>>2]|0,4)|0;e=c[d>>2]|0;i=b;return e|0} - - - -function Dz(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,E=0,F=0,G=0,H=0,I=0,J=0;C=i;i=i+80|0;q=C+72|0;r=C+68|0;B=C+64|0;A=C;p=C+60|0;E=C+56|0;F=C+52|0;H=C+48|0;J=C+44|0;s=C+40|0;y=C+36|0;G=C+32|0;w=C+28|0;t=C+24|0;I=C+20|0;z=C+16|0;u=C+12|0;x=C+8|0;v=C+76|0;c[r>>2]=f;c[B>>2]=g;f=A;c[f>>2]=h;c[f+4>>2]=j;c[p>>2]=k;c[E>>2]=l;c[F>>2]=m;c[H>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[I>>2]=c[c[r>>2]>>2];c[z>>2]=c[(c[I>>2]|0)+4>>2];c[x>>2]=0;if((d[(c[r>>2]|0)+73>>0]|0)==4){c[q>>2]=c[(c[r>>2]|0)+68>>2];J=c[q>>2]|0;i=C;return J|0}c[s>>2]=Hy(c[z>>2]|0,c[(c[r>>2]|0)+60>>2]|0,c[r>>2]|0)|0;if(c[s>>2]|0){c[q>>2]=c[s>>2];J=c[q>>2]|0;i=C;return J|0}if(((c[(c[r>>2]|0)+16>>2]|0)==0?(J=A,sB(c[I>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0),J=A,f=c[J+4>>2]|0,(d[(c[r>>2]|0)+72>>0]&2|0)!=0&((f|0)>0|(f|0)==0&(c[J>>2]|0)>>>0>0)):0)?(J=(c[r>>2]|0)+24|0,g=c[J>>2]|0,J=c[J+4>>2]|0,f=A,f=ZE(c[f>>2]|0,c[f+4>>2]|0,1,0)|0,(g|0)==(f|0)&(J|0)==(D|0)):0)c[y>>2]=-1;if((c[y>>2]|0)==0?(J=A,c[s>>2]=Dw(c[r>>2]|0,c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[H>>2]|0,y)|0,(c[s>>2]|0)!=0):0){c[q>>2]=c[s>>2];J=c[q>>2]|0;i=C;return J|0}c[t>>2]=c[(c[r>>2]|0)+120+(b[(c[r>>2]|0)+76>>1]<<2)>>2];c[x>>2]=c[(c[z>>2]|0)+80>>2];J=A;c[s>>2]=zC(c[t>>2]|0,c[x>>2]|0,c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[p>>2]|0,c[E>>2]|0,c[F>>2]|0,G)|0;do if(!(c[s>>2]|0)){c[w>>2]=e[(c[r>>2]|0)+78+(b[(c[r>>2]|0)+76>>1]<<1)>>1];if(!(c[y>>2]|0)){c[s>>2]=gd(c[(c[t>>2]|0)+68>>2]|0)|0;if(c[s>>2]|0)break;c[u>>2]=(c[(c[t>>2]|0)+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));if(!(a[(c[t>>2]|0)+5>>0]|0)){J=c[x>>2]|0;f=c[u>>2]|0;a[J+0>>0]=a[f+0>>0]|0;a[J+1>>0]=a[f+1>>0]|0;a[J+2>>0]=a[f+2>>0]|0;a[J+3>>0]=a[f+3>>0]|0}c[s>>2]=uB(c[t>>2]|0,c[u>>2]|0,v)|0;mC(c[t>>2]|0,c[w>>2]|0,e[v>>1]|0,s);if(c[s>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[t>>2]|0)+18>>1]|0)>0:0){f=(c[r>>2]|0)+78+(b[(c[r>>2]|0)+76>>1]<<1)|0;J=(b[f>>1]|0)+1<<16>>16;b[f>>1]=J;c[w>>2]=J&65535}nC(c[t>>2]|0,c[w>>2]|0,c[x>>2]|0,c[G>>2]|0,0,0,s);b[(c[r>>2]|0)+44>>1]=0;if((c[s>>2]|0)==0?(d[(c[t>>2]|0)+1>>0]|0)!=0:0){J=(c[r>>2]|0)+72|0;a[J>>0]=d[J>>0]&-3;c[s>>2]=oC(c[r>>2]|0)|0;a[(c[(c[r>>2]|0)+120+(b[(c[r>>2]|0)+76>>1]<<2)>>2]|0)+1>>0]=0;a[(c[r>>2]|0)+73>>0]=0}}while(0);c[q>>2]=c[s>>2];J=c[q>>2]|0;i=C;return J|0}function Ez(f){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;h=i;i=i+64|0;g=h+52|0;j=h+48|0;v=h+44|0;q=h+40|0;l=h+36|0;s=h+32|0;o=h+28|0;t=h+24|0;k=h+20|0;u=h+56|0;w=h+16|0;p=h+12|0;m=h+8|0;n=h+4|0;r=h;c[j>>2]=f;c[v>>2]=c[c[j>>2]>>2];c[q>>2]=c[(c[v>>2]|0)+4>>2];if((e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]|0)<(e[(c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2]|0)+18>>1]|0)?(d[(c[j>>2]|0)+73>>0]|0)==1:0){c[k>>2]=b[(c[j>>2]|0)+76>>1];c[t>>2]=e[(c[j>>2]|0)+78+(c[k>>2]<<1)>>1];c[s>>2]=c[(c[j>>2]|0)+120+(c[k>>2]<<2)>>2];c[o>>2]=(c[(c[s>>2]|0)+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[t>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[t>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+5>>0]|0)==0?(c[w>>2]=0,c[l>>2]=tw(c[j>>2]|0,w)|0,(c[l>>2]|0)!=0):0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}c[l>>2]=Hy(c[q>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}if(!(c[(c[j>>2]|0)+16>>2]|0)){w=(c[j>>2]|0)+24|0;sB(c[v>>2]|0,c[w>>2]|0,c[w+4>>2]|0,0)}c[l>>2]=gd(c[(c[s>>2]|0)+68>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}c[l>>2]=uB(c[s>>2]|0,c[o>>2]|0,u)|0;mC(c[s>>2]|0,c[t>>2]|0,e[u>>1]|0,l);if(c[l>>2]|0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}if((a[(c[s>>2]|0)+5>>0]|0)==0?(c[p>>2]=c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2],c[n>>2]=c[(c[(c[j>>2]|0)+120+((c[k>>2]|0)+1<<2)>>2]|0)+72>>2],c[o>>2]=(c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+((e[(c[p>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+((e[(c[p>>2]|0)+18>>1]|0)-1<<1)+1>>0])),c[m>>2]=(lB(c[p>>2]|0,c[o>>2]|0)|0)&65535,c[r>>2]=c[(c[q>>2]|0)+80>>2],c[l>>2]=gd(c[(c[p>>2]|0)+68>>2]|0)|0,nC(c[s>>2]|0,c[t>>2]|0,(c[o>>2]|0)+ -4|0,(c[m>>2]|0)+4|0,c[r>>2]|0,c[n>>2]|0,l),mC(c[p>>2]|0,(e[(c[p>>2]|0)+18>>1]|0)-1|0,c[m>>2]|0,l),(c[l>>2]|0)!=0):0){c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}c[l>>2]=oC(c[j>>2]|0)|0;if((c[l>>2]|0)==0?(b[(c[j>>2]|0)+76>>1]|0)>(c[k>>2]|0):0){while(1){m=c[j>>2]|0;if((b[(c[j>>2]|0)+76>>1]|0)<=(c[k>>2]|0))break;v=m+76|0;w=b[v>>1]|0;b[v>>1]=w+ -1<<16>>16;Rk(c[(c[j>>2]|0)+120+(w<<16>>16<<2)>>2]|0)}c[l>>2]=oC(m)|0}if(!(c[l>>2]|0))Iw(c[j>>2]|0)|0;c[g>>2]=c[l>>2];w=c[g>>2]|0;i=h;return w|0}c[g>>2]=1;w=c[g>>2]|0;i=h;return w|0}function Fz(a,d,f,g){a=a|0;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;l=i;i=i+48|0;k=l+44|0;t=l+40|0;m=l+36|0;p=l+32|0;j=l+28|0;n=l+24|0;h=l+20|0;s=l+16|0;o=l+12|0;r=l+8|0;q=l+4|0;c[t>>2]=a;c[m>>2]=d;c[p>>2]=f;c[j>>2]=g;c[n>>2]=c[(c[t>>2]|0)+56>>2];c[h>>2]=c[(c[n>>2]|0)+32>>2];c[s>>2]=c[(c[t>>2]|0)+8>>2];do if(!(c[h>>2]|0)){t=Ew(c[s>>2]|0,0,0,l)|0;c[(c[n>>2]|0)+32>>2]=t;c[h>>2]=t;if(c[h>>2]|0){b[(c[h>>2]|0)+4>>1]=c[p>>2];break}c[k>>2]=7;t=c[k>>2]|0;i=l;return t|0}while(0);c[r>>2]=lC(c[n>>2]|0,q)|0;Fw(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[h>>2]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0)){n=10;break}if((e[(c[(c[h>>2]|0)+8>>2]|0)+((c[o>>2]|0)*40|0)+8>>1]|0)&1){n=8;break}c[o>>2]=(c[o>>2]|0)+1}if((n|0)==8){c[c[j>>2]>>2]=-1;c[k>>2]=0;t=c[k>>2]|0;i=l;return t|0}else if((n|0)==10){t=Uw(c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=t;c[k>>2]=0;t=c[k>>2]|0;i=l;return t|0}return 0}function Gz(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;m=f+16|0;k=f+12|0;l=f+8|0;j=f+4|0;h=f;c[m>>2]=a;c[k>>2]=d;c[l>>2]=c[(c[m>>2]|0)+56>>2];c[j>>2]=lC(c[l>>2]|0,h)|0;if(Lp(c[k>>2]|0,c[h>>2]|0)|0){c[g>>2]=7;m=c[g>>2]|0;i=f;return m|0}else{c[(c[k>>2]|0)+12>>2]=c[h>>2];b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-16896|16;dF(c[(c[k>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}return 0}function Hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[c[f>>2]>>2];Xb(c[g>>2]|0,c[(c[f>>2]|0)+44>>2]|0);a=ne(c[g>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[f>>2]|0)+44>>2]=a;hc(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=d;return}function Iz(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(iC(c[c[e>>2]>>2]|0)|0){c[d>>2]=jC(c[e>>2]|0)|0;e=c[d>>2]|0;i=b;return e|0}else{c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}return 0}function Jz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+32|0;f=g+16|0;k=g+12|0;j=g+8|0;h=g+4|0;e=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=c[(c[k>>2]|0)+56>>2];c[e>>2]=0;b=c[h>>2]|0;if(d[(c[h>>2]|0)+56>>0]|0){c[e>>2]=EB(b)|0;c[e>>2]=c[e>>2];if(!(c[e>>2]|0)){c[e>>2]=ZB(c[h>>2]|0)|0;c[c[j>>2]>>2]=0}c[f>>2]=c[e>>2];k=c[f>>2]|0;i=g;return k|0}j=c[j>>2]|0;if(c[b+36>>2]|0){c[j>>2]=0;c[e>>2]=HB((c[h>>2]|0)+64|0,(c[h>>2]|0)+36|0)|0}else c[j>>2]=1;c[f>>2]=c[e>>2];k=c[f>>2]|0;i=g;return k|0}function Kz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=Iw(c[g>>2]|0)|0;do if(!(c[e>>2]|0)){b=c[h>>2]|0;if(!(d[(c[g>>2]|0)+73>>0]|0)){c[b>>2]=1;break}else{c[b>>2]=0;c[e>>2]=bx(c[g>>2]|0)|0;break}}while(0);i=f;return c[e>>2]|0}function Lz(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;f=i;i=i+32|0;k=f+20|0;m=f+16|0;h=f+12|0;j=f+8|0;g=f+4|0;l=f;c[k>>2]=b;c[m>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[m>>2]|0)+56>>2];e=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[g>>2]=QB(c[e+20>>2]|0,c[h>>2]|0)|0;m=c[g>>2]|0;i=f;return m|0}c[l>>2]=c[e+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[l>>2]|0)+4>>2];c[(c[l>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+40>>2]|0))oB(c[k>>2]|0,c[l>>2]|0);c[c[h>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}function Mz(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;e=i;i=i+48|0;l=e+44|0;q=e+40|0;j=e+36|0;k=e+32|0;d=e+28|0;h=e+24|0;p=e+20|0;n=e+16|0;o=e+12|0;g=e+8|0;f=e+4|0;m=e;c[q>>2]=a;c[j>>2]=b;c[k>>2]=c[(c[q>>2]|0)+56>>2];c[d>>2]=0;c[n>>2]=(c[(c[j>>2]|0)+12>>2]|0)+8;b=c[(c[j>>2]|0)+12>>2]|0;a=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=b+(Zw(a,((a|0)<0)<<31>>31)|0);if(c[(c[k>>2]|0)+4>>2]|0){b=c[k>>2]|0;if(c[(c[k>>2]|0)+40>>2]|0){if(c[b+48>>2]|0)b=((c[(c[k>>2]|0)+48>>2]|0)+(c[n>>2]|0)|0)>(c[(c[k>>2]|0)+4>>2]|0);else b=0;c[p>>2]=b&1}else{if((c[b+44>>2]|0)<=(c[(c[k>>2]|0)+4>>2]|0))if((c[(c[k>>2]|0)+44>>2]|0)>(c[c[k>>2]>>2]|0))b=(sl()|0)!=0;else b=0;else b=1;c[p>>2]=b&1}if(c[p>>2]|0){c[d>>2]=EB(c[k>>2]|0)|0;c[(c[k>>2]|0)+44>>2]=0;c[(c[k>>2]|0)+48>>2]=0}}q=(c[k>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(c[o>>2]|0);if((c[o>>2]|0)>(c[(c[k>>2]|0)+8>>2]|0))c[(c[k>>2]|0)+8>>2]=c[o>>2];do if(c[(c[k>>2]|0)+40>>2]|0){c[g>>2]=(c[(c[k>>2]|0)+48>>2]|0)+(c[n>>2]|0);do if((c[g>>2]|0)>(c[(c[k>>2]|0)+52>>2]|0)){c[m>>2]=c[(c[k>>2]|0)+52>>2]<<1;while(1){o=c[m>>2]|0;if((c[m>>2]|0)>=(c[g>>2]|0))break;c[m>>2]=o<<1}if((o|0)>(c[(c[k>>2]|0)+4>>2]|0))c[m>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)<(c[g>>2]|0))c[m>>2]=c[g>>2];q=c[m>>2]|0;c[f>>2]=kc(c[(c[k>>2]|0)+40>>2]|0,q,((q|0)<0)<<31>>31)|0;if(c[f>>2]|0){c[(c[k>>2]|0)+36>>2]=(c[f>>2]|0)+((c[(c[k>>2]|0)+36>>2]|0)-(c[(c[k>>2]|0)+40>>2]|0));c[(c[k>>2]|0)+40>>2]=c[f>>2];c[(c[k>>2]|0)+52>>2]=c[m>>2];break}c[l>>2]=7;q=c[l>>2]|0;i=e;return q|0}while(0);c[h>>2]=(c[(c[k>>2]|0)+40>>2]|0)+(c[(c[k>>2]|0)+48>>2]|0);q=(c[k>>2]|0)+48|0;c[q>>2]=(c[q>>2]|0)+((c[n>>2]|0)+7&-8);c[(c[h>>2]|0)+4>>2]=(c[(c[k>>2]|0)+36>>2]|0)-(c[(c[k>>2]|0)+40>>2]|0)}else{q=c[n>>2]|0;c[h>>2]=gc(q,((q|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+36>>2];break}c[l>>2]=7;q=c[l>>2]|0;i=e;return q|0}while(0);dF((c[h>>2]|0)+8|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[c[h>>2]>>2]=c[(c[j>>2]|0)+12>>2];c[(c[k>>2]|0)+36>>2]=c[h>>2];c[l>>2]=c[d>>2];q=c[l>>2]|0;i=e;return q|0}function Nz(a,b,e){a=a|0;b=b|0;e=e|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;l=i;i=i+128|0;g=l+116|0;r=l+112|0;q=l+108|0;m=l+104|0;p=l+80|0;o=l+100|0;n=l+96|0;k=l+92|0;j=l+88|0;h=l+40|0;f=l;c[r>>2]=a;c[q>>2]=b;c[m>>2]=e;a=p;c[a>>2]=0;c[a+4>>2]=0;Ly(c[q>>2]|0,p)|0;en(h,c[r>>2]|0,0);c[o>>2]=mz(c[q>>2]|0,0,c[p>>2]|0,1,h)|0;if(c[o>>2]|0){c[g>>2]=c[o>>2];r=c[g>>2]|0;i=l;return r|0}e=c[h+16>>2]|0;if((d[c[h+16>>2]>>0]|0|0)<128)c[n>>2]=d[e>>0];else Rw(e,n)|0;if((c[n>>2]|0)>>>0>=3?(c[n>>2]|0)<=(c[h+12>>2]|0):0){e=(c[h+16>>2]|0)+((c[n>>2]|0)-1)|0;if((d[(c[h+16>>2]|0)+((c[n>>2]|0)-1)>>0]|0|0)<128)c[k>>2]=d[e>>0];else Rw(e,k)|0;if(!((c[k>>2]|0)>>>0<1|(c[k>>2]|0)>>>0>9|(c[k>>2]|0)==7)?(c[j>>2]=Ww(c[k>>2]|0)|0,(c[h+12>>2]|0)>>>0>=((c[n>>2]|0)+(c[j>>2]|0)|0)>>>0):0){Xw((c[h+16>>2]|0)+((c[h+12>>2]|0)-(c[j>>2]|0))|0,c[k>>2]|0,f)|0;p=f;q=c[p+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Bd(h);c[g>>2]=0;r=c[g>>2]|0;i=l;return r|0}}Bd(h);c[g>>2]=kj(67174)|0;r=c[g>>2]|0;i=l;return r|0}function Oz(a,b,d,e){a=a|0;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,o=0,p=0;l=i;i=i+80|0;g=l+72|0;m=l+68|0;n=l+64|0;f=l+60|0;h=l+56|0;o=l+40|0;j=l+52|0;p=l+48|0;k=l;c[m>>2]=a;c[n>>2]=b;c[f>>2]=d;c[h>>2]=e;d=o;c[d>>2]=0;c[d+4>>2]=0;c[p>>2]=c[c[n>>2]>>2];Ly(c[p>>2]|0,o)|0;d=o;e=c[d+4>>2]|0;a=o;b=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[d>>2]|0)>>>0<=0|((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>2147483647)){c[c[h>>2]>>2]=0;c[g>>2]=kj(67206)|0;p=c[g>>2]|0;i=l;return p|0}en(k,c[m>>2]|0,0);c[j>>2]=mz(c[c[n>>2]>>2]|0,0,c[o>>2]|0,1,k)|0;if(c[j>>2]|0){c[g>>2]=c[j>>2];p=c[g>>2]|0;i=l;return p|0}else{p=Uw(c[k+12>>2]|0,c[k+16>>2]|0,c[f>>2]|0)|0;c[c[h>>2]>>2]=p;Bd(k);c[g>>2]=0;p=c[g>>2]|0;i=l;return p|0}return 0}function Pz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;Pc(c[j>>2]|0);c[e>>2]=DB(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function Qz(a,b,d,e){a=a|0;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,o=0,p=0;l=i;i=i+48|0;p=l+32|0;o=l+28|0;k=l+24|0;g=l+20|0;j=l+16|0;m=l+12|0;f=l+8|0;n=l+4|0;h=l;c[p>>2]=a;c[o>>2]=b;c[k>>2]=d;c[g>>2]=e;c[f>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[n>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[n>>2]|0)+32>>2]|0)==(c[k>>2]|0))c[(c[n>>2]|0)+32>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[h>>2]|0)+44>>2]|0)==(c[k>>2]|0))c[(c[h>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=l;return}function Rz(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;e=i;i=i+32|0;g=e+16|0;j=e+12|0;k=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[h>>2]=c[(c[g>>2]|0)+4>>2];Pc(c[g>>2]|0);c[f>>2]=Hy(c[h>>2]|0,c[j>>2]|0,0)|0;if(c[f>>2]|0){a=c[f>>2]|0;i=e;return a|0}sB(c[g>>2]|0,0,0,1);c[f>>2]=tB(c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}function Sz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h+12|0;f=h+8|0;j=h+4|0;k=h;c[g>>2]=b;c[f>>2]=e;mB(c[(c[f>>2]|0)+20>>2]|0);c[(c[f>>2]|0)+20>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[f>>2]|0)+59>>0]|0|0))break;c[k>>2]=(c[f>>2]|0)+64+(c[j>>2]<<6);nB(c[g>>2]|0,c[k>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(!(c[(c[f>>2]|0)+40>>2]|0))oB(0,c[(c[f>>2]|0)+36>>2]|0);c[(c[f>>2]|0)+36>>2]=0;c[(c[f>>2]|0)+44>>2]=0;a[(c[f>>2]|0)+56>>0]=0;c[(c[f>>2]|0)+48>>2]=0;c[(c[f>>2]|0)+8>>2]=0;Xb(c[g>>2]|0,c[(c[f>>2]|0)+32>>2]|0);c[(c[f>>2]|0)+32>>2]=0;i=h;return}function Tz(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rz(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+60>>2]|0,0)|0;i=b;return a|0}function Uz(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;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=gh((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Vb(c[f>>2]|0,c[g>>2]|0);a=(c[f>>2]|0)+24|0;c[a>>2]=c[a>>2]|2;i=e;return}function Vz(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,l=0;e=i;i=i+32|0;f=e+20|0;l=e+16|0;j=e+12|0;h=e+8|0;k=e+4|0;g=e;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[h>>2]=gh(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[h>>2]|0)){l=c[f>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=e;return}d=c[h>>2]|0;if((c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[h>>2]|0)){c[g>>2]=c[(c[d+12>>2]|0)+8>>2];while(1){if(c[g>>2]|0)b=(c[(c[g>>2]|0)+20>>2]|0)!=(c[h>>2]|0);else b=0;d=c[g>>2]|0;if(!b)break;c[g>>2]=c[d+20>>2]}if((d|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)==(c[h>>2]|0):0)c[(c[g>>2]|0)+20>>2]=c[(c[h>>2]|0)+20>>2]}else c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]=c[d+20>>2];ly(c[f>>2]|0,c[h>>2]|0);l=c[f>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=e;return}function Wz(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,l=0,m=0;e=i;i=i+32|0;h=e+24|0;m=e+20|0;k=e+16|0;f=e+12|0;l=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[f>>2]=gh(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[f>>2]|0)){i=e;return}if((c[(c[f>>2]|0)+20>>2]|0)==(c[(c[f>>2]|0)+24>>2]|0)){c[j>>2]=Ct(c[f>>2]|0)|0;c[g>>2]=(c[j>>2]|0)+64;while(1){d=(c[c[g>>2]>>2]|0)+32|0;if((c[c[g>>2]>>2]|0)==(c[f>>2]|0))break;c[g>>2]=d}c[c[g>>2]>>2]=c[d>>2]}Ub(c[h>>2]|0,c[f>>2]|0);m=(c[h>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=e;return}function Xz(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0,u=0;p=i;i=i+224|0;q=p;k=p+108|0;u=p+104|0;r=p+100|0;s=p+96|0;t=p+92|0;l=p+88|0;j=p+84|0;m=p+80|0;o=p+12|0;n=p+8|0;c[u>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[l>>2]=h;c[n>>2]=c[(c[u>>2]|0)+4>>2];Pc(c[u>>2]|0);c[m>>2]=dB(c[c[n>>2]>>2]|0)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[c[n>>2]>>2];c[o+12>>2]=Aw(c[o>>2]|0)|0;c[o+16>>2]=c[t>>2];c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[o+32>>2]=0;c[o+36>>2]=0;c[c[l>>2]>>2]=0;if(!(c[o+12>>2]|0)){c[k>>2]=0;u=c[k>>2]|0;i=p;return u|0}c[o+8>>2]=Mc((((c[o+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[o+8>>2]|0)){c[c[l>>2]>>2]=1;c[k>>2]=0;u=c[k>>2]|0;i=p;return u|0}c[j>>2]=(((c[282]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[j>>2]|0)>>>0<=(c[o+12>>2]|0)>>>0)eB(o,c[j>>2]|0);nc(o+40|0,p+112|0,100,1e9);a[o+64>>0]=2;c[o+28>>2]=33320;u=Hh((c[(c[(c[n>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;fB(o,1,u,Hh((c[(c[(c[n>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[o+28>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[s>>2]|0))break;if(!(c[o+16>>2]|0))break;if(c[(c[r>>2]|0)+(c[j>>2]<<2)>>2]|0){if((d[(c[n>>2]|0)+17>>0]|0)!=0?(c[(c[r>>2]|0)+(c[j>>2]<<2)>>2]|0)>1:0)gB(o,c[(c[r>>2]|0)+(c[j>>2]<<2)>>2]|0,1,0);c[o+28>>2]=33336;hB(o,c[(c[r>>2]|0)+(c[j>>2]<<2)>>2]|0,0,0)|0;c[o+28>>2]=0}c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if((c[j>>2]|0)>>>0>(c[o+12>>2]|0)>>>0)break;if(!(c[o+16>>2]|0))break;do if(!(iB(o,c[j>>2]|0)|0)){u=Pw(c[n>>2]|0,c[j>>2]|0)|0;if((u|0)==(c[j>>2]|0)?(a[(c[n>>2]|0)+17>>0]|0)!=0:0)break;c[q>>2]=c[j>>2];jB(o,33360,q)}while(0);if(((iB(o,c[j>>2]|0)|0)!=0?(u=Pw(c[n>>2]|0,c[j>>2]|0)|0,(u|0)==(c[j>>2]|0)):0)?(d[(c[n>>2]|0)+17>>0]|0)!=0:0){c[q>>2]=c[j>>2];jB(o,33384,q)}c[j>>2]=(c[j>>2]|0)+1}u=c[m>>2]|0;if((u|0)!=(dB(c[c[n>>2]>>2]|0)|0)){t=c[m>>2]|0;u=dB(c[c[n>>2]>>2]|0)|0;c[q>>2]=t;c[q+4>>2]=u;jB(o,33424,q)}hc(c[o+8>>2]|0);if(c[o+24>>2]|0){Zm(o+40|0);c[c[l>>2]>>2]=(c[o+20>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=p;return u|0}c[c[l>>2]>>2]=c[o+20>>2];if(!(c[o+20>>2]|0))Zm(o+40|0);c[k>>2]=pc(o+40|0)|0;u=c[k>>2]|0;i=p;return u|0}function Yz(d){d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+32>>2];Bd(c[f>>2]|0);d=Qe(c[g>>2]|0,64,0)|0;c[(c[f>>2]|0)+20>>2]=d;if(a[(c[g>>2]|0)+64>>0]|0){b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=e;return}else{d=Bk(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[(c[f>>2]|0)+24>>2]=d;g=cB(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0,c[(c[f>>2]|0)+24>>2]|0)|0;c[c[f>>2]>>2]=g;b[(c[f>>2]|0)+8>>1]=32;i=e;return}}function Zz(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;h=g;l=g+12|0;j=g+8|0;c[k>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[l>>2]=$A(c[k>>2]|0)|0;if(!(c[l>>2]|0)){i=g;return}f=h;d=c[f+4>>2]|0;a=c[l>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=d;c[(c[l>>2]|0)+8>>2]=0;c[j>>2]=c[(c[k>>2]|0)+12>>2];if(c[j>>2]|0){if(((e[(c[k>>2]|0)+26>>1]|0)&1|0)!=0?(d=h,f=c[d+4>>2]|0,a=c[j>>2]|0,h=c[a+4>>2]|0,(f|0)<(h|0)|((f|0)==(h|0)?(c[d>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)):0){a=(c[k>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[j>>2]|0)+8>>2]=c[l>>2]}else c[(c[k>>2]|0)+8>>2]=c[l>>2];c[(c[k>>2]|0)+12>>2]=c[l>>2];i=g;return}function _z(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=b;if(!((e[(c[g>>2]|0)+26>>1]|0)&2))bB(c[g>>2]|0);if(!(c[(c[g>>2]|0)+8>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}j=c[(c[g>>2]|0)+8>>2]|0;b=c[j+4>>2]|0;a=c[h>>2]|0;c[a>>2]=c[j>>2];c[a+4>>2]=b;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))jn(c[g>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}function $z(a,d,f,g){a=a|0;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;l=i;i=i+48|0;k=l+36|0;o=l+32|0;p=l+28|0;j=l;h=l+24|0;m=l+20|0;n=l+16|0;r=l+12|0;s=l+8|0;c[o>>2]=a;c[p>>2]=d;a=j;c[a>>2]=f;c[a+4>>2]=g;if((c[p>>2]|0)!=(c[(c[o>>2]|0)+28>>2]|0)){c[h>>2]=c[(c[o>>2]|0)+8>>2];if(c[h>>2]|0){c[n>>2]=(c[o>>2]|0)+20;if(!((e[(c[o>>2]|0)+26>>1]|0)&1))c[h>>2]=XA(c[h>>2]|0)|0;c[m>>2]=c[(c[o>>2]|0)+20>>2];while(1){if(!(c[m>>2]|0))break;c[n>>2]=(c[m>>2]|0)+8;if(!(c[(c[m>>2]|0)+12>>2]|0)){q=8;break}ZA(c[(c[m>>2]|0)+12>>2]|0,r,s);c[(c[m>>2]|0)+12>>2]=0;c[h>>2]=_A(c[r>>2]|0,c[h>>2]|0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}if((q|0)==8){a=YA(c[h>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=a}if((c[m>>2]|0)==0?(a=$A(c[o>>2]|0)|0,c[m>>2]=a,c[c[n>>2]>>2]=a,(c[m>>2]|0)!=0):0){a=c[m>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[(c[m>>2]|0)+8>>2]=0;a=YA(c[h>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=a}c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+12>>2]=0;a=(c[o>>2]|0)+26|0;b[a>>1]=e[a>>1]|0|1}c[(c[o>>2]|0)+28>>2]=c[p>>2]}c[m>>2]=c[(c[o>>2]|0)+20>>2];a:while(1){if(!(c[m>>2]|0)){q=25;break}c[h>>2]=c[(c[m>>2]|0)+12>>2];while(1){if(!(c[h>>2]|0))break;d=c[h>>2]|0;g=c[d+4>>2]|0;a=j;f=c[a+4>>2]|0;n=c[h>>2]|0;if((g|0)<(f|0)|((g|0)==(f|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)){c[h>>2]=c[n+8>>2];continue}d=n;g=c[d+4>>2]|0;a=j;f=c[a+4>>2]|0;if(!((g|0)>(f|0)|((g|0)==(f|0)?(c[d>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){q=23;break a}c[h>>2]=c[(c[h>>2]|0)+12>>2]}c[m>>2]=c[(c[m>>2]|0)+8>>2]}if((q|0)==23){c[k>>2]=1;a=c[k>>2]|0;i=l;return a|0}else if((q|0)==25){c[k>>2]=0;a=c[k>>2]|0;i=l;return a|0}return 0}function aA(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[f>>2]=a;if((d[(c[f>>2]|0)+16>>0]|0|0)>=3){c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}if((c[c[(c[f>>2]|0)+64>>2]>>2]|0)!=0?(f=(c[f>>2]|0)+72|0,a=c[f+4>>2]|0,(a|0)>0|(a|0)==0&(c[f>>2]|0)>>>0>0):0){c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}c[e>>2]=1;f=c[e>>2]|0;i=b;return f|0}function bA(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;f=b+4|0;e=b;c[f>>2]=a;c[e>>2]=c[c[(c[f>>2]|0)+60>>2]>>2];if(d[(c[f>>2]|0)+4>>0]|0){f=1;f=f&1;i=b;return f|0}if((c[c[e>>2]>>2]|0)<2){f=0;f=f&1;i=b;return f|0}f=(c[(c[e>>2]|0)+52>>2]|0)!=0;f=f&1;i=b;return f|0}function cA(a){a=a|0;var b=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;g=e;c[f>>2]=a;c[b>>2]=0;if(!(c[(c[f>>2]|0)+208>>2]|0)){c[g>>2]=0;c[b>>2]=hk(c[f>>2]|0,1)|0;if(!(c[b>>2]|0))c[b>>2]=vi(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+212>>2]|0,0,g)|0;if((c[b>>2]|0)==0&(c[g>>2]|0)!=0)c[b>>2]=SA(c[f>>2]|0)|0}if(c[b>>2]|0){g=c[b>>2]|0;i=e;return g|0}if(!(c[(c[f>>2]|0)+208>>2]|0)){g=c[b>>2]|0;i=e;return g|0}c[b>>2]=TA(c[f>>2]|0)|0;if(c[b>>2]|0){g=c[b>>2]|0;i=e;return g|0}c[b>>2]=Mh(c[(c[f>>2]|0)+208>>2]|0,d[(c[f>>2]|0)+9>>0]|0,c[(c[f>>2]|0)+152>>2]|0,c[(c[f>>2]|0)+200>>2]|0)|0;c[(c[f>>2]|0)+208>>2]=0;Lg(c[f>>2]|0);g=c[b>>2]|0;i=e;return g|0}function dA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+12|0;k=f+8|0;l=f+16|0;h=f+4|0;j=f;c[g>>2]=b;c[k>>2]=e;a[l>>0]=a[(c[g>>2]|0)+5>>0]|0;if((a[(c[g>>2]|0)+15>>0]|0)!=0?(c[k>>2]|0)!=4&(c[k>>2]|0)!=2:0)c[k>>2]=d[l>>0];do if((((c[k>>2]|0)!=(d[l>>0]|0)?(a[(c[g>>2]|0)+5>>0]=c[k>>2],(a[(c[g>>2]|0)+4>>0]|0)==0):0)?(d[l>>0]&5|0)==1:0)?(c[k>>2]&1|0)==0:0){Rh(c[(c[g>>2]|0)+64>>2]|0)|0;if((d[(c[g>>2]|0)+17>>0]|0)>=2){_h(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+172>>2]|0,0)|0;break}c[h>>2]=0;c[j>>2]=d[(c[g>>2]|0)+16>>0];if(!(c[j>>2]|0))c[h>>2]=KA(c[g>>2]|0)|0;if((d[(c[g>>2]|0)+16>>0]|0)==1)c[h>>2]=hk(c[g>>2]|0,2)|0;if(!(c[h>>2]|0))_h(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+172>>2]|0,0)|0;if((c[h>>2]|0)==0&(c[j>>2]|0)==1){ei(c[g>>2]|0,1)|0;break}if(!(c[j>>2]|0))Nh(c[g>>2]|0)}while(0);i=f;return d[(c[g>>2]|0)+5>>0]|0}function eA(b,e){b=b|0;e=e|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;q=i;i=i+80|0;v=q;n=q+68|0;u=q+64|0;h=q+60|0;g=q+56|0;o=q+52|0;r=q+48|0;x=q+44|0;k=q+40|0;l=q+36|0;m=q+32|0;f=q+28|0;p=q+24|0;w=q+20|0;t=q+16|0;y=q+12|0;j=q+8|0;s=q+4|0;c[u>>2]=b;c[h>>2]=e;c[g>>2]=0;c[x>>2]=0;c[p>>2]=0;if(!(a[(c[h>>2]|0)+62>>0]|0)){pn(c[u>>2]|0,c[h>>2]|0,32072,v);c[n>>2]=1;b=c[n>>2]|0;i=q;return b|0}if((c[(c[h>>2]|0)+148>>2]|0)>1){pn(c[u>>2]|0,c[h>>2]|0,32112,v);c[n>>2]=1;b=c[n>>2]|0;i=q;return b|0}c[k>>2]=c[(c[h>>2]|0)+24>>2];c[l>>2]=c[(c[h>>2]|0)+80>>2];c[m>>2]=c[(c[h>>2]|0)+84>>2];c[f>>2]=c[(c[h>>2]|0)+172>>2];b=(c[h>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[h>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[h>>2]|0)+172>>2]=0;c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+4>>2];c[w>>2]=DA(Sb(c[o>>2]|0)|0)|0;c[y>>2]=c[(c[h>>2]|0)+20>>2];if(xh(c[h>>2]|0)|0)c[x>>2]=32160;else c[x>>2]=32192;c[g>>2]=EA(c[h>>2]|0,c[u>>2]|0,c[x>>2]|0)|0;if((c[(c[h>>2]|0)+20>>2]|0)>(c[y>>2]|0))c[p>>2]=(c[(c[h>>2]|0)+16>>2]|0)+((c[(c[h>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[g>>2]|0)==0?(c[r>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+((c[(c[h>>2]|0)+20>>2]|0)-1<<4)+4>>2],gs(c[r>>2]|0)|0,c[t>>2]=FA(c[o>>2]|0)|0,c[g>>2]=EA(c[h>>2]|0,c[u>>2]|0,32216)|0,(c[g>>2]|0)==0):0)?(c[g>>2]=EA(c[h>>2]|0,c[u>>2]|0,32256)|0,(c[g>>2]|0)==0):0)?(c[g>>2]=Rc(c[o>>2]|0,2)|0,(c[g>>2]|0)==0):0){if((Vc(Sb(c[o>>2]|0)|0)|0)==5)c[(c[h>>2]|0)+72>>2]=0;y=c[r>>2]|0;b=Uc(c[o>>2]|0)|0;do if(!(kg(y,b,c[t>>2]|0,0)|0)){if((c[w>>2]|0)==0?(kg(c[r>>2]|0,c[(c[h>>2]|0)+72>>2]|0,c[t>>2]|0,0)|0)!=0:0)break;if(!(d[(c[h>>2]|0)+64>>0]|0)){v=c[r>>2]|0;if((a[(c[h>>2]|0)+66>>0]|0)>=0)e=a[(c[h>>2]|0)+66>>0]|0;else e=Tt(c[o>>2]|0)|0;Vt(v,e)|0;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32264)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32416)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32520)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32640)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32840)|0;if(c[g>>2]|0)break a;c[g>>2]=GA(c[h>>2]|0,c[u>>2]|0,32960)|0;if(c[g>>2]|0)break a;c[g>>2]=EA(c[h>>2]|0,c[u>>2]|0,33120)|0;if(c[g>>2]|0)break a;c[s>>2]=0;while(1){u=c[o>>2]|0;if((c[s>>2]|0)>=10)break;Sc(u,d[33304+(c[s>>2]|0)>>0]|0,j);c[g>>2]=bd(c[r>>2]|0,d[33304+(c[s>>2]|0)>>0]|0,(c[j>>2]|0)+(d[(c[s>>2]|0)+33305>>0]|0)|0)|0;if(c[g>>2]|0)break a;c[s>>2]=(c[s>>2]|0)+2}c[g>>2]=HA(u,c[r>>2]|0)|0;if(c[g>>2]|0)break a;c[g>>2]=gs(c[r>>2]|0)|0;if(c[g>>2]|0)break a;y=c[o>>2]|0;Vt(y,Tt(c[r>>2]|0)|0)|0;y=c[o>>2]|0;b=Uc(c[r>>2]|0)|0;c[g>>2]=kg(y,b,c[t>>2]|0,1)|0;break a}}while(0);c[g>>2]=7}while(0);c[(c[h>>2]|0)+24>>2]=c[k>>2];c[(c[h>>2]|0)+80>>2]=c[l>>2];c[(c[h>>2]|0)+84>>2]=c[m>>2];c[(c[h>>2]|0)+172>>2]=c[f>>2];kg(c[o>>2]|0,-1,-1,1)|0;a[(c[h>>2]|0)+62>>0]=1;if(c[p>>2]|0){Kk(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}cd(c[h>>2]|0);c[n>>2]=c[g>>2];b=c[n>>2]|0;i=q;return b|0}function fA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;k=d+20|0;e=d+16|0;f=d+12|0;h=d+8|0;j=d+4|0;g=d;c[k>>2]=b;c[f>>2]=c[(c[k>>2]|0)+4>>2];Pc(c[k>>2]|0);if(!(a[(c[f>>2]|0)+17>>0]|0)){c[e>>2]=101;k=c[e>>2]|0;i=d;return k|0}c[h>>2]=Aw(c[f>>2]|0)|0;c[j>>2]=Hh((c[(c[(c[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=rA(c[f>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[h>>2]|0)>>>0<(c[g>>2]|0)>>>0){c[e>>2]=kj(55422)|0;k=c[e>>2]|0;i=d;return k|0}if((c[j>>2]|0)>>>0<=0){c[e>>2]=101;k=c[e>>2]|0;i=d;return k|0}c[e>>2]=Hy(c[f>>2]|0,0,0)|0;if(!(c[e>>2]|0)){sA(c[f>>2]|0);c[e>>2]=tA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0)|0}if(c[e>>2]|0){k=c[e>>2]|0;i=d;return k|0}c[e>>2]=gd(c[(c[(c[f>>2]|0)+12>>2]|0)+68>>2]|0)|0;ck((c[(c[(c[f>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[f>>2]|0)+44>>2]|0);k=c[e>>2]|0;i=d;return k|0}function gA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;m=g+13|0;h=g;l=g+12|0;c[j>>2]=b;c[k>>2]=e;a[m>>0]=f;c[h>>2]=0;if(!(a[(c[j>>2]|0)+9>>0]|0)){b=c[h>>2]|0;i=g;return b|0}a[l>>0]=1+(d[m>>0]|0);Pc(c[j>>2]|0);c[h>>2]=By(c[j>>2]|0,c[k>>2]|0,a[l>>0]|0)|0;if(c[h>>2]|0){b=c[h>>2]|0;i=g;return b|0}c[h>>2]=qA(c[j>>2]|0,c[k>>2]|0,a[l>>0]|0)|0;b=c[h>>2]|0;i=g;return b|0}function hA(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;e=i;i=i+32|0;f=e+20|0;h=e+16|0;k=e+12|0;j=e+8|0;l=e+4|0;g=e;c[h>>2]=a;c[k>>2]=b;c[j>>2]=0;if((c[(c[h>>2]|0)+304>>2]|0)>0?(c[(c[h>>2]|0)+328>>2]|0)==0:0){c[f>>2]=6;a=c[f>>2]|0;i=e;return a|0}if(!(c[k>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}c[l>>2]=c[c[(c[k>>2]|0)+8>>2]>>2];if(c[(c[l>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+304>>2]|0))break;if((c[(c[(c[h>>2]|0)+328>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[k>>2]|0)){d=10;break}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}c[j>>2]=oA(c[h>>2]|0)|0;if((c[j>>2]|0)==0?(c[j>>2]=ub[c[(c[l>>2]|0)+56>>2]&31](c[(c[k>>2]|0)+8>>2]|0)|0,(c[j>>2]|0)==0):0)pA(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];a=c[f>>2]|0;i=e;return a|0}function iA(a,b,d,e){a=a|0;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,o=0,p=0;g=i;i=i+48|0;m=g;h=g+32|0;o=g+28|0;p=g+24|0;k=g+20|0;l=g+16|0;j=g+12|0;f=g+8|0;n=g+4|0;c[h>>2]=a;c[o>>2]=b;c[p>>2]=d;c[k>>2]=e;c[l>>2]=0;c[j>>2]=sp(c[h>>2]|0,c[p>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[n>>2]=c[c[(c[j>>2]|0)+56>>2]>>2];c[f>>2]=bh((c[h>>2]|0)+308|0,c[n>>2]|0)|0;e=c[h>>2]|0;if(c[f>>2]|0)c[l>>2]=zr(e,c[j>>2]|0,c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+4>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=c[n>>2];p=Te(e,17944,m)|0;c[c[k>>2]>>2]=p;c[l>>2]=1}if(c[l>>2]|0){p=c[l>>2]|0;i=g;return p|0}if(!(Rp(c[h>>2]|0,c[j>>2]|0)|0)){p=c[l>>2]|0;i=g;return p|0}c[l>>2]=oA(c[h>>2]|0)|0;if(c[l>>2]|0){p=c[l>>2]|0;i=g;return p|0}p=c[h>>2]|0;pA(p,Rp(c[h>>2]|0,c[j>>2]|0)|0);p=c[l>>2]|0;i=g;return p|0}function jA(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,l=0;e=i;i=i+32|0;g=e+20|0;k=e+16|0;l=e+12|0;f=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[f>>2]=0;c[h>>2]=sp(c[g>>2]|0,c[l>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2]|0)|0;if(!(c[h>>2]|0)){l=c[f>>2]|0;i=e;return l|0}if(!(c[(c[h>>2]|0)+60>>2]|0)){l=c[f>>2]|0;i=e;return l|0}c[j>>2]=Gy(c[g>>2]|0,c[h>>2]|0)|0;c[f>>2]=ub[c[(c[c[(c[j>>2]|0)+4>>2]>>2]|0)+20>>2]&31](c[(c[j>>2]|0)+8>>2]|0)|0;if(c[f>>2]|0){l=c[f>>2]|0;i=e;return l|0}c[(c[j>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+60>>2]=0;Nk(c[j>>2]|0);l=c[f>>2]|0;i=e;return l|0}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;Pc(c[g>>2]|0);c[d>>2]=nA(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function lA(b,f){b=b|0;f=f|0;var g=0,j=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;g=i;i=i+240|0;s=g+40|0;p=g+120|0;t=g+116|0;r=g+112|0;n=g+108|0;o=g+104|0;l=g+100|0;m=g+96|0;y=g+92|0;q=g+88|0;j=g+60|0;z=g+56|0;w=g+52|0;u=g+124|0;v=g;x=g+48|0;c[p>>2]=b;c[t>>2]=f;c[n>>2]=0;c[o>>2]=1;c[r>>2]=c[c[p>>2]>>2];nc(j,g+128|0,100,c[(c[r>>2]|0)+88>>2]|0);c[j>>2]=c[r>>2];if((c[(c[r>>2]|0)+160>>2]|0)>1){while(1){if(!(a[c[t>>2]>>0]|0))break;c[z>>2]=c[t>>2];do{b=c[t>>2]|0;c[t>>2]=b+1;if((a[b>>0]|0)==10)break}while((a[c[t>>2]>>0]|0)!=0);Vm(j,32016,3);Vm(j,c[z>>2]|0,(c[t>>2]|0)-(c[z>>2]|0)|0)}b=pc(j)|0;i=g;return b|0}while(1){if(!(a[c[t>>2]>>0]|0)){l=31;break}c[l>>2]=mA(c[t>>2]|0,m)|0;Vm(j,c[t>>2]|0,c[l>>2]|0);c[t>>2]=(c[t>>2]|0)+(c[l>>2]|0);if(!(c[m>>2]|0)){l=31;break}do if((a[c[t>>2]>>0]|0)==63)if((c[m>>2]|0)>1){Ag((c[t>>2]|0)+1|0,n)|0;break}else{c[n>>2]=c[o>>2];break}else c[n>>2]=Me(c[p>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;while(0);c[t>>2]=(c[t>>2]|0)+(c[m>>2]|0);c[o>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[n>>2]|0)-1|0)*40|0);if(e[(c[q>>2]|0)+8>>1]&1){Vm(j,9840,4);continue}z=c[q>>2]|0;if(e[(c[q>>2]|0)+8>>1]&4){f=c[z+4>>2]|0;b=s;c[b>>2]=c[z>>2];c[b+4>>2]=f;kn(j,0,9456,s);continue}f=c[q>>2]|0;if(e[z+8>>1]&8){h[k>>3]=+h[f>>3];c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];kn(j,0,9808,s);continue}if(e[f+8>>1]&2){a[u>>0]=a[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;if((d[u>>0]|0)!=1){f=v+0|0;z=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(z|0));c[v+32>>2]=c[r>>2];Vd(v,c[(c[q>>2]|0)+16>>2]|0,c[(c[q>>2]|0)+12>>2]|0,a[u>>0]|0,0)|0;yk(v,1)|0;c[q>>2]=v}c[w>>2]=c[(c[q>>2]|0)+12>>2];b=c[(c[q>>2]|0)+16>>2]|0;c[s>>2]=c[w>>2];c[s+4>>2]=b;kn(j,0,32024,s);if((d[u>>0]|0)==1)continue;Bd(v);continue}if(e[(c[q>>2]|0)+8>>1]&16384){c[s>>2]=c[c[q>>2]>>2];kn(j,0,32032,s);continue}Vm(j,32048,2);c[x>>2]=c[(c[q>>2]|0)+12>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[x>>2]|0))break;c[s>>2]=a[(c[(c[q>>2]|0)+16>>2]|0)+(c[y>>2]|0)>>0]&255;kn(j,0,32056,s);c[y>>2]=(c[y>>2]|0)+1}Vm(j,32064,1)}if((l|0)==31){b=pc(j)|0;i=g;return b|0}return 0}function mA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;j=g+16|0;h=g+12|0;k=g+8|0;f=g+4|0;l=g;c[j>>2]=b;c[h>>2]=d;c[f>>2]=0;c[c[h>>2]>>2]=0;while(1){if(!(a[c[j>>2]>>0]|0)){e=6;break}c[l>>2]=qm(c[j>>2]|0,k)|0;d=c[l>>2]|0;if((c[k>>2]|0)==135)break;c[f>>2]=(c[f>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0)}if((e|0)==6){b=c[f>>2]|0;i=g;return b|0}c[c[h>>2]>>2]=d;b=c[f>>2]|0;i=g;return b|0}function nA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>0)c[(c[d>>2]|0)+156>>2]=c[f>>2];i=e;return c[(c[d>>2]|0)+156>>2]|0}function oA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+4|0;g=b;c[e>>2]=a;c[b+8>>2]=5;do if(!((c[(c[e>>2]|0)+304>>2]|0)%5|0)){c[g>>2]=(c[(c[e>>2]|0)+304>>2]|0)+5<<2;g=c[g>>2]|0;c[f>>2]=Fk(c[e>>2]|0,c[(c[e>>2]|0)+328>>2]|0,g,((g|0)<0)<<31>>31)|0;if(c[f>>2]|0){g=(c[f>>2]|0)+(c[(c[e>>2]|0)+304>>2]<<2)|0;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[(c[e>>2]|0)+328>>2]=c[f>>2];break}c[d>>2]=7;g=c[d>>2]|0;i=b;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}function pA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[e>>2]|0;g=(c[f>>2]|0)+304|0;a=c[g>>2]|0;c[g>>2]=a+1;c[(c[(c[f>>2]|0)+328>>2]|0)+(a<<2)>>2]=b;Qy(c[e>>2]|0);i=d;return}function qA(b,e,f){b=b|0;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;o=i;i=i+32|0;g=o+20|0;l=o+16|0;k=o+12|0;n=o+24|0;m=o+8|0;j=o+4|0;p=o;c[l>>2]=b;c[k>>2]=e;a[n>>0]=f;c[m>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;c[p>>2]=c[(c[m>>2]|0)+72>>2];while(1){if(!(c[p>>2]|0))break;if((c[(c[p>>2]|0)+4>>2]|0)==(c[k>>2]|0)?(c[c[p>>2]>>2]|0)==(c[l>>2]|0):0){h=5;break}c[p>>2]=c[(c[p>>2]|0)+12>>2]}if((h|0)==5)c[j>>2]=c[p>>2];do if(!(c[j>>2]|0)){c[j>>2]=Mc(16,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=c[k>>2];c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+12>>2]=c[(c[m>>2]|0)+72>>2];c[(c[m>>2]|0)+72>>2]=c[j>>2];break}c[g>>2]=7;b=c[g>>2]|0;i=o;return b|0}while(0);if((d[n>>0]|0|0)>(d[(c[j>>2]|0)+8>>0]|0|0))a[(c[j>>2]|0)+8>>0]=a[n>>0]|0;c[g>>2]=0;b=c[g>>2]|0;i=o;return b|0}function rA(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,l=0;e=i;i=i+32|0;g=e+20|0;h=e+16|0;k=e+12|0;l=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[g>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(Pw(c[g>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[282]|0)>>>0)/((c[(c[g>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[282]|0)>>>0)/((c[(c[g>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+ -1;while(1){l=Pw(c[g>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[282]|0)>>>0)/((c[(c[g>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+ -1}i=e;return d|0}function sA(b){b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+4|0;f=e;c[g>>2]=b;c[f>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;g=(c[f>>2]|0)+72|0;a[g>>0]=(d[g>>0]|0)&-5;c[f>>2]=c[(c[f>>2]|0)+8>>2]}i=e;return}function tA(b,e,f,g){b=b|0;e=e|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;t=i;i=i+64|0;k=t+52|0;o=t+48|0;v=t+44|0;q=t+40|0;m=t+36|0;z=t+32|0;l=t+28|0;s=t+57|0;h=t+24|0;p=t+20|0;n=t+16|0;u=t+12|0;r=t+8|0;y=t+56|0;x=t+4|0;w=t;c[o>>2]=b;c[v>>2]=e;c[q>>2]=f;c[m>>2]=g;b=Pw(c[o>>2]|0,c[q>>2]|0)|0;do if((b|0)!=(c[q>>2]|0)?(c[q>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[z>>2]=Hh((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[z>>2]|0)){c[k>>2]=101;b=c[k>>2]|0;i=t;return b|0}c[l>>2]=Qw(c[o>>2]|0,c[q>>2]|0,s,h)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}if((d[s>>0]|0|0)==1){c[k>>2]=kj(55307)|0;b=c[k>>2]|0;i=t;return b|0}if((d[s>>0]|0|0)==2){if(c[m>>2]|0)break;c[l>>2]=uA(c[o>>2]|0,n,p,c[q>>2]|0,1)|0;if(!(c[l>>2]|0)){Rk(c[n>>2]|0);break}c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}a[y>>0]=0;c[x>>2]=0;c[l>>2]=Bw(c[o>>2]|0,c[q>>2]|0,r,0)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}if(!(c[m>>2]|0)){a[y>>0]=2;c[x>>2]=c[v>>2]}do{c[l>>2]=uA(c[o>>2]|0,w,u,c[x>>2]|0,a[y>>0]|0)|0;if(c[l>>2]|0){j=19;break}Rk(c[w>>2]|0);if(!(c[m>>2]|0))break}while((c[u>>2]|0)>>>0>(c[v>>2]|0)>>>0);if((j|0)==19){Rk(c[r>>2]|0);c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}c[l>>2]=vA(c[o>>2]|0,c[r>>2]|0,a[s>>0]|0,c[h>>2]|0,c[u>>2]|0,c[m>>2]|0)|0;Rk(c[r>>2]|0);if(c[l>>2]|0){c[k>>2]=c[l>>2];b=c[k>>2]|0;i=t;return b|0}}while(0);if(!(c[m>>2]|0)){while(1){c[q>>2]=(c[q>>2]|0)+ -1;if((c[q>>2]|0)==((((c[282]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;b=Pw(c[o>>2]|0,c[q>>2]|0)|0;if((b|0)!=(c[q>>2]|0))break}a[(c[o>>2]|0)+19>>0]=1;c[(c[o>>2]|0)+44>>2]=c[q>>2]}c[k>>2]=0;b=c[k>>2]|0;i=t;return b|0}function uA(b,e,f,g,h){b=b|0;e=e|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,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;m=i;i=i+112|0;k=m+92|0;A=m+88|0;l=m+84|0;E=m+80|0;B=m+76|0;q=m+98|0;z=m+72|0;j=m+68|0;H=m+64|0;x=m+60|0;o=m+56|0;n=m+52|0;t=m+48|0;D=m+44|0;w=m+97|0;I=m+96|0;C=m+40|0;u=m+36|0;r=m+32|0;s=m+28|0;y=m+24|0;v=m+20|0;p=m+16|0;F=m+12|0;G=m+8|0;K=m+4|0;J=m;c[A>>2]=b;c[l>>2]=e;c[E>>2]=f;c[B>>2]=g;a[q>>0]=h;c[o>>2]=0;c[n>>2]=0;c[z>>2]=c[(c[A>>2]|0)+12>>2];c[t>>2]=Aw(c[A>>2]|0)|0;c[H>>2]=Hh((c[(c[z>>2]|0)+56>>2]|0)+36|0)|0;if((c[H>>2]|0)>>>0>=(c[t>>2]|0)>>>0){c[k>>2]=kj(57337)|0;b=c[k>>2]|0;i=m;return b|0}a:do if((c[H>>2]|0)>>>0>0){a[w>>0]=0;do if((d[q>>0]|0)==1){if((c[B>>2]|0)>>>0<=(c[t>>2]|0)>>>0){c[j>>2]=Qw(c[A>>2]|0,c[B>>2]|0,I,0)|0;if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}else{if((d[I>>0]|0)!=2)break;a[w>>0]=1;break}}}else if((d[q>>0]|0)==2)a[w>>0]=1;while(0);c[j>>2]=gd(c[(c[z>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}ck((c[(c[z>>2]|0)+56>>2]|0)+36|0,(c[H>>2]|0)-1|0);b:while(1){c[n>>2]=c[o>>2];if(c[n>>2]|0)c[D>>2]=Hh(c[(c[n>>2]|0)+56>>2]|0)|0;else c[D>>2]=Hh((c[(c[z>>2]|0)+56>>2]|0)+32|0)|0;if((c[D>>2]|0)>>>0>(c[t>>2]|0)>>>0)c[j>>2]=kj(57386)|0;else c[j>>2]=Bw(c[A>>2]|0,c[D>>2]|0,o,0)|0;if(c[j>>2]|0){p=22;break}c[x>>2]=Hh((c[(c[o>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[x>>2]|0)!=0|(a[w>>0]|0)!=0){if((c[x>>2]|0)>>>0>((((c[(c[A>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){p=27;break b}do if(d[w>>0]|0){if((c[B>>2]|0)!=(c[D>>2]|0)){if((c[D>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[E>>2]>>2]=c[D>>2];c[c[l>>2]>>2]=c[o>>2];a[w>>0]=0;c[j>>2]=gd(c[(c[o>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;do if(!(c[x>>2]|0)){if(!(c[n>>2]|0)){b=(c[(c[z>>2]|0)+56>>2]|0)+32|0;e=c[(c[o>>2]|0)+56>>2]|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;break}c[j>>2]=gd(c[(c[n>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;b=c[(c[n>>2]|0)+56>>2]|0;e=c[(c[o>>2]|0)+56>>2]|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0}else{c[u>>2]=Hh((c[(c[o>>2]|0)+56>>2]|0)+8|0)|0;if((c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0){p=39;break b}c[j>>2]=Bw(c[A>>2]|0,c[u>>2]|0,C,0)|0;if(c[j>>2]|0)break a;c[j>>2]=gd(c[(c[C>>2]|0)+68>>2]|0)|0;H=c[C>>2]|0;if(c[j>>2]|0){p=42;break b}b=c[H+56>>2]|0;e=c[(c[o>>2]|0)+56>>2]|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;ck((c[(c[C>>2]|0)+56>>2]|0)+4|0,(c[x>>2]|0)-1|0);dF((c[(c[C>>2]|0)+56>>2]|0)+8|0,(c[(c[o>>2]|0)+56>>2]|0)+12|0,(c[x>>2]|0)-1<<2|0)|0;Rk(c[C>>2]|0);if(!(c[n>>2]|0)){ck((c[(c[z>>2]|0)+56>>2]|0)+32|0,c[u>>2]|0);break}c[j>>2]=gd(c[(c[n>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;ck(c[(c[n>>2]|0)+56>>2]|0,c[u>>2]|0)}while(0);c[o>>2]=0;break c}while(0);if((c[x>>2]|0)>>>0>0){c[y>>2]=c[(c[o>>2]|0)+56>>2];b=(c[B>>2]|0)>>>0>0;c[r>>2]=0;d:do if(b)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break d;c[s>>2]=Hh((c[y>>2]|0)+(8+(c[v>>2]<<2))|0)|0;H=c[v>>2]|0;if((c[s>>2]|0)>>>0<=(c[B>>2]|0)>>>0)break;c[v>>2]=H+1}c[r>>2]=H;break}else{b=Hh((c[y>>2]|0)+8|0)|0;c[p>>2]=ds(b-(c[B>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break d;b=Hh((c[y>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[F>>2]=ds(b-(c[B>>2]|0)|0)|0;if((c[F>>2]|0)<(c[p>>2]|0)){c[r>>2]=c[v>>2];c[p>>2]=c[F>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[s>>2]=Hh((c[y>>2]|0)+(8+(c[r>>2]<<2))|0)|0;if((c[s>>2]|0)>>>0>(c[t>>2]|0)>>>0){p=62;break b}if((a[w>>0]|0)!=0?(c[s>>2]|0)!=(c[B>>2]|0):0){if((c[s>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[E>>2]>>2]=c[s>>2];c[j>>2]=gd(c[(c[o>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;if((c[r>>2]|0)>>>0<((c[x>>2]|0)-1|0)>>>0){b=(c[y>>2]|0)+(8+(c[r>>2]<<2))|0;e=(c[y>>2]|0)+(4+(c[x>>2]<<2))|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0}ck((c[y>>2]|0)+4|0,(c[x>>2]|0)-1|0);b=(CA(c[A>>2]|0,c[c[E>>2]>>2]|0)|0)!=0^1;c[G>>2]=b?1:0;c[j>>2]=Bw(c[A>>2]|0,c[c[E>>2]>>2]|0,c[l>>2]|0,c[G>>2]|0)|0;do if(!(c[j>>2]|0)){c[j>>2]=gd(c[(c[c[l>>2]>>2]|0)+68>>2]|0)|0;if(!(c[j>>2]|0))break;Rk(c[c[l>>2]>>2]|0)}while(0);a[w>>0]=0}}else{c[j>>2]=gd(c[(c[o>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0)break a;c[c[E>>2]>>2]=c[D>>2];b=(c[(c[z>>2]|0)+56>>2]|0)+32|0;e=c[(c[o>>2]|0)+56>>2]|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;c[c[l>>2]>>2]=c[o>>2];c[o>>2]=0}while(0);Rk(c[n>>2]|0);c[n>>2]=0;if(!(a[w>>0]|0))break a}if((p|0)==22){c[o>>2]=0;break}else if((p|0)==27){c[j>>2]=kj(57414)|0;break}else if((p|0)==39){c[j>>2]=kj(57448)|0;break}else if((p|0)==42){Rk(H);break}else if((p|0)==62){c[j>>2]=kj(57513)|0;break}}else{c[K>>2]=0==(d[(c[A>>2]|0)+19>>0]|0)?1:0;c[j>>2]=gd(c[(c[(c[A>>2]|0)+12>>2]|0)+68>>2]|0)|0;if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}b=(c[A>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[A>>2]|0)+44>>2]|0)==((((c[282]|0)>>>0)/((c[(c[A>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){b=(c[A>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+1}do if((d[(c[A>>2]|0)+17>>0]|0)!=0?(b=Pw(c[A>>2]|0,c[(c[A>>2]|0)+44>>2]|0)|0,(b|0)==(c[(c[A>>2]|0)+44>>2]|0)):0){c[J>>2]=0;c[j>>2]=Bw(c[A>>2]|0,c[(c[A>>2]|0)+44>>2]|0,J,c[K>>2]|0)|0;if(!(c[j>>2]|0)){c[j>>2]=gd(c[(c[J>>2]|0)+68>>2]|0)|0;Rk(c[J>>2]|0)}if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}else{b=(c[A>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[A>>2]|0)+44>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[A>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;b=(c[A>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+1;break}}while(0);ck((c[(c[(c[A>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[A>>2]|0)+44>>2]|0);c[c[E>>2]>>2]=c[(c[A>>2]|0)+44>>2];c[j>>2]=Bw(c[A>>2]|0,c[c[E>>2]>>2]|0,c[l>>2]|0,c[K>>2]|0)|0;if(c[j>>2]|0){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}else{c[j>>2]=gd(c[(c[c[l>>2]>>2]|0)+68>>2]|0)|0;if(!(c[j>>2]|0))break;Rk(c[c[l>>2]>>2]|0);break}}while(0);Rk(c[o>>2]|0);Rk(c[n>>2]|0);n=c[l>>2]|0;do if(!(c[j>>2]|0)){b=(Rj(c[(c[n>>2]|0)+68>>2]|0)|0)>1;n=c[c[l>>2]>>2]|0;if(!b){a[n>>0]=0;break}Rk(n);c[c[l>>2]>>2]=0;c[k>>2]=kj(57612)|0;b=c[k>>2]|0;i=m;return b|0}else c[n>>2]=0;while(0);c[k>>2]=c[j>>2];b=c[k>>2]|0;i=m;return b|0}function vA(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;q=i;i=i+48|0;k=q+40|0;m=q+36|0;u=q+32|0;p=q+44|0;n=q+28|0;r=q+24|0;w=q+20|0;o=q+16|0;s=q+12|0;x=q+8|0;l=q+4|0;t=q;c[m>>2]=b;c[u>>2]=e;a[p>>0]=f;c[n>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[u>>2]|0)+72>>2];c[x>>2]=c[c[m>>2]>>2];c[l>>2]=wA(c[x>>2]|0,c[(c[u>>2]|0)+68>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}c[(c[u>>2]|0)+72>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[t>>2]=Hh(c[(c[u>>2]|0)+56>>2]|0)|0;if((c[t>>2]|0)!=0?(yA(c[m>>2]|0,c[t>>2]|0,4,c[r>>2]|0,l),(c[l>>2]|0)!=0):0){c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}}else v=5;if((v|0)==5?(c[l>>2]=xA(c[u>>2]|0)|0,(c[l>>2]|0)!=0):0){c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}do if((d[p>>0]|0|0)!=1){c[l>>2]=Bw(c[m>>2]|0,c[n>>2]|0,o,0)|0;if(c[l>>2]|0){c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}c[l>>2]=gd(c[(c[o>>2]|0)+68>>2]|0)|0;t=c[o>>2]|0;if(c[l>>2]|0){Rk(t);c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}else{c[l>>2]=zA(t,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;Rk(c[o>>2]|0);if(c[l>>2]|0)break;yA(c[m>>2]|0,c[r>>2]|0,a[p>>0]|0,c[n>>2]|0,l);break}}while(0);c[k>>2]=c[l>>2];x=c[k>>2]|0;i=q;return x|0}function wA(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,q=0,r=0,s=0,t=0;l=i;i=i+48|0;k=l+36|0;r=l+32|0;p=l+28|0;j=l+24|0;t=l+20|0;n=l+16|0;m=l+12|0;q=l+8|0;o=l+4|0;s=l;c[r>>2]=d;c[p>>2]=f;c[j>>2]=g;c[t>>2]=h;c[m>>2]=0;if((a[(c[r>>2]|0)+15>>0]|0)!=0?(c[q>>2]=gd(c[p>>2]|0)|0,(c[q>>2]|0)!=0):0){c[k>>2]=c[q>>2];d=c[k>>2]|0;i=l;return d|0}if(((e[(c[p>>2]|0)+24>>1]&2|0)!=0?(Xj(c[p>>2]|0)|0)!=0:0)?(d=Yj(c[p>>2]|0)|0,c[q>>2]=d,0!=(d|0)):0){c[k>>2]=c[q>>2];d=c[k>>2]|0;i=l;return d|0}if(!((c[t>>2]|0)!=0?1:(e[(c[p>>2]|0)+24>>1]&4|0)==0))c[m>>2]=c[(c[p>>2]|0)+20>>2];d=(c[p>>2]|0)+24|0;b[d>>1]=e[d>>1]&-5;c[n>>2]=Hi(c[r>>2]|0,c[j>>2]|0)|0;do if(c[n>>2]|0){h=(c[p>>2]|0)+24|0;b[h>>1]=e[h>>1]|e[(c[n>>2]|0)+24>>1]&4;h=c[n>>2]|0;if(a[(c[r>>2]|0)+15>>0]|0){BA(h,(c[(c[r>>2]|0)+24>>2]|0)+1|0);break}else{bj(h);break}}while(0);c[o>>2]=c[(c[p>>2]|0)+20>>2];BA(c[p>>2]|0,c[j>>2]|0);Ji(c[p>>2]|0);if(a[(c[r>>2]|0)+15>>0]|0){BA(c[n>>2]|0,c[o>>2]|0);ej(c[n>>2]|0)}do if(c[m>>2]|0){c[q>>2]=Xc(c[r>>2]|0,c[m>>2]|0,s,0)|0;if(!(c[q>>2]|0)){d=(c[s>>2]|0)+24|0;b[d>>1]=e[d>>1]|4;Ji(c[s>>2]|0);ej(c[s>>2]|0);break}if((c[m>>2]|0)>>>0<=(c[(c[r>>2]|0)+28>>2]|0)>>>0)Xg(c[(c[r>>2]|0)+56>>2]|0,c[m>>2]|0,c[(c[r>>2]|0)+200>>2]|0);c[k>>2]=c[q>>2];d=c[k>>2]|0;i=l;return d|0}while(0);c[k>>2]=0;d=c[k>>2]|0;i=l;return d|0}function xA(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;h=f+32|0;p=f+28|0;q=f+24|0;l=f+20|0;g=f+16|0;j=f+36|0;m=f+12|0;n=f+8|0;o=f+4|0;k=f;c[h>>2]=b;c[g>>2]=c[(c[h>>2]|0)+52>>2];a[j>>0]=a[c[h>>2]>>0]|0;c[m>>2]=c[(c[h>>2]|0)+72>>2];c[l>>2]=Sj(c[h>>2]|0)|0;if(c[l>>2]|0){q=a[j>>0]|0;b=c[h>>2]|0;a[b>>0]=q;b=c[l>>2]|0;i=f;return b|0}c[q>>2]=e[(c[h>>2]|0)+18>>1];c[p>>2]=0;while(1){b=c[h>>2]|0;if((c[p>>2]|0)>=(c[q>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]&(d[(c[(c[h>>2]|0)+64>>2]|0)+(c[p>>2]<<1)>>0]<<8|d[(c[(c[h>>2]|0)+64>>2]|0)+(c[p>>2]<<1)+1>>0]));AA(c[h>>2]|0,c[n>>2]|0,l);if(!(a[(c[h>>2]|0)+5>>0]|0)){c[o>>2]=Hh(c[n>>2]|0)|0;yA(c[g>>2]|0,c[o>>2]|0,5,c[m>>2]|0,l)}c[p>>2]=(c[p>>2]|0)+1}if(a[b+5>>0]|0){q=a[j>>0]|0;b=c[h>>2]|0;a[b>>0]=q;b=c[l>>2]|0;i=f;return b|0}c[k>>2]=Hh((c[(c[h>>2]|0)+56>>2]|0)+((d[(c[h>>2]|0)+6>>0]|0)+8)|0)|0;yA(c[g>>2]|0,c[k>>2]|0,5,c[m>>2]|0,l);q=a[j>>0]|0;b=c[h>>2]|0;a[b>>0]=q;b=c[l>>2]|0;i=f;return b|0}function yA(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0;q=i;i=i+48|0;t=q+32|0;r=q+28|0;j=q+36|0;o=q+24|0;k=q+20|0;p=q+16|0;m=q+12|0;s=q+8|0;n=q+4|0;l=q;c[t>>2]=b;c[r>>2]=e;a[j>>0]=f;c[o>>2]=g;c[k>>2]=h;if(c[c[k>>2]>>2]|0){i=q;return}if(!(c[r>>2]|0)){b=kj(53057)|0;c[c[k>>2]>>2]=b;i=q;return}c[s>>2]=Pw(c[t>>2]|0,c[r>>2]|0)|0;c[l>>2]=Xc(c[c[t>>2]>>2]|0,c[s>>2]|0,p,0)|0;if(c[l>>2]|0){c[c[k>>2]>>2]=c[l>>2];i=q;return}c[n>>2]=((c[r>>2]|0)-(c[s>>2]|0)-1|0)*5;do if((c[n>>2]|0)>=0){c[m>>2]=Zc(c[p>>2]|0)|0;if((d[j>>0]|0|0)==(d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0|0)?(b=Hh((c[m>>2]|0)+((c[n>>2]|0)+1)|0)|0,(b|0)==(c[o>>2]|0)):0)break;b=gd(c[p>>2]|0)|0;c[l>>2]=b;c[c[k>>2]>>2]=b;if(!(c[l>>2]|0)){a[(c[m>>2]|0)+(c[n>>2]|0)>>0]=a[j>>0]|0;ck((c[m>>2]|0)+((c[n>>2]|0)+1)|0,c[o>>2]|0)}}else{b=kj(53068)|0;c[c[k>>2]>>2]=b}while(0);_c(c[p>>2]|0);i=q;return}function zA(b,f,g,h){b=b|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,q=0,r=0,s=0,t=0,u=0;r=i;i=i+64|0;l=r+48|0;n=r+44|0;o=r+40|0;m=r+36|0;j=r+53|0;q=r+52|0;s=r+32|0;t=r+28|0;u=r+24|0;p=r;c[n>>2]=b;c[o>>2]=f;c[m>>2]=g;a[j>>0]=h;h=c[n>>2]|0;do if((d[j>>0]|0|0)==4){b=Hh(c[h+56>>2]|0)|0;if((b|0)==(c[o>>2]|0)){ck(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[l>>2]=kj(55139)|0;b=c[l>>2]|0;i=r;return b|0}else{a[q>>0]=a[h>>0]|0;Sj(c[n>>2]|0)|0;c[t>>2]=e[(c[n>>2]|0)+18>>1];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=(c[(c[n>>2]|0)+56>>2]|0)+((e[(c[n>>2]|0)+20>>1]|0)&((d[(c[(c[n>>2]|0)+64>>2]|0)+(c[s>>2]<<1)>>0]|0)<<8|(d[(c[(c[n>>2]|0)+64>>2]|0)+(c[s>>2]<<1)+1>>0]|0)));if((d[j>>0]|0|0)==3){Kw(c[n>>2]|0,c[u>>2]|0,p);if(((e[p+18>>1]|0|0)!=0?((c[u>>2]|0)+(e[p+18>>1]|0)+3|0)>>>0<=((c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]|0)|0)>>>0:0)?(b=c[o>>2]|0,(b|0)==(Hh((c[u>>2]|0)+(e[p+18>>1]|0)|0)|0)):0){k=11;break}}else{b=Hh(c[u>>2]|0)|0;if((b|0)==(c[o>>2]|0)){k=13;break}}c[s>>2]=(c[s>>2]|0)+1}if((k|0)==11)ck((c[u>>2]|0)+(e[p+18>>1]|0)|0,c[m>>2]|0);else if((k|0)==13)ck(c[u>>2]|0,c[m>>2]|0);do if((c[s>>2]|0)==(c[t>>2]|0)){if((d[j>>0]|0|0)==5?(b=Hh((c[(c[n>>2]|0)+56>>2]|0)+((d[(c[n>>2]|0)+6>>0]|0)+8)|0)|0,(b|0)==(c[o>>2]|0)):0){ck((c[(c[n>>2]|0)+56>>2]|0)+((d[(c[n>>2]|0)+6>>0]|0)+8)|0,c[m>>2]|0);break}c[l>>2]=kj(55173)|0;b=c[l>>2]|0;i=r;return b|0}while(0);a[c[n>>2]>>0]=a[q>>0]|0}while(0);c[l>>2]=0;b=c[l>>2]|0;i=r;return b|0}function AA(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+48|0;l=g+36|0;h=g+32|0;m=g+28|0;j=g;k=g+24|0;c[l>>2]=a;c[h>>2]=d;c[m>>2]=f;if(c[c[m>>2]>>2]|0){i=g;return}Kw(c[l>>2]|0,c[h>>2]|0,j);if(!(b[j+18>>1]|0)){i=g;return}c[k>>2]=Hh((c[h>>2]|0)+(e[j+18>>1]|0)|0)|0;yA(c[(c[l>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[l>>2]|0)+72>>2]|0,c[m>>2]|0);i=g;return}function BA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[f>>2]|0)+28>>2];Bb[c[38640+140>>2]&3](c[(c[h>>2]|0)+40>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[f>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[f>>2]|0)+24>>1]|0)&2)){i=d;return}if(!((e[(c[f>>2]|0)+24>>1]|0)&4)){i=d;return}Sg(c[f>>2]|0,3);i=d;return}function CA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=d;return g|0}g=c[f>>2]|0;if(g>>>0>(Zg(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=d;return g|0}g=(Yg(c[e>>2]|0,c[f>>2]|0)|0)!=0;g=g&1;i=d;return g|0}function DA(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+15>>0]|0|0}function EA(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;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e+12|0;k=e+8|0;j=e+4|0;c[h>>2]=a;c[g>>2]=b;c[k>>2]=d;if(!(c[k>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=e;return a|0}if(of(c[h>>2]|0,c[k>>2]|0,-1,j,0)|0){b=c[g>>2]|0;a=c[h>>2]|0;pn(b,a,nf(c[h>>2]|0)|0,e);c[f>>2]=ag(c[h>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}else{je(c[j>>2]|0)|0;c[f>>2]=JA(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}return 0}function FA(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;Pc(c[e>>2]|0);c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function GA(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,l=0;j=i;i=i+32|0;f=j+20|0;h=j+16|0;k=j+12|0;l=j+8|0;e=j+4|0;g=j;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[g>>2]=of(c[h>>2]|0,c[l>>2]|0,-1,e,0)|0;if(c[g>>2]|0){c[f>>2]=c[g>>2];l=c[f>>2]|0;i=j;return l|0}while(1){l=100==(je(c[e>>2]|0)|0);d=c[h>>2]|0;if(!l){b=6;break}l=c[k>>2]|0;c[g>>2]=EA(d,l,Ae(c[e>>2]|0,0)|0)|0;if(c[g>>2]|0){b=5;break}}if((b|0)==5){JA(c[h>>2]|0,c[e>>2]|0,c[k>>2]|0)|0;c[f>>2]=c[g>>2];l=c[f>>2]|0;i=j;return l|0}else if((b|0)==6){c[f>>2]=JA(d,c[e>>2]|0,c[k>>2]|0)|0;l=c[f>>2]|0;i=j;return l|0}return 0}function HA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+80|0;f=g+68|0;h=g+64|0;k=g+60|0;m=g+56|0;j=g+8|0;l=g;c[f>>2]=a;c[h>>2]=d;Pc(c[f>>2]|0);Pc(c[h>>2]|0);c[m>>2]=ed(Sb(c[f>>2]|0)|0)|0;if((c[c[m>>2]>>2]|0)!=0?(d=Uc(c[h>>2]|0)|0,d=lF(d|0,((d|0)<0)<<31>>31|0,Wc(c[h>>2]|0)|0,0)|0,a=l,c[a>>2]=d,c[a+4>>2]=D,a=ig(c[m>>2]|0,11,l)|0,c[k>>2]=a,c[k>>2]=(c[k>>2]|0)==12?0:a,(c[k>>2]|0)!=0):0){a=c[k>>2]|0;i=g;return a|0}l=j+0|0;d=l+48|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(d|0));c[j+20>>2]=c[c[h>>2]>>2];c[j+24>>2]=c[h>>2];c[j+4>>2]=c[f>>2];c[j+16>>2]=1;Oc(j,2147483647)|0;c[k>>2]=od(j)|0;if(!(c[k>>2]|0)){a=(c[(c[f>>2]|0)+4>>2]|0)+22|0;b[a>>1]=(e[a>>1]|0)&-3;a=c[k>>2]|0;i=g;return a|0}else{IA(Sb(c[j+4>>2]|0)|0);a=c[k>>2]|0;i=g;return a|0}return 0}function IA(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;if(a[(c[f>>2]|0)+15>>0]|0){i=e;return}if(d[(c[f>>2]|0)+12>>0]|0){i=e;return}Ig(c[f>>2]|0);i=e;return}function JA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;j=e+12|0;g=e+8|0;f=e+4|0;c[h>>2]=a;c[j>>2]=b;c[g>>2]=d;c[f>>2]=vd(c[j>>2]|0)|0;if(!(c[f>>2]|0)){j=c[f>>2]|0;i=e;return j|0}a=c[g>>2]|0;j=c[h>>2]|0;pn(a,j,nf(c[h>>2]|0)|0,e);j=c[f>>2]|0;i=e;return j|0}function KA(b){b=b|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;g=i;i=i+64|0;e=g+32|0;h=g+28|0;f=g+24|0;q=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;m=g+4|0;l=g;j=g+40|0;c[h>>2]=b;c[f>>2]=0;if((d[(c[h>>2]|0)+15>>0]|0)!=0?(c[(c[h>>2]|0)+40>>2]|0)!=0:0){c[e>>2]=c[(c[h>>2]|0)+40>>2];b=c[e>>2]|0;i=g;return b|0}a:do if((ai(c[h>>2]|0)|0)==0?(d[(c[h>>2]|0)+16>>0]|0)==0:0){c[q>>2]=1;c[f>>2]=gk(c[h>>2]|0,1)|0;if(!(c[f>>2]|0)){if((d[(c[h>>2]|0)+17>>0]|0)<=1)c[f>>2]=LA(c[h>>2]|0,q)|0;if(!(c[f>>2]|0)){if(c[q>>2]|0){if(a[(c[h>>2]|0)+14>>0]|0){c[f>>2]=776;break}c[f>>2]=hk(c[h>>2]|0,4)|0;if(c[f>>2]|0)break;if((((c[c[(c[h>>2]|0)+64>>2]>>2]|0)==0?(c[n>>2]=c[c[h>>2]>>2],c[f>>2]=vi(c[n>>2]|0,c[(c[h>>2]|0)+172>>2]|0,0,o)|0,(c[f>>2]|0)==0&(c[o>>2]|0)!=0):0)?(c[p>>2]=0,c[m>>2]=2050,c[f>>2]=Di(c[n>>2]|0,c[(c[h>>2]|0)+172>>2]|0,c[(c[h>>2]|0)+64>>2]|0,c[m>>2]|0,p)|0,(c[f>>2]|0)==0):0)?(c[p>>2]&1|0)!=0:0){c[f>>2]=Ij(45936)|0;Rh(c[(c[h>>2]|0)+64>>2]|0)|0}m=c[h>>2]|0;if(c[c[(c[h>>2]|0)+64>>2]>>2]|0){c[f>>2]=Ph(m)|0;if(!(c[f>>2]|0)){c[f>>2]=ti(c[h>>2]|0,1)|0;a[(c[h>>2]|0)+16>>0]=0}}else if(!(a[m+4>>0]|0))ei(c[h>>2]|0,1)|0;if(c[f>>2]|0){Oh(c[h>>2]|0,c[f>>2]|0)|0;break}}do if(!(a[(c[h>>2]|0)+12>>0]|0)){if((c[(c[h>>2]|0)+88>>2]|0)==0?(MA(c[(c[h>>2]|0)+204>>2]|0)|0)<=0:0)break;c[l>>2]=0;c[f>>2]=NA(c[h>>2]|0,l)|0;if(c[f>>2]|0)break a;if((c[l>>2]|0)>>>0>0){c[f>>2]=Ei(c[(c[h>>2]|0)+60>>2]|0,j,16,24,0)|0;if((c[f>>2]|0)!=0&(c[f>>2]|0)!=522)break a}else{l=j+0|0;k=l+16|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(k|0))}if(TE((c[h>>2]|0)+100|0,j,16)|0)Ig(c[h>>2]|0)}while(0);c[f>>2]=OA(c[h>>2]|0)|0;k=36}}}else k=36;while(0);if((k|0)==36){if(ai(c[h>>2]|0)|0)c[f>>2]=PA(c[h>>2]|0)|0;if((c[f>>2]|0)==0?(d[(c[h>>2]|0)+16>>0]|0)==0:0)c[f>>2]=NA(c[h>>2]|0,(c[h>>2]|0)+24|0)|0}h=c[h>>2]|0;if(c[f>>2]|0)Nh(h);else a[h+16>>0]=1;c[e>>2]=c[f>>2];b=c[e>>2]|0;i=g;return b|0}function LA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+48|0;h=g+32|0;f=g+28|0;j=g+24|0;l=g+20|0;q=g+16|0;m=g+12|0;p=g+8|0;o=g+4|0;n=g;k=g+36|0;c[h>>2]=b;c[f>>2]=e;c[j>>2]=c[c[h>>2]>>2];c[l>>2]=0;c[q>>2]=1;c[m>>2]=((c[c[(c[h>>2]|0)+64>>2]>>2]|0)!=0^1^1)&1;c[c[f>>2]>>2]=0;if(!(c[m>>2]|0))c[l>>2]=vi(c[j>>2]|0,c[(c[h>>2]|0)+172>>2]|0,0,q)|0;if(!((c[l>>2]|0)==0&(c[q>>2]|0)!=0)){b=c[l>>2]|0;i=g;return b|0}c[p>>2]=0;c[l>>2]=WA(c[(c[h>>2]|0)+60>>2]|0,p)|0;if((c[l>>2]|0)!=0|(c[p>>2]|0)!=0){b=c[l>>2]|0;i=g;return b|0}c[l>>2]=NA(c[h>>2]|0,o)|0;if(c[l>>2]|0){b=c[l>>2]|0;i=g;return b|0}if(!((c[o>>2]|0)!=0|(c[m>>2]|0)!=0)){kh();if((hk(c[h>>2]|0,2)|0)==0?(_h(c[j>>2]|0,c[(c[h>>2]|0)+172>>2]|0,0)|0,(a[(c[h>>2]|0)+4>>0]|0)==0):0)ei(c[h>>2]|0,1)|0;lh();b=c[l>>2]|0;i=g;return b|0}if(!(c[m>>2]|0)){c[n>>2]=2049;c[l>>2]=Di(c[j>>2]|0,c[(c[h>>2]|0)+172>>2]|0,c[(c[h>>2]|0)+64>>2]|0,c[n>>2]|0,n)|0}if(!(c[l>>2]|0)){a[k>>0]=0;b=Ei(c[(c[h>>2]|0)+64>>2]|0,k,1,0,0)|0;c[l>>2]=b;c[l>>2]=(c[l>>2]|0)==522?0:b;if(!(c[m>>2]|0))Rh(c[(c[h>>2]|0)+64>>2]|0)|0;c[c[f>>2]>>2]=(d[k>>0]|0)!=0&1;b=c[l>>2]|0;i=g;return b|0}else{if((c[l>>2]|0)!=14){b=c[l>>2]|0;i=g;return b|0}c[c[f>>2]>>2]=1;c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}return 0}function MA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ub[c[38640+128>>2]&31](c[(c[d>>2]|0)+40>>2]|0)|0;i=b;return a|0}function NA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;e=f+24|0;j=f+20|0;h=f+16|0;g=f+12|0;k=f;d=f+8|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=VA(c[(c[j>>2]|0)+208>>2]|0)|0;if(!(c[g>>2]|0)){a=k;c[a>>2]=0;c[a+4>>2]=0;if((c[c[(c[j>>2]|0)+60>>2]>>2]|0)!=0?(c[d>>2]=Gg(c[(c[j>>2]|0)+60>>2]|0,k)|0,(c[d>>2]|0)!=0):0){c[e>>2]=c[d>>2];a=c[e>>2]|0;i=f;return a|0}a=k;k=c[(c[j>>2]|0)+152>>2]|0;k=bF(c[a>>2]|0,c[a+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;k=ZE(k|0,D|0,1,0)|0;a=c[(c[j>>2]|0)+152>>2]|0;a=jF(k|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;c[g>>2]=a}if((c[g>>2]|0)>>>0>(c[(c[j>>2]|0)+156>>2]|0)>>>0)c[(c[j>>2]|0)+156>>2]=c[g>>2];c[c[h>>2]>>2]=c[g>>2];c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}function OA(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e+4|0;k=e;c[h>>2]=b;c[g>>2]=0;do if(!(a[(c[h>>2]|0)+12>>0]|0)){c[g>>2]=NA(c[h>>2]|0,k)|0;if(c[g>>2]|0){c[f>>2]=c[g>>2];l=c[f>>2]|0;i=e;return l|0}l=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+212>>2]|0;if(!(c[k>>2]|0)){l=_h(l,b,0)|0;c[g>>2]=l;c[g>>2]=(c[g>>2]|0)==5898?0:l;c[j>>2]=0}else c[g>>2]=vi(l,b,0,j)|0;if(!(c[g>>2]|0)){k=c[h>>2]|0;if(c[j>>2]|0){c[g>>2]=RA(k,0)|0;break}if((d[k+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[f>>2]=c[g>>2];l=c[f>>2]|0;i=e;return l|0}function PA(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[f>>2]=0;oj(c[(c[e>>2]|0)+208>>2]|0);c[d>>2]=QA(c[(c[e>>2]|0)+208>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=b;return f|0}Ig(c[e>>2]|0);f=c[d>>2]|0;i=b;return f|0}function QA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;do{j=c[f>>2]|0;b=c[g>>2]|0;a=(c[h>>2]|0)+1|0;c[h>>2]=a;c[e>>2]=nk(j,b,0,a)|0}while((c[e>>2]|0)==-1);i=d;return c[e>>2]|0}function RA(b,d){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+12|0;j=h+8|0;k=h+4|0;f=h;c[j>>2]=b;c[k>>2]=d;c[f>>2]=0;do if((a[(c[j>>2]|0)+12>>0]|0)==0?(c[(c[j>>2]|0)+208>>2]|0)==0:0)if(bA(c[j>>2]|0)|0){Rh(c[(c[j>>2]|0)+64>>2]|0)|0;c[f>>2]=SA(c[j>>2]|0)|0;if(c[f>>2]|0)break;a[(c[j>>2]|0)+5>>0]=5;a[(c[j>>2]|0)+16>>0]=0;break}else{c[g>>2]=14;b=c[g>>2]|0;i=h;return b|0}else e=7;while(0);if((e|0)==7)c[c[k>>2]>>2]=1;c[g>>2]=c[f>>2];b=c[g>>2]|0;i=h;return b|0}function SA(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=TA(c[e>>2]|0)|0;if(c[f>>2]|0){e=c[e>>2]|0;Lg(e);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+160|0;c[f>>2]=UA(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+60>>2]|0,c[(c[e>>2]|0)+212>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+208|0)|0;e=c[e>>2]|0;Lg(e);f=c[f>>2]|0;i=g;return f|0}function TA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=hk(c[e>>2]|0,4)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=b;return e|0}ei(c[e>>2]|0,1)|0;e=c[d>>2]|0;i=b;return e|0}function UA(d,e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+48|0;m=t+44|0;s=t+40|0;r=t+36|0;u=t+32|0;v=t+28|0;l=t;p=t+24|0;n=t+20|0;o=t+16|0;w=t+12|0;q=t+8|0;c[s>>2]=d;c[r>>2]=e;c[u>>2]=f;c[v>>2]=g;d=l;c[d>>2]=h;c[d+4>>2]=j;c[p>>2]=k;c[c[p>>2]>>2]=0;c[o>>2]=Mc(112+(c[(c[s>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=7;d=c[m>>2]|0;i=t;return d|0}c[c[o>>2]>>2]=c[s>>2];c[(c[o>>2]|0)+8>>2]=(c[o>>2]|0)+112;c[(c[o>>2]|0)+4>>2]=c[r>>2];b[(c[o>>2]|0)+40>>1]=-1;f=l;e=c[f+4>>2]|0;d=(c[o>>2]|0)+16|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[(c[o>>2]|0)+100>>2]=c[u>>2];a[(c[o>>2]|0)+48>>0]=1;a[(c[o>>2]|0)+49>>0]=1;a[(c[o>>2]|0)+43>>0]=(c[v>>2]|0)!=0?2:0;c[w>>2]=524294;c[n>>2]=Di(c[s>>2]|0,c[u>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[w>>2]|0,w)|0;if((c[n>>2]|0)==0?(c[w>>2]&1|0)!=0:0)a[(c[o>>2]|0)+46>>0]=1;if(c[n>>2]|0){tj(c[o>>2]|0,0);Rh(c[(c[o>>2]|0)+8>>2]|0)|0;hc(c[o>>2]|0)}else{c[q>>2]=Ai(c[r>>2]|0)|0;if(c[q>>2]&1024)a[(c[o>>2]|0)+48>>0]=0;if(c[q>>2]&4096)a[(c[o>>2]|0)+49>>0]=0;c[c[p>>2]>>2]=c[o>>2]}c[m>>2]=c[n>>2];d=c[m>>2]|0;i=t;return d|0}function VA(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=a;if((c[f>>2]|0)!=0?(b[(c[f>>2]|0)+40>>1]|0)>=0:0){c[e>>2]=c[(c[f>>2]|0)+72>>2];f=c[e>>2]|0;i=d;return f|0}c[e>>2]=0;f=c[e>>2]|0;i=d;return f|0}function WA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zb[c[(c[c[f>>2]>>2]|0)+36>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function XA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+176|0;d=b+168|0;e=b+164|0;g=b+160|0;f=b;c[d>>2]=a;_E(f|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[e>>2]=0;while(1){if(!(c[f+(c[e>>2]<<2)>>2]|0))break;c[d>>2]=_A(c[f+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[f+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}c[f+(c[e>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[g>>2]}c[d>>2]=0;c[e>>2]=0;while(1){a=c[d>>2]|0;if((c[e>>2]|0)>>>0>=40)break;c[d>>2]=_A(a,c[f+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}i=b;return a|0}function YA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;e=b+12|0;g=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[g>>2]=1;while(1){a=c[d>>2]|0;if(!(c[e>>2]|0))break;c[f>>2]=a;c[d>>2]=c[e>>2];c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+12>>2]=c[f>>2];a=aB(e,c[g>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=a;c[g>>2]=(c[g>>2]|0)+1}i=b;return a|0}function ZA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;f=g+4|0;h=g;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;d=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){ZA(c[d+12>>2]|0,c[j>>2]|0,h);c[(c[h>>2]|0)+8>>2]=c[e>>2]}else c[c[j>>2]>>2]=d;h=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){ZA(c[h+8>>2]|0,(c[e>>2]|0)+8|0,c[f>>2]|0);i=g;return}else{c[c[f>>2]>>2]=h;i=g;return}}function _A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;h=g+20|0;f=g;e=g+16|0;c[d>>2]=a;c[h>>2]=b;c[e>>2]=f;while(1){if(c[d>>2]|0)a=(c[h>>2]|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;k=c[b+4>>2]|0;a=c[h>>2]|0;j=c[a+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)){c[(c[e>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];continue}j=c[h>>2]|0;b=c[j+4>>2]|0;k=c[d>>2]|0;a=c[k+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[e>>2]|0)+8>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+8>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(b){c[(c[e>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=g;return k|0}else{c[(c[e>>2]|0)+8>>2]=c[h>>2];k=f+8|0;k=c[k>>2]|0;i=g;return k|0}return 0}function $A(a){a=a|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;h=d;c[g>>2]=a;do if(!(e[(c[g>>2]|0)+24>>1]|0)){c[h>>2]=Qe(c[(c[g>>2]|0)+4>>2]|0,1016,0)|0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[c[g>>2]>>2];c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+16>>2]=(c[h>>2]|0)+8;b[(c[g>>2]|0)+24>>1]=63;break}c[f>>2]=0;h=c[f>>2]|0;i=d;return h|0}while(0);h=(c[g>>2]|0)+24|0;b[h>>1]=(b[h>>1]|0)+ -1<<16>>16;g=(c[g>>2]|0)+16|0;h=c[g>>2]|0;c[g>>2]=h+16;c[f>>2]=h;h=c[f>>2]|0;i=d;return h|0}function aB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;g=d+12|0;h=d+8|0;f=d+4|0;j=d;c[g>>2]=a;c[h>>2]=b;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}b=c[g>>2]|0;if((c[h>>2]|0)==1){c[f>>2]=c[b>>2];c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}c[j>>2]=aB(b,(c[h>>2]|0)-1|0)|0;c[f>>2]=c[c[g>>2]>>2];j=c[j>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=j;a=c[e>>2]|0;i=d;return a|0}else{c[(c[f>>2]|0)+12>>2]=j;c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];a=aB(c[g>>2]|0,(c[h>>2]|0)-1|0)|0;c[(c[f>>2]|0)+8>>2]=a;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}return 0}function bB(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;if(!((e[(c[f>>2]|0)+26>>1]|0)&1)){a=XA(c[(c[f>>2]|0)+8>>2]|0)|0;c[(c[f>>2]|0)+8>>2]=a}f=(c[f>>2]|0)+26|0;b[f>>1]=e[f>>1]|0|2;i=d;return}function cB(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function dB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fg(c[(c[d>>2]|0)+204>>2]|0)|0;i=b;return a|0}function eB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function fB(b,e,f,g){b=b|0;e=e|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;o=i;i=i+64|0;l=o;n=o+52|0;t=o+48|0;h=o+44|0;k=o+40|0;u=o+36|0;m=o+32|0;j=o+28|0;s=o+24|0;p=o+20|0;r=o+16|0;q=o+12|0;c[n>>2]=b;c[t>>2]=e;c[h>>2]=f;c[k>>2]=g;c[m>>2]=c[k>>2];c[j>>2]=c[h>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+ -1;if((b|0)<=0){p=23;break}if(!(c[(c[n>>2]|0)+16>>2]|0)){p=23;break}g=c[n>>2]|0;if((c[h>>2]|0)<1){p=5;break}if(kB(g,c[h>>2]|0)|0){p=23;break}if(Xc(c[(c[n>>2]|0)+4>>2]|0,c[h>>2]|0,s,0)|0){p=8;break}c[p>>2]=Zc(c[s>>2]|0)|0;do if(!(c[t>>2]|0)){if((c[k>>2]|0)>0?(d[(c[c[n>>2]>>2]|0)+17>>0]|0)!=0:0){c[u>>2]=Hh(c[p>>2]|0)|0;gB(c[n>>2]|0,c[u>>2]|0,4,c[h>>2]|0)}}else{c[r>>2]=Hh((c[p>>2]|0)+4|0)|0;if(a[(c[c[n>>2]>>2]|0)+17>>0]|0)gB(c[n>>2]|0,c[h>>2]|0,2,0);if((c[r>>2]|0)>(((c[(c[c[n>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[n>>2]|0;c[l>>2]=c[h>>2];jB(b,34368,l);c[k>>2]=(c[k>>2]|0)+ -1;break}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;c[q>>2]=Hh((c[p>>2]|0)+(8+(c[u>>2]<<2))|0)|0;if(a[(c[c[n>>2]>>2]|0)+17>>0]|0)gB(c[n>>2]|0,c[q>>2]|0,2,0);kB(c[n>>2]|0,c[q>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}c[k>>2]=(c[k>>2]|0)-(c[r>>2]|0)}while(0);c[h>>2]=Hh(c[p>>2]|0)|0;_c(c[s>>2]|0)}if((p|0)==5){e=c[m>>2]|0;b=c[j>>2]|0;c[l>>2]=(c[k>>2]|0)+1;c[l+4>>2]=e;c[l+8>>2]=b;jB(g,34280,l);i=o;return}else if((p|0)==8){b=c[n>>2]|0;c[l>>2]=c[h>>2];jB(b,34344,l);i=o;return}else if((p|0)==23){i=o;return}}function gB(b,e,f,g){b=b|0;e=e|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;l=i;i=i+48|0;k=l;n=l+36|0;j=l+32|0;h=l+41|0;o=l+28|0;m=l+24|0;p=l+40|0;q=l+20|0;c[n>>2]=b;c[j>>2]=e;a[h>>0]=f;c[o>>2]=g;c[m>>2]=Qw(c[c[n>>2]>>2]|0,c[j>>2]|0,p,q)|0;if(c[m>>2]|0){if((c[m>>2]|0)==7|(c[m>>2]|0)==3082)c[(c[n>>2]|0)+24>>2]=1;b=c[n>>2]|0;c[k>>2]=c[j>>2];jB(b,34192,k);i=l;return}if((d[p>>0]|0|0)==(d[h>>0]|0|0)?(c[q>>2]|0)==(c[o>>2]|0):0){i=l;return}b=c[n>>2]|0;n=d[h>>0]|0;o=c[o>>2]|0;f=d[p>>0]|0;e=c[q>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=n;c[k+8>>2]=o;c[k+12>>2]=f;c[k+16>>2]=e;jB(b,34224,k);i=l;return}function hB(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,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;G=i;i=i+192|0;t=G+40|0;m=G+180|0;o=G+176|0;z=G+172|0;M=G+168|0;K=G+164|0;u=G+160|0;w=G+156|0;V=G+152|0;r=G+148|0;O=G+144|0;U=G+140|0;v=G+136|0;y=G+132|0;E=G+128|0;F=G+124|0;x=G+120|0;I=G+116|0;D=G+112|0;k=G+108|0;J=G+32|0;L=G+24|0;n=G+104|0;p=G+100|0;q=G+96|0;P=G+92|0;S=G+88|0;T=G;R=G+84|0;Q=G+80|0;H=G+76|0;A=G+72|0;B=G+68|0;C=G+64|0;N=G+60|0;s=G+56|0;c[o>>2]=f;c[z>>2]=g;c[M>>2]=h;c[K>>2]=j;c[k>>2]=0;f=J;c[f>>2]=0;c[f+4>>2]=0;f=L;c[f>>2]=0;c[f+4>>2]=0;c[n>>2]=c[(c[o>>2]|0)+28>>2];c[p>>2]=c[(c[o>>2]|0)+32>>2];c[q>>2]=c[(c[o>>2]|0)+36>>2];c[I>>2]=c[c[o>>2]>>2];c[D>>2]=c[(c[I>>2]|0)+36>>2];if(!(c[z>>2]|0)){c[m>>2]=0;f=c[m>>2]|0;i=G;return f|0}if(kB(c[o>>2]|0,c[z>>2]|0)|0){c[m>>2]=0;f=c[m>>2]|0;i=G;return f|0}c[(c[o>>2]|0)+28>>2]=33496;c[(c[o>>2]|0)+32>>2]=c[z>>2];f=Bw(c[I>>2]|0,c[z>>2]|0,u,0)|0;c[V>>2]=f;do if(f){f=c[o>>2]|0;c[t>>2]=c[V>>2];jB(f,33512,t);c[r>>2]=-1}else{a[c[u>>2]>>0]=0;f=Sj(c[u>>2]|0)|0;c[V>>2]=f;if(f){f=c[o>>2]|0;c[t>>2]=c[V>>2];jB(f,33552,t);Rk(c[u>>2]|0);c[r>>2]=-1;break}c[r>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[u>>2]|0)+18>>1]|0))break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+28>>2]=33592;c[(c[o>>2]|0)+32>>2]=c[z>>2];c[(c[o>>2]|0)+36>>2]=c[w>>2];c[P>>2]=(c[(c[u>>2]|0)+56>>2]|0)+(e[(c[u>>2]|0)+20>>1]&(d[(c[(c[u>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[u>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));Kw(c[u>>2]|0,c[P>>2]|0,T);c[S>>2]=c[T+12>>2];if(a[(c[u>>2]|0)+2>>0]|0){j=T;V=c[j>>2]|0;j=c[j+4>>2]|0;if(c[w>>2]|0){f=L;g=c[f+4>>2]|0;if((j|0)<(g|0)|((j|0)==(g|0)?V>>>0<=(c[f>>2]|0)>>>0:0)){f=c[o>>2]|0;W=T;V=c[W+4>>2]|0;h=L;j=c[h>>2]|0;h=c[h+4>>2]|0;g=t;c[g>>2]=c[W>>2];c[g+4>>2]=V;g=t+8|0;c[g>>2]=j;c[g+4>>2]=h;jB(f,33624,t)}}else{W=L;c[W>>2]=V;c[W+4>>2]=j;W=J;c[W>>2]=V;c[W+4>>2]=j}g=T;f=c[g+4>>2]|0;W=L;c[W>>2]=c[g>>2];c[W+4>>2]=f}if((c[S>>2]|0)>>>0>(e[T+16>>1]|0)>>>0?((c[P>>2]|0)+(e[T+18>>1]|0)|0)>>>0<=((c[(c[u>>2]|0)+56>>2]|0)+(c[(c[I>>2]|0)+36>>2]|0)|0)>>>0:0){c[R>>2]=(((c[S>>2]|0)-(e[T+16>>1]|0)+(c[D>>2]|0)-5|0)>>>0)/(((c[D>>2]|0)-4|0)>>>0)|0;c[Q>>2]=Hh((c[P>>2]|0)+(e[T+18>>1]|0)|0)|0;if(a[(c[I>>2]|0)+17>>0]|0)gB(c[o>>2]|0,c[Q>>2]|0,3,c[z>>2]|0);fB(c[o>>2]|0,0,c[Q>>2]|0,c[R>>2]|0)}if(!(a[(c[u>>2]|0)+5>>0]|0)){c[U>>2]=Hh(c[P>>2]|0)|0;if(a[(c[I>>2]|0)+17>>0]|0)gB(c[o>>2]|0,c[U>>2]|0,5,c[z>>2]|0);c[O>>2]=hB(c[o>>2]|0,c[U>>2]|0,J,(c[w>>2]|0)==0?0:L)|0;if((c[w>>2]|0)>0?(c[O>>2]|0)!=(c[r>>2]|0):0)jB(c[o>>2]|0,33672,t);c[r>>2]=c[O>>2]}c[w>>2]=(c[w>>2]|0)+1}if(!(a[(c[u>>2]|0)+5>>0]|0)){c[U>>2]=Hh((c[(c[u>>2]|0)+56>>2]|0)+((d[(c[u>>2]|0)+6>>0]|0)+8)|0)|0;c[(c[o>>2]|0)+28>>2]=33704;c[(c[o>>2]|0)+32>>2]=c[z>>2];if(a[(c[I>>2]|0)+17>>0]|0)gB(c[o>>2]|0,c[U>>2]|0,5,c[z>>2]|0);hB(c[o>>2]|0,c[U>>2]|0,0,(b[(c[u>>2]|0)+18>>1]|0)!=0?L:0)|0}c[(c[o>>2]|0)+28>>2]=33496;c[(c[o>>2]|0)+32>>2]=c[z>>2];do if((d[(c[u>>2]|0)+5>>0]|0)!=0?(d[(c[u>>2]|0)+2>>0]|0)!=0:0){O=(c[K>>2]|0)!=0;if(!(c[M>>2]|0)){if(!O)break;f=J;h=c[f+4>>2]|0;W=c[K>>2]|0;g=c[W+4>>2]|0;if(!((h|0)<(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0<=(c[W>>2]|0)>>>0:0)))break;W=c[o>>2]|0;V=J;j=c[V+4>>2]|0;g=c[K>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0;f=t;c[f>>2]=c[V>>2];c[f+4>>2]=j;f=t+8|0;c[f>>2]=h;c[f+4>>2]=g;jB(W,33928,t);break}if(!O){f=L;h=c[f+4>>2]|0;W=c[M>>2]|0;g=c[W+4>>2]|0;if(!((h|0)>(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0>(c[W>>2]|0)>>>0:0)))break;W=c[o>>2]|0;V=L;j=c[V+4>>2]|0;g=c[M>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0;f=t;c[f>>2]=c[V>>2];c[f+4>>2]=j;f=t+8|0;c[f>>2]=h;c[f+4>>2]=g;jB(W,33736,t);break}f=J;h=c[f+4>>2]|0;W=c[M>>2]|0;g=c[W+4>>2]|0;if((h|0)<(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0<=(c[W>>2]|0)>>>0:0)){W=c[o>>2]|0;V=J;j=c[V+4>>2]|0;g=c[M>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0;f=t;c[f>>2]=c[V>>2];c[f+4>>2]=j;f=t+8|0;c[f>>2]=h;c[f+4>>2]=g;jB(W,33800,t)}f=L;h=c[f+4>>2]|0;W=c[K>>2]|0;g=c[W+4>>2]|0;if((h|0)>(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0>(c[W>>2]|0)>>>0:0)){W=c[o>>2]|0;V=L;j=c[V+4>>2]|0;g=c[K>>2]|0;h=c[g>>2]|0;g=c[g+4>>2]|0;f=t;c[f>>2]=c[V>>2];c[f+4>>2]=j;f=t+8|0;c[f>>2]=h;c[f+4>>2]=g;jB(W,33864,t)}g=L;f=c[g+4>>2]|0;W=c[M>>2]|0;c[W>>2]=c[g>>2];c[W+4>>2]=f}while(0);c[x>>2]=c[(c[u>>2]|0)+56>>2];c[y>>2]=d[(c[u>>2]|0)+6>>0];c[k>>2]=Hg(c[(c[I>>2]|0)+32>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=0;if(c[k>>2]|0){c[H>>2]=((d[(c[x>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[x>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;_E((c[k>>2]|0)+(c[H>>2]|0)|0,0,(c[D>>2]|0)-(c[H>>2]|0)|0)|0;_E(c[k>>2]|0,1,c[H>>2]|0)|0;c[F>>2]=d[(c[x>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[x>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[E>>2]=(c[y>>2]|0)+12-(d[(c[u>>2]|0)+5>>0]<<2);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[F>>2]|0))break;c[A>>2]=d[(c[x>>2]|0)+((c[E>>2]|0)+(c[w>>2]<<1))>>0]<<8|d[(c[x>>2]|0)+((c[E>>2]|0)+(c[w>>2]<<1))+1>>0];c[B>>2]=65536;if((c[A>>2]|0)<=((c[D>>2]|0)-4|0))c[B>>2]=(lB(c[u>>2]|0,(c[x>>2]|0)+(c[A>>2]|0)|0)|0)&65535;a:do if(((c[A>>2]|0)+(c[B>>2]|0)-1|0)>=(c[D>>2]|0)){c[(c[o>>2]|0)+28>>2]=0;W=c[o>>2]|0;f=c[z>>2]|0;c[t>>2]=c[w>>2];c[t+4>>2]=f;jB(W,33992,t)}else{c[C>>2]=(c[A>>2]|0)+(c[B>>2]|0)-1;while(1){if((c[C>>2]|0)<(c[A>>2]|0))break a;W=(c[k>>2]|0)+(c[C>>2]|0)|0;a[W>>0]=(a[W>>0]|0)+1<<24>>24;c[C>>2]=(c[C>>2]|0)+ -1}}while(0);c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=d[(c[x>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[x>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[w>>2]|0)<=0)break;c[N>>2]=d[(c[x>>2]|0)+((c[w>>2]|0)+2)>>0]<<8|d[(c[x>>2]|0)+((c[w>>2]|0)+2)+1>>0];c[s>>2]=(c[w>>2]|0)+(c[N>>2]|0)-1;while(1){if((c[s>>2]|0)<(c[w>>2]|0))break;W=(c[k>>2]|0)+(c[s>>2]|0)|0;a[W>>0]=(a[W>>0]|0)+1<<24>>24;c[s>>2]=(c[s>>2]|0)+ -1}c[s>>2]=d[(c[x>>2]|0)+(c[w>>2]|0)>>0]<<8|d[(c[x>>2]|0)+(c[w>>2]|0)+1>>0];c[w>>2]=c[s>>2]}c[v>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;if(a[(c[k>>2]|0)+(c[w>>2]|0)>>0]|0){if((a[(c[k>>2]|0)+(c[w>>2]|0)>>0]|0)>1){l=72;break}}else c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+1}if((l|0)==72){W=c[o>>2]|0;f=c[z>>2]|0;c[t>>2]=c[w>>2];c[t+4>>2]=f;jB(W,34040,t)}if((c[v>>2]|0)!=(d[(c[x>>2]|0)+((c[y>>2]|0)+7)>>0]|0)){W=c[o>>2]|0;g=d[(c[x>>2]|0)+((c[y>>2]|0)+7)>>0]|0;f=c[z>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=g;c[t+8>>2]=f;jB(W,34080,t)}}else c[(c[o>>2]|0)+24>>2]=1;Kg(c[k>>2]|0);Rk(c[u>>2]|0)}while(0);c[(c[o>>2]|0)+28>>2]=c[n>>2];c[(c[o>>2]|0)+32>>2]=c[p>>2];c[(c[o>>2]|0)+36>>2]=c[q>>2];c[m>>2]=(c[r>>2]|0)+1;W=c[m>>2]|0;i=G;return W|0}function iB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return(d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function jB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+240|0;k=f;g=f+28|0;h=f+24|0;j=f+8|0;l=f+32|0;c[g>>2]=a;c[h>>2]=b;if(!(c[(c[g>>2]|0)+16>>2]|0)){i=f;return}a=(c[g>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1;a=(c[g>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=e;if(c[(c[g>>2]|0)+52>>2]|0)Vm((c[g>>2]|0)+40|0,33488,1);if(c[(c[g>>2]|0)+28>>2]|0){a=c[(c[g>>2]|0)+28>>2]|0;b=c[(c[g>>2]|0)+36>>2]|0;c[k>>2]=c[(c[g>>2]|0)+32>>2];c[k+4>>2]=b;sc(200,l,a,k)|0;ss((c[g>>2]|0)+40|0,l)}oc((c[g>>2]|0)+40|0,1,c[h>>2]|0,j);if((d[(c[g>>2]|0)+65>>0]|0|0)!=1){i=f;return}c[(c[g>>2]|0)+24>>2]=1;i=f;return}function kB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d;f=d+12|0;h=d+8|0;g=d+4|0;c[h>>2]=a;c[g>>2]=b;do if(c[g>>2]|0){b=c[h>>2]|0;a=c[g>>2]|0;if((c[g>>2]|0)>>>0>(c[(c[h>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;jB(b,34136,e);c[f>>2]=1;break}a=(iB(b,a)|0)!=0;h=c[h>>2]|0;g=c[g>>2]|0;if(a){c[e>>2]=g;jB(h,34160,e);c[f>>2]=1;break}else{eB(h,g);c[f>>2]=0;break}}else c[f>>2]=1;while(0);i=d;return c[f>>2]|0}function lB(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;l=i;i=i+32|0;k=l+24|0;o=l+20|0;j=l+16|0;m=l+12|0;h=l+8|0;n=l+4|0;p=l;c[o>>2]=f;c[j>>2]=g;c[m>>2]=(c[j>>2]|0)+(d[(c[o>>2]|0)+7>>0]|0);g=c[m>>2]|0;if(a[(c[o>>2]|0)+4>>0]|0){c[h>>2]=g+9;do{f=c[m>>2]|0;c[m>>2]=f+1;if(!(d[f>>0]&128))break}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0);b[k>>1]=(c[m>>2]|0)-(c[j>>2]|0);f=b[k>>1]|0;i=l;return f|0}c[n>>2]=d[g>>0];a:do if((c[n>>2]|0)>>>0>=128){c[h>>2]=(c[m>>2]|0)+9;c[n>>2]=c[n>>2]&127;do{g=c[n>>2]<<7;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[n>>2]=g|d[f>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[o>>2]|0)+2>>0]|0){c[h>>2]=(c[m>>2]|0)+9;do{f=c[m>>2]|0;c[m>>2]=f+1;if(!(d[f>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0)}while(0);if((c[n>>2]|0)>>>0<=(e[(c[o>>2]|0)+10>>1]|0)>>>0){f=(c[n>>2]|0)+((c[m>>2]|0)-(c[j>>2]|0))|0;c[n>>2]=f;c[n>>2]=(c[n>>2]|0)>>>0<4?4:f}else{c[p>>2]=e[(c[o>>2]|0)+12>>1];c[n>>2]=(c[p>>2]|0)+((((c[n>>2]|0)-(c[p>>2]|0)|0)>>>0)%(((c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[n>>2]|0)>>>0>(e[(c[o>>2]|0)+10>>1]|0)>>>0)c[n>>2]=c[p>>2];c[n>>2]=(c[n>>2]|0)+(4+((c[m>>2]|0)-(c[j>>2]|0)&65535))}b[k>>1]=c[n>>2];f=b[k>>1]|0;i=l;return f|0}function mB(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){e=c[d>>2]|0;hc(e);i=b;return}c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0))break;qB((c[(c[d>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0)|0);c[e>>2]=(c[e>>2]|0)+1}e=c[d>>2]|0;hc(e);i=b;return}function nB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Xb(c[f>>2]|0,c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=0;oB(0,c[(c[e>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+16>>2]=0;if(c[(c[e>>2]|0)+32>>2]|0){pB(c[(c[e>>2]|0)+32>>2]|0)|0;c[(c[e>>2]|0)+32>>2]=0;f=(c[e>>2]|0)+40|0;c[f>>2]=0;c[f+4>>2]=0}if(!(c[(c[e>>2]|0)+48>>2]|0)){i=d;return}pB(c[(c[e>>2]|0)+48>>2]|0)|0;c[(c[e>>2]|0)+48>>2]=0;f=(c[e>>2]|0)+56|0;c[f>>2]=0;c[f+4>>2]=0;i=d;return}function oB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;h=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Xb(c[g>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=d;return}function pB(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[b>>2]=Rh(c[e>>2]|0)|0;hc(c[e>>2]|0);i=d;return c[b>>2]|0}function qB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hc(c[(c[d>>2]|0)+28>>2]|0);hc(c[(c[d>>2]|0)+36>>2]|0);if(c[(c[d>>2]|0)+44>>2]|0)hj(c[(c[d>>2]|0)+24>>2]|0,0,0,c[(c[d>>2]|0)+44>>2]|0)|0;rB(c[(c[d>>2]|0)+48>>2]|0);d=(c[d>>2]|0)+0|0;a=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=b;return}function rB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}mB(c[(c[d>>2]|0)+4>>2]|0);hc(c[d>>2]|0);i=b;return}function sB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;k=h;l=h+16|0;j=h+12|0;m=h+8|0;c[n>>2]=b;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=g;c[m>>2]=c[(c[n>>2]|0)+4>>2];c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;do if((d[(c[j>>2]|0)+72>>0]|0)&16){if((c[l>>2]|0)==0?(m=(c[j>>2]|0)+24|0,n=k,!((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0)):0)break;a[(c[j>>2]|0)+73>>0]=0}while(0);c[j>>2]=c[(c[j>>2]|0)+8>>2]}i=h;return}function tB(b,f,g,h){b=b|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,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+48|0;j=o+36|0;r=o+32|0;v=o+28|0;n=o+24|0;q=o+20|0;l=o+16|0;k=o+12|0;p=o+8|0;u=o+4|0;m=o;t=o+40|0;c[r>>2]=b;c[v>>2]=f;c[n>>2]=g;c[q>>2]=h;b=c[v>>2]|0;if(b>>>0>(Aw(c[r>>2]|0)|0)>>>0){c[j>>2]=kj(59756)|0;b=c[j>>2]|0;i=o;return b|0}c[k>>2]=zw(c[r>>2]|0,c[v>>2]|0,l,0)|0;if(c[k>>2]|0){c[j>>2]=c[k>>2];b=c[j>>2]|0;i=o;return b|0}c[m>>2]=d[(c[l>>2]|0)+6>>0];c[u>>2]=0;while(1){v=c[l>>2]|0;if((c[u>>2]|0)>=(e[(c[l>>2]|0)+18>>1]|0)){s=11;break}c[p>>2]=(c[v+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));if((a[(c[l>>2]|0)+5>>0]|0)==0?(f=c[r>>2]|0,b=Hh(c[p>>2]|0)|0,c[k>>2]=tB(f,b,1,c[q>>2]|0)|0,(c[k>>2]|0)!=0):0)break;c[k>>2]=uB(c[l>>2]|0,c[p>>2]|0,t)|0;if(c[k>>2]|0)break;c[u>>2]=(c[u>>2]|0)+1}do if((s|0)==11){if(a[v+5>>0]|0){if(c[q>>2]|0){b=c[q>>2]|0;c[b>>2]=(c[b>>2]|0)+(e[(c[l>>2]|0)+18>>1]|0)}}else{f=c[r>>2]|0;b=Hh((c[(c[l>>2]|0)+56>>2]|0)+((c[m>>2]|0)+8)|0)|0;c[k>>2]=tB(f,b,1,c[q>>2]|0)|0;if(c[k>>2]|0)break}p=c[l>>2]|0;if(c[n>>2]|0){vB(p,k);break}b=gd(c[p+68>>2]|0)|0;c[k>>2]=b;if(!b)wB(c[l>>2]|0,d[(c[(c[l>>2]|0)+56>>2]|0)+(c[m>>2]|0)>>0]|8)}while(0);Rk(c[l>>2]|0);c[j>>2]=c[k>>2];b=c[j>>2]|0;i=o;return b|0}function uB(a,d,f){a=a|0;d=d|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;p=i;i=i+80|0;j=p+64|0;t=p+60|0;q=p+56|0;u=p+52|0;m=p+48|0;r=p;n=p+44|0;k=p+40|0;g=p+36|0;s=p+32|0;o=p+28|0;l=p+24|0;c[t>>2]=a;c[q>>2]=d;c[u>>2]=f;c[m>>2]=c[(c[t>>2]|0)+52>>2];Kw(c[t>>2]|0,c[q>>2]|0,r);b[c[u>>2]>>1]=b[r+20>>1]|0;if(!(e[r+18>>1]|0)){c[j>>2]=0;u=c[j>>2]|0;i=p;return u|0}if(((c[q>>2]|0)+(e[r+18>>1]|0)+3|0)>>>0>((c[(c[t>>2]|0)+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]|0)|0)>>>0){c[j>>2]=kj(57786)|0;u=c[j>>2]|0;i=p;return u|0}c[n>>2]=Hh((c[q>>2]|0)+(e[r+18>>1]|0)|0)|0;c[s>>2]=(c[(c[m>>2]|0)+36>>2]|0)-4;c[g>>2]=(((c[r+12>>2]|0)-(e[r+16>>1]|0)+(c[s>>2]|0)-1|0)>>>0)/((c[s>>2]|0)>>>0)|0;while(1){u=c[g>>2]|0;c[g>>2]=u+ -1;if(!u){h=23;break}c[o>>2]=0;c[l>>2]=0;if((c[n>>2]|0)>>>0<2){h=9;break}u=c[n>>2]|0;if(u>>>0>(Aw(c[m>>2]|0)|0)>>>0){h=9;break}if((c[g>>2]|0)!=0?(c[k>>2]=Ow(c[m>>2]|0,c[n>>2]|0,l,o)|0,(c[k>>2]|0)!=0):0){h=12;break}if((c[l>>2]|0)==0?(u=zB(c[m>>2]|0,c[n>>2]|0)|0,c[l>>2]=u,(u|0)==0):0)h=17;else if((Rj(c[(c[l>>2]|0)+68>>2]|0)|0)!=1)c[k>>2]=kj(57820)|0;else h=17;if((h|0)==17){h=0;c[k>>2]=xB(c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0}if(c[l>>2]|0)_c(c[(c[l>>2]|0)+68>>2]|0);if(c[k>>2]|0){h=21;break}c[n>>2]=c[o>>2]}if((h|0)==9){c[j>>2]=kj(57800)|0;u=c[j>>2]|0;i=p;return u|0}else if((h|0)==12){c[j>>2]=c[k>>2];u=c[j>>2]|0;i=p;return u|0}else if((h|0)==21){c[j>>2]=c[k>>2];u=c[j>>2]|0;i=p;return u|0}else if((h|0)==23){c[j>>2]=0;u=c[j>>2]|0;i=p;return u|0}return 0}function vB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[c[f>>2]>>2]|0){i=d;return}a=xB(c[(c[e>>2]|0)+52>>2]|0,c[e>>2]|0,c[(c[e>>2]|0)+72>>2]|0)|0;c[c[f>>2]>>2]=a;i=d;return}function wB(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h+12|0;n=h+8|0;m=h+4|0;k=h;o=h+18|0;l=h+16|0;c[j>>2]=f;c[n>>2]=g;c[m>>2]=c[(c[j>>2]|0)+56>>2];c[k>>2]=c[(c[j>>2]|0)+52>>2];a[o>>0]=a[(c[j>>2]|0)+6>>0]|0;if((e[(c[k>>2]|0)+22>>1]|0)&4)_E((c[m>>2]|0)+(d[o>>0]|0)|0,0,(c[(c[k>>2]|0)+36>>2]|0)-(d[o>>0]|0)|0)|0;a[(c[m>>2]|0)+(d[o>>0]|0)>>0]=c[n>>2];b[l>>1]=(d[o>>0]|0)+((c[n>>2]&8|0)==0?12:8);f=(c[m>>2]|0)+((d[o>>0]|0)+1)|0;a[f+0>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[m>>2]|0)+((d[o>>0]|0)+7)>>0]=0;a[(c[m>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[(c[k>>2]|0)+36>>2]|0)>>>8;a[(c[m>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[(c[k>>2]|0)+36>>2];b[(c[j>>2]|0)+16>>1]=(c[(c[k>>2]|0)+36>>2]|0)-(e[l>>1]|0);Tj(c[j>>2]|0,c[n>>2]|0)|0;b[(c[j>>2]|0)+14>>1]=b[l>>1]|0;c[(c[j>>2]|0)+60>>2]=(c[m>>2]|0)+(c[(c[k>>2]|0)+36>>2]|0);c[(c[j>>2]|0)+64>>2]=(c[m>>2]|0)+(e[l>>1]|0);a[(c[j>>2]|0)+1>>0]=0;b[(c[j>>2]|0)+20>>1]=(c[(c[k>>2]|0)+32>>2]|0)-1;b[(c[j>>2]|0)+18>>1]=0;a[c[j>>2]>>0]=1;i=h;return}function xB(b,d,f){b=b|0;d=d|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;q=i;i=i+48|0;k=q+36|0;r=q+32|0;p=q+28|0;h=q+24|0;m=q+20|0;l=q+16|0;n=q+12|0;g=q+8|0;o=q+4|0;j=q;c[k>>2]=b;c[r>>2]=d;c[p>>2]=f;c[h>>2]=0;c[m>>2]=0;c[l>>2]=c[(c[k>>2]|0)+12>>2];if(c[r>>2]|0){c[n>>2]=c[r>>2];yB(c[(c[n>>2]|0)+68>>2]|0)}else c[n>>2]=zB(c[k>>2]|0,c[p>>2]|0)|0;c[g>>2]=gd(c[(c[l>>2]|0)+68>>2]|0)|0;do if(!(c[g>>2]|0)){c[o>>2]=Hh((c[(c[l>>2]|0)+56>>2]|0)+36|0)|0;ck((c[(c[l>>2]|0)+56>>2]|0)+36|0,(c[o>>2]|0)+1|0);if(e[(c[k>>2]|0)+22>>1]&4){if((c[n>>2]|0)==0?(b=Bw(c[k>>2]|0,c[p>>2]|0,n,0)|0,c[g>>2]=b,(b|0)!=0):0)break;b=gd(c[(c[n>>2]|0)+68>>2]|0)|0;c[g>>2]=b;if(b)break;_E(c[(c[n>>2]|0)+56>>2]|0,0,c[(c[(c[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[k>>2]|0)+17>>0]|0)!=0?(yA(c[k>>2]|0,c[p>>2]|0,2,0,g),(c[g>>2]|0)!=0):0)break;if(c[o>>2]|0){c[m>>2]=Hh((c[(c[l>>2]|0)+56>>2]|0)+32|0)|0;c[g>>2]=Bw(c[k>>2]|0,c[m>>2]|0,h,0)|0;if(c[g>>2]|0)break;c[j>>2]=Hh((c[(c[h>>2]|0)+56>>2]|0)+4|0)|0;if((c[j>>2]|0)>>>0>((((c[(c[k>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[g>>2]=kj(57698)|0;break}if((c[j>>2]|0)>>>0<((((c[(c[k>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[g>>2]=gd(c[(c[h>>2]|0)+68>>2]|0)|0;if(c[g>>2]|0)break;ck((c[(c[h>>2]|0)+56>>2]|0)+4|0,(c[j>>2]|0)+1|0);ck((c[(c[h>>2]|0)+56>>2]|0)+(8+(c[j>>2]<<2))|0,c[p>>2]|0);if((c[n>>2]|0)!=0?(e[(c[k>>2]|0)+22>>1]&4|0)==0:0)AB(c[(c[n>>2]|0)+68>>2]|0);c[g>>2]=BB(c[k>>2]|0,c[p>>2]|0)|0;break}}if((c[n>>2]|0)==0?(b=Bw(c[k>>2]|0,c[p>>2]|0,n,0)|0,c[g>>2]=b,0!=(b|0)):0)break;c[g>>2]=gd(c[(c[n>>2]|0)+68>>2]|0)|0;if(!(c[g>>2]|0)){ck(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);ck((c[(c[n>>2]|0)+56>>2]|0)+4|0,0);ck((c[(c[l>>2]|0)+56>>2]|0)+32|0,c[p>>2]|0)}}while(0);if(!(c[n>>2]|0)){b=c[n>>2]|0;Rk(b);b=c[h>>2]|0;Rk(b);b=c[g>>2]|0;i=q;return b|0}a[c[n>>2]>>0]=0;b=c[n>>2]|0;Rk(b);b=c[h>>2]|0;Rk(b);b=c[g>>2]|0;i=q;return b|0}function yB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;CB(c[d>>2]|0);i=b;return}function zB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Hi(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;if(c[h>>2]|0){c[e>>2]=Cw(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;a=c[e>>2]|0;i=d;return a|0}else{c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}return 0}function AB(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(!((e[(c[f>>2]|0)+24>>1]|0)&2)){i=d;return}if(c[(c[g>>2]|0)+96>>2]|0){i=d;return}g=(c[f>>2]|0)+24|0;b[g>>1]=e[g>>1]|0|32;i=d;return}function BB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=0;if((c[(c[g>>2]|0)+60>>2]|0)==0?(a=Vg(c[(c[g>>2]|0)+44>>2]|0)|0,c[(c[g>>2]|0)+60>>2]=a,(c[(c[g>>2]|0)+60>>2]|0)==0):0)c[d>>2]=7;if(c[d>>2]|0){a=c[d>>2]|0;i=e;return a|0}a=c[f>>2]|0;if(a>>>0>(Zg(c[(c[g>>2]|0)+60>>2]|0)|0)>>>0){a=c[d>>2]|0;i=e;return a|0}c[d>>2]=Wg(c[(c[g>>2]|0)+60>>2]|0,c[f>>2]|0)|0;a=c[d>>2]|0;i=e;return a|0}function CB(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;i=d;return}function DB(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,o=0,p=0;m=i;i=i+48|0;g=m+32|0;n=m+28|0;o=m+24|0;p=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;f=m;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[j>>2]=0;c[k>>2]=c[(c[n>>2]|0)+4>>2];if(c[(c[k>>2]|0)+8>>2]|0){c[g>>2]=262;b=c[g>>2]|0;i=m;return b|0}c[h>>2]=Bw(c[k>>2]|0,c[o>>2]|0,j,0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}c[h>>2]=Rz(c[n>>2]|0,c[o>>2]|0,0)|0;if(c[h>>2]|0){Rk(c[j>>2]|0);c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}c[c[p>>2]>>2]=0;do if((c[o>>2]|0)>>>0>1){if(!(a[(c[k>>2]|0)+17>>0]|0)){vB(c[j>>2]|0,h);Rk(c[j>>2]|0);break}Sc(c[n>>2]|0,4,l);e=c[j>>2]|0;do if((c[o>>2]|0)==(c[l>>2]|0)){vB(e,h);Rk(c[j>>2]|0);if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}}else{Rk(e);c[h>>2]=Bw(c[k>>2]|0,c[l>>2]|0,f,0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}c[h>>2]=vA(c[k>>2]|0,c[f>>2]|0,1,0,c[o>>2]|0,0)|0;Rk(c[f>>2]|0);if(c[h>>2]|0){c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}c[f>>2]=0;c[h>>2]=Bw(c[k>>2]|0,c[l>>2]|0,f,0)|0;vB(c[f>>2]|0,h);Rk(c[f>>2]|0);if(!(c[h>>2]|0)){c[c[p>>2]>>2]=c[l>>2];break}c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}while(0);c[l>>2]=(c[l>>2]|0)+ -1;while(1){if((c[l>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[k>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(b=Pw(c[k>>2]|0,c[l>>2]|0)|0,(b|0)!=(c[l>>2]|0)):0)break;c[l>>2]=(c[l>>2]|0)+ -1}c[h>>2]=bd(c[n>>2]|0,4,c[l>>2]|0)|0}else{wB(c[j>>2]|0,9);Rk(c[j>>2]|0)}while(0);c[g>>2]=c[h>>2];b=c[g>>2]|0;i=m;return b|0}function EB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=FB((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function FB(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;g=i;i=i+64|0;h=g+60|0;f=g+56|0;l=g+52|0;e=g+48|0;j=g;k=g+44|0;d=g+40|0;c[h>>2]=a;c[f>>2]=b;c[l>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[e>>2]=0;a=j+0|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[(c[h>>2]|0)+32>>2]|0))c[e>>2]=GB(c[l>>2]|0,0,0,(c[h>>2]|0)+32|0)|0;if(!(c[e>>2]|0))c[e>>2]=HB(c[h>>2]|0,c[f>>2]|0)|0;if(c[e>>2]|0){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;a=(c[h>>2]|0)+40|0;IB(c[(c[h>>2]|0)+32>>2]|0,j,c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);a=(c[h>>2]|0)+28|0;c[a>>2]=(c[a>>2]|0)+1;a=c[(c[f>>2]|0)+8>>2]|0;JB(j,a,((a|0)<0)<<31>>31);c[k>>2]=c[c[f>>2]>>2];while(1){l=c[k>>2]|0;if(!(c[k>>2]|0))break;c[d>>2]=c[l+4>>2];a=c[c[k>>2]>>2]|0;JB(j,a,((a|0)<0)<<31>>31);KB(j,(c[k>>2]|0)+8|0,c[c[k>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))hc(c[k>>2]|0);c[k>>2]=c[d>>2]}c[c[f>>2]>>2]=l;c[e>>2]=LB(j,(c[h>>2]|0)+40|0)|0;a=c[e>>2]|0;i=g;return a|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+24|0;j=f+20|0;g=f+16|0;h=f;c[k>>2]=a;a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[g>>2]=PB(c[c[k>>2]>>2]|0,0,c[j>>2]|0,4126,g)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=f;return k|0}k=h;c[k>>2]=0;c[k+4>>2]=0;rj(c[c[j>>2]>>2]|0,18,h);k=c[g>>2]|0;i=f;return k|0}function HB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;f=j+28|0;m=j+24|0;k=j+20|0;h=j+16|0;l=j+12|0;g=j+8|0;n=j+4|0;e=j;c[m>>2]=a;c[k>>2]=b;c[n>>2]=MB(c[m>>2]|0)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];a=c[f>>2]|0;i=j;return a|0}c[l>>2]=Mc(256,0)|0;if(!(c[l>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=j;return a|0}c[g>>2]=c[c[k>>2]>>2];while(1){if(!(c[g>>2]|0))break;b=c[g>>2]|0;do if(c[(c[k>>2]|0)+4>>2]|0)if((b|0)==(c[(c[k>>2]|0)+4>>2]|0)){c[e>>2]=0;break}else{c[e>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);break}else c[e>>2]=c[b+4>>2];while(0);c[(c[g>>2]|0)+4>>2]=0;c[h>>2]=0;while(1){if(!(c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0))break;NB(c[m>>2]|0,c[g>>2]|0,c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0,g);c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[g>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=64)break;NB(c[m>>2]|0,c[g>>2]|0,c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0,g);c[h>>2]=(c[h>>2]|0)+1}c[c[k>>2]>>2]=c[g>>2];hc(c[l>>2]|0);c[f>>2]=d[(c[(c[m>>2]|0)+12>>2]|0)+7>>0];a=c[f>>2]|0;i=j;return a|0}function IB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+16|0;g=k+12|0;l=k+8|0;h=k;c[j>>2]=a;c[g>>2]=b;c[l>>2]=d;a=h;c[a>>2]=e;c[a+4>>2]=f;f=(c[g>>2]|0)+0|0;e=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));a=c[l>>2]|0;a=gc(a,((a|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+4>>2]=a;if(c[(c[g>>2]|0)+4>>2]|0){b=h;a=c[l>>2]|0;a=kF(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[g>>2]|0)+12>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=h;b=c[(c[g>>2]|0)+12>>2]|0;b=ZE(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[g>>2]|0)+24|0;c[a>>2]=b;c[a+4>>2]=D;c[(c[g>>2]|0)+8>>2]=c[l>>2];c[(c[g>>2]|0)+32>>2]=c[j>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function JB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=oz(g,c[a>>2]|0,c[a+4>>2]|0)|0;KB(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function KB(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,l=0,m=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[h>>2];while(1){if((c[j>>2]|0)<=0){d=9;break}if(c[c[f>>2]>>2]|0){d=9;break}c[k>>2]=c[j>>2];if((c[k>>2]|0)>((c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+16>>2]|0)|0))c[k>>2]=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+16>>2]|0);dF((c[(c[f>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+16>>2]|0)|0,(c[g>>2]|0)+((c[h>>2]|0)-(c[j>>2]|0))|0,c[k>>2]|0)|0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]|0);if((c[(c[f>>2]|0)+16>>2]|0)==(c[(c[f>>2]|0)+8>>2]|0)){l=c[(c[f>>2]|0)+32>>2]|0;d=(c[(c[f>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0;a=(c[(c[f>>2]|0)+16>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0)|0;m=(c[f>>2]|0)+24|0;b=c[(c[f>>2]|0)+12>>2]|0;b=bF(c[m>>2]|0,c[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=id(l,d,a,b,D)|0;c[c[f>>2]>>2]=b;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+12>>2]=0;b=c[(c[f>>2]|0)+8>>2]|0;a=(c[f>>2]|0)+24|0;d=a;b=bF(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[a>>2]=b;c[a+4>>2]=D}c[j>>2]=(c[j>>2]|0)-(c[k>>2]|0)}if((d|0)==9){i=e;return}}function LB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;if(((c[c[f>>2]>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)?(c[(c[f>>2]|0)+16>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0):0){j=c[(c[f>>2]|0)+32>>2]|0;h=(c[(c[f>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0;b=(c[(c[f>>2]|0)+16>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0)|0;k=(c[f>>2]|0)+24|0;a=c[(c[f>>2]|0)+12>>2]|0;a=bF(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=id(j,h,b,a,D)|0;c[c[f>>2]>>2]=a}b=(c[f>>2]|0)+24|0;k=c[(c[f>>2]|0)+16>>2]|0;k=bF(c[b>>2]|0,c[b+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;b=c[g>>2]|0;c[b>>2]=k;c[b+4>>2]=D;hc(c[(c[f>>2]|0)+4>>2]|0);c[e>>2]=c[c[f>>2]>>2];f=(c[f>>2]|0)+0|0;b=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));i=d;return c[e>>2]|0}function MB(d){d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=d;do if(!(c[(c[g>>2]|0)+12>>2]|0)){d=Ew(c[(c[(c[g>>2]|0)+8>>2]|0)+28>>2]|0,0,0,h)|0;c[(c[g>>2]|0)+12>>2]=d;if(c[h>>2]|0){b[(c[(c[g>>2]|0)+12>>2]|0)+4>>1]=b[(c[(c[(c[g>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[g>>2]|0)+12>>2]|0)+7>>0]=0;break}c[f>>2]=7;h=c[f>>2]|0;i=e;return h|0}while(0);c[f>>2]=0;h=c[f>>2]|0;i=e;return h|0}function NB(a,b,d,e){a=a|0;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,o=0;k=i;i=i+32|0;m=k+28|0;l=k+24|0;f=k+20|0;j=k+16|0;h=k+12|0;g=k+8|0;n=k+4|0;o=k;c[m>>2]=a;c[l>>2]=b;c[f>>2]=d;c[j>>2]=e;c[h>>2]=0;c[g>>2]=h;if(c[f>>2]|0)e=(c[f>>2]|0)+8|0;else e=0;c[n>>2]=e;while(1){if(!((c[l>>2]|0)!=0&(c[f>>2]|0)!=0)){m=9;break}c[o>>2]=OB(c[m>>2]|0,(c[l>>2]|0)+8|0,c[c[l>>2]>>2]|0,c[n>>2]|0,c[c[f>>2]>>2]|0)|0;if((c[o>>2]|0)<=0){c[c[g>>2]>>2]=c[l>>2];c[g>>2]=(c[l>>2]|0)+4;c[l>>2]=c[(c[l>>2]|0)+4>>2];c[n>>2]=0;continue}c[c[g>>2]>>2]=c[f>>2];c[g>>2]=(c[f>>2]|0)+4;c[f>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[f>>2]|0)){m=9;break}c[n>>2]=(c[f>>2]|0)+8}if((m|0)==9){c[c[g>>2]>>2]=(c[l>>2]|0)!=0?c[l>>2]|0:c[f>>2]|0;c[c[j>>2]>>2]=c[h>>2];i=k;return}}function OB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;g=m+4|0;h=m;c[n>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[g>>2]=f;c[h>>2]=c[(c[n>>2]|0)+12>>2];if(c[l>>2]|0)Fw(c[(c[(c[n>>2]|0)+8>>2]|0)+28>>2]|0,c[g>>2]|0,c[l>>2]|0,c[h>>2]|0);a=Uw(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=m;return a|0}function PB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;l=j+24|0;m=j+20|0;h=j+16|0;k=j+12|0;o=j+8|0;g=j+4|0;n=j;c[l>>2]=a;c[m>>2]=b;c[h>>2]=d;c[k>>2]=e;c[o>>2]=f;c[g>>2]=7;a=c[(c[l>>2]|0)+4>>2]|0;c[n>>2]=Mc(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){a=c[g>>2]|0;i=j;return a|0}c[g>>2]=Di(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;k=c[n>>2]|0;if(c[g>>2]|0){hc(k);a=c[g>>2]|0;i=j;return a|0}else{c[c[h>>2]>>2]=k;a=c[g>>2]|0;i=j;return a|0}return 0}function QB(a,b){a=a|0;b=b|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;g=i;i=i+48|0;j=g+36|0;k=g+32|0;h=g+28|0;q=g+24|0;m=g+20|0;e=g+16|0;n=g+12|0;l=g+8|0;o=g+4|0;p=g;c[j>>2]=a;c[k>>2]=b;c[q>>2]=c[(c[(c[j>>2]|0)+8>>2]|0)+4>>2];c[m>>2]=c[(c[j>>2]|0)+4>>2];c[h>>2]=RB((c[(c[j>>2]|0)+12>>2]|0)+((c[q>>2]|0)*56|0)|0)|0;if(!(c[h>>2]|0)){c[n>>2]=(c[(c[j>>2]|0)+12>>2]|0)+((c[q>>2]&65534)*56|0);c[l>>2]=(c[(c[j>>2]|0)+12>>2]|0)+((c[q>>2]|1)*56|0);c[o>>2]=c[(c[l>>2]|0)+32>>2];c[e>>2]=((c[c[j>>2]>>2]|0)+(c[q>>2]|0)|0)/2|0;while(1){if((c[e>>2]|0)<=0)break;do if(c[(c[n>>2]|0)+24>>2]|0)if(!(c[(c[l>>2]|0)+24>>2]|0)){c[p>>2]=-1;break}else{c[p>>2]=OB(c[m>>2]|0,c[(c[n>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;break}else c[p>>2]=1;while(0);do if((c[p>>2]|0)<0)f=12;else{if((c[p>>2]|0)==0?(c[n>>2]|0)>>>0<(c[l>>2]|0)>>>0:0){f=12;break}if(c[(c[n>>2]|0)+24>>2]|0)c[o>>2]=0;c[(c[(c[j>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)|0)/56|0;c[n>>2]=(c[(c[j>>2]|0)+12>>2]|0)+((c[(c[(c[j>>2]|0)+8>>2]|0)+((c[e>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((f|0)==12){f=0;c[(c[(c[j>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=((c[n>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[j>>2]|0)+12>>2]|0)+((c[(c[(c[j>>2]|0)+8>>2]|0)+((c[e>>2]^1)<<2)>>2]|0)*56|0);c[o>>2]=c[(c[l>>2]|0)+32>>2]}c[e>>2]=(c[e>>2]|0)/2|0}c[c[k>>2]>>2]=(c[(c[(c[j>>2]|0)+12>>2]|0)+((c[(c[(c[j>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[h>>2]|0)){a=d[(c[(c[m>>2]|0)+12>>2]|0)+7>>0]|0;i=g;return a|0}else{a=c[h>>2]|0;i=g;return a|0}return 0}function RB(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;f=i;i=i+32|0;e=f+24|0;b=f+20|0;d=f+16|0;g=f;j=f+12|0;h=f+8|0;c[b>>2]=a;c[d>>2]=0;k=g;c[k>>2]=0;c[k+4>>2]=0;k=c[b>>2]|0;m=c[k+4>>2]|0;a=(c[b>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[j>>2]=c[(c[b>>2]|0)+48>>2];c[h>>2]=1;if(((c[j>>2]|0)!=0?(c[d>>2]=SB(c[j>>2]|0)|0,(c[d>>2]|0)==0):0)?(c[(c[j>>2]|0)+20>>2]|0)==0:0){m=(c[j>>2]|0)+8|0;c[d>>2]=TB(c[c[j>>2]>>2]|0,c[b>>2]|0,(c[j>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[h>>2]=0}if(c[h>>2]|0){qB(c[b>>2]|0);c[e>>2]=c[d>>2];m=c[e>>2]|0;i=f;return m|0}}if(!(c[d>>2]|0))c[d>>2]=UB(c[b>>2]|0,g)|0;if(!(c[d>>2]|0)){c[(c[b>>2]|0)+20>>2]=c[g>>2];c[d>>2]=VB(c[b>>2]|0,c[g>>2]|0,(c[b>>2]|0)+32|0)|0}c[e>>2]=c[d>>2];m=c[e>>2]|0;i=f;return m|0}function SB(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=0;c[d>>2]=YB(c[e>>2]|0)|0;f=(c[e>>2]|0)+32|0;a=(c[e>>2]|0)+48|0;c[f+0>>2]=c[a+0>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[e>>2]|0)+40|0;a=(c[e>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=b;return f|0}c[(c[e>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=b;return f|0}function TB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;n=i;i=i+48|0;h=n+36|0;o=n+32|0;m=n+28|0;q=n+24|0;p=n;j=n+20|0;l=n+16|0;k=n+12|0;g=n+8|0;c[o>>2]=a;c[m>>2]=b;c[q>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;c[j>>2]=0;if(jg(201)|0){c[h>>2]=266;a=c[h>>2]|0;i=n;return a|0}if(c[(c[m>>2]|0)+44>>2]|0){hj(c[(c[m>>2]|0)+24>>2]|0,0,0,c[(c[m>>2]|0)+44>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=0}a=p;b=c[a+4>>2]|0;d=c[m>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[q>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[m>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[m>>2]|0)+24>>2]=c[c[q>>2]>>2];c[j>>2]=WB(c[o>>2]|0,c[q>>2]|0,(c[m>>2]|0)+44|0)|0;if((c[j>>2]|0)==0?(c[(c[m>>2]|0)+44>>2]|0)==0:0){c[l>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2];b=c[m>>2]|0;a=c[l>>2]|0;a=kF(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[k>>2]=a;if(!(c[(c[m>>2]|0)+36>>2]|0)){a=c[l>>2]|0;a=gc(a,((a|0)<0)<<31>>31)|0;c[(c[m>>2]|0)+36>>2]=a;if(!(c[(c[m>>2]|0)+36>>2]|0))c[j>>2]=7;c[(c[m>>2]|0)+40>>2]=c[l>>2]}if((c[j>>2]|0)==0&(c[k>>2]|0)!=0){c[g>>2]=(c[l>>2]|0)-(c[k>>2]|0);e=c[m>>2]|0;b=c[g>>2]|0;b=bF(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;e=D;a=(c[m>>2]|0)+8|0;d=c[a+4>>2]|0;if((e|0)>(d|0)|((e|0)==(d|0)?b>>>0>(c[a>>2]|0)>>>0:0)){b=(c[m>>2]|0)+8|0;a=c[m>>2]|0;a=ZE(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=a}a=c[m>>2]|0;c[j>>2]=Ei(c[(c[m>>2]|0)+24>>2]|0,(c[(c[m>>2]|0)+36>>2]|0)+(c[k>>2]|0)|0,c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0}}c[h>>2]=c[j>>2];a=c[h>>2]|0;i=n;return a|0}function UB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+48|0;n=h+24|0;j=h+20|0;k=h+16|0;m=h+12|0;o=h+32|0;p=h+8|0;l=h+4|0;f=h;c[j>>2]=b;c[k>>2]=e;b=c[j>>2]|0;e=c[b>>2]|0;b=c[b+4>>2]|0;do if(c[(c[j>>2]|0)+44>>2]|0){e=(Jw((c[(c[j>>2]|0)+44>>2]|0)+e|0,c[k>>2]|0)|0)&255;b=c[j>>2]|0;p=b;e=bF(c[p>>2]|0,c[p+4>>2]|0,e|0,0)|0;c[b>>2]=e;c[b+4>>2]=D}else{q=c[(c[j>>2]|0)+40>>2]|0;b=kF(e|0,b|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=b;if((c[m>>2]|0)!=0?((c[(c[j>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){b=(Jw((c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[k>>2]|0)|0)&255;q=c[j>>2]|0;e=q;b=bF(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[q>>2]=b;c[q+4>>2]=D;break}c[l>>2]=0;while(1){c[f>>2]=VB(c[j>>2]|0,1,p)|0;if(c[f>>2]|0)break;b=a[c[p>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[o+(q&15)>>0]=b;if(!((d[c[p>>2]>>0]|0)&128)){g=10;break}}if((g|0)==10){Jw(o,c[k>>2]|0)|0;break}c[n>>2]=c[f>>2];q=c[n>>2]|0;i=h;return q|0}while(0);c[n>>2]=0;q=c[n>>2]|0;i=h;return q|0}function VB(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=i;i=i+64|0;g=q+52|0;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;e=q+32|0;u=q+28|0;t=q+24|0;o=q+20|0;s=q+16|0;r=q+12|0;l=q+8|0;p=q+4|0;m=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;b=c[h>>2]|0;d=c[b>>2]|0;b=c[b+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+d;b=c[j>>2]|0;a=c[h>>2]|0;d=a;b=bF(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[a>>2]=b;c[a+4>>2]=D;c[g>>2]=0;a=c[g>>2]|0;i=q;return a|0}a=c[(c[h>>2]|0)+40>>2]|0;a=kF(d|0,b|0,a|0,((a|0)<0)<<31>>31|0)|0;c[n>>2]=a;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;b=c[h>>2]|0;b=ZE(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;w=D;a=c[(c[h>>2]|0)+40>>2]|0;v=((a|0)<0)<<31>>31;d=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&b>>>0>a>>>0)c[u>>2]=c[d+40>>2];else{v=d+8|0;w=c[h>>2]|0;w=ZE(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[u>>2]=w}w=c[h>>2]|0;c[t>>2]=Ei(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[u>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];w=c[g>>2]|0;i=q;return w|0}}c[e>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[e>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;a=w;v=bF(c[a>>2]|0,c[a+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=D}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))t=128;else t=c[(c[h>>2]|0)+16>>2]<<1;c[r>>2]=t;while(1){if((c[j>>2]|0)<=(c[r>>2]|0))break;c[r>>2]=c[r>>2]<<1}w=c[r>>2]|0;c[s>>2]=kc(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[s>>2]|0){c[(c[h>>2]|0)+16>>2]=c[r>>2];c[(c[h>>2]|0)+28>>2]=c[s>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=q;return w|0}while(0);dF(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[e>>2]|0)|0;v=c[e>>2]|0;w=c[h>>2]|0;a=w;v=bF(c[a>>2]|0,c[a+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=D;c[o>>2]=(c[j>>2]|0)-(c[e>>2]|0);while(1){if((c[o>>2]|0)<=0){f=27;break}c[p>>2]=c[o>>2];if((c[o>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[l>>2]=VB(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[l>>2]|0)break;dF((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[o>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[o>>2]=(c[o>>2]|0)-(c[p>>2]|0)}if((f|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[l>>2];w=c[g>>2]|0;i=q;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=q;return w|0}function WB(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,l=0;e=i;i=i+32|0;l=e+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[l>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=0;b=(c[h>>2]|0)+8|0;k=c[b+4>>2]|0;a=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+136>>2]|0;d=((a|0)<0)<<31>>31;if(!((k|0)<(d|0)|((k|0)==(d|0)?(c[b>>2]|0)>>>0<=a>>>0:0))){l=c[f>>2]|0;i=e;return l|0}c[g>>2]=c[c[h>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[f>>2]|0;i=e;return l|0}c[f>>2]=XB(c[g>>2]|0,0,0,c[(c[h>>2]|0)+8>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=e;return l|0}function XB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function YB(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;d=i;i=i+96|0;l=d+88|0;h=d+84|0;g=d+80|0;k=d+48|0;f=d+76|0;p=d+72|0;m=d+68|0;e=d+8|0;o=d+64|0;n=d+60|0;j=d+56|0;b=d;c[l>>2]=a;c[h>>2]=0;r=(c[l>>2]|0)+8|0;q=c[r+4>>2]|0;a=k;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[f>>2]=(c[l>>2]|0)+48;c[p>>2]=c[c[l>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];a=k;IB(c[c[f>>2]>>2]|0,e,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[h>>2]|0)break;c[n>>2]=(c[(c[m>>2]|0)+12>>2]|0)+((c[(c[(c[m>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[j>>2]=c[(c[n>>2]|0)+20>>2];r=e+24|0;q=c[e+16>>2]|0;q=bF(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=b;c[r>>2]=q;c[r+4>>2]=D;if(!(c[(c[n>>2]|0)+24>>2]|0))break;a=b;p=c[j>>2]|0;p=bF(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=D;q=c[j>>2]|0;q=Zw(q,((q|0)<0)<<31>>31)|0;q=bF(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=D;p=k;r=c[(c[l>>2]|0)+16>>2]|0;r=bF(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=D;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[j>>2]|0;JB(e,r,((r|0)<0)<<31>>31);KB(e,c[(c[n>>2]|0)+32>>2]|0,c[j>>2]|0);c[h>>2]=QB(c[(c[l>>2]|0)+4>>2]|0,o)|0}c[g>>2]=LB(e,(c[f>>2]|0)+8|0)|0;if(c[h>>2]|0){r=c[h>>2]|0;i=d;return r|0}c[h>>2]=c[g>>2];r=c[h>>2]|0;i=d;return r|0}function ZB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;b=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=(c[f>>2]|0)+64;c[e>>2]=0;c[b>>2]=_B(c[f>>2]|0,e)|0;if(!(c[b>>2]|0)){c[b>>2]=$B(c[g>>2]|0,c[e>>2]|0,0)|0;c[(c[f>>2]|0)+20>>2]=c[e>>2];c[e>>2]=0}if(!(c[b>>2]|0)){g=c[b>>2]|0;i=d;return g|0}mB(c[e>>2]|0);g=c[b>>2]|0;i=d;return g|0}function _B(a,b){a=a|0;b=b|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;h=i;i=i+64|0;r=h+52|0;m=h+48|0;n=h+44|0;g=h+40|0;s=h+36|0;k=h+32|0;j=h+28|0;e=h+24|0;l=h;q=h+20|0;f=h+16|0;o=h+12|0;p=h+8|0;c[r>>2]=a;c[m>>2]=b;c[n>>2]=0;c[g>>2]=0;c[s>>2]=0;while(1){if(c[g>>2]|0)break;if((c[s>>2]|0)>=(d[(c[r>>2]|0)+59>>0]|0|0))break;c[k>>2]=(c[r>>2]|0)+64+(c[s>>2]<<6);c[j>>2]=0;c[e>>2]=cC(c[(c[k>>2]|0)+28>>2]|0)|0;a=l;c[a>>2]=0;c[a+4>>2]=0;a:do if((c[(c[k>>2]|0)+28>>2]|0)<=16)c[g>>2]=dC(c[k>>2]|0,c[(c[k>>2]|0)+28>>2]|0,l,j)|0;else{c[f>>2]=0;c[j>>2]=eC(16)|0;if(!(c[j>>2]|0))c[g>>2]=7;c[q>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[q>>2]|0)<(c[(c[k>>2]|0)+28>>2]|0):0))break a;c[o>>2]=0;if(((c[(c[k>>2]|0)+28>>2]|0)-(c[q>>2]|0)|0)<16)b=(c[(c[k>>2]|0)+28>>2]|0)-(c[q>>2]|0)|0;else b=16;c[p>>2]=b;c[g>>2]=dC(c[k>>2]|0,c[p>>2]|0,l,o)|0;if(!(c[g>>2]|0)){t=c[k>>2]|0;b=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[g>>2]=fC(t,b,a,c[j>>2]|0,c[o>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+16}}while(0);b=c[j>>2]|0;if(!(c[g>>2]|0))c[n>>2]=b;else mB(b);c[s>>2]=(c[s>>2]|0)+1}if(!(c[g>>2]|0)){a=c[n>>2]|0;t=c[m>>2]|0;c[t>>2]=a;t=c[g>>2]|0;i=h;return t|0}mB(c[n>>2]|0);c[n>>2]=0;a=c[n>>2]|0;t=c[m>>2]|0;c[t>>2]=a;t=c[g>>2]|0;i=h;return t|0}function $B(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+24|0;l=j+20|0;f=j+16|0;m=j+8|0;k=j+4|0;n=j;c[l>>2]=a;c[f>>2]=b;c[j+12>>2]=e;c[m>>2]=0;c[n>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+4>>2]=c[l>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;c[m>>2]=aC((c[(c[f>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0)|0,0)|0;if(c[m>>2]|0){g=4;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==4){c[h>>2]=c[m>>2];a=c[h>>2]|0;i=j;return a|0}c[k>>2]=(c[c[f>>2]>>2]|0)-1;while(1){if((c[k>>2]|0)<=0)break;bC(c[f>>2]|0,c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+ -1}c[h>>2]=d[(c[(c[l>>2]|0)+12>>2]|0)+7>>0];a=c[h>>2]|0;i=j;return a|0}function aC(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;i=i+32|0;k=d+24|0;l=d+20|0;e=d+16|0;g=d+12|0;f=d+8|0;j=d+4|0;h=d;c[k>>2]=a;c[l>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+48>>2];if(!(c[g>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[f>>2]=c[c[g>>2]>>2];c[j>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+24>>2];c[e>>2]=$B(c[f>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[e>>2]|0)){c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[f>>2]|0)+48>>2]|0)){a=(c[f>>2]|0)+56|0;c[e>>2]=GB(c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,(c[f>>2]|0)+48|0)|0;a=(c[f>>2]|0)+56|0;c[a>>2]=0;c[a+4>>2]=0}if(!(c[e>>2]|0)){c[(c[g>>2]|0)+48>>2]=c[(c[f>>2]|0)+48>>2];j=(c[f>>2]|0)+56|0;a=c[j+4>>2]|0;l=(c[g>>2]|0)+8|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;l=c[h>>2]|0;a=(c[f>>2]|0)+56|0;j=a;l=bF(c[j>>2]|0,c[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c[a>>2]=l;c[a+4>>2]=D}}if(c[e>>2]|0){a=c[e>>2]|0;i=d;return a|0}c[e>>2]=RB(c[k>>2]|0)|0;a=c[e>>2]|0;i=d;return a|0}function bC(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;g=i;i=i+32|0;e=g+28|0;f=g+24|0;h=g+20|0;m=g+16|0;j=g+12|0;d=g+8|0;k=g+4|0;l=g;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;if((c[f>>2]|0)>=((c[c[e>>2]>>2]|0)/2|0|0)){c[h>>2]=b-((c[c[e>>2]>>2]|0)/2|0)<<1;c[m>>2]=(c[h>>2]|0)+1}else{c[h>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[m>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+((c[f>>2]<<1)+1<<2)>>2]}c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);c[k>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[m>>2]|0)*56|0);do if(c[(c[d>>2]|0)+24>>2]|0){if(!(c[(c[k>>2]|0)+24>>2]|0)){c[j>>2]=c[h>>2];break}c[l>>2]=OB(c[(c[e>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+32>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;if((c[l>>2]|0)<=0){c[j>>2]=c[h>>2];break}else{c[j>>2]=c[m>>2];break}}else c[j>>2]=c[m>>2];while(0);c[(c[(c[e>>2]|0)+8>>2]|0)+(c[f>>2]<<2)>>2]=c[j>>2];i=g;return}function cC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;f=b+12|0;d=b+8|0;e=b;c[f>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[f>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=lF(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=D;c[d>>2]=(c[d>>2]|0)+1}i=b;return c[d>>2]|0}function dC(a,b,d,e){a=a|0;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,o=0,p=0,q=0;j=i;i=i+48|0;p=j+44|0;n=j+40|0;g=j+36|0;l=j+32|0;k=j+28|0;m=j+8|0;f=j+24|0;h=j+20|0;q=j;o=j+16|0;c[p>>2]=a;c[n>>2]=b;c[g>>2]=d;c[l>>2]=e;d=c[g>>2]|0;b=c[d+4>>2]|0;a=m;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[h>>2]=0;a=eC(c[n>>2]|0)|0;c[k>>2]=a;c[c[l>>2]>>2]=a;if(!(c[k>>2]|0))c[h>>2]=7;c[f>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[f>>2]|0)<(c[n>>2]|0):0))break;c[o>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[f>>2]|0)*56|0);d=m;c[h>>2]=hC(c[p>>2]|0,(c[p>>2]|0)+32|0,c[d>>2]|0,c[d+4>>2]|0,c[o>>2]|0,q)|0;d=(c[o>>2]|0)+8|0;b=c[d+4>>2]|0;a=m;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}if(!(c[h>>2]|0)){b=m;q=b;q=c[q>>2]|0;b=b+4|0;b=c[b>>2]|0;a=c[g>>2]|0;d=a;c[d>>2]=q;a=a+4|0;c[a>>2]=b;a=c[h>>2]|0;i=j;return a|0}mB(c[k>>2]|0);c[c[l>>2]>>2]=0;b=m;q=b;q=c[q>>2]|0;b=b+4|0;b=c[b>>2]|0;a=c[g>>2]|0;d=a;c[d>>2]=q;a=a+4|0;c[a>>2]=b;a=c[h>>2]|0;i=j;return a|0}function eC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[g>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[f>>2]=16+(a*60|0);if(jg(100)|0)f=0;else{f=c[f>>2]|0;f=Mc(f,((f|0)<0)<<31>>31)|0}c[b>>2]=f;if(!(c[b>>2]|0)){a=c[b>>2]|0;i=d;return a|0}c[c[b>>2]>>2]=c[e>>2];c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+12>>2]=(c[b>>2]|0)+16;c[(c[b>>2]|0)+8>>2]=(c[(c[b>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);a=c[b>>2]|0;i=d;return a|0}function fC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;j=i;i=i+64|0;p=j+48|0;s=j+44|0;g=j+40|0;u=j+36|0;t=j+32|0;h=j+28|0;o=j+24|0;r=j+20|0;k=j+16|0;m=j+12|0;q=j+8|0;n=j+4|0;l=j;c[p>>2]=a;c[s>>2]=b;c[g>>2]=d;c[u>>2]=e;c[t>>2]=f;c[h>>2]=0;c[o>>2]=1;c[k>>2]=c[u>>2];c[h>>2]=gC(c[p>>2]|0,c[t>>2]|0,m)|0;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[s>>2]|0))break;c[o>>2]=c[o>>2]<<4;c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=1;while(1){if(!((c[h>>2]|0)==0?(c[r>>2]|0)<(c[s>>2]|0):0))break;c[q>>2]=((c[g>>2]|0)/(c[o>>2]|0)|0|0)%16|0;c[n>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[q>>2]|0)*56|0);do if(!(c[(c[n>>2]|0)+48>>2]|0)){c[l>>2]=eC(16)|0;if(!(c[l>>2]|0)){c[h>>2]=7;break}else{c[h>>2]=gC(c[p>>2]|0,c[l>>2]|0,(c[n>>2]|0)+48|0)|0;break}}while(0);if(!(c[h>>2]|0)){c[k>>2]=c[(c[(c[n>>2]|0)+48>>2]|0)+4>>2];c[o>>2]=(c[o>>2]|0)/16|0}c[r>>2]=(c[r>>2]|0)+1}l=c[m>>2]|0;if(!(c[h>>2]|0)){c[(c[(c[k>>2]|0)+12>>2]|0)+(((c[g>>2]|0)%16|0)*56|0)+48>>2]=l;u=c[h>>2]|0;i=j;return u|0}else{rB(l);u=c[h>>2]|0;i=j;return u|0}return 0}function gC(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;e=i;i=i+32|0;g=e+16|0;j=e+12|0;k=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[h>>2]=0;if(jg(100)|0)d=0;else d=Mc(64,0)|0;c[c[k>>2]>>2]=d;c[f>>2]=d;j=c[j>>2]|0;if(!(c[f>>2]|0)){mB(j);c[h>>2]=7;a=c[h>>2]|0;i=e;return a|0}c[(c[f>>2]|0)+4>>2]=j;c[c[f>>2]>>2]=c[g>>2];j=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))j=(c[j+8>>2]|0)+9|0;else j=(c[j+4>>2]|0)/2|0;c[(c[f>>2]|0)+16>>2]=j;b=c[(c[f>>2]|0)+16>>2]|0;a=(c[g>>2]|0)+56|0;d=a;b=bF(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[a>>2]=b;c[a+4>>2]=D;a=c[h>>2]|0;i=e;return a|0}function hC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+48|0;o=j+32|0;n=j+28|0;p=j+8|0;k=j+24|0;l=j+20|0;m=j+16|0;h=j;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[k>>2]=f;c[l>>2]=g;a=p;c[m>>2]=TB(c[o>>2]|0,c[k>>2]|0,c[n>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[m>>2]|0)){c[m>>2]=UB(c[k>>2]|0,h)|0;o=c[k>>2]|0;p=h;p=bF(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[k>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=D;o=h;p=c[l>>2]|0;n=p;o=bF(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=D}if(c[m>>2]|0){p=c[m>>2]|0;i=j;return p|0}c[m>>2]=RB(c[k>>2]|0)|0;p=c[m>>2]|0;i=j;return p|0}function iC(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return(d[(c[b>>2]|0)+73>>0]|0|0)!=1|0}function jC(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=b;c[e>>2]=kC(c[c[f>>2]>>2]|0,g)|0;c[(c[f>>2]|0)+60>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=d;return g|0}a[(c[f>>2]|0)+25>>0]=1;g=c[e>>2]|0;i=d;return g|0}function kC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+12|0;j=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[e>>2]=b;if((d[(c[j>>2]|0)+73>>0]|0|0)>=3)b=vw(c[j>>2]|0)|0;else b=0;c[f>>2]=b;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];a=c[g>>2]|0;i=h;return a|0}if((d[(c[j>>2]|0)+73>>0]|0|0)==1?(c[(c[j>>2]|0)+68>>2]|0)==0:0)c[c[e>>2]>>2]=0;else c[c[e>>2]>>2]=1;c[g>>2]=0;a=c[g>>2]|0;i=h;return a|0}function lC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;f=e+4|0;g=e;c[j>>2]=b;c[h>>2]=d;d=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[g>>2]=(c[(c[(c[j>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[d+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[(c[g>>2]|0)+32>>2];b=c[f>>2]|0;i=e;return b|0}else{c[c[h>>2]>>2]=c[c[d+36>>2]>>2];c[f>>2]=(c[(c[j>>2]|0)+36>>2]|0)+8;b=c[f>>2]|0;i=e;return b|0}return 0}function mC(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;q=i;i=i+48|0;n=q+32|0;p=q+28|0;t=q+24|0;m=q+20|0;s=q+16|0;k=q+12|0;o=q+8|0;l=q+4|0;r=q;c[n>>2]=f;c[p>>2]=g;c[t>>2]=h;c[m>>2]=j;if(c[c[m>>2]>>2]|0){i=q;return}c[k>>2]=c[(c[n>>2]|0)+56>>2];c[o>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[p>>2]<<1);c[s>>2]=(d[c[o>>2]>>0]|0)<<8|(d[(c[o>>2]|0)+1>>0]|0);c[r>>2]=d[(c[n>>2]|0)+6>>0];if((c[s>>2]|0)>>>0>=((d[(c[k>>2]|0)+((c[r>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[r>>2]|0)+5)+1>>0]|0))>>>0?((c[s>>2]|0)+(c[t>>2]|0)|0)>>>0<=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[l>>2]=yC(c[n>>2]|0,c[s>>2]&65535,c[t>>2]&65535)|0;if(c[l>>2]|0){c[c[m>>2]>>2]=c[l>>2];i=q;return}else{f=(c[n>>2]|0)+18|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16;eF(c[o>>2]|0,(c[o>>2]|0)+2|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[p>>2]|0)<<1|0)|0;a[(c[k>>2]|0)+((c[r>>2]|0)+3)>>0]=(e[(c[n>>2]|0)+18>>1]|0)>>8;a[(c[k>>2]|0)+((c[r>>2]|0)+3)+1>>0]=b[(c[n>>2]|0)+18>>1];f=(c[n>>2]|0)+16|0;b[f>>1]=(e[f>>1]|0)+2;i=q;return}}f=kj(58057)|0;c[c[m>>2]>>2]=f;i=q;return}function nC(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;x=i;i=i+64|0;q=x+52|0;y=x+48|0;u=x+44|0;r=x+40|0;B=x+36|0;v=x+32|0;p=x+28|0;t=x+24|0;A=x+20|0;n=x+16|0;z=x+12|0;w=x+8|0;s=x+4|0;o=x;c[q>>2]=f;c[y>>2]=g;c[u>>2]=h;c[r>>2]=j;c[B>>2]=k;c[v>>2]=l;c[p>>2]=m;c[t>>2]=0;if(c[c[p>>2]>>2]|0){i=x;return}if((d[(c[q>>2]|0)+1>>0]|0)==0?((c[r>>2]|0)+2|0)<=(e[(c[q>>2]|0)+16>>1]|0):0){c[o>>2]=gd(c[(c[q>>2]|0)+68>>2]|0)|0;if(c[o>>2]|0){c[c[p>>2]>>2]=c[o>>2];i=x;return}c[s>>2]=c[(c[q>>2]|0)+56>>2];c[w>>2]=e[(c[q>>2]|0)+14>>1];c[n>>2]=(c[w>>2]|0)+(e[(c[q>>2]|0)+18>>1]<<1);c[z>>2]=(c[w>>2]|0)+(c[y>>2]<<1);c[o>>2]=vC(c[q>>2]|0,c[r>>2]|0,t)|0;if(c[o>>2]|0){c[c[p>>2]>>2]=c[o>>2];i=x;return}f=(c[q>>2]|0)+18|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[q>>2]|0)+16|0;b[f>>1]=(e[f>>1]|0)-(2+(c[r>>2]|0)&65535);dF((c[s>>2]|0)+(c[t>>2]|0)|0,c[u>>2]|0,c[r>>2]|0)|0;if(c[v>>2]|0)ck((c[s>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0);eF((c[s>>2]|0)+((c[z>>2]|0)+2)|0,(c[s>>2]|0)+(c[z>>2]|0)|0,(c[n>>2]|0)-(c[z>>2]|0)|0)|0;a[(c[s>>2]|0)+(c[z>>2]|0)>>0]=c[t>>2]>>8;a[(c[s>>2]|0)+(c[z>>2]|0)+1>>0]=c[t>>2];a[(c[s>>2]|0)+((d[(c[q>>2]|0)+6>>0]|0)+3)>>0]=e[(c[q>>2]|0)+18>>1]>>8;a[(c[s>>2]|0)+((d[(c[q>>2]|0)+6>>0]|0)+3)+1>>0]=b[(c[q>>2]|0)+18>>1];if(!(a[(c[(c[q>>2]|0)+52>>2]|0)+17>>0]|0)){i=x;return}AA(c[q>>2]|0,c[u>>2]|0,c[p>>2]|0);i=x;return}if(c[B>>2]|0){dF(c[B>>2]|0,c[u>>2]|0,c[r>>2]|0)|0;c[u>>2]=c[B>>2]}if(c[v>>2]|0)ck(c[u>>2]|0,c[v>>2]|0);g=(c[q>>2]|0)+1|0;f=a[g>>0]|0;a[g>>0]=f+1<<24>>24;c[A>>2]=f&255;c[(c[q>>2]|0)+32+(c[A>>2]<<2)>>2]=c[u>>2];b[(c[q>>2]|0)+22+(c[A>>2]<<1)>>1]=c[y>>2];i=x;return}function oC(f){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;m=i;i=i+64|0;l=m+32|0;g=m+28|0;r=m+24|0;n=m+36|0;j=m+20|0;q=m+16|0;k=m+12|0;h=m+8|0;p=m+4|0;o=m;c[l>>2]=f;c[g>>2]=0;c[r>>2]=(c[(c[(c[l>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[j>>2]=0;do{c[q>>2]=b[(c[l>>2]|0)+76>>1];c[k>>2]=c[(c[l>>2]|0)+120+(c[q>>2]<<2)>>2];f=a[(c[k>>2]|0)+1>>0]|0;if(!(c[q>>2]|0)){if(!(f<<24>>24))break;c[g>>2]=pC(c[k>>2]|0,(c[l>>2]|0)+124|0)|0;if(!(c[g>>2]|0)){b[(c[l>>2]|0)+76>>1]=1;b[(c[l>>2]|0)+78>>1]=0;b[(c[l>>2]|0)+80>>1]=0}}else{if((f&255|0)==0?(e[(c[k>>2]|0)+16>>1]|0)<=(c[r>>2]|0):0)break;c[h>>2]=c[(c[l>>2]|0)+120+((c[q>>2]|0)-1<<2)>>2];c[p>>2]=e[(c[l>>2]|0)+78+((c[q>>2]|0)-1<<1)>>1];c[g>>2]=gd(c[(c[h>>2]|0)+68>>2]|0)|0;do if(!(c[g>>2]|0)){if(((((d[(c[k>>2]|0)+3>>0]|0)!=0?(d[(c[k>>2]|0)+1>>0]|0)==1:0)?(e[(c[k>>2]|0)+22>>1]|0)==(e[(c[k>>2]|0)+18>>1]|0):0)?(c[(c[h>>2]|0)+72>>2]|0)!=1:0)?(e[(c[h>>2]|0)+18>>1]|0)==(c[p>>2]|0):0){c[g>>2]=qC(c[h>>2]|0,c[k>>2]|0,n)|0;break}c[o>>2]=Hg(c[(c[(c[l>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[g>>2]=rC(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,(c[q>>2]|0)==1&1,d[(c[l>>2]|0)+74>>0]|0)|0;if(c[j>>2]|0)Kg(c[j>>2]|0);c[j>>2]=c[o>>2]}while(0);a[(c[k>>2]|0)+1>>0]=0;Rk(c[k>>2]|0);f=(c[l>>2]|0)+76|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16}}while((c[g>>2]|0)==0);if(!(c[j>>2]|0)){f=c[g>>2]|0;i=m;return f|0}Kg(c[j>>2]|0);f=c[g>>2]|0;i=m;return f|0}function pC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;f=k+16|0;h=k+12|0;g=k+8|0;m=k+4|0;n=k;c[l>>2]=b;c[f>>2]=e;c[g>>2]=0;c[m>>2]=0;c[n>>2]=c[(c[l>>2]|0)+52>>2];c[h>>2]=gd(c[(c[l>>2]|0)+68>>2]|0)|0;if((c[h>>2]|0)==0?(c[h>>2]=uA(c[n>>2]|0,g,m,c[(c[l>>2]|0)+72>>2]|0,0)|0,uC(c[l>>2]|0,c[g>>2]|0,h),(a[(c[n>>2]|0)+17>>0]|0)!=0):0)yA(c[n>>2]|0,c[m>>2]|0,5,c[(c[l>>2]|0)+72>>2]|0,h);if(c[h>>2]|0){c[c[f>>2]>>2]=0;Rk(c[g>>2]|0);c[j>>2]=c[h>>2];b=c[j>>2]|0;i=k;return b|0}else{dF((c[g>>2]|0)+22|0,(c[l>>2]|0)+22|0,d[(c[l>>2]|0)+1>>0]<<1|0)|0;dF((c[g>>2]|0)+32|0,(c[l>>2]|0)+32|0,d[(c[l>>2]|0)+1>>0]<<2|0)|0;a[(c[g>>2]|0)+1>>0]=a[(c[l>>2]|0)+1>>0]|0;wB(c[l>>2]|0,d[c[(c[g>>2]|0)+56>>2]>>0]&-9);ck((c[(c[l>>2]|0)+56>>2]|0)+((d[(c[l>>2]|0)+6>>0]|0)+8)|0,c[m>>2]|0);c[c[f>>2]>>2]=c[g>>2];c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}return 0}function qC(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;q=i;i=i+48|0;k=q+40|0;s=q+36|0;l=q+32|0;u=q+28|0;j=q+24|0;o=q+20|0;p=q+16|0;r=q+12|0;v=q+8|0;m=q+4|0;t=q+44|0;n=q;c[s>>2]=f;c[l>>2]=g;c[u>>2]=h;c[j>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[k>>2]=kj(58255)|0;f=c[k>>2]|0;i=q;return f|0}c[p>>2]=uA(c[j>>2]|0,o,r,0,0)|0;if(!(c[p>>2]|0)){c[v>>2]=(c[u>>2]|0)+4;c[m>>2]=c[(c[l>>2]|0)+32>>2];b[t>>1]=lB(c[l>>2]|0,c[m>>2]|0)|0;wB(c[o>>2]|0,13);tC(c[o>>2]|0,1,m,t);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(yA(c[j>>2]|0,c[r>>2]|0,5,c[(c[s>>2]|0)+72>>2]|0,p),(e[t>>1]|0)>(e[(c[o>>2]|0)+12>>1]|0)):0)AA(c[o>>2]|0,c[m>>2]|0,p);c[m>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[n>>2]=(c[m>>2]|0)+9;do{f=c[m>>2]|0;c[m>>2]=f+1;if(!(d[f>>0]&128))break}while((c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0);c[n>>2]=(c[m>>2]|0)+9;do{f=c[m>>2]|0;c[m>>2]=f+1;f=a[f>>0]|0;g=c[v>>2]|0;c[v>>2]=g+1;a[g>>0]=f;if(!(f&128))break}while((c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0);nC(c[s>>2]|0,e[(c[s>>2]|0)+18>>1]|0,c[u>>2]|0,(c[v>>2]|0)-(c[u>>2]|0)|0,0,c[(c[l>>2]|0)+72>>2]|0,p);ck((c[(c[s>>2]|0)+56>>2]|0)+((d[(c[s>>2]|0)+6>>0]|0)+8)|0,c[r>>2]|0);Rk(c[o>>2]|0)}c[k>>2]=c[p>>2];f=c[k>>2]|0;i=q;return f|0}function rC(f,g,h,j,k){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,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,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;m=i;i=i+352|0;I=m+328|0;R=m+324|0;wa=m+320|0;V=m+316|0;X=m+312|0;ba=m+308|0;u=m+304|0;H=m+300|0;ta=m+296|0;o=m+292|0;q=m+288|0;n=m+284|0;E=m+280|0;w=m+276|0;P=m+272|0;y=m+268|0;v=m+338|0;l=m+264|0;ia=m+260|0;M=m+256|0;ha=m+252|0;qa=m+248|0;N=m+244|0;ua=m+240|0;r=m+228|0;F=m+216|0;p=m+196|0;W=m+192|0;sa=m+184|0;z=m+160|0;ga=m+140|0;s=m+136|0;J=m+132|0;pa=m+128|0;aa=m+124|0;va=m+120|0;ka=m+116|0;ja=m+112|0;la=m+108|0;ma=m+336|0;na=m+334|0;oa=m+332|0;ra=m+104|0;ca=m+100|0;ea=m+96|0;fa=m+92|0;da=m+88|0;_=m+84|0;Z=m+80|0;Y=m+76|0;U=m+72|0;S=m+68|0;Q=m+64|0;K=m+60|0;O=m+56|0;T=m;L=m+52|0;x=m+48|0;D=m+44|0;C=m+40|0;G=m+36|0;A=m+32|0;B=m+28|0;t=m+24|0;c[R>>2]=f;c[wa>>2]=g;c[V>>2]=h;c[X>>2]=j;c[ba>>2]=k;c[H>>2]=0;c[ta>>2]=0;c[o>>2]=0;c[y>>2]=0;c[qa>>2]=0;c[N>>2]=0;c[s>>2]=0;c[u>>2]=c[(c[R>>2]|0)+52>>2];if(!(c[V>>2]|0)){c[I>>2]=7;f=c[I>>2]|0;i=m;return f|0}c[n>>2]=(d[(c[R>>2]|0)+1>>0]|0)+(e[(c[R>>2]|0)+18>>1]|0);if((c[n>>2]|0)<2)c[P>>2]=0;else{do if(c[wa>>2]|0)if((c[wa>>2]|0)==(c[n>>2]|0)){c[P>>2]=(c[n>>2]|0)-2+(c[ba>>2]|0);break}else{c[P>>2]=(c[wa>>2]|0)-1;break}else c[P>>2]=0;while(0);c[n>>2]=2-(c[ba>>2]|0)}c[q>>2]=(c[n>>2]|0)+1;k=c[R>>2]|0;if(((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)|0)==(e[(c[R>>2]|0)+18>>1]|0))c[W>>2]=(c[(c[R>>2]|0)+56>>2]|0)+((d[k+6>>0]|0)+8);else c[W>>2]=(c[k+56>>2]|0)+(e[(c[R>>2]|0)+20>>1]&(d[(c[(c[R>>2]|0)+64>>2]|0)+((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[R>>2]|0)+64>>2]|0)+((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)<<1)+1>>0]));c[aa>>2]=Hh(c[W>>2]|0)|0;while(1){c[y>>2]=zw(c[u>>2]|0,c[aa>>2]|0,r+(c[n>>2]<<2)|0,0)|0;if(c[y>>2]|0){va=16;break}c[ta>>2]=(c[ta>>2]|0)+(1+(e[(c[r+(c[n>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[r+(c[n>>2]<<2)>>2]|0)+1>>0]|0));f=c[n>>2]|0;c[n>>2]=f+ -1;if(!f){va=26;break}if(((c[n>>2]|0)+(c[P>>2]|0)|0)==(e[(c[R>>2]|0)+22>>1]|0)?(d[(c[R>>2]|0)+1>>0]|0)!=0:0){c[sa+(c[n>>2]<<2)>>2]=c[(c[R>>2]|0)+32>>2];c[aa>>2]=Hh(c[sa+(c[n>>2]<<2)>>2]|0)|0;f=(lB(c[R>>2]|0,c[sa+(c[n>>2]<<2)>>2]|0)|0)&65535;c[ga+(c[n>>2]<<2)>>2]=f;a[(c[R>>2]|0)+1>>0]=0;continue}c[sa+(c[n>>2]<<2)>>2]=(c[(c[R>>2]|0)+56>>2]|0)+(e[(c[R>>2]|0)+20>>1]&(d[(c[(c[R>>2]|0)+64>>2]|0)+((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[R>>2]|0)+64>>2]|0)+((c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)<<1)+1>>0]));c[aa>>2]=Hh(c[sa+(c[n>>2]<<2)>>2]|0)|0;f=(lB(c[R>>2]|0,c[sa+(c[n>>2]<<2)>>2]|0)|0)&65535;c[ga+(c[n>>2]<<2)>>2]=f;if(e[(c[u>>2]|0)+22>>1]&4){c[va>>2]=(c[sa+(c[n>>2]<<2)>>2]|0)-(c[(c[R>>2]|0)+56>>2]|0);if(((c[va>>2]|0)+(c[ga+(c[n>>2]<<2)>>2]|0)|0)>(c[(c[u>>2]|0)+36>>2]|0)){va=23;break}dF((c[V>>2]|0)+(c[va>>2]|0)|0,c[sa+(c[n>>2]<<2)>>2]|0,c[ga+(c[n>>2]<<2)>>2]|0)|0;c[sa+(c[n>>2]<<2)>>2]=(c[V>>2]|0)+((c[sa+(c[n>>2]<<2)>>2]|0)-(c[(c[R>>2]|0)+56>>2]|0))}mC(c[R>>2]|0,(c[n>>2]|0)+(c[P>>2]|0)-(d[(c[R>>2]|0)+1>>0]|0)|0,c[ga+(c[n>>2]<<2)>>2]|0,y)}a:do if((va|0)==16)_E(r|0,0,(c[n>>2]|0)+1<<2|0)|0;else if((va|0)==23){c[y>>2]=kj(58592)|0;_E(r|0,0,(c[n>>2]|0)+1<<2|0)|0}else if((va|0)==26){c[ta>>2]=(c[ta>>2]|0)+3&-4;c[w>>2]=(c[(c[u>>2]|0)+32>>2]|0)+80;c[ua>>2]=(c[ta>>2]<<2)+(c[ta>>2]<<1)+(c[(c[u>>2]|0)+32>>2]|0)+($(c[w>>2]|0,c[q>>2]|0)|0);c[s>>2]=mg(c[ua>>2]|0)|0;if(!(c[s>>2]|0)){c[y>>2]=7;break}c[J>>2]=(c[s>>2]|0)+(c[ta>>2]<<2);c[pa>>2]=(c[J>>2]|0)+(c[ta>>2]<<1);b[v>>1]=d[(c[r>>2]|0)+5>>0]<<2;c[l>>2]=d[(c[r>>2]|0)+3>>0];c[n>>2]=0;while(1){ta=c[u>>2]|0;if((c[n>>2]|0)>=(c[q>>2]|0))break;k=(c[ta+32>>2]|0)+($(c[w>>2]|0,c[n>>2]|0)|0)|0;k=(c[pa>>2]|0)+k|0;c[F+(c[n>>2]<<2)>>2]=k;c[ja>>2]=k;k=(c[ja>>2]|0)+0|0;ua=(c[r+(c[n>>2]<<2)>>2]|0)+0|0;ta=k+76|0;do{c[k>>2]=c[ua>>2];k=k+4|0;ua=ua+4|0}while((k|0)<(ta|0));c[(c[ja>>2]|0)+56>>2]=(c[ja>>2]|0)+76;dF(c[(c[ja>>2]|0)+56>>2]|0,c[(c[r+(c[n>>2]<<2)>>2]|0)+56>>2]|0,c[(c[u>>2]|0)+32>>2]|0)|0;c[ka>>2]=(e[(c[ja>>2]|0)+18>>1]|0)+(d[(c[ja>>2]|0)+1>>0]|0);b:do if((d[(c[ja>>2]|0)+1>>0]|0)>0){c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[ka>>2]|0))break b;f=sC(c[ja>>2]|0,c[E>>2]|0)|0;c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]=f;f=lB(c[ja>>2]|0,c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=f;c[H>>2]=(c[H>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+1}}else{c[la>>2]=c[(c[ja>>2]|0)+56>>2];b[ma>>1]=b[(c[ja>>2]|0)+20>>1]|0;b[na>>1]=b[(c[ja>>2]|0)+14>>1]|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[ka>>2]|0))break b;c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]=(c[la>>2]|0)+(e[ma>>1]&(d[(c[la>>2]|0)+((e[na>>1]|0)+(c[E>>2]<<1))>>0]<<8|d[(c[la>>2]|0)+((e[na>>1]|0)+(c[E>>2]<<1))+1>>0]));f=lB(c[ja>>2]|0,c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=f;c[H>>2]=(c[H>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+1}}while(0);if(!((c[l>>2]|0)!=0?1:(c[n>>2]|0)>=((c[q>>2]|0)-1|0))){b[oa>>1]=c[ga+(c[n>>2]<<2)>>2];b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=b[oa>>1]|0;c[ra>>2]=(c[pa>>2]|0)+(c[qa>>2]|0);c[qa>>2]=(c[qa>>2]|0)+(e[oa>>1]|0);dF(c[ra>>2]|0,c[sa+(c[n>>2]<<2)>>2]|0,e[oa>>1]|0)|0;c[(c[s>>2]|0)+(c[H>>2]<<2)>>2]=(c[ra>>2]|0)+(e[v>>1]|0);b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=(e[(c[J>>2]|0)+(c[H>>2]<<1)>>1]|0)-(e[v>>1]|0);ta=c[H>>2]|0;if(a[(c[ja>>2]|0)+5>>0]|0){if((e[(c[J>>2]|0)+(ta<<1)>>1]|0)<4)b[(c[J>>2]|0)+(c[H>>2]<<1)>>1]=4}else{f=c[(c[s>>2]|0)+(ta<<2)>>2]|0;g=(c[(c[ja>>2]|0)+56>>2]|0)+8|0;a[f+0>>0]=a[g+0>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0}c[H>>2]=(c[H>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}c[ia>>2]=(c[ta+36>>2]|0)-12+(e[v>>1]|0);c[n>>2]=0;c[w>>2]=0;c[ha>>2]=0;while(1){if((c[n>>2]|0)>=(c[H>>2]|0))break;c[ha>>2]=(c[ha>>2]|0)+((e[(c[J>>2]|0)+(c[n>>2]<<1)>>1]|0)+2);if((c[ha>>2]|0)>(c[ia>>2]|0)){c[ga+(c[w>>2]<<2)>>2]=(c[ha>>2]|0)-(e[(c[J>>2]|0)+(c[n>>2]<<1)>>1]|0);c[z+(c[w>>2]<<2)>>2]=c[n>>2];if(c[l>>2]|0)c[n>>2]=(c[n>>2]|0)+ -1;c[ha>>2]=0;c[w>>2]=(c[w>>2]|0)+1;if((c[w>>2]|0)>4){va=50;break}}c[n>>2]=(c[n>>2]|0)+1}if((va|0)==50){c[y>>2]=kj(58731)|0;break}c[ga+(c[w>>2]<<2)>>2]=c[ha>>2];c[z+(c[w>>2]<<2)>>2]=c[H>>2];c[w>>2]=(c[w>>2]|0)+1;c[n>>2]=(c[w>>2]|0)-1;while(1){if((c[n>>2]|0)<=0)break;c[ca>>2]=c[ga+(c[n>>2]<<2)>>2];c[ea>>2]=c[ga+((c[n>>2]|0)-1<<2)>>2];c[fa>>2]=(c[z+((c[n>>2]|0)-1<<2)>>2]|0)-1;c[da>>2]=(c[fa>>2]|0)+1-(c[l>>2]|0);while(1){if(c[ca>>2]|0){if(c[ba>>2]|0)break;if(((c[ca>>2]|0)+(e[(c[J>>2]|0)+(c[da>>2]<<1)>>1]|0)+2|0)>((c[ea>>2]|0)-((e[(c[J>>2]|0)+(c[fa>>2]<<1)>>1]|0)+2)|0))break}c[ca>>2]=(c[ca>>2]|0)+((e[(c[J>>2]|0)+(c[da>>2]<<1)>>1]|0)+2);c[ea>>2]=(c[ea>>2]|0)-((e[(c[J>>2]|0)+(c[fa>>2]<<1)>>1]|0)+2);f=z+((c[n>>2]|0)-1<<2)|0;c[f>>2]=(c[f>>2]|0)+ -1;c[fa>>2]=(c[z+((c[n>>2]|0)-1<<2)>>2]|0)-1;c[da>>2]=(c[fa>>2]|0)+1-(c[l>>2]|0)}c[ga+(c[n>>2]<<2)>>2]=c[ca>>2];c[ga+((c[n>>2]|0)-1<<2)>>2]=c[ea>>2];c[n>>2]=(c[n>>2]|0)+ -1}if((c[(c[r>>2]|0)+72>>2]|0)>>>0<=1){c[y>>2]=kj(58793)|0;break}c[M>>2]=d[c[(c[r>>2]|0)+56>>2]>>0];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[w>>2]|0))break;if((c[n>>2]|0)<(c[q>>2]|0)){f=c[r+(c[n>>2]<<2)>>2]|0;c[p+(c[n>>2]<<2)>>2]=f;c[_>>2]=f;c[r+(c[n>>2]<<2)>>2]=0;c[y>>2]=gd(c[(c[_>>2]|0)+68>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+1;if(c[y>>2]|0)break a}else{c[y>>2]=uA(c[u>>2]|0,_,aa,(c[ba>>2]|0)!=0?1:c[aa>>2]|0,0)|0;if(c[y>>2]|0)break a;c[p+(c[n>>2]<<2)>>2]=c[_>>2];c[o>>2]=(c[o>>2]|0)+1;if((a[(c[u>>2]|0)+17>>0]|0)!=0?(yA(c[u>>2]|0,c[(c[_>>2]|0)+72>>2]|0,5,c[(c[R>>2]|0)+72>>2]|0,y),(c[y>>2]|0)!=0):0)break a}c[n>>2]=(c[n>>2]|0)+1}while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;vB(c[r+(c[n>>2]<<2)>>2]|0,y);if(c[y>>2]|0)break a;Rk(c[r+(c[n>>2]<<2)>>2]|0);c[r+(c[n>>2]<<2)>>2]=0;c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[w>>2]|0)-1|0))break;c[Z>>2]=c[(c[p+(c[n>>2]<<2)>>2]|0)+72>>2];c[Y>>2]=c[n>>2];c[E>>2]=(c[n>>2]|0)+1;while(1){if((c[E>>2]|0)>=(c[w>>2]|0))break;if((c[(c[p+(c[E>>2]<<2)>>2]|0)+72>>2]|0)>>>0<(c[Z>>2]|0)>>>0){c[Y>>2]=c[E>>2];c[Z>>2]=c[(c[p+(c[E>>2]<<2)>>2]|0)+72>>2]}c[E>>2]=(c[E>>2]|0)+1}if((c[Y>>2]|0)>(c[n>>2]|0)){c[U>>2]=c[p+(c[n>>2]<<2)>>2];c[p+(c[n>>2]<<2)>>2]=c[p+(c[Y>>2]<<2)>>2];c[p+(c[Y>>2]<<2)>>2]=c[U>>2]}c[n>>2]=(c[n>>2]|0)+1}ck(c[W>>2]|0,c[(c[p+((c[o>>2]|0)-1<<2)>>2]|0)+72>>2]|0);c[E>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;c[S>>2]=c[p+(c[n>>2]<<2)>>2];wB(c[S>>2]|0,c[M>>2]|0);tC(c[S>>2]|0,(c[z+(c[n>>2]<<2)>>2]|0)-(c[E>>2]|0)|0,(c[s>>2]|0)+(c[E>>2]<<2)|0,(c[J>>2]|0)+(c[E>>2]<<1)|0);c[E>>2]=c[z+(c[n>>2]<<2)>>2];if((c[E>>2]|0)<(c[H>>2]|0)){c[Q>>2]=c[(c[s>>2]|0)+(c[E>>2]<<2)>>2];c[O>>2]=(e[(c[J>>2]|0)+(c[E>>2]<<1)>>1]|0)+(e[v>>1]|0);c[K>>2]=(c[V>>2]|0)+(c[N>>2]|0);do if(a[(c[S>>2]|0)+5>>0]|0){if(c[l>>2]|0){c[E>>2]=(c[E>>2]|0)+ -1;Kw(c[S>>2]|0,c[(c[s>>2]|0)+(c[E>>2]<<2)>>2]|0,T);c[Q>>2]=c[K>>2];f=T;c[O>>2]=4+(oz((c[Q>>2]|0)+4|0,c[f>>2]|0,c[f+4>>2]|0)|0);c[K>>2]=0;break}c[Q>>2]=(c[Q>>2]|0)+ -4;if((e[(c[J>>2]|0)+(c[E>>2]<<1)>>1]|0)==4)c[O>>2]=(lB(c[R>>2]|0,c[Q>>2]|0)|0)&65535}else{f=(c[(c[S>>2]|0)+56>>2]|0)+8|0;g=c[Q>>2]|0;a[f+0>>0]=a[g+0>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0}while(0);c[N>>2]=(c[N>>2]|0)+(c[O>>2]|0);nC(c[R>>2]|0,c[P>>2]|0,c[Q>>2]|0,c[O>>2]|0,c[K>>2]|0,c[(c[S>>2]|0)+72>>2]|0,y);if(c[y>>2]|0)break a;c[E>>2]=(c[E>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if(!(c[M>>2]&8)){c[L>>2]=(c[(c[F+((c[q>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8;f=(c[(c[p+((c[o>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;g=c[L>>2]|0;a[f+0>>0]=a[g+0>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0}if(((c[X>>2]|0)!=0?(e[(c[R>>2]|0)+18>>1]|0)==0:0)?(d[(c[R>>2]|0)+6>>0]|0)<=(e[(c[p>>2]|0)+16>>1]|0):0){uC(c[p>>2]|0,c[R>>2]|0,y);vB(c[p>>2]|0,y);break}if(a[(c[u>>2]|0)+17>>0]|0){c[x>>2]=c[p>>2];c[D>>2]=c[F>>2];c[C>>2]=d[(c[D>>2]|0)+1>>0];c[G>>2]=(e[(c[D>>2]|0)+18>>1]|0)+(c[C>>2]|0);if(c[C>>2]|0)K=e[(c[D>>2]|0)+22>>1]|0;else K=-1;c[A>>2]=K;c[E>>2]=0;c[w>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[H>>2]|0))break;c[B>>2]=0;while(1){if((c[n>>2]|0)!=(c[G>>2]|0))break;f=(c[E>>2]|0)+1|0;c[E>>2]=f;c[D>>2]=c[F+(f<<2)>>2];c[G>>2]=(c[n>>2]|0)+(((c[l>>2]|0)!=0^1)&1)+(e[(c[D>>2]|0)+18>>1]|0)+(d[(c[D>>2]|0)+1>>0]|0);if(a[(c[D>>2]|0)+1>>0]|0){c[C>>2]=d[(c[D>>2]|0)+1>>0];c[A>>2]=(c[n>>2]|0)+(((c[l>>2]|0)!=0^1)&1)+(e[(c[D>>2]|0)+22>>1]|0)}c[B>>2]=((c[l>>2]|0)!=0^1)&1}if((c[n>>2]|0)==(c[A>>2]|0)?(c[B>>2]=1,f=(c[C>>2]|0)+ -1|0,c[C>>2]=f,(f|0)>0):0)c[A>>2]=(c[A>>2]|0)+1;if(!((c[n>>2]|0)==(c[z+(c[w>>2]<<2)>>2]|0)?(f=(c[w>>2]|0)+1|0,c[w>>2]=f,c[x>>2]=c[p+(f<<2)>>2],(c[l>>2]|0)==0):0))va=116;do if((va|0)==116){va=0;if((c[B>>2]|0)==0?(c[(c[D>>2]|0)+72>>2]|0)==(c[(c[x>>2]|0)+72>>2]|0):0)break;if(!(b[v>>1]|0)){g=c[u>>2]|0;f=Hh(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;yA(g,f,5,c[(c[x>>2]|0)+72>>2]|0,y)}if((e[(c[J>>2]|0)+(c[n>>2]<<1)>>1]|0)>(e[(c[x>>2]|0)+12>>1]|0))AA(c[x>>2]|0,c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,y)}while(0);c[n>>2]=(c[n>>2]|0)+1}if(!(b[v>>1]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break a;c[t>>2]=Hh((c[(c[p+(c[n>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;yA(c[u>>2]|0,c[t>>2]|0,5,c[(c[p+(c[n>>2]<<2)>>2]|0)+72>>2]|0,y);c[n>>2]=(c[n>>2]|0)+1}}}}while(0);ng(c[s>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;Rk(c[r+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;Rk(c[p+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[I>>2]=c[y>>2];f=c[I>>2]|0;i=m;return f|0}function sC(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;h=j+16|0;f=j+12|0;g=j+8|0;k=j+4|0;l=j;c[f>>2]=a;c[g>>2]=b;c[k>>2]=(d[(c[f>>2]|0)+1>>0]|0)-1;while(1){if((c[k>>2]|0)<0){b=8;break}c[l>>2]=e[(c[f>>2]|0)+22+(c[k>>2]<<1)>>1];if((c[l>>2]|0)<=(c[g>>2]|0)){if((c[l>>2]|0)==(c[g>>2]|0)){b=5;break}c[g>>2]=(c[g>>2]|0)+ -1}c[k>>2]=(c[k>>2]|0)+ -1}if((b|0)==5){c[h>>2]=c[(c[f>>2]|0)+32+(c[k>>2]<<2)>>2];a=c[h>>2]|0;i=j;return a|0}else if((b|0)==8){c[h>>2]=(c[(c[f>>2]|0)+56>>2]|0)+((e[(c[f>>2]|0)+20>>1]|0)&((d[(c[(c[f>>2]|0)+64>>2]|0)+(c[g>>2]<<1)>>0]|0)<<8|(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[g>>2]<<1)+1>>0]|0)));a=c[h>>2]|0;i=j;return a|0}return 0}function tC(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,u=0,v=0;q=i;i=i+48|0;o=q+36|0;r=q+32|0;v=q+28|0;s=q+24|0;k=q+20|0;u=q+16|0;n=q+12|0;l=q+8|0;m=q+4|0;p=q;t=q+40|0;c[o>>2]=f;c[r>>2]=g;c[v>>2]=h;c[s>>2]=j;c[l>>2]=c[(c[o>>2]|0)+56>>2];c[m>>2]=d[(c[o>>2]|0)+6>>0];c[p>>2]=c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2];c[u>>2]=(c[(c[o>>2]|0)+64>>2]|0)+(c[r>>2]<<1);c[n>>2]=c[p>>2];c[k>>2]=(c[r>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;b[t>>1]=b[(c[s>>2]|0)+(c[k>>2]<<1)>>1]|0;c[u>>2]=(c[u>>2]|0)+ -2;c[n>>2]=(c[n>>2]|0)-(e[t>>1]|0);a[c[u>>2]>>0]=c[n>>2]>>8;a[(c[u>>2]|0)+1>>0]=c[n>>2];dF((c[l>>2]|0)+(c[n>>2]|0)|0,c[(c[v>>2]|0)+(c[k>>2]<<2)>>2]|0,e[t>>1]|0|0)|0;c[k>>2]=(c[k>>2]|0)+ -1}a[(c[l>>2]|0)+((c[m>>2]|0)+3)>>0]=c[r>>2]>>8;a[(c[l>>2]|0)+((c[m>>2]|0)+3)+1>>0]=c[r>>2];a[(c[l>>2]|0)+((c[m>>2]|0)+5)>>0]=c[n>>2]>>8;a[(c[l>>2]|0)+((c[m>>2]|0)+5)+1>>0]=c[n>>2];f=(c[o>>2]|0)+16|0;b[f>>1]=(e[f>>1]|0)-((c[r>>2]<<1)+(c[p>>2]|0)-(c[n>>2]|0));b[(c[o>>2]|0)+18>>1]=c[r>>2];i=q;return}function uC(b,f,g){b=b|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;o=i;i=i+48|0;n=o+36|0;l=o+32|0;k=o+28|0;m=o+24|0;h=o+20|0;p=o+16|0;q=o+12|0;r=o+8|0;j=o+4|0;s=o;c[n>>2]=b;c[l>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=o;return}c[m>>2]=c[(c[n>>2]|0)+52>>2];c[h>>2]=c[(c[n>>2]|0)+56>>2];c[p>>2]=c[(c[l>>2]|0)+56>>2];c[q>>2]=d[(c[n>>2]|0)+6>>0];c[r>>2]=(c[(c[l>>2]|0)+72>>2]|0)==1?100:0;c[s>>2]=d[(c[h>>2]|0)+((c[q>>2]|0)+5)>>0]<<8|d[(c[h>>2]|0)+((c[q>>2]|0)+5)+1>>0];dF((c[p>>2]|0)+(c[s>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)|0,(c[(c[m>>2]|0)+36>>2]|0)-(c[s>>2]|0)|0)|0;dF((c[p>>2]|0)+(c[r>>2]|0)|0,(c[h>>2]|0)+(c[q>>2]|0)|0,(e[(c[n>>2]|0)+14>>1]|0)+(e[(c[n>>2]|0)+18>>1]<<1)|0)|0;a[c[l>>2]>>0]=0;c[j>>2]=Sj(c[l>>2]|0)|0;if(c[j>>2]|0){c[c[k>>2]>>2]=c[j>>2];i=o;return}if(!(a[(c[m>>2]|0)+17>>0]|0)){i=o;return}b=xA(c[l>>2]|0)|0;c[c[k>>2]>>2]=b;i=o;return}function vC(b,f,g){b=b|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;p=i;i=i+64|0;o=p+52|0;x=p+48|0;k=p+44|0;n=p+40|0;m=p+36|0;l=p+32|0;r=p+28|0;q=p+24|0;w=p+20|0;v=p+16|0;h=p+12|0;t=p+8|0;u=p+4|0;s=p;c[x>>2]=b;c[k>>2]=f;c[n>>2]=g;c[m>>2]=d[(c[x>>2]|0)+6>>0];c[l>>2]=c[(c[x>>2]|0)+56>>2];c[v>>2]=c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2];c[q>>2]=(e[(c[x>>2]|0)+14>>1]|0)+((e[(c[x>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[l>>2]|0)+((c[m>>2]|0)+5)>>0]|0)<<8|(d[(c[l>>2]|0)+((c[m>>2]|0)+5)+1>>0]|0);do if((c[q>>2]|0)>(c[r>>2]|0)){if(!(c[r>>2]|0)){c[r>>2]=65536;break}c[o>>2]=kj(53453)|0;b=c[o>>2]|0;i=p;return b|0}while(0);a:do if(((c[q>>2]|0)+2|0)<=(c[r>>2]|0)){if((d[(c[l>>2]|0)+((c[m>>2]|0)+1)>>0]|0|0)==0?(d[(c[l>>2]|0)+((c[m>>2]|0)+2)>>0]|0|0)==0:0){j=22;break}c[t>>2]=(c[m>>2]|0)+1;while(1){b=(d[(c[l>>2]|0)+(c[t>>2]|0)>>0]|0)<<8|(d[(c[l>>2]|0)+(c[t>>2]|0)+1>>0]|0);c[h>>2]=b;if((b|0)<=0){j=22;break a}if((c[h>>2]|0)>((c[v>>2]|0)-4|0)){j=12;break}if((c[h>>2]|0)<((c[t>>2]|0)+4|0)){j=12;break}c[u>>2]=(d[(c[l>>2]|0)+((c[h>>2]|0)+2)>>0]|0)<<8|(d[(c[l>>2]|0)+((c[h>>2]|0)+2)+1>>0]|0);if((c[u>>2]|0)>=(c[k>>2]|0))break;c[t>>2]=c[h>>2]}if((j|0)==12){c[o>>2]=kj(53469)|0;b=c[o>>2]|0;i=p;return b|0}c[s>>2]=(c[u>>2]|0)-(c[k>>2]|0);do if((c[s>>2]|0)<4){if((d[(c[l>>2]|0)+((c[m>>2]|0)+7)>>0]|0|0)>=60){j=23;break a}b=(c[l>>2]|0)+(c[t>>2]|0)|0;f=(c[l>>2]|0)+(c[h>>2]|0)|0;a[b+0>>0]=a[f+0>>0]|0;a[b+1>>0]=a[f+1>>0]|0;b=(c[l>>2]|0)+((c[m>>2]|0)+7)|0;a[b>>0]=(d[b>>0]|0)+(c[s>>2]&255)}else{if(((c[u>>2]|0)+(c[h>>2]|0)|0)<=(c[v>>2]|0)){a[(c[l>>2]|0)+((c[h>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[l>>2]|0)+((c[h>>2]|0)+2)+1>>0]=c[s>>2];break}c[o>>2]=kj(53483)|0;b=c[o>>2]|0;i=p;return b|0}while(0);c[c[n>>2]>>2]=(c[h>>2]|0)+(c[s>>2]|0);c[o>>2]=0;b=c[o>>2]|0;i=p;return b|0}else j=22;while(0);if((j|0)==22?((c[q>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0):0)j=23;do if((j|0)==23){c[w>>2]=wC(c[x>>2]|0)|0;if(!(c[w>>2]|0)){c[r>>2]=(((d[(c[l>>2]|0)+((c[m>>2]|0)+5)>>0]|0)<<8|(d[(c[l>>2]|0)+((c[m>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[o>>2]=c[w>>2];b=c[o>>2]|0;i=p;return b|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[l>>2]|0)+((c[m>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[l>>2]|0)+((c[m>>2]|0)+5)+1>>0]=c[r>>2];c[c[n>>2]>>2]=c[r>>2];c[o>>2]=0;b=c[o>>2]|0;i=p;return b|0}function wC(b){b=b|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;f=i;i=i+64|0;m=f+56|0;l=f+52|0;t=f+48|0;o=f+44|0;j=f+40|0;n=f+36|0;p=f+32|0;s=f+28|0;g=f+24|0;v=f+20|0;h=f+16|0;q=f+12|0;k=f+8|0;r=f+4|0;u=f;c[l>>2]=b;c[q>>2]=xC(c[c[(c[l>>2]|0)+52>>2]>>2]|0)|0;c[h>>2]=c[(c[l>>2]|0)+56>>2];c[j>>2]=d[(c[l>>2]|0)+6>>0];c[s>>2]=e[(c[l>>2]|0)+14>>1];c[v>>2]=e[(c[l>>2]|0)+18>>1];c[p>>2]=c[(c[(c[l>>2]|0)+52>>2]|0)+36>>2];c[g>>2]=(d[(c[h>>2]|0)+((c[j>>2]|0)+5)>>0]|0)<<8|(d[(c[h>>2]|0)+((c[j>>2]|0)+5)+1>>0]|0);dF((c[q>>2]|0)+(c[g>>2]|0)|0,(c[h>>2]|0)+(c[g>>2]|0)|0,(c[p>>2]|0)-(c[g>>2]|0)|0)|0;c[g>>2]=c[p>>2];c[k>>2]=(c[s>>2]|0)+(c[v>>2]<<1);c[r>>2]=(c[p>>2]|0)-4;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0)){n=10;break}c[u>>2]=(c[h>>2]|0)+((c[s>>2]|0)+(c[t>>2]<<1));c[o>>2]=(d[c[u>>2]>>0]|0)<<8|(d[(c[u>>2]|0)+1>>0]|0);if((c[o>>2]|0)<(c[k>>2]|0)){n=5;break}if((c[o>>2]|0)>(c[r>>2]|0)){n=5;break}c[n>>2]=(lB(c[l>>2]|0,(c[q>>2]|0)+(c[o>>2]|0)|0)|0)&65535;c[g>>2]=(c[g>>2]|0)-(c[n>>2]|0);if((c[g>>2]|0)<(c[k>>2]|0)){n=8;break}if(((c[o>>2]|0)+(c[n>>2]|0)|0)>(c[p>>2]|0)){n=8;break}dF((c[h>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[o>>2]|0)|0,c[n>>2]|0)|0;a[c[u>>2]>>0]=c[g>>2]>>8;a[(c[u>>2]|0)+1>>0]=c[g>>2];c[t>>2]=(c[t>>2]|0)+1}if((n|0)==5){c[m>>2]=kj(53381)|0;v=c[m>>2]|0;i=f;return v|0}else if((n|0)==8){c[m>>2]=kj(53393)|0;v=c[m>>2]|0;i=f;return v|0}else if((n|0)==10){a[(c[h>>2]|0)+((c[j>>2]|0)+5)>>0]=c[g>>2]>>8;a[(c[h>>2]|0)+((c[j>>2]|0)+5)+1>>0]=c[g>>2];a[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]=0;a[(c[h>>2]|0)+((c[j>>2]|0)+2)>>0]=0;a[(c[h>>2]|0)+((c[j>>2]|0)+7)>>0]=0;_E((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[g>>2]|0)-(c[k>>2]|0)|0)|0;if(((c[g>>2]|0)-(c[k>>2]|0)|0)!=(e[(c[l>>2]|0)+16>>1]|0|0)){c[m>>2]=kj(53410)|0;v=c[m>>2]|0;i=f;return v|0}else{c[m>>2]=0;v=c[m>>2]|0;i=f;return v|0}}return 0}function xC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+200>>2]|0}function yC(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;n=i;i=i+48|0;m=n+20|0;t=n+16|0;j=n+32|0;u=n+30|0;s=n+28|0;o=n+26|0;q=n+35|0;v=n+34|0;l=n+24|0;x=n+12|0;r=n+8|0;p=n+4|0;w=n;c[t>>2]=f;b[j>>1]=g;b[u>>1]=h;a[v>>0]=0;b[l>>1]=b[u>>1]|0;c[x>>2]=(c[(c[(c[t>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[r>>2]=(e[j>>1]|0)+(e[u>>1]|0);c[p>>2]=c[(c[t>>2]|0)+56>>2];if((e[(c[(c[t>>2]|0)+52>>2]|0)+22>>1]|0)&4)_E((c[p>>2]|0)+(e[j>>1]|0)|0,0,e[u>>1]|0|0)|0;a[q>>0]=a[(c[t>>2]|0)+6>>0]|0;b[s>>1]=(d[q>>0]|0)+1;if((d[(c[p>>2]|0)+((e[s>>1]|0)+1)>>0]|0|0)==0?(d[(c[p>>2]|0)+(e[s>>1]|0)>>0]|0|0)==0:0)b[o>>1]=0;else k=6;do if((k|0)==6){while(1){k=0;f=((d[(c[p>>2]|0)+(e[s>>1]|0)>>0]|0)<<8|(d[(c[p>>2]|0)+(e[s>>1]|0)+1>>0]|0))&65535;b[o>>1]=f;if((f&65535|0)>0)g=(e[o>>1]|0|0)<(e[j>>1]|0|0);else g=0;h=e[o>>1]|0;if(!g)break;if((h|0)<((e[s>>1]|0)+4|0)){k=10;break}b[s>>1]=b[o>>1]|0;k=6}if((k|0)==10){c[m>>2]=kj(53568)|0;f=c[m>>2]|0;i=n;return f|0}if(h>>>0>(c[x>>2]|0)>>>0){c[m>>2]=kj(53571)|0;f=c[m>>2]|0;i=n;return f|0}do if((e[o>>1]|0|0)!=0?((c[r>>2]|0)+3|0)>>>0>=(e[o>>1]|0)>>>0:0){a[v>>0]=(e[o>>1]|0)-(c[r>>2]|0);if((c[r>>2]|0)>>>0<=(e[o>>1]|0)>>>0){c[r>>2]=(e[o>>1]|0)+((d[(c[p>>2]|0)+((e[o>>1]|0)+2)>>0]|0)<<8|(d[(c[p>>2]|0)+((e[o>>1]|0)+2)+1>>0]|0));b[u>>1]=(c[r>>2]|0)-(e[j>>1]|0);b[o>>1]=(d[(c[p>>2]|0)+(e[o>>1]|0)>>0]|0)<<8|(d[(c[p>>2]|0)+(e[o>>1]|0)+1>>0]|0);break}c[m>>2]=kj(53582)|0;f=c[m>>2]|0;i=n;return f|0}while(0);do if((e[s>>1]|0|0)>((d[q>>0]|0)+1|0)?(c[w>>2]=(e[s>>1]|0)+((d[(c[p>>2]|0)+((e[s>>1]|0)+2)>>0]|0)<<8|(d[(c[p>>2]|0)+((e[s>>1]|0)+2)+1>>0]|0)),((c[w>>2]|0)+3|0)>=(e[j>>1]|0|0)):0){if((c[w>>2]|0)<=(e[j>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[j>>1]|0)-(c[w>>2]|0));b[u>>1]=(c[r>>2]|0)-(e[s>>1]|0);b[j>>1]=b[s>>1]|0;break}c[m>>2]=kj(53595)|0;f=c[m>>2]|0;i=n;return f|0}while(0);if((d[v>>0]|0|0)<=(d[(c[p>>2]|0)+((d[q>>0]|0)+7)>>0]|0|0)){f=(c[p>>2]|0)+((d[q>>0]|0)+7)|0;a[f>>0]=(d[f>>0]|0)-(d[v>>0]|0);break}c[m>>2]=kj(53601)|0;f=c[m>>2]|0;i=n;return f|0}while(0);do if((e[j>>1]|0|0)==((d[(c[p>>2]|0)+((d[q>>0]|0)+5)>>0]|0)<<8|(d[(c[p>>2]|0)+((d[q>>0]|0)+5)+1>>0]|0)|0)){if((e[s>>1]|0|0)==((d[q>>0]|0)+1|0)){a[(c[p>>2]|0)+((d[q>>0]|0)+1)>>0]=(e[o>>1]|0)>>8;a[(c[p>>2]|0)+((d[q>>0]|0)+1)+1>>0]=b[o>>1];a[(c[p>>2]|0)+((d[q>>0]|0)+5)>>0]=(c[r>>2]|0)>>>8;a[(c[p>>2]|0)+((d[q>>0]|0)+5)+1>>0]=c[r>>2];break}c[m>>2]=kj(53608)|0;f=c[m>>2]|0;i=n;return f|0}else{a[(c[p>>2]|0)+(e[s>>1]|0)>>0]=(e[j>>1]|0)>>8;a[(c[p>>2]|0)+(e[s>>1]|0)+1>>0]=b[j>>1];a[(c[p>>2]|0)+(e[j>>1]|0)>>0]=(e[o>>1]|0)>>8;a[(c[p>>2]|0)+(e[j>>1]|0)+1>>0]=b[o>>1];a[(c[p>>2]|0)+((e[j>>1]|0)+2)>>0]=(e[u>>1]|0)>>8;a[(c[p>>2]|0)+((e[j>>1]|0)+2)+1>>0]=b[u>>1]}while(0);f=(c[t>>2]|0)+16|0;b[f>>1]=(e[f>>1]|0)+(e[l>>1]|0);c[m>>2]=0;f=c[m>>2]|0;i=n;return f|0}function zC(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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=i;i=i+112|0;r=o+96|0;E=o+92|0;M=o+88|0;K=o+84|0;J=o;L=o+80|0;H=o+76|0;N=o+72|0;C=o+68|0;u=o+64|0;G=o+60|0;I=o+56|0;v=o+52|0;p=o+48|0;w=o+44|0;y=o+40|0;q=o+36|0;x=o+32|0;z=o+28|0;A=o+24|0;F=o+20|0;B=o+16|0;D=o+12|0;s=o+8|0;t=o+100|0;c[E>>2]=b;c[M>>2]=f;c[K>>2]=g;b=J;c[b>>2]=h;c[b+4>>2]=j;c[L>>2]=k;c[H>>2]=l;c[N>>2]=m;c[C>>2]=n;c[y>>2]=0;c[q>>2]=0;c[A>>2]=c[(c[E>>2]|0)+52>>2];c[F>>2]=0;c[B>>2]=d[(c[E>>2]|0)+7>>0];c[u>>2]=(c[H>>2]|0)+(c[N>>2]|0);if(a[(c[E>>2]|0)+3>>0]|0){if((c[u>>2]|0)>>>0<128){a[(c[M>>2]|0)+(c[B>>2]|0)>>0]=c[u>>2];n=1}else{n=c[u>>2]|0;n=oz((c[M>>2]|0)+(c[B>>2]|0)|0,n,((n|0)<0)<<31>>31)|0}c[B>>2]=(c[B>>2]|0)+(n&255)}N=J;N=oz((c[M>>2]|0)+(c[B>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+N;do if(a[(c[E>>2]|0)+2>>0]|0){c[G>>2]=c[L>>2];c[I>>2]=c[H>>2];c[H>>2]=0}else{N=J;b=c[N+4>>2]|0;if(!((b|0)>0|(b|0)==0&(c[N>>2]|0)>>>0>2147483647|(c[K>>2]|0)==0)){c[u>>2]=c[J>>2];c[G>>2]=c[K>>2];c[I>>2]=c[J>>2];break}c[r>>2]=kj(57891)|0;N=c[r>>2]|0;i=o;return N|0}while(0);if((c[u>>2]|0)<=(e[(c[E>>2]|0)+10>>1]|0)){N=(c[B>>2]|0)+(c[u>>2]|0)|0;c[v>>2]=N;c[v>>2]=(c[v>>2]|0)<4?4:N;c[c[C>>2]>>2]=c[v>>2];c[w>>2]=c[u>>2];c[x>>2]=c[M>>2]}else{c[D>>2]=e[(c[E>>2]|0)+12>>1];c[v>>2]=(c[D>>2]|0)+((((c[u>>2]|0)-(c[D>>2]|0)|0)>>>0)%(((c[(c[(c[E>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[v>>2]|0)>(e[(c[E>>2]|0)+10>>1]|0))c[v>>2]=c[D>>2];c[w>>2]=c[v>>2];c[c[C>>2]>>2]=(c[v>>2]|0)+(c[B>>2]|0)+4;c[x>>2]=(c[M>>2]|0)+((c[B>>2]|0)+(c[v>>2]|0))}c[z>>2]=(c[M>>2]|0)+(c[B>>2]|0);while(1){if((c[u>>2]|0)<=0){s=37;break}if(!(c[w>>2]|0)){c[s>>2]=c[F>>2];if(a[(c[A>>2]|0)+17>>0]|0)while(1){c[F>>2]=(c[F>>2]|0)+1;N=Pw(c[A>>2]|0,c[F>>2]|0)|0;if((N|0)==(c[F>>2]|0))continue;if((c[F>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[A>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[p>>2]=uA(c[A>>2]|0,y,F,c[F>>2]|0,0)|0;if(((c[p>>2]|0)==0?(d[(c[A>>2]|0)+17>>0]|0)!=0:0)?(a[t>>0]=(c[s>>2]|0)!=0?4:3,yA(c[A>>2]|0,c[F>>2]|0,a[t>>0]|0,c[s>>2]|0,p),(c[p>>2]|0)!=0):0)Rk(c[y>>2]|0);if(c[p>>2]|0){s=26;break}ck(c[x>>2]|0,c[F>>2]|0);Rk(c[q>>2]|0);c[q>>2]=c[y>>2];c[x>>2]=c[(c[y>>2]|0)+56>>2];ck(c[x>>2]|0,0);c[z>>2]=(c[(c[y>>2]|0)+56>>2]|0)+4;c[w>>2]=(c[(c[A>>2]|0)+36>>2]|0)-4}c[v>>2]=c[u>>2];if((c[v>>2]|0)>(c[w>>2]|0))c[v>>2]=c[w>>2];if((c[I>>2]|0)>0){if((c[v>>2]|0)>(c[I>>2]|0))c[v>>2]=c[I>>2];dF(c[z>>2]|0,c[G>>2]|0,c[v>>2]|0)|0}else _E(c[z>>2]|0,0,c[v>>2]|0)|0;c[u>>2]=(c[u>>2]|0)-(c[v>>2]|0);c[z>>2]=(c[z>>2]|0)+(c[v>>2]|0);c[G>>2]=(c[G>>2]|0)+(c[v>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[v>>2]|0);c[w>>2]=(c[w>>2]|0)-(c[v>>2]|0);if(c[I>>2]|0)continue;c[I>>2]=c[H>>2];c[G>>2]=c[L>>2]}if((s|0)==26){Rk(c[q>>2]|0);c[r>>2]=c[p>>2];N=c[r>>2]|0;i=o;return N|0}else if((s|0)==37){Rk(c[q>>2]|0);c[r>>2]=0;N=c[r>>2]|0;i=o;return N|0}return 0}function AC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;g=d+4|0;f=d;c[e>>2]=a;c[g>>2]=b;c[f>>2]=c[(c[g>>2]|0)+56>>2];if(!(c[f>>2]|0)){i=d;return}Sz(c[e>>2]|0,c[f>>2]|0);hc(c[(c[f>>2]|0)+40>>2]|0);Xb(c[e>>2]|0,c[f>>2]|0);c[(c[g>>2]|0)+56>>2]=0;i=d;return}function BC(b,e,f){b=b|0;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;j=i;i=i+64|0;o=j+44|0;n=j+40|0;u=j+36|0;m=j+32|0;h=j+28|0;k=j+24|0;g=j+20|0;p=j+16|0;l=j+12|0;s=j+8|0;t=j+4|0;q=j+48|0;r=j;c[n>>2]=b;c[u>>2]=e;c[m>>2]=f;c[h>>2]=c[(c[n>>2]|0)+4>>2];f=c[h>>2]|0;if(a[(c[h>>2]|0)+17>>0]|0){sA(f);Sc(c[n>>2]|0,4,g);c[g>>2]=(c[g>>2]|0)+1;while(1){b=c[g>>2]|0;if((b|0)!=(Pw(c[h>>2]|0,c[g>>2]|0)|0)?(c[g>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[g>>2]=(c[g>>2]|0)+1}c[p>>2]=uA(c[h>>2]|0,t,s,c[g>>2]|0,1)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}if((c[s>>2]|0)!=(c[g>>2]|0)){a[q>>0]=0;c[r>>2]=0;c[p>>2]=Hy(c[h>>2]|0,0,0)|0;Rk(c[t>>2]|0);if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=Bw(c[h>>2]|0,c[g>>2]|0,k,0)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=Qw(c[h>>2]|0,c[g>>2]|0,q,r)|0;if(!((d[q>>0]|0)!=1?(d[q>>0]|0)!=2:0))c[p>>2]=kj(59666)|0;if(c[p>>2]|0){Rk(c[k>>2]|0);c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=vA(c[h>>2]|0,c[k>>2]|0,a[q>>0]|0,c[r>>2]|0,c[s>>2]|0,0)|0;Rk(c[k>>2]|0);if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=Bw(c[h>>2]|0,c[g>>2]|0,k,0)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=gd(c[(c[k>>2]|0)+68>>2]|0)|0;if(c[p>>2]|0){Rk(c[k>>2]|0);c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}}else c[k>>2]=c[t>>2];yA(c[h>>2]|0,c[g>>2]|0,1,0,p);if(c[p>>2]|0){Rk(c[k>>2]|0);c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}c[p>>2]=bd(c[n>>2]|0,4,c[g>>2]|0)|0;if(c[p>>2]|0){Rk(c[k>>2]|0);c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}}else{c[p>>2]=uA(f,k,g,1,0)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];b=c[o>>2]|0;i=j;return b|0}}if(c[m>>2]&1)c[l>>2]=13;else c[l>>2]=10;wB(c[k>>2]|0,c[l>>2]|0);_c(c[(c[k>>2]|0)+68>>2]|0);c[c[u>>2]>>2]=c[g>>2];c[o>>2]=0;b=c[o>>2]|0;i=j;return b|0}function CC(d,f,g,h,j){d=d|0;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;p=i;i=i+32|0;l=p+24|0;k=p+20|0;m=p+16|0;r=p+12|0;o=p+8|0;n=p+4|0;q=p;c[k>>2]=d;c[m>>2]=f;c[r>>2]=g;c[o>>2]=h;c[n>>2]=j;c[q>>2]=c[(c[k>>2]|0)+4>>2];if((c[r>>2]|0)!=0?((e[(c[q>>2]|0)+22>>1]|0)&1|0)!=0:0){c[l>>2]=8;d=c[l>>2]|0;i=p;return d|0}if((c[r>>2]|0)!=0?(DC(c[q>>2]|0),(c[(c[q>>2]|0)+80>>2]|0)==0):0){c[l>>2]=7;d=c[l>>2]|0;i=p;return d|0}if((c[m>>2]|0)==1?(Aw(c[q>>2]|0)|0)==0:0)c[m>>2]=0;c[(c[n>>2]|0)+60>>2]=c[m>>2];b[(c[n>>2]|0)+76>>1]=-1;c[(c[n>>2]|0)+16>>2]=c[o>>2];c[c[n>>2]>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[q>>2];a[(c[n>>2]|0)+72>>0]=c[r>>2];c[(c[n>>2]|0)+8>>2]=c[(c[q>>2]|0)+8>>2];if(c[(c[n>>2]|0)+8>>2]|0)c[(c[(c[n>>2]|0)+8>>2]|0)+12>>2]=c[n>>2];c[(c[q>>2]|0)+8>>2]=c[n>>2];a[(c[n>>2]|0)+73>>0]=0;c[l>>2]=0;d=c[l>>2]|0;i=p;return d|0}function DC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(c[(c[e>>2]|0)+80>>2]|0){i=d;return}b=Hg(c[(c[e>>2]|0)+32>>2]|0)|0;c[(c[e>>2]|0)+80>>2]=b;if(!(c[(c[e>>2]|0)+80>>2]|0)){i=d;return}b=c[(c[e>>2]|0)+80>>2]|0;a[b+0>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;e=(c[e>>2]|0)+80|0;c[e>>2]=(c[e>>2]|0)+4;i=d;return}function EC(){return 200}function FC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;d=(c[d>>2]|0)+0|0;a=d+76|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=b;return}function GC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+24|0;h=e+20|0;l=e+16|0;g=e+12|0;m=e+8|0;k=e+4|0;j=e;c[h>>2]=a;c[l>>2]=b;c[g>>2]=0;c[m>>2]=c[(c[h>>2]|0)+96>>2];a:do if((c[l>>2]|0)>(c[m>>2]|0)?(d[(c[h>>2]|0)+6>>0]|0|0)!=0:0){c[j>>2]=kc(c[(c[h>>2]|0)+92>>2]|0,(c[l>>2]|0)*48|0,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;a=c[f>>2]|0;i=e;return a|0}_E((c[j>>2]|0)+((c[m>>2]|0)*48|0)|0,0,((c[l>>2]|0)-(c[m>>2]|0)|0)*48|0)|0;c[(c[h>>2]|0)+92>>2]=c[j>>2];c[k>>2]=c[m>>2];while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break a;c[(c[j>>2]|0)+((c[k>>2]|0)*48|0)+20>>2]=c[(c[h>>2]|0)+24>>2];if((c[c[(c[h>>2]|0)+64>>2]>>2]|0)!=0?(a=(c[h>>2]|0)+72|0,m=c[a+4>>2]|0,(m|0)>0|(m|0)==0&(c[a>>2]|0)>>>0>0):0){b=(c[h>>2]|0)+72|0;m=c[b+4>>2]|0;a=(c[j>>2]|0)+((c[k>>2]|0)*48|0)|0;c[a>>2]=c[b>>2];c[a+4>>2]=m}else{a=(c[j>>2]|0)+((c[k>>2]|0)*48|0)|0;c[a>>2]=c[(c[h>>2]|0)+148>>2];c[a+4>>2]=0}c[(c[j>>2]|0)+((c[k>>2]|0)*48|0)+24>>2]=c[(c[h>>2]|0)+52>>2];a=Vg(c[(c[h>>2]|0)+24>>2]|0)|0;c[(c[j>>2]|0)+((c[k>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[j>>2]|0)+((c[k>>2]|0)*48|0)+16>>2]|0))break;if(ai(c[h>>2]|0)|0)HC(c[(c[h>>2]|0)+208>>2]|0,(c[j>>2]|0)+((c[k>>2]|0)*48|0)+28|0);c[(c[h>>2]|0)+96>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}c[f>>2]=7;a=c[f>>2]|0;i=e;return a|0}while(0);c[f>>2]=c[g>>2];a=c[f>>2]|0;i=e;return a|0}function HC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+68>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+76>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+80>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+104>>2];i=d;return}function IC(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[j>>2]=f;if((c[(c[j>>2]|0)+44>>2]|0)>>>0>0){c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}c[l>>2]=c[(c[j>>2]|0)+12>>2];c[k>>2]=c[(c[l>>2]|0)+56>>2];c[m>>2]=gd(c[(c[l>>2]|0)+68>>2]|0)|0;if(c[m>>2]|0){c[h>>2]=c[m>>2];n=c[h>>2]|0;i=g;return n|0}else{n=(c[k>>2]|0)+0|0;m=34408|0;f=n+16|0;do{a[n>>0]=a[m>>0]|0;n=n+1|0;m=m+1|0}while((n|0)<(f|0));a[(c[k>>2]|0)+16>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>8;a[(c[k>>2]|0)+17>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>16;a[(c[k>>2]|0)+18>>0]=1;a[(c[k>>2]|0)+19>>0]=1;a[(c[k>>2]|0)+20>>0]=(c[(c[j>>2]|0)+32>>2]|0)-(c[(c[j>>2]|0)+36>>2]|0);a[(c[k>>2]|0)+21>>0]=64;a[(c[k>>2]|0)+22>>0]=32;a[(c[k>>2]|0)+23>>0]=32;n=(c[k>>2]|0)+24|0;f=n+76|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(f|0));wB(c[l>>2]|0,13);n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]|0|2;ck((c[k>>2]|0)+52|0,d[(c[j>>2]|0)+17>>0]|0);ck((c[k>>2]|0)+64|0,d[(c[j>>2]|0)+18>>0]|0);c[(c[j>>2]|0)+44>>2]=1;a[(c[k>>2]|0)+31>>0]=1;c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}return 0}function JC(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+48|0;l=h+24|0;g=h+20|0;k=h;j=h+16|0;n=h+12|0;m=h+8|0;o=h+28|0;c[g>>2]=b;b=k;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[k+4>>2]&-16777216|0)!=0){a[(c[g>>2]|0)+8>>0]=c[k>>2];e=k;e=cF(c[e>>2]|0,c[e+4>>2]|0,8)|0;b=k;c[b>>2]=e;c[b+4>>2]=D;c[j>>2]=7;while(1){if((c[j>>2]|0)<0)break;a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=c[k>>2]&127|128;e=k;e=cF(c[e>>2]|0,c[e+4>>2]|0,7)|0;b=k;c[b>>2]=e;c[b+4>>2]=D;c[j>>2]=(c[j>>2]|0)+ -1}c[l>>2]=9;b=c[l>>2]|0;i=h;return b|0}c[m>>2]=0;do{b=(c[k>>2]&127|128)&255;e=c[m>>2]|0;c[m>>2]=e+1;a[o+e>>0]=b;e=k;e=cF(c[e>>2]|0,c[e+4>>2]|0,7)|0;b=k;c[b>>2]=e;c[b+4>>2]=D;b=k}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[o>>0]=(d[o>>0]|0)&127;c[j>>2]=0;c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=a[o+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+ -1;c[j>>2]=(c[j>>2]|0)+1}c[l>>2]=c[m>>2];b=c[l>>2]|0;i=h;return b|0}function KC(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;g=f;c[d>>2]=a;c[g>>2]=b;c[c[g>>2]>>2]=e[(c[d>>2]|0)+40>>1];i=f;return c[(c[d>>2]|0)+32>>2]|0}function LC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;g=d+8|0;h=d+4|0;f=d;c[g>>2]=b;b=(c[g>>2]|0)+48|0;c[f>>2]=Gw(c[c[g>>2]>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(c[f>>2]|0){c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}if(c[h>>2]|0){c[e>>2]=kj(65954)|0;h=c[e>>2]|0;i=d;return h|0}else{a[(c[g>>2]|0)+26>>0]=0;c[(c[g>>2]|0)+60>>2]=0;c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function MC(d){d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[g>>2]=d;if(!(Lm(c[(c[g>>2]|0)+16>>2]|0,c[g>>2]|0,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0)){b[f>>1]=0;g=b[f>>1]|0;i=e;return g|0}if(!(wg(c[(c[g>>2]|0)+16>>2]|0,c[g>>2]|0,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0)){b[f>>1]=4;g=b[f>>1]|0;i=e;return g|0}else{b[f>>1]=8;g=b[f>>1]|0;i=e;return g|0}return 0}function NC(d){d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[h>>2]=d;if(Dk(c[h>>2]|0,(c[(c[h>>2]|0)+12>>2]|0)+2|0,1)|0){c[g>>2]=7;h=c[g>>2]|0;i=f;return h|0}else{a[(c[(c[h>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[h>>2]|0)+16>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)+1)>>0]=0;h=(c[h>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|512;c[g>>2]=0;h=c[g>>2]|0;i=f;return h|0}return 0}function OC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;i=i+32|0;b=e+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+176>>2]|0){c[h>>2]=c[(c[b>>2]|0)+176>>2];while(1){a=c[h>>2]|0;if(!(c[(c[h>>2]|0)+4>>2]|0))break;c[h>>2]=c[a+4>>2]}_y(a)|0;c[(c[b>>2]|0)+176>>2]=0;c[(c[b>>2]|0)+184>>2]=0}a:do if(c[(c[b>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[b>>2]|0)+36>>2]|0))break a;c[f>>2]=c[(c[(c[b>>2]|0)+56>>2]|0)+(c[g>>2]<<2)>>2];if(c[f>>2]|0){Az(c[b>>2]|0,c[f>>2]|0);c[(c[(c[b>>2]|0)+56>>2]|0)+(c[g>>2]<<2)>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}while(0);if(c[(c[b>>2]|0)+8>>2]|0)hu((c[(c[b>>2]|0)+8>>2]|0)+40|0,c[(c[b>>2]|0)+28>>2]|0);while(1){f=c[b>>2]|0;if(!(c[(c[b>>2]|0)+180>>2]|0))break;c[d>>2]=c[f+180>>2];c[(c[b>>2]|0)+180>>2]=c[(c[d>>2]|0)+4>>2];WC(c[d>>2]|0)}if(!(c[f+204>>2]|0)){i=e;return}hz(c[b>>2]|0,-1,0);i=e;return}function PC(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;g=i;i=i+112|0;x=g+8|0;f=g+104|0;h=g+100|0;F=g+96|0;j=g+92|0;B=g+88|0;s=g+84|0;C=g+80|0;E=g+76|0;l=g+72|0;k=g+68|0;o=g+64|0;q=g+60|0;m=g+56|0;A=g+52|0;n=g+48|0;d=g;y=g+44|0;u=g+40|0;w=g+36|0;v=g+32|0;t=g+28|0;r=g+24|0;p=g+20|0;z=g+16|0;c[h>>2]=a;c[F>>2]=b;c[B>>2]=0;c[s>>2]=0;c[C>>2]=0;c[s>>2]=QC(c[h>>2]|0,c[F>>2]|0)|0;c[j>>2]=0;while(1){if(c[s>>2]|0)break;if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[E>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(Tk(c[E>>2]|0)|0){c[C>>2]=1;if((c[j>>2]|0)!=1)c[B>>2]=(c[B>>2]|0)+1;Pc(c[E>>2]|0);c[s>>2]=dk(Sb(c[E>>2]|0)|0)|0}c[j>>2]=(c[j>>2]|0)+1}if(c[s>>2]|0){c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}if(((c[C>>2]|0)!=0?(c[(c[h>>2]|0)+192>>2]|0)!=0:0)?(c[s>>2]=ub[c[(c[h>>2]|0)+192>>2]&31](c[(c[h>>2]|0)+188>>2]|0)|0,(c[s>>2]|0)!=0):0){c[f>>2]=531;F=c[f>>2]|0;i=g;return F|0}F=0==(Mb(sg(c[(c[(c[h>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(F|(c[B>>2]|0)<=1){c[j>>2]=0;while(1){if(c[s>>2]|0)break;if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(c[l>>2]|0)c[s>>2]=nd(c[l>>2]|0,0)|0;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if(c[s>>2]|0)break;if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(c[k>>2]|0)c[s>>2]=md(c[k>>2]|0,0)|0;c[j>>2]=(c[j>>2]|0)+1}if(!(c[s>>2]|0))RC(c[h>>2]|0)|0}else{c[o>>2]=c[c[h>>2]>>2];c[q>>2]=0;c[m>>2]=0;c[A>>2]=sg(c[(c[(c[h>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[n>>2]=0;F=d;c[F>>2]=0;c[F+4>>2]=0;c[u>>2]=0;c[w>>2]=Mb(c[A>>2]|0)|0;F=c[h>>2]|0;c[x>>2]=c[A>>2];c[m>>2]=Te(F,34424,x)|0;if(!(c[m>>2]|0)){c[f>>2]=7;F=c[f>>2]|0;i=g;return F|0}do{if(c[u>>2]|0){if((c[u>>2]|0)>100){e=34;break}if((c[u>>2]|0)==1){c[x>>2]=c[m>>2];tc(13,34456,x)}}c[u>>2]=(c[u>>2]|0)+1;vc(4,v);F=(c[m>>2]|0)+(c[w>>2]|0)|0;a=c[v>>2]&255;c[x>>2]=(c[v>>2]|0)>>>8&16777215;c[x+4>>2]=a;sc(13,F,34472,x)|0;c[s>>2]=vi(c[o>>2]|0,c[m>>2]|0,0,y)|0}while((c[s>>2]|0)==0&(c[y>>2]|0)!=0);if((e|0)==34){c[x>>2]=c[m>>2];tc(13,34440,x);_h(c[o>>2]|0,c[m>>2]|0,0)|0}if(!(c[s>>2]|0))c[s>>2]=PB(c[o>>2]|0,c[m>>2]|0,n,16406,0)|0;if(c[s>>2]|0){Xb(c[h>>2]|0,c[m>>2]|0);c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[t>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if((Tk(c[t>>2]|0)|0)!=0?(c[r>>2]=SC(c[t>>2]|0)|0,(c[r>>2]|0)!=0):0){if((c[q>>2]|0)==0?(TC(c[t>>2]|0)|0)==0:0)c[q>>2]=1;E=c[n>>2]|0;b=c[r>>2]|0;F=(Mb(c[r>>2]|0)|0)+1|0;a=d;c[s>>2]=id(E,b,F,c[a>>2]|0,c[a+4>>2]|0)|0;a=(Mb(c[r>>2]|0)|0)+1|0;F=d;a=bF(c[F>>2]|0,c[F+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;F=d;c[F>>2]=a;c[F+4>>2]=D;if(c[s>>2]|0){e=50;break}}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==50){pB(c[n>>2]|0)|0;_h(c[o>>2]|0,c[m>>2]|0,0)|0;Xb(c[h>>2]|0,c[m>>2]|0);c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}if(((c[q>>2]|0)!=0?0==((Ai(c[n>>2]|0)|0)&1024|0):0)?(F=Yh(c[n>>2]|0,2)|0,c[s>>2]=F,0!=(F|0)):0){pB(c[n>>2]|0)|0;_h(c[o>>2]|0,c[m>>2]|0,0)|0;Xb(c[h>>2]|0,c[m>>2]|0);c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}c[j>>2]=0;while(1){if(c[s>>2]|0)break;if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(c[p>>2]|0)c[s>>2]=nd(c[p>>2]|0,c[m>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}pB(c[n>>2]|0)|0;if(c[s>>2]|0){Xb(c[h>>2]|0,c[m>>2]|0);c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}c[s>>2]=_h(c[o>>2]|0,c[m>>2]|0,1)|0;Xb(c[h>>2]|0,c[m>>2]|0);c[m>>2]=0;if(c[s>>2]|0){c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}kh();c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[z>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+4>>2];if(c[z>>2]|0)md(c[z>>2]|0,1)|0;c[j>>2]=(c[j>>2]|0)+1}lh();RC(c[h>>2]|0)|0}c[f>>2]=c[s>>2];F=c[f>>2]|0;i=g;return F|0}function QC(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;e=i;i=i+32|0;d=e+24|0;k=e+20|0;l=e+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[d>>2]=a;c[k>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[d>>2]|0)+328>>2];c[(c[d>>2]|0)+328>>2]=0;c[l>>2]=0;while(1){if(c[f>>2]|0){h=8;break}if((c[l>>2]|0)>=(c[(c[d>>2]|0)+304>>2]|0)){h=8;break}c[j>>2]=c[(c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)+8>>2];if((c[j>>2]|0)!=0?(a=c[(c[c[j>>2]>>2]|0)+60>>2]|0,c[h>>2]=a,(a|0)!=0):0){c[f>>2]=ub[c[h>>2]&31](c[j>>2]|0)|0;Hz(c[k>>2]|0,c[j>>2]|0)}c[l>>2]=(c[l>>2]|0)+1}if((h|0)==8){c[(c[d>>2]|0)+328>>2]=c[g>>2];i=e;return c[f>>2]|0}return 0}function RC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Vk(c[d>>2]|0,64);i=b;return 0}function SC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=VC(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function TC(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+4>>2];Pc(c[f>>2]|0);c[b>>2]=UC(c[c[e>>2]>>2]|0)|0;i=d;return c[b>>2]|0}function UC(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+7>>0]|0|0}function VC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+172>>2]|0}function WC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;b=e+4|0;g=e;c[d>>2]=a;c[b>>2]=(c[d>>2]|0)+72;c[g>>2]=(c[b>>2]|0)+((c[(c[d>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;Az(c[c[d>>2]>>2]|0,c[(c[g>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}hu(c[b>>2]|0,c[(c[d>>2]|0)+60>>2]|0);Xb(c[c[c[d>>2]>>2]>>2]|0,c[d>>2]|0);i=e;return}function XC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[34600+(c[b>>2]<<2)>>2]|0}function YC(d,f,g){d=d|0;f=f|0;g=g|0;var j=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;n=i;i=i+64|0;v=n;z=n+60|0;l=n+56|0;m=n+52|0;j=n+48|0;u=n+44|0;s=n+40|0;o=n+36|0;q=n+32|0;t=n+28|0;r=n+24|0;y=n+20|0;A=n+16|0;w=n+12|0;x=n+8|0;c[z>>2]=d;c[l>>2]=f;c[m>>2]=g;c[j>>2]=c[l>>2];do switch(a[(c[z>>2]|0)+1>>0]|0){case-10:{c[x>>2]=c[(c[(c[z>>2]|0)+16>>2]|0)+8>>2];f=c[m>>2]|0;d=c[l>>2]|0;A=c[c[x>>2]>>2]|0;c[v>>2]=c[x>>2];c[v+4>>2]=A;sc(f,d,34560,v)|0;d=c[j>>2]|0;i=n;return d|0};case-5:{c[A>>2]=c[(c[z>>2]|0)+16>>2];f=c[m>>2]|0;d=c[l>>2]|0;z=b[c[A>>2]>>1]|0;c[v>>2]=c[(c[A>>2]|0)+24>>2];c[v+4>>2]=z;sc(f,d,34536,v)|0;d=c[j>>2]|0;i=n;return d|0};case-19:{a[c[l>>2]>>0]=0;d=c[j>>2]|0;i=n;return d|0};case-4:{c[y>>2]=c[(c[z>>2]|0)+16>>2];f=c[m>>2]|0;d=c[l>>2]|0;c[v>>2]=c[c[y>>2]>>2];sc(f,d,34528,v)|0;d=c[j>>2]|0;i=n;return d|0};case-13:{f=c[m>>2]|0;d=c[l>>2]|0;y=c[(c[z>>2]|0)+16>>2]|0;z=c[y+4>>2]|0;A=v;c[A>>2]=c[y>>2];c[A+4>>2]=z;sc(f,d,9456,v)|0;d=c[j>>2]|0;i=n;return d|0};case-6:{c[o>>2]=c[(c[z>>2]|0)+16>>2];f=c[m>>2]|0;d=c[l>>2]|0;c[v>>2]=e[(c[o>>2]|0)+6>>1];sc(f,d,34496,v)|0;c[u>>2]=Mb(c[l>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(e[(c[o>>2]|0)+6>>1]|0))break;c[q>>2]=c[(c[o>>2]|0)+20+(c[s>>2]<<2)>>2];if(c[q>>2]|0)v=c[c[q>>2]>>2]|0;else v=34504;c[t>>2]=v;c[r>>2]=Mb(c[t>>2]|0)|0;if((c[r>>2]|0)==6?(TE(c[t>>2]|0,3320,6)|0)==0:0){c[t>>2]=34512;c[r>>2]=1}v=c[u>>2]|0;if(((c[u>>2]|0)+(c[r>>2]|0)|0)>((c[m>>2]|0)-6|0)){p=10;break}c[u>>2]=v+1;a[(c[l>>2]|0)+v>>0]=44;if(a[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]|0)>>0]|0){d=c[u>>2]|0;c[u>>2]=d+1;a[(c[l>>2]|0)+d>>0]=45}dF((c[l>>2]|0)+(c[u>>2]|0)|0,c[t>>2]|0,(c[r>>2]|0)+1|0)|0;c[u>>2]=(c[u>>2]|0)+(c[r>>2]|0);c[s>>2]=(c[s>>2]|0)+1}if((p|0)==10){d=(c[l>>2]|0)+v|0;a[d+0>>0]=a[34520]|0;a[d+1>>0]=a[34521]|0;a[d+2>>0]=a[34522]|0;a[d+3>>0]=a[34523]|0}d=c[u>>2]|0;c[u>>2]=d+1;a[(c[l>>2]|0)+d>>0]=41;a[(c[l>>2]|0)+(c[u>>2]|0)>>0]=0;d=c[j>>2]|0;i=n;return d|0};case-8:{c[w>>2]=c[(c[z>>2]|0)+16>>2];o=c[w>>2]|0;if(e[(c[w>>2]|0)+8>>1]&2){c[j>>2]=c[o+16>>2];d=c[j>>2]|0;i=n;return d|0}if(e[o+8>>1]&4){f=c[m>>2]|0;d=c[l>>2]|0;y=c[w>>2]|0;z=c[y+4>>2]|0;A=v;c[A>>2]=c[y>>2];c[A+4>>2]=z;sc(f,d,9456,v)|0;d=c[j>>2]|0;i=n;return d|0}if(e[(c[w>>2]|0)+8>>1]&8){f=c[m>>2]|0;d=c[l>>2]|0;h[k>>3]=+h[c[w>>2]>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];sc(f,d,9448,v)|0;d=c[j>>2]|0;i=n;return d|0}if(e[(c[w>>2]|0)+8>>1]&1){sc(c[m>>2]|0,c[l>>2]|0,9840,v)|0;d=c[j>>2]|0;i=n;return d|0}else{c[j>>2]=34552;d=c[j>>2]|0;i=n;return d|0}};case-14:{f=c[m>>2]|0;d=c[l>>2]|0;c[v>>2]=c[(c[z>>2]|0)+16>>2];sc(f,d,34544,v)|0;d=c[j>>2]|0;i=n;return d|0};case-18:{sc(c[m>>2]|0,c[l>>2]|0,34592,v)|0;d=c[j>>2]|0;i=n;return d|0};case-12:{f=c[m>>2]|0;d=c[l>>2]|0;h[k>>3]=+h[c[(c[z>>2]|0)+16>>2]>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];sc(f,d,9448,v)|0;d=c[j>>2]|0;i=n;return d|0};case-15:{sc(c[m>>2]|0,c[l>>2]|0,34576,v)|0;d=c[j>>2]|0;i=n;return d|0};default:{c[j>>2]=c[(c[z>>2]|0)+16>>2];if(c[j>>2]|0){d=c[j>>2]|0;i=n;return d|0}c[j>>2]=c[l>>2];a[c[l>>2]>>0]=0;d=c[j>>2]|0;i=n;return d|0}}while(0);return 0}function ZC(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;_d(c[g>>2]|0);e=h;d=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function _C(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+4|0;g=h;k=h+10|0;l=h+9|0;m=h+8|0;c[j>>2]=f;c[g>>2]=0;a[k>>0]=0;if((c[(c[j>>2]|0)+12>>2]|0)>1){a[l>>0]=a[c[(c[j>>2]|0)+16>>2]>>0]|0;a[m>>0]=a[(c[(c[j>>2]|0)+16>>2]|0)+1>>0]|0;if((d[l>>0]|0)==254?(d[m>>0]|0)==255:0)a[k>>0]=3;if((d[l>>0]|0)==255?(d[m>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){m=c[g>>2]|0;i=h;return m|0}c[g>>2]=Ak(c[j>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;i=h;return m|0}m=(c[j>>2]|0)+12|0;c[m>>2]=(c[m>>2]|0)-2;eF(c[(c[j>>2]|0)+16>>2]|0,(c[(c[j>>2]|0)+16>>2]|0)+2|0,c[(c[j>>2]|0)+12>>2]|0)|0;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[j>>2]|0)+16>>2]|0)+((c[(c[j>>2]|0)+12>>2]|0)+1)>>0]=0;m=(c[j>>2]|0)+8|0;b[m>>1]=e[m>>1]|512;a[(c[j>>2]|0)+10>>0]=a[k>>0]|0;m=c[g>>2]|0;i=h;return m|0}function $C(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;h=j+4|0;k=j;l=j+8|0;c[k>>2]=f;a[l>>0]=g;g=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[k>>2]|0)+8>>1]|0)&16384)Dd(c[k>>2]|0)|0;if((d[(c[k>>2]|0)+10>>0]|0|0)!=((d[l>>0]|0)&-9|0))yk(c[k>>2]|0,(d[l>>0]|0)&-9)|0;if((((d[l>>0]|0)&8|0)!=0?1==(1&c[(c[k>>2]|0)+16>>2]|0):0)?(Ak(c[k>>2]|0)|0)!=0:0){c[h>>2]=0;f=c[h>>2]|0;i=j;return f|0}dz(c[k>>2]|0)|0}else Kp(g,a[l>>0]|0,0)|0;if((d[(c[k>>2]|0)+10>>0]|0|0)==((d[l>>0]|0)&-9|0)){c[h>>2]=c[(c[k>>2]|0)+16>>2];f=c[h>>2]|0;i=j;return f|0}else{c[h>>2]=0;f=c[h>>2]|0;i=j;return f|0}return 0}function aD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)gn(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;i=d;return}Xb(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;i=d;return}function bD(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Xb(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function cD(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+64>>0]=0;Nc(c[e>>2]|0,7);i=d;return 7}function dD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;k=f+4|0;j=f;c[h>>2]=b;c[g>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){d=c[h>>2]|0;b=c[g>>2]|0;Xb(d,b);i=f;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[k>>2]|0)*20|0)|0)>>>0)break;Oy(c[h>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}d=c[h>>2]|0;b=c[g>>2]|0;Xb(d,b);i=f;return}function eD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_g(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function fD(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];c[h>>2]=c[c[f>>2]>>2];a[(c[g>>2]|0)+19>>0]=0;if((d[(c[f>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+152>>2]|0)>1:0){gD(c[f>>2]|0);a[(c[f>>2]|0)+8>>0]=1;i=e;return}if((d[(c[f>>2]|0)+8>>0]|0|0)!=0?(hD(c[f>>2]|0),h=(c[g>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+ -1,0==(c[(c[g>>2]|0)+40>>2]|0)):0)a[(c[g>>2]|0)+20>>0]=0;a[(c[f>>2]|0)+8>>0]=0;Sk(c[g>>2]|0);i=e;return}function gD(d){d=d|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=d;c[h>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[h>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=f;return}c[(c[h>>2]|0)+76>>2]=0;j=(c[h>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[h>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=f;return}function hD(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;h=f+4|0;j=f;c[g>>2]=a;c[d>>2]=c[(c[g>>2]|0)+4>>2];c[h>>2]=(c[d>>2]|0)+72;while(1){if(!(c[c[h>>2]>>2]|0))break;c[j>>2]=c[c[h>>2]>>2];a=(c[j>>2]|0)+12|0;if((c[c[j>>2]>>2]|0)!=(c[g>>2]|0)){c[h>>2]=a;continue}c[c[h>>2]>>2]=c[a>>2];if((c[(c[j>>2]|0)+4>>2]|0)==1)continue;hc(c[j>>2]|0)}h=c[d>>2]|0;if((c[(c[d>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[h+76>>2]=0;a=(c[d>>2]|0)+22|0;b[a>>1]=(e[a>>1]|0)&-97;i=f;return}if((c[h+40>>2]|0)!=2){i=f;return}a=(c[d>>2]|0)+22|0;b[a>>1]=(e[a>>1]|0)&-65;i=f;return}function iD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;d=e+28|0;h=e+24|0;f=e+20|0;g=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[h>>2]=b;c[f>>2]=0;c[g>>2]=c[c[h>>2]>>2];sA(c[h>>2]|0);do if(!(a[(c[h>>2]|0)+18>>0]|0)){c[m>>2]=Aw(c[h>>2]|0)|0;b=Pw(c[h>>2]|0,c[m>>2]|0)|0;if((b|0)!=(c[m>>2]|0)?(c[m>>2]|0)!=((((c[282]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[k>>2]=Hh((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[j>>2]=rA(c[h>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[d>>2]=kj(55475)|0;m=c[d>>2]|0;i=e;return m|0}if((c[j>>2]|0)>>>0<(c[m>>2]|0)>>>0)c[f>>2]=Hy(c[h>>2]|0,0,0)|0;c[l>>2]=c[m>>2];while(1){if(!((c[f>>2]|0)==0?(c[l>>2]|0)>>>0>(c[j>>2]|0)>>>0:0))break;c[f>>2]=tA(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,1)|0;c[l>>2]=(c[l>>2]|0)+ -1}if(((c[f>>2]|0)==101|(c[f>>2]|0)==0)&(c[k>>2]|0)>>>0>0){c[f>>2]=gd(c[(c[(c[h>>2]|0)+12>>2]|0)+68>>2]|0)|0;ck((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);ck((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);ck((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[j>>2]|0);a[(c[h>>2]|0)+19>>0]=1;c[(c[h>>2]|0)+44>>2]=c[j>>2]}if(!(c[f>>2]|0))break;Th(c[g>>2]|0)|0;break}c[d>>2]=kj(55470)|0;m=c[d>>2]|0;i=e;return m|0}while(0);c[d>>2]=c[f>>2];m=c[d>>2]|0;i=e;return m|0}function jD(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=b;c[h>>2]=0;b=c[g>>2]|0;if(c[(c[g>>2]|0)+40>>2]|0){c[f>>2]=c[b+40>>2];b=c[f>>2]|0;i=e;return b|0}if(((d[b+16>>0]|0|0)==2?(d[(c[g>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[g>>2]|0)+5>>0]|0|0)==1:0){a[(c[g>>2]|0)+16>>0]=1;c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}c[h>>2]=Uh(c[g>>2]|0,d[(c[g>>2]|0)+19>>0]|0,1)|0;c[f>>2]=Oh(c[g>>2]|0,c[h>>2]|0)|0;b=c[f>>2]|0;i=e;return b|0}function kD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;f=e+4|0;h=e;c[g>>2]=b;c[e+8>>2]=d;c[f>>2]=0;if(a[(c[g>>2]|0)+18>>0]|0){b=c[f>>2]|0;i=e;return b|0}if((c[(c[g>>2]|0)+24>>2]|0)>>>0<=0){b=c[f>>2]|0;i=e;return b|0}c[f>>2]=Xc(c[g>>2]|0,1,h,0)|0;if(!(c[f>>2]|0))c[f>>2]=gd(c[h>>2]|0)|0;if(!(c[f>>2]|0)){bk(c[h>>2]|0);a[(c[g>>2]|0)+18>>0]=1}_c(c[h>>2]|0);b=c[f>>2]|0;i=e;return b|0}function lD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;o=l+28|0;j=l+24|0;k=l+20|0;m=l+8|0;h=l;n=l+16|0;c[g>>2]=b;c[o>>2]=e;c[n>>2]=0;if(((c[o>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+19>>0]=1;c[k>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0))break;c[n>>2]=(c[n>>2]|0)+(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0);c[k>>2]=(c[k>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){e=Oi(c[g>>2]|0)|0;b=(c[g>>2]|0)+72|0;c[b>>2]=e;c[b+4>>2]=D}p=(c[g>>2]|0)+72|0;e=c[p+4>>2]|0;b=m;c[b>>2]=c[p>>2];c[b+4>>2]=e;b=m;b=pk(c[(c[g>>2]|0)+64>>2]|0,c[b>>2]|0,c[b+4>>2]|0,((c[282]|0)/(c[(c[g>>2]|0)+152>>2]|0)|0)+1|0)|0;c[j>>2]=b;if((((0==(b|0)?(e=c[(c[g>>2]|0)+64>>2]|0,o=c[o>>2]|0,b=c[k>>2]|0,p=m,p=bF(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=id(e,o,b,p,D)|0,c[j>>2]=p,0==(p|0)):0)?(b=c[(c[g>>2]|0)+64>>2]|0,o=m,o=bF(c[o>>2]|0,c[o+4>>2]|0,4,0)|0,p=c[k>>2]|0,p=bF(o|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=pk(b,p,D,c[k>>2]|0)|0,c[j>>2]=p,0==(p|0)):0)?(b=c[(c[g>>2]|0)+64>>2]|0,o=m,o=bF(c[o>>2]|0,c[o+4>>2]|0,4,0)|0,p=c[k>>2]|0,p=bF(o|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=bF(p|0,D|0,4,0)|0,p=pk(b,p,D,c[n>>2]|0)|0,c[j>>2]=p,0==(p|0)):0)?(b=c[(c[g>>2]|0)+64>>2]|0,o=m,o=bF(c[o>>2]|0,c[o+4>>2]|0,4,0)|0,p=c[k>>2]|0,p=bF(o|0,D|0,p|0,((p|0)<0)<<31>>31|0)|0,p=bF(p|0,D|0,8,0)|0,p=id(b,4384,8,p,D)|0,c[j>>2]=p,0==(p|0)):0){b=(c[k>>2]|0)+20|0;p=(c[g>>2]|0)+72|0;o=p;b=bF(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[p>>2]=b;c[p+4>>2]=D;p=Gg(c[(c[g>>2]|0)+64>>2]|0,h)|0;c[j>>2]=p;if(0==(p|0)?(b=h,n=c[b+4>>2]|0,p=(c[g>>2]|0)+72|0,o=c[p+4>>2]|0,(n|0)>(o|0)|((n|0)==(o|0)?(c[b>>2]|0)>>>0>(c[p>>2]|0)>>>0:0)):0){p=(c[g>>2]|0)+72|0;c[j>>2]=Xh(c[(c[g>>2]|0)+64>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}c[f>>2]=c[j>>2];p=c[f>>2]|0;i=l;return p|0}c[f>>2]=c[j>>2];p=c[f>>2]|0;i=l;return p|0}c[f>>2]=0;p=c[f>>2]|0;i=l;return p|0}function mD(f){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;k=i;i=i+48|0;s=k+44|0;j=k+40|0;t=k+36|0;l=k+32|0;g=k+28|0;m=k+24|0;p=k+20|0;o=k+16|0;u=k+12|0;r=k+8|0;q=k+4|0;n=k;c[s>>2]=f;c[j>>2]=0;c[g>>2]=0;c[p>>2]=0;c[o>>2]=c[(c[s>>2]|0)+16>>2];c[u>>2]=((c[(c[o>>2]|0)+148>>2]|0)>>>0)/((c[(c[o>>2]|0)+152>>2]|0)>>>0)|0;f=(c[o>>2]|0)+20|0;a[f>>0]=d[f>>0]|0|4;c[l>>2]=((c[(c[s>>2]|0)+20>>2]|0)-1&~((c[u>>2]|0)-1))+1;c[t>>2]=c[(c[o>>2]|0)+24>>2];do if((c[(c[s>>2]|0)+20>>2]|0)>>>0<=(c[t>>2]|0)>>>0)if(((c[l>>2]|0)+(c[u>>2]|0)-1|0)>>>0>(c[t>>2]|0)>>>0){c[g>>2]=(c[t>>2]|0)+1-(c[l>>2]|0);break}else{c[g>>2]=c[u>>2];break}else c[g>>2]=(c[(c[s>>2]|0)+20>>2]|0)-(c[l>>2]|0)+1;while(0);c[m>>2]=0;while(1){if(!((c[j>>2]|0)==0?(c[m>>2]|0)<(c[g>>2]|0):0))break;c[r>>2]=(c[l>>2]|0)+(c[m>>2]|0);if((c[r>>2]|0)!=(c[(c[s>>2]|0)+20>>2]|0)?(Yg(c[(c[o>>2]|0)+56>>2]|0,c[r>>2]|0)|0)!=0:0){f=Hi(c[o>>2]|0,c[r>>2]|0)|0;c[q>>2]=f;if(f){if((e[(c[q>>2]|0)+24>>1]|0)&4)c[p>>2]=1;ej(c[q>>2]|0)}}else h=10;if(((h|0)==10?(h=0,(c[r>>2]|0)!=(((c[282]|0)/(c[(c[o>>2]|0)+152>>2]|0)|0)+1|0)):0)?(c[j>>2]=Xc(c[o>>2]|0,c[r>>2]|0,q,0)|0,(c[j>>2]|0)==0):0){c[j>>2]=nD(c[q>>2]|0)|0;if((e[(c[q>>2]|0)+24>>1]|0)&4)c[p>>2]=1;ej(c[q>>2]|0)}c[m>>2]=(c[m>>2]|0)+1}if(!((c[j>>2]|0)==0&(c[p>>2]|0)!=0)){f=c[o>>2]|0;f=f+20|0;u=a[f>>0]|0;u=u&255;u=u&-5;u=u&255;a[f>>0]=u;f=c[j>>2]|0;i=k;return f|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;c[n>>2]=Hi(c[o>>2]|0,(c[l>>2]|0)+(c[m>>2]|0)|0)|0;if(c[n>>2]|0){f=(c[n>>2]|0)+24|0;b[f>>1]=e[f>>1]|0|4;ej(c[n>>2]|0)}c[m>>2]=(c[m>>2]|0)+1}f=c[o>>2]|0;f=f+20|0;u=a[f>>0]|0;u=u&255;u=u&-5;u=u&255;a[f>>0]=u;f=c[j>>2]|0;i=k;return f|0}function nD(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;j=i;i=i+48|0;h=j+32|0;k=j+28|0;f=j+24|0;l=j+20|0;p=j+16|0;o=j+12|0;n=j+8|0;m=j;c[k>>2]=a;c[f>>2]=c[(c[k>>2]|0)+16>>2];c[l>>2]=0;if((d[(c[f>>2]|0)+16>>0]|0|0)==2?(c[l>>2]=oD(c[f>>2]|0)|0,(c[l>>2]|0)!=0):0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}Ji(c[k>>2]|0);c[p>>2]=pD(c[f>>2]|0,c[k>>2]|0)|0;if(c[p>>2]|0){if((c[(c[f>>2]|0)+96>>2]|0)!=0?(Xj(c[k>>2]|0)|0)!=0:0)g=7}else g=7;if((g|0)==7){do if((c[p>>2]|0)==0?(ai(c[f>>2]|0)|0)==0:0){if((c[(c[k>>2]|0)+20>>2]|0)>>>0<=(c[(c[f>>2]|0)+28>>2]|0)>>>0?(c[c[(c[f>>2]|0)+64>>2]>>2]|0)!=0:0){g=(c[f>>2]|0)+72|0;p=c[g+4>>2]|0;a=m;c[a>>2]=c[g>>2];c[a+4>>2]=p;c[n>>2]=c[(c[k>>2]|0)+4>>2];c[o>>2]=Gi(c[f>>2]|0,c[n>>2]|0)|0;a=(c[k>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;a=m;c[l>>2]=pk(c[(c[f>>2]|0)+64>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}g=c[(c[f>>2]|0)+64>>2]|0;n=c[n>>2]|0;p=c[(c[f>>2]|0)+152>>2]|0;a=m;a=bF(c[a>>2]|0,c[a+4>>2]|0,4,0)|0;c[l>>2]=id(g,n,p,a,D)|0;if(c[l>>2]|0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}p=c[(c[f>>2]|0)+64>>2]|0;n=m;a=c[(c[f>>2]|0)+152>>2]|0;a=bF(c[n>>2]|0,c[n+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=bF(a|0,D|0,4,0)|0;c[l>>2]=pk(p,a,D,c[o>>2]|0)|0;if(c[l>>2]|0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}p=8+(c[(c[f>>2]|0)+152>>2]|0)|0;a=(c[f>>2]|0)+72|0;o=a;p=bF(c[o>>2]|0,c[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[a>>2]=p;c[a+4>>2]=D;a=(c[f>>2]|0)+44|0;c[a>>2]=(c[a>>2]|0)+1;c[l>>2]=Wg(c[(c[f>>2]|0)+56>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;a=qk(c[f>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|a;if(!(c[l>>2]|0))break;c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}if((d[(c[f>>2]|0)+16>>0]|0|0)!=4){a=(c[k>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4}}while(0);if((c[(c[f>>2]|0)+96>>2]|0)>0?(Xj(c[k>>2]|0)|0)!=0:0)c[l>>2]=Yj(c[k>>2]|0)|0}if((c[(c[f>>2]|0)+24>>2]|0)>>>0<(c[(c[k>>2]|0)+20>>2]|0)>>>0)c[(c[f>>2]|0)+24>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}function oD(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e+4|0;k=e;c[h>>2]=b;c[g>>2]=0;c[j>>2]=c[c[h>>2]>>2];b=c[h>>2]|0;if(c[(c[h>>2]|0)+40>>2]|0){c[f>>2]=c[b+40>>2];b=c[f>>2]|0;i=e;return b|0}if((ai(b)|0)==0?(d[(c[h>>2]|0)+5>>0]|0|0)!=2:0){b=Vg(c[(c[h>>2]|0)+24>>2]|0)|0;c[(c[h>>2]|0)+56>>2]=b;if(!(c[(c[h>>2]|0)+56>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=e;return b|0}do if(!(c[c[(c[h>>2]|0)+64>>2]>>2]|0)){b=c[h>>2]|0;if((d[(c[h>>2]|0)+5>>0]|0|0)==4){qi(c[b+64>>2]|0);break}c[k>>2]=6|((d[b+12>>0]|0|0)!=0?4104:2048);c[g>>2]=qD(c[h>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=Di(c[j>>2]|0,c[(c[h>>2]|0)+172>>2]|0,c[(c[h>>2]|0)+64>>2]|0,c[k>>2]|0,0)|0}while(0);if(!(c[g>>2]|0)){c[(c[h>>2]|0)+44>>2]=0;b=(c[h>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0;a[(c[h>>2]|0)+19>>0]=0;b=(c[h>>2]|0)+80|0;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=ek(c[h>>2]|0)|0}}j=c[h>>2]|0;if(c[g>>2]|0){_g(c[j+56>>2]|0);c[(c[h>>2]|0)+56>>2]=0}else a[j+16>>0]=3;c[f>>2]=c[g>>2];b=c[f>>2]|0;i=e;return b|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yg(c[(c[f>>2]|0)+56>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;i=d;return a|0}function qD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=b;c[g>>2]=0;if(a[(c[f>>2]|0)+12>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}if(!(c[(c[f>>2]|0)+24>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}c[h>>2]=ig(c[(c[f>>2]|0)+60>>2]|0,20,g)|0;if((c[h>>2]|0)!=12){if((c[h>>2]|0)==0&(c[g>>2]|0)!=0)c[h>>2]=1032}else c[h>>2]=0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=d;return h|0}function rD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;m=h+20|0;l=h+16|0;n=h+12|0;k=h+8|0;o=h+4|0;j=h;c[l>>2]=a;c[n>>2]=d;c[k>>2]=f;c[o>>2]=g;g=c[l>>2]|0;do if(c[(c[l>>2]|0)+136>>2]|0){a=c[g+136>>2]|0;c[j>>2]=a;c[c[o>>2]>>2]=a;c[(c[l>>2]|0)+136>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=0;_E(c[(c[j>>2]|0)+8>>2]|0,0,e[(c[l>>2]|0)+140>>1]|0|0)|0}else{a=Mc(40+(e[g+140>>1]|0)|0,0)|0;c[j>>2]=a;c[c[o>>2]>>2]=a;if(c[j>>2]|0){c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;b[(c[j>>2]|0)+24>>1]=64;b[(c[j>>2]|0)+26>>1]=1;c[(c[j>>2]|0)+16>>2]=c[l>>2];break}d=c[(c[l>>2]|0)+60>>2]|0;a=c[(c[l>>2]|0)+152>>2]|0;a=lF((c[n>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;hj(d,a,D,c[k>>2]|0)|0;c[m>>2]=7;a=c[m>>2]|0;i=h;return a|0}while(0);c[(c[j>>2]|0)+20>>2]=c[n>>2];c[(c[j>>2]|0)+4>>2]=c[k>>2];a=(c[l>>2]|0)+120|0;c[a>>2]=(c[a>>2]|0)+1;c[m>>2]=0;a=c[m>>2]|0;i=h;return a|0}function sD(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h+20|0;l=h+16|0;n=h+12|0;o=h+8|0;m=h+4|0;k=h;c[l>>2]=a;c[n>>2]=f;c[o>>2]=g;if((d[(c[l>>2]|0)+29>>0]|0)==2){c[j>>2]=0;a=c[j>>2]|0;i=h;return a|0}c[m>>2]=c[(c[l>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&4|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[l>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[l>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[k>>2]=zb[c[(c[l>>2]|0)+32>>2]&63](c[(c[l>>2]|0)+36>>2]|0,c[m>>2]|0)|0,(c[k>>2]|0)!=0&(c[k>>2]|0)!=5):0){c[j>>2]=c[k>>2];a=c[j>>2]|0;i=h;return a|0}a=pb[c[38640+132>>2]&31](c[(c[l>>2]|0)+40>>2]|0,c[n>>2]|0,2)|0;c[c[o>>2]>>2]=a;c[j>>2]=(c[c[o>>2]>>2]|0)==0?7:0;a=c[j>>2]|0;i=h;return a|0}function tD(f){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;k=i;i=i+48|0;g=k+40|0;j=k+36|0;q=k+32|0;h=k+28|0;l=k+24|0;r=k+20|0;n=k+12|0;p=k+8|0;m=k+4|0;o=k;c[j>>2]=f;c[r>>2]=0;c[q>>2]=KA(c[c[j>>2]>>2]|0)|0;if(c[q>>2]|0){c[g>>2]=c[q>>2];r=c[g>>2]|0;i=k;return r|0}c[q>>2]=Bw(c[j>>2]|0,1,h,0)|0;if(c[q>>2]|0){c[g>>2]=c[q>>2];r=c[g>>2]|0;i=k;return r|0}f=Hh((c[(c[h>>2]|0)+56>>2]|0)+28|0)|0;c[k+16>>2]=f;c[l>>2]=f;fd(c[c[j>>2]>>2]|0,r);if(!((c[l>>2]|0)!=0?(TE((c[(c[h>>2]|0)+56>>2]|0)+24|0,(c[(c[h>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[l>>2]=c[r>>2];a:do if((c[l>>2]|0)>0){c[m>>2]=c[(c[h>>2]|0)+56>>2];c[q>>2]=26;b:do if(!(TE(c[m>>2]|0,34408,16)|0)){if((d[(c[m>>2]|0)+18>>0]|0|0)>2){f=(c[j>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[m>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[m>>2]|0)+19>>0]|0|0)==2?((e[(c[j>>2]|0)+22>>1]|0)&16|0)==0:0){c[o>>2]=0;c[q>>2]=RA(c[c[j>>2]>>2]|0,o)|0;if(c[q>>2]|0)break b;if(c[o>>2]|0){c[q>>2]=26;break}Rk(c[h>>2]|0);c[g>>2]=0;r=c[g>>2]|0;i=k;return r|0}while(0);if((TE((c[m>>2]|0)+21|0,37104,3)|0)==0?(c[n>>2]=(d[(c[m>>2]|0)+16>>0]|0)<<8|(d[(c[m>>2]|0)+17>>0]|0)<<16,!(((c[n>>2]|0)>>>0>65536?1:((c[n>>2]|0)-1&c[n>>2]|0)!=0)|(c[n>>2]|0)>>>0<=256)):0){c[p>>2]=(c[n>>2]|0)-(d[(c[m>>2]|0)+20>>0]|0);if((c[n>>2]|0)!=(c[(c[j>>2]|0)+32>>2]|0)){Rk(c[h>>2]|0);c[(c[j>>2]|0)+36>>2]=c[p>>2];c[(c[j>>2]|0)+32>>2]=c[n>>2];Dg(c[j>>2]|0);c[q>>2]=Eg(c[c[j>>2]>>2]|0,(c[j>>2]|0)+32|0,(c[n>>2]|0)-(c[p>>2]|0)|0)|0;c[g>>2]=c[q>>2];r=c[g>>2]|0;i=k;return r|0}if((c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[l>>2]|0)>(c[r>>2]|0):0){c[q>>2]=kj(54754)|0;break}if((c[p>>2]|0)>>>0>=480){c[(c[j>>2]|0)+32>>2]=c[n>>2];c[(c[j>>2]|0)+36>>2]=c[p>>2];r=(Hh((c[m>>2]|0)+52|0)|0)!=0;a[(c[j>>2]|0)+17>>0]=r?1:0;r=(Hh((c[m>>2]|0)+64|0)|0)!=0;a[(c[j>>2]|0)+18>>0]=r?1:0;break a}}}}while(0);Rk(c[h>>2]|0);c[(c[j>>2]|0)+12>>2]=0;c[g>>2]=c[q>>2];r=c[g>>2]|0;i=k;return r|0}while(0);b[(c[j>>2]|0)+24>>1]=(((c[(c[j>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[j>>2]|0)+26>>1]=(((c[(c[j>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[j>>2]|0)+28>>1]=(c[(c[j>>2]|0)+36>>2]|0)-35;b[(c[j>>2]|0)+30>>1]=(((c[(c[j>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;m=c[j>>2]|0;if((e[(c[j>>2]|0)+24>>1]|0|0)>127)a[m+21>>0]=127;else a[(c[j>>2]|0)+21>>0]=b[m+24>>1];c[(c[j>>2]|0)+12>>2]=c[h>>2];c[(c[j>>2]|0)+44>>2]=c[l>>2];c[g>>2]=0;r=c[g>>2]|0;i=k;return r|0}function uD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;l=g+8|0;m=g+4|0;k=g;c[j>>2]=b;c[l>>2]=e;c[m>>2]=f;c[k>>2]=0;if(c[(c[j>>2]|0)+40>>2]|0){c[h>>2]=c[(c[j>>2]|0)+40>>2];b=c[h>>2]|0;i=g;return b|0}a[(c[j>>2]|0)+21>>0]=c[m>>2];if((d[(c[j>>2]|0)+16>>0]|0|0)==1){b=(ai(c[j>>2]|0)|0)!=0;f=c[j>>2]|0;if(!b){c[k>>2]=hk(f,2)|0;if((c[k>>2]|0)==0&(c[l>>2]|0)!=0)c[k>>2]=gk(c[j>>2]|0,4)|0}else{do if((d[f+4>>0]|0|0)!=0?(di(c[(c[j>>2]|0)+208>>2]|0,-1)|0)!=0:0){c[k>>2]=hk(c[j>>2]|0,4)|0;if(!(c[k>>2]|0)){di(c[(c[j>>2]|0)+208>>2]|0,1)|0;break}c[h>>2]=c[k>>2];b=c[h>>2]|0;i=g;return b|0}while(0);c[k>>2]=vD(c[(c[j>>2]|0)+208>>2]|0)|0}if(!(c[k>>2]|0)){a[(c[j>>2]|0)+16>>0]=2;c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+24>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+24>>2];c[(c[j>>2]|0)+28>>2]=c[(c[j>>2]|0)+24>>2];b=(c[j>>2]|0)+72|0;c[b>>2]=0;c[b+4>>2]=0}}c[h>>2]=c[k>>2];b=c[h>>2]|0;i=g;return b|0}function vD(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;g=d+4|0;f=d;c[g>>2]=b;if(a[(c[g>>2]|0)+46>>0]|0){c[e>>2]=8;g=c[e>>2]|0;i=d;return g|0}c[f>>2]=vj(c[g>>2]|0,0,1)|0;if(c[f>>2]|0){c[e>>2]=c[f>>2];g=c[e>>2]|0;i=d;return g|0}a[(c[g>>2]|0)+44>>0]=1;b=(c[g>>2]|0)+52|0;if(TE(b,mj(c[g>>2]|0)|0,48)|0){ji(c[g>>2]|0,0,1);a[(c[g>>2]|0)+44>>0]=0;c[f>>2]=517}c[e>>2]=c[f>>2];g=c[e>>2]|0;i=d;return g|0}function wD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_d(c[d>>2]|0);i=b;return}function xD(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 37112}function yD(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[d>>2]=0;if(!(c[e>>2]|0)){f=c[d>>2]|0;i=b;return f|0}c[f>>2]=c[e>>2];FD(c[e>>2]|0,0)|0;hc(c[(c[f>>2]|0)+24>>2]|0);c[d>>2]=kE(c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}function zD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+28|0;o=l+24|0;k=l+20|0;m=l+16|0;n=l;j=l+12|0;g=l+8|0;c[o>>2]=a;c[k>>2]=b;c[m>>2]=d;a=n;c[a>>2]=e;c[a+4>>2]=f;c[j>>2]=c[o>>2];a=n;c[g>>2]=jE(c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)==(c[m>>2]|0)){c[h>>2]=0;o=c[h>>2]|0;i=l;return o|0}if((c[g>>2]|0)<0){c[h>>2]=266;o=c[h>>2]|0;i=l;return o|0}else{c[(c[j>>2]|0)+20>>2]=0;_E((c[k>>2]|0)+(c[g>>2]|0)|0,0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;c[h>>2]=522;o=c[h>>2]|0;i=l;return o|0}return 0}function AD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;m=h+28|0;o=h+24|0;n=h+20|0;l=h+16|0;g=h;k=h+12|0;j=h+8|0;c[o>>2]=a;c[n>>2]=b;c[l>>2]=d;a=g;c[a>>2]=e;c[a+4>>2]=f;c[k>>2]=c[o>>2];c[j>>2]=0;while(1){if((c[l>>2]|0)<=0)break;o=g;o=fE(c[k>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;c[j>>2]=o;if((o|0)<=0)break;c[l>>2]=(c[l>>2]|0)-(c[j>>2]|0);a=c[j>>2]|0;o=g;a=bF(c[o>>2]|0,c[o+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;o=g;c[o>>2]=a;c[o+4>>2]=D;c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0)}if((c[l>>2]|0)<=0){c[m>>2]=0;o=c[m>>2]|0;i=h;return o|0}if((c[j>>2]|0)<0?(c[(c[k>>2]|0)+20>>2]|0)!=28:0){c[m>>2]=778;o=c[m>>2]|0;i=h;return o|0}c[(c[k>>2]|0)+20>>2]=0;c[m>>2]=13;o=c[m>>2]|0;i=h;return o|0}function BD(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;g=i;i=i+32|0;f=g+20|0;k=g+16|0;h=g;e=g+12|0;j=g+8|0;c[k>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[k>>2];if((c[(c[e>>2]|0)+40>>2]|0)>0){k=h;a=c[(c[e>>2]|0)+40>>2]|0;a=bF(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=ZE(a|0,D|0,1,0)|0;k=c[(c[e>>2]|0)+40>>2]|0;k=jF(a|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[e>>2]|0)+40>>2]|0;a=lF(k|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;k=h;c[k>>2]=a;c[k+4>>2]=D}k=h;c[j>>2]=eE(c[(c[e>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[j>>2]|0){k=c[(Ya()|0)>>2]|0;c[(c[e>>2]|0)+20>>2]=k;c[f>>2]=UD(1546,37568,c[(c[e>>2]|0)+32>>2]|0,28429)|0;k=c[f>>2]|0;i=g;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=g;return k|0}return 0}function CD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+28|0;o=f+24|0;n=f+20|0;k=f+16|0;h=f+12|0;l=f+8|0;m=f+4|0;j=f;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[k>>2]=iE(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){o=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=o;c[g>>2]=UD(1034,38e3,c[(c[h>>2]|0)+32>>2]|0,28385)|0;o=c[g>>2]|0;i=f;return o|0}if((e[(c[h>>2]|0)+18>>1]|0)&8){c[k>>2]=zb[c[37192+208>>2]&63](c[(c[h>>2]|0)+32>>2]|0,j)|0;if(!((c[k>>2]|0)==0&(c[j>>2]|0)>=0)){if((c[k>>2]|0)==14)c[k>>2]=0}else{iE(c[j>>2]|0,0,0)|0;TD(c[h>>2]|0,c[j>>2]|0,28399)}o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[g>>2]=c[k>>2];o=c[g>>2]|0;i=f;return o|0}function DD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+96|0;e=d+88|0;f=d+84|0;g=d+80|0;j=d+76|0;h=d;c[f>>2]=a;c[g>>2]=b;c[j>>2]=zb[c[37192+64>>2]&63](c[(c[f>>2]|0)+12>>2]|0,h)|0;if(c[j>>2]|0){j=c[(Ya()|0)>>2]|0;c[(c[f>>2]|0)+20>>2]=j;c[e>>2]=1802;j=c[e>>2]|0;i=d;return j|0}a=c[h+36>>2]|0;j=c[g>>2]|0;c[j>>2]=a;c[j+4>>2]=((a|0)<0)<<31>>31;j=c[g>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[g>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}function ED(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+24|0;n=f+20|0;k=f+16|0;j=f+12|0;h=f+8|0;l=f+4|0;m=f;c[n>>2]=b;c[k>>2]=e;c[j>>2]=c[n>>2];c[h>>2]=c[(c[j>>2]|0)+24>>2];c[l>>2]=0;if((d[(c[j>>2]|0)+16>>0]|0|0)>0){a[(c[j>>2]|0)+16>>0]=c[k>>2];qa(c[h>>2]|0,0)|0;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}c[l>>2]=zb[c[37192+220>>2]&63](c[h>>2]|0,511)|0;if((c[l>>2]|0)>=0){a[(c[j>>2]|0)+16>>0]=c[k>>2];c[g>>2]=c[l>>2];n=c[g>>2]|0;i=f;return n|0}c[m>>2]=c[(Ya()|0)>>2];if(17!=(c[m>>2]|0)){c[l>>2]=hE(c[m>>2]|0,3850)|0;if((c[l>>2]|0)!=0&(c[l>>2]|0)!=5)c[(c[j>>2]|0)+20>>2]=c[m>>2]}else c[l>>2]=5;c[g>>2]=c[l>>2];n=c[g>>2]|0;i=f;return n|0}function FD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+24|0;n=f+20|0;m=f+16|0;h=f+12|0;l=f+8|0;k=f+4|0;j=f;c[n>>2]=b;c[m>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[m>>2]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((c[m>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}c[k>>2]=ub[c[37192+232>>2]&31](c[l>>2]|0)|0;if((c[k>>2]|0)<0?(c[(Ya()|0)>>2]|0)==20:0)c[k>>2]=ub[c[37192+196>>2]&31](c[l>>2]|0)|0;if((c[k>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}c[j>>2]=c[(Ya()|0)>>2];c[k>>2]=0;c[k>>2]=2!=(c[j>>2]|0)?2058:0;if((c[k>>2]|0)!=0&(c[k>>2]|0)!=5)c[(c[h>>2]|0)+20>>2]=c[j>>2];c[g>>2]=c[k>>2];n=c[g>>2]|0;i=f;return n|0}function GD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;l=e+20|0;g=e+16|0;f=e+12|0;h=e+8|0;k=e+4|0;j=e;c[l>>2]=a;c[g>>2]=b;c[f>>2]=0;c[h>>2]=0;c[k>>2]=c[l>>2];if((d[(c[k>>2]|0)+16>>0]|0|0)>1){c[h>>2]=1;a=c[h>>2]|0;l=c[g>>2]|0;c[l>>2]=a;l=c[f>>2]|0;i=e;return l|0}else{c[j>>2]=c[(c[k>>2]|0)+24>>2];c[h>>2]=(zb[c[37192+28>>2]&63](c[j>>2]|0,0)|0)==0&1;a=c[h>>2]|0;l=c[g>>2]|0;c[l>>2]=a;l=c[f>>2]|0;i=e;return l|0}return 0}function HD(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;k=f;g=f+28|0;o=f+24|0;n=f+20|0;j=f+16|0;h=f+12|0;m=f+8|0;l=f+4|0;c[o>>2]=a;c[n>>2]=b;c[j>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 6:{c[(c[h>>2]|0)+40>>2]=c[c[j>>2]>>2];c[g>>2]=0;break};case 10:{aE(c[h>>2]|0,4,c[j>>2]|0);c[g>>2]=0;break};case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=qc(1200,k)|0;c[c[j>>2]>>2]=o;c[g>>2]=0;break};case 20:{o=cE(c[h>>2]|0)|0;c[c[j>>2]>>2]=o;c[g>>2]=0;break};case 1:{c[c[j>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[g>>2]=0;break};case 13:{aE(c[h>>2]|0,16,c[j>>2]|0);c[g>>2]=0;break};case 16:{c[l>>2]=fc(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0)|0;if(c[l>>2]|0){bE(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[j>>2]>>2]=c[l>>2]}c[g>>2]=0;break};case 5:{o=c[j>>2]|0;c[m>>2]=$D(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[g>>2]=c[m>>2];break};case 4:{c[c[j>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=0;break};default:c[g>>2]=12}while(0);i=f;return c[g>>2]|0}function ID(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function JD(a){a=a|0;var b=0,d=0,f=0,g=0;b=i;i=i+16|0;g=b+8|0;f=b+4|0;d=b;c[g>>2]=a;c[f>>2]=c[g>>2];c[d>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[d>>2]|0;i=b;return g|0}c[d>>2]=c[d>>2]|4096;g=c[d>>2]|0;i=b;return g|0}function KD(a,d,f,g){a=a|0;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;k=i;i=i+48|0;v=k+32|0;m=k+28|0;n=k+24|0;t=k+20|0;u=k+16|0;r=k+12|0;h=k+8|0;l=k+4|0;q=k;o=k+40|0;p=k+38|0;s=k+36|0;c[v>>2]=a;c[m>>2]=d;c[n>>2]=f;c[t>>2]=g;c[u>>2]=c[v>>2];c[r>>2]=c[(c[u>>2]|0)+36>>2];c[l>>2]=c[c[r>>2]>>2];c[q>>2]=0;b[o>>1]=(1<<(c[m>>2]|0)+(c[n>>2]|0))-(1<>2]);if(c[t>>2]&1){b[p>>1]=0;c[h>>2]=c[(c[l>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((c[h>>2]|0)!=(c[r>>2]|0))b[p>>1]=e[p>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if(!((e[o>>1]|0)&(e[p>>1]|0)))c[q>>2]=_D(c[l>>2]|0,2,(c[m>>2]|0)+120|0,c[n>>2]|0)|0;else c[q>>2]=0;if(c[q>>2]|0){v=c[q>>2]|0;i=k;return v|0}v=(c[r>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[o>>1]|0);v=(c[r>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[o>>1]|0);v=c[q>>2]|0;i=k;return v|0}if(!(c[t>>2]&4)){c[h>>2]=c[(c[l>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[o>>1]|0)){j=28;break}if((e[(c[h>>2]|0)+10>>1]|0)&(e[o>>1]|0)){j=28;break}c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((j|0)==28)c[q>>2]=5;if(c[q>>2]|0){v=c[q>>2]|0;i=k;return v|0}c[q>>2]=_D(c[l>>2]|0,1,(c[m>>2]|0)+120|0,c[n>>2]|0)|0;if(c[q>>2]|0){v=c[q>>2]|0;i=k;return v|0}v=(c[r>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[o>>1]|0);v=c[q>>2]|0;i=k;return v|0}b[s>>1]=0;c[h>>2]=c[(c[l>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[o>>1]|0)){j=16;break}b[s>>1]=e[s>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((j|0)==16)c[q>>2]=5;do if(!(c[q>>2]|0))if(!((e[s>>1]|0)&(e[o>>1]|0))){c[q>>2]=_D(c[l>>2]|0,0,(c[m>>2]|0)+120|0,c[n>>2]|0)|0;break}else{c[q>>2]=0;break}while(0);if(c[q>>2]|0){v=c[q>>2]|0;i=k;return v|0}v=(c[r>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[o>>1]|0);v=c[q>>2]|0;i=k;return v|0}function LD(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;PD();RD();i=b;return}function MD(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;i=i+32|0;e=d+24|0;l=d+20|0;f=d+16|0;h=d+12|0;g=d+8|0;j=d+4|0;k=d;c[l>>2]=a;c[f>>2]=b;c[k>>2]=c[l>>2];c[h>>2]=c[(c[k>>2]|0)+36>>2];if(!(c[h>>2]|0)){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}c[g>>2]=c[c[h>>2]>>2];c[j>>2]=(c[g>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[h>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2];hc(c[h>>2]|0);c[(c[k>>2]|0)+36>>2]=0;PD();l=(c[g>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+ -1;if(!(c[(c[g>>2]|0)+28>>2]|0)){if((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)>=0:0)ub[c[37192+196>>2]&31](c[(c[g>>2]|0)+8>>2]|0)|0;QD(c[k>>2]|0)}RD();c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}function ND(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function OD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function PD(){return}function QD(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;f=b+8|0;h=b+4|0;g=b;c[d>>2]=a;c[f>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+20>>2];if(!(c[f>>2]|0)){i=b;return}if(c[(c[f>>2]|0)+28>>2]|0){i=b;return}c[h>>2]=SD()|0;c[g>>2]=0;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=(e[(c[f>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)zb[c[37192+268>>2]&63](c[(c[(c[f>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0;else hc(c[(c[(c[f>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0)}hc(c[a+24>>2]|0);if((c[(c[f>>2]|0)+12>>2]|0)>=0){TD(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0,28999);c[(c[f>>2]|0)+12>>2]=-1}c[(c[c[f>>2]>>2]|0)+20>>2]=0;hc(c[f>>2]|0);i=b;return}function RD(){return}function SD(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=32768;c[e>>2]=qb[c[37192+292>>2]&1]()|0;if((c[e>>2]|0)<(c[d>>2]|0)){c[b>>2]=1;e=c[b>>2]|0;i=a;return e|0}else{c[b>>2]=(c[e>>2]|0)/(c[d>>2]|0)|0;e=c[b>>2]|0;i=a;return e|0}return 0}function TD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(ub[c[37192+16>>2]&31](c[h>>2]|0)|0)){i=e;return}if(c[g>>2]|0)d=c[(c[g>>2]|0)+32>>2]|0;else d=0;UD(4106,37496,d,c[f>>2]|0)|0;i=e;return}function UD(a,b,d,e){a=a|0;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;g=i;i=i+48|0;h=g;l=g+40|0;m=g+36|0;f=g+32|0;j=g+28|0;k=g+24|0;n=g+20|0;c[l>>2]=a;c[m>>2]=b;c[f>>2]=d;c[j>>2]=e;c[n>>2]=c[(Ya()|0)>>2];c[k>>2]=gb(c[n>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=1216;a=c[l>>2]|0;e=c[n>>2]|0;n=c[m>>2]|0;d=c[f>>2]|0;b=c[k>>2]|0;c[h>>2]=c[j>>2];c[h+4>>2]=e;c[h+8>>2]=n;c[h+12>>2]=d;c[h+16>>2]=b;tc(a,37504,h);i=g;return c[l>>2]|0}function VD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;b=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=Ja(b|0,a|0,f|0)|0;i=e;return a|0}function WD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+544|0;k=e;l=e+16|0;g=e+12|0;j=e+8|0;f=e+4|0;h=e+20|0;c[l>>2]=b;c[g>>2]=d;c[f>>2]=-1;c[k>>2]=c[l>>2];sc(512,h,1200,k)|0;c[j>>2]=aF(h|0)|0;while(1){if((c[j>>2]|0)<=1)break;if((a[h+(c[j>>2]|0)>>0]|0)==47)break;c[j>>2]=(c[j>>2]|0)+ -1}if((c[j>>2]|0)>0){a[h+(c[j>>2]|0)>>0]=0;c[f>>2]=ZD(h,0,0)|0}c[c[g>>2]>>2]=c[f>>2];if((c[f>>2]|0)>=0){l=0;i=e;return l|0}l=UD(Ij(28344)|0,37536,h,28344)|0;i=e;return l|0}function XD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if($a()|0){a=0;i=e;return a|0}a=fb(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return a|0}function YD(){var a=0,b=0;b=i;a=Pa(30)|0;i=b;return a|0}function ZD(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,l=0,m=0;l=i;i=i+112|0;k=l;f=l+100|0;g=l+96|0;e=l+92|0;j=l+88|0;h=l+84|0;m=l+8|0;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=(c[e>>2]|0)!=0?c[e>>2]|0:420;while(1){c[j>>2]=pb[c[37192+4>>2]&31](c[f>>2]|0,c[g>>2]|524288,c[h>>2]|0)|0;if((c[j>>2]|0)<0)if((c[(Ya()|0)>>2]|0)==4)continue;else break;if((c[j>>2]|0)>=3)break;ub[c[37192+16>>2]&31](c[j>>2]|0)|0;a=c[j>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=a;tc(28,37760,k);c[j>>2]=-1;if((pb[c[37192+4>>2]&31](37808,c[g>>2]|0,c[e>>2]|0)|0)<0)break}if(!((c[j>>2]|0)>=0&(c[e>>2]|0)!=0)){a=c[j>>2]|0;i=l;return a|0}if(zb[c[37192+64>>2]&63](c[j>>2]|0,m)|0){a=c[j>>2]|0;i=l;return a|0}if(c[m+36>>2]|0){a=c[j>>2]|0;i=l;return a|0}if((c[m+12>>2]&511|0)==(c[e>>2]|0)){a=c[j>>2]|0;i=l;return a|0}zb[c[37192+172>>2]&63](c[j>>2]|0,c[e>>2]|0)|0;a=c[j>>2]|0;i=l;return a|0}function _D(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;o=m;n=m+36|0;k=m+32|0;l=m+28|0;g=m+24|0;j=m+8|0;h=m+4|0;c[n>>2]=a;c[k>>2]=d;c[l>>2]=e;c[g>>2]=f;c[h>>2]=0;if((c[(c[n>>2]|0)+12>>2]|0)<0){a=c[h>>2]|0;i=m;return a|0}c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;b[j>>1]=c[k>>2];b[j+2>>1]=0;c[j+4>>2]=c[l>>2];c[j+8>>2]=c[g>>2];d=c[9320]|0;a=c[(c[n>>2]|0)+12>>2]|0;c[o>>2]=j;c[h>>2]=pb[d&31](a,13,o)|0;c[h>>2]=(c[h>>2]|0)!=-1?0:5;a=c[h>>2]|0;i=m;return a|0}function $D(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,l=0,m=0,n=0;k=i;i=i+128|0;f=k+112|0;g=k+108|0;n=k+16|0;e=k+8|0;l=k+32|0;m=k+28|0;h=k;j=k+24|0;c[g>>2]=a;a=n;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[g>>2]|0)+40>>2]|0)>0){if(zb[c[37192+64>>2]&63](c[(c[g>>2]|0)+12>>2]|0,l)|0){c[f>>2]=1802;a=c[f>>2]|0;i=k;return a|0}b=n;d=c[(c[g>>2]|0)+40>>2]|0;d=bF(c[b>>2]|0,c[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;d=ZE(d|0,D|0,1,0)|0;b=c[(c[g>>2]|0)+40>>2]|0;b=jF(d|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;d=c[(c[g>>2]|0)+40>>2]|0;d=lF(b|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;b=e;c[b>>2]=d;c[b+4>>2]=D;b=e;d=c[b+4>>2]|0;a=c[l+36>>2]|0;n=((a|0)<0)<<31>>31;if((d|0)>(n|0)|((d|0)==(n|0)?(c[b>>2]|0)>>>0>a>>>0:0)){c[m>>2]=c[l+40>>2];a=e;if(eE(c[(c[g>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0){a=c[(Ya()|0)>>2]|0;c[(c[g>>2]|0)+20>>2]=a;c[f>>2]=UD(1546,37568,c[(c[g>>2]|0)+32>>2]|0,28530)|0;a=c[f>>2]|0;i=k;return a|0}b=($(((c[l+36>>2]|0)+(c[m>>2]<<1)-1|0)/(c[m>>2]|0)|0,c[m>>2]|0)|0)-1|0;a=h;c[a>>2]=b;c[a+4>>2]=((b|0)<0)<<31>>31;while(1){b=h;l=c[b+4>>2]|0;a=e;n=c[a+4>>2]|0;if(!((l|0)<(n|0)|((l|0)==(n|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)))break a;a=h;c[j>>2]=fE(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0,1216,1)|0;if((c[j>>2]|0)!=1)break;b=c[m>>2]|0;a=h;b=bF(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=D}c[f>>2]=778;a=c[f>>2]|0;i=k;return a|0}}while(0);c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}function aE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+16|0;l=j+4|0;m=j+8|0;k=j;c[l>>2]=f;a[m>>0]=g;c[k>>2]=h;if((c[c[k>>2]>>2]|0)<0){c[c[k>>2]>>2]=((e[(c[l>>2]|0)+18>>1]|0)&(d[m>>0]|0)|0)!=0&1;i=j;return}h=d[m>>0]|0;if(!(c[c[k>>2]>>2]|0)){f=(c[l>>2]|0)+18|0;b[f>>1]=(e[f>>1]|0)&~h;i=j;return}else{f=(c[l>>2]|0)+18|0;b[f>>1]=e[f>>1]|0|h;i=j;return}}function bE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k;g=k+24|0;l=k+20|0;h=k+16|0;f=k+12|0;j=k+8|0;m=k+4|0;c[l>>2]=b;c[h>>2]=e;b=dE()|0;c[m>>2]=b;c[m>>2]=(c[m>>2]|0)==0?19120:b;b=(aF(c[m>>2]|0)|0)+25|0;if(b>>>0>=(c[l>>2]|0)>>>0){c[g>>2]=1;b=c[g>>2]|0;i=k;return b|0}do{e=(c[l>>2]|0)-18|0;b=c[h>>2]|0;c[n>>2]=c[m>>2];sc(e,b,37888,n)|0;c[j>>2]=aF(c[h>>2]|0)|0;vc(15,(c[h>>2]|0)+(c[j>>2]|0)|0);c[f>>2]=0;while(1){e=(c[h>>2]|0)+(c[j>>2]|0)|0;if((c[f>>2]|0)>>>0>=15)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[37824+(((d[e>>0]|0)>>>0)%62|0)>>0]|0;c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}a[e>>0]=0;a[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]=0}while((zb[c[37192+28>>2]&63](c[h>>2]|0,0)|0)==0);c[g>>2]=0;b=c[g>>2]|0;i=k;return b|0}function cE(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+80|0;e=b+76|0;d=b;c[e>>2]=a;if(!(c[(c[e>>2]|0)+8>>2]|0)){e=0;e=e&1;i=b;return e|0}if(zb[c[37192+52>>2]&63](c[(c[e>>2]|0)+32>>2]|0,d)|0){e=1;e=e&1;i=b;return e|0}e=(c[d+72>>2]|0)!=(c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0);e=e&1;i=b;return e|0}function dE(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+96|0;e=a+80|0;d=a+4|0;b=a;c[b>>2]=0;c[9476]=c[392];if(!(c[9477]|0))c[9477]=ab(37976)|0;if(!(c[9478]|0))c[9478]=ab(37992)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=7){d=12;break}if((((c[b>>2]|0)!=0?(zb[c[37192+52>>2]&63](c[b>>2]|0,d)|0)==0:0)?(c[d+12>>2]&61440|0)==16384:0)?(zb[c[37192+28>>2]&63](c[b>>2]|0,7)|0)==0:0){d=12;break}f=c[e>>2]|0;c[e>>2]=f+1;c[b>>2]=c[37904+(f<<2)>>2]}if((d|0)==12){i=a;return c[b>>2]|0}return 0}function eE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e;f=e+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;while(1){c[f>>2]=zb[c[37192+76>>2]&63](c[g>>2]|0,c[h>>2]|0)|0;if((c[f>>2]|0)>=0){d=4;break}if((c[(Ya()|0)>>2]|0)!=4){d=4;break}}if((d|0)==4){i=e;return c[f>>2]|0}return 0}function fE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;a=l;a=gE(c[(c[h>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return a|0}function gE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;j=i;i=i+48|0;h=j+36|0;n=j+32|0;r=j+8|0;o=j+28|0;p=j+24|0;k=j+20|0;l=j+16|0;q=j;c[n>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[o>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=0;c[p>>2]=c[p>>2]&131071;while(1){a=va(c[n>>2]|0,c[r>>2]|0,0)|0;b=q;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;b=q;a=r;if((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))break;c[l>>2]=pb[c[37192+136>>2]&31](c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)>=0){m=10;break}if((c[(Ya()|0)>>2]|0)!=4){m=10;break}}if((m|0)==10){if((c[l>>2]|0)<0&(c[k>>2]|0)!=0){a=c[(Ya()|0)>>2]|0;c[c[k>>2]>>2]=a}c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}if(c[k>>2]|0){a=q;if((c[a>>2]|0)==-1?(c[a+4>>2]|0)==-1:0)l=c[(Ya()|0)>>2]|0;else l=0;c[c[k>>2]>>2]=l}c[h>>2]=-1;a=c[h>>2]|0;i=j;return a|0}function hE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[h>>2]=a;c[g>>2]=b;switch(c[h>>2]|0){case 37:case 4:case 16:case 110:case 11:{c[f>>2]=5;break};case 1:{d=5;break};case 13:{if((c[g>>2]|0)==3850|(c[g>>2]|0)==2058|(c[g>>2]|0)==2314|(c[g>>2]|0)==3594)c[f>>2]=5;else d=5;break};default:c[f>>2]=c[g>>2]}if((d|0)==5)c[f>>2]=3;i=e;return c[f>>2]|0}function iE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=Xa(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function jE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;j=i;i=i+48|0;o=j+36|0;k=j+32|0;p=j+8|0;q=j+28|0;g=j+24|0;m=j+20|0;n=j+16|0;l=j;c[k>>2]=a;a=p;c[a>>2]=b;c[a+4>>2]=d;c[q>>2]=e;c[g>>2]=f;c[n>>2]=0;c[g>>2]=c[g>>2]&131071;do{a=va(c[(c[k>>2]|0)+12>>2]|0,c[p>>2]|0,0)|0;b=l;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;b=l;a=p;if((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0)){h=3;break}c[m>>2]=pb[c[37192+100>>2]&31](c[(c[k>>2]|0)+12>>2]|0,c[q>>2]|0,c[g>>2]|0)|0;if((c[m>>2]|0)==(c[g>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[g>>2]=(c[g>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;a=p;b=bF(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=p;c[a>>2]=b;c[a+4>>2]=D;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0)}}else{if((c[(Ya()|0)>>2]|0)!=4){h=11;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((h|0)==3){a=l;if((c[a>>2]|0)==-1?(c[a+4>>2]|0)==-1:0){a=c[(Ya()|0)>>2]|0;c[(c[k>>2]|0)+20>>2]=a}else c[(c[k>>2]|0)+20>>2]=0;c[o>>2]=-1;a=c[o>>2]|0;i=j;return a|0}else if((h|0)==11){c[n>>2]=0;a=c[(Ya()|0)>>2]|0;c[(c[k>>2]|0)+20>>2]=a}c[o>>2]=(c[m>>2]|0)+(c[n>>2]|0);a=c[o>>2]|0;i=j;return a|0}function kE(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];if((c[(c[d>>2]|0)+12>>2]|0)>=0){TD(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,26735);c[(c[d>>2]|0)+12>>2]=-1}hc(c[(c[d>>2]|0)+28>>2]|0);d=(c[d>>2]|0)+0|0;a=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=b;return 0}function lE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 38016}function mE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=kE(c[d>>2]|0)|0;i=b;return a|0}function nE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function oE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function pE(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function qE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+96|0;k=d+92|0;j=d+88|0;e=d+84|0;h=d+8|0;f=d+4|0;g=d;c[k>>2]=a;c[j>>2]=b;c[e>>2]=0;if(zb[c[37192+52>>2]&63](c[k>>2]|0,h)|0){k=c[e>>2]|0;i=d;return k|0}PD();c[f>>2]=c[9588];while(1){if(c[f>>2]|0)if((c[c[f>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[f>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[f>>2]|0;if(!a)break;c[f>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[f>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[j>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[e>>2]=c[c[g>>2]>>2];if(c[e>>2]|0)c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2]}RD();k=c[e>>2]|0;i=d;return k|0}function rE(b,d,e,f,g){b=b|0;d=d|0;e=e|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;o=i;i=i+624|0;q=o+100|0;l=o+96|0;k=o+92|0;n=o+88|0;h=o+84|0;j=o+80|0;p=o+104|0;r=o+76|0;m=o;c[q>>2]=b;c[l>>2]=d;c[k>>2]=e;c[n>>2]=f;c[h>>2]=g;c[j>>2]=0;c[c[k>>2]>>2]=0;c[c[n>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[l>>2]&526336)){if(!(c[l>>2]&8)){b=c[j>>2]|0;i=o;return b|0}c[c[k>>2]>>2]=384;b=c[j>>2]|0;i=o;return b|0}c[r>>2]=(Mb(c[q>>2]|0)|0)-1;while(1){if((a[(c[q>>2]|0)+(c[r>>2]|0)>>0]|0)==45)break;c[r>>2]=(c[r>>2]|0)+ -1}dF(p|0,c[q>>2]|0,c[r>>2]|0)|0;a[p+(c[r>>2]|0)>>0]=0;if(!(zb[c[37192+52>>2]&63](p,m)|0)){c[c[k>>2]>>2]=c[m+12>>2]&511;c[c[n>>2]>>2]=c[m+20>>2];c[c[h>>2]>>2]=c[m+24>>2];b=c[j>>2]|0;i=o;return b|0}else{c[j>>2]=1802;b=c[j>>2]|0;i=o;return b|0}return 0}function sE(a,d,f,g,h){a=a|0;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,q=0,r=0,s=0,t=0,u=0;j=i;i=i+48|0;o=j;s=j+40|0;r=j+36|0;u=j+32|0;n=j+28|0;t=j+24|0;p=j+20|0;q=j+16|0;k=j+12|0;l=j+8|0;m=j+4|0;c[s>>2]=a;c[r>>2]=d;c[u>>2]=f;c[n>>2]=g;c[t>>2]=h;c[q>>2]=c[u>>2];c[k>>2]=0;c[(c[q>>2]|0)+12>>2]=c[r>>2];c[(c[q>>2]|0)+4>>2]=c[s>>2];c[(c[q>>2]|0)+32>>2]=c[n>>2];b[(c[q>>2]|0)+18>>1]=c[t>>2]&255;if(pg((c[t>>2]&64|0)!=0?c[n>>2]|0:0,38136,1)|0){u=(c[q>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(UE(c[(c[s>>2]|0)+16>>2]|0,1112)|0)){u=(c[q>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[t>>2]&128)c[p>>2]=38016;else c[p>>2]=zb[c[c[(c[s>>2]|0)+20>>2]>>2]&63](c[n>>2]|0,c[q>>2]|0)|0;if((c[p>>2]|0)!=38144){if((c[p>>2]|0)==37112){c[m>>2]=(aF(c[n>>2]|0)|0)+6;c[l>>2]=fc(c[m>>2]|0)|0;if(!(c[l>>2]|0))c[k>>2]=7;else{a=c[m>>2]|0;u=c[l>>2]|0;c[o>>2]=c[n>>2];sc(a,u,38224,o)|0}c[(c[q>>2]|0)+24>>2]=c[l>>2]}}else{PD();c[k>>2]=tE(c[q>>2]|0,(c[q>>2]|0)+8|0)|0;if(c[k>>2]|0){TD(c[q>>2]|0,c[r>>2]|0,30114);c[r>>2]=-1}RD()}c[(c[q>>2]|0)+20>>2]=0;if(!(c[k>>2]|0)){c[c[q>>2]>>2]=c[p>>2];uE(c[q>>2]|0);u=c[k>>2]|0;i=j;return u|0}if((c[r>>2]|0)<0){u=c[k>>2]|0;i=j;return u|0}TD(c[q>>2]|0,c[r>>2]|0,30199);u=c[k>>2]|0;i=j;return u|0}function tE(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;h=i;i=i+112|0;e=h+104|0;j=h+100|0;g=h+96|0;l=h+92|0;m=h+88|0;d=h+80|0;k=h+4|0;f=h;c[j>>2]=a;c[g>>2]=b;c[f>>2]=0;c[m>>2]=c[(c[j>>2]|0)+12>>2];c[l>>2]=zb[c[37192+64>>2]&63](c[m>>2]|0,k)|0;if(c[l>>2]|0){m=c[(Ya()|0)>>2]|0;c[(c[j>>2]|0)+20>>2]=m;if((c[(c[j>>2]|0)+20>>2]|0)==75){c[e>>2]=22;m=c[e>>2]|0;i=h;return m|0}else{c[e>>2]=10;m=c[e>>2]|0;i=h;return m|0}}c[d+0>>2]=0;c[d+4>>2]=0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+72>>2];c[f>>2]=c[9588];while(1){if(c[f>>2]|0)b=(TE(d,c[f>>2]|0,8)|0)!=0;else b=0;j=c[f>>2]|0;if(!b)break;c[f>>2]=c[j+32>>2]}if(!j){c[f>>2]=fc(40)|0;if(!(c[f>>2]|0)){c[e>>2]=7;m=c[e>>2]|0;i=h;return m|0}b=(c[f>>2]|0)+0|0;j=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(j|0));m=c[f>>2]|0;c[m+0>>2]=c[d+0>>2];c[m+4>>2]=c[d+4>>2];c[(c[f>>2]|0)+16>>2]=1;c[(c[f>>2]|0)+32>>2]=c[9588];c[(c[f>>2]|0)+36>>2]=0;if(c[9588]|0)c[(c[9588]|0)+36>>2]=c[f>>2];c[9588]=c[f>>2]}else{m=(c[f>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[f>>2];c[e>>2]=0;m=c[e>>2]|0;i=h;return m|0}function uE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;d=i;i=i+96|0;g=d;f=d+84|0;h=d+8|0;j=d+4|0;c[f>>2]=a;if((e[(c[f>>2]|0)+18>>1]|0)&256){i=d;return}c[j>>2]=zb[c[37192+64>>2]&63](c[(c[f>>2]|0)+12>>2]|0,h)|0;if(c[j>>2]|0){c[g>>2]=c[(c[f>>2]|0)+32>>2];tc(28,38232,g);j=(c[f>>2]|0)+18|0;b[j>>1]=e[j>>1]|0|256;i=d;return}if((c[h+16>>2]|0)==0?((e[(c[f>>2]|0)+18>>1]|0)&32|0)==0:0){c[g>>2]=c[(c[f>>2]|0)+32>>2];tc(28,38256,g);j=(c[f>>2]|0)+18|0;b[j>>1]=e[j>>1]|0|256;i=d;return}a=c[f>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[g>>2]=c[a+32>>2];tc(28,38288,g);j=(c[f>>2]|0)+18|0;b[j>>1]=e[j>>1]|0|256;i=d;return}if(!(cE(a)|0)){i=d;return}c[g>>2]=c[(c[f>>2]|0)+32>>2];tc(28,38320,g);j=(c[f>>2]|0)+18|0;b[j>>1]=e[j>>1]|0|256;i=d;return}function vE(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;b=d+4|0;f=d;c[e>>2]=a;c[b>>2]=0;c[f>>2]=c[e>>2];uE(c[f>>2]|0);xE(c[e>>2]|0,0)|0;PD();if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[(c[(c[f>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)EE(c[f>>2]|0);FE(c[f>>2]|0);c[b>>2]=kE(c[e>>2]|0)|0;RD();i=d;return c[b>>2]|0}function wE(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;k=i;i=i+48|0;g=k+44|0;q=k+40|0;j=k+36|0;h=k+32|0;l=k+28|0;m=k+24|0;n=k+8|0;o=k;c[q>>2]=e;c[j>>2]=f;c[h>>2]=0;c[l>>2]=c[q>>2];c[o>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)>=(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=k;return q|0}PD();c[m>>2]=c[(c[l>>2]|0)+8>>2];if((d[(c[l>>2]|0)+16>>0]|0|0)!=(d[(c[m>>2]|0)+12>>0]|0|0)?(c[j>>2]|0)>1?1:(d[(c[m>>2]|0)+12>>0]|0|0)>=3:0)c[h>>2]=5;else p=6;a:do if((p|0)==6){do if((c[j>>2]|0)==1){if((d[(c[m>>2]|0)+12>>0]|0|0)!=1?(d[(c[m>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[l>>2]|0)+16>>0]=1;q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[n+8>>2]=1;b[n+2>>1]=0;if((c[j>>2]|0)!=1){if((c[j>>2]|0)==4?(d[(c[l>>2]|0)+16>>0]|0|0)<3:0)p=13}else p=13;if((p|0)==13?(b[n>>1]=(c[j>>2]|0)==1?0:1,c[n+4>>2]=c[282],(CE(c[l>>2]|0,n)|0)!=0):0){c[o>>2]=c[(Ya()|0)>>2];c[h>>2]=hE(c[o>>2]|0,3850)|0;if((c[h>>2]|0)==5)break;c[(c[l>>2]|0)+20>>2]=c[o>>2];break}do if((c[j>>2]|0)!=1){if((c[j>>2]|0)==4?(c[(c[m>>2]|0)+8>>2]|0)>1:0){c[h>>2]=5;break}b[n>>1]=1;p=c[282]|0;if((c[j>>2]|0)==2){c[n+4>>2]=p+1;c[n+8>>2]=1}else{c[n+4>>2]=p+2;c[n+8>>2]=510}if((CE(c[l>>2]|0,n)|0)!=0?(c[o>>2]=c[(Ya()|0)>>2],c[h>>2]=hE(c[o>>2]|0,3850)|0,(c[h>>2]|0)!=5):0)c[(c[l>>2]|0)+20>>2]=c[o>>2]}else{c[n+4>>2]=(c[282]|0)+2;c[n+8>>2]=510;if(CE(c[l>>2]|0,n)|0){c[o>>2]=c[(Ya()|0)>>2];c[h>>2]=hE(c[o>>2]|0,3850)|0}c[n+4>>2]=c[282];c[n+8>>2]=1;b[n>>1]=2;q=(CE(c[l>>2]|0,n)|0)!=0;if(q&(c[h>>2]|0)==0){c[o>>2]=c[(Ya()|0)>>2];c[h>>2]=2058}if(!(c[h>>2]|0)){a[(c[l>>2]|0)+16>>0]=1;q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[m>>2]|0)+8>>2]=1;break}if((c[h>>2]|0)==5)break a;c[(c[l>>2]|0)+20>>2]=c[o>>2];break a}while(0);n=c[j>>2]|0;if(!(c[h>>2]|0)){a[(c[l>>2]|0)+16>>0]=n;a[(c[m>>2]|0)+12>>0]=c[j>>2];break}if((n|0)==4){a[(c[l>>2]|0)+16>>0]=3;a[(c[m>>2]|0)+12>>0]=3}}while(0);RD();c[g>>2]=c[h>>2];q=c[g>>2]|0;i=k;return q|0}function xE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=BE(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function yE(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;m=i;i=i+48|0;j=m;o=m+40|0;l=m+36|0;n=m+32|0;k=m+28|0;h=m+24|0;g=m+8|0;c[o>>2]=e;c[l>>2]=f;c[n>>2]=0;c[k>>2]=0;c[h>>2]=c[o>>2];PD();if((d[(c[(c[h>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[k>>2]=1;do if((c[k>>2]|0)==0?(a[(c[(c[h>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[g+2>>1]=0;c[g+4>>2]=(c[282]|0)+1;c[g+8>>2]=1;b[g>>1]=1;e=c[9320]|0;o=c[(c[h>>2]|0)+12>>2]|0;c[j>>2]=g;if(pb[e&31](o,12,j)|0){c[n>>2]=3594;o=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=o;break}if((b[g>>1]|0)!=2)c[k>>2]=1}while(0);RD();c[c[l>>2]>>2]=c[k>>2];i=m;return c[n>>2]|0}function zE(a,f,g,h,j){a=a|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=i;i=i+160|0;k=l+148|0;E=l+144|0;n=l+140|0;r=l+136|0;z=l+132|0;p=l+128|0;C=l+124|0;D=l+120|0;m=l+116|0;o=l+112|0;t=l+108|0;u=l+104|0;v=l+100|0;x=l+96|0;y=l+20|0;q=l+16|0;w=l+12|0;B=l+8|0;A=l+4|0;s=l;c[E>>2]=a;c[n>>2]=f;c[r>>2]=g;c[z>>2]=h;c[p>>2]=j;c[C>>2]=c[E>>2];c[o>>2]=0;c[t>>2]=SD()|0;if((c[(c[C>>2]|0)+36>>2]|0)==0?(c[o>>2]=AE(c[C>>2]|0)|0,(c[o>>2]|0)!=0):0){c[k>>2]=c[o>>2];E=c[k>>2]|0;i=l;return E|0}c[D>>2]=c[(c[C>>2]|0)+36>>2];c[m>>2]=c[c[D>>2]>>2];c[u>>2]=$(((c[n>>2]|0)+(c[t>>2]|0)|0)/(c[t>>2]|0)|0,c[t>>2]|0)|0;a:do if((e[(c[m>>2]|0)+20>>1]|0|0)<(c[u>>2]|0)){c[x>>2]=$(c[u>>2]|0,c[r>>2]|0)|0;c[(c[m>>2]|0)+16>>2]=c[r>>2];b:do if((c[(c[m>>2]|0)+12>>2]|0)>=0){if(zb[c[37192+64>>2]&63](c[(c[m>>2]|0)+12>>2]|0,y)|0){c[o>>2]=4874;break a}if((c[y+36>>2]|0)<(c[x>>2]|0)){if(!(c[z>>2]|0))break a;c[q>>2]=(c[y+36>>2]|0)/4096|0;while(1){if((c[q>>2]|0)>=((c[x>>2]|0)/4096|0|0))break b;E=(c[q>>2]<<12)+4096-1|0;if((gE(c[(c[m>>2]|0)+12>>2]|0,E,((E|0)<0)<<31>>31,1216,1,0)|0)!=1)break;c[q>>2]=(c[q>>2]|0)+1}c[w>>2]=c[(c[m>>2]|0)+8>>2];c[o>>2]=UD(4874,37616,c[w>>2]|0,29258)|0;break a}}while(0);c[v>>2]=jc(c[(c[m>>2]|0)+24>>2]|0,c[u>>2]<<2)|0;if(!(c[v>>2]|0)){c[o>>2]=3082;break}c[(c[m>>2]|0)+24>>2]=c[v>>2];while(1){if((e[(c[m>>2]|0)+20>>1]|0|0)>=(c[u>>2]|0))break a;c[B>>2]=$(c[r>>2]|0,c[t>>2]|0)|0;if((c[(c[m>>2]|0)+12>>2]|0)>=0){h=c[9362]|0;g=c[B>>2]|0;f=(d[(c[m>>2]|0)+22>>0]|0|0)!=0?1:3;a=c[(c[m>>2]|0)+12>>2]|0;E=c[r>>2]|0;E=lF(E|0,((E|0)<0)<<31>>31|0,e[(c[m>>2]|0)+20>>1]|0|0,0)|0;c[s>>2]=tb[h&1](0,g,f,1,a,E)|0;if((c[s>>2]|0)==(-1|0)){q=21;break}}else{c[s>>2]=fc(c[r>>2]|0)|0;if(!(c[s>>2]|0)){q=23;break}_E(c[s>>2]|0,0,c[r>>2]|0)|0}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[t>>2]|0))break;E=$(c[r>>2]|0,c[A>>2]|0)|0;c[(c[(c[m>>2]|0)+24>>2]|0)+((e[(c[m>>2]|0)+20>>1]|0)+(c[A>>2]|0)<<2)>>2]=(c[s>>2]|0)+E;c[A>>2]=(c[A>>2]|0)+1}E=(c[m>>2]|0)+20|0;b[E>>1]=(e[E>>1]|0)+(c[t>>2]|0)}if((q|0)==21){c[o>>2]=UD(5386,37720,c[(c[m>>2]|0)+8>>2]|0,29285)|0;break}else if((q|0)==23){c[o>>2]=7;break}}while(0);if((e[(c[m>>2]|0)+20>>1]|0|0)>(c[n>>2]|0))c[c[p>>2]>>2]=c[(c[(c[m>>2]|0)+24>>2]|0)+(c[n>>2]<<2)>>2];else c[c[p>>2]>>2]=0;if((c[o>>2]|0)==0?(d[(c[m>>2]|0)+22>>0]|0|0)!=0:0)c[o>>2]=8;c[k>>2]=c[o>>2];E=c[k>>2]|0;i=l;return E|0}function AE(b){b=b|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;m=i;i=i+128|0;r=m;g=m+112|0;h=m+108|0;j=m+104|0;l=m+100|0;k=m+96|0;p=m+92|0;e=m+88|0;q=m+84|0;o=m+8|0;n=m+4|0;c[h>>2]=b;c[j>>2]=0;c[j>>2]=fc(16)|0;if(!(c[j>>2]|0)){c[g>>2]=7;b=c[g>>2]|0;i=m;return b|0}b=c[j>>2]|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;PD();c[p>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){if((zb[c[37192+64>>2]&63](c[(c[h>>2]|0)+12>>2]|0,o)|0)!=0?(d[(c[p>>2]|0)+13>>0]|0|0)==0:0)c[k>>2]=1802;else f=7;do if((f|0)==7){c[q>>2]=6+(aF(c[(c[h>>2]|0)+32>>2]|0)|0);c[l>>2]=fc(36+(c[q>>2]|0)|0)|0;if(!(c[l>>2]|0)){c[k>>2]=7;break}_E(c[l>>2]|0,0,36+(c[q>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[e>>2]=b;q=c[q>>2]|0;b=c[e>>2]|0;c[r>>2]=c[(c[h>>2]|0)+32>>2];sc(q,b,38360,r)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[h>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[l>>2]|0)+4>>2]=8;if(!(c[(c[l>>2]|0)+4>>2]|0)){c[k>>2]=7;break}if(d[(c[p>>2]|0)+13>>0]|0)break a;c[n>>2]=66;if(pg(c[(c[h>>2]|0)+32>>2]|0,38368,0)|0){c[n>>2]=0;a[(c[l>>2]|0)+22>>0]=1}b=ZD(c[e>>2]|0,c[n>>2]|0,c[o+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=b;if((c[(c[l>>2]|0)+12>>2]|0)<0){b=Ij(29111)|0;c[k>>2]=UD(b,37536,c[e>>2]|0,29111)|0;break}pb[c[37192+244>>2]&31](c[(c[l>>2]|0)+12>>2]|0,c[o+20>>2]|0,c[o+24>>2]|0)|0;c[k>>2]=0;if((_D(c[l>>2]|0,1,128,1)|0)==0?(eE(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[k>>2]=UD(4618,37568,c[e>>2]|0,29127)|0;if(!(c[k>>2]|0))c[k>>2]=_D(c[l>>2]|0,0,128,1)|0;if(!(c[k>>2]|0))break a}while(0);QD(c[h>>2]|0);hc(c[j>>2]|0);RD();c[g>>2]=c[k>>2];b=c[g>>2]|0;i=m;return b|0}while(0);c[c[j>>2]>>2]=c[l>>2];b=(c[l>>2]|0)+28|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[h>>2]|0)+36>>2]=c[j>>2];RD();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[g>>2]=0;b=c[g>>2]|0;i=m;return b|0}function BE(e,f,g){e=e|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;n=i;i=i+48|0;k=n+44|0;q=n+40|0;l=n+36|0;h=n+28|0;o=n+24|0;p=n+8|0;m=n;c[q>>2]=e;c[l>>2]=f;c[n+32>>2]=g;c[h>>2]=c[q>>2];c[m>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)<=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=n;return q|0}PD();c[o>>2]=c[(c[h>>2]|0)+8>>2];do if((d[(c[h>>2]|0)+16>>0]|0|0)>1){if((c[l>>2]|0)==1?(b[p>>1]=0,b[p+2>>1]=0,c[p+4>>2]=(c[282]|0)+2,c[p+8>>2]=510,(CE(c[h>>2]|0,p)|0)!=0):0){c[m>>2]=2314;q=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=q;break}b[p>>1]=2;b[p+2>>1]=0;c[p+4>>2]=c[282];c[p+8>>2]=2;if(!(CE(c[h>>2]|0,p)|0)){a[(c[o>>2]|0)+12>>0]=1;j=10;break}else{c[m>>2]=2058;q=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=q;break}}else j=10;while(0);if((j|0)==10?(c[l>>2]|0)==0:0){q=(c[o>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+ -1;do if(!(c[(c[o>>2]|0)+8>>2]|0)){b[p>>1]=2;b[p+2>>1]=0;c[p+8>>2]=0;c[p+4>>2]=0;if(!(CE(c[h>>2]|0,p)|0)){a[(c[o>>2]|0)+12>>0]=0;break}else{c[m>>2]=2058;q=c[(Ya()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=q;a[(c[o>>2]|0)+12>>0]=0;a[(c[h>>2]|0)+16>>0]=0;break}}while(0);q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+ -1;if(!(c[(c[o>>2]|0)+24>>2]|0))DE(c[h>>2]|0)}RD();if(!(c[m>>2]|0))a[(c[h>>2]|0)+16>>0]=c[l>>2];c[k>>2]=c[m>>2];q=c[k>>2]|0;i=n;return q|0}function CE(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;k=i;i=i+48|0;n=k;j=k+40|0;l=k+36|0;h=k+32|0;m=k+28|0;o=k+24|0;p=k+8|0;c[l>>2]=f;c[h>>2]=g;c[o>>2]=c[(c[l>>2]|0)+8>>2];if(((e[(c[l>>2]|0)+18>>1]|0)&1|0)==0?(d[(c[o>>2]|0)+13>>0]|0|0)==0:0)g=9;else g=3;do if((g|0)==3)if(!((e[(c[l>>2]|0)+18>>1]|0)&2)){if(d[(c[o>>2]|0)+13>>0]|0){c[m>>2]=0;break}b[p+2>>1]=0;c[p+4>>2]=(c[282]|0)+2;c[p+8>>2]=510;b[p>>1]=1;h=c[9320]|0;f=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=p;c[m>>2]=pb[h&31](f,13,n)|0;if((c[m>>2]|0)>=0){a[(c[o>>2]|0)+13>>0]=1;f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1;break}c[j>>2]=c[m>>2];f=c[j>>2]|0;i=k;return f|0}else g=9;while(0);if((g|0)==9){g=c[9320]|0;f=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=c[h>>2];c[m>>2]=pb[g&31](f,13,n)|0}c[j>>2]=c[m>>2];f=c[j>>2]|0;i=k;return f|0}function DE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;b=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[b>>2]=c[(c[g>>2]|0)+8>>2];c[e>>2]=c[(c[b>>2]|0)+28>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+8>>2];TD(c[g>>2]|0,c[c[e>>2]>>2]|0,25997);hc(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[b>>2]|0)+28>>2]=0;i=d;return}function EE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function FE(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=b;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1;if(c[(c[d>>2]|0)+16>>2]|0){i=b;return}DE(c[e>>2]|0);a=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=a;else c[9588]=a;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];hc(c[d>>2]|0);i=b;return}function GE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 38144}function HE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;if((c[c[e>>2]>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){e=d;c[e>>2]=0;c[e+4>>2]=0;e=d;e=c[e>>2]|0;d=d+4|0;d=c[d>>2]|0;D=d;i=b;return e|0}else{f=(c[e>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=Ld(c[(c[(c[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;e=d;c[e>>2]=a;c[e+4>>2]=D;e=d;e=c[e>>2]|0;d=d+4|0;d=c[d>>2]|0;D=d;i=b;return e|0}return 0}function IE(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;if((c[c[e>>2]>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){h[d>>3]=0.0;f=+h[d>>3];i=b;return+f}else{g=(c[e>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[d>>3]=+Hd(c[(c[(c[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[d>>3];i=b;return+f}return 0.0}function JE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+20|0;j=e+16|0;l=e+12|0;g=e+8|0;k=e;c[j>>2]=b;c[l>>2]=d;if((c[c[l>>2]>>2]|0)<=0){a[f>>0]=48;b=a[f>>0]|0;i=e;return b|0}else{b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+ -1;c[g>>2]=~~+h[c[j>>2]>>3];h[k>>3]=+(c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+48;h[c[j>>2]>>3]=(+h[c[j>>2]>>3]- +h[k>>3])*10.0;a[f>>0]=c[g>>2];b=a[f>>0]|0;i=e;return b|0}return 0}function KE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if((c[c[e>>2]>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){c[d>>2]=0;e=c[d>>2]|0;i=b;return e|0}else{f=(c[e>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[d>>2]=Ed(c[(c[(c[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;e=c[d>>2]|0;i=b;return e|0}return 0}function LE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+4|0;g=f;h=f+8|0;c[j>>2]=b;c[g>>2]=d;a[h>>0]=e;if(((c[(c[j>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>=(c[(c[j>>2]|0)+16>>2]|0)?(b=Xm(c[j>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=f;return}while(1){b=c[g>>2]|0;c[g>>2]=b+ -1;if((b|0)<=0)break;d=a[h>>0]|0;e=(c[j>>2]|0)+12|0;b=c[e>>2]|0;c[e>>2]=b+1;a[(c[(c[j>>2]|0)+8>>2]|0)+b>>0]=d}i=f;return}function ME(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[48+(c[b>>2]<<2)>>2]|0}function NE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;g=b+16|0;d=b+12|0;e=b;f=b+8|0;c[g>>2]=a;if(!(c[38]|0)){i=b;return}c[d>>2]=c[38];h=ME(0)|0;a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[f>>2]=c[39];c[38]=0;Bb[c[d>>2]&3](c[f>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0);c[38]=c[d>>2];c[39]=c[f>>2];i=b;return}function OE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Bk(c[e>>2]|0,c[f>>2]|0)|0;a=c[(c[e>>2]|0)+520>>2]|0;c[a>>2]=(c[a>>2]|0)+b;i=d;return}function PE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;j=g+16|0;e=g+12|0;f=g+8|0;d=g+4|0;h=g;c[j>>2]=a;c[e>>2]=b;c[f>>2]=ub[c[38640+52>>2]&31](c[j>>2]|0)|0;Bg(5,c[j>>2]|0);do if(c[38]|0){c[h>>2]=ME(0)|0;a=c[h>>2]|0;b=((a|0)<0)<<31>>31;h=144|0;j=c[f>>2]|0;j=ZE(c[h>>2]|0,c[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;h=D;if((b|0)>(h|0)|(b|0)==(h|0)&a>>>0>=j>>>0){c[43]=1;NE(c[f>>2]|0);break}else{c[43]=0;break}}while(0);c[d>>2]=ub[c[38640+36>>2]&31](c[f>>2]|0)|0;if(!(c[d>>2]|0)){a=c[d>>2]|0;j=c[e>>2]|0;c[j>>2]=a;j=c[f>>2]|0;i=g;return j|0}c[f>>2]=Tb(c[d>>2]|0)|0;ic(0,c[f>>2]|0);ic(9,1);a=c[d>>2]|0;j=c[e>>2]|0;c[j>>2]=a;j=c[f>>2]|0;i=g;return j|0}function QE(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;x=a>>>3;p=c[9750]|0;w=p>>>x;if(w&3){g=(w&1^1)+x|0;f=g<<1;d=39040+(f<<2)|0;f=39040+(f+2<<2)|0;h=c[f>>2]|0;j=h+8|0;e=c[j>>2]|0;do if((d|0)!=(e|0)){if(e>>>0<(c[9754]|0)>>>0)db();k=e+12|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=d;c[f>>2]=e;break}else db()}else c[9750]=p&~(1<>2]=H|3;H=h+(H|4)|0;c[H>>2]=c[H>>2]|1;H=j;i=b;return H|0}v=c[9752]|0;if(a>>>0>v>>>0){if(w){h=2<>>12&16;h=h>>>d;j=h>>>5&8;h=h>>>j;f=h>>>2&4;h=h>>>f;g=h>>>1&2;h=h>>>g;e=h>>>1&1;e=(j|d|f|g|e)+(h>>>e)|0;h=e<<1;g=39040+(h<<2)|0;h=39040+(h+2<<2)|0;f=c[h>>2]|0;d=f+8|0;j=c[d>>2]|0;do if((g|0)!=(j|0)){if(j>>>0<(c[9754]|0)>>>0)db();k=j+12|0;if((c[k>>2]|0)==(f|0)){c[k>>2]=g;c[h>>2]=j;E=c[9752]|0;break}else db()}else{c[9750]=p&~(1<>2]=a|3;g=f+a|0;c[f+(a|4)>>2]=e|1;c[f+H>>2]=e;if(E){f=c[9755]|0;l=E>>>3;j=l<<1;h=39040+(j<<2)|0;k=c[9750]|0;l=1<>2]|0;if(k>>>0<(c[9754]|0)>>>0)db();else{D=j;C=k}}else{c[9750]=k|l;D=39040+(j+2<<2)|0;C=h}c[D>>2]=f;c[C+12>>2]=f;c[f+8>>2]=C;c[f+12>>2]=h}c[9752]=e;c[9755]=g;H=d;i=b;return H|0}p=c[9751]|0;if(p){d=(p&0-p)+ -1|0;G=d>>>12&16;d=d>>>G;F=d>>>5&8;d=d>>>F;H=d>>>2&4;d=d>>>H;f=d>>>1&2;d=d>>>f;e=d>>>1&1;e=c[39304+((F|G|H|f|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-a|0;f=e;while(1){g=c[f+16>>2]|0;if(!g){g=c[f+20>>2]|0;if(!g)break}f=(c[g+4>>2]&-8)-a|0;H=f>>>0>>0;d=H?f:d;f=g;e=H?g:e}h=c[9754]|0;if(e>>>0>>0)db();f=e+a|0;if(e>>>0>=f>>>0)db();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){k=e+16|0;j=c[k>>2]|0;if(!j){B=0;break}}while(1){l=j+20|0;m=c[l>>2]|0;if(m){j=m;k=l;continue}l=j+16|0;m=c[l>>2]|0;if(!m)break;else{j=m;k=l}}if(k>>>0>>0)db();else{c[k>>2]=0;B=j;break}}else{j=c[e+8>>2]|0;if(j>>>0>>0)db();h=j+12|0;if((c[h>>2]|0)!=(e|0))db();l=k+8|0;if((c[l>>2]|0)==(e|0)){c[h>>2]=k;c[l>>2]=j;B=k;break}else db()}while(0);do if(g){j=c[e+28>>2]|0;h=39304+(j<<2)|0;if((e|0)==(c[h>>2]|0)){c[h>>2]=B;if(!B){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();h=g+16|0;if((c[h>>2]|0)==(e|0))c[h>>2]=B;else c[g+20>>2]=B;if(!B)break}h=c[9754]|0;if(B>>>0>>0)db();c[B+24>>2]=g;g=c[e+16>>2]|0;do if(g)if(g>>>0>>0)db();else{c[B+16>>2]=g;c[g+24>>2]=B;break}while(0);g=c[e+20>>2]|0;if(g)if(g>>>0<(c[9754]|0)>>>0)db();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[9752]|0;if(h){g=c[9755]|0;k=h>>>3;l=k<<1;h=39040+(l<<2)|0;j=c[9750]|0;k=1<>2]|0;if(k>>>0<(c[9754]|0)>>>0)db();else{A=j;z=k}}else{c[9750]=j|k;A=39040+(l+2<<2)|0;z=h}c[A>>2]=g;c[z+12>>2]=g;c[g+8>>2]=z;c[g+12>>2]=h}c[9752]=d;c[9755]=f}H=e+8|0;i=b;return H|0}}}else if(a>>>0<=4294967231){z=a+11|0;a=z&-8;B=c[9751]|0;if(B){A=0-a|0;z=z>>>8;if(z)if(a>>>0>16777215)C=31;else{G=(z+1048320|0)>>>16&8;H=z<>>16&4;H=H<>>16&2;C=14-(F|G|C)+(H<>>15)|0;C=a>>>(C+7|0)&1|C<<1}else C=0;D=c[39304+(C<<2)>>2]|0;a:do if(!D){F=0;z=0}else{if((C|0)==31)z=0;else z=25-(C>>>1)|0;F=0;E=a<>2]&-8;H=G-a|0;if(H>>>0>>0)if((G|0)==(a|0)){A=H;F=D;z=D;break a}else{A=H;z=D}H=c[D+20>>2]|0;D=c[D+(E>>>31<<2)+16>>2]|0;F=(H|0)==0|(H|0)==(D|0)?F:H;if(!D)break;else E=E<<1}}while(0);if((F|0)==0&(z|0)==0){H=2<>>12&16;H=H>>>D;C=H>>>5&8;H=H>>>C;E=H>>>2&4;H=H>>>E;G=H>>>1&2;H=H>>>G;F=H>>>1&1;F=c[39304+((C|D|E|G|F)+(H>>>F)<<2)>>2]|0}if(F)while(1){H=(c[F+4>>2]&-8)-a|0;B=H>>>0>>0;A=B?H:A;z=B?F:z;B=c[F+16>>2]|0;if(B){F=B;continue}F=c[F+20>>2]|0;if(!F)break}if((z|0)!=0?A>>>0<((c[9752]|0)-a|0)>>>0:0){f=c[9754]|0;if(z>>>0>>0)db();d=z+a|0;if(z>>>0>=d>>>0)db();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){h=z+16|0;g=c[h>>2]|0;if(!g){x=0;break}}while(1){j=g+20|0;k=c[j>>2]|0;if(k){g=k;h=j;continue}j=g+16|0;k=c[j>>2]|0;if(!k)break;else{g=k;h=j}}if(h>>>0>>0)db();else{c[h>>2]=0;x=g;break}}else{h=c[z+8>>2]|0;if(h>>>0>>0)db();j=h+12|0;if((c[j>>2]|0)!=(z|0))db();f=g+8|0;if((c[f>>2]|0)==(z|0)){c[j>>2]=g;c[f>>2]=h;x=g;break}else db()}while(0);do if(e){f=c[z+28>>2]|0;g=39304+(f<<2)|0;if((z|0)==(c[g>>2]|0)){c[g>>2]=x;if(!x){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();f=e+16|0;if((c[f>>2]|0)==(z|0))c[f>>2]=x;else c[e+20>>2]=x;if(!x)break}f=c[9754]|0;if(x>>>0>>0)db();c[x+24>>2]=e;e=c[z+16>>2]|0;do if(e)if(e>>>0>>0)db();else{c[x+16>>2]=e;c[e+24>>2]=x;break}while(0);e=c[z+20>>2]|0;if(e)if(e>>>0<(c[9754]|0)>>>0)db();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){h=f<<1;e=39040+(h<<2)|0;g=c[9750]|0;f=1<>2]|0;if(g>>>0>=(c[9754]|0)>>>0){w=f;v=g;break}db()}while(0);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)if(A>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=A>>>(e+7|0)&1|e<<1}else e=0;f=39304+(e<<2)|0;c[z+(a+28)>>2]=e;c[z+(a+20)>>2]=0;c[z+(a+16)>>2]=0;g=c[9751]|0;h=1<>2]=d;c[z+(a+24)>>2]=f;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break}h=c[f>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;c:do if((c[h+4>>2]&-8|0)!=(A|0)){e=A<>>31<<2)+16|0;f=c[g>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(A|0)){p=f;break c}else{e=e<<1;h=f}}if(g>>>0<(c[9754]|0)>>>0)db();else{c[g>>2]=d;c[z+(a+24)>>2]=h;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break b}}else p=h;while(0);f=p+8|0;e=c[f>>2]|0;H=c[9754]|0;if(p>>>0>=H>>>0&e>>>0>=H>>>0){c[e+12>>2]=d;c[f>>2]=d;c[z+(a+8)>>2]=e;c[z+(a+12)>>2]=p;c[z+(a+24)>>2]=0;break}else db()}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);p=c[9752]|0;if(p>>>0>=a>>>0){e=p-a|0;d=c[9755]|0;if(e>>>0>15){c[9755]=d+a;c[9752]=e;c[d+(a+4)>>2]=e|1;c[d+p>>2]=e;c[d+4>>2]=a|3}else{c[9752]=0;c[9755]=0;c[d+4>>2]=p|3;H=d+(p+4)|0;c[H>>2]=c[H>>2]|1}H=d+8|0;i=b;return H|0}p=c[9753]|0;if(p>>>0>a>>>0){G=p-a|0;c[9753]=G;H=c[9756]|0;c[9756]=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[9868]|0)){p=Pa(30)|0;if(!(p+ -1&p)){c[9870]=p;c[9869]=p;c[9871]=-1;c[9872]=-1;c[9873]=0;c[9861]=0;c[9868]=(eb(0)|0)&-16^1431655768;break}else db()}while(0);x=a+48|0;p=c[9870]|0;w=a+47|0;A=p+w|0;p=0-p|0;v=A&p;if(v>>>0<=a>>>0){H=0;i=b;return H|0}z=c[9860]|0;if((z|0)!=0?(G=c[9858]|0,H=G+v|0,H>>>0<=G>>>0|H>>>0>z>>>0):0){H=0;i=b;return H|0}d:do if(!(c[9861]&4)){B=c[9756]|0;e:do if(B){z=39448|0;while(1){C=c[z>>2]|0;if(C>>>0<=B>>>0?(y=z+4|0,(C+(c[y>>2]|0)|0)>>>0>B>>>0):0)break;z=c[z+8>>2]|0;if(!z){o=181;break e}}if(z){A=A-(c[9753]|0)&p;if(A>>>0<2147483647){p=La(A|0)|0;if((p|0)==((c[z>>2]|0)+(c[y>>2]|0)|0)){z=A;o=190}else{z=A;o=191}}else z=0}else o=181}else o=181;while(0);do if((o|0)==181){y=La(0)|0;if((y|0)!=(-1|0)){A=y;z=c[9869]|0;p=z+ -1|0;if(!(p&A))z=v;else z=v-A+(p+A&0-z)|0;p=c[9858]|0;A=p+z|0;if(z>>>0>a>>>0&z>>>0<2147483647){H=c[9860]|0;if((H|0)!=0?A>>>0<=p>>>0|A>>>0>H>>>0:0){z=0;break}p=La(z|0)|0;if((p|0)==(y|0)){p=y;o=190}else o=191}else z=0}else z=0}while(0);f:do if((o|0)==190){if((p|0)!=(-1|0)){q=z;o=201;break d}}else if((o|0)==191){o=0-z|0;do if((p|0)!=(-1|0)&z>>>0<2147483647&x>>>0>z>>>0?(u=c[9870]|0,u=w-z+u&0-u,u>>>0<2147483647):0)if((La(u|0)|0)==(-1|0)){La(o|0)|0;z=0;break f}else{z=u+z|0;break}while(0);if((p|0)==(-1|0))z=0;else{q=z;o=201;break d}}while(0);c[9861]=c[9861]|4;o=198}else{z=0;o=198}while(0);if((((o|0)==198?v>>>0<2147483647:0)?(t=La(v|0)|0,s=La(0)|0,(t|0)!=(-1|0)&(s|0)!=(-1|0)&t>>>0>>0):0)?(r=s-t|0,q=r>>>0>(a+40|0)>>>0,q):0){p=t;q=q?r:z;o=201}if((o|0)==201){r=(c[9858]|0)+q|0;c[9858]=r;if(r>>>0>(c[9859]|0)>>>0)c[9859]=r;r=c[9756]|0;g:do if(r){t=39448|0;while(1){s=c[t>>2]|0;v=t+4|0;w=c[v>>2]|0;if((p|0)==(s+w|0)){o=213;break}u=c[t+8>>2]|0;if(!u)break;else t=u}if(((o|0)==213?(c[t+12>>2]&8|0)==0:0)?r>>>0>=s>>>0&r>>>0

>>0:0){c[v>>2]=w+q;d=(c[9753]|0)+q|0;e=r+8|0;if(!(e&7))e=0;else e=0-e&7;H=d-e|0;c[9756]=r+e;c[9753]=H;c[r+(e+4)>>2]=H|1;c[r+(d+4)>>2]=40;c[9757]=c[9872];break}s=c[9754]|0;if(p>>>0>>0){c[9754]=p;s=p}v=p+q|0;t=39448|0;while(1){if((c[t>>2]|0)==(v|0)){o=223;break}u=c[t+8>>2]|0;if(!u)break;else t=u}if((o|0)==223?(c[t+12>>2]&8|0)==0:0){c[t>>2]=p;h=t+4|0;c[h>>2]=(c[h>>2]|0)+q;h=p+8|0;if(!(h&7))h=0;else h=0-h&7;j=p+(q+8)|0;if(!(j&7))n=0;else n=0-j&7;o=p+(n+q)|0;k=h+a|0;j=p+k|0;m=o-(p+h)-a|0;c[p+(h+4)>>2]=a|3;h:do if((o|0)!=(r|0)){if((o|0)==(c[9755]|0)){H=(c[9752]|0)+m|0;c[9752]=H;c[9755]=j;c[p+(k+4)>>2]=H|1;c[p+(H+k)>>2]=H;break}r=q+4|0;u=c[p+(r+n)>>2]|0;if((u&3|0)==1){a=u&-8;t=u>>>3;i:do if(u>>>0>=256){l=c[p+((n|24)+q)>>2]|0;t=c[p+(q+12+n)>>2]|0;do if((t|0)==(o|0)){v=n|16;u=p+(r+v)|0;t=c[u>>2]|0;if(!t){u=p+(v+q)|0;t=c[u>>2]|0;if(!t){g=0;break}}while(1){w=t+20|0;v=c[w>>2]|0;if(v){t=v;u=w;continue}w=t+16|0;v=c[w>>2]|0;if(!v)break;else{t=v;u=w}}if(u>>>0>>0)db();else{c[u>>2]=0;g=t;break}}else{u=c[p+((n|8)+q)>>2]|0;if(u>>>0>>0)db();v=u+12|0;if((c[v>>2]|0)!=(o|0))db();s=t+8|0;if((c[s>>2]|0)==(o|0)){c[v>>2]=t;c[s>>2]=u;g=t;break}else db()}while(0);if(!l)break;s=c[p+(q+28+n)>>2]|0;t=39304+(s<<2)|0;do if((o|0)!=(c[t>>2]|0)){if(l>>>0<(c[9754]|0)>>>0)db();s=l+16|0;if((c[s>>2]|0)==(o|0))c[s>>2]=g;else c[l+20>>2]=g;if(!g)break i}else{c[t>>2]=g;if(g)break;c[9751]=c[9751]&~(1<>>0>>0)db();c[g+24>>2]=l;s=n|16;l=c[p+(s+q)>>2]|0;do if(l)if(l>>>0>>0)db();else{c[g+16>>2]=l;c[l+24>>2]=g;break}while(0);l=c[p+(r+s)>>2]|0;if(!l)break;if(l>>>0<(c[9754]|0)>>>0)db();else{c[g+20>>2]=l;c[l+24>>2]=g;break}}else{g=c[p+((n|8)+q)>>2]|0;r=c[p+(q+12+n)>>2]|0;u=39040+(t<<1<<2)|0;do if((g|0)!=(u|0)){if(g>>>0>>0)db();if((c[g+12>>2]|0)==(o|0))break;db()}while(0);if((r|0)==(g|0)){c[9750]=c[9750]&~(1<>>0>>0)db();s=r+8|0;if((c[s>>2]|0)==(o|0)){l=s;break}db()}while(0);c[g+12>>2]=r;c[l>>2]=g}while(0);o=p+((a|n)+q)|0;m=a+m|0}g=o+4|0;c[g>>2]=c[g>>2]&-2;c[p+(k+4)>>2]=m|1;c[p+(m+k)>>2]=m;g=m>>>3;if(m>>>0<256){l=g<<1;d=39040+(l<<2)|0;m=c[9750]|0;g=1<>2]|0;if(g>>>0>=(c[9754]|0)>>>0){f=l;e=g;break}db()}while(0);c[f>>2]=j;c[e+12>>2]=j;c[p+(k+8)>>2]=e;c[p+(k+12)>>2]=d;break}e=m>>>8;do if(!e)e=0;else{if(m>>>0>16777215){e=31;break}G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=m>>>(e+7|0)&1|e<<1}while(0);l=39304+(e<<2)|0;c[p+(k+28)>>2]=e;c[p+(k+20)>>2]=0;c[p+(k+16)>>2]=0;g=c[9751]|0;f=1<>2]=j;c[p+(k+24)>>2]=l;c[p+(k+12)>>2]=j;c[p+(k+8)>>2]=j;break}f=c[l>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;j:do if((c[f+4>>2]&-8|0)!=(m|0)){e=m<>>31<<2)+16|0;l=c[g>>2]|0;if(!l)break;if((c[l+4>>2]&-8|0)==(m|0)){d=l;break j}else{e=e<<1;f=l}}if(g>>>0<(c[9754]|0)>>>0)db();else{c[g>>2]=j;c[p+(k+24)>>2]=f;c[p+(k+12)>>2]=j;c[p+(k+8)>>2]=j;break h}}else d=f;while(0);e=d+8|0;f=c[e>>2]|0;H=c[9754]|0;if(d>>>0>=H>>>0&f>>>0>=H>>>0){c[f+12>>2]=j;c[e>>2]=j;c[p+(k+8)>>2]=f;c[p+(k+12)>>2]=d;c[p+(k+24)>>2]=0;break}else db()}else{H=(c[9753]|0)+m|0;c[9753]=H;c[9756]=j;c[p+(k+4)>>2]=H|1}while(0);H=p+(h|8)|0;i=b;return H|0}e=39448|0;while(1){d=c[e>>2]|0;if(d>>>0<=r>>>0?(n=c[e+4>>2]|0,m=d+n|0,m>>>0>r>>>0):0)break;e=c[e+8>>2]|0}e=d+(n+ -39)|0;if(!(e&7))e=0;else e=0-e&7;d=d+(n+ -47+e)|0;d=d>>>0<(r+16|0)>>>0?r:d;e=d+8|0;f=p+8|0;if(!(f&7))f=0;else f=0-f&7;H=q+ -40-f|0;c[9756]=p+f;c[9753]=H;c[p+(f+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[9757]=c[9872];c[d+4>>2]=27;c[e+0>>2]=c[9862];c[e+4>>2]=c[9863];c[e+8>>2]=c[9864];c[e+12>>2]=c[9865];c[9862]=p;c[9863]=q;c[9865]=0;c[9864]=e;e=d+28|0;c[e>>2]=7;if((d+32|0)>>>0>>0)do{H=e;e=e+4|0;c[e>>2]=7}while((H+8|0)>>>0>>0);if((d|0)!=(r|0)){d=d-r|0;e=r+(d+4)|0;c[e>>2]=c[e>>2]&-2;c[r+4>>2]=d|1;c[r+d>>2]=d;e=d>>>3;if(d>>>0<256){f=e<<1;d=39040+(f<<2)|0;g=c[9750]|0;e=1<>2]|0;if(e>>>0>=(c[9754]|0)>>>0){k=f;j=e;break}db()}while(0);c[k>>2]=r;c[j+12>>2]=r;c[r+8>>2]=j;c[r+12>>2]=d;break}e=d>>>8;if(e)if(d>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=d>>>(e+7|0)&1|e<<1}else e=0;j=39304+(e<<2)|0;c[r+28>>2]=e;c[r+20>>2]=0;c[r+16>>2]=0;f=c[9751]|0;g=1<>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break}f=c[j>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;k:do if((c[f+4>>2]&-8|0)!=(d|0)){e=d<>>31<<2)+16|0;g=c[f>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(d|0)){h=g;break k}else{e=e<<1;j=g}}if(f>>>0<(c[9754]|0)>>>0)db();else{c[f>>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break g}}else h=f;while(0);e=h+8|0;d=c[e>>2]|0;H=c[9754]|0;if(h>>>0>=H>>>0&d>>>0>=H>>>0){c[d+12>>2]=r;c[e>>2]=r;c[r+8>>2]=d;c[r+12>>2]=h;c[r+24>>2]=0;break}else db()}}else{H=c[9754]|0;if((H|0)==0|p>>>0>>0)c[9754]=p;c[9862]=p;c[9863]=q;c[9865]=0;c[9759]=c[9868];c[9758]=-1;d=0;do{H=d<<1;G=39040+(H<<2)|0;c[39040+(H+3<<2)>>2]=G;c[39040+(H+2<<2)>>2]=G;d=d+1|0}while((d|0)!=32);d=p+8|0;if(!(d&7))d=0;else d=0-d&7;H=q+ -40-d|0;c[9756]=p+d;c[9753]=H;c[p+(d+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[9757]=c[9872]}while(0);d=c[9753]|0;if(d>>>0>a>>>0){G=d-a|0;c[9753]=G;H=c[9756]|0;c[9756]=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[(Ya()|0)>>2]=12;H=0;i=b;return H|0}function RE(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){i=b;return}q=a+ -8|0;r=c[9754]|0;if(q>>>0>>0)db();n=c[a+ -4>>2]|0;m=n&3;if((m|0)==1)db();j=n&-8;h=a+(j+ -8)|0;do if(!(n&1)){u=c[q>>2]|0;if(!m){i=b;return}q=-8-u|0;n=a+q|0;m=u+j|0;if(n>>>0>>0)db();if((n|0)==(c[9755]|0)){e=a+(j+ -4)|0;o=c[e>>2]|0;if((o&3|0)!=3){e=n;o=m;break}c[9752]=m;c[e>>2]=o&-2;c[a+(q+4)>>2]=m|1;c[h>>2]=m;i=b;return}t=u>>>3;if(u>>>0<256){e=c[a+(q+8)>>2]|0;o=c[a+(q+12)>>2]|0;p=39040+(t<<1<<2)|0;if((e|0)!=(p|0)){if(e>>>0>>0)db();if((c[e+12>>2]|0)!=(n|0))db()}if((o|0)==(e|0)){c[9750]=c[9750]&~(1<>>0>>0)db();p=o+8|0;if((c[p>>2]|0)==(n|0))s=p;else db()}else s=o+8|0;c[e+12>>2]=o;c[s>>2]=e;e=n;o=m;break}s=c[a+(q+24)>>2]|0;t=c[a+(q+12)>>2]|0;do if((t|0)==(n|0)){u=a+(q+20)|0;t=c[u>>2]|0;if(!t){u=a+(q+16)|0;t=c[u>>2]|0;if(!t){p=0;break}}while(1){v=t+20|0;w=c[v>>2]|0;if(w){t=w;u=v;continue}v=t+16|0;w=c[v>>2]|0;if(!w)break;else{t=w;u=v}}if(u>>>0>>0)db();else{c[u>>2]=0;p=t;break}}else{u=c[a+(q+8)>>2]|0;if(u>>>0>>0)db();r=u+12|0;if((c[r>>2]|0)!=(n|0))db();v=t+8|0;if((c[v>>2]|0)==(n|0)){c[r>>2]=t;c[v>>2]=u;p=t;break}else db()}while(0);if(s){r=c[a+(q+28)>>2]|0;t=39304+(r<<2)|0;if((n|0)==(c[t>>2]|0)){c[t>>2]=p;if(!p){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();r=s+16|0;if((c[r>>2]|0)==(n|0))c[r>>2]=p;else c[s+20>>2]=p;if(!p){e=n;o=m;break}}r=c[9754]|0;if(p>>>0>>0)db();c[p+24>>2]=s;s=c[a+(q+16)>>2]|0;do if(s)if(s>>>0>>0)db();else{c[p+16>>2]=s;c[s+24>>2]=p;break}while(0);q=c[a+(q+20)>>2]|0;if(q)if(q>>>0<(c[9754]|0)>>>0)db();else{c[p+20>>2]=q;c[q+24>>2]=p;e=n;o=m;break}else{e=n;o=m}}else{e=n;o=m}}else{e=q;o=j}while(0);if(e>>>0>=h>>>0)db();m=a+(j+ -4)|0;n=c[m>>2]|0;if(!(n&1))db();if(!(n&2)){if((h|0)==(c[9756]|0)){w=(c[9753]|0)+o|0;c[9753]=w;c[9756]=e;c[e+4>>2]=w|1;if((e|0)!=(c[9755]|0)){i=b;return}c[9755]=0;c[9752]=0;i=b;return}if((h|0)==(c[9755]|0)){w=(c[9752]|0)+o|0;c[9752]=w;c[9755]=e;c[e+4>>2]=w|1;c[e+w>>2]=w;i=b;return}o=(n&-8)+o|0;m=n>>>3;do if(n>>>0>=256){l=c[a+(j+16)>>2]|0;m=c[a+(j|4)>>2]|0;do if((m|0)==(h|0)){n=a+(j+12)|0;m=c[n>>2]|0;if(!m){n=a+(j+8)|0;m=c[n>>2]|0;if(!m){k=0;break}}while(1){q=m+20|0;p=c[q>>2]|0;if(p){m=p;n=q;continue}p=m+16|0;q=c[p>>2]|0;if(!q)break;else{m=q;n=p}}if(n>>>0<(c[9754]|0)>>>0)db();else{c[n>>2]=0;k=m;break}}else{n=c[a+j>>2]|0;if(n>>>0<(c[9754]|0)>>>0)db();p=n+12|0;if((c[p>>2]|0)!=(h|0))db();q=m+8|0;if((c[q>>2]|0)==(h|0)){c[p>>2]=m;c[q>>2]=n;k=m;break}else db()}while(0);if(l){m=c[a+(j+20)>>2]|0;n=39304+(m<<2)|0;if((h|0)==(c[n>>2]|0)){c[n>>2]=k;if(!k){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();m=l+16|0;if((c[m>>2]|0)==(h|0))c[m>>2]=k;else c[l+20>>2]=k;if(!k)break}h=c[9754]|0;if(k>>>0>>0)db();c[k+24>>2]=l;l=c[a+(j+8)>>2]|0;do if(l)if(l>>>0>>0)db();else{c[k+16>>2]=l;c[l+24>>2]=k;break}while(0);h=c[a+(j+12)>>2]|0;if(h)if(h>>>0<(c[9754]|0)>>>0)db();else{c[k+20>>2]=h;c[h+24>>2]=k;break}}}else{k=c[a+j>>2]|0;j=c[a+(j|4)>>2]|0;a=39040+(m<<1<<2)|0;if((k|0)!=(a|0)){if(k>>>0<(c[9754]|0)>>>0)db();if((c[k+12>>2]|0)!=(h|0))db()}if((j|0)==(k|0)){c[9750]=c[9750]&~(1<>>0<(c[9754]|0)>>>0)db();a=j+8|0;if((c[a>>2]|0)==(h|0))l=a;else db()}else l=j+8|0;c[k+12>>2]=j;c[l>>2]=k}while(0);c[e+4>>2]=o|1;c[e+o>>2]=o;if((e|0)==(c[9755]|0)){c[9752]=o;i=b;return}}else{c[m>>2]=n&-2;c[e+4>>2]=o|1;c[e+o>>2]=o}h=o>>>3;if(o>>>0<256){j=h<<1;d=39040+(j<<2)|0;k=c[9750]|0;h=1<>2]|0;if(h>>>0<(c[9754]|0)>>>0)db();else{f=j;g=h}}else{c[9750]=k|h;f=39040+(j+2<<2)|0;g=d}c[f>>2]=e;c[g+12>>2]=e;c[e+8>>2]=g;c[e+12>>2]=d;i=b;return}f=o>>>8;if(f)if(o>>>0>16777215)f=31;else{v=(f+1048320|0)>>>16&8;w=f<>>16&4;w=w<>>16&2;f=14-(u|v|f)+(w<>>15)|0;f=o>>>(f+7|0)&1|f<<1}else f=0;g=39304+(f<<2)|0;c[e+28>>2]=f;c[e+20>>2]=0;c[e+16>>2]=0;j=c[9751]|0;h=1<>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;b:do if((c[g+4>>2]&-8|0)!=(o|0)){f=o<>>31<<2)+16|0;h=c[j>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(o|0)){d=h;break b}else{f=f<<1;g=h}}if(j>>>0<(c[9754]|0)>>>0)db();else{c[j>>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e;break a}}else d=g;while(0);g=d+8|0;f=c[g>>2]|0;w=c[9754]|0;if(d>>>0>=w>>>0&f>>>0>=w>>>0){c[f+12>>2]=e;c[g>>2]=e;c[e+8>>2]=f;c[e+12>>2]=d;c[e+24>>2]=0;break}else db()}else{c[9751]=j|h;c[g>>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e}while(0);w=(c[9758]|0)+ -1|0;c[9758]=w;if(!w)d=39456|0;else{i=b;return}while(1){d=c[d>>2]|0;if(!d)break;else d=d+8|0}c[9758]=-1;i=b;return}function SE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;do if(a){if(b>>>0>4294967231){c[(Ya()|0)>>2]=12;e=0;break}if(b>>>0<11)e=16;else e=b+11&-8;e=WE(a+ -8|0,e)|0;if(e){e=e+8|0;break}e=QE(b)|0;if(!e)e=0;else{f=c[a+ -4>>2]|0;f=(f&-8)-((f&3|0)==0?8:4)|0;dF(e|0,a|0,(f>>>0>>0?f:b)|0)|0;RE(a)}}else e=QE(b)|0;while(0);i=d;return e|0}function TE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=i;a:do if(!d)d=0;else{while(1){f=a[b>>0]|0;g=a[c>>0]|0;if(f<<24>>24!=g<<24>>24)break;d=d+ -1|0;if(!d){d=0;break a}else{b=b+1|0;c=c+1|0}}d=(f&255)-(g&255)|0}while(0);i=e;return d|0}function UE(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==0?1:f<<24>>24!=e<<24>>24)c=f;else{do{b=b+1|0;c=c+1|0;f=a[b>>0]|0;e=a[c>>0]|0}while(!(f<<24>>24==0?1:f<<24>>24!=e<<24>>24));c=f}i=d;return(c&255)-(e&255)|0}function VE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=i;if(!e){b=0;i=f;return b|0}g=a[b>>0]|0;a:do if(!(g<<24>>24))g=0;else while(1){e=e+ -1|0;h=a[c>>0]|0;if(!(h<<24>>24!=0&(e|0)!=0&g<<24>>24==h<<24>>24))break a;b=b+1|0;c=c+1|0;g=a[b>>0]|0;if(!(g<<24>>24)){g=0;break}}while(0);h=(g&255)-(d[c>>0]|0)|0;i=f;return h|0}function WE(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;d=i;f=a+4|0;e=c[f>>2]|0;l=e&-8;j=a+l|0;m=c[9754]|0;h=e&3;if(!((h|0)!=1&a>>>0>=m>>>0&a>>>0>>0))db();g=a+(l|4)|0;p=c[g>>2]|0;if(!(p&1))db();if(!h){if(b>>>0<256){r=0;i=d;return r|0}if(l>>>0>=(b+4|0)>>>0?(l-b|0)>>>0<=c[9870]<<1>>>0:0){r=a;i=d;return r|0}r=0;i=d;return r|0}if(l>>>0>=b>>>0){h=l-b|0;if(h>>>0<=15){r=a;i=d;return r|0}c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=h|3;c[g>>2]=c[g>>2]|1;XE(a+b|0,h);r=a;i=d;return r|0}if((j|0)==(c[9756]|0)){g=(c[9753]|0)+l|0;if(g>>>0<=b>>>0){r=0;i=d;return r|0}r=g-b|0;c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=r|1;c[9756]=a+b;c[9753]=r;r=a;i=d;return r|0}if((j|0)==(c[9755]|0)){h=(c[9752]|0)+l|0;if(h>>>0>>0){r=0;i=d;return r|0}g=h-b|0;if(g>>>0>15){c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=g|1;c[a+h>>2]=g;e=a+(h+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[f>>2]=e&1|h|2;e=a+(h+4)|0;c[e>>2]=c[e>>2]|1;e=0;g=0}c[9752]=g;c[9755]=e;r=a;i=d;return r|0}if(p&2){r=0;i=d;return r|0}g=(p&-8)+l|0;if(g>>>0>>0){r=0;i=d;return r|0}h=g-b|0;o=p>>>3;do if(p>>>0>=256){n=c[a+(l+24)>>2]|0;o=c[a+(l+12)>>2]|0;do if((o|0)==(j|0)){p=a+(l+20)|0;o=c[p>>2]|0;if(!o){p=a+(l+16)|0;o=c[p>>2]|0;if(!o){k=0;break}}while(1){r=o+20|0;q=c[r>>2]|0;if(q){o=q;p=r;continue}q=o+16|0;r=c[q>>2]|0;if(!r)break;else{o=r;p=q}}if(p>>>0>>0)db();else{c[p>>2]=0;k=o;break}}else{p=c[a+(l+8)>>2]|0;if(p>>>0>>0)db();m=p+12|0;if((c[m>>2]|0)!=(j|0))db();q=o+8|0;if((c[q>>2]|0)==(j|0)){c[m>>2]=o;c[q>>2]=p;k=o;break}else db()}while(0);if(n){m=c[a+(l+28)>>2]|0;o=39304+(m<<2)|0;if((j|0)==(c[o>>2]|0)){c[o>>2]=k;if(!k){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();m=n+16|0;if((c[m>>2]|0)==(j|0))c[m>>2]=k;else c[n+20>>2]=k;if(!k)break}j=c[9754]|0;if(k>>>0>>0)db();c[k+24>>2]=n;m=c[a+(l+16)>>2]|0;do if(m)if(m>>>0>>0)db();else{c[k+16>>2]=m;c[m+24>>2]=k;break}while(0);j=c[a+(l+20)>>2]|0;if(j)if(j>>>0<(c[9754]|0)>>>0)db();else{c[k+20>>2]=j;c[j+24>>2]=k;break}}}else{k=c[a+(l+8)>>2]|0;l=c[a+(l+12)>>2]|0;p=39040+(o<<1<<2)|0;if((k|0)!=(p|0)){if(k>>>0>>0)db();if((c[k+12>>2]|0)!=(j|0))db()}if((l|0)==(k|0)){c[9750]=c[9750]&~(1<>>0>>0)db();m=l+8|0;if((c[m>>2]|0)==(j|0))n=m;else db()}else n=l+8|0;c[k+12>>2]=l;c[n>>2]=k}while(0);if(h>>>0<16){c[f>>2]=g|e&1|2;r=a+(g|4)|0;c[r>>2]=c[r>>2]|1;r=a;i=d;return r|0}else{c[f>>2]=e&1|b|2;c[a+(b+4)>>2]=h|3;r=a+(g|4)|0;c[r>>2]=c[r>>2]|1;XE(a+b|0,h);r=a;i=d;return r|0}return 0} - - - -function qo(f,g,h,j,k){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,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;r=i;i=i+272|0;Y=r;u=r+264|0;E=r+260|0;o=r+256|0;p=r+252|0;H=r+248|0;O=r+244|0;C=r+240|0;pa=r+236|0;oa=r+232|0;K=r+228|0;J=r+224|0;V=r+220|0;s=r+216|0;U=r+212|0;R=r+208|0;L=r+204|0;A=r+200|0;P=r+196|0;x=r+192|0;I=r+188|0;w=r+184|0;M=r+180|0;N=r+176|0;X=r+156|0;ia=r+152|0;na=r+148|0;D=r+271|0;v=r+270|0;Z=r+269|0;ma=r+268|0;n=r+144|0;z=r+140|0;B=r+136|0;t=r+132|0;l=r+128|0;y=r+124|0;T=r+120|0;q=r+116|0;F=r+112|0;G=r+108|0;da=r+104|0;ha=r+100|0;fa=r+96|0;ga=r+92|0;la=r+88|0;ka=r+84|0;ja=r+80|0;ca=r+48|0;aa=r+44|0;ea=r+40|0;$=r+36|0;_=r+32|0;Q=r+28|0;S=r+24|0;m=r+20|0;W=r+16|0;c[u>>2]=f;c[E>>2]=g;c[o>>2]=h;c[p>>2]=j;c[H>>2]=k;c[L>>2]=0;c[A>>2]=0;c[P>>2]=0;c[x>>2]=-1;c[w>>2]=0;c[M>>2]=0;c[N>>2]=0;a[D>>0]=0;a[v>>0]=0;a[ma>>0]=1;c[n>>2]=0;c[z>>2]=0;c[B>>2]=0;c[t>>2]=0;c[q>>2]=0;c[O>>2]=c[c[u>>2]>>2];c[X+0>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[X+12>>2]=0;c[X+16>>2]=0;a:do if((c[(c[u>>2]|0)+64>>2]|0)==0?(d[(c[O>>2]|0)+64>>0]|0)==0:0){if(((c[o>>2]|0)!=0?(e[(c[o>>2]|0)+6>>1]&128|0)!=0:0)?(c[(c[o>>2]|0)+52>>2]|0)==0:0){c[n>>2]=c[c[o>>2]>>2];c[c[o>>2]>>2]=0;tn(c[O>>2]|0,c[o>>2]|0);c[o>>2]=0}c[pa>>2]=c[(c[E>>2]|0)+16>>2];if((((((c[pa>>2]|0)!=0?(c[C>>2]=Ft(c[u>>2]|0,c[E>>2]|0)|0,(c[C>>2]|0)!=0):0)?(c[ia>>2]=Ve(c[O>>2]|0,c[(c[C>>2]|0)+68>>2]|0)|0,c[na>>2]=(c[(c[O>>2]|0)+16>>2]|0)+(c[ia>>2]<<4),c[oa>>2]=c[c[na>>2]>>2],(ap(c[u>>2]|0,18,c[c[C>>2]>>2]|0,0,c[oa>>2]|0)|0)==0):0)?(a[Z>>0]=((d[(c[C>>2]|0)+44>>0]&32|0)==0^1)&1,c[G>>2]=lu(c[u>>2]|0,c[C>>2]|0,108,0,da)|0,c[F>>2]=(c[(c[C>>2]|0)+12>>2]|0)!=0&1,(Qp(c[u>>2]|0,c[C>>2]|0)|0)==0):0)?(mu(c[u>>2]|0,c[C>>2]|0,c[da>>2]|0)|0)==0:0)?(c[s>>2]=dp(c[u>>2]|0)|0,(c[s>>2]|0)!=0):0){if(!(d[(c[u>>2]|0)+18>>0]|0))nu(c[s>>2]|0);if(c[o>>2]|0)na=1;else na=(c[G>>2]|0)!=0;pp(c[u>>2]|0,na&1,c[ia>>2]|0);if(!((c[p>>2]|0)==0?(ou(c[u>>2]|0,c[C>>2]|0,c[o>>2]|0,c[H>>2]|0,c[ia>>2]|0)|0)!=0:0))ba=19;b:do if((ba|0)==19){c[B>>2]=pu(c[u>>2]|0,c[ia>>2]|0,c[C>>2]|0)|0;f=(c[(c[u>>2]|0)+72>>2]|0)+1|0;c[l>>2]=f;c[y>>2]=f;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+((b[(c[C>>2]|0)+38>>1]|0)+1);if(d[(c[C>>2]|0)+44>>0]&16){c[y>>2]=(c[y>>2]|0)+1;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+1}c[T>>2]=(c[y>>2]|0)+1;c:do if(c[p>>2]|0){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break;c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)+4>>2]=-1;c[K>>2]=(c[K>>2]|0)+1}c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break c;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0))break;f=(xc(c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)>>2]|0,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0)>>2]|0)|0)==0;na=c[J>>2]|0;if(f){ba=30;break}c[J>>2]=na+1}do if((ba|0)==30){ba=0;c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)+4>>2]=na;if((c[K>>2]|0)!=(c[J>>2]|0))a[ma>>0]=0;if((c[J>>2]|0)!=(b[(c[C>>2]|0)+36>>1]|0))break;c[x>>2]=c[K>>2]}while(0);if((c[J>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0)){f=(Zq(c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)>>2]|0)|0)==0;if(f|(a[Z>>0]|0)!=0)break;c[x>>2]=c[K>>2];a[ma>>0]=0}c[K>>2]=(c[K>>2]|0)+1}f=c[u>>2]|0;g=c[(c[c[p>>2]>>2]|0)+(c[K>>2]<<3)>>2]|0;c[Y>>2]=c[E>>2];c[Y+4>>2]=0;c[Y+8>>2]=g;Se(f,23432,Y);a[(c[u>>2]|0)+17>>0]=1;break a}while(0);d:do if(c[o>>2]|0){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ha>>2]=f;c[fa>>2]=(Mr(c[s>>2]|0)|0)+1;ip(c[s>>2]|0,20,c[ha>>2]|0,0,c[fa>>2]|0)|0;$s(X,13,c[ha>>2]|0);c[X+8>>2]=(d[ma>>0]|0)!=0?c[T>>2]|0:0;c[X+12>>2]=b[(c[C>>2]|0)+38>>1];c[ga>>2]=ao(c[u>>2]|0,c[o>>2]|0,X)|0;c[z>>2]=c[X+8>>2];if(c[ga>>2]|0)break a;if(d[(c[O>>2]|0)+64>>0]|0)break a;Ir(c[s>>2]|0,21,c[ha>>2]|0)|0;zp(c[s>>2]|0,(c[fa>>2]|0)-1|0);c[R>>2]=c[c[c[o>>2]>>2]>>2];if(!((c[G>>2]|0)==0?(qu(c[u>>2]|0,c[ia>>2]|0,c[C>>2]|0)|0)==0:0))a[D>>0]=1;if(!(a[D>>0]|0))break;g=(c[u>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[w>>2]=f;c[la>>2]=kp(c[u>>2]|0)|0;c[ka>>2]=kp(c[u>>2]|0)|0;fp(c[s>>2]|0,57,c[w>>2]|0,c[R>>2]|0)|0;c[ja>>2]=Ir(c[s>>2]|0,22,c[X+4>>2]|0)|0;ip(c[s>>2]|0,49,c[z>>2]|0,c[R>>2]|0,c[la>>2]|0)|0;fp(c[s>>2]|0,74,c[w>>2]|0,c[ka>>2]|0)|0;ip(c[s>>2]|0,75,c[w>>2]|0,c[la>>2]|0,c[ka>>2]|0)|0;fp(c[s>>2]|0,16,0,c[ja>>2]|0)|0;zp(c[s>>2]|0,c[ja>>2]|0);lp(c[u>>2]|0,c[la>>2]|0);lp(c[u>>2]|0,c[ka>>2]|0)}else{c[ca+0>>2]=0;c[ca+4>>2]=0;c[ca+8>>2]=0;c[ca+12>>2]=0;c[ca+16>>2]=0;c[ca+20>>2]=0;c[ca+24>>2]=0;c[ca+28>>2]=0;c[ca>>2]=c[u>>2];c[w>>2]=-1;if(c[n>>2]|0)fa=c[c[n>>2]>>2]|0;else fa=0;c[R>>2]=fa;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[R>>2]|0))break d;if(vq(ca,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)>>2]|0)|0)break a;c[K>>2]=(c[K>>2]|0)+1}}while(0);if((c[p>>2]|0)==0&(c[R>>2]|0)>0)c[x>>2]=b[(c[C>>2]|0)+36>>1];e:do if(d[(c[C>>2]|0)+44>>0]&16){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0))break e;c[L>>2]=(c[L>>2]|0)+((d[(c[(c[C>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+23>>0]&2|0)!=0?1:0);c[K>>2]=(c[K>>2]|0)+1}}while(0);do if((c[p>>2]|0)==0&(c[R>>2]|0)!=0){if((c[R>>2]|0)==((b[(c[C>>2]|0)+38>>1]|0)-(c[L>>2]|0)|0))break;f=c[u>>2]|0;h=(b[(c[C>>2]|0)+38>>1]|0)-(c[L>>2]|0)|0;g=c[R>>2]|0;c[Y>>2]=c[E>>2];c[Y+4>>2]=0;c[Y+8>>2]=h;c[Y+12>>2]=g;Se(f,23464,Y);break a}while(0);do if(c[p>>2]|0){if((c[R>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0))break;f=c[u>>2]|0;g=c[(c[p>>2]|0)+4>>2]|0;c[Y>>2]=c[R>>2];c[Y+4>>2]=g;Se(f,23520,Y);break a}while(0);if(c[(c[O>>2]|0)+24>>2]&128){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[t>>2]=f;fp(c[s>>2]|0,25,0,c[t>>2]|0)|0}f:do if(!(c[F>>2]|0)){c[aa>>2]=du(c[u>>2]|0,c[C>>2]|0,55,-1,0,A,P)|0;c[q>>2]=Qe(c[O>>2]|0,(c[aa>>2]|0)+1<<2,0)|0;if(!(c[q>>2]|0))break a;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[aa>>2]|0))break f;g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[q>>2]|0)+(c[K>>2]<<2)>>2]=f;c[K>>2]=(c[K>>2]|0)+1}}while(0);do if(a[D>>0]|0){c[M>>2]=Ir(c[s>>2]|0,108,c[w>>2]|0)|0;c[N>>2]=Mr(c[s>>2]|0)|0}else{if(!(c[o>>2]|0))break;f=Ir(c[s>>2]|0,22,c[X+4>>2]|0)|0;c[N>>2]=f;c[M>>2]=f}while(0);c[I>>2]=Nr(c[s>>2]|0)|0;if(c[da>>2]&1){c[ea>>2]=ys(c[u>>2]|0,(b[(c[C>>2]|0)+38>>1]|0)+1|0)|0;if((c[x>>2]|0)<0)fp(c[s>>2]|0,25,-1,c[ea>>2]|0)|0;else{if(a[D>>0]|0)ip(c[s>>2]|0,47,c[w>>2]|0,c[x>>2]|0,c[ea>>2]|0)|0;else Os(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0,c[ea>>2]|0);c[$>>2]=Ir(c[s>>2]|0,77,c[ea>>2]|0)|0;fp(c[s>>2]|0,25,-1,c[ea>>2]|0)|0;zp(c[s>>2]|0,c[$>>2]|0);Ir(c[s>>2]|0,38,c[ea>>2]|0)|0}c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0))break;g:do if(!(c[p>>2]|0))c[J>>2]=c[K>>2];else{c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break g;if((c[(c[c[p>>2]>>2]|0)+(c[J>>2]<<3)+4>>2]|0)==(c[K>>2]|0))break g;c[J>>2]=(c[J>>2]|0)+1}}while(0);do if((a[D>>0]|0)!=0|(c[n>>2]|0)!=0){if((c[p>>2]|0)!=0?(c[J>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0):0){ba=95;break}if(a[D>>0]|0){ip(c[s>>2]|0,47,c[w>>2]|0,c[J>>2]|0,(c[ea>>2]|0)+(c[K>>2]|0)+1|0)|0;break}else{ru(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,(c[ea>>2]|0)+(c[K>>2]|0)+1|0);break}}else ba=95;while(0);if((ba|0)==95){ba=0;Os(c[u>>2]|0,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+4>>2]|0,(c[ea>>2]|0)+(c[K>>2]|0)+1|0)}c[K>>2]=(c[K>>2]|0)+1}if(!(c[F>>2]|0))su(c[s>>2]|0,c[C>>2]|0,(c[ea>>2]|0)+1|0);tu(c[u>>2]|0,c[G>>2]|0,108,0,1,c[C>>2]|0,(c[ea>>2]|0)-(b[(c[C>>2]|0)+38>>1]|0)-1|0,c[H>>2]|0,c[I>>2]|0);Bs(c[u>>2]|0,c[ea>>2]|0,(b[(c[C>>2]|0)+38>>1]|0)+1|0)}do if(!(c[F>>2]|0)){if(d[(c[C>>2]|0)+44>>0]&16)fp(c[s>>2]|0,28,0,c[l>>2]|0)|0;h:do if((c[x>>2]|0)>=0){do if(a[D>>0]|0)ip(c[s>>2]|0,47,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;else{if(c[o>>2]|0){fp(c[s>>2]|0,33,(c[z>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;break}Os(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0,c[y>>2]|0);c[_>>2]=dt(c[s>>2]|0,-1)|0;if(!(c[_>>2]|0))break;if((d[c[_>>2]>>0]|0)!=28)break;if(d[(c[C>>2]|0)+44>>0]&16)break;a[v>>0]=1;a[c[_>>2]>>0]=74;c[(c[_>>2]|0)+4>>2]=c[A>>2];c[(c[_>>2]|0)+8>>2]=c[y>>2];c[(c[_>>2]|0)+12>>2]=c[B>>2]}while(0);if(a[v>>0]|0)break;X=c[s>>2]|0;if(d[(c[C>>2]|0)+44>>0]&16){c[Q>>2]=Mr(X)|0;fp(c[s>>2]|0,76,c[y>>2]|0,(c[Q>>2]|0)+2|0)|0}else{c[Q>>2]=Ir(X,77,c[y>>2]|0)|0;ip(c[s>>2]|0,74,c[A>>2]|0,c[y>>2]|0,c[B>>2]|0)|0;zp(c[s>>2]|0,c[Q>>2]|0)}Ir(c[s>>2]|0,38,c[y>>2]|0)|0}else{do if(!(d[(c[C>>2]|0)+44>>0]&16)){if(d[Z>>0]|0)break;ip(c[s>>2]|0,74,c[A>>2]|0,c[y>>2]|0,c[B>>2]|0)|0;a[v>>0]=1;break h}while(0);fp(c[s>>2]|0,28,0,c[y>>2]|0)|0}while(0);uu(c[u>>2]|0,c[B>>2]|0,c[y>>2]|0);c[L>>2]=0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[C>>2]|0)+38>>1]|0))break;c[S>>2]=(c[y>>2]|0)+1+(c[K>>2]|0);i:do if((c[K>>2]|0)==(b[(c[C>>2]|0)+36>>1]|0))Ir(c[s>>2]|0,29,c[S>>2]|0)|0;else{j:do if(!(c[p>>2]|0))if(d[(c[(c[C>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+23>>0]&2){c[J>>2]=-1;c[L>>2]=(c[L>>2]|0)+1;break}else{c[J>>2]=(c[K>>2]|0)-(c[L>>2]|0);break}else{c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break j;if((c[(c[c[p>>2]>>2]|0)+(c[J>>2]<<3)+4>>2]|0)==(c[K>>2]|0))break j;c[J>>2]=(c[J>>2]|0)+1}}while(0);do if(!((c[J>>2]|0)<0|(c[R>>2]|0)==0)){if((c[p>>2]|0)!=0?(c[J>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0):0)break;if(a[D>>0]|0){ip(c[s>>2]|0,47,c[w>>2]|0,c[J>>2]|0,c[S>>2]|0)|0;break i}if(!(c[o>>2]|0)){Os(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,c[S>>2]|0);break i}if((c[z>>2]|0)==(c[T>>2]|0))break i;fp(c[s>>2]|0,34,(c[z>>2]|0)+(c[J>>2]|0)|0,c[S>>2]|0)|0;break i}while(0);vu(c[u>>2]|0,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+4>>2]|0,c[S>>2]|0)}while(0);c[K>>2]=(c[K>>2]|0)+1}if(d[(c[C>>2]|0)+44>>0]&16){c[m>>2]=Rp(c[O>>2]|0,c[C>>2]|0)|0;wu(c[u>>2]|0,c[C>>2]|0);hp(c[s>>2]|0,15,1,(b[(c[C>>2]|0)+38>>1]|0)+2|0,c[l>>2]|0,c[m>>2]|0,-10)|0;Xe(c[s>>2]|0,((c[H>>2]|0)==10?2:c[H>>2]|0)&255);Sp(c[u>>2]|0);break}else{xu(c[u>>2]|0,c[C>>2]|0,c[q>>2]|0,c[A>>2]|0,c[P>>2]|0,c[l>>2]|0,0,(c[x>>2]|0)>=0&255,c[H>>2]&255,c[I>>2]|0,W);yu(c[u>>2]|0,c[C>>2]|0,0,c[l>>2]|0,0,0);zu(c[u>>2]|0,c[C>>2]|0,c[A>>2]|0,c[P>>2]|0,c[l>>2]|0,c[q>>2]|0,0,d[v>>0]|0,(c[W>>2]|0)==0&1);break}}while(0);if(c[(c[O>>2]|0)+24>>2]&128)fp(c[s>>2]|0,37,c[t>>2]|0,1)|0;if(c[G>>2]|0)tu(c[u>>2]|0,c[G>>2]|0,108,0,2,c[C>>2]|0,(c[T>>2]|0)-2-(b[(c[C>>2]|0)+38>>1]|0)|0,c[H>>2]|0,c[I>>2]|0);Pr(c[s>>2]|0,c[I>>2]|0);do if(a[D>>0]|0){fp(c[s>>2]|0,9,c[w>>2]|0,c[N>>2]|0)|0;zp(c[s>>2]|0,c[M>>2]|0);Ir(c[s>>2]|0,61,c[w>>2]|0)|0}else{if(!(c[o>>2]|0))break;fp(c[s>>2]|0,16,0,c[N>>2]|0)|0;zp(c[s>>2]|0,c[M>>2]|0)}while(0);if((c[F>>2]|0)!=0?1:(d[(c[C>>2]|0)+44>>0]&16|0)!=0)break;if((c[A>>2]|0)<(c[P>>2]|0))Ir(c[s>>2]|0,61,c[A>>2]|0)|0;c[V>>2]=0;c[U>>2]=c[(c[C>>2]|0)+8>>2];while(1){if(!(c[U>>2]|0))break b;Ir(c[s>>2]|0,61,(c[V>>2]|0)+(c[P>>2]|0)|0)|0;c[U>>2]=c[(c[U>>2]|0)+20>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);if((d[(c[u>>2]|0)+18>>0]|0)==0?(c[(c[u>>2]|0)+412>>2]|0)==0:0)Au(c[u>>2]|0);if(((c[(c[O>>2]|0)+24>>2]&128|0)!=0?(a[(c[u>>2]|0)+18>>0]|0)==0:0)?(c[(c[u>>2]|0)+412>>2]|0)==0:0){fp(c[s>>2]|0,35,c[t>>2]|0,1)|0;Nt(c[s>>2]|0,1);Ot(c[s>>2]|0,0,0,23552,0)|0}}}while(0);vn(c[O>>2]|0,c[E>>2]|0);sn(c[O>>2]|0,c[n>>2]|0);tn(c[O>>2]|0,c[o>>2]|0);xn(c[O>>2]|0,c[p>>2]|0);Xb(c[O>>2]|0,c[q>>2]|0);i=r;return}function ro(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;f=i;i=i+32|0;e=f+16|0;k=f+12|0;g=f+8|0;h=f+4|0;j=f;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=se(c[k>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}d=ku(c[k>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;d=c[k>>2]|0;if((c[j>>2]|0)<0){xn(d,c[g>>2]|0);c[e>>2]=0;a=c[e>>2]|0;i=f;return a|0}else{a=Zo(d,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=a;c[e>>2]=c[g>>2];a=c[e>>2]|0;i=f;return a|0}return 0}function so(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function to(d,e){d=d|0;e=e|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;n=i;i=i+48|0;o=n+8|0;j=n+36|0;r=n+32|0;h=n+28|0;m=n+24|0;k=n+42|0;p=n+20|0;f=n;q=n+16|0;s=n+40|0;l=n+12|0;c[j>>2]=d;c[r>>2]=e;c[h>>2]=c[c[j>>2]>>2];if(!(c[r>>2]|0)){i=n;return}c[m>>2]=c[(c[r>>2]|0)+8>>2];do if(a[(c[m>>2]|0)+1>>0]|0){b[k>>1]=0;c[p>>2]=Mb(c[m>>2]|0)|0;if((a[c[m>>2]>>0]|0)==63){c[q>>2]=0==(wg((c[m>>2]|0)+1|0,f,(c[p>>2]|0)-1|0,1)|0)&1;d=c[f>>2]&65535;b[k>>1]=d;b[(c[r>>2]|0)+32>>1]=d;d=f;e=c[d+4>>2]|0;if(!(!((c[q>>2]|0)==0|((e|0)<0|(e|0)==0&(c[d>>2]|0)>>>0<1))?(e=f,r=c[e+4>>2]|0,d=c[(c[h>>2]|0)+124>>2]|0,s=((d|0)<0)<<31>>31,!((r|0)>(s|0)|((r|0)==(s|0)?(c[e>>2]|0)>>>0>d>>>0:0))):0)){d=c[j>>2]|0;c[o>>2]=c[(c[h>>2]|0)+124>>2];Se(d,23360,o);b[k>>1]=0}e=f;r=c[e+4>>2]|0;d=c[(c[j>>2]|0)+440>>2]|0;s=((d|0)<0)<<31>>31;if((r|0)>(s|0)|((r|0)==(s|0)?(c[e>>2]|0)>>>0>d>>>0:0))c[(c[j>>2]|0)+440>>2]=c[f>>2]}else{b[s>>1]=0;while(1){if((b[s>>1]|0)>=(c[(c[j>>2]|0)+444>>2]|0))break;if((c[(c[(c[j>>2]|0)+472>>2]|0)+(b[s>>1]<<2)>>2]|0)!=0?(UE(c[(c[(c[j>>2]|0)+472>>2]|0)+(b[s>>1]<<2)>>2]|0,c[m>>2]|0)|0)==0:0){g=14;break}b[s>>1]=(b[s>>1]|0)+1<<16>>16}if((g|0)==14){d=(b[s>>1]|0)+1&65535;b[k>>1]=d;b[(c[r>>2]|0)+32>>1]=d}if(!(b[k>>1]|0)){e=(c[j>>2]|0)+440|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;d=d&65535;b[(c[r>>2]|0)+32>>1]=d;b[k>>1]=d}}if((b[k>>1]|0)>0){do if((b[k>>1]|0)>(c[(c[j>>2]|0)+444>>2]|0)){c[l>>2]=Fk(c[h>>2]|0,c[(c[j>>2]|0)+472>>2]|0,b[k>>1]<<2,0)|0;if(!(c[l>>2]|0)){i=n;return}else{c[(c[j>>2]|0)+472>>2]=c[l>>2];_E((c[l>>2]|0)+(c[(c[j>>2]|0)+444>>2]<<2)|0,0,(b[k>>1]|0)-(c[(c[j>>2]|0)+444>>2]|0)<<2|0)|0;c[(c[j>>2]|0)+444>>2]=b[k>>1];break}}while(0);if((a[c[m>>2]>>0]|0)==63?(c[(c[(c[j>>2]|0)+472>>2]|0)+((b[k>>1]|0)-1<<2)>>2]|0)!=0:0)break;Xb(c[h>>2]|0,c[(c[(c[j>>2]|0)+472>>2]|0)+((b[k>>1]|0)-1<<2)>>2]|0);d=rm(c[h>>2]|0,c[m>>2]|0,c[p>>2]|0,0)|0;c[(c[(c[j>>2]|0)+472>>2]|0)+((b[k>>1]|0)-1<<2)>>2]=d}}else{e=(c[j>>2]|0)+440|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b[(c[r>>2]|0)+32>>1]=d}while(0);if(c[(c[j>>2]|0)+64>>2]|0){i=n;return}if((c[(c[j>>2]|0)+440>>2]|0)<=(c[(c[h>>2]|0)+124>>2]|0)){i=n;return}Se(c[j>>2]|0,23408,o);i=n;return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;if((c[(c[j>>2]|0)+4>>2]|0)>>>0<=0){a=c[f>>2]|0;i=e;return a|0}c[g>>2]=or(c[c[h>>2]>>2]|0,95,c[j>>2]|0,1)|0;if(!(c[g>>2]|0)){a=c[f>>2]|0;i=e;return a|0}c[(c[g>>2]|0)+12>>2]=c[f>>2];a=(c[g>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[f>>2]=c[g>>2];a=c[f>>2]|0;i=e;return a|0}function vo(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,l=0;e=i;i=i+32|0;f=e+20|0;k=e+16|0;g=e+12|0;l=e+8|0;j=e+4|0;h=e;c[k>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[k>>2]>>2];c[j>>2]=or(c[h>>2]|0,153,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){sn(c[h>>2]|0,c[g>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];Ao(c[k>>2]|0,c[j>>2]|0);c[f>>2]=c[j>>2];l=c[f>>2]|0;i=e;return l|0}return 0}function wo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;a=Rn(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,c[c[j>>2]>>2]|0,0)|0;c[c[h>>2]>>2]=a;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function xo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;a=Rn(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=a;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);i=g;return}function yo(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;l=h;c[n>>2]=b;c[m>>2]=e;c[k>>2]=f;c[j>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[m>>2]|0)!=0&(c[k>>2]|0)!=0)){i=h;return}if((d[c[m>>2]>>0]|0|0)!=101){i=h;return}a[c[k>>2]>>0]=c[j>>2];wn(c[l>>2]|0,c[(c[k>>2]|0)+16>>2]|0);c[(c[k>>2]|0)+16>>2]=0;i=h;return}function zo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;j=g+4|0;k=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[j>>2]=e;c[k>>2]=f;a=Rn(c[m>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=a;c[(c[h>>2]|0)+4>>2]=c[c[k>>2]>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function Ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;qr(c[e>>2]|0);Qq(c[f>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=d;return}function Bo(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,o=0,p=0,q=0,r=0,s=0;l=i;i=i+64|0;j=l;h=l+52|0;f=l+48|0;k=l+44|0;m=l+40|0;n=l+36|0;g=l+32|0;r=l+28|0;o=l+24|0;p=l+20|0;q=l+16|0;s=l+12|0;c[h>>2]=b;c[f>>2]=d;c[k>>2]=e;c[g>>2]=c[c[h>>2]>>2];if(a[(c[g>>2]|0)+64>>0]|0){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}if(Ar(c[h>>2]|0)|0){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}c[m>>2]=Op(c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0;if(!(c[m>>2]|0)){n=c[h>>2]|0;m=c[f>>2]|0;if(c[k>>2]|0)At(n,c[m+12>>2]|0);else{c[j>>2]=m;c[j+4>>2]=0;Se(n,23120,j)}a[(c[h>>2]|0)+17>>0]=1;d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}if(a[(c[m>>2]|0)+55>>0]&3){d=c[h>>2]|0;c[j>>2]=0;Se(d,23144,j);d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}c[r>>2]=Ve(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;c[o>>2]=10;c[p>>2]=c[(c[m>>2]|0)+12>>2];c[q>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[s>>2]=(c[r>>2]|0)==1?14904:14928;if(ap(c[h>>2]|0,9,c[s>>2]|0,0,c[q>>2]|0)|0){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}if(c[r>>2]|0)c[o>>2]=12;if(ap(c[h>>2]|0,c[o>>2]|0,c[c[m>>2]>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0)|0){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}c[n>>2]=dp(c[h>>2]|0)|0;if(!(c[n>>2]|0)){d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}pp(c[h>>2]|0,1,c[r>>2]|0);d=c[h>>2]|0;s=(c[r>>2]|0)==1?14904:14928;b=c[c[m>>2]>>2]|0;c[j>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[j+4>>2]=s;c[j+8>>2]=b;cp(d,23224,j);iu(c[h>>2]|0,c[r>>2]|0,18160,c[c[m>>2]>>2]|0);ep(c[h>>2]|0,c[r>>2]|0);ju(c[h>>2]|0,c[(c[m>>2]|0)+44>>2]|0,c[r>>2]|0);hp(c[n>>2]|0,125,c[r>>2]|0,0,0,c[c[m>>2]>>2]|0,0)|0;d=c[g>>2]|0;b=c[f>>2]|0;vn(d,b);i=l;return}function Co(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=dp(c[e>>2]|0)|0;if(!(c[d>>2]|0)){i=b;return}fp(c[d>>2]|0,13,0,0)|0;Ze(c[d>>2]|0,0);i=b;return}function Do(f,g,h,j,k){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,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,ya=0,za=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,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;o=i;i=i+560|0;t=o+32|0;q=o+544|0;Ib=o+540|0;cb=o+536|0;Gb=o+532|0;Fb=o+528|0;m=o+524|0;n=o+520|0;na=o+516|0;Hb=o+512|0;Eb=o+496|0;r=o+488|0;ib=o+484|0;hb=o+480|0;tb=o+476|0;gb=o+472|0;l=o+468|0;bb=o+464|0;p=o+460|0;Db=o+456|0;Na=o+452|0;Oa=o+448|0;ab=o+444|0;va=o+440|0;eb=o+436|0;Aa=o+432|0;fb=o+428|0;la=o+424|0;Da=o+420|0;Ea=o+416|0;Fa=o+412|0;Ga=o+408|0;Ya=o+404|0;Za=o+400|0;Xa=o+396|0;Wa=o+392|0;Ca=o+388|0;Ba=o+24|0;Qa=o+384|0;Sa=o+380|0;Ra=o+376|0;Ma=o+372|0;La=o+368|0;Ka=o+364|0;_a=o+16|0;vb=o+360|0;wa=o+356|0;qa=o+352|0;sa=o+348|0;pa=o+344|0;ta=o+340|0;ra=o+336|0;oa=o+332|0;ub=o+328|0;lb=o+324|0;mb=o+320|0;xb=o+316|0;zb=o+312|0;wb=o+308|0;yb=o+548|0;Bb=o+304|0;Ab=o+300|0;Cb=o+296|0;Ja=o+292|0;kb=o+288|0;$a=o+284|0;jb=o+280|0;Ha=o+276|0;Va=o+272|0;Pa=o+268|0;Ia=o+264|0;db=o+260|0;Ta=o+256|0;Ua=o+252|0;da=o+248|0;ja=o+244|0;ea=o+240|0;fa=o+236|0;ca=o+232|0;_=o+228|0;$=o+224|0;ga=o+220|0;ba=o+216|0;ma=o+212|0;aa=o+208|0;ha=o+204|0;Z=o+200|0;ia=o+196|0;ka=o+192|0;V=o+188|0;S=o+184|0;Y=o+180|0;X=o+176|0;w=o+172|0;x=o+168|0;u=o+164|0;W=o+160|0;U=o+156|0;v=o+152|0;R=o+148|0;Q=o+144|0;E=o+140|0;M=o+136|0;T=o+132|0;G=o+128|0;K=o+124|0;L=o+120|0;z=o+116|0;A=o+112|0;y=o+108|0;I=o+104|0;N=o+100|0;F=o+96|0;H=o+92|0;J=o+88|0;P=o+84|0;C=o+80|0;O=o+76|0;B=o+72|0;ua=o+68|0;xa=o+64|0;ya=o+60|0;za=o+56|0;pb=o+52|0;qb=o+48|0;nb=o+44|0;ob=o+40|0;rb=o+8|0;sb=o;c[q>>2]=f;c[Ib>>2]=g;c[cb>>2]=h;c[Gb>>2]=j;c[Fb>>2]=k;c[m>>2]=0;c[n>>2]=0;c[na>>2]=0;c[l>>2]=c[c[q>>2]>>2];c[p>>2]=dp(c[q>>2]|0)|0;if(!(c[p>>2]|0)){i=o;return}Mt(c[p>>2]|0);c[(c[q>>2]|0)+72>>2]=2;c[r>>2]=Er(c[q>>2]|0,c[Ib>>2]|0,c[cb>>2]|0,Hb)|0;if((c[r>>2]|0)<0){i=o;return}c[bb>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[r>>2]<<4);if((c[r>>2]|0)==1?(rp(c[q>>2]|0)|0)!=0:0){i=o;return}c[m>>2]=Zo(c[l>>2]|0,c[Hb>>2]|0)|0;if(!(c[m>>2]|0)){i=o;return}g=c[l>>2]|0;Gb=c[Gb>>2]|0;if(c[Fb>>2]|0){c[t>>2]=Gb;c[n>>2]=Te(g,20296,t)|0}else c[n>>2]=Zo(g,Gb)|0;if((c[(c[cb>>2]|0)+4>>2]|0)>>>0>0)Fb=c[c[bb>>2]>>2]|0;else Fb=0;c[na>>2]=Fb;a:do if(!(ap(c[q>>2]|0,19,c[m>>2]|0,c[n>>2]|0,c[na>>2]|0)|0)){c[Eb>>2]=0;c[Eb+4>>2]=c[m>>2];c[Eb+8>>2]=c[n>>2];c[Eb+12>>2]=0;c[(c[l>>2]|0)+452>>2]=0;c[gb>>2]=gg(c[l>>2]|0,c[na>>2]|0,14,Eb)|0;if(!(c[gb>>2]|0)){if(!(c[Eb>>2]|0))break;k=(c[q>>2]|0)+72|0;h=(c[k>>2]|0)+1|0;c[k>>2]=h;c[Db>>2]=h;hp(c[p>>2]|0,97,0,c[Db>>2]|0,0,c[Eb>>2]|0,0)|0;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,20304,0)|0;fp(c[p>>2]|0,35,c[Db>>2]|0,1)|0;hc(c[Eb>>2]|0);break}if((c[gb>>2]|0)!=12){if(c[Eb>>2]|0){h=c[q>>2]|0;c[t>>2]=c[Eb>>2];Se(h,1200,t);hc(c[Eb>>2]|0)}h=(c[q>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[q>>2]|0)+12>>2]=c[gb>>2];break}c[ib>>2]=0;c[hb>>2]=54;while(1){if((c[ib>>2]|0)>(c[hb>>2]|0))break;c[tb>>2]=((c[ib>>2]|0)+(c[hb>>2]|0)|0)/2|0;c[gb>>2]=xc(c[m>>2]|0,c[20312+((c[tb>>2]|0)*12|0)>>2]|0)|0;if(!(c[gb>>2]|0))break;Db=c[tb>>2]|0;if((c[gb>>2]|0)<0){c[hb>>2]=Db-1;continue}else{c[ib>>2]=Db+1;continue}}if((c[ib>>2]|0)<=(c[hb>>2]|0)){if((d[20317+((c[tb>>2]|0)*12|0)>>0]&1|0)!=0?(Ar(c[q>>2]|0)|0)!=0:0)break;do switch(d[20316+((c[tb>>2]|0)*12|0)>>0]|0){case 25:{c[eb>>2]=c[(c[bb>>2]|0)+4>>2];c[Aa>>2]=-1;if(c[n>>2]|0)c[Aa>>2]=(qg(c[n>>2]|0,0)|0)&255;b:do if((c[Aa>>2]|0)>=0?(c[(c[cb>>2]|0)+4>>2]|0)==0:0){c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break b;wt(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[fb>>2]<<4)+4>>2]|0,c[Aa>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}while(0);c[Aa>>2]=wt(c[eb>>2]|0,c[Aa>>2]|0)|0;h=c[Aa>>2]|0;Pt(c[q>>2]|0,21048,h,((h|0)<0)<<31>>31);break a};case 24:{c[ab>>2]=c[(c[bb>>2]|0)+4>>2];if(c[n>>2]|0){h=zg(c[n>>2]|0)|0;c[(c[l>>2]|0)+72>>2]=h;if(7!=(kg(c[ab>>2]|0,c[(c[l>>2]|0)+72>>2]|0,-1,0)|0))break a;a[(c[l>>2]|0)+64>>0]=1;break a}if(c[ab>>2]|0)p=Uc(c[ab>>2]|0)|0;else p=0;c[va>>2]=p;h=c[va>>2]|0;Pt(c[q>>2]|0,21032,h,((h|0)<0)<<31>>31);break a};case 23:{h=_a;c[h>>2]=0;c[h+4>>2]=0;c[gb>>2]=0;if(!(c[gb>>2]|0)){h=_a;Pt(c[q>>2]|0,21184,c[h>>2]|0,c[h+4>>2]|0);break a}if((c[gb>>2]|0)==12)break a;h=(c[q>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[q>>2]|0)+12>>2]=c[gb>>2];break a};case 18:{Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21104,0)|0;if(c[n>>2]|0){c[Wa>>2]=Mb(c[n>>2]|0)|0;c[Ya>>2]=0;while(1){h=Rt(c[Ya>>2]|0)|0;c[Xa>>2]=h;if(!h)break;if(!(Lb(c[n>>2]|0,c[Xa>>2]|0,c[Wa>>2]|0)|0))break;c[Ya>>2]=(c[Ya>>2]|0)+1}if(!(c[Xa>>2]|0))c[Ya>>2]=-1}else c[Ya>>2]=-1;if((c[Ya>>2]|0)==-1?(c[(c[cb>>2]|0)+4>>2]|0)==0:0){c[r>>2]=0;c[(c[cb>>2]|0)+4>>2]=1}c[Za>>2]=(c[(c[l>>2]|0)+20>>2]|0)-1;while(1){if((c[Za>>2]|0)<0)break;do if(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Za>>2]<<4)+4>>2]|0){if((c[Za>>2]|0)!=(c[r>>2]|0)?(c[(c[cb>>2]|0)+4>>2]|0)!=0:0)break;Ze(c[p>>2]|0,c[Za>>2]|0);ip(c[p>>2]|0,12,c[Za>>2]|0,1,c[Ya>>2]|0)|0}while(0);c[Za>>2]=(c[Za>>2]|0)+ -1}fp(c[p>>2]|0,35,1,1)|0;break a};case 30:{if(!(c[n>>2]|0))break a;c[qa>>2]=sp(c[l>>2]|0,c[n>>2]|0,c[na>>2]|0)|0;if(!(c[qa>>2]|0))break a;c[ta>>2]=0;c[oa>>2]=Zr(c[qa>>2]|0)|0;Nt(c[p>>2]|0,6);c[(c[q>>2]|0)+72>>2]=6;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21344,0)|0;Ot(c[p>>2]|0,1,0,21352,0)|0;Ot(c[p>>2]|0,2,0,21360,0)|0;Ot(c[p>>2]|0,3,0,21368,0)|0;Ot(c[p>>2]|0,4,0,21376,0)|0;Ot(c[p>>2]|0,5,0,21392,0)|0;Qp(c[q>>2]|0,c[qa>>2]|0)|0;c[sa>>2]=0;c[ra>>2]=c[(c[qa>>2]|0)+4>>2];while(1){if((c[sa>>2]|0)>=(b[(c[qa>>2]|0)+38>>1]|0))break a;if(d[(c[ra>>2]|0)+23>>0]&2)c[ta>>2]=(c[ta>>2]|0)+1;else{fp(c[p>>2]|0,25,(c[sa>>2]|0)-(c[ta>>2]|0)|0,1)|0;hp(c[p>>2]|0,97,0,2,0,c[c[ra>>2]>>2]|0,0)|0;if(c[(c[ra>>2]|0)+12>>2]|0)q=c[(c[ra>>2]|0)+12>>2]|0;else q=1216;hp(c[p>>2]|0,97,0,3,0,q,0)|0;fp(c[p>>2]|0,25,(d[(c[ra>>2]|0)+20>>0]|0)!=0?1:0,4)|0;q=c[p>>2]|0;if(c[(c[ra>>2]|0)+8>>2]|0)hp(q,97,0,5,0,c[(c[ra>>2]|0)+8>>2]|0,0)|0;else fp(q,28,0,5)|0;c:do if(!(d[(c[ra>>2]|0)+23>>0]&1))c[pa>>2]=0;else{h=(c[oa>>2]|0)==0;c[pa>>2]=1;if(h)break;while(1){if((c[pa>>2]|0)>(b[(c[qa>>2]|0)+38>>1]|0))break c;if((b[(c[(c[oa>>2]|0)+4>>2]|0)+((c[pa>>2]|0)-1<<1)>>1]|0)==(c[sa>>2]|0))break c;c[pa>>2]=(c[pa>>2]|0)+1}}while(0);fp(c[p>>2]|0,25,c[pa>>2]|0,6)|0;fp(c[p>>2]|0,35,1,6)|0}c[sa>>2]=(c[sa>>2]|0)+1;c[ra>>2]=(c[ra>>2]|0)+24}};case 29:{if(!(c[n>>2]|0)){h=(d[(c[bb>>2]|0)+8>>0]|0)-1|0;Pt(c[q>>2]|0,21272,h,((h|0)<0)<<31>>31);break a}if(a[(c[l>>2]|0)+62>>0]|0){h=((yg(c[n>>2]|0,0,1)|0)&255)+1&255;a[(c[bb>>2]|0)+8>>0]=h;Yt(c[l>>2]|0);break a}else{Se(c[q>>2]|0,21288,t);break a}};case 10:{Ze(c[p>>2]|0,c[r>>2]|0);if(c[n>>2]|0){c[Oa>>2]=ds(zg(c[n>>2]|0)|0)|0;pp(c[q>>2]|0,0,c[r>>2]|0);fp(c[p>>2]|0,25,c[Oa>>2]|0,1)|0;ip(c[p>>2]|0,52,c[r>>2]|0,3,1)|0;c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]=c[Oa>>2];es(c[(c[bb>>2]|0)+4>>2]|0,c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21016,0)|0;h=(c[q>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+2;c[Na>>2]=Ye(c[p>>2]|0,9,20976,0)|0;_e(c[p>>2]|0,c[Na>>2]|0,c[r>>2]|0);_e(c[p>>2]|0,(c[Na>>2]|0)+1|0,c[r>>2]|0);_e(c[p>>2]|0,(c[Na>>2]|0)+6|0,2e3);break a}};case 14:{if(!((c[n>>2]|0)!=0?(h=(Ag(c[n>>2]|0,Ma)|0)==0,!(h|(c[Ma>>2]|0)<=0)):0))c[Ma>>2]=2147483647;pp(c[q>>2]|0,0,c[r>>2]|0);fp(c[p>>2]|0,25,c[Ma>>2]|0,1)|0;c[La>>2]=Ir(c[p>>2]|0,141,c[r>>2]|0)|0;Ir(c[p>>2]|0,35,1)|0;fp(c[p>>2]|0,37,1,-1)|0;fp(c[p>>2]|0,137,1,c[La>>2]|0)|0;zp(c[p>>2]|0,c[La>>2]|0);break a};case 4:if(c[n>>2]|0){c[Ka>>2]=zg(c[n>>2]|0)|0;c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]=c[Ka>>2];es(c[(c[bb>>2]|0)+4>>2]|0,c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{h=c[(c[(c[bb>>2]|0)+12>>2]|0)+80>>2]|0;Pt(c[q>>2]|0,21016,h,((h|0)<0)<<31>>31);break a};case 9:{Nt(c[p>>2]|0,3);c[(c[q>>2]|0)+72>>2]=3;Ot(c[p>>2]|0,0,0,21432,0)|0;Ot(c[p>>2]|0,1,0,21352,0)|0;Ot(c[p>>2]|0,2,0,21448,0)|0;c[Ja>>2]=0;while(1){if((c[Ja>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break a;if(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Ja>>2]<<4)+4>>2]|0){fp(c[p>>2]|0,25,c[Ja>>2]|0,1)|0;hp(c[p>>2]|0,97,0,2,0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Ja>>2]<<4)>>2]|0,0)|0;h=c[p>>2]|0;hp(h,97,0,3,0,sg(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Ja>>2]<<4)+4>>2]|0)|0,0)|0;fp(c[p>>2]|0,35,1,3)|0}c[Ja>>2]=(c[Ja>>2]|0)+1}};case 13:{if(!(c[n>>2]|0))break a;c[Va>>2]=sp(c[l>>2]|0,c[n>>2]|0,c[na>>2]|0)|0;if(!(c[Va>>2]|0))break a;c[p>>2]=dp(c[q>>2]|0)|0;c[Ha>>2]=c[(c[Va>>2]|0)+16>>2];if(!(c[Ha>>2]|0))break a;c[Pa>>2]=0;Nt(c[p>>2]|0,8);c[(c[q>>2]|0)+72>>2]=8;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21456,0)|0;Ot(c[p>>2]|0,1,0,21432,0)|0;Ot(c[p>>2]|0,2,0,21400,0)|0;Ot(c[p>>2]|0,3,0,21464,0)|0;Ot(c[p>>2]|0,4,0,21472,0)|0;Ot(c[p>>2]|0,5,0,21480,0)|0;Ot(c[p>>2]|0,6,0,21496,0)|0;Ot(c[p>>2]|0,7,0,21512,0)|0;while(1){if(!(c[Ha>>2]|0))break a;c[Ia>>2]=0;while(1){if((c[Ia>>2]|0)>=(c[(c[Ha>>2]|0)+20>>2]|0))break;c[db>>2]=c[(c[Ha>>2]|0)+36+(c[Ia>>2]<<3)+4>>2];c[Ta>>2]=_t(a[(c[Ha>>2]|0)+25>>0]|0)|0;c[Ua>>2]=_t(a[(c[Ha>>2]|0)+26>>0]|0)|0;fp(c[p>>2]|0,25,c[Pa>>2]|0,1)|0;fp(c[p>>2]|0,25,c[Ia>>2]|0,2)|0;hp(c[p>>2]|0,97,0,3,0,c[(c[Ha>>2]|0)+8>>2]|0,0)|0;hp(c[p>>2]|0,97,0,4,0,c[(c[(c[Va>>2]|0)+4>>2]|0)+((c[(c[Ha>>2]|0)+36+(c[Ia>>2]<<3)>>2]|0)*24|0)>>2]|0,0)|0;hp(c[p>>2]|0,(c[db>>2]|0)!=0?97:28,0,5,0,c[db>>2]|0,0)|0;hp(c[p>>2]|0,97,0,6,0,c[Ua>>2]|0,0)|0;hp(c[p>>2]|0,97,0,7,0,c[Ta>>2]|0,0)|0;hp(c[p>>2]|0,97,0,8,0,21520,0)|0;fp(c[p>>2]|0,35,1,8)|0;c[Ia>>2]=(c[Ia>>2]|0)+1}c[Pa>>2]=(c[Pa>>2]|0)+1;c[Ha>>2]=c[(c[Ha>>2]|0)+4>>2]}};case 6:{c[kb>>2]=0;Nt(c[p>>2]|0,2);c[(c[q>>2]|0)+72>>2]=2;Ot(c[p>>2]|0,0,0,21432,0)|0;Ot(c[p>>2]|0,1,0,21352,0)|0;c[$a>>2]=c[(c[l>>2]|0)+436>>2];while(1){if(!(c[$a>>2]|0))break a;c[jb>>2]=c[(c[$a>>2]|0)+8>>2];k=c[p>>2]|0;h=c[kb>>2]|0;c[kb>>2]=h+1;fp(k,25,h,1)|0;hp(c[p>>2]|0,97,0,2,0,c[c[jb>>2]>>2]|0,0)|0;fp(c[p>>2]|0,35,1,2)|0;c[$a>>2]=c[c[$a>>2]>>2]}};case 28:{c[p>>2]=dp(c[q>>2]|0)|0;Nt(c[p>>2]|0,4);c[(c[q>>2]|0)+72>>2]=4;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21400,0)|0;Ot(c[p>>2]|0,1,0,10168,0)|0;Ot(c[p>>2]|0,2,0,21408,0)|0;Ot(c[p>>2]|0,3,0,21416,0)|0;c[lb>>2]=c[(c[(c[bb>>2]|0)+12>>2]|0)+16>>2];while(1){if(!(c[lb>>2]|0))break a;c[mb>>2]=c[(c[lb>>2]|0)+8>>2];hp(c[p>>2]|0,97,0,1,0,c[c[mb>>2]>>2]|0,0)|0;fp(c[p>>2]|0,28,0,2)|0;h=c[p>>2]|0;k=Zt(b[(c[mb>>2]|0)+42>>1]|0)|0;fp(h,25,k,3)|0;k=c[p>>2]|0;h=Zt(b[(c[mb>>2]|0)+28>>1]|0)|0;fp(k,25,h,4)|0;fp(c[p>>2]|0,35,1,4)|0;c[ub>>2]=c[(c[mb>>2]|0)+8>>2];while(1){if(!(c[ub>>2]|0))break;hp(c[p>>2]|0,97,0,2,0,c[c[ub>>2]>>2]|0,0)|0;h=c[p>>2]|0;k=Zt(b[(c[ub>>2]|0)+48>>1]|0)|0;fp(h,25,k,3)|0;k=c[p>>2]|0;h=Zt(b[c[(c[ub>>2]|0)+8>>2]>>1]|0)|0;fp(k,25,h,4)|0;fp(c[p>>2]|0,35,1,4)|0;c[ub>>2]=c[(c[ub>>2]|0)+20>>2]}c[lb>>2]=c[c[lb>>2]>>2]}};case 19:{c[Ca>>2]=Sb(c[(c[bb>>2]|0)+4>>2]|0)|0;h=Ba;c[h>>2]=-2;c[h+4>>2]=-1;if((c[n>>2]|0)!=0?(rg(c[n>>2]|0,Ba)|0,h=Ba,k=c[h+4>>2]|0,(k|0)<-1|(k|0)==-1&(c[h>>2]|0)>>>0<4294967295):0){h=Ba;c[h>>2]=-1;c[h+4>>2]=-1}k=Ba;k=St(c[Ca>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;h=Ba;c[h>>2]=k;c[h+4>>2]=D;h=Ba;Pt(c[q>>2]|0,21120,c[h>>2]|0,c[h+4>>2]|0);break a};case 21:{c[Da>>2]=21064;c[Ea>>2]=Qt(c[n>>2]|0)|0;if((c[Ea>>2]|0)==-1?(c[(c[cb>>2]|0)+4>>2]|0)==0:0)c[Ea>>2]=d[(c[l>>2]|0)+65>>0];else{if(!(c[(c[cb>>2]|0)+4>>2]|0)){c[Ga>>2]=2;while(1){if((c[Ga>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break;c[Fa>>2]=Sb(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[Ga>>2]<<4)+4>>2]|0)|0;vt(c[Fa>>2]|0,c[Ea>>2]|0)|0;c[Ga>>2]=(c[Ga>>2]|0)+1}a[(c[l>>2]|0)+65>>0]=c[Ea>>2]}c[Fa>>2]=Sb(c[(c[bb>>2]|0)+4>>2]|0)|0;c[Ea>>2]=vt(c[Fa>>2]|0,c[Ea>>2]|0)|0}if((c[Ea>>2]|0)==1)c[Da>>2]=21072;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21088,0)|0;hp(c[p>>2]|0,97,0,1,0,c[Da>>2]|0,0)|0;fp(c[p>>2]|0,35,1,1)|0;break a};case 22:{qp(c[q>>2]|0,c[r>>2]|0);s=(c[q>>2]|0)+72|0;q=(c[s>>2]|0)+1|0;c[s>>2]=q;c[la>>2]=q;q=c[p>>2]|0;r=c[r>>2]|0;s=c[la>>2]|0;if((d[440+(d[c[m>>2]>>0]|0)>>0]|0)==112)fp(q,151,r,s)|0;else ip(q,152,r,s,ds(zg(c[n>>2]|0)|0)|0)|0;fp(c[p>>2]|0,35,c[la>>2]|0,1)|0;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,c[m>>2]|0,-1)|0;break a};case 1:{c[Qa>>2]=c[(c[bb>>2]|0)+4>>2];if(!(c[n>>2]|0)){k=c[q>>2]|0;h=Tt(c[Qa>>2]|0)|0;Pt(k,21144,h,((h|0)<0)<<31>>31);break a}c[Sa>>2]=Ut(c[n>>2]|0)|0;a[(c[l>>2]|0)+66>>0]=c[Sa>>2];c[gb>>2]=Vt(c[Qa>>2]|0,c[Sa>>2]|0)|0;if(c[gb>>2]|0)break a;if(!((c[Sa>>2]|0)==1|(c[Sa>>2]|0)==2))break a;c[Ra>>2]=Ye(c[p>>2]|0,6,21160,0)|0;_e(c[p>>2]|0,c[Ra>>2]|0,c[r>>2]|0);_e(c[p>>2]|0,(c[Ra>>2]|0)+1|0,c[r>>2]|0);$e(c[p>>2]|0,(c[Ra>>2]|0)+2|0,(c[Ra>>2]|0)+4|0);_e(c[p>>2]|0,(c[Ra>>2]|0)+4|0,(c[Sa>>2]|0)-1|0);_e(c[p>>2]|0,(c[Ra>>2]|0)+5|0,c[r>>2]|0);Ze(c[p>>2]|0,c[r>>2]|0);break a};case 12:{c[ba>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;h=(c[q>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+4;h=(c[q>>2]|0)+72|0;k=(c[h>>2]|0)+1|0;c[h>>2]=k;c[ma>>2]=k;k=(c[q>>2]|0)+72|0;h=(c[k>>2]|0)+1|0;c[k>>2]=h;c[aa>>2]=h;c[p>>2]=dp(c[q>>2]|0)|0;Nt(c[p>>2]|0,4);Ot(c[p>>2]|0,0,0,21400,0)|0;Ot(c[p>>2]|0,1,0,9992,0)|0;Ot(c[p>>2]|0,2,0,21528,0)|0;Ot(c[p>>2]|0,3,0,21536,0)|0;qp(c[q>>2]|0,c[r>>2]|0);c[$>>2]=c[(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]|0)+16>>2];while(1){if(!(c[$>>2]|0))break a;if(c[n>>2]|0){c[ja>>2]=Re(c[q>>2]|0,0,c[n>>2]|0,c[na>>2]|0)|0;c[$>>2]=0}else{c[ja>>2]=c[(c[$>>2]|0)+8>>2];c[$>>2]=c[c[$>>2]>>2]}if(!(c[ja>>2]|0))continue;if(!(c[(c[ja>>2]|0)+16>>2]|0))continue;Jr(c[q>>2]|0,c[r>>2]|0,c[(c[ja>>2]|0)+32>>2]|0,0,c[c[ja>>2]>>2]|0);if(((b[(c[ja>>2]|0)+38>>1]|0)+(c[aa>>2]|0)|0)>(c[(c[q>>2]|0)+72>>2]|0))c[(c[q>>2]|0)+72>>2]=(b[(c[ja>>2]|0)+38>>1]|0)+(c[aa>>2]|0);Kr(c[q>>2]|0,0,c[r>>2]|0,c[ja>>2]|0,54);hp(c[p>>2]|0,97,0,c[ba>>2]|0,0,c[c[ja>>2]>>2]|0,0)|0;c[ca>>2]=1;c[da>>2]=c[(c[ja>>2]|0)+16>>2];d:while(1){if(!(c[da>>2]|0))break;c[ea>>2]=sp(c[l>>2]|0,c[(c[da>>2]|0)+8>>2]|0,c[na>>2]|0)|0;do if(c[ea>>2]|0){c[fa>>2]=0;Jr(c[q>>2]|0,c[r>>2]|0,c[(c[ea>>2]|0)+32>>2]|0,0,c[c[ea>>2]>>2]|0);c[ga>>2]=$t(c[q>>2]|0,c[ea>>2]|0,c[da>>2]|0,fa,0)|0;if(c[ga>>2]|0){s=195;break d}if(!(c[fa>>2]|0)){Kr(c[q>>2]|0,c[ca>>2]|0,c[r>>2]|0,c[ea>>2]|0,54);break}else{ip(c[p>>2]|0,54,c[ca>>2]|0,c[(c[fa>>2]|0)+44>>2]|0,c[r>>2]|0)|0;Lr(c[q>>2]|0,c[fa>>2]|0);break}}while(0);c[ca>>2]=(c[ca>>2]|0)+1;c[da>>2]=c[(c[da>>2]|0)+4>>2]}if((s|0)==195){s=0;c[$>>2]=0}if(c[da>>2]|0)break a;if((c[(c[q>>2]|0)+68>>2]|0)<(c[ca>>2]|0))c[(c[q>>2]|0)+68>>2]=c[ca>>2];c[ha>>2]=Ir(c[p>>2]|0,108,0)|0;c[ca>>2]=1;c[da>>2]=c[(c[ja>>2]|0)+16>>2];while(1){if(!(c[da>>2]|0))break;c[ea>>2]=sp(c[l>>2]|0,c[(c[da>>2]|0)+8>>2]|0,c[na>>2]|0)|0;c[fa>>2]=0;c[ia>>2]=0;if(c[ea>>2]|0)c[ga>>2]=$t(c[q>>2]|0,c[ea>>2]|0,c[da>>2]|0,fa,ia)|0;c[Z>>2]=Nr(c[p>>2]|0)|0;do if((c[ea>>2]|0)!=0&(c[fa>>2]|0)==0){c[ka>>2]=c[(c[da>>2]|0)+36>>2];t=c[p>>2]|0;if((c[ka>>2]|0)!=(b[(c[ja>>2]|0)+36>>1]|0)){ip(t,47,0,c[ka>>2]|0,c[aa>>2]|0)|0;Es(c[p>>2]|0,c[ja>>2]|0,c[ka>>2]|0,c[aa>>2]|0);fp(c[p>>2]|0,76,c[aa>>2]|0,c[Z>>2]|0)|0;k=c[p>>2]|0;h=c[aa>>2]|0;fp(k,38,h,(Mr(c[p>>2]|0)|0)+3|0)|0}else fp(t,103,0,c[aa>>2]|0)|0;ip(c[p>>2]|0,70,c[ca>>2]|0,0,c[aa>>2]|0)|0;fp(c[p>>2]|0,16,0,c[Z>>2]|0)|0;h=c[p>>2]|0;zp(h,(Mr(c[p>>2]|0)|0)-2|0)}else{c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[(c[da>>2]|0)+20>>2]|0))break;t=c[_>>2]|0;if(c[ia>>2]|0)t=c[(c[ia>>2]|0)+(t<<2)>>2]|0;else t=c[(c[da>>2]|0)+36+(t<<3)>>2]|0;zs(c[p>>2]|0,c[ja>>2]|0,0,t,(c[aa>>2]|0)+(c[_>>2]|0)|0);fp(c[p>>2]|0,76,(c[aa>>2]|0)+(c[_>>2]|0)|0,c[Z>>2]|0)|0;c[_>>2]=(c[_>>2]|0)+1}if(!(c[ea>>2]|0))break;Hb=c[p>>2]|0;Ib=c[aa>>2]|0;f=c[(c[da>>2]|0)+20>>2]|0;k=c[ma>>2]|0;h=au(c[p>>2]|0,c[fa>>2]|0)|0;hp(Hb,49,Ib,f,k,h,c[(c[da>>2]|0)+20>>2]|0)|0;We(c[p>>2]|0,69,c[ca>>2]|0,c[Z>>2]|0,c[ma>>2]|0,0)|0}while(0);fp(c[p>>2]|0,103,0,(c[ba>>2]|0)+1|0)|0;hp(c[p>>2]|0,97,0,(c[ba>>2]|0)+2|0,0,c[(c[da>>2]|0)+8>>2]|0,0)|0;fp(c[p>>2]|0,25,(c[ca>>2]|0)-1|0,(c[ba>>2]|0)+3|0)|0;fp(c[p>>2]|0,35,c[ba>>2]|0,4)|0;Pr(c[p>>2]|0,c[Z>>2]|0);Xb(c[l>>2]|0,c[ia>>2]|0);c[ca>>2]=(c[ca>>2]|0)+1;c[da>>2]=c[(c[da>>2]|0)+4>>2]}fp(c[p>>2]|0,9,0,(c[ha>>2]|0)+1|0)|0;zp(c[p>>2]|0,c[ha>>2]|0)}};case 17:{c[w>>2]=(d[440+(d[c[m>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[cb>>2]>>2]|0))c[r>>2]=-1;c[(c[q>>2]|0)+72>>2]=6;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21560,0)|0;c[X>>2]=100;if((c[n>>2]|0)!=0?(Ag(c[n>>2]|0,X)|0,(c[X>>2]|0)<=0):0)c[X>>2]=100;fp(c[p>>2]|0,25,c[X>>2]|0,1)|0;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break;c[W>>2]=0;if(!((c[r>>2]|0)>=0?(c[V>>2]|0)!=(c[r>>2]|0):0))s=230;e:do if((s|0)==230){s=0;qp(c[q>>2]|0,c[V>>2]|0);c[Y>>2]=Ir(c[p>>2]|0,137,1)|0;fp(c[p>>2]|0,24,0,0)|0;zp(c[p>>2]|0,c[Y>>2]|0);c[u>>2]=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[V>>2]<<4)+12>>2]|0)+8;c[x>>2]=c[(c[u>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;c[U>>2]=c[(c[x>>2]|0)+8>>2];if(!(d[(c[U>>2]|0)+44>>0]&32)){fp(c[p>>2]|0,25,c[(c[U>>2]|0)+32>>2]|0,2+(c[W>>2]|0)|0)|0;c[W>>2]=(c[W>>2]|0)+1}c[v>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;fp(c[p>>2]|0,25,c[(c[v>>2]|0)+44>>2]|0,2+(c[W>>2]|0)|0)|0;c[W>>2]=(c[W>>2]|0)+1;c[v>>2]=c[(c[v>>2]|0)+20>>2]}c[x>>2]=c[c[x>>2]>>2]}if((c[(c[q>>2]|0)+72>>2]|0)>((c[W>>2]|0)+8|0))Z=c[(c[q>>2]|0)+72>>2]|0;else Z=(c[W>>2]|0)+8|0;c[(c[q>>2]|0)+72>>2]=Z;ip(c[p>>2]|0,127,2,c[W>>2]|0,1)|0;Xe(c[p>>2]|0,c[V>>2]&255);c[Y>>2]=Ir(c[p>>2]|0,76,2)|0;k=c[p>>2]|0;h=c[l>>2]|0;c[t>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[V>>2]<<4)>>2];hp(k,97,0,3,0,Te(h,21576,t)|0,-1)|0;ip(c[p>>2]|0,32,2,4,1)|0;ip(c[p>>2]|0,94,4,3,2)|0;fp(c[p>>2]|0,35,2,1)|0;zp(c[p>>2]|0,c[Y>>2]|0);c[x>>2]=c[(c[u>>2]|0)+8>>2];while(1){if((c[x>>2]|0)==0|(c[w>>2]|0)!=0)break e;c[R>>2]=c[(c[x>>2]|0)+8>>2];c[M>>2]=0;c[L>>2]=-1;f:do if(c[(c[R>>2]|0)+8>>2]|0){if(!(d[(c[R>>2]|0)+44>>0]&32))Z=0;else Z=Zr(c[R>>2]|0)|0;c[E>>2]=Z;c[Y>>2]=Ir(c[p>>2]|0,137,1)|0;fp(c[p>>2]|0,24,0,0)|0;zp(c[p>>2]|0,c[Y>>2]|0);cu(c[q>>2]|0);du(c[q>>2]|0,c[R>>2]|0,54,1,0,G,K)|0;fp(c[p>>2]|0,25,0,7)|0;c[S>>2]=0;c[Q>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break;fp(c[p>>2]|0,25,0,8+(c[S>>2]|0)|0)|0;c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[S>>2]=(c[S>>2]|0)+1}if((c[(c[q>>2]|0)+72>>2]|0)>(8+(c[S>>2]|0)|0))Z=c[(c[q>>2]|0)+72>>2]|0;else Z=8+(c[S>>2]|0)|0;c[(c[q>>2]|0)+72>>2]=Z;fp(c[p>>2]|0,108,c[G>>2]|0,0)|0;c[T>>2]=fp(c[p>>2]|0,37,7,1)|0;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(b[(c[R>>2]|0)+38>>1]|0))break;do if((c[S>>2]|0)!=(b[(c[R>>2]|0)+36>>1]|0)){if(!(d[(c[(c[R>>2]|0)+4>>2]|0)+((c[S>>2]|0)*24|0)+20>>0]|0))break;zs(c[p>>2]|0,c[R>>2]|0,c[G>>2]|0,c[S>>2]|0,3);Xe(c[p>>2]|0,-128);c[A>>2]=Ir(c[p>>2]|0,77,3)|0;fp(c[p>>2]|0,37,1,-1)|0;h=c[l>>2]|0;k=c[(c[(c[R>>2]|0)+4>>2]|0)+((c[S>>2]|0)*24|0)>>2]|0;c[t>>2]=c[c[R>>2]>>2];c[t+4>>2]=k;c[z>>2]=Te(h,21600,t)|0;hp(c[p>>2]|0,97,0,3,0,c[z>>2]|0,-1)|0;fp(c[p>>2]|0,35,3,1)|0;c[y>>2]=Ir(c[p>>2]|0,137,1)|0;mp(c[p>>2]|0,24)|0;zp(c[p>>2]|0,c[A>>2]|0);zp(c[p>>2]|0,c[y>>2]|0)}while(0);c[S>>2]=(c[S>>2]|0)+1}c[S>>2]=0;c[Q>>2]=c[(c[R>>2]|0)+8>>2];while(1){Z=c[p>>2]|0;if(!(c[Q>>2]|0))break;c[J>>2]=Nr(Z)|0;if((c[E>>2]|0)!=(c[Q>>2]|0)){c[L>>2]=ps(c[q>>2]|0,c[Q>>2]|0,c[G>>2]|0,0,0,N,c[M>>2]|0,c[L>>2]|0)|0;c[M>>2]=c[Q>>2];fp(c[p>>2]|0,37,8+(c[S>>2]|0)|0,1)|0;c[I>>2]=We(c[p>>2]|0,69,(c[K>>2]|0)+(c[S>>2]|0)|0,c[J>>2]|0,c[L>>2]|0,e[(c[Q>>2]|0)+52>>1]|0)|0;fp(c[p>>2]|0,37,1,-1)|0;hp(c[p>>2]|0,97,0,3,0,21624,-2)|0;ip(c[p>>2]|0,94,7,3,3)|0;hp(c[p>>2]|0,97,0,4,0,21632,-2)|0;ip(c[p>>2]|0,94,4,3,3)|0;c[H>>2]=hp(c[p>>2]|0,97,0,4,0,c[c[Q>>2]>>2]|0,0)|0;ip(c[p>>2]|0,94,4,3,3)|0;fp(c[p>>2]|0,35,3,1)|0;c[F>>2]=Ir(c[p>>2]|0,137,1)|0;mp(c[p>>2]|0,24)|0;zp(c[p>>2]|0,c[I>>2]|0);if(d[(c[Q>>2]|0)+54>>0]|0){c[P>>2]=Nr(c[p>>2]|0)|0;c[O>>2]=0;while(1){if((c[O>>2]|0)>=(e[(c[Q>>2]|0)+50>>1]|0))break;c[B>>2]=b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1];if(!(a[(c[(c[R>>2]|0)+4>>2]|0)+((c[B>>2]|0)*24|0)+20>>0]|0))fp(c[p>>2]|0,76,(c[L>>2]|0)+(c[O>>2]|0)|0,c[P>>2]|0)|0;c[O>>2]=(c[O>>2]|0)+1}c[C>>2]=Ir(c[p>>2]|0,9,(c[K>>2]|0)+(c[S>>2]|0)|0)|0;fp(c[p>>2]|0,16,0,c[P>>2]|0)|0;zp(c[p>>2]|0,c[C>>2]|0);We(c[p>>2]|0,114,(c[K>>2]|0)+(c[S>>2]|0)|0,c[P>>2]|0,c[L>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;fp(c[p>>2]|0,37,1,-1)|0;hp(c[p>>2]|0,97,0,3,0,21656,-2)|0;fp(c[p>>2]|0,16,0,c[H>>2]|0)|0;Pr(c[p>>2]|0,c[P>>2]|0)}zp(c[p>>2]|0,c[F>>2]|0);qs(c[q>>2]|0,c[N>>2]|0)}c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[S>>2]=(c[S>>2]|0)+1}fp(Z,9,c[G>>2]|0,c[T>>2]|0)|0;zp(c[p>>2]|0,(c[T>>2]|0)-1|0);hp(c[p>>2]|0,97,0,2,0,21688,-2)|0;c[S>>2]=0;c[Q>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break f;if((c[E>>2]|0)!=(c[Q>>2]|0)){c[Y>>2]=Mr(c[p>>2]|0)|0;fp(c[p>>2]|0,137,1,(c[Y>>2]|0)+2|0)|0;fp(c[p>>2]|0,24,0,0)|0;fp(c[p>>2]|0,50,(c[K>>2]|0)+(c[S>>2]|0)|0,3)|0;ip(c[p>>2]|0,79,8+(c[S>>2]|0)|0,(c[Y>>2]|0)+8|0,3)|0;Xe(c[p>>2]|0,-112);fp(c[p>>2]|0,37,1,-1)|0;hp(c[p>>2]|0,97,0,3,0,c[c[Q>>2]>>2]|0,0)|0;ip(c[p>>2]|0,94,3,2,7)|0;fp(c[p>>2]|0,35,7,1)|0}c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[S>>2]=(c[S>>2]|0)+1}}while(0);c[x>>2]=c[c[x>>2]>>2]}}while(0);c[V>>2]=(c[V>>2]|0)+1}c[Y>>2]=Ye(c[p>>2]|0,3,21544,0)|0;af(c[p>>2]|0,c[Y>>2]|0,0-(c[X>>2]|0)|0);zp(c[p>>2]|0,c[Y>>2]|0);bf(c[p>>2]|0,(c[Y>>2]|0)+1|0,21720,-2);break a};case 5:{if(!(c[n>>2]|0))break a;h=c[l>>2]|0;bu(h,(qg(c[n>>2]|0,0)|0)&255);break a};case 11:{if(!(c[n>>2]|0)){if(Ar(c[q>>2]|0)|0)break a;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21880,0)|0;fp(c[p>>2]|0,97,0,1)|0;bf(c[p>>2]|0,-1,c[21728+(d[(c[(c[(c[c[q>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]<<3)>>2]|0,-2);fp(c[p>>2]|0,35,1,1)|0;break a}if((e[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[ua>>2]=21728;while(1){if(!(c[c[ua>>2]>>2]|0))break;h=0==(xc(c[n>>2]|0,c[c[ua>>2]>>2]|0)|0);p=c[ua>>2]|0;if(h){s=286;break}c[ua>>2]=p+8}if((s|0)==286){if(d[p+4>>0]|0)p=d[(c[ua>>2]|0)+4>>0]|0;else p=(a[1136]|0)==0?3:2;a[(c[(c[(c[c[q>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=p}if(c[c[ua>>2]>>2]|0)break a;h=c[q>>2]|0;c[t>>2]=c[n>>2];Se(h,21896,t);break a};case 0:{Ze(c[p>>2]|0,c[r>>2]|0);switch(a[c[m>>2]>>0]|0){case 65:case 97:{c[xa>>2]=8;break};case 70:case 102:{c[xa>>2]=0;break};case 83:case 115:{c[xa>>2]=1;break};default:c[xa>>2]=6}q=c[p>>2]|0;if((c[n>>2]|0)!=0&(c[xa>>2]|0)!=0){c[ya>>2]=Ye(q,3,21928,0)|0;_e(c[p>>2]|0,c[ya>>2]|0,c[r>>2]|0);k=c[p>>2]|0;h=(c[ya>>2]|0)+1|0;_e(k,h,zg(c[n>>2]|0)|0);_e(c[p>>2]|0,(c[ya>>2]|0)+2|0,c[r>>2]|0);$e(c[p>>2]|0,(c[ya>>2]|0)+2|0,c[xa>>2]|0);break a}else{c[za>>2]=Ye(q,3,21944,0)|0;_e(c[p>>2]|0,c[za>>2]|0,c[r>>2]|0);_e(c[p>>2]|0,(c[za>>2]|0)+1|0,c[r>>2]|0);af(c[p>>2]|0,(c[za>>2]|0)+1|0,c[xa>>2]|0);Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,c[m>>2]|0,-1)|0;break a}};case 35:{c[nb>>2]=(c[c[cb>>2]>>2]|0)!=0?c[r>>2]|0:10;c[ob>>2]=0;do if(c[n>>2]|0){if(!(xc(c[n>>2]|0,21976)|0)){c[ob>>2]=1;break}if(!(xc(c[n>>2]|0,21984)|0))c[ob>>2]=2}while(0);Nt(c[p>>2]|0,3);c[(c[q>>2]|0)+72>>2]=3;Ot(c[p>>2]|0,0,0,21992,0)|0;Ot(c[p>>2]|0,1,0,22e3,0)|0;Ot(c[p>>2]|0,2,0,22008,0)|0;ip(c[p>>2]|0,11,c[nb>>2]|0,c[ob>>2]|0,1)|0;fp(c[p>>2]|0,35,1,3)|0;break a};case 7:{c[pb>>2]=0;Nt(c[p>>2]|0,1);c[(c[q>>2]|0)+72>>2]=1;Ot(c[p>>2]|0,0,0,21960,0)|0;while(1){h=c[pb>>2]|0;c[pb>>2]=h+1;h=Ob(h)|0;c[qb>>2]=h;if(!h)break a;hp(c[p>>2]|0,97,0,1,0,c[qb>>2]|0,0)|0;fp(c[p>>2]|0,35,1,1)|0}};case 26:{Ef(c[l>>2]|0)|0;break a};case 34:{if(c[n>>2]|0){h=c[l>>2]|0;Uf(h,zg(c[n>>2]|0)|0)|0}if((c[(c[l>>2]|0)+212>>2]|0)==5)p=c[(c[l>>2]|0)+216>>2]|0;else p=0;Pt(c[q>>2]|0,22024,p,((p|0)<0)<<31>>31);break a};case 27:{if((c[n>>2]|0)!=0?(rg(c[n>>2]|0,rb)|0)==0:0){h=rb;cc(c[h>>2]|0,c[h+4>>2]|0)|0}k=c[q>>2]|0;h=cc(-1,-1)|0;Pt(k,22056,h,D);break a};case 33:{if((c[n>>2]|0)!=0?(f=(rg(c[n>>2]|0,sb)|0)==0,h=sb,k=c[h+4>>2]|0,f&((k|0)>0|(k|0)==0&(c[h>>2]|0)>>>0>=0)):0)bg(c[l>>2]|0,11,c[sb>>2]&2147483647)|0;k=c[q>>2]|0;h=bg(c[l>>2]|0,11,-1)|0;Pt(k,22072,h,((h|0)<0)<<31>>31);break a};case 31:{p=c[q>>2]|0;if(c[n>>2]|0){Wt(p,c[n>>2]|0)|0;break a}else{Pt(p,21200,d[(c[l>>2]|0)+63>>0]|0,0);break a}};case 2:{if(!(c[n>>2]|0)){h=(c[(c[l>>2]|0)+24>>2]&c[20320+((c[tb>>2]|0)*12|0)>>2]|0)!=0&1;Pt(c[q>>2]|0,c[20312+((c[tb>>2]|0)*12|0)>>2]|0,h,((h|0)<0)<<31>>31);break a}c[wa>>2]=c[20320+((c[tb>>2]|0)*12|0)>>2];if(!(d[(c[l>>2]|0)+62>>0]|0))c[wa>>2]=c[wa>>2]&-524289;h=(qg(c[n>>2]|0,0)|0)<<24>>24!=0;q=c[wa>>2]|0;if(!h){h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]&~q;if((c[wa>>2]|0)==16777216){h=(c[l>>2]|0)+512|0;c[h>>2]=0;c[h+4>>2]=0}}else{h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]|q}fp(c[p>>2]|0,142,0,0)|0;Yt(c[l>>2]|0);break a};case 32:{if(!(c[n>>2]|0)){if(!(c[392]|0))break a;Nt(c[p>>2]|0,1);Ot(c[p>>2]|0,0,0,21216,0)|0;hp(c[p>>2]|0,97,0,1,0,c[392]|0,0)|0;fp(c[p>>2]|0,35,1,1)|0;break a}if((a[c[n>>2]>>0]|0)!=0?(c[gb>>2]=vi(c[c[l>>2]>>2]|0,c[n>>2]|0,1,vb)|0,(c[gb>>2]|0)!=0|(c[vb>>2]|0)==0):0){Se(c[q>>2]|0,21240,t);break a}if((d[(c[l>>2]|0)+63>>0]|0)<=1)Xt(c[q>>2]|0)|0;hc(c[392]|0);if(a[c[n>>2]>>0]|0){c[t>>2]=c[n>>2];c[392]=qc(1200,t)|0;break a}else{c[392]=0;break a}};case 15:{if(!(c[n>>2]|0))break a;c[xb>>2]=Op(c[l>>2]|0,c[n>>2]|0,c[na>>2]|0)|0;if(!(c[xb>>2]|0))break a;c[zb>>2]=c[(c[xb>>2]|0)+12>>2];Nt(c[p>>2]|0,3);c[(c[q>>2]|0)+72>>2]=3;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21424,0)|0;Ot(c[p>>2]|0,1,0,21344,0)|0;Ot(c[p>>2]|0,2,0,21352,0)|0;c[wb>>2]=0;while(1){if((c[wb>>2]|0)>=(e[(c[xb>>2]|0)+50>>1]|0))break a;b[yb>>1]=b[(c[(c[xb>>2]|0)+4>>2]|0)+(c[wb>>2]<<1)>>1]|0;fp(c[p>>2]|0,25,c[wb>>2]|0,1)|0;fp(c[p>>2]|0,25,b[yb>>1]|0,2)|0;hp(c[p>>2]|0,97,0,3,0,c[(c[(c[zb>>2]|0)+4>>2]|0)+((b[yb>>1]|0)*24|0)>>2]|0,0)|0;fp(c[p>>2]|0,35,1,3)|0;c[wb>>2]=(c[wb>>2]|0)+1}};case 16:{if(!(c[n>>2]|0))break a;c[Ab>>2]=sp(c[l>>2]|0,c[n>>2]|0,c[na>>2]|0)|0;if(!(c[Ab>>2]|0))break a;c[p>>2]=dp(c[q>>2]|0)|0;Nt(c[p>>2]|0,3);c[(c[q>>2]|0)+72>>2]=3;qp(c[q>>2]|0,c[r>>2]|0);Ot(c[p>>2]|0,0,0,21432,0)|0;Ot(c[p>>2]|0,1,0,21352,0)|0;Ot(c[p>>2]|0,2,0,21440,0)|0;c[Bb>>2]=c[(c[Ab>>2]|0)+8>>2];c[Cb>>2]=0;while(1){if(!(c[Bb>>2]|0))break a;fp(c[p>>2]|0,25,c[Cb>>2]|0,1)|0;hp(c[p>>2]|0,97,0,2,0,c[c[Bb>>2]>>2]|0,0)|0;fp(c[p>>2]|0,25,(d[(c[Bb>>2]|0)+54>>0]|0)!=0&1,3)|0;fp(c[p>>2]|0,35,1,3)|0;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2];c[Cb>>2]=(c[Cb>>2]|0)+1}};default:{if(c[n>>2]|0){h=c[l>>2]|0;Of(h,zg(c[n>>2]|0)|0)|0}h=c[(c[l>>2]|0)+492>>2]|0;Pt(c[q>>2]|0,22048,h,((h|0)<0)<<31>>31);break a}}while(0)}}while(0);Xb(c[l>>2]|0,c[m>>2]|0);Xb(c[l>>2]|0,c[n>>2]|0);i=o;return}function Eo(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=i;i=i+112|0;r=j;f=j+100|0;h=j+96|0;g=j+92|0;o=j+88|0;n=j+84|0;p=j+80|0;u=j+56|0;l=j+48|0;v=j+40|0;s=j+36|0;q=j+32|0;k=j+28|0;m=j+24|0;t=j+20|0;c[f>>2]=b;c[h>>2]=d;c[g>>2]=e;c[o>>2]=c[(c[f>>2]|0)+488>>2];c[p>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+488>>2]=0;do if((c[o>>2]|0)!=0?(c[(c[f>>2]|0)+64>>2]|0)==0:0){c[n>>2]=c[c[o>>2]>>2];c[l>>2]=Ve(c[c[f>>2]>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=c[h>>2];while(1){e=c[o>>2]|0;if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+4>>2]=e;c[h>>2]=c[(c[h>>2]|0)+32>>2]}c[v>>2]=c[e>>2];c[v+4>>2]=Mb(c[v>>2]|0)|0;Gt(u,c[f>>2]|0,c[l>>2]|0,1488,v);if((Lt(u,c[(c[o>>2]|0)+28>>2]|0)|0)==0?(Jt(u,c[(c[o>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[p>>2]|0)+145>>0]|0)){c[s>>2]=dp(c[f>>2]|0)|0;if(!(c[s>>2]|0))break;pp(c[f>>2]|0,0,c[l>>2]|0);c[q>>2]=rm(c[p>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,0)|0;e=c[f>>2]|0;u=(c[l>>2]|0)==1?14904:14928;v=c[n>>2]|0;b=c[(c[o>>2]|0)+4>>2]|0;d=c[q>>2]|0;c[r>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[r+4>>2]=u;c[r+8>>2]=v;c[r+12>>2]=b;c[r+16>>2]=d;cp(e,20200,r);Xb(c[p>>2]|0,c[q>>2]|0);ep(c[f>>2]|0,c[l>>2]|0);e=c[s>>2]|0;d=c[l>>2]|0;b=c[p>>2]|0;c[r>>2]=c[n>>2];gp(e,d,Te(b,20264,r)|0)}if(a[(c[p>>2]|0)+145>>0]|0){c[k>>2]=c[o>>2];c[m>>2]=(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+40;c[o>>2]=gh(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[o>>2]|0){a[(c[p>>2]|0)+64>>0]=1;break}if((c[(c[k>>2]|0)+20>>2]|0)==(c[(c[k>>2]|0)+24>>2]|0)){c[t>>2]=bh((c[(c[k>>2]|0)+24>>2]|0)+8|0,c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=c[(c[t>>2]|0)+64>>2];c[(c[t>>2]|0)+64>>2]=c[k>>2]}}}}while(0);Ub(c[p>>2]|0,c[o>>2]|0);Bn(c[p>>2]|0,c[h>>2]|0);i=j;return}function Fo(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;o=i;i=i+128|0;y=o;s=o+116|0;L=o+112|0;J=o+108|0;H=o+104|0;B=o+100|0;q=o+96|0;p=o+92|0;r=o+88|0;G=o+84|0;x=o+80|0;v=o+76|0;A=o+72|0;u=o+68|0;w=o+64|0;t=o+60|0;F=o+56|0;I=o+32|0;C=o+24|0;E=o+20|0;D=o+16|0;z=o+12|0;c[s>>2]=b;c[L>>2]=e;c[J>>2]=f;c[H>>2]=g;c[B>>2]=h;c[q>>2]=j;c[p>>2]=k;c[r>>2]=l;c[G>>2]=m;c[x>>2]=n;c[v>>2]=0;c[u>>2]=0;c[w>>2]=c[c[s>>2]>>2];do if(c[G>>2]|0)if((c[(c[J>>2]|0)+4>>2]|0)>>>0<=0){c[t>>2]=1;c[F>>2]=c[L>>2];if(c[p>>2]|0){K=6;break}else break}else{Se(c[s>>2]|0,19856,y);break}else{c[t>>2]=Er(c[s>>2]|0,c[L>>2]|0,c[J>>2]|0,F)|0;if((c[t>>2]|0)>=0&(c[p>>2]|0)!=0)K=6}while(0);do if((K|0)==6?(d[(c[w>>2]|0)+64>>0]|0)==0:0){if((c[t>>2]|0)!=1?(d[(c[w>>2]|0)+145>>0]|0)!=0:0){Xb(c[w>>2]|0,c[(c[p>>2]|0)+12>>2]|0);c[(c[p>>2]|0)+12>>2]=0}c[A>>2]=Ft(c[s>>2]|0,c[p>>2]|0)|0;if(((d[(c[w>>2]|0)+145>>0]|0)==0?(c[A>>2]|0)!=0?(c[(c[J>>2]|0)+4>>2]|0)==0:0:0)?(c[(c[A>>2]|0)+68>>2]|0)==(c[(c[(c[w>>2]|0)+16>>2]|0)+28>>2]|0):0)c[t>>2]=1;if((a[(c[w>>2]|0)+64>>0]|0)==0?(Gt(I,c[s>>2]|0,c[t>>2]|0,1488,c[F>>2]|0),(Ht(I,c[p>>2]|0)|0)==0):0){c[A>>2]=Ft(c[s>>2]|0,c[p>>2]|0)|0;if(!(c[A>>2]|0)){if((d[(c[w>>2]|0)+144>>0]|0)!=1)break;a[(c[w>>2]|0)+146>>0]=1;break}if(d[(c[A>>2]|0)+44>>0]&16){Se(c[s>>2]|0,19904,y);break}c[u>>2]=Zo(c[w>>2]|0,c[F>>2]|0)|0;if((c[u>>2]|0)!=0?0==(Pp(c[s>>2]|0,c[u>>2]|0)|0):0){if(bh((c[(c[(c[w>>2]|0)+16>>2]|0)+(c[t>>2]<<4)+12>>2]|0)+40|0,c[u>>2]|0)|0){z=c[s>>2]|0;if(c[x>>2]|0){qp(z,c[t>>2]|0);break}else{c[y>>2]=c[F>>2];Se(z,19952,y);break}}if(!(Lb(c[c[A>>2]>>2]|0,15144,7)|0)){Se(c[s>>2]|0,19984,y);b=(c[s>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+1;break}if((c[H>>2]|0)!=49?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){b=c[s>>2]|0;e=c[p>>2]|0;c[y>>2]=(c[H>>2]|0)==35?20064:20072;c[y+4>>2]=e;c[y+8>>2]=0;Se(b,20024,y);break}if((c[H>>2]|0)==49?(c[(c[A>>2]|0)+12>>2]|0)==0:0){b=c[s>>2]|0;c[y>>2]=c[p>>2];c[y+4>>2]=0;Se(b,20080,y);break}c[C>>2]=Ve(c[w>>2]|0,c[(c[A>>2]|0)+68>>2]|0)|0;c[E>>2]=7;c[D>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[G>>2]|0)x=c[(c[(c[w>>2]|0)+16>>2]|0)+16>>2]|0;else x=c[D>>2]|0;c[z>>2]=x;if((c[C>>2]|0)==1|(c[G>>2]|0)!=0)c[E>>2]=5;if((ap(c[s>>2]|0,c[E>>2]|0,c[u>>2]|0,c[c[A>>2]>>2]|0,c[z>>2]|0)|0)==0?(ap(c[s>>2]|0,18,(c[C>>2]|0)==1?14904:14928,0,c[D>>2]|0)|0)==0:0){if((c[H>>2]|0)==49)c[H>>2]=35;c[v>>2]=se(c[w>>2]|0,36,0)|0;if(!(c[v>>2]|0))break;c[c[v>>2]>>2]=c[u>>2];c[u>>2]=0;b=ne(c[w>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[v>>2]|0)+4>>2]=b;c[(c[v>>2]|0)+20>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[t>>2]<<4)+12>>2];c[(c[v>>2]|0)+24>>2]=c[(c[A>>2]|0)+68>>2];a[(c[v>>2]|0)+8>>0]=c[B>>2];a[(c[v>>2]|0)+9>>0]=(c[H>>2]|0)==35?1:2;b=Bq(c[w>>2]|0,c[r>>2]|0,1)|0;c[(c[v>>2]|0)+12>>2]=b;b=yr(c[w>>2]|0,c[q>>2]|0)|0;c[(c[v>>2]|0)+16>>2]=b;c[(c[s>>2]|0)+488>>2]=c[v>>2]}}}}while(0);Xb(c[w>>2]|0,c[u>>2]|0);vn(c[w>>2]|0,c[p>>2]|0);xn(c[w>>2]|0,c[q>>2]|0);wn(c[w>>2]|0,c[r>>2]|0);if(c[(c[s>>2]|0)+488>>2]|0){i=o;return}Ub(c[w>>2]|0,c[v>>2]|0);i=o;return}function Go(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;l=j+16|0;o=j+12|0;h=j+8|0;k=j+4|0;n=j+20|0;m=j;c[l>>2]=b;c[o>>2]=d;c[h>>2]=e;c[k>>2]=f;a[n>>0]=g;c[m>>2]=Et(c[l>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=Jq(c[l>>2]|0,c[h>>2]|0,1)|0;c[(c[m>>2]|0)+24>>2]=o;o=Bq(c[l>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;a[(c[m>>2]|0)+1>>0]=a[n>>0]|0}sn(c[l>>2]|0,c[h>>2]|0);wn(c[l>>2]|0,c[k>>2]|0);i=j;return c[m>>2]|0}function Ho(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;l=n+16|0;o=n+12|0;h=n+8|0;k=n+4|0;m=n+20|0;j=n;c[l>>2]=b;c[o>>2]=d;c[h>>2]=e;c[k>>2]=f;a[m>>0]=g;c[j>>2]=Et(c[l>>2]|0,108,c[o>>2]|0)|0;g=c[l>>2]|0;if(c[j>>2]|0){b=Wp(g,c[k>>2]|0,1)|0;c[(c[j>>2]|0)+8>>2]=b;c[(c[j>>2]|0)+28>>2]=c[h>>2];a[(c[j>>2]|0)+1>>0]=a[m>>0]|0;b=c[l>>2]|0;o=c[k>>2]|0;tn(b,o);o=c[j>>2]|0;i=n;return o|0}else{xn(g,c[h>>2]|0);b=c[l>>2]|0;o=c[k>>2]|0;tn(b,o);o=c[j>>2]|0;i=n;return o|0}return 0}function Io(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;c[f>>2]=Et(c[j>>2]|0,109,c[k>>2]|0)|0;if(c[f>>2]|0){k=Bq(c[j>>2]|0,c[h>>2]|0,1)|0;c[(c[f>>2]|0)+20>>2]=k;a[(c[f>>2]|0)+1>>0]=10}wn(c[j>>2]|0,c[h>>2]|0);i=g;return c[f>>2]|0}function Jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;h=e+8|0;g=e+4|0;j=e;c[h>>2]=b;c[g>>2]=d;c[j>>2]=se(c[h>>2]|0,40,0)|0;if(!(c[j>>2]|0)){tn(c[h>>2]|0,c[g>>2]|0);c[f>>2]=0;b=c[f>>2]|0;i=e;return b|0}else{a[c[j>>2]>>0]=119;c[(c[j>>2]|0)+8>>2]=c[g>>2];a[(c[j>>2]|0)+1>>0]=10;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=e;return b|0}return 0}function Ko(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,o=0,p=0,q=0,r=0;m=i;i=i+48|0;l=m;j=m+40|0;g=m+36|0;f=m+32|0;n=m+28|0;r=m+24|0;k=m+20|0;q=m+16|0;h=m+12|0;p=m+8|0;c[j>>2]=b;c[g>>2]=d;c[f>>2]=e;c[n>>2]=0;c[h>>2]=c[c[j>>2]>>2];if(a[(c[h>>2]|0)+64>>0]|0){d=c[h>>2]|0;b=c[g>>2]|0;vn(d,b);i=m;return}if(Ar(c[j>>2]|0)|0){d=c[h>>2]|0;b=c[g>>2]|0;vn(d,b);i=m;return}c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+16>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;b=c[r>>2]|0;c[p>>2]=(c[r>>2]|0)<2?b^1:b;if(!((c[k>>2]|0)!=0?(xc(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2]|0,c[k>>2]|0)|0)!=0:0))o=7;if((o|0)==7?(o=0,c[n>>2]=bh((c[(c[(c[h>>2]|0)+16>>2]|0)+(c[p>>2]<<4)+12>>2]|0)+40|0,c[q>>2]|0)|0,(c[n>>2]|0)!=0):0)break;c[r>>2]=(c[r>>2]|0)+1}if(c[n>>2]|0){Bt(c[j>>2]|0,c[n>>2]|0);d=c[h>>2]|0;b=c[g>>2]|0;vn(d,b);i=m;return}n=c[j>>2]|0;if(c[f>>2]|0)At(n,c[k>>2]|0);else{c[l>>2]=c[g>>2];c[l+4>>2]=0;Se(n,19792,l)}a[(c[j>>2]|0)+17>>0]=1;d=c[h>>2]|0;b=c[g>>2]|0;vn(d,b);i=m;return}function Lo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;st(c[k>>2]|0,24,19552,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;st(c[f>>2]|0,25,19368,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function No(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+64|0;j=k;f=k+48|0;r=k+44|0;s=k+40|0;u=k+36|0;p=k+32|0;l=k+28|0;n=k+24|0;h=k+20|0;g=k+16|0;o=k+12|0;q=k+8|0;t=k+4|0;c[f>>2]=b;c[r>>2]=d;c[s>>2]=e;c[o>>2]=c[c[f>>2]>>2];if(Ar(c[f>>2]|0)|0){i=k;return}if(!(c[r>>2]|0)){ms(c[f>>2]|0,0);i=k;return}if(!((c[s>>2]|0)!=0?(c[c[s>>2]>>2]|0)!=0:0))m=6;do if((m|0)==6){c[t>>2]=Zo(c[c[f>>2]>>2]|0,c[r>>2]|0)|0;if(!(c[t>>2]|0)){i=k;return}c[u>>2]=$g(c[o>>2]|0,a[(c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[t>>2]|0,0)|0;if(!(c[u>>2]|0)){Xb(c[o>>2]|0,c[t>>2]|0);break}ms(c[f>>2]|0,c[t>>2]|0);Xb(c[o>>2]|0,c[t>>2]|0);i=k;return}while(0);c[g>>2]=Er(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,q)|0;if((c[g>>2]|0)<0){i=k;return}c[p>>2]=Zo(c[o>>2]|0,c[q>>2]|0)|0;if(!(c[p>>2]|0)){i=k;return}c[l>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[n>>2]=sp(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;if(c[n>>2]|0){ns(c[f>>2]|0,c[n>>2]|0,0);Xb(c[o>>2]|0,c[p>>2]|0);i=k;return}c[h>>2]=Op(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;Xb(c[o>>2]|0,c[p>>2]|0);l=c[f>>2]|0;if(c[h>>2]|0){pp(l,0,c[g>>2]|0);os(c[f>>2]|0,c[h>>2]|0,-1);i=k;return}else{Se(l,19064,j);i=k;return}}function Oo(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+48|0;e=l+44|0;p=l+40|0;q=l+36|0;k=l+32|0;n=l+28|0;r=l+24|0;g=l+20|0;m=l+16|0;h=l+12|0;j=l+8|0;o=l+4|0;f=l;c[e>>2]=a;c[p>>2]=b;c[q>>2]=d;c[k>>2]=c[c[e>>2]>>2];if(Ar(c[e>>2]|0)|0){i=l;return}a:do if(c[p>>2]|0){if(c[(c[q>>2]|0)+4>>2]|0){c[n>>2]=Er(c[e>>2]|0,c[p>>2]|0,c[q>>2]|0,o)|0;if((c[n>>2]|0)<0)break;c[m>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[g>>2]=Zo(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[g>>2]|0))break;a=Op(c[k>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;c[j>>2]=a;n=c[e>>2]|0;if(!a){a=Re(n,0,c[g>>2]|0,c[m>>2]|0)|0;c[h>>2]=a;if(a)Dr(c[e>>2]|0,c[h>>2]|0,0)}else Dr(n,c[(c[j>>2]|0)+12>>2]|0,c[j>>2]|0);Xb(c[k>>2]|0,c[g>>2]|0);break}c[n>>2]=Cr(c[k>>2]|0,c[p>>2]|0)|0;if((c[n>>2]|0)>=0){Br(c[e>>2]|0,c[n>>2]|0);break}c[g>>2]=Zo(c[k>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){a=Op(c[k>>2]|0,c[g>>2]|0,0)|0;c[j>>2]=a;m=c[e>>2]|0;if(!a){a=Re(m,0,c[g>>2]|0,0)|0;c[h>>2]=a;if(a)Dr(c[e>>2]|0,c[h>>2]|0,0)}else Dr(m,c[(c[j>>2]|0)+12>>2]|0,c[j>>2]|0);Xb(c[k>>2]|0,c[g>>2]|0)}}else{c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break a;if((c[r>>2]|0)!=1)Br(c[e>>2]|0,c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+1}}while(0);c[f>>2]=dp(c[e>>2]|0)|0;if(!(c[f>>2]|0)){i=l;return}mp(c[f>>2]|0,142)|0;i=l;return}function Po(b,e,f){b=b|0;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;l=i;i=i+112|0;n=l;o=l+100|0;q=l+96|0;z=l+92|0;t=l+88|0;s=l+84|0;m=l+80|0;j=l+76|0;r=l+72|0;u=l+68|0;v=l+64|0;x=l+60|0;h=l+56|0;y=l+52|0;k=l+48|0;w=l+44|0;p=l+40|0;g=l+36|0;c[o>>2]=b;c[q>>2]=e;c[z>>2]=f;c[j>>2]=0;c[r>>2]=c[c[o>>2]>>2];c[h>>2]=0;c[y>>2]=0;c[k>>2]=c[(c[r>>2]|0)+24>>2];do if(((a[(c[r>>2]|0)+64>>0]|0)==0?(c[m>>2]=np(c[o>>2]|0,0,(c[q>>2]|0)+8|0)|0,(c[m>>2]|0)!=0):0)?(c[t>>2]=Ve(c[c[o>>2]>>2]|0,c[(c[m>>2]|0)+68>>2]|0)|0,c[s>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2],b=(c[r>>2]|0)+24|0,c[b>>2]=c[b>>2]|2097152,c[j>>2]=Zo(c[r>>2]|0,c[z>>2]|0)|0,(c[j>>2]|0)!=0):0){if((sp(c[r>>2]|0,c[j>>2]|0,c[s>>2]|0)|0)==0?(Op(c[r>>2]|0,c[j>>2]|0,c[s>>2]|0)|0)==0:0){if(op(c[o>>2]|0,c[c[m>>2]>>2]|0)|0)break;if(Pp(c[o>>2]|0,c[j>>2]|0)|0)break;f=c[o>>2]|0;if(c[(c[m>>2]|0)+12>>2]|0){c[n>>2]=c[c[m>>2]>>2];Se(f,15664,n);break}if(ap(f,26,c[s>>2]|0,c[c[m>>2]>>2]|0,0)|0)break;if(Qp(c[o>>2]|0,c[m>>2]|0)|0)break;if((d[(c[m>>2]|0)+44>>0]&16|0)!=0?(c[y>>2]=Rp(c[r>>2]|0,c[m>>2]|0)|0,(c[(c[c[(c[y>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[y>>2]=0;c[x>>2]=dp(c[o>>2]|0)|0;if(!(c[x>>2]|0))break;pp(c[o>>2]|0,(c[y>>2]|0)!=0&1,c[t>>2]|0);ep(c[o>>2]|0,c[t>>2]|0);if(c[y>>2]|0){e=(c[o>>2]|0)+72|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;c[w>>2]=b;hp(c[x>>2]|0,97,0,c[w>>2]|0,0,c[j>>2]|0,0)|0;hp(c[x>>2]|0,150,c[w>>2]|0,0,0,c[y>>2]|0,-10)|0;Sp(c[o>>2]|0)}c[v>>2]=c[c[m>>2]>>2];c[u>>2]=Tm(c[v>>2]|0,-1)|0;if((c[(c[r>>2]|0)+24>>2]&524288|0)!=0?(b=Tp(c[o>>2]|0,c[m>>2]|0)|0,c[h>>2]=b,(b|0)!=0):0){b=c[o>>2]|0;y=(c[t>>2]|0)==1?14904:14928;f=c[v>>2]|0;z=c[j>>2]|0;e=c[h>>2]|0;c[n>>2]=c[s>>2];c[n+4>>2]=y;c[n+8>>2]=f;c[n+12>>2]=z;c[n+16>>2]=e;cp(b,15696,n);Xb(c[r>>2]|0,c[h>>2]|0)}b=c[o>>2]|0;A=(c[t>>2]|0)==1?14904:14928;t=c[j>>2]|0;w=c[j>>2]|0;x=c[j>>2]|0;y=c[j>>2]|0;f=c[j>>2]|0;z=c[u>>2]|0;e=c[v>>2]|0;c[n>>2]=c[s>>2];c[n+4>>2]=A;c[n+8>>2]=t;c[n+12>>2]=w;c[n+16>>2]=x;c[n+20>>2]=y;c[n+24>>2]=f;c[n+28>>2]=z;c[n+32>>2]=e;cp(b,15768,n);if(sp(c[r>>2]|0,16152,c[s>>2]|0)|0){A=c[o>>2]|0;e=c[j>>2]|0;b=c[c[m>>2]>>2]|0;c[n>>2]=c[s>>2];c[n+4>>2]=e;c[n+8>>2]=b;cp(A,16168,n)}A=xp(c[o>>2]|0,c[m>>2]|0)|0;c[h>>2]=A;if(A){A=c[o>>2]|0;e=c[j>>2]|0;b=c[h>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=e;c[n+8>>2]=b;cp(A,16232,n);Xb(c[r>>2]|0,c[h>>2]|0)}a:do if(c[(c[r>>2]|0)+24>>2]&524288){c[p>>2]=Up(c[m>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[g>>2]=c[c[p>>2]>>2];if((c[g>>2]|0)!=(c[m>>2]|0))vp(c[o>>2]|0,c[c[p>>2]>>2]|0,c[c[g>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);vp(c[o>>2]|0,c[m>>2]|0,c[j>>2]|0);break}A=c[o>>2]|0;c[n>>2]=c[j>>2];Se(A,15600,n)}while(0);vn(c[r>>2]|0,c[q>>2]|0);Xb(c[r>>2]|0,c[j>>2]|0);c[(c[r>>2]|0)+24>>2]=c[k>>2];i=l;return}function Qo(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;p=i;i=i+80|0;j=p;h=p+76|0;l=p+72|0;s=p+68|0;w=p+64|0;t=p+60|0;u=p+56|0;v=p+52|0;m=p+48|0;r=p+44|0;o=p+40|0;k=p+36|0;n=p+32|0;g=p+28|0;q=p+24|0;c[h>>2]=e;c[l>>2]=f;c[k>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+64>>2]|0){i=p;return}if(d[(c[k>>2]|0)+64>>0]|0){i=p;return}c[s>>2]=c[(c[h>>2]|0)+484>>2];c[t>>2]=Ve(c[k>>2]|0,c[(c[s>>2]|0)+68>>2]|0)|0;c[u>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[v>>2]=(c[c[s>>2]>>2]|0)+16;c[r>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(((b[(c[s>>2]|0)+38>>1]|0)-1|0)*24|0);c[o>>2]=c[(c[r>>2]|0)+4>>2];c[w>>2]=sp(c[k>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;if(ap(c[h>>2]|0,26,c[u>>2]|0,c[c[w>>2]>>2]|0,0)|0){i=p;return}if((c[o>>2]|0)!=0?(d[c[o>>2]>>0]|0)==101:0)c[o>>2]=0;if(d[(c[r>>2]|0)+23>>0]&1){Se(c[h>>2]|0,15184,j);i=p;return}if(c[(c[s>>2]|0)+8>>2]|0){Se(c[h>>2]|0,15216,j);i=p;return}if((c[(c[k>>2]|0)+24>>2]&524288|0)!=0?(c[o>>2]|0)!=0?(c[(c[s>>2]|0)+16>>2]|0)!=0:0:0){Se(c[h>>2]|0,15248,j);i=p;return}if(!((c[o>>2]|0)!=0?1:(d[(c[r>>2]|0)+20>>0]|0)==0)){Se(c[h>>2]|0,15312,j);i=p;return}do if(c[o>>2]|0){c[n>>2]=0;if(tp(c[k>>2]|0,c[o>>2]|0,1,65,n)|0){a[(c[k>>2]|0)+64>>0]=1;i=p;return}if(c[n>>2]|0){tf(c[n>>2]|0);break}Se(c[h>>2]|0,15368,j);i=p;return}while(0);c[m>>2]=rm(c[k>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0)|0;if(c[m>>2]|0){c[g>>2]=(c[m>>2]|0)+((c[(c[l>>2]|0)+4>>2]|0)-1);c[q>>2]=c[(c[k>>2]|0)+24>>2];while(1){if((c[g>>2]|0)>>>0<=(c[m>>2]|0)>>>0)break;if((a[c[g>>2]>>0]|0)!=59?(d[1224+(d[c[g>>2]>>0]|0)>>0]&1|0)==0:0)break;e=c[g>>2]|0;c[g>>2]=e+ -1;a[e>>0]=0}e=(c[k>>2]|0)+24|0;c[e>>2]=c[e>>2]|2097152;e=c[h>>2]|0;l=(c[t>>2]|0)==1?14904:14928;n=c[(c[s>>2]|0)+48>>2]|0;r=c[m>>2]|0;s=(c[(c[s>>2]|0)+48>>2]|0)+1|0;v=c[v>>2]|0;c[j>>2]=c[u>>2];c[j+4>>2]=l;c[j+8>>2]=n;c[j+12>>2]=r;c[j+16>>2]=s;c[j+20>>2]=v;cp(e,15416,j);Xb(c[k>>2]|0,c[m>>2]|0);c[(c[k>>2]|0)+24>>2]=c[q>>2]}up(c[h>>2]|0,c[t>>2]|0,(c[o>>2]|0)!=0?3:2);vp(c[h>>2]|0,c[w>>2]|0,c[c[w>>2]>>2]|0);i=p;return}function Ro(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;g=i;i=i+48|0;l=g;k=g+40|0;n=g+36|0;h=g+32|0;o=g+28|0;p=g+24|0;m=g+20|0;q=g+16|0;s=g+12|0;j=g+8|0;r=g+4|0;c[k>>2]=e;c[n>>2]=f;c[j>>2]=c[c[k>>2]>>2];if(a[(c[j>>2]|0)+64>>0]|0){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}c[o>>2]=np(c[k>>2]|0,0,(c[n>>2]|0)+8|0)|0;if(!(c[o>>2]|0)){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}if(d[(c[o>>2]|0)+44>>0]&16){Se(c[k>>2]|0,14976,l);f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}f=c[k>>2]|0;if(c[(c[o>>2]|0)+12>>2]|0){Se(f,15016,l);f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}if(op(f,c[c[o>>2]>>2]|0)|0){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}c[m>>2]=Ve(c[j>>2]|0,c[(c[o>>2]|0)+68>>2]|0)|0;c[h>>2]=se(c[j>>2]|0,76,0)|0;if(!(c[h>>2]|0)){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}c[(c[k>>2]|0)+484>>2]=c[h>>2];b[(c[h>>2]|0)+40>>1]=1;b[(c[h>>2]|0)+38>>1]=b[(c[o>>2]|0)+38>>1]|0;c[s>>2]=((((b[(c[h>>2]|0)+38>>1]|0)-1|0)/8|0)<<3)+8;e=se(c[j>>2]|0,(c[s>>2]|0)*24|0,0)|0;c[(c[h>>2]|0)+4>>2]=e;e=c[j>>2]|0;c[l>>2]=c[c[o>>2]>>2];e=Te(e,15048,l)|0;c[c[h>>2]>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)!=0?(c[c[h>>2]>>2]|0)!=0:0){dF(c[(c[h>>2]|0)+4>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[h>>2]|0)+38>>1]|0)*24|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[h>>2]|0)+38>>1]|0))break;c[r>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[q>>2]|0)*24|0);e=ne(c[j>>2]|0,c[c[r>>2]>>2]|0)|0;c[c[r>>2]>>2]=e;c[(c[r>>2]|0)+16>>2]=0;c[(c[r>>2]|0)+12>>2]=0;c[(c[r>>2]|0)+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;c[q>>2]=(c[q>>2]|0)+1}c[(c[h>>2]|0)+68>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[h>>2]|0)+48>>2]=c[(c[o>>2]|0)+48>>2];b[(c[h>>2]|0)+40>>1]=1;pp(c[k>>2]|0,0,c[m>>2]|0);c[p>>2]=dp(c[k>>2]|0)|0;if(!(c[p>>2]|0)){f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}ep(c[k>>2]|0,c[m>>2]|0);f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}a[(c[j>>2]|0)+64>>0]=1;f=c[j>>2]|0;e=c[n>>2]|0;vn(f,e);i=g;return}function So(b,d){b=b|0;d=d|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;l=i;i=i+80|0;h=l;g=l+64|0;o=l+60|0;k=l+56|0;f=l+52|0;j=l+48|0;n=l+44|0;e=l+40|0;m=l+36|0;r=l+32|0;p=l+28|0;q=l+24|0;c[g>>2]=b;c[o>>2]=d;c[k>>2]=c[(c[g>>2]|0)+484>>2];c[f>>2]=c[c[g>>2]>>2];if(!(c[k>>2]|0)){i=l;return}_o(c[g>>2]|0);c[(c[g>>2]|0)+512>>2]=0;if((c[(c[k>>2]|0)+52>>2]|0)<1){i=l;return}if(!(a[(c[f>>2]|0)+145>>0]|0)){if(c[o>>2]|0)c[(c[g>>2]|0)+500>>2]=(c[c[o>>2]>>2]|0)-(c[(c[g>>2]|0)+496>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0);q=c[f>>2]|0;c[h>>2]=(c[g>>2]|0)+496;c[j>>2]=Te(q,14792,h)|0;c[e>>2]=Ve(c[f>>2]|0,c[(c[k>>2]|0)+68>>2]|0)|0;q=c[g>>2]|0;d=(c[e>>2]|0)==1?14904:14928;o=c[c[k>>2]>>2]|0;p=c[c[k>>2]>>2]|0;b=c[j>>2]|0;r=c[(c[g>>2]|0)+384>>2]|0;c[h>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)>>2];c[h+4>>2]=d;c[h+8>>2]=o;c[h+12>>2]=p;c[h+16>>2]=b;c[h+20>>2]=r;cp(q,14816,h);Xb(c[f>>2]|0,c[j>>2]|0);c[m>>2]=dp(c[g>>2]|0)|0;ep(c[g>>2]|0,c[e>>2]|0);fp(c[m>>2]|0,142,0,0)|0;q=c[f>>2]|0;c[h>>2]=c[c[k>>2]>>2];c[n>>2]=Te(q,14944,h)|0;gp(c[m>>2]|0,c[e>>2]|0,c[n>>2]|0);q=c[m>>2]|0;r=c[e>>2]|0;b=c[c[k>>2]>>2]|0;hp(q,145,r,0,0,b,(Mb(c[c[k>>2]>>2]|0)|0)+1|0)|0;i=l;return}c[p>>2]=c[(c[k>>2]|0)+68>>2];c[q>>2]=c[c[k>>2]>>2];c[r>>2]=gh((c[p>>2]|0)+8|0,c[q>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){a[(c[f>>2]|0)+64>>0]=1;i=l;return}else{c[(c[g>>2]|0)+484>>2]=0;i=l;return}}function To(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0;o=i;i=i+32|0;k=o+28|0;p=o+24|0;r=o+20|0;j=o+16|0;q=o+12|0;m=o+8|0;l=o+4|0;n=o;c[k>>2]=b;c[p>>2]=e;c[r>>2]=f;c[j>>2]=g;c[q>>2]=h;Mn(c[k>>2]|0,c[p>>2]|0,c[r>>2]|0,0,0,1,c[q>>2]|0);c[l>>2]=c[(c[k>>2]|0)+484>>2];if(!(c[l>>2]|0)){i=o;return}c[n>>2]=c[c[k>>2]>>2];c[m>>2]=Ve(c[n>>2]|0,c[(c[l>>2]|0)+68>>2]|0)|0;r=(c[l>>2]|0)+44|0;a[r>>0]=d[r>>0]|0|16;c[(c[l>>2]|0)+52>>2]=0;r=c[n>>2]|0;q=c[l>>2]|0;$o(r,q,Zo(c[n>>2]|0,c[j>>2]|0)|0);$o(c[n>>2]|0,c[l>>2]|0,0);q=c[n>>2]|0;r=c[l>>2]|0;$o(q,r,ne(c[n>>2]|0,c[c[l>>2]>>2]|0)|0);c[(c[k>>2]|0)+500>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)-(c[c[p>>2]>>2]|0);if(!(c[(c[l>>2]|0)+56>>2]|0)){i=o;return}ap(c[k>>2]|0,29,c[c[l>>2]>>2]|0,c[c[(c[l>>2]|0)+56>>2]>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Uo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_o(c[d>>2]|0);c[(c[d>>2]|0)+512>>2]=0;c[(c[d>>2]|0)+516>>2]=0;i=b;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=(c[g>>2]|0)+512;b=c[f>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];i=d;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[f>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=d;return}}function Wo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;n=i;i=i+48|0;q=n;p=n+40|0;l=n+36|0;s=n+32|0;h=n+28|0;j=n+24|0;o=n+20|0;m=n+16|0;k=n+12|0;r=n+8|0;g=n+4|0;c[p>>2]=a;c[l>>2]=b;c[s>>2]=d;c[h>>2]=e;c[j>>2]=f;c[o>>2]=c[c[p>>2]>>2];c[k>>2]=Zo(c[c[p>>2]>>2]|0,c[s>>2]|0)|0;a:do if((c[k>>2]|0)!=0&(c[l>>2]|0)!=0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[l>>2]>>2]|0))break a;if(!(xc(c[k>>2]|0,c[(c[l>>2]|0)+8+(c[r>>2]<<4)>>2]|0)|0)){s=c[p>>2]|0;c[q>>2]=c[k>>2];Se(s,14720,q)}c[r>>2]=(c[r>>2]|0)+1}}while(0);if(c[l>>2]|0){c[g>>2]=24+(c[c[l>>2]>>2]<<4);s=c[g>>2]|0;c[m>>2]=Fk(c[o>>2]|0,c[l>>2]|0,s,((s|0)<0)<<31>>31)|0}else c[m>>2]=se(c[o>>2]|0,24,0)|0;if(!(c[m>>2]|0)){sn(c[o>>2]|0,c[h>>2]|0);tn(c[o>>2]|0,c[j>>2]|0);Xb(c[o>>2]|0,c[k>>2]|0);c[m>>2]=c[l>>2];s=c[m>>2]|0;i=n;return s|0}else{c[(c[m>>2]|0)+8+(c[c[m>>2]>>2]<<4)+8>>2]=c[j>>2];c[(c[m>>2]|0)+8+(c[c[m>>2]>>2]<<4)+4>>2]=c[h>>2];c[(c[m>>2]|0)+8+(c[c[m>>2]>>2]<<4)>>2]=c[k>>2];c[(c[m>>2]|0)+8+(c[c[m>>2]>>2]<<4)+12>>2]=0;s=c[m>>2]|0;c[s>>2]=(c[s>>2]|0)+1;s=c[m>>2]|0;i=n;return s|0}return 0}function Xo(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[11104+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[11720+(c[h>>2]<<1)>>1]|0}function Yo(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[d>>2]=a;c[b>>2]=c[(c[d>>2]|0)+8>>2];while(1){if((c[c[d>>2]>>2]|0)<0)break;zn(c[d>>2]|0)|0}c[(c[d>>2]|0)+8>>2]=c[b>>2];i=e;return}function Zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;if(c[f>>2]|0){c[e>>2]=rm(c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,0)|0;sm(c[e>>2]|0)|0;a=c[e>>2]|0;i=d;return a|0}else{c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}return 0}function _o(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if(!(c[(c[d>>2]|0)+512>>2]|0)){i=b;return}if(!(c[(c[d>>2]|0)+484>>2]|0)){i=b;return}c[e>>2]=c[(c[d>>2]|0)+512>>2];c[f>>2]=c[(c[d>>2]|0)+516>>2];c[g>>2]=c[c[d>>2]>>2];a=c[g>>2]|0;d=c[(c[d>>2]|0)+484>>2]|0;f=c[f>>2]|0;$o(a,d,rm(c[g>>2]|0,c[e>>2]|0,f,((f|0)<0)<<31>>31)|0);i=b;return}function $o(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,l=0,m=0;j=i;i=i+32|0;k=j+24|0;f=j+20|0;e=j+16|0;h=j+12|0;m=j+8|0;g=j+4|0;l=j;c[k>>2]=a;c[f>>2]=b;c[e>>2]=d;b=(c[f>>2]|0)+52|0;a=c[b>>2]|0;c[b>>2]=a+1;c[h>>2]=a;c[m>>2]=1+(c[(c[f>>2]|0)+52>>2]|0)<<2;a=c[m>>2]|0;c[g>>2]=Fk(c[k>>2]|0,c[(c[f>>2]|0)+56>>2]|0,a,((a|0)<0)<<31>>31)|0;if(c[g>>2]|0){c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]=c[e>>2];c[(c[g>>2]|0)+((c[h>>2]|0)+1<<2)>>2]=0;a=c[g>>2]|0;m=c[f>>2]|0;m=m+56|0;c[m>>2]=a;i=j;return}c[l>>2]=0;while(1){d=c[k>>2]|0;if((c[l>>2]|0)>=(c[h>>2]|0))break;Xb(d,c[(c[(c[f>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0);c[l>>2]=(c[l>>2]|0)+1}Xb(d,c[e>>2]|0);Xb(c[k>>2]|0,c[(c[f>>2]|0)+56>>2]|0);c[(c[f>>2]|0)+52>>2]=0;a=c[g>>2]|0;m=c[f>>2]|0;m=m+56|0;c[m>>2]=a;i=j;return}function ap(a,b,e,f,g){a=a|0;b=b|0;e=e|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;o=i;i=i+48|0;m=o;j=o+32|0;l=o+28|0;h=o+24|0;p=o+20|0;q=o+16|0;r=o+12|0;n=o+8|0;k=o+4|0;c[l>>2]=a;c[h>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[n>>2]=c[c[l>>2]>>2];if((d[(c[n>>2]|0)+145>>0]|0|0)==0?(d[(c[l>>2]|0)+451>>0]|0|0)==0:0){if(!(c[(c[n>>2]|0)+284>>2]|0)){c[j>>2]=0;a=c[j>>2]|0;i=o;return a|0}c[k>>2]=tb[c[(c[n>>2]|0)+284>>2]&1](c[(c[n>>2]|0)+288>>2]|0,c[h>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[(c[l>>2]|0)+492>>2]|0)|0;if((c[k>>2]|0)!=1){if((c[k>>2]|0)!=0&(c[k>>2]|0)!=2){c[k>>2]=1;bp(c[l>>2]|0)}}else{Se(c[l>>2]|0,14752,m);c[(c[l>>2]|0)+12>>2]=23}c[j>>2]=c[k>>2];a=c[j>>2]|0;i=o;return a|0}c[j>>2]=0;a=c[j>>2]|0;i=o;return a|0}function bp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Se(c[d>>2]|0,14768,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function cp(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;l=i;i=i+144|0;f=l+36|0;n=l+32|0;m=l+16|0;g=l+8|0;h=l+4|0;j=l;k=l+40|0;c[f>>2]=b;c[n>>2]=d;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];if(c[(c[f>>2]|0)+64>>2]|0){i=l;return}c[m>>2]=e;c[g>>2]=yn(c[j>>2]|0,c[n>>2]|0,m)|0;if(!(c[g>>2]|0)){i=l;return}n=(c[f>>2]|0)+18|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;n=k+0|0;e=(c[f>>2]|0)+440|0;m=n+96|0;do{a[n>>0]=a[e>>0]|0;n=n+1|0;e=e+1|0}while((n|0)<(m|0));n=(c[f>>2]|0)+440|0;m=n+96|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(m|0));qf(c[f>>2]|0,c[g>>2]|0,h)|0;Xb(c[j>>2]|0,c[h>>2]|0);Xb(c[j>>2]|0,c[g>>2]|0);n=(c[f>>2]|0)+440|0;e=k+0|0;m=n+96|0;do{a[n>>0]=a[e>>0]|0;n=n+1|0;e=e+1|0}while((n|0)<(m|0));b=(c[f>>2]|0)+18|0;a[b>>0]=(a[b>>0]|0)+ -1<<24>>24;i=l;return}function dp(b){b=b|0;var d=0,f=0,g=0;d=i;i=i+16|0;g=d+4|0;f=d;c[g>>2]=b;c[f>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=Ue(c[g>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)mp(c[f>>2]|0,153)|0;if((c[(c[g>>2]|0)+408>>2]|0)==0?((e[(c[c[g>>2]>>2]|0)+60>>1]|0)&8|0)==0:0)a[(c[g>>2]|0)+23>>0]=1}i=d;return c[f>>2]|0}function ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d+16|0;g=d+12|0;e=d+8|0;j=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=kp(c[f>>2]|0)|0;c[j>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+8>>2];fp(c[h>>2]|0,25,(c[c[(c[(c[j>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]>>2]|0)+1|0,c[e>>2]|0)|0;ip(c[h>>2]|0,52,c[g>>2]|0,1,c[e>>2]|0)|0;lp(c[f>>2]|0,c[e>>2]|0);i=d;return}function fp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=ip(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function gp(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;e=i;i=i+32|0;g=e+16|0;k=e+12|0;h=e+8|0;f=e+4|0;j=e;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=ip(c[g>>2]|0,122,c[k>>2]|0,0,0)|0;bf(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,-1);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[g>>2]>>2]|0)+20>>2]|0))break;Ze(c[g>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=e;return}function hp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|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,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=ip(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;bf(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function ip(b,d,e,f,g){b=b|0;d=d|0;e=e|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;j=i;i=i+32|0;o=j+28|0;k=j+24|0;n=j+20|0;h=j+16|0;p=j+12|0;q=j+8|0;l=j+4|0;m=j;c[k>>2]=b;c[n>>2]=d;c[h>>2]=e;c[p>>2]=f;c[q>>2]=g;c[l>>2]=c[(c[k>>2]|0)+32>>2];if((c[(c[(c[k>>2]|0)+24>>2]|0)+84>>2]|0)<=(c[l>>2]|0)?(jp(c[k>>2]|0,1)|0)!=0:0){c[o>>2]=1;b=c[o>>2]|0;i=j;return b|0}b=(c[k>>2]|0)+32|0;c[b>>2]=(c[b>>2]|0)+1;c[m>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0);a[c[m>>2]>>0]=c[n>>2];a[(c[m>>2]|0)+3>>0]=0;c[(c[m>>2]|0)+4>>2]=c[h>>2];c[(c[m>>2]|0)+8>>2]=c[p>>2];c[(c[m>>2]|0)+12>>2]=c[q>>2];c[(c[m>>2]|0)+16>>2]=0;a[(c[m>>2]|0)+1>>0]=0;c[o>>2]=c[l>>2];b=c[o>>2]|0;i=j;return b|0}function jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+32|0;g=e+16|0;d=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[e+12>>2]=b;c[f>>2]=c[(c[g>>2]|0)+24>>2];if(c[(c[f>>2]|0)+84>>2]|0)b=c[(c[f>>2]|0)+84>>2]<<1;else b=51;c[h>>2]=b;c[d>>2]=Fk(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[h>>2]|0)*20|0,0)|0;if(!(c[d>>2]|0)){a=c[d>>2]|0;a=(a|0)!=0;a=a?0:7;i=e;return a|0}a=((Bk(c[c[f>>2]>>2]|0,c[d>>2]|0)|0)>>>0)/20|0;c[(c[f>>2]|0)+84>>2]=a;c[(c[g>>2]|0)+4>>2]=c[d>>2];a=c[d>>2]|0;a=(a|0)!=0;a=a?0:7;i=e;return a|0}function kp(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+4|0;g=e;c[g>>2]=b;b=c[g>>2]|0;if(!(d[(c[g>>2]|0)+19>>0]|0)){g=b+72|0;b=(c[g>>2]|0)+1|0;c[g>>2]=b;c[f>>2]=b;b=c[f>>2]|0;i=e;return b|0}else{h=b+19|0;b=(a[h>>0]|0)+ -1<<24>>24;a[h>>0]=b;c[f>>2]=c[(c[g>>2]|0)+24+((b&255)<<2)>>2];b=c[f>>2]|0;i=e;return b|0}return 0}function lp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=f;return}if((d[(c[j>>2]|0)+19>>0]|0|0)>=8){i=f;return}c[k>>2]=0;c[g>>2]=(c[j>>2]|0)+116;while(1){if((c[k>>2]|0)>=10){e=8;break}if((c[(c[g>>2]|0)+12>>2]|0)==(c[h>>2]|0)){e=6;break}c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((e|0)==6){a[(c[g>>2]|0)+6>>0]=1;i=f;return}else if((e|0)==8){k=c[h>>2]|0;e=(c[j>>2]|0)+19|0;b=a[e>>0]|0;a[e>>0]=b+1<<24>>24;c[(c[j>>2]|0)+24+((b&255)<<2)>>2]=k;i=f;return}}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=ip(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function np(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;e=i;i=i+32|0;j=e+16|0;h=e+12|0;g=e+8|0;f=e+4|0;k=e;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[k>>2]=Ve(c[c[j>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[f>>2]=c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2]}else c[f>>2]=c[(c[g>>2]|0)+4>>2];a=Re(c[j>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+12|0;d=h+8|0;e=h+4|0;c[d>>2]=a;c[e>>2]=b;if((Mb(c[e>>2]|0)|0)>6?0==(Lb(c[e>>2]|0,15144,7)|0):0){a=c[d>>2]|0;c[f>>2]=c[e>>2];Se(a,15152,f);c[g>>2]=1;a=c[g>>2]|0;i=h;return a|0}c[g>>2]=0;a=c[g>>2]|0;i=h;return a|0}function pp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;h=g+8|0;k=g+4|0;j=g;c[l>>2]=b;c[h>>2]=e;c[k>>2]=f;f=c[l>>2]|0;if(c[(c[l>>2]|0)+408>>2]|0)f=c[f+408>>2]|0;c[j>>2]=f;qp(c[l>>2]|0,c[k>>2]|0);b=(c[j>>2]|0)+328|0;c[b>>2]=c[b>>2]|1<>2];b=(c[j>>2]|0)+20|0;a[b>>0]=d[b>>0]|0|c[h>>2];i=g;return}function qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;f=d+8|0;e=d+4|0;g=d;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];if((c[(c[e>>2]|0)+332>>2]&1<>2]|0)!=0|0){i=d;return}h=(c[e>>2]|0)+332|0;c[h>>2]=c[h>>2]|1<>2];c[(c[e>>2]|0)+336+(c[f>>2]<<2)>>2]=c[c[(c[(c[g>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2];if((c[f>>2]|0)!=1){i=d;return}rp(c[e>>2]|0)|0;i=d;return}function rp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;h=d;e=d+20|0;f=d+16|0;j=d+12|0;g=d+8|0;k=d+4|0;c[f>>2]=b;c[j>>2]=c[c[f>>2]>>2];if((c[(c[(c[j>>2]|0)+16>>2]|0)+20>>2]|0)==0?(a[(c[f>>2]|0)+450>>0]|0)==0:0){c[g>>2]=rh(c[c[j>>2]>>2]|0,0,c[j>>2]|0,k,0,542)|0;if(c[g>>2]|0){Se(c[f>>2]|0,15072,h);c[(c[f>>2]|0)+12>>2]=c[g>>2];c[e>>2]=1;k=c[e>>2]|0;i=d;return k|0}c[(c[(c[j>>2]|0)+16>>2]|0)+20>>2]=c[k>>2];if(7==(kg(c[k>>2]|0,c[(c[j>>2]|0)+72>>2]|0,-1,0)|0)){a[(c[j>>2]|0)+64>>0]=1;c[e>>2]=1;k=c[e>>2]|0;i=d;return k|0}}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}function sp(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,l=0,m=0;k=i;i=i+32|0;h=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;m=k+4|0;j=k;c[h>>2]=a;c[e>>2]=b;c[l>>2]=d;c[g>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){f=7;break}a=c[m>>2]|0;c[j>>2]=(c[m>>2]|0)<2?a^1:a;if(!((c[l>>2]|0)!=0?(xc(c[l>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))f=5;if((f|0)==5?(f=0,c[g>>2]=bh((c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[e>>2]|0)|0,(c[g>>2]|0)!=0):0){f=7;break}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==7){i=k;return c[g>>2]|0}return 0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;b=Ap(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return b|0}function up(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,l=0,m=0;j=i;i=i+32|0;f=j+24|0;k=j+20|0;l=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;m=j;c[f>>2]=a;c[k>>2]=b;c[l>>2]=d;c[e>>2]=dp(c[f>>2]|0)|0;if(!(c[e>>2]|0)){i=j;return}c[g>>2]=kp(c[f>>2]|0)|0;c[h>>2]=kp(c[f>>2]|0)|0;ip(c[e>>2]|0,51,c[k>>2]|0,c[g>>2]|0,2)|0;Ze(c[e>>2]|0,c[k>>2]|0);fp(c[e>>2]|0,25,c[l>>2]|0,c[h>>2]|0)|0;c[m>>2]=ip(c[e>>2]|0,83,c[h>>2]|0,0,c[g>>2]|0)|0;Xe(c[e>>2]|0,-112);ip(c[e>>2]|0,52,c[k>>2]|0,2,c[h>>2]|0)|0;zp(c[e>>2]|0,c[m>>2]|0);lp(c[f>>2]|0,c[g>>2]|0);lp(c[f>>2]|0,c[h>>2]|0);i=j;return}function vp(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,l=0,m=0,n=0,o=0;k=i;i=i+48|0;l=k;j=k+32|0;h=k+28|0;e=k+24|0;f=k+20|0;m=k+16|0;g=k+12|0;n=k+8|0;o=k+4|0;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=dp(c[j>>2]|0)|0;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=Ve(c[c[j>>2]>>2]|0,c[(c[h>>2]|0)+68>>2]|0)|0;c[n>>2]=wp(c[j>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;c[o>>2]=Ve(c[c[j>>2]>>2]|0,c[(c[n>>2]|0)+20>>2]|0)|0;hp(c[f>>2]|0,126,c[o>>2]|0,0,0,c[c[n>>2]>>2]|0,0)|0;c[n>>2]=c[(c[n>>2]|0)+32>>2]}hp(c[f>>2]|0,124,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;a=c[c[j>>2]>>2]|0;c[l>>2]=c[e>>2];c[m>>2]=Te(a,15528,l)|0;if(!(c[m>>2]|0)){i=k;return}gp(c[f>>2]|0,c[g>>2]|0,c[m>>2]|0);a=xp(c[j>>2]|0,c[h>>2]|0)|0;c[m>>2]=a;if(!a){i=k;return}gp(c[f>>2]|0,1,c[m>>2]|0);i=k;return}function wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;e=f+24|0;m=f+20|0;k=f+16|0;l=f+12|0;h=f+8|0;j=f+4|0;g=f;c[m>>2]=b;c[k>>2]=d;c[l>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+28>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+438>>0]|0){c[e>>2]=0;m=c[e>>2]|0;i=f;return m|0}a:do if((c[l>>2]|0)!=(c[(c[k>>2]|0)+68>>2]|0)){c[j>>2]=c[(c[l>>2]|0)+48>>2];while(1){if(!(c[j>>2]|0))break a;c[g>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[g>>2]|0)+24>>2]|0)==(c[(c[k>>2]|0)+68>>2]|0)?0==(xc(c[(c[g>>2]|0)+4>>2]|0,c[c[k>>2]>>2]|0)|0):0){if(c[h>>2]|0)d=c[h>>2]|0;else d=c[(c[k>>2]|0)+64>>2]|0;c[(c[g>>2]|0)+32>>2]=d;c[h>>2]=c[g>>2]}c[j>>2]=c[c[j>>2]>>2]}}while(0);if(c[h>>2]|0)g=c[h>>2]|0;else g=c[(c[k>>2]|0)+64>>2]|0;c[e>>2]=g;m=c[e>>2]|0;i=f;return m|0}function xp(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;e=i;i=i+32|0;g=e;f=e+28|0;m=e+24|0;k=e+20|0;h=e+16|0;l=e+12|0;j=e+8|0;d=e+4|0;c[f>>2]=a;c[m>>2]=b;c[h>>2]=0;c[l>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+28>>2];a:do if((c[(c[m>>2]|0)+68>>2]|0)!=(c[l>>2]|0)){c[j>>2]=c[c[f>>2]>>2];c[k>>2]=wp(c[f>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[k>>2]|0))break a;if((c[(c[k>>2]|0)+20>>2]|0)==(c[l>>2]|0))c[h>>2]=yp(c[j>>2]|0,c[h>>2]|0,c[c[k>>2]>>2]|0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}}while(0);if(!(c[h>>2]|0)){a=c[h>>2]|0;i=e;return a|0}a=c[c[f>>2]>>2]|0;c[g>>2]=c[h>>2];c[d>>2]=Te(a,15544,g)|0;Xb(c[c[f>>2]>>2]|0,c[h>>2]|0);c[h>>2]=c[d>>2];a=c[h>>2]|0;i=e;return a|0}function yp(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;e=i;i=i+32|0;j=e;h=e+20|0;g=e+16|0;k=e+12|0;f=e+8|0;c[h>>2]=a;c[g>>2]=b;c[k>>2]=d;d=c[h>>2]|0;if(c[g>>2]|0){a=c[k>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=a;c[f>>2]=Te(d,15576,j)|0;Xb(c[h>>2]|0,c[g>>2]|0);a=c[f>>2]|0;i=e;return a|0}else{c[j>>2]=c[k>>2];c[f>>2]=Te(d,15568,j)|0;a=c[f>>2]|0;i=e;return a|0}return 0}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;$e(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);c[(c[(c[e>>2]|0)+24>>2]|0)+88>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;i=d;return}function Ap(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,E=0;r=i;i=i+64|0;C=r;n=r+52|0;u=r+48|0;y=r+44|0;t=r+58|0;s=r+57|0;o=r+40|0;x=r+36|0;z=r+32|0;v=r+28|0;q=r+24|0;w=r+20|0;B=r+16|0;p=r+12|0;A=r+56|0;E=r+8|0;c[u>>2]=f;c[y>>2]=g;a[t>>0]=j;a[s>>0]=k;c[o>>2]=l;c[x>>2]=m;c[v>>2]=0;c[q>>2]=0;c[w>>2]=1;c[B>>2]=1216;c[p>>2]=0;if(!(c[y>>2]|0)){c[c[o>>2]>>2]=0;c[n>>2]=0;f=c[n>>2]|0;i=r;return f|0}while(1){f=d[c[y>>2]>>0]|0;c[z>>2]=f;if((f|0)!=158)break;c[y>>2]=c[(c[y>>2]|0)+12>>2]}if((c[z>>2]|0)==159)c[z>>2]=d[(c[y>>2]|0)+38>>0];if((c[z>>2]|0)==38){a[A>>0]=Bp(c[(c[y>>2]|0)+8>>2]|0,0)|0;c[p>>2]=Ap(c[u>>2]|0,c[(c[y>>2]|0)+12>>2]|0,a[t>>0]|0,a[A>>0]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[c[o>>2]>>2]|0){Cp(c[c[o>>2]>>2]|0,a[A>>0]|0,1);Dp(c[c[o>>2]>>2]|0,a[s>>0]|0,1)}c[n>>2]=c[p>>2];f=c[n>>2]|0;i=r;return f|0}do if((c[z>>2]|0)==157){if((d[c[(c[y>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[y>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[y>>2]=c[(c[y>>2]|0)+12>>2];c[z>>2]=d[c[y>>2]>>0];c[w>>2]=-1;c[B>>2]=15592}while(0);do if((c[z>>2]|0)==97|(c[z>>2]|0)==133|(c[z>>2]|0)==132){c[q>>2]=Ep(c[u>>2]|0,c[x>>2]|0)|0;if(c[q>>2]|0){if(c[(c[y>>2]|0)+4>>2]&1024){g=c[q>>2]|0;j=c[(c[y>>2]|0)+8>>2]|0;f=c[w>>2]|0;f=lF(j|0,((j|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;Xd(g,f,D)}else{f=c[u>>2]|0;g=c[(c[y>>2]|0)+8>>2]|0;c[C>>2]=c[B>>2];c[C+4>>2]=g;c[v>>2]=Te(f,8992,C)|0;if(!(c[v>>2]|0)){s=43;break}sf(c[q>>2]|0,-1,c[v>>2]|0,1,16)}if((c[z>>2]|0)==132|(c[z>>2]|0)==133?(d[s>>0]|0|0)==65:0)Dp(c[q>>2]|0,67,1);else Dp(c[q>>2]|0,a[s>>0]|0,1);if((e[(c[q>>2]|0)+8>>1]|0)&12){f=(c[q>>2]|0)+8|0;b[f>>1]=(e[f>>1]|0)&-3}if((d[t>>0]|0|0)!=1){c[p>>2]=yk(c[q>>2]|0,d[t>>0]|0)|0;s=42}else s=42}else s=43}else{if((c[z>>2]|0)!=157){if((c[z>>2]|0)==101){c[q>>2]=Ep(c[u>>2]|0,c[x>>2]|0)|0;if(!(c[q>>2]|0)){s=43;break}else{s=42;break}}if((c[z>>2]|0)!=134){s=42;break}c[q>>2]=Ep(c[u>>2]|0,c[x>>2]|0)|0;if(!(c[q>>2]|0)){s=43;break}c[v>>2]=(c[(c[y>>2]|0)+8>>2]|0)+2;c[E>>2]=(Mb(c[v>>2]|0)|0)-1;f=c[q>>2]|0;s=Gp(c[u>>2]|0,c[v>>2]|0,c[E>>2]|0)|0;Vd(f,s,(c[E>>2]|0)/2|0,0,16)|0;s=42;break}f=0==(tp(c[u>>2]|0,c[(c[y>>2]|0)+12>>2]|0,a[t>>0]|0,a[s>>0]|0,q)|0);if(f&(c[q>>2]|0)!=0){Fp(c[q>>2]|0)|0;u=c[q>>2]|0;do if(!((e[(c[q>>2]|0)+8>>1]|0)&8)){f=u;u=c[q>>2]|0;if((c[f>>2]|0)==0?(c[f+4>>2]|0)==-2147483648:0){h[u>>3]=9223372036854776000.0;b[(c[q>>2]|0)+8>>1]=(e[(c[q>>2]|0)+8>>1]|0)&-16896|8;break}else{g=u;g=ZE(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;f=c[q>>2]|0;c[f>>2]=g;c[f+4>>2]=D;break}}else h[c[q>>2]>>3]=-+h[u>>3];while(0);Dp(c[q>>2]|0,a[s>>0]|0,a[t>>0]|0);s=42}else s=42}while(0);if((s|0)==42){c[c[o>>2]>>2]=c[q>>2];c[n>>2]=c[p>>2];f=c[n>>2]|0;i=r;return f|0}else if((s|0)==43){a[(c[u>>2]|0)+64>>0]=1;Xb(c[u>>2]|0,c[v>>2]|0);tf(c[q>>2]|0);c[n>>2]=7;f=c[n>>2]|0;i=r;return f|0}return 0}function Bp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+21|0;o=l+16|0;k=l+12|0;n=l+8|0;j=l+20|0;m=l+4|0;f=l;c[o>>2]=b;c[k>>2]=e;c[n>>2]=0;a[j>>0]=67;c[m>>2]=0;if(!(c[o>>2]|0)){a[h>>0]=a[j>>0]|0;b=a[h>>0]|0;i=l;return b|0}a:while(1){if(!(a[c[o>>2]>>0]|0))break;c[n>>2]=(c[n>>2]<<8)+(d[440+(a[c[o>>2]>>0]&255)>>0]|0);c[o>>2]=(c[o>>2]|0)+1;if((c[n>>2]|0)==1667785074){a[j>>0]=66;c[m>>2]=c[o>>2];continue}if((c[n>>2]|0)==1668050786){a[j>>0]=66;continue}if((c[n>>2]|0)==1952807028){a[j>>0]=66;continue}do if((c[n>>2]|0)==1651273570){if((a[j>>0]|0)!=67?(a[j>>0]|0)!=69:0)break;a[j>>0]=65;if((a[c[o>>2]>>0]|0)!=40)continue a;c[m>>2]=c[o>>2];continue a}while(0);if((c[n>>2]|0)==1919246700?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[n>>2]|0)==1718382433?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[n>>2]|0)==1685026146?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[n>>2]&16777215|0)==6909556){g=25;break}}if((g|0)==25)a[j>>0]=68;b:do if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]=1,(a[j>>0]|0)<67):0){if(!(c[m>>2]|0)){a[c[k>>2]>>0]=5;break}while(1){if(!(a[c[m>>2]>>0]|0))break b;if(d[1224+(d[c[m>>2]>>0]|0)>>0]&4)break;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=0;Ag(c[m>>2]|0,f)|0;b=((c[f>>2]|0)/4|0)+1|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)>255?255:b;a[c[k>>2]>>0]=c[f>>2]}while(0);a[h>>0]=a[j>>0]|0;b=a[h>>0]|0;i=l;return b|0}function Cp(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+16|0;l=j;m=j+5|0;k=j+4|0;c[l>>2]=f;a[m>>0]=g;a[k>>0]=h;if((e[(c[l>>2]|0)+8>>1]|0)&1){i=j;return}h=d[m>>0]|0;if((h|0)==65){h=c[l>>2]|0;if(!((e[(c[l>>2]|0)+8>>1]|0)&16)){Dp(h,66,a[k>>0]|0);b[(c[l>>2]|0)+8>>1]=(e[(c[l>>2]|0)+8>>1]|0)&-16896|16;i=j;return}else{f=h+8|0;b[f>>1]=(e[f>>1]|0)&-496;i=j;return}}else if((h|0)==67){Fp(c[l>>2]|0)|0;i=j;return}else if((h|0)==68){Mp(c[l>>2]|0)|0;i=j;return}else if((h|0)==69){Np(c[l>>2]|0)|0;i=j;return}else{f=(c[l>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[l>>2]|0)+8>>1]|0)&16)>>3;Dp(c[l>>2]|0,66,a[k>>0]|0);f=(c[l>>2]|0)+8|0;b[f>>1]=(e[f>>1]|0)&-16413;i=j;return}}function Dp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;Jp(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;a=rf(c[e>>2]|0)|0;i=d;return a|0}function Fp(d){d=d|0;var f=0,g=0,j=0,k=0.0;f=i;i=i+16|0;g=f;c[g>>2]=d;do if(!((e[(c[g>>2]|0)+8>>1]|0)&13)){j=0==(wg(c[(c[g>>2]|0)+16>>2]|0,c[g>>2]|0,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0);d=c[g>>2]|0;if(j){b[(c[g>>2]|0)+8>>1]=(e[d+8>>1]|0)&-16896|4;break}else{k=+Id(d);h[c[g>>2]>>3]=k;b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-16896|8;Hp(c[g>>2]|0);break}}while(0);j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=f;return 0}function Gp(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;f=i;i=i+32|0;l=f+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;b=((c[j>>2]|0)/2|0)+1|0;c[g>>2]=Qe(c[l>>2]|0,b,((b|0)<0)<<31>>31)|0;c[j>>2]=(c[j>>2]|0)+ -1;if(!(c[g>>2]|0)){l=c[g>>2]|0;i=f;return l|0}c[h>>2]=0;while(1){e=c[h>>2]|0;if((c[h>>2]|0)>=(c[j>>2]|0))break;l=((vg(a[(c[k>>2]|0)+e>>0]|0)|0)&255)<<4;l=(l|(vg(a[(c[k>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[g>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[g>>2]|0)+((e|0)/2|0)>>0]=0;l=c[g>>2]|0;i=f;return l|0}function Hp(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;d=i;i=i+16|0;g=d+8|0;f=d;c[g>>2]=a;k=Ip(+h[c[g>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=D;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[g>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=d;return}k=f;l=c[k+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-16896|4;i=d;return}function Ip(a){a=+a;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b;h[e>>3]=a;do if(!(+h[e>>3]<=-9223372036854776000.0))if(+h[e>>3]>=9223372036854776000.0){e=d;c[e>>2]=-1;c[e+4>>2]=2147483647;break}else{a=+h[e>>3];f=+O(a)>=1.0?a>0.0?(ca(+N(a/4294967296.0),4294967295.0)|0)>>>0:~~+_((a- +(~~a>>>0))/4294967296.0)>>>0:0;e=d;c[e>>2]=~~a>>>0;c[e+4>>2]=f;break}else{f=d;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=d;D=c[f+4>>2]|0;i=b;return c[f>>2]|0}function Jp(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;k=g+5|0;j=g+4|0;c[h>>2]=b;a[k>>0]=d;a[j>>0]=f;if((a[k>>0]|0)<67){if((a[k>>0]|0)!=66){i=g;return}if(e[(c[h>>2]|0)+8>>1]&2){i=g;return}if(!(e[(c[h>>2]|0)+8>>1]&12)){i=g;return}Kp(c[h>>2]|0,a[j>>0]|0,1)|0;i=g;return}if(e[(c[h>>2]|0)+8>>1]&4){i=g;return}f=c[h>>2]|0;if(e[(c[h>>2]|0)+8>>1]&8){Hp(f);i=g;return}if(!(e[f+8>>1]&2)){i=g;return}Pe(c[h>>2]|0,1);i=g;return}function Kp(f,g,j){f=f|0;g=g|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;l=q;m=q+20|0;n=q+16|0;o=q+25|0;p=q+24|0;r=q+12|0;c[n>>2]=f;a[o>>0]=g;a[p>>0]=j;c[r>>2]=e[(c[n>>2]|0)+8>>1];c[q+8>>2]=32;if(Lp(c[n>>2]|0,32)|0){c[m>>2]=7;f=c[m>>2]|0;i=q;return f|0}j=c[(c[n>>2]|0)+16>>2]|0;g=c[n>>2]|0;if(c[r>>2]&4){r=g;g=c[r+4>>2]|0;f=l;c[f>>2]=c[r>>2];c[f+4>>2]=g;sc(32,j,9456,l)|0}else{h[k>>3]=+h[g>>3];c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];sc(32,j,9808,l)|0}f=Mb(c[(c[n>>2]|0)+16>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=f;a[(c[n>>2]|0)+10>>0]=1;f=(c[n>>2]|0)+8|0;b[f>>1]=e[f>>1]|514;if(a[p>>0]|0){f=(c[n>>2]|0)+8|0;b[f>>1]=e[f>>1]&-13}yk(c[n>>2]|0,d[o>>0]|0)|0;c[m>>2]=0;f=c[m>>2]|0;i=q;return f|0}function Lp(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[j>>2]=a;c[h>>2]=d;d=c[j>>2]|0;if((c[(c[j>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[g>>2]=Dk(d,c[h>>2]|0,0)|0;a=c[g>>2]|0;i=f;return a|0}else{c[(c[j>>2]|0)+16>>2]=c[d+20>>2];a=(c[j>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&13;c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}return 0}function Mp(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=Kd(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=D;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|4;i=d;return 0}function Np(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+Id(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|8;i=d;return 0}function Op(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,l=0,m=0,n=0;l=i;i=i+32|0;e=l+24|0;j=l+20|0;k=l+16|0;g=l+12|0;n=l+8|0;m=l+4|0;h=l;c[e>>2]=a;c[j>>2]=b;c[k>>2]=d;c[g>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){f=7;break}a=c[n>>2]|0;c[m>>2]=(c[n>>2]|0)<2?a^1:a;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];if(!((c[k>>2]|0)!=0?(xc(c[k>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)!=0:0))f=5;if((f|0)==5?(f=0,c[g>>2]=bh((c[h>>2]|0)+24|0,c[j>>2]|0)|0,(c[g>>2]|0)!=0):0){f=7;break}c[n>>2]=(c[n>>2]|0)+1}if((f|0)==7){i=l;return c[g>>2]|0}return 0}function Pp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k;j=k+12|0;f=k+8|0;g=k+4|0;c[f>>2]=b;c[g>>2]=e;if((((a[(c[c[f>>2]>>2]|0)+145>>0]|0)==0?(d[(c[f>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[f>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Lb(c[g>>2]|0,15144,7)|0):0){b=c[f>>2]|0;c[h>>2]=c[g>>2];Se(b,18064,h);c[j>>2]=1;b=c[j>>2]|0;i=k;return b|0}c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}function Qp(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;o=i;i=i+48|0;m=o;j=o+36|0;k=o+32|0;l=o+28|0;s=o+24|0;q=o+20|0;t=o+16|0;p=o+12|0;n=o+8|0;r=o+4|0;h=o+40|0;c[k>>2]=f;c[l>>2]=g;c[t>>2]=0;c[n>>2]=c[c[k>>2]>>2];if(Vp(c[k>>2]|0,c[l>>2]|0)|0){c[j>>2]=1;f=c[j>>2]|0;i=o;return f|0}if(d[(c[l>>2]|0)+44>>0]&16){c[j>>2]=0;f=c[j>>2]|0;i=o;return f|0}if((b[(c[l>>2]|0)+38>>1]|0)>0){c[j>>2]=0;f=c[j>>2]|0;i=o;return f|0}if((b[(c[l>>2]|0)+38>>1]|0)<0){f=c[k>>2]|0;c[m>>2]=c[c[l>>2]>>2];Se(f,16328,m);c[j>>2]=1;f=c[j>>2]|0;i=o;return f|0}c[q>>2]=Wp(c[n>>2]|0,c[(c[l>>2]|0)+12>>2]|0,0)|0;if(c[q>>2]|0){a[h>>0]=a[(c[n>>2]|0)+250>>0]|0;c[p>>2]=c[(c[k>>2]|0)+68>>2];Xp(c[k>>2]|0,c[(c[q>>2]|0)+32>>2]|0);b[(c[l>>2]|0)+38>>1]=-1;a[(c[n>>2]|0)+250>>0]=0;c[r>>2]=c[(c[n>>2]|0)+284>>2];c[(c[n>>2]|0)+284>>2]=0;c[s>>2]=Yp(c[k>>2]|0,c[q>>2]|0)|0;c[(c[n>>2]|0)+284>>2]=c[r>>2];a[(c[n>>2]|0)+250>>0]=a[h>>0]|0;c[(c[k>>2]|0)+68>>2]=c[p>>2];if(c[s>>2]|0){b[(c[l>>2]|0)+38>>1]=b[(c[s>>2]|0)+38>>1]|0;c[(c[l>>2]|0)+4>>2]=c[(c[s>>2]|0)+4>>2];b[(c[s>>2]|0)+38>>1]=0;c[(c[s>>2]|0)+4>>2]=0;Vb(c[n>>2]|0,c[s>>2]|0);f=(c[(c[l>>2]|0)+68>>2]|0)+78|0;b[f>>1]=e[f>>1]|2}else{b[(c[l>>2]|0)+38>>1]=0;c[t>>2]=(c[t>>2]|0)+1}tn(c[n>>2]|0,c[q>>2]|0)}else c[t>>2]=(c[t>>2]|0)+1;c[j>>2]=c[t>>2];f=c[j>>2]|0;i=o;return f|0}function Rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];while(1){if(!(c[e>>2]|0)){b=5;break}if((c[c[e>>2]>>2]|0)==(c[f>>2]|0)){b=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((b|0)==5){i=d;return c[e>>2]|0}return 0}function Sp(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[e>>2]=b;a[(c[e>>2]|0)+21>>0]=1;i=d;return}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;h=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[h>>2]=b;c[e>>2]=0;c[f>>2]=Up(c[h>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[e>>2]=yp(c[c[g>>2]>>2]|0,c[e>>2]|0,c[c[c[f>>2]>>2]>>2]|0)|0;c[f>>2]=c[(c[f>>2]|0)+12>>2]}i=d;return c[e>>2]|0}function Up(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bh((c[(c[d>>2]|0)+68>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Vp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;m=p;o=p+36|0;l=p+32|0;g=p+28|0;f=p+24|0;n=p+20|0;h=p+16|0;j=p+12|0;e=p+8|0;k=p+4|0;c[l>>2]=a;c[g>>2]=b;c[f>>2]=c[c[l>>2]>>2];if(((d[(c[g>>2]|0)+44>>0]|0)&16|0)!=0?(Rp(c[f>>2]|0,c[g>>2]|0)|0)==0:0){c[n>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[h>>2]=bh((c[f>>2]|0)+308|0,c[n>>2]|0)|0;if(c[h>>2]|0){c[k>>2]=0;c[j>>2]=zr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+8>>2]|0,k)|0;if(c[j>>2]|0){a=c[l>>2]|0;c[m>>2]=c[k>>2];Se(a,1200,m)}Xb(c[f>>2]|0,c[k>>2]|0)}else{c[e>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];a=c[l>>2]|0;c[m>>2]=c[e>>2];Se(a,17944,m);c[j>>2]=1}c[o>>2]=c[j>>2];a=c[o>>2]|0;i=p;return a|0}c[o>>2]=0;a=c[o>>2]|0;i=p;return a|0}function Wp(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;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[j>>2]=0;d=c[j>>2]|0;i=h;return d|0}c[n>>2]=Qe(c[k>>2]|0,72,0)|0;if(!(c[n>>2]|0)){c[j>>2]=0;d=c[j>>2]|0;i=h;return d|0}d=Jq(c[k>>2]|0,c[c[l>>2]>>2]|0,c[m>>2]|0)|0;c[c[n>>2]>>2]=d;d=wr(c[k>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=d;d=Bq(c[k>>2]|0,c[(c[l>>2]|0)+36>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+36>>2]=d;d=Jq(c[k>>2]|0,c[(c[l>>2]|0)+40>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+40>>2]=d;d=Bq(c[k>>2]|0,c[(c[l>>2]|0)+44>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=d;d=Jq(c[k>>2]|0,c[(c[l>>2]|0)+48>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+48>>2]=d;a[(c[n>>2]|0)+4>>0]=a[(c[l>>2]|0)+4>>0]|0;d=Wp(c[k>>2]|0,c[(c[l>>2]|0)+52>>2]|0,c[m>>2]|0)|0;c[o>>2]=d;c[(c[n>>2]|0)+52>>2]=d;if(c[o>>2]|0)c[(c[o>>2]|0)+56>>2]=c[n>>2];c[(c[n>>2]|0)+56>>2]=0;o=Bq(c[k>>2]|0,c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+60>>2]=o;o=Bq(c[k>>2]|0,c[(c[l>>2]|0)+64>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+64>>2]=o;c[(c[n>>2]|0)+8>>2]=0;c[(c[n>>2]|0)+12>>2]=0;b[(c[n>>2]|0)+6>>1]=(e[(c[l>>2]|0)+6>>1]|0)&-9;c[(c[n>>2]|0)+16>>2]=-1;c[(c[n>>2]|0)+20>>2]=-1;o=(c[l>>2]|0)+24|0;f=c[o+4>>2]|0;d=(c[n>>2]|0)+24|0;c[d>>2]=c[o>>2];c[d+4>>2]=f;d=xr(c[k>>2]|0,c[(c[l>>2]|0)+68>>2]|0)|0;c[(c[n>>2]|0)+68>>2]=d;c[j>>2]=c[n>>2];d=c[j>>2]|0;i=h;return d|0}function Xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;h=d+8|0;g=d+4|0;f=d;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=d;return}c[g>>2]=0;c[f>>2]=(c[h>>2]|0)+8;while(1){if((c[g>>2]|0)>=(c[c[h>>2]>>2]|0)){b=8;break}if((c[(c[f>>2]|0)+40>>2]|0)>=0){b=8;break}b=(c[e>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[f>>2]|0)+40>>2]=a;if(c[(c[f>>2]|0)+20>>2]|0)Xp(c[e>>2]|0,c[(c[(c[f>>2]|0)+20>>2]|0)+32>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}if((b|0)==8){i=d;return}}function Yp(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;j=f+16|0;k=f+12|0;h=f+8|0;l=f+4|0;m=f;c[j>>2]=d;c[k>>2]=e;c[l>>2]=c[c[j>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+24>>2];d=(c[l>>2]|0)+24|0;c[d>>2]=c[d>>2]&-33;d=(c[l>>2]|0)+24|0;c[d>>2]=c[d>>2]|64;Zp(c[j>>2]|0,c[k>>2]|0,0);if(c[(c[j>>2]|0)+64>>2]|0){c[g>>2]=0;d=c[g>>2]|0;i=f;return d|0}while(1){if(!(c[(c[k>>2]|0)+52>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+52>>2]}c[(c[l>>2]|0)+24>>2]=c[m>>2];c[h>>2]=se(c[l>>2]|0,76,0)|0;if(!(c[h>>2]|0)){c[g>>2]=0;d=c[g>>2]|0;i=f;return d|0}b[(c[h>>2]|0)+40>>1]=1;c[c[h>>2]>>2]=0;b[(c[h>>2]|0)+28>>1]=200;_p(c[j>>2]|0,c[c[k>>2]>>2]|0,(c[h>>2]|0)+38|0,(c[h>>2]|0)+4|0)|0;$p(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0);b[(c[h>>2]|0)+36>>1]=-1;if(a[(c[l>>2]|0)+64>>0]|0){Vb(c[l>>2]|0,c[h>>2]|0);c[g>>2]=0;d=c[g>>2]|0;i=f;return d|0}else{c[g>>2]=c[h>>2];d=c[g>>2]|0;i=f;return d|0}return 0}function Zp(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;if(!(c[k>>2]|0)){i=h;return}c[m>>2]=c[c[j>>2]>>2];if(a[(c[m>>2]|0)+64>>0]|0){i=h;return}if(e[(c[k>>2]|0)+6>>1]&32){i=h;return}jq(c[j>>2]|0,c[k>>2]|0);if(c[(c[j>>2]|0)+64>>2]|0){i=h;return}if(d[(c[m>>2]|0)+64>>0]|0){i=h;return}kq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);if(c[(c[j>>2]|0)+64>>2]|0){i=h;return}if(d[(c[m>>2]|0)+64>>0]|0){i=h;return}lq(c[j>>2]|0,c[k>>2]|0);i=h;return}function _p(e,f,g,h){e=e|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,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;j=i;i=i+96|0;v=j;q=j+84|0;F=j+80|0;z=j+76|0;m=j+72|0;l=j+68|0;n=j+64|0;p=j+60|0;o=j+56|0;u=j+52|0;k=j+48|0;C=j+44|0;B=j+40|0;A=j+36|0;s=j+32|0;t=j+28|0;r=j+24|0;w=j+20|0;x=j+16|0;E=j+12|0;D=j+8|0;c[F>>2]=e;c[z>>2]=f;c[m>>2]=g;c[l>>2]=h;c[n>>2]=c[c[F>>2]>>2];if(c[z>>2]|0){c[B>>2]=c[c[z>>2]>>2];c[k>>2]=se(c[n>>2]|0,(c[B>>2]|0)*24|0,0)|0}else{c[B>>2]=0;c[k>>2]=0}b[c[m>>2]>>1]=c[B>>2];c[c[l>>2]>>2]=c[k>>2];c[p>>2]=0;c[C>>2]=c[k>>2];while(1){if((c[p>>2]|0)>=(c[B>>2]|0))break;c[A>>2]=iq(c[(c[(c[z>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;F=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+4>>2]|0;c[s>>2]=F;do if(!F){c[r>>2]=c[A>>2];while(1){h=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[h+16>>2]}if((d[h>>0]|0)==154?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[x>>2]=b[(c[r>>2]|0)+32>>1];c[w>>2]=c[(c[r>>2]|0)+44>>2];if((c[x>>2]|0)<0)c[x>>2]=b[(c[w>>2]|0)+36>>1];h=c[n>>2]|0;if((c[x>>2]|0)>=0)g=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[x>>2]|0)*24|0)>>2]|0;else g=9992;c[v>>2]=g;c[s>>2]=Te(h,1200,v)|0;break}h=c[n>>2]|0;if((d[c[r>>2]>>0]|0)==27){c[v>>2]=c[(c[r>>2]|0)+8>>2];c[s>>2]=Te(h,1200,v)|0;break}else{c[v>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+8>>2];c[s>>2]=Te(h,1200,v)|0;break}}else c[s>>2]=ne(c[n>>2]|0,c[s>>2]|0)|0;while(0);if(a[(c[n>>2]|0)+64>>0]|0){y=22;break}c[t>>2]=Mb(c[s>>2]|0)|0;c[u>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break;if(!(xc(c[(c[k>>2]|0)+((c[o>>2]|0)*24|0)>>2]|0,c[s>>2]|0)|0)){c[D>>2]=(c[t>>2]|0)-1;while(1){if((c[D>>2]|0)<=1)break;if(!(d[1224+(d[(c[s>>2]|0)+(c[D>>2]|0)>>0]|0)>>0]&4))break;c[D>>2]=(c[D>>2]|0)+ -1}if((c[D>>2]|0)>=0?(a[(c[s>>2]|0)+(c[D>>2]|0)>>0]|0)==58:0)c[t>>2]=c[D>>2];a[(c[s>>2]|0)+(c[t>>2]|0)>>0]=0;F=c[n>>2]|0;f=c[s>>2]|0;e=(c[u>>2]|0)+1|0;c[u>>2]=e;c[v>>2]=f;c[v+4>>2]=e;c[E>>2]=Te(F,16424,v)|0;Xb(c[n>>2]|0,c[s>>2]|0);c[s>>2]=c[E>>2];c[o>>2]=-1;if(!(c[s>>2]|0))break}c[o>>2]=(c[o>>2]|0)+1}c[c[C>>2]>>2]=c[s>>2];c[p>>2]=(c[p>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+24}if((y|0)==22)Xb(c[n>>2]|0,c[s>>2]|0);if(!(a[(c[n>>2]|0)+64>>0]|0)){c[q>>2]=0;F=c[q>>2]|0;i=j;return F|0}c[o>>2]=0;while(1){r=c[n>>2]|0;if((c[o>>2]|0)>=(c[p>>2]|0))break;Xb(r,c[(c[k>>2]|0)+((c[o>>2]|0)*24|0)>>2]|0);c[o>>2]=(c[o>>2]|0)+1}Xb(r,c[k>>2]|0);c[c[l>>2]>>2]=0;b[c[m>>2]>>1]=0;c[q>>2]=7;F=c[q>>2]|0;i=j;return F|0}function $p(e,f,g){e=e|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;o=i;i=i+80|0;l=o+76|0;k=o+72|0;t=o+68|0;r=o+64|0;s=o+32|0;h=o+24|0;n=o+20|0;q=o+16|0;m=o+12|0;p=o+8|0;j=o;c[l>>2]=e;c[k>>2]=f;c[t>>2]=g;c[r>>2]=c[c[l>>2]>>2];e=j;c[e>>2]=0;c[e+4>>2]=0;if(a[(c[r>>2]|0)+64>>0]|0){i=o;return}c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[s+28>>2]=0;c[s+4>>2]=c[(c[t>>2]|0)+32>>2];c[p>>2]=c[(c[c[t>>2]>>2]|0)+4>>2];c[q>>2]=0;c[h>>2]=c[(c[k>>2]|0)+4>>2];while(1){if((c[q>>2]|0)>=(b[(c[k>>2]|0)+38>>1]|0))break;c[m>>2]=c[(c[p>>2]|0)+((c[q>>2]|0)*20|0)>>2];f=c[r>>2]|0;f=ne(f,aq(s,c[m>>2]|0,(c[h>>2]|0)+22|0)|0)|0;c[(c[h>>2]|0)+12>>2]=f;f=j;f=bF(c[f>>2]|0,c[f+4>>2]|0,d[(c[h>>2]|0)+22>>0]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=D;e=bq(c[m>>2]|0)|0;a[(c[h>>2]|0)+21>>0]=e;if(!(a[(c[h>>2]|0)+21>>0]|0))a[(c[h>>2]|0)+21>>0]=65;c[n>>2]=cq(c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){e=ne(c[r>>2]|0,c[c[n>>2]>>2]|0)|0;c[(c[h>>2]|0)+16>>2]=e}c[q>>2]=(c[q>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+24}e=j;e=lF(c[e>>2]|0,c[e+4>>2]|0,4,0)|0;e=dq(e,D)|0;b[(c[k>>2]|0)+42>>1]=e;i=o;return}function aq(e,f,g){e=e|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;s=i;i=i+128|0;j=s+116|0;n=s+112|0;v=s+108|0;r=s+104|0;p=s+100|0;t=s+96|0;o=s+120|0;h=s+92|0;q=s+88|0;k=s+84|0;u=s+80|0;m=s+48|0;l=s+40|0;y=s+8|0;w=s+4|0;x=s;c[n>>2]=e;c[v>>2]=f;c[r>>2]=g;c[p>>2]=0;a[o>>0]=1;if((c[v>>2]|0)!=0?(c[(c[n>>2]|0)+4>>2]|0)!=0:0){g=d[c[v>>2]>>0]|0;do if((g|0)==154|(g|0)==156){c[h>>2]=0;c[q>>2]=0;c[k>>2]=b[(c[v>>2]|0)+32>>1];while(1){if(!(c[n>>2]|0))break;if(!((c[h>>2]|0)!=0^1))break;c[u>>2]=c[(c[n>>2]|0)+4>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[u>>2]>>2]|0))break;if((c[(c[u>>2]|0)+8+((c[t>>2]|0)*72|0)+40>>2]|0)==(c[(c[v>>2]|0)+28>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)<(c[c[u>>2]>>2]|0)){c[h>>2]=c[(c[u>>2]|0)+8+((c[t>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[u>>2]|0)+8+((c[t>>2]|0)*72|0)+20>>2];continue}else{c[n>>2]=c[(c[n>>2]|0)+16>>2];continue}}if(c[h>>2]|0){if(c[q>>2]|0){if((c[k>>2]|0)<0)break;if((c[k>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break;c[l>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2];c[m+4>>2]=c[(c[q>>2]|0)+32>>2];c[m+16>>2]=c[n>>2];c[m>>2]=c[c[n>>2]>>2];c[p>>2]=aq(m,c[l>>2]|0,o)|0;break}if(c[(c[h>>2]|0)+68>>2]|0){if((c[k>>2]|0)<0)c[k>>2]=b[(c[h>>2]|0)+36>>1];if((c[k>>2]|0)<0){c[p>>2]=16416;break}else{c[p>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+12>>2];a[o>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+22>>0]|0;break}}}}else if((g|0)==119){c[w>>2]=c[(c[v>>2]|0)+20>>2];c[x>>2]=c[c[(c[c[w>>2]>>2]|0)+4>>2]>>2];c[y+4>>2]=c[(c[w>>2]|0)+32>>2];c[y+16>>2]=c[n>>2];c[y>>2]=c[c[n>>2]>>2];c[p>>2]=aq(y,c[x>>2]|0,o)|0}while(0);if(c[r>>2]|0)a[c[r>>2]>>0]=a[o>>0]|0;c[j>>2]=c[p>>2];e=c[j>>2]|0;i=s;return e|0}c[j>>2]=0;e=c[j>>2]|0;i=s;return e|0}function bq(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;k=f+4|0;j=f;c[h>>2]=e;c[h>>2]=iq(c[h>>2]|0)|0;if(c[(c[h>>2]|0)+4>>2]&512){a[g>>0]=0;k=a[g>>0]|0;i=f;return k|0}c[k>>2]=d[c[h>>2]>>0];if((c[k>>2]|0)==119){a[g>>0]=bq(c[c[(c[c[(c[h>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;k=a[g>>0]|0;i=f;return k|0}if((c[k>>2]|0)==38){a[g>>0]=Bp(c[(c[h>>2]|0)+8>>2]|0,0)|0;k=a[g>>0]|0;i=f;return k|0}if((c[k>>2]|0)==156|(c[k>>2]|0)==154|(c[k>>2]|0)==159?(c[(c[h>>2]|0)+44>>2]|0)!=0:0){c[j>>2]=b[(c[h>>2]|0)+32>>1];if((c[j>>2]|0)<0){a[g>>0]=68;k=a[g>>0]|0;i=f;return k|0}else{a[g>>0]=a[(c[(c[(c[h>>2]|0)+44>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0)+21>>0]|0;k=a[g>>0]|0;i=f;return k|0}}a[g>>0]=a[(c[h>>2]|0)+1>>0]|0;k=a[g>>0]|0;i=f;return k|0}function cq(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;j=i;i=i+32|0;k=j+28|0;q=j+24|0;o=j+20|0;m=j+16|0;l=j+12|0;p=j+8|0;g=j+4|0;n=j;c[k>>2]=e;c[q>>2]=f;c[o>>2]=c[c[k>>2]>>2];c[m>>2]=0;c[l>>2]=c[q>>2];while(1){if(!(c[l>>2]|0))break;c[p>>2]=d[c[l>>2]>>0];if(c[(c[l>>2]|0)+4>>2]&512)break;if((c[p>>2]|0)==38|(c[p>>2]|0)==158){c[l>>2]=c[(c[l>>2]|0)+12>>2];continue}if((c[p>>2]|0)==95){h=9;break}if((c[p>>2]|0)==159?(d[(c[l>>2]|0)+38>>0]|0)==95:0){h=9;break}if((c[(c[l>>2]|0)+44>>2]|0)!=0?(c[p>>2]|0)==156|(c[p>>2]|0)==154|(c[p>>2]|0)==159|(c[p>>2]|0)==62:0){h=12;break}if(!(c[(c[l>>2]|0)+4>>2]&256))break;if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[l>>2]=c[(c[l>>2]|0)+12>>2];continue}c[l>>2]=c[(c[l>>2]|0)+16>>2]}if((h|0)==9)c[m>>2]=eq(c[k>>2]|0,a[(c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,0,c[(c[l>>2]|0)+8>>2]|0)|0;else if((h|0)==12?(c[g>>2]=b[(c[l>>2]|0)+32>>1],(c[g>>2]|0)>=0):0){c[n>>2]=c[(c[(c[(c[l>>2]|0)+44>>2]|0)+4>>2]|0)+((c[g>>2]|0)*24|0)+16>>2];c[m>>2]=$g(c[o>>2]|0,a[(c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[n>>2]|0,0)|0}if(!(fq(c[k>>2]|0,c[m>>2]|0)|0)){q=c[m>>2]|0;i=j;return q|0}c[m>>2]=0;q=c[m>>2]|0;i=j;return q|0}function dq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+10|0;g=e;h=e+8|0;j=g;c[j>>2]=a;c[j+4>>2]=d;b[h>>1]=40;a=g;d=c[a+4>>2]|0;a:do if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<8){j=g;a=c[j+4>>2]|0;if(a>>>0<0|(a|0)==0&(c[j>>2]|0)>>>0<2){b[f>>1]=0;j=b[f>>1]|0;i=e;return j|0}else while(1){j=g;a=c[j+4>>2]|0;if(!(a>>>0<0|(a|0)==0&(c[j>>2]|0)>>>0<8))break a;b[h>>1]=(b[h>>1]|0)-10;a=g;a=$E(c[a>>2]|0,c[a+4>>2]|0,1)|0;j=g;c[j>>2]=a;c[j+4>>2]=D}}else{while(1){j=g;a=c[j+4>>2]|0;if(!(a>>>0>0|(a|0)==0&(c[j>>2]|0)>>>0>255))break;b[h>>1]=(b[h>>1]|0)+40;a=g;a=cF(c[a>>2]|0,c[a+4>>2]|0,4)|0;j=g;c[j>>2]=a;c[j+4>>2]=D}while(1){j=g;a=c[j+4>>2]|0;if(!(a>>>0>0|(a|0)==0&(c[j>>2]|0)>>>0>15))break a;b[h>>1]=(b[h>>1]|0)+10;a=g;a=cF(c[a>>2]|0,c[a+4>>2]|0,1)|0;j=g;c[j>>2]=a;c[j+4>>2]=D}}while(0);b[f>>1]=(b[16360+((c[g>>2]&7)<<1)>>1]|0)+(b[h>>1]|0)-10;j=b[f>>1]|0;i=e;return j|0}function eq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;h=j;k=j+20|0;o=j+24|0;p=j+16|0;l=j+12|0;m=j+8|0;n=j+4|0;c[k>>2]=b;a[o>>0]=e;c[p>>2]=f;c[l>>2]=g;c[n>>2]=c[c[k>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=$g(c[n>>2]|0,a[o>>0]|0,c[l>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){gq(c[n>>2]|0,d[o>>0]|0,c[l>>2]|0);c[m>>2]=$g(c[n>>2]|0,a[o>>0]|0,c[l>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(hq(c[n>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=j;return p|0}p=c[k>>2]|0;c[h>>2]=c[l>>2];Se(p,16376,h);p=c[m>>2]|0;i=j;return p|0}function fq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;e=f+20|0;l=f+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[l>>2]=b;c[j>>2]=d;if((c[j>>2]|0)!=0?(c[h>>2]=c[c[j>>2]>>2],c[k>>2]=c[c[l>>2]>>2],c[g>>2]=eq(c[l>>2]|0,a[(c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[j>>2]|0,c[h>>2]|0)|0,(c[g>>2]|0)==0):0){c[e>>2]=1;b=c[e>>2]|0;i=f;return b|0}c[e>>2]=0;b=c[e>>2]|0;i=f;return b|0}function gq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;k=g+12|0;m=g+8|0;l=g+4|0;j=g;c[h>>2]=b;c[n>>2]=e;c[k>>2]=f;do if(c[(c[h>>2]|0)+220>>2]|0){c[m>>2]=ne(c[h>>2]|0,c[k>>2]|0)|0;if(c[m>>2]|0){Bb[c[(c[h>>2]|0)+220>>2]&3](c[(c[h>>2]|0)+228>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0);Xb(c[h>>2]|0,c[m>>2]|0);break}else{i=g;return}}while(0);if(!(c[(c[h>>2]|0)+224>>2]|0)){i=g;return}c[j>>2]=rf(c[h>>2]|0)|0;sf(c[j>>2]|0,-1,c[k>>2]|0,1,0);c[l>>2]=Md(c[j>>2]|0,((a[1136]|0)==0?3:2)&255)|0;if(c[l>>2]|0)Bb[c[(c[h>>2]|0)+224>>2]&3](c[(c[h>>2]|0)+228>>2]|0,c[h>>2]|0,d[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[l>>2]|0);tf(c[j>>2]|0);i=g;return}function hq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;e=f+20|0;j=f+16|0;g=f+12|0;h=f+8|0;l=f+4|0;k=f;c[j>>2]=b;c[g>>2]=d;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=3){d=6;break}c[h>>2]=$g(c[j>>2]|0,a[16408+(c[k>>2]|0)>>0]|0,c[l>>2]|0,0)|0;if(c[(c[h>>2]|0)+12>>2]|0){d=4;break}c[k>>2]=(c[k>>2]|0)+1}if((d|0)==4){b=c[g>>2]|0;l=c[h>>2]|0;c[b+0>>2]=c[l+0>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[b+16>>2]=c[l+16>>2];c[(c[g>>2]|0)+16>>2]=0;c[e>>2]=0;b=c[e>>2]|0;i=f;return b|0}else if((d|0)==6){c[e>>2]=1;b=c[e>>2]|0;i=f;return b|0}return 0}function iq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;while(1){if(c[d>>2]|0)e=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else e=0;a=c[d>>2]|0;if(!e)break;e=c[d>>2]|0;if(c[a+4>>2]&262144){c[d>>2]=c[c[(c[e+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[e+12>>2];continue}}i=b;return a|0}function jq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+28|0;f=e+24|0;g=e;c[h>>2]=b;c[f>>2]=d;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=37;c[g+12>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[g+4>>2]=38;oq(g,c[f>>2]|0)|0}c[g+4>>2]=39;c[g+8>>2]=3;oq(g,c[f>>2]|0)|0;i=e;return}function kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+32|0;f=e+28|0;h=e+24|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=40;c[g+4>>2]=41;c[g+12>>2]=c[j>>2];c[g+20>>2]=c[h>>2];oq(g,c[f>>2]|0)|0;i=e;return}function lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;e=d+24|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+8>>2]=4;c[f>>2]=37;c[f+12>>2]=c[g>>2];oq(f,c[e>>2]|0)|0;i=d;return}function mq(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;i=i+32|0;p=l+28|0;o=l+24|0;n=l+20|0;g=l+16|0;m=l+12|0;h=l+8|0;k=l+4|0;j=l;c[p>>2]=a;c[o>>2]=f;if((e[(c[o>>2]|0)+6>>1]|0)&32){i=l;return}a=(c[o>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|32;c[n>>2]=c[(c[p>>2]|0)+12>>2];c[m>>2]=c[(c[o>>2]|0)+32>>2];c[g>>2]=0;c[h>>2]=(c[m>>2]|0)+8;while(1){if((c[g>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+16>>2];if(((c[k>>2]|0)!=0?((d[(c[k>>2]|0)+44>>0]|0)&2|0)!=0:0)?(c[j>>2]=c[(c[h>>2]|0)+20>>2],(c[j>>2]|0)!=0):0){while(1){if(!(c[(c[j>>2]|0)+52>>2]|0))break;c[j>>2]=c[(c[j>>2]|0)+52>>2]}$p(c[n>>2]|0,c[k>>2]|0,c[j>>2]|0)}c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}i=l;return}function nq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;do if(c[h>>2]|0){if((c[(c[f>>2]|0)+4>>2]|0)==0?(c[(c[f>>2]|0)+8>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[h>>2]|0)){b=15;break}if((c[(c[f>>2]|0)+4>>2]|0)!=0?(c[g>>2]=zb[c[(c[f>>2]|0)+4>>2]&63](c[f>>2]|0,c[h>>2]|0)|0,(c[g>>2]|0)!=0):0){b=15;break}if(pq(c[f>>2]|0,c[h>>2]|0)|0){b=11;break}if(qq(c[f>>2]|0,c[h>>2]|0)|0){b=11;break}if(c[(c[f>>2]|0)+8>>2]|0)sb[c[(c[f>>2]|0)+8>>2]&7](c[f>>2]|0,c[h>>2]|0);c[h>>2]=c[(c[h>>2]|0)+52>>2]}if((b|0)==11){a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1;c[d>>2]=2;a=c[d>>2]|0;i=e;return a|0}else if((b|0)==15){a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+ -1;c[d>>2]=c[g>>2]&2;a=c[d>>2]|0;i=e;return a|0}}while(0);c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}function pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=b;do if(!(rq(c[f>>2]|0,c[c[g>>2]>>2]|0)|0)){if(sq(c[f>>2]|0,c[(c[g>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(rq(c[f>>2]|0,c[(c[g>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(sq(c[f>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(rq(c[f>>2]|0,c[(c[g>>2]|0)+48>>2]|0)|0){c[d>>2]=2;break}if(sq(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}if(sq(c[f>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=e;return c[d>>2]|0}function qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;d=e+20|0;f=e+16|0;k=e+12|0;j=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[k>>2]=b;c[j>>2]=c[(c[k>>2]|0)+32>>2];a:do if(c[j>>2]|0){c[h>>2]=c[c[j>>2]>>2];c[g>>2]=(c[j>>2]|0)+8;while(1){if((c[h>>2]|0)<=0)break a;if(oq(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)break;c[h>>2]=(c[h>>2]|0)+ -1;c[g>>2]=(c[g>>2]|0)+72}c[d>>2]=2;k=c[d>>2]|0;i=e;return k|0}while(0);c[d>>2]=0;k=c[d>>2]|0;i=e;return k|0}function rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;d=e+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[j>>2]=b;a:do if(c[j>>2]|0){c[h>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[h>>2]|0)<=0)break a;if(sq(c[f>>2]|0,c[c[g>>2]>>2]|0)|0)break;c[h>>2]=(c[h>>2]|0)+ -1;c[g>>2]=(c[g>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=e;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;h=d+8|0;g=d+4|0;f=d;c[h>>2]=a;c[g>>2]=b;a:do if(!(c[g>>2]|0))c[e>>2]=0;else{c[f>>2]=zb[c[c[h>>2]>>2]&63](c[h>>2]|0,c[g>>2]|0)|0;do if((c[f>>2]|0)==0?(c[(c[g>>2]|0)+4>>2]&16384|0)==0:0){if(sq(c[h>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[e>>2]=2;break a}if(sq(c[h>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0){c[e>>2]=2;break a}h=c[h>>2]|0;b=(c[g>>2]|0)+20|0;if(c[(c[g>>2]|0)+4>>2]&2048){if(!(oq(h,c[b>>2]|0)|0))break;c[e>>2]=2;break a}else{if(!(rq(h,c[b>>2]|0)|0))break;c[e>>2]=2;break a}}while(0);c[e>>2]=c[f>>2]&2}while(0);i=d;return c[e>>2]|0}function tq(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;j=i;i=i+96|0;s=j;h=j+84|0;l=j+80|0;x=j+76|0;o=j+72|0;p=j+68|0;F=j+64|0;D=j+60|0;C=j+56|0;E=j+52|0;m=j+48|0;z=j+44|0;t=j+40|0;u=j+36|0;n=j+32|0;y=j+28|0;r=j+24|0;q=j+20|0;k=j+16|0;v=j+88|0;A=j+12|0;B=j+8|0;c[l>>2]=f;c[x>>2]=g;c[o>>2]=c[(c[l>>2]|0)+20>>2];c[p>>2]=c[c[o>>2]>>2];if(c[(c[x>>2]|0)+4>>2]&4){c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0}f=(c[x>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[x>>2]>>0]|0){case 153:{c[m>>2]=c[(c[x>>2]|0)+20>>2];if(c[m>>2]|0)B=c[c[m>>2]>>2]|0;else B=0;c[z>>2]=B;c[t>>2]=0;c[u>>2]=0;c[n>>2]=0;a[v>>0]=a[(c[(c[(c[c[p>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;Sq(c[p>>2]|0,c[o>>2]|0,16800);c[q>>2]=c[(c[x>>2]|0)+8>>2];c[r>>2]=Mb(c[q>>2]|0)|0;c[k>>2]=Sf(c[c[p>>2]>>2]|0,c[q>>2]|0,c[r>>2]|0,c[z>>2]|0,a[v>>0]|0,0)|0;do if(!(c[k>>2]|0)){c[k>>2]=Sf(c[c[p>>2]>>2]|0,c[q>>2]|0,c[r>>2]|0,-2,a[v>>0]|0,0)|0;if(!(c[k>>2]|0)){c[t>>2]=1;break}else{c[u>>2]=1;break}}else{c[n>>2]=(c[(c[k>>2]|0)+12>>2]|0)==0&1;do if(e[(c[k>>2]|0)+2>>1]&1024){f=(c[x>>2]|0)+4|0;c[f>>2]=c[f>>2]|266240;if((c[z>>2]|0)!=2){c[(c[x>>2]|0)+28>>2]=(a[c[(c[k>>2]|0)+24>>2]>>0]|0)==117?62:938;break}f=Tq(c[(c[(c[m>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[x>>2]|0)+28>>2]=f;if((c[(c[x>>2]|0)+28>>2]|0)<0){Se(c[p>>2]|0,16816,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[y>>2]=ap(c[p>>2]|0,31,0,c[(c[k>>2]|0)+24>>2]|0,0)|0;if(!(c[y>>2]|0)){if(!(e[(c[k>>2]|0)+2>>1]&2048))break;f=(c[x>>2]|0)+4|0;c[f>>2]=c[f>>2]|524288;break}if((c[y>>2]|0)==1){f=c[p>>2]|0;c[s>>2]=c[(c[k>>2]|0)+24>>2];Se(f,16888,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1}a[c[x>>2]>>0]=101;c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0}while(0);if((c[n>>2]|0)!=0?(e[(c[o>>2]|0)+28>>1]&1|0)==0:0){f=c[p>>2]|0;g=c[q>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;Se(f,16928,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1;c[n>>2]=0}else w=29;do if((w|0)==29){if((c[t>>2]|0)!=0?(d[(c[c[p>>2]>>2]|0)+145>>0]|0)==0:0){f=c[p>>2]|0;g=c[q>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;Se(f,16968,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1;break}if(c[u>>2]|0){f=c[p>>2]|0;g=c[q>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;Se(f,16992,s);f=(c[o>>2]|0)+24|0;c[f>>2]=(c[f>>2]|0)+1}}while(0);if(c[n>>2]|0){f=(c[o>>2]|0)+28|0;b[f>>1]=e[f>>1]&-2}rq(c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){c[A>>2]=c[o>>2];a[c[x>>2]>>0]=-101;a[(c[x>>2]|0)+38>>0]=0;while(1){if(!(c[A>>2]|0))break;if(!((Uq(c[x>>2]|0,c[(c[A>>2]|0)+4>>2]|0)|0)!=0^1))break;f=(c[x>>2]|0)+38|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;c[A>>2]=c[(c[A>>2]|0)+16>>2]}if(c[A>>2]|0){f=(c[A>>2]|0)+28|0;b[f>>1]=e[f>>1]|(2|e[(c[k>>2]|0)+2>>1]&4096)}f=(c[o>>2]|0)+28|0;b[f>>1]=e[f>>1]|1}c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0};case 135:{Vq(c[p>>2]|0,c[o>>2]|0,17056);Sq(c[p>>2]|0,c[o>>2]|0,17056);break};case 75:case 20:case 119:{if((c[(c[x>>2]|0)+4>>2]&2048|0)!=0?(c[B>>2]=c[(c[o>>2]|0)+20>>2],Vq(c[p>>2]|0,c[o>>2]|0,17040),Sq(c[p>>2]|0,c[o>>2]|0,17040),oq(c[l>>2]|0,c[(c[x>>2]|0)+20>>2]|0)|0,(c[B>>2]|0)!=(c[(c[o>>2]|0)+20>>2]|0)):0){f=(c[x>>2]|0)+4|0;c[f>>2]=c[f>>2]|32}break};case 122:{c[E>>2]=c[(c[x>>2]|0)+16>>2];if((d[c[E>>2]>>0]|0)==27){c[C>>2]=0;c[D>>2]=c[(c[(c[x>>2]|0)+12>>2]|0)+8>>2];c[F>>2]=c[(c[E>>2]|0)+8>>2]}else{c[C>>2]=c[(c[(c[x>>2]|0)+12>>2]|0)+8>>2];c[D>>2]=c[(c[(c[E>>2]|0)+12>>2]|0)+8>>2];c[F>>2]=c[(c[(c[E>>2]|0)+16>>2]|0)+8>>2]}c[h>>2]=Rq(c[p>>2]|0,c[C>>2]|0,c[D>>2]|0,c[F>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;f=c[h>>2]|0;i=j;return f|0};case 27:{c[h>>2]=Rq(c[p>>2]|0,0,0,c[(c[x>>2]|0)+8>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;f=c[h>>2]|0;i=j;return f|0};default:{}}if(c[(c[p>>2]|0)+64>>2]|0)k=1;else k=(d[(c[c[p>>2]>>2]|0)+64>>0]|0)!=0;c[h>>2]=k?2:0;f=c[h>>2]|0;i=j;return f|0}function uq(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+112|0;m=j;h=j+108|0;C=j+104|0;B=j+100|0;o=j+96|0;t=j+64|0;k=j+56|0;A=j+52|0;l=j+48|0;u=j+44|0;q=j+40|0;r=j+36|0;n=j+32|0;p=j+28|0;w=j+24|0;y=j+20|0;z=j+16|0;x=j+12|0;v=j+8|0;s=j+4|0;c[C>>2]=f;c[B>>2]=g;if(e[(c[B>>2]|0)+6>>1]&2){c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0}c[o>>2]=c[(c[C>>2]|0)+20>>2];c[l>>2]=c[(c[C>>2]|0)+12>>2];c[p>>2]=c[c[l>>2]>>2];if(!(e[(c[B>>2]|0)+6>>1]&16)){Zp(c[l>>2]|0,c[B>>2]|0,c[o>>2]|0);if(c[(c[l>>2]|0)+64>>2]|0)k=1;else k=(d[(c[p>>2]|0)+64>>0]|0)!=0;c[h>>2]=k?2:1;f=c[h>>2]|0;i=j;return f|0}c[k>>2]=(c[(c[B>>2]|0)+52>>2]|0)!=0&1;c[A>>2]=0;c[n>>2]=c[B>>2];a:while(1){if(!(c[B>>2]|0)){o=58;break}f=(c[B>>2]|0)+6|0;b[f>>1]=e[f>>1]|2;c[t+0>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t>>2]=c[l>>2];if(vq(t,c[(c[B>>2]|0)+60>>2]|0)|0){o=11;break}if(vq(t,c[(c[B>>2]|0)+64>>2]|0)|0){o=11;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[(c[B>>2]|0)+32>>2]>>2]|0))break;c[w>>2]=(c[(c[B>>2]|0)+32>>2]|0)+8+((c[q>>2]|0)*72|0);if(c[(c[w>>2]|0)+20>>2]|0){c[z>>2]=0;c[x>>2]=c[(c[l>>2]|0)+492>>2];c[y>>2]=c[o>>2];while(1){if(!(c[y>>2]|0))break;c[z>>2]=(c[z>>2]|0)+(c[(c[y>>2]|0)+20>>2]|0);c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[(c[w>>2]|0)+8>>2]|0)c[(c[l>>2]|0)+492>>2]=c[(c[w>>2]|0)+8>>2];kq(c[l>>2]|0,c[(c[w>>2]|0)+20>>2]|0,c[o>>2]|0);c[(c[l>>2]|0)+492>>2]=c[x>>2];if(c[(c[l>>2]|0)+64>>2]|0){o=22;break a}if(d[(c[p>>2]|0)+64>>0]|0){o=22;break a}c[y>>2]=c[o>>2];while(1){if(!(c[y>>2]|0))break;c[z>>2]=(c[z>>2]|0)-(c[(c[y>>2]|0)+20>>2]|0);c[y>>2]=c[(c[y>>2]|0)+16>>2]}f=(c[w>>2]|0)+37|0;a[f>>0]=a[f>>0]&-3|((c[z>>2]|0)!=0&1)<<1&255}c[q>>2]=(c[q>>2]|0)+1}b[t+28>>1]=1;c[t+4>>2]=c[(c[B>>2]|0)+32>>2];c[t+16>>2]=c[o>>2];c[u>>2]=c[c[B>>2]>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[v>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2];if(vq(t,c[v>>2]|0)|0){o=31;break a}c[q>>2]=(c[q>>2]|0)+1}c[r>>2]=c[(c[B>>2]|0)+40>>2];if((c[r>>2]|0)==0?(e[t+28>>1]&2|0)==0:0){f=t+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[B>>2]|0)+6|0;b[f>>1]=e[f>>1]|(4|e[t+28>>1]&4096)}if(!((c[r>>2]|0)!=0?1:(c[(c[B>>2]|0)+44>>2]|0)==0)){o=38;break}c[t+8>>2]=c[c[B>>2]>>2];if(vq(t,c[(c[B>>2]|0)+44>>2]|0)|0){o=40;break}if(vq(t,c[(c[B>>2]|0)+36>>2]|0)|0){o=42;break}c[t+16>>2]=0;f=t+28|0;b[f>>1]=e[f>>1]|1;if((c[k>>2]|0)==0?(wq(t,c[B>>2]|0,c[(c[B>>2]|0)+48>>2]|0,16480)|0)!=0:0){o=45;break}if(a[(c[p>>2]|0)+64>>0]|0){o=47;break}b:do if(c[r>>2]|0){if(wq(t,c[B>>2]|0,c[r>>2]|0,16488)|0){o=51;break a}if(d[(c[p>>2]|0)+64>>0]|0){o=51;break a}c[q>>2]=0;c[s>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[q>>2]|0)>=(c[c[r>>2]>>2]|0))break b;if(c[(c[c[s>>2]>>2]|0)+4>>2]&2){o=55;break a}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}}while(0);c[B>>2]=c[(c[B>>2]|0)+52>>2];c[A>>2]=(c[A>>2]|0)+1}switch(o|0){case 11:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 22:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 31:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 38:{Se(c[l>>2]|0,16432,m);c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 40:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 42:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 45:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 47:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 51:{c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 55:{Se(c[l>>2]|0,16496,m);c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0};case 58:{if((c[k>>2]|0)!=0?(xq(c[l>>2]|0,c[n>>2]|0)|0)!=0:0){c[h>>2]=2;f=c[h>>2]|0;i=j;return f|0}c[h>>2]=1;f=c[h>>2]|0;i=j;return f|0}}return 0}function vq(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+48|0;g=f+40|0;k=f+36|0;j=f+32|0;l=f+44|0;m=f+8|0;h=f;c[k>>2]=a;c[j>>2]=d;if(!(c[j>>2]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}c[h>>2]=c[c[k>>2]>>2];if(Qq(c[h>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[k>>2]>>2]|0)+460>>2]|0)|0)|0){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}a=(c[h>>2]|0)+460|0;c[a>>2]=(c[a>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[k>>2]|0)+28>>1]|0)&4098;a=(c[k>>2]|0)+28|0;b[a>>1]=(e[a>>1]|0)&-4099;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m>>2]=40;c[m+4>>2]=41;c[m+12>>2]=c[c[k>>2]>>2];c[m+20>>2]=c[k>>2];sq(m,c[j>>2]|0)|0;a=(c[c[k>>2]>>2]|0)+460|0;c[a>>2]=(c[a>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[k>>2]|0)+24>>2]|0)<=0?(c[(c[m+12>>2]|0)+64>>2]|0)<=0:0)){a=(c[j>>2]|0)+4|0;c[a>>2]=c[a>>2]|8}if((e[(c[k>>2]|0)+28>>1]|0)&2){a=(c[j>>2]|0)+4|0;c[a>>2]=c[a>>2]|2}a=(c[k>>2]|0)+28|0;b[a>>1]=e[a>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;a=c[g>>2]|0;i=f;return a|0}function wq(d,e,f,g){d=d|0;e=e|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;r=i;i=i+64|0;k=r+48|0;v=r+44|0;o=r+40|0;t=r+36|0;h=r+32|0;s=r+28|0;u=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;w=r+8|0;q=r+4|0;p=r;c[v>>2]=d;c[o>>2]=e;c[t>>2]=f;c[h>>2]=g;if(!(c[t>>2]|0)){c[k>>2]=0;d=c[k>>2]|0;i=r;return d|0}c[w>>2]=c[c[c[o>>2]>>2]>>2];c[n>>2]=c[c[v>>2]>>2];c[s>>2]=0;c[m>>2]=c[(c[t>>2]|0)+4>>2];a:while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0)){j=20;break}c[q>>2]=c[c[m>>2]>>2];c[p>>2]=iq(c[q>>2]|0)|0;if((a[c[h>>2]>>0]|0)!=71?(c[l>>2]=Aq(c[n>>2]|0,c[c[o>>2]>>2]|0,c[p>>2]|0)|0,(c[l>>2]|0)>0):0)b[(c[m>>2]|0)+16>>1]=c[l>>2];else j=8;b:do if((j|0)==8){j=0;if(yq(c[p>>2]|0,l)|0){if((c[l>>2]|0)<1|(c[l>>2]|0)>65535){j=10;break a}b[(c[m>>2]|0)+16>>1]=c[l>>2];break}b[(c[m>>2]|0)+16>>1]=0;if(vq(c[v>>2]|0,c[q>>2]|0)|0){j=13;break a}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[c[o>>2]>>2]>>2]|0))break b;if(!(Dq(c[q>>2]|0,c[(c[(c[c[o>>2]>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[m>>2]|0)+16>>1]=(c[u>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[s>>2]=(c[s>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((j|0)==10){zq(c[n>>2]|0,c[h>>2]|0,(c[s>>2]|0)+1|0,c[w>>2]|0);c[k>>2]=1;d=c[k>>2]|0;i=r;return d|0}else if((j|0)==13){c[k>>2]=1;d=c[k>>2]|0;i=r;return d|0}else if((j|0)==20){c[k>>2]=Lq(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[h>>2]|0)|0;d=c[k>>2]|0;i=r;return d|0}return 0}function xq(d,e){d=d|0;e=e|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;m=i;i=i+64|0;h=m;k=m+52|0;g=m+48|0;o=m+44|0;f=m+40|0;l=m+36|0;j=m+32|0;s=m+28|0;n=m+24|0;p=m+20|0;q=m+16|0;r=m+12|0;t=m+8|0;u=m+4|0;c[g>>2]=d;c[o>>2]=e;c[n>>2]=1;c[l>>2]=c[(c[o>>2]|0)+48>>2];if(!(c[l>>2]|0)){c[k>>2]=0;d=c[k>>2]|0;i=m;return d|0}c[s>>2]=c[c[g>>2]>>2];if((c[c[l>>2]>>2]|0)>(c[(c[s>>2]|0)+96>>2]|0)){Se(c[g>>2]|0,16560,h);c[k>>2]=1;d=c[k>>2]|0;i=m;return d|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[l>>2]>>2]|0))break;d=(c[(c[l>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+13|0;a[d>>0]=a[d>>0]&-2;c[f>>2]=(c[f>>2]|0)+1}c[(c[o>>2]|0)+56>>2]=0;while(1){if(!(c[(c[o>>2]|0)+52>>2]|0))break;c[(c[(c[o>>2]|0)+52>>2]|0)+56>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+52>>2]}a:while(1){if(!((c[o>>2]|0)!=0&(c[n>>2]|0)!=0)){n=33;break}c[n>>2]=0;c[j>>2]=c[c[o>>2]>>2];c[f>>2]=0;c[p>>2]=c[(c[l>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[l>>2]>>2]|0))break;c[q>>2]=-1;do if(!(a[(c[p>>2]|0)+13>>0]&1)){c[r>>2]=iq(c[c[p>>2]>>2]|0)|0;if(yq(c[r>>2]|0,q)|0){if((c[q>>2]|0)<=0){n=18;break a}if((c[q>>2]|0)>(c[c[j>>2]>>2]|0)){n=18;break a}}else{c[q>>2]=Aq(c[g>>2]|0,c[j>>2]|0,c[r>>2]|0)|0;if(!(c[q>>2]|0)){c[t>>2]=Bq(c[s>>2]|0,c[r>>2]|0,0)|0;if(!(a[(c[s>>2]|0)+64>>0]|0))c[q>>2]=Cq(c[g>>2]|0,c[o>>2]|0,c[t>>2]|0)|0;wn(c[s>>2]|0,c[t>>2]|0)}}if((c[q>>2]|0)<=0){c[n>>2]=1;break}c[u>>2]=ho(c[s>>2]|0,132,0)|0;if(!(c[u>>2]|0)){n=25;break a}d=(c[u>>2]|0)+4|0;c[d>>2]=c[d>>2]|1024;c[(c[u>>2]|0)+8>>2]=c[q>>2];d=c[u>>2]|0;e=c[p>>2]|0;if((c[c[p>>2]>>2]|0)==(c[r>>2]|0))c[e>>2]=d;else c[(c[e>>2]|0)+12>>2]=d;wn(c[s>>2]|0,c[r>>2]|0);b[(c[p>>2]|0)+16>>1]=c[q>>2];d=(c[p>>2]|0)+13|0;a[d>>0]=a[d>>0]&-2|1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}c[o>>2]=c[(c[o>>2]|0)+56>>2]}if((n|0)==18){zq(c[g>>2]|0,16480,(c[f>>2]|0)+1|0,c[c[j>>2]>>2]|0);c[k>>2]=1;d=c[k>>2]|0;i=m;return d|0}else if((n|0)==25){c[k>>2]=1;d=c[k>>2]|0;i=m;return d|0}else if((n|0)==33){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[l>>2]>>2]|0)){n=38;break}if(!(a[(c[(c[l>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+13>>0]&1)){n=36;break}c[f>>2]=(c[f>>2]|0)+1}if((n|0)==36){d=c[g>>2]|0;c[h>>2]=(c[f>>2]|0)+1;Se(d,16600,h);c[k>>2]=1;d=c[k>>2]|0;i=m;return d|0}else if((n|0)==38){c[k>>2]=0;d=c[k>>2]|0;i=m;return d|0}}return 0}function yq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;g=e+8|0;h=e+4|0;j=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=0;b=c[k>>2]|0;if(c[(c[k>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[b+8>>2];c[f>>2]=1;a=c[f>>2]|0;i=e;return a|0}b=d[b>>0]|0;if((b|0)==157){if(yq(c[(c[k>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}}else if((b|0)==158)c[h>>2]=yq(c[(c[k>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[f>>2]=c[h>>2];a=c[f>>2]|0;i=e;return a|0}function zq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[l>>2]|0;d=c[k>>2]|0;b=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;c[g+8>>2]=b;Se(a,16664,g);i=f;return}function Aq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;f=g+24|0;k=g+16|0;m=g+12|0;l=g+8|0;j=g+4|0;h=g;c[g+20>>2]=a;c[k>>2]=b;c[m>>2]=e;a:do if((d[c[m>>2]>>0]|0|0)==27){c[j>>2]=c[(c[m>>2]|0)+8>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[k>>2]>>2]|0))break a;c[h>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)+4>>2];if((c[h>>2]|0)!=0?(xc(c[h>>2]|0,c[j>>2]|0)|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=(c[l>>2]|0)+1;a=c[f>>2]|0;i=g;return a|0}while(0);c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}function Bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Fq(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return a|0}function Cq(d,e,f){d=d|0;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;g=i;i=i+80|0;h=g+60|0;q=g+56|0;r=g+52|0;l=g+48|0;k=g+44|0;j=g+40|0;p=g+8|0;n=g+4|0;m=g;o=g+64|0;c[q>>2]=d;c[r>>2]=e;c[l>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+32>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+67>>0]|0;a[(c[n>>2]|0)+67>>0]=1;c[m>>2]=vq(p,c[l>>2]|0)|0;a[(c[n>>2]|0)+67>>0]=a[o>>0]|0;if(c[m>>2]|0){c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[j>>2]>>2]|0)){j=8;break}r=(Dq(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[l>>2]|0,-1)|0)<2;f=(c[k>>2]|0)+1|0;if(r){j=6;break}c[k>>2]=f}if((j|0)==6){c[h>>2]=f;r=c[h>>2]|0;i=g;return r|0}else if((j|0)==8){c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}return 0}function Dq(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;m=l;c[j>>2]=a;c[k>>2]=e;c[g>>2]=f;if((c[j>>2]|0)==0|(c[k>>2]|0)==0){c[h>>2]=(c[k>>2]|0)==(c[j>>2]|0)?0:2;a=c[h>>2]|0;i=l;return a|0}c[m>>2]=c[(c[j>>2]|0)+4>>2]|c[(c[k>>2]|0)+4>>2];f=c[j>>2]|0;if(c[m>>2]&1024){if((c[f+4>>2]&c[(c[k>>2]|0)+4>>2]&1024|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==(c[(c[k>>2]|0)+8>>2]|0):0){c[h>>2]=0;a=c[h>>2]|0;i=l;return a|0}c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}e=d[c[j>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[k>>2]>>0]|0)){if((e|0)==95?(Dq(c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,c[g>>2]|0)|0)<2:0){c[h>>2]=1;a=c[h>>2]|0;i=l;return a|0}if((d[c[k>>2]>>0]|0)==95?(Dq(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[g>>2]|0)|0)<2:0){c[h>>2]=1;a=c[h>>2]|0;i=l;return a|0}c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if((((e|0)!=154?(d[c[j>>2]>>0]|0)!=156:0)?(c[(c[j>>2]|0)+8>>2]|0)!=0:0)?(UE(c[(c[j>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0)!=0:0){c[h>>2]=(d[c[j>>2]>>0]|0)==95?1:2;a=c[h>>2]|0;i=l;return a|0}if((c[(c[j>>2]|0)+4>>2]&16|0)!=(c[(c[k>>2]|0)+4>>2]&16|0)){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}do if(!(c[m>>2]&16384)){if(c[m>>2]&2048){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if(Dq(c[(c[j>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[g>>2]|0)|0){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if(Dq(c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[g>>2]|0)|0){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if(Eq(c[(c[j>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[g>>2]|0)|0){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if(!(c[m>>2]&8192)){if((b[(c[j>>2]|0)+32>>1]|0)!=(b[(c[k>>2]|0)+32>>1]|0)){c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}if((c[(c[j>>2]|0)+28>>2]|0)!=(c[(c[k>>2]|0)+28>>2]|0)){if((c[(c[j>>2]|0)+28>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+28>>2]|0)<0:0)break;c[h>>2]=2;a=c[h>>2]|0;i=l;return a|0}}}while(0);c[h>>2]=0;a=c[h>>2]|0;i=l;return a|0}function Eq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;f=g+24|0;h=g+20|0;n=g+16|0;l=g+12|0;m=g+8|0;j=g+4|0;k=g;c[h>>2]=a;c[n>>2]=b;c[l>>2]=e;if((c[h>>2]|0)==0&(c[n>>2]|0)==0){c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}if((c[h>>2]|0)==0|(c[n>>2]|0)==0){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}if((c[c[h>>2]>>2]|0)!=(c[c[n>>2]>>2]|0)){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[h>>2]>>2]|0)){h=14;break}c[j>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[k>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];if((d[(c[(c[h>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+12>>0]|0|0)){h=10;break}if(Dq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0){h=12;break}c[m>>2]=(c[m>>2]|0)+1}if((h|0)==10){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}else if((h|0)==12){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}else if((h|0)==14){c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}return 0}function Fq(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0,t=0;j=i;i=i+64|0;m=j+48|0;h=j+44|0;k=j+40|0;l=j+36|0;f=j+32|0;n=j+28|0;g=j+24|0;p=j+20|0;t=j+16|0;q=j+12|0;s=j+8|0;o=j+4|0;r=j;c[m>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[f>>2]=0;if(!(c[h>>2]|0)){a=c[f>>2]|0;i=j;return a|0}c[n>>2]=c[k>>2]&1;c[p>>2]=0;if(c[l>>2]|0){c[g>>2]=c[c[l>>2]>>2];c[p>>2]=32768}else{b=c[m>>2]|0;a=Gq(c[h>>2]|0,c[k>>2]|0)|0;c[g>>2]=Qe(b,a,((a|0)<0)<<31>>31)|0}c[f>>2]=c[g>>2];if(!(c[f>>2]|0)){a=c[f>>2]|0;i=j;return a|0}c[t>>2]=Hq(c[h>>2]|0,c[k>>2]|0)|0;c[q>>2]=c[t>>2]&4095;if((c[(c[h>>2]|0)+4>>2]&1024|0)==0?(c[(c[h>>2]|0)+8>>2]|0)!=0:0)c[s>>2]=(Mb(c[(c[h>>2]|0)+8>>2]|0)|0)+1;else c[s>>2]=0;if(c[n>>2]|0)dF(c[g>>2]|0,c[h>>2]|0,c[q>>2]|0)|0;else{c[o>>2]=Iq(c[h>>2]|0)|0;dF(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0)|0;_E((c[g>>2]|0)+(c[o>>2]|0)|0,0,48-(c[o>>2]|0)|0)|0}a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]&-122881;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[t>>2]&24576;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[p>>2];if(c[s>>2]|0){a=(c[g>>2]|0)+(c[q>>2]|0)|0;c[(c[f>>2]|0)+8>>2]=a;c[r>>2]=a;dF(c[r>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[s>>2]|0)|0}do if(!((c[(c[h>>2]|0)+4>>2]|c[(c[f>>2]|0)+4>>2])&16384)){p=c[m>>2]|0;o=(c[h>>2]|0)+20|0;if(c[(c[h>>2]|0)+4>>2]&2048){a=Wp(p,c[o>>2]|0,c[n>>2]|0)|0;c[(c[f>>2]|0)+20>>2]=a;break}else{a=Jq(p,c[o>>2]|0,c[n>>2]|0)|0;c[(c[f>>2]|0)+20>>2]=a;break}}while(0);n=c[h>>2]|0;if(!(c[(c[f>>2]|0)+4>>2]&24576)){if(c[n+4>>2]&16384){a=c[f>>2]|0;i=j;return a|0}a=Bq(c[m>>2]|0,c[(c[h>>2]|0)+12>>2]|0,0)|0;c[(c[f>>2]|0)+12>>2]=a;a=Bq(c[m>>2]|0,c[(c[h>>2]|0)+16>>2]|0,0)|0;c[(c[f>>2]|0)+16>>2]=a;a=c[f>>2]|0;i=j;return a|0}a=Kq(n,c[k>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+a;if(c[(c[f>>2]|0)+4>>2]&8192){a=Fq(c[m>>2]|0,c[(c[h>>2]|0)+12>>2]|0,1,g)|0;c[(c[f>>2]|0)+12>>2]=a;a=Fq(c[m>>2]|0,c[(c[h>>2]|0)+16>>2]|0,1,g)|0;c[(c[f>>2]|0)+16>>2]=a}if(!(c[l>>2]|0)){a=c[f>>2]|0;i=j;return a|0}c[c[l>>2]>>2]=c[g>>2];a=c[f>>2]|0;i=j;return a|0}function Gq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=0;if(!(c[f>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[e>>2]=Kq(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[g>>2]&1)){a=c[e>>2]|0;i=d;return a|0}a=Gq(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;a=a+(Gq(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0)|0)|0;c[e>>2]=(c[e>>2]|0)+a;a=c[e>>2]|0;i=d;return a|0}function Hq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;do if(!(c[g>>2]&1))c[e>>2]=48;else{if((c[(c[f>>2]|0)+12>>2]|0)==0?(c[(c[f>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=d;return c[e>>2]|0}function Iq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;do if(!(c[(c[e>>2]|0)+4>>2]&16384))if(c[(c[e>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=d;return c[b>>2]|0}function Jq(b,e,f){b=b|0;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;m=i;i=i+48|0;h=m+32|0;j=m+28|0;l=m+24|0;q=m+20|0;k=m+16|0;o=m+12|0;g=m+8|0;n=m+4|0;p=m;c[j>>2]=b;c[l>>2]=e;c[q>>2]=f;if(!(c[l>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}c[k>>2]=Qe(c[j>>2]|0,8,0)|0;if(!(c[k>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}b=c[c[l>>2]>>2]|0;c[n>>2]=b;c[c[k>>2]>>2]=b;a:do if(!(c[q>>2]&1)){c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[n>>2]|0)}}while(0);b=Qe(c[j>>2]|0,(c[n>>2]|0)*20|0,0)|0;c[o>>2]=b;c[(c[k>>2]|0)+4>>2]=b;if(!(c[o>>2]|0)){Xb(c[j>>2]|0,c[k>>2]|0);c[h>>2]=0;b=c[h>>2]|0;i=m;return b|0}c[g>>2]=c[(c[l>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0))break;c[p>>2]=c[c[g>>2]>>2];b=Bq(c[j>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[c[o>>2]>>2]=b;b=ne(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=b;b=ne(c[j>>2]|0,c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=b;a[(c[o>>2]|0)+12>>0]=a[(c[g>>2]|0)+12>>0]|0;b=(c[o>>2]|0)+13|0;a[b>>0]=a[b>>0]&-2;b=(c[o>>2]|0)+13|0;a[b>>0]=a[b>>0]&-3|((d[(c[g>>2]|0)+13>>0]|0)>>>1&1)<<1&255;b=(c[o>>2]|0)+16|0;e=(c[g>>2]|0)+16|0;c[b+0>>2]=c[e+0>>2];c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20;c[g>>2]=(c[g>>2]|0)+20}c[h>>2]=c[k>>2];b=c[h>>2]|0;i=m;return b|0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=(Hq(c[f>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[f>>2]|0)+4>>2]&1024|0)==0?(c[(c[f>>2]|0)+8>>2]|0)!=0:0){g=(Mb(c[(c[f>>2]|0)+8>>2]|0)|0)+1|0;c[d>>2]=(c[d>>2]|0)+g}i=e;return(c[d>>2]|0)+7&-8|0}function Lq(a,f,g,h){a=a|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,q=0,r=0,s=0,t=0;n=i;i=i+48|0;r=n;j=n+36|0;p=n+32|0;s=n+28|0;q=n+24|0;k=n+20|0;l=n+16|0;t=n+12|0;m=n+8|0;o=n+4|0;c[p>>2]=a;c[s>>2]=f;c[q>>2]=g;c[k>>2]=h;c[t>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=0?(d[(c[c[p>>2]>>2]|0)+64>>0]|0)==0:0){if((c[c[q>>2]>>2]|0)>(c[(c[t>>2]|0)+96>>2]|0)){a=c[p>>2]|0;c[r>>2]=c[k>>2];Se(a,16720,r);c[j>>2]=1;a=c[j>>2]|0;i=n;return a|0}c[m>>2]=c[c[s>>2]>>2];c[l>>2]=0;c[o>>2]=c[(c[q>>2]|0)+4>>2];while(1){if((c[l>>2]|0)>=(c[c[q>>2]>>2]|0)){o=13;break}if(b[(c[o>>2]|0)+16>>1]|0){h=c[p>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[m>>2]>>2]|0)){o=10;break}Mq(h,c[m>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[k>>2]|0,0)}c[l>>2]=(c[l>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((o|0)==10){zq(h,c[k>>2]|0,(c[l>>2]|0)+1|0,c[c[m>>2]>>2]|0);c[j>>2]=1;a=c[j>>2]|0;i=n;return a|0}else if((o|0)==13){c[j>>2]=0;a=c[j>>2]|0;i=n;return a|0}}c[j>>2]=0;a=c[j>>2]|0;i=n;return a|0}function Mq(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=i;i=i+48|0;r=p+32|0;t=p+28|0;u=p+24|0;m=p+20|0;v=p+16|0;s=p+12|0;q=p+8|0;n=p+4|0;o=p;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[m>>2]=j;c[v>>2]=k;c[s>>2]=l;c[q>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];c[o>>2]=c[c[r>>2]>>2];c[n>>2]=Bq(c[o>>2]|0,c[q>>2]|0,0)|0;if(!(c[n>>2]|0)){i=p;return}if((d[c[q>>2]>>0]|0)!=154?(a[c[v>>2]>>0]|0)!=71:0){Nq(c[n>>2]|0,c[s>>2]|0);c[n>>2]=Rn(c[r>>2]|0,24,c[n>>2]|0,0,0)|0;if(!(c[n>>2]|0)){i=p;return}f=(c[n>>2]|0)+4|0;c[f>>2]=c[f>>2]|4096;if(!(e[(c[(c[t>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+18>>1]|0)){g=(c[r>>2]|0)+456|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;b[(c[(c[t>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+18>>1]=f}c[(c[n>>2]|0)+28>>2]=e[(c[(c[t>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+18>>1]}if((d[c[m>>2]>>0]|0)==95)c[n>>2]=Oq(c[r>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;r=(c[m>>2]|0)+4|0;c[r>>2]=c[r>>2]|32768;wn(c[o>>2]|0,c[m>>2]|0);r=(c[m>>2]|0)+0|0;l=(c[n>>2]|0)+0|0;q=r+48|0;do{c[r>>2]=c[l>>2];r=r+4|0;l=l+4|0}while((r|0)<(q|0));if((c[(c[m>>2]|0)+4>>2]&1024|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0){f=ne(c[o>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=f;f=(c[m>>2]|0)+4|0;c[f>>2]=c[f>>2]|65536}Xb(c[o>>2]|0,c[n>>2]|0);i=p;return}function Nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;f=d+24|0;e=d;c[g>>2]=a;c[f>>2]=b;if((c[f>>2]|0)<=0){i=d;return}c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e>>2]=42;c[e+20>>2]=c[f>>2];sq(e,c[g>>2]|0)|0;i=d;return}function Oq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];c[f+4>>2]=Mb(c[f>>2]|0)|0;a=uo(c[h>>2]|0,c[g>>2]|0,f)|0;i=e;return a|0}function Pq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=155){i=f;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[h>>2]|0)+20>>2]|0);i=f;return 0}function Qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;h=d;f=d+16|0;j=d+12|0;e=d+8|0;g=d+4|0;c[f>>2]=a;c[j>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[c[f>>2]>>2]|0)+100>>2];if((c[j>>2]|0)<=(c[g>>2]|0)){j=c[e>>2]|0;i=d;return j|0}j=c[f>>2]|0;c[h>>2]=c[g>>2];Se(j,16752,h);c[e>>2]=1;j=c[e>>2]|0;i=d;return j|0}function Rq(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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;o=i;i=i+144|0;y=o;u=o+132|0;m=o+128|0;E=o+124|0;w=o+120|0;x=o+116|0;z=o+112|0;n=o+108|0;P=o+104|0;J=o+100|0;p=o+96|0;F=o+92|0;R=o+88|0;q=o+84|0;O=o+80|0;t=o+76|0;v=o+72|0;A=o+68|0;r=o+64|0;H=o+60|0;K=o+56|0;I=o+52|0;Q=o+48|0;N=o+44|0;S=o+40|0;M=o+36|0;G=o+32|0;C=o+28|0;T=o+24|0;B=o+20|0;s=o+16|0;c[m>>2]=f;c[E>>2]=g;c[w>>2]=h;c[x>>2]=j;c[z>>2]=k;c[n>>2]=l;c[p>>2]=0;c[F>>2]=0;c[R>>2]=0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=0;c[v>>2]=c[z>>2];c[A>>2]=0;c[r>>2]=0;c[H>>2]=0;c[(c[n>>2]|0)+28>>2]=-1;c[(c[n>>2]|0)+44>>2]=0;a:do if(c[E>>2]|0){if(e[(c[z>>2]|0)+28>>1]&20){c[E>>2]=0;break}c[P>>2]=0;while(1){if((c[P>>2]|0)>=(c[(c[q>>2]|0)+20>>2]|0))break a;k=(xc(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[P>>2]<<4)>>2]|0,c[E>>2]|0)|0)==0;l=c[P>>2]|0;if(k)break;c[P>>2]=l+1}c[A>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[z>>2]|0)!=0&(c[p>>2]|0)==0)){U=92;break}c[Q>>2]=c[(c[z>>2]|0)+4>>2];if(c[Q>>2]|0){c[P>>2]=0;c[O>>2]=(c[Q>>2]|0)+8;while(1){if((c[P>>2]|0)>=(c[c[Q>>2]>>2]|0))break;c[H>>2]=c[(c[O>>2]|0)+16>>2];if((c[(c[O>>2]|0)+20>>2]|0)!=0?(e[(c[(c[O>>2]|0)+20>>2]|0)+6>>1]&512|0)!=0:0){c[N>>2]=0;c[I>>2]=c[c[(c[O>>2]|0)+20>>2]>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[I>>2]>>2]|0))break;if(Xq(c[(c[(c[I>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)+8>>2]|0,c[x>>2]|0,c[w>>2]|0,c[E>>2]|0)|0){c[p>>2]=(c[p>>2]|0)+1;c[F>>2]=2;c[t>>2]=c[O>>2];b[(c[n>>2]|0)+32>>1]=c[J>>2];c[N>>2]=1}c[J>>2]=(c[J>>2]|0)+1}if(!((c[N>>2]|0)!=0|(c[w>>2]|0)==0))U=21}else U=21;c:do if((U|0)==21){U=0;if((c[E>>2]|0)!=0?(c[(c[H>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0)break;if(c[w>>2]|0){if(c[(c[O>>2]|0)+12>>2]|0)l=c[(c[O>>2]|0)+12>>2]|0;else l=c[c[H>>2]>>2]|0;c[S>>2]=l;if(xc(c[S>>2]|0,c[w>>2]|0)|0)break}k=c[F>>2]|0;c[F>>2]=k+1;if(!k)c[t>>2]=c[O>>2];c[J>>2]=0;c[K>>2]=c[(c[H>>2]|0)+4>>2];while(1){if((c[J>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0))break c;if(!(xc(c[c[K>>2]>>2]|0,c[x>>2]|0)|0)){if((c[p>>2]|0)!=1)break;if((d[(c[O>>2]|0)+36>>0]&4|0)==0?(Yq(c[(c[O>>2]|0)+48>>2]|0,c[x>>2]|0)|0)==0:0)break}c[J>>2]=(c[J>>2]|0)+1;c[K>>2]=(c[K>>2]|0)+24}c[p>>2]=(c[p>>2]|0)+1;c[t>>2]=c[O>>2];if((c[J>>2]|0)==(b[(c[H>>2]|0)+36>>1]|0))l=-1;else l=(c[J>>2]&65535)<<16>>16;b[(c[n>>2]|0)+32>>1]=l}while(0);c[P>>2]=(c[P>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+72}if(c[t>>2]|0){c[(c[n>>2]|0)+28>>2]=c[(c[t>>2]|0)+40>>2];c[(c[n>>2]|0)+44>>2]=c[(c[t>>2]|0)+16>>2];if(d[(c[t>>2]|0)+36>>0]&8){k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|1048576}c[A>>2]=c[(c[(c[n>>2]|0)+44>>2]|0)+68>>2]}}if((c[E>>2]|0)==0&(c[w>>2]|0)!=0&(c[F>>2]|0)==0?(c[(c[m>>2]|0)+412>>2]|0)!=0:0){c[M>>2]=d[(c[m>>2]|0)+436>>0];if((c[M>>2]|0)!=109?(xc(17160,c[w>>2]|0)|0)==0:0){c[(c[n>>2]|0)+28>>2]=1;c[H>>2]=c[(c[m>>2]|0)+412>>2]}else U=50;do if((U|0)==50){U=0;if((c[M>>2]|0)!=108?(xc(17168,c[w>>2]|0)|0)==0:0){c[(c[n>>2]|0)+28>>2]=0;c[H>>2]=c[(c[m>>2]|0)+412>>2];break}c[H>>2]=0}while(0);if(c[H>>2]|0){c[A>>2]=c[(c[H>>2]|0)+68>>2];c[F>>2]=(c[F>>2]|0)+1;c[G>>2]=0;c[K>>2]=c[(c[H>>2]|0)+4>>2];while(1){if((c[G>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0))break;k=(xc(c[c[K>>2]>>2]|0,c[x>>2]|0)|0)==0;L=c[G>>2]|0;if(k){U=58;break}c[G>>2]=L+1;c[K>>2]=(c[K>>2]|0)+24}if((U|0)==58?(U=0,(L|0)==(b[(c[H>>2]|0)+36>>1]|0)):0)c[G>>2]=-1;if(((c[G>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0)?(Zq(c[x>>2]|0)|0)!=0:0)?(d[(c[H>>2]|0)+44>>0]&32|0)==0:0)c[G>>2]=-1;if((c[G>>2]|0)<(b[(c[H>>2]|0)+38>>1]|0)){c[p>>2]=(c[p>>2]|0)+1;l=c[n>>2]|0;do if((c[G>>2]|0)>=0){j=(c[G>>2]|0)>=32;if(!(c[l+28>>2]|0)){if(j)l=-1;else l=1<>2];k=(c[m>>2]|0)+428|0;c[k>>2]=c[k>>2]|l;break}else{if(j)l=-1;else l=1<>2];k=(c[m>>2]|0)+432|0;c[k>>2]=c[k>>2]|l;break}}else a[l+1>>0]=68;while(0);b[(c[n>>2]|0)+32>>1]=c[G>>2];c[(c[n>>2]|0)+44>>2]=c[H>>2];c[r>>2]=1}}}if(((c[p>>2]|0)==0&(c[F>>2]|0)==1&(c[t>>2]|0)!=0?(Zq(c[x>>2]|0)|0)!=0:0)?(d[(c[(c[t>>2]|0)+16>>2]|0)+44>>0]&32|0)==0:0){c[p>>2]=1;b[(c[n>>2]|0)+32>>1]=-1;a[(c[n>>2]|0)+1>>0]=68}k=c[(c[z>>2]|0)+8>>2]|0;c[I>>2]=k;d:do if((k|0)!=0&(c[w>>2]|0)==0&(c[p>>2]|0)==0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[I>>2]>>2]|0))break d;c[C>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)+4>>2];if((c[C>>2]|0)!=0?(xc(c[C>>2]|0,c[x>>2]|0)|0)==0:0){U=85;break b}c[J>>2]=(c[J>>2]|0)+1}}while(0);if(c[p>>2]|0)continue;c[z>>2]=c[(c[z>>2]|0)+16>>2];c[R>>2]=(c[R>>2]|0)+1}if((U|0)==85){c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2];if((e[(c[z>>2]|0)+28>>1]&1|0)==0?(c[(c[T>>2]|0)+4>>2]&2|0)!=0:0){k=c[m>>2]|0;c[y>>2]=c[C>>2];Se(k,17176,y);c[u>>2]=2;k=c[u>>2]|0;i=o;return k|0}Mq(c[m>>2]|0,c[I>>2]|0,c[J>>2]|0,c[n>>2]|0,1216,c[R>>2]|0);c[p>>2]=1;c[t>>2]=0}else if((U|0)==92){if((c[p>>2]|0)==0&(c[w>>2]|0)==0?(c[(c[n>>2]|0)+4>>2]&64|0)!=0:0){a[c[n>>2]>>0]=97;c[(c[n>>2]|0)+44>>2]=0;c[u>>2]=1;k=c[u>>2]|0;i=o;return k|0}if((c[p>>2]|0)!=1){c[B>>2]=(c[p>>2]|0)==0?17208:17224;do if(!(c[E>>2]|0)){C=c[m>>2]|0;B=c[B>>2]|0;if(c[w>>2]|0){f=c[w>>2]|0;k=c[x>>2]|0;c[y>>2]=B;c[y+4>>2]=f;c[y+8>>2]=k;Se(C,17264,y);break}else{k=c[x>>2]|0;c[y>>2]=B;c[y+4>>2]=k;Se(C,17280,y);break}}else{k=c[m>>2]|0;h=c[E>>2]|0;g=c[w>>2]|0;f=c[x>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=h;c[y+8>>2]=g;c[y+12>>2]=f;Se(k,17248,y)}while(0);a[(c[m>>2]|0)+17>>0]=1;k=(c[v>>2]|0)+24|0;c[k>>2]=(c[k>>2]|0)+1}if((c[t>>2]|0)!=0?(b[(c[n>>2]|0)+32>>1]|0)>=0:0){g=b[(c[n>>2]|0)+32>>1]|0;c[s>>2]=g;c[s>>2]=(c[s>>2]|0)>=64?63:g;g=$E(1,0,c[s>>2]|0)|0;k=(c[t>>2]|0)+56|0;h=k;f=c[h+4>>2]|D;c[k>>2]=c[h>>2]|g;c[k+4>>2]=f}wn(c[q>>2]|0,c[(c[n>>2]|0)+12>>2]|0);c[(c[n>>2]|0)+12>>2]=0;wn(c[q>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[(c[n>>2]|0)+16>>2]=0;a[c[n>>2]>>0]=(c[r>>2]|0)!=0?62:154}if((c[p>>2]|0)!=1){c[u>>2]=2;k=c[u>>2]|0;i=o;return k|0}if((d[c[n>>2]>>0]|0)!=24)_q(c[m>>2]|0,c[n>>2]|0,c[A>>2]|0,c[(c[z>>2]|0)+4>>2]|0);while(1){k=(c[v>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+1;if((c[v>>2]|0)==(c[z>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+16>>2]}c[u>>2]=1;k=c[u>>2]|0;i=o;return k|0}function Sq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f;g=f+12|0;k=f+8|0;h=f+4|0;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;if(!((e[(c[k>>2]|0)+28>>1]|0)&16)){i=f;return}k=c[g>>2]|0;c[j>>2]=c[h>>2];Se(k,17112,j);i=f;return}function Tq(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;e=b+12|0;g=b+8|0;f=b;c[g>>2]=a;h[f>>3]=-1.0;if((d[c[g>>2]>>0]|0|0)!=133){c[e>>2]=-1;g=c[e>>2]|0;i=b;return g|0}a=c[(c[g>>2]|0)+8>>2]|0;Lm(a,f,Mb(c[(c[g>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[e>>2]=-1;g=c[e>>2]|0;i=b;return g|0}else{c[e>>2]=~~(+h[f>>3]*1.0e3);g=c[e>>2]|0;i=b;return g|0}return 0}function Uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+48|0;f=d+44|0;h=d+40|0;g=d+16|0;e=d;c[f>>2]=a;c[h>>2]=b;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=43;c[g+20>>2]=e;c[e>>2]=c[h>>2];c[e+4>>2]=0;c[e+8>>2]=0;rq(g,c[(c[f>>2]|0)+20>>2]|0)|0;if((c[e+4>>2]|0)>0){h=1;h=h&1;i=d;return h|0}h=(c[e+8>>2]|0)==0;h=h&1;i=d;return h|0}function Vq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f;g=f+12|0;k=f+8|0;h=f+4|0;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;if(!((e[(c[k>>2]|0)+28>>1]|0)&4)){i=f;return}k=c[g>>2]|0;c[j>>2]=c[h>>2];Se(k,17072,j);i=f;return}function Wq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;j=e+12|0;f=e+8|0;h=e+4|0;g=e;c[k>>2]=a;c[j>>2]=b;if((d[c[j>>2]>>0]|0|0)!=154?(d[c[j>>2]>>0]|0|0)!=156:0){i=e;return 0}c[h>>2]=c[(c[k>>2]|0)+20>>2];c[g>>2]=c[c[h>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;if((c[(c[j>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+40>>2]|0))break;c[f>>2]=(c[f>>2]|0)+1}b=c[h>>2]|0;if((c[f>>2]|0)<(c[c[g>>2]>>2]|0)){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;i=e;return 0}else{a=b+8|0;c[a>>2]=(c[a>>2]|0)+1;i=e;return 0}return 0}function Xq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;k=g+20|0;h=g+16|0;n=g+12|0;l=g+8|0;m=g+4|0;j=g;c[h>>2]=b;c[n>>2]=d;c[l>>2]=e;c[m>>2]=f;c[j>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)==46)break;c[j>>2]=(c[j>>2]|0)+1}do if(c[m>>2]|0){if((Lb(c[h>>2]|0,c[m>>2]|0,c[j>>2]|0)|0)==0?(a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==0:0)break;c[k>>2]=0;b=c[k>>2]|0;i=g;return b|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[j>>2]|0)+1);c[j>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)==46)break;c[j>>2]=(c[j>>2]|0)+1}do if(c[l>>2]|0){if((Lb(c[h>>2]|0,c[l>>2]|0,c[j>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[j>>2]|0)>>0]|0)==0:0)break;c[k>>2]=0;b=c[k>>2]|0;i=g;return b|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[j>>2]|0)+1);if((c[n>>2]|0)!=0?(xc(c[h>>2]|0,c[n>>2]|0)|0)!=0:0){c[k>>2]=0;b=c[k>>2]|0;i=g;return b|0}c[k>>2]=1;b=c[k>>2]|0;i=g;return b|0}function Yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break a;if(!(xc(c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[h>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;a=c[d>>2]|0;i=e;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}function Zq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;do if(xc(c[e>>2]|0,17368)|0){if(!(xc(c[e>>2]|0,17288)|0)){c[b>>2]=1;break}if(!(xc(c[e>>2]|0,17376)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=d;return c[b>>2]|0}function _q(e,f,g,h){e=e|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,q=0,r=0,s=0,t=0;p=i;i=i+48|0;l=p+36|0;j=p+32|0;s=p+28|0;q=p+24|0;t=p+20|0;k=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[l>>2]=e;c[j>>2]=f;c[s>>2]=g;c[q>>2]=h;c[t>>2]=c[c[l>>2]>>2];c[k>>2]=0;if(!(c[(c[t>>2]|0)+284>>2]|0)){i=p;return}c[n>>2]=Ve(c[c[l>>2]>>2]|0,c[s>>2]|0)|0;if((c[n>>2]|0)<0){i=p;return}a:do if((d[c[j>>2]>>0]|0)==62)c[k>>2]=c[(c[l>>2]|0)+412>>2];else{c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[q>>2]>>2]|0))break a;h=c[r>>2]|0;if((c[(c[j>>2]|0)+28>>2]|0)==(c[(c[q>>2]|0)+8+((c[r>>2]|0)*72|0)+40>>2]|0))break;c[r>>2]=h+1}c[k>>2]=c[(c[q>>2]|0)+8+(h*72|0)+16>>2]}while(0);c[o>>2]=b[(c[j>>2]|0)+32>>1];if(!(c[k>>2]|0)){i=p;return}do if((c[o>>2]|0)<0)if((b[(c[k>>2]|0)+36>>1]|0)>=0){c[m>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((b[(c[k>>2]|0)+36>>1]|0)*24|0)>>2];break}else{c[m>>2]=17288;break}else c[m>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];while(0);if(2!=($q(c[l>>2]|0,c[c[k>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)){i=p;return}a[c[j>>2]>>0]=101;i=p;return}function $q(a,b,d,e){a=a|0;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,o=0;m=i;i=i+48|0;f=m;h=m+36|0;j=m+32|0;k=m+28|0;n=m+24|0;o=m+20|0;l=m+16|0;g=m+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[n>>2]=e;c[o>>2]=c[c[h>>2]>>2];c[l>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[g>>2]=tb[c[(c[o>>2]|0)+284>>2]&1](c[(c[o>>2]|0)+288>>2]|0,20,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+492>>2]|0)|0;if((c[g>>2]|0)!=1){if(!((c[g>>2]|0)!=2&(c[g>>2]|0)!=0)){a=c[g>>2]|0;i=m;return a|0}bp(c[h>>2]|0);a=c[g>>2]|0;i=m;return a|0}e=c[h>>2]|0;if((c[n>>2]|0)!=0?1:(c[(c[o>>2]|0)+20>>2]|0)>2){b=c[j>>2]|0;a=c[k>>2]|0;c[f>>2]=c[l>>2];c[f+4>>2]=b;c[f+8>>2]=a;Se(e,17296,f)}else{a=c[k>>2]|0;c[f>>2]=c[j>>2];c[f+4>>2]=a;Se(e,17336,f)}c[(c[h>>2]|0)+12>>2]=23;a=c[g>>2]|0;i=m;return a|0}function ar(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;n=i;i=i+48|0;j=n+44|0;p=n+40|0;o=n+36|0;r=n+32|0;l=n+28|0;t=n+24|0;h=n+20|0;s=n+16|0;m=n+12|0;k=n+8|0;q=n;c[p>>2]=f;c[o>>2]=g;if(!(c[(c[o>>2]|0)+52>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}if(!(c[(c[o>>2]|0)+48>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}c[t>>2]=c[o>>2];while(1){if(!(c[t>>2]|0))break;if((d[(c[t>>2]|0)+4>>0]|0|0)!=116?(d[(c[t>>2]|0)+4>>0]|0|0)!=119:0)break;c[t>>2]=c[(c[t>>2]|0)+52>>2]}if(!(c[t>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}c[s>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[r>>2]=(c[c[(c[o>>2]|0)+48>>2]>>2]|0)-1;while(1){if((c[r>>2]|0)<0)break;if(c[(c[(c[s>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[r>>2]=(c[r>>2]|0)+ -1}if((c[r>>2]|0)<0){c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}c[k>>2]=c[(c[p>>2]|0)+12>>2];c[h>>2]=c[c[k>>2]>>2];c[l>>2]=se(c[h>>2]|0,72,0)|0;if(!(c[l>>2]|0)){c[j>>2]=2;f=c[j>>2]|0;i=n;return f|0}c[q+0>>2]=0;c[q+4>>2]=0;c[m>>2]=bo(c[k>>2]|0,0,0,0,q,c[l>>2]|0,0,0)|0;if(!(c[m>>2]|0)){c[j>>2]=2;f=c[j>>2]|0;i=n;return f|0}else{r=(c[l>>2]|0)+0|0;q=(c[o>>2]|0)+0|0;p=r+72|0;do{c[r>>2]=c[q>>2];r=r+4|0;q=q+4|0}while((r|0)<(p|0));c[(c[o>>2]|0)+32>>2]=c[m>>2];f=c[k>>2]|0;f=eo(f,0,ho(c[h>>2]|0,116,0)|0)|0;c[c[o>>2]>>2]=f;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+36>>2]=0;c[(c[l>>2]|0)+40>>2]=0;c[(c[l>>2]|0)+44>>2]=0;c[(c[l>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+56>>2]=0;f=(c[o>>2]|0)+6|0;b[f>>1]=(e[f>>1]|0)&-65;c[(c[(c[l>>2]|0)+52>>2]|0)+56>>2]=c[l>>2];c[(c[l>>2]|0)+60>>2]=0;c[(c[l>>2]|0)+64>>2]=0;c[j>>2]=0;f=c[j>>2]|0;i=n;return f|0}return 0}function br(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;D=i;i=i+160|0;l=D;z=D+148|0;Q=D+144|0;m=D+140|0;k=D+136|0;B=D+132|0;E=D+128|0;r=D+124|0;C=D+120|0;o=D+116|0;h=D+112|0;n=D+108|0;s=D+104|0;t=D+100|0;J=D+96|0;R=D+152|0;O=D+92|0;P=D+88|0;q=D+84|0;p=D+80|0;N=D+76|0;L=D+72|0;v=D+68|0;u=D+64|0;x=D+60|0;w=D+56|0;y=D+52|0;A=D+48|0;j=D+44|0;F=D+40|0;I=D+36|0;G=D+32|0;K=D+24|0;M=D+16|0;H=D+12|0;c[Q>>2]=f;c[m>>2]=g;c[k>>2]=c[(c[Q>>2]|0)+12>>2];c[n>>2]=c[c[k>>2]>>2];b[R>>1]=b[(c[m>>2]|0)+6>>1]|0;f=(c[m>>2]|0)+6|0;b[f>>1]=e[f>>1]|16;if(a[(c[n>>2]|0)+64>>0]|0){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}if((c[(c[m>>2]|0)+32>>2]|0)!=0?(e[R>>1]&16|0)==0:0){c[C>>2]=c[(c[m>>2]|0)+32>>2];c[o>>2]=c[c[m>>2]>>2];f=c[k>>2]|0;mo(f,c[(dr(c[m>>2]|0)|0)+68>>2]|0,0);Xp(c[k>>2]|0,c[C>>2]|0);c[B>>2]=0;c[h>>2]=(c[C>>2]|0)+8;a:while(1){if((c[B>>2]|0)>=(c[c[C>>2]>>2]|0)){P=33;break}if(!((d[(c[h>>2]|0)+37>>0]|0)>>>3&1)){g=c[Q>>2]|0;if(c[(c[h>>2]|0)+16>>2]|0){P=10;break}if(er(g,c[h>>2]|0)|0){P=12;break}do if(!(c[(c[h>>2]|0)+16>>2]|0)){if(!(c[(c[h>>2]|0)+8>>2]|0)){c[P>>2]=c[(c[h>>2]|0)+20>>2];oq(c[Q>>2]|0,c[P>>2]|0)|0;f=se(c[n>>2]|0,76,0)|0;c[O>>2]=f;c[(c[h>>2]|0)+16>>2]=f;if(!(c[O>>2]|0)){P=16;break a}b[(c[O>>2]|0)+40>>1]=1;f=c[n>>2]|0;c[l>>2]=c[O>>2];f=Te(f,17384,l)|0;c[c[O>>2]>>2]=f;while(1){if(!(c[(c[P>>2]|0)+52>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+52>>2]}_p(c[k>>2]|0,c[c[P>>2]>>2]|0,(c[O>>2]|0)+38|0,(c[O>>2]|0)+4|0)|0;b[(c[O>>2]|0)+36>>1]=-1;b[(c[O>>2]|0)+28>>1]=200;f=(c[O>>2]|0)+44|0;a[f>>0]=d[f>>0]|2;break}f=np(c[k>>2]|0,0,c[h>>2]|0)|0;c[O>>2]=f;c[(c[h>>2]|0)+16>>2]=f;if(!(c[O>>2]|0)){P=22;break a}if((e[(c[O>>2]|0)+40>>1]|0)==65535){P=24;break a}f=(c[O>>2]|0)+40|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if((c[(c[O>>2]|0)+12>>2]|0)==0?(d[(c[O>>2]|0)+44>>0]&16|0)==0:0)break;if(Qp(c[k>>2]|0,c[O>>2]|0)|0){P=28;break a}f=Wp(c[n>>2]|0,c[(c[O>>2]|0)+12>>2]|0,0)|0;c[(c[h>>2]|0)+20>>2]=f;oq(c[Q>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0}while(0);if(fr(c[k>>2]|0,c[h>>2]|0)|0){P=31;break}}c[B>>2]=(c[B>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}if((P|0)==10){cr(g,c[m>>2]|0);c[z>>2]=1;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==12){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==16){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==22){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==24){f=c[k>>2]|0;c[l>>2]=c[c[O>>2]>>2];Se(f,17400,l);c[(c[h>>2]|0)+16>>2]=0;c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==28){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==31){c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}else if((P|0)==33){if((d[(c[n>>2]|0)+64>>0]|0)==0?(gr(c[k>>2]|0,c[m>>2]|0)|0)==0:0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[s>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];if((d[c[s>>2]>>0]|0)==116)break;if((d[c[s>>2]>>0]|0)==122?(d[c[(c[s>>2]|0)+16>>2]>>0]|0)==116:0)break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)<(c[c[o>>2]>>2]|0)){c[q>>2]=c[(c[o>>2]|0)+4>>2];c[p>>2]=0;c[N>>2]=c[(c[c[k>>2]>>2]|0)+24>>2];if(c[N>>2]&32)N=(c[N>>2]&64|0)==0;else N=0;c[L>>2]=N&1;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[s>>2]=c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];do if((d[c[s>>2]>>0]|0)!=116){if((d[c[s>>2]>>0]|0)==122?(d[c[t>>2]>>0]|0)==116:0){P=53;break}c[p>>2]=eo(c[k>>2]|0,c[p>>2]|0,c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)|0;if(c[p>>2]|0){c[(c[(c[p>>2]|0)+4>>2]|0)+(((c[c[p>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)+4>>2];c[(c[(c[p>>2]|0)+4>>2]|0)+(((c[c[p>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)+8>>2];c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)+4>>2]=0;c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)+8>>2]=0}c[(c[q>>2]|0)+((c[r>>2]|0)*20|0)>>2]=0}else P=53;while(0);do if((P|0)==53){P=0;c[v>>2]=0;c[u>>2]=0;if((d[c[s>>2]>>0]|0)==122)c[u>>2]=c[(c[(c[s>>2]|0)+12>>2]|0)+8>>2];c[B>>2]=0;c[h>>2]=(c[C>>2]|0)+8;while(1){if((c[B>>2]|0)>=(c[c[C>>2]>>2]|0))break;c[x>>2]=c[(c[h>>2]|0)+16>>2];c[w>>2]=c[(c[h>>2]|0)+20>>2];c[y>>2]=c[(c[h>>2]|0)+12>>2];c[A>>2]=0;if(!(c[y>>2]|0))c[y>>2]=c[c[x>>2]>>2];if(a[(c[n>>2]|0)+64>>0]|0)break;if((c[w>>2]|0)!=0?(e[(c[w>>2]|0)+6>>1]&512|0)!=0:0)P=67;else P=62;do if((P|0)==62){P=0;c[w>>2]=0;if((c[u>>2]|0)!=0?(xc(c[u>>2]|0,c[y>>2]|0)|0)!=0:0)break;c[j>>2]=Ve(c[n>>2]|0,c[(c[x>>2]|0)+68>>2]|0)|0;if((c[j>>2]|0)>=0)N=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0;else N=17440;c[A>>2]=N;P=67}while(0);b:do if((P|0)==67){P=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(b[(c[x>>2]|0)+38>>1]|0))break b;c[F>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[E>>2]|0)*24|0)>>2];if(!((c[u>>2]|0)!=0&(c[w>>2]|0)!=0?(Xq(c[(c[(c[c[w>>2]>>2]|0)+4>>2]|0)+((c[E>>2]|0)*20|0)+8>>2]|0,0,c[u>>2]|0,0)|0)==0:0))P=71;do if((P|0)==71){P=0;if(d[(c[(c[x>>2]|0)+4>>2]|0)+((c[E>>2]|0)*24|0)+23>>0]&2)break;c[v>>2]=1;if((c[B>>2]|0)>0&(c[u>>2]|0)==0){if((d[(c[h>>2]|0)+36>>0]&4|0)!=0?(hr(c[C>>2]|0,c[B>>2]|0,c[F>>2]|0,0,0)|0)!=0:0)break;if((ir(c[(c[h>>2]|0)+48>>2]|0,c[F>>2]|0)|0)>=0)break}c[t>>2]=ho(c[n>>2]|0,27,c[F>>2]|0)|0;c[I>>2]=c[F>>2];c[G>>2]=0;do if(c[L>>2]|0)P=78;else{if((c[c[C>>2]>>2]|0)>1){P=78;break}c[J>>2]=c[t>>2]}while(0);do if((P|0)==78){P=0;c[M>>2]=ho(c[n>>2]|0,27,c[y>>2]|0)|0;c[J>>2]=Rn(c[k>>2]|0,122,c[M>>2]|0,c[t>>2]|0,0)|0;if(c[A>>2]|0){c[M>>2]=ho(c[n>>2]|0,27,c[A>>2]|0)|0;c[J>>2]=Rn(c[k>>2]|0,122,c[M>>2]|0,c[J>>2]|0,0)|0}if(!(c[L>>2]|0))break;f=c[n>>2]|0;R=c[F>>2]|0;c[l>>2]=c[y>>2];c[l+4>>2]=R;c[I>>2]=Te(f,17448,l)|0;c[G>>2]=c[I>>2]}while(0);c[p>>2]=eo(c[k>>2]|0,c[p>>2]|0,c[J>>2]|0)|0;c[K>>2]=c[I>>2];c[K+4>>2]=Mb(c[I>>2]|0)|0;fo(c[k>>2]|0,c[p>>2]|0,K,0);do if(c[p>>2]|0){if(!(e[(c[m>>2]|0)+6>>1]&512))break;c[H>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(((c[c[p>>2]>>2]|0)-1|0)*20|0);N=c[n>>2]|0;if(c[w>>2]|0){f=ne(N,c[(c[(c[c[w>>2]>>2]|0)+4>>2]|0)+((c[E>>2]|0)*20|0)+8>>2]|0)|0;c[(c[H>>2]|0)+8>>2]=f}else{R=c[y>>2]|0;f=c[I>>2]|0;c[l>>2]=c[A>>2];c[l+4>>2]=R;c[l+8>>2]=f;f=Te(N,17456,l)|0;c[(c[H>>2]|0)+8>>2]=f}f=(c[H>>2]|0)+13|0;a[f>>0]=a[f>>0]&-3|2}while(0);Xb(c[n>>2]|0,c[G>>2]|0)}while(0);c[E>>2]=(c[E>>2]|0)+1}}while(0);c[B>>2]=(c[B>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}if(!(c[v>>2]|0)){N=c[k>>2]|0;if(c[u>>2]|0){c[l>>2]=c[u>>2];Se(N,17472,l);break}else{Se(N,17496,l);break}}}while(0);c[r>>2]=(c[r>>2]|0)+1}sn(c[n>>2]|0,c[o>>2]|0);c[c[m>>2]>>2]=c[p>>2]}if((c[c[m>>2]>>2]|0)!=0?(c[c[c[m>>2]>>2]>>2]|0)>(c[(c[n>>2]|0)+96>>2]|0):0)Se(c[k>>2]|0,17520,l);c[z>>2]=0;f=c[z>>2]|0;i=D;return f|0}c[z>>2]=2;f=c[z>>2]|0;i=D;return f|0}}c[z>>2]=1;f=c[z>>2]|0;i=D;return f|0}function cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;g=d+8|0;f=d+4|0;e=d;c[h>>2]=a;c[g>>2]=b;c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=c[(dr(c[g>>2]|0)|0)+68>>2];if(!(c[e>>2]|0)){i=d;return}c[(c[f>>2]|0)+532>>2]=c[(c[e>>2]|0)+4>>2];i=d;return}function dr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+56>>2]|0))break;c[d>>2]=c[a+56>>2]}i=b;return a|0}function er(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;o=i;i=i+80|0;r=o;n=o+72|0;l=o+68|0;y=o+64|0;k=o+60|0;z=o+56|0;j=o+52|0;u=o+48|0;q=o+44|0;t=o+40|0;m=o+36|0;p=o+32|0;s=o+28|0;h=o+24|0;x=o+20|0;w=o+16|0;v=o+12|0;c[l>>2]=f;c[y>>2]=g;c[k>>2]=c[(c[l>>2]|0)+12>>2];c[z>>2]=c[c[k>>2]>>2];c[j>>2]=vr(c[(c[k>>2]|0)+532>>2]|0,c[y>>2]|0,u)|0;if(c[j>>2]|0){if(c[(c[j>>2]|0)+12>>2]|0){z=c[k>>2]|0;f=c[(c[j>>2]|0)+12>>2]|0;c[r>>2]=c[c[j>>2]>>2];Se(z,f,r);c[n>>2]=1;f=c[n>>2]|0;i=o;return f|0}f=se(c[z>>2]|0,76,0)|0;c[q>>2]=f;c[(c[y>>2]|0)+16>>2]=f;if(!(c[q>>2]|0)){c[n>>2]=2;f=c[n>>2]|0;i=o;return f|0}b[(c[q>>2]|0)+40>>1]=1;f=ne(c[z>>2]|0,c[c[j>>2]>>2]|0)|0;c[c[q>>2]>>2]=f;b[(c[q>>2]|0)+36>>1]=-1;b[(c[q>>2]|0)+28>>1]=200;f=(c[q>>2]|0)+44|0;a[f>>0]=d[f>>0]|2;f=Wp(c[z>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;c[(c[y>>2]|0)+20>>2]=f;if(a[(c[z>>2]|0)+64>>0]|0){c[n>>2]=7;f=c[n>>2]|0;i=o;return f|0}c[m>>2]=c[(c[y>>2]|0)+20>>2];if((d[(c[m>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[m>>2]|0)+4>>0]|0)==115;c[s>>2]=g&1;a:do if(c[s>>2]|0){c[w>>2]=c[(c[(c[y>>2]|0)+20>>2]|0)+32>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[w>>2]>>2]|0))break a;c[v>>2]=(c[w>>2]|0)+8+((c[x>>2]|0)*72|0);if(((c[(c[v>>2]|0)+4>>2]|0)==0?(c[(c[v>>2]|0)+8>>2]|0)!=0:0)?0==(xc(c[(c[v>>2]|0)+8>>2]|0,c[c[j>>2]>>2]|0)|0):0){c[(c[v>>2]|0)+16>>2]=c[q>>2];f=(c[v>>2]|0)+37|0;a[f>>0]=a[f>>0]&-9|8;f=(c[q>>2]|0)+40|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[m>>2]|0)+6|0;b[f>>1]=e[f>>1]|2048}c[x>>2]=(c[x>>2]|0)+1}}while(0);if((e[(c[q>>2]|0)+40>>1]|0)>2){f=c[k>>2]|0;c[r>>2]=c[c[j>>2]>>2];Se(f,17752,r);c[n>>2]=1;f=c[n>>2]|0;i=o;return f|0}c[(c[j>>2]|0)+12>>2]=17800;c[h>>2]=c[(c[k>>2]|0)+532>>2];c[(c[k>>2]|0)+532>>2]=c[u>>2];u=c[m>>2]|0;if(c[s>>2]|0)u=c[u+52>>2]|0;oq(c[l>>2]|0,u)|0;c[p>>2]=c[m>>2];while(1){u=c[p>>2]|0;if(!(c[(c[p>>2]|0)+52>>2]|0))break;c[p>>2]=c[u+52>>2]}c[t>>2]=c[u>>2];do if(c[(c[j>>2]|0)+4>>2]|0){if((c[c[t>>2]>>2]|0)==(c[c[(c[j>>2]|0)+4>>2]>>2]|0)){c[t>>2]=c[(c[j>>2]|0)+4>>2];break}f=c[k>>2]|0;g=c[c[t>>2]>>2]|0;z=c[c[(c[j>>2]|0)+4>>2]>>2]|0;c[r>>2]=c[c[j>>2]>>2];c[r+4>>2]=g;c[r+8>>2]=z;Se(f,17824,r);c[(c[k>>2]|0)+532>>2]=c[h>>2];c[n>>2]=1;f=c[n>>2]|0;i=o;return f|0}while(0);_p(c[k>>2]|0,c[t>>2]|0,(c[q>>2]|0)+38|0,(c[q>>2]|0)+4|0)|0;if(c[s>>2]|0){p=(c[j>>2]|0)+12|0;if(e[(c[m>>2]|0)+6>>1]&2048)c[p>>2]=17864;else c[p>>2]=17904;oq(c[l>>2]|0,c[m>>2]|0)|0}c[(c[j>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+532>>2]=c[h>>2]}c[n>>2]=0;f=c[n>>2]|0;i=o;return f|0}function fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;l=f;e=f+28|0;j=f+24|0;h=f+20|0;m=f+16|0;k=f+12|0;g=f+8|0;c[j>>2]=b;c[h>>2]=d;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?(c[(c[h>>2]|0)+64>>2]|0)!=0:0){c[m>>2]=c[(c[h>>2]|0)+16>>2];c[k>>2]=c[(c[h>>2]|0)+64>>2];c[g>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;if(!(xc(c[c[g>>2]>>2]|0,c[k>>2]|0)|0))break;c[g>>2]=c[(c[g>>2]|0)+20>>2]}if(c[g>>2]|0){c[(c[h>>2]|0)+68>>2]=c[g>>2];break}b=c[j>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=0;Se(b,17728,l);a[(c[j>>2]|0)+17>>0]=1;c[e>>2]=1;b=c[e>>2]|0;i=f;return b|0}while(0);c[e>>2]=0;b=c[e>>2]|0;i=f;return b|0}function gr(a,e){a=a|0;e=e|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;i=i+80|0;h=f;j=f+76|0;g=f+72|0;l=f+68|0;m=f+64|0;p=f+60|0;q=f+56|0;v=f+52|0;x=f+48|0;w=f+44|0;s=f+40|0;r=f+36|0;t=f+32|0;n=f+28|0;o=f+24|0;u=f+20|0;k=f+16|0;z=f+12|0;A=f+8|0;y=f+4|0;c[g>>2]=a;c[l>>2]=e;c[m>>2]=c[(c[l>>2]|0)+32>>2];c[v>>2]=(c[m>>2]|0)+8;c[x>>2]=(c[v>>2]|0)+72;c[p>>2]=0;a:while(1){if((c[p>>2]|0)>=((c[c[m>>2]>>2]|0)-1|0)){l=28;break}c[w>>2]=c[(c[v>>2]|0)+16>>2];c[s>>2]=c[(c[x>>2]|0)+16>>2];b:do if(!((c[w>>2]|0)==0|(c[s>>2]|0)==0)){c[r>>2]=(d[(c[x>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[x>>2]|0)+36>>0]&4){if(c[(c[x>>2]|0)+44>>2]|0){l=7;break a}if(c[(c[x>>2]|0)+48>>2]|0){l=7;break a}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[s>>2]|0)+38>>1]|0))break c;c[t>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[q>>2]|0)*24|0)>>2];if(hr(c[m>>2]|0,(c[p>>2]|0)+1|0,c[t>>2]|0,n,o)|0)kr(c[g>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0,c[q>>2]|0,c[r>>2]|0,(c[l>>2]|0)+36|0);c[q>>2]=(c[q>>2]|0)+1}}while(0);if((c[(c[x>>2]|0)+44>>2]|0)!=0?(c[(c[x>>2]|0)+48>>2]|0)!=0:0){l=15;break a}if(c[(c[x>>2]|0)+44>>2]|0){if(c[r>>2]|0)lr(c[(c[x>>2]|0)+44>>2]|0,c[(c[x>>2]|0)+40>>2]|0);a=mr(c[c[g>>2]>>2]|0,c[(c[l>>2]|0)+36>>2]|0,c[(c[x>>2]|0)+44>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=a;c[(c[x>>2]|0)+44>>2]=0}if(c[(c[x>>2]|0)+48>>2]|0){c[u>>2]=c[(c[x>>2]|0)+48>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[u>>2]|0)+4>>2]|0))break b;c[k>>2]=c[(c[c[u>>2]>>2]|0)+(c[q>>2]<<3)>>2];c[y>>2]=jr(c[s>>2]|0,c[k>>2]|0)|0;if((c[y>>2]|0)<0){l=25;break a}if(!(hr(c[m>>2]|0,(c[p>>2]|0)+1|0,c[k>>2]|0,z,A)|0)){l=25;break a}kr(c[g>>2]|0,c[m>>2]|0,c[z>>2]|0,c[A>>2]|0,(c[p>>2]|0)+1|0,c[y>>2]|0,c[r>>2]|0,(c[l>>2]|0)+36|0);c[q>>2]=(c[q>>2]|0)+1}}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72;c[v>>2]=(c[v>>2]|0)+72}if((l|0)==7){a=c[g>>2]|0;c[h>>2]=0;Se(a,17552,h);c[j>>2]=1;a=c[j>>2]|0;i=f;return a|0}else if((l|0)==15){Se(c[g>>2]|0,17608,h);c[j>>2]=1;a=c[j>>2]|0;i=f;return a|0}else if((l|0)==25){a=c[g>>2]|0;c[h>>2]=c[k>>2];Se(a,17664,h);c[j>>2]=1;a=c[j>>2]|0;i=f;return a|0}else if((l|0)==28){c[j>>2]=0;a=c[j>>2]|0;i=f;return a|0}return 0}function hr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;j=i;i=i+32|0;o=j+28|0;g=j+24|0;q=j+20|0;p=j+16|0;l=j+12|0;n=j+8|0;k=j+4|0;m=j;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[l>>2]=e;c[n>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[q>>2]|0)){h=8;break}c[m>>2]=jr(c[(c[g>>2]|0)+8+((c[k>>2]|0)*72|0)+16>>2]|0,c[p>>2]|0)|0;if((c[m>>2]|0)>=0)break;c[k>>2]=(c[k>>2]|0)+1}if((h|0)==8){c[o>>2]=0;a=c[o>>2]|0;i=j;return a|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[k>>2];c[c[n>>2]>>2]=c[m>>2]}c[o>>2]=1;a=c[o>>2]|0;i=j;return a|0}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;h=d+4|0;g=d;c[f>>2]=a;c[h>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-1;a=c[e>>2]|0;i=d;return a|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=8;break}a=(xc(c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[h>>2]|0)|0)==0;b=c[g>>2]|0;if(a){f=6;break}c[g>>2]=b+1}if((f|0)==6){c[e>>2]=b;a=c[e>>2]|0;i=d;return a|0}else if((f|0)==8){c[e>>2]=-1;a=c[e>>2]|0;i=d;return a|0}return 0}function jr(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;e=f+12|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[j>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(b[(c[g>>2]|0)+38>>1]|0)){g=6;break}a=(xc(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)>>2]|0,c[j>>2]|0)|0)==0;d=c[h>>2]|0;if(a){g=4;break}c[h>>2]=d+1}if((g|0)==4){c[e>>2]=d;a=c[e>>2]|0;i=f;return a|0}else if((g|0)==6){c[e>>2]=-1;a=c[e>>2]|0;i=f;return a|0}return 0}function kr(a,d,e,f,g,h,j,k){a=a|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;n=p+12|0;r=p+8|0;o=p+4|0;m=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[n>>2]=c[c[s>>2]>>2];c[r>>2]=ur(c[n>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[o>>2]=ur(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[m>>2]=Rn(c[s>>2]|0,79,c[r>>2]|0,c[o>>2]|0,0)|0;if(!((c[m>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[n>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[m>>2]|0;w=mr(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[m>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[m>>2]|0)+36>>1]=c[(c[o>>2]|0)+28>>2];v=c[n>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[m>>2]|0;w=mr(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function lr(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];lr(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=e;return}function mr(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;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;k=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[k>>2]=d;d=c[k>>2]|0;if(!(c[e>>2]|0)){c[f>>2]=d;a=c[f>>2]|0;i=j;return a|0}b=c[e>>2]|0;if(!d){c[f>>2]=b;a=c[f>>2]|0;i=j;return a|0}if((nr(b)|0)==0?(nr(c[k>>2]|0)|0)==0:0){c[h>>2]=or(c[g>>2]|0,72,0,0)|0;pr(c[g>>2]|0,c[h>>2]|0,c[e>>2]|0,c[k>>2]|0);c[f>>2]=c[h>>2];a=c[f>>2]|0;i=j;return a|0}wn(c[g>>2]|0,c[e>>2]|0);wn(c[g>>2]|0,c[k>>2]|0);c[f>>2]=or(c[g>>2]|0,132,10152,0)|0;a=c[f>>2]|0;i=j;return a|0}function nr(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;do if(!(c[(c[f>>2]|0)+4>>2]&1))if(yq(c[f>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=d;return c[b>>2]|0}function or(d,e,f,g){d=d|0;e=e|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;j=i;i=i+32|0;q=j+28|0;p=j+24|0;l=j+20|0;n=j+16|0;o=j+12|0;h=j+8|0;k=j+4|0;m=j;c[q>>2]=d;c[p>>2]=e;c[l>>2]=f;c[n>>2]=g;c[h>>2]=0;c[k>>2]=0;do if(c[l>>2]|0){if(((c[p>>2]|0)==132?(c[c[l>>2]>>2]|0)!=0:0)?(Ag(c[c[l>>2]>>2]|0,k)|0)!=0:0)break;c[h>>2]=(c[(c[l>>2]|0)+4>>2]|0)+1}while(0);c[o>>2]=se(c[q>>2]|0,48+(c[h>>2]|0)|0,0)|0;if(!(c[o>>2]|0)){d=c[o>>2]|0;i=j;return d|0}a[c[o>>2]>>0]=c[p>>2];b[(c[o>>2]|0)+34>>1]=-1;do if(c[l>>2]|0){g=c[o>>2]|0;if(!(c[h>>2]|0)){d=g+4|0;c[d>>2]=c[d>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[k>>2];break}c[(c[o>>2]|0)+8>>2]=g+48;if(c[(c[l>>2]|0)+4>>2]|0)dF(c[(c[o>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;a[(c[(c[o>>2]|0)+8>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)>>0]=0;if(((c[n>>2]|0)!=0&(c[h>>2]|0)>=3?(d=a[c[c[l>>2]>>2]>>0]|0,c[m>>2]=d,(d|0)==39|(c[m>>2]|0)==34|(c[m>>2]|0)==91|(c[m>>2]|0)==96):0)?(sm(c[(c[o>>2]|0)+8>>2]|0)|0,(c[m>>2]|0)==34):0){d=(c[o>>2]|0)+4|0;c[d>>2]=c[d>>2]|64}}while(0);c[(c[o>>2]|0)+24>>2]=1;d=c[o>>2]|0;i=j;return d|0}function pr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f+12|0;k=f+8|0;j=f+4|0;g=f;c[h>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){wn(c[h>>2]|0,c[j>>2]|0);wn(c[h>>2]|0,c[g>>2]|0);i=f;return}if(c[g>>2]|0){c[(c[k>>2]|0)+16>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|256&c[(c[g>>2]|0)+4>>2]}if(c[j>>2]|0){c[(c[k>>2]|0)+12>>2]=c[j>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|256&c[(c[j>>2]|0)+4>>2]}qr(c[k>>2]|0);i=f;return}function qr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;rr(c[(c[d>>2]|0)+12>>2]|0,e);rr(c[(c[d>>2]|0)+16>>2]|0,e);a=(c[d>>2]|0)+20|0;if(c[(c[d>>2]|0)+4>>2]&2048)sr(c[a>>2]|0,e);else tr(c[a>>2]|0,e);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)+1;i=b;return}function rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){i=d;return}if((c[(c[e>>2]|0)+24>>2]|0)<=(c[c[f>>2]>>2]|0)){i=d;return}c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];i=d;return}function sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){i=d;return}rr(c[(c[e>>2]|0)+36>>2]|0,c[f>>2]|0);rr(c[(c[e>>2]|0)+44>>2]|0,c[f>>2]|0);rr(c[(c[e>>2]|0)+60>>2]|0,c[f>>2]|0);rr(c[(c[e>>2]|0)+64>>2]|0,c[f>>2]|0);tr(c[c[e>>2]>>2]|0,c[f>>2]|0);tr(c[(c[e>>2]|0)+40>>2]|0,c[f>>2]|0);tr(c[(c[e>>2]|0)+48>>2]|0,c[f>>2]|0);sr(c[(c[e>>2]|0)+52>>2]|0,c[f>>2]|0);i=d;return}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){i=d;return}c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[f>>2]>>2]|0))break;rr(c[(c[(c[f>>2]|0)+4>>2]|0)+((c[e>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=d;return}function ur(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;n=g+20|0;l=g+16|0;m=g+12|0;j=g+8|0;h=g+4|0;k=g;c[n>>2]=a;c[l>>2]=d;c[m>>2]=e;c[j>>2]=f;c[h>>2]=or(c[n>>2]|0,154,0,0)|0;if(!(c[h>>2]|0)){n=c[h>>2]|0;i=g;return n|0}c[k>>2]=(c[l>>2]|0)+8+((c[m>>2]|0)*72|0);c[(c[h>>2]|0)+44>>2]=c[(c[k>>2]|0)+16>>2];c[(c[h>>2]|0)+28>>2]=c[(c[k>>2]|0)+40>>2];if((b[(c[(c[h>>2]|0)+44>>2]|0)+36>>1]|0)==(c[j>>2]|0))b[(c[h>>2]|0)+32>>1]=-1;else{b[(c[h>>2]|0)+32>>1]=c[j>>2];d=$E(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[k>>2]|0)+56|0;e=n;a=c[e+4>>2]|D;c[n>>2]=c[e>>2]|d;c[n+4>>2]=a}n=(c[h>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[h>>2]|0;i=g;return n|0}function vr(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,l=0,m=0;f=i;i=i+32|0;j=f+24|0;l=f+20|0;m=f+16|0;k=f+12|0;e=f+8|0;h=f+4|0;g=f;c[l>>2]=a;c[m>>2]=b;c[k>>2]=d;a:do if((c[(c[m>>2]|0)+4>>2]|0)==0?(a=c[(c[m>>2]|0)+8>>2]|0,c[e>>2]=a,(a|0)!=0):0){c[h>>2]=c[l>>2];b:while(1){if(!(c[h>>2]|0))break a;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[h>>2]>>2]|0))break;if(!(xc(c[e>>2]|0,c[(c[h>>2]|0)+8+(c[g>>2]<<4)>>2]|0)|0))break b;c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=c[(c[h>>2]|0)+4>>2]}c[c[k>>2]>>2]=c[h>>2];c[j>>2]=(c[h>>2]|0)+8+(c[g>>2]<<4);a=c[j>>2]|0;i=f;return a|0}while(0);c[j>>2]=0;a=c[j>>2]|0;i=f;return a|0}function wr(e,f,g){e=e|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;o=i;i=i+48|0;n=o+36|0;p=o+32|0;h=o+28|0;r=o+24|0;k=o+20|0;l=o+16|0;s=o+12|0;m=o+8|0;j=o+4|0;q=o;c[p>>2]=e;c[h>>2]=f;c[r>>2]=g;if(!(c[h>>2]|0)){c[n>>2]=0;e=c[n>>2]|0;i=o;return e|0}if((c[c[h>>2]>>2]|0)>0)g=((c[c[h>>2]>>2]|0)-1|0)*72|0;else g=0;c[s>>2]=80+g;e=c[s>>2]|0;c[k>>2]=Qe(c[p>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){c[n>>2]=0;e=c[n>>2]|0;i=o;return e|0}e=c[c[h>>2]>>2]|0;c[(c[k>>2]|0)+4>>2]=e;c[c[k>>2]>>2]=e;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[h>>2]>>2]|0))break;c[m>>2]=(c[k>>2]|0)+8+((c[l>>2]|0)*72|0);c[j>>2]=(c[h>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[m>>2]>>2]=c[c[j>>2]>>2];e=ne(c[p>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=ne(c[p>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;e=ne(c[p>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=e;a[(c[m>>2]|0)+36>>0]=a[(c[j>>2]|0)+36>>0]|0;c[(c[m>>2]|0)+40>>2]=c[(c[j>>2]|0)+40>>2];c[(c[m>>2]|0)+24>>2]=c[(c[j>>2]|0)+24>>2];c[(c[m>>2]|0)+28>>2]=c[(c[j>>2]|0)+28>>2];e=(c[m>>2]|0)+37|0;a[e>>0]=a[e>>0]&-3|((d[(c[j>>2]|0)+37>>0]|0)>>>1&1)<<1&255;e=(c[m>>2]|0)+37|0;a[e>>0]=a[e>>0]&-5|((d[(c[j>>2]|0)+37>>0]|0)>>>2&1)<<2&255;e=(c[m>>2]|0)+37|0;a[e>>0]=a[e>>0]&-9|((d[(c[j>>2]|0)+37>>0]|0)>>>3&1)<<3&255;e=ne(c[p>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[m>>2]|0)+64>>2]=e;e=(c[m>>2]|0)+37|0;a[e>>0]=a[e>>0]&-2|a[(c[j>>2]|0)+37>>0]&1;c[(c[m>>2]|0)+68>>2]=c[(c[j>>2]|0)+68>>2];e=c[(c[j>>2]|0)+16>>2]|0;c[(c[m>>2]|0)+16>>2]=e;c[q>>2]=e;if(c[q>>2]|0){e=(c[q>>2]|0)+40|0;b[e>>1]=(b[e>>1]|0)+1<<16>>16}g=Wp(c[p>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[r>>2]|0)|0;c[(c[m>>2]|0)+20>>2]=g;g=Bq(c[p>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[r>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=g;g=yr(c[p>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0;c[(c[m>>2]|0)+48>>2]=g;g=(c[j>>2]|0)+56|0;f=c[g+4>>2]|0;e=(c[m>>2]|0)+56|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[k>>2];e=c[n>>2]|0;i=o;return e|0}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;h=d+16|0;g=d+12|0;e=d+8|0;j=d+4|0;f=d;c[h>>2]=a;c[g>>2]=b;c[e>>2]=0;if(!(c[g>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[j>>2]=24+((c[c[g>>2]>>2]|0)-1<<4);a=c[j>>2]|0;c[e>>2]=se(c[h>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[e>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[c[e>>2]>>2]=c[c[g>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;a=Wp(c[h>>2]|0,c[(c[g>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]=a;a=Jq(c[h>>2]|0,c[(c[g>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]=a;a=ne(c[h>>2]|0,c[(c[g>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]=a;c[f>>2]=(c[f>>2]|0)+1}a=c[e>>2]|0;i=d;return a|0}function yr(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;i=i+32|0;e=d+24|0;f=d+20|0;j=d+16|0;g=d+12|0;h=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[j>>2]=b;if(!(c[j>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[g>>2]=Qe(c[f>>2]|0,8,0)|0;if(!(c[g>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[(c[g>>2]|0)+4>>2]=c[(c[j>>2]|0)+4>>2];a=Qe(c[f>>2]|0,c[(c[j>>2]|0)+4>>2]<<3,0)|0;c[c[g>>2]>>2]=a;if(!(c[c[g>>2]>>2]|0)){Xb(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[k>>2]=(c[c[g>>2]>>2]|0)+(c[h>>2]<<3);c[l>>2]=(c[c[j>>2]>>2]|0)+(c[h>>2]<<3);a=ne(c[f>>2]|0,c[c[l>>2]>>2]|0)|0;c[c[k>>2]>>2]=a;c[(c[k>>2]|0)+4>>2]=c[(c[l>>2]|0)+4>>2];c[h>>2]=(c[h>>2]|0)+1}c[e>>2]=c[g>>2];a=c[e>>2]|0;i=d;return a|0}function zr(e,f,g,h,j){e=e|0;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,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;r=i;i=i+96|0;o=r;k=r+92|0;m=r+88|0;u=r+84|0;B=r+80|0;G=r+76|0;p=r+72|0;C=r+64|0;F=r+60|0;q=r+56|0;n=r+52|0;I=r+48|0;H=r+44|0;s=r+40|0;l=r+36|0;E=r+32|0;D=r+28|0;t=r+24|0;v=r+20|0;z=r+16|0;w=r+12|0;y=r+8|0;x=r+4|0;c[m>>2]=e;c[u>>2]=f;c[B>>2]=g;c[G>>2]=h;c[p>>2]=j;c[I>>2]=c[(c[u>>2]|0)+56>>2];c[H>>2]=c[(c[u>>2]|0)+52>>2];c[s>>2]=0;e=c[m>>2]|0;c[o>>2]=c[c[u>>2]>>2];c[l>>2]=Te(e,1200,o)|0;if(!(c[l>>2]|0)){c[k>>2]=7;e=c[k>>2]|0;i=r;return e|0}c[q>>2]=se(c[m>>2]|0,28,0)|0;j=c[m>>2]|0;if(!(c[q>>2]|0)){Xb(j,c[l>>2]|0);c[k>>2]=7;e=c[k>>2]|0;i=r;return e|0}c[c[q>>2]>>2]=j;c[(c[q>>2]|0)+4>>2]=c[B>>2];c[E>>2]=Ve(c[m>>2]|0,c[(c[u>>2]|0)+68>>2]|0)|0;c[(c[(c[u>>2]|0)+56>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[E>>2]<<4)>>2];c[C+4>>2]=c[u>>2];c[C>>2]=c[q>>2];c[F>>2]=c[(c[m>>2]|0)+324>>2];c[(c[m>>2]|0)+324>>2]=C;c[n>>2]=tb[c[G>>2]&1](c[m>>2]|0,c[(c[B>>2]|0)+8>>2]|0,c[H>>2]|0,c[I>>2]|0,(c[q>>2]|0)+8|0,s)|0;c[(c[m>>2]|0)+324>>2]=c[F>>2];if((c[n>>2]|0)==7)a[(c[m>>2]|0)+64>>0]=1;a:do if(!(c[n>>2]|0)){if(c[(c[q>>2]|0)+8>>2]|0){e=c[(c[q>>2]|0)+8>>2]|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[c[(c[q>>2]|0)+8>>2]>>2]=c[c[B>>2]>>2];c[(c[q>>2]|0)+12>>2]=1;if(c[C+4>>2]|0){c[D>>2]=18e3;f=c[m>>2]|0;e=c[D>>2]|0;c[o>>2]=c[c[u>>2]>>2];e=Te(f,e,o)|0;c[c[p>>2]>>2]=e;Nk(c[q>>2]|0);c[n>>2]=1;break}c[(c[q>>2]|0)+24>>2]=c[(c[u>>2]|0)+60>>2];c[(c[u>>2]|0)+60>>2]=c[q>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[u>>2]|0)+38>>1]|0))break a;c[v>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+12>>2];c[w>>2]=0;if(c[v>>2]|0){c[z>>2]=Mb(c[v>>2]|0)|0;if(!(Lb(18048,c[v>>2]|0,6)|0)){if((a[(c[v>>2]|0)+6>>0]|0)!=0?(a[(c[v>>2]|0)+6>>0]|0)!=32:0)A=21}else A=21;b:do if((A|0)==21){A=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[z>>2]|0))break b;if(!(Lb(18056,(c[v>>2]|0)+(c[w>>2]|0)|0,7)|0)){if(!(a[(c[v>>2]|0)+((c[w>>2]|0)+7)>>0]|0))break;if((a[(c[v>>2]|0)+((c[w>>2]|0)+7)>>0]|0)==32)break}c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}while(0);if((c[w>>2]|0)<(c[z>>2]|0)){c[x>>2]=6+((a[(c[v>>2]|0)+((c[w>>2]|0)+6)>>0]|0)!=0?1:0);c[y>>2]=c[w>>2];while(1){if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[z>>2]|0))break;a[(c[v>>2]|0)+(c[y>>2]|0)>>0]=a[(c[v>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))>>0]|0;c[y>>2]=(c[y>>2]|0)+1}if((c[w>>2]|0)>0?(a[(c[v>>2]|0)+(c[w>>2]|0)>>0]|0)==0:0)a[(c[v>>2]|0)+((c[w>>2]|0)-1)>>0]=0;e=(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+23|0;a[e>>0]=d[e>>0]|2}}c[t>>2]=(c[t>>2]|0)+1}}}else{t=c[m>>2]|0;if(!(c[s>>2]|0)){c[o>>2]=c[l>>2];e=Te(t,17968,o)|0;c[c[p>>2]>>2]=e}else{c[o>>2]=c[s>>2];e=Te(t,1200,o)|0;c[c[p>>2]>>2]=e;hc(c[s>>2]|0)}Xb(c[m>>2]|0,c[q>>2]|0)}while(0);Xb(c[m>>2]|0,c[l>>2]|0);c[k>>2]=c[n>>2];e=c[k>>2]|0;i=r;return e|0}function Ar(b){b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;g=e;c[f>>2]=b;c[d>>2]=0;c[g>>2]=c[c[f>>2]>>2];if(!(a[(c[g>>2]|0)+145>>0]|0))c[d>>2]=_r(c[g>>2]|0,(c[f>>2]|0)+4|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}c[(c[f>>2]|0)+12>>2]=c[d>>2];g=(c[f>>2]|0)+64|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d>>2]|0;i=e;return g|0}function Br(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;f=i;i=i+48|0;d=f+32|0;e=f+28|0;n=f+24|0;m=f+20|0;g=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;h=f;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];pp(c[d>>2]|0,0,c[e>>2]|0);c[j>>2]=c[(c[d>>2]|0)+68>>2];a=(c[d>>2]|0)+68|0;c[a>>2]=(c[a>>2]|0)+3;Fr(c[d>>2]|0,c[e>>2]|0,c[j>>2]|0,0,0);c[k>>2]=(c[(c[d>>2]|0)+72>>2]|0)+1;c[l>>2]=c[(c[d>>2]|0)+68>>2];c[g>>2]=c[(c[m>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];Gr(c[d>>2]|0,c[h>>2]|0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);c[g>>2]=c[c[g>>2]>>2]}Hr(c[d>>2]|0,c[e>>2]|0);i=f;return}function Cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Zo(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=Yf(c[g>>2]|0,c[f>>2]|0)|0;Xb(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function Dr(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;k=i;i=i+32|0;g=k+16|0;e=k+12|0;j=k+8|0;f=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[j>>2]=d;c[f>>2]=Ve(c[c[g>>2]>>2]|0,c[(c[e>>2]|0)+68>>2]|0)|0;pp(c[g>>2]|0,0,c[f>>2]|0);c[h>>2]=c[(c[g>>2]|0)+68>>2];a=(c[g>>2]|0)+68|0;c[a>>2]=(c[a>>2]|0)+3;a=c[g>>2]|0;b=c[f>>2]|0;d=c[h>>2]|0;if(c[j>>2]|0)Fr(a,b,d,c[c[j>>2]>>2]|0,18160);else Fr(a,b,d,c[c[e>>2]>>2]|0,18168);Gr(c[g>>2]|0,c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,(c[(c[g>>2]|0)+72>>2]|0)+1|0,c[(c[g>>2]|0)+68>>2]|0);Hr(c[g>>2]|0,c[f>>2]|0);i=k;return}function Er(b,e,f,g){b=b|0;e=e|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;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;m=n+20|0;o=n+16|0;p=n+12|0;h=n+8|0;q=n+4|0;c[k>>2]=b;c[m>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[c[k>>2]>>2];if((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+4>>2]|0)>>>0>0:0){if(a[(c[q>>2]|0)+145>>0]|0){Se(c[k>>2]|0,18112,l);b=(c[k>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+1;c[j>>2]=-1;b=c[j>>2]|0;i=n;return b|0}c[c[p>>2]>>2]=c[o>>2];c[h>>2]=Cr(c[q>>2]|0,c[m>>2]|0)|0;if((c[h>>2]|0)<0){b=c[k>>2]|0;c[l>>2]=c[m>>2];Se(b,18136,l);b=(c[k>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+1;c[j>>2]=-1;b=c[j>>2]|0;i=n;return b|0}}else{c[h>>2]=d[(c[q>>2]|0)+144>>0];c[c[p>>2]>>2]=c[m>>2]}c[j>>2]=c[h>>2];b=c[j>>2]|0;i=n;return b|0}function Fr(b,d,e,f,g){b=b|0;d=d|0;e=e|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;r=i;i=i+80|0;s=r;p=r+68|0;n=r+64|0;l=r+60|0;u=r+56|0;w=r+52|0;j=r+48|0;v=r+44|0;h=r+40|0;k=r+36|0;m=r+24|0;o=r+72|0;q=r+20|0;t=r+16|0;c[p>>2]=b;c[n>>2]=d;c[l>>2]=e;c[u>>2]=f;c[w>>2]=g;c[v>>2]=c[c[p>>2]>>2];c[k>>2]=dp(c[p>>2]|0)|0;if(!(c[k>>2]|0)){i=r;return}c[h>>2]=(c[(c[v>>2]|0)+16>>2]|0)+(c[n>>2]<<4);c[j>>2]=0;while(1){if((c[j>>2]|0)>=3)break;c[q>>2]=c[18368+(c[j>>2]<<3)>>2];b=sp(c[v>>2]|0,c[q>>2]|0,c[c[h>>2]>>2]|0)|0;c[t>>2]=b;do if(!b){if(c[18372+(c[j>>2]<<3)>>2]|0){b=c[p>>2]|0;e=c[q>>2]|0;d=c[18372+(c[j>>2]<<3)>>2]|0;c[s>>2]=c[c[h>>2]>>2];c[s+4>>2]=e;c[s+8>>2]=d;cp(b,18456,s);c[m+(c[j>>2]<<2)>>2]=c[(c[p>>2]|0)+388>>2];a[o+(c[j>>2]|0)>>0]=2}}else{c[m+(c[j>>2]<<2)>>2]=c[(c[t>>2]|0)+32>>2];a[o+(c[j>>2]|0)>>0]=0;Jr(c[p>>2]|0,c[n>>2]|0,c[m+(c[j>>2]<<2)>>2]|0,1,c[q>>2]|0);if(c[u>>2]|0){b=c[p>>2]|0;f=c[q>>2]|0;e=c[w>>2]|0;d=c[u>>2]|0;c[s>>2]=c[c[h>>2]>>2];c[s+4>>2]=f;c[s+8>>2]=e;c[s+12>>2]=d;cp(b,18480,s);break}else{fp(c[k>>2]|0,118,c[m+(c[j>>2]<<2)>>2]|0,c[n>>2]|0)|0;break}}while(0);c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if(!(c[18372+(c[j>>2]<<3)>>2]|0))break;We(c[k>>2]|0,55,(c[l>>2]|0)+(c[j>>2]|0)|0,c[m+(c[j>>2]<<2)>>2]|0,c[n>>2]|0,3)|0;Xe(c[k>>2]|0,a[o+(c[j>>2]|0)>>0]|0);c[j>>2]=(c[j>>2]|0)+1}i=r;return}function Gr(b,f,g,h,j,k){b=b|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,M=0,N=0,O=0,P=0,Q=0,R=0;H=i;i=i+128|0;K=H+116|0;P=H+112|0;x=H+108|0;u=H+104|0;R=H+100|0;Q=H+96|0;E=H+92|0;y=H+88|0;A=H+84|0;o=H+80|0;n=H+76|0;G=H+72|0;q=H+68|0;M=H+64|0;w=H+120|0;v=H+60|0;z=H+56|0;J=H+52|0;t=H+48|0;s=H+44|0;r=H+40|0;p=H+36|0;I=H+32|0;N=H+28|0;C=H+24|0;B=H+20|0;O=H+16|0;l=H+12|0;D=H+8|0;F=H+4|0;L=H;c[K>>2]=b;c[P>>2]=f;c[x>>2]=g;c[u>>2]=h;c[R>>2]=j;c[Q>>2]=k;c[E>>2]=c[c[K>>2]>>2];c[q>>2]=-1;a[w>>0]=1;f=c[R>>2]|0;c[R>>2]=f+1;c[v>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[z>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[J>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[t>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[s>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[r>>2]=f;f=c[R>>2]|0;c[R>>2]=f+1;c[p>>2]=f;c[I>>2]=c[R>>2];if((c[(c[K>>2]|0)+72>>2]|0)>(c[R>>2]|0))b=c[(c[K>>2]|0)+72>>2]|0;else b=c[R>>2]|0;c[(c[K>>2]|0)+72>>2]=b;c[n>>2]=dp(c[K>>2]|0)|0;if((c[n>>2]|0)==0|(c[P>>2]|0)==0){i=H;return}if(!(c[(c[P>>2]|0)+32>>2]|0)){i=H;return}if(!(Lb(c[c[P>>2]>>2]|0,15144,7)|0)){i=H;return}c[M>>2]=Ve(c[E>>2]|0,c[(c[P>>2]|0)+68>>2]|0)|0;if(ap(c[K>>2]|0,28,c[c[P>>2]>>2]|0,0,c[(c[(c[E>>2]|0)+16>>2]|0)+(c[M>>2]<<4)>>2]|0)|0){i=H;return}Jr(c[K>>2]|0,c[M>>2]|0,c[(c[P>>2]|0)+32>>2]|0,0,c[c[P>>2]>>2]|0);R=c[Q>>2]|0;c[Q>>2]=R+1;c[o>>2]=R;R=c[Q>>2]|0;c[Q>>2]=R+1;c[A>>2]=R;if((c[(c[K>>2]|0)+68>>2]|0)>(c[Q>>2]|0))Q=c[(c[K>>2]|0)+68>>2]|0;else Q=c[Q>>2]|0;c[(c[K>>2]|0)+68>>2]=Q;Kr(c[K>>2]|0,c[o>>2]|0,c[M>>2]|0,c[P>>2]|0,54);hp(c[n>>2]|0,97,0,c[s>>2]|0,0,c[c[P>>2]>>2]|0,0)|0;c[y>>2]=c[(c[P>>2]|0)+8>>2];while(1){Q=c[x>>2]|0;if(!(c[y>>2]|0))break;if(!((Q|0)!=0?(c[x>>2]|0)!=(c[y>>2]|0):0))m=15;do if((m|0)==15){m=0;if(!(c[(c[y>>2]|0)+36>>2]|0))a[w>>0]=0;if(((d[(c[P>>2]|0)+44>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){c[N>>2]=e[(c[y>>2]|0)+50>>1];c[O>>2]=c[c[P>>2]>>2];c[l>>2]=(c[N>>2]|0)-1}else{c[N>>2]=e[(c[y>>2]|0)+52>>1];c[O>>2]=c[c[y>>2]>>2];if((d[(c[y>>2]|0)+55>>0]|0)>>>3&1)Q=e[(c[y>>2]|0)+50>>1]|0;else Q=c[N>>2]|0;c[l>>2]=Q-1}hp(c[n>>2]|0,97,0,c[r>>2]|0,0,c[O>>2]|0,0)|0;if((c[(c[K>>2]|0)+72>>2]|0)>((c[I>>2]|0)+(c[l>>2]|0)|0))Q=c[(c[K>>2]|0)+72>>2]|0;else Q=(c[I>>2]|0)+(c[l>>2]|0)|0;c[(c[K>>2]|0)+72>>2]=Q;ip(c[n>>2]|0,54,c[A>>2]|0,c[(c[y>>2]|0)+44>>2]|0,c[M>>2]|0)|0;Lr(c[K>>2]|0,c[y>>2]|0);fp(c[n>>2]|0,25,c[N>>2]|0,(c[z>>2]|0)+1|0)|0;fp(c[n>>2]|0,25,e[(c[y>>2]|0)+50>>1]|0,(c[z>>2]|0)+2|0)|0;ip(c[n>>2]|0,1,0,(c[z>>2]|0)+1|0,c[z>>2]|0)|0;bf(c[n>>2]|0,-1,18176,-5);Xe(c[n>>2]|0,2);c[C>>2]=Ir(c[n>>2]|0,108,c[A>>2]|0)|0;fp(c[n>>2]|0,25,0,c[J>>2]|0)|0;c[B>>2]=Mr(c[n>>2]|0)|0;if((c[l>>2]|0)>0){c[D>>2]=Nr(c[n>>2]|0)|0;c[F>>2]=Qe(c[E>>2]|0,c[l>>2]<<2,0)|0;if(!(c[F>>2]|0))break;mp(c[n>>2]|0,16)|0;c[B>>2]=Mr(c[n>>2]|0)|0;if(((c[l>>2]|0)==1?(e[(c[y>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[y>>2]|0)+54>>0]|0|0)!=0:0)fp(c[n>>2]|0,77,c[I>>2]|0,c[D>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[l>>2]|0))break;c[L>>2]=Or(c[K>>2]|0,c[(c[(c[y>>2]|0)+32>>2]|0)+(c[G>>2]<<2)>>2]|0)|0;fp(c[n>>2]|0,25,c[G>>2]|0,c[J>>2]|0)|0;ip(c[n>>2]|0,47,c[A>>2]|0,c[G>>2]|0,c[t>>2]|0)|0;R=hp(c[n>>2]|0,78,c[t>>2]|0,0,(c[I>>2]|0)+(c[G>>2]|0)|0,c[L>>2]|0,-4)|0;c[(c[F>>2]|0)+(c[G>>2]<<2)>>2]=R;Xe(c[n>>2]|0,-128);c[G>>2]=(c[G>>2]|0)+1}fp(c[n>>2]|0,25,c[l>>2]|0,c[J>>2]|0)|0;fp(c[n>>2]|0,16,0,c[D>>2]|0)|0;zp(c[n>>2]|0,(c[B>>2]|0)-1|0);c[G>>2]=0;while(1){Q=c[n>>2]|0;if((c[G>>2]|0)>=(c[l>>2]|0))break;zp(Q,c[(c[F>>2]|0)+(c[G>>2]<<2)>>2]|0);ip(c[n>>2]|0,47,c[A>>2]|0,c[G>>2]|0,(c[I>>2]|0)+(c[G>>2]|0)|0)|0;c[G>>2]=(c[G>>2]|0)+1}Pr(Q,c[D>>2]|0);Xb(c[E>>2]|0,c[F>>2]|0)}ip(c[n>>2]|0,1,1,c[z>>2]|0,c[t>>2]|0)|0;bf(c[n>>2]|0,-1,18216,-5);Xe(c[n>>2]|0,2);fp(c[n>>2]|0,9,c[A>>2]|0,c[B>>2]|0)|0;Qr(c[n>>2]|0,c[z>>2]|0,0,c[p>>2]|0);hp(c[n>>2]|0,49,c[s>>2]|0,3,c[t>>2]|0,18256,0)|0;fp(c[n>>2]|0,74,c[u>>2]|0,c[v>>2]|0)|0;ip(c[n>>2]|0,75,c[u>>2]|0,c[t>>2]|0,c[v>>2]|0)|0;Xe(c[n>>2]|0,8);zp(c[n>>2]|0,c[C>>2]|0)}while(0);c[y>>2]=c[(c[y>>2]|0)+20>>2]}if(Q){i=H;return}if(!(d[w>>0]|0)){i=H;return}fp(c[n>>2]|0,50,c[o>>2]|0,c[p>>2]|0)|0;c[q>>2]=Ir(c[n>>2]|0,46,c[p>>2]|0)|0;fp(c[n>>2]|0,28,0,c[r>>2]|0)|0;hp(c[n>>2]|0,49,c[s>>2]|0,3,c[t>>2]|0,18256,0)|0;fp(c[n>>2]|0,74,c[u>>2]|0,c[v>>2]|0)|0;ip(c[n>>2]|0,75,c[u>>2]|0,c[t>>2]|0,c[v>>2]|0)|0;Xe(c[n>>2]|0,8);zp(c[n>>2]|0,c[q>>2]|0);i=H;return}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=dp(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=d;return}Ir(c[e>>2]|0,123,c[f>>2]|0)|0;i=d;return}function Ir(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=ip(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return a|0}function Jr(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0;k=i;i=i+48|0;t=k+28|0;l=k+24|0;m=k+20|0;n=k+32|0;o=k+16|0;p=k+12|0;q=k+8|0;r=k+4|0;j=k;c[t>>2]=b;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;c[o>>2]=h;h=c[t>>2]|0;if(c[(c[t>>2]|0)+408>>2]|0)h=c[h+408>>2]|0;c[p>>2]=h;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+396>>2]|0))break;c[j>>2]=(c[(c[p>>2]|0)+400>>2]|0)+(c[q>>2]<<4);if((c[c[j>>2]>>2]|0)==(c[l>>2]|0)?(c[(c[j>>2]|0)+4>>2]|0)==(c[m>>2]|0):0){s=7;break}c[q>>2]=(c[q>>2]|0)+1}if((s|0)==7){if(d[(c[j>>2]|0)+8>>0]|0)l=1;else l=(d[n>>0]|0|0)!=0;a[(c[j>>2]|0)+8>>0]=l&1;i=k;return}c[r>>2]=(c[(c[p>>2]|0)+396>>2]|0)+1<<4;q=c[r>>2]|0;q=Ek(c[c[p>>2]>>2]|0,c[(c[p>>2]|0)+400>>2]|0,q,((q|0)<0)<<31>>31)|0;c[(c[p>>2]|0)+400>>2]=q;q=(c[p>>2]|0)+396|0;if(c[(c[p>>2]|0)+400>>2]|0){t=c[q>>2]|0;c[q>>2]=t+1;c[j>>2]=(c[(c[p>>2]|0)+400>>2]|0)+(t<<4);c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];a[(c[j>>2]|0)+8>>0]=a[n>>0]|0;c[(c[j>>2]|0)+12>>2]=c[o>>2];i=k;return}else{c[q>>2]=0;a[(c[c[p>>2]>>2]|0)+64>>0]=1;i=k;return}}function Kr(a,e,f,g,h){a=a|0;e=e|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,q=0;o=i;i=i+32|0;q=o+24|0;m=o+20|0;l=o+16|0;k=o+12|0;n=o+8|0;j=o+4|0;p=o;c[q>>2]=a;c[m>>2]=e;c[l>>2]=f;c[k>>2]=g;c[n>>2]=h;c[j>>2]=dp(c[q>>2]|0)|0;Jr(c[q>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+32>>2]|0,((c[n>>2]|0)==55?1:0)&255,c[c[k>>2]>>2]|0);if(!(d[(c[k>>2]|0)+44>>0]&32)){We(c[j>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[l>>2]|0,b[(c[k>>2]|0)+38>>1]|0)|0;i=o;return}else{c[p>>2]=Zr(c[k>>2]|0)|0;ip(c[j>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[p>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Lr(c[q>>2]|0,c[p>>2]|0);i=o;return}}function Lr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;bf(a,-1,Wr(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Mr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function Nr(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+24>>2];f=(c[e>>2]|0)+108|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Ek(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+112>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[e>>2]|0)+112>>2]=f}if(!(c[(c[e>>2]|0)+112>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=d;return f|0}c[(c[(c[e>>2]|0)+112>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=d;return f|0}function Or(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;h=f+12|0;k=f+8|0;m=f+4|0;j=f+17|0;l=f+16|0;g=f;c[h>>2]=b;c[k>>2]=e;c[m>>2]=c[c[h>>2]>>2];a[j>>0]=a[(c[(c[(c[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;a[l>>0]=a[(c[m>>2]|0)+145>>0]|0;c[g>>2]=$g(c[m>>2]|0,a[j>>0]|0,c[k>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[g>>2]|0;i=f;return m|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;i=f;return m|0}c[g>>2]=eq(c[h>>2]|0,a[j>>0]|0,c[g>>2]|0,c[k>>2]|0)|0;m=c[g>>2]|0;i=f;return m|0}function Pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;h=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[h>>2]=b;c[e>>2]=c[(c[f>>2]|0)+24>>2];c[g>>2]=-1-(c[h>>2]|0);if((c[g>>2]|0)>=0?(c[(c[e>>2]|0)+112>>2]|0)!=0:0)c[(c[(c[e>>2]|0)+112>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[f>>2]|0)+32>>2];c[(c[e>>2]|0)+88>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;i=d;return}function Qr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;ip(c[g>>2]|0,1,0,c[j>>2]|0,c[h>>2]|0)|0;bf(c[g>>2]|0,-1,18264,-5);Xe(c[g>>2]|0,1);i=f;return}function Rr(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,l=0,m=0,n=0,o=0;k=i;i=i+64|0;n=k+16|0;f=k+48|0;o=k+40|0;j=k+36|0;m=k+32|0;h=k+28|0;g=k+24|0;e=k+8|0;l=k;c[f>>2]=a;c[k+44>>2]=b;c[o>>2]=d;c[j>>2]=Cd(c[c[o>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[g>>2]=Mc(a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){ie(c[f>>2]|0);i=k;return}o=c[g>>2]|0;a=n;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;sc(24,o,18320,n)|0;o=c[g>>2]|0;c[m>>2]=o+(Mb(c[g>>2]|0)|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;o=e;c[o>>2]=(c[(c[(c[j>>2]|0)+24>>2]|0)+(c[h>>2]<<2)>>2]|0)+1;c[o+4>>2]=0;o=e;o=bF(c[c[j>>2]>>2]|0,0,c[o>>2]|0,c[o+4>>2]|0)|0;o=ZE(o|0,D|0,1,0)|0;d=e;d=mF(o|0,D|0,c[d>>2]|0,c[d+4>>2]|0)|0;o=l;c[o>>2]=d;c[o+4>>2]=D;o=c[m>>2]|0;d=l;b=c[d+4>>2]|0;a=n;c[a>>2]=c[d>>2];c[a+4>>2]=b;sc(24,o,18328,n)|0;o=Mb(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+o;c[h>>2]=(c[h>>2]|0)+1}$d(c[f>>2]|0,c[g>>2]|0,-1,13);i=k;return}function Sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+12|0;g=f+8|0;e=f+4|0;h=f;c[f+20>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=Cd(c[c[j>>2]>>2]|0)|0;c[h>>2]=Jd(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[e>>2]>>2]|0)){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[(c[(c[e>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]=1;c[g>>2]=(c[g>>2]|0)+1}j=c[e>>2]|0;a=c[j>>2]|0;a=a+1|0;c[j>>2]=a;i=f;return}Tr(c[e>>2]|0,c[h>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[h>>2]|0))break;j=(c[(c[e>>2]|0)+20>>2]|0)+(c[g>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;j=(c[(c[e>>2]|0)+24>>2]|0)+(c[g>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[e>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]=1;c[g>>2]=(c[g>>2]|0)+1}j=c[e>>2]|0;a=c[j>>2]|0;a=a+1|0;c[j>>2]=a;i=f;return}function Tr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Ur(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,l=0,m=0,n=0;e=i;i=i+48|0;f=e+32|0;n=e+24|0;g=e+20|0;k=e+16|0;j=e+12|0;h=e+8|0;m=e+4|0;l=e;c[f>>2]=a;c[e+28>>2]=b;c[n>>2]=d;c[k>>2]=Jd(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[k>>2]|0)+1&-2;c[j>>2]=Jd(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[l>>2]=pe(c[f>>2]|0)|0;a=c[m>>2]|0;c[g>>2]=se(c[l>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){ie(c[f>>2]|0);i=e;return}else{c[(c[g>>2]|0)+52>>2]=c[l>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+8>>2]=c[k>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];c[(c[g>>2]|0)+24>>2]=(c[g>>2]|0)+56;c[(c[g>>2]|0)+20>>2]=(c[(c[g>>2]|0)+24>>2]|0)+(c[h>>2]<<2);Od(c[f>>2]|0,c[g>>2]|0,56,16);i=e;return}}function Vr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xb(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function Wr(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+32|0;g=k+28|0;h=k+24|0;j=k+20|0;n=k+16|0;o=k+12|0;p=k+8|0;m=k+4|0;l=k;c[h>>2]=b;c[j>>2]=f;if(c[(c[h>>2]|0)+64>>2]|0){c[g>>2]=0;b=c[g>>2]|0;i=k;return b|0}if((c[(c[j>>2]|0)+40>>2]|0)!=0?(c[(c[(c[j>>2]|0)+40>>2]|0)+12>>2]|0)!=(c[c[h>>2]>>2]|0):0){eh(c[(c[j>>2]|0)+40>>2]|0);c[(c[j>>2]|0)+40>>2]=0}do if(!(c[(c[j>>2]|0)+40>>2]|0)){c[o>>2]=e[(c[j>>2]|0)+52>>1];c[p>>2]=e[(c[j>>2]|0)+50>>1];f=c[c[h>>2]>>2]|0;if((d[(c[j>>2]|0)+55>>0]|0)>>>3&1)c[m>>2]=Xr(f,c[p>>2]|0,(c[o>>2]|0)-(c[p>>2]|0)|0)|0;else c[m>>2]=Xr(f,c[o>>2]|0,0)|0;if(c[m>>2]|0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;c[l>>2]=c[(c[(c[j>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];if(!(UE(c[l>>2]|0,3320)|0))p=0;else p=Or(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+20+(c[n>>2]<<2)>>2]=p;a[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]|0)>>0]=a[(c[(c[j>>2]|0)+28>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1}l=c[m>>2]|0;if(c[(c[h>>2]|0)+64>>2]|0){eh(l);break}else{c[(c[j>>2]|0)+40>>2]=l;break}}}while(0);c[g>>2]=Yr(c[(c[j>>2]|0)+40>>2]|0)|0;b=c[g>>2]|0;i=k;return b|0}function Xr(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;j=g+12|0;l=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[h>>2]=se(0,24+(((c[l>>2]|0)+(c[k>>2]|0)|0)*5|0)|0,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+16>>2]=(c[h>>2]|0)+20+((c[l>>2]|0)+(c[k>>2]|0)<<2);b[(c[h>>2]|0)+6>>1]=c[l>>2];b[(c[h>>2]|0)+8>>1]=c[k>>2];a[(c[h>>2]|0)+4>>0]=a[(c[(c[(c[j>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[(c[h>>2]|0)+12>>2]=c[j>>2];c[c[h>>2]>>2]=1;d=c[h>>2]|0;i=g;return d|0}else{a[(c[j>>2]|0)+64>>0]=1;d=c[h>>2]|0;i=g;return d|0}return 0}function Yr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function Zr(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0)){b=5;break}if((a[(c[e>>2]|0)+55>>0]&3|0)==2){b=5;break}c[e>>2]=c[(c[e>>2]|0)+20>>2]}if((b|0)==5){i=d;return c[e>>2]|0}return 0}function _r(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;k=g+12|0;l=g+8|0;f=g+4|0;j=g;c[h>>2]=b;c[k>>2]=d;c[j>>2]=((c[(c[h>>2]|0)+24>>2]&2|0)!=0^1)&1;c[f>>2]=0;a[(c[h>>2]|0)+145>>0]=1;c[l>>2]=0;while(1){if(c[f>>2]|0)break;if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;if(!((c[l>>2]|0)==1?1:((e[(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[f>>2]=$r(c[h>>2]|0,c[l>>2]|0,c[k>>2]|0)|0,(c[f>>2]|0)!=0):0)as(c[h>>2]|0,c[l>>2]|0);c[l>>2]=(c[l>>2]|0)+1}if(((c[f>>2]|0)==0?((e[(c[(c[(c[h>>2]|0)+16>>2]|0)+28>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[f>>2]=$r(c[h>>2]|0,1,c[k>>2]|0)|0,(c[f>>2]|0)!=0):0)as(c[h>>2]|0,1);a[(c[h>>2]|0)+145>>0]=0;if(!((c[f>>2]|0)==0&(c[j>>2]|0)!=0)){b=c[f>>2]|0;i=g;return b|0}bs(c[h>>2]|0);b=c[f>>2]|0;i=g;return b|0}function $r(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,A=0,B=0,C=0,D=0;r=i;i=i+128|0;j=r;v=r+120|0;l=r+116|0;m=r+112|0;q=r+108|0;n=r+104|0;A=r+100|0;x=r+96|0;B=r+92|0;o=r+88|0;C=r+72|0;w=r+48|0;k=r+32|0;D=r+24|0;s=r+20|0;p=r+16|0;y=r+124|0;t=r+12|0;u=r+8|0;c[l>>2]=f;c[m>>2]=g;c[q>>2]=h;c[p>>2]=0;if((c[m>>2]|0)==1)c[D>>2]=18616;else c[D>>2]=18512;c[s>>2]=(c[m>>2]|0)==1?14904:14928;c[C>>2]=c[s>>2];c[C+4>>2]=18736;c[C+8>>2]=c[D>>2];c[C+12>>2]=0;c[k>>2]=c[l>>2];c[k+8>>2]=c[m>>2];c[k+12>>2]=0;c[k+4>>2]=c[q>>2];cs(k,3,C,0)|0;if(!(c[k+12>>2]|0)){c[B>>2]=sp(c[l>>2]|0,c[s>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(c[B>>2]|0){f=(c[B>>2]|0)+44|0;a[f>>0]=d[f>>0]|1}c[o>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4);if(!(c[(c[o>>2]|0)+4>>2]|0)){if((c[m>>2]|0)==1){f=(c[(c[(c[l>>2]|0)+16>>2]|0)+28>>2]|0)+78|0;b[f>>1]=e[f>>1]|1}c[v>>2]=0;f=c[v>>2]|0;i=r;return f|0}Pc(c[(c[o>>2]|0)+4>>2]|0);do if(!(Tc(c[(c[o>>2]|0)+4>>2]|0)|0)){c[n>>2]=Rc(c[(c[o>>2]|0)+4>>2]|0,0)|0;if(c[n>>2]|0){g=c[q>>2]|0;f=c[l>>2]|0;c[j>>2]=ge(c[n>>2]|0)|0;pn(g,f,1200,j);break}else{c[p>>2]=1;z=16;break}}else z=16;while(0);a:do if((z|0)==16){c[A>>2]=0;while(1){if((c[A>>2]|0)>=5)break;Sc(c[(c[o>>2]|0)+4>>2]|0,(c[A>>2]|0)+1|0,w+(c[A>>2]<<2)|0);c[A>>2]=(c[A>>2]|0)+1}c[c[(c[o>>2]|0)+12>>2]>>2]=c[w>>2];z=c[m>>2]|0;do if(c[w+16>>2]|0){A=c[w+16>>2]|0;if(!z){f=A&3;a[y>>0]=f;a[y>>0]=(d[y>>0]|0)==0?1:f;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=a[y>>0]|0;break}if((A|0)!=(d[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0)){pn(c[q>>2]|0,c[l>>2]|0,18744,j);c[n>>2]=1;break a}}else{f=(c[(c[(c[l>>2]|0)+16>>2]|0)+(z<<4)+12>>2]|0)+78|0;b[f>>1]=e[f>>1]|4}while(0);a[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]=a[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;if(!(c[(c[(c[o>>2]|0)+12>>2]|0)+80>>2]|0)){f=ds(c[w+8>>2]|0)|0;c[x>>2]=f;c[x>>2]=(c[x>>2]|0)==0?2e3:f;c[(c[(c[o>>2]|0)+12>>2]|0)+80>>2]=c[x>>2];es(c[(c[o>>2]|0)+4>>2]|0,c[(c[(c[o>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]=c[w+4>>2];if(!(d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)>4){pn(c[q>>2]|0,c[l>>2]|0,18816,j);c[n>>2]=1;break}if((c[m>>2]|0)==0?(c[w+4>>2]|0)>=4:0){f=(c[l>>2]|0)+24|0;c[f>>2]=c[f>>2]&-32769}f=c[l>>2]|0;g=c[s>>2]|0;c[j>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[j+4>>2]=g;c[t>>2]=Te(f,18840,j)|0;c[u>>2]=c[(c[l>>2]|0)+284>>2];c[(c[l>>2]|0)+284>>2]=0;c[n>>2]=kf(c[l>>2]|0,c[t>>2]|0,6,k,0)|0;c[(c[l>>2]|0)+284>>2]=c[u>>2];if(!(c[n>>2]|0))c[n>>2]=c[k+12>>2];Xb(c[l>>2]|0,c[t>>2]|0);if(!(c[n>>2]|0))fs(c[l>>2]|0,c[m>>2]|0)|0;if(a[(c[l>>2]|0)+64>>0]|0){c[n>>2]=7;cd(c[l>>2]|0)}if((c[n>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&65536|0)==0:0)break;f=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[f>>1]=e[f>>1]|1;c[n>>2]=0}while(0);if(c[p>>2]|0)gs(c[(c[o>>2]|0)+4>>2]|0)|0}else c[n>>2]=c[k+12>>2];if((c[n>>2]|0)==7|(c[n>>2]|0)==3082)a[(c[l>>2]|0)+64>>0]=1;c[v>>2]=c[n>>2];f=c[v>>2]|0;i=r;return f|0}function as(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;g=d+4|0;f=d;c[e>>2]=a;c[g>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<4);wh(c[(c[f>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=d;return}c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+16;wh(c[(c[f>>2]|0)+12>>2]|0);i=d;return}function bs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function cs(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,q=0,r=0,s=0;o=i;i=i+48|0;k=o+40|0;s=o+36|0;l=o+28|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;n=o+4|0;r=o;c[s>>2]=d;c[o+32>>2]=f;c[l>>2]=g;c[o+24>>2]=h;c[m>>2]=c[s>>2];c[j>>2]=c[c[m>>2]>>2];c[q>>2]=c[(c[m>>2]|0)+8>>2];d=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[q>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[j>>2]|0)+64>>0]|0){ks(c[m>>2]|0,c[c[l>>2]>>2]|0,0);c[k>>2]=1;s=c[k>>2]|0;i=o;return s|0}if(!(c[l>>2]|0)){c[k>>2]=0;s=c[k>>2]|0;i=o;return s|0}do if(c[(c[l>>2]|0)+4>>2]|0){if((c[(c[l>>2]|0)+8>>2]|0)!=0?(a[c[(c[l>>2]|0)+8>>2]>>0]|0)!=0:0){a[(c[j>>2]|0)+144>>0]=c[q>>2];s=zg(c[(c[l>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+140>>2]=s;a[(c[j>>2]|0)+146>>0]=0;of(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,-1,n,0)|0;c[p>>2]=c[(c[j>>2]|0)+52>>2];a[(c[j>>2]|0)+144>>0]=0;do if(0!=(c[p>>2]|0)?(a[(c[j>>2]|0)+146>>0]|0)==0:0){c[(c[m>>2]|0)+12>>2]=c[p>>2];if((c[p>>2]|0)==7){a[(c[j>>2]|0)+64>>0]=1;break}if((c[p>>2]|0)!=9?(c[p>>2]&255|0)!=6:0){d=c[m>>2]|0;s=c[c[l>>2]>>2]|0;ks(d,s,nf(c[j>>2]|0)|0)}}while(0);td(c[n>>2]|0)|0;break}if(!(c[c[l>>2]>>2]|0)){ks(c[m>>2]|0,0,0);break}c[r>>2]=Op(c[j>>2]|0,c[c[l>>2]>>2]|0,c[(c[(c[j>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0)|0;if((c[r>>2]|0)!=0?(Ag(c[(c[l>>2]|0)+4>>2]|0,(c[r>>2]|0)+44|0)|0)==0:0)ks(c[m>>2]|0,c[c[l>>2]>>2]|0,18992)}else ks(c[m>>2]|0,c[c[l>>2]>>2]|0,0);while(0);c[k>>2]=0;s=c[k>>2]|0;i=o;return s|0}function ds(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;a=c[e>>2]|0;do if((c[e>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[e>>2]|0);break}else c[b>>2]=a;while(0);i=d;return c[b>>2]|0}function es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];Pc(c[g>>2]|0);Jh(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function fs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+48|0;l=f;k=f+40|0;h=f+36|0;m=f+32|0;e=f+24|0;n=f+16|0;j=f+12|0;g=f+8|0;o=f+4|0;c[h>>2]=b;c[m>>2]=d;c[n>>2]=c[(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+32>>2];while(1){if(!(c[n>>2]|0))break;c[o>>2]=c[(c[n>>2]|0)+8>>2];hs(c[o>>2]|0);c[n>>2]=c[c[n>>2]>>2]}c[e>>2]=c[h>>2];c[e+4>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];if(!(sp(c[h>>2]|0,18392,c[e+4>>2]|0)|0)){c[k>>2]=1;b=c[k>>2]|0;i=f;return b|0}b=c[h>>2]|0;c[l>>2]=c[e+4>>2];c[j>>2]=Te(b,18896,l)|0;if(!(c[j>>2]|0))c[g>>2]=7;else{c[g>>2]=kf(c[h>>2]|0,c[j>>2]|0,7,e,0)|0;Xb(c[h>>2]|0,c[j>>2]|0)}if((c[g>>2]|0)==7)a[(c[h>>2]|0)+64>>0]=1;c[k>>2]=c[g>>2];b=c[k>>2]|0;i=f;return b|0}function gs(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;Pc(c[e>>2]|0);c[d>>2]=nd(c[e>>2]|0,0)|0;if(c[d>>2]|0){e=c[d>>2]|0;i=b;return e|0}c[d>>2]=md(c[e>>2]|0,0)|0;e=c[d>>2]|0;i=b;return e|0}function hs(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+12|0;k=f+16|0;j=f+8|0;l=f+4|0;h=f;c[g>>2]=a;b[k+0>>1]=b[9488]|0;b[k+2>>1]=b[9489]|0;b[k+4>>1]=b[9490]|0;b[k+6>>1]=b[9491]|0;b[k+8>>1]=b[9492]|0;c[j>>2]=c[(c[g>>2]|0)+8>>2];if(5<(e[(c[g>>2]|0)+50>>1]|0))a=5;else a=e[(c[g>>2]|0)+50>>1]|0;c[l>>2]=a;b[c[j>>2]>>1]=b[(c[(c[g>>2]|0)+12>>2]|0)+28>>1]|0;if((b[c[j>>2]>>1]|0)<33)b[c[j>>2]>>1]=33;dF((c[j>>2]|0)+2|0,k|0,c[l>>2]<<1|0)|0;c[h>>2]=(c[l>>2]|0)+1;while(1){if((c[h>>2]|0)>(e[(c[g>>2]|0)+50>>1]|0))break;b[(c[j>>2]|0)+(c[h>>2]<<1)>>1]=23;c[h>>2]=(c[h>>2]|0)+1}if(!(d[(c[g>>2]|0)+54>>0]|0)){i=f;return}b[(c[j>>2]|0)+(e[(c[g>>2]|0)+50>>1]<<1)>>1]=0;i=f;return}function is(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,q=0,r=0,s=0,t=0;p=i;i=i+112|0;k=p+96|0;t=p+92|0;r=p+84|0;s=p+76|0;l=p+72|0;j=p+68|0;o=p+64|0;m=p+60|0;n=p+56|0;q=p;c[t>>2]=d;c[p+88>>2]=f;c[r>>2]=g;c[p+80>>2]=h;c[s>>2]=c[t>>2];if(((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=0:0)?(c[(c[r>>2]|0)+8>>2]|0)!=0:0){c[j>>2]=sp(c[c[s>>2]>>2]|0,c[c[r>>2]>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;if(!(c[j>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=p;return t|0}do if(c[(c[r>>2]|0)+4>>2]|0)if(!(xc(c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0)){c[l>>2]=Zr(c[j>>2]|0)|0;break}else{c[l>>2]=Op(c[c[s>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;break}else c[l>>2]=0;while(0);c[o>>2]=c[(c[r>>2]|0)+8>>2];if(c[l>>2]|0){c[m>>2]=(e[(c[l>>2]|0)+50>>1]|0)+1;c[n>>2]=0;t=(c[l>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;js(c[o>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[l>>2]|0);if(!(c[(c[l>>2]|0)+36>>2]|0))b[(c[j>>2]|0)+28>>1]=b[c[(c[l>>2]|0)+8>>2]>>1]|0}else{b[q+48>>1]=b[(c[j>>2]|0)+42>>1]|0;js(c[o>>2]|0,1,0,(c[j>>2]|0)+28|0,q);b[(c[j>>2]|0)+42>>1]=b[q+48>>1]|0}c[k>>2]=0;t=c[k>>2]|0;i=p;return t|0}c[k>>2]=0;t=c[k>>2]|0;i=p;return t|0}function js(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;o=i;i=i+48|0;r=o+32|0;q=o+28|0;n=o+20|0;l=o+16|0;k=o+12|0;p=o+8|0;j=o+4|0;m=o;c[r>>2]=d;c[q>>2]=e;c[o+24>>2]=f;c[n>>2]=g;c[l>>2]=h;c[k>>2]=c[r>>2];c[j>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break;if((c[j>>2]|0)>=(c[q>>2]|0))break;c[m>>2]=0;while(1){r=a[c[k>>2]>>0]|0;c[p>>2]=r;if(!((r|0)>=48&(c[p>>2]|0)<=57))break;c[m>>2]=((c[m>>2]|0)*10|0)+(c[p>>2]|0)-48;c[k>>2]=(c[k>>2]|0)+1}r=dq(c[m>>2]|0,0)|0;b[(c[n>>2]|0)+(c[j>>2]<<1)>>1]=r;if((a[c[k>>2]>>0]|0)==32)c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}a:while(1){if(!(a[c[k>>2]>>0]|0))break;if(hf(18944,c[k>>2]|0)|0){if(!(hf(18960,c[k>>2]|0)|0)){r=zg((c[k>>2]|0)+3|0)|0;r=dq(r,((r|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+48>>1]=r}}else{r=(c[l>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(1){if(!(a[c[k>>2]>>0]|0))break;if((a[c[k>>2]>>0]|0)==32)break;c[k>>2]=(c[k>>2]|0)+1}while(1){if((a[c[k>>2]>>0]|0)!=32)continue a;c[k>>2]=(c[k>>2]|0)+1}}i=o;return}function ks(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+32|0;l=h;g=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;c[g>>2]=b;c[m>>2]=e;c[k>>2]=f;c[j>>2]=c[c[g>>2]>>2];if((a[(c[j>>2]|0)+64>>0]|0)==0?(c[(c[j>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[m>>2]|0))c[m>>2]=19016;e=c[(c[g>>2]|0)+4>>2]|0;b=c[j>>2]|0;c[l>>2]=c[m>>2];pn(e,b,19024,l);if(c[k>>2]|0){e=c[j>>2]|0;b=c[c[(c[g>>2]|0)+4>>2]>>2]|0;m=c[k>>2]|0;c[l>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];c[l+4>>2]=m;b=ls(e,b,19056,l)|0;c[c[(c[g>>2]|0)+4>>2]>>2]=b}}if(d[(c[j>>2]|0)+64>>0]|0){e=7;b=c[g>>2]|0;b=b+12|0;c[b>>2]=e;i=h;return}e=kj(103217)|0;b=c[g>>2]|0;b=b+12|0;c[b>>2]=e;i=h;return}function ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+48|0;j=g+32|0;h=g+28|0;l=g+24|0;k=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=yn(c[j>>2]|0,c[l>>2]|0,k)|0;Xb(c[j>>2]|0,c[h>>2]|0);i=g;return c[f>>2]|0}function ms(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;i=i+32|0;k=d+24|0;l=d+20|0;e=d+16|0;g=d+12|0;h=d+8|0;f=d+4|0;j=d;c[k>>2]=a;c[l>>2]=b;c[h>>2]=c[c[k>>2]>>2];c[g>>2]=0;c[e>>2]=c[(c[h>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[e>>2]|0)+12>>2]|0)+16>>2];while(1){if(!(c[f>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+8>>2];ns(c[k>>2]|0,c[j>>2]|0,c[l>>2]|0);c[f>>2]=c[c[f>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+16}i=d;return}function ns(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;e=i;i=i+32|0;f=e+16|0;g=e+12|0;k=e+8|0;j=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[j>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[k>>2]|0)!=0?(qt(c[k>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Ve(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+68>>2]|0)|0;pp(c[f>>2]|0,0,c[h>>2]|0);os(c[f>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=e;return}function os(a,b,f){a=a|0;b=b|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;q=i;i=i+80|0;o=q+64|0;g=q+60|0;u=q+56|0;w=q+52|0;h=q+48|0;p=q+44|0;l=q+40|0;r=q+36|0;k=q+32|0;s=q+28|0;x=q+24|0;j=q+20|0;t=q+16|0;m=q+12|0;y=q+8|0;v=q+4|0;n=q;c[o>>2]=a;c[g>>2]=b;c[u>>2]=f;c[w>>2]=c[(c[g>>2]|0)+12>>2];a=(c[o>>2]|0)+68|0;b=c[a>>2]|0;c[a>>2]=b+1;c[h>>2]=b;b=(c[o>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[p>>2]=a;c[y>>2]=c[c[o>>2]>>2];c[v>>2]=Ve(c[y>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0;if(ap(c[o>>2]|0,27,c[c[g>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0)|0){i=q;return}Jr(c[o>>2]|0,c[v>>2]|0,c[(c[w>>2]|0)+32>>2]|0,1,c[c[w>>2]>>2]|0);c[j>>2]=dp(c[o>>2]|0)|0;if(!(c[j>>2]|0)){i=q;return}if((c[u>>2]|0)>=0)c[s>>2]=c[u>>2];else c[s>>2]=c[(c[g>>2]|0)+44>>2];c[t>>2]=Wr(c[o>>2]|0,c[g>>2]|0)|0;a=(c[o>>2]|0)+68|0;b=c[a>>2]|0;c[a>>2]=b+1;c[l>>2]=b;b=c[j>>2]|0;a=c[l>>2]|0;y=e[(c[g>>2]|0)+50>>1]|0;hp(b,58,a,0,y,Yr(c[t>>2]|0)|0,-6)|0;Kr(c[o>>2]|0,c[h>>2]|0,c[v>>2]|0,c[w>>2]|0,54);c[r>>2]=fp(c[j>>2]|0,108,c[h>>2]|0,0)|0;c[m>>2]=kp(c[o>>2]|0)|0;ps(c[o>>2]|0,c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,0,x,0,0)|0;fp(c[j>>2]|0,109,c[l>>2]|0,c[m>>2]|0)|0;qs(c[o>>2]|0,c[x>>2]|0);fp(c[j>>2]|0,9,c[h>>2]|0,(c[r>>2]|0)+1|0)|0;zp(c[j>>2]|0,c[r>>2]|0);if((c[u>>2]|0)<0)fp(c[j>>2]|0,118,c[s>>2]|0,c[v>>2]|0)|0;hp(c[j>>2]|0,55,c[p>>2]|0,c[s>>2]|0,c[v>>2]|0,c[t>>2]|0,-6)|0;Xe(c[j>>2]|0,(1|((c[u>>2]|0)>=0?2:0))&255);c[r>>2]=fp(c[j>>2]|0,106,c[l>>2]|0,0)|0;y=(c[t>>2]|0)!=0?(d[(c[g>>2]|0)+54>>0]|0|0)!=0:0;s=Mr(c[j>>2]|0)|0;if(y){c[n>>2]=s+3;fp(c[j>>2]|0,16,0,c[n>>2]|0)|0;c[k>>2]=Mr(c[j>>2]|0)|0;We(c[j>>2]|0,99,c[l>>2]|0,c[n>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+50>>1]|0)|0;rs(c[o>>2]|0,2,c[g>>2]|0)}else c[k>>2]=s;ip(c[j>>2]|0,100,c[l>>2]|0,c[m>>2]|0,c[p>>2]|0)|0;ip(c[j>>2]|0,110,c[p>>2]|0,c[m>>2]|0,1)|0;Xe(c[j>>2]|0,16);lp(c[o>>2]|0,c[m>>2]|0);fp(c[j>>2]|0,5,c[l>>2]|0,c[k>>2]|0)|0;zp(c[j>>2]|0,c[r>>2]|0);Ir(c[j>>2]|0,61,c[h>>2]|0)|0;Ir(c[j>>2]|0,61,c[p>>2]|0)|0;Ir(c[j>>2]|0,61,c[l>>2]|0)|0;i=q;return}function ps(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;x=i;i=i+64|0;n=x+48|0;q=x+44|0;p=x+40|0;w=x+36|0;y=x+32|0;z=x+28|0;t=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;o=x+8|0;m=x+4|0;u=x;c[n>>2]=a;c[q>>2]=e;c[p>>2]=f;c[w>>2]=g;c[y>>2]=h;c[z>>2]=j;c[t>>2]=k;c[v>>2]=l;c[s>>2]=c[(c[n>>2]|0)+8>>2];c[o>>2]=c[(c[q>>2]|0)+12>>2];do if(c[z>>2]|0)if(c[(c[q>>2]|0)+36>>2]|0){a=Nr(c[s>>2]|0)|0;c[c[z>>2]>>2]=a;c[(c[n>>2]|0)+96>>2]=c[p>>2];ws(c[n>>2]|0);xs(c[n>>2]|0,c[(c[q>>2]|0)+36>>2]|0,c[c[z>>2]>>2]|0,16);break}else{c[c[z>>2]>>2]=0;break}while(0);if((c[y>>2]|0)!=0?((d[(c[q>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)l=b[(c[q>>2]|0)+50>>1]|0;else l=b[(c[q>>2]|0)+52>>1]|0;c[u>>2]=l&65535;c[m>>2]=ys(c[n>>2]|0,c[u>>2]|0)|0;do if(c[t>>2]|0){if((c[m>>2]|0)==(c[v>>2]|0)?(c[(c[t>>2]|0)+36>>2]|0)==0:0)break;c[t>>2]=0}while(0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;if(!((c[t>>2]|0)!=0?(b[(c[(c[t>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)==(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0):0)){zs(c[s>>2]|0,c[o>>2]|0,c[p>>2]|0,b[(c[(c[q>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[r>>2]|0)|0);As(c[s>>2]|0,39)|0}c[r>>2]=(c[r>>2]|0)+1}if(!(c[w>>2]|0)){f=c[n>>2]|0;e=c[m>>2]|0;a=c[u>>2]|0;Bs(f,e,a);a=c[m>>2]|0;i=x;return a|0}ip(c[s>>2]|0,49,c[m>>2]|0,c[u>>2]|0,c[w>>2]|0)|0;f=c[n>>2]|0;e=c[m>>2]|0;a=c[u>>2]|0;Bs(f,e,a);a=c[m>>2]|0;i=x;return a|0}function qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}Pr(c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0);us(c[e>>2]|0);i=d;return}function rs(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;h=i;i=i+64|0;k=h+52|0;m=h+48|0;l=h+44|0;j=h+40|0;p=h+36|0;n=h+8|0;o=h+4|0;q=h;c[k>>2]=d;c[m>>2]=f;c[l>>2]=g;c[o>>2]=c[(c[l>>2]|0)+12>>2];nc(n,0,0,200);c[n>>2]=c[c[k>>2]>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)*24|0)>>2];if(c[p>>2]|0)Vm(n,19112,2);ss(n,c[c[o>>2]>>2]|0);Vm(n,19120,1);ss(n,c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[j>>2]=pc(n)|0;ts(c[k>>2]|0,(a[(c[l>>2]|0)+55>>0]&3|0)==2?1555:2067,c[m>>2]|0,c[j>>2]|0,-1,2);i=h;return}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=c[f>>2]|0;a=c[e>>2]|0;Vm(b,a,Mb(c[e>>2]|0)|0);i=d;return}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|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,q=0;p=i;i=i+32|0;q=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;j=p+21|0;l=p+20|0;k=p;c[q>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;a[j>>0]=g;a[l>>0]=h;c[k>>2]=dp(c[q>>2]|0)|0;if((c[n>>2]|0)==2)Sp(c[q>>2]|0);hp(c[k>>2]|0,24,c[m>>2]|0,c[n>>2]|0,0,c[o>>2]|0,a[j>>0]|0)|0;if(!(a[l>>0]|0)){i=p;return}Xe(c[k>>2]|0,a[l>>0]|0);i=p;return}function us(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;f=b+4|0;d=b;c[e>>2]=a;a=(c[e>>2]|0)+100|0;c[a>>2]=(c[a>>2]|0)+ -1;c[f>>2]=0;c[d>>2]=(c[e>>2]|0)+116;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[d>>2]|0)+12>>2]|0)!=0?(c[(c[d>>2]|0)+8>>2]|0)>(c[(c[e>>2]|0)+100>>2]|0):0){vs(c[e>>2]|0,c[d>>2]|0);c[(c[d>>2]|0)+12>>2]=0}c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+20}i=b;return}function vs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;if(!(a[(c[g>>2]|0)+6>>0]|0)){i=f;return}if((d[(c[h>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[h>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[h>>2]|0)+24+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0;i=f;return}function ws(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+100|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function xs(a,b,e,f){a=a|0;b=b|0;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;o=i;i=i+48|0;h=o+44|0;l=o+40|0;m=o+36|0;n=o+32|0;g=o+28|0;s=o+24|0;j=o+20|0;k=o+16|0;q=o+12|0;r=o+8|0;p=o+4|0;t=o;c[h>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[g>>2]=c[(c[h>>2]|0)+8>>2];c[s>>2]=0;c[j>>2]=0;c[k>>2]=0;if((c[g>>2]|0)==0|(c[l>>2]|0)==0){i=o;return}c[s>>2]=((d[c[l>>2]>>0]|0)+0^1)-0;a:do switch(d[c[l>>2]>>0]|0|0){case 19:{Gs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[m>>2]|0,c[n>>2]|0);break};case 71:{c[p>>2]=Nr(c[g>>2]|0)|0;Gs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[p>>2]|0,c[n>>2]^16);ws(c[h>>2]|0);xs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0);Pr(c[g>>2]|0,c[p>>2]|0);us(c[h>>2]|0);break};case 79:case 78:case 83:case 80:case 81:case 82:{c[q>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,k)|0;Is(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break};case 74:{Js(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,0,c[n>>2]|0);break};case 72:{xs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[m>>2]|0,c[n>>2]|0);ws(c[h>>2]|0);xs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0);us(c[h>>2]|0);break};case 77:case 76:{c[q>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;fp(c[g>>2]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;break};case 75:if(c[n>>2]|0){Ks(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,c[m>>2]|0);break a}else{c[t>>2]=Nr(c[g>>2]|0)|0;Ks(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,c[t>>2]|0);Pr(c[g>>2]|0,c[t>>2]|0);break a};case 148:case 73:{c[q>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,k)|0;c[s>>2]=(d[c[l>>2]>>0]|0|0)==73?78:79;Is(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,128)|0;break};default:{if(nr(c[l>>2]|0)|0){fp(c[g>>2]|0,16,0,c[m>>2]|0)|0;break a}if(!(Ls(c[l>>2]|0)|0)){c[q>>2]=Hs(c[h>>2]|0,c[l>>2]|0,j)|0;ip(c[g>>2]|0,46,c[q>>2]|0,c[m>>2]|0,(c[n>>2]|0)!=0&1)|0}}}while(0);lp(c[h>>2]|0,c[j>>2]|0);lp(c[h>>2]|0,c[k>>2]|0);i=o;return}function ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;f=d+8|0;e=d+4|0;h=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];c[h>>2]=c[(c[g>>2]|0)+56>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[g>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[g>>2]|0)+56|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0);h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=(c[(c[g>>2]|0)+72>>2]|0)+1;h=(c[g>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=c[e>>2]|0;i=d;return h|0}return 0}function zs(a,e,f,g,h){a=a|0;e=e|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,q=0;o=i;i=i+32|0;k=o+24|0;l=o+20|0;p=o+16|0;m=o+12|0;n=o+8|0;j=o+4|0;q=o;c[k>>2]=a;c[l>>2]=e;c[p>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[l>>2]|0)+36>>1]|0):0){c[j>>2]=(d[(c[l>>2]|0)+44>>0]&16|0)!=0?148:47;c[q>>2]=c[m>>2];if(d[(c[l>>2]|0)+44>>0]&32){a=Zr(c[l>>2]|0)|0;c[q>>2]=(Ds(a,c[m>>2]&65535)|0)<<16>>16}ip(c[k>>2]|0,c[j>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0)|0}else fp(c[k>>2]|0,103,c[p>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=o;return}Es(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);i=o;return}function As(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[h>>2]=b;a[j>>0]=e;if(((c[(c[h>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[h>>2]|0)+24>>2]|0)+88>>2]|0)?(d[(c[(c[h>>2]|0)+4>>2]|0)+(((c[(c[h>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){cf(c[h>>2]|0,(c[(c[h>>2]|0)+32>>2]|0)-1|0);c[g>>2]=1;j=c[g>>2]|0;i=f;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=f;return j|0}function Bs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=d;Cs(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0);if((c[f>>2]|0)<=(c[(c[g>>2]|0)+56>>2]|0)){i=e;return}c[(c[g>>2]|0)+56>>2]=c[f>>2];c[(c[g>>2]|0)+60>>2]=c[h>>2];i=e;return}function Cs(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,l=0,m=0;e=i;i=i+32|0;f=e+24|0;j=e+20|0;m=e+16|0;l=e+12|0;k=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[j>>2]=b;c[m>>2]=d;c[k>>2]=(c[j>>2]|0)+(c[m>>2]|0)-1;c[l>>2]=0;c[g>>2]=(c[f>>2]|0)+116;while(1){if((c[l>>2]|0)>=10)break;c[h>>2]=c[(c[g>>2]|0)+12>>2];if((c[h>>2]|0)>=(c[j>>2]|0)?(c[h>>2]|0)<=(c[k>>2]|0):0){vs(c[f>>2]|0,c[g>>2]|0);c[(c[g>>2]|0)+12>>2]=0}c[l>>2]=(c[l>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=e;return}function Ds(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+10|0;k=g+4|0;j=g+8|0;h=g;c[k>>2]=a;b[j>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[k>>2]|0)+52>>1]|0)){h=6;break}d=c[h>>2]|0;if((b[j>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){h=4;break}c[h>>2]=d+1}if((h|0)==4){b[f>>1]=d;a=b[f>>1]|0;i=g;return a|0}else if((h|0)==6){b[f>>1]=-1;a=b[f>>1]|0;i=g;return a|0}return 0}function Es(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;h=m+20|0;k=m+16|0;l=m+12|0;j=m+8|0;g=m+4|0;n=m+24|0;o=m;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[j>>2]=f;if(c[(c[k>>2]|0)+12>>2]|0){i=m;return}c[g>>2]=0;a[n>>0]=a[(c[(c[(Fs(c[h>>2]|0)|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0);b=Fs(c[h>>2]|0)|0;tp(b,c[(c[o>>2]|0)+4>>2]|0,a[n>>0]|0,a[(c[o>>2]|0)+21>>0]|0,g)|0;if(c[g>>2]|0)bf(c[h>>2]|0,-1,c[g>>2]|0,-8);if((a[(c[(c[k>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)+21>>0]|0)!=69){i=m;return}Ir(c[h>>2]|0,39,c[j>>2]|0)|0;i=m;return}function Fs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Gs(a,b,e,f){a=a|0;b=b|0;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;p=i;i=i+64|0;h=p+48|0;l=p+44|0;m=p+40|0;n=p+36|0;o=p+32|0;t=p+28|0;j=p+24|0;k=p+20|0;r=p+16|0;s=p+12|0;u=p+8|0;g=p+4|0;q=p;c[h>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[(c[h>>2]|0)+8>>2];c[t>>2]=0;c[j>>2]=0;c[k>>2]=0;if((c[o>>2]|0)==0|(c[l>>2]|0)==0){i=p;return}c[t>>2]=d[c[l>>2]>>0];a:do switch(c[t>>2]|0){case 19:{xs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[m>>2]|0,c[n>>2]|0);break};case 75:{c[g>>2]=Nr(c[o>>2]|0)|0;c[q>>2]=(c[n>>2]|0)!=0?c[m>>2]|0:c[g>>2]|0;Ks(c[h>>2]|0,c[l>>2]|0,c[g>>2]|0,c[q>>2]|0);fp(c[o>>2]|0,16,0,c[m>>2]|0)|0;Pr(c[o>>2]|0,c[g>>2]|0);break};case 148:case 73:{c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;c[s>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,k)|0;c[t>>2]=(c[t>>2]|0)==73?79:78;Is(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[t>>2]|0,c[r>>2]|0,c[s>>2]|0,c[m>>2]|0,128)|0;break};case 79:case 78:case 83:case 80:case 81:case 82:{c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;c[s>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,k)|0;Is(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[t>>2]|0,c[r>>2]|0,c[s>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break};case 72:{c[u>>2]=Nr(c[o>>2]|0)|0;xs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[u>>2]|0,c[n>>2]^16);ws(c[h>>2]|0);Gs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0);Pr(c[o>>2]|0,c[u>>2]|0);us(c[h>>2]|0);break};case 71:{Gs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[m>>2]|0,c[n>>2]|0);ws(c[h>>2]|0);Gs(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0);us(c[h>>2]|0);break};case 74:{Js(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,1,c[n>>2]|0);break};case 77:case 76:{c[r>>2]=Hs(c[h>>2]|0,c[(c[l>>2]|0)+12>>2]|0,j)|0;fp(c[o>>2]|0,c[t>>2]|0,c[r>>2]|0,c[m>>2]|0)|0;break};default:{if(Ls(c[l>>2]|0)|0){fp(c[o>>2]|0,16,0,c[m>>2]|0)|0;break a}if(!(nr(c[l>>2]|0)|0)){c[r>>2]=Hs(c[h>>2]|0,c[l>>2]|0,j)|0;ip(c[o>>2]|0,45,c[r>>2]|0,c[m>>2]|0,(c[n>>2]|0)!=0&1)|0}}}while(0);lp(c[h>>2]|0,c[j>>2]|0);lp(c[h>>2]|0,c[k>>2]|0);i=p;return}function Hs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+48|0;l=m+32|0;n=m+28|0;j=m+24|0;p=m+20|0;h=m+16|0;o=m+12|0;f=m+8|0;k=m+4|0;q=m;c[n>>2]=a;c[j>>2]=b;c[p>>2]=e;c[j>>2]=iq(c[j>>2]|0)|0;if(((d[(c[n>>2]|0)+23>>0]|0|0)!=0?(d[c[j>>2]>>0]|0|0)!=159:0)?(pt(c[j>>2]|0)|0)!=0:0){c[o>>2]=c[(c[n>>2]|0)+316>>2];c[c[p>>2]>>2]=0;a:do if(c[o>>2]|0){c[k>>2]=c[(c[o>>2]|0)+4>>2];c[f>>2]=c[c[o>>2]>>2];while(1){if((c[f>>2]|0)<=0)break a;if(((d[(c[k>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Dq(c[c[k>>2]>>2]|0,c[j>>2]|0,-1)|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+20;c[f>>2]=(c[f>>2]|0)+ -1}c[l>>2]=c[(c[k>>2]|0)+16>>2];a=c[l>>2]|0;i=m;return a|0}while(0);b=(c[n>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[h>>2]=a;ct(c[n>>2]|0,c[j>>2]|0,c[h>>2]|0,1)}else g=12;do if((g|0)==12){c[q>>2]=kp(c[n>>2]|0)|0;c[h>>2]=Qs(c[n>>2]|0,c[j>>2]|0,c[q>>2]|0)|0;if((c[h>>2]|0)==(c[q>>2]|0)){c[c[p>>2]>>2]=c[q>>2];break}else{lp(c[n>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=0;break}}while(0);c[l>>2]=c[h>>2];a=c[l>>2]|0;i=m;return a|0}function Is(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=at(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(ot(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=hp(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Xe(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function Js(b,d,e,f,g){b=b|0;d=d|0;e=e|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;j=i;i=i+224|0;h=j+216|0;p=j+212|0;o=j+208|0;k=j+204|0;n=j+200|0;m=j+152|0;q=j+104|0;s=j+56|0;r=j+8|0;l=j;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[k>>2]=f;c[n>>2]=g;c[l>>2]=0;e=r+0|0;f=(c[(c[p>>2]|0)+12>>2]|0)+0|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));a[m>>0]=72;c[m+12>>2]=q;c[m+16>>2]=s;a[q>>0]=83;c[q+12>>2]=r;c[q+16>>2]=c[c[(c[(c[p>>2]|0)+20>>2]|0)+4>>2]>>2];a[s>>0]=81;c[s+12>>2]=r;c[s+16>>2]=c[(c[(c[(c[p>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];Zs(r,Hs(c[h>>2]|0,r,l)|0);p=c[h>>2]|0;o=c[o>>2]|0;n=c[n>>2]|0;if(c[k>>2]|0){Gs(p,m,o,n);d=c[h>>2]|0;b=c[l>>2]|0;lp(d,b);i=j;return}else{xs(p,m,o,n);d=c[h>>2]|0;b=c[l>>2]|0;lp(d,b);i=j;return}}function Ks(b,d,e,f){b=b|0;d=d|0;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;l=i;i=i+80|0;k=l+64|0;p=l+60|0;h=l+56|0;o=l+52|0;g=l+48|0;r=l+68|0;q=l+44|0;j=l+40|0;n=l+36|0;y=l+32|0;w=l+28|0;t=l+24|0;v=l+20|0;z=l+16|0;u=l+12|0;x=l+8|0;s=l+4|0;m=l;c[k>>2]=b;c[p>>2]=d;c[h>>2]=e;c[o>>2]=f;c[g>>2]=0;c[n>>2]=c[(c[k>>2]|0)+8>>2];c[q>>2]=Ms(c[k>>2]|0,c[p>>2]|0,3,(c[h>>2]|0)==(c[o>>2]|0)?0:g)|0;a[r>>0]=Ns(c[p>>2]|0)|0;ws(c[k>>2]|0);c[j>>2]=kp(c[k>>2]|0)|0;Os(c[k>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0);f=c[p>>2]|0;if((c[q>>2]|0)!=5){do if(Ps(c[f+12>>2]|0)|0){u=c[n>>2]|0;t=c[j>>2]|0;if((c[o>>2]|0)==(c[h>>2]|0)){fp(u,76,t,c[o>>2]|0)|0;break}else{c[s>>2]=Ir(u,77,t)|0;fp(c[n>>2]|0,108,c[(c[p>>2]|0)+28>>2]|0,c[h>>2]|0)|0;fp(c[n>>2]|0,16,0,c[o>>2]|0)|0;zp(c[n>>2]|0,c[s>>2]|0);break}}while(0);t=c[n>>2]|0;s=c[j>>2]|0;if((c[q>>2]|0)==1){fp(t,38,s,c[h>>2]|0)|0;ip(c[n>>2]|0,70,c[(c[p>>2]|0)+28>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[k>>2]|0;b=c[j>>2]|0;lp(d,b);b=c[k>>2]|0;us(b);i=l;return}hp(t,48,s,1,0,r,1)|0;q=c[n>>2]|0;p=c[(c[p>>2]|0)+28>>2]|0;if(!(c[g>>2]|0)){We(q,68,p,c[h>>2]|0,c[j>>2]|0,1)|0;d=c[k>>2]|0;b=c[j>>2]|0;lp(d,b);b=c[k>>2]|0;us(b);i=l;return}else{c[m>>2]=We(q,69,p,0,c[j>>2]|0,1)|0;fp(c[n>>2]|0,76,c[g>>2]|0,c[o>>2]|0)|0;fp(c[n>>2]|0,16,0,c[h>>2]|0)|0;zp(c[n>>2]|0,c[m>>2]|0);d=c[k>>2]|0;b=c[j>>2]|0;lp(d,b);b=c[k>>2]|0;us(b);i=l;return}}c[y>>2]=c[f+20>>2];c[w>>2]=cq(c[k>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[t>>2]=Nr(c[n>>2]|0)|0;c[u>>2]=0;if((c[o>>2]|0)!=(c[h>>2]|0)){c[u>>2]=kp(c[k>>2]|0)|0;ip(c[n>>2]|0,85,c[j>>2]|0,c[j>>2]|0,c[u>>2]|0)|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[y>>2]>>2]|0))break;c[v>>2]=Hs(c[k>>2]|0,c[(c[(c[y>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0,z)|0;if((c[u>>2]|0)!=0?(Ps(c[(c[(c[y>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0)!=0:0)ip(c[n>>2]|0,85,c[u>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;if((c[x>>2]|0)>=((c[c[y>>2]>>2]|0)-1|0)?(c[o>>2]|0)==(c[h>>2]|0):0){hp(c[n>>2]|0,78,c[j>>2]|0,c[h>>2]|0,c[v>>2]|0,c[w>>2]|0,-4)|0;Xe(c[n>>2]|0,(a[r>>0]|16)&255)}else{hp(c[n>>2]|0,79,c[j>>2]|0,c[t>>2]|0,c[v>>2]|0,c[w>>2]|0,-4)|0;Xe(c[n>>2]|0,a[r>>0]|0)}lp(c[k>>2]|0,c[z>>2]|0);c[x>>2]=(c[x>>2]|0)+1}if(c[u>>2]|0){fp(c[n>>2]|0,76,c[u>>2]|0,c[o>>2]|0)|0;fp(c[n>>2]|0,16,0,c[h>>2]|0)|0}Pr(c[n>>2]|0,c[t>>2]|0);lp(c[k>>2]|0,c[u>>2]|0);d=c[k>>2]|0;b=c[j>>2]|0;lp(d,b);b=c[k>>2]|0;us(b);i=l;return}function Ls(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;do if(!(c[(c[f>>2]|0)+4>>2]&1))if(yq(c[f>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=d;return c[b>>2]|0}function Ms(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;n=i;i=i+80|0;q=n+72|0;v=n+68|0;o=n+64|0;w=n+60|0;F=n+56|0;x=n+52|0;m=n+48|0;y=n+44|0;t=n+40|0;z=n+36|0;s=n+32|0;C=n+28|0;l=n+78|0;r=n+76|0;p=n+24|0;u=n+20|0;A=n+16|0;B=n+12|0;k=n+8|0;D=n+4|0;E=n;c[q>>2]=f;c[v>>2]=g;c[o>>2]=h;c[w>>2]=j;c[x>>2]=0;g=(c[q>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[m>>2]=f;c[t>>2]=dp(c[q>>2]|0)|0;c[y>>2]=(c[o>>2]&4|0)!=0&1;if(c[(c[v>>2]|0)+4>>2]&2048)j=c[(c[v>>2]|0)+20>>2]|0;else j=0;c[F>>2]=j;a:do if((c[(c[q>>2]|0)+64>>2]|0)==0?(lt(c[F>>2]|0)|0)!=0:0){c[z>>2]=c[c[q>>2]>>2];c[s>>2]=c[(c[(c[F>>2]|0)+32>>2]|0)+24>>2];c[C>>2]=c[c[(c[c[F>>2]>>2]|0)+4>>2]>>2];b[l>>1]=b[(c[C>>2]|0)+32>>1]|0;b[r>>1]=Ve(c[z>>2]|0,c[(c[s>>2]|0)+68>>2]|0)|0;qp(c[q>>2]|0,b[r>>1]|0);Jr(c[q>>2]|0,b[r>>1]|0,c[(c[s>>2]|0)+32>>2]|0,0,c[c[s>>2]>>2]|0);F=c[q>>2]|0;if((b[l>>1]|0)<0){c[p>>2]=_s(F)|0;Kr(c[q>>2]|0,c[m>>2]|0,b[r>>1]|0,c[s>>2]|0,54);c[x>>2]=1;zp(c[t>>2]|0,c[p>>2]|0);break}c[A>>2]=at(F,c[(c[v>>2]|0)+12>>2]|0,c[C>>2]|0)|0;c[B>>2]=mt(c[v>>2]|0,a[(c[(c[s>>2]|0)+4>>2]|0)+((b[l>>1]|0)*24|0)+21>>0]|0)|0;c[u>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!((c[u>>2]|0)!=0&(c[x>>2]|0)==0&(c[B>>2]|0)!=0))break a;do if((b[c[(c[u>>2]|0)+4>>2]>>1]|0)==(b[l>>1]|0)?(f=$g(c[z>>2]|0,a[(c[(c[(c[z>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[c[(c[u>>2]|0)+32>>2]>>2]|0,0)|0,(f|0)==(c[A>>2]|0)):0){if(c[y>>2]|0){if((e[(c[u>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[u>>2]|0)+54>>0]|0))break}c[k>>2]=_s(c[q>>2]|0)|0;ip(c[t>>2]|0,54,c[m>>2]|0,c[(c[u>>2]|0)+44>>2]|0,b[r>>1]|0)|0;Lr(c[q>>2]|0,c[u>>2]|0);c[x>>2]=3+(d[c[(c[u>>2]|0)+28>>2]>>0]|0);if((c[w>>2]|0)!=0?(a[(c[(c[s>>2]|0)+4>>2]|0)+((b[l>>1]|0)*24|0)+20>>0]|0)==0:0){g=(c[q>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[w>>2]>>2]=f;bt(c[t>>2]|0,c[m>>2]|0,c[c[w>>2]>>2]|0)}zp(c[t>>2]|0,c[k>>2]|0)}while(0);c[u>>2]=c[(c[u>>2]|0)+20>>2]}}while(0);do if(((c[x>>2]|0)==0?(c[o>>2]&1|0)!=0:0)?(c[(c[v>>2]|0)+4>>2]&2048|0)==0:0){if((nt(c[v>>2]|0)|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)>2:0)break;c[x>>2]=5}while(0);if(c[x>>2]|0){c[(c[v>>2]|0)+28>>2]=c[m>>2];f=c[x>>2]|0;i=n;return f|0}c[D>>2]=c[(c[q>>2]|0)+424>>2];c[E>>2]=0;c[x>>2]=2;if(c[o>>2]&4){c[(c[q>>2]|0)+424>>2]=0;if((b[(c[(c[v>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[v>>2]|0)+4>>2]&2048|0)==0:0)c[x>>2]=1}else if(c[w>>2]|0){g=(c[q>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[E>>2]=f;c[c[w>>2]>>2]=f}Ys(c[q>>2]|0,c[v>>2]|0,c[E>>2]|0,(c[x>>2]|0)==1&1)|0;c[(c[q>>2]|0)+424>>2]=c[D>>2];f=c[x>>2]|0;i=n;return f|0}function Ns(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d;e=d+4|0;c[f>>2]=b;a[e>>0]=bq(c[(c[f>>2]|0)+12>>2]|0)|0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+16>>2]|0){a[e>>0]=kt(c[b+16>>2]|0,a[e>>0]|0)|0;b=a[e>>0]|0;i=d;return b|0}if(c[b+4>>2]&2048){a[e>>0]=kt(c[c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;b=a[e>>0]|0;i=d;return b|0}if(a[e>>0]|0){b=a[e>>0]|0;i=d;return b|0}a[e>>0]=65;b=a[e>>0]|0;i=d;return b|0}function Os(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=e;if((c[h>>2]|0)!=0?(d[c[h>>2]>>0]|0|0)==159:0){fp(c[(c[j>>2]|0)+8>>2]|0,33,c[(c[h>>2]|0)+28>>2]|0,c[g>>2]|0)|0;i=f;return}c[k>>2]=Qs(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if((c[k>>2]|0)==(c[g>>2]|0)){i=f;return}if(!(c[(c[j>>2]|0)+8>>2]|0)){i=f;return}fp(c[(c[j>>2]|0)+8>>2]|0,34,c[k>>2]|0,c[g>>2]|0)|0;i=f;return}function Ps(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+4|0;h=g;j=g+8|0;c[h>>2]=e;while(1){if((d[c[h>>2]>>0]|0)==158)k=1;else k=(d[c[h>>2]>>0]|0)==157;e=c[h>>2]|0;if(!k)break;c[h>>2]=c[e+12>>2]}a[j>>0]=a[e>>0]|0;if((d[j>>0]|0)==159)a[j>>0]=a[(c[h>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 154:{if(!(c[(c[h>>2]|0)+4>>2]&1048576))if((b[(c[h>>2]|0)+32>>1]|0)>=0)h=(d[(c[(c[(c[h>>2]|0)+44>>2]|0)+4>>2]|0)+((b[(c[h>>2]|0)+32>>1]|0)*24|0)+20>>0]|0)==0;else h=0;else h=1;c[f>>2]=h&1;k=c[f>>2]|0;i=g;return k|0};case 134:case 133:case 97:case 132:{c[f>>2]=0;k=c[f>>2]|0;i=g;return k|0};default:{c[f>>2]=1;k=c[f>>2]|0;i=g;return k|0}}return 0}function Qs(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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;r=i;i=i+304|0;P=r;q=r+292|0;k=r+288|0;H=r+284|0;p=r+280|0;o=r+276|0;ja=r+272|0;n=r+268|0;l=r+264|0;m=r+260|0;K=r+256|0;fa=r+252|0;ba=r+248|0;T=r+244|0;M=r+240|0;B=r+192|0;ga=r+184|0;ha=r+180|0;Z=r+176|0;X=r+172|0;W=r+168|0;Y=r+164|0;U=r+160|0;ia=r+156|0;V=r+152|0;D=r+148|0;C=r+144|0;G=r+140|0;O=r+136|0;N=r+132|0;L=r+128|0;J=r+124|0;Q=r+297|0;E=r+120|0;I=r+116|0;F=r+296|0;_=r+112|0;aa=r+108|0;ea=r+104|0;R=r+100|0;ca=r+96|0;S=r+92|0;da=r+88|0;s=r+84|0;t=r+80|0;v=r+76|0;z=r+72|0;A=r+68|0;u=r+64|0;x=r+16|0;y=r+12|0;w=r+8|0;c[k>>2]=f;c[H>>2]=g;c[p>>2]=h;c[o>>2]=c[(c[k>>2]|0)+8>>2];c[n>>2]=c[p>>2];c[l>>2]=0;c[m>>2]=0;c[M>>2]=c[c[k>>2]>>2];if(!(c[o>>2]|0)){c[q>>2]=0;f=c[q>>2]|0;i=r;return f|0}if(!(c[H>>2]|0))c[ja>>2]=101;else c[ja>>2]=d[c[H>>2]>>0];a:do switch(c[ja>>2]|0){case 77:case 76:{fp(c[o>>2]|0,25,1,c[p>>2]|0)|0;c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[ia>>2]=Ir(c[o>>2]|0,c[ja>>2]|0,c[K>>2]|0)|0;fp(c[o>>2]|0,25,0,c[p>>2]|0)|0;zp(c[o>>2]|0,c[ia>>2]|0);break};case 156:{c[ga>>2]=c[(c[H>>2]|0)+40>>2];c[ha>>2]=(c[(c[ga>>2]|0)+28>>2]|0)+((b[(c[H>>2]|0)+34>>1]|0)*24|0);if(!(a[c[ga>>2]>>0]|0)){c[n>>2]=c[(c[ha>>2]|0)+16>>2];break a}if(a[(c[ga>>2]|0)+1>>0]|0)ip(c[o>>2]|0,47,c[(c[ga>>2]|0)+8>>2]|0,c[(c[ha>>2]|0)+12>>2]|0,c[p>>2]|0)|0;else j=11;break};case 148:case 73:{c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+16>>2]|0,m)|0;c[ja>>2]=(c[ja>>2]|0)==73?79:78;Is(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[(c[H>>2]|0)+16>>2]|0,c[ja>>2]|0,c[K>>2]|0,c[fa>>2]|0,c[n>>2]|0,160)|0;break};case 97:{hp(c[o>>2]|0,97,0,c[p>>2]|0,0,c[(c[H>>2]|0)+8>>2]|0,0)|0;break};case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+16>>2]|0,m)|0;ip(c[o>>2]|0,c[ja>>2]|0,c[fa>>2]|0,c[K>>2]|0,c[p>>2]|0)|0;break};case 135:{fp(c[o>>2]|0,31,b[(c[H>>2]|0)+32>>1]|0,c[p>>2]|0)|0;if(a[(c[(c[H>>2]|0)+8>>2]|0)+1>>0]|0)bf(c[o>>2]|0,-1,c[(c[(c[k>>2]|0)+472>>2]|0)+((b[(c[H>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break};case 79:case 78:case 83:case 80:case 81:case 82:{c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+16>>2]|0,m)|0;Is(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[(c[H>>2]|0)+16>>2]|0,c[ja>>2]|0,c[K>>2]|0,c[fa>>2]|0,c[n>>2]|0,32)|0;break};case 159:{c[n>>2]=c[(c[H>>2]|0)+28>>2];break};case 119:case 20:{c[n>>2]=Ys(c[k>>2]|0,c[H>>2]|0,0,0)|0;break};case 158:case 95:{c[n>>2]=Qs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[p>>2]|0)|0;break};case 74:{c[ea>>2]=c[(c[H>>2]|0)+12>>2];c[R>>2]=c[(c[(c[H>>2]|0)+20>>2]|0)+4>>2];c[ca>>2]=c[c[R>>2]>>2];c[K>>2]=Hs(c[k>>2]|0,c[ea>>2]|0,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[ca>>2]|0,m)|0;c[ba>>2]=kp(c[k>>2]|0)|0;c[T>>2]=kp(c[k>>2]|0)|0;Is(c[k>>2]|0,c[ea>>2]|0,c[ca>>2]|0,83,c[K>>2]|0,c[fa>>2]|0,c[ba>>2]|0,32)|0;c[R>>2]=(c[R>>2]|0)+20;c[ca>>2]=c[c[R>>2]>>2];lp(c[k>>2]|0,c[m>>2]|0);c[fa>>2]=Hs(c[k>>2]|0,c[ca>>2]|0,m)|0;Is(c[k>>2]|0,c[ea>>2]|0,c[ca>>2]|0,81,c[K>>2]|0,c[fa>>2]|0,c[T>>2]|0,32)|0;ip(c[o>>2]|0,72,c[ba>>2]|0,c[T>>2]|0,c[p>>2]|0)|0;lp(c[k>>2]|0,c[ba>>2]|0);lp(c[k>>2]|0,c[T>>2]|0);break};case 62:{c[S>>2]=c[(c[H>>2]|0)+44>>2];c[da>>2]=($(c[(c[H>>2]|0)+28>>2]|0,(b[(c[S>>2]|0)+38>>1]|0)+1|0)|0)+1+(b[(c[H>>2]|0)+32>>1]|0);fp(c[o>>2]|0,132,c[da>>2]|0,c[p>>2]|0)|0;if((b[(c[H>>2]|0)+32>>1]|0)>=0?(a[(c[(c[S>>2]|0)+4>>2]|0)+((b[(c[H>>2]|0)+32>>1]|0)*24|0)+21>>0]|0)==69:0)Ir(c[o>>2]|0,39,c[p>>2]|0)|0;break};case 157:{c[U>>2]=c[(c[H>>2]|0)+12>>2];do if((d[c[U>>2]>>0]|0)!=132)if((d[c[U>>2]>>0]|0)==133){Ts(c[o>>2]|0,c[(c[U>>2]|0)+8>>2]|0,1,c[p>>2]|0);break}else{a[B>>0]=-124;c[B+4>>2]=17408;c[B+8>>2]=0;c[K>>2]=Hs(c[k>>2]|0,B,l)|0;c[fa>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,m)|0;ip(c[o>>2]|0,90,c[fa>>2]|0,c[K>>2]|0,c[p>>2]|0)|0;break}else Ss(c[k>>2]|0,c[U>>2]|0,1,c[p>>2]|0);while(0);c[n>>2]=c[p>>2];break};case 153:{c[L>>2]=0;a[Q>>0]=a[(c[(c[(c[M>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[E>>2]=0;if(c[(c[H>>2]|0)+4>>2]&16384)c[D>>2]=0;else c[D>>2]=c[(c[H>>2]|0)+20>>2];if(c[D>>2]|0)s=c[c[D>>2]>>2]|0;else s=0;c[C>>2]=s;c[N>>2]=c[(c[H>>2]|0)+8>>2];c[O>>2]=Mb(c[N>>2]|0)|0;c[G>>2]=Sf(c[M>>2]|0,c[N>>2]|0,c[O>>2]|0,c[C>>2]|0,a[Q>>0]|0,0)|0;if((c[G>>2]|0)!=0?(c[(c[G>>2]|0)+12>>2]|0)!=0:0){if(e[(c[G>>2]|0)+2>>1]&512){c[I>>2]=Nr(c[o>>2]|0)|0;Os(c[k>>2]|0,c[c[(c[D>>2]|0)+4>>2]>>2]|0,c[p>>2]|0);c[J>>2]=1;while(1){s=c[o>>2]|0;if((c[J>>2]|0)>=(c[C>>2]|0))break;fp(s,77,c[p>>2]|0,c[I>>2]|0)|0;Cs(c[k>>2]|0,c[p>>2]|0,1);ws(c[k>>2]|0);Os(c[k>>2]|0,c[(c[(c[D>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,c[p>>2]|0);us(c[k>>2]|0);c[J>>2]=(c[J>>2]|0)+1}Pr(s,c[I>>2]|0);break a}if(e[(c[G>>2]|0)+2>>1]&1024){Os(c[k>>2]|0,c[c[(c[D>>2]|0)+4>>2]>>2]|0,c[p>>2]|0);break a}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[C>>2]|0))break;if((c[J>>2]|0)<32?(Vs(c[(c[(c[D>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[L>>2]=c[L>>2]|1<>2];if(!((c[E>>2]|0)!=0?1:(e[(c[G>>2]|0)+2>>1]&32|0)==0))c[E>>2]=cq(c[k>>2]|0,c[(c[(c[D>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+1}if(c[D>>2]|0){s=c[k>>2]|0;if(c[L>>2]|0){c[K>>2]=(c[s+72>>2]|0)+1;f=(c[k>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(c[C>>2]|0)}else c[K>>2]=ys(s,c[C>>2]|0)|0;do if(e[(c[G>>2]|0)+2>>1]&192){a[F>>0]=a[c[c[(c[D>>2]|0)+4>>2]>>2]>>0]|0;if((d[F>>0]|0)!=154?(d[F>>0]|0)!=156:0)break;a[(c[c[(c[D>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[G>>2]|0)+2>>1]&192}while(0);ws(c[k>>2]|0);Ws(c[k>>2]|0,c[D>>2]|0,c[K>>2]|0,3)|0;us(c[k>>2]|0)}else c[K>>2]=0;if((c[C>>2]|0)>=2?(c[(c[H>>2]|0)+4>>2]&128|0)!=0:0)c[G>>2]=Xs(c[M>>2]|0,c[G>>2]|0,c[C>>2]|0,c[(c[(c[D>>2]|0)+4>>2]|0)+20>>2]|0)|0;else j=78;if((j|0)==78?(c[C>>2]|0)>0:0)c[G>>2]=Xs(c[M>>2]|0,c[G>>2]|0,c[C>>2]|0,c[c[(c[D>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[G>>2]|0)+2>>1]&32){if(!(c[E>>2]|0))c[E>>2]=c[(c[M>>2]|0)+8>>2];hp(c[o>>2]|0,36,0,0,0,c[E>>2]|0,-4)|0}hp(c[o>>2]|0,1,c[L>>2]|0,c[K>>2]|0,c[p>>2]|0,c[G>>2]|0,-5)|0;Xe(c[o>>2]|0,c[C>>2]&255);if(!((c[C>>2]|0)!=0&(c[L>>2]|0)==0))break a;Bs(c[k>>2]|0,c[K>>2]|0,c[C>>2]|0);break a}f=c[k>>2]|0;g=c[N>>2]|0;c[P>>2]=c[O>>2];c[P+4>>2]=g;Se(f,19160,P);break};case 155:{c[V>>2]=c[(c[H>>2]|0)+40>>2];if(!(c[V>>2]|0)){f=c[k>>2]|0;c[P>>2]=c[(c[H>>2]|0)+8>>2];Se(f,19128,P);break a}else{c[n>>2]=c[(c[(c[V>>2]|0)+40>>2]|0)+(b[(c[H>>2]|0)+34>>1]<<4)+8>>2];break a}};case 134:{c[W>>2]=(c[(c[H>>2]|0)+8>>2]|0)+2;c[X>>2]=(Mb(c[W>>2]|0)|0)-1;c[Y>>2]=Gp(Fs(c[o>>2]|0)|0,c[W>>2]|0,c[X>>2]|0)|0;hp(c[o>>2]|0,30,(c[X>>2]|0)/2|0,c[p>>2]|0,0,c[Y>>2]|0,-1)|0;break};case 132:{Ss(c[k>>2]|0,c[H>>2]|0,0,c[p>>2]|0);break};case 154:{j=11;break};case 101:{fp(c[o>>2]|0,28,0,c[p>>2]|0)|0;break};case 38:{c[n>>2]=Qs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[p>>2]|0)|0;if((c[n>>2]|0)!=(c[p>>2]|0)){fp(c[o>>2]|0,34,c[n>>2]|0,c[p>>2]|0)|0;c[n>>2]=c[p>>2]}fp(c[o>>2]|0,40,c[p>>2]|0,(Bp(c[(c[H>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;Us(c[k>>2]|0,c[n>>2]|0,1);break};case 24:{c[n>>2]=Qs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,c[p>>2]|0)|0;break};case 57:{if(!(c[(c[k>>2]|0)+412>>2]|0)){Se(c[k>>2]|0,19192,P);c[q>>2]=0;f=c[q>>2]|0;i=r;return f|0}if((a[(c[H>>2]|0)+1>>0]|0)==2)Sp(c[k>>2]|0);if((a[(c[H>>2]|0)+1>>0]|0)==4){hp(c[o>>2]|0,24,0,4,0,c[(c[H>>2]|0)+8>>2]|0,0)|0;break a}else{ts(c[k>>2]|0,1811,a[(c[H>>2]|0)+1>>0]|0,c[(c[H>>2]|0)+8>>2]|0,0,0);break a}};case 75:{c[_>>2]=Nr(c[o>>2]|0)|0;c[aa>>2]=Nr(c[o>>2]|0)|0;fp(c[o>>2]|0,28,0,c[p>>2]|0)|0;Ks(c[k>>2]|0,c[H>>2]|0,c[_>>2]|0,c[aa>>2]|0);fp(c[o>>2]|0,25,1,c[p>>2]|0)|0;Pr(c[o>>2]|0,c[_>>2]|0);fp(c[o>>2]|0,37,c[p>>2]|0,0)|0;Pr(c[o>>2]|0,c[aa>>2]|0);break};case 19:case 96:{c[K>>2]=Hs(c[k>>2]|0,c[(c[H>>2]|0)+12>>2]|0,l)|0;c[n>>2]=c[p>>2];fp(c[o>>2]|0,c[ja>>2]|0,c[K>>2]|0,c[n>>2]|0)|0;break};case 133:{Ts(c[o>>2]|0,c[(c[H>>2]|0)+8>>2]|0,0,c[p>>2]|0);break};default:{c[w>>2]=0;c[A>>2]=c[(c[H>>2]|0)+20>>2];c[u>>2]=c[(c[A>>2]|0)+4>>2];c[v>>2]=c[c[A>>2]>>2];c[s>>2]=Nr(c[o>>2]|0)|0;f=c[(c[H>>2]|0)+12>>2]|0;c[y>>2]=f;if(f){E=B+0|0;D=(c[y>>2]|0)+0|0;C=E+48|0;do{c[E>>2]=c[D>>2];E=E+4|0;D=D+4|0}while((E|0)<(C|0));Zs(B,Hs(c[k>>2]|0,c[y>>2]|0,l)|0);a[x>>0]=79;c[x+12>>2]=B;c[w>>2]=x;c[l>>2]=0}c[z>>2]=0;while(1){if((c[z>>2]|0)>=((c[v>>2]|0)-1|0))break;ws(c[k>>2]|0);B=c[(c[u>>2]|0)+((c[z>>2]|0)*20|0)>>2]|0;if(c[y>>2]|0)c[x+16>>2]=B;else c[w>>2]=B;c[t>>2]=Nr(c[o>>2]|0)|0;xs(c[k>>2]|0,c[w>>2]|0,c[t>>2]|0,16);Os(c[k>>2]|0,c[(c[u>>2]|0)+(((c[z>>2]|0)+1|0)*20|0)>>2]|0,c[p>>2]|0);fp(c[o>>2]|0,16,0,c[s>>2]|0)|0;us(c[k>>2]|0);Pr(c[o>>2]|0,c[t>>2]|0);c[z>>2]=(c[z>>2]|0)+2}if(c[v>>2]&1){ws(c[k>>2]|0);Os(c[k>>2]|0,c[(c[(c[A>>2]|0)+4>>2]|0)+(((c[v>>2]|0)-1|0)*20|0)>>2]|0,c[p>>2]|0);us(c[k>>2]|0)}else fp(c[o>>2]|0,28,0,c[p>>2]|0)|0;Pr(c[o>>2]|0,c[s>>2]|0)}}while(0);b:do if((j|0)==11){c[Z>>2]=c[(c[H>>2]|0)+28>>2];do if((c[Z>>2]|0)<0)if((c[(c[k>>2]|0)+92>>2]|0)>0){c[n>>2]=(b[(c[H>>2]|0)+32>>1]|0)+(c[(c[k>>2]|0)+92>>2]|0);break b}else{c[Z>>2]=c[(c[k>>2]|0)+96>>2];break}while(0);c[n>>2]=Rs(c[k>>2]|0,c[(c[H>>2]|0)+44>>2]|0,b[(c[H>>2]|0)+32>>1]|0,c[Z>>2]|0,c[p>>2]|0,a[(c[H>>2]|0)+38>>0]|0)|0}while(0);lp(c[k>>2]|0,c[l>>2]|0);lp(c[k>>2]|0,c[m>>2]|0);c[q>>2]=c[n>>2];f=c[q>>2]|0;i=r;return f|0}function Rs(d,e,f,g,h,j){d=d|0;e=e|0;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,u=0,v=0;n=i;i=i+48|0;m=n+32|0;q=n+28|0;k=n+24|0;s=n+20|0;r=n+16|0;t=n+12|0;p=n+36|0;o=n+8|0;v=n+4|0;u=n;c[q>>2]=d;c[k>>2]=e;c[s>>2]=f;c[r>>2]=g;c[t>>2]=h;a[p>>0]=j;c[o>>2]=c[(c[q>>2]|0)+8>>2];c[v>>2]=0;c[u>>2]=(c[q>>2]|0)+116;while(1){if((c[v>>2]|0)>=10)break;if(((c[(c[u>>2]|0)+12>>2]|0)>0?(c[c[u>>2]>>2]|0)==(c[r>>2]|0):0)?(b[(c[u>>2]|0)+4>>1]|0)==(c[s>>2]|0):0){l=6;break}c[v>>2]=(c[v>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}if((l|0)==6){e=(c[q>>2]|0)+104|0;d=c[e>>2]|0;c[e>>2]=d+1;c[(c[u>>2]|0)+16>>2]=d;it(c[q>>2]|0,c[(c[u>>2]|0)+12>>2]|0);c[m>>2]=c[(c[u>>2]|0)+12>>2];d=c[m>>2]|0;i=n;return d|0}zs(c[o>>2]|0,c[k>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);if(a[p>>0]|0)Xe(c[o>>2]|0,a[p>>0]|0);else jt(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[m>>2]=c[t>>2];d=c[m>>2]|0;i=n;return d|0}function Ss(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0;h=i;i=i+48|0;n=h+8|0;q=h+44|0;r=h+40|0;p=h+36|0;g=h+32|0;j=h+28|0;l=h+24|0;o=h+20|0;k=h;m=h+16|0;f=h+12|0;c[q>>2]=a;c[r>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[q>>2]|0)+8>>2];e=(c[r>>2]|0)+8|0;if(c[(c[r>>2]|0)+4>>2]&1024){c[l>>2]=c[e>>2];if(c[p>>2]|0)c[l>>2]=0-(c[l>>2]|0);fp(c[j>>2]|0,25,c[l>>2]|0,c[g>>2]|0)|0;i=h;return}c[m>>2]=c[e>>2];c[o>>2]=rg(c[m>>2]|0,k)|0;if((c[o>>2]|0)!=0?!((c[o>>2]|0)==2&(c[p>>2]|0)!=0):0)if(!(Lb(c[m>>2]|0,19336,2)|0)){r=c[q>>2]|0;c[n>>2]=c[m>>2];Se(r,19344,n);i=h;return}else{Ts(c[j>>2]|0,c[m>>2]|0,c[p>>2]|0,c[g>>2]|0);i=h;return}if(c[p>>2]|0){if((c[o>>2]|0)==2){m=0;l=-2147483648}else{m=k;m=ZE(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;l=D}r=k;c[r>>2]=m;c[r+4>>2]=l}c[f>>2]=ht(c[j>>2]|0,k)|0;hp(c[j>>2]|0,26,0,c[g>>2]|0,0,c[f>>2]|0,-13)|0;i=h;return}function Ts(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;g=l+24|0;m=l+20|0;n=l+16|0;f=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[m>>2]=b;c[n>>2]=d;c[f>>2]=e;if(!(c[m>>2]|0)){i=l;return}a=c[m>>2]|0;Lm(a,j,Mb(c[m>>2]|0)|0,1)|0;if(c[n>>2]|0)h[j>>3]=-+h[j>>3];c[k>>2]=ht(c[g>>2]|0,j)|0;hp(c[g>>2]|0,133,0,c[f>>2]|0,0,c[k>>2]|0,-12)|0;i=l;return}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Cs(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function Vs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=et(c[d>>2]|0,1)|0;i=b;return a|0}function Ws(b,e,f,g){b=b|0;e=e|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;r=i;i=i+48|0;n=r+36|0;v=r+32|0;q=r+28|0;u=r+41|0;t=r+24|0;h=r+20|0;k=r+16|0;o=r+40|0;p=r+12|0;s=r+8|0;m=r+4|0;l=r;c[n>>2]=b;c[v>>2]=e;c[q>>2]=f;a[u>>0]=g;a[o>>0]=(d[u>>0]&1|0)!=0?33:34;c[k>>2]=c[c[v>>2]>>2];if(!(a[(c[n>>2]|0)+23>>0]|0))a[u>>0]=d[u>>0]&-3;c[t>>2]=c[(c[v>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[k>>2]|0))break;c[p>>2]=c[c[t>>2]>>2];if((d[u>>0]&2|0)!=0?(Vs(c[p>>2]|0)|0)!=0:0)ct(c[n>>2]|0,c[p>>2]|0,(c[q>>2]|0)+(c[h>>2]|0)|0,0);else j=8;do if((j|0)==8?(j=0,c[s>>2]=Qs(c[n>>2]|0,c[p>>2]|0,(c[q>>2]|0)+(c[h>>2]|0)|0)|0,(c[s>>2]|0)!=((c[q>>2]|0)+(c[h>>2]|0)|0)):0){c[l>>2]=c[(c[n>>2]|0)+8>>2];if((((d[o>>0]|0)==33?(b=dt(c[l>>2]|0,-1)|0,c[m>>2]=b,(d[b>>0]|0)==33):0)?((c[(c[m>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)+1|0)==(c[s>>2]|0):0)?((c[(c[m>>2]|0)+8>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)+1|0)==((c[q>>2]|0)+(c[h>>2]|0)|0):0){b=(c[m>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+1;break}fp(c[l>>2]|0,d[o>>0]|0,c[s>>2]|0,(c[q>>2]|0)+(c[h>>2]|0)|0)|0}while(0);c[h>>2]=(c[h>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}i=r;return c[k>>2]|0}function Xs(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,u=0,v=0,w=0,x=0,y=0,z=0;o=i;i=i+64|0;l=o+56|0;v=o+52|0;m=o+48|0;r=o+44|0;z=o+40|0;y=o+36|0;q=o+32|0;x=o+28|0;n=o+24|0;k=o+20|0;p=o+16|0;u=o+12|0;s=o+8|0;w=o+4|0;t=o;c[v>>2]=f;c[m>>2]=g;c[r>>2]=h;c[z>>2]=j;c[n>>2]=0;c[k>>2]=0;c[u>>2]=0;if(!(c[z>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}if((d[c[z>>2]>>0]|0)!=154){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}c[y>>2]=c[(c[z>>2]|0)+44>>2];if(!(c[y>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}if(!(d[(c[y>>2]|0)+44>>0]&16)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}c[q>>2]=c[(Rp(c[v>>2]|0,c[y>>2]|0)|0)+8>>2];c[x>>2]=c[c[q>>2]>>2];if(!(c[(c[x>>2]|0)+72>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}c[s>>2]=ne(c[v>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=c[s>>2];while(1){if(!(a[c[w>>2]>>0]|0))break;a[c[w>>2]>>0]=a[440+(d[c[w>>2]>>0]|0)>>0]|0;c[w>>2]=(c[w>>2]|0)+1}z=c[(c[x>>2]|0)+72>>2]|0;h=c[q>>2]|0;g=c[r>>2]|0;f=c[s>>2]|0;c[t>>2]=n;c[u>>2]=Ab[z&15](h,g,f,c[t>>2]|0,k)|0;Xb(c[v>>2]|0,c[s>>2]|0)}if(!(c[u>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}f=c[v>>2]|0;c[p>>2]=se(f,37+(Mb(c[(c[m>>2]|0)+24>>2]|0)|0)|0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=c[m>>2];f=c[l>>2]|0;i=o;return f|0}else{s=(c[p>>2]|0)+0|0;r=(c[m>>2]|0)+0|0;q=s+36|0;do{c[s>>2]=c[r>>2];s=s+4|0;r=r+4|0}while((s|0)<(q|0));c[(c[p>>2]|0)+24>>2]=(c[p>>2]|0)+36;g=c[(c[p>>2]|0)+24>>2]|0;f=c[(c[m>>2]|0)+24>>2]|0;dF(g|0,f|0,(Mb(c[(c[m>>2]|0)+24>>2]|0)|0)+1|0)|0;c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+4>>2]=c[k>>2];f=(c[p>>2]|0)+2|0;b[f>>1]=e[f>>1]|16;c[l>>2]=c[p>>2];f=c[l>>2]|0;i=o;return f|0}return 0} - - - -function ek(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;k=f+20|0;e=f+16|0;g=f+12|0;h=f+8|0;j=f+4|0;l=f;c[k>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+200>>2];c[h>>2]=c[(c[k>>2]|0)+152>>2];if((c[h>>2]|0)>>>0>(c[(c[k>>2]|0)+148>>2]|0)>>>0)c[h>>2]=c[(c[k>>2]|0)+148>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[k>>2]|0)+96>>2]|0))break;b=(c[(c[k>>2]|0)+92>>2]|0)+((c[l>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[k>>2]|0)+72|0;m=c[n+4>>2]|0;b=(c[(c[k>>2]|0)+92>>2]|0)+((c[l>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[l>>2]=(c[l>>2]|0)+1}l=Oi(c[k>>2]|0)|0;m=D;n=(c[k>>2]|0)+72|0;c[n>>2]=l;c[n+4>>2]=m;n=(c[k>>2]|0)+80|0;c[n>>2]=l;c[n+4>>2]=m;if(((d[(c[k>>2]|0)+7>>0]|0|0)==0?(d[(c[k>>2]|0)+5>>0]|0|0)!=4:0)?((Ai(c[(c[k>>2]|0)+60>>2]|0)|0)&512|0)==0:0){l=(c[g>>2]|0)+0|0;b=l+12|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(b|0))}else{n=c[g>>2]|0;a[n+0>>0]=a[4384]|0;a[n+1>>0]=a[4385]|0;a[n+2>>0]=a[4386]|0;a[n+3>>0]=a[4387]|0;a[n+4>>0]=a[4388]|0;a[n+5>>0]=a[4389]|0;a[n+6>>0]=a[4390]|0;a[n+7>>0]=a[4391]|0;ck((c[g>>2]|0)+8|0,-1)}vc(4,(c[k>>2]|0)+48|0);ck((c[g>>2]|0)+12|0,c[(c[k>>2]|0)+48>>2]|0);ck((c[g>>2]|0)+16|0,c[(c[k>>2]|0)+28>>2]|0);ck((c[g>>2]|0)+20|0,c[(c[k>>2]|0)+148>>2]|0);ck((c[g>>2]|0)+24|0,c[(c[k>>2]|0)+152>>2]|0);_E((c[g>>2]|0)+28|0,0,(c[h>>2]|0)-28|0)|0;c[j>>2]=0;while(1){if(c[e>>2]|0){g=17;break}if((c[j>>2]|0)>>>0>=(c[(c[k>>2]|0)+148>>2]|0)>>>0){g=17;break}n=(c[k>>2]|0)+72|0;c[e>>2]=id(c[(c[k>>2]|0)+64>>2]|0,c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[k>>2]|0)+72|0;m=n;m=bF(c[m>>2]|0,c[m+4>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=D;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0)}if((g|0)==17){i=f;return c[e>>2]|0}return 0}function fk(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;g=f;c[d>>2]=a;c[g>>2]=c[c[d>>2]>>2];while(1){if(!(c[g>>2]|0))break;a=(c[g>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-5;c[g>>2]=c[(c[g>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;while(1){c[e>>2]=hk(c[f>>2]|0,c[g>>2]|0)|0;if((c[e>>2]|0)!=5){b=4;break}if(!(ub[c[(c[f>>2]|0)+176>>2]&31](c[(c[f>>2]|0)+180>>2]|0)|0)){b=4;break}}if((b|0)==4){i=d;return c[e>>2]|0}return 0}function hk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;j=f+4|0;g=f;c[h>>2]=b;c[j>>2]=e;c[g>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)>=(c[j>>2]|0)?(d[(c[h>>2]|0)+17>>0]|0|0)!=5:0){b=c[g>>2]|0;i=f;return b|0}if(d[(c[h>>2]|0)+13>>0]|0)e=0;else e=pj(c[(c[h>>2]|0)+60>>2]|0,c[j>>2]|0)|0;c[g>>2]=e;if(c[g>>2]|0){b=c[g>>2]|0;i=f;return b|0}if(!((c[j>>2]|0)==4?1:(d[(c[h>>2]|0)+17>>0]|0|0)!=5)){b=c[g>>2]|0;i=f;return b|0}a[(c[h>>2]|0)+17>>0]=c[j>>2];b=c[g>>2]|0;i=f;return b|0}function ik(e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;z=i;i=i+144|0;n=z+104|0;q=z+100|0;C=z+96|0;E=z+92|0;v=z+88|0;p=z+84|0;s=z+80|0;o=z+76|0;B=z+72|0;A=z+68|0;u=z+64|0;x=z+60|0;w=z+56|0;t=z+32|0;r=z+8|0;H=z+112|0;G=z+48|0;l=z+44|0;y=z+40|0;F=z;c[q>>2]=e;c[C>>2]=f;c[E>>2]=g;c[v>>2]=h;c[p>>2]=j;c[s>>2]=k;c[u>>2]=0;c[x>>2]=0;e=jk(c[q>>2]|0)|0;c[o>>2]=e;if(e){c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}c[B>>2]=c[(c[q>>2]|0)+68>>2];if(!(c[B>>2]|0)){ck(H,931071618|(a[1136]|0)==0);ck(H+4|0,3007e3);ck(H+8|0,c[C>>2]|0);ck(H+12|0,c[(c[q>>2]|0)+104>>2]|0);if(!(c[(c[q>>2]|0)+104>>2]|0))vc(8,(c[q>>2]|0)+84|0);e=H+16|0;f=(c[q>>2]|0)+84|0;a[e+0>>0]=a[f+0>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;a[e+4>>0]=a[f+4>>0]|0;a[e+5>>0]=a[f+5>>0]|0;a[e+6>>0]=a[f+6>>0]|0;a[e+7>>0]=a[f+7>>0]|0;Jj(1,H,24,0,G);ck(H+24|0,c[G>>2]|0);ck(H+28|0,c[G+4>>2]|0);c[(c[q>>2]|0)+36>>2]=c[C>>2];a[(c[q>>2]|0)+65>>0]=(a[1136]|0)==0;c[(c[q>>2]|0)+76>>2]=c[G>>2];c[(c[q>>2]|0)+80>>2]=c[G+4>>2];a[(c[q>>2]|0)+47>>0]=1;c[o>>2]=id(c[(c[q>>2]|0)+8>>2]|0,H,32,0,0)|0;if(c[o>>2]|0){c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}if(((c[s>>2]|0)!=0?(d[(c[q>>2]|0)+48>>0]|0)!=0:0)?(c[o>>2]=Yh(c[(c[q>>2]|0)+8>>2]|0,c[s>>2]&19)|0,(c[o>>2]|0)!=0):0){c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}}c[r>>2]=c[q>>2];c[r+4>>2]=c[(c[q>>2]|0)+8>>2];f=r+8|0;c[f>>2]=0;c[f+4>>2]=0;c[r+16>>2]=c[s>>2];c[r+20>>2]=c[C>>2];f=(c[C>>2]|0)+24|0;f=lF((c[B>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=bF(32,0,f|0,D|0)|0;e=t;c[e>>2]=f;c[e+4>>2]=D;c[w>>2]=(c[C>>2]|0)+24;c[A>>2]=c[E>>2];while(1){if(!(c[A>>2]|0))break;c[B>>2]=(c[B>>2]|0)+1;if(c[p>>2]|0)G=(c[(c[A>>2]|0)+12>>2]|0)==0?c[v>>2]|0:0;else G=0;c[l>>2]=G;e=t;c[o>>2]=kk(r,c[A>>2]|0,c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[o>>2]|0){m=16;break}c[u>>2]=c[A>>2];f=c[w>>2]|0;e=t;f=bF(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=t;c[e>>2]=f;c[e+4>>2]=D;c[A>>2]=c[(c[A>>2]|0)+12>>2]}if((m|0)==16){c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}a:do if((c[p>>2]|0)!=0?(c[s>>2]&32|0)!=0:0){if(!(a[(c[q>>2]|0)+49>>0]|0)){c[o>>2]=Yh(c[r+4>>2]|0,c[s>>2]&19)|0;break}c[y>>2]=Bi(c[(c[q>>2]|0)+8>>2]|0)|0;e=t;f=c[y>>2]|0;f=bF(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;f=ZE(f|0,D|0,1,0)|0;e=c[y>>2]|0;e=jF(f|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;f=c[y>>2]|0;f=lF(e|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=r+8|0;c[e>>2]=f;c[e+4>>2]=D;while(1){f=t;h=c[f+4>>2]|0;e=r+8|0;g=c[e+4>>2]|0;if(!((h|0)<(g|0)|((h|0)==(g|0)?(c[f>>2]|0)>>>0<(c[e>>2]|0)>>>0:0)))break a;e=t;c[o>>2]=kk(r,c[u>>2]|0,c[v>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[o>>2]|0)break;f=c[w>>2]|0;e=t;f=bF(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=t;c[e>>2]=f;c[e+4>>2]=D;c[x>>2]=(c[x>>2]|0)+1}c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}while(0);if(((c[p>>2]|0)!=0?(d[(c[q>>2]|0)+47>>0]|0)!=0:0)?(e=(c[q>>2]|0)+16|0,f=c[e+4>>2]|0,(f|0)>0|(f|0)==0&(c[e>>2]|0)>>>0>=0):0){e=(c[q>>2]|0)+16|0;h=c[e+4>>2]|0;f=F;c[f>>2]=c[e>>2];c[f+4>>2]=h;f=(c[C>>2]|0)+24|0;f=lF((c[B>>2]|0)+(c[x>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=bF(32,0,f|0,D|0)|0;h=D;e=(c[q>>2]|0)+16|0;g=c[e+4>>2]|0;if((h|0)>(g|0)|((h|0)==(g|0)?f>>>0>(c[e>>2]|0)>>>0:0)){f=(c[C>>2]|0)+24|0;f=lF((c[B>>2]|0)+(c[x>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=bF(32,0,f|0,D|0)|0;e=F;c[e>>2]=f;c[e+4>>2]=D}e=F;sj(c[q>>2]|0,c[e>>2]|0,c[e+4>>2]|0);a[(c[q>>2]|0)+47>>0]=0}c[B>>2]=c[(c[q>>2]|0)+68>>2];c[A>>2]=c[E>>2];while(1){if(!((c[A>>2]|0)!=0&(c[o>>2]|0)==0))break;c[B>>2]=(c[B>>2]|0)+1;c[o>>2]=Lj(c[q>>2]|0,c[B>>2]|0,c[(c[A>>2]|0)+20>>2]|0)|0;c[A>>2]=c[(c[A>>2]|0)+12>>2]}while(1){if(!((c[o>>2]|0)==0&(c[x>>2]|0)>0))break;c[B>>2]=(c[B>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+ -1;c[o>>2]=Lj(c[q>>2]|0,c[B>>2]|0,c[(c[u>>2]|0)+20>>2]|0)|0}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+66>>1]=c[C>>2]&65280|c[C>>2]>>16;c[(c[q>>2]|0)+68>>2]=c[B>>2];if(c[p>>2]|0){e=(c[q>>2]|0)+60|0;c[e>>2]=(c[e>>2]|0)+1;c[(c[q>>2]|0)+72>>2]=c[v>>2]}if(c[p>>2]|0){Mj(c[q>>2]|0);c[(c[q>>2]|0)+12>>2]=c[B>>2]}}c[n>>2]=c[o>>2];e=c[n>>2]|0;i=z;return e|0}function jk(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+48|0;d=j+32|0;h=j+28|0;g=j+24|0;e=j+20|0;l=j+16|0;n=j+12|0;k=j+8|0;m=j+4|0;f=j;c[h>>2]=a;c[g>>2]=0;if(!(b[(c[h>>2]|0)+40>>1]|0)){c[l>>2]=Aj(c[h>>2]|0)|0;do if((c[c[l>>2]>>2]|0)>>>0>0){vc(4,n);c[g>>2]=vj(c[h>>2]|0,4,4)|0;if(c[g>>2]|0){if((c[g>>2]|0)==5)break;c[d>>2]=c[g>>2];n=c[d>>2]|0;i=j;return n|0}c[m>>2]=(c[h>>2]|0)+84;a=(c[h>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[h>>2]|0)+68>>2]=0;a=c[m>>2]|0;ck(a,1+(Hh(c[m>>2]|0)|0)|0);c[(c[m>>2]|0)+4>>2]=c[n>>2];Mj(c[h>>2]|0);c[c[l>>2]>>2]=0;c[(c[l>>2]|0)+8>>2]=0;c[k>>2]=2;while(1){if((c[k>>2]|0)>=5)break;c[(c[l>>2]|0)+4+(c[k>>2]<<2)>>2]=-1;c[k>>2]=(c[k>>2]|0)+1}ji(c[h>>2]|0,4,4)}while(0);hi(c[h>>2]|0,3);b[(c[h>>2]|0)+40>>1]=-1;c[e>>2]=0;do{m=c[h>>2]|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[g>>2]=nk(m,f,1,n)|0}while((c[g>>2]|0)==-1)}c[d>>2]=c[g>>2];n=c[d>>2]|0;i=j;return n|0}function kk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;l=i;i=i+64|0;h=l+28|0;g=l+24|0;p=l+20|0;o=l+16|0;k=l;j=l+12|0;m=l+8|0;n=l+32|0;c[g>>2]=a;c[p>>2]=b;c[o>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;c[m>>2]=c[(c[p>>2]|0)+4>>2];lk(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[m>>2]|0,n);a=k;c[j>>2]=mk(c[g>>2]|0,n,24,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=c[j>>2];p=c[h>>2]|0;i=l;return p|0}else{a=c[g>>2]|0;n=c[m>>2]|0;o=c[(c[g>>2]|0)+20>>2]|0;p=k;p=bF(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[j>>2]=mk(a,n,o,p,D)|0;c[h>>2]=c[j>>2];p=c[h>>2]|0;i=l;return p|0}return 0}function lk(b,e,f,g,h){b=b|0;e=e|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,q=0;j=i;i=i+32|0;m=j+24|0;q=j+20|0;p=j+16|0;n=j+12|0;l=j+8|0;o=j+4|0;k=j;c[m>>2]=b;c[q>>2]=e;c[p>>2]=f;c[n>>2]=g;c[l>>2]=h;c[k>>2]=(c[m>>2]|0)+76;ck(c[l>>2]|0,c[q>>2]|0);ck((c[l>>2]|0)+4|0,c[p>>2]|0);b=(c[l>>2]|0)+8|0;e=(c[m>>2]|0)+84|0;a[b+0>>0]=a[e+0>>0]|0;a[b+1>>0]=a[e+1>>0]|0;a[b+2>>0]=a[e+2>>0]|0;a[b+3>>0]=a[e+3>>0]|0;a[b+4>>0]=a[e+4>>0]|0;a[b+5>>0]=a[e+5>>0]|0;a[b+6>>0]=a[e+6>>0]|0;a[b+7>>0]=a[e+7>>0]|0;c[o>>2]=(d[(c[m>>2]|0)+65>>0]|0)==((a[1136]|0)==0|0)&1;Jj(c[o>>2]|0,c[l>>2]|0,8,c[k>>2]|0,c[k>>2]|0);Jj(c[o>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+36>>2]|0,c[k>>2]|0,c[k>>2]|0);ck((c[l>>2]|0)+16|0,c[c[k>>2]>>2]|0);ck((c[l>>2]|0)+20|0,c[(c[k>>2]|0)+4>>2]|0);i=j;return}function mk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+28|0;m=o+24|0;k=o+20|0;g=o+16|0;h=o;l=o+12|0;j=o+8|0;c[m>>2]=a;c[k>>2]=b;c[g>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;b=h;e=c[b+4>>2]|0;a=(c[m>>2]|0)+8|0;d=c[a+4>>2]|0;if((e|0)<(d|0)|((e|0)==(d|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)?(e=h,b=c[g>>2]|0,b=bF(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,e=D,a=(c[m>>2]|0)+8|0,d=c[a+4>>2]|0,(e|0)>(d|0)|((e|0)==(d|0)?b>>>0>=(c[a>>2]|0)>>>0:0)):0){b=(c[m>>2]|0)+8|0;a=h;a=ZE(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[j>>2]=a;a=h;c[l>>2]=id(c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];a=c[n>>2]|0;i=o;return a|0}b=c[j>>2]|0;a=h;b=bF(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=D;c[g>>2]=(c[g>>2]|0)-(c[j>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[l>>2]=Yh(c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+16>>2]&19)|0;if((c[g>>2]|0)==0|(c[l>>2]|0)!=0){c[n>>2]=c[l>>2];a=c[n>>2]|0;i=o;return a|0}}a=h;c[l>>2]=id(c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0,c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[n>>2]=c[l>>2];a=c[n>>2]|0;i=o;return a|0}function nk(a,e,f,g){a=a|0;e=e|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;j=i;i=i+48|0;h=j+44|0;m=j+40|0;t=j+36|0;s=j+32|0;v=j+28|0;q=j+24|0;o=j+20|0;n=j+16|0;p=j+12|0;l=j+8|0;u=j+4|0;k=j;c[m>>2]=a;c[t>>2]=e;c[s>>2]=f;c[v>>2]=g;c[l>>2]=0;if((c[v>>2]|0)>5){c[u>>2]=1;if((c[v>>2]|0)>100){c[h>>2]=15;a=c[h>>2]|0;i=j;return a|0}if((c[v>>2]|0)>=10)c[u>>2]=($((c[v>>2]|0)-9|0,(c[v>>2]|0)-9|0)|0)*39;fg(c[c[m>>2]>>2]|0,c[u>>2]|0)|0}if(!(c[s>>2]|0)){c[l>>2]=xj(c[m>>2]|0,c[t>>2]|0)|0;do if((c[l>>2]|0)==5){if(!(c[c[(c[m>>2]|0)+32>>2]>>2]|0)){c[l>>2]=-1;break}a=gi(c[m>>2]|0,2)|0;c[l>>2]=a;if(!a){hi(c[m>>2]|0,2);c[l>>2]=-1;break}if((c[l>>2]|0)==5)c[l>>2]=261}while(0);if(c[l>>2]|0){c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}}c[q>>2]=Aj(c[m>>2]|0)|0;do if((c[s>>2]|0)==0?(c[c[q>>2]>>2]|0)==(c[(c[m>>2]|0)+68>>2]|0):0){c[l>>2]=gi(c[m>>2]|0,3)|0;Nj(c[m>>2]|0);if(c[l>>2]|0){if((c[l>>2]|0)==5)break;c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}a=mj(c[m>>2]|0)|0;a=(TE(a,(c[m>>2]|0)+52|0,48)|0)!=0;k=c[m>>2]|0;if(a){hi(k,3);c[h>>2]=-1;a=c[h>>2]|0;i=j;return a|0}else{b[k+40>>1]=0;c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}}while(0);c[o>>2]=0;c[n>>2]=0;c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[k>>2]=c[(c[q>>2]|0)+4+(c[p>>2]<<2)>>2];if((c[o>>2]|0)>>>0<=(c[k>>2]|0)>>>0?(c[k>>2]|0)>>>0<=(c[(c[m>>2]|0)+68>>2]|0)>>>0:0){c[o>>2]=c[k>>2];c[n>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1}a:do if(((d[(c[m>>2]|0)+46>>0]|0)&2|0)==0?(c[n>>2]|0)==0?1:(c[o>>2]|0)>>>0<(c[(c[m>>2]|0)+68>>2]|0)>>>0:0){c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break a;c[l>>2]=vj(c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[l>>2]|0)){r=36;break}if((c[l>>2]|0)!=5)break;c[p>>2]=(c[p>>2]|0)+1}if((r|0)==36){a=c[(c[m>>2]|0)+68>>2]|0;c[(c[q>>2]|0)+4+(c[p>>2]<<2)>>2]=a;c[o>>2]=a;c[n>>2]=c[p>>2];ji(c[m>>2]|0,3+(c[p>>2]|0)|0,1);break}c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}while(0);if(!(c[n>>2]|0)){c[h>>2]=(c[l>>2]|0)==5?-1:520;a=c[h>>2]|0;i=j;return a|0}c[l>>2]=gi(c[m>>2]|0,3+(c[n>>2]|0)|0)|0;if(c[l>>2]|0){c[h>>2]=(c[l>>2]|0)==5?-1:c[l>>2]|0;a=c[h>>2]|0;i=j;return a|0}Nj(c[m>>2]|0);if((c[(c[q>>2]|0)+4+(c[n>>2]<<2)>>2]|0)==(c[o>>2]|0)?(a=mj(c[m>>2]|0)|0,(TE(a,(c[m>>2]|0)+52|0,48)|0)==0):0){b[(c[m>>2]|0)+40>>1]=c[n>>2];c[h>>2]=c[l>>2];a=c[h>>2]|0;i=j;return a|0}hi(c[m>>2]|0,3+(c[n>>2]|0)|0);c[h>>2]=-1;a=c[h>>2]|0;i=j;return a|0}function ok(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;f=b+4|0;e=b;c[f>>2]=a;c[e>>2]=0;if(c[c[(c[f>>2]|0)+68>>2]>>2]|0){f=c[e>>2]|0;i=b;return f|0}if((d[(c[f>>2]|0)+5>>0]|0|0)!=4?(d[(c[f>>2]|0)+21>>0]|0|0)==0:0){c[e>>2]=ak(c[f>>2]|0,c[(c[f>>2]|0)+68>>2]|0,8192)|0;f=c[e>>2]|0;i=b;return f|0}qi(c[(c[f>>2]|0)+68>>2]|0);f=c[e>>2]|0;i=b;return f|0}function pk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;ck(g,c[k>>2]|0);a=j;a=id(c[h>>2]|0,g,4,c[a>>2]|0,c[a+4>>2]|0)|0;i=f;return a|0}function qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d+16|0;j=d+12|0;g=d+8|0;e=d+4|0;h=d;c[f>>2]=a;c[j>>2]=b;c[e>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+96>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+92>>2]|0)+((c[g>>2]|0)*48|0);if((c[j>>2]|0)>>>0<=(c[(c[h>>2]|0)+20>>2]|0)>>>0){a=Wg(c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[e>>2]|a}c[g>>2]=(c[g>>2]|0)+1}i=d;return c[e>>2]|0}function rk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+4|0;f=e;c[g>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[g>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+ -1}i=e;return(d|0)==0|0}function sk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];tc(21,4880,d);i=b;return}function tk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;k=l+16|0;g=l+12|0;m=l+8|0;h=l+4|0;j=l;c[n>>2]=a;c[k>>2]=b;c[g>>2]=e;c[m>>2]=f;c[h>>2]=0;if(!(c[n>>2]|0)){a=c[h>>2]|0;i=l;return a|0}c[j>>2]=c[(c[n>>2]|0)+4>>2];Pc(c[n>>2]|0);if(d[(c[j>>2]|0)+20>>0]|0){c[h>>2]=6;a=c[h>>2]|0;i=l;return a|0}else{c[h>>2]=uk(c[c[j>>2]>>2]|0,c[k>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;a=c[h>>2]|0;i=l;return a|0}return 0}function uk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[h>>2]=0;if(!(c[(c[j>>2]|0)+208>>2]|0)){a=c[h>>2]|0;i=g;return a|0}c[h>>2]=qj(c[(c[j>>2]|0)+208>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+176>>2]|0,c[(c[j>>2]|0)+180>>2]|0,d[(c[j>>2]|0)+9>>0]|0,c[(c[j>>2]|0)+152>>2]|0,c[(c[j>>2]|0)+200>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;a=c[h>>2]|0;i=g;return a|0}function vk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;g=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;l=h+4|0;j=h;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if(!(c[j>>2]|0)){f=7;break}if((Lb(c[(c[j>>2]|0)+24>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)==0?(a[(c[(c[j>>2]|0)+24>>2]|0)+(c[l>>2]|0)>>0]|0)==0:0){f=5;break}c[j>>2]=c[(c[j>>2]|0)+28>>2]}if((f|0)==5){c[g>>2]=c[j>>2];n=c[g>>2]|0;i=h;return n|0}else if((f|0)==7){c[g>>2]=0;n=c[g>>2]|0;i=h;return n|0}return 0}function wk(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;j=i;i=i+32|0;k=j+12|0;m=j+8|0;o=j+4|0;n=j+16|0;l=j;c[m>>2]=f;c[o>>2]=g;a[n>>0]=h;h=c[m>>2]|0;if((c[o>>2]|0)==-2){if(!(c[h+12>>2]|0))l=(c[(c[m>>2]|0)+16>>2]|0)==0;else l=0;c[k>>2]=l?0:6;f=c[k>>2]|0;i=j;return f|0}if((b[h>>1]|0)!=(c[o>>2]|0)?(b[c[m>>2]>>1]|0)>=0:0){c[k>>2]=0;f=c[k>>2]|0;i=j;return f|0}if((b[c[m>>2]>>1]|0)==(c[o>>2]|0))c[l>>2]=4;else c[l>>2]=1;if((d[n>>0]|0)!=(e[(c[m>>2]|0)+2>>1]&3|0)){if(d[n>>0]&e[(c[m>>2]|0)+2>>1]&2)c[l>>2]=(c[l>>2]|0)+1}else c[l>>2]=(c[l>>2]|0)+2;c[k>>2]=c[l>>2];f=c[k>>2]|0;i=j;return f|0}function xk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;k=f+16|0;h=f+12|0;g=f+8|0;l=f+4|0;m=f+20|0;j=f;c[k>>2]=b;c[h>>2]=e;c[l>>2]=Mb(c[(c[h>>2]|0)+24>>2]|0)|0;a[m>>0]=a[c[(c[h>>2]|0)+24>>2]>>0]|0;c[j>>2]=((d[440+(d[m>>0]|0)>>0]|0)+(c[l>>2]|0)|0)%23|0;c[g>>2]=vk(c[k>>2]|0,c[j>>2]|0,c[(c[h>>2]|0)+24>>2]|0,c[l>>2]|0)|0;if(c[g>>2]|0){c[(c[h>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];i=f;return}else{c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+28>>2]=c[(c[k>>2]|0)+(c[j>>2]<<2)>>2];c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=c[h>>2];i=f;return}}function yk(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[k>>2]|0)+10>>0]|0|0)!=(c[j>>2]|0):0){c[h>>2]=zk(c[k>>2]|0,c[j>>2]&255)|0;c[g>>2]=c[h>>2];a=c[g>>2]|0;i=f;return a|0}c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}function zk(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;j=i;i=i+48|0;o=j+40|0;l=j+36|0;k=j+45|0;t=j+32|0;q=j+28|0;m=j+24|0;n=j+20|0;h=j+16|0;p=j+12|0;u=j+44|0;v=j+8|0;r=j+4|0;s=j;c[l>>2]=f;a[k>>0]=g;if((d[(c[l>>2]|0)+10>>0]|0|0)!=1?(d[k>>0]|0|0)!=1:0){c[v>>2]=Ak(c[l>>2]|0)|0;if(c[v>>2]|0){c[o>>2]=7;g=c[o>>2]|0;i=j;return g|0}c[m>>2]=c[(c[l>>2]|0)+16>>2];c[n>>2]=(c[m>>2]|0)+(c[(c[l>>2]|0)+12>>2]&-2);while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;a[u>>0]=a[c[m>>2]>>0]|0;a[c[m>>2]>>0]=a[(c[m>>2]|0)+1>>0]|0;c[m>>2]=(c[m>>2]|0)+1;v=a[u>>0]|0;g=c[m>>2]|0;c[m>>2]=g+1;a[g>>0]=v}a[(c[l>>2]|0)+10>>0]=a[k>>0]|0}else{f=(c[l>>2]|0)+12|0;u=c[f>>2]|0;if((d[k>>0]|0|0)==1){c[f>>2]=u&-2;c[t>>2]=(c[(c[l>>2]|0)+12>>2]<<1)+1}else c[t>>2]=(u<<1)+2;c[m>>2]=c[(c[l>>2]|0)+16>>2];c[n>>2]=(c[m>>2]|0)+(c[(c[l>>2]|0)+12>>2]|0);g=c[t>>2]|0;c[q>>2]=Qe(c[(c[l>>2]|0)+32>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!(c[q>>2]|0)){c[o>>2]=7;g=c[o>>2]|0;i=j;return g|0}c[h>>2]=c[q>>2];if((d[(c[l>>2]|0)+10>>0]|0|0)==1){a:do if((d[k>>0]|0|0)==2)while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break a;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=d[g>>0];do if((c[p>>2]|0)>>>0>=192){c[p>>2]=d[4984+((c[p>>2]|0)-192)>>0];while(1){if((c[m>>2]|0)!=(c[n>>2]|0))r=((d[c[m>>2]>>0]|0)&192|0)==128;else r=0;s=c[p>>2]|0;if(!r)break;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(s<<6)+(63&(d[g>>0]|0))}if((s>>>0>=128?(c[p>>2]&-2048|0)!=55296:0)?(c[p>>2]&-2|0)!=65534:0)break;c[p>>2]=65533}while(0);r=c[p>>2]|0;if((c[p>>2]|0)>>>0<=65535){v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=r;v=(c[p>>2]|0)>>>8&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}else{g=(r>>>10&63)+(((c[p>>2]|0)-65536|0)>>>10&192)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=216+(((c[p>>2]|0)-65536|0)>>>18&3)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;g=c[p>>2]&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=220+((c[p>>2]|0)>>>8&3)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}}else while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break a;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=d[g>>0];do if((c[p>>2]|0)>>>0>=192){c[p>>2]=d[4984+((c[p>>2]|0)-192)>>0];while(1){if((c[m>>2]|0)!=(c[n>>2]|0))s=((d[c[m>>2]>>0]|0)&192|0)==128;else s=0;r=c[p>>2]|0;if(!s)break;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(r<<6)+(63&(d[g>>0]|0))}if((r>>>0>=128?(c[p>>2]&-2048|0)!=55296:0)?(c[p>>2]&-2|0)!=65534:0)break;c[p>>2]=65533}while(0);r=c[p>>2]|0;if((c[p>>2]|0)>>>0<=65535){v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=r>>>8;v=c[p>>2]&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}else{v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=216+((r-65536|0)>>>18&3);v=((c[p>>2]|0)>>>10&63)+(((c[p>>2]|0)-65536|0)>>>10&192)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;g=220+((c[p>>2]|0)>>>8&3)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=c[p>>2]&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}}while(0);c[(c[l>>2]|0)+12>>2]=(c[h>>2]|0)-(c[q>>2]|0);g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=0}else{b:do if((d[(c[l>>2]|0)+10>>0]|0|0)==2)while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break b;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=d[g>>0];g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(c[p>>2]|0)+((d[g>>0]|0)<<8);if((c[p>>2]|0)>>>0>=55296&(c[p>>2]|0)>>>0<57344?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0){g=c[m>>2]|0;c[m>>2]=g+1;c[r>>2]=d[g>>0];g=c[m>>2]|0;c[m>>2]=g+1;c[r>>2]=(c[r>>2]|0)+((d[g>>0]|0)<<8);c[p>>2]=(c[r>>2]&1023)+((c[p>>2]&63)<<10)+((c[p>>2]&960)+64<<10)}t=c[p>>2]|0;if((c[p>>2]|0)>>>0<128){g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=t;continue}s=c[p>>2]|0;if(t>>>0<2048){v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=192+(s>>>6&31);v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}t=c[p>>2]|0;if(s>>>0<65536){g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=224+(t>>>12&15);g=128+((c[p>>2]|0)>>>6&63)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}else{v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=240+(t>>>18&7);v=128+((c[p>>2]|0)>>>12&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;g=128+((c[p>>2]|0)>>>6&63)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}}else while(1){if((c[m>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break b;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(d[g>>0]|0)<<8;g=c[m>>2]|0;c[m>>2]=g+1;c[p>>2]=(c[p>>2]|0)+(d[g>>0]|0);if((c[p>>2]|0)>>>0>=55296&(c[p>>2]|0)>>>0<57344?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0){g=c[m>>2]|0;c[m>>2]=g+1;c[s>>2]=(d[g>>0]|0)<<8;g=c[m>>2]|0;c[m>>2]=g+1;c[s>>2]=(c[s>>2]|0)+(d[g>>0]|0);c[p>>2]=(c[s>>2]&1023)+((c[p>>2]&63)<<10)+((c[p>>2]&960)+64<<10)}t=c[p>>2]|0;if((c[p>>2]|0)>>>0<128){g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=t;continue}r=c[p>>2]|0;if(t>>>0<2048){v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=192+(r>>>6&31);v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}t=c[p>>2]|0;if(r>>>0<65536){g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=224+(t>>>12&15);g=128+((c[p>>2]|0)>>>6&63)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}else{v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=240+(t>>>18&7);v=128+((c[p>>2]|0)>>>12&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;g=128+((c[p>>2]|0)>>>6&63)&255;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=g;v=128+(c[p>>2]&63)&255;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=v;continue}}while(0);c[(c[l>>2]|0)+12>>2]=(c[h>>2]|0)-(c[q>>2]|0)}a[c[h>>2]>>0]=0;c[p>>2]=e[(c[l>>2]|0)+8>>1];Bd(c[l>>2]|0);b[(c[l>>2]|0)+8>>1]=514|c[p>>2]&31;a[(c[l>>2]|0)+10>>0]=a[k>>0]|0;c[(c[l>>2]|0)+16>>2]=c[q>>2];c[(c[l>>2]|0)+20>>2]=c[(c[l>>2]|0)+16>>2];g=Bk(c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+24>>2]=g}c[o>>2]=0;g=c[o>>2]|0;i=j;return g|0}function Ak(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+4|0;j=h;c[f>>2]=d;if((e[(c[f>>2]|0)+8>>1]|0)&16384)Dd(c[f>>2]|0)|0;c[j>>2]=e[(c[f>>2]|0)+8>>1];do if(c[j>>2]&18){if((c[(c[f>>2]|0)+24>>2]|0)!=0?(c[(c[f>>2]|0)+16>>2]|0)==(c[(c[f>>2]|0)+20>>2]|0):0)break;if(!(Dk(c[f>>2]|0,(c[(c[f>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+12>>2]|0)+1)>>0]=0;j=(c[f>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|512;break}c[g>>2]=7;j=c[g>>2]|0;i=h;return j|0}while(0);c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function Bk(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+8|0;h=d+4|0;g=d;c[h>>2]=a;c[g>>2]=b;if(!(c[h>>2]|0)){c[f>>2]=Tb(c[g>>2]|0)|0;a=c[f>>2]|0;i=d;return a|0}if(Ck(c[h>>2]|0,c[g>>2]|0)|0){c[f>>2]=e[(c[h>>2]|0)+248>>1];a=c[f>>2]|0;i=d;return a|0}else{c[f>>2]=ub[c[38640+48>>2]&31](c[g>>2]|0)|0;a=c[f>>2]|0;i=d;return a|0}return 0}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[f>>2]|0)+276>>2]|0)>>>0){a=0;a=a&1;i=d;return a|0}a=(c[e>>2]|0)>>>0<(c[(c[f>>2]|0)+280>>2]|0)>>>0;a=a&1;i=d;return a|0}function Dk(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k+12|0;h=k+8|0;l=k+4|0;g=k;c[h>>2]=a;c[l>>2]=d;c[g>>2]=f;do if((c[(c[h>>2]|0)+24>>2]|0)<(c[l>>2]|0)){if((c[l>>2]|0)<32)c[l>>2]=32;if(((c[g>>2]|0)!=0?(c[(c[h>>2]|0)+24>>2]|0)>0:0)?(c[(c[h>>2]|0)+16>>2]|0)==(c[(c[h>>2]|0)+20>>2]|0):0){a=c[l>>2]|0;a=Ek(c[(c[h>>2]|0)+32>>2]|0,c[(c[h>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+20>>2]=a;c[(c[h>>2]|0)+16>>2]=a;c[g>>2]=0}else{if((c[(c[h>>2]|0)+24>>2]|0)>0)Xb(c[(c[h>>2]|0)+32>>2]|0,c[(c[h>>2]|0)+20>>2]|0);a=c[l>>2]|0;a=Qe(c[(c[h>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+20>>2]=a}f=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){a=Bk(c[f+32>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;c[(c[h>>2]|0)+24>>2]=a;break}_d(f);c[(c[h>>2]|0)+16>>2]=0;c[(c[h>>2]|0)+24>>2]=0;c[j>>2]=7;a=c[j>>2]|0;i=k;return a|0}while(0);if(((c[g>>2]|0)!=0?(c[(c[h>>2]|0)+16>>2]|0)!=0:0)?(c[(c[h>>2]|0)+16>>2]|0)!=(c[(c[h>>2]|0)+20>>2]|0):0)dF(c[(c[h>>2]|0)+20>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0;if((e[(c[h>>2]|0)+8>>1]|0)&1024)rb[c[(c[h>>2]|0)+36>>2]&31](c[(c[h>>2]|0)+16>>2]|0);c[(c[h>>2]|0)+16>>2]=c[(c[h>>2]|0)+20>>2];a=(c[h>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-7169;c[j>>2]=0;a=c[j>>2]|0;i=k;return a|0}function Ek(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+16|0;j=f+12|0;k=f;g=f+8|0;c[h>>2]=a;c[j>>2]=b;a=k;c[a>>2]=d;c[a+4>>2]=e;a=k;c[g>>2]=Fk(c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=f;return k|0}Xb(c[h>>2]|0,c[j>>2]|0);k=c[g>>2]|0;i=f;return k|0}function Fk(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;k=n+20|0;o=n+16|0;j=n+12|0;l=n;m=n+8|0;c[o>>2]=b;c[j>>2]=f;b=l;c[b>>2]=g;c[b+4>>2]=h;c[m>>2]=0;do if(!(d[(c[o>>2]|0)+64>>0]|0)){h=c[o>>2]|0;if(!(c[j>>2]|0)){b=l;c[k>>2]=Qe(h,c[b>>2]|0,c[b+4>>2]|0)|0;b=c[k>>2]|0;i=n;return b|0}if(!(Ck(h,c[j>>2]|0)|0)){b=l;c[m>>2]=lc(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0)break;a[(c[o>>2]|0)+64>>0]=1;break}b=l;f=c[b+4>>2]|0;if(f>>>0<0|((f|0)==0?(c[b>>2]|0)>>>0<=(e[(c[o>>2]|0)+248>>1]|0)>>>0:0)){c[k>>2]=c[j>>2];b=c[k>>2]|0;i=n;return b|0}else{b=l;c[m>>2]=Qe(c[o>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[m>>2]|0))break;dF(c[m>>2]|0,c[j>>2]|0,e[(c[o>>2]|0)+248>>1]|0|0)|0;Xb(c[o>>2]|0,c[j>>2]|0);break}}while(0);c[k>>2]=c[m>>2];b=c[k>>2]|0;i=n;return b|0}function Gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+32>>2];if(!(c[e>>2]|0)){i=d;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+ -1;if(c[c[e>>2]>>2]|0){i=d;return}rb[c[(c[e>>2]|0)+4>>2]&31](c[(c[e>>2]|0)+8>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function Hk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;if(c[(c[e>>2]|0)+4>>2]|0){c[d>>2]=1;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){a=9;break}c[g>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if((c[g>>2]|0)!=0?(Wk(c[g>>2]|0)|0)!=0:0){a=7;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==7){c[d>>2]=1;g=c[d>>2]|0;i=b;return g|0}else if((a|0)==9){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}return 0}function Ik(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;l=f+16|0;k=f+12|0;h=f+8|0;m=f+4|0;j=f;c[g>>2]=b;c[l>>2]=e;c[h>>2]=0;kh();Rb(c[g>>2]|0);if(c[(c[g>>2]|0)+24>>2]&2)e=(d[(c[g>>2]|0)+145>>0]|0)==0;else e=0;c[m>>2]=e&1;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+4>>2];if(c[j>>2]|0){if(Tk(c[j>>2]|0)|0)c[h>>2]=1;qd(c[j>>2]|0,c[l>>2]|0,((c[m>>2]|0)!=0^1)&1)|0}c[k>>2]=(c[k>>2]|0)+1}Uk(c[g>>2]|0)|0;lh();if((c[(c[g>>2]|0)+24>>2]&2|0)!=0?(d[(c[g>>2]|0)+145>>0]|0)==0:0){gf(c[g>>2]|0);cd(c[g>>2]|0)}b=(c[g>>2]|0)+504|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[g>>2]|0)+512|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[g>>2]|0)+24|0;c[b>>2]=c[b>>2]&-16777217;if(!(c[(c[g>>2]|0)+200>>2]|0)){i=f;return}if((c[h>>2]|0)==0?(a[(c[g>>2]|0)+62>>0]|0)!=0:0){i=f;return}rb[c[(c[g>>2]|0)+200>>2]&31](c[(c[g>>2]|0)+196>>2]|0);i=f;return}function Jk(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+488>>2]|0))break;c[f>>2]=c[b+488>>2];c[(c[d>>2]|0)+488>>2]=c[(c[f>>2]|0)+24>>2];Xb(c[d>>2]|0,c[f>>2]|0)}c[b+496>>2]=0;c[(c[d>>2]|0)+500>>2]=0;a[(c[d>>2]|0)+69>>0]=0;i=e;return}function Kk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;d=e+12|0;f=e+8|0;g=e+4|0;h=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+4>>2];Pc(c[d>>2]|0);c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];if((c[c[h>>2]>>2]|0)!=(c[d>>2]|0))continue;Ok(c[h>>2]|0)|0}qd(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(Pk(c[f>>2]|0)|0)==0:0)){Ih(c[c[f>>2]>>2]|0)|0;if((c[(c[f>>2]|0)+52>>2]|0)!=0?(c[(c[f>>2]|0)+48>>2]|0)!=0:0)rb[c[(c[f>>2]|0)+52>>2]&31](c[(c[f>>2]|0)+48>>2]|0);Xb(0,c[(c[f>>2]|0)+48>>2]|0);Dg(c[f>>2]|0);hc(c[f>>2]|0)}if(c[(c[d>>2]|0)+24>>2]|0)c[(c[(c[d>>2]|0)+24>>2]|0)+20>>2]=c[(c[d>>2]|0)+20>>2];if(!(c[(c[d>>2]|0)+20>>2]|0)){h=c[d>>2]|0;hc(h);i=e;return 0}c[(c[(c[d>>2]|0)+20>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];h=c[d>>2]|0;hc(h);i=e;return 0}function Lk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+332>>2];c[(c[f>>2]|0)+332>>2]=0;if(!(c[d>>2]|0)){i=b;return}gf(c[f>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];Nk(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=b;return}function Mk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;g=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=2;c[g>>2]=2;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Xb(c[d>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[g>>2]|0)){a=(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4)|0;c[a+0>>2]=c[h+0>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+1}_E((c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0,0,(c[(c[d>>2]|0)+20>>2]|0)-(c[e>>2]|0)<<4|0)|0;c[(c[d>>2]|0)+20>>2]=c[e>>2];if((c[(c[d>>2]|0)+20>>2]|0)>2){i=b;return}if((c[(c[d>>2]|0)+16>>2]|0)==((c[d>>2]|0)+456|0)){i=b;return}h=(c[d>>2]|0)+456|0;g=c[(c[d>>2]|0)+16>>2]|0;c[h+0>>2]=c[g+0>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];Xb(c[d>>2]|0,c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=(c[d>>2]|0)+456;i=b;return}function Nk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+8|0;d=b+4|0;f=b;c[e>>2]=a;c[d>>2]=c[c[e>>2]>>2];a=(c[e>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+ -1;if(c[(c[e>>2]|0)+12>>2]|0){i=b;return}c[f>>2]=c[(c[e>>2]|0)+8>>2];if(c[f>>2]|0)ub[c[(c[c[f>>2]>>2]|0)+16>>2]&31](c[f>>2]|0)|0;Xb(c[d>>2]|0,c[e>>2]|0);i=b;return}function Ok(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;f=d+8|0;h=d+4|0;e=d;c[g>>2]=a;c[f>>2]=c[c[g>>2]>>2];if(!(c[f>>2]|0)){i=d;return 0}c[e>>2]=c[(c[g>>2]|0)+4>>2];Pc(c[f>>2]|0);Qk(c[g>>2]|0);a=c[(c[g>>2]|0)+8>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=a;else c[(c[e>>2]|0)+8>>2]=a;if(c[(c[g>>2]|0)+8>>2]|0)c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>(b[(c[g>>2]|0)+76>>1]|0))break;Rk(c[(c[g>>2]|0)+120+(c[h>>2]<<2)>>2]|0);c[h>>2]=(c[h>>2]|0)+1}Sk(c[e>>2]|0);Xb(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+20>>2]|0);i=d;return 0}function Pk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[d>>2]=0;g=(c[f>>2]|0)+64|0;c[g>>2]=(c[g>>2]|0)+ -1;if((c[(c[f>>2]|0)+64>>2]|0)>0){g=c[d>>2]|0;i=b;return g|0}if((c[1058]|0)!=(c[f>>2]|0)){c[e>>2]=c[1058];while(1){if(c[e>>2]|0)g=(c[(c[e>>2]|0)+68>>2]|0)!=(c[f>>2]|0);else g=0;a=c[e>>2]|0;if(!g)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[f>>2]|0)+68>>2]}else c[1058]=c[(c[f>>2]|0)+68>>2];c[d>>2]=1;g=c[d>>2]|0;i=b;return g|0}function Qk(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;hc(c[(c[e>>2]|0)+56>>2]|0);c[(c[e>>2]|0)+56>>2]=0;a[(c[e>>2]|0)+73>>0]=0;i=d;return}function Rk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}ej(c[(c[d>>2]|0)+68>>2]|0);i=b;return}function Sk(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;if(d[(c[e>>2]|0)+20>>0]|0){i=b;return}if(!(c[(c[e>>2]|0)+12>>2]|0)){i=b;return}c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;Rk(c[f>>2]|0);i=b;return}function Tk(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){e=0;e=e&1;i=b;return e|0}e=(d[(c[e>>2]|0)+8>>0]|0|0)==2;e=e&1;i=b;return e|0}function Uk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Vk(c[d>>2]|0,68);i=b;return 0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+20|0;g=d+16|0;j=d+12|0;k=d+8|0;f=d+4|0;h=d;c[e>>2]=a;c[g>>2]=b;if(!(c[(c[e>>2]|0)+328>>2]|0)){i=d;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[e>>2]|0)+304>>2]|0))break;c[k>>2]=c[(c[(c[e>>2]|0)+328>>2]|0)+(c[j>>2]<<2)>>2];c[f>>2]=c[(c[k>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(c[h>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]|0)>>2],(c[h>>2]|0)!=0):0)ub[c[h>>2]&31](c[f>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=0;Nk(c[k>>2]|0);c[j>>2]=(c[j>>2]|0)+1}Xb(c[e>>2]|0,c[(c[e>>2]|0)+328>>2]|0);c[(c[e>>2]|0)+304>>2]=0;c[(c[e>>2]|0)+328>>2]=0;i=d;return}function Wk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[(c[b>>2]|0)+16>>2]|0)!=0|0}function Xk(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;b=e+16|0;h=e+12|0;f=e+8|0;g=e+4|0;j=e;c[b>>2]=a;Rb(c[b>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0){c[g>>2]=c[(c[f>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((d[(c[j>>2]|0)+44>>0]|0)&16)Yk(c[b>>2]|0,c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}}while(0);c[h>>2]=(c[h>>2]|0)+1}Lk(c[b>>2]|0);i=e;return}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[j>>2]=b;c[g>>2]=(c[j>>2]|0)+60;while(1){if(!(c[c[g>>2]>>2]|0)){d=6;break}b=c[c[g>>2]>>2]|0;if((c[c[c[g>>2]>>2]>>2]|0)==(c[h>>2]|0))break;c[g>>2]=b+24}if((d|0)==6){i=e;return}c[f>>2]=b;c[c[g>>2]>>2]=c[(c[f>>2]|0)+24>>2];Nk(c[f>>2]|0);i=e;return}function Zk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;rb[c[38640+152>>2]&31](c[(c[d>>2]|0)+40>>2]|0);i=b;return}function _k(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;c[b>>2]=a;d=3136|0;a=d+68|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));if(c[9661]|0){c[784]=8;c[797]=8}c[787]=10;c[791]=1;i=b;return 0}function $k(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;c[b>>2]=a;d=3136|0;a=d+68|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=b;return}function al(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,l=0;e=i;i=i+32|0;h=e+24|0;j=e+20|0;k=e+16|0;f=e+12|0;g=e+8|0;l=e+4|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[e>>2]=0;c[l>>2]=48;a=c[l>>2]|0;c[f>>2]=Mc(a,((a|0)<0)<<31>>31)|0;if(!(c[f>>2]|0)){l=c[f>>2]|0;i=e;return l|0}c[g>>2]=3136;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=c[j>>2];c[(c[f>>2]|0)+12>>2]=(c[k>>2]|0)!=0?1:0;ql(c[f>>2]|0);if(c[k>>2]|0){c[(c[f>>2]|0)+16>>2]=10;l=(c[g>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+(c[(c[f>>2]|0)+16>>2]|0);c[(c[g>>2]|0)+12>>2]=(c[(c[g>>2]|0)+4>>2]|0)+10-(c[(c[g>>2]|0)+8>>2]|0)}if(c[(c[f>>2]|0)+40>>2]|0){l=c[f>>2]|0;i=e;return l|0}hl(c[f>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}function bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;g=d+8|0;e=d+4|0;f=d;c[h>>2]=a;c[g>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+12>>2]|0)){i=d;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[g>>2]|0)-(c[(c[e>>2]|0)+20>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+20>>2]=c[g>>2];c[(c[e>>2]|0)+24>>2]=(((c[(c[e>>2]|0)+20>>2]|0)*9|0)>>>0)/10|0;jl(c[f>>2]|0);i=d;return}function cl(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+36>>2];i=d;return c[b>>2]|0}function dl(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;g=i;i=i+32|0;l=g+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[l>>2]=b;c[j>>2]=d;c[k>>2]=e;c[h>>2]=c[l>>2];c[f>>2]=0;c[f>>2]=c[(c[(c[h>>2]|0)+44>>2]|0)+((((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+40>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[f>>2]|0)d=(c[(c[f>>2]|0)+8>>2]|0)!=(c[j>>2]|0);else d=0;e=c[f>>2]|0;if(!d)break;c[f>>2]=c[e+16>>2]}if(e){if(a[(c[f>>2]|0)+12>>0]|0){l=c[f>>2]|0;i=g;return l|0}kl(c[f>>2]|0);l=c[f>>2]|0;i=g;return l|0}else{if(!(c[k>>2]|0)){l=c[f>>2]|0;i=g;return l|0}c[f>>2]=ol(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[f>>2]|0;i=g;return l|0}return 0}function el(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;h=i;i=i+32|0;m=h+20|0;l=h+16|0;k=h+12|0;f=h+8|0;g=h+4|0;j=h;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=c[m>>2];c[g>>2]=c[l>>2];c[j>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==0?(c[(c[j>>2]|0)+16>>2]|0)>>>0<=(c[(c[j>>2]|0)+4>>2]|0)>>>0:0){d=c[g>>2]|0;e=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){c[(c[e+20>>2]|0)+28>>2]=d;c[(c[g>>2]|0)+24>>2]=c[(c[j>>2]|0)+20>>2];c[(c[j>>2]|0)+20>>2]=c[g>>2]}else{c[e+24>>2]=d;c[(c[j>>2]|0)+20>>2]=c[g>>2]}m=(c[f>>2]|0)+32|0;c[m>>2]=(c[m>>2]|0)+1;a[(c[g>>2]|0)+12>>0]=0;i=h;return}ll(c[g>>2]|0);ml(c[g>>2]|0);i=h;return}function fl(a,b,d,e){a=a|0;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,o=0;f=i;i=i+32|0;o=f+28|0;n=f+24|0;m=f+20|0;j=f+16|0;k=f+12|0;g=f+8|0;h=f+4|0;l=f;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=c[o>>2];c[g>>2]=c[n>>2];c[l>>2]=((c[m>>2]|0)>>>0)%((c[(c[k>>2]|0)+40>>2]|0)>>>0)|0;c[h>>2]=(c[(c[k>>2]|0)+44>>2]|0)+(c[l>>2]<<2);while(1){if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+16}c[c[h>>2]>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[j>>2]|0)>>>0)%((c[(c[k>>2]|0)+40>>2]|0)>>>0)|0;c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[(c[(c[k>>2]|0)+44>>2]|0)+(c[l>>2]<<2)>>2];c[(c[(c[k>>2]|0)+44>>2]|0)+(c[l>>2]<<2)>>2]=c[g>>2];if((c[j>>2]|0)>>>0<=(c[(c[k>>2]|0)+28>>2]|0)>>>0){i=f;return}c[(c[k>>2]|0)+28>>2]=c[j>>2];i=f;return}function gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];if((c[f>>2]|0)>>>0>(c[(c[e>>2]|0)+28>>2]|0)>>>0){i=d;return}nl(c[e>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+28>>2]=(c[f>>2]|0)-1;i=d;return}function hl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];nl(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);jl(c[e>>2]|0);hc(c[(c[d>>2]|0)+44>>2]|0);hc(c[d>>2]|0);i=b;return}function il(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;g=b+12|0;d=b+8|0;e=b+4|0;f=b;c[g>>2]=a;c[d>>2]=c[g>>2];if(!(c[(c[d>>2]|0)+12>>2]|0)){i=b;return}c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=0;jl(c[e>>2]|0);c[(c[e>>2]|0)+4>>2]=c[f>>2];i=b;return}function jl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=(c[(c[d>>2]|0)+4>>2]|0)>>>0){a=5;break}if(!(c[(c[d>>2]|0)+24>>2]|0)){a=5;break}c[e>>2]=c[(c[d>>2]|0)+24>>2];kl(c[e>>2]|0);ll(c[e>>2]|0);ml(c[e>>2]|0)}if((a|0)==5){i=b;return}}function kl(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];c[g>>2]=c[c[e>>2]>>2];b=c[(c[d>>2]|0)+24>>2]|0;if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=b;else c[(c[g>>2]|0)+20>>2]=b;b=c[(c[d>>2]|0)+28>>2]|0;if(c[(c[d>>2]|0)+24>>2]|0)c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=b;else c[(c[g>>2]|0)+24>>2]=b;c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[e>>2]|0)+32|0;c[b>>2]=(c[b>>2]|0)+ -1;i=f;return}function ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+20>>2];c[g>>2]=((c[(c[f>>2]|0)+8>>2]|0)>>>0)%((c[(c[d>>2]|0)+40>>2]|0)>>>0)|0;c[b>>2]=(c[(c[d>>2]|0)+44>>2]|0)+(c[g>>2]<<2);while(1){a=(c[c[b>>2]>>2]|0)+16|0;if((c[c[b>>2]>>2]|0)==(c[f>>2]|0))break;c[b>>2]=a}c[c[b>>2]>>2]=c[a>>2];g=(c[d>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+ -1;i=e;return}function ml(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;if(!(c[e>>2]|0)){i=b;return}c[d>>2]=c[(c[e>>2]|0)+20>>2];Mg(c[c[e>>2]>>2]|0)|0;if(!(c[(c[d>>2]|0)+12>>2]|0)){i=b;return}e=(c[c[d>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+ -1;i=b;return}function nl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;h=e+16|0;k=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=b;c[k>>2]=d;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[(c[h>>2]|0)+40>>2]|0)>>>0)break;c[f>>2]=(c[(c[h>>2]|0)+44>>2]|0)+(c[j>>2]<<2);while(1){b=c[c[f>>2]>>2]|0;c[g>>2]=b;if(!b)break;if((c[(c[g>>2]|0)+8>>2]|0)>>>0<(c[k>>2]|0)>>>0){c[f>>2]=(c[g>>2]|0)+16;continue}b=(c[h>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+ -1;c[c[f>>2]>>2]=c[(c[g>>2]|0)+16>>2];if(!(a[(c[g>>2]|0)+12>>0]|0))kl(c[g>>2]|0);ml(c[g>>2]|0)}c[j>>2]=(c[j>>2]|0)+1}i=e;return}function ol(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,o=0,p=0;o=i;i=i+48|0;n=o+32|0;k=o+28|0;f=o+24|0;l=o+20|0;p=o+16|0;h=o+12|0;g=o+8|0;j=o+4|0;m=o;c[k>>2]=b;c[f>>2]=d;c[l>>2]=e;c[h>>2]=c[c[k>>2]>>2];c[g>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+36>>2]|0)-(c[(c[k>>2]|0)+32>>2]|0);do if((c[l>>2]|0)==1){if((c[p>>2]|0)>>>0<(c[(c[h>>2]|0)+12>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[(c[k>>2]|0)+24>>2]|0)>>>0:0){if(!(pl(c[k>>2]|0)|0))break;if((c[(c[k>>2]|0)+32>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break}c[n>>2]=0;b=c[n>>2]|0;i=o;return b|0}while(0);if((c[(c[k>>2]|0)+36>>2]|0)>>>0>=(c[(c[k>>2]|0)+40>>2]|0)>>>0)ql(c[k>>2]|0);do if((c[(c[k>>2]|0)+12>>2]|0)!=0?(c[(c[h>>2]|0)+24>>2]|0)!=0:0){if((((c[(c[k>>2]|0)+36>>2]|0)+1|0)>>>0<(c[(c[k>>2]|0)+20>>2]|0)>>>0?(c[(c[h>>2]|0)+16>>2]|0)>>>0<(c[(c[h>>2]|0)+4>>2]|0)>>>0:0)?(pl(c[k>>2]|0)|0)==0:0)break;c[g>>2]=c[(c[h>>2]|0)+24>>2];ll(c[g>>2]|0);kl(c[g>>2]|0);c[j>>2]=c[(c[g>>2]|0)+20>>2];if(((c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0)|0)!=((c[(c[k>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0)){ml(c[g>>2]|0);c[g>>2]=0;break}else{b=(c[h>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)-((c[(c[j>>2]|0)+12>>2]|0)-(c[(c[k>>2]|0)+12>>2]|0));break}}while(0);if(!(c[g>>2]|0)){if((c[l>>2]|0)==1)kh();c[g>>2]=rl(c[k>>2]|0)|0;if((c[l>>2]|0)==1)lh()}if((c[g>>2]|0)!=0?(c[m>>2]=((c[f>>2]|0)>>>0)%((c[(c[k>>2]|0)+40>>2]|0)>>>0)|0,b=(c[k>>2]|0)+36|0,c[b>>2]=(c[b>>2]|0)+1,c[(c[g>>2]|0)+8>>2]=c[f>>2],c[(c[g>>2]|0)+16>>2]=c[(c[(c[k>>2]|0)+44>>2]|0)+(c[m>>2]<<2)>>2],c[(c[g>>2]|0)+20>>2]=c[k>>2],c[(c[g>>2]|0)+28>>2]=0,c[(c[g>>2]|0)+24>>2]=0,a[(c[g>>2]|0)+12>>0]=1,c[c[(c[g>>2]|0)+4>>2]>>2]=0,c[(c[(c[k>>2]|0)+44>>2]|0)+(c[m>>2]<<2)>>2]=c[g>>2],(c[f>>2]|0)>>>0>(c[(c[k>>2]|0)+28>>2]|0)>>>0):0)c[(c[k>>2]|0)+28>>2]=c[f>>2];c[n>>2]=c[g>>2];b=c[n>>2]|0;i=o;return b|0}function pl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if((c[793]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[792]|0):0){c[d>>2]=c[800];e=c[d>>2]|0;i=b;return e|0}c[d>>2]=sl()|0;e=c[d>>2]|0;i=b;return e|0}function ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+24|0;e=b+20|0;f=b+16|0;j=b+12|0;h=b+8|0;g=b+4|0;k=b;c[d>>2]=a;a=c[(c[d>>2]|0)+40>>2]<<1;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)>>>0<256?256:a;if(c[(c[d>>2]|0)+40>>2]|0)kh();c[e>>2]=Mc(c[f>>2]<<2,0)|0;if(c[(c[d>>2]|0)+40>>2]|0)lh();if(!(c[e>>2]|0)){i=b;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[(c[d>>2]|0)+40>>2]|0)>>>0)break;c[g>>2]=c[(c[(c[d>>2]|0)+44>>2]|0)+(c[j>>2]<<2)>>2];while(1){a=c[g>>2]|0;c[h>>2]=a;if(!a)break;c[k>>2]=((c[(c[h>>2]|0)+8>>2]|0)>>>0)%((c[f>>2]|0)>>>0)|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+(c[k>>2]<<2)>>2];c[(c[e>>2]|0)+(c[k>>2]<<2)>>2]=c[h>>2]}c[j>>2]=(c[j>>2]|0)+1}hc(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=c[e>>2];c[(c[d>>2]|0)+40>>2]=c[f>>2];i=b;return}function rl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;f=b+8|0;e=b+4|0;g=b;c[f>>2]=a;c[e>>2]=0;c[g>>2]=Ug(32+(c[(c[f>>2]|0)+4>>2]|0)+(c[(c[f>>2]|0)+8>>2]|0)|0)|0;c[e>>2]=(c[g>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[c[e>>2]>>2]=c[g>>2];c[(c[e>>2]|0)+4>>2]=(c[e>>2]|0)+32;if(c[(c[f>>2]|0)+12>>2]|0){g=(c[c[f>>2]>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[e>>2];g=c[d>>2]|0;i=b;return g|0}function sl(){return c[43]|0}function tl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b;f=b+8|0;d=b+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[d>>2]=QE((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[d>>2]|0){f=c[d>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[d>>2]=(c[d>>2]|0)+8;f=c[d>>2]|0;i=b;return f|0}else{c[e>>2]=a;tc(7,6192,e);f=c[d>>2]|0;i=b;return f|0}return 0}function ul(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+ -8;RE(c[d>>2]|0);i=b;return}function vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;g=d;h=d+16|0;f=d+12|0;e=d+8|0;c[h>>2]=a;c[f>>2]=b;c[e>>2]=c[h>>2];c[e>>2]=(c[e>>2]|0)+ -8;c[e>>2]=SE(c[e>>2]|0,(c[f>>2]|0)+8|0)|0;if(c[e>>2]|0){h=c[f>>2]|0;a=c[e>>2]|0;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[e>>2]=(c[e>>2]|0)+8;a=c[e>>2]|0;i=d;return a|0}else{h=wl(c[h>>2]|0)|0;a=c[f>>2]|0;c[g>>2]=h;c[g+4>>2]=a;tc(7,6152,g);a=c[e>>2]|0;i=d;return a|0}return 0}function wl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;f=b+4|0;e=b;c[f>>2]=a;if(!(c[f>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}else{c[e>>2]=c[f>>2];c[e>>2]=(c[e>>2]|0)+ -8;c[d>>2]=c[c[e>>2]>>2];f=c[d>>2]|0;i=b;return f|0}return 0}function xl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return(c[b>>2]|0)+7&-8|0}function yl(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function zl(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Al(b,e,f){b=b|0;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;p=i;i=i+64|0;h=p+52|0;v=p+48|0;t=p+44|0;l=p+40|0;q=p+36|0;k=p+32|0;j=p+28|0;s=p+24|0;g=p+20|0;o=p+16|0;m=p+12|0;n=p+8|0;r=p+4|0;u=p;c[h>>2]=b;c[v>>2]=e;c[t>>2]=f;c[g>>2]=0;c[o>>2]=0;if((Nd(c[c[t>>2]>>2]|0)|0)==5){i=p;return}c[l>>2]=Ed(c[c[t>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=p;return}c[k>>2]=Fd(c[c[t>>2]>>2]|0)|0;a:do if((c[v>>2]|0)!=1){b=Ed(c[(c[t>>2]|0)+4>>2]|0)|0;c[q>>2]=b;if(!b){i=p;return}c[n>>2]=c[q>>2];c[m>>2]=0;while(1){if(!(a[c[n>>2]>>0]|0))break;b=c[n>>2]|0;c[n>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[n>>2]>>0]&192|0)!=128)break b;c[n>>2]=(c[n>>2]|0)+1}while(0);c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>0){e=c[h>>2]|0;b=c[m>>2]|0;b=lF(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[o>>2]=$m(e,b,D)|0;if(!(c[o>>2]|0)){i=p;return}c[g>>2]=(c[o>>2]|0)+(c[m>>2]<<2);c[n>>2]=c[q>>2];c[m>>2]=0;while(1){if(!(a[c[n>>2]>>0]|0))break a;c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]=c[n>>2];b=c[n>>2]|0;c[n>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[n>>2]>>0]&192|0)!=128)break c;c[n>>2]=(c[n>>2]|0)+1}while(0);a[(c[g>>2]|0)+(c[m>>2]|0)>>0]=(c[n>>2]|0)-(c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}}else{c[m>>2]=1;c[g>>2]=9896;c[o>>2]=9904;c[q>>2]=0}while(0);if((c[m>>2]|0)>0){c[j>>2]=oe(c[h>>2]|0)|0;d:do if((c[j>>2]&1|0)!=0&(c[k>>2]|0)>0)do{c[r>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[r>>2]=d[(c[g>>2]|0)+(c[s>>2]|0)>>0];if((c[r>>2]|0)<=(c[k>>2]|0)?(TE(c[l>>2]|0,c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]|0,c[r>>2]|0)|0)==0:0)break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)>=(c[m>>2]|0))break d;c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[r>>2]|0)}while((c[k>>2]|0)>0);while(0);e:do if((c[j>>2]&2|0)!=0&(c[k>>2]|0)>0)do{c[u>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[u>>2]=d[(c[g>>2]|0)+(c[s>>2]|0)>>0];if((c[u>>2]|0)<=(c[k>>2]|0)?(TE((c[l>>2]|0)+((c[k>>2]|0)-(c[u>>2]|0))|0,c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]|0,c[u>>2]|0)|0)==0:0)break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)>=(c[m>>2]|0))break e;c[k>>2]=(c[k>>2]|0)-(c[u>>2]|0)}while((c[k>>2]|0)>0);while(0);if(c[q>>2]|0)hc(c[o>>2]|0)}$d(c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,-1);i=p;return}function Bl(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,l=0,m=0,n=0;l=i;i=i+32|0;g=l+24|0;n=l+20|0;h=l+16|0;k=l+12|0;m=l+8|0;j=l+4|0;e=l;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;a=(oe(c[g>>2]|0)|0)==0;c[m>>2]=a?0:-1;c[e>>2]=an(c[g>>2]|0)|0;c[j>>2]=0;if((Nd(c[c[h>>2]>>2]|0)|0)==5){i=l;return}c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;if((Nd(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)==5){f=9;break}a=bn(c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0,c[e>>2]|0)|0;if((a^c[m>>2]|0)>=0)c[j>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+1}if((f|0)==9){i=l;return}be(c[g>>2]|0,c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0);i=l;return}function Cl(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;g=l+28|0;n=l+20|0;j=l+16|0;h=l+12|0;f=l+8|0;m=l+4|0;k=l;c[g>>2]=a;c[l+24>>2]=d;c[n>>2]=e;c[j>>2]=c[c[n>>2]>>2];c[h>>2]=qe(c[g>>2]|0,40)|0;if(!(c[h>>2]|0)){i=l;return}a=(Nd(c[c[n>>2]>>2]|0)|0)==5;e=(b[(c[h>>2]|0)+8>>1]|0)!=0;if(a){if(!e){i=l;return}ln(c[g>>2]|0);i=l;return}n=c[g>>2]|0;if(!e){a=pe(n)|0;c[(c[h>>2]|0)+32>>2]=a;ce(c[h>>2]|0,c[j>>2]|0)|0;i=l;return}c[k>>2]=an(n)|0;c[f>>2]=(oe(c[g>>2]|0)|0)!=0&1;c[m>>2]=bn(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(!((c[f>>2]|0)!=0&(c[m>>2]|0)<0)?!((c[f>>2]|0)==0&(c[m>>2]|0)>0):0){ln(c[g>>2]|0);i=l;return}ce(c[h>>2]|0,c[j>>2]|0)|0;i=l;return}function Dl(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=qe(c[f>>2]|0,0)|0;if(!(c[e>>2]|0)){i=d;return}if(b[(c[e>>2]|0)+8>>1]|0)be(c[f>>2]|0,c[e>>2]|0);Bd(c[e>>2]|0);i=d;return}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=0;d=Nd(c[c[h>>2]>>2]|0)|0;if((d|0)==3)c[f>>2]=9864;else if((d|0)==2)c[f>>2]=9872;else if((d|0)==4)c[f>>2]=9880;else if((d|0)==1)c[f>>2]=9856;else c[f>>2]=9888;$d(c[g>>2]|0,c[f>>2]|0,-1,0);i=e;return}function Fl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g+8|0;j=g+4|0;k=g;c[h>>2]=b;c[g+12>>2]=e;c[l>>2]=f;f=Nd(c[c[l>>2]>>2]|0)|0;if((f|0)==3){c[k>>2]=Ed(c[c[l>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=g;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}Wd(c[h>>2]|0,c[j>>2]|0);i=g;return}else if((f|0)==2|(f|0)==1|(f|0)==4){b=c[h>>2]|0;Wd(b,Fd(c[c[l>>2]>>2]|0)|0);i=g;return}else{Zd(c[h>>2]|0);i=g;return}}function Gl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+48|0;l=m+40|0;o=m+32|0;f=m+28|0;n=m+24|0;k=m+20|0;j=m+16|0;p=m+12|0;q=m+8|0;h=m+4|0;g=m;c[l>>2]=a;c[m+36>>2]=b;c[o>>2]=e;c[h>>2]=1;c[p>>2]=Nd(c[c[o>>2]>>2]|0)|0;c[q>>2]=Nd(c[(c[o>>2]|0)+4>>2]|0)|0;if((c[p>>2]|0)==5|(c[q>>2]|0)==5){i=m;return}c[k>>2]=Fd(c[c[o>>2]>>2]|0)|0;c[j>>2]=Fd(c[(c[o>>2]|0)+4>>2]|0)|0;e=c[c[o>>2]>>2]|0;if((c[p>>2]|0)==4&(c[q>>2]|0)==4){c[f>>2]=Cd(e)|0;c[n>>2]=Cd(c[(c[o>>2]|0)+4>>2]|0)|0;c[g>>2]=0}else{c[f>>2]=Ed(e)|0;c[n>>2]=Ed(c[(c[o>>2]|0)+4>>2]|0)|0;c[g>>2]=1}a:while(1){if((c[j>>2]|0)>(c[k>>2]|0))break;if(!(TE(c[f>>2]|0,c[n>>2]|0,c[j>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+ -1;c[f>>2]=(c[f>>2]|0)+1;if(!(c[g>>2]|0))continue a;if(((d[c[f>>2]>>0]|0)&192|0)!=128)continue a}}if((c[j>>2]|0)>(c[k>>2]|0))c[h>>2]=0;Wd(c[l>>2]|0,c[h>>2]|0);i=m;return}function Hl(b,e,f){b=b|0;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;l=i;i=i+48|0;k=l+44|0;r=l+40|0;p=l+36|0;g=l+32|0;m=l+28|0;n=l+24|0;o=l+20|0;j=l+8|0;h=l;q=l+16|0;c[k>>2]=b;c[r>>2]=e;c[p>>2]=f;c[q>>2]=0;if((Nd(c[(c[p>>2]|0)+4>>2]|0)|0)==5){i=l;return}if((c[r>>2]|0)==3?(Nd(c[(c[p>>2]|0)+8>>2]|0)|0)==5:0){i=l;return}c[o>>2]=Nd(c[c[p>>2]>>2]|0)|0;b=Jd(c[(c[p>>2]|0)+4>>2]|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;f=c[c[p>>2]>>2]|0;a:do if((c[o>>2]|0)==4){c[n>>2]=Fd(f)|0;c[g>>2]=Cd(c[c[p>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=l;return}}else{c[g>>2]=Ed(f)|0;if(!(c[g>>2]|0)){i=l;return}c[n>>2]=0;if((c[j+4>>2]|0)<0){c[m>>2]=c[g>>2];while(1){if(!(a[c[m>>2]>>0]|0))break a;b=c[m>>2]|0;c[m>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[m>>2]>>0]&192|0)!=128)break b;c[m>>2]=(c[m>>2]|0)+1}while(0);c[n>>2]=(c[n>>2]|0)+1}}}while(0);if((c[r>>2]|0)==3){e=Jd(c[(c[p>>2]|0)+8>>2]|0)|0;b=h;c[b>>2]=e;c[b+4>>2]=((e|0)<0)<<31>>31;if((c[h+4>>2]|0)<0){e=h;e=ZE(0,0,c[e>>2]|0,c[e+4>>2]|0)|0;b=h;c[b>>2]=e;c[b+4>>2]=D;c[q>>2]=1}}else{e=c[(pe(c[k>>2]|0)|0)+88>>2]|0;b=h;c[b>>2]=e;c[b+4>>2]=((e|0)<0)<<31>>31}do if((c[j+4>>2]|0)<0){e=c[n>>2]|0;b=j;e=bF(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=e;c[b+4>>2]=D;if((c[j+4>>2]|0)<0){r=j;e=h;r=bF(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;e=D;f=h;c[f>>2]=r;c[f+4>>2]=e;f=(c[h+4>>2]|0)<0;b=h;c[b>>2]=f?0:r;c[b+4>>2]=f?0:e;b=j;c[b>>2]=0;c[b+4>>2]=0}}else{b=j;e=c[b+4>>2]|0;if((e|0)>0|(e|0)==0&(c[b>>2]|0)>>>0>0){e=j;e=bF(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;b=j;c[b>>2]=e;c[b+4>>2]=D;break}b=h;e=c[b+4>>2]|0;if((e|0)>0|(e|0)==0&(c[b>>2]|0)>>>0>0){e=h;e=bF(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;b=h;c[b>>2]=e;c[b+4>>2]=D}}while(0);if((c[q>>2]|0)!=0?(e=h,b=j,e=ZE(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0,b=j,c[b>>2]=e,c[b+4>>2]=D,(c[j+4>>2]|0)<0):0){e=j;b=h;e=bF(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;b=h;c[b>>2]=e;c[b+4>>2]=D;b=j;c[b>>2]=0;c[b+4>>2]=0}if((c[o>>2]|0)==4){r=j;e=h;e=bF(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;r=D;b=c[n>>2]|0;f=((b|0)<0)<<31>>31;if((r|0)>(f|0)|(r|0)==(f|0)&e>>>0>b>>>0){e=c[n>>2]|0;r=j;r=ZE(e|0,((e|0)<0)<<31>>31|0,c[r>>2]|0,c[r+4>>2]|0)|0;e=D;f=h;c[f>>2]=r;c[f+4>>2]=e;f=(c[h+4>>2]|0)<0;b=h;c[b>>2]=f?0:r;c[b+4>>2]=f?0:e}b=h;Qd(c[k>>2]|0,(c[g>>2]|0)+(c[j>>2]|0)|0,c[b>>2]|0,c[b+4>>2]|0,-1);i=l;return}while(1){if(d[c[g>>2]>>0]|0){o=j;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0}else o=0;n=c[g>>2]|0;if(!o)break;c[g>>2]=n+1;c:do if((d[n>>0]|0)>=192)while(1){if((d[c[g>>2]>>0]&192|0)!=128)break c;c[g>>2]=(c[g>>2]|0)+1}while(0);e=j;e=bF(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;b=j;c[b>>2]=e;c[b+4>>2]=D}c[m>>2]=n;while(1){b=h;if(!((d[c[m>>2]>>0]|0)!=0&((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)))break;b=c[m>>2]|0;c[m>>2]=b+1;d:do if((d[b>>0]|0)>=192)while(1){if((d[c[m>>2]>>0]&192|0)!=128)break d;c[m>>2]=(c[m>>2]|0)+1}while(0);e=h;e=bF(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;b=h;c[b>>2]=e;c[b+4>>2]=D}b=(c[m>>2]|0)-(c[g>>2]|0)|0;ae(c[k>>2]|0,c[g>>2]|0,b,((b|0)<0)<<31>>31,-1,1);i=l;return}function Il(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,l=0,m=0,n=0;k=i;i=i+64|0;m=k;e=k+60|0;f=k+56|0;h=k+52|0;g=k+40|0;j=k+12|0;l=k+8|0;n=k+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;if((c[f>>2]|0)<1){i=k;return}a=Ed(c[c[h>>2]>>2]|0)|0;c[l>>2]=a;if(!a){i=k;return}c[g>>2]=(c[f>>2]|0)-1;c[g+4>>2]=0;c[g+8>>2]=(c[h>>2]|0)+4;nc(j,0,0,1e9);c[j>>2]=pe(c[e>>2]|0)|0;b=c[l>>2]|0;c[m>>2]=g;kn(j,2,b,m);c[n>>2]=c[j+12>>2];b=c[e>>2]|0;a=pc(j)|0;$d(b,a,c[n>>2]|0,16);i=k;return}function Jl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+4|0;h=f;c[g>>2]=a;c[f+8>>2]=b;c[j>>2]=e;c[h>>2]=Ed(c[c[j>>2]>>2]|0)|0;if(!(c[h>>2]|0)){i=f;return}if(!(d[c[h>>2]>>0]|0)){i=f;return}j=c[g>>2]|0;Wd(j,Um(h)|0);i=f;return}function Kl(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,o=0,p=0;m=i;i=i+48|0;g=m+32|0;o=m+28|0;k=m+24|0;j=m+20|0;h=m+16|0;l=m+12|0;f=m;n=m+8|0;c[g>>2]=b;c[o>>2]=d;c[k>>2]=e;b=fc((c[o>>2]<<2)+1|0)|0;c[j>>2]=b;c[h>>2]=b;if(!(c[j>>2]|0)){ie(c[g>>2]|0);i=m;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;p=Ld(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;b=D;e=f;c[e>>2]=p;c[e+4>>2]=b;e=f;d=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=f;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[n>>2]=c[f>>2]&2097151;d=c[n>>2]|0;do if((c[n>>2]|0)>>>0>=128){e=c[n>>2]|0;if(d>>>0<2048){b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[n>>2]&63)&255;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;break}d=c[n>>2]|0;if(e>>>0<65536){p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[n>>2]|0)>>>6&63)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=p;b=128+(c[n>>2]&63)&255;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;break}else{b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[n>>2]|0)>>>12&63)&255;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;p=128+((c[n>>2]|0)>>>6&63)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=p;b=128+(c[n>>2]&63)&255;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;break}}else{p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=d}while(0);c[l>>2]=(c[l>>2]|0)+1}p=(c[h>>2]|0)-(c[j>>2]|0)|0;ae(c[g>>2]|0,c[j>>2]|0,p,((p|0)<0)<<31>>31,13,1);i=m;return}function Ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;e=i;i=i+32|0;f=e+24|0;j=e+16|0;g=e+8|0;k=e;c[f>>2]=a;c[e+20>>2]=b;c[j>>2]=d;d=Nd(c[c[j>>2]>>2]|0)|0;if((d|0)==1){b=Ld(c[c[j>>2]>>2]|0)|0;a=g;c[a>>2]=b;c[a+4>>2]=D;do if((c[g+4>>2]|0)<0){a=g;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){b=g;b=ZE(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;a=g;c[a>>2]=b;c[a+4>>2]=D;break}Ud(c[f>>2]|0,9784,-1);i=e;return}while(0);a=g;Yd(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}else if((d|0)==5){Zd(c[f>>2]|0);i=e;return}else{h[k>>3]=+Hd(c[c[j>>2]>>2]|0);if(+h[k>>3]<0.0)h[k>>3]=-+h[k>>3];Sd(c[f>>2]|0,+h[k>>3]);i=e;return}}function Ml(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0.0;e=i;i=i+48|0;l=e+8|0;f=e+36|0;o=e+32|0;n=e+28|0;j=e+24|0;g=e;m=e+20|0;c[f>>2]=a;c[o>>2]=b;c[n>>2]=d;c[j>>2]=0;do if((c[o>>2]|0)==2)if(5==(Nd(c[(c[n>>2]|0)+4>>2]|0)|0)){i=e;return}else{o=Jd(c[(c[n>>2]|0)+4>>2]|0)|0;c[j>>2]=o;o=(c[j>>2]|0)>30?30:o;c[j>>2]=o;c[j>>2]=(c[j>>2]|0)<0?0:o;break}while(0);if((Nd(c[c[n>>2]>>2]|0)|0)==5){i=e;return}h[g>>3]=+Hd(c[c[n>>2]>>2]|0);do if((c[j>>2]|0)==0&+h[g>>3]>=0.0&+h[g>>3]<9223372036854776000.0){p=+h[g>>3]+.5;h[g>>3]=+(~~p>>>0>>>0)+4294967296.0*+((+O(p)>=1.0?p>0.0?(ca(+N(p/4294967296.0),4294967295.0)|0)>>>0:~~+_((p- +(~~p>>>0))/4294967296.0)>>>0:0)|0)}else{if((c[j>>2]|0)==0&+h[g>>3]<0.0?-+h[g>>3]<9223372036854776000.0:0){p=-+h[g>>3]+.5;h[g>>3]=-(+(~~p>>>0>>>0)+4294967296.0*+((+O(p)>=1.0?p>0.0?(ca(+N(p/4294967296.0),4294967295.0)|0)>>>0:~~+_((p- +(~~p>>>0))/4294967296.0)>>>0:0)|0));break}p=+h[g>>3];c[l>>2]=c[j>>2];o=l+4|0;h[k>>3]=p;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[m>>2]=qc(9848,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;Lm(o,g,Mb(c[m>>2]|0)|0,1)|0;hc(c[m>>2]|0);break}ie(c[f>>2]|0);i=e;return}while(0);Sd(c[f>>2]|0,+h[g>>3]);i=e;return}function Nl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+24|0;n=g+16|0;j=g+12|0;m=g+8|0;l=g+4|0;k=g;c[h>>2]=b;c[g+20>>2]=e;c[n>>2]=f;c[m>>2]=Ed(c[c[n>>2]>>2]|0)|0;c[k>>2]=Fd(c[c[n>>2]>>2]|0)|0;if(!(c[m>>2]|0)){i=g;return}b=c[h>>2]|0;n=c[k>>2]|0;n=bF(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[j>>2]=$m(b,n,D)|0;if(!(c[j>>2]|0)){i=g;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;a[(c[j>>2]|0)+(c[l>>2]|0)>>0]=a[(c[m>>2]|0)+(c[l>>2]|0)>>0]&~(d[1224+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&32);c[l>>2]=(c[l>>2]|0)+1}$d(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,13);i=g;return}function Ol(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+24|0;n=g+16|0;j=g+12|0;m=g+8|0;l=g+4|0;k=g;c[h>>2]=b;c[g+20>>2]=e;c[n>>2]=f;c[m>>2]=Ed(c[c[n>>2]>>2]|0)|0;c[k>>2]=Fd(c[c[n>>2]>>2]|0)|0;if(!(c[m>>2]|0)){i=g;return}b=c[h>>2]|0;n=c[k>>2]|0;n=bF(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[j>>2]=$m(b,n,D)|0;if(!(c[j>>2]|0)){i=g;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;a[(c[j>>2]|0)+(c[l>>2]|0)>>0]=a[440+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}$d(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,13);i=g;return}function Pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;$d(a,uf()|0,-1,0);i=e;return}function Ql(b,e,f){b=b|0;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;l=i;i=i+48|0;j=l+28|0;p=l+20|0;m=l+16|0;g=l+12|0;n=l+8|0;k=l+4|0;h=l;o=l+32|0;c[j>>2]=b;c[l+24>>2]=e;c[p>>2]=f;c[n>>2]=Cd(c[c[p>>2]>>2]|0)|0;c[g>>2]=Fd(c[c[p>>2]>>2]|0)|0;e=c[j>>2]|0;b=c[g>>2]|0;b=lF(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=bF(b|0,D|0,1,0)|0;b=$m(e,b,D)|0;c[k>>2]=b;c[h>>2]=b;if(!(c[k>>2]|0)){i=l;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;a[o>>0]=a[c[n>>2]>>0]|0;p=a[9824+((d[o>>0]|0)>>4&15)>>0]|0;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=p;b=a[9824+((d[o>>0]|0)&15)>>0]|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=b;c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}a[c[h>>2]>>0]=0;$d(c[j>>2]|0,c[k>>2]|0,c[g>>2]<<1,13);i=l;return}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e+16|0;g=e;c[f>>2]=a;c[e+12>>2]=b;c[e+8>>2]=d;vc(8,g);if((c[g+4>>2]|0)<0){b=g;b=ZE(0,0,c[b>>2]|0,c[b+4>>2]&2147483647|0)|0;a=g;c[a>>2]=b;c[a+4>>2]=D}a=g;Yd(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[e+12>>2]=b;c[j>>2]=d;a=Jd(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=$m(c[h>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=e;return}vc(c[f>>2]|0,c[g>>2]|0);Od(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,13);i=e;return}function Tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;g=e+4|0;h=e;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=d;c[h>>2]=an(c[f>>2]|0)|0;if(!(bn(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=e;return}be(c[f>>2]|0,c[c[g>>2]>>2]|0);i=e;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;$d(a,vf()|0,-1,0);i=e;return}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=Jd(c[c[g>>2]>>2]|0)|0;c[f>>2]=Ed(c[(c[g>>2]|0)+4>>2]|0)|0;tc(a,1200,f);i=e;return}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;h=e+4|0;g=e;c[f>>2]=a;c[e+8>>2]=b;c[h>>2]=d;a=Ed(c[c[h>>2]>>2]|0)|0;c[g>>2]=a;if(!a){i=e;return}h=c[f>>2]|0;Wd(h,Kb(c[g>>2]|0)|0);i=e;return}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=Jd(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;$d(a,Ob(c[f>>2]|0)|0,-1,0);i=e;return}function Yl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=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;s=i;i=i+128|0;m=s+24|0;l=s+72|0;p=s+64|0;n=s+16|0;o=s+8|0;r=s+76|0;q=s+60|0;t=s+56|0;g=s+52|0;j=s+48|0;v=s+44|0;w=s+40|0;x=s;y=s+36|0;u=s+32|0;c[l>>2]=b;c[s+68>>2]=e;c[p>>2]=f;f=Nd(c[c[p>>2]>>2]|0)|0;if((f|0)==2){h[n>>3]=+Hd(c[c[p>>2]>>2]|0);h[k>>3]=+h[n>>3];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];sc(50,r,9808,m)|0;Lm(r,o,20,1)|0;if(+h[n>>3]!=+h[o>>3]){h[k>>3]=+h[n>>3];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];sc(50,r,9816,m)|0}$d(c[l>>2]|0,r,-1,-1);i=s;return}else if((f|0)==4){c[q>>2]=0;c[t>>2]=Cd(c[c[p>>2]>>2]|0)|0;c[g>>2]=Fd(c[c[p>>2]>>2]|0)|0;e=c[l>>2]|0;b=c[g>>2]|0;b=lF(2,0,b|0,((b|0)<0)<<31>>31|0)|0;b=bF(b|0,D|0,4,0)|0;c[q>>2]=$m(e,b,D)|0;if(!(c[q>>2]|0)){i=s;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;a[(c[q>>2]|0)+((c[j>>2]<<1)+2)>>0]=a[9824+(a[(c[t>>2]|0)+(c[j>>2]|0)>>0]>>4&15)>>0]|0;a[(c[q>>2]|0)+((c[j>>2]<<1)+3)>>0]=a[9824+(a[(c[t>>2]|0)+(c[j>>2]|0)>>0]&15)>>0]|0;c[j>>2]=(c[j>>2]|0)+1}a[(c[q>>2]|0)+((c[g>>2]<<1)+2)>>0]=39;a[(c[q>>2]|0)+((c[g>>2]<<1)+3)>>0]=0;a[c[q>>2]>>0]=88;a[(c[q>>2]|0)+1>>0]=39;$d(c[l>>2]|0,c[q>>2]|0,-1,-1);hc(c[q>>2]|0);i=s;return}else if((f|0)==3){c[y>>2]=Ed(c[c[p>>2]>>2]|0)|0;if(!(c[y>>2]|0)){i=s;return}c[v>>2]=0;b=x;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(a[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0))break;if((d[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0)==39){e=x;e=bF(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=x;c[b>>2]=e;c[b+4>>2]=D}c[v>>2]=(c[v>>2]|0)+1}e=c[l>>2]|0;f=c[v>>2]|0;b=x;b=bF(f|0,((f|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=bF(b|0,D|0,3,0)|0;c[u>>2]=$m(e,b,D)|0;if(!(c[u>>2]|0)){i=s;return}a[c[u>>2]>>0]=39;c[v>>2]=0;c[w>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0))break;e=a[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0;b=c[w>>2]|0;c[w>>2]=b+1;a[(c[u>>2]|0)+b>>0]=e;if((d[(c[y>>2]|0)+(c[v>>2]|0)>>0]|0)==39){b=c[w>>2]|0;c[w>>2]=b+1;a[(c[u>>2]|0)+b>>0]=39}c[v>>2]=(c[v>>2]|0)+1}b=c[w>>2]|0;c[w>>2]=b+1;a[(c[u>>2]|0)+b>>0]=39;a[(c[u>>2]|0)+(c[w>>2]|0)>>0]=0;$d(c[l>>2]|0,c[u>>2]|0,c[w>>2]|0,13);i=s;return}else if((f|0)==1){be(c[l>>2]|0,c[c[p>>2]>>2]|0);i=s;return}else{$d(c[l>>2]|0,9840,4,0);i=s;return}}function Zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=pe(c[g>>2]|0)|0;b=c[g>>2]|0;a=Hf(c[f>>2]|0)|0;Yd(b,a,D);i=e;return}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=pe(c[g>>2]|0)|0;a=c[g>>2]|0;Wd(a,If(c[f>>2]|0)|0);i=e;return}function $l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=pe(c[g>>2]|0)|0;a=c[g>>2]|0;Wd(a,Jf(c[f>>2]|0)|0);i=e;return}function am(b,e,f){b=b|0;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;l=i;i=i+80|0;h=l+64|0;r=l+56|0;g=l+52|0;t=l+48|0;w=l+44|0;j=l+40|0;o=l+36|0;q=l+32|0;p=l+28|0;s=l;u=l+24|0;m=l+20|0;n=l+16|0;k=l+12|0;v=l+8|0;c[h>>2]=b;c[l+60>>2]=e;c[r>>2]=f;c[g>>2]=Ed(c[c[r>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=l;return}c[o>>2]=Fd(c[c[r>>2]>>2]|0)|0;c[t>>2]=Ed(c[(c[r>>2]|0)+4>>2]|0)|0;if(!(c[t>>2]|0)){i=l;return}if(!(d[c[t>>2]>>0]|0)){be(c[h>>2]|0,c[c[r>>2]>>2]|0);i=l;return}c[q>>2]=Fd(c[(c[r>>2]|0)+4>>2]|0)|0;c[w>>2]=Ed(c[(c[r>>2]|0)+8>>2]|0)|0;if(!(c[w>>2]|0)){i=l;return}c[p>>2]=Fd(c[(c[r>>2]|0)+8>>2]|0)|0;e=(c[o>>2]|0)+1|0;b=s;c[b>>2]=e;c[b+4>>2]=((e|0)<0)<<31>>31;b=s;c[j>>2]=$m(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}c[u>>2]=(c[o>>2]|0)-(c[q>>2]|0);c[n>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[u>>2]|0)){p=18;break}if((d[(c[g>>2]|0)+(c[m>>2]|0)>>0]|0|0)==(d[c[t>>2]>>0]|0|0)?(TE((c[g>>2]|0)+(c[m>>2]|0)|0,c[t>>2]|0,c[q>>2]|0)|0)==0:0){c[v>>2]=pe(c[h>>2]|0)|0;f=(c[p>>2]|0)-(c[q>>2]|0)|0;e=s;f=bF(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=s;c[e>>2]=f;c[e+4>>2]=D;e=s;e=ZE(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;f=D;b=c[(c[v>>2]|0)+88>>2]|0;r=((b|0)<0)<<31>>31;if((f|0)>(r|0)|(f|0)==(r|0)&e>>>0>b>>>0){p=13;break}c[k>>2]=c[j>>2];c[j>>2]=jc(c[j>>2]|0,c[s>>2]|0)|0;if(!(c[j>>2]|0)){p=15;break}dF((c[j>>2]|0)+(c[n>>2]|0)|0,c[w>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[p>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)-1)}else{e=a[(c[g>>2]|0)+(c[m>>2]|0)>>0]|0;b=c[n>>2]|0;c[n>>2]=b+1;a[(c[j>>2]|0)+b>>0]=e}c[m>>2]=(c[m>>2]|0)+1}if((p|0)==13){he(c[h>>2]|0);hc(c[j>>2]|0);i=l;return}else if((p|0)==15){ie(c[h>>2]|0);hc(c[k>>2]|0);i=l;return}else if((p|0)==18){dF((c[j>>2]|0)+(c[n>>2]|0)|0,(c[g>>2]|0)+(c[m>>2]|0)|0,(c[o>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)-(c[m>>2]|0));a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=0;$d(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0,13);i=l;return}}function bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+20|0;h=e+12|0;f=e;g=e+8|0;c[j>>2]=a;c[e+16>>2]=b;c[h>>2]=d;c[g>>2]=pe(c[j>>2]|0)|0;h=Ld(c[c[h>>2]>>2]|0)|0;b=f;c[b>>2]=h;c[b+4>>2]=D;b=f;h=c[b+4>>2]|0;a=c[(c[g>>2]|0)+88>>2]|0;g=((a|0)<0)<<31>>31;d=c[j>>2]|0;if((h|0)>(g|0)|((h|0)==(g|0)?(c[b>>2]|0)>>>0>a>>>0:0)){he(d);i=e;return}else{de(d,c[f>>2]|0);i=e;return}}function cm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;g=i;i=i+32|0;n=g+24|0;m=g+16|0;j=g+12|0;l=g+8|0;k=g;c[n>>2]=b;c[g+20>>2]=e;c[m>>2]=f;c[j>>2]=qe(c[n>>2]|0,32)|0;c[l>>2]=Oe(c[c[m>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[l>>2]|0)!=5)){i=g;return}f=(c[j>>2]|0)+16|0;n=f;n=bF(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;c[f>>2]=n;c[f+4>>2]=D;f=c[c[m>>2]>>2]|0;if((c[l>>2]|0)!=1){o=+Hd(f);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=g;return}n=Ld(f)|0;b=k;c[b>>2]=n;c[b+4>>2]=D;b=k;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=g;return}n=k;if(!(_m((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=g;return}a[(c[j>>2]|0)+24>>0]=1;i=g;return}function dm(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=qe(c[f>>2]|0,0)|0;if(!(c[e>>2]|0)){i=d;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=d;return}if(a[(c[e>>2]|0)+24>>0]|0){Ud(c[f>>2]|0,9784,-1);i=d;return}f=c[f>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){Sd(f,+h[b>>3]);i=d;return}else{g=b+8|0;Yd(f,c[g>>2]|0,c[g+4>>2]|0);i=d;return}}function em(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[d>>2]|0)){f=0.0;Sd(a,f);i=b;return}f=+h[c[d>>2]>>3];Sd(a,f);i=b;return}function fm(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qe(c[e>>2]|0,0)|0;if(!(c[d>>2]|0)){i=b;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=b;return}f=(c[d>>2]|0)+16|0;Sd(c[e>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=b;return}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[f>>2]=qe(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=e;return}}else{j=5!=(Nd(c[c[g>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=e;return}}j=c[f>>2]|0;h=j;h=bF(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=D;i=e;return}function hm(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[d>>2]|0)){d=0;e=0;Yd(a,d,e);i=b;return}e=c[d>>2]|0;d=c[e>>2]|0;e=c[e+4>>2]|0;Yd(a,d,e);i=b;return}function im(b,e,f){b=b|0;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;n=i;i=i+48|0;o=n+36|0;l=n+32|0;h=n+28|0;m=n+24|0;q=n+20|0;j=n+16|0;g=n+12|0;k=n+8|0;p=n+4|0;r=n;c[o>>2]=b;c[l>>2]=e;c[h>>2]=f;if((Nd(c[c[h>>2]>>2]|0)|0)==5){i=n;return}c[q>>2]=qe(c[o>>2]|0,28)|0;if(!(c[q>>2]|0)){i=n;return}c[p>>2]=pe(c[o>>2]|0)|0;c[r>>2]=(d[(c[q>>2]|0)+24>>0]|0|0)==0&1;a[(c[q>>2]|0)+24>>0]=2;c[(c[q>>2]|0)+20>>2]=c[(c[p>>2]|0)+88>>2];if(!(c[r>>2]|0)){if((c[l>>2]|0)==2){c[j>>2]=Ed(c[(c[h>>2]|0)+4>>2]|0)|0;c[k>>2]=Fd(c[(c[h>>2]|0)+4>>2]|0)|0}else{c[j>>2]=9776;c[k>>2]=1}if(c[k>>2]|0)Vm(c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)}c[m>>2]=Ed(c[c[h>>2]>>2]|0)|0;c[g>>2]=Fd(c[c[h>>2]>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}Vm(c[q>>2]|0,c[m>>2]|0,c[g>>2]|0);i=n;return}function jm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;f=b+4|0;e=b;c[f>>2]=a;c[e>>2]=qe(c[f>>2]|0,0)|0;if(!(c[e>>2]|0)){i=b;return}if((d[(c[e>>2]|0)+25>>0]|0|0)==2){he(c[f>>2]|0);i=b;return}a=c[f>>2]|0;if((d[(c[e>>2]|0)+25>>0]|0|0)==1){ie(a);i=b;return}else{$d(a,pc(c[e>>2]|0)|0,-1,13);i=b;return}}function km(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,l=0,m=0,n=0,o=0,p=0;k=i;i=i+48|0;f=k+36|0;n=k+32|0;l=k+28|0;g=k+24|0;h=k+20|0;e=k+16|0;p=k+12|0;o=k+8|0;j=k+4|0;m=k;c[f>>2]=a;c[n>>2]=b;c[l>>2]=d;c[e>>2]=0;c[o>>2]=pe(c[f>>2]|0)|0;c[h>>2]=Ed(c[c[l>>2]>>2]|0)|0;c[g>>2]=Ed(c[(c[l>>2]|0)+4>>2]|0)|0;c[p>>2]=Fd(c[c[l>>2]>>2]|0)|0;if((c[p>>2]|0)>(c[(c[o>>2]|0)+120>>2]|0)){Ud(c[f>>2]|0,9688,-1);i=k;return}do if((c[n>>2]|0)==3){c[j>>2]=Ed(c[(c[l>>2]|0)+8>>2]|0)|0;if(!(c[j>>2]|0)){i=k;return}if((Tm(c[j>>2]|0,-1)|0)==1){c[e>>2]=Um(j)|0;break}Ud(c[f>>2]|0,9728,-1);i=k;return}while(0);if(!((c[g>>2]|0)!=0&(c[h>>2]|0)!=0)){i=k;return}c[m>>2]=oe(c[f>>2]|0)|0;p=c[f>>2]|0;Wd(p,jf(c[h>>2]|0,c[g>>2]|0,c[m>>2]|0,c[e>>2]|0)|0);i=k;return}function lm(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=1576;c[e>>2]=9016;c[b>>2]=0;while(1){if((c[b>>2]|0)>=8)break;xk(c[d>>2]|0,(c[e>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}i=a;return}function mm(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=1576;c[e>>2]=8792;c[b>>2]=0;while(1){if((c[b>>2]|0)>=3)break;xk(c[d>>2]|0,(c[e>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}i=a;return}function nm(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,o=0,p=0,q=0,r=0,s=0;n=i;i=i+64|0;m=n;o=n+60|0;s=n+52|0;j=n+48|0;k=n+44|0;p=n+40|0;l=n+32|0;q=n+28|0;r=n+24|0;f=n+20|0;h=n+16|0;c[o>>2]=b;c[n+56>>2]=d;c[s>>2]=e;c[j>>2]=Ed(c[c[s>>2]>>2]|0)|0;c[k>>2]=Ed(c[(c[s>>2]|0)+4>>2]|0)|0;c[q>>2]=c[j>>2];c[r>>2]=0;c[h>>2]=pe(c[o>>2]|0)|0;if(!(c[j>>2]|0)){i=n;return}do{if(!(a[c[q>>2]>>0]|0)){g=7;break}c[l>>2]=c[q>>2];c[l+4>>2]=c[r>>2];do{c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=qm(c[q>>2]|0,p)|0}while((c[p>>2]|0)==151)}while((c[p>>2]|0)!=22&(c[p>>2]|0)!=125);if((g|0)==7){i=n;return}s=c[h>>2]|0;e=c[j>>2]|0;d=c[k>>2]|0;b=(c[l>>2]|0)+(c[l+4>>2]|0)|0;c[m>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[m+4>>2]=e;c[m+8>>2]=d;c[m+12>>2]=b;c[f>>2]=Te(s,9e3,m)|0;$d(c[o>>2]|0,c[f>>2]|0,-1,16);i=n;return}function om(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,o=0,p=0,q=0,r=0,s=0,t=0;o=i;i=i+80|0;q=o;s=o+68|0;t=o+60|0;f=o+56|0;p=o+52|0;j=o+48|0;m=o+40|0;h=o+32|0;k=o+28|0;l=o+24|0;r=o+20|0;n=o+16|0;c[s>>2]=b;c[o+64>>2]=d;c[t>>2]=e;c[f>>2]=Ed(c[c[t>>2]>>2]|0)|0;c[p>>2]=Ed(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[k>>2]=c[f>>2];c[l>>2]=0;c[n>>2]=pe(c[s>>2]|0)|0;if(!(c[f>>2]|0)){i=o;return}while(1){if(!(a[c[k>>2]>>0]|0)){g=8;break}c[m>>2]=c[k>>2];c[m+4>>2]=c[l>>2];do{c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);c[l>>2]=qm(c[k>>2]|0,j)|0}while((c[j>>2]|0)==151);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[j>>2]|0)==122|(c[j>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[j>>2]|0)!=137&(c[j>>2]|0)!=46&(c[j>>2]|0)!=5))break}if((g|0)==8){i=o;return}t=c[n>>2]|0;e=c[f>>2]|0;d=c[p>>2]|0;b=(c[m>>2]|0)+(c[m+4>>2]|0)|0;c[q>>2]=(c[m>>2]|0)-(c[f>>2]|0);c[q+4>>2]=e;c[q+8>>2]=d;c[q+12>>2]=b;c[r>>2]=Te(t,9e3,q)|0;$d(c[s>>2]|0,c[r>>2]|0,-1,16);i=o;return}function pm(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i;i=i+80|0;k=n;m=n+68|0;u=n+60|0;g=n+56|0;j=n+52|0;l=n+48|0;h=n+44|0;s=n+40|0;o=n+36|0;f=n+32|0;q=n+28|0;t=n+24|0;r=n+20|0;p=n+16|0;c[m>>2]=b;c[n+64>>2]=d;c[u>>2]=e;c[g>>2]=pe(c[m>>2]|0)|0;c[j>>2]=0;c[h>>2]=Ed(c[c[u>>2]>>2]|0)|0;c[s>>2]=Ed(c[(c[u>>2]|0)+4>>2]|0)|0;c[o>>2]=Ed(c[(c[u>>2]|0)+8>>2]|0)|0;if((c[h>>2]|0)==0|(c[s>>2]|0)==0){i=n;return}c[f>>2]=c[h>>2];while(1){if(!(a[c[f>>2]>>0]|0))break;c[q>>2]=qm(c[f>>2]|0,t)|0;if((c[t>>2]|0)==105){do{c[f>>2]=(c[f>>2]|0)+(c[q>>2]|0);c[q>>2]=qm(c[f>>2]|0,t)|0}while((c[t>>2]|0)==151);u=c[q>>2]|0;c[r>>2]=rm(c[g>>2]|0,c[f>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[r>>2]|0))break;sm(c[r>>2]|0)|0;if(!(xc(c[s>>2]|0,c[r>>2]|0)|0)){u=c[g>>2]|0;e=(c[f>>2]|0)-(c[h>>2]|0)|0;d=c[h>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[j>>2]|0)!=0?c[j>>2]|0:1216;c[k+4>>2]=e;c[k+8>>2]=d;c[k+12>>2]=b;c[p>>2]=Te(u,8976,k)|0;Xb(c[g>>2]|0,c[j>>2]|0);c[j>>2]=c[p>>2];c[h>>2]=(c[f>>2]|0)+(c[q>>2]|0)}Xb(c[g>>2]|0,c[r>>2]|0)}c[f>>2]=(c[f>>2]|0)+(c[q>>2]|0)}u=c[g>>2]|0;b=c[h>>2]|0;c[k>>2]=(c[j>>2]|0)!=0?c[j>>2]|0:1216;c[k+4>>2]=b;c[l>>2]=Te(u,8992,k)|0;$d(c[m>>2]|0,c[l>>2]|0,-1,16);Xb(c[g>>2]|0,c[j>>2]|0);i=n;return}function qm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;f=g+24|0;h=g+20|0;m=g+16|0;j=g+12|0;k=g+8|0;o=g+4|0;n=g;c[h>>2]=b;c[m>>2]=e;do switch(d[c[h>>2]>>0]|0){case 45:{if((d[(c[h>>2]|0)+1>>0]|0)!=45){c[c[m>>2]>>2]=90;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}c[j>>2]=2;while(1){b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!((b|0)!=0&(c[k>>2]|0)!=10))break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=151;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0};case 59:{c[c[m>>2]>>2]=1;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 38:{c[c[m>>2]>>2]=85;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 40:{c[c[m>>2]>>2]=22;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 62:{b=d[(c[h>>2]|0)+1>>0]|0;c[k>>2]=b;if((b|0)==61){c[c[m>>2]>>2]=83;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}h=c[m>>2]|0;if((c[k>>2]|0)==62){c[h>>2]=88;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}else{c[h>>2]=80;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}};case 124:{j=c[m>>2]|0;if((d[(c[h>>2]|0)+1>>0]|0)!=124){c[j>>2]=86;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else{c[j>>2]=94;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}};case 126:{c[c[m>>2]>>2]=96;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:break;case 61:{c[c[m>>2]>>2]=79;c[f>>2]=1+((d[(c[h>>2]|0)+1>>0]|0)==61&1);b=c[f>>2]|0;i=g;return b|0};case 44:{c[c[m>>2]>>2]=26;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 60:{b=d[(c[h>>2]|0)+1>>0]|0;c[k>>2]=b;if((b|0)==61){c[c[m>>2]>>2]=81;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}if((c[k>>2]|0)==62){c[c[m>>2]>>2]=78;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}h=c[m>>2]|0;if((c[k>>2]|0)==60){c[h>>2]=87;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}else{c[h>>2]=82;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}};case 46:{if(!(d[1224+(d[(c[h>>2]|0)+1>>0]|0)>>0]&4)){c[c[m>>2]>>2]=122;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}break};case 13:case 12:case 10:case 9:case 32:{c[j>>2]=1;while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&1))break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=151;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0};case 37:{c[c[m>>2]>>2]=93;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 88:case 120:{if((d[(c[h>>2]|0)+1>>0]|0)==39){c[c[m>>2]>>2]=134;c[j>>2]=2;while(1){k=c[j>>2]|0;if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=k+1}if(!((d[(c[h>>2]|0)+k>>0]|0)==39?((c[j>>2]|0)%2|0|0)==0:0))l=125;a:do if((l|0)==125){c[c[m>>2]>>2]=150;while(1){if(!(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break a;if((d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)==39)break a;c[j>>2]=(c[j>>2]|0)+1}}while(0);if(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)c[j>>2]=(c[j>>2]|0)+1;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}else l=132;break};case 91:{c[j>>2]=1;c[k>>2]=d[c[h>>2]>>0];while(1){if((c[k>>2]|0)==93)break;b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=(c[k>>2]|0)==93?27:150;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0};case 42:{c[c[m>>2]>>2]=91;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 58:case 35:case 64:case 36:{c[n>>2]=0;c[c[m>>2]>>2]=135;c[j>>2]=1;while(1){b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;if(d[1224+(c[k>>2]&255)>>0]&70)c[n>>2]=(c[n>>2]|0)+1;else{if((c[k>>2]|0)==40&(c[n>>2]|0)>0){l=107;break}if((c[k>>2]|0)!=58)break;if((d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=58)break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}do if((l|0)==107){while(1){c[j>>2]=(c[j>>2]|0)+1;b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;if((c[k>>2]|0)!=41?(d[1224+(c[k>>2]&255)>>0]&1|0)==0:0)l=107;else break}if((c[k>>2]|0)==41){c[j>>2]=(c[j>>2]|0)+1;break}else{c[c[m>>2]>>2]=150;break}}while(0);if(!(c[n>>2]|0))c[c[m>>2]>>2]=150;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0};case 34:case 39:case 96:{c[o>>2]=d[c[h>>2]>>0];c[j>>2]=1;while(1){b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;if((c[k>>2]|0)==(c[o>>2]|0)){if((d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=(c[o>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==39){c[c[m>>2]>>2]=97;c[f>>2]=(c[j>>2]|0)+1;b=c[f>>2]|0;i=g;return b|0}h=c[m>>2]|0;if(c[k>>2]|0){c[h>>2]=27;c[f>>2]=(c[j>>2]|0)+1;b=c[f>>2]|0;i=g;return b|0}else{c[h>>2]=150;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}};case 41:{c[c[m>>2]>>2]=23;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 33:{j=c[m>>2]|0;if((d[(c[h>>2]|0)+1>>0]|0)!=61){c[j>>2]=150;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}else{c[j>>2]=78;c[f>>2]=2;b=c[f>>2]|0;i=g;return b|0}};case 47:{if((d[(c[h>>2]|0)+1>>0]|0)==42?(d[(c[h>>2]|0)+2>>0]|0)!=0:0){c[j>>2]=3;c[k>>2]=d[(c[h>>2]|0)+2>>0];while(1){if((c[k>>2]|0)==42?(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)==47:0)break;b=d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;c[j>>2]=(c[j>>2]|0)+1}if(c[k>>2]|0)c[j>>2]=(c[j>>2]|0)+1;c[c[m>>2]>>2]=151;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}c[c[m>>2]>>2]=92;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 43:{c[c[m>>2]>>2]=89;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0};case 63:{c[c[m>>2]>>2]=135;c[j>>2]=1;while(1){k=c[j>>2]|0;if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=k+1}c[f>>2]=k;b=c[f>>2]|0;i=g;return b|0};default:l=132}while(0);if((l|0)==132){if(!(d[1224+(d[c[h>>2]>>0]|0)>>0]&70)){c[c[m>>2]>>2]=150;c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}c[j>>2]=1;while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[j>>2]=(c[j>>2]|0)+1}b=Cg(c[h>>2]|0,c[j>>2]|0)|0;c[c[m>>2]>>2]=b;c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}c[c[m>>2]>>2]=132;do if((d[c[h>>2]>>0]|0)==48){if((d[(c[h>>2]|0)+1>>0]|0)!=120?(d[(c[h>>2]|0)+1>>0]|0)!=88:0)break;if(d[1224+(d[(c[h>>2]|0)+2>>0]|0)>>0]&8){c[j>>2]=3;while(1){k=c[j>>2]|0;if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=k+1}c[f>>2]=k;b=c[f>>2]|0;i=g;return b|0}}while(0);c[j>>2]=0;while(1){k=c[j>>2]|0;if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=k+1}if((d[(c[h>>2]|0)+k>>0]|0)==46){c[j>>2]=(c[j>>2]|0)+1;while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=133}if(!((d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)!=101?(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)!=69:0))l=82;do if((l|0)==82){if(!(d[1224+(d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=43?(d[(c[h>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[1224+(d[(c[h>>2]|0)+((c[j>>2]|0)+2)>>0]|0)>>0]&4))break}c[j>>2]=(c[j>>2]|0)+2;while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[m>>2]>>2]=133}while(0);while(1){if(!(d[1224+(d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[c[m>>2]>>2]=150;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=c[j>>2];b=c[f>>2]|0;i=g;return b|0}function rm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+20|0;m=g+16|0;k=g+12|0;l=g;j=g+8|0;c[m>>2]=b;c[k>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;if(!(c[k>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=g;return b|0}d=c[m>>2]|0;b=l;b=bF(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[j>>2]=Qe(d,b,D)|0;if(c[j>>2]|0){dF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;a[(c[j>>2]|0)+(c[l>>2]|0)>>0]=0}c[h>>2]=c[j>>2];b=c[h>>2]|0;i=g;return b|0}function sm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+12|0;g=d+8|0;h=d+16|0;f=d+4|0;j=d;c[g>>2]=b;if(!(c[g>>2]|0)){c[e>>2]=-1;b=c[e>>2]|0;i=d;return b|0}a[h>>0]=a[c[g>>2]>>0]|0;b=a[h>>0]|0;if((b|0)==91)a[h>>0]=93;else if(!((b|0)==96|(b|0)==34|(b|0)==39)){c[e>>2]=-1;b=c[e>>2]|0;i=d;return b|0}c[f>>2]=1;c[j>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[g>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[g>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[j>>2]|0;c[j>>2]=b+1;a[(c[g>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[g>>2]|0)+b>>0]|0;k=c[j>>2]|0;c[j>>2]=k+1;a[(c[g>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=0;c[e>>2]=c[j>>2];k=c[e>>2]|0;i=d;return k|0}function tm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+64|0;g=e+56|0;j=e+52|0;h=e+48|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;if(Bm(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=e;return}Cm(f);j=f;Sd(c[g>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=e;return}function um(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,l=0;e=i;i=i+176|0;g=e+48|0;j=e+68|0;l=e+64|0;k=e+60|0;f=e;h=e+72|0;c[j>>2]=a;c[l>>2]=b;c[k>>2]=d;if(Bm(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0,f)|0){i=e;return}Em(f);k=c[f+12>>2]|0;l=c[f+16>>2]|0;c[g>>2]=c[f+8>>2];c[g+4>>2]=k;c[g+8>>2]=l;sc(100,h,9672,g)|0;$d(c[j>>2]|0,h,-1,-1);i=e;return}function vm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;e=i;i=i+176|0;g=e+48|0;k=e+68|0;m=e+64|0;l=e+60|0;f=e;j=e+72|0;c[k>>2]=a;c[m>>2]=b;c[l>>2]=d;if(Bm(c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,f)|0){i=e;return}Fm(f);l=c[f+24>>2]|0;m=~~+h[f+32>>3];c[g>>2]=c[f+20>>2];c[g+4>>2]=l;c[g+8>>2]=m;sc(100,j,9656,g)|0;$d(c[k>>2]|0,j,-1,-1);i=e;return}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;e=i;i=i+192|0;g=e+48|0;k=e+80|0;m=e+76|0;l=e+72|0;f=e;j=e+84|0;c[k>>2]=a;c[m>>2]=b;c[l>>2]=d;if(Bm(c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,f)|0){i=e;return}Dm(f);d=c[f+12>>2]|0;b=c[f+16>>2]|0;a=c[f+20>>2]|0;l=c[f+24>>2]|0;m=~~+h[f+32>>3];c[g>>2]=c[f+8>>2];c[g+4>>2]=d;c[g+8>>2]=b;c[g+12>>2]=a;c[g+16>>2]=l;c[g+20>>2]=m;sc(100,j,9624,g)|0;$d(c[k>>2]|0,j,-1,-1);i=e;return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=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;t=i;i=i+272|0;r=t+112|0;o=t+156|0;y=t+152|0;z=t+148|0;q=t+64|0;v=t+56|0;n=t+144|0;l=t+140|0;j=t+136|0;w=t+132|0;f=t+128|0;m=t+160|0;s=t+48|0;g=t+124|0;p=t;u=t+120|0;c[o>>2]=b;c[y>>2]=d;c[z>>2]=e;c[f>>2]=Ed(c[c[z>>2]>>2]|0)|0;if(!(c[f>>2]|0)){i=t;return}if(Bm(c[o>>2]|0,(c[y>>2]|0)-1|0,(c[z>>2]|0)+4|0,q)|0){i=t;return}c[w>>2]=pe(c[o>>2]|0)|0;c[n>>2]=0;b=v;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[f>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 102:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,8,0)|0;c[b+4>>2]=D;break};case 87:case 83:case 77:case 109:case 72:case 100:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[b+4>>2]=D;break};case 74:case 115:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,50,0)|0;c[b+4>>2]=D;break};case 89:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,8,0)|0;c[b+4>>2]=D;break};case 37:case 119:break;case 106:{d=v;b=v;c[b>>2]=bF(c[d>>2]|0,c[d+4>>2]|0,3,0)|0;c[b+4>>2]=D;break};default:{x=43;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;d=v;d=bF(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;b=v;c[b>>2]=d;c[b+4>>2]=D}if((x|0)==43){i=t;return}b=v;d=c[b+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[b>>2]|0)>>>0<100)){d=v;z=c[d+4>>2]|0;b=c[(c[w>>2]|0)+88>>2]|0;e=((b|0)<0)<<31>>31;if(z>>>0>e>>>0|((z|0)==(e|0)?(c[d>>2]|0)>>>0>b>>>0:0)){he(c[o>>2]|0);i=t;return}b=c[v>>2]|0;c[j>>2]=Qe(c[w>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){ie(c[o>>2]|0);i=t;return}}else c[j>>2]=m;Cm(q);Dm(q);c[l>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0))break;v=c[n>>2]|0;b:do if((a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){d=a[(c[f>>2]|0)+v>>0]|0;b=c[l>>2]|0;c[l>>2]=b+1;a[(c[j>>2]|0)+b>>0]=d}else{c[n>>2]=v+1;do switch(a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0){case 106:case 87:{x=p+0|0;w=q+0|0;v=x+48|0;do{c[x>>2]=c[w>>2];x=x+4|0;w=w+4|0}while((x|0)<(v|0));a[p+42>>0]=0;c[p+12>>2]=1;c[p+16>>2]=1;Cm(p);d=q;b=p;c[g>>2]=jF(bF(ZE(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,D|0,432e5,0)|0,D|0,864e5,0)|0;if((a[(c[f>>2]|0)+(c[n>>2]|0)>>0]|0)==87){b=q;b=bF(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=jF(b|0,D|0,864e5,0)|0;b=kF(b|0,D|0,7,0)|0;c[u>>2]=b;b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=((c[g>>2]|0)+7-(c[u>>2]|0)|0)/7|0;sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b}else{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=(c[g>>2]|0)+1;sc(4,b,9440,r)|0;c[l>>2]=(c[l>>2]|0)+3;break b}};case 77:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+24>>2];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 115:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;e=q;d=r;c[d>>2]=ZE(jF(c[e>>2]|0,c[e+4>>2]|0,1e3,0)|0,D|0,413362496,49)|0;c[d+4>>2]=D;sc(30,b,9456,r)|0;c[l>>2]=(Mb((c[j>>2]|0)+(c[l>>2]|0)|0)|0)+(c[l>>2]|0);break b};case 72:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+20>>2];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 109:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+12>>2];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 89:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+8>>2];sc(5,b,9464,r)|0;c[l>>2]=(Mb((c[j>>2]|0)+(c[l>>2]|0)|0)|0)+(c[l>>2]|0);break b};case 74:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;d=q;h[k>>3]=(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0))/864.0e5;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];sc(20,b,9448,r)|0;c[l>>2]=(Mb((c[j>>2]|0)+(c[l>>2]|0)|0)|0)+(c[l>>2]|0);break b};case 100:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=c[q+16>>2];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 119:{d=q;d=kF(jF(bF(c[d>>2]|0,c[d+4>>2]|0,1296e5,0)|0,D|0,864e5,0)|0,D|0,7,0)|0;b=c[l>>2]|0;c[l>>2]=b+1;a[(c[j>>2]|0)+b>>0]=((d&255)<<24>>24)+48;break b};case 83:{b=(c[j>>2]|0)+(c[l>>2]|0)|0;c[r>>2]=~~+h[q+32>>3];sc(3,b,9424,r)|0;c[l>>2]=(c[l>>2]|0)+2;break b};case 102:{h[s>>3]=+h[q+32>>3];if(+h[s>>3]>59.999)h[s>>3]=59.999;b=(c[j>>2]|0)+(c[l>>2]|0)|0;h[k>>3]=+h[s>>3];c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];sc(7,b,9432,r)|0;c[l>>2]=(Mb((c[j>>2]|0)+(c[l>>2]|0)|0)|0)+(c[l>>2]|0);break b};default:{b=c[l>>2]|0;c[l>>2]=b+1;a[(c[j>>2]|0)+b>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[j>>2]|0)+(c[l>>2]|0)>>0]=0;$d(c[o>>2]|0,c[j>>2]|0,-1,(c[j>>2]|0)==(m|0)?-1:16);i=t;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;vm(c[f>>2]|0,0,0);i=e;return}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;wm(c[f>>2]|0,0,0);i=e;return}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;um(c[f>>2]|0,0,0);i=e;return}function Bm(b,d,e,f){b=b|0;d=d|0;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.0;h=i;i=i+32|0;g=h+28|0;k=h+24|0;o=h+20|0;m=h+16|0;l=h+12|0;p=h+8|0;j=h+4|0;n=h;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[l>>2]=f;e=(c[l>>2]|0)+0|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[o>>2]|0)){c[g>>2]=Gm(c[k>>2]|0,c[l>>2]|0)|0;b=c[g>>2]|0;i=h;return b|0}b=Nd(c[c[m>>2]>>2]|0)|0;c[n>>2]=b;f=c[c[m>>2]>>2]|0;do if((b|0)==2|(c[n>>2]|0)==1){q=+Hd(f)*864.0e5+.5;d=+O(q)>=1.0?q>0.0?(ca(+N(q/4294967296.0),4294967295.0)|0)>>>0:~~+_((q- +(~~q>>>0))/4294967296.0)>>>0:0;b=c[l>>2]|0;c[b>>2]=~~q>>>0;c[b+4>>2]=d;a[(c[l>>2]|0)+42>>0]=1}else{c[j>>2]=Ed(f)|0;if((c[j>>2]|0)!=0?(Hm(c[k>>2]|0,c[j>>2]|0,c[l>>2]|0)|0)==0:0)break;c[g>>2]=1;b=c[g>>2]|0;i=h;return b|0}while(0);c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[o>>2]|0)){j=14;break}c[j>>2]=Ed(c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;if(!(c[j>>2]|0)){j=12;break}if(Im(c[k>>2]|0,c[j>>2]|0,c[l>>2]|0)|0){j=12;break}c[p>>2]=(c[p>>2]|0)+1}if((j|0)==12){c[g>>2]=1;b=c[g>>2]|0;i=h;return b|0}else if((j|0)==14){c[g>>2]=0;b=c[g>>2]|0;i=h;return b|0}return 0}function Cm(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;d=i;i=i+32|0;n=d+28|0;e=d+24|0;k=d+20|0;m=d+16|0;f=d+12|0;g=d+8|0;j=d+4|0;l=d;c[n>>2]=b;if(a[(c[n>>2]|0)+42>>0]|0){i=d;return}if(a[(c[n>>2]|0)+40>>0]|0){c[e>>2]=c[(c[n>>2]|0)+8>>2];c[k>>2]=c[(c[n>>2]|0)+12>>2];c[m>>2]=c[(c[n>>2]|0)+16>>2]}else{c[e>>2]=2e3;c[k>>2]=1;c[m>>2]=1}if((c[k>>2]|0)<=2){c[e>>2]=(c[e>>2]|0)+ -1;c[k>>2]=(c[k>>2]|0)+12}c[f>>2]=(c[e>>2]|0)/100|0;c[g>>2]=2-(c[f>>2]|0)+((c[f>>2]|0)/4|0);c[j>>2]=(((c[e>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[k>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[j>>2]|0)+(c[l>>2]|0)+(c[m>>2]|0)+(c[g>>2]|0)|0)-1524.5)*864.0e5;l=+O(o)>=1.0?o>0.0?(ca(+N(o/4294967296.0),4294967295.0)|0)>>>0:~~+_((o- +(~~o>>>0))/4294967296.0)>>>0:0;m=c[n>>2]|0;c[m>>2]=~~o>>>0;c[m+4>>2]=l;a[(c[n>>2]|0)+42>>0]=1;if(!(a[(c[n>>2]|0)+41>>0]|0)){i=d;return}l=$(c[(c[n>>2]|0)+20>>2]|0,36e5)|0;l=l+((c[(c[n>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[n>>2]|0)+32>>3]*1.0e3;l=bF(l|0,((l|0)<0)<<31>>31|0,~~o>>>0|0,(+O(o)>=1.0?o>0.0?(ca(+N(o/4294967296.0),4294967295.0)|0)>>>0:~~+_((o- +(~~o>>>0))/4294967296.0)>>>0:0)|0)|0;m=c[n>>2]|0;k=m;l=bF(c[k>>2]|0,c[k+4>>2]|0,l|0,D|0)|0;c[m>>2]=l;c[m+4>>2]=D;if(!(a[(c[n>>2]|0)+43>>0]|0)){i=d;return}l=(c[(c[n>>2]|0)+28>>2]|0)*6e4|0;m=c[n>>2]|0;k=m;l=ZE(c[k>>2]|0,c[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c[m>>2]=l;c[m+4>>2]=D;a[(c[n>>2]|0)+40>>0]=0;a[(c[n>>2]|0)+41>>0]=0;a[(c[n>>2]|0)+43>>0]=0;i=d;return}function Dm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Em(c[d>>2]|0);Fm(c[d>>2]|0);i=b;return}function Em(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+32|0;e=h+28|0;f=h+24|0;g=h+20|0;d=h+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[e>>2]=b;if(a[(c[e>>2]|0)+40>>0]|0){i=h;return}b=c[e>>2]|0;if(a[(c[e>>2]|0)+42>>0]|0){b=bF(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=jF(b|0,D|0,864e5,0)|0;c[f>>2]=b;c[g>>2]=~~((+(c[f>>2]|0)-1867216.25)/36524.25);c[g>>2]=(c[f>>2]|0)+1+(c[g>>2]|0)-((c[g>>2]|0)/4|0);c[d>>2]=(c[g>>2]|0)+1524;c[j>>2]=~~((+(c[d>>2]|0)-122.1)/365.25);c[k>>2]=((c[j>>2]|0)*36525|0)/100|0;c[l>>2]=~~(+((c[d>>2]|0)-(c[k>>2]|0)|0)/30.6001);c[m>>2]=~~(+(c[l>>2]|0)*30.6001);c[(c[e>>2]|0)+16>>2]=(c[d>>2]|0)-(c[k>>2]|0)-(c[m>>2]|0);b=c[l>>2]|0;c[(c[e>>2]|0)+12>>2]=(c[l>>2]|0)<14?b-1|0:b-13|0;b=c[j>>2]|0;c[(c[e>>2]|0)+8>>2]=(c[(c[e>>2]|0)+12>>2]|0)>2?b-4716|0:b-4715|0}else{c[b+8>>2]=2e3;c[(c[e>>2]|0)+12>>2]=1;c[(c[e>>2]|0)+16>>2]=1}a[(c[e>>2]|0)+40>>0]=1;i=h;return}function Fm(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;if(a[(c[e>>2]|0)+41>>0]|0){i=d;return}Cm(c[e>>2]|0);b=c[e>>2]|0;b=bF(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=kF(b|0,D|0,864e5,0)|0;c[f>>2]=b;h[(c[e>>2]|0)+32>>3]=+(c[f>>2]|0)/1.0e3;c[f>>2]=~~+h[(c[e>>2]|0)+32>>3];b=(c[e>>2]|0)+32|0;h[b>>3]=+h[b>>3]- +(c[f>>2]|0);c[(c[e>>2]|0)+20>>2]=(c[f>>2]|0)/3600|0;c[f>>2]=(c[f>>2]|0)-((c[(c[e>>2]|0)+20>>2]|0)*3600|0);c[(c[e>>2]|0)+24>>2]=(c[f>>2]|0)/60|0;b=(c[e>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[f>>2]|0)-((c[(c[e>>2]|0)+24>>2]|0)*60|0)|0);a[(c[e>>2]|0)+41>>0]=1;i=d;return}function Gm(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+8|0;h=e+4|0;g=e;c[h>>2]=b;c[g>>2]=d;d=Rm(c[h>>2]|0)|0;b=c[g>>2]|0;c[b>>2]=d;c[b+4>>2]=D;b=c[g>>2]|0;d=c[b+4>>2]|0;if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0){a[(c[g>>2]|0)+42>>0]=1;c[f>>2]=0;h=c[f>>2]|0;i=e;return h|0}else{c[f>>2]=1;h=c[f>>2]|0;i=e;return h|0}return 0}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;f=i;i=i+32|0;g=f+20|0;j=f+16|0;l=f+12|0;k=f+8|0;m=f;c[j>>2]=b;c[l>>2]=d;c[k>>2]=e;if(!(Qm(c[l>>2]|0,c[k>>2]|0)|0)){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}if(!(Mm(c[l>>2]|0,c[k>>2]|0)|0)){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}if(!(xc(c[l>>2]|0,9616)|0)){c[g>>2]=Gm(c[j>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=f;return b|0}b=c[l>>2]|0;if(Lm(b,m,Mb(c[l>>2]|0)|0,1)|0){n=+h[m>>3]*864.0e5+.5;d=+O(n)>=1.0?n>0.0?(ca(+N(n/4294967296.0),4294967295.0)|0)>>>0:~~+_((n- +(~~n>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;c[b>>2]=~~n>>>0;c[b+4>>2]=d;a[(c[k>>2]|0)+42>>0]=1;c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}else{c[g>>2]=1;b=c[g>>2]|0;i=f;return b|0}return 0}function Im(b,e,f){b=b|0;e=e|0;f=f|0;var g=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.0;g=i;i=i+160|0;x=g+124|0;z=g+120|0;k=g+116|0;l=g+112|0;v=g+108|0;q=g+80|0;j=g+104|0;y=g+72|0;w=g+64|0;r=g+56|0;m=g+100|0;n=g+8|0;o=g;t=g+96|0;s=g+92|0;p=g+88|0;c[x>>2]=b;c[z>>2]=e;c[k>>2]=f;c[l>>2]=1;c[j>>2]=g+128;c[v>>2]=0;while(1){if((c[v>>2]|0)>=29)break;if(!(a[(c[z>>2]|0)+(c[v>>2]|0)>>0]|0))break;a[(c[j>>2]|0)+(c[v>>2]|0)>>0]=a[440+(d[(c[z>>2]|0)+(c[v>>2]|0)>>0]|0)>>0]|0;c[v>>2]=(c[v>>2]|0)+1}a[(c[j>>2]|0)+(c[v>>2]|0)>>0]=0;switch(a[c[j>>2]>>0]|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[v>>2]=1;while(1){if(!(a[(c[j>>2]|0)+(c[v>>2]|0)>>0]|0))break;if((a[(c[j>>2]|0)+(c[v>>2]|0)>>0]|0)==58)break;if(d[1224+(d[(c[j>>2]|0)+(c[v>>2]|0)>>0]|0)>>0]&1)break;c[v>>2]=(c[v>>2]|0)+1}if(!(Lm(c[j>>2]|0,q,c[v>>2]|0,1)|0)){c[l>>2]=1;b=c[l>>2]|0;i=g;return b|0}if((a[(c[j>>2]|0)+(c[v>>2]|0)>>0]|0)==58){c[m>>2]=c[j>>2];if(!(d[1224+(d[c[m>>2]>>0]|0)>>0]&4))c[m>>2]=(c[m>>2]|0)+1;q=n+0|0;p=q+48|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(p|0));if(Mm(c[m>>2]|0,n)|0){b=c[l>>2]|0;i=g;return b|0}Cm(n);e=n;e=ZE(c[e>>2]|0,c[e+4>>2]|0,432e5,0)|0;b=n;c[b>>2]=e;c[b+4>>2]=D;b=n;b=jF(c[b>>2]|0,c[b+4>>2]|0,864e5,0)|0;e=o;c[e>>2]=b;c[e+4>>2]=D;e=o;e=lF(c[e>>2]|0,c[e+4>>2]|0,864e5,0)|0;b=n;e=ZE(c[b>>2]|0,c[b+4>>2]|0,e|0,D|0)|0;b=n;c[b>>2]=e;c[b+4>>2]=D;if((a[c[j>>2]>>0]|0)==45){e=n;e=ZE(0,0,c[e>>2]|0,c[e+4>>2]|0)|0;b=n;c[b>>2]=e;c[b+4>>2]=D}Cm(c[k>>2]|0);Km(c[k>>2]|0);e=n;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[b>>2]=e;c[b+4>>2]=D;c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}c[j>>2]=(c[j>>2]|0)+(c[v>>2]|0);while(1){m=c[j>>2]|0;if(!(d[1224+(d[c[j>>2]>>0]|0)>>0]&1))break;c[j>>2]=m+1}c[v>>2]=Mb(m)|0;if((c[v>>2]|0)>10|(c[v>>2]|0)<3){b=c[l>>2]|0;i=g;return b|0}if((a[(c[j>>2]|0)+((c[v>>2]|0)-1)>>0]|0)==115){a[(c[j>>2]|0)+((c[v>>2]|0)-1)>>0]=0;c[v>>2]=(c[v>>2]|0)+ -1}Cm(c[k>>2]|0);c[l>>2]=0;h[r>>3]=+h[q>>3]<0.0?-.5:.5;if((c[v>>2]|0)==3?(UE(c[j>>2]|0,9560)|0)==0:0){A=+h[q>>3]*864.0e5+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D}else u=50;do if((u|0)==50){if((c[v>>2]|0)==4?(UE(c[j>>2]|0,9568)|0)==0:0){A=+h[q>>3]*36.0e5+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}if((c[v>>2]|0)==6?(UE(c[j>>2]|0,9576)|0)==0:0){A=+h[q>>3]*6.0e4+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}if((c[v>>2]|0)==6?(UE(c[j>>2]|0,9584)|0)==0:0){A=+h[q>>3]*1.0e3+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}if((c[v>>2]|0)==5?(UE(c[j>>2]|0,9544)|0)==0:0){Dm(c[k>>2]|0);b=(c[k>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+~~+h[q>>3];b=c[(c[k>>2]|0)+12>>2]|0;c[t>>2]=(((c[(c[k>>2]|0)+12>>2]|0)>0?b-1|0:b-12|0)|0)/12|0;b=(c[k>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[t>>2]|0);b=(c[k>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)-((c[t>>2]|0)*12|0);a[(c[k>>2]|0)+42>>0]=0;Cm(c[k>>2]|0);c[s>>2]=~~+h[q>>3];if(!(+(c[s>>2]|0)!=+h[q>>3]))break;A=(+h[q>>3]- +(c[s>>2]|0))*30.0*864.0e5+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}if((c[v>>2]|0)==4?(UE(c[j>>2]|0,9552)|0)==0:0){c[p>>2]=~~+h[q>>3];Dm(c[k>>2]|0);b=(c[k>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[p>>2]|0);a[(c[k>>2]|0)+42>>0]=0;Cm(c[k>>2]|0);if(!(+(c[p>>2]|0)!=+h[q>>3]))break;A=(+h[q>>3]- +(c[p>>2]|0))*365.0*864.0e5+ +h[r>>3];e=+O(A)>=1.0?A>0.0?(ca(+N(A/4294967296.0),4294967295.0)|0)>>>0:~~+_((A- +(~~A>>>0))/4294967296.0)>>>0:0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,~~A>>>0|0,e|0)|0;c[b>>2]=e;c[b+4>>2]=D;break}c[l>>2]=1}while(0);Km(c[k>>2]|0);b=c[l>>2]|0;i=g;return b|0};case 119:{if(VE(c[j>>2]|0,9512,8)|0){b=c[l>>2]|0;i=g;return b|0}b=(c[j>>2]|0)+8|0;if(!(Lm(b,q,Mb((c[j>>2]|0)+8|0)|0,1)|0)){b=c[l>>2]|0;i=g;return b|0}b=~~+h[q>>3];c[v>>2]=b;if(!(((c[v>>2]|0)>=0?+(b|0)==+h[q>>3]:0)&+h[q>>3]<7.0)){b=c[l>>2]|0;i=g;return b|0}Dm(c[k>>2]|0);a[(c[k>>2]|0)+43>>0]=0;a[(c[k>>2]|0)+42>>0]=0;Cm(c[k>>2]|0);z=c[k>>2]|0;z=bF(c[z>>2]|0,c[z+4>>2]|0,1296e5,0)|0;z=jF(z|0,D|0,864e5,0)|0;z=kF(z|0,D|0,7,0)|0;e=w;c[e>>2]=z;c[e+4>>2]=D;e=w;z=c[e+4>>2]|0;b=c[v>>2]|0;f=((b|0)<0)<<31>>31;if((z|0)>(f|0)|((z|0)==(f|0)?(c[e>>2]|0)>>>0>b>>>0:0)){e=w;e=ZE(c[e>>2]|0,c[e+4>>2]|0,7,0)|0;b=w;c[b>>2]=e;c[b+4>>2]=D}b=c[v>>2]|0;e=w;e=ZE(b|0,((b|0)<0)<<31>>31|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=lF(e|0,D|0,864e5,0)|0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,e|0,D|0)|0;c[b>>2]=e;c[b+4>>2]=D;Km(c[k>>2]|0);c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0};case 108:{if(UE(c[j>>2]|0,9472)|0){b=c[l>>2]|0;i=g;return b|0}Cm(c[k>>2]|0);e=Jm(c[k>>2]|0,c[x>>2]|0,l)|0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,e|0,D|0)|0;c[b>>2]=e;c[b+4>>2]=D;Km(c[k>>2]|0);b=c[l>>2]|0;i=g;return b|0};case 115:{if(VE(c[j>>2]|0,9528,9)|0){b=c[l>>2]|0;i=g;return b|0}c[j>>2]=(c[j>>2]|0)+9;Em(c[k>>2]|0);a[(c[k>>2]|0)+41>>0]=1;c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+20>>2]=0;h[(c[k>>2]|0)+32>>3]=0.0;a[(c[k>>2]|0)+43>>0]=0;a[(c[k>>2]|0)+42>>0]=0;if(!(UE(c[j>>2]|0,9544)|0)){c[(c[k>>2]|0)+16>>2]=1;c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}if(!(UE(c[j>>2]|0,9552)|0)){Em(c[k>>2]|0);c[(c[k>>2]|0)+12>>2]=1;c[(c[k>>2]|0)+16>>2]=1;c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}if(UE(c[j>>2]|0,9560)|0){b=c[l>>2]|0;i=g;return b|0}c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0};case 117:{if((UE(c[j>>2]|0,9488)|0)==0?(a[(c[k>>2]|0)+42>>0]|0)!=0:0){e=c[k>>2]|0;e=bF(c[e>>2]|0,c[e+4>>2]|0,43200,0)|0;e=jF(e|0,D|0,86400,0)|0;e=bF(e|0,D|0,1045635584,49096)|0;b=c[k>>2]|0;c[b>>2]=e;c[b+4>>2]=D;Km(c[k>>2]|0);c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}if(UE(c[j>>2]|0,9504)|0){b=c[l>>2]|0;i=g;return b|0}Cm(c[k>>2]|0);e=Jm(c[k>>2]|0,c[x>>2]|0,l)|0;b=y;c[b>>2]=e;c[b+4>>2]=D;if(c[l>>2]|0){b=c[l>>2]|0;i=g;return b|0}f=y;b=c[k>>2]|0;e=b;f=ZE(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[b>>2]=f;c[b+4>>2]=D;Km(c[k>>2]|0);b=y;f=c[b>>2]|0;b=c[b+4>>2]|0;e=Jm(c[k>>2]|0,c[x>>2]|0,l)|0;e=ZE(f|0,b|0,e|0,D|0)|0;b=c[k>>2]|0;f=b;e=bF(c[f>>2]|0,c[f+4>>2]|0,e|0,D|0)|0;c[b>>2]=e;c[b+4>>2]=D;b=c[l>>2]|0;i=g;return b|0};default:{b=c[l>>2]|0;i=g;return b|0}}return 0}function Jm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+176|0;f=o+96|0;q=o+164|0;l=o+160|0;m=o+156|0;n=o+48|0;p=o;j=o+152|0;k=o+108|0;g=o+104|0;c[q>>2]=b;c[l>>2]=d;c[m>>2]=e;d=k+0|0;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=n+0|0;q=(c[q>>2]|0)+0|0;e=d+48|0;do{c[d>>2]=c[q>>2];d=d+4|0;q=q+4|0}while((d|0)<(e|0));Dm(n);if((c[n+8>>2]|0)>=1971?(c[n+8>>2]|0)<2038:0){c[g>>2]=~~(+h[n+32>>3]+.5);h[n+32>>3]=+(c[g>>2]|0)}else{c[n+8>>2]=2e3;c[n+12>>2]=1;c[n+16>>2]=1;c[n+20>>2]=0;c[n+24>>2]=0;h[n+32>>3]=0.0}c[n+28>>2]=0;a[n+42>>0]=0;Cm(n);b=n;b=jF(c[b>>2]|0,c[b+4>>2]|0,1e3,0)|0;b=ZE(b|0,D|0,413362496,49)|0;c[j>>2]=b;if(Pm(j,k)|0){Ud(c[l>>2]|0,9592,-1);c[c[m>>2]>>2]=1;d=f;c[d>>2]=0;c[d+4>>2]=0;d=f;b=d;b=c[b>>2]|0;d=d+4|0;d=c[d>>2]|0;D=d;i=o;return b|0}else{c[p+8>>2]=(c[k+20>>2]|0)+1900;c[p+12>>2]=(c[k+16>>2]|0)+1;c[p+16>>2]=c[k+12>>2];c[p+20>>2]=c[k+8>>2];c[p+24>>2]=c[k+4>>2];h[p+32>>3]=+(c[k>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;Cm(p);c[c[m>>2]>>2]=0;d=p;b=n;b=ZE(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=f;c[d>>2]=b;c[d+4>>2]=D;d=f;b=d;b=c[b>>2]|0;d=d+4|0;d=c[d>>2]|0;D=d;i=o;return b|0}return 0}function Km(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function Lm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0.0,G=0.0;k=i;i=i+96|0;j=k+76|0;p=k+72|0;l=k+68|0;C=k+64|0;E=k+80|0;z=k+60|0;q=k+56|0;v=k+52|0;y=k+16|0;w=k+48|0;s=k+44|0;x=k+40|0;n=k+36|0;m=k+8|0;o=k+32|0;r=k+28|0;B=k+24|0;u=k;c[p>>2]=b;c[l>>2]=e;c[C>>2]=f;a[E>>0]=g;c[q>>2]=(c[p>>2]|0)+(c[C>>2]|0);c[v>>2]=1;b=y;c[b>>2]=0;c[b+4>>2]=0;c[w>>2]=0;c[s>>2]=1;c[x>>2]=0;c[n>>2]=1;c[o>>2]=0;c[r>>2]=0;h[c[l>>2]>>3]=0.0;if((d[E>>0]|0)==1)c[z>>2]=1;else{c[z>>2]=2;c[B>>2]=3-(d[E>>0]|0);while(1){if((c[B>>2]|0)>=(c[C>>2]|0))break;if(a[(c[p>>2]|0)+(c[B>>2]|0)>>0]|0)break;c[B>>2]=(c[B>>2]|0)+2}c[r>>2]=(c[B>>2]|0)<(c[C>>2]|0)&1;c[q>>2]=(c[p>>2]|0)+(c[B>>2]|0)+(d[E>>0]|0)+ -3;c[p>>2]=(c[p>>2]|0)+(d[E>>0]&1)}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&1))break;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0){c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}if((a[c[p>>2]>>0]|0)!=45){if((a[c[p>>2]>>0]|0)==43)c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}else{c[v>>2]=-1;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if((a[c[p>>2]>>0]|0)!=48)break;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;b=y;e=c[b+4>>2]|0;if(!((d[1224+(d[c[p>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=y;b=lF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[p>>2]>>0]|0)-48|0;e=bF(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;b=y;c[b>>2]=e;c[b+4>>2]=D;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&4))break;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+1}a:do if((c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0){b:do if((a[c[p>>2]>>0]|0)==46){c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;b=y;e=c[b+4>>2]|0;if(!((d[1224+(d[c[p>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=y;b=lF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[p>>2]>>0]|0)-48|0;e=bF(b|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;b=y;c[b>>2]=e;c[b+4>>2]=D;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+ -1}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break b;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&4))break b;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0){if(!((a[c[p>>2]>>0]|0)!=101?(a[c[p>>2]>>0]|0)!=69:0))A=38;c:do if((A|0)==38){c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[n>>2]=0;if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break a;if((a[c[p>>2]>>0]|0)!=45){if((a[c[p>>2]>>0]|0)==43)c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}else{c[s>>2]=-1;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break c;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&4))break c;if((c[x>>2]|0)<1e4)A=((c[x>>2]|0)*10|0)+((a[c[p>>2]>>0]|0)-48)|0;else A=1e4;c[x>>2]=A;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0);c[n>>2]=1}}while(0);if((c[o>>2]|0)!=0&(c[n>>2]|0)!=0)while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break a;if(!(d[1224+(d[c[p>>2]>>0]|0)>>0]&1))break a;c[p>>2]=(c[p>>2]|0)+(c[z>>2]|0)}}}while(0);b=$(c[x>>2]|0,c[s>>2]|0)|0;c[x>>2]=b+(c[w>>2]|0);if((c[x>>2]|0)<0){c[s>>2]=-1;c[x>>2]=$(c[x>>2]|0,-1)|0}else c[s>>2]=1;b=y;do if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){d:do if((c[s>>2]|0)>0)while(1){b=y;e=c[b+4>>2]|0;if(!(((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973836)&(c[x>>2]|0)>0))break d;c[x>>2]=(c[x>>2]|0)+ -1;e=y;e=lF(c[e>>2]|0,c[e+4>>2]|0,10,0)|0;b=y;c[b>>2]=e;c[b+4>>2]=D}else while(1){b=y;b=kF(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;if(!((b|0)==0&(D|0)==0&(c[x>>2]|0)>0))break d;c[x>>2]=(c[x>>2]|0)+ -1;e=y;e=jF(c[e>>2]|0,c[e+4>>2]|0,10,0)|0;b=y;c[b>>2]=e;c[b+4>>2]=D}while(0);f=(c[v>>2]|0)<0;e=y;g=c[e>>2]|0;e=c[e+4>>2]|0;E=ZE(0,0,g|0,e|0)|0;b=y;c[b>>2]=f?E:g;c[b+4>>2]=f?D:e;if(!(c[x>>2]|0)){b=y;h[m>>3]=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);break}h[u>>3]=1.0;if((c[x>>2]|0)>307&(c[x>>2]|0)<342){while(1){if(!((c[x>>2]|0)%308|0))break;h[u>>3]=+h[u>>3]*10.0;c[x>>2]=(c[x>>2]|0)-1}b=y;F=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);G=+h[u>>3];if((c[s>>2]|0)<0){h[m>>3]=F/G;h[m>>3]=+h[m>>3]/1.0e+308;break}else{h[m>>3]=F*G;h[m>>3]=+h[m>>3]*1.0e+308;break}}if((c[x>>2]|0)>=342){b=y;F=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);if((c[s>>2]|0)<0){h[m>>3]=0.0*F;break}else{h[m>>3]=t*F;break}}while(1){if(!((c[x>>2]|0)%22|0))break;h[u>>3]=+h[u>>3]*10.0;c[x>>2]=(c[x>>2]|0)-1}while(1){if((c[x>>2]|0)<=0)break;h[u>>3]=+h[u>>3]*1.0e+22;c[x>>2]=(c[x>>2]|0)-22}b=y;F=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);G=+h[u>>3];if((c[s>>2]|0)<0){h[m>>3]=F/G;break}else{h[m>>3]=F*G;break}}else{if((c[v>>2]|0)<0)s=(c[o>>2]|0)!=0;else s=0;h[m>>3]=s?-0.0:0.0}while(0);h[c[l>>2]>>3]=+h[m>>3];if(((c[o>>2]|0)>0?(c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)&(c[n>>2]|0)!=0)l=(c[r>>2]|0)==0;else l=0;c[j>>2]=l&1;b=c[j>>2]|0;i=k;return b|0}function Mm(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+80|0;l=m+16|0;g=m+76|0;k=m+72|0;n=m+68|0;o=m+64|0;p=m+60|0;f=m+56|0;q=m+8|0;j=m;c[k>>2]=b;c[n>>2]=e;h[q>>3]=0.0;b=c[k>>2]|0;c[l>>2]=2;c[l+4>>2]=0;c[l+8>>2]=24;c[l+12>>2]=58;c[l+16>>2]=o;c[l+20>>2]=2;c[l+24>>2]=0;c[l+28>>2]=59;c[l+32>>2]=0;c[l+36>>2]=p;if((Nm(b,l)|0)!=2){c[g>>2]=1;b=c[g>>2]|0;i=m;return b|0}c[k>>2]=(c[k>>2]|0)+5;if((a[c[k>>2]>>0]|0)==58){c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;c[l>>2]=2;c[l+4>>2]=0;c[l+8>>2]=59;c[l+12>>2]=0;c[l+16>>2]=f;if((Nm(b,l)|0)!=1){c[g>>2]=1;b=c[g>>2]|0;i=m;return b|0}c[k>>2]=(c[k>>2]|0)+2;if((a[c[k>>2]>>0]|0)==46?(d[1224+(d[(c[k>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[j>>3]=1.0;c[k>>2]=(c[k>>2]|0)+1;while(1){if(!(d[1224+(d[c[k>>2]>>0]|0)>>0]&4))break;h[q>>3]=+h[q>>3]*10.0+ +(a[c[k>>2]>>0]|0)-48.0;h[j>>3]=+h[j>>3]*10.0;c[k>>2]=(c[k>>2]|0)+1}h[q>>3]=+h[q>>3]/+h[j>>3]}}else c[f>>2]=0;a[(c[n>>2]|0)+42>>0]=0;a[(c[n>>2]|0)+41>>0]=1;c[(c[n>>2]|0)+20>>2]=c[o>>2];c[(c[n>>2]|0)+24>>2]=c[p>>2];h[(c[n>>2]|0)+32>>3]=+(c[f>>2]|0)+ +h[q>>3];if(Om(c[k>>2]|0,c[n>>2]|0)|0){c[g>>2]=1;b=c[g>>2]|0;i=m;return b|0}else{a[(c[n>>2]|0)+43>>0]=(c[(c[n>>2]|0)+28>>2]|0)!=0?1:0;c[g>>2]=0;b=c[g>>2]|0;i=m;return b|0}return 0}function Nm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+64|0;l=g+48|0;p=g+32|0;j=g+24|0;o=g+20|0;n=g+16|0;m=g+12|0;h=g+8|0;k=g+4|0;f=g;c[l>>2]=b;c[f>>2]=0;c[p>>2]=e;a:while(1){e=c[p>>2]|0;b=c[e>>2]|0;c[p>>2]=e+4;c[o>>2]=b;b=c[p>>2]|0;e=c[b>>2]|0;c[p>>2]=b+4;c[n>>2]=e;e=c[p>>2]|0;b=c[e>>2]|0;c[p>>2]=e+4;c[m>>2]=b;b=c[p>>2]|0;e=c[b>>2]|0;c[p>>2]=b+4;c[h>>2]=e;e=c[p>>2]|0;b=c[e>>2]|0;c[p>>2]=e+4;c[k>>2]=b;c[j>>2]=0;while(1){b=c[o>>2]|0;c[o>>2]=b+ -1;if(!b)break;if(!(d[1224+(d[c[l>>2]>>0]|0)>>0]&4)){h=11;break a}c[j>>2]=((c[j>>2]|0)*10|0)+(a[c[l>>2]>>0]|0)-48;c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)<(c[n>>2]|0)){h=11;break}if((c[j>>2]|0)>(c[m>>2]|0)){h=11;break}if((c[h>>2]|0)!=0?(c[h>>2]|0)!=(a[c[l>>2]>>0]|0):0){h=11;break}c[c[k>>2]>>2]=c[j>>2];c[l>>2]=(c[l>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1;if(!(c[h>>2]|0)){h=11;break}}if((h|0)==11){i=g;return c[f>>2]|0}return 0}function Om(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+80|0;o=f;h=f+64|0;g=f+60|0;n=f+56|0;k=f+52|0;j=f+48|0;l=f+44|0;p=f+40|0;c[g>>2]=b;c[n>>2]=e;c[k>>2]=0;while(1){if(!(d[1224+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[n>>2]|0)+28>>2]=0;c[p>>2]=a[c[g>>2]>>0];do if((c[p>>2]|0)==45){c[k>>2]=-1;m=11}else{if((c[p>>2]|0)==43){c[k>>2]=1;m=11;break}if((c[p>>2]|0)==90|(c[p>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[h>>2]=(c[p>>2]|0)!=0&1;b=c[h>>2]|0;i=f;return b|0}while(0);do if((m|0)==11){c[g>>2]=(c[g>>2]|0)+1;b=c[g>>2]|0;c[o>>2]=2;c[o+4>>2]=0;c[o+8>>2]=14;c[o+12>>2]=58;c[o+16>>2]=j;c[o+20>>2]=2;c[o+24>>2]=0;c[o+28>>2]=59;c[o+32>>2]=0;c[o+36>>2]=l;if((Nm(b,o)|0)==2){c[g>>2]=(c[g>>2]|0)+5;b=$(c[k>>2]|0,(c[l>>2]|0)+((c[j>>2]|0)*60|0)|0)|0;c[(c[n>>2]|0)+28>>2]=b;break}c[h>>2]=1;b=c[h>>2]|0;i=f;return b|0}while(0);while(1){j=c[g>>2]|0;if(!(d[1224+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=j+1}c[h>>2]=(a[j>>0]|0)!=0&1;b=c[h>>2]|0;i=f;return b|0}function Pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f+4|0;d=f;c[h>>2]=a;c[g>>2]=b;a=kb(c[h>>2]|0)|0;c[d>>2]=a;c[d>>2]=(c[9726]|0)!=0?0:a;if(c[d>>2]|0){a=(c[g>>2]|0)+0|0;g=(c[d>>2]|0)+0|0;b=a+44|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(b|0))}c[e>>2]=(c[d>>2]|0)==0&1;i=f;return c[e>>2]|0}function Qm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+96|0;o=g;l=g+84|0;h=g+80|0;j=g+76|0;k=g+72|0;m=g+68|0;n=g+64|0;f=g+60|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=1}else c[f>>2]=0;b=c[h>>2]|0;c[o>>2]=4;c[o+4>>2]=0;c[o+8>>2]=9999;c[o+12>>2]=45;c[o+16>>2]=k;c[o+20>>2]=2;c[o+24>>2]=1;c[o+28>>2]=12;c[o+32>>2]=45;c[o+36>>2]=m;c[o+40>>2]=2;c[o+44>>2]=1;c[o+48>>2]=31;c[o+52>>2]=0;c[o+56>>2]=n;if((Nm(b,o)|0)!=3){c[l>>2]=1;b=c[l>>2]|0;i=g;return b|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[1224+(d[c[h>>2]>>0]|0)>>0]&1)o=1;else o=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!o)break;c[h>>2]=e+1}do if(Mm(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[l>>2]=1;b=c[l>>2]|0;i=g;return b|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;b=c[k>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[f>>2]|0)!=0?0-b|0:b;c[(c[j>>2]|0)+12>>2]=c[m>>2];c[(c[j>>2]|0)+16>>2]=c[n>>2];if(a[(c[j>>2]|0)+43>>0]|0)Cm(c[j>>2]|0);c[l>>2]=0;b=c[l>>2]|0;i=g;return b|0}function Rm(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+12>>2];a=(c[b>>2]|0)+136|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=Sm(c[c[(c[c[f>>2]>>2]|0)+32>>2]>>2]|0,(c[b>>2]|0)+136|0)|0,(c[e>>2]|0)!=0):0){f=(c[b>>2]|0)+136|0;c[f>>2]=0;c[f+4>>2]=0}f=(c[b>>2]|0)+136|0;D=c[f+4>>2]|0;i=d;return c[f>>2]|0}function Sm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;d=i;i=i+32|0;g=d+16|0;f=d+12|0;e=d+8|0;j=d;c[g>>2]=a;c[f>>2]=b;if((c[c[g>>2]>>2]|0)>=2?(c[(c[g>>2]|0)+72>>2]|0)!=0:0){c[e>>2]=zb[c[(c[g>>2]|0)+72>>2]&63](c[g>>2]|0,c[f>>2]|0)|0;a=c[e>>2]|0;i=d;return a|0}c[e>>2]=zb[c[(c[g>>2]|0)+64>>2]&63](c[g>>2]|0,j)|0;k=+h[j>>3]*864.0e5;j=+O(k)>=1.0?k>0.0?(ca(+N(k/4294967296.0),4294967295.0)|0)>>>0:~~+_((k- +(~~k>>>0))/4294967296.0)>>>0:0;a=c[f>>2]|0;c[a>>2]=~~k>>>0;c[a+4>>2]=j;a=c[e>>2]|0;i=d;return a|0}function Tm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;j=e+12|0;f=e+8|0;g=e+4|0;h=e;c[k>>2]=a;c[j>>2]=b;c[f>>2]=0;c[g>>2]=c[k>>2];if((c[j>>2]|0)>=0)c[h>>2]=(c[g>>2]|0)+(c[j>>2]|0);else c[h>>2]=-1;while(1){if(!(d[c[g>>2]>>0]|0)){b=10;break}if((c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0){b=10;break}k=c[g>>2]|0;c[g>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[g>>2]>>0]|0)&192|0)!=128)break a;c[g>>2]=(c[g>>2]|0)+1}while(0);c[f>>2]=(c[f>>2]|0)+1}if((b|0)==10){i=e;return c[f>>2]|0}return 0}function Um(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;f=b+4|0;e=b;c[f>>2]=a;g=c[f>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=b;return g|0}c[e>>2]=d[4984+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[f>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[f>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=b;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=b;return h|0}function Vm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;if(((c[(c[h>>2]|0)+12>>2]|0)+(c[f>>2]|0)|0)>=(c[(c[h>>2]|0)+16>>2]|0)){Wm(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}else{a=(c[h>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);dF((c[(c[h>>2]|0)+8>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)-(c[f>>2]|0))|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}}function Wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[h>>2]=Xm(c[f>>2]|0,c[h>>2]|0)|0;if((c[h>>2]|0)<=0){i=e;return}dF((c[(c[f>>2]|0)+8>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,c[g>>2]|0,c[h>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[h>>2]|0);i=e;return}function Xm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;g=k+24|0;h=k+20|0;j=k+16|0;l=k+12|0;f=k+8|0;m=k;c[h>>2]=b;c[j>>2]=e;if(a[(c[h>>2]|0)+25>>0]|0){c[g>>2]=0;b=c[g>>2]|0;i=k;return b|0}e=c[h>>2]|0;if(!(a[(c[h>>2]|0)+24>>0]|0)){c[j>>2]=(c[e+16>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0)-1;Ym(c[h>>2]|0,2);c[g>>2]=c[j>>2];b=c[g>>2]|0;i=k;return b|0}if((c[e+8>>2]|0)==(c[(c[h>>2]|0)+4>>2]|0))e=0;else e=c[(c[h>>2]|0)+8>>2]|0;c[f>>2]=e;e=c[(c[h>>2]|0)+12>>2]|0;o=m;c[o>>2]=e;c[o+4>>2]=((e|0)<0)<<31>>31;o=(c[j>>2]|0)+1|0;e=m;o=bF(c[e>>2]|0,c[e+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;e=m;c[e>>2]=o;c[e+4>>2]=D;e=m;o=c[e+4>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;n=((b|0)<0)<<31>>31;if((o|0)>(n|0)|((o|0)==(n|0)?(c[e>>2]|0)>>>0>b>>>0:0)){Zm(c[h>>2]|0);Ym(c[h>>2]|0,2);c[g>>2]=0;o=c[g>>2]|0;i=k;return o|0}c[(c[h>>2]|0)+16>>2]=c[m>>2];if((d[(c[h>>2]|0)+24>>0]|0)==1){o=c[(c[h>>2]|0)+16>>2]|0;c[l>>2]=Fk(c[c[h>>2]>>2]|0,c[f>>2]|0,o,((o|0)<0)<<31>>31)|0}else c[l>>2]=jc(c[f>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;if(!(c[l>>2]|0)){Zm(c[h>>2]|0);Ym(c[h>>2]|0,1);c[g>>2]=0;o=c[g>>2]|0;i=k;return o|0}if((c[f>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)>0:0)dF(c[l>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=c[l>>2];c[g>>2]=c[j>>2];o=c[g>>2]|0;i=k;return o|0}function Ym(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+25>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function Zm(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+8>>2]|0)!=(c[(c[e>>2]|0)+4>>2]|0)){a=c[e>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){Xb(c[a>>2]|0,c[(c[e>>2]|0)+8>>2]|0);break}else{hc(c[a+8>>2]|0);break}}while(0);c[(c[e>>2]|0)+8>>2]=0;i=b;return}function _m(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;f=i;i=i+32|0;e=f+20|0;h=f+16|0;g=f+8|0;j=f;c[h>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;d=c[h>>2]|0;k=c[d+4>>2]|0;a=j;c[a>>2]=c[d>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;d=j;b=c[d+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0?(a=j,a=ZE(-1,2147483647,c[a>>2]|0,c[a+4>>2]|0)|0,d=D,k=g,b=c[k+4>>2]|0,(d|0)<(b|0)|((d|0)==(b|0)?a>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=f;return k|0}}else if((b|0)<0?(a=j,a=bF(c[a>>2]|0,c[a+4>>2]|0,-1,2147483647)|0,a=ZE(0,0,a|0,D|0)|0,d=D,k=g,k=bF(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,b=D,(d|0)>(b|0)|(d|0)==(b|0)&a>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=f;return k|0}a=g;k=c[h>>2]|0;b=k;a=bF(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[k>>2]=a;c[k+4>>2]=D;c[e>>2]=0;k=c[e>>2]|0;i=f;return k|0}function $m(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;e=i;i=i+32|0;g=e+16|0;h=e;f=e+12|0;k=e+8|0;c[g>>2]=a;j=h;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=pe(c[g>>2]|0)|0;b=h;j=c[b+4>>2]|0;a=c[(c[k>>2]|0)+88>>2]|0;d=((a|0)<0)<<31>>31;if((j|0)>(d|0)|((j|0)==(d|0)?(c[b>>2]|0)>>>0>a>>>0:0)){he(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}k=h;c[f>>2]=gc(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[f>>2]|0){k=c[f>>2]|0;i=e;return k|0}ie(c[g>>2]|0);k=c[f>>2]|0;i=e;return k|0}function an(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function bn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+48|0;g=m+40|0;j=m+36|0;k=m+32|0;l=m+28|0;n=m+24|0;f=m+20|0;o=m+16|0;p=m+8|0;q=m;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[n>>2]=e[(c[j>>2]|0)+8>>1];c[f>>2]=e[(c[k>>2]|0)+8>>1];c[o>>2]=c[n>>2]|c[f>>2];a:do if(!(c[o>>2]&1)){if(!(c[o>>2]&12)){if(c[o>>2]&2){if(!(c[n>>2]&2)){c[g>>2]=1;break}if(!(c[f>>2]&2)){c[g>>2]=-1;break}if(c[l>>2]|0){c[g>>2]=cn(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;break}}c[g>>2]=dn(c[j>>2]|0,c[k>>2]|0)|0;break}if(c[n>>2]&c[f>>2]&4){b=c[j>>2]|0;p=c[b+4>>2]|0;a=c[k>>2]|0;q=c[a+4>>2]|0;if((p|0)<(q|0)|((p|0)==(q|0)?(c[b>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)){c[g>>2]=-1;break}b=c[j>>2]|0;p=c[b+4>>2]|0;a=c[k>>2]|0;q=c[a+4>>2]|0;if((p|0)>(q|0)|((p|0)==(q|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){c[g>>2]=1;break}else{c[g>>2]=0;break}}do if(!(c[n>>2]&8))if(c[n>>2]&4){a=c[j>>2]|0;h[p>>3]=+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0);break}else{c[g>>2]=1;break a}else h[p>>3]=+h[c[j>>2]>>3];while(0);do if(!(c[f>>2]&8))if(c[f>>2]&4){a=c[k>>2]|0;h[q>>3]=+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0);break}else{c[g>>2]=-1;break a}else h[q>>3]=+h[c[k>>2]>>3];while(0);if(+h[p>>3]<+h[q>>3]){c[g>>2]=-1;break}if(+h[p>>3]>+h[q>>3]){c[g>>2]=1;break}else{c[g>>2]=0;break}}else c[g>>2]=(c[f>>2]&1)-(c[n>>2]&1);while(0);i=m;return c[g>>2]|0}function cn(b,e,f,g){b=b|0;e=e|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;o=i;i=i+128|0;n=o+116|0;u=o+112|0;t=o+108|0;k=o+104|0;m=o+100|0;l=o+96|0;p=o+92|0;q=o+88|0;j=o+84|0;h=o+80|0;r=o+40|0;s=o;c[u>>2]=b;c[t>>2]=e;c[k>>2]=f;c[m>>2]=g;if((d[(c[u>>2]|0)+10>>0]|0|0)==(d[(c[k>>2]|0)+4>>0]|0|0)){c[n>>2]=Ab[c[(c[k>>2]|0)+12>>2]&15](c[(c[k>>2]|0)+8>>2]|0,c[(c[u>>2]|0)+12>>2]|0,c[(c[u>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[(c[t>>2]|0)+16>>2]|0)|0;b=c[n>>2]|0;i=o;return b|0}en(r,c[(c[u>>2]|0)+32>>2]|0,1);en(s,c[(c[u>>2]|0)+32>>2]|0,1);fn(r,c[u>>2]|0,4096);fn(s,c[t>>2]|0,4096);c[p>>2]=Md(r,a[(c[k>>2]|0)+4>>0]|0)|0;if(!(c[p>>2]|0))g=0;else g=c[r+12>>2]|0;c[j>>2]=g;c[q>>2]=Md(s,a[(c[k>>2]|0)+4>>0]|0)|0;if(!(c[q>>2]|0))g=0;else g=c[s+12>>2]|0;c[h>>2]=g;c[l>>2]=Ab[c[(c[k>>2]|0)+12>>2]&15](c[(c[k>>2]|0)+8>>2]|0,c[j>>2]|0,c[p>>2]|0,c[h>>2]|0,c[q>>2]|0)|0;Bd(r);Bd(s);if(((c[p>>2]|0)==0|(c[q>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;c[n>>2]=c[l>>2];b=c[n>>2]|0;i=o;return b|0}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;e=f+12|0;g=f+8|0;h=f+4|0;d=f;c[g>>2]=a;c[h>>2]=b;if((c[(c[g>>2]|0)+12>>2]|0)>(c[(c[h>>2]|0)+12>>2]|0))b=c[(c[h>>2]|0)+12>>2]|0;else b=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=TE(c[(c[g>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,b)|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];a=c[e>>2]|0;i=f;return a|0}else{c[e>>2]=(c[(c[g>>2]|0)+12>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0);a=c[e>>2]|0;i=f;return a|0}return 0}function en(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function fn(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[k>>2]=d;c[j>>2]=f;if((e[(c[h>>2]|0)+8>>1]|0)&9312)gn(c[h>>2]|0);a=c[h>>2]|0;d=c[k>>2]|0;c[a+0>>2]=c[d+0>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];if((e[(c[k>>2]|0)+8>>1]|0)&2048){i=g;return}a=(c[h>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-7169;a=(c[h>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|c[j>>2];i=g;return}function gn(a){a=a|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+4|0;g=f;c[d>>2]=a;if((e[(c[d>>2]|0)+8>>1]|0)&8192)hn(c[d>>2]|0,c[c[d>>2]>>2]|0)|0;a=c[d>>2]|0;do if(!((e[(c[d>>2]|0)+8>>1]|0)&1024)){h=c[d>>2]|0;if((e[a+8>>1]|0)&32){jn(c[h>>2]|0);break}if((e[h+8>>1]|0)&64){c[g>>2]=c[c[d>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else rb[c[a+36>>2]&31](c[(c[d>>2]|0)+16>>2]|0);while(0);b[(c[d>>2]|0)+8>>1]=1;i=f;return}function hn(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+80|0;j=g+76|0;k=g+72|0;f=g+68|0;e=g+40|0;h=g;c[j>>2]=a;c[k>>2]=d;c[f>>2]=0;if(!(c[k>>2]|0)){a=c[f>>2]|0;i=g;return a|0}if(!(c[(c[k>>2]|0)+20>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a=h+0|0;d=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b[h+8>>1]=1;c[h+32>>2]=c[(c[j>>2]|0)+32>>2];c[e>>2]=h;c[e+8>>2]=c[j>>2];c[e+4>>2]=c[k>>2];rb[c[(c[k>>2]|0)+20>>2]&31](e);if((c[(c[j>>2]|0)+24>>2]|0)>0)Xb(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=(c[j>>2]|0)+0|0;h=h+0|0;d=a+40|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(d|0));c[f>>2]=c[e+20>>2];a=c[f>>2]|0;i=g;return a|0}function jn(a){a=a|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[c[f>>2]>>2];Xb(c[(c[d>>2]|0)+4>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=e;return}function kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+24|0;j=f+20|0;h=f+16|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;oc(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,g);i=f;return}function ln(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function mn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=zb[c[e>>2]&63](1612,0)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=b;return e|0}c[c[d>>2]>>2]=-1;e=c[d>>2]|0;i=b;return e|0}function nn(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+48|0;l=h+32|0;p=h+28|0;n=h+24|0;o=h+20|0;k=h+8|0;j=h+4|0;m=h;c[p>>2]=d;c[n>>2]=e;c[o>>2]=g;c[m>>2]=c[p>>2];if((c[c[m>>2]>>2]|0)<0){c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=-1;b[(c[m>>2]|0)+12>>1]=0;a[(c[m>>2]|0)+14>>0]=0}c[k+0>>2]=c[f+0>>2];c[k+4>>2]=c[f+4>>2];c[(c[m>>2]|0)+8>>2]=c[o>>2];while(1){c[j>>2]=Cn(c[m>>2]|0,c[n>>2]&255)|0;do if((c[j>>2]|0)>=642){f=c[m>>2]|0;if((c[j>>2]|0)<969){En(f,(c[j>>2]|0)-642|0);break}else{p=c[n>>2]|0;c[l+0>>2]=c[k+0>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];Fn(f,p,l);An(c[m>>2]|0,c[n>>2]&255,k);c[n>>2]=254;break}}else{Dn(c[m>>2]|0,c[j>>2]|0,c[n>>2]|0,k);p=(c[m>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+ -1;c[n>>2]=254}while(0);if((c[n>>2]|0)==254){j=11;break}if((c[c[m>>2]>>2]|0)<0){j=11;break}}if((j|0)==11){i=h;return}}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];if(!(c[f>>2]|0)){i=d;return}while(1){if((c[c[f>>2]>>2]|0)<0)break;zn(c[f>>2]|0)|0}rb[c[e>>2]&31](c[f>>2]|0);i=d;return}function pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+48|0;g=f+32|0;j=f+28|0;l=f+24|0;k=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=e;c[h>>2]=yn(c[j>>2]|0,c[l>>2]|0,k)|0;Xb(c[j>>2]|0,c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[h>>2];i=f;return}function qn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}c[e>>2]=c[c[d>>2]>>2];Wb(c[e>>2]|0,c[d>>2]|0);a=c[(c[d>>2]|0)+52>>2]|0;if(c[(c[d>>2]|0)+48>>2]|0)c[(c[(c[d>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[e>>2]|0)+4>>2]=a;if(c[(c[d>>2]|0)+52>>2]|0)c[(c[(c[d>>2]|0)+52>>2]|0)+48>>2]=c[(c[d>>2]|0)+48>>2];c[(c[d>>2]|0)+40>>2]=-1241070648;c[c[d>>2]>>2]=0;Xb(c[e>>2]|0,c[d>>2]|0);i=b;return}function rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;c[h>>2]=(c[f>>2]|0)+8+(c[g>>2]<<4);sn(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);tn(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Xb(c[e>>2]|0,c[c[h>>2]>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[h>>2]=c[(c[e>>2]|0)+4>>2];c[g>>2]=0;while(1){b=c[f>>2]|0;if((c[g>>2]|0)>=(c[c[e>>2]>>2]|0))break;wn(b,c[c[h>>2]>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+20}Xb(b,c[(c[e>>2]|0)+4>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}un(c[e>>2]|0,c[f>>2]|0);Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function un(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;sn(c[f>>2]|0,c[c[e>>2]>>2]|0);vn(c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);wn(c[f>>2]|0,c[(c[e>>2]|0)+36>>2]|0);sn(c[f>>2]|0,c[(c[e>>2]|0)+40>>2]|0);wn(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);sn(c[f>>2]|0,c[(c[e>>2]|0)+48>>2]|0);tn(c[f>>2]|0,c[(c[e>>2]|0)+52>>2]|0);wn(c[f>>2]|0,c[(c[e>>2]|0)+60>>2]|0);wn(c[f>>2]|0,c[(c[e>>2]|0)+64>>2]|0);rn(c[f>>2]|0,c[(c[e>>2]|0)+68>>2]|0);i=d;return}function vn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[h>>2]=(c[e>>2]|0)+8;c[g>>2]=0;while(1){b=c[f>>2]|0;if((c[g>>2]|0)>=(c[c[e>>2]>>2]|0))break;Xb(b,c[(c[h>>2]|0)+4>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Xb(c[f>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Vb(c[f>>2]|0,c[(c[h>>2]|0)+16>>2]|0);tn(c[f>>2]|0,c[(c[h>>2]|0)+20>>2]|0);wn(c[f>>2]|0,c[(c[h>>2]|0)+44>>2]|0);xn(c[f>>2]|0,c[(c[h>>2]|0)+48>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Xb(b,c[e>>2]|0);i=d;return}function wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}do if(!(c[(c[f>>2]|0)+4>>2]&16384)){wn(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);wn(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(c[(c[f>>2]|0)+4>>2]&65536)Xb(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){tn(a,c[b>>2]|0);break}else{sn(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&32768){i=d;return}Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[g>>2]=0;while(1){b=c[f>>2]|0;if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Xb(b,c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Xb(b,c[c[e>>2]>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function yn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+128|0;j=g+40|0;m=g+36|0;l=g+32|0;h=g+28|0;k=g;c[j>>2]=b;c[m>>2]=e;c[l>>2]=f;nc(k,g+44|0,70,c[(c[j>>2]|0)+88>>2]|0);c[k>>2]=c[j>>2];oc(k,1,c[m>>2]|0,c[l>>2]|0);c[h>>2]=pc(k)|0;if((d[k+25>>0]|0|0)!=1){m=c[h>>2]|0;i=g;return m|0}a[(c[j>>2]|0)+64>>0]=1;m=c[h>>2]|0;i=g;return m|0}function zn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e+12|0;j=e;c[h>>2]=b;c[j>>2]=(c[h>>2]|0)+12+(c[c[h>>2]>>2]<<4);if((c[c[h>>2]>>2]|0)<0){c[f>>2]=0;j=c[f>>2]|0;i=e;return j|0}else{a[g>>0]=a[(c[j>>2]|0)+2>>0]|0;An(c[h>>2]|0,a[g>>0]|0,(c[j>>2]|0)+4|0);j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+ -1;c[f>>2]=d[g>>0];j=c[f>>2]|0;i=e;return j|0}return 0}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+8|0;k=g+12|0;h=g+4|0;j=g;c[l>>2]=b;a[k>>0]=e;c[h>>2]=f;c[j>>2]=c[(c[l>>2]|0)+8>>2];do switch(d[k>>0]|0|0){case 228:case 221:case 220:case 210:case 209:case 208:case 205:case 203:case 200:case 188:case 179:{sn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 213:case 212:case 201:case 194:{vn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 175:case 174:{wn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 239:case 234:{Bn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 243:case 238:case 229:case 227:case 216:case 204:case 202:{wn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 223:case 219:case 217:{xn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 207:case 196:case 195:case 163:{tn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 252:case 197:{rn(c[c[j>>2]>>2]|0,c[c[h>>2]>>2]|0);i=g;return};case 236:{xn(c[c[j>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0);i=g;return};default:{i=g;return}}while(0)}function Bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+32>>2];wn(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0);sn(c[g>>2]|0,c[(c[f>>2]|0)+24>>2]|0);tn(c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0);xn(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Xb(c[g>>2]|0,c[f>>2]|0)}i=d;return}function Cn(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;k=i;i=i+32|0;j=k+16|0;l=k+12|0;n=k+21|0;h=k+8|0;p=k+4|0;m=k+20|0;o=k;c[l>>2]=f;a[n>>0]=g;c[p>>2]=e[(c[l>>2]|0)+12+(c[c[l>>2]>>2]<<4)>>1];if((c[p>>2]|0)<=429?(f=b[27208+(c[p>>2]<<1)>>1]|0,c[h>>2]=f,(f|0)!=-86):0){c[h>>2]=(c[h>>2]|0)+(d[n>>0]|0);if(!((c[h>>2]|0)<0|(c[h>>2]|0)>=1497)?(d[29360+(c[h>>2]|0)>>0]|0)==(d[n>>0]|0):0){c[j>>2]=e[11720+(c[h>>2]<<1)>>1];f=c[j>>2]|0;i=k;return f|0}if((d[n>>0]|0)>0){if((d[n>>0]|0)>>>0<70?(f=a[30864+(d[n>>0]|0)>>0]|0,a[m>>0]=f,(f&255|0)!=0):0){c[j>>2]=Cn(c[l>>2]|0,a[m>>0]|0)|0;f=c[j>>2]|0;i=k;return f|0}c[o>>2]=(c[h>>2]|0)-(d[n>>0]|0)+70;if((c[o>>2]|0)>=0?(d[29360+(c[o>>2]|0)>>0]|0)==70:0){c[j>>2]=e[11720+(c[o>>2]<<1)>>1];f=c[j>>2]|0;i=k;return f|0}}c[j>>2]=e[28072+(c[p>>2]<<1)>>1];f=c[j>>2]|0;i=k;return f|0}c[j>>2]=e[28072+(c[p>>2]<<1)>>1];f=c[j>>2]|0;i=k;return f|0}function Dn(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=g;g=c[n>>2]|0;c[g>>2]=(c[g>>2]|0)+1;g=c[n>>2]|0;if((c[c[n>>2]>>2]|0)>=100){wy(g,c[j>>2]|0);i=m;return}else{c[k>>2]=(c[n>>2]|0)+12+(c[g>>2]<<4);b[c[k>>2]>>1]=c[h>>2];a[(c[k>>2]|0)+2>>0]=c[l>>2];d=(c[k>>2]|0)+4|0;e=c[j>>2]|0;c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];i=m;return}}function En(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;n=i;i=i+224|0;r=n;p=n+220|0;o=n+216|0;m=n+212|0;l=n+208|0;h=n+196|0;j=n+192|0;k=n+188|0;q=n+184|0;W=n+172|0;J=n+160|0;u=n+140|0;v=n+136|0;A=n+132|0;z=n+128|0;y=n+124|0;x=n+120|0;w=n+116|0;K=n+112|0;L=n+104|0;B=n+100|0;C=n+96|0;E=n+92|0;F=n+88|0;D=n+84|0;H=n+80|0;I=n+76|0;G=n+72|0;N=n+68|0;M=n+64|0;P=n+60|0;R=n+56|0;Q=n+52|0;O=n+48|0;S=n+44|0;T=n+40|0;V=n+36|0;U=n+32|0;t=n+28|0;X=n+24|0;Y=n+20|0;Z=n+16|0;_=n+8|0;c[p>>2]=f;c[o>>2]=g;c[q>>2]=c[(c[p>>2]|0)+8>>2];c[j>>2]=(c[p>>2]|0)+12+(c[c[p>>2]>>2]<<4);c[h+0>>2]=c[6792];c[h+4>>2]=c[6793];c[h+8>>2]=c[6794];a:do switch(c[o>>2]|0){case 65:{Xn(c[q>>2]|0,0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 117:case 115:case 16:case 15:case 14:{c[h>>2]=d[(c[j>>2]|0)+2>>0];break};case 222:case 219:case 107:case 84:case 69:case 30:case 29:{c[h>>2]=1;break};case 33:{Nn(c[q>>2]|0,0,0,0,c[(c[j>>2]|0)+4>>2]|0);tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 9:{In(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 221:case 218:case 108:case 97:case 85:case 83:case 81:case 68:case 31:case 28:{c[h>>2]=0;break};case 26:{Mn(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0,c[(c[j>>2]|0)+ -32+4>>2]|0);break};case 23:{Ln(c[q>>2]|0,1,(c[j>>2]|0)+4|0);break};case 49:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[h+4>>2]=(c[(c[j>>2]|0)+8>>2]|0)+((c[(c[j>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+ -16+4>>2]|0));break};case 94:{Vn(c[q>>2]|0,0,0,0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0,0,0,0)|0;break};case 95:{Wn(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0);break};case 61:{Tn(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 66:{Yn(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 67:{Zn(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 70:{c[h>>2]=0;break};case 62:{Un(c[q>>2]|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0);break};case 106:{_n(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 59:{Sn(J,c[q>>2]|0,97,(c[j>>2]|0)+4|0);Qn(c[q>>2]|0,J);break};case 87:{f=(c[j>>2]|0)+ -16+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break};case 90:{c[(c[q>>2]|0)+324>>2]=0;break};case 76:{c[h>>2]=7;break};case 75:{c[h>>2]=c[(c[j>>2]|0)+4>>2]<<8;c[h+4>>2]=65280;break};case 77:{c[h>>2]=8;break};case 78:{c[h>>2]=9;break};case 79:{c[h>>2]=6;break};case 80:{c[h>>2]=0;break};case 73:case 72:{c[h>>2]=0;c[h+4>>2]=0;break};case 74:{c[h>>2]=c[(c[j>>2]|0)+4>>2];c[h+4>>2]=255;break};case 19:{Kn(c[q>>2]|0);break};case 8:{Hn(c[q>>2]|0);break};case 58:{c[W>>2]=Rn(c[q>>2]|0,157,c[(c[j>>2]|0)+4>>2]|0,0,0)|0;c[W+4>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[W+8>>2]=c[(c[j>>2]|0)+12>>2];Qn(c[q>>2]|0,W);break};case 7:{Gn(c[q>>2]|0,2);break};case 13:{c[h>>2]=7;break};case 93:{Un(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,0);break};case 32:{Nn(c[q>>2]|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+ -16+4|0,a[(c[j>>2]|0)+4>>0]|0,0);break};case 110:{_n(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,1,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 111:{c[u+0>>2]=c[2508];c[u+4>>2]=c[2509];c[u+8>>2]=c[2510];c[u+12>>2]=c[2511];c[u+16>>2]=c[2512];ao(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,u)|0;tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 112:{c[v>>2]=c[(c[j>>2]|0)+4>>2];if(c[v>>2]|0){c[y>>2]=0;c[(c[v>>2]|0)+68>>2]=c[(c[j>>2]|0)+ -16+4>>2];if(c[(c[v>>2]|0)+52>>2]|0){c[A>>2]=0;c[z>>2]=c[v>>2];while(1){if(!(c[z>>2]|0))break;c[(c[z>>2]|0)+56>>2]=c[A>>2];f=(c[z>>2]|0)+6|0;b[f>>1]=e[f>>1]|64;c[A>>2]=c[z>>2];c[z>>2]=c[(c[z>>2]|0)+52>>2];c[y>>2]=(c[y>>2]|0)+1}c[x>>2]=c[(c[c[q>>2]>>2]|0)+104>>2];if((c[x>>2]|0)!=0?(c[y>>2]|0)>(c[x>>2]|0):0)Se(c[q>>2]|0,10056,r)}}else rn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);c[h>>2]=c[v>>2];break};case 116:{c[h>>2]=116;break};case 27:{a[(c[c[q>>2]>>2]|0)+250>>0]=0;f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break};case 103:case 100:case 98:case 82:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 86:{c[h+4>>2]=0;c[h>>2]=0;break};case 46:{c[h>>2]=c[(c[j>>2]|0)+ -48+4>>2];c[h+4>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+ -48+4>>2]|0);break};case 102:{a[h>>0]=c[(c[j>>2]|0)+4>>2];break};case 104:{c[h>>2]=4;break};case 105:{c[h>>2]=5;break};case 109:{$n(c[q>>2]|0,(c[j>>2]|0)+ -112+4|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0);break};case 24:{Ln(c[q>>2]|0,2,(c[j>>2]|0)+4|0);break};case 118:{c[h>>2]=co(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,c[(c[j>>2]|0)+ -80+4>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,b[(c[j>>2]|0)+ -112+4>>1]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0;break};case 120:{c[h>>2]=co(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,0,0,0,0,0,128,0,0)|0;break};case 133:{c[h>>2]=se(c[c[q>>2]>>2]|0,80,0)|0;break};case 134:{c[h>>2]=c[(c[j>>2]|0)+4>>2];io(c[h>>2]|0);break};case 135:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];if((c[h>>2]|0)!=0?(c[c[h>>2]>>2]|0)>0:0)a[(c[h>>2]|0)+8+(((c[c[h>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[j>>2]|0)+4>>2];break};case 121:{c[B>>2]=co(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,0,0,0,0,0,128,0,0)|0;if(c[B>>2]|0){a[(c[B>>2]|0)+4>>0]=116;c[(c[B>>2]|0)+52>>2]=c[(c[j>>2]|0)+ -64+4>>2];c[h>>2]=c[B>>2];break a}else{c[h>>2]=c[(c[j>>2]|0)+ -64+4>>2];break a}};case 63:{Vn(c[q>>2]|0,0,0,0,0,c[(c[j>>2]|0)+4>>2]|0,0,0,0,0)|0;break};case 39:{On(c[q>>2]|0,(c[j>>2]|0)+4|0);f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[(c[q>>2]|0)+324>>2]=0;break};case 71:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2]&~c[(c[j>>2]|0)+8>>2]|c[(c[j>>2]|0)+4>>2];break};case 92:case 54:{f=(c[q>>2]|0)+320|0;g=(c[j>>2]|0)+4|0;c[f+0>>2]=c[g+0>>2];c[f+4>>2]=c[g+4>>2];break};case 56:{Qn(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0);break};case 57:case 55:{Qn(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 38:{c[h>>2]=c[(c[j>>2]|0)+ -32+4>>2];c[h+4>>2]=(c[(c[q>>2]|0)+504>>2]|0)-(c[(c[j>>2]|0)+ -32+4>>2]|0)+(c[(c[q>>2]|0)+508>>2]|0);break};case 99:{c[h>>2]=10;break};case 101:{a[h>>0]=10;break};case 96:{Xn(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,(c[j>>2]|0)+ -48+4|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);Yn(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 44:{Pn(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 122:{b[h>>1]=1;break};case 124:case 123:{b[h>>1]=0;break};case 243:case 125:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];break};case 242:case 236:case 161:case 154:case 126:{c[h>>2]=0;break};case 64:{Wn(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 127:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;if((c[(c[j>>2]|0)+8>>2]|0)>>>0>0)fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+4|0,1);go(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -16+4|0);break};case 128:{c[C>>2]=ho(c[c[q>>2]>>2]|0,116,0)|0;c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[C>>2]|0)|0;break};case 132:{c[h+4>>2]=0;break};case 129:{c[E>>2]=Rn(c[q>>2]|0,116,0,0,(c[j>>2]|0)+4|0)|0;c[F>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+ -32+4|0)|0;c[D>>2]=Rn(c[q>>2]|0,122,c[F>>2]|0,c[E>>2]|0,0)|0;c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[D>>2]|0)|0;break};case 137:{c[h>>2]=bo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,(c[j>>2]|0)+ -80+4|0,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+ -48+4|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;jo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0);break};case 136:{c[h>>2]=0;break};case 138:{c[h>>2]=bo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,0,0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 139:{if((((c[(c[j>>2]|0)+ -96+4>>2]|0)==0?(c[(c[j>>2]|0)+ -32+8>>2]|0)==0:0)?(c[(c[j>>2]|0)+ -16+4>>2]|0)==0:0)?(c[(c[j>>2]|0)+4>>2]|0)==0:0){c[h>>2]=c[(c[j>>2]|0)+ -64+4>>2];break a}if((c[c[(c[j>>2]|0)+ -64+4>>2]>>2]|0)!=1){io(c[(c[j>>2]|0)+ -64+4>>2]|0);c[G>>2]=co(c[q>>2]|0,0,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0,0,0,512,0,0)|0;c[h>>2]=bo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,0,0,(c[j>>2]|0)+ -32+4|0,c[G>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break a}c[h>>2]=bo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,0,0,(c[j>>2]|0)+ -32+4|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;if(c[h>>2]|0){c[H>>2]=(c[h>>2]|0)+8+(((c[c[h>>2]>>2]|0)-1|0)*72|0);c[I>>2]=(c[(c[j>>2]|0)+ -64+4>>2]|0)+8;c[(c[H>>2]|0)+8>>2]=c[(c[I>>2]|0)+8>>2];c[(c[H>>2]|0)+4>>2]=c[(c[I>>2]|0)+4>>2];c[(c[H>>2]|0)+20>>2]=c[(c[I>>2]|0)+20>>2];c[(c[I>>2]|0)+4>>2]=0;c[(c[I>>2]|0)+8>>2]=0;c[(c[I>>2]|0)+20>>2]=0}vn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0);break};case 149:case 140:{c[h>>2]=0;c[h+4>>2]=0;break};case 144:{c[h>>2]=lo(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,0,0)|0;break};case 145:{c[h>>2]=lo(c[q>>2]|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+ -16+4|0,0)|0;break};case 146:{c[h>>2]=lo(c[q>>2]|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+ -16+4|0)|0;break};case 143:{c[h>>2]=1;break};case 142:{c[h>>2]=ko(c[c[q>>2]>>2]|0,0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0)|0;break};case 180:case 152:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];break};case 179:case 153:{c[h>>2]=0;break};case 235:case 162:case 155:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 156:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;if(c[h>>2]|0)a[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[j>>2]|0)+4>>2];break};case 233:case 231:case 171:case 164:case 147:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 234:case 232:case 170:case 163:case 148:{c[h>>2]=0;break};case 151:{c[h>>2]=0;c[h+4>>2]=1;break};case 160:case 158:{c[h>>2]=0;break};case 159:{c[h>>2]=1;break};case 165:{c[h>>2]=0;c[h+4>>2]=0;break};case 166:{c[h>>2]=c[(c[j>>2]|0)+4>>2];c[h+4>>2]=0;break};case 167:{c[h>>2]=c[(c[j>>2]|0)+ -32+4>>2];c[h+4>>2]=c[(c[j>>2]|0)+4>>2];break};case 157:{c[h>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+4>>2]|0)!=0:0)a[(c[(c[h>>2]|0)+4>>2]|0)+12>>0]=c[(c[j>>2]|0)+4>>2];break};case 181:{c[h>>2]=ro(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,(c[j>>2]|0)+4|0)|0;break};case 182:{c[h>>2]=ro(c[c[q>>2]>>2]|0,0,(c[j>>2]|0)+4|0)|0;break};case 183:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];break};case 168:{c[h+4>>2]=c[(c[j>>2]|0)+ -32+4>>2];c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 169:{mo(c[q>>2]|0,c[(c[j>>2]|0)+ -80+4>>2]|0,1);jo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,(c[j>>2]|0)+ -16+4|0);no(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 279:case 263:case 262:case 261:case 260:case 259:case 258:case 257:case 256:case 247:case 150:case 141:case 131:case 130:case 48:case 45:case 42:case 41:case 40:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break};case 119:case 113:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 114:{c[w>>2]=c[(c[j>>2]|0)+4>>2];if((c[w>>2]|0)!=0?(c[(c[w>>2]|0)+52>>2]|0)!=0:0){c[L+4>>2]=0;c[K>>2]=bo(c[q>>2]|0,0,0,0,L,c[w>>2]|0,0,0)|0;c[w>>2]=co(c[q>>2]|0,0,c[K>>2]|0,0,0,0,0,0,0,0)|0}if(c[w>>2]|0){a[(c[w>>2]|0)+4>>0]=c[(c[j>>2]|0)+ -16+4>>2];c[(c[w>>2]|0)+52>>2]=c[(c[j>>2]|0)+ -32+4>>2];if((c[(c[j>>2]|0)+ -16+4>>2]|0)!=116)a[(c[q>>2]|0)+22>>0]=1}else tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0);c[h>>2]=c[w>>2];break};case 47:{c[h>>2]=c[(c[j>>2]|0)+ -80+4>>2];c[h+4>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+ -80+4>>2]|0);break};case 22:{Ln(c[q>>2]|0,0,(c[j>>2]|0)+4|0);break};case 34:{a[h>>0]=0;break};case 5:{Gn(c[q>>2]|0,0);break};case 18:case 17:{Jn(c[q>>2]|0);break};case 35:{if((c[(c[j>>2]|0)+8>>2]|0)==5?(Lb(c[(c[j>>2]|0)+4>>2]|0,9992,5)|0)==0:0){a[h>>0]=32;break a}a[h>>0]=0;f=c[q>>2]|0;g=c[(c[j>>2]|0)+4>>2]|0;c[r>>2]=c[(c[j>>2]|0)+8>>2];c[r+4>>2]=g;Se(f,1e4,r);break};case 6:{Gn(c[q>>2]|0,1);break};case 172:{mo(c[q>>2]|0,c[(c[j>>2]|0)+ -112+4>>2]|0,1);jo(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,(c[j>>2]|0)+ -48+4|0);oo(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,10096);po(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,d[(c[j>>2]|0)+ -80+4>>0]|0);break};case 173:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0,1);break};case 174:{c[h>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0,1);break};case 175:{mo(c[q>>2]|0,c[(c[j>>2]|0)+ -80+4>>2]|0,1);qo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,d[(c[j>>2]|0)+ -64+4>>0]|0);break};case 176:{mo(c[q>>2]|0,c[(c[j>>2]|0)+ -96+4>>2]|0,1);qo(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,0,c[(c[j>>2]|0)+ -32+4>>2]|0,d[(c[j>>2]|0)+ -80+4>>0]|0);break};case 177:{a[h>>0]=a[(c[j>>2]|0)+4>>0]|0;break};case 178:{a[h>>0]=5;break};case 184:{c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];so(h,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);break};case 191:case 190:case 185:{Sn(h,c[q>>2]|0,d[(c[j>>2]|0)+2>>0]|0,(c[j>>2]|0)+4|0);break};case 187:case 186:{Sn(h,c[q>>2]|0,27,(c[j>>2]|0)+4|0);break};case 188:{c[N>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+ -32+4|0)|0;c[M>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+4|0)|0;c[h>>2]=Rn(c[q>>2]|0,122,c[N>>2]|0,c[M>>2]|0,0)|0;so(h,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);break};case 189:{c[P>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+ -64+4|0)|0;c[R>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+ -32+4|0)|0;c[Q>>2]=Rn(c[q>>2]|0,27,0,0,(c[j>>2]|0)+4|0)|0;c[O>>2]=Rn(c[q>>2]|0,122,c[R>>2]|0,c[Q>>2]|0,0)|0;c[h>>2]=Rn(c[q>>2]|0,122,c[P>>2]|0,c[O>>2]|0,0)|0;so(h,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+4|0);break};case 192:{do if(((c[(c[j>>2]|0)+8>>2]|0)>>>0>=2?(a[c[(c[j>>2]|0)+4>>2]>>0]|0)==35:0)?(d[1224+(d[(c[(c[j>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){t=c[q>>2]|0;u=(c[j>>2]|0)+4|0;if(!(d[(c[q>>2]|0)+18>>0]|0)){c[r>>2]=u;Se(t,9968,r);c[h>>2]=0;break}c[h>>2]=Rn(t,159,0,0,u)|0;if(c[h>>2]|0)Ag((c[(c[j>>2]|0)+4>>2]|0)+1|0,(c[h>>2]|0)+28|0)|0}else s=170;while(0);if((s|0)==170){Sn(h,c[q>>2]|0,135,(c[j>>2]|0)+4|0);to(c[q>>2]|0,c[h>>2]|0)}so(h,(c[j>>2]|0)+4|0,(c[j>>2]|0)+4|0);break};case 193:{c[h>>2]=uo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,(c[j>>2]|0)+4|0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -32+8>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 194:{c[h>>2]=Rn(c[q>>2]|0,38,c[(c[j>>2]|0)+ -48+4>>2]|0,0,(c[j>>2]|0)+ -16+4|0)|0;so(h,(c[j>>2]|0)+ -80+4|0,(c[j>>2]|0)+4|0);break};case 195:{if((c[(c[j>>2]|0)+ -16+4>>2]|0)!=0?(c[c[(c[j>>2]|0)+ -16+4>>2]>>2]|0)>(c[(c[c[q>>2]>>2]|0)+112>>2]|0):0){f=c[q>>2]|0;c[r>>2]=(c[j>>2]|0)+ -64+4;Se(f,10112,r)}c[h>>2]=vo(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,(c[j>>2]|0)+ -64+4|0)|0;so(h,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+4|0);if((e[(c[j>>2]|0)+ -32+4>>1]|0)!=0?(c[h>>2]|0)!=0:0){f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|16}break};case 196:{c[h>>2]=vo(c[q>>2]|0,0,(c[j>>2]|0)+ -48+4|0)|0;so(h,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+4|0);break};case 197:{c[h>>2]=vo(c[q>>2]|0,0,(c[j>>2]|0)+4|0)|0;so(h,(c[j>>2]|0)+4|0,(c[j>>2]|0)+4|0);break};case 205:case 204:case 203:case 202:case 201:case 200:case 199:case 198:{wo(h,c[q>>2]|0,d[(c[j>>2]|0)+ -16+2>>0]|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);break};case 206:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=0;break};case 207:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=1;break};case 208:{c[S>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;c[S>>2]=eo(c[q>>2]|0,c[S>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[h>>2]=vo(c[q>>2]|0,c[S>>2]|0,(c[j>>2]|0)+ -16+4|0)|0;if(c[(c[j>>2]|0)+ -16+12>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -32+8>>2];c[h+8>>2]=c[(c[j>>2]|0)+12>>2];if(c[h>>2]|0){f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|128}break};case 209:{c[T>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[T>>2]=eo(c[q>>2]|0,c[T>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0)|0;c[T>>2]=eo(c[q>>2]|0,c[T>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[h>>2]=vo(c[q>>2]|0,c[T>>2]|0,(c[j>>2]|0)+ -48+4|0)|0;if(c[(c[j>>2]|0)+ -48+12>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -64+8>>2];c[h+8>>2]=c[(c[j>>2]|0)+12>>2];if(c[h>>2]|0){f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|128}break};case 223:{do if(c[(c[j>>2]|0)+ -16+4>>2]|0){if((c[c[(c[j>>2]|0)+ -16+4>>2]>>2]|0)==1){c[U>>2]=c[c[(c[(c[j>>2]|0)+ -16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[j>>2]|0)+ -16+4>>2]|0)+4>>2]>>2]=0;sn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);if(c[U>>2]|0){f=(c[U>>2]|0)+4|0;c[f>>2]=c[f>>2]&-257;f=(c[U>>2]|0)+4|0;c[f>>2]=c[f>>2]|512}c[h>>2]=Rn(c[q>>2]|0,(c[(c[j>>2]|0)+ -48+4>>2]|0)!=0?78:79,c[(c[j>>2]|0)+ -64+4>>2]|0,c[U>>2]|0,0)|0;break}c[h>>2]=Rn(c[q>>2]|0,75,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+20>>2]=c[(c[j>>2]|0)+ -16+4>>2];Ao(c[q>>2]|0,c[h>>2]|0)}else sn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);if(c[(c[j>>2]|0)+ -48+4>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0}else{c[h>>2]=Rn(c[q>>2]|0,132,0,0,10152+(c[(c[j>>2]|0)+ -48+4>>2]<<3)|0)|0;wn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0)}while(0);c[h+4>>2]=c[(c[j>>2]|0)+ -64+8>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 210:{xo(h,c[q>>2]|0,d[(c[j>>2]|0)+2>>0]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0);break};case 211:{xo(h,c[q>>2]|0,77,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);break};case 212:{wo(h,c[q>>2]|0,73,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0);yo(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,76);break};case 213:{wo(h,c[q>>2]|0,148,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+4|0);yo(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,77);break};case 215:case 214:{zo(h,c[q>>2]|0,d[(c[j>>2]|0)+ -16+2>>0]|0,(c[j>>2]|0)+4|0,(c[j>>2]|0)+ -16+4|0);break};case 216:{zo(h,c[q>>2]|0,157,(c[j>>2]|0)+4|0,(c[j>>2]|0)+ -16+4|0);break};case 217:{zo(h,c[q>>2]|0,158,(c[j>>2]|0)+4|0,(c[j>>2]|0)+ -16+4|0);break};case 220:{c[V>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[V>>2]=eo(c[q>>2]|0,c[V>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[h>>2]=Rn(c[q>>2]|0,74,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0)|0;if(c[h>>2]|0)c[(c[h>>2]|0)+20>>2]=c[V>>2];else sn(c[c[q>>2]>>2]|0,c[V>>2]|0);if(c[(c[j>>2]|0)+ -48+4>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -64+8>>2];c[h+8>>2]=c[(c[j>>2]|0)+12>>2];break};case 224:{c[h>>2]=Rn(c[q>>2]|0,119,0,0,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+20>>2]=c[(c[j>>2]|0)+ -16+4>>2];f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|2048;Ao(c[q>>2]|0,c[h>>2]|0)}else tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);c[h+4>>2]=c[(c[j>>2]|0)+ -32+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 225:{c[h>>2]=Rn(c[q>>2]|0,75,c[(c[j>>2]|0)+ -64+4>>2]|0,0,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+20>>2]=c[(c[j>>2]|0)+ -16+4>>2];f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|2048;Ao(c[q>>2]|0,c[h>>2]|0)}else tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);if(c[(c[j>>2]|0)+ -48+4>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -64+8>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 226:{c[t>>2]=ko(c[c[q>>2]>>2]|0,0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0)|0;c[h>>2]=Rn(c[q>>2]|0,75,c[(c[j>>2]|0)+ -48+4>>2]|0,0,0)|0;r=c[q>>2]|0;if(c[h>>2]|0){f=co(r,0,c[t>>2]|0,0,0,0,0,0,0,0)|0;c[(c[h>>2]|0)+20>>2]=f;f=(c[h>>2]|0)+4|0;c[f>>2]=c[f>>2]|2048;Ao(c[q>>2]|0,c[h>>2]|0)}else vn(c[r>>2]|0,c[t>>2]|0);if(c[(c[j>>2]|0)+ -32+4>>2]|0)c[h>>2]=Rn(c[q>>2]|0,19,c[h>>2]|0,0,0)|0;c[h+4>>2]=c[(c[j>>2]|0)+ -48+8>>2];q=c[j>>2]|0;if(c[(c[j>>2]|0)+4>>2]|0)q=(c[(c[j>>2]|0)+4>>2]|0)+(c[q+8>>2]|0)|0;else q=(c[(c[j>>2]|0)+ -16+4>>2]|0)+(c[q+ -16+8>>2]|0)|0;c[h+8>>2]=q;break};case 227:{f=Rn(c[q>>2]|0,20,0,0,0)|0;c[h>>2]=f;c[X>>2]=f;if(c[X>>2]|0){c[(c[X>>2]|0)+20>>2]=c[(c[j>>2]|0)+ -16+4>>2];f=(c[X>>2]|0)+4|0;c[f>>2]=c[f>>2]|2048;Ao(c[q>>2]|0,c[X>>2]|0)}else tn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);c[h+4>>2]=c[(c[j>>2]|0)+ -48+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 228:{c[h>>2]=Rn(c[q>>2]|0,136,c[(c[j>>2]|0)+ -48+4>>2]|0,0,0)|0;if(c[h>>2]|0){if(c[(c[j>>2]|0)+ -16+4>>2]|0)r=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;else r=c[(c[j>>2]|0)+ -32+4>>2]|0;c[(c[h>>2]|0)+20>>2]=r;Ao(c[q>>2]|0,c[h>>2]|0)}else{sn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0);wn(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)}c[h+4>>2]=c[(c[j>>2]|0)+ -64+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 238:{c[h>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 229:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[h>>2]=eo(c[q>>2]|0,c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 230:{c[h>>2]=eo(c[q>>2]|0,0,c[(c[j>>2]|0)+ -32+4>>2]|0)|0;c[h>>2]=eo(c[q>>2]|0,c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 237:{c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 248:{Bo(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 250:case 249:{Co(c[q>>2]|0);break};case 251:{Do(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0,0,0);break};case 252:{Do(c[q>>2]|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0,0);break};case 291:case 240:{c[h>>2]=2;break};case 241:{c[h>>2]=0;break};case 239:{Vn(c[q>>2]|0,(c[j>>2]|0)+ -112+4|0,(c[j>>2]|0)+ -96+4|0,ko(c[c[q>>2]>>2]|0,0,(c[j>>2]|0)+ -64+4|0,0)|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+ -160+4>>2]|0,(c[j>>2]|0)+ -176+4|0,c[(c[j>>2]|0)+4>>2]|0,0,c[(c[j>>2]|0)+ -128+4>>2]|0)|0;break};case 244:{c[Y>>2]=uo(c[q>>2]|0,0,(c[j>>2]|0)+ -16+4|0)|0;c[h>>2]=eo(c[q>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[Y>>2]|0)|0;fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0,1);oo(c[q>>2]|0,c[h>>2]|0,10168);if(c[h>>2]|0)a[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[j>>2]|0)+4>>2];break};case 245:{c[Z>>2]=uo(c[q>>2]|0,0,(c[j>>2]|0)+ -16+4|0)|0;c[h>>2]=eo(c[q>>2]|0,0,c[Z>>2]|0)|0;fo(c[q>>2]|0,c[h>>2]|0,(c[j>>2]|0)+ -32+4|0,1);oo(c[q>>2]|0,c[h>>2]|0,10168);if(c[h>>2]|0)a[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[j>>2]|0)+4>>2];break};case 246:{c[h>>2]=0;c[h+4>>2]=0;break};case 271:case 270:{c[h>>2]=d[(c[j>>2]|0)+2>>0];c[h+4>>2]=0;break};case 296:case 275:{c[h>>2]=0;break};case 272:{c[h>>2]=110;c[h+4>>2]=c[(c[j>>2]|0)+4>>2];break};case 297:case 276:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 253:{Do(c[q>>2]|0,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -16+4|0,0);break};case 254:{Do(c[q>>2]|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0,1);break};case 255:{Do(c[q>>2]|0,(c[j>>2]|0)+ -64+4|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -16+4|0,1);break};case 264:{c[_>>2]=c[(c[j>>2]|0)+ -48+4>>2];c[_+4>>2]=(c[(c[j>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+ -48+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);Eo(c[q>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,_);break};case 265:{Fo(c[q>>2]|0,(c[j>>2]|0)+ -112+4|0,(c[j>>2]|0)+ -96+4|0,c[(c[j>>2]|0)+ -80+4>>2]|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -64+8>>2]|0,c[(c[j>>2]|0)+ -32+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -160+4>>2]|0,c[(c[j>>2]|0)+ -128+4>>2]|0);q=c[j>>2]|0;if(!(c[(c[j>>2]|0)+ -96+8>>2]|0)){f=q+ -112+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break a}else{f=q+ -96+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];break a}};case 269:case 266:{c[h>>2]=35;break};case 267:{c[h>>2]=31;break};case 268:{c[h>>2]=49;break};case 283:{Se(c[q>>2]|0,10360,r);break};case 284:{c[h>>2]=Go(c[c[q>>2]>>2]|0,(c[j>>2]|0)+ -64+4|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,a[(c[j>>2]|0)+ -80+4>>0]|0)|0;break};case 277:{c[(c[(c[(c[j>>2]|0)+ -32+4>>2]|0)+36>>2]|0)+32>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[(c[(c[j>>2]|0)+ -32+4>>2]|0)+36>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[h>>2]=c[(c[j>>2]|0)+ -32+4>>2];break};case 278:{c[(c[(c[j>>2]|0)+ -16+4>>2]|0)+36>>2]=c[(c[j>>2]|0)+ -16+4>>2];c[h>>2]=c[(c[j>>2]|0)+ -16+4>>2];break};case 282:{Se(c[q>>2]|0,10272,r);break};case 280:{f=(c[j>>2]|0)+4|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];Se(c[q>>2]|0,10176,r);break};case 287:{c[h>>2]=Jo(c[c[q>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 288:{c[h>>2]=Rn(c[q>>2]|0,57,0,0,0)|0;if(c[h>>2]|0)a[(c[h>>2]|0)+1>>0]=4;c[h+4>>2]=c[(c[j>>2]|0)+ -48+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 285:{c[h>>2]=Ho(c[c[q>>2]>>2]|0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,a[(c[j>>2]|0)+ -64+4>>0]|0)|0;break};case 286:{c[h>>2]=Io(c[c[q>>2]>>2]|0,(c[j>>2]|0)+ -32+4|0,c[(c[j>>2]|0)+4>>2]|0)|0;break};case 293:{Ko(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0);break};case 294:{Lo(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 295:{Mo(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 300:{No(c[q>>2]|0,0,0);break};case 289:{c[h>>2]=Rn(c[q>>2]|0,57,0,0,(c[j>>2]|0)+ -16+4|0)|0;if(c[h>>2]|0)a[(c[h>>2]|0)+1>>0]=c[(c[j>>2]|0)+ -48+4>>2];c[h+4>>2]=c[(c[j>>2]|0)+ -80+4>>2];c[h+8>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+8>>2]|0);break};case 290:{c[h>>2]=1;break};case 292:{c[h>>2]=3;break};case 303:{Oo(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0);break};case 304:{Po(c[q>>2]|0,c[(c[j>>2]|0)+ -48+4>>2]|0,(c[j>>2]|0)+4|0);break};case 305:{Qo(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 306:{a[(c[c[q>>2]>>2]|0)+250>>0]=0;Ro(c[q>>2]|0,c[(c[j>>2]|0)+4>>2]|0);break};case 301:{No(c[q>>2]|0,(c[j>>2]|0)+ -16+4|0,(c[j>>2]|0)+4|0);break};case 302:{Oo(c[q>>2]|0,0,0);break};case 310:{So(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 311:{To(c[q>>2]|0,(c[j>>2]|0)+ -48+4|0,(c[j>>2]|0)+ -32+4|0,(c[j>>2]|0)+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0);break};case 314:{Uo(c[q>>2]|0);break};case 318:case 317:case 316:{Vo(c[q>>2]|0,(c[j>>2]|0)+4|0);break};case 322:{c[h>>2]=0;break};case 309:{So(c[q>>2]|0,0);break};case 324:case 323:{c[h>>2]=c[(c[j>>2]|0)+4>>2];break};case 325:{c[h>>2]=Wo(c[q>>2]|0,0,(c[j>>2]|0)+ -80+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;break};case 326:{c[h>>2]=Wo(c[q>>2]|0,c[(c[j>>2]|0)+ -112+4>>2]|0,(c[j>>2]|0)+ -80+4|0,c[(c[j>>2]|0)+ -64+4>>2]|0,c[(c[j>>2]|0)+ -16+4>>2]|0)|0;break};default:{}}while(0);c[m>>2]=d[10448+(c[o>>2]<<1)>>0];c[k>>2]=d[10449+(c[o>>2]<<1)>>0];f=c[p>>2]|0;c[f>>2]=(c[f>>2]|0)-(c[k>>2]|0);c[l>>2]=Xo(e[(c[j>>2]|0)+(0-(c[k>>2]|0)<<4)>>1]|0,c[m>>2]&255)|0;if((c[l>>2]|0)>=642){Yo(c[p>>2]|0);i=n;return}o=c[p>>2]|0;if(c[k>>2]|0){c[o>>2]=(c[o>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+(0-((c[k>>2]|0)-1)<<4);b[c[j>>2]>>1]=c[l>>2];a[(c[j>>2]|0)+2>>0]=c[m>>2];f=(c[j>>2]|0)+4|0;c[f+0>>2]=c[h+0>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];i=n;return}else{Dn(o,c[l>>2]|0,c[m>>2]|0,h);i=n;return}}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;c[h>>2]=d;Se(a,9968,h);c[(c[f>>2]|0)+8>>2]=c[g>>2];i=e;return}function Gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+450>>0]=c[g>>2];c[(c[f>>2]|0)+440>>2]=0;i=e;return}function Hn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;g=e+24|0;h=e+20|0;f=e+16|0;m=e+12|0;k=e+8|0;l=e+4|0;j=e;c[g>>2]=b;c[h>>2]=c[c[g>>2]>>2];if(a[(c[h>>2]|0)+64>>0]|0){i=e;return}if(a[(c[g>>2]|0)+18>>0]|0){i=e;return}if(c[(c[g>>2]|0)+64>>2]|0){i=e;return}c[f>>2]=dp(c[g>>2]|0)|0;do if(c[f>>2]|0){do{}while((As(c[f>>2]|0,61)|0)!=0);mp(c[f>>2]|0,24)|0;if(!(d[(c[h>>2]|0)+64>>0]|0)){if((c[(c[g>>2]|0)+332>>2]|0)==0?(c[(c[g>>2]|0)+316>>2]|0)==0:0)break;zp(c[f>>2]|0,0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;if(((c[(c[g>>2]|0)+332>>2]&1<>2]|0)!=0|0)!=0?(Ze(c[f>>2]|0,c[m>>2]|0),We(c[f>>2]|0,4,c[m>>2]|0,(c[(c[g>>2]|0)+328>>2]&1<>2]|0)!=0&1,c[(c[g>>2]|0)+336+(c[m>>2]<<2)>>2]|0,c[(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[h>>2]|0)+145>>0]|0)==0):0)Xe(c[f>>2]|0,1);c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+452>>2]|0))break;c[l>>2]=Rp(c[h>>2]|0,c[(c[(c[g>>2]|0)+520>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;hp(c[f>>2]|0,144,0,0,0,c[l>>2]|0,-10)|0;c[k>>2]=(c[k>>2]|0)+1}c[(c[g>>2]|0)+452>>2]=0;uy(c[g>>2]|0);vy(c[g>>2]|0);a:do if(c[(c[g>>2]|0)+316>>2]|0){c[j>>2]=c[(c[g>>2]|0)+316>>2];a[(c[g>>2]|0)+23>>0]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[j>>2]>>2]|0))break a;Os(c[g>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1}}while(0);fp(c[f>>2]|0,16,0,1)|0}}while(0);if(((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+64>>2]|0)==0:0)?(a[(c[h>>2]|0)+64>>0]|0)==0:0){if((c[(c[g>>2]|0)+404>>2]|0)!=0?(c[(c[g>>2]|0)+68>>2]|0)==0:0)c[(c[g>>2]|0)+68>>2]=1;df(c[f>>2]|0,c[g>>2]|0);c[(c[g>>2]|0)+12>>2]=101;a[(c[g>>2]|0)+16>>0]=0}else c[(c[g>>2]|0)+12>>2]=1;c[(c[g>>2]|0)+68>>2]=0;c[(c[g>>2]|0)+72>>2]=0;c[(c[g>>2]|0)+76>>2]=0;c[(c[g>>2]|0)+440>>2]=0;c[(c[g>>2]|0)+332>>2]=0;i=e;return}function In(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;j=d+16|0;h=d+12|0;f=d+8|0;g=d+4|0;e=d;c[j>>2]=a;c[h>>2]=b;c[f>>2]=c[c[j>>2]>>2];if(ap(c[j>>2]|0,22,27128,0,0)|0){i=d;return}c[g>>2]=dp(c[j>>2]|0)|0;if(!(c[g>>2]|0)){i=d;return}a:do if((c[h>>2]|0)!=7){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;fp(c[g>>2]|0,4,c[e>>2]|0,((c[h>>2]|0)==9&1)+1|0)|0;Ze(c[g>>2]|0,c[e>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);fp(c[g>>2]|0,3,0,0)|0;i=d;return}function Jn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;if(ap(c[e>>2]|0,22,27160,0,0)|0){i=b;return}c[d>>2]=dp(c[e>>2]|0)|0;if(!(c[d>>2]|0)){i=b;return}fp(c[d>>2]|0,3,1,0)|0;i=b;return}function Kn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;if(ap(c[e>>2]|0,22,27144,0,0)|0){i=b;return}c[d>>2]=dp(c[e>>2]|0)|0;if(!(c[d>>2]|0)){i=b;return}fp(c[d>>2]|0,3,1,1)|0;i=b;return}function Ln(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;e=i;i=i+32|0;j=e+16|0;g=e+12|0;k=e+8|0;h=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[k>>2]=d;c[h>>2]=Zo(c[c[j>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=e;return}c[f>>2]=dp(c[j>>2]|0)|0;if((c[f>>2]|0)!=0?(ap(c[j>>2]|0,32,c[27112+(c[g>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){hp(c[f>>2]|0,2,c[g>>2]|0,0,0,c[h>>2]|0,-1)|0;i=e;return}Xb(c[c[j>>2]>>2]|0,c[h>>2]|0);i=e;return}function Mn(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;m=i;i=i+96|0;t=m;w=m+84|0;I=m+80|0;H=m+76|0;G=m+72|0;z=m+68|0;y=m+64|0;v=m+60|0;D=m+56|0;q=m+52|0;p=m+48|0;o=m+44|0;n=m+40|0;u=m+36|0;B=m+32|0;A=m+28|0;C=m+24|0;E=m+20|0;F=m+16|0;x=m+12|0;s=m+8|0;r=m+4|0;c[w>>2]=e;c[I>>2]=f;c[H>>2]=g;c[G>>2]=h;c[z>>2]=j;c[y>>2]=k;c[v>>2]=l;c[q>>2]=0;c[p>>2]=c[c[w>>2]>>2];c[n>>2]=Er(c[w>>2]|0,c[I>>2]|0,c[H>>2]|0,u)|0;if((c[n>>2]|0)<0){i=m;return}if((c[G>>2]|0)!=0?(c[n>>2]|0)!=1?(c[(c[H>>2]|0)+4>>2]|0)>>>0>0:0:0){Se(c[w>>2]|0,27e3,t);i=m;return}if(c[G>>2]|0)c[n>>2]=1;I=(c[w>>2]|0)+496|0;e=c[u>>2]|0;c[I+0>>2]=c[e+0>>2];c[I+4>>2]=c[e+4>>2];c[q>>2]=Zo(c[p>>2]|0,c[u>>2]|0)|0;if(!(c[q>>2]|0)){i=m;return}a:do if(!(Pp(c[w>>2]|0,c[q>>2]|0)|0)){if((d[(c[p>>2]|0)+144>>0]|0)==1)c[G>>2]=1;c[A>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];if(!(ap(c[w>>2]|0,18,(c[G>>2]|0)==1?14904:14928,0,c[A>>2]|0)|0)){l=(c[G>>2]|0)!=0;do if(c[z>>2]|0)if(l){c[B>>2]=6;break}else{c[B>>2]=8;break}else if(l){c[B>>2]=4;break}else{c[B>>2]=2;break}while(0);if((c[y>>2]|0)==0?(ap(c[w>>2]|0,c[B>>2]|0,c[q>>2]|0,0,c[A>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+451>>0]|0)){c[C>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];if(Ar(c[w>>2]|0)|0)break a;c[D>>2]=sp(c[p>>2]|0,c[q>>2]|0,c[C>>2]|0)|0;if(!(c[D>>2]|0)){if(!(Op(c[p>>2]|0,c[q>>2]|0,c[C>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[q>>2];Se(I,27072,t);break a}o=c[w>>2]|0;if(c[v>>2]|0){qp(o,c[n>>2]|0);break a}else{c[t>>2]=c[u>>2];Se(o,27048,t);break a}}while(0);c[D>>2]=se(c[p>>2]|0,76,0)|0;if(!(c[D>>2]|0)){a[(c[p>>2]|0)+64>>0]=1;c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+64|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[D>>2]>>2]=c[q>>2];b[(c[D>>2]|0)+36>>1]=-1;c[(c[D>>2]|0)+68>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2];b[(c[D>>2]|0)+40>>1]=1;b[(c[D>>2]|0)+28>>1]=200;c[(c[w>>2]|0)+484>>2]=c[D>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(UE(c[q>>2]|0,16152)|0)==0:0)c[(c[(c[D>>2]|0)+68>>2]|0)+72>>2]=c[D>>2];if(a[(c[p>>2]|0)+145>>0]|0){i=m;return}I=dp(c[w>>2]|0)|0;c[o>>2]=I;if(!I){i=m;return}pp(c[w>>2]|0,0,c[n>>2]|0);if(c[y>>2]|0)mp(c[o>>2]|0,144)|0;e=(c[w>>2]|0)+72|0;I=(c[e>>2]|0)+1|0;c[e>>2]=I;c[(c[w>>2]|0)+384>>2]=I;c[x>>2]=I;I=(c[w>>2]|0)+72|0;e=(c[I>>2]|0)+1|0;c[I>>2]=e;c[(c[w>>2]|0)+388>>2]=e;c[s>>2]=e;e=(c[w>>2]|0)+72|0;I=(c[e>>2]|0)+1|0;c[e>>2]=I;c[r>>2]=I;ip(c[o>>2]|0,51,c[n>>2]|0,c[r>>2]|0,2)|0;Ze(c[o>>2]|0,c[n>>2]|0);c[E>>2]=Ir(c[o>>2]|0,45,c[r>>2]|0)|0;c[F>>2]=(c[(c[p>>2]|0)+24>>2]&32768|0)!=0?1:4;fp(c[o>>2]|0,25,c[F>>2]|0,c[r>>2]|0)|0;ip(c[o>>2]|0,52,c[n>>2]|0,2,c[r>>2]|0)|0;fp(c[o>>2]|0,25,d[(c[(c[(c[p>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[r>>2]|0)|0;ip(c[o>>2]|0,52,c[n>>2]|0,5,c[r>>2]|0)|0;zp(c[o>>2]|0,c[E>>2]|0);p=c[o>>2]|0;if((c[z>>2]|0)!=0|(c[y>>2]|0)!=0)fp(p,25,0,c[s>>2]|0)|0;else{I=fp(p,121,c[n>>2]|0,c[s>>2]|0)|0;c[(c[w>>2]|0)+416>>2]=I}Dt(c[w>>2]|0,c[n>>2]|0);fp(c[o>>2]|0,74,0,c[x>>2]|0)|0;fp(c[o>>2]|0,28,0,c[r>>2]|0)|0;ip(c[o>>2]|0,75,0,c[r>>2]|0,c[x>>2]|0)|0;Xe(c[o>>2]|0,8);mp(c[o>>2]|0,61)|0;i=m;return}}while(0);Xb(c[p>>2]|0,c[q>>2]|0);i=m;return}function Nn(e,f,g,h,j){e=e|0;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,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;y=i;i=i+144|0;m=y;u=y+128|0;C=y+124|0;x=y+120|0;D=y+132|0;H=y+116|0;q=y+112|0;n=y+108|0;p=y+104|0;G=y+100|0;k=y+96|0;o=y+92|0;s=y+88|0;v=y+84|0;t=y+80|0;E=y+60|0;F=y+56|0;w=y+52|0;r=y+48|0;A=y+44|0;z=y+40|0;B=y+36|0;l=y+32|0;c[u>>2]=e;c[C>>2]=f;c[x>>2]=g;a[D>>0]=h;c[H>>2]=j;c[n>>2]=c[c[u>>2]>>2];if((c[x>>2]|0)==0&(c[H>>2]|0)==0){i=y;return}if(d[(c[n>>2]|0)+64>>0]|0){i=y;return}c[q>>2]=c[(c[u>>2]|0)+484>>2];if(!(c[q>>2]|0)){i=y;return}if(a[(c[n>>2]|0)+145>>0]|0)c[(c[q>>2]|0)+32>>2]=c[(c[n>>2]|0)+140>>2];do if(d[D>>0]&32){if(d[(c[q>>2]|0)+44>>0]&8){Se(c[u>>2]|0,26608,m);i=y;return}if(!(d[(c[q>>2]|0)+44>>0]&4)){e=c[u>>2]|0;c[m>>2]=c[c[q>>2]>>2];Se(e,26664,m);break}else{e=(c[q>>2]|0)+44|0;a[e>>0]=d[e>>0]|32;oy(c[u>>2]|0,c[q>>2]|0);break}}while(0);c[p>>2]=Ve(c[n>>2]|0,c[(c[q>>2]|0)+68>>2]|0)|0;if(c[(c[q>>2]|0)+24>>2]|0)iy(c[u>>2]|0,c[q>>2]|0,4,0,c[(c[q>>2]|0)+24>>2]|0);py(c[q>>2]|0);c[G>>2]=c[(c[q>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break;ky(c[G>>2]|0);c[G>>2]=c[(c[G>>2]|0)+20>>2]}if(!(a[(c[n>>2]|0)+145>>0]|0)){c[o>>2]=dp(c[u>>2]|0)|0;if(!(c[o>>2]|0)){i=y;return}Ir(c[o>>2]|0,61,0)|0;if(!(c[(c[q>>2]|0)+12>>2]|0)){c[s>>2]=21400;c[v>>2]=26696}else{c[s>>2]=25504;c[v>>2]=26704}do if((c[H>>2]|0)!=0?(ip(c[o>>2]|0,55,1,c[(c[u>>2]|0)+388>>2]|0,c[p>>2]|0)|0,Xe(c[o>>2]|0,2),c[(c[u>>2]|0)+68>>2]=2,$s(E,14,1),ao(c[u>>2]|0,c[H>>2]|0,E)|0,Ir(c[o>>2]|0,61,1)|0,(c[(c[u>>2]|0)+64>>2]|0)==0):0){c[F>>2]=Yp(c[u>>2]|0,c[H>>2]|0)|0;if(!(c[F>>2]|0)){i=y;return}else{b[(c[q>>2]|0)+38>>1]=b[(c[F>>2]|0)+38>>1]|0;c[(c[q>>2]|0)+4>>2]=c[(c[F>>2]|0)+4>>2];b[(c[F>>2]|0)+38>>1]=0;c[(c[F>>2]|0)+4>>2]=0;Vb(c[n>>2]|0,c[F>>2]|0);break}}while(0);if(c[H>>2]|0)c[t>>2]=qy(c[n>>2]|0,c[q>>2]|0)|0;else{if(d[D>>0]|0)D=(c[u>>2]|0)+504|0;else D=c[x>>2]|0;c[w>>2]=D;c[k>>2]=(c[c[w>>2]>>2]|0)-(c[(c[u>>2]|0)+496>>2]|0);if((a[c[c[w>>2]>>2]>>0]|0)!=59)c[k>>2]=(c[k>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0);e=c[n>>2]|0;g=c[k>>2]|0;f=c[(c[u>>2]|0)+496>>2]|0;c[m>>2]=c[v>>2];c[m+4>>2]=g;c[m+8>>2]=f;c[t>>2]=Te(e,26712,m)|0}e=c[u>>2]|0;F=(c[p>>2]|0)==1?14904:14928;j=c[s>>2]|0;G=c[c[q>>2]>>2]|0;H=c[c[q>>2]>>2]|0;h=c[(c[u>>2]|0)+388>>2]|0;g=c[t>>2]|0;f=c[(c[u>>2]|0)+384>>2]|0;c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[m+4>>2]=F;c[m+8>>2]=j;c[m+12>>2]=G;c[m+16>>2]=H;c[m+20>>2]=h;c[m+24>>2]=g;c[m+28>>2]=f;cp(e,26728,m);Xb(c[n>>2]|0,c[t>>2]|0);ep(c[u>>2]|0,c[p>>2]|0);if((d[(c[q>>2]|0)+44>>0]&8|0)!=0?(c[r>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(c[p>>2]<<4),(c[(c[(c[r>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){e=c[u>>2]|0;c[m>>2]=c[c[r>>2]>>2];cp(e,26816,m)}g=c[o>>2]|0;f=c[p>>2]|0;e=c[n>>2]|0;c[m>>2]=c[c[q>>2]>>2];gp(g,f,Te(e,26864,m)|0)}if(!(a[(c[n>>2]|0)+145>>0]|0)){i=y;return}c[z>>2]=c[(c[q>>2]|0)+68>>2];c[A>>2]=gh((c[z>>2]|0)+8|0,c[c[q>>2]>>2]|0,c[q>>2]|0)|0;if(c[A>>2]|0){a[(c[n>>2]|0)+64>>0]=1;i=y;return}c[(c[u>>2]|0)+484>>2]=0;e=(c[n>>2]|0)+24|0;c[e>>2]=c[e>>2]|2;if(c[(c[q>>2]|0)+12>>2]|0){i=y;return}c[B>>2]=c[(c[u>>2]|0)+496>>2];if(!(c[c[C>>2]>>2]|0))c[C>>2]=c[x>>2];c[l>>2]=(c[c[C>>2]>>2]|0)-(c[B>>2]|0);e=13+(Tm(c[B>>2]|0,c[l>>2]|0)|0)|0;c[(c[q>>2]|0)+48>>2]=e;i=y;return}function On(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;n=i;i=i+48|0;l=n;j=n+32|0;r=n+28|0;k=n+24|0;q=n+20|0;p=n+16|0;o=n+12|0;m=n+8|0;g=n+4|0;c[j>>2]=e;c[r>>2]=f;c[m>>2]=c[c[j>>2]>>2];e=c[(c[j>>2]|0)+484>>2]|0;c[k>>2]=e;if(!e){i=n;return}if(((b[(c[k>>2]|0)+38>>1]|0)+1|0)>(c[(c[m>>2]|0)+96>>2]|0)){e=c[j>>2]|0;c[l>>2]=c[c[k>>2]>>2];Se(e,26552,l);i=n;return}c[p>>2]=Zo(c[m>>2]|0,c[r>>2]|0)|0;if(!(c[p>>2]|0)){i=n;return}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[k>>2]|0)+38>>1]|0))break;if((d[440+(d[c[p>>2]>>0]|0)>>0]|0)==(d[440+(d[c[(c[(c[k>>2]|0)+4>>2]|0)+((c[q>>2]|0)*24|0)>>2]>>0]|0)>>0]|0)?(xc((c[p>>2]|0)+1|0,(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[q>>2]|0)*24|0)>>2]|0)+1|0)|0)==0:0){h=9;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==9){e=c[j>>2]|0;c[l>>2]=c[p>>2];Se(e,26576,l);Xb(c[m>>2]|0,c[p>>2]|0);i=n;return}do if(!(b[(c[k>>2]|0)+38>>1]&7)){c[g>>2]=Fk(c[m>>2]|0,c[(c[k>>2]|0)+4>>2]|0,((b[(c[k>>2]|0)+38>>1]|0)+8|0)*24|0,0)|0;if(c[g>>2]|0){c[(c[k>>2]|0)+4>>2]=c[g>>2];break}Xb(c[m>>2]|0,c[p>>2]|0);i=n;return}while(0);c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((b[(c[k>>2]|0)+38>>1]|0)*24|0);e=c[o>>2]|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[c[o>>2]>>2]=c[p>>2];a[(c[o>>2]|0)+21>>0]=65;a[(c[o>>2]|0)+22>>0]=1;e=(c[k>>2]|0)+38|0;b[e>>1]=(b[e>>1]|0)+1<<16>>16;i=n;return}function Pn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;k=f+8|0;g=f+4|0;h=f;c[j>>2]=d;c[k>>2]=e;c[g>>2]=c[(c[j>>2]|0)+484>>2];if(!(c[g>>2]|0)){i=f;return}if((b[(c[g>>2]|0)+38>>1]|0)<1){i=f;return}c[h>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((b[(c[g>>2]|0)+38>>1]|0)-1|0)*24|0);d=Zo(c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=d;d=Bp(c[(c[h>>2]|0)+12>>2]|0,(c[h>>2]|0)+22|0)|0;a[(c[h>>2]|0)+21>>0]=d;i=f;return}function Qn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;l=f;k=f+20|0;g=f+16|0;m=f+12|0;j=f+8|0;h=f+4|0;c[k>>2]=d;c[g>>2]=e;c[h>>2]=c[c[k>>2]>>2];c[m>>2]=c[(c[k>>2]|0)+484>>2];if(!(c[m>>2]|0)){m=c[h>>2]|0;d=c[g>>2]|0;d=c[d>>2]|0;wn(m,d);i=f;return}c[j>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(((b[(c[m>>2]|0)+38>>1]|0)-1|0)*24|0);if(ny(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+145>>0]|0)|0){wn(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0);m=Bq(c[h>>2]|0,c[c[g>>2]>>2]|0,1)|0;c[(c[j>>2]|0)+4>>2]=m;Xb(c[h>>2]|0,c[(c[j>>2]|0)+8>>2]|0);m=(c[(c[g>>2]|0)+8>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0;m=rm(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,m,((m|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+8>>2]=m;m=c[h>>2]|0;d=c[g>>2]|0;d=c[d>>2]|0;wn(m,d);i=f;return}else{m=c[k>>2]|0;c[l>>2]=c[c[j>>2]>>2];Se(m,26504,l);m=c[h>>2]|0;d=c[g>>2]|0;d=c[d>>2]|0;wn(m,d);i=f;return}}function Rn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+20|0;n=h+16|0;l=h+12|0;k=h+8|0;g=h+4|0;m=h;c[j>>2]=a;c[n>>2]=b;c[l>>2]=d;c[k>>2]=e;c[g>>2]=f;f=c[c[j>>2]>>2]|0;if((c[n>>2]|0)==72&(c[l>>2]|0)!=0&(c[k>>2]|0)!=0)c[m>>2]=mr(f,c[l>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=or(f,c[n>>2]|0,c[g>>2]|0,1)|0;pr(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){a=c[m>>2]|0;i=h;return a|0}Qq(c[j>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;a=c[m>>2]|0;i=h;return a|0}function Sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;a=Rn(c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;c[c[g>>2]>>2]=a;c[(c[g>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function Tn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;g=f+4|0;h=f;c[j>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[j>>2]|0)+484>>2];if(!(c[h>>2]|0)){i=f;return}if((b[(c[h>>2]|0)+38>>1]|0)<1){i=f;return}a[(c[(c[h>>2]|0)+4>>2]|0)+(((b[(c[h>>2]|0)+38>>1]|0)-1|0)*24|0)+20>>0]=c[g>>2];i=f;return}function Un(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0;s=i;i=i+64|0;n=s;m=s+48|0;l=s+44|0;o=s+40|0;p=s+36|0;q=s+32|0;u=s+28|0;w=s+24|0;t=s+20|0;y=s+16|0;x=s+12|0;k=s+8|0;r=s+4|0;c[m>>2]=e;c[l>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[u>>2]=c[(c[m>>2]|0)+484>>2];c[w>>2]=0;c[t>>2]=-1;if(!(c[u>>2]|0)){f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}if(d[(c[m>>2]|0)+451>>0]|0){f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}if(d[(c[u>>2]|0)+44>>0]&4){f=c[m>>2]|0;c[n>>2]=c[c[u>>2]>>2];Se(f,26400,n);f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}e=(c[u>>2]|0)+44|0;a[e>>0]=d[e>>0]|4;a:do if(!(c[l>>2]|0)){c[t>>2]=(b[(c[u>>2]|0)+38>>1]|0)-1;e=(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+23|0;a[e>>0]=d[e>>0]|1;c[w>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+12>>2];c[x>>2]=1}else{c[x>>2]=c[c[l>>2]>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[x>>2]|0))break a;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[u>>2]|0)+38>>1]|0))break;e=(xc(c[(c[(c[l>>2]|0)+4>>2]|0)+((c[y>>2]|0)*20|0)+4>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)>>2]|0)|0)==0;j=c[t>>2]|0;if(e){v=12;break}c[t>>2]=j+1}if((v|0)==12){v=0;e=(c[(c[u>>2]|0)+4>>2]|0)+(j*24|0)+23|0;a[e>>0]=d[e>>0]|1;c[w>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+12>>2]}c[y>>2]=(c[y>>2]|0)+1}}while(0);if((c[x>>2]|0)==1&(c[w>>2]|0)!=0?(e=(xc(c[w>>2]|0,16416)|0)==0,e&(c[q>>2]|0)==0):0){b[(c[u>>2]|0)+36>>1]=c[t>>2];a[(c[u>>2]|0)+45>>0]=c[o>>2];e=(c[u>>2]|0)+44|0;a[e>>0]=d[e>>0]|c[p>>2]<<3;if(!(c[l>>2]|0)){f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}a[(c[m>>2]|0)+448>>0]=a[(c[(c[l>>2]|0)+4>>2]|0)+12>>0]|0;f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}t=c[m>>2]|0;if(c[p>>2]|0){Se(t,26448,n);f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}c[k>>2]=c[t+8>>2];if(c[k>>2]|0){e=mp(c[k>>2]|0,154)|0;c[(c[m>>2]|0)+420>>2]=e}c[r>>2]=Vn(c[m>>2]|0,0,0,0,c[l>>2]|0,c[o>>2]|0,0,0,c[q>>2]|0,0)|0;if((c[r>>2]|0)!=0?(e=(c[r>>2]|0)+55|0,a[e>>0]=a[e>>0]&-4|2,(c[k>>2]|0)!=0):0)zp(c[k>>2]|0,c[(c[m>>2]|0)+420>>2]|0);c[l>>2]=0;f=c[m>>2]|0;f=c[f>>2]|0;e=c[l>>2]|0;sn(f,e);i=s;return}function Vn(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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;s=i;i=i+240|0;D=s;Y=s+232|0;ka=s+228|0;ja=s+224|0;t=s+220|0;x=s+216|0;B=s+212|0;H=s+208|0;v=s+204|0;ma=s+200|0;_=s+196|0;q=s+192|0;A=s+188|0;w=s+184|0;r=s+180|0;$=s+176|0;J=s+172|0;L=s+168|0;ia=s+144|0;R=s+140|0;u=s+136|0;Z=s+132|0;C=s+128|0;M=s+124|0;Q=s+120|0;X=s+116|0;V=s+112|0;ba=s+108|0;U=s+104|0;K=s+100|0;ga=s+96|0;ha=s+92|0;fa=s+88|0;la=s+84|0;W=s+80|0;S=s+76|0;P=s+72|0;T=s+68|0;I=s+64|0;da=s+60|0;ea=s+56|0;F=s+52|0;G=s+48|0;E=s+44|0;ca=s+40|0;O=s+36|0;aa=s+32|0;N=s+28|0;z=s+24|0;c[Y>>2]=f;c[ka>>2]=g;c[ja>>2]=h;c[t>>2]=j;c[x>>2]=k;c[B>>2]=l;c[H>>2]=m;c[v>>2]=n;c[ma>>2]=o;c[_>>2]=p;c[q>>2]=0;c[A>>2]=0;c[w>>2]=0;c[r>>2]=0;c[u>>2]=c[c[Y>>2]>>2];c[M>>2]=0;c[V>>2]=0;c[U>>2]=0;c[K>>2]=0;a:do if(((d[(c[u>>2]|0)+64>>0]|0)==0?(d[(c[Y>>2]|0)+451>>0]|0)==0:0)?0==(Ar(c[Y>>2]|0)|0):0){p=c[Y>>2]|0;if(c[t>>2]|0){c[C>>2]=Er(p,c[ka>>2]|0,c[ja>>2]|0,M)|0;if((c[C>>2]|0)<0)break;if(((a[(c[u>>2]|0)+145>>0]|0)==0?(c[A>>2]=Ft(c[Y>>2]|0,c[t>>2]|0)|0,(c[A>>2]|0)!=0?(c[(c[ja>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[A>>2]|0)+68>>2]|0)==(c[(c[(c[u>>2]|0)+16>>2]|0)+28>>2]|0):0)c[C>>2]=1;Gt(ia,c[Y>>2]|0,c[C>>2]|0,10168,c[M>>2]|0);Ht(ia,c[t>>2]|0)|0;c[A>>2]=np(c[Y>>2]|0,0,(c[t>>2]|0)+8|0)|0;if(!(c[A>>2]|0))break;if((c[C>>2]|0)==1?(c[(c[(c[u>>2]|0)+16>>2]|0)+(c[C>>2]<<4)+12>>2]|0)!=(c[(c[A>>2]|0)+68>>2]|0):0){f=c[Y>>2]|0;c[D>>2]=c[c[A>>2]>>2];Se(f,25944,D);break}if(d[(c[A>>2]|0)+44>>0]&32)c[K>>2]=Zr(c[A>>2]|0)|0}else{c[A>>2]=c[p+484>>2];if(!(c[A>>2]|0))break;c[C>>2]=Ve(c[u>>2]|0,c[(c[A>>2]|0)+68>>2]|0)|0}c[Z>>2]=(c[(c[u>>2]|0)+16>>2]|0)+(c[C>>2]<<4);if(((Lb(c[c[A>>2]>>2]|0,15144,7)|0)==0?(d[(c[u>>2]|0)+145>>0]|0)==0:0)?(Lb((c[c[A>>2]>>2]|0)+7|0,26e3,9)|0)!=0:0){f=c[Y>>2]|0;c[D>>2]=c[c[A>>2]>>2];Se(f,26016,D);break}if(c[(c[A>>2]|0)+12>>2]|0){Se(c[Y>>2]|0,26048,D);break}if(d[(c[A>>2]|0)+44>>0]&16){Se(c[Y>>2]|0,26080,D);break}if(c[M>>2]|0){c[r>>2]=Zo(c[u>>2]|0,c[M>>2]|0)|0;if(!(c[r>>2]|0))break;if(Pp(c[Y>>2]|0,c[r>>2]|0)|0)break;if((a[(c[u>>2]|0)+145>>0]|0)==0?(sp(c[u>>2]|0,c[r>>2]|0,0)|0)!=0:0){f=c[Y>>2]|0;c[D>>2]=c[r>>2];Se(f,26120,D);break}if(Op(c[u>>2]|0,c[r>>2]|0,c[c[Z>>2]>>2]|0)|0){y=c[Y>>2]|0;if(c[_>>2]|0){qp(y,c[C>>2]|0);break}else{c[D>>2]=c[r>>2];Se(y,26160,D);break}}}else{c[ha>>2]=c[(c[A>>2]|0)+8>>2];c[ga>>2]=1;while(1){if(!(c[ha>>2]|0))break;c[ha>>2]=c[(c[ha>>2]|0)+20>>2];c[ga>>2]=(c[ga>>2]|0)+1}f=c[u>>2]|0;g=c[ga>>2]|0;c[D>>2]=c[c[A>>2]>>2];c[D+4>>2]=g;c[r>>2]=Te(f,26184,D)|0;if(!(c[r>>2]|0))break}c[fa>>2]=c[c[Z>>2]>>2];if((ap(c[Y>>2]|0,18,(c[C>>2]|0)==1?14904:14928,0,c[fa>>2]|0)|0)==0?(c[J>>2]=1,c[J>>2]=(c[C>>2]|0)==1?3:1,(ap(c[Y>>2]|0,c[J>>2]|0,c[r>>2]|0,c[c[A>>2]>>2]|0,c[fa>>2]|0)|0)==0):0){if(!(c[x>>2]|0)){c[x>>2]=eo(c[Y>>2]|0,0,0)|0;if(!(c[x>>2]|0))break;f=ne(c[c[Y>>2]>>2]|0,c[(c[(c[A>>2]|0)+4>>2]|0)+(((b[(c[A>>2]|0)+38>>1]|0)-1|0)*24|0)>>2]|0)|0;c[(c[(c[x>>2]|0)+4>>2]|0)+4>>2]=f;a[(c[(c[x>>2]|0)+4>>2]|0)+12>>0]=c[ma>>2]}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[x>>2]>>2]|0))break;c[la>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2];if(c[la>>2]|0){f=1+(Mb(c[(c[la>>2]|0)+8>>2]|0)|0)|0;c[V>>2]=(c[V>>2]|0)+f}c[J>>2]=(c[J>>2]|0)+1}c[$>>2]=Mb(c[r>>2]|0)|0;if(c[K>>2]|0)_=e[(c[K>>2]|0)+50>>1]|0;else _=1;c[ba>>2]=_;c[w>>2]=ov(c[u>>2]|0,(c[c[x>>2]>>2]|0)+(c[ba>>2]|0)&65535,(c[$>>2]|0)+(c[V>>2]|0)+1|0,U)|0;if(!(a[(c[u>>2]|0)+64>>0]|0)){c[c[w>>2]>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+((c[$>>2]|0)+1);dF(c[c[w>>2]>>2]|0,c[r>>2]|0,(c[$>>2]|0)+1|0)|0;c[(c[w>>2]|0)+12>>2]=c[A>>2];a[(c[w>>2]|0)+54>>0]=c[B>>2];f=(c[w>>2]|0)+55|0;a[f>>0]=a[f>>0]&-9|((c[B>>2]|0)!=0&1)<<3&255;f=(c[w>>2]|0)+55|0;a[f>>0]=a[f>>0]&-4|((c[M>>2]|0)!=0?0:1)&3;c[(c[w>>2]|0)+24>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[C>>2]<<4)+12>>2];b[(c[w>>2]|0)+50>>1]=c[c[x>>2]>>2];if(c[v>>2]|0){iy(c[Y>>2]|0,c[A>>2]|0,16,c[v>>2]|0,0);c[(c[w>>2]|0)+36>>2]=c[v>>2];c[v>>2]=0}if((d[(c[(c[Z>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[R>>2]=-1;else c[R>>2]=0;c[J>>2]=0;c[Q>>2]=c[(c[x>>2]|0)+4>>2];while(1){if((c[J>>2]|0)>=(c[c[x>>2]>>2]|0))break;c[W>>2]=c[(c[Q>>2]|0)+4>>2];c[L>>2]=0;c[X>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[L>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0))break;if(!(xc(c[W>>2]|0,c[c[X>>2]>>2]|0)|0))break;c[L>>2]=(c[L>>2]|0)+1;c[X>>2]=(c[X>>2]|0)+24}if((c[L>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0)){y=65;break}b[(c[(c[w>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1]=c[L>>2];if(c[c[Q>>2]>>2]|0){c[P>>2]=c[(c[c[Q>>2]>>2]|0)+8>>2];c[T>>2]=(Mb(c[P>>2]|0)|0)+1;dF(c[U>>2]|0,c[P>>2]|0,c[T>>2]|0)|0;c[P>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+(c[T>>2]|0);c[V>>2]=(c[V>>2]|0)-(c[T>>2]|0)}else{f=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[L>>2]|0)*24|0)+16>>2]|0;c[P>>2]=f;c[P>>2]=(c[P>>2]|0)!=0?f:3320}if((a[(c[u>>2]|0)+145>>0]|0)==0?(Or(c[Y>>2]|0,c[P>>2]|0)|0)==0:0)break a;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[J>>2]<<2)>>2]=c[P>>2];c[S>>2]=d[(c[Q>>2]|0)+12>>0]&c[R>>2];a[(c[(c[w>>2]|0)+28>>2]|0)+(c[J>>2]|0)>>0]=c[S>>2];if(!(d[(c[(c[A>>2]|0)+4>>2]|0)+((c[L>>2]|0)*24|0)+20>>0]|0)){f=(c[w>>2]|0)+55|0;a[f>>0]=a[f>>0]&-9}c[J>>2]=(c[J>>2]|0)+1;c[Q>>2]=(c[Q>>2]|0)+20}if((y|0)==65){f=c[Y>>2]|0;g=c[W>>2]|0;c[D>>2]=c[c[A>>2]>>2];c[D+4>>2]=g;Se(f,26208,D);a[(c[Y>>2]|0)+17>>0]=1;break}b:do if(c[K>>2]|0){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(e[(c[K>>2]|0)+50>>1]|0))break b;c[I>>2]=b[(c[(c[K>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1];if(jy(c[(c[w>>2]|0)+4>>2]|0,e[(c[w>>2]|0)+50>>1]|0,c[I>>2]|0)|0){f=(c[w>>2]|0)+52|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16}else{b[(c[(c[w>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1]=c[I>>2];c[(c[(c[w>>2]|0)+32>>2]|0)+(c[J>>2]<<2)>>2]=c[(c[(c[K>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];a[(c[(c[w>>2]|0)+28>>2]|0)+(c[J>>2]|0)>>0]=a[(c[(c[K>>2]|0)+28>>2]|0)+(c[L>>2]|0)>>0]|0;c[J>>2]=(c[J>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1}}else{b[(c[(c[w>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1]=-1;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[J>>2]<<2)>>2]=3320}while(0);hs(c[w>>2]|0);if(!(c[(c[Y>>2]|0)+484>>2]|0))ky(c[w>>2]|0);c:do if((c[A>>2]|0)==(c[(c[Y>>2]|0)+484>>2]|0)){c[da>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break c;if((e[(c[da>>2]|0)+50>>1]|0)==(e[(c[w>>2]|0)+50>>1]|0)){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break;if((b[(c[(c[da>>2]|0)+4>>2]|0)+(c[ea>>2]<<1)>>1]|0)!=(b[(c[(c[w>>2]|0)+4>>2]|0)+(c[ea>>2]<<1)>>1]|0))break;c[F>>2]=c[(c[(c[da>>2]|0)+32>>2]|0)+(c[ea>>2]<<2)>>2];c[G>>2]=c[(c[(c[w>>2]|0)+32>>2]|0)+(c[ea>>2]<<2)>>2];if((c[F>>2]|0)!=(c[G>>2]|0)?(xc(c[F>>2]|0,c[G>>2]|0)|0)!=0:0)break;c[ea>>2]=(c[ea>>2]|0)+1}if((c[ea>>2]|0)==(e[(c[da>>2]|0)+50>>1]|0))break}c[da>>2]=c[(c[da>>2]|0)+20>>2]}if((d[(c[da>>2]|0)+54>>0]|0)==(d[(c[w>>2]|0)+54>>0]|0))break a;do if((d[(c[da>>2]|0)+54>>0]|0)!=10){if((d[(c[w>>2]|0)+54>>0]|0)==10)break;f=c[Y>>2]|0;c[D>>2]=0;Se(f,26240,D)}while(0);if((d[(c[da>>2]|0)+54>>0]|0)!=10)break a;a[(c[da>>2]|0)+54>>0]=a[(c[w>>2]|0)+54>>0]|0;break a}while(0);do if(a[(c[u>>2]|0)+145>>0]|0){c[E>>2]=gh((c[(c[w>>2]|0)+24>>2]|0)+24|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;C=c[u>>2]|0;if(c[E>>2]|0){a[C+64>>0]=1;break a}f=C+24|0;c[f>>2]=c[f>>2]|2;if(!(c[t>>2]|0))break;c[(c[w>>2]|0)+44>>2]=c[(c[u>>2]|0)+140>>2]}else{if(c[(c[Y>>2]|0)+64>>2]|0)break;if(!((c[t>>2]|0)!=0?1:(d[(c[A>>2]|0)+44>>0]&32|0)==0))break;g=(c[Y>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[aa>>2]=f;c[ca>>2]=dp(c[Y>>2]|0)|0;if(!(c[ca>>2]|0))break a;pp(c[Y>>2]|0,1,c[C>>2]|0);fp(c[ca>>2]|0,120,c[C>>2]|0,c[aa>>2]|0)|0;if(c[H>>2]|0){c[N>>2]=(c[(c[Y>>2]|0)+504>>2]|0)-(c[c[M>>2]>>2]|0)+(c[(c[Y>>2]|0)+508>>2]|0);if((a[(c[c[M>>2]>>2]|0)+((c[N>>2]|0)-1)>>0]|0)==59)c[N>>2]=(c[N>>2]|0)+ -1;f=c[u>>2]|0;h=c[N>>2]|0;g=c[c[M>>2]>>2]|0;c[D>>2]=(c[B>>2]|0)==0?1216:26312;c[D+4>>2]=h;c[D+8>>2]=g;c[O>>2]=Te(f,26288,D)|0}else c[O>>2]=0;f=c[Y>>2]|0;l=(c[C>>2]|0)==1?14904:14928;k=c[c[w>>2]>>2]|0;j=c[c[A>>2]>>2]|0;h=c[aa>>2]|0;g=c[O>>2]|0;c[D>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];c[D+4>>2]=l;c[D+8>>2]=k;c[D+12>>2]=j;c[D+16>>2]=h;c[D+20>>2]=g;cp(f,26320,D);Xb(c[u>>2]|0,c[O>>2]|0);if(!(c[t>>2]|0))break;os(c[Y>>2]|0,c[w>>2]|0,c[aa>>2]|0);ep(c[Y>>2]|0,c[C>>2]|0);h=c[ca>>2]|0;g=c[C>>2]|0;f=c[u>>2]|0;c[D>>2]=c[c[w>>2]>>2];gp(h,g,Te(f,26368,D)|0);Ir(c[ca>>2]|0,142,0)|0}while(0);if(!((c[t>>2]|0)==0?1:(d[(c[u>>2]|0)+145>>0]|0)!=0))break;do if((c[B>>2]|0)!=5)y=121;else{if(!(c[(c[A>>2]|0)+8>>2]|0)){y=121;break}if((d[(c[(c[A>>2]|0)+8>>2]|0)+54>>0]|0)==5){y=121;break}c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(c[(c[z>>2]|0)+20>>2]|0)B=(d[(c[(c[z>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else B=0;A=c[(c[z>>2]|0)+20>>2]|0;if(!B)break;c[z>>2]=A}c[(c[w>>2]|0)+20>>2]=A;c[(c[z>>2]|0)+20>>2]=c[w>>2]}while(0);if((y|0)==121){c[(c[w>>2]|0)+20>>2]=c[(c[A>>2]|0)+8>>2];c[(c[A>>2]|0)+8>>2]=c[w>>2]}c[q>>2]=c[w>>2];c[w>>2]=0}}}while(0);if(!(c[w>>2]|0)){f=c[u>>2]|0;g=c[v>>2]|0;wn(f,g);g=c[u>>2]|0;f=c[x>>2]|0;sn(g,f);f=c[u>>2]|0;g=c[t>>2]|0;vn(f,g);g=c[u>>2]|0;f=c[r>>2]|0;Xb(g,f);f=c[q>>2]|0;i=s;return f|0}ly(c[u>>2]|0,c[w>>2]|0);f=c[u>>2]|0;g=c[v>>2]|0;wn(f,g);g=c[u>>2]|0;f=c[x>>2]|0;sn(g,f);f=c[u>>2]|0;g=c[t>>2]|0;vn(f,g);g=c[u>>2]|0;f=c[r>>2]|0;Xb(g,f);f=c[q>>2]|0;i=s;return f|0}function Wn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=b;c[h>>2]=e;c[g>>2]=c[(c[f>>2]|0)+484>>2];c[k>>2]=c[c[f>>2]>>2];if(((c[g>>2]|0)!=0?(a[(c[f>>2]|0)+451>>0]|0)==0:0)?(tg(c[(c[(c[k>>2]|0)+16>>2]|0)+(d[(c[k>>2]|0)+144>>0]<<4)+4>>2]|0)|0)==0:0){b=eo(c[f>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+324>>2]|0)){i=j;return}fo(c[f>>2]|0,c[(c[g>>2]|0)+24>>2]|0,(c[f>>2]|0)+320|0,1);i=j;return}wn(c[c[f>>2]>>2]|0,c[h>>2]|0);i=j;return}function Xn(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;p=i;i=i+80|0;u=p;q=p+68|0;n=p+64|0;C=p+60|0;o=p+56|0;k=p+52|0;w=p+48|0;m=p+44|0;x=p+40|0;s=p+36|0;B=p+32|0;v=p+28|0;z=p+24|0;t=p+20|0;A=p+16|0;y=p+12|0;r=p+8|0;c[q>>2]=e;c[n>>2]=f;c[C>>2]=g;c[o>>2]=h;c[k>>2]=j;c[w>>2]=c[c[q>>2]>>2];c[m>>2]=0;c[s>>2]=c[(c[q>>2]|0)+484>>2];a:do if((c[s>>2]|0)!=0?(d[(c[q>>2]|0)+451>>0]|0)==0:0){if(!(c[n>>2]|0)){c[A>>2]=(b[(c[s>>2]|0)+38>>1]|0)-1;if((c[A>>2]|0)<0)break;if((c[o>>2]|0)!=0?(c[c[o>>2]>>2]|0)!=1:0){e=c[q>>2]|0;f=c[C>>2]|0;c[u>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[A>>2]|0)*24|0)>>2];c[u+4>>2]=f;Se(e,25736,u);break}c[z>>2]=1}else{if((c[o>>2]|0)!=0?(c[c[o>>2]>>2]|0)!=(c[c[n>>2]>>2]|0):0){Se(c[q>>2]|0,25800,u);break}c[z>>2]=c[c[n>>2]>>2]}c[B>>2]=44+((c[z>>2]|0)-1<<3)+(c[(c[C>>2]|0)+4>>2]|0)+1;b:do if(c[o>>2]|0){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[o>>2]>>2]|0))break b;e=(Mb(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[B>>2]=(c[B>>2]|0)+e;c[v>>2]=(c[v>>2]|0)+1}}while(0);e=c[B>>2]|0;c[m>>2]=se(c[w>>2]|0,e,((e|0)<0)<<31>>31)|0;if(c[m>>2]|0){c[c[m>>2]>>2]=c[s>>2];c[(c[m>>2]|0)+4>>2]=c[(c[s>>2]|0)+16>>2];c[t>>2]=(c[m>>2]|0)+36+(c[z>>2]<<3);c[(c[m>>2]|0)+8>>2]=c[t>>2];dF(c[t>>2]|0,c[c[C>>2]>>2]|0,c[(c[C>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[C>>2]|0)+4>>2]|0)>>0]=0;sm(c[t>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)+1);c[(c[m>>2]|0)+20>>2]=c[z>>2];c:do if(!(c[n>>2]|0))c[(c[m>>2]|0)+36>>2]=(b[(c[s>>2]|0)+38>>1]|0)-1;else{c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break c;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(b[(c[s>>2]|0)+38>>1]|0))break;e=(xc(c[(c[(c[s>>2]|0)+4>>2]|0)+((c[y>>2]|0)*24|0)>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0)|0)==0;A=c[y>>2]|0;if(e){l=25;break}c[y>>2]=A+1}if((l|0)==25){l=0;c[(c[m>>2]|0)+36+(c[v>>2]<<3)>>2]=A}if((c[y>>2]|0)>=(b[(c[s>>2]|0)+38>>1]|0))break;c[v>>2]=(c[v>>2]|0)+1}e=c[q>>2]|0;c[u>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2];Se(e,25896,u);break a}while(0);d:do if(c[o>>2]|0){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break d;c[r>>2]=Mb(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0)|0;c[(c[m>>2]|0)+36+(c[v>>2]<<3)+4>>2]=c[t>>2];dF(c[t>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0,c[r>>2]|0)|0;a[(c[t>>2]|0)+(c[r>>2]|0)>>0]=0;c[t>>2]=(c[t>>2]|0)+((c[r>>2]|0)+1);c[v>>2]=(c[v>>2]|0)+1}}while(0);a[(c[m>>2]|0)+24>>0]=0;a[(c[m>>2]|0)+25>>0]=c[k>>2];a[(c[m>>2]|0)+26>>0]=c[k>>2]>>8;c[x>>2]=gh((c[(c[s>>2]|0)+68>>2]|0)+56|0,c[(c[m>>2]|0)+8>>2]|0,c[m>>2]|0)|0;if((c[x>>2]|0)==(c[m>>2]|0)){a[(c[w>>2]|0)+64>>0]=1;break}if(c[x>>2]|0){c[(c[m>>2]|0)+12>>2]=c[x>>2];c[(c[x>>2]|0)+16>>2]=c[m>>2]}c[(c[s>>2]|0)+16>>2]=c[m>>2];c[m>>2]=0}}while(0);Xb(c[w>>2]|0,c[m>>2]|0);sn(c[w>>2]|0,c[n>>2]|0);sn(c[w>>2]|0,c[o>>2]|0);i=p;return}function Yn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;f=e+8|0;h=e+4|0;g=e;c[j>>2]=b;c[f>>2]=d;b=c[(c[j>>2]|0)+484>>2]|0;c[h>>2]=b;if(!b){i=e;return}j=c[(c[h>>2]|0)+16>>2]|0;c[g>>2]=j;if(!j){i=e;return}a[(c[g>>2]|0)+24>>0]=c[f>>2];i=e;return}function Zn(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;k=j+24|0;m=j+20|0;g=j+16|0;h=j+12|0;f=j+8|0;l=j+4|0;e=j;c[k>>2]=a;c[m>>2]=d;a=c[(c[k>>2]|0)+484>>2]|0;c[g>>2]=a;if(!a){i=j;return}c[h>>2]=(b[(c[g>>2]|0)+38>>1]|0)-1;c[l>>2]=c[c[k>>2]>>2];c[f>>2]=Zo(c[l>>2]|0,c[m>>2]|0)|0;if(!(c[f>>2]|0)){i=j;return}a=(Or(c[k>>2]|0,c[f>>2]|0)|0)!=0;d=c[l>>2]|0;if(!a){Xb(d,c[f>>2]|0);i=j;return}Xb(d,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]=c[f>>2];c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;if((b[c[(c[e>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[e>>2]|0)+32>>2]>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2];c[e>>2]=c[(c[e>>2]|0)+20>>2]}i=j;return}function _n(b,e,f,g){b=b|0;e=e|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;k=i;i=i+64|0;o=k;l=k+48|0;j=k+44|0;p=k+40|0;m=k+36|0;n=k+32|0;u=k+28|0;q=k+24|0;t=k+20|0;r=k+16|0;v=k+12|0;h=k+8|0;s=k+4|0;c[l>>2]=b;c[j>>2]=e;c[p>>2]=f;c[m>>2]=g;c[q>>2]=c[c[l>>2]>>2];do if(!(a[(c[q>>2]|0)+64>>0]|0)){if(c[m>>2]|0){b=(c[q>>2]|0)+67|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[n>>2]=np(c[l>>2]|0,c[p>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[m>>2]|0){b=(c[q>>2]|0)+67|0;a[b>>0]=(a[b>>0]|0)+ -1<<24>>24}if(!(c[n>>2]|0)){if(!(c[m>>2]|0))break;At(c[l>>2]|0,c[(c[j>>2]|0)+12>>2]|0);break}c[t>>2]=Ve(c[q>>2]|0,c[(c[n>>2]|0)+68>>2]|0)|0;if((d[(c[n>>2]|0)+44>>0]&16|0)!=0?(Qp(c[l>>2]|0,c[n>>2]|0)|0)!=0:0)break;c[v>>2]=(c[t>>2]|0)==1?14904:14928;c[h>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[s>>2]=0;if(!(ap(c[l>>2]|0,9,c[v>>2]|0,0,c[h>>2]|0)|0)){do if(c[p>>2]|0)if((c[t>>2]|0)==1){c[r>>2]=15;break}else{c[r>>2]=17;break}else{if(d[(c[n>>2]|0)+44>>0]&16){c[r>>2]=30;c[s>>2]=c[(c[(Rp(c[q>>2]|0,c[n>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[t>>2]|0)==1){c[r>>2]=13;break}else{c[r>>2]=11;break}}while(0);if((ap(c[l>>2]|0,c[r>>2]|0,c[c[n>>2]>>2]|0,c[s>>2]|0,c[h>>2]|0)|0)==0?(ap(c[l>>2]|0,9,c[c[n>>2]>>2]|0,0,c[h>>2]|0)|0)==0:0){if((Lb(c[c[n>>2]>>2]|0,15144,7)|0)==0?(Lb(c[c[n>>2]>>2]|0,25512,11)|0)!=0:0){b=c[l>>2]|0;c[o>>2]=c[c[n>>2]>>2];Se(b,25528,o);break}if((c[p>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]|0)==0:0){b=c[l>>2]|0;c[o>>2]=c[c[n>>2]>>2];Se(b,25560,o);break}if((c[p>>2]|0)==0?(c[(c[n>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;c[o>>2]=c[c[n>>2]>>2];Se(b,25600,o);break}c[u>>2]=dp(c[l>>2]|0)|0;if(c[u>>2]|0){pp(c[l>>2]|0,1,c[t>>2]|0);iu(c[l>>2]|0,c[t>>2]|0,18168,c[c[n>>2]>>2]|0);dy(c[l>>2]|0,c[j>>2]|0,c[n>>2]|0);ey(c[l>>2]|0,c[n>>2]|0,c[t>>2]|0,c[p>>2]|0)}}}}while(0);vn(c[q>>2]|0,c[j>>2]|0);i=k;return}function $n(b,e,f,g,h,j,k){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;p=i;i=i+96|0;o=p+84|0;s=p+80|0;u=p+76|0;v=p+72|0;t=p+68|0;z=p+64|0;A=p+60|0;q=p+56|0;m=p+52|0;n=p+48|0;l=p+40|0;y=p+16|0;w=p+12|0;x=p+8|0;r=p+4|0;c[o>>2]=b;c[s>>2]=e;c[u>>2]=f;c[v>>2]=g;c[t>>2]=h;c[z>>2]=j;c[A>>2]=k;c[w>>2]=0;c[r>>2]=c[c[o>>2]>>2];k=c[o>>2]|0;if((c[(c[o>>2]|0)+440>>2]|0)>0){Se(k,25464,p);tn(c[r>>2]|0,c[t>>2]|0);i=p;return}Mn(k,c[u>>2]|0,c[v>>2]|0,c[z>>2]|0,1,0,c[A>>2]|0);c[q>>2]=c[(c[o>>2]|0)+484>>2];if((c[q>>2]|0)!=0?(c[(c[o>>2]|0)+64>>2]|0)==0:0){Er(c[o>>2]|0,c[u>>2]|0,c[v>>2]|0,w)|0;c[x>>2]=Ve(c[r>>2]|0,c[(c[q>>2]|0)+68>>2]|0)|0;Gt(y,c[o>>2]|0,c[x>>2]|0,25504,c[w>>2]|0);b=(It(y,c[t>>2]|0)|0)!=0;v=c[r>>2]|0;u=c[t>>2]|0;if(b){tn(v,u);i=p;return}b=Wp(v,u,1)|0;c[(c[q>>2]|0)+12>>2]=b;tn(c[r>>2]|0,c[t>>2]|0);if(a[(c[r>>2]|0)+64>>0]|0){i=p;return}if(!(a[(c[r>>2]|0)+145>>0]|0))Qp(c[o>>2]|0,c[q>>2]|0)|0;b=(c[o>>2]|0)+504|0;c[l+0>>2]=c[b+0>>2];c[l+4>>2]=c[b+4>>2];if((a[c[l>>2]>>0]|0)!=0?(a[c[l>>2]>>0]|0)!=59:0)c[l>>2]=(c[l>>2]|0)+(c[l+4>>2]|0);c[l+4>>2]=0;c[m>>2]=(c[l>>2]|0)-(c[c[s>>2]>>2]|0);c[n>>2]=c[c[s>>2]>>2];while(1){if((c[m>>2]|0)>0)r=(d[1224+(d[(c[n>>2]|0)+((c[m>>2]|0)-1)>>0]|0)>>0]&1|0)!=0;else r=0;q=c[m>>2]|0;if(!r)break;c[m>>2]=q+ -1}c[l>>2]=(c[n>>2]|0)+(q-1);c[l+4>>2]=1;Nn(c[o>>2]|0,0,l,0,0);i=p;return}tn(c[r>>2]|0,c[t>>2]|0);i=p;return}function ao(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,A=0,B=0,C=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,ya=0,za=0;W=i;i=i+400|0;T=W+384|0;o=W+380|0;n=W+376|0;l=W+372|0;u=W+368|0;I=W+364|0;N=W+360|0;t=W+356|0;ra=W+352|0;r=W+348|0;q=W+344|0;ma=W+340|0;y=W+336|0;z=W+332|0;w=W+328|0;A=W+316|0;p=W+288|0;V=W+240|0;L=W+236|0;m=W+232|0;v=W+228|0;pa=W+224|0;ua=W+204|0;ta=W+200|0;ya=W+196|0;za=W+192|0;sa=W+188|0;qa=W+184|0;va=W+180|0;wa=W+176|0;xa=W+388|0;ba=W+144|0;S=W+140|0;R=W+136|0;Y=W+132|0;Z=W+128|0;M=W+124|0;j=W+120|0;O=W+116|0;P=W+112|0;Q=W+108|0;oa=W+104|0;na=W+100|0;k=W+96|0;x=W+92|0;$=W+88|0;_=W+84|0;s=W+80|0;B=W+76|0;X=W+72|0;U=W+68|0;aa=W+64|0;H=W+60|0;G=W+56|0;J=W+52|0;K=W+48|0;F=W+44|0;E=W+40|0;C=W+36|0;ea=W+32|0;fa=W+28|0;la=W+24|0;ka=W+20|0;ca=W+16|0;ja=W+12|0;ia=W+8|0;ha=W+4|0;ga=W;da=W+390|0;c[o>>2]=f;c[n>>2]=g;c[l>>2]=h;c[w>>2]=1;c[v>>2]=c[(c[o>>2]|0)+464>>2];g=(c[o>>2]|0)+468|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[o>>2]|0)+464>>2]=f;c[m>>2]=c[c[o>>2]>>2];if(((c[n>>2]|0)!=0?(d[(c[m>>2]|0)+64>>0]|0)==0:0)?(c[(c[o>>2]|0)+64>>2]|0)==0:0){if(ap(c[o>>2]|0,21,0,0,0)|0){c[T>>2]=1;f=c[T>>2]|0;i=W;return f|0}g=V+0|0;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[l>>2]>>0]|0)<=8){sn(c[m>>2]|0,c[(c[n>>2]|0)+48>>2]|0);c[(c[n>>2]|0)+48>>2]=0;f=(c[n>>2]|0)+6|0;b[f>>1]=e[f>>1]&-2}Zp(c[o>>2]|0,c[n>>2]|0,0);c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p>>2]=c[(c[n>>2]|0)+48>>2];c[q>>2]=c[(c[n>>2]|0)+32>>2];c[r>>2]=c[c[n>>2]>>2];a:do if((((c[(c[o>>2]|0)+64>>2]|0)==0?(d[(c[m>>2]|0)+64>>0]|0)==0:0)?(c[ra>>2]=(e[(c[n>>2]|0)+6>>1]&4|0)!=0&1,c[t>>2]=dp(c[o>>2]|0)|0,(c[t>>2]|0)!=0):0)?(nx(c[o>>2]|0,c[l>>2]|0,c[c[r>>2]>>2]|0)|0)==0:0){c[u>>2]=0;while(1){if(c[(c[n>>2]|0)+52>>2]|0)break;if((c[u>>2]|0)>=(c[c[q>>2]>>2]|0))break;c[pa>>2]=(c[q>>2]|0)+8+((c[u>>2]|0)*72|0);c[ta>>2]=c[(c[pa>>2]|0)+20>>2];do if(c[ta>>2]|0){if(c[(c[pa>>2]|0)+24>>2]|0){if((d[(c[pa>>2]|0)+37>>0]|0)>>>2&1)break;fp(c[t>>2]|0,17,c[(c[pa>>2]|0)+28>>2]|0,c[(c[pa>>2]|0)+24>>2]|0)|0;break}g=ox(c[n>>2]|0)|0;f=(c[o>>2]|0)+460|0;c[f>>2]=(c[f>>2]|0)+g;c[ya>>2]=(e[(c[ta>>2]|0)+6>>1]&4|0)!=0&1;b:do if(px(c[o>>2]|0,c[n>>2]|0,c[u>>2]|0,c[ra>>2]|0,c[ya>>2]|0)|0){if(c[ya>>2]|0){c[ra>>2]=1;f=(c[n>>2]|0)+6|0;b[f>>1]=e[f>>1]|4}c[u>>2]=-1}else{do if((c[c[q>>2]>>2]|0)==1){if(e[(c[m>>2]|0)+60>>1]&256)break;c[za>>2]=(Mr(c[t>>2]|0)|0)+1;g=(c[o>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[pa>>2]|0)+28>>2]=f;ip(c[t>>2]|0,20,c[(c[pa>>2]|0)+28>>2]|0,0,c[za>>2]|0)|0;c[(c[pa>>2]|0)+24>>2]=c[za>>2];$s(ua,13,c[(c[pa>>2]|0)+28>>2]|0);a[(c[pa>>2]|0)+38>>0]=c[(c[o>>2]|0)+468>>2];ao(c[o>>2]|0,c[ta>>2]|0,ua)|0;f=(c[ta>>2]|0)+24|0;f=dq(c[f>>2]|0,c[f+4>>2]|0)|0;b[(c[(c[pa>>2]|0)+16>>2]|0)+28>>1]=f;f=(c[pa>>2]|0)+37|0;a[f>>0]=a[f>>0]&-5|4;c[(c[pa>>2]|0)+32>>2]=c[ua+8>>2];Ir(c[t>>2]|0,21,c[(c[pa>>2]|0)+28>>2]|0)|0;zp(c[t>>2]|0,(c[za>>2]|0)-1|0);qx(c[o>>2]|0);break b}while(0);c[qa>>2]=0;g=(c[o>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[pa>>2]|0)+28>>2]=f;c[sa>>2]=fp(c[t>>2]|0,25,0,c[(c[pa>>2]|0)+28>>2]|0)|0;c[(c[pa>>2]|0)+24>>2]=(c[sa>>2]|0)+1;if(!((d[(c[pa>>2]|0)+37>>0]|0)>>>1&1))c[qa>>2]=_s(c[o>>2]|0)|0;$s(ua,12,c[(c[pa>>2]|0)+40>>2]|0);a[(c[pa>>2]|0)+38>>0]=c[(c[o>>2]|0)+468>>2];ao(c[o>>2]|0,c[ta>>2]|0,ua)|0;f=(c[ta>>2]|0)+24|0;f=dq(c[f>>2]|0,c[f+4>>2]|0)|0;b[(c[(c[pa>>2]|0)+16>>2]|0)+28>>1]=f;if(c[qa>>2]|0)zp(c[t>>2]|0,c[qa>>2]|0);c[va>>2]=Ir(c[t>>2]|0,18,c[(c[pa>>2]|0)+28>>2]|0)|0;_e(c[t>>2]|0,c[sa>>2]|0,c[va>>2]|0);qx(c[o>>2]|0)}while(0);if(a[(c[m>>2]|0)+64>>0]|0)break a;g=ox(c[n>>2]|0)|0;f=(c[o>>2]|0)+460|0;c[f>>2]=(c[f>>2]|0)-g;c[q>>2]=c[(c[n>>2]|0)+32>>2];if((d[c[l>>2]>>0]|0)>8)c[p>>2]=c[(c[n>>2]|0)+48>>2]}while(0);c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=c[c[n>>2]>>2];c[ma>>2]=c[(c[n>>2]|0)+36>>2];c[y>>2]=c[(c[n>>2]|0)+40>>2];c[z>>2]=c[(c[n>>2]|0)+44>>2];a[A>>0]=(e[(c[n>>2]|0)+6>>1]&1|0)!=0;if(c[(c[n>>2]|0)+52>>2]|0){c[w>>2]=rx(c[o>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;c[(c[o>>2]|0)+464>>2]=c[v>>2];c[T>>2]=c[w>>2];f=c[T>>2]|0;i=W;return f|0}if((e[(c[n>>2]|0)+6>>1]&5|0)==1?(Eq(c[p>>2]|0,c[c[n>>2]>>2]|0,-1)|0)==0:0){f=(c[n>>2]|0)+6|0;b[f>>1]=e[f>>1]&-2;f=Jq(c[m>>2]|0,c[c[n>>2]>>2]|0,0)|0;c[(c[n>>2]|0)+40>>2]=f;c[y>>2]=c[(c[n>>2]|0)+40>>2];c[p>>2]=0}if(c[p>>2]|0){c[wa>>2]=sx(c[o>>2]|0,c[p>>2]|0,0,0)|0;g=(c[o>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[p+8>>2]=f;c[p+20>>2]=hp(c[t>>2]|0,57,c[p+8>>2]|0,(c[c[p>>2]>>2]|0)+1+(c[c[r>>2]>>2]|0)|0,0,c[wa>>2]|0,-6)|0}else c[p+20>>2]=-1;if((d[c[l>>2]>>0]|0)==12)fp(c[t>>2]|0,57,c[(c[l>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0)|0;c[L>>2]=Nr(c[t>>2]|0)|0;f=(c[n>>2]|0)+24|0;c[f>>2]=-1;c[f+4>>2]=2147483647;tx(c[o>>2]|0,c[n>>2]|0,c[L>>2]|0);if((c[(c[n>>2]|0)+8>>2]|0)==0?(c[p+20>>2]|0)>=0:0){a[(dt(c[t>>2]|0,c[p+20>>2]|0)|0)>>0]=58;f=p+24|0;a[f>>0]=d[f>>0]|1}if(e[(c[n>>2]|0)+6>>1]&1){f=(c[o>>2]|0)+68|0;g=c[f>>2]|0;c[f>>2]=g+1;c[A+4>>2]=g;g=c[t>>2]|0;f=c[A+4>>2]|0;c[A+8>>2]=hp(g,57,f,0,0,sx(c[o>>2]|0,c[c[n>>2]>>2]|0,0,0)|0,-6)|0;Xe(c[t>>2]|0,8);a[A+1>>0]=3}else a[A+1>>0]=0;if((c[ra>>2]|0)==0&(c[y>>2]|0)==0){b[xa>>1]=(d[A>>0]|0)!=0?1024:0;c[N>>2]=Hu(c[o>>2]|0,c[q>>2]|0,c[ma>>2]|0,c[p>>2]|0,c[c[n>>2]>>2]|0,b[xa>>1]|0,0)|0;if(!(c[N>>2]|0))break;g=ux(c[N>>2]|0)|0;za=D;f=(c[n>>2]|0)+24|0;h=c[f+4>>2]|0;if(za>>>0>>0|((za|0)==(h|0)?g>>>0<(c[f>>2]|0)>>>0:0)){g=ux(c[N>>2]|0)|0;f=(c[n>>2]|0)+24|0;c[f>>2]=g;c[f+4>>2]=D}do if(d[A>>0]|0){if(!(vx(c[N>>2]|0)|0))break;a[A+1>>0]=vx(c[N>>2]|0)|0}while(0);do if(c[p>>2]|0){c[p+4>>2]=wx(c[N>>2]|0)|0;if((c[p+4>>2]|0)!=(c[c[p>>2]>>2]|0))break;c[p>>2]=0}while(0);do if((c[p+20>>2]|0)>=0){if(c[p>>2]|0)break;cf(c[t>>2]|0,c[p+20>>2]|0)}while(0);ya=c[o>>2]|0;za=c[n>>2]|0;h=c[r>>2]|0;g=c[l>>2]|0;f=yx(c[N>>2]|0)|0;xx(ya,za,h,-1,p,A,g,f,zx(c[N>>2]|0)|0);Iu(c[N>>2]|0)}else{c[O>>2]=0;c[P>>2]=0;c[Q>>2]=0;pa=c[n>>2]|0;do if(c[y>>2]|0){c[oa>>2]=c[c[pa>>2]>>2];c[na>>2]=c[(c[c[n>>2]>>2]|0)+4>>2];while(1){if((c[oa>>2]|0)<=0)break;b[(c[na>>2]|0)+18>>1]=0;c[oa>>2]=(c[oa>>2]|0)+ -1;c[na>>2]=(c[na>>2]|0)+20}c[oa>>2]=c[c[y>>2]>>2];c[na>>2]=c[(c[y>>2]|0)+4>>2];while(1){if((c[oa>>2]|0)<=0)break;b[(c[na>>2]|0)+18>>1]=0;c[oa>>2]=(c[oa>>2]|0)+ -1;c[na>>2]=(c[na>>2]|0)+20}f=(c[n>>2]|0)+24|0;g=c[f+4>>2]|0;if(!(g>>>0>0|(g|0)==0&(c[f>>2]|0)>>>0>100))break;f=(c[n>>2]|0)+24|0;c[f>>2]=100;c[f+4>>2]=0}else{f=pa+24|0;c[f>>2]=1;c[f+4>>2]=0}while(0);if(!(Eq(c[y>>2]|0,c[p>>2]|0,-1)|0))c[Q>>2]=1;c[j>>2]=Nr(c[t>>2]|0)|0;c[ba+0>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;c[ba>>2]=c[o>>2];c[ba+4>>2]=c[q>>2];c[ba+12>>2]=V;c[V+16>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;if(c[y>>2]|0)na=c[c[y>>2]>>2]|0;else na=0;c[V+12>>2]=na;c[V+24>>2]=c[y>>2];Ax(ba,c[r>>2]|0);Ax(ba,c[p>>2]|0);if(c[z>>2]|0)Bx(ba,c[z>>2]|0);c[V+36>>2]=c[V+32>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[V+44>>2]|0))break;f=ba+28|0;b[f>>1]=e[f>>1]|8;Ax(ba,c[(c[(c[V+40>>2]|0)+(c[u>>2]<<4)>>2]|0)+20>>2]|0);f=ba+28|0;b[f>>1]=e[f>>1]&-9;c[u>>2]=(c[u>>2]|0)+1}c[V+20>>2]=c[(c[o>>2]|0)+72>>2];if(a[(c[m>>2]|0)+64>>0]|0)break;if(c[y>>2]|0){g=(c[o>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[V+4>>2]=f;c[k>>2]=sx(c[o>>2]|0,c[y>>2]|0,0,0)|0;c[X>>2]=hp(c[t>>2]|0,58,c[V+4>>2]|0,c[V+12>>2]|0,0,c[k>>2]|0,-6)|0;f=(c[o>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[Y>>2]=g;g=(c[o>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[Z>>2]=f;f=(c[o>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[_>>2]=g;c[$>>2]=Nr(c[t>>2]|0)|0;g=(c[o>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[aa>>2]=f;c[U>>2]=Nr(c[t>>2]|0)|0;c[S>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;f=(c[o>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(c[c[y>>2]>>2]|0);c[R>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;f=(c[o>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(c[c[y>>2]>>2]|0);fp(c[t>>2]|0,25,0,c[Z>>2]|0)|0;fp(c[t>>2]|0,25,0,c[Y>>2]|0)|0;ip(c[t>>2]|0,28,0,c[S>>2]|0,(c[S>>2]|0)+(c[c[y>>2]>>2]|0)-1|0)|0;fp(c[t>>2]|0,17,c[aa>>2]|0,c[U>>2]|0)|0;c[N>>2]=Hu(c[o>>2]|0,c[q>>2]|0,c[ma>>2]|0,c[y>>2]|0,0,(256|((c[Q>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[N>>2]|0))break;f=wx(c[N>>2]|0)|0;if((f|0)==(c[c[y>>2]>>2]|0))c[M>>2]=0;else{if(d[A>>0]|0)ba=(e[(c[n>>2]|0)+6>>1]&1|0)==0;else ba=0;Cx(c[o>>2]|0,ba?24832:24848);c[M>>2]=1;c[K>>2]=c[c[y>>2]>>2];c[J>>2]=c[K>>2];c[I>>2]=c[K>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[V+32>>2]|0))break;if((c[(c[V+28>>2]|0)+((c[u>>2]|0)*24|0)+12>>2]|0)>=(c[I>>2]|0)){c[J>>2]=(c[J>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[H>>2]=ys(c[o>>2]|0,c[J>>2]|0)|0;cu(c[o>>2]|0);Ws(c[o>>2]|0,c[y>>2]|0,c[H>>2]|0,0)|0;c[I>>2]=c[K>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[V+32>>2]|0))break;c[F>>2]=(c[V+28>>2]|0)+((c[u>>2]|0)*24|0);if((c[(c[F>>2]|0)+12>>2]|0)>=(c[I>>2]|0)){c[E>>2]=(c[I>>2]|0)+(c[H>>2]|0);c[C>>2]=Rs(c[o>>2]|0,c[c[F>>2]>>2]|0,c[(c[F>>2]|0)+8>>2]|0,c[(c[F>>2]|0)+4>>2]|0,c[E>>2]|0,0)|0;if((c[E>>2]|0)!=(c[C>>2]|0))fp(c[t>>2]|0,34,c[C>>2]|0,c[E>>2]|0)|0;c[I>>2]=(c[I>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[G>>2]=kp(c[o>>2]|0)|0;ip(c[t>>2]|0,49,c[H>>2]|0,c[J>>2]|0,c[G>>2]|0)|0;fp(c[t>>2]|0,109,c[V+4>>2]|0,c[G>>2]|0)|0;lp(c[o>>2]|0,c[G>>2]|0);Bs(c[o>>2]|0,c[H>>2]|0,c[J>>2]|0);Iu(c[N>>2]|0);g=(c[o>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[O>>2]=f;c[V+8>>2]=f;c[P>>2]=kp(c[o>>2]|0)|0;ip(c[t>>2]|0,60,c[O>>2]|0,c[P>>2]|0,c[J>>2]|0)|0;fp(c[t>>2]|0,106,c[V+4>>2]|0,c[j>>2]|0)|0;a[V+1>>0]=1;cu(c[o>>2]|0)}do if(c[Q>>2]|0){if(e[(c[m>>2]|0)+60>>1]&4)break;if((c[M>>2]|0)==0?(Dx(c[N>>2]|0)|0)==0:0)break;c[p>>2]=0;cf(c[t>>2]|0,c[p+20>>2]|0)}while(0);c[B>>2]=Mr(c[t>>2]|0)|0;cu(c[o>>2]|0);if(c[M>>2]|0)ip(c[t>>2]|0,100,c[V+4>>2]|0,c[P>>2]|0,c[O>>2]|0)|0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[y>>2]>>2]|0))break;if(c[M>>2]|0)ip(c[t>>2]|0,47,c[O>>2]|0,c[I>>2]|0,(c[R>>2]|0)+(c[I>>2]|0)|0)|0;else{a[V>>0]=1;Os(c[o>>2]|0,c[(c[(c[y>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2]|0,(c[R>>2]|0)+(c[I>>2]|0)|0)}c[I>>2]=(c[I>>2]|0)+1}za=c[t>>2]|0;h=c[S>>2]|0;g=c[R>>2]|0;f=c[c[y>>2]>>2]|0;hp(za,42,h,g,f,Yr(c[k>>2]|0)|0,-6)|0;c[x>>2]=Mr(c[t>>2]|0)|0;ip(c[t>>2]|0,43,(c[x>>2]|0)+1|0,0,(c[x>>2]|0)+1|0)|0;Ex(c[o>>2]|0,c[R>>2]|0,c[S>>2]|0,c[c[y>>2]>>2]|0);fp(c[t>>2]|0,17,c[_>>2]|0,c[$>>2]|0)|0;fp(c[t>>2]|0,137,c[Z>>2]|0,c[j>>2]|0)|0;fp(c[t>>2]|0,17,c[aa>>2]|0,c[U>>2]|0)|0;zp(c[t>>2]|0,c[x>>2]|0);Fx(c[o>>2]|0,V);fp(c[t>>2]|0,25,1,c[Y>>2]|0)|0;if(c[M>>2]|0)fp(c[t>>2]|0,5,c[V+4>>2]|0,c[B>>2]|0)|0;else{Iu(c[N>>2]|0);cf(c[t>>2]|0,c[X>>2]|0)}fp(c[t>>2]|0,17,c[_>>2]|0,c[$>>2]|0)|0;fp(c[t>>2]|0,16,0,c[j>>2]|0)|0;c[s>>2]=Mr(c[t>>2]|0)|0;fp(c[t>>2]|0,25,1,c[Z>>2]|0)|0;Ir(c[t>>2]|0,18,c[_>>2]|0)|0;Pr(c[t>>2]|0,c[$>>2]|0);c[$>>2]=Mr(c[t>>2]|0)|0;fp(c[t>>2]|0,137,c[Y>>2]|0,(c[$>>2]|0)+2|0)|0;Ir(c[t>>2]|0,18,c[_>>2]|0)|0;Gx(c[o>>2]|0,V);xs(c[o>>2]|0,c[z>>2]|0,(c[$>>2]|0)+1|0,16);xx(c[o>>2]|0,c[n>>2]|0,c[c[n>>2]>>2]|0,-1,p,A,c[l>>2]|0,(c[$>>2]|0)+1|0,c[s>>2]|0);Ir(c[t>>2]|0,18,c[_>>2]|0)|0;Pr(c[t>>2]|0,c[U>>2]|0);Hx(c[o>>2]|0,V);Ir(c[t>>2]|0,18,c[aa>>2]|0)|0}else{c[ea>>2]=0;f=Ix(c[n>>2]|0,V)|0;c[fa>>2]=f;if(f){c[la>>2]=Ve(c[c[o>>2]>>2]|0,c[(c[fa>>2]|0)+68>>2]|0)|0;g=(c[o>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[ka>>2]=f;c[ja>>2]=0;c[ia>>2]=0;c[ha>>2]=c[(c[fa>>2]|0)+32>>2];qp(c[o>>2]|0,c[la>>2]|0);Jr(c[o>>2]|0,c[la>>2]|0,c[(c[fa>>2]|0)+32>>2]|0,0,c[c[fa>>2]>>2]|0);if(d[(c[fa>>2]|0)+44>>0]&32)c[ia>>2]=Zr(c[fa>>2]|0)|0;c[ca>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(!((d[(c[ca>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[ca>>2]|0)+48>>1]|0)>=(b[(c[fa>>2]|0)+42>>1]|0))break;if(c[(c[ca>>2]|0)+36>>2]|0)break;if((c[ia>>2]|0)!=0?(b[(c[ca>>2]|0)+48>>1]|0)>=(b[(c[ia>>2]|0)+48>>1]|0):0)break;c[ia>>2]=c[ca>>2]}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}if(c[ia>>2]|0){c[ha>>2]=c[(c[ia>>2]|0)+44>>2];c[ja>>2]=Wr(c[o>>2]|0,c[ia>>2]|0)|0}We(c[t>>2]|0,54,c[ka>>2]|0,c[ha>>2]|0,c[la>>2]|0,1)|0;if(c[ja>>2]|0)bf(c[t>>2]|0,-1,c[ja>>2]|0,-6);fp(c[t>>2]|0,50,c[ka>>2]|0,c[(c[V+40>>2]|0)+8>>2]|0)|0;Ir(c[t>>2]|0,61,c[ka>>2]|0)|0;Jx(c[o>>2]|0,c[fa>>2]|0,c[ia>>2]|0)}else{c[ga>>2]=0;a[da>>0]=0;if(!(c[(c[n>>2]|0)+44>>2]|0))a[da>>0]=Kx(V,ga)|0;do if(a[da>>0]|0){c[ga>>2]=Jq(c[m>>2]|0,c[ga>>2]|0,0)|0;c[ea>>2]=c[ga>>2];if(!(c[ga>>2]|0))break;if(a[(c[m>>2]|0)+64>>0]|0)break;a[(c[(c[ga>>2]|0)+4>>2]|0)+12>>0]=(d[da>>0]|0)!=1?1:0;a[c[c[(c[ga>>2]|0)+4>>2]>>2]>>0]=-102}while(0);Hx(c[o>>2]|0,V);c[N>>2]=Hu(c[o>>2]|0,c[q>>2]|0,c[ma>>2]|0,c[ga>>2]|0,0,d[da>>0]|0,0)|0;if(!(c[N>>2]|0)){sn(c[m>>2]|0,c[ea>>2]|0);break}Fx(c[o>>2]|0,V);if((wx(c[N>>2]|0)|0)>0){f=c[t>>2]|0;fp(f,16,0,zx(c[N>>2]|0)|0)|0}Iu(c[N>>2]|0);Gx(c[o>>2]|0,V)}c[p>>2]=0;xs(c[o>>2]|0,c[z>>2]|0,c[j>>2]|0,16);xx(c[o>>2]|0,c[n>>2]|0,c[c[n>>2]>>2]|0,-1,0,0,c[l>>2]|0,c[j>>2]|0,c[j>>2]|0);sn(c[m>>2]|0,c[ea>>2]|0)}Pr(c[t>>2]|0,c[j>>2]|0)}if((d[A+1>>0]|0)==3)Cx(c[o>>2]|0,24832);if(c[p>>2]|0){Cx(c[o>>2]|0,(c[p+4>>2]|0)>0?24864:24888);Lx(c[o>>2]|0,c[n>>2]|0,p,c[c[r>>2]>>2]|0,c[l>>2]|0)}Pr(c[t>>2]|0,c[L>>2]|0);c[w>>2]=0}while(0);c[(c[o>>2]|0)+464>>2]=c[v>>2];if((c[w>>2]|0)==0?(d[c[l>>2]>>0]|0)==9:0)Mx(c[o>>2]|0,c[q>>2]|0,c[r>>2]|0);Xb(c[m>>2]|0,c[V+28>>2]|0);Xb(c[m>>2]|0,c[V+40>>2]|0);c[T>>2]=c[w>>2];f=c[T>>2]|0;i=W;return f|0}c[T>>2]=1;f=c[T>>2]|0;i=W;return f|0}function bo(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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,u=0,v=0,w=0,x=0;t=i;i=i+48|0;w=t;s=t+44|0;x=t+40|0;v=t+36|0;u=t+32|0;k=t+28|0;n=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;m=t+8|0;o=t+4|0;c[x>>2]=a;c[v>>2]=b;c[u>>2]=d;c[k>>2]=e;c[n>>2]=f;c[r>>2]=g;c[p>>2]=h;c[q>>2]=j;c[o>>2]=c[c[x>>2]>>2];if((c[v>>2]|0)==0?(c[p>>2]|0)!=0|(c[q>>2]|0)!=0:0){a=c[x>>2]|0;c[w>>2]=(c[p>>2]|0)!=0?24816:24824;Se(a,24776,w)}else l=4;if(((l|0)==4?(c[v>>2]=ko(c[o>>2]|0,c[v>>2]|0,c[u>>2]|0,c[k>>2]|0)|0,(c[v>>2]|0)!=0):0)?(c[c[v>>2]>>2]|0)!=0:0){c[m>>2]=(c[v>>2]|0)+8+(((c[c[v>>2]>>2]|0)-1|0)*72|0);if(c[(c[n>>2]|0)+4>>2]|0){a=Zo(c[o>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=a}c[(c[m>>2]|0)+20>>2]=c[r>>2];c[(c[m>>2]|0)+44>>2]=c[p>>2];c[(c[m>>2]|0)+48>>2]=c[q>>2];c[s>>2]=c[v>>2];a=c[s>>2]|0;i=t;return a|0}wn(c[o>>2]|0,c[p>>2]|0);xn(c[o>>2]|0,c[q>>2]|0);tn(c[o>>2]|0,c[r>>2]|0);c[s>>2]=0;a=c[s>>2]|0;i=t;return a|0}function co(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;p=i;i=i+128|0;v=p+112|0;A=p+108|0;s=p+104|0;t=p+100|0;u=p+96|0;o=p+92|0;w=p+88|0;x=p+116|0;y=p+84|0;z=p+80|0;r=p+76|0;B=p;q=p+72|0;c[v>>2]=d;c[A>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=j;c[w>>2]=k;b[x>>1]=l;c[y>>2]=m;c[z>>2]=n;c[q>>2]=c[c[v>>2]>>2];c[r>>2]=se(c[q>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[r>>2]=B;m=(c[r>>2]|0)+0|0;n=m+72|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}if(!(c[A>>2]|0)){d=c[v>>2]|0;c[A>>2]=eo(d,0,ho(c[q>>2]|0,116,0)|0)|0}c[c[r>>2]>>2]=c[A>>2];if(!(c[s>>2]|0))c[s>>2]=se(c[q>>2]|0,80,0)|0;c[(c[r>>2]|0)+32>>2]=c[s>>2];c[(c[r>>2]|0)+36>>2]=c[t>>2];c[(c[r>>2]|0)+40>>2]=c[u>>2];c[(c[r>>2]|0)+44>>2]=c[o>>2];c[(c[r>>2]|0)+48>>2]=c[w>>2];b[(c[r>>2]|0)+6>>1]=b[x>>1]|0;a[(c[r>>2]|0)+4>>0]=119;c[(c[r>>2]|0)+60>>2]=c[y>>2];c[(c[r>>2]|0)+64>>2]=c[z>>2];c[(c[r>>2]|0)+16>>2]=-1;c[(c[r>>2]|0)+20>>2]=-1;if(!(a[(c[q>>2]|0)+64>>0]|0)){d=c[r>>2]|0;i=p;return d|0}un(c[q>>2]|0,c[r>>2]|0);if((c[r>>2]|0)!=(B|0))Xb(c[q>>2]|0,c[r>>2]|0);c[r>>2]=0;d=c[r>>2]|0;i=p;return d|0}function eo(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,l=0,m=0;e=i;i=i+32|0;h=e+24|0;m=e+20|0;j=e+16|0;g=e+12|0;k=e+8|0;l=e+4|0;f=e;c[m>>2]=a;c[j>>2]=b;c[g>>2]=d;c[k>>2]=c[c[m>>2]>>2];if(!(c[j>>2]|0)){c[j>>2]=se(c[k>>2]|0,8,0)|0;if((c[j>>2]|0)!=0?(m=Qe(c[k>>2]|0,20,0)|0,c[(c[j>>2]|0)+4>>2]=m,(c[(c[j>>2]|0)+4>>2]|0)!=0):0)d=7;else d=8}else if(!(c[c[j>>2]>>2]&(c[c[j>>2]>>2]|0)-1)){c[l>>2]=Fk(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,(c[c[j>>2]>>2]<<1)*20|0,0)|0;if(!(c[l>>2]|0))d=8;else{c[(c[j>>2]|0)+4>>2]=c[l>>2];d=7}}else d=7;if((d|0)==7){a=c[j>>2]|0;m=c[a>>2]|0;c[a>>2]=m+1;c[f>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(m*20|0);m=c[f>>2]|0;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[h>>2]=c[j>>2];m=c[h>>2]|0;i=e;return m|0}else if((d|0)==8){wn(c[k>>2]|0,c[g>>2]|0);sn(c[k>>2]|0,c[j>>2]|0);c[h>>2]=0;m=c[h>>2]|0;i=e;return m|0}return 0}function fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;j=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[h>>2]|0)){i=f;return}c[g>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0);a=rm(c[c[j>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,0)|0;c[(c[g>>2]|0)+4>>2]=a;if(!(c[l>>2]|0)){i=f;return}if(!(c[(c[g>>2]|0)+4>>2]|0)){i=f;return}sm(c[(c[g>>2]|0)+4>>2]|0)|0;i=f;return}function go(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;e=i;i=i+32|0;k=e+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[k>>2]=a;c[f>>2]=b;c[j>>2]=d;c[h>>2]=c[c[k>>2]>>2];if(!(c[f>>2]|0)){i=e;return}c[g>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(((c[c[f>>2]>>2]|0)-1|0)*20|0);Xb(c[h>>2]|0,c[(c[g>>2]|0)+8>>2]|0);k=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;k=rm(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+8>>2]=k;i=e;return}function ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];if(c[j>>2]|0)d=Mb(c[j>>2]|0)|0;else d=0;c[f+4>>2]=d;a=or(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return a|0}function io(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[f>>2]=(c[c[e>>2]>>2]|0)-1;while(1){if((c[f>>2]|0)<=0)break;a[(c[e>>2]|0)+8+((c[f>>2]|0)*72|0)+36>>0]=a[(c[e>>2]|0)+8+(((c[f>>2]|0)-1|0)*72|0)+36>>0]|0;c[f>>2]=(c[f>>2]|0)+ -1}a[(c[e>>2]|0)+44>>0]=0;i=d;return}function jo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f+12|0;k=f+8|0;j=f+4|0;g=f;c[h>>2]=b;c[k>>2]=d;c[j>>2]=e;if(!(c[k>>2]|0)){i=f;return}if((c[c[k>>2]>>2]|0)<=0){i=f;return}c[g>>2]=(c[k>>2]|0)+8+(((c[c[k>>2]>>2]|0)-1|0)*72|0);if((c[(c[j>>2]|0)+4>>2]|0)==1?(c[c[j>>2]>>2]|0)==0:0){b=(c[g>>2]|0)+37|0;a[b>>0]=a[b>>0]&-2|1;i=f;return}b=Zo(c[c[h>>2]>>2]|0,c[j>>2]|0)|0;c[(c[g>>2]|0)+64>>2]=b;i=f;return}function ko(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;j=k+24|0;m=k+20|0;h=k+16|0;n=k+12|0;l=k+8|0;o=k+4|0;g=k;c[m>>2]=b;c[h>>2]=d;c[n>>2]=e;c[l>>2]=f;do if(!(c[h>>2]|0)){c[h>>2]=se(c[m>>2]|0,80,0)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+4>>2]=1;break}c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}while(0);c[h>>2]=mx(c[m>>2]|0,c[h>>2]|0,1,c[c[h>>2]>>2]|0)|0;if(a[(c[m>>2]|0)+64>>0]|0){vn(c[m>>2]|0,c[h>>2]|0);c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}c[o>>2]=(c[h>>2]|0)+8+(((c[c[h>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[g>>2]=c[l>>2];c[l>>2]=c[n>>2];c[n>>2]=c[g>>2]}b=Zo(c[m>>2]|0,c[n>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=b;b=Zo(c[m>>2]|0,c[l>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=b;c[j>>2]=c[h>>2];b=c[j>>2]|0;i=k;return b|0}function lo(a,b,e,f){a=a|0;b=b|0;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;j=i;i=i+64|0;l=j;k=j+60|0;g=j+56|0;m=j+52|0;o=j+48|0;p=j+44|0;q=j+32|0;s=j+28|0;r=j+24|0;t=j+20|0;n=j+16|0;c[k>>2]=a;c[g>>2]=b;c[m>>2]=e;c[o>>2]=f;c[p>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[m>>2];c[q+8>>2]=c[o>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=3)break;if(!(c[q+(c[r>>2]<<2)>>2]|0))break;c[s>>2]=c[q+(c[r>>2]<<2)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=7)break;if((c[(c[s>>2]|0)+4>>2]|0)==(d[24649+((c[t>>2]|0)*3|0)>>0]|0|0)?(Lb(c[c[s>>2]>>2]|0,24608+(d[24648+((c[t>>2]|0)*3|0)>>0]|0)|0,c[(c[s>>2]|0)+4>>2]|0)|0)==0:0){h=8;break}c[t>>2]=(c[t>>2]|0)+1}if((h|0)==8){h=0;c[p>>2]=c[p>>2]|(d[24650+((c[t>>2]|0)*3|0)>>0]|0)}if((c[t>>2]|0)>=7){h=11;break}c[r>>2]=(c[r>>2]|0)+1}if((h|0)==11)c[p>>2]=c[p>>2]|64;if((c[p>>2]&33|0)!=33?(c[p>>2]&64|0)==0:0){if(!(c[p>>2]&32)){a=c[p>>2]|0;i=j;return a|0}if((c[p>>2]&24|0)==8){a=c[p>>2]|0;i=j;return a|0}Se(c[k>>2]|0,24720,l);c[p>>2]=1;a=c[p>>2]|0;i=j;return a|0}c[n>>2]=9912;if(!(c[o>>2]|0))c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;f=c[m>>2]|0;e=c[n>>2]|0;b=c[o>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=f;c[l+8>>2]=e;c[l+12>>2]=b;Se(a,24672,l);c[p>>2]=1;a=c[p>>2]|0;i=j;return a|0}function mo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=b;c[h>>2]=d;a[j>>0]=e;if(!(c[h>>2]|0)){i=f;return}c[(c[h>>2]|0)+4>>2]=c[(c[g>>2]|0)+532>>2];c[(c[g>>2]|0)+532>>2]=c[h>>2];a[(c[g>>2]|0)+449>>0]=a[j>>0]|0;i=f;return}function no(e,f,g){e=e|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,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;n=i;i=i+192|0;q=n+172|0;k=n+168|0;l=n+164|0;o=n+160|0;s=n+156|0;U=n+152|0;j=n+148|0;L=n+144|0;r=n+140|0;I=n+136|0;z=n+132|0;h=n+128|0;R=n+124|0;v=n+120|0;y=n+112|0;T=n+80|0;O=n+76|0;p=n+72|0;S=n+68|0;E=n+64|0;Q=n+56|0;m=n+52|0;x=n+48|0;M=n+44|0;N=n+178|0;H=n+40|0;D=n+176|0;t=n+36|0;G=n+32|0;F=n+28|0;u=n+24|0;K=n+20|0;P=n+16|0;w=n+12|0;A=n+8|0;C=n+4|0;B=n;c[q>>2]=e;c[k>>2]=f;c[l>>2]=g;c[p>>2]=-1;c[m>>2]=0;c[M>>2]=0;b[N>>1]=1;c[t>>2]=0;c[G>>2]=0;c[F>>2]=0;c[u>>2]=0;c[K>>2]=0;c[P>>2]=0;c[y+0>>2]=0;c[y+4>>2]=0;c[v>>2]=c[c[q>>2]>>2];a:do if((((((c[(c[q>>2]|0)+64>>2]|0)==0?(d[(c[v>>2]|0)+64>>0]|0)==0:0)?(c[s>>2]=Ft(c[q>>2]|0,c[k>>2]|0)|0,(c[s>>2]|0)!=0):0)?(c[A>>2]=lu(c[q>>2]|0,c[s>>2]|0,109,0,0)|0,c[w>>2]=(c[(c[s>>2]|0)+12>>2]|0)!=0&1,(Qp(c[q>>2]|0,c[s>>2]|0)|0)==0):0)?(mu(c[q>>2]|0,c[s>>2]|0,(c[A>>2]|0)!=0?1:0)|0)==0:0)?(c[O>>2]=Ve(c[v>>2]|0,c[(c[s>>2]|0)+68>>2]|0)|0,c[U>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[O>>2]<<4)>>2],c[S>>2]=ap(c[q>>2]|0,9,c[c[s>>2]>>2]|0,0,c[U>>2]|0)|0,(c[S>>2]|0)!=1):0){f=(c[q>>2]|0)+68|0;e=c[f>>2]|0;c[f>>2]=e+1;c[(c[k>>2]|0)+48>>2]=e;c[I>>2]=e;c[R>>2]=0;c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break;e=(c[q>>2]|0)+68|0;c[e>>2]=(c[e>>2]|0)+1;c[r>>2]=c[(c[r>>2]|0)+20>>2];c[R>>2]=(c[R>>2]|0)+1}if(c[w>>2]|0)ix(c[q>>2]|0,y,c[c[s>>2]>>2]|0);c[o>>2]=dp(c[q>>2]|0)|0;if(c[o>>2]|0){if(!(d[(c[q>>2]|0)+18>>0]|0))nu(c[o>>2]|0);pp(c[q>>2]|0,1,c[O>>2]|0);if(c[w>>2]|0){jx(c[q>>2]|0,c[s>>2]|0,c[l>>2]|0,c[I>>2]|0);e=c[I>>2]|0;c[h>>2]=e;c[z>>2]=e}c[T+0>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[T+16>>2]=0;c[T+20>>2]=0;c[T+24>>2]=0;c[T+28>>2]=0;c[T>>2]=c[q>>2];c[T+4>>2]=c[k>>2];if(!(vq(T,c[l>>2]|0)|0)){if(c[(c[v>>2]|0)+24>>2]&128){f=(c[q>>2]|0)+72|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;c[p>>2]=e;fp(c[o>>2]|0,25,0,c[p>>2]|0)|0}b:do if((!((c[S>>2]|0)==0&(c[l>>2]|0)==0^1|(c[A>>2]|0)!=0)?(d[(c[s>>2]|0)+44>>0]&16|0)==0:0)?0==(cw(c[q>>2]|0,c[s>>2]|0,0,0)|0):0){Jr(c[q>>2]|0,c[O>>2]|0,c[(c[s>>2]|0)+32>>2]|0,1,c[c[s>>2]>>2]|0);if(!(d[(c[s>>2]|0)+44>>0]&32))hp(c[o>>2]|0,118,c[(c[s>>2]|0)+32>>2]|0,c[O>>2]|0,c[p>>2]|0,c[c[s>>2]>>2]|0,-2)|0;c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break b;fp(c[o>>2]|0,118,c[(c[r>>2]|0)+44>>2]|0,c[O>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+20>>2]}}else J=28;while(0);c:do if((J|0)==28){if(!(d[(c[s>>2]|0)+44>>0]&32)){c[x>>2]=0;b[N>>1]=1;f=(c[q>>2]|0)+72|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;c[G>>2]=e;fp(c[o>>2]|0,28,0,c[G>>2]|0)|0}else{c[x>>2]=Zr(c[s>>2]|0)|0;b[N>>1]=b[(c[x>>2]|0)+50>>1]|0;c[M>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;f=(c[q>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(b[N>>1]|0);f=(c[q>>2]|0)+68|0;e=c[f>>2]|0;c[f>>2]=e+1;c[t>>2]=e;c[P>>2]=fp(c[o>>2]|0,57,c[t>>2]|0,b[N>>1]|0)|0;Lr(c[q>>2]|0,c[x>>2]|0)}c[L>>2]=Hu(c[q>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0,12,(c[I>>2]|0)+1|0)|0;if(!(c[L>>2]|0))break a;c[E>>2]=kx(c[L>>2]|0,Q)|0;if(c[(c[v>>2]|0)+24>>2]&128)fp(c[o>>2]|0,37,c[p>>2]|0,1)|0;do if(c[x>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(b[N>>1]|0))break;zs(c[o>>2]|0,c[s>>2]|0,c[I>>2]|0,b[(c[(c[x>>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1]|0,(c[M>>2]|0)+(c[j>>2]|0)|0);c[j>>2]=(c[j>>2]|0)+1}c[H>>2]=c[M>>2]}else{c[H>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;c[H>>2]=Rs(c[q>>2]|0,c[s>>2]|0,-1,c[I>>2]|0,c[H>>2]|0,0)|0;if((c[H>>2]|0)<=(c[(c[q>>2]|0)+72>>2]|0))break;c[(c[q>>2]|0)+72>>2]=c[H>>2]}while(0);do if(!(c[E>>2]|0))if(c[x>>2]|0){U=(c[q>>2]|0)+72|0;T=(c[U>>2]|0)+1|0;c[U>>2]=T;c[H>>2]=T;b[D>>1]=0;T=c[o>>2]|0;U=c[M>>2]|0;g=b[N>>1]|0;f=c[H>>2]|0;e=au(c[o>>2]|0,c[x>>2]|0)|0;hp(T,49,U,g,f,e,b[N>>1]|0)|0;fp(c[o>>2]|0,110,c[t>>2]|0,c[H>>2]|0)|0;break}else{b[D>>1]=1;fp(c[o>>2]|0,128,c[G>>2]|0,c[H>>2]|0)|0;break}else{b[D>>1]=b[N>>1]|0;e=(c[R>>2]|0)+2|0;c[m>>2]=Qe(c[v>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){Iu(c[L>>2]|0);break a}_E(c[m>>2]|0,1,(c[R>>2]|0)+1|0)|0;a[(c[m>>2]|0)+((c[R>>2]|0)+1)>>0]=0;if((c[Q>>2]|0)>=0)a[(c[m>>2]|0)+((c[Q>>2]|0)-(c[I>>2]|0))>>0]=0;if((c[Q+4>>2]|0)>=0)a[(c[m>>2]|0)+((c[Q+4>>2]|0)-(c[I>>2]|0))>>0]=0;if(c[P>>2]|0)cf(c[o>>2]|0,c[P>>2]|0);c[K>>2]=mp(c[o>>2]|0,16)|0}while(0);Iu(c[L>>2]|0);if(c[E>>2]|0){c[F>>2]=Nr(c[o>>2]|0)|0;fp(c[o>>2]|0,16,0,c[F>>2]|0)|0;zp(c[o>>2]|0,c[K>>2]|0)}if(!(c[w>>2]|0))du(c[q>>2]|0,c[s>>2]|0,55,c[I>>2]|0,c[m>>2]|0,z,h)|0;do if(!(c[E>>2]|0)){I=c[o>>2]|0;if(c[x>>2]|0){c[u>>2]=Ir(I,108,c[t>>2]|0)|0;fp(c[o>>2]|0,101,c[t>>2]|0,c[H>>2]|0)|0;break}else{c[u>>2]=ip(I,129,c[G>>2]|0,0,c[H>>2]|0)|0;break}}else{if(!(a[(c[m>>2]|0)+((c[z>>2]|0)-(c[I>>2]|0))>>0]|0))break;We(c[o>>2]|0,68,c[z>>2]|0,c[F>>2]|0,c[H>>2]|0,b[D>>1]|0)|0}while(0);if(d[(c[s>>2]|0)+44>>0]&16){c[C>>2]=Rp(c[v>>2]|0,c[s>>2]|0)|0;wu(c[q>>2]|0,c[s>>2]|0);hp(c[o>>2]|0,15,0,1,c[H>>2]|0,c[C>>2]|0,-10)|0;Xe(c[o>>2]|0,2);Sp(c[q>>2]|0)}else{c[B>>2]=(d[(c[q>>2]|0)+18>>0]|0)==0&1;ew(c[q>>2]|0,c[s>>2]|0,c[A>>2]|0,c[z>>2]|0,c[h>>2]|0,c[H>>2]|0,b[D>>1]|0,c[B>>2]&255,10,c[E>>2]&255)}do if(!(c[E>>2]|0)){A=c[o>>2]|0;if(c[x>>2]|0){fp(A,9,c[t>>2]|0,(c[u>>2]|0)+1|0)|0;zp(c[o>>2]|0,c[u>>2]|0);break}else{fp(A,16,0,c[u>>2]|0)|0;zp(c[o>>2]|0,c[u>>2]|0);break}}else Pr(c[o>>2]|0,c[F>>2]|0);while(0);if(c[w>>2]|0)break;if(d[(c[s>>2]|0)+44>>0]&16)break;if(!(c[x>>2]|0))Ir(c[o>>2]|0,61,c[z>>2]|0)|0;c[j>>2]=0;c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break c;Ir(c[o>>2]|0,61,(c[h>>2]|0)+(c[j>>2]|0)|0)|0;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=c[(c[r>>2]|0)+20>>2]}}while(0);if((d[(c[q>>2]|0)+18>>0]|0)==0?(c[(c[q>>2]|0)+412>>2]|0)==0:0)Au(c[q>>2]|0);if(((c[(c[v>>2]|0)+24>>2]&128|0)!=0?(a[(c[q>>2]|0)+18>>0]|0)==0:0)?(c[(c[q>>2]|0)+412>>2]|0)==0:0){fp(c[o>>2]|0,35,c[p>>2]|0,1)|0;Nt(c[o>>2]|0,1);Ot(c[o>>2]|0,0,0,24592,0)|0}}}}while(0);lx(y);vn(c[v>>2]|0,c[k>>2]|0);wn(c[v>>2]|0,c[l>>2]|0);Xb(c[v>>2]|0,c[m>>2]|0);i=n;return}function oo(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;e=i;i=i+32|0;h=e;f=e+16|0;j=e+12|0;g=e+8|0;k=e+4|0;c[f>>2]=a;c[j>>2]=b;c[g>>2]=d;c[k>>2]=c[(c[c[f>>2]>>2]|0)+96>>2];if(!(c[j>>2]|0)){i=e;return}if((c[c[j>>2]>>2]|0)<=(c[k>>2]|0)){i=e;return}a=c[f>>2]|0;c[h>>2]=c[g>>2];Se(a,24568,h);i=e;return}function po(f,g,h,j,k){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,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;y=i;i=i+256|0;la=y;u=y+244|0;o=y+240|0;n=y+236|0;z=y+232|0;H=y+228|0;t=y+224|0;W=y+220|0;r=y+216|0;B=y+212|0;ea=y+208|0;x=y+204|0;D=y+200|0;s=y+196|0;ca=y+192|0;fa=y+188|0;C=y+184|0;l=y+180|0;v=y+176|0;R=y+172|0;p=y+168|0;E=y+164|0;ba=y+252|0;_=y+251|0;M=y+250|0;aa=y+160|0;q=y+152|0;ja=y+120|0;na=y+112|0;Q=y+108|0;K=y+104|0;A=y+100|0;F=y+96|0;S=y+92|0;I=y+88|0;X=y+84|0;Y=y+80|0;m=y+76|0;P=y+72|0;da=y+64|0;w=y+56|0;N=y+52|0;O=y+48|0;U=y+44|0;V=y+40|0;$=y+36|0;J=y+32|0;ma=y+28|0;ka=y+24|0;ia=y+20|0;ha=y+248|0;ga=y+16|0;Z=y+12|0;G=y+8|0;L=y+4|0;c[u>>2]=f;c[o>>2]=g;c[n>>2]=h;c[z>>2]=j;c[H>>2]=k;c[B>>2]=0;c[R>>2]=0;c[p>>2]=0;c[aa>>2]=0;c[m>>2]=0;c[P>>2]=0;c[w>>2]=0;c[V>>2]=0;c[$>>2]=0;c[J>>2]=0;c[q+0>>2]=0;c[q+4>>2]=0;c[v>>2]=c[c[u>>2]>>2];if(c[(c[u>>2]|0)+64>>2]|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(d[(c[v>>2]|0)+64>>0]|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[r>>2]=Ft(c[u>>2]|0,c[o>>2]|0)|0;if(!(c[r>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[na>>2]=Ve(c[c[u>>2]>>2]|0,c[(c[r>>2]|0)+68>>2]|0)|0;c[I>>2]=lu(c[u>>2]|0,c[r>>2]|0,110,c[n>>2]|0,X)|0;c[S>>2]=(c[(c[r>>2]|0)+12>>2]|0)!=0&1;if(Qp(c[u>>2]|0,c[r>>2]|0)|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(mu(c[u>>2]|0,c[r>>2]|0,c[X>>2]|0)|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}g=(c[u>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[C>>2]=f;c[fa>>2]=f;c[(c[o>>2]|0)+48>>2]=f;c[l>>2]=(c[C>>2]|0)+1;if(!(d[(c[r>>2]|0)+44>>0]&32))k=0;else k=Zr(c[r>>2]|0)|0;c[s>>2]=k;c[ca>>2]=0;c[D>>2]=c[(c[r>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break;if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+55>>0]&3|0)==2:0){c[C>>2]=c[(c[u>>2]|0)+68>>2];c[(c[o>>2]|0)+48>>2]=c[C>>2]}f=(c[u>>2]|0)+68|0;c[f>>2]=(c[f>>2]|0)+1;c[D>>2]=c[(c[D>>2]|0)+20>>2];c[ca>>2]=(c[ca>>2]|0)+1}c[p>>2]=Qe(c[v>>2]|0,((b[(c[r>>2]|0)+38>>1]|0)+(c[ca>>2]|0)<<2)+(c[ca>>2]|0)+2|0,0)|0;if(!(c[p>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[R>>2]=(c[p>>2]|0)+(b[(c[r>>2]|0)+38>>1]<<2);c[E>>2]=(c[R>>2]|0)+(c[ca>>2]<<2);_E(c[E>>2]|0,1,(c[ca>>2]|0)+1|0)|0;a[(c[E>>2]|0)+((c[ca>>2]|0)+1)>>0]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;c[(c[p>>2]|0)+(c[t>>2]<<2)>>2]=-1;c[t>>2]=(c[t>>2]|0)+1}c[ja+0>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;c[ja+16>>2]=0;c[ja+20>>2]=0;c[ja+24>>2]=0;c[ja+28>>2]=0;c[ja>>2]=c[u>>2];c[ja+4>>2]=c[o>>2];a[ba>>0]=0;a[_>>0]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[n>>2]>>2]|0)){T=41;break}if(vq(ja,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)>>2]|0)|0){T=182;break}c[W>>2]=0;while(1){if((c[W>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;f=(xc(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[W>>2]|0)*24|0)>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[W>>2]|0;if(f){T=23;break}c[W>>2]=k+1}if((T|0)==23){T=0;if((k|0)!=(b[(c[r>>2]|0)+36>>1]|0)){if((c[s>>2]|0)!=0?(d[(c[(c[r>>2]|0)+4>>2]|0)+((c[W>>2]|0)*24|0)+23>>0]&1|0)!=0:0)a[ba>>0]=1}else{a[_>>0]=1;c[aa>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)>>2]}c[(c[p>>2]|0)+(c[W>>2]<<2)>>2]=c[t>>2]}if((c[W>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0)){if(c[s>>2]|0){T=34;break}if(!(Zq(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)){T=34;break}c[W>>2]=-1;a[_>>0]=1;c[aa>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)>>2]}if((c[W>>2]|0)<0)k=17288;else k=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[W>>2]|0)*24|0)>>2]|0;c[ma>>2]=ap(c[u>>2]|0,23,c[c[r>>2]>>2]|0,k,c[(c[(c[v>>2]|0)+16>>2]|0)+(c[na>>2]<<4)>>2]|0)|0;if((c[ma>>2]|0)==1){T=182;break}if((c[ma>>2]|0)==2)c[(c[p>>2]|0)+(c[W>>2]<<2)>>2]=-1;c[t>>2]=(c[t>>2]|0)+1}if((T|0)==34){f=c[u>>2]|0;c[la>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2];Se(f,24520,la);a[(c[u>>2]|0)+17>>0]=1;lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}else if((T|0)==41){a[M>>0]=(d[_>>0]|0)+(d[ba>>0]|0);f=(c[o>>2]|0)+64|0;c[f>>2]=0;c[f+4>>2]=0;c[K>>2]=cw(c[u>>2]|0,c[r>>2]|0,c[p>>2]|0,d[M>>0]|0)|0;c[W>>2]=0;c[D>>2]=c[(c[r>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break;a:do if((!((d[M>>0]|0)!=0|(c[K>>2]|0)!=0)?(c[(c[D>>2]|0)+36>>2]|0)==0:0)?(c[D>>2]|0)!=(c[s>>2]|0):0){c[ka>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(e[(c[D>>2]|0)+50>>1]|0))break a;if((c[(c[p>>2]|0)+(b[(c[(c[D>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]<<2)>>2]|0)>=0)break;c[t>>2]=(c[t>>2]|0)+1}g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ka>>2]=f}else T=46;while(0);if((T|0)==46){T=0;g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ka>>2]=f}if(!(c[ka>>2]|0))a[(c[E>>2]|0)+((c[W>>2]|0)+1)>>0]=0;c[(c[R>>2]|0)+(c[W>>2]<<2)>>2]=c[ka>>2];c[D>>2]=c[(c[D>>2]|0)+20>>2];c[W>>2]=(c[W>>2]|0)+1}c[x>>2]=dp(c[u>>2]|0)|0;if(!(c[x>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(!(d[(c[u>>2]|0)+18>>0]|0))nu(c[x>>2]|0);pp(c[u>>2]|0,1,c[na>>2]|0);ka=c[u>>2]|0;if(d[(c[r>>2]|0)+44>>0]&16){hx(ka,c[o>>2]|0,c[r>>2]|0,c[n>>2]|0,c[aa>>2]|0,c[p>>2]|0,c[z>>2]|0,c[H>>2]|0);c[z>>2]=0;c[o>>2]=0;lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}f=ka+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[$>>2]=g;g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[O>>2]=f;c[N>>2]=f;if((d[ba>>0]|0)!=0|(c[I>>2]|0)!=0|(c[K>>2]|0)!=0){c[V>>2]=(c[(c[u>>2]|0)+72>>2]|0)+1;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(b[(c[r>>2]|0)+38>>1]|0)}if((d[M>>0]|0)!=0|(c[I>>2]|0)!=0|(c[K>>2]|0)!=0){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[O>>2]=f}c[U>>2]=(c[(c[u>>2]|0)+72>>2]|0)+1;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(b[(c[r>>2]|0)+38>>1]|0);if(c[S>>2]|0)ix(c[u>>2]|0,q,c[c[r>>2]>>2]|0);if(c[S>>2]|0)jx(c[u>>2]|0,c[r>>2]|0,c[z>>2]|0,c[C>>2]|0);if(vq(ja,c[z>>2]|0)|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(!(d[(c[r>>2]|0)+44>>0]&32)){ip(c[x>>2]|0,28,0,c[$>>2]|0,c[N>>2]|0)|0;c[ea>>2]=Hu(c[u>>2]|0,c[o>>2]|0,c[z>>2]|0,0,0,4,c[l>>2]|0)|0;if(!(c[ea>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[Q>>2]=kx(c[ea>>2]|0,da)|0;fp(c[x>>2]|0,103,c[C>>2]|0,c[N>>2]|0)|0;if(!(c[Q>>2]|0))fp(c[x>>2]|0,128,c[$>>2]|0,c[N>>2]|0)|0;Iu(c[ea>>2]|0)}else{b[ha>>1]=b[(c[s>>2]|0)+50>>1]|0;c[ia>>2]=(c[(c[u>>2]|0)+72>>2]|0)+1;f=(c[u>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+(b[ha>>1]|0);f=(c[u>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[J>>2]=g;g=(c[u>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[m>>2]=f;fp(c[x>>2]|0,28,0,c[ia>>2]|0)|0;c[ga>>2]=fp(c[x>>2]|0,57,c[m>>2]|0,b[ha>>1]|0)|0;Lr(c[u>>2]|0,c[s>>2]|0);c[ea>>2]=Hu(c[u>>2]|0,c[o>>2]|0,c[z>>2]|0,0,0,4,c[l>>2]|0)|0;if(!(c[ea>>2]|0)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}c[Q>>2]=kx(c[ea>>2]|0,da)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[ha>>1]|0))break;zs(c[x>>2]|0,c[r>>2]|0,c[C>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0,(c[ia>>2]|0)+(c[t>>2]|0)|0);c[t>>2]=(c[t>>2]|0)+1}ja=c[x>>2]|0;if(c[Q>>2]|0){cf(ja,c[ga>>2]|0);c[P>>2]=b[ha>>1];c[J>>2]=c[ia>>2]}else{j=c[ia>>2]|0;h=b[ha>>1]|0;g=c[J>>2]|0;f=au(c[x>>2]|0,c[s>>2]|0)|0;hp(ja,49,j,h,g,f,b[ha>>1]|0)|0;fp(c[x>>2]|0,110,c[m>>2]|0,c[J>>2]|0)|0}Iu(c[ea>>2]|0)}if((c[(c[v>>2]|0)+24>>2]&128|0)!=0?(c[(c[u>>2]|0)+412>>2]|0)==0:0){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[w>>2]=f;fp(c[x>>2]|0,25,0,c[w>>2]|0)|0}c[A>>2]=Nr(c[x>>2]|0)|0;if(!(c[S>>2]|0)){b:do if((c[H>>2]|0)==5)_E(c[E>>2]|0,1,(c[ca>>2]|0)+1|0)|0;else{c[D>>2]=c[(c[r>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break b;if((d[(c[D>>2]|0)+54>>0]|0)==5)break;c[D>>2]=c[(c[D>>2]|0)+20>>2]}_E(c[E>>2]|0,1,(c[ca>>2]|0)+1|0)|0}while(0);do if(c[Q>>2]|0){if((c[da>>2]|0)>=0)a[(c[E>>2]|0)+((c[da>>2]|0)-(c[fa>>2]|0))>>0]=0;if((c[da+4>>2]|0)<0)break;a[(c[E>>2]|0)+((c[da+4>>2]|0)-(c[fa>>2]|0))>>0]=0}while(0);du(c[u>>2]|0,c[r>>2]|0,55,c[fa>>2]|0,c[E>>2]|0,0,0)|0}do if(!(c[Q>>2]|0)){ca=c[x>>2]|0;if(c[s>>2]|0){c[F>>2]=Nr(ca)|0;fp(c[x>>2]|0,108,c[m>>2]|0,c[A>>2]|0)|0;c[B>>2]=fp(c[x>>2]|0,101,c[m>>2]|0,c[J>>2]|0)|0;We(c[x>>2]|0,68,c[C>>2]|0,c[F>>2]|0,c[J>>2]|0,0)|0;break}else{c[F>>2]=ip(ca,129,c[$>>2]|0,c[A>>2]|0,c[N>>2]|0)|0;ip(c[x>>2]|0,70,c[C>>2]|0,c[F>>2]|0,c[N>>2]|0)|0;break}}else{if(!((c[S>>2]|0)!=0?1:(d[(c[E>>2]|0)+((c[C>>2]|0)-(c[fa>>2]|0))>>0]|0)==0))We(c[x>>2]|0,68,c[C>>2]|0,c[A>>2]|0,c[J>>2]|0,c[P>>2]|0)|0;c[F>>2]=c[A>>2];fp(c[x>>2]|0,76,(c[s>>2]|0)!=0?c[J>>2]|0:c[N>>2]|0,c[A>>2]|0)|0}while(0);if(a[_>>0]|0){Os(c[u>>2]|0,c[aa>>2]|0,c[O>>2]|0);Ir(c[x>>2]|0,38,c[O>>2]|0)|0}do if((d[ba>>0]|0)!=0|(c[K>>2]|0)!=0|(c[I>>2]|0)!=0){if(c[K>>2]|0)$=hw(c[u>>2]|0,c[r>>2]|0)|0;else $=0;c[Z>>2]=$;f=gw(c[u>>2]|0,c[I>>2]|0,c[n>>2]|0,0,3,c[r>>2]|0,c[H>>2]|0)|0;c[Z>>2]=c[Z>>2]|f;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;do if((c[Z>>2]|0)==-1)T=117;else{if((c[t>>2]|0)<32?(c[Z>>2]&1<>2]|0)!=0:0){T=117;break}if(d[(c[(c[r>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+23>>0]&1){T=117;break}fp(c[x>>2]|0,28,0,(c[V>>2]|0)+(c[t>>2]|0)|0)|0}while(0);if((T|0)==117){T=0;zs(c[x>>2]|0,c[r>>2]|0,c[C>>2]|0,c[t>>2]|0,(c[V>>2]|0)+(c[t>>2]|0)|0)}c[t>>2]=(c[t>>2]|0)+1}if(!((d[_>>0]|0)==0&(c[s>>2]|0)==0))break;fp(c[x>>2]|0,33,c[N>>2]|0,c[O>>2]|0)|0}while(0);c[Y>>2]=gw(c[u>>2]|0,c[I>>2]|0,c[n>>2]|0,1,1,c[r>>2]|0,c[H>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;c:do if((c[t>>2]|0)==(b[(c[r>>2]|0)+36>>1]|0))fp(c[x>>2]|0,28,0,(c[U>>2]|0)+(c[t>>2]|0)|0)|0;else{c[W>>2]=c[(c[p>>2]|0)+(c[t>>2]<<2)>>2];if((c[W>>2]|0)>=0){Os(c[u>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,(c[U>>2]|0)+(c[t>>2]|0)|0);break}do if(!((c[t>>2]|0)>31?1:0==(c[X>>2]&1|0))){if(c[Y>>2]&1<>2])break;fp(c[x>>2]|0,28,0,(c[U>>2]|0)+(c[t>>2]|0)|0)|0;break c}while(0);zs(c[x>>2]|0,c[r>>2]|0,c[C>>2]|0,c[t>>2]|0,(c[U>>2]|0)+(c[t>>2]|0)|0)}while(0);c[t>>2]=(c[t>>2]|0)+1}d:do if(c[X>>2]&1){su(c[x>>2]|0,c[r>>2]|0,c[U>>2]|0);tu(c[u>>2]|0,c[I>>2]|0,110,c[n>>2]|0,1,c[r>>2]|0,c[N>>2]|0,c[H>>2]|0,c[F>>2]|0);X=c[x>>2]|0;W=c[C>>2]|0;V=c[F>>2]|0;if(c[s>>2]|0)We(X,68,W,V,c[J>>2]|0,c[P>>2]|0)|0;else ip(X,70,W,V,c[N>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break d;do if((c[(c[p>>2]|0)+(c[t>>2]<<2)>>2]|0)<0){if((c[t>>2]|0)==(b[(c[r>>2]|0)+36>>1]|0))break;zs(c[x>>2]|0,c[r>>2]|0,c[C>>2]|0,c[t>>2]|0,(c[U>>2]|0)+(c[t>>2]|0)|0)}while(0);c[t>>2]=(c[t>>2]|0)+1}}while(0);do if(!(c[S>>2]|0)){c[G>>2]=0;c[L>>2]=0;xu(c[u>>2]|0,c[r>>2]|0,c[R>>2]|0,c[C>>2]|0,c[l>>2]|0,c[O>>2]|0,c[N>>2]|0,a[M>>0]|0,c[H>>2]&255,c[F>>2]|0,L);if(c[K>>2]|0)yu(c[u>>2]|0,c[r>>2]|0,c[N>>2]|0,0,c[p>>2]|0,d[M>>0]|0);if(!((c[L>>2]|0)==0?(d[M>>0]|0)==0:0))T=148;do if((T|0)==148){T=c[x>>2]|0;S=c[C>>2]|0;if(c[s>>2]|0){c[G>>2]=We(T,68,S,0,c[J>>2]|0,c[P>>2]|0)|0;break}else{c[G>>2]=ip(T,70,S,0,c[N>>2]|0)|0;break}}while(0);fw(c[u>>2]|0,c[r>>2]|0,c[C>>2]|0,c[l>>2]|0,c[R>>2]|0);if(!((c[K>>2]|0)==0?!((d[M>>0]|0)!=0|(c[s>>2]|0)!=0):0))fp(c[x>>2]|0,95,c[C>>2]|0,0)|0;if(!((c[L>>2]|0)==0?(d[M>>0]|0)==0:0))zp(c[x>>2]|0,c[G>>2]|0);if(c[K>>2]|0)yu(c[u>>2]|0,c[r>>2]|0,0,c[O>>2]|0,c[p>>2]|0,d[M>>0]|0);zu(c[u>>2]|0,c[r>>2]|0,c[C>>2]|0,c[l>>2]|0,c[O>>2]|0,c[R>>2]|0,1,0,0);if(!(c[K>>2]|0))break;iw(c[u>>2]|0,c[r>>2]|0,c[n>>2]|0,c[N>>2]|0,c[p>>2]|0,d[M>>0]|0)}while(0);do if(c[(c[v>>2]|0)+24>>2]&128){if(c[(c[u>>2]|0)+412>>2]|0)break;fp(c[x>>2]|0,37,c[w>>2]|0,1)|0}while(0);tu(c[u>>2]|0,c[I>>2]|0,110,c[n>>2]|0,2,c[r>>2]|0,c[N>>2]|0,c[H>>2]|0,c[F>>2]|0);do if(!(c[Q>>2]|0)){G=c[x>>2]|0;F=c[F>>2]|0;if(c[s>>2]|0){Pr(G,F);fp(c[x>>2]|0,9,c[m>>2]|0,c[B>>2]|0)|0;break}else{fp(G,16,0,F)|0;break}}while(0);Pr(c[x>>2]|0,c[A>>2]|0);c[t>>2]=0;c[D>>2]=c[(c[r>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break;if(a[(c[E>>2]|0)+((c[t>>2]|0)+1)>>0]|0)fp(c[x>>2]|0,61,(c[l>>2]|0)+(c[t>>2]|0)|0,0)|0;c[D>>2]=c[(c[D>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}if((c[C>>2]|0)<(c[l>>2]|0))fp(c[x>>2]|0,61,c[C>>2]|0,0)|0;do if(!(d[(c[u>>2]|0)+18>>0]|0)){if(c[(c[u>>2]|0)+412>>2]|0)break;Au(c[u>>2]|0)}while(0);if(!(c[(c[v>>2]|0)+24>>2]&128)){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(c[(c[u>>2]|0)+412>>2]|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}if(a[(c[u>>2]|0)+18>>0]|0){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}fp(c[x>>2]|0,35,c[w>>2]|0,1)|0;Nt(c[x>>2]|0,1);Ot(c[x>>2]|0,0,0,24544,0)|0;lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}else if((T|0)==182){lx(q);f=c[v>>2]|0;g=c[p>>2]|0;Xb(f,g);g=c[v>>2]|0;f=c[o>>2]|0;vn(g,f);f=c[v>>2]|0;g=c[n>>2]|0;sn(f,g);g=c[v>>2]|0;f=c[z>>2]|0;wn(g,f);i=y;return}} - - - -function Ys(b,e,f,g){b=b|0;e=e|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,G=0,H=0,I=0,J=0,K=0;B=i;i=i+160|0;J=B;k=B+140|0;l=B+136|0;p=B+132|0;q=B+128|0;x=B+124|0;o=B+120|0;m=B+116|0;n=B+112|0;K=B+108|0;h=B+144|0;r=B+104|0;G=B+100|0;s=B+96|0;F=B+92|0;E=B+72|0;D=B+68|0;z=B+64|0;C=B+60|0;y=B+56|0;t=B+52|0;u=B+48|0;A=B+44|0;w=B+40|0;v=B+36|0;I=B+32|0;H=B+12|0;c[l>>2]=b;c[p>>2]=e;c[q>>2]=f;c[x>>2]=g;c[o>>2]=-1;c[m>>2]=0;c[n>>2]=dp(c[l>>2]|0)|0;if(!(c[n>>2]|0)){c[k>>2]=0;b=c[k>>2]|0;i=B;return b|0}ws(c[l>>2]|0);if(!(c[(c[p>>2]|0)+4>>2]&32))c[o>>2]=_s(c[l>>2]|0)|0;if((d[(c[l>>2]|0)+450>>0]|0)==2){b=c[c[l>>2]>>2]|0;f=(d[c[p>>2]>>0]|0)==75?19296:19304;e=c[(c[l>>2]|0)+468>>2]|0;c[J>>2]=(c[o>>2]|0)>=0?1216:19280;c[J+4>>2]=f;c[J+8>>2]=e;c[K>>2]=Te(b,19248,J)|0;hp(c[n>>2]|0,155,c[(c[l>>2]|0)+464>>2]|0,0,0,c[K>>2]|0,-1)|0}J=c[p>>2]|0;do if((d[c[p>>2]>>0]|0)==75){c[G>>2]=c[J+12>>2];c[s>>2]=0;a[h>>0]=bq(c[G>>2]|0)|0;e=(c[l>>2]|0)+68|0;b=c[e>>2]|0;c[e>>2]=b+1;c[(c[p>>2]|0)+28>>2]=b;c[r>>2]=fp(c[n>>2]|0,57,c[(c[p>>2]|0)+28>>2]|0,((c[x>>2]|0)!=0^1)&1)|0;if(c[x>>2]|0)G=0;else G=Xr(c[c[l>>2]>>2]|0,1,1)|0;c[s>>2]=G;G=(c[p>>2]|0)+20|0;do if(!(c[(c[p>>2]|0)+4>>2]&2048)){if(c[G>>2]|0){c[C>>2]=c[(c[p>>2]|0)+20>>2];if(!(a[h>>0]|0))a[h>>0]=65;if(c[s>>2]|0){b=cq(c[l>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=b}c[t>>2]=kp(c[l>>2]|0)|0;c[u>>2]=kp(c[l>>2]|0)|0;if(c[x>>2]|0)fp(c[n>>2]|0,28,0,c[u>>2]|0)|0;c[z>>2]=c[c[C>>2]>>2];c[y>>2]=c[(c[C>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;c[w>>2]=c[c[y>>2]>>2];if((c[o>>2]|0)>=0?(Vs(c[w>>2]|0)|0)==0:0){cf(c[n>>2]|0,c[o>>2]|0);c[o>>2]=-1}if((c[x>>2]|0)!=0?(yq(c[w>>2]|0,v)|0)!=0:0)ip(c[n>>2]|0,84,c[(c[p>>2]|0)+28>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;else j=29;do if((j|0)==29){j=0;c[A>>2]=Qs(c[l>>2]|0,c[w>>2]|0,c[t>>2]|0)|0;D=c[n>>2]|0;C=c[A>>2]|0;if(c[x>>2]|0){fp(D,38,C,(Mr(c[n>>2]|0)|0)+2|0)|0;ip(c[n>>2]|0,75,c[(c[p>>2]|0)+28>>2]|0,c[u>>2]|0,c[A>>2]|0)|0;break}else{hp(D,49,C,1,c[u>>2]|0,h,1)|0;Us(c[l>>2]|0,c[A>>2]|0,1);fp(c[n>>2]|0,110,c[(c[p>>2]|0)+28>>2]|0,c[u>>2]|0)|0;break}}while(0);c[z>>2]=(c[z>>2]|0)+ -1;c[y>>2]=(c[y>>2]|0)+20}lp(c[l>>2]|0,c[t>>2]|0);lp(c[l>>2]|0,c[u>>2]|0)}}else{c[F>>2]=c[G>>2];$s(E,11,c[(c[p>>2]|0)+28>>2]|0);a[E+1>>0]=a[h>>0]|0;c[(c[F>>2]|0)+8>>2]=0;if(!(ao(c[l>>2]|0,c[F>>2]|0,E)|0)){c[D>>2]=c[c[F>>2]>>2];b=at(c[l>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[c[(c[D>>2]|0)+4>>2]>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=b;break}eh(c[s>>2]|0);c[k>>2]=0;b=c[k>>2]|0;i=B;return b|0}while(0);if(c[s>>2]|0)bf(c[n>>2]|0,c[r>>2]|0,c[s>>2]|0,-6)}else{c[I>>2]=c[J+20>>2];e=(c[l>>2]|0)+72|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;$s(H,0,b);if((d[c[p>>2]>>0]|0)==119){a[H>>0]=10;c[H+8>>2]=c[H+4>>2];fp(c[n>>2]|0,28,0,c[H+4>>2]|0)|0}else{a[H>>0]=3;fp(c[n>>2]|0,25,0,c[H+4>>2]|0)|0}wn(c[c[l>>2]>>2]|0,c[(c[I>>2]|0)+60>>2]|0);b=Rn(c[l>>2]|0,132,0,0,10160)|0;c[(c[I>>2]|0)+60>>2]=b;c[(c[I>>2]|0)+8>>2]=0;if(!(ao(c[l>>2]|0,c[I>>2]|0,H)|0)){c[m>>2]=c[H+4>>2];break}c[k>>2]=0;b=c[k>>2]|0;i=B;return b|0}while(0);if(c[q>>2]|0)bt(c[n>>2]|0,c[(c[p>>2]|0)+28>>2]|0,c[q>>2]|0);if((c[o>>2]|0)>=0)zp(c[n>>2]|0,c[o>>2]|0);us(c[l>>2]|0);c[k>>2]=c[m>>2];b=c[k>>2]|0;i=B;return b|0}function Zs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-97;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function _s(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=dp(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=Ir(d,44,a)|0;i=b;return a|0}function $s(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function at(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;g=e+8|0;j=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;if(c[(c[g>>2]|0)+4>>2]&256){c[f>>2]=cq(c[h>>2]|0,c[g>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]&256|0)!=0:0){c[f>>2]=cq(c[h>>2]|0,c[j>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}c[f>>2]=cq(c[h>>2]|0,c[g>>2]|0)|0;if(c[f>>2]|0){a=c[f>>2]|0;i=e;return a|0}c[f>>2]=cq(c[h>>2]|0,c[j>>2]|0)|0;a=c[f>>2]|0;i=e;return a|0}function bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;fp(c[g>>2]|0,25,0,c[h>>2]|0)|0;c[f>>2]=Ir(c[g>>2]|0,108,c[j>>2]|0)|0;ip(c[g>>2]|0,47,c[j>>2]|0,0,c[h>>2]|0)|0;Xe(c[g>>2]|0,-128);zp(c[g>>2]|0,c[f>>2]|0);i=e;return}function ct(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h+16|0;o=h+12|0;m=h+8|0;n=h+20|0;k=h+4|0;l=h;c[j>>2]=b;c[o>>2]=e;c[m>>2]=f;a[n>>0]=g;c[k>>2]=c[(c[j>>2]|0)+316>>2];c[o>>2]=Bq(c[c[j>>2]>>2]|0,c[o>>2]|0,0)|0;c[k>>2]=eo(c[j>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;if(!(c[k>>2]|0)){b=c[k>>2]|0;o=c[j>>2]|0;o=o+316|0;c[o>>2]=b;i=h;return}c[l>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(((c[c[k>>2]>>2]|0)-1|0)*20|0);c[(c[l>>2]|0)+16>>2]=c[m>>2];b=(c[l>>2]|0)+13|0;a[b>>0]=a[b>>0]&-5|((d[n>>0]|0)&1)<<2&255;b=c[k>>2]|0;o=c[j>>2]|0;o=o+316|0;c[o>>2]=b;i=h;return}function dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;e=f+8|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=d;if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;if(a[(c[c[g>>2]>>2]|0)+64>>0]|0){c[e>>2]=19312;b=c[e>>2]|0;i=f;return b|0}else{c[e>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);b=c[e>>2]|0;i=f;return b|0}return 0}function et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+20>>2]=c[g>>2];c[d>>2]=44;c[d+4>>2]=45;sq(d,c[f>>2]|0)|0;i=e;return c[d+20>>2]|0}function ft(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[h>>2]=b;c[j>>2]=e;if((c[(c[h>>2]|0)+20>>2]|0)==2?(c[(c[j>>2]|0)+4>>2]&1|0)!=0:0){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;b=c[g>>2]|0;i=f;return b|0}a:do switch(d[c[j>>2]>>0]|0|0){case 153:{if((c[(c[h>>2]|0)+20>>2]|0)<3?(c[(c[j>>2]|0)+4>>2]&524288|0)==0:0){e=8;break a}c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0};case 135:{if((c[(c[h>>2]|0)+20>>2]|0)==4){a[c[j>>2]>>0]=101;e=13;break a}if((c[(c[h>>2]|0)+20>>2]|0)==3){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;b=c[g>>2]|0;i=f;return b|0}else e=13;break};case 156:case 155:case 154:case 27:{e=8;break};default:e=13}while(0);if((e|0)==8){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;b=c[g>>2]|0;i=f;return b|0}else if((e|0)==13){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}return 0}function gt(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;c[(c[e>>2]|0)+20>>2]=0;i=d;return 2}function ht(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=b;c[g>>2]=d;c[f>>2]=Qe(Fs(c[h>>2]|0)|0,8,0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=e;return h|0}h=c[f>>2]|0;b=c[g>>2]|0;a[h+0>>0]=a[b+0>>0]|0;a[h+1>>0]=a[b+1>>0]|0;a[h+2>>0]=a[b+2>>0]|0;a[h+3>>0]=a[b+3>>0]|0;a[h+4>>0]=a[b+4>>0]|0;a[h+5>>0]=a[b+5>>0]|0;a[h+6>>0]=a[b+6>>0]|0;a[h+7>>0]=a[b+7>>0]|0;h=c[f>>2]|0;i=e;return h|0}function it(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[j>>2]=b;c[g>>2]=d;c[h>>2]=0;c[f>>2]=(c[j>>2]|0)+116;while(1){if((c[h>>2]|0)>=10)break;if((c[(c[f>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[f>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+20}i=e;return}function jt(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,q=0,r=0,s=0;q=i;i=i+32|0;l=q+28|0;o=q+24|0;p=q+20|0;j=q+16|0;r=q+12|0;s=q+8|0;m=q+4|0;n=q;c[l>>2]=d;c[o>>2]=f;c[p>>2]=g;c[j>>2]=h;if((e[(c[c[l>>2]>>2]|0)+60>>1]|0)&2){i=q;return}c[r>>2]=0;c[n>>2]=(c[l>>2]|0)+116;while(1){if((c[r>>2]|0)>=10)break;if(!(c[(c[n>>2]|0)+12>>2]|0)){k=5;break}c[r>>2]=(c[r>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}if((k|0)==5){c[(c[n>>2]|0)+8>>2]=c[(c[l>>2]|0)+100>>2];c[c[n>>2]>>2]=c[o>>2];b[(c[n>>2]|0)+4>>1]=c[p>>2];c[(c[n>>2]|0)+12>>2]=c[j>>2];a[(c[n>>2]|0)+6>>0]=0;f=(c[l>>2]|0)+104|0;d=c[f>>2]|0;c[f>>2]=d+1;c[(c[n>>2]|0)+16>>2]=d;i=q;return}c[s>>2]=2147483647;c[m>>2]=-1;c[r>>2]=0;c[n>>2]=(c[l>>2]|0)+116;while(1){if((c[r>>2]|0)>=10)break;if((c[(c[n>>2]|0)+16>>2]|0)<(c[s>>2]|0)){c[m>>2]=c[r>>2];c[s>>2]=c[(c[n>>2]|0)+16>>2]}c[r>>2]=(c[r>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}if((c[m>>2]|0)<0){i=q;return}c[n>>2]=(c[l>>2]|0)+116+((c[m>>2]|0)*20|0);c[(c[n>>2]|0)+8>>2]=c[(c[l>>2]|0)+100>>2];c[c[n>>2]>>2]=c[o>>2];b[(c[n>>2]|0)+4>>1]=c[p>>2];c[(c[n>>2]|0)+12>>2]=c[j>>2];a[(c[n>>2]|0)+6>>0]=0;f=(c[l>>2]|0)+104|0;d=c[f>>2]|0;c[f>>2]=d+1;c[(c[n>>2]|0)+16>>2]=d;i=q;return}function kt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+6|0;j=e;g=e+5|0;h=e+4|0;c[j>>2]=b;a[g>>0]=d;a[h>>0]=bq(c[j>>2]|0)|0;if((a[h>>0]|0)!=0?(a[g>>0]|0)!=0:0){if((a[h>>0]|0)<67?(a[g>>0]|0)<67:0){a[f>>0]=65;j=a[f>>0]|0;i=e;return j|0}a[f>>0]=67;j=a[f>>0]|0;i=e;return j|0}if((a[h>>0]|0)!=0|(a[g>>0]|0)!=0){a[f>>0]=(a[h>>0]|0)+(a[g>>0]|0);j=a[f>>0]|0;i=e;return j|0}else{a[f>>0]=65;j=a[f>>0]|0;i=e;return j|0}return 0}function lt(a){a=a|0;var b=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;b=f+16|0;g=f+12|0;k=f+8|0;h=f+4|0;j=f;c[g>>2]=a;do if(c[g>>2]|0){if(c[(c[g>>2]|0)+52>>2]|0){c[b>>2]=0;break}if((e[(c[g>>2]|0)+6>>1]|0)&5){c[b>>2]=0;break}if(c[(c[g>>2]|0)+60>>2]|0){c[b>>2]=0;break}if(c[(c[g>>2]|0)+36>>2]|0){c[b>>2]=0;break}c[k>>2]=c[(c[g>>2]|0)+32>>2];if((c[c[k>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[k>>2]|0)+28>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[k>>2]|0)+24>>2];if(!(c[j>>2]|0)){c[b>>2]=0;break}if((d[(c[j>>2]|0)+44>>0]|0)&16){c[b>>2]=0;break}c[h>>2]=c[c[g>>2]>>2];if((c[c[h>>2]>>2]|0)!=1){c[b>>2]=0;break}if((d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)!=154){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function mt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;e=f+4|0;j=f;g=f+9|0;h=f+8|0;c[j>>2]=b;a[g>>0]=d;a[h>>0]=Ns(c[j>>2]|0)|0;d=a[h>>0]|0;if((d|0)==66)c[e>>2]=(a[g>>0]|0)==66&1;else if((d|0)==65)c[e>>2]=1;else c[e>>2]=(a[g>>0]|0)>=67&1;i=f;return c[e>>2]|0}function nt(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=Vs(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=bq(c[k>>2]|0)|0;b=(kt(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=b|c[h>>2]&255;i=g;return a[f>>0]|0}function pt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=et(c[d>>2]|0,2)|0;i=b;return a|0}function qt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;f=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=d;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(e[(c[k>>2]|0)+52>>1]|0)){d=7;break}c[h>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)>=0?0==(xc(c[h>>2]|0,c[j>>2]|0)|0):0){d=5;break}c[l>>2]=(c[l>>2]|0)+1}if((d|0)==5){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}else if((d|0)==7){c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}return 0}function rt(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,o=0;h=i;i=i+160|0;f=h;k=h+28|0;o=h+20|0;j=h+16|0;m=h+12|0;l=h+8|0;n=h+4|0;g=h+32|0;c[k>>2]=b;c[h+24>>2]=d;c[o>>2]=e;c[j>>2]=Ed(c[c[o>>2]>>2]|0)|0;c[m>>2]=pe(c[k>>2]|0)|0;c[n>>2]=0;if(!(c[j>>2]|0))c[j>>2]=1216;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[n>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[l>>2]<<4);if((c[(c[n>>2]|0)+4>>2]|0)!=0?(xc(c[c[n>>2]>>2]|0,c[j>>2]|0)|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}do if((c[l>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0)){c[f>>2]=c[j>>2];sc(128,g,19424,f)|0}else{if((c[l>>2]|0)<2){c[f>>2]=c[j>>2];sc(128,g,19448,f)|0;break}if(!(a[(c[m>>2]|0)+62>>0]|0)){sc(128,g,19480,f)|0;break}if((Tc(c[(c[n>>2]|0)+4>>2]|0)|0)==0?(Wk(c[(c[n>>2]|0)+4>>2]|0)|0)==0:0){Kk(c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+4>>2]=0;c[(c[n>>2]|0)+12>>2]=0;cd(c[m>>2]|0);i=h;return}c[f>>2]=c[j>>2];sc(128,g,19528,f)|0}while(0);Ud(c[k>>2]|0,g,-1);i=h;return}function st(a,e,f,g,h,j,k){a=a|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;q=y+76|0;p=y+72|0;o=y+68|0;l=y+64|0;r=y+60|0;s=y+56|0;t=y+52|0;v=y+48|0;z=y+16|0;w=y+12|0;x=y+8|0;n=y+4|0;u=y;c[q>>2]=a;c[p>>2]=e;c[o>>2]=f;c[l>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[x>>2]=c[c[q>>2]>>2];c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;c[z>>2]=c[q>>2];a=tt(z,c[r>>2]|0)|0;c[v>>2]=a;do if((0==(a|0)?(a=tt(z,c[s>>2]|0)|0,c[v>>2]=a,0==(a|0)):0)?(a=tt(z,c[t>>2]|0)|0,c[v>>2]=a,0==(a|0)):0){if(c[l>>2]|0){if((d[c[l>>2]>>0]|0)==97)c[u>>2]=c[(c[l>>2]|0)+8>>2];else c[u>>2]=0;c[v>>2]=ap(c[q>>2]|0,c[p>>2]|0,c[u>>2]|0,0,0)|0;if(c[v>>2]|0)break}c[w>>2]=dp(c[q>>2]|0)|0;c[n>>2]=ys(c[q>>2]|0,4)|0;Os(c[q>>2]|0,c[r>>2]|0,c[n>>2]|0);Os(c[q>>2]|0,c[s>>2]|0,(c[n>>2]|0)+1|0);Os(c[q>>2]|0,c[t>>2]|0,(c[n>>2]|0)+2|0);if(c[w>>2]|0){ip(c[w>>2]|0,1,0,(c[n>>2]|0)+3-(b[c[o>>2]>>1]|0)|0,(c[n>>2]|0)+3|0)|0;Xe(c[w>>2]|0,b[c[o>>2]>>1]&255);bf(c[w>>2]|0,-1,c[o>>2]|0,-5);Ir(c[w>>2]|0,142,(c[p>>2]|0)==24&1)|0}}else m=4;while(0);if((m|0)==4){a=(c[q>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1}wn(c[x>>2]|0,c[r>>2]|0);wn(c[x>>2]|0,c[s>>2]|0);wn(c[x>>2]|0,c[t>>2]|0);i=y;return}function tt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+8|0;h=g+4|0;f=g;c[j>>2]=b;c[h>>2]=e;c[f>>2]=0;do if(c[h>>2]|0)if((d[c[h>>2]>>0]|0|0)!=27){c[f>>2]=vq(c[j>>2]|0,c[h>>2]|0)|0;break}else{a[c[h>>2]>>0]=97;break}while(0);i=g;return c[f>>2]|0}function ut(b,e,f){b=b|0;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;k=i;i=i+80|0;j=k;l=k+68|0;z=k+60|0;x=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;u=k+40|0;t=k+36|0;m=k+32|0;h=k+28|0;g=k+24|0;r=k+20|0;s=k+16|0;y=k+12|0;q=k+8|0;v=k+4|0;c[l>>2]=b;c[k+64>>2]=e;c[z>>2]=f;c[n>>2]=0;c[o>>2]=pe(c[l>>2]|0)|0;c[t>>2]=0;c[m>>2]=0;c[r>>2]=0;c[u>>2]=Ed(c[c[z>>2]>>2]|0)|0;c[p>>2]=Ed(c[(c[z>>2]|0)+4>>2]|0)|0;if(!(c[u>>2]|0))c[u>>2]=1216;if(!(c[p>>2]|0))c[p>>2]=1216;f=c[o>>2]|0;do if((c[(c[o>>2]|0)+20>>2]|0)<((c[(c[o>>2]|0)+116>>2]|0)+2|0)){if(!(a[f+62>>0]|0)){c[r>>2]=Te(c[o>>2]|0,19648,j)|0;break}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];if(!(xc(c[y>>2]|0,c[p>>2]|0)|0)){w=12;break}c[x>>2]=(c[x>>2]|0)+1}if((w|0)==12){z=c[o>>2]|0;c[j>>2]=c[p>>2];c[r>>2]=Te(z,19696,j)|0;break}w=c[o>>2]|0;do if((c[(c[o>>2]|0)+16>>2]|0)==((c[o>>2]|0)+456|0)){c[g>>2]=Qe(w,48,0)|0;if(!(c[g>>2]|0)){i=k;return}else{z=c[g>>2]|0;b=c[(c[o>>2]|0)+16>>2]|0;c[z+0>>2]=c[b+0>>2];c[z+4>>2]=c[b+4>>2];c[z+8>>2]=c[b+8>>2];c[z+12>>2]=c[b+12>>2];c[z+16>>2]=c[b+16>>2];c[z+20>>2]=c[b+20>>2];c[z+24>>2]=c[b+24>>2];c[z+28>>2]=c[b+28>>2];break}}else{c[g>>2]=Fk(w,c[(c[o>>2]|0)+16>>2]|0,(c[(c[o>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[g>>2]|0)){i=k;return}}while(0);c[(c[o>>2]|0)+16>>2]=c[g>>2];c[g>>2]=(c[(c[o>>2]|0)+16>>2]|0)+(c[(c[o>>2]|0)+20>>2]<<4);z=c[g>>2]|0;c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[h>>2]=c[(c[o>>2]|0)+48>>2];c[n>>2]=qh(c[(c[c[o>>2]>>2]|0)+16>>2]|0,c[u>>2]|0,h,s,t,m)|0;if(c[n>>2]|0){if((c[n>>2]|0)==7)a[(c[o>>2]|0)+64>>0]=1;Ud(c[l>>2]|0,c[m>>2]|0,-1);hc(c[m>>2]|0);i=k;return}c[h>>2]=c[h>>2]|256;c[n>>2]=rh(c[s>>2]|0,c[t>>2]|0,c[o>>2]|0,(c[g>>2]|0)+4|0,0,c[h>>2]|0)|0;hc(c[t>>2]|0);z=(c[o>>2]|0)+20|0;c[z>>2]=(c[z>>2]|0)+1;if((c[n>>2]|0)!=19){if(!(c[n>>2]|0)){z=sh(c[o>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;c[(c[g>>2]|0)+12>>2]=z;if(c[(c[g>>2]|0)+12>>2]|0){if((d[(c[(c[g>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[g>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0):0){c[r>>2]=Te(c[o>>2]|0,18744,j)|0;c[n>>2]=1}}else c[n>>2]=7;c[q>>2]=Sb(c[(c[g>>2]|0)+4>>2]|0)|0;vt(c[q>>2]|0,d[(c[o>>2]|0)+65>>0]|0)|0;z=c[(c[g>>2]|0)+4>>2]|0;wt(z,wt(c[(c[(c[o>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;xt(c[(c[g>>2]|0)+4>>2]|0,3|c[(c[o>>2]|0)+24>>2]&28)|0}}else{c[n>>2]=1;c[r>>2]=Te(c[o>>2]|0,19728,j)|0}a[(c[g>>2]|0)+8>>0]=3;z=ne(c[o>>2]|0,c[p>>2]|0)|0;c[c[g>>2]>>2]=z;if((c[n>>2]|0)==0?(c[c[g>>2]>>2]|0)==0:0)c[n>>2]=7;if(!(c[n>>2]|0)){Rb(c[o>>2]|0);c[n>>2]=_r(c[o>>2]|0,r)|0}if(!(c[n>>2]|0)){i=k;return}c[v>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;if(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0){Kk(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0)|0;c[(c[(c[o>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]=0;c[(c[(c[o>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]=0}cd(c[o>>2]|0);c[(c[o>>2]|0)+20>>2]=c[v>>2];if((c[n>>2]|0)==7|(c[n>>2]|0)==3082){a[(c[o>>2]|0)+64>>0]=1;Xb(c[o>>2]|0,c[r>>2]|0);c[r>>2]=Te(c[o>>2]|0,5400,j)|0;break}if(!(c[r>>2]|0)){z=c[o>>2]|0;c[j>>2]=c[u>>2];c[r>>2]=Te(z,19760,j)|0}}else{c[j>>2]=c[(c[o>>2]|0)+116>>2];c[r>>2]=Te(f,19608,j)|0}while(0);if(c[r>>2]|0){Ud(c[l>>2]|0,c[r>>2]|0,-1);Xb(c[o>>2]|0,c[r>>2]|0)}if(!(c[n>>2]|0)){i=k;return}fe(c[l>>2]|0,c[n>>2]|0);i=k;return}function vt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=e;if(((c[h>>2]|0)>=0?(a[(c[g>>2]|0)+12>>0]|0)==0:0)?(zt(c[(c[g>>2]|0)+208>>2]|0)|0)==0:0)a[(c[g>>2]|0)+4>>0]=c[h>>2];i=f;return d[(c[g>>2]|0)+4>>0]|0}function wt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;k=f+4|0;j=f;c[h>>2]=a;c[k>>2]=d;if(!(c[h>>2]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}Pc(c[h>>2]|0);if((c[k>>2]|0)>=0?(a=(c[(c[h>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[k>>2]|0)!=0):0){a=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[h>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[g>>2]=c[j>>2];a=c[g>>2]|0;i=f;return a|0}function xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];Pc(c[g>>2]|0);yt(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function yt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;h=g+8|0;f=g+4|0;j=g;c[h>>2]=b;c[f>>2]=e;c[j>>2]=c[f>>2]&3;if((c[j>>2]|0)==1)b=1;else b=(d[(c[h>>2]|0)+12>>0]|0)!=0;a[(c[h>>2]|0)+7>>0]=b?1:0;if((c[j>>2]|0)==3)j=(a[(c[h>>2]|0)+12>>0]|0)!=0^1;else j=0;a[(c[h>>2]|0)+8>>0]=j?1:0;do if(!(a[(c[h>>2]|0)+7>>0]|0)){if(c[f>>2]&4){a[(c[h>>2]|0)+11>>0]=3;a[(c[h>>2]|0)+9>>0]=3;break}e=(c[f>>2]&8|0)!=0;a[(c[h>>2]|0)+11>>0]=2;j=(c[h>>2]|0)+9|0;if(e){a[j>>0]=3;break}else{a[j>>0]=2;break}}else{a[(c[h>>2]|0)+11>>0]=0;a[(c[h>>2]|0)+9>>0]=0}while(0);a[(c[h>>2]|0)+10>>0]=a[(c[h>>2]|0)+11>>0]|0;if(a[(c[h>>2]|0)+8>>0]|0){e=(c[h>>2]|0)+10|0;a[e>>0]=d[e>>0]|32}h=(c[h>>2]|0)+20|0;j=d[h>>0]|0;if(c[f>>2]&16){a[h>>0]=j&-2;i=g;return}else{a[h>>0]=j|1;i=g;return}}function zt(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){e=0;e=e&1;i=b;return e|0}e=(d[(c[e>>2]|0)+43>>0]|0|0)==2;e=e&1;i=b;return e|0}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;j=d+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(xc(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;qp(c[j>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=d;return}function Bt(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;j=i;i=i+48|0;e=j+36|0;d=j+32|0;n=j+28|0;g=j+24|0;o=j+20|0;f=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;h=j;c[e>>2]=a;c[d>>2]=b;c[o>>2]=c[c[e>>2]>>2];c[f>>2]=Ve(c[c[e>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[n>>2]=Ct(c[d>>2]|0)|0;c[m>>2]=16;c[l>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[k>>2]=(c[f>>2]|0)==1?14904:14928;if((c[f>>2]|0)==1)c[m>>2]=14;if(ap(c[e>>2]|0,c[m>>2]|0,c[c[d>>2]>>2]|0,c[c[n>>2]>>2]|0,c[l>>2]|0)|0){i=j;return}if(ap(c[e>>2]|0,9,c[k>>2]|0,0,c[l>>2]|0)|0){i=j;return}o=dp(c[e>>2]|0)|0;c[g>>2]=o;if(!o){i=j;return}pp(c[e>>2]|0,0,c[f>>2]|0);Dt(c[e>>2]|0,c[f>>2]|0);c[h>>2]=Ye(c[g>>2]|0,9,19816,0)|0;bf(c[g>>2]|0,(c[h>>2]|0)+1|0,c[c[d>>2]>>2]|0,0);bf(c[g>>2]|0,(c[h>>2]|0)+4|0,1488,-2);ep(c[e>>2]|0,c[f>>2]|0);fp(c[g>>2]|0,61,0,0)|0;hp(c[g>>2]|0,126,c[f>>2]|0,0,0,c[c[d>>2]>>2]|0,0)|0;if((c[(c[e>>2]|0)+72>>2]|0)>=3){i=j;return}c[(c[e>>2]|0)+72>>2]=3;i=j;return}function Ct(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bh((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function Dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=dp(c[e>>2]|0)|0;Jr(c[e>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?14904:14928);We(c[g>>2]|0,55,0,1,c[f>>2]|0,5)|0;if(c[(c[e>>2]|0)+68>>2]|0){i=d;return}c[(c[e>>2]|0)+68>>2]=1;i=d;return}function Et(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;f=i;i=i+32|0;l=f+12|0;k=f+16|0;j=f+8|0;g=f+4|0;h=f;c[l>>2]=b;a[k>>0]=d;c[j>>2]=e;c[g>>2]=se(c[l>>2]|0,40+(c[(c[j>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[g>>2]|0)){l=c[g>>2]|0;i=f;return l|0}c[h>>2]=(c[g>>2]|0)+40;dF(c[h>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[g>>2]|0)+12>>2]=c[h>>2];c[(c[g>>2]|0)+16>>2]=c[(c[j>>2]|0)+4>>2];a[c[g>>2]>>0]=a[k>>0]|0;l=c[g>>2]|0;i=f;return l|0}function Ft(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=d;c[h>>2]=(c[j>>2]|0)+8;c[e>>2]=np(c[g>>2]|0,0,c[h>>2]|0)|0;Vb(c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+16>>2]|0);c[(c[h>>2]|0)+16>>2]=c[e>>2];if(c[e>>2]|0){j=(c[e>>2]|0)+40|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(fr(c[g>>2]|0,c[h>>2]|0)|0)){j=c[e>>2]|0;i=f;return j|0}c[e>>2]=0;j=c[e>>2]|0;i=f;return j|0}function Gt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function Ht(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;h=i;i=i+48|0;d=h;e=h+32|0;f=h+28|0;l=h+24|0;k=h+20|0;j=h+16|0;g=h+12|0;c[f>>2]=a;c[l>>2]=b;if(!(c[l>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}c[j>>2]=c[(c[f>>2]|0)+12>>2];c[k>>2]=0;c[g>>2]=(c[l>>2]|0)+8;while(1){if((c[k>>2]|0)>=(c[c[l>>2]>>2]|0)){b=15;break}if(!(c[(c[f>>2]|0)+8>>2]|0)){if((c[(c[g>>2]|0)+4>>2]|0)!=0?(xc(c[(c[g>>2]|0)+4>>2]|0,c[j>>2]|0)|0)!=0:0){b=8;break}Xb(c[c[c[f>>2]>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);c[(c[g>>2]|0)+4>>2]=0;c[c[g>>2]>>2]=c[(c[f>>2]|0)+4>>2]}if(It(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){b=11;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0){b=13;break}c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((b|0)==8){a=c[c[f>>2]>>2]|0;k=c[(c[f>>2]|0)+20>>2]|0;l=c[(c[g>>2]|0)+4>>2]|0;c[d>>2]=c[(c[f>>2]|0)+16>>2];c[d+4>>2]=k;c[d+8>>2]=l;Se(a,20128,d);c[e>>2]=1;a=c[e>>2]|0;i=h;return a|0}else if((b|0)==11){c[e>>2]=1;a=c[e>>2]|0;i=h;return a|0}else if((b|0)==13){c[e>>2]=1;a=c[e>>2]|0;i=h;return a|0}else if((b|0)==15){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}return 0}function It(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;while(1){if(!(c[g>>2]|0)){b=20;break}if(Kt(c[f>>2]|0,c[c[g>>2]>>2]|0)|0){b=4;break}if(Ht(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0)|0){b=6;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+36>>2]|0)|0){b=8;break}if(Kt(c[f>>2]|0,c[(c[g>>2]|0)+40>>2]|0)|0){b=10;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0){b=12;break}if(Kt(c[f>>2]|0,c[(c[g>>2]|0)+48>>2]|0)|0){b=14;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0)|0){b=16;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0){b=18;break}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((b|0)==4)c[e>>2]=1;else if((b|0)==6)c[e>>2]=1;else if((b|0)==8)c[e>>2]=1;else if((b|0)==10)c[e>>2]=1;else if((b|0)==12)c[e>>2]=1;else if((b|0)==14)c[e>>2]=1;else if((b|0)==16)c[e>>2]=1;else if((b|0)==18)c[e>>2]=1;else if((b|0)==20)c[e>>2]=0;i=d;return c[e>>2]|0}function Jt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g;f=g+12|0;h=g+8|0;k=g+4|0;c[h>>2]=b;c[k>>2]=e;while(1){if(!(c[k>>2]|0)){k=16;break}if((d[c[k>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+145>>0]|0)){k=6;break}a[c[k>>2]>>0]=101}if(c[(c[k>>2]|0)+4>>2]&16384){k=16;break}b=c[h>>2]|0;e=(c[k>>2]|0)+20|0;if(c[(c[k>>2]|0)+4>>2]&2048){if(It(b,c[e>>2]|0)|0){k=10;break}}else if(Kt(b,c[e>>2]|0)|0){k=12;break}if(Jt(c[h>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0){k=14;break}c[k>>2]=c[(c[k>>2]|0)+12>>2]}if((k|0)==6){b=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Se(b,20176,j);c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else if((k|0)==10){c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else if((k|0)==12){c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else if((k|0)==14){c[f>>2]=1;b=c[f>>2]|0;i=g;return b|0}else if((k|0)==16){c[f>>2]=0;b=c[f>>2]|0;i=g;return b|0}return 0}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;j=d+8|0;h=d+4|0;g=d;c[f>>2]=a;c[j>>2]=b;if(!(c[j>>2]|0)){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=0;c[g>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){b=8;break}if(Jt(c[f>>2]|0,c[c[g>>2]>>2]|0)|0){b=6;break}c[h>>2]=(c[h>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((b|0)==6){c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}else if((b|0)==8){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}return 0}function Lt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;while(1){if(!(c[g>>2]|0)){b=10;break}if(It(c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0)|0){b=4;break}if(Jt(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){b=6;break}if(Kt(c[f>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0){b=8;break}c[g>>2]=c[(c[g>>2]|0)+32>>2]}if((b|0)==4)c[e>>2]=1;else if((b|0)==6)c[e>>2]=1;else if((b|0)==8)c[e>>2]=1;else if((b|0)==10)c[e>>2]=0;i=d;return c[e>>2]|0}function Mt(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-65|64;i=d;return}function Nt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;j=f+16|0;l=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[l>>2]=d;c[k>>2]=c[c[j>>2]>>2];hu(c[(c[j>>2]|0)+16>>2]|0,(e[(c[j>>2]|0)+84>>1]|0)<<1);Xb(c[k>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[j>>2]|0)+84>>1]=c[l>>2];a=se(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[j>>2]|0)+16>>2]=a;if(!(c[(c[j>>2]|0)+16>>2]|0)){i=f;return}while(1){l=c[g>>2]|0;c[g>>2]=l+ -1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[j>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=f;return}function Ot(b,d,f,g,h){b=b|0;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,q=0,r=0;p=i;i=i+32|0;k=p+28|0;j=p+24|0;r=p+20|0;q=p+16|0;n=p+12|0;m=p+8|0;l=p+4|0;o=p;c[j>>2]=b;c[r>>2]=d;c[q>>2]=f;c[n>>2]=g;c[m>>2]=h;if(a[(c[c[j>>2]>>2]|0)+64>>0]|0){c[k>>2]=7;b=c[k>>2]|0;i=p;return b|0}else{b=(c[r>>2]|0)+($(c[q>>2]|0,e[(c[j>>2]|0)+84>>1]|0)|0)|0;c[o>>2]=(c[(c[j>>2]|0)+16>>2]|0)+(b*40|0);c[l>>2]=Vd(c[o>>2]|0,c[n>>2]|0,-1,1,c[m>>2]|0)|0;c[k>>2]=c[l>>2];b=c[k>>2]|0;i=p;return b|0}return 0}function Pt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;m=f+24|0;j=f+20|0;l=f;h=f+16|0;g=f+12|0;k=f+8|0;c[m>>2]=a;c[j>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=dp(c[m>>2]|0)|0;b=(c[m>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[g>>2]=a;c[k>>2]=Qe(c[c[m>>2]>>2]|0,8,0)|0;if(c[k>>2]|0){m=c[k>>2]|0;c[m+0>>2]=c[l+0>>2];c[m+4>>2]=c[l+4>>2]}hp(c[h>>2]|0,26,0,c[g>>2]|0,0,c[k>>2]|0,-13)|0;Nt(c[h>>2]|0,1);Ot(c[h>>2]|0,0,0,c[j>>2]|0,0)|0;fp(c[h>>2]|0,35,c[g>>2]|0,1)|0;i=f;return}function Qt(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=a;do if(c[f>>2]|0){if(!(xc(c[f>>2]|0,21072)|0)){c[e>>2]=1;break}if(!(xc(c[f>>2]|0,21064)|0))c[e>>2]=0;else b=6}else b=6;while(0);if((b|0)==6)c[e>>2]=-1;i=d;return c[e>>2]|0}function Rt(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[22296+(c[e>>2]<<2)>>2];i=d;return c[b>>2]|0}function St(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[a+4>>2]|0;if(!((b|0)>-1|(b|0)==-1&(c[a>>2]|0)>>>0>=4294967295)){b=c[f>>2]|0;b=b+160|0;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=e;return a|0}d=g;a=c[d+4>>2]|0;b=(c[f>>2]|0)+160|0;c[b>>2]=c[d>>2];c[b+4>>2]=a;b=g;gu(c[(c[f>>2]|0)+208>>2]|0,c[b>>2]|0,c[b+4>>2]|0);b=c[f>>2]|0;b=b+160|0;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=e;return a|0}function Tt(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;Pc(c[f>>2]|0);if(!(a[(c[(c[f>>2]|0)+4>>2]|0)+17>>0]|0)){f=0;c[e>>2]=f;f=c[e>>2]|0;i=d;return f|0}f=(a[(c[(c[f>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=f;f=c[e>>2]|0;i=d;return f|0}function Ut(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;f=d;c[e>>2]=a;do if(xc(c[e>>2]|0,22272)|0){if(!(xc(c[e>>2]|0,21976)|0)){c[b>>2]=1;break}if(!(xc(c[e>>2]|0,22280)|0)){c[b>>2]=2;break}else{c[f>>2]=zg(c[e>>2]|0)|0;c[b>>2]=((c[f>>2]|0)>=0&(c[f>>2]|0)<=2?c[f>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=d;return c[b>>2]|0}function Vt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;l=g+12|0;m=g+8|0;k=g+4|0;h=g;j=g+16|0;c[l>>2]=b;c[m>>2]=f;c[k>>2]=c[(c[l>>2]|0)+4>>2];c[h>>2]=0;a[j>>0]=c[m>>2];Pc(c[l>>2]|0);if(((e[(c[k>>2]|0)+22>>1]|0)&2|0)!=0?(((d[j>>0]|0|0)!=0?1:0)|0)!=(d[(c[k>>2]|0)+17>>0]|0|0):0){c[h>>2]=8;m=c[h>>2]|0;i=g;return m|0}a[(c[k>>2]|0)+17>>0]=(d[j>>0]|0|0)!=0?1:0;a[(c[k>>2]|0)+18>>0]=(d[j>>0]|0|0)==2?1:0;m=c[h>>2]|0;i=g;return m|0}function Wt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;k=f+12|0;l=f+8|0;h=f+4|0;j=f;c[k>>2]=b;c[l>>2]=e;c[h>>2]=fu(c[l>>2]|0)|0;c[j>>2]=c[c[k>>2]>>2];if((d[(c[j>>2]|0)+63>>0]|0|0)==(c[h>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=f;return l|0}if(Xt(c[k>>2]|0)|0){c[g>>2]=1;l=c[g>>2]|0;i=f;return l|0}else{a[(c[j>>2]|0)+63>>0]=c[h>>2];c[g>>2]=0;l=c[g>>2]|0;i=f;return l|0}return 0}function Xt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;d=e+12|0;g=e+8|0;f=e+4|0;c[g>>2]=b;c[f>>2]=c[c[g>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+20>>2]|0){if((a[(c[f>>2]|0)+62>>0]|0)!=0?(Tc(c[(c[(c[f>>2]|0)+16>>2]|0)+20>>2]|0)|0)==0:0){Kk(c[(c[(c[f>>2]|0)+16>>2]|0)+20>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+20>>2]=0;cd(c[f>>2]|0);break}Se(c[g>>2]|0,22208,h);c[d>>2]=1;h=c[d>>2]|0;i=e;return h|0}while(0);c[d>>2]=0;h=c[d>>2]|0;i=e;return h|0}function Yt(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=b;if(!(a[(c[g>>2]|0)+62>>0]|0)){i=e;return}c[f>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=c[(c[g>>2]|0)+20>>2];while(1){b=c[h>>2]|0;c[h>>2]=b+ -1;if((b|0)<=0)break;if(c[(c[f>>2]|0)+4>>2]|0)xt(c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|c[(c[g>>2]|0)+24>>2]&28)|0;c[f>>2]=(c[f>>2]|0)+16}i=e;return}function Zt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+8|0;f=d+16|0;g=d;b[f>>1]=a;if((b[f>>1]|0)<10){a=e;c[a>>2]=1;c[a+4>>2]=0;a=e;h=a;h=c[h>>2]|0;a=a+4|0;a=c[a>>2]|0;D=a;i=d;return h|0}k=(b[f>>1]|0)%10|0;j=g;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;b[f>>1]=(b[f>>1]|0)/10|0;j=g;k=c[j+4>>2]|0;h=g;a=c[h>>2]|0;h=c[h+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>=5)){if(h>>>0>0|(h|0)==0&a>>>0>=1){j=g;j=ZE(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=g;c[k>>2]=j;c[k+4>>2]=D}}else{j=ZE(a|0,h|0,2,0)|0;k=g;c[k>>2]=j;c[k+4>>2]=D}if((b[f>>1]|0)<3){k=g;k=bF(c[k>>2]|0,c[k+4>>2]|0,8,0)|0;k=cF(k|0,D|0,3-(b[f>>1]|0)|0)|0;j=e;c[j>>2]=k;c[j+4>>2]=D;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}if((b[f>>1]|0)>60){g=-1;f=2147483647}else{g=bF(c[g>>2]|0,c[g+4>>2]|0,8,0)|0;g=$E(g|0,D|0,(b[f>>1]|0)-3|0)|0;f=D}j=e;c[j>>2]=g;c[j+4>>2]=f;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}function _t(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;b=d[g>>0]|0;if((b|0)==6)c[e>>2]=22176;else if((b|0)==8)c[e>>2]=22152;else if((b|0)==9)c[e>>2]=22168;else if((b|0)==7)c[e>>2]=22136;else c[e>>2]=22192;i=f;return c[e>>2]|0}function $t(f,g,h,j,k){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;x=i;i=i+80|0;v=x;n=x+64|0;q=x+60|0;z=x+56|0;t=x+52|0;p=x+48|0;D=x+44|0;o=x+40|0;u=x+36|0;s=x+32|0;l=x+28|0;r=x+24|0;w=x+20|0;C=x+16|0;y=x+68|0;A=x+12|0;B=x+8|0;c[q>>2]=f;c[z>>2]=g;c[t>>2]=h;c[p>>2]=j;c[D>>2]=k;c[o>>2]=0;c[u>>2]=0;c[s>>2]=c[(c[t>>2]|0)+20>>2];c[l>>2]=c[(c[t>>2]|0)+40>>2];do if((c[s>>2]|0)==1){if((b[(c[z>>2]|0)+36>>1]|0)>=0){if(!(c[l>>2]|0)){c[n>>2]=0;f=c[n>>2]|0;i=x;return f|0}if(!(xc(c[(c[(c[z>>2]|0)+4>>2]|0)+((b[(c[z>>2]|0)+36>>1]|0)*24|0)>>2]|0,c[l>>2]|0)|0)){c[n>>2]=0;f=c[n>>2]|0;i=x;return f|0}}}else if(c[D>>2]|0){c[u>>2]=Qe(c[c[q>>2]>>2]|0,c[s>>2]<<2,0)|0;if(c[u>>2]|0){c[c[D>>2]>>2]=c[u>>2];break}c[n>>2]=1;f=c[n>>2]|0;i=x;return f|0}while(0);c[o>>2]=c[(c[z>>2]|0)+8>>2];a:while(1){if(!(c[o>>2]|0))break;do if((e[(c[o>>2]|0)+50>>1]|0)==(c[s>>2]|0)?(d[(c[o>>2]|0)+54>>0]|0)!=0:0){if(!(c[l>>2]|0))if((a[(c[o>>2]|0)+55>>0]&3|0)==2){m=17;break a}else break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[s>>2]|0))break;b[y>>1]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;f=c[(c[(c[z>>2]|0)+4>>2]|0)+((b[y>>1]|0)*24|0)+16>>2]|0;c[A>>2]=f;c[A>>2]=(c[A>>2]|0)!=0?f:3320;if(xc(c[(c[(c[o>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0,c[A>>2]|0)|0)break;c[B>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((b[y>>1]|0)*24|0)>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[s>>2]|0))break;if(!(xc(c[(c[t>>2]|0)+36+(c[C>>2]<<3)+4>>2]|0,c[B>>2]|0)|0)){m=27;break}c[C>>2]=(c[C>>2]|0)+1}if((m|0)==27?(m=0,(c[u>>2]|0)!=0):0)c[(c[u>>2]|0)+(c[w>>2]<<2)>>2]=c[(c[t>>2]|0)+36+(c[C>>2]<<3)>>2];if((c[C>>2]|0)==(c[s>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1}if((c[w>>2]|0)==(c[s>>2]|0))break a}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}b:do if((m|0)==17?(c[u>>2]|0)!=0:0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[s>>2]|0))break b;c[(c[u>>2]|0)+(c[r>>2]<<2)>>2]=c[(c[t>>2]|0)+36+(c[r>>2]<<3)>>2];c[r>>2]=(c[r>>2]|0)+1}}while(0);if(c[o>>2]|0){c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;f=c[n>>2]|0;i=x;return f|0}if(!(a[(c[q>>2]|0)+438>>0]|0)){f=c[q>>2]|0;g=c[(c[t>>2]|0)+8>>2]|0;c[v>>2]=c[c[c[t>>2]>>2]>>2];c[v+4>>2]=g;Se(f,22088,v)}Xb(c[c[q>>2]>>2]|0,c[u>>2]|0);c[n>>2]=1;f=c[n>>2]|0;i=x;return f|0}function au(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+20|0;o=l+16|0;j=l+12|0;m=l+8|0;k=l+4|0;n=l;g=l+24|0;c[o>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=c[(c[j>>2]|0)+12>>2];c[n>>2]=Fs(c[o>>2]|0)|0;d=(e[(c[j>>2]|0)+52>>1]|0)+1|0;d=Qe(0,d,((d|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=d;if(!(c[(c[j>>2]|0)+16>>2]|0)){a[(c[n>>2]|0)+64>>0]=1;c[h>>2]=0;d=c[h>>2]|0;i=l;return d|0}c[m>>2]=0;while(1){n=c[m>>2]|0;f=c[j>>2]|0;if((c[m>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[g>>1]=b[(c[f+4>>2]|0)+(n<<1)>>1]|0;if((b[g>>1]|0)<0)f=68;else f=a[(c[(c[k>>2]|0)+4>>2]|0)+((b[g>>1]|0)*24|0)+21>>0]|0;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[m>>2]|0)>>0]=f;c[m>>2]=(c[m>>2]|0)+1}a[(c[f+16>>2]|0)+n>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];d=c[h>>2]|0;i=l;return d|0}function bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[g>>2]=22080;else c[g>>2]=8776;Qf(c[f>>2]|0,8784,2,1,c[g>>2]|0,34,0,0,0)|0;Qf(c[f>>2]|0,8784,3,1,c[g>>2]|0,34,0,0,0)|0;Qf(c[f>>2]|0,8768,2,1,1208,34,0,0,0)|0;eu(c[f>>2]|0,8768,12);eu(c[f>>2]|0,8784,((c[e>>2]|0)!=0?12:4)&255);i=d;return}function cu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;f=b+4|0;e=b;c[d>>2]=a;c[f>>2]=0;c[e>>2]=(c[d>>2]|0)+116;while(1){if((c[f>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0){vs(c[d>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[f>>2]=(c[f>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=b;return}function du(b,e,f,g,h,j,k){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+64|0;r=w+52|0;p=w+48|0;x=w+44|0;l=w+40|0;o=w+36|0;v=w+32|0;m=w+28|0;z=w+24|0;n=w+20|0;u=w+16|0;A=w+12|0;t=w+8|0;q=w+4|0;s=w;c[p>>2]=b;c[x>>2]=e;c[l>>2]=f;c[o>>2]=g;c[v>>2]=h;c[m>>2]=j;c[z>>2]=k;if((d[(c[x>>2]|0)+44>>0]|0)&16){c[r>>2]=0;b=c[r>>2]|0;i=w;return b|0}c[u>>2]=Ve(c[c[p>>2]>>2]|0,c[(c[x>>2]|0)+68>>2]|0)|0;c[q>>2]=dp(c[p>>2]|0)|0;if((c[o>>2]|0)<0)c[o>>2]=c[(c[p>>2]|0)+68>>2];b=c[o>>2]|0;c[o>>2]=b+1;c[A>>2]=b;if(c[m>>2]|0)c[c[m>>2]>>2]=c[A>>2];do if(!((d[(c[x>>2]|0)+44>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){y=11;break}Kr(c[p>>2]|0,c[A>>2]|0,c[u>>2]|0,c[x>>2]|0,c[l>>2]|0)}else y=11;while(0);if((y|0)==11)Jr(c[p>>2]|0,c[u>>2]|0,c[(c[x>>2]|0)+32>>2]|0,(c[l>>2]|0)==55&255,c[c[x>>2]>>2]|0);if(c[z>>2]|0)c[c[z>>2]>>2]=c[o>>2];c[n>>2]=0;c[t>>2]=c[(c[x>>2]|0)+8>>2];while(1){y=c[o>>2]|0;if(!(c[t>>2]|0))break;c[o>>2]=y+1;c[s>>2]=y;if((a[(c[t>>2]|0)+55>>0]&3|0)==2?(c[m>>2]|0)!=0?((d[(c[x>>2]|0)+44>>0]|0)&32|0)!=0:0:0)c[c[m>>2]>>2]=c[s>>2];if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[n>>2]|0)+1)>>0]|0|0)==0:0)){ip(c[q>>2]|0,c[l>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+44>>2]|0,c[u>>2]|0)|0;Lr(c[p>>2]|0,c[t>>2]|0)}c[t>>2]=c[(c[t>>2]|0)+20>>2];c[n>>2]=(c[n>>2]|0)+1}if((y|0)>(c[(c[p>>2]|0)+68>>2]|0))c[(c[p>>2]|0)+68>>2]=c[o>>2];c[r>>2]=c[n>>2];b=c[r>>2]|0;i=w;return b|0}function eu(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+16|0;n=j+8|0;m=j+4|0;l=j+12|0;k=j;c[n>>2]=f;c[m>>2]=g;a[l>>0]=h;g=c[n>>2]|0;f=c[m>>2]|0;c[k>>2]=Sf(g,f,Mb(c[m>>2]|0)|0,2,1,0)|0;if(!(c[k>>2]|0)){i=j;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[l>>0]|0);i=j;return}function fu(b){b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[g>>2]=b;if((a[c[g>>2]>>0]|0)>=48?(a[c[g>>2]>>0]|0)<=50:0)c[f>>2]=(a[c[g>>2]>>0]|0)-48;else d=4;do if((d|0)==4){if(!(xc(c[g>>2]|0,21448)|0)){c[f>>2]=1;break}if(!(xc(c[g>>2]|0,4792)|0)){c[f>>2]=2;break}else{c[f>>2]=0;break}}while(0);i=e;return c[f>>2]|0}function gu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e;c[g>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[g>>2]|0)){i=e;return}b=c[f+4>>2]|0;a=(c[g>>2]|0)+16|0;c[a>>2]=c[f>>2];c[a+4>>2]=b;i=e;return}function hu(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+12|0;m=g+8|0;j=g+4|0;k=g;l=g+16|0;c[h>>2]=d;c[m>>2]=f;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)!=0)){i=g;return}c[j>>2]=(c[h>>2]|0)+((c[m>>2]|0)*40|0);c[k>>2]=c[(c[h>>2]|0)+32>>2];a[l>>0]=a[(c[k>>2]|0)+64>>0]|0;if(c[(c[k>>2]|0)+520>>2]|0){do{if(c[(c[h>>2]|0)+24>>2]|0)Xb(c[k>>2]|0,c[(c[h>>2]|0)+20>>2]|0);d=(c[h>>2]|0)+40|0;c[h>>2]=d}while(d>>>0<(c[j>>2]|0)>>>0);i=g;return}do{f=c[h>>2]|0;if(!((e[(c[h>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Xb(c[k>>2]|0,c[(c[h>>2]|0)+20>>2]|0);c[(c[h>>2]|0)+24>>2]=0}}else Bd(f);b[(c[h>>2]|0)+8>>1]=128;d=(c[h>>2]|0)+40|0;c[h>>2]=d}while(d>>>0<(c[j>>2]|0)>>>0);a[(c[k>>2]|0)+64>>0]=a[l>>0]|0;i=g;return}function iu(a,b,d,e){a=a|0;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,o=0;l=i;i=i+64|0;f=l;g=l+36|0;o=l+32|0;h=l+28|0;j=l+24|0;n=l+20|0;k=l+16|0;m=l+40|0;c[g>>2]=a;c[o>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>4)break;c[f>>2]=c[n>>2];sc(24,m,23336,f)|0;if(sp(c[c[g>>2]>>2]|0,m,c[k>>2]|0)|0){o=c[g>>2]|0;b=c[h>>2]|0;a=c[j>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=m;c[f+8>>2]=b;c[f+12>>2]=a;cp(o,18480,f)}c[n>>2]=(c[n>>2]|0)+1}i=l;return}function ju(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,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=dp(c[g>>2]|0)|0;c[f>>2]=kp(c[g>>2]|0)|0;ip(c[k>>2]|0,117,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Sp(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?14904:14928;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;cp(a,23280,h);lp(c[g>>2]|0,c[f>>2]|0);i=e;return}function ku(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;h=i;i=i+48|0;n=h+36|0;r=h+32|0;o=h+28|0;k=h+24|0;g=h+20|0;l=h+16|0;m=h+12|0;j=h+8|0;q=h+4|0;p=h;c[r>>2]=a;c[o>>2]=b;c[k>>2]=d;c[g>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];do if(!(c[j>>2]&(c[j>>2]|0)-1)){if(!(c[j>>2]|0))f=1;else f=c[j>>2]<<1;c[q>>2]=f;a=$(c[q>>2]|0,c[k>>2]|0)|0;c[p>>2]=Fk(c[r>>2]|0,c[o>>2]|0,a,((a|0)<0)<<31>>31)|0;if(c[p>>2]|0){c[o>>2]=c[p>>2];break}c[c[l>>2]>>2]=-1;c[n>>2]=c[o>>2];a=c[n>>2]|0;i=h;return a|0}while(0);c[m>>2]=c[o>>2];a=$(c[j>>2]|0,c[k>>2]|0)|0;_E((c[m>>2]|0)+a|0,0,c[k>>2]|0)|0;c[c[l>>2]>>2]=c[j>>2];a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[n>>2]=c[o>>2];a=c[n>>2]|0;i=h;return a|0}function lu(a,b,e,f,g){a=a|0;b=b|0;e=e|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;k=i;i=i+32|0;q=k+28|0;p=k+24|0;h=k+20|0;n=k+16|0;l=k+12|0;o=k+8|0;j=k+4|0;m=k;c[q>>2]=a;c[p>>2]=b;c[h>>2]=e;c[n>>2]=f;c[l>>2]=g;c[o>>2]=0;c[j>>2]=0;if(c[(c[c[q>>2]>>2]|0)+24>>2]&8388608)c[j>>2]=wp(c[q>>2]|0,c[p>>2]|0)|0;c[m>>2]=c[j>>2];while(1){if(!(c[m>>2]|0))break;if((d[(c[m>>2]|0)+8>>0]|0|0)==(c[h>>2]|0)?(ex(c[(c[m>>2]|0)+16>>2]|0,c[n>>2]|0)|0)!=0:0)c[o>>2]=c[o>>2]|(d[(c[m>>2]|0)+9>>0]|0);c[m>>2]=c[(c[m>>2]|0)+32>>2]}if(!(c[l>>2]|0)){b=c[o>>2]|0;b=(b|0)!=0;a=c[j>>2]|0;a=b?a:0;i=k;return a|0}c[c[l>>2]>>2]=c[o>>2];b=c[o>>2]|0;b=(b|0)!=0;a=c[j>>2]|0;a=b?a:0;i=k;return a|0}function mu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l;k=l+16|0;g=l+12|0;h=l+8|0;m=l+4|0;c[g>>2]=a;c[h>>2]=b;c[m>>2]=e;if(!(((d[(c[h>>2]|0)+44>>0]|0)&16|0)!=0?(c[(c[c[(Rp(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))f=3;do if((f|0)==3){if((((d[(c[h>>2]|0)+44>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[m>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){a=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];Se(a,24480,j);c[k>>2]=1;a=c[k>>2]|0;i=l;return a|0}c[k>>2]=0;a=c[k>>2]|0;i=l;return a|0}while(0);a=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];Se(a,24448,j);c[k>>2]=1;a=c[k>>2]|0;i=l;return a|0}function nu(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function ou(f,g,h,j,k){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+112|0;v=l+100|0;p=l+96|0;n=l+92|0;H=l+88|0;E=l+84|0;w=l+80|0;K=l+76|0;o=l+72|0;q=l+68|0;m=l+64|0;I=l+60|0;J=l+56|0;s=l+52|0;r=l+48|0;A=l+44|0;z=l+40|0;C=l+36|0;B=l+32|0;u=l+28|0;t=l+24|0;D=l+20|0;F=l+16|0;x=l+12|0;y=l+8|0;L=l+4|0;G=l;c[p>>2]=f;c[n>>2]=g;c[H>>2]=h;c[E>>2]=j;c[w>>2]=k;c[B>>2]=0;c[u>>2]=0;c[F>>2]=0;if(!(c[H>>2]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((c[(c[p>>2]|0)+532>>2]|0)==0?(c[(c[H>>2]|0)+68>>2]|0)==0:0){if(wp(c[p>>2]|0,c[n>>2]|0)|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(d[(c[n>>2]|0)+44>>0]&16){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((c[E>>2]|0)==10){if((b[(c[n>>2]|0)+36>>1]|0)>=0)c[E>>2]=d[(c[n>>2]|0)+45>>0];if((c[E>>2]|0)==10)c[E>>2]=2}if((c[c[(c[H>>2]|0)+32>>2]>>2]|0)!=1){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[(c[H>>2]|0)+32>>2]|0)+28>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+36>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+48>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+40>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+60>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[H>>2]|0)+52>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(e[(c[H>>2]|0)+6>>1]&1){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}c[K>>2]=c[c[H>>2]>>2];if((c[c[K>>2]>>2]|0)!=1){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((d[c[c[(c[K>>2]|0)+4>>2]>>2]>>0]|0)!=116){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}c[I>>2]=(c[(c[H>>2]|0)+32>>2]|0)+8;c[o>>2]=np(c[p>>2]|0,0,c[I>>2]|0)|0;if(!(c[o>>2]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((c[o>>2]|0)==(c[n>>2]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(((d[(c[n>>2]|0)+44>>0]&32|0)==0|0)!=((d[(c[o>>2]|0)+44>>0]&32|0)==0|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(d[(c[o>>2]|0)+44>>0]&16){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if(c[(c[o>>2]|0)+12>>2]|0){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((b[(c[n>>2]|0)+38>>1]|0)!=(b[(c[o>>2]|0)+38>>1]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}if((b[(c[n>>2]|0)+36>>1]|0)!=(b[(c[o>>2]|0)+36>>1]|0)){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}c[J>>2]=0;a:while(1){if((c[J>>2]|0)>=(b[(c[n>>2]|0)+38>>1]|0)){G=64;break}c[L>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0);c[G>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0);if((a[(c[L>>2]|0)+21>>0]|0)!=(a[(c[G>>2]|0)+21>>0]|0)){G=52;break}if(!(fx(c[(c[L>>2]|0)+16>>2]|0,c[(c[G>>2]|0)+16>>2]|0)|0)){G=54;break}if((d[(c[L>>2]|0)+20>>0]|0)!=0?(a[(c[G>>2]|0)+20>>0]|0)==0:0){G=57;break}do if((c[J>>2]|0)>0){if(((c[(c[L>>2]|0)+8>>2]|0)==0|0)!=((c[(c[G>>2]|0)+8>>2]|0)==0|0)){G=62;break a}if(!(c[(c[L>>2]|0)+8>>2]|0))break;if(UE(c[(c[L>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+8>>2]|0)|0){G=62;break a}}while(0);c[J>>2]=(c[J>>2]|0)+1}if((G|0)==52){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else if((G|0)==54){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else if((G|0)==57){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else if((G|0)==62){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else if((G|0)==64){c[m>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+54>>0]|0)c[F>>2]=1;c[q>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(gx(c[m>>2]|0,c[q>>2]|0)|0)break;c[q>>2]=c[(c[q>>2]|0)+20>>2]}if(!(c[q>>2]|0)){G=73;break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}if((G|0)==73){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}do if(c[(c[n>>2]|0)+24>>2]|0){if(!(Eq(c[(c[o>>2]|0)+24>>2]|0,c[(c[n>>2]|0)+24>>2]|0,-1)|0))break;c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}while(0);do if(c[(c[c[p>>2]>>2]|0)+24>>2]&524288){if(!(c[(c[n>>2]|0)+16>>2]|0))break;c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}while(0);if(c[(c[c[p>>2]>>2]|0)+24>>2]&128){c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}c[s>>2]=Ve(c[c[p>>2]>>2]|0,c[(c[o>>2]|0)+68>>2]|0)|0;c[t>>2]=dp(c[p>>2]|0)|0;qp(c[p>>2]|0,c[s>>2]|0);f=(c[p>>2]|0)+68|0;g=c[f>>2]|0;c[f>>2]=g+1;c[r>>2]=g;g=(c[p>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[A>>2]=f;c[D>>2]=pu(c[p>>2]|0,c[w>>2]|0,c[n>>2]|0)|0;c[x>>2]=kp(c[p>>2]|0)|0;c[y>>2]=kp(c[p>>2]|0)|0;Kr(c[p>>2]|0,c[A>>2]|0,c[w>>2]|0,c[n>>2]|0,55);if((b[(c[n>>2]|0)+36>>1]|0)<0)if((c[F>>2]|0)!=0?1:(c[(c[n>>2]|0)+8>>2]|0)!=0)G=87;else G=86;else if(c[F>>2]|0)G=87;else G=86;if((G|0)==86?(c[E>>2]|0)!=2&(c[E>>2]|0)!=1:0)G=87;if((G|0)==87){c[z>>2]=fp(c[t>>2]|0,108,c[A>>2]|0,0)|0;c[B>>2]=fp(c[t>>2]|0,16,0,0)|0;zp(c[t>>2]|0,c[z>>2]|0)}F=c[p>>2]|0;if(!(d[(c[o>>2]|0)+44>>0]&32)){Kr(F,c[r>>2]|0,c[s>>2]|0,c[o>>2]|0,54);c[u>>2]=fp(c[t>>2]|0,108,c[r>>2]|0,0)|0;do if((b[(c[n>>2]|0)+36>>1]|0)<0){C=c[t>>2]|0;if(!(c[(c[n>>2]|0)+8>>2]|0)){c[z>>2]=fp(C,74,c[A>>2]|0,c[y>>2]|0)|0;break}else{c[z>>2]=fp(C,103,c[r>>2]|0,c[y>>2]|0)|0;break}}else{c[z>>2]=fp(c[t>>2]|0,103,c[r>>2]|0,c[y>>2]|0)|0;c[C>>2]=ip(c[t>>2]|0,70,c[A>>2]|0,0,c[y>>2]|0)|0;bw(c[p>>2]|0,c[E>>2]|0,c[n>>2]|0);zp(c[t>>2]|0,c[C>>2]|0);uu(c[p>>2]|0,c[D>>2]|0,c[y>>2]|0)}while(0);fp(c[t>>2]|0,102,c[r>>2]|0,c[x>>2]|0)|0;ip(c[t>>2]|0,75,c[A>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Xe(c[t>>2]|0,11);bf(c[t>>2]|0,-1,c[c[n>>2]>>2]|0,0);fp(c[t>>2]|0,9,c[r>>2]|0,c[z>>2]|0)|0;fp(c[t>>2]|0,61,c[r>>2]|0,0)|0;fp(c[t>>2]|0,61,c[A>>2]|0,0)|0}else{Jr(F,c[w>>2]|0,c[(c[n>>2]|0)+32>>2]|0,1,c[c[n>>2]>>2]|0);Jr(c[p>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+32>>2]|0,0,c[c[o>>2]>>2]|0)}c[m>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;c[q>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(gx(c[m>>2]|0,c[q>>2]|0)|0)break;c[q>>2]=c[(c[q>>2]|0)+20>>2]}ip(c[t>>2]|0,54,c[r>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[s>>2]|0)|0;Lr(c[p>>2]|0,c[q>>2]|0);ip(c[t>>2]|0,55,c[A>>2]|0,c[(c[m>>2]|0)+44>>2]|0,c[w>>2]|0)|0;Lr(c[p>>2]|0,c[m>>2]|0);Xe(c[t>>2]|0,1);c[z>>2]=fp(c[t>>2]|0,108,c[r>>2]|0,0)|0;fp(c[t>>2]|0,101,c[r>>2]|0,c[x>>2]|0)|0;ip(c[t>>2]|0,110,c[A>>2]|0,c[x>>2]|0,1)|0;fp(c[t>>2]|0,9,c[r>>2]|0,(c[z>>2]|0)+1|0)|0;zp(c[t>>2]|0,c[z>>2]|0);fp(c[t>>2]|0,61,c[r>>2]|0,0)|0;fp(c[t>>2]|0,61,c[A>>2]|0,0)|0;c[m>>2]=c[(c[m>>2]|0)+20>>2]}if(c[u>>2]|0)zp(c[t>>2]|0,c[u>>2]|0);lp(c[p>>2]|0,c[y>>2]|0);lp(c[p>>2]|0,c[x>>2]|0);if(c[B>>2]|0){fp(c[t>>2]|0,24,0,0)|0;zp(c[t>>2]|0,c[B>>2]|0);fp(c[t>>2]|0,61,c[A>>2]|0,0)|0;c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}else{c[v>>2]=1;f=c[v>>2]|0;i=l;return f|0}}}c[v>>2]=0;f=c[v>>2]|0;i=l;return f|0}function pu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;g=h+24|0;n=h+20|0;f=h+16|0;l=h+12|0;m=h+8|0;k=h+4|0;j=h;c[n>>2]=a;c[f>>2]=b;c[l>>2]=e;c[m>>2]=0;if((d[(c[l>>2]|0)+44>>0]|0)&8){e=c[n>>2]|0;if(c[(c[n>>2]|0)+408>>2]|0)e=c[e+408>>2]|0;c[k>>2]=e;c[j>>2]=c[(c[k>>2]|0)+404>>2];while(1){if(c[j>>2]|0)b=(c[(c[j>>2]|0)+4>>2]|0)!=(c[l>>2]|0);else b=0;e=c[j>>2]|0;if(!b)break;c[j>>2]=c[e>>2]}do if(!e){c[j>>2]=Qe(c[c[n>>2]>>2]|0,16,0)|0;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[k>>2]|0)+404>>2];c[(c[k>>2]|0)+404>>2]=c[j>>2];c[(c[j>>2]|0)+4>>2]=c[l>>2];c[(c[j>>2]|0)+8>>2]=c[f>>2];b=(c[k>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+1;b=(c[k>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[(c[j>>2]|0)+12>>2]=a;a=(c[k>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+1;break}c[g>>2]=0;a=c[g>>2]|0;i=h;return a|0}while(0);c[m>>2]=c[(c[j>>2]|0)+12>>2]}c[g>>2]=c[m>>2];a=c[g>>2]|0;i=h;return a|0}function qu(a,b,e){a=a|0;b=b|0;e=e|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;f=i;i=i+48|0;g=f+40|0;r=f+36|0;p=f+32|0;n=f+28|0;l=f+24|0;o=f+20|0;q=f+16|0;m=f+12|0;k=f+8|0;j=f+4|0;h=f;c[r>>2]=a;c[p>>2]=b;c[n>>2]=e;c[l>>2]=dp(c[r>>2]|0)|0;c[q>>2]=Mr(c[l>>2]|0)|0;if((d[(c[n>>2]|0)+44>>0]|0)&16)e=Rp(c[c[r>>2]>>2]|0,c[n>>2]|0)|0;else e=0;c[m>>2]=e;c[o>>2]=1;a:while(1){if((c[o>>2]|0)>=(c[q>>2]|0)){h=18;break}c[k>>2]=dt(c[l>>2]|0,c[o>>2]|0)|0;b:do if((d[c[k>>2]>>0]|0|0)==54?(c[(c[k>>2]|0)+12>>2]|0)==(c[p>>2]|0):0){c[h>>2]=c[(c[k>>2]|0)+8>>2];if((c[h>>2]|0)==(c[(c[n>>2]|0)+32>>2]|0)){h=8;break a}c[j>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break b;if((c[h>>2]|0)==(c[(c[j>>2]|0)+44>>2]|0)){h=12;break a}c[j>>2]=c[(c[j>>2]|0)+20>>2]}}while(0);if((d[c[k>>2]>>0]|0|0)==147?(c[(c[k>>2]|0)+16>>2]|0)==(c[m>>2]|0):0){h=16;break}c[o>>2]=(c[o>>2]|0)+1}if((h|0)==8){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}else if((h|0)==12){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}else if((h|0)==16){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}else if((h|0)==18){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}return 0}function ru(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;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];Os(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);b=(c[k>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[f>>2]=a;fp(c[j>>2]|0,33,c[h>>2]|0,c[f>>2]|0)|0;Zs(c[g>>2]|0,c[f>>2]|0);i=e;return}function su(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;m=j+20|0;n=j+16|0;h=j+12|0;k=j+8|0;g=j+4|0;l=j;c[m>>2]=d;c[n>>2]=e;c[h>>2]=f;c[g>>2]=c[(c[n>>2]|0)+20>>2];if(!(c[g>>2]|0)){c[l>>2]=Fs(c[m>>2]|0)|0;d=(b[(c[n>>2]|0)+38>>1]|0)+1|0;c[g>>2]=Qe(0,d,((d|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){a[(c[l>>2]|0)+64>>0]=1;i=j;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[n>>2]|0)+38>>1]|0))break;a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[n>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+21>>0]|0;c[k>>2]=(c[k>>2]|0)+1}do{d=c[k>>2]|0;c[k>>2]=d+ -1;a[(c[g>>2]|0)+d>>0]=0;if((c[k>>2]|0)<0)break}while((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)==65);c[(c[n>>2]|0)+20>>2]=c[g>>2]}c[k>>2]=Mb(c[g>>2]|0)|0;if(!(c[k>>2]|0)){i=j;return}f=c[m>>2]|0;if(c[h>>2]|0){hp(f,48,c[h>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[k>>2]|0)|0;i=j;return}else{bf(f,-1,c[g>>2]|0,c[k>>2]|0);i=j;return}}function tu(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+48|0;n=u+36|0;w=u+32|0;m=u+28|0;t=u+24|0;v=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;o=u;c[n>>2]=a;c[w>>2]=b;c[m>>2]=e;c[t>>2]=f;c[v>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[o>>2]=c[w>>2];while(1){if(!(c[o>>2]|0))break;if(((d[(c[o>>2]|0)+8>>0]|0|0)==(c[m>>2]|0)?(d[(c[o>>2]|0)+9>>0]|0|0)==(c[v>>2]|0):0)?(ex(c[(c[o>>2]|0)+16>>2]|0,c[t>>2]|0)|0)!=0:0)kw(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}i=u;return}function uu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<=0){i=e;return}fp(c[(c[f>>2]|0)+8>>2]|0,136,c[g>>2]|0,c[h>>2]|0)|0;i=e;return}function vu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(Vs(c[g>>2]|0)|0)!=0:0){ct(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}Os(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function wu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;h=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;k=j;c[m>>2]=b;c[h>>2]=d;d=c[m>>2]|0;if(c[(c[m>>2]|0)+408>>2]|0)d=c[d+408>>2]|0;c[g>>2]=d;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[g>>2]|0)+452>>2]|0))break;if((c[h>>2]|0)==(c[(c[(c[g>>2]|0)+520>>2]|0)+(c[l>>2]<<2)>>2]|0)){f=10;break}c[l>>2]=(c[l>>2]|0)+1}if((f|0)==10){i=j;return}c[e>>2]=(c[(c[g>>2]|0)+452>>2]|0)+1<<2;c[k>>2]=jc(c[(c[g>>2]|0)+520>>2]|0,c[e>>2]|0)|0;if(c[k>>2]|0){c[(c[g>>2]|0)+520>>2]=c[k>>2];b=c[h>>2]|0;d=(c[g>>2]|0)+452|0;m=c[d>>2]|0;c[d>>2]=m+1;c[(c[(c[g>>2]|0)+520>>2]|0)+(m<<2)>>2]=b;i=j;return}else{a[(c[c[g>>2]>>2]|0)+64>>0]=1;i=j;return}}function xu(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;aa=i;i=i+176|0;ka=aa;D=aa+168|0;v=aa+164|0;x=aa+160|0;X=aa+156|0;A=aa+152|0;z=aa+148|0;Q=aa+144|0;I=aa+175|0;N=aa+174|0;s=aa+140|0;$=aa+136|0;V=aa+132|0;w=aa+128|0;H=aa+124|0;Y=aa+120|0;F=aa+116|0;u=aa+112|0;ha=aa+108|0;M=aa+104|0;ja=aa+100|0;W=aa+96|0;O=aa+92|0;K=aa+88|0;t=aa+84|0;G=aa+173|0;y=aa+172|0;L=aa+80|0;ia=aa+76|0;ca=aa+72|0;ea=aa+68|0;da=aa+64|0;ga=aa+60|0;ba=aa+56|0;E=aa+52|0;P=aa+48|0;B=aa+44|0;C=aa+40|0;J=aa+36|0;r=aa+32|0;R=aa+28|0;S=aa+24|0;T=aa+20|0;U=aa+16|0;Z=aa+12|0;_=aa+8|0;c[D>>2]=f;c[v>>2]=g;c[x>>2]=h;c[X>>2]=j;c[A>>2]=k;c[z>>2]=l;c[Q>>2]=m;a[I>>0]=n;a[N>>0]=o;c[s>>2]=p;c[$>>2]=q;c[H>>2]=0;c[W>>2]=0;c[K>>2]=0;c[t>>2]=0;a[y>>0]=0;c[L>>2]=-1;a[G>>0]=(c[Q>>2]|0)!=0;c[Y>>2]=c[c[D>>2]>>2];c[V>>2]=dp(c[D>>2]|0)|0;c[ha>>2]=b[(c[v>>2]|0)+38>>1];if(!(d[(c[v>>2]|0)+44>>0]&32)){c[H>>2]=0;c[O>>2]=1}else{c[H>>2]=Zr(c[v>>2]|0)|0;c[O>>2]=e[(c[H>>2]|0)+50>>1]}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[ha>>2]|0))break;do if((c[F>>2]|0)!=(b[(c[v>>2]|0)+36>>1]|0)?(c[M>>2]=d[(c[(c[v>>2]|0)+4>>2]|0)+((c[F>>2]|0)*24|0)+20>>0],(c[M>>2]|0)!=0):0){if((d[N>>0]|0)==10){if((c[M>>2]|0)==10)c[M>>2]=2}else c[M>>2]=d[N>>0];if((c[M>>2]|0)==5?(c[(c[(c[v>>2]|0)+4>>2]|0)+((c[F>>2]|0)*24|0)+4>>2]|0)==0:0)c[M>>2]=2;q=c[M>>2]|0;if((q|0)==4){fp(c[V>>2]|0,76,(c[z>>2]|0)+1+(c[F>>2]|0)|0,c[s>>2]|0)|0;break}else if((q|0)==2)Sp(c[D>>2]|0);else if(!((q|0)==3|(q|0)==1)){c[ja>>2]=Ir(c[V>>2]|0,77,(c[z>>2]|0)+1+(c[F>>2]|0)|0)|0;Os(c[D>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[F>>2]|0)*24|0)+4>>2]|0,(c[z>>2]|0)+1+(c[F>>2]|0)|0);zp(c[V>>2]|0,c[ja>>2]|0);break}f=c[Y>>2]|0;g=c[(c[(c[v>>2]|0)+4>>2]|0)+((c[F>>2]|0)*24|0)>>2]|0;c[ka>>2]=c[c[v>>2]>>2];c[ka+4>>2]=g;c[ia>>2]=Te(f,17448,ka)|0;hp(c[V>>2]|0,23,1299,c[M>>2]|0,(c[z>>2]|0)+1+(c[F>>2]|0)|0,c[ia>>2]|0,-1)|0;Xe(c[V>>2]|0,1)}while(0);c[F>>2]=(c[F>>2]|0)+1}a:do if((c[(c[v>>2]|0)+24>>2]|0)!=0?(c[(c[Y>>2]|0)+24>>2]&8192|0)==0:0){c[ca>>2]=c[(c[v>>2]|0)+24>>2];c[(c[D>>2]|0)+92>>2]=(c[z>>2]|0)+1;if((d[N>>0]|0)!=10)ha=d[N>>0]|0;else ha=2;c[M>>2]=ha;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[c[ca>>2]>>2]|0))break a;c[ea>>2]=Nr(c[V>>2]|0)|0;Gs(c[D>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)>>2]|0,c[ea>>2]|0,16);if((c[M>>2]|0)==4)fp(c[V>>2]|0,16,0,c[s>>2]|0)|0;else{c[da>>2]=c[(c[(c[ca>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)+4>>2];if(!(c[da>>2]|0))c[da>>2]=c[c[v>>2]>>2];if((c[M>>2]|0)==5)c[M>>2]=2;ts(c[D>>2]|0,275,c[M>>2]|0,c[da>>2]|0,0,3)}Pr(c[V>>2]|0,c[ea>>2]|0);c[F>>2]=(c[F>>2]|0)+1}}while(0);if((d[I>>0]|0)!=0&(c[H>>2]|0)==0){c[ga>>2]=Nr(c[V>>2]|0)|0;c[M>>2]=d[(c[v>>2]|0)+45>>0];if((d[N>>0]|0)==10){if((c[M>>2]|0)==10)c[M>>2]=2}else c[M>>2]=d[N>>0];if(a[G>>0]|0){ip(c[V>>2]|0,79,c[z>>2]|0,c[ga>>2]|0,c[Q>>2]|0)|0;Xe(c[V>>2]|0,-112)}b:do if((c[M>>2]|0)==5?(d[N>>0]|0)!=5:0){c[w>>2]=c[(c[v>>2]|0)+8>>2];while(1){if(!(c[w>>2]|0))break b;if((d[(c[w>>2]|0)+54>>0]|0)==4)break;if((d[(c[w>>2]|0)+54>>0]|0)==3)break;c[w>>2]=c[(c[w>>2]|0)+20>>2]}c[K>>2]=mp(c[V>>2]|0,16)|0}while(0);ip(c[V>>2]|0,70,c[X>>2]|0,c[ga>>2]|0,c[z>>2]|0)|0;switch(c[M>>2]|0){case 4:{fp(c[V>>2]|0,16,0,c[s>>2]|0)|0;break};case 5:{c[ba>>2]=0;if(c[(c[Y>>2]|0)+24>>2]&262144)c[ba>>2]=lu(c[D>>2]|0,c[v>>2]|0,109,0,0)|0;if((c[ba>>2]|0)==0?(cw(c[D>>2]|0,c[v>>2]|0,0,0)|0)==0:0){if(c[(c[v>>2]|0)+8>>2]|0){dw(c[D>>2]|0);fw(c[D>>2]|0,c[v>>2]|0,c[X>>2]|0,c[A>>2]|0,0)}}else{dw(c[D>>2]|0);ew(c[D>>2]|0,c[v>>2]|0,c[ba>>2]|0,c[X>>2]|0,c[A>>2]|0,c[z>>2]|0,1,0,5,1)}c[W>>2]=1;break};case 3:case 2:case 1:{fa=52;break};default:{c[M>>2]=2;fa=52}}if((fa|0)==52)bw(c[D>>2]|0,c[M>>2]|0,c[v>>2]|0);Pr(c[V>>2]|0,c[ga>>2]|0);if(c[K>>2]|0){c[t>>2]=mp(c[V>>2]|0,16)|0;zp(c[V>>2]|0,c[K>>2]|0)}}c[u>>2]=0;c[w>>2]=c[(c[v>>2]|0)+8>>2];while(1){if(!(c[w>>2]|0))break;do if(c[(c[x>>2]|0)+(c[u>>2]<<2)>>2]|0){if(!(d[y>>0]|0)){su(c[V>>2]|0,c[v>>2]|0,(c[z>>2]|0)+1|0);a[y>>0]=1}c[B>>2]=(c[A>>2]|0)+(c[u>>2]|0);c[C>>2]=Nr(c[V>>2]|0)|0;if(c[(c[w>>2]|0)+36>>2]|0){fp(c[V>>2]|0,28,0,c[(c[x>>2]|0)+(c[u>>2]<<2)>>2]|0)|0;c[(c[D>>2]|0)+92>>2]=(c[z>>2]|0)+1;xs(c[D>>2]|0,c[(c[w>>2]|0)+36>>2]|0,c[C>>2]|0,16);c[(c[D>>2]|0)+92>>2]=0}c[E>>2]=ys(c[D>>2]|0,e[(c[w>>2]|0)+52>>1]|0)|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[w>>2]|0)+52>>1]|0))break;c[J>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1];if((c[J>>2]|0)>=0?(c[J>>2]|0)!=(b[(c[v>>2]|0)+36>>1]|0):0){c[r>>2]=(c[J>>2]|0)+(c[z>>2]|0)+1;fa=80}else fa=75;if((fa|0)==75?(fa=0,(c[L>>2]|0)!=((c[E>>2]|0)+(c[F>>2]|0)|0)):0){c[r>>2]=c[z>>2];if(c[(c[w>>2]|0)+36>>2]|0)ba=-1;else ba=(c[E>>2]|0)+(c[F>>2]|0)|0;c[L>>2]=ba;fa=80}if((fa|0)==80)fp(c[V>>2]|0,34,c[r>>2]|0,(c[E>>2]|0)+(c[F>>2]|0)|0)|0;c[F>>2]=(c[F>>2]|0)+1}ip(c[V>>2]|0,49,c[E>>2]|0,e[(c[w>>2]|0)+52>>1]|0,c[(c[x>>2]|0)+(c[u>>2]<<2)>>2]|0)|0;Us(c[D>>2]|0,c[E>>2]|0,e[(c[w>>2]|0)+52>>1]|0);if(((d[G>>0]|0)!=0?(c[H>>2]|0)==(c[w>>2]|0):0)?(d[I>>0]|0)==0:0){Pr(c[V>>2]|0,c[C>>2]|0);break}c[M>>2]=d[(c[w>>2]|0)+54>>0];if(!(c[M>>2]|0)){Bs(c[D>>2]|0,c[E>>2]|0,e[(c[w>>2]|0)+52>>1]|0);Pr(c[V>>2]|0,c[C>>2]|0);break}if((d[N>>0]|0)==10){if((c[M>>2]|0)==10)c[M>>2]=2}else c[M>>2]=d[N>>0];We(c[V>>2]|0,67,c[B>>2]|0,c[C>>2]|0,c[E>>2]|0,e[(c[w>>2]|0)+50>>1]|0)|0;if((c[w>>2]|0)==(c[H>>2]|0))ba=c[E>>2]|0;else ba=ys(c[D>>2]|0,c[O>>2]|0)|0;c[P>>2]=ba;c:do if((d[G>>0]|0)!=0|(c[M>>2]|0)==5){if(!(d[(c[v>>2]|0)+44>>0]&32)){fp(c[V>>2]|0,112,c[B>>2]|0,c[P>>2]|0)|0;if(!(a[G>>0]|0))break;ip(c[V>>2]|0,79,c[P>>2]|0,c[C>>2]|0,c[Q>>2]|0)|0;Xe(c[V>>2]|0,-112);break}d:do if((c[w>>2]|0)!=(c[H>>2]|0)){c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[H>>2]|0)+50>>1]|0))break d;c[R>>2]=(Ds(c[w>>2]|0,b[(c[(c[H>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]|0)|0)<<16>>16;ip(c[V>>2]|0,47,c[B>>2]|0,c[R>>2]|0,(c[P>>2]|0)+(c[F>>2]|0)|0)|0;c[F>>2]=(c[F>>2]|0)+1}}while(0);if(a[G>>0]|0){f=Mr(c[V>>2]|0)|0;c[S>>2]=f+(e[(c[H>>2]|0)+50>>1]|0);c[T>>2]=78;c[U>>2]=(a[(c[w>>2]|0)+55>>0]&3|0)==2?c[E>>2]|0:c[P>>2]|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[H>>2]|0)+50>>1]|0))break c;c[Z>>2]=Or(c[D>>2]|0,c[(c[(c[H>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[R>>2]=b[(c[(c[H>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1];if((c[F>>2]|0)==((e[(c[H>>2]|0)+50>>1]|0)-1|0)){c[S>>2]=c[C>>2];c[T>>2]=79}hp(c[V>>2]|0,c[T>>2]|0,(c[Q>>2]|0)+1+(c[R>>2]|0)|0,c[S>>2]|0,(c[U>>2]|0)+(c[F>>2]|0)|0,c[Z>>2]|0,-4)|0;Xe(c[V>>2]|0,-112);c[F>>2]=(c[F>>2]|0)+1}}}while(0);ba=c[M>>2]|0;if((ba|0)==3|(ba|0)==2|(ba|0)==1)rs(c[D>>2]|0,c[M>>2]|0,c[w>>2]|0);else if((ba|0)==4)fp(c[V>>2]|0,16,0,c[s>>2]|0)|0;else{c[_>>2]=0;dw(c[D>>2]|0);if(c[(c[Y>>2]|0)+24>>2]&262144)c[_>>2]=lu(c[D>>2]|0,c[v>>2]|0,109,0,0)|0;ew(c[D>>2]|0,c[v>>2]|0,c[_>>2]|0,c[X>>2]|0,c[A>>2]|0,c[P>>2]|0,c[O>>2]&65535,0,5,(c[w>>2]|0)==(c[H>>2]|0)&255);c[W>>2]=1}Pr(c[V>>2]|0,c[C>>2]|0);Bs(c[D>>2]|0,c[E>>2]|0,e[(c[w>>2]|0)+52>>1]|0);if((c[P>>2]|0)!=(c[E>>2]|0))Bs(c[D>>2]|0,c[P>>2]|0,c[O>>2]|0)}while(0);c[w>>2]=c[(c[w>>2]|0)+20>>2];c[u>>2]=(c[u>>2]|0)+1}if(!(c[K>>2]|0)){g=c[W>>2]|0;f=c[$>>2]|0;c[f>>2]=g;i=aa;return}fp(c[V>>2]|0,16,0,(c[K>>2]|0)+1|0)|0;zp(c[V>>2]|0,c[t>>2]|0);g=c[W>>2]|0;f=c[$>>2]|0;c[f>>2]=g;i=aa;return}function yu(e,f,g,h,j,k){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,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;D=i;i=i+112|0;p=D+104|0;q=D+100|0;z=D+96|0;y=D+92|0;r=D+88|0;s=D+84|0;o=D+80|0;n=D+76|0;A=D+72|0;K=D+68|0;v=D+64|0;B=D+60|0;C=D+56|0;I=D+52|0;l=D+48|0;J=D+44|0;F=D+40|0;E=D+36|0;L=D+32|0;M=D+28|0;N=D+24|0;H=D+20|0;G=D+16|0;t=D+12|0;w=D+8|0;u=D+4|0;x=D;c[p>>2]=e;c[q>>2]=f;c[z>>2]=g;c[y>>2]=h;c[r>>2]=j;c[s>>2]=k;c[o>>2]=c[c[p>>2]>>2];c[v>>2]=d[(c[p>>2]|0)+438>>0];if(!(c[(c[o>>2]|0)+24>>2]&524288)){i=D;return}c[A>>2]=Ve(c[o>>2]|0,c[(c[q>>2]|0)+68>>2]|0)|0;c[K>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[A>>2]<<4)>>2];c[n>>2]=c[(c[q>>2]|0)+16>>2];a:while(1){if(!(c[n>>2]|0)){m=38;break}c[C>>2]=0;c[I>>2]=0;c[E>>2]=0;if(!(((c[r>>2]|0)!=0?(xc(c[c[q>>2]>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0)!=0:0)?(Bu(c[q>>2]|0,c[n>>2]|0,c[r>>2]|0,c[s>>2]|0)|0)==0:0))m=7;do if((m|0)==7){m=0;if(a[(c[p>>2]|0)+438>>0]|0)c[B>>2]=sp(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[K>>2]|0)|0;else c[B>>2]=Re(c[p>>2]|0,0,c[(c[n>>2]|0)+8>>2]|0,c[K>>2]|0)|0;if((c[B>>2]|0)!=0?($t(c[p>>2]|0,c[B>>2]|0,c[n>>2]|0,C,I)|0)==0:0){if(c[I>>2]|0)c[l>>2]=c[I>>2];else{c[J>>2]=c[(c[n>>2]|0)+36>>2];c[l>>2]=J}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0))break;if((c[(c[l>>2]|0)+(c[F>>2]<<2)>>2]|0)==(b[(c[q>>2]|0)+36>>1]|0))c[(c[l>>2]|0)+(c[F>>2]<<2)>>2]=-1;if(c[(c[o>>2]|0)+284>>2]|0){if(c[C>>2]|0)k=b[(c[(c[C>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]|0;else k=b[(c[B>>2]|0)+36>>1]|0;c[G>>2]=c[(c[(c[B>>2]|0)+4>>2]|0)+((k<<16>>16)*24|0)>>2];c[H>>2]=$q(c[p>>2]|0,c[c[B>>2]>>2]|0,c[G>>2]|0,c[A>>2]|0)|0;c[E>>2]=(c[H>>2]|0)==2&1}c[F>>2]=(c[F>>2]|0)+1}Jr(c[p>>2]|0,c[A>>2]|0,c[(c[B>>2]|0)+32>>2]|0,0,c[c[B>>2]>>2]|0);e=(c[p>>2]|0)+68|0;c[e>>2]=(c[e>>2]|0)+1;if(c[z>>2]|0)Cu(c[p>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[n>>2]|0,c[l>>2]|0,c[z>>2]|0,-1,c[E>>2]|0);if(c[y>>2]|0)Cu(c[p>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[n>>2]|0,c[l>>2]|0,c[y>>2]|0,1,c[E>>2]|0);Xb(c[o>>2]|0,c[I>>2]|0);break}if(!(c[v>>2]|0)){m=57;break a}if(d[(c[o>>2]|0)+64>>0]|0){m=57;break a}if(!(c[B>>2]|0)){c[L>>2]=dp(c[p>>2]|0)|0;e=Mr(c[L>>2]|0)|0;c[M>>2]=e+(c[(c[n>>2]|0)+20>>2]|0)+1;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0))break;c[N>>2]=(c[(c[n>>2]|0)+36+(c[F>>2]<<3)>>2]|0)+(c[z>>2]|0)+1;fp(c[L>>2]|0,76,c[N>>2]|0,c[M>>2]|0)|0;c[F>>2]=(c[F>>2]|0)+1}fp(c[L>>2]|0,134,d[(c[n>>2]|0)+24>>0]|0,-1)|0}}while(0);c[n>>2]=c[(c[n>>2]|0)+4>>2]}if((m|0)==38){c[n>>2]=Up(c[q>>2]|0)|0;b:while(1){if(!(c[n>>2]|0)){m=57;break}c[t>>2]=0;c[u>>2]=0;if(!((c[r>>2]|0)!=0?(Du(c[q>>2]|0,c[n>>2]|0,c[r>>2]|0,c[s>>2]|0)|0)==0:0))m=42;do if((m|0)==42){m=0;if((((a[(c[n>>2]|0)+24>>0]|0)==0?(c[(c[o>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[p>>2]|0)+408>>2]|0)==0:0)?(a[(c[p>>2]|0)+20>>0]|0)==0:0)break;if($t(c[p>>2]|0,c[q>>2]|0,c[n>>2]|0,t,u)|0){if(!(c[v>>2]|0)){m=57;break b}if(d[(c[o>>2]|0)+64>>0]|0){m=57;break b}else break}c[w>>2]=ko(c[o>>2]|0,0,0,0)|0;if(c[w>>2]|0){c[x>>2]=(c[w>>2]|0)+8;c[(c[x>>2]|0)+16>>2]=c[c[n>>2]>>2];c[(c[x>>2]|0)+8>>2]=c[c[c[n>>2]>>2]>>2];f=(c[(c[x>>2]|0)+16>>2]|0)+40|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[p>>2]|0)+68|0;e=c[f>>2]|0;c[f>>2]=e+1;c[(c[x>>2]|0)+40>>2]=e;if(c[y>>2]|0)Eu(c[p>>2]|0,c[w>>2]|0,c[q>>2]|0,c[t>>2]|0,c[n>>2]|0,c[u>>2]|0,c[y>>2]|0,-1);if(c[z>>2]|0)Eu(c[p>>2]|0,c[w>>2]|0,c[q>>2]|0,c[t>>2]|0,c[n>>2]|0,c[u>>2]|0,c[z>>2]|0,1);c[(c[x>>2]|0)+8>>2]=0;vn(c[o>>2]|0,c[w>>2]|0)}Xb(c[o>>2]|0,c[u>>2]|0)}while(0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((m|0)==57){i=D;return}}else if((m|0)==57){i=D;return}}function zu(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;A=i;i=i+64|0;t=A+52|0;z=A+48|0;q=A+44|0;B=A+40|0;s=A+36|0;D=A+32|0;x=A+28|0;w=A+24|0;v=A+20|0;p=A+16|0;E=A+12|0;u=A+57|0;y=A+8|0;r=A+4|0;C=A;o=A+56|0;c[t>>2]=e;c[z>>2]=f;c[q>>2]=g;c[B>>2]=h;c[s>>2]=j;c[D>>2]=k;c[x>>2]=l;c[w>>2]=m;c[v>>2]=n;a[o>>0]=0;c[p>>2]=dp(c[t>>2]|0)|0;c[C>>2]=0;c[E>>2]=c[(c[z>>2]|0)+8>>2];while(1){if(!(c[E>>2]|0))break;if(c[(c[D>>2]|0)+(c[C>>2]<<2)>>2]|0){a[o>>0]=1;if(c[(c[E>>2]|0)+36>>2]|0){f=c[p>>2]|0;e=c[(c[D>>2]|0)+(c[C>>2]<<2)>>2]|0;fp(f,76,e,(Mr(c[p>>2]|0)|0)+2|0)|0}fp(c[p>>2]|0,110,(c[B>>2]|0)+(c[C>>2]|0)|0,c[(c[D>>2]|0)+(c[C>>2]<<2)>>2]|0)|0;a[u>>0]=0;a[u>>0]=(c[v>>2]|0)!=0?16:0;if((a[(c[E>>2]|0)+55>>0]&3|0)==2?(d[(c[z>>2]|0)+44>>0]&32|0)!=0:0)a[u>>0]=d[u>>0]|1;if(a[u>>0]|0)Xe(c[p>>2]|0,a[u>>0]|0)}c[E>>2]=c[(c[E>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}if(d[(c[z>>2]|0)+44>>0]&32){i=A;return}c[y>>2]=(c[s>>2]|0)+1;c[r>>2]=kp(c[t>>2]|0)|0;ip(c[p>>2]|0,49,c[y>>2]|0,b[(c[z>>2]|0)+38>>1]|0,c[r>>2]|0)|0;if(!(a[o>>0]|0))su(c[p>>2]|0,c[z>>2]|0,0);Us(c[t>>2]|0,c[y>>2]|0,b[(c[z>>2]|0)+38>>1]|0);if(a[(c[t>>2]|0)+18>>0]|0)a[u>>0]=0;else{a[u>>0]=1;a[u>>0]=d[u>>0]|((c[x>>2]|0)!=0?4:2)}if(c[w>>2]|0)a[u>>0]=d[u>>0]|8;if(c[v>>2]|0)a[u>>0]=d[u>>0]|16;ip(c[p>>2]|0,75,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;if(!(a[(c[t>>2]|0)+18>>0]|0))bf(c[p>>2]|0,-1,c[c[z>>2]>>2]|0,0);Xe(c[p>>2]|0,a[u>>0]|0);i=A;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;h=b+28|0;d=b+24|0;k=b+20|0;e=b+16|0;f=b+12|0;l=b+8|0;j=b+4|0;g=b;c[h>>2]=a;c[k>>2]=c[(c[h>>2]|0)+8>>2];c[e>>2]=c[c[h>>2]>>2];c[d>>2]=c[(c[h>>2]|0)+404>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[d>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=kp(c[h>>2]|0)|0;Kr(c[h>>2]|0,0,c[(c[d>>2]|0)+8>>2]|0,c[(c[(c[f>>2]|0)+12>>2]|0)+72>>2]|0,55);c[l>>2]=Ir(c[k>>2]|0,77,(c[g>>2]|0)+1|0)|0;fp(c[k>>2]|0,74,0,(c[g>>2]|0)+1|0)|0;zp(c[k>>2]|0,c[l>>2]|0);ip(c[k>>2]|0,49,(c[g>>2]|0)-1|0,2,c[j>>2]|0)|0;ip(c[k>>2]|0,75,0,c[j>>2]|0,(c[g>>2]|0)+1|0)|0;Xe(c[k>>2]|0,8);mp(c[k>>2]|0,61)|0;lp(c[h>>2]|0,c[j>>2]|0);c[d>>2]=c[c[d>>2]>>2]}i=b;return}function Bu(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+24|0;m=g+20|0;j=g+16|0;o=g+12|0;k=g+8|0;n=g+4|0;l=g;c[m>>2]=a;c[j>>2]=d;c[o>>2]=e;c[k>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[j>>2]|0)+20>>2]|0)){j=8;break}c[l>>2]=c[(c[j>>2]|0)+36+(c[n>>2]<<3)>>2];if((c[(c[o>>2]|0)+(c[l>>2]<<2)>>2]|0)>=0){j=4;break}if((c[k>>2]|0)!=0?(c[l>>2]|0)==(b[(c[m>>2]|0)+36>>1]|0):0){j=6;break}c[n>>2]=(c[n>>2]|0)+1}if((j|0)==4){c[h>>2]=1;a=c[h>>2]|0;i=g;return a|0}else if((j|0)==6){c[h>>2]=1;a=c[h>>2]|0;i=g;return a|0}else if((j|0)==8){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}return 0}function Cu(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;t=i;i=i+96|0;u=t+84|0;w=t+80|0;A=t+76|0;E=t+72|0;s=t+68|0;z=t+64|0;y=t+60|0;r=t+56|0;J=t+52|0;v=t+48|0;p=t+44|0;o=t+40|0;q=t+36|0;K=t+32|0;x=t+28|0;I=t+24|0;C=t+20|0;B=t+16|0;D=t+12|0;H=t+8|0;F=t+4|0;G=t;c[u>>2]=e;c[w>>2]=f;c[A>>2]=g;c[E>>2]=h;c[s>>2]=j;c[z>>2]=k;c[y>>2]=l;c[r>>2]=m;c[J>>2]=n;c[p>>2]=dp(c[u>>2]|0)|0;c[o>>2]=(c[(c[u>>2]|0)+68>>2]|0)-1;c[q>>2]=Nr(c[p>>2]|0)|0;if((c[r>>2]|0)<0)fp(c[p>>2]|0,135,d[(c[s>>2]|0)+24>>0]|0,c[q>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[K>>2]=(c[(c[z>>2]|0)+(c[v>>2]<<2)>>2]|0)+(c[y>>2]|0)+1;fp(c[p>>2]|0,76,c[K>>2]|0,c[q>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+1}do if(!(c[J>>2]|0)){if(!(c[E>>2]|0)){c[I>>2]=kp(c[u>>2]|0)|0;fp(c[p>>2]|0,34,(c[c[z>>2]>>2]|0)+1+(c[y>>2]|0)|0,c[I>>2]|0)|0;c[x>>2]=fp(c[p>>2]|0,38,c[I>>2]|0,0)|0;if((c[r>>2]|0)==1?(c[A>>2]|0)==(c[c[s>>2]>>2]|0):0){ip(c[p>>2]|0,79,c[y>>2]|0,c[q>>2]|0,c[I>>2]|0)|0;Xe(c[p>>2]|0,-112)}Kr(c[u>>2]|0,c[o>>2]|0,c[w>>2]|0,c[A>>2]|0,54);ip(c[p>>2]|0,70,c[o>>2]|0,0,c[I>>2]|0)|0;fp(c[p>>2]|0,16,0,c[q>>2]|0)|0;e=c[p>>2]|0;zp(e,(Mr(c[p>>2]|0)|0)-2|0);zp(c[p>>2]|0,c[x>>2]|0);lp(c[u>>2]|0,c[I>>2]|0);break}c[C>>2]=c[(c[s>>2]|0)+20>>2];c[B>>2]=ys(c[u>>2]|0,c[C>>2]|0)|0;c[D>>2]=kp(c[u>>2]|0)|0;ip(c[p>>2]|0,54,c[o>>2]|0,c[(c[E>>2]|0)+44>>2]|0,c[w>>2]|0)|0;Lr(c[u>>2]|0,c[E>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[C>>2]|0))break;fp(c[p>>2]|0,33,(c[(c[z>>2]|0)+(c[v>>2]<<2)>>2]|0)+1+(c[y>>2]|0)|0,(c[B>>2]|0)+(c[v>>2]|0)|0)|0;c[v>>2]=(c[v>>2]|0)+1}if((c[r>>2]|0)==1?(c[A>>2]|0)==(c[c[s>>2]>>2]|0):0){e=Mr(c[p>>2]|0)|0;c[H>>2]=e+(c[C>>2]|0)+1;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[C>>2]|0))break;c[F>>2]=(c[(c[z>>2]|0)+(c[v>>2]<<2)>>2]|0)+1+(c[y>>2]|0);c[G>>2]=(b[(c[(c[E>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]|0)+1+(c[y>>2]|0);if((b[(c[(c[E>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]|0)==(b[(c[A>>2]|0)+36>>1]|0))c[G>>2]=c[y>>2];ip(c[p>>2]|0,78,c[F>>2]|0,c[H>>2]|0,c[G>>2]|0)|0;Xe(c[p>>2]|0,16);c[v>>2]=(c[v>>2]|0)+1}fp(c[p>>2]|0,16,0,c[q>>2]|0)|0}j=c[p>>2]|0;h=c[B>>2]|0;g=c[C>>2]|0;f=c[D>>2]|0;e=au(c[p>>2]|0,c[E>>2]|0)|0;hp(j,49,h,g,f,e,c[C>>2]|0)|0;We(c[p>>2]|0,69,c[o>>2]|0,c[q>>2]|0,c[D>>2]|0,0)|0;lp(c[u>>2]|0,c[D>>2]|0);Bs(c[u>>2]|0,c[B>>2]|0,c[C>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[u>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[u>>2]|0)+408>>2]|0)==0:0)?(a[(c[u>>2]|0)+20>>0]|0)==0:0){ts(c[u>>2]|0,787,2,0,-2,4);e=c[p>>2]|0;f=c[q>>2]|0;Pr(e,f);f=c[p>>2]|0;e=c[o>>2]|0;Ir(f,61,e)|0;i=t;return}if((c[r>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0){v=c[u>>2]|0;if(c[(c[u>>2]|0)+408>>2]|0)v=c[v+408>>2]|0;a[v+21>>0]=1}fp(c[p>>2]|0,134,d[(c[s>>2]|0)+24>>0]|0,c[r>>2]|0)|0;e=c[p>>2]|0;f=c[q>>2]|0;Pr(e,f);f=c[p>>2]|0;e=c[o>>2]|0;Ir(f,61,e)|0;i=t;return}function Du(a,e,f,g){a=a|0;e=e|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;k=i;i=i+48|0;q=k+32|0;m=k+28|0;n=k+24|0;h=k+20|0;r=k+16|0;o=k+12|0;p=k+8|0;l=k+4|0;s=k;c[m>>2]=a;c[n>>2]=e;c[h>>2]=f;c[r>>2]=g;c[o>>2]=0;a:while(1){if((c[o>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0)){j=14;break}c[p>>2]=c[(c[n>>2]|0)+36+(c[o>>2]<<3)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[m>>2]|0)+38>>1]|0))break;if(!((c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)<0?!((c[r>>2]|0)!=0?(c[l>>2]|0)==(b[(c[m>>2]|0)+36>>1]|0):0):0))j=7;do if((j|0)==7){j=0;c[s>>2]=(c[(c[m>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0);g=c[s>>2]|0;if(c[p>>2]|0)if(!(xc(c[g>>2]|0,c[p>>2]|0)|0)){j=9;break a}else break;else if(d[g+23>>0]&1){j=11;break a}else break}while(0);c[l>>2]=(c[l>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}if((j|0)==9){c[q>>2]=1;a=c[q>>2]|0;i=k;return a|0}else if((j|0)==11){c[q>>2]=1;a=c[q>>2]|0;i=k;return a|0}else if((j|0)==14){c[q>>2]=0;a=c[q>>2]|0;i=k;return a|0}return 0}function Eu(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;v=i;i=i+144|0;w=v+128|0;J=v+124|0;z=v+120|0;G=v+116|0;t=v+112|0;M=v+108|0;A=v+104|0;o=v+100|0;q=v+96|0;E=v+92|0;r=v+88|0;H=v+56|0;p=v+48|0;s=v+44|0;u=v+40|0;L=v+36|0;O=v+32|0;P=v+28|0;K=v+134|0;N=v+24|0;y=v+20|0;B=v+16|0;x=v+12|0;I=v+8|0;D=v+4|0;F=v;C=v+132|0;c[w>>2]=f;c[J>>2]=g;c[z>>2]=h;c[G>>2]=j;c[t>>2]=k;c[M>>2]=l;c[A>>2]=m;c[o>>2]=n;c[q>>2]=c[c[w>>2]>>2];c[r>>2]=0;c[s>>2]=0;c[u>>2]=dp(c[w>>2]|0)|0;if((c[o>>2]|0)<0)c[s>>2]=fp(c[u>>2]|0,135,d[(c[t>>2]|0)+24>>0]|0,0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[(c[t>>2]|0)+20>>2]|0))break;if(c[G>>2]|0)n=b[(c[(c[G>>2]|0)+4>>2]|0)+(c[E>>2]<<1)>>1]|0;else n=-1;b[K>>1]=n;c[L>>2]=Fu(c[w>>2]|0,c[z>>2]|0,c[A>>2]|0,b[K>>1]|0)|0;if(c[M>>2]|0)n=c[(c[M>>2]|0)+(c[E>>2]<<2)>>2]|0;else n=c[(c[t>>2]|0)+36>>2]|0;b[K>>1]=n;c[N>>2]=c[(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+((b[K>>1]|0)*24|0)>>2];c[O>>2]=ho(c[q>>2]|0,27,c[N>>2]|0)|0;c[P>>2]=Rn(c[w>>2]|0,79,c[L>>2]|0,c[O>>2]|0,0)|0;c[r>>2]=mr(c[q>>2]|0,c[r>>2]|0,c[P>>2]|0)|0;c[E>>2]=(c[E>>2]|0)+1}if((c[o>>2]|0)>0?(c[z>>2]|0)==(c[c[t>>2]>>2]|0):0){if(!(d[(c[z>>2]|0)+44>>0]&32)){c[B>>2]=Fu(c[w>>2]|0,c[z>>2]|0,c[A>>2]|0,-1)|0;c[x>>2]=Gu(c[q>>2]|0,c[z>>2]|0,c[(c[J>>2]|0)+48>>2]|0,-1)|0;c[y>>2]=Rn(c[w>>2]|0,78,c[B>>2]|0,c[x>>2]|0,0)|0}else{c[D>>2]=0;c[F>>2]=Zr(c[z>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(e[(c[F>>2]|0)+50>>1]|0))break;b[C>>1]=b[(c[(c[G>>2]|0)+4>>2]|0)+(c[E>>2]<<1)>>1]|0;c[B>>2]=Fu(c[w>>2]|0,c[z>>2]|0,c[A>>2]|0,b[C>>1]|0)|0;c[x>>2]=Gu(c[q>>2]|0,c[z>>2]|0,c[(c[J>>2]|0)+48>>2]|0,b[C>>1]|0)|0;c[I>>2]=Rn(c[w>>2]|0,79,c[B>>2]|0,c[x>>2]|0,0)|0;c[D>>2]=mr(c[q>>2]|0,c[D>>2]|0,c[I>>2]|0)|0;c[E>>2]=(c[E>>2]|0)+1}c[y>>2]=Rn(c[w>>2]|0,19,c[D>>2]|0,0,0)|0}c[r>>2]=mr(c[q>>2]|0,c[r>>2]|0,c[y>>2]|0)|0}c[H+0>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[H+16>>2]=0;c[H+20>>2]=0;c[H+24>>2]=0;c[H+28>>2]=0;c[H+4>>2]=c[J>>2];c[H>>2]=c[w>>2];vq(H,c[r>>2]|0)|0;c[p>>2]=Hu(c[w>>2]|0,c[J>>2]|0,c[r>>2]|0,0,0,0,0)|0;if((c[o>>2]|0)>0?(d[(c[t>>2]|0)+24>>0]|0)==0:0){x=c[w>>2]|0;if(c[(c[w>>2]|0)+408>>2]|0)x=c[x+408>>2]|0;a[x+21>>0]=1}fp(c[u>>2]|0,134,d[(c[t>>2]|0)+24>>0]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Iu(c[p>>2]|0);wn(c[q>>2]|0,c[r>>2]|0);if(!(c[s>>2]|0)){i=v;return}zp(c[u>>2]|0,c[s>>2]|0);i=v;return}function Fu(d,e,f,g){d=d|0;e=e|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;n=i;i=i+32|0;k=n+24|0;h=n+20|0;q=n+16|0;o=n+28|0;j=n+12|0;p=n+8|0;l=n+4|0;m=n;c[k>>2]=d;c[h>>2]=e;c[q>>2]=f;b[o>>1]=g;c[m>>2]=c[c[k>>2]>>2];c[j>>2]=ho(c[m>>2]|0,159,0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=n;return d|0}if((b[o>>1]|0)>=0?(b[o>>1]|0)!=(b[(c[h>>2]|0)+36>>1]|0):0){c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((b[o>>1]|0)*24|0);c[(c[j>>2]|0)+28>>2]=(c[q>>2]|0)+(b[o>>1]|0)+1;a[(c[j>>2]|0)+1>>0]=a[(c[p>>2]|0)+21>>0]|0;c[l>>2]=c[(c[p>>2]|0)+16>>2];if(!(c[l>>2]|0))c[l>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[j>>2]=Oq(c[k>>2]|0,c[j>>2]|0,c[l>>2]|0)|0;d=c[j>>2]|0;i=n;return d|0}c[(c[j>>2]|0)+28>>2]=c[q>>2];a[(c[j>>2]|0)+1>>0]=68;d=c[j>>2]|0;i=n;return d|0}function Gu(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+12|0;j=g+8|0;k=g+4|0;l=g+16|0;h=g;c[m>>2]=a;c[j>>2]=d;c[k>>2]=e;b[l>>1]=f;c[h>>2]=ho(c[m>>2]|0,154,0)|0;if(!(c[h>>2]|0)){m=c[h>>2]|0;i=g;return m|0}c[(c[h>>2]|0)+44>>2]=c[j>>2];c[(c[h>>2]|0)+28>>2]=c[k>>2];b[(c[h>>2]|0)+32>>1]=b[l>>1]|0;m=c[h>>2]|0;i=g;return m|0}function Hu(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;r=i;i=i+176|0;Z=r+24|0;q=r+164|0;L=r+160|0;I=r+156|0;X=r+152|0;V=r+148|0;S=r+144|0;F=r+168|0;p=r+140|0;Y=r+136|0;n=r+132|0;t=r+128|0;s=r+124|0;M=r+16|0;N=r+104|0;R=r+100|0;J=r+96|0;v=r+92|0;K=r+88|0;u=r+84|0;U=r+80|0;Q=r+8|0;P=r+76|0;O=r+72|0;w=r+68|0;A=r+64|0;y=r+60|0;x=r+56|0;z=r+52|0;E=r+48|0;C=r;B=r+44|0;G=r+40|0;T=r+36|0;H=r+32|0;W=r+28|0;c[L>>2]=f;c[I>>2]=g;c[X>>2]=h;c[V>>2]=j;c[S>>2]=k;b[F>>1]=l;c[p>>2]=m;c[s>>2]=c[(c[L>>2]|0)+8>>2];c[u>>2]=c[c[L>>2]>>2];c[N+0>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[N+16>>2]=0;if((c[V>>2]|0)!=0?(c[c[V>>2]>>2]|0)>=64:0)c[V>>2]=0;c[N+8>>2]=c[V>>2];if(e[(c[u>>2]|0)+60>>1]&32)b[F>>1]=e[F>>1]&-1025;if((c[c[I>>2]>>2]|0)>64){f=c[L>>2]|0;c[Z>>2]=64;Se(f,23568,Z);c[q>>2]=0;f=c[q>>2]|0;i=r;return f|0}if(e[F>>1]&64)j=1;else j=c[c[I>>2]>>2]|0;c[n>>2]=j;c[Y>>2]=815+(((c[n>>2]|0)-1|0)*72|0)&-8;c[t>>2]=se(c[u>>2]|0,(c[Y>>2]|0)+72|0,0)|0;a:do if(!(a[(c[u>>2]|0)+64>>0]|0)){c[(c[t>>2]|0)+64>>2]=-1;c[(c[t>>2]|0)+60>>2]=-1;a[(c[t>>2]|0)+41>>0]=c[n>>2];c[c[t>>2]>>2]=c[L>>2];c[(c[t>>2]|0)+4>>2]=c[I>>2];c[(c[t>>2]|0)+8>>2]=c[V>>2];c[(c[t>>2]|0)+12>>2]=c[S>>2];f=Nr(c[s>>2]|0)|0;c[(c[t>>2]|0)+48>>2]=f;c[(c[t>>2]|0)+52>>2]=f;b[(c[t>>2]|0)+34>>1]=b[F>>1]|0;c[(c[t>>2]|0)+56>>2]=c[(c[L>>2]|0)+424>>2];c[R>>2]=(c[t>>2]|0)+68;c[N>>2]=c[t>>2];c[N+4>>2]=(c[t>>2]|0)+328;c[N+12>>2]=(c[t>>2]|0)+(c[Y>>2]|0);Ou(c[N+12>>2]|0);c[c[R>>2]>>2]=0;Ru((c[t>>2]|0)+328|0,c[t>>2]|0);Su((c[t>>2]|0)+328|0,c[X>>2]|0,72);c[K>>2]=0;while(1){X=(c[n>>2]|0)==0;if((c[K>>2]|0)>=(c[(c[N+4>>2]|0)+12>>2]|0))break;if(!(!X?(pt(c[(c[(c[N+4>>2]|0)+20>>2]|0)+((c[K>>2]|0)*48|0)>>2]|0)|0)==0:0)){xs(c[L>>2]|0,c[(c[(c[N+4>>2]|0)+20>>2]|0)+((c[K>>2]|0)*48|0)>>2]|0,c[(c[t>>2]|0)+52>>2]|0,16);f=(c[(c[N+4>>2]|0)+20>>2]|0)+((c[K>>2]|0)*48|0)+20|0;a[f>>0]=d[f>>0]|4}c[K>>2]=(c[K>>2]|0)+1}if(X){if(c[V>>2]|0)a[(c[t>>2]|0)+36>>0]=c[c[V>>2]>>2];if(e[F>>1]&1024)a[(c[t>>2]|0)+40>>0]=1}c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[c[I>>2]>>2]|0))break;Tu(c[R>>2]|0,c[(c[I>>2]|0)+8+((c[K>>2]|0)*72|0)+40>>2]|0);c[K>>2]=(c[K>>2]|0)+1}Uu(c[I>>2]|0,(c[t>>2]|0)+328|0);if(!(a[(c[u>>2]|0)+64>>0]|0)){do if(e[F>>1]&1024){if(Vu(c[L>>2]|0,c[I>>2]|0,(c[t>>2]|0)+328|0,c[S>>2]|0)|0){a[(c[t>>2]|0)+40>>0]=1;break}if(!(c[V>>2]|0)){f=(c[t>>2]|0)+34|0;b[f>>1]=e[f>>1]|512;c[(c[t>>2]|0)+8>>2]=c[S>>2]}}while(0);if(!((c[n>>2]|0)==1?(Wu(N)|0)!=0:0)){c[U>>2]=Xu(N)|0;if(c[U>>2]|0)break;Yu(c[t>>2]|0,0)|0;if(a[(c[u>>2]|0)+64>>0]|0)break;if((c[(c[t>>2]|0)+8>>2]|0)!=0?(Yu(c[t>>2]|0,(b[(c[t>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[u>>2]|0)+64>>0]|0)!=0):0)break}if((c[(c[t>>2]|0)+8>>2]|0)==0?(c[(c[u>>2]|0)+24>>2]&131072|0)!=0:0){f=(c[t>>2]|0)+24|0;c[f>>2]=-1;c[f+4>>2]=-1}if((c[(c[L>>2]|0)+64>>2]|0)==0?(d[(c[u>>2]|0)+64>>0]|0)==0:0){b:do if(((c[S>>2]|0)!=0?(d[(c[t>>2]|0)+41>>0]|0)>=2:0)?(e[(c[u>>2]|0)+60>>1]&1024|0)==0:0){g=Zu(c[R>>2]|0,c[S>>2]|0)|0;f=Q;c[f>>2]=g;c[f+4>>2]=D;if(c[N+8>>2]|0){h=Zu(c[R>>2]|0,c[N+8>>2]|0)|0;Z=Q;g=c[Z+4>>2]|D;f=Q;c[f>>2]=c[Z>>2]|h;c[f+4>>2]=g}while(1){if((d[(c[t>>2]|0)+41>>0]|0)<2)break b;c[v>>2]=c[(c[t>>2]|0)+736+(((d[(c[t>>2]|0)+41>>0]|0)-1|0)*72|0)+56>>2];if(!(d[(c[(c[t>>2]|0)+4>>2]|0)+8+((d[(c[v>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[F>>1]&1024|0)==0?(c[(c[v>>2]|0)+36>>2]&4096|0)==0:0)break b;g=Q;f=(c[v>>2]|0)+8|0;if((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0)break b;c[O>>2]=(c[(c[N+4>>2]|0)+20>>2]|0)+((c[(c[N+4>>2]|0)+12>>2]|0)*48|0);c[P>>2]=c[(c[N+4>>2]|0)+20>>2];while(1){if((c[P>>2]|0)>>>0>=(c[O>>2]|0)>>>0)break;g=(c[P>>2]|0)+40|0;f=(c[v>>2]|0)+8|0;if(((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0)?(c[(c[c[P>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[P>>2]=(c[P>>2]|0)+48}if((c[P>>2]|0)>>>0<(c[O>>2]|0)>>>0)break b;f=(c[t>>2]|0)+41|0;a[f>>0]=(a[f>>0]|0)+ -1<<24>>24;c[n>>2]=(c[n>>2]|0)+ -1}}while(0);f=(c[c[t>>2]>>2]|0)+424|0;c[f>>2]=(c[f>>2]|0)+(b[(c[t>>2]|0)+32>>1]|0);if(((e[F>>1]&4|0)!=0?(c[(c[(c[t>>2]|0)+792>>2]|0)+36>>2]&4096|0)!=0:0)?(a[(c[t>>2]|0)+38>>0]=1,(d[(c[(c[I>>2]|0)+24>>2]|0)+44>>0]&32|0)==0):0){f=(c[(c[t>>2]|0)+792>>2]|0)+36|0;c[f>>2]=c[f>>2]&-65}f=M;c[f>>2]=-1;c[f+4>>2]=-1;c[K>>2]=0;c[J>>2]=(c[t>>2]|0)+736;while(1){if((c[K>>2]|0)>=(c[n>>2]|0))break;c[y>>2]=(c[I>>2]|0)+8+((d[(c[J>>2]|0)+36>>0]|0)*72|0);c[w>>2]=c[(c[y>>2]|0)+16>>2];c[A>>2]=Ve(c[u>>2]|0,c[(c[w>>2]|0)+68>>2]|0)|0;c[v>>2]=c[(c[J>>2]|0)+56>>2];c:do if((d[(c[w>>2]|0)+44>>0]&2|0)==0?(c[(c[w>>2]|0)+12>>2]|0)==0:0){if(c[(c[v>>2]|0)+36>>2]&1024){c[x>>2]=Rp(c[u>>2]|0,c[w>>2]|0)|0;c[z>>2]=c[(c[y>>2]|0)+40>>2];hp(c[s>>2]|0,147,c[z>>2]|0,0,0,c[x>>2]|0,-10)|0;break}if(d[(c[w>>2]|0)+44>>0]&16)break;do if(!(c[(c[v>>2]|0)+36>>2]&64)){if(e[F>>1]&16)break;c[E>>2]=54;if(a[(c[t>>2]|0)+38>>0]|0){c[E>>2]=55;c[(c[t>>2]|0)+60>>2]=c[(c[y>>2]|0)+40>>2]}Kr(c[L>>2]|0,c[(c[y>>2]|0)+40>>2]|0,c[A>>2]|0,c[w>>2]|0,c[E>>2]|0);if(a[(c[t>>2]|0)+38>>0]|0)break c;if((b[(c[w>>2]|0)+38>>1]|0)>=64)break c;if(d[(c[w>>2]|0)+44>>0]&32)break c;h=(c[y>>2]|0)+56|0;g=c[h+4>>2]|0;f=C;c[f>>2]=c[h>>2];c[f+4>>2]=g;c[B>>2]=0;while(1){f=C;if(!((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0))break;g=C;g=cF(c[g>>2]|0,c[g+4>>2]|0,1)|0;f=C;c[f>>2]=g;c[f+4>>2]=D;c[B>>2]=(c[B>>2]|0)+1}g=c[s>>2]|0;f=(Mr(c[s>>2]|0)|0)-1|0;bf(g,f,c[B>>2]|0,-14);break c}while(0);Jr(c[L>>2]|0,c[A>>2]|0,c[(c[w>>2]|0)+32>>2]|0,0,c[c[w>>2]>>2]|0)}while(0);do if(c[(c[v>>2]|0)+36>>2]&512){c[G>>2]=c[(c[v>>2]|0)+28>>2];c[H>>2]=54;do if(!(d[(c[w>>2]|0)+44>>0]&32))o=87;else{if((a[(c[G>>2]|0)+55>>0]&3|0)!=2){o=87;break}if(!(e[F>>1]&64)){o=87;break}c[T>>2]=c[(c[J>>2]|0)+4>>2];c[H>>2]=0}while(0);d:do if((o|0)==87){o=0;if(a[(c[t>>2]|0)+38>>0]|0){c[W>>2]=c[(c[(c[y>>2]|0)+16>>2]|0)+8>>2];c[T>>2]=c[p>>2];while(1){if(!(c[W>>2]|0))break;if((c[W>>2]|0)==(c[G>>2]|0))break;c[T>>2]=(c[T>>2]|0)+1;c[W>>2]=c[(c[W>>2]|0)+20>>2]}c[H>>2]=55;c[(c[t>>2]|0)+64>>2]=c[T>>2];break}else{do if(c[p>>2]|0){if(!(e[F>>1]&64))break;c[T>>2]=c[p>>2];if(!(e[F>>1]&4096))break d;c[H>>2]=53;break d}while(0);g=(c[L>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[T>>2]=f;break}}while(0);c[(c[J>>2]|0)+8>>2]=c[T>>2];if(!(c[H>>2]|0))break;ip(c[s>>2]|0,c[H>>2]|0,c[T>>2]|0,c[(c[G>>2]|0)+44>>2]|0,c[A>>2]|0)|0;Lr(c[L>>2]|0,c[G>>2]|0)}while(0);if((c[A>>2]|0)>=0)qp(c[L>>2]|0,c[A>>2]|0);h=_u((c[t>>2]|0)+68|0,c[(c[y>>2]|0)+40>>2]|0)|0;Z=M;g=c[Z+4>>2]&~D;f=M;c[f>>2]=c[Z>>2]&~h;c[f+4>>2]=g;c[K>>2]=(c[K>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+72}f=Mr(c[s>>2]|0)|0;c[(c[t>>2]|0)+44>>2]=f;if(!(a[(c[u>>2]|0)+64>>0]|0)){f=M;c[f>>2]=-1;c[f+4>>2]=-1;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[n>>2]|0))break;c[J>>2]=(c[t>>2]|0)+736+((c[K>>2]|0)*72|0);if((c[(c[(c[J>>2]|0)+56>>2]|0)+36>>2]&16384|0)!=0?(f=M,$u(c[L>>2]|0,(c[t>>2]|0)+328|0,(c[I>>2]|0)+8+((d[(c[J>>2]|0)+36>>0]|0)*72|0)|0,c[f>>2]|0,c[f+4>>2]|0,c[J>>2]|0),(a[(c[u>>2]|0)+64>>0]|0)!=0):0)break a;av(c[L>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,d[(c[J>>2]|0)+36>>0]|0,b[F>>1]|0);g=Mr(c[s>>2]|0)|0;c[(c[J>>2]|0)+32>>2]=g;g=M;g=bv(c[t>>2]|0,c[K>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;f=M;c[f>>2]=g;c[f+4>>2]=D;c[(c[t>>2]|0)+48>>2]=c[(c[J>>2]|0)+24>>2];c[K>>2]=(c[K>>2]|0)+1}c[q>>2]=c[t>>2];f=c[q>>2]|0;i=r;return f|0}}}}else{Xb(c[u>>2]|0,c[t>>2]|0);c[t>>2]=0}while(0);if(c[t>>2]|0){c[(c[L>>2]|0)+424>>2]=c[(c[t>>2]|0)+56>>2];Ju(c[u>>2]|0,c[t>>2]|0)}c[q>>2]=0;f=c[q>>2]|0;i=r;return f|0}function Iu(f){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;l=i;i=i+80|0;v=l+76|0;j=l+72|0;o=l+68|0;w=l+64|0;p=l+60|0;g=l+56|0;s=l+52|0;k=l+48|0;A=l+44|0;C=l+40|0;B=l+36|0;m=l+32|0;n=l+28|0;q=l+24|0;r=l+20|0;t=l+16|0;u=l+12|0;z=l+8|0;x=l+4|0;y=l;c[v>>2]=f;c[j>>2]=c[c[v>>2]>>2];c[o>>2]=c[(c[j>>2]|0)+8>>2];c[s>>2]=c[(c[v>>2]|0)+4>>2];c[k>>2]=c[c[j>>2]>>2];cu(c[j>>2]|0);c[w>>2]=(d[(c[v>>2]|0)+41>>0]|0)-1;while(1){if((c[w>>2]|0)<0)break;c[p>>2]=(c[v>>2]|0)+736+((c[w>>2]|0)*72|0);c[g>>2]=c[(c[p>>2]|0)+56>>2];Pr(c[o>>2]|0,c[(c[p>>2]|0)+24>>2]|0);if((d[(c[p>>2]|0)+37>>0]|0)!=154){ip(c[o>>2]|0,d[(c[p>>2]|0)+37>>0]|0,c[(c[p>>2]|0)+40>>2]|0,c[(c[p>>2]|0)+44>>2]|0,d[(c[p>>2]|0)+38>>0]|0)|0;Xe(c[o>>2]|0,a[(c[p>>2]|0)+39>>0]|0)}if((c[(c[g>>2]|0)+36>>2]&2048|0)!=0?(c[(c[p>>2]|0)+48>>2]|0)>0:0){Pr(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0);c[B>>2]=c[(c[p>>2]|0)+48>>2];c[C>>2]=(c[(c[p>>2]|0)+52>>2]|0)+(((c[B>>2]|0)-1|0)*12|0);while(1){if((c[B>>2]|0)<=0)break;zp(c[o>>2]|0,(c[(c[C>>2]|0)+4>>2]|0)+1|0);fp(c[o>>2]|0,d[(c[C>>2]|0)+8>>0]|0,c[c[C>>2]>>2]|0,c[(c[C>>2]|0)+4>>2]|0)|0;zp(c[o>>2]|0,(c[(c[C>>2]|0)+4>>2]|0)-1|0);c[B>>2]=(c[B>>2]|0)+ -1;c[C>>2]=(c[C>>2]|0)+ -12}Xb(c[k>>2]|0,c[(c[p>>2]|0)+52>>2]|0)}Pr(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0);if(c[(c[p>>2]|0)+20>>2]|0){fp(c[o>>2]|0,16,0,c[(c[p>>2]|0)+20>>2]|0)|0;zp(c[o>>2]|0,c[(c[p>>2]|0)+20>>2]|0);zp(c[o>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)-2|0)}if(c[c[p>>2]>>2]|0){c[A>>2]=Ir(c[o>>2]|0,137,c[c[p>>2]>>2]|0)|0;if(!(c[(c[g>>2]|0)+36>>2]&64))Ir(c[o>>2]|0,104,c[(c[s>>2]|0)+8+((c[w>>2]|0)*72|0)+40>>2]|0)|0;if(c[(c[g>>2]|0)+36>>2]&512)Ir(c[o>>2]|0,104,c[(c[p>>2]|0)+8>>2]|0)|0;D=c[o>>2]|0;f=c[p>>2]|0;if((d[(c[p>>2]|0)+37>>0]|0)==18)fp(D,17,c[f+40>>2]|0,c[(c[p>>2]|0)+28>>2]|0)|0;else fp(D,16,0,c[f+28>>2]|0)|0;zp(c[o>>2]|0,c[A>>2]|0)}c[w>>2]=(c[w>>2]|0)+ -1}Pr(c[o>>2]|0,c[(c[v>>2]|0)+52>>2]|0);c[w>>2]=0;c[p>>2]=(c[v>>2]|0)+736;while(1){if((c[w>>2]|0)>=(d[(c[v>>2]|0)+41>>0]|0))break;c[r>>2]=0;c[t>>2]=(c[s>>2]|0)+8+((d[(c[p>>2]|0)+36>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[g>>2]=c[(c[p>>2]|0)+56>>2];a:do if(((d[(c[t>>2]|0)+37>>0]|0)>>>2&1|0)!=0?(a[(c[k>>2]|0)+64>>0]|0)==0:0){c[n>>2]=Mr(c[o>>2]|0)|0;c[m>>2]=c[(c[p>>2]|0)+32>>2];c[q>>2]=dt(c[o>>2]|0,c[m>>2]|0)|0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break a;do if((c[(c[q>>2]|0)+4>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0)){A=c[q>>2]|0;if((d[c[q>>2]>>0]|0)==47){a[A>>0]=33;c[(c[q>>2]|0)+4>>2]=(c[(c[q>>2]|0)+8>>2]|0)+(c[(c[t>>2]|0)+32>>2]|0);c[(c[q>>2]|0)+8>>2]=c[(c[q>>2]|0)+12>>2];c[(c[q>>2]|0)+12>>2]=0;break}if((d[A>>0]|0)==103){a[c[q>>2]>>0]=28;c[(c[q>>2]|0)+4>>2]=0;c[(c[q>>2]|0)+12>>2]=0}}while(0);c[m>>2]=(c[m>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}else h=35;while(0);b:do if((h|0)==35){h=0;if(((d[(c[u>>2]|0)+44>>0]&2|0)==0?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(e[(c[v>>2]|0)+34>>1]&16|0)==0:0){c[z>>2]=c[(c[g>>2]|0)+36>>2];if((a[(c[v>>2]|0)+38>>0]|0)==0?(c[z>>2]&64|0)==0:0)Ir(c[o>>2]|0,61,c[(c[t>>2]|0)+40>>2]|0)|0;if(((c[z>>2]&512|0)!=0?(c[z>>2]&16640|0)==0:0)?(c[(c[p>>2]|0)+8>>2]|0)!=(c[(c[v>>2]|0)+64>>2]|0):0)Ir(c[o>>2]|0,61,c[(c[p>>2]|0)+8>>2]|0)|0}A=c[g>>2]|0;if(!(c[(c[g>>2]|0)+36>>2]&576)){if(c[A+36>>2]&8192)c[r>>2]=c[(c[p>>2]|0)+48>>2]}else c[r>>2]=c[A+28>>2];if((c[r>>2]|0)!=0?(a[(c[k>>2]|0)+64>>0]|0)==0:0){c[n>>2]=Mr(c[o>>2]|0)|0;c[m>>2]=c[(c[p>>2]|0)+32>>2];c[q>>2]=dt(c[o>>2]|0,c[m>>2]|0)|0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break b;do if((c[(c[q>>2]|0)+4>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0)){A=c[q>>2]|0;if((d[c[q>>2]>>0]|0)!=47){if((d[A>>0]|0)!=103)break;c[(c[q>>2]|0)+4>>2]=c[(c[p>>2]|0)+8>>2];a[c[q>>2]>>0]=112;break}c[x>>2]=c[A+8>>2];if(d[(c[u>>2]|0)+44>>0]&32){c[y>>2]=Zr(c[u>>2]|0)|0;c[x>>2]=b[(c[(c[y>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]}c[x>>2]=(Ds(c[r>>2]|0,c[x>>2]&65535)|0)<<16>>16;if((c[x>>2]|0)>=0){c[(c[q>>2]|0)+8>>2]=c[x>>2];c[(c[q>>2]|0)+4>>2]=c[(c[p>>2]|0)+8>>2]}}while(0);c[m>>2]=(c[m>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}}while(0);c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[(c[j>>2]|0)+424>>2]=c[(c[v>>2]|0)+56>>2];Ju(c[k>>2]|0,c[v>>2]|0);i=l;return}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}Ku((c[f>>2]|0)+328|0);while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[g>>2]|0)+48>>2];Lu(c[e>>2]|0,c[g>>2]|0)}Xb(c[e>>2]|0,c[f>>2]|0);i=d;return}function Ku(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;f=b+12|0;h=b+8|0;g=b+4|0;e=b;c[f>>2]=a;c[e>>2]=c[c[c[c[f>>2]>>2]>>2]>>2];c[h>>2]=(c[(c[f>>2]|0)+12>>2]|0)-1;c[g>>2]=c[(c[f>>2]|0)+20>>2];while(1){if((c[h>>2]|0)<0)break;if((d[(c[g>>2]|0)+20>>0]|0)&1)wn(c[e>>2]|0,c[c[g>>2]>>2]|0);if(!((d[(c[g>>2]|0)+20>>0]|0)&16)){if((d[(c[g>>2]|0)+20>>0]|0)&32)Qu(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0)}else Pu(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0);c[h>>2]=(c[h>>2]|0)+ -1;c[g>>2]=(c[g>>2]|0)+48}if((c[(c[f>>2]|0)+20>>2]|0)==((c[f>>2]|0)+24|0)){i=b;return}Xb(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);i=b;return}function Lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Mu(c[f>>2]|0,c[e>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function Mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+44>>2]|0)!=((c[e>>2]|0)+52|0))Xb(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);Nu(c[f>>2]|0,c[e>>2]|0);Ou(c[e>>2]|0);i=d;return}function Nu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=f;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+28>>0]|0|0)!=0:0){hc(c[(c[g>>2]|0)+32>>2]|0);a[(c[g>>2]|0)+28>>0]=0;c[(c[g>>2]|0)+32>>2]=0;i=f;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=f;return}if(!(c[(c[g>>2]|0)+28>>2]|0)){i=f;return}Xb(c[h>>2]|0,c[(c[(c[g>>2]|0)+28>>2]|0)+16>>2]|0);eh(c[(c[(c[g>>2]|0)+28>>2]|0)+40>>2]|0);Xb(c[h>>2]|0,c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;i=f;return}function Ou(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+44>>2]=(c[e>>2]|0)+52;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+42>>1]=4;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ku(c[e>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ku(c[e>>2]|0);Xb(c[f>>2]|0,c[e>>2]|0);i=d;return}function Ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function Su(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+4|0;k=g;h=g+8|0;c[j>>2]=b;c[k>>2]=e;a[h>>0]=f;a[(c[j>>2]|0)+8>>0]=a[h>>0]|0;if(!(c[k>>2]|0)){i=g;return}e=c[j>>2]|0;f=c[k>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[h>>0]|0|0)){Uv(e,f,0)|0;i=g;return}else{Su(e,c[f+12>>2]|0,a[h>>0]|0);Su(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[h>>0]|0);i=g;return}}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function Uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[g>>2]|0)+12>>2]|0)-1;while(1){if((c[e>>2]|0)<0)break;Rv(c[f>>2]|0,c[g>>2]|0,c[e>>2]|0);c[e>>2]=(c[e>>2]|0)+ -1}i=d;return}function Vu(a,f,g,h){a=a|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=i;i=i+48|0;l=s+40|0;o=s+36|0;w=s+32|0;t=s+28|0;p=s+24|0;u=s+20|0;n=s+16|0;m=s+12|0;q=s+8|0;v=s+4|0;j=s+44|0;r=s;c[o>>2]=a;c[w>>2]=f;c[t>>2]=g;c[p>>2]=h;if((c[c[w>>2]>>2]|0)!=1){c[l>>2]=0;a=c[l>>2]|0;i=s;return a|0}c[q>>2]=c[(c[w>>2]|0)+48>>2];c[u>>2]=c[(c[w>>2]|0)+24>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[p>>2]>>2]|0))break;c[v>>2]=iq(c[(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0)|0;if(((d[c[v>>2]>>0]|0)==154?(c[(c[v>>2]|0)+28>>2]|0)==(c[q>>2]|0):0)?(b[(c[v>>2]|0)+32>>1]|0)<0:0){k=8;break}c[m>>2]=(c[m>>2]|0)+1}if((k|0)==8){c[l>>2]=1;a=c[l>>2]|0;i=s;return a|0}c[n>>2]=c[(c[u>>2]|0)+8>>2];while(1){if(!(c[n>>2]|0)){k=22;break}if(d[(c[n>>2]|0)+54>>0]|0){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[n>>2]|0)+50>>1]|0))break;b[j>>1]=b[(c[(c[n>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0;if(!(hv(c[t>>2]|0,c[q>>2]|0,b[j>>1]|0,-1,-1,2,c[n>>2]|0)|0)){c[r>>2]=Qv(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;if((c[r>>2]|0)<0)break;if(!(d[(c[(c[u>>2]|0)+4>>2]|0)+((b[j>>1]|0)*24|0)+20>>0]|0))break}c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)==(e[(c[n>>2]|0)+50>>1]|0)){k=20;break}}c[n>>2]=c[(c[n>>2]|0)+20>>2]}if((k|0)==20){c[l>>2]=1;a=c[l>>2]|0;i=s;return a|0}else if((k|0)==22){c[l>>2]=0;a=c[l>>2]|0;i=s;return a|0}return 0}function Wu(f){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;m=i;i=i+48|0;h=m+40|0;s=m+36|0;q=m+32|0;o=m+28|0;r=m+24|0;k=m+20|0;j=m+16|0;p=m+12|0;l=m+8|0;n=m+4|0;g=m;c[s>>2]=f;c[q>>2]=c[c[s>>2]>>2];if(e[(c[q>>2]|0)+34>>1]&32){c[h>>2]=0;s=c[h>>2]|0;i=m;return s|0}c[o>>2]=(c[(c[q>>2]|0)+4>>2]|0)+8;c[n>>2]=c[(c[o>>2]|0)+16>>2];if(d[(c[n>>2]|0)+44>>0]&16){c[h>>2]=0;s=c[h>>2]|0;i=m;return s|0}if(c[(c[o>>2]|0)+64>>2]|0){c[h>>2]=0;s=c[h>>2]|0;i=m;return s|0}c[p>>2]=c[(c[o>>2]|0)+40>>2];c[r>>2]=(c[q>>2]|0)+328;c[j>>2]=c[(c[s>>2]|0)+12>>2];c[(c[j>>2]|0)+36>>2]=0;b[(c[j>>2]|0)+26>>1]=0;c[k>>2]=hv(c[r>>2]|0,c[p>>2]|0,-1,0,0,2,0)|0;a:do if(c[k>>2]|0){c[(c[j>>2]|0)+36>>2]=4353;c[c[(c[j>>2]|0)+44>>2]>>2]=c[k>>2];b[(c[j>>2]|0)+40>>1]=1;b[(c[j>>2]|0)+24>>1]=1;b[(c[j>>2]|0)+20>>1]=33}else{c[g>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break a;if(((d[(c[g>>2]|0)+54>>0]|0)!=0?(c[(c[g>>2]|0)+36>>2]|0)==0:0)?(e[(c[g>>2]|0)+50>>1]|0)<=4:0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(e[(c[g>>2]|0)+50>>1]|0))break;c[k>>2]=hv(c[r>>2]|0,c[p>>2]|0,b[(c[(c[g>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0,0,0,2,c[g>>2]|0)|0;if(!(c[k>>2]|0))break;c[(c[(c[j>>2]|0)+44>>2]|0)+(c[l>>2]<<2)>>2]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(e[(c[g>>2]|0)+50>>1]|0))break}c[g>>2]=c[(c[g>>2]|0)+20>>2]}c[(c[j>>2]|0)+36>>2]=4609;if(!(((d[(c[g>>2]|0)+55>>0]|0)>>>5&1|0)==0?(s=(c[o>>2]|0)+56|0,o=c[s>>2]|0,s=c[s+4>>2]|0,r=Iv(c[g>>2]|0)|0,!((o&~r|0)==0&(s&~D|0)==0)):0)){s=(c[j>>2]|0)+36|0;c[s>>2]=c[s>>2]|64}b[(c[j>>2]|0)+40>>1]=c[l>>2];b[(c[j>>2]|0)+24>>1]=c[l>>2];c[(c[j>>2]|0)+28>>2]=c[g>>2];b[(c[j>>2]|0)+20>>1]=39}while(0);if(!(c[(c[j>>2]|0)+36>>2]|0)){c[h>>2]=0;s=c[h>>2]|0;i=m;return s|0}b[(c[j>>2]|0)+22>>1]=1;c[(c[q>>2]|0)+792>>2]=c[j>>2];r=_u((c[q>>2]|0)+68|0,c[p>>2]|0)|0;s=(c[j>>2]|0)+8|0;c[s>>2]=r;c[s+4>>2]=D;c[(c[q>>2]|0)+740>>2]=c[p>>2];b[(c[q>>2]|0)+32>>1]=1;if(c[(c[q>>2]|0)+8>>2]|0)a[(c[q>>2]|0)+36>>0]=c[c[(c[q>>2]|0)+8>>2]>>2];if(e[(c[q>>2]|0)+34>>1]&1024)a[(c[q>>2]|0)+40>>0]=1;c[h>>2]=1;s=c[h>>2]|0;i=m;return s|0}function Xu(b){b=b|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;e=i;i=i+64|0;j=e+48|0;p=e+44|0;k=e+8|0;m=e;o=e+40|0;s=e+36|0;l=e+32|0;h=e+28|0;q=e+24|0;f=e+20|0;n=e+52|0;g=e+16|0;c[j>>2]=b;c[p>>2]=c[c[j>>2]>>2];r=k;c[r>>2]=0;c[r+4>>2]=0;r=m;c[r>>2]=0;c[r+4>>2]=0;c[s>>2]=c[(c[p>>2]|0)+4>>2];c[h>>2]=c[c[c[p>>2]>>2]>>2];c[q>>2]=d[(c[p>>2]|0)+41>>0];c[f>>2]=0;a[n>>0]=0;c[g>>2]=c[(c[j>>2]|0)+12>>2];Ou(c[g>>2]|0);c[o>>2]=0;c[l>>2]=(c[s>>2]|0)+8;while(1){if((c[o>>2]|0)>=(c[q>>2]|0)){j=13;break}a[(c[g>>2]|0)+16>>0]=c[o>>2];r=_u((c[p>>2]|0)+68|0,c[(c[l>>2]|0)+40>>2]|0)|0;s=(c[g>>2]|0)+8|0;c[s>>2]=r;c[s+4>>2]=D;if((d[(c[l>>2]|0)+36>>0]|0|(d[n>>0]|0))&10){b=m;r=c[b+4>>2]|0;s=k;c[s>>2]=c[b>>2];c[s+4>>2]=r}a[n>>0]=a[(c[l>>2]|0)+36>>0]|0;b=c[j>>2]|0;s=k;r=c[s>>2]|0;s=c[s+4>>2]|0;if((d[(c[(c[l>>2]|0)+16>>2]|0)+44>>0]|0)&16)c[f>>2]=vv(b,r,s)|0;else c[f>>2]=wv(b,r,s)|0;if(!(c[f>>2]|0)){s=k;c[f>>2]=xv(c[j>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0}b=(c[g>>2]|0)+8|0;t=m;r=c[t+4>>2]|c[b+4>>2];s=m;c[s>>2]=c[t>>2]|c[b>>2];c[s+4>>2]=r;if(c[f>>2]|0){j=13;break}if(d[(c[h>>2]|0)+64>>0]|0){j=13;break}c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+72}if((j|0)==13){Mu(c[h>>2]|0,c[g>>2]|0);i=e;return c[f>>2]|0}return 0}function Yu(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;q=i;i=i+160|0;y=q+32|0;j=q+132|0;m=q+128|0;t=q+146|0;P=q+124|0;p=q+120|0;E=q+116|0;k=q+112|0;u=q+108|0;B=q+104|0;N=q+100|0;S=q+96|0;K=q+92|0;Q=q+144|0;R=q+142|0;D=q+88|0;C=q+84|0;A=q+80|0;x=q+76|0;o=q+72|0;O=q+68|0;w=q+64|0;T=q+60|0;L=q+56|0;l=q+52|0;U=q+48|0;I=q+140|0;M=q+138|0;H=q+136|0;F=q+148|0;J=q+24|0;G=q+16|0;v=q+44|0;r=q+8|0;s=q+40|0;n=q;h=q+36|0;c[m>>2]=f;b[t>>1]=g;c[S>>2]=0;b[Q>>1]=0;b[R>>1]=0;c[L>>2]=0;c[E>>2]=c[c[m>>2]>>2];c[k>>2]=c[c[E>>2]>>2];c[p>>2]=d[(c[m>>2]|0)+41>>0];if((c[p>>2]|0)<=1)g=1;else g=(c[p>>2]|0)==2?5:10;c[P>>2]=g;if((c[(c[m>>2]|0)+8>>2]|0)!=0?(b[t>>1]|0)!=0:0)c[K>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];else c[K>>2]=0;c[U>>2]=($(32+(c[p>>2]<<2)|0,c[P>>2]|0)|0)<<1;c[U>>2]=(c[U>>2]|0)+(c[K>>2]<<1);f=c[U>>2]|0;c[l>>2]=Qe(c[k>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[j>>2]=7;f=c[j>>2]|0;i=q;return f|0}c[x>>2]=c[l>>2];c[A>>2]=(c[x>>2]|0)+(c[P>>2]<<5);f=c[A>>2]|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[T>>2]=(c[A>>2]|0)+(c[P>>2]<<5);c[B>>2]=c[P>>2]<<1;c[o>>2]=c[x>>2];while(1){if((c[B>>2]|0)<=0)break;c[(c[o>>2]|0)+24>>2]=c[T>>2];c[B>>2]=(c[B>>2]|0)+ -1;c[o>>2]=(c[o>>2]|0)+32;c[T>>2]=(c[T>>2]|0)+(c[p>>2]<<2)}if(c[K>>2]|0){c[L>>2]=c[T>>2];_E(c[L>>2]|0,0,c[K>>2]<<1|0)|0}if((c[(c[E>>2]|0)+424>>2]|0)>>>0<46)T=c[(c[E>>2]|0)+424>>2]|0;else T=46;b[(c[A>>2]|0)+16>>1]=T;c[C>>2]=1;if(c[K>>2]|0)a[(c[A>>2]|0)+22>>0]=(c[p>>2]|0)>0?-1:c[K>>2]|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[p>>2]|0))break;c[D>>2]=0;c[B>>2]=0;c[o>>2]=c[A>>2];while(1){if((c[B>>2]|0)>=(c[C>>2]|0))break;c[w>>2]=c[(c[m>>2]|0)+16>>2];while(1){if(!(c[w>>2]|0))break;a[F>>0]=a[(c[o>>2]|0)+22>>0]|0;g=G;c[g>>2]=0;c[g+4>>2]=0;g=c[w>>2]|0;f=c[o>>2]|0;a:do if(!((c[g>>2]&~c[f>>2]|0)!=0?1:(c[g+4>>2]&~c[f+4>>2]|0)!=0)?(g=(c[w>>2]|0)+8|0,f=c[o>>2]|0,!((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0)):0){b[H>>1]=rv(b[(c[w>>2]|0)+18>>1]|0,(b[(c[w>>2]|0)+20>>1]|0)+(b[(c[o>>2]|0)+16>>1]|0)&65535)|0;b[H>>1]=rv(b[H>>1]|0,b[(c[o>>2]|0)+20>>1]|0)|0;b[I>>1]=(b[(c[o>>2]|0)+16>>1]|0)+(b[(c[w>>2]|0)+22>>1]|0);T=c[o>>2]|0;U=(c[w>>2]|0)+8|0;g=c[T+4>>2]|c[U+4>>2];f=J;c[f>>2]=c[T>>2]|c[U>>2];c[f+4>>2]=g;if((a[F>>0]|0)<0)a[F>>0]=sv(c[m>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0,b[(c[m>>2]|0)+34>>1]|0,c[u>>2]&65535,c[w>>2]|0,G)|0;else{U=(c[o>>2]|0)+8|0;g=c[U+4>>2]|0;f=G;c[f>>2]=c[U>>2];c[f+4>>2]=g}if((a[F>>0]|0)>=0?(a[F>>0]|0)<(c[K>>2]|0):0){if(!(b[(c[L>>2]|0)+(a[F>>0]<<1)>>1]|0)){f=tv(c[m>>2]|0,b[t>>1]|0,c[K>>2]|0,a[F>>0]|0)|0;b[(c[L>>2]|0)+(a[F>>0]<<1)>>1]=f}b[M>>1]=rv(b[H>>1]|0,b[(c[L>>2]|0)+(a[F>>0]<<1)>>1]|0)|0}else b[M>>1]=b[H>>1]|0;c[N>>2]=0;c[O>>2]=c[x>>2];while(1){if((c[N>>2]|0)>=(c[D>>2]|0))break;g=c[O>>2]|0;f=J;if(((c[g>>2]|0)==(c[f>>2]|0)?(c[g+4>>2]|0)==(c[f+4>>2]|0):0)?((a[(c[O>>2]|0)+22>>0]^a[F>>0])&128|0)==0:0)break;c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+32}do if((c[N>>2]|0)<(c[D>>2]|0)){if((b[(c[O>>2]|0)+18>>1]|0)<(b[M>>1]|0))break a;if((b[(c[O>>2]|0)+18>>1]|0)!=(b[M>>1]|0))break;if((b[(c[O>>2]|0)+16>>1]|0)<=(b[I>>1]|0))break a}else{do if((c[D>>2]|0)>=(c[P>>2]|0)){if((b[M>>1]|0)>(b[Q>>1]|0))break a;if((b[M>>1]|0)!=(b[Q>>1]|0))break;if((b[H>>1]|0)>=(b[R>>1]|0))break a}while(0);if((c[D>>2]|0)<(c[P>>2]|0)){f=c[D>>2]|0;c[D>>2]=f+1;c[N>>2]=f}else c[N>>2]=c[S>>2];c[O>>2]=(c[x>>2]|0)+(c[N>>2]<<5)}while(0);T=c[o>>2]|0;f=(c[w>>2]|0)+8|0;g=c[T+4>>2]|c[f+4>>2];U=c[O>>2]|0;c[U>>2]=c[T>>2]|c[f>>2];c[U+4>>2]=g;U=G;g=c[U+4>>2]|0;f=(c[O>>2]|0)+8|0;c[f>>2]=c[U>>2];c[f+4>>2]=g;b[(c[O>>2]|0)+16>>1]=b[I>>1]|0;b[(c[O>>2]|0)+18>>1]=b[M>>1]|0;b[(c[O>>2]|0)+20>>1]=b[H>>1]|0;a[(c[O>>2]|0)+22>>0]=a[F>>0]|0;dF(c[(c[O>>2]|0)+24>>2]|0,c[(c[o>>2]|0)+24>>2]|0,c[u>>2]<<2|0)|0;c[(c[(c[O>>2]|0)+24>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[D>>2]|0)>=(c[P>>2]|0)){c[S>>2]=0;b[Q>>1]=b[(c[x>>2]|0)+18>>1]|0;b[R>>1]=b[(c[x>>2]|0)+16>>1]|0;c[N>>2]=1;c[O>>2]=(c[x>>2]|0)+32;while(1){if((c[N>>2]|0)>=(c[P>>2]|0))break a;do if((b[(c[O>>2]|0)+18>>1]|0)<=(b[Q>>1]|0)){if((b[(c[O>>2]|0)+18>>1]|0)!=(b[Q>>1]|0))break;if((b[(c[O>>2]|0)+20>>1]|0)>(b[R>>1]|0))z=58}else z=58;while(0);if((z|0)==58){z=0;b[Q>>1]=b[(c[O>>2]|0)+18>>1]|0;b[R>>1]=b[(c[O>>2]|0)+20>>1]|0;c[S>>2]=c[N>>2]}c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+32}}}while(0);c[w>>2]=c[(c[w>>2]|0)+48>>2]}c[B>>2]=(c[B>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+32}c[o>>2]=c[x>>2];c[x>>2]=c[A>>2];c[A>>2]=c[o>>2];c[C>>2]=c[D>>2];c[u>>2]=(c[u>>2]|0)+1}if(!(c[C>>2]|0)){Se(c[E>>2]|0,24032,y);Xb(c[k>>2]|0,c[l>>2]|0);c[j>>2]=1;f=c[j>>2]|0;i=q;return f|0}c[o>>2]=c[A>>2];c[B>>2]=1;while(1){if((c[B>>2]|0)>=(c[C>>2]|0))break;if((b[(c[o>>2]|0)+18>>1]|0)>(b[(c[A>>2]|0)+(c[B>>2]<<5)+18>>1]|0))c[o>>2]=(c[A>>2]|0)+(c[B>>2]<<5);c[B>>2]=(c[B>>2]|0)+1}c[u>>2]=0;while(1){x=c[m>>2]|0;if((c[u>>2]|0)>=(c[p>>2]|0))break;c[v>>2]=x+736+((c[u>>2]|0)*72|0);f=c[(c[(c[o>>2]|0)+24>>2]|0)+(c[u>>2]<<2)>>2]|0;c[w>>2]=f;c[(c[v>>2]|0)+56>>2]=f;a[(c[v>>2]|0)+36>>0]=a[(c[w>>2]|0)+16>>0]|0;c[(c[v>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+8+((d[(c[v>>2]|0)+36>>0]|0)*72|0)+40>>2];c[u>>2]=(c[u>>2]|0)+1}if(((((e[x+34>>1]&1024|0)!=0?(e[(c[m>>2]|0)+34>>1]&512|0)==0:0)?(d[(c[m>>2]|0)+40>>0]|0)==0:0)?(b[t>>1]|0)!=0:0)?(c[s>>2]=(sv(c[m>>2]|0,c[(c[m>>2]|0)+12>>2]|0,c[o>>2]|0,512,(c[p>>2]|0)-1&65535,c[(c[(c[o>>2]|0)+24>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0,r)|0)<<24>>24,(c[s>>2]|0)==(c[c[(c[m>>2]|0)+12>>2]>>2]|0)):0)a[(c[m>>2]|0)+40>>0]=2;if(c[(c[m>>2]|0)+8>>2]|0){r=a[(c[o>>2]|0)+22>>0]|0;if(e[(c[m>>2]|0)+34>>1]&512){if((r<<24>>24|0)==(c[c[(c[m>>2]|0)+8>>2]>>2]|0))a[(c[m>>2]|0)+40>>0]=2}else{a[(c[m>>2]|0)+36>>0]=r;if((a[(c[m>>2]|0)+36>>0]|0)<0)a[(c[m>>2]|0)+36>>0]=0;U=(c[o>>2]|0)+8|0;g=c[U+4>>2]|0;f=(c[m>>2]|0)+24|0;c[f>>2]=c[U>>2];c[f+4>>2]=g}if(((e[(c[m>>2]|0)+34>>1]&2048|0)!=0?(a[(c[m>>2]|0)+36>>0]|0)==(c[c[(c[m>>2]|0)+8>>2]>>2]|0):0)?(f=n,c[f>>2]=0,c[f+4>>2]=0,c[h>>2]=(sv(c[m>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0,0,(c[p>>2]|0)-1&65535,c[(c[(c[o>>2]|0)+24>>2]|0)+((c[p>>2]|0)-1<<2)>>2]|0,n)|0)<<24>>24,(c[h>>2]|0)==(c[c[(c[m>>2]|0)+8>>2]>>2]|0)):0){a[(c[m>>2]|0)+37>>0]=1;U=n;g=c[U+4>>2]|0;f=(c[m>>2]|0)+24|0;c[f>>2]=c[U>>2];c[f+4>>2]=g}}b[(c[m>>2]|0)+32>>1]=b[(c[o>>2]|0)+16>>1]|0;Xb(c[k>>2]|0,c[l>>2]|0);c[j>>2]=0;f=c[j>>2]|0;i=q;return f|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;h=d+16|0;g=d+12|0;f=d+8|0;e=d;c[h>>2]=a;c[g>>2]=b;a=e;c[a>>2]=0;c[a+4>>2]=0;if(!(c[g>>2]|0)){h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;D=h;i=d;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;j=pv(c[h>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=e;b=c[k+4>>2]|D;a=e;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;D=j;i=d;return k|0}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+32|0;d=e;g=e+16|0;h=e+12|0;f=e+8|0;c[g>>2]=a;c[h>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0)){f=6;break}b=c[f>>2]|0;if((c[(c[g>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[h>>2]|0)){f=4;break}c[f>>2]=b+1}if((f|0)==4){a=$E(1,0,b|0)|0;b=d;c[b>>2]=a;c[b+4>>2]=D;b=d;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=e;return a|0}else if((f|0)==6){b=d;c[b>>2]=0;c[b+4>>2]=0;b=d;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=e;return a|0}return 0}function $u(d,e,f,g,h,j){d=d|0;e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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;F=i;i=i+144|0;O=F+40|0;o=F+132|0;J=F+128|0;v=F+124|0;l=F+32|0;p=F+120|0;r=F+116|0;y=F+112|0;G=F+108|0;m=F+104|0;q=F+100|0;u=F+96|0;H=F+92|0;s=F+88|0;t=F+84|0;n=F+80|0;x=F+76|0;k=F+72|0;C=F+68|0;I=F+64|0;K=F+60|0;B=F+24|0;w=F+16|0;P=F+136|0;N=F+56|0;M=F+8|0;E=F+52|0;A=F;z=F+48|0;c[o>>2]=d;c[J>>2]=e;c[v>>2]=f;d=l;c[d>>2]=g;c[d+4>>2]=h;c[p>>2]=j;a[P>>0]=0;c[q>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=_s(c[o>>2]|0)|0;c[r>>2]=0;c[H>>2]=c[(c[v>>2]|0)+16>>2];c[G>>2]=(c[(c[J>>2]|0)+20>>2]|0)+((c[(c[J>>2]|0)+12>>2]|0)*48|0);c[I>>2]=c[(c[p>>2]|0)+56>>2];h=B;c[h>>2]=0;c[h+4>>2]=0;c[y>>2]=c[(c[J>>2]|0)+20>>2];while(1){if((c[y>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;h=l;if(mv(c[y>>2]|0,c[v>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0){c[N>>2]=c[(c[y>>2]|0)+12>>2];if((c[N>>2]|0)>=64){g=0;j=-2147483648}else{g=$E(1,0,c[N>>2]|0)|0;j=D}h=M;c[h>>2]=g;c[h+4>>2]=j;if(!(a[P>>0]|0)){h=c[(c[(c[H>>2]|0)+4>>2]|0)+((c[N>>2]|0)*24|0)>>2]|0;c[O>>2]=c[c[H>>2]>>2];c[O+4>>2]=h;tc(284,23984,O);a[P>>0]=1}d=B;h=M;if((c[d>>2]&c[h>>2]|0)==0?(c[d+4>>2]&c[h+4>>2]|0)==0:0){if(nv(c[c[o>>2]>>2]|0,c[I>>2]|0,(c[r>>2]|0)+1|0)|0){L=42;break}f=c[y>>2]|0;e=c[r>>2]|0;c[r>>2]=e+1;c[(c[(c[I>>2]|0)+44>>2]|0)+(e<<2)>>2]=f;e=M;f=B;d=c[f+4>>2]|c[e+4>>2];h=B;c[h>>2]=c[f>>2]|c[e>>2];c[h+4>>2]=d}}c[y>>2]=(c[y>>2]|0)+48}if((L|0)==42){i=F;return}f=c[r>>2]&65535;b[(c[I>>2]|0)+40>>1]=f;b[(c[I>>2]|0)+24>>1]=f;c[(c[I>>2]|0)+36>>2]=16961;f=(c[v>>2]|0)+56|0;e=B;d=c[f+4>>2]&(~c[e+4>>2]|-2147483648);h=w;c[h>>2]=c[f>>2]&~c[e>>2];c[h+4>>2]=d;if((b[(c[H>>2]|0)+38>>1]|0)>=63)L=63;else L=b[(c[H>>2]|0)+38>>1]|0;c[k>>2]=L;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[k>>2]|0))break;h=w;e=c[h>>2]|0;h=c[h+4>>2]|0;d=$E(1,0,c[x>>2]|0)|0;if((e&d|0)!=0|(h&D|0)!=0)c[r>>2]=(c[r>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+1}if(0!=0?1:(c[(c[v>>2]|0)+60>>2]&-2147483648|0)!=0)c[r>>2]=(c[r>>2]|0)+((b[(c[H>>2]|0)+38>>1]|0)-64+1);h=(c[I>>2]|0)+36|0;c[h>>2]=c[h>>2]|65;c[m>>2]=ov(c[c[o>>2]>>2]|0,(c[r>>2]|0)+1&65535,0,K)|0;if(!(c[m>>2]|0)){i=F;return}c[(c[I>>2]|0)+28>>2]=c[m>>2];c[c[m>>2]>>2]=24016;c[(c[m>>2]|0)+12>>2]=c[H>>2];c[n>>2]=0;h=B;c[h>>2]=0;c[h+4>>2]=0;c[y>>2]=c[(c[J>>2]|0)+20>>2];while(1){if((c[y>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;h=l;if(mv(c[y>>2]|0,c[v>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0){c[E>>2]=c[(c[y>>2]|0)+12>>2];if((c[E>>2]|0)>=64){J=0;I=-2147483648}else{J=$E(1,0,c[E>>2]|0)|0;I=D}d=A;c[d>>2]=J;c[d+4>>2]=I;d=B;h=A;if((c[d>>2]&c[h>>2]|0)==0?(c[d+4>>2]&c[h+4>>2]|0)==0:0){c[z>>2]=c[c[y>>2]>>2];e=A;f=B;d=c[f+4>>2]|c[e+4>>2];h=B;c[h>>2]=c[f>>2]|c[e>>2];c[h+4>>2]=d;b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[(c[y>>2]|0)+12>>2];c[C>>2]=at(c[o>>2]|0,c[(c[z>>2]|0)+12>>2]|0,c[(c[z>>2]|0)+16>>2]|0)|0;if(c[C>>2]|0)I=c[c[C>>2]>>2]|0;else I=3320;c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=I;c[n>>2]=(c[n>>2]|0)+1}}c[y>>2]=(c[y>>2]|0)+48}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[k>>2]|0))break;h=w;e=c[h>>2]|0;h=c[h+4>>2]|0;d=$E(1,0,c[x>>2]|0)|0;if((e&d|0)!=0|(h&D|0)!=0){b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[x>>2];c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=3320;c[n>>2]=(c[n>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}a:do if(0!=0?1:(c[(c[v>>2]|0)+60>>2]&-2147483648|0)!=0){c[x>>2]=63;while(1){if((c[x>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0))break a;b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[x>>2];c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=3320;c[n>>2]=(c[n>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+1}}while(0);b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=-1;c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=3320;d=(c[o>>2]|0)+68|0;h=c[d>>2]|0;c[d>>2]=h+1;c[(c[p>>2]|0)+8>>2]=h;fp(c[q>>2]|0,56,c[(c[p>>2]|0)+8>>2]|0,(c[r>>2]|0)+1|0)|0;Lr(c[o>>2]|0,c[m>>2]|0);c[s>>2]=Ir(c[q>>2]|0,108,c[(c[p>>2]|0)+4>>2]|0)|0;c[t>>2]=kp(c[o>>2]|0)|0;ps(c[o>>2]|0,c[m>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[t>>2]|0,0,0,0,0)|0;fp(c[q>>2]|0,110,c[(c[p>>2]|0)+8>>2]|0,c[t>>2]|0)|0;Xe(c[q>>2]|0,16);fp(c[q>>2]|0,9,c[(c[p>>2]|0)+4>>2]|0,(c[s>>2]|0)+1|0)|0;Xe(c[q>>2]|0,3);zp(c[q>>2]|0,c[s>>2]|0);lp(c[o>>2]|0,c[t>>2]|0);zp(c[q>>2]|0,c[u>>2]|0);i=F;return}function av(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;i=i+208|0;w=B;H=B+96|0;F=B+92|0;G=B+88|0;s=B+84|0;t=B+80|0;E=B+100|0;y=B+76|0;q=B+72|0;D=B+68|0;r=B+64|0;z=B+60|0;x=B+56|0;A=B+52|0;p=B+48|0;o=B+20|0;C=B+104|0;u=B+16|0;v=B+12|0;m=B+8|0;c[H>>2]=f;c[F>>2]=g;c[G>>2]=h;c[s>>2]=j;c[t>>2]=k;b[E>>1]=l;if((d[(c[H>>2]|0)+450>>0]|0|0)!=2){i=B;return}c[y>>2]=(c[F>>2]|0)+8+((d[(c[G>>2]|0)+36>>0]|0)*72|0);c[q>>2]=c[(c[H>>2]|0)+8>>2];c[D>>2]=c[c[H>>2]>>2];c[r>>2]=c[(c[H>>2]|0)+464>>2];c[x>>2]=c[(c[G>>2]|0)+56>>2];c[A>>2]=c[(c[x>>2]|0)+36>>2];if(c[A>>2]&8192){i=B;return}if((e[E>>1]|0)&64){i=B;return}do if(c[A>>2]&48)E=1;else{if((c[A>>2]&1024|0)==0?(e[(c[x>>2]|0)+24>>1]|0|0)>0:0){E=1;break}E=((e[E>>1]|0)&3|0)!=0}while(0);c[z>>2]=E&1;nc(o,C,100,1e9);c[o>>2]=c[D>>2];ss(o,(c[z>>2]|0)!=0?23640:23648);C=c[y>>2]|0;if(c[(c[y>>2]|0)+20>>2]|0){c[w>>2]=d[C+38>>0];kn(o,0,23656,w)}else{c[w>>2]=c[C+8>>2];kn(o,0,23672,w)}if(c[(c[y>>2]|0)+12>>2]|0){c[w>>2]=c[(c[y>>2]|0)+12>>2];kn(o,0,23688,w)}do if(!(c[A>>2]&1280)){c[u>>2]=0;c[v>>2]=c[(c[x>>2]|0)+28>>2];if(((d[(c[(c[y>>2]|0)+16>>2]|0)+44>>0]|0)&32|0)!=0?(a[(c[v>>2]|0)+55>>0]&3|0)==2:0){if(c[z>>2]|0)c[u>>2]=23696}else n=18;do if((n|0)==18){if(c[A>>2]&16384){c[u>>2]=23712;break}if(c[A>>2]&64){c[u>>2]=23744;break}else{c[u>>2]=23768;break}}while(0);if(c[u>>2]|0){Vm(o,23784,7);f=c[u>>2]|0;c[w>>2]=c[c[v>>2]>>2];kn(o,0,f,w);kv(o,c[x>>2]|0,c[(c[y>>2]|0)+16>>2]|0)}}else{if((c[A>>2]&256|0)!=0?(c[A>>2]&15|0)!=0:0){do if(!(c[A>>2]&5)){if((c[A>>2]&48|0)==48){c[m>>2]=23808;break}if(c[A>>2]&32){c[m>>2]=23832;break}else{c[m>>2]=23848;break}}else c[m>>2]=23792;while(0);ss(o,23864);ss(o,c[m>>2]|0);break}if(c[A>>2]&1024){f=c[(c[x>>2]|0)+32>>2]|0;c[w>>2]=c[(c[x>>2]|0)+24>>2];c[w+4>>2]=f;kn(o,0,23896,w)}}while(0);c[p>>2]=pc(o)|0;hp(c[q>>2]|0,155,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[p>>2]|0,-1)|0;i=B;return}function bv(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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,ya=0,za=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;q=i;i=i+368|0;p=q+8|0;y=q+344|0;N=q+340|0;v=q;o=q+336|0;B=q+332|0;w=q+328|0;ma=q+324|0;ua=q+320|0;C=q+316|0;A=q+312|0;E=q+308|0;m=q+304|0;n=q+300|0;u=q+296|0;r=q+292|0;l=q+288|0;Ea=q+284|0;Ja=q+280|0;x=q+276|0;oa=q+272|0;Ra=q+268|0;Xa=q+264|0;Fa=q+260|0;Ha=q+256|0;Ga=q+252|0;Ia=q+248|0;Na=q+244|0;Va=q+240|0;Pa=q+236|0;Qa=q+232|0;Ua=q+228|0;Wa=q+224|0;Sa=q+220|0;Oa=q+216|0;Ta=q+212|0;Aa=q+350|0;xa=q+208|0;sa=q+204|0;ta=q+200|0;ra=q+196|0;va=q+192|0;la=q+188|0;ya=q+184|0;qa=q+180|0;T=q+176|0;Ma=q+172|0;wa=q+168|0;za=q+164|0;Ba=q+355|0;ka=q+354|0;Da=q+353|0;Ka=q+160|0;La=q+352|0;na=q+156|0;Ca=q+152|0;pa=q+148|0;X=q+144|0;aa=q+140|0;W=q+136|0;P=q+132|0;ca=q+128|0;ea=q+124|0;ga=q+120|0;F=q+116|0;da=q+112|0;L=q+108|0;ja=q+104|0;ia=q+348|0;Z=q+100|0;ba=q+96|0;$=q+92|0;_=q+88|0;fa=q+84|0;ha=q+80|0;Y=q+76|0;S=q+72|0;O=q+68|0;R=q+64|0;Q=q+60|0;H=q+56|0;K=q+52|0;M=q+48|0;J=q+44|0;I=q+40|0;G=q+36|0;V=q+32|0;z=q+28|0;k=q+24|0;s=q+20|0;t=q+16|0;c[y>>2]=f;c[N>>2]=g;g=v;c[g>>2]=h;c[g+4>>2]=j;c[oa>>2]=0;c[Ra>>2]=0;c[u>>2]=c[c[y>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+8>>2];c[m>>2]=(c[y>>2]|0)+328;c[r>>2]=c[c[u>>2]>>2];c[A>>2]=(c[y>>2]|0)+736+((c[N>>2]|0)*72|0);c[E>>2]=c[(c[A>>2]|0)+56>>2];c[Ea>>2]=(c[(c[y>>2]|0)+4>>2]|0)+8+((d[(c[A>>2]|0)+36>>0]|0)*72|0);c[w>>2]=c[(c[Ea>>2]|0)+40>>2];g=v;j=c[g>>2]|0;g=c[g+4>>2]|0;h=_u((c[y>>2]|0)+68|0,c[w>>2]|0)|0;f=(c[A>>2]|0)+64|0;c[f>>2]=j&~h;c[f+4>>2]=g&~D;f=(c[y>>2]|0)+24|0;f=cF(c[f>>2]|0,c[f+4>>2]|0,c[N>>2]|0)|0;c[C>>2]=f&1;if(c[(c[E>>2]|0)+36>>2]&64)j=(e[(c[y>>2]|0)+34>>1]&32|0)==0;else j=0;c[ua>>2]=j&1;f=Nr(c[l>>2]|0)|0;c[(c[A>>2]|0)+16>>2]=f;c[(c[A>>2]|0)+12>>2]=f;c[Ja>>2]=f;f=Nr(c[l>>2]|0)|0;c[(c[A>>2]|0)+24>>2]=f;c[x>>2]=f;if((d[(c[A>>2]|0)+36>>0]|0)>0?(d[(c[Ea>>2]|0)+36>>0]&8|0)!=0:0){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[A>>2]>>2]=f;fp(c[l>>2]|0,25,0,c[c[A>>2]>>2]|0)|0}do if(!((d[(c[Ea>>2]|0)+37>>0]|0)>>>2&1)){Xa=c[E>>2]|0;if(c[(c[E>>2]|0)+36>>2]&1024){c[Ga>>2]=e[Xa+40>>1];ws(c[u>>2]|0);c[Fa>>2]=ys(c[u>>2]|0,(c[Ga>>2]|0)+2|0)|0;c[Ha>>2]=c[(c[A>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[Ga>>2]|0))break;c[Ia>>2]=(c[Fa>>2]|0)+(c[o>>2]|0)+2;c[n>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(c[o>>2]<<2)>>2];do if(c[n>>2]|0){B=c[u>>2]|0;F=c[n>>2]|0;if(e[(c[n>>2]|0)+18>>1]&1){cv(B,F,c[A>>2]|0,c[o>>2]|0,c[C>>2]|0,c[Ia>>2]|0)|0;c[Ha>>2]=c[(c[A>>2]|0)+16>>2];break}else{Os(B,c[(c[F>>2]|0)+16>>2]|0,c[Ia>>2]|0);break}}while(0);c[o>>2]=(c[o>>2]|0)+1}fp(c[l>>2]|0,25,c[(c[E>>2]|0)+24>>2]|0,c[Fa>>2]|0)|0;fp(c[l>>2]|0,25,c[Ga>>2]|0,(c[Fa>>2]|0)+1|0)|0;hp(c[l>>2]|0,14,c[w>>2]|0,c[Ha>>2]|0,c[Fa>>2]|0,c[(c[E>>2]|0)+32>>2]|0,(d[(c[E>>2]|0)+28>>0]|0)!=0?-11:-2)|0;a[(c[E>>2]|0)+28>>0]=0;c[o>>2]=0;while(1){if(!((c[o>>2]|0)<16?(c[o>>2]|0)<(c[Ga>>2]|0):0))break;if(e[(c[E>>2]|0)+30>>1]>>c[o>>2]&1)dv(c[A>>2]|0,c[(c[(c[E>>2]|0)+44>>2]|0)+(c[o>>2]<<2)>>2]|0);c[o>>2]=(c[o>>2]|0)+1}a[(c[A>>2]|0)+37>>0]=-107;c[(c[A>>2]|0)+40>>2]=c[w>>2];f=Mr(c[l>>2]|0)|0;c[(c[A>>2]|0)+44>>2]=f;Bs(c[u>>2]|0,c[Fa>>2]|0,(c[Ga>>2]|0)+2|0);us(c[u>>2]|0);break}if((c[Xa+36>>2]&256|0)!=0?(c[(c[E>>2]|0)+36>>2]&5|0)!=0:0){c[n>>2]=c[c[(c[E>>2]|0)+44>>2]>>2];g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[Ra>>2]=f;c[oa>>2]=cv(c[u>>2]|0,c[n>>2]|0,c[A>>2]|0,0,c[C>>2]|0,c[Ra>>2]|0)|0;if((c[oa>>2]|0)!=(c[Ra>>2]|0))lp(c[u>>2]|0,c[Ra>>2]|0);c[ma>>2]=c[(c[A>>2]|0)+16>>2];fp(c[l>>2]|0,38,c[oa>>2]|0,c[ma>>2]|0)|0;ip(c[l>>2]|0,70,c[w>>2]|0,c[ma>>2]|0,c[oa>>2]|0)|0;Us(c[u>>2]|0,c[oa>>2]|0,1);jt(c[u>>2]|0,c[w>>2]|0,-1,c[oa>>2]|0);a[(c[A>>2]|0)+37>>0]=-102;break}if((c[(c[E>>2]|0)+36>>2]&256|0)!=0?(c[(c[E>>2]|0)+36>>2]&2|0)!=0:0){c[Na>>2]=154;c[Pa>>2]=0;c[o>>2]=0;c[Ua>>2]=0;c[Qa>>2]=0;if(c[(c[E>>2]|0)+36>>2]&32){f=c[o>>2]|0;c[o>>2]=f+1;c[Qa>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(f<<2)>>2]}if(c[(c[E>>2]|0)+36>>2]&16){f=c[o>>2]|0;c[o>>2]=f+1;c[Ua>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(f<<2)>>2]}if(c[C>>2]|0){c[n>>2]=c[Qa>>2];c[Qa>>2]=c[Ua>>2];c[Ua>>2]=c[n>>2]}if(c[Qa>>2]|0){c[Wa>>2]=c[c[Qa>>2]>>2];c[Sa>>2]=Hs(c[u>>2]|0,c[(c[Wa>>2]|0)+16>>2]|0,Oa)|0;ip(c[l>>2]|0,d[23600+((d[c[Wa>>2]>>0]|0)-80)>>0]|0,c[w>>2]|0,c[Ja>>2]|0,c[Sa>>2]|0)|0;Us(c[u>>2]|0,c[Sa>>2]|0,1);lp(c[u>>2]|0,c[Oa>>2]|0);dv(c[A>>2]|0,c[Qa>>2]|0)}else fp(c[l>>2]|0,(c[C>>2]|0)!=0?105:108,c[w>>2]|0,c[Ja>>2]|0)|0;if(c[Ua>>2]|0){c[Ta>>2]=c[c[Ua>>2]>>2];g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[Pa>>2]=f;Os(c[u>>2]|0,c[(c[Ta>>2]|0)+16>>2]|0,c[Pa>>2]|0);if((d[c[Ta>>2]>>0]|0)!=82?(d[c[Ta>>2]>>0]|0)!=80:0)c[Na>>2]=(c[C>>2]|0)!=0?82:80;else c[Na>>2]=(c[C>>2]|0)!=0?81:83;dv(c[A>>2]|0,c[Ua>>2]|0)}c[Va>>2]=Mr(c[l>>2]|0)|0;a[(c[A>>2]|0)+37>>0]=(c[C>>2]|0)!=0?8:9;c[(c[A>>2]|0)+40>>2]=c[w>>2];c[(c[A>>2]|0)+44>>2]=c[Va>>2];if((c[Na>>2]|0)==154)break;g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[oa>>2]=f;fp(c[l>>2]|0,103,c[w>>2]|0,c[oa>>2]|0)|0;jt(c[u>>2]|0,c[w>>2]|0,-1,c[oa>>2]|0);ip(c[l>>2]|0,c[Na>>2]|0,c[Pa>>2]|0,c[Ja>>2]|0,c[oa>>2]|0)|0;Xe(c[l>>2]|0,83);break}Fa=c[E>>2]|0;if(c[(c[E>>2]|0)+36>>2]&512){b[Aa>>1]=b[Fa+24>>1]|0;c[sa>>2]=0;c[ta>>2]=0;c[Ma>>2]=0;a[Ba>>0]=0;a[ka>>0]=0;a[Da>>0]=0;c[qa>>2]=c[(c[E>>2]|0)+28>>2];c[T>>2]=c[(c[A>>2]|0)+8>>2];if(((e[(c[y>>2]|0)+34>>1]&1|0)!=0?(a[(c[y>>2]|0)+36>>0]|0)>0:0)?(e[(c[qa>>2]|0)+50>>1]|0)>(e[Aa>>1]|0):0){a[ka>>0]=1;c[Ma>>2]=1}c[o>>2]=e[Aa>>1];if(c[(c[E>>2]|0)+36>>2]&32){f=c[o>>2]|0;c[o>>2]=f+1;c[sa>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(f<<2)>>2];c[Ma>>2]=1}if((((c[(c[E>>2]|0)+36>>2]&16|0)!=0?(f=c[o>>2]|0,c[o>>2]=f+1,c[ta>>2]=c[(c[(c[E>>2]|0)+44>>2]|0)+(f<<2)>>2],c[Ma>>2]=1,(c[sa>>2]|0)==0):0)?(f=b[(c[(c[qa>>2]|0)+4>>2]|0)+(e[Aa>>1]<<1)>>1]|0,c[o>>2]=f,(f|0)>=0):0)?(d[(c[(c[(c[qa>>2]|0)+12>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)+20>>0]|0)==0:0)a[ka>>0]=1;c[xa>>2]=ev(c[u>>2]|0,c[A>>2]|0,c[C>>2]|0,c[Ma>>2]|0,za)|0;if(c[za>>2]|0)a[Ba>>0]=a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]|0;c[ma>>2]=c[(c[A>>2]|0)+16>>2];if((e[Aa>>1]|0)<(e[(c[qa>>2]|0)+50>>1]|0)?(c[C>>2]|0)==((d[(c[(c[qa>>2]|0)+28>>2]|0)+(e[Aa>>1]|0)>>0]|0)==0|0):0)U=64;else U=62;if(((U|0)==62?(c[C>>2]|0)!=0:0)?(e[(c[qa>>2]|0)+50>>1]|0)==(e[Aa>>1]|0):0)U=64;if((U|0)==64){c[Ka>>2]=c[ta>>2];c[ta>>2]=c[sa>>2];c[sa>>2]=c[Ka>>2];a[La>>0]=a[ka>>0]|0;a[ka>>0]=a[Da>>0]|0;a[Da>>0]=a[La>>0]|0}if(c[sa>>2]|0)F=(e[(c[sa>>2]|0)+18>>1]&40|0)!=0;else F=1;c[ra>>2]=F&1;if(c[ta>>2]|0)F=(e[(c[ta>>2]|0)+18>>1]&40|0)!=0;else F=1;c[va>>2]=F&1;if(c[sa>>2]|0)F=1;else F=(e[Aa>>1]|0)>0;c[la>>2]=F&1;c[ya>>2]=e[Aa>>1];if(!(c[sa>>2]|0)){if(a[ka>>0]|0){fp(c[l>>2]|0,28,0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0)|0;c[ya>>2]=(c[ya>>2]|0)+1;c[ra>>2]=0;c[la>>2]=1}}else{c[na>>2]=c[(c[c[sa>>2]>>2]|0)+16>>2];Os(c[u>>2]|0,c[na>>2]|0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0);do if(!(d[(c[sa>>2]|0)+20>>0]&0)){if(!(Ps(c[na>>2]|0)|0))break;fp(c[l>>2]|0,76,(c[xa>>2]|0)+(e[Aa>>1]|0)|0,c[ma>>2]|0)|0}while(0);do if(c[za>>2]|0){if(((kt(c[na>>2]|0,a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]=65;if(!(fv(c[na>>2]|0,a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]|0)|0))break;a[(c[za>>2]|0)+(e[Aa>>1]|0)>>0]=65}while(0);c[ya>>2]=(c[ya>>2]|0)+1}gv(c[u>>2]|0,c[xa>>2]|0,(c[ya>>2]|0)-(d[ka>>0]|0)|0,c[za>>2]|0);c[wa>>2]=d[23608+((c[la>>2]<<2)+(c[ra>>2]<<1)+(c[C>>2]|0))>>0];We(c[l>>2]|0,c[wa>>2]|0,c[T>>2]|0,c[ma>>2]|0,c[xa>>2]|0,c[ya>>2]|0)|0;c[ya>>2]=e[Aa>>1];do if(c[ta>>2]|0){c[Ca>>2]=c[(c[c[ta>>2]>>2]|0)+16>>2];Cs(c[u>>2]|0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0,1);Os(c[u>>2]|0,c[Ca>>2]|0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0);do if(!(d[(c[ta>>2]|0)+20>>0]&0)){if(!(Ps(c[Ca>>2]|0)|0))break;fp(c[l>>2]|0,76,(c[xa>>2]|0)+(e[Aa>>1]|0)|0,c[ma>>2]|0)|0}while(0);do if(((kt(c[Ca>>2]|0,a[Ba>>0]|0)|0)<<24>>24|0)!=65){if(fv(c[Ca>>2]|0,a[Ba>>0]|0)|0)break;gv(c[u>>2]|0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0,1,Ba)}while(0);c[ya>>2]=(c[ya>>2]|0)+1}else{if(!(a[Da>>0]|0))break;fp(c[l>>2]|0,28,0,(c[xa>>2]|0)+(e[Aa>>1]|0)|0)|0;c[va>>2]=0;c[ya>>2]=(c[ya>>2]|0)+1}while(0);Xb(c[r>>2]|0,c[za>>2]|0);f=Mr(c[l>>2]|0)|0;c[(c[A>>2]|0)+44>>2]=f;if(c[ya>>2]|0){c[wa>>2]=d[23616+((c[C>>2]<<1)+(c[va>>2]|0))>>0];We(c[l>>2]|0,c[wa>>2]|0,c[T>>2]|0,c[ma>>2]|0,c[xa>>2]|0,c[ya>>2]|0)|0}dv(c[A>>2]|0,c[sa>>2]|0);dv(c[A>>2]|0,c[ta>>2]|0);do if(!(c[ua>>2]|0)){if(!(d[(c[(c[qa>>2]|0)+12>>2]|0)+44>>0]&32)){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[oa>>2]=f;fp(c[l>>2]|0,112,c[T>>2]|0,c[oa>>2]|0)|0;jt(c[u>>2]|0,c[w>>2]|0,-1,c[oa>>2]|0);fp(c[l>>2]|0,66,c[w>>2]|0,c[oa>>2]|0)|0;break}if((c[w>>2]|0)==(c[T>>2]|0))break;c[pa>>2]=Zr(c[(c[qa>>2]|0)+12>>2]|0)|0;c[oa>>2]=ys(c[u>>2]|0,e[(c[pa>>2]|0)+50>>1]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[pa>>2]|0)+50>>1]|0))break;c[B>>2]=(Ds(c[qa>>2]|0,b[(c[(c[pa>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)|0)<<16>>16;ip(c[l>>2]|0,47,c[T>>2]|0,c[B>>2]|0,(c[oa>>2]|0)+(c[o>>2]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}We(c[l>>2]|0,68,c[w>>2]|0,c[x>>2]|0,c[oa>>2]|0,e[(c[pa>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[E>>2]|0)+36>>2]&4096)){B=(c[A>>2]|0)+37|0;if(c[C>>2]|0){a[B>>0]=8;break}else{a[B>>0]=9;break}}else a[(c[A>>2]|0)+37>>0]=-102;while(0);c[(c[A>>2]|0)+40>>2]=c[T>>2];a[(c[A>>2]|0)+38>>0]=(c[(c[E>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[E>>2]|0)+36>>2]&15)break;a[(c[A>>2]|0)+39>>0]=1;break}if(!(c[Fa+36>>2]&8192))if((d[(c[Ea>>2]|0)+37>>0]|0)>>>3&1){a[(c[A>>2]|0)+37>>0]=-102;break}else{a[(c[A>>2]|0)+37>>0]=a[23624+(c[C>>2]|0)>>0]|0;c[(c[A>>2]|0)+40>>2]=c[w>>2];f=1+(fp(c[l>>2]|0,d[23632+(c[C>>2]|0)>>0]|0,c[w>>2]|0,c[Ja>>2]|0)|0)|0;c[(c[A>>2]|0)+44>>2]=f;a[(c[A>>2]|0)+39>>0]=1;break}c[W>>2]=0;C=(c[u>>2]|0)+68|0;f=c[C>>2]|0;c[C>>2]=f+1;c[P>>2]=f;f=(c[u>>2]|0)+72|0;C=(c[f>>2]|0)+1|0;c[f>>2]=C;c[ca>>2]=C;c[ea>>2]=0;c[ga>>2]=0;c[F>>2]=Nr(c[l>>2]|0)|0;c[L>>2]=0;c[Z>>2]=0;c[ba>>2]=c[(c[Ea>>2]|0)+16>>2];c[n>>2]=c[c[(c[E>>2]|0)+44>>2]>>2];c[X>>2]=c[(c[n>>2]|0)+12>>2];a[(c[A>>2]|0)+37>>0]=18;c[(c[A>>2]|0)+40>>2]=c[ca>>2];C=c[y>>2]|0;a:do if((d[(c[y>>2]|0)+41>>0]|0)>1){c[$>>2]=(d[C+41>>0]|0)-(c[N>>2]|0)-1;c[aa>>2]=Qe(c[r>>2]|0,80+((c[$>>2]|0)*72|0)|0,0)|0;if(!(c[aa>>2]|0)){h=v;f=c[h+4>>2]|0;g=p;c[g>>2]=c[h>>2];c[g+4>>2]=f;g=p;f=g;f=c[f>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;i=q;return f|0}c[(c[aa>>2]|0)+4>>2]=(c[$>>2]|0)+1&255;c[c[aa>>2]>>2]=c[(c[aa>>2]|0)+4>>2];C=(c[aa>>2]|0)+8|0;T=(c[Ea>>2]|0)+0|0;E=C+72|0;do{c[C>>2]=c[T>>2];C=C+4|0;T=T+4|0}while((C|0)<(E|0));c[_>>2]=(c[(c[y>>2]|0)+4>>2]|0)+8;c[B>>2]=1;while(1){if((c[B>>2]|0)>(c[$>>2]|0))break a;C=(c[aa>>2]|0)+8+((c[B>>2]|0)*72|0)+0|0;T=(c[_>>2]|0)+((d[(c[A>>2]|0)+((c[B>>2]|0)*72|0)+36>>0]|0)*72|0)+0|0;E=C+72|0;do{c[C>>2]=c[T>>2];C=C+4|0;T=T+4|0}while((C|0)<(E|0));c[B>>2]=(c[B>>2]|0)+1}}else c[aa>>2]=c[C+4>>2];while(0);if(!(e[(c[y>>2]|0)+34>>1]&8)){if(!(d[(c[ba>>2]|0)+44>>0]&32)){g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ea>>2]=f;fp(c[l>>2]|0,28,0,c[ea>>2]|0)|0}else{c[fa>>2]=Zr(c[ba>>2]|0)|0;g=(c[u>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[ea>>2]=f;fp(c[l>>2]|0,57,c[ea>>2]|0,e[(c[fa>>2]|0)+50>>1]|0)|0;Lr(c[u>>2]|0,c[fa>>2]|0)}g=(c[u>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[ga>>2]=f}c[da>>2]=fp(c[l>>2]|0,25,0,c[ca>>2]|0)|0;if((c[(c[m>>2]|0)+12>>2]|0)>1){c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;c[Y>>2]=c[(c[(c[m>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0)>>2];if(((((c[(c[m>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0)|0)!=(c[n>>2]|0)?(c[(c[Y>>2]|0)+4>>2]&1|0)==0:0)?(d[(c[(c[m>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0)+20>>0]&18|0)==0:0)?(e[(c[(c[m>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0)+18>>1]&4095|0)!=0:0){c[Y>>2]=Bq(c[r>>2]|0,c[Y>>2]|0,0)|0;c[Z>>2]=mr(c[r>>2]|0,c[Z>>2]|0,c[Y>>2]|0)|0}c[ha>>2]=(c[ha>>2]|0)+1}if(c[Z>>2]|0)c[Z>>2]=Rn(c[u>>2]|0,72,0,c[Z>>2]|0,0)|0}b[ia>>1]=112;c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[(c[X>>2]|0)+12>>2]|0))break;c[S>>2]=(c[(c[X>>2]|0)+20>>2]|0)+((c[ja>>2]|0)*48|0);if(!((c[(c[S>>2]|0)+8>>2]|0)!=(c[w>>2]|0)?(e[(c[S>>2]|0)+18>>1]&512|0)==0:0)){c[R>>2]=c[c[S>>2]>>2];c[Q>>2]=0;if((c[Z>>2]|0)!=0?(c[(c[R>>2]|0)+4>>2]&1|0)==0:0){c[(c[Z>>2]|0)+12>>2]=c[R>>2];c[R>>2]=c[Z>>2]}c[O>>2]=Hu(c[u>>2]|0,c[aa>>2]|0,c[R>>2]|0,0,0,b[ia>>1]|0,c[P>>2]|0)|0;if(c[O>>2]|0){av(c[u>>2]|0,c[aa>>2]|0,(c[O>>2]|0)+736|0,c[N>>2]|0,d[(c[A>>2]|0)+36>>0]|0,0);do if(!(e[(c[y>>2]|0)+34>>1]&8)){c[M>>2]=(c[ja>>2]|0)==((c[(c[X>>2]|0)+12>>2]|0)-1|0)?-1:c[ja>>2]|0;if(!(d[(c[ba>>2]|0)+44>>0]&32)){c[K>>2]=Rs(c[u>>2]|0,c[ba>>2]|0,-1,c[w>>2]|0,c[ga>>2]|0,0)|0;c[Q>>2]=We(c[l>>2]|0,130,c[ea>>2]|0,0,c[K>>2]|0,c[M>>2]|0)|0;break}c[J>>2]=Zr(c[ba>>2]|0)|0;c[I>>2]=e[(c[J>>2]|0)+50>>1];c[K>>2]=ys(c[u>>2]|0,c[I>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[V>>2]=b[(c[(c[J>>2]|0)+4>>2]|0)+(c[G>>2]<<1)>>1];Rs(c[u>>2]|0,c[ba>>2]|0,c[V>>2]|0,c[w>>2]|0,(c[K>>2]|0)+(c[G>>2]|0)|0,0)|0;c[G>>2]=(c[G>>2]|0)+1}if(c[M>>2]|0)c[Q>>2]=We(c[l>>2]|0,69,c[ea>>2]|0,0,c[K>>2]|0,c[I>>2]|0)|0;do if((c[M>>2]|0)>=0){ip(c[l>>2]|0,49,c[K>>2]|0,c[I>>2]|0,c[ga>>2]|0)|0;ip(c[l>>2]|0,110,c[ea>>2]|0,c[ga>>2]|0,0)|0;if(!(c[M>>2]|0))break;Xe(c[l>>2]|0,16)}while(0);Bs(c[u>>2]|0,c[K>>2]|0,c[I>>2]|0)}while(0);fp(c[l>>2]|0,17,c[ca>>2]|0,c[F>>2]|0)|0;if(c[Q>>2]|0)zp(c[l>>2]|0,c[Q>>2]|0);if(a[(c[O>>2]|0)+39>>0]|0)c[L>>2]=1;c[H>>2]=c[(c[O>>2]|0)+792>>2];do if(c[(c[H>>2]|0)+36>>2]&512){if((c[ja>>2]|0)!=0?(c[(c[H>>2]|0)+28>>2]|0)!=(c[W>>2]|0):0){U=164;break}if((d[(c[ba>>2]|0)+44>>0]&32|0)!=0?(a[(c[(c[H>>2]|0)+28>>2]|0)+55>>0]&3|0)==2:0){U=164;break}c[W>>2]=c[(c[H>>2]|0)+28>>2];b[ia>>1]=e[ia>>1]|4096}else U=164;while(0);if((U|0)==164){U=0;c[W>>2]=0}Iu(c[O>>2]|0)}}c[ja>>2]=(c[ja>>2]|0)+1}c[(c[A>>2]|0)+48>>2]=c[W>>2];if(c[W>>2]|0)c[(c[A>>2]|0)+8>>2]=c[P>>2];if(c[Z>>2]|0){c[(c[Z>>2]|0)+12>>2]=0;wn(c[r>>2]|0,c[Z>>2]|0)}g=c[l>>2]|0;f=c[da>>2]|0;_e(g,f,Mr(c[l>>2]|0)|0);fp(c[l>>2]|0,16,0,c[(c[A>>2]|0)+12>>2]|0)|0;Pr(c[l>>2]|0,c[F>>2]|0);if((d[(c[y>>2]|0)+41>>0]|0)>1)Xb(c[r>>2]|0,c[aa>>2]|0);if(!(c[L>>2]|0))dv(c[A>>2]|0,c[n>>2]|0)}else{c[Xa>>2]=c[(c[Ea>>2]|0)+28>>2];ip(c[l>>2]|0,20,c[Xa>>2]|0,0,c[(c[Ea>>2]|0)+24>>2]|0)|0;f=fp(c[l>>2]|0,22,c[Xa>>2]|0,c[Ja>>2]|0)|0;c[(c[A>>2]|0)+44>>2]=f;a[(c[A>>2]|0)+37>>0]=16}while(0);c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=c[(c[m>>2]|0)+12>>2];while(1){if((c[o>>2]|0)<=0)break;do if(!(d[(c[n>>2]|0)+20>>0]&6)){g=(c[n>>2]|0)+40|0;f=(c[A>>2]|0)+64|0;if((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0){a[(c[y>>2]|0)+39>>0]=1;break}c[z>>2]=c[c[n>>2]>>2];if((c[c[A>>2]>>2]|0)!=0?(c[(c[z>>2]|0)+4>>2]&1|0)==0:0)break;xs(c[u>>2]|0,c[z>>2]|0,c[x>>2]|0,16);f=(c[n>>2]|0)+20|0;a[f>>0]=d[f>>0]|4}while(0);c[o>>2]=(c[o>>2]|0)+ -1;c[n>>2]=(c[n>>2]|0)+48}c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=c[(c[m>>2]|0)+12>>2];while(1){if((c[o>>2]|0)<=0)break;if(((((((d[(c[n>>2]|0)+20>>0]&6|0)==0?(e[(c[n>>2]|0)+18>>1]|0)==1026:0)?(c[(c[n>>2]|0)+8>>2]|0)==(c[w>>2]|0):0)?(c[c[A>>2]>>2]|0)==0:0)?(c[k>>2]=c[c[n>>2]>>2],f=v,c[t>>2]=hv(c[m>>2]|0,c[w>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,3,0)|0,(c[t>>2]|0)!=0):0)?(d[(c[t>>2]|0)+20>>0]&4|0)==0:0)?(c[s>>2]=Qe(c[r>>2]|0,48,0)|0,(c[s>>2]|0)!=0):0){C=(c[s>>2]|0)+0|0;T=(c[c[t>>2]>>2]|0)+0|0;E=C+48|0;do{c[C>>2]=c[T>>2];C=C+4|0;T=T+4|0}while((C|0)<(E|0));c[(c[s>>2]|0)+12>>2]=c[(c[k>>2]|0)+12>>2];xs(c[u>>2]|0,c[s>>2]|0,c[x>>2]|0,16);Xb(c[r>>2]|0,c[s>>2]|0)}c[o>>2]=(c[o>>2]|0)+ -1;c[n>>2]=(c[n>>2]|0)+48}b:do if(c[c[A>>2]>>2]|0){f=Mr(c[l>>2]|0)|0;c[(c[A>>2]|0)+28>>2]=f;fp(c[l>>2]|0,25,1,c[c[A>>2]>>2]|0)|0;cu(c[u>>2]|0);c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break b;if((d[(c[n>>2]|0)+20>>0]&6|0)==0?(g=(c[n>>2]|0)+40|0,f=(c[A>>2]|0)+64|0,!((c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0)):0){xs(c[u>>2]|0,c[c[n>>2]>>2]|0,c[x>>2]|0,16);f=(c[n>>2]|0)+20|0;a[f>>0]=d[f>>0]|4}c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}}while(0);h=(c[A>>2]|0)+64|0;f=c[h+4>>2]|0;g=p;c[g>>2]=c[h>>2];c[g+4>>2]=f;g=p;f=g;f=c[f>>2]|0;g=g+4|0;g=c[g>>2]|0;D=g;i=q;return f|0}function cv(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;q=i;i=i+64|0;v=q+48|0;l=q+44|0;m=q+40|0;x=q+36|0;p=q+32|0;w=q+28|0;u=q+24|0;n=q+20|0;k=q+16|0;r=q+12|0;s=q+8|0;o=q+4|0;t=q;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[x>>2]=g;c[p>>2]=h;c[w>>2]=j;c[u>>2]=c[c[l>>2]>>2];c[n>>2]=c[(c[v>>2]|0)+8>>2];if((d[c[u>>2]>>0]|0|0)==79){c[k>>2]=Qs(c[v>>2]|0,c[(c[u>>2]|0)+16>>2]|0,c[w>>2]|0)|0;e=c[m>>2]|0;b=c[l>>2]|0;dv(e,b);b=c[k>>2]|0;i=q;return b|0}if((d[c[u>>2]>>0]|0|0)==76){c[k>>2]=c[w>>2];fp(c[n>>2]|0,28,0,c[k>>2]|0)|0;e=c[m>>2]|0;b=c[l>>2]|0;dv(e,b);b=c[k>>2]|0;i=q;return b|0}c[t>>2]=c[(c[m>>2]|0)+56>>2];if(((c[(c[t>>2]|0)+36>>2]&1024|0)==0?(c[(c[t>>2]|0)+28>>2]|0)!=0:0)?(d[(c[(c[(c[t>>2]|0)+28>>2]|0)+28>>2]|0)+(c[x>>2]|0)>>0]|0|0)!=0:0)c[p>>2]=((c[p>>2]|0)!=0^1)&1;c[k>>2]=c[w>>2];c[r>>2]=Ms(c[v>>2]|0,c[u>>2]|0,4,0)|0;if((c[r>>2]|0)==4)c[p>>2]=((c[p>>2]|0)!=0^1)&1;c[s>>2]=c[(c[u>>2]|0)+28>>2];fp(c[n>>2]|0,(c[p>>2]|0)!=0?105:108,c[s>>2]|0,0)|0;b=(c[t>>2]|0)+36|0;c[b>>2]=c[b>>2]|2048;if(!(c[(c[m>>2]|0)+48>>2]|0)){b=Nr(c[n>>2]|0)|0;c[(c[m>>2]|0)+16>>2]=b}t=(c[m>>2]|0)+48|0;c[t>>2]=(c[t>>2]|0)+1;t=Ek(c[c[v>>2]>>2]|0,c[(c[m>>2]|0)+52>>2]|0,(c[(c[m>>2]|0)+48>>2]|0)*12|0,0)|0;c[(c[m>>2]|0)+52>>2]=t;c[o>>2]=c[(c[m>>2]|0)+52>>2];t=(c[m>>2]|0)+48|0;if(!(c[o>>2]|0)){c[t>>2]=0;e=c[m>>2]|0;b=c[l>>2]|0;dv(e,b);b=c[k>>2]|0;i=q;return b|0}c[o>>2]=(c[o>>2]|0)+(((c[t>>2]|0)-1|0)*12|0);c[c[o>>2]>>2]=c[s>>2];t=c[n>>2]|0;u=c[s>>2]|0;s=c[k>>2]|0;if((c[r>>2]|0)==1){b=fp(t,103,u,s)|0;c[(c[o>>2]|0)+4>>2]=b}else{b=ip(t,47,u,0,s)|0;c[(c[o>>2]|0)+4>>2]=b}a[(c[o>>2]|0)+8>>0]=(c[p>>2]|0)!=0?6:7;Ir(c[n>>2]|0,76,c[k>>2]|0)|0;e=c[m>>2]|0;b=c[l>>2]|0;dv(e,b);b=c[k>>2]|0;i=q;return b|0}function dv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;g=f+4|0;h=f;c[j>>2]=b;c[g>>2]=e;if(!(c[g>>2]|0)){i=f;return}if((d[(c[g>>2]|0)+20>>0]|0)&4){i=f;return}if((c[c[j>>2]>>2]|0)!=0?(c[(c[c[g>>2]>>2]|0)+4>>2]&1|0)==0:0){i=f;return}e=(c[j>>2]|0)+64|0;b=(c[g>>2]|0)+40|0;if(!((c[e>>2]&c[b>>2]|0)==0?(c[e+4>>2]&c[b+4>>2]|0)==0:0)){i=f;return}b=(c[g>>2]|0)+20|0;a[b>>0]=d[b>>0]|0|4;if((c[(c[g>>2]|0)+4>>2]|0)<0){i=f;return}c[h>>2]=(c[(c[(c[g>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)*48|0);g=(c[h>>2]|0)+21|0;b=(a[g>>0]|0)+ -1<<24>>24;a[g>>0]=b;if(b&255){i=f;return}dv(c[j>>2]|0,c[h>>2]|0);i=f;return}function ev(d,f,g,h,j){d=d|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=i;i=i+80|0;s=m+60|0;t=m+56|0;k=m+52|0;C=m+48|0;l=m+44|0;w=m+66|0;x=m+64|0;y=m+40|0;B=m+36|0;r=m+32|0;p=m+28|0;q=m+24|0;n=m+20|0;o=m+16|0;u=m+12|0;z=m+8|0;v=m+4|0;A=m;c[s>>2]=d;c[t>>2]=f;c[k>>2]=g;c[C>>2]=h;c[l>>2]=j;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[p>>2]=c[(c[t>>2]|0)+56>>2];b[w>>1]=b[(c[p>>2]|0)+24>>1]|0;b[x>>1]=b[(c[p>>2]|0)+26>>1]|0;c[B>>2]=c[(c[p>>2]|0)+28>>2];c[n>>2]=(c[(c[s>>2]|0)+72>>2]|0)+1;c[o>>2]=(e[(c[p>>2]|0)+24>>1]|0)+(c[C>>2]|0);d=(c[s>>2]|0)+72|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0);d=c[c[s>>2]>>2]|0;c[u>>2]=ne(d,au(c[y>>2]|0,c[B>>2]|0)|0)|0;if(!(c[u>>2]|0))a[(c[c[s>>2]>>2]|0)+64>>0]=1;a:do if(b[x>>1]|0){c[z>>2]=c[(c[t>>2]|0)+8>>2];Ir(c[y>>2]|0,(c[k>>2]|0)!=0?105:108,c[z>>2]|0)|0;c[q>>2]=mp(c[y>>2]|0,16)|0;C=We(c[y>>2]|0,(c[k>>2]|0)!=0?62:65,c[z>>2]|0,0,c[n>>2]|0,e[x>>1]|0)|0;c[(c[t>>2]|0)+20>>2]=C;zp(c[y>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[x>>1]|0))break a;ip(c[y>>2]|0,47,c[z>>2]|0,c[q>>2]|0,(c[n>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[x>>1];while(1){if((c[q>>2]|0)>=(e[w>>1]|0))break;c[r>>2]=c[(c[(c[p>>2]|0)+44>>2]|0)+(c[q>>2]<<2)>>2];c[v>>2]=cv(c[s>>2]|0,c[r>>2]|0,c[t>>2]|0,c[q>>2]|0,c[k>>2]|0,(c[n>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[v>>2]|0)!=((c[n>>2]|0)+(c[q>>2]|0)|0))if((c[o>>2]|0)==1){lp(c[s>>2]|0,c[n>>2]|0);c[n>>2]=c[v>>2];break}else{fp(c[y>>2]|0,34,c[v>>2]|0,(c[n>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);if(!(e[(c[r>>2]|0)+18>>1]&129)){c[A>>2]=c[(c[c[r>>2]>>2]|0)+16>>2];if(Ps(c[A>>2]|0)|0)fp(c[y>>2]|0,76,(c[n>>2]|0)+(c[q>>2]|0)|0,c[(c[t>>2]|0)+12>>2]|0)|0;if(c[u>>2]|0){if(((kt(c[A>>2]|0,a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[u>>2]|0)+(c[q>>2]|0)>>0]=65;if(fv(c[A>>2]|0,a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[u>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[l>>2]>>2]=c[u>>2];i=m;return c[n>>2]|0}function fv(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;g=h+4|0;k=h;j=h+9|0;l=h+8|0;c[k>>2]=e;a[j>>0]=f;a:do if((a[j>>0]|0)==65)c[g>>2]=1;else{while(1){if((d[c[k>>2]>>0]|0)==158)f=1;else f=(d[c[k>>2]>>0]|0)==157;e=c[k>>2]|0;if(!f)break;c[k>>2]=c[e+12>>2]}a[l>>0]=a[e>>0]|0;if((d[l>>0]|0)==159)a[l>>0]=a[(c[k>>2]|0)+38>>0]|0;switch(d[l>>0]|0){case 133:{if((a[j>>0]|0)==69)j=1;else j=(a[j>>0]|0)==67;c[g>>2]=j&1;break a};case 132:{if((a[j>>0]|0)==68)j=1;else j=(a[j>>0]|0)==67;c[g>>2]=j&1;break a};case 134:{c[g>>2]=1;break a};case 154:{if((b[(c[k>>2]|0)+32>>1]|0)<0)if((a[j>>0]|0)==68)j=1;else j=(a[j>>0]|0)==67;else j=0;c[g>>2]=j&1;break a};case 97:{c[g>>2]=(a[j>>0]|0)==66&1;break a};default:{c[g>>2]=0;break a}}}while(0);i=h;return c[g>>2]|0}function gv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;h=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[l>>2]|0)){i=m;return}while(1){if((c[k>>2]|0)<=0)break;if((a[c[l>>2]>>0]|0)!=65)break;c[k>>2]=(c[k>>2]|0)+ -1;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}while(1){if((c[k>>2]|0)>1)e=(a[(c[l>>2]|0)+((c[k>>2]|0)-1)>>0]|0)==65;else e=0;f=c[k>>2]|0;if(!e)break;c[k>>2]=f+ -1}if((f|0)<=0){i=m;return}fp(c[h>>2]|0,48,c[j>>2]|0,c[k>>2]|0)|0;bf(c[h>>2]|0,-1,c[l>>2]|0,c[k>>2]|0);Us(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0);i=m;return}function hv(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;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,u=0;l=i;i=i+160|0;k=l+148|0;u=l+144|0;t=l+140|0;s=l+136|0;o=l;r=l+132|0;q=l+128|0;n=l+124|0;m=l+120|0;p=l+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=o;c[a>>2]=f;c[a+4>>2]=g;c[r>>2]=h;c[q>>2]=j;c[n>>2]=0;c[m>>2]=iv(p,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;while(1){if(!(c[m>>2]|0)){h=10;break}t=(c[m>>2]|0)+32|0;u=o;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[m>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[m>>2]|0)+18>>1]|0)&2|0)!=0:0){h=6;break}if(!(c[n>>2]|0))c[n>>2]=c[m>>2]}c[m>>2]=jv(p)|0}if((h|0)==6){c[k>>2]=c[m>>2];u=c[k>>2]|0;i=l;return u|0}else if((h|0)==10){c[k>>2]=c[n>>2];u=c[k>>2]|0;i=l;return u|0}return 0}function iv(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;r=i;i=i+32|0;q=r+28|0;n=r+24|0;u=r+20|0;o=r+16|0;p=r+12|0;t=r+8|0;l=r+4|0;s=r;c[n>>2]=d;c[u>>2]=f;c[o>>2]=g;c[p>>2]=h;c[t>>2]=j;c[l>>2]=k;c[c[n>>2]>>2]=c[u>>2];c[(c[n>>2]|0)+4>>2]=c[u>>2];do if((c[l>>2]|0)!=0&(c[p>>2]|0)>=0){a[(c[n>>2]|0)+12>>0]=a[(c[(c[(c[l>>2]|0)+12>>2]|0)+4>>2]|0)+((c[p>>2]|0)*24|0)+21>>0]|0;c[s>>2]=0;while(1){j=c[s>>2]|0;k=c[l>>2]|0;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]|0)==(c[p>>2]|0)){m=7;break}if((j|0)>(e[k+52>>1]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((m|0)==7){c[(c[n>>2]|0)+8>>2]=c[(c[k+32>>2]|0)+(j<<2)>>2];break}c[q>>2]=0;u=c[q>>2]|0;i=r;return u|0}else{a[(c[n>>2]|0)+12>>0]=0;c[(c[n>>2]|0)+8>>2]=0}while(0);c[(c[n>>2]|0)+16>>2]=c[t>>2];c[(c[n>>2]|0)+20>>2]=0;c[(c[n>>2]|0)+24>>2]=c[o>>2];c[(c[n>>2]|0)+28>>2]=c[p>>2];a[(c[n>>2]|0)+13>>0]=2;a[(c[n>>2]|0)+14>>0]=2;c[q>>2]=jv(c[n>>2]|0)|0;u=c[q>>2]|0;i=r;return u|0}function jv(f){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;h=i;i=i+48|0;k=h+40|0;j=h+36|0;m=h+32|0;n=h+28|0;p=h+24|0;o=h+20|0;l=h+16|0;g=h+12|0;q=h+8|0;s=h+4|0;r=h;c[j>>2]=f;c[g>>2]=c[(c[j>>2]|0)+20>>2];a:while(1){if((d[(c[j>>2]|0)+14>>0]|0)>(d[(c[j>>2]|0)+13>>0]|0)){m=35;break}c[m>>2]=c[(c[j>>2]|0)+24+((d[(c[j>>2]|0)+14>>0]|0)-2<<2)>>2];c[n>>2]=c[(c[j>>2]|0)+24+((d[(c[j>>2]|0)+14>>0]|0)-1<<2)>>2];while(1){f=c[(c[j>>2]|0)+4>>2]|0;c[o>>2]=f;if(!f)break;c[l>>2]=(c[(c[o>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);while(1){if((c[g>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;do if((c[(c[l>>2]|0)+8>>2]|0)==(c[m>>2]|0)?(c[(c[l>>2]|0)+12>>2]|0)==(c[n>>2]|0):0){if((d[(c[j>>2]|0)+14>>0]|0)>2?(c[(c[c[l>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if((e[(c[l>>2]|0)+18>>1]&1024|0)!=0?(d[(c[j>>2]|0)+13>>0]|0)<22:0){c[p>>2]=iq(c[(c[c[l>>2]>>2]|0)+16>>2]|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[j>>2]|0)+13>>0]|0))break;if((c[(c[j>>2]|0)+24+(c[q>>2]<<2)>>2]|0)==(c[(c[p>>2]|0)+28>>2]|0)?(c[(c[j>>2]|0)+24+((c[q>>2]|0)+1<<2)>>2]|0)==(b[(c[p>>2]|0)+32>>1]|0):0)break;c[q>>2]=(c[q>>2]|0)+2}if((c[q>>2]|0)==(d[(c[j>>2]|0)+13>>0]|0)){c[(c[j>>2]|0)+24+(c[q>>2]<<2)>>2]=c[(c[p>>2]|0)+28>>2];c[(c[j>>2]|0)+24+((c[q>>2]|0)+1<<2)>>2]=b[(c[p>>2]|0)+32>>1];f=(c[j>>2]|0)+13|0;a[f>>0]=(d[f>>0]|0)+2}}if(e[(c[l>>2]|0)+18>>1]&c[(c[j>>2]|0)+16>>2]){if((c[(c[j>>2]|0)+8>>2]|0)!=0?(e[(c[l>>2]|0)+18>>1]&128|0)==0:0){c[r>>2]=c[c[c[o>>2]>>2]>>2];c[p>>2]=c[c[l>>2]>>2];if(!(mt(c[p>>2]|0,a[(c[j>>2]|0)+12>>0]|0)|0))break;c[s>>2]=at(c[r>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;if(!(c[s>>2]|0))c[s>>2]=c[(c[c[r>>2]>>2]|0)+8>>2];if(xc(c[c[s>>2]>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[l>>2]|0)+18>>1]&2)){m=31;break a}f=c[(c[c[l>>2]>>2]|0)+16>>2]|0;c[p>>2]=f;if((d[f>>0]|0)!=154){m=31;break a}if((c[(c[p>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+24>>2]|0)){m=31;break a}if((b[(c[p>>2]|0)+32>>1]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){m=31;break a}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+48}c[(c[j>>2]|0)+4>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+4>>2];c[g>>2]=0}c[(c[j>>2]|0)+4>>2]=c[c[j>>2]>>2];c[g>>2]=0;f=(c[j>>2]|0)+14|0;a[f>>0]=(d[f>>0]|0)+2}if((m|0)==31){c[(c[j>>2]|0)+20>>2]=(c[g>>2]|0)+1;c[k>>2]=c[l>>2];s=c[k>>2]|0;i=h;return s|0}else if((m|0)==35){c[k>>2]=0;s=c[k>>2]|0;i=h;return s|0}return 0}function kv(a,d,f){a=a|0;d=d|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;k=i;i=i+64|0;t=k;g=k+44|0;o=k+40|0;v=k+36|0;u=k+32|0;s=k+50|0;r=k+48|0;h=k+28|0;n=k+24|0;p=k+20|0;m=k+16|0;q=k+12|0;l=k+8|0;j=k+4|0;c[g>>2]=a;c[o>>2]=d;c[v>>2]=f;c[u>>2]=c[(c[o>>2]|0)+28>>2];b[s>>1]=b[(c[o>>2]|0)+24>>1]|0;b[r>>1]=b[(c[o>>2]|0)+26>>1]|0;c[p>>2]=c[(c[v>>2]|0)+4>>2];c[m>>2]=c[(c[u>>2]|0)+4>>2];if((e[s>>1]|0)==0?(c[(c[o>>2]|0)+36>>2]&48|0)==0:0){i=k;return}Vm(c[g>>2]|0,23928,2);c[h>>2]=0;while(1){f=c[h>>2]|0;if((c[h>>2]|0)>=(e[s>>1]|0))break;if((b[(c[m>>2]|0)+(f<<1)>>1]|0)<0)f=9992;else f=c[(c[p>>2]|0)+((b[(c[m>>2]|0)+(c[h>>2]<<1)>>1]|0)*24|0)>>2]|0;c[q>>2]=f;if((c[h>>2]|0)>=(e[r>>1]|0))lv(c[g>>2]|0,c[h>>2]|0,c[q>>2]|0,23936);else{if(c[h>>2]|0)Vm(c[g>>2]|0,23944,5);v=c[g>>2]|0;c[t>>2]=c[q>>2];kn(v,0,23952,t)}c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=f;if(c[(c[o>>2]|0)+36>>2]&32){if((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)<0)q=9992;else q=c[(c[p>>2]|0)+((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)*24|0)>>2]|0;c[l>>2]=q;u=c[g>>2]|0;v=c[h>>2]|0;c[h>>2]=v+1;lv(u,v,c[l>>2]|0,23960)}if(c[(c[o>>2]|0)+36>>2]&16){if((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)<0)l=9992;else l=c[(c[p>>2]|0)+((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)*24|0)>>2]|0;c[j>>2]=l;lv(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,23968)}Vm(c[g>>2]|0,23976,1);i=k;return}function lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;if(c[k>>2]|0)Vm(c[g>>2]|0,23944,5);ss(c[g>>2]|0,c[j>>2]|0);Vm(c[g>>2]|0,c[h>>2]|0,1);Vm(c[g>>2]|0,19016,1);i=f;return}function mv(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h+8|0;n=h;m=h+20|0;c[l>>2]=b;c[k>>2]=d;b=n;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[l>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+40>>2]|0)){c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}if(!((e[(c[l>>2]|0)+18>>1]|0)&2)){c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}d=(c[l>>2]|0)+32|0;b=n;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}if((c[(c[l>>2]|0)+12>>2]|0)<0){c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+((c[(c[l>>2]|0)+12>>2]|0)*24|0)+21>>0]|0;if(mt(c[c[l>>2]>>2]|0,a[m>>0]|0)|0){c[j>>2]=1;b=c[j>>2]|0;i=h;return b|0}else{c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}return 0}function nv(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;k=g+8|0;l=g+4|0;j=g;c[m>>2]=a;c[k>>2]=d;c[l>>2]=f;if((e[(c[k>>2]|0)+42>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}c[l>>2]=(c[l>>2]|0)+7&-8;c[j>>2]=Qe(c[m>>2]|0,c[l>>2]<<2,0)|0;if(!(c[j>>2]|0)){c[h>>2]=7;a=c[h>>2]|0;i=g;return a|0}dF(c[j>>2]|0,c[(c[k>>2]|0)+44>>2]|0,(e[(c[k>>2]|0)+42>>1]|0)<<2|0)|0;if((c[(c[k>>2]|0)+44>>2]|0)!=((c[k>>2]|0)+52|0))Xb(c[m>>2]|0,c[(c[k>>2]|0)+44>>2]|0);c[(c[k>>2]|0)+44>>2]=c[j>>2];b[(c[k>>2]|0)+42>>1]=c[l>>2];c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}function ov(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;n=g+20|0;k=g+24|0;o=g+16|0;m=g+12|0;h=g+8|0;l=g+4|0;j=g;c[n>>2]=a;b[k>>1]=d;c[o>>2]=e;c[m>>2]=f;c[l>>2]=56+((b[k>>1]<<2)+7&-8)+(((b[k>>1]|0)+1<<1)+(b[k>>1]<<1)+(b[k>>1]|0)+7&-8);a=(c[l>>2]|0)+(c[o>>2]|0)|0;c[h>>2]=se(c[n>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){o=c[h>>2]|0;i=g;return o|0}c[j>>2]=(c[h>>2]|0)+56;c[(c[h>>2]|0)+32>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+((b[k>>1]<<2)+7&-8);c[(c[h>>2]|0)+8>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+((b[k>>1]|0)+1<<1);c[(c[h>>2]|0)+4>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+(b[k>>1]<<1);c[(c[h>>2]|0)+28>>2]=c[j>>2];b[(c[h>>2]|0)+52>>1]=b[k>>1]|0;b[(c[h>>2]|0)+50>>1]=(b[k>>1]|0)-1;c[c[m>>2]>>2]=(c[h>>2]|0)+(c[l>>2]|0);o=c[h>>2]|0;i=g;return o|0}function pv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;f=h+8|0;j=h+20|0;e=h+16|0;g=h;c[j>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=f;c[b>>2]=0;c[b+4>>2]=0;b=f;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=h;return a|0}a=c[j>>2]|0;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==154){a=_u(a,c[b+28>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=D;j=g;a=c[j+4>>2]|0;b=f;c[b>>2]=c[j>>2];c[b+4>>2]=a;b=f;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;D=b;i=h;return a|0}l=pv(a,c[b+16>>2]|0)|0;k=g;c[k>>2]=l;c[k+4>>2]=D;k=pv(c[j>>2]|0,c[(c[e>>2]|0)+12>>2]|0)|0;l=g;a=c[l+4>>2]|D;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=c[j>>2]|0;j=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){a=qv(b,c[j>>2]|0)|0;b=g;k=c[b+4>>2]|D;l=g;c[l>>2]=c[b>>2]|a;c[l+4>>2]=k}else{a=Zu(b,c[j>>2]|0)|0;b=g;k=c[b+4>>2]|D;l=g;c[l>>2]=c[b>>2]|a;c[l+4>>2]=k}a=g;l=c[a+4>>2]|0;k=f;c[k>>2]=c[a>>2];c[k+4>>2]=l;k=f;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;D=k;i=h;return l|0}function qv(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;e=i;i=i+32|0;j=e+20|0;g=e+16|0;d=e;h=e+12|0;f=e+8|0;c[j>>2]=a;c[g>>2]=b;a=d;c[a>>2]=0;c[a+4>>2]=0;while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+32>>2];k=Zu(c[j>>2]|0,c[c[g>>2]>>2]|0)|0;l=d;b=c[l+4>>2]|D;a=d;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b;a=Zu(c[j>>2]|0,c[(c[g>>2]|0)+40>>2]|0)|0;b=d;k=c[b+4>>2]|D;l=d;c[l>>2]=c[b>>2]|a;c[l+4>>2]=k;l=Zu(c[j>>2]|0,c[(c[g>>2]|0)+48>>2]|0)|0;k=d;a=c[k+4>>2]|D;b=d;c[b>>2]=c[k>>2]|l;c[b+4>>2]=a;b=pv(c[j>>2]|0,c[(c[g>>2]|0)+36>>2]|0)|0;a=d;l=c[a+4>>2]|D;k=d;c[k>>2]=c[a>>2]|b;c[k+4>>2]=l;k=pv(c[j>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0;l=d;b=c[l+4>>2]|D;a=d;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=qv(c[j>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=d;b=c[l+4>>2]|D;a=d;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b;a=pv(c[j>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+44>>2]|0)|0;b=d;k=c[b+4>>2]|D;l=d;c[l>>2]=c[b>>2]|a;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[g>>2]=c[(c[g>>2]|0)+52>>2]}l=d;D=c[l+4>>2]|0;i=e;return c[l>>2]|0}function rv(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+4|0;g=e+2|0;h=e;b[g>>1]=a;b[h>>1]=c;if((b[g>>1]|0)>=(b[h>>1]|0)){c=b[g>>1]|0;if((b[g>>1]|0)>((b[h>>1]|0)+49|0)){b[f>>1]=c;a=b[f>>1]|0;i=e;return a|0}a=b[g>>1]|0;if((c<<16>>16|0)>((b[h>>1]|0)+31|0)){b[f>>1]=a+1;a=b[f>>1]|0;i=e;return a|0}else{b[f>>1]=a+(d[24056+((b[g>>1]|0)-(b[h>>1]|0))>>0]|0);a=b[f>>1]|0;i=e;return a|0}}else{c=b[h>>1]|0;if((b[h>>1]|0)>((b[g>>1]|0)+49|0)){b[f>>1]=c;a=b[f>>1]|0;i=e;return a|0}a=b[h>>1]|0;if((c<<16>>16|0)>((b[g>>1]|0)+31|0)){b[f>>1]=a+1;a=b[f>>1]|0;i=e;return a|0}else{b[f>>1]=a+(d[24056+((b[h>>1]|0)-(b[g>>1]|0))>>0]|0);a=b[f>>1]|0;i=e;return a|0}}return 0}function sv(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;s=i;i=i+144|0;o=s+141|0;J=s+120|0;F=s+116|0;X=s+112|0;H=s+132|0;Z=s+130|0;Y=s+108|0;P=s+104|0;M=s+140|0;t=s+139|0;B=s+138|0;u=s+137|0;Q=s+136|0;E=s+135|0;R=s+128|0;z=s+126|0;N=s+124|0;O=s+100|0;p=s+96|0;y=s+92|0;I=s+88|0;A=s+84|0;x=s+80|0;V=s+76|0;G=s+72|0;K=s+68|0;w=s+64|0;L=s+60|0;r=s+40|0;v=s+32|0;S=s+24|0;W=s+16|0;U=s+56|0;T=s+52|0;C=s+134|0;_=s+48|0;$=s+8|0;q=s;c[J>>2]=f;c[F>>2]=g;c[X>>2]=h;b[H>>1]=j;b[Z>>1]=k;c[Y>>2]=l;c[P>>2]=m;c[x>>2]=0;c[L>>2]=c[c[c[J>>2]>>2]>>2];f=r;c[f>>2]=0;c[f+4>>2]=0;if((e[Z>>1]|0)!=0?(e[(c[L>>2]|0)+60>>1]&128|0)!=0:0){a[o>>0]=0;f=a[o>>0]|0;i=s;return f|0}b[N>>1]=c[c[F>>2]>>2];if((e[N>>1]|0)>63){a[o>>0]=0;f=a[o>>0]|0;i=s;return f|0}a[u>>0]=1;g=$E(1,0,e[N>>1]|0)|0;g=ZE(g|0,D|0,1,0)|0;f=v;c[f>>2]=g;c[f+4>>2]=D;f=S;c[f>>2]=0;c[f+4>>2]=0;f=W;c[f>>2]=0;c[f+4>>2]=0;c[O>>2]=0;while(1){if(!(d[u>>0]|0))break;g=r;j=c[g+4>>2]|0;f=v;h=c[f+4>>2]|0;if(!(j>>>0>>0|((j|0)==(h|0)?(c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)))break;if((c[O>>2]|0)>(e[Z>>1]|0))break;if((c[O>>2]|0)>0){h=(c[x>>2]|0)+8|0;j=W;g=c[j+4>>2]|c[h+4>>2];f=W;c[f>>2]=c[j>>2]|c[h>>2];c[f+4>>2]=g}if((c[O>>2]|0)<(e[Z>>1]|0))m=c[(c[(c[X>>2]|0)+24>>2]|0)+(c[O>>2]<<2)>>2]|0;else m=c[Y>>2]|0;c[x>>2]=m;m=c[x>>2]|0;if(c[(c[x>>2]|0)+36>>2]&1024){n=16;break}c[I>>2]=c[(c[(c[J>>2]|0)+4>>2]|0)+8+((d[m+16>>0]|0)*72|0)+40>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[N>>1]|0))break;g=$E(1,0,c[p>>2]|0)|0;f=r;do if(((!((g&c[f>>2]|0)!=0?1:(D&c[f+4>>2]|0)!=0)?(c[G>>2]=iq(c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0,(d[c[G>>2]>>0]|0)==154):0)?(c[(c[G>>2]|0)+28>>2]|0)==(c[I>>2]|0):0)?(f=W,c[V>>2]=hv((c[J>>2]|0)+328|0,c[I>>2]|0,b[(c[G>>2]|0)+32>>1]|0,~c[f>>2],~c[f+4>>2],130,0)|0,(c[V>>2]|0)!=0):0){if((e[(c[V>>2]|0)+18>>1]&2|0)!=0?(b[(c[G>>2]|0)+32>>1]|0)>=0:0){c[K>>2]=cq(c[c[J>>2]>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[L>>2]|0)+8>>2];c[U>>2]=c[c[K>>2]>>2];c[K>>2]=cq(c[c[J>>2]>>2]|0,c[c[V>>2]>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[L>>2]|0)+8>>2];c[T>>2]=c[c[K>>2]>>2];if(xc(c[U>>2]|0,c[T>>2]|0)|0)break}h=$E(1,0,c[p>>2]|0)|0;j=r;g=c[j+4>>2]|D;f=r;c[f>>2]=c[j>>2]|h;c[f+4>>2]=g}while(0);c[p>>2]=(c[p>>2]|0)+1}if(!(c[(c[x>>2]|0)+36>>2]&4096)){if(c[(c[x>>2]|0)+36>>2]&256){c[w>>2]=0;b[R>>1]=0;b[z>>1]=1}else{f=c[(c[x>>2]|0)+28>>2]|0;c[w>>2]=f;if(!f){n=38;break}if((d[(c[w>>2]|0)+55>>0]|0)>>>2&1){n=38;break}b[R>>1]=b[(c[w>>2]|0)+50>>1]|0;b[z>>1]=b[(c[w>>2]|0)+52>>1]|0;a[u>>0]=(d[(c[w>>2]|0)+54>>0]|0)!=0}a[M>>0]=0;a[t>>0]=0;a[Q>>0]=0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(e[z>>1]|0))break;if(((c[y>>2]|0)<(e[(c[x>>2]|0)+24>>1]|0)?(e[(c[x>>2]|0)+26>>1]|0)==0:0)?(f=e[(c[(c[(c[x>>2]|0)+44>>2]|0)+(c[y>>2]<<2)>>2]|0)+18>>1]|0,c[p>>2]=f,(f&130|0)!=0):0){if(c[p>>2]&128)a[u>>0]=0}else{if(c[w>>2]|0){c[A>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[y>>2]<<1)>>1];a[B>>0]=a[(c[(c[w>>2]|0)+28>>2]|0)+(c[y>>2]|0)>>0]|0;if((c[A>>2]|0)==(b[(c[(c[w>>2]|0)+12>>2]|0)+36>>1]|0))c[A>>2]=-1}else{c[A>>2]=-1;a[B>>0]=0}do if((d[u>>0]|0)!=0&(c[A>>2]|0)>=0?(c[y>>2]|0)>=(e[(c[x>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[w>>2]|0)+12>>2]|0)+4>>2]|0)+((c[A>>2]|0)*24|0)+20>>0]|0)break;a[u>>0]=0}while(0);a[C>>0]=1;a[E>>0]=0;c[p>>2]=0;a:while(1){if(!(d[C>>0]|0))break;if((c[p>>2]|0)>=(e[N>>1]|0))break;g=$E(1,0,c[p>>2]|0)|0;f=r;do if(!((g&c[f>>2]|0)!=0?1:(D&c[f+4>>2]|0)!=0)){c[G>>2]=iq(c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;if(!(e[H>>1]&768))a[C>>0]=0;if((d[c[G>>2]>>0]|0)!=154)break;if((c[(c[G>>2]|0)+28>>2]|0)!=(c[I>>2]|0))break;if((b[(c[G>>2]|0)+32>>1]|0)!=(c[A>>2]|0))break;if((c[A>>2]|0)<0){n=68;break a}c[K>>2]=cq(c[c[J>>2]>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[L>>2]|0)+8>>2];if(!(xc(c[c[K>>2]>>2]|0,c[(c[(c[w>>2]|0)+32>>2]|0)+(c[y>>2]<<2)>>2]|0)|0)){n=68;break a}}while(0);c[p>>2]=(c[p>>2]|0)+1}if((n|0)==68){n=0;a[E>>0]=1}do if(d[E>>0]|0){if(e[H>>1]&256)break;if(a[M>>0]|0){if((d[t>>0]^d[B>>0]|0)==(d[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+12>>0]|0))break;a[E>>0]=0;break}a[t>>0]=d[B>>0]^d[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+12>>0];if(a[t>>0]|0){h=$E(1,0,c[O>>2]|0)|0;f=c[P>>2]|0;j=f;g=c[j+4>>2]|D;c[f>>2]=c[j>>2]|h;c[f+4>>2]=g}a[M>>0]=1}while(0);if(!(a[E>>0]|0)){n=82;break}if((c[A>>2]|0)<0)a[Q>>0]=1;h=$E(1,0,c[p>>2]|0)|0;j=r;g=c[j+4>>2]|D;f=r;c[f>>2]=c[j>>2]|h;c[f+4>>2]=g}c[y>>2]=(c[y>>2]|0)+1}do if((n|0)==82){n=0;if((c[y>>2]|0)!=0?(c[y>>2]|0)>=(e[R>>1]|0):0)break;a[u>>0]=0}while(0);if(a[Q>>0]|0)a[u>>0]=1}b:do if(a[u>>0]|0){h=(c[x>>2]|0)+8|0;j=S;g=c[j+4>>2]|c[h+4>>2];f=S;c[f>>2]=c[j>>2]|c[h>>2];c[f+4>>2]=g;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[N>>1]|0))break b;g=$E(1,0,c[p>>2]|0)|0;f=r;do if(!((g&c[f>>2]|0)!=0?1:(D&c[f+4>>2]|0)!=0)){c[_>>2]=c[(c[(c[F>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];g=pv((c[J>>2]|0)+68|0,c[_>>2]|0)|0;f=$;c[f>>2]=g;c[f+4>>2]=D;f=$;if((c[f>>2]|0)==0&(c[f+4>>2]|0)==0?(Vs(c[_>>2]|0)|0)==0:0)break;g=$;f=S;if((c[g>>2]&~c[f>>2]|0)==0?(c[g+4>>2]&~c[f+4>>2]|0)==0:0){h=$E(1,0,c[p>>2]|0)|0;j=r;g=c[j+4>>2]|D;f=r;c[f>>2]=c[j>>2]|h;c[f+4>>2]=g}}while(0);c[p>>2]=(c[p>>2]|0)+1}}while(0);c[O>>2]=(c[O>>2]|0)+1}if((n|0)==16){if(a[m+29>>0]|0){h=v;g=c[h+4>>2]|0;f=r;c[f>>2]=c[h>>2];c[f+4>>2]=g}}else if((n|0)==38){a[o>>0]=0;f=a[o>>0]|0;i=s;return f|0}g=r;f=v;if((c[g>>2]|0)==(c[f>>2]|0)?(c[g+4>>2]|0)==(c[f+4>>2]|0):0){a[o>>0]=b[N>>1];f=a[o>>0]|0;i=s;return f|0}if(a[u>>0]|0){a[o>>0]=-1;f=a[o>>0]|0;i=s;return f|0}c[p>>2]=(e[N>>1]|0)-1;while(1){if((c[p>>2]|0)<=0){n=106;break}g=$E(1,0,c[p>>2]|0)|0;g=ZE(g|0,D|0,1,0)|0;h=q;c[h>>2]=g;c[h+4>>2]=D;h=r;g=q;f=q;t=c[p>>2]|0;if((c[h>>2]&c[g>>2]|0)==(c[f>>2]|0)?(c[h+4>>2]&c[g+4>>2]|0)==(c[f+4>>2]|0):0){n=104;break}c[p>>2]=t+ -1}if((n|0)==104){a[o>>0]=t;f=a[o>>0]|0;i=s;return f|0}else if((n|0)==106){a[o>>0]=0;f=a[o>>0]|0;i=s;return f|0}return 0}function tv(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;k=h+8|0;m=h+16|0;n=h+4|0;o=h;l=h+14|0;j=h+12|0;c[k>>2]=a;b[m>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[l>>1]=((dq(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;a=b[m>>1]|0;a=a+((uv(b[m>>1]|0)|0)<<16>>16)|0;b[j>>1]=a+(b[l>>1]|0)+16;if(!(e[(c[k>>2]|0)+34>>1]&1024)){o=b[j>>1]|0;i=h;return o|0}b[j>>1]=(b[j>>1]|0)+16;o=b[j>>1]|0;i=h;return o|0}function uv(a){a=a|0;var c=0,d=0;c=i;i=i+16|0;d=c;b[d>>1]=a;if((b[d>>1]|0)<=10){d=0;d=d&65535;i=c;return d|0}d=b[d>>1]|0;d=((dq(d,((d|0)<0)<<31>>31)|0)<<16>>16)-33|0;d=d&65535;i=c;return d|0}function vv(f,g,j){f=f|0;g=g|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,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;y=i;i=i+112|0;H=y+8|0;m=y+96|0;r=y+92|0;k=y;J=y+88|0;z=y+84|0;C=y+80|0;I=y+76|0;A=y+72|0;n=y+68|0;o=y+64|0;x=y+60|0;v=y+56|0;D=y+52|0;t=y+48|0;B=y+44|0;w=y+40|0;s=y+36|0;u=y+32|0;F=y+28|0;G=y+24|0;E=y+20|0;q=y+16|0;p=y+12|0;c[r>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=j;c[F>>2]=0;c[G>>2]=0;c[p>>2]=0;c[J>>2]=c[c[r>>2]>>2];c[z>>2]=c[c[J>>2]>>2];c[n>>2]=c[c[z>>2]>>2];c[C>>2]=c[(c[r>>2]|0)+4>>2];c[q>>2]=c[(c[r>>2]|0)+12>>2];c[I>>2]=(c[(c[J>>2]|0)+4>>2]|0)+8+((d[(c[q>>2]|0)+16>>0]|0)*72|0);c[A>>2]=c[(c[I>>2]|0)+16>>2];c[o>>2]=Nv(c[z>>2]|0,c[C>>2]|0,c[I>>2]|0,c[(c[r>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){c[m>>2]=7;J=c[m>>2]|0;i=y;return J|0}J=c[q>>2]|0;c[J>>2]=0;c[J+4>>2]=0;b[(c[q>>2]|0)+18>>1]=0;c[(c[q>>2]|0)+36>>2]=1024;b[(c[q>>2]|0)+40>>1]=0;a[(c[q>>2]|0)+28>>0]=0;c[v>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=c[c[o>>2]>>2];if(nv(c[n>>2]|0,c[q>>2]|0,c[u>>2]|0)|0){Xb(c[n>>2]|0,c[o>>2]|0);c[m>>2]=7;J=c[m>>2]|0;i=y;return J|0}c[E>>2]=0;a:while(1){if((c[E>>2]|0)>3)break;if(((c[F>>2]|0)==0?(c[E>>2]&1|0)!=0:0)?(c[E>>2]=(c[E>>2]|0)+1,(c[E>>2]|0)>3):0)break;if((c[G>>2]|0)==0&(c[E>>2]|0)>1)break;c[x>>2]=c[(c[o>>2]|0)+4>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[B>>2]=c[(c[x>>2]|0)+8>>2];c[D>>2]=(c[(c[C>>2]|0)+20>>2]|0)+((c[B>>2]|0)*48|0);j=c[E>>2]|0;do if((j|0)==2)a[(c[x>>2]|0)+5>>0]=(e[(c[D>>2]|0)+18>>1]&1|0)==0;else if((j|0)==1){J=(c[D>>2]|0)+32|0;a[(c[x>>2]|0)+5>>0]=(c[J>>2]|0)==0&(c[J+4>>2]|0)==0&1}else if(!j){a[(c[x>>2]|0)+5>>0]=0;if(e[(c[D>>2]|0)+18>>1]&1)c[F>>2]=1;J=(c[D>>2]|0)+32|0;if((c[J>>2]|0)!=0|(c[J+4>>2]|0)!=0){c[G>>2]=1;break}if(!(e[(c[D>>2]|0)+18>>1]&1))a[(c[x>>2]|0)+5>>0]=1}else a[(c[x>>2]|0)+5>>0]=1;while(0);c[t>>2]=(c[t>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}_E(c[v>>2]|0,0,c[c[o>>2]>>2]<<3|0)|0;if(c[(c[o>>2]|0)+28>>2]|0)hc(c[(c[o>>2]|0)+24>>2]|0);c[(c[o>>2]|0)+24>>2]=0;c[(c[o>>2]|0)+20>>2]=0;c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;h[(c[o>>2]|0)+40>>3]=5.0e+98;J=(c[o>>2]|0)+48|0;c[J>>2]=25;c[J+4>>2]=0;c[p>>2]=Ov(c[z>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)break;c[x>>2]=c[(c[o>>2]|0)+4>>2];f=k;I=c[f+4>>2]|0;J=c[q>>2]|0;c[J>>2]=c[f>>2];c[J+4>>2]=I;c[s>>2]=-1;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;c[(c[(c[q>>2]|0)+44>>2]|0)+(c[t>>2]<<2)>>2]=0;c[t>>2]=(c[t>>2]|0)+1}b[(c[q>>2]|0)+30>>1]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;J=(c[(c[v>>2]|0)+(c[t>>2]<<3)>>2]|0)-1|0;c[w>>2]=J;if((J|0)>=0){c[B>>2]=c[(c[x>>2]|0)+8>>2];if((c[B>>2]|0)<0?1:(c[w>>2]|0)>=(c[u>>2]|0)){l=36;break a}if((c[B>>2]|0)>=(c[(c[C>>2]|0)+12>>2]|0)){l=36;break a}if(c[(c[(c[q>>2]|0)+44>>2]|0)+(c[w>>2]<<2)>>2]|0){l=36;break a}c[D>>2]=(c[(c[C>>2]|0)+20>>2]|0)+((c[B>>2]|0)*48|0);f=(c[D>>2]|0)+32|0;J=c[q>>2]|0;g=J;I=c[g+4>>2]|c[f+4>>2];c[J>>2]=c[g>>2]|c[f>>2];c[J+4>>2]=I;c[(c[(c[q>>2]|0)+44>>2]|0)+(c[w>>2]<<2)>>2]=c[D>>2];if((c[w>>2]|0)>(c[s>>2]|0))c[s>>2]=c[w>>2];if((c[w>>2]|0)<16?(d[(c[v>>2]|0)+(c[t>>2]<<3)+4>>0]|0)!=0:0){J=(c[q>>2]|0)+30|0;b[J>>1]=e[J>>1]|1<>2]}if(e[(c[D>>2]|0)+18>>1]&1){if(!(d[(c[v>>2]|0)+(c[t>>2]<<3)+4>>0]|0))break;c[(c[o>>2]|0)+32>>2]=0}}c[t>>2]=(c[t>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}if((c[t>>2]|0)>=(c[u>>2]|0)){b[(c[q>>2]|0)+40>>1]=(c[s>>2]|0)+1;c[(c[q>>2]|0)+24>>2]=c[(c[o>>2]|0)+20>>2];a[(c[q>>2]|0)+28>>0]=c[(c[o>>2]|0)+28>>2];c[(c[o>>2]|0)+28>>2]=0;c[(c[q>>2]|0)+32>>2]=c[(c[o>>2]|0)+24>>2];if(c[(c[o>>2]|0)+32>>2]|0)j=c[(c[o>>2]|0)+8>>2]|0;else j=0;a[(c[q>>2]|0)+29>>0]=j;b[(c[q>>2]|0)+18>>1]=0;J=Pv(+h[(c[o>>2]|0)+40>>3])|0;b[(c[q>>2]|0)+20>>1]=J;J=(c[o>>2]|0)+48|0;J=dq(c[J>>2]|0,c[J+4>>2]|0)|0;b[(c[q>>2]|0)+22>>1]=J;Av(c[r>>2]|0,c[q>>2]|0)|0;if(a[(c[q>>2]|0)+28>>0]|0){hc(c[(c[q>>2]|0)+32>>2]|0);a[(c[q>>2]|0)+28>>0]=0}}c[E>>2]=(c[E>>2]|0)+1}if((l|0)==36){c[p>>2]=1;J=c[z>>2]|0;c[H>>2]=c[c[A>>2]>>2];Se(J,24088,H)}if(c[(c[o>>2]|0)+28>>2]|0)hc(c[(c[o>>2]|0)+24>>2]|0);Xb(c[n>>2]|0,c[o>>2]|0);c[m>>2]=c[p>>2];J=c[m>>2]|0;i=y;return J|0}function wv(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,A=0,B=0,C=0,E=0,F=0;k=i;i=i+144|0;n=k+128|0;m=k+8|0;r=k+124|0;v=k+120|0;A=k+64|0;C=k+140|0;B=k+136|0;F=k+56|0;o=k+52|0;z=k+48|0;j=k+44|0;s=k+40|0;p=k+36|0;t=k+134|0;x=k+132|0;q=k+32|0;u=k+28|0;E=k+24|0;w=k+20|0;y=k+16|0;l=k;c[n>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;b[B>>1]=-1;c[j>>2]=0;c[s>>2]=1;c[z>>2]=c[(c[n>>2]|0)+12>>2];c[r>>2]=c[c[n>>2]>>2];c[F>>2]=c[(c[r>>2]|0)+4>>2];c[o>>2]=(c[F>>2]|0)+8+((d[(c[z>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[o>>2]|0)+16>>2];c[q>>2]=c[(c[n>>2]|0)+4>>2];do if(c[(c[o>>2]|0)+68>>2]|0)c[v>>2]=c[(c[o>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+44>>0]&32){c[v>>2]=c[(c[u>>2]|0)+8>>2];break}g=A+0|0;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[A+50>>1]=1;b[A+52>>1]=1;c[A+4>>2]=B;c[A+8>>2]=C;a[A+54>>0]=5;c[A+12>>2]=c[u>>2];b[A+48>>1]=b[(c[u>>2]|0)+42>>1]|0;b[C>>1]=b[(c[u>>2]|0)+28>>1]|0;b[C+2>>1]=0;c[E>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[o>>2]|0)+37>>0]&1))c[A+20>>2]=c[E>>2];c[v>>2]=A}while(0);b[t>>1]=b[(c[u>>2]|0)+28>>1]|0;b[x>>1]=uv(b[t>>1]|0)|0;a:do if((((((((c[(c[n>>2]|0)+16>>2]|0)==0?(c[(c[c[c[r>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[o>>2]|0)+68>>2]|0)==0:0)?((d[(c[o>>2]|0)+37>>0]|0)>>>2&1|0)==0:0)?(a[(c[o>>2]|0)+37>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+44>>0]&32|0)==0:0)?((d[(c[o>>2]|0)+37>>0]|0)>>>1&1|0)==0:0)?((d[(c[o>>2]|0)+37>>0]|0)>>>3&1|0)==0:0){c[y>>2]=(c[(c[q>>2]|0)+20>>2]|0)+((c[(c[q>>2]|0)+12>>2]|0)*48|0);c[w>>2]=c[(c[q>>2]|0)+20>>2];while(1){if(c[j>>2]|0)break a;if((c[w>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break a;f=(c[w>>2]|0)+32|0;F=(c[z>>2]|0)+8|0;if(!((c[f>>2]&c[F>>2]|0)!=0?1:(c[f+4>>2]&c[F+4>>2]|0)!=0)?(mv(c[w>>2]|0,c[o>>2]|0,0,0)|0)!=0:0){b[(c[z>>2]|0)+24>>1]=1;b[(c[z>>2]|0)+26>>1]=0;c[(c[z>>2]|0)+28>>2]=0;b[(c[z>>2]|0)+40>>1]=1;c[c[(c[z>>2]|0)+44>>2]>>2]=c[w>>2];b[(c[z>>2]|0)+18>>1]=(b[x>>1]|0)+(b[t>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+44>>0]&2|0)==0:0){F=(c[z>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[z>>2]|0)+22>>1]=43;h=rv(b[x>>1]|0,b[(c[z>>2]|0)+22>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=h;c[(c[z>>2]|0)+36>>2]=16384;h=m;g=(c[w>>2]|0)+32|0;f=c[h+4>>2]|c[g+4>>2];F=c[z>>2]|0;c[F>>2]=c[h>>2]|c[g>>2];c[F+4>>2]=f;c[j>>2]=Av(c[n>>2]|0,c[z>>2]|0)|0}c[w>>2]=(c[w>>2]|0)+48}}while(0);b:while(1){if(!((c[j>>2]|0)==0&(c[v>>2]|0)!=0)){l=47;break}if(!((c[(c[v>>2]|0)+36>>2]|0)!=0?(Fv(c[(c[o>>2]|0)+40>>2]|0,c[q>>2]|0,c[(c[v>>2]|0)+36>>2]|0)|0)==0:0)){b[t>>1]=b[c[(c[v>>2]|0)+8>>2]>>1]|0;b[(c[z>>2]|0)+24>>1]=0;b[(c[z>>2]|0)+26>>1]=0;b[(c[z>>2]|0)+40>>1]=0;a[(c[z>>2]|0)+17>>0]=0;b[(c[z>>2]|0)+18>>1]=0;g=m;f=c[g+4>>2]|0;F=c[z>>2]|0;c[F>>2]=c[g>>2];c[F+4>>2]=f;b[(c[z>>2]|0)+22>>1]=b[t>>1]|0;c[(c[z>>2]|0)+28>>2]=c[v>>2];c[p>>2]=Gv(c[n>>2]|0,c[v>>2]|0,c[(c[o>>2]|0)+40>>2]|0)|0;do if((c[(c[v>>2]|0)+44>>2]|0)<=0){c[(c[z>>2]|0)+36>>2]=256;a[(c[z>>2]|0)+17>>0]=(c[p>>2]|0)!=0?c[s>>2]|0:0;b[(c[z>>2]|0)+20>>1]=(b[t>>1]|0)+16;Hv(c[q>>2]|0,c[z>>2]|0,b[t>>1]|0);c[j>>2]=Av(c[n>>2]|0,c[z>>2]|0)|0;b[(c[z>>2]|0)+22>>1]=b[t>>1]|0;if(c[j>>2]|0){l=47;break b}}else{if((d[(c[v>>2]|0)+55>>0]|0)>>>5&1){c[(c[z>>2]|0)+36>>2]=576;F=l;c[F>>2]=0;c[F+4>>2]=0}else{f=(c[o>>2]|0)+56|0;h=c[f>>2]|0;f=c[f+4>>2]|0;g=Iv(c[v>>2]|0)|0;F=l;c[F>>2]=h&~g;c[F+4>>2]=f&~D;F=l;c[(c[z>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[p>>2]|0)==0?(d[(c[u>>2]|0)+44>>0]&32|0)==0:0){F=l;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[v>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[v>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+42>>1]|0))break;if(e[(c[r>>2]|0)+34>>1]&4)break;if(!(c[9664]|0))break;if(e[(c[c[c[r>>2]>>2]>>2]|0)+60>>1]&64)break}a[(c[z>>2]|0)+17>>0]=(c[p>>2]|0)!=0?c[s>>2]|0:0;b[(c[z>>2]|0)+20>>1]=(b[t>>1]|0)+1+(((b[(c[v>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+42>>1]|0)|0);F=l;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=rv(b[(c[z>>2]|0)+20>>1]|0,(b[t>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=F}Hv(c[q>>2]|0,c[z>>2]|0,b[t>>1]|0);c[j>>2]=Av(c[n>>2]|0,c[z>>2]|0)|0;b[(c[z>>2]|0)+22>>1]=b[t>>1]|0;if(c[j>>2]|0){l=47;break b}}while(0);c[j>>2]=Jv(c[n>>2]|0,c[o>>2]|0,c[v>>2]|0,0)|0;if(c[(c[o>>2]|0)+68>>2]|0){l=47;break}}c[v>>2]=c[(c[v>>2]|0)+20>>2];c[s>>2]=(c[s>>2]|0)+1}if((l|0)==47){i=k;return c[j>>2]|0}return 0}function xv(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,A=0,B=0,C=0,D=0,E=0,F=0;t=i;i=i+672|0;x=t+660|0;l=t+576|0;F=t+656|0;p=t+652|0;m=t+648|0;q=t+644|0;s=t+640|0;r=t+636|0;o=t+632|0;B=t+168|0;y=t+612|0;D=t+112|0;j=t+56|0;n=t+608|0;u=t+604|0;v=t+600|0;A=t+596|0;w=t+592|0;C=t+588|0;E=t+584|0;z=t;c[x>>2]=f;f=l;c[f>>2]=g;c[f+4>>2]=h;c[F>>2]=c[c[x>>2]>>2];c[r>>2]=0;c[p>>2]=c[(c[x>>2]|0)+4>>2];c[s>>2]=(c[(c[p>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*48|0);c[m>>2]=c[(c[x>>2]|0)+12>>2];g=D+0|0;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[n>>2]=(c[(c[F>>2]|0)+4>>2]|0)+8+((d[(c[m>>2]|0)+16>>0]|0)*72|0);c[o>>2]=c[(c[n>>2]|0)+40>>2];c[q>>2]=c[(c[p>>2]|0)+20>>2];while(1){if(!((c[r>>2]|0)==0?(c[q>>2]|0)>>>0<(c[s>>2]|0)>>>0:0))break;a:do if((e[(c[q>>2]|0)+18>>1]&256|0)!=0?(g=(c[(c[q>>2]|0)+12>>2]|0)+408|0,f=(c[m>>2]|0)+8|0,(c[g>>2]&c[f>>2]|0)!=0?1:(c[g+4>>2]&c[f+4>>2]|0)!=0):0){c[u>>2]=c[(c[q>>2]|0)+12>>2];c[v>>2]=(c[(c[u>>2]|0)+20>>2]|0)+((c[(c[u>>2]|0)+12>>2]|0)*48|0);c[w>>2]=1;f=c[x>>2]|0;c[y+0>>2]=c[f+0>>2];c[y+4>>2]=c[f+4>>2];c[y+8>>2]=c[f+8>>2];c[y+12>>2]=c[f+12>>2];c[y+16>>2]=c[f+16>>2];c[y+8>>2]=0;c[y+16>>2]=j;c[A>>2]=c[(c[u>>2]|0)+20>>2];b:while(1){if((c[A>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;F=c[A>>2]|0;if(!(e[(c[A>>2]|0)+18>>1]&512)){if((c[F+8>>2]|0)==(c[o>>2]|0)){c[B>>2]=c[c[p>>2]>>2];c[B+4>>2]=c[p>>2];a[B+8>>0]=72;c[B+12>>2]=1;c[B+20>>2]=c[A>>2];c[y+4>>2]=B;k=11}}else{c[y+4>>2]=c[F+12>>2];k=11}c:do if((k|0)==11){k=0;b[j>>1]=0;F=l;h=c[F>>2]|0;F=c[F+4>>2]|0;if(d[(c[(c[n>>2]|0)+16>>2]|0)+44>>0]&16)c[r>>2]=vv(y,h,F)|0;else c[r>>2]=wv(y,h,F)|0;if(!(c[r>>2]|0)){f=l;c[r>>2]=xv(y,c[f>>2]|0,c[f+4>>2]|0)|0}if(!(e[j>>1]|0)){k=17;break b}if(c[w>>2]|0){yv(D,j);c[w>>2]=0;break}yv(z,D);b[D>>1]=0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[z>>1]|0))break c;c[E>>2]=0;while(1){F=c[C>>2]|0;if((c[E>>2]|0)>=(e[j>>1]|0))break;f=z+8+(F<<4)|0;g=j+8+(c[E>>2]<<4)|0;h=c[f>>2]|c[g>>2];g=c[f+4>>2]|c[g+4>>2];f=rv(b[z+8+(c[C>>2]<<4)+8>>1]|0,b[j+8+(c[E>>2]<<4)+8>>1]|0)|0;zv(D,h,g,f,rv(b[z+8+(c[C>>2]<<4)+10>>1]|0,b[j+8+(c[E>>2]<<4)+10>>1]|0)|0)|0;c[E>>2]=(c[E>>2]|0)+1}c[C>>2]=F+1}}while(0);c[A>>2]=(c[A>>2]|0)+48}if((k|0)==17){k=0;b[D>>1]=0}b[(c[m>>2]|0)+40>>1]=1;c[c[(c[m>>2]|0)+44>>2]>>2]=c[q>>2];c[(c[m>>2]|0)+36>>2]=8192;b[(c[m>>2]|0)+18>>1]=0;a[(c[m>>2]|0)+17>>0]=0;f=(c[m>>2]|0)+24|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[C>>2]=0;while(1){if(c[r>>2]|0)break a;if((c[C>>2]|0)>=(e[D>>1]|0))break a;b[(c[m>>2]|0)+20>>1]=(b[D+8+(c[C>>2]<<4)+8>>1]|0)+1;b[(c[m>>2]|0)+22>>1]=b[D+8+(c[C>>2]<<4)+10>>1]|0;h=D+8+(c[C>>2]<<4)|0;g=c[h+4>>2]|0;f=c[m>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=g;c[r>>2]=Av(c[x>>2]|0,c[m>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+48}i=t;return c[r>>2]|0}function yv(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;dF((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function zv(a,d,f,g,h){a=a|0;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,q=0,r=0;k=i;i=i+32|0;q=k+16|0;p=k+12|0;n=k;o=k+24|0;l=k+22|0;j=k+20|0;m=k+8|0;c[p>>2]=a;a=n;c[a>>2]=d;c[a+4>>2]=f;b[o>>1]=g;b[l>>1]=h;b[j>>1]=b[c[p>>2]>>1]|0;c[m>>2]=(c[p>>2]|0)+8;while(1){if((e[j>>1]|0)<=0){r=9;break}if((b[o>>1]|0)<=(b[(c[m>>2]|0)+8>>1]|0)?(f=n,d=c[m>>2]|0,a=n,(c[f>>2]&c[d>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]&c[d+4>>2]|0)==(c[a+4>>2]|0):0):0)break;if((b[(c[m>>2]|0)+8>>1]|0)<=(b[o>>1]|0)?(f=c[m>>2]|0,d=n,a=c[m>>2]|0,(c[f>>2]&c[d>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]&c[d+4>>2]|0)==(c[a+4>>2]|0):0):0){r=7;break}b[j>>1]=(b[j>>1]|0)+ -1<<16>>16;c[m>>2]=(c[m>>2]|0)+16}if((r|0)==7){c[q>>2]=0;a=c[q>>2]|0;i=k;return a|0}do if((r|0)==9){r=c[p>>2]|0;if((e[c[p>>2]>>1]|0)<3){a=b[r>>1]|0;b[r>>1]=a+1<<16>>16;c[m>>2]=(c[p>>2]|0)+8+((a&65535)<<4);b[(c[m>>2]|0)+10>>1]=b[l>>1]|0;break}c[m>>2]=r+8;b[j>>1]=1;while(1){r=b[(c[m>>2]|0)+8>>1]|0;if((e[j>>1]|0)>=(e[c[p>>2]>>1]|0))break;if((r|0)>(b[(c[p>>2]|0)+8+(e[j>>1]<<4)+8>>1]|0))c[m>>2]=(c[p>>2]|0)+8+(e[j>>1]<<4);b[j>>1]=(b[j>>1]|0)+1<<16>>16}if((r|0)<=(b[o>>1]|0)){c[q>>2]=0;a=c[q>>2]|0;i=k;return a|0}}while(0);f=n;d=c[f+4>>2]|0;a=c[m>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=d;b[(c[m>>2]|0)+8>>1]=b[o>>1]|0;if((b[(c[m>>2]|0)+10>>1]|0)>(b[l>>1]|0))b[(c[m>>2]|0)+10>>1]=b[l>>1]|0;c[q>>2]=1;a=c[q>>2]|0;i=k;return a|0}function Av(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+48|0;f=k+36|0;h=k+32|0;g=k+28|0;l=k+24|0;e=k+20|0;p=k+16|0;j=k+12|0;n=k+8|0;o=k+4|0;m=k;c[h>>2]=a;c[g>>2]=d;c[p>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[c[p>>2]>>2]>>2];if(c[(c[h>>2]|0)+16>>2]|0){a=c[g>>2]|0;zv(c[(c[h>>2]|0)+16>>2]|0,c[a>>2]|0,c[a+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0;c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}Bv(c[(c[p>>2]|0)+16>>2]|0,c[g>>2]|0);c[l>>2]=Cv((c[p>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[l>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}c[e>>2]=c[c[l>>2]>>2];a:do if(!(c[e>>2]|0)){a=Qe(c[j>>2]|0,72,0)|0;c[e>>2]=a;c[c[l>>2]>>2]=a;if(c[e>>2]|0){Ou(c[e>>2]|0);c[(c[e>>2]|0)+48>>2]=0;break}c[f>>2]=7;a=c[f>>2]|0;i=k;return a|0}else{c[n>>2]=(c[e>>2]|0)+48;while(1){if(!(c[c[n>>2]>>2]|0))break a;c[n>>2]=Cv(c[n>>2]|0,c[g>>2]|0)|0;if(!(c[n>>2]|0))break a;c[o>>2]=c[c[n>>2]>>2];if(!(c[o>>2]|0))break a;c[c[n>>2]>>2]=c[(c[o>>2]|0)+48>>2];Lu(c[j>>2]|0,c[o>>2]|0)}}while(0);Dv(c[j>>2]|0,c[e>>2]|0,c[g>>2]|0)|0;if(((c[(c[e>>2]|0)+36>>2]&1024|0)==0?(c[m>>2]=c[(c[e>>2]|0)+28>>2],(c[m>>2]|0)!=0):0)?(c[(c[m>>2]|0)+44>>2]|0)==0:0)c[(c[e>>2]|0)+28>>2]=0;c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}function Bv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=e;if(!(c[(c[h>>2]|0)+36>>2]&512)){i=f;return}if(!((c[g>>2]|0)!=0?(c[(c[h>>2]|0)+36>>2]&32768|0)==0:0)){i=f;return}do{do if(((d[(c[g>>2]|0)+16>>0]|0)==(d[(c[h>>2]|0)+16>>0]|0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&32768|0)==0:0){if(Ev(c[g>>2]|0,c[h>>2]|0)|0){b[(c[h>>2]|0)+20>>1]=b[(c[g>>2]|0)+20>>1]|0;b[(c[h>>2]|0)+22>>1]=(b[(c[g>>2]|0)+22>>1]|0)-1;break}if(Ev(c[h>>2]|0,c[g>>2]|0)|0){b[(c[h>>2]|0)+20>>1]=b[(c[g>>2]|0)+20>>1]|0;b[(c[h>>2]|0)+22>>1]=(b[(c[g>>2]|0)+22>>1]|0)+1}}while(0);c[g>>2]=c[(c[g>>2]|0)+48>>2]}while((c[g>>2]|0)!=0);i=f;return}function Cv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+16|0;g=h+12|0;f=h+8|0;k=h+4|0;j=h;c[f>>2]=a;c[k>>2]=e;c[j>>2]=c[c[f>>2]>>2];while(1){if(!(c[j>>2]|0)){e=18;break}if((d[(c[j>>2]|0)+16>>0]|0)==(d[(c[k>>2]|0)+16>>0]|0)?(d[(c[j>>2]|0)+17>>0]|0)==(d[(c[k>>2]|0)+17>>0]|0):0){if((((c[(c[j>>2]|0)+36>>2]&16384|0)!=0?(c[(c[k>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[k>>2]|0)+36>>2]&1|0)!=0:0)?(l=c[j>>2]|0,e=c[k>>2]|0,a=c[k>>2]|0,(c[l>>2]&c[e>>2]|0)==(c[a>>2]|0)?(c[l+4>>2]&c[e+4>>2]|0)==(c[a+4>>2]|0):0):0){e=18;break}e=c[j>>2]|0;a=c[k>>2]|0;l=c[j>>2]|0;if(((((c[e>>2]&c[a>>2]|0)==(c[l>>2]|0)?(c[e+4>>2]&c[a+4>>2]|0)==(c[l+4>>2]|0):0)?(b[(c[j>>2]|0)+18>>1]|0)<=(b[(c[k>>2]|0)+18>>1]|0):0)?(b[(c[j>>2]|0)+20>>1]|0)<=(b[(c[k>>2]|0)+20>>1]|0):0)?(b[(c[j>>2]|0)+22>>1]|0)<=(b[(c[k>>2]|0)+22>>1]|0):0){e=13;break}e=c[j>>2]|0;a=c[k>>2]|0;l=c[k>>2]|0;if((((c[e>>2]&c[a>>2]|0)==(c[l>>2]|0)?(c[e+4>>2]&c[a+4>>2]|0)==(c[l+4>>2]|0):0)?(b[(c[j>>2]|0)+20>>1]|0)>=(b[(c[k>>2]|0)+20>>1]|0):0)?(b[(c[j>>2]|0)+22>>1]|0)>=(b[(c[k>>2]|0)+22>>1]|0):0){e=18;break}}c[f>>2]=(c[j>>2]|0)+48;c[j>>2]=c[c[f>>2]>>2]}if((e|0)==13){c[g>>2]=0;l=c[g>>2]|0;i=h;return l|0}else if((e|0)==18){c[g>>2]=c[f>>2];l=c[g>>2]|0;i=h;return l|0}return 0}function Dv(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;k=i;i=i+16|0;h=k+12|0;n=k+8|0;l=k+4|0;j=k;c[n>>2]=d;c[l>>2]=f;c[j>>2]=g;Nu(c[n>>2]|0,c[l>>2]|0);n=(nv(c[n>>2]|0,c[l>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;d=c[l>>2]|0;if(n){n=d+24|0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[h>>2]=7;n=c[h>>2]|0;i=k;return n|0}f=c[j>>2]|0;n=d+0|0;m=f+0|0;g=n+40|0;do{c[n>>2]=c[m>>2];n=n+4|0;m=m+4|0}while((n|0)<(g|0));b[d+40>>1]=b[f+40>>1]|0;dF(c[(c[l>>2]|0)+44>>2]|0,c[(c[j>>2]|0)+44>>2]|0,(e[(c[l>>2]|0)+40>>1]|0)<<2|0)|0;l=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[l+36>>2]&16384)c[(c[j>>2]|0)+28>>2]=0}else a[l+28>>0]=0;c[h>>2]=0;n=c[h>>2]|0;i=k;return n|0}function Ev(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;k=f+8|0;j=f+4|0;l=f;c[h>>2]=a;c[k>>2]=d;if((e[(c[h>>2]|0)+40>>1]|0)>=(e[(c[k>>2]|0)+40>>1]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if((b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[k>>2]|0)+20>>1]|0)){if((b[(c[h>>2]|0)+20>>1]|0)>(b[(c[k>>2]|0)+20>>1]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if((b[(c[h>>2]|0)+22>>1]|0)>(b[(c[k>>2]|0)+22>>1]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}}c[j>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0){d=17;break}c[l>>2]=(e[(c[k>>2]|0)+40>>1]|0)-1;while(1){if((c[l>>2]|0)<0)break;if((c[(c[(c[k>>2]|0)+44>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[(c[h>>2]|0)+44>>2]|0)+(c[j>>2]<<2)>>2]|0))break;c[l>>2]=(c[l>>2]|0)+ -1}if((c[l>>2]|0)<0){d=15;break}c[j>>2]=(c[j>>2]|0)+ -1}if((d|0)==15){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}else if((d|0)==17){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}return 0}function Fv(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,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;l=e+12|0;j=e+8|0;k=e+4|0;h=e;c[g>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=0;c[h>>2]=c[(c[l>>2]|0)+20>>2];while(1){if((c[k>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)){g=6;break}if(Mv(c[c[h>>2]>>2]|0,c[j>>2]|0,c[g>>2]|0)|0){g=4;break}c[k>>2]=(c[k>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+48}if((g|0)==4){c[f>>2]=1;a=c[f>>2]|0;i=e;return a|0}else if((g|0)==6){c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}return 0}function Gv(a,f,g){a=a|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;j=i;i=i+32|0;h=j+28|0;q=j+24|0;m=j+20|0;k=j+16|0;o=j+12|0;p=j+8|0;l=j+4|0;n=j;c[q>>2]=a;c[m>>2]=f;c[k>>2]=g;if((d[(c[m>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}a=c[(c[c[q>>2]>>2]|0)+8>>2]|0;c[o>>2]=a;if(!a){c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}c[p>>2]=0;a:while(1){if((c[p>>2]|0)>=(c[c[o>>2]>>2]|0)){k=18;break}c[n>>2]=iq(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)|0;if((d[c[n>>2]>>0]|0)!=154){k=8;break}b:do if((c[(c[n>>2]|0)+28>>2]|0)==(c[k>>2]|0)){if((b[(c[n>>2]|0)+32>>1]|0)<0){k=11;break a}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0))break b;if((b[(c[n>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)){k=15;break a}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[p>>2]=(c[p>>2]|0)+1}if((k|0)==8){c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}else if((k|0)==11){c[h>>2]=1;a=c[h>>2]|0;i=j;return a|0}else if((k|0)==15){c[h>>2]=1;a=c[h>>2]|0;i=j;return a|0}else if((k|0)==18){c[h>>2]=0;a=c[h>>2]|0;i=j;return a|0}return 0}function Hv(a,f,g){a=a|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;n=i;i=i+48|0;p=n+32|0;j=n+28|0;k=n+36|0;m=n+24|0;o=n+20|0;q=n;r=n+16|0;h=n+12|0;l=n+8|0;c[p>>2]=a;c[j>>2]=f;b[k>>1]=g;s=c[j>>2]|0;g=(c[j>>2]|0)+8|0;f=~(c[s+4>>2]|c[g+4>>2]);a=q;c[a>>2]=~(c[s>>2]|c[g>>2]);c[a+4>>2]=f;c[l>>2]=0;c[r>>2]=c[(c[p>>2]|0)+12>>2];c[m>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[r>>2]|0)<=0)break;if(d[(c[m>>2]|0)+20>>0]&2)break;a=(c[m>>2]|0)+40|0;s=(c[j>>2]|0)+8|0;do if(!((c[a>>2]&c[s>>2]|0)==0?(c[a+4>>2]&c[s+4>>2]|0)==0:0)?(a=(c[m>>2]|0)+40|0,s=q,!((c[a>>2]&c[s>>2]|0)!=0?1:(c[a+4>>2]&c[s+4>>2]|0)!=0)):0){c[h>>2]=(e[(c[j>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[o>>2]=c[(c[(c[j>>2]|0)+44>>2]|0)+(c[h>>2]<<2)>>2];if(c[o>>2]|0){if((c[o>>2]|0)==(c[m>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=0?((c[(c[p>>2]|0)+20>>2]|0)+((c[(c[o>>2]|0)+4>>2]|0)*48|0)|0)==(c[m>>2]|0):0)break}c[h>>2]=(c[h>>2]|0)+ -1}if((c[h>>2]|0)<0){if((b[(c[m>>2]|0)+16>>1]|0)<=0){s=(c[j>>2]|0)+22|0;b[s>>1]=(b[s>>1]|0)+(b[(c[m>>2]|0)+16>>1]|0);break}s=(c[j>>2]|0)+22|0;b[s>>1]=(b[s>>1]|0)+ -1<<16>>16;if(e[(c[m>>2]|0)+18>>1]&2)c[l>>2]=(c[l>>2]|0)+1}}while(0);c[r>>2]=(c[r>>2]|0)+ -1;c[m>>2]=(c[m>>2]|0)+48}if(!(c[l>>2]|0)){i=n;return}if((b[(c[j>>2]|0)+22>>1]|0)<=((b[k>>1]|0)-10|0)){i=n;return}b[(c[j>>2]|0)+22>>1]=(b[k>>1]|0)-10;i=n;return}function Iv(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+16|0;d=f;h=f+12|0;j=f+8|0;c[g>>2]=a;a=d;c[a>>2]=0;c[a+4>>2]=0;c[h>>2]=(e[(c[g>>2]|0)+52>>1]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];if((c[j>>2]|0)>=0&(c[j>>2]|0)<63){l=$E(1,0,c[j>>2]|0)|0;m=d;k=c[m+4>>2]|D;a=d;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[h>>2]=(c[h>>2]|0)+ -1}m=d;D=c[m+4>>2]|0;i=f;return c[m>>2]|0}function Jv(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,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;C=i;i=i+224|0;y=C+188|0;k=C+184|0;F=C+180|0;D=C+176|0;E=C+212|0;P=C+172|0;x=C+168|0;J=C+164|0;n=C+160|0;w=C+156|0;O=C+152|0;K=C+40|0;m=C;s=C+210|0;o=C+208|0;p=C+206|0;q=C+36|0;r=C+204|0;v=C+32|0;t=C+28|0;M=C+202|0;H=C+200|0;A=C+24|0;z=C+20|0;N=C+198|0;I=C+196|0;G=C+194|0;L=C+192|0;B=C+16|0;l=C+12|0;u=C+8|0;c[k>>2]=f;c[F>>2]=g;c[D>>2]=h;b[E>>1]=j;c[P>>2]=c[c[k>>2]>>2];c[x>>2]=c[c[P>>2]>>2];c[J>>2]=c[c[x>>2]>>2];c[t>>2]=0;c[A>>2]=0;c[z>>2]=0;c[n>>2]=c[(c[k>>2]|0)+12>>2];if(a[(c[J>>2]|0)+64>>0]|0){c[y>>2]=7;P=c[y>>2]|0;i=C;return P|0}do if(c[(c[n>>2]|0)+36>>2]&32)c[O>>2]=24;else{if((c[(c[D>>2]|0)+44>>2]|0)>0?(d[(c[F>>2]|0)+36>>0]&8|0)==0:0){c[O>>2]=191;break}c[O>>2]=63}while(0);if((d[(c[D>>2]|0)+55>>0]|0)>>>2&1)c[O>>2]=c[O>>2]&-61;c[v>>2]=b[(c[(c[D>>2]|0)+4>>2]|0)+(e[(c[n>>2]|0)+24>>1]<<1)>>1];c[w>>2]=iv(K,c[(c[k>>2]|0)+4>>2]|0,c[(c[F>>2]|0)+40>>2]|0,c[v>>2]|0,c[O>>2]|0,c[D>>2]|0)|0;b[o>>1]=b[(c[n>>2]|0)+24>>1]|0;b[p>>1]=b[(c[n>>2]|0)+26>>1]|0;b[s>>1]=b[(c[n>>2]|0)+40>>1]|0;c[q>>2]=c[(c[n>>2]|0)+36>>2];g=c[n>>2]|0;f=c[g+4>>2]|0;P=m;c[P>>2]=c[g>>2];c[P+4>>2]=f;b[r>>1]=b[(c[n>>2]|0)+22>>1]|0;b[(c[n>>2]|0)+18>>1]=0;b[M>>1]=b[c[(c[D>>2]|0)+8>>2]>>1]|0;b[H>>1]=uv(b[M>>1]|0)|0;if((((e[o>>1]|0)==(e[p>>1]|0)?((e[o>>1]|0)+1|0)<(e[(c[D>>2]|0)+50>>1]|0):0)?(b[(c[(c[D>>2]|0)+8>>2]|0)+((e[o>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=nv(c[J>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0,c[t>>2]=P,(P|0)==0):0){f=(c[n>>2]|0)+24|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[n>>2]|0)+26|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;f=(c[n>>2]|0)+40|0;P=b[f>>1]|0;b[f>>1]=P+1<<16>>16;c[(c[(c[n>>2]|0)+44>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[N>>1]=(b[(c[(c[D>>2]|0)+8>>2]|0)+(e[o>>1]<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+8>>2]|0)+((e[o>>1]|0)+1<<1)>>1]|0);if(c[w>>2]|0)b[N>>1]=(b[N>>1]|0)+10;P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[N>>1]|0);b[N>>1]=(b[N>>1]|0)+5;Jv(c[k>>2]|0,c[F>>2]|0,c[D>>2]|0,(b[N>>1]|0)+(b[E>>1]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[r>>1]|0;b[(c[n>>2]|0)+24>>1]=b[o>>1]|0;b[(c[n>>2]|0)+26>>1]=b[p>>1]|0}while(1){if(!((c[t>>2]|0)==0&(c[w>>2]|0)!=0))break;b[I>>1]=b[(c[w>>2]|0)+18>>1]|0;c[B>>2]=0;if((e[I>>1]|0)!=128?(d[(c[w>>2]|0)+20>>0]&0|0)==0:0)j=23;else j=21;if(((j|0)==21?(j=0,(c[v>>2]|0)>=0):0)?(d[(c[(c[(c[F>>2]|0)+16>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)+20>>0]|0)==0:0)j=23;if((j|0)==23?(0,f=(c[w>>2]|0)+32|0,P=(c[n>>2]|0)+8|0,!((c[f>>2]&c[P>>2]|0)!=0?1:(c[f+4>>2]&c[P+4>>2]|0)!=0)):0){c[(c[n>>2]|0)+36>>2]=c[q>>2];b[(c[n>>2]|0)+24>>1]=b[o>>1]|0;b[(c[n>>2]|0)+40>>1]=b[s>>1]|0;if(nv(c[J>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0)break;h=c[w>>2]|0;g=(c[n>>2]|0)+40|0;O=b[g>>1]|0;b[g>>1]=O+1<<16>>16;c[(c[(c[n>>2]|0)+44>>2]|0)+((O&65535)<<2)>>2]=h;O=m;h=(c[w>>2]|0)+32|0;g=(c[n>>2]|0)+8|0;f=(c[O+4>>2]|c[h+4>>2])&~c[g+4>>2];P=c[n>>2]|0;c[P>>2]=(c[O>>2]|c[h>>2])&~c[g>>2];c[P+4>>2]=f;do if(e[I>>1]&1){c[l>>2]=c[c[w>>2]>>2];P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[l>>2]|0)+4>>2]&2048){c[B>>2]=46;break}if((c[(c[l>>2]|0)+20>>2]|0)!=0?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[l>>2]|0)+20>>2]>>2]|0;c[B>>2]=(dq(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else if(e[I>>1]&2){P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[v>>2]|0)>=0){if(b[E>>1]|0)break;if((e[(c[n>>2]|0)+24>>1]|0)!=((e[(c[D>>2]|0)+50>>1]|0)-1|0))break}if((c[v>>2]|0)>=0?(d[(c[D>>2]|0)+54>>0]|0)==0:0){P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}else{if(e[I>>1]&128){P=(c[n>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}j=(c[n>>2]|0)+36|0;N=c[j>>2]|0;if(e[I>>1]&36){c[j>>2]=N|34;c[z>>2]=c[w>>2];c[A>>2]=0;break}c[j>>2]=N|18;c[A>>2]=c[w>>2];if(c[(c[n>>2]|0)+36>>2]&32)j=c[(c[(c[n>>2]|0)+44>>2]|0)+((e[(c[n>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[z>>2]=j;break}while(0);do if(!(c[(c[n>>2]|0)+36>>2]&2)){f=(c[n>>2]|0)+24|0;P=(b[f>>1]|0)+1<<16>>16;b[f>>1]=P;c[u>>2]=P&65535;if((c[v>>2]|0)>=0?(b[(c[w>>2]|0)+16>>1]|0)<=0:0){P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[w>>2]|0)+16>>1]|0);P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[B>>2]|0);break}P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[D>>2]|0)+8>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+8>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0));if(e[I>>1]&128){P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else Kv(c[x>>2]|0,c[k>>2]|0,c[z>>2]|0,c[A>>2]|0,c[n>>2]|0)|0;while(0);b[G>>1]=(b[(c[n>>2]|0)+22>>1]|0)+1+(((b[(c[D>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[F>>2]|0)+16>>2]|0)+42>>1]|0)|0);P=rv(b[H>>1]|0,b[G>>1]|0)|0;b[(c[n>>2]|0)+20>>1]=P;if(!(c[(c[n>>2]|0)+36>>2]&320)){P=rv(b[(c[n>>2]|0)+20>>1]|0,(b[(c[n>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[n>>2]|0)+20>>1]=P}b[L>>1]=b[(c[n>>2]|0)+22>>1]|0;P=(c[n>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[E>>1]|0)+(c[B>>2]|0));P=(c[n>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[E>>1]|0)+(c[B>>2]|0));Hv(c[(c[k>>2]|0)+4>>2]|0,c[n>>2]|0,b[M>>1]|0);c[t>>2]=Av(c[k>>2]|0,c[n>>2]|0)|0;if(c[(c[n>>2]|0)+36>>2]&2)b[(c[n>>2]|0)+22>>1]=b[r>>1]|0;else b[(c[n>>2]|0)+22>>1]=b[L>>1]|0;if((c[(c[n>>2]|0)+36>>2]&16|0)==0?(e[(c[n>>2]|0)+24>>1]|0)<(e[(c[D>>2]|0)+52>>1]|0):0)Jv(c[k>>2]|0,c[F>>2]|0,c[D>>2]|0,(b[E>>1]|0)+(c[B>>2]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[r>>1]|0}c[w>>2]=jv(K)|0}g=m;f=c[g+4>>2]|0;P=c[n>>2]|0;c[P>>2]=c[g>>2];c[P+4>>2]=f;b[(c[n>>2]|0)+24>>1]=b[o>>1]|0;b[(c[n>>2]|0)+26>>1]=b[p>>1]|0;c[(c[n>>2]|0)+36>>2]=c[q>>2];b[(c[n>>2]|0)+22>>1]=b[r>>1]|0;b[(c[n>>2]|0)+40>>1]=b[s>>1]|0;c[y>>2]=c[t>>2];P=c[y>>2]|0;i=C;return P|0}function Kv(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+16|0;o=l+12|0;j=l+8|0;k=l+4|0;n=l;m=l+28|0;c[l+24>>2]=a;c[l+20>>2]=d;c[h>>2]=e;c[o>>2]=f;c[j>>2]=g;c[k>>2]=0;c[n>>2]=b[(c[j>>2]|0)+22>>1];b[m>>1]=Lv(c[h>>2]|0,c[n>>2]&65535)|0;b[m>>1]=Lv(c[o>>2]|0,b[m>>1]|0)|0;if((c[h>>2]|0)!=0&(c[o>>2]|0)!=0)b[m>>1]=(b[m>>1]|0)-20;c[n>>2]=(c[n>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[o>>2]|0)!=0&1));if((b[m>>1]|0)<10)b[m>>1]=10;if((b[m>>1]|0)>=(c[n>>2]|0)){d=c[n>>2]|0;d=d&65535;a=c[j>>2]|0;a=a+22|0;b[a>>1]=d;a=c[k>>2]|0;i=l;return a|0}c[n>>2]=b[m>>1];d=c[n>>2]|0;d=d&65535;a=c[j>>2]|0;a=a+22|0;b[a>>1]=d;a=c[k>>2]|0;i=l;return a|0}function Lv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+16|0;h=g;j=g+6|0;f=g+4|0;c[h>>2]=a;b[j>>1]=e;b[f>>1]=b[j>>1]|0;do if(c[h>>2]|0){e=c[h>>2]|0;if((b[(c[h>>2]|0)+16>>1]|0)<=0){b[f>>1]=(b[f>>1]|0)+(b[e+16>>1]|0);break}if(!(d[e+20>>0]&0))b[f>>1]=(b[f>>1]|0)-20}while(0);i=g;return b[f>>1]|0}function Mv(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;k=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;if(!(Dq(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0)){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}do if((d[c[h>>2]>>0]|0|0)==71){if((Mv(c[j>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0)|0)==0?(Mv(c[j>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[k>>2]|0)|0)==0:0)break;c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}while(0);if((((d[c[h>>2]>>0]|0|0)==77?(Dq(c[(c[j>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0)|0)==0:0)?(d[c[j>>2]>>0]|0|0)!=76:0)?(d[c[j>>2]>>0]|0|0)!=73:0){c[g>>2]=1;a=c[g>>2]|0;i=f;return a|0}c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}function Nv(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;n=i;i=i+80|0;l=n;m=n+68|0;v=n+64|0;u=n+60|0;t=n+56|0;C=n+52|0;o=n+48|0;r=n+44|0;w=n+40|0;q=n+36|0;x=n+32|0;z=n+28|0;p=n+24|0;y=n+20|0;k=n+16|0;A=n+12|0;B=n+8|0;s=n+72|0;D=n+4|0;c[v>>2]=f;c[u>>2]=g;c[t>>2]=h;c[C>>2]=j;c[w>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[u>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[u>>2]|0)+12>>2]|0))break;if(((c[(c[p>>2]|0)+8>>2]|0)==(c[(c[t>>2]|0)+40>>2]|0)?(e[(c[p>>2]|0)+18>>1]&-1153|0)!=0:0)?(d[(c[p>>2]|0)+20>>0]&0|0)==0:0)c[w>>2]=(c[w>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+48}c[y>>2]=0;if(c[C>>2]|0){c[A>>2]=c[c[C>>2]>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[A>>2]|0))break;c[B>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2];if((d[c[B>>2]>>0]|0)!=154)break;if((c[(c[B>>2]|0)+28>>2]|0)!=(c[(c[t>>2]|0)+40>>2]|0))break;c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(c[A>>2]|0))c[y>>2]=c[A>>2]}c[k>>2]=se(c[c[v>>2]>>2]|0,56+((c[w>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[k>>2]|0)){Se(c[v>>2]|0,5400,l);c[m>>2]=0;f=c[m>>2]|0;i=n;return f|0}c[q>>2]=(c[k>>2]|0)+56;c[x>>2]=(c[q>>2]|0)+((c[w>>2]|0)*12|0);c[z>>2]=(c[x>>2]|0)+(c[y>>2]<<3);c[c[k>>2]>>2]=c[w>>2];c[(c[k>>2]|0)+8>>2]=c[y>>2];c[(c[k>>2]|0)+4>>2]=c[q>>2];c[(c[k>>2]|0)+12>>2]=c[x>>2];c[(c[k>>2]|0)+16>>2]=c[z>>2];c[r>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[u>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[u>>2]|0)+12>>2]|0))break;if(((c[(c[p>>2]|0)+8>>2]|0)==(c[(c[t>>2]|0)+40>>2]|0)?(e[(c[p>>2]|0)+18>>1]&-1153|0)!=0:0)?(d[(c[p>>2]|0)+20>>0]&0|0)==0:0){c[(c[q>>2]|0)+((c[r>>2]|0)*12|0)>>2]=c[(c[p>>2]|0)+12>>2];c[(c[q>>2]|0)+((c[r>>2]|0)*12|0)+8>>2]=c[o>>2];f=b[(c[p>>2]|0)+18>>1]&255;a[s>>0]=f;a[s>>0]=(d[s>>0]|0)==1?2:f;a[(c[q>>2]|0)+((c[r>>2]|0)*12|0)+4>>0]=a[s>>0]|0;c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+48}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[y>>2]|0))break;c[D>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2];c[(c[x>>2]|0)+(c[o>>2]<<3)>>2]=b[(c[D>>2]|0)+32>>1];a[(c[x>>2]|0)+(c[o>>2]<<3)+4>>0]=a[(c[(c[C>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)+12>>0]|0;c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=c[k>>2];f=c[m>>2]|0;i=n;return f|0}function Ov(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;l=i;i=i+32|0;j=l;g=l+24|0;h=l+20|0;k=l+16|0;m=l+12|0;f=l+8|0;n=l+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[m>>2]=c[(Rp(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+8>>2];c[n>>2]=zb[c[(c[c[m>>2]>>2]|0)+12>>2]&63](c[m>>2]|0,c[k>>2]|0)|0;do if(c[n>>2]|0){if((c[n>>2]|0)==7){a[(c[c[g>>2]>>2]|0)+64>>0]=1;break}e=c[g>>2]|0;if(c[(c[m>>2]|0)+8>>2]|0){c[j>>2]=c[(c[m>>2]|0)+8>>2];Se(e,1200,j);break}else{c[j>>2]=ge(c[n>>2]|0)|0;Se(e,1200,j);break}}while(0);hc(c[(c[m>>2]|0)+8>>2]|0);c[(c[m>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if((a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0)==0?(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[f>>2]<<3)>>2]|0)>0:0){b=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];Se(b,24120,j)}c[f>>2]=(c[f>>2]|0)+1}i=l;return c[(c[g>>2]|0)+64>>2]|0}function Pv(a){a=+a;var d=0,e=0,f=0,g=0,j=0;d=i;i=i+32|0;e=d+18|0;f=d+8|0;g=d;j=d+16|0;h[f>>3]=a;if(+h[f>>3]<=1.0){b[e>>1]=0;j=b[e>>1]|0;i=d;return j|0}if(+h[f>>3]<=2.0e9){a=+h[f>>3];b[e>>1]=dq(~~a>>>0,+O(a)>=1.0?a>0.0?(ca(+N(a/4294967296.0),4294967295.0)|0)>>>0:~~+_((a- +(~~a>>>0))/4294967296.0)>>>0:0)|0;j=b[e>>1]|0;i=d;return j|0}else{c[g+0>>2]=c[f+0>>2];c[g+4>>2]=c[f+4>>2];g=cF(c[g>>2]|0,c[g+4>>2]|0,52)|0;g=ZE(g|0,D|0,1022,0)|0;b[j>>1]=g;b[e>>1]=(b[j>>1]|0)*10;j=b[e>>1]|0;i=d;return j|0}return 0}function Qv(a,e,f,g,h){a=a|0;e=e|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,q=0,r=0,s=0,t=0;j=i;i=i+48|0;l=j+36|0;p=j+32|0;q=j+28|0;t=j+24|0;r=j+20|0;s=j+16|0;k=j+12|0;o=j+8|0;m=j+4|0;n=j;c[p>>2]=a;c[q>>2]=e;c[t>>2]=f;c[r>>2]=g;c[s>>2]=h;c[o>>2]=c[(c[(c[r>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[q>>2]>>2]|0)){m=10;break}c[m>>2]=iq(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[m>>2]>>0]|0)==154?(b[(c[m>>2]|0)+32>>1]|0)==(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]|0):0)?(c[(c[m>>2]|0)+28>>2]|0)==(c[t>>2]|0):0)?(c[n>>2]=cq(c[p>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0)|0,(c[n>>2]|0)!=0):0)?0==(xc(c[c[n>>2]>>2]|0,c[o>>2]|0)|0):0){m=8;break}c[k>>2]=(c[k>>2]|0)+1}if((m|0)==8){c[l>>2]=c[k>>2];a=c[l>>2]|0;i=j;return a|0}else if((m|0)==10){c[l>>2]=-1;a=c[l>>2]|0;i=j;return a|0}return 0}function Rv(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,A=0,B=0,C=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;I=i;i=i+208|0;K=I+188|0;v=I+184|0;j=I+180|0;aa=I+176|0;E=I+172|0;V=I+168|0;q=I+164|0;y=I+40|0;A=I+32|0;z=I+24|0;s=I+160|0;u=I+156|0;p=I+152|0;O=I+148|0;t=I+144|0;G=I+140|0;$=I+16|0;w=I+136|0;N=I+132|0;C=I+194|0;x=I+128|0;l=I+124|0;B=I+192|0;F=I+120|0;Q=I+116|0;P=I+112|0;R=I+108|0;S=I+104|0;r=I+100|0;m=I+96|0;k=I+92|0;L=I+88|0;J=I+84|0;M=I+80|0;H=I+72|0;o=I+196|0;n=I+68|0;Y=I+64|0;T=I+60|0;U=I+56|0;_=I+52|0;X=I+8|0;W=I;Z=I+48|0;c[K>>2]=f;c[v>>2]=g;c[j>>2]=h;c[aa>>2]=c[c[v>>2]>>2];f=z;c[f>>2]=0;c[f+4>>2]=0;c[s>>2]=0;c[u>>2]=0;c[p>>2]=0;c[t>>2]=c[c[aa>>2]>>2];c[G>>2]=c[c[t>>2]>>2];if(a[(c[G>>2]|0)+64>>0]|0){i=I;return}c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);c[V>>2]=(c[aa>>2]|0)+68;c[q>>2]=c[c[E>>2]>>2];g=pv(c[V>>2]|0,c[(c[q>>2]|0)+12>>2]|0)|0;f=y;c[f>>2]=g;c[f+4>>2]=D;c[O>>2]=d[c[q>>2]>>0];do if((c[O>>2]|0)==75){aa=c[V>>2]|0;h=(c[q>>2]|0)+20|0;if(c[(c[q>>2]|0)+4>>2]&2048){g=qv(aa,c[h>>2]|0)|0;f=(c[E>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=D;break}else{g=Zu(aa,c[h>>2]|0)|0;f=(c[E>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=D;break}}else if((c[O>>2]|0)==76){f=(c[E>>2]|0)+32|0;c[f>>2]=0;c[f+4>>2]=0;break}else{g=pv(c[V>>2]|0,c[(c[q>>2]|0)+16>>2]|0)|0;f=(c[E>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=D;break}while(0);g=pv(c[V>>2]|0,c[q>>2]|0)|0;f=A;c[f>>2]=g;c[f+4>>2]=D;if(c[(c[q>>2]|0)+4>>2]&1){h=_u(c[V>>2]|0,b[(c[q>>2]|0)+36>>1]|0)|0;aa=$;c[aa>>2]=h;c[aa+4>>2]=D;aa=$;h=A;f=c[h+4>>2]|c[aa+4>>2];g=A;c[g>>2]=c[h>>2]|c[aa>>2];c[g+4>>2]=f;g=$;g=ZE(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;f=z;c[f>>2]=g;c[f+4>>2]=D}g=A;$=c[g+4>>2]|0;f=(c[E>>2]|0)+40|0;c[f>>2]=c[g>>2];c[f+4>>2]=$;c[(c[E>>2]|0)+8>>2]=-1;c[(c[E>>2]|0)+4>>2]=-1;b[(c[E>>2]|0)+18>>1]=0;f=(Sv(c[O>>2]|0)|0)!=0;$=c[q>>2]|0;do if(f){c[w>>2]=iq(c[$+12>>2]|0)|0;c[N>>2]=iq(c[(c[q>>2]|0)+16>>2]|0)|0;g=(c[E>>2]|0)+32|0;f=y;b[C>>1]=((c[g>>2]&c[f>>2]|0)==0?(c[g+4>>2]&c[f+4>>2]|0)==0:0)?4095:1024;if((d[c[w>>2]>>0]|0)==154){c[(c[E>>2]|0)+8>>2]=c[(c[w>>2]|0)+28>>2];c[(c[E>>2]|0)+12>>2]=b[(c[w>>2]|0)+32>>1];f=(Tv(c[O>>2]|0)|0)&65535;b[(c[E>>2]|0)+18>>1]=f&e[C>>1]}if((c[N>>2]|0)!=0?(d[c[N>>2]>>0]|0)==154:0){b[B>>1]=0;if((c[(c[E>>2]|0)+8>>2]|0)>=0){c[l>>2]=Bq(c[G>>2]|0,c[q>>2]|0,0)|0;if(a[(c[G>>2]|0)+64>>0]|0){wn(c[G>>2]|0,c[l>>2]|0);i=I;return}c[F>>2]=Uv(c[v>>2]|0,c[l>>2]|0,3)|0;if(!(c[F>>2]|0)){i=I;return}c[x>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0);c[(c[x>>2]|0)+4>>2]=c[j>>2];c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);a[(c[E>>2]|0)+21>>0]=1;f=(c[E>>2]|0)+20|0;a[f>>0]=d[f>>0]|8;if(((d[c[q>>2]>>0]|0)==79?(c[(c[q>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[G>>2]|0)+60>>1]&512|0)==0:0){f=(c[E>>2]|0)+18|0;b[f>>1]=e[f>>1]|1024;b[B>>1]=1024}}else{c[l>>2]=c[q>>2];c[x>>2]=c[E>>2]}Vv(c[t>>2]|0,c[l>>2]|0);c[w>>2]=iq(c[(c[l>>2]|0)+12>>2]|0)|0;c[(c[x>>2]|0)+8>>2]=c[(c[w>>2]|0)+28>>2];c[(c[x>>2]|0)+12>>2]=b[(c[w>>2]|0)+32>>1];h=y;f=z;g=c[h+4>>2]|c[f+4>>2];aa=(c[x>>2]|0)+32|0;c[aa>>2]=c[h>>2]|c[f>>2];c[aa+4>>2]=g;aa=A;g=c[aa+4>>2]|0;f=(c[x>>2]|0)+40|0;c[f>>2]=c[aa>>2];c[f+4>>2]=g;f=(Tv(d[c[l>>2]>>0]|0)|0)&65535;b[(c[x>>2]|0)+18>>1]=f+(e[B>>1]|0)&e[C>>1]}}else{if((d[$>>0]|0)==74?(d[(c[v>>2]|0)+8>>0]|0)==72:0){c[Q>>2]=c[(c[q>>2]|0)+20>>2];c[P>>2]=0;while(1){if((c[P>>2]|0)>=2)break;aa=c[t>>2]|0;g=d[24168+(c[P>>2]|0)>>0]|0;f=Bq(c[G>>2]|0,c[(c[q>>2]|0)+12>>2]|0,0)|0;c[R>>2]=Rn(aa,g,f,Bq(c[G>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[P>>2]|0)*20|0)>>2]|0,0)|0,0)|0;Wv(c[R>>2]|0,c[q>>2]|0);c[S>>2]=Uv(c[v>>2]|0,c[R>>2]|0,3)|0;Rv(c[K>>2]|0,c[v>>2]|0,c[S>>2]|0);c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);c[(c[(c[v>>2]|0)+20>>2]|0)+((c[S>>2]|0)*48|0)+4>>2]=c[j>>2];c[P>>2]=(c[P>>2]|0)+1}a[(c[E>>2]|0)+21>>0]=2;break}if((d[c[q>>2]>>0]|0)==71){Xv(c[K>>2]|0,c[v>>2]|0,c[j>>2]|0);c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0)}}while(0);if((d[(c[v>>2]|0)+8>>0]|0)==72?(Yv(c[t>>2]|0,c[q>>2]|0,s,u,p)|0)!=0:0){c[r>>2]=c[(c[(c[(c[q>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[m>>2]=Bq(c[G>>2]|0,c[s>>2]|0,0)|0;if(!(a[(c[G>>2]|0)+64>>0]|0)){f=(Mb(c[(c[m>>2]|0)+8>>2]|0)|0)-1|0;c[n>>2]=(c[(c[m>>2]|0)+8>>2]|0)+f;a[o>>0]=a[c[n>>2]>>0]|0;if(c[p>>2]|0){if((d[o>>0]|0)==64)c[u>>2]=0;a[o>>0]=a[440+(d[o>>0]|0)>>0]|0}a[c[n>>2]>>0]=(d[o>>0]|0)+1}c[H>>2]=(c[p>>2]|0)!=0?3336:3320;c[H+4>>2]=6;c[k>>2]=Bq(c[G>>2]|0,c[r>>2]|0,0)|0;f=c[t>>2]|0;g=uo(c[t>>2]|0,c[k>>2]|0,H)|0;c[k>>2]=Rn(f,83,g,c[s>>2]|0,0)|0;Wv(c[k>>2]|0,c[q>>2]|0);c[J>>2]=Uv(c[v>>2]|0,c[k>>2]|0,3)|0;Rv(c[K>>2]|0,c[v>>2]|0,c[J>>2]|0);c[L>>2]=Bq(c[G>>2]|0,c[r>>2]|0,0)|0;g=c[t>>2]|0;f=uo(c[t>>2]|0,c[L>>2]|0,H)|0;c[L>>2]=Rn(g,82,f,c[m>>2]|0,0)|0;Wv(c[L>>2]|0,c[q>>2]|0);c[M>>2]=Uv(c[v>>2]|0,c[L>>2]|0,3)|0;Rv(c[K>>2]|0,c[v>>2]|0,c[M>>2]|0);c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);if(c[u>>2]|0){c[(c[(c[v>>2]|0)+20>>2]|0)+((c[J>>2]|0)*48|0)+4>>2]=c[j>>2];c[(c[(c[v>>2]|0)+20>>2]|0)+((c[M>>2]|0)*48|0)+4>>2]=c[j>>2];a[(c[E>>2]|0)+21>>0]=2}}if((Zv(c[q>>2]|0)|0)!=0?(c[T>>2]=c[c[(c[(c[q>>2]|0)+20>>2]|0)+4>>2]>>2],c[U>>2]=c[(c[(c[(c[q>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],g=pv(c[V>>2]|0,c[T>>2]|0)|0,f=W,c[f>>2]=g,c[f+4>>2]=D,f=pv(c[V>>2]|0,c[U>>2]|0)|0,g=X,c[g>>2]=f,c[g+4>>2]=D,g=W,f=X,(c[g>>2]&c[f>>2]|0)==0?(c[g+4>>2]&c[f+4>>2]|0)==0:0):0){f=c[t>>2]|0;c[Z>>2]=Rn(f,51,0,Bq(c[G>>2]|0,c[T>>2]|0,0)|0,0)|0;c[Y>>2]=Uv(c[v>>2]|0,c[Z>>2]|0,3)|0;c[_>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[Y>>2]|0)*48|0);f=W;g=c[f+4>>2]|0;aa=(c[_>>2]|0)+32|0;c[aa>>2]=c[f>>2];c[aa+4>>2]=g;c[(c[_>>2]|0)+8>>2]=c[(c[U>>2]|0)+28>>2];c[(c[_>>2]|0)+12>>2]=b[(c[U>>2]|0)+32>>1];b[(c[_>>2]|0)+18>>1]=64;c[(c[_>>2]|0)+4>>2]=c[j>>2];c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0);a[(c[E>>2]|0)+21>>0]=1;aa=(c[E>>2]|0)+20|0;a[aa>>0]=d[aa>>0]|8;aa=(c[E>>2]|0)+40|0;g=c[aa+4>>2]|0;f=(c[_>>2]|0)+40|0;c[f>>2]=c[aa>>2];c[f+4>>2]=g}aa=z;f=(c[E>>2]|0)+32|0;h=f;g=c[h+4>>2]|c[aa+4>>2];c[f>>2]=c[h>>2]|c[aa>>2];c[f+4>>2]=g;i=I;return}function Sv(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if((c[d>>2]|0)!=75?!((c[d>>2]|0)>=79&(c[d>>2]|0)<=83):0)a=(c[d>>2]|0)==76;else a=1;i=b;return a&1|0}function Tv(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e;d=e+4|0;c[f>>2]=a;do if((c[f>>2]|0)!=75)if((c[f>>2]|0)==76){b[d>>1]=128;break}else{b[d>>1]=2<<(c[f>>2]|0)-79;break}else b[d>>1]=1;while(0);i=e;return b[d>>1]|0}function Uv(e,f,g){e=e|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;o=i;i=i+32|0;h=o+24|0;l=o+20|0;n=o+16|0;k=o+28|0;j=o+12|0;m=o+8|0;q=o+4|0;p=o;c[l>>2]=e;c[n>>2]=f;a[k>>0]=g;do if((c[(c[l>>2]|0)+12>>2]|0)>=(c[(c[l>>2]|0)+16>>2]|0)){c[q>>2]=c[(c[l>>2]|0)+20>>2];c[p>>2]=c[c[c[c[l>>2]>>2]>>2]>>2];e=Qe(c[p>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[l>>2]|0)+20>>2]=e;if(c[(c[l>>2]|0)+20>>2]|0){dF(c[(c[l>>2]|0)+20>>2]|0,c[q>>2]|0,(c[(c[l>>2]|0)+12>>2]|0)*48|0)|0;if((c[q>>2]|0)!=((c[l>>2]|0)+24|0))Xb(c[p>>2]|0,c[q>>2]|0);e=((Bk(c[p>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[l>>2]|0)+16>>2]=e;break}if((d[k>>0]|0)&1)wn(c[p>>2]|0,c[n>>2]|0);c[(c[l>>2]|0)+20>>2]=c[q>>2];c[h>>2]=0;e=c[h>>2]|0;i=o;return e|0}while(0);f=(c[l>>2]|0)+12|0;e=c[f>>2]|0;c[f>>2]=e+1;c[m>>2]=e;c[j>>2]=(c[(c[l>>2]|0)+20>>2]|0)+(e*48|0);if((c[n>>2]|0)!=0?(c[(c[n>>2]|0)+4>>2]&262144|0)!=0:0){e=c[(c[n>>2]|0)+28>>2]|0;e=((dq(e,((e|0)<0)<<31>>31)|0)<<16>>16)-99&65535;b[(c[j>>2]|0)+16>>1]=e}else b[(c[j>>2]|0)+16>>1]=1;e=iq(c[n>>2]|0)|0;c[c[j>>2]>>2]=e;a[(c[j>>2]|0)+20>>0]=a[k>>0]|0;c[(c[j>>2]|0)+24>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=-1;c[h>>2]=c[m>>2];e=c[h>>2]|0;i=o;return e|0}function Vv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;l=h+8|0;j=h+4|0;m=h+14|0;n=h+12|0;k=h;c[l>>2]=f;c[j>>2]=g;b[m>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[m>>1]|0)==(e[n>>1]|0)){if(b[m>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(cq(c[l>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[k>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[k>>2];if((d[c[j>>2]>>0]|0)<80){i=h;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-80^2)+80;i=h;return}function Wv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=d;if(!(c[f>>2]|0)){i=e;return}a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[g>>2]|0)+4>>2]&1;b[(c[f>>2]|0)+36>>1]=b[(c[g>>2]|0)+36>>1]|0;i=e;return}function Xv(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,A=0,B=0,C=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;C=i;i=i+144|0;q=C+140|0;o=C+136|0;r=C+132|0;y=C+128|0;w=C+124|0;t=C+120|0;s=C+116|0;m=C+112|0;z=C+108|0;A=C+104|0;x=C+100|0;P=C+96|0;j=C+24|0;K=C+16|0;J=C+92|0;M=C+88|0;N=C+84|0;L=C+80|0;O=C+8|0;Q=C;R=C+76|0;B=C+72|0;G=C+68|0;E=C+64|0;F=C+60|0;I=C+56|0;H=C+52|0;v=C+48|0;n=C+44|0;u=C+40|0;l=C+36|0;p=C+32|0;c[q>>2]=f;c[o>>2]=g;c[r>>2]=h;c[y>>2]=c[c[o>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[t>>2]=c[c[w>>2]>>2];c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);c[m>>2]=c[c[s>>2]>>2];f=se(c[t>>2]|0,416,0)|0;c[P>>2]=f;c[(c[s>>2]|0)+12>>2]=f;if(!(c[P>>2]|0)){i=C;return}f=(c[s>>2]|0)+20|0;a[f>>0]=d[f>>0]|16;c[A>>2]=c[P>>2];Ru(c[A>>2]|0,c[y>>2]|0);Su(c[A>>2]|0,c[m>>2]|0,71);Uu(c[q>>2]|0,c[A>>2]|0);if(a[(c[t>>2]|0)+64>>0]|0){i=C;return}f=K;c[f>>2]=-1;c[f+4>>2]=-1;f=j;c[f>>2]=-1;c[f+4>>2]=-1;c[z>>2]=(c[(c[A>>2]|0)+12>>2]|0)-1;c[x>>2]=c[(c[A>>2]|0)+20>>2];while(1){f=K;if(!((c[z>>2]|0)>=0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)))break;do if(!(e[(c[x>>2]|0)+18>>1]&255)){f=j;c[f>>2]=0;c[f+4>>2]=0;c[J>>2]=Qe(c[t>>2]|0,408,0)|0;if(c[J>>2]|0){f=O;c[f>>2]=0;c[f+4>>2]=0;c[(c[x>>2]|0)+12>>2]=c[J>>2];f=(c[x>>2]|0)+20|0;a[f>>0]=d[f>>0]|32;b[(c[x>>2]|0)+18>>1]=512;c[M>>2]=c[J>>2];Ru(c[M>>2]|0,c[c[o>>2]>>2]|0);Su(c[M>>2]|0,c[c[x>>2]>>2]|0,72);Uu(c[q>>2]|0,c[M>>2]|0);c[(c[M>>2]|0)+4>>2]=c[o>>2];a:do if(!(a[(c[t>>2]|0)+64>>0]|0)){c[L>>2]=0;c[N>>2]=c[(c[M>>2]|0)+20>>2];while(1){if((c[L>>2]|0)>=(c[(c[M>>2]|0)+12>>2]|0))break a;if(Sv(d[c[c[N>>2]>>2]>>0]|0)|0){h=_u((c[y>>2]|0)+68|0,c[(c[N>>2]|0)+8>>2]|0)|0;S=O;g=c[S+4>>2]|D;f=O;c[f>>2]=c[S>>2]|h;c[f+4>>2]=g}c[L>>2]=(c[L>>2]|0)+1;c[N>>2]=(c[N>>2]|0)+48}}while(0);g=O;h=K;f=c[h+4>>2]&c[g+4>>2];S=K;c[S>>2]=c[h>>2]&c[g>>2];c[S+4>>2]=f}}else if(!(d[(c[x>>2]|0)+20>>0]&8)){f=_u((c[y>>2]|0)+68|0,c[(c[x>>2]|0)+8>>2]|0)|0;S=Q;c[S>>2]=f;c[S+4>>2]=D;if(d[(c[x>>2]|0)+20>>0]&2){c[R>>2]=(c[(c[A>>2]|0)+20>>2]|0)+((c[(c[x>>2]|0)+4>>2]|0)*48|0);g=_u((c[y>>2]|0)+68|0,c[(c[R>>2]|0)+8>>2]|0)|0;h=Q;f=c[h+4>>2]|D;S=Q;c[S>>2]=c[h>>2]|g;c[S+4>>2]=f}g=Q;h=K;f=c[h+4>>2]&c[g+4>>2];S=K;c[S>>2]=c[h>>2]&c[g>>2];c[S+4>>2]=f;if(!(e[(c[x>>2]|0)+18>>1]&2)){S=j;c[S>>2]=0;c[S+4>>2]=0;break}else{g=Q;h=j;f=c[h+4>>2]&c[g+4>>2];S=j;c[S>>2]=c[h>>2]&c[g>>2];c[S+4>>2]=f;break}}while(0);c[z>>2]=(c[z>>2]|0)+ -1;c[x>>2]=(c[x>>2]|0)+48}g=K;f=c[g+4>>2]|0;S=(c[P>>2]|0)+408|0;c[S>>2]=c[g>>2];c[S+4>>2]=f;S=K;b[(c[s>>2]|0)+18>>1]=(c[S>>2]|0)==0&(c[S+4>>2]|0)==0?0:256;S=j;if(!((c[S>>2]|0)!=0|(c[S+4>>2]|0)!=0)){i=C;return}c[B>>2]=0;c[G>>2]=-1;c[E>>2]=-1;c[F>>2]=0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=2|(c[B>>2]|0)!=0)break;c[x>>2]=c[(c[A>>2]|0)+20>>2];c[z>>2]=(c[(c[A>>2]|0)+12>>2]|0)-1;while(1){if((c[z>>2]|0)<0)break;S=(c[x>>2]|0)+20|0;a[S>>0]=d[S>>0]&-65;if((c[(c[x>>2]|0)+8>>2]|0)!=(c[E>>2]|0)?(S=j,g=c[S>>2]|0,S=c[S+4>>2]|0,f=_u((c[y>>2]|0)+68|0,c[(c[x>>2]|0)+8>>2]|0)|0,!((g&f|0)==0&(S&D|0)==0)):0){k=28;break}c[z>>2]=(c[z>>2]|0)+ -1;c[x>>2]=(c[x>>2]|0)+48}if((k|0)==28){k=0;c[G>>2]=c[(c[x>>2]|0)+12>>2];c[E>>2]=c[(c[x>>2]|0)+8>>2]}if((c[z>>2]|0)<0)break;c[B>>2]=1;while(1){if(!((c[z>>2]|0)>=0&(c[B>>2]|0)!=0))break;J=c[x>>2]|0;do if((c[(c[x>>2]|0)+8>>2]|0)!=(c[E>>2]|0)){S=J+20|0;a[S>>0]=d[S>>0]&-65}else{if((c[J+12>>2]|0)!=(c[G>>2]|0)){c[B>>2]=0;break}c[H>>2]=(bq(c[(c[c[x>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[I>>2]=(bq(c[(c[c[x>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[H>>2]|0)!=0?(c[H>>2]|0)!=(c[I>>2]|0):0){c[B>>2]=0;break}S=(c[x>>2]|0)+20|0;a[S>>0]=d[S>>0]|64}while(0);c[z>>2]=(c[z>>2]|0)+ -1;c[x>>2]=(c[x>>2]|0)+48}c[F>>2]=(c[F>>2]|0)+1}if(!(c[B>>2]|0)){i=C;return}c[n>>2]=0;c[u>>2]=0;c[z>>2]=(c[(c[A>>2]|0)+12>>2]|0)-1;c[x>>2]=c[(c[A>>2]|0)+20>>2];while(1){if((c[z>>2]|0)<0)break;if(d[(c[x>>2]|0)+20>>0]&64){c[v>>2]=Bq(c[t>>2]|0,c[(c[c[x>>2]>>2]|0)+16>>2]|0,0)|0;c[n>>2]=eo(c[c[y>>2]>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[u>>2]=c[(c[c[x>>2]>>2]|0)+12>>2]}c[z>>2]=(c[z>>2]|0)+ -1;c[x>>2]=(c[x>>2]|0)+48}c[v>>2]=Bq(c[t>>2]|0,c[u>>2]|0,0)|0;c[l>>2]=Rn(c[w>>2]|0,75,c[v>>2]|0,0,0)|0;if(c[l>>2]|0){Wv(c[l>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+20>>2]=c[n>>2];c[p>>2]=Uv(c[o>>2]|0,c[l>>2]|0,3)|0;Rv(c[q>>2]|0,c[o>>2]|0,c[p>>2]|0);c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);c[(c[(c[o>>2]|0)+20>>2]|0)+((c[p>>2]|0)*48|0)+4>>2]=c[r>>2];a[(c[s>>2]|0)+21>>0]=1}else sn(c[t>>2]|0,c[n>>2]|0);b[(c[s>>2]|0)+18>>1]=2048;i=C;return}function Yv(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;x=i;i=i+96|0;s=x+76|0;o=x+72|0;E=x+68|0;t=x+64|0;r=x+60|0;F=x+56|0;n=x+52|0;q=x+48|0;D=x+44|0;C=x+40|0;z=x+36|0;v=x+32|0;y=x+80|0;w=x+28|0;m=x+24|0;u=x+20|0;B=x+16|0;A=x+12|0;k=x+8|0;p=x+4|0;l=x;c[o>>2]=e;c[E>>2]=f;c[t>>2]=g;c[r>>2]=h;c[F>>2]=j;c[n>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[m>>2]=0;if(!(_v(c[w>>2]|0,c[E>>2]|0,c[F>>2]|0,y)|0)){c[s>>2]=0;F=c[s>>2]|0;i=x;return F|0}c[C>>2]=c[(c[E>>2]|0)+20>>2];c[D>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+20>>2];if(((d[c[D>>2]>>0]|0)==154?((bq(c[D>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[D>>2]|0)+44>>2]|0)+44>>0]&16|0)==0:0){c[q>>2]=iq(c[c[(c[C>>2]|0)+4>>2]>>2]|0)|0;c[u>>2]=d[c[q>>2]>>0];if((c[u>>2]|0)!=135){if((c[u>>2]|0)==97)c[n>>2]=c[(c[q>>2]|0)+8>>2]}else{c[B>>2]=c[(c[o>>2]|0)+476>>2];c[A>>2]=b[(c[q>>2]|0)+32>>1];c[m>>2]=$v(c[B>>2]|0,c[A>>2]|0,65)|0;if((c[m>>2]|0)!=0?(Nd(c[m>>2]|0)|0)==3:0)c[n>>2]=Ed(c[m>>2]|0)|0;aw(c[(c[o>>2]|0)+8>>2]|0,c[A>>2]|0)}do if(c[n>>2]|0){c[v>>2]=0;while(1){F=a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0;c[z>>2]=F;if(((F|0)!=0?(c[z>>2]|0)!=(a[y>>0]|0):0)?(c[z>>2]|0)!=(a[y+1>>0]|0):0)A=(c[z>>2]|0)!=(a[y+2>>0]|0);else A=0;j=c[v>>2]|0;if(!A)break;c[v>>2]=j+1}if((j|0)!=0?255!=(d[(c[n>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[z>>2]|0)==(a[y>>0]|0))y=(a[(c[n>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else y=0;c[c[r>>2]>>2]=y&1;c[k>>2]=ho(c[w>>2]|0,97,c[n>>2]|0)|0;if(c[k>>2]|0)a[(c[(c[k>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[k>>2];if((c[u>>2]|0)!=135)break;c[p>>2]=c[(c[o>>2]|0)+8>>2];aw(c[p>>2]|0,b[(c[q>>2]|0)+32>>1]|0);if(!(c[c[r>>2]>>2]|0))break;if(!(a[(c[(c[q>>2]|0)+8>>2]|0)+1>>0]|0))break;c[l>>2]=kp(c[o>>2]|0)|0;Qs(c[o>>2]|0,c[q>>2]|0,c[l>>2]|0)|0;F=c[p>>2]|0;af(F,(Mr(c[p>>2]|0)|0)-1|0,0);lp(c[o>>2]|0,c[l>>2]|0);break}c[n>>2]=0}while(0);tf(c[m>>2]|0);c[s>>2]=(c[n>>2]|0)!=0&1;F=c[s>>2]|0;i=x;return F|0}c[s>>2]=0;F=c[s>>2]|0;i=x;return F|0}function Zv(a){a=a|0;var b=0,e=0,f=0,g=0;e=i;i=i+16|0;b=e+8|0;g=e+4|0;f=e;c[g>>2]=a;do if((d[c[g>>2]>>0]|0|0)==153){if(xc(c[(c[g>>2]|0)+8>>2]|0,21512)|0){c[b>>2]=0;break}c[f>>2]=c[(c[g>>2]|0)+20>>2];if((c[c[f>>2]>>2]|0)!=2){c[b>>2]=0;break}if((d[c[(c[(c[f>>2]|0)+4>>2]|0)+20>>2]>>0]|0|0)!=154){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=e;return c[b>>2]|0}function _v(b,f,g,h){b=b|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;n=i;i=i+32|0;k=n+20|0;p=n+16|0;o=n+12|0;l=n+8|0;j=n+4|0;m=n;c[p>>2]=b;c[o>>2]=f;c[l>>2]=g;c[j>>2]=h;if(((d[c[o>>2]>>0]|0|0)==153?(c[(c[o>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[o>>2]|0)+20>>2]>>2]|0)==2:0){f=c[p>>2]|0;b=c[(c[o>>2]|0)+8>>2]|0;c[m>>2]=Sf(f,b,Mb(c[(c[o>>2]|0)+8>>2]|0)|0,2,1,0)|0;if((c[m>>2]|0)!=0?((e[(c[m>>2]|0)+2>>1]|0)&4|0)!=0:0){b=c[j>>2]|0;f=c[(c[m>>2]|0)+4>>2]|0;a[b+0>>0]=a[f+0>>0]|0;a[b+1>>0]=a[f+1>>0]|0;a[b+2>>0]=a[f+2>>0]|0;c[c[l>>2]>>2]=((e[(c[m>>2]|0)+2>>1]|0)&8|0)==0&1;c[k>>2]=1;b=c[k>>2]|0;i=n;return b|0}c[k>>2]=0;b=c[k>>2]|0;i=n;return b|0}c[k>>2]=0;b=c[k>>2]|0;i=n;return b|0}function $v(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+16|0;k=m+12|0;n=m+8|0;j=m+20|0;h=m+4|0;g=m;c[k>>2]=b;c[n>>2]=d;a[j>>0]=f;if((c[k>>2]|0)!=0?(c[h>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[n>>2]|0)-1|0)*40|0),0==((e[(c[h>>2]|0)+8>>1]|0)&1|0)):0){c[g>>2]=rf(c[c[k>>2]>>2]|0)|0;if(c[g>>2]|0){ce(c[g>>2]|0,c[h>>2]|0)|0;Dp(c[g>>2]|0,a[j>>0]|0,1)}c[l>>2]=c[g>>2];b=c[l>>2]|0;i=m;return b|0}c[l>>2]=0;b=c[l>>2]|0;i=m;return b|0}function aw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>32){c[(c[e>>2]|0)+188>>2]=-1;i=d;return}else{a=(c[e>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[f>>2]|0)-1;i=d;return}}function bw(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l;k=l+24|0;h=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;c[k>>2]=a;c[h>>2]=d;c[m>>2]=e;e=c[c[k>>2]>>2]|0;d=c[c[m>>2]>>2]|0;if((b[(c[m>>2]|0)+36>>1]|0)>=0){m=c[(c[(c[m>>2]|0)+4>>2]|0)+((b[(c[m>>2]|0)+36>>1]|0)*24|0)>>2]|0;c[f>>2]=d;c[f+4>>2]=m;c[g>>2]=Te(e,17448,f)|0;c[j>>2]=1555;m=c[k>>2]|0;e=c[j>>2]|0;d=c[h>>2]|0;a=c[g>>2]|0;ts(m,e,d,a,-1,2);i=l;return}else{c[f>>2]=d;c[g>>2]=Te(e,24432,f)|0;c[j>>2]=2579;m=c[k>>2]|0;e=c[j>>2]|0;d=c[h>>2]|0;a=c[g>>2]|0;ts(m,e,d,a,-1,2);i=l;return}}function cw(a,b,d,e){a=a|0;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;i=i+32|0;g=f+20|0;n=f+16|0;j=f+12|0;l=f+8|0;m=f+4|0;k=f;c[n>>2]=a;c[j>>2]=b;c[l>>2]=d;c[m>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){e=c[j>>2]|0;if(!(c[l>>2]|0)){if(Up(e)|0)h=1;else h=(c[(c[j>>2]|0)+16>>2]|0)!=0;c[g>>2]=h&1;n=c[g>>2]|0;i=f;return n|0}c[k>>2]=c[e+16>>2];while(1){e=c[j>>2]|0;if(!(c[k>>2]|0))break;if(Bu(e,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){h=9;break}c[k>>2]=c[(c[k>>2]|0)+4>>2]}if((h|0)==9){c[g>>2]=1;n=c[g>>2]|0;i=f;return n|0}c[k>>2]=Up(e)|0;while(1){if(!(c[k>>2]|0))break a;if(Du(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)break;c[k>>2]=c[(c[k>>2]|0)+12>>2]}c[g>>2]=1;n=c[g>>2]|0;i=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function dw(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[e>>2]=b;a[(c[e>>2]|0)+20>>0]=1;i=d;return}function ew(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;x=i;i=i+64|0;D=x+44|0;r=x+40|0;t=x+36|0;z=x+32|0;F=x+28|0;A=x+24|0;B=x+48|0;G=x+53|0;u=x+52|0;H=x+51|0;w=x+20|0;s=x+16|0;v=x+12|0;y=x+50|0;E=x+8|0;p=x+4|0;C=x;c[D>>2]=e;c[r>>2]=f;c[t>>2]=g;c[z>>2]=h;c[F>>2]=j;c[A>>2]=k;b[B>>1]=l;a[G>>0]=m;a[u>>0]=n;a[H>>0]=o;c[w>>2]=c[(c[D>>2]|0)+8>>2];c[s>>2]=0;c[v>>2]=Nr(c[w>>2]|0)|0;a[y>>0]=(d[(c[r>>2]|0)+44>>0]&32|0)==0?70:68;if(!(a[H>>0]|0))We(c[w>>2]|0,d[y>>0]|0,c[z>>2]|0,c[v>>2]|0,c[A>>2]|0,b[B>>1]|0)|0;H=(cw(c[D>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(H|(c[t>>2]|0)!=0){c[E>>2]=gw(c[D>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[u>>0]|0)|0;H=hw(c[D>>2]|0,c[r>>2]|0)|0;c[E>>2]=c[E>>2]|H;c[s>>2]=(c[(c[D>>2]|0)+72>>2]|0)+1;H=(c[D>>2]|0)+72|0;c[H>>2]=(c[H>>2]|0)+(1+(b[(c[r>>2]|0)+38>>1]|0));fp(c[w>>2]|0,33,c[A>>2]|0,c[s>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[r>>2]|0)+38>>1]|0))break;if((c[E>>2]|0)!=-1){if((c[p>>2]|0)<=31?(c[E>>2]&1<>2]|0)!=0:0)q=9}else q=9;if((q|0)==9){q=0;zs(c[w>>2]|0,c[r>>2]|0,c[z>>2]|0,c[p>>2]|0,(c[s>>2]|0)+(c[p>>2]|0)+1|0)}c[p>>2]=(c[p>>2]|0)+1}c[C>>2]=Mr(c[w>>2]|0)|0;tu(c[D>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[s>>2]|0,d[u>>0]|0,c[v>>2]|0);H=c[C>>2]|0;if((H|0)<(Mr(c[w>>2]|0)|0))We(c[w>>2]|0,d[y>>0]|0,c[z>>2]|0,c[v>>2]|0,c[A>>2]|0,b[B>>1]|0)|0;yu(c[D>>2]|0,c[r>>2]|0,c[s>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){g=c[D>>2]|0;h=c[r>>2]|0;j=c[s>>2]|0;iw(g,h,0,j,0,0);j=c[D>>2]|0;h=c[t>>2]|0;g=c[r>>2]|0;f=c[s>>2]|0;H=a[u>>0]|0;H=H&255;e=c[v>>2]|0;tu(j,h,109,0,2,g,f,H,e);e=c[w>>2]|0;H=c[v>>2]|0;Pr(e,H);i=x;return}fw(c[D>>2]|0,c[r>>2]|0,c[z>>2]|0,c[F>>2]|0,0);fp(c[w>>2]|0,95,c[z>>2]|0,(d[G>>0]|0)!=0?1:0)|0;if(!(a[G>>0]|0)){g=c[D>>2]|0;h=c[r>>2]|0;j=c[s>>2]|0;iw(g,h,0,j,0,0);j=c[D>>2]|0;h=c[t>>2]|0;g=c[r>>2]|0;f=c[s>>2]|0;H=a[u>>0]|0;H=H&255;e=c[v>>2]|0;tu(j,h,109,0,2,g,f,H,e);e=c[w>>2]|0;H=c[v>>2]|0;Pr(e,H);i=x;return}bf(c[w>>2]|0,-1,c[c[r>>2]>>2]|0,0);g=c[D>>2]|0;h=c[r>>2]|0;j=c[s>>2]|0;iw(g,h,0,j,0,0);j=c[D>>2]|0;h=c[t>>2]|0;g=c[r>>2]|0;f=c[s>>2]|0;H=a[u>>0]|0;H=H&255;e=c[v>>2]|0;tu(j,h,109,0,2,g,f,H,e);e=c[w>>2]|0;H=c[v>>2]|0;Pr(e,H);i=x;return}function fw(a,e,f,g,h){a=a|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+48|0;l=u+44|0;w=u+40|0;n=u+36|0;v=u+32|0;s=u+28|0;t=u+24|0;q=u+20|0;o=u+16|0;m=u+12|0;p=u+8|0;j=u+4|0;r=u;c[l>>2]=a;c[w>>2]=e;c[n>>2]=f;c[v>>2]=g;c[s>>2]=h;c[q>>2]=-1;c[p>>2]=0;c[j>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[w>>2]|0)+44>>0]|0)&32))h=0;else h=Zr(c[w>>2]|0)|0;c[r>>2]=h;c[t>>2]=0;c[m>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if(!((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0)==0:0))k=7;if((k|0)==7?(k=0,(c[m>>2]|0)!=(c[r>>2]|0)):0){c[q>>2]=ps(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1,o,c[p>>2]|0,c[q>>2]|0)|0;w=c[m>>2]|0;if((d[(c[m>>2]|0)+55>>0]|0)>>>3&1)w=b[w+50>>1]|0;else w=b[w+52>>1]|0;ip(c[j>>2]|0,111,(c[v>>2]|0)+(c[t>>2]|0)|0,c[q>>2]|0,w&65535)|0;qs(c[l>>2]|0,c[o>>2]|0);c[p>>2]=c[m>>2]}c[t>>2]=(c[t>>2]|0)+1;c[m>>2]=c[(c[m>>2]|0)+20>>2]}i=u;return}function gw(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;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,u=0,v=0;s=i;i=i+48|0;o=s+40|0;v=s+36|0;k=s+32|0;n=s+28|0;u=s+24|0;q=s+20|0;r=s+16|0;t=s+12|0;l=s+8|0;p=s+4|0;m=s;c[o>>2]=a;c[v>>2]=b;c[k>>2]=e;c[n>>2]=f;c[u>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=(c[k>>2]|0)!=0?110:109;c[l>>2]=0;c[p>>2]=c[v>>2];while(1){if(!(c[p>>2]|0))break;if((((d[(c[p>>2]|0)+8>>0]|0|0)==(c[t>>2]|0)?(c[u>>2]&(d[(c[p>>2]|0)+9>>0]|0)|0)!=0:0)?(ex(c[(c[p>>2]|0)+16>>2]|0,c[k>>2]|0)|0)!=0:0)?(c[m>>2]=lw(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0,(c[m>>2]|0)!=0):0)c[l>>2]=c[l>>2]|c[(c[m>>2]|0)+16+(c[n>>2]<<2)>>2];c[p>>2]=c[(c[p>>2]|0)+32>>2]}i=s;return c[l>>2]|0}function hw(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;m=k+4|0;h=k;c[j>>2]=a;c[f>>2]=d;c[g>>2]=0;if(!(c[(c[c[j>>2]>>2]|0)+24>>2]&524288)){a=c[g>>2]|0;i=k;return a|0}c[l>>2]=c[(c[f>>2]|0)+16>>2];while(1){if(!(c[l>>2]|0))break;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[l>>2]|0)+20>>2]|0))break;if((c[(c[l>>2]|0)+36+(c[m>>2]<<3)>>2]|0)>31)d=-1;else d=1<>2]|0)+36+(c[m>>2]<<3)>>2];c[g>>2]=c[g>>2]|d;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+4>>2]}c[l>>2]=Up(c[f>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;c[h>>2]=0;$t(c[j>>2]|0,c[f>>2]|0,c[l>>2]|0,h,0)|0;a:do if(c[h>>2]|0){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[h>>2]|0)+50>>1]|0))break a;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0)>31)d=-1;else d=1<>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1];c[g>>2]=c[g>>2]|d;c[m>>2]=(c[m>>2]|0)+1}}while(0);c[l>>2]=c[(c[l>>2]|0)+12>>2]}a=c[g>>2]|0;i=k;return a|0}function iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;q=i;i=i+32|0;k=q+28|0;m=q+24|0;p=q+20|0;n=q+16|0;h=q+12|0;r=q+8|0;o=q+4|0;l=q;c[k>>2]=a;c[m>>2]=b;c[p>>2]=d;c[n>>2]=e;c[h>>2]=f;c[r>>2]=g;if(!(c[(c[c[k>>2]>>2]|0)+24>>2]&524288)){i=q;return}c[o>>2]=Up(c[m>>2]|0)|0;while(1){if(!(c[o>>2]|0))break;if(!((c[h>>2]|0)!=0?(Du(c[m>>2]|0,c[o>>2]|0,c[h>>2]|0,c[r>>2]|0)|0)==0:0))j=6;if((j|0)==6?(j=0,c[l>>2]=jw(c[k>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[l>>2]|0)!=0):0)kw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,2,0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}i=q;return}function jw(e,f,g,h){e=e|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,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;q=i;i=i+144|0;l=q+136|0;w=q+132|0;r=q+128|0;j=q+124|0;p=q+120|0;D=q+116|0;C=q+112|0;n=q+108|0;m=q+104|0;B=q+140|0;y=q+100|0;x=q+96|0;M=q+92|0;E=q+88|0;o=q+84|0;t=q+80|0;u=q+76|0;v=q+72|0;N=q+68|0;H=q+64|0;I=q+56|0;F=q+48|0;L=q+40|0;G=q+32|0;K=q+28|0;J=q+24|0;s=q+20|0;O=q+16|0;A=q+8|0;z=q;c[w>>2]=e;c[r>>2]=f;c[j>>2]=g;c[p>>2]=h;c[D>>2]=c[c[w>>2]>>2];c[m>>2]=(c[p>>2]|0)!=0&1;c[C>>2]=d[(c[j>>2]|0)+25+(c[m>>2]|0)>>0];c[n>>2]=c[(c[j>>2]|0)+28+(c[m>>2]<<2)>>2];if(!((c[C>>2]|0)==0|(c[n>>2]|0)!=0)){c[M>>2]=0;c[E>>2]=0;c[o>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[H>>2]=0;if($t(c[w>>2]|0,c[r>>2]|0,c[j>>2]|0,M,E)|0){c[l>>2]=0;e=c[l>>2]|0;i=q;return e|0}c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[(c[j>>2]|0)+20>>2]|0))break;c[I+0>>2]=c[6094];c[I+4>>2]=c[6095];c[F+0>>2]=c[6096];c[F+4>>2]=c[6097];if(c[E>>2]|0)h=c[(c[E>>2]|0)+(c[N>>2]<<2)>>2]|0;else h=c[(c[j>>2]|0)+36>>2]|0;c[K>>2]=h;if(c[M>>2]|0)h=c[(c[(c[r>>2]|0)+4>>2]|0)+((b[(c[(c[M>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0)*24|0)>>2]|0;else h=24392;c[G>>2]=h;c[L>>2]=c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)>>2];c[G+4>>2]=Mb(c[G>>2]|0)|0;c[L+4>>2]=Mb(c[L>>2]|0)|0;f=c[w>>2]|0;g=c[w>>2]|0;e=Rn(c[w>>2]|0,27,0,0,I)|0;e=Rn(g,122,e,Rn(c[w>>2]|0,27,0,0,G)|0,0)|0;c[J>>2]=Rn(f,79,e,Rn(c[w>>2]|0,27,0,0,L)|0,0)|0;c[t>>2]=mr(c[D>>2]|0,c[t>>2]|0,c[J>>2]|0)|0;if(c[p>>2]|0){h=c[w>>2]|0;f=c[w>>2]|0;g=Rn(c[w>>2]|0,27,0,0,I)|0;g=Rn(f,122,g,Rn(c[w>>2]|0,27,0,0,G)|0,0)|0;f=c[w>>2]|0;e=Rn(c[w>>2]|0,27,0,0,F)|0;c[J>>2]=Rn(h,73,g,Rn(f,122,e,Rn(c[w>>2]|0,27,0,0,G)|0,0)|0,0)|0;c[H>>2]=mr(c[D>>2]|0,c[H>>2]|0,c[J>>2]|0)|0}if((c[C>>2]|0)!=6?(c[C>>2]|0)!=9|(c[p>>2]|0)!=0:0){do if((c[C>>2]|0)!=9){if((c[C>>2]|0)!=8){c[s>>2]=Rn(c[w>>2]|0,101,0,0,0)|0;break}c[O>>2]=c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+4>>2];if(c[O>>2]|0){c[s>>2]=Bq(c[D>>2]|0,c[O>>2]|0,0)|0;break}else{c[s>>2]=Rn(c[w>>2]|0,101,0,0,0)|0;break}}else{f=c[w>>2]|0;e=Rn(c[w>>2]|0,27,0,0,F)|0;c[s>>2]=Rn(f,122,e,Rn(c[w>>2]|0,27,0,0,G)|0,0)|0}while(0);c[u>>2]=eo(c[w>>2]|0,c[u>>2]|0,c[s>>2]|0)|0;fo(c[w>>2]|0,c[u>>2]|0,L,0)}c[N>>2]=(c[N>>2]|0)+1}Xb(c[D>>2]|0,c[E>>2]|0);c[y>>2]=c[c[c[j>>2]>>2]>>2];c[x>>2]=Mb(c[y>>2]|0)|0;if((c[C>>2]|0)==6){c[A>>2]=c[y>>2];c[A+4>>2]=c[x>>2];c[z>>2]=ho(c[D>>2]|0,57,24400)|0;if(c[z>>2]|0)a[(c[z>>2]|0)+1>>0]=2;g=c[w>>2]|0;f=eo(c[w>>2]|0,0,c[z>>2]|0)|0;e=ko(c[D>>2]|0,0,A,0)|0;c[v>>2]=co(g,f,e,c[t>>2]|0,0,0,0,0,0,0)|0;c[t>>2]=0}a[B>>0]=a[(c[D>>2]|0)+250>>0]|0;a[(c[D>>2]|0)+250>>0]=0;c[n>>2]=se(c[D>>2]|0,77+(c[x>>2]|0)|0,0)|0;if((c[n>>2]|0)!=0?(e=(c[n>>2]|0)+36|0,c[(c[n>>2]|0)+28>>2]=e,c[o>>2]=e,c[(c[o>>2]|0)+12>>2]=(c[o>>2]|0)+40,c[(c[o>>2]|0)+16>>2]=c[x>>2],dF(c[(c[o>>2]|0)+12>>2]|0,c[y>>2]|0,c[x>>2]|0)|0,e=Bq(c[D>>2]|0,c[t>>2]|0,1)|0,c[(c[o>>2]|0)+20>>2]=e,e=Jq(c[D>>2]|0,c[u>>2]|0,1)|0,c[(c[o>>2]|0)+24>>2]=e,e=Wp(c[D>>2]|0,c[v>>2]|0,1)|0,c[(c[o>>2]|0)+8>>2]=e,(c[H>>2]|0)!=0):0){c[H>>2]=Rn(c[w>>2]|0,19,c[H>>2]|0,0,0)|0;e=Bq(c[D>>2]|0,c[H>>2]|0,1)|0;c[(c[n>>2]|0)+12>>2]=e}a[(c[D>>2]|0)+250>>0]=a[B>>0]|0;wn(c[D>>2]|0,c[t>>2]|0);wn(c[D>>2]|0,c[H>>2]|0);sn(c[D>>2]|0,c[u>>2]|0);tn(c[D>>2]|0,c[v>>2]|0);if((d[(c[D>>2]|0)+64>>0]|0)==1){dx(c[D>>2]|0,c[n>>2]|0);c[l>>2]=0;e=c[l>>2]|0;i=q;return e|0}s=c[C>>2]|0;if((s|0)==6)a[c[o>>2]>>0]=119;else if((s|0)==9?(c[p>>2]|0)==0:0)a[c[o>>2]>>0]=109;else k=37;if((k|0)==37)a[c[o>>2]>>0]=110;c[(c[o>>2]|0)+4>>2]=c[n>>2];c[(c[n>>2]|0)+20>>2]=c[(c[r>>2]|0)+68>>2];c[(c[n>>2]|0)+24>>2]=c[(c[r>>2]|0)+68>>2];c[(c[j>>2]|0)+28+(c[m>>2]<<2)>>2]=c[n>>2];a[(c[n>>2]|0)+8>>0]=(c[p>>2]|0)!=0?110:109}c[l>>2]=c[n>>2];e=c[l>>2]|0;i=q;return e|0}function kw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;o=i;i=i+48|0;n=o+32|0;p=o+28|0;r=o+24|0;l=o+20|0;q=o+16|0;m=o+12|0;k=o+8|0;h=o+4|0;j=o;c[n>>2]=a;c[p>>2]=b;c[r>>2]=d;c[l>>2]=e;c[q>>2]=f;c[m>>2]=g;c[k>>2]=dp(c[n>>2]|0)|0;c[h>>2]=lw(c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[h>>2]|0)){i=o;return}if(c[c[p>>2]>>2]|0)g=0==(c[(c[c[n>>2]>>2]|0)+24>>2]&262144|0);else g=0;c[j>>2]=g&1;b=c[k>>2]|0;a=c[l>>2]|0;q=c[m>>2]|0;d=(c[n>>2]|0)+72|0;r=(c[d>>2]|0)+1|0;c[d>>2]=r;ip(b,131,a,q,r)|0;bf(c[k>>2]|0,-1,c[(c[h>>2]|0)+8>>2]|0,-18);Xe(c[k>>2]|0,c[j>>2]&255);i=o;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;f=g+8|0;m=g+4|0;l=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[f>>2]=e;e=c[h>>2]|0;if(c[(c[h>>2]|0)+408>>2]|0)e=c[e+408>>2]|0;c[m>>2]=e;c[l>>2]=c[(c[m>>2]|0)+528>>2];while(1){if(!(c[l>>2]|0))break;if((c[c[l>>2]>>2]|0)==(c[j>>2]|0)?(c[(c[l>>2]|0)+12>>2]|0)==(c[f>>2]|0):0)break;c[l>>2]=c[(c[l>>2]|0)+4>>2]}if(c[l>>2]|0){a=c[l>>2]|0;i=g;return a|0}c[l>>2]=mw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[f>>2]|0)|0;a=c[l>>2]|0;i=g;return a|0}function mw(b,e,f,g){b=b|0;e=e|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;q=i;i=i+96|0;j=q;s=q+84|0;w=q+80|0;l=q+76|0;u=q+72|0;p=q+68|0;v=q+64|0;k=q+60|0;t=q+56|0;m=q+52|0;r=q+48|0;n=q+16|0;x=q+12|0;o=q+8|0;h=q+4|0;c[w>>2]=b;c[l>>2]=e;c[u>>2]=f;c[p>>2]=g;g=c[w>>2]|0;if(c[(c[w>>2]|0)+408>>2]|0)g=c[g+408>>2]|0;c[v>>2]=g;c[k>>2]=c[c[w>>2]>>2];c[m>>2]=0;c[x>>2]=0;c[h>>2]=0;c[t>>2]=se(c[k>>2]|0,24,0)|0;if(!(c[t>>2]|0)){c[s>>2]=0;b=c[s>>2]|0;i=q;return b|0}c[(c[t>>2]|0)+4>>2]=c[(c[v>>2]|0)+528>>2];c[(c[v>>2]|0)+528>>2]=c[t>>2];b=se(c[k>>2]|0,28,0)|0;c[x>>2]=b;c[(c[t>>2]|0)+8>>2]=b;if(!(c[x>>2]|0)){c[s>>2]=0;b=c[s>>2]|0;i=q;return b|0}nw(c[(c[v>>2]|0)+8>>2]|0,c[x>>2]|0);c[c[t>>2]>>2]=c[l>>2];c[(c[t>>2]|0)+12>>2]=c[p>>2];c[(c[t>>2]|0)+16>>2]=-1;c[(c[t>>2]|0)+20>>2]=-1;c[o>>2]=se(c[k>>2]|0,536,0)|0;if(!(c[o>>2]|0)){c[s>>2]=0;b=c[s>>2]|0;i=q;return b|0}c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[n>>2]=c[o>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+412>>2]=c[u>>2];c[(c[o>>2]|0)+408>>2]=c[v>>2];c[(c[o>>2]|0)+492>>2]=c[c[l>>2]>>2];a[(c[o>>2]|0)+436>>0]=a[(c[l>>2]|0)+8>>0]|0;c[(c[o>>2]|0)+424>>2]=c[(c[w>>2]|0)+424>>2];c[r>>2]=dp(c[o>>2]|0)|0;if(c[r>>2]|0){e=c[r>>2]|0;b=c[k>>2]|0;c[j>>2]=c[c[l>>2]>>2];bf(e,-1,Te(b,24176,j)|0,-1);if(c[(c[l>>2]|0)+12>>2]|0){c[m>>2]=Bq(c[k>>2]|0,c[(c[l>>2]|0)+12>>2]|0,0)|0;if(0==(vq(n,c[m>>2]|0)|0)?(d[(c[k>>2]|0)+64>>0]|0|0)==0:0){c[h>>2]=Nr(c[r>>2]|0)|0;xs(c[o>>2]|0,c[m>>2]|0,c[h>>2]|0,16)}wn(c[k>>2]|0,c[m>>2]|0)}ow(c[o>>2]|0,c[(c[l>>2]|0)+28>>2]|0,c[p>>2]|0)|0;if(c[h>>2]|0)Pr(c[r>>2]|0,c[h>>2]|0);mp(c[r>>2]|0,24)|0;pw(c[w>>2]|0,c[o>>2]|0);if(!(d[(c[k>>2]|0)+64>>0]|0)){b=qw(c[r>>2]|0,(c[x>>2]|0)+4|0,(c[v>>2]|0)+392|0)|0;c[c[x>>2]>>2]=b}c[(c[x>>2]|0)+8>>2]=c[(c[o>>2]|0)+72>>2];c[(c[x>>2]|0)+12>>2]=c[(c[o>>2]|0)+68>>2];c[(c[x>>2]|0)+16>>2]=c[(c[o>>2]|0)+80>>2];c[(c[x>>2]|0)+20>>2]=c[l>>2];c[(c[t>>2]|0)+16>>2]=c[(c[o>>2]|0)+428>>2];c[(c[t>>2]|0)+20>>2]=c[(c[o>>2]|0)+432>>2];qn(c[r>>2]|0)}ef(c[o>>2]|0);Xb(c[k>>2]|0,c[o>>2]|0);c[s>>2]=c[t>>2];b=c[s>>2]|0;i=q;return b|0}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function ow(b,e,f){b=b|0;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;m=i;i=i+48|0;k=m+44|0;p=m+40|0;o=m+36|0;j=m+32|0;h=m+28|0;l=m+24|0;n=m+4|0;g=m;c[k>>2]=b;c[p>>2]=e;c[o>>2]=f;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[l>>2]=c[c[k>>2]>>2];c[j>>2]=c[p>>2];while(1){if(!(c[j>>2]|0))break;if((c[o>>2]|0)==10)f=a[(c[j>>2]|0)+1>>0]|0;else f=c[o>>2]&255;a[(c[k>>2]|0)+437>>0]=f;f=d[c[j>>2]>>0]|0;if((f|0)==109){b=c[k>>2]|0;p=cx(c[k>>2]|0,c[j>>2]|0)|0;no(b,p,Bq(c[l>>2]|0,c[(c[j>>2]|0)+20>>2]|0,0)|0)}else if((f|0)==108){f=c[k>>2]|0;e=cx(c[k>>2]|0,c[j>>2]|0)|0;b=Wp(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;p=yr(c[l>>2]|0,c[(c[j>>2]|0)+28>>2]|0)|0;qo(f,e,b,p,d[(c[k>>2]|0)+437>>0]|0)}else if((f|0)==110){f=c[k>>2]|0;e=cx(c[k>>2]|0,c[j>>2]|0)|0;b=Jq(c[l>>2]|0,c[(c[j>>2]|0)+24>>2]|0,0)|0;p=Bq(c[l>>2]|0,c[(c[j>>2]|0)+20>>2]|0,0)|0;po(f,e,b,p,d[(c[k>>2]|0)+437>>0]|0)}else{c[g>>2]=Wp(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;$s(n,4,0);ao(c[k>>2]|0,c[g>>2]|0,n)|0;tn(c[l>>2]|0,c[g>>2]|0)}if((d[c[j>>2]>>0]|0|0)!=119)mp(c[h>>2]|0,98)|0;c[j>>2]=c[(c[j>>2]|0)+32>>2]}i=m;return 0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;if(!(c[(c[e>>2]|0)+64>>2]|0)){c[(c[e>>2]|0)+4>>2]=c[b+4>>2];c[(c[e>>2]|0)+64>>2]=c[(c[f>>2]|0)+64>>2];i=d;return}else{Xb(c[b>>2]|0,c[(c[f>>2]|0)+4>>2]|0);i=d;return}}function qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];rw(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function rw(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;m=i;i=i+48|0;n=m+28|0;l=m+24|0;r=m+20|0;k=m+16|0;o=m+12|0;j=m+8|0;g=m+4|0;p=m+32|0;q=m;c[n>>2]=e;c[l>>2]=f;c[k>>2]=c[c[l>>2]>>2];c[j>>2]=c[(c[n>>2]|0)+24>>2];c[g>>2]=c[(c[j>>2]|0)+112>>2];e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-257|256;e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-513;c[o>>2]=c[(c[n>>2]|0)+4>>2];c[r>>2]=(c[(c[n>>2]|0)+32>>2]|0)-1;while(1){if((c[r>>2]|0)<0)break;a[p>>0]=a[c[o>>2]>>0]|0;switch(d[p>>0]|0|0){case 6:case 8:{c[(c[o>>2]|0)+16>>2]=47;a[(c[o>>2]|0)+1>>0]=-19;break};case 2:case 3:{h=8;break};case 10:case 1:{if((d[(c[o>>2]|0)+3>>0]|0|0)>(c[k>>2]|0))c[k>>2]=d[(c[o>>2]|0)+3>>0];break};case 12:case 13:case 11:{e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-257;e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-513|512;break};case 14:{c[q>>2]=c[(c[o>>2]|0)+ -20+4>>2];if((c[q>>2]|0)>(c[k>>2]|0))c[k>>2]=c[q>>2];break};case 15:{if((c[(c[o>>2]|0)+8>>2]|0)>(c[k>>2]|0))c[k>>2]=c[(c[o>>2]|0)+8>>2];break};case 4:{if(c[(c[o>>2]|0)+8>>2]|0){h=(c[n>>2]|0)+88|0;b[h>>1]=b[h>>1]&-257;h=8}else h=8;break};case 5:case 7:case 9:{c[(c[o>>2]|0)+16>>2]=46;a[(c[o>>2]|0)+1>>0]=-19;break};default:{}}if((h|0)==8){h=0;e=(c[n>>2]|0)+88|0;b[e>>1]=b[e>>1]&-513|512}a[(c[o>>2]|0)+2>>0]=a[24192+(d[p>>0]|0)>>0]|0;if(((d[(c[o>>2]|0)+2>>0]|0)&1|0)!=0?(c[(c[o>>2]|0)+8>>2]|0)<0:0)c[(c[o>>2]|0)+8>>2]=c[(c[g>>2]|0)+(-1-(c[(c[o>>2]|0)+8>>2]|0)<<2)>>2];c[r>>2]=(c[r>>2]|0)+ -1;c[o>>2]=(c[o>>2]|0)+20}Xb(c[c[n>>2]>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0;c[(c[j>>2]|0)+108>>2]=0;c[c[l>>2]>>2]=c[k>>2];i=m;return}function sw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;l=h+8|0;k=h+4|0;m=h;c[l>>2]=f;c[k>>2]=g;b[(c[l>>2]|0)+44>>1]=0;g=(c[l>>2]|0)+72|0;a[g>>0]=d[g>>0]&-7;c[c[k>>2]>>2]=0;g=c[l>>2]|0;if((d[(c[l>>2]|0)+73>>0]|0)!=1){c[j>>2]=ax(g,c[k>>2]|0)|0;f=c[j>>2]|0;i=h;return f|0}c[m>>2]=c[(c[l>>2]|0)+120+(b[g+76>>1]<<2)>>2];g=(c[l>>2]|0)+78+(b[(c[l>>2]|0)+76>>1]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;if((f&65535|0)>=(e[(c[m>>2]|0)+18>>1]|0)){f=(c[l>>2]|0)+78+(b[(c[l>>2]|0)+76>>1]<<1)|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16;c[j>>2]=ax(c[l>>2]|0,c[k>>2]|0)|0;f=c[j>>2]|0;i=h;return f|0}if(a[(c[m>>2]|0)+5>>0]|0){c[j>>2]=0;f=c[j>>2]|0;i=h;return f|0}else{c[j>>2]=bx(c[l>>2]|0)|0;f=c[j>>2]|0;i=h;return f|0}return 0}function tw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=f;c[l>>2]=g;c[c[l>>2]>>2]=0;f=(c[k>>2]|0)+72|0;a[f>>0]=d[f>>0]&-15;b[(c[k>>2]|0)+44>>1]=0;if(((d[(c[k>>2]|0)+73>>0]|0)==1?(e[(c[k>>2]|0)+78+(b[(c[k>>2]|0)+76>>1]<<1)>>1]|0)!=0:0)?(d[(c[(c[k>>2]|0)+120+(b[(c[k>>2]|0)+76>>1]<<2)>>2]|0)+5>>0]|0)!=0:0){f=(c[k>>2]|0)+78+(b[(c[k>>2]|0)+76>>1]<<1)|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16;c[j>>2]=0;f=c[j>>2]|0;i=h;return f|0}c[j>>2]=uw(c[k>>2]|0,c[l>>2]|0)|0;f=c[j>>2]|0;i=h;return f|0}function uw(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;k=i;i=i+32|0;j=k+20|0;m=k+16|0;l=k+12|0;n=k+8|0;o=k+4|0;p=k;c[m>>2]=f;c[l>>2]=g;if((d[(c[m>>2]|0)+73>>0]|0)!=1){if((d[(c[m>>2]|0)+73>>0]|0)>=3)g=vw(c[m>>2]|0)|0;else g=0;c[n>>2]=g;if(c[n>>2]|0){c[j>>2]=c[n>>2];f=c[j>>2]|0;i=k;return f|0}if(!(d[(c[m>>2]|0)+73>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;f=c[j>>2]|0;i=k;return f|0}if((c[(c[m>>2]|0)+68>>2]|0)!=0?(a[(c[m>>2]|0)+73>>0]=1,f=(c[(c[m>>2]|0)+68>>2]|0)<0,c[(c[m>>2]|0)+68>>2]=0,f):0){c[j>>2]=0;f=c[j>>2]|0;i=k;return f|0}}c[o>>2]=c[(c[m>>2]|0)+120+(b[(c[m>>2]|0)+76>>1]<<2)>>2];do if(a[(c[o>>2]|0)+5>>0]|0){while(1){p=b[(c[m>>2]|0)+76>>1]|0;if(e[(c[m>>2]|0)+78+(b[(c[m>>2]|0)+76>>1]<<1)>>1]|0)break;g=c[m>>2]|0;if(!p){h=17;break}yw(g)}if((h|0)==17){a[g+73>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;f=c[j>>2]|0;i=k;return f|0}f=(c[m>>2]|0)+78+(p<<1)|0;b[f>>1]=(b[f>>1]|0)+ -1<<16>>16;c[o>>2]=c[(c[m>>2]|0)+120+(b[(c[m>>2]|0)+76>>1]<<2)>>2];if((d[(c[o>>2]|0)+2>>0]|0)!=0?(a[(c[o>>2]|0)+5>>0]|0)==0:0){c[n>>2]=tw(c[m>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[p>>2]=e[(c[m>>2]|0)+78+(b[(c[m>>2]|0)+76>>1]<<1)>>1];f=c[m>>2]|0;c[n>>2]=ww(f,Hh((c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+(c[p>>2]<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+(c[p>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=xw(c[m>>2]|0)|0;break}c[j>>2]=c[n>>2];f=c[j>>2]|0;i=k;return f|0}while(0);c[j>>2]=c[n>>2];f=c[j>>2]|0;i=k;return f|0}function vw(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[h>>2]=b;b=c[h>>2]|0;if((d[(c[h>>2]|0)+73>>0]|0|0)==4){c[f>>2]=c[b+68>>2];b=c[f>>2]|0;i=e;return b|0}a[b+73>>0]=0;b=(c[h>>2]|0)+48|0;c[g>>2]=Dw(c[h>>2]|0,c[(c[h>>2]|0)+56>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,(c[h>>2]|0)+68|0)|0;if(((c[g>>2]|0)==0?(hc(c[(c[h>>2]|0)+56>>2]|0),c[(c[h>>2]|0)+56>>2]=0,(c[(c[h>>2]|0)+68>>2]|0)!=0):0)?(d[(c[h>>2]|0)+73>>0]|0|0)==1:0)a[(c[h>>2]|0)+73>>0]=2;c[f>>2]=c[g>>2];b=c[f>>2]|0;i=e;return b|0}function ww(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;h=i;i=i+32|0;j=h+24|0;m=h+20|0;p=h+16|0;k=h+12|0;n=h+8|0;l=h+4|0;o=h;c[m>>2]=f;c[p>>2]=g;c[n>>2]=b[(c[m>>2]|0)+76>>1];c[o>>2]=c[(c[m>>2]|0)+4>>2];if((b[(c[m>>2]|0)+76>>1]|0)>=19){c[j>>2]=kj(56561)|0;f=c[j>>2]|0;i=h;return f|0}c[k>>2]=zw(c[o>>2]|0,c[p>>2]|0,l,(d[(c[m>>2]|0)+72>>0]&1|0)==0?2:0)|0;if(c[k>>2]|0){c[j>>2]=c[k>>2];f=c[j>>2]|0;i=h;return f|0}c[(c[m>>2]|0)+120+((c[n>>2]|0)+1<<2)>>2]=c[l>>2];b[(c[m>>2]|0)+78+((c[n>>2]|0)+1<<1)>>1]=0;f=(c[m>>2]|0)+76|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[(c[m>>2]|0)+44>>1]=0;f=(c[m>>2]|0)+72|0;a[f>>0]=d[f>>0]&-7;if((e[(c[l>>2]|0)+18>>1]|0)>=1?(d[(c[l>>2]|0)+2>>0]|0)==(d[(c[(c[m>>2]|0)+120+(c[n>>2]<<2)>>2]|0)+2>>0]|0):0){c[j>>2]=0;f=c[j>>2]|0;i=h;return f|0}c[j>>2]=kj(56573)|0;f=c[j>>2]|0;i=h;return f|0}function xw(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+16|0;g=j+12|0;m=j+8|0;k=j+4|0;l=j;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;while(1){n=c[(c[g>>2]|0)+120+(b[(c[g>>2]|0)+76>>1]<<2)>>2]|0;c[l>>2]=n;f=c[l>>2]|0;if(!((a[n+5>>0]|0)!=0^1)){l=5;break}c[m>>2]=Hh((c[(c[l>>2]|0)+56>>2]|0)+((d[f+6>>0]|0)+8)|0)|0;b[(c[g>>2]|0)+78+(b[(c[g>>2]|0)+76>>1]<<1)>>1]=b[(c[l>>2]|0)+18>>1]|0;c[k>>2]=ww(c[g>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){l=4;break}}if((l|0)==4){c[h>>2]=c[k>>2];n=c[h>>2]|0;i=j;return n|0}else if((l|0)==5){b[(c[g>>2]|0)+78+(b[(c[g>>2]|0)+76>>1]<<1)>>1]=(e[f+18>>1]|0)-1;c[h>>2]=0;n=c[h>>2]|0;i=j;return n|0}return 0}function yw(e){e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;Rk(c[(c[g>>2]|0)+120+(b[(c[g>>2]|0)+76>>1]<<2)>>2]|0);e=(c[g>>2]|0)+76|0;b[e>>1]=(b[e>>1]|0)+ -1<<16>>16;b[(c[g>>2]|0)+44>>1]=0;e=(c[g>>2]|0)+72|0;a[e>>0]=d[e>>0]&-7;i=f;return}function zw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;j=g+8|0;k=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[j>>2]=e;c[k>>2]=f;a=c[l>>2]|0;if(a>>>0<=(Aw(c[m>>2]|0)|0)>>>0){c[h>>2]=Bw(c[m>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(((c[h>>2]|0)==0?(d[c[c[j>>2]>>2]>>0]|0|0)==0:0)?(c[h>>2]=Sj(c[c[j>>2]>>2]|0)|0,(c[h>>2]|0)!=0):0)Rk(c[c[j>>2]>>2]|0)}else c[h>>2]=kj(53903)|0;i=g;return c[h>>2]|0}function Aw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function Bw(a,b,d,e){a=a|0;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;k=i;i=i+32|0;g=k+24|0;f=k+20|0;l=k+16|0;j=k+12|0;n=k+8|0;h=k+4|0;m=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[n>>2]=e;c[h>>2]=Xc(c[c[f>>2]>>2]|0,c[l>>2]|0,m,c[n>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=c[h>>2];n=c[g>>2]|0;i=k;return n|0}else{n=Cw(c[m>>2]|0,c[l>>2]|0,c[f>>2]|0)|0;c[c[j>>2]>>2]=n;c[g>>2]=0;n=c[g>>2]|0;i=k;return n|0}return 0}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+12|0;h=g+8|0;j=g+4|0;f=g;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;c[f>>2]=Qj(c[k>>2]|0)|0;b=Zc(c[k>>2]|0)|0;c[(c[f>>2]|0)+56>>2]=b;c[(c[f>>2]|0)+68>>2]=c[k>>2];c[(c[f>>2]|0)+52>>2]=c[j>>2];c[(c[f>>2]|0)+72>>2]=c[h>>2];a[(c[f>>2]|0)+6>>0]=(c[(c[f>>2]|0)+72>>2]|0)==1?100:0;i=g;return c[f>>2]|0}function Dw(a,b,d,f,g,h){a=a|0;b=b|0;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,q=0,r=0,s=0;q=i;i=i+240|0;k=q+36|0;l=q+32|0;s=q+28|0;n=q;p=q+24|0;j=q+20|0;r=q+16|0;o=q+12|0;m=q+8|0;c[l>>2]=a;c[s>>2]=b;a=n;c[a>>2]=d;c[a+4>>2]=f;c[p>>2]=g;c[j>>2]=h;c[m>>2]=0;if(c[s>>2]|0){c[o>>2]=Ew(c[(c[l>>2]|0)+16>>2]|0,q+40|0,200,m)|0;if(!(c[o>>2]|0)){c[k>>2]=7;a=c[k>>2]|0;i=q;return a|0}Fw(c[(c[l>>2]|0)+16>>2]|0,c[n>>2]|0,c[s>>2]|0,c[o>>2]|0);if(!(e[(c[o>>2]|0)+4>>1]|0)){Xb(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0,c[m>>2]|0);c[k>>2]=kj(52917)|0;a=c[k>>2]|0;i=q;return a|0}}else c[o>>2]=0;a=n;c[r>>2]=Gw(c[l>>2]|0,c[o>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0)Xb(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0,c[m>>2]|0);c[k>>2]=c[r>>2];a=c[k>>2]|0;i=q;return a|0}function Ew(a,d,f,g){a=a|0;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;n=i;i=i+32|0;j=n+28|0;l=n+24|0;p=n+20|0;q=n+16|0;m=n+12|0;k=n+8|0;o=n+4|0;h=n;c[l>>2]=a;c[p>>2]=d;c[q>>2]=f;c[m>>2]=g;c[o>>2]=8-(c[p>>2]&7)&7;c[h>>2]=24+(((e[(c[l>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[h>>2]|0)>((c[q>>2]|0)+(c[o>>2]|0)|0)){q=c[h>>2]|0;c[k>>2]=Qe(c[(c[l>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[m>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;i=n;return q|0}}else{c[k>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[c[m>>2]>>2]=0}c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+24;c[c[k>>2]>>2]=c[l>>2];b[(c[k>>2]|0)+4>>1]=(e[(c[l>>2]|0)+6>>1]|0)+1;c[j>>2]=c[k>>2];q=c[j>>2]|0;i=n;return q|0}function Fw(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,u=0,v=0;k=i;i=i+48|0;o=k+36|0;p=k+32|0;v=k+28|0;l=k+24|0;q=k+20|0;r=k+16|0;t=k+12|0;m=k+40|0;u=k+8|0;n=k+4|0;s=k;c[o>>2]=f;c[p>>2]=g;c[v>>2]=h;c[l>>2]=j;c[q>>2]=c[v>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];a[(c[l>>2]|0)+6>>0]=0;j=c[q>>2]|0;if((d[c[q>>2]>>0]|0|0)<128){c[u>>2]=d[j>>0];j=1}else j=(Rw(j,u)|0)&255;c[t>>2]=j&255;c[r>>2]=c[u>>2];b[m>>1]=0;while(1){if((c[t>>2]|0)>>>0>=(c[u>>2]|0)>>>0){n=11;break}if((c[r>>2]|0)>(c[p>>2]|0)){n=11;break}j=(c[q>>2]|0)+(c[t>>2]|0)|0;if((d[(c[q>>2]|0)+(c[t>>2]|0)>>0]|0|0)<128){c[s>>2]=d[j>>0];j=1}else j=(Rw(j,s)|0)&255;c[t>>2]=(c[t>>2]|0)+(j&255);a[(c[n>>2]|0)+10>>0]=a[(c[o>>2]|0)+4>>0]|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+12>>2];c[(c[n>>2]|0)+24>>2]=0;v=Xw((c[q>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[n>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+v;c[n>>2]=(c[n>>2]|0)+40;v=(b[m>>1]|0)+1<<16>>16;b[m>>1]=v;if((v&65535|0)>=(e[(c[l>>2]|0)+4>>1]|0|0)){n=11;break}}if((n|0)==11){b[(c[l>>2]|0)+4>>1]=b[m>>1]|0;i=k;return}}function Gw(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;z=i;i=i+96|0;w=z+80|0;D=z+76|0;B=z+72|0;s=z+8|0;F=z+68|0;o=z+64|0;p=z+60|0;n=z+56|0;v=z+52|0;m=z+48|0;u=z+44|0;y=z+40|0;x=z+36|0;t=z+32|0;q=z+28|0;r=z;A=z+24|0;C=z+20|0;E=z+16|0;c[D>>2]=f;c[B>>2]=g;f=s;c[f>>2]=h;c[f+4>>2]=j;c[F>>2]=k;c[o>>2]=l;if(((d[(c[D>>2]|0)+73>>0]|0)==1?(d[(c[D>>2]|0)+72>>0]&2|0)!=0:0)?(d[(c[(c[D>>2]|0)+120>>2]|0)+2>>0]|0)!=0:0){g=(c[D>>2]|0)+24|0;f=s;if((c[g>>2]|0)==(c[f>>2]|0)?(c[g+4>>2]|0)==(c[f+4>>2]|0):0){c[c[o>>2]>>2]=0;c[w>>2]=0;f=c[w>>2]|0;i=z;return f|0}if((d[(c[D>>2]|0)+72>>0]&8|0)!=0?(g=(c[D>>2]|0)+24|0,j=c[g+4>>2]|0,f=s,h=c[f+4>>2]|0,(j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)):0){c[c[o>>2]>>2]=-1;c[w>>2]=0;f=c[w>>2]|0;i=z;return f|0}}if(c[B>>2]|0){c[n>>2]=Hw(c[B>>2]|0)|0;a[(c[B>>2]|0)+7>>0]=0}else c[n>>2]=0;c[p>>2]=Iw(c[D>>2]|0)|0;if(c[p>>2]|0){c[w>>2]=c[p>>2];f=c[w>>2]|0;i=z;return f|0}if(!(d[(c[D>>2]|0)+73>>0]|0)){c[c[o>>2]>>2]=-1;c[w>>2]=0;f=c[w>>2]|0;i=z;return f|0}a:do{c[t>>2]=c[(c[D>>2]|0)+120+(b[(c[D>>2]|0)+76>>1]<<2)>>2];c[v>>2]=0;c[m>>2]=(e[(c[t>>2]|0)+18>>1]|0)-1;c[u>>2]=c[m>>2]>>1-(c[F>>2]|0);b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];b:do if(!(c[n>>2]|0)){while(1){c[q>>2]=(c[(c[t>>2]|0)+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]))+(d[(c[t>>2]|0)+7>>0]|0);c:do if(a[(c[t>>2]|0)+3>>0]|0)while(1){f=c[q>>2]|0;c[q>>2]=f+1;if(128>(d[f>>0]|0))break c;if((c[q>>2]|0)>>>0>=(c[(c[t>>2]|0)+60>>2]|0)>>>0){l=20;break a}}while(0);Jw(c[q>>2]|0,r)|0;g=r;j=c[g+4>>2]|0;f=s;h=c[f+4>>2]|0;if((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[m>>2]|0)){l=23;break}}else{g=r;j=c[g+4>>2]|0;f=s;h=c[f+4>>2]|0;if(!((j|0)>(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>(c[f>>2]|0)>>>0:0))){l=27;break}c[m>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[m>>2]|0)){l=26;break}}c[u>>2]=(c[v>>2]|0)+(c[m>>2]|0)>>1}if((l|0)==23){c[y>>2]=-1;l=49;break}else if((l|0)==26){c[y>>2]=1;l=49;break}else if((l|0)==27){l=0;h=(c[D>>2]|0)+72|0;a[h>>0]=d[h>>0]|2;h=r;g=c[h+4>>2]|0;f=(c[D>>2]|0)+24|0;c[f>>2]=c[h>>2];c[f+4>>2]=g;b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];if(a[(c[t>>2]|0)+5>>0]|0){l=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[q>>2]=(c[(c[t>>2]|0)+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]))+(d[(c[t>>2]|0)+7>>0]|0);c[A>>2]=d[c[q>>2]>>0];do if((c[A>>2]|0)<=(d[(c[t>>2]|0)+8>>0]|0))c[y>>2]=pb[c[n>>2]&31](c[A>>2]|0,(c[q>>2]|0)+1|0,c[B>>2]|0)|0;else{if((d[(c[q>>2]|0)+1>>0]&128|0)==0?(f=((c[A>>2]&127)<<7)+(d[(c[q>>2]|0)+1>>0]|0)|0,c[A>>2]=f,(f|0)<=(e[(c[t>>2]|0)+10>>1]|0)):0){c[y>>2]=pb[c[n>>2]&31](c[A>>2]|0,(c[q>>2]|0)+2|0,c[B>>2]|0)|0;break}c[E>>2]=(c[q>>2]|0)+(0-(d[(c[t>>2]|0)+7>>0]|0));Kw(c[t>>2]|0,c[E>>2]|0,(c[D>>2]|0)+24|0);c[A>>2]=c[(c[D>>2]|0)+24>>2];f=c[A>>2]|0;c[C>>2]=gc(f,((f|0)<0)<<31>>31)|0;if(!(c[C>>2]|0)){l=37;break a}b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];c[p>>2]=Lw(c[D>>2]|0,0,c[A>>2]|0,c[C>>2]|0,2)|0;if(c[p>>2]|0){l=39;break a}c[y>>2]=pb[c[n>>2]&31](c[A>>2]|0,c[C>>2]|0,c[B>>2]|0)|0;hc(c[C>>2]|0)}while(0);if((c[y>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[y>>2]|0)<=0){l=45;break a}c[m>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[m>>2]|0)){l=49;break b}c[u>>2]=(c[v>>2]|0)+(c[m>>2]|0)>>1}while(0);if((l|0)==49?(l=0,(a[(c[t>>2]|0)+5>>0]|0)!=0):0){l=50;break}k=c[t>>2]|0;if((c[v>>2]|0)>=(e[(c[t>>2]|0)+18>>1]|0))c[x>>2]=Hh((c[(c[t>>2]|0)+56>>2]|0)+((d[k+6>>0]|0)+8)|0)|0;else c[x>>2]=Hh((c[k+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[v>>2];c[p>>2]=ww(c[D>>2]|0,c[x>>2]|0)|0}while((c[p>>2]|0)==0);if((l|0)==20){c[w>>2]=kj(56945)|0;f=c[w>>2]|0;i=z;return f|0}else if((l|0)==29){c[c[o>>2]>>2]=0;c[p>>2]=0}else if((l|0)==37)c[p>>2]=7;else if((l|0)==39)hc(c[C>>2]|0);else if((l|0)==45){c[c[o>>2]>>2]=0;c[p>>2]=0;b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+7>>0]|0)c[p>>2]=11}else if((l|0)==50){b[(c[D>>2]|0)+78+(b[(c[D>>2]|0)+76>>1]<<1)>>1]=c[u>>2];c[c[o>>2]>>2]=c[y>>2];c[p>>2]=0}b[(c[D>>2]|0)+44>>1]=0;f=(c[D>>2]|0)+72|0;a[f>>0]=d[f>>0]&-7;c[w>>2]=c[p>>2];f=c[w>>2]|0;i=z;return f|0}function Hw(b){b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;h=f+4|0;g=f;c[h>>2]=b;if(((e[(c[c[h>>2]>>2]|0)+6>>1]|0)+(e[(c[c[h>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1];b=(c[h>>2]|0)+12|0;if(a[c[(c[c[h>>2]>>2]|0)+16>>2]>>0]|0){c[b>>2]=1;c[(c[h>>2]|0)+16>>2]=-1}else{c[b>>2]=-1;c[(c[h>>2]|0)+16>>2]=1}if(c[g>>2]&4){c[d>>2]=15;b=c[d>>2]|0;i=f;return b|0}if((c[g>>2]&25|0)==0?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=16;b=c[d>>2]|0;i=f;return b|0}}c[d>>2]=17;b=c[d>>2]|0;i=f;return b|0}function Iw(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+16|0;k=j+12|0;l=j+8|0;g=j+4|0;m=j;c[k>>2]=f;c[g>>2]=0;do if((d[(c[k>>2]|0)+73>>0]|0)>=3){f=c[k>>2]|0;if((d[(c[k>>2]|0)+73>>0]|0)!=4){Qk(f);break}c[h>>2]=c[f+68>>2];f=c[h>>2]|0;i=j;return f|0}while(0);a:do if((b[(c[k>>2]|0)+76>>1]|0)>=0)while(1){if(!(b[(c[k>>2]|0)+76>>1]|0))break a;n=(c[k>>2]|0)+76|0;f=b[n>>1]|0;b[n>>1]=f+ -1<<16>>16;Rk(c[(c[k>>2]|0)+120+(f<<16>>16<<2)>>2]|0)}else{f=c[k>>2]|0;if(!(c[(c[k>>2]|0)+60>>2]|0)){a[f+73>>0]=0;c[h>>2]=0;n=c[h>>2]|0;i=j;return n|0}c[g>>2]=zw(c[(c[f>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+60>>2]|0,(c[k>>2]|0)+120|0,(d[(c[k>>2]|0)+72>>0]&1|0)==0?2:0)|0;f=c[k>>2]|0;if(!(c[g>>2]|0)){b[f+76>>1]=0;break}a[f+73>>0]=0;c[h>>2]=c[g>>2];n=c[h>>2]|0;i=j;return n|0}while(0);c[l>>2]=c[(c[k>>2]|0)+120>>2];if((d[c[l>>2]>>0]|0)!=0?((c[(c[k>>2]|0)+16>>2]|0)==0|0)==(d[(c[l>>2]|0)+2>>0]|0):0){b[(c[k>>2]|0)+78>>1]=0;b[(c[k>>2]|0)+44>>1]=0;n=(c[k>>2]|0)+72|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[l>>2]|0)+18>>1]|0)>0)a[(c[k>>2]|0)+73>>0]=1;else{if(a[(c[l>>2]|0)+5>>0]|0){a[(c[k>>2]|0)+73>>0]=0;break}if((c[(c[l>>2]|0)+72>>2]|0)==1){c[m>>2]=Hh((c[(c[l>>2]|0)+56>>2]|0)+((d[(c[l>>2]|0)+6>>0]|0)+8)|0)|0;a[(c[k>>2]|0)+73>>0]=1;c[g>>2]=ww(c[k>>2]|0,c[m>>2]|0)|0;break}c[h>>2]=kj(56709)|0;n=c[h>>2]|0;i=j;return n|0}while(0);c[h>>2]=c[g>>2];n=c[h>>2]|0;i=j;return n|0}c[h>>2]=kj(56698)|0;n=c[h>>2]|0;i=j;return n|0} - - - -function Jw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+20|0;m=k+16|0;j=k+12|0;h=k+8|0;f=k+4|0;l=k;c[m>>2]=b;c[j>>2]=e;c[h>>2]=d[c[m>>2]>>0];if(!(c[h>>2]&128)){b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=0;a[g>>0]=1;b=a[g>>0]|0;i=k;return b|0}c[m>>2]=(c[m>>2]|0)+1;c[f>>2]=d[c[m>>2]>>0];if(!(c[f>>2]&128)){c[h>>2]=c[h>>2]&127;c[h>>2]=c[h>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=0;a[g>>0]=2;b=a[g>>0]|0;i=k;return b|0}c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[h>>2]<<14;c[h>>2]=c[h>>2]|(d[c[m>>2]>>0]|0);b=(c[h>>2]&128|0)!=0;c[h>>2]=c[h>>2]&2080895;if(!b){c[f>>2]=c[f>>2]&127;c[f>>2]=c[f>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=0;a[g>>0]=3;b=a[g>>0]|0;i=k;return b|0}c[m>>2]=(c[m>>2]|0)+1;c[f>>2]=c[f>>2]<<14;c[f>>2]=c[f>>2]|(d[c[m>>2]>>0]|0);b=(c[f>>2]&128|0)!=0;c[f>>2]=c[f>>2]&2080895;e=c[h>>2]|0;if(!b){c[h>>2]=e<<7;c[h>>2]=c[h>>2]|c[f>>2];b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=0;a[g>>0]=4;b=a[g>>0]|0;i=k;return b|0}c[l>>2]=e;c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[h>>2]<<14;c[h>>2]=c[h>>2]|(d[c[m>>2]>>0]|0);if(!(c[h>>2]&128)){c[f>>2]=c[f>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=(c[l>>2]|0)>>>18;e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=5;b=a[g>>0]|0;i=k;return b|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[f>>2];c[m>>2]=(c[m>>2]|0)+1;c[f>>2]=c[f>>2]<<14;c[f>>2]=c[f>>2]|(d[c[m>>2]>>0]|0);if(!(c[f>>2]&128)){c[h>>2]=c[h>>2]&2080895;c[h>>2]=c[h>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=(c[l>>2]|0)>>>18;e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=6;b=a[g>>0]|0;i=k;return b|0}c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[h>>2]<<14;c[h>>2]=c[h>>2]|(d[c[m>>2]>>0]|0);e=c[h>>2]|0;if(!(c[h>>2]&128)){c[h>>2]=e&-266354561;c[f>>2]=c[f>>2]&2080895;c[f>>2]=c[f>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=(c[l>>2]|0)>>>11;e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=7;b=a[g>>0]|0;i=k;return b|0}c[h>>2]=e&2080895;c[m>>2]=(c[m>>2]|0)+1;c[f>>2]=c[f>>2]<<14;c[f>>2]=c[f>>2]|(d[c[m>>2]>>0]|0);if(c[f>>2]&128){c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[h>>2]<<15;c[h>>2]=c[h>>2]|(d[c[m>>2]>>0]|0);c[f>>2]=c[f>>2]&2080895;c[f>>2]=c[f>>2]<<8;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=c[l>>2]<<4;c[f>>2]=d[(c[m>>2]|0)+ -4>>0];c[f>>2]=c[f>>2]&127;c[f>>2]=(c[f>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[f>>2];e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=9;b=a[g>>0]|0;i=k;return b|0}else{c[f>>2]=c[f>>2]&-266354561;c[h>>2]=c[h>>2]<<7;c[h>>2]=c[h>>2]|c[f>>2];c[l>>2]=(c[l>>2]|0)>>>4;e=c[l>>2]|0;b=c[j>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;a[g>>0]=8;b=a[g>>0]|0;i=k;return b|0}return 0}function Kw(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;l=i;i=i+32|0;o=l+28|0;n=l+24|0;k=l+20|0;m=l+16|0;r=l+12|0;p=l+8|0;q=l+4|0;j=l;c[o>>2]=f;c[n>>2]=g;c[k>>2]=h;if(a[(c[o>>2]|0)+3>>0]|0){h=c[n>>2]|0;g=c[n>>2]|0;if((d[c[n>>2]>>0]|0)<128){c[r>>2]=d[g>>0];g=1}else g=(Rw(g,r)|0)&255;c[m>>2]=h+(g&255);f=(Jw(c[m>>2]|0,c[k>>2]|0)|0)&255;c[m>>2]=(c[m>>2]|0)+f}else{h=c[n>>2]|0;if(a[(c[o>>2]|0)+4>>0]|0){f=4+((Jw(h+4|0,c[k>>2]|0)|0)&255)&65535;b[(c[k>>2]|0)+20>>1]=f;c[(c[k>>2]|0)+12>>2]=0;b[(c[k>>2]|0)+16>>1]=0;b[(c[k>>2]|0)+18>>1]=0;c[(c[k>>2]|0)+8>>2]=0;i=l;return}c[m>>2]=h+(d[(c[o>>2]|0)+7>>0]|0);h=c[m>>2]|0;if((d[c[m>>2]>>0]|0)<128){c[r>>2]=d[h>>0];h=1}else h=(Rw(h,r)|0)&255;c[m>>2]=(c[m>>2]|0)+(h&255);f=c[k>>2]|0;c[f>>2]=c[r>>2];c[f+4>>2]=0}c[(c[k>>2]|0)+12>>2]=c[r>>2];c[(c[k>>2]|0)+8>>2]=c[m>>2];if((c[r>>2]|0)>>>0<=(e[(c[o>>2]|0)+10>>1]|0)>>>0){b[(c[k>>2]|0)+20>>1]=(c[r>>2]|0)+((c[m>>2]|0)-(c[n>>2]|0)&65535);if((e[(c[k>>2]|0)+20>>1]|0)<4)b[(c[k>>2]|0)+20>>1]=4;b[(c[k>>2]|0)+16>>1]=c[r>>2];b[(c[k>>2]|0)+18>>1]=0;i=l;return}c[p>>2]=e[(c[o>>2]|0)+12>>1];c[q>>2]=e[(c[o>>2]|0)+10>>1];c[j>>2]=(c[p>>2]|0)+((((c[r>>2]|0)-(c[p>>2]|0)|0)>>>0)%(((c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[j>>2]|0)<=(c[q>>2]|0))b[(c[k>>2]|0)+16>>1]=c[j>>2];else b[(c[k>>2]|0)+16>>1]=c[p>>2];b[(c[k>>2]|0)+18>>1]=(c[(c[k>>2]|0)+8>>2]|0)+(e[(c[k>>2]|0)+16>>1]|0)-(c[n>>2]|0);b[(c[k>>2]|0)+20>>1]=(e[(c[k>>2]|0)+18>>1]|0)+4;i=l;return}function Lw(f,g,h,j,k){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;m=i;i=i+80|0;w=m+72|0;t=m+68|0;q=m+64|0;o=m+60|0;A=m+56|0;z=m+52|0;y=m+48|0;n=m+44|0;s=m+40|0;C=m+36|0;x=m+32|0;E=m+28|0;B=m+24|0;r=m+20|0;p=m+16|0;u=m+12|0;v=m+8|0;l=m+4|0;D=m;c[t>>2]=f;c[q>>2]=g;c[o>>2]=h;c[A>>2]=j;c[z>>2]=k;c[n>>2]=0;c[s>>2]=0;c[C>>2]=c[(c[t>>2]|0)+120+(b[(c[t>>2]|0)+76>>1]<<2)>>2];c[x>>2]=c[(c[t>>2]|0)+4>>2];if(!(e[(c[t>>2]|0)+44>>1]|0)){c[E>>2]=b[(c[t>>2]|0)+76>>1];Mw(c[(c[t>>2]|0)+120+(c[E>>2]<<2)>>2]|0,e[(c[t>>2]|0)+78+(c[E>>2]<<1)>>1]|0,(c[t>>2]|0)+24|0);f=(c[t>>2]|0)+72|0;a[f>>0]=d[f>>0]|2}c[y>>2]=c[(c[t>>2]|0)+32>>2];if(((c[y>>2]|0)+(e[(c[t>>2]|0)+40>>1]|0)|0)>>>0>((c[(c[C>>2]|0)+56>>2]|0)+(c[(c[x>>2]|0)+36>>2]|0)|0)>>>0){c[w>>2]=kj(56278)|0;f=c[w>>2]|0;i=m;return f|0}if((c[q>>2]|0)>>>0<(e[(c[t>>2]|0)+40>>1]|0)>>>0){c[B>>2]=c[o>>2];if(((c[B>>2]|0)+(c[q>>2]|0)|0)>>>0>(e[(c[t>>2]|0)+40>>1]|0)>>>0)c[B>>2]=(e[(c[t>>2]|0)+40>>1]|0)-(c[q>>2]|0);c[n>>2]=Nw((c[y>>2]|0)+(c[q>>2]|0)|0,c[A>>2]|0,c[B>>2]|0,c[z>>2]&1,c[(c[C>>2]|0)+68>>2]|0)|0;c[q>>2]=0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[B>>2]|0)}else c[q>>2]=(c[q>>2]|0)-(e[(c[t>>2]|0)+40>>1]|0);a:do if((c[n>>2]|0)==0&(c[o>>2]|0)>>>0>0){c[r>>2]=(c[(c[x>>2]|0)+36>>2]|0)-4;c[p>>2]=Hh((c[y>>2]|0)+(e[(c[t>>2]|0)+40>>1]|0)|0)|0;if((c[z>>2]|0)!=2?(d[(c[t>>2]|0)+72>>0]&4|0)==0:0){c[u>>2]=(((c[(c[t>>2]|0)+36>>2]|0)-(e[(c[t>>2]|0)+40>>1]|0)+(c[r>>2]|0)-1|0)>>>0)/((c[r>>2]|0)>>>0)|0;do if((c[u>>2]|0)>(c[(c[t>>2]|0)+64>>2]|0)){c[v>>2]=Fk(c[c[c[t>>2]>>2]>>2]|0,c[(c[t>>2]|0)+20>>2]|0,c[u>>2]<<1<<2,0)|0;if(!(c[v>>2]|0)){c[n>>2]=7;break}else{c[(c[t>>2]|0)+64>>2]=c[u>>2]<<1;c[(c[t>>2]|0)+20>>2]=c[v>>2];break}}while(0);if(!(c[n>>2]|0)){_E(c[(c[t>>2]|0)+20>>2]|0,0,c[u>>2]<<2|0)|0;f=(c[t>>2]|0)+72|0;a[f>>0]=d[f>>0]|4}}if((d[(c[t>>2]|0)+72>>0]&4|0)!=0?(c[(c[(c[t>>2]|0)+20>>2]|0)+((((c[q>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[s>>2]=((c[q>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;c[p>>2]=c[(c[(c[t>>2]|0)+20>>2]|0)+(c[s>>2]<<2)>>2];c[q>>2]=((c[q>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0}while(1){if(!((c[n>>2]|0)==0&(c[o>>2]|0)>>>0>0&(c[p>>2]|0)!=0))break a;if(d[(c[t>>2]|0)+72>>0]&4)c[(c[(c[t>>2]|0)+20>>2]|0)+(c[s>>2]<<2)>>2]=c[p>>2];if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0){if(c[(c[(c[t>>2]|0)+20>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0)c[p>>2]=c[(c[(c[t>>2]|0)+20>>2]|0)+((c[s>>2]|0)+1<<2)>>2];else c[n>>2]=Ow(c[x>>2]|0,c[p>>2]|0,0,p)|0;c[q>>2]=(c[q>>2]|0)-(c[r>>2]|0)}else{c[l>>2]=c[o>>2];if(((c[l>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[r>>2]|0)>>>0)c[l>>2]=(c[r>>2]|0)-(c[q>>2]|0);c[n>>2]=Xc(c[c[x>>2]>>2]|0,c[p>>2]|0,D,(c[z>>2]&1|0)==0?2:0)|0;if(!(c[n>>2]|0)){c[y>>2]=Zc(c[D>>2]|0)|0;c[p>>2]=Hh(c[y>>2]|0)|0;c[n>>2]=Nw((c[y>>2]|0)+((c[q>>2]|0)+4)|0,c[A>>2]|0,c[l>>2]|0,c[z>>2]&1,c[D>>2]|0)|0;_c(c[D>>2]|0);c[q>>2]=0}c[o>>2]=(c[o>>2]|0)-(c[l>>2]|0);c[A>>2]=(c[A>>2]|0)+(c[l>>2]|0)}c[s>>2]=(c[s>>2]|0)+1}}while(0);if((c[n>>2]|0)==0&(c[o>>2]|0)>>>0>0){c[w>>2]=kj(56431)|0;f=c[w>>2]|0;i=m;return f|0}else{c[w>>2]=c[n>>2];f=c[w>>2]|0;i=m;return f|0}return 0}function Mw(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Kw(c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function Nw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;h=m+24|0;l=m+20|0;k=m+16|0;j=m+12|0;o=m+8|0;n=m+4|0;g=m;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[o>>2]=e;c[n>>2]=f;do if(c[o>>2]|0){c[g>>2]=gd(c[n>>2]|0)|0;if(!(c[g>>2]|0)){dF(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;break}c[h>>2]=c[g>>2];o=c[h>>2]|0;i=m;return o|0}else dF(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;while(0);c[h>>2]=0;o=c[h>>2]|0;i=m;return o|0}function Ow(b,e,f,g){b=b|0;e=e|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;h=i;i=i+48|0;o=h+32|0;p=h+28|0;k=h+24|0;m=h+20|0;q=h+16|0;l=h+12|0;j=h+8|0;r=h+4|0;n=h;s=h+36|0;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[m>>2]=g;c[q>>2]=0;c[l>>2]=0;c[j>>2]=0;if(a[(c[o>>2]|0)+17>>0]|0){c[n>>2]=(c[p>>2]|0)+1;while(1){b=Pw(c[o>>2]|0,c[n>>2]|0)|0;if((b|0)==(c[n>>2]|0))f=1;else f=(c[n>>2]|0)==((((c[282]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0);g=c[n>>2]|0;if(!f)break;c[n>>2]=g+1}if(((g>>>0<=(Aw(c[o>>2]|0)|0)>>>0?(c[j>>2]=Qw(c[o>>2]|0,c[n>>2]|0,s,r)|0,(c[j>>2]|0)==0):0)?(d[s>>0]|0)==4:0)?(c[r>>2]|0)==(c[p>>2]|0):0){c[q>>2]=c[n>>2];c[j>>2]=101}}if((c[j>>2]|0)==0?(c[j>>2]=Bw(c[o>>2]|0,c[p>>2]|0,l,(c[k>>2]|0)==0?2:0)|0,(c[j>>2]|0)==0):0)c[q>>2]=Hh(c[(c[l>>2]|0)+56>>2]|0)|0;c[c[m>>2]>>2]=c[q>>2];l=c[l>>2]|0;if(c[k>>2]|0){c[c[k>>2]>>2]=l;e=c[j>>2]|0;e=(e|0)==101;b=c[j>>2]|0;b=e?0:b;i=h;return b|0}else{Rk(l);e=c[j>>2]|0;e=(e|0)==101;b=c[j>>2]|0;b=e?0:b;i=h;return b|0}return 0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+20|0;g=d+16|0;j=d+12|0;h=d+8|0;k=d+4|0;f=d;c[g>>2]=a;c[j>>2]=b;if((c[j>>2]|0)>>>0<2){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=(((c[(c[g>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[k>>2]=(((c[j>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[f>>2]=($(c[k>>2]|0,c[h>>2]|0)|0)+2;if((c[f>>2]|0)==((((c[282]|0)>>>0)/((c[(c[g>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[f>>2]=(c[f>>2]|0)+1;c[e>>2]=c[f>>2];a=c[e>>2]|0;i=d;return a|0}function Qw(b,e,f,g){b=b|0;e=e|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;o=i;i=i+48|0;j=o+36|0;s=o+32|0;q=o+28|0;h=o+24|0;p=o+20|0;l=o+16|0;r=o+12|0;m=o+8|0;n=o+4|0;k=o;c[s>>2]=b;c[q>>2]=e;c[h>>2]=f;c[p>>2]=g;c[r>>2]=Pw(c[s>>2]|0,c[q>>2]|0)|0;c[k>>2]=Xc(c[c[s>>2]>>2]|0,c[r>>2]|0,l,0)|0;if(c[k>>2]|0){c[j>>2]=c[k>>2];s=c[j>>2]|0;i=o;return s|0}c[m>>2]=Zc(c[l>>2]|0)|0;c[n>>2]=((c[q>>2]|0)-(c[r>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){_c(c[l>>2]|0);c[j>>2]=kj(53113)|0;s=c[j>>2]|0;i=o;return s|0}a[c[h>>2]>>0]=a[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[p>>2]|0){s=Hh((c[m>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[p>>2]>>2]=s}_c(c[l>>2]|0);if((d[c[h>>2]>>0]|0|0)>=1?(d[c[h>>2]>>0]|0|0)<=5:0){c[j>>2]=0;s=c[j>>2]|0;i=o;return s|0}c[j>>2]=kj(53121)|0;s=c[j>>2]|0;i=o;return s|0}function Rw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+25|0;l=f+20|0;h=f+16|0;k=f+12|0;j=f+8|0;m=f;n=f+24|0;c[l>>2]=b;c[h>>2]=e;c[k>>2]=d[c[l>>2]>>0];c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=d[c[l>>2]>>0];if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[k>>2]|c[j>>2];a[g>>0]=2;b=a[g>>0]|0;i=f;return b|0}c[l>>2]=(c[l>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[l>>2]>>0]|0);if(!(c[k>>2]&128)){c[k>>2]=c[k>>2]&2080895;c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[k>>2]|c[j>>2];a[g>>0]=3;b=a[g>>0]|0;i=f;return b|0}c[l>>2]=(c[l>>2]|0)+ -2;a[n>>0]=Jw(c[l>>2]|0,m)|0;b=m;if(0!=(c[b+4>>2]|0)?1:(c[m>>2]|0)!=(c[b>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[g>>0]=a[n>>0]|0;b=a[g>>0]|0;i=f;return b|0}function Sw(b,f,g){b=b|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;j=i;i=i+64|0;h=j+52|0;k=j+48|0;l=j+44|0;m=j+40|0;q=j+36|0;t=j+32|0;n=j+28|0;r=j+24|0;s=j+16|0;o=j+8|0;p=j;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[q>>2]=(c[l>>2]|0)+(d[c[l>>2]>>0]&63);c[t>>2]=d[(c[l>>2]|0)+1>>0];g=c[(c[m>>2]|0)+8>>2]|0;f=c[g+4>>2]|0;b=o;c[b>>2]=c[g>>2];c[b+4>>2]=f;do switch(c[t>>2]|0){case 5:{b=a[c[q>>2]>>0]<<8|d[(c[q>>2]|0)+1>>0];t=p;c[t>>2]=bF(d[(c[q>>2]|0)+2>>0]<<24|d[(c[q>>2]|0)+3>>0]<<16|d[(c[q>>2]|0)+4>>0]<<8|d[(c[q>>2]|0)+5>>0]|0,0,lF(0,1,b|0,((b|0)<0)<<31>>31|0)|0,D|0)|0;c[t+4>>2]=D;break};case 3:{b=a[c[q>>2]>>0]<<16|d[(c[q>>2]|0)+1>>0]<<8|d[(c[q>>2]|0)+2>>0];t=p;c[t>>2]=b;c[t+4>>2]=((b|0)<0)<<31>>31;break};case 2:{b=a[c[q>>2]>>0]<<8|d[(c[q>>2]|0)+1>>0];t=p;c[t>>2]=b;c[t+4>>2]=((b|0)<0)<<31>>31;break};case 7:case 0:{c[h>>2]=Uw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;t=c[h>>2]|0;i=j;return t|0};case 4:{c[r>>2]=d[c[q>>2]>>0]<<24|d[(c[q>>2]|0)+1>>0]<<16|d[(c[q>>2]|0)+2>>0]<<8|d[(c[q>>2]|0)+3>>0];b=c[r>>2]|0;t=p;c[t>>2]=b;c[t+4>>2]=((b|0)<0)<<31>>31;break};case 6:{b=s;c[b>>2]=d[c[q>>2]>>0]<<24|d[(c[q>>2]|0)+1>>0]<<16|d[(c[q>>2]|0)+2>>0]<<8|d[(c[q>>2]|0)+3>>0];c[b+4>>2]=0;b=c[s>>2]|0;f=s;c[f>>2]=d[(c[q>>2]|0)+4>>0]<<24|d[(c[q>>2]|0)+5>>0]<<16|d[(c[q>>2]|0)+6>>0]<<8|d[(c[q>>2]|0)+7>>0];c[f+4>>2]=b;f=s;b=c[f+4>>2]|0;t=p;c[t>>2]=c[f>>2];c[t+4>>2]=b;break};case 9:{t=p;c[t>>2]=1;c[t+4>>2]=0;break};case 8:{t=p;c[t>>2]=0;c[t+4>>2]=0;break};case 1:{b=a[c[q>>2]>>0]|0;t=p;c[t>>2]=b;c[t+4>>2]=((b|0)<0)<<31>>31;break};default:{c[h>>2]=Uw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;t=c[h>>2]|0;i=j;return t|0}}while(0);b=o;s=c[b+4>>2]|0;t=p;f=c[t+4>>2]|0;do if(!((s|0)>(f|0)|((s|0)==(f|0)?(c[b>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){b=o;s=c[b+4>>2]|0;t=p;f=c[t+4>>2]|0;o=c[m>>2]|0;if((s|0)<(f|0)|((s|0)==(f|0)?(c[b>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[n>>2]=c[o+16>>2];break}if((e[o+4>>1]|0)>1){c[n>>2]=Vw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,1)|0;break}else{c[n>>2]=a[(c[m>>2]|0)+6>>0];break}}else c[n>>2]=c[(c[m>>2]|0)+12>>2];while(0);c[h>>2]=c[n>>2];t=c[h>>2]|0;i=j;return t|0}function Tw(b,f,g){b=b|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;h=i;i=i+48|0;j=h+36|0;m=h+32|0;l=h+28|0;q=h+24|0;n=h+20|0;s=h+16|0;k=h+12|0;p=h+8|0;o=h+4|0;r=h;c[m>>2]=b;c[l>>2]=f;c[q>>2]=g;c[n>>2]=c[l>>2];g=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[s>>2]=d[g>>0];else Rw(g,s)|0;do if((c[s>>2]|0)>=12){if(!(c[s>>2]&1)){c[k>>2]=c[(c[q>>2]|0)+16>>2];break}c[r>>2]=d[c[n>>2]>>0];c[o>>2]=((c[s>>2]|0)-12|0)/2|0;if(((c[r>>2]|0)+(c[o>>2]|0)|0)>(c[m>>2]|0)){b=(kj(67026)|0)&255;a[(c[q>>2]|0)+7>>0]=b;c[j>>2]=0;b=c[j>>2]|0;i=h;return b|0}if((c[(c[(c[q>>2]|0)+8>>2]|0)+12>>2]|0)<(c[o>>2]|0))s=c[(c[(c[q>>2]|0)+8>>2]|0)+12>>2]|0;else s=c[o>>2]|0;c[p>>2]=s;c[k>>2]=TE((c[n>>2]|0)+(c[r>>2]|0)|0,c[(c[(c[q>>2]|0)+8>>2]|0)+16>>2]|0,c[p>>2]|0)|0;if(c[k>>2]|0){l=c[q>>2]|0;if((c[k>>2]|0)>0){c[k>>2]=c[l+16>>2];break}else{c[k>>2]=c[l+12>>2];break}}c[k>>2]=(c[o>>2]|0)-(c[(c[(c[q>>2]|0)+8>>2]|0)+12>>2]|0);if(!(c[k>>2]|0))if((e[(c[q>>2]|0)+4>>1]|0)>1){c[k>>2]=Vw(c[m>>2]|0,c[l>>2]|0,c[q>>2]|0,1)|0;break}else{c[k>>2]=a[(c[q>>2]|0)+6>>0];break}else{l=c[q>>2]|0;if((c[k>>2]|0)>0){c[k>>2]=c[l+16>>2];break}else{c[k>>2]=c[l+12>>2];break}}}else c[k>>2]=c[(c[q>>2]|0)+12>>2];while(0);c[j>>2]=c[k>>2];b=c[j>>2]|0;i=h;return b|0}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Vw(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return a|0}function Vw(f,g,j,k){f=f|0;g=g|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,E=0,F=0,G=0,H=0,I=0,J=0,K=0;p=i;i=i+160|0;o=p+148|0;A=p+144|0;K=p+140|0;l=p+136|0;J=p+132|0;q=p+128|0;E=p+124|0;B=p+120|0;v=p+116|0;m=p+112|0;C=p+108|0;n=p+104|0;H=p+100|0;s=p+40|0;I=p+96|0;r=p+92|0;G=p+32|0;t=p+24|0;u=p+16|0;x=p+8|0;w=p;F=p+88|0;z=p+84|0;y=p+80|0;c[A>>2]=f;c[K>>2]=g;c[l>>2]=j;c[J>>2]=k;c[m>>2]=0;c[C>>2]=c[(c[l>>2]|0)+8>>2];c[n>>2]=c[c[l>>2]>>2];c[H>>2]=c[K>>2];k=c[H>>2]|0;do if(c[J>>2]|0){j=(c[H>>2]|0)+1|0;if((d[k+1>>0]|0)<128){c[I>>2]=d[j>>0];k=1}else k=(Rw(j,I)|0)&255;c[v>>2]=1+(k&255);c[B>>2]=d[c[H>>2]>>0];K=c[B>>2]|0;c[q>>2]=K+(Ww(c[I>>2]|0)|0);c[E>>2]=1;c[C>>2]=(c[C>>2]|0)+40}else{I=c[H>>2]|0;if((d[k>>0]|0)<128){c[B>>2]=d[I>>0];I=1}else I=(Rw(I,B)|0)&255;c[v>>2]=I&255;c[q>>2]=c[B>>2];if((c[q>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[E>>2]=0;break}K=(kj(66745)|0)&255;a[(c[l>>2]|0)+7>>0]=K;c[o>>2]=0;K=c[o>>2]|0;i=p;return K|0}while(0);a:while(1){do if(e[(c[C>>2]|0)+8>>1]&4){c[r>>2]=d[(c[H>>2]|0)+(c[v>>2]|0)>>0];if((c[r>>2]|0)>>>0>=12){c[m>>2]=1;break}if(!(c[r>>2]|0)){c[m>>2]=-1;break}if((c[r>>2]|0)==7){K=c[C>>2]|0;h[G>>3]=+((c[K>>2]|0)>>>0)+4294967296.0*+(c[K+4>>2]|0);Xw((c[H>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0,s)|0;if(+h[s>>3]<+h[G>>3]){c[m>>2]=-1;break}if(!(+h[s>>3]>+h[G>>3]))break;c[m>>2]=1;break}else{g=Yw(c[r>>2]|0,(c[H>>2]|0)+(c[q>>2]|0)|0)|0;K=t;c[K>>2]=g;c[K+4>>2]=D;K=c[C>>2]|0;g=c[K+4>>2]|0;J=u;c[J>>2]=c[K>>2];c[J+4>>2]=g;J=t;g=c[J+4>>2]|0;K=u;f=c[K+4>>2]|0;if((g|0)<(f|0)|((g|0)==(f|0)?(c[J>>2]|0)>>>0<(c[K>>2]|0)>>>0:0)){c[m>>2]=-1;break}J=t;g=c[J+4>>2]|0;K=u;f=c[K+4>>2]|0;if(!((g|0)>(f|0)|((g|0)==(f|0)?(c[J>>2]|0)>>>0>(c[K>>2]|0)>>>0:0)))break;c[m>>2]=1;break}}else{if(e[(c[C>>2]|0)+8>>1]&8){c[r>>2]=d[(c[H>>2]|0)+(c[v>>2]|0)>>0];if((c[r>>2]|0)>>>0>=12){c[m>>2]=1;break}if(!(c[r>>2]|0)){c[m>>2]=-1;break}h[x>>3]=+h[c[C>>2]>>3];Xw((c[H>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0,s)|0;if((c[r>>2]|0)==7)h[w>>3]=+h[s>>3];else{K=s;h[w>>3]=+((c[K>>2]|0)>>>0)+4294967296.0*+(c[K+4>>2]|0)}if(+h[w>>3]<+h[x>>3]){c[m>>2]=-1;break}if(!(+h[w>>3]>+h[x>>3]))break;c[m>>2]=1;break}if(!(e[(c[C>>2]|0)+8>>1]&2)){k=d[(c[H>>2]|0)+(c[v>>2]|0)>>0]|0;if(!(e[(c[C>>2]|0)+8>>1]&16)){c[r>>2]=k;c[m>>2]=(c[r>>2]|0)!=0&1;break}I=(c[H>>2]|0)+(c[v>>2]|0)|0;if((k|0)<128)c[r>>2]=d[I>>0];else Rw(I,r)|0;if((c[r>>2]|0)>>>0>=12?(c[r>>2]&1|0)==0:0){c[z>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[q>>2]|0)+(c[z>>2]|0)|0)>>>0>(c[A>>2]|0)>>>0){q=63;break a}if((c[z>>2]|0)<(c[(c[C>>2]|0)+12>>2]|0))I=c[z>>2]|0;else I=c[(c[C>>2]|0)+12>>2]|0;c[y>>2]=I;c[m>>2]=TE((c[H>>2]|0)+(c[q>>2]|0)|0,c[(c[C>>2]|0)+16>>2]|0,c[y>>2]|0)|0;if(c[m>>2]|0)break;c[m>>2]=(c[z>>2]|0)-(c[(c[C>>2]|0)+12>>2]|0);break}c[m>>2]=-1;break}I=(c[H>>2]|0)+(c[v>>2]|0)|0;if((d[(c[H>>2]|0)+(c[v>>2]|0)>>0]|0)<128)c[r>>2]=d[I>>0];else Rw(I,r)|0;if((c[r>>2]|0)>>>0<12){c[m>>2]=-1;break}if(!(c[r>>2]&1)){c[m>>2]=1;break}c[s+12>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[q>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[A>>2]|0)>>>0){q=47;break a}if(c[(c[n>>2]|0)+20+(c[E>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[n>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[n>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[H>>2]|0)+(c[q>>2]|0);c[m>>2]=cn(s,c[C>>2]|0,c[(c[n>>2]|0)+20+(c[E>>2]<<2)>>2]|0,(c[l>>2]|0)+7|0)|0;break}if((c[s+12>>2]|0)<(c[(c[C>>2]|0)+12>>2]|0))I=c[s+12>>2]|0;else I=c[(c[C>>2]|0)+12>>2]|0;c[F>>2]=I;c[m>>2]=TE((c[H>>2]|0)+(c[q>>2]|0)|0,c[(c[C>>2]|0)+16>>2]|0,c[F>>2]|0)|0;if(!(c[m>>2]|0))c[m>>2]=(c[s+12>>2]|0)-(c[(c[C>>2]|0)+12>>2]|0)}while(0);I=c[E>>2]|0;if(c[m>>2]|0){q=71;break}c[E>>2]=I+1;c[C>>2]=(c[C>>2]|0)+40;K=Ww(c[r>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+K;K=Zw(c[r>>2]|0,0)|0;c[v>>2]=(c[v>>2]|0)+K;if((c[v>>2]|0)>>>0>=(c[B>>2]|0)>>>0){q=77;break}if((c[E>>2]|0)>=(e[(c[l>>2]|0)+4>>1]|0)){q=77;break}if((c[q>>2]|0)>>>0>(c[A>>2]|0)>>>0){q=77;break}}if((q|0)==47){K=(kj(66824)|0)&255;a[(c[l>>2]|0)+7>>0]=K;c[o>>2]=0;K=c[o>>2]|0;i=p;return K|0}else if((q|0)==63){K=(kj(66853)|0)&255;a[(c[l>>2]|0)+7>>0]=K;c[o>>2]=0;K=c[o>>2]|0;i=p;return K|0}else if((q|0)==71){if(a[(c[(c[n>>2]|0)+16>>2]|0)+I>>0]|0)c[m>>2]=0-(c[m>>2]|0);c[o>>2]=c[m>>2];K=c[o>>2]|0;i=p;return K|0}else if((q|0)==77){c[o>>2]=a[(c[l>>2]|0)+6>>0];K=c[o>>2]|0;i=p;return K|0}return 0}function Ww(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=12){c[e>>2]=((a-12|0)>>>0)/2|0;f=c[e>>2]|0;i=b;return f|0}else{c[e>>2]=d[24360+a>>0];f=c[e>>2]|0;i=b;return f|0}return 0}function Xw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;l=h+8|0;m=h+4|0;k=h;c[l>>2]=e;c[m>>2]=f;c[k>>2]=g;switch(c[m>>2]|0){case 4:{f=a[c[l>>2]>>0]<<24|d[(c[l>>2]|0)+1>>0]<<16|d[(c[l>>2]|0)+2>>0]<<8|d[(c[l>>2]|0)+3>>0];e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=4;e=c[j>>2]|0;i=h;return e|0};case 2:{f=a[c[l>>2]>>0]<<8|d[(c[l>>2]|0)+1>>0];e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=2;e=c[j>>2]|0;i=h;return e|0};case 9:case 8:{e=c[k>>2]|0;c[e>>2]=(c[m>>2]|0)-8;c[e+4>>2]=0;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=0;e=c[j>>2]|0;i=h;return e|0};case 3:{f=a[c[l>>2]>>0]<<16|d[(c[l>>2]|0)+1>>0]<<8|d[(c[l>>2]|0)+2>>0];e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=3;e=c[j>>2]|0;i=h;return e|0};case 1:{f=a[c[l>>2]>>0]|0;e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=1;e=c[j>>2]|0;i=h;return e|0};case 5:{e=d[(c[l>>2]|0)+2>>0]<<24|d[(c[l>>2]|0)+3>>0]<<16|d[(c[l>>2]|0)+4>>0]<<8|d[(c[l>>2]|0)+5>>0];f=a[c[l>>2]>>0]<<8|d[(c[l>>2]|0)+1>>0];f=bF(e|0,0,lF(0,1,f|0,((f|0)<0)<<31>>31|0)|0,D|0)|0;e=c[k>>2]|0;c[e>>2]=f;c[e+4>>2]=D;b[(c[k>>2]|0)+8>>1]=4;c[j>>2]=6;e=c[j>>2]|0;i=h;return e|0};case 7:case 6:{c[j>>2]=_w(c[l>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;e=c[j>>2]|0;i=h;return e|0};case 0:case 11:case 10:{b[(c[k>>2]|0)+8>>1]=1;c[j>>2]=0;e=c[j>>2]|0;i=h;return e|0};default:{c[(c[k>>2]|0)+16>>2]=c[l>>2];c[(c[k>>2]|0)+12>>2]=(((c[m>>2]|0)-12|0)>>>0)/2|0;b[(c[k>>2]|0)+8>>1]=b[24352+((c[m>>2]&1)<<1)>>1]|0;c[j>>2]=c[(c[k>>2]|0)+12>>2];e=c[j>>2]|0;i=h;return e|0}}return 0}function Yw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;f=g+8|0;l=g+24|0;h=g+20|0;j=g+16|0;k=g;c[l>>2]=b;c[h>>2]=e;switch(c[l>>2]|0){case 5:{k=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+3>>0]<<16|d[(c[h>>2]|0)+4>>0]<<8|d[(c[h>>2]|0)+5>>0];l=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];b=f;c[b>>2]=bF(k|0,0,lF(0,1,l|0,((l|0)<0)<<31>>31|0)|0,D|0)|0;c[b+4>>2]=D;break};case 4:{c[j>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];l=c[j>>2]|0;b=f;c[b>>2]=l;c[b+4>>2]=((l|0)<0)<<31>>31;break};case 6:{b=k;c[b>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[b+4>>2]=0;b=c[k>>2]|0;l=k;c[l>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+5>>0]<<16|d[(c[h>>2]|0)+6>>0]<<8|d[(c[h>>2]|0)+7>>0];c[l+4>>2]=b;l=c[k+4>>2]|0;b=f;c[b>>2]=c[k>>2];c[b+4>>2]=l;break};case 2:{l=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];b=f;c[b>>2]=l;c[b+4>>2]=((l|0)<0)<<31>>31;break};case 3:{l=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];b=f;c[b>>2]=l;c[b+4>>2]=((l|0)<0)<<31>>31;break};case 1:case 0:{l=a[c[h>>2]>>0]|0;b=f;c[b>>2]=l;c[b+4>>2]=((l|0)<0)<<31>>31;break};default:{b=f;c[b>>2]=(c[l>>2]|0)-8;c[b+4>>2]=0}}b=f;D=c[b+4>>2]|0;i=g;return c[b>>2]|0}function Zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d;e=d+8|0;g=f;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;a=f;a=cF(c[a>>2]|0,c[a+4>>2]|0,7)|0;g=f;c[g>>2]=a;c[g+4>>2]=D;g=f}while(((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0)&(c[e>>2]|0)<9);i=d;return c[e>>2]|0}function _w(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;n=g+20|0;l=g+16|0;j=g+12|0;k=g;m=g+8|0;c[n>>2]=a;c[l>>2]=e;c[j>>2]=f;e=k;c[e>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[e+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+5>>0]|0)<<16|(d[(c[n>>2]|0)+6>>0]|0)<<8|(d[(c[n>>2]|0)+7>>0]|0);e=bF(0,c[k>>2]|0,c[m>>2]|0,0)|0;a=k;c[a>>2]=e;c[a+4>>2]=D;if((c[l>>2]|0)==6){l=k;m=c[l+4>>2]|0;n=c[j>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[j>>2]|0)+8>>1]=4;i=g;return 8}else{n=c[j>>2]|0;c[n+0>>2]=c[k+0>>2];c[n+4>>2]=c[k+4>>2];n=($w(+h[c[j>>2]>>3])|0)!=0;b[(c[j>>2]|0)+8>>1]=n?1:8;i=g;return 8}return 0}function $w(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function ax(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;l=i;i=i+32|0;k=l+20|0;n=l+16|0;m=l+12|0;o=l+8|0;p=l+4|0;h=l;c[n>>2]=f;c[m>>2]=g;if((d[(c[n>>2]|0)+73>>0]|0)!=1){if((d[(c[n>>2]|0)+73>>0]|0)>=3)g=vw(c[n>>2]|0)|0;else g=0;c[o>>2]=g;if(c[o>>2]|0){c[k>>2]=c[o>>2];f=c[k>>2]|0;i=l;return f|0}if(!(d[(c[n>>2]|0)+73>>0]|0)){c[c[m>>2]>>2]=1;c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}if((c[(c[n>>2]|0)+68>>2]|0)!=0?(a[(c[n>>2]|0)+73>>0]=1,f=(c[(c[n>>2]|0)+68>>2]|0)>0,c[(c[n>>2]|0)+68>>2]=0,f):0){c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}}c[h>>2]=c[(c[n>>2]|0)+120+(b[(c[n>>2]|0)+76>>1]<<2)>>2];f=(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;c[p>>2]=g&65535;g=(a[(c[h>>2]|0)+5>>0]|0)!=0;if((c[p>>2]|0)<(e[(c[h>>2]|0)+18>>1]|0))if(g){c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}else{c[k>>2]=bx(c[n>>2]|0)|0;f=c[k>>2]|0;i=l;return f|0}if(!g){f=c[n>>2]|0;c[o>>2]=ww(f,Hh((c[(c[h>>2]|0)+56>>2]|0)+((d[(c[h>>2]|0)+6>>0]|0)+8)|0)|0)|0;if(c[o>>2]|0){c[k>>2]=c[o>>2];f=c[k>>2]|0;i=l;return f|0}else{c[k>>2]=bx(c[n>>2]|0)|0;f=c[k>>2]|0;i=l;return f|0}}do{if(!(b[(c[n>>2]|0)+76>>1]|0)){j=17;break}yw(c[n>>2]|0);c[h>>2]=c[(c[n>>2]|0)+120+(b[(c[n>>2]|0)+76>>1]<<2)>>2]}while((e[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]|0)>=(e[(c[h>>2]|0)+18>>1]|0));if((j|0)==17){c[c[m>>2]>>2]=1;a[(c[n>>2]|0)+73>>0]=0;c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}if(a[(c[h>>2]|0)+2>>0]|0){c[k>>2]=sw(c[n>>2]|0,c[m>>2]|0)|0;f=c[k>>2]|0;i=l;return f|0}else{c[k>>2]=0;f=c[k>>2]|0;i=l;return f|0}return 0}function bx(f){f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;j=g+12|0;l=g+8|0;h=g+4|0;k=g;c[j>>2]=f;c[h>>2]=0;while(1){if(c[h>>2]|0){f=5;break}f=c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2]|0;c[k>>2]=f;if(!((a[f+5>>0]|0)!=0^1)){f=5;break}c[l>>2]=Hh((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]&(d[(c[(c[k>>2]|0)+64>>2]|0)+(e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]<<1)>>0]<<8|d[(c[(c[k>>2]|0)+64>>2]|0)+(e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]<<1)+1>>0]))|0)|0;c[h>>2]=ww(c[j>>2]|0,c[l>>2]|0)|0}if((f|0)==5){i=g;return c[h>>2]|0}return 0}function cx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d+16|0;j=d+12|0;h=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[j>>2]=b;c[e>>2]=ko(c[c[f>>2]>>2]|0,0,(c[j>>2]|0)+12|0,0)|0;if(!(c[e>>2]|0)){a=c[e>>2]|0;i=d;return a|0}c[h>>2]=Ve(c[c[f>>2]>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[h>>2]|0)==0|(c[h>>2]|0)>=2)){a=c[e>>2]|0;i=d;return a|0}c[g>>2]=c[c[f>>2]>>2];a=ne(c[g>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0;c[(c[e>>2]|0)+8+(((c[c[e>>2]>>2]|0)-1|0)*72|0)+4>>2]=a;a=c[e>>2]|0;i=d;return a|0}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];wn(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0);sn(c[g>>2]|0,c[(c[f>>2]|0)+24>>2]|0);tn(c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0);wn(c[g>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Xb(c[g>>2]|0,c[e>>2]|0);i=d;return}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[g>>2]>>2]|0)){b=8;break}if((ir(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)+4>>2]|0)|0)>=0){b=6;break}c[h>>2]=(c[h>>2]|0)+1}if((b|0)==6){c[e>>2]=1;a=c[e>>2]|0;i=d;return a|0}else if((b|0)==8){c[e>>2]=0;a=c[e>>2]|0;i=d;return a|0}return 0}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;g=e+4|0;f=e;c[g>>2]=a;c[f>>2]=b;b=(c[f>>2]|0)==0;do if(c[g>>2]|0)if(b){c[d>>2]=0;break}else{c[d>>2]=(xc(c[g>>2]|0,c[f>>2]|0)|0)==0&1;break}else c[d>>2]=b&1;while(0);i=e;return c[d>>2]|0}function gx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;k=g+8|0;j=g+4|0;l=g;c[k>>2]=a;c[j>>2]=f;if((e[(c[k>>2]|0)+50>>1]|0)!=(e[(c[j>>2]|0)+50>>1]|0)){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}if((d[(c[k>>2]|0)+54>>0]|0)!=(d[(c[j>>2]|0)+54>>0]|0)){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(e[(c[j>>2]|0)+50>>1]|0)){f=14;break}if((b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)!=(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)){f=8;break}if((d[(c[(c[j>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0)!=(d[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0)){f=10;break}if(!(fx(c[(c[(c[j>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2]|0)|0)){f=12;break}c[l>>2]=(c[l>>2]|0)+1}if((f|0)==8){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}else if((f|0)==10){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}else if((f|0)==12){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}else if((f|0)==14)if(Dq(c[(c[j>>2]|0)+36>>2]|0,c[(c[k>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;a=c[h>>2]|0;i=g;return a|0}else{c[h>>2]=1;a=c[h>>2]|0;i=g;return a|0}return 0}function hx(a,d,e,f,g,h,j,k){a=a|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,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;l=i;i=i+96|0;z=l+88|0;y=l+84|0;v=l+80|0;C=l+76|0;A=l+72|0;D=l+68|0;m=l+64|0;q=l+60|0;n=l+56|0;x=l+52|0;u=l+48|0;E=l+44|0;r=l+40|0;w=l+36|0;s=l+32|0;o=l+28|0;t=l+24|0;p=l+20|0;B=l;c[z>>2]=a;c[y>>2]=d;c[v>>2]=e;c[C>>2]=f;c[A>>2]=g;c[D>>2]=h;c[m>>2]=j;c[q>>2]=k;c[n>>2]=c[(c[z>>2]|0)+8>>2];c[x>>2]=0;c[u>>2]=0;c[t>>2]=c[c[z>>2]>>2];c[p>>2]=Rp(c[t>>2]|0,c[v>>2]|0)|0;a=c[z>>2]|0;c[x>>2]=eo(a,0,ho(c[t>>2]|0,27,24560)|0)|0;if(c[A>>2]|0){d=c[z>>2]|0;a=c[x>>2]|0;c[x>>2]=eo(d,a,Bq(c[t>>2]|0,c[A>>2]|0,0)|0)|0}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[v>>2]|0)+38>>1]|0))break;j=c[t>>2]|0;k=c[w>>2]|0;if((c[(c[D>>2]|0)+(c[w>>2]<<2)>>2]|0)>=0)c[E>>2]=Bq(j,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[(c[D>>2]|0)+(k<<2)>>2]|0)*20|0)>>2]|0,0)|0;else c[E>>2]=ho(j,27,c[(c[(c[v>>2]|0)+4>>2]|0)+(k*24|0)>>2]|0)|0;c[x>>2]=eo(c[z>>2]|0,c[x>>2]|0,c[E>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=co(c[z>>2]|0,c[x>>2]|0,c[y>>2]|0,c[m>>2]|0,0,0,0,0,0,0)|0;a=(c[z>>2]|0)+68|0;d=c[a>>2]|0;c[a>>2]=d+1;c[r>>2]=d;fp(c[n>>2]|0,57,c[r>>2]|0,(b[(c[v>>2]|0)+38>>1]|0)+1+((c[A>>2]|0)!=0&1)|0)|0;Xe(c[n>>2]|0,8);$s(B,14,c[r>>2]|0);ao(c[z>>2]|0,c[u>>2]|0,B)|0;d=(c[z>>2]|0)+72|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[o>>2]=a;a=(c[z>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+((b[(c[v>>2]|0)+38>>1]|0)+1);c[s>>2]=fp(c[n>>2]|0,108,c[r>>2]|0,0)|0;ip(c[n>>2]|0,47,c[r>>2]|0,0,c[o>>2]|0)|0;ip(c[n>>2]|0,47,c[r>>2]|0,(c[A>>2]|0)!=0?1:0,(c[o>>2]|0)+1|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[v>>2]|0)+38>>1]|0))break;ip(c[n>>2]|0,47,c[r>>2]|0,(c[w>>2]|0)+1+((c[A>>2]|0)!=0&1)|0,(c[o>>2]|0)+2+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}wu(c[z>>2]|0,c[v>>2]|0);hp(c[n>>2]|0,15,0,(b[(c[v>>2]|0)+38>>1]|0)+2|0,c[o>>2]|0,c[p>>2]|0,-10)|0;Xe(c[n>>2]|0,((c[q>>2]|0)==10?2:c[q>>2]|0)&255);Sp(c[z>>2]|0);fp(c[n>>2]|0,9,c[r>>2]|0,(c[s>>2]|0)+1|0)|0;zp(c[n>>2]|0,c[s>>2]|0);fp(c[n>>2]|0,61,c[r>>2]|0,0)|0;tn(c[t>>2]|0,c[u>>2]|0);i=l;return}function ix(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+492>>2];c[(c[f>>2]|0)+492>>2]=c[g>>2];i=e;return}function jx(a,b,d,e){a=a|0;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,o=0,p=0;m=i;i=i+64|0;k=m+48|0;p=m+44|0;f=m+40|0;l=m+36|0;j=m+16|0;g=m+12|0;n=m+8|0;h=m+4|0;o=m;c[k>>2]=a;c[p>>2]=b;c[f>>2]=d;c[l>>2]=e;c[h>>2]=c[c[k>>2]>>2];c[o>>2]=Ve(c[h>>2]|0,c[(c[p>>2]|0)+68>>2]|0)|0;c[f>>2]=Bq(c[h>>2]|0,c[f>>2]|0,0)|0;c[n>>2]=ko(c[h>>2]|0,0,0,0)|0;if(c[n>>2]|0){a=ne(c[h>>2]|0,c[c[p>>2]>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=a;a=ne(c[h>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=a}c[g>>2]=co(c[k>>2]|0,0,c[n>>2]|0,c[f>>2]|0,0,0,0,0,0,0)|0;$s(j,12,c[l>>2]|0);ao(c[k>>2]|0,c[g>>2]|0,j)|0;tn(c[h>>2]|0,c[g>>2]|0);i=m;return}function kx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a+0>>2]=c[b+0>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+38>>0]|0|0}function lx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[(c[d>>2]|0)+4>>2]|0)){i=b;return}c[(c[(c[d>>2]|0)+4>>2]|0)+492>>2]=c[c[d>>2]>>2];c[(c[d>>2]|0)+4>>2]=0;i=b;return}function mx(a,b,d,e){a=a|0;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,o=0,p=0;g=i;i=i+48|0;f=g+32|0;o=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;h=g+12|0;m=g+8|0;p=g+4|0;n=g;c[o>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[k>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[p>>2]=(c[c[l>>2]>>2]|0)+(c[k>>2]|0);c[m>>2]=Fk(c[o>>2]|0,c[l>>2]|0,80+(((c[p>>2]|0)-1|0)*72|0)|0,0)|0;if(c[m>>2]|0){c[l>>2]=c[m>>2];c[n>>2]=((((Bk(c[o>>2]|0,c[m>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[n>>2];break}c[f>>2]=c[l>>2];a=c[f>>2]|0;i=g;return a|0}while(0);c[h>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break;e=(c[l>>2]|0)+8+(((c[h>>2]|0)+(c[k>>2]|0)|0)*72|0)+0|0;n=(c[l>>2]|0)+8+((c[h>>2]|0)*72|0)+0|0;m=e+72|0;do{c[e>>2]=c[n>>2];e=e+4|0;n=n+4|0}while((e|0)<(m|0));c[h>>2]=(c[h>>2]|0)+ -1}a=c[l>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]|0);_E((c[l>>2]|0)+8+((c[j>>2]|0)*72|0)|0,0,(c[k>>2]|0)*72|0)|0;c[h>>2]=c[j>>2];while(1){if((c[h>>2]|0)>=((c[j>>2]|0)+(c[k>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[h>>2]|0)*72|0)+40>>2]=-1;c[h>>2]=(c[h>>2]|0)+1}c[f>>2]=c[l>>2];a=c[f>>2]|0;i=g;return a|0}function nx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;h=f;g=f+20|0;j=f+16|0;m=f+12|0;l=f+8|0;k=f+4|0;c[j>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){Se(c[j>>2]|0,25392,h);c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}function ox(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;sr(c[e>>2]|0,b);i=d;return c[b>>2]|0}function px(f,g,h,j,k){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,M=0,N=0,O=0,P=0,Q=0;E=i;i=i+128|0;x=E+112|0;I=E+108|0;H=E+104|0;l=E+100|0;s=E+96|0;C=E+92|0;Q=E+88|0;p=E+84|0;r=E+80|0;o=E+76|0;w=E+72|0;y=E+68|0;u=E+64|0;q=E+60|0;t=E+56|0;m=E+52|0;B=E+48|0;n=E+44|0;P=E+40|0;M=E+36|0;O=E+32|0;J=E+28|0;K=E+24|0;L=E+20|0;F=E+16|0;G=E+12|0;z=E+8|0;v=E+116|0;A=E+4|0;D=E;c[I>>2]=f;c[H>>2]=g;c[l>>2]=h;c[s>>2]=j;c[C>>2]=k;c[Q>>2]=c[(c[I>>2]|0)+492>>2];c[n>>2]=c[c[I>>2]>>2];if(e[(c[n>>2]|0)+60>>1]&1){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}c[w>>2]=c[(c[H>>2]|0)+32>>2];c[B>>2]=(c[w>>2]|0)+8+((c[l>>2]|0)*72|0);c[q>>2]=c[(c[B>>2]|0)+40>>2];c[r>>2]=c[(c[B>>2]|0)+20>>2];if((c[s>>2]|0)!=0&(c[C>>2]|0)!=0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[C>>2]|0)!=0?(c[c[w>>2]>>2]|0)>1:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}c[y>>2]=c[(c[r>>2]|0)+32>>2];if((c[(c[r>>2]|0)+60>>2]|0)!=0?(c[(c[H>>2]|0)+60>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(c[(c[r>>2]|0)+64>>2]|0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((e[(c[H>>2]|0)+6>>1]&64|0)!=0?(c[(c[r>>2]|0)+60>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(!(c[c[y>>2]>>2]|0)){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(e[(c[r>>2]|0)+6>>1]&1){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[(c[r>>2]|0)+60>>2]|0)!=0?(c[s>>2]|0)!=0?1:(c[c[w>>2]>>2]|0)>1:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[C>>2]|0)!=0?(e[(c[H>>2]|0)+6>>1]&1|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[(c[H>>2]|0)+48>>2]|0)!=0?(c[(c[r>>2]|0)+48>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[s>>2]|0)!=0?(c[(c[r>>2]|0)+48>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[(c[r>>2]|0)+60>>2]|0)!=0?(c[(c[H>>2]|0)+36>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((c[(c[r>>2]|0)+60>>2]|0)!=0?(e[(c[H>>2]|0)+6>>1]&1|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(e[(c[r>>2]|0)+6>>1]&6144){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if((e[(c[H>>2]|0)+6>>1]&2048|0)!=0?(c[(c[r>>2]|0)+52>>2]|0)!=0:0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(d[(c[B>>2]|0)+36>>0]&32){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}a:do if(c[(c[r>>2]|0)+52>>2]|0){if(c[(c[r>>2]|0)+48>>2]|0){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}do if(!(c[s>>2]|0)){if(e[(c[H>>2]|0)+6>>1]&1)break;if((c[c[w>>2]>>2]|0)!=1)break;c[o>>2]=c[r>>2];while(1){if(!(c[o>>2]|0))break;if(e[(c[o>>2]|0)+6>>1]&5){N=58;break}if((c[(c[o>>2]|0)+52>>2]|0)!=0?(d[(c[o>>2]|0)+4>>0]|0)!=116:0){N=58;break}if((c[c[(c[o>>2]|0)+32>>2]>>2]|0)<1){N=58;break}if((c[c[c[r>>2]>>2]>>2]|0)!=(c[c[c[o>>2]>>2]>>2]|0)){N=58;break}c[o>>2]=c[(c[o>>2]|0)+52>>2]}if((N|0)==58){c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}if(!(c[(c[H>>2]|0)+48>>2]|0))break a;c[P>>2]=0;while(1){if((c[P>>2]|0)>=(c[c[(c[H>>2]|0)+48>>2]>>2]|0))break a;if(!(e[(c[(c[(c[H>>2]|0)+48>>2]|0)+4>>2]|0)+((c[P>>2]|0)*20|0)+16>>1]|0))break;c[P>>2]=(c[P>>2]|0)+1}c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}while(0);c[x>>2]=0;Q=c[x>>2]|0;i=E;return Q|0}while(0);c[(c[I>>2]|0)+492>>2]=c[(c[B>>2]|0)+8>>2];ap(c[I>>2]|0,21,0,0,0)|0;c[(c[I>>2]|0)+492>>2]=c[Q>>2];c[r>>2]=c[(c[r>>2]|0)+52>>2];while(1){if(!(c[r>>2]|0))break;c[O>>2]=c[(c[H>>2]|0)+48>>2];c[J>>2]=c[(c[H>>2]|0)+60>>2];c[K>>2]=c[(c[H>>2]|0)+64>>2];c[L>>2]=c[(c[H>>2]|0)+52>>2];c[(c[H>>2]|0)+48>>2]=0;c[(c[H>>2]|0)+32>>2]=0;c[(c[H>>2]|0)+52>>2]=0;c[(c[H>>2]|0)+60>>2]=0;c[(c[H>>2]|0)+64>>2]=0;c[M>>2]=Wp(c[n>>2]|0,c[H>>2]|0,0)|0;c[(c[H>>2]|0)+64>>2]=c[K>>2];c[(c[H>>2]|0)+60>>2]=c[J>>2];c[(c[H>>2]|0)+48>>2]=c[O>>2];c[(c[H>>2]|0)+32>>2]=c[w>>2];a[(c[H>>2]|0)+4>>0]=116;f=c[L>>2]|0;if(!(c[M>>2]|0))c[(c[H>>2]|0)+52>>2]=f;else{c[(c[M>>2]|0)+52>>2]=f;if(c[L>>2]|0)c[(c[L>>2]|0)+56>>2]=c[M>>2];c[(c[M>>2]|0)+56>>2]=c[H>>2];c[(c[H>>2]|0)+52>>2]=c[M>>2]}if(a[(c[n>>2]|0)+64>>0]|0){N=74;break}c[r>>2]=c[(c[r>>2]|0)+52>>2]}if((N|0)==74){c[x>>2]=1;Q=c[x>>2]|0;i=E;return Q|0}Q=c[(c[B>>2]|0)+20>>2]|0;c[o>>2]=Q;c[r>>2]=Q;Xb(c[n>>2]|0,c[(c[B>>2]|0)+4>>2]|0);Xb(c[n>>2]|0,c[(c[B>>2]|0)+8>>2]|0);Xb(c[n>>2]|0,c[(c[B>>2]|0)+12>>2]|0);c[(c[B>>2]|0)+4>>2]=0;c[(c[B>>2]|0)+8>>2]=0;c[(c[B>>2]|0)+12>>2]=0;c[(c[B>>2]|0)+20>>2]=0;if(c[(c[B>>2]|0)+16>>2]|0){c[F>>2]=c[(c[B>>2]|0)+16>>2];if((e[(c[F>>2]|0)+40>>1]|0)==1){J=c[I>>2]|0;if(c[(c[I>>2]|0)+408>>2]|0)J=c[J+408>>2]|0;c[G>>2]=J;c[(c[F>>2]|0)+72>>2]=c[(c[G>>2]|0)+524>>2];c[(c[G>>2]|0)+524>>2]=c[F>>2]}else{Q=(c[F>>2]|0)+40|0;b[Q>>1]=(b[Q>>1]|0)+ -1<<16>>16}c[(c[B>>2]|0)+16>>2]=0}c[p>>2]=c[H>>2];while(1){if(!(c[p>>2]|0))break;a[v>>0]=0;c[y>>2]=c[(c[r>>2]|0)+32>>2];c[z>>2]=c[c[y>>2]>>2];c[w>>2]=c[(c[p>>2]|0)+32>>2];if(!(c[w>>2]|0)){Q=ko(c[n>>2]|0,0,0,0)|0;c[(c[p>>2]|0)+32>>2]=Q;c[w>>2]=Q;if(!(c[w>>2]|0))break}else a[v>>0]=a[(c[B>>2]|0)+36>>0]|0;if((c[z>>2]|0)>1?(Q=mx(c[n>>2]|0,c[w>>2]|0,(c[z>>2]|0)-1|0,(c[l>>2]|0)+1|0)|0,c[w>>2]=Q,c[(c[p>>2]|0)+32>>2]=Q,(a[(c[n>>2]|0)+64>>0]|0)!=0):0)break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[z>>2]|0))break;xn(c[n>>2]|0,c[(c[w>>2]|0)+8+(((c[t>>2]|0)+(c[l>>2]|0)|0)*72|0)+48>>2]|0);H=(c[w>>2]|0)+8+(((c[t>>2]|0)+(c[l>>2]|0)|0)*72|0)+0|0;G=(c[y>>2]|0)+8+((c[t>>2]|0)*72|0)+0|0;F=H+72|0;do{c[H>>2]=c[G>>2];H=H+4|0;G=G+4|0}while((H|0)<(F|0));H=(c[y>>2]|0)+8+((c[t>>2]|0)*72|0)+0|0;F=H+72|0;do{c[H>>2]=0;H=H+4|0}while((H|0)<(F|0));c[t>>2]=(c[t>>2]|0)+1}a[(c[w>>2]|0)+8+((c[l>>2]|0)*72|0)+36>>0]=a[v>>0]|0;c[u>>2]=c[c[p>>2]>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[u>>2]>>2]|0))break;if(!(c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)){c[A>>2]=ne(c[n>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+8>>2]|0)|0;sm(c[A>>2]|0)|0;c[(c[(c[u>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]=c[A>>2]}c[t>>2]=(c[t>>2]|0)+1}ay(c[n>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0);if(c[s>>2]|0){ay(c[n>>2]|0,c[(c[p>>2]|0)+40>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0);Q=by(c[n>>2]|0,c[(c[p>>2]|0)+44>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0)|0;c[(c[p>>2]|0)+44>>2]=Q}do if(c[(c[r>>2]|0)+48>>2]|0){c[D>>2]=c[(c[r>>2]|0)+48>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[D>>2]>>2]|0))break;b[(c[(c[D>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+16>>1]=0;c[t>>2]=(c[t>>2]|0)+1}c[(c[p>>2]|0)+48>>2]=c[D>>2];c[(c[r>>2]|0)+48>>2]=0}else{if(!(c[(c[p>>2]|0)+48>>2]|0))break;ay(c[n>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0)}while(0);if(c[(c[r>>2]|0)+36>>2]|0)c[m>>2]=Bq(c[n>>2]|0,c[(c[r>>2]|0)+36>>2]|0,0)|0;else c[m>>2]=0;if(c[C>>2]|0){c[(c[p>>2]|0)+44>>2]=c[(c[p>>2]|0)+36>>2];c[(c[p>>2]|0)+36>>2]=c[m>>2];g=by(c[n>>2]|0,c[(c[p>>2]|0)+44>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0)|0;c[(c[p>>2]|0)+44>>2]=g;g=c[n>>2]|0;Q=c[(c[p>>2]|0)+44>>2]|0;Q=mr(g,Q,Bq(c[n>>2]|0,c[(c[r>>2]|0)+44>>2]|0,0)|0)|0;c[(c[p>>2]|0)+44>>2]=Q;Q=Jq(c[n>>2]|0,c[(c[r>>2]|0)+40>>2]|0,0)|0;c[(c[p>>2]|0)+40>>2]=Q}else{Q=by(c[n>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[q>>2]|0,c[c[r>>2]>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=Q;Q=mr(c[n>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[m>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=Q}Q=(c[p>>2]|0)+6|0;b[Q>>1]=e[Q>>1]|e[(c[r>>2]|0)+6>>1]&1;if(c[(c[r>>2]|0)+60>>2]|0){c[(c[p>>2]|0)+60>>2]=c[(c[r>>2]|0)+60>>2];c[(c[r>>2]|0)+60>>2]=0}c[p>>2]=c[(c[p>>2]|0)+52>>2];c[r>>2]=c[(c[r>>2]|0)+52>>2]}tn(c[n>>2]|0,c[o>>2]|0);c[x>>2]=1;Q=c[x>>2]|0;i=E;return Q|0}function qx(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+56>>2]=0;i=d;return}function rx(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,A=0,B=0,C=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;q=i;i=i+224|0;G=q;p=q+212|0;s=q+208|0;o=q+204|0;m=q+200|0;j=q+196|0;C=q+192|0;z=q+188|0;n=q+168|0;k=q+164|0;l=q+160|0;x=q+156|0;y=q+152|0;A=q+148|0;B=q+144|0;r=q+140|0;M=q+216|0;L=q+136|0;J=q+132|0;K=q+128|0;O=q+124|0;N=q+104|0;F=q+100|0;E=q+96|0;H=q+92|0;I=q+88|0;R=q+84|0;U=q+80|0;Q=q+76|0;P=q+72|0;T=q+68|0;X=q+64|0;Y=q+60|0;Z=q+56|0;_=q+36|0;S=q+32|0;V=q+28|0;t=q+24|0;u=q+20|0;W=q+16|0;v=q+12|0;w=q+8|0;$=q+4|0;c[s>>2]=f;c[o>>2]=g;c[m>>2]=h;c[j>>2]=0;c[k>>2]=0;c[x>>2]=0;c[y>>2]=0;c[l>>2]=c[c[s>>2]>>2];c[C>>2]=c[(c[o>>2]|0)+52>>2];f=c[m>>2]|0;c[n+0>>2]=c[f+0>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[n+16>>2]=c[f+16>>2];a:do if(!(c[(c[C>>2]|0)+48>>2]|0)){h=c[s>>2]|0;if(c[(c[C>>2]|0)+60>>2]|0){c[G>>2]=Vx(d[(c[o>>2]|0)+4>>0]|0)|0;Se(h,25096,G);c[j>>2]=1;break}c[z>>2]=dp(h)|0;if((d[n>>0]|0|0)==12){fp(c[z>>2]|0,57,c[n+4>>2]|0,c[c[c[o>>2]>>2]>>2]|0)|0;Xe(c[z>>2]|0,8);a[n>>0]=14}h=e[(c[o>>2]|0)+6>>1]|0;if((c[c[c[o>>2]>>2]>>2]|0)!=(c[c[c[C>>2]>>2]>>2]|0)){r=c[s>>2]|0;if(h&128)Se(r,25144,G);else{c[G>>2]=Vx(d[(c[o>>2]|0)+4>>0]|0)|0;Se(r,25192,G)}c[j>>2]=1;break}do if(!(h&2048)){if(c[(c[o>>2]|0)+48>>2]|0){c[p>>2]=Xx(c[s>>2]|0,c[o>>2]|0,c[m>>2]|0)|0;f=c[p>>2]|0;i=q;return f|0}G=d[(c[o>>2]|0)+4>>0]|0;if((G|0)==116){c[A>>2]=0;c[(c[C>>2]|0)+8>>2]=c[(c[o>>2]|0)+8>>2];c[(c[C>>2]|0)+12>>2]=c[(c[o>>2]|0)+12>>2];c[(c[C>>2]|0)+60>>2]=c[(c[o>>2]|0)+60>>2];c[(c[C>>2]|0)+64>>2]=c[(c[o>>2]|0)+64>>2];c[x>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[C>>2]|0,n)|0;c[(c[o>>2]|0)+60>>2]=0;c[(c[o>>2]|0)+64>>2]=0;if(c[j>>2]|0)break a;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+8>>2]=c[(c[C>>2]|0)+8>>2];c[(c[o>>2]|0)+12>>2]=c[(c[C>>2]|0)+12>>2];if(c[(c[o>>2]|0)+8>>2]|0)c[A>>2]=Ir(c[z>>2]|0,139,c[(c[o>>2]|0)+8>>2]|0)|0;c[y>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[o>>2]|0,n)|0;c[k>>2]=c[(c[o>>2]|0)+52>>2];c[(c[o>>2]|0)+52>>2]=c[C>>2];g=(c[C>>2]|0)+24|0;f=(c[o>>2]|0)+24|0;h=f;g=bF(c[h>>2]|0,c[h+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=D;if(((c[(c[C>>2]|0)+60>>2]|0)!=0?(f=(yq(c[(c[C>>2]|0)+60>>2]|0,B)|0)!=0,f&(c[B>>2]|0)>0):0)?(g=(c[o>>2]|0)+24|0,_=c[g+4>>2]|0,f=c[B>>2]|0,h=((f|0)<0)<<31>>31,_>>>0>h>>>0|((_|0)==(h|0)?(c[g>>2]|0)>>>0>f>>>0:0)):0){g=c[B>>2]|0;f=(c[o>>2]|0)+24|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31}if(!(c[A>>2]|0))break;zp(c[z>>2]|0,c[A>>2]|0);break}else if((G|0)==115|(G|0)==117){a[M>>0]=0;c[L>>2]=1;if((d[n>>0]|0|0)==(c[L>>2]|0))c[r>>2]=c[n+4>>2];else{g=(c[s>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[r>>2]=f;c[O>>2]=fp(c[z>>2]|0,57,c[r>>2]|0,0)|0;c[(c[o>>2]|0)+16>>2]=c[O>>2];f=(dr(c[o>>2]|0)|0)+6|0;b[f>>1]=e[f>>1]|0|8}$s(N,c[L>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[C>>2]|0,N)|0;if(c[j>>2]|0)break a;if((d[(c[o>>2]|0)+4>>0]|0|0)==117)a[M>>0]=2;else a[M>>0]=1;c[(c[o>>2]|0)+52>>2]=0;c[J>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=0;c[K>>2]=c[(c[o>>2]|0)+64>>2];c[(c[o>>2]|0)+64>>2]=0;a[N>>0]=a[M>>0]|0;c[y>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[o>>2]|0,N)|0;sn(c[l>>2]|0,c[(c[o>>2]|0)+48>>2]|0);c[k>>2]=c[(c[o>>2]|0)+52>>2];c[(c[o>>2]|0)+52>>2]=c[C>>2];c[(c[o>>2]|0)+48>>2]=0;if((d[(c[o>>2]|0)+4>>0]|0|0)==115){g=(c[C>>2]|0)+24|0;f=(c[o>>2]|0)+24|0;h=f;g=bF(c[h>>2]|0,c[h+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=D}wn(c[l>>2]|0,c[(c[o>>2]|0)+60>>2]|0);c[(c[o>>2]|0)+60>>2]=c[J>>2];c[(c[o>>2]|0)+64>>2]=c[K>>2];c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+12>>2]=0;if((d[n>>0]|0|0)==(c[L>>2]|0))break;if((d[n>>0]|0|0)==9){c[I>>2]=c[o>>2];while(1){if(!(c[(c[I>>2]|0)+52>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+52>>2]}Mx(c[s>>2]|0,0,c[c[I>>2]>>2]|0)}c[E>>2]=Nr(c[z>>2]|0)|0;c[F>>2]=Nr(c[z>>2]|0)|0;tx(c[s>>2]|0,c[o>>2]|0,c[E>>2]|0);fp(c[z>>2]|0,108,c[r>>2]|0,c[E>>2]|0)|0;c[H>>2]=Mr(c[z>>2]|0)|0;xx(c[s>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0,c[r>>2]|0,0,0,n,c[F>>2]|0,c[E>>2]|0);Pr(c[z>>2]|0,c[F>>2]|0);fp(c[z>>2]|0,9,c[r>>2]|0,c[H>>2]|0)|0;Pr(c[z>>2]|0,c[E>>2]|0);fp(c[z>>2]|0,61,c[r>>2]|0,0)|0;break}else{f=(c[s>>2]|0)+68|0;g=c[f>>2]|0;c[f>>2]=g+1;c[R>>2]=g;g=(c[s>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[U>>2]=f;c[Z>>2]=fp(c[z>>2]|0,57,c[R>>2]|0,0)|0;c[(c[o>>2]|0)+16>>2]=c[Z>>2];f=(dr(c[o>>2]|0)|0)+6|0;b[f>>1]=e[f>>1]|0|8;$s(_,1,c[R>>2]|0);c[x>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[C>>2]|0,_)|0;if(c[j>>2]|0)break a;c[Z>>2]=fp(c[z>>2]|0,57,c[U>>2]|0,0)|0;c[(c[o>>2]|0)+20>>2]=c[Z>>2];c[(c[o>>2]|0)+52>>2]=0;c[X>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=0;c[Y>>2]=c[(c[o>>2]|0)+64>>2];c[(c[o>>2]|0)+64>>2]=0;c[_+4>>2]=c[U>>2];c[y>>2]=c[(c[s>>2]|0)+468>>2];c[j>>2]=ao(c[s>>2]|0,c[o>>2]|0,_)|0;c[k>>2]=c[(c[o>>2]|0)+52>>2];c[(c[o>>2]|0)+52>>2]=c[C>>2];g=(c[o>>2]|0)+24|0;_=c[g+4>>2]|0;f=(c[C>>2]|0)+24|0;h=c[f+4>>2]|0;if(_>>>0>h>>>0|((_|0)==(h|0)?(c[g>>2]|0)>>>0>(c[f>>2]|0)>>>0:0)){h=(c[C>>2]|0)+24|0;g=c[h+4>>2]|0;f=(c[o>>2]|0)+24|0;c[f>>2]=c[h>>2];c[f+4>>2]=g}wn(c[l>>2]|0,c[(c[o>>2]|0)+60>>2]|0);c[(c[o>>2]|0)+60>>2]=c[X>>2];c[(c[o>>2]|0)+64>>2]=c[Y>>2];if((d[n>>0]|0|0)==9){c[V>>2]=c[o>>2];while(1){if(!(c[(c[V>>2]|0)+52>>2]|0))break;c[V>>2]=c[(c[V>>2]|0)+52>>2]}Mx(c[s>>2]|0,0,c[c[V>>2]>>2]|0)}c[P>>2]=Nr(c[z>>2]|0)|0;c[Q>>2]=Nr(c[z>>2]|0)|0;tx(c[s>>2]|0,c[o>>2]|0,c[P>>2]|0);fp(c[z>>2]|0,108,c[R>>2]|0,c[P>>2]|0)|0;c[S>>2]=kp(c[s>>2]|0)|0;c[T>>2]=fp(c[z>>2]|0,101,c[R>>2]|0,c[S>>2]|0)|0;We(c[z>>2]|0,68,c[U>>2]|0,c[Q>>2]|0,c[S>>2]|0,0)|0;lp(c[s>>2]|0,c[S>>2]|0);xx(c[s>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0,c[R>>2]|0,0,0,n,c[Q>>2]|0,c[P>>2]|0);Pr(c[z>>2]|0,c[Q>>2]|0);fp(c[z>>2]|0,9,c[R>>2]|0,c[T>>2]|0)|0;Pr(c[z>>2]|0,c[P>>2]|0);fp(c[z>>2]|0,61,c[U>>2]|0,0)|0;fp(c[z>>2]|0,61,c[R>>2]|0,0)|0;break}}else Wx(c[s>>2]|0,c[o>>2]|0,n);while(0);Yx(c[s>>2]|0,d[(c[o>>2]|0)+4>>0]|0,c[x>>2]|0,c[y>>2]|0,(d[(c[o>>2]|0)+4>>0]|0|0)!=116&1);if((e[(c[o>>2]|0)+6>>1]|0)&8){c[w>>2]=c[c[c[o>>2]>>2]>>2];c[u>>2]=Xr(c[l>>2]|0,c[w>>2]|0,1)|0;if(!(c[u>>2]|0)){c[j>>2]=7;break}c[t>>2]=0;c[v>>2]=(c[u>>2]|0)+20;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;f=Zx(c[s>>2]|0,c[o>>2]|0,c[t>>2]|0)|0;c[c[v>>2]>>2]=f;if(!(c[c[v>>2]>>2]|0))c[c[v>>2]>>2]=c[(c[l>>2]|0)+8>>2];c[t>>2]=(c[t>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+4}c[W>>2]=c[o>>2];while(1){if(!(c[W>>2]|0))break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=2)break;c[$>>2]=c[(c[W>>2]|0)+16+(c[t>>2]<<2)>>2];if((c[$>>2]|0)<0)break;$e(c[z>>2]|0,c[$>>2]|0,c[w>>2]|0);g=c[z>>2]|0;f=c[$>>2]|0;bf(g,f,Yr(c[u>>2]|0)|0,-6);c[(c[W>>2]|0)+16+(c[t>>2]<<2)>>2]=-1;c[t>>2]=(c[t>>2]|0)+1}c[W>>2]=c[(c[W>>2]|0)+52>>2]}eh(c[u>>2]|0)}}else{f=c[s>>2]|0;c[G>>2]=Vx(d[(c[o>>2]|0)+4>>0]|0)|0;Se(f,25048,G);c[j>>2]=1}while(0);c[(c[m>>2]|0)+8>>2]=c[n+8>>2];c[(c[m>>2]|0)+12>>2]=c[n+12>>2];tn(c[l>>2]|0,c[k>>2]|0);c[p>>2]=c[j>>2];f=c[p>>2]|0;i=q;return f|0}function sx(b,d,e,f){b=b|0;d=d|0;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;n=i;i=i+48|0;l=n+36|0;q=n+32|0;p=n+28|0;r=n+24|0;o=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;g=n+4|0;k=n;c[l>>2]=b;c[q>>2]=d;c[p>>2]=e;c[r>>2]=f;c[j>>2]=c[c[l>>2]>>2];c[o>>2]=c[c[q>>2]>>2];c[h>>2]=Xr(c[j>>2]|0,(c[o>>2]|0)+(c[r>>2]|0)-(c[p>>2]|0)|0,1)|0;if(!(c[h>>2]|0)){r=c[h>>2]|0;i=n;return r|0}c[g>>2]=c[p>>2];c[m>>2]=(c[(c[q>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0);while(1){if((c[g>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=cq(c[l>>2]|0,c[c[m>>2]>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[j>>2]|0)+8>>2];c[(c[h>>2]|0)+20+((c[g>>2]|0)-(c[p>>2]|0)<<2)>>2]=c[k>>2];a[(c[(c[h>>2]|0)+16>>2]|0)+((c[g>>2]|0)-(c[p>>2]|0))>>0]=a[(c[m>>2]|0)+12>>0]|0;c[g>>2]=(c[g>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}r=c[h>>2]|0;i=n;return r|0}function tx(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,l=0,m=0,n=0;k=i;i=i+32|0;l=k+28|0;f=k+24|0;h=k+20|0;g=k+16|0;e=k+12|0;m=k+8|0;n=k+4|0;j=k;c[l>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[e>>2]=0;if(c[(c[f>>2]|0)+8>>2]|0){i=k;return}cu(c[l>>2]|0);if(!(c[(c[f>>2]|0)+60>>2]|0)){i=k;return}b=(c[l>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[e>>2]=a;c[(c[f>>2]|0)+8>>2]=a;c[g>>2]=dp(c[l>>2]|0)|0;do if(yq(c[(c[f>>2]|0)+60>>2]|0,j)|0){fp(c[g>>2]|0,25,c[j>>2]|0,c[e>>2]|0)|0;if(!(c[j>>2]|0)){fp(c[g>>2]|0,16,0,c[h>>2]|0)|0;break}if((c[j>>2]|0)>=0?(b=(c[f>>2]|0)+24|0,d=c[b+4>>2]|0,a=c[j>>2]|0,h=((a|0)<0)<<31>>31,d>>>0>h>>>0|((d|0)==(h|0)?(c[b>>2]|0)>>>0>a>>>0:0)):0){b=c[j>>2]|0;a=(c[f>>2]|0)+24|0;c[a>>2]=b;c[a+4>>2]=((b|0)<0)<<31>>31}}else{Os(c[l>>2]|0,c[(c[f>>2]|0)+60>>2]|0,c[e>>2]|0);Ir(c[g>>2]|0,38,c[e>>2]|0)|0;fp(c[g>>2]|0,139,c[e>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[f>>2]|0)+64>>2]|0)){i=k;return}b=(c[l>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[m>>2]=a;c[(c[f>>2]|0)+12>>2]=a;a=(c[l>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+1;Os(c[l>>2]|0,c[(c[f>>2]|0)+64>>2]|0,c[m>>2]|0);Ir(c[g>>2]|0,38,c[m>>2]|0)|0;c[n>>2]=Ir(c[g>>2]|0,137,c[m>>2]|0)|0;fp(c[g>>2]|0,25,0,c[m>>2]|0)|0;zp(c[g>>2]|0,c[n>>2]|0);ip(c[g>>2]|0,89,c[e>>2]|0,c[m>>2]|0,(c[m>>2]|0)+1|0)|0;c[n>>2]=Ir(c[g>>2]|0,137,c[e>>2]|0)|0;fp(c[g>>2]|0,25,-1,(c[m>>2]|0)+1|0)|0;zp(c[g>>2]|0,c[n>>2]|0);i=k;return}function ux(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=Zt(b[(c[e>>2]|0)+32>>1]|0)|0;i=d;return a|0}function vx(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+40>>0]|0|0}function wx(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+36>>0]|0}function xx(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;r=i;i=i+128|0;q=r+124|0;s=r+120|0;P=r+116|0;U=r+112|0;t=r+108|0;R=r+104|0;x=r+100|0;J=r+96|0;o=r+92|0;p=r+88|0;H=r+84|0;T=r+80|0;u=r+76|0;z=r+72|0;v=r+68|0;y=r+64|0;w=r+60|0;S=r+56|0;K=r+52|0;L=r+48|0;O=r+44|0;M=r+40|0;B=r+36|0;Q=r+32|0;A=r+28|0;E=r+24|0;I=r+20|0;F=r+16|0;G=r+12|0;N=r+8|0;C=r+4|0;D=r;c[q>>2]=b;c[s>>2]=f;c[P>>2]=g;c[U>>2]=h;c[t>>2]=j;c[R>>2]=k;c[x>>2]=l;c[J>>2]=m;c[o>>2]=n;c[p>>2]=c[(c[q>>2]|0)+8>>2];c[z>>2]=d[c[x>>2]>>0];c[v>>2]=c[(c[x>>2]|0)+4>>2];c[w>>2]=0;if(c[R>>2]|0)n=d[(c[R>>2]|0)+1>>0]|0;else n=0;c[T>>2]=n;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)==0:0)c[t>>2]=0;if(!((c[t>>2]|0)!=0|(c[T>>2]|0)!=0))Ox(c[p>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[J>>2]|0);c[y>>2]=c[c[P>>2]>>2];if(c[(c[x>>2]|0)+8>>2]|0){if(((c[(c[x>>2]|0)+8>>2]|0)+(c[y>>2]|0)|0)>(c[(c[q>>2]|0)+72>>2]|0)){b=(c[q>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[y>>2]|0)}}else{if(c[t>>2]|0){c[w>>2]=c[c[c[t>>2]>>2]>>2];if(!((d[(c[t>>2]|0)+24>>0]|0)&1))c[w>>2]=(c[w>>2]|0)+1;b=(c[q>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[w>>2]|0)}c[(c[x>>2]|0)+8>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;b=(c[q>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[y>>2]|0)}c[(c[x>>2]|0)+12>>2]=c[y>>2];c[u>>2]=c[(c[x>>2]|0)+8>>2];a:do if((c[U>>2]|0)<0){if((c[z>>2]|0)!=3){if((c[z>>2]|0)==9)U=1;else U=(c[z>>2]|0)==13;Ws(c[q>>2]|0,c[P>>2]|0,c[u>>2]|0,(U?1:0)&255)|0}}else{c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[y>>2]|0))break a;ip(c[p>>2]|0,47,c[U>>2]|0,c[H>>2]|0,(c[u>>2]|0)+(c[H>>2]|0)|0)|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[T>>2]|0){T=d[(c[R>>2]|0)+1>>0]|0;if((T|0)==1)cf(c[p>>2]|0,c[(c[R>>2]|0)+8>>2]|0);else if((T|0)==2){c[L>>2]=(c[(c[q>>2]|0)+72>>2]|0)+1;b=(c[q>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[y>>2]|0);cf(c[p>>2]|0,c[(c[R>>2]|0)+8>>2]|0);c[S>>2]=dt(c[p>>2]|0,c[(c[R>>2]|0)+8>>2]|0)|0;a[c[S>>2]>>0]=28;c[(c[S>>2]|0)+4>>2]=1;c[(c[S>>2]|0)+8>>2]=c[L>>2];b=Mr(c[p>>2]|0)|0;c[K>>2]=b+(c[y>>2]|0);c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[y>>2]|0))break;c[O>>2]=cq(c[q>>2]|0,c[(c[(c[P>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)>>2]|0)|0;S=c[p>>2]|0;R=(c[u>>2]|0)+(c[H>>2]|0)|0;if((c[H>>2]|0)<((c[y>>2]|0)-1|0))ip(S,78,R,c[K>>2]|0,(c[L>>2]|0)+(c[H>>2]|0)|0)|0;else ip(S,79,R,c[J>>2]|0,(c[L>>2]|0)+(c[H>>2]|0)|0)|0;bf(c[p>>2]|0,-1,c[O>>2]|0,-4);Xe(c[p>>2]|0,-128);c[H>>2]=(c[H>>2]|0)+1}ip(c[p>>2]|0,33,c[u>>2]|0,c[L>>2]|0,(c[y>>2]|0)-1|0)|0}else Px(c[q>>2]|0,c[(c[R>>2]|0)+4>>2]|0,c[J>>2]|0,c[y>>2]|0,c[u>>2]|0);if(!(c[t>>2]|0))Ox(c[p>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[J>>2]|0)}b:do switch(c[z>>2]|0){case 11:{y=kt(c[c[(c[P>>2]|0)+4>>2]>>2]|0,a[(c[x>>2]|0)+1>>0]|0)|0;a[(c[x>>2]|0)+1>>0]=y;y=c[q>>2]|0;if(c[t>>2]|0){Ux(y,c[t>>2]|0,c[s>>2]|0,c[u>>2]|0,1,c[w>>2]|0);break b}else{c[E>>2]=kp(y)|0;hp(c[p>>2]|0,49,c[u>>2]|0,1,c[E>>2]|0,(c[x>>2]|0)+1|0,1)|0;Us(c[q>>2]|0,c[u>>2]|0,1);fp(c[p>>2]|0,110,c[v>>2]|0,c[E>>2]|0)|0;lp(c[q>>2]|0,c[E>>2]|0);break b}};case 9:case 13:{if(c[t>>2]|0){Ux(c[q>>2]|0,c[t>>2]|0,c[s>>2]|0,c[u>>2]|0,c[y>>2]|0,c[w>>2]|0);break b}v=c[p>>2]|0;if((c[z>>2]|0)==13){Ir(v,22,c[(c[x>>2]|0)+4>>2]|0)|0;break b}else{fp(v,35,c[u>>2]|0,c[y>>2]|0)|0;Us(c[q>>2]|0,c[u>>2]|0,c[y>>2]|0);break b}};case 3:{fp(c[p>>2]|0,25,1,c[v>>2]|0)|0;break};case 10:{if(c[t>>2]|0)Ux(c[q>>2]|0,c[t>>2]|0,c[s>>2]|0,c[u>>2]|0,1,c[w>>2]|0);break};case 12:case 14:case 6:case 5:{c[B>>2]=ys(c[q>>2]|0,(c[w>>2]|0)+1|0)|0;ip(c[p>>2]|0,49,c[u>>2]|0,c[y>>2]|0,(c[B>>2]|0)+(c[w>>2]|0)|0)|0;if((c[z>>2]|0)==6){c[Q>>2]=(Mr(c[p>>2]|0)|0)+4;We(c[p>>2]|0,69,(c[v>>2]|0)+1|0,c[Q>>2]|0,c[B>>2]|0,0)|0;fp(c[p>>2]|0,110,(c[v>>2]|0)+1|0,c[B>>2]|0)|0}u=c[q>>2]|0;if(c[t>>2]|0)Ux(u,c[t>>2]|0,c[s>>2]|0,(c[B>>2]|0)+(c[w>>2]|0)|0,1,c[w>>2]|0);else{c[A>>2]=kp(u)|0;fp(c[p>>2]|0,74,c[v>>2]|0,c[A>>2]|0)|0;ip(c[p>>2]|0,75,c[v>>2]|0,c[B>>2]|0,c[A>>2]|0)|0;Xe(c[p>>2]|0,8);lp(c[q>>2]|0,c[A>>2]|0)}Bs(c[q>>2]|0,c[B>>2]|0,(c[w>>2]|0)+1|0);break};case 7:case 8:{c[C>>2]=0;c[D>>2]=c[(c[x>>2]|0)+16>>2];c[I>>2]=c[c[D>>2]>>2];c[F>>2]=kp(c[q>>2]|0)|0;c[G>>2]=ys(c[q>>2]|0,(c[I>>2]|0)+2|0)|0;c[N>>2]=(c[G>>2]|0)+(c[I>>2]|0)+1;if((c[z>>2]|0)==8)c[C>>2]=We(c[p>>2]|0,69,(c[v>>2]|0)+1|0,0,c[u>>2]|0,c[y>>2]|0)|0;ip(c[p>>2]|0,49,c[u>>2]|0,c[y>>2]|0,c[N>>2]|0)|0;if((c[z>>2]|0)==8){fp(c[p>>2]|0,110,(c[v>>2]|0)+1|0,c[N>>2]|0)|0;Xe(c[p>>2]|0,16)}c[H>>2]=0;while(1){w=c[p>>2]|0;if((c[H>>2]|0)>=(c[I>>2]|0))break;fp(w,34,(c[u>>2]|0)+(e[(c[(c[D>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)+16>>1]|0)-1|0,(c[G>>2]|0)+(c[H>>2]|0)|0)|0;c[H>>2]=(c[H>>2]|0)+1}fp(w,73,c[v>>2]|0,(c[G>>2]|0)+(c[I>>2]|0)|0)|0;ip(c[p>>2]|0,49,c[G>>2]|0,(c[I>>2]|0)+2|0,c[F>>2]|0)|0;fp(c[p>>2]|0,110,c[v>>2]|0,c[F>>2]|0)|0;if(c[C>>2]|0)zp(c[p>>2]|0,c[C>>2]|0);lp(c[q>>2]|0,c[F>>2]|0);Bs(c[q>>2]|0,c[G>>2]|0,(c[I>>2]|0)+2|0);break};case 2:{ip(c[p>>2]|0,111,c[v>>2]|0,c[u>>2]|0,c[y>>2]|0)|0;break};case 1:{c[M>>2]=kp(c[q>>2]|0)|0;ip(c[p>>2]|0,49,c[u>>2]|0,c[y>>2]|0,c[M>>2]|0)|0;fp(c[p>>2]|0,110,c[v>>2]|0,c[M>>2]|0)|0;lp(c[q>>2]|0,c[M>>2]|0);break};default:{}}while(0);if(c[t>>2]|0){i=r;return}if(!(c[(c[s>>2]|0)+8>>2]|0)){i=r;return}ip(c[p>>2]|0,139,c[(c[s>>2]|0)+8>>2]|0,c[o>>2]|0,-1)|0;i=r;return}function yx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function zx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+12|0;f=d+8|0;h=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=d;return}c[h>>2]=c[(c[f>>2]|0)+4>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[f>>2]>>2]|0))break;Bx(c[g>>2]|0,c[c[h>>2]>>2]|0);c[e>>2]=(c[e>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+20}i=d;return}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;e=d+24|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=48;c[f+4>>2]=49;c[f+20>>2]=c[g>>2];sq(f,c[e>>2]|0)|0;i=d;return}function Cx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;j=e;f=e+16|0;h=e+12|0;g=e+8|0;k=e+4|0;c[f>>2]=a;c[h>>2]=b;if((d[(c[f>>2]|0)+450>>0]|0|0)!=2){i=e;return}c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[c[f>>2]>>2]|0;c[j>>2]=c[h>>2];c[k>>2]=Te(a,25024,j)|0;hp(c[g>>2]|0,155,c[(c[f>>2]|0)+464>>2]|0,0,0,c[k>>2]|0,-1)|0;i=e;return}function Dx(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+37>>0]|0|0}function Ex(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;ip(c[(c[j>>2]|0)+8>>2]|0,32,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;Cs(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Fx(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;o=i;i=i+64|0;h=o+56|0;g=o+52|0;m=o+48|0;k=o+44|0;n=o+40|0;j=o+36|0;u=o+32|0;l=o+28|0;q=o+24|0;v=o+20|0;t=o+16|0;s=o+12|0;f=o+8|0;r=o+4|0;p=o;c[h>>2]=b;c[g>>2]=d;c[m>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=0;c[j>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[u>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[v>>2]=0;c[s>>2]=c[(c[c[u>>2]>>2]|0)+20>>2];if(c[s>>2]|0){c[q>>2]=c[c[s>>2]>>2];c[t>>2]=ys(c[h>>2]|0,c[q>>2]|0)|0;Ws(c[h>>2]|0,c[s>>2]|0,c[t>>2]|0,1)|0}else{c[q>>2]=0;c[t>>2]=0}if((c[(c[u>>2]|0)+12>>2]|0)>=0){c[v>>2]=Nr(c[m>>2]|0)|0;Px(c[h>>2]|0,c[(c[u>>2]|0)+12>>2]|0,c[v>>2]|0,1,c[t>>2]|0)}if((e[(c[(c[u>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[f>>2]=0;c[p>>2]=0;c[r>>2]=c[(c[s>>2]|0)+4>>2];while(1){if(c[f>>2]|0)break;if((c[p>>2]|0)>=(c[q>>2]|0))break;c[f>>2]=cq(c[h>>2]|0,c[c[r>>2]>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}if(!(c[f>>2]|0))c[f>>2]=c[(c[c[h>>2]>>2]|0)+8>>2];if((c[n>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[h>>2]|0)+72|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[n>>2]=b}hp(c[m>>2]|0,36,c[n>>2]|0,0,0,c[f>>2]|0,-4)|0}hp(c[m>>2]|0,10,0,c[t>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[(c[u>>2]|0)+4>>2]|0,-5)|0;Xe(c[m>>2]|0,c[q>>2]&255);Us(c[h>>2]|0,c[t>>2]|0,c[q>>2]|0);Bs(c[h>>2]|0,c[t>>2]|0,c[q>>2]|0);if(c[v>>2]|0){Pr(c[m>>2]|0,c[v>>2]|0);cu(c[h>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+16}if(c[n>>2]|0)c[j>>2]=Ir(c[m>>2]|0,45,c[n>>2]|0)|0;cu(c[h>>2]|0);c[k>>2]=0;c[l>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;Os(c[h>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+24}a[c[g>>2]>>0]=0;cu(c[h>>2]|0);if(!(c[j>>2]|0)){i=o;return}zp(c[m>>2]|0,c[j>>2]|0);i=o;return}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;k=d+20|0;h=d+16|0;j=d+12|0;g=d+8|0;e=d+4|0;f=d;c[k>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[k>>2]|0)+8>>2];c[g>>2]=0;c[e>>2]=c[(c[h>>2]|0)+40>>2];while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+44>>2]|0))break;c[f>>2]=c[(c[c[e>>2]>>2]|0)+20>>2];if(c[f>>2]|0)b=c[c[f>>2]>>2]|0;else b=0;hp(c[j>>2]|0,140,c[(c[e>>2]|0)+8>>2]|0,b,0,c[(c[e>>2]|0)+4>>2]|0,-5)|0;c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+16}i=d;return}function Hx(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;h=i;i=i+48|0;m=h;j=h+32|0;d=h+28|0;l=h+24|0;g=h+20|0;e=h+16|0;n=h+12|0;f=h+8|0;k=h+4|0;c[j>>2]=a;c[d>>2]=b;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[n>>2]=(c[(c[d>>2]|0)+44>>2]|0)+(c[(c[d>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=h;return}ip(c[l>>2]|0,28,0,c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[e>>2]=c[(c[d>>2]|0)+40>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;do if((c[(c[e>>2]|0)+12>>2]|0)>=0){c[f>>2]=c[c[e>>2]>>2];if((c[(c[f>>2]|0)+20>>2]|0)!=0?(c[c[(c[f>>2]|0)+20>>2]>>2]|0)==1:0){c[k>>2]=sx(c[j>>2]|0,c[(c[f>>2]|0)+20>>2]|0,0,0)|0;hp(c[l>>2]|0,57,c[(c[e>>2]|0)+12>>2]|0,0,0,c[k>>2]|0,-6)|0;break}Se(c[j>>2]|0,24968,m);c[(c[e>>2]|0)+12>>2]=-1}while(0);c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+16}i=h;return}function Ix(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;l=f+12|0;k=f+8|0;h=f+4|0;j=f;c[l>>2]=a;c[k>>2]=b;if((((c[(c[l>>2]|0)+36>>2]|0)==0?(c[c[c[l>>2]>>2]>>2]|0)==1:0)?(c[c[(c[l>>2]|0)+32>>2]>>2]|0)==1:0)?(c[(c[(c[l>>2]|0)+32>>2]|0)+28>>2]|0)==0:0){c[h>>2]=c[(c[(c[l>>2]|0)+32>>2]|0)+24>>2];c[j>>2]=c[c[(c[c[l>>2]>>2]|0)+4>>2]>>2];if((d[(c[h>>2]|0)+44>>0]|0)&16){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if((d[c[j>>2]>>0]|0|0)!=155){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if(!(c[(c[k>>2]|0)+44>>2]|0)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if(!((e[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}if(c[(c[j>>2]|0)+4>>2]&16){c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}else{c[g>>2]=c[h>>2];a=c[g>>2]|0;i=f;return a|0}}c[g>>2]=0;a=c[g>>2]|0;i=f;return a|0}function Jx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;k=l;h=l+28|0;j=l+24|0;m=l+20|0;n=l+16|0;g=l+12|0;c[h>>2]=b;c[j>>2]=e;c[m>>2]=f;if((d[(c[h>>2]|0)+450>>0]|0|0)!=2){i=l;return}if(c[m>>2]|0)if(!((d[(c[j>>2]|0)+44>>0]|0)&32))f=1;else f=(a[(c[m>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[n>>2]=f&1;e=c[c[h>>2]>>2]|0;f=(c[n>>2]|0)!=0?24944:1216;if(c[n>>2]|0)m=c[c[m>>2]>>2]|0;else m=1216;c[k>>2]=c[c[j>>2]>>2];c[k+4>>2]=f;c[k+8>>2]=m;c[g>>2]=Te(e,24920,k)|0;hp(c[(c[h>>2]|0)+8>>2]|0,155,c[(c[h>>2]|0)+464>>2]|0,0,0,c[g>>2]|0,-1)|0;i=l;return}function Kx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;l=e+20|0;h=e+16|0;f=e+12|0;j=e+8|0;g=e+4|0;k=e;c[l>>2]=a;c[h>>2]=b;c[f>>2]=0;c[c[h>>2]>>2]=0;do if((((c[(c[l>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[l>>2]|0)+40>>2]>>2],c[g>>2]=c[(c[j>>2]|0)+20>>2],(c[g>>2]|0)!=0):0)?(c[c[g>>2]>>2]|0)==1:0)?(d[c[c[(c[g>>2]|0)+4>>2]>>2]>>0]|0|0)==156:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(xc(c[k>>2]|0,8312)|0)){c[f>>2]=1;c[c[h>>2]>>2]=c[g>>2];break}if(!(xc(c[k>>2]|0,8320)|0)){c[f>>2]=2;c[c[h>>2]>>2]=c[g>>2]}}while(0);i=e;return c[f>>2]&255|0}function Lx(a,b,e,f,g){a=a|0;b=b|0;e=e|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;h=i;i=i+96|0;u=h+84|0;A=h+80|0;j=h+76|0;s=h+72|0;r=h+68|0;l=h+64|0;k=h+60|0;p=h+56|0;m=h+52|0;C=h+48|0;n=h+44|0;E=h+40|0;t=h+36|0;v=h+32|0;o=h+28|0;q=h+24|0;y=h+20|0;x=h+16|0;D=h+12|0;z=h+8|0;w=h+4|0;B=h;c[u>>2]=a;c[A>>2]=b;c[j>>2]=e;c[s>>2]=f;c[r>>2]=g;c[l>>2]=c[(c[u>>2]|0)+8>>2];c[k>>2]=Nr(c[l>>2]|0)|0;c[p>>2]=Nr(c[l>>2]|0)|0;c[C>>2]=0;c[E>>2]=c[c[j>>2]>>2];c[t>>2]=d[c[r>>2]>>0];c[v>>2]=c[(c[r>>2]|0)+4>>2];if(c[(c[j>>2]|0)+16>>2]|0){fp(c[l>>2]|0,17,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;fp(c[l>>2]|0,16,0,c[k>>2]|0)|0;Pr(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0)}c[n>>2]=c[(c[j>>2]|0)+8>>2];if((c[t>>2]|0)==9|(c[t>>2]|0)==13){c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+8>>2];c[D>>2]=c[s>>2]}else{c[q>>2]=kp(c[u>>2]|0)|0;c[o>>2]=kp(c[u>>2]|0)|0;c[D>>2]=1}c[y>>2]=(c[c[E>>2]>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0);if((d[(c[j>>2]|0)+24>>0]|0)&1){a=(c[u>>2]|0)+72|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[B>>2]=b;b=(c[u>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[x>>2]=a;if(c[(c[j>>2]|0)+16>>2]|0)c[C>>2]=_s(c[u>>2]|0)|0;ip(c[l>>2]|0,60,c[x>>2]|0,c[B>>2]|0,(c[y>>2]|0)+1+(c[D>>2]|0)|0)|0;if(c[C>>2]|0)zp(c[l>>2]|0,c[C>>2]|0);c[m>>2]=1+(fp(c[l>>2]|0,106,c[n>>2]|0,c[k>>2]|0)|0);Ox(c[l>>2]|0,c[(c[A>>2]|0)+12>>2]|0,c[p>>2]|0);ip(c[l>>2]|0,100,c[n>>2]|0,c[B>>2]|0,c[x>>2]|0)|0;c[w>>2]=0}else{c[m>>2]=1+(fp(c[l>>2]|0,107,c[n>>2]|0,c[k>>2]|0)|0);Ox(c[l>>2]|0,c[(c[A>>2]|0)+12>>2]|0,c[p>>2]|0);c[x>>2]=c[n>>2];c[w>>2]=1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[D>>2]|0))break;ip(c[l>>2]|0,47,c[x>>2]|0,(c[y>>2]|0)+(c[w>>2]|0)+(c[z>>2]|0)|0,(c[o>>2]|0)+(c[z>>2]|0)|0)|0;c[z>>2]=(c[z>>2]|0)+1}w=c[t>>2]|0;do if((w|0)==12|(w|0)==14){fp(c[l>>2]|0,74,c[v>>2]|0,c[q>>2]|0)|0;ip(c[l>>2]|0,75,c[v>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;Xe(c[l>>2]|0,8)}else if((w|0)==11){hp(c[l>>2]|0,49,c[o>>2]|0,1,c[q>>2]|0,(c[r>>2]|0)+1|0,1)|0;Us(c[u>>2]|0,c[o>>2]|0,1);fp(c[l>>2]|0,110,c[v>>2]|0,c[q>>2]|0)|0}else if((w|0)!=10){w=c[l>>2]|0;v=c[r>>2]|0;if((c[t>>2]|0)==9){fp(w,35,c[v+8>>2]|0,c[s>>2]|0)|0;Us(c[u>>2]|0,c[(c[r>>2]|0)+8>>2]|0,c[s>>2]|0);break}else{Ir(w,22,c[v+4>>2]|0)|0;break}}else Ex(c[u>>2]|0,c[o>>2]|0,c[v>>2]|0,1);while(0);if(c[q>>2]|0){lp(c[u>>2]|0,c[o>>2]|0);lp(c[u>>2]|0,c[q>>2]|0)}Pr(c[l>>2]|0,c[p>>2]|0);o=c[l>>2]|0;n=c[n>>2]|0;m=c[m>>2]|0;if((d[(c[j>>2]|0)+24>>0]|0)&1)fp(o,5,n,m)|0;else fp(o,9,n,m)|0;if(!(c[(c[j>>2]|0)+12>>2]|0)){b=c[l>>2]|0;a=c[k>>2]|0;Pr(b,a);i=h;return}Ir(c[l>>2]|0,18,c[(c[j>>2]|0)+12>>2]|0)|0;b=c[l>>2]|0;a=c[k>>2]|0;Pr(b,a);i=h;return}function Mx(e,f,g){e=e|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;u=i;i=i+80|0;z=u;k=u+68|0;l=u+64|0;m=u+60|0;q=u+56|0;n=u+52|0;s=u+48|0;x=u+44|0;w=u+40|0;v=u+36|0;o=u+32|0;p=u+28|0;t=u+24|0;h=u+20|0;r=u+16|0;y=u+12|0;A=u+8|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=c[(c[k>>2]|0)+8>>2];c[x>>2]=c[c[k>>2]>>2];if(a[(c[k>>2]|0)+450>>0]|0){i=u;return}if((c[q>>2]|0)==0?1:(d[(c[k>>2]|0)+16>>0]|0)!=0){i=u;return}if(d[(c[x>>2]|0)+64>>0]|0){i=u;return}a[(c[k>>2]|0)+16>>0]=1;c[w>>2]=(c[(c[x>>2]|0)+24>>2]&32|0)!=0&1;c[v>>2]=(c[(c[x>>2]|0)+24>>2]&64|0)!=0&1;Nt(c[q>>2]|0,c[c[m>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[o>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[o>>2]|0){if(c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[p>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];Ot(c[q>>2]|0,c[n>>2]|0,0,c[p>>2]|0,-1)|0;break}if((d[c[o>>2]>>0]|0)==154){if(!(c[l>>2]|0))j=26}else if(!((c[l>>2]|0)!=0?(d[c[o>>2]>>0]|0)==156:0))j=26;if((j|0)==26){j=0;c[A>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[x>>2]|0;if(!(c[A>>2]|0)){c[z>>2]=(c[n>>2]|0)+1;g=Te(g,24904,z)|0}else g=ne(g,c[A>>2]|0)|0;c[A>>2]=g;Ot(c[q>>2]|0,c[n>>2]|0,0,c[A>>2]|0,16)|0;break}c[r>>2]=b[(c[o>>2]|0)+32>>1];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[l>>2]>>2]|0))break;if((c[(c[l>>2]|0)+8+((c[s>>2]|0)*72|0)+40>>2]|0)==(c[(c[o>>2]|0)+28>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=c[(c[l>>2]|0)+8+((c[s>>2]|0)*72|0)+16>>2];if((c[r>>2]|0)<0)c[r>>2]=b[(c[t>>2]|0)+36>>1];if((c[r>>2]|0)<0)c[h>>2]=9992;else c[h>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[r>>2]|0)*24|0)>>2];if(!((c[v>>2]|0)!=0|(c[w>>2]|0)!=0)){f=c[q>>2]|0;e=c[n>>2]|0;Ot(f,e,0,ne(c[x>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,16)|0;break}if(c[w>>2]|0){c[y>>2]=0;e=c[x>>2]|0;f=c[h>>2]|0;c[z>>2]=c[c[t>>2]>>2];c[z+4>>2]=f;c[y>>2]=Te(e,17448,z)|0;Ot(c[q>>2]|0,c[n>>2]|0,0,c[y>>2]|0,16)|0;break}else{Ot(c[q>>2]|0,c[n>>2]|0,0,c[h>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}Nx(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0);i=u;return}function Nx(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,l=0,m=0,n=0;e=i;i=i+64|0;m=e+56|0;n=e+52|0;g=e+48|0;l=e+44|0;f=e+40|0;j=e+8|0;h=e+4|0;k=e;c[m>>2]=a;c[n>>2]=b;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+8>>2];c[j+4>>2]=c[n>>2];c[j>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;c[h>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=aq(j,c[h>>2]|0,0)|0;Ot(c[l>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=e;return}function Ox(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;j=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;if((c[g>>2]|0)<=0){i=e;return}c[h>>2]=ip(c[f>>2]|0,138,c[g>>2]|0,0,-1)|0;fp(c[f>>2]|0,16,0,c[j>>2]|0)|0;zp(c[f>>2]|0,c[h>>2]|0);i=e;return}function Px(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=kp(c[j>>2]|0)|0;We(c[l>>2]|0,69,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;ip(c[l>>2]|0,49,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;fp(c[l>>2]|0,110,c[k>>2]|0,c[h>>2]|0)|0;lp(c[j>>2]|0,c[h>>2]|0);i=g;return}function Qx(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;m=i;i=i+80|0;l=m+64|0;u=m+60|0;j=m+56|0;o=m+52|0;q=m+48|0;k=m+44|0;A=m+40|0;p=m+36|0;z=m+32|0;s=m+28|0;y=m+24|0;v=m+20|0;w=m+16|0;x=m+12|0;t=m+8|0;r=m+4|0;h=m;n=m+68|0;c[u>>2]=f;c[j>>2]=g;c[q>>2]=c[(c[u>>2]|0)+20>>2];c[k>>2]=c[c[q>>2]>>2];c[A>>2]=c[(c[q>>2]|0)+4>>2];c[p>>2]=c[(c[q>>2]|0)+12>>2];g=d[c[j>>2]>>0]|0;if((g|0)==155){if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[u>>2]|0)+16>>2]|0)==(d[(c[j>>2]|0)+38>>0]|0):0){c[h>>2]=c[(c[p>>2]|0)+40>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[p>>2]|0)+44>>2]|0))break;if(!(Dq(c[c[h>>2]>>2]|0,c[j>>2]|0,-1)|0))break;c[o>>2]=(c[o>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}do if((c[o>>2]|0)>=(c[(c[p>>2]|0)+44>>2]|0)?(a[n>>0]=a[(c[(c[(c[c[k>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[o>>2]=Tx(c[c[k>>2]>>2]|0,c[p>>2]|0)|0,(c[o>>2]|0)>=0):0){c[h>>2]=(c[(c[p>>2]|0)+40>>2]|0)+(c[o>>2]<<4);c[c[h>>2]>>2]=c[j>>2];r=(c[k>>2]|0)+72|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;c[(c[h>>2]|0)+8>>2]=q;q=c[c[k>>2]>>2]|0;r=c[(c[j>>2]|0)+8>>2]|0;s=Mb(c[(c[j>>2]|0)+8>>2]|0)|0;if(c[(c[j>>2]|0)+20>>2]|0)t=c[c[(c[j>>2]|0)+20>>2]>>2]|0;else t=0;f=Sf(q,r,s,t,a[n>>0]|0,0)|0;c[(c[h>>2]|0)+4>>2]=f;if(c[(c[j>>2]|0)+4>>2]&16){g=(c[k>>2]|0)+68|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[h>>2]|0)+12>>2]=f;break}else{c[(c[h>>2]|0)+12>>2]=-1;break}}while(0);b[(c[j>>2]|0)+34>>1]=c[o>>2];c[(c[j>>2]|0)+40>>2]=c[p>>2];c[l>>2]=1;f=c[l>>2]|0;i=m;return f|0}c[l>>2]=0;f=c[l>>2]|0;i=m;return f|0}else if((g|0)==154|(g|0)==156){a:do if(c[A>>2]|0){c[z>>2]=(c[A>>2]|0)+8;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[A>>2]>>2]|0))break a;if((c[(c[j>>2]|0)+28>>2]|0)==(c[(c[z>>2]|0)+40>>2]|0))break;c[o>>2]=(c[o>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+72}c[s>>2]=c[(c[p>>2]|0)+28>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[p>>2]|0)+32>>2]|0))break;if((c[(c[s>>2]|0)+4>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0)?(c[(c[s>>2]|0)+8>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0)break;c[y>>2]=(c[y>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+24}if((c[y>>2]|0)>=(c[(c[p>>2]|0)+32>>2]|0)?(f=Sx(c[c[k>>2]>>2]|0,c[p>>2]|0)|0,c[y>>2]=f,(f|0)>=0):0){c[s>>2]=(c[(c[p>>2]|0)+28>>2]|0)+((c[y>>2]|0)*24|0);c[c[s>>2]>>2]=c[(c[j>>2]|0)+44>>2];c[(c[s>>2]|0)+4>>2]=c[(c[j>>2]|0)+28>>2];c[(c[s>>2]|0)+8>>2]=b[(c[j>>2]|0)+32>>1];g=(c[k>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[s>>2]|0)+16>>2]=f;c[(c[s>>2]|0)+12>>2]=-1;c[(c[s>>2]|0)+20>>2]=c[j>>2];b:do if(c[(c[p>>2]|0)+24>>2]|0){c[x>>2]=c[(c[p>>2]|0)+24>>2];c[t>>2]=c[(c[x>>2]|0)+4>>2];c[w>>2]=c[c[x>>2]>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break b;c[r>>2]=c[c[t>>2]>>2];if(((d[c[r>>2]>>0]|0)==154?(c[(c[r>>2]|0)+28>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0):0)?(b[(c[r>>2]|0)+32>>1]|0)==(b[(c[j>>2]|0)+32>>1]|0):0)break;c[v>>2]=(c[v>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}c[(c[s>>2]|0)+12>>2]=c[v>>2]}while(0);if((c[(c[s>>2]|0)+12>>2]|0)<0){g=(c[p>>2]|0)+12|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[s>>2]|0)+12>>2]=f}}c[(c[j>>2]|0)+40>>2]=c[p>>2];a[c[j>>2]>>0]=-100;b[(c[j>>2]|0)+34>>1]=c[y>>2]}while(0);c[l>>2]=1;f=c[l>>2]|0;i=m;return f|0}else{c[l>>2]=0;f=c[l>>2]|0;i=m;return f|0}return 0}function Rx(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;a=ku(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=a;i=e;return c[d>>2]|0}function Tx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;a=ku(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=a;i=e;return c[d>>2]|0}function Ux(b,f,g,h,j,k){b=b|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;q=i;i=i+96|0;w=q+88|0;o=q+84|0;m=q+80|0;H=q+76|0;t=q+72|0;I=q+68|0;n=q+64|0;D=q+60|0;C=q+56|0;G=q+52|0;A=q+48|0;E=q+44|0;x=q+40|0;v=q+36|0;B=q+32|0;z=q+28|0;y=q+24|0;u=q+20|0;s=q+16|0;F=q+12|0;r=q+8|0;l=q+4|0;p=q;c[w>>2]=b;c[o>>2]=f;c[m>>2]=g;c[H>>2]=h;c[t>>2]=j;c[I>>2]=k;c[n>>2]=c[(c[w>>2]|0)+8>>2];c[D>>2]=(d[(c[o>>2]|0)+24>>0]&1|0)==0&1;c[C>>2]=c[c[c[o>>2]>>2]>>2];c[G>>2]=(c[C>>2]|0)+(c[D>>2]|0)+(c[t>>2]|0);f=(c[w>>2]|0)+72|0;b=(c[f>>2]|0)+1|0;c[f>>2]=b;c[E>>2]=b;c[x>>2]=c[(c[o>>2]|0)+4>>2];if(c[I>>2]|0)c[A>>2]=(c[H>>2]|0)-(c[C>>2]|0)-(c[D>>2]|0);else{c[A>>2]=(c[(c[w>>2]|0)+72>>2]|0)+1;b=(c[w>>2]|0)+72|0;c[b>>2]=(c[b>>2]|0)+(c[G>>2]|0)}Ws(c[w>>2]|0,c[c[o>>2]>>2]|0,c[A>>2]|0,1)|0;if(c[D>>2]|0)fp(c[n>>2]|0,73,c[(c[o>>2]|0)+8>>2]|0,(c[A>>2]|0)+(c[C>>2]|0)|0)|0;if(!(c[I>>2]|0))Ex(c[w>>2]|0,c[H>>2]|0,(c[A>>2]|0)+(c[C>>2]|0)+(c[D>>2]|0)|0,c[t>>2]|0);ip(c[n>>2]|0,49,(c[A>>2]|0)+(c[x>>2]|0)|0,(c[G>>2]|0)-(c[x>>2]|0)|0,c[E>>2]|0)|0;do if((c[x>>2]|0)>0){c[B>>2]=(c[(c[w>>2]|0)+72>>2]|0)+1;k=(c[w>>2]|0)+72|0;c[k>>2]=(c[k>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=(c[C>>2]|0)-(c[(c[o>>2]|0)+4>>2]|0)+(c[D>>2]|0);k=c[n>>2]|0;if(c[D>>2]|0)c[z>>2]=Ir(k,46,(c[A>>2]|0)+(c[C>>2]|0)|0)|0;else c[z>>2]=Ir(k,59,c[(c[o>>2]|0)+8>>2]|0)|0;ip(c[n>>2]|0,42,c[B>>2]|0,c[A>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[u>>2]=dt(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;if(a[(c[c[w>>2]>>2]|0)+64>>0]|0){i=q;return}else{c[(c[u>>2]|0)+8>>2]=(c[s>>2]|0)+(c[t>>2]|0);c[F>>2]=c[(c[u>>2]|0)+16>>2];_E(c[(c[F>>2]|0)+16>>2]|0,0,e[(c[F>>2]|0)+6>>1]|0)|0;bf(c[n>>2]|0,-1,c[F>>2]|0,-6);f=sx(c[w>>2]|0,c[c[o>>2]>>2]|0,c[x>>2]|0,1)|0;c[(c[u>>2]|0)+16>>2]=f;c[y>>2]=Mr(c[n>>2]|0)|0;ip(c[n>>2]|0,43,(c[y>>2]|0)+1|0,0,(c[y>>2]|0)+1|0)|0;f=Nr(c[n>>2]|0)|0;c[(c[o>>2]|0)+16>>2]=f;f=(c[w>>2]|0)+72|0;b=(c[f>>2]|0)+1|0;c[f>>2]=b;c[(c[o>>2]|0)+12>>2]=b;fp(c[n>>2]|0,17,c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;Ir(c[n>>2]|0,119,c[(c[o>>2]|0)+8>>2]|0)|0;zp(c[n>>2]|0,c[z>>2]|0);Ex(c[w>>2]|0,c[A>>2]|0,c[B>>2]|0,c[(c[o>>2]|0)+4>>2]|0);zp(c[n>>2]|0,c[y>>2]|0);break}}while(0);if(d[(c[o>>2]|0)+24>>0]&1)c[v>>2]=109;else c[v>>2]=110;fp(c[n>>2]|0,c[v>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[E>>2]|0)|0;if(!(c[(c[m>>2]|0)+8>>2]|0)){i=q;return}s=c[m>>2]|0;if(c[(c[m>>2]|0)+12>>2]|0)c[p>>2]=(c[s+12>>2]|0)+1;else c[p>>2]=c[s+8>>2];c[r>>2]=Ir(c[n>>2]|0,139,c[p>>2]|0)|0;fp(c[n>>2]|0,37,c[p>>2]|0,-1)|0;c[l>>2]=mp(c[n>>2]|0,16)|0;zp(c[n>>2]|0,c[r>>2]|0);Ir(c[n>>2]|0,105,c[(c[o>>2]|0)+8>>2]|0)|0;Ir(c[n>>2]|0,95,c[(c[o>>2]|0)+8>>2]|0)|0;zp(c[n>>2]|0,c[l>>2]|0);i=q;return}function Vx(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[e>>2]|0;if((a|0)==117)c[b>>2]=25376;else if((a|0)==118)c[b>>2]=25360;else if((a|0)==116)c[b>>2]=25344;else c[b>>2]=25384;i=d;return c[b>>2]|0}function Wx(a,f,g){a=a|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,G=0,H=0;x=i;i=i+112|0;n=x+108|0;o=x+104|0;q=x+100|0;H=x+96|0;D=x+92|0;t=x+88|0;y=x+84|0;v=x+80|0;l=x+76|0;r=x+72|0;p=x+68|0;u=x+64|0;k=x+60|0;B=x+56|0;E=x+52|0;z=x+32|0;G=x+28|0;A=x+24|0;h=x+20|0;w=x+16|0;j=x+12|0;s=x+8|0;m=x+4|0;C=x;c[n>>2]=a;c[o>>2]=f;c[q>>2]=g;c[H>>2]=c[(c[o>>2]|0)+32>>2];c[D>>2]=c[c[c[o>>2]>>2]>>2];c[t>>2]=c[(c[n>>2]|0)+8>>2];c[y>>2]=c[(c[o>>2]|0)+52>>2];c[p>>2]=0;c[B>>2]=0;c[E>>2]=5;if(ap(c[n>>2]|0,33,0,0,0)|0){i=x;return}c[r>>2]=Nr(c[t>>2]|0)|0;tx(c[n>>2]|0,c[o>>2]|0,c[r>>2]|0);c[w>>2]=c[(c[o>>2]|0)+60>>2];c[j>>2]=c[(c[o>>2]|0)+64>>2];c[s>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+64>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[(c[o>>2]|0)+12>>2]=0;c[(c[o>>2]|0)+8>>2]=0;c[h>>2]=c[(c[o>>2]|0)+48>>2];c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[H>>2]>>2]|0))break;g=c[G>>2]|0;if((d[(c[H>>2]|0)+8+((c[G>>2]|0)*72|0)+37>>0]|0)>>>3&1){F=5;break}c[G>>2]=g+1}if((F|0)==5)c[p>>2]=c[(c[H>>2]|0)+8+(g*72|0)+40>>2];a=(c[n>>2]|0)+68|0;F=c[a>>2]|0;c[a>>2]=F+1;c[k>>2]=F;F=(c[h>>2]|0)!=0;if((d[(c[o>>2]|0)+4>>0]|0|0)==115){c[E>>2]=F?8:6;f=(c[n>>2]|0)+68|0;a=c[f>>2]|0;c[f>>2]=a+1;c[B>>2]=a}else c[E>>2]=F?7:5;$s(z,c[E>>2]|0,c[k>>2]|0);f=(c[n>>2]|0)+72|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[u>>2]=a;ip(c[t>>2]|0,60,c[p>>2]|0,c[u>>2]|0,c[D>>2]|0)|0;if(c[h>>2]|0){c[C>>2]=_x(c[n>>2]|0,c[o>>2]|0,1)|0;hp(c[t>>2]|0,57,c[k>>2]|0,(c[c[h>>2]>>2]|0)+2|0,0,c[C>>2]|0,-6)|0;c[z+16>>2]=c[h>>2]}else fp(c[t>>2]|0,57,c[k>>2]|0,c[D>>2]|0)|0;if(c[B>>2]|0){a=fp(c[t>>2]|0,57,c[B>>2]|0,0)|0;c[(c[o>>2]|0)+16>>2]=a;a=(c[o>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|8}c[(c[o>>2]|0)+48>>2]=0;c[(c[y>>2]|0)+56>>2]=0;c[A>>2]=ao(c[n>>2]|0,c[y>>2]|0,z)|0;c[(c[y>>2]|0)+56>>2]=c[o>>2];if(!(c[A>>2]|0)){c[v>>2]=fp(c[t>>2]|0,108,c[k>>2]|0,c[r>>2]|0)|0;Ir(c[t>>2]|0,104,c[p>>2]|0)|0;B=c[t>>2]|0;A=c[k>>2]|0;if(c[h>>2]|0)ip(B,47,A,(c[c[h>>2]>>2]|0)+1|0,c[u>>2]|0)|0;else fp(B,102,A,c[u>>2]|0)|0;Ir(c[t>>2]|0,95,c[k>>2]|0)|0;c[l>>2]=Nr(c[t>>2]|0)|0;Ox(c[t>>2]|0,c[m>>2]|0,c[l>>2]|0);xx(c[n>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0,c[p>>2]|0,0,0,c[q>>2]|0,c[l>>2]|0,c[r>>2]|0);if(c[s>>2]|0)ip(c[t>>2]|0,139,c[s>>2]|0,c[r>>2]|0,-1)|0;Pr(c[t>>2]|0,c[l>>2]|0);c[(c[o>>2]|0)+52>>2]=0;ao(c[n>>2]|0,c[o>>2]|0,z)|0;c[(c[o>>2]|0)+52>>2]=c[y>>2];fp(c[t>>2]|0,16,0,c[v>>2]|0)|0;Pr(c[t>>2]|0,c[r>>2]|0)}sn(c[c[n>>2]>>2]|0,c[(c[o>>2]|0)+48>>2]|0);c[(c[o>>2]|0)+48>>2]=c[h>>2];c[(c[o>>2]|0)+60>>2]=c[w>>2];c[(c[o>>2]|0)+64>>2]=c[j>>2];i=x;return}function Xx(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,A=0,B=0,C=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;X=i;i=i+224|0;W=X+212|0;A=X+208|0;l=X+204|0;C=X+200|0;_=X+196|0;ba=X+192|0;m=X+188|0;n=X+184|0;G=X+164|0;B=X+144|0;r=X+140|0;y=X+136|0;H=X+132|0;L=X+128|0;o=X+124|0;w=X+120|0;p=X+116|0;x=X+112|0;J=X+108|0;v=X+104|0;E=X+100|0;q=X+96|0;Q=X+92|0;R=X+88|0;k=X+84|0;O=X+80|0;j=X+76|0;M=X+72|0;N=X+68|0;s=X+64|0;u=X+60|0;I=X+56|0;t=X+52|0;z=X+48|0;S=X+44|0;F=X+40|0;Z=X+36|0;T=X+32|0;U=X+28|0;K=X+24|0;P=X+20|0;ca=X+16|0;aa=X+12|0;Y=X+8|0;$=X+4|0;V=X;c[A>>2]=f;c[l>>2]=g;c[C>>2]=h;c[x>>2]=0;c[z>>2]=0;c[F>>2]=c[c[A>>2]>>2];c[n>>2]=c[(c[A>>2]|0)+8>>2];c[u>>2]=Nr(c[n>>2]|0)|0;c[s>>2]=Nr(c[n>>2]|0)|0;c[t>>2]=d[(c[l>>2]|0)+4>>0];c[m>>2]=c[(c[l>>2]|0)+52>>2];c[Z>>2]=c[(c[l>>2]|0)+48>>2];c[T>>2]=c[c[Z>>2]>>2];a:do if((c[t>>2]|0)!=116){c[_>>2]=1;while(1){if(d[(c[F>>2]|0)+64>>0]|0)break a;if((c[_>>2]|0)>(c[c[c[l>>2]>>2]>>2]|0))break a;c[ba>>2]=0;c[ca>>2]=c[(c[Z>>2]|0)+4>>2];while(1){if((c[ba>>2]|0)>=(c[T>>2]|0))break;if((e[(c[ca>>2]|0)+16>>1]|0|0)==(c[_>>2]|0))break;c[ba>>2]=(c[ba>>2]|0)+1;c[ca>>2]=(c[ca>>2]|0)+20}if((c[ba>>2]|0)==(c[T>>2]|0)){c[aa>>2]=ho(c[F>>2]|0,132,0)|0;if(!(c[aa>>2]|0))break;f=(c[aa>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[aa>>2]|0)+8>>2]=c[_>>2];c[Z>>2]=eo(c[A>>2]|0,c[Z>>2]|0,c[aa>>2]|0)|0;if(c[Z>>2]|0){g=c[_>>2]&65535;f=c[T>>2]|0;c[T>>2]=f+1;b[(c[(c[Z>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=g}}c[_>>2]=(c[_>>2]|0)+1}c[W>>2]=7;f=c[W>>2]|0;i=X;return f|0}while(0);c[U>>2]=Qe(c[F>>2]|0,c[T>>2]<<2,0)|0;if(c[U>>2]|0){c[_>>2]=0;c[Y>>2]=c[(c[Z>>2]|0)+4>>2];while(1){if((c[_>>2]|0)>=(c[T>>2]|0))break;c[(c[U>>2]|0)+(c[_>>2]<<2)>>2]=(e[(c[Y>>2]|0)+16>>1]|0)-1;c[_>>2]=(c[_>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+20}c[S>>2]=_x(c[A>>2]|0,c[l>>2]|0,1)|0}else c[S>>2]=0;c[(c[l>>2]|0)+48>>2]=c[Z>>2];f=Jq(c[c[A>>2]>>2]|0,c[Z>>2]|0,0)|0;c[(c[m>>2]|0)+48>>2]=f;b:do if((c[t>>2]|0)!=116){c[$>>2]=c[c[c[l>>2]>>2]>>2];c[j>>2]=(c[(c[A>>2]|0)+72>>2]|0)+1;f=(c[A>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+((c[$>>2]|0)+1);fp(c[n>>2]|0,25,0,c[j>>2]|0)|0;c[z>>2]=Xr(c[F>>2]|0,c[$>>2]|0,1)|0;if(c[z>>2]|0){c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[$>>2]|0))break b;f=Zx(c[A>>2]|0,c[l>>2]|0,c[_>>2]|0)|0;c[(c[z>>2]|0)+20+(c[_>>2]<<2)>>2]=f;a[(c[(c[z>>2]|0)+16>>2]|0)+(c[_>>2]|0)>>0]=0;c[_>>2]=(c[_>>2]|0)+1}}}else c[j>>2]=0;while(0);c[(c[l>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+56>>2]=0;Lq(c[A>>2]|0,c[l>>2]|0,c[(c[l>>2]|0)+48>>2]|0,16480)|0;if(!(c[(c[m>>2]|0)+52>>2]|0))Lq(c[A>>2]|0,c[m>>2]|0,c[(c[m>>2]|0)+48>>2]|0,16480)|0;tx(c[A>>2]|0,c[l>>2]|0,c[u>>2]|0);if((c[t>>2]|0)==116?(c[(c[l>>2]|0)+8>>2]|0)!=0:0){Y=(c[A>>2]|0)+72|0;f=(c[Y>>2]|0)+1|0;c[Y>>2]=f;c[k>>2]=f;f=(c[A>>2]|0)+72|0;Y=(c[f>>2]|0)+1|0;c[f>>2]=Y;c[O>>2]=Y;Y=c[l>>2]|0;if(c[(c[l>>2]|0)+12>>2]|0)Y=(c[Y+12>>2]|0)+1|0;else Y=c[Y+8>>2]|0;fp(c[n>>2]|0,33,Y,c[k>>2]|0)|0;fp(c[n>>2]|0,33,c[k>>2]|0,c[O>>2]|0)|0}else{c[O>>2]=0;c[k>>2]=0}wn(c[F>>2]|0,c[(c[l>>2]|0)+60>>2]|0);c[(c[l>>2]|0)+60>>2]=0;wn(c[F>>2]|0,c[(c[l>>2]|0)+64>>2]|0);c[(c[l>>2]|0)+64>>2]=0;f=(c[A>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[r>>2]=g;g=(c[A>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[y>>2]=f;f=(c[A>>2]|0)+72|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[o>>2]=g;g=(c[A>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[w>>2]=f;$s(G,13,c[r>>2]|0);$s(B,13,c[y>>2]|0);c[H>>2]=(Mr(c[n>>2]|0)|0)+1;c[I>>2]=ip(c[n>>2]|0,20,c[r>>2]|0,0,c[H>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=c[k>>2];c[K>>2]=c[(c[A>>2]|0)+468>>2];ao(c[A>>2]|0,c[m>>2]|0,G)|0;Ir(c[n>>2]|0,21,c[r>>2]|0)|0;zp(c[n>>2]|0,c[I>>2]|0);c[L>>2]=(Mr(c[n>>2]|0)|0)+1;c[I>>2]=ip(c[n>>2]|0,20,c[y>>2]|0,0,c[L>>2]|0)|0;c[M>>2]=c[(c[l>>2]|0)+8>>2];c[N>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+8>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[P>>2]=c[(c[A>>2]|0)+468>>2];ao(c[A>>2]|0,c[l>>2]|0,B)|0;c[(c[l>>2]|0)+8>>2]=c[M>>2];c[(c[l>>2]|0)+12>>2]=c[N>>2];Ir(c[n>>2]|0,21,c[y>>2]|0)|0;c[p>>2]=$x(c[A>>2]|0,c[l>>2]|0,G,c[C>>2]|0,c[o>>2]|0,c[j>>2]|0,c[z>>2]|0,c[u>>2]|0)|0;if((c[t>>2]|0)==116|(c[t>>2]|0)==115)c[x>>2]=$x(c[A>>2]|0,c[l>>2]|0,B,c[C>>2]|0,c[w>>2]|0,c[j>>2]|0,c[z>>2]|0,c[u>>2]|0)|0;eh(c[z>>2]|0);if((c[t>>2]|0)==117|(c[t>>2]|0)==118){f=c[u>>2]|0;c[J>>2]=f;c[v>>2]=f}else{c[J>>2]=fp(c[n>>2]|0,17,c[w>>2]|0,c[x>>2]|0)|0;c[v>>2]=fp(c[n>>2]|0,22,c[y>>2]|0,c[u>>2]|0)|0;fp(c[n>>2]|0,16,0,c[J>>2]|0)|0;g=(c[m>>2]|0)+24|0;f=(c[l>>2]|0)+24|0;ca=f;g=bF(c[ca>>2]|0,c[ca+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=D}if((c[t>>2]|0)==118){c[E>>2]=c[J>>2];g=(c[l>>2]|0)+24|0;ba=c[g+4>>2]|0;f=(c[m>>2]|0)+24|0;ca=c[f+4>>2]|0;if(ba>>>0>ca>>>0|((ba|0)==(ca|0)?(c[g>>2]|0)>>>0>(c[f>>2]|0)>>>0:0)){ca=(c[m>>2]|0)+24|0;g=c[ca+4>>2]|0;f=(c[l>>2]|0)+24|0;c[f>>2]=c[ca>>2];c[f+4>>2]=g}}else{c[E>>2]=fp(c[n>>2]|0,17,c[o>>2]|0,c[p>>2]|0)|0;fp(c[n>>2]|0,22,c[r>>2]|0,c[u>>2]|0)|0;fp(c[n>>2]|0,16,0,c[E>>2]|0)|0}c[q>>2]=fp(c[n>>2]|0,17,c[o>>2]|0,c[p>>2]|0)|0;fp(c[n>>2]|0,22,c[r>>2]|0,c[J>>2]|0)|0;fp(c[n>>2]|0,16,0,c[s>>2]|0)|0;do if((c[t>>2]|0)!=116)if((c[t>>2]|0)==118){c[Q>>2]=c[q>>2];c[q>>2]=(c[q>>2]|0)+1;break}else{c[Q>>2]=fp(c[n>>2]|0,22,c[r>>2]|0,c[J>>2]|0)|0;fp(c[n>>2]|0,16,0,c[s>>2]|0)|0;break}else c[Q>>2]=c[q>>2];while(0);c[R>>2]=Mr(c[n>>2]|0)|0;if((c[t>>2]|0)==116|(c[t>>2]|0)==115)fp(c[n>>2]|0,17,c[w>>2]|0,c[x>>2]|0)|0;fp(c[n>>2]|0,22,c[y>>2]|0,c[E>>2]|0)|0;fp(c[n>>2]|0,16,0,c[s>>2]|0)|0;zp(c[n>>2]|0,c[I>>2]|0);fp(c[n>>2]|0,22,c[r>>2]|0,c[v>>2]|0)|0;fp(c[n>>2]|0,22,c[y>>2]|0,c[E>>2]|0)|0;Pr(c[n>>2]|0,c[s>>2]|0);hp(c[n>>2]|0,41,0,0,0,c[U>>2]|0,-15)|0;hp(c[n>>2]|0,42,c[G+8>>2]|0,c[B+8>>2]|0,c[T>>2]|0,c[S>>2]|0,-6)|0;Xe(c[n>>2]|0,1);ip(c[n>>2]|0,43,c[q>>2]|0,c[Q>>2]|0,c[R>>2]|0)|0;Pr(c[n>>2]|0,c[u>>2]|0);if((d[c[C>>2]>>0]|0|0)==9){c[V>>2]=c[m>>2];while(1){if(!(c[(c[V>>2]|0)+52>>2]|0))break;c[V>>2]=c[(c[V>>2]|0)+52>>2]}Mx(c[A>>2]|0,0,c[c[V>>2]>>2]|0)}if(c[(c[l>>2]|0)+52>>2]|0)tn(c[F>>2]|0,c[(c[l>>2]|0)+52>>2]|0);c[(c[l>>2]|0)+52>>2]=c[m>>2];c[(c[m>>2]|0)+56>>2]=c[l>>2];Yx(c[A>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[K>>2]|0,c[P>>2]|0,0);c[W>>2]=0;f=c[W>>2]|0;i=X;return f|0}function Yx(a,b,e,f,g){a=a|0;b=b|0;e=e|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;o=i;i=i+48|0;p=o;j=o+40|0;h=o+36|0;l=o+32|0;m=o+28|0;n=o+24|0;k=o+20|0;q=o+16|0;c[j>>2]=a;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if((d[(c[j>>2]|0)+450>>0]|0|0)!=2){i=o;return}c[k>>2]=c[(c[j>>2]|0)+8>>2];a=c[c[j>>2]>>2]|0;l=c[l>>2]|0;f=c[m>>2]|0;e=(c[n>>2]|0)!=0?25320:1216;b=Vx(c[h>>2]|0)|0;c[p>>2]=l;c[p+4>>2]=f;c[p+8>>2]=e;c[p+12>>2]=b;c[q>>2]=Te(a,25280,p)|0;hp(c[k>>2]|0,155,c[(c[j>>2]|0)+464>>2]|0,0,0,c[q>>2]|0,-1)|0;i=o;return}function Zx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[(c[h>>2]|0)+52>>2]|0)c[e>>2]=Zx(c[g>>2]|0,c[(c[h>>2]|0)+52>>2]|0,c[j>>2]|0)|0;else c[e>>2]=0;if(c[e>>2]|0){a=c[e>>2]|0;i=f;return a|0}if((c[j>>2]|0)>=(c[c[c[h>>2]>>2]>>2]|0)){a=c[e>>2]|0;i=f;return a|0}c[e>>2]=cq(c[g>>2]|0,c[(c[(c[c[h>>2]>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)|0;a=c[e>>2]|0;i=f;return a|0}function _x(b,d,f){b=b|0;d=d|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;n=i;i=i+48|0;p=n+40|0;l=n+36|0;s=n+32|0;h=n+28|0;q=n+24|0;r=n+20|0;m=n+16|0;o=n+12|0;g=n+8|0;j=n+4|0;k=n;c[p>>2]=b;c[l>>2]=d;c[s>>2]=f;c[h>>2]=c[(c[l>>2]|0)+48>>2];c[q>>2]=c[c[(c[l>>2]|0)+48>>2]>>2];c[r>>2]=c[c[p>>2]>>2];c[m>>2]=Xr(c[r>>2]|0,(c[q>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;c[g>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);c[j>>2]=c[c[g>>2]>>2];f=c[p>>2]|0;if(c[(c[j>>2]|0)+4>>2]&256)c[k>>2]=cq(f,c[j>>2]|0)|0;else{c[k>>2]=Zx(f,c[l>>2]|0,(e[(c[g>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[r>>2]|0)+8>>2];s=Oq(c[p>>2]|0,c[j>>2]|0,c[c[k>>2]>>2]|0)|0;c[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]=s}c[(c[m>>2]|0)+20+(c[o>>2]<<2)>>2]=c[k>>2];a[(c[(c[m>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)+12>>0]|0;c[o>>2]=(c[o>>2]|0)+1}s=c[m>>2]|0;i=n;return s|0}function $x(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;n=i;i=i+80|0;y=n+64|0;u=n+60|0;o=n+56|0;x=n+52|0;m=n+48|0;s=n+44|0;A=n+40|0;D=n+36|0;q=n+32|0;p=n+28|0;r=n+24|0;t=n+20|0;B=n+16|0;C=n+12|0;v=n+8|0;w=n+4|0;z=n;c[u>>2]=b;c[o>>2]=e;c[x>>2]=f;c[m>>2]=g;c[s>>2]=h;c[A>>2]=j;c[D>>2]=k;c[q>>2]=l;c[p>>2]=c[(c[u>>2]|0)+8>>2];c[t>>2]=Mr(c[p>>2]|0)|0;c[r>>2]=Nr(c[p>>2]|0)|0;if(c[A>>2]|0){c[B>>2]=Ir(c[p>>2]|0,46,c[A>>2]|0)|0;g=c[p>>2]|0;f=c[(c[x>>2]|0)+8>>2]|0;e=(c[A>>2]|0)+1|0;b=c[(c[x>>2]|0)+12>>2]|0;c[C>>2]=hp(g,42,f,e,b,Yr(c[D>>2]|0)|0,-6)|0;ip(c[p>>2]|0,43,(c[C>>2]|0)+2|0,c[r>>2]|0,(c[C>>2]|0)+2|0)|0;zp(c[p>>2]|0,c[B>>2]|0);ip(c[p>>2]|0,33,c[(c[x>>2]|0)+8>>2]|0,(c[A>>2]|0)+1|0,(c[(c[x>>2]|0)+12>>2]|0)-1|0)|0;fp(c[p>>2]|0,25,1,c[A>>2]|0)|0}if(a[(c[c[u>>2]>>2]|0)+64>>0]|0){c[y>>2]=0;b=c[y>>2]|0;i=n;return b|0}Ox(c[p>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[r>>2]|0);switch(d[c[m>>2]>>0]|0){case 12:case 14:{c[v>>2]=kp(c[u>>2]|0)|0;c[w>>2]=kp(c[u>>2]|0)|0;ip(c[p>>2]|0,49,c[(c[x>>2]|0)+8>>2]|0,c[(c[x>>2]|0)+12>>2]|0,c[v>>2]|0)|0;fp(c[p>>2]|0,74,c[(c[m>>2]|0)+4>>2]|0,c[w>>2]|0)|0;ip(c[p>>2]|0,75,c[(c[m>>2]|0)+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;Xe(c[p>>2]|0,8);lp(c[u>>2]|0,c[w>>2]|0);lp(c[u>>2]|0,c[v>>2]|0);break};case 13:{if(!(c[(c[m>>2]|0)+8>>2]|0)){b=ys(c[u>>2]|0,c[(c[x>>2]|0)+12>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=b;c[(c[m>>2]|0)+12>>2]=c[(c[x>>2]|0)+12>>2]}Ex(c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+12>>2]|0);Ir(c[p>>2]|0,22,c[(c[m>>2]|0)+4>>2]|0)|0;break};case 11:{b=kt(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[m>>2]|0)+1>>0]|0)|0;a[(c[m>>2]|0)+1>>0]=b;c[z>>2]=kp(c[u>>2]|0)|0;hp(c[p>>2]|0,49,c[(c[x>>2]|0)+8>>2]|0,1,c[z>>2]|0,(c[m>>2]|0)+1|0,1)|0;Us(c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0,1);fp(c[p>>2]|0,110,c[(c[m>>2]|0)+4>>2]|0,c[z>>2]|0)|0;lp(c[u>>2]|0,c[z>>2]|0);break};case 10:{Ex(c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+4>>2]|0,1);break};default:{fp(c[p>>2]|0,35,c[(c[x>>2]|0)+8>>2]|0,c[(c[x>>2]|0)+12>>2]|0)|0;Us(c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[(c[x>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+8>>2]|0)ip(c[p>>2]|0,139,c[(c[o>>2]|0)+8>>2]|0,c[q>>2]|0,-1)|0;Pr(c[p>>2]|0,c[r>>2]|0);Ir(c[p>>2]|0,18,c[s>>2]|0)|0;c[y>>2]=c[t>>2];b=c[y>>2]|0;i=n;return b|0}function ay(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;j=f+16|0;h=f+12|0;k=f+8|0;l=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[h>>2]|0)){i=f;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[h>>2]>>2]|0))break;a=by(c[j>>2]|0,c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]=a;c[g>>2]=(c[g>>2]|0)+1}i=f;return}function by(e,f,g,h){e=e|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,q=0;n=i;i=i+32|0;k=n+20|0;q=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;p=n;c[q>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;if(!(c[l>>2]|0)){c[k>>2]=0;e=c[k>>2]|0;i=n;return e|0}do if((d[c[l>>2]>>0]|0)==154?(c[(c[l>>2]|0)+28>>2]|0)==(c[j>>2]|0):0)if((b[(c[l>>2]|0)+32>>1]|0)<0){a[c[l>>2]>>0]=101;break}else{c[p>>2]=Bq(c[q>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((b[(c[l>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;wn(c[q>>2]|0,c[l>>2]|0);c[l>>2]=c[p>>2];break}else o=8;while(0);do if((o|0)==8){p=by(c[q>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=p;p=by(c[q>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+16>>2]=p;p=c[q>>2]|0;o=(c[l>>2]|0)+20|0;if(c[(c[l>>2]|0)+4>>2]&2048){cy(p,c[o>>2]|0,c[j>>2]|0,c[m>>2]|0);break}else{ay(p,c[o>>2]|0,c[j>>2]|0,c[m>>2]|0);break}}while(0);c[k>>2]=c[l>>2];e=c[k>>2]|0;i=n;return e|0}function cy(a,b,d,e){a=a|0;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;l=i;i=i+32|0;h=l+24|0;n=l+20|0;k=l+16|0;f=l+12|0;m=l+8|0;j=l+4|0;g=l;c[h>>2]=a;c[n>>2]=b;c[k>>2]=d;c[f>>2]=e;if(!(c[n>>2]|0)){i=l;return}ay(c[h>>2]|0,c[c[n>>2]>>2]|0,c[k>>2]|0,c[f>>2]|0);ay(c[h>>2]|0,c[(c[n>>2]|0)+40>>2]|0,c[k>>2]|0,c[f>>2]|0);ay(c[h>>2]|0,c[(c[n>>2]|0)+48>>2]|0,c[k>>2]|0,c[f>>2]|0);a=by(c[h>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[k>>2]|0,c[f>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=a;a=by(c[h>>2]|0,c[(c[n>>2]|0)+36>>2]|0,c[k>>2]|0,c[f>>2]|0)|0;c[(c[n>>2]|0)+36>>2]=a;cy(c[h>>2]|0,c[(c[n>>2]|0)+52>>2]|0,c[k>>2]|0,c[f>>2]|0);c[m>>2]=c[(c[n>>2]|0)+32>>2];if(!(c[m>>2]|0)){i=l;return}c[g>>2]=c[c[m>>2]>>2];c[j>>2]=(c[m>>2]|0)+8;while(1){if((c[g>>2]|0)<=0)break;cy(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0,c[f>>2]|0);c[g>>2]=(c[g>>2]|0)+ -1;c[j>>2]=(c[j>>2]|0)+72}i=l;return}function dy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;h=l+16|0;g=l+12|0;n=l+8|0;o=l+4|0;j=l;c[k>>2]=b;c[m>>2]=e;c[h>>2]=f;c[g>>2]=c[c[k>>2]>>2];if(!(c[(c[g>>2]|0)+24>>2]&524288)){i=l;return}if((d[(c[h>>2]|0)+44>>0]|0)&16){i=l;return}if(c[(c[h>>2]|0)+12>>2]|0){i=l;return}c[n>>2]=0;c[o>>2]=dp(c[k>>2]|0)|0;do if(!(Up(c[h>>2]|0)|0)){c[j>>2]=c[(c[h>>2]|0)+16>>2];while(1){if(!(c[j>>2]|0))break;if(d[(c[j>>2]|0)+24>>0]|0)break;if(c[(c[g>>2]|0)+24>>2]&16777216)break;c[j>>2]=c[(c[j>>2]|0)+4>>2]}if(c[j>>2]|0){c[n>>2]=Nr(c[o>>2]|0)|0;fp(c[o>>2]|0,135,1,c[n>>2]|0)|0;break}else{i=l;return}}while(0);a[(c[k>>2]|0)+438>>0]=1;b=c[k>>2]|0;no(b,wr(c[g>>2]|0,c[m>>2]|0,0)|0,0);a[(c[k>>2]|0)+438>>0]=0;if(!(c[(c[g>>2]|0)+24>>2]&16777216)){b=c[o>>2]|0;fp(b,135,0,(Mr(c[o>>2]|0)|0)+2|0)|0;ts(c[k>>2]|0,787,2,0,-2,4)}if(!(c[n>>2]|0)){i=l;return}Pr(c[o>>2]|0,c[n>>2]|0);i=l;return}function ey(a,b,e,f){a=a|0;b=b|0;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;m=i;i=i+48|0;o=m;k=m+40|0;j=m+36|0;h=m+32|0;p=m+28|0;n=m+24|0;l=m+20|0;q=m+16|0;g=m+12|0;c[k>>2]=a;c[j>>2]=b;c[h>>2]=e;c[p>>2]=f;c[l>>2]=c[c[k>>2]>>2];c[g>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[h>>2]<<4);c[n>>2]=dp(c[k>>2]|0)|0;pp(c[k>>2]|0,1,c[h>>2]|0);if((d[(c[j>>2]|0)+44>>0]|0)&16)mp(c[n>>2]|0,144)|0;c[q>>2]=wp(c[k>>2]|0,c[j>>2]|0)|0;while(1){if(!(c[q>>2]|0))break;Bt(c[k>>2]|0,c[q>>2]|0);c[q>>2]=c[(c[q>>2]|0)+32>>2]}if((d[(c[j>>2]|0)+44>>0]|0)&8){a=c[k>>2]|0;b=c[c[j>>2]>>2]|0;c[o>>2]=c[c[g>>2]>>2];c[o+4>>2]=b;cp(a,25632,o)}a=c[k>>2]|0;e=(c[h>>2]|0)==1?14904:14928;b=c[c[j>>2]>>2]|0;c[o>>2]=c[c[g>>2]>>2];c[o+4>>2]=e;c[o+8>>2]=b;cp(a,25680,o);if((c[p>>2]|0)==0?((d[(c[j>>2]|0)+44>>0]|0)&16|0)==0:0)fy(c[k>>2]|0,c[j>>2]|0);if(!((d[(c[j>>2]|0)+44>>0]|0)&16)){e=c[n>>2]|0;b=c[h>>2]|0;a=c[j>>2]|0;a=c[a>>2]|0;hp(e,124,b,0,0,a,0)|0;a=c[k>>2]|0;b=c[h>>2]|0;ep(a,b);b=c[l>>2]|0;a=c[h>>2]|0;gy(b,a);i=m;return}hp(c[n>>2]|0,146,c[h>>2]|0,0,0,c[c[j>>2]>>2]|0,0)|0;e=c[n>>2]|0;b=c[h>>2]|0;a=c[j>>2]|0;a=c[a>>2]|0;hp(e,124,b,0,0,a,0)|0;a=c[k>>2]|0;b=c[h>>2]|0;ep(a,b);b=c[l>>2]|0;a=c[h>>2]|0;gy(b,a);i=m;return}function fy(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;k=i;i=i+32|0;m=k+28|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;n=k;c[m>>2]=a;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+32>>2];c[j>>2]=0;while(1){c[f>>2]=0;if(!((c[j>>2]|0)!=0?(c[l>>2]|0)>=(c[j>>2]|0):0))c[f>>2]=c[l>>2];c[g>>2]=c[(c[d>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+44>>2];if(!((c[j>>2]|0)!=0?(c[h>>2]|0)>=(c[j>>2]|0):0))e=9;if((e|0)==9?(e=0,(c[h>>2]|0)>(c[f>>2]|0)):0)c[f>>2]=c[h>>2];c[g>>2]=c[(c[g>>2]|0)+20>>2]}if(!(c[f>>2]|0))break;c[n>>2]=Ve(c[c[m>>2]>>2]|0,c[(c[d>>2]|0)+68>>2]|0)|0;ju(c[m>>2]|0,c[f>>2]|0,c[n>>2]|0);c[j>>2]=c[f>>2]}i=k;return}function gy(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=d;if(((e[(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=f;return}c[j>>2]=c[(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+16>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0){hy(c[g>>2]|0,c[k>>2]|0);c[(c[k>>2]|0)+4>>2]=0;b[(c[k>>2]|0)+38>>1]=0}c[j>>2]=c[c[j>>2]>>2]}a=(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+78|0;b[a>>1]=(e[a>>1]|0)&-3;i=f;return}function hy(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[f>>2]=d;a=c[(c[f>>2]|0)+4>>2]|0;c[j>>2]=a;if(!a){i=e;return}c[h>>2]=0;while(1){d=c[g>>2]|0;if((c[h>>2]|0)>=(b[(c[f>>2]|0)+38>>1]|0))break;Xb(d,c[c[j>>2]>>2]|0);wn(c[g>>2]|0,c[(c[j>>2]|0)+4>>2]|0);Xb(c[g>>2]|0,c[(c[j>>2]|0)+8>>2]|0);Xb(c[g>>2]|0,c[(c[j>>2]|0)+12>>2]|0);Xb(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+24}Xb(d,c[(c[f>>2]|0)+4>>2]|0);i=e;return}function iy(a,d,e,f,g){a=a|0;d=d|0;e=e|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;h=i;i=i+144|0;k=h+136|0;j=h+132|0;m=h+128|0;n=h+124|0;o=h+120|0;p=h;l=h+88|0;q=h+80|0;c[k>>2]=a;c[j>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;f=p+0|0;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[p>>2]=1;c[p+16>>2]=c[c[j>>2]>>2];c[p+24>>2]=c[j>>2];c[p+48>>2]=-1;c[l>>2]=c[k>>2];c[l+4>>2]=p;b[l+28>>1]=c[m>>2];a=(vq(l,c[n>>2]|0)|0)==0;if(!(a&(c[o>>2]|0)!=0)){i=h;return}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[o>>2]>>2]|0)){j=6;break}if(vq(l,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2]|0)|0){j=6;break}c[q>>2]=(c[q>>2]|0)+1}if((j|0)==6){i=h;return}}function jy(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;f=g+12|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;while(1){a=c[k>>2]|0;c[k>>2]=a+ -1;if((a|0)<=0){e=5;break}d=c[h>>2]|0;a=c[j>>2]|0;c[j>>2]=a+2;if((d|0)==(b[a>>1]|0)){e=4;break}}if((e|0)==4){c[f>>2]=1;a=c[f>>2]|0;i=g;return a|0}else if((e|0)==5){c[f>>2]=0;a=c[f>>2]|0;i=g;return a|0}return 0}function ky(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;g=h+12|0;f=h+8|0;k=h+4|0;j=h;l=h+16|0;c[g>>2]=a;c[f>>2]=0;c[j>>2]=c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0))break;b[l>>1]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0;if((b[l>>1]|0)<0)a=1;else a=d[(c[j>>2]|0)+((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)*24|0)+22>>0]|0;c[f>>2]=(c[f>>2]|0)+a;c[k>>2]=(c[k>>2]|0)+1}a=dq(c[f>>2]<<2,0)|0;b[(c[g>>2]|0)+48>>1]=a;i=h;return}function ly(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;my(c[e>>2]|0,c[f>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0))eh(c[(c[f>>2]|0)+40>>2]|0);wn(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Xb(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){e=c[e>>2]|0;a=c[f>>2]|0;Xb(e,a);i=g;return}Xb(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);e=c[e>>2]|0;a=c[f>>2]|0;Xb(e,a);i=g;return}function my(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function ny(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=et(c[h>>2]|0,3+(d[g>>0]|0)|0)|0;i=f;return b|0}function oy(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;p=i;i=i+48|0;r=p+40|0;q=p+36|0;l=p+32|0;m=p+28|0;o=p+24|0;n=p+20|0;t=p+16|0;h=p+12|0;u=p+8|0;s=p+4|0;k=p;c[r>>2]=f;c[q>>2]=g;c[h>>2]=c[c[r>>2]>>2];c[u>>2]=c[(c[r>>2]|0)+8>>2];if(c[(c[r>>2]|0)+416>>2]|0)a[(dt(c[u>>2]|0,c[(c[r>>2]|0)+416>>2]|0)|0)>>0]=120;if(c[(c[r>>2]|0)+420>>2]|0)a[(dt(c[u>>2]|0,c[(c[r>>2]|0)+420>>2]|0)|0)>>0]=16;do if((b[(c[q>>2]|0)+36>>1]|0)>=0){c[s>>2]=eo(c[r>>2]|0,0,0)|0;if(!(c[s>>2]|0)){i=p;return}f=ne(c[c[r>>2]>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((b[(c[q>>2]|0)+36>>1]|0)*24|0)>>2]|0)|0;c[(c[(c[s>>2]|0)+4>>2]|0)+4>>2]=f;a[(c[(c[s>>2]|0)+4>>2]|0)+12>>0]=a[(c[r>>2]|0)+448>>0]|0;c[m>>2]=Vn(c[r>>2]|0,0,0,0,c[s>>2]|0,d[(c[q>>2]|0)+45>>0]|0,0,0,0,0)|0;if(!(c[m>>2]|0)){i=p;return}else{f=(c[m>>2]|0)+55|0;a[f>>0]=a[f>>0]&-4|2;b[(c[q>>2]|0)+36>>1]=-1;break}}else c[m>>2]=Zr(c[q>>2]|0)|0;while(0);f=(c[m>>2]|0)+55|0;a[f>>0]=a[f>>0]&-33|32;c[o>>2]=e[(c[m>>2]|0)+50>>1];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;a[(c[(c[q>>2]|0)+4>>2]|0)+((b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0)*24|0)+20>>0]=1;c[n>>2]=(c[n>>2]|0)+1}f=(c[m>>2]|0)+55|0;a[f>>0]=a[f>>0]&-9|8;c[(c[m>>2]|0)+44>>2]=c[(c[q>>2]|0)+32>>2];c[l>>2]=c[(c[q>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0))break;b:do if((a[(c[l>>2]|0)+55>>0]&3|0)!=2){c[k>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;if(!(jy(c[(c[l>>2]|0)+4>>2]|0,e[(c[l>>2]|0)+50>>1]|0,b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0)|0))c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}if(!(c[k>>2]|0)){b[(c[l>>2]|0)+52>>1]=b[(c[l>>2]|0)+50>>1]|0;break}if(ty(c[h>>2]|0,c[l>>2]|0,(e[(c[l>>2]|0)+50>>1]|0)+(c[k>>2]|0)|0)|0){j=38;break a}c[n>>2]=0;c[t>>2]=e[(c[l>>2]|0)+50>>1];while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break b;if(!(jy(c[(c[l>>2]|0)+4>>2]|0,e[(c[l>>2]|0)+50>>1]|0,b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0)|0)){b[(c[(c[l>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]=b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0;c[(c[(c[l>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}}while(0);c[l>>2]=c[(c[l>>2]|0)+20>>2]}if((j|0)==38){i=p;return}if((c[o>>2]|0)>=(b[(c[q>>2]|0)+38>>1]|0)){b[(c[m>>2]|0)+52>>1]=b[(c[q>>2]|0)+38>>1]|0;i=p;return}if(ty(c[h>>2]|0,c[m>>2]|0,b[(c[q>>2]|0)+38>>1]|0)|0){i=p;return}c[n>>2]=0;c[t>>2]=c[o>>2];while(1){if((c[n>>2]|0)>=(b[(c[q>>2]|0)+38>>1]|0))break;if(!(jy(c[(c[m>>2]|0)+4>>2]|0,c[t>>2]|0,c[n>>2]|0)|0)){b[(c[(c[m>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]=c[n>>2];c[(c[(c[m>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]=3320;c[t>>2]=(c[t>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function py(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;f=g+12|0;e=g+8|0;j=g+4|0;h=g;c[f>>2]=a;c[e>>2]=0;c[h>>2]=b[(c[f>>2]|0)+38>>1];c[j>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[h>>2]|0)<=0)break;c[e>>2]=(c[e>>2]|0)+(d[(c[j>>2]|0)+22>>0]|0);c[h>>2]=(c[h>>2]|0)+ -1;c[j>>2]=(c[j>>2]|0)+24}if((b[(c[f>>2]|0)+36>>1]|0)>=0){h=c[e>>2]|0;h=h<<2;h=dq(h,0)|0;j=c[f>>2]|0;j=j+42|0;b[j>>1]=h;i=g;return}c[e>>2]=(c[e>>2]|0)+1;h=c[e>>2]|0;h=h<<2;h=dq(h,0)|0;j=c[f>>2]|0;j=j+42|0;b[j>>1]=h;i=g;return}function qy(d,e){d=d|0;e=e|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;h=i;i=i+64|0;k=h;n=h+52|0;u=h+48|0;o=h+44|0;g=h+40|0;f=h+36|0;m=h+32|0;l=h+28|0;p=h+24|0;q=h+20|0;j=h+16|0;r=h+12|0;t=h+8|0;s=h+4|0;c[u>>2]=d;c[o>>2]=e;c[m>>2]=0;c[r>>2]=c[(c[o>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[o>>2]|0)+38>>1]|0))break;d=(ry(c[c[r>>2]>>2]|0)|0)+5|0;c[m>>2]=(c[m>>2]|0)+d;c[g>>2]=(c[g>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+24}d=ry(c[c[o>>2]>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+d;if((c[m>>2]|0)<50){c[p>>2]=1216;c[q>>2]=9776;c[j>>2]=23976}else{c[p>>2]=26904;c[q>>2]=26912;c[j>>2]=26920}c[m>>2]=(c[m>>2]|0)+(35+((b[(c[o>>2]|0)+38>>1]|0)*6|0));d=c[m>>2]|0;c[l>>2]=Qe(0,d,((d|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){a[(c[u>>2]|0)+64>>0]=1;c[n>>2]=0;d=c[n>>2]|0;i=h;return d|0}sc(c[m>>2]|0,c[l>>2]|0,26928,k)|0;c[f>>2]=Mb(c[l>>2]|0)|0;sy(c[l>>2]|0,f,c[c[o>>2]>>2]|0);d=c[f>>2]|0;c[f>>2]=d+1;a[(c[l>>2]|0)+d>>0]=40;c[r>>2]=c[(c[o>>2]|0)+4>>2];c[g>>2]=0;while(1){e=(c[m>>2]|0)-(c[f>>2]|0)|0;u=(c[l>>2]|0)+(c[f>>2]|0)|0;if((c[g>>2]|0)>=(b[(c[o>>2]|0)+38>>1]|0))break;sc(e,u,c[p>>2]|0,k)|0;d=Mb((c[l>>2]|0)+(c[f>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+d;c[p>>2]=c[q>>2];sy(c[l>>2]|0,f,c[c[r>>2]>>2]|0);c[s>>2]=c[26944+((a[(c[r>>2]|0)+21>>0]|0)-65<<2)>>2];c[t>>2]=Mb(c[s>>2]|0)|0;dF((c[l>>2]|0)+(c[f>>2]|0)|0,c[s>>2]|0,c[t>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+(c[t>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+24}c[k>>2]=c[j>>2];sc(e,u,1200,k)|0;c[n>>2]=c[l>>2];d=c[n>>2]|0;i=h;return d|0}function ry(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=0;while(1){if(!(a[c[f>>2]>>0]|0))break;if((a[c[f>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}i=d;return(c[e>>2]|0)+2|0}function sy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;h=k+24|0;j=k+20|0;o=k+16|0;m=k+12|0;l=k+8|0;n=k+4|0;g=k;c[h>>2]=b;c[j>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[l>>2]=c[c[j>>2]>>2];c[n>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((d[1224+(d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)!=95:0)break;c[n>>2]=(c[n>>2]|0)+1}if(((d[1224+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(lg(c[m>>2]|0,c[n>>2]|0)|0)==27:0)?(d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)==0:0)f=(c[n>>2]|0)==0;else f=1;c[g>>2]=f&1;if(c[g>>2]|0){o=c[l>>2]|0;c[l>>2]=o+1;a[(c[h>>2]|0)+o>>0]=34}c[n>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0))break;b=a[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[(c[h>>2]|0)+o>>0]=b;if((d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)==34){o=c[l>>2]|0;c[l>>2]=o+1;a[(c[h>>2]|0)+o>>0]=34}c[n>>2]=(c[n>>2]|0)+1}if(!(c[g>>2]|0)){b=c[l>>2]|0;o=c[h>>2]|0;b=o+b|0;a[b>>0]=0;b=c[l>>2]|0;o=c[j>>2]|0;c[o>>2]=b;i=k;return}b=c[l>>2]|0;c[l>>2]=b+1;a[(c[h>>2]|0)+b>>0]=34;b=c[l>>2]|0;o=c[h>>2]|0;b=o+b|0;a[b>>0]=0;b=c[l>>2]|0;o=c[j>>2]|0;c[o>>2]=b;i=k;return}function ty(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;h=i;i=i+32|0;j=h+20|0;o=h+16|0;l=h+12|0;m=h+8|0;k=h+4|0;n=h;c[o>>2]=d;c[l>>2]=f;c[m>>2]=g;if((e[(c[l>>2]|0)+52>>1]|0|0)>=(c[m>>2]|0)){c[j>>2]=0;d=c[j>>2]|0;i=h;return d|0}c[n>>2]=(c[m>>2]|0)*7;d=c[n>>2]|0;c[k>>2]=se(c[o>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){c[j>>2]=7;d=c[j>>2]|0;i=h;return d|0}else{dF(c[k>>2]|0,c[(c[l>>2]|0)+32>>2]|0,(e[(c[l>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[l>>2]|0)+32>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+(c[m>>2]<<2);dF(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0,(e[(c[l>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[l>>2]|0)+4>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+(c[m>>2]<<1);dF(c[k>>2]|0,c[(c[l>>2]|0)+28>>2]|0,e[(c[l>>2]|0)+52>>1]|0|0)|0;c[(c[l>>2]|0)+28>>2]=c[k>>2];b[(c[l>>2]|0)+52>>1]=c[m>>2];d=(c[l>>2]|0)+55|0;a[d>>0]=a[d>>0]&-17|16;c[j>>2]=0;d=c[j>>2]|0;i=h;return d|0}return 0}function uy(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;f=b+16|0;e=b+12|0;j=b+8|0;g=b+4|0;h=b;c[f>>2]=a;c[j>>2]=dp(c[f>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+396>>2]|0))break;c[g>>2]=(c[(c[f>>2]|0)+400>>2]|0)+(c[e>>2]<<4);c[h>>2]=c[c[g>>2]>>2];hp(c[j>>2]|0,143,c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|0,c[(c[g>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=b;return}function vy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;h=b+24|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;k=b+4|0;j=b;c[h>>2]=a;c[e>>2]=c[c[h>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+8>>2];c[d>>2]=c[(c[h>>2]|0)+404>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[d>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[d>>2]|0)+12>>2];Kr(c[h>>2]|0,0,c[(c[d>>2]|0)+8>>2]|0,c[(c[(c[f>>2]|0)+12>>2]|0)+72>>2]|0,54);ip(c[j>>2]|0,28,0,c[g>>2]|0,(c[g>>2]|0)+1|0)|0;c[k>>2]=Mr(c[j>>2]|0)|0;hp(c[j>>2]|0,97,0,(c[g>>2]|0)-1|0,0,c[c[(c[d>>2]|0)+4>>2]>>2]|0,0)|0;fp(c[j>>2]|0,108,0,(c[k>>2]|0)+9|0)|0;ip(c[j>>2]|0,47,0,0,c[g>>2]|0)|0;ip(c[j>>2]|0,78,(c[g>>2]|0)-1|0,(c[k>>2]|0)+7|0,c[g>>2]|0)|0;Xe(c[j>>2]|0,16);fp(c[j>>2]|0,103,0,(c[g>>2]|0)+1|0)|0;ip(c[j>>2]|0,47,0,1,c[g>>2]|0)|0;fp(c[j>>2]|0,16,0,(c[k>>2]|0)+9|0)|0;fp(c[j>>2]|0,9,0,(c[k>>2]|0)+2|0)|0;fp(c[j>>2]|0,25,0,c[g>>2]|0)|0;mp(c[j>>2]|0,61)|0;c[d>>2]=c[c[d>>2]>>2]}i=b;return}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+12|0;d=g+4|0;c[f>>2]=a;c[g+8>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];a=c[f>>2]|0;c[a>>2]=(c[a>>2]|0)+ -1;while(1){if((c[c[f>>2]>>2]|0)<0)break;zn(c[f>>2]|0)|0}Se(c[d>>2]|0,27184,e);c[(c[f>>2]|0)+8>>2]=c[d>>2];i=g;return}function xy(b,e,f,g,h,j,k){b=b|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,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;l=i;i=i+80|0;p=l;m=l+76|0;z=l+72|0;C=l+68|0;t=l+64|0;F=l+60|0;y=l+56|0;B=l+52|0;n=l+48|0;o=l+44|0;q=l+40|0;u=l+36|0;G=l+32|0;E=l+28|0;A=l+24|0;D=l+20|0;w=l+16|0;v=l+12|0;x=l+8|0;r=l+4|0;c[m>>2]=b;c[z>>2]=e;c[C>>2]=f;c[t>>2]=g;c[F>>2]=h;c[y>>2]=j;c[B>>2]=k;c[o>>2]=0;c[q>>2]=0;c[n>>2]=se(c[m>>2]|0,536,0)|0;if(!(c[n>>2]|0)){c[q>>2]=7;b=c[n>>2]|0;ef(b);b=c[m>>2]|0;e=c[n>>2]|0;Xb(b,e);e=c[m>>2]|0;b=c[q>>2]|0;b=wd(e,b)|0;c[q>>2]=b;b=c[q>>2]|0;i=l;return b|0}c[(c[n>>2]|0)+476>>2]=c[F>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[G>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[u>>2]<<4)+4>>2];if((c[G>>2]|0)!=0?(c[q>>2]=yy(c[G>>2]|0)|0,(c[q>>2]|0)!=0):0){s=7;break}c[u>>2]=(c[u>>2]|0)+1}if((s|0)==7){c[E>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];e=c[m>>2]|0;b=c[q>>2]|0;c[p>>2]=c[E>>2];Lc(e,b,30936,p);b=c[n>>2]|0;ef(b);b=c[m>>2]|0;e=c[n>>2]|0;Xb(b,e);e=c[m>>2]|0;b=c[q>>2]|0;b=wd(e,b)|0;c[q>>2]=b;b=c[q>>2]|0;i=l;return b|0}Lk(c[m>>2]|0);c[c[n>>2]>>2]=c[m>>2];c[(c[n>>2]|0)+424>>2]=0;do if((c[C>>2]|0)>=0){if((c[C>>2]|0)!=0?(a[(c[z>>2]|0)+((c[C>>2]|0)-1)>>0]|0)==0:0){s=17;break}c[D>>2]=c[(c[m>>2]|0)+92>>2];f=c[m>>2]|0;if((c[C>>2]|0)>(c[D>>2]|0)){Lc(f,18,30968,p);c[q>>2]=wd(c[m>>2]|0,18)|0;b=c[n>>2]|0;ef(b);b=c[m>>2]|0;e=c[n>>2]|0;Xb(b,e);e=c[m>>2]|0;b=c[q>>2]|0;b=wd(e,b)|0;c[q>>2]=b;b=c[q>>2]|0;i=l;return b|0}b=c[C>>2]|0;c[A>>2]=rm(f,c[z>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[A>>2]|0){qf(c[n>>2]|0,c[A>>2]|0,o)|0;Xb(c[m>>2]|0,c[A>>2]|0);c[(c[n>>2]|0)+480>>2]=(c[z>>2]|0)+((c[(c[n>>2]|0)+480>>2]|0)-(c[A>>2]|0));break}else{c[(c[n>>2]|0)+480>>2]=(c[z>>2]|0)+(c[C>>2]|0);break}}else s=17;while(0);if((s|0)==17)qf(c[n>>2]|0,c[z>>2]|0,o)|0;if(a[(c[m>>2]|0)+64>>0]|0)c[(c[n>>2]|0)+12>>2]=7;if((c[(c[n>>2]|0)+12>>2]|0)==101)c[(c[n>>2]|0)+12>>2]=0;if(a[(c[n>>2]|0)+17>>0]|0)zy(c[n>>2]|0);if(a[(c[m>>2]|0)+64>>0]|0)c[(c[n>>2]|0)+12>>2]=7;if(c[B>>2]|0)c[c[B>>2]>>2]=c[(c[n>>2]|0)+480>>2];c[q>>2]=c[(c[n>>2]|0)+12>>2];a:do if(((c[q>>2]|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0)?(d[(c[n>>2]|0)+450>>0]|0)!=0:0){A=c[(c[n>>2]|0)+8>>2]|0;if((d[(c[n>>2]|0)+450>>0]|0)==2){Nt(A,4);c[w>>2]=8;c[v>>2]=12}else{Nt(A,8);c[w>>2]=0;c[v>>2]=8}c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break a;Ot(c[(c[n>>2]|0)+8>>2]|0,(c[u>>2]|0)-(c[w>>2]|0)|0,0,c[30992+(c[u>>2]<<2)>>2]|0,0)|0;c[u>>2]=(c[u>>2]|0)+1}}while(0);if(!(d[(c[m>>2]|0)+145>>0]|0)){c[x>>2]=c[(c[n>>2]|0)+8>>2];Ay(c[x>>2]|0,c[z>>2]|0,(c[(c[n>>2]|0)+480>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)}do if(c[(c[n>>2]|0)+8>>2]|0){if((c[q>>2]|0)==0?(d[(c[m>>2]|0)+64>>0]|0)==0:0){s=43;break}vd(c[(c[n>>2]|0)+8>>2]|0)|0}else s=43;while(0);if((s|0)==43)c[c[y>>2]>>2]=c[(c[n>>2]|0)+8>>2];t=c[m>>2]|0;s=c[q>>2]|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];Lc(t,s,1200,p);Xb(c[m>>2]|0,c[o>>2]|0)}else Nc(t,s);while(1){if(!(c[(c[n>>2]|0)+528>>2]|0))break;c[r>>2]=c[(c[n>>2]|0)+528>>2];c[(c[n>>2]|0)+528>>2]=c[(c[r>>2]|0)+4>>2];Xb(c[m>>2]|0,c[r>>2]|0)}b=c[n>>2]|0;ef(b);b=c[m>>2]|0;e=c[n>>2]|0;Xb(b,e);e=c[m>>2]|0;b=c[q>>2]|0;b=wd(e,b)|0;c[q>>2]=b;b=c[q>>2]|0;i=l;return b|0}function yy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;Pc(c[e>>2]|0);c[b>>2]=By(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function zy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;l=d+24|0;g=d+20|0;h=d+16|0;k=d+12|0;f=d+8|0;j=d+4|0;e=d;c[l>>2]=b;c[g>>2]=c[c[l>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){b=14;break}c[j>>2]=0;c[e>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[e>>2]|0){if(!(Tc(c[e>>2]|0)|0)){c[k>>2]=Rc(c[e>>2]|0,0)|0;if((c[k>>2]|0)==7|(c[k>>2]|0)==3082)a[(c[g>>2]|0)+64>>0]=1;if(c[k>>2]|0){b=14;break}c[j>>2]=1}Sc(c[e>>2]|0,1,f);if((c[f>>2]|0)!=(c[c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]>>2]|0)){as(c[g>>2]|0,c[h>>2]|0);c[(c[l>>2]|0)+12>>2]=17}if(c[j>>2]|0)gs(c[e>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((b|0)==14){i=d;return}}function Ay(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;l=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[l>>2]=f;if(!(c[j>>2]|0)){i=g;return}a=c[h>>2]|0;a=rm(c[c[j>>2]>>2]|0,c[k>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+168>>2]=a;a=(c[j>>2]|0)+88|0;b[a>>1]=b[a>>1]&-1025|(c[l>>2]&1)<<10&65535;i=g;return}function By(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;o=i;i=i+32|0;l=o+16|0;n=o+12|0;j=o+8|0;p=o+20|0;q=o+4|0;m=o;c[n>>2]=f;c[j>>2]=g;a[p>>0]=h;c[q>>2]=c[(c[n>>2]|0)+4>>2];if(!(a[(c[n>>2]|0)+9>>0]|0)){c[l>>2]=0;f=c[l>>2]|0;i=o;return f|0}if((c[(c[q>>2]|0)+76>>2]|0)!=(c[n>>2]|0)?(e[(c[q>>2]|0)+22>>1]&32|0)!=0:0){c[l>>2]=262;f=c[l>>2]|0;i=o;return f|0}c[m>>2]=c[(c[q>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0)){k=15;break}if(((c[c[m>>2]>>2]|0)!=(c[n>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0):0)?(d[(c[m>>2]|0)+8>>0]|0)!=(d[p>>0]|0):0)break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((k|0)==15){c[l>>2]=0;f=c[l>>2]|0;i=o;return f|0}if((d[p>>0]|0)==2){f=(c[q>>2]|0)+22|0;b[f>>1]=e[f>>1]|64}c[l>>2]=262;f=c[l>>2]|0;i=o;return f|0}function Cy(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;dF(l|0,c[g>>2]|0,208)|0;dF(c[g>>2]|0,c[h>>2]|0,208)|0;dF(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];a=(c[h>>2]|0)+88|0;b[a>>1]=b[a>>1]&-1025|((e[(c[g>>2]|0)+88>>1]|0)>>>10&1)<<10&65535;i=f;return}function Dy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function Ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+20|0;k=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[k>>2]=b;c[e>>2]=c[(c[k>>2]|0)+16>>2];while(1){if(!(c[e>>2]|0))break;if(!((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+520>>2]|0)!=0:0)){b=c[(c[e>>2]|0)+12>>2]|0;if(c[(c[e>>2]|0)+16>>2]|0)c[(c[(c[e>>2]|0)+16>>2]|0)+12>>2]=b;else{c[h>>2]=b;b=c[e>>2]|0;if(c[h>>2]|0)b=c[(c[b+12>>2]|0)+8>>2]|0;else b=c[b+8>>2]|0;c[d>>2]=b;gh((c[(c[k>>2]|0)+68>>2]|0)+56|0,c[d>>2]|0,c[h>>2]|0)|0}if(c[(c[e>>2]|0)+12>>2]|0)c[(c[(c[e>>2]|0)+12>>2]|0)+16>>2]=c[(c[e>>2]|0)+16>>2]}dx(c[f>>2]|0,c[(c[e>>2]|0)+28>>2]|0);dx(c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);c[g>>2]=c[(c[e>>2]|0)+4>>2];Xb(c[f>>2]|0,c[e>>2]|0);c[e>>2]=c[g>>2]}i=j;return}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0))Gy(0,c[f>>2]|0)|0;if(!(c[(c[f>>2]|0)+56>>2]|0)){i=d;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+52>>2]|0))break;if((c[g>>2]|0)!=1)Xb(c[e>>2]|0,c[(c[(c[f>>2]|0)+56>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Xb(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);i=d;return}function Gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;k=d+20|0;g=d+16|0;e=d+12|0;f=d+8|0;h=d+4|0;j=d;c[k>>2]=a;c[g>>2]=b;c[e>>2]=0;c[f>>2]=c[(c[g>>2]|0)+60>>2];c[(c[g>>2]|0)+60>>2]=0;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=c[(c[f>>2]|0)+24>>2];if((c[h>>2]|0)==(c[k>>2]|0)){c[e>>2]=c[f>>2];c[(c[g>>2]|0)+60>>2]=c[e>>2];c[(c[e>>2]|0)+24>>2]=0}else{c[(c[f>>2]|0)+24>>2]=c[(c[h>>2]|0)+332>>2];c[(c[h>>2]|0)+332>>2]=c[f>>2]}c[f>>2]=c[j>>2]}i=d;return c[e>>2]|0}function Hy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;if((c[f>>2]|0)!=(c[h>>2]|0)){if(!(c[g>>2]|0))break;if((c[(c[f>>2]|0)+60>>2]|0)==(c[g>>2]|0))break}c[f>>2]=c[(c[f>>2]|0)+8>>2]}if(!(c[f>>2]|0)){j=0;i=e;return j|0}j=Iy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return j|0}function Iy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;f=h+16|0;l=h+12|0;j=h+8|0;k=h+4|0;g=h;c[l>>2]=a;c[j>>2]=b;c[k>>2]=e;a:while(1){do if((c[l>>2]|0)!=(c[k>>2]|0)){if(0!=(c[j>>2]|0)?(c[(c[l>>2]|0)+60>>2]|0)!=(c[j>>2]|0):0)break;e=c[l>>2]|0;if((d[(c[l>>2]|0)+73>>0]|0|0)==1){c[g>>2]=Jy(e)|0;if(c[g>>2]|0){j=7;break a}else break}else{Ky(e);break}}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2];if(!(c[l>>2]|0)){j=10;break}}if((j|0)==7){c[f>>2]=c[g>>2];a=c[f>>2]|0;i=h;return a|0}else if((j|0)==10){c[f>>2]=0;a=c[f>>2]|0;i=h;return a|0}return 0}function Jy(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=Ly(c[e>>2]|0,(c[e>>2]|0)+48|0)|0;do if(!(d[(c[(c[e>>2]|0)+120>>2]|0)+2>>0]|0)){b=(c[e>>2]|0)+48|0;c[h>>2]=gc(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[h>>2]|0)){c[f>>2]=7;break}c[f>>2]=My(c[e>>2]|0,0,c[(c[e>>2]|0)+48>>2]|0,c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+56>>2]=b;break}else{hc(b);break}}while(0);if(c[f>>2]|0){h=c[e>>2]|0;h=h+72|0;b=a[h>>0]|0;b=b&255;b=b&-5;b=b&255;a[h>>0]=b;h=c[f>>2]|0;i=g;return h|0}Ky(c[e>>2]|0);a[(c[e>>2]|0)+73>>0]=3;h=c[e>>2]|0;h=h+72|0;b=a[h>>0]|0;b=b&255;b=b&-5;b=b&255;a[h>>0]=b;h=c[f>>2]|0;i=g;return h|0}function Ky(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>(b[(c[d>>2]|0)+76>>1]|0))break;Rk(c[(c[d>>2]|0)+120+(c[f>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}b[(c[d>>2]|0)+76>>1]=-1;i=e;return}function Ly(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;k=h+8|0;j=h+4|0;l=h;c[k>>2]=f;c[j>>2]=g;if(!(e[(c[k>>2]|0)+44>>1]|0)){c[l>>2]=b[(c[k>>2]|0)+76>>1];Mw(c[(c[k>>2]|0)+120+(c[l>>2]<<2)>>2]|0,e[(c[k>>2]|0)+78+(c[l>>2]<<1)>>1]|0,(c[k>>2]|0)+24|0);f=(c[k>>2]|0)+72|0;a[f>>0]=d[f>>0]|2}k=(c[k>>2]|0)+24|0;l=c[k+4>>2]|0;f=c[j>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=l;i=h;return 0}function My(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Lw(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function Ny(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;l=m+12|0;k=m+8|0;n=m+4|0;g=m;c[j>>2]=a;c[l>>2]=b;c[k>>2]=d;c[n>>2]=e;c[g>>2]=f;if(c[j>>2]|0){c[h>>2]=c[j>>2];a=c[h>>2]|0;i=m;return a|0}c[l>>2]=(c[l>>2]|0)+7&-8;if(((c[c[k>>2]>>2]|0)+(c[l>>2]|0)|0)>>>0<=(c[n>>2]|0)>>>0){c[j>>2]=c[c[k>>2]>>2];a=c[k>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}else{a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[h>>2]=c[j>>2];a=c[h>>2]|0;i=m;return a|0}function Oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;j=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[j>>2]=b;c[h>>2]=d;a:do if(c[h>>2]|0)switch(c[j>>2]|0){case-5:{Py(c[f>>2]|0,c[h>>2]|0);break a};case-6:{if(c[(c[f>>2]|0)+520>>2]|0)break a;eh(c[h>>2]|0);break a};case-11:{if(c[(c[f>>2]|0)+520>>2]|0)break a;hc(c[h>>2]|0);break a};case-8:{d=c[h>>2]|0;if(!(c[(c[f>>2]|0)+520>>2]|0)){tf(d);break a}c[g>>2]=d;if(c[(c[g>>2]|0)+24>>2]|0)Xb(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0);Xb(c[f>>2]|0,c[g>>2]|0);break a};case-10:{if(c[(c[f>>2]|0)+520>>2]|0)break a;Nk(c[h>>2]|0);break a};case-15:case-1:case-13:case-12:{Xb(c[f>>2]|0,c[h>>2]|0);break a};default:break a}while(0);i=e;return}function Py(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){i=d;return}if(!((e[(c[g>>2]|0)+2>>1]|0)&16)){i=d;return}Xb(c[f>>2]|0,c[g>>2]|0);i=d;return}function Qy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function Ry(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=d;Bd(c[g>>2]|0);g=(c[g>>2]|0)+0|0;a=(c[e>>2]|0)+0|0;d=g+40|0;do{c[g>>2]=c[a>>2];g=g+4|0;a=a+4|0}while((g|0)<(d|0));b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=f;return}function Sy(){return 31224}function Ty(f){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;l=i;i=i+64|0;k=l;g=l+60|0;j=l+56|0;w=l+52|0;p=l+48|0;s=l+44|0;t=l+40|0;q=l+36|0;u=l+32|0;h=l+28|0;n=l+24|0;o=l+20|0;m=l+16|0;v=l+12|0;x=l+8|0;r=l+4|0;c[j>>2]=f;c[p>>2]=0;c[s>>2]=0;c[t>>2]=0;c[q>>2]=c[c[j>>2]>>2];c[h>>2]=0;c[n>>2]=(c[(c[j>>2]|0)+8>>2]|0)+40;hu(c[n>>2]|0,8);c[(c[j>>2]|0)+20>>2]=0;if((c[(c[j>>2]|0)+80>>2]|0)==7){a[(c[q>>2]|0)+64>>0]=1;c[g>>2]=1;x=c[g>>2]|0;i=l;return x|0}c[w>>2]=c[(c[j>>2]|0)+32>>2];a:do if((b[(c[j>>2]|0)+88>>1]&3|0)==1){c[t>>2]=(c[(c[j>>2]|0)+8>>2]|0)+360;if(e[(c[t>>2]|0)+8>>1]&16){c[p>>2]=((c[(c[t>>2]|0)+12>>2]|0)>>>0)/4|0;c[s>>2]=c[(c[t>>2]|0)+16>>2]}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[p>>2]|0))break a;c[w>>2]=(c[w>>2]|0)+(c[(c[(c[s>>2]|0)+(c[u>>2]<<2)>>2]|0)+4>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}while(0);do{y=(c[j>>2]|0)+76|0;f=c[y>>2]|0;c[y>>2]=f+1;c[u>>2]=f;if((c[u>>2]|0)>=(c[w>>2]|0))break;if((b[(c[j>>2]|0)+88>>1]&3|0)!=2)break}while((d[(c[(c[j>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>0]|0)!=155);do if((c[u>>2]|0)>=(c[w>>2]|0)){c[(c[j>>2]|0)+80>>2]=0;c[h>>2]=101}else{if(c[(c[q>>2]|0)+240>>2]|0){c[(c[j>>2]|0)+80>>2]=9;c[h>>2]=1;x=(c[j>>2]|0)+44|0;y=c[q>>2]|0;c[k>>2]=ge(c[(c[j>>2]|0)+80>>2]|0)|0;pn(x,y,1200,k);break}if((c[u>>2]|0)<(c[(c[j>>2]|0)+32>>2]|0))c[m>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0);else{c[u>>2]=(c[u>>2]|0)-(c[(c[j>>2]|0)+32>>2]|0);c[v>>2]=0;while(1){if((c[u>>2]|0)<(c[(c[(c[s>>2]|0)+(c[v>>2]<<2)>>2]|0)+4>>2]|0))break;c[u>>2]=(c[u>>2]|0)-(c[(c[(c[s>>2]|0)+(c[v>>2]<<2)>>2]|0)+4>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[m>>2]=(c[c[(c[s>>2]|0)+(c[v>>2]<<2)>>2]>>2]|0)+((c[u>>2]|0)*20|0)}if((b[(c[j>>2]|0)+88>>1]&3|0)==1?(b[(c[n>>2]|0)+8>>1]=4,w=c[u>>2]|0,y=c[n>>2]|0,c[y>>2]=w,c[y+4>>2]=((w|0)<0)<<31>>31,c[n>>2]=(c[n>>2]|0)+40,b[(c[n>>2]|0)+8>>1]=2562,y=XC(d[c[m>>2]>>0]|0)|0,c[(c[n>>2]|0)+16>>2]=y,y=Mb(c[(c[n>>2]|0)+16>>2]|0)|0,c[(c[n>>2]|0)+12>>2]=y,a[(c[n>>2]|0)+10>>0]=1,c[n>>2]=(c[n>>2]|0)+40,(a[(c[m>>2]|0)+1>>0]|0)==-18):0){c[x>>2]=(c[p>>2]|0)+1<<2;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;if((c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]|0)==(c[(c[m>>2]|0)+16>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[p>>2]|0)?0==(Dk(c[t>>2]|0,c[x>>2]|0,(c[p>>2]|0)!=0&1)|0):0){c[s>>2]=c[(c[t>>2]|0)+16>>2];x=c[(c[m>>2]|0)+16>>2]|0;y=c[p>>2]|0;c[p>>2]=y+1;c[(c[s>>2]|0)+(y<<2)>>2]=x;y=(c[t>>2]|0)+8|0;b[y>>1]=e[y>>1]|16;c[(c[t>>2]|0)+12>>2]=c[p>>2]<<2}}b[(c[n>>2]|0)+8>>1]=4;x=c[(c[m>>2]|0)+4>>2]|0;y=c[n>>2]|0;c[y>>2]=x;c[y+4>>2]=((x|0)<0)<<31>>31;c[n>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+8>>1]=4;y=c[(c[m>>2]|0)+8>>2]|0;x=c[n>>2]|0;c[x>>2]=y;c[x+4>>2]=((y|0)<0)<<31>>31;c[n>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+8>>1]=4;x=c[(c[m>>2]|0)+12>>2]|0;y=c[n>>2]|0;c[y>>2]=x;c[y+4>>2]=((x|0)<0)<<31>>31;c[n>>2]=(c[n>>2]|0)+40;if(Lp(c[n>>2]|0,32)|0){c[g>>2]=1;y=c[g>>2]|0;i=l;return y|0}b[(c[n>>2]|0)+8>>1]=514;c[o>>2]=YC(c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,32)|0;p=c[n>>2]|0;if((c[o>>2]|0)!=(c[(c[n>>2]|0)+16>>2]|0))Vd(p,c[o>>2]|0,-1,1,0)|0;else{y=Mb(c[p+16>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=y;a[(c[n>>2]|0)+10>>0]=1}c[n>>2]=(c[n>>2]|0)+40;do if((b[(c[j>>2]|0)+88>>1]&3|0)==1){if(!(Lp(c[n>>2]|0,4)|0)){b[(c[n>>2]|0)+8>>1]=514;c[(c[n>>2]|0)+12>>2]=2;y=c[(c[n>>2]|0)+16>>2]|0;c[k>>2]=d[(c[m>>2]|0)+3>>0];sc(3,y,34488,k)|0;a[(c[n>>2]|0)+10>>0]=1;c[n>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+8>>1]=1;break}c[g>>2]=1;y=c[g>>2]|0;i=l;return y|0}while(0);b[(c[j>>2]|0)+84>>1]=8-((b[(c[j>>2]|0)+88>>1]&3)-1<<2);c[(c[j>>2]|0)+20>>2]=(c[(c[j>>2]|0)+8>>2]|0)+40;c[(c[j>>2]|0)+80>>2]=0;c[h>>2]=100}while(0);c[g>>2]=c[h>>2];y=c[g>>2]|0;i=l;return y|0}function Uy(f){f=f|0;var g=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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=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,ya=0,za=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,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,qb=0,rb=0,tb=0,wb=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Tb=0,Ub=0,Vb=0,Wb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,uc=0,wc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Tc=0,Uc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Cd=0,Fd=0,Gd=0,Hd=0,Jd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Wd=0,Yd=0,Zd=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,he=0,ie=0,je=0,ke=0,le=0,me=0,oe=0,pe=0,qe=0,re=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Re=0,Se=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,hf=0,jf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0.0;m=i;i=i+1696|0;g=m+256|0;k=m+1464|0;n=m+1460|0;u=m+1456|0;p=m+1452|0;l=m+1448|0;q=m+1444|0;nc=m+1680|0;x=m+1679|0;qa=m+1440|0;o=m+1436|0;ba=m+1432|0;$c=m+1428|0;jf=m+1424|0;I=m+1420|0;y=m+1416|0;w=m+1412|0;ia=m+1408|0;r=m+248|0;v=m+1404|0;C=m+1400|0;j=m+1396|0;s=m+1392|0;ef=m+1388|0;z=m+1384|0;A=m+1480|0;B=m+1380|0;ea=m+1376|0;fa=m+1372|0;ga=m+1368|0;ha=m+1364|0;lf=m+1360|0;mf=m+1356|0;da=m+240|0;Y=m+1678|0;aa=m+1478|0;Z=m+1476|0;$=m+1474|0;W=m+232|0;X=m+224|0;V=m+216|0;U=m+208|0;T=m+1352|0;S=m+1348|0;P=m+1320|0;R=m+1316|0;Q=m+1312|0;E=m+200|0;H=m+192|0;F=m+184|0;G=m+1677|0;J=m+1308|0;M=m+1676|0;K=m+1472|0;L=m+1470|0;ra=m+1304|0;la=m+1300|0;oa=m+1296|0;pa=m+1292|0;ka=m+1288|0;ja=m+1284|0;ma=m+1280|0;na=m+1276|0;sa=m+1272|0;ta=m+1268|0;ua=m+1264|0;Ga=m+176|0;va=m+1260|0;ya=m+1256|0;Fa=m+1252|0;za=m+1248|0;Ea=m+1244|0;of=m+1240|0;Ba=m+1236|0;nf=m+136|0;Da=m+1232|0;pf=m+1228|0;qf=m+1224|0;xa=m+1220|0;sf=m+1216|0;wa=m+1212|0;rf=m+1208|0;Ca=m+1468|0;Aa=m+1204|0;Ha=m+1200|0;Ia=m+1675|0;Pa=m+1196|0;Ja=m+1192|0;Ra=m+128|0;Ma=m+1188|0;Qa=m+120|0;Va=m+1184|0;Sa=m+1180|0;Ka=m+1176|0;Oa=m+1172|0;Ta=m+1168|0;Ya=m+1164|0;Xa=m+1160|0;Wa=m+1156|0;La=m+1152|0;Na=m+1148|0;Ua=m+1144|0;_a=m+112|0;Za=m+1140|0;fb=m+1136|0;bb=m+1132|0;$a=m+1128|0;ab=m+1124|0;cb=m+1120|0;hb=m+1116|0;gb=m+1112|0;eb=m+1108|0;ib=m+1104|0;db=m+1100|0;jb=m+1096|0;lb=m+1092|0;kb=m+1088|0;mb=m+1084|0;nb=m+1080|0;ob=m+1076|0;tb=m+1072|0;qb=m+1068|0;rb=m+1064|0;wb=m+1060|0;Bb=m+1056|0;yf=m+1052|0;xf=m+1048|0;uf=m+1044|0;zf=m+1040|0;wf=m+1036|0;vf=m+1032|0;tf=m+1028|0;Af=m+1024|0;Cb=m+1020|0;Eb=m+1016|0;Db=m+1012|0;Fb=m+1008|0;Gb=m+1004|0;Hb=m+1e3|0;Lb=m+996|0;Ib=m+992|0;Kb=m+988|0;Nb=m+968|0;Ob=m+964|0;Jb=m+104|0;Pb=m+960|0;Tb=m+956|0;Yb=m+952|0;Rb=m+948|0;Qb=m+944|0;Ub=m+940|0;Vb=m+936|0;Wb=m+916|0;Zb=m+1484|0;$b=m+912|0;ac=m+908|0;_b=m+904|0;bc=m+96|0;cc=m+88|0;ec=m+900|0;hc=m+896|0;gc=m+892|0;dc=m+888|0;fc=m+884|0;t=m+880|0;qc=m+876|0;mc=m+80|0;ic=m+872|0;oc=m+868|0;pc=m+864|0;jc=m+860|0;kc=m+856|0;lc=m+852|0;rc=m+848|0;sc=m+844|0;wc=m+840|0;uc=m+836|0;yc=m+832|0;Bc=m+828|0;Ac=m+824|0;zc=m+820|0;Cc=m+72|0;Gc=m+816|0;Dc=m+64|0;Ec=m+812|0;Fc=m+808|0;Kc=m+804|0;Hc=m+800|0;Ic=m+796|0;Jc=m+792|0;Cf=m+788|0;Df=m+784|0;Bf=m+780|0;Lc=m+776|0;Mc=m+772|0;Nc=m+768|0;Oc=m+764|0;Qc=m+760|0;Pc=m+756|0;Yc=m+752|0;Zc=m+748|0;hf=m+744|0;_c=m+724|0;Uc=m+720|0;Xc=m+716|0;Tc=m+56|0;fd=m+712|0;ad=m+708|0;ed=m+688|0;hd=m+684|0;id=m+680|0;jd=m+676|0;gd=m+672|0;ld=m+668|0;kd=m+664|0;nd=m+660|0;od=m+656|0;md=m+652|0;rd=m+648|0;sd=m+644|0;pd=m+640|0;qd=m+624|0;vd=m+616|0;ud=m+612|0;yd=m+608|0;xd=m+604|0;td=m+600|0;wd=m+596|0;zd=m+48|0;Ad=m+592|0;Cd=m+588|0;Hd=m+584|0;Nd=m+580|0;Fd=m+576|0;Md=m+572|0;Ld=m+568|0;Gd=m+564|0;Jd=m+560|0;Od=m+556|0;Pd=m+552|0;Qd=m+548|0;Rd=m+544|0;Yd=m+540|0;Td=m+536|0;Wd=m+532|0;$d=m+528|0;Sd=m+8|0;Ud=m+500|0;Zd=m+496|0;ae=m+492|0;he=m+488|0;ie=m+476|0;je=m+472|0;de=m+468|0;be=m+464|0;ce=m+460|0;ee=m+456|0;fe=m+452|0;ke=m+448|0;oe=m+1483|0;me=m+444|0;le=m+440|0;pe=m+436|0;re=m+432|0;qe=m+428|0;ue=m+424|0;te=m+420|0;Ae=m+416|0;ze=m+412|0;xe=m+408|0;Fe=m+404|0;Ee=m+400|0;ye=m+396|0;Ce=m+392|0;ve=m+388|0;we=m+384|0;De=m+380|0;Be=m+376|0;Je=m+372|0;Ke=m+368|0;Ge=m+364|0;He=m+336|0;Ie=m+332|0;Se=m+328|0;Oe=m+324|0;Ne=m+320|0;Re=m+316|0;Le=m+312|0;Me=m+308|0;We=m+304|0;Ve=m+300|0;Xe=m+296|0;_e=m+292|0;Ue=m;Ye=m+288|0;$e=m+284|0;Ze=m+1482|0;cf=m+280|0;bf=m+276|0;af=m+272|0;df=m+268|0;c[k>>2]=f;c[n>>2]=0;c[u>>2]=c[(c[k>>2]|0)+4>>2];c[l>>2]=0;c[q>>2]=c[c[k>>2]>>2];a[nc>>0]=0;a[x>>0]=a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[qa>>2]=0;c[o>>2]=0;c[ba>>2]=0;c[$c>>2]=c[(c[k>>2]|0)+8>>2];c[jf>>2]=0;c[I>>2]=0;c[y>>2]=0;c[w>>2]=0;c[ia>>2]=0;f=(c[q>>2]|0)+32|0;Ff=c[f+4>>2]|0;Gf=r;c[Gf>>2]=c[f>>2];c[Gf+4>>2]=Ff;a:do if((c[(c[k>>2]|0)+80>>2]|0)==7)Ef=871;else{c[(c[k>>2]|0)+80>>2]=0;Gf=(c[k>>2]|0)+136|0;c[Gf>>2]=0;c[Gf+4>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[q>>2]|0)+452>>2]=0;b:do if(!(c[(c[q>>2]|0)+240>>2]|0)){do if(c[(c[q>>2]|0)+292>>2]|0){c[ba>>2]=c[(c[k>>2]|0)+124>>2];f=c[(c[q>>2]|0)+300>>2]|0;if(!(c[ba>>2]|0)){c[ba>>2]=f;break}else{c[ba>>2]=((c[ba>>2]|0)>>>0)%(f>>>0)|0;break}}while(0);c[n>>2]=c[(c[k>>2]|0)+76>>2];c:while(1){if(c[l>>2]|0)break a;if(a[(c[q>>2]|0)+64>>0]|0){Ef=871;break a}c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[u>>2]|0)+((c[n>>2]|0)*20|0);if(d[(c[p>>2]|0)+2>>0]&2){c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);if(e[(c[w>>2]|0)+8>>1]&9312)_d(c[w>>2]|0);b[(c[w>>2]|0)+8>>1]=4}d:do switch(d[c[p>>2]>>0]|0){case 27:{Ef=57;break};case 21:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[v>>2]=(c[u>>2]|0)+((c[c[jf>>2]>>2]|0)*20|0);c[n>>2]=(c[(c[v>>2]|0)+8>>2]|0)-1;b[(c[jf>>2]|0)+8>>1]=128;break};case 26:{f=c[(c[p>>2]|0)+16>>2]|0;Ff=c[f+4>>2]|0;Gf=c[w>>2]|0;c[Gf>>2]=c[f>>2];c[Gf+4>>2]=Ff;break};case 133:{b[(c[w>>2]|0)+8>>1]=8;h[c[w>>2]>>3]=+h[c[(c[p>>2]|0)+16>>2]>>3];break};case 97:{a[c[p>>2]>>0]=27;Gf=Mb(c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=Gf;if((d[x>>0]|0)!=1){c[l>>2]=Vd(c[w>>2]|0,c[(c[p>>2]|0)+16>>2]|0,-1,1,0)|0;if((c[l>>2]|0)==18){Ef=870;break c}if(yk(c[w>>2]|0,d[x>>0]|0)|0){Ef=871;break a}c[(c[w>>2]|0)+24>>2]=0;Gf=(c[w>>2]|0)+8|0;b[Gf>>1]=e[Gf>>1]|2048;if((a[(c[p>>2]|0)+1>>0]|0)==-1)Xb(c[q>>2]|0,c[(c[p>>2]|0)+16>>2]|0);a[(c[p>>2]|0)+1>>0]=-1;c[(c[p>>2]|0)+16>>2]=c[(c[w>>2]|0)+16>>2];c[(c[p>>2]|0)+4>>2]=c[(c[w>>2]|0)+12>>2]}if((c[(c[p>>2]|0)+4>>2]|0)>(c[(c[q>>2]|0)+88>>2]|0)){Ef=870;break c}else Ef=57;break};case 16:{c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;Ef=16;break};case 25:{Ff=c[(c[p>>2]|0)+4>>2]|0;Gf=c[w>>2]|0;c[Gf>>2]=Ff;c[Gf+4>>2]=((Ff|0)<0)<<31>>31;break};case 23:{c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(e[(c[y>>2]|0)+8>>1]&1)Ef=28;break};case 28:{c[z>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[(c[p>>2]|0)+8>>2]|0);Gf=((c[(c[p>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[A>>1]=Gf;b[(c[w>>2]|0)+8>>1]=Gf;while(1){if((c[z>>2]|0)<=0)break d;c[w>>2]=(c[w>>2]|0)+40;_d(c[w>>2]|0);b[(c[w>>2]|0)+8>>1]=b[A>>1]|0;c[z>>2]=(c[z>>2]|0)+ -1}};case 30:{Vd(c[w>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[(c[p>>2]|0)+4>>2]|0,0,0)|0;a[(c[w>>2]|0)+10>>0]=a[x>>0]|0;break};case 31:{c[B>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[(c[p>>2]|0)+4>>2]|0)-1|0)*40|0);if(az(c[B>>2]|0)|0){Ef=870;break c}fn(c[w>>2]|0,c[B>>2]|0,2048);break};case 22:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);b[(c[jf>>2]|0)+8>>1]=4;c[C>>2]=c[c[jf>>2]>>2];Ff=c[n>>2]|0;Gf=c[jf>>2]|0;c[Gf>>2]=Ff;c[Gf+4>>2]=((Ff|0)<0)<<31>>31;c[n>>2]=c[C>>2];break};case 17:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);b[(c[jf>>2]|0)+8>>1]=4;Ff=c[n>>2]|0;Gf=c[jf>>2]|0;c[Gf>>2]=Ff;c[Gf+4>>2]=((Ff|0)<0)<<31>>31;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 88:case 87:case 86:case 85:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]|e[(c[I>>2]|0)+8>>1])&1){_d(c[w>>2]|0);break d}Gf=Kd(c[I>>2]|0)|0;Ff=E;c[Ff>>2]=Gf;c[Ff+4>>2]=D;Ff=Kd(c[jf>>2]|0)|0;Gf=F;c[Gf>>2]=Ff;c[Gf+4>>2]=D;a[G>>0]=a[c[p>>2]>>0]|0;do if((d[G>>0]|0)!=85){Ff=F;f=c[Ff>>2]|0;Ff=c[Ff+4>>2]|0;if((d[G>>0]|0)==86){Hf=E;Ff=c[Hf+4>>2]|Ff;Gf=E;c[Gf>>2]=c[Hf>>2]|f;c[Gf+4>>2]=Ff;break}if((f|0)!=0|(Ff|0)!=0){if((c[F+4>>2]|0)<0){a[G>>0]=175-(d[G>>0]|0);Hf=F;Gf=c[Hf+4>>2]|0;if((Gf|0)>-1|(Gf|0)==-1&(c[Hf>>2]|0)>>>0>4294967232){Ff=F;Ff=ZE(0,0,c[Ff>>2]|0,c[Ff+4>>2]|0)|0;f=D}else{Ff=64;f=0}Hf=F;c[Hf>>2]=Ff;c[Hf+4>>2]=f}Hf=F;Gf=c[Hf+4>>2]|0;if((Gf|0)>0|(Gf|0)==0&(c[Hf>>2]|0)>>>0>=64){Hf=E;Gf=c[Hf+4>>2]|0;if((Gf|0)>0|(Gf|0)==0&(c[Hf>>2]|0)>>>0>=0)f=1;else f=(d[G>>0]|0)==87;Gf=f?0:-1;Hf=E;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;break}c[H+0>>2]=c[E+0>>2];c[H+4>>2]=c[E+4>>2];f=c[F>>2]|0;Ff=H;Gf=c[Ff>>2]|0;Ff=c[Ff+4>>2]|0;if((d[G>>0]|0)!=87){Gf=cF(Gf|0,Ff|0,f|0)|0;Hf=H;c[Hf>>2]=Gf;c[Hf+4>>2]=D;if((c[E+4>>2]|0)<0){Ff=F;Ff=ZE(64,0,c[Ff>>2]|0,c[Ff+4>>2]|0)|0;Ff=$E(-1,-1,Ff|0)|0;f=H;Gf=c[f+4>>2]|D;Hf=H;c[Hf>>2]=c[f>>2]|Ff;c[Hf+4>>2]=Gf}}else{Gf=$E(Gf|0,Ff|0,f|0)|0;Hf=H;c[Hf>>2]=Gf;c[Hf+4>>2]=D}c[E+0>>2]=c[H+0>>2];c[E+4>>2]=c[H+4>>2]}}else{Ff=F;f=E;Gf=c[f+4>>2]&c[Ff+4>>2];Hf=E;c[Hf>>2]=c[f>>2]&c[Ff>>2];c[Hf+4>>2]=Gf}while(0);Ff=E;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|4;break};case 29:{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);b[(c[w>>2]|0)+8>>1]=(e[(c[w>>2]|0)+8>>1]|1)&-129;break};case 24:{Ef=28;break};case 37:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Mp(c[jf>>2]|0)|0;Gf=c[(c[p>>2]|0)+8>>2]|0;Hf=c[jf>>2]|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break};case 38:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]&4|0)==0?(Jp(c[jf>>2]|0,67,a[x>>0]|0),(e[(c[jf>>2]|0)+8>>1]&4|0)==0):0){if(!(c[(c[p>>2]|0)+8>>2]|0)){Ef=167;break c}c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}b[(c[jf>>2]|0)+8>>1]=e[(c[jf>>2]|0)+8>>1]&-16896|4;break};case 40:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(e[(c[jf>>2]|0)+8>>1]&16384)f=Dd(c[jf>>2]|0)|0;else f=0;c[l>>2]=f;Cp(c[jf>>2]|0,c[(c[p>>2]|0)+8>>2]&255,a[x>>0]|0);break};case 39:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(e[(c[jf>>2]|0)+8>>1]&4)Np(c[jf>>2]|0)|0;break};case 83:case 80:case 81:case 82:case 78:case 79:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);b[K>>1]=b[(c[jf>>2]|0)+8>>1]|0;b[L>>1]=b[(c[y>>2]|0)+8>>1]|0;f=d[(c[p>>2]|0)+3>>0]|0;do if((e[K>>1]|e[L>>1])&1){if(!(f&128)){f=c[p>>2]|0;if(d[(c[p>>2]|0)+3>>0]&32){c[w>>2]=(c[$c>>2]|0)+((c[f+8>>2]|0)*40|0);b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|1;break d}if(!(d[f+3>>0]&16))break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}if(((e[K>>1]&1|0)!=0?(e[L>>1]&1|0)!=0:0)?(e[L>>1]&256|0)==0:0){c[J>>2]=0;break}c[J>>2]=1}else{a[M>>0]=f&71;if((a[M>>0]|0)>=67){if((e[(c[jf>>2]|0)+8>>1]&14|0)==2)Pe(c[jf>>2]|0,0);if((e[(c[y>>2]|0)+8>>1]&14|0)==2)Pe(c[y>>2]|0,0)}else if((a[M>>0]|0)==66){if((e[(c[jf>>2]|0)+8>>1]&2|0)==0?(e[(c[jf>>2]|0)+8>>1]&12|0)!=0:0)Kp(c[jf>>2]|0,a[x>>0]|0,1)|0;if((e[(c[y>>2]|0)+8>>1]&2|0)==0?(e[(c[y>>2]|0)+8>>1]&12|0)!=0:0)Kp(c[y>>2]|0,a[x>>0]|0,1)|0}if(e[(c[jf>>2]|0)+8>>1]&16384){Dd(c[jf>>2]|0)|0;b[K>>1]=e[K>>1]&-16385}if(e[(c[y>>2]|0)+8>>1]&16384){Dd(c[y>>2]|0)|0;b[L>>1]=e[L>>1]&-16385}if(a[(c[q>>2]|0)+64>>0]|0){Ef=871;break a}c[J>>2]=bn(c[y>>2]|0,c[jf>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[p>>2]>>0]|0){case 79:{c[J>>2]=(c[J>>2]|0)==0&1;break};case 78:{c[J>>2]=(c[J>>2]|0)!=0&1;break};case 81:{c[J>>2]=(c[J>>2]|0)<=0&1;break};case 80:{c[J>>2]=(c[J>>2]|0)>0&1;break};case 82:{c[J>>2]=(c[J>>2]|0)<0&1;break};default:c[J>>2]=(c[J>>2]|0)>=0&1}if(!(d[(c[p>>2]|0)+3>>0]&32)){if(c[J>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1}else{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|4;Gf=c[J>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31}b[(c[jf>>2]|0)+8>>1]=b[K>>1]|0;b[(c[y>>2]|0)+8>>1]=b[L>>1]|0;break};case 1:{c[Q>>2]=d[(c[p>>2]|0)+3>>0];c[R>>2]=c[(c[k>>2]|0)+12>>2];c[P>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[S>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Q>>2]|0))break;c[(c[R>>2]|0)+(c[T>>2]<<2)>>2]=c[S>>2];if((e[(c[S>>2]|0)+8>>1]&4096|0)!=0?(Ak(c[S>>2]|0)|0)!=0:0){Ef=871;break a}c[T>>2]=(c[T>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+40}c[P+4>>2]=c[(c[p>>2]|0)+16>>2];c[P+16>>2]=c[n>>2];c[P+12>>2]=c[k>>2];b[(c[P>>2]|0)+8>>1]=e[(c[P>>2]|0)+8>>1]&-16896|1;a[P+25>>0]=0;Hf=r;Gf=c[Hf+4>>2]|0;Ff=(c[q>>2]|0)+32|0;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;vb[c[(c[P+4>>2]|0)+12>>2]&63](P,c[Q>>2]|0,c[R>>2]|0);Ff=(c[q>>2]|0)+32|0;Gf=c[Ff+4>>2]|0;Hf=r;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;if(a[P+25>>0]|0){if(c[P+20>>2]|0){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=Ed(c[P>>2]|0)|0;pn(Gf,Hf,1200,g);c[l>>2]=c[P+20>>2]}hz(c[k>>2]|0,c[n>>2]|0,c[(c[p>>2]|0)+4>>2]|0)}yk(c[P>>2]|0,d[x>>0]|0)|0;if(az(c[P>>2]|0)|0){Ef=870;break c}break};case 36:{if(c[(c[p>>2]|0)+4>>2]|0)Xd((c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0)|0,0,0);break};case 93:case 92:case 91:case 90:case 89:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);b[Z>>1]=ez(c[jf>>2]|0)|0;c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);b[$>>1]=ez(c[I>>2]|0)|0;c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);b[aa>>1]=e[(c[jf>>2]|0)+8>>1]|e[(c[I>>2]|0)+8>>1];e:do if(!(e[aa>>1]&1)){do if(e[Z>>1]&e[$>>1]&4){f=c[jf>>2]|0;Hf=c[f+4>>2]|0;Gf=W;c[Gf>>2]=c[f>>2];c[Gf+4>>2]=Hf;Gf=c[I>>2]|0;Hf=c[Gf+4>>2]|0;f=X;c[f>>2]=c[Gf>>2];c[f+4>>2]=Hf;a[Y>>0]=1;f=d[c[p>>2]>>0]|0;if((f|0)==89){Hf=W;if(_m(X,c[Hf>>2]|0,c[Hf+4>>2]|0)|0)break}else if((f|0)==90){Hf=W;if(fz(X,c[Hf>>2]|0,c[Hf+4>>2]|0)|0)break}else if((f|0)==91){Hf=W;if(gz(X,c[Hf>>2]|0,c[Hf+4>>2]|0)|0)break}else if((f|0)==92){Hf=W;if((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0)break e;Gf=W;Hf=X;if(((c[Gf>>2]|0)==-1?(c[Gf+4>>2]|0)==-1:0)&((c[Hf>>2]|0)==0?(c[Hf+4>>2]|0)==-2147483648:0))break;Gf=W;Hf=X;Gf=jF(c[Hf>>2]|0,c[Hf+4>>2]|0,c[Gf>>2]|0,c[Gf+4>>2]|0)|0;Hf=X;c[Hf>>2]=Gf;c[Hf+4>>2]=D}else{Hf=W;if((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0)break e;Hf=W;if((c[Hf>>2]|0)==-1?(c[Hf+4>>2]|0)==-1:0){Hf=W;c[Hf>>2]=1;c[Hf+4>>2]=0}Gf=W;Hf=X;Gf=kF(c[Hf>>2]|0,c[Hf+4>>2]|0,c[Gf>>2]|0,c[Gf+4>>2]|0)|0;Hf=X;c[Hf>>2]=Gf;c[Hf+4>>2]=D}Ff=X;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|4;break d}else a[Y>>0]=0;while(0);h[V>>3]=+Id(c[jf>>2]|0);h[U>>3]=+Id(c[I>>2]|0);f=d[c[p>>2]>>0]|0;if((f|0)==89)h[U>>3]=+h[U>>3]+ +h[V>>3];else if((f|0)==90)h[U>>3]=+h[U>>3]- +h[V>>3];else if((f|0)==91)h[U>>3]=+h[U>>3]*+h[V>>3];else if((f|0)==92){if(+h[V>>3]==0.0)break;h[U>>3]=+h[U>>3]/+h[V>>3]}else{If=+h[V>>3];Hf=+O(If)>=1.0?If>0.0?(ca(+N(If/4294967296.0),4294967295.0)|0)>>>0:~~+_((If- +(~~If>>>0))/4294967296.0)>>>0:0;Gf=W;c[Gf>>2]=~~If>>>0;c[Gf+4>>2]=Hf;If=+h[U>>3];Gf=+O(If)>=1.0?If>0.0?(ca(+N(If/4294967296.0),4294967295.0)|0)>>>0:~~+_((If- +(~~If>>>0))/4294967296.0)>>>0:0;Hf=X;c[Hf>>2]=~~If>>>0;c[Hf+4>>2]=Gf;Hf=W;if((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0)break;Hf=W;if((c[Hf>>2]|0)==-1?(c[Hf+4>>2]|0)==-1:0){Hf=W;c[Hf>>2]=1;c[Hf+4>>2]=0}Gf=X;Hf=W;Hf=kF(c[Gf>>2]|0,c[Gf+4>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)|0;h[U>>3]=+(Hf>>>0)+4294967296.0*+(D|0)}if(!($w(+h[U>>3])|0)){h[c[w>>2]>>3]=+h[U>>3];b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|8;if((a[Y>>0]|0)!=0?1:((e[Z>>1]|e[$>>1])&8|0)!=0)break d;Hp(c[w>>2]|0);break d}}while(0);_d(c[w>>2]|0);break};case 34:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);fn(c[w>>2]|0,c[jf>>2]|0,4096);break};case 35:{if(((c[(c[q>>2]|0)+292>>2]|0)!=0?(c[o>>2]|0)>>>0>=(c[ba>>2]|0)>>>0:0)?(ub[c[(c[q>>2]|0)+292>>2]&31](c[(c[q>>2]|0)+296>>2]|0)|0)!=0:0){Ef=76;break c}Hf=bz(c[k>>2]|0,0)|0;c[l>>2]=Hf;if(0==(Hf|0)?(c[l>>2]=cz(c[k>>2]|0,1)|0,(c[l>>2]|0)==0):0){Ef=79;break c}break};case 94:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]|e[(c[I>>2]|0)+8>>1])&1){_d(c[w>>2]|0);break d}if((e[(c[jf>>2]|0)+8>>1]&16384|0)!=0?(Dd(c[jf>>2]|0)|0)!=0:0){Ef=871;break a}if((e[(c[I>>2]|0)+8>>1]&16384|0)!=0?(Dd(c[I>>2]|0)|0)!=0:0){Ef=871;break a}if((e[(c[jf>>2]|0)+8>>1]&18|0)==0?(Kp(c[jf>>2]|0,a[x>>0]|0,0)|0)!=0:0){Ef=871;break a}if((e[(c[I>>2]|0)+8>>1]&18|0)==0?(Kp(c[I>>2]|0,a[x>>0]|0,0)|0)!=0:0){Ef=871;break a}f=(c[(c[jf>>2]|0)+12>>2]|0)+(c[(c[I>>2]|0)+12>>2]|0)|0;Gf=da;c[Gf>>2]=f;c[Gf+4>>2]=((f|0)<0)<<31>>31;Gf=da;f=c[Gf+4>>2]|0;Hf=c[(c[q>>2]|0)+88>>2]|0;Ff=((Hf|0)<0)<<31>>31;if((f|0)>(Ff|0)|((f|0)==(Ff|0)?(c[Gf>>2]|0)>>>0>Hf>>>0:0)){Ef=870;break c}if(Dk(c[w>>2]|0,(c[da>>2]|0)+2|0,(c[w>>2]|0)==(c[I>>2]|0)&1)|0){Ef=871;break a}b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|2;if((c[w>>2]|0)!=(c[I>>2]|0))dF(c[(c[w>>2]|0)+16>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[(c[I>>2]|0)+12>>2]|0)|0;dF((c[(c[w>>2]|0)+16>>2]|0)+(c[(c[I>>2]|0)+12>>2]|0)|0,c[(c[jf>>2]|0)+16>>2]|0,c[(c[jf>>2]|0)+12>>2]|0)|0;a[(c[(c[w>>2]|0)+16>>2]|0)+(c[da>>2]|0)>>0]=0;Hf=da;Hf=bF(c[Hf>>2]|0,c[Hf+4>>2]|0,1,0)|0;a[(c[(c[w>>2]|0)+16>>2]|0)+Hf>>0]=0;Hf=(c[w>>2]|0)+8|0;b[Hf>>1]=e[Hf>>1]|512;c[(c[w>>2]|0)+12>>2]=c[da>>2];a[(c[w>>2]|0)+10>>0]=a[x>>0]|0;break};case 20:{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Gf=(c[(c[p>>2]|0)+12>>2]|0)-1|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;b[(c[w>>2]|0)+8>>1]=4;if(c[(c[p>>2]|0)+8>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 18:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[n>>2]=c[c[jf>>2]>>2];b[(c[jf>>2]|0)+8>>1]=128;break};case 32:{c[ea>>2]=c[(c[p>>2]|0)+12>>2];c[fa>>2]=c[(c[p>>2]|0)+4>>2];c[ga>>2]=c[(c[p>>2]|0)+8>>2];c[jf>>2]=(c[$c>>2]|0)+((c[fa>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[ga>>2]|0)*40|0);do{Ry(c[w>>2]|0,c[jf>>2]|0);c[jf>>2]=(c[jf>>2]|0)+40;c[w>>2]=(c[w>>2]|0)+40;Hf=(c[ea>>2]|0)+ -1|0;c[ea>>2]=Hf}while((Hf|0)!=0);break};case 33:{c[ha>>2]=c[(c[p>>2]|0)+12>>2];c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);while(1){fn(c[w>>2]|0,c[jf>>2]|0,4096);if((e[(c[w>>2]|0)+8>>1]&4096|0)!=0?(Ak(c[w>>2]|0)|0)!=0:0){Ef=871;break a}Hf=c[ha>>2]|0;c[ha>>2]=Hf+ -1;if(!Hf)break d;c[w>>2]=(c[w>>2]|0)+40;c[jf>>2]=(c[jf>>2]|0)+40}};case 41:{c[ia>>2]=c[(c[p>>2]|0)+16>>2];break};case 42:{if(!(d[(c[p>>2]|0)+3>>0]&1))c[ia>>2]=0;c[ra>>2]=c[(c[p>>2]|0)+12>>2];c[ka>>2]=c[(c[p>>2]|0)+16>>2];c[oa>>2]=c[(c[p>>2]|0)+4>>2];c[pa>>2]=c[(c[p>>2]|0)+8>>2];c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[ra>>2]|0))break;f=c[la>>2]|0;if(c[ia>>2]|0)f=c[(c[ia>>2]|0)+(f<<2)>>2]|0;c[ja>>2]=f;c[ma>>2]=c[(c[ka>>2]|0)+20+(c[la>>2]<<2)>>2];c[na>>2]=d[(c[(c[ka>>2]|0)+16>>2]|0)+(c[la>>2]|0)>>0];c[qa>>2]=bn((c[$c>>2]|0)+(((c[oa>>2]|0)+(c[ja>>2]|0)|0)*40|0)|0,(c[$c>>2]|0)+(((c[pa>>2]|0)+(c[ja>>2]|0)|0)*40|0)|0,c[ma>>2]|0)|0;if(c[qa>>2]|0){Ef=224;break}c[la>>2]=(c[la>>2]|0)+1}if((Ef|0)==224?(Ef=0,(c[na>>2]|0)!=0):0)c[qa>>2]=0-(c[qa>>2]|0);c[ia>>2]=0;break};case 43:{if((c[qa>>2]|0)<0){c[n>>2]=(c[(c[p>>2]|0)+4>>2]|0)-1;break d}f=c[p>>2]|0;if(!(c[qa>>2]|0)){c[n>>2]=(c[f+8>>2]|0)-1;break d}else{c[n>>2]=(c[f+12>>2]|0)-1;break d}};case 71:case 72:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(e[(c[jf>>2]|0)+8>>1]&1)c[sa>>2]=2;else{Hf=Kd(c[jf>>2]|0)|0;c[sa>>2]=((Hf|0)!=0|(D|0)!=0)&1}c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);if(e[(c[I>>2]|0)+8>>1]&1)c[ta>>2]=2;else{Hf=Kd(c[I>>2]|0)|0;c[ta>>2]=((Hf|0)!=0|(D|0)!=0)&1}f=((c[sa>>2]|0)*3|0)+(c[ta>>2]|0)|0;if((d[c[p>>2]>>0]|0)==72)c[sa>>2]=d[31408+f>>0];else c[sa>>2]=d[31424+f>>0];c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if((c[sa>>2]|0)==2){b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|1;break d}else{Gf=c[sa>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|4;break d}};case 19:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);_d(c[w>>2]|0);if(!(e[(c[jf>>2]|0)+8>>1]&1)){b[(c[w>>2]|0)+8>>1]=4;Gf=Kd(c[jf>>2]|0)|0;Gf=(((Gf|0)!=0|(D|0)!=0)^1)&1;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31}break};case 96:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);_d(c[w>>2]|0);if(!(e[(c[jf>>2]|0)+8>>1]&1)){b[(c[w>>2]|0)+8>>1]=4;Gf=Kd(c[jf>>2]|0)|0;Hf=c[w>>2]|0;c[Hf>>2]=~Gf;c[Hf+4>>2]=~D}break};case 44:{f=c[p>>2]|0;if(a[(c[(c[k>>2]|0)+200>>2]|0)+(c[(c[p>>2]|0)+4>>2]|0)>>0]|0){c[n>>2]=(c[f+8>>2]|0)-1;break d}else{a[(c[(c[k>>2]|0)+200>>2]|0)+(c[f+4>>2]|0)>>0]=1;break d}};case 46:case 45:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[jf>>2]|0)+8>>1]&1)){c[ua>>2]=+Id(c[jf>>2]|0)!=0.0&1;if((d[c[p>>2]>>0]|0)==46)c[ua>>2]=((c[ua>>2]|0)!=0^1)&1}else c[ua>>2]=c[(c[p>>2]|0)+12>>2];if(c[ua>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 76:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(e[(c[jf>>2]|0)+8>>1]&1)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 77:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[jf>>2]|0)+8>>1]&1))c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 47:{c[va>>2]=c[(c[p>>2]|0)+8>>2];c[Ba>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[ya>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[za>>2]=c[(c[ya>>2]|0)+80>>2];c[Fa>>2]=c[c[ya>>2]>>2];c[l>>2]=iz(c[ya>>2]|0)|0;if(c[l>>2]|0)break c;f=c[ya>>2]|0;f:do if((c[(c[ya>>2]|0)+60>>2]|0)==(c[(c[k>>2]|0)+72>>2]|0))if((e[f+22>>1]|0)<=(c[va>>2]|0))Ef=284;else Ef=308;else{do if(a[f+25>>0]|0)if(!(c[Fa>>2]|0)){c[Aa>>2]=(c[$c>>2]|0)+((c[(c[ya>>2]|0)+16>>2]|0)*40|0);Hf=c[(c[Aa>>2]|0)+12>>2]|0;c[wa>>2]=Hf;c[(c[ya>>2]|0)+68>>2]=Hf;c[(c[ya>>2]|0)+64>>2]=Hf;c[(c[ya>>2]|0)+76>>2]=c[(c[Aa>>2]|0)+16>>2];break}else{_d(c[Ba>>2]|0);break f}else{f=c[Fa>>2]|0;if(!((d[(c[ya>>2]|0)+27>>0]|0)>>>2&1)){Ly(f,Ga)|0;Hf=jz(c[Fa>>2]|0,wa)|0;c[(c[ya>>2]|0)+76>>2]=Hf;c[(c[ya>>2]|0)+64>>2]=c[Ga>>2]}else{kz(f,(c[ya>>2]|0)+64|0)|0;Hf=lz(c[Fa>>2]|0,wa)|0;c[(c[ya>>2]|0)+76>>2]=Hf}if((c[(c[ya>>2]|0)+64>>2]|0)>>>0<=(c[wa>>2]|0)>>>0)c[(c[ya>>2]|0)+68>>2]=c[(c[ya>>2]|0)+64>>2];else c[(c[ya>>2]|0)+68>>2]=c[wa>>2];if((c[(c[ya>>2]|0)+64>>2]|0)>>>0>(c[(c[q>>2]|0)+88>>2]|0)>>>0){Ef=870;break c}}while(0);c[(c[ya>>2]|0)+60>>2]=c[(c[k>>2]|0)+72>>2];f=c[(c[ya>>2]|0)+76>>2]|0;if((d[c[(c[ya>>2]|0)+76>>2]>>0]|0)<128){c[xa>>2]=d[f>>0];f=1}else f=(Rw(f,xa)|0)&255;c[(c[ya>>2]|0)+72>>2]=f&255;b[(c[ya>>2]|0)+22>>1]=0;c[c[za>>2]>>2]=c[xa>>2];if((c[xa>>2]|0)>>>0<=98307?(c[xa>>2]|0)>>>0<=(c[(c[ya>>2]|0)+64>>2]|0)>>>0:0){if((c[wa>>2]|0)>>>0>=(c[xa>>2]|0)>>>0){Ef=284;break}c[(c[ya>>2]|0)+76>>2]=0;c[(c[ya>>2]|0)+68>>2]=0;Ef=284;break}c[l>>2]=kj(71391)|0;break d}while(0);do if((Ef|0)==284){Ef=0;do if((c[(c[ya>>2]|0)+72>>2]|0)>>>0<(c[c[za>>2]>>2]|0)>>>0){if(!(c[(c[ya>>2]|0)+76>>2]|0)){Ff=nf+0|0;f=Ff+40|0;do{c[Ff>>2]=0;Ff=Ff+4|0}while((Ff|0)<(f|0));c[l>>2]=mz(c[Fa>>2]|0,0,c[c[za>>2]>>2]|0,(((d[(c[ya>>2]|0)+27>>0]|0)>>>2&1|0)!=0^1)&1,nf)|0;if(c[l>>2]|0)break d;c[Da>>2]=c[nf+16>>2]}else c[Da>>2]=c[(c[ya>>2]|0)+76>>2];c[of>>2]=e[(c[ya>>2]|0)+22>>1];c[xa>>2]=c[(c[za>>2]|0)+(c[of>>2]<<2)>>2];c[pf>>2]=(c[Da>>2]|0)+(c[(c[ya>>2]|0)+72>>2]|0);c[qf>>2]=(c[Da>>2]|0)+(c[c[za>>2]>>2]|0);do{f=c[pf>>2]|0;if((d[c[pf>>2]>>0]|0)<128){c[rf>>2]=d[f>>0];c[pf>>2]=(c[pf>>2]|0)+1}else{Hf=(Rw(f,rf)|0)&255;c[pf>>2]=(c[pf>>2]|0)+Hf}c[(c[ya>>2]|0)+84+(c[of>>2]<<2)>>2]=c[rf>>2];c[sf>>2]=Ww(c[rf>>2]|0)|0;c[xa>>2]=(c[xa>>2]|0)+(c[sf>>2]|0);if((c[xa>>2]|0)>>>0<(c[sf>>2]|0)>>>0){Ef=294;break}c[of>>2]=(c[of>>2]|0)+1;c[(c[za>>2]|0)+(c[of>>2]<<2)>>2]=c[xa>>2];if((c[of>>2]|0)>(c[va>>2]|0))break}while((c[pf>>2]|0)>>>0<(c[qf>>2]|0)>>>0);if((Ef|0)==294){Ef=0;c[pf>>2]=(c[qf>>2]|0)+1}b[(c[ya>>2]|0)+22>>1]=c[of>>2];c[(c[ya>>2]|0)+72>>2]=(c[pf>>2]|0)-(c[Da>>2]|0);if(!(c[(c[ya>>2]|0)+76>>2]|0)){Bd(nf);b[nf+8>>1]=1}if((c[pf>>2]|0)>>>0>=(c[qf>>2]|0)>>>0){if((c[pf>>2]|0)>>>0<=(c[qf>>2]|0)>>>0?(c[xa>>2]|0)==(c[(c[ya>>2]|0)+64>>2]|0):0)Ef=302}else Ef=302;if((Ef|0)==302?(Ef=0,(c[xa>>2]|0)>>>0<=(c[(c[ya>>2]|0)+64>>2]|0)>>>0):0)break;c[l>>2]=kj(71475)|0;break d}while(0);if((e[(c[ya>>2]|0)+22>>1]|0)<=(c[va>>2]|0)){f=c[Ba>>2]|0;if((a[(c[p>>2]|0)+1>>0]|0)==-8){fn(f,c[(c[p>>2]|0)+16>>2]|0,2048);break}else{_d(f);break}}else Ef=308}while(0);if((Ef|0)==308){Ef=0;if(e[(c[Ba>>2]|0)+8>>1]&9312)_d(c[Ba>>2]|0);c[rf>>2]=c[(c[ya>>2]|0)+84+(c[va>>2]<<2)>>2];do if((c[(c[ya>>2]|0)+68>>2]|0)>>>0>=(c[(c[za>>2]|0)+((c[va>>2]|0)+1<<2)>>2]|0)>>>0)Xw((c[(c[ya>>2]|0)+76>>2]|0)+(c[(c[za>>2]|0)+(c[va>>2]<<2)>>2]|0)|0,c[rf>>2]|0,c[Ba>>2]|0)|0;else{do if(d[(c[p>>2]|0)+3>>0]&192){if((c[rf>>2]|0)>>>0>=12?(c[rf>>2]&1|0)==0:0)break;if(!(d[(c[p>>2]|0)+3>>0]&128))Ef=316}else Ef=316;while(0);if((Ef|0)==316?(Ef=0,Hf=Ww(c[rf>>2]|0)|0,c[Ea>>2]=Hf,(Hf|0)!=0):0){c[l>>2]=mz(c[Fa>>2]|0,c[(c[za>>2]|0)+(c[va>>2]<<2)>>2]|0,c[Ea>>2]|0,(((d[(c[ya>>2]|0)+27>>0]|0)>>>2&1|0)!=0^1)&1,c[Ba>>2]|0)|0;if(c[l>>2]|0)break d;Xw(c[(c[Ba>>2]|0)+16>>2]|0,c[rf>>2]|0,c[Ba>>2]|0)|0;Hf=(c[Ba>>2]|0)+8|0;b[Hf>>1]=e[Hf>>1]&-4097;break}if((c[rf>>2]|0)>>>0<=13)f=Ga;else f=0;Xw(f,c[rf>>2]|0,c[Ba>>2]|0)|0}while(0);a[(c[Ba>>2]|0)+10>>0]=a[x>>0]|0}if((e[(c[Ba>>2]|0)+8>>1]&4096|0)!=0?(c[(c[Ba>>2]|0)+16>>2]|0)!=0:0){b[Ca>>1]=e[(c[Ba>>2]|0)+8>>1]&18;c[Da>>2]=c[(c[Ba>>2]|0)+16>>2];c[Ea>>2]=c[(c[Ba>>2]|0)+12>>2];if(Lp(c[Ba>>2]|0,(c[Ea>>2]|0)+2|0)|0){Ef=871;break a}dF(c[(c[Ba>>2]|0)+16>>2]|0,c[Da>>2]|0,c[Ea>>2]|0)|0;a[(c[(c[Ba>>2]|0)+16>>2]|0)+(c[Ea>>2]|0)>>0]=0;a[(c[(c[Ba>>2]|0)+16>>2]|0)+((c[Ea>>2]|0)+1)>>0]=0;b[(c[Ba>>2]|0)+8>>1]=e[Ca>>1]|512}break};case 48:{c[Ha>>2]=c[(c[p>>2]|0)+16>>2];c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);while(1){Hf=c[Ha>>2]|0;c[Ha>>2]=Hf+1;Hf=a[Hf>>0]|0;a[Ia>>0]=Hf;if(!(Hf<<24>>24))break d;Jp(c[jf>>2]|0,a[Ia>>0]|0,a[x>>0]|0);c[jf>>2]=(c[jf>>2]|0)+40}};case 49:{Hf=Ra;c[Hf>>2]=0;c[Hf+4>>2]=0;c[Ma>>2]=0;c[Va>>2]=0;c[Ya>>2]=c[(c[p>>2]|0)+4>>2];c[Xa>>2]=c[(c[p>>2]|0)+16>>2];c[Oa>>2]=(c[$c>>2]|0)+((c[Ya>>2]|0)*40|0);c[Ya>>2]=c[(c[p>>2]|0)+8>>2];c[Ta>>2]=(c[Oa>>2]|0)+(((c[Ya>>2]|0)-1|0)*40|0);c[Wa>>2]=d[(c[k>>2]|0)+87>>0];c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(c[Xa>>2]|0){c[Ja>>2]=c[Oa>>2];do{Gf=c[Ja>>2]|0;c[Ja>>2]=Gf+40;Hf=c[Xa>>2]|0;c[Xa>>2]=Hf+1;Jp(Gf,a[Hf>>0]|0,a[x>>0]|0)}while((a[c[Xa>>2]>>0]|0)!=0)}c[Ja>>2]=c[Ta>>2];do{Hf=nz(c[Ja>>2]|0,c[Wa>>2]|0)|0;c[Ka>>2]=Hf;c[(c[Ja>>2]|0)+28>>2]=Hf;c[Ua>>2]=Ww(c[Ka>>2]|0)|0;do if(e[(c[Ja>>2]|0)+8>>1]&16384){Hf=Ra;f=c[Ja>>2]|0;if((c[Hf>>2]|0)!=0|(c[Hf+4>>2]|0)!=0){Dd(f)|0;break}else{c[Va>>2]=(c[Va>>2]|0)+(c[f>>2]|0);c[Ua>>2]=(c[Ua>>2]|0)-(c[c[Ja>>2]>>2]|0);break}}while(0);Gf=c[Ua>>2]|0;Hf=Ra;Gf=bF(c[Hf>>2]|0,c[Hf+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;Hf=Ra;c[Hf>>2]=Gf;c[Hf+4>>2]=D;if((c[Ka>>2]|0)>>>0<=127)f=1;else f=Zw(c[Ka>>2]|0,0)|0;c[Ma>>2]=(c[Ma>>2]|0)+f;Hf=(c[Ja>>2]|0)+ -40|0;c[Ja>>2]=Hf}while(Hf>>>0>=(c[Oa>>2]|0)>>>0);f=c[Ma>>2]|0;if((c[Ma>>2]|0)>126){c[Sa>>2]=Zw(f,((f|0)<0)<<31>>31)|0;c[Ma>>2]=(c[Ma>>2]|0)+(c[Sa>>2]|0);Gf=c[Sa>>2]|0;Hf=c[Ma>>2]|0;if((Gf|0)<(Zw(Hf,((Hf|0)<0)<<31>>31)|0))c[Ma>>2]=(c[Ma>>2]|0)+1}else c[Ma>>2]=f+1;Gf=c[Ma>>2]|0;f=Ra;f=bF(Gf|0,((Gf|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;Gf=Qa;c[Gf>>2]=f;c[Gf+4>>2]=D;Gf=Qa;f=c[Gf+4>>2]|0;Hf=c[(c[q>>2]|0)+88>>2]|0;Ff=((Hf|0)<0)<<31>>31;if((f|0)>(Ff|0)|((f|0)==(Ff|0)?(c[Gf>>2]|0)>>>0>Hf>>>0:0)){Ef=870;break c}if(Lp(c[w>>2]|0,c[Qa>>2]|0)|0){Ef=871;break a}c[Pa>>2]=c[(c[w>>2]|0)+16>>2];if((c[Ma>>2]|0)>>>0<128){a[c[Pa>>2]>>0]=c[Ma>>2];f=1}else{f=c[Ma>>2]|0;f=oz(c[Pa>>2]|0,f,((f|0)<0)<<31>>31)|0}c[La>>2]=f&255;c[Na>>2]=c[Ma>>2];c[Ja>>2]=c[Oa>>2];do{c[Ka>>2]=c[(c[Ja>>2]|0)+28>>2];if((c[Ka>>2]|0)>>>0<128){a[(c[Pa>>2]|0)+(c[La>>2]|0)>>0]=c[Ka>>2];f=1}else f=oz((c[Pa>>2]|0)+(c[La>>2]|0)|0,c[Ka>>2]|0,0)|0;c[La>>2]=(c[La>>2]|0)+(f&255);Hf=pz((c[Pa>>2]|0)+(c[Na>>2]|0)|0,c[Ja>>2]|0,c[Ka>>2]|0)|0;c[Na>>2]=(c[Na>>2]|0)+Hf;Hf=(c[Ja>>2]|0)+40|0;c[Ja>>2]=Hf}while(Hf>>>0<=(c[Ta>>2]|0)>>>0);c[(c[w>>2]|0)+12>>2]=c[Qa>>2];b[(c[w>>2]|0)+8>>1]=16;if(c[Va>>2]|0){c[c[w>>2]>>2]=c[Va>>2];Hf=(c[w>>2]|0)+8|0;b[Hf>>1]=e[Hf>>1]|16384}a[(c[w>>2]|0)+10>>0]=1;break};case 50:{c[Za>>2]=c[c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]>>2];Ff=_a;c[Ff>>2]=0;c[Ff+4>>2]=0;c[l>>2]=qz(c[Za>>2]|0,_a)|0;Ff=_a;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;break};case 2:{c[fb>>2]=c[(c[p>>2]|0)+4>>2];c[bb>>2]=c[(c[p>>2]|0)+16>>2];if(!(c[fb>>2]|0)){if((c[(c[q>>2]|0)+156>>2]|0)>0){pn((c[k>>2]|0)+44|0,c[q>>2]|0,31440,g);c[l>>2]=5;break d}c[$a>>2]=Mb(c[bb>>2]|0)|0;c[l>>2]=rz(c[q>>2]|0,0,(c[(c[q>>2]|0)+500>>2]|0)+(c[(c[q>>2]|0)+496>>2]|0)|0)|0;if(c[l>>2]|0)break c;c[ab>>2]=Qe(c[q>>2]|0,33+(c[$a>>2]|0)|0,0)|0;if(!(c[ab>>2]|0))break d;c[c[ab>>2]>>2]=(c[ab>>2]|0)+32;dF(c[c[ab>>2]>>2]|0,c[bb>>2]|0,(c[$a>>2]|0)+1|0)|0;f=c[q>>2]|0;if(a[(c[q>>2]|0)+62>>0]|0){a[f+62>>0]=0;a[(c[q>>2]|0)+69>>0]=1}else{Hf=f+496|0;c[Hf>>2]=(c[Hf>>2]|0)+1}c[(c[ab>>2]|0)+24>>2]=c[(c[q>>2]|0)+488>>2];c[(c[q>>2]|0)+488>>2]=c[ab>>2];Hf=(c[q>>2]|0)+504|0;Gf=c[Hf+4>>2]|0;Ff=(c[ab>>2]|0)+8|0;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;Ff=(c[q>>2]|0)+512|0;Gf=c[Ff+4>>2]|0;Hf=(c[ab>>2]|0)+16|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;break d}c[gb>>2]=0;c[cb>>2]=c[(c[q>>2]|0)+488>>2];while(1){if(!(c[cb>>2]|0))break;if(!(xc(c[c[cb>>2]>>2]|0,c[bb>>2]|0)|0))break;c[gb>>2]=(c[gb>>2]|0)+1;c[cb>>2]=c[(c[cb>>2]|0)+24>>2]}if(!(c[cb>>2]|0)){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=c[bb>>2];pn(Gf,Hf,31496,g);c[l>>2]=1;break d}if((c[fb>>2]|0)==1?(c[(c[q>>2]|0)+156>>2]|0)>0:0){pn((c[k>>2]|0)+44|0,c[q>>2]|0,31520,g);c[l>>2]=5;break d}if(!(c[(c[cb>>2]|0)+24>>2]|0))f=(d[(c[q>>2]|0)+69>>0]|0)!=0;else f=0;c[ib>>2]=f&1;if(!((c[ib>>2]|0)!=0&(c[fb>>2]|0)==1)){c[gb>>2]=(c[(c[q>>2]|0)+496>>2]|0)-(c[gb>>2]|0)-1;g:do if((c[fb>>2]|0)==2){c[db>>2]=(c[(c[q>>2]|0)+24>>2]&2|0)!=0&1;c[eb>>2]=0;while(1){if((c[eb>>2]|0)>=(c[(c[q>>2]|0)+20>>2]|0))break g;c[l>>2]=sz(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[eb>>2]<<4)+4>>2]|0,516,(c[db>>2]|0)==0&1)|0;if(c[l>>2]|0)break c;c[eb>>2]=(c[eb>>2]|0)+1}}else c[db>>2]=0;while(0);c[eb>>2]=0;while(1){if((c[eb>>2]|0)>=(c[(c[q>>2]|0)+20>>2]|0))break;c[l>>2]=tz(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[eb>>2]<<4)+4>>2]|0,c[fb>>2]|0,c[gb>>2]|0)|0;if(c[l>>2]|0)break c;c[eb>>2]=(c[eb>>2]|0)+1}if(c[db>>2]|0){gf(c[q>>2]|0);cd(c[q>>2]|0);c[(c[q>>2]|0)+24>>2]=c[(c[q>>2]|0)+24>>2]|2}}else{Hf=bz(c[k>>2]|0,1)|0;c[l>>2]=Hf;if(Hf){Ef=869;break c}a[(c[q>>2]|0)+62>>0]=1;if(($y(c[k>>2]|0)|0)==5){Ef=381;break c}a[(c[q>>2]|0)+69>>0]=0;c[l>>2]=c[(c[k>>2]|0)+80>>2]}while(1){if((c[(c[q>>2]|0)+488>>2]|0)==(c[cb>>2]|0))break;c[hb>>2]=c[(c[q>>2]|0)+488>>2];c[(c[q>>2]|0)+488>>2]=c[(c[hb>>2]|0)+24>>2];Xb(c[q>>2]|0,c[hb>>2]|0);Hf=(c[q>>2]|0)+496|0;c[Hf>>2]=(c[Hf>>2]|0)+ -1}f=c[cb>>2]|0;if((c[fb>>2]|0)==1){c[(c[q>>2]|0)+488>>2]=c[f+24>>2];Xb(c[q>>2]|0,c[cb>>2]|0);if(!(c[ib>>2]|0)){Hf=(c[q>>2]|0)+496|0;c[Hf>>2]=(c[Hf>>2]|0)+ -1}}else{Hf=f+8|0;Gf=c[Hf+4>>2]|0;Ff=(c[q>>2]|0)+504|0;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;Ff=(c[cb>>2]|0)+16|0;Gf=c[Ff+4>>2]|0;Hf=(c[q>>2]|0)+512|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}if((c[ib>>2]|0)==0?(c[l>>2]=rz(c[q>>2]|0,c[fb>>2]|0,c[gb>>2]|0)|0,(c[l>>2]|0)!=0):0)break c;break};case 3:{c[jb>>2]=c[(c[p>>2]|0)+4>>2];c[lb>>2]=c[(c[p>>2]|0)+8>>2];if(c[jb>>2]|0)f=(a[(c[q>>2]|0)+62>>0]|0)!=0^1;else f=0;c[kb>>2]=f&1;if(!((c[kb>>2]|0)==0|(c[lb>>2]|0)!=0)?(c[(c[q>>2]|0)+156>>2]|0)>0:0){pn((c[k>>2]|0)+44|0,c[q>>2]|0,31576,g);c[l>>2]=5;break d}if((c[jb>>2]|0)!=(d[(c[q>>2]|0)+62>>0]|0)){Ef=409;break c}if(c[jb>>2]|0)f=(c[lb>>2]|0)!=0?31680:31728;else f=31632;pn((c[k>>2]|0)+44|0,c[q>>2]|0,f,g);c[l>>2]=1;break};case 4:{if((c[(c[p>>2]|0)+8>>2]|0)!=0?(c[(c[q>>2]|0)+24>>2]&33554432|0)!=0:0){Ef=422;break c}c[mb>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2];if(c[mb>>2]|0){c[l>>2]=Rc(c[mb>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;if((c[l>>2]|0)==5){Ef=425;break c}if(c[l>>2]|0)break c;do if((c[(c[p>>2]|0)+8>>2]|0)!=0?((e[(c[k>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){if((d[(c[q>>2]|0)+62>>0]|0)!=0?(c[(c[q>>2]|0)+152>>2]|0)<=1:0)break;if(!(c[(c[k>>2]|0)+104>>2]|0)){Hf=(c[q>>2]|0)+500|0;c[Hf>>2]=(c[Hf>>2]|0)+1;c[(c[k>>2]|0)+104>>2]=(c[(c[q>>2]|0)+496>>2]|0)+(c[(c[q>>2]|0)+500>>2]|0)}c[l>>2]=rz(c[q>>2]|0,0,(c[(c[k>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[l>>2]|0))c[l>>2]=uz(c[mb>>2]|0,c[(c[k>>2]|0)+104>>2]|0)|0;Hf=(c[q>>2]|0)+504|0;Gf=c[Hf+4>>2]|0;Ff=(c[k>>2]|0)+152|0;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;Ff=(c[q>>2]|0)+512|0;Gf=c[Ff+4>>2]|0;Hf=(c[k>>2]|0)+160|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}while(0);Sc(c[mb>>2]|0,1,nb);c[ob>>2]=c[(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[nb>>2]=0;c[ob>>2]=0}if(d[(c[p>>2]|0)+3>>0]|0){if((c[nb>>2]|0)==(c[(c[p>>2]|0)+12>>2]|0)?(c[ob>>2]|0)==(c[(c[p>>2]|0)+16>>2]|0):0)break d;Xb(c[q>>2]|0,c[(c[k>>2]|0)+44>>2]|0);Hf=ne(c[q>>2]|0,5664)|0;c[(c[k>>2]|0)+44>>2]=Hf;if((c[c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[nb>>2]|0))as(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0);Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-33|32;c[l>>2]=17}break};case 51:{c[qb>>2]=c[(c[p>>2]|0)+4>>2];c[rb>>2]=c[(c[p>>2]|0)+12>>2];Sc(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[qb>>2]<<4)+4>>2]|0,c[rb>>2]|0,tb);Gf=c[tb>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;break};case 52:{c[wb>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4);c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);Mp(c[y>>2]|0)|0;c[l>>2]=bd(c[(c[wb>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[c[y>>2]>>2]|0)|0;if((c[(c[p>>2]|0)+8>>2]|0)!=1){if((c[(c[p>>2]|0)+8>>2]|0)==2)a[(c[(c[wb>>2]|0)+12>>2]|0)+76>>0]=c[c[y>>2]>>2]}else{c[c[(c[wb>>2]|0)+12>>2]>>2]=c[c[y>>2]>>2];Hf=(c[q>>2]|0)+24|0;c[Hf>>2]=c[Hf>>2]|2}if((c[(c[p>>2]|0)+4>>2]|0)==1){gf(c[q>>2]|0);Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-33}break};case 55:case 54:{Ef=453;break};case 53:{c[Bb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(!((c[Bb>>2]|0)!=0?(c[(c[Bb>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+8>>2]|0):0))Ef=453;break};case 57:case 56:{c[Cb>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Cb>>2]|0)){Ef=871;break a}a[(c[Cb>>2]|0)+25>>0]=1;Hf=(c[Cb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-2|1;c[l>>2]=rh(c[c[q>>2]>>2]|0,0,c[q>>2]|0,(c[Cb>>2]|0)+4|0,5|d[(c[p>>2]|0)+3>>0],1054)|0;if(!(c[l>>2]|0))c[l>>2]=Rc(c[(c[Cb>>2]|0)+4>>2]|0,1)|0;do if(!(c[l>>2]|0)){Hf=c[(c[p>>2]|0)+16>>2]|0;c[Eb>>2]=Hf;f=c[(c[Cb>>2]|0)+4>>2]|0;if(!Hf){c[l>>2]=wz(f,1,1,0,c[c[Cb>>2]>>2]|0)|0;Hf=(c[Cb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-5|4;break}c[l>>2]=yz(f,Db,2|d[(c[p>>2]|0)+3>>0])|0;if(!(c[l>>2]|0)){c[(c[Cb>>2]|0)+8>>2]=c[Eb>>2];c[l>>2]=wz(c[(c[Cb>>2]|0)+4>>2]|0,c[Db>>2]|0,1,c[Eb>>2]|0,c[c[Cb>>2]>>2]|0)|0}Hf=(c[Cb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-5}while(0);Hf=(c[Cb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-9|((d[(c[p>>2]|0)+3>>0]|0)!=8&1)<<3&255;break};case 58:{c[Fb>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Fb>>2]|0)){Ef=871;break a}c[(c[Fb>>2]|0)+8>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=zz(c[q>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[Fb>>2]|0)|0;break};case 59:{c[Gb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];Ff=(c[Gb>>2]|0)+40|0;Hf=Ff;Gf=c[Hf>>2]|0;Hf=c[Hf+4>>2]|0;f=bF(Gf|0,Hf|0,1,0)|0;c[Ff>>2]=f;c[Ff+4>>2]=D;if((Gf|0)==0&(Hf|0)==0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 60:{c[Hb>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+12>>2]|0,-1,0)|0;if(!(c[Hb>>2]|0)){Ef=871;break a}a[(c[Hb>>2]|0)+25>>0]=1;c[(c[Hb>>2]|0)+16>>2]=c[(c[p>>2]|0)+8>>2];Hf=(c[Hb>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-5|4;break};case 61:{Az(c[k>>2]|0,c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]=0;break};case 65:case 64:case 63:case 62:{c[Kb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Ib>>2]=d[c[p>>2]>>0];a[(c[Kb>>2]|0)+25>>0]=0;f=c[p>>2]|0;if((d[(c[Kb>>2]|0)+27>>0]|0)>>>2&1){c[y>>2]=(c[$c>>2]|0)+((c[f+12>>2]|0)*40|0);if((e[(c[y>>2]|0)+8>>1]&14|0)==2)Pe(c[y>>2]|0,0);Gf=Kd(c[y>>2]|0)|0;Hf=Jb;c[Hf>>2]=Gf;c[Hf+4>>2]=D;do if(!(e[(c[y>>2]|0)+8>>1]&4)){if(!(e[(c[y>>2]|0)+8>>1]&8)){c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}Hf=Jb;if(+h[c[y>>2]>>3]<+((c[Hf>>2]|0)>>>0)+4294967296.0*+(c[Hf+4>>2]|0)){if((c[Ib>>2]&1|0)!=1)break;c[Ib>>2]=(c[Ib>>2]|0)+ -1;break}Hf=Jb;if(+h[c[y>>2]>>3]>+((c[Hf>>2]|0)>>>0)+4294967296.0*+(c[Hf+4>>2]|0)?(c[Ib>>2]&1|0)==0:0)c[Ib>>2]=(c[Ib>>2]|0)+1}while(0);Ff=Jb;c[l>>2]=Gw(c[c[Kb>>2]>>2]|0,0,c[Ff>>2]|0,c[Ff+4>>2]|0,0,Lb)|0;Ff=Jb;Gf=c[Ff+4>>2]|0;Hf=(c[Kb>>2]|0)+48|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;if(c[l>>2]|0)break c}else{c[Ob>>2]=c[f+16>>2];c[Nb>>2]=c[(c[Kb>>2]|0)+8>>2];b[Nb+4>>1]=c[Ob>>2];a[Nb+6>>0]=(1&(c[Ib>>2]|0)-62|0)!=0?-1:1;c[Nb+8>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(e[(c[Nb+8>>2]|0)+8>>1]&16384)Dd(c[Nb+8>>2]|0)|0;c[l>>2]=Gw(c[c[Kb>>2]>>2]|0,Nb,0,0,0,Lb)|0;if(c[l>>2]|0)break c}a[(c[Kb>>2]|0)+26>>0]=0;c[(c[Kb>>2]|0)+60>>2]=0;f=c[Lb>>2]|0;do if((c[Ib>>2]|0)>=64){if((f|0)>=0?!((c[Lb>>2]|0)==0&(c[Ib>>2]|0)==65):0){c[Lb>>2]=0;break}c[Lb>>2]=0;c[l>>2]=sw(c[c[Kb>>2]>>2]|0,Lb)|0;if(c[l>>2]|0)break c}else{if((f|0)<=0?!((c[Lb>>2]|0)==0&(c[Ib>>2]|0)==62):0){c[Lb>>2]=Bz(c[c[Kb>>2]>>2]|0)|0;break}c[Lb>>2]=0;c[l>>2]=tw(c[c[Kb>>2]>>2]|0,Lb)|0;if(c[l>>2]|0)break c}while(0);if(c[Lb>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 66:{c[Pb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];a[(c[Pb>>2]|0)+25>>0]=0;c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);Gf=Kd(c[I>>2]|0)|0;Hf=(c[Pb>>2]|0)+48|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;a[(c[Pb>>2]|0)+26>>0]=1;break};case 69:case 68:case 67:{c[Rb>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[Ub>>2]=0;f=c[(c[Rb>>2]|0)+8>>2]|0;if((c[(c[p>>2]|0)+16>>2]|0)>0){c[Wb>>2]=f;b[Wb+4>>1]=c[(c[p>>2]|0)+16>>2];c[Wb+8>>2]=c[y>>2];c[Yb>>2]=0;while(1){if((c[Yb>>2]|0)>=(e[Wb+4>>1]|0))break;if(e[(c[Wb+8>>2]|0)+((c[Yb>>2]|0)*40|0)+8>>1]&16384)Dd((c[Wb+8>>2]|0)+((c[Yb>>2]|0)*40|0)|0)|0;c[Yb>>2]=(c[Yb>>2]|0)+1}c[Vb>>2]=Wb}else{c[Vb>>2]=Ew(f,Zb,191,Ub)|0;if(!(c[Vb>>2]|0)){Ef=871;break a}Fw(c[(c[Rb>>2]|0)+8>>2]|0,c[(c[y>>2]|0)+12>>2]|0,c[(c[y>>2]|0)+16>>2]|0,c[Vb>>2]|0)}a[(c[Vb>>2]|0)+6>>0]=0;h:do if((d[c[p>>2]>>0]|0)==67){c[Yb>>2]=0;while(1){if((c[Yb>>2]|0)>=(e[Wb+4>>1]|0))break h;if(e[(c[Wb+8>>2]|0)+((c[Yb>>2]|0)*40|0)+8>>1]&1)break;c[Yb>>2]=(c[Yb>>2]|0)+1}c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1}while(0);c[l>>2]=Gw(c[c[Rb>>2]>>2]|0,c[Vb>>2]|0,0,0,0,Qb)|0;if(!(c[(c[p>>2]|0)+16>>2]|0))Xb(c[q>>2]|0,c[Ub>>2]|0);if(!(c[l>>2]|0)){c[(c[Rb>>2]|0)+12>>2]=c[Qb>>2];c[Tb>>2]=(c[Qb>>2]|0)==0&1;a[(c[Rb>>2]|0)+25>>0]=1-(c[Tb>>2]|0);a[(c[Rb>>2]|0)+26>>0]=0;c[(c[Rb>>2]|0)+60>>2]=0;f=(c[Tb>>2]|0)!=0;if((d[c[p>>2]>>0]|0)==69){if(!f)break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}else{if(f)break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}}break};case 73:{Hf=(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]|0)+40|0;Gf=Hf;Ff=c[Gf>>2]|0;Gf=c[Gf+4>>2]|0;f=bF(Ff|0,Gf|0,1,0)|0;c[Hf>>2]=f;c[Hf+4>>2]=D;Hf=c[w>>2]|0;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf;break};case 70:{c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[$b>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[ac>>2]=c[c[$b>>2]>>2];c[_b>>2]=0;Hf=c[y>>2]|0;Gf=c[Hf+4>>2]|0;Ff=bc;c[Ff>>2]=c[Hf>>2];c[Ff+4>>2]=Gf;Ff=bc;c[l>>2]=Gw(c[ac>>2]|0,0,c[Ff>>2]|0,c[Ff+4>>2]|0,0,_b)|0;Ff=bc;Gf=c[Ff+4>>2]|0;Hf=(c[$b>>2]|0)+48|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;a[(c[$b>>2]|0)+25>>0]=0;c[(c[$b>>2]|0)+60>>2]=0;a[(c[$b>>2]|0)+26>>0]=0;if(c[_b>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;c[(c[$b>>2]|0)+12>>2]=c[_b>>2];break};case 74:{Hf=cc;c[Hf>>2]=0;c[Hf+4>>2]=0;c[hc>>2]=0;c[ec>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(c[c[ec>>2]>>2]|0){do if(!((d[(c[ec>>2]|0)+27>>0]|0)>>>1&1)){c[l>>2]=Cz(c[c[ec>>2]>>2]|0,hc)|0;if(c[l>>2]|0)break c;if(c[hc>>2]|0){Hf=cc;c[Hf>>2]=1;c[Hf+4>>2]=0;break}c[l>>2]=Ly(c[c[ec>>2]>>2]|0,cc)|0;Hf=cc;Gf=c[Hf+4>>2]|0;if((Gf|0)>2147483647|(Gf|0)==2147483647&(c[Hf>>2]|0)>>>0>=4294967295){Hf=(c[ec>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-3|2;break}else{Gf=cc;Gf=bF(c[Gf>>2]|0,c[Gf+4>>2]|0,1,0)|0;Hf=cc;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break}}while(0);if(c[(c[p>>2]|0)+12>>2]|0){if(c[(c[k>>2]|0)+176>>2]|0){c[fc>>2]=c[(c[k>>2]|0)+176>>2];while(1){if(!(c[(c[fc>>2]|0)+4>>2]|0))break;c[fc>>2]=c[(c[fc>>2]|0)+4>>2]}c[dc>>2]=(c[(c[fc>>2]|0)+12>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0)}else c[dc>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);Mp(c[dc>>2]|0)|0;Hf=c[dc>>2]|0;if((c[Hf>>2]|0)==-1?(c[Hf+4>>2]|0)==2147483647:0){Ef=557;break c}if((d[(c[ec>>2]|0)+27>>0]|0)>>>1&1){Ef=557;break c}f=cc;Gf=c[f>>2]|0;f=c[f+4>>2]|0;Hf=c[dc>>2]|0;Hf=bF(c[Hf>>2]|0,c[Hf+4>>2]|0,1,0)|0;Ff=D;if((f|0)<(Ff|0)|(f|0)==(Ff|0)&Gf>>>0>>0){Gf=c[dc>>2]|0;Gf=bF(c[Gf>>2]|0,c[Gf+4>>2]|0,1,0)|0;Hf=cc;c[Hf>>2]=Gf;c[Hf+4>>2]=D}Ff=cc;Gf=c[Ff+4>>2]|0;Hf=c[dc>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}if((d[(c[ec>>2]|0)+27>>0]|0)>>>1&1){c[gc>>2]=0;do{vc(8,cc);Ff=cc;Hf=c[Ff+4>>2]&1073741823;Gf=cc;c[Gf>>2]=c[Ff>>2];c[Gf+4>>2]=Hf;Gf=cc;Gf=bF(c[Gf>>2]|0,c[Gf+4>>2]|0,1,0)|0;Hf=cc;c[Hf>>2]=Gf;c[Hf+4>>2]=D;Hf=cc;Hf=Gw(c[c[ec>>2]>>2]|0,0,c[Hf>>2]|0,c[Hf+4>>2]|0,0,hc)|0;c[l>>2]=Hf;if(!((Hf|0)==0&(c[hc>>2]|0)==0))break;Hf=(c[gc>>2]|0)+1|0;c[gc>>2]=Hf}while((Hf|0)<100);if((c[l>>2]|0)==0&(c[hc>>2]|0)==0){Ef=566;break c}}a[(c[ec>>2]|0)+26>>0]=0;c[(c[ec>>2]|0)+60>>2]=0}Ff=cc;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;break};case 84:case 75:{c[t>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[ic>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];f=c[(c[p>>2]|0)+12>>2]|0;if((d[c[p>>2]>>0]|0)==75){c[qc>>2]=(c[$c>>2]|0)+(f*40|0);Ff=c[qc>>2]|0;Gf=c[Ff+4>>2]|0;Hf=mc;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}else{Hf=mc;c[Hf>>2]=f;c[Hf+4>>2]=((f|0)<0)<<31>>31}if(d[(c[p>>2]|0)+3>>0]&1){Hf=(c[k>>2]|0)+92|0;c[Hf>>2]=(c[Hf>>2]|0)+1}if(d[(c[p>>2]|0)+3>>0]&2){Gf=mc;Ff=c[Gf>>2]|0;Gf=c[Gf+4>>2]|0;Hf=r;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf;Hf=(c[q>>2]|0)+32|0;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf}if(e[(c[t>>2]|0)+8>>1]&1){c[(c[t>>2]|0)+16>>2]=0;c[(c[t>>2]|0)+12>>2]=0}if(d[(c[p>>2]|0)+3>>0]&16)f=c[(c[ic>>2]|0)+12>>2]|0;else f=0;c[pc>>2]=f;if(e[(c[t>>2]|0)+8>>1]&16384)c[oc>>2]=c[c[t>>2]>>2];else c[oc>>2]=0;Hf=mc;c[l>>2]=Dz(c[c[ic>>2]>>2]|0,0,c[Hf>>2]|0,c[Hf+4>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[oc>>2]|0,(d[(c[p>>2]|0)+3>>0]&8|0)!=0&1,c[pc>>2]|0)|0;a[(c[ic>>2]|0)+26>>0]=0;c[(c[ic>>2]|0)+60>>2]=0;if(((c[l>>2]|0)==0?(c[(c[q>>2]|0)+208>>2]|0)!=0:0)?(c[(c[p>>2]|0)+16>>2]|0)!=0:0){c[jc>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(a[(c[ic>>2]|0)+24>>0]<<4)>>2];c[kc>>2]=c[(c[p>>2]|0)+16>>2];c[lc>>2]=(d[(c[p>>2]|0)+3>>0]&4|0)!=0?23:18;Hf=mc;yb[c[(c[q>>2]|0)+208>>2]&0](c[(c[q>>2]|0)+204>>2]|0,c[lc>>2]|0,c[jc>>2]|0,c[kc>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)}break};case 95:{c[rc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[l>>2]=Ez(c[c[rc>>2]>>2]|0)|0;c[(c[rc>>2]|0)+60>>2]=0;if((((c[l>>2]|0)==0?(c[(c[q>>2]|0)+208>>2]|0)!=0:0)?(c[(c[p>>2]|0)+16>>2]|0)!=0:0)?((d[(c[rc>>2]|0)+27>>0]|0)>>>2&1|0)!=0:0){Hf=(c[rc>>2]|0)+48|0;yb[c[(c[q>>2]|0)+208>>2]&0](c[(c[q>>2]|0)+204>>2]|0,9,c[(c[(c[q>>2]|0)+16>>2]|0)+(a[(c[rc>>2]|0)+24>>0]<<4)>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)}if(c[(c[p>>2]|0)+8>>2]&1){Hf=(c[k>>2]|0)+92|0;c[Hf>>2]=(c[Hf>>2]|0)+1}break};case 98:{Zy(c[q>>2]|0,c[(c[k>>2]|0)+92>>2]|0);c[(c[k>>2]|0)+92>>2]=0;break};case 99:{c[sc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[uc>>2]=c[(c[p>>2]|0)+16>>2];c[wc>>2]=0;c[l>>2]=Fz(c[sc>>2]|0,c[y>>2]|0,c[uc>>2]|0,wc)|0;if(c[wc>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 100:{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[yc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[l>>2]=Gz(c[yc>>2]|0,c[w>>2]|0)|0;c[(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+12>>2]<<2)>>2]|0)+60>>2]=0;break};case 102:case 101:{c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[Bc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Ac>>2]=c[c[Bc>>2]>>2];f=c[Ac>>2]|0;if((d[(c[Bc>>2]|0)+27>>0]|0)>>>2&1){kz(f,zc)|0;if((c[zc>>2]|0)>>>0>(c[(c[q>>2]|0)+88>>2]|0)>>>0){Ef=870;break c}}else{Ly(f,Cc)|0;Gf=Cc;f=c[Gf+4>>2]|0;Hf=c[(c[q>>2]|0)+88>>2]|0;Ff=((Hf|0)<0)<<31>>31;if((f|0)>(Ff|0)|((f|0)==(Ff|0)?(c[Gf>>2]|0)>>>0>Hf>>>0:0)){Ef=870;break c}c[zc>>2]=c[Cc>>2]}if(Lp(c[w>>2]|0,(c[zc>>2]|0)>>>0>32?c[zc>>2]|0:32)|0){Ef=871;break a}c[(c[w>>2]|0)+12>>2]=c[zc>>2];b[(c[w>>2]|0)+8>>1]=e[(c[w>>2]|0)+8>>1]&-16896|16;Gf=c[Ac>>2]|0;Ff=c[zc>>2]|0;f=c[(c[w>>2]|0)+16>>2]|0;if(!((d[(c[Bc>>2]|0)+27>>0]|0)>>>2&1))c[l>>2]=My(Gf,0,Ff,f)|0;else c[l>>2]=ff(Gf,0,Ff,f)|0;a[(c[w>>2]|0)+10>>0]=1;break};case 103:{c[Gc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(a[(c[Gc>>2]|0)+25>>0]|0){b[(c[w>>2]|0)+8>>1]=1;break d}f=c[Gc>>2]|0;do if(!(a[(c[Gc>>2]|0)+26>>0]|0)){Ff=c[Gc>>2]|0;if(c[f+32>>2]|0){c[Ec>>2]=c[c[Ff+32>>2]>>2];c[Fc>>2]=c[c[Ec>>2]>>2];c[l>>2]=zb[c[(c[Fc>>2]|0)+48>>2]&63](c[(c[Gc>>2]|0)+32>>2]|0,Dc)|0;Hz(c[k>>2]|0,c[Ec>>2]|0);break}c[l>>2]=Iz(Ff)|0;if(c[l>>2]|0)break c;if(a[(c[Gc>>2]|0)+25>>0]|0){b[(c[w>>2]|0)+8>>1]=1;break d}else{c[l>>2]=Ly(c[c[Gc>>2]>>2]|0,Dc)|0;break}}else{Ff=f+48|0;Gf=c[Ff+4>>2]|0;Hf=Dc;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}while(0);Ff=Dc;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;break};case 105:{c[Hc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Ic>>2]=c[c[Hc>>2]>>2];c[Jc>>2]=0;c[l>>2]=Cz(c[Ic>>2]|0,Jc)|0;a[(c[Hc>>2]|0)+25>>0]=c[Jc>>2];a[(c[Hc>>2]|0)+26>>0]=0;c[(c[Hc>>2]|0)+60>>2]=0;if((c[Jc>>2]|0)!=0?(c[(c[p>>2]|0)+8>>2]|0)>0:0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 104:{c[Kc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];a[(c[Kc>>2]|0)+25>>0]=1;c[(c[Kc>>2]|0)+60>>2]=0;if(c[c[Kc>>2]>>2]|0)Qk(c[c[Kc>>2]>>2]|0);break};case 107:case 106:{Ef=(c[k>>2]|0)+116|0;c[Ef>>2]=(c[Ef>>2]|0)+1;Ef=623;break};case 108:{Ef=623;break};case 5:{c[Lc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Mc>>2]=0;c[l>>2]=Lz(c[q>>2]|0,c[Lc>>2]|0,Mc)|0;Ef=631;break};case 7:case 6:{if(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2]|0)Ef=630;break};case 9:case 8:{Ef=630;break};case 110:case 109:{c[Nc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[Oc>>2]=c[c[Nc>>2]>>2];if(d[(c[p>>2]|0)+3>>0]&1){Hf=(c[k>>2]|0)+92|0;c[Hf>>2]=(c[Hf>>2]|0)+1}if(e[(c[I>>2]|0)+8>>1]&16384)f=Dd(c[I>>2]|0)|0;else f=0;c[l>>2]=f;if(!(c[l>>2]|0)){if(c[(c[Nc>>2]|0)+56>>2]|0){c[l>>2]=Mz(c[Nc>>2]|0,c[I>>2]|0)|0;break d}c[Qc>>2]=c[(c[I>>2]|0)+12>>2];c[Pc>>2]=c[(c[I>>2]|0)+16>>2];f=c[Qc>>2]|0;if(d[(c[p>>2]|0)+3>>0]&16)Ff=c[(c[Nc>>2]|0)+12>>2]|0;else Ff=0;c[l>>2]=Dz(c[Oc>>2]|0,c[Pc>>2]|0,f,((f|0)<0)<<31>>31,1216,0,0,c[(c[p>>2]|0)+12>>2]|0,Ff)|0;c[(c[Nc>>2]|0)+60>>2]=0}break};case 112:{c[Xc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Uc>>2]=c[c[Xc>>2]>>2];b[(c[w>>2]|0)+8>>1]=1;c[l>>2]=Iz(c[Xc>>2]|0)|0;if(c[l>>2]|0)break c;if(!(a[(c[Xc>>2]|0)+25>>0]|0)){Hf=Tc;c[Hf>>2]=0;c[Hf+4>>2]=0;c[l>>2]=Nz(c[q>>2]|0,c[Uc>>2]|0,Tc)|0;if(c[l>>2]|0)break c;Ff=Tc;Gf=c[Ff+4>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;b[(c[w>>2]|0)+8>>1]=4}break};case 111:{c[Yc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Zc>>2]=c[c[Yc>>2]>>2];c[_c>>2]=c[(c[Yc>>2]|0)+8>>2];b[_c+4>>1]=c[(c[p>>2]|0)+12>>2];a[_c+6>>0]=0;c[_c+8>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[l>>2]=Gw(c[Zc>>2]|0,_c,0,0,0,hf)|0;if((c[l>>2]|0)==0&(c[hf>>2]|0)==0)c[l>>2]=Ez(c[Zc>>2]|0)|0;c[(c[Yc>>2]|0)+60>>2]=0;break};case 116:case 115:case 114:case 113:{c[fd>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[ed>>2]=c[(c[fd>>2]|0)+8>>2];b[ed+4>>1]=c[(c[p>>2]|0)+16>>2];f=ed+6|0;if((d[c[p>>2]>>0]|0)<115)a[f>>0]=-1;else a[f>>0]=0;c[ed+8>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[ad>>2]=0;c[l>>2]=Oz(c[q>>2]|0,c[fd>>2]|0,ed,ad)|0;f=c[ad>>2]|0;if((d[c[p>>2]>>0]&1|0)==1)c[ad>>2]=0-f;else c[ad>>2]=f+1;if((c[ad>>2]|0)>0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 117:{c[id>>2]=0;c[jd>>2]=c[(c[q>>2]|0)+4>>2];while(1){if(!(c[jd>>2]|0))break;if((((c[(c[jd>>2]|0)+40>>2]|0)==-1108210269?((e[(c[jd>>2]|0)+88>>1]|0)>>>9&1|0)!=0:0)?((e[(c[jd>>2]|0)+88>>1]|0)>>>2&3|0)<2:0)?(c[(c[jd>>2]|0)+76>>2]|0)>=0:0)c[id>>2]=(c[id>>2]|0)+1;c[jd>>2]=c[(c[jd>>2]|0)+52>>2]}b[(c[w>>2]|0)+8>>1]=1;if((c[id>>2]|0)>1){c[l>>2]=6;a[(c[k>>2]|0)+86>>0]=2;break d}c[gd>>2]=c[(c[p>>2]|0)+12>>2];c[hd>>2]=0;c[l>>2]=Pz(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[gd>>2]<<4)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0,hd)|0;b[(c[w>>2]|0)+8>>1]=4;Gf=c[hd>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;if((c[l>>2]|0)==0&(c[hd>>2]|0)!=0){Qz(c[q>>2]|0,c[gd>>2]|0,c[hd>>2]|0,c[(c[p>>2]|0)+4>>2]|0);a[nc>>0]=(c[gd>>2]|0)+1}break};case 119:{c[kd>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(c[(c[kd>>2]|0)+56>>2]|0){Sz(c[q>>2]|0,c[(c[kd>>2]|0)+56>>2]|0);break d}else{c[l>>2]=Tz(c[c[kd>>2]>>2]|0)|0;break d}};case 118:{c[ld>>2]=0;c[l>>2]=Rz(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0,(c[(c[p>>2]|0)+12>>2]|0)!=0?ld:0)|0;if((c[(c[p>>2]|0)+12>>2]|0)!=0?(Hf=(c[k>>2]|0)+92|0,c[Hf>>2]=(c[Hf>>2]|0)+(c[ld>>2]|0),(c[(c[p>>2]|0)+12>>2]|0)>0):0){Gf=c[ld>>2]|0;Hf=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0)|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D}break};case 121:case 120:{c[nd>>2]=0;c[md>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4);if((d[c[p>>2]>>0]|0)==121)c[od>>2]=1;else c[od>>2]=2;c[l>>2]=yz(c[(c[md>>2]|0)+4>>2]|0,nd,c[od>>2]|0)|0;Gf=c[nd>>2]|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;break};case 123:{c[l>>2]=fs(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break};case 124:{Uz(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0);break};case 122:{c[rd>>2]=c[(c[p>>2]|0)+4>>2];c[sd>>2]=(c[rd>>2]|0)==1?14904:14928;c[qd>>2]=c[q>>2];c[qd+8>>2]=c[(c[p>>2]|0)+4>>2];c[qd+4>>2]=(c[k>>2]|0)+44;Hf=c[q>>2]|0;Ff=c[sd>>2]|0;Gf=c[(c[p>>2]|0)+16>>2]|0;c[g>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[rd>>2]<<4)>>2];c[g+4>>2]=Ff;c[g+8>>2]=Gf;c[pd>>2]=Te(Hf,31776,g)|0;if(!(c[pd>>2]|0))c[l>>2]=7;else{a[(c[q>>2]|0)+145>>0]=1;c[qd+12>>2]=0;c[l>>2]=kf(c[q>>2]|0,c[pd>>2]|0,6,qd,0)|0;if(!(c[l>>2]|0))c[l>>2]=c[qd+12>>2];Xb(c[q>>2]|0,c[pd>>2]|0);a[(c[q>>2]|0)+145>>0]=0}if(c[l>>2]|0)cd(c[q>>2]|0);if((c[l>>2]|0)==7){Ef=871;break a}break};case 126:{Wz(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0);break};case 127:{c[vd>>2]=c[(c[p>>2]|0)+8>>2];c[ud>>2]=Qe(c[q>>2]|0,(c[vd>>2]|0)+1<<2,0)|0;if(!(c[ud>>2]|0)){Ef=871;break a}c[wd>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[yd>>2]=0;while(1){f=c[yd>>2]|0;if((c[yd>>2]|0)>=(c[vd>>2]|0))break;Hf=Kd((c[jf>>2]|0)+(f*40|0)|0)|0;c[(c[ud>>2]|0)+(c[yd>>2]<<2)>>2]=Hf;c[yd>>2]=(c[yd>>2]|0)+1}c[(c[ud>>2]|0)+(f<<2)>>2]=0;c[td>>2]=Xz(c[(c[(c[q>>2]|0)+16>>2]|0)+(d[(c[p>>2]|0)+3>>0]<<4)+4>>2]|0,c[ud>>2]|0,c[vd>>2]|0,c[c[wd>>2]>>2]|0,xd)|0;Xb(c[q>>2]|0,c[ud>>2]|0);Gf=c[xd>>2]|0;Hf=c[wd>>2]|0;Ff=Hf;Gf=ZE(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;_d(c[jf>>2]|0);if(c[xd>>2]|0){if(!(c[td>>2]|0)){Ef=871;break a}Vd(c[jf>>2]|0,c[td>>2]|0,-1,1,13)|0}yk(c[jf>>2]|0,d[x>>0]|0)|0;break};case 125:{Vz(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0);break};case 128:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]&32|0)==0?(Yz(c[jf>>2]|0),(e[(c[jf>>2]|0)+8>>1]&32|0)==0):0){Ef=871;break a}Hf=c[I>>2]|0;Zz(c[c[jf>>2]>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0);break};case 129:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);if((e[(c[jf>>2]|0)+8>>1]&32|0)!=0?(_z(c[c[jf>>2]>>2]|0,zd)|0)!=0:0){Ef=zd;Xd((c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0)|0,c[Ef>>2]|0,c[Ef+4>>2]|0);Ef=16;break d}_d(c[jf>>2]|0);c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;Ef=16;break};case 130:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[y>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[Ad>>2]=c[(c[p>>2]|0)+16>>2];if((e[(c[jf>>2]|0)+8>>1]&32|0)==0?(Yz(c[jf>>2]|0),(e[(c[jf>>2]|0)+8>>1]&32|0)==0):0){Ef=871;break a}if((c[Ad>>2]|0)!=0?(Hf=c[y>>2]|0,c[Cd>>2]=$z(c[c[jf>>2]>>2]|0,c[Ad>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)|0,(c[Cd>>2]|0)!=0):0){c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}if((c[Ad>>2]|0)>=0){Hf=c[y>>2]|0;Zz(c[c[jf>>2]>>2]|0,c[Hf>>2]|0,c[Hf+4>>2]|0)}break};case 131:{c[Jd>>2]=c[(c[p>>2]|0)+16>>2];c[Fd>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(a[(c[p>>2]|0)+3>>0]|0){c[Od>>2]=c[(c[Jd>>2]|0)+20>>2];c[Gd>>2]=c[(c[k>>2]|0)+176>>2];while(1){if(!(c[Gd>>2]|0))break;if((c[(c[Gd>>2]|0)+24>>2]|0)==(c[Od>>2]|0))break;c[Gd>>2]=c[(c[Gd>>2]|0)+4>>2]}if(c[Gd>>2]|0)break d}if((c[(c[k>>2]|0)+184>>2]|0)>=(c[(c[q>>2]|0)+128>>2]|0)){c[l>>2]=1;pn((c[k>>2]|0)+44|0,c[q>>2]|0,31840,g);break d}i:do if(!(e[(c[Fd>>2]|0)+8>>1]&64)){c[Hd>>2]=(c[(c[Jd>>2]|0)+8>>2]|0)+(c[(c[Jd>>2]|0)+12>>2]|0);c[Nd>>2]=72+((c[Hd>>2]|0)*40|0)+(c[(c[Jd>>2]|0)+12>>2]<<2)+(c[(c[Jd>>2]|0)+16>>2]|0);Hf=c[Nd>>2]|0;c[Gd>>2]=se(c[q>>2]|0,Hf,((Hf|0)<0)<<31>>31)|0;if(!(c[Gd>>2]|0)){Ef=871;break a}Bd(c[Fd>>2]|0);b[(c[Fd>>2]|0)+8>>1]=64;c[c[Fd>>2]>>2]=c[Gd>>2];c[c[Gd>>2]>>2]=c[k>>2];c[(c[Gd>>2]|0)+60>>2]=c[Hd>>2];c[(c[Gd>>2]|0)+64>>2]=c[(c[Jd>>2]|0)+12>>2];c[(c[Gd>>2]|0)+44>>2]=c[n>>2];c[(c[Gd>>2]|0)+12>>2]=c[(c[k>>2]|0)+8>>2];c[(c[Gd>>2]|0)+52>>2]=c[(c[k>>2]|0)+28>>2];c[(c[Gd>>2]|0)+20>>2]=c[(c[k>>2]|0)+56>>2];c[(c[Gd>>2]|0)+40>>2]=c[(c[k>>2]|0)+36>>2];c[(c[Gd>>2]|0)+8>>2]=c[(c[k>>2]|0)+4>>2];c[(c[Gd>>2]|0)+48>>2]=c[(c[k>>2]|0)+32>>2];c[(c[Gd>>2]|0)+24>>2]=c[(c[Jd>>2]|0)+20>>2];c[(c[Gd>>2]|0)+16>>2]=c[(c[k>>2]|0)+200>>2];c[(c[Gd>>2]|0)+56>>2]=c[(c[k>>2]|0)+196>>2];c[Ld>>2]=(c[Gd>>2]|0)+72+((c[(c[Gd>>2]|0)+60>>2]|0)*40|0);c[Md>>2]=(c[Gd>>2]|0)+72;while(1){if((c[Md>>2]|0)==(c[Ld>>2]|0))break i;b[(c[Md>>2]|0)+8>>1]=128;c[(c[Md>>2]|0)+32>>2]=c[q>>2];c[Md>>2]=(c[Md>>2]|0)+40}}else c[Gd>>2]=c[c[Fd>>2]>>2];while(0);Ff=(c[k>>2]|0)+184|0;c[Ff>>2]=(c[Ff>>2]|0)+1;c[(c[Gd>>2]|0)+4>>2]=c[(c[k>>2]|0)+176>>2];Ff=r;Gf=c[Ff+4>>2]|0;Hf=(c[Gd>>2]|0)+32|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;c[(c[Gd>>2]|0)+68>>2]=c[(c[k>>2]|0)+92>>2];c[(c[k>>2]|0)+92>>2]=0;c[(c[k>>2]|0)+176>>2]=c[Gd>>2];Hf=(c[Gd>>2]|0)+72+ -40|0;c[$c>>2]=Hf;c[(c[k>>2]|0)+8>>2]=Hf;c[(c[k>>2]|0)+28>>2]=c[(c[Gd>>2]|0)+60>>2];c[(c[k>>2]|0)+36>>2]=c[(c[Gd>>2]|0)+64>>2]&65535;c[(c[k>>2]|0)+56>>2]=(c[$c>>2]|0)+(((c[(c[k>>2]|0)+28>>2]|0)+1|0)*40|0);Hf=c[c[Jd>>2]>>2]|0;c[u>>2]=Hf;c[(c[k>>2]|0)+4>>2]=Hf;c[(c[k>>2]|0)+32>>2]=c[(c[Jd>>2]|0)+4>>2];c[(c[k>>2]|0)+200>>2]=(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[k>>2]|0)+36>>2]<<2);c[(c[k>>2]|0)+196>>2]=c[(c[Jd>>2]|0)+16>>2];c[n>>2]=-1;_E(c[(c[k>>2]|0)+200>>2]|0,0,c[(c[k>>2]|0)+196>>2]|0)|0;break};case 132:{c[Pd>>2]=c[(c[k>>2]|0)+176>>2];c[Qd>>2]=(c[(c[Pd>>2]|0)+12>>2]|0)+(((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[(c[Pd>>2]|0)+8>>2]|0)+((c[(c[Pd>>2]|0)+44>>2]|0)*20|0)+4>>2]|0)|0)*40|0);fn(c[w>>2]|0,c[Qd>>2]|0,4096);break};case 134:{Ff=c[p>>2]|0;if(c[(c[q>>2]|0)+24>>2]&16777216){Gf=c[Ff+8>>2]|0;Hf=(c[q>>2]|0)+512|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break d}f=c[(c[p>>2]|0)+8>>2]|0;Gf=((f|0)<0)<<31>>31;if(c[Ff+4>>2]|0){Hf=(c[q>>2]|0)+504|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,f|0,Gf|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break d}else{Hf=(c[k>>2]|0)+144|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,f|0,Gf|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;break d}};case 135:if(c[(c[p>>2]|0)+4>>2]|0){Hf=(c[q>>2]|0)+504|0;if(!((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0))break d;Hf=(c[q>>2]|0)+512|0;if(!((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0))break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d}else{Hf=(c[k>>2]|0)+144|0;if(!((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0))break d;Hf=(c[q>>2]|0)+512|0;if(!((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0))break d;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break d};case 136:{if(c[(c[k>>2]|0)+176>>2]|0){c[Rd>>2]=c[(c[k>>2]|0)+176>>2];while(1){if(!(c[(c[Rd>>2]|0)+4>>2]|0))break;c[Rd>>2]=c[(c[Rd>>2]|0)+4>>2]}c[jf>>2]=(c[(c[Rd>>2]|0)+12>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0)}else c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Mp(c[jf>>2]|0)|0;c[I>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);Mp(c[I>>2]|0)|0;Gf=c[jf>>2]|0;f=c[Gf+4>>2]|0;Hf=c[I>>2]|0;Ff=c[Hf+4>>2]|0;if((f|0)<(Ff|0)|((f|0)==(Ff|0)?(c[Gf>>2]|0)>>>0<(c[Hf>>2]|0)>>>0:0)){Ff=c[I>>2]|0;Gf=c[Ff+4>>2]|0;Hf=c[jf>>2]|0;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf}break};case 137:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Hf=c[jf>>2]|0;Gf=c[Hf+4>>2]|0;if((Gf|0)>0|(Gf|0)==0&(c[Hf>>2]|0)>>>0>0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 138:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Gf=c[(c[p>>2]|0)+12>>2]|0;Hf=c[jf>>2]|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;if((c[(c[jf>>2]|0)+4>>2]|0)<0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 139:{c[jf>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);Gf=c[(c[p>>2]|0)+12>>2]|0;Hf=c[jf>>2]|0;Ff=Hf;Gf=bF(c[Ff>>2]|0,c[Ff+4>>2]|0,Gf|0,((Gf|0)<0)<<31>>31|0)|0;c[Hf>>2]=Gf;c[Hf+4>>2]=D;Hf=c[jf>>2]|0;if((c[Hf>>2]|0)==0&(c[Hf+4>>2]|0)==0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;break};case 10:{c[Yd>>2]=d[(c[p>>2]|0)+3>>0];c[$d>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);c[Zd>>2]=c[(c[k>>2]|0)+12>>2];c[Td>>2]=0;while(1){if((c[Td>>2]|0)>=(c[Yd>>2]|0))break;c[(c[Zd>>2]|0)+(c[Td>>2]<<2)>>2]=c[$d>>2];c[Td>>2]=(c[Td>>2]|0)+1;c[$d>>2]=(c[$d>>2]|0)+40}c[Ud+4>>2]=c[(c[p>>2]|0)+16>>2];Hf=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0)|0;c[Wd>>2]=Hf;c[Ud+8>>2]=Hf;Hf=(c[Wd>>2]|0)+12|0;c[Hf>>2]=(c[Hf>>2]|0)+1;en(Sd,c[q>>2]|0,1);c[Ud>>2]=Sd;c[Ud+20>>2]=0;c[Ud+12>>2]=c[k>>2];c[Ud+16>>2]=c[n>>2];a[Ud+24>>0]=0;vb[c[(c[Ud+4>>2]|0)+16>>2]&63](Ud,c[Yd>>2]|0,c[Zd>>2]|0);if(c[Ud+20>>2]|0){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=Ed(Sd)|0;pn(Gf,Hf,1200,g);c[l>>2]=c[Ud+20>>2]}if((a[Ud+24>>0]|0)!=0?(c[Td>>2]=c[(c[p>>2]|0)+ -20+4>>2],(c[Td>>2]|0)!=0):0)Xd((c[$c>>2]|0)+((c[Td>>2]|0)*40|0)|0,1,0);Bd(Sd);break};case 140:{c[ae>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[l>>2]=hn(c[ae>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=Ed(c[ae>>2]|0)|0;pn(Gf,Hf,1200,g)}yk(c[ae>>2]|0,d[x>>0]|0)|0;if(az(c[ae>>2]|0)|0){Ef=870;break c}break};case 12:{c[ce>>2]=c[(c[p>>2]|0)+12>>2];c[de>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2];c[be>>2]=Sb(c[de>>2]|0)|0;c[ee>>2]=Vc(c[be>>2]|0)|0;if((c[ce>>2]|0)==-1)c[ce>>2]=c[ee>>2];if(!(aA(c[be>>2]|0)|0))c[ce>>2]=c[ee>>2];c[fe>>2]=ug(c[be>>2]|0,1)|0;do if((c[ce>>2]|0)==5){if((Mb(c[fe>>2]|0)|0)!=0?(bA(c[be>>2]|0)|0)!=0:0)break;c[ce>>2]=c[ee>>2]}while(0);do if((c[ce>>2]|0)!=(c[ee>>2]|0)?(c[ee>>2]|0)==5|(c[ce>>2]|0)==5:0){if((a[(c[q>>2]|0)+62>>0]|0)!=0?(c[(c[q>>2]|0)+152>>2]|0)<=1:0){do if((c[ee>>2]|0)==5){c[l>>2]=cA(c[be>>2]|0)|0;if(c[l>>2]|0)break;dA(c[be>>2]|0,c[ce>>2]|0)|0}else{if((c[ee>>2]|0)!=4)break;dA(c[be>>2]|0,2)|0}while(0);if(c[l>>2]|0)break;c[l>>2]=dd(c[de>>2]|0,(c[ce>>2]|0)==5?2:1)|0;break}c[l>>2]=1;Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=(c[ce>>2]|0)==5?31936:31944;pn(Gf,Hf,31880,g);break d}while(0);if(c[l>>2]|0)c[ce>>2]=c[ee>>2];c[ce>>2]=dA(c[be>>2]|0,c[ce>>2]|0)|0;c[w>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+8>>2]|0)*40|0);b[(c[w>>2]|0)+8>>1]=2562;Hf=Rt(c[ce>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=Hf;Hf=Mb(c[(c[w>>2]|0)+16>>2]|0)|0;c[(c[w>>2]|0)+12>>2]=Hf;a[(c[w>>2]|0)+10>>0]=1;yk(c[w>>2]|0,d[x>>0]|0)|0;break};case 11:{c[ie>>2]=0;c[ie+8>>2]=-1;c[ie+4>>2]=-1;c[l>>2]=Zf(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,ie+4|0,ie+8|0)|0;if((c[l>>2]|0)==5){c[l>>2]=0;c[ie>>2]=1}c[he>>2]=0;c[je>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);while(1){if((c[he>>2]|0)>=3)break d;Hf=c[ie+(c[he>>2]<<2)>>2]|0;Xd(c[je>>2]|0,Hf,((Hf|0)<0)<<31>>31);c[he>>2]=(c[he>>2]|0)+1;c[je>>2]=(c[je>>2]|0)+40}};case 141:{c[ke>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2];c[l>>2]=fA(c[ke>>2]|0)|0;if((c[l>>2]|0)==101){c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;c[l>>2]=0}break};case 142:if(c[(c[p>>2]|0)+4>>2]|0){Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-33|32;break d}else{gf(c[q>>2]|0);break d};case 13:{c[l>>2]=eA((c[k>>2]|0)+44|0,c[q>>2]|0)|0;break};case 143:{a[oe>>0]=c[(c[p>>2]|0)+12>>2];if((d[oe>>0]|0)==0?0!=(c[(c[q>>2]|0)+24>>2]&16384|0):0)break d;c[me>>2]=c[(c[p>>2]|0)+4>>2];c[l>>2]=gA(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[me>>2]<<4)+4>>2]|0,c[(c[p>>2]|0)+8>>2]|0,a[oe>>0]|0)|0;if((c[l>>2]&255|0)==6){c[le>>2]=c[(c[p>>2]|0)+16>>2];Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=c[le>>2];pn(Gf,Hf,31952,g)}break};case 145:{c[l>>2]=iA(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0,(c[k>>2]|0)+44|0)|0;break};case 146:{Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13|8;c[l>>2]=jA(c[q>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13;break};case 144:{c[pe>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=hA(c[q>>2]|0,c[pe>>2]|0)|0;if(c[pe>>2]|0)Hz(c[k>>2]|0,c[(c[pe>>2]|0)+8>>2]|0);break};case 147:{c[re>>2]=0;c[qe>>2]=0;c[ue>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[te>>2]=c[c[ue>>2]>>2];c[l>>2]=zb[c[(c[te>>2]|0)+24>>2]&63](c[ue>>2]|0,qe)|0;Hz(c[k>>2]|0,c[ue>>2]|0);if(!(c[l>>2]|0)){c[c[qe>>2]>>2]=c[ue>>2];c[re>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,0,-1,0)|0;if(c[re>>2]|0){c[(c[re>>2]|0)+32>>2]=c[qe>>2];break d}else{a[(c[q>>2]|0)+64>>0]=1;ub[c[(c[te>>2]|0)+28>>2]&31](c[qe>>2]|0)|0;break d}}break};case 14:{c[Fe>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[Ee>>2]=(c[Fe>>2]|0)+40;c[ve>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[ye>>2]=c[(c[ve>>2]|0)+32>>2];c[Ce>>2]=c[c[ye>>2]>>2];c[xe>>2]=c[c[Ce>>2]>>2];c[Ae>>2]=c[c[Ee>>2]>>2];c[ze>>2]=c[c[Fe>>2]>>2];c[we>>2]=0;c[Be>>2]=c[(c[k>>2]|0)+12>>2];c[De>>2]=0;while(1){if((c[De>>2]|0)>=(c[Ae>>2]|0))break;c[(c[Be>>2]|0)+(c[De>>2]<<2)>>2]=(c[Ee>>2]|0)+(((c[De>>2]|0)+1|0)*40|0);c[De>>2]=(c[De>>2]|0)+1}Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13|4;c[l>>2]=Ab[c[(c[xe>>2]|0)+32>>2]&15](c[ye>>2]|0,c[ze>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[Ae>>2]|0,c[Be>>2]|0)|0;Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13;Hz(c[k>>2]|0,c[Ce>>2]|0);if(!(c[l>>2]|0))c[we>>2]=ub[c[(c[xe>>2]|0)+40>>2]&31](c[ye>>2]|0)|0;if(c[we>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;a[(c[ve>>2]|0)+25>>0]=0;break};case 148:{c[Ie>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Ge>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);if(a[(c[Ie>>2]|0)+25>>0]|0){_d(c[Ge>>2]|0);break d}c[Je>>2]=c[c[(c[Ie>>2]|0)+32>>2]>>2];c[Ke>>2]=c[c[Je>>2]>>2];c[He+0>>2]=0;c[He+4>>2]=0;c[He+8>>2]=0;c[He+12>>2]=0;c[He+16>>2]=0;c[He+20>>2]=0;c[He+24>>2]=0;c[He>>2]=c[Ge>>2];b[(c[Ge>>2]|0)+8>>1]=e[(c[Ge>>2]|0)+8>>1]&-16896|1;c[l>>2]=pb[c[(c[Ke>>2]|0)+44>>2]&31](c[(c[Ie>>2]|0)+32>>2]|0,He,c[(c[p>>2]|0)+8>>2]|0)|0;Hz(c[k>>2]|0,c[Je>>2]|0);if(c[He+20>>2]|0)c[l>>2]=c[He+20>>2];yk(c[Ge>>2]|0,d[x>>0]|0)|0;if(az(c[Ge>>2]|0)|0){Ef=870;break c}break};case 150:{c[Le>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[Me>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0);c[l>>2]=yk(c[Me>>2]|0,1)|0;if(!(c[l>>2]|0)){c[l>>2]=zb[c[(c[c[Le>>2]>>2]|0)+76>>2]&63](c[Le>>2]|0,c[(c[Me>>2]|0)+16>>2]|0)|0;Hz(c[k>>2]|0,c[Le>>2]|0);Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-33}break};case 149:{c[Ne>>2]=0;c[Re>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[Re>>2]|0)+25>>0]|0)){c[Se>>2]=c[c[(c[Re>>2]|0)+32>>2]>>2];c[Oe>>2]=c[c[Se>>2]>>2];Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13|4;c[l>>2]=ub[c[(c[Oe>>2]|0)+36>>2]&31](c[(c[Re>>2]|0)+32>>2]|0)|0;Hf=(c[k>>2]|0)+88|0;b[Hf>>1]=b[Hf>>1]&-13;Hz(c[k>>2]|0,c[Se>>2]|0);if(!(c[l>>2]|0))c[Ne>>2]=ub[c[(c[Oe>>2]|0)+40>>2]&31](c[(c[Re>>2]|0)+32>>2]|0)|0;if(c[Ne>>2]|0)Ef=16;else{c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;Ef=16}}break};case 15:{c[We>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[Ve>>2]=c[c[We>>2]>>2];c[Xe>>2]=c[(c[p>>2]|0)+8>>2];if(c[(c[Ve>>2]|0)+52>>2]|0){a[Ze>>0]=a[(c[q>>2]|0)+68>>0]|0;c[Ye>>2]=c[(c[k>>2]|0)+12>>2];c[$e>>2]=(c[$c>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*40|0);c[_e>>2]=0;while(1){if((c[_e>>2]|0)>=(c[Xe>>2]|0))break;c[(c[Ye>>2]|0)+(c[_e>>2]<<2)>>2]=c[$e>>2];c[$e>>2]=(c[$e>>2]|0)+40;c[_e>>2]=(c[_e>>2]|0)+1}a[(c[q>>2]|0)+68>>0]=a[(c[p>>2]|0)+3>>0]|0;c[l>>2]=xb[c[(c[Ve>>2]|0)+52>>2]&7](c[We>>2]|0,c[Xe>>2]|0,c[Ye>>2]|0,Ue)|0;a[(c[q>>2]|0)+68>>0]=a[Ze>>0]|0;Hz(c[k>>2]|0,c[We>>2]|0);if((c[l>>2]|0)==0?(c[(c[p>>2]|0)+4>>2]|0)!=0:0){Gf=Ue;Ff=c[Gf>>2]|0;Gf=c[Gf+4>>2]|0;Hf=r;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf;Hf=(c[q>>2]|0)+32|0;c[Hf>>2]=Ff;c[Hf+4>>2]=Gf}if((c[l>>2]&255|0)==19?(d[(c[(c[p>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[p>>2]|0)+3>>0]|0)==4){c[l>>2]=0;break d}if((d[(c[p>>2]|0)+3>>0]|0)==5)f=2;else f=d[(c[p>>2]|0)+3>>0]|0;a[(c[k>>2]|0)+86>>0]=f;break d}Hf=(c[k>>2]|0)+92|0;c[Hf>>2]=(c[Hf>>2]|0)+1}break};case 153:{if(c[(c[p>>2]|0)+8>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;if((c[(c[q>>2]|0)+172>>2]|0)!=0?((e[(c[k>>2]|0)+88>>1]|0)>>>11&1|0)==0:0){if(c[(c[p>>2]|0)+16>>2]|0)f=c[(c[p>>2]|0)+16>>2]|0;else f=c[(c[k>>2]|0)+168>>2]|0;c[af>>2]=f;if(f){c[df>>2]=lA(c[k>>2]|0,c[af>>2]|0)|0;sb[c[(c[q>>2]|0)+172>>2]&7](c[(c[q>>2]|0)+176>>2]|0,c[df>>2]|0);Xb(c[q>>2]|0,c[df>>2]|0)}}break};case 151:{Gf=Wc(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=0;break};case 152:{c[bf>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<4)+4>>2];c[cf>>2]=0;if((c[(c[p>>2]|0)+12>>2]|0)!=0?(c[cf>>2]=Wc(c[bf>>2]|0)|0,(c[cf>>2]|0)>>>0<(c[(c[p>>2]|0)+12>>2]|0)>>>0):0)c[cf>>2]=c[(c[p>>2]|0)+12>>2];Gf=kA(c[bf>>2]|0,c[cf>>2]|0)|0;Hf=c[w>>2]|0;c[Hf>>2]=Gf;c[Hf+4>>2]=((Gf|0)<0)<<31>>31;break};default:{}}while(0);do if((Ef|0)==28){Ef=0;if(c[(c[p>>2]|0)+4>>2]|0){Ef=33;break c}if(!(c[(c[k>>2]|0)+176>>2]|0)){Ef=33;break c}c[ef>>2]=c[(c[k>>2]|0)+176>>2];c[(c[k>>2]|0)+176>>2]=c[(c[ef>>2]|0)+4>>2];Ff=(c[k>>2]|0)+184|0;c[Ff>>2]=(c[Ff>>2]|0)+ -1;Zy(c[q>>2]|0,c[(c[k>>2]|0)+92>>2]|0);c[n>>2]=_y(c[ef>>2]|0)|0;Ff=(c[q>>2]|0)+32|0;Gf=c[Ff+4>>2]|0;Hf=r;c[Hf>>2]=c[Ff>>2];c[Hf+4>>2]=Gf;if((c[(c[p>>2]|0)+8>>2]|0)==4)c[n>>2]=(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)-1;c[u>>2]=c[(c[k>>2]|0)+4>>2];c[$c>>2]=c[(c[k>>2]|0)+8>>2]}else if((Ef|0)==57){Ef=0;b[(c[w>>2]|0)+8>>1]=2562;c[(c[w>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[(c[w>>2]|0)+12>>2]=c[(c[p>>2]|0)+4>>2];a[(c[w>>2]|0)+10>>0]=a[x>>0]|0}else if((Ef|0)==453){Ef=0;if((e[(c[k>>2]|0)+88>>1]|0)>>>5&1){c[l>>2]=516;break}c[yf>>2]=0;c[xf>>2]=0;c[uf>>2]=c[(c[p>>2]|0)+8>>2];c[zf>>2]=c[(c[p>>2]|0)+12>>2];c[Af>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(c[zf>>2]<<4);c[vf>>2]=c[(c[Af>>2]|0)+4>>2];if((d[c[p>>2]>>0]|0)==55){c[wf>>2]=1;if((d[(c[(c[Af>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[k>>2]|0)+87>>0]|0))a[(c[k>>2]|0)+87>>0]=a[(c[(c[Af>>2]|0)+12>>2]|0)+76>>0]|0}else c[wf>>2]=0;if((d[(c[p>>2]|0)+3>>0]&2|0)!=0?(c[I>>2]=(c[$c>>2]|0)+((c[uf>>2]|0)*40|0),Mp(c[I>>2]|0)|0,c[uf>>2]=c[c[I>>2]>>2],(c[uf>>2]|0)<2):0){Ef=461;break c}f=c[p>>2]|0;if((a[(c[p>>2]|0)+1>>0]|0)!=-6){if((a[f+1>>0]|0)==-14)c[yf>>2]=c[(c[p>>2]|0)+16>>2]}else{c[xf>>2]=c[f+16>>2];c[yf>>2]=(e[(c[xf>>2]|0)+6>>1]|0)+(e[(c[xf>>2]|0)+8>>1]|0)}c[tf>>2]=vz(c[k>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[yf>>2]|0,c[zf>>2]|0,1)|0;if(!(c[tf>>2]|0)){Ef=871;break a}a[(c[tf>>2]|0)+25>>0]=1;Hf=(c[tf>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-9|8;c[(c[tf>>2]|0)+28>>2]=c[uf>>2];c[l>>2]=wz(c[vf>>2]|0,c[uf>>2]|0,c[wf>>2]|0,c[xf>>2]|0,c[c[tf>>2]>>2]|0)|0;c[(c[tf>>2]|0)+8>>2]=c[xf>>2];xz(c[c[tf>>2]>>2]|0,d[(c[p>>2]|0)+3>>0]&1);Hf=(c[tf>>2]|0)+27|0;a[Hf>>0]=a[Hf>>0]&-5|((a[(c[p>>2]|0)+1>>0]|0)!=-6&1)<<2&255}else if((Ef|0)==623){Ef=0;c[Cf>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Bf>>2]=1;f=c[Cf>>2]|0;if(c[(c[Cf>>2]|0)+56>>2]|0)c[l>>2]=Jz(f,Bf)|0;else{c[Df>>2]=c[f>>2];c[l>>2]=Kz(c[Df>>2]|0,Bf)|0;a[(c[Cf>>2]|0)+26>>0]=0;c[(c[Cf>>2]|0)+60>>2]=0}a[(c[Cf>>2]|0)+25>>0]=c[Bf>>2];if(c[Bf>>2]|0)c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1}else if((Ef|0)==630){c[Lc>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+4>>2]<<2)>>2];c[Mc>>2]=c[(c[p>>2]|0)+12>>2];c[l>>2]=zb[c[(c[p>>2]|0)+16>>2]&63](c[c[Lc>>2]>>2]|0,Mc)|0;Ef=631}while(0);do if((Ef|0)==631){c[(c[Lc>>2]|0)+60>>2]=0;Ef=(c[Lc>>2]|0)+25|0;if(!(c[Mc>>2]|0)){a[Ef>>0]=0;c[n>>2]=(c[(c[p>>2]|0)+8>>2]|0)-1;Ef=(c[k>>2]|0)+108+(d[(c[p>>2]|0)+3>>0]<<2)|0;c[Ef>>2]=(c[Ef>>2]|0)+1;Ef=16;break}else{a[Ef>>0]=1;Ef=16;break}}while(0);if((Ef|0)==16){Ef=0;if(c[(c[q>>2]|0)+240>>2]|0)break b;if(((c[(c[q>>2]|0)+292>>2]|0)!=0?(c[o>>2]|0)>>>0>=(c[ba>>2]|0)>>>0:0)?(c[ba>>2]=(c[o>>2]|0)+(c[(c[q>>2]|0)+300>>2]|0)-(((c[o>>2]|0)>>>0)%((c[(c[q>>2]|0)+300>>2]|0)>>>0)|0),(ub[c[(c[q>>2]|0)+292>>2]&31](c[(c[q>>2]|0)+296>>2]|0)|0)!=0):0){Ef=20;break}}c[n>>2]=(c[n>>2]|0)+1}switch(Ef|0){case 20:{c[l>>2]=9;break a};case 33:{c[(c[k>>2]|0)+80>>2]=c[(c[p>>2]|0)+4>>2];a[(c[k>>2]|0)+86>>0]=c[(c[p>>2]|0)+8>>2];c[(c[k>>2]|0)+76>>2]=c[n>>2];if(c[(c[k>>2]|0)+80>>2]|0){if(a[(c[p>>2]|0)+3>>0]|0)c[j>>2]=c[31264+((d[(c[p>>2]|0)+3>>0]|0)-1<<2)>>2];else c[j>>2]=0;c[s>>2]=31328;if((c[j>>2]|0)!=0?(c[(c[p>>2]|0)+16>>2]|0)!=0:0){Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;Ff=c[(c[p>>2]|0)+16>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=Ff;pn(Gf,Hf,31352,g)}else Ef=40;do if((Ef|0)==40){u=(c[k>>2]|0)+44|0;t=c[q>>2]|0;if(c[(c[p>>2]|0)+16>>2]|0){c[g>>2]=c[(c[p>>2]|0)+16>>2];pn(u,t,1200,g);break}else{c[g>>2]=c[j>>2];pn(u,t,31384,g);break}}while(0);Gf=c[(c[p>>2]|0)+4>>2]|0;Hf=c[s>>2]|0;f=c[(c[k>>2]|0)+168>>2]|0;Ff=c[(c[k>>2]|0)+44>>2]|0;c[g>>2]=c[n>>2];c[g+4>>2]=f;c[g+8>>2]=Ff;tc(Gf,Hf,g)}c[l>>2]=$y(c[k>>2]|0)|0;if((c[l>>2]|0)==5){c[l>>2]=5;c[(c[k>>2]|0)+80>>2]=5;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}else{c[l>>2]=(c[(c[k>>2]|0)+80>>2]|0)!=0?1:101;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}};case 76:{c[l>>2]=9;break a};case 79:{c[(c[k>>2]|0)+72>>2]=(c[(c[k>>2]|0)+72>>2]|0)+2|1;Hf=(c[$c>>2]|0)+((c[(c[p>>2]|0)+4>>2]|0)*40|0)|0;c[(c[k>>2]|0)+20>>2]=Hf;c[lf>>2]=Hf;c[mf>>2]=0;while(1){if((c[mf>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0))break;if((e[(c[lf>>2]|0)+((c[mf>>2]|0)*40|0)+8>>1]&4096|0)!=0?(Ak((c[lf>>2]|0)+((c[mf>>2]|0)*40|0)|0)|0)!=0:0){Ef=871;break a}dz((c[lf>>2]|0)+((c[mf>>2]|0)*40|0)|0)|0;c[mf>>2]=(c[mf>>2]|0)+1}if(a[(c[q>>2]|0)+64>>0]|0){Ef=871;break a}c[(c[k>>2]|0)+76>>2]=(c[n>>2]|0)+1;c[l>>2]=100;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0};case 167:{c[l>>2]=20;break};case 381:{c[(c[k>>2]|0)+76>>2]=c[n>>2];a[(c[q>>2]|0)+62>>0]=0;c[l>>2]=5;c[(c[k>>2]|0)+80>>2]=5;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0};case 409:{if(!(c[lb>>2]|0)){Hf=bz(c[k>>2]|0,1)|0;c[l>>2]=Hf;if(Hf){Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}a[(c[q>>2]|0)+62>>0]=c[jb>>2];if(($y(c[k>>2]|0)|0)==5){c[(c[k>>2]|0)+76>>2]=c[n>>2];a[(c[q>>2]|0)+62>>0]=1-(c[jb>>2]|0);c[l>>2]=5;c[(c[k>>2]|0)+80>>2]=5;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}}else{Ik(c[q>>2]|0,516);a[(c[q>>2]|0)+62>>0]=1}Jk(c[q>>2]|0);if(!(c[(c[k>>2]|0)+80>>2]|0)){c[l>>2]=101;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}else{c[l>>2]=1;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}};case 422:{c[l>>2]=8;break};case 425:{c[(c[k>>2]|0)+76>>2]=c[n>>2];c[l>>2]=5;c[(c[k>>2]|0)+80>>2]=5;Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0};case 461:{c[l>>2]=kj(72320)|0;break};case 557:{c[l>>2]=13;break};case 566:{c[l>>2]=13;break};case 869:{Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0};case 870:{pn((c[k>>2]|0)+44|0,c[q>>2]|0,1176,g);c[l>>2]=18;break a}}if(a[(c[q>>2]|0)+64>>0]|0)c[l>>2]=7;if((c[l>>2]|0)==3082)break a;Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=ge(c[l>>2]|0)|0;pn(Gf,Hf,1200,g);break a}while(0);c[l>>2]=9;c[(c[k>>2]|0)+80>>2]=c[l>>2];Gf=(c[k>>2]|0)+44|0;Hf=c[q>>2]|0;c[g>>2]=ge(c[l>>2]|0)|0;pn(Gf,Hf,1200,g)}while(0);if((Ef|0)==871){a[(c[q>>2]|0)+64>>0]=1;pn((c[k>>2]|0)+44|0,c[q>>2]|0,5400,g);c[l>>2]=7}c[(c[k>>2]|0)+80>>2]=c[l>>2];Hf=c[l>>2]|0;Ff=c[(c[k>>2]|0)+168>>2]|0;Gf=c[(c[k>>2]|0)+44>>2]|0;c[g>>2]=c[n>>2];c[g+4>>2]=Ff;c[g+8>>2]=Gf;tc(Hf,31984,g);$y(c[k>>2]|0)|0;if((c[l>>2]|0)==3082)a[(c[q>>2]|0)+64>>0]=1;c[l>>2]=1;if((d[nc>>0]|0)<=0){Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}as(c[q>>2]|0,(d[nc>>0]|0)-1|0);Hf=r;f=Hf;f=c[f>>2]|0;Hf=Hf+4|0;Hf=c[Hf>>2]|0;Gf=c[q>>2]|0;Gf=Gf+32|0;Ff=Gf;c[Ff>>2]=f;Gf=Gf+4|0;c[Gf>>2]=Hf;Gf=c[o>>2]|0;Hf=c[k>>2]|0;Hf=Hf+108|0;Hf=Hf+16|0;Ff=c[Hf>>2]|0;Gf=Ff+Gf|0;c[Hf>>2]=Gf;Hf=c[l>>2]|0;i=m;return Hf|0}function Vy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;g=b+16|0;d=b+12|0;h=b+8|0;e=b+4|0;f=b;c[g>>2]=a;c[d>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(c[f>>2]=Xy(Sb(c[e>>2]|0)|0)|0,((c[f>>2]|0)>0?(c[(c[g>>2]|0)+212>>2]|0)!=0:0)&(c[d>>2]|0)==0):0)c[d>>2]=xb[c[(c[g>>2]|0)+212>>2]&7](c[(c[g>>2]|0)+216>>2]|0,c[g>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0,c[f>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+1}i=b;return c[d>>2]|0}function Wy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;h=d+12|0;c[g>>2]=b;c[f>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[g>>2]|0)+80>>2];b=c[f>>2]|0;if(!(c[(c[g>>2]|0)+44>>2]|0)){Nc(b,c[e>>2]|0);b=c[e>>2]|0;i=d;return b|0}a[h>>0]=a[b+64>>0]|0;kh();if(!(c[(c[f>>2]|0)+232>>2]|0)){b=rf(c[f>>2]|0)|0;c[(c[f>>2]|0)+232>>2]=b}sf(c[(c[f>>2]|0)+232>>2]|0,-1,c[(c[g>>2]|0)+44>>2]|0,1,-1);lh();a[(c[f>>2]|0)+64>>0]=a[h>>0]|0;c[(c[f>>2]|0)+52>>2]=c[e>>2];b=c[e>>2]|0;i=d;return b|0}function Xy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Yy(c[(c[d>>2]|0)+208>>2]|0)|0;i=b;return a|0}function Yy(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=0;if(!(c[e>>2]|0)){e=c[d>>2]|0;i=b;return e|0}c[d>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;e=c[d>>2]|0;i=b;return e|0}function Zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+80>>2]=c[e>>2];a=(c[f>>2]|0)+84|0;c[a>>2]=(c[a>>2]|0)+(c[e>>2]|0);i=d;return}function _y(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+48>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+12>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+40>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+68>>2];i=d;return c[(c[b>>2]|0)+44>>2]|0}function $y(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;k=f+24|0;j=f+20|0;o=f+16|0;h=f+12|0;n=f+8|0;g=f+4|0;l=f;c[j>>2]=b;c[h>>2]=c[c[j>>2]>>2];if(a[(c[c[j>>2]>>2]|0)+64>>0]|0)c[(c[j>>2]|0)+80>>2]=7;if(c[(c[j>>2]|0)+200>>2]|0)_E(c[(c[j>>2]|0)+200>>2]|0,0,c[(c[j>>2]|0)+196>>2]|0)|0;OC(c[j>>2]|0);if((c[(c[j>>2]|0)+40>>2]|0)!=-1108210269){c[k>>2]=0;b=c[k>>2]|0;i=f;return b|0}if((c[(c[j>>2]|0)+76>>2]|0)>=0?((e[(c[j>>2]|0)+88>>1]|0)>>>9&1|0)!=0:0){c[g>>2]=0;c[n>>2]=c[(c[j>>2]|0)+80>>2]&255;if((c[n>>2]|0)==7|(c[n>>2]|0)==10|(c[n>>2]|0)==9)b=1;else b=(c[n>>2]|0)==13;c[l>>2]=b&1;do if((c[l>>2]|0)!=0?(c[n>>2]|0)!=9?1:((e[(c[j>>2]|0)+88>>1]|0)>>>8&1|0)==0:0){if((c[n>>2]|0)==7|(c[n>>2]|0)==13?((e[(c[j>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){c[g>>2]=2;break}Ik(c[h>>2]|0,516);Jk(c[h>>2]|0);a[(c[h>>2]|0)+62>>0]=1}while(0);if(!(c[(c[j>>2]|0)+80>>2]|0))bz(c[j>>2]|0,0)|0;if((c[(c[h>>2]|0)+304>>2]|0)>0?(c[(c[h>>2]|0)+328>>2]|0)==0:0)m=38;else if((d[(c[h>>2]|0)+62>>0]|0)!=0?(c[(c[h>>2]|0)+156>>2]|0)==(((e[(c[j>>2]|0)+88>>1]|0)>>>8&1|0)==0|0):0){if((c[(c[j>>2]|0)+80>>2]|0)!=0?(c[l>>2]|0)!=0?1:(d[(c[j>>2]|0)+86>>0]|0)!=3:0)Ik(c[h>>2]|0,0);else m=25;do if((m|0)==25){c[o>>2]=bz(c[j>>2]|0,1)|0;do if(c[o>>2]|0){if(!((e[(c[j>>2]|0)+88>>1]|0)>>>8&1)){c[o>>2]=787;break}c[k>>2]=1;b=c[k>>2]|0;i=f;return b|0}else c[o>>2]=PC(c[h>>2]|0,c[j>>2]|0)|0;while(0);if((c[o>>2]|0)==5?((e[(c[j>>2]|0)+88>>1]|0)>>>8&1|0)!=0:0){c[k>>2]=5;b=c[k>>2]|0;i=f;return b|0}if(c[o>>2]|0){c[(c[j>>2]|0)+80>>2]=c[o>>2];Ik(c[h>>2]|0,0);break}else{b=(c[h>>2]|0)+504|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[h>>2]|0)+512|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[h>>2]|0)+24|0;c[b>>2]=c[b>>2]&-16777217;bs(c[h>>2]|0);break}}while(0);c[(c[h>>2]|0)+500>>2]=0}else m=38;do if((m|0)==38?(c[g>>2]|0)==0:0){if((c[(c[j>>2]|0)+80>>2]|0)!=0?(d[(c[j>>2]|0)+86>>0]|0)!=3:0)if((d[(c[j>>2]|0)+86>>0]|0)==2){c[g>>2]=2;break}else{Ik(c[h>>2]|0,516);Jk(c[h>>2]|0);a[(c[h>>2]|0)+62>>0]=1;break}c[g>>2]=1}while(0);if((c[g>>2]|0)!=0?(c[o>>2]=cz(c[j>>2]|0,c[g>>2]|0)|0,(c[o>>2]|0)!=0):0){if(!((c[(c[j>>2]|0)+80>>2]|0)!=0?(c[(c[j>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[j>>2]|0)+80>>2]=c[o>>2];Xb(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[(c[j>>2]|0)+44>>2]=0}Ik(c[h>>2]|0,516);Jk(c[h>>2]|0);a[(c[h>>2]|0)+62>>0]=1}if((e[(c[j>>2]|0)+88>>1]|0)>>>4&1){l=c[h>>2]|0;if((c[g>>2]|0)!=2)Zy(l,c[(c[j>>2]|0)+92>>2]|0);else Zy(l,0);c[(c[j>>2]|0)+92>>2]=0}}if((c[(c[j>>2]|0)+76>>2]|0)>=0){b=(c[h>>2]|0)+148|0;c[b>>2]=(c[b>>2]|0)+ -1;if(!((e[(c[j>>2]|0)+88>>1]|0)>>>8&1)){b=(c[h>>2]|0)+156|0;c[b>>2]=(c[b>>2]|0)+ -1}if((e[(c[j>>2]|0)+88>>1]|0)>>>9&1){b=(c[h>>2]|0)+152|0;c[b>>2]=(c[b>>2]|0)+ -1}}c[(c[j>>2]|0)+40>>2]=1369188723;if(a[(c[c[j>>2]>>2]|0)+64>>0]|0)c[(c[j>>2]|0)+80>>2]=7;c[k>>2]=(c[(c[j>>2]|0)+80>>2]|0)==5?5:0;b=c[k>>2]|0;i=f;return b|0}function az(a){a=a|0;var b=0,d=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;g=b+4|0;f=b;c[g>>2]=a;if(!((e[(c[g>>2]|0)+8>>1]|0)&18)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=c[(c[g>>2]|0)+12>>2];if((e[(c[g>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[g>>2]>>2]|0);c[d>>2]=(c[f>>2]|0)>(c[(c[(c[g>>2]|0)+32>>2]|0)+88>>2]|0)&1;g=c[d>>2]|0;i=b;return g|0}function bz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;h=k;j=k+16|0;f=k+12|0;l=k+8|0;g=k+4|0;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];if(!((c[l>>2]|0)!=0?(d=(c[g>>2]|0)+504|0,b=(c[g>>2]|0)+512|0,b=bF(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=D,(d|0)>0|(d|0)==0&b>>>0>0):0))e=3;do if((e|0)==3){if((c[l>>2]|0)==0?(b=(c[f>>2]|0)+144|0,d=c[b+4>>2]|0,(d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0):0)break;c[j>>2]=0;b=c[j>>2]|0;i=k;return b|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;pn((c[f>>2]|0)+44|0,c[g>>2]|0,24400,h);c[j>>2]=1;b=c[j>>2]|0;i=k;return b|0}function cz(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;h=i;i=i+32|0;g=h+28|0;d=h+24|0;f=h+20|0;e=h+16|0;k=h+12|0;m=h+8|0;j=h+4|0;l=h;c[g>>2]=a;c[d>>2]=b;c[f>>2]=c[c[g>>2]>>2];c[e>>2]=0;if(!(c[(c[f>>2]|0)+500>>2]|0)){a=c[e>>2]|0;i=h;return a|0}if(!(c[(c[g>>2]|0)+104>>2]|0)){a=c[e>>2]|0;i=h;return a|0}c[m>>2]=(c[(c[g>>2]|0)+104>>2]|0)-1;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[j>>2]=0;c[l>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+4>>2];if(c[l>>2]|0){if((c[d>>2]|0)==2)c[j>>2]=tz(c[l>>2]|0,2,c[m>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=tz(c[l>>2]|0,1,c[m>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=c[j>>2]}c[k>>2]=(c[k>>2]|0)+1}a=(c[f>>2]|0)+500|0;c[a>>2]=(c[a>>2]|0)+ -1;c[(c[g>>2]|0)+104>>2]=0;if(!(c[e>>2]|0)){if((c[d>>2]|0)==2)c[e>>2]=rz(c[f>>2]|0,2,c[m>>2]|0)|0;if(!(c[e>>2]|0))c[e>>2]=rz(c[f>>2]|0,1,c[m>>2]|0)|0}if((c[d>>2]|0)!=2){a=c[e>>2]|0;i=h;return a|0}a=(c[g>>2]|0)+152|0;m=c[a+4>>2]|0;l=(c[f>>2]|0)+504|0;c[l>>2]=c[a>>2];c[l+4>>2]=m;l=(c[g>>2]|0)+160|0;m=c[l+4>>2]|0;a=(c[f>>2]|0)+512|0;c[a>>2]=c[l>>2];c[a+4>>2]=m;a=c[e>>2]|0;i=h;return a|0}function dz(a){a=a|0;var b=0,d=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[f>>2]=a;if(((e[(c[f>>2]|0)+8>>1]|0)&514|0)!=2){c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=NC(c[f>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}return 0}function ez(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;g=f;c[g>>2]=a;a=e[(c[g>>2]|0)+8>>1]|0;do if(!((e[(c[g>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=MC(c[g>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=f;return b[d>>1]|0}function fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;h=e+8|0;g=e;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;d=c[h>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){a=g;a=ZE(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;c[f>>2]=_m(d,a,D)|0;a=c[f>>2]|0;i=e;return a|0}a=d;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>=0){c[f>>2]=1;a=c[f>>2]|0;i=e;return a|0}else{b=g;a=c[h>>2]|0;d=a;b=ZE(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=D;c[f>>2]=0;a=c[f>>2]|0;i=e;return a|0}return 0}function gz(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,l=0,m=0,n=0,o=0;f=i;i=i+64|0;k=f+60|0;h=f+56|0;m=f+48|0;o=f+40|0;n=f+32|0;j=f+24|0;l=f+16|0;e=f+8|0;g=f;c[h>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;b=c[h>>2]|0;d=c[b+4>>2]|0;a=o;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=o;a=jF(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;d=n;c[d>>2]=a;c[d+4>>2]=D;d=o;d=kF(c[d>>2]|0,c[d+4>>2]|0,0,1)|0;a=j;c[a>>2]=d;c[a+4>>2]=D;a=m;a=jF(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;d=l;c[d>>2]=a;c[d+4>>2]=D;d=m;d=kF(c[d>>2]|0,c[d+4>>2]|0,0,1)|0;a=e;c[a>>2]=d;c[a+4>>2]=D;a=n;d=l;d=(c[d>>2]|0)==0&(c[d+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!d){o=j;a=l;a=lF(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=g;c[o>>2]=a;c[o+4>>2]=D;break}a=m;o=c[h>>2]|0;b=o;a=lF(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[o>>2]=a;c[o+4>>2]=D;c[k>>2]=0;o=c[k>>2]|0;i=f;return o|0}else{if(d){o=n;a=e;a=lF(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=g;c[o>>2]=a;c[o+4>>2]=D;break}c[k>>2]=1;o=c[k>>2]|0;i=f;return o|0}while(0);b=g;d=c[b+4>>2]|0;o=g;a=c[o+4>>2]|0;if((d|0)<-1|(d|0)==-1&(c[b>>2]|0)>>>0<2147483648|((a|0)>0|(a|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[k>>2]=1;o=c[k>>2]|0;i=f;return o|0}o=g;o=lF(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;a=g;c[a>>2]=o;c[a+4>>2]=D;a=j;o=e;o=lF(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(_m(g,o,D)|0){c[k>>2]=1;o=c[k>>2]|0;i=f;return o|0}else{b=g;a=c[b+4>>2]|0;o=c[h>>2]|0;c[o>>2]=c[b>>2];c[o+4>>2]=a;c[k>>2]=0;o=c[k>>2]|0;i=f;return o|0}return 0}function hz(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;e=i;i=i+32|0;k=e+16|0;j=e+12|0;g=e+8|0;h=e+4|0;f=e;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=(c[k>>2]|0)+204;a:while(1){if(!(c[c[h>>2]>>2]|0))break;c[f>>2]=c[c[h>>2]>>2];do if((c[j>>2]|0)>=0){if((c[c[f>>2]>>2]|0)==(c[j>>2]|0)){if((c[(c[f>>2]|0)+4>>2]|0)>31)break;if(!(c[g>>2]&1<>2]|0)+4>>2]))break}c[h>>2]=(c[f>>2]|0)+16;continue a}while(0);if(c[(c[f>>2]|0)+12>>2]|0)rb[c[(c[f>>2]|0)+12>>2]&31](c[(c[f>>2]|0)+8>>2]|0);c[c[h>>2]>>2]=c[(c[f>>2]|0)+16>>2];Xb(c[c[k>>2]>>2]|0,c[f>>2]|0)}i=e;return}function iz(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=b;b=c[f>>2]|0;do if(a[(c[f>>2]|0)+26>>0]|0)c[e>>2]=LC(b)|0;else{if((c[b>>2]|0)!=0?(iC(c[c[f>>2]>>2]|0)|0)!=0:0){c[e>>2]=jC(c[f>>2]|0)|0;break}c[e>>2]=0}while(0);i=d;return c[e>>2]|0}function jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=KC(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function kz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;k=h+8|0;j=h+4|0;l=h;c[k>>2]=f;c[j>>2]=g;if(e[(c[k>>2]|0)+44>>1]|0){l=c[k>>2]|0;l=l+24|0;l=l+12|0;l=c[l>>2]|0;f=c[j>>2]|0;c[f>>2]=l;i=h;return 0}c[l>>2]=b[(c[k>>2]|0)+76>>1];Mw(c[(c[k>>2]|0)+120+(c[l>>2]<<2)>>2]|0,e[(c[k>>2]|0)+78+(c[l>>2]<<1)>>1]|0,(c[k>>2]|0)+24|0);l=(c[k>>2]|0)+72|0;a[l>>0]=d[l>>0]|2;l=c[k>>2]|0;l=l+24|0;l=l+12|0;l=c[l>>2]|0;f=c[j>>2]|0;c[f>>2]=l;i=h;return 0}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=KC(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function mz(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;m=i;i=i+32|0;q=m+28|0;o=m+24|0;k=m+20|0;n=m+16|0;j=m+12|0;r=m+8|0;p=m+4|0;l=m;c[q>>2]=d;c[o>>2]=e;c[k>>2]=f;c[n>>2]=g;c[j>>2]=h;c[p>>2]=0;c[l>>2]=0;h=c[q>>2]|0;if(c[n>>2]|0)c[r>>2]=jz(h,p)|0;else c[r>>2]=lz(h,p)|0;if(((c[o>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[p>>2]|0)>>>0){c[(c[j>>2]|0)+16>>2]=(c[r>>2]|0)+(c[o>>2]|0);b[(c[j>>2]|0)+8>>1]=4112;c[(c[j>>2]|0)+12>>2]=c[k>>2];d=c[l>>2]|0;i=m;return d|0}b[(c[j>>2]|0)+8>>1]=1;d=Lp(c[j>>2]|0,(c[k>>2]|0)+2|0)|0;c[l>>2]=d;if(d){d=c[l>>2]|0;i=m;return d|0}p=c[q>>2]|0;r=c[o>>2]|0;q=c[k>>2]|0;o=c[(c[j>>2]|0)+16>>2]|0;if(c[n>>2]|0)c[l>>2]=My(p,r,q,o)|0;else c[l>>2]=ff(p,r,q,o)|0;if(!(c[l>>2]|0)){a[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=0;a[(c[(c[j>>2]|0)+16>>2]|0)+((c[k>>2]|0)+1)>>0]=0;b[(c[j>>2]|0)+8>>1]=528;c[(c[j>>2]|0)+12>>2]=c[k>>2];d=c[l>>2]|0;i=m;return d|0}else{Bd(c[j>>2]|0);d=c[l>>2]|0;i=m;return d|0}return 0}function nz(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+48|0;d=f+32|0;k=f+28|0;j=f+24|0;m=f+20|0;l=f+16|0;h=f+8|0;g=f;c[k>>2]=a;c[j>>2]=b;c[m>>2]=e[(c[k>>2]|0)+8>>1];if(c[m>>2]&1){c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}if(!(c[m>>2]&4)){if(c[m>>2]&8){c[d>>2]=7;a=c[d>>2]|0;i=f;return a|0}c[l>>2]=c[(c[k>>2]|0)+12>>2];if(c[m>>2]&16384)c[l>>2]=(c[l>>2]|0)+(c[c[k>>2]>>2]|0);c[d>>2]=(c[l>>2]<<1)+12+((c[m>>2]&2|0)!=0&1);a=c[d>>2]|0;i=f;return a|0}a=c[k>>2]|0;k=c[a+4>>2]|0;b=h;c[b>>2]=c[a>>2];c[b+4>>2]=k;b=h;k=c[b>>2]|0;b=c[b+4>>2]|0;do if((c[h+4>>2]|0)<0){if(!((b|0)<-32768|(b|0)==-32768&k>>>0<1)){m=h;m=ZE(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;a=g;c[a>>2]=m;c[a+4>>2]=D;break}c[d>>2]=6;a=c[d>>2]|0;i=f;return a|0}else{a=g;c[a>>2]=k;c[a+4>>2]=b}while(0);a=g;m=c[a+4>>2]|0;if(m>>>0<0|(m|0)==0&(c[a>>2]|0)>>>0<=127){a=h;if((0==(c[a+4>>2]|0)?(c[h>>2]&1|0)==(c[a>>2]|0):0)&(c[j>>2]|0)>=4)g=8+(c[g>>2]|0)|0;else g=1;c[d>>2]=g;a=c[d>>2]|0;i=f;return a|0}a=g;m=c[a+4>>2]|0;if(m>>>0<0|(m|0)==0&(c[a>>2]|0)>>>0<=32767){c[d>>2]=2;a=c[d>>2]|0;i=f;return a|0}a=g;m=c[a+4>>2]|0;if(m>>>0<0|(m|0)==0&(c[a>>2]|0)>>>0<=8388607){c[d>>2]=3;a=c[d>>2]|0;i=f;return a|0}a=g;m=c[a+4>>2]|0;if(m>>>0<0|(m|0)==0&(c[a>>2]|0)>>>0<=2147483647){c[d>>2]=4;a=c[d>>2]|0;i=f;return a|0}a=g;m=c[a+4>>2]|0;if(m>>>0<32767|(m|0)==32767&(c[a>>2]|0)>>>0<=4294967295){c[d>>2]=5;a=c[d>>2]|0;i=f;return a|0}else{c[d>>2]=6;a=c[d>>2]|0;i=f;return a|0}return 0}function oz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;b=j;k=c[b+4>>2]|0;d=j;e=c[d>>2]|0;d=c[d+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[h>>2]>>0]=e&127;c[g>>2]=1;k=c[g>>2]|0;i=f;return k|0}if(d>>>0<0|(d|0)==0&e>>>0<=16383){k=j;k=cF(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[h>>2]>>0]=k&127|128;a[(c[h>>2]|0)+1>>0]=c[j>>2]&127;c[g>>2]=2;k=c[g>>2]|0;i=f;return k|0}else{k=j;c[g>>2]=JC(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=f;return k|0}return 0}function pz(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;l=i;i=i+32|0;g=l+28|0;k=l+24|0;j=l+20|0;n=l+16|0;h=l+12|0;f=l;m=l+8|0;c[k>>2]=b;c[j>>2]=d;c[n>>2]=e;e=c[n>>2]|0;if(!((c[n>>2]|0)>>>0<=7&(c[n>>2]|0)>>>0>0))if(e>>>0>=12){c[h>>2]=c[(c[j>>2]|0)+12>>2];dF(c[k>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[g>>2]=c[h>>2];b=c[g>>2]|0;i=l;return b|0}else{c[g>>2]=0;b=c[g>>2]|0;i=l;return b|0}if((e|0)==7){b=c[j>>2]|0;c[f+0>>2]=c[b+0>>2];c[f+4>>2]=c[b+4>>2]}else{e=c[j>>2]|0;d=c[e+4>>2]|0;b=f;c[b>>2]=c[e>>2];c[b+4>>2]=d}b=Ww(c[n>>2]|0)|0;c[m>>2]=b;c[h>>2]=b;do{b=c[f>>2]&255;d=(c[m>>2]|0)+ -1|0;c[m>>2]=d;a[(c[k>>2]|0)+d>>0]=b;d=f;d=cF(c[d>>2]|0,c[d+4>>2]|0,8)|0;b=f;c[b>>2]=d;c[b+4>>2]=D}while((c[m>>2]|0)!=0);c[g>>2]=c[h>>2];b=c[g>>2]|0;i=l;return b|0}function qz(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;l=i;i=i+32|0;h=l+28|0;o=l+24|0;j=l+20|0;k=l;m=l+16|0;n=l+12|0;p=l+8|0;c[o>>2]=f;c[j>>2]=g;f=k;c[f>>2]=0;c[f+4>>2]=0;if(!(c[(c[o>>2]|0)+60>>2]|0)){f=c[j>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[h>>2]=0;f=c[h>>2]|0;i=l;return f|0}c[m>>2]=Iw(c[o>>2]|0)|0;a:while(1){if(c[m>>2]|0){n=16;break}c[p>>2]=c[(c[o>>2]|0)+120+(b[(c[o>>2]|0)+76>>1]<<2)>>2];if(!((d[(c[p>>2]|0)+5>>0]|0)==0?(a[(c[p>>2]|0)+2>>0]|0)!=0:0)){g=k;g=bF(c[g>>2]|0,c[g+4>>2]|0,e[(c[p>>2]|0)+18>>1]|0,0)|0;f=k;c[f>>2]=g;c[f+4>>2]=D}if(a[(c[p>>2]|0)+5>>0]|0){do{if(!(b[(c[o>>2]|0)+76>>1]|0)){n=10;break a}yw(c[o>>2]|0)}while((e[(c[o>>2]|0)+78+(b[(c[o>>2]|0)+76>>1]<<1)>>1]|0)>=(e[(c[(c[o>>2]|0)+120+(b[(c[o>>2]|0)+76>>1]<<2)>>2]|0)+18>>1]|0));f=(c[o>>2]|0)+78+(b[(c[o>>2]|0)+76>>1]<<1)|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;c[p>>2]=c[(c[o>>2]|0)+120+(b[(c[o>>2]|0)+76>>1]<<2)>>2]}c[n>>2]=e[(c[o>>2]|0)+78+(b[(c[o>>2]|0)+76>>1]<<1)>>1];f=c[o>>2]|0;g=c[p>>2]|0;if((c[n>>2]|0)==(e[(c[p>>2]|0)+18>>1]|0)){c[m>>2]=ww(f,Hh((c[(c[p>>2]|0)+56>>2]|0)+((d[g+6>>0]|0)+8)|0)|0)|0;continue}else{c[m>>2]=ww(f,Hh((c[g+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((n|0)==10){p=k;g=c[p+4>>2]|0;f=c[j>>2]|0;c[f>>2]=c[p>>2];c[f+4>>2]=g;c[h>>2]=0;f=c[h>>2]|0;i=l;return f|0}else if((n|0)==16){c[h>>2]=c[m>>2];f=c[h>>2]|0;i=l;return f|0}return 0}function rz(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,l=0,m=0,n=0;f=i;i=i+32|0;m=f+28|0;g=f+24|0;k=f+20|0;e=f+16|0;n=f+12|0;j=f+8|0;l=f+4|0;h=f;c[m>>2]=a;c[g>>2]=b;c[k>>2]=d;c[e>>2]=0;if(!(c[(c[m>>2]|0)+328>>2]|0)){a=c[e>>2]|0;i=f;return a|0}c[n>>2]=0;while(1){if(c[e>>2]|0){g=15;break}if((c[n>>2]|0)>=(c[(c[m>>2]|0)+304>>2]|0)){g=15;break}c[j>>2]=c[(c[(c[m>>2]|0)+328>>2]|0)+(c[n>>2]<<2)>>2];c[l>>2]=c[c[(c[j>>2]|0)+4>>2]>>2];if((c[(c[j>>2]|0)+8>>2]|0)!=0?(c[c[l>>2]>>2]|0)>=2:0){d=c[g>>2]|0;if((d|0)==2)c[h>>2]=c[(c[l>>2]|0)+88>>2];else if(!d){c[h>>2]=c[(c[l>>2]|0)+80>>2];c[(c[j>>2]|0)+20>>2]=(c[k>>2]|0)+1}else c[h>>2]=c[(c[l>>2]|0)+84>>2];if((c[h>>2]|0)!=0?(c[(c[j>>2]|0)+20>>2]|0)>(c[k>>2]|0):0)c[e>>2]=zb[c[h>>2]&63](c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0)|0}c[n>>2]=(c[n>>2]|0)+1}if((g|0)==15){a=c[e>>2]|0;i=f;return a|0}return 0}function sz(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;l=n+20|0;o=n+16|0;p=n+12|0;m=n+8|0;k=n+4|0;h=n;c[l>>2]=e;c[o>>2]=f;c[p>>2]=g;c[k>>2]=0;if(!(c[l>>2]|0)){e=c[k>>2]|0;i=n;return e|0}Pc(c[l>>2]|0);c[m>>2]=c[(c[(c[l>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0)){j=14;break}if((c[p>>2]|0)!=0?(d[(c[m>>2]|0)+72>>0]&1|0)==0:0){if((d[(c[m>>2]|0)+73>>0]|0)==1?(c[k>>2]=Jy(c[m>>2]|0)|0,(c[k>>2]|0)!=0):0)break}else{Qk(c[m>>2]|0);a[(c[m>>2]|0)+73>>0]=4;c[(c[m>>2]|0)+68>>2]=c[o>>2]}c[h>>2]=0;while(1){if((c[h>>2]|0)>(b[(c[m>>2]|0)+76>>1]|0))break;Rk(c[(c[m>>2]|0)+120+(c[h>>2]<<2)>>2]|0);c[(c[m>>2]|0)+120+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+8>>2]}if((j|0)==14){e=c[k>>2]|0;i=n;return e|0}sz(c[l>>2]|0,c[k>>2]|0,0)|0;e=c[k>>2]|0;i=n;return e|0}function tz(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;j=g+16|0;l=g+12|0;m=g+8|0;h=g+4|0;k=g;c[j>>2]=a;c[l>>2]=b;c[m>>2]=f;c[h>>2]=0;if(!(c[j>>2]|0)){a=c[h>>2]|0;i=g;return a|0}if((d[(c[j>>2]|0)+8>>0]|0|0)!=2){a=c[h>>2]|0;i=g;return a|0}c[k>>2]=c[(c[j>>2]|0)+4>>2];Pc(c[j>>2]|0);c[h>>2]=si(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[h>>2]|0){a=c[h>>2]|0;i=g;return a|0}if((c[m>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[h>>2]=IC(c[k>>2]|0)|0;a=Hh((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;a=c[h>>2]|0;i=g;return a|0}function uz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];Pc(c[h>>2]|0);c[d>>2]=GC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function vz(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;j=i;i=i+32|0;q=j+28|0;r=j+24|0;l=j+20|0;k=j+16|0;m=j+12|0;n=j+8|0;p=j+4|0;o=j;c[q>>2]=d;c[r>>2]=e;c[l>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=(c[(c[q>>2]|0)+8>>2]|0)+(((c[(c[q>>2]|0)+28>>2]|0)-(c[r>>2]|0)|0)*40|0);c[o>>2]=0;g=88+(c[l>>2]<<3)|0;if(c[m>>2]|0)h=EC()|0;else h=0;c[p>>2]=g+h;if(c[(c[(c[q>>2]|0)+56>>2]|0)+(c[r>>2]<<2)>>2]|0){Az(c[q>>2]|0,c[(c[(c[q>>2]|0)+56>>2]|0)+(c[r>>2]<<2)>>2]|0);c[(c[(c[q>>2]|0)+56>>2]|0)+(c[r>>2]<<2)>>2]=0}if(Lp(c[n>>2]|0,c[p>>2]|0)|0){d=c[o>>2]|0;i=j;return d|0}p=c[(c[n>>2]|0)+16>>2]|0;c[o>>2]=p;c[(c[(c[q>>2]|0)+56>>2]|0)+(c[r>>2]<<2)>>2]=p;q=(c[o>>2]|0)+0|0;p=q+88|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(p|0));a[(c[o>>2]|0)+24>>0]=c[k>>2];b[(c[o>>2]|0)+20>>1]=c[l>>2];c[(c[o>>2]|0)+80>>2]=(c[o>>2]|0)+84+(c[l>>2]<<2);if(!(c[m>>2]|0)){d=c[o>>2]|0;i=j;return d|0}c[c[o>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(88+(c[l>>2]<<3));FC(c[c[o>>2]>>2]|0);d=c[o>>2]|0;i=j;return d|0}function wz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;Pc(c[n>>2]|0);c[g>>2]=CC(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function xz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+74>>0]=c[g>>2];i=e;return}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;Pc(c[j>>2]|0);c[e>>2]=BC(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function zz(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;q=i;i=i+48|0;n=q+44|0;r=q+40|0;u=q+36|0;l=q+32|0;p=q+28|0;o=q+24|0;m=q+20|0;s=q+16|0;v=q+12|0;t=q+8|0;k=q+4|0;j=q;c[n>>2]=f;c[r>>2]=g;c[u>>2]=h;c[k>>2]=0;c[v>>2]=24+((e[(c[(c[u>>2]|0)+8>>2]|0)+6>>1]|0)-1<<2);c[t>>2]=128;f=(c[t>>2]|0)+(c[v>>2]|0)|0;c[m>>2]=se(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[u>>2]|0)+56>>2]=c[m>>2];if(!(c[m>>2]|0)){c[k>>2]=7;f=c[k>>2]|0;i=q;return f|0}f=(c[m>>2]|0)+(c[t>>2]|0)|0;c[s>>2]=f;c[(c[m>>2]|0)+28>>2]=f;dF(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[v>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[r>>2]|0)b[(c[s>>2]|0)+6>>1]=c[r>>2];f=Uc(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[l>>2]=f;c[(c[m>>2]|0)+12>>2]=f;a[(c[m>>2]|0)+59>>0]=1;a[(c[m>>2]|0)+57>>0]=(d[(c[m>>2]|0)+59>>0]|0|0)>1;c[(c[m>>2]|0)+24>>2]=c[n>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(d[(c[m>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[m>>2]|0)+64+(c[p>>2]<<6);c[(c[j>>2]|0)+8>>2]=c[m>>2];c[p>>2]=(c[p>>2]|0)+1}if(xh(c[n>>2]|0)|0){f=c[k>>2]|0;i=q;return f|0}c[c[m>>2]>>2]=(c[l>>2]|0)*10;f=c[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;c[o>>2]=f;c[o>>2]=(c[o>>2]|0)<10?10:f;f=$(c[o>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=f;if(c[9708]|0){f=c[k>>2]|0;i=q;return f|0}c[(c[m>>2]|0)+52>>2]=c[l>>2];f=c[l>>2]|0;f=gc(f,((f|0)<0)<<31>>31)|0;c[(c[m>>2]|0)+40>>2]=f;if(c[(c[m>>2]|0)+40>>2]|0){f=c[k>>2]|0;i=q;return f|0}c[k>>2]=7;f=c[k>>2]|0;i=q;return f|0}function Az(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;f=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=e;return}AC(c[c[j>>2]>>2]|0,c[f>>2]|0);d=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0){Kk(c[d+4>>2]|0)|0;i=e;return}a=c[f>>2]|0;if(c[d>>2]|0){Ok(c[a>>2]|0)|0;i=e;return}if(!(c[a+32>>2]|0)){i=e;return}c[g>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=c[c[c[g>>2]>>2]>>2];a=(c[j>>2]|0)+88|0;b[a>>1]=b[a>>1]&-13|4;ub[c[(c[h>>2]|0)+28>>2]&31](c[g>>2]|0)|0;a=(c[j>>2]|0)+88|0;b[a>>1]=b[a>>1]&-13;i=e;return}function Bz(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+73>>0]|0|0)|0}function Cz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;k=f+4|0;h=f;c[j>>2]=b;c[k>>2]=e;if(1==(d[(c[j>>2]|0)+73>>0]|0|0)?((d[(c[j>>2]|0)+72>>0]|0)&8|0)!=0:0){c[g>>2]=0;b=c[g>>2]|0;i=f;return b|0}c[h>>2]=Iw(c[j>>2]|0)|0;do if(!(c[h>>2]|0)){e=c[k>>2]|0;if(!(d[(c[j>>2]|0)+73>>0]|0)){c[e>>2]=1;break}c[e>>2]=0;c[h>>2]=xw(c[j>>2]|0)|0;j=(c[j>>2]|0)+72|0;e=d[j>>0]|0;if(!(c[h>>2]|0)){a[j>>0]=e|8;break}else{a[j>>0]=e&-9;break}}while(0);c[g>>2]=c[h>>2];b=c[g>>2]|0;i=f;return b|0} - - - -function XE(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,u=0,v=0;d=i;h=a+b|0;l=c[a+4>>2]|0;do if(!(l&1)){p=c[a>>2]|0;if(!(l&3)){i=d;return}l=a+(0-p)|0;m=p+b|0;r=c[9754]|0;if(l>>>0>>0)db();if((l|0)==(c[9755]|0)){e=a+(b+4)|0;n=c[e>>2]|0;if((n&3|0)!=3){e=l;n=m;break}c[9752]=m;c[e>>2]=n&-2;c[a+(4-p)>>2]=m|1;c[h>>2]=m;i=d;return}s=p>>>3;if(p>>>0<256){e=c[a+(8-p)>>2]|0;n=c[a+(12-p)>>2]|0;o=39040+(s<<1<<2)|0;if((e|0)!=(o|0)){if(e>>>0>>0)db();if((c[e+12>>2]|0)!=(l|0))db()}if((n|0)==(e|0)){c[9750]=c[9750]&~(1<>>0>>0)db();o=n+8|0;if((c[o>>2]|0)==(l|0))q=o;else db()}else q=n+8|0;c[e+12>>2]=n;c[q>>2]=e;e=l;n=m;break}q=c[a+(24-p)>>2]|0;s=c[a+(12-p)>>2]|0;do if((s|0)==(l|0)){u=16-p|0;t=a+(u+4)|0;s=c[t>>2]|0;if(!s){t=a+u|0;s=c[t>>2]|0;if(!s){o=0;break}}while(1){v=s+20|0;u=c[v>>2]|0;if(u){s=u;t=v;continue}u=s+16|0;v=c[u>>2]|0;if(!v)break;else{s=v;t=u}}if(t>>>0>>0)db();else{c[t>>2]=0;o=s;break}}else{t=c[a+(8-p)>>2]|0;if(t>>>0>>0)db();r=t+12|0;if((c[r>>2]|0)!=(l|0))db();u=s+8|0;if((c[u>>2]|0)==(l|0)){c[r>>2]=s;c[u>>2]=t;o=s;break}else db()}while(0);if(q){s=c[a+(28-p)>>2]|0;r=39304+(s<<2)|0;if((l|0)==(c[r>>2]|0)){c[r>>2]=o;if(!o){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();r=q+16|0;if((c[r>>2]|0)==(l|0))c[r>>2]=o;else c[q+20>>2]=o;if(!o){e=l;n=m;break}}r=c[9754]|0;if(o>>>0>>0)db();c[o+24>>2]=q;p=16-p|0;q=c[a+p>>2]|0;do if(q)if(q>>>0>>0)db();else{c[o+16>>2]=q;c[q+24>>2]=o;break}while(0);p=c[a+(p+4)>>2]|0;if(p)if(p>>>0<(c[9754]|0)>>>0)db();else{c[o+20>>2]=p;c[p+24>>2]=o;e=l;n=m;break}else{e=l;n=m}}else{e=l;n=m}}else{e=a;n=b}while(0);l=c[9754]|0;if(h>>>0>>0)db();m=a+(b+4)|0;o=c[m>>2]|0;if(!(o&2)){if((h|0)==(c[9756]|0)){v=(c[9753]|0)+n|0;c[9753]=v;c[9756]=e;c[e+4>>2]=v|1;if((e|0)!=(c[9755]|0)){i=d;return}c[9755]=0;c[9752]=0;i=d;return}if((h|0)==(c[9755]|0)){v=(c[9752]|0)+n|0;c[9752]=v;c[9755]=e;c[e+4>>2]=v|1;c[e+v>>2]=v;i=d;return}n=(o&-8)+n|0;m=o>>>3;do if(o>>>0>=256){k=c[a+(b+24)>>2]|0;o=c[a+(b+12)>>2]|0;do if((o|0)==(h|0)){o=a+(b+20)|0;m=c[o>>2]|0;if(!m){o=a+(b+16)|0;m=c[o>>2]|0;if(!m){j=0;break}}while(1){p=m+20|0;q=c[p>>2]|0;if(q){m=q;o=p;continue}q=m+16|0;p=c[q>>2]|0;if(!p)break;else{m=p;o=q}}if(o>>>0>>0)db();else{c[o>>2]=0;j=m;break}}else{m=c[a+(b+8)>>2]|0;if(m>>>0>>0)db();p=m+12|0;if((c[p>>2]|0)!=(h|0))db();l=o+8|0;if((c[l>>2]|0)==(h|0)){c[p>>2]=o;c[l>>2]=m;j=o;break}else db()}while(0);if(k){m=c[a+(b+28)>>2]|0;l=39304+(m<<2)|0;if((h|0)==(c[l>>2]|0)){c[l>>2]=j;if(!j){c[9751]=c[9751]&~(1<>>0<(c[9754]|0)>>>0)db();l=k+16|0;if((c[l>>2]|0)==(h|0))c[l>>2]=j;else c[k+20>>2]=j;if(!j)break}h=c[9754]|0;if(j>>>0>>0)db();c[j+24>>2]=k;k=c[a+(b+16)>>2]|0;do if(k)if(k>>>0>>0)db();else{c[j+16>>2]=k;c[k+24>>2]=j;break}while(0);h=c[a+(b+20)>>2]|0;if(h)if(h>>>0<(c[9754]|0)>>>0)db();else{c[j+20>>2]=h;c[h+24>>2]=j;break}}}else{j=c[a+(b+8)>>2]|0;a=c[a+(b+12)>>2]|0;b=39040+(m<<1<<2)|0;if((j|0)!=(b|0)){if(j>>>0>>0)db();if((c[j+12>>2]|0)!=(h|0))db()}if((a|0)==(j|0)){c[9750]=c[9750]&~(1<>>0>>0)db();b=a+8|0;if((c[b>>2]|0)==(h|0))k=b;else db()}else k=a+8|0;c[j+12>>2]=a;c[k>>2]=j}while(0);c[e+4>>2]=n|1;c[e+n>>2]=n;if((e|0)==(c[9755]|0)){c[9752]=n;i=d;return}}else{c[m>>2]=o&-2;c[e+4>>2]=n|1;c[e+n>>2]=n}b=n>>>3;if(n>>>0<256){a=b<<1;h=39040+(a<<2)|0;j=c[9750]|0;b=1<>2]|0;if(j>>>0<(c[9754]|0)>>>0)db();else{g=a;f=j}}else{c[9750]=j|b;g=39040+(a+2<<2)|0;f=h}c[g>>2]=e;c[f+12>>2]=e;c[e+8>>2]=f;c[e+12>>2]=h;i=d;return}f=n>>>8;if(f)if(n>>>0>16777215)f=31;else{u=(f+1048320|0)>>>16&8;v=f<>>16&4;v=v<>>16&2;f=14-(t|u|f)+(v<>>15)|0;f=n>>>(f+7|0)&1|f<<1}else f=0;g=39304+(f<<2)|0;c[e+28>>2]=f;c[e+20>>2]=0;c[e+16>>2]=0;a=c[9751]|0;h=1<>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}g=c[g>>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;a:do if((c[g+4>>2]&-8|0)!=(n|0)){f=n<>>31<<2)+16|0;g=c[h>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(n|0))break a;else{f=f<<1;a=g}}if(h>>>0<(c[9754]|0)>>>0)db();c[h>>2]=e;c[e+24>>2]=a;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}while(0);f=g+8|0;h=c[f>>2]|0;v=c[9754]|0;if(!(g>>>0>=v>>>0&h>>>0>=v>>>0))db();c[h+12>>2]=e;c[f>>2]=e;c[e+8>>2]=h;c[e+12>>2]=g;c[e+24>>2]=0;i=d;return}function YE(){}function ZE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return(D=b,a-c>>>0|0)|0}function _E(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 $E(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>0]|0)c=c+1|0;return c-b|0}function bF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function cF(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function dF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Na(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)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 eF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else dF(b,c,d)|0;return b|0}function fF(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function gF(b){b=b|0;var c=0;c=a[n+(b>>>24)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)>>0]|0)+24|0}function hF(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function iF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;d=b&65535;c=$(d,f)|0;e=a>>>16;d=(c>>>16)+($(d,e)|0)|0;b=b>>>16;a=$(b,f)|0;return(D=(d>>>16)+($(b,e)|0)+(((d&65535)+a|0)>>>16)|0,d+a<<16|c&65535|0)|0}function jF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=ZE(j^a,i^b,j,i)|0;g=D;b=f^j;a=e^i;a=ZE((oF(h,g,ZE(f^c,e^d,f,e)|0,D,0)|0)^b,D^a,b,a)|0;return a|0}function kF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+8|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;b=ZE(h^a,g^b,h,g)|0;a=D;oF(b,a,ZE(l^d,k^e,l,k)|0,D,j)|0;a=ZE(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;b=D;i=f;return(D=b,a)|0}function lF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;a=iF(e,f)|0;c=D;return(D=($(b,f)|0)+($(d,e)|0)+c|c&0,a|0|0)|0}function mF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=oF(a,b,c,d,0)|0;return a|0}function nF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+8|0;f=g|0;oF(a,b,d,e,f)|0;i=g;return(D=c[f+4>>2]|0,c[f>>2]|0)|0}function oF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a;j=b;i=j;l=d;g=e;k=g;if(!i){g=(f|0)!=0;if(!k){if(g){c[f>>2]=(h>>>0)%(l>>>0);c[f+4>>2]=0}k=0;m=(h>>>0)/(l>>>0)>>>0;return(D=k,m)|0}else{if(!g){l=0;m=0;return(D=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;l=0;m=0;return(D=l,m)|0}}m=(k|0)==0;do if(l){if(!m){k=(gF(k|0)|0)-(gF(i|0)|0)|0;if(k>>>0<=31){m=k+1|0;l=31-k|0;a=k-31>>31;j=m;b=h>>>(m>>>0)&a|i<>>(m>>>0)&a;k=0;l=h<>2]=a|0;c[f+4>>2]=j|b&0;l=0;m=0;return(D=l,m)|0}k=l-1|0;if(k&l){l=(gF(l|0)|0)+33-(gF(i|0)|0)|0;p=64-l|0;m=32-l|0;n=m>>31;o=l-32|0;a=o>>31;j=l;b=m-1>>31&i>>>(o>>>0)|(i<>>(l>>>0))&a;a=a&i>>>(l>>>0);k=h<>>(o>>>0))&n|h<>31;break}if(f){c[f>>2]=k&h;c[f+4>>2]=0}if((l|0)==1){o=j|b&0;p=a|0|0;return(D=o,p)|0}else{p=hF(l|0)|0;o=i>>>(p>>>0)|0;p=i<<32-p|h>>>(p>>>0)|0;return(D=o,p)|0}}else{if(m){if(f){c[f>>2]=(i>>>0)%(l>>>0);c[f+4>>2]=0}o=0;p=(i>>>0)/(l>>>0)>>>0;return(D=o,p)|0}if(!h){if(f){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(k>>>0)}o=0;p=(i>>>0)/(k>>>0)>>>0;return(D=o,p)|0}l=k-1|0;if(!(l&k)){if(f){c[f>>2]=a|0;c[f+4>>2]=l&i|b&0}o=0;p=i>>>((hF(k|0)|0)>>>0);return(D=o,p)|0}k=(gF(k|0)|0)-(gF(i|0)|0)|0;if(k>>>0<=30){a=k+1|0;l=31-k|0;j=a;b=i<>>(a>>>0);a=i>>>(a>>>0);k=0;l=h<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(D=o,p)|0}while(0);if(!j){g=l;e=0;i=0}else{h=d|0|0;g=g|e&0;e=bF(h,g,-1,-1)|0;d=D;i=0;do{m=l;l=k>>>31|l<<1;k=i|k<<1;m=b<<1|m>>>31|0;n=b>>>31|a<<1|0;ZE(e,d,m,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;b=ZE(m,n,o&h,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&g)|0;a=D;j=j-1|0}while((j|0)!=0);g=l;e=0}h=0;if(f){c[f>>2]=b;c[f+4>>2]=a}o=(k|0)>>>31|(g|h)<<1|(h<<1|k>>>31)&0|e;p=(k<<1|0>>>31)&-2|i;return(D=o,p)|0}function pF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pb[a&31](b|0,c|0,d|0)|0}function qF(a){a=a|0;return qb[a&1]()|0}function rF(a,b){a=a|0;b=b|0;rb[a&31](b|0)}function sF(a,b,c){a=a|0;b=b|0;c=c|0;sb[a&7](b|0,c|0)}function tF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return tb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function uF(a,b){a=a|0;b=b|0;return ub[a&31](b|0)|0}function vF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;vb[a&63](b|0,c|0,d|0)}function wF(a){a=a|0;wb[a&0]()}function xF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return xb[a&7](b|0,c|0,d|0,e|0)|0}function yF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;yb[a&0](b|0,c|0,d|0,e|0,f|0,g|0)}function zF(a,b,c){a=a|0;b=b|0;c=c|0;return zb[a&63](b|0,c|0)|0}function AF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ab[a&15](b|0,c|0,d|0,e|0,f|0)|0}function BF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Bb[a&3](b|0,c|0,d|0,e|0)}function CF(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function DF(a,b,c){a=a|0;b=b|0;c=c|0;return Ca(a|0,b|0,c|0)|0}function EF(a,b,c){a=a|0;b=b|0;c=c|0;return mb(a|0,b|0,c|0)|0}function FF(a,b,c){a=a|0;b=b|0;c=c|0;return Wa(a|0,b|0,c|0)|0}function GF(){aa(1);return 0}function HF(a){a=a|0;aa(2)}function IF(a,b){a=a|0;b=b|0;aa(3)}function JF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function KF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return jb(a|0,b|0,c|0,d|0,e|0,f|0)|0}function LF(a){a=a|0;aa(5);return 0}function MF(a){a=a|0;return lb(a|0)|0}function NF(a){a=a|0;return Oa(a|0)|0}function OF(a){a=a|0;return Aa(a|0)|0}function PF(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function QF(){aa(7)}function RF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8);return 0}function SF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(9)}function TF(a,b){a=a|0;b=b|0;aa(10);return 0}function UF(a,b){a=a|0;b=b|0;return xa(a|0,b|0)|0}function VF(a,b){a=a|0;b=b|0;return ta(a|0,b|0)|0}function WF(a,b){a=a|0;b=b|0;return Za(a|0,b|0)|0}function XF(a,b){a=a|0;b=b|0;return ya(a|0,b|0)|0}function YF(a,b){a=a|0;b=b|0;return Sa(a|0,b|0)|0}function ZF(a,b){a=a|0;b=b|0;return Qa(a|0,b|0)|0}function _F(a,b){a=a|0;b=b|0;return Ta(a|0,b|0)|0}function $F(a,b){a=a|0;b=b|0;return ib(a|0,b|0)|0}function aG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(11);return 0}function bG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(12)} - - - +function ng(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;if(d[14426+(d[(c[f>>2]|0)+2>>0]|0)>>0]&8){b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[14426+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=MH(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=DH(b|0,e|0,(rg(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=sg(j,k,Ed(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function og(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qg(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function pg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function qg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+15>>0]|0|0)!=0:0){g=14425;i=f;return g|0}g=c[(c[e>>2]|0)+168>>2]|0;i=f;return g|0}function rg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function sg(b,e,f,g){b=b|0;e=e|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;w=i;i=i+64|0;l=w+36|0;m=w+20|0;n=w+12|0;j=w+32|0;h=w+52|0;q=w+44|0;k=w;r=w+28|0;p=w+8|0;o=w+24|0;s=w+16|0;u=w+40|0;t=w+48|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=f;a[h>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[j>>2]|0);if((d[h>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[h>>0]|0);while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[j>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]|0)+(d[h>>0]|0)+-3;c[m>>2]=(c[m>>2]|0)+(d[h>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[14426+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)g=(c[o>>2]|0)<=57;else g=0;h=k;f=c[h>>2]|0;h=c[h+4>>2]|0;if(!g)break;b=MH(f|0,h|0,10,0)|0;e=c[o>>2]|0;e=DH(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=AH(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}j=(c[r>>2]|0)!=0;do if(!(h>>>0>2147483647|(h|0)==2147483647&f>>>0>4294967295)){g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(j){k=AH(0,0,f|0,g|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=f;c[n+4>>2]=g;break}}else{n=c[n>>2]|0;c[n>>2]=j?0:-1;c[n+4>>2]=j?-2147483648:2147483647}while(0);if(!((c[o>>2]|0)!=0?((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0:0))v=33;do if((v|0)==33){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}c[o>>2]=tg(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}if((c[o>>2]|0)>0){c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;v=c[l>>2]|0;i=w;return v|0}}}while(0);c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}function tg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=14782;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[14426+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=vg(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Ed(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(7-(c[h>>2]|0)|0)){f=9;break}if((d[14801+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(Ib(14815+(d[14808+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){f=7;break}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==7){a[k>>0]=a[14836+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==9){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function vg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)wg(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function wg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+12|0;k=o+24|0;l=o+16|0;h=o;m=o+32|0;f=o+8|0;g=o+20|0;n=o+28|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[14426+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[14426+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((rg(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[14426+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=MH(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=DH(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=AH(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=AH(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;c[388+(c[d>>2]<<2)>>2]=c[f>>2];if((c[388+(c[d>>2]<<2)>>2]|0)<=(c[428+(c[d>>2]<<2)>>2]|0)){i=e;return}c[428+(c[d>>2]<<2)>>2]=c[388+(c[d>>2]<<2)>>2];i=e;return}function yg(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)<2){c[j>>2]=27;k=c[j>>2]|0;i=l;return k|0}c[h>>2]=((d[13848+(d[c[f>>2]>>0]|0)>>0]|0)<<2^(d[13848+(d[(c[f>>2]|0)+((c[g>>2]|0)-1)>>0]|0)>>0]|0)*3^c[g>>2]|0)%127|0;c[k>>2]=(d[14843+(c[h>>2]|0)>>0]|0)-1;while(1){if((c[k>>2]|0)<0){f=9;break}if((d[14970+(c[k>>2]|0)>>0]|0|0)==(c[g>>2]|0)?(Ib(15094+(e[7804+(c[k>>2]<<1)>>1]|0)|0,c[f>>2]|0,c[g>>2]|0)|0)==0:0){f=7;break}c[k>>2]=(d[15771+(c[k>>2]|0)>>0]|0)-1}if((f|0)==7){c[j>>2]=d[15647+(c[k>>2]|0)>>0];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==9){c[j>>2]=27;k=c[j>>2]|0;i=l;return k|0}return 0}function zg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Gg(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Ag(a,e,f){a=a|0;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;p=i;i=i+32|0;g=p+24|0;h=p+16|0;j=p+20|0;n=p+28|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+15>>0]|0)!=0?(c[(c[g>>2]|0)+24>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Bg(c[(c[g>>2]|0)+204>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+152>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+16>>0]|0)>0?(c[c[(c[g>>2]|0)+60>>2]>>2]|0)!=0:0)c[n>>2]=Cg(c[(c[g>>2]|0)+60>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Dg(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Eg(c[g>>2]|0);c[n>>2]=Fg(c[(c[g>>2]|0)+204>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){Gg(c[(c[g>>2]|0)+200>>2]|0);c[(c[g>>2]|0)+200>>2]=c[l>>2];o=k;o=DH(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=AH(o|0,C|0,1,0)|0;o=KH(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+24>>2]=o;c[(c[g>>2]|0)+152>>2]=c[m>>2];break}else{Gg(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+152>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+142>>1];b[(c[g>>2]|0)+142>>1]=c[j>>2];Hg(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Bg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=vb[c[(c[c[f>>2]>>2]|0)+24>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Dg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Qg(c[d>>2]|0)|0;i=b;return a|0}function Eg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kg(c[(c[d>>2]|0)+88>>2]|0);Lg(c[(c[d>>2]|0)+204>>2]|0);i=b;return}function Fg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+20>>2]|0){c[h>>2]=lb[c[128>>2]&31](c[g>>2]|0,(c[(c[f>>2]|0)+24>>2]|0)+40|0,d[(c[f>>2]|0)+28>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[33]|0;a=c[h>>2]|0;b=Jg(c[f>>2]|0)|0;ob[k&7](a,b);if(c[(c[f>>2]|0)+40>>2]|0)nb[c[156>>2]&31](c[(c[f>>2]|0)+40>>2]|0);c[(c[f>>2]|0)+40>>2]=c[h>>2];c[(c[f>>2]|0)+44>>2]=0;c[(c[f>>2]|0)+20>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function Gg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ig(c[d>>2]|0)|0;i=b;return}function Hg(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=0;if(!(c[d>>2]|0)){c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}if((c[d>>2]|0)>>>0>=(c[256]|0)>>>0?(c[d>>2]|0)>>>0<(c[257]|0)>>>0:0){Xd(1,-1);c[f>>2]=c[d>>2];c[c[f>>2]>>2]=c[259];c[259]=c[f>>2];c[260]=(c[260]|0)+1;c[261]=(c[260]|0)<(c[255]|0)&1}else{c[e>>2]=Jd(c[d>>2]|0)|0;Xd(2,0-(c[e>>2]|0)|0);Sb(c[d>>2]|0)}c[b>>2]=c[e>>2];f=c[b>>2]|0;i=g;return f|0}function Jg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=MH(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+20>>2]|0)+(c[(c[d>>2]|0)+24>>2]|0)|0;d=KH(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function Kg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function Lg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Mg(c[d>>2]|0,0);i=b;return}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+40>>2]|0)){i=h;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ng(c[f>>2]|0);c[f>>2]=c[g>>2]}if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+44>>2]|0)!=0:0){BH(c[(c[(c[d>>2]|0)+44>>2]|0)+4>>2]|0,0,c[(c[d>>2]|0)+20>>2]|0)|0;c[e>>2]=1}ob[c[152>>2]&7](c[(c[d>>2]|0)+40>>2]|0,(c[e>>2]|0)+1|0);i=h;return}function Ng(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}Og(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-7;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}Pg(c[d>>2]|0);i=f;return}function Og(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;h=l+12|0;k=l+4|0;g=l;c[j>>2]=b;a[h>>0]=f;c[k>>2]=c[(c[j>>2]|0)+28>>2];if(d[h>>0]&1){if((c[(c[k>>2]|0)+8>>2]|0)==(c[j>>2]|0)){c[g>>2]=c[(c[j>>2]|0)+36>>2];while(1){if(c[g>>2]|0)b=(e[(c[g>>2]|0)+24>>1]&4|0)!=0;else b=0;f=c[g>>2]|0;if(!b)break;c[g>>2]=c[f+36>>2]}c[(c[k>>2]|0)+8>>2]=f}b=c[(c[j>>2]|0)+36>>2]|0;if(c[(c[j>>2]|0)+32>>2]|0)c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=b;else c[(c[k>>2]|0)+4>>2]=b;b=c[(c[j>>2]|0)+32>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]|0)){c[c[k>>2]>>2]=b;if((c[c[k>>2]>>2]|0)==0?(d[(c[k>>2]|0)+28>>0]|0)!=0:0)a[(c[k>>2]|0)+29>>0]=2}else c[(c[(c[j>>2]|0)+36>>2]|0)+32>>2]=b;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0}if(!(d[h>>0]&2)){i=l;return}c[(c[j>>2]|0)+32>>2]=c[c[k>>2]>>2];b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+32>>2]|0)){c[(c[k>>2]|0)+4>>2]=b;if(a[(c[k>>2]|0)+28>>0]|0)a[(c[k>>2]|0)+29>>0]=1}else c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=b;c[c[k>>2]>>2]=c[j>>2];if(c[(c[k>>2]|0)+8>>2]|0){i=l;return}if(e[(c[j>>2]|0)+24>>1]&4){i=l;return}c[(c[k>>2]|0)+8>>2]=c[j>>2];i=l;return}function Pg(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+28>>0]|0)){i=e;return}if((c[(c[d>>2]|0)+20>>2]|0)==1)c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]=0;rb[c[144>>2]&63](c[(c[(c[d>>2]|0)+28>>2]|0)+40>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;xg(7,c[b>>2]|0);if((c[b>>2]|0)<=(c[253]|0)?(c[d>>2]=c[259],(c[d>>2]|0)!=0):0){c[259]=c[c[259]>>2];c[260]=(c[260]|0)+-1;c[261]=(c[260]|0)<(c[255]|0)&1;Xd(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=Wd(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=Jd(c[d>>2]|0)|0;Xd(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function Rg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=de(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function Sg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+4|0;h=p+16|0;j=p+8|0;l=p+20|0;f=p+28|0;m=p;n=p+12|0;k=p+24|0;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=Rg(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=qf(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}EH(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;BH((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=Sg(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=Sg(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Nd(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function Tg(b,e,f){b=b|0;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;p=i;i=i+32|0;g=p+8|0;h=p+16|0;j=p+20|0;l=p+24|0;n=p+4|0;k=p;m=p+12|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];EH(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;BH((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function Ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;if(!(c[h>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}if((c[j>>2]|0)==0?1:(c[j>>2]|0)>>>0>(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=8;break}}if((f|0)==8){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=16;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=14;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==14){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==16){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function Vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Wg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;Wg(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Sb(c[b>>2]|0);i=e;return}function Xg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=bh(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Yg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+20|0;f=j+16|0;d=j+12|0;e=j+8|0;h=j+4|0;g=j;c[b>>2]=a;c[d>>2]=0;c[f>>2]=c[(c[b>>2]|0)+16>>2];while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;a:do if(c[(c[f>>2]|0)+4>>2]|0){fe(c[(c[f>>2]|0)+4>>2]|0);c[e>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[e>>2]|0))break a;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;if((c[(c[g>>2]|0)+40>>2]|0)!=0?(c[(c[(c[g>>2]|0)+40>>2]|0)+12>>2]|0)==(c[b>>2]|0):0){ah(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0}c[g>>2]=c[(c[g>>2]|0)+20>>2]}c[e>>2]=c[c[e>>2]>>2]}}while(0);c[d>>2]=(c[d>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=_g(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function _g(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,l=0,m=0,n=0;n=i;i=i+32|0;m=n+4|0;f=n+16|0;j=n+8|0;e=n+20|0;l=n+28|0;k=n;g=n+12|0;h=n+24|0;c[f>>2]=a;c[j>>2]=b;c[e>>2]=d;if(c[(c[f>>2]|0)+12>>2]|0){b=$g(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[f>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[f>>2]|0)+8>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2]}c[c[e>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=($b(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function $g(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){j=c[e>>2]|0;c[e>>2]=j+1;j=a[j>>0]|0;a[f>>0]=j;b=c[g>>2]|0;if(!(j&255))break;c[g>>2]=b<<3^c[g>>2]^(d[13848+(d[f>>0]|0)>>0]|0)}i=h;return b|0}function ah(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Nd(0,c[b>>2]|0);i=d;return}function bh(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;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=Zg((c[f>>2]|0)+428|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Ed(c[g>>2]|0)|0;c[j>>2]=gf(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;EH(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=ch((c[f>>2]|0)+428|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}a[(c[f>>2]|0)+64>>0]=1;Nd(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function ch(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,l=0,m=0,n=0;n=i;i=i+32|0;k=n+4|0;l=n+16|0;e=n+8|0;f=n+20|0;h=n+28|0;g=n;m=n+12|0;j=n+24|0;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=_g(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))dh(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=Wd(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(eh(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=$g(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;fh(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Sb(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}ih(c[e>>2]|0);i=j;return}function eh(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;f=l+20|0;j=l+24|0;g=l+4|0;k=l;h=l+12|0;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}gh();c[j>>2]=Wd(c[f>>2]<<3,0)|0;hh();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Sb(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((Jd(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;BH(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=$g(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];fh(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function gh(){if(!(c[262]|0))return;sb[c[1048>>2]&0]();return}function hh(){if(!(c[263]|0))return;sb[c[1052>>2]&0]();return}function ih(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Sb(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Sb(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function jh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function kh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;l=o+4|0;n=o;m=o+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=$G(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(Wl((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(Wl((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function lh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=Ib(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function mh(b,e,f,g,h,j){b=b|0;e=e|0;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,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;R=i;i=i+160|0;J=R+16|0;I=R;H=R+8|0;G=R+24|0;m=R+68|0;S=R+120|0;n=R+116|0;o=R+124|0;p=R+60|0;q=R+40|0;r=R+44|0;F=R+92|0;v=R+48|0;P=R+52|0;L=R+112|0;t=R+144|0;k=R+128|0;N=R+132|0;u=R+72|0;x=R+88|0;y=R+76|0;l=R+80|0;E=R+84|0;C=R+36|0;O=R+96|0;D=R+104|0;s=R+56|0;M=R+108|0;A=R+32|0;z=R+100|0;w=R+136|0;B=R+64|0;K=R+140|0;c[S>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[F>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[P>>2]=c[S>>2];c[k>>2]=Ed(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[k>>2]|0)>=5?($G(c[n>>2]|0,17606,5)|0)==0:0){c[y>>2]=0;c[l>>2]=(c[k>>2]|0)+2;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=(c[l>>2]|0)+((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1);c[x>>2]=(c[x>>2]|0)+1}c[L>>2]=Rb(c[l>>2]|0)|0;if(!(c[L>>2]|0)){c[m>>2]=7;S=c[m>>2]|0;i=R;return S|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?($G(17612,(c[n>>2]|0)+7|0,9)|0)==0:0)break;S=(c[n>>2]|0)+7|0;c[G>>2]=(c[x>>2]|0)-7;c[G+4>>2]=S;S=Wb(17622,G)|0;c[c[r>>2]>>2]=S;c[F>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){S=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=S;if(!(S<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[14426+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[14426+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){S=c[x>>2]|0;c[x>>2]=S+1;c[E>>2]=((rg(a[(c[n>>2]|0)+S>>0]|0)|0)&255)<<4;S=c[x>>2]|0;c[x>>2]=S+1;S=(rg(a[(c[n>>2]|0)+S>>0]|0)|0)&255;c[E>>2]=(c[E>>2]|0)+S;if(c[E>>2]|0){a[t>>0]=c[E>>2];break}while(1){S=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=S;if(!(S<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else Q=37;while(0);c:do if((Q|0)==37){Q=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[L>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);G=a[t>>0]|0;S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=G}if((c[u>>2]|0)==1){S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=0}S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=0;S=c[y>>2]|0;c[y>>2]=S+1;a[(c[L>>2]|0)+S>>0]=0;S=(Ed(c[L>>2]|0)|0)+1|0;c[N>>2]=(c[L>>2]|0)+S;while(1){if(!(a[c[N>>2]>>0]|0)){Q=84;break a}c[C>>2]=Ed(c[N>>2]|0)|0;c[O>>2]=(c[N>>2]|0)+((c[C>>2]|0)+1);c[D>>2]=Ed(c[O>>2]|0)|0;if((c[C>>2]|0)==3?($G(17650,c[N>>2]|0,3)|0)==0:0)c[P>>2]=c[O>>2];else{c[s>>2]=0;c[M>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[C>>2]|0)==5?($G(17654,c[N>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=2096;c[z>>2]=c[A>>2];c[M>>2]=17654}if((c[C>>2]|0)==4?($G(17660,c[N>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=2120;c[z>>2]=c[A>>2]&c[v>>2];c[M>>2]=17665}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[K>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];S=c[D>>2]|0;if((S|0)==(Ed(c[K>>2]|0)|0)?0==($G(c[O>>2]|0,c[K>>2]|0,c[D>>2]|0)|0):0){Q=73;break}c[w>>2]=(c[w>>2]|0)+1}if((Q|0)==73){Q=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){Q=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){Q=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[N>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1)}if((Q|0)==76){S=c[O>>2]|0;c[H>>2]=c[M>>2];c[H+4>>2]=S;S=Wb(17672,H)|0;c[c[r>>2]>>2]=S;c[F>>2]=1;break}else if((Q|0)==78){S=c[O>>2]|0;c[I>>2]=c[M>>2];c[I+4>>2]=S;S=Wb(17692,I)|0;c[c[r>>2]>>2]=S;c[F>>2]=3;break}}else Q=81;while(0);do if((Q|0)==81){c[L>>2]=Rb((c[k>>2]|0)+2|0)|0;if(c[L>>2]|0){EH(c[L>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;a[(c[L>>2]|0)+(c[k>>2]|0)>>0]=0;a[(c[L>>2]|0)+((c[k>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;Q=84;break}c[m>>2]=7;S=c[m>>2]|0;i=R;return S|0}while(0);if((Q|0)==84?(S=Lb(c[P>>2]|0)|0,c[c[p>>2]>>2]=S,(c[c[p>>2]>>2]|0)==0):0){c[J>>2]=c[P>>2];S=Wb(17716,J)|0;c[c[r>>2]>>2]=S;c[F>>2]=1}if(c[F>>2]|0){Sb(c[L>>2]|0);c[L>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[L>>2];c[m>>2]=c[F>>2];S=c[m>>2]|0;i=R;return S|0}function nh(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;H=i;i=i+192|0;B=H+24|0;m=H+28|0;n=H+44|0;o=H+60|0;C=H+4|0;p=H+8|0;q=H+48|0;E=H+56|0;D=H+64|0;G=H+72|0;w=H+76|0;y=H+80|0;u=H;t=H+40|0;v=H+12|0;z=H+52|0;s=H+16|0;x=H+20|0;r=H+36|0;F=H+32|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[C>>2]=j;c[p>>2]=k;c[q>>2]=l;c[E>>2]=0;c[H+68>>2]=0;c[G>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(aH(c[n>>2]|0,17356)|0)==0:0)h=1;else A=5;do if((A|0)==5){if((c[u>>2]|0)!=0?(aj(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[D>>2]=de(44,0)|0;if(!(c[D>>2]|0)){c[B>>2]=7;G=c[B>>2]|0;i=H;return G|0}a[(c[D>>2]|0)+8>>0]=0;c[c[D>>2]>>2]=c[o>>2];c[(c[D>>2]|0)+28>>2]=c[D>>2];c[(c[D>>2]|0)+28+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=c[v>>2]|0;c[z>>2]=Wd(u,((u|0)<0)<<31>>31)|0;a[(c[D>>2]|0)+9>>0]=1;if(!(c[z>>2]|0)){Sb(c[D>>2]|0);c[B>>2]=7;G=c[B>>2]|0;i=H;return G|0}if(!(c[t>>2]|0)){c[G>>2]=bj(c[m>>2]|0,c[n>>2]|0,c[v>>2]|0,c[z>>2]|0)|0;if(c[G>>2]|0){Sb(c[z>>2]|0);Sb(c[D>>2]|0);c[B>>2]=c[G>>2];G=c[B>>2]|0;i=H;return G|0}}else{u=c[z>>2]|0;v=c[n>>2]|0;EH(u|0,v|0,(Ed(c[n>>2]|0)|0)+1|0)|0}c[E>>2]=c[504];while(1){if(!(c[E>>2]|0))break;v=c[z>>2]|0;if(0==(aH(v,qg(c[c[E>>2]>>2]|0,0)|0)|0)?(v=cj(c[c[E>>2]>>2]|0)|0,(v|0)==(c[m>>2]|0)):0){A=29;break}c[E>>2]=c[(c[E>>2]|0)+68>>2]}do if((A|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){A=35;break}c[x>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[x>>2]|0)!=0?(c[(c[x>>2]|0)+4>>2]|0)==(c[E>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((A|0)==35){c[(c[D>>2]|0)+4>>2]=c[E>>2];x=(c[E>>2]|0)+64|0;c[x>>2]=(c[x>>2]|0)+1;break}Sb(c[z>>2]|0);Sb(c[D>>2]|0);c[B>>2]=19;G=c[B>>2]|0;i=H;return G|0}while(0);Sb(c[z>>2]|0)}}while(0);do if(!(c[E>>2]|0)){c[E>>2]=de(84,0)|0;if(!(c[E>>2]|0)){c[G>>2]=7;break}c[G>>2]=ej(c[m>>2]|0,c[E>>2]|0,c[n>>2]|0,76,c[p>>2]|0,c[q>>2]|0,14)|0;if(!(c[G>>2]|0)){z=(c[o>>2]|0)+40|0;fj(c[c[E>>2]>>2]|0,c[z>>2]|0,c[z+4>>2]|0);c[G>>2]=gj(c[c[E>>2]>>2]|0,100,y)|0}if(!(c[G>>2]|0)){a[(c[E>>2]|0)+16>>0]=c[p>>2];c[(c[E>>2]|0)+4>>2]=c[o>>2];ij(c[c[E>>2]>>2]|0,24,c[E>>2]|0);c[(c[D>>2]|0)+4>>2]=c[E>>2];c[(c[E>>2]|0)+8>>2]=0;c[(c[E>>2]|0)+12>>2]=0;if((jj(c[c[E>>2]>>2]|0)|0)<<24>>24){z=(c[E>>2]|0)+22|0;b[z>>1]=e[z>>1]|1}c[(c[E>>2]|0)+32>>2]=d[y+16>>0]<<8|d[y+17>>0]<<16;if(((c[(c[E>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[E>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[E>>2]|0)+32>>2]|0)-1&c[(c[E>>2]|0)+32>>2]|0)==0:0){a[w>>0]=a[y+20>>0]|0;z=(c[E>>2]|0)+22|0;b[z>>1]=e[z>>1]|2;z=(kj(y+52|0)|0)!=0;a[(c[E>>2]|0)+17>>0]=z?1:0;z=(kj(y+64|0)|0)!=0;a[(c[E>>2]|0)+18>>0]=z?1:0}else{c[(c[E>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[E>>2]|0)+17>>0]=0;a[(c[E>>2]|0)+18>>0]=0}a[w>>0]=0}c[G>>2]=Ag(c[c[E>>2]>>2]|0,(c[E>>2]|0)+32|0,d[w>>0]|0)|0;if(!(c[G>>2]|0)){c[(c[E>>2]|0)+36>>2]=(c[(c[E>>2]|0)+32>>2]|0)-(d[w>>0]|0);if(a[(c[D>>2]|0)+9>>0]|0){c[(c[E>>2]|0)+64>>2]=1;c[(c[E>>2]|0)+68>>2]=c[504];c[504]=c[E>>2];A=56}else A=56}}}else A=56;while(0);if((A|0)==56){a:do if(a[(c[D>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;A=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[F>>2]=A;if((A|0)!=0?(d[(c[F>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[F>>2]|0)+24>>2]|0))break;c[F>>2]=c[(c[F>>2]|0)+24>>2]}if((c[(c[D>>2]|0)+4>>2]|0)>>>0<(c[(c[F>>2]|0)+4>>2]|0)>>>0){c[(c[D>>2]|0)+20>>2]=c[F>>2];c[(c[D>>2]|0)+24>>2]=0;c[(c[F>>2]|0)+24>>2]=c[D>>2];break}while(1){if(c[(c[F>>2]|0)+20>>2]|0)h=(c[(c[(c[F>>2]|0)+20>>2]|0)+4>>2]|0)>>>0<(c[(c[D>>2]|0)+4>>2]|0)>>>0;else h=0;k=c[(c[F>>2]|0)+20>>2]|0;if(!h)break;c[F>>2]=k}c[(c[D>>2]|0)+20>>2]=k;c[(c[D>>2]|0)+24>>2]=c[F>>2];if(c[(c[D>>2]|0)+20>>2]|0)c[(c[(c[D>>2]|0)+20>>2]|0)+24>>2]=c[D>>2];c[(c[F>>2]|0)+20>>2]=c[D>>2]}while(0);c[c[C>>2]>>2]=c[D>>2]}if(!(c[G>>2]|0)){if(!($i(c[D>>2]|0,0,0)|0))mj(c[c[(c[D>>2]|0)+4>>2]>>2]|0,2e3)}else{if((c[E>>2]|0)!=0?(c[c[E>>2]>>2]|0)!=0:0)lj(c[c[E>>2]>>2]|0)|0;Sb(c[E>>2]|0);Sb(c[D>>2]|0);c[c[C>>2]>>2]=0}c[B>>2]=c[G>>2];G=c[B>>2]|0;i=H;return G|0}function oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=$i(c[g>>2]|0,84,15)|0;else c[h>>2]=gf(0,84,0)|0;if(!(c[h>>2]|0)){a[(c[f>>2]|0)+64>>0]=1;e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}jh((c[h>>2]|0)+8|0);jh((c[h>>2]|0)+24|0);jh((c[h>>2]|0)+40|0);jh((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function ph(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=td(c[d>>2]|0,17350,2)|0;if((c[f>>2]|0)!=7){i=e;return}a[(c[d>>2]|0)+64>>0]=1;i=e;return}function qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k;b=k+16|0;e=k+20|0;d=k+24|0;f=k+8|0;h=k+4|0;j=k+12|0;c[b>>2]=a;c[d>>2]=1;if(!(c[231]|0)){i=k;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;if((c[e>>2]|0)>=(c[231]|0)){c[h>>2]=0;c[d>>2]=0}else c[h>>2]=c[(c[232]|0)+(c[e>>2]<<2)>>2];c[j>>2]=0;if((c[h>>2]|0)!=0?(a=lb[c[h>>2]&31](c[b>>2]|0,j,1200)|0,c[f>>2]=a,(a|0)!=0):0){l=c[b>>2]|0;a=c[f>>2]|0;c[g>>2]=c[j>>2];ce(l,a,17311,g);c[d>>2]=0}Sb(c[j>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=k;return}function rh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[g+12>>2]=1;c[f>>2]=rd(c[b>>2]|0,15988,2,1,0,52,0,0)|0;if(!(c[f>>2]|0))c[f>>2]=rd(c[b>>2]|0,15998,1,1,0,53,0,0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;c[f>>2]=bd(c[b>>2]|0,16009,1056,c[d>>2]|0,0)|0}if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[e>>2]=1;c[f>>2]=bd(c[b>>2]|0,16015,1056,c[e>>2]|0,0)|0;f=c[f>>2]|0;i=g;return f|0}function sh(b,e,f){b=b|0;e=e|0;f=f|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;x=i;i=i+1136|0;t=x+584|0;s=x+544|0;r=x+536|0;q=x+528|0;j=x+600|0;y=x+604|0;v=x+616|0;o=x+552|0;p=x;l=x+612|0;u=x+624|0;n=x+588|0;k=x+480|0;m=x+596|0;w=x+592|0;c[j>>2]=b;c[x+608>>2]=e;c[y>>2]=f;c[v>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;BH(p|0,0,480)|0;a[p+20>>0]=lc(c[c[y>>2]>>2]|0)|0;a[p+22>>0]=8+((d[p+20>>0]|0)<<3);c[o+24>>2]=hc(c[(c[y>>2]|0)+4>>2]|0)|0;c[l>>2]=0;while(1){y=c[l>>2]|0;if((y|0)>=(mi((c[o+24>>2]|0)+2|0)|0))break;c[n>>2]=0;ci(p,o,c[l>>2]|0,k);e=512-(c[n>>2]|0)|0;y=u+(c[n>>2]|0)|0;z=k;f=c[z+4>>2]|0;b=q;c[b>>2]=c[z>>2];c[b+4>>2]=f;Yb(e,y,17289,q)|0;c[n>>2]=cH(u)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=((d[p+20>>0]|0)<<1|0))break;y=512-(c[n>>2]|0)|0;z=u+(c[n>>2]|0)|0;h[r>>3]=+g[k+8+(c[m>>2]<<2)>>2];Yb(y,z,17294,r)|0;c[n>>2]=cH(u)|0;c[m>>2]=(c[m>>2]|0)+1}if(c[v>>2]|0){c[s>>2]=c[v>>2];c[s+4>>2]=u;c[w>>2]=Wb(17298,s)|0;Sb(c[v>>2]|0);c[v>>2]=c[w>>2]}else{c[t>>2]=u;c[v>>2]=Wb(17306,t)|0}c[l>>2]=(c[l>>2]|0)+1}vc(c[j>>2]|0,c[v>>2]|0,-1,13);i=x;return}function th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+4|0;g=h;c[e>>2]=a;c[h+8>>2]=b;c[f>>2]=d;if((nc(c[c[f>>2]>>2]|0)|0)==4?(jc(c[c[f>>2]>>2]|0)|0)>=2:0){c[g>>2]=hc(c[c[f>>2]>>2]|0)|0;b=c[e>>2]|0;sc(b,mi(c[g>>2]|0)|0);i=h;return}rc(c[e>>2]|0,17256,-1);i=h;return}function uh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Vi(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,1)|0;i=h;return g|0}function vh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Vi(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,0)|0;i=h;return g|0}function wh(b,e){b=b|0;e=e|0;var f=0,g=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;u=i;i=i+96|0;r=u+8|0;f=u+16|0;v=u+32|0;g=u+28|0;p=u+36|0;q=u+40|0;k=u+44|0;m=u;j=u+20|0;s=u+49|0;o=u+12|0;l=u+24|0;n=u+48|0;c[v>>2]=b;c[g>>2]=e;c[p>>2]=c[v>>2];c[q>>2]=0;c[j>>2]=0;b=s;e=b+41|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[c[g>>2]>>2]|0)?(c[j>>2]|0)<40:0))break;c[o>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*12|0);if(((d[(c[o>>2]|0)+5>>0]|0|0)!=0?(c[c[o>>2]>>2]|0)==0:0)?(d[(c[o>>2]|0)+4>>0]|0|0)==2:0){t=6;break}do if(d[(c[o>>2]|0)+5>>0]|0){if((c[c[o>>2]>>2]|0)<=0?(d[(c[o>>2]|0)+4>>0]|0|0)!=64:0)break;switch(d[(c[o>>2]|0)+4>>0]|0|0){case 2:{a[n>>0]=65;break}case 4:{a[n>>0]=69;break}case 8:{a[n>>0]=66;break}case 16:{a[n>>0]=67;break}case 32:{a[n>>0]=68;break}default:a[n>>0]=70}v=a[n>>0]|0;b=c[j>>2]|0;c[j>>2]=b+1;a[s+b>>0]=v;b=(c[c[o>>2]>>2]|0)-1+48&255;v=c[j>>2]|0;c[j>>2]=v+1;a[s+v>>0]=b;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=(c[j>>2]|0)/2|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<3)+4>>0]=1}while(0);c[k>>2]=(c[k>>2]|0)+1}if((t|0)==6){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[l>>2]<<3)+4>>0]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[l>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=30.0;Ui(c[g>>2]|0,1,0);c[f>>2]=0;v=c[f>>2]|0;i=u;return v|0}c[(c[g>>2]|0)+20>>2]=2;c[(c[g>>2]|0)+28>>2]=1;if((c[j>>2]|0)>0?(c[r>>2]=s,v=Wb(14418,r)|0,c[(c[g>>2]|0)+24>>2]=v,0==(v|0)):0){c[f>>2]=7;v=c[f>>2]|0;i=u;return v|0}v=(c[p>>2]|0)+40|0;t=(c[j>>2]|0)+1|0;t=KH(c[v>>2]|0,c[v+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;v=m;c[v>>2]=t;c[v+4>>2]=C;v=m;h[(c[g>>2]|0)+40>>3]=(+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0))*6.0;v=m;Ui(c[g>>2]|0,c[v>>2]|0,c[v+4>>2]|0);c[f>>2]=c[q>>2];v=c[f>>2]|0;i=u;return v|0}function xh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qh(c[d>>2]|0);i=b;return 0}function yh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+48|0;g=f;l=f+36|0;b=f+32|0;d=f+28|0;e=f+24|0;c[l>>2]=a;c[b>>2]=c[l>>2];l=c[(c[b>>2]|0)+32>>2]|0;k=c[(c[b>>2]|0)+28>>2]|0;j=c[(c[b>>2]|0)+32>>2]|0;h=c[(c[b>>2]|0)+28>>2]|0;a=c[(c[b>>2]|0)+32>>2]|0;c[g>>2]=c[(c[b>>2]|0)+28>>2];c[g+4>>2]=l;c[g+8>>2]=k;c[g+12>>2]=j;c[g+16>>2]=h;c[g+20>>2]=a;c[e>>2]=Wb(16170,g)|0;if(c[e>>2]|0){c[d>>2]=Zc(c[(c[b>>2]|0)+12>>2]|0,c[e>>2]|0,0,0,0)|0;Sb(c[e>>2]|0)}else c[d>>2]=7;if(c[d>>2]|0){l=c[d>>2]|0;i=f;return l|0}Qh(c[b>>2]|0);l=c[d>>2]|0;i=f;return l|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=7;c[f>>2]=Rb(248)|0;if(c[f>>2]|0){BH(c[f>>2]|0,0,248)|0;c[c[f>>2]>>2]=c[d>>2];c[g>>2]=0}c[c[e>>2]>>2]=c[f>>2];i=h;return c[g>>2]|0}function Ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f+8|0;b=f+4|0;d=f;c[g>>2]=a;c[e>>2]=c[c[g>>2]>>2];c[d>>2]=c[g>>2];Si(c[d>>2]|0);Sb(c[(c[d>>2]|0)+32>>2]|0);c[b>>2]=0;while(1){if((c[b>>2]|0)>=5)break;Ph(c[e>>2]|0,c[(c[d>>2]|0)+64+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Sb(c[d>>2]|0);i=f;return 0}function Bh(b,e,f,g,j){b=b|0;e=e|0;f=f|0;g=g|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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0.0;A=i;i=i+80|0;v=A+40|0;D=A+36|0;B=A+52|0;k=A+68|0;l=A+16|0;m=A+32|0;y=A+28|0;w=A+56|0;x=A+72|0;q=A+76|0;z=A+44|0;n=A+24|0;t=A+20|0;r=A+48|0;p=A;o=A+8|0;s=A+60|0;u=A+64|0;c[D>>2]=b;c[B>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=j;c[y>>2]=c[c[D>>2]>>2];c[w>>2]=c[D>>2];c[x>>2]=0;c[z>>2]=0;c[n>>2]=0;Ih(c[y>>2]|0);Si(c[w>>2]|0);Sb(c[(c[w>>2]|0)+32>>2]|0);BH(c[w>>2]|0,0,248)|0;c[c[w>>2]>>2]=c[y>>2];c[(c[w>>2]|0)+8>>2]=c[B>>2];do if((c[B>>2]|0)==1){D=mc(c[c[m>>2]>>2]|0)|0;g=p;c[g>>2]=D;c[g+4>>2]=C;g=o;c[g>>2]=0;c[g+4>>2]=0;g=p;c[z>>2]=Ai(c[y>>2]|0,c[g>>2]|0,c[g+4>>2]|0,t,o)|0;g=c[w>>2]|0;if((c[z>>2]|0)==0&(c[t>>2]|0)!=0){c[r>>2]=Oi(g,0.0,0)|0;c[(c[w>>2]|0)+64>>2]=c[t>>2];w=o;B=c[w+4>>2]|0;D=(c[r>>2]|0)+8|0;c[D>>2]=c[w>>2];c[D+4>>2]=B;a[(c[r>>2]|0)+17>>0]=1;D=p;c[z>>2]=li(c[y>>2]|0,c[t>>2]|0,c[D>>2]|0,c[D+4>>2]|0,n)|0;a[(c[r>>2]|0)+18>>0]=c[n>>2];break}else{a[g+4>>0]=1;break}}else{c[z>>2]=yi(c[y>>2]|0,1,0,0,x)|0;a:do if((c[z>>2]|0)==0&(c[l>>2]|0)>0){D=Rb((c[l>>2]|0)*24|0)|0;c[(c[w>>2]|0)+16>>2]=D;c[(c[w>>2]|0)+12>>2]=c[l>>2];if(!(c[(c[w>>2]|0)+16>>2]|0)){c[z>>2]=7;break}BH(c[(c[w>>2]|0)+16>>2]|0,0,(c[l>>2]|0)*24|0)|0;BH((c[w>>2]|0)+84|0,0,(c[(c[y>>2]|0)+24>>2]|0)+1<<2|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break a;c[s>>2]=(c[(c[w>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);c[(c[s>>2]|0)+4>>2]=a[(c[k>>2]|0)+(c[q>>2]<<1)>>0];c[c[s>>2]>>2]=(a[(c[k>>2]|0)+((c[q>>2]<<1)+1)>>0]|0)-48;g=c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0;if((c[(c[s>>2]|0)+4>>2]|0)>=70){c[z>>2]=Ti(g,c[s>>2]|0)|0;if(c[z>>2]|0)break a;c[(c[(c[s>>2]|0)+16>>2]|0)+28>>2]=d[(c[y>>2]|0)+20>>0]<<1;c[(c[(c[s>>2]|0)+16>>2]|0)+24>>2]=(c[w>>2]|0)+84;c[(c[(c[s>>2]|0)+16>>2]|0)+36>>2]=(c[(c[y>>2]|0)+24>>2]|0)+1}else{E=+kc(g);h[(c[s>>2]|0)+8>>3]=E}c[q>>2]=(c[q>>2]|0)+1}}while(0);if(!(c[z>>2]|0)){c[u>>2]=Oi(c[w>>2]|0,0.0,(c[(c[y>>2]|0)+24>>2]|0)+1&255)|0;if(c[u>>2]|0){D=(c[u>>2]|0)+8|0;c[D>>2]=1;c[D+4>>2]=0;a[(c[u>>2]|0)+18>>0]=0;a[(c[u>>2]|0)+17>>0]=1;c[(c[w>>2]|0)+64>>2]=c[x>>2];c[x>>2]=0;c[z>>2]=Ki(c[w>>2]|0)|0;break}c[v>>2]=7;D=c[v>>2]|0;i=A;return D|0}}while(0);Ph(c[y>>2]|0,c[x>>2]|0)|0;Qh(c[y>>2]|0);c[v>>2]=c[z>>2];D=c[v>>2]|0;i=A;return D|0}function Ch(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=0;Ji(c[e>>2]|0);c[b>>2]=Ki(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function Dh(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;b=e;c[f>>2]=a;c[b>>2]=c[f>>2];i=e;return d[(c[b>>2]|0)+4>>0]|0|0}function Eh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;m=p;r=p+16|0;f=p+28|0;h=p+4|0;o=p+32|0;q=p+36|0;j=p+12|0;n=p+24|0;l=p+20|0;k=p+8|0;c[r>>2]=a;c[f>>2]=b;c[h>>2]=e;c[o>>2]=c[c[r>>2]>>2];c[q>>2]=c[r>>2];c[j>>2]=Gi(c[q>>2]|0)|0;c[l>>2]=0;c[k>>2]=Hi(c[q>>2]|0,l)|0;if(c[l>>2]|0){c[m>>2]=c[l>>2];r=c[m>>2]|0;i=p;return r|0}if(!(c[j>>2]|0)){c[m>>2]=0;r=c[m>>2]|0;i=p;return r|0}do if(c[h>>2]|0){if(c[l>>2]|0){c[m>>2]=c[l>>2];r=c[m>>2]|0;i=p;return r|0}Ii(c[o>>2]|0,c[k>>2]|0,d[(c[j>>2]|0)+18>>0]|0,(c[h>>2]|0)-1|0,n);f=c[f>>2]|0;if(!(d[(c[o>>2]|0)+21>>0]|0)){qc(f,+g[n>>2]);break}else{sc(f,c[n>>2]|0);break}}else{q=c[f>>2]|0;r=ii(c[o>>2]|0,c[k>>2]|0,d[(c[j>>2]|0)+18>>0]|0)|0;tc(q,r,C)}while(0);c[m>>2]=0;r=c[m>>2]|0;i=p;return r|0}function Fh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=Gi(c[g>>2]|0)|0;c[j>>2]=0;c[h>>2]=Hi(c[g>>2]|0,j)|0;if(!((c[j>>2]|0)==0&(c[f>>2]|0)!=0)){l=c[j>>2]|0;i=k;return l|0}a=ii(c[c[g>>2]>>2]|0,c[h>>2]|0,d[(c[f>>2]|0)+18>>0]|0)|0;l=c[e>>2]|0;c[l>>2]=a;c[l+4>>2]=C;l=c[j>>2]|0;i=k;return l|0}function Gh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|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.0;u=i;i=i+96|0;v=u+72|0;h=u+60|0;j=u+80|0;k=u+52|0;p=u+76|0;q=u+84|0;m=u;l=u+68|0;n=u+48|0;s=u+64|0;o=u+56|0;r=u+88|0;c[v>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=c[v>>2];c[q>>2]=0;c[l>>2]=0;Ih(c[p>>2]|0);if((c[h>>2]|0)>1){v=(d[(c[p>>2]|0)+21>>0]|0|0)==0;c[n>>2]=0;a:do if(v){while(1){if((c[n>>2]|0)>=((d[(c[p>>2]|0)+20>>0]|0)<<1|0))break a;w=+Jh(c[(c[j>>2]|0)+((c[n>>2]|0)+3<<2)>>2]|0);g[m+8+(c[n>>2]<<2)>>2]=w;w=+Kh(c[(c[j>>2]|0)+((c[n>>2]|0)+4<<2)>>2]|0);g[m+8+((c[n>>2]|0)+1<<2)>>2]=w;if(+g[m+8+(c[n>>2]<<2)>>2]>+g[m+8+((c[n>>2]|0)+1<<2)>>2])break;c[n>>2]=(c[n>>2]|0)+2}c[q>>2]=19;v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}else{while(1){if((c[n>>2]|0)>=((d[(c[p>>2]|0)+20>>0]|0)<<1|0))break a;v=lc(c[(c[j>>2]|0)+((c[n>>2]|0)+3<<2)>>2]|0)|0;c[m+8+(c[n>>2]<<2)>>2]=v;v=lc(c[(c[j>>2]|0)+((c[n>>2]|0)+4<<2)>>2]|0)|0;c[m+8+((c[n>>2]|0)+1<<2)>>2]=v;if((c[m+8+(c[n>>2]<<2)>>2]|0)>(c[m+8+((c[n>>2]|0)+1<<2)>>2]|0))break;c[n>>2]=(c[n>>2]|0)+2}c[q>>2]=19;v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}while(0);if((nc(c[(c[j>>2]|0)+8>>2]|0)|0)!=5){a=mc(c[(c[j>>2]|0)+8>>2]|0)|0;v=m;c[v>>2]=a;c[v+4>>2]=C;if(!((nc(c[c[j>>2]>>2]|0)|0)!=5?(a=mc(c[c[j>>2]>>2]|0)|0,v=m,!((a|0)!=(c[v>>2]|0)?1:(C|0)!=(c[v+4>>2]|0))):0))t=14;do if((t|0)==14?(v=m,Tc(c[(c[p>>2]|0)+68>>2]|0,1,c[v>>2]|0,c[v+4>>2]|0)|0,c[s>>2]=Cc(c[(c[p>>2]|0)+68>>2]|0)|0,c[q>>2]=fc(c[(c[p>>2]|0)+68>>2]|0)|0,100==(c[s>>2]|0)):0){if((dd(c[(c[p>>2]|0)+12>>2]|0)|0)==5){v=m;c[q>>2]=Lh(c[p>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;break}c[q>>2]=19;v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}while(0);c[l>>2]=1}}if((nc(c[c[j>>2]>>2]|0)|0)!=5){t=c[p>>2]|0;v=mc(c[c[j>>2]>>2]|0)|0;c[q>>2]=Lh(t,v,C)|0}if(!((c[q>>2]|0)==0&(c[h>>2]|0)>1)){v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}c[o>>2]=0;if(!(c[l>>2]|0))c[q>>2]=Mh(c[p>>2]|0,m)|0;s=m;t=c[s+4>>2]|0;v=c[k>>2]|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;if(!(c[q>>2]|0))c[q>>2]=Nh(c[p>>2]|0,m,0,o)|0;if(c[q>>2]|0){v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}c[(c[p>>2]|0)+52>>2]=-1;c[q>>2]=Oh(c[p>>2]|0,c[o>>2]|0,m,0)|0;c[r>>2]=Ph(c[p>>2]|0,c[o>>2]|0)|0;if(c[q>>2]|0){v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}c[q>>2]=c[r>>2];v=c[p>>2]|0;Qh(v);v=c[q>>2]|0;i=u;return v|0}function Hh(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;g=i;i=i+64|0;h=g;o=g+52|0;p=g+48|0;d=g+44|0;e=g+40|0;f=g+36|0;c[o>>2]=a;c[p>>2]=b;c[d>>2]=c[o>>2];c[e>>2]=7;o=c[(c[d>>2]|0)+32>>2]|0;n=c[p>>2]|0;m=c[(c[d>>2]|0)+28>>2]|0;l=c[(c[d>>2]|0)+32>>2]|0;k=c[p>>2]|0;j=c[(c[d>>2]|0)+28>>2]|0;a=c[(c[d>>2]|0)+32>>2]|0;b=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+28>>2];c[h+4>>2]=o;c[h+8>>2]=n;c[h+12>>2]=m;c[h+16>>2]=l;c[h+20>>2]=k;c[h+24>>2]=j;c[h+28>>2]=a;c[h+32>>2]=b;c[f>>2]=Wb(16025,h)|0;if(!(c[f>>2]|0)){p=c[e>>2]|0;i=g;return p|0}c[e>>2]=Zc(c[(c[d>>2]|0)+12>>2]|0,c[f>>2]|0,0,0,0)|0;Sb(c[f>>2]|0);p=c[e>>2]|0;i=g;return p|0}function Ih(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+36|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,j=0.0;e=i;i=i+16|0;f=e+12|0;b=e;d=e+8|0;c[f>>2]=a;h[b>>3]=+kc(c[f>>2]|0);g[d>>2]=+h[b>>3];if(!(+g[d>>2]>+h[b>>3])){j=+g[d>>2];i=e;return +j}g[d>>2]=+h[b>>3]*(+h[b>>3]<0.0?1.0000001192092896:.9999998807907104);j=+g[d>>2];i=e;return +j}function Kh(a){a=a|0;var b=0,d=0,e=0,f=0,j=0.0;e=i;i=i+16|0;f=e+12|0;b=e;d=e+8|0;c[f>>2]=a;h[b>>3]=+kc(c[f>>2]|0);g[d>>2]=+h[b>>3];if(!(+g[d>>2]<+h[b>>3])){j=+g[d>>2];i=e;return +j}g[d>>2]=+h[b>>3]*(+h[b>>3]<0.0?.9999998807907104:1.0000001192092896);j=+g[d>>2];i=e;return +j}function Lh(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,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;l=p+16|0;e=p;o=p+20|0;m=p+32|0;f=p+28|0;n=p+44|0;j=p+24|0;k=p+36|0;h=p+40|0;g=p+8|0;c[l>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;c[m>>2]=0;c[o>>2]=yi(c[l>>2]|0,1,0,0,n)|0;if(!(c[o>>2]|0)){a=e;c[o>>2]=Ai(c[l>>2]|0,c[a>>2]|0,c[a+4>>2]|0,m,0)|0}if(!(c[o>>2]|0)){a=e;c[o>>2]=li(c[l>>2]|0,c[m>>2]|0,c[a>>2]|0,c[a+4>>2]|0,f)|0;if(!(c[o>>2]|0))c[o>>2]=Bi(c[l>>2]|0,c[m>>2]|0,c[f>>2]|0,0)|0;c[j>>2]=Ph(c[l>>2]|0,c[m>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=c[j>>2]}if(!(c[o>>2]|0)){j=e;Tc(c[(c[l>>2]|0)+76>>2]|0,1,c[j>>2]|0,c[j+4>>2]|0)|0;Cc(c[(c[l>>2]|0)+76>>2]|0)|0;c[o>>2]=fc(c[(c[l>>2]|0)+76>>2]|0)|0}if(((c[o>>2]|0)==0?(c[(c[l>>2]|0)+24>>2]|0)>0:0)?(mi((c[(c[n>>2]|0)+24>>2]|0)+2|0)|0)==1:0){a=ii(c[l>>2]|0,c[n>>2]|0,0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;j=g;c[o>>2]=yi(c[l>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[n>>2]|0,h)|0;if(!(c[o>>2]|0))c[o>>2]=Ci(c[l>>2]|0,c[h>>2]|0,(c[(c[l>>2]|0)+24>>2]|0)-1|0)|0;c[k>>2]=Ph(c[l>>2]|0,c[h>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=c[k>>2];if(!(c[o>>2]|0)){k=(c[l>>2]|0)+24|0;c[k>>2]=(c[k>>2]|0)+-1;ri(c[(c[n>>2]|0)+24>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=1}}c[m>>2]=c[(c[l>>2]|0)+48>>2];while(1){b=(c[o>>2]|0)==0;if(!(c[m>>2]|0))break;if(b)c[o>>2]=Di(c[l>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+48>>2]=c[(c[m>>2]|0)+28>>2];Sb(c[m>>2]|0);c[m>>2]=c[(c[l>>2]|0)+48>>2]}d=Ph(c[l>>2]|0,c[n>>2]|0)|0;if(!b){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=d;o=c[o>>2]|0;i=p;return o|0}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;Uc(c[(c[g>>2]|0)+72>>2]|0,1)|0;Uc(c[(c[g>>2]|0)+72>>2]|0,2)|0;Cc(c[(c[g>>2]|0)+72>>2]|0)|0;c[d>>2]=fc(c[(c[g>>2]|0)+72>>2]|0)|0;a=kd(c[(c[g>>2]|0)+12>>2]|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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;A=i;i=i+144|0;f=A+104|0;g=A+116|0;j=A+92|0;k=A+132|0;y=A+120|0;u=A+124|0;x=A+100|0;t=A+88|0;s=A+72|0;q=A+80|0;p=A;v=A+128|0;o=A+8|0;w=A+112|0;l=A+108|0;n=A+96|0;r=A+56|0;m=A+64|0;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;c[y>>2]=yi(c[f>>2]|0,1,0,0,x)|0;c[u>>2]=0;while(1){if(c[y>>2]|0){z=15;break}if((c[u>>2]|0)>=((c[(c[f>>2]|0)+24>>2]|0)-(c[j>>2]|0)|0)){z=15;break}e=s;c[e>>2]=0;c[e+4>>2]=0;h[q>>3]=0.0;h[p>>3]=0.0;c[v>>2]=mi((c[(c[x>>2]|0)+24>>2]|0)+2|0)|0;c[l>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0))break;c[n>>2]=0;ci(c[f>>2]|0,c[x>>2]|0,c[t>>2]|0,o);h[r>>3]=+zi(c[f>>2]|0,o,c[g>>2]|0);h[m>>3]=+xi(c[f>>2]|0,o);if((c[t>>2]|0)!=0?!(+h[r>>3]<+h[q>>3]):0){if(+h[r>>3]==+h[q>>3]?+h[m>>3]<+h[p>>3]:0)z=10}else z=10;if((z|0)==10){z=0;c[n>>2]=1}if(c[n>>2]|0){h[q>>3]=+h[r>>3];h[p>>3]=+h[m>>3];b=o;a=c[b+4>>2]|0;e=s;c[e>>2]=c[b>>2];c[e+4>>2]=a}c[t>>2]=(c[t>>2]|0)+1}Sb(c[l>>2]|0);e=s;c[y>>2]=yi(c[f>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[x>>2]|0,w)|0;Ph(c[f>>2]|0,c[x>>2]|0)|0;c[x>>2]=c[w>>2];c[u>>2]=(c[u>>2]|0)+1}if((z|0)==15){c[c[k>>2]>>2]=c[x>>2];i=A;return c[y>>2]|0}return 0}function Oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;j=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;f=m;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=0;if((c[k>>2]|0)>0?(a=c[h>>2]|0,c[f>>2]=Vh(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,(c[f>>2]|0)!=0):0){Ph(c[g>>2]|0,c[c[f>>2]>>2]|0)|0;Wh(c[j>>2]|0);c[c[f>>2]>>2]=c[j>>2]}if(Xh(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0){if((c[k>>2]|0)>(c[(c[g>>2]|0)+52>>2]|0)?(a=(c[j>>2]|0)+8|0,!((c[a>>2]|0)==1&(c[a+4>>2]|0)==0)):0){c[(c[g>>2]|0)+52>>2]=c[k>>2];c[l>>2]=Zh(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Yh(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}c[l>>2]=_h(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}g=c[g>>2]|0;e=c[h>>2]|0;d=c[e>>2]|0;e=c[e+4>>2]|0;f=(c[j>>2]|0)+8|0;b=c[f>>2]|0;f=c[f+4>>2]|0;if(!(c[k>>2]|0)){c[l>>2]=$h(g,d,e,b,f)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=ai(g,d,e,b,f)|0;l=c[l>>2]|0;i=m;return l|0}return 0}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[e>>2]|0)+16>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+8|0;if((c[a>>2]|0)==1&(c[a+4>>2]|0)==0)c[(c[d>>2]|0)+24>>2]=-1;if(c[c[e>>2]>>2]|0)c[f>>2]=Ph(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=Rh(c[d>>2]|0,c[e>>2]|0)|0;Sh(c[d>>2]|0,c[e>>2]|0);Sb(c[e>>2]|0);f=c[f>>2]|0;i=g;return f|0}function Qh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=(c[b>>2]|0)+36|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+36>>2]|0){i=d;return}ec(c[(c[b>>2]|0)+56>>2]|0)|0;ec(c[(c[b>>2]|0)+60>>2]|0)|0;ec(c[(c[b>>2]|0)+64>>2]|0)|0;ec(c[(c[b>>2]|0)+68>>2]|0)|0;ec(c[(c[b>>2]|0)+72>>2]|0)|0;ec(c[(c[b>>2]|0)+76>>2]|0)|0;ec(c[(c[b>>2]|0)+80>>2]|0)|0;ec(c[(c[b>>2]|0)+84>>2]|0)|0;ec(c[(c[b>>2]|0)+88>>2]|0)|0;Sb(c[b>>2]|0);i=d;return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;if(!(c[(c[e>>2]|0)+20>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[f>>2]=c[(c[d>>2]|0)+60>>2];a=(c[e>>2]|0)+8|0;b=c[f>>2]|0;if((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0){a=(c[e>>2]|0)+8|0;Tc(b,1,c[a>>2]|0,c[a+4>>2]|0)|0}else Uc(b,1)|0;Qc(c[f>>2]|0,2,c[(c[e>>2]|0)+24>>2]|0,c[(c[d>>2]|0)+16>>2]|0,0)|0;Cc(c[f>>2]|0)|0;c[(c[e>>2]|0)+20>>2]=0;c[g>>2]=fc(c[f>>2]|0)|0;f=(c[e>>2]|0)+8|0;if(!((c[f>>2]|0)==0&(c[f+4>>2]|0)==0&(c[g>>2]|0)==0)){g=c[g>>2]|0;i=h;return g|0}a=kd(c[(c[d>>2]|0)+12>>2]|0)|0;f=(c[e>>2]|0)+8|0;c[f>>2]=a;c[f+4>>2]=C;Uh(c[d>>2]|0,c[e>>2]|0);g=c[g>>2]|0;i=h;return g|0}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;a=(c[e>>2]|0)+8|0;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){i=g;return}a=(c[e>>2]|0)+8|0;a=Th(c[a>>2]|0,c[a+4>>2]|0)|0;c[f>>2]=(c[d>>2]|0)+92+(a<<2);while(1){if((c[c[f>>2]>>2]|0)==(c[e>>2]|0))break;c[f>>2]=(c[c[f>>2]>>2]|0)+28}c[c[f>>2]>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=0;i=g;return}function Th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=e;b=LH(c[b>>2]|0,c[b+4>>2]|0,97,0)|0;i=d;return b|0}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;a=(c[g>>2]|0)+8|0;c[e>>2]=Th(c[a>>2]|0,c[a+4>>2]|0)|0;c[(c[g>>2]|0)+28>>2]=c[(c[f>>2]|0)+92+(c[e>>2]<<2)>>2];c[(c[f>>2]|0)+92+(c[e>>2]<<2)>>2]=c[g>>2];i=d;return}function Vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;a=Th(c[a>>2]|0,c[a+4>>2]|0)|0;c[f>>2]=c[(c[h>>2]|0)+92+(a<<2)>>2];while(1){if(!(c[f>>2]|0)){b=5;break}a=(c[f>>2]|0)+8|0;h=e;if(!((c[a>>2]|0)!=(c[h>>2]|0)?1:(c[a+4>>2]|0)!=(c[h+4>>2]|0))){b=5;break}c[f>>2]=c[(c[f>>2]|0)+28>>2]}if((b|0)==5){i=g;return c[f>>2]|0}return 0}function Wh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=(c[b>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function Xh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=((c[(c[f>>2]|0)+16>>2]|0)-4|0)/(d[(c[f>>2]|0)+22>>0]|0|0)|0;c[j>>2]=mi((c[(c[g>>2]|0)+24>>2]|0)+2|0)|0;if((c[j>>2]|0)>=(c[k>>2]|0)){b=c[j>>2]|0;a=c[k>>2]|0;a=(b|0)==(a|0);a=a&1;i=l;return a|0}fi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);ri((c[(c[g>>2]|0)+24>>2]|0)+2|0,(c[j>>2]|0)+1|0)|0;c[(c[g>>2]|0)+20>>2]=1;b=c[j>>2]|0;a=c[k>>2]|0;a=(b|0)==(a|0);a=a&1;i=l;return a|0}function Yh(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+176|0;g=y+152|0;h=y+156|0;j=y+116|0;k=y+136|0;m=y+112|0;s=y+148|0;w=y+132|0;r=y+128|0;l=y+144|0;f=y+164|0;t=y+160|0;v=y+120|0;q=y+56|0;x=y;u=y+124|0;n=y+140|0;o=y+48|0;p=y+104|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[s>>2]=0;c[w>>2]=0;c[r>>2]=mi((c[(c[h>>2]|0)+24>>2]|0)+2|0)|0;c[t>>2]=0;c[v>>2]=0;c[l>>2]=Rb(((c[r>>2]|0)+1|0)*52|0)|0;a:do if(c[l>>2]|0){c[f>>2]=(c[l>>2]|0)+(((c[r>>2]|0)+1|0)*48|0);BH(c[f>>2]|0,0,(c[r>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){d=c[g>>2]|0;e=c[h>>2]|0;if((c[m>>2]|0)>=(c[r>>2]|0))break;ci(d,e,c[m>>2]|0,(c[l>>2]|0)+((c[m>>2]|0)*48|0)|0);c[m>>2]=(c[m>>2]|0)+1}oi(d,e);e=(c[l>>2]|0)+((c[r>>2]|0)*48|0)|0;d=c[j>>2]|0;f=e+48|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(f|0));c[r>>2]=(c[r>>2]|0)+1;a=(c[h>>2]|0)+8|0;if((c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[v>>2]=qi(c[g>>2]|0,c[h>>2]|0)|0;c[t>>2]=qi(c[g>>2]|0,c[h>>2]|0)|0;a=(c[g>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[h>>2]|0)+20>>2]=1;ri(c[(c[h>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0}else{c[t>>2]=c[h>>2];c[v>>2]=qi(c[g>>2]|0,c[c[t>>2]>>2]|0)|0;Wh(c[t>>2]|0)}if(!((c[t>>2]|0)!=0&(c[v>>2]|0)!=0)){c[w>>2]=7;break}BH(c[(c[t>>2]|0)+24>>2]|0,0,c[(c[g>>2]|0)+16>>2]|0)|0;BH(c[(c[v>>2]|0)+24>>2]|0,0,c[(c[g>>2]|0)+16>>2]|0)|0;c[w>>2]=si(c[g>>2]|0,c[l>>2]|0,c[r>>2]|0,c[t>>2]|0,c[v>>2]|0,q,x)|0;if((c[w>>2]|0)==0?(r=Rh(c[g>>2]|0,c[v>>2]|0)|0,c[w>>2]=r,0==(r|0)):0){r=(c[t>>2]|0)+8|0;if((0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0)?(r=Rh(c[g>>2]|0,c[t>>2]|0)|0,c[w>>2]=r,0!=(r|0)):0)break;r=(c[v>>2]|0)+8|0;a=c[r+4>>2]|0;b=x;c[b>>2]=c[r>>2];c[b+4>>2]=a;b=(c[t>>2]|0)+8|0;a=c[b+4>>2]|0;r=q;c[r>>2]=c[b>>2];c[r+4>>2]=a;r=(c[h>>2]|0)+8|0;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[w>>2]=Oh(c[g>>2]|0,c[c[t>>2]>>2]|0,q,(c[k>>2]|0)+1|0)|0;if(c[w>>2]|0)break}else{c[u>>2]=c[c[t>>2]>>2];c[w>>2]=bi(c[g>>2]|0,c[t>>2]|0,n)|0;if(!(c[w>>2]|0)){fi(c[g>>2]|0,c[u>>2]|0,q,c[n>>2]|0);c[w>>2]=_h(c[g>>2]|0,c[u>>2]|0,q)|0}if(c[w>>2]|0)break}x=Oh(c[g>>2]|0,c[c[v>>2]>>2]|0,x,(c[k>>2]|0)+1|0)|0;c[w>>2]=x;if(!x){c[m>>2]=0;while(1){x=c[m>>2]|0;if((x|0)>=(mi((c[(c[v>>2]|0)+24>>2]|0)+2|0)|0))break;x=ii(c[g>>2]|0,c[v>>2]|0,c[m>>2]|0)|0;u=o;c[u>>2]=x;c[u+4>>2]=C;u=o;c[w>>2]=ti(c[g>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[k>>2]|0)|0;u=o;x=c[j>>2]|0;if((c[u>>2]|0)==(c[x>>2]|0)?(c[u+4>>2]|0)==(c[x+4>>2]|0):0)c[s>>2]=1;if(c[w>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}x=(c[h>>2]|0)+8|0;b:do if(!((c[x>>2]|0)==1&(c[x+4>>2]|0)==0)){if(!(c[s>>2]|0)){x=c[j>>2]|0;c[w>>2]=ti(c[g>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[t>>2]|0,c[k>>2]|0)|0}}else{c[m>>2]=0;while(1){x=c[m>>2]|0;if((x|0)>=(mi((c[(c[t>>2]|0)+24>>2]|0)+2|0)|0))break b;u=ii(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;x=p;c[x>>2]=u;c[x+4>>2]=C;x=p;c[w>>2]=ti(c[g>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[t>>2]|0,c[k>>2]|0)|0;if(c[w>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}}while(0);if(!(c[w>>2]|0)){c[w>>2]=Ph(c[g>>2]|0,c[v>>2]|0)|0;c[v>>2]=0}if(!(c[w>>2]|0)){c[w>>2]=Ph(c[g>>2]|0,c[t>>2]|0)|0;c[t>>2]=0}}}}else c[w>>2]=7;while(0);Ph(c[g>>2]|0,c[v>>2]|0)|0;Ph(c[g>>2]|0,c[t>>2]|0)|0;Sb(c[l>>2]|0);i=y;return c[w>>2]|0}function Zh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var j=0,k=0.0,l=0.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;F=i;i=i+128|0;r=F+76|0;s=F+84|0;t=F+48|0;u=F+108|0;v=F+72|0;x=F+56|0;o=F+60|0;w=F+68|0;n=F+104|0;z=F+112|0;m=F+8|0;q=F+80|0;y=F+88|0;D=F+92|0;j=F+96|0;p=F;A=F+52|0;C=F+64|0;B=F+100|0;E=F+116|0;c[s>>2]=a;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[D>>2]=0;e=m;b=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(b|0));c[z>>2]=(mi((c[(c[t>>2]|0)+24>>2]|0)+2|0)|0)+1;c[j>>2]=(c[z>>2]|0)+1&-2;c[w>>2]=Rb(c[j>>2]<<6)|0;if(!(c[w>>2]|0)){c[r>>2]=7;E=c[r>>2]|0;i=F;return E|0}c[x>>2]=(c[w>>2]|0)+((c[j>>2]|0)*48|0);c[o>>2]=(c[x>>2]|0)+(c[j>>2]<<2);c[n>>2]=(c[o>>2]|0)+(c[j>>2]<<2);c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;if((c[y>>2]|0)==((c[z>>2]|0)-1|0)){e=(c[w>>2]|0)+((c[y>>2]|0)*48|0)|0;f=c[u>>2]|0;b=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(b|0))}else ci(c[s>>2]|0,c[t>>2]|0,c[y>>2]|0,(c[w>>2]|0)+((c[y>>2]|0)*48|0)|0);c[(c[x>>2]|0)+(c[y>>2]<<2)>>2]=c[y>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[s>>2]|0)+20>>0]|0|0))break;f=(c[w>>2]|0)+((c[y>>2]|0)*48|0)+8+(c[q>>2]<<1<<2)|0;if(!(d[(c[s>>2]|0)+21>>0]|0))k=+g[f>>2];else k=+(c[f>>2]|0);f=m+(c[q>>2]<<3)|0;h[f>>3]=+h[f>>3]+k;f=(c[w>>2]|0)+((c[y>>2]|0)*48|0)+8+((c[q>>2]<<1)+1<<2)|0;if(!(d[(c[s>>2]|0)+21>>0]|0))k=+g[f>>2];else k=+(c[f>>2]|0);f=m+(c[q>>2]<<3)|0;h[f>>3]=+h[f>>3]+k;c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[s>>2]|0)+20>>0]|0|0))break;h[m+(c[q>>2]<<3)>>3]=+h[m+(c[q>>2]<<3)>>3]/(+(c[z>>2]|0)*2.0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;h[(c[n>>2]|0)+(c[y>>2]<<3)>>3]=0.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(d[(c[s>>2]|0)+20>>0]|0|0))break;f=(c[w>>2]|0)+((c[y>>2]|0)*48|0)+8+((c[q>>2]<<1)+1<<2)|0;if(!(d[(c[s>>2]|0)+21>>0]|0))l=+g[f>>2];else l=+(c[f>>2]|0);f=(c[w>>2]|0)+((c[y>>2]|0)*48|0)+8+(c[q>>2]<<1<<2)|0;if(!(d[(c[s>>2]|0)+21>>0]|0))k=+g[f>>2];else k=+(c[f>>2]|0);h[p>>3]=l-k;f=(c[n>>2]|0)+(c[y>>2]<<3)|0;h[f>>3]=+h[f>>3]+(+h[p>>3]-+h[m+(c[q>>2]<<3)>>3])*(+h[p>>3]-+h[m+(c[q>>2]<<3)>>3]);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}ni(c[x>>2]|0,c[z>>2]|0,c[n>>2]|0,c[o>>2]|0);oi(c[s>>2]|0,c[t>>2]|0);c[y>>2]=0;while(1){if(c[D>>2]|0)break;if((c[y>>2]|0)>=((c[z>>2]|0)-(((((c[(c[s>>2]|0)+16>>2]|0)-4|0)/(d[(c[s>>2]|0)+22>>0]|0|0)|0|0)/3|0)+1)|0))break;c[A>>2]=(c[w>>2]|0)+((c[(c[x>>2]|0)+(c[y>>2]<<2)>>2]|0)*48|0);Xh(c[s>>2]|0,c[t>>2]|0,c[A>>2]|0)|0;o=c[A>>2]|0;p=c[u>>2]|0;do if((c[o>>2]|0)==(c[p>>2]|0)?(c[o+4>>2]|0)==(c[p+4>>2]|0):0){j=c[s>>2]|0;b=c[A>>2]|0;a=c[b>>2]|0;b=c[b+4>>2]|0;f=(c[t>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!(c[v>>2]|0)){c[D>>2]=$h(j,a,b,e,f)|0;break}else{c[D>>2]=ai(j,a,b,e,f)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=pi(c[s>>2]|0,c[t>>2]|0)|0;while(1){if(c[D>>2]|0)break;if((c[y>>2]|0)>=(c[z>>2]|0))break;c[B>>2]=(c[w>>2]|0)+((c[(c[x>>2]|0)+(c[y>>2]<<2)>>2]|0)*48|0);c[D>>2]=Nh(c[s>>2]|0,c[B>>2]|0,c[v>>2]|0,C)|0;if((c[D>>2]|0)==0?(c[D>>2]=Oh(c[s>>2]|0,c[C>>2]|0,c[B>>2]|0,c[v>>2]|0)|0,c[E>>2]=Ph(c[s>>2]|0,c[C>>2]|0)|0,(c[D>>2]|0)==0):0)c[D>>2]=c[E>>2];c[y>>2]=(c[y>>2]|0)+1}Sb(c[w>>2]|0);c[r>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function _h(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,l=0,m=0,n=0;m=i;i=i+80|0;l=m+52|0;e=m+56|0;n=m+64|0;f=m+60|0;j=m+72|0;k=m+48|0;g=m;h=m+68|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[j>>2]=c[n>>2];while(1){if(!(c[c[j>>2]>>2]|0)){e=8;break}c[k>>2]=c[c[j>>2]>>2];if(bi(c[e>>2]|0,c[j>>2]|0,h)|0){e=4;break}ci(c[e>>2]|0,c[k>>2]|0,c[h>>2]|0,g);if(!(di(c[e>>2]|0,g,c[f>>2]|0)|0)){ei(c[e>>2]|0,g,c[f>>2]|0);fi(c[e>>2]|0,c[k>>2]|0,g,c[h>>2]|0)}c[j>>2]=c[k>>2]}if((e|0)==4){c[l>>2]=267;n=c[l>>2]|0;i=m;return n|0}else if((e|0)==8){c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}return 0}function $h(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+32|0;h=g+16|0;k=g+8|0;j=g;c[h>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;a=k;Tc(c[(c[h>>2]|0)+72>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0)|0;a=j;Tc(c[(c[h>>2]|0)+72>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;Cc(c[(c[h>>2]|0)+72>>2]|0)|0;a=fc(c[(c[h>>2]|0)+72>>2]|0)|0;i=g;return a|0}function ai(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+32|0;h=g+16|0;k=g+8|0;j=g;c[h>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;a=k;Tc(c[(c[h>>2]|0)+84>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0)|0;a=j;Tc(c[(c[h>>2]|0)+84>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;Cc(c[(c[h>>2]|0)+84>>2]|0)|0;a=fc(c[(c[h>>2]|0)+84>>2]|0)|0;i=g;return a|0}function bi(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[g>>2]>>2];if(c[j>>2]|0){d=(c[g>>2]|0)+8|0;c[e>>2]=li(c[f>>2]|0,c[j>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[h>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{c[c[h>>2]>>2]=-1;c[e>>2]=0;d=c[e>>2]|0;i=k;return d|0}return 0}function ci(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;m=k+8|0;o=k+16|0;n=k+20|0;l=k+24|0;h=k+4|0;j=k;g=k+12|0;c[m>>2]=a;c[o>>2]=b;c[n>>2]=e;c[l>>2]=f;b=ii(c[m>>2]|0,c[o>>2]|0,c[n>>2]|0)|0;a=c[l>>2]|0;c[a>>2]=b;c[a+4>>2]=C;c[h>>2]=(c[(c[o>>2]|0)+24>>2]|0)+(12+(_(d[(c[m>>2]|0)+22>>0]|0,c[n>>2]|0)|0));c[j>>2]=(c[h>>2]|0)+((d[(c[m>>2]|0)+20>>0]|0)<<3);c[g>>2]=(c[l>>2]|0)+8;while(1){if((c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;ji(c[h>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+4;c[g>>2]=(c[g>>2]|0)+4}i=k;return}function di(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+4|0;f=p+16|0;h=p+8|0;j=p+20|0;m=p+28|0;n=p;k=p+12|0;l=p+24|0;c[f>>2]=a;c[h>>2]=b;c[j>>2]=e;c[n>>2]=(d[(c[f>>2]|0)+21>>0]|0|0)==1&1;c[m>>2]=0;while(1){if((c[m>>2]|0)>=((d[(c[f>>2]|0)+20>>0]|0)<<1|0)){f=11;break}c[k>>2]=(c[h>>2]|0)+8+(c[m>>2]<<2);c[l>>2]=(c[j>>2]|0)+8+(c[m>>2]<<2);if(!(c[n>>2]|0)){if(+g[c[l>>2]>>2]<+g[c[k>>2]>>2]){f=9;break}if(+g[(c[l>>2]|0)+4>>2]>+g[(c[k>>2]|0)+4>>2]){f=9;break}}if(c[n>>2]|0){if((c[c[l>>2]>>2]|0)<(c[c[k>>2]>>2]|0)){f=9;break}if((c[(c[l>>2]|0)+4>>2]|0)>(c[(c[k>>2]|0)+4>>2]|0)){f=9;break}}c[m>>2]=(c[m>>2]|0)+2}if((f|0)==9){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}else if((f|0)==11){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}return 0}function ei(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;a=(d[(c[h>>2]|0)+21>>0]|0|0)==0;c[l>>2]=0;if(a){while(1){if((c[l>>2]|0)>=((d[(c[h>>2]|0)+20>>0]|0)<<1|0))break;b=c[l>>2]|0;if(+g[(c[j>>2]|0)+8+(c[l>>2]<<2)>>2]<+g[(c[k>>2]|0)+8+(c[l>>2]<<2)>>2])f=+g[(c[j>>2]|0)+8+(b<<2)>>2];else f=+g[(c[k>>2]|0)+8+(b<<2)>>2];g[(c[j>>2]|0)+8+(c[l>>2]<<2)>>2]=f;b=(c[l>>2]|0)+1|0;if(+g[(c[j>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]>+g[(c[k>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2])f=+g[(c[j>>2]|0)+8+(b<<2)>>2];else f=+g[(c[k>>2]|0)+8+(b<<2)>>2];g[(c[j>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]=f;c[l>>2]=(c[l>>2]|0)+2}i=m;return}else{while(1){if((c[l>>2]|0)>=((d[(c[h>>2]|0)+20>>0]|0)<<1|0))break;b=c[l>>2]|0;if((c[(c[j>>2]|0)+8+(c[l>>2]<<2)>>2]|0)<(c[(c[k>>2]|0)+8+(c[l>>2]<<2)>>2]|0))b=c[(c[j>>2]|0)+8+(b<<2)>>2]|0;else b=c[(c[k>>2]|0)+8+(b<<2)>>2]|0;c[(c[j>>2]|0)+8+(c[l>>2]<<2)>>2]=b;b=(c[l>>2]|0)+1|0;if((c[(c[j>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]|0)>(c[(c[k>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]|0))b=c[(c[j>>2]|0)+8+(b<<2)>>2]|0;else b=c[(c[k>>2]|0)+8+(b<<2)>>2]|0;c[(c[j>>2]|0)+8+((c[l>>2]|0)+1<<2)>>2]=b;c[l>>2]=(c[l>>2]|0)+2}i=m;return}}function fi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[n>>2]=f;a=4+(_(d[(c[g>>2]|0)+22>>0]|0,c[n>>2]|0)|0)|0;c[l>>2]=(c[(c[h>>2]|0)+24>>2]|0)+a;a=c[j>>2]|0;a=gi(c[l>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+a;c[k>>2]=0;while(1){if((c[k>>2]|0)>=((d[(c[g>>2]|0)+20>>0]|0)<<1|0))break;n=hi(c[l>>2]|0,(c[j>>2]|0)+8+(c[k>>2]<<2)|0)|0;c[l>>2]=(c[l>>2]|0)+n;c[k>>2]=(c[k>>2]|0)+1}c[(c[h>>2]|0)+20>>2]=1;i=m;return}function gi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,56)|0;a[c[g>>2]>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,48)|0;a[(c[g>>2]|0)+1>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,40)|0;a[(c[g>>2]|0)+2>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,32)|0;a[(c[g>>2]|0)+3>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,24)|0;a[(c[g>>2]|0)+4>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,16)|0;a[(c[g>>2]|0)+5>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,8)|0;a[(c[g>>2]|0)+6>>0]=b;b=h;b=FH(c[b>>2]|0,c[b+4>>2]|0,0)|0;a[(c[g>>2]|0)+7>>0]=b;i=f;return 8}function hi(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+8|0;h=e+4|0;g=e;c[f>>2]=b;c[h>>2]=d;c[g>>2]=c[c[h>>2]>>2];a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=(c[g>>2]|0)>>>0;i=e;return 4}function ii(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[g>>2]=b;c[h>>2]=e;a=4+(_(d[(c[j>>2]|0)+22>>0]|0,c[h>>2]|0)|0)|0;a=ki((c[(c[g>>2]|0)+24>>2]|0)+a|0)|0;i=f;return a|0}function ji(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=((d[c[h>>2]>>0]|0)<<24)+((d[(c[h>>2]|0)+1>>0]|0)<<16)+((d[(c[h>>2]|0)+2>>0]|0)<<8)+((d[(c[h>>2]|0)+3>>0]|0)<<0);c[c[f>>2]>>2]=c[g>>2];i=e;return}function ki(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;g=b;c[g>>2]=a;a=CH(d[c[g>>2]>>0]|0|0,0,56)|0;e=C;f=CH(d[(c[g>>2]|0)+1>>0]|0|0,0,48)|0;f=DH(a|0,e|0,f|0,C|0)|0;e=C;a=CH(d[(c[g>>2]|0)+2>>0]|0|0,0,40)|0;a=DH(f|0,e|0,a|0,C|0)|0;a=DH(a|0,C|0,0,d[(c[g>>2]|0)+3>>0]|0|0)|0;e=C;f=CH(d[(c[g>>2]|0)+4>>0]|0|0,0,24)|0;f=DH(a|0,e|0,f|0,C|0)|0;e=C;a=CH(d[(c[g>>2]|0)+5>>0]|0|0,0,16)|0;a=DH(f|0,e|0,a|0,C|0)|0;e=C;f=CH(d[(c[g>>2]|0)+6>>0]|0|0,0,8)|0;f=DH(a|0,e|0,f|0,C|0)|0;e=C;a=CH(d[(c[g>>2]|0)+7>>0]|0|0,0,0)|0;a=DH(f|0,e|0,a|0,C|0)|0;i=b;return a|0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;m=o+28|0;g=o+20|0;h=o+24|0;j=o;n=o+16|0;k=o+12|0;l=o+8|0;c[g>>2]=a;c[h>>2]=b;a=j;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[l>>2]=mi((c[(c[h>>2]|0)+24>>2]|0)+2|0)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){e=6;break}a=ii(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;f=j;d=c[k>>2]|0;if((a|0)==(c[f>>2]|0)?(C|0)==(c[f+4>>2]|0):0){e=4;break}c[k>>2]=d+1}if((e|0)==4){c[c[n>>2]>>2]=d;c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}else if((e|0)==6){c[m>>2]=267;n=c[m>>2]|0;i=o;return n|0}return 0}function mi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return ((d[c[b>>2]>>0]|0)<<8)+(d[(c[b>>2]|0)+1>>0]|0)|0}function ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;j=t+48|0;g=t+20|0;k=t+32|0;f=t+36|0;p=t+44|0;q=t+24|0;r=t+52|0;s=t+16|0;l=t+28|0;m=t+40|0;n=t;o=t+8|0;c[j>>2]=a;c[g>>2]=b;c[k>>2]=d;c[f>>2]=e;if((c[g>>2]|0)<=1){i=t;return}c[p>>2]=0;c[q>>2]=0;c[r>>2]=(c[g>>2]|0)/2|0;c[s>>2]=(c[g>>2]|0)-(c[r>>2]|0);c[l>>2]=c[j>>2];c[m>>2]=(c[j>>2]|0)+(c[r>>2]<<2);ni(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0,c[f>>2]|0);ni(c[m>>2]|0,c[s>>2]|0,c[k>>2]|0,c[f>>2]|0);EH(c[f>>2]|0,c[l>>2]|0,c[r>>2]<<2|0)|0;c[l>>2]=c[f>>2];while(1){if((c[p>>2]|0)>=(c[r>>2]|0)?(c[q>>2]|0)>=(c[s>>2]|0):0)break;f=c[q>>2]|0;if((c[p>>2]|0)==(c[r>>2]|0)){c[(c[j>>2]|0)+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2]=c[(c[m>>2]|0)+(f<<2)>>2];c[q>>2]=(c[q>>2]|0)+1;continue}g=c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0;if((f|0)==(c[s>>2]|0)){c[(c[j>>2]|0)+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2]=g;c[p>>2]=(c[p>>2]|0)+1;continue}h[n>>3]=+h[(c[k>>2]|0)+(g<<3)>>3];h[o>>3]=+h[(c[k>>2]|0)+(c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]<<3)>>3];if(+h[n>>3]<+h[o>>3]){c[(c[j>>2]|0)+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2]=c[(c[l>>2]|0)+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1;continue}else{c[(c[j>>2]|0)+((c[p>>2]|0)+(c[q>>2]|0)<<2)>>2]=c[(c[m>>2]|0)+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1;continue}}i=t;return}function oi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;BH((c[(c[e>>2]|0)+24>>2]|0)+2|0,0,(c[(c[f>>2]|0)+16>>2]|0)-2|0)|0;c[(c[e>>2]|0)+20>>2]=1;i=d;return}function pi(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;m=i;i=i+128|0;d=m+112|0;e=m+100|0;k=m+108|0;l=m+104|0;h=m+116|0;j=m+96|0;f=m+48|0;g=m;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[c[e>>2]>>2];c[l>>2]=0;if(!(c[k>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=mi((c[(c[e>>2]|0)+24>>2]|0)+2|0)|0;ci(c[d>>2]|0,c[e>>2]|0,0,f);c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;ci(c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,g);ei(c[d>>2]|0,f,g);c[h>>2]=(c[h>>2]|0)+1}j=(c[e>>2]|0)+8|0;b=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=b;c[l>>2]=bi(c[d>>2]|0,c[e>>2]|0,h)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}fi(c[d>>2]|0,c[k>>2]|0,f,c[h>>2]|0);c[l>>2]=pi(c[d>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=Rb(32+(c[(c[d>>2]|0)+16>>2]|0)|0)|0;if(!(c[f>>2]|0)){a=c[f>>2]|0;i=g;return a|0}BH(c[f>>2]|0,0,32+(c[(c[d>>2]|0)+16>>2]|0)|0)|0;c[(c[f>>2]|0)+24>>2]=(c[f>>2]|0)+32;c[(c[f>>2]|0)+16>>2]=1;c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+20>>2]=1;Wh(c[e>>2]|0);a=c[f>>2]|0;i=g;return a|0}function ri(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=c[g>>2]>>8;a[(c[f>>2]|0)+1>>0]=c[g>>2]>>0;i=e;return 2}function si(a,b,e,f,g,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|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,M=0,N=0,O=0,P=0,Q=0.0;P=i;i=i+240|0;o=P+220|0;p=P+192|0;q=P+172|0;r=P+164|0;s=P+160|0;t=P+180|0;u=P+212|0;v=P+208|0;w=P+176|0;m=P+196|0;E=P+148|0;B=P+204|0;D=P+156|0;z=P+136|0;n=P+224|0;l=P+200|0;H=P+56|0;A=P+64|0;y=P;C=P+184|0;I=P+188|0;G=P+8|0;N=P+88|0;F=P+144|0;J=P+80|0;x=P+72|0;M=P+216|0;K=P+168|0;L=P+152|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=j;c[v>>2]=k;c[B>>2]=0;c[D>>2]=0;h[z>>3]=0.0;c[n>>2]=_((d[(c[p>>2]|0)+20>>0]|0)+1|0,4+(c[r>>2]<<2)|0)|0;c[w>>2]=Rb(c[n>>2]|0)|0;if(!(c[w>>2]|0)){c[o>>2]=7;O=c[o>>2]|0;i=P;return O|0}a=_(d[(c[p>>2]|0)+20>>0]|0,c[r>>2]|0)|0;c[m>>2]=(c[w>>2]|0)+((d[(c[p>>2]|0)+20>>0]|0)<<2)+(a<<2);BH(c[w>>2]|0,0,c[n>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(d[(c[p>>2]|0)+20>>0]|0|0))break;a=_(c[E>>2]|0,c[r>>2]|0)|0;c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]=(c[w>>2]|0)+((d[(c[p>>2]|0)+20>>0]|0)<<2)+(a<<2);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[r>>2]|0))break;c[(c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]|0)+(c[l>>2]<<2)>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+1}ui(c[p>>2]|0,c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]|0,c[r>>2]|0,c[E>>2]|0,c[q>>2]|0,c[m>>2]|0);c[E>>2]=(c[E>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(d[(c[p>>2]|0)+20>>0]|0|0))break;h[H>>3]=0.0;h[A>>3]=0.0;h[y>>3]=0.0;c[C>>2]=0;c[I>>2]=(((c[(c[p>>2]|0)+16>>2]|0)-4|0)/(d[(c[p>>2]|0)+22>>0]|0|0)|0|0)/3|0;while(1){if((c[I>>2]|0)>((c[r>>2]|0)-((((c[(c[p>>2]|0)+16>>2]|0)-4|0)/(d[(c[p>>2]|0)+22>>0]|0|0)|0|0)/3|0)|0))break;m=G;l=(c[q>>2]|0)+((c[c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]>>2]|0)*48|0)|0;b=m+48|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(b|0));m=N;l=(c[q>>2]|0)+((c[(c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]|0)+((c[r>>2]|0)-1<<2)>>2]|0)*48|0)|0;b=m+48|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(b|0));c[F>>2]=1;while(1){if((c[F>>2]|0)>=((c[r>>2]|0)-1|0))break;l=c[p>>2]|0;m=(c[q>>2]|0)+((c[(c[(c[w>>2]|0)+(c[E>>2]<<2)>>2]|0)+(c[F>>2]<<2)>>2]|0)*48|0)|0;if((c[F>>2]|0)<(c[I>>2]|0))ei(l,G,m);else ei(l,N,m);c[F>>2]=(c[F>>2]|0)+1}Q=+vi(c[p>>2]|0,G);h[H>>3]=+h[H>>3]+Q;Q=+vi(c[p>>2]|0,N);h[H>>3]=+h[H>>3]+Q;h[J>>3]=+wi(c[p>>2]|0,G,N,1);Q=+xi(c[p>>2]|0,G);h[x>>3]=Q+ +xi(c[p>>2]|0,N);if((c[I>>2]|0)!=((((c[(c[p>>2]|0)+16>>2]|0)-4|0)/(d[(c[p>>2]|0)+22>>0]|0|0)|0|0)/3|0|0)?!(+h[J>>3]<+h[A>>3]):0){if(+h[J>>3]==+h[A>>3]?+h[x>>3]<+h[y>>3]:0)O=23}else O=23;if((O|0)==23){O=0;c[C>>2]=c[I>>2];h[A>>3]=+h[J>>3];h[y>>3]=+h[x>>3]}c[I>>2]=(c[I>>2]|0)+1}if(!((c[E>>2]|0)!=0?!(+h[H>>3]<+h[z>>3]):0)){c[B>>2]=c[E>>2];h[z>>3]=+h[H>>3];c[D>>2]=c[C>>2]}c[E>>2]=(c[E>>2]|0)+1}m=c[u>>2]|0;l=(c[q>>2]|0)+((c[c[(c[w>>2]|0)+(c[B>>2]<<2)>>2]>>2]|0)*48|0)|0;b=m+48|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(b|0));m=c[v>>2]|0;l=(c[q>>2]|0)+((c[(c[(c[w>>2]|0)+(c[B>>2]<<2)>>2]|0)+(c[D>>2]<<2)>>2]|0)*48|0)|0;b=m+48|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(b|0));c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[r>>2]|0))break;c[M>>2]=(c[E>>2]|0)<(c[D>>2]|0)?c[s>>2]|0:c[t>>2]|0;c[K>>2]=(c[E>>2]|0)<(c[D>>2]|0)?c[u>>2]|0:c[v>>2]|0;c[L>>2]=(c[q>>2]|0)+((c[(c[(c[w>>2]|0)+(c[B>>2]<<2)>>2]|0)+(c[E>>2]<<2)>>2]|0)*48|0);Xh(c[p>>2]|0,c[M>>2]|0,c[L>>2]|0)|0;ei(c[p>>2]|0,c[K>>2]|0,c[L>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Sb(c[w>>2]|0);c[o>>2]=0;O=c[o>>2]|0;i=P;return O|0}function ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;h=m;j=m+20|0;n=m+16|0;l=m+12|0;k=m+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[n>>2]=f;c[l>>2]=(c[n>>2]|0)==0?11:12;if((c[n>>2]|0)>0?(n=h,c[k>>2]=Vh(c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0,(c[k>>2]|0)!=0):0){Ph(c[g>>2]|0,c[c[k>>2]>>2]|0)|0;Wh(c[j>>2]|0);c[c[k>>2]>>2]=c[j>>2]}a=h;n=(c[j>>2]|0)+8|0;n=wb[c[l>>2]&15](c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;i=m;return n|0}function ui(a,b,e,f,j,k){a=a|0;b=b|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0.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;C=i;i=i+80|0;o=C+64|0;p=C+68|0;m=C+52|0;q=C+40|0;r=C+36|0;n=C+48|0;u=C+32|0;v=C+60|0;w=C+76|0;x=C+72|0;s=C+44|0;t=C+56|0;y=C+16|0;z=C;A=C+8|0;B=C+24|0;c[o>>2]=a;c[p>>2]=b;c[m>>2]=e;c[q>>2]=f;c[r>>2]=j;c[n>>2]=k;if((c[m>>2]|0)<=1){i=C;return}c[u>>2]=0;c[v>>2]=0;c[w>>2]=(c[m>>2]|0)/2|0;c[x>>2]=(c[m>>2]|0)-(c[w>>2]|0);c[s>>2]=c[p>>2];c[t>>2]=(c[p>>2]|0)+(c[w>>2]<<2);ui(c[o>>2]|0,c[s>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0,c[n>>2]|0);ui(c[o>>2]|0,c[t>>2]|0,c[x>>2]|0,c[q>>2]|0,c[r>>2]|0,c[n>>2]|0);EH(c[n>>2]|0,c[s>>2]|0,c[w>>2]<<2|0)|0;c[s>>2]=c[n>>2];a:while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[v>>2]|0)>=(c[x>>2]|0):0)break;m=(c[r>>2]|0)+((c[(c[s>>2]|0)+(c[u>>2]<<2)>>2]|0)*48|0)+8+(c[q>>2]<<1<<2)|0;if(!(d[(c[o>>2]|0)+21>>0]|0))l=+g[m>>2];else l=+(c[m>>2]|0);h[y>>3]=l;m=(c[r>>2]|0)+((c[(c[s>>2]|0)+(c[u>>2]<<2)>>2]|0)*48|0)+8+((c[q>>2]<<1)+1<<2)|0;if(!(d[(c[o>>2]|0)+21>>0]|0))l=+g[m>>2];else l=+(c[m>>2]|0);h[z>>3]=l;m=(c[r>>2]|0)+((c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0)*48|0)+8+(c[q>>2]<<1<<2)|0;if(!(d[(c[o>>2]|0)+21>>0]|0))l=+g[m>>2];else l=+(c[m>>2]|0);h[A>>3]=l;m=(c[r>>2]|0)+((c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0)*48|0)+8+((c[q>>2]<<1)+1<<2)|0;if(!(d[(c[o>>2]|0)+21>>0]|0))l=+g[m>>2];else l=+(c[m>>2]|0);h[B>>3]=l;do if((c[u>>2]|0)!=(c[w>>2]|0)){if((c[v>>2]|0)!=(c[x>>2]|0)?!(+h[y>>3]<+h[A>>3]):0){if(!(+h[y>>3]==+h[A>>3]))break;if(!(+h[z>>3]<+h[B>>3]))break}c[(c[p>>2]|0)+((c[u>>2]|0)+(c[v>>2]|0)<<2)>>2]=c[(c[s>>2]|0)+(c[u>>2]<<2)>>2];c[u>>2]=(c[u>>2]|0)+1;continue a}while(0);c[(c[p>>2]|0)+((c[u>>2]|0)+(c[v>>2]|0)<<2)>>2]=c[(c[t>>2]|0)+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}i=C;return}function vi(a,b){a=a|0;b=b|0;var e=0.0,f=0.0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n;l=n+8|0;c[j>>2]=a;c[k>>2]=b;h[m>>3]=0.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=((d[(c[j>>2]|0)+20>>0]|0)<<1|0))break;b=(c[k>>2]|0)+8+((c[l>>2]|0)+1<<2)|0;if(!(d[(c[j>>2]|0)+21>>0]|0))f=+g[b>>2];else f=+(c[b>>2]|0);b=(c[k>>2]|0)+8+(c[l>>2]<<2)|0;if(!(d[(c[j>>2]|0)+21>>0]|0))e=+g[b>>2];else e=+(c[b>>2]|0);h[m>>3]=+h[m>>3]+(f-e);c[l>>2]=(c[l>>2]|0)+2}i=n;return +(+h[m>>3])}function wi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var j=0.0,k=0.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;w=i;i=i+64|0;l=w+48|0;m=w+32|0;n=w+36|0;o=w+40|0;p=w+52|0;s=w+24|0;q=w+44|0;r=w+16|0;t=w;u=w+8|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;h[s>>3]=0.0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;h[r>>3]=1.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((d[(c[l>>2]|0)+20>>0]|0)<<1|0))break;e=(c[m>>2]|0)+8+(c[q>>2]<<2)|0;if(!(d[(c[l>>2]|0)+21>>0]|0))k=+g[e>>2];else k=+(c[e>>2]|0);e=(c[n>>2]|0)+((c[p>>2]|0)*48|0)+8+(c[q>>2]<<2)|0;if(!(d[(c[l>>2]|0)+21>>0]|0))j=+g[e>>2];else j=+(c[e>>2]|0);a=(d[(c[l>>2]|0)+21>>0]|0|0)==0;e=c[q>>2]|0;do if(k>j){e=(c[m>>2]|0)+8+(e<<2)|0;if(a){j=+g[e>>2];break}else{j=+(c[e>>2]|0);break}}else{e=(c[n>>2]|0)+((c[p>>2]|0)*48|0)+8+(e<<2)|0;if(a){j=+g[e>>2];break}else{j=+(c[e>>2]|0);break}}while(0);h[t>>3]=j;e=(c[m>>2]|0)+8+((c[q>>2]|0)+1<<2)|0;if(!(d[(c[l>>2]|0)+21>>0]|0))k=+g[e>>2];else k=+(c[e>>2]|0);e=(c[n>>2]|0)+((c[p>>2]|0)*48|0)+8+((c[q>>2]|0)+1<<2)|0;if(!(d[(c[l>>2]|0)+21>>0]|0))j=+g[e>>2];else j=+(c[e>>2]|0);a=(d[(c[l>>2]|0)+21>>0]|0|0)==0;e=(c[q>>2]|0)+1|0;do if(k>2]|0)+8+(e<<2)|0;if(a){j=+g[e>>2];break}else{j=+(c[e>>2]|0);break}}else{e=(c[n>>2]|0)+((c[p>>2]|0)*48|0)+8+(e<<2)|0;if(a){j=+g[e>>2];break}else{j=+(c[e>>2]|0);break}}while(0);h[u>>3]=j;if(+h[u>>3]<+h[t>>3]){v=32;break}h[r>>3]=+h[r>>3]*(+h[u>>3]-+h[t>>3]);c[q>>2]=(c[q>>2]|0)+2}if((v|0)==32){v=0;h[r>>3]=0.0}h[s>>3]=+h[s>>3]+ +h[r>>3];c[p>>2]=(c[p>>2]|0)+1}i=w;return +(+h[s>>3])}function xi(a,b){a=a|0;b=b|0;var e=0.0,f=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+16|0;l=o+12|0;m=o;n=o+8|0;c[k>>2]=a;c[l>>2]=b;h[m>>3]=1.0;c[n>>2]=0;while(1){j=+h[m>>3];if((c[n>>2]|0)>=((d[(c[k>>2]|0)+20>>0]|0)<<1|0))break;b=(c[l>>2]|0)+8+((c[n>>2]|0)+1<<2)|0;if(!(d[(c[k>>2]|0)+21>>0]|0))f=+g[b>>2];else f=+(c[b>>2]|0);a=(c[l>>2]|0)+8+(c[n>>2]<<2)|0;if(!(d[(c[k>>2]|0)+21>>0]|0))e=+g[a>>2];else e=+(c[a>>2]|0);h[m>>3]=j*(f-e);c[n>>2]=(c[n>>2]|0)+2}i=o;return +j}function yi(a,b,e,f,g){a=a|0;b=b|0;e=e|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;r=i;i=i+48|0;m=r+28|0;n=r+12|0;h=r;j=r+24|0;o=r+36|0;q=r+8|0;k=r+16|0;p=r+32|0;l=r+20|0;c[n>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=e;c[j>>2]=f;c[o>>2]=g;c[k>>2]=0;g=h;g=Vh(c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[p>>2]=g;if(g){if((c[j>>2]|0)!=0?(c[c[p>>2]>>2]|0)==0:0){Wh(c[j>>2]|0);c[c[p>>2]>>2]=c[j>>2]}q=(c[p>>2]|0)+16|0;c[q>>2]=(c[q>>2]|0)+1;c[c[o>>2]>>2]=c[p>>2];c[m>>2]=0;q=c[m>>2]|0;i=r;return q|0}g=h;Tc(c[(c[n>>2]|0)+56>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;c[q>>2]=Cc(c[(c[n>>2]|0)+56>>2]|0)|0;do if((c[q>>2]|0)==100?(c[l>>2]=Ic(c[(c[n>>2]|0)+56>>2]|0,0)|0,g=c[(c[n>>2]|0)+16>>2]|0,(g|0)==(Jc(c[(c[n>>2]|0)+56>>2]|0,0)|0)):0){c[p>>2]=Rb(32+(c[(c[n>>2]|0)+16>>2]|0)|0)|0;if(c[p>>2]|0){c[c[p>>2]>>2]=c[j>>2];c[(c[p>>2]|0)+24>>2]=(c[p>>2]|0)+32;c[(c[p>>2]|0)+16>>2]=1;f=h;a=c[f+4>>2]|0;g=(c[p>>2]|0)+8|0;c[g>>2]=c[f>>2];c[g+4>>2]=a;c[(c[p>>2]|0)+20>>2]=0;c[(c[p>>2]|0)+28>>2]=0;EH(c[(c[p>>2]|0)+24>>2]|0,c[l>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;Wh(c[j>>2]|0);break}else{c[k>>2]=7;break}}while(0);c[q>>2]=fc(c[(c[n>>2]|0)+56>>2]|0)|0;if(!(c[q>>2]|0))c[q>>2]=c[k>>2];l=h;if((c[p>>2]|0)!=0&((c[l>>2]|0)==1&(c[l+4>>2]|0)==0)?(l=mi(c[(c[p>>2]|0)+24>>2]|0)|0,c[(c[n>>2]|0)+24>>2]=l,(c[(c[n>>2]|0)+24>>2]|0)>40):0)c[q>>2]=267;if((c[p>>2]|0)!=0&(c[q>>2]|0)==0?(l=mi((c[(c[p>>2]|0)+24>>2]|0)+2|0)|0,(l|0)>(((c[(c[n>>2]|0)+16>>2]|0)-4|0)/(d[(c[n>>2]|0)+22>>0]|0|0)|0|0)):0)c[q>>2]=267;b=c[p>>2]|0;if(!(c[q>>2]|0)){if(b)Uh(c[n>>2]|0,c[p>>2]|0);else c[q>>2]=267;c[c[o>>2]>>2]=c[p>>2]}else{Sb(b);c[c[o>>2]>>2]=0}c[m>>2]=c[q>>2];q=c[m>>2]|0;i=r;return q|0}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+80|0;e=k+64|0;l=k+60|0;f=k+56|0;g=k+48|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=j;d=c[l>>2]|0;b=a+48|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(b|0));h[g>>3]=+xi(c[e>>2]|0,j);ei(c[e>>2]|0,j,c[f>>2]|0);m=+xi(c[e>>2]|0,j);i=k;return +(m-+h[g>>3])}function Ai(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+28|0;n=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[g>>2]=a;a=n;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[c[h>>2]>>2]=0;e=n;Tc(c[(c[g>>2]|0)+68>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0)|0;e=(Cc(c[(c[g>>2]|0)+68>>2]|0)|0)==100;b=c[(c[g>>2]|0)+68>>2]|0;if(!e){c[l>>2]=fc(b)|0;n=c[l>>2]|0;i=m;return n|0}e=Mc(b,0)|0;n=k;c[n>>2]=e;c[n+4>>2]=C;if(c[j>>2]|0){f=k;e=c[f+4>>2]|0;n=c[j>>2]|0;c[n>>2]=c[f>>2];c[n+4>>2]=e}n=k;c[l>>2]=yi(c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0,0,c[h>>2]|0)|0;fc(c[(c[g>>2]|0)+68>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function Bi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;l=o+16|0;j=o+20|0;g=o+24|0;m=o+4|0;h=o;n=o+12|0;c[l>>2]=a;c[j>>2]=b;c[g>>2]=e;c[m>>2]=f;a=Ei(c[l>>2]|0,c[j>>2]|0)|0;c[n>>2]=a;if(a){c[k>>2]=c[n>>2];n=c[k>>2]|0;i=o;return n|0}Fi(c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);c[h>>2]=c[c[j>>2]>>2];do if(c[h>>2]|0){a=mi((c[(c[j>>2]|0)+24>>2]|0)+2|0)|0;g=c[l>>2]|0;e=c[j>>2]|0;if((a|0)<((((c[(c[l>>2]|0)+16>>2]|0)-4|0)/(d[(c[l>>2]|0)+22>>0]|0|0)|0|0)/3|0|0)){c[n>>2]=Ci(g,e,c[m>>2]|0)|0;break}else{c[n>>2]=pi(g,e)|0;break}}while(0);c[k>>2]=c[n>>2];n=c[k>>2]|0;i=o;return n|0}function Ci(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+4|0;f=n+16|0;g=n+8|0;h=n+20|0;l=n+28|0;m=n;k=n+12|0;j=n+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;c[l>>2]=bi(c[f>>2]|0,c[g>>2]|0,j)|0;if(!(c[l>>2]|0)){c[k>>2]=c[c[g>>2]>>2];c[c[g>>2]>>2]=0;c[l>>2]=Bi(c[f>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+1|0)|0}c[m>>2]=Ph(c[f>>2]|0,c[k>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=c[m>>2];if(c[l>>2]|0){c[e>>2]=c[l>>2];m=c[e>>2]|0;i=n;return m|0}m=(c[g>>2]|0)+8|0;Tc(c[(c[f>>2]|0)+64>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;Cc(c[(c[f>>2]|0)+64>>2]|0)|0;m=fc(c[(c[f>>2]|0)+64>>2]|0)|0;c[l>>2]=m;if(m){c[e>>2]=c[l>>2];m=c[e>>2]|0;i=n;return m|0}m=(c[g>>2]|0)+8|0;Tc(c[(c[f>>2]|0)+88>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;Cc(c[(c[f>>2]|0)+88>>2]|0)|0;m=fc(c[(c[f>>2]|0)+88>>2]|0)|0;c[l>>2]=m;if(m){c[e>>2]=c[l>>2];m=c[e>>2]|0;i=n;return m|0}else{Sh(c[f>>2]|0,c[g>>2]|0);l=c[h>>2]|0;m=(c[g>>2]|0)+8|0;c[m>>2]=l;c[m+4>>2]=((l|0)<0)<<31>>31;c[(c[g>>2]|0)+28>>2]=c[(c[f>>2]|0)+48>>2];m=(c[g>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1;c[(c[f>>2]|0)+48>>2]=c[g>>2];c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}return 0}function Di(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;m=i;i=i+80|0;d=m+52|0;e=m+56|0;g=m+64|0;l=m+60|0;h=m+72|0;j=m+48|0;f=m;k=m+68|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[h>>2]=mi((c[(c[e>>2]|0)+24>>2]|0)+2|0)|0;c[g>>2]=0;while(1){if(c[l>>2]|0){d=8;break}if((c[g>>2]|0)>=(c[h>>2]|0)){d=8;break}ci(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,f);c[l>>2]=Nh(c[d>>2]|0,f,c[(c[e>>2]|0)+8>>2]|0,j)|0;if((c[l>>2]|0)==0?(c[l>>2]=Oh(c[d>>2]|0,c[j>>2]|0,f,c[(c[e>>2]|0)+8>>2]|0)|0,c[k>>2]=Ph(c[d>>2]|0,c[j>>2]|0)|0,(c[l>>2]|0)==0):0)c[l>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==8){i=m;return c[l>>2]|0}return 0}function Ei(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;l=i;i=i+32|0;d=l+24|0;e=l+16|0;k=l+20|0;g=l+28|0;j=l+12|0;h=l+8|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[g>>2]=c[e>>2];while(1){if(c[k>>2]|0){d=18;break}a=(c[g>>2]|0)+8|0;if(!((c[a>>2]|0)!=1|(c[a+4>>2]|0)!=0)){d=18;break}if(c[c[g>>2]>>2]|0){d=18;break}c[j>>2]=0;a=(c[g>>2]|0)+8|0;Tc(c[(c[d>>2]|0)+80>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0)|0;c[k>>2]=Cc(c[(c[d>>2]|0)+80>>2]|0)|0;if((c[k>>2]|0)==100){b=Mc(c[(c[d>>2]|0)+80>>2]|0,0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;b=(c[h>>2]|0)+8|0;a=f;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0)))break;c[h>>2]=c[c[h>>2]>>2]}if(!(c[h>>2]|0)){a=f;c[j>>2]=yi(c[d>>2]|0,c[a>>2]|0,c[a+4>>2]|0,0,c[g>>2]|0)|0}}c[k>>2]=fc(c[(c[d>>2]|0)+80>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[j>>2];if((c[k>>2]|0)==0?(c[c[g>>2]>>2]|0)==0:0)c[k>>2]=267;c[g>>2]=c[c[g>>2]>>2]}if((d|0)==18){i=l;return c[k>>2]|0}return 0}function Fi(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;l=f+20|0;g=f+16|0;m=f+12|0;k=f+8|0;j=f+4|0;h=f;c[l>>2]=a;c[g>>2]=b;c[m>>2]=e;a=4+(_(d[(c[l>>2]|0)+22>>0]|0,c[m>>2]|0)|0)|0;c[k>>2]=(c[(c[g>>2]|0)+24>>2]|0)+a;c[j>>2]=(c[k>>2]|0)+(d[(c[l>>2]|0)+22>>0]|0);a=mi((c[(c[g>>2]|0)+24>>2]|0)+2|0)|0;c[h>>2]=_(a-(c[m>>2]|0)-1|0,d[(c[l>>2]|0)+22>>0]|0)|0;HH(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;a=(c[(c[g>>2]|0)+24>>2]|0)+2|0;ri(a,(mi((c[(c[g>>2]|0)+24>>2]|0)+2|0)|0)-1|0)|0;c[(c[g>>2]|0)+20>>2]=1;i=f;return}function Gi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;a=c[b>>2]|0;if(d[(c[b>>2]|0)+5>>0]|0){b=a+40|0;i=e;return b|0}if(!(c[a+24>>2]|0)){b=0;i=e;return b|0}b=c[(c[b>>2]|0)+32>>2]|0;i=e;return b|0}function Hi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=1-(d[(c[e>>2]|0)+5>>0]|0);if(c[(c[e>>2]|0)+64+(c[h>>2]<<2)>>2]|0){h=c[h>>2]|0;g=c[e>>2]|0;g=g+64|0;h=g+(h<<2)|0;h=c[h>>2]|0;i=j;return h|0}b=c[e>>2]|0;if(c[h>>2]|0){a=(c[b+32>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0}else{a=b+40+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0}k=g;c[k>>2]=b;c[k+4>>2]=a;g=yi(c[c[e>>2]>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,(c[e>>2]|0)+64+(c[h>>2]<<2)|0)|0;c[c[f>>2]>>2]=g;h=c[h>>2]|0;g=c[e>>2]|0;g=g+64|0;h=g+(h<<2)|0;h=c[h>>2]|0;i=j;return h|0}function Ii(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+16|0;l=h+12|0;m=h+8|0;k=h+4|0;j=h;c[n>>2]=a;c[l>>2]=b;c[m>>2]=e;c[k>>2]=f;c[j>>2]=g;a=12+(_(d[(c[n>>2]|0)+22>>0]|0,c[m>>2]|0)|0)|0;ji((c[(c[l>>2]|0)+24>>2]|0)+(a+(c[k>>2]<<2))|0,c[j>>2]|0);i=h;return}function Ji(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=1-(d[(c[e>>2]|0)+5>>0]|0);if(c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]|0){Ph(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]|0)|0;c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]=0}b=c[e>>2]|0;if(a[(c[e>>2]|0)+5>>0]|0){j=(c[e>>2]|0)+84+(d[b+40+16>>0]<<2)|0;c[j>>2]=(c[j>>2]|0)+-1;a[(c[e>>2]|0)+5>>0]=0;i=k;return}if(!(c[b+24>>2]|0)){i=k;return}l=(c[e>>2]|0)+84+(d[(c[(c[e>>2]|0)+32>>2]|0)+16>>0]<<2)|0;c[l>>2]=(c[l>>2]|0)+-1;l=(c[e>>2]|0)+24|0;b=(c[l>>2]|0)+-1|0;c[l>>2]=b;c[j>>2]=b;b=c[(c[e>>2]|0)+32>>2]|0;l=(c[(c[e>>2]|0)+32>>2]|0)+((c[j>>2]|0)*24|0)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[b+16>>2]=c[l+16>>2];c[b+20>>2]=c[l+20>>2];if((c[j>>2]|0)<4){c[(c[e>>2]|0)+64+4>>2]=c[(c[e>>2]|0)+64+((c[j>>2]|0)+1<<2)>>2];c[(c[e>>2]|0)+64+((c[j>>2]|0)+1<<2)>>2]=0}c[f>>2]=0;while(1){l=(c[f>>2]<<1)+1|0;c[g>>2]=l;if((l|0)>=(c[j>>2]|0)){b=16;break}c[h>>2]=(c[g>>2]|0)+1;if((c[h>>2]|0)<(c[j>>2]|0)?(Qi((c[(c[e>>2]|0)+32>>2]|0)+((c[h>>2]|0)*24|0)|0,(c[(c[e>>2]|0)+32>>2]|0)+((c[g>>2]|0)*24|0)|0)|0)<0:0){if((Qi((c[(c[e>>2]|0)+32>>2]|0)+((c[h>>2]|0)*24|0)|0,(c[(c[e>>2]|0)+32>>2]|0)+((c[f>>2]|0)*24|0)|0)|0)>=0){b=16;break}Ri(c[e>>2]|0,c[f>>2]|0,c[h>>2]|0);c[f>>2]=c[h>>2];continue}if((Qi((c[(c[e>>2]|0)+32>>2]|0)+((c[g>>2]|0)*24|0)|0,(c[(c[e>>2]|0)+32>>2]|0)+((c[f>>2]|0)*24|0)|0)|0)>=0){b=16;break}Ri(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);c[f>>2]=c[g>>2]}if((b|0)==16){i=k;return}}function Ki(b){b=b|0;var e=0,f=0,g=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;y=i;i=i+96|0;g=y+76|0;j=y+64|0;p=y+68|0;t=y+32|0;s=y+48|0;l=y+60|0;v=y+72|0;n=y+80|0;o=y+52|0;m=y+56|0;k=y+40|0;w=y;u=y+24|0;q=y+36|0;r=y+44|0;c[j>>2]=b;c[t>>2]=c[c[j>>2]>>2];c[v>>2]=0;c[o>>2]=c[(c[j>>2]|0)+12>>2];c[k>>2]=(d[(c[t>>2]|0)+21>>0]|0)==1&1;a:while(1){f=Gi(c[j>>2]|0)|0;c[p>>2]=f;if(!f){x=31;break}if((d[(c[p>>2]|0)+16>>0]|0)<=0){x=31;break}c[s>>2]=Hi(c[j>>2]|0,v)|0;if(c[v>>2]|0){x=5;break}c[n>>2]=mi((c[(c[s>>2]|0)+24>>2]|0)+2|0)|0;while(1){if((d[(c[p>>2]|0)+18>>0]|0)>=(c[n>>2]|0))break;h[u>>3]=-1.0;c[q>>2]=(c[(c[s>>2]|0)+24>>2]|0)+(4+(_(d[(c[t>>2]|0)+22>>0]|0,d[(c[p>>2]|0)+18>>0]|0)|0));c[l>>2]=2;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[r>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);do if((c[(c[r>>2]|0)+4>>2]|0)>=70){c[v>>2]=Li(c[r>>2]|0,c[k>>2]|0,c[q>>2]|0,c[p>>2]|0,u,l)|0;if(c[v>>2]|0){x=12;break a}}else{b=c[r>>2]|0;e=c[k>>2]|0;f=c[q>>2]|0;if((d[(c[p>>2]|0)+16>>0]|0)==1){Mi(b,e,f,l);break}else{Ni(b,e,f,l);break}}while(0);if(!(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;if(c[l>>2]|0){x=19;break}}if((x|0)==19){x=0;a[w+16>>0]=(d[(c[p>>2]|0)+16>>0]|0)-1;if(a[w+16>>0]|0){e=ki(c[q>>2]|0)|0;f=w+8|0;c[f>>2]=e;c[f+4>>2]=C;a[w+18>>0]=0}else{b=(c[p>>2]|0)+8|0;e=c[b+4>>2]|0;f=w+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;a[w+18>>0]=(d[(c[p>>2]|0)+18>>0]|0)-1}if((d[(c[p>>2]|0)+18>>0]|0)>=(c[n>>2]|0))Ji(c[j>>2]|0);if(+h[u>>3]<0.0)h[u>>3]=0.0;c[p>>2]=Oi(c[j>>2]|0,+h[u>>3],a[w+16>>0]|0)|0;if(!(c[p>>2]|0)){x=27;break}a[(c[p>>2]|0)+17>>0]=c[l>>2];b=w+8|0;e=c[b+4>>2]|0;f=(c[p>>2]|0)+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;a[(c[p>>2]|0)+18>>0]=a[w+18>>0]|0}if((d[(c[p>>2]|0)+18>>0]|0)<(c[n>>2]|0))continue;Ji(c[j>>2]|0)}if((x|0)==5){c[g>>2]=c[v>>2];x=c[g>>2]|0;i=y;return x|0}else if((x|0)==12){c[g>>2]=c[v>>2];x=c[g>>2]|0;i=y;return x|0}else if((x|0)==27){c[g>>2]=7;x=c[g>>2]|0;i=y;return x|0}else if((x|0)==31){a[(c[j>>2]|0)+4>>0]=(c[p>>2]|0)==0;c[g>>2]=0;x=c[g>>2]|0;i=y;return x|0}return 0}function Li(a,b,e,f,j,k){a=a|0;b=b|0;e=e|0;f=f|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.0;x=i;i=i+128|0;l=x+80|0;m=x+96|0;n=x+92|0;o=x+88|0;p=x+100|0;q=x+116|0;t=x+120|0;v=x+104|0;u=x+108|0;w=x+112|0;r=x;s=x+84|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[(c[l>>2]|0)+16>>2];c[u>>2]=c[(c[v>>2]|0)+28>>2];if((c[(c[l>>2]|0)+4>>2]|0)==71?(d[(c[o>>2]|0)+16>>0]|0|0)==1:0){k=ki(c[n>>2]|0)|0;j=(c[v>>2]|0)+40|0;c[j>>2]=k;c[j+4>>2]=C}c[n>>2]=(c[n>>2]|0)+8;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;c[s>>2]=((d[c[n>>2]>>0]|0)<<24)+((d[(c[n>>2]|0)+1>>0]|0)<<16)+((d[(c[n>>2]|0)+2>>0]|0)<<8)+(d[(c[n>>2]|0)+3>>0]|0);h[r+(c[t>>2]<<3)>>3]=(c[m>>2]|0)!=0?+(c[s>>2]|0):+g[s>>2];c[t>>2]=(c[t>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+4}if((c[(c[l>>2]|0)+4>>2]|0)==70){c[w>>2]=tb[c[(c[l>>2]|0)+8>>2]&15](c[v>>2]|0,c[u>>2]|0,r,t)|0;if(!(c[t>>2]|0))c[c[q>>2]>>2]=0;h[c[p>>2]>>3]=0.0;w=c[w>>2]|0;i=x;return w|0}c[(c[v>>2]|0)+20>>2]=r;c[(c[v>>2]|0)+32>>2]=(d[(c[o>>2]|0)+16>>0]|0)-1;y=+h[c[o>>2]>>3];h[(c[v>>2]|0)+48>>3]=y;h[(c[v>>2]|0)+64>>3]=y;j=d[(c[o>>2]|0)+17>>0]|0;c[(c[v>>2]|0)+56>>2]=j;c[(c[v>>2]|0)+60>>2]=j;c[w>>2]=qb[c[(c[l>>2]|0)+8>>2]&31](c[v>>2]|0)|0;if((c[(c[v>>2]|0)+60>>2]|0)<(c[c[q>>2]>>2]|0))c[c[q>>2]>>2]=c[(c[v>>2]|0)+60>>2];if(!(+h[(c[v>>2]|0)+64>>3]<+h[c[p>>2]>>3])?!(+h[c[p>>2]>>3]<0.0):0){w=c[w>>2]|0;i=x;return w|0}h[c[p>>2]>>3]=+h[(c[v>>2]|0)+64>>3];w=c[w>>2]|0;i=x;return w|0}function Mi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;j=m+24|0;o=m+20|0;p=m+16|0;k=m+12|0;l=m;n=m+8|0;c[j>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[p>>2]=(c[p>>2]|0)+(8+(c[c[j>>2]>>2]<<2));c[n>>2]=((d[c[p>>2]>>0]|0)<<24)+((d[(c[p>>2]|0)+1>>0]|0)<<16)+((d[(c[p>>2]|0)+2>>0]|0)<<8)+(d[(c[p>>2]|0)+3>>0]|0);h[l>>3]=(c[o>>2]|0)!=0?+(c[n>>2]|0):+g[n>>2];switch(c[(c[j>>2]|0)+4>>2]|0){case 66:{if(+h[l>>3]<=+h[(c[j>>2]|0)+8>>3]){i=m;return}break}case 67:{if(+h[l>>3]<+h[(c[j>>2]|0)+8>>3]){i=m;return}break}case 68:{if(+h[l>>3]>=+h[(c[j>>2]|0)+8>>3]){i=m;return}break}case 69:{if(+h[l>>3]>+h[(c[j>>2]|0)+8>>3]){i=m;return}break}default:if(+h[l>>3]==+h[(c[j>>2]|0)+8>>3]){i=m;return}}c[c[k>>2]>>2]=0;i=m;return}function Ni(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+12|0;k=r+20|0;l=r+24|0;m=r+28|0;p=r;n=r+8|0;o=r+16|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[l>>2]=(c[l>>2]|0)+(8+((c[c[j>>2]>>2]&254)<<2));do if(((c[(c[j>>2]|0)+4>>2]|0)+-65|0)>>>0<3){c[n>>2]=((d[c[l>>2]>>0]|0)<<24)+((d[(c[l>>2]|0)+1>>0]|0)<<16)+((d[(c[l>>2]|0)+2>>0]|0)<<8)+(d[(c[l>>2]|0)+3>>0]|0);h[p>>3]=(c[k>>2]|0)!=0?+(c[n>>2]|0):+g[n>>2];if(!(+h[(c[j>>2]|0)+8>>3]>=+h[p>>3]))if((c[(c[j>>2]|0)+4>>2]|0)!=65)break;else{q=4;break}else{i=r;return}}else q=4;while(0);if((q|0)==4?(c[l>>2]=(c[l>>2]|0)+4,c[o>>2]=((d[c[l>>2]>>0]|0)<<24)+((d[(c[l>>2]|0)+1>>0]|0)<<16)+((d[(c[l>>2]|0)+2>>0]|0)<<8)+(d[(c[l>>2]|0)+3>>0]|0),h[p>>3]=(c[k>>2]|0)!=0?+(c[o>>2]|0):+g[o>>2],+h[(c[j>>2]|0)+8>>3]<=+h[p>>3]):0){i=r;return}c[c[m>>2]>>2]=0;i=r;return}function Oi(b,e,f){b=b|0;e=+e;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+16|0;k=p+24|0;l=p;m=p+28|0;o=p+12|0;g=p+8|0;n=p+20|0;c[k>>2]=b;h[l>>3]=e;a[m>>0]=f;c[g>>2]=Gi(c[k>>2]|0)|0;b=(c[k>>2]|0)+84+(d[m>>0]<<2)|0;c[b>>2]=(c[b>>2]|0)+1;do if((c[g>>2]|0)!=0?!(+h[c[g>>2]>>3]>+h[l>>3]):0){if(+h[c[g>>2]>>3]==+h[l>>3]?(d[(c[g>>2]|0)+16>>0]|0)>(d[m>>0]|0):0)break;c[j>>2]=Pi(c[k>>2]|0,+h[l>>3],a[m>>0]|0)|0;o=c[j>>2]|0;i=p;return o|0}while(0);if(a[(c[k>>2]|0)+5>>0]|0){c[o>>2]=Pi(c[k>>2]|0,+h[l>>3],a[m>>0]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}c[n>>2]=(((c[o>>2]|0)-(c[(c[k>>2]|0)+32>>2]|0)|0)/24|0)+1;f=c[k>>2]|0;if((c[n>>2]|0)<5)c[(c[k>>2]|0)+64+(c[n>>2]<<2)>>2]=c[f+64>>2];else Ph(c[f>>2]|0,c[(c[k>>2]|0)+64>>2]|0)|0;c[(c[k>>2]|0)+64>>2]=0;o=c[o>>2]|0;n=(c[k>>2]|0)+40|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];c[o+20>>2]=c[n+20>>2]}h[(c[k>>2]|0)+40>>3]=+h[l>>3];a[(c[k>>2]|0)+40+16>>0]=a[m>>0]|0;a[(c[k>>2]|0)+5>>0]=1;c[j>>2]=(c[k>>2]|0)+40;o=c[j>>2]|0;i=p;return o|0}function Pi(b,d,e){b=b|0;d=+d;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+12|0;g=q+24|0;j=q;k=q+36|0;l=q+32|0;m=q+8|0;o=q+20|0;n=q+16|0;p=q+28|0;c[g>>2]=b;h[j>>3]=d;a[k>>0]=e;do if((c[(c[g>>2]|0)+24>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[n>>2]=(c[(c[g>>2]|0)+20>>2]<<1)+8;c[o>>2]=Tb(c[(c[g>>2]|0)+32>>2]|0,(c[n>>2]|0)*24|0)|0;if(c[o>>2]|0){c[(c[g>>2]|0)+32>>2]=c[o>>2];c[(c[g>>2]|0)+20>>2]=c[n>>2];break}c[f>>2]=0;p=c[f>>2]|0;i=q;return p|0}while(0);n=(c[g>>2]|0)+24|0;b=c[n>>2]|0;c[n>>2]=b+1;c[l>>2]=b;c[o>>2]=(c[(c[g>>2]|0)+32>>2]|0)+((c[l>>2]|0)*24|0);h[c[o>>2]>>3]=+h[j>>3];a[(c[o>>2]|0)+16>>0]=a[k>>0]|0;while(1){if((c[l>>2]|0)<=0)break;c[m>>2]=((c[l>>2]|0)-1|0)/2|0;c[p>>2]=(c[(c[g>>2]|0)+32>>2]|0)+((c[m>>2]|0)*24|0);if((Qi(c[o>>2]|0,c[p>>2]|0)|0)>=0)break;Ri(c[g>>2]|0,c[m>>2]|0,c[l>>2]|0);c[l>>2]=c[m>>2];c[o>>2]=c[p>>2]}c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function Qi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,j=0;j=i;i=i+16|0;e=j+8|0;f=j+4|0;g=j;c[f>>2]=a;c[g>>2]=b;do if(!(+h[c[f>>2]>>3]<+h[c[g>>2]>>3])){if(+h[c[f>>2]>>3]>+h[c[g>>2]>>3]){c[e>>2]=1;break}if((d[(c[f>>2]|0)+16>>0]|0|0)<(d[(c[g>>2]|0)+16>>0]|0|0)){c[e>>2]=-1;break}if((d[(c[f>>2]|0)+16>>0]|0|0)>(d[(c[g>>2]|0)+16>>0]|0|0)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[e>>2]=-1;while(0);i=j;return c[e>>2]|0}function Ri(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;j=i;i=i+48|0;e=j+36|0;f=j+32|0;g=j+28|0;k=j;h=j+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(c[(c[e>>2]|0)+32>>2]|0)+((c[f>>2]|0)*24|0)|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[k+16>>2]=c[a+16>>2];c[k+20>>2]=c[a+20>>2];a=(c[(c[e>>2]|0)+32>>2]|0)+((c[f>>2]|0)*24|0)|0;d=(c[(c[e>>2]|0)+32>>2]|0)+((c[g>>2]|0)*24|0)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];a=(c[(c[e>>2]|0)+32>>2]|0)+((c[g>>2]|0)*24|0)|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];c[a+16>>2]=c[k+16>>2];c[a+20>>2]=c[k+20>>2];c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1;if((c[f>>2]|0)>=5){i=j;return}if((c[g>>2]|0)>=5){Ph(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]|0)|0;c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]=0;i=j;return}else{c[h>>2]=c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2];c[(c[e>>2]|0)+64+(c[f>>2]<<2)>>2]=c[(c[e>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+64+(c[g>>2]<<2)>>2]=c[h>>2];i=j;return}}function Si(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+12>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+((c[d>>2]|0)*24|0)+16>>2];if(c[e>>2]|0){if(c[(c[e>>2]|0)+16>>2]|0)nb[c[(c[e>>2]|0)+16>>2]&31](c[(c[e>>2]|0)+12>>2]|0);Sb(c[e>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}Sb(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Ti(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;f=l+20|0;j=l+24|0;k=l+4|0;g=l;h=l+12|0;c[e>>2]=a;c[f>>2]=b;if((nc(c[e>>2]|0)|0)!=4){c[d>>2]=1;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=jc(c[e>>2]|0)|0;if((c[g>>2]|0)>=32?((((c[g>>2]|0)-32|0)>>>0)%8|0|0)==0:0){c[k>>2]=Rb(72+(c[g>>2]|0)|0)|0;if(!(c[k>>2]|0)){c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}a=c[k>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[j>>2]=(c[k>>2]|0)+72;a=c[j>>2]|0;e=hc(c[e>>2]|0)|0;EH(a|0,e|0,c[g>>2]|0)|0;c[h>>2]=32+((c[(c[j>>2]|0)+20>>2]|0)-1<<3);if((c[c[j>>2]>>2]|0)==-1995291221?(c[g>>2]|0)==(c[h>>2]|0):0){c[c[k>>2]>>2]=c[(c[j>>2]|0)+4+12>>2];c[(c[k>>2]|0)+4>>2]=c[(c[j>>2]|0)+20>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+24;if(c[(c[j>>2]|0)+4>>2]|0)c[(c[f>>2]|0)+8>>2]=c[(c[j>>2]|0)+4>>2];else{c[(c[f>>2]|0)+4>>2]=71;c[(c[f>>2]|0)+8>>2]=c[(c[j>>2]|0)+4+4>>2]}c[(c[f>>2]|0)+16>>2]=c[k>>2];c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Sb(c[k>>2]|0);c[d>>2]=1;k=c[d>>2]|0;i=l;return k|0}c[d>>2]=1;k=c[d>>2]|0;i=l;return k|0}function Ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((hd()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Vi(b,e,f,g,h,j,k){b=b|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,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;J=i;i=i+144|0;D=J+24|0;C=J+40|0;B=J+48|0;u=J+16|0;t=J+8|0;s=J;r=J+32|0;G=J+92|0;v=J+76|0;K=J+72|0;w=J+68|0;x=J+64|0;H=J+60|0;y=J+56|0;l=J+80|0;I=J+88|0;A=J+84|0;p=J+96|0;q=J+100|0;n=J+104|0;m=J+112|0;o=J+128|0;E=J+132|0;F=J+136|0;z=J+140|0;c[v>>2]=b;c[K>>2]=e;c[w>>2]=f;c[x>>2]=g;c[H>>2]=h;c[y>>2]=j;c[l>>2]=k;c[I>>2]=0;c[n>>2]=(c[K>>2]|0)!=0?1:0;c[m>>2]=c[287];c[m+4>>2]=c[288];c[m+8>>2]=c[289];c[m+12>>2]=c[290];if((c[w>>2]|0)<6)f=2;else f=(c[w>>2]|0)>14?3:(c[w>>2]|0)%2|0;c[o>>2]=f;if(c[m+(c[o>>2]<<2)>>2]|0){c[r>>2]=c[m+(c[o>>2]<<2)>>2];K=Wb(14418,r)|0;c[c[y>>2]>>2]=K;c[G>>2]=1;K=c[G>>2]|0;i=J;return K|0}K=c[v>>2]|0;c[s>>2]=1;ed(K,1,s)|0;c[p>>2]=cH(c[(c[x>>2]|0)+4>>2]|0)|0;c[q>>2]=cH(c[(c[x>>2]|0)+8>>2]|0)|0;c[A>>2]=Rb(480+(c[p>>2]|0)+(c[q>>2]|0)+2|0)|0;if(!(c[A>>2]|0)){c[G>>2]=7;K=c[G>>2]|0;i=J;return K|0}BH(c[A>>2]|0,0,480+(c[p>>2]|0)+(c[q>>2]|0)+2|0)|0;c[(c[A>>2]|0)+36>>2]=1;c[c[A>>2]>>2]=1056;c[(c[A>>2]|0)+28>>2]=(c[A>>2]|0)+480;c[(c[A>>2]|0)+32>>2]=(c[(c[A>>2]|0)+28>>2]|0)+((c[p>>2]|0)+1);a[(c[A>>2]|0)+20>>0]=((c[w>>2]|0)-4|0)/2|0;a[(c[A>>2]|0)+22>>0]=8+((d[(c[A>>2]|0)+20>>0]|0)<<2<<1);a[(c[A>>2]|0)+21>>0]=c[n>>2];EH(c[(c[A>>2]|0)+28>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[p>>2]|0)|0;EH(c[(c[A>>2]|0)+32>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[q>>2]|0)|0;c[I>>2]=Wi(c[v>>2]|0,c[A>>2]|0,c[l>>2]|0,c[y>>2]|0)|0;do if(!(c[I>>2]|0)){K=Xi(c[A>>2]|0,c[v>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[I>>2]=K;if(K){c[t>>2]=$c(c[v>>2]|0)|0;K=Wb(14418,t)|0;c[c[y>>2]>>2]=K;break}c[u>>2]=c[(c[x>>2]|0)+12>>2];c[E>>2]=Wb(16252,u)|0;c[z>>2]=4;while(1){if(c[E>>2]|0)f=(c[z>>2]|0)<(c[w>>2]|0);else f=0;g=c[E>>2]|0;if(!f)break;c[F>>2]=g;K=c[(c[x>>2]|0)+(c[z>>2]<<2)>>2]|0;c[B>>2]=c[F>>2];c[B+4>>2]=K;c[E>>2]=Wb(16270,B)|0;Sb(c[F>>2]|0);c[z>>2]=(c[z>>2]|0)+1}if(g){c[F>>2]=c[E>>2];c[C>>2]=c[F>>2];c[E>>2]=Wb(16277,C)|0;Sb(c[F>>2]|0)}if(c[E>>2]|0){K=cd(c[v>>2]|0,c[E>>2]|0)|0;c[I>>2]=K;if(K){c[D>>2]=$c(c[v>>2]|0)|0;K=Wb(14418,D)|0;c[c[y>>2]>>2]=K}}else c[I>>2]=7;Sb(c[E>>2]|0)}while(0);g=c[A>>2]|0;if(!(c[I>>2]|0))c[c[H>>2]>>2]=g;else Qh(g);c[G>>2]=c[I>>2];K=c[G>>2]|0;i=J;return K|0}function Wi(a,b,e,f){a=a|0;b=b|0;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;r=i;i=i+64|0;p=r+24|0;o=r+8|0;n=r;m=r+16|0;g=r+36|0;h=r+32|0;s=r+28|0;j=r+40|0;l=r+44|0;q=r+48|0;k=r+52|0;c[g>>2]=a;c[h>>2]=b;c[s>>2]=e;c[j>>2]=f;if(!(c[s>>2]|0)){s=c[(c[h>>2]|0)+32>>2]|0;c[o>>2]=c[(c[h>>2]|0)+28>>2];c[o+4>>2]=s;c[q>>2]=Wb(17085,o)|0;c[l>>2]=Zi(c[g>>2]|0,c[q>>2]|0,(c[h>>2]|0)+16|0)|0;if(!(c[l>>2]|0)){s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}c[p>>2]=$c(c[g>>2]|0)|0;s=Wb(14418,p)|0;c[c[j>>2]>>2]=s;s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}c[k>>2]=0;c[m>>2]=c[(c[h>>2]|0)+28>>2];c[q>>2]=Wb(17065,m)|0;c[l>>2]=Zi(c[g>>2]|0,c[q>>2]|0,k)|0;if(c[l>>2]|0){c[n>>2]=$c(c[g>>2]|0)|0;s=Wb(14418,n)|0;c[c[j>>2]>>2]=s;s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}c[(c[h>>2]|0)+16>>2]=(c[k>>2]|0)-64;if((4+((d[(c[h>>2]|0)+22>>0]|0)*51|0)|0)>=(c[(c[h>>2]|0)+16>>2]|0)){s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}c[(c[h>>2]|0)+16>>2]=4+((d[(c[h>>2]|0)+22>>0]|0)*51|0);s=c[q>>2]|0;Sb(s);s=c[l>>2]|0;i=r;return s|0}function Xi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;t=i;i=i+128|0;q=t;p=t+8|0;g=t+48|0;h=t+60|0;j=t+52|0;k=t+44|0;l=t+56|0;u=t+64|0;o=t+68|0;m=t+72|0;n=t+108|0;r=t+112|0;s=t+116|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[u>>2]=f;c[o>>2]=0;c[(c[h>>2]|0)+12>>2]=c[j>>2];if(c[u>>2]|0){w=c[l>>2]|0;v=c[k>>2]|0;b=c[l>>2]|0;f=c[k>>2]|0;a=c[l>>2]|0;d=c[k>>2]|0;e=c[l>>2]|0;u=c[(c[h>>2]|0)+16>>2]|0;c[p>>2]=c[k>>2];c[p+4>>2]=w;c[p+8>>2]=v;c[p+12>>2]=b;c[p+16>>2]=f;c[p+20>>2]=a;c[p+24>>2]=d;c[p+28>>2]=e;c[p+32>>2]=u;c[r>>2]=Wb(16282,p)|0;if(!(c[r>>2]|0)){c[g>>2]=7;w=c[g>>2]|0;i=t;return w|0}c[o>>2]=Zc(c[j>>2]|0,c[r>>2]|0,0,0,0)|0;Sb(c[r>>2]|0);if(c[o>>2]|0){c[g>>2]=c[o>>2];w=c[g>>2]|0;i=t;return w|0}}c[m>>2]=(c[h>>2]|0)+56;c[m+4>>2]=(c[h>>2]|0)+60;c[m+8>>2]=(c[h>>2]|0)+64;c[m+12>>2]=(c[h>>2]|0)+68;c[m+16>>2]=(c[h>>2]|0)+72;c[m+20>>2]=(c[h>>2]|0)+76;c[m+24>>2]=(c[h>>2]|0)+80;c[m+28>>2]=(c[h>>2]|0)+84;c[m+32>>2]=(c[h>>2]|0)+88;c[o>>2]=Yi(c[j>>2]|0,c[h>>2]|0)|0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<9?(c[o>>2]|0)==0:0))break;w=c[1164+(c[n>>2]<<2)>>2]|0;v=c[l>>2]|0;c[q>>2]=c[k>>2];c[q+4>>2]=v;c[s>>2]=Wb(w,q)|0;if(c[s>>2]|0)c[o>>2]=_c(c[j>>2]|0,c[s>>2]|0,-1,c[m+(c[n>>2]<<2)>>2]|0,0)|0;else c[o>>2]=7;Sb(c[s>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[g>>2]=c[o>>2];w=c[g>>2]|0;i=t;return w|0}function Yi(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;k=i;i=i+48|0;l=k+8|0;d=k+16|0;e=k+36|0;m=k+32|0;j=k+28|0;g=k+24|0;h=k+20|0;f=k;c[d>>2]=a;c[e>>2]=b;c[m>>2]=17009;b=f;c[b>>2]=0;c[b+4>>2]=0;b=c[m>>2]|0;a=c[(c[e>>2]|0)+32>>2]|0;c[l>>2]=c[(c[e>>2]|0)+28>>2];c[l+4>>2]=a;c[j>>2]=Wb(b,l)|0;if(!(c[j>>2]|0)){c[h>>2]=7;m=c[h>>2]|0;i=k;return m|0}c[h>>2]=_c(c[d>>2]|0,c[j>>2]|0,-1,g,0)|0;if(c[h>>2]|0){if((c[h>>2]|0)!=7)c[h>>2]=0}else{if((Cc(c[g>>2]|0)|0)==100){l=Mc(c[g>>2]|0,0)|0;m=f;c[m>>2]=l;c[m+4>>2]=C}c[h>>2]=ec(c[g>>2]|0)|0}do if(!(c[h>>2]|0)){m=f;if((c[m>>2]|0)==0&(c[m+4>>2]|0)==0){m=(c[e>>2]|0)+40|0;c[m>>2]=1048576;c[m+4>>2]=0;break}else{g=f;b=c[g+4>>2]|0;g=(b|0)>0|(b|0)==0&(c[g>>2]|0)>>>0>100;b=f;l=g?c[b+4>>2]|0:0;m=(c[e>>2]|0)+40|0;c[m>>2]=g?c[b>>2]|0:100;c[m+4>>2]=l;break}}while(0);Sb(c[j>>2]|0);m=c[h>>2]|0;i=k;return m|0}function Zi(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=7;if(!(c[f>>2]|0)){b=c[j>>2]|0;i=k;return b|0}c[h>>2]=0;c[j>>2]=_c(c[e>>2]|0,c[f>>2]|0,-1,h,0)|0;if(c[j>>2]|0){b=c[j>>2]|0;i=k;return b|0}if(100==(Cc(c[h>>2]|0)|0)){b=Lc(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=b}c[j>>2]=ec(c[h>>2]|0)|0;b=c[j>>2]|0;i=k;return b|0}function _i(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];jh((c[f>>2]|0)+40|0);ih((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Kd(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}ih(j);jh((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Ld(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}ih(h);ih((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];fe(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=gf(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function aj(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+63>>0]|0|0)==2|0}function bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=tb[c[(c[l>>2]|0)+36>>2]&15](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function cj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function dj(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Sl(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Tl(c[d>>2]|0)|0)<=1){i=f;return}Ul(c[e>>2]|0)|0;i=f;return}function ej(d,e,f,g,h,j,k){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,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+112|0;s=L+92|0;t=L+84|0;u=L+40|0;v=L+44|0;w=L;l=L+16|0;x=L+20|0;y=L+24|0;o=L+28|0;D=L+72|0;E=L+80|0;H=L+88|0;B=L+96|0;F=L+48|0;m=L+52|0;J=L+56|0;C=L+60|0;I=L+8|0;p=L+64|0;G=L+12|0;r=L+32|0;n=L+68|0;q=L+36|0;z=L+76|0;A=L+4|0;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[x>>2]=j;c[y>>2]=k;c[D>>2]=0;c[E>>2]=0;c[H>>2]=0;c[B>>2]=0;c[F>>2]=0;c[J>>2]=0;c[C>>2]=0;c[I>>2]=(c[l>>2]&1|0)==0&1;c[p>>2]=tl()|0;c[G>>2]=1024;c[r>>2]=0;c[n>>2]=0;f=c[(c[t>>2]|0)+4>>2]|0;if((f|0)>(Wj()|0))c[m>>2]=(c[(c[t>>2]|0)+4>>2]|0)+7&-8;else c[m>>2]=(Wj()|0)+7&-8;c[c[u>>2]>>2]=0;do if(((c[l>>2]&2|0)!=0?(c[B>>2]=1,(c[v>>2]|0)!=0):0)?(a[c[v>>2]>>0]|0)!=0:0){c[J>>2]=ef(0,c[v>>2]|0)|0;if(c[J>>2]|0){c[C>>2]=Ed(c[J>>2]|0)|0;c[v>>2]=0;break}c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}while(0);if((c[v>>2]|0)!=0?(a[c[v>>2]>>0]|0)!=0:0){c[C>>2]=(c[(c[t>>2]|0)+8>>2]|0)+1;f=c[C>>2]<<1;c[J>>2]=qf(0,f,((f|0)<0)<<31>>31)|0;if(!(c[J>>2]|0)){c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}a[c[J>>2]>>0]=0;c[E>>2]=bj(c[t>>2]|0,c[v>>2]|0,c[C>>2]|0,c[J>>2]|0)|0;c[C>>2]=Ed(c[J>>2]|0)|0;f=(Ed(c[v>>2]|0)|0)+1|0;f=(c[v>>2]|0)+f|0;c[r>>2]=f;c[q>>2]=f;while(1){l=c[q>>2]|0;if(!(a[c[q>>2]>>0]|0))break;f=(Ed(l)|0)+1|0;c[q>>2]=(c[q>>2]|0)+f;f=(Ed(c[q>>2]|0)|0)+1|0;c[q>>2]=(c[q>>2]|0)+f}c[n>>2]=l+1-(c[r>>2]|0);if((c[E>>2]|0)==0?((c[C>>2]|0)+8|0)>(c[(c[t>>2]|0)+8>>2]|0):0)c[E>>2]=ll(45462)|0;if(c[E>>2]|0){Nd(0,c[J>>2]|0);c[s>>2]=c[E>>2];K=c[s>>2]|0;i=L;return K|0}}c[o>>2]=de(216+((c[p>>2]|0)+7&-8)+((c[(c[t>>2]|0)+4>>2]|0)+7&-8)+(c[m>>2]<<1)+(c[C>>2]|0)+1+(c[n>>2]|0)+(c[C>>2]|0)+8+2+(c[C>>2]|0)+4+2|0,0)|0;if(!(c[o>>2]|0)){Nd(0,c[J>>2]|0);c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}c[D>>2]=c[o>>2];q=(c[o>>2]|0)+216|0;c[o>>2]=q;c[(c[D>>2]|0)+204>>2]=q;q=(c[o>>2]|0)+((c[p>>2]|0)+7&-8)|0;c[o>>2]=q;c[(c[D>>2]|0)+60>>2]=q;q=(c[o>>2]|0)+((c[(c[t>>2]|0)+4>>2]|0)+7&-8)|0;c[o>>2]=q;c[(c[D>>2]|0)+68>>2]=q;q=(c[o>>2]|0)+(c[m>>2]|0)|0;c[o>>2]=q;c[(c[D>>2]|0)+64>>2]=q;q=(c[o>>2]|0)+(c[m>>2]|0)|0;c[o>>2]=q;c[(c[D>>2]|0)+168>>2]=q;if(c[J>>2]|0){q=(c[o>>2]|0)+((c[C>>2]|0)+1+(c[n>>2]|0))|0;c[o>>2]=q;c[(c[D>>2]|0)+172>>2]=q;EH(c[(c[D>>2]|0)+168>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;if(c[n>>2]|0)EH((c[(c[D>>2]|0)+168>>2]|0)+((c[C>>2]|0)+1)|0,c[r>>2]|0,c[n>>2]|0)|0;EH(c[(c[D>>2]|0)+172>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;g=(c[(c[D>>2]|0)+172>>2]|0)+(c[C>>2]|0)|0;h=17572;l=g+10|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(l|0));c[(c[D>>2]|0)+212>>2]=(c[(c[D>>2]|0)+172>>2]|0)+((c[C>>2]|0)+8+1);EH(c[(c[D>>2]|0)+212>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;C=(c[(c[D>>2]|0)+212>>2]|0)+(c[C>>2]|0)|0;a[C>>0]=a[17582]|0;a[C+1>>0]=a[17583]|0;a[C+2>>0]=a[17584]|0;a[C+3>>0]=a[17585]|0;a[C+4>>0]=a[17586]|0;Nd(0,c[J>>2]|0)}c[c[D>>2]>>2]=c[t>>2];c[(c[D>>2]|0)+144>>2]=c[x>>2];do if((c[v>>2]|0)!=0?(a[c[v>>2]>>0]|0)!=0:0){c[z>>2]=0;c[E>>2]=gk(c[t>>2]|0,c[(c[D>>2]|0)+168>>2]|0,c[(c[D>>2]|0)+60>>2]|0,c[x>>2]|0,z)|0;c[F>>2]=c[z>>2]&1;if(!(c[E>>2]|0)){c[A>>2]=dk(c[(c[D>>2]|0)+60>>2]|0)|0;do if((c[F>>2]|0)==0?(ck(c[D>>2]|0),(c[G>>2]|0)>>>0<(c[(c[D>>2]|0)+148>>2]|0)>>>0):0)if((c[(c[D>>2]|0)+148>>2]|0)>>>0>8192){c[G>>2]=8192;break}else{c[G>>2]=c[(c[D>>2]|0)+148>>2];break}while(0);J=(Dd(c[v>>2]|0,17588,0)|0)&255;a[(c[D>>2]|0)+13>>0]=J;if((c[A>>2]&8192|0)==0?(Dd(c[v>>2]|0,17595,0)|0)==0:0)break;c[x>>2]=c[x>>2]|1;K=39}}else K=39;while(0);if((K|0)==39){c[H>>2]=1;a[(c[D>>2]|0)+16>>0]=1;a[(c[D>>2]|0)+17>>0]=4;a[(c[D>>2]|0)+13>>0]=1;c[F>>2]=c[x>>2]&1}if(!(c[E>>2]|0))c[E>>2]=Ag(c[D>>2]|0,G,-1)|0;if(!(c[E>>2]|0)){c[w>>2]=(c[w>>2]|0)+7&-8;c[E>>2]=vl(c[G>>2]|0,c[w>>2]|0,((c[B>>2]|0)!=0^1)&1,(c[B>>2]|0)!=0^1?39:0,c[D>>2]|0,c[(c[D>>2]|0)+204>>2]|0)|0}if(c[E>>2]|0){uj(c[(c[D>>2]|0)+60>>2]|0)|0;Gg(c[(c[D>>2]|0)+200>>2]|0);Sb(c[D>>2]|0);c[s>>2]=c[E>>2];K=c[s>>2]|0;i=L;return K|0}a[(c[D>>2]|0)+6>>0]=c[I>>2];c[(c[D>>2]|0)+156>>2]=1073741823;a[(c[D>>2]|0)+12>>0]=c[H>>2];a[(c[D>>2]|0)+4>>0]=c[H>>2];a[(c[D>>2]|0)+18>>0]=a[(c[D>>2]|0)+12>>0]|0;a[(c[D>>2]|0)+15>>0]=c[B>>2];a[(c[D>>2]|0)+14>>0]=c[F>>2];a[(c[D>>2]|0)+7>>0]=a[(c[D>>2]|0)+12>>0]|0;if(!(a[(c[D>>2]|0)+7>>0]|0)){a[(c[D>>2]|0)+8>>0]=1;a[(c[D>>2]|0)+11>>0]=2;a[(c[D>>2]|0)+10>>0]=34;a[(c[D>>2]|0)+9>>0]=2}b[(c[D>>2]|0)+140>>1]=c[w>>2];K=(c[D>>2]|0)+160|0;c[K>>2]=-1;c[K+4>>2]=-1;ck(c[D>>2]|0);if(c[I>>2]|0){if(c[B>>2]|0)a[(c[D>>2]|0)+5>>0]=4}else a[(c[D>>2]|0)+5>>0]=2;c[(c[D>>2]|0)+196>>2]=c[y>>2];c[c[u>>2]>>2]=c[D>>2];c[s>>2]=0;K=c[s>>2]|0;i=L;return K|0}function fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+128|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;Hg(c[f>>2]|0);i=e;return}function gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;BH(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+60>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=hk(c[(c[e>>2]|0)+60>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function hj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=sl((c[(c[d>>2]|0)+4>>2]|0)+444|0)|0;i=b;return a|0}function ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+176>>2]=c[j>>2];c[(c[e>>2]|0)+180>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+60>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+176;Wk(c[(c[e>>2]|0)+60>>2]|0,15,c[f>>2]|0);i=g;return}function jj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+14>>0]|0}function kj(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function lj(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+200>>2];gh();oj(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;pj(c[(c[e>>2]|0)+208>>2]|0,d[(c[e>>2]|0)+9>>0]|0,c[(c[e>>2]|0)+152>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+208>>2]=0;Eg(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+15>>0]|0)qj(b);else{if(c[c[b+64>>2]>>2]|0){b=c[e>>2]|0;sj(b,rj(c[e>>2]|0)|0)|0}tj(c[e>>2]|0)}hh();uj(c[(c[e>>2]|0)+64>>2]|0)|0;uj(c[(c[e>>2]|0)+60>>2]|0)|0;Gg(c[f>>2]|0);vj(c[(c[e>>2]|0)+204>>2]|0);Sb(c[e>>2]|0);i=g;return 0}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;nj(c[(c[f>>2]|0)+204>>2]|0,c[e>>2]|0);i=d;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[33]|0;b=c[(c[f>>2]|0)+40>>2]|0;a=Jg(c[f>>2]|0)|0;ob[e&7](b,a);i=d;return}function oj(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+136>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Sb(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function pj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+8|0;j=p+16|0;k=p+20|0;l=p+24|0;o=p+4|0;n=p;m=p+12|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Uk(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Vk(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Wk(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Xk(c[h>>2]|0,0,0)}}while(0);Yk(c[h>>2]|0,c[n>>2]|0);uj(c[(c[h>>2]|0)+8>>2]|0)|0;if(c[n>>2]|0){gh();Dj(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+100>>2]|0,0)|0;hh()}Sb(c[(c[h>>2]|0)+32>>2]|0);Sb(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function qj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;Wg(c[(c[e>>2]|0)+56>>2]|0);c[(c[e>>2]|0)+56>>2]=0;yj(c[e>>2]|0);j=(Fj(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[e>>2]|0)+60>>2]>>2]|0)b=dk(c[(c[e>>2]|0)+60>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[e>>2]|0)+5>>0]&5|0):0))uj(c[(c[e>>2]|0)+64>>2]|0)|0;c[g>>2]=Jj(c[e>>2]|0,0)|0;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0)==6:0)a[(c[e>>2]|0)+17>>0]=5;a[(c[e>>2]|0)+18>>0]=0;a[(c[e>>2]|0)+16>>0]=0}}else{Tk(c[b+208>>2]|0);a[(c[e>>2]|0)+16>>0]=0}if(!(c[(c[e>>2]|0)+40>>2]|0)){j=c[e>>2]|0;j=j+72|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+19|0;a[j>>0]=0;i=h;return}Eg(c[e>>2]|0);a[(c[e>>2]|0)+18>>0]=a[(c[e>>2]|0)+12>>0]|0;a[(c[e>>2]|0)+16>>0]=0;c[(c[e>>2]|0)+40>>2]=0;j=c[e>>2]|0;j=j+72|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+19|0;a[j>>0]=0;i=h;return}function rj(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=Bj(c[(c[d>>2]|0)+64>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Cg(c[(c[d>>2]|0)+64>>2]|0,(c[d>>2]|0)+80|0)|0;e=c[e>>2]|0;i=f;return e|0}function sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+40>>2]=c[f>>2];a[(c[e>>2]|0)+16>>0]=6;h=c[f>>2]|0;i=g;return h|0}function tj(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+16>>0]|0)!=6?(d[(c[e>>2]|0)+16>>0]|0)!=0:0){if((d[(c[e>>2]|0)+16>>0]|0)>=2){gh();wj(c[e>>2]|0)|0;hh();break}if(!(a[(c[e>>2]|0)+4>>0]|0))xj(c[e>>2]|0,0,0)|0}while(0);qj(c[e>>2]|0);i=f;return}function uj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=qb[c[(c[c[b>>2]>>2]|0)+4>>2]&31](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;d=c[d>>2]|0;i=e;return d|0}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nb[c[156>>2]&31](c[(c[d>>2]|0)+40>>2]|0);i=b;return}function wj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+16>>0]|0)==6){c[e>>2]=c[b+40>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+16>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(Fj(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Xj(b,2,-1)|0;c[j>>2]=xj(c[f>>2]|0,d[(c[f>>2]|0)+19>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+64>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+16>>0]|0)!=2:0){c[h>>2]=Yj(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+16>>0];c[h>>2]=xj(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+15>>0]|0)==0:0){c[(c[f>>2]|0)+40>>2]=4;a[(c[f>>2]|0)+16>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=sj(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function xj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;m=o+4|0;n=o;l=o+12|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0)<2?(d[(c[h>>2]|0)+17>>0]|0)<2:0){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}yj(c[h>>2]|0);a:do if(c[c[(c[h>>2]|0)+64>>2]>>2]|0){b=(zj(c[(c[h>>2]|0)+64>>2]|0)|0)!=0;e=c[h>>2]|0;if(b){uj(c[e+64>>2]|0)|0;break}f=c[h>>2]|0;if((d[e+5>>0]|0)==3){l=f+72|0;if(!((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)){c[m>>2]=Aj(c[(c[h>>2]|0)+64>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[h>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=Bj(c[(c[h>>2]|0)+64>>2]|0,d[(c[h>>2]|0)+11>>0]|0)|0}else c[m>>2]=0;l=(c[h>>2]|0)+72|0;c[l>>2]=0;c[l+4>>2]=0;break}else{do if((d[f+5>>0]|0)!=1){if((d[(c[h>>2]|0)+4>>0]|0)!=0?(d[(c[h>>2]|0)+5>>0]|0)!=5:0)break;c[l>>2]=((a[(c[h>>2]|0)+12>>0]|0)!=0?0:1)&1;uj(c[(c[h>>2]|0)+64>>2]|0)|0;if(!(c[l>>2]|0))break a;c[m>>2]=Dj(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+172>>2]|0,0)|0;break a}while(0);c[m>>2]=Cj(c[h>>2]|0,c[j>>2]|0)|0;l=(c[h>>2]|0)+72|0;c[l>>2]=0;c[l+4>>2]=0;break}}while(0);Wg(c[(c[h>>2]|0)+56>>2]|0);c[(c[h>>2]|0)+56>>2]=0;c[(c[h>>2]|0)+44>>2]=0;Ej(c[(c[h>>2]|0)+204>>2]|0);Mg(c[(c[h>>2]|0)+204>>2]|0,c[(c[h>>2]|0)+24>>2]|0);if(!(Fj(c[h>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[h>>2]|0)+32>>2]|0)>>>0>(c[(c[h>>2]|0)+24>>2]|0)>>>0:0)c[m>>2]=Hj(c[h>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0}else c[n>>2]=Gj(c[(c[h>>2]|0)+208>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[c[(c[h>>2]|0)+60>>2]>>2]|0)!=0:0){l=gg(c[(c[h>>2]|0)+60>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[h>>2]|0)+4>>0]|0)){if((Fj(c[h>>2]|0)|0)!=0?(Ij(c[(c[h>>2]|0)+208>>2]|0,0)|0)==0:0)break;c[n>>2]=Jj(c[h>>2]|0,1)|0;a[(c[h>>2]|0)+18>>0]=0}while(0);a[(c[h>>2]|0)+16>>0]=1;a[(c[h>>2]|0)+19>>0]=0;c[g>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[g>>2]|0;i=o;return n|0}function yj(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+96>>2]|0))break;Wg(c[(c[(c[d>>2]|0)+92>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(zj(c[(c[d>>2]|0)+68>>2]|0)|0)==0:0))uj(c[(c[d>>2]|0)+68>>2]|0)|0;Sb(c[(c[d>>2]|0)+92>>2]|0);c[(c[d>>2]|0)+92>>2]=0;c[(c[d>>2]|0)+96>>2]=0;c[(c[d>>2]|0)+52>>2]=0;i=f;return}function zj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==2020|0}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=lb[c[(c[c[f>>2]>>2]|0)+16>>2]&31](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function Bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vb[c[(c[c[f>>2]>>2]|0)+20>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Cj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+72|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+160|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+64>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=Aj(e,0,0)|0;else c[j>>2]=Ae(e,17365,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=Bj(c[(c[f>>2]|0)+64>>2]|0,16|d[(c[f>>2]|0)+11>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Cg(c[(c[f>>2]|0)+64>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=Aj(c[(c[f>>2]|0)+64>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function Dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=lb[c[(c[h>>2]|0)+28>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Ej(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;Ng(c[d>>2]|0)}i=e;return}function Fj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+208>>2]|0)!=0|0}function Gj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Oj(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function Hj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+28|0;f=m+24|0;k=m+32|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+60>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+16>>0]|0|0)<4?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+152>>2];c[k>>2]=Cg(c[(c[e>>2]|0)+60>>2]|0,g)|0;b=c[l>>2]|0;b=MH(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=DH(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+200>>2];BH(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+60>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=AH(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Ae(a,j,n,o,C)|0}}else{o=h;c[k>>2]=Aj(c[(c[e>>2]|0)+60>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+32>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Ij(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Mj(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Lj(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Jj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+60>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+13>>0]|0)e=0;else e=Kj(c[(c[f>>2]|0)+60>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+17>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+17>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=vb[c[(c[c[f>>2]>>2]|0)+32>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Lj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Nj(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Nj(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Nj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=tb[c[(c[c[k>>2]>>2]|0)+56>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Oj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Nj(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Pj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Sj(c[d>>2]|0,0,0)|0;i=b;return 0}function Qj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;r=i;i=i+64|0;t=r+44|0;s=r+20|0;n=r+36|0;o=r+8|0;p=r+24|0;m=r+48|0;l=r+52|0;g=r+16|0;q=r+28|0;h=r;j=r+32|0;k=r+40|0;c[t>>2]=a;c[s>>2]=b;c[n>>2]=d;d=o;c[d>>2]=e;c[d+4>>2]=f;c[p>>2]=c[t>>2];c[m>>2]=c[s>>2];c[l>>2]=c[n>>2];d=(c[p>>2]|0)+24|0;a=o;b=o;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=h;c[t>>2]=0;c[t+4>>2]=0;c[q>>2]=c[(c[p>>2]|0)+4>>2];while(1){if(!(c[q>>2]|0))break a;s=h;s=DH(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;a=C;t=o;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=h;s=DH(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;t=h;c[t>>2]=s;c[t+4>>2]=C;c[q>>2]=c[c[q>>2]>>2]}}else c[q>>2]=c[(c[p>>2]|0)+24+8>>2];while(0);t=o;t=LH(c[t>>2]|0,c[t+4>>2]|0,1020,0)|0;c[g>>2]=t;while(1){c[j>>2]=1020-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)<(1020-(c[g>>2]|0)|0)?c[l>>2]|0:1020-(c[g>>2]|0)|0;EH(c[m>>2]|0,(c[q>>2]|0)+4+(c[g>>2]|0)|0,c[k>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[k>>2]|0);c[l>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[g>>2]=0;if((c[l>>2]|0)<0){e=10;break}t=c[c[q>>2]>>2]|0;c[q>>2]=t;if(!((t|0)!=0&(c[l>>2]|0)>0)){e=10;break}}if((e|0)==10){t=o;s=c[n>>2]|0;s=DH(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(c[p>>2]|0)+24|0;c[t>>2]=s;c[t+4>>2]=C;c[(c[p>>2]|0)+24+8>>2]=c[q>>2];i=r;return 0}return 0}function Rj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;p=i;i=i+64|0;o=p+8|0;s=p+20|0;q=p+40|0;r=p+16|0;k=p+44|0;j=p+48|0;n=p+32|0;l=p+36|0;g=p+12|0;h=p+28|0;m=p+24|0;c[s>>2]=a;c[q>>2]=b;c[r>>2]=d;b=p;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[s>>2];c[j>>2]=c[r>>2];c[n>>2]=c[q>>2];while(1){if((c[j>>2]|0)<=0){e=11;break}c[l>>2]=c[(c[k>>2]|0)+8+8>>2];s=(c[k>>2]|0)+8|0;s=LH(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;c[g>>2]=s;c[h>>2]=(c[j>>2]|0)<(1020-(c[g>>2]|0)|0)?c[j>>2]|0:1020-(c[g>>2]|0)|0;if(!(c[g>>2]|0)){c[m>>2]=Rb(1024)|0;if(!(c[m>>2]|0)){e=5;break}c[c[m>>2]>>2]=0;e=c[m>>2]|0;if(c[l>>2]|0)c[c[l>>2]>>2]=e;else c[(c[k>>2]|0)+4>>2]=e;c[(c[k>>2]|0)+8+8>>2]=c[m>>2]}EH((c[(c[k>>2]|0)+8+8>>2]|0)+4+(c[g>>2]|0)|0,c[n>>2]|0,c[h>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[h>>2]|0);c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0);r=c[h>>2]|0;s=(c[k>>2]|0)+8|0;q=s;r=DH(c[q>>2]|0,c[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[s>>2]=r;c[s+4>>2]=C}if((e|0)==5){c[o>>2]=3082;s=c[o>>2]|0;i=p;return s|0}else if((e|0)==11){c[o>>2]=0;s=c[o>>2]|0;i=p;return s|0}return 0}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+20|0;j=h+16|0;f=h+12|0;g=h+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=c[e>>2];c[f>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[c[f>>2]>>2];Sb(c[g>>2]|0)}Vj(c[e>>2]|0);i=h;return 0}function Tj(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+8|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Vj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=c[d>>2]|0;BH(a|0,0,Wj()|0)|0;c[c[d>>2]>>2]=2020;i=b;return}function Wj(){return 40} +function yb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function zb(){return i|0}function Ab(a){a=a|0;i=a}function Bb(a,b){a=a|0;b=b|0;i=a;j=b}function Cb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Db(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 Eb(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 Fb(a){a=a|0;C=a}function Gb(){return C|0}function Hb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(Ib(c[d>>2]|0,13840,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Ed(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=6){d=9;break}if((Ib(c[d>>2]|0,c[364+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Fd(a[(c[364+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Ib(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j;c[l>>2]=a;c[k>>2]=b;c[f>>2]=e;c[g>>2]=c[l>>2];c[h>>2]=c[k>>2];while(1){l=c[f>>2]|0;c[f>>2]=l+-1;if((l|0)<=0)break;if(!(d[c[g>>2]>>0]|0))break;if((d[13848+(d[c[g>>2]>>0]|0)>>0]|0|0)!=(d[13848+(d[c[h>>2]>>0]|0)>>0]|0|0))break;c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}if((c[f>>2]|0)<0){l=0;i=j;return l|0}l=(d[13848+(d[c[g>>2]>>0]|0)>>0]|0)-(d[13848+(d[c[h>>2]>>0]|0)>>0]|0)|0;i=j;return l|0}function Jb(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<6){c[b>>2]=c[364+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Kb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[g>>2]|0)<0|(c[g>>2]|0)>=10){c[f>>2]=Gd(14581)|0;e=c[f>>2]|0;i=l;return e|0}c[c[h>>2]>>2]=c[388+(c[g>>2]<<2)>>2];c[c[j>>2]>>2]=c[428+(c[g>>2]<<2)>>2];if(c[k>>2]|0)c[428+(c[g>>2]<<2)>>2]=c[388+(c[g>>2]<<2)>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Lb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Mb()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[117];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(aH(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Mb(){var a=0,b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;e=f+4|0;a=f;if(c[58]|0){c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}c[e>>2]=0;if(c[e>>2]|0){c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[60]=1;if(!(c[61]|0))c[e>>2]=Od()|0;if(((c[e>>2]|0)==0?(c[61]=1,(c[64]|0)==0):0)?(c[64]=8,!((c[3]|0)==0|(c[64]|0)!=0)):0)c[e>>2]=7;if(!(c[e>>2]|0))c[63]=(c[63]|0)+1;if(c[e>>2]|0){c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}if((c[58]|0)==0&(c[59]|0)==0){c[a>>2]=472;c[59]=1;a=c[a>>2]|0;b=a+92|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));Pd();if(!(c[62]|0))c[e>>2]=Qd()|0;if(!(c[e>>2]|0)){c[62]=1;c[e>>2]=Rd()|0}if(!(c[e>>2]|0)){Sd(c[53]|0,c[54]|0,c[55]|0);c[58]=1}c[59]=0}c[63]=(c[63]|0)+-1;if((c[63]|0)<=0)c[64]=0;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}function Nb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Mb()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Td(c[f>>2]|0);b=c[117]|0;if((c[g>>2]|0)!=0|(c[117]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[117]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[117]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Ob(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Pb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+48|0;d=h+24|0;e=h+16|0;g=h+8|0;f=h;j=h+32|0;k=e;c[k>>2]=a;c[k+4>>2]=b;c[j>>2]=Mb()|0;if(c[j>>2]|0){j=d;c[j>>2]=-1;c[j+4>>2]=-1;j=d;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}b=288;j=c[b+4>>2]|0;k=g;c[k>>2]=c[b>>2];c[k+4>>2]=j;if((c[e+4>>2]|0)<0){k=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=k;j=d;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}k=e;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0){k=e;Ud(2,0,c[k>>2]|0,c[k+4>>2]|0)|0}else Ud(0,0,0,0)|0;k=Qb()|0;j=e;j=AH(k|0,C|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C;k=f;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0)Ob(c[f>>2]&2147483647)|0;k=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=k;j=d;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function Qb(){var a=0,b=0,d=0,e=0;b=i;i=i+16|0;e=b+12|0;a=b;Kb(0,e,b+8|0,0)|0;e=c[e>>2]|0;d=a;c[d>>2]=e;c[d+4>>2]=((e|0)<0)<<31>>31;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Rb(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Mb()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=Wd(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Sb(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){Xd(0,0-(Jd(c[b>>2]|0)|0)|0);Xd(9,-1);nb[c[48>>2]&31](c[b>>2]|0);i=d;return}else{nb[c[48>>2]&31](c[b>>2]|0);i=d;return}}function Tb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Mb()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=Yd(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Ub(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Mb()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=Yd(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Vb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;e=k+40|0;f=k+36|0;g=k+32|0;j=k+28|0;h=k;c[f>>2]=b;c[g>>2]=d;if(Mb()|0){c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{Zd(h,k+44|0,70,1e9);a[h+24>>0]=2;_d(h,0,c[f>>2]|0,c[g>>2]|0);c[j>>2]=$d(h)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}return 0}function Wb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Mb()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Vb(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Xb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;g=m+44|0;h=m+40|0;n=m+36|0;j=m+32|0;k=m+28|0;l=m;c[h>>2]=b;c[n>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[n>>2]|0;if((c[h>>2]|0)<=0){c[g>>2]=f;n=c[g>>2]|0;i=m;return n|0}else{Zd(l,f,c[h>>2]|0,0);a[l+24>>0]=0;_d(l,0,c[j>>2]|0,c[k>>2]|0);c[g>>2]=$d(l)|0;n=c[g>>2]|0;i=m;return n|0}return 0}function Yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Xb(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[65]|0)){i=h;return}c[g>>2]=d;ae(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function _b(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+288|0;f=l+12|0;m=l+8|0;j=l+272|0;k=l+4|0;g=l;h=l+16|0;c[f>>2]=b;c[m>>2]=e;c[k>>2]=c[m>>2];if((c[f>>2]|0)<=0){a[14104]=0;i=l;return}if(!(a[14104]|0)){a[14106]=0;a[14105]=0;be(Lb(0)|0,256,h)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=256)break;a[14107+(c[g>>2]|0)>>0]=c[g>>2];c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=256)break;a[14106]=(d[14106]|0)+((d[14107+(c[g>>2]|0)>>0]|0)+(a[h+(c[g>>2]|0)>>0]|0));a[j>>0]=a[14107+(d[14106]|0)>>0]|0;a[14107+(d[14106]|0)>>0]=a[14107+(c[g>>2]|0)>>0]|0;a[14107+(c[g>>2]|0)>>0]=a[j>>0]|0;c[g>>2]=(c[g>>2]|0)+1}a[14104]=1}do{a[14105]=(a[14105]|0)+1<<24>>24;a[j>>0]=a[14107+(d[14105]|0)>>0]|0;a[14106]=(d[14106]|0)+(d[j>>0]|0);a[14107+(d[14105]|0)>>0]=a[14107+(d[14106]|0)>>0]|0;a[14107+(d[14106]|0)>>0]=a[j>>0]|0;a[j>>0]=(d[j>>0]|0)+(d[14107+(d[14105]|0)>>0]|0);e=a[14107+(d[j>>0]|0)>>0]|0;m=c[k>>2]|0;c[k>>2]=m+1;a[m>>0]=e;m=(c[f>>2]|0)+-1|0;c[f>>2]=m}while((m|0)!=0);i=l;return}function $b(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[f>>2]=c[h>>2];while(1){if(d[c[e>>2]>>0]|0)a=(d[13848+(d[c[e>>2]>>0]|0)>>0]|0|0)==(d[13848+(d[c[f>>2]>>0]|0)>>0]|0|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=b+1;c[f>>2]=(c[f>>2]|0)+1}i=g;return (d[13848+(d[b>>0]|0)>>0]|0)-(d[13848+(d[c[f>>2]>>0]|0)>>0]|0)|0}function ac(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Nb(564+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function bc(a,b){a=a|0;b=b|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,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+104|0;f=F+96|0;D=F+88|0;e=F+56|0;B=F+28|0;p=F+24|0;z=F+52|0;x=F+36|0;j=F+40|0;m=F+44|0;s=F+92|0;h=F+100|0;o=F+108|0;k=F+60|0;q=F+64|0;v=F+8|0;y=F+72|0;g=F+76|0;l=F+32|0;u=F;t=F+16|0;n=F+80|0;A=F+68|0;w=F+48|0;E=F+84|0;c[r>>2]=a;c[f>>2]=b;c[B>>2]=0;c[p>>2]=0;fe(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ge(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Id(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Id(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=he(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;ie(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}if((c[D>>2]|0)==0?0==(je(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=he(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[B>>2]=ke(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=ke(c[(c[r>>2]|0)+4>>2]|0)|0;c[e>>2]=le(Id(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[e>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=me(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[f>>2]|0)>=0?(c[j>>2]|0)>=(c[f>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=ne(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=pe(b,a,oe(c[o>>2]|0)|0,0)|0;qe(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))re(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=se(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=te(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)ue(c[c[r>>2]>>2]|0);if((c[e>>2]|0)==5)c[D>>2]=ve(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[229]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=MH(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=we(c[x>>2]|0)|0;xe(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=ne(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=ye(c[n>>2]|0)|0;qe(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=ze(c[x>>2]|0,0,1)|0;o=(c[229]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[229]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[229]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=KH(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=DH(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=ne(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=oe(c[A>>2]|0)|0;q=u;c[D>>2]=Ae(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}qe(c[A>>2]|0);p=c[B>>2]|0;q=u;p=DH(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Be(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Ce(c[x>>2]|0,0)|0}else{De(c[x>>2]|0,c[k>>2]|0);c[D>>2]=ze(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Ee(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Fe(c[(c[r>>2]|0)+24>>2]|0,0)|0;Ee(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function cc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];fe(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Ge(Id(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}He(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){ee(c[c[e>>2]>>2]|0,c[g>>2]|0);Ie(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Sb(c[e>>2]|0);Ie(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function dc(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}if(!((e[(c[b>>2]|0)+88>>1]|0)>>>10&1)){f=0;i=d;return f|0}f=c[(c[b>>2]|0)+168>>2]|0;i=d;return f|0}function ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;do if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(!(Je(c[g>>2]|0)|0)){c[f>>2]=Ke(c[g>>2]|0)|0;c[f>>2]=Le(c[e>>2]|0,c[f>>2]|0)|0;Ie(c[e>>2]|0);break}c[b>>2]=Gd(67386)|0;g=c[b>>2]|0;i=h;return g|0}while(0);c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function fc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}else{c[e>>2]=c[b>>2];c[d>>2]=Me(c[e>>2]|0)|0;Ne(c[e>>2]|0);c[d>>2]=Le(c[c[e>>2]>>2]|0,c[d>>2]|0)|0;e=c[d>>2]|0;i=f;return e|0}return 0}function gc(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[g>>2]=0;c[f>>2]=c[j>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;Oe((c[(c[f>>2]|0)+60>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[f>>2]|0)+60>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[(c[f>>2]|0)+88>>1]|0)>>>10&1)){j=c[g>>2]|0;i=h;return j|0}if(!(c[(c[f>>2]|0)+188>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=(c[f>>2]|0)+88|0;b[j>>1]=b[j>>1]&-33|32;j=c[g>>2]|0;i=h;return j|0}function hc(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=ic(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}Pe(c[f>>2]|0)|0;a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function ic(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Qe(c[d>>2]|0,1)|0;i=b;return a|0}function jc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Re(c[d>>2]|0,1)|0;i=b;return a|0}function kc(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+Se(c[e>>2]|0);i=d;return +b}function lc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Te(c[d>>2]|0)|0;i=b;return a|0}function mc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Te(c[d>>2]|0)|0;i=b;return a|0}function nc(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[14363+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;Ue(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function pc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){Ve(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{Ue(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function qc(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;We(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;Xe(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;Ye(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;Ye(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function uc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ze(c[c[d>>2]>>2]|0);i=b;return}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;Ue(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function wc(b,e,f,g,h,j){b=b|0;e=e|0;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;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[920]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){Ve(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{Ue(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;_e(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$e(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return}function zc(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;Xe(b,af(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function Ac(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;Xe(c[c[e>>2]>>2]|0,14395,-1,1,0)|0;i=d;return}function Bc(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Ze(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;a[(c[(c[c[e>>2]>>2]|0)+32>>2]|0)+64>>0]=1;i=d;return}function Cc(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+28|0;f=o+16|0;j=o+4|0;k=o+8|0;m=o+32|0;g=o;h=o+12|0;l=o+24|0;n=o+20|0;c[f>>2]=d;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[f>>2];c[g>>2]=0;if(bf(c[m>>2]|0)|0){c[e>>2]=Gd(67871)|0;n=c[e>>2]|0;i=o;return n|0}c[h>>2]=c[c[m>>2]>>2];d=(c[m>>2]|0)+88|0;b[d>>1]=b[d>>1]&-2049;while(1){d=cf(c[m>>2]|0)|0;c[j>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[l>>2]=c[(c[m>>2]|0)+76>>2];d=df(c[m>>2]|0)|0;c[j>>2]=d;c[k>>2]=d;if(c[j>>2]|0)break;fc(c[f>>2]|0)|0;if((c[l>>2]|0)<0)continue;d=(c[m>>2]|0)+88|0;b[d>>1]=b[d>>1]&-2049|2048}do if(c[k>>2]|0){c[n>>2]=ic(c[(c[h>>2]|0)+232>>2]|0)|0;Nd(c[h>>2]|0,c[(c[m>>2]|0)+44>>2]|0);if(a[(c[h>>2]|0)+64>>0]|0){c[(c[m>>2]|0)+44>>2]=0;c[j>>2]=7;c[(c[m>>2]|0)+80>>2]=7;break}else{n=ef(c[h>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=n;c[(c[m>>2]|0)+80>>2]=c[k>>2];break}}while(0);c[j>>2]=Le(c[h>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=o;return n|0}function Dc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function Ec(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function Fc(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=ff(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Gc(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+84>>1]|0;i=d;return f|0}function Hc(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+20>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+84>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=hc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=jc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+kc(hf(c[f>>2]|0,c[g>>2]|0)|0);jf(c[f>>2]|0);i=e;return +(+h[d>>3])}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=lc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=mc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;jf(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ic(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Oc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=nc(hf(c[f>>2]|0,c[g>>2]|0)|0)|0;jf(c[f>>2]|0);i=e;return c[d>>2]|0}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=kf(c[f>>2]|0,c[e>>2]|0,22,0)|0;i=d;return a|0}function Qc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=lf(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Rc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=mf(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}We((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Tc(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=mf(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;Ye((c[(c[h>>2]|0)+60>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=mf(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=lf(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=nf(a,b,Ed(c[e>>2]|0)|0)|0;i=d;return b|0}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=nc(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];pf(c[e>>2]|0,0);c[d>>2]=nc(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Jf(c[f>>2]|0,c[e>>2]|0,14421,0)|0)==0&1;i=d;return b|0}function Zc(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+52|0;k=z+44|0;l=z+24|0;m=z+20|0;n=z+12|0;o=z+40|0;w=z+48|0;x=z+56|0;v=z+28|0;p=z+8|0;r=z+4|0;t=z+32|0;q=z;s=z+16|0;u=z+36|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Kf(c[k>>2]|0)|0)){c[j>>2]=Gd(99392)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=14425;ee(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=_c(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=Gc(c[v>>2]|0)|0;do{c[w>>2]=Cc(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=gf(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=Pc(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Nc(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(Oc(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(tb[c[m>>2]&15](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Ke(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[14426+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Nd(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)a[(c[k>>2]|0)+64>>0]=1;else if((y|0)==30){c[w>>2]=4;Ke(c[v>>2]|0)|0;c[v>>2]=0;ee(c[k>>2]|0,4)}if(c[v>>2]|0)Ke(c[v>>2]|0)|0;Nd(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Le(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Ed($c(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=Wd(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=$c(c[k>>2]|0)|0;EH(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;ee(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function _c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Lf(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function $c(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=af(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Mf(c[e>>2]|0)|0)){c[d>>2]=af(Gd(126852)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+64>>0]|0)){c[f>>2]=ic(c[(c[e>>2]|0)+232>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=af(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=af(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function ad(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Lf(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Nf(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function cd(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;p=i;i=i+32|0;n=p;g=p+8|0;h=p+20|0;j=p+16|0;k=p+24|0;m=p+4|0;l=p+12|0;o=p+28|0;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[o>>2]=0;if((c[(c[h>>2]|0)+324>>2]|0)!=0?(f=c[(c[(c[h>>2]|0)+324>>2]|0)+4>>2]|0,c[l>>2]=f,(f|0)!=0):0){c[k>>2]=gf(c[h>>2]|0,536,0)|0;if(!(c[k>>2]|0))c[m>>2]=7;else{a[(c[k>>2]|0)+451>>0]=1;c[c[k>>2]>>2]=c[h>>2];c[(c[k>>2]|0)+424>>2]=1;if((((0==(Of(c[k>>2]|0,c[j>>2]|0,o)|0)?(c[(c[k>>2]|0)+484>>2]|0)!=0:0)?(a[(c[h>>2]|0)+64>>0]|0)==0:0)?(c[(c[(c[k>>2]|0)+484>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+484>>2]|0)+44>>0]&16|0)==0:0){if(!(c[(c[l>>2]|0)+4>>2]|0)){c[(c[l>>2]|0)+4>>2]=c[(c[(c[k>>2]|0)+484>>2]|0)+4>>2];b[(c[l>>2]|0)+38>>1]=b[(c[(c[k>>2]|0)+484>>2]|0)+38>>1]|0;b[(c[(c[k>>2]|0)+484>>2]|0)+38>>1]=0;c[(c[(c[k>>2]|0)+484>>2]|0)+4>>2]=0}c[(c[(c[h>>2]|0)+324>>2]|0)+4>>2]=0}else{l=c[h>>2]|0;f=(c[o>>2]|0)!=0?14418:0;c[n>>2]=c[o>>2];ce(l,1,f,n);Nd(c[h>>2]|0,c[o>>2]|0);c[m>>2]=1}a[(c[k>>2]|0)+451>>0]=0;if(c[(c[k>>2]|0)+8>>2]|0)Ke(c[(c[k>>2]|0)+8>>2]|0)|0;Ld(c[h>>2]|0,c[(c[k>>2]|0)+484>>2]|0);Gf(c[k>>2]|0);Nd(c[h>>2]|0,c[k>>2]|0)}c[m>>2]=Le(c[h>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];o=c[g>>2]|0;i=p;return o|0}ee(c[h>>2]|0,21);c[g>>2]=Gd(112758)|0;o=c[g>>2]|0;i=p;return o|0}function dd(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[14682+((d[(c[b>>2]|0)+68>>0]|0)-1)>>0]|0|0}function ed(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;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+324>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Gd(113132)|0;break}}else c[j>>2]=Gd(113140)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}ee(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function fd(){return 13832}function gd(){return 14700}function hd(){return 3008007}function id(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;k=i;i=i+48|0;h=k+44|0;f=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;d=k;c[f>>2]=a;c[j>>2]=0;if(c[58]|0){c[h>>2]=Gd(125290)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[f>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=c[b>>2];c[12]=c[b+4>>2];c[13]=c[b+8>>2];c[14]=c[b+12>>2];c[15]=c[b+16>>2];c[16]=c[b+20>>2];c[17]=c[b+24>>2];c[18]=c[b+28>>2];break}case 5:{if(!(c[11]|0))Sf();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[11];c[b+4>>2]=c[12];c[b+8>>2]=c[13];c[b+12>>2]=c[14];c[b+16>>2]=c[15];c[b+20>>2]=c[16];c[b+24>>2]=c[17];c[b+28>>2]=c[18];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=112;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[30]|0))Tf();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=112;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[65]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[66]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;l=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=l;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;l=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=d;c[b>>2]=l;c[b+4>>2]=a;b=d;f=c[b+4>>2]|0;b=(c[d+4>>2]|0)<0|((f|0)>0|(f|0)==0&(c[b>>2]|0)>>>0>0);f=d;c[f>>2]=b?0:l;c[f+4>>2]=b?0:a;f=d;a=c[f+4>>2]|0;b=192;c[b>>2]=c[f>>2];c[b+4>>2]=a;if((c[g+4>>2]|0)<0){l=g;c[l>>2]=0;c[l+4>>2]=0}b=g;f=c[b+4>>2]|0;l=d;a=c[l+4>>2]|0;if((f|0)>(a|0)|((f|0)==(a|0)?(c[b>>2]|0)>>>0>(c[l>>2]|0)>>>0:0)){a=d;b=c[a+4>>2]|0;l=g;c[l>>2]=c[a>>2];c[l+4>>2]=b}b=c[g+4>>2]|0;l=184;c[l>>2]=c[g>>2];c[l+4>>2]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Hd(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Id(c[e>>2]|0)|0;Uf(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function kd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function ld(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+80>>2]|0}function md(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function nd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wf(c[d>>2]|0,0)|0;i=b;return a|0}function od(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wf(c[d>>2]|0,1)|0;i=b;return a|0}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+444>>2]=c[h>>2];c[(c[f>>2]|0)+444+4>>2]=c[g>>2];c[(c[f>>2]|0)+444+8>>2]=0;c[(c[f>>2]|0)+492>>2]=0;i=e;return 0}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){pd(a,37,c[d>>2]|0)|0;c[(c[d>>2]|0)+492>>2]=c[e>>2];i=f;return 0}else{pd(a,0,0)|0;i=f;return 0}return 0}function rd(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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;k=i;i=i+32|0;s=k+4|0;r=k+16|0;q=k+8|0;p=k+20|0;o=k+28|0;n=k;m=k+12|0;l=k+24|0;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=sd(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function sd(a,b,d,e,f,g,h,j,k){a=a|0;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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+36|0;m=x+16|0;n=x;o=x+28|0;p=x+32|0;q=x+40|0;r=x+12|0;s=x+24|0;t=x+20|0;v=x+8|0;u=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=gf(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{nb[a&31](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=Yf(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){nb[c[t>>2]&31](c[p>>2]|0);Nd(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Le(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function td(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;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;k=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=Ed(c[f>>2]|0)|0;c[h>>2]=0;if(!(Zf(c[e>>2]|0,c[f>>2]|0,c[k>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=Yf(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,51,0,0,0)|0;c[h>>2]=Le(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){vd(a,6,c[d>>2]|0)|0;i=e;return 0}else{vd(a,0,0)|0;i=e;return 0}return 0}function vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+216>>2];c[(c[g>>2]|0)+212>>2]=c[j>>2];c[(c[g>>2]|0)+216>>2]=c[h>>2];i=f;return c[e>>2]|0}function wd(b,d,e,f,g){b=b|0;d=d|0;e=e|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;r=i;i=i+48|0;q=r;h=r+24|0;j=r+20|0;k=r+8|0;l=r+16|0;m=r+4|0;n=r+12|0;p=r+28|0;o=r+32|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>2){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=ag(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];ce(d,1,14761,q)}else{c[p>>2]=bg(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;ee(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Le(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=wd(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function yd(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Mf(c[e>>2]|0)|0)==0:0){c[b>>2]=Gd(126921)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+64>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function zd(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+88+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[932+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[932+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+88+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=cg(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Bd(a,b,d,e){a=a|0;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,o=0;m=i;i=i+32|0;o=m+4|0;n=m+16|0;h=m+8|0;j=m+20|0;l=m+28|0;f=m;g=m+12|0;k=m+24|0;c[o>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=1;c[f>>2]=fg(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[f>>2]|0)){o=c[l>>2]|0;i=m;return o|0}fe(c[f>>2]|0);c[g>>2]=Id(c[f>>2]|0)|0;c[k>>2]=we(c[g>>2]|0)|0;a=c[k>>2]|0;if((c[h>>2]|0)==7){c[c[j>>2]>>2]=a;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[a>>2]|0){c[l>>2]=gg(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}b=(Ed(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+b;while(1){if(!(a[c[e>>2]>>0]|0)){d=8;break}c[g>>2]=aH(c[e>>2]|0,c[f>>2]|0)|0;b=(Ed(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+b;b=c[e>>2]|0;if(!(c[g>>2]|0)){d=6;break}b=(Ed(b)|0)+1|0;c[e>>2]=(c[e>>2]|0)+b}if((d|0)==6){c[h>>2]=b;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Cd(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(mg(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[e>>2];if(!(c[e>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}while(1){b=c[f>>2]|0;if(!(a[c[f>>2]>>0]|0))break;c[f>>2]=b+1}c[d>>2]=1073741823&b-(c[e>>2]|0);f=c[d>>2]|0;i=g;return f|0}function Fd(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[14426+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Gd(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(gd()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Zb(21,37666,d);i=b;return 21}function Hd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qb[c[56>>2]&31](c[d>>2]|0)|0;i=b;return a|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}jn(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Nd(c[d>>2]|0,c[c[e>>2]>>2]|0);Nd(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);dn(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);en(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=f;return}function Ld(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=l;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0))k=4;if((k|0)==4?(d=(c[f>>2]|0)+40|0,k=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=k,(k&65535|0)>0):0){i=l;return}c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0)){c[j>>2]=c[c[g>>2]>>2];ch((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}ry(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}DG(c[e>>2]|0,c[f>>2]|0);ny(c[e>>2]|0,c[f>>2]|0);Nd(c[e>>2]|0,c[c[f>>2]>>2]|0);Nd(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);an(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);$m(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);EG(c[e>>2]|0,c[f>>2]|0);Nd(c[e>>2]|0,c[f>>2]|0);i=l;return}function Md(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;gu(c[(c[j>>2]|0)+60>>2]|0,b[(c[j>>2]|0)+68>>1]|0);gu(c[(c[j>>2]|0)+16>>2]|0,e[(c[j>>2]|0)+84>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+24>>2];CG(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Nd(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}c[k>>2]=(b[(c[j>>2]|0)+70>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Nd(a,c[(c[(c[j>>2]|0)+64>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}CG(a,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0);Nd(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0);Nd(c[h>>2]|0,c[(c[j>>2]|0)+168>>2]|0);Nd(c[h>>2]|0,c[(c[j>>2]|0)+172>>2]|0);i=l;return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){b=c[d>>2]|0;a=c[e>>2]|0;if(c[(c[d>>2]|0)+520>>2]|0){BG(b,a);i=g;return}if(em(b,a)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+248+24>>2];c[(c[d>>2]|0)+248+24>>2]=c[f>>2];f=(c[d>>2]|0)+248+4|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Sb(c[e>>2]|0);i=g;return}function Od(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;a=g+12|0;b=g+8|0;e=g+4|0;d=g;if(!(c[11]|0))Sf();f=280;h=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));if(c[3]|0)c[70]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[e>>2]=c[51]&-8;c[51]=c[e>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[77]=c[d>>2];c[78]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[e>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[76]=(c[d>>2]|0)+4}else{c[76]=0;c[50]=0;c[51]=0;c[52]=0}if(!((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<1)){f=c[16]|0;h=c[18]|0;h=qb[f&31](h)|0;i=g;return h|0}c[53]=0;c[54]=0;c[55]=0;f=c[16]|0;h=c[18]|0;h=qb[f&31](h)|0;i=g;return h|0}function Pd(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=472;c[a>>2]=4692;c[b>>2]=0;while(1){if((c[b>>2]|0)>=57)break;$l(c[d>>2]|0,(c[a>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}lF();mF();i=e;return}function Qd(){if(!(c[30]|0))Tf();return qb[c[120>>2]&31](c[29]|0)|0}function Rd(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Rb(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Sb(c[b>>2]|0);c[a>>2]=ac()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[252]|0)){i=j;return}c[f>>2]=c[f>>2]&-8;c[253]=c[f>>2];b=c[g>>2]|0;c[260]=b;c[254]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[255]=d;c[256]=c[e>>2];c[259]=0;c[261]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[259];c[259]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[257]=d;i=j;return}function Td(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[117]|0)==(c[d>>2]|0)){c[117]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[117]|0)){i=f;return}c[e>>2]=c[117];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h;g=h+8|0;c[k>>2]=a;c[j>>2]=b;b=f;c[b>>2]=d;c[b+4>>2]=e;c[74]=c[k>>2];c[75]=c[j>>2];e=f;b=c[e+4>>2]|0;a=288;c[a>>2]=c[e>>2];c[a+4>>2]=b;c[g>>2]=iF(0)|0;a=f;b=c[a+4>>2]|0;if(!((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)){k=0;k=k&1;c[79]=k;i=h;return 0}j=f;b=c[j+4>>2]|0;k=c[g>>2]|0;a=((k|0)<0)<<31>>31;k=(b|0)<(a|0)|((b|0)==(a|0)?(c[j>>2]|0)>>>0<=k>>>0:0);k=k&1;c[79]=k;i=h;return 0}function Vd(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+16|0;g=f+8|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;Ob(c[g>>2]|0)|0;i=f;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){kF(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=qb[c[44>>2]&31](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function Xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=388+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[388+(c[d>>2]<<2)>>2]|0)<=(c[428+(c[d>>2]<<2)>>2]|0)){i=e;return}c[428+(c[d>>2]<<2)>>2]=c[388+(c[d>>2]<<2)>>2];i=e;return}function Yd(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,l=0,m=0,n=0;m=i;i=i+32|0;e=m+16|0;f=m+24|0;g=m;k=m+28|0;j=m+12|0;h=m+8|0;l=m+20|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b>>2]|0;b=c[b+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=Wd(d,b)|0;l=c[e>>2]|0;i=m;return l|0}if((d|0)==0&(b|0)==0){Sb(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;b=c[a+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=Jd(c[f>>2]|0)|0;c[j>>2]=qb[c[60>>2]&31](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=vb[c[52>>2]&63](c[f>>2]|0,c[j>>2]|0)|0;break}xg(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);b=iF(0)|0;n=((b|0)<0)<<31>>31;d=288;a=c[h>>2]|0;a=AH(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;if((n|0)>(d|0)|(n|0)==(d|0)&b>>>0>=a>>>0)jF(c[h>>2]|0);c[l>>2]=vb[c[52>>2]&63](c[f>>2]|0,c[j>>2]|0)|0;if((c[l>>2]|0)==0&(c[74]|0)!=0){jF(c[g>>2]|0);c[l>>2]=vb[c[52>>2]&63](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=Jd(c[l>>2]|0)|0;Xd(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function Zd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;d=c[l>>2]|0;c[(c[h>>2]|0)+4>>2]=d;c[(c[h>>2]|0)+8>>2]=d;c[c[h>>2]>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[(c[h>>2]|0)+16>>2]=c[k>>2];c[(c[h>>2]|0)+20>>2]=c[j>>2];a[(c[h>>2]|0)+24>>0]=1;a[(c[h>>2]|0)+25>>0]=0;i=g;return}function _d(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0.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,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;ra=i;i=i+272|0;l=ra+172|0;k=ra+148|0;m=ra+40|0;n=ra+112|0;s=ra+108|0;r=ra+136|0;ca=ra+140|0;S=ra+48|0;M=ra+92|0;ka=ra+88|0;E=ra+179|0;H=ra+261|0;B=ra+183|0;z=ra+259|0;A=ra+181|0;J=ra+176|0;F=ra+178|0;G=ra+265|0;v=ra+264|0;na=ra+262|0;o=ra+260|0;ia=ra+258|0;da=ra+180|0;T=ra+24|0;fa=ra;N=ra+116|0;pa=ra+120|0;V=ra+124|0;oa=ra+128|0;y=ra+132|0;w=ra+52|0;Y=ra+44|0;ga=ra+8|0;D=ra+184|0;I=ra+257|0;Z=ra+160|0;q=ra+186|0;ja=ra+32|0;la=ra+152|0;u=ra+164|0;p=ra+182|0;ba=ra+156|0;ma=ra+263|0;ha=ra+16|0;K=ra+104|0;W=ra+100|0;L=ra+96|0;P=ra+168|0;Q=ra+144|0;U=ra+84|0;O=ra+80|0;X=ra+76|0;t=ra+177|0;ea=ra+256|0;x=ra+72|0;aa=ra+68|0;$=ra+64|0;R=ra+60|0;_=ra+56|0;c[l>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;a[na>>0]=0;c[oa>>2]=0;c[Z>>2]=0;c[r>>2]=0;if(c[k>>2]|0){f=c[k>>2]&2;a[o>>0]=f;if(f&255){e=c[n>>2]|0;b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;c[Z>>2]=f}a[ia>>0]=c[k>>2]&1}else{a[ia>>0]=0;a[o>>0]=0}a:while(1){f=a[c[m>>2]>>0]|0;c[s>>2]=f;if(!f){qa=272;break}if((c[s>>2]|0)!=37){c[r>>2]=c[m>>2];do{c[m>>2]=(c[m>>2]|0)+1;if(!(a[c[m>>2]>>0]|0))break}while((a[c[m>>2]>>0]|0)!=37);es(c[l>>2]|0,c[r>>2]|0,(c[m>>2]|0)-(c[r>>2]|0)|0);if(!(a[c[m>>2]>>0]|0)){qa=272;break}}f=(c[m>>2]|0)+1|0;c[m>>2]=f;f=a[f>>0]|0;c[s>>2]=f;if(!f){qa=13;break}a[J>>0]=0;a[A>>0]=0;a[z>>0]=0;a[B>>0]=0;a[H>>0]=0;a[E>>0]=0;a[v>>0]=0;do{switch(c[s>>2]|0){case 45:{a[E>>0]=1;break}case 43:{a[H>>0]=1;break}case 32:{a[B>>0]=1;break}case 35:{a[z>>0]=1;break}case 33:{a[A>>0]=1;break}case 48:{a[J>>0]=1;break}default:a[v>>0]=1}if(a[v>>0]|0)break;f=(c[m>>2]|0)+1|0;c[m>>2]=f;f=a[f>>0]|0;c[s>>2]=f}while((f|0)!=0);c[ka>>2]=0;b:do if((c[s>>2]|0)==42){if(a[o>>0]|0){f=dF(c[Z>>2]|0)|0;c[ka>>2]=f}else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[ka>>2]=f}if((c[ka>>2]|0)<0){a[E>>0]=1;c[ka>>2]=0-(c[ka>>2]|0)}f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0]}else while(1){if(!((c[s>>2]|0)>=48?(c[s>>2]|0)<=57:0))break b;c[ka>>2]=((c[ka>>2]|0)*10|0)+(c[s>>2]|0)-48;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0]}while(0);c:do if((c[s>>2]|0)==46){c[ca>>2]=0;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0];if((c[s>>2]|0)!=42)while(1){if(!((c[s>>2]|0)>=48?(c[s>>2]|0)<=57:0))break c;c[ca>>2]=((c[ca>>2]|0)*10|0)+(c[s>>2]|0)-48;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0]}if(a[o>>0]|0){f=dF(c[Z>>2]|0)|0;c[ca>>2]=f}else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[ca>>2]=f}if((c[ca>>2]|0)<0)c[ca>>2]=0-(c[ca>>2]|0);f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0]}else c[ca>>2]=-1;while(0);do if((c[s>>2]|0)==108){a[F>>0]=1;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0];if((c[s>>2]|0)==108){a[G>>0]=1;f=(c[m>>2]|0)+1|0;c[m>>2]=f;c[s>>2]=a[f>>0];break}else{a[G>>0]=0;break}}else{a[G>>0]=0;a[F>>0]=0}while(0);c[N>>2]=36697;a[na>>0]=0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=23)break;g=c[M>>2]|0;if((c[s>>2]|0)==(a[36697+((c[M>>2]|0)*6|0)>>0]|0)){qa=53;break}c[M>>2]=g+1}if((qa|0)==53){qa=0;c[N>>2]=36697+(g*6|0);if((d[ia>>0]|0)==0?(d[(c[N>>2]|0)+2>>0]&2|0)!=0:0){qa=272;break}a[na>>0]=a[(c[N>>2]|0)+3>>0]|0}d:do switch(d[na>>0]|0){case 14:{a[G>>0]=0;a[F>>0]=1;qa=59;break}case 1:case 16:{qa=59;break}case 4:case 3:case 2:{if(a[o>>0]|0)h[fa>>3]=+eF(c[Z>>2]|0);else{f=c[n>>2]|0;e=(c[f>>2]|0)+(8-1)&~(8-1);j=+h[e>>3];c[f>>2]=e+8;h[fa>>3]=j}if((c[ca>>2]|0)<0)c[ca>>2]=6;do if(!(+h[fa>>3]<0.0)){if(a[H>>0]|0){a[da>>0]=43;break}if(a[B>>0]|0){a[da>>0]=32;break}else{a[da>>0]=0;break}}else{h[fa>>3]=-+h[fa>>3];a[da>>0]=45}while(0);if((d[na>>0]|0)==4&(c[ca>>2]|0)>0)c[ca>>2]=(c[ca>>2]|0)+-1;c[M>>2]=c[ca>>2];h[ga>>3]=.5;while(1){if((c[M>>2]|0)<=0)break;c[M>>2]=(c[M>>2]|0)+-1;h[ga>>3]=+h[ga>>3]*.1}if((d[na>>0]|0)==2)h[fa>>3]=+h[fa>>3]+ +h[ga>>3];c[y>>2]=0;if(fx(+h[fa>>3])|0){c[r>>2]=36884;c[S>>2]=3;break d}if(+h[fa>>3]>0.0){h[ha>>3]=1.0;while(1){if(!(+h[fa>>3]>=+h[ha>>3]*1.e+100?(c[y>>2]|0)<=350:0))break;h[ha>>3]=+h[ha>>3]*1.e+100;c[y>>2]=(c[y>>2]|0)+100}while(1){if(!(+h[fa>>3]>=+h[ha>>3]*1.e+64?(c[y>>2]|0)<=350:0))break;h[ha>>3]=+h[ha>>3]*1.e+64;c[y>>2]=(c[y>>2]|0)+64}while(1){if(!(+h[fa>>3]>=+h[ha>>3]*1.0e8?(c[y>>2]|0)<=350:0))break;h[ha>>3]=+h[ha>>3]*1.0e8;c[y>>2]=(c[y>>2]|0)+8}while(1){j=+h[ha>>3];if(!(+h[fa>>3]>=+h[ha>>3]*10.0?(c[y>>2]|0)<=350:0))break;h[ha>>3]=j*10.0;c[y>>2]=(c[y>>2]|0)+1}h[fa>>3]=+h[fa>>3]/j;while(1){if(!(+h[fa>>3]<1.0e-08))break;h[fa>>3]=+h[fa>>3]*1.0e8;c[y>>2]=(c[y>>2]|0)-8}while(1){if(!(+h[fa>>3]<1.0))break;h[fa>>3]=+h[fa>>3]*10.0;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>350){do if((a[da>>0]|0)!=45)if((a[da>>0]|0)==43){c[r>>2]=36893;break}else{c[r>>2]=36898;break}else c[r>>2]=36888;while(0);c[S>>2]=Ed(c[r>>2]|0)|0;break d}}c[r>>2]=q;if((d[na>>0]|0)!=2?(h[fa>>3]=+h[fa>>3]+ +h[ga>>3],+h[fa>>3]>=10.0):0){h[fa>>3]=+h[fa>>3]*.1;c[y>>2]=(c[y>>2]|0)+1}e:do if((d[na>>0]|0)==4){a[I>>0]=((a[z>>0]|0)!=0^1)&1;do if((c[y>>2]|0)>=-4){if((c[y>>2]|0)>(c[ca>>2]|0))break;c[ca>>2]=(c[ca>>2]|0)-(c[y>>2]|0);a[na>>0]=2;break e}while(0);a[na>>0]=3}else a[I>>0]=a[A>>0]|0;while(0);if((d[na>>0]|0)==3)c[w>>2]=0;else c[w>>2]=c[y>>2];if((((c[w>>2]|0)>0?c[w>>2]|0:0)+(c[ca>>2]|0)+(c[ka>>2]|0)|0)>55?(f=((c[w>>2]|0)>0?c[w>>2]|0:0)+(c[ca>>2]|0)+(c[ka>>2]|0)+15|0,f=Wd(f,((f|0)<0)<<31>>31)|0,c[oa>>2]=f,c[r>>2]=f,(c[r>>2]|0)==0):0){qa=165;break a}c[pa>>2]=c[r>>2];c[Y>>2]=16+((d[A>>0]|0)*10|0);a[D>>0]=((c[ca>>2]|0)>0?1:0)|d[z>>0]|d[A>>0];if(a[da>>0]|0){e=a[da>>0]|0;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e}f:do if((c[w>>2]|0)<0){f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=48}else while(1){if((c[w>>2]|0)<0)break f;e=fF(fa,Y)|0;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e;c[w>>2]=(c[w>>2]|0)+-1}while(0);if(a[D>>0]|0){f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=46}c[w>>2]=(c[w>>2]|0)+1;while(1){if((c[w>>2]|0)>=0)break;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=48;c[ca>>2]=(c[ca>>2]|0)+-1;c[w>>2]=(c[w>>2]|0)+1}while(1){f=c[ca>>2]|0;c[ca>>2]=f+-1;if((f|0)<=0)break;e=fF(fa,Y)|0;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e}do if(d[I>>0]|0){if(!(d[D>>0]|0))break;while(1){g=(c[r>>2]|0)+-1|0;if((a[(c[r>>2]|0)+-1>>0]|0)!=48)break;c[r>>2]=g;a[g>>0]=0}if((a[g>>0]|0)!=46)break;g=c[r>>2]|0;if(a[A>>0]|0){c[r>>2]=g+1;a[g>>0]=48;break}else{f=g+-1|0;c[r>>2]=f;a[f>>0]=0;break}}while(0);if((d[na>>0]|0)==3){g=a[36844+(d[(c[N>>2]|0)+4>>0]|0)>>0]|0;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=g;f=(c[y>>2]|0)<0;g=c[r>>2]|0;c[r>>2]=g+1;if(f){a[g>>0]=45;c[y>>2]=0-(c[y>>2]|0)}else a[g>>0]=43;if((c[y>>2]|0)>=100){e=((c[y>>2]|0)/100|0)+48&255;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e;c[y>>2]=(c[y>>2]|0)%100|0}f=((c[y>>2]|0)/10|0)+48&255;e=c[r>>2]|0;c[r>>2]=e+1;a[e>>0]=f;e=((c[y>>2]|0)%10|0)+48&255;f=c[r>>2]|0;c[r>>2]=f+1;a[f>>0]=e}a[c[r>>2]>>0]=0;c[S>>2]=(c[r>>2]|0)-(c[pa>>2]|0);c[r>>2]=c[pa>>2];if((d[J>>0]|0)==0|(a[E>>0]|0)!=0)break d;if((c[S>>2]|0)>=(c[ka>>2]|0))break d;c[W>>2]=(c[ka>>2]|0)-(c[S>>2]|0);c[K>>2]=c[ka>>2];while(1){if((c[K>>2]|0)<(c[W>>2]|0))break;a[(c[r>>2]|0)+(c[K>>2]|0)>>0]=a[(c[r>>2]|0)+((c[K>>2]|0)-(c[W>>2]|0))>>0]|0;c[K>>2]=(c[K>>2]|0)+-1}c[K>>2]=(a[da>>0]|0)!=0&1;while(1){f=c[W>>2]|0;c[W>>2]=f+-1;if(!f)break;f=c[K>>2]|0;c[K>>2]=f+1;a[(c[r>>2]|0)+f>>0]=48}c[S>>2]=c[ka>>2];break}case 5:{if(!(a[o>>0]|0)){e=c[(c[l>>2]|0)+12>>2]|0;k=c[n>>2]|0;b=(c[k>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[k>>2]=b+4;c[f>>2]=e}c[ka>>2]=0;c[S>>2]=0;break}case 8:{a[q>>0]=37;c[r>>2]=q;c[S>>2]=1;break}case 9:{if(a[o>>0]|0){c[r>>2]=gF(c[Z>>2]|0)|0;if(c[r>>2]|0)g=a[c[r>>2]>>0]|0;else g=0;c[s>>2]=g}else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[s>>2]=f}if((c[ca>>2]|0)>1){c[ka>>2]=(c[ka>>2]|0)-((c[ca>>2]|0)-1);if(!((c[ka>>2]|0)<=1|(a[E>>0]|0)!=0)){hF(c[l>>2]|0,(c[ka>>2]|0)-1|0,32);c[ka>>2]=0}hF(c[l>>2]|0,(c[ca>>2]|0)-1|0,c[s>>2]&255)}c[S>>2]=1;a[q>>0]=c[s>>2];c[r>>2]=q;break}case 7:case 6:{if(a[o>>0]|0)c[r>>2]=gF(c[Z>>2]|0)|0;else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[r>>2]=f}if(c[r>>2]|0){if(!((d[na>>0]|0)!=7|(a[o>>0]|0)!=0))c[oa>>2]=c[r>>2]}else c[r>>2]=14425;if((c[ca>>2]|0)<0){c[S>>2]=Ed(c[r>>2]|0)|0;break d}c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[ca>>2]|0))break d;if(!(a[(c[r>>2]|0)+(c[S>>2]|0)>>0]|0))break d;c[S>>2]=(c[S>>2]|0)+1}}case 15:case 11:case 10:{a[ea>>0]=(d[na>>0]|0)==15?34:39;if(a[o>>0]|0)c[x>>2]=gF(c[Z>>2]|0)|0;else{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[x>>2]=f}c[O>>2]=(c[x>>2]|0)==0&1;if(c[O>>2]|0)c[x>>2]=(d[na>>0]|0)==11?30955:36902;c[Q>>2]=c[ca>>2];c[U>>2]=0;c[L>>2]=0;while(1){if(!(c[Q>>2]|0))break;f=a[(c[x>>2]|0)+(c[L>>2]|0)>>0]|0;a[t>>0]=f;if(!(f<<24>>24))break;if((a[t>>0]|0)==(a[ea>>0]|0))c[U>>2]=(c[U>>2]|0)+1;c[L>>2]=(c[L>>2]|0)+1;c[Q>>2]=(c[Q>>2]|0)+-1}if(c[O>>2]|0)g=0;else g=(d[na>>0]|0)==11;c[X>>2]=g&1;c[U>>2]=(c[U>>2]|0)+((c[L>>2]|0)+1+(c[X>>2]<<1));if((c[U>>2]|0)>70){f=c[U>>2]|0;f=Wd(f,((f|0)<0)<<31>>31)|0;c[oa>>2]=f;c[r>>2]=f;if(!(c[r>>2]|0)){qa=245;break a}}else c[r>>2]=q;c[P>>2]=0;if(c[X>>2]|0){e=a[ea>>0]|0;f=c[P>>2]|0;c[P>>2]=f+1;a[(c[r>>2]|0)+f>>0]=e}c[Q>>2]=c[L>>2];c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[Q>>2]|0))break;e=a[(c[x>>2]|0)+(c[L>>2]|0)>>0]|0;a[t>>0]=e;f=c[P>>2]|0;c[P>>2]=f+1;a[(c[r>>2]|0)+f>>0]=e;if((a[t>>0]|0)==(a[ea>>0]|0)){e=a[t>>0]|0;f=c[P>>2]|0;c[P>>2]=f+1;a[(c[r>>2]|0)+f>>0]=e}c[L>>2]=(c[L>>2]|0)+1}if(c[X>>2]|0){e=a[ea>>0]|0;f=c[P>>2]|0;c[P>>2]=f+1;a[(c[r>>2]|0)+f>>0]=e}a[(c[r>>2]|0)+(c[P>>2]|0)>>0]=0;c[S>>2]=c[P>>2];break}case 12:{e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[aa>>2]=f;if((c[aa>>2]|0)!=0?(c[(c[aa>>2]|0)+4>>2]|0)!=0:0)es(c[l>>2]|0,c[c[aa>>2]>>2]|0,c[(c[aa>>2]|0)+4>>2]|0);c[ka>>2]=0;c[S>>2]=0;break}case 13:{k=c[n>>2]|0;f=(c[k>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[k>>2]=f+4;c[$>>2]=e;e=c[n>>2]|0;k=(c[e>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[e>>2]=k+4;c[R>>2]=f;c[_>>2]=(c[$>>2]|0)+8+((c[R>>2]|0)*72|0);if(c[(c[_>>2]|0)+4>>2]|0){fs(c[l>>2]|0,c[(c[_>>2]|0)+4>>2]|0);es(c[l>>2]|0,23024,1)}fs(c[l>>2]|0,c[(c[_>>2]|0)+8>>2]|0);c[ka>>2]=0;c[S>>2]=0;break}default:{qa=272;break a}}while(0);if((qa|0)==59){qa=0;g=(a[o>>0]|0)!=0;do if(d[(c[N>>2]|0)+2>>0]&1){do if(!g){g=c[n>>2]|0;if(a[G>>0]|0){f=(c[g>>2]|0)+(8-1)&~(8-1);e=f;k=c[e>>2]|0;e=c[e+4>>2]|0;c[g>>2]=f+8;f=ja;c[f>>2]=k;c[f+4>>2]=e;break}else{f=(c[g>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[g>>2]=f+4;f=ja;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break}}else{e=dF(c[Z>>2]|0)|0;f=ja;c[f>>2]=e;c[f+4>>2]=C}while(0);k=ja;g=c[k>>2]|0;k=c[k+4>>2]|0;if((c[ja+4>>2]|0)<0){if((g|0)==0&(k|0)==-2147483648){f=T;c[f>>2]=0;c[f+4>>2]=-2147483648}else{e=ja;e=AH(0,0,c[e>>2]|0,c[e+4>>2]|0)|0;f=T;c[f>>2]=e;c[f+4>>2]=C}a[da>>0]=45;break}f=T;c[f>>2]=g;c[f+4>>2]=k;if(a[H>>0]|0){a[da>>0]=43;break}if(a[B>>0]|0){a[da>>0]=32;break}else{a[da>>0]=0;break}}else{do if(!g){g=c[n>>2]|0;if(a[G>>0]|0){f=(c[g>>2]|0)+(8-1)&~(8-1);e=f;k=c[e>>2]|0;e=c[e+4>>2]|0;c[g>>2]=f+8;f=T;c[f>>2]=k;c[f+4>>2]=e;break}else{f=(c[g>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[g>>2]=f+4;f=T;c[f>>2]=e;c[f+4>>2]=0;break}}else{e=dF(c[Z>>2]|0)|0;f=T;c[f>>2]=e;c[f+4>>2]=C}while(0);a[da>>0]=0}while(0);f=T;if((c[f>>2]|0)==0&(c[f+4>>2]|0)==0)a[z>>0]=0;if((d[J>>0]|0)!=0?(c[ca>>2]|0)<((c[ka>>2]|0)-((a[da>>0]|0)!=0&1)|0):0)c[ca>>2]=(c[ka>>2]|0)-((a[da>>0]|0)!=0&1);if((c[ca>>2]|0)>=60){c[V>>2]=(c[ca>>2]|0)+10;f=c[V>>2]|0;f=Wd(f,((f|0)<0)<<31>>31)|0;c[oa>>2]=f;c[pa>>2]=f;if(!(c[pa>>2]|0)){qa=89;break}}else{c[V>>2]=70;c[pa>>2]=q}c[r>>2]=(c[pa>>2]|0)+((c[V>>2]|0)-1);if((d[na>>0]|0)==16){f=T;f=OH(c[f>>2]|0,c[f+4>>2]|0,10,0)|0;c[la>>2]=f;if(!((c[la>>2]|0)<4?(f=T,f=NH(c[f>>2]|0,c[f+4>>2]|0,10,0)|0,f=OH(f|0,C|0,10,0)|0,!((f|0)==1&(C|0)==0)):0))c[la>>2]=0;f=a[36835+((c[la>>2]<<1)+1)>>0]|0;e=(c[r>>2]|0)+-1|0;c[r>>2]=e;a[e>>0]=f;e=a[36835+(c[la>>2]<<1)>>0]|0;f=(c[r>>2]|0)+-1|0;c[r>>2]=f;a[f>>0]=e}c[u>>2]=36844+(d[(c[N>>2]|0)+4>>0]|0);a[p>>0]=a[(c[N>>2]|0)+1>>0]|0;do{f=T;f=OH(c[f>>2]|0,c[f+4>>2]|0,d[p>>0]|0,0)|0;f=a[(c[u>>2]|0)+f>>0]|0;e=(c[r>>2]|0)+-1|0;c[r>>2]=e;a[e>>0]=f;e=T;e=NH(c[e>>2]|0,c[e+4>>2]|0,d[p>>0]|0,0)|0;f=T;c[f>>2]=e;c[f+4>>2]=C;f=T;e=c[f+4>>2]|0}while(e>>>0>0|(e|0)==0&(c[f>>2]|0)>>>0>0);c[S>>2]=(c[pa>>2]|0)+((c[V>>2]|0)-1)-(c[r>>2]|0);c[M>>2]=(c[ca>>2]|0)-(c[S>>2]|0);while(1){if((c[M>>2]|0)<=0)break;f=(c[r>>2]|0)+-1|0;c[r>>2]=f;a[f>>0]=48;c[M>>2]=(c[M>>2]|0)+-1}if(a[da>>0]|0){e=a[da>>0]|0;f=(c[r>>2]|0)+-1|0;c[r>>2]=f;a[f>>0]=e}g:do if((d[z>>0]|0)!=0?(d[(c[N>>2]|0)+5>>0]|0)!=0:0){c[ba>>2]=36877+(d[(c[N>>2]|0)+5>>0]|0);while(1){f=a[c[ba>>2]>>0]|0;a[ma>>0]=f;if(!(f<<24>>24))break g;e=a[ma>>0]|0;f=(c[r>>2]|0)+-1|0;c[r>>2]=f;a[f>>0]=e;c[ba>>2]=(c[ba>>2]|0)+1}}while(0);c[S>>2]=(c[pa>>2]|0)+((c[V>>2]|0)-1)-(c[r>>2]|0)}c[ka>>2]=(c[ka>>2]|0)-(c[S>>2]|0);if(!((c[ka>>2]|0)<=0|(a[E>>0]|0)!=0))hF(c[l>>2]|0,c[ka>>2]|0,32);es(c[l>>2]|0,c[r>>2]|0,c[S>>2]|0);if((c[ka>>2]|0)>0?(d[E>>0]|0)!=0:0)hF(c[l>>2]|0,c[ka>>2]|0,32);if(c[oa>>2]|0){Sb(c[oa>>2]|0);c[oa>>2]=0}c[m>>2]=(c[m>>2]|0)+1}if((qa|0)==13){es(c[l>>2]|0,36695,1);i=ra;return}else if((qa|0)==89){js(c[l>>2]|0,1);i=ra;return}else if((qa|0)==165){js(c[l>>2]|0,1);i=ra;return}else if((qa|0)==245){js(c[l>>2]|0,1);i=ra;return}else if((qa|0)==272){i=ra;return}}function $d(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(d[(c[e>>2]|0)+24>>0]|0|0)!=0):0)?(c[(c[e>>2]|0)+8>>2]|0)==(c[(c[e>>2]|0)+4>>2]|0):0){b=c[e>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){g=(c[(c[e>>2]|0)+12>>2]|0)+1|0;b=qf(c[b>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[e>>2]|0)+8>>2]=b}else{g=Rb((c[b+12>>2]|0)+1|0)|0;c[(c[e>>2]|0)+8>>2]=g}b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){EH(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;break}else{js(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+256|0;j=f+36|0;k=f+32|0;g=f+28|0;h=f;c[j>>2]=b;c[k>>2]=d;c[g>>2]=e;Zd(h,f+40|0,210,0);a[h+24>>0]=0;_d(h,0,c[k>>2]|0,c[g>>2]|0);g=c[65]|0;e=c[66]|0;b=c[j>>2]|0;d=$d(h)|0;rb[g&63](e,b,d);i=f;return}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=lb[c[(c[h>>2]|0)+56>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ce(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];a=c[f>>2]|0;if(!(c[h>>2]|0)){ee(a,c[g>>2]|0);i=l;return}if((c[a+232>>2]|0)==0?(g=Pf(c[f>>2]|0)|0,c[(c[f>>2]|0)+232>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=fn(c[f>>2]|0,c[h>>2]|0,j)|0;Qf(c[(c[f>>2]|0)+232>>2]|0,-1,c[k>>2]|0,1,23);i=l;return}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=Wd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}BH(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;c[(c[d>>2]|0)+52>>2]=c[f>>2];if(!(c[(c[d>>2]|0)+232>>2]|0)){i=e;return}ID(c[(c[d>>2]|0)+232>>2]|0);i=e;return}function fe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ge(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function he(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;p=i;i=i+32|0;h=p+8|0;j=p+16|0;k=p+20|0;l=p+24|0;o=p+4|0;m=p;n=p+12|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;fe(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=Iy(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=FD(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=GD(k,m,aj(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=TC(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)qt(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(hj(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+28+8>>0]=1;c[(c[h>>2]|0)+28+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+28}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(kj((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=ye(c[(c[n>>2]|0)+68>>2]|0)|0,(c[o>>2]|0)==0):0)Dl((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=QC(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+496>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[j>>2]|0)+4>>2];fe(c[j>>2]|0);d=kj((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[g>>2]<<2))|0)|0;c[c[f>>2]>>2]=d;i=e;return}function je(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function ke(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function le(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Aw(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function ne(a,b,e,f){a=a|0;b=b|0;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;t=i;i=i+48|0;g=t;h=t+8|0;j=t+36|0;k=t+16|0;u=t+32|0;r=t+40|0;q=t+44|0;m=t+24|0;n=t+20|0;l=t+12|0;p=t+4|0;o=t+28|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[u>>2]=f;c[r>>2]=0;c[q>>2]=0;c[m>>2]=0;c[n>>2]=c[u>>2]&1;c[l>>2]=0;if(!(c[j>>2]|0)){c[g>>2]=Rk(46160)|0;u=c[g>>2]|0;i=t;return u|0}do if(!(c[(c[h>>2]|0)+40>>2]|0)){if(((c[l>>2]|0)!=0?(Fj(c[h>>2]|0)|0)!=0:0)?(c[r>>2]=Jk(c[(c[h>>2]|0)+208>>2]|0,c[j>>2]|0,m)|0,(c[r>>2]|0)!=0):0)break;if((c[l>>2]|0)!=0&(c[m>>2]|0)==0){c[p>>2]=0;e=c[(c[h>>2]|0)+60>>2]|0;u=c[(c[h>>2]|0)+152>>2]|0;u=MH((c[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[r>>2]=fC(e,u,C,c[(c[h>>2]|0)+152>>2]|0,p)|0;if((c[r>>2]|0)==0&(c[p>>2]|0)!=0){if((d[(c[h>>2]|0)+16>>0]|0|0)>1)c[q>>2]=kk(c[h>>2]|0,c[j>>2]|0)|0;f=c[h>>2]|0;if(!(c[q>>2]|0))c[r>>2]=DD(f,c[j>>2]|0,c[p>>2]|0,q)|0;else{e=c[f+60>>2]|0;u=c[(c[h>>2]|0)+152>>2]|0;u=MH((c[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ok(e,u,C,c[p>>2]|0)|0}if(c[q>>2]|0){c[c[k>>2]>>2]=c[q>>2];c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}}if(c[r>>2]|0)break}c[o>>2]=ok(c[(c[h>>2]|0)+204>>2]|0,c[j>>2]|0,3)|0;if((c[o>>2]|0)==0?(c[r>>2]=ED(c[(c[h>>2]|0)+204>>2]|0,c[j>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;u=pk(c[(c[h>>2]|0)+204>>2]|0,c[j>>2]|0,c[o>>2]|0)|0;c[c[k>>2]>>2]=u;c[q>>2]=u;if(!(c[q>>2]|0)){c[r>>2]=7;s=22}else s=22}else{c[r>>2]=c[(c[h>>2]|0)+40>>2];s=22}while(0);do if((s|0)==22){if(c[r>>2]|0){c[q>>2]=0;break}if(!((c[n>>2]|0)!=0?1:(c[(c[c[k>>2]>>2]|0)+16>>2]|0)==0)){u=(c[h>>2]|0)+184|0;c[u>>2]=(c[u>>2]|0)+1;c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}c[q>>2]=c[c[k>>2]>>2];c[(c[q>>2]|0)+16>>2]=c[h>>2];if((c[j>>2]|0)>>>0<=2147483647?(c[j>>2]|0)!=(((c[229]|0)/(c[(c[h>>2]|0)+152>>2]|0)|0)+1|0):0){if(((d[(c[h>>2]|0)+15>>0]|0|0)==0?!((c[n>>2]|0)!=0?1:(c[(c[h>>2]|0)+24>>2]|0)>>>0<(c[j>>2]|0)>>>0):0)?(c[c[(c[h>>2]|0)+60>>2]>>2]|0)!=0:0){u=(Fj(c[h>>2]|0)|0)!=0;if(u&(c[l>>2]|0)==0?(c[r>>2]=Jk(c[(c[h>>2]|0)+208>>2]|0,c[j>>2]|0,m)|0,(c[r>>2]|0)!=0):0)break;u=(c[h>>2]|0)+184+4|0;c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=Kk(c[q>>2]|0,c[m>>2]|0)|0;if(c[r>>2]|0)break}else{if((c[j>>2]|0)>>>0>(c[(c[h>>2]|0)+156>>2]|0)>>>0){c[r>>2]=13;break}if(c[n>>2]|0){gh();if((c[j>>2]|0)>>>0<=(c[(c[h>>2]|0)+28>>2]|0)>>>0)Sg(c[(c[h>>2]|0)+56>>2]|0,c[j>>2]|0)|0;Rl(c[h>>2]|0,c[j>>2]|0)|0;hh()}BH(c[(c[q>>2]|0)+4>>2]|0,0,c[(c[h>>2]|0)+152>>2]|0)|0}c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}c[r>>2]=Rk(46239)|0}while(0);if(c[q>>2]|0)Ik(c[q>>2]|0);Nk(c[h>>2]|0);c[c[k>>2]>>2]=0;c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}function oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function pe(b,d,e,f){b=b|0;d=d|0;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;w=i;i=i+80|0;g=w+20|0;x=w+24|0;h=w+52|0;j=w+60|0;q=w+28|0;p=w+48|0;o=w+56|0;n=w+64|0;l=w;v=w+44|0;m=w+8|0;r=w+16|0;k=w+36|0;t=w+40|0;s=w+32|0;u=w+68|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Id(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=ke(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=ke(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=MH(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(NA(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=AH(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=KH(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=ne(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=ye(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=LH(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=oe(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=LH(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,EH(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(Sl(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;Dl(x,me(c[(c[g>>2]|0)+24>>2]|0)|0)}qe(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=DH(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function qe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Lk(c[b>>2]|0);i=d;return}function re(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Ge(Id(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function se(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;fe(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=TC(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function te(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;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];fe(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=ye(c[(c[(c[h>>2]|0)+12>>2]|0)+68>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}Dl((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function ue(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Hd(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)_i(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;qm(c[b>>2]|0);pD(c[b>>2]|0);i=f;return}function ve(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=he(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=he(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=ye(c[(c[(c[l>>2]|0)+12>>2]|0)+68>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+60>>2]|0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+24>>2];i=d;return}function ye(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;a=c[e>>2]|0;if((c[(c[(c[e>>2]|0)+16>>2]|0)+148>>2]|0)>>>0>(c[(c[(c[e>>2]|0)+16>>2]|0)+152>>2]|0)>>>0){c[b>>2]=yD(a)|0;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=zD(a)|0;e=c[b>>2]|0;i=d;return e|0}return 0}function ze(b,e,f){b=b|0;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;p=i;i=i+32|0;g=p+4|0;h=p+16|0;j=p+8|0;k=p+20|0;o=p+28|0;m=p;n=p+12|0;l=p+24|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;f=c[h>>2]|0;if(c[(c[h>>2]|0)+40>>2]|0){c[g>>2]=c[f+40>>2];o=c[g>>2]|0;i=p;return o|0}if((d[f+16>>0]|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}f=c[h>>2]|0;do if(!(a[(c[h>>2]|0)+15>>0]|0)){e=(Fj(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=Ck(c[f+204>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=ne(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=yl(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+24>>2]|0,1)|0;qe(c[n>>2]|0);if(c[o>>2]|0)break;Ej(c[(c[h>>2]|0)+204>>2]|0);break}c[o>>2]=wD(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=xD(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=zl(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=Al(n,Ck(c[(c[h>>2]|0)+204>>2]|0)|0)|0,(c[o>>2]|0)==0):0){Ej(c[(c[h>>2]|0)+204>>2]|0);if((c[(c[h>>2]|0)+24>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+24>>2]|0)-((c[(c[h>>2]|0)+24>>2]|0)==(((c[229]|0)/(c[(c[h>>2]|0)+152>>2]|0)|0)+1|0)&1);c[o>>2]=Hj(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Ce(c[h>>2]|0,c[j>>2]|0)|0}}else Kg(c[f+88>>2]|0);while(0);if((c[o>>2]|0)==0?(Fj(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+16>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=wb[c[(c[c[k>>2]>>2]|0)+12>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Cg(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=Aj(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Ce(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+60>>2]>>2]|0){c[h>>2]=c[g>>2];e=gg(c[(c[f>>2]|0)+60>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=Bj(c[(c[f>>2]|0)+60>>2]|0,d[(c[f>>2]|0)+11>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+24>>2]=c[f>>2];i=d;return}function Ee(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}fe(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=vD(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){a[(c[j>>2]|0)+20>>0]=1;qD(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);rD(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Fe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=uD(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)De(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=ze(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Ge(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+88|0}function He(b,e,f){b=b|0;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;q=i;i=i+48|0;g=q+28|0;h=q+16|0;j=q+4|0;n=q+8|0;l=q+32|0;m=q;o=q+12|0;p=q+24|0;k=q+20|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);if(!(c[h>>2]|0)){f=Jy(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=zz(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;rD(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=wj(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(Bw(c[l>>2]|0,1,m,0)|0)){c[k>>2]=kj((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))xe(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];pt(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;qD(c[l>>2]|0);f=c[g>>2]|0;rD(f);f=c[n>>2]|0;i=q;return f|0}function Ie(b){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;o=i;i=i+48|0;d=o;e=o+16|0;f=o+28|0;j=o+4|0;l=o+32|0;n=o+36|0;k=o+12|0;g=o+24|0;h=o+20|0;m=o+8|0;c[d>>2]=b;if((c[(c[d>>2]|0)+76>>2]|0)!=1691352191){i=o;return}if(lm(c[d>>2]|0)|0){i=o;return}Bz(c[d>>2]|0,0);Cz(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if(c[(c[j>>2]|0)+4>>2]|0){a:do if(c[(c[j>>2]|0)+12>>2]|0){fe(c[(c[j>>2]|0)+4>>2]|0);c[e>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+24+8>>2];while(1){if(!(c[e>>2]|0))break a;c[l>>2]=c[(c[e>>2]|0)+8>>2];ah(c[(c[l>>2]|0)+40>>2]|0);c[(c[l>>2]|0)+40>>2]=0;c[e>>2]=c[c[e>>2]>>2]}}while(0);lt(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;if((c[f>>2]|0)!=1)c[(c[j>>2]|0)+12>>2]=0}c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)_i(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);qm(c[d>>2]|0);pD(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=23)break;c[g>>2]=c[(c[d>>2]|0)+336+(c[f>>2]<<2)>>2];while(1){if(!(c[g>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+28>>2];while(1){if(!(c[g>>2]|0))break;im(c[d>>2]|0,c[g>>2]|0);c[n>>2]=c[(c[g>>2]|0)+8>>2];Nd(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[n>>2]}c[g>>2]=c[k>>2]}c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=c[(c[d>>2]|0)+428+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)nb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&31](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}ih((c[d>>2]|0)+428|0);c[e>>2]=c[(c[d>>2]|0)+308+8>>2];while(1){if(!(c[e>>2]|0))break;c[m>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[m>>2]|0)+12>>2]|0)nb[c[(c[m>>2]|0)+12>>2]&31](c[(c[m>>2]|0)+8>>2]|0);Nd(c[d>>2]|0,c[m>>2]|0);c[e>>2]=c[c[e>>2]>>2]}ih((c[d>>2]|0)+308|0);ee(c[d>>2]|0,0);Rf(c[(c[d>>2]|0)+232>>2]|0);c[(c[d>>2]|0)+76>>2]=-1254786768;Nd(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+76>>2]=-1623446221;if(a[(c[d>>2]|0)+248+3>>0]|0)Sb(c[(c[d>>2]|0)+248+28>>2]|0);Sb(c[d>>2]|0);i=o;return}function Je(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Zb(21,36057,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Ke(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[b>>2]|0)+40>>2]|0)!=1369188723:0))c[d>>2]=Me(c[b>>2]|0)|0;Zm(c[b>>2]|0);i=e;return c[d>>2]|0}function Le(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=c[g>>2]&255;b=c[e>>2]|0;i=h;return b|0}if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+64>>0]|0|0)!=0){c[e>>2]=oD(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Me(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];ez(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+76>>2]|0)>=0){$y(a)|0;Nd(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;if((e[(c[d>>2]|0)+88>>1]|0)>>>6&1){g=(c[d>>2]|0)+88|0;b[g>>1]=b[g>>1]&-33|32}}else if((c[a+80>>2]|0)!=0?((e[(c[d>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[d>>2]|0)+80>>2]|0;a=(c[(c[d>>2]|0)+44>>2]|0)!=0?14418:0;c[g>>2]=c[(c[d>>2]|0)+44>>2];ce(k,j,a,g);Nd(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0}nD(c[d>>2]|0);k=(c[d>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+40>>2]=649915045;i=h;return c[(c[d>>2]|0)+80>>2]&c[(c[f>>2]|0)+56>>2]|0}function Ne(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+87>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Oe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}mD(c[b>>2]|0);i=d;return}function Pe(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if((e[(c[f>>2]|0)+8>>1]|0)&16384){a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)<=0?1:a;if(!(fm(c[f>>2]|0,c[g>>2]|0,1)|0)){BH((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[c[f>>2]>>2]|0);a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-16897;break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Qe(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=lD(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function Re(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+8|0;f=k+4|0;g=k+12|0;j=k;c[f>>2]=b;a[g>>0]=d;c[j>>2]=c[f>>2];if(((e[(c[j>>2]|0)+8>>1]|0)&16|0)==0?(Qe(c[f>>2]|0,a[g>>0]|0)|0)==0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}f=c[(c[j>>2]|0)+12>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16384){c[h>>2]=f+(c[c[j>>2]>>2]|0);j=c[h>>2]|0;i=k;return j|0}else{c[h>>2]=f;j=c[h>>2]|0;i=k;return j|0}return 0}function Se(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;Iq(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function Te(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=sp(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;sg(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function Ue(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((Xe(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}Ac(c[h>>2]|0);i=j;return}function Ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))nb[c[f>>2]&31](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}Ac(c[g>>2]|0);i=h;return 18}function We(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;Ze(c[e>>2]|0);if(fx(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function Xe(f,g,h,j,k){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;u=i;i=i+48|0;n=u;o=u+16|0;l=u+20|0;v=u+24|0;p=u+34|0;q=u+28|0;t=u+12|0;s=u+8|0;r=u+32|0;m=u+4|0;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){Ze(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+88>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Ed(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==23;Oe(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=dm(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(vp(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){EH(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(kD(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function Ye(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;jD(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function Ze(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){bx(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function _e(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)bx(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=cm(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function $e(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Oe(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function af(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=35431;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[4008+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[4008+(c[b>>2]<<2)>>2]}else c[d>>2]=35445;i=e;return c[d>>2]|0}function bf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Zb(21,35391,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Je(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function cf(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l;c[g>>2]=d;if((c[(c[g>>2]|0)+40>>2]|0)!=-1108210269)fc(c[g>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];d=c[g>>2]|0;if(a[(c[h>>2]|0)+64>>0]|0){c[d+80>>2]=7;c[f>>2]=7;k=c[f>>2]|0;i=l;return k|0}if((c[d+76>>2]|0)<=0?((e[(c[g>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){c[(c[g>>2]|0)+80>>2]=17;c[k>>2]=1}else{if((c[(c[g>>2]|0)+76>>2]|0)<0){if(!(c[(c[h>>2]|0)+148>>2]|0))c[(c[h>>2]|0)+240>>2]=0;if((c[(c[h>>2]|0)+180>>2]|0)!=0?(a[(c[h>>2]|0)+140+5>>0]|0)==0:0)Xy(c[c[h>>2]>>2]|0,(c[g>>2]|0)+128|0)|0;d=(c[h>>2]|0)+148|0;c[d>>2]=(c[d>>2]|0)+1;if(!((e[(c[g>>2]|0)+88>>1]|0)>>>8&1)){d=(c[h>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+1}if((e[(c[g>>2]|0)+88>>1]|0)>>>9&1){d=(c[h>>2]|0)+152|0;c[d>>2]=(c[d>>2]|0)+1}c[(c[g>>2]|0)+76>>2]=0}if(b[(c[g>>2]|0)+88>>1]&3)c[k>>2]=Yy(c[g>>2]|0)|0;else{d=(c[h>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;c[k>>2]=Zy(c[g>>2]|0)|0;d=(c[h>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+-1}if((((c[k>>2]|0)!=100?(c[(c[h>>2]|0)+180>>2]|0)!=0:0)?(a[(c[h>>2]|0)+140+5>>0]|0)==0:0)?(c[(c[g>>2]|0)+168>>2]|0)!=0:0){Xy(c[c[h>>2]>>2]|0,j)|0;n=c[(c[h>>2]|0)+180>>2]|0;m=c[(c[h>>2]|0)+184>>2]|0;d=c[(c[g>>2]|0)+168>>2]|0;o=j;j=(c[g>>2]|0)+128|0;j=AH(c[o>>2]|0,c[o+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=MH(j|0,C|0,1e6,0)|0;xb[n&3](m,d,j,C)}if((c[k>>2]|0)==101?(o=_y(c[h>>2]|0)|0,c[(c[g>>2]|0)+80>>2]=o,(c[(c[g>>2]|0)+80>>2]|0)!=0):0)c[k>>2]=1;c[(c[h>>2]|0)+52>>2]=c[k>>2];if(7==(Le(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+80>>2]|0)|0))c[(c[g>>2]|0)+80>>2]=7}if(((c[k>>2]|0)!=100?((e[(c[g>>2]|0)+88>>1]|0)>>>10&1|0)!=0:0)&(c[k>>2]|0)!=101)c[k>>2]=$y(c[g>>2]|0)|0;c[f>>2]=c[k>>2]&c[(c[h>>2]|0)+56>>2];o=c[f>>2]|0;i=l;return o|0}function df(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;h=j+12|0;g=j+8|0;k=j+4|0;f=j;c[e>>2]=b;c[k>>2]=dc(c[e>>2]|0)|0;c[f>>2]=ws(c[e>>2]|0)|0;c[h>>2]=Lf(c[f>>2]|0,c[k>>2]|0,-1,0,c[e>>2]|0,g,0)|0;if(!(c[h>>2]|0)){Vy(c[g>>2]|0,c[e>>2]|0);of(c[g>>2]|0,c[e>>2]|0)|0;Wy(c[g>>2]|0);Ke(c[g>>2]|0)|0;c[d>>2]=0;k=c[d>>2]|0;i=j;return k|0}if((c[h>>2]|0)==7)a[(c[f>>2]|0)+64>>0]=1;c[d>>2]=c[h>>2];k=c[d>>2]|0;i=j;return k|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Ed(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=qf(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)EH(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function ff(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){vp(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)BH(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{Ze(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=qf(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}BH(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function hf(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[g>>2]=c[j>>2];if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)!=0:0)?((c[d>>2]|0)>=0?(c[d>>2]|0)<(e[(c[g>>2]|0)+84>>1]|0|0):0):0){c[f>>2]=(c[(c[g>>2]|0)+20>>2]|0)+((c[d>>2]|0)*40|0);j=c[f>>2]|0;i=h;return j|0}if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)ee(c[c[g>>2]>>2]|0,25);c[f>>2]=Uy()|0;j=c[f>>2]|0;i=h;return j|0}function jf(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Le(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+80>>2]|0)|0;c[(c[b>>2]|0)+80>>2]=e;i=d;return}function kf(b,d,e,f){b=b|0;d=d|0;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;o=i;i=i+32|0;p=o+4|0;g=o+16|0;h=o+8|0;j=o+20|0;n=o+28|0;m=o;l=o+12|0;k=o+24|0;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=Gc(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=qb[c[h>>2]&31]((c[(c[m>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+64>>0]|0)){p=c[n>>2]|0;i=o;return p|0}a[(c[k>>2]|0)+64>>0]=0;c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function lf(b,e,f,g,h,j){b=b|0;e=e|0;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;s=i;i=i+48|0;t=s+4|0;k=s+16|0;l=s+20|0;m=s+24|0;n=s+28|0;o=s+32|0;p=s+12|0;q=s+8|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=mf(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}nb[c[n>>2]&31](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=Xe(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=am(c[q>>2]|0,d[(c[(c[(c[c[p>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0)|0;ee(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Le(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function mf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;c[g>>2]=a;c[h>>2]=d;if(bf(c[g>>2]|0)|0){c[f>>2]=Gd(68415)|0;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+40>>2]|0)==-1108210269?(c[(c[g>>2]|0)+76>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+68>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[j>>2]=(c[(c[g>>2]|0)+60>>2]|0)+((c[h>>2]|0)*40|0);Oe(c[j>>2]|0);b[(c[j>>2]|0)+8>>1]=1;ee(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+88>>1]|0)>>>10&1){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+188>>2]&1<>2]|0)!=0:0))l=12;if((l|0)==12?(c[(c[g>>2]|0)+188>>2]|0)!=-1:0)break;l=(c[g>>2]|0)+88|0;b[l>>1]=b[l>>1]&-33|32}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}ee(c[c[g>>2]>>2]|0,25);c[f>>2]=25;l=c[f>>2]|0;i=m;return l|0}ee(c[c[g>>2]>>2]|0,21);c[k>>2]=c[(c[g>>2]|0)+168>>2];Zb(21,31014,k);c[f>>2]=Gd(68423)|0;l=c[f>>2]|0;i=m;return l|0}function nf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+70>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+64>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(dH(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function of(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;Ty((c[(c[g>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function pf(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Iq(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(sg(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}rp(c[g>>2]|0);i=n;return}function qf(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[h>>2]|0){if(a[(c[h>>2]|0)+64>>0]|0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}if(a[(c[h>>2]|0)+248+2>>0]|0){b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+248|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+248>>1]|0)>>>0:0)){l=d+12+4|0;c[l>>2]=(c[l>>2]|0)+1;break}b=c[d+24>>2]|0;c[l>>2]=b;if(!b){l=(c[h>>2]|0)+248+12+8|0;c[l>>2]=(c[l>>2]|0)+1;break}c[(c[h>>2]|0)+248+24>>2]=c[c[l>>2]>>2];k=(c[h>>2]|0)+248+4|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[h>>2]|0)+248+12|0;c[k>>2]=(c[k>>2]|0)+1;if((c[(c[h>>2]|0)+248+4>>2]|0)>(c[(c[h>>2]|0)+248+8>>2]|0))c[(c[h>>2]|0)+248+8>>2]=c[(c[h>>2]|0)+248+4>>2];c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}}while(0);l=j;c[k>>2]=Wd(c[l>>2]|0,c[l+4>>2]|0)|0;if((c[k>>2]|0)==0&(c[h>>2]|0)!=0)a[(c[h>>2]|0)+64>>0]=1;c[g>>2]=c[k>>2];l=c[g>>2]|0;i=m;return l|0}function rf(b,d,e,f){b=b|0;d=d|0;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;q=i;i=i+48|0;p=q;o=q+8|0;j=q+32|0;k=q+36|0;g=q+24|0;l=q+20|0;m=q+28|0;n=q+40|0;h=q+44|0;c[k>>2]=b;c[g>>2]=d;c[l>>2]=e;c[m>>2]=f;if(mr(c[k>>2]|0)|0){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}c[n>>2]=cp(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[n>>2]|0)){c[h>>2]=(c[g>>2]|0)!=0?30987:31e3;g=c[k>>2]|0;d=c[h>>2]|0;if(c[m>>2]|0){m=c[m>>2]|0;p=c[l>>2]|0;c[o>>2]=d;c[o+4>>2]=m;c[o+8>>2]=p;sf(g,21543,o)}else{o=c[l>>2]|0;c[p>>2]=d;c[p+4>>2]=o;sf(g,21553,p)}a[(c[k>>2]|0)+17>>0]=1}c[j>>2]=c[n>>2];p=c[j>>2]|0;i=q;return p|0}function sf(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;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=fn(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+67>>0]|0){Nd(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+64|0;c[l>>2]=(c[l>>2]|0)+1;Nd(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=fn(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function uf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=gf(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function wf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+8|0;p=j+16|0;o=j+20|0;n=j+24|0;m=j+4|0;k=j;h=j+12|0;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=Uo(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Df(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if(!(c[(c[e>>2]|0)+4>>2]|0)){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function yf(b,d,e,f){b=b|0;d=d|0;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;q=i;i=i+48|0;g=q;h=q+16|0;j=q+28|0;k=q+4|0;l=q+36|0;m=q+12|0;o=q+24|0;n=q+20|0;p=q+8|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[q+32>>2]=f;if(((c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]|0)|0)>(c[(c[(c[h>>2]|0)+24>>2]|0)+84>>2]|0)?(Vo(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[l>>2]=c[(c[h>>2]|0)+32>>2];if((c[j>>2]|0)>0){c[o>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=a[(c[o>>2]|0)+2>>0];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(((c[m>>2]|0)+(c[l>>2]|0)|0)*20|0);a[c[p>>2]>>0]=a[c[o>>2]>>0]|0;c[(c[p>>2]|0)+4>>2]=a[(c[o>>2]|0)+1>>0];if((c[n>>2]|0)<0)c[(c[p>>2]|0)+8>>2]=(c[l>>2]|0)+(-1-(c[n>>2]|0));else c[(c[p>>2]|0)+8>>2]=c[n>>2];c[(c[p>>2]|0)+12>>2]=a[(c[o>>2]|0)+3>>0];a[(c[p>>2]|0)+1>>0]=0;c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+4}p=(c[h>>2]|0)+32|0;c[p>>2]=(c[p>>2]|0)+(c[j>>2]|0)}c[g>>2]=c[l>>2];p=c[g>>2]|0;i=q;return p|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=(c[f>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];i=d;return}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[(c[e>>2]|0)+32>>2]|0)>>>0<=(c[f>>2]|0)>>>0){i=h;return}c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]=c[g>>2];i=h;return}function Bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[(c[e>>2]|0)+32>>2]|0)>>>0<=(c[f>>2]|0)>>>0){i=h;return}c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]=c[g>>2];i=h;return}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[(c[e>>2]|0)+32>>2]|0)>>>0<=(c[f>>2]|0)>>>0){i=h;return}c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+12>>2]=c[g>>2];i=h;return}function Df(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+20|0;h=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;j=o;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;c[j>>2]=c[c[k>>2]>>2];if((c[(c[k>>2]|0)+4>>2]|0)!=0?(d[(c[j>>2]|0)+64>>0]|0)==0:0){if((c[h>>2]|0)<0)c[h>>2]=(c[(c[k>>2]|0)+32>>2]|0)-1;c[n>>2]=(c[(c[k>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);Qy(c[j>>2]|0,a[(c[n>>2]|0)+1>>0]|0,c[(c[n>>2]|0)+16>>2]|0);c[(c[n>>2]|0)+16>>2]=0;h=c[l>>2]|0;if((c[m>>2]|0)==-14){c[(c[n>>2]|0)+16>>2]=h;a[(c[n>>2]|0)+1>>0]=-14;i=o;return}if(!h){c[(c[n>>2]|0)+16>>2]=0;a[(c[n>>2]|0)+1>>0]=0;i=o;return}if((c[m>>2]|0)==-6){c[(c[n>>2]|0)+16>>2]=c[l>>2];a[(c[n>>2]|0)+1>>0]=-6;i=o;return}if((c[m>>2]|0)==-10){c[(c[n>>2]|0)+16>>2]=c[l>>2];a[(c[n>>2]|0)+1>>0]=-10;Sy(c[l>>2]|0);i=o;return}if((c[m>>2]|0)<0){c[(c[n>>2]|0)+16>>2]=c[l>>2];a[(c[n>>2]|0)+1>>0]=c[m>>2];i=o;return}if(!(c[m>>2]|0))c[m>>2]=Ed(c[l>>2]|0)|0;m=c[m>>2]|0;m=Io(c[c[k>>2]>>2]|0,c[l>>2]|0,m,((m|0)<0)<<31>>31)|0;c[(c[n>>2]|0)+16>>2]=m;a[(c[n>>2]|0)+1>>0]=-1;i=o;return}if((c[m>>2]|0)==-10){i=o;return}Qy(c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=o;return}function Ef(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+32>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0);c[g>>2]=c[c[e>>2]>>2];Qy(c[g>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);b=c[h>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[c[h>>2]>>0]=-102;if((c[f>>2]|0)!=((c[(c[e>>2]|0)+32>>2]|0)-1|0)){i=j;return}h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+-1;i=j;return}function Ff(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;t=i;i=i+48|0;g=t;h=t+8|0;j=t+36|0;q=t+16|0;o=t+32|0;n=t+40|0;l=t+44|0;p=t+24|0;k=t+20|0;r=t+12|0;s=t+4|0;m=t+28|0;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[q>>2]=c[(c[h>>2]|0)+440>>2];c[o>>2]=c[(c[h>>2]|0)+72>>2];c[n>>2]=c[(c[h>>2]|0)+68>>2];c[l>>2]=c[(c[h>>2]|0)+392>>2];f=c[(c[h>>2]|0)+80>>2]|0;c[p>>2]=f;c[p>>2]=(c[p>>2]|0)==0?1:f;c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[r>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[(c[g>>2]|0)+32>>2]|0)*20|0);c[s>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[(c[h>>2]|0)+84>>2]|0)*20|0);rw(c[g>>2]|0,l);if(d[(c[h>>2]|0)+20>>0]|0)e=(d[(c[h>>2]|0)+21>>0]|0)!=0;else e=0;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-129|(e&1)<<7&65535;if((c[o>>2]|0)<10?(d[(c[h>>2]|0)+450>>0]|0)!=0:0)c[o>>2]=10;BH(c[r>>2]|0,0,(c[s>>2]|0)-(c[r>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[r>>2]|0)-0&7);f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-33;do{c[m>>2]=0;f=Py(c[(c[g>>2]|0)+8>>2]|0,(c[o>>2]|0)*40|0,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+8>>2]=f;f=Py(c[(c[g>>2]|0)+60>>2]|0,(c[q>>2]|0)*40|0,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+60>>2]=f;f=Py(c[(c[g>>2]|0)+12>>2]|0,c[l>>2]<<2,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+12>>2]=f;f=Py(c[(c[g>>2]|0)+64>>2]|0,c[q>>2]<<2,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+64>>2]=f;f=Py(c[(c[g>>2]|0)+56>>2]|0,c[n>>2]<<2,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+56>>2]=f;f=Py(c[(c[g>>2]|0)+200>>2]|0,c[p>>2]|0,r,c[s>>2]|0,m)|0;c[(c[g>>2]|0)+200>>2]=f;if(c[m>>2]|0){f=c[m>>2]|0;f=gf(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+172>>2]=f}c[r>>2]=c[(c[g>>2]|0)+172>>2];c[s>>2]=(c[r>>2]|0)+(c[m>>2]|0);if(!(c[m>>2]|0))break}while((a[(c[j>>2]|0)+64>>0]|0)!=0^1);c[(c[g>>2]|0)+36>>2]=c[n>>2];c[(c[g>>2]|0)+196>>2]=c[p>>2];a:do if(c[(c[g>>2]|0)+60>>2]|0){b[(c[g>>2]|0)+68>>1]=c[q>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[q>>2]|0))break a;b[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=1;c[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}}while(0);if(c[(c[g>>2]|0)+64>>2]|0){b[(c[g>>2]|0)+70>>1]=c[(c[h>>2]|0)+444>>2];EH(c[(c[g>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+472>>2]|0,b[(c[g>>2]|0)+70>>1]<<2|0)|0;BH(c[(c[h>>2]|0)+472>>2]|0,0,c[(c[h>>2]|0)+444>>2]<<2|0)|0}if(!(c[(c[g>>2]|0)+8>>2]|0)){r=c[h>>2]|0;r=r+450|0;r=a[r>>0]|0;r=r&255;s=c[g>>2]|0;s=s+88|0;r=r&65535;q=b[s>>1]|0;r=r&3;q=q&-4;r=q|r;b[s>>1]=r;s=c[g>>2]|0;Ne(s);i=t;return}s=(c[g>>2]|0)+8|0;c[s>>2]=(c[s>>2]|0)+-40;c[(c[g>>2]|0)+28>>2]=c[o>>2];c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[o>>2]|0))break;b[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=128;c[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}r=c[h>>2]|0;r=r+450|0;r=a[r>>0]|0;r=r&255;s=c[g>>2]|0;s=s+88|0;r=r&65535;q=b[s>>1]|0;r=r&3;q=q&-4;r=q|r;b[s>>1]=r;s=c[g>>2]|0;Ne(s);i=t;return}function Gf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Nd(c[d>>2]|0,c[(c[b>>2]|0)+112>>2]|0);$m(c[d>>2]|0,c[(c[b>>2]|0)+316>>2]|0);i=e;return}function Hf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+73>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+73>>0]|0|0)>=3)e=vw(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=Lw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function If(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+88|0;b[f>>1]=b[f>>1]&-33|32;c[d>>2]=c[(c[d>>2]|0)+52>>2]}i=e;return}function Jf(b,e,f,g){b=b|0;e=e|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;y=i;i=i+64|0;t=y;u=y+12|0;v=y+44|0;w=y+36|0;x=y+32|0;p=y+40|0;q=y+48|0;n=y+52|0;m=y+56|0;o=y+24|0;s=y+60|0;l=y+28|0;r=y+20|0;j=y+8|0;k=y+16|0;h=y+4|0;c[u>>2]=b;c[v>>2]=e;c[w>>2]=f;c[x>>2]=g;c[n>>2]=d[(c[w>>2]|0)+1>>0];c[m>>2]=d[c[w>>2]>>0];a[s>>0]=a[(c[w>>2]|0)+3>>0]|0;c[l>>2]=0;if(c[x>>2]|0)g=c[x>>2]|0;else g=d[(c[w>>2]|0)+2>>0]|0;c[o>>2]=g;a:while(1){e=du(u)|0;c[p>>2]=e;if(!e){g=74;break}if((c[p>>2]|0)==(c[m>>2]|0)){g=7;break}do if((c[p>>2]|0)==(c[o>>2]|0)){if(c[x>>2]|0){c[p>>2]=du(u)|0;if(!(c[p>>2]|0)){g=43;break a}c[l>>2]=c[u>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[p>>2]=du(v)|0;if(!(c[p>>2]|0)){g=46;break a}c[q>>2]=du(u)|0;if((c[q>>2]|0)==94){c[h>>2]=1;c[q>>2]=du(u)|0}if((c[q>>2]|0)==93){if((c[p>>2]|0)==93)c[k>>2]=1;c[q>>2]=du(u)|0}while(1){g=c[q>>2]|0;if(!((c[q>>2]|0)!=0?(c[q>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[u>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[u>>2]>>0]|0)!=0:0):0){c[q>>2]=du(u)|0;if((c[p>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[p>>2]|0)>>>0<=(c[q>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[p>>2]|0)==(c[q>>2]|0))c[k>>2]=1;c[j>>2]=c[q>>2]}c[q>>2]=du(u)|0}if(!g){g=67;break a}if(!(c[k>>2]^c[h>>2])){g=67;break a}else continue a}while(0);c[q>>2]=du(v)|0;if((c[p>>2]|0)==(c[q>>2]|0))continue;if((d[s>>0]|0)!=0&(c[p>>2]|0)>>>0<128&(c[q>>2]|0)>>>0<128?(d[13848+(c[p>>2]&255)>>0]|0)==(d[13848+(c[q>>2]&255)>>0]|0):0)continue;if((c[p>>2]|0)!=(c[n>>2]|0)){g=73;break}if(!((c[q>>2]|0)!=0?(c[u>>2]|0)!=(c[l>>2]|0):0)){g=73;break}}if((g|0)==7){while(1){g=0;l=du(u)|0;c[p>>2]=l;if((l|0)==(c[m>>2]|0))f=1;else f=(c[p>>2]|0)==(c[n>>2]|0);b=c[p>>2]|0;if(!f)break;if((b|0)!=(c[n>>2]|0)){g=7;continue}if(!(du(v)|0)){g=12;break}else g=7}if((g|0)==12){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}if(!b){c[t>>2]=1;x=c[t>>2]|0;i=y;return x|0}do if((c[p>>2]|0)==(c[o>>2]|0)){if(c[x>>2]|0){c[p>>2]=du(u)|0;if(c[p>>2]|0)break;c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}b:while(1){if(d[c[v>>2]>>0]|0)b=(Jf((c[u>>2]|0)+-1|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0)==0;else b=0;f=c[v>>2]|0;if(!b)break;c[v>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[v>>2]>>0]&192|0)!=128)continue b;c[v>>2]=(c[v>>2]|0)+1}}c[t>>2]=(d[f>>0]|0)!=0&1;x=c[t>>2]|0;i=y;return x|0}while(0);c:do if((c[p>>2]|0)>>>0<=128){f=c[p>>2]|0;if(a[s>>0]|0){c[r>>2]=f&~(d[14426+(c[p>>2]&255)>>0]&32);c[p>>2]=d[13848+(c[p>>2]&255)>>0]}else c[r>>2]=f;while(1){s=c[v>>2]|0;c[v>>2]=s+1;s=d[s>>0]|0;c[q>>2]=s;if(!s)break c;if((c[q>>2]|0)!=(c[p>>2]|0)?(c[q>>2]|0)!=(c[r>>2]|0):0)continue;if(Jf(c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0)break}c[t>>2]=1;x=c[t>>2]|0;i=y;return x|0}else{while(1){s=du(v)|0;c[q>>2]=s;if(!s)break c;if((c[q>>2]|0)!=(c[p>>2]|0))continue;if(Jf(c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0)break}c[t>>2]=1;x=c[t>>2]|0;i=y;return x|0}while(0);c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==43){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==46){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==67){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==73){c[t>>2]=0;x=c[t>>2]|0;i=y;return x|0}else if((g|0)==74){c[t>>2]=(d[c[v>>2]>>0]|0)==0&1;x=c[t>>2]|0;i=y;return x|0}return 0}function Kf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){Dy(30955);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+76>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Mf(c[d>>2]|0)|0)Dy(30960);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Lf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|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,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+16|0;l=s+4|0;m=s+8|0;n=s+32|0;o=s;p=s+12|0;q=s+24|0;r=s+20|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;if(!(Kf(c[k>>2]|0)|0)){c[j>>2]=Gd(103895)|0;b=c[j>>2]|0;i=s;return b|0}Hd(c[k>>2]|0);c[r>>2]=Ey(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){ec(c[c[p>>2]>>2]|0)|0;c[r>>2]=Ey(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Mf(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+76>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){Dy(30796);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Nf(b,d,e,f,g){b=b|0;d=d|0;e=e|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;s=i;i=i+48|0;h=s;j=s+16|0;k=s+28|0;l=s+4|0;m=s+32|0;q=s+36|0;n=s+12|0;p=s+24|0;o=s+20|0;r=s+8|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=0;c[n>>2]=Ed(c[j>>2]|0)|0;if(!(Zg((c[h>>2]|0)+308|0,c[j>>2]|0)|0)){c[p>>2]=qf(c[h>>2]|0,16+(c[n>>2]|0)+1|0,0)|0;if((c[p>>2]|0)!=0?(c[r>>2]=(c[p>>2]|0)+16,EH(c[r>>2]|0,c[j>>2]|0,(c[n>>2]|0)+1|0)|0,c[(c[p>>2]|0)+4>>2]=c[r>>2],c[c[p>>2]>>2]=c[k>>2],c[(c[p>>2]|0)+8>>2]=c[l>>2],c[(c[p>>2]|0)+12>>2]=c[m>>2],c[o>>2]=ch((c[h>>2]|0)+308|0,c[r>>2]|0,c[p>>2]|0)|0,(c[o>>2]|0)!=0):0){a[(c[h>>2]|0)+64>>0]=1;Nd(c[h>>2]|0,c[o>>2]|0)}}else c[q>>2]=Gd(112100)|0;c[q>>2]=Le(c[h>>2]|0,c[q>>2]|0)|0;if(!((c[q>>2]|0)!=0&(c[m>>2]|0)!=0)){d=c[q>>2]|0;i=s;return d|0}nb[c[m>>2]&31](c[l>>2]|0);d=c[q>>2]|0;i=s;return d|0}function Of(b,e,f){b=b|0;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;B=i;i=i+96|0;g=B+40|0;s=B+16|0;r=B+24|0;q=B;p=B+8|0;u=B+32|0;v=B+28|0;h=B+56|0;j=B+84|0;y=B+88|0;x=B+60|0;n=B+64|0;o=B+68|0;l=B+72|0;k=B+92|0;w=B+80|0;m=B+48|0;z=B+52|0;A=B+76|0;c[v>>2]=b;c[h>>2]=e;c[j>>2]=f;c[y>>2]=0;c[l>>2]=-1;c[w>>2]=c[c[v>>2]>>2];c[m>>2]=c[(c[w>>2]|0)+88+4>>2];if(!(c[(c[w>>2]|0)+148>>2]|0))c[(c[w>>2]|0)+240>>2]=0;c[(c[v>>2]|0)+12>>2]=0;c[(c[v>>2]|0)+480>>2]=c[h>>2];c[x>>2]=0;c[n>>2]=Um(38)|0;b=c[w>>2]|0;if(!(c[n>>2]|0)){a[b+64>>0]=1;c[u>>2]=7;A=c[u>>2]|0;i=B;return A|0}a[k>>0]=a[b+248+2>>0]|0;if(c[(c[w>>2]|0)+248+28>>2]|0)a[(c[w>>2]|0)+248+2>>0]=1;a:while(1){if(a[(c[w>>2]|0)+64>>0]|0)break;if(!(a[(c[h>>2]|0)+(c[x>>2]|0)>>0]|0))break;c[(c[v>>2]|0)+504>>2]=(c[h>>2]|0)+(c[x>>2]|0);e=Vm((c[h>>2]|0)+(c[x>>2]|0)|0,o)|0;c[(c[v>>2]|0)+504+4>>2]=e;c[x>>2]=(c[x>>2]|0)+(c[(c[v>>2]|0)+504+4>>2]|0);if((c[x>>2]|0)>(c[m>>2]|0)){t=10;break}switch(c[o>>2]|0){case 150:{t=14;break a}case 151:if(c[(c[w>>2]|0)+240>>2]|0){t=13;break a}else continue a;case 1:{c[(c[v>>2]|0)+480>>2]=(c[h>>2]|0)+(c[x>>2]|0);break}default:{}}b=c[n>>2]|0;f=c[o>>2]|0;C=(c[v>>2]|0)+504|0;e=c[v>>2]|0;c[g>>2]=c[C>>2];c[g+4>>2]=c[C+4>>2];Wm(b,f,g,e);c[l>>2]=c[o>>2];if(c[(c[v>>2]|0)+12>>2]|0)break}if((t|0)==10)c[(c[v>>2]|0)+12>>2]=18;else if((t|0)==13){sf(c[v>>2]|0,18084,p);c[(c[v>>2]|0)+12>>2]=9}else if((t|0)==14){Nd(c[w>>2]|0,c[c[j>>2]>>2]|0);C=c[w>>2]|0;c[q>>2]=(c[v>>2]|0)+504;C=tf(C,18094,q)|0;c[c[j>>2]>>2]=C;c[y>>2]=(c[y>>2]|0)+1}if(((c[y>>2]|0)==0?(a[(c[h>>2]|0)+(c[x>>2]|0)>>0]|0)==0:0)?(c[(c[v>>2]|0)+12>>2]|0)==0:0){if((c[l>>2]|0)!=1){t=c[n>>2]|0;q=(c[v>>2]|0)+504|0;C=c[v>>2]|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];Wm(t,1,g,C);c[(c[v>>2]|0)+480>>2]=(c[h>>2]|0)+(c[x>>2]|0)}t=c[n>>2]|0;q=(c[v>>2]|0)+504|0;C=c[v>>2]|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];Wm(t,0,g,C)}Xm(c[n>>2]|0,13);a[(c[w>>2]|0)+248+2>>0]=a[k>>0]|0;if(a[(c[w>>2]|0)+64>>0]|0)c[(c[v>>2]|0)+12>>2]=7;if(((c[(c[v>>2]|0)+12>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=101:0)?(c[(c[v>>2]|0)+4>>2]|0)==0:0){t=(c[v>>2]|0)+4|0;C=c[w>>2]|0;c[r>>2]=af(c[(c[v>>2]|0)+12>>2]|0)|0;Ym(t,C,14418,r)}if(c[(c[v>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[v>>2]|0)+4>>2];C=c[(c[v>>2]|0)+12>>2]|0;c[s>>2]=c[c[j>>2]>>2];Zb(C,14418,s);c[(c[v>>2]|0)+4>>2]=0;c[y>>2]=(c[y>>2]|0)+1}if(((c[(c[v>>2]|0)+8>>2]|0)!=0?(c[(c[v>>2]|0)+64>>2]|0)>0:0)?(d[(c[v>>2]|0)+18>>0]|0)==0:0){Zm(c[(c[v>>2]|0)+8>>2]|0);c[(c[v>>2]|0)+8>>2]=0}if(!(d[(c[v>>2]|0)+18>>0]|0)){Nd(c[w>>2]|0,c[(c[v>>2]|0)+400>>2]|0);c[(c[v>>2]|0)+400>>2]=0;c[(c[v>>2]|0)+396>>2]=0}Sb(c[(c[v>>2]|0)+520>>2]|0);if(!(a[(c[v>>2]|0)+451>>0]|0))Ld(c[w>>2]|0,c[(c[v>>2]|0)+484>>2]|0);if(a[(c[v>>2]|0)+449>>0]|0)_m(c[w>>2]|0,c[(c[v>>2]|0)+532>>2]|0);Kd(c[w>>2]|0,c[(c[v>>2]|0)+488>>2]|0);c[x>>2]=(c[(c[v>>2]|0)+444>>2]|0)-1;while(1){b=c[w>>2]|0;if((c[x>>2]|0)<0)break;Nd(b,c[(c[(c[v>>2]|0)+472>>2]|0)+(c[x>>2]<<2)>>2]|0);c[x>>2]=(c[x>>2]|0)+-1}Nd(b,c[(c[v>>2]|0)+472>>2]|0);while(1){if(!(c[(c[v>>2]|0)+404>>2]|0))break;c[z>>2]=c[(c[v>>2]|0)+404>>2];c[(c[v>>2]|0)+404>>2]=c[c[z>>2]>>2];Nd(c[w>>2]|0,c[z>>2]|0)}while(1){if(!(c[(c[v>>2]|0)+524>>2]|0))break;c[A>>2]=c[(c[v>>2]|0)+524>>2];c[(c[v>>2]|0)+524>>2]=c[(c[A>>2]|0)+72>>2];Ld(c[w>>2]|0,c[A>>2]|0)}if((c[y>>2]|0)>0?(c[(c[v>>2]|0)+12>>2]|0)==0:0)c[(c[v>>2]|0)+12>>2]=1;c[u>>2]=c[y>>2];C=c[u>>2]|0;i=B;return C|0}function Pf(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=gf(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function Qf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}Xe(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function Rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Oe(c[b>>2]|0);Nd(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function Sf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=2212;id(4,b)|0;i=a;return}function Tf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=2160;id(18,b)|0;i=a;return}function Uf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;rm(c[(c[d>>2]|0)+204>>2]|0);i=b;return}function Vf(d,e,f,g){d=d|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+8|0;l=q+20|0;m=q+28|0;p=q;n=q+12|0;o=q+24|0;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+248+4>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+248+3>>0]|0)Sb(c[(c[j>>2]|0)+248+28>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}gh();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=Wd(f,((f|0)<0)<<31>>31)|0;hh();if(c[p>>2]|0){f=Jd(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+248+28>>2]=c[p>>2];c[(c[j>>2]|0)+248+24>>2]=0;b[(c[j>>2]|0)+248>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+248+24>>2];c[(c[j>>2]|0)+248+24>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+248+32>>2]=c[o>>2];a[(c[j>>2]|0)+248+2>>0]=1;a[(c[j>>2]|0)+248+3>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+248+28>>2]=c[j>>2];c[(c[j>>2]|0)+248+32>>2]=c[j>>2];a[(c[j>>2]|0)+248+2>>0]=0;a[(c[j>>2]|0)+248+3>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(Mf(c[e>>2]|0)|0)){c[d>>2]=Gd(125804)|0;g=c[d>>2]|0;i=h;return g|0}jm(c[e>>2]|0);km(c[e>>2]|0)|0;if((c[f>>2]|0)==0?(lm(c[e>>2]|0)|0)!=0:0){ce(c[e>>2]|0,5,17942,g);c[d>>2]=5;g=c[d>>2]|0;i=h;return g|0}c[(c[e>>2]|0)+76>>2]=1691352191;Ie(c[e>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+492>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{eg(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0}function Yf(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;D=i;i=i+64|0;C=D;p=D+28|0;q=D+4|0;r=D+16|0;s=D+32|0;t=D+8|0;u=D+12|0;v=D+24|0;w=D+20|0;x=D+36|0;y=D+40|0;B=D+44|0;A=D+48|0;z=D+52|0;o=D+56|0;c[q>>2]=d;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=n;do if(c[r>>2]|0){if((c[v>>2]|0)!=0?(c[x>>2]|0)!=0|(c[w>>2]|0)!=0:0)break;if(((c[v>>2]|0)==0&(c[x>>2]|0)!=0^1|(c[w>>2]|0)!=0?!((((c[v>>2]|0)!=0|(c[x>>2]|0)!=0)^1)&(c[w>>2]|0)!=0|(c[s>>2]|0)<-1|(c[s>>2]|0)>127):0)?(f=Ed(c[r>>2]|0)|0,c[A>>2]=f,255>=(f|0)):0){c[z>>2]=c[t>>2]&2048;c[t>>2]=c[t>>2]&7;do if((c[t>>2]|0)!=4){if((c[t>>2]|0)==5){c[o>>2]=Yf(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,1|c[z>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=Yf(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,2|c[z>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[o>>2]|0)){c[t>>2]=3;break}c[p>>2]=c[o>>2];C=c[p>>2]|0;i=D;return C|0}}else c[t>>2]=(a[920]|0)==0?3:2;while(0);c[B>>2]=Zf(c[q>>2]|0,c[r>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[t>>2]|0):0)?(b[c[B>>2]>>1]|0)==(c[s>>2]|0):0){d=c[q>>2]|0;if(!(c[(c[q>>2]|0)+148>>2]|0)){If(d);break}ce(d,5,17879,C);c[p>>2]=5;C=c[p>>2]|0;i=D;return C|0}while(0);c[B>>2]=Zf(c[q>>2]|0,c[r>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]&255,1)|0;if(!(c[B>>2]|0)){c[p>>2]=7;C=c[p>>2]|0;i=D;return C|0}im(c[q>>2]|0,c[B>>2]|0);if(c[y>>2]|0){C=c[y>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+32>>2]=c[y>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[z>>2];c[(c[B>>2]|0)+12>>2]=c[v>>2];c[(c[B>>2]|0)+16>>2]=c[w>>2];c[(c[B>>2]|0)+20>>2]=c[x>>2];c[(c[B>>2]|0)+4>>2]=c[u>>2];b[c[B>>2]>>1]=c[s>>2];c[p>>2]=0;C=c[p>>2]|0;i=D;return C|0}}while(0);c[p>>2]=Gd(126362)|0;C=c[p>>2]|0;i=D;return C|0}function Zf(e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;l=z+24|0;m=z+16|0;n=z+8|0;o=z+28|0;p=z+32|0;q=z+48|0;r=z+49|0;u=z+44|0;v=z+20|0;s=z+12|0;t=z+4|0;x=z+36|0;w=z;y=z+40|0;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;a[r>>0]=k;c[v>>2]=0;c[s>>2]=0;c[t>>2]=((d[13848+(d[c[n>>2]>>0]|0)>>0]|0)+(c[o>>2]|0)|0)%23|0;c[u>>2]=Zl((c[m>>2]|0)+336|0,c[t>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;c[x>>2]=_l(c[u>>2]|0,c[p>>2]|0,a[q>>0]|0)|0;if((c[x>>2]|0)>(c[s>>2]|0)){c[v>>2]=c[u>>2];c[s>>2]=c[x>>2]}c[u>>2]=c[(c[u>>2]|0)+8>>2]}a:do if(!(a[r>>0]|0)){if((c[v>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&2097152|0)==0:0)break;c[w>>2]=472;c[s>>2]=0;c[u>>2]=Zl(c[w>>2]|0,c[t>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[u>>2]|0))break a;c[y>>2]=_l(c[u>>2]|0,c[p>>2]|0,a[q>>0]|0)|0;if((c[y>>2]|0)>(c[s>>2]|0)){c[v>>2]=c[u>>2];c[s>>2]=c[y>>2]}c[u>>2]=c[(c[u>>2]|0)+8>>2]}}while(0);if((d[r>>0]|0)!=0&(c[s>>2]|0)<6?(f=gf(c[m>>2]|0,36+(c[o>>2]|0)+1|0,0)|0,c[v>>2]=f,(f|0)!=0):0){c[(c[v>>2]|0)+24>>2]=(c[v>>2]|0)+36;b[c[v>>2]>>1]=c[p>>2];b[(c[v>>2]|0)+2>>1]=d[q>>0]|0;EH(c[(c[v>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;a[(c[(c[v>>2]|0)+24>>2]|0)+(c[o>>2]|0)>>0]=0;$l((c[m>>2]|0)+336|0,c[v>>2]|0)}do if(c[v>>2]|0){if(((c[(c[v>>2]|0)+16>>2]|0)==0?(c[(c[v>>2]|0)+12>>2]|0)==0:0)?(d[r>>0]|0)==0:0)break;c[l>>2]=c[v>>2];f=c[l>>2]|0;i=z;return f|0}while(0);c[l>>2]=0;f=c[l>>2]|0;i=z;return f|0}function _f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+24>>2];c[h>>2]=c[j>>2];c[f>>2]=Wb(17764,h)|0;rc(c[g>>2]|0,c[f>>2]|0,-1);Sb(c[f>>2]|0);i=e;return}function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}gh();xd(c[f>>2]|0,c[g>>2]|0)|0;hh();i=h;return 0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=-1;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[f>>2]=Ed(c[e>>2]|0)|0;c[h>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[g>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[h>>2]<<4);while(1){if((c[h>>2]|0)<0){d=7;break}b=c[f>>2]|0;if((b|0)==(Ed(c[c[g>>2]>>2]|0)|0)?0==($b(c[c[g>>2]>>2]|0,c[e>>2]|0)|0):0){d=7;break}c[h>>2]=(c[h>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+-16}if((d|0)==7){h=c[h>>2]|0;i=j;return h|0}return 0}function bg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;p=i;i=i+32|0;g=p+4|0;h=p+16|0;j=p+8|0;k=p+20|0;l=p+28|0;o=p;n=p+12|0;m=p+24|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=Xl(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function cg(b,d,e,f){b=b|0;d=d|0;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;s=i;i=i+48|0;p=s;h=s+8|0;j=s+20|0;k=s+16|0;l=s+24|0;m=s+4|0;n=s+12|0;o=s+28|0;g=s+32|0;r=s+36|0;q=s+40|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Mb()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Gd(127429)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=de(528,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Sb(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+76>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+456;d=(c[n>>2]|0)+88|0;g=932;e=d+48|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(e|0));c[(c[n>>2]|0)+88+44>>2]=0;a[(c[n>>2]|0)+62>>0]=1;a[(c[n>>2]|0)+66>>0]=-1;e=184;b=c[e+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+72>>2]=0;c[(c[n>>2]|0)+136>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|9437264;jh((c[n>>2]|0)+428|0);jh((c[n>>2]|0)+308|0);dg(c[n>>2]|0,15963,1,0,9,0)|0;dg(c[n>>2]|0,15963,3,0,9,0)|0;dg(c[n>>2]|0,15963,2,0,9,0)|0;dg(c[n>>2]|0,15970,1,1,9,0)|0;if(!(a[(c[n>>2]|0)+64>>0]|0)){f=Xg(c[n>>2]|0,1,15963,0)|0;c[(c[n>>2]|0)+8>>2]=f;dg(c[n>>2]|0,15976,1,0,10,0)|0;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=mh(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)a[(c[n>>2]|0)+64>>0]=1;j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?14418:0;c[p>>2]=c[q>>2];ce(j,l,m,p);Sb(c[q>>2]|0);break}c[o>>2]=nh(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;ee(c[n>>2]|0,c[o>>2]|0);break}fe(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=oh(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;q=oh(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=15983;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=14695;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+76>>2]=-1607883113;if(!(a[(c[n>>2]|0)+64>>0]|0)){ee(c[n>>2]|0,0);ph(c[n>>2]|0);c[o>>2]=yd(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(qh(c[n>>2]|0),c[o>>2]=yd(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+64>>0]|0)==0:0)c[o>>2]=rh(c[n>>2]|0)|0;if(c[o>>2]|0)ee(c[n>>2]|0,c[o>>2]|0);Vf(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;ud(c[n>>2]|0,1e3)|0}}}while(0);Sb(c[r>>2]|0);c[o>>2]=yd(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+76>>2]=1266094736}else{nd(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];c[h>>2]=Le(0,c[o>>2]|0)|0;r=c[h>>2]|0;i=s;return r|0}function dg(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+16|0;l=x+8|0;m=x+20|0;n=x+48|0;o=x+40|0;p=x+4|0;q=x+28|0;v=x+32|0;s=x+12|0;r=x+24|0;t=x+36|0;u=x+44|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[920]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Gd(127001)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Xg(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+148>>2]|0){ce(b,5,15895,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}If(b);Yg(c[l>>2]|0);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=Zg((c[l>>2]|0)+428|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)nb[c[(c[u>>2]|0)+16>>2]&31](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Xg(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;ee(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vb[c[(c[f>>2]|0)+60>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!($b(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=lb[c[(c[c[h>>2]>>2]|0)+40>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function hg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[67];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=qb[c[d>>2]&31](c[b>>2]|0)|0;i=e;return d|0}function ig(a,d,f,g){a=a|0;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;o=i;i=i+32|0;h=o+8|0;p=o+16|0;j=o+20|0;k=o+24|0;l=o+4|0;n=o;m=o+12|0;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];fe(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];zg(c[m>>2]|0)}c[n>>2]=Ag(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=yg(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function kg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;xg(8,c[b>>2]|0);if((c[78]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[77];c[77]=c[c[77]>>2];c[78]=(c[78]|0)+-1;Xd(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=Wd(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Xd(4,Jd(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function lg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[76]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[77];c[77]=c[e>>2];c[78]=(c[78]|0)+1;Xd(3,-1);i=f;return}if(c[2]|0){c[d>>2]=Jd(c[b>>2]|0)|0;Xd(4,0-(c[d>>2]|0)|0);Xd(0,0-(c[d>>2]|0)|0);Xd(9,-1);nb[c[48>>2]&31](c[b>>2]|0);i=f;return}else{nb[c[48>>2]&31](c[b>>2]|0);i=f;return}}function mg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((ug(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0} +function gq(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;f=m+40|0;g=m+36|0;h=m+32|0;k=m+44|0;l=m+8|0;j=m;c[g>>2]=a;c[h>>2]=d;if(!(c[h>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}c[j>>2]=c[c[g>>2]>>2];if(Bq(c[j>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+(c[(c[c[g>>2]>>2]|0)+460>>2]|0)|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=m;return l|0}j=(c[j>>2]|0)+460|0;c[j>>2]=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]|0);b[k>>1]=(e[(c[g>>2]|0)+28>>1]|0)&4098;j=(c[g>>2]|0)+28|0;b[j>>1]=(e[j>>1]|0)&-4099;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l>>2]=44;c[l+4>>2]=45;c[l+12>>2]=c[c[g>>2]>>2];c[l+20>>2]=c[g>>2];dq(l,c[h>>2]|0)|0;j=(c[c[g>>2]>>2]|0)+460|0;c[j>>2]=(c[j>>2]|0)-(c[(c[h>>2]|0)+24>>2]|0);if(!((c[(c[g>>2]|0)+24>>2]|0)<=0?(c[(c[l+12>>2]|0)+64>>2]|0)<=0:0)){l=(c[h>>2]|0)+4|0;c[l>>2]=c[l>>2]|8}if((e[(c[g>>2]|0)+28>>1]|0)&2){l=(c[h>>2]|0)+4|0;c[l>>2]=c[l>>2]|2}l=(c[g>>2]|0)+28|0;b[l>>1]=e[l>>1]|0|(e[k>>1]|0);c[f>>2]=(c[(c[h>>2]|0)+4>>2]&8|0)!=0&1;l=c[f>>2]|0;i=m;return l|0}function hq(d,e,f,g){d=d|0;e=e|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;w=i;i=i+64|0;h=w+44|0;j=w+36|0;k=w+20|0;l=w+16|0;m=w+32|0;n=w+40|0;p=w+48|0;o=w+8|0;t=w+4|0;u=w+24|0;q=w+12|0;r=w+28|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=Vp(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=lq(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(jq(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(gq(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(oq(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){kq(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=wq(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function iq(d,e){d=d|0;e=e|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;u=i;i=i+64|0;t=u+8|0;o=u+20|0;p=u+36|0;f=u+12|0;q=u+16|0;s=u+24|0;r=u+32|0;g=u+28|0;j=u+40|0;m=u+44|0;h=u+48|0;l=u+52|0;k=u+56|0;n=u+60|0;c[p>>2]=d;c[f>>2]=e;c[j>>2]=1;c[s>>2]=c[(c[f>>2]|0)+48>>2];if(!(c[s>>2]|0)){c[o>>2]=0;t=c[o>>2]|0;i=u;return t|0}c[g>>2]=c[c[p>>2]>>2];if((c[c[s>>2]>>2]|0)>(c[(c[g>>2]|0)+88+8>>2]|0)){sf(c[p>>2]|0,20902,u);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[s>>2]>>2]|0))break;d=(c[(c[s>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+13|0;a[d>>0]=a[d>>0]&-2;c[q>>2]=(c[q>>2]|0)+1}c[(c[f>>2]|0)+56>>2]=0;while(1){if(!(c[(c[f>>2]|0)+52>>2]|0))break;c[(c[(c[f>>2]|0)+52>>2]|0)+56>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+52>>2]}a:while(1){if(!((c[f>>2]|0)!=0?(c[j>>2]|0)!=0:0)){e=33;break}c[j>>2]=0;c[r>>2]=c[c[f>>2]>>2];c[q>>2]=0;c[m>>2]=c[(c[s>>2]|0)+4>>2];while(1){if((c[q>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[h>>2]=-1;do if(!(a[(c[m>>2]|0)+13>>0]&1)){c[l>>2]=Vp(c[c[m>>2]>>2]|0)|0;if(jq(c[l>>2]|0,h)|0){if((c[h>>2]|0)<=0){e=18;break a}if((c[h>>2]|0)>(c[c[r>>2]>>2]|0)){e=18;break a}}else{c[h>>2]=lq(c[p>>2]|0,c[r>>2]|0,c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[k>>2]=mq(c[g>>2]|0,c[l>>2]|0,0)|0;if(!(a[(c[g>>2]|0)+64>>0]|0))c[h>>2]=nq(c[p>>2]|0,c[f>>2]|0,c[k>>2]|0)|0;dn(c[g>>2]|0,c[k>>2]|0)}}if((c[h>>2]|0)<=0){c[j>>2]=1;break}c[n>>2]=Qn(c[g>>2]|0,132,0)|0;if(!(c[n>>2]|0)){e=25;break a}e=(c[n>>2]|0)+4|0;c[e>>2]=c[e>>2]|1024;c[(c[n>>2]|0)+8>>2]=c[h>>2];e=c[n>>2]|0;d=c[m>>2]|0;if((c[c[m>>2]>>2]|0)==(c[l>>2]|0))c[d>>2]=e;else c[(c[d>>2]|0)+12>>2]=e;dn(c[g>>2]|0,c[l>>2]|0);b[(c[m>>2]|0)+16>>1]=c[h>>2];d=(c[m>>2]|0)+13|0;a[d>>0]=a[d>>0]&-2|1}while(0);c[q>>2]=(c[q>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}c[f>>2]=c[(c[f>>2]|0)+56>>2]}if((e|0)==18){kq(c[p>>2]|0,20831,(c[q>>2]|0)+1|0,c[c[r>>2]>>2]|0);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}else if((e|0)==25){c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}else if((e|0)==33){c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[s>>2]>>2]|0)){e=38;break}if(!(a[(c[(c[s>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+13>>0]&1)){e=36;break}c[q>>2]=(c[q>>2]|0)+1}if((e|0)==36){s=c[p>>2]|0;c[t>>2]=(c[q>>2]|0)+1;sf(s,20936,t);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}else if((e|0)==38){c[o>>2]=0;t=c[o>>2]|0;i=u;return t|0}}return 0}function jq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 158:{c[h>>2]=jq(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 157:{if(jq(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function kq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;sf(b,20997,g);i=f;return}function lq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+8|0;g=m+20|0;h=m+24|0;j=m+4|0;l=m;k=m+12|0;c[m+16>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==27){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?($b(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=qq(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return b|0}function nq(d,e,f){d=d|0;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;l=i;i=i+80|0;k=l+64|0;q=l+48|0;r=l+4|0;g=l+8|0;h=l+60|0;j=l;p=l+16|0;n=l+56|0;m=l+52|0;o=l+68|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+32>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+67>>0]|0;a[(c[n>>2]|0)+67>>0]=1;c[m>>2]=gq(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+67>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){d=8;break}r=(oq(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;f=(c[h>>2]|0)+1|0;if(r){d=6;break}c[h>>2]=f}if((d|0)==6){c[k>>2]=f;r=c[k>>2]|0;i=l;return r|0}else if((d|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function oq(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];a=c[h>>2]|0;if(c[l>>2]&1024){if((c[a+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}f=d[c[h>>2]>>0]|0;if((d[a>>0]|0)!=(d[c[j>>2]>>0]|0)){if((f|0)==95?(oq(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==95?(oq(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((((f|0)!=154?(d[c[h>>2]>>0]|0)!=156:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0)?(aH(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)!=0:0){c[g>>2]=(d[c[h>>2]>>0]|0)==95?1:2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(oq(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(oq(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(pq(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(!(c[l>>2]&8192)){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function pq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+8|0;f=n+16|0;g=n+20|0;h=n+24|0;j=n+4|0;k=n;l=n+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(oq(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function qq(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;n=t+44|0;o=t+36|0;p=t+20|0;q=t+16|0;r=t+32|0;m=t+40|0;s=t+48|0;k=t+8|0;h=t+4|0;f=t+24|0;j=t+12|0;g=t+28|0;l=t;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if(!(c[o>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[m>>2]=c[p>>2]&1;c[k>>2]=0;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[k>>2]=32768}else{b=c[n>>2]|0;e=rq(c[o>>2]|0,c[p>>2]|0)|0;c[s>>2]=qf(b,e,((e|0)<0)<<31>>31)|0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[h>>2]=sq(c[o>>2]|0,c[p>>2]|0)|0;c[f>>2]=c[h>>2]&4095;if((c[(c[o>>2]|0)+4>>2]&1024|0)==0?(c[(c[o>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(Ed(c[(c[o>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(c[m>>2]|0)EH(c[s>>2]|0,c[o>>2]|0,c[f>>2]|0)|0;else{c[g>>2]=tq(c[o>>2]|0)|0;EH(c[s>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;BH((c[s>>2]|0)+(c[g>>2]|0)|0,0,48-(c[g>>2]|0)|0)|0}e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]&-122881;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[h>>2]&24576;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[k>>2];if(c[j>>2]|0){k=(c[s>>2]|0)+(c[f>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=k;c[l>>2]=k;EH(c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[o>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&16384)){d=c[n>>2]|0;a=(c[o>>2]|0)+20|0;if(c[(c[o>>2]|0)+4>>2]&2048){m=Hp(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=uq(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);d=c[o>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[d+4>>2]&16384){s=c[r>>2]|0;i=t;return s|0}s=mq(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s;s=mq(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}p=vq(d,c[p>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+p;if(c[(c[r>>2]|0)+4>>2]&8192){p=qq(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,1,s)|0;c[(c[r>>2]|0)+12>>2]=p;p=qq(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,1,s)|0;c[(c[r>>2]|0)+16>>2]=p}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=vq(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=rq(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(rq(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]&1))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function tq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function uq(b,e,f){b=b|0;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;q=i;i=i+48|0;g=q+28|0;h=q+16|0;j=q+4|0;k=q+8|0;n=q+32|0;m=q;p=q+12|0;l=q+24|0;o=q+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=qf(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=qf(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Nd(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=mq(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=ef(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=ef(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function vq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(sq(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Ed(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function wq(a,f,g,h){a=a|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,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+16|0;m=t+20|0;k=t+24|0;n=t+8|0;q=t+4|0;r=t+12|0;j=t+28|0;s=t+32|0;o=t+36|0;c[m>>2]=a;c[k>>2]=f;c[n>>2]=g;c[q>>2]=h;c[j>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+64>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[j>>2]|0)+88+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];sf(s,21053,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[k>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}xq(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){kq(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function xq(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;o=v+28|0;n=v+16|0;m=v+4|0;s=v+8|0;p=v+32|0;q=v;r=v+12|0;u=v+24|0;t=v+20|0;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[s>>2]=j;c[p>>2]=k;c[q>>2]=l;c[r>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[t>>2]=c[c[o>>2]>>2];c[u>>2]=mq(c[t>>2]|0,c[r>>2]|0,0)|0;if(!(c[u>>2]|0)){i=v;return}if((d[c[r>>2]>>0]|0)!=154?(a[c[p>>2]>>0]|0)!=71:0){yq(c[u>>2]|0,c[q>>2]|0);c[u>>2]=zn(c[o>>2]|0,24,c[u>>2]|0,0,0)|0;if(!(c[u>>2]|0)){i=v;return}k=(c[u>>2]|0)+4|0;c[k>>2]=c[k>>2]|4096;if(!(e[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16+2>>1]|0)){f=(c[o>>2]|0)+456|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;b[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16+2>>1]=k}c[(c[u>>2]|0)+28>>2]=e[(c[(c[n>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16+2>>1]}if((d[c[s>>2]>>0]|0)==95)c[u>>2]=zq(c[o>>2]|0,c[u>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0;m=(c[s>>2]|0)+4|0;c[m>>2]=c[m>>2]|32768;dn(c[t>>2]|0,c[s>>2]|0);m=c[s>>2]|0;n=c[u>>2]|0;o=m+48|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));if((c[(c[s>>2]|0)+4>>2]&1024|0)==0?(c[(c[s>>2]|0)+8>>2]|0)!=0:0){k=ef(c[t>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0;c[(c[s>>2]|0)+8>>2]=k;s=(c[s>>2]|0)+4|0;c[s>>2]=c[s>>2]|65536}Nd(c[t>>2]|0,c[u>>2]|0);i=v;return}function yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;d=g+28|0;e=g+24|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=46;c[f+20>>2]=c[e>>2];dq(f,c[d>>2]|0)|0;i=g;return}function zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];c[f+4>>2]=Ed(c[f>>2]|0)|0;d=bo(c[h>>2]|0,c[g>>2]|0,f)|0;i=e;return d|0}function Aq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=155){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+20>>2]|0);i=h;return 0}function Bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+88+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];sf(j,21084,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function Cq(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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;X=i;i=i+176|0;W=X+16|0;V=X+24|0;D=X;B=X+40|0;I=X+60|0;J=X+52|0;m=X+48|0;K=X+120|0;L=X+88|0;M=X+56|0;N=X+64|0;q=X+44|0;s=X+72|0;O=X+76|0;o=X+80|0;t=X+116|0;P=X+92|0;x=X+84|0;S=X+96|0;U=X+100|0;T=X+104|0;Q=X+108|0;A=X+112|0;v=X+68|0;w=X+124|0;z=X+128|0;p=X+132|0;F=X+136|0;u=X+140|0;r=X+144|0;E=X+148|0;y=X+152|0;H=X+156|0;R=X+160|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&20){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=($b(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;k=c[q>>2]|0;if(h)break;c[q>>2]=k+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(k<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=88;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(e[(c[(c[x>>2]|0)+20>>2]|0)+6>>1]&512|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(Jq(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+68>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)k=c[(c[x>>2]|0)+12>>2]|0;else k=c[c[A>>2]>>2]|0;c[F>>2]=k;if($b(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0))break c;if(!($b(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(Kq(c[(c[x>>2]|0)+48>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+24}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+36>>1]|0))k=-1;else k=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=k}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+40>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+68>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+412>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+436>>0];if((c[u>>2]|0)!=109?($b(21454,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+412>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?($b(21458,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+412>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+68>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0))break;h=($b(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+24}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+36>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+38>>1]|0)?(Lq(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+44>>0]&32|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+38>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;k=c[N>>2]|0;do if((c[r>>2]|0)>=0){f=(c[r>>2]|0)>=32?-1:1<>2];l=c[J>>2]|0;if(!(c[k+28>>2]|0)){h=l+428|0;c[h>>2]=c[h>>2]|f;break}else{h=l+432|0;c[h>>2]=c[h>>2]|f;break}}else a[k+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if(((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(Lq(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+44>>0]&32|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?($b(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=81;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==81){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];sf(W,21462,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}xq(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,14425,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==88){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?21493:21508;do if(!(c[m>>2]|0)){k=c[J>>2]|0;f=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=f;c[V+4>>2]=K;c[V+8>>2]=W;sf(k,21543,V);break}else{V=c[L>>2]|0;c[W>>2]=f;c[W+4>>2]=V;sf(k,21553,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;sf(W,21530,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=CH(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}dn(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;dn(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?62:154}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if((d[c[N>>2]>>0]|0)!=24)Mq(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function Dq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;h=j;f=j+12|0;k=j+8|0;g=j+4|0;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;if(!((e[(c[k>>2]|0)+28>>1]|0)&16)){i=j;return}k=c[f>>2]|0;c[h>>2]=c[g>>2];sf(k,21409,h);i=j;return}function Eq(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=133){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Iq(a,f,Ed(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*1.0e3);f=c[b>>2]|0;i=g;return f|0}return 0}function Fq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+16|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=47;c[g+20>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;cq(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function Gq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;h=j;f=j+12|0;k=j+8|0;g=j+4|0;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;if(!((e[(c[k>>2]|0)+28>>1]|0)&4)){i=j;return}k=c[f>>2]|0;c[h>>2]=c[g>>2];sf(k,21374,h);i=j;return}function Hq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=154?(d[c[f>>2]>>0]|0|0)!=156:0){i=k;return 0}c[g>>2]=c[(c[e>>2]|0)+20>>2];c[j>>2]=c[c[g>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[j>>2]|0)+8+((c[h>>2]|0)*72|0)+40>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}e=c[g>>2]|0;if((c[h>>2]|0)<(c[c[j>>2]>>2]|0)){j=e+4|0;c[j>>2]=(c[j>>2]|0)+1;i=k;return 0}else{j=e+8|0;c[j>>2]=(c[j>>2]|0)+1;i=k;return 0}return 0}function Iq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+48|0;w=G+40|0;x=G+44|0;j=G+64|0;m=G+80|0;r=G+36|0;E=G+32|0;u=G+68|0;t=G+8|0;p=G+76|0;z=G+52|0;q=G+56|0;y=G+60|0;D=G+16|0;A=G+24|0;B=G+72|0;n=G+28|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[q>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[r>>2]=1;else{c[r>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]|0)+(d[m>>0]|0)+-3;c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if((a[c[w>>2]>>0]|0)!=48)break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[14426+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=MH(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=DH(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[14426+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=MH(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=DH(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&4))break b;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=38;c:do if((o|0)==38){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[q>>2]|0)<1e4)j=((c[q>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[q>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=1}}while(0);if((c[A>>2]|0)!=0&(c[y>>2]|0)!=0)while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[14426+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}}}while(0);r=_(c[q>>2]|0,c[z>>2]|0)|0;c[q>>2]=r+(c[p>>2]|0);if((c[q>>2]|0)<0){c[z>>2]=-1;c[q>>2]=_(c[q>>2]|0,-1)|0}else c[z>>2]=1;r=t;do if((c[r>>2]|0)!=0|(c[r+4>>2]|0)!=0){d:do if((c[z>>2]|0)>0)while(1){r=t;p=c[r+4>>2]|0;if(!((p|0)<214748364|(p|0)==214748364&(c[r>>2]|0)>>>0<3435973836?(c[q>>2]|0)>0:0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=MH(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}else while(1){r=t;r=LH(c[r>>2]|0,c[r+4>>2]|0,10,0)|0;if(!((r|0)!=0|(C|0)!=0?0:(c[q>>2]|0)>0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=KH(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}while(0);p=(c[u>>2]|0)<0;r=t;o=c[r>>2]|0;r=c[r+4>>2]|0;b=AH(0,0,o|0,r|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:r;if(!(c[q>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[q>>2]|0)>307&(c[q>>2]|0)<342){while(1){if(!((c[q>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}if((c[q>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[q>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}while(1){if((c[q>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[q>>2]=(c[q>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}else h[D>>3]=((c[u>>2]|0)<0?(c[A>>2]|0)!=0:0)?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0:0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function Jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((Ib(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((Ib(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?($b(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!($b(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function Lq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if($b(c[d>>2]|0,21629)|0){if(!($b(c[d>>2]|0,21560)|0)){c[b>>2]=1;break}if(!($b(c[d>>2]|0,21637)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function Mq(e,f,g,h){e=e|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,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s;l=s+16|0;j=s+28|0;m=s+4|0;t=s+32|0;q=s+36|0;r=s+12|0;p=s+24|0;o=s+20|0;n=s+8|0;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+284>>2]|0)){i=s;return}c[o>>2]=vf(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==62)c[q>>2]=c[(c[k>>2]|0)+412>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+40>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+36>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((b[(c[q>>2]|0)+36>>1]|0)*24|0)>>2];break}else{c[r>>2]=21560;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)>>2];while(0);if(2!=(Nq(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function Nq(a,b,d,e){a=a|0;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,o=0,p=0;p=i;i=i+48|0;n=p;m=p+8|0;f=p+32|0;g=p+36|0;h=p+24|0;j=p+20|0;k=p+28|0;o=p+40|0;l=p+44|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[o>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[l>>2]=pb[c[(c[k>>2]|0)+284>>2]&3](c[(c[k>>2]|0)+288>>2]|0,20,c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[(c[f>>2]|0)+492>>2]|0)|0;if((c[l>>2]|0)!=1){if(!((c[l>>2]|0)!=2&(c[l>>2]|0)!=0)){o=c[l>>2]|0;i=p;return o|0}No(c[f>>2]|0);o=c[l>>2]|0;i=p;return o|0}e=c[f>>2]|0;if((c[j>>2]|0)!=0?1:(c[(c[k>>2]|0)+20>>2]|0)>2){k=c[g>>2]|0;n=c[h>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[m+8>>2]=n;sf(e,21566,m)}else{o=c[h>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=o;sf(e,21599,n)}c[(c[f>>2]|0)+12>>2]=23;o=c[l>>2]|0;i=p;return o|0}function Oq(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;t=i;i=i+64|0;n=t+44|0;k=t+24|0;o=t;l=t+36|0;q=t+40|0;m=t+48|0;p=t+20|0;j=t+32|0;r=t+28|0;s=t+16|0;h=t+8|0;c[k>>2]=f;c[o>>2]=g;if(!(c[(c[o>>2]|0)+52>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;if((d[(c[m>>2]|0)+4>>0]|0|0)!=116?(d[(c[m>>2]|0)+4>>0]|0|0)!=119:0)break;c[m>>2]=c[(c[m>>2]|0)+52>>2]}if(!(c[m>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[j>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[c[(c[o>>2]|0)+48>>2]>>2]|0)-1;while(1){if((c[l>>2]|0)<0)break;if(c[(c[(c[j>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)<0){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[s>>2]=c[(c[k>>2]|0)+12>>2];c[p>>2]=c[c[s>>2]>>2];c[q>>2]=gf(c[p>>2]|0,72,0)|0;if(!(c[q>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;i=t;return s|0};c[h>>2]=0;c[h+4>>2]=0;c[r>>2]=Ln(c[s>>2]|0,0,0,0,h,c[q>>2]|0,0,0)|0;if(!(c[r>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;i=t;return s|0}else{h=c[q>>2]|0;j=c[o>>2]|0;k=h+72|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));c[(c[o>>2]|0)+32>>2]=c[r>>2];s=c[s>>2]|0;s=Nn(s,0,Qn(c[p>>2]|0,116,0)|0)|0;c[c[o>>2]>>2]=s;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+36>>2]=0;c[(c[q>>2]|0)+40>>2]=0;c[(c[q>>2]|0)+44>>2]=0;c[(c[q>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+56>>2]=0;s=(c[o>>2]|0)+6|0;b[s>>1]=(e[s>>1]|0)&-65;c[(c[(c[q>>2]|0)+52>>2]|0)+56>>2]=c[q>>2];c[(c[q>>2]|0)+60>>2]=0;c[(c[q>>2]|0)+64>>2]=0;c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function Pq(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;X=i;i=i+208|0;P=X+48|0;O=X+16|0;N=X+24|0;M=X+32|0;Q=X+56|0;o=X;l=X+8|0;p=X+180|0;j=X+172|0;q=X+164|0;E=X+124|0;t=X+120|0;v=X+80|0;w=X+84|0;I=X+88|0;z=X+92|0;B=X+96|0;s=X+100|0;y=X+104|0;F=X+196|0;A=X+176|0;h=X+204|0;n=X+128|0;k=X+132|0;r=X+136|0;D=X+140|0;m=X+144|0;x=X+148|0;L=X+152|0;U=X+156|0;H=X+160|0;G=X+76|0;V=X+68|0;T=X+64|0;u=X+72|0;S=X+200|0;R=X+188|0;W=X+192|0;K=X+112|0;C=X+168|0;J=X+184|0;c[j>>2]=f;c[q>>2]=g;c[E>>2]=c[(c[j>>2]|0)+12>>2];c[s>>2]=c[c[E>>2]>>2];b[h>>1]=b[(c[q>>2]|0)+6>>1]|0;g=(c[q>>2]|0)+6|0;b[g>>1]=e[g>>1]|16;if(a[(c[s>>2]|0)+64>>0]|0){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}if((c[(c[q>>2]|0)+32>>2]|0)!=0?(e[h>>1]&16|0)==0:0){c[I>>2]=c[(c[q>>2]|0)+32>>2];c[z>>2]=c[c[q>>2]>>2];h=c[E>>2]|0;Vn(h,c[(Rq(c[q>>2]|0)|0)+68>>2]|0,0);Ip(c[E>>2]|0,c[I>>2]|0);c[t>>2]=0;c[B>>2]=(c[I>>2]|0)+8;a:while(1){if((c[t>>2]|0)>=(c[c[I>>2]>>2]|0)){g=33;break}if(!((d[(c[B>>2]|0)+37>>0]|0)>>>3&1)){f=c[j>>2]|0;if(c[(c[B>>2]|0)+16>>2]|0){g=10;break}if(Sq(f,c[B>>2]|0)|0){g=12;break}do if(!(c[(c[B>>2]|0)+16>>2]|0)){if(!(c[(c[B>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[B>>2]|0)+20>>2];$p(c[j>>2]|0,c[k>>2]|0)|0;h=gf(c[s>>2]|0,76,0)|0;c[n>>2]=h;c[(c[B>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){g=16;break a}b[(c[n>>2]|0)+40>>1]=1;h=c[s>>2]|0;c[l>>2]=c[n>>2];h=tf(h,21641,l)|0;c[c[n>>2]>>2]=h;while(1){if(!(c[(c[k>>2]|0)+52>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+52>>2]}Lp(c[E>>2]|0,c[c[k>>2]>>2]|0,(c[n>>2]|0)+38|0,(c[n>>2]|0)+4|0)|0;b[(c[n>>2]|0)+36>>1]=-1;b[(c[n>>2]|0)+28>>1]=200;h=(c[n>>2]|0)+44|0;a[h>>0]=d[h>>0]|2;break}h=Zo(c[E>>2]|0,0,c[B>>2]|0)|0;c[n>>2]=h;c[(c[B>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){g=22;break a}if((e[(c[n>>2]|0)+40>>1]|0)==65535){g=24;break a}h=(c[n>>2]|0)+40|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if((c[(c[n>>2]|0)+12>>2]|0)==0?(d[(c[n>>2]|0)+44>>0]&16|0)==0:0)break;if(Ap(c[E>>2]|0,c[n>>2]|0)|0){g=28;break a}h=Hp(c[s>>2]|0,c[(c[n>>2]|0)+12>>2]|0,0)|0;c[(c[B>>2]|0)+20>>2]=h;$p(c[j>>2]|0,c[(c[B>>2]|0)+20>>2]|0)|0}while(0);if(Tq(c[E>>2]|0,c[B>>2]|0)|0){g=31;break}}c[t>>2]=(c[t>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+72}if((g|0)==10){Qq(f,c[q>>2]|0);c[p>>2]=1;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==12){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==16){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==22){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==24){W=c[E>>2]|0;c[o>>2]=c[c[n>>2]>>2];sf(W,21654,o);c[(c[B>>2]|0)+16>>2]=0;c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==28){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==31){c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}else if((g|0)==33){if((d[(c[s>>2]|0)+64>>0]|0)==0?(Uq(c[E>>2]|0,c[q>>2]|0)|0)==0:0){c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[y>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];if((d[c[y>>2]>>0]|0)==116)break;if((d[c[y>>2]>>0]|0)==122?(d[c[(c[y>>2]|0)+16>>2]>>0]|0)==116:0)break;c[w>>2]=(c[w>>2]|0)+1}if((c[w>>2]|0)<(c[c[z>>2]>>2]|0)){c[r>>2]=c[(c[z>>2]|0)+4>>2];c[D>>2]=0;c[m>>2]=c[(c[c[E>>2]>>2]|0)+24>>2];if(c[m>>2]&32)f=(c[m>>2]&64|0)==0;else f=0;c[x>>2]=f&1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[y>>2]=c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[F>>2]=c[(c[y>>2]|0)+16>>2];do if((d[c[y>>2]>>0]|0)!=116){if((d[c[y>>2]>>0]|0)==122?(d[c[F>>2]>>0]|0)==116:0){g=53;break}c[D>>2]=Nn(c[E>>2]|0,c[D>>2]|0,c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)|0;if(c[D>>2]|0){c[(c[(c[D>>2]|0)+4>>2]|0)+(((c[c[D>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)+4>>2];c[(c[(c[D>>2]|0)+4>>2]|0)+(((c[c[D>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)+8>>2];c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)+4>>2]=0;c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]=0}c[(c[r>>2]|0)+((c[w>>2]|0)*20|0)>>2]=0}else g=53;while(0);do if((g|0)==53){g=0;c[L>>2]=0;c[U>>2]=0;if((d[c[y>>2]>>0]|0)==122)c[U>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+8>>2];c[t>>2]=0;c[B>>2]=(c[I>>2]|0)+8;while(1){if((c[t>>2]|0)>=(c[c[I>>2]>>2]|0))break;c[H>>2]=c[(c[B>>2]|0)+16>>2];c[G>>2]=c[(c[B>>2]|0)+20>>2];c[V>>2]=c[(c[B>>2]|0)+12>>2];c[T>>2]=0;if(!(c[V>>2]|0))c[V>>2]=c[c[H>>2]>>2];if(a[(c[s>>2]|0)+64>>0]|0)break;if((c[G>>2]|0)!=0?(e[(c[G>>2]|0)+6>>1]&512|0)!=0:0)g=67;else g=62;do if((g|0)==62){g=0;c[G>>2]=0;if((c[U>>2]|0)!=0?($b(c[U>>2]|0,c[V>>2]|0)|0)!=0:0)break;c[u>>2]=vf(c[s>>2]|0,c[(c[H>>2]|0)+68>>2]|0)|0;if((c[u>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2]|0;else f=21693;c[T>>2]=f;g=67}while(0);b:do if((g|0)==67){g=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[H>>2]|0)+38>>1]|0))break b;c[S>>2]=c[(c[(c[H>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)>>2];if(!((c[U>>2]|0)!=0&(c[G>>2]|0)!=0?(Jq(c[(c[(c[c[G>>2]>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2]|0,0,c[U>>2]|0,0)|0)==0:0))g=71;do if((g|0)==71){g=0;if(d[(c[(c[H>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)+23>>0]&2)break;c[L>>2]=1;if((c[t>>2]|0)>0&(c[U>>2]|0)==0){if((d[(c[B>>2]|0)+36>>0]&4|0)!=0?(Vq(c[I>>2]|0,c[t>>2]|0,c[S>>2]|0,0,0)|0)!=0:0)break;if((Wq(c[(c[B>>2]|0)+48>>2]|0,c[S>>2]|0)|0)>=0)break}c[F>>2]=Qn(c[s>>2]|0,27,c[S>>2]|0)|0;c[R>>2]=c[S>>2];c[W>>2]=0;do if(c[x>>2]|0)g=78;else{if((c[c[I>>2]>>2]|0)>1){g=78;break}c[A>>2]=c[F>>2]}while(0);do if((g|0)==78){g=0;c[C>>2]=Qn(c[s>>2]|0,27,c[V>>2]|0)|0;c[A>>2]=zn(c[E>>2]|0,122,c[C>>2]|0,c[F>>2]|0,0)|0;if(c[T>>2]|0){c[C>>2]=Qn(c[s>>2]|0,27,c[T>>2]|0)|0;c[A>>2]=zn(c[E>>2]|0,122,c[C>>2]|0,c[A>>2]|0,0)|0}if(!(c[x>>2]|0))break;o=c[s>>2]|0;n=c[S>>2]|0;c[Q>>2]=c[V>>2];c[Q+4>>2]=n;c[R>>2]=tf(o,21695,Q)|0;c[W>>2]=c[R>>2]}while(0);c[D>>2]=Nn(c[E>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;c[K>>2]=c[R>>2];c[K+4>>2]=Ed(c[R>>2]|0)|0;On(c[E>>2]|0,c[D>>2]|0,K,0);do if(c[D>>2]|0){if(!(e[(c[q>>2]|0)+6>>1]&512))break;c[J>>2]=(c[(c[D>>2]|0)+4>>2]|0)+(((c[c[D>>2]>>2]|0)-1|0)*20|0);f=c[s>>2]|0;if(c[G>>2]|0){o=ef(f,c[(c[(c[c[G>>2]>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2]|0)|0;c[(c[J>>2]|0)+8>>2]=o}else{n=c[V>>2]|0;o=c[R>>2]|0;c[M>>2]=c[T>>2];c[M+4>>2]=n;c[M+8>>2]=o;o=tf(f,21701,M)|0;c[(c[J>>2]|0)+8>>2]=o}o=(c[J>>2]|0)+13|0;a[o>>0]=a[o>>0]&-3|2}while(0);Nd(c[s>>2]|0,c[W>>2]|0)}while(0);c[v>>2]=(c[v>>2]|0)+1}}while(0);c[t>>2]=(c[t>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+72}if(!(c[L>>2]|0)){f=c[E>>2]|0;if(c[U>>2]|0){c[N>>2]=c[U>>2];sf(f,21710,N);break}else{sf(f,21728,O);break}}}while(0);c[w>>2]=(c[w>>2]|0)+1}$m(c[s>>2]|0,c[z>>2]|0);c[c[q>>2]>>2]=c[D>>2]}if((c[c[q>>2]>>2]|0)!=0?(c[c[c[q>>2]>>2]>>2]|0)>(c[(c[s>>2]|0)+88+8>>2]|0):0)sf(c[E>>2]|0,21748,P);c[p>>2]=0;W=c[p>>2]|0;i=X;return W|0}c[p>>2]=2;W=c[p>>2]|0;i=X;return W|0}}c[p>>2]=1;W=c[p>>2]|0;i=X;return W|0}function Qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=c[(Rq(c[g>>2]|0)|0)+68>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+532>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function Rq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+56>>2]|0))break;c[b>>2]=c[a+56>>2]}i=d;return a|0}function Sq(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;B=i;i=i+96|0;u=B+16|0;p=B+8|0;j=B;v=B+28|0;w=B+56|0;k=B+32|0;y=B+36|0;h=B+44|0;x=B+40|0;o=B+48|0;t=B+52|0;r=B+60|0;A=B+64|0;s=B+68|0;q=B+72|0;z=B+76|0;l=B+80|0;n=B+84|0;m=B+88|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[(c[w>>2]|0)+12>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=hr(c[(c[y>>2]|0)+532>>2]|0,c[k>>2]|0,o)|0;if(c[x>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0){z=c[y>>2]|0;A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];sf(z,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=gf(c[h>>2]|0,76,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+40>>1]=1;j=ef(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+36>>1]=-1;b[(c[t>>2]|0)+28>>1]=200;j=(c[t>>2]|0)+44|0;a[j>>0]=d[j>>0]|2;j=Hp(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+64>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)h=1;else h=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=h&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+32>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==($b(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+37|0;a[k>>0]=a[k>>0]&-9|8;k=(c[t>>2]|0)+40|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+6|0;b[k>>1]=e[k>>1]|2048}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+40>>1]|0)>2){A=c[y>>2]|0;c[p>>2]=c[c[x>>2]>>2];sf(A,21966,p);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=22009;c[z>>2]=c[(c[y>>2]|0)+532>>2];c[(c[y>>2]|0)+532>>2]=c[o>>2];h=c[A>>2]|0;if(c[q>>2]|0)h=c[h+52>>2]|0;$p(c[w>>2]|0,h)|0;c[s>>2]=c[A>>2];while(1){h=c[s>>2]|0;if(!(c[(c[s>>2]|0)+52>>2]|0))break;c[s>>2]=c[h+52>>2]}c[r>>2]=c[h>>2];do if(c[(c[x>>2]|0)+4>>2]|0){if((c[c[r>>2]>>2]|0)==(c[c[(c[x>>2]|0)+4>>2]>>2]|0)){c[r>>2]=c[(c[x>>2]|0)+4>>2];break}A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;sf(A,22032,u);c[(c[y>>2]|0)+532>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}while(0);Lp(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+38|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){h=(c[x>>2]|0)+12|0;if(e[(c[A>>2]|0)+6>>1]&2048)c[h>>2]=22070;else c[h>>2]=22104;$p(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+532>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function Tq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;e=m+20|0;f=m+24|0;g=m+28|0;j=m+12|0;l=m+8|0;h=m+16|0;c[f>>2]=b;c[g>>2]=d;do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(c[(c[g>>2]|0)+64>>2]|0)!=0:0){c[j>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=c[(c[g>>2]|0)+64>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break;if(!($b(c[c[h>>2]>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=c[(c[h>>2]|0)+20>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+68>>2]=c[h>>2];break}j=c[f>>2]|0;c[k>>2]=c[l>>2];c[k+4>>2]=0;sf(j,21948,k);a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function Uq(a,e){a=a|0;e=e|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;C=i;i=i+96|0;A=C+8|0;z=C;y=C+16|0;w=C+20|0;x=C+60|0;f=C+32|0;u=C+28|0;g=C+48|0;o=C+36|0;p=C+40|0;s=C+44|0;q=C+24|0;t=C+52|0;n=C+56|0;v=C+64|0;h=C+68|0;k=C+72|0;r=C+76|0;B=C+80|0;j=C+84|0;l=C+88|0;m=C+92|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+32>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+44>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+38>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];if(Vq(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)Yq(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+36|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+44>>2]|0)!=0?(c[(c[s>>2]|0)+48>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+44>>2]|0){if(c[n>>2]|0)Zq(c[(c[s>>2]|0)+44>>2]|0,c[(c[s>>2]|0)+40>>2]|0);a=_q(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+36>>2]|0,c[(c[s>>2]|0)+44>>2]|0)|0;c[(c[f>>2]|0)+36>>2]=a;c[(c[s>>2]|0)+44>>2]=0}if(c[(c[s>>2]|0)+48>>2]|0){c[r>>2]=c[(c[s>>2]|0)+48>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=Xq(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(Vq(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}Yq(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+36|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;sf(B,21779,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){sf(c[x>>2]|0,21829,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];sf(z,21884,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function Vq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;q=i;i=i+32|0;g=q+4|0;h=q+16|0;j=q+8|0;k=q+20|0;l=q+28|0;m=q;n=q+12|0;o=q+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=Xq(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){b=8;break}b=($b(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;a=c[f>>2]|0;if(b){b=6;break}c[f>>2]=a+1}if((b|0)==6){c[g>>2]=a;g=c[g>>2]|0;i=h;return g|0}else if((b|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function Xq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+38>>1]|0)){d=6;break}d=($b(c[(c[(c[e>>2]|0)+4>>2]|0)+((c[g>>2]|0)*24|0)>>2]|0,c[f>>2]|0)|0)==0;a=c[g>>2]|0;if(d){d=4;break}c[g>>2]=a+1}if((d|0)==4){c[h>>2]=a;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function Yq(a,d,e,f,g,h,j,k){a=a|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+4|0;v=p+16|0;x=p+36|0;w=p;u=p+32|0;t=p+40|0;q=p+44|0;l=p+24|0;m=p+20|0;r=p+8|0;n=p+12|0;o=p+28|0;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=gr(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=gr(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=zn(c[s>>2]|0,79,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=_q(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=_q(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function Zq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;while(1){if(!(c[e>>2]|0))break;a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[e>>2]|0)+36>>1]=c[f>>2];Zq(c[(c[e>>2]|0)+12>>2]|0,c[f>>2]|0);c[e>>2]=c[(c[e>>2]|0)+16>>2]}i=g;return}function _q(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}a=c[g>>2]|0;if(!b){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}if(($q(a)|0)==0?($q(c[h>>2]|0)|0)==0:0){c[j>>2]=ar(c[f>>2]|0,72,0,0)|0;br(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}dn(c[f>>2]|0,c[g>>2]|0);dn(c[f>>2]|0,c[h>>2]|0);c[e>>2]=ar(c[f>>2]|0,132,2276,0)|0;j=c[e>>2]|0;i=k;return j|0}function $q(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(jq(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function ar(d,e,f,g){d=d|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+8|0;l=q+20|0;p=q+28|0;o=q;n=q+12|0;m=q+24|0;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;c[n>>2]=0;do if(c[k>>2]|0){if(((c[j>>2]|0)==132?(c[c[k>>2]>>2]|0)!=0:0)?(wg(c[c[k>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=gf(c[h>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}a[c[p>>2]>>0]=c[j>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[k>>2]|0){h=c[p>>2]|0;if(!(c[o>>2]|0)){o=h+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=h+48;if(c[(c[k>>2]|0)+4>>2]|0)EH(c[(c[p>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;if(((c[l>>2]|0)!=0&(c[o>>2]|0)>=3?(o=a[c[c[k>>2]>>2]>>0]|0,c[m>>2]=o,(o|0)==39|(c[m>>2]|0)==34|(c[m>>2]|0)==91|(c[m>>2]|0)==96):0)?(Jo(c[(c[p>>2]|0)+8>>2]|0)|0,(c[m>>2]|0)==34):0){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function br(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){dn(c[f>>2]|0,c[h>>2]|0);dn(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|256&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|256&c[(c[h>>2]|0)+4>>2]}cr(c[g>>2]|0);i=k;return}function cr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;dr(c[(c[b>>2]|0)+12>>2]|0,d);dr(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(c[(c[b>>2]|0)+4>>2]&2048)er(c[a>>2]|0,d);else fr(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function dr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}dr(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);dr(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);dr(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);dr(c[(c[d>>2]|0)+64>>2]|0,c[e>>2]|0);fr(c[c[d>>2]>>2]|0,c[e>>2]|0);fr(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);fr(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);er(c[(c[d>>2]|0)+52>>2]|0,c[e>>2]|0);i=f;return}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;dr(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function gr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=ar(c[n>>2]|0,154,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+40>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+36>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=CH(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function hr(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,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;g=m+20|0;h=m+24|0;l=m+4|0;k=m;j=m+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!($b(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function ir(e,f,g){e=e|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;s=i;i=i+48|0;h=s;j=s+16|0;k=s+28|0;l=s+4|0;o=s+32|0;m=s+36|0;n=s+12|0;p=s+24|0;q=s+20|0;r=s+8|0;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;if(!(c[k>>2]|0)){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}if((c[c[k>>2]>>2]|0)>0)e=((c[c[k>>2]>>2]|0)-1|0)*72|0;else e=0;c[n>>2]=80+e;n=c[n>>2]|0;c[o>>2]=qf(c[j>>2]|0,n,((n|0)<0)<<31>>31)|0;if(!(c[o>>2]|0)){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}n=c[c[k>>2]>>2]|0;c[(c[o>>2]|0)+4>>2]=n;c[c[o>>2]>>2]=n;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[p>>2]=(c[o>>2]|0)+8+((c[m>>2]|0)*72|0);c[q>>2]=(c[k>>2]|0)+8+((c[m>>2]|0)*72|0);c[c[p>>2]>>2]=c[c[q>>2]>>2];n=ef(c[j>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=n;n=ef(c[j>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0;c[(c[p>>2]|0)+8>>2]=n;n=ef(c[j>>2]|0,c[(c[q>>2]|0)+12>>2]|0)|0;c[(c[p>>2]|0)+12>>2]=n;a[(c[p>>2]|0)+36>>0]=a[(c[q>>2]|0)+36>>0]|0;c[(c[p>>2]|0)+40>>2]=c[(c[q>>2]|0)+40>>2];c[(c[p>>2]|0)+24>>2]=c[(c[q>>2]|0)+24>>2];c[(c[p>>2]|0)+28>>2]=c[(c[q>>2]|0)+28>>2];n=(c[p>>2]|0)+37|0;a[n>>0]=a[n>>0]&-3|((d[(c[q>>2]|0)+37>>0]|0)>>>1&1)<<1&255;n=(c[p>>2]|0)+37|0;a[n>>0]=a[n>>0]&-5|((d[(c[q>>2]|0)+37>>0]|0)>>>2&1)<<2&255;n=(c[p>>2]|0)+37|0;a[n>>0]=a[n>>0]&-9|((d[(c[q>>2]|0)+37>>0]|0)>>>3&1)<<3&255;n=ef(c[j>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0;c[(c[p>>2]|0)+64>>2]=n;n=(c[p>>2]|0)+37|0;a[n>>0]=a[n>>0]&-2|a[(c[q>>2]|0)+37>>0]&1;c[(c[p>>2]|0)+68>>2]=c[(c[q>>2]|0)+68>>2];n=c[(c[q>>2]|0)+16>>2]|0;c[(c[p>>2]|0)+16>>2]=n;c[r>>2]=n;if(c[r>>2]|0){n=(c[r>>2]|0)+40|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16}g=Hp(c[j>>2]|0,c[(c[q>>2]|0)+20>>2]|0,c[l>>2]|0)|0;c[(c[p>>2]|0)+20>>2]=g;g=mq(c[j>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[(c[p>>2]|0)+44>>2]=g;g=kr(c[j>>2]|0,c[(c[q>>2]|0)+48>>2]|0)|0;c[(c[p>>2]|0)+48>>2]=g;g=(c[q>>2]|0)+56|0;f=c[g+4>>2]|0;n=(c[p>>2]|0)+56|0;c[n>>2]=c[g>>2];c[n+4>>2]=f;c[m>>2]=(c[m>>2]|0)+1}c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}function jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=gf(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=Hp(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=uq(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=ef(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function kr(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;f=l+20|0;h=l+24|0;g=l+4|0;j=l;k=l+12|0;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=qf(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=qf(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Nd(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=ef(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function lr(e,f,g,h,j){e=e|0;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,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;K=i;i=i+128|0;x=K+8|0;H=K;G=K+24|0;L=K+16|0;B=K+44|0;C=K+36|0;k=K+32|0;l=K+84|0;m=K+56|0;D=K+40|0;w=K+48|0;v=K+28|0;E=K+60|0;F=K+64|0;n=K+68|0;s=K+76|0;I=K+72|0;J=K+80|0;q=K+88|0;y=K+92|0;p=K+96|0;z=K+100|0;u=K+104|0;o=K+108|0;r=K+112|0;t=K+116|0;c[C>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[D>>2]=j;c[n>>2]=c[(c[k>>2]|0)+56>>2];c[s>>2]=c[(c[k>>2]|0)+52>>2];c[I>>2]=0;h=c[C>>2]|0;c[L>>2]=c[c[k>>2]>>2];c[J>>2]=tf(h,14418,L)|0;if(!(c[J>>2]|0)){c[B>>2]=7;L=c[B>>2]|0;i=K;return L|0}c[E>>2]=gf(c[C>>2]|0,28,0)|0;e=c[C>>2]|0;if(!(c[E>>2]|0)){Nd(e,c[J>>2]|0);c[B>>2]=7;L=c[B>>2]|0;i=K;return L|0}c[c[E>>2]>>2]=e;c[(c[E>>2]|0)+4>>2]=c[l>>2];c[q>>2]=vf(c[C>>2]|0,c[(c[k>>2]|0)+68>>2]|0)|0;c[(c[(c[k>>2]|0)+56>>2]|0)+4>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2];c[w+4>>2]=c[k>>2];c[w>>2]=c[E>>2];c[v>>2]=c[(c[C>>2]|0)+324>>2];c[(c[C>>2]|0)+324>>2]=w;c[F>>2]=pb[c[m>>2]&3](c[C>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[s>>2]|0,c[n>>2]|0,(c[E>>2]|0)+8|0,I)|0;c[(c[C>>2]|0)+324>>2]=c[v>>2];if((c[F>>2]|0)==7)a[(c[C>>2]|0)+64>>0]=1;a:do if(!(c[F>>2]|0)){if(c[(c[E>>2]|0)+8>>2]|0){L=c[(c[E>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[E>>2]|0)+8>>2]>>2]=c[c[l>>2]>>2];c[(c[E>>2]|0)+12>>2]=1;if(c[w+4>>2]|0){c[y>>2]=22191;I=c[C>>2]|0;L=c[y>>2]|0;c[x>>2]=c[c[k>>2]>>2];L=tf(I,L,x)|0;c[c[D>>2]>>2]=L;om(c[E>>2]|0);c[F>>2]=1;break}c[(c[E>>2]|0)+24>>2]=c[(c[k>>2]|0)+60>>2];c[(c[k>>2]|0)+60>>2]=c[E>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[k>>2]|0)+38>>1]|0))break a;c[z>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[p>>2]|0)*24|0)+12>>2];c[o>>2]=0;if(c[z>>2]|0){c[u>>2]=Ed(c[z>>2]|0)|0;if(!(Ib(22237,c[z>>2]|0,6)|0)){if((a[(c[z>>2]|0)+6>>0]|0)!=0?(a[(c[z>>2]|0)+6>>0]|0)!=32:0)A=21}else A=21;b:do if((A|0)==21){A=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[u>>2]|0))break b;if(!(Ib(22244,(c[z>>2]|0)+(c[o>>2]|0)|0,7)|0)){if(!(a[(c[z>>2]|0)+((c[o>>2]|0)+7)>>0]|0))break;if((a[(c[z>>2]|0)+((c[o>>2]|0)+7)>>0]|0)==32)break}c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}while(0);if((c[o>>2]|0)<(c[u>>2]|0)){c[t>>2]=6+((a[(c[z>>2]|0)+((c[o>>2]|0)+6)>>0]|0)!=0?1:0);c[r>>2]=c[o>>2];while(1){if(((c[r>>2]|0)+(c[t>>2]|0)|0)>(c[u>>2]|0))break;a[(c[z>>2]|0)+(c[r>>2]|0)>>0]=a[(c[z>>2]|0)+((c[r>>2]|0)+(c[t>>2]|0))>>0]|0;c[r>>2]=(c[r>>2]|0)+1}if((c[o>>2]|0)>0?(a[(c[z>>2]|0)+(c[o>>2]|0)>>0]|0)==0:0)a[(c[z>>2]|0)+((c[o>>2]|0)-1)>>0]=0;L=(c[(c[k>>2]|0)+4>>2]|0)+((c[p>>2]|0)*24|0)+23|0;a[L>>0]=d[L>>0]|2}}c[p>>2]=(c[p>>2]|0)+1}}}else{e=c[C>>2]|0;if(!(c[I>>2]|0)){c[G>>2]=c[J>>2];L=tf(e,22161,G)|0;c[c[D>>2]>>2]=L}else{c[H>>2]=c[I>>2];L=tf(e,14418,H)|0;c[c[D>>2]>>2]=L;Sb(c[I>>2]|0)}Nd(c[C>>2]|0,c[E>>2]|0)}while(0);Nd(c[C>>2]|0,c[J>>2]|0);c[B>>2]=c[F>>2];L=c[B>>2]|0;i=K;return L|0}function mr(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+140+5>>0]|0))c[f>>2]=Mr(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function nr(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;l=i;i=i+48|0;d=l+28|0;e=l+16|0;n=l+4|0;m=l+8|0;j=l+32|0;g=l;f=l+12|0;h=l+24|0;k=l+20|0;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];$o(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+68>>2];a=(c[d>>2]|0)+68|0;c[a>>2]=(c[a>>2]|0)+3;rr(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+72>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+68>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];sr(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}tr(c[d>>2]|0,c[e>>2]|0);i=l;return}function or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Ho(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ag(c[g>>2]|0,c[f>>2]|0)|0;Nd(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function pr(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=vf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+68>>2]|0)|0;$o(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+68>>2];b=(c[e>>2]|0)+68|0;c[b>>2]=(c[b>>2]|0)+3;b=c[e>>2]|0;a=c[h>>2]|0;d=c[j>>2]|0;if(c[g>>2]|0)rr(b,a,d,c[c[g>>2]>>2]|0,22331);else rr(b,a,d,c[c[f>>2]>>2]|0,22335);sr(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+72>>2]|0)+1|0,c[(c[e>>2]|0)+68>>2]|0);tr(c[e>>2]|0,c[h>>2]|0);i=k;return}function qr(b,e,f,g){b=b|0;e=e|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;r=i;i=i+48|0;q=r;p=r+8|0;h=r+24|0;j=r+28|0;k=r+16|0;l=r+12|0;m=r+20|0;o=r+32|0;n=r+36|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];if((c[l>>2]|0)!=0?(c[(c[l>>2]|0)+4>>2]|0)>>>0>0:0){if(a[(c[n>>2]|0)+140+5>>0]|0){sf(c[j>>2]|0,22294,p);q=(c[j>>2]|0)+64|0;c[q>>2]=(c[q>>2]|0)+1;c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=or(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];sf(p,22311,q);q=(c[j>>2]|0)+64|0;c[q>>2]=(c[q>>2]|0)+1;c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[(c[n>>2]|0)+140+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function rr(b,d,e,f,g){b=b|0;d=d|0;e=e|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;x=i;i=i+96|0;v=x;u=x+16|0;h=x+28|0;j=x+48|0;k=x+36|0;l=x+32|0;m=x+76|0;q=x+44|0;p=x+52|0;r=x+56|0;t=x+60|0;o=x+64|0;n=x+84|0;w=x+40|0;s=x+80|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=Po(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[2400+(c[q>>2]<<3)>>2];g=cp(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[2400+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[2400+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;Oo(g,22383,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+388>>2];a[n+(c[q>>2]|0)>>0]=2}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+32>>2];a[n+(c[q>>2]|0)>>0]=0;vr(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;Oo(g,22406,v);break}else{Ro(c[t>>2]|0,118,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[2400+(c[q>>2]<<3)+4>>2]|0))break;wf(c[t>>2]|0,55,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;xf(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function sr(b,f,g,h,j,k){b=b|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,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+56|0;o=R+100|0;p=R+44|0;q=R+52|0;l=R+48|0;m=R+16|0;u=R+20|0;F=R+24|0;y=R+28|0;z=R+32|0;O=R+36|0;w=R+88|0;A=R+96|0;x=R+104|0;D=R+120|0;I=R+116|0;L=R+60|0;G=R+64|0;N=R+68|0;M=R+72|0;H=R+76|0;K=R+80|0;J=R+12|0;B=R+8|0;t=R;s=R+4|0;P=R+84|0;C=R+40|0;v=R+92|0;r=R+108|0;E=R+112|0;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+72>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+72>>2]=l;c[O>>2]=Po(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+32>>2]|0)){i=R;return}if(!(Ib(c[c[o>>2]>>2]|0,19570,7)|0)){i=R;return}c[x>>2]=vf(c[u>>2]|0,c[(c[o>>2]|0)+68>>2]|0)|0;if(Mo(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}vr(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+32>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+68>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+68>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+68>>2]=l;wr(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,54);To(c[O>>2]|0,97,0,c[M>>2]|0,0,c[c[o>>2]>>2]|0,0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+44>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}To(c[O>>2]|0,97,0,c[H>>2]|0,0,c[P>>2]|0,0)|0;if((c[(c[n>>2]|0)+72>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+72>>2]=l;Uo(c[O>>2]|0,54,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;xr(c[n>>2]|0,c[F>>2]|0);Ro(c[O>>2]|0,25,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;Ro(c[O>>2]|0,25,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;Uo(c[O>>2]|0,1,0,(c[L>>2]|0)+1|0,c[L>>2]|0)|0;Df(c[O>>2]|0,-1,2292,-5);xf(c[O>>2]|0,2);c[t>>2]=ur(c[O>>2]|0,108,c[y>>2]|0)|0;Ro(c[O>>2]|0,25,0,c[G>>2]|0)|0;c[s>>2]=yr(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=zr(c[O>>2]|0)|0;c[r>>2]=qf(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;Yo(c[O>>2]|0,16)|0;c[s>>2]=yr(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)Ro(c[O>>2]|0,77,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Ar(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;Ro(c[O>>2]|0,25,c[w>>2]|0,c[G>>2]|0)|0;Uo(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=To(c[O>>2]|0,78,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;xf(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}Ro(c[O>>2]|0,25,c[C>>2]|0,c[G>>2]|0)|0;Ro(c[O>>2]|0,16,0,c[v>>2]|0)|0;jp(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;jp(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);Uo(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}Br(l,c[v>>2]|0);Nd(c[u>>2]|0,c[r>>2]|0)}Uo(c[O>>2]|0,1,1,c[L>>2]|0,c[N>>2]|0)|0;Df(c[O>>2]|0,-1,2328,-5);xf(c[O>>2]|0,2);Ro(c[O>>2]|0,9,c[y>>2]|0,c[s>>2]|0)|0;Cr(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);To(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,22339,0)|0;Ro(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;Uo(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;xf(c[O>>2]|0,8);jp(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}Ro(c[O>>2]|0,50,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=ur(c[O>>2]|0,46,c[K>>2]|0)|0;Ro(c[O>>2]|0,28,0,c[H>>2]|0)|0;To(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,22339,0)|0;Ro(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;Uo(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;xf(c[O>>2]|0,8);jp(c[O>>2]|0,c[A>>2]|0);i=R;return}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Po(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}ur(c[e>>2]|0,123,c[d>>2]|0)|0;i=f;return}function ur(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Uo(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function vr(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+4|0;m=s+16|0;n=s+20|0;o=s+32|0;p=s+28|0;q=s;j=s+12|0;k=s+8|0;r=s+24|0;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+408>>2]|0)e=c[e+408>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+396>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+400>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+396>>2]|0)+1<<4;e=c[k>>2]|0;e=gm(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+400>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+400>>2]=e;e=(c[q>>2]|0)+396|0;if(c[(c[q>>2]|0)+400>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+400>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;a[(c[c[q>>2]>>2]|0)+64>>0]=1;i=s;return}}function wr(a,e,f,g,h){a=a|0;e=e|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,q=0;q=i;i=i+32|0;j=q+8|0;k=q+16|0;l=q+20|0;m=q+24|0;n=q+4|0;p=q;o=q+12|0;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=Po(c[j>>2]|0)|0;vr(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+32>>2]|0,((c[n>>2]|0)==55?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+44>>0]&32)){wf(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+38>>1]|0)|0;i=q;return}else{c[o>>2]=Lr(c[m>>2]|0)|0;Uo(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;xr(c[j>>2]|0,c[o>>2]|0);i=q;return}}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Df(a,-1,Ir(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function yr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function zr(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+24>>2];f=(c[d>>2]|0)+108|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=gm(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+112>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+112>>2]=f}if(!(c[(c[d>>2]|0)+112>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+112>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Ar(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[(c[(c[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;a[l>>0]=a[(c[m>>2]|0)+140+5>>0]|0;c[j>>2]=Xg(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=Rp(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=-1-(c[h>>2]|0);if((c[e>>2]|0)>=0?(c[(c[f>>2]|0)+112>>2]|0)!=0:0)c[(c[(c[f>>2]|0)+112>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+32>>2];c[(c[f>>2]|0)+88>>2]=(c[(c[d>>2]|0)+32>>2]|0)-1;i=g;return}function Cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;Uo(c[g>>2]|0,1,0,c[j>>2]|0,c[h>>2]|0)|0;Df(c[g>>2]|0,-1,2364,-5);xf(c[g>>2]|0,1);i=f;return}function Dr(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,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+8|0;e=o+44|0;p=o+40|0;j=o+48|0;m=o+52|0;f=o+56|0;n=o+36|0;h=o+16|0;g=o;c[e>>2]=a;c[o+32>>2]=b;c[p>>2]=d;c[j>>2]=hc(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=de(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){Bc(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Yb(24,p,22352,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Ed(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=DH(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=AH(p|0,C|0,1,0)|0;d=h;d=NH(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Yb(24,p,22357,l)|0;p=Ed(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}vc(c[e>>2]|0,c[n>>2]|0,-1,13);i=o;return}function Er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=hc(c[c[j>>2]>>2]|0)|0;c[f>>2]=lc(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}Fr(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function Fr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Gr(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,l=0,m=0,n=0;l=i;i=i+48|0;e=l+28|0;n=l+4|0;k=l+8|0;g=l+32|0;j=l;h=l+12|0;m=l+24|0;f=l+20|0;c[e>>2]=a;c[l+16>>2]=b;c[n>>2]=d;c[g>>2]=lc(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=lc(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=Ec(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=gf(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){Bc(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);oc(c[e>>2]|0,c[k>>2]|0,56,16);i=l;return}}function Hr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Nd(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function Ir(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+4|0;n=p+16|0;o=p+8|0;h=p+20|0;j=p+28|0;g=p;k=p+12|0;l=p+24|0;c[n>>2]=b;c[o>>2]=f;if(c[(c[n>>2]|0)+64>>2]|0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((c[(c[o>>2]|0)+40>>2]|0)!=0?(c[(c[(c[o>>2]|0)+40>>2]|0)+12>>2]|0)!=(c[c[n>>2]>>2]|0):0){ah(c[(c[o>>2]|0)+40>>2]|0);c[(c[o>>2]|0)+40>>2]=0}do if(!(c[(c[o>>2]|0)+40>>2]|0)){c[j>>2]=e[(c[o>>2]|0)+52>>1];c[g>>2]=e[(c[o>>2]|0)+50>>1];f=c[c[n>>2]>>2]|0;if((d[(c[o>>2]|0)+55>>0]|0)>>>3&1)c[k>>2]=Jr(f,c[g>>2]|0,(c[j>>2]|0)-(c[g>>2]|0)|0)|0;else c[k>>2]=Jr(f,c[j>>2]|0,0)|0;if(c[k>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[l>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if(!(aH(c[l>>2]|0,15963)|0))f=0;else f=Ar(c[n>>2]|0,c[l>>2]|0)|0;c[(c[k>>2]|0)+20+(c[h>>2]<<2)>>2]=f;a[(c[(c[k>>2]|0)+16>>2]|0)+(c[h>>2]|0)>>0]=a[(c[(c[o>>2]|0)+28>>2]|0)+(c[h>>2]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}f=c[k>>2]|0;if(c[(c[n>>2]|0)+64>>2]|0){ah(f);break}else{c[(c[o>>2]|0)+40>>2]=f;break}}}while(0);c[m>>2]=Kr(c[(c[o>>2]|0)+40>>2]|0)|0;o=c[m>>2]|0;i=p;return o|0}function Jr(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=gf(0,24+(((c[h>>2]|0)+(c[j>>2]|0)|0)*5|0)|0,0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+16>>2]=(c[k>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[k>>2]|0)+6>>1]=c[h>>2];b[(c[k>>2]|0)+8>>1]=c[j>>2];a[(c[k>>2]|0)+4>>0]=a[(c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[(c[k>>2]|0)+12>>2]=c[g>>2];c[c[k>>2]>>2]=1;k=c[k>>2]|0;i=l;return k|0}else{a[(c[g>>2]|0)+64>>0]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function Kr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function Lr(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Mr(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+140+5>>0]=1;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=Nr(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)Or(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=Nr(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)Or(c[f>>2]|0,1);a[(c[f>>2]|0)+140+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}Pr(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function Nr(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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+160|0;C=G+24|0;B=G+8|0;A=G+16|0;m=G;p=G+40|0;q=G+48|0;r=G+36|0;s=G+64|0;y=G+56|0;k=G+44|0;z=G+140|0;l=G+32|0;x=G+60|0;j=G+72|0;v=G+88|0;u=G+112|0;n=G+128|0;E=G+132|0;w=G+136|0;t=G+148|0;F=G+52|0;D=G+144|0;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[w>>2]=0;if((c[r>>2]|0)==1)c[n>>2]=22488;else c[n>>2]=22602;c[E>>2]=(c[r>>2]|0)==1?19269:19288;c[j>>2]=c[E>>2];c[j+4>>2]=22706;c[j+8>>2]=c[n>>2];c[j+12>>2]=0;c[u>>2]=c[q>>2];c[u+8>>2]=c[r>>2];c[u+12>>2]=0;c[u+4>>2]=c[s>>2];Qr(u,3,j,0)|0;if(!(c[u+12>>2]|0)){c[l>>2]=cp(c[q>>2]|0,c[E>>2]|0,c[(c[(c[q>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2]|0)|0;if(c[l>>2]|0){n=(c[l>>2]|0)+44|0;a[n>>0]=d[n>>0]|1}c[x>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(c[r>>2]<<4);if(!(c[(c[x>>2]|0)+4>>2]|0)){if((c[r>>2]|0)==1){F=(c[(c[(c[q>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[F>>1]=e[F>>1]|1}c[p>>2]=0;F=c[p>>2]|0;i=G;return F|0}fe(c[(c[x>>2]|0)+4>>2]|0);do if(!(je(c[(c[x>>2]|0)+4>>2]|0)|0)){c[y>>2]=he(c[(c[x>>2]|0)+4>>2]|0,0)|0;if(c[y>>2]|0){E=c[s>>2]|0;F=c[q>>2]|0;c[m>>2]=af(c[y>>2]|0)|0;Ym(E,F,14418,m);break}else{c[w>>2]=1;o=16;break}}else o=16;while(0);a:do if((o|0)==16){c[k>>2]=0;while(1){if((c[k>>2]|0)>=5)break;ie(c[(c[x>>2]|0)+4>>2]|0,(c[k>>2]|0)+1|0,v+(c[k>>2]<<2)|0);c[k>>2]=(c[k>>2]|0)+1}c[c[(c[x>>2]|0)+12>>2]>>2]=c[v>>2];f=c[r>>2]|0;do if(c[v+16>>2]|0){j=c[v+16>>2]|0;if(!f){A=j&3;a[t>>0]=A;a[t>>0]=(d[t>>0]|0)==0?1:A;a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=a[t>>0]|0;break}if((j|0)!=(d[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0)){Ym(c[s>>2]|0,c[q>>2]|0,22708,A);c[y>>2]=1;break a}}else{A=(c[(c[(c[q>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[A>>1]=e[A>>1]|4}while(0);a[(c[(c[x>>2]|0)+12>>2]|0)+77>>0]=a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;if(!(c[(c[(c[x>>2]|0)+12>>2]|0)+80>>2]|0)){A=Rr(c[v+8>>2]|0)|0;c[z>>2]=A;c[z>>2]=(c[z>>2]|0)==0?2e3:A;c[(c[(c[x>>2]|0)+12>>2]|0)+80>>2]=c[z>>2];Sr(c[(c[x>>2]|0)+4>>2]|0,c[(c[(c[x>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[x>>2]|0)+12>>2]|0)+76>>0]=c[v+4>>2];if(!(d[(c[(c[x>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[x>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[x>>2]|0)+12>>2]|0)+76>>0]|0)>4){Ym(c[s>>2]|0,c[q>>2]|0,22776,B);c[y>>2]=1;break}if((c[r>>2]|0)==0?(c[v+4>>2]|0)>=4:0){B=(c[q>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[q>>2]|0;E=c[E>>2]|0;c[C>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[C+4>>2]=E;c[F>>2]=tf(B,22800,C)|0;c[D>>2]=c[(c[q>>2]|0)+284>>2];c[(c[q>>2]|0)+284>>2]=0;c[y>>2]=Zc(c[q>>2]|0,c[F>>2]|0,7,u,0)|0;c[(c[q>>2]|0)+284>>2]=c[D>>2];if(!(c[y>>2]|0))c[y>>2]=c[u+12>>2];Nd(c[q>>2]|0,c[F>>2]|0);if(!(c[y>>2]|0))Tr(c[q>>2]|0,c[r>>2]|0)|0;if(a[(c[q>>2]|0)+64>>0]|0){c[y>>2]=7;ue(c[q>>2]|0)}if((c[y>>2]|0)!=0?(c[(c[q>>2]|0)+24>>2]&65536|0)==0:0)break;F=(c[(c[(c[q>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]|0)+78|0;b[F>>1]=e[F>>1]|1;c[y>>2]=0}while(0);if(c[w>>2]|0)Ur(c[(c[x>>2]|0)+4>>2]|0)|0}else c[y>>2]=c[u+12>>2];if((c[y>>2]|0)==7|(c[y>>2]|0)==3082)a[(c[q>>2]|0)+64>>0]=1;c[p>>2]=c[y>>2];F=c[p>>2]|0;i=G;return F|0}function Or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);_i(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;_i(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function Pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function Qr(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,q=0,r=0,s=0;r=i;i=i+48|0;j=r+36|0;s=r+16|0;k=r+28|0;n=r+40|0;l=r+12|0;m=r+24|0;q=r+20|0;p=r+8|0;o=r+4|0;c[s>>2]=d;c[r>>2]=f;c[k>>2]=g;c[r+32>>2]=h;c[n>>2]=c[s>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+64>>0]|0){Yr(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;s=c[j>>2]|0;i=r;return s|0}if(!(c[k>>2]|0)){c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}do if(c[(c[k>>2]|0)+4>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0){a[(c[l>>2]|0)+140+4>>0]=c[m>>2];s=vg(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+140>>2]=s;a[(c[l>>2]|0)+140+6>>0]=0;ad(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+140+4>>0]=0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+140+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){a[(c[l>>2]|0)+64>>0]=1;break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){q=c[n>>2]|0;s=c[c[k>>2]>>2]|0;Yr(q,s,$c(c[l>>2]|0)|0)}}while(0);ec(c[p>>2]|0)|0;break}if(!(c[c[k>>2]>>2]|0)){Yr(c[n>>2]|0,0,0);break}c[o>>2]=yp(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if((c[o>>2]|0)!=0?(wg(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)==0:0)Yr(c[n>>2]|0,c[c[k>>2]>>2]|0,22917)}else Yr(c[n>>2]|0,c[c[k>>2]>>2]|0,0);while(0);c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}function Rr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);mj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Tr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+28|0;f=o+24|0;g=o+8|0;l=o+16|0;h=o+4|0;n=o+12|0;k=o+32|0;j=o+36|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];Vr(c[j>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[l>>2]=c[f>>2];c[l+4>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(cp(c[f>>2]|0,22436,c[l+4>>2]|0)|0)){c[e>>2]=1;n=c[e>>2]|0;i=o;return n|0}j=c[f>>2]|0;c[m>>2]=c[l+4>>2];c[n>>2]=tf(j,22855,m)|0;if(!(c[n>>2]|0))c[k>>2]=7;else{c[k>>2]=Zc(c[f>>2]|0,c[n>>2]|0,8,l,0)|0;Nd(c[f>>2]|0,c[n>>2]|0)}if((c[k>>2]|0)==7)a[(c[f>>2]|0)+64>>0]=1;c[e>>2]=c[k>>2];n=c[e>>2]|0;i=o;return n|0}function Ur(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;fe(c[b>>2]|0);c[d>>2]=Fe(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Ee(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Vr(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[5837]|0;b[h+2>>1]=b[5838]|0;b[h+4>>1]=b[5839]|0;b[h+6>>1]=b[5840]|0;b[h+8>>1]=b[5841]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+28>>1]|0;if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;EH((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Wr(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,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+4|0;t=s+16|0;k=s;p=s+96|0;o=s+100|0;q=s+24|0;r=s+20|0;n=s+8|0;l=s+12|0;m=s+32|0;c[t>>2]=d;c[s+92>>2]=f;c[k>>2]=g;c[s+88>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=cp(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!($b(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Lr(c[q>>2]|0)|0;break}else{c[o>>2]=yp(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;c[l>>2]=0;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Xr(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+28>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+42>>1]|0;Xr(c[r>>2]|0,1,0,(c[q>>2]|0)+28|0,m);b[(c[q>>2]|0)+42>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Xr(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;q=i;i=i+48|0;r=q+28|0;j=q+16|0;k=q+8|0;l=q+32|0;p=q;m=q+12|0;n=q+24|0;o=q+20|0;c[r>>2]=d;c[j>>2]=e;c[q+4>>2]=f;c[k>>2]=g;c[l>>2]=h;c[p>>2]=c[r>>2];c[n>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[n>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[m>>2]=r;if(!((r|0)>=48?(c[m>>2]|0)<=57:0))break;c[o>>2]=((c[o>>2]|0)*10|0)+(c[m>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Qp(c[o>>2]|0,0)|0;b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}a:while(1){if(!(a[c[p>>2]>>0]|0))break;if(Yc(22896,c[p>>2]|0)|0){if(!(Yc(22907,c[p>>2]|0)|0)){r=vg((c[p>>2]|0)+3|0)|0;r=Qp(r,((r|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+48>>1]=r}}else{r=(c[l>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Yr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+8|0;l=n;g=n+28|0;h=n+24|0;j=n+20|0;k=n+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+64>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=22934;f=c[(c[g>>2]|0)+4>>2]|0;e=c[k>>2]|0;c[l>>2]=c[h>>2];Ym(f,e,22936,l);if(c[j>>2]|0){f=c[k>>2]|0;e=c[c[(c[g>>2]|0)+4>>2]>>2]|0;l=c[j>>2]|0;c[m>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];c[m+4>>2]=l;e=Zr(f,e,22967,m)|0;c[c[(c[g>>2]|0)+4>>2]>>2]=e}}if(d[(c[k>>2]|0)+64>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=n;return}f=Rk(103217)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=n;return}function Zr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+48|0;j=g+32|0;h=g+28|0;l=g+24|0;k=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=fn(c[j>>2]|0,c[l>>2]|0,k)|0;Nd(c[j>>2]|0,c[h>>2]|0);i=g;return c[f>>2]|0}function _r(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;j=l+20|0;g=l+24|0;f=l+4|0;h=l;k=l+12|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];$r(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function $r(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(ht(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=vf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+68>>2]|0)|0;$o(c[e>>2]|0,0,c[h>>2]|0);as(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function as(a,b,f){a=a|0;b=b|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;x=i;i=i+80|0;n=x+60|0;o=x+44|0;g=x+24|0;l=x+28|0;t=x+12|0;r=x+40|0;s=x+48|0;p=x+56|0;q=x+64|0;m=x+8|0;j=x+4|0;w=x+32|0;k=x;v=x+16|0;y=x+36|0;h=x+20|0;u=x+52|0;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+68|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=vf(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(Mo(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}vr(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+32>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=Po(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=Ir(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+68|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;To(b,58,a,0,y,Kr(c[k>>2]|0)|0,-6)|0;wr(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,54);c[p>>2]=Ro(c[w>>2]|0,108,c[t>>2]|0,0)|0;c[v>>2]=Wo(c[n>>2]|0)|0;bs(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;Ro(c[w>>2]|0,109,c[s>>2]|0,c[v>>2]|0)|0;cs(c[n>>2]|0,c[j>>2]|0);Ro(c[w>>2]|0,9,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;jp(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)Ro(c[w>>2]|0,118,c[m>>2]|0,c[h>>2]|0)|0;To(c[w>>2]|0,55,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;xf(c[w>>2]|0,(1|((c[g>>2]|0)>=0?2:0))&255);c[p>>2]=Ro(c[w>>2]|0,106,c[s>>2]|0,0)|0;y=(c[k>>2]|0)!=0?(d[(c[o>>2]|0)+54>>0]|0|0)!=0:0;g=yr(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Ro(c[w>>2]|0,16,0,c[u>>2]|0)|0;c[q>>2]=yr(c[w>>2]|0)|0;wf(c[w>>2]|0,99,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;ds(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;Uo(c[w>>2]|0,100,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;Uo(c[w>>2]|0,110,c[r>>2]|0,c[v>>2]|0,1)|0;xf(c[w>>2]|0,16);Xo(c[n>>2]|0,c[v>>2]|0);Ro(c[w>>2]|0,5,c[s>>2]|0,c[q>>2]|0)|0;jp(c[w>>2]|0,c[p>>2]|0);ur(c[w>>2]|0,61,c[t>>2]|0)|0;ur(c[w>>2]|0,61,c[r>>2]|0)|0;ur(c[w>>2]|0,61,c[s>>2]|0)|0;i=x;return}function bs(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;z=i;i=i+64|0;o=z+44|0;p=z+36|0;q=z+20|0;r=z+16|0;m=z+32|0;n=z+40|0;s=z+48|0;t=z+8|0;y=z+4|0;u=z+24|0;w=z+12|0;x=z+28|0;v=z;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[y>>2]=c[(c[o>>2]|0)+8>>2];c[w>>2]=c[(c[p>>2]|0)+12>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=zr(c[y>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+96>>2]=c[q>>2];ns(c[o>>2]|0);os(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[x>>2]=ps(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[x>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)){qs(c[y>>2]|0,c[w>>2]|0,c[q>>2]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0,(c[x>>2]|0)+(c[u>>2]|0)|0);rs(c[y>>2]|0,39)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){u=c[o>>2]|0;w=c[x>>2]|0;y=c[v>>2]|0;ss(u,w,y);y=c[x>>2]|0;i=z;return y|0}Uo(c[y>>2]|0,49,c[x>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;u=c[o>>2]|0;w=c[x>>2]|0;y=c[v>>2]|0;ss(u,w,y);y=c[x>>2]|0;i=z;return y|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Br(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);ls(c[d>>2]|0);i=f;return}function ds(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;q=i;i=i+64|0;h=q+28|0;j=q+40|0;k=q+32|0;p=q+44|0;m=q+52|0;l=q;n=q+36|0;o=q+48|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];Zd(l,0,0,200);c[l>>2]=c[c[h>>2]>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[o>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0)*24|0)>>2];if(c[m>>2]|0)es(l,23021,2);fs(l,c[c[n>>2]>>2]|0);es(l,23024,1);fs(l,c[o>>2]|0);c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=$d(l)|0;gs(c[h>>2]|0,(a[(c[k>>2]|0)+55>>0]&3|0)==2?1555:2067,c[j>>2]|0,c[p>>2]|0,-1,2);i=q;return}function es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>=(c[(c[e>>2]|0)+16>>2]|0)){hs(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);EH((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function fs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;es(a,b,Ed(c[e>>2]|0)|0);i=d;return}function gs(b,d,e,f,g,h){b=b|0;d=d|0;e=e|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,q=0;q=i;i=i+32|0;j=q;k=q+8|0;l=q+4|0;m=q+16|0;n=q+20|0;o=q+21|0;p=q+12|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=Po(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Cp(c[j>>2]|0);To(c[p>>2]|0,24,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;if(!(a[o>>0]|0)){i=q;return}xf(c[p>>2]|0,a[o>>0]|0);i=q;return}function hs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=is(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}EH((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function is(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m;c[g>>2]=b;c[h>>2]=e;if(a[(c[g>>2]|0)+25>>0]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}e=c[g>>2]|0;if(!(a[(c[g>>2]|0)+24>>0]|0)){c[h>>2]=(c[e+16>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)-1;js(c[g>>2]|0,2);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=m;return l|0}if((c[e+8>>2]|0)==(c[(c[g>>2]|0)+4>>2]|0))e=0;else e=c[(c[g>>2]|0)+8>>2]|0;c[l>>2]=e;e=c[(c[g>>2]|0)+12>>2]|0;o=j;c[o>>2]=e;c[o+4>>2]=((e|0)<0)<<31>>31;o=(c[h>>2]|0)+1|0;e=j;o=DH(c[e>>2]|0,c[e+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=o;c[e+4>>2]=C;e=j;o=c[e+4>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;n=((b|0)<0)<<31>>31;if((o|0)>(n|0)|((o|0)==(n|0)?(c[e>>2]|0)>>>0>b>>>0:0)){ks(c[g>>2]|0);js(c[g>>2]|0,2);c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}c[(c[g>>2]|0)+16>>2]=c[j>>2];if((d[(c[g>>2]|0)+24>>0]|0)==1){o=c[(c[g>>2]|0)+16>>2]|0;c[k>>2]=hm(c[c[g>>2]>>2]|0,c[l>>2]|0,o,((o|0)<0)<<31>>31)|0}else c[k>>2]=Tb(c[l>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0)){ks(c[g>>2]|0);js(c[g>>2]|0,1);c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+12>>2]|0)>0:0)EH(c[k>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=c[k>>2];c[f>>2]=c[h>>2];o=c[f>>2]|0;i=m;return o|0}function js(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+25>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function ks(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;do if((c[(c[b>>2]|0)+8>>2]|0)!=(c[(c[b>>2]|0)+4>>2]|0)){a=c[b>>2]|0;if((d[(c[b>>2]|0)+24>>0]|0|0)==1){Nd(c[a>>2]|0,c[(c[b>>2]|0)+8>>2]|0);break}else{Sb(c[a+8>>2]|0);break}}while(0);c[(c[b>>2]|0)+8>>2]=0;i=e;return}function ls(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=(c[b>>2]|0)+100|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+116;while(1){if((c[d>>2]|0)>=10)break;if((c[(c[e>>2]|0)+12>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)>(c[(c[b>>2]|0)+100>>2]|0):0){ms(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function ms(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(a[(c[g>>2]|0)+6>>0]|0)){i=h;return}if((d[(c[f>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+24+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0;i=h;return}function ns(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+100|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function os(a,b,e,f){a=a|0;b=b|0;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;t=i;i=i+48|0;g=t+4|0;h=t+16|0;j=t+36|0;k=t;s=t+32|0;n=t+40|0;q=t+44|0;r=t+24|0;o=t+20|0;p=t+8|0;l=t+12|0;m=t+28|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=t;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 72:{os(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);ns(c[g>>2]|0);os(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);ls(c[g>>2]|0);break}case 71:{c[l>>2]=zr(c[s>>2]|0)|0;xs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);ns(c[g>>2]|0);os(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Br(c[s>>2]|0,c[l>>2]|0);ls(c[g>>2]|0);break}case 19:{xs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[o>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;zs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}case 148:case 73:{c[o>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;c[n>>2]=(d[c[h>>2]>>0]|0|0)==73?78:79;zs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,128)|0;break}case 77:case 76:{c[o>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;Ro(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 74:{As(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);break}case 75:if(c[k>>2]|0){Bs(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=zr(c[s>>2]|0)|0;Bs(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);Br(c[s>>2]|0,c[m>>2]|0);break a}default:{if($q(c[h>>2]|0)|0){Ro(c[s>>2]|0,16,0,c[j>>2]|0)|0;break a}if(!(Cs(c[h>>2]|0)|0)){c[o>>2]=ys(c[g>>2]|0,c[h>>2]|0,q)|0;Uo(c[s>>2]|0,46,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);Xo(c[g>>2]|0,c[q>>2]|0);Xo(c[g>>2]|0,c[r>>2]|0);i=t;return}function ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+60>>2];c[h>>2]=c[(c[d>>2]|0)+56>>2];if((c[e>>2]|0)<=(c[h>>2]|0)){h=(c[d>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=(c[d>>2]|0)+56|0;c[h>>2]=(c[h>>2]|0)-(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}else{c[f>>2]=(c[(c[d>>2]|0)+72>>2]|0)+1;h=(c[d>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}return 0}function qs(a,e,f,g,h){a=a|0;e=e|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,q=0;q=i;i=i+32|0;j=q+8|0;k=q+16|0;l=q+20|0;m=q+24|0;n=q+4|0;o=q;p=q+12|0;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+36>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+44>>0]&16|0)!=0?148:47;c[p>>2]=c[m>>2];if(d[(c[k>>2]|0)+44>>0]&32){a=Lr(c[k>>2]|0)|0;c[p>>2]=(us(a,c[m>>2]&65535)|0)<<16>>16}Uo(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else Ro(c[j>>2]|0,103,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}vs(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function rs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if(((c[(c[g>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[g>>2]|0)+24>>2]|0)+88>>2]|0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){Ef(c[g>>2]|0,(c[(c[g>>2]|0)+32>>2]|0)-1|0);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;ts(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+56>>2]|0)){i=h;return}c[(c[e>>2]|0)+56>>2]=c[g>>2];c[(c[e>>2]|0)+60>>2]=c[f>>2];i=h;return}function ts(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,l=0,m=0;l=i;i=i+32|0;e=l+8|0;f=l+16|0;m=l+20|0;g=l+24|0;h=l+4|0;j=l;k=l+12|0;c[e>>2]=a;c[f>>2]=b;c[m>>2]=d;c[h>>2]=(c[f>>2]|0)+(c[m>>2]|0)-1;c[g>>2]=0;c[j>>2]=(c[e>>2]|0)+116;while(1){if((c[g>>2]|0)>=10)break;c[k>>2]=c[(c[j>>2]|0)+12>>2];if((c[k>>2]|0)>=(c[f>>2]|0)?(c[k>>2]|0)<=(c[h>>2]|0):0){ms(c[e>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+12>>2]=0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=l;return}function us(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){a=6;break}d=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=4;break}c[h>>2]=d+1}if((a|0)==4){b[j>>1]=d;j=b[j>>1]|0;i=k;return j|0}else if((a|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function vs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+4|0;h=o+12|0;j=o+8|0;k=o+20|0;n=o;l=o+24|0;m=o+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(c[(c[(ws(c[g>>2]|0)|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0);b=ws(c[g>>2]|0)|0;dp(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+21>>0]|0,n)|0;if(c[n>>2]|0)Df(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0)+21>>0]|0)!=69){i=o;return}ur(c[g>>2]|0,39,c[k>>2]|0)|0;i=o;return}function ws(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function xs(a,b,e,f){a=a|0;b=b|0;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;u=i;i=i+64|0;g=u+44|0;h=u+36|0;j=u+20|0;k=u+16|0;t=u+32|0;o=u+40|0;r=u+48|0;s=u+8|0;p=u+4|0;q=u+24|0;l=u+12|0;m=u+28|0;n=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[o>>2]=d[c[h>>2]>>0];a:do switch(c[o>>2]|0){case 72:{c[l>>2]=zr(c[t>>2]|0)|0;os(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);ns(c[g>>2]|0);xs(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Br(c[t>>2]|0,c[l>>2]|0);ls(c[g>>2]|0);break}case 71:{xs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);ns(c[g>>2]|0);xs(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);ls(c[g>>2]|0);break}case 19:{os(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;zs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}case 148:case 73:{c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;zs(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,128)|0;break}case 77:case 76:{c[p>>2]=ys(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;Ro(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 74:{As(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1,c[k>>2]|0);break}case 75:{c[m>>2]=zr(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;Bs(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Ro(c[t>>2]|0,16,0,c[j>>2]|0)|0;Br(c[t>>2]|0,c[m>>2]|0);break}default:{if(Cs(c[h>>2]|0)|0){Ro(c[t>>2]|0,16,0,c[j>>2]|0)|0;break a}if(!($q(c[h>>2]|0)|0)){c[p>>2]=ys(c[g>>2]|0,c[h>>2]|0,r)|0;Uo(c[t>>2]|0,45,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);Xo(c[g>>2]|0,c[r>>2]|0);Xo(c[g>>2]|0,c[s>>2]|0);i=u;return}function ys(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+28|0;g=q+16|0;h=q+4|0;j=q+8|0;o=q+32|0;l=q;k=q+12|0;m=q+24|0;n=q+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=Vp(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=159:0)?(gt(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+316>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(oq(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+72|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;Vs(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=Wo(c[g>>2]|0)|0;c[o>>2]=Hs(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{Xo(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function zs(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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,u=0,v=0;l=i;i=i+48|0;n=l+36|0;v=l+16|0;u=l;s=l+28|0;p=l+32|0;r=l+40|0;q=l+12|0;t=l+24|0;m=l+20|0;k=l+8|0;o=l+4|0;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=Ts(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(ft(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=To(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;xf(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function As(b,d,e,f,g){b=b|0;d=d|0;e=e|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;s=i;i=i+224|0;o=s;h=s+64|0;m=s+168|0;p=s+4|0;n=s+172|0;q=s+176|0;j=s+16|0;k=s+120|0;l=s+72|0;r=s+8|0;c[o>>2]=b;c[h>>2]=d;c[m>>2]=e;c[p>>2]=f;c[n>>2]=g;c[r>>2]=0;e=l;g=c[(c[h>>2]|0)+12>>2]|0;f=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(f|0));a[q>>0]=72;c[q+12>>2]=j;c[q+16>>2]=k;a[j>>0]=83;c[j+12>>2]=l;c[j+16>>2]=c[c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]>>2];a[k>>0]=81;c[k+12>>2]=l;c[k+16>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];Qs(l,ys(c[o>>2]|0,l,r)|0);e=c[o>>2]|0;g=c[m>>2]|0;f=c[n>>2]|0;if(c[p>>2]|0){xs(e,q,g,f);q=c[o>>2]|0;r=c[r>>2]|0;Xo(q,r);i=s;return}else{os(e,q,g,f);q=c[o>>2]|0;r=c[r>>2]|0;Xo(q,r);i=s;return}}function Bs(b,d,e,f){b=b|0;d=d|0;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;z=i;i=i+80|0;s=z+8|0;r=z+24|0;t=z+44|0;u=z+52|0;x=z+12|0;p=z+68|0;q=z+48|0;w=z+56|0;y=z+60|0;k=z+64|0;j=z+4|0;h=z+32|0;l=z;n=z+16|0;m=z+36|0;g=z+20|0;o=z+28|0;v=z+40|0;c[s>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[x>>2]=0;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[q>>2]=Ds(c[s>>2]|0,c[r>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:x)|0;a[p>>0]=Es(c[r>>2]|0)|0;ns(c[s>>2]|0);c[w>>2]=Wo(c[s>>2]|0)|0;Fs(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[w>>2]|0);e=c[r>>2]|0;if((c[q>>2]|0)!=5){do if(Gs(c[e+12>>2]|0)|0){e=c[y>>2]|0;f=c[w>>2]|0;if((c[u>>2]|0)==(c[t>>2]|0)){Ro(e,76,f,c[u>>2]|0)|0;break}else{c[o>>2]=ur(e,77,f)|0;Ro(c[y>>2]|0,108,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0)|0;Ro(c[y>>2]|0,16,0,c[u>>2]|0)|0;jp(c[y>>2]|0,c[o>>2]|0);break}}while(0);e=c[y>>2]|0;f=c[w>>2]|0;if((c[q>>2]|0)==1){Ro(e,38,f,c[t>>2]|0)|0;Uo(c[y>>2]|0,70,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;x=c[s>>2]|0;y=c[w>>2]|0;Xo(x,y);y=c[s>>2]|0;ls(y);i=z;return}To(e,48,f,1,0,p,1)|0;e=c[y>>2]|0;f=c[(c[r>>2]|0)+28>>2]|0;if(!(c[x>>2]|0)){wf(e,68,f,c[t>>2]|0,c[w>>2]|0,1)|0;x=c[s>>2]|0;y=c[w>>2]|0;Xo(x,y);y=c[s>>2]|0;ls(y);i=z;return}else{c[v>>2]=wf(e,69,f,0,c[w>>2]|0,1)|0;Ro(c[y>>2]|0,76,c[x>>2]|0,c[u>>2]|0)|0;Ro(c[y>>2]|0,16,0,c[t>>2]|0)|0;jp(c[y>>2]|0,c[v>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;Xo(x,y);y=c[s>>2]|0;ls(y);i=z;return}}c[k>>2]=c[e+20>>2];c[j>>2]=Pp(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0)|0;c[h>>2]=zr(c[y>>2]|0)|0;c[m>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[m>>2]=Wo(c[s>>2]|0)|0;Uo(c[y>>2]|0,85,c[w>>2]|0,c[w>>2]|0,c[m>>2]|0)|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[l>>2]=ys(c[s>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,n)|0;if((c[m>>2]|0)!=0?(Gs(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)!=0:0)Uo(c[y>>2]|0,85,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)>=((c[c[k>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){To(c[y>>2]|0,78,c[w>>2]|0,c[t>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;xf(c[y>>2]|0,(a[p>>0]|16)&255)}else{To(c[y>>2]|0,79,c[w>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;xf(c[y>>2]|0,a[p>>0]|0)}Xo(c[s>>2]|0,c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[m>>2]|0){Ro(c[y>>2]|0,76,c[m>>2]|0,c[u>>2]|0)|0;Ro(c[y>>2]|0,16,0,c[t>>2]|0)|0}Br(c[y>>2]|0,c[h>>2]|0);Xo(c[s>>2]|0,c[m>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;Xo(x,y);y=c[s>>2]|0;ls(y);i=z;return}function Cs(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(jq(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function Ds(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;l=F+36|0;m=F+24|0;n=F+44|0;o=F+60|0;k=F+12|0;r=F+16|0;w=F+48|0;x=F+56|0;E=F+64|0;q=F+68|0;B=F+72|0;y=F+8|0;u=F+76|0;v=F+78|0;s=F+40|0;z=F+20|0;A=F+52|0;p=F+28|0;t=F+32|0;D=F+4|0;C=F;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[r>>2]=0;g=(c[l>>2]|0)+68|0;j=c[g>>2]|0;c[g>>2]=j+1;c[w>>2]=j;c[E>>2]=Po(c[l>>2]|0)|0;c[x>>2]=(c[n>>2]&4|0)!=0&1;if(c[(c[m>>2]|0)+4>>2]&2048)h=c[(c[m>>2]|0)+20>>2]|0;else h=0;c[k>>2]=h;a:do if((c[(c[l>>2]|0)+64>>2]|0)==0?(ct(c[k>>2]|0)|0)!=0:0){c[q>>2]=c[c[l>>2]>>2];c[B>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+8+16>>2];c[y>>2]=c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2];b[u>>1]=b[(c[y>>2]|0)+32>>1]|0;b[v>>1]=vf(c[q>>2]|0,c[(c[B>>2]|0)+68>>2]|0)|0;ap(c[l>>2]|0,b[v>>1]|0);vr(c[l>>2]|0,b[v>>1]|0,c[(c[B>>2]|0)+32>>2]|0,0,c[c[B>>2]>>2]|0);h=c[l>>2]|0;if((b[u>>1]|0)<0){c[s>>2]=Rs(h)|0;wr(c[l>>2]|0,c[w>>2]|0,b[v>>1]|0,c[B>>2]|0,54);c[r>>2]=1;jp(c[E>>2]|0,c[s>>2]|0);break}c[A>>2]=Ts(h,c[(c[m>>2]|0)+12>>2]|0,c[y>>2]|0)|0;c[p>>2]=dt(c[m>>2]|0,a[(c[(c[B>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+21>>0]|0)|0;c[z>>2]=c[(c[B>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0&(c[r>>2]|0)==0&(c[p>>2]|0)!=0))break a;do if((b[c[(c[z>>2]|0)+4>>2]>>1]|0)==(b[u>>1]|0)?(y=Xg(c[q>>2]|0,a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[c[(c[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(c[A>>2]|0)):0){if(c[x>>2]|0){if((e[(c[z>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[z>>2]|0)+54>>0]|0))break}c[t>>2]=Rs(c[l>>2]|0)|0;Uo(c[E>>2]|0,54,c[w>>2]|0,c[(c[z>>2]|0)+44>>2]|0,b[v>>1]|0)|0;xr(c[l>>2]|0,c[z>>2]|0);c[r>>2]=3+(d[c[(c[z>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(a[(c[(c[B>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+20>>0]|0)==0:0){s=(c[l>>2]|0)+72|0;y=(c[s>>2]|0)+1|0;c[s>>2]=y;c[c[o>>2]>>2]=y;Us(c[E>>2]|0,c[w>>2]|0,c[c[o>>2]>>2]|0)}jp(c[E>>2]|0,c[t>>2]|0)}while(0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}}while(0);do if(((c[r>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((et(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[r>>2]=5}while(0);if(c[r>>2]|0){c[(c[m>>2]|0)+28>>2]=c[w>>2];E=c[r>>2]|0;i=F;return E|0}c[D>>2]=c[(c[l>>2]|0)+424>>2];c[C>>2]=0;c[r>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+424>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[r>>2]=1}else if(c[o>>2]|0){B=(c[l>>2]|0)+72|0;E=(c[B>>2]|0)+1|0;c[B>>2]=E;c[C>>2]=E;c[c[o>>2]>>2]=E}Ps(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,(c[r>>2]|0)==1&1)|0;c[(c[l>>2]|0)+424>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function Es(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=Op(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=bt(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=bt(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function Fs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==159:0){Ro(c[(c[f>>2]|0)+8>>2]|0,33,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=Hs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}Ro(c[(c[f>>2]|0)+8>>2]|0,34,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function Gs(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==158)f=1;else f=(d[c[g>>2]>>0]|0)==157;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==159)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 134:case 133:case 97:case 132:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 154:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+32>>1]|0)*24|0)+20>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function Hs(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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=i;i=i+320|0;C=la+16|0;H=la;B=la+8|0;da=la+232|0;ea=la+132|0;J=la+168|0;fa=la+140|0;ja=la+136|0;o=la+36|0;ga=la+40|0;ha=la+44|0;ia=la+48|0;R=la+52|0;y=la+56|0;z=la+60|0;A=la+68|0;L=la+64|0;U=la+72|0;q=la+120|0;r=la+124|0;m=la+128|0;n=la+220|0;D=la+228|0;E=la+236|0;u=la+244|0;l=la+296|0;s=la+152|0;T=la+300|0;S=la+160|0;Q=la+164|0;G=la+240|0;I=la+172|0;K=la+176|0;O=la+180|0;F=la+304|0;P=la+188|0;M=la+192|0;N=la+305|0;k=la+200|0;j=la+204|0;v=la+208|0;t=la+212|0;w=la+24|0;x=la+148|0;p=la+20|0;W=la+156|0;Z=la+32|0;Y=la+216|0;X=la+224|0;aa=la+28|0;V=la+144|0;$=la+248|0;ca=la+196|0;ba=la+184|0;c[ea>>2]=f;c[J>>2]=g;c[fa>>2]=h;c[ja>>2]=c[(c[ea>>2]|0)+8>>2];c[ga>>2]=c[fa>>2];c[ha>>2]=0;c[ia>>2]=0;c[L>>2]=c[c[ea>>2]>>2];if(!(c[ja>>2]|0)){c[da>>2]=0;ka=c[da>>2]|0;i=la;return ka|0}if(!(c[J>>2]|0))c[o>>2]=101;else c[o>>2]=d[c[J>>2]>>0];a:do switch(c[o>>2]|0){case 156:{c[q>>2]=c[(c[J>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[J>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[ga>>2]=c[(c[r>>2]|0)+16>>2];break a}if(a[(c[q>>2]|0)+1>>0]|0)Uo(c[ja>>2]|0,47,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;else ka=11;break}case 154:{ka=11;break}case 132:{Js(c[ea>>2]|0,c[J>>2]|0,0,c[fa>>2]|0);break}case 133:{Ks(c[ja>>2]|0,c[(c[J>>2]|0)+8>>2]|0,0,c[fa>>2]|0);break}case 97:{To(c[ja>>2]|0,97,0,c[fa>>2]|0,0,c[(c[J>>2]|0)+8>>2]|0,0)|0;break}case 101:{Ro(c[ja>>2]|0,28,0,c[fa>>2]|0)|0;break}case 134:{c[D>>2]=(c[(c[J>>2]|0)+8>>2]|0)+2;c[n>>2]=(Ed(c[D>>2]|0)|0)-1;c[E>>2]=qp(ws(c[ja>>2]|0)|0,c[D>>2]|0,c[n>>2]|0)|0;To(c[ja>>2]|0,30,(c[n>>2]|0)/2|0,c[fa>>2]|0,0,c[E>>2]|0,-1)|0;break}case 135:{Ro(c[ja>>2]|0,31,b[(c[J>>2]|0)+32>>1]|0,c[fa>>2]|0)|0;if(a[(c[(c[J>>2]|0)+8>>2]|0)+1>>0]|0)Df(c[ja>>2]|0,-1,c[(c[(c[ea>>2]|0)+472>>2]|0)+((b[(c[J>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 159:{c[ga>>2]=c[(c[J>>2]|0)+28>>2];break}case 24:{c[ga>>2]=Hs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;break}case 38:{c[ga>>2]=Hs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;if((c[ga>>2]|0)!=(c[fa>>2]|0)){Ro(c[ja>>2]|0,34,c[ga>>2]|0,c[fa>>2]|0)|0;c[ga>>2]=c[fa>>2]}Ro(c[ja>>2]|0,40,c[fa>>2]|0,(lp(c[(c[J>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;Ls(c[ea>>2]|0,c[ga>>2]|0,1);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;zs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[(c[J>>2]|0)+16>>2]|0,c[o>>2]|0,c[R>>2]|0,c[y>>2]|0,c[ga>>2]|0,32)|0;break}case 148:case 73:{c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;zs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[(c[J>>2]|0)+16>>2]|0,c[o>>2]|0,c[R>>2]|0,c[y>>2]|0,c[ga>>2]|0,160)|0;break}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;Uo(c[ja>>2]|0,c[o>>2]|0,c[y>>2]|0,c[R>>2]|0,c[fa>>2]|0)|0;break}case 157:{c[u>>2]=c[(c[J>>2]|0)+12>>2];do if((d[c[u>>2]>>0]|0)!=132)if((d[c[u>>2]>>0]|0)==133){Ks(c[ja>>2]|0,c[(c[u>>2]|0)+8>>2]|0,1,c[fa>>2]|0);break}else{a[U>>0]=-124;c[U+4>>2]=17408;c[U+8>>2]=0;c[R>>2]=ys(c[ea>>2]|0,U,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ia)|0;Uo(c[ja>>2]|0,90,c[y>>2]|0,c[R>>2]|0,c[fa>>2]|0)|0;break}else Js(c[ea>>2]|0,c[u>>2]|0,1,c[fa>>2]|0);while(0);c[ga>>2]=c[fa>>2];break}case 19:case 96:{c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[ga>>2]=c[fa>>2];Ro(c[ja>>2]|0,c[o>>2]|0,c[R>>2]|0,c[ga>>2]|0)|0;break}case 77:case 76:{Ro(c[ja>>2]|0,25,1,c[fa>>2]|0)|0;c[R>>2]=ys(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[l>>2]=ur(c[ja>>2]|0,c[o>>2]|0,c[R>>2]|0)|0;Ro(c[ja>>2]|0,25,0,c[fa>>2]|0)|0;jp(c[ja>>2]|0,c[l>>2]|0);break}case 155:{c[s>>2]=c[(c[J>>2]|0)+40>>2];if(!(c[s>>2]|0)){ja=c[ea>>2]|0;c[B>>2]=c[(c[J>>2]|0)+8>>2];sf(ja,23026,B);break a}else{c[ga>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[J>>2]|0)+34>>1]<<4)+8>>2];break a}}case 153:{c[K>>2]=0;a[F>>0]=a[(c[(c[(c[L>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[P>>2]=0;if(c[(c[J>>2]|0)+4>>2]&16384)c[T>>2]=0;else c[T>>2]=c[(c[J>>2]|0)+20>>2];if(c[T>>2]|0)l=c[c[T>>2]>>2]|0;else l=0;c[S>>2]=l;c[I>>2]=c[(c[J>>2]|0)+8>>2];c[G>>2]=Ed(c[I>>2]|0)|0;c[Q>>2]=Zf(c[L>>2]|0,c[I>>2]|0,c[G>>2]|0,c[S>>2]|0,a[F>>0]|0,0)|0;if((c[Q>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)!=0:0){if(e[(c[Q>>2]|0)+2>>1]&512){c[M>>2]=zr(c[ja>>2]|0)|0;Fs(c[ea>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0,c[fa>>2]|0);c[O>>2]=1;while(1){j=c[ja>>2]|0;if((c[O>>2]|0)>=(c[S>>2]|0))break;Ro(j,77,c[fa>>2]|0,c[M>>2]|0)|0;ts(c[ea>>2]|0,c[fa>>2]|0,1);ns(c[ea>>2]|0);Fs(c[ea>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0,c[fa>>2]|0);ls(c[ea>>2]|0);c[O>>2]=(c[O>>2]|0)+1}Br(j,c[M>>2]|0);break a}if(e[(c[Q>>2]|0)+2>>1]&1024){Fs(c[ea>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0,c[fa>>2]|0);break a}c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[S>>2]|0))break;if((c[O>>2]|0)<32?(Ms(c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[K>>2]=c[K>>2]|1<>2];if(!((c[P>>2]|0)!=0?1:(e[(c[Q>>2]|0)+2>>1]&32|0)==0))c[P>>2]=Pp(c[ea>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0)|0;c[O>>2]=(c[O>>2]|0)+1}if(c[T>>2]|0){j=c[ea>>2]|0;if(c[K>>2]|0){c[R>>2]=(c[j+72>>2]|0)+1;ca=(c[ea>>2]|0)+72|0;c[ca>>2]=(c[ca>>2]|0)+(c[S>>2]|0)}else c[R>>2]=ps(j,c[S>>2]|0)|0;do if(e[(c[Q>>2]|0)+2>>1]&192){a[N>>0]=a[c[c[(c[T>>2]|0)+4>>2]>>2]>>0]|0;if((d[N>>0]|0)!=154?(d[N>>0]|0)!=156:0)break;a[(c[c[(c[T>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[Q>>2]|0)+2>>1]&192}while(0);ns(c[ea>>2]|0);Ns(c[ea>>2]|0,c[T>>2]|0,c[R>>2]|0,3)|0;ls(c[ea>>2]|0)}else c[R>>2]=0;if((c[S>>2]|0)>=2?(c[(c[J>>2]|0)+4>>2]&128|0)!=0:0)c[Q>>2]=Os(c[L>>2]|0,c[Q>>2]|0,c[S>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+20>>2]|0)|0;else ka=78;if((ka|0)==78?(c[S>>2]|0)>0:0)c[Q>>2]=Os(c[L>>2]|0,c[Q>>2]|0,c[S>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[Q>>2]|0)+2>>1]&32){if(!(c[P>>2]|0))c[P>>2]=c[(c[L>>2]|0)+8>>2];To(c[ja>>2]|0,36,0,0,0,c[P>>2]|0,-4)|0}To(c[ja>>2]|0,1,c[K>>2]|0,c[R>>2]|0,c[fa>>2]|0,c[Q>>2]|0,-5)|0;xf(c[ja>>2]|0,c[S>>2]&255);if(!((c[S>>2]|0)!=0&(c[K>>2]|0)==0))break a;ss(c[ea>>2]|0,c[R>>2]|0,c[S>>2]|0);break a}ja=c[ea>>2]|0;fa=c[I>>2]|0;c[H>>2]=c[G>>2];c[H+4>>2]=fa;sf(ja,23052,H);break}case 119:case 20:{c[ga>>2]=Ps(c[ea>>2]|0,c[J>>2]|0,0,0)|0;break}case 75:{c[k>>2]=zr(c[ja>>2]|0)|0;c[j>>2]=zr(c[ja>>2]|0)|0;Ro(c[ja>>2]|0,28,0,c[fa>>2]|0)|0;Bs(c[ea>>2]|0,c[J>>2]|0,c[k>>2]|0,c[j>>2]|0);Ro(c[ja>>2]|0,25,1,c[fa>>2]|0)|0;Br(c[ja>>2]|0,c[k>>2]|0);Ro(c[ja>>2]|0,37,c[fa>>2]|0,0)|0;Br(c[ja>>2]|0,c[j>>2]|0);break}case 74:{c[v>>2]=c[(c[J>>2]|0)+12>>2];c[t>>2]=c[(c[(c[J>>2]|0)+20>>2]|0)+4>>2];c[w>>2]=c[c[t>>2]>>2];c[R>>2]=ys(c[ea>>2]|0,c[v>>2]|0,ha)|0;c[y>>2]=ys(c[ea>>2]|0,c[w>>2]|0,ia)|0;c[z>>2]=Wo(c[ea>>2]|0)|0;c[A>>2]=Wo(c[ea>>2]|0)|0;zs(c[ea>>2]|0,c[v>>2]|0,c[w>>2]|0,83,c[R>>2]|0,c[y>>2]|0,c[z>>2]|0,32)|0;c[t>>2]=(c[t>>2]|0)+20;c[w>>2]=c[c[t>>2]>>2];Xo(c[ea>>2]|0,c[ia>>2]|0);c[y>>2]=ys(c[ea>>2]|0,c[w>>2]|0,ia)|0;zs(c[ea>>2]|0,c[v>>2]|0,c[w>>2]|0,81,c[R>>2]|0,c[y>>2]|0,c[A>>2]|0,32)|0;Uo(c[ja>>2]|0,72,c[z>>2]|0,c[A>>2]|0,c[fa>>2]|0)|0;Xo(c[ea>>2]|0,c[z>>2]|0);Xo(c[ea>>2]|0,c[A>>2]|0);break}case 158:case 95:{c[ga>>2]=Hs(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;break}case 62:{c[x>>2]=c[(c[J>>2]|0)+44>>2];c[p>>2]=(_(c[(c[J>>2]|0)+28>>2]|0,(b[(c[x>>2]|0)+38>>1]|0)+1|0)|0)+1+(b[(c[J>>2]|0)+32>>1]|0);Ro(c[ja>>2]|0,132,c[p>>2]|0,c[fa>>2]|0)|0;if((b[(c[J>>2]|0)+32>>1]|0)>=0?(a[(c[(c[x>>2]|0)+4>>2]|0)+((b[(c[J>>2]|0)+32>>1]|0)*24|0)+21>>0]|0)==69:0)ur(c[ja>>2]|0,39,c[fa>>2]|0)|0;break}case 57:{if(!(c[(c[ea>>2]|0)+412>>2]|0)){sf(c[ea>>2]|0,23077,C);c[da>>2]=0;ka=c[da>>2]|0;i=la;return ka|0}if((a[(c[J>>2]|0)+1>>0]|0)==2)Cp(c[ea>>2]|0);if((a[(c[J>>2]|0)+1>>0]|0)==4){To(c[ja>>2]|0,24,0,4,0,c[(c[J>>2]|0)+8>>2]|0,0)|0;break a}else{gs(c[ea>>2]|0,1811,a[(c[J>>2]|0)+1>>0]|0,c[(c[J>>2]|0)+8>>2]|0,0,0);break a}}default:{c[ba>>2]=0;c[aa>>2]=c[(c[J>>2]|0)+20>>2];c[V>>2]=c[(c[aa>>2]|0)+4>>2];c[Y>>2]=c[c[aa>>2]>>2];c[W>>2]=zr(c[ja>>2]|0)|0;T=c[(c[J>>2]|0)+12>>2]|0;c[ca>>2]=T;if(T){j=U;k=c[ca>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));Qs(U,ys(c[ea>>2]|0,c[ca>>2]|0,ha)|0);a[$>>0]=79;c[$+12>>2]=U;c[ba>>2]=$;c[ha>>2]=0}c[X>>2]=0;while(1){if((c[X>>2]|0)>=((c[Y>>2]|0)-1|0))break;ns(c[ea>>2]|0);j=c[(c[V>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0;if(c[ca>>2]|0)c[$+16>>2]=j;else c[ba>>2]=j;c[Z>>2]=zr(c[ja>>2]|0)|0;os(c[ea>>2]|0,c[ba>>2]|0,c[Z>>2]|0,16);Fs(c[ea>>2]|0,c[(c[V>>2]|0)+(((c[X>>2]|0)+1|0)*20|0)>>2]|0,c[fa>>2]|0);Ro(c[ja>>2]|0,16,0,c[W>>2]|0)|0;ls(c[ea>>2]|0);Br(c[ja>>2]|0,c[Z>>2]|0);c[X>>2]=(c[X>>2]|0)+2}if(c[Y>>2]&1){ns(c[ea>>2]|0);Fs(c[ea>>2]|0,c[(c[(c[aa>>2]|0)+4>>2]|0)+(((c[Y>>2]|0)-1|0)*20|0)>>2]|0,c[fa>>2]|0);ls(c[ea>>2]|0)}else Ro(c[ja>>2]|0,28,0,c[fa>>2]|0)|0;Br(c[ja>>2]|0,c[W>>2]|0)}}while(0);b:do if((ka|0)==11){c[m>>2]=c[(c[J>>2]|0)+28>>2];do if((c[m>>2]|0)<0)if((c[(c[ea>>2]|0)+92>>2]|0)>0){c[ga>>2]=(b[(c[J>>2]|0)+32>>1]|0)+(c[(c[ea>>2]|0)+92>>2]|0);break b}else{c[m>>2]=c[(c[ea>>2]|0)+96>>2];break}while(0);c[ga>>2]=Is(c[ea>>2]|0,c[(c[J>>2]|0)+44>>2]|0,b[(c[J>>2]|0)+32>>1]|0,c[m>>2]|0,c[fa>>2]|0,a[(c[J>>2]|0)+38>>0]|0)|0}while(0);Xo(c[ea>>2]|0,c[ha>>2]|0);Xo(c[ea>>2]|0,c[ia>>2]|0);c[da>>2]=c[ga>>2];ka=c[da>>2]|0;i=la;return ka|0}function Is(d,e,f,g,h,j){d=d|0;e=e|0;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,u=0,v=0;v=i;i=i+48|0;k=v;l=v+16|0;m=v+8|0;n=v+20|0;o=v+28|0;p=v+32|0;q=v+36|0;t=v+24|0;r=v+4|0;s=v+12|0;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;c[t>>2]=c[(c[l>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=(c[l>>2]|0)+116;while(1){if((c[r>>2]|0)>=10)break;if(((c[(c[s>>2]|0)+12>>2]|0)>0?(c[c[s>>2]>>2]|0)==(c[o>>2]|0):0)?(b[(c[s>>2]|0)+4>>1]|0)==(c[n>>2]|0):0){u=6;break}c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}if((u|0)==6){t=(c[l>>2]|0)+104|0;u=c[t>>2]|0;c[t>>2]=u+1;c[(c[s>>2]|0)+16>>2]=u;$s(c[l>>2]|0,c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=c[(c[s>>2]|0)+12>>2];u=c[k>>2]|0;i=v;return u|0}qs(c[t>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);if(a[q>>0]|0)xf(c[t>>2]|0,a[q>>0]|0);else at(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);c[k>>2]=c[p>>2];u=c[k>>2]|0;i=v;return u|0}function Js(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0;q=i;i=i+48|0;n=q+8|0;f=q+28|0;r=q+20|0;g=q+32|0;h=q+24|0;l=q+36|0;k=q+16|0;j=q+12|0;m=q;o=q+40|0;p=q+44|0;c[f>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[r>>2]|0)+8|0;if(c[(c[r>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);Ro(c[l>>2]|0,25,c[k>>2]|0,c[h>>2]|0)|0;i=q;return}c[o>>2]=c[e>>2];c[j>>2]=ng(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(Ib(c[o>>2]|0,23176,2)|0)){r=c[f>>2]|0;c[n>>2]=c[o>>2];sf(r,23179,n);i=q;return}else{Ks(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=q;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=AH(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;r=m;c[r>>2]=o?0:n;c[r+4>>2]=o?-2147483648:C}c[p>>2]=_s(c[l>>2]|0,m)|0;To(c[l>>2]|0,26,0,c[h>>2]|0,0,c[p>>2]|0,-13)|0;i=q;return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;l=n;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=n;return}b=c[g>>2]|0;Iq(b,l,Ed(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];c[m>>2]=_s(c[f>>2]|0,l)|0;To(c[f>>2]|0,133,0,c[k>>2]|0,0,c[m>>2]|0,-12)|0;i=n;return}function Ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;ts(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function Ms(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xs(c[d>>2]|0,1)|0;i=b;return a|0}function Ns(b,e,f,g){b=b|0;e=e|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;v=i;i=i+48|0;h=v+12|0;j=v+16|0;k=v+4|0;l=v+40|0;r=v+32|0;n=v;p=v+36|0;m=v+41|0;q=v+20|0;o=v+28|0;s=v+24|0;t=v+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;a[m>>0]=(d[l>>0]&1|0)!=0?33:34;c[p>>2]=c[c[j>>2]>>2];if(!(a[(c[h>>2]|0)+23>>0]|0))a[l>>0]=d[l>>0]&-3;c[r>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;c[q>>2]=c[c[r>>2]>>2];if((d[l>>0]&2|0)!=0?(Ms(c[q>>2]|0)|0)!=0:0)Vs(c[h>>2]|0,c[q>>2]|0,(c[k>>2]|0)+(c[n>>2]|0)|0,0);else u=8;do if((u|0)==8?(u=0,c[o>>2]=Hs(c[h>>2]|0,c[q>>2]|0,(c[k>>2]|0)+(c[n>>2]|0)|0)|0,(c[o>>2]|0)!=((c[k>>2]|0)+(c[n>>2]|0)|0)):0){c[t>>2]=c[(c[h>>2]|0)+8>>2];if((((d[m>>0]|0)==33?(f=Ws(c[t>>2]|0,-1)|0,c[s>>2]=f,(d[f>>0]|0)==33):0)?((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==(c[o>>2]|0):0)?((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==((c[k>>2]|0)+(c[n>>2]|0)|0):0){f=(c[s>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+1;break}Ro(c[t>>2]|0,d[m>>0]|0,c[o>>2]|0,(c[k>>2]|0)+(c[n>>2]|0)|0)|0}while(0);c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}i=v;return c[p>>2]|0}function Os(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,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;u=z+52|0;m=z+44|0;v=z+20|0;l=z+12|0;k=z+4|0;p=z+40|0;q=z+48|0;o=z+56|0;y=z+16|0;w=z+24|0;x=z;r=z+32|0;t=z+28|0;s=z+8|0;n=z+36|0;c[m>>2]=f;c[v>>2]=g;c[l>>2]=h;c[k>>2]=j;c[y>>2]=0;c[w>>2]=0;c[r>>2]=0;if(!(c[k>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}if((d[c[k>>2]>>0]|0)!=154){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}c[p>>2]=c[(c[k>>2]|0)+44>>2];if(!(c[p>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}if(!(d[(c[p>>2]|0)+44>>0]&16)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}c[q>>2]=c[(Bp(c[m>>2]|0,c[p>>2]|0)|0)+8>>2];c[o>>2]=c[c[q>>2]>>2];if(!(c[(c[o>>2]|0)+72>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}c[t>>2]=ef(c[m>>2]|0,c[(c[v>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[s>>2]=c[t>>2];while(1){if(!(a[c[s>>2]>>0]|0))break;a[c[s>>2]>>0]=a[13848+(d[c[s>>2]>>0]|0)>>0]|0;c[s>>2]=(c[s>>2]|0)+1}o=c[(c[o>>2]|0)+72>>2]|0;p=c[q>>2]|0;q=c[l>>2]|0;s=c[t>>2]|0;c[n>>2]=y;c[r>>2]=wb[o&15](p,q,s,c[n>>2]|0,w)|0;Nd(c[m>>2]|0,c[t>>2]|0)}if(!(c[r>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}t=c[m>>2]|0;c[x>>2]=gf(t,36+(Ed(c[(c[v>>2]|0)+24>>2]|0)|0)+1|0,0)|0;if(!(c[x>>2]|0)){c[u>>2]=c[v>>2];y=c[u>>2]|0;i=z;return y|0}else{k=c[x>>2]|0;l=c[v>>2]|0;m=k+36|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[(c[x>>2]|0)+24>>2]=(c[x>>2]|0)+36;s=c[(c[x>>2]|0)+24>>2]|0;t=c[(c[v>>2]|0)+24>>2]|0;EH(s|0,t|0,(Ed(c[(c[v>>2]|0)+24>>2]|0)|0)+1|0)|0;c[(c[x>>2]|0)+12>>2]=c[y>>2];c[(c[x>>2]|0)+4>>2]=c[w>>2];y=(c[x>>2]|0)+2|0;b[y>>1]=e[y>>1]|16;c[u>>2]=c[x>>2];y=c[u>>2]|0;i=z;return y|0}return 0} +function yz(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+4|0;f=n+16|0;g=n+8|0;m=n+20|0;h=n+28|0;k=n;j=n+12|0;l=n+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+328>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+304>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+328>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=vb[c[l>>2]&63](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function zz(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;if(!(c[h>>2]|0)){o=c[n>>2]|0;i=p;return o|0}fe(c[h>>2]|0);c[m>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0)){o=14;break}if((c[k>>2]|0)!=0?(d[(c[m>>2]|0)+72>>0]&1|0)==0:0){if((d[(c[m>>2]|0)+73>>0]|0)==1?(c[n>>2]=Ly(c[m>>2]|0)|0,(c[n>>2]|0)!=0):0)break}else{ot(c[m>>2]|0);a[(c[m>>2]|0)+73>>0]=4;c[(c[m>>2]|0)+68>>2]=c[j>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>(b[(c[m>>2]|0)+76>>1]|0))break;pt(c[(c[m>>2]|0)+120+(c[l>>2]<<2)>>2]|0);c[(c[m>>2]|0)+120+(c[l>>2]<<2)>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+8>>2]}if((o|0)==14){o=c[n>>2]|0;i=p;return o|0}zz(c[h>>2]|0,c[n>>2]|0,0)|0;o=c[n>>2]|0;i=p;return o|0}function Az(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);c[l>>2]=Xj(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=TC(c[k>>2]|0)|0;a=kj((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function Bz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;gh();Hd(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+140+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(SC(c[k>>2]|0)|0)c[j>>2]=1;He(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}km(c[f>>2]|0)|0;hh();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+140+5>>0]|0)==0:0){If(c[f>>2]|0);ue(c[f>>2]|0)}l=(c[f>>2]|0)+504|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+512|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-16777217;if(!(c[(c[f>>2]|0)+200>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+62>>0]|0)!=0:0){i=m;return}nb[c[(c[f>>2]|0)+200>>2]&31](c[(c[f>>2]|0)+196>>2]|0);i=m;return}function Cz(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+488>>2]|0))break;c[e>>2]=c[b+488>>2];c[(c[d>>2]|0)+488>>2]=c[(c[e>>2]|0)+24>>2];Nd(c[d>>2]|0,c[e>>2]|0)}c[b+496>>2]=0;c[(c[d>>2]|0)+500>>2]=0;a[(c[d>>2]|0)+69>>0]=0;i=f;return}function Dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];fe(c[h>>2]|0);c[d>>2]=QC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Ez(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;r=i;i=i+32|0;j=r+4|0;k=r+16|0;m=r+8|0;n=r+20|0;o=r+28|0;q=r;l=r+12|0;p=r+24|0;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=(c[(c[j>>2]|0)+8>>2]|0)+(((c[(c[j>>2]|0)+28>>2]|0)-(c[k>>2]|0)|0)*40|0);c[p>>2]=0;e=88+(c[m>>2]<<3)|0;if(c[o>>2]|0)g=OC()|0;else g=0;c[l>>2]=e+g;if(c[(c[(c[j>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]|0){Jz(c[j>>2]|0,c[(c[(c[j>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]|0);c[(c[(c[j>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]=0}if(vp(c[q>>2]|0,c[l>>2]|0)|0){q=c[p>>2]|0;i=r;return q|0}g=c[(c[q>>2]|0)+16>>2]|0;c[p>>2]=g;c[(c[(c[j>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]=g;g=c[p>>2]|0;e=g+88|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));a[(c[p>>2]|0)+24>>0]=c[n>>2];b[(c[p>>2]|0)+20>>1]=c[m>>2];c[(c[p>>2]|0)+80>>2]=(c[p>>2]|0)+84+(c[m>>2]<<2);if(!(c[o>>2]|0)){q=c[p>>2]|0;i=r;return q|0}c[c[p>>2]>>2]=(c[(c[q>>2]|0)+16>>2]|0)+(88+(c[m>>2]<<3));PC(c[c[p>>2]>>2]|0);q=c[p>>2]|0;i=r;return q|0}function Fz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;fe(c[n>>2]|0);c[g>>2]=MC(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Gz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+74>>0]=c[g>>2];i=e;return}function Hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;fe(c[j>>2]|0);c[e>>2]=LC(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function Iz(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;v=i;i=i+48|0;j=v+4|0;k=v+16|0;l=v+36|0;r=v;m=v+32|0;n=v+40|0;p=v+44|0;o=v+24|0;u=v+20|0;t=v+8|0;s=v+12|0;q=v+28|0;c[j>>2]=f;c[k>>2]=g;c[l>>2]=h;c[s>>2]=0;c[u>>2]=24+((e[(c[(c[l>>2]|0)+8>>2]|0)+6>>1]|0)-1<<2);c[t>>2]=128;h=(c[t>>2]|0)+(c[u>>2]|0)|0;c[p>>2]=gf(c[j>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[l>>2]|0)+56>>2]=c[p>>2];if(!(c[p>>2]|0)){c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}t=(c[p>>2]|0)+(c[t>>2]|0)|0;c[o>>2]=t;c[(c[p>>2]|0)+28>>2]=t;EH(c[o>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[u>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=0;if(c[k>>2]|0)b[(c[o>>2]|0)+6>>1]=c[k>>2];u=ke(c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[r>>2]=u;c[(c[p>>2]|0)+12>>2]=u;a[(c[p>>2]|0)+59>>0]=1;a[(c[p>>2]|0)+57>>0]=(d[(c[p>>2]|0)+59>>0]|0|0)>1;c[(c[p>>2]|0)+24>>2]=c[j>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(d[(c[p>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[p>>2]|0)+64+(c[m>>2]<<6);c[(c[q>>2]|0)+8>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}if(aj(c[j>>2]|0)|0){u=c[s>>2]|0;i=v;return u|0}c[c[p>>2]>>2]=(c[r>>2]|0)*10;u=c[(c[(c[(c[j>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;c[n>>2]=u;c[n>>2]=(c[n>>2]|0)<10?10:u;u=_(c[n>>2]|0,c[r>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=u;if(c[50]|0){u=c[s>>2]|0;i=v;return u|0}c[(c[p>>2]|0)+52>>2]=c[r>>2];u=c[r>>2]|0;u=Wd(u,((u|0)<0)<<31>>31)|0;c[(c[p>>2]|0)+36+4>>2]=u;if(c[(c[p>>2]|0)+36+4>>2]|0){u=c[s>>2]|0;i=v;return u|0}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}function Jz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=j;return}KC(c[c[e>>2]>>2]|0,c[f>>2]|0);d=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0){lt(c[d+4>>2]|0)|0;i=j;return}a=c[f>>2]|0;if(c[d>>2]|0){mt(c[a>>2]|0)|0;i=j;return}if(!(c[a+32>>2]|0)){i=j;return}c[h>>2]=c[(c[f>>2]|0)+32>>2];c[g>>2]=c[c[c[h>>2]>>2]>>2];f=(c[e>>2]|0)+88|0;b[f>>1]=b[f>>1]&-13|4;qb[c[(c[g>>2]|0)+28>>2]&31](c[h>>2]|0)|0;h=(c[e>>2]|0)+88|0;b[h>>1]=b[h>>1]&-13;i=j;return}function Kz(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+73>>0]|0|0)|0}function Lz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+73>>0]|0|0)?((d[(c[g>>2]|0)+72>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=Iw(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){b=c[f>>2]|0;if(!(d[(c[g>>2]|0)+73>>0]|0)){c[b>>2]=1;break}c[b>>2]=0;c[j>>2]=xw(c[g>>2]|0)|0;b=(c[g>>2]|0)+72|0;f=d[b>>0]|0;if(!(c[j>>2]|0)){a[b>>0]=f|8;break}else{a[b>>0]=f&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function Mz(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+80|0;p=I+72|0;q=I+8|0;r=I+16|0;s=I;t=I+28|0;u=I+20|0;v=I+24|0;w=I+12|0;J=I+32|0;F=I+36|0;y=I+44|0;G=I+48|0;x=I+52|0;E=I+56|0;B=I+60|0;D=I+64|0;A=I+68|0;z=I+40|0;H=I+76|0;c[q>>2]=f;c[r>>2]=g;g=s;c[g>>2]=h;c[g+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[B>>2]=c[c[q>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+4>>2];c[z>>2]=0;if((d[(c[q>>2]|0)+73>>0]|0)==4){c[p>>2]=c[(c[q>>2]|0)+68>>2];J=c[p>>2]|0;i=I;return J|0}c[F>>2]=Jy(c[D>>2]|0,c[(c[q>>2]|0)+60>>2]|0,c[q>>2]|0)|0;if(c[F>>2]|0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}if(((c[(c[q>>2]|0)+16>>2]|0)==0?(J=s,CB(c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0),J=s,o=c[J+4>>2]|0,(d[(c[q>>2]|0)+72>>0]&2|0)!=0&((o|0)>0|(o|0)==0&(c[J>>2]|0)>>>0>0)):0)?(J=(c[q>>2]|0)+24|0,g=c[J>>2]|0,J=c[J+4>>2]|0,o=s,o=AH(c[o>>2]|0,c[o+4>>2]|0,1,0)|0,(g|0)==(o|0)&(J|0)==(C|0)):0)c[y>>2]=-1;if((c[y>>2]|0)==0?(J=s,c[F>>2]=Dw(c[q>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}c[E>>2]=c[(c[q>>2]|0)+120+(b[(c[q>>2]|0)+76>>1]<<2)>>2];c[z>>2]=c[(c[D>>2]|0)+80>>2];J=s;c[F>>2]=JC(c[E>>2]|0,c[z>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,G)|0;do if(!(c[F>>2]|0)){c[x>>2]=e[(c[q>>2]|0)+78+(b[(c[q>>2]|0)+76>>1]<<1)>>1];if(!(c[y>>2]|0)){c[F>>2]=ye(c[(c[E>>2]|0)+68>>2]|0)|0;if(c[F>>2]|0)break;c[A>>2]=(c[(c[E>>2]|0)+56>>2]|0)+(e[(c[E>>2]|0)+20>>1]&(d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)>>0]<<8|d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)+1>>0]));if(!(a[(c[E>>2]|0)+5>>0]|0)){J=c[z>>2]|0;o=c[A>>2]|0;a[J>>0]=a[o>>0]|0;a[J+1>>0]=a[o+1>>0]|0;a[J+2>>0]=a[o+2>>0]|0;a[J+3>>0]=a[o+3>>0]|0}c[F>>2]=EB(c[E>>2]|0,c[A>>2]|0,H)|0;wC(c[E>>2]|0,c[x>>2]|0,e[H>>1]|0,F);if(c[F>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[E>>2]|0)+18>>1]|0)>0:0){H=(c[q>>2]|0)+78+(b[(c[q>>2]|0)+76>>1]<<1)|0;J=(b[H>>1]|0)+1<<16>>16;b[H>>1]=J;c[x>>2]=J&65535}xC(c[E>>2]|0,c[x>>2]|0,c[z>>2]|0,c[G>>2]|0,0,0,F);b[(c[q>>2]|0)+24+20>>1]=0;if((c[F>>2]|0)==0?(d[(c[E>>2]|0)+1>>0]|0)!=0:0){J=(c[q>>2]|0)+72|0;a[J>>0]=d[J>>0]&-3;c[F>>2]=yC(c[q>>2]|0)|0;a[(c[(c[q>>2]|0)+120+(b[(c[q>>2]|0)+76>>1]<<2)>>2]|0)+1>>0]=0;a[(c[q>>2]|0)+73>>0]=0}}while(0);c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}function Nz(f){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;w=i;i=i+64|0;s=w+16|0;t=w+36|0;l=w+12|0;m=w+8|0;v=w+32|0;p=w+40|0;n=w+48|0;g=w+52|0;u=w+20|0;r=w+56|0;k=w+28|0;o=w+4|0;j=w+24|0;h=w+44|0;q=w;c[t>>2]=f;c[l>>2]=c[c[t>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];if((e[(c[t>>2]|0)+78+(b[(c[t>>2]|0)+76>>1]<<1)>>1]|0)<(e[(c[(c[t>>2]|0)+120+(b[(c[t>>2]|0)+76>>1]<<2)>>2]|0)+18>>1]|0)?(d[(c[t>>2]|0)+73>>0]|0)==1:0){c[u>>2]=b[(c[t>>2]|0)+76>>1];c[g>>2]=e[(c[t>>2]|0)+78+(c[u>>2]<<1)>>1];c[p>>2]=c[(c[t>>2]|0)+120+(c[u>>2]<<2)>>2];c[n>>2]=(c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+(c[g>>2]<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+(c[g>>2]<<1)+1>>0]));if((a[(c[p>>2]|0)+5>>0]|0)==0?(c[k>>2]=0,c[v>>2]=tw(c[t>>2]|0,k)|0,(c[v>>2]|0)!=0):0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}c[v>>2]=Jy(c[m>>2]|0,c[(c[t>>2]|0)+60>>2]|0,c[t>>2]|0)|0;if(c[v>>2]|0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}if(!(c[(c[t>>2]|0)+16>>2]|0)){f=(c[t>>2]|0)+24|0;CB(c[l>>2]|0,c[f>>2]|0,c[f+4>>2]|0,0)}c[v>>2]=ye(c[(c[p>>2]|0)+68>>2]|0)|0;if(c[v>>2]|0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}c[v>>2]=EB(c[p>>2]|0,c[n>>2]|0,r)|0;wC(c[p>>2]|0,c[g>>2]|0,e[r>>1]|0,v);if(c[v>>2]|0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}if((a[(c[p>>2]|0)+5>>0]|0)==0?(c[o>>2]=c[(c[t>>2]|0)+120+(b[(c[t>>2]|0)+76>>1]<<2)>>2],c[h>>2]=c[(c[(c[t>>2]|0)+120+((c[u>>2]|0)+1<<2)>>2]|0)+72>>2],c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0])),c[j>>2]=(vB(c[o>>2]|0,c[n>>2]|0)|0)&65535,c[q>>2]=c[(c[m>>2]|0)+80>>2],c[v>>2]=ye(c[(c[o>>2]|0)+68>>2]|0)|0,xC(c[p>>2]|0,c[g>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[q>>2]|0,c[h>>2]|0,v),wC(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,v),(c[v>>2]|0)!=0):0){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}c[v>>2]=yC(c[t>>2]|0)|0;if((c[v>>2]|0)==0?(b[(c[t>>2]|0)+76>>1]|0)>(c[u>>2]|0):0){while(1){g=c[t>>2]|0;if((b[(c[t>>2]|0)+76>>1]|0)<=(c[u>>2]|0))break;q=g+76|0;r=b[q>>1]|0;b[q>>1]=r+-1<<16>>16;pt(c[(c[t>>2]|0)+120+(r<<16>>16<<2)>>2]|0)}c[v>>2]=yC(g)|0}if(!(c[v>>2]|0))Iw(c[t>>2]|0)|0;c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}c[s>>2]=1;v=c[s>>2]|0;i=w;return v|0}function Oz(a,d,f,g){a=a|0;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;s=i;i=i+48|0;o=s;t=s+8|0;p=s+36|0;h=s+16|0;q=s+32|0;n=s+40|0;r=s+44|0;m=s+24|0;j=s+20|0;l=s+12|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+56>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+8>>2];do if(!(c[r>>2]|0)){t=Ew(c[m>>2]|0,0,0,s+28|0)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+4>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=vC(c[n>>2]|0,k)|0;Fw(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+8>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=Uw(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function Pz(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+56>>2];c[j>>2]=vC(c[l>>2]|0,h)|0;if(vp(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-16896|16;EH(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function Qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[c[f>>2]>>2];Nd(c[g>>2]|0,c[(c[f>>2]|0)+44>>2]|0);b=ef(c[g>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[f>>2]|0)+44>>2]=b;Sb(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=d;return}function Rz(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(sC(c[c[d>>2]>>2]|0)|0){c[b>>2]=tC(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Sz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[k>>2]|0)+56>>2];c[h>>2]=0;a=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=OB(a)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=hC(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}b=c[e>>2]|0;if(c[a+36>>2]|0){c[b>>2]=0;c[h>>2]=RB((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[b>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function Tz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=Iw(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+73>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=hx(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function Uz(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;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+56>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=_B(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))yB(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function Vz(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;p=i;i=i+48|0;f=p;q=p+8|0;g=p+36|0;n=p+16|0;o=p+32|0;m=p+40|0;d=p+44|0;l=p+24|0;e=p+20|0;j=p+12|0;h=p+4|0;k=p+28|0;c[q>>2]=a;c[g>>2]=b;c[n>>2]=c[(c[q>>2]|0)+56>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+12>>2]|0)+8;a=c[(c[g>>2]|0)+12>>2]|0;b=c[(c[g>>2]|0)+12>>2]|0;c[e>>2]=a+(_w(b,((b|0)<0)<<31>>31)|0);if(c[(c[n>>2]|0)+4>>2]|0){a=c[n>>2]|0;if(c[(c[n>>2]|0)+36+4>>2]|0){if(c[a+48>>2]|0)a=((c[(c[n>>2]|0)+48>>2]|0)+(c[l>>2]|0)|0)>(c[(c[n>>2]|0)+4>>2]|0);else a=0;c[d>>2]=a&1}else{if((c[a+36+8>>2]|0)<=(c[(c[n>>2]|0)+4>>2]|0))if((c[(c[n>>2]|0)+36+8>>2]|0)>(c[c[n>>2]>>2]|0))a=(Mm()|0)!=0;else a=0;else a=1;c[d>>2]=a&1}if(c[d>>2]|0){c[o>>2]=OB(c[n>>2]|0)|0;c[(c[n>>2]|0)+36+8>>2]=0;c[(c[n>>2]|0)+48>>2]=0}}q=(c[n>>2]|0)+36+8|0;c[q>>2]=(c[q>>2]|0)+(c[e>>2]|0);if((c[e>>2]|0)>(c[(c[n>>2]|0)+8>>2]|0))c[(c[n>>2]|0)+8>>2]=c[e>>2];do if(c[(c[n>>2]|0)+36+4>>2]|0){c[j>>2]=(c[(c[n>>2]|0)+48>>2]|0)+(c[l>>2]|0);do if((c[j>>2]|0)>(c[(c[n>>2]|0)+52>>2]|0)){c[k>>2]=c[(c[n>>2]|0)+52>>2]<<1;while(1){a=c[k>>2]|0;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=a<<1}if((a|0)>(c[(c[n>>2]|0)+4>>2]|0))c[k>>2]=c[(c[n>>2]|0)+4>>2];if((c[k>>2]|0)<(c[j>>2]|0))c[k>>2]=c[j>>2];q=c[k>>2]|0;c[h>>2]=Yd(c[(c[n>>2]|0)+36+4>>2]|0,q,((q|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[n>>2]|0)+36>>2]=(c[h>>2]|0)+((c[(c[n>>2]|0)+36>>2]|0)-(c[(c[n>>2]|0)+36+4>>2]|0));c[(c[n>>2]|0)+36+4>>2]=c[h>>2];c[(c[n>>2]|0)+52>>2]=c[k>>2];break}c[f>>2]=7;q=c[f>>2]|0;i=p;return q|0}while(0);c[m>>2]=(c[(c[n>>2]|0)+36+4>>2]|0)+(c[(c[n>>2]|0)+48>>2]|0);q=(c[n>>2]|0)+48|0;c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)+7&-8);c[(c[m>>2]|0)+4>>2]=(c[(c[n>>2]|0)+36>>2]|0)-(c[(c[n>>2]|0)+36+4>>2]|0)}else{q=c[l>>2]|0;c[m>>2]=Wd(q,((q|0)<0)<<31>>31)|0;if(c[m>>2]|0){c[(c[m>>2]|0)+4>>2]=c[(c[n>>2]|0)+36>>2];break}c[f>>2]=7;q=c[f>>2]|0;i=p;return q|0}while(0);EH((c[m>>2]|0)+8|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;c[c[m>>2]>>2]=c[(c[g>>2]|0)+12>>2];c[(c[n>>2]|0)+36>>2]=c[m>>2];c[f>>2]=c[o>>2];q=c[f>>2]|0;i=p;return q|0}function Wz(a,b,e){a=a|0;b=b|0;e=e|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;o=i;i=i+128|0;g=o+108|0;r=o+104|0;q=o+96|0;h=o+100|0;p=o+40|0;f=o+116|0;l=o+112|0;m=o+92|0;j=o+88|0;k=o;n=o+48|0;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;Ny(c[q>>2]|0,p)|0;$w(k,c[r>>2]|0,0);c[f>>2]=tz(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else Rw(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else Rw(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=Ww(c[m>>2]|0)|0,(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){Xw((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Oe(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Oe(k);c[g>>2]=Rk(67174)|0;r=c[g>>2]|0;i=o;return r|0}function Xz(a,b,d,e){a=a|0;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,o=0,p=0;o=i;i=i+80|0;f=o+56|0;g=o+64|0;h=o+60|0;j=o+48|0;k=o+72|0;m=o;n=o+52|0;p=o+68|0;l=o+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;b=m;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=c[c[h>>2]>>2];Ny(c[p>>2]|0,m)|0;b=m;a=c[b+4>>2]|0;e=m;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[k>>2]>>2]=0;c[f>>2]=Rk(67206)|0;p=c[f>>2]|0;i=o;return p|0}$w(l,c[g>>2]|0,0);c[n>>2]=tz(c[c[h>>2]>>2]|0,0,c[m>>2]|0,1,l)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=Uw(c[l+12>>2]|0,c[l+16>>2]|0,c[j>>2]|0)|0;c[c[k>>2]>>2]=p;Oe(l);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;fe(c[j>>2]|0);c[e>>2]=NB(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function Zz(a,b,d,e){a=a|0;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,o=0,p=0;n=i;i=i+48|0;p=n+28|0;o=n+16|0;f=n+4|0;g=n+8|0;j=n+32|0;k=n;h=n+12|0;m=n+24|0;l=n+20|0;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+32>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+32>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function _z(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];fe(c[e>>2]|0);c[j>>2]=Jy(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}CB(c[e>>2]|0,0,0,1);c[j>>2]=DB(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function $z(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;wB(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+(c[h>>2]<<6);xB(c[f>>2]|0,c[j>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))yB(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Nd(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function aA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=_z(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+60>>2]|0,0)|0;i=b;return a|0}function bA(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;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=ch((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Ld(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function cA(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,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=ch(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}b=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[b+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)a=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else a=0;b=c[f>>2]|0;if(!a)break;c[f>>2]=c[b+20>>2]}if((b|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[b+20>>2];ry(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function dA(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,l=0,m=0;j=i;i=i+32|0;f=j+8|0;m=j+16|0;k=j+20|0;g=j+24|0;l=j+4|0;e=j;h=j+12|0;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=ch(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=zt(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+64;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Kd(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function eA(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+224|0;t=u+8|0;s=u;r=u+16|0;j=u+20|0;w=u+36|0;k=u+24|0;l=u+28|0;v=u+120|0;m=u+40|0;n=u+44|0;o=u+48|0;q=u+52|0;p=u+32|0;c[w>>2]=b;c[k>>2]=e;c[l>>2]=f;c[v>>2]=g;c[m>>2]=h;c[p>>2]=c[(c[w>>2]|0)+4>>2];fe(c[w>>2]|0);c[o>>2]=nB(c[c[p>>2]>>2]|0)|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[c[p>>2]>>2];c[q+12>>2]=Aw(c[q>>2]|0)|0;c[q+16>>2]=c[v>>2];c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q+32>>2]=0;c[q+36>>2]=0;c[c[m>>2]>>2]=0;if(!(c[q+12>>2]|0)){c[j>>2]=0;w=c[j>>2]|0;i=u;return w|0}c[q+8>>2]=de((((c[q+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[q+8>>2]|0)){c[c[m>>2]>>2]=1;c[j>>2]=0;w=c[j>>2]|0;i=u;return w|0}c[n>>2]=(((c[229]|0)>>>0)/((c[(c[p>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[n>>2]|0)>>>0<=(c[q+12>>2]|0)>>>0)oB(q,c[n>>2]|0);Zd(q+40|0,u+124|0,100,1e9);a[q+40+24>>0]=2;c[q+28>>2]=32951;w=kj((c[(c[(c[p>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;pB(q,1,w,kj((c[(c[(c[p>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[q+28>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[l>>2]|0)?(c[q+16>>2]|0)!=0:0))break;if(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0){if((d[(c[p>>2]|0)+17>>0]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>1:0)qB(q,c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0,1,0);c[q+28>>2]=32967;rB(q,c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0,0,0)|0;c[q+28>>2]=0}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(!((c[n>>2]|0)>>>0<=(c[q+12>>2]|0)>>>0?(c[q+16>>2]|0)!=0:0))break;do if(!(sB(q,c[n>>2]|0)|0)){w=Pw(c[p>>2]|0,c[n>>2]|0)|0;if((w|0)==(c[n>>2]|0)?(a[(c[p>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[n>>2];tB(q,32988,r)}while(0);if(((sB(q,c[n>>2]|0)|0)!=0?(w=Pw(c[p>>2]|0,c[n>>2]|0)|0,(w|0)==(c[n>>2]|0)):0)?(d[(c[p>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[n>>2];tB(q,33010,s)}c[n>>2]=(c[n>>2]|0)+1}w=c[o>>2]|0;if((w|0)!=(nB(c[c[p>>2]>>2]|0)|0)){v=c[o>>2]|0;w=nB(c[c[p>>2]>>2]|0)|0;c[t>>2]=v;c[t+4>>2]=w;tB(q,33044,t)}Sb(c[q+8>>2]|0);if(c[q+24>>2]|0){ks(q+40|0);c[c[m>>2]>>2]=(c[q+20>>2]|0)+1;c[j>>2]=0;w=c[j>>2]|0;i=u;return w|0}c[c[m>>2]>>2]=c[q+20>>2];if(!(c[q+20>>2]|0))ks(q+40|0);c[j>>2]=$d(q+40|0)|0;w=c[j>>2]|0;i=u;return w|0}function fA(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Oe(c[e>>2]|0);d=qf(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+64>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=dm(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=mB(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function gA(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=jB(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){if(((e[(c[g>>2]|0)+26>>1]|0)&1|0)!=0?(h,d=c[h+4>>2]|0,a=c[k>>2]|0,f=c[a+4>>2]|0,(d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)):0){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function hA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((e[(c[f>>2]|0)+26>>1]|0)&2))lB(c[f>>2]|0);if(!(c[(c[f>>2]|0)+8>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}j=c[(c[f>>2]|0)+8>>2]|0;a=c[j+4>>2]|0;b=c[g>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[f>>2]|0)+8>>2]|0))dx(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=h;return j|0}function iA(a,d,f,g){a=a|0;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;s=i;i=i+48|0;o=s+32|0;h=s+20|0;j=s+12|0;p=s;q=s+36|0;r=s+8|0;m=s+16|0;k=s+28|0;l=s+24|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=fB(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}hB(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=iB(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=gB(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=jB(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=gB(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function jA(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+16>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+72|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function kA(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;b=e;c[f>>2]=a;c[b>>2]=c[c[(c[f>>2]|0)+60>>2]>>2];if(d[(c[f>>2]|0)+4>>0]|0){f=1;f=f&1;i=e;return f|0}if((c[c[b>>2]>>2]|0)<2){f=0;f=f&1;i=e;return f|0}f=(c[(c[b>>2]|0)+52>>2]|0)!=0;f=f&1;i=e;return f|0}function lA(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=0;if(!(c[(c[b>>2]|0)+208>>2]|0)){c[e>>2]=0;c[f>>2]=Il(c[b>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=_j(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+212>>2]|0,0,e)|0;if((c[f>>2]|0)==0&(c[e>>2]|0)!=0)c[f>>2]=aB(c[b>>2]|0)|0}if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}if(!(c[(c[b>>2]|0)+208>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=bB(c[b>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=pj(c[(c[b>>2]|0)+208>>2]|0,d[(c[b>>2]|0)+9>>0]|0,c[(c[b>>2]|0)+152>>2]|0,c[(c[b>>2]|0)+200>>2]|0)|0;c[(c[b>>2]|0)+208>>2]=0;Hg(c[b>>2]|0);f=c[f>>2]|0;i=g;return f|0}function mA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+15>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((((c[g>>2]|0)!=(d[h>>0]|0)?(a[(c[f>>2]|0)+5>>0]=c[g>>2],(a[(c[f>>2]|0)+4>>0]|0)==0):0)?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){uj(c[(c[f>>2]|0)+64>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)>=2){Dj(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+172>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+16>>0];if(!(c[k>>2]|0))c[j>>2]=UA(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+16>>0]|0)==1)c[j>>2]=Il(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))Dj(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+172>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Jj(c[f>>2]|0,1)|0;break}if(!(c[k>>2]|0))qj(c[f>>2]|0)}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0}function nA(b,e){b=b|0;e=e|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;x=i;i=i+80|0;k=x+16|0;j=x+44|0;l=x+12|0;s=x+24|0;q=x+20|0;r=x+40|0;h=x+36|0;t=x+28|0;u=x+32|0;v=x+48|0;w=x+52|0;p=x+56|0;f=x+60|0;o=x+64|0;g=x+68|0;n=x+72|0;m=x+76|0;c[j>>2]=b;c[l>>2]=e;c[s>>2]=0;c[h>>2]=0;c[p>>2]=0;if(!(a[(c[l>>2]|0)+62>>0]|0)){Ym(c[j>>2]|0,c[l>>2]|0,31744,x+8|0);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}if((c[(c[l>>2]|0)+148>>2]|0)>1){Ym(c[j>>2]|0,c[l>>2]|0,31784,x);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}c[t>>2]=c[(c[l>>2]|0)+24>>2];c[u>>2]=c[(c[l>>2]|0)+80>>2];c[v>>2]=c[(c[l>>2]|0)+84>>2];c[w>>2]=c[(c[l>>2]|0)+172>>2];b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[l>>2]|0)+172>>2]=0;c[q>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2];c[f>>2]=NA(Id(c[q>>2]|0)|0)|0;c[g>>2]=c[(c[l>>2]|0)+20>>2];if(aj(c[l>>2]|0)|0)c[h>>2]=31827;else c[h>>2]=31859;c[s>>2]=OA(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[(c[l>>2]|0)+20>>2]|0)>(c[g>>2]|0))c[p>>2]=(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[s>>2]|0)==0?(c[r>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4)+4>>2],Ur(c[r>>2]|0)|0,c[o>>2]=PA(c[q>>2]|0)|0,c[s>>2]=OA(c[l>>2]|0,c[j>>2]|0,31883)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=OA(c[l>>2]|0,c[j>>2]|0,31916)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=he(c[q>>2]|0,2)|0,(c[s>>2]|0)==0):0){if((le(Id(c[q>>2]|0)|0)|0)==5)c[(c[l>>2]|0)+72>>2]=0;b=c[r>>2]|0;h=ke(c[q>>2]|0)|0;do if(!(ig(b,h,c[o>>2]|0,0)|0)){if((c[f>>2]|0)==0?(ig(c[r>>2]|0,c[(c[l>>2]|0)+72>>2]|0,c[o>>2]|0,0)|0)!=0:0)break;if(!(d[(c[l>>2]|0)+64>>0]|0)){f=c[r>>2]|0;if((a[(c[l>>2]|0)+66>>0]|0)>=0)e=a[(c[l>>2]|0)+66>>0]|0;else e=Qt(c[q>>2]|0)|0;St(f,e)|0;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,31923)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32071)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32175)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32293)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32489)|0;if(c[s>>2]|0)break a;c[s>>2]=QA(c[l>>2]|0,c[j>>2]|0,32602)|0;if(c[s>>2]|0)break a;c[s>>2]=OA(c[l>>2]|0,c[j>>2]|0,32757)|0;if(c[s>>2]|0)break a;c[m>>2]=0;while(1){f=c[q>>2]|0;if((c[m>>2]|0)>=10)break;ie(f,d[32941+(c[m>>2]|0)>>0]|0,n);c[s>>2]=te(c[r>>2]|0,d[32941+(c[m>>2]|0)>>0]|0,(c[n>>2]|0)+(d[32941+((c[m>>2]|0)+1)>>0]|0)|0)|0;if(c[s>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+2}c[s>>2]=RA(f,c[r>>2]|0)|0;if(c[s>>2]|0)break a;c[s>>2]=Ur(c[r>>2]|0)|0;if(c[s>>2]|0)break a;n=c[q>>2]|0;St(n,Qt(c[r>>2]|0)|0)|0;n=c[q>>2]|0;r=ke(c[r>>2]|0)|0;c[s>>2]=ig(n,r,c[o>>2]|0,1)|0;break a}}while(0);c[s>>2]=7}while(0);c[(c[l>>2]|0)+24>>2]=c[t>>2];c[(c[l>>2]|0)+80>>2]=c[u>>2];c[(c[l>>2]|0)+84>>2]=c[v>>2];c[(c[l>>2]|0)+172>>2]=c[w>>2];ig(c[q>>2]|0,-1,-1,1)|0;a[(c[l>>2]|0)+62>>0]=1;if(c[p>>2]|0){lt(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}ue(c[l>>2]|0);c[k>>2]=c[s>>2];w=c[k>>2]|0;i=x;return w|0}function oA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];fe(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=Aw(c[g>>2]|0)|0;c[e>>2]=kj((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=BA(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Rk(55422)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Jy(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){CA(c[g>>2]|0);c[h>>2]=DA(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=ye(c[(c[(c[g>>2]|0)+12>>2]|0)+68>>2]|0)|0;Dl((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function pA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);fe(c[g>>2]|0);c[l>>2]=Iy(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=AA(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function qA(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;l=i;i=i+32|0;d=l+20|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=a;c[f>>2]=b;c[j>>2]=0;if((c[(c[e>>2]|0)+304>>2]|0)>0?(c[(c[e>>2]|0)+328>>2]|0)==0:0){c[d>>2]=6;k=c[d>>2]|0;i=l;return k|0}if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[h>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+304>>2]|0))break;if((c[(c[(c[e>>2]|0)+328>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){k=10;break}c[g>>2]=(c[g>>2]|0)+1}if((k|0)==10){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[j>>2]=yA(c[e>>2]|0)|0;if((c[j>>2]|0)==0?(c[j>>2]=qb[c[(c[h>>2]|0)+56>>2]&31](c[(c[f>>2]|0)+8>>2]|0)|0,(c[j>>2]|0)==0):0)zA(c[e>>2]|0,c[f>>2]|0)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function rA(a,b,d,e){a=a|0;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,o=0,p=0;n=i;i=i+48|0;l=n;f=n+24|0;o=n+20|0;p=n+8|0;g=n+16|0;k=n+4|0;j=n+12|0;h=n+28|0;m=n+32|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=cp(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+56>>2]>>2];c[h>>2]=Zg((c[f>>2]|0)+308|0,c[m>>2]|0)|0;a=c[f>>2]|0;if(c[h>>2]|0)c[k>>2]=lr(a,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{c[l>>2]=c[m>>2];p=tf(a,22142,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Bp(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=yA(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;zA(p,Bp(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function sA(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,l=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[k>>2]=b;c[l>>2]=d;c[h>>2]=0;c[g>>2]=cp(c[e>>2]|0,c[l>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2]|0)|0;if(!(c[g>>2]|0)){l=c[h>>2]|0;i=j;return l|0}if(!(c[(c[g>>2]|0)+60>>2]|0)){l=c[h>>2]|0;i=j;return l|0}c[f>>2]=xA(c[e>>2]|0,c[g>>2]|0)|0;c[h>>2]=qb[c[(c[c[(c[f>>2]|0)+4>>2]>>2]|0)+20>>2]&31](c[(c[f>>2]|0)+8>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}c[(c[f>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+60>>2]=0;om(c[f>>2]|0);l=c[h>>2]|0;i=j;return l|0}function tA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;fe(c[g>>2]|0);c[d>>2]=wA(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function uA(b,f){b=b|0;f=f|0;var g=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;C=i;i=i+272|0;y=C+32|0;A=C+24|0;z=C+16|0;x=C+8|0;w=C;j=C+92|0;k=C+88|0;l=C+96|0;o=C+132|0;t=C+84|0;p=C+136|0;s=C+140|0;n=C+80|0;u=C+128|0;B=C+100|0;g=C+144|0;q=C+148|0;m=C+256|0;v=C+40|0;r=C+152|0;c[j>>2]=b;c[k>>2]=f;c[o>>2]=0;c[t>>2]=1;c[l>>2]=c[c[j>>2]>>2];Zd(B,C+156|0,100,c[(c[l>>2]|0)+88>>2]|0);c[B>>2]=c[l>>2];if((c[(c[l>>2]|0)+160>>2]|0)>1){while(1){if(!(a[c[k>>2]>>0]|0))break;c[g>>2]=c[k>>2];do{A=c[k>>2]|0;c[k>>2]=A+1;if((a[A>>0]|0)==10)break}while((a[c[k>>2]>>0]|0)!=0);es(B,31710,3);es(B,c[g>>2]|0,(c[k>>2]|0)-(c[g>>2]|0)|0)}B=$d(B)|0;i=C;return B|0}while(1){if(!(a[c[k>>2]>>0]|0)){f=31;break}c[p>>2]=vA(c[k>>2]|0,s)|0;es(B,c[k>>2]|0,c[p>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[p>>2]|0);if(!(c[s>>2]|0)){f=31;break}do if((a[c[k>>2]>>0]|0)==63)if((c[s>>2]|0)>1){wg((c[k>>2]|0)+1|0,o)|0;break}else{c[o>>2]=c[t>>2];break}else c[o>>2]=nf(c[j>>2]|0,c[k>>2]|0,c[s>>2]|0)|0;while(0);c[k>>2]=(c[k>>2]|0)+(c[s>>2]|0);c[t>>2]=(c[o>>2]|0)+1;c[u>>2]=(c[(c[j>>2]|0)+60>>2]|0)+(((c[o>>2]|0)-1|0)*40|0);if(e[(c[u>>2]|0)+8>>1]&1){es(B,30955,4);continue}f=c[u>>2]|0;if(e[(c[u>>2]|0)+8>>1]&4){b=c[f+4>>2]|0;g=w;c[g>>2]=c[f>>2];c[g+4>>2]=b;jv(B,0,17289,w);continue}b=c[u>>2]|0;if(e[f+8>>1]&8){h[x>>3]=+h[b>>3];jv(B,0,19997,x);continue}if(e[b+8>>1]&2){a[m>>0]=a[(c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;if((d[m>>0]|0)!=1){b=v;f=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));c[v+32>>2]=c[l>>2];Xe(v,c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+12>>2]|0,a[m>>0]|0,0)|0;am(v,1)|0;c[u>>2]=v}c[q>>2]=c[(c[u>>2]|0)+12>>2];g=c[(c[u>>2]|0)+16>>2]|0;c[z>>2]=c[q>>2];c[z+4>>2]=g;jv(B,0,31714,z);if((d[m>>0]|0)==1)continue;Oe(v);continue}if(e[(c[u>>2]|0)+8>>1]&16384){c[A>>2]=c[c[u>>2]>>2];jv(B,0,31721,A);continue}es(B,31734,2);c[r>>2]=c[(c[u>>2]|0)+12>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[r>>2]|0))break;c[y>>2]=a[(c[(c[u>>2]|0)+16>>2]|0)+(c[n>>2]|0)>>0]&255;jv(B,0,31737,y);c[n>>2]=(c[n>>2]|0)+1}es(B,31742,1)}if((f|0)==31){B=$d(B)|0;i=C;return B|0}return 0}function vA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=Vm(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function wA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+156>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+156>>2]|0}function xA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+60>>2];c[(c[e>>2]|0)+60>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+60>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+332>>2];c[(c[f>>2]|0)+332>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function yA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+304>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+304>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=hm(c[d>>2]|0,c[(c[d>>2]|0)+328>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+304>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+328>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function zA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+304|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+328>>2]|0)+(b<<2)>>2]=a;Sy(c[e>>2]|0);i=d;return}function AA(b,e,f){b=b|0;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;p=i;i=i+32|0;g=p+8|0;h=p+16|0;j=p+20|0;k=p+24|0;l=p+4|0;n=p;m=p+12|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=de(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function BA(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,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(Pw(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=Pw(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))d=1;else d=(c[f>>2]|0)==((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=c[f>>2]|0;if(!d)break;c[f>>2]=b+-1}i=g;return b|0}function CA(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+72|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function DA(b,e,f,g){b=b|0;e=e|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;z=i;i=i+64|0;h=z+20|0;j=z+36|0;k=z;l=z+8|0;m=z+32|0;t=z+40|0;x=z+48|0;o=z+56|0;s=z+52|0;p=z+12|0;u=z+4|0;q=z+28|0;w=z+16|0;n=z+57|0;r=z+44|0;v=z+24|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=Pw(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=kj((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=Qw(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Rk(55307)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=EA(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){pt(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=Bw(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=EA(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}pt(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){pt(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=FA(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;pt(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[229]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=Pw(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function EA(b,e,f,g,h){b=b|0;e=e|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,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;K=i;i=i+112|0;H=K+36|0;n=K;I=K+56|0;o=K+28|0;p=K+76|0;q=K+96|0;D=K+12|0;J=K+48|0;l=K+64|0;z=K+72|0;G=K+80|0;F=K+88|0;A=K+32|0;y=K+92|0;E=K+97|0;k=K+98|0;C=K+52|0;w=K+60|0;s=K+16|0;x=K+4|0;r=K+20|0;v=K+68|0;u=K+24|0;t=K+84|0;B=K+44|0;j=K+40|0;m=K+8|0;c[n>>2]=b;c[I>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[G>>2]=0;c[F>>2]=0;c[D>>2]=c[(c[n>>2]|0)+12>>2];c[A>>2]=Aw(c[n>>2]|0)|0;c[l>>2]=kj((c[(c[D>>2]|0)+56>>2]|0)+36|0)|0;if((c[l>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Rk(57337)|0;J=c[H>>2]|0;i=K;return J|0}a:do if((c[l>>2]|0)>>>0>0){a[E>>0]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[J>>2]=Qw(c[n>>2]|0,c[p>>2]|0,k,0)|0;if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}else{if((d[k>>0]|0)!=2)break;a[E>>0]=1;break}}}else if((d[q>>0]|0)==2)a[E>>0]=1;while(0);c[J>>2]=ye(c[(c[D>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}Dl((c[(c[D>>2]|0)+56>>2]|0)+36|0,(c[l>>2]|0)-1|0);b:while(1){c[F>>2]=c[G>>2];if(c[F>>2]|0)c[y>>2]=kj(c[(c[F>>2]|0)+56>>2]|0)|0;else c[y>>2]=kj((c[(c[D>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0>(c[A>>2]|0)>>>0)c[J>>2]=Rk(57386)|0;else c[J>>2]=Bw(c[n>>2]|0,c[y>>2]|0,G,0)|0;if(c[J>>2]|0){h=22;break}c[z>>2]=kj((c[(c[G>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[E>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[n>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){h=27;break b}do if(d[E>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[I>>2]>>2]=c[G>>2];a[E>>0]=0;c[J>>2]=ye(c[(c[G>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[F>>2]|0)){e=(c[(c[D>>2]|0)+56>>2]|0)+32|0;f=c[(c[G>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[J>>2]=ye(c[(c[F>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;e=c[(c[F>>2]|0)+56>>2]|0;f=c[(c[G>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=kj((c[(c[G>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){h=39;break b}c[J>>2]=Bw(c[n>>2]|0,c[w>>2]|0,C,0)|0;if(c[J>>2]|0)break a;c[J>>2]=ye(c[(c[C>>2]|0)+68>>2]|0)|0;j=c[C>>2]|0;if(c[J>>2]|0){h=42;break b}e=c[j+56>>2]|0;f=c[(c[G>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;Dl((c[(c[C>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);EH((c[(c[C>>2]|0)+56>>2]|0)+8|0,(c[(c[G>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;pt(c[C>>2]|0);if(!(c[F>>2]|0)){Dl((c[(c[D>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[J>>2]=ye(c[(c[F>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;Dl(c[(c[F>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[G>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[G>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=kj((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;h=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=h+1}c[s>>2]=h;break}else{e=kj((c[r>>2]|0)+8|0)|0;c[u>>2]=Rr(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=kj((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Rr(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=kj((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){h=62;break b}if((a[E>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[J>>2]=ye(c[(c[G>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}Dl((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(MA(c[n>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[B>>2]=e?1:0;c[J>>2]=Bw(c[n>>2]|0,c[c[o>>2]>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;do if(!(c[J>>2]|0)){c[J>>2]=ye(c[(c[c[I>>2]>>2]|0)+68>>2]|0)|0;if(!(c[J>>2]|0))break;pt(c[c[I>>2]>>2]|0)}while(0);a[E>>0]=0}}else{c[J>>2]=ye(c[(c[G>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[D>>2]|0)+56>>2]|0)+32|0;f=c[(c[G>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[I>>2]>>2]=c[G>>2];c[G>>2]=0}while(0);pt(c[F>>2]|0);c[F>>2]=0;if(!(a[E>>0]|0))break a}if((h|0)==22){c[G>>2]=0;break}else if((h|0)==27){c[J>>2]=Rk(57414)|0;break}else if((h|0)==39){c[J>>2]=Rk(57448)|0;break}else if((h|0)==42){pt(j);break}else if((h|0)==62){c[J>>2]=Rk(57513)|0;break}}else{c[j>>2]=0==(d[(c[n>>2]|0)+19>>0]|0)?1:0;c[J>>2]=ye(c[(c[(c[n>>2]|0)+12>>2]|0)+68>>2]|0)|0;if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}E=(c[n>>2]|0)+44|0;c[E>>2]=(c[E>>2]|0)+1;if((c[(c[n>>2]|0)+44>>2]|0)==((((c[229]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){E=(c[n>>2]|0)+44|0;c[E>>2]=(c[E>>2]|0)+1}do if((d[(c[n>>2]|0)+17>>0]|0)!=0?(E=Pw(c[n>>2]|0,c[(c[n>>2]|0)+44>>2]|0)|0,(E|0)==(c[(c[n>>2]|0)+44>>2]|0)):0){c[m>>2]=0;c[J>>2]=Bw(c[n>>2]|0,c[(c[n>>2]|0)+44>>2]|0,m,c[j>>2]|0)|0;if(!(c[J>>2]|0)){c[J>>2]=ye(c[(c[m>>2]|0)+68>>2]|0)|0;pt(c[m>>2]|0)}if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}else{E=(c[n>>2]|0)+44|0;c[E>>2]=(c[E>>2]|0)+1;if((c[(c[n>>2]|0)+44>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;E=(c[n>>2]|0)+44|0;c[E>>2]=(c[E>>2]|0)+1;break}}while(0);Dl((c[(c[(c[n>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[n>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[n>>2]|0)+44>>2];c[J>>2]=Bw(c[n>>2]|0,c[c[o>>2]>>2]|0,c[I>>2]|0,c[j>>2]|0)|0;if(c[J>>2]|0){c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}else{c[J>>2]=ye(c[(c[c[I>>2]>>2]|0)+68>>2]|0)|0;if(!(c[J>>2]|0))break;pt(c[c[I>>2]>>2]|0);break}}while(0);pt(c[G>>2]|0);pt(c[F>>2]|0);h=c[I>>2]|0;do if(!(c[J>>2]|0)){G=(Tl(c[(c[h>>2]|0)+68>>2]|0)|0)>1;h=c[c[I>>2]>>2]|0;if(!G){a[h>>0]=0;break}pt(h);c[c[I>>2]>>2]=0;c[H>>2]=Rk(57612)|0;J=c[H>>2]|0;i=K;return J|0}else c[h>>2]=0;while(0);c[H>>2]=c[J>>2];J=c[H>>2]|0;i=K;return J|0}function FA(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+12|0;o=v+16|0;k=v+28|0;p=v+44|0;q=v+32|0;r=v+36|0;w=v+40|0;t=v+24|0;s=v+20|0;x=v+8|0;u=v;l=v+4|0;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+72>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=GA(c[x>>2]|0,c[(c[k>>2]|0)+68>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+72>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=kj(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(IA(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=HA(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=Bw(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=ye(c[(c[t>>2]|0)+68>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){pt(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=JA(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;pt(c[t>>2]|0);if(c[u>>2]|0)break;IA(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function GA(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,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t;l=t+16|0;m=t+28|0;n=t+4|0;j=t+32|0;r=t+36|0;o=t+12|0;s=t+24|0;p=t+20|0;q=t+8|0;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[j>>2]=h;c[o>>2]=0;if((a[(c[l>>2]|0)+15>>0]|0)!=0?(c[s>>2]=ye(c[m>>2]|0)|0,(c[s>>2]|0)!=0):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if(((e[(c[m>>2]|0)+24>>1]&2|0)!=0?(wl(c[m>>2]|0)|0)!=0:0)?(g=xl(c[m>>2]|0)|0,c[s>>2]=g,0!=(g|0)):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if(!((c[j>>2]|0)!=0?1:(e[(c[m>>2]|0)+24>>1]&4|0)==0))c[o>>2]=c[(c[m>>2]|0)+20>>2];g=(c[m>>2]|0)+24|0;b[g>>1]=e[g>>1]&-5;c[r>>2]=kk(c[l>>2]|0,c[n>>2]|0)|0;do if(c[r>>2]|0){j=(c[m>>2]|0)+24|0;b[j>>1]=e[j>>1]|e[(c[r>>2]|0)+24>>1]&4;j=c[r>>2]|0;if(a[(c[l>>2]|0)+15>>0]|0){LA(j,(c[(c[l>>2]|0)+24>>2]|0)+1|0);break}else{Ik(j);break}}while(0);c[p>>2]=c[(c[m>>2]|0)+20>>2];LA(c[m>>2]|0,c[n>>2]|0);mk(c[m>>2]|0);if(a[(c[l>>2]|0)+15>>0]|0){LA(c[r>>2]|0,c[p>>2]|0);Lk(c[r>>2]|0)}do if(c[o>>2]|0){c[s>>2]=ne(c[l>>2]|0,c[o>>2]|0,q,0)|0;if(!(c[s>>2]|0)){s=(c[q>>2]|0)+24|0;b[s>>1]=e[s>>1]|4;mk(c[q>>2]|0);Lk(c[q>>2]|0);break}if((c[o>>2]|0)>>>0<=(c[(c[l>>2]|0)+28>>2]|0)>>>0)Tg(c[(c[l>>2]|0)+56>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+200>>2]|0);c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}while(0);c[k>>2]=0;s=c[k>>2]|0;i=t;return s|0}function HA(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+16|0;l=q+8|0;p=q+20|0;m=q+28|0;k=q+36|0;o=q+12|0;n=q+24|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+72>>2];c[p>>2]=Ul(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));KA(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+5>>0]|0)){c[g>>2]=kj(c[n>>2]|0)|0;IA(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+5>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=kj((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+6>>0]|0)+8)|0)|0;IA(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function IA(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t;k=t+16|0;l=t+36|0;m=t+20|0;n=t+28|0;q=t+32|0;r=t+12|0;o=t+24|0;p=t+4|0;s=t+8|0;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Rk(53057)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=Pw(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=ne(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=oe(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=kj((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=ye(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;Dl((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Rk(53068)|0;c[c[n>>2]>>2]=s}while(0);qe(c[q>>2]|0);i=t;return}function JA(b,f,g,h){b=b|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,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;j=u+48|0;k=u+36|0;l=u+40|0;m=u+44|0;n=u+52|0;q=u+53|0;o=u+32|0;r=u+28|0;s=u+24|0;p=u;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){t=kj(c[h+56>>2]|0)|0;if((t|0)==(c[l>>2]|0)){Dl(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Rk(55139)|0;t=c[j>>2]|0;i=u;return t|0}else{a[q>>0]=a[h>>0]|0;Ul(c[k>>2]|0)|0;c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Kw(c[k>>2]|0,c[s>>2]|0,p);if(((e[p+18>>1]|0|0)!=0?((c[s>>2]|0)+(e[p+18>>1]|0)+3|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(b=c[l>>2]|0,(b|0)==(kj((c[s>>2]|0)+(e[p+18>>1]|0)|0)|0)):0){t=11;break}}else{b=kj(c[s>>2]|0)|0;if((b|0)==(c[l>>2]|0)){t=13;break}}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==11)Dl((c[s>>2]|0)+(e[p+18>>1]|0)|0,c[m>>2]|0);else if((t|0)==13)Dl(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(t=kj((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+6>>0]|0)+8)|0)|0,(t|0)==(c[l>>2]|0)):0){Dl((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+6>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Rk(55173)|0;t=c[j>>2]|0;i=u;return t|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}function KA(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;g=m+36|0;h=m+32|0;j=m+28|0;k=m;l=m+24|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;if(c[c[j>>2]>>2]|0){i=m;return}Kw(c[g>>2]|0,c[h>>2]|0,k);if(!(b[k+18>>1]|0)){i=m;return}c[l>>2]=kj((c[h>>2]|0)+(e[k+18>>1]|0)|0)|0;IA(c[(c[g>>2]|0)+52>>2]|0,c[l>>2]|0,3,c[(c[g>>2]|0)+72>>2]|0,c[j>>2]|0);i=m;return}function LA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];xb[c[148>>2]&3](c[(c[h>>2]|0)+40>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&4)){i=f;return}Og(c[d>>2]|0,3);i=f;return}function MA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(Vg(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(Ug(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function NA(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+15>>0]|0|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;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){c[e>>2]=7;d=c[e>>2]|0;i=k;return d|0}if(ad(c[f>>2]|0,c[h>>2]|0,-1,j,0)|0){b=c[g>>2]|0;d=c[f>>2]|0;Ym(b,d,$c(c[f>>2]|0)|0,k);c[e>>2]=yd(c[f>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{Cc(c[j>>2]|0)|0;c[e>>2]=TA(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}return 0}function PA(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;fe(c[e>>2]|0);c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function QA(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,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=ad(c[f>>2]|0,c[l>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}while(1){l=100==(Cc(c[h>>2]|0)|0);b=c[f>>2]|0;if(!l){a=6;break}l=c[g>>2]|0;c[j>>2]=OA(b,l,Nc(c[h>>2]|0,0)|0)|0;if(c[j>>2]|0){a=5;break}}if((a|0)==5){TA(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}else if((a|0)==6){c[e>>2]=TA(b,c[h>>2]|0,c[g>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}return 0}function RA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;f=m+56|0;k=m+8|0;g=m;c[h>>2]=a;c[j>>2]=d;fe(c[h>>2]|0);fe(c[j>>2]|0);c[f>>2]=we(Id(c[h>>2]|0)|0)|0;if((c[c[f>>2]>>2]|0)!=0?(d=ke(c[j>>2]|0)|0,d=MH(d|0,((d|0)<0)<<31>>31|0,me(c[j>>2]|0)|0,0)|0,a=g,c[a>>2]=d,c[a+4>>2]=C,a=gg(c[f>>2]|0,11,g)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;bc(k,2147483647)|0;c[l>>2]=cc(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{SA(Id(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function SA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(a[(c[e>>2]|0)+15>>0]|0){i=f;return}if(d[(c[e>>2]|0)+12>>0]|0){i=f;return}Eg(c[e>>2]|0);i=f;return}function TA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Ke(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}d=c[f>>2]|0;j=c[e>>2]|0;Ym(d,j,$c(c[e>>2]|0)|0,h);j=c[g>>2]|0;i=h;return j|0}function UA(b){b=b|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;q=i;i=i+64|0;o=q+32|0;m=q+16|0;p=q+4|0;e=q+8|0;j=q+28|0;f=q;h=q+12|0;g=q+24|0;k=q+20|0;n=q+40|0;c[m>>2]=b;c[p>>2]=0;if((d[(c[m>>2]|0)+15>>0]|0)!=0?(c[(c[m>>2]|0)+40>>2]|0)!=0:0){c[o>>2]=c[(c[m>>2]|0)+40>>2];p=c[o>>2]|0;i=q;return p|0}a:do if((Fj(c[m>>2]|0)|0)==0?(d[(c[m>>2]|0)+16>>0]|0)==0:0){c[e>>2]=1;c[p>>2]=Hl(c[m>>2]|0,1)|0;if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<=1)c[p>>2]=VA(c[m>>2]|0,e)|0;if(!(c[p>>2]|0)){if(c[e>>2]|0){if(a[(c[m>>2]|0)+14>>0]|0){c[p>>2]=776;break}c[p>>2]=Il(c[m>>2]|0,4)|0;if(c[p>>2]|0)break;if((((c[c[(c[m>>2]|0)+64>>2]>>2]|0)==0?(c[j>>2]=c[c[m>>2]>>2],c[p>>2]=_j(c[j>>2]|0,c[(c[m>>2]|0)+172>>2]|0,0,f)|0,(c[p>>2]|0)==0&(c[f>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[p>>2]=gk(c[j>>2]|0,c[(c[m>>2]|0)+172>>2]|0,c[(c[m>>2]|0)+64>>2]|0,c[g>>2]|0,h)|0,(c[p>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[p>>2]=ll(45936)|0;uj(c[(c[m>>2]|0)+64>>2]|0)|0}f=c[m>>2]|0;if(c[c[(c[m>>2]|0)+64>>2]>>2]|0){c[p>>2]=rj(f)|0;if(!(c[p>>2]|0)){c[p>>2]=Yj(c[m>>2]|0,1)|0;a[(c[m>>2]|0)+16>>0]=0}}else if(!(a[f+4>>0]|0))Jj(c[m>>2]|0,1)|0;if(c[p>>2]|0){sj(c[m>>2]|0,c[p>>2]|0)|0;break}}do if(!(a[(c[m>>2]|0)+12>>0]|0)){if((c[(c[m>>2]|0)+88>>2]|0)==0?(WA(c[(c[m>>2]|0)+204>>2]|0)|0)<=0:0)break;c[k>>2]=0;c[p>>2]=XA(c[m>>2]|0,k)|0;if(c[p>>2]|0)break a;if((c[k>>2]|0)>>>0>0){c[p>>2]=hk(c[(c[m>>2]|0)+60>>2]|0,n,16,24,0)|0;if((c[p>>2]|0)!=0&(c[p>>2]|0)!=522)break a}else{e=n;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if($G((c[m>>2]|0)+100|0,n,16)|0)Eg(c[m>>2]|0)}while(0);c[p>>2]=YA(c[m>>2]|0)|0;l=36}}}else l=36;while(0);if((l|0)==36){if(Fj(c[m>>2]|0)|0)c[p>>2]=ZA(c[m>>2]|0)|0;if((c[p>>2]|0)==0?(d[(c[m>>2]|0)+16>>0]|0)==0:0)c[p>>2]=XA(c[m>>2]|0,(c[m>>2]|0)+24|0)|0}e=c[m>>2]|0;if(c[p>>2]|0)qj(e);else a[e+16>>0]=1;c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}function VA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+16|0;o=q+4|0;p=q+8|0;h=q+28|0;l=q;m=q+12|0;n=q+24|0;j=q+20|0;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+64>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=_j(c[o>>2]|0,c[(c[f>>2]|0)+172>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=eB(c[(c[f>>2]|0)+60>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=XA(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){gh();if((Il(c[f>>2]|0,2)|0)==0?(Dj(c[o>>2]|0,c[(c[f>>2]|0)+172>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Jj(c[f>>2]|0,1)|0;hh();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=gk(c[o>>2]|0,c[(c[f>>2]|0)+172>>2]|0,c[(c[f>>2]|0)+64>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=hk(c[(c[f>>2]|0)+64>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))uj(c[(c[f>>2]|0)+64>>2]|0)|0;c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function WA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qb[c[136>>2]&31](c[(c[d>>2]|0)+40>>2]|0)|0;i=b;return a|0}function XA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=dB(c[(c[e>>2]|0)+208>>2]|0)|0;if(!(c[h>>2]|0)){b=g;c[b>>2]=0;c[b+4>>2]=0;if((c[c[(c[e>>2]|0)+60>>2]>>2]|0)!=0?(c[j>>2]=Cg(c[(c[e>>2]|0)+60>>2]|0,g)|0,(c[j>>2]|0)!=0):0){c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}j=g;b=c[(c[e>>2]|0)+152>>2]|0;b=DH(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=AH(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+152>>2]|0;j=KH(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j}if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+156>>2]|0)>>>0)c[(c[e>>2]|0)+156>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function YA(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+12>>0]|0)){c[k>>2]=XA(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+212>>2]|0;if(!(c[f>>2]|0)){f=Dj(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=_j(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=$A(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function ZA(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Tk(c[(c[b>>2]|0)+208>>2]|0);c[d>>2]=_A(c[(c[b>>2]|0)+208>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Eg(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function _A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Ol(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function $A(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+12>>0]|0)==0?(c[(c[f>>2]|0)+208>>2]|0)==0:0)if(kA(c[f>>2]|0)|0){uj(c[(c[f>>2]|0)+64>>2]|0)|0;c[h>>2]=aB(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+16>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function aB(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=bB(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;Hg(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+160|0;c[f>>2]=cB(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+60>>2]|0,c[(c[e>>2]|0)+212>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+208|0)|0;b=c[e>>2]|0;Hg(b);f=c[f>>2]|0;i=g;return f|0}function bB(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Il(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Jj(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function cB(d,e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+8|0;m=w+20|0;n=w+12|0;o=w+32|0;p=w+36|0;q=w;r=w+16|0;v=w+28|0;u=w+24|0;s=w+40|0;t=w+44|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=de(112+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+112;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+100>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=gk(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Yk(c[u>>2]|0,0);uj(c[(c[u>>2]|0)+8>>2]|0)|0;Sb(c[u>>2]|0)}else{c[t>>2]=dk(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function dB(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function eB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=vb[c[(c[c[f>>2]>>2]|0)+36>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function fB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;BH(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=iB(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=0;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>>>0>=40)break;c[d>>2]=iB(a,c[e+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=g;return a|0}function gB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=kB(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function hB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){hB(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){hB(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function iB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}j=c[e>>2]|0;a=c[j+4>>2]|0;k=c[d>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(a){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else{c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function jB(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=qf(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function kB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;if((c[g>>2]|0)==1){c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}c[d>>2]=kB(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(!(c[h>>2]|0)){c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=kB(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function lB(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+26>>1]|0)&1)){a=fB(c[(c[d>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=a}a=(c[d>>2]|0)+26|0;b[a>>1]=e[a>>1]|0|2;i=f;return}function mB(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function nB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Bg(c[(c[d>>2]|0)+204>>2]|0)|0;i=b;return a|0}function oB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function pB(b,e,f,g){b=b|0;e=e|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;w=i;i=i+80|0;o=w+24|0;v=w;u=w+8|0;p=w+36|0;h=w+44|0;q=w+28|0;r=w+32|0;j=w+40|0;s=w+48|0;t=w+52|0;n=w+56|0;m=w+60|0;l=w+64|0;k=w+68|0;c[p>>2]=b;c[h>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=c[r>>2];c[t>>2]=c[q>>2];while(1){b=c[r>>2]|0;c[r>>2]=b+-1;if((b|0)<=0){f=23;break}if(!(c[(c[p>>2]|0)+16>>2]|0)){f=23;break}g=c[p>>2]|0;if((c[q>>2]|0)<1){f=5;break}if(uB(g,c[q>>2]|0)|0){f=23;break}if(ne(c[(c[p>>2]|0)+4>>2]|0,c[q>>2]|0,n,0)|0){f=8;break}c[m>>2]=oe(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[r>>2]|0)>0?(d[(c[c[p>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=kj(c[m>>2]|0)|0;qB(c[p>>2]|0,c[j>>2]|0,4,c[q>>2]|0)}}else{c[l>>2]=kj((c[m>>2]|0)+4|0)|0;if(a[(c[c[p>>2]>>2]|0)+17>>0]|0)qB(c[p>>2]|0,c[q>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[p>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[p>>2]|0;c[o>>2]=c[q>>2];tB(b,33899,o);c[r>>2]=(c[r>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=kj((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[p>>2]>>2]|0)+17>>0]|0)qB(c[p>>2]|0,c[k>>2]|0,2,0);uB(c[p>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[r>>2]=(c[r>>2]|0)-(c[l>>2]|0)}while(0);c[q>>2]=kj(c[m>>2]|0)|0;qe(c[n>>2]|0)}if((f|0)==5){s=c[s>>2]|0;v=c[t>>2]|0;c[u>>2]=(c[r>>2]|0)+1;c[u+4>>2]=s;c[u+8>>2]=v;tB(g,33820,u);i=w;return}else if((f|0)==8){u=c[p>>2]|0;c[v>>2]=c[q>>2];tB(u,33877,v);i=w;return}else if((f|0)==23){i=w;return}}function qB(b,e,f,g){b=b|0;e=e|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;r=i;i=i+64|0;q=r;p=r+24|0;h=r+36|0;j=r+32|0;k=r+48|0;l=r+28|0;o=r+40|0;m=r+49|0;n=r+44|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=Qw(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];tB(q,33737,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;tB(p,33766,q);i=r;return}function rB(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,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;da=i;i=i+304|0;ba=da+128|0;aa=da+64|0;$=da+8|0;_=da+32|0;Z=da+152|0;Y=da+16|0;X=da+112|0;v=da+168|0;u=da+48|0;m=da+72|0;l=da;w=da+176|0;x=da+220|0;y=da+216|0;z=da+272|0;A=da+264|0;P=da+204|0;I=da+208|0;k=da+260|0;F=da+180|0;n=da+184|0;r=da+248|0;C=da+188|0;G=da+192|0;B=da+196|0;L=da+200|0;E=da+268|0;O=da+276|0;W=da+212|0;H=da+244|0;N=da+144|0;M=da+80|0;T=da+224|0;R=da+228|0;S=da+232|0;q=da+236|0;t=da+240|0;o=da+88|0;p=da+288|0;s=da+292|0;D=da+296|0;Q=da+280|0;U=da+284|0;J=da+172|0;V=da+256|0;K=da+252|0;c[x>>2]=f;c[y>>2]=g;c[z>>2]=h;c[A>>2]=j;c[H>>2]=0;h=N;c[h>>2]=0;c[h+4>>2]=0;h=M;c[h>>2]=0;c[h+4>>2]=0;c[T>>2]=c[(c[x>>2]|0)+28>>2];c[R>>2]=c[(c[x>>2]|0)+32>>2];c[S>>2]=c[(c[x>>2]|0)+36>>2];c[O>>2]=c[c[x>>2]>>2];c[W>>2]=c[(c[O>>2]|0)+36>>2];if(!(c[y>>2]|0)){c[w>>2]=0;ca=c[w>>2]|0;i=da;return ca|0}if(uB(c[x>>2]|0,c[y>>2]|0)|0){c[w>>2]=0;ca=c[w>>2]|0;i=da;return ca|0}c[(c[x>>2]|0)+28>>2]=33109;c[(c[x>>2]|0)+32>>2]=c[y>>2];h=Bw(c[O>>2]|0,c[y>>2]|0,P,0)|0;c[k>>2]=h;do if(h){ca=c[x>>2]|0;c[l>>2]=c[k>>2];tB(ca,33119,l);c[F>>2]=-1}else{a[c[P>>2]>>0]=0;l=Ul(c[P>>2]|0)|0;c[k>>2]=l;if(l){ca=c[x>>2]|0;c[m>>2]=c[k>>2];tB(ca,33157,m);pt(c[P>>2]|0);c[F>>2]=-1;break}c[F>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(e[(c[P>>2]|0)+18>>1]|0))break;if(!(c[(c[x>>2]|0)+16>>2]|0))break;c[(c[x>>2]|0)+28>>2]=33195;c[(c[x>>2]|0)+32>>2]=c[y>>2];c[(c[x>>2]|0)+36>>2]=c[I>>2];c[q>>2]=(c[(c[P>>2]|0)+56>>2]|0)+(e[(c[P>>2]|0)+20>>1]&(d[(c[(c[P>>2]|0)+64>>2]|0)+(c[I>>2]<<1)>>0]<<8|d[(c[(c[P>>2]|0)+64>>2]|0)+(c[I>>2]<<1)+1>>0]));Kw(c[P>>2]|0,c[q>>2]|0,o);c[t>>2]=c[o+12>>2];if(a[(c[P>>2]|0)+2>>0]|0){g=o;f=c[g>>2]|0;g=c[g+4>>2]|0;if(c[I>>2]|0){m=M;l=c[m+4>>2]|0;if((g|0)<(l|0)|((g|0)==(l|0)?f>>>0<=(c[m>>2]|0)>>>0:0)){m=c[x>>2]|0;g=o;j=c[g+4>>2]|0;k=M;h=c[k>>2]|0;k=c[k+4>>2]|0;l=u;c[l>>2]=c[g>>2];c[l+4>>2]=j;l=u+8|0;c[l>>2]=h;c[l+4>>2]=k;tB(m,33221,u)}}else{m=M;c[m>>2]=f;c[m+4>>2]=g;m=N;c[m>>2]=f;c[m+4>>2]=g}k=o;l=c[k+4>>2]|0;m=M;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[t>>2]|0)>>>0>(e[o+16>>1]|0)>>>0?((c[q>>2]|0)+(e[o+18>>1]|0)|0)>>>0<=((c[(c[P>>2]|0)+56>>2]|0)+(c[(c[O>>2]|0)+36>>2]|0)|0)>>>0:0){c[p>>2]=(((c[t>>2]|0)-(e[o+16>>1]|0)+(c[W>>2]|0)-5|0)>>>0)/(((c[W>>2]|0)-4|0)>>>0)|0;c[s>>2]=kj((c[q>>2]|0)+(e[o+18>>1]|0)|0)|0;if(a[(c[O>>2]|0)+17>>0]|0)qB(c[x>>2]|0,c[s>>2]|0,3,c[y>>2]|0);pB(c[x>>2]|0,0,c[s>>2]|0,c[p>>2]|0)}if(!(a[(c[P>>2]|0)+5>>0]|0)){c[r>>2]=kj(c[q>>2]|0)|0;if(a[(c[O>>2]|0)+17>>0]|0)qB(c[x>>2]|0,c[r>>2]|0,5,c[y>>2]|0);c[n>>2]=rB(c[x>>2]|0,c[r>>2]|0,N,(c[I>>2]|0)==0?0:M)|0;if((c[I>>2]|0)>0?(c[n>>2]|0)!=(c[F>>2]|0):0)tB(c[x>>2]|0,33265,v);c[F>>2]=c[n>>2]}c[I>>2]=(c[I>>2]|0)+1}if(!(a[(c[P>>2]|0)+5>>0]|0)){c[r>>2]=kj((c[(c[P>>2]|0)+56>>2]|0)+((d[(c[P>>2]|0)+6>>0]|0)+8)|0)|0;c[(c[x>>2]|0)+28>>2]=33290;c[(c[x>>2]|0)+32>>2]=c[y>>2];if(a[(c[O>>2]|0)+17>>0]|0)qB(c[x>>2]|0,c[r>>2]|0,5,c[y>>2]|0);rB(c[x>>2]|0,c[r>>2]|0,0,(b[(c[P>>2]|0)+18>>1]|0)!=0?M:0)|0}c[(c[x>>2]|0)+28>>2]=33109;c[(c[x>>2]|0)+32>>2]=c[y>>2];do if((d[(c[P>>2]|0)+5>>0]|0)!=0?(d[(c[P>>2]|0)+2>>0]|0)!=0:0){f=(c[A>>2]|0)!=0;if(!(c[z>>2]|0)){if(!f)break;Y=N;M=c[Y+4>>2]|0;Z=c[A>>2]|0;X=c[Z+4>>2]|0;if(!((M|0)<(X|0)|((M|0)==(X|0)?(c[Y>>2]|0)>>>0<=(c[Z>>2]|0)>>>0:0)))break;Z=c[x>>2]|0;z=N;M=c[z+4>>2]|0;X=c[A>>2]|0;N=c[X>>2]|0;X=c[X+4>>2]|0;Y=_;c[Y>>2]=c[z>>2];c[Y+4>>2]=M;Y=_+8|0;c[Y>>2]=N;c[Y+4>>2]=X;tB(Z,33499,_);break}if(!f){Z=M;N=c[Z+4>>2]|0;_=c[z>>2]|0;Y=c[_+4>>2]|0;if(!((N|0)>(Y|0)|((N|0)==(Y|0)?(c[Z>>2]|0)>>>0>(c[_>>2]|0)>>>0:0)))break;_=c[x>>2]|0;A=M;M=c[A+4>>2]|0;Y=c[z>>2]|0;N=c[Y>>2]|0;Y=c[Y+4>>2]|0;Z=X;c[Z>>2]=c[A>>2];c[Z+4>>2]=M;Z=X+8|0;c[Z>>2]=N;c[Z+4>>2]=Y;tB(_,33318,X);break}X=N;u=c[X+4>>2]|0;_=c[z>>2]|0;v=c[_+4>>2]|0;if((u|0)<(v|0)|((u|0)==(v|0)?(c[X>>2]|0)>>>0<=(c[_>>2]|0)>>>0:0)){_=c[x>>2]|0;t=N;u=c[t+4>>2]|0;N=c[z>>2]|0;v=c[N>>2]|0;N=c[N+4>>2]|0;X=Y;c[X>>2]=c[t>>2];c[X+4>>2]=u;X=Y+8|0;c[X>>2]=v;c[X+4>>2]=N;tB(_,33379,Y)}Y=M;N=c[Y+4>>2]|0;_=c[A>>2]|0;X=c[_+4>>2]|0;if((N|0)>(X|0)|((N|0)==(X|0)?(c[Y>>2]|0)>>>0>(c[_>>2]|0)>>>0:0)){_=c[x>>2]|0;u=M;v=c[u+4>>2]|0;X=c[A>>2]|0;N=c[X>>2]|0;X=c[X+4>>2]|0;Y=Z;c[Y>>2]=c[u>>2];c[Y+4>>2]=v;Y=Z+8|0;c[Y>>2]=N;c[Y+4>>2]=X;tB(_,33438,Z)}Y=M;Z=c[Y+4>>2]|0;_=c[z>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z}while(0);c[E>>2]=c[(c[P>>2]|0)+56>>2];c[G>>2]=d[(c[P>>2]|0)+6>>0];c[H>>2]=Dg(c[(c[O>>2]|0)+32>>2]|0)|0;c[(c[x>>2]|0)+28>>2]=0;if(c[H>>2]|0){c[D>>2]=((d[(c[E>>2]|0)+((c[G>>2]|0)+5)>>0]<<8|d[(c[E>>2]|0)+((c[G>>2]|0)+5)+1>>0])-1&65535)+1;BH((c[H>>2]|0)+(c[D>>2]|0)|0,0,(c[W>>2]|0)-(c[D>>2]|0)|0)|0;BH(c[H>>2]|0,1,c[D>>2]|0)|0;c[L>>2]=d[(c[E>>2]|0)+((c[G>>2]|0)+3)>>0]<<8|d[(c[E>>2]|0)+((c[G>>2]|0)+3)+1>>0];c[B>>2]=(c[G>>2]|0)+12-(d[(c[P>>2]|0)+5>>0]<<2);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[L>>2]|0))break;c[Q>>2]=d[(c[E>>2]|0)+((c[B>>2]|0)+(c[I>>2]<<1))>>0]<<8|d[(c[E>>2]|0)+((c[B>>2]|0)+(c[I>>2]<<1))+1>>0];c[U>>2]=65536;if((c[Q>>2]|0)<=((c[W>>2]|0)-4|0))c[U>>2]=(vB(c[P>>2]|0,(c[E>>2]|0)+(c[Q>>2]|0)|0)|0)&65535;a:do if(((c[Q>>2]|0)+(c[U>>2]|0)-1|0)>=(c[W>>2]|0)){c[(c[x>>2]|0)+28>>2]=0;_=c[x>>2]|0;Z=c[y>>2]|0;c[$>>2]=c[I>>2];c[$+4>>2]=Z;tB(_,33558,$)}else{c[J>>2]=(c[Q>>2]|0)+(c[U>>2]|0)-1;while(1){if((c[J>>2]|0)<(c[Q>>2]|0))break a;_=(c[H>>2]|0)+(c[J>>2]|0)|0;a[_>>0]=(a[_>>0]|0)+1<<24>>24;c[J>>2]=(c[J>>2]|0)+-1}}while(0);c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=d[(c[E>>2]|0)+((c[G>>2]|0)+1)>>0]<<8|d[(c[E>>2]|0)+((c[G>>2]|0)+1)+1>>0];while(1){if((c[I>>2]|0)<=0)break;c[V>>2]=d[(c[E>>2]|0)+((c[I>>2]|0)+2)>>0]<<8|d[(c[E>>2]|0)+((c[I>>2]|0)+2)+1>>0];c[K>>2]=(c[I>>2]|0)+(c[V>>2]|0)-1;while(1){if((c[K>>2]|0)<(c[I>>2]|0))break;$=(c[H>>2]|0)+(c[K>>2]|0)|0;a[$>>0]=(a[$>>0]|0)+1<<24>>24;c[K>>2]=(c[K>>2]|0)+-1}c[K>>2]=d[(c[E>>2]|0)+(c[I>>2]|0)>>0]<<8|d[(c[E>>2]|0)+(c[I>>2]|0)+1>>0];c[I>>2]=c[K>>2]}c[C>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[W>>2]|0))break;if(a[(c[H>>2]|0)+(c[I>>2]|0)>>0]|0){if((a[(c[H>>2]|0)+(c[I>>2]|0)>>0]|0)>1){ca=72;break}}else c[C>>2]=(c[C>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+1}if((ca|0)==72){ca=c[x>>2]|0;$=c[y>>2]|0;c[aa>>2]=c[I>>2];c[aa+4>>2]=$;tB(ca,33600,aa)}if((c[C>>2]|0)!=(d[(c[E>>2]|0)+((c[G>>2]|0)+7)>>0]|0)){ca=c[x>>2]|0;$=d[(c[E>>2]|0)+((c[G>>2]|0)+7)>>0]|0;aa=c[y>>2]|0;c[ba>>2]=c[C>>2];c[ba+4>>2]=$;c[ba+8>>2]=aa;tB(ca,33637,ba)}}else c[(c[x>>2]|0)+24>>2]=1;Gg(c[H>>2]|0);pt(c[P>>2]|0)}while(0);c[(c[x>>2]|0)+28>>2]=c[T>>2];c[(c[x>>2]|0)+32>>2]=c[R>>2];c[(c[x>>2]|0)+36>>2]=c[S>>2];c[w>>2]=(c[F>>2]|0)+1;ca=c[w>>2]|0;i=da;return ca|0}function sB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function tB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+240|0;j=l;f=l+28|0;g=l+24|0;h=l+8|0;k=l+32|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=l;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)es((c[f>>2]|0)+40|0,33107,1);if(c[(c[f>>2]|0)+28>>2]|0){b=c[(c[f>>2]|0)+28>>2]|0;e=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=e;Yb(200,k,b,j)|0;fs((c[f>>2]|0)+40|0,k)}_d((c[f>>2]|0)+40|0,1,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+25>>0]|0|0)!=1){i=l;return}c[(c[f>>2]|0)+24>>2]=1;i=l;return}function uB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;tB(b,33689,e);c[g>>2]=1;break}e=(sB(b,a)|0)!=0;b=c[d>>2]|0;a=c[f>>2]|0;if(e){c[h>>2]=a;tB(b,33712,h);c[g>>2]=1;break}else{oB(b,a);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function vB(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;p=i;i=i+32|0;h=p+24|0;j=p+12|0;k=p+8|0;o=p+20|0;n=p;m=p+16|0;l=p+4|0;c[j>>2]=f;c[k>>2]=g;c[o>>2]=(c[k>>2]|0)+(d[(c[j>>2]|0)+7>>0]|0);g=c[o>>2]|0;if(a[(c[j>>2]|0)+4>>0]|0){c[n>>2]=g+9;do{m=c[o>>2]|0;c[o>>2]=m+1;if(!(d[m>>0]&128))break}while((c[o>>2]|0)>>>0<(c[n>>2]|0)>>>0);b[h>>1]=(c[o>>2]|0)-(c[k>>2]|0);o=b[h>>1]|0;i=p;return o|0}c[m>>2]=d[g>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[o>>2]|0)+9;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;f=(c[o>>2]|0)+1|0;c[o>>2]=f;c[m>>2]=g|d[f>>0]&127;if((d[c[o>>2]>>0]|0)<128)break a}while((c[o>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[o>>2]=(c[o>>2]|0)+1;b:do if(a[(c[j>>2]|0)+2>>0]|0){c[n>>2]=(c[o>>2]|0)+9;do{f=c[o>>2]|0;c[o>>2]=f+1;if(!(d[f>>0]&128))break b}while((c[o>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);if((c[m>>2]|0)>>>0<=(e[(c[j>>2]|0)+10>>1]|0)>>>0){o=(c[m>>2]|0)+((c[o>>2]|0)-(c[k>>2]|0))|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0<4?4:o}else{c[l>>2]=e[(c[j>>2]|0)+12>>1];c[m>>2]=(c[l>>2]|0)+((((c[m>>2]|0)-(c[l>>2]|0)|0)>>>0)%(((c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[m>>2]|0)>>>0>(e[(c[j>>2]|0)+10>>1]|0)>>>0)c[m>>2]=c[l>>2];c[m>>2]=(c[m>>2]|0)+(4+((c[o>>2]|0)-(c[k>>2]|0)&65535))}b[h>>1]=c[m>>2];o=b[h>>1]|0;i=p;return o|0}function wB(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Sb(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;AB((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Sb(a);i=e;return}function xB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Nd(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);c[(c[d>>2]|0)+12>>2]=0;yB(0,c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;if(c[(c[d>>2]|0)+32>>2]|0){zB(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+32>>2]=0;f=(c[d>>2]|0)+32+8|0;c[f>>2]=0;c[f+4>>2]=0}if(!(c[(c[d>>2]|0)+48>>2]|0)){i=e;return}zB(c[(c[d>>2]|0)+48>>2]|0)|0;c[(c[d>>2]|0)+48>>2]=0;f=(c[d>>2]|0)+48+8|0;c[f>>2]=0;c[f+4>>2]=0;i=e;return}function yB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Nd(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function zB(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[b>>2]=uj(c[e>>2]|0)|0;Sb(c[e>>2]|0);i=d;return c[b>>2]|0}function AB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Sb(c[(c[b>>2]|0)+28>>2]|0);Sb(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Ok(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;BB(c[(c[b>>2]|0)+48>>2]|0);a=c[b>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function BB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}wB(c[(c[b>>2]|0)+4>>2]|0);Sb(c[b>>2]|0);i=d;return}function CB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;h=l;j=l+16|0;k=l+12|0;m=l+8|0;c[n>>2]=b;b=h;c[b>>2]=e;c[b+4>>2]=f;c[j>>2]=g;c[m>>2]=c[(c[n>>2]|0)+4>>2];c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;do if((d[(c[k>>2]|0)+72>>0]|0)&16){if((c[j>>2]|0)==0?(m=(c[k>>2]|0)+24|0,n=h,!((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0)):0)break;a[(c[k>>2]|0)+73>>0]=0}while(0);c[k>>2]=c[(c[k>>2]|0)+8>>2]}i=l;return}function DB(b,f,g,h){b=b|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,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;q=v+36|0;k=v+16|0;j=v+28|0;r=v+4|0;l=v+32|0;t=v;u=v+12|0;n=v+24|0;m=v+20|0;s=v+8|0;o=v+40|0;c[k>>2]=b;c[j>>2]=f;c[r>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(Aw(c[k>>2]|0)|0)>>>0){c[q>>2]=Rk(59756)|0;u=c[q>>2]|0;i=v;return u|0}c[u>>2]=zw(c[k>>2]|0,c[j>>2]|0,t,0)|0;if(c[u>>2]|0){c[q>>2]=c[u>>2];u=c[q>>2]|0;i=v;return u|0}c[s>>2]=d[(c[t>>2]|0)+6>>0];c[m>>2]=0;while(1){j=c[t>>2]|0;if((c[m>>2]|0)>=(e[(c[t>>2]|0)+18>>1]|0)){p=11;break}c[n>>2]=(c[j+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[t>>2]|0)+5>>0]|0)==0?(f=c[k>>2]|0,h=kj(c[n>>2]|0)|0,c[u>>2]=DB(f,h,1,c[l>>2]|0)|0,(c[u>>2]|0)!=0):0)break;c[u>>2]=EB(c[t>>2]|0,c[n>>2]|0,o)|0;if(c[u>>2]|0)break;c[m>>2]=(c[m>>2]|0)+1}do if((p|0)==11){if(a[j+5>>0]|0){if(c[l>>2]|0){p=c[l>>2]|0;c[p>>2]=(c[p>>2]|0)+(e[(c[t>>2]|0)+18>>1]|0)}}else{o=c[k>>2]|0;p=kj((c[(c[t>>2]|0)+56>>2]|0)+((c[s>>2]|0)+8)|0)|0;c[u>>2]=DB(o,p,1,c[l>>2]|0)|0;if(c[u>>2]|0)break}j=c[t>>2]|0;if(c[r>>2]|0){FB(j,u);break}r=ye(c[j+68>>2]|0)|0;c[u>>2]=r;if(!r)GB(c[t>>2]|0,d[(c[(c[t>>2]|0)+56>>2]|0)+(c[s>>2]|0)>>0]|8)}while(0);pt(c[t>>2]|0);c[q>>2]=c[u>>2];u=c[q>>2]|0;i=v;return u|0}function EB(a,d,f){a=a|0;d=d|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;t=i;i=i+80|0;g=t+24|0;h=t+32|0;j=t+28|0;u=t+36|0;p=t+52|0;l=t;o=t+64|0;r=t+44|0;m=t+40|0;n=t+56|0;k=t+60|0;q=t+48|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Kw(c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+20>>1]|0;if(!(e[l+18>>1]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+3|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Rk(57786)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=kj((c[j>>2]|0)+(e[l+18>>1]|0)|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(Aw(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=Ow(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=JB(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Tl(c[(c[q>>2]|0)+68>>2]|0)|0)!=1)c[r>>2]=Rk(57820)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=HB(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)qe(c[(c[q>>2]|0)+68>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Rk(57800)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=HB(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+72>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function GB(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+6>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)BH((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Vl(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function HB(b,d,f){b=b|0;d=d|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;r=i;i=i+48|0;g=r;h=r+16|0;j=r+28|0;p=r+4|0;k=r+32|0;o=r+36|0;n=r+12|0;q=r+24|0;l=r+20|0;m=r+8|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=f;c[p>>2]=0;c[k>>2]=0;c[o>>2]=c[(c[g>>2]|0)+12>>2];if(c[h>>2]|0){c[n>>2]=c[h>>2];IB(c[(c[n>>2]|0)+68>>2]|0)}else c[n>>2]=JB(c[g>>2]|0,c[j>>2]|0)|0;c[q>>2]=ye(c[(c[o>>2]|0)+68>>2]|0)|0;do if(!(c[q>>2]|0)){c[l>>2]=kj((c[(c[o>>2]|0)+56>>2]|0)+36|0)|0;Dl((c[(c[o>>2]|0)+56>>2]|0)+36|0,(c[l>>2]|0)+1|0);if(e[(c[g>>2]|0)+22>>1]&4){if((c[n>>2]|0)==0?(d=Bw(c[g>>2]|0,c[j>>2]|0,n,0)|0,c[q>>2]=d,(d|0)!=0):0)break;d=ye(c[(c[n>>2]|0)+68>>2]|0)|0;c[q>>2]=d;if(d)break;BH(c[(c[n>>2]|0)+56>>2]|0,0,c[(c[(c[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[g>>2]|0)+17>>0]|0)!=0?(IA(c[g>>2]|0,c[j>>2]|0,2,0,q),(c[q>>2]|0)!=0):0)break;if(c[l>>2]|0){c[k>>2]=kj((c[(c[o>>2]|0)+56>>2]|0)+32|0)|0;c[q>>2]=Bw(c[g>>2]|0,c[k>>2]|0,p,0)|0;if(c[q>>2]|0)break;c[m>>2]=kj((c[(c[p>>2]|0)+56>>2]|0)+4|0)|0;if((c[m>>2]|0)>>>0>((((c[(c[g>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[q>>2]=Rk(57698)|0;break}if((c[m>>2]|0)>>>0<((((c[(c[g>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[q>>2]=ye(c[(c[p>>2]|0)+68>>2]|0)|0;if(c[q>>2]|0)break;Dl((c[(c[p>>2]|0)+56>>2]|0)+4|0,(c[m>>2]|0)+1|0);Dl((c[(c[p>>2]|0)+56>>2]|0)+(8+(c[m>>2]<<2))|0,c[j>>2]|0);if((c[n>>2]|0)!=0?(e[(c[g>>2]|0)+22>>1]&4|0)==0:0)KB(c[(c[n>>2]|0)+68>>2]|0);c[q>>2]=LB(c[g>>2]|0,c[j>>2]|0)|0;break}}if((c[n>>2]|0)==0?(d=Bw(c[g>>2]|0,c[j>>2]|0,n,0)|0,c[q>>2]=d,0!=(d|0)):0)break;c[q>>2]=ye(c[(c[n>>2]|0)+68>>2]|0)|0;if(!(c[q>>2]|0)){Dl(c[(c[n>>2]|0)+56>>2]|0,c[k>>2]|0);Dl((c[(c[n>>2]|0)+56>>2]|0)+4|0,0);Dl((c[(c[o>>2]|0)+56>>2]|0)+32|0,c[j>>2]|0)}}while(0);if(!(c[n>>2]|0)){o=c[n>>2]|0;pt(o);p=c[p>>2]|0;pt(p);q=c[q>>2]|0;i=r;return q|0}a[c[n>>2]>>0]=0;o=c[n>>2]|0;pt(o);p=c[p>>2]|0;pt(p);q=c[q>>2]|0;i=r;return q|0}function IB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;MB(c[d>>2]|0);i=b;return}function JB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=kk(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=Cw(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function KB(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=g;return}if(c[(c[f>>2]|0)+96>>2]|0){i=g;return}a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|32;i=g;return}function LB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=Rg(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(Vg(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=Sg(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function MB(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;i=d;return}function NB(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,o=0,p=0;p=i;i=i+48|0;f=p+28|0;g=p+16|0;h=p+4|0;j=p+8|0;o=p+32|0;n=p;l=p+12|0;k=p+24|0;m=p+20|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=Bw(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=_z(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){pt(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;do if((c[h>>2]|0)>>>0>1){if(!(a[(c[l>>2]|0)+17>>0]|0)){FB(c[n>>2]|0,o);pt(c[n>>2]|0);break}ie(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){FB(d,o);pt(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{pt(d);c[o>>2]=Bw(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=FA(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;pt(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=Bw(c[l>>2]|0,c[k>>2]|0,m,0)|0;FB(c[m>>2]|0,o);pt(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=Pw(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=te(c[g>>2]|0,4,c[k>>2]|0)|0}else{GB(c[n>>2]|0,9);pt(c[n>>2]|0)}while(0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function OB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=PB((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function PB(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;l=i;i=i+64|0;e=l+44|0;f=l+52|0;d=l+56|0;j=l+60|0;k=l;g=l+40|0;h=l+48|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;a=k;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[(c[e>>2]|0)+32>>2]|0))c[j>>2]=QB(c[d>>2]|0,0,0,(c[e>>2]|0)+32|0)|0;if(!(c[j>>2]|0))c[j>>2]=RB(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+32+8|0;SB(c[(c[e>>2]|0)+32>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;TB(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;TB(k,d,((d|0)<0)<<31>>31);UB(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Sb(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=VB(k,(c[e>>2]|0)+32+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function QB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;f=j+20|0;h=j+16|0;g=j;c[k>>2]=a;a=j+8|0;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;c[h>>2]=ZB(c[c[k>>2]>>2]|0,0,c[f>>2]|0,4126,h)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}k=g;c[k>>2]=0;c[k+4>>2]=0;Wk(c[c[f>>2]>>2]|0,18,g);k=c[h>>2]|0;i=j;return k|0}function RB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+4|0;g=n+16|0;h=n+8|0;k=n+20|0;j=n+28|0;l=n;e=n+12|0;m=n+24|0;c[g>>2]=a;c[h>>2]=b;c[e>>2]=WB(c[g>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=de(256,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=n;return m|0}c[l>>2]=c[c[h>>2]>>2];while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;do if(c[(c[h>>2]|0)+4>>2]|0)if((b|0)==(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=0;break}else{c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0);break}else c[m>>2]=c[b+4>>2];while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if(!(c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0))break;XB(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[m>>2]}c[l>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=64)break;XB(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[k>>2]=(c[k>>2]|0)+1}c[c[h>>2]>>2]=c[l>>2];Sb(c[j>>2]|0);c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+7>>0];m=c[f>>2]|0;i=n;return m|0}function SB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;f=c[h>>2]|0;e=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));a=c[j>>2]|0;a=Wd(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=LH(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=AH(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function TB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=vz(g,c[a>>2]|0,c[a+4>>2]|0)|0;UB(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function UB(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,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);EH((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=DH(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ae(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=DH(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function VB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[d>>2]=b;if(((c[c[e>>2]>>2]|0)==0?(c[(c[e>>2]|0)+4>>2]|0)!=0:0)?(c[(c[e>>2]|0)+16>>2]|0)>(c[(c[e>>2]|0)+12>>2]|0):0){j=c[(c[e>>2]|0)+32>>2]|0;h=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;a=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;k=(c[e>>2]|0)+24|0;b=c[(c[e>>2]|0)+12>>2]|0;b=DH(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Ae(j,h,a,b,C)|0;c[c[e>>2]>>2]=b}j=(c[e>>2]|0)+24|0;k=c[(c[e>>2]|0)+16>>2]|0;k=DH(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;d=c[d>>2]|0;c[d>>2]=k;c[d+4>>2]=C;Sb(c[(c[e>>2]|0)+4>>2]|0);c[f>>2]=c[c[e>>2]>>2];d=c[e>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function WB(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=Ew(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+4>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+7>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function XB(a,b,d,e){a=a|0;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,o=0;o=i;i=i+32|0;f=o+4|0;j=o+16|0;k=o+8|0;l=o+20|0;m=o+28|0;n=o;g=o+12|0;h=o+24|0;c[f>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;c[n>>2]=m;c[g>>2]=(c[k>>2]|0)!=0?(c[k>>2]|0)+8|0:0;while(1){if(!((c[j>>2]|0)!=0?(c[k>>2]|0)!=0:0)){f=7;break}c[h>>2]=YB(c[f>>2]|0,(c[j>>2]|0)+8|0,c[c[j>>2]>>2]|0,c[g>>2]|0,c[c[k>>2]>>2]|0)|0;if((c[h>>2]|0)<=0){c[c[n>>2]>>2]=c[j>>2];c[n>>2]=(c[j>>2]|0)+4;c[j>>2]=c[(c[j>>2]|0)+4>>2];c[g>>2]=0;continue}c[c[n>>2]>>2]=c[k>>2];c[n>>2]=(c[k>>2]|0)+4;c[k>>2]=c[(c[k>>2]|0)+4>>2];if(!(c[k>>2]|0)){f=7;break}c[g>>2]=(c[k>>2]|0)+8}if((f|0)==7){c[c[n>>2]>>2]=(c[j>>2]|0)!=0?c[j>>2]|0:c[k>>2]|0;c[c[l>>2]>>2]=c[m>>2];i=o;return}}function YB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0)Fw(c[(c[(c[g>>2]|0)+8>>2]|0)+28>>2]|0,c[l>>2]|0,c[k>>2]|0,c[m>>2]|0);m=Uw(c[j>>2]|0,c[h>>2]|0,c[m>>2]|0)|0;i=n;return m|0}function ZB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;m=o+20|0;j=o+24|0;k=o+4|0;n=o;l=o+12|0;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=7;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=de(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=gk(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Sb(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function _B(a,b){a=a|0;b=b|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;q=i;i=i+48|0;e=q;f=q+16|0;o=q+28|0;h=q+4|0;n=q+32|0;g=q+36|0;l=q+12|0;m=q+24|0;k=q+20|0;j=q+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=$B((c[(c[e>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[h>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[h>>2]|1)*56|0);c[k>>2]=c[(c[m>>2]|0)+32>>2];c[g>>2]=((c[c[e>>2]>>2]|0)+(c[h>>2]|0)|0)/2|0;while(1){if((c[g>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[j>>2]=-1;break}else{c[j>>2]=YB(c[n>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[j>>2]=1;while(0);do if((c[j>>2]|0)<0)p=12;else{if((c[j>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[k>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[g>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[g>>2]^1)<<2)>>2]|0)*56|0);c[k>>2]=c[(c[m>>2]|0)+32>>2]}c[g>>2]=(c[g>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+7>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function $B(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;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=aC(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=bC(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){AB(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=cC(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=dC(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function aC(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=gC(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function bC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;q=i;i=i+48|0;g=q+24|0;h=q+20|0;j=q+28|0;k=q+12|0;l=q;p=q+8|0;o=q+16|0;m=q+32|0;n=q+36|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(hg(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Ok(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=eC(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=LH(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=Wd(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=DH(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=AH(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=hk(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function cC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+16|0;h=p+12|0;m=p+8|0;k=p+32|0;j=p;l=p+20|0;n=p+4|0;c[g>>2]=b;c[h>>2]=e;b=c[g>>2]|0;e=c[b>>2]|0;b=c[b+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(Jw((c[(c[g>>2]|0)+44>>2]|0)+e|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=DH(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;b=LH(e|0,b|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=b;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(Jw((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=DH(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=dC(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){Jw(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function dC(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;g=u+16|0;h=u+12|0;j=u+44|0;k=u+36|0;n=u+32|0;o=u+40|0;e=u+48|0;f=u+52|0;r=u+20|0;l=u;q=u+28|0;s=u+4|0;p=u+24|0;m=u+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;b=c[h>>2]|0;a=c[b>>2]|0;b=c[b+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+a;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=DH(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=LH(a|0,b|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;b=c[h>>2]|0;b=AH(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;a=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&b>>>0>d>>>0)c[e>>2]=c[a+40>>2];else{v=a+8|0;w=c[h>>2]|0;w=AH(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=hk(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=DH(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))a=128;else a=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=a;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=Yd(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);EH(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=DH(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=dC(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;EH((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function eC(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,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+136>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=fC(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function fC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function gC(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;o=i;i=i+96|0;b=o+60|0;l=o+56|0;m=o+68|0;f=o;j=o+72|0;p=o+64|0;h=o+88|0;n=o+8|0;d=o+76|0;k=o+80|0;g=o+84|0;e=o+48|0;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;SB(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=DH(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=DH(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=_w(q,((q|0)<0)<<31>>31)|0;q=DH(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=DH(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;TB(n,r,((r|0)<0)<<31>>31);UB(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=_B(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=VB(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function hC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=iC(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=jC(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}wB(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function iC(a,b){a=a|0;b=b|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;s=i;i=i+64|0;e=s+48|0;f=s+40|0;n=s+16|0;r=s+12|0;k=s+36|0;q=s+44|0;p=s+52|0;l=s+32|0;h=s;g=s+20|0;j=s+8|0;o=s+28|0;m=s+24|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+(c[k>>2]<<6);c[p>>2]=0;c[l>>2]=mC(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=nC(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=oC(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=nC(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=pC(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else wB(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}wB(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function jC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+8|0;g=n+16|0;h=n+20|0;l=n+4|0;j=n;k=n+12|0;c[g>>2]=a;c[h>>2]=b;c[n+24>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=kC((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;lC(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+7>>0];m=c[f>>2]|0;i=n;return m|0}function kC(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;l=i;i=i+32|0;d=l+8|0;e=l+16|0;k=l+20|0;h=l+24|0;j=l+4|0;f=l;g=l+12|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+48>>2];if(!(c[h>>2]|0)){k=c[k>>2]|0;i=l;return k|0}c[j>>2]=c[c[h>>2]>>2];c[f>>2]=c[(c[(c[j>>2]|0)+8>>2]|0)+24>>2];c[k>>2]=jC(c[j>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[e>>2]|0)|0;if(!(c[k>>2]|0)){c[g>>2]=c[(c[h>>2]|0)+16>>2];if(!(c[(c[j>>2]|0)+48>>2]|0)){a=(c[j>>2]|0)+48+8|0;c[k>>2]=QB(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,(c[j>>2]|0)+48|0)|0;a=(c[j>>2]|0)+48+8|0;c[a>>2]=0;c[a+4>>2]=0}if(!(c[k>>2]|0)){c[(c[h>>2]|0)+32+16>>2]=c[(c[j>>2]|0)+48>>2];f=(c[j>>2]|0)+48+8|0;b=c[f+4>>2]|0;a=(c[h>>2]|0)+8|0;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=c[g>>2]|0;j=(c[j>>2]|0)+48+8|0;h=j;a=DH(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[j>>2]=a;c[j+4>>2]=C}}if(c[k>>2]|0){k=c[k>>2]|0;i=l;return k|0}c[k>>2]=$B(c[d>>2]|0)|0;k=c[k>>2]|0;i=l;return k|0}function lC(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;m=i;i=i+32|0;d=m+4|0;e=m+16|0;f=m+8|0;g=m+20|0;h=m+28|0;j=m;k=m+12|0;l=m+24|0;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[f>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[g>>2]=(c[f>>2]|0)+1}else{c[f>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[j>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[f>>2]|0)*56|0);c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);do if(c[(c[j>>2]|0)+24>>2]|0){if(!(c[(c[k>>2]|0)+24>>2]|0)){c[h>>2]=c[f>>2];break}c[l>>2]=YB(c[(c[d>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;if((c[l>>2]|0)<=0){c[h>>2]=c[f>>2];break}else{c[h>>2]=c[g>>2];break}}else c[h>>2]=c[g>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[h>>2];i=m;return}function mC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=MH(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function nC(a,b,d,e){a=a|0;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,o=0,p=0,q=0;q=i;i=i+48|0;f=q+16|0;g=q+32|0;h=q+24|0;j=q+28|0;n=q+40|0;l=q;k=q+20|0;p=q+36|0;m=q+8|0;o=q+44|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=oC(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=rC(c[f>>2]|0,(c[f>>2]|0)+32|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}wB(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function oC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(hg(100)|0)a=0;else{a=c[d>>2]|0;a=de(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function pC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;s=i;i=i+64|0;g=s+44|0;h=s+36|0;p=s+12|0;u=s+8|0;t=s+32|0;r=s+40|0;l=s+48|0;j=s+16|0;q=s;m=s+24|0;k=s+4|0;o=s+28|0;n=s+20|0;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=qC(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=oC(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=qC(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{BB(g);u=c[r>>2]|0;i=s;return u|0}return 0}function qC(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;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(hg(100)|0)b=0;else b=de(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){wB(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+48+8|0;g=h;g=DH(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function rC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+28|0;n=m+24|0;p=m+8|0;h=m+32|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=bC(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){c[l>>2]=cC(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=DH(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=DH(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=$B(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function sC(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+73>>0]|0|0)!=1|0}function tC(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=uC(c[c[d>>2]>>2]|0,g)|0;c[(c[d>>2]|0)+60>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+25>>0]=1;g=c[e>>2]|0;i=f;return g|0}function uC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if((d[(c[f>>2]|0)+73>>0]|0|0)>=3)a=vw(c[f>>2]|0)|0;else a=0;c[h>>2]=a;if(c[h>>2]|0){c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}if((d[(c[f>>2]|0)+73>>0]|0|0)==1?(c[(c[f>>2]|0)+68>>2]|0)==0:0)c[c[g>>2]>>2]=0;else c[c[g>>2]>>2]=1;c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function vC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function wC(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;t=i;i=i+48|0;k=t+28|0;l=t+16|0;m=t+4|0;n=t+8|0;q=t+32|0;o=t;r=t+12|0;s=t+24|0;p=t+20|0;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+6>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=IC(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}else{h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;HH(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Rk(58057)|0;c[c[n>>2]>>2]=h;i=t;return}function xC(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;B=i;i=i+64|0;n=B+16|0;o=B+12|0;p=B+44|0;q=B+36|0;r=B+32|0;s=B+40|0;t=B+48|0;x=B+52|0;z=B+20|0;w=B;y=B+28|0;u=B+4|0;v=B+24|0;A=B+8|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[x>>2]=0;if(c[c[t>>2]>>2]|0){i=B;return}if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[A>>2]=ye(c[(c[n>>2]|0)+68>>2]|0)|0;if(c[A>>2]|0){c[c[t>>2]>>2]=c[A>>2];i=B;return}c[v>>2]=c[(c[n>>2]|0)+56>>2];c[u>>2]=e[(c[n>>2]|0)+14>>1];c[w>>2]=(c[u>>2]|0)+(e[(c[n>>2]|0)+18>>1]<<1);c[y>>2]=(c[u>>2]|0)+(c[o>>2]<<1);c[A>>2]=FC(c[n>>2]|0,c[q>>2]|0,x)|0;if(c[A>>2]|0){c[c[t>>2]>>2]=c[A>>2];i=B;return}j=(c[n>>2]|0)+18|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16;j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);EH((c[v>>2]|0)+(c[x>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)Dl((c[v>>2]|0)+(c[x>>2]|0)|0,c[s>>2]|0);HH((c[v>>2]|0)+((c[y>>2]|0)+2)|0,(c[v>>2]|0)+(c[y>>2]|0)|0,(c[w>>2]|0)-(c[y>>2]|0)|0)|0;a[(c[v>>2]|0)+(c[y>>2]|0)>>0]=c[x>>2]>>8;a[(c[v>>2]|0)+(c[y>>2]|0)+1>>0]=c[x>>2];a[(c[v>>2]|0)+((d[(c[n>>2]|0)+6>>0]|0)+3)>>0]=e[(c[n>>2]|0)+18>>1]>>8;a[(c[v>>2]|0)+((d[(c[n>>2]|0)+6>>0]|0)+3)+1>>0]=b[(c[n>>2]|0)+18>>1];if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=B;return}KA(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=B;return}if(c[r>>2]|0){EH(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)Dl(c[p>>2]|0,c[s>>2]|0);A=(c[n>>2]|0)+1|0;j=a[A>>0]|0;a[A>>0]=j+1<<24>>24;c[z>>2]=j&255;c[(c[n>>2]|0)+32+(c[z>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[z>>2]<<1)>>1]=c[o>>2];i=B;return}function yC(f){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;r=i;i=i+64|0;g=r;q=r+16|0;l=r+8|0;h=r+36|0;m=r+28|0;k=r+32|0;n=r+12|0;o=r+24|0;j=r+4|0;p=r+20|0;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=b[(c[g>>2]|0)+76>>1];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=zC(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){b[(c[g>>2]|0)+76>>1]=1;b[(c[g>>2]|0)+78>>1]=0;b[(c[g>>2]|0)+78+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+78+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=ye(c[(c[o>>2]|0)+68>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+72>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=AC(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Dg(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=BC(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+74>>0]|0)|0;if(c[m>>2]|0)Gg(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;pt(c[n>>2]|0);f=(c[g>>2]|0)+76|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}Gg(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function zC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+8|0;g=n+16|0;h=n+20|0;m=n+24|0;k=n+4|0;l=n;j=n+12|0;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=ye(c[(c[g>>2]|0)+68>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=EA(c[j>>2]|0,k,l,c[(c[g>>2]|0)+72>>2]|0,0)|0,EC(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)IA(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+72>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;pt(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{EH((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;EH((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;GB(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);Dl((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+6>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function AC(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;v=i;i=i+48|0;j=v+12|0;k=v+16|0;l=v+28|0;m=v+4|0;n=v+32|0;p=v+36|0;t=v+40|0;s=v+24|0;q=v+20|0;o=v+8|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Rk(58255)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=EA(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=vB(c[l>>2]|0,c[o>>2]|0)|0;GB(c[p>>2]|0,13);DC(c[p>>2]|0,1,o,u);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(IA(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+72>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)KA(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);xC(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+72>>2]|0,t);Dl((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+6>>0]|0)+8)|0,c[s>>2]|0);pt(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0} +function Gw(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;F=i;i=i+96|0;m=F+68|0;n=F+40|0;o=F+52|0;p=F+8|0;q=F+60|0;r=F+32|0;C=F+28|0;E=F+56|0;v=F+64|0;D=F+80|0;u=F+44|0;s=F+48|0;t=F+24|0;B=F+20|0;y=F+16|0;x=F;w=F+72|0;A=F+76|0;z=F+36|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((d[(c[n>>2]|0)+73>>0]|0)==1?(d[(c[n>>2]|0)+72>>0]&2|0)!=0:0)?(d[(c[(c[n>>2]|0)+120>>2]|0)+2>>0]|0)!=0:0){g=(c[n>>2]|0)+24|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+72>>0]&8|0)!=0?(g=(c[n>>2]|0)+24|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=Hw(c[o>>2]|0)|0;a[(c[o>>2]|0)+7>>0]=0}else c[E>>2]=0;c[C>>2]=Iw(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+73>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(b[(c[n>>2]|0)+76>>1]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]))+(d[(c[B>>2]|0)+7>>0]|0);c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){h=20;break a}}while(0);Jw(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){h=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){h=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){h=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((h|0)==23){c[s>>2]=-1;h=49;break}else if((h|0)==26){c[s>>2]=1;h=49;break}else if((h|0)==27){h=0;f=(c[n>>2]|0)+72|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+24|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+5>>0]|0){h=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]))+(d[(c[B>>2]|0)+7>>0]|0);c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+8>>0]|0))c[s>>2]=lb[c[E>>2]&31](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=lb[c[E>>2]&31](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+7>>0]|0));Kw(c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+24|0);c[w>>2]=c[(c[n>>2]|0)+24>>2];l=c[w>>2]|0;c[A>>2]=Wd(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){h=37;break a}b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];c[C>>2]=Lw(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){h=39;break a}c[s>>2]=lb[c[E>>2]&31](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Sb(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){h=45;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){h=49;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((h|0)==49?(h=0,(a[(c[B>>2]|0)+5>>0]|0)!=0):0){h=50;break}j=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=kj((c[(c[B>>2]|0)+56>>2]|0)+((d[j+6>>0]|0)+8)|0)|0;else c[t>>2]=kj((c[j+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[v>>2];c[C>>2]=ww(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((h|0)==20){c[m>>2]=Rk(56945)|0;E=c[m>>2]|0;i=F;return E|0}else if((h|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((h|0)==37)c[C>>2]=7;else if((h|0)==39)Sb(c[A>>2]|0);else if((h|0)==45){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+7>>0]|0)c[C>>2]=11}else if((h|0)==50){b[(c[n>>2]|0)+78+(b[(c[n>>2]|0)+76>>1]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+24+20>>1]=0;E=(c[n>>2]|0)+72|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function Hw(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+8>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){c[b>>2]=1;c[(c[f>>2]|0)+16>>2]=-1}else{c[b>>2]=-1;c[(c[f>>2]|0)+16>>2]=1}if(c[g>>2]&4){c[d>>2]=18;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=19;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=20;g=c[d>>2]|0;i=h;return g|0}function Iw(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+73>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+73>>0]|0)!=4){ot(f);break}c[g>>2]=c[f+68>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((b[(c[h>>2]|0)+76>>1]|0)>=0)while(1){if(!(b[(c[h>>2]|0)+76>>1]|0))break a;n=(c[h>>2]|0)+76|0;f=b[n>>1]|0;b[n>>1]=f+-1<<16>>16;pt(c[(c[h>>2]|0)+120+(f<<16>>16<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+60>>2]|0)){a[f+73>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=zw(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+60>>2]|0,(c[h>>2]|0)+120|0,(d[(c[h>>2]|0)+72>>0]&1|0)==0?2:0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){b[f+76>>1]=0;break}a[f+73>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+16>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+78>>1]=0;b[(c[h>>2]|0)+24+20>>1]=0;n=(c[h>>2]|0)+72|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+73>>0]=1;else{if(a[(c[j>>2]|0)+5>>0]|0){a[(c[h>>2]|0)+73>>0]=0;break}if((c[(c[j>>2]|0)+72>>2]|0)==1){c[l>>2]=kj((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+6>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+73>>0]=1;c[k>>2]=ww(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Rk(56709)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Rk(56698)|0;n=c[g>>2]|0;i=m;return n|0}function Jw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function Kw(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;r=i;i=i+32|0;j=r+4|0;k=r+16|0;l=r+8|0;p=r+20|0;o=r+28|0;n=r;m=r+12|0;q=r+24|0;c[j>>2]=f;c[k>>2]=g;c[l>>2]=h;if(a[(c[j>>2]|0)+3>>0]|0){g=c[k>>2]|0;h=c[k>>2]|0;if((d[c[k>>2]>>0]|0)<128){c[o>>2]=d[h>>0];h=1}else h=(Rw(h,o)|0)&255;c[p>>2]=g+(h&255);f=(Jw(c[p>>2]|0,c[l>>2]|0)|0)&255;c[p>>2]=(c[p>>2]|0)+f}else{h=c[k>>2]|0;if(a[(c[j>>2]|0)+4>>0]|0){q=4+((Jw(h+4|0,c[l>>2]|0)|0)&255)&65535;b[(c[l>>2]|0)+20>>1]=q;c[(c[l>>2]|0)+12>>2]=0;b[(c[l>>2]|0)+16>>1]=0;b[(c[l>>2]|0)+18>>1]=0;c[(c[l>>2]|0)+8>>2]=0;i=r;return}c[p>>2]=h+(d[(c[j>>2]|0)+7>>0]|0);h=c[p>>2]|0;if((d[c[p>>2]>>0]|0)<128){c[o>>2]=d[h>>0];h=1}else h=(Rw(h,o)|0)&255;c[p>>2]=(c[p>>2]|0)+(h&255);f=c[l>>2]|0;c[f>>2]=c[o>>2];c[f+4>>2]=0}c[(c[l>>2]|0)+12>>2]=c[o>>2];c[(c[l>>2]|0)+8>>2]=c[p>>2];if((c[o>>2]|0)>>>0<=(e[(c[j>>2]|0)+10>>1]|0)>>>0){b[(c[l>>2]|0)+20>>1]=(c[o>>2]|0)+((c[p>>2]|0)-(c[k>>2]|0)&65535);if((e[(c[l>>2]|0)+20>>1]|0)<4)b[(c[l>>2]|0)+20>>1]=4;b[(c[l>>2]|0)+16>>1]=c[o>>2];b[(c[l>>2]|0)+18>>1]=0;i=r;return}c[n>>2]=e[(c[j>>2]|0)+12>>1];c[m>>2]=e[(c[j>>2]|0)+10>>1];c[q>>2]=(c[n>>2]|0)+((((c[o>>2]|0)-(c[n>>2]|0)|0)>>>0)%(((c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[q>>2]|0)<=(c[m>>2]|0))b[(c[l>>2]|0)+16>>1]=c[q>>2];else b[(c[l>>2]|0)+16>>1]=c[n>>2];b[(c[l>>2]|0)+18>>1]=(c[(c[l>>2]|0)+8>>2]|0)+(e[(c[l>>2]|0)+16>>1]|0)-(c[k>>2]|0);b[(c[l>>2]|0)+20>>1]=(e[(c[l>>2]|0)+18>>1]|0)+4;i=r;return}function Lw(f,g,h,j,k){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;E=i;i=i+80|0;l=E+68|0;m=E+44|0;n=E+24|0;o=E+32|0;p=E+12|0;q=E+16|0;u=E+48|0;D=E+56|0;v=E+64|0;C=E+72|0;A=E+36|0;w=E+8|0;r=E;z=E+4|0;y=E+40|0;x=E+20|0;t=E+52|0;s=E+28|0;B=E+60|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[D>>2]=0;c[v>>2]=0;c[C>>2]=c[(c[m>>2]|0)+120+(b[(c[m>>2]|0)+76>>1]<<2)>>2];c[A>>2]=c[(c[m>>2]|0)+4>>2];if(!(e[(c[m>>2]|0)+24+20>>1]|0)){c[w>>2]=b[(c[m>>2]|0)+76>>1];Mw(c[(c[m>>2]|0)+120+(c[w>>2]<<2)>>2]|0,e[(c[m>>2]|0)+78+(c[w>>2]<<1)>>1]|0,(c[m>>2]|0)+24|0);f=(c[m>>2]|0)+72|0;a[f>>0]=d[f>>0]|2}c[u>>2]=c[(c[m>>2]|0)+24+8>>2];if(((c[u>>2]|0)+(e[(c[m>>2]|0)+24+16>>1]|0)|0)>>>0>((c[(c[C>>2]|0)+56>>2]|0)+(c[(c[A>>2]|0)+36>>2]|0)|0)>>>0){c[l>>2]=Rk(56278)|0;D=c[l>>2]|0;i=E;return D|0}if((c[n>>2]|0)>>>0<(e[(c[m>>2]|0)+24+16>>1]|0)>>>0){c[r>>2]=c[o>>2];if(((c[r>>2]|0)+(c[n>>2]|0)|0)>>>0>(e[(c[m>>2]|0)+24+16>>1]|0)>>>0)c[r>>2]=(e[(c[m>>2]|0)+24+16>>1]|0)-(c[n>>2]|0);c[D>>2]=Nw((c[u>>2]|0)+(c[n>>2]|0)|0,c[p>>2]|0,c[r>>2]|0,c[q>>2]&1,c[(c[C>>2]|0)+68>>2]|0)|0;c[n>>2]=0;c[p>>2]=(c[p>>2]|0)+(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[r>>2]|0)}else c[n>>2]=(c[n>>2]|0)-(e[(c[m>>2]|0)+24+16>>1]|0);a:do if((c[D>>2]|0)==0&(c[o>>2]|0)>>>0>0){c[z>>2]=(c[(c[A>>2]|0)+36>>2]|0)-4;c[y>>2]=kj((c[u>>2]|0)+(e[(c[m>>2]|0)+24+16>>1]|0)|0)|0;if((c[q>>2]|0)!=2?(d[(c[m>>2]|0)+72>>0]&4|0)==0:0){c[x>>2]=(((c[(c[m>>2]|0)+24+12>>2]|0)-(e[(c[m>>2]|0)+24+16>>1]|0)+(c[z>>2]|0)-1|0)>>>0)/((c[z>>2]|0)>>>0)|0;do if((c[x>>2]|0)>(c[(c[m>>2]|0)+64>>2]|0)){c[t>>2]=hm(c[c[c[m>>2]>>2]>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[x>>2]<<1<<2,0)|0;if(!(c[t>>2]|0)){c[D>>2]=7;break}else{c[(c[m>>2]|0)+64>>2]=c[x>>2]<<1;c[(c[m>>2]|0)+20>>2]=c[t>>2];break}}while(0);if(!(c[D>>2]|0)){BH(c[(c[m>>2]|0)+20>>2]|0,0,c[x>>2]<<2|0)|0;C=(c[m>>2]|0)+72|0;a[C>>0]=d[C>>0]|4}}if((d[(c[m>>2]|0)+72>>0]&4|0)!=0?(c[(c[(c[m>>2]|0)+20>>2]|0)+((((c[n>>2]|0)>>>0)/((c[z>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[v>>2]=((c[n>>2]|0)>>>0)/((c[z>>2]|0)>>>0)|0;c[y>>2]=c[(c[(c[m>>2]|0)+20>>2]|0)+(c[v>>2]<<2)>>2];c[n>>2]=((c[n>>2]|0)>>>0)%((c[z>>2]|0)>>>0)|0}while(1){if(!((c[D>>2]|0)==0&(c[o>>2]|0)>>>0>0&(c[y>>2]|0)!=0))break a;if(d[(c[m>>2]|0)+72>>0]&4)c[(c[(c[m>>2]|0)+20>>2]|0)+(c[v>>2]<<2)>>2]=c[y>>2];if((c[n>>2]|0)>>>0>=(c[z>>2]|0)>>>0){if(c[(c[(c[m>>2]|0)+20>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0)c[y>>2]=c[(c[(c[m>>2]|0)+20>>2]|0)+((c[v>>2]|0)+1<<2)>>2];else c[D>>2]=Ow(c[A>>2]|0,c[y>>2]|0,0,y)|0;c[n>>2]=(c[n>>2]|0)-(c[z>>2]|0)}else{c[s>>2]=c[o>>2];if(((c[s>>2]|0)+(c[n>>2]|0)|0)>>>0>(c[z>>2]|0)>>>0)c[s>>2]=(c[z>>2]|0)-(c[n>>2]|0);c[D>>2]=ne(c[c[A>>2]>>2]|0,c[y>>2]|0,B,(c[q>>2]&1|0)==0?2:0)|0;if(!(c[D>>2]|0)){c[u>>2]=oe(c[B>>2]|0)|0;c[y>>2]=kj(c[u>>2]|0)|0;c[D>>2]=Nw((c[u>>2]|0)+((c[n>>2]|0)+4)|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]&1,c[B>>2]|0)|0;qe(c[B>>2]|0);c[n>>2]=0}c[o>>2]=(c[o>>2]|0)-(c[s>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0)}c[v>>2]=(c[v>>2]|0)+1}}while(0);if((c[D>>2]|0)==0&(c[o>>2]|0)>>>0>0){c[l>>2]=Rk(56431)|0;D=c[l>>2]|0;i=E;return D|0}else{c[l>>2]=c[D>>2];D=c[l>>2]|0;i=E;return D|0}return 0}function Mw(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Kw(c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function Nw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+8|0;h=n+16|0;j=n+20|0;k=n+24|0;o=n+4|0;l=n;m=n+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=ye(c[l>>2]|0)|0;if(!(c[m>>2]|0)){EH(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else EH(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function Ow(b,e,f,g){b=b|0;e=e|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;s=i;i=i+48|0;h=s+32|0;j=s+16|0;q=s+4|0;k=s+8|0;n=s+28|0;o=s;r=s+12|0;p=s+24|0;m=s+20|0;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=Pw(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))e=1;else e=(c[m>>2]|0)==((((c[229]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=c[m>>2]|0;if(!e)break;c[m>>2]=b+1}if(((b>>>0<=(Aw(c[h>>2]|0)|0)>>>0?(c[r>>2]=Qw(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=Bw(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=kj(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];b=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=b;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{pt(b);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function Qw(b,e,f,g){b=b|0;e=e|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;r=i;i=i+48|0;h=r;s=r+16|0;j=r+28|0;k=r+4|0;l=r+32|0;o=r+36|0;m=r+12|0;p=r+24|0;n=r+20|0;q=r+8|0;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=Pw(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=ne(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=oe(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){qe(c[o>>2]|0);c[h>>2]=Rk(53113)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=kj((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}qe(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Rk(53121)|0;s=c[h>>2]|0;i=r;return s|0}function Rw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+12|0;h=n+8|0;j=n+20|0;k=n+16|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=Jw(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function Sw(b,f,g){b=b|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;s=i;i=i+64|0;n=s+44|0;o=s+40|0;p=s+24|0;q=s+36|0;h=s+32|0;t=s+52|0;r=s+48|0;m=s+28|0;l=s+8|0;k=s;j=s+16|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];b=c[(c[q>>2]|0)+8>>2]|0;f=c[b+4>>2]|0;g=k;c[g>>2]=c[b>>2];c[g+4>>2]=f;do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=DH(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,MH(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=Uw(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=Uw(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=c[h+16>>2];break}if((e[h+4>>1]|0)>1){c[r>>2]=Vw(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+6>>0];break}}else c[r>>2]=c[(c[q>>2]|0)+12>>2];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function Tw(b,f,g){b=b|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;s=i;i=i+48|0;q=s;j=s+16|0;k=s+28|0;l=s+4|0;m=s+32|0;h=s+36|0;r=s+12|0;n=s+24|0;o=s+20|0;p=s+8|0;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else Rw(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=c[(c[l>>2]|0)+16>>2];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Rk(67026)|0)&255;a[(c[l>>2]|0)+7>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=$G((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+8>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=c[b+16>>2];break}else{c[r>>2]=c[b+12>>2];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+4>>1]|0)>1){c[r>>2]=Vw(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+6>>0];break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=c[b+16>>2];break}else{c[r>>2]=c[b+12>>2];break}}}else c[r>>2]=c[(c[l>>2]|0)+12>>2];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Vw(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function Vw(f,g,j,k){f=f|0;g=g|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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;I=i;i=i+160|0;E=I+128|0;m=I+96|0;K=I+132|0;F=I+140|0;J=I+88|0;o=I+116|0;p=I+104|0;D=I+100|0;q=I+124|0;H=I+120|0;x=I+136|0;G=I+144|0;n=I+148|0;t=I+32|0;l=I+108|0;B=I+112|0;y=I;r=I+8|0;z=I+16|0;A=I+24|0;s=I+72|0;u=I+84|0;w=I+80|0;v=I+92|0;c[m>>2]=f;c[K>>2]=g;c[F>>2]=j;c[J>>2]=k;c[H>>2]=0;c[x>>2]=c[(c[F>>2]|0)+8>>2];c[G>>2]=c[c[F>>2]>>2];c[n>>2]=c[K>>2];f=c[n>>2]|0;do if(c[J>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];f=1}else f=(Rw(k,l)|0)&255;c[q>>2]=1+(f&255);c[D>>2]=d[c[n>>2]>>0];K=c[D>>2]|0;c[o>>2]=K+(Ww(c[l>>2]|0)|0);c[p>>2]=1;c[x>>2]=(c[x>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[D>>2]=d[k>>0];f=1}else f=(Rw(k,D)|0)&255;c[q>>2]=f&255;c[o>>2]=c[D>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}K=(Rk(66745)|0)&255;a[(c[F>>2]|0)+7>>0]=K;c[E>>2]=0;K=c[E>>2]|0;i=I;return K|0}while(0);a:while(1){do if(e[(c[x>>2]|0)+8>>1]&4){c[B>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[B>>2]|0)>>>0>=12){c[H>>2]=1;break}if(!(c[B>>2]|0)){c[H>>2]=-1;break}if((c[B>>2]|0)==7){K=c[x>>2]|0;h[y>>3]=+((c[K>>2]|0)>>>0)+4294967296.0*+(c[K+4>>2]|0);Xw((c[n>>2]|0)+(c[o>>2]|0)|0,c[B>>2]|0,t)|0;if(+h[t>>3]<+h[y>>3]){c[H>>2]=-1;break}if(!(+h[t>>3]>+h[y>>3]))break;c[H>>2]=1;break}else{j=Yw(c[B>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;K=r;c[K>>2]=j;c[K+4>>2]=C;K=c[x>>2]|0;j=c[K+4>>2]|0;J=z;c[J>>2]=c[K>>2];c[J+4>>2]=j;J=r;j=c[J+4>>2]|0;K=z;l=c[K+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[J>>2]|0)>>>0<(c[K>>2]|0)>>>0:0)){c[H>>2]=-1;break}J=r;j=c[J+4>>2]|0;K=z;l=c[K+4>>2]|0;if(!((j|0)>(l|0)|((j|0)==(l|0)?(c[J>>2]|0)>>>0>(c[K>>2]|0)>>>0:0)))break;c[H>>2]=1;break}}else{if(e[(c[x>>2]|0)+8>>1]&8){c[B>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[B>>2]|0)>>>0>=12){c[H>>2]=1;break}if(!(c[B>>2]|0)){c[H>>2]=-1;break}h[A>>3]=+h[c[x>>2]>>3];Xw((c[n>>2]|0)+(c[o>>2]|0)|0,c[B>>2]|0,t)|0;if((c[B>>2]|0)==7)h[s>>3]=+h[t>>3];else{K=t;h[s>>3]=+((c[K>>2]|0)>>>0)+4294967296.0*+(c[K+4>>2]|0)}if(+h[s>>3]<+h[A>>3]){c[H>>2]=-1;break}if(!(+h[s>>3]>+h[A>>3]))break;c[H>>2]=1;break}if(!(e[(c[x>>2]|0)+8>>1]&2)){f=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[x>>2]|0)+8>>1]&16)){c[B>>2]=f;c[H>>2]=(c[B>>2]|0)!=0&1;break}k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((f|0)<128)c[B>>2]=d[k>>0];else Rw(k,B)|0;if((c[B>>2]|0)>>>0>=12?(c[B>>2]&1|0)==0:0){c[w>>2]=(((c[B>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[w>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){f=63;break a}if((c[w>>2]|0)<(c[(c[x>>2]|0)+12>>2]|0))f=c[w>>2]|0;else f=c[(c[x>>2]|0)+12>>2]|0;c[v>>2]=f;c[H>>2]=$G((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[x>>2]|0)+16>>2]|0,c[v>>2]|0)|0;if(c[H>>2]|0)break;c[H>>2]=(c[w>>2]|0)-(c[(c[x>>2]|0)+12>>2]|0);break}c[H>>2]=-1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[B>>2]=d[f>>0];else Rw(f,B)|0;if((c[B>>2]|0)>>>0<12){c[H>>2]=-1;break}if(!(c[B>>2]&1)){c[H>>2]=1;break}c[t+12>>2]=(((c[B>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[t+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){f=47;break a}if(c[(c[G>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[t+10>>0]=a[(c[G>>2]|0)+4>>0]|0;c[t+32>>2]=c[(c[G>>2]|0)+12>>2];b[t+8>>1]=2;c[t+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[H>>2]=Zw(t,c[x>>2]|0,c[(c[G>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[F>>2]|0)+7|0)|0;break}if((c[t+12>>2]|0)<(c[(c[x>>2]|0)+12>>2]|0))f=c[t+12>>2]|0;else f=c[(c[x>>2]|0)+12>>2]|0;c[u>>2]=f;c[H>>2]=$G((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[x>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=(c[t+12>>2]|0)-(c[(c[x>>2]|0)+12>>2]|0)}while(0);k=c[p>>2]|0;if(c[H>>2]|0){f=71;break}c[p>>2]=k+1;c[x>>2]=(c[x>>2]|0)+40;K=Ww(c[B>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+K;K=_w(c[B>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+K;if((c[q>>2]|0)>>>0>=(c[D>>2]|0)>>>0){f=77;break}if((c[p>>2]|0)>=(e[(c[F>>2]|0)+4>>1]|0)){f=77;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){f=77;break}}if((f|0)==47){K=(Rk(66824)|0)&255;a[(c[F>>2]|0)+7>>0]=K;c[E>>2]=0;K=c[E>>2]|0;i=I;return K|0}else if((f|0)==63){K=(Rk(66853)|0)&255;a[(c[F>>2]|0)+7>>0]=K;c[E>>2]=0;K=c[E>>2]|0;i=I;return K|0}else if((f|0)==71){if(a[(c[(c[G>>2]|0)+16>>2]|0)+k>>0]|0)c[H>>2]=0-(c[H>>2]|0);c[E>>2]=c[H>>2];K=c[E>>2]|0;i=I;return K|0}else if((f|0)==77){c[E>>2]=a[(c[F>>2]|0)+6>>0];K=c[E>>2]|0;i=I;return K|0}return 0}function Ww(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=12){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[26746+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function Xw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=DH(f|0,0,MH(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=ex(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[11684+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function Yw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=DH(b|0,0,MH(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function Zw(b,e,f,g){b=b|0;e=e|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;u=i;i=i+128|0;h=u+112|0;j=u+84|0;k=u+96|0;l=u+100|0;m=u+108|0;r=u+88|0;s=u+116|0;t=u+80|0;p=u+92|0;q=u+104|0;n=u;o=u+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=wb[c[(c[l>>2]|0)+12>>2]&15](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}$w(n,c[(c[j>>2]|0)+32>>2]|0,1);$w(o,c[(c[j>>2]|0)+32>>2]|0,1);ax(n,c[j>>2]|0,4096);ax(o,c[k>>2]|0,4096);c[s>>2]=Qe(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Qe(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=wb[c[(c[l>>2]|0)+12>>2]&15](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;Oe(n);Oe(o);if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function _w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=GH(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0?(c[e>>2]|0)<9:0);i=f;return c[e>>2]|0}function $w(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function ax(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312)bx(c[g>>2]|0);f=c[g>>2]|0;a=c[h>>2]|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}f=(c[g>>2]|0)+8|0;b[f>>1]=(e[f>>1]|0)&-7169;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|c[j>>2];i=k;return}function bx(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)cx(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){dx(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else nb[c[a+36>>2]&31](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function cx(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+80|0;f=k+76|0;g=k+72|0;j=k+68|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+20>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;a=e;d=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];nb[c[(c[g>>2]|0)+20>>2]&31](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Nd(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);a=c[f>>2]|0;d=a+40|0;do{c[a>>2]=c[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(d|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function dx(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Nd(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function ex(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=DH(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(fx(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function fx(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function gx(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;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+73>>0]|0)!=1){if((d[(c[j>>2]|0)+73>>0]|0)>=3)f=vw(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+73>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+68>>2]|0)!=0?(a[(c[j>>2]|0)+73>>0]=1,g=(c[(c[j>>2]|0)+68>>2]|0)>0,c[(c[j>>2]|0)+68>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2];g=(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+5>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=hx(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=ww(o,kj((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+6>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=hx(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(b[(c[j>>2]|0)+76>>1]|0)){o=17;break}yw(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2]}while((e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+73>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=sw(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function hx(f){f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[g>>2]=f;c[k>>2]=0;while(1){if(c[k>>2]|0){g=5;break}f=c[(c[g>>2]|0)+120+(b[(c[g>>2]|0)+76>>1]<<2)>>2]|0;c[h>>2]=f;if(!((a[f+5>>0]|0)!=0^1)){g=5;break}c[j>>2]=kj((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]&(d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[g>>2]|0)+78+(b[(c[g>>2]|0)+76>>1]<<1)>>1]<<1)>>0]<<8|d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[g>>2]|0)+78+(b[(c[g>>2]|0)+76>>1]<<1)>>1]<<1)+1>>0]))|0)|0;c[k>>2]=ww(c[g>>2]|0,c[j>>2]|0)|0}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=Tn(c[c[d>>2]>>2]|0,0,(c[e>>2]|0)+12|0,0)|0;if(!(c[h>>2]|0)){b=c[h>>2]|0;i=j;return b|0}c[g>>2]=vf(c[c[d>>2]>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[g>>2]|0)==0|(c[g>>2]|0)>=2)){b=c[h>>2]|0;i=j;return b|0}c[f>>2]=c[c[d>>2]>>2];b=ef(c[f>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(((c[c[h>>2]>>2]|0)-1|0)*72|0)+4>>2]=b;b=c[h>>2]|0;i=j;return b|0}function jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];dn(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);$m(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);an(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);dn(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=g;return}function kx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((Wq(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=(c[f>>2]|0)==0;do if(c[e>>2]|0)if(a){c[d>>2]=0;break}else{c[d>>2]=($b(c[e>>2]|0,c[f>>2]|0)|0)==0&1;break}else c[d>>2]=a&1;while(0);i=g;return c[d>>2]|0}function mx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=14;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=10;break}if(!(lx(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0)){g=12;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==10){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==12){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==14)if(oq(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function nx(a,d,e,f,g,h,j,k){a=a|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,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;E=i;i=i+96|0;l=E+84|0;m=E+44|0;n=E+24|0;o=E+32|0;p=E+12|0;q=E+16|0;r=E+48|0;s=E+56|0;D=E+80|0;z=E+88|0;B=E+36|0;A=E+8|0;w=E;x=E+4|0;t=E+40|0;y=E+20|0;u=E+52|0;C=E+28|0;v=E+60|0;c[l>>2]=a;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[D>>2]=c[(c[l>>2]|0)+8>>2];c[z>>2]=0;c[B>>2]=0;c[u>>2]=c[c[l>>2]>>2];c[C>>2]=Bp(c[u>>2]|0,c[n>>2]|0)|0;j=c[l>>2]|0;c[z>>2]=Nn(j,0,Qn(c[u>>2]|0,27,26900)|0)|0;if(c[p>>2]|0){e=c[l>>2]|0;j=c[z>>2]|0;c[z>>2]=Nn(e,j,mq(c[u>>2]|0,c[p>>2]|0,0)|0)|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[n>>2]|0)+38>>1]|0))break;k=c[u>>2]|0;h=c[x>>2]|0;if((c[(c[q>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)c[A>>2]=mq(k,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[(c[q>>2]|0)+(h<<2)>>2]|0)*20|0)>>2]|0,0)|0;else c[A>>2]=Qn(k,27,c[(c[(c[n>>2]|0)+4>>2]|0)+(h*24|0)>>2]|0)|0;c[z>>2]=Nn(c[l>>2]|0,c[z>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[B>>2]=Mn(c[l>>2]|0,c[z>>2]|0,c[m>>2]|0,c[r>>2]|0,0,0,0,0,0,0)|0;A=(c[l>>2]|0)+68|0;z=c[A>>2]|0;c[A>>2]=z+1;c[w>>2]=z;Ro(c[D>>2]|0,57,c[w>>2]|0,(b[(c[n>>2]|0)+38>>1]|0)+1+((c[p>>2]|0)!=0&1)|0)|0;xf(c[D>>2]|0,8);Ss(v,14,c[w>>2]|0);Kn(c[l>>2]|0,c[B>>2]|0,v)|0;z=(c[l>>2]|0)+72|0;A=(c[z>>2]|0)+1|0;c[z>>2]=A;c[y>>2]=A;A=(c[l>>2]|0)+72|0;c[A>>2]=(c[A>>2]|0)+((b[(c[n>>2]|0)+38>>1]|0)+1);c[t>>2]=Ro(c[D>>2]|0,108,c[w>>2]|0,0)|0;Uo(c[D>>2]|0,47,c[w>>2]|0,0,c[y>>2]|0)|0;Uo(c[D>>2]|0,47,c[w>>2]|0,(c[p>>2]|0)!=0?1:0,(c[y>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[n>>2]|0)+38>>1]|0))break;Uo(c[D>>2]|0,47,c[w>>2]|0,(c[x>>2]|0)+1+((c[p>>2]|0)!=0&1)|0,(c[y>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}vu(c[l>>2]|0,c[n>>2]|0);To(c[D>>2]|0,15,0,(b[(c[n>>2]|0)+38>>1]|0)+2|0,c[y>>2]|0,c[C>>2]|0,-10)|0;xf(c[D>>2]|0,((c[s>>2]|0)==10?2:c[s>>2]|0)&255);Cp(c[l>>2]|0);Ro(c[D>>2]|0,9,c[w>>2]|0,(c[t>>2]|0)+1|0)|0;jp(c[D>>2]|0,c[t>>2]|0);Ro(c[D>>2]|0,61,c[w>>2]|0,0)|0;an(c[u>>2]|0,c[B>>2]|0);i=E;return}function ox(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+492>>2];c[(c[f>>2]|0)+492>>2]=c[g>>2];i=e;return}function px(a,b,d,e){a=a|0;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,o=0,p=0;p=i;i=i+64|0;f=p+28|0;g=p+16|0;h=p+4|0;j=p+8|0;l=p+32|0;o=p;n=p+12|0;k=p+24|0;m=p+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=vf(c[k>>2]|0,c[(c[g>>2]|0)+68>>2]|0)|0;c[h>>2]=mq(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=Tn(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=ef(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=ef(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Mn(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,0,0,0)|0;Ss(l,12,c[j>>2]|0);Kn(c[f>>2]|0,c[o>>2]|0,l)|0;an(c[k>>2]|0,c[o>>2]|0);i=p;return}function qx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+38>>0]|0|0}function rx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+492>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function sx(a,b,d,e){a=a|0;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,o=0,p=0;p=i;i=i+48|0;k=p+28|0;f=p+16|0;l=p+4|0;m=p+8|0;n=p+32|0;o=p;j=p+12|0;g=p+24|0;h=p+20|0;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=hm(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((dm(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;e=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;f=e+72|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(f|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);BH((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+40>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function tx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;h=j;f=j+20|0;g=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;c[g>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){sf(c[g>>2]|0,27637,h);c[f>>2]=1;m=c[f>>2]|0;i=j;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=j;return m|0}function ux(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;er(c[e>>2]|0,b);i=d;return c[b>>2]|0}function vx(f,g,h,j,k){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,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;x=Q+56|0;t=Q+48|0;u=Q+44|0;y=Q+100|0;z=Q+92|0;A=Q+16|0;m=Q+20|0;I=Q+24|0;K=Q+28|0;L=Q+32|0;J=Q+36|0;M=Q+88|0;G=Q+96|0;D=Q+104|0;C=Q+108|0;O=Q+112|0;N=Q+60|0;B=Q+64|0;l=Q+68|0;o=Q+72|0;q=Q+76|0;n=Q+12|0;p=Q+8|0;r=Q+80|0;v=Q+4|0;w=Q;F=Q+40|0;E=Q+116|0;P=Q+52|0;H=Q+84|0;c[t>>2]=f;c[u>>2]=g;c[y>>2]=h;c[z>>2]=j;c[A>>2]=k;c[m>>2]=c[(c[t>>2]|0)+492>>2];c[B>>2]=c[c[t>>2]>>2];if(e[(c[B>>2]|0)+60>>1]&1){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[u>>2]|0)+32>>2];c[N>>2]=(c[J>>2]|0)+8+((c[y>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+40>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];if((c[z>>2]|0)!=0&(c[A>>2]|0)!=0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[c[J>>2]>>2]|0)>1:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}c[M>>2]=c[(c[K>>2]|0)+32>>2];if((c[(c[K>>2]|0)+60>>2]|0)!=0?(c[(c[u>>2]|0)+60>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+64>>2]|0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((e[(c[u>>2]|0)+6>>1]&64|0)!=0?(c[(c[K>>2]|0)+60>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(e[(c[K>>2]|0)+6>>1]&1){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?((c[z>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(e[(c[u>>2]|0)+6>>1]&1|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[(c[u>>2]|0)+48>>2]|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[z>>2]|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?(c[(c[u>>2]|0)+36>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?(e[(c[u>>2]|0)+6>>1]&1|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(e[(c[K>>2]|0)+6>>1]&6144){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if((e[(c[u>>2]|0)+6>>1]&2048|0)!=0?(c[(c[K>>2]|0)+52>>2]|0)!=0:0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+52>>2]|0){if(c[(c[K>>2]|0)+48>>2]|0){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}do if(!(c[z>>2]|0)){if(e[(c[u>>2]|0)+6>>1]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(e[(c[L>>2]|0)+6>>1]&5){s=58;break}if((c[(c[L>>2]|0)+52>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){s=58;break}if((c[c[(c[L>>2]|0)+32>>2]>>2]|0)<1){s=58;break}if((c[c[c[K>>2]>>2]>>2]|0)!=(c[c[c[L>>2]>>2]>>2]|0)){s=58;break}c[L>>2]=c[(c[L>>2]|0)+52>>2]}if((s|0)==58){c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}if(!(c[(c[u>>2]|0)+48>>2]|0))break a;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[(c[u>>2]|0)+48>>2]>>2]|0))break a;if(!(e[(c[(c[(c[u>>2]|0)+48>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)+16>>1]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}while(0);c[x>>2]=0;P=c[x>>2]|0;i=Q;return P|0}while(0);c[(c[t>>2]|0)+492>>2]=c[(c[N>>2]|0)+8>>2];Mo(c[t>>2]|0,21,0,0,0)|0;c[(c[t>>2]|0)+492>>2]=c[m>>2];c[K>>2]=c[(c[K>>2]|0)+52>>2];while(1){if(!(c[K>>2]|0))break;c[q>>2]=c[(c[u>>2]|0)+48>>2];c[n>>2]=c[(c[u>>2]|0)+60>>2];c[p>>2]=c[(c[u>>2]|0)+64>>2];c[r>>2]=c[(c[u>>2]|0)+52>>2];c[(c[u>>2]|0)+48>>2]=0;c[(c[u>>2]|0)+32>>2]=0;c[(c[u>>2]|0)+52>>2]=0;c[(c[u>>2]|0)+60>>2]=0;c[(c[u>>2]|0)+64>>2]=0;c[o>>2]=Hp(c[B>>2]|0,c[u>>2]|0,0)|0;c[(c[u>>2]|0)+64>>2]=c[p>>2];c[(c[u>>2]|0)+60>>2]=c[n>>2];c[(c[u>>2]|0)+48>>2]=c[q>>2];c[(c[u>>2]|0)+32>>2]=c[J>>2];a[(c[u>>2]|0)+4>>0]=116;h=c[r>>2]|0;if(!(c[o>>2]|0))c[(c[u>>2]|0)+52>>2]=h;else{c[(c[o>>2]|0)+52>>2]=h;if(c[r>>2]|0)c[(c[r>>2]|0)+56>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=c[u>>2];c[(c[u>>2]|0)+52>>2]=c[o>>2]}if(a[(c[B>>2]|0)+64>>0]|0){s=74;break}c[K>>2]=c[(c[K>>2]|0)+52>>2]}if((s|0)==74){c[x>>2]=1;P=c[x>>2]|0;i=Q;return P|0}s=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=s;c[K>>2]=s;Nd(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Nd(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Nd(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[v>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[v>>2]|0)+40>>1]|0)==1){h=c[t>>2]|0;if(c[(c[t>>2]|0)+408>>2]|0)h=c[h+408>>2]|0;c[w>>2]=h;c[(c[v>>2]|0)+72>>2]=c[(c[w>>2]|0)+524>>2];c[(c[w>>2]|0)+524>>2]=c[v>>2]}else{w=(c[v>>2]|0)+40|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[u>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+32>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+32>>2];if(!(c[J>>2]|0)){w=Tn(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+32>>2]=w;c[J>>2]=w;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(w=sx(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[y>>2]|0)+1|0)|0,c[J>>2]=w,c[(c[I>>2]|0)+32>>2]=w,(a[(c[B>>2]|0)+64>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;en(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[y>>2]|0)|0)*72|0)+48>>2]|0);j=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[y>>2]|0)|0)*72|0)|0;l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;h=j+72|0;do{c[j>>2]=c[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(h|0));j=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;h=j+72|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(h|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[y>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=ef(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Jo(c[P>>2]|0)|0;c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}gy(c[B>>2]|0,c[c[I>>2]>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0);if(c[z>>2]|0){gy(c[B>>2]|0,c[(c[I>>2]|0)+40>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0);w=hy(c[B>>2]|0,c[(c[I>>2]|0)+44>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0)|0;c[(c[I>>2]|0)+44>>2]=w}do if(c[(c[K>>2]|0)+48>>2]|0){c[H>>2]=c[(c[K>>2]|0)+48>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+48>>2]=c[H>>2];c[(c[K>>2]|0)+48>>2]=0}else{if(!(c[(c[I>>2]|0)+48>>2]|0))break;gy(c[B>>2]|0,c[(c[I>>2]|0)+48>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0)}while(0);if(c[(c[K>>2]|0)+36>>2]|0)c[O>>2]=mq(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;else c[O>>2]=0;if(c[A>>2]|0){c[(c[I>>2]|0)+44>>2]=c[(c[I>>2]|0)+36>>2];c[(c[I>>2]|0)+36>>2]=c[O>>2];v=hy(c[B>>2]|0,c[(c[I>>2]|0)+44>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0)|0;c[(c[I>>2]|0)+44>>2]=v;v=c[B>>2]|0;w=c[(c[I>>2]|0)+44>>2]|0;w=_q(v,w,mq(c[B>>2]|0,c[(c[K>>2]|0)+44>>2]|0,0)|0)|0;c[(c[I>>2]|0)+44>>2]=w;w=uq(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0;c[(c[I>>2]|0)+40>>2]=w}else{w=hy(c[B>>2]|0,c[(c[I>>2]|0)+36>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0)|0;c[(c[I>>2]|0)+36>>2]=w;w=_q(c[B>>2]|0,c[(c[I>>2]|0)+36>>2]|0,c[O>>2]|0)|0;c[(c[I>>2]|0)+36>>2]=w}w=(c[I>>2]|0)+6|0;b[w>>1]=e[w>>1]|e[(c[K>>2]|0)+6>>1]&1;if(c[(c[K>>2]|0)+60>>2]|0){c[(c[I>>2]|0)+60>>2]=c[(c[K>>2]|0)+60>>2];c[(c[K>>2]|0)+60>>2]=0}c[I>>2]=c[(c[I>>2]|0)+52>>2];c[K>>2]=c[(c[K>>2]|0)+52>>2]}an(c[B>>2]|0,c[L>>2]|0);c[x>>2]=1;P=c[x>>2]|0;i=Q;return P|0}function wx(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+56>>2]=0;i=d;return}function xx(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,A=0,B=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;ca=i;i=i+256|0;ba=ca+16|0;aa=ca+24|0;k=ca;j=ca+8|0;V=ca+200|0;l=ca+36|0;W=ca+208|0;X=ca+100|0;$=ca+88|0;N=ca+40|0;U=ca+48|0;Z=ca+52|0;_=ca+72|0;Y=ca+76|0;y=ca+80|0;z=ca+104|0;m=ca+92|0;D=ca+84|0;S=ca+204|0;E=ca+240|0;O=ca+220|0;I=ca+228|0;L=ca+232|0;n=ca+236|0;T=ca+120|0;u=ca+140|0;s=ca+224|0;w=ca+148|0;F=ca+152|0;Q=ca+156|0;R=ca+160|0;v=ca+164|0;t=ca+168|0;x=ca+172|0;J=ca+176|0;M=ca+28|0;o=ca+44|0;A=ca+180|0;P=ca+96|0;G=ca+216|0;r=ca+116|0;H=ca+32|0;K=ca+144|0;q=ca+108|0;B=ca+112|0;p=ca+212|0;c[l>>2]=f;c[W>>2]=g;c[X>>2]=h;c[$>>2]=0;c[_>>2]=0;c[y>>2]=0;c[z>>2]=0;c[Y>>2]=c[c[l>>2]>>2];c[N>>2]=c[(c[W>>2]|0)+52>>2];f=c[X>>2]|0;c[Z>>2]=c[f>>2];c[Z+4>>2]=c[f+4>>2];c[Z+8>>2]=c[f+8>>2];c[Z+12>>2]=c[f+12>>2];c[Z+16>>2]=c[f+16>>2];a:do if(!(c[(c[N>>2]|0)+48>>2]|0)){h=c[l>>2]|0;if(c[(c[N>>2]|0)+60>>2]|0){c[k>>2]=$x(d[(c[W>>2]|0)+4>>0]|0)|0;sf(h,27375,k);c[$>>2]=1;break}c[U>>2]=Po(h)|0;if((d[Z>>0]|0|0)==12){Ro(c[U>>2]|0,57,c[Z+4>>2]|0,c[c[c[W>>2]>>2]>>2]|0)|0;xf(c[U>>2]|0,8);a[Z>>0]=14}g=e[(c[W>>2]|0)+6>>1]|0;if((c[c[c[W>>2]>>2]>>2]|0)!=(c[c[c[N>>2]>>2]>>2]|0)){h=c[l>>2]|0;if(g&128)sf(h,27420,aa);else{c[ba>>2]=$x(d[(c[W>>2]|0)+4>>0]|0)|0;sf(h,27466,ba)}c[$>>2]=1;break}b:do if(g&2048)ay(c[l>>2]|0,c[W>>2]|0,Z);else{if(c[(c[W>>2]|0)+48>>2]|0){c[V>>2]=by(c[l>>2]|0,c[W>>2]|0,c[X>>2]|0)|0;ba=c[V>>2]|0;i=ca;return ba|0}switch(d[(c[W>>2]|0)+4>>0]|0|0){case 116:{c[m>>2]=0;c[(c[N>>2]|0)+8>>2]=c[(c[W>>2]|0)+8>>2];c[(c[N>>2]|0)+12>>2]=c[(c[W>>2]|0)+12>>2];c[(c[N>>2]|0)+60>>2]=c[(c[W>>2]|0)+60>>2];c[(c[N>>2]|0)+64>>2]=c[(c[W>>2]|0)+64>>2];c[y>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[N>>2]|0,Z)|0;c[(c[W>>2]|0)+60>>2]=0;c[(c[W>>2]|0)+64>>2]=0;if(c[$>>2]|0)break a;c[(c[W>>2]|0)+52>>2]=0;c[(c[W>>2]|0)+8>>2]=c[(c[N>>2]|0)+8>>2];c[(c[W>>2]|0)+12>>2]=c[(c[N>>2]|0)+12>>2];if(c[(c[W>>2]|0)+8>>2]|0)c[m>>2]=ur(c[U>>2]|0,139,c[(c[W>>2]|0)+8>>2]|0)|0;c[z>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[W>>2]|0,Z)|0;c[_>>2]=c[(c[W>>2]|0)+52>>2];c[(c[W>>2]|0)+52>>2]=c[N>>2];aa=(c[N>>2]|0)+24|0;ba=(c[W>>2]|0)+24|0;T=ba;c[ba>>2]=DH(c[T>>2]|0,c[T+4>>2]|0,c[aa>>2]|0,c[aa+4>>2]|0)|0;c[ba+4>>2]=C;if(((c[(c[N>>2]|0)+60>>2]|0)!=0?(ba=(jq(c[(c[N>>2]|0)+60>>2]|0,D)|0)!=0,ba&(c[D>>2]|0)>0):0)?(aa=(c[W>>2]|0)+24|0,S=c[aa+4>>2]|0,ba=c[D>>2]|0,T=((ba|0)<0)<<31>>31,S>>>0>T>>>0|((S|0)==(T|0)?(c[aa>>2]|0)>>>0>ba>>>0:0)):0){aa=c[D>>2]|0;ba=(c[W>>2]|0)+24|0;c[ba>>2]=aa;c[ba+4>>2]=((aa|0)<0)<<31>>31}if(!(c[m>>2]|0))break b;jp(c[U>>2]|0,c[m>>2]|0);break b}case 115:case 117:{a[E>>0]=0;c[O>>2]=1;if((d[Z>>0]|0|0)==(c[O>>2]|0))c[S>>2]=c[Z+4>>2];else{aa=(c[l>>2]|0)+68|0;ba=c[aa>>2]|0;c[aa>>2]=ba+1;c[S>>2]=ba;c[n>>2]=Ro(c[U>>2]|0,57,c[S>>2]|0,0)|0;c[(c[W>>2]|0)+16>>2]=c[n>>2];ba=(Rq(c[W>>2]|0)|0)+6|0;b[ba>>1]=e[ba>>1]|0|8}Ss(T,c[O>>2]|0,c[S>>2]|0);c[y>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[N>>2]|0,T)|0;if(c[$>>2]|0)break a;if((d[(c[W>>2]|0)+4>>0]|0|0)==117)a[E>>0]=2;else a[E>>0]=1;c[(c[W>>2]|0)+52>>2]=0;c[I>>2]=c[(c[W>>2]|0)+60>>2];c[(c[W>>2]|0)+60>>2]=0;c[L>>2]=c[(c[W>>2]|0)+64>>2];c[(c[W>>2]|0)+64>>2]=0;a[T>>0]=a[E>>0]|0;c[z>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[W>>2]|0,T)|0;$m(c[Y>>2]|0,c[(c[W>>2]|0)+48>>2]|0);c[_>>2]=c[(c[W>>2]|0)+52>>2];c[(c[W>>2]|0)+52>>2]=c[N>>2];c[(c[W>>2]|0)+48>>2]=0;if((d[(c[W>>2]|0)+4>>0]|0|0)==115){aa=(c[N>>2]|0)+24|0;ba=(c[W>>2]|0)+24|0;T=ba;aa=DH(c[T>>2]|0,c[T+4>>2]|0,c[aa>>2]|0,c[aa+4>>2]|0)|0;c[ba>>2]=aa;c[ba+4>>2]=C}dn(c[Y>>2]|0,c[(c[W>>2]|0)+60>>2]|0);c[(c[W>>2]|0)+60>>2]=c[I>>2];c[(c[W>>2]|0)+64>>2]=c[L>>2];c[(c[W>>2]|0)+8>>2]=0;c[(c[W>>2]|0)+12>>2]=0;if((d[Z>>0]|0|0)==(c[O>>2]|0))break b;if((d[Z>>0]|0|0)==9){c[F>>2]=c[W>>2];while(1){if(!(c[(c[F>>2]|0)+52>>2]|0))break;c[F>>2]=c[(c[F>>2]|0)+52>>2]}Sx(c[l>>2]|0,0,c[c[F>>2]>>2]|0)}c[s>>2]=zr(c[U>>2]|0)|0;c[u>>2]=zr(c[U>>2]|0)|0;zx(c[l>>2]|0,c[W>>2]|0,c[s>>2]|0);Ro(c[U>>2]|0,108,c[S>>2]|0,c[s>>2]|0)|0;c[w>>2]=yr(c[U>>2]|0)|0;Fx(c[l>>2]|0,c[W>>2]|0,c[c[W>>2]>>2]|0,c[S>>2]|0,0,0,Z,c[u>>2]|0,c[s>>2]|0);Br(c[U>>2]|0,c[u>>2]|0);Ro(c[U>>2]|0,9,c[S>>2]|0,c[w>>2]|0)|0;Br(c[U>>2]|0,c[s>>2]|0);Ro(c[U>>2]|0,61,c[S>>2]|0,0)|0;break b}default:{ba=(c[l>>2]|0)+68|0;aa=c[ba>>2]|0;c[ba>>2]=aa+1;c[Q>>2]=aa;aa=(c[l>>2]|0)+68|0;ba=c[aa>>2]|0;c[aa>>2]=ba+1;c[R>>2]=ba;c[o>>2]=Ro(c[U>>2]|0,57,c[Q>>2]|0,0)|0;c[(c[W>>2]|0)+16>>2]=c[o>>2];ba=(Rq(c[W>>2]|0)|0)+6|0;b[ba>>1]=e[ba>>1]|0|8;Ss(A,1,c[Q>>2]|0);c[y>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[N>>2]|0,A)|0;if(c[$>>2]|0)break a;c[o>>2]=Ro(c[U>>2]|0,57,c[R>>2]|0,0)|0;c[(c[W>>2]|0)+16+4>>2]=c[o>>2];c[(c[W>>2]|0)+52>>2]=0;c[J>>2]=c[(c[W>>2]|0)+60>>2];c[(c[W>>2]|0)+60>>2]=0;c[M>>2]=c[(c[W>>2]|0)+64>>2];c[(c[W>>2]|0)+64>>2]=0;c[A+4>>2]=c[R>>2];c[z>>2]=c[(c[l>>2]|0)+468>>2];c[$>>2]=Kn(c[l>>2]|0,c[W>>2]|0,A)|0;c[_>>2]=c[(c[W>>2]|0)+52>>2];c[(c[W>>2]|0)+52>>2]=c[N>>2];aa=(c[W>>2]|0)+24|0;S=c[aa+4>>2]|0;ba=(c[N>>2]|0)+24|0;T=c[ba+4>>2]|0;if(S>>>0>T>>>0|((S|0)==(T|0)?(c[aa>>2]|0)>>>0>(c[ba>>2]|0)>>>0:0)){T=(c[N>>2]|0)+24|0;aa=c[T+4>>2]|0;ba=(c[W>>2]|0)+24|0;c[ba>>2]=c[T>>2];c[ba+4>>2]=aa}dn(c[Y>>2]|0,c[(c[W>>2]|0)+60>>2]|0);c[(c[W>>2]|0)+60>>2]=c[J>>2];c[(c[W>>2]|0)+64>>2]=c[M>>2];if((d[Z>>0]|0|0)==9){c[G>>2]=c[W>>2];while(1){if(!(c[(c[G>>2]|0)+52>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+52>>2]}Sx(c[l>>2]|0,0,c[c[G>>2]>>2]|0)}c[t>>2]=zr(c[U>>2]|0)|0;c[v>>2]=zr(c[U>>2]|0)|0;zx(c[l>>2]|0,c[W>>2]|0,c[t>>2]|0);Ro(c[U>>2]|0,108,c[Q>>2]|0,c[t>>2]|0)|0;c[P>>2]=Wo(c[l>>2]|0)|0;c[x>>2]=Ro(c[U>>2]|0,101,c[Q>>2]|0,c[P>>2]|0)|0;wf(c[U>>2]|0,68,c[R>>2]|0,c[v>>2]|0,c[P>>2]|0,0)|0;Xo(c[l>>2]|0,c[P>>2]|0);Fx(c[l>>2]|0,c[W>>2]|0,c[c[W>>2]>>2]|0,c[Q>>2]|0,0,0,Z,c[v>>2]|0,c[t>>2]|0);Br(c[U>>2]|0,c[v>>2]|0);Ro(c[U>>2]|0,9,c[Q>>2]|0,c[x>>2]|0)|0;Br(c[U>>2]|0,c[t>>2]|0);Ro(c[U>>2]|0,61,c[R>>2]|0,0)|0;Ro(c[U>>2]|0,61,c[Q>>2]|0,0)|0;break b}}}while(0);cy(c[l>>2]|0,d[(c[W>>2]|0)+4>>0]|0,c[y>>2]|0,c[z>>2]|0,(d[(c[W>>2]|0)+4>>0]|0|0)!=116&1);if((e[(c[W>>2]|0)+6>>1]|0)&8){c[B>>2]=c[c[c[W>>2]>>2]>>2];c[H>>2]=Jr(c[Y>>2]|0,c[B>>2]|0,1)|0;if(!(c[H>>2]|0)){c[$>>2]=7;break}c[r>>2]=0;c[q>>2]=(c[H>>2]|0)+20;while(1){if((c[r>>2]|0)>=(c[B>>2]|0))break;ba=dy(c[l>>2]|0,c[W>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=ba;if(!(c[c[q>>2]>>2]|0))c[c[q>>2]>>2]=c[(c[Y>>2]|0)+8>>2];c[r>>2]=(c[r>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+4}c[K>>2]=c[W>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=2)break;c[p>>2]=c[(c[K>>2]|0)+16+(c[r>>2]<<2)>>2];if((c[p>>2]|0)<0)break;Bf(c[U>>2]|0,c[p>>2]|0,c[B>>2]|0);aa=c[U>>2]|0;ba=c[p>>2]|0;Df(aa,ba,Kr(c[H>>2]|0)|0,-6);c[(c[K>>2]|0)+16+(c[r>>2]<<2)>>2]=-1;c[r>>2]=(c[r>>2]|0)+1}c[K>>2]=c[(c[K>>2]|0)+52>>2]}ah(c[H>>2]|0)}}else{ba=c[l>>2]|0;c[j>>2]=$x(d[(c[W>>2]|0)+4>>0]|0)|0;sf(ba,27327,j);c[$>>2]=1}while(0);c[(c[X>>2]|0)+8>>2]=c[Z+8>>2];c[(c[X>>2]|0)+12>>2]=c[Z+12>>2];an(c[Y>>2]|0,c[_>>2]|0);c[V>>2]=c[$>>2];ba=c[V>>2]|0;i=ca;return ba|0}function yx(b,d,e,f){b=b|0;d=d|0;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;q=i;i=i+48|0;g=q;h=q+16|0;j=q+28|0;r=q+4|0;m=q+32|0;o=q+36|0;p=q+12|0;k=q+24|0;l=q+20|0;n=q+8|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Jr(c[k>>2]|0,(c[m>>2]|0)+(c[r>>2]|0)-(c[j>>2]|0)|0,1)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=Pp(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function zx(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+4|0;f=n+16|0;g=n+8|0;m=n+20|0;j=n+28|0;k=n;h=n+12|0;l=n+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;c[j>>2]=0;if(c[(c[f>>2]|0)+8>>2]|0){i=n;return}$t(c[e>>2]|0);if(!(c[(c[f>>2]|0)+60>>2]|0)){i=n;return}b=(c[e>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[j>>2]=a;c[(c[f>>2]|0)+8>>2]=a;c[m>>2]=Po(c[e>>2]|0)|0;do if(jq(c[(c[f>>2]|0)+60>>2]|0,l)|0){Ro(c[m>>2]|0,25,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Ro(c[m>>2]|0,16,0,c[g>>2]|0)|0;break}if((c[l>>2]|0)>=0?(b=(c[f>>2]|0)+24|0,g=c[b+4>>2]|0,a=c[l>>2]|0,d=((a|0)<0)<<31>>31,g>>>0>d>>>0|((g|0)==(d|0)?(c[b>>2]|0)>>>0>a>>>0:0)):0){b=c[l>>2]|0;a=(c[f>>2]|0)+24|0;c[a>>2]=b;c[a+4>>2]=((b|0)<0)<<31>>31}}else{Fs(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0,c[j>>2]|0);ur(c[m>>2]|0,38,c[j>>2]|0)|0;Ro(c[m>>2]|0,139,c[j>>2]|0,c[g>>2]|0)|0}while(0);if(!(c[(c[f>>2]|0)+64>>2]|0)){i=n;return}b=(c[e>>2]|0)+72|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[k>>2]=a;c[(c[f>>2]|0)+12>>2]=a;a=(c[e>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+1;Fs(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0,c[k>>2]|0);ur(c[m>>2]|0,38,c[k>>2]|0)|0;c[h>>2]=ur(c[m>>2]|0,137,c[k>>2]|0)|0;Ro(c[m>>2]|0,25,0,c[k>>2]|0)|0;jp(c[m>>2]|0,c[h>>2]|0);Uo(c[m>>2]|0,89,c[j>>2]|0,c[k>>2]|0,(c[k>>2]|0)+1|0)|0;c[h>>2]=ur(c[m>>2]|0,137,c[j>>2]|0)|0;Ro(c[m>>2]|0,25,-1,(c[k>>2]|0)+1|0)|0;jp(c[m>>2]|0,c[h>>2]|0);i=n;return}function Ax(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=Wt(b[(c[e>>2]|0)+32>>1]|0)|0;i=d;return a|0}function Bx(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+40>>0]|0|0}function Cx(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+36>>0]|0}function Dx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function Ex(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function Fx(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;U=i;i=i+128|0;P=U+60|0;Q=U+56|0;s=U+44|0;o=U+108|0;R=U+116|0;p=U+16|0;L=U+20|0;t=U+24|0;S=U+28|0;T=U+32|0;C=U+36|0;q=U+88|0;O=U+96|0;B=U+104|0;N=U+112|0;E=U+120|0;M=U+124|0;r=U+64|0;v=U+68|0;z=U+72|0;w=U+76|0;x=U+80|0;G=U+12|0;u=U+8|0;J=U;H=U+4|0;D=U+84|0;I=U+40|0;K=U+92|0;y=U+48|0;A=U+100|0;F=U+52|0;c[P>>2]=b;c[Q>>2]=f;c[s>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[L>>2]=l;c[t>>2]=m;c[S>>2]=n;c[T>>2]=c[(c[P>>2]|0)+8>>2];c[B>>2]=d[c[L>>2]>>0];c[N>>2]=c[(c[L>>2]|0)+4>>2];c[M>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[q>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[q>>2]|0)!=0))Ux(c[T>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[t>>2]|0);c[E>>2]=c[c[s>>2]>>2];if(c[(c[L>>2]|0)+8>>2]|0){if(((c[(c[L>>2]|0)+8>>2]|0)+(c[E>>2]|0)|0)>(c[(c[P>>2]|0)+72>>2]|0)){h=(c[P>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[E>>2]|0)}}else{if(c[R>>2]|0){c[M>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+24>>0]|0)&1))c[M>>2]=(c[M>>2]|0)+1;h=(c[P>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[M>>2]|0)}c[(c[L>>2]|0)+8>>2]=(c[(c[P>>2]|0)+72>>2]|0)+1;h=(c[P>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[E>>2]|0)}c[(c[L>>2]|0)+12>>2]=c[E>>2];c[O>>2]=c[(c[L>>2]|0)+8>>2];a:do if((c[o>>2]|0)<0){if((c[B>>2]|0)!=3)Ns(c[P>>2]|0,c[s>>2]|0,c[O>>2]|0,(((c[B>>2]|0)==9?1:(c[B>>2]|0)==13)?1:0)&255)|0}else{c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[E>>2]|0))break a;Uo(c[T>>2]|0,47,c[o>>2]|0,c[C>>2]|0,(c[O>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}}while(0);if(c[q>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[z>>2]=(c[(c[P>>2]|0)+72>>2]|0)+1;q=(c[P>>2]|0)+72|0;c[q>>2]=(c[q>>2]|0)+(c[E>>2]|0);Ef(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0);c[r>>2]=Ws(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[r>>2]>>0]=28;c[(c[r>>2]|0)+4>>2]=1;c[(c[r>>2]|0)+8>>2]=c[z>>2];c[v>>2]=(yr(c[T>>2]|0)|0)+(c[E>>2]|0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[E>>2]|0))break;c[w>>2]=Pp(c[P>>2]|0,c[(c[(c[s>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0)|0;m=c[T>>2]|0;n=(c[O>>2]|0)+(c[C>>2]|0)|0;if((c[C>>2]|0)<((c[E>>2]|0)-1|0))Uo(m,78,n,c[v>>2]|0,(c[z>>2]|0)+(c[C>>2]|0)|0)|0;else Uo(m,79,n,c[t>>2]|0,(c[z>>2]|0)+(c[C>>2]|0)|0)|0;Df(c[T>>2]|0,-1,c[w>>2]|0,-4);xf(c[T>>2]|0,-128);c[C>>2]=(c[C>>2]|0)+1}Uo(c[T>>2]|0,33,c[O>>2]|0,c[z>>2]|0,(c[E>>2]|0)-1|0)|0;break}case 1:{Ef(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0);break}default:Vx(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[t>>2]|0,c[E>>2]|0,c[O>>2]|0)}if(!(c[R>>2]|0))Ux(c[T>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[t>>2]|0)}b:do switch(c[B>>2]|0){case 1:{c[x>>2]=Wo(c[P>>2]|0)|0;Uo(c[T>>2]|0,49,c[O>>2]|0,c[E>>2]|0,c[x>>2]|0)|0;Ro(c[T>>2]|0,110,c[N>>2]|0,c[x>>2]|0)|0;Xo(c[P>>2]|0,c[x>>2]|0);break}case 2:{Uo(c[T>>2]|0,111,c[N>>2]|0,c[O>>2]|0,c[E>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[G>>2]=ps(c[P>>2]|0,(c[M>>2]|0)+1|0)|0;Uo(c[T>>2]|0,49,c[O>>2]|0,c[E>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0)|0;if((c[B>>2]|0)==6){c[u>>2]=(yr(c[T>>2]|0)|0)+4;wf(c[T>>2]|0,69,(c[N>>2]|0)+1|0,c[u>>2]|0,c[G>>2]|0,0)|0;Ro(c[T>>2]|0,110,(c[N>>2]|0)+1|0,c[G>>2]|0)|0}m=c[P>>2]|0;if(c[R>>2]|0)_x(m,c[R>>2]|0,c[Q>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0,1,c[M>>2]|0);else{c[J>>2]=Wo(m)|0;Ro(c[T>>2]|0,74,c[N>>2]|0,c[J>>2]|0)|0;Uo(c[T>>2]|0,75,c[N>>2]|0,c[G>>2]|0,c[J>>2]|0)|0;xf(c[T>>2]|0,8);Xo(c[P>>2]|0,c[J>>2]|0)}ss(c[P>>2]|0,c[G>>2]|0,(c[M>>2]|0)+1|0);break}case 11:{m=bt(c[c[(c[s>>2]|0)+4>>2]>>2]|0,a[(c[L>>2]|0)+1>>0]|0)|0;a[(c[L>>2]|0)+1>>0]=m;m=c[P>>2]|0;if(c[R>>2]|0){_x(m,c[R>>2]|0,c[Q>>2]|0,c[O>>2]|0,1,c[M>>2]|0);break b}else{c[H>>2]=Wo(m)|0;To(c[T>>2]|0,49,c[O>>2]|0,1,c[H>>2]|0,(c[L>>2]|0)+1|0,1)|0;Ls(c[P>>2]|0,c[O>>2]|0,1);Ro(c[T>>2]|0,110,c[N>>2]|0,c[H>>2]|0)|0;Xo(c[P>>2]|0,c[H>>2]|0);break b}}case 3:{Ro(c[T>>2]|0,25,1,c[N>>2]|0)|0;break}case 10:{if(c[R>>2]|0)_x(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[O>>2]|0,1,c[M>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){_x(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[O>>2]|0,c[E>>2]|0,c[M>>2]|0);break b}m=c[T>>2]|0;if((c[B>>2]|0)==13){ur(m,22,c[(c[L>>2]|0)+4>>2]|0)|0;break b}else{Ro(m,35,c[O>>2]|0,c[E>>2]|0)|0;Ls(c[P>>2]|0,c[O>>2]|0,c[E>>2]|0);break b}}case 7:case 8:{c[A>>2]=0;c[F>>2]=c[(c[L>>2]|0)+16>>2];c[D>>2]=c[c[F>>2]>>2];c[I>>2]=Wo(c[P>>2]|0)|0;c[K>>2]=ps(c[P>>2]|0,(c[D>>2]|0)+2|0)|0;c[y>>2]=(c[K>>2]|0)+(c[D>>2]|0)+1;if((c[B>>2]|0)==8)c[A>>2]=wf(c[T>>2]|0,69,(c[N>>2]|0)+1|0,0,c[O>>2]|0,c[E>>2]|0)|0;Uo(c[T>>2]|0,49,c[O>>2]|0,c[E>>2]|0,c[y>>2]|0)|0;if((c[B>>2]|0)==8){Ro(c[T>>2]|0,110,(c[N>>2]|0)+1|0,c[y>>2]|0)|0;xf(c[T>>2]|0,16)}c[C>>2]=0;while(1){m=c[T>>2]|0;if((c[C>>2]|0)>=(c[D>>2]|0))break;Ro(m,34,(c[O>>2]|0)+(e[(c[(c[F>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]|0)-1|0,(c[K>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}Ro(m,73,c[N>>2]|0,(c[K>>2]|0)+(c[D>>2]|0)|0)|0;Uo(c[T>>2]|0,49,c[K>>2]|0,(c[D>>2]|0)+2|0,c[I>>2]|0)|0;Ro(c[T>>2]|0,110,c[N>>2]|0,c[I>>2]|0)|0;if(c[A>>2]|0)jp(c[T>>2]|0,c[A>>2]|0);Xo(c[P>>2]|0,c[I>>2]|0);ss(c[P>>2]|0,c[K>>2]|0,(c[D>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=U;return}if(!(c[(c[Q>>2]|0)+8>>2]|0)){i=U;return}Uo(c[T>>2]|0,139,c[(c[Q>>2]|0)+8>>2]|0,c[S>>2]|0,-1)|0;i=U;return}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;Hx(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function Hx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;e=d+24|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=52;c[f+4>>2]=53;c[f+20>>2]=c[g>>2];dq(f,c[e>>2]|0)|0;i=d;return}function Ix(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+450>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=tf(b,27304,h)|0;To(c[g>>2]|0,155,c[(c[e>>2]|0)+464>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function Jx(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+37>>0]|0|0}function Kx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;Uo(c[(c[j>>2]|0)+8>>2]|0,32,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;ts(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Lx(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;v=i;i=i+64|0;f=v+52|0;g=v+44|0;u=v+24|0;k=v+20|0;t=v+12|0;h=v+40|0;p=v+48|0;n=v+56|0;m=v+28|0;j=v+8|0;s=v+4|0;r=v+32|0;o=v;q=v+16|0;l=v+36|0;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=ps(c[f>>2]|0,c[m>>2]|0)|0;Ns(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=zr(c[u>>2]|0)|0;Vx(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=Pp(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+72|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}To(c[u>>2]|0,36,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}To(c[u>>2]|0,10,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;xf(c[u>>2]|0,c[m>>2]&255);Ls(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);ss(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){Br(c[u>>2]|0,c[j>>2]|0);$t(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=ur(c[u>>2]|0,45,c[t>>2]|0)|0;$t(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;Fs(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;$t(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}jp(c[u>>2]|0,c[h>>2]|0);i=v;return}function Mx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;To(c[h>>2]|0,140,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function Nx(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;m=i;i=i+48|0;l=m;d=m+24|0;e=m+20|0;k=m+8|0;f=m+16|0;h=m+4|0;n=m+12|0;g=m+28|0;j=m+32|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}Uo(c[k>>2]|0,28,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=yx(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;To(c[k>>2]|0,57,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}sf(c[d>>2]|0,27253,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function Ox(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+36>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+32>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+32>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+44>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=155){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Px(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+450>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+44>>0]|0)&32))e=1;else e=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else e=0;c[h>>2]=e&1;b=c[c[j>>2]>>2]|0;f=(c[h>>2]|0)!=0?27212:14425;if(c[h>>2]|0)e=c[c[g>>2]>>2]|0;else e=14425;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=f;c[l+8>>2]=e;c[m>>2]=tf(b,27235,l)|0;To(c[(c[j>>2]|0)+8>>2]|0,155,c[(c[j>>2]|0)+464>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function Qx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==156:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!($b(c[k>>2]|0,27204)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!($b(c[k>>2]|0,27208)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function Rx(a,b,e,f,g){a=a|0;b=b|0;e=e|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;E=i;i=i+96|0;s=E+40|0;k=E+52|0;B=E+4|0;t=E+76|0;u=E+36|0;D=E+16|0;C=E+20|0;v=E+56|0;A=E+64|0;j=E+72|0;z=E+80|0;q=E+84|0;w=E+44|0;m=E+48|0;x=E+8|0;y=E;o=E+24|0;n=E+28|0;p=E+60|0;l=E+12|0;h=E+32|0;r=E+68|0;c[s>>2]=a;c[k>>2]=b;c[B>>2]=e;c[t>>2]=f;c[u>>2]=g;c[D>>2]=c[(c[s>>2]|0)+8>>2];c[C>>2]=zr(c[D>>2]|0)|0;c[v>>2]=zr(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[w>>2]=d[c[u>>2]>>0];c[m>>2]=c[(c[u>>2]|0)+4>>2];if(c[(c[B>>2]|0)+16>>2]|0){Ro(c[D>>2]|0,17,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Ro(c[D>>2]|0,16,0,c[C>>2]|0)|0;Br(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[w>>2]|0)==9|(c[w>>2]|0)==13){c[y>>2]=0;c[x>>2]=c[(c[u>>2]|0)+8>>2];c[p>>2]=c[t>>2]}else{c[y>>2]=Wo(c[s>>2]|0)|0;c[x>>2]=Wo(c[s>>2]|0)|0;c[p>>2]=1}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+24>>0]|0)&1){e=(c[s>>2]|0)+72|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[s>>2]|0)+68|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=Rs(c[s>>2]|0)|0;Uo(c[D>>2]|0,60,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)jp(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(Ro(c[D>>2]|0,106,c[z>>2]|0,c[C>>2]|0)|0);Ux(c[D>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[v>>2]|0);Uo(c[D>>2]|0,100,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[h>>2]=0}else{c[A>>2]=1+(Ro(c[D>>2]|0,107,c[z>>2]|0,c[C>>2]|0)|0);Ux(c[D>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[v>>2]|0);c[n>>2]=c[z>>2];c[h>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;Uo(c[D>>2]|0,47,c[n>>2]|0,(c[o>>2]|0)+(c[h>>2]|0)+(c[l>>2]|0)|0,(c[x>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[w>>2]|0){case 12:case 14:{Ro(c[D>>2]|0,74,c[m>>2]|0,c[y>>2]|0)|0;Uo(c[D>>2]|0,75,c[m>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;xf(c[D>>2]|0,8);break}case 11:{To(c[D>>2]|0,49,c[x>>2]|0,1,c[y>>2]|0,(c[u>>2]|0)+1|0,1)|0;Ls(c[s>>2]|0,c[x>>2]|0,1);Ro(c[D>>2]|0,110,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:{Kx(c[s>>2]|0,c[x>>2]|0,c[m>>2]|0,1);break}default:{k=c[D>>2]|0;j=c[u>>2]|0;if((c[w>>2]|0)==9){Ro(k,35,c[j+8>>2]|0,c[t>>2]|0)|0;Ls(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[t>>2]|0);break a}else{ur(k,22,c[j+4>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){Xo(c[s>>2]|0,c[x>>2]|0);Xo(c[s>>2]|0,c[y>>2]|0)}Br(c[D>>2]|0,c[v>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+24>>0]|0)&1)Ro(k,5,j,h)|0;else Ro(k,9,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;Br(B,D);i=E;return}ur(c[D>>2]|0,18,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;Br(B,D);i=E;return}function Sx(e,f,g){e=e|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;B=i;i=i+80|0;v=B+8|0;u=B;h=B+16|0;j=B+12|0;k=B+40|0;t=B+20|0;n=B+24|0;p=B+32|0;l=B+28|0;m=B+36|0;s=B+44|0;q=B+48|0;y=B+52|0;r=B+56|0;x=B+60|0;o=B+64|0;z=B+68|0;w=B+72|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+450>>0]|0){i=B;return}if((c[t>>2]|0)==0?1:(d[(c[h>>2]|0)+16>>0]|0)!=0){i=B;return}if(d[(c[l>>2]|0)+64>>0]|0){i=B;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&32|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;Kt(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];Lt(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)==154){if(!(c[j>>2]|0))A=26}else if(!((c[j>>2]|0)!=0?(d[c[q>>2]>>0]|0)==156:0))A=26;if((A|0)==26){A=0;c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=tf(g,27195,v)|0}else g=ef(g,c[w>>2]|0)|0;c[w>>2]=g;Lt(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,23)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+40>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+36>>1];if((c[o>>2]|0)<0)c[x>>2]=18143;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;Lt(e,f,0,ef(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,23)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=tf(f,21695,u)|0;Lt(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,23)|0;break}else{Lt(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}Tx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=B;return}function Tx(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,l=0,m=0,n=0;l=i;i=i+64|0;m=l+32|0;n=l+44|0;e=l+36|0;j=l+48|0;f=l+56|0;h=l;g=l+40|0;k=l+52|0;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=Np(h,c[g>>2]|0,0)|0;Lt(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function Ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=j;return}c[h>>2]=Uo(c[e>>2]|0,138,c[f>>2]|0,0,-1)|0;Ro(c[e>>2]|0,16,0,c[g>>2]|0)|0;jp(c[e>>2]|0,c[h>>2]|0);i=j;return}function Vx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+8|0;k=g+16|0;o=g+20|0;m=g+24|0;n=g+4|0;l=g;h=g+12|0;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=Wo(c[j>>2]|0)|0;wf(c[l>>2]|0,69,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Uo(c[l>>2]|0,49,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Ro(c[l>>2]|0,110,c[k>>2]|0,c[h>>2]|0)|0;Xo(c[j>>2]|0,c[h>>2]|0);i=g;return}function Wx(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;A=i;i=i+80|0;t=A+64|0;l=A+44|0;u=A+24|0;w=A+28|0;q=A+12|0;z=A+40|0;r=A+48|0;x=A+56|0;p=A+60|0;m=A+8|0;j=A+4|0;k=A+32|0;h=A;o=A+16|0;s=A+36|0;n=A+20|0;y=A+52|0;v=A+68|0;c[l>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[l>>2]|0)+20>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 154:case 156:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+40>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[j>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=Yx(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[j>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[j>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+72|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[h>>2]=c[c[o>>2]>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==154?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[k>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-100;b[(c[u>>2]|0)+34>>1]=c[j>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 155:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[l>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(oq(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[(c[(c[c[z>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[w>>2]=Zx(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];j=(c[z>>2]|0)+72|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;c[(c[y>>2]|0)+8>>2]=h;h=c[c[z>>2]>>2]|0;j=c[(c[u>>2]|0)+8>>2]|0;k=Ed(c[(c[u>>2]|0)+8>>2]|0)|0;if(c[(c[u>>2]|0)+20>>2]|0)l=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else l=0;v=Zf(h,j,k,l,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+68|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function Xx(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Yx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=ju(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function Zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=ju(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function _x(b,f,g,h,j,k){b=b|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;I=i;i=i+96|0;o=I+84|0;C=I;D=I+4|0;l=I+40|0;p=I+76|0;m=I+16|0;H=I+20|0;s=I+24|0;t=I+64|0;n=I+72|0;z=I+80|0;B=I+88|0;v=I+44|0;w=I+48|0;A=I+52|0;q=I+8|0;r=I+56|0;y=I+28|0;u=I+60|0;x=I+12|0;E=I+32|0;F=I+68|0;G=I+36|0;c[o>>2]=b;c[C>>2]=f;c[D>>2]=g;c[l>>2]=h;c[p>>2]=j;c[m>>2]=k;c[H>>2]=c[(c[o>>2]|0)+8>>2];c[s>>2]=(d[(c[C>>2]|0)+24>>0]&1|0)==0&1;c[t>>2]=c[c[c[C>>2]>>2]>>2];c[n>>2]=(c[t>>2]|0)+(c[s>>2]|0)+(c[p>>2]|0);f=(c[o>>2]|0)+72|0;h=(c[f>>2]|0)+1|0;c[f>>2]=h;c[B>>2]=h;c[v>>2]=c[(c[C>>2]|0)+4>>2];if(c[m>>2]|0)c[z>>2]=(c[l>>2]|0)-(c[t>>2]|0)-(c[s>>2]|0);else{c[z>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;h=(c[o>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+(c[n>>2]|0)}Ns(c[o>>2]|0,c[c[C>>2]>>2]|0,c[z>>2]|0,1)|0;if(c[s>>2]|0)Ro(c[H>>2]|0,73,c[(c[C>>2]|0)+8>>2]|0,(c[z>>2]|0)+(c[t>>2]|0)|0)|0;if(!(c[m>>2]|0))Kx(c[o>>2]|0,c[l>>2]|0,(c[z>>2]|0)+(c[t>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0);Uo(c[H>>2]|0,49,(c[z>>2]|0)+(c[v>>2]|0)|0,(c[n>>2]|0)-(c[v>>2]|0)|0,c[B>>2]|0)|0;do if((c[v>>2]|0)>0){c[A>>2]=(c[(c[o>>2]|0)+72>>2]|0)+1;l=(c[o>>2]|0)+72|0;c[l>>2]=(c[l>>2]|0)+(c[(c[C>>2]|0)+4>>2]|0);c[u>>2]=(c[t>>2]|0)-(c[(c[C>>2]|0)+4>>2]|0)+(c[s>>2]|0);l=c[H>>2]|0;if(c[s>>2]|0)c[q>>2]=ur(l,46,(c[z>>2]|0)+(c[t>>2]|0)|0)|0;else c[q>>2]=ur(l,59,c[(c[C>>2]|0)+8>>2]|0)|0;Uo(c[H>>2]|0,42,c[A>>2]|0,c[z>>2]|0,c[(c[C>>2]|0)+4>>2]|0)|0;c[y>>2]=Ws(c[H>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;if(a[(c[c[o>>2]>>2]|0)+64>>0]|0){i=I;return}else{c[(c[y>>2]|0)+8>>2]=(c[u>>2]|0)+(c[p>>2]|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];BH(c[(c[x>>2]|0)+16>>2]|0,0,e[(c[x>>2]|0)+6>>1]|0)|0;Df(c[H>>2]|0,-1,c[x>>2]|0,-6);x=yx(c[o>>2]|0,c[c[C>>2]>>2]|0,c[v>>2]|0,1)|0;c[(c[y>>2]|0)+16>>2]=x;c[r>>2]=yr(c[H>>2]|0)|0;Uo(c[H>>2]|0,43,(c[r>>2]|0)+1|0,0,(c[r>>2]|0)+1|0)|0;x=zr(c[H>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=x;x=(c[o>>2]|0)+72|0;y=(c[x>>2]|0)+1|0;c[x>>2]=y;c[(c[C>>2]|0)+12>>2]=y;Ro(c[H>>2]|0,17,c[(c[C>>2]|0)+12>>2]|0,c[(c[C>>2]|0)+16>>2]|0)|0;ur(c[H>>2]|0,119,c[(c[C>>2]|0)+8>>2]|0)|0;jp(c[H>>2]|0,c[q>>2]|0);Kx(c[o>>2]|0,c[z>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+4>>2]|0);jp(c[H>>2]|0,c[r>>2]|0);break}}while(0);if(d[(c[C>>2]|0)+24>>0]&1)c[w>>2]=109;else c[w>>2]=110;Ro(c[H>>2]|0,c[w>>2]|0,c[(c[C>>2]|0)+8>>2]|0,c[B>>2]|0)|0;if(!(c[(c[D>>2]|0)+8>>2]|0)){i=I;return}l=c[D>>2]|0;if(c[(c[D>>2]|0)+12>>2]|0)c[G>>2]=(c[l+12>>2]|0)+1;else c[G>>2]=c[l+8>>2];c[E>>2]=ur(c[H>>2]|0,139,c[G>>2]|0)|0;Ro(c[H>>2]|0,37,c[G>>2]|0,-1)|0;c[F>>2]=Yo(c[H>>2]|0,16)|0;jp(c[H>>2]|0,c[E>>2]|0);ur(c[H>>2]|0,105,c[(c[C>>2]|0)+8>>2]|0)|0;ur(c[H>>2]|0,95,c[(c[C>>2]|0)+8>>2]|0)|0;jp(c[H>>2]|0,c[F>>2]|0);i=I;return}function $x(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=27604;break}case 118:{c[b>>2]=27614;break}case 117:{c[b>>2]=27624;break}default:c[b>>2]=27631}i=d;return c[b>>2]|0}function ay(a,f,g){a=a|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,G=0,H=0;H=i;i=i+112|0;q=H+44|0;r=H+40|0;s=H+4|0;j=H+100|0;n=H;G=H+16|0;C=H+20|0;v=H+24|0;u=H+80|0;t=H+88|0;x=H+96|0;D=H+104|0;y=H+108|0;m=H+48|0;l=H+52|0;w=H+56|0;h=H+8|0;p=H+76|0;B=H+28|0;z=H+12|0;A=H+32|0;E=H+84|0;F=H+36|0;o=H+92|0;c[q>>2]=a;c[r>>2]=f;c[s>>2]=g;c[j>>2]=c[(c[r>>2]|0)+32>>2];c[n>>2]=c[c[c[r>>2]>>2]>>2];c[G>>2]=c[(c[q>>2]|0)+8>>2];c[C>>2]=c[(c[r>>2]|0)+52>>2];c[x>>2]=0;c[m>>2]=0;c[l>>2]=5;if(Mo(c[q>>2]|0,33,0,0,0)|0){i=H;return}c[t>>2]=zr(c[G>>2]|0)|0;zx(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0);c[z>>2]=c[(c[r>>2]|0)+60>>2];c[A>>2]=c[(c[r>>2]|0)+64>>2];c[E>>2]=c[(c[r>>2]|0)+8>>2];c[F>>2]=c[(c[r>>2]|0)+12>>2];c[(c[r>>2]|0)+64>>2]=0;c[(c[r>>2]|0)+60>>2]=0;c[(c[r>>2]|0)+12>>2]=0;c[(c[r>>2]|0)+8>>2]=0;c[B>>2]=c[(c[r>>2]|0)+48>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0))break;f=c[h>>2]|0;if((d[(c[j>>2]|0)+8+((c[h>>2]|0)*72|0)+37>>0]|0)>>>3&1){k=5;break}c[h>>2]=f+1}if((k|0)==5)c[x>>2]=c[(c[j>>2]|0)+8+(f*72|0)+40>>2];k=(c[q>>2]|0)+68|0;f=c[k>>2]|0;c[k>>2]=f+1;c[y>>2]=f;f=(c[B>>2]|0)!=0;if((d[(c[r>>2]|0)+4>>0]|0|0)==115){c[l>>2]=f?8:6;j=(c[q>>2]|0)+68|0;k=c[j>>2]|0;c[j>>2]=k+1;c[m>>2]=k}else c[l>>2]=f?7:5;Ss(w,c[l>>2]|0,c[y>>2]|0);k=(c[q>>2]|0)+72|0;l=(c[k>>2]|0)+1|0;c[k>>2]=l;c[D>>2]=l;Uo(c[G>>2]|0,60,c[x>>2]|0,c[D>>2]|0,c[n>>2]|0)|0;if(c[B>>2]|0){c[o>>2]=ey(c[q>>2]|0,c[r>>2]|0,1)|0;To(c[G>>2]|0,57,c[y>>2]|0,(c[c[B>>2]>>2]|0)+2|0,0,c[o>>2]|0,-6)|0;c[w+16>>2]=c[B>>2]}else Ro(c[G>>2]|0,57,c[y>>2]|0,c[n>>2]|0)|0;if(c[m>>2]|0){o=Ro(c[G>>2]|0,57,c[m>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=o;o=(c[r>>2]|0)+6|0;b[o>>1]=e[o>>1]|0|8}c[(c[r>>2]|0)+48>>2]=0;c[(c[C>>2]|0)+56>>2]=0;c[p>>2]=Kn(c[q>>2]|0,c[C>>2]|0,w)|0;c[(c[C>>2]|0)+56>>2]=c[r>>2];if(!(c[p>>2]|0)){c[v>>2]=Ro(c[G>>2]|0,108,c[y>>2]|0,c[t>>2]|0)|0;ur(c[G>>2]|0,104,c[x>>2]|0)|0;g=c[G>>2]|0;f=c[y>>2]|0;if(c[B>>2]|0)Uo(g,47,f,(c[c[B>>2]>>2]|0)+1|0,c[D>>2]|0)|0;else Ro(g,102,f,c[D>>2]|0)|0;ur(c[G>>2]|0,95,c[y>>2]|0)|0;c[u>>2]=zr(c[G>>2]|0)|0;Ux(c[G>>2]|0,c[F>>2]|0,c[u>>2]|0);Fx(c[q>>2]|0,c[r>>2]|0,c[c[r>>2]>>2]|0,c[x>>2]|0,0,0,c[s>>2]|0,c[u>>2]|0,c[t>>2]|0);if(c[E>>2]|0)Uo(c[G>>2]|0,139,c[E>>2]|0,c[t>>2]|0,-1)|0;Br(c[G>>2]|0,c[u>>2]|0);c[(c[r>>2]|0)+52>>2]=0;Kn(c[q>>2]|0,c[r>>2]|0,w)|0;c[(c[r>>2]|0)+52>>2]=c[C>>2];Ro(c[G>>2]|0,16,0,c[v>>2]|0)|0;Br(c[G>>2]|0,c[t>>2]|0)}$m(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+48>>2]|0);c[(c[r>>2]|0)+48>>2]=c[B>>2];c[(c[r>>2]|0)+60>>2]=c[z>>2];c[(c[r>>2]|0)+64>>2]=c[A>>2];i=H;return}function by(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,A=0,B=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;ca=i;i=i+224|0;q=ca+120|0;r=ca+116|0;s=ca+112|0;t=ca+196|0;j=ca+204|0;k=ca+188|0;T=ca+20|0;ba=ca+24|0;H=ca+28|0;I=ca+48|0;U=ca+68|0;V=ca+72|0;E=ca+76|0;F=ca+80|0;Y=ca+84|0;Z=ca+88|0;B=ca+92|0;D=ca+96|0;y=ca+176|0;z=ca+184|0;A=ca+192|0;x=ca+200|0;v=ca+208|0;w=ca+212|0;W=ca+124|0;X=ca+128|0;_=ca+132|0;$=ca+136|0;aa=ca+140|0;M=ca+144|0;N=ca+148|0;L=ca+152|0;P=ca+156|0;R=ca+160|0;S=ca+164|0;G=ca+168|0;p=ca+16|0;O=ca+12|0;u=ca+172|0;J=ca+100|0;K=ca;m=ca+8|0;o=ca+104|0;n=ca+180|0;l=ca+4|0;Q=ca+108|0;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[R>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[ba>>2]=c[(c[r>>2]|0)+8>>2];c[N>>2]=zr(c[ba>>2]|0)|0;c[M>>2]=zr(c[ba>>2]|0)|0;c[P>>2]=d[(c[s>>2]|0)+4>>0];c[T>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=c[(c[s>>2]|0)+48>>2];c[O>>2]=c[c[p>>2]>>2];a:do if((c[P>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+64>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[O>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[O>>2]|0)){c[o>>2]=Qn(c[G>>2]|0,132,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Nn(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[O>>2]|0;c[O>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;ba=c[q>>2]|0;i=ca;return ba|0}while(0);c[u>>2]=qf(c[G>>2]|0,c[O>>2]<<2,0)|0;if(c[u>>2]|0){c[j>>2]=0;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>=(c[O>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[S>>2]=ey(c[r>>2]|0,c[s>>2]|0,1)|0}else c[S>>2]=0;c[(c[s>>2]|0)+48>>2]=c[p>>2];f=uq(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[T>>2]|0)+48>>2]=f;b:do if((c[P>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[_>>2]=(c[(c[r>>2]|0)+72>>2]|0)+1;f=(c[r>>2]|0)+72|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);Ro(c[ba>>2]|0,25,0,c[_>>2]|0)|0;c[R>>2]=Jr(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[R>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=dy(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[R>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[R>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[_>>2]=0;while(0);c[(c[s>>2]|0)+52>>2]=0;c[(c[T>>2]|0)+56>>2]=0;wq(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+48>>2]|0,20831)|0;if(!(c[(c[T>>2]|0)+52>>2]|0))wq(c[r>>2]|0,c[T>>2]|0,c[(c[T>>2]|0)+48>>2]|0,20831)|0;zx(c[r>>2]|0,c[s>>2]|0,c[N>>2]|0);if((c[P>>2]|0)==116?(c[(c[s>>2]|0)+8>>2]|0)!=0:0){j=(c[r>>2]|0)+72|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[W>>2]=f;f=(c[r>>2]|0)+72|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[X>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+12>>2]|0)j=(c[j+12>>2]|0)+1|0;else j=c[j+8>>2]|0;Ro(c[ba>>2]|0,33,j,c[W>>2]|0)|0;Ro(c[ba>>2]|0,33,c[W>>2]|0,c[X>>2]|0)|0}else{c[X>>2]=0;c[W>>2]=0}dn(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;dn(c[G>>2]|0,c[(c[s>>2]|0)+64>>2]|0);c[(c[s>>2]|0)+64>>2]=0;f=(c[r>>2]|0)+72|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[U>>2]=p;p=(c[r>>2]|0)+72|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+72|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[Y>>2]=p;p=(c[r>>2]|0)+72|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Z>>2]=f;Ss(H,13,c[U>>2]|0);Ss(I,13,c[V>>2]|0);c[E>>2]=(yr(c[ba>>2]|0)|0)+1;c[L>>2]=Uo(c[ba>>2]|0,20,c[U>>2]|0,0,c[E>>2]|0)|0;c[(c[T>>2]|0)+8>>2]=c[W>>2];c[J>>2]=c[(c[r>>2]|0)+468>>2];Kn(c[r>>2]|0,c[T>>2]|0,H)|0;ur(c[ba>>2]|0,21,c[U>>2]|0)|0;jp(c[ba>>2]|0,c[L>>2]|0);c[F>>2]=(yr(c[ba>>2]|0)|0)+1;c[L>>2]=Uo(c[ba>>2]|0,20,c[V>>2]|0,0,c[F>>2]|0)|0;c[$>>2]=c[(c[s>>2]|0)+8>>2];c[aa>>2]=c[(c[s>>2]|0)+12>>2];c[(c[s>>2]|0)+8>>2]=c[X>>2];c[(c[s>>2]|0)+12>>2]=0;c[K>>2]=c[(c[r>>2]|0)+468>>2];Kn(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+8>>2]=c[$>>2];c[(c[s>>2]|0)+12>>2]=c[aa>>2];ur(c[ba>>2]|0,21,c[V>>2]|0)|0;c[B>>2]=fy(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[Y>>2]|0,c[_>>2]|0,c[R>>2]|0,c[N>>2]|0)|0;if((c[P>>2]|0)==116|(c[P>>2]|0)==115)c[D>>2]=fy(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Z>>2]|0,c[_>>2]|0,c[R>>2]|0,c[N>>2]|0)|0;ah(c[R>>2]|0);if((c[P>>2]|0)==117|(c[P>>2]|0)==118){aa=c[N>>2]|0;c[y>>2]=aa;c[z>>2]=aa}else{c[y>>2]=Ro(c[ba>>2]|0,17,c[Z>>2]|0,c[D>>2]|0)|0;c[z>>2]=Ro(c[ba>>2]|0,22,c[V>>2]|0,c[N>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[y>>2]|0)|0;$=(c[T>>2]|0)+24|0;aa=(c[s>>2]|0)+24|0;_=aa;$=DH(c[_>>2]|0,c[_+4>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;c[aa>>2]=$;c[aa+4>>2]=C}if((c[P>>2]|0)==118){c[A>>2]=c[y>>2];$=(c[s>>2]|0)+24|0;X=c[$+4>>2]|0;aa=(c[T>>2]|0)+24|0;_=c[aa+4>>2]|0;if(X>>>0>_>>>0|((X|0)==(_|0)?(c[$>>2]|0)>>>0>(c[aa>>2]|0)>>>0:0)){_=(c[T>>2]|0)+24|0;$=c[_+4>>2]|0;aa=(c[s>>2]|0)+24|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$}}else{c[A>>2]=Ro(c[ba>>2]|0,17,c[Y>>2]|0,c[B>>2]|0)|0;Ro(c[ba>>2]|0,22,c[U>>2]|0,c[N>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[A>>2]|0)|0}c[x>>2]=Ro(c[ba>>2]|0,17,c[Y>>2]|0,c[B>>2]|0)|0;Ro(c[ba>>2]|0,22,c[U>>2]|0,c[y>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[M>>2]|0)|0;do if((c[P>>2]|0)!=116)if((c[P>>2]|0)==118){c[v>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+1;break}else{c[v>>2]=Ro(c[ba>>2]|0,22,c[U>>2]|0,c[y>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[M>>2]|0)|0;break}else c[v>>2]=c[x>>2];while(0);c[w>>2]=yr(c[ba>>2]|0)|0;if((c[P>>2]|0)==116|(c[P>>2]|0)==115)Ro(c[ba>>2]|0,17,c[Z>>2]|0,c[D>>2]|0)|0;Ro(c[ba>>2]|0,22,c[V>>2]|0,c[A>>2]|0)|0;Ro(c[ba>>2]|0,16,0,c[M>>2]|0)|0;jp(c[ba>>2]|0,c[L>>2]|0);Ro(c[ba>>2]|0,22,c[U>>2]|0,c[z>>2]|0)|0;Ro(c[ba>>2]|0,22,c[V>>2]|0,c[A>>2]|0)|0;Br(c[ba>>2]|0,c[M>>2]|0);To(c[ba>>2]|0,41,0,0,0,c[u>>2]|0,-15)|0;To(c[ba>>2]|0,42,c[H+8>>2]|0,c[I+8>>2]|0,c[O>>2]|0,c[S>>2]|0,-6)|0;xf(c[ba>>2]|0,1);Uo(c[ba>>2]|0,43,c[x>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;Br(c[ba>>2]|0,c[N>>2]|0);if((d[c[t>>2]>>0]|0|0)==9){c[Q>>2]=c[T>>2];while(1){if(!(c[(c[Q>>2]|0)+52>>2]|0))break;c[Q>>2]=c[(c[Q>>2]|0)+52>>2]}Sx(c[r>>2]|0,0,c[c[Q>>2]>>2]|0)}if(c[(c[s>>2]|0)+52>>2]|0)an(c[G>>2]|0,c[(c[s>>2]|0)+52>>2]|0);c[(c[s>>2]|0)+52>>2]=c[T>>2];c[(c[T>>2]|0)+56>>2]=c[s>>2];cy(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function cy(a,b,e,f,g){a=a|0;b=b|0;e=e|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;q=i;i=i+48|0;o=q;h=q+20|0;j=q+32|0;k=q+28|0;l=q+36|0;m=q+16|0;n=q+24|0;p=q+40|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+450>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?27548:14425;b=$x(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=tf(a,27567,o)|0;To(c[n>>2]|0,155,c[(c[h>>2]|0)+464>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+52>>2]|0)c[h>>2]=dy(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=Pp(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function ey(b,d,f){b=b|0;d=d|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;r=i;i=i+48|0;g=r+36|0;h=r+16|0;s=r;o=r+28|0;l=r+32|0;j=r+40|0;p=r+12|0;k=r+24|0;n=r+20|0;q=r+8|0;m=r+4|0;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+48>>2];c[l>>2]=c[c[(c[h>>2]|0)+48>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=Jr(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=Pp(f,c[q>>2]|0)|0;else{c[m>>2]=dy(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=zq(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function fy(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;D=i;i=i+80|0;m=D+60|0;n=D+44|0;o=D+24|0;p=D+28|0;q=D+12|0;r=D+40|0;s=D+48|0;t=D+56|0;u=D+64|0;C=D+8|0;w=D+4|0;v=D+32|0;x=D;y=D+16|0;z=D+36|0;B=D+20|0;A=D+52|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=yr(c[C>>2]|0)|0;c[w>>2]=zr(c[C>>2]|0)|0;if(c[s>>2]|0){c[x>>2]=ur(c[C>>2]|0,46,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+8>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+12>>2]|0;c[y>>2]=To(k,42,b,j,h,Kr(c[t>>2]|0)|0,-6)|0;Uo(c[C>>2]|0,43,(c[y>>2]|0)+2|0,c[w>>2]|0,(c[y>>2]|0)+2|0)|0;jp(c[C>>2]|0,c[x>>2]|0);Uo(c[C>>2]|0,33,c[(c[p>>2]|0)+8>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+12>>2]|0)-1|0)|0;Ro(c[C>>2]|0,25,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+64>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}Ux(c[C>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[w>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:case 14:{c[z>>2]=Wo(c[n>>2]|0)|0;c[B>>2]=Wo(c[n>>2]|0)|0;Uo(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[z>>2]|0)|0;Ro(c[C>>2]|0,74,c[(c[q>>2]|0)+4>>2]|0,c[B>>2]|0)|0;Uo(c[C>>2]|0,75,c[(c[q>>2]|0)+4>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;xf(c[C>>2]|0,8);Xo(c[n>>2]|0,c[B>>2]|0);Xo(c[n>>2]|0,c[z>>2]|0);break}case 11:{h=bt(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[q>>2]|0)+1>>0]|0)|0;a[(c[q>>2]|0)+1>>0]=h;c[A>>2]=Wo(c[n>>2]|0)|0;To(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,1,c[A>>2]|0,(c[q>>2]|0)+1|0,1)|0;Ls(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1);Ro(c[C>>2]|0,110,c[(c[q>>2]|0)+4>>2]|0,c[A>>2]|0)|0;Xo(c[n>>2]|0,c[A>>2]|0);break}case 10:{Kx(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+4>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+8>>2]|0)){h=ps(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=h;c[(c[q>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2]}Kx(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+12>>2]|0);ur(c[C>>2]|0,22,c[(c[q>>2]|0)+4>>2]|0)|0;break}default:{Ro(c[C>>2]|0,35,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;Ls(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+8>>2]|0)Uo(c[C>>2]|0,139,c[(c[o>>2]|0)+8>>2]|0,c[u>>2]|0,-1)|0;Br(c[C>>2]|0,c[w>>2]|0);ur(c[C>>2]|0,18,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function gy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=hy(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function hy(e,f,g,h){e=e|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,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==154?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=mq(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;dn(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=hy(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=hy(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;e=c[j>>2]|0;j=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){iy(e,c[j>>2]|0,c[o>>2]|0,c[p>>2]|0);break}else{gy(e,c[j>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function iy(a,b,d,e){a=a|0;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;n=i;i=i+32|0;f=n+8|0;g=n+16|0;h=n+20|0;j=n+24|0;m=n+4|0;l=n;k=n+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=n;return}gy(c[f>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0);gy(c[f>>2]|0,c[(c[g>>2]|0)+40>>2]|0,c[h>>2]|0,c[j>>2]|0);gy(c[f>>2]|0,c[(c[g>>2]|0)+48>>2]|0,c[h>>2]|0,c[j>>2]|0);e=hy(c[f>>2]|0,c[(c[g>>2]|0)+44>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[g>>2]|0)+44>>2]=e;e=hy(c[f>>2]|0,c[(c[g>>2]|0)+36>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=e;iy(c[f>>2]|0,c[(c[g>>2]|0)+52>>2]|0,c[h>>2]|0,c[j>>2]|0);c[m>>2]=c[(c[g>>2]|0)+32>>2];if(!(c[m>>2]|0)){i=n;return}c[k>>2]=c[c[m>>2]>>2];c[l>>2]=(c[m>>2]|0)+8;while(1){if((c[k>>2]|0)<=0)break;iy(c[f>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[h>>2]|0,c[j>>2]|0);c[k>>2]=(c[k>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+72}i=n;return}function jy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;l=o+4|0;n=o;m=o+12|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+44>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=Po(c[g>>2]|0)|0;do if(!(Fp(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&16777216)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=zr(c[n>>2]|0)|0;Ro(c[n>>2]|0,135,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+438>>0]=1;f=c[g>>2]|0;Wn(f,ir(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+438>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&16777216)){f=c[n>>2]|0;Ro(f,135,0,(yr(c[n>>2]|0)|0)+2|0)|0;gs(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}Br(c[n>>2]|0,c[l>>2]|0);i=o;return}function ky(a,b,e,f){a=a|0;b=b|0;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;r=i;i=i+64|0;q=r+8|0;p=r;g=r+24|0;h=r+36|0;j=r+32|0;k=r+20|0;o=r+28|0;l=r+40|0;n=r+44|0;m=r+48|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=Po(c[g>>2]|0)|0;$o(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+44>>0]|0)&16)Yo(c[o>>2]|0,144)|0;c[n>>2]=gp(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;yt(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+44>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;Oo(n,27856,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?19269:19288;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;Oo(p,27901,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+44>>0]|0)&16|0)==0:0)ly(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+44>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;To(o,124,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Qo(q,p);p=c[l>>2]|0;q=c[j>>2]|0;my(p,q);i=r;return}To(c[o>>2]|0,146,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;To(o,124,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Qo(q,p);p=c[l>>2]|0;q=c[j>>2]|0;my(p,q);i=r;return}function ly(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;n=i;i=i+32|0;d=n+4|0;e=n+16|0;k=n+8|0;g=n+20|0;l=n+28|0;j=n;h=n+12|0;f=n+24|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+32>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=vf(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+68>>2]|0)|0;iu(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function my(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){ny(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+38>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function ny(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+38>>1]|0))break;Nd(a,c[c[h>>2]>>2]|0);dn(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Nd(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Nd(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Nd(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+24}Nd(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function oy(a,d,e,f,g){a=a|0;d=d|0;e=e|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;q=i;i=i+144|0;h=q+80|0;j=q+120|0;k=q+84|0;l=q+124|0;m=q+132|0;p=q;o=q+88|0;n=q+128|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;g=p;f=g+80|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[p>>2]=1;c[p+8+8>>2]=c[c[j>>2]>>2];c[p+8+16>>2]=c[j>>2];c[p+8+40>>2]=-1;c[o>>2]=c[h>>2];c[o+4>>2]=p;b[o+28>>1]=c[k>>2];p=(gq(o,c[l>>2]|0)|0)==0;if(!(p&(c[m>>2]|0)!=0)){i=q;return}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[m>>2]>>2]|0)){g=6;break}if(gq(o,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0){g=6;break}c[n>>2]=(c[n>>2]|0)+1}if((g|0)==6){i=q;return}}function py(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function qy(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+((b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)*24|0)+22>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Qp(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function ry(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;sy(c[e>>2]|0,c[f>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+520>>2]|0)!=0:0))ah(c[(c[f>>2]|0)+40>>2]|0);dn(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Nd(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Nd(a,b);i=g;return}Nd(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Nd(a,b);i=g;return}function sy(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function ty(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=Xs(c[h>>2]|0,3+(d[g>>0]|0)|0)|0;i=f;return b|0}function uy(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;u=i;i=i+48|0;h=u+36|0;j=u+16|0;p=u;r=u+28|0;o=u+32|0;l=u+40|0;m=u+12|0;k=u+24|0;s=u+20|0;q=u+8|0;n=u+4|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[s>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[h>>2]|0)+416>>2]|0)a[(Ws(c[s>>2]|0,c[(c[h>>2]|0)+416>>2]|0)|0)>>0]=120;if(c[(c[h>>2]|0)+420>>2]|0)a[(Ws(c[s>>2]|0,c[(c[h>>2]|0)+420>>2]|0)|0)>>0]=16;do if((b[(c[j>>2]|0)+36>>1]|0)>=0){c[q>>2]=Nn(c[h>>2]|0,0,0)|0;if(!(c[q>>2]|0)){i=u;return}s=ef(c[c[h>>2]>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((b[(c[j>>2]|0)+36>>1]|0)*24|0)>>2]|0)|0;c[(c[(c[q>>2]|0)+4>>2]|0)+4>>2]=s;a[(c[(c[q>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+448>>0]|0;c[r>>2]=Dn(c[h>>2]|0,0,0,0,c[q>>2]|0,d[(c[j>>2]|0)+45>>0]|0,0,0,0,0)|0;if(!(c[r>>2]|0)){i=u;return}else{s=(c[r>>2]|0)+55|0;a[s>>0]=a[s>>0]&-4|2;b[(c[j>>2]|0)+36>>1]=-1;break}}else c[r>>2]=Lr(c[j>>2]|0)|0;while(0);s=(c[r>>2]|0)+55|0;a[s>>0]=a[s>>0]&-33|32;c[o>>2]=e[(c[r>>2]|0)+50>>1];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;a[(c[(c[j>>2]|0)+4>>2]|0)+((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)*24|0)+20>>0]=1;c[l>>2]=(c[l>>2]|0)+1}s=(c[r>>2]|0)+55|0;a[s>>0]=a[s>>0]&-9|8;c[(c[r>>2]|0)+44>>2]=c[(c[j>>2]|0)+32>>2];c[p>>2]=c[(c[j>>2]|0)+8>>2];a:while(1){if(!(c[p>>2]|0))break;b:do if((a[(c[p>>2]|0)+55>>0]&3|0)!=2){c[n>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if(!(py(c[(c[p>>2]|0)+4>>2]|0,e[(c[p>>2]|0)+50>>1]|0,b[(c[(c[r>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[n>>2]=(c[n>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[n>>2]|0)){b[(c[p>>2]|0)+52>>1]=b[(c[p>>2]|0)+50>>1]|0;break}if(zy(c[k>>2]|0,c[p>>2]|0,(e[(c[p>>2]|0)+50>>1]|0)+(c[n>>2]|0)|0)|0){t=38;break a}c[l>>2]=0;c[m>>2]=e[(c[p>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break b;if(!(py(c[(c[p>>2]|0)+4>>2]|0,e[(c[p>>2]|0)+50>>1]|0,b[(c[(c[r>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[p>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]=b[(c[(c[r>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[p>>2]|0)+32>>2]|0)+(c[m>>2]<<2)>>2]=c[(c[(c[r>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[p>>2]=c[(c[p>>2]|0)+20>>2]}if((t|0)==38){i=u;return}if((c[o>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0)){b[(c[r>>2]|0)+52>>1]=b[(c[j>>2]|0)+38>>1]|0;i=u;return}if(zy(c[k>>2]|0,c[r>>2]|0,b[(c[j>>2]|0)+38>>1]|0)|0){i=u;return}c[l>>2]=0;c[m>>2]=c[o>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;if(!(py(c[(c[r>>2]|0)+4>>2]|0,c[m>>2]|0,c[l>>2]|0)|0)){b[(c[(c[r>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]=c[l>>2];c[(c[(c[r>>2]|0)+32>>2]|0)+(c[m>>2]<<2)>>2]=15963;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=u;return}function vy(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+38>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+22>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+24}if((b[(c[e>>2]|0)+36>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Qp(g,0)|0;h=c[e>>2]|0;h=h+42|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Qp(g,0)|0;h=c[e>>2]|0;h=h+42|0;b[h>>1]=g;i=j;return}function wy(d,e){d=d|0;e=e|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;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+36|0;f=w+24|0;j=w+20|0;k=w+28|0;l=w+32|0;n=w+40|0;u=w+44|0;s=w+48|0;t=w+52|0;r=w+56|0;o=w+60|0;m=w+64|0;v=w+68|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;e=(xy(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+24}e=xy(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=14425;c[t>>2]=29027;c[r>>2]=26411}else{c[s>>2]=29029;c[t>>2]=29033;c[r>>2]=29038}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+38>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=qf(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){a[(c[f>>2]|0)+64>>0]=1;c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Yb(c[n>>2]|0,c[u>>2]|0,29041,g)|0;c[l>>2]=Ed(c[u>>2]|0)|0;yy(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){d=(c[n>>2]|0)-(c[l>>2]|0)|0;f=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;Yb(d,f,c[s>>2]|0,p)|0;g=Ed((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];yy(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[3288+((a[(c[o>>2]|0)+21>>0]|0)-65<<2)>>2];c[m>>2]=Ed(c[v>>2]|0)|0;EH((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+24}c[q>>2]=c[r>>2];Yb(d,f,14418,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function xy(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function yy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+8|0;h=n+16|0;o=n+20|0;m=n+24|0;j=n+4|0;k=n;l=n+12|0;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[14426+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[14426+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(jg(c[m>>2]|0,c[k>>2]|0)|0)==27:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function zy(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;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=gf(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{EH(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);EH(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);EH(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function Ay(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=Po(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+396>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+400>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];To(c[h>>2]|0,143,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function By(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+8|0;g=k+16|0;e=k+20|0;h=k+24|0;f=k+4|0;d=k;j=k+12|0;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[j>>2]=c[(c[b>>2]|0)+8>>2];c[g>>2]=c[(c[b>>2]|0)+404>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+8>>2]<<4);c[f>>2]=c[(c[g>>2]|0)+12>>2];wr(c[b>>2]|0,0,c[(c[g>>2]|0)+8>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0,54);Uo(c[j>>2]|0,28,0,c[f>>2]|0,(c[f>>2]|0)+1|0)|0;c[d>>2]=yr(c[j>>2]|0)|0;To(c[j>>2]|0,97,0,(c[f>>2]|0)-1|0,0,c[c[(c[g>>2]|0)+4>>2]>>2]|0,0)|0;Ro(c[j>>2]|0,108,0,(c[d>>2]|0)+9|0)|0;Uo(c[j>>2]|0,47,0,0,c[f>>2]|0)|0;Uo(c[j>>2]|0,78,(c[f>>2]|0)-1|0,(c[d>>2]|0)+7|0,c[f>>2]|0)|0;xf(c[j>>2]|0,16);Ro(c[j>>2]|0,103,0,(c[f>>2]|0)+1|0)|0;Uo(c[j>>2]|0,47,0,1,c[f>>2]|0)|0;Ro(c[j>>2]|0,16,0,(c[d>>2]|0)+9|0)|0;Ro(c[j>>2]|0,9,0,(c[d>>2]|0)+2|0)|0;Ro(c[j>>2]|0,25,0,c[f>>2]|0)|0;Yo(c[j>>2]|0,61)|0;c[g>>2]=c[c[g>>2]>>2]}i=k;return}function Cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=g+12|0;e=g+4|0;c[d>>2]=a;c[g+8>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[c[d>>2]>>2]|0)<0)break;gn(c[d>>2]|0)|0}sf(c[e>>2]|0,29207,f);c[(c[d>>2]|0)+8>>2]=c[e>>2];i=g;return}function Dy(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Zb(21,30804,d);i=b;return}function Ey(b,e,f,g,h,j,k){b=b|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,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;I=i;i=i+96|0;G=I+8|0;s=I;n=I+16|0;C=I+20|0;u=I+60|0;p=I+32|0;v=I+28|0;l=I+48|0;w=I+36|0;q=I+40|0;D=I+44|0;H=I+24|0;F=I+52|0;x=I+56|0;m=I+64|0;o=I+68|0;t=I+72|0;r=I+76|0;y=I+80|0;z=I+84|0;A=I+88|0;E=I+92|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[F>>2]=0;c[D>>2]=gf(c[C>>2]|0,536,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;H=c[D>>2]|0;Gf(H);H=c[C>>2]|0;G=c[D>>2]|0;Nd(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Le(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}c[(c[D>>2]|0)+476>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[F>>2]=Fy(c[m>>2]|0)|0,(c[F>>2]|0)!=0):0){B=7;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==7){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];G=c[C>>2]|0;H=c[F>>2]|0;c[n>>2]=c[o>>2];ce(G,H,30849,n);H=c[D>>2]|0;Gf(H);H=c[C>>2]|0;G=c[D>>2]|0;Nd(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Le(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}qm(c[C>>2]|0);c[c[D>>2]>>2]=c[C>>2];c[(c[D>>2]|0)+424>>2]=0;do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=17;break}c[r>>2]=c[(c[C>>2]|0)+88+4>>2];l=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){ce(l,18,30879,s);c[F>>2]=Le(c[C>>2]|0,18)|0;H=c[D>>2]|0;Gf(H);H=c[C>>2]|0;G=c[D>>2]|0;Nd(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Le(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Io(l,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Of(c[D>>2]|0,c[t>>2]|0,H)|0;Nd(c[C>>2]|0,c[t>>2]|0);c[(c[D>>2]|0)+480>>2]=(c[u>>2]|0)+((c[(c[D>>2]|0)+480>>2]|0)-(c[t>>2]|0));break}else{c[(c[D>>2]|0)+480>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=17;while(0);if((B|0)==17)Of(c[D>>2]|0,c[u>>2]|0,H)|0;if(a[(c[C>>2]|0)+64>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if((c[(c[D>>2]|0)+12>>2]|0)==101)c[(c[D>>2]|0)+12>>2]=0;if(a[(c[D>>2]|0)+17>>0]|0)Gy(c[D>>2]|0);if(a[(c[C>>2]|0)+64>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[D>>2]|0)+480>>2];c[F>>2]=c[(c[D>>2]|0)+12>>2];a:do if(((c[F>>2]|0)==0?(c[(c[D>>2]|0)+8>>2]|0)!=0:0)?(d[(c[D>>2]|0)+450>>0]|0)!=0:0){l=c[(c[D>>2]|0)+8>>2]|0;if((d[(c[D>>2]|0)+450>>0]|0)==2){Kt(l,4);c[y>>2]=8;c[z>>2]=12}else{Kt(l,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;Lt(c[(c[D>>2]|0)+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[3320+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+140+5>>0]|0)){c[A>>2]=c[(c[D>>2]|0)+8>>2];Hy(c[A>>2]|0,c[u>>2]|0,(c[(c[D>>2]|0)+480>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[(c[D>>2]|0)+8>>2]|0){if((c[F>>2]|0)==0?(d[(c[C>>2]|0)+64>>0]|0)==0:0){B=43;break}Ke(c[(c[D>>2]|0)+8>>2]|0)|0}else B=43;while(0);if((B|0)==43)c[c[w>>2]>>2]=c[(c[D>>2]|0)+8>>2];b=c[C>>2]|0;l=c[F>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];ce(b,l,14418,G);Nd(c[C>>2]|0,c[H>>2]|0)}else ee(b,l);while(1){if(!(c[(c[D>>2]|0)+528>>2]|0))break;c[E>>2]=c[(c[D>>2]|0)+528>>2];c[(c[D>>2]|0)+528>>2]=c[(c[E>>2]|0)+4>>2];Nd(c[C>>2]|0,c[E>>2]|0)}H=c[D>>2]|0;Gf(H);H=c[C>>2]|0;G=c[D>>2]|0;Nd(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Le(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}function Fy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;fe(c[e>>2]|0);c[b>>2]=Iy(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function Gy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+8|0;f=l+16|0;g=l+20|0;k=l+24|0;e=l+4|0;h=l;j=l+12|0;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=14;break}c[h>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if(!(je(c[j>>2]|0)|0)){c[k>>2]=he(c[j>>2]|0,0)|0;if((c[k>>2]|0)==7|(c[k>>2]|0)==3082)a[(c[f>>2]|0)+64>>0]=1;if(c[k>>2]|0){d=14;break}c[h>>2]=1}ie(c[j>>2]|0,1,e);if((c[e>>2]|0)!=(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]>>2]|0)){Or(c[f>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+12>>2]=17}if(c[h>>2]|0)Ur(c[j>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==14){i=l;return}}function Hy(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Io(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+168>>2]=d;d=(c[g>>2]|0)+88|0;b[d>>1]=b[d>>1]&-1025|(c[k>>2]&1)<<10&65535;i=l;return}function Iy(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;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function Jy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;if((c[g>>2]|0)!=(c[f>>2]|0)){if(!(c[e>>2]|0))break;if((c[(c[g>>2]|0)+60>>2]|0)==(c[e>>2]|0))break}c[g>>2]=c[(c[g>>2]|0)+8>>2]}if(!(c[g>>2]|0)){j=0;i=h;return j|0}j=Ky(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;i=h;return j|0}function Ky(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+60>>2]|0)!=(c[g>>2]|0):0)break;b=c[f>>2]|0;if((d[(c[f>>2]|0)+73>>0]|0|0)==1){c[k>>2]=Ly(b)|0;if(c[k>>2]|0){b=7;break a}else break}else{My(b);break}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=10;break}}if((b|0)==7){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((b|0)==10){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function Ly(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;e=h;c[f>>2]=b;c[g>>2]=Ny(c[f>>2]|0,(c[f>>2]|0)+48|0)|0;do if(!(d[(c[(c[f>>2]|0)+120>>2]|0)+2>>0]|0)){b=(c[f>>2]|0)+48|0;c[e>>2]=Wd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){c[g>>2]=7;break}c[g>>2]=Oy(c[f>>2]|0,0,c[(c[f>>2]|0)+48>>2]|0,c[e>>2]|0)|0;b=c[e>>2]|0;if(!(c[g>>2]|0)){c[(c[f>>2]|0)+56>>2]=b;break}else{Sb(b);break}}while(0);if(c[g>>2]|0){f=c[f>>2]|0;f=f+72|0;e=a[f>>0]|0;e=e&255;e=e&-5;e=e&255;a[f>>0]=e;g=c[g>>2]|0;i=h;return g|0}My(c[f>>2]|0);a[(c[f>>2]|0)+73>>0]=3;f=c[f>>2]|0;f=f+72|0;e=a[f>>0]|0;e=e&255;e=e&-5;e=e&255;a[f>>0]=e;g=c[g>>2]|0;i=h;return g|0}function My(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;while(1){if((c[e>>2]|0)>(b[(c[d>>2]|0)+76>>1]|0))break;pt(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}b[(c[d>>2]|0)+76>>1]=-1;i=f;return}function Ny(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;if(!(e[(c[h>>2]|0)+24+20>>1]|0)){c[k>>2]=b[(c[h>>2]|0)+76>>1];Mw(c[(c[h>>2]|0)+120+(c[k>>2]<<2)>>2]|0,e[(c[h>>2]|0)+78+(c[k>>2]<<1)>>1]|0,(c[h>>2]|0)+24|0);g=(c[h>>2]|0)+72|0;a[g>>0]=d[g>>0]|2}k=(c[h>>2]|0)+24|0;f=c[k+4>>2]|0;g=c[j>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=f;i=l;return 0}function Oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Lw(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function Py(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(c[h>>2]|0){c[g>>2]=c[h>>2];d=c[g>>2]|0;i=n;return d|0}c[j>>2]=(c[j>>2]|0)+7&-8;if(((c[c[k>>2]>>2]|0)+(c[j>>2]|0)|0)>>>0<=(c[l>>2]|0)>>>0){c[h>>2]=c[c[k>>2]>>2];d=c[k>>2]|0;c[d>>2]=(c[d>>2]|0)+(c[j>>2]|0)}else{d=c[m>>2]|0;c[d>>2]=(c[d>>2]|0)+(c[j>>2]|0)}c[g>>2]=c[h>>2];d=c[g>>2]|0;i=n;return d|0}function Qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[f>>2]|0)){i=j;return}switch(c[e>>2]|0){case -15:case -1:case -13:case -12:{Nd(c[g>>2]|0,c[f>>2]|0);i=j;return}case -6:{if(c[(c[g>>2]|0)+520>>2]|0){i=j;return}ah(c[f>>2]|0);i=j;return}case -11:{if(c[(c[g>>2]|0)+520>>2]|0){i=j;return}Sb(c[f>>2]|0);i=j;return}case -5:{Ry(c[g>>2]|0,c[f>>2]|0);i=j;return}case -8:{e=c[f>>2]|0;if(!(c[(c[g>>2]|0)+520>>2]|0)){Rf(e);i=j;return}c[h>>2]=e;if(c[(c[h>>2]|0)+24>>2]|0)Nd(c[g>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Nd(c[g>>2]|0,c[h>>2]|0);i=j;return}case -10:{if(c[(c[g>>2]|0)+520>>2]|0){i=j;return}om(c[f>>2]|0);i=j;return}default:{i=j;return}}}function Ry(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Nd(c[d>>2]|0,c[f>>2]|0);i=g;return}function Sy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function Ty(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Oe(c[e>>2]|0);a=c[e>>2]|0;d=c[f>>2]|0;e=a+40|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function Uy(){return 320}function Vy(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;EH(l|0,c[g>>2]|0,208)|0;EH(c[g>>2]|0,c[h>>2]|0,208)|0;EH(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];d=(c[h>>2]|0)+88|0;b[d>>1]=b[d>>1]&-1025|((e[(c[g>>2]|0)+88>>1]|0)>>>10&1)<<10&65535;i=f;return}function Wy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=vb[c[(c[d>>2]|0)+72>>2]&63](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=vb[c[(c[d>>2]|0)+64>>2]&63](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0} +function BC(f,g,h,j,k){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,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,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;wa=i;i=i+352|0;Z=wa+228|0;p=wa+24|0;l=wa+100|0;q=wa+144|0;r=wa+212|0;s=wa+116|0;ra=wa+280|0;na=wa+32|0;n=wa+64|0;oa=wa+40|0;pa=wa+44|0;ea=wa+48|0;ia=wa+52|0;ja=wa+56|0;F=wa+60|0;ua=wa+208|0;la=wa+332|0;ma=wa+68|0;X=wa+72|0;O=wa+76|0;R=wa+80|0;z=wa+84|0;y=wa+88|0;o=wa+92|0;ca=wa+320|0;aa=wa+236|0;ba=wa+252|0;K=wa+276|0;v=wa+288|0;da=wa+300|0;V=wa+120|0;$=wa+204|0;va=wa+140|0;u=wa+272|0;P=wa+148|0;m=wa+152|0;B=wa+156|0;J=wa+160|0;t=wa+164|0;C=wa+334|0;w=wa+336|0;S=wa+338|0;M=wa+180|0;W=wa+184|0;U=wa+188|0;Q=wa+192|0;x=wa+196|0;H=wa+200|0;E=wa+28|0;D=wa+220|0;L=wa+36|0;I=wa+224|0;G=wa+232|0;N=wa+104|0;T=wa+248|0;A=wa;Y=wa+96|0;sa=wa+216|0;ta=wa+112|0;qa=wa+296|0;fa=wa+176|0;ga=wa+172|0;ha=wa+168|0;ka=wa+108|0;c[p>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[na>>2]=0;c[n>>2]=0;c[oa>>2]=0;c[ua>>2]=0;c[z>>2]=0;c[y>>2]=0;c[$>>2]=0;c[ra>>2]=c[(c[p>>2]|0)+52>>2];if(!(c[q>>2]|0)){c[Z>>2]=7;va=c[Z>>2]|0;i=wa;return va|0}c[ea>>2]=(d[(c[p>>2]|0)+1>>0]|0)+(e[(c[p>>2]|0)+18>>1]|0);if((c[ea>>2]|0)<2)c[F>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[ea>>2]|0)){c[F>>2]=(c[ea>>2]|0)-2+(c[s>>2]|0);break}else{c[F>>2]=(c[l>>2]|0)-1;break}else c[F>>2]=0;while(0);c[ea>>2]=2-(c[s>>2]|0)}c[pa>>2]=(c[ea>>2]|0)+1;k=c[p>>2]|0;if(((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)|0)==(e[(c[p>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[p>>2]|0)+56>>2]|0)+((d[k+6>>0]|0)+8);else c[K>>2]=(c[k+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)<<1)+1>>0]));c[P>>2]=kj(c[K>>2]|0)|0;while(1){c[ua>>2]=zw(c[ra>>2]|0,c[P>>2]|0,ca+(c[ea>>2]<<2)|0,0)|0;if(c[ua>>2]|0){f=16;break}c[n>>2]=(c[n>>2]|0)+(1+(e[(c[ca+(c[ea>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[ca+(c[ea>>2]<<2)>>2]|0)+1>>0]|0));f=c[ea>>2]|0;c[ea>>2]=f+-1;if(!f){f=26;break}if(((c[ea>>2]|0)+(c[F>>2]|0)|0)==(e[(c[p>>2]|0)+22>>1]|0)?(d[(c[p>>2]|0)+1>>0]|0)!=0:0){c[v+(c[ea>>2]<<2)>>2]=c[(c[p>>2]|0)+32>>2];c[P>>2]=kj(c[v+(c[ea>>2]<<2)>>2]|0)|0;f=(vB(c[p>>2]|0,c[v+(c[ea>>2]<<2)>>2]|0)|0)&65535;c[V+(c[ea>>2]<<2)>>2]=f;a[(c[p>>2]|0)+1>>0]=0;continue}c[v+(c[ea>>2]<<2)>>2]=(c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]&(d[(c[(c[p>>2]|0)+64>>2]|0)+((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[p>>2]|0)+64>>2]|0)+((c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)<<1)+1>>0]));c[P>>2]=kj(c[v+(c[ea>>2]<<2)>>2]|0)|0;f=(vB(c[p>>2]|0,c[v+(c[ea>>2]<<2)>>2]|0)|0)&65535;c[V+(c[ea>>2]<<2)>>2]=f;if(e[(c[ra>>2]|0)+22>>1]&4){c[m>>2]=(c[v+(c[ea>>2]<<2)>>2]|0)-(c[(c[p>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[V+(c[ea>>2]<<2)>>2]|0)|0)>(c[(c[ra>>2]|0)+36>>2]|0)){f=23;break}EH((c[q>>2]|0)+(c[m>>2]|0)|0,c[v+(c[ea>>2]<<2)>>2]|0,c[V+(c[ea>>2]<<2)>>2]|0)|0;c[v+(c[ea>>2]<<2)>>2]=(c[q>>2]|0)+((c[v+(c[ea>>2]<<2)>>2]|0)-(c[(c[p>>2]|0)+56>>2]|0))}wC(c[p>>2]|0,(c[ea>>2]|0)+(c[F>>2]|0)-(d[(c[p>>2]|0)+1>>0]|0)|0,c[V+(c[ea>>2]<<2)>>2]|0,ua)}a:do if((f|0)==16)BH(ca|0,0,(c[ea>>2]|0)+1<<2|0)|0;else if((f|0)==23){c[ua>>2]=Rk(58592)|0;BH(ca|0,0,(c[ea>>2]|0)+1<<2|0)|0}else if((f|0)==26){c[n>>2]=(c[n>>2]|0)+3&-4;c[ja>>2]=(c[(c[ra>>2]|0)+32>>2]|0)+80;c[o>>2]=(c[n>>2]<<2)+(c[n>>2]<<1)+(c[(c[ra>>2]|0)+32>>2]|0)+(_(c[ja>>2]|0,c[pa>>2]|0)|0);c[$>>2]=kg(c[o>>2]|0)|0;if(!(c[$>>2]|0)){c[ua>>2]=7;break}c[va>>2]=(c[$>>2]|0)+(c[n>>2]<<2);c[u>>2]=(c[va>>2]|0)+(c[n>>2]<<1);b[la>>1]=d[(c[ca>>2]|0)+5>>0]<<2;c[ma>>2]=d[(c[ca>>2]|0)+3>>0];c[ea>>2]=0;while(1){k=c[ra>>2]|0;if((c[ea>>2]|0)>=(c[pa>>2]|0))break;k=(c[k+32>>2]|0)+(_(c[ja>>2]|0,c[ea>>2]|0)|0)|0;k=(c[u>>2]|0)+k|0;c[aa+(c[ea>>2]<<2)>>2]=k;c[J>>2]=k;k=c[J>>2]|0;h=c[ca+(c[ea>>2]<<2)>>2]|0;l=k+76|0;do{c[k>>2]=c[h>>2];k=k+4|0;h=h+4|0}while((k|0)<(l|0));c[(c[J>>2]|0)+56>>2]=(c[J>>2]|0)+76;EH(c[(c[J>>2]|0)+56>>2]|0,c[(c[ca+(c[ea>>2]<<2)>>2]|0)+56>>2]|0,c[(c[ra>>2]|0)+32>>2]|0)|0;c[B>>2]=(e[(c[J>>2]|0)+18>>1]|0)+(d[(c[J>>2]|0)+1>>0]|0);b:do if((d[(c[J>>2]|0)+1>>0]|0)>0){c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[B>>2]|0))break b;o=CC(c[J>>2]|0,c[ia>>2]|0)|0;c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]=o;o=vB(c[J>>2]|0,c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]|0)|0;b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=o;c[na>>2]=(c[na>>2]|0)+1;c[ia>>2]=(c[ia>>2]|0)+1}}else{c[t>>2]=c[(c[J>>2]|0)+56>>2];b[C>>1]=b[(c[J>>2]|0)+20>>1]|0;b[w>>1]=b[(c[J>>2]|0)+14>>1]|0;c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[B>>2]|0))break b;c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]=(c[t>>2]|0)+(e[C>>1]&(d[(c[t>>2]|0)+((e[w>>1]|0)+(c[ia>>2]<<1))>>0]<<8|d[(c[t>>2]|0)+((e[w>>1]|0)+(c[ia>>2]<<1))+1>>0]));o=vB(c[J>>2]|0,c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]|0)|0;b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=o;c[na>>2]=(c[na>>2]|0)+1;c[ia>>2]=(c[ia>>2]|0)+1}}while(0);if(!((c[ma>>2]|0)!=0?1:(c[ea>>2]|0)>=((c[pa>>2]|0)-1|0))){b[S>>1]=c[V+(c[ea>>2]<<2)>>2];b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=b[S>>1]|0;c[M>>2]=(c[u>>2]|0)+(c[z>>2]|0);c[z>>2]=(c[z>>2]|0)+(e[S>>1]|0);EH(c[M>>2]|0,c[v+(c[ea>>2]<<2)>>2]|0,e[S>>1]|0)|0;c[(c[$>>2]|0)+(c[na>>2]<<2)>>2]=(c[M>>2]|0)+(e[la>>1]|0);b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=(e[(c[va>>2]|0)+(c[na>>2]<<1)>>1]|0)-(e[la>>1]|0);k=c[na>>2]|0;if(a[(c[J>>2]|0)+5>>0]|0){if((e[(c[va>>2]|0)+(k<<1)>>1]|0)<4)b[(c[va>>2]|0)+(c[na>>2]<<1)>>1]=4}else{o=c[(c[$>>2]|0)+(k<<2)>>2]|0;n=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0}c[na>>2]=(c[na>>2]|0)+1}c[ea>>2]=(c[ea>>2]|0)+1}c[X>>2]=(c[k+36>>2]|0)-12+(e[la>>1]|0);c[ea>>2]=0;c[ja>>2]=0;c[R>>2]=0;while(1){if((c[ea>>2]|0)>=(c[na>>2]|0))break;c[R>>2]=(c[R>>2]|0)+((e[(c[va>>2]|0)+(c[ea>>2]<<1)>>1]|0)+2);if((c[R>>2]|0)>(c[X>>2]|0)){c[V+(c[ja>>2]<<2)>>2]=(c[R>>2]|0)-(e[(c[va>>2]|0)+(c[ea>>2]<<1)>>1]|0);c[da+(c[ja>>2]<<2)>>2]=c[ea>>2];if(c[ma>>2]|0)c[ea>>2]=(c[ea>>2]|0)+-1;c[R>>2]=0;c[ja>>2]=(c[ja>>2]|0)+1;if((c[ja>>2]|0)>4){f=50;break}}c[ea>>2]=(c[ea>>2]|0)+1}if((f|0)==50){c[ua>>2]=Rk(58731)|0;break}c[V+(c[ja>>2]<<2)>>2]=c[R>>2];c[da+(c[ja>>2]<<2)>>2]=c[na>>2];c[ja>>2]=(c[ja>>2]|0)+1;c[ea>>2]=(c[ja>>2]|0)-1;while(1){if((c[ea>>2]|0)<=0)break;c[W>>2]=c[V+(c[ea>>2]<<2)>>2];c[U>>2]=c[V+((c[ea>>2]|0)-1<<2)>>2];c[Q>>2]=(c[da+((c[ea>>2]|0)-1<<2)>>2]|0)-1;c[x>>2]=(c[Q>>2]|0)+1-(c[ma>>2]|0);while(1){if(c[W>>2]|0){if(c[s>>2]|0)break;if(((c[W>>2]|0)+(e[(c[va>>2]|0)+(c[x>>2]<<1)>>1]|0)+2|0)>((c[U>>2]|0)-((e[(c[va>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2)|0))break}c[W>>2]=(c[W>>2]|0)+((e[(c[va>>2]|0)+(c[x>>2]<<1)>>1]|0)+2);c[U>>2]=(c[U>>2]|0)-((e[(c[va>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2);X=da+((c[ea>>2]|0)-1<<2)|0;c[X>>2]=(c[X>>2]|0)+-1;c[Q>>2]=(c[da+((c[ea>>2]|0)-1<<2)>>2]|0)-1;c[x>>2]=(c[Q>>2]|0)+1-(c[ma>>2]|0)}c[V+(c[ea>>2]<<2)>>2]=c[W>>2];c[V+((c[ea>>2]|0)-1<<2)>>2]=c[U>>2];c[ea>>2]=(c[ea>>2]|0)+-1}if((c[(c[ca>>2]|0)+72>>2]|0)>>>0<=1){c[ua>>2]=Rk(58793)|0;break}c[O>>2]=d[c[(c[ca>>2]|0)+56>>2]>>0];c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[ja>>2]|0))break;if((c[ea>>2]|0)<(c[pa>>2]|0)){X=c[ca+(c[ea>>2]<<2)>>2]|0;c[ba+(c[ea>>2]<<2)>>2]=X;c[H>>2]=X;c[ca+(c[ea>>2]<<2)>>2]=0;c[ua>>2]=ye(c[(c[H>>2]|0)+68>>2]|0)|0;c[oa>>2]=(c[oa>>2]|0)+1;if(c[ua>>2]|0)break a}else{c[ua>>2]=EA(c[ra>>2]|0,H,P,(c[s>>2]|0)!=0?1:c[P>>2]|0,0)|0;if(c[ua>>2]|0)break a;c[ba+(c[ea>>2]<<2)>>2]=c[H>>2];c[oa>>2]=(c[oa>>2]|0)+1;if((a[(c[ra>>2]|0)+17>>0]|0)!=0?(IA(c[ra>>2]|0,c[(c[H>>2]|0)+72>>2]|0,5,c[(c[p>>2]|0)+72>>2]|0,ua),(c[ua>>2]|0)!=0):0)break a}c[ea>>2]=(c[ea>>2]|0)+1}while(1){if((c[ea>>2]|0)>=(c[pa>>2]|0))break;FB(c[ca+(c[ea>>2]<<2)>>2]|0,ua);if(c[ua>>2]|0)break a;pt(c[ca+(c[ea>>2]<<2)>>2]|0);c[ca+(c[ea>>2]<<2)>>2]=0;c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=((c[ja>>2]|0)-1|0))break;c[E>>2]=c[(c[ba+(c[ea>>2]<<2)>>2]|0)+72>>2];c[D>>2]=c[ea>>2];c[ia>>2]=(c[ea>>2]|0)+1;while(1){if((c[ia>>2]|0)>=(c[ja>>2]|0))break;if((c[(c[ba+(c[ia>>2]<<2)>>2]|0)+72>>2]|0)>>>0<(c[E>>2]|0)>>>0){c[D>>2]=c[ia>>2];c[E>>2]=c[(c[ba+(c[ia>>2]<<2)>>2]|0)+72>>2]}c[ia>>2]=(c[ia>>2]|0)+1}if((c[D>>2]|0)>(c[ea>>2]|0)){c[L>>2]=c[ba+(c[ea>>2]<<2)>>2];c[ba+(c[ea>>2]<<2)>>2]=c[ba+(c[D>>2]<<2)>>2];c[ba+(c[D>>2]<<2)>>2]=c[L>>2]}c[ea>>2]=(c[ea>>2]|0)+1}Dl(c[K>>2]|0,c[(c[ba+((c[oa>>2]|0)-1<<2)>>2]|0)+72>>2]|0);c[ia>>2]=0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]|0))break;c[I>>2]=c[ba+(c[ea>>2]<<2)>>2];GB(c[I>>2]|0,c[O>>2]|0);DC(c[I>>2]|0,(c[da+(c[ea>>2]<<2)>>2]|0)-(c[ia>>2]|0)|0,(c[$>>2]|0)+(c[ia>>2]<<2)|0,(c[va>>2]|0)+(c[ia>>2]<<1)|0);c[ia>>2]=c[da+(c[ea>>2]<<2)>>2];if((c[ia>>2]|0)<(c[na>>2]|0)){c[G>>2]=c[(c[$>>2]|0)+(c[ia>>2]<<2)>>2];c[T>>2]=(e[(c[va>>2]|0)+(c[ia>>2]<<1)>>1]|0)+(e[la>>1]|0);c[N>>2]=(c[q>>2]|0)+(c[y>>2]|0);do if(a[(c[I>>2]|0)+5>>0]|0){if(c[ma>>2]|0){c[ia>>2]=(c[ia>>2]|0)+-1;Kw(c[I>>2]|0,c[(c[$>>2]|0)+(c[ia>>2]<<2)>>2]|0,A);c[G>>2]=c[N>>2];X=A;c[T>>2]=4+(vz((c[G>>2]|0)+4|0,c[X>>2]|0,c[X+4>>2]|0)|0);c[N>>2]=0;break}c[G>>2]=(c[G>>2]|0)+-4;if((e[(c[va>>2]|0)+(c[ia>>2]<<1)>>1]|0)==4)c[T>>2]=(vB(c[p>>2]|0,c[G>>2]|0)|0)&65535}else{X=(c[(c[I>>2]|0)+56>>2]|0)+8|0;W=c[G>>2]|0;a[X>>0]=a[W>>0]|0;a[X+1>>0]=a[W+1>>0]|0;a[X+2>>0]=a[W+2>>0]|0;a[X+3>>0]=a[W+3>>0]|0}while(0);c[y>>2]=(c[y>>2]|0)+(c[T>>2]|0);xC(c[p>>2]|0,c[F>>2]|0,c[G>>2]|0,c[T>>2]|0,c[N>>2]|0,c[(c[I>>2]|0)+72>>2]|0,ua);if(c[ua>>2]|0)break a;c[ia>>2]=(c[ia>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+1}c[ea>>2]=(c[ea>>2]|0)+1}if(!(c[O>>2]&8)){c[Y>>2]=(c[(c[aa+((c[pa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8;X=(c[(c[ba+((c[oa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;Y=c[Y>>2]|0;a[X>>0]=a[Y>>0]|0;a[X+1>>0]=a[Y+1>>0]|0;a[X+2>>0]=a[Y+2>>0]|0;a[X+3>>0]=a[Y+3>>0]|0}if(((c[r>>2]|0)!=0?(e[(c[p>>2]|0)+18>>1]|0)==0:0)?(d[(c[p>>2]|0)+6>>0]|0)<=(e[(c[ba>>2]|0)+16>>1]|0):0){EC(c[ba>>2]|0,c[p>>2]|0,ua);FB(c[ba>>2]|0,ua);break}if(a[(c[ra>>2]|0)+17>>0]|0){c[sa>>2]=c[ba>>2];c[ta>>2]=c[aa>>2];c[qa>>2]=d[(c[ta>>2]|0)+1>>0];c[fa>>2]=(e[(c[ta>>2]|0)+18>>1]|0)+(c[qa>>2]|0);if(c[qa>>2]|0)k=e[(c[ta>>2]|0)+22>>1]|0;else k=-1;c[ga>>2]=k;c[ia>>2]=0;c[ja>>2]=0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[na>>2]|0))break;c[ha>>2]=0;while(1){if((c[ea>>2]|0)!=(c[fa>>2]|0))break;Y=(c[ia>>2]|0)+1|0;c[ia>>2]=Y;c[ta>>2]=c[aa+(Y<<2)>>2];c[fa>>2]=(c[ea>>2]|0)+(((c[ma>>2]|0)!=0^1)&1)+(e[(c[ta>>2]|0)+18>>1]|0)+(d[(c[ta>>2]|0)+1>>0]|0);if(a[(c[ta>>2]|0)+1>>0]|0){c[qa>>2]=d[(c[ta>>2]|0)+1>>0];c[ga>>2]=(c[ea>>2]|0)+(((c[ma>>2]|0)!=0^1)&1)+(e[(c[ta>>2]|0)+22>>1]|0)}c[ha>>2]=((c[ma>>2]|0)!=0^1)&1}if((c[ea>>2]|0)==(c[ga>>2]|0)?(c[ha>>2]=1,Y=(c[qa>>2]|0)+-1|0,c[qa>>2]=Y,(Y|0)>0):0)c[ga>>2]=(c[ga>>2]|0)+1;if(!((c[ea>>2]|0)==(c[da+(c[ja>>2]<<2)>>2]|0)?(Y=(c[ja>>2]|0)+1|0,c[ja>>2]=Y,c[sa>>2]=c[ba+(Y<<2)>>2],(c[ma>>2]|0)==0):0))f=116;do if((f|0)==116){f=0;if((c[ha>>2]|0)==0?(c[(c[ta>>2]|0)+72>>2]|0)==(c[(c[sa>>2]|0)+72>>2]|0):0)break;if(!(b[la>>1]|0)){X=c[ra>>2]|0;Y=kj(c[(c[$>>2]|0)+(c[ea>>2]<<2)>>2]|0)|0;IA(X,Y,5,c[(c[sa>>2]|0)+72>>2]|0,ua)}if((e[(c[va>>2]|0)+(c[ea>>2]<<1)>>1]|0)>(e[(c[sa>>2]|0)+12>>1]|0))KA(c[sa>>2]|0,c[(c[$>>2]|0)+(c[ea>>2]<<2)>>2]|0,ua)}while(0);c[ea>>2]=(c[ea>>2]|0)+1}if(!(b[la>>1]|0)){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]|0))break a;c[ka>>2]=kj((c[(c[ba+(c[ea>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;IA(c[ra>>2]|0,c[ka>>2]|0,5,c[(c[ba+(c[ea>>2]<<2)>>2]|0)+72>>2]|0,ua);c[ea>>2]=(c[ea>>2]|0)+1}}}}while(0);lg(c[$>>2]|0);c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[pa>>2]|0))break;pt(c[ca+(c[ea>>2]<<2)>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]|0))break;pt(c[ba+(c[ea>>2]<<2)>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}c[Z>>2]=c[ua>>2];va=c[Z>>2]|0;i=wa;return va|0}function CC(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;f=l;c[h>>2]=a;c[j>>2]=b;c[k>>2]=(d[(c[h>>2]|0)+1>>0]|0)-1;while(1){if((c[k>>2]|0)<0){b=8;break}c[f>>2]=e[(c[h>>2]|0)+22+(c[k>>2]<<1)>>1];if((c[f>>2]|0)<=(c[j>>2]|0)){if((c[f>>2]|0)==(c[j>>2]|0)){b=5;break}c[j>>2]=(c[j>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+-1}if((b|0)==5){c[g>>2]=c[(c[h>>2]|0)+32+(c[k>>2]<<2)>>2];k=c[g>>2]|0;i=l;return k|0}else if((b|0)==8){c[g>>2]=(c[(c[h>>2]|0)+56>>2]|0)+((e[(c[h>>2]|0)+20>>1]|0)&((d[(c[(c[h>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[h>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)));k=c[g>>2]|0;i=l;return k|0}return 0}function DC(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,u=0,v=0;v=i;i=i+48|0;k=v+36|0;l=v+16|0;m=v+28|0;n=v+4|0;r=v+32|0;t=v;o=v+12|0;p=v+24|0;q=v+20|0;s=v+8|0;u=v+40|0;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;c[p>>2]=c[(c[k>>2]|0)+56>>2];c[q>>2]=d[(c[k>>2]|0)+6>>0];c[s>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];c[t>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[o>>2]=c[s>>2];c[r>>2]=(c[l>>2]|0)-1;while(1){if((c[r>>2]|0)<0)break;b[u>>1]=b[(c[n>>2]|0)+(c[r>>2]<<1)>>1]|0;c[t>>2]=(c[t>>2]|0)+-2;c[o>>2]=(c[o>>2]|0)-(e[u>>1]|0);a[c[t>>2]>>0]=c[o>>2]>>8;a[(c[t>>2]|0)+1>>0]=c[o>>2];EH((c[p>>2]|0)+(c[o>>2]|0)|0,c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]|0,e[u>>1]|0|0)|0;c[r>>2]=(c[r>>2]|0)+-1}a[(c[p>>2]|0)+((c[q>>2]|0)+3)>>0]=c[l>>2]>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+3)+1>>0]=c[l>>2];a[(c[p>>2]|0)+((c[q>>2]|0)+5)>>0]=c[o>>2]>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+5)+1>>0]=c[o>>2];u=(c[k>>2]|0)+16|0;b[u>>1]=(e[u>>1]|0)-((c[l>>2]<<1)+(c[s>>2]|0)-(c[o>>2]|0));b[(c[k>>2]|0)+18>>1]=c[l>>2];i=v;return}function EC(b,f,g){b=b|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;s=i;i=i+48|0;h=s;j=s+16|0;k=s+28|0;q=s+4|0;l=s+32|0;m=s+36|0;o=s+12|0;p=s+24|0;r=s+20|0;n=s+8|0;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+6>>0];c[p>>2]=(c[(c[j>>2]|0)+72>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];EH((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;EH((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Ul(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=HA(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function FC(b,f,g){b=b|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;x=i;i=i+64|0;h=x+24|0;j=x+20|0;k=x+44|0;l=x+36|0;p=x+32|0;n=x+40|0;t=x+48|0;o=x+52|0;r=x+8|0;u=x+4|0;q=x+28|0;m=x+12|0;s=x;v=x+16|0;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[p>>2]=d[(c[j>>2]|0)+6>>0];c[n>>2]=c[(c[j>>2]|0)+56>>2];c[u>>2]=c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2];c[o>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[t>>2]=(d[(c[n>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0);do if((c[o>>2]|0)>(c[t>>2]|0)){if(!(c[t>>2]|0)){c[t>>2]=65536;break}c[h>>2]=Rk(53453)|0;w=c[h>>2]|0;i=x;return w|0}while(0);a:do if(((c[o>>2]|0)+2|0)<=(c[t>>2]|0)){if((d[(c[n>>2]|0)+((c[p>>2]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+((c[p>>2]|0)+2)>>0]|0|0)==0:0){w=22;break}c[m>>2]=(c[p>>2]|0)+1;while(1){b=(d[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(c[m>>2]|0)+1>>0]|0);c[q>>2]=b;if((b|0)<=0){w=22;break a}if((c[q>>2]|0)>((c[u>>2]|0)-4|0)){w=12;break}if((c[q>>2]|0)<((c[m>>2]|0)+4|0)){w=12;break}c[s>>2]=(d[(c[n>>2]|0)+((c[q>>2]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((c[q>>2]|0)+2)+1>>0]|0);if((c[s>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=c[q>>2]}if((w|0)==12){c[h>>2]=Rk(53469)|0;w=c[h>>2]|0;i=x;return w|0}c[v>>2]=(c[s>>2]|0)-(c[k>>2]|0);do if((c[v>>2]|0)<4){if((d[(c[n>>2]|0)+((c[p>>2]|0)+7)>>0]|0|0)>=60){w=23;break a}w=(c[n>>2]|0)+(c[m>>2]|0)|0;u=(c[n>>2]|0)+(c[q>>2]|0)|0;a[w>>0]=a[u>>0]|0;a[w+1>>0]=a[u+1>>0]|0;w=(c[n>>2]|0)+((c[p>>2]|0)+7)|0;a[w>>0]=(d[w>>0]|0)+(c[v>>2]&255)}else{if(((c[s>>2]|0)+(c[q>>2]|0)|0)<=(c[u>>2]|0)){a[(c[n>>2]|0)+((c[q>>2]|0)+2)>>0]=c[v>>2]>>8;a[(c[n>>2]|0)+((c[q>>2]|0)+2)+1>>0]=c[v>>2];break}c[h>>2]=Rk(53483)|0;w=c[h>>2]|0;i=x;return w|0}while(0);c[c[l>>2]>>2]=(c[q>>2]|0)+(c[v>>2]|0);c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}else w=22;while(0);if((w|0)==22?((c[o>>2]|0)+2+(c[k>>2]|0)|0)>(c[t>>2]|0):0)w=23;do if((w|0)==23){c[r>>2]=GC(c[j>>2]|0)|0;if(!(c[r>>2]|0)){c[t>>2]=(((d[(c[n>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[r>>2];w=c[h>>2]|0;i=x;return w|0}while(0);c[t>>2]=(c[t>>2]|0)-(c[k>>2]|0);a[(c[n>>2]|0)+((c[p>>2]|0)+5)>>0]=c[t>>2]>>8;a[(c[n>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[t>>2];c[c[l>>2]>>2]=c[t>>2];c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}function GC(b){b=b|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;v=i;i=i+64|0;p=v+52|0;q=v+44|0;g=v+20|0;l=v+12|0;t=v+4|0;m=v+40|0;o=v+48|0;f=v+56|0;r=v+16|0;j=v+24|0;s=v;n=v+32|0;u=v+28|0;h=v+8|0;k=v+36|0;c[q>>2]=b;c[n>>2]=HC(c[c[(c[q>>2]|0)+52>>2]>>2]|0)|0;c[s>>2]=c[(c[q>>2]|0)+56>>2];c[t>>2]=d[(c[q>>2]|0)+6>>0];c[f>>2]=e[(c[q>>2]|0)+14>>1];c[j>>2]=e[(c[q>>2]|0)+18>>1];c[o>>2]=c[(c[(c[q>>2]|0)+52>>2]|0)+36>>2];c[r>>2]=(d[(c[s>>2]|0)+((c[t>>2]|0)+5)>>0]|0)<<8|(d[(c[s>>2]|0)+((c[t>>2]|0)+5)+1>>0]|0);EH((c[n>>2]|0)+(c[r>>2]|0)|0,(c[s>>2]|0)+(c[r>>2]|0)|0,(c[o>>2]|0)-(c[r>>2]|0)|0)|0;c[r>>2]=c[o>>2];c[u>>2]=(c[f>>2]|0)+(c[j>>2]<<1);c[h>>2]=(c[o>>2]|0)-4;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0)){f=10;break}c[k>>2]=(c[s>>2]|0)+((c[f>>2]|0)+(c[g>>2]<<1));c[l>>2]=(d[c[k>>2]>>0]|0)<<8|(d[(c[k>>2]|0)+1>>0]|0);if((c[l>>2]|0)<(c[u>>2]|0)){f=5;break}if((c[l>>2]|0)>(c[h>>2]|0)){f=5;break}c[m>>2]=(vB(c[q>>2]|0,(c[n>>2]|0)+(c[l>>2]|0)|0)|0)&65535;c[r>>2]=(c[r>>2]|0)-(c[m>>2]|0);if((c[r>>2]|0)<(c[u>>2]|0)){f=8;break}if(((c[l>>2]|0)+(c[m>>2]|0)|0)>(c[o>>2]|0)){f=8;break}EH((c[s>>2]|0)+(c[r>>2]|0)|0,(c[n>>2]|0)+(c[l>>2]|0)|0,c[m>>2]|0)|0;a[c[k>>2]>>0]=c[r>>2]>>8;a[(c[k>>2]|0)+1>>0]=c[r>>2];c[g>>2]=(c[g>>2]|0)+1}if((f|0)==5){c[p>>2]=Rk(53381)|0;u=c[p>>2]|0;i=v;return u|0}else if((f|0)==8){c[p>>2]=Rk(53393)|0;u=c[p>>2]|0;i=v;return u|0}else if((f|0)==10){a[(c[s>>2]|0)+((c[t>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[s>>2]|0)+((c[t>>2]|0)+5)+1>>0]=c[r>>2];a[(c[s>>2]|0)+((c[t>>2]|0)+1)>>0]=0;a[(c[s>>2]|0)+((c[t>>2]|0)+2)>>0]=0;a[(c[s>>2]|0)+((c[t>>2]|0)+7)>>0]=0;BH((c[s>>2]|0)+(c[u>>2]|0)|0,0,(c[r>>2]|0)-(c[u>>2]|0)|0)|0;if(((c[r>>2]|0)-(c[u>>2]|0)|0)!=(e[(c[q>>2]|0)+16>>1]|0|0)){c[p>>2]=Rk(53410)|0;u=c[p>>2]|0;i=v;return u|0}else{c[p>>2]=0;u=c[p>>2]|0;i=v;return u|0}}return 0}function HC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+200>>2]|0}function IC(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;x=i;i=i+48|0;j=x+20|0;k=x+12|0;l=x+28|0;m=x+24|0;t=x+30|0;q=x+32|0;o=x+35|0;v=x+34|0;s=x+26|0;r=x+16|0;p=x;n=x+4|0;u=x+8|0;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[v>>0]=0;b[s>>1]=b[m>>1]|0;c[r>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[p>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[n>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)BH((c[n>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[o>>0]=a[(c[k>>2]|0)+6>>0]|0;b[t>>1]=(d[o>>0]|0)+1;if((d[(c[n>>2]|0)+((e[t>>1]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0|0)==0:0)b[q>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;f=((d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]|0))&65535;b[q>>1]=f;if((f&65535|0)>0)g=(e[q>>1]|0|0)<(e[l>>1]|0|0);else g=0;h=e[q>>1]|0;if(!g)break;if((h|0)<((e[t>>1]|0)+4|0)){w=10;break}b[t>>1]=b[q>>1]|0;w=6}if((w|0)==10){c[j>>2]=Rk(53568)|0;w=c[j>>2]|0;i=x;return w|0}if(h>>>0>(c[r>>2]|0)>>>0){c[j>>2]=Rk(53571)|0;w=c[j>>2]|0;i=x;return w|0}do if((e[q>>1]|0|0)!=0?((c[p>>2]|0)+3|0)>>>0>=(e[q>>1]|0)>>>0:0){a[v>>0]=(e[q>>1]|0)-(c[p>>2]|0);if((c[p>>2]|0)>>>0<=(e[q>>1]|0)>>>0){c[p>>2]=(e[q>>1]|0)+((d[(c[n>>2]|0)+((e[q>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[q>>1]|0)+2)+1>>0]|0));b[m>>1]=(c[p>>2]|0)-(e[l>>1]|0);b[q>>1]=(d[(c[n>>2]|0)+(e[q>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[q>>1]|0)+1>>0]|0);break}c[j>>2]=Rk(53582)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[t>>1]|0|0)>((d[o>>0]|0)+1|0)?(c[u>>2]=(e[t>>1]|0)+((d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0]|0)),((c[u>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[u>>2]|0)<=(e[l>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[l>>1]|0)-(c[u>>2]|0));b[m>>1]=(c[p>>2]|0)-(e[t>>1]|0);b[l>>1]=b[t>>1]|0;break}c[j>>2]=Rk(53595)|0;w=c[j>>2]|0;i=x;return w|0}while(0);if((d[v>>0]|0|0)<=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0|0)){w=(c[n>>2]|0)+((d[o>>0]|0)+7)|0;a[w>>0]=(d[w>>0]|0)-(d[v>>0]|0);break}c[j>>2]=Rk(53601)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[l>>1]|0|0)==((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]|0)|0)){if((e[t>>1]|0|0)==((d[o>>0]|0)+1|0)){a[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[p>>2]|0)>>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[p>>2];break}c[j>>2]=Rk(53608)|0;w=c[j>>2]|0;i=x;return w|0}else{a[(c[n>>2]|0)+(e[t>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]=b[l>>1];a[(c[n>>2]|0)+(e[l>>1]|0)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+(e[l>>1]|0)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[n>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);w=(c[k>>2]|0)+16|0;b[w>>1]=(e[w>>1]|0)+(e[s>>1]|0);c[j>>2]=0;w=c[j>>2]|0;i=x;return w|0}function JC(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;M=i;i=i+112|0;J=M+96|0;p=M+20|0;q=M+60|0;r=M+32|0;s=M;t=M+12|0;u=M+16|0;N=M+56|0;o=M+48|0;z=M+24|0;F=M+28|0;A=M+92|0;x=M+36|0;L=M+40|0;I=M+44|0;C=M+52|0;K=M+68|0;E=M+72|0;D=M+76|0;B=M+80|0;G=M+84|0;y=M+88|0;w=M+64|0;H=M+8|0;v=M+100|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;b=s;c[b>>2]=h;c[b+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[N>>2]=m;c[o>>2]=n;c[C>>2]=0;c[K>>2]=0;c[B>>2]=c[(c[p>>2]|0)+52>>2];c[G>>2]=0;c[y>>2]=d[(c[p>>2]|0)+7>>0];c[z>>2]=(c[u>>2]|0)+(c[N>>2]|0);if(a[(c[p>>2]|0)+3>>0]|0){if((c[z>>2]|0)>>>0<128){a[(c[q>>2]|0)+(c[y>>2]|0)>>0]=c[z>>2];h=1}else{h=c[z>>2]|0;h=vz((c[q>>2]|0)+(c[y>>2]|0)|0,h,((h|0)<0)<<31>>31)|0}c[y>>2]=(c[y>>2]|0)+(h&255)}N=s;N=vz((c[q>>2]|0)+(c[y>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+N;do if(a[(c[p>>2]|0)+2>>0]|0){c[F>>2]=c[t>>2];c[A>>2]=c[u>>2];c[u>>2]=0}else{N=s;n=c[N+4>>2]|0;if(!((n|0)>0|(n|0)==0&(c[N>>2]|0)>>>0>2147483647|(c[r>>2]|0)==0)){c[z>>2]=c[s>>2];c[F>>2]=c[r>>2];c[A>>2]=c[s>>2];break}c[J>>2]=Rk(57891)|0;N=c[J>>2]|0;i=M;return N|0}while(0);if((c[z>>2]|0)<=(e[(c[p>>2]|0)+10>>1]|0)){N=(c[y>>2]|0)+(c[z>>2]|0)|0;c[x>>2]=N;c[x>>2]=(c[x>>2]|0)<4?4:N;c[c[o>>2]>>2]=c[x>>2];c[I>>2]=c[z>>2];c[E>>2]=c[q>>2]}else{c[w>>2]=e[(c[p>>2]|0)+12>>1];c[x>>2]=(c[w>>2]|0)+((((c[z>>2]|0)-(c[w>>2]|0)|0)>>>0)%(((c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[x>>2]|0)>(e[(c[p>>2]|0)+10>>1]|0))c[x>>2]=c[w>>2];c[I>>2]=c[x>>2];c[c[o>>2]>>2]=(c[x>>2]|0)+(c[y>>2]|0)+4;c[E>>2]=(c[q>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))}c[D>>2]=(c[q>>2]|0)+(c[y>>2]|0);while(1){if((c[z>>2]|0)<=0){h=37;break}if(!(c[I>>2]|0)){c[H>>2]=c[G>>2];if(a[(c[B>>2]|0)+17>>0]|0)while(1){c[G>>2]=(c[G>>2]|0)+1;N=Pw(c[B>>2]|0,c[G>>2]|0)|0;if((N|0)==(c[G>>2]|0))continue;if((c[G>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[L>>2]=EA(c[B>>2]|0,C,G,c[G>>2]|0,0)|0;if(((c[L>>2]|0)==0?(d[(c[B>>2]|0)+17>>0]|0)!=0:0)?(a[v>>0]=(c[H>>2]|0)!=0?4:3,IA(c[B>>2]|0,c[G>>2]|0,a[v>>0]|0,c[H>>2]|0,L),(c[L>>2]|0)!=0):0)pt(c[C>>2]|0);if(c[L>>2]|0){h=26;break}Dl(c[E>>2]|0,c[G>>2]|0);pt(c[K>>2]|0);c[K>>2]=c[C>>2];c[E>>2]=c[(c[C>>2]|0)+56>>2];Dl(c[E>>2]|0,0);c[D>>2]=(c[(c[C>>2]|0)+56>>2]|0)+4;c[I>>2]=(c[(c[B>>2]|0)+36>>2]|0)-4}c[x>>2]=c[z>>2];if((c[x>>2]|0)>(c[I>>2]|0))c[x>>2]=c[I>>2];if((c[A>>2]|0)>0){if((c[x>>2]|0)>(c[A>>2]|0))c[x>>2]=c[A>>2];EH(c[D>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}else BH(c[D>>2]|0,0,c[x>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-(c[x>>2]|0);c[D>>2]=(c[D>>2]|0)+(c[x>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[x>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[x>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[x>>2]|0);if(c[A>>2]|0)continue;c[A>>2]=c[u>>2];c[F>>2]=c[t>>2]}if((h|0)==26){pt(c[K>>2]|0);c[J>>2]=c[L>>2];N=c[J>>2]|0;i=M;return N|0}else if((h|0)==37){pt(c[K>>2]|0);c[J>>2]=0;N=c[J>>2]|0;i=M;return N|0}return 0}function KC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+56>>2];if(!(c[f>>2]|0)){i=g;return}$z(c[d>>2]|0,c[f>>2]|0);Sb(c[(c[f>>2]|0)+36+4>>2]|0);Nd(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+56>>2]=0;i=g;return}function LC(b,e,f){b=b|0;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;u=i;i=i+64|0;g=u+4|0;h=u;j=u+16|0;k=u+28|0;n=u+32|0;p=u+40|0;r=u+44|0;t=u+24|0;s=u+20|0;q=u+8|0;o=u+12|0;l=u+48|0;m=u+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){CA(f);ie(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(Pw(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=EA(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=Jy(c[n>>2]|0,0,0)|0;pt(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Bw(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Qw(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Rk(59666)|0;if(c[t>>2]|0){pt(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=FA(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;pt(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Bw(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=ye(c[(c[p>>2]|0)+68>>2]|0)|0;if(c[t>>2]|0){pt(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];IA(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){pt(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=te(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){pt(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=EA(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;GB(c[p>>2]|0,c[s>>2]|0);qe(c[(c[p>>2]|0)+68>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function MC(d,f,g,h,j){d=d|0;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;r=i;i=i+32|0;k=r+8|0;l=r+16|0;m=r+20|0;n=r+24|0;o=r+4|0;p=r;q=r+12|0;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=c[(c[l>>2]|0)+4>>2];if((c[n>>2]|0)!=0?((e[(c[q>>2]|0)+22>>1]|0)&1|0)!=0:0){c[k>>2]=8;g=c[k>>2]|0;i=r;return g|0}if((c[n>>2]|0)!=0?(NC(c[q>>2]|0),(c[(c[q>>2]|0)+80>>2]|0)==0):0){c[k>>2]=7;g=c[k>>2]|0;i=r;return g|0}if((c[m>>2]|0)==1?(Aw(c[q>>2]|0)|0)==0:0)c[m>>2]=0;c[(c[p>>2]|0)+60>>2]=c[m>>2];b[(c[p>>2]|0)+76>>1]=-1;c[(c[p>>2]|0)+16>>2]=c[o>>2];c[c[p>>2]>>2]=c[l>>2];c[(c[p>>2]|0)+4>>2]=c[q>>2];a[(c[p>>2]|0)+72>>0]=c[n>>2];c[(c[p>>2]|0)+8>>2]=c[(c[q>>2]|0)+8>>2];if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=c[p>>2];c[(c[q>>2]|0)+8>>2]=c[p>>2];a[(c[p>>2]|0)+73>>0]=0;c[k>>2]=0;g=c[k>>2]|0;i=r;return g|0}function NC(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Dg(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function OC(){return 200}function PC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+76|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function QC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;g=m+20|0;l=m+24|0;k=m+4|0;j=m;h=m+12|0;c[f>>2]=a;c[g>>2]=b;c[l>>2]=0;c[k>>2]=c[(c[f>>2]|0)+96>>2];a:do if((c[g>>2]|0)>(c[k>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[h>>2]=Yd(c[(c[f>>2]|0)+92>>2]|0,(c[g>>2]|0)*48|0,0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;l=c[e>>2]|0;i=m;return l|0}BH((c[h>>2]|0)+((c[k>>2]|0)*48|0)|0,0,((c[g>>2]|0)-(c[k>>2]|0)|0)*48|0)|0;c[(c[f>>2]|0)+92>>2]=c[h>>2];c[j>>2]=c[k>>2];while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break a;c[(c[h>>2]|0)+((c[j>>2]|0)*48|0)+20>>2]=c[(c[f>>2]|0)+24>>2];if((c[c[(c[f>>2]|0)+64>>2]>>2]|0)!=0?(a=(c[f>>2]|0)+72|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){k=(c[f>>2]|0)+72|0;b=c[k+4>>2]|0;a=(c[h>>2]|0)+((c[j>>2]|0)*48|0)|0;c[a>>2]=c[k>>2];c[a+4>>2]=b}else{a=(c[h>>2]|0)+((c[j>>2]|0)*48|0)|0;c[a>>2]=c[(c[f>>2]|0)+148>>2];c[a+4>>2]=0}c[(c[h>>2]|0)+((c[j>>2]|0)*48|0)+24>>2]=c[(c[f>>2]|0)+52>>2];a=Rg(c[(c[f>>2]|0)+24>>2]|0)|0;c[(c[h>>2]|0)+((c[j>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[h>>2]|0)+((c[j>>2]|0)*48|0)+16>>2]|0))break;if(Fj(c[f>>2]|0)|0)RC(c[(c[f>>2]|0)+208>>2]|0,(c[h>>2]|0)+((c[j>>2]|0)*48|0)+28|0);c[(c[f>>2]|0)+96>>2]=(c[j>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}c[e>>2]=7;l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function RC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+104>>2];i=d;return}function SC(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function TC(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=ye(c[(c[m>>2]|0)+68>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{g=c[l>>2]|0;f=33938;h=g+16|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;g=(c[l>>2]|0)+24|0;h=g+76|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));GB(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;Dl((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);Dl((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function UC(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+12|0;h=o+20|0;j=o;l=o+24|0;m=o+8|0;n=o+16|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=GH(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=GH(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=GH(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function VC(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;g=f;c[d>>2]=a;c[g>>2]=b;c[c[g>>2]>>2]=e[(c[d>>2]|0)+24+16>>1];i=f;return c[(c[d>>2]|0)+24+8>>2]|0}function WC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+48|0;c[f>>2]=Gw(c[c[e>>2]>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Rk(65954)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+26>>0]=0;c[(c[e>>2]|0)+60>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function XC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[(c[e>>2]|0)+12>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))a=c[(c[f>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;c[g>>2]=$G(c[(c[e>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,a)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0);g=c[d>>2]|0;i=h;return g|0}return 0}function YC(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Iq(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(sg(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function ZC(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(fm(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function _C(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;f=h+16|0;e=h+12|0;b=h+8|0;d=h+4|0;g=h;c[f>>2]=a;if(c[(c[f>>2]|0)+176>>2]|0){c[e>>2]=c[(c[f>>2]|0)+176>>2];while(1){a=c[e>>2]|0;if(!(c[(c[e>>2]|0)+4>>2]|0))break;c[e>>2]=c[a+4>>2]}dz(a)|0;c[(c[f>>2]|0)+176>>2]=0;c[(c[f>>2]|0)+184>>2]=0}a:do if(c[(c[f>>2]|0)+56>>2]|0){c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[f>>2]|0)+36>>2]|0))break a;c[d>>2]=c[(c[(c[f>>2]|0)+56>>2]|0)+(c[b>>2]<<2)>>2];if(c[d>>2]|0){Jz(c[f>>2]|0,c[d>>2]|0);c[(c[(c[f>>2]|0)+56>>2]|0)+(c[b>>2]<<2)>>2]=0}c[b>>2]=(c[b>>2]|0)+1}}while(0);if(c[(c[f>>2]|0)+8>>2]|0)gu((c[(c[f>>2]|0)+8>>2]|0)+40|0,c[(c[f>>2]|0)+28>>2]|0);while(1){a=c[f>>2]|0;if(!(c[(c[f>>2]|0)+180>>2]|0))break;c[g>>2]=c[a+180>>2];c[(c[f>>2]|0)+180>>2]=c[(c[g>>2]|0)+4>>2];gD(c[g>>2]|0)}if(!(c[a+204>>2]|0)){i=h;return}nz(c[f>>2]|0,-1,0);i=h;return}function $C(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;H=i;i=i+144|0;z=H+8|0;B=H+16|0;A=H+24|0;y=H;d=H+60|0;e=H+48|0;I=H+40|0;f=H+96|0;j=H+80|0;v=H+56|0;l=H+52|0;n=H+44|0;o=H+64|0;p=H+68|0;u=H+72|0;k=H+92|0;F=H+84|0;E=H+76|0;t=H+88|0;m=H+32|0;w=H+100|0;x=H+104|0;h=H+108|0;g=H+112|0;q=H+116|0;D=H+120|0;r=H+124|0;s=H+128|0;c[e>>2]=a;c[I>>2]=b;c[j>>2]=0;c[v>>2]=0;c[l>>2]=0;c[v>>2]=aD(c[e>>2]|0,c[I>>2]|0)|0;c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(SC(c[n>>2]|0)|0){c[l>>2]=1;if((c[f>>2]|0)!=1)c[j>>2]=(c[j>>2]|0)+1;fe(c[n>>2]|0);c[v>>2]=El(Id(c[n>>2]|0)|0)|0}c[f>>2]=(c[f>>2]|0)+1}if(c[v>>2]|0){c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}if(((c[l>>2]|0)!=0?(c[(c[e>>2]|0)+192>>2]|0)!=0:0)?(c[v>>2]=qb[c[(c[e>>2]|0)+192>>2]&31](c[(c[e>>2]|0)+188>>2]|0)|0,(c[v>>2]|0)!=0):0){c[d>>2]=531;I=c[d>>2]|0;i=H;return I|0}I=0==(Ed(og(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(c[j>>2]|0)<=1){c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[o>>2]|0)c[v>>2]=Fe(c[o>>2]|0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[p>>2]|0)c[v>>2]=Ee(c[p>>2]|0,0)|0;c[f>>2]=(c[f>>2]|0)+1}if(!(c[v>>2]|0))bD(c[e>>2]|0)|0}else{c[u>>2]=c[c[e>>2]>>2];c[k>>2]=0;c[F>>2]=0;c[E>>2]=og(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;I=m;c[I>>2]=0;c[I+4>>2]=0;c[x>>2]=0;c[h>>2]=Ed(c[E>>2]|0)|0;I=c[e>>2]|0;c[y>>2]=c[E>>2];c[F>>2]=tf(I,33954,y)|0;if(!(c[F>>2]|0)){c[d>>2]=7;I=c[d>>2]|0;i=H;return I|0}do{if(c[x>>2]|0){if((c[x>>2]|0)>100){G=34;break}if((c[x>>2]|0)==1){c[B>>2]=c[F>>2];Zb(13,33984,B)}}c[x>>2]=(c[x>>2]|0)+1;_b(4,g);I=(c[F>>2]|0)+(c[h>>2]|0)|0;E=c[g>>2]&255;c[z>>2]=(c[g>>2]|0)>>>8&16777215;c[z+4>>2]=E;Yb(13,I,33999,z)|0;c[v>>2]=_j(c[u>>2]|0,c[F>>2]|0,0,w)|0}while((c[v>>2]|0)==0?(c[w>>2]|0)!=0:0);if((G|0)==34){c[A>>2]=c[F>>2];Zb(13,33970,A);Dj(c[u>>2]|0,c[F>>2]|0,0)|0}if(!(c[v>>2]|0))c[v>>2]=ZB(c[u>>2]|0,c[F>>2]|0,t,16406,0)|0;if(c[v>>2]|0){Nd(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if((SC(c[q>>2]|0)|0)!=0?(c[D>>2]=cD(c[q>>2]|0)|0,(c[D>>2]|0)!=0):0){if((c[k>>2]|0)==0?(dD(c[q>>2]|0)|0)==0:0)c[k>>2]=1;A=c[t>>2]|0;B=c[D>>2]|0;I=(Ed(c[D>>2]|0)|0)+1|0;E=m;c[v>>2]=Ae(A,B,I,c[E>>2]|0,c[E+4>>2]|0)|0;E=(Ed(c[D>>2]|0)|0)+1|0;I=m;E=DH(c[I>>2]|0,c[I+4>>2]|0,E|0,((E|0)<0)<<31>>31|0)|0;I=m;c[I>>2]=E;c[I+4>>2]=C;if(c[v>>2]|0){G=50;break}}c[f>>2]=(c[f>>2]|0)+1}if((G|0)==50){zB(c[t>>2]|0)|0;Dj(c[u>>2]|0,c[F>>2]|0,0)|0;Nd(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}if(((c[k>>2]|0)!=0?0==((dk(c[t>>2]|0)|0)&1024|0):0)?(I=Bj(c[t>>2]|0,2)|0,c[v>>2]=I,0!=(I|0)):0){zB(c[t>>2]|0)|0;Dj(c[u>>2]|0,c[F>>2]|0,0)|0;Nd(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[r>>2]|0)c[v>>2]=Fe(c[r>>2]|0,c[F>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}zB(c[t>>2]|0)|0;if(c[v>>2]|0){Nd(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[v>>2]=Dj(c[u>>2]|0,c[F>>2]|0,1)|0;Nd(c[e>>2]|0,c[F>>2]|0);c[F>>2]=0;if(c[v>>2]|0){c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}gh();c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[s>>2]|0)Ee(c[s>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+1}hh();bD(c[e>>2]|0)|0}c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}function aD(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;l=i;i=i+32|0;h=l+8|0;d=l+16|0;e=l+20|0;k=l+24|0;j=l+4|0;g=l;f=l+12|0;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+328>>2];c[(c[h>>2]|0)+328>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+304>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=qb[c[g>>2]&31](c[f>>2]|0)|0;Qz(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+328>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function bD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nm(c[d>>2]|0,64);i=b;return 0}function cD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fD(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function dD(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+4>>2];fe(c[f>>2]|0);c[b>>2]=eD(c[c[e>>2]>>2]|0)|0;i=d;return c[b>>2]|0}function eD(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+7>>0]|0|0}function fD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+172>>2]|0}function gD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+72;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;Jz(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}gu(c[d>>2]|0,c[(c[b>>2]|0)+60>>2]|0);Nd(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function hD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[3384+(c[b>>2]<<2)>>2]|0}function iD(d,f,g){d=d|0;f=f|0;g=g|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+160|0;t=K+16|0;s=K+56|0;r=K+88|0;z=K+40|0;y=K+72|0;x=K+80|0;q=K+24|0;p=K+32|0;v=K;u=K+48|0;o=K+8|0;n=K+64|0;j=K+132|0;H=K+116|0;I=K+104|0;J=K+124|0;A=K+128|0;B=K+136|0;E=K+108|0;D=K+112|0;F=K+96|0;C=K+120|0;k=K+100|0;l=K+140|0;w=K+144|0;m=K+148|0;c[j>>2]=d;c[H>>2]=f;c[I>>2]=g;c[J>>2]=c[H>>2];do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[E>>2]=c[(c[j>>2]|0)+16>>2];y=c[I>>2]|0;z=c[H>>2]|0;c[n>>2]=e[(c[E>>2]|0)+6>>1];Yb(y,z,34051,n)|0;c[A>>2]=Ed(c[H>>2]|0)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[E>>2]|0)+6>>1]|0))break;c[D>>2]=c[(c[E>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[D>>2]|0)j=c[c[D>>2]>>2]|0;else j=34056;c[F>>2]=j;c[C>>2]=Ed(c[F>>2]|0)|0;if((c[C>>2]|0)==6?($G(c[F>>2]|0,15963,6)|0)==0:0){c[F>>2]=34060;c[C>>2]=1}j=c[A>>2]|0;if(((c[A>>2]|0)+(c[C>>2]|0)|0)>((c[I>>2]|0)-6|0)){G=10;break}c[A>>2]=j+1;a[(c[H>>2]|0)+j>>0]=44;if(a[(c[(c[E>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0){z=c[A>>2]|0;c[A>>2]=z+1;a[(c[H>>2]|0)+z>>0]=45}EH((c[H>>2]|0)+(c[A>>2]|0)|0,c[F>>2]|0,(c[C>>2]|0)+1|0)|0;c[A>>2]=(c[A>>2]|0)+(c[C>>2]|0);c[B>>2]=(c[B>>2]|0)+1}if((G|0)==10){I=(c[H>>2]|0)+j|0;a[I>>0]=a[34062]|0;a[I+1>>0]=a[34063]|0;a[I+2>>0]=a[34064]|0;a[I+3>>0]=a[34065]|0}I=c[A>>2]|0;c[A>>2]=I+1;a[(c[H>>2]|0)+I>>0]=41;a[(c[H>>2]|0)+(c[A>>2]|0)>>0]=0;J=c[J>>2]|0;i=K;return J|0}case -4:{c[k>>2]=c[(c[j>>2]|0)+16>>2];G=c[I>>2]|0;I=c[H>>2]|0;c[o>>2]=c[c[k>>2]>>2];Yb(G,I,34067,o)|0;J=c[J>>2]|0;i=K;return J|0}case -5:{c[l>>2]=c[(c[j>>2]|0)+16>>2];G=c[I>>2]|0;I=c[H>>2]|0;H=b[c[l>>2]>>1]|0;c[u>>2]=c[(c[l>>2]|0)+24>>2];c[u+4>>2]=H;Yb(G,I,34075,u)|0;J=c[J>>2]|0;i=K;return J|0}case -13:{G=c[I>>2]|0;I=c[H>>2]|0;E=c[(c[j>>2]|0)+16>>2]|0;F=c[E+4>>2]|0;H=v;c[H>>2]=c[E>>2];c[H+4>>2]=F;Yb(G,I,17289,v)|0;J=c[J>>2]|0;i=K;return J|0}case -14:{G=c[I>>2]|0;I=c[H>>2]|0;c[p>>2]=c[(c[j>>2]|0)+16>>2];Yb(G,I,34082,p)|0;J=c[J>>2]|0;i=K;return J|0}case -12:{G=c[I>>2]|0;I=c[H>>2]|0;h[q>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];Yb(G,I,34085,q)|0;J=c[J>>2]|0;i=K;return J|0}case -8:{c[w>>2]=c[(c[j>>2]|0)+16>>2];j=c[w>>2]|0;if(e[(c[w>>2]|0)+8>>1]&2){c[J>>2]=c[j+16>>2];J=c[J>>2]|0;i=K;return J|0}if(e[j+8>>1]&4){G=c[I>>2]|0;I=c[H>>2]|0;E=c[w>>2]|0;F=c[E+4>>2]|0;H=x;c[H>>2]=c[E>>2];c[H+4>>2]=F;Yb(G,I,17289,x)|0;J=c[J>>2]|0;i=K;return J|0}if(e[(c[w>>2]|0)+8>>1]&8){G=c[I>>2]|0;I=c[H>>2]|0;h[y>>3]=+h[c[w>>2]>>3];Yb(G,I,34085,y)|0;J=c[J>>2]|0;i=K;return J|0}if(e[(c[w>>2]|0)+8>>1]&1){Yb(c[I>>2]|0,c[H>>2]|0,30955,z)|0;J=c[J>>2]|0;i=K;return J|0}else{c[J>>2]=34091;J=c[J>>2]|0;i=K;return J|0}}case -10:{c[m>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];G=c[I>>2]|0;I=c[H>>2]|0;H=c[c[m>>2]>>2]|0;c[r>>2]=c[m>>2];c[r+4>>2]=H;Yb(G,I,34098,r)|0;J=c[J>>2]|0;i=K;return J|0}case -15:{Yb(c[I>>2]|0,c[H>>2]|0,34109,s)|0;J=c[J>>2]|0;i=K;return J|0}case -18:{Yb(c[I>>2]|0,c[H>>2]|0,34118,t)|0;J=c[J>>2]|0;i=K;return J|0}case -19:{a[c[H>>2]>>0]=0;J=c[J>>2]|0;i=K;return J|0}default:{c[J>>2]=c[(c[j>>2]|0)+16>>2];if(c[J>>2]|0){J=c[J>>2]|0;i=K;return J|0}c[J>>2]=c[H>>2];a[c[H>>2]>>0]=0;J=c[J>>2]|0;i=K;return J|0}}while(0);return 0}function jD(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;Ze(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function kD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=cm(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;HH(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function lD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[j>>2]|0)+8>>1]|0)&16384)Pe(c[j>>2]|0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))am(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(cm(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}iz(c[j>>2]|0)|0}else up(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function mD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)bx(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Nd(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function nD(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Nd(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function oD(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+64>>0]=0;ee(c[e>>2]|0,7);i=d;return 7}function pD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Nd(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}BH((c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0,0,(c[(c[b>>2]|0)+20>>2]|0)-(c[e>>2]|0)<<4|0)|0;c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+456|0)){i=g;return}h=(c[b>>2]|0)+456|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Nd(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+456;i=g;return}function qD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Wg(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function rD(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+152>>2]|0)>1:0){sD(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(tD(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;qt(c[f>>2]|0);i=g;return}function sD(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return}function tD(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Sb(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function uD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+4|0;e=m+16|0;l=m+8|0;k=m+20|0;g=m+28|0;h=m;f=m+12|0;j=m+24|0;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];CA(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=Aw(c[e>>2]|0)|0;b=Pw(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[229]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=kj((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=BA(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Rk(55475)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=Jy(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=DA(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=ye(c[(c[(c[e>>2]|0)+12>>2]|0)+68>>2]|0)|0;Dl((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);Dl((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);Dl((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;wj(c[k>>2]|0)|0;break}c[d>>2]=Rk(55470)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function vD(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[e>>2]=c[b+40>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+16>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+16>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}c[g>>2]=xj(c[f>>2]|0,d[(c[f>>2]|0)+19>>0]|0,1)|0;c[e>>2]=sj(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function wD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+18>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=ne(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=ye(c[f>>2]|0)|0;if(!(c[g>>2]|0)){Cl(c[f>>2]|0);a[(c[e>>2]|0)+18>>0]=1}qe(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function xD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+16|0;g=o+20|0;h=o+28|0;n=o+24|0;m=o+36|0;k=o;l=o+8|0;j=o+32|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+19>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=rk(c[g>>2]|0)|0;e=(c[g>>2]|0)+72|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+72|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Ql(c[(c[g>>2]|0)+64>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[229]|0)/(c[(c[g>>2]|0)+152>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+64>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=DH(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Ae(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+64>>2]|0,e=k,e=DH(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=DH(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Ql(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+64>>2]|0,e=k,e=DH(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=DH(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=DH(q|0,C|0,4,0)|0,q=Ql(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+64>>2]|0,e=k,e=DH(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=DH(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=DH(q|0,C|0,8,0)|0,q=Ae(p,17420,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+72|0;e=q;p=DH(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Cg(c[(c[g>>2]|0)+64>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+72|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+72|0;c[n>>2]=Aj(c[(c[g>>2]|0)+64>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function yD(f){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;u=i;i=i+48|0;g=u+4|0;s=u+16|0;k=u+36|0;r=u;j=u+32|0;h=u+40|0;m=u+44|0;p=u+24|0;l=u+20|0;q=u+8|0;n=u+12|0;o=u+28|0;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+148>>2]|0)>>>0)/((c[(c[p>>2]|0)+152>>2]|0)>>>0)|0;f=(c[p>>2]|0)+20|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+24>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(Ug(c[(c[p>>2]|0)+56>>2]|0,c[q>>2]|0)|0)!=0:0){f=kk(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&4)c[m>>2]=1;Lk(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[229]|0)/(c[(c[p>>2]|0)+152>>2]|0)|0)+1|0)):0)?(c[s>>2]=ne(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=zD(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&4)c[m>>2]=1;Lk(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+20|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=kk(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|4;Lk(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+20|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function zD(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;p=i;i=i+48|0;f=p+28|0;g=p+12|0;m=p+24|0;n=p+20|0;k=p+32|0;h=p+8|0;l=p+16|0;j=p;c[g>>2]=a;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[n>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)==2?(c[n>>2]=AD(c[m>>2]|0)|0,(c[n>>2]|0)!=0):0){c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}mk(c[g>>2]|0);c[k>>2]=BD(c[m>>2]|0,c[g>>2]|0)|0;if(c[k>>2]|0){if((c[(c[m>>2]|0)+96>>2]|0)!=0?(wl(c[g>>2]|0)|0)!=0:0)o=7}else o=7;if((o|0)==7){do if((c[k>>2]|0)==0?(Fj(c[m>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[(c[m>>2]|0)+28>>2]|0)>>>0?(c[c[(c[m>>2]|0)+64>>2]>>2]|0)!=0:0){k=(c[m>>2]|0)+72|0;a=c[k+4>>2]|0;o=j;c[o>>2]=c[k>>2];c[o+4>>2]=a;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[h>>2]=jk(c[m>>2]|0,c[l>>2]|0)|0;o=(c[g>>2]|0)+24|0;b[o>>1]=e[o>>1]|0|4;o=j;c[n>>2]=Ql(c[(c[m>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}k=c[(c[m>>2]|0)+64>>2]|0;l=c[l>>2]|0;a=c[(c[m>>2]|0)+152>>2]|0;o=j;o=DH(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[n>>2]=Ae(k,l,a,o,C)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}a=c[(c[m>>2]|0)+64>>2]|0;l=j;o=c[(c[m>>2]|0)+152>>2]|0;o=DH(c[l>>2]|0,c[l+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=DH(o|0,C|0,4,0)|0;c[n>>2]=Ql(a,o,C,c[h>>2]|0)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}a=8+(c[(c[m>>2]|0)+152>>2]|0)|0;o=(c[m>>2]|0)+72|0;l=o;a=DH(c[l>>2]|0,c[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[o>>2]=a;c[o+4>>2]=C;o=(c[m>>2]|0)+44|0;c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=Sg(c[(c[m>>2]|0)+56>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;o=Rl(c[m>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;c[n>>2]=c[n>>2]|o;if(!(c[n>>2]|0))break;c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}if((d[(c[m>>2]|0)+16>>0]|0|0)!=4){o=(c[g>>2]|0)+24|0;b[o>>1]=e[o>>1]|0|4}}while(0);if((c[(c[m>>2]|0)+96>>2]|0)>0?(wl(c[g>>2]|0)|0)!=0:0)c[n>>2]=xl(c[g>>2]|0)|0}if((c[(c[m>>2]|0)+24>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[m>>2]|0)+24>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[n>>2];o=c[f>>2]|0;i=p;return o|0}function AD(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;e=k;c[h>>2]=b;c[j>>2]=0;c[f>>2]=c[c[h>>2]>>2];b=c[h>>2]|0;if(c[(c[h>>2]|0)+40>>2]|0){c[g>>2]=c[b+40>>2];j=c[g>>2]|0;i=k;return j|0}if((Fj(b)|0)==0?(d[(c[h>>2]|0)+5>>0]|0|0)!=2:0){b=Rg(c[(c[h>>2]|0)+24>>2]|0)|0;c[(c[h>>2]|0)+56>>2]=b;if(!(c[(c[h>>2]|0)+56>>2]|0)){c[g>>2]=7;j=c[g>>2]|0;i=k;return j|0}do if(!(c[c[(c[h>>2]|0)+64>>2]>>2]|0)){b=c[h>>2]|0;if((d[(c[h>>2]|0)+5>>0]|0|0)==4){Vj(c[b+64>>2]|0);break}c[e>>2]=6|((d[b+12>>0]|0|0)!=0?4104:2048);c[j>>2]=CD(c[h>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=gk(c[f>>2]|0,c[(c[h>>2]|0)+172>>2]|0,c[(c[h>>2]|0)+64>>2]|0,c[e>>2]|0,0)|0}while(0);if(!(c[j>>2]|0)){c[(c[h>>2]|0)+44>>2]=0;f=(c[h>>2]|0)+72|0;c[f>>2]=0;c[f+4>>2]=0;a[(c[h>>2]|0)+19>>0]=0;f=(c[h>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;c[j>>2]=Fl(c[h>>2]|0)|0}}b=c[h>>2]|0;if(c[j>>2]|0){Wg(c[b+56>>2]|0);c[(c[h>>2]|0)+56>>2]=0}else a[b+16>>0]=3;c[g>>2]=c[j>>2];j=c[g>>2]|0;i=k;return j|0}function BD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Ug(c[(c[f>>2]|0)+56>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;i=d;return b|0}function CD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+12>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+24>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=gg(c[(c[e>>2]|0)+60>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function DD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+136>>2]|0){g=c[f+136>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+136>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;BH(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+140>>1]|0|0)|0}else{g=de(40+(e[f+140>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=64;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+60>>2]|0;n=c[(c[j>>2]|0)+152>>2]|0;n=MH((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Ok(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+120|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function ED(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+29>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&4|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=vb[c[(c[j>>2]|0)+32>>2]&63](c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}n=lb[c[140>>2]&31](c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function FD(f){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;r=i;i=i+48|0;n=r+36|0;o=r+16|0;l=r;q=r+28|0;p=r+32|0;h=r+40|0;k=r+24|0;m=r+20|0;j=r+8|0;g=r+4|0;c[o>>2]=f;c[h>>2]=0;c[l>>2]=UA(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=Bw(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=kj((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+12>>2]=f;c[p>>2]=f;xe(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?($G((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!($G(c[j>>2]|0,33938,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=$A(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}pt(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if(($G((c[j>>2]|0)+21|0,36102,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){pt(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];zg(c[o>>2]|0);c[l>>2]=Ag(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Rk(54754)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(kj((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(kj((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);pt(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function GD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+40>>2]|0){c[h>>2]=c[(c[j>>2]|0)+40>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+21>>0]=c[g>>2];if((d[(c[j>>2]|0)+16>>0]|0|0)==1){f=(Fj(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Il(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=Hl(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Ij(c[(c[j>>2]|0)+208>>2]|0,-1)|0)!=0:0){c[l>>2]=Il(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Ij(c[(c[j>>2]|0)+208>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=HD(c[(c[j>>2]|0)+208>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+16>>0]=2;c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+24>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+24>>2];c[(c[j>>2]|0)+28>>2]=c[(c[j>>2]|0)+24>>2];k=(c[j>>2]|0)+72|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function HD(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=_k(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if($G(b,Fk(c[e>>2]|0)|0,48)|0){Oj(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function ID(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ze(c[d>>2]|0);i=b;return}function JD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;H=i;i=i+624|0;g=H+44|0;h=H+4|0;j=H;k=H+40|0;l=H+76|0;m=H+16|0;z=H+20|0;p=H+24|0;x=H+64|0;o=H+72|0;w=H+80|0;B=H+88|0;n=H+92|0;t=H+48|0;s=H+52|0;r=H+56|0;v=H+8|0;u=H+60|0;C=H+28|0;F=H+96|0;E=H+32|0;A=H+68|0;y=H+36|0;D=H+84|0;q=H+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)d=1;else d=(c[o>>2]|0)==524288;else d=0;c[C>>2]=d&1;c[E>>2]=c[j>>2];b=c[1152]|0;if((b|0)!=(lH()|0)){c[1152]=lH()|0;_b(0,0)}d=c[z>>2]|0;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!d){c[B>>2]=zE(514,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=OE(d,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Rb(12)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=PE(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=vE(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(IG()|0)>>2]|0)!=21,!(F&(c[u>>2]|0)!=0^1|(c[t>>2]|0)!=0)):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=vE(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=ll(30591)|0;c[B>>2]=qE(F,36181,c[E>>2]|0,30591)|0;break}if(c[l>>2]&526336){lb[c[4448>>2]&31](c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)qb[c[4400>>2]&31](c[E>>2]|0)|0;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=QE(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Sb(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function KD(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;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((qb[c[4400>>2]&31](c[f>>2]|0)|0)==-1){if((c[(IG()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=qE(2570,36278,c[f>>2]|0,30729)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=vb[c[4412>>2]&63](c[f>>2]|0,h)|0;if(c[j>>2]|0){if((c[j>>2]|0)!=14)break;c[j>>2]=0;break}if(hH(c[h>>2]|0)|0)c[j>>2]=qE(1290,36548,c[f>>2]|0,30744)|0;pE(0,c[h>>2]|0,30746)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function LD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+96|0;f=l+88|0;g=l+84|0;h=l+80|0;j=l+76|0;k=l;c[l+92>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;switch(c[g>>2]|0){case 0:{c[j>>2]=0;break}case 1:{c[j>>2]=6;break}case 2:{c[j>>2]=4;break}default:{}}b=(vb[c[4232>>2]&63](c[f>>2]|0,c[j>>2]|0)|0)==0&1;c[c[h>>2]>>2]=b;if(c[g>>2]|0){i=l;return 0}if(!(c[c[h>>2]>>2]|0)){i=l;return 0}if(vb[c[4256>>2]&63](c[f>>2]|0,k)|0){i=l;return 0}if(c[k+36>>2]|0){i=l;return 0}c[c[h>>2]>>2]=0;i=l;return 0}function MD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+8|0;m=o;g=o+16|0;h=o+24|0;j=o+12|0;k=o+20|0;l=o+32|0;c[o+28>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]=0;do if((a[c[h>>2]>>0]|0)==47){f=c[j>>2]|0;d=c[k>>2]|0;c[m>>2]=c[h>>2];Yb(f,d,14418,m)|0}else{if(vb[c[4244>>2]&63](c[k>>2]|0,(c[j>>2]|0)-1|0)|0){c[l>>2]=cH(c[k>>2]|0)|0;f=(c[j>>2]|0)-(c[l>>2]|0)|0;d=(c[k>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=c[h>>2];Yb(f,d,36544,n)|0;break}d=ll(30831)|0;c[g>>2]=qE(d,36186,c[h>>2]|0,30831)|0;d=c[g>>2]|0;i=o;return d|0}while(0);c[g>>2]=0;d=c[g>>2]|0;i=o;return d|0}function ND(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;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;BH(c[g>>2]|0,0,c[f>>2]|0)|0;c[1152]=lH()|0;c[h>>2]=vE(36531,0,0)|0;if((c[h>>2]|0)<0){db(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[4608]|0;a[e+1>>0]=a[4609]|0;a[e+2>>0]=a[4610]|0;a[e+3>>0]=a[4611]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=lb[c[4304>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(IG()|0)>>2]|0)==4);pE(0,c[h>>2]|0,30936);e=c[f>>2]|0;i=l;return e|0}function OD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;pH(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function PD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=RD(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function QD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return 0}function RD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;d=g+12|0;e=g+8|0;f=g;c[g+16>>2]=a;c[d>>2]=b;c[e>>2]=0;if(!(eb(f|0,0)|0)){a=c[f>>2]|0;a=MH(1e3,0,a|0,((a|0)<0)<<31>>31|0)|0;a=DH(1045635584,49096,a|0,C|0)|0;b=(c[f+4>>2]|0)/1e3|0;b=DH(a|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;f=c[d>>2]|0;c[f>>2]=b;c[f+4>>2]=C;f=c[e>>2]|0;i=g;return f|0}else{c[e>>2]=1;f=c[e>>2]|0;i=g;return f|0}return 0}function SD(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;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=25)break;if(c[4204+((c[g>>2]|0)*12|0)+8>>2]|0)c[4204+((c[g>>2]|0)*12|0)+4>>2]=c[4204+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=25){j=16;break}b=(aH(c[e>>2]|0,c[4204+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[4204+(d*12|0)+8>>2]|0))c[4204+((c[g>>2]|0)*12|0)+8>>2]=c[4204+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[4204+((c[g>>2]|0)*12|0)+8>>2];c[4204+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function TD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=25){b=6;break}b=(aH(c[d>>2]|0,c[4204+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;a=c[e>>2]|0;if(b){b=4;break}c[e>>2]=a+1}if((b|0)==4){c[f>>2]=c[4204+(a*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((b|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function UD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=24)break a;if(!(aH(c[d>>2]|0,c[4204+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=25){a=11;break}d=c[e>>2]|0;if(c[4204+((c[e>>2]|0)*12|0)+4>>2]|0){a=9;break}c[e>>2]=d+1}if((a|0)==9){c[f>>2]=c[4204+(d*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function VD(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 4128}function WD(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){e=c[e>>2]|0;i=f;return e|0}c[d>>2]=c[b>>2];bE(c[b>>2]|0,0)|0;Sb(c[(c[d>>2]|0)+24>>2]|0);c[e>>2]=IE(c[b>>2]|0)|0;e=c[e>>2]|0;i=f;return e|0}function XD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+12|0;o=m+20|0;h=m+24|0;j=m+28|0;n=m;l=m+8|0;k=m+16|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=HE(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{c[(c[l>>2]|0)+20>>2]=0;BH((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function YD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+12|0;o=n+20|0;h=n+24|0;j=n+28|0;k=n;l=n+8|0;m=n+16|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){if((c[j>>2]|0)<=0)break;o=k;o=DE(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if((o|0)<=0)break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=DH(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=0){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}c[(c[l>>2]|0)+20>>2]=0;c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function ZD(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;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=DH(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=AH(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=KH(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=MH(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=CE(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[(IG()|0)>>2]|0;c[(c[g>>2]|0)+20>>2]=k;c[e>>2]=qE(1546,36204,c[(c[g>>2]|0)+32>>2]|0,28429)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function _D(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+4|0;o=k+16|0;n=k+8|0;j=k+20|0;h=k+28|0;l=k;m=k+12|0;g=k+24|0;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=GE(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){o=c[(IG()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=o;c[f>>2]=qE(1034,36520,c[(c[h>>2]|0)+32>>2]|0,28385)|0;o=c[f>>2]|0;i=k;return o|0}if((e[(c[h>>2]|0)+18>>1]|0)&8){c[j>>2]=vb[c[4412>>2]&63](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!((c[j>>2]|0)==0&(c[g>>2]|0)>=0)){if((c[j>>2]|0)==14)c[j>>2]=0}else{GE(c[g>>2]|0,0,0)|0;pE(c[h>>2]|0,c[g>>2]|0,28399)}o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function $D(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=vb[c[4268>>2]&63](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[(IG()|0)>>2]|0;c[(c[e>>2]|0)+20>>2]=j;c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function aE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+8|0;n=m+16|0;g=m+20|0;h=m+24|0;l=m+4|0;j=m;k=m+12|0;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];sa(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=vb[c[4424>>2]&63](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(IG()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=FE(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=0&(c[j>>2]|0)!=5)c[(c[h>>2]|0)+20>>2]=c[k>>2]}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function bE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+8|0;n=m+16|0;g=m+20|0;h=m+24|0;l=m+4|0;j=m;k=m+12|0;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=qb[c[4436>>2]&31](c[l>>2]|0)|0;if((c[j>>2]|0)<0?(c[(IG()|0)>>2]|0)==20:0)c[j>>2]=qb[c[4400>>2]&31](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(IG()|0)>>2];c[j>>2]=0;c[j>>2]=2!=(c[k>>2]|0)?2058:0;if((c[j>>2]|0)!=0&(c[j>>2]|0)!=5)c[(c[h>>2]|0)+20>>2]=c[k>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function cE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=0;c[f>>2]=c[l>>2];if((d[(c[f>>2]|0)+16>>0]|0|0)>1){c[h>>2]=1;j=c[h>>2]|0;l=c[e>>2]|0;c[l>>2]=j;l=c[g>>2]|0;i=k;return l|0}else{c[j>>2]=c[(c[f>>2]|0)+24>>2];c[h>>2]=(vb[c[4232>>2]&63](c[j>>2]|0,0)|0)==0&1;j=c[h>>2]|0;l=c[e>>2]|0;c[l>>2]=j;l=c[g>>2]|0;i=k;return l|0}return 0}function dE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+8|0;o=m+20|0;n=m+16|0;g=m+24|0;h=m+4|0;j=m+12|0;l=m+28|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=xE(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{yE(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{yE(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Wb(14418,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{c[l>>2]=Rb(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0)|0;if(c[l>>2]|0){zE(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=AE(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function eE(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function fE(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function gE(a,d,f,g){a=a|0;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;t=i;i=i+48|0;v=t+32|0;h=t+8|0;j=t+4|0;k=t+16|0;u=t+28|0;o=t;q=t+12|0;p=t+24|0;r=t+20|0;n=t+40|0;l=t+38|0;m=t+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[u>>2]=c[v>>2];c[o>>2]=c[(c[u>>2]|0)+36>>2];c[p>>2]=c[c[o>>2]>>2];c[r>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[q>>2]=c[(c[p>>2]|0)+32>>2];while(1){if(!(c[q>>2]|0))break;if((c[q>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[q>>2]|0)+10>>1]|0);c[q>>2]=c[(c[q>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[r>>2]=wE(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[r>>2]=0;if(c[r>>2]|0){v=c[r>>2]|0;i=t;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[r>>2]|0;i=t;return v|0}if(!(c[k>>2]&4)){c[q>>2]=c[(c[p>>2]|0)+32>>2];while(1){if(!(c[q>>2]|0))break;if((e[(c[q>>2]|0)+12>>1]|0)&(e[n>>1]|0)){s=28;break}if((e[(c[q>>2]|0)+10>>1]|0)&(e[n>>1]|0)){s=28;break}c[q>>2]=c[(c[q>>2]|0)+4>>2]}if((s|0)==28)c[r>>2]=5;if(c[r>>2]|0){v=c[r>>2]|0;i=t;return v|0}c[r>>2]=wE(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[r>>2]|0){v=c[r>>2]|0;i=t;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[r>>2]|0;i=t;return v|0}b[m>>1]=0;c[q>>2]=c[(c[p>>2]|0)+32>>2];while(1){if(!(c[q>>2]|0))break;if((e[(c[q>>2]|0)+12>>1]|0)&(e[n>>1]|0)){s=16;break}b[m>>1]=e[m>>1]|0|(e[(c[q>>2]|0)+10>>1]|0);c[q>>2]=c[(c[q>>2]|0)+4>>2]}if((s|0)==16)c[r>>2]=5;do if(!(c[r>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[r>>2]=wE(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[r>>2]=0;break}while(0);if(c[r>>2]|0){v=c[r>>2]|0;i=t;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[r>>2]|0;i=t;return v|0}function hE(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;lE();nE();i=b;return}function iE(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;k=i;i=i+32|0;d=k+8|0;l=k+16|0;e=k+20|0;f=k+24|0;h=k+4|0;j=k;g=k+12|0;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Sb(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;lE();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)qb[c[4400>>2]&31](c[(c[h>>2]|0)+8>>2]|0)|0;mE(c[g>>2]|0)}nE();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function jE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function kE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function lE(){return}function mE(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=oE()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)vb[c[4472>>2]&63](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Sb(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Sb(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){pE(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,28999);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Sb(c[g>>2]|0);i=h;return}function nE(){return}function oE(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=mb[c[4496>>2]&1]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function pE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(qb[c[4220>>2]&31](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;qE(4106,36144,e,c[f>>2]|0)|0;i=g;return}function qE(a,b,d,e){a=a|0;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;n=i;i=i+48|0;l=n;f=n+32|0;g=n+36|0;h=n+40|0;j=n+24|0;m=n+20|0;k=n+28|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(IG()|0)>>2];c[m>>2]=JG(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=14425;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Zb(d,36150,l);i=n;return c[f>>2]|0}function rE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=LG(d,a,f)|0;i=e;return a|0}function sE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+544|0;k=j;l=j+16|0;e=j+12|0;g=j+8|0;f=j+4|0;h=j+20|0;c[l>>2]=b;c[e>>2]=d;c[f>>2]=-1;c[k>>2]=c[l>>2];Yb(512,h,14418,k)|0;c[g>>2]=cH(h)|0;while(1){if((c[g>>2]|0)<=1)break;if((a[h+(c[g>>2]|0)>>0]|0)==47)break;c[g>>2]=(c[g>>2]|0)+-1}if((c[g>>2]|0)>0){a[h+(c[g>>2]|0)>>0]=0;c[f>>2]=vE(h,0,0)|0}c[c[e>>2]>>2]=c[f>>2];if((c[f>>2]|0)>=0){l=0;i=j;return l|0}l=qE(ll(28344)|0,36181,h,28344)|0;i=j;return l|0}function tE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(kH()|0){b=0;i=h;return b|0}b=gH(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function uE(){return Ma(30)|0}function vE(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,l=0,m=0;m=i;i=i+112|0;l=m;e=m+92|0;f=m+96|0;g=m+100|0;h=m+12|0;j=m+8|0;k=m+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=lb[c[4208>>2]&31](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(IG()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;qb[c[4220>>2]&31](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Zb(28,36349,l);c[h>>2]=-1;if((lb[c[4208>>2]&31](36392,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(vb[c[4268>>2]&63](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}vb[c[4376>>2]&63](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function wE(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o;g=o+32|0;h=o+36|0;j=o+40|0;k=o+24|0;l=o+8|0;m=o+28|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if((c[(c[g>>2]|0)+12>>2]|0)<0){n=c[m>>2]|0;i=o;return n|0};c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b[l>>1]=c[h>>2];b[l+2>>1]=0;c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];e=c[1073]|0;a=c[(c[g>>2]|0)+12>>2]|0;c[n>>2]=l;c[m>>2]=lb[e&31](a,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;n=c[m>>2]|0;i=o;return n|0}function xE(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,l=0,m=0,n=0;n=i;i=i+128|0;e=n+28|0;f=n+32|0;g=n;l=n+16|0;h=n+40|0;k=n+24|0;j=n+8|0;m=n+36|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(vb[c[4268>>2]&63](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=DH(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=AH(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=KH(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=MH(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];a=l;if(CE(c[(c[f>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0){a=c[(IG()|0)>>2]|0;c[(c[f>>2]|0)+20>>2]=a;c[e>>2]=qE(1546,36204,c[(c[f>>2]|0)+32>>2]|0,28530)|0;a=c[e>>2]|0;i=n;return a|0}h=(_(((c[h+36>>2]|0)+(c[k>>2]<<1)-1|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if(!((d|0)<(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0<(c[a>>2]|0)>>>0:0)))break a;a=j;c[m>>2]=DE(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,14425,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=DH(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function yE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function zE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+16|0;g=n+20|0;h=n+24|0;j=n+8|0;k=n+4|0;m=n+12|0;c[g>>2]=b;c[h>>2]=e;e=BE()|0;c[m>>2]=e;c[m>>2]=(c[m>>2]|0)==0?23024:e;e=(cH(c[m>>2]|0)|0)+7+18|0;if(e>>>0>=(c[g>>2]|0)>>>0){c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}do{b=(c[g>>2]|0)-18|0;e=c[h>>2]|0;c[l>>2]=c[m>>2];Yb(b,e,36402,l)|0;c[k>>2]=cH(c[h>>2]|0)|0;_b(15,(c[h>>2]|0)+(c[k>>2]|0)|0);c[j>>2]=0;while(1){b=(c[h>>2]|0)+(c[k>>2]|0)|0;if((c[j>>2]|0)>>>0>=15)break;a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=a[36413+(((d[b>>0]|0)>>>0)%62|0)>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}a[b>>0]=0;a[(c[h>>2]|0)+((c[k>>2]|0)+1)>>0]=0}while((vb[c[4232>>2]&63](c[h>>2]|0,0)|0)==0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function AE(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(vb[c[4256>>2]&63](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function BE(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+96|0;b=e+80|0;a=e+4|0;d=e;c[d>>2]=0;c[1126]=c[90];if(!(c[1127]|0))c[1127]=Sa(36476)|0;if(!(c[1128]|0))c[1128]=Sa(36490)|0;c[b>>2]=0;while(1){if((c[b>>2]|0)>>>0>=7){a=12;break}if((((c[d>>2]|0)!=0?(vb[c[4256>>2]&63](c[d>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(vb[c[4232>>2]&63](c[d>>2]|0,7)|0)==0:0){a=12;break}f=c[b>>2]|0;c[b>>2]=f+1;c[d>>2]=c[4504+(f<<2)>>2]}if((a|0)==12){i=e;return c[d>>2]|0}return 0}function CE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=vb[c[4280>>2]&63](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(IG()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function DE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=EE(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function EE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;r=i;i=i+48|0;p=r+32|0;h=r+20|0;j=r;k=r+28|0;l=r+36|0;q=r+16|0;n=r+24|0;m=r+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=g;c[n>>2]=0;c[l>>2]=c[l>>2]&131071;while(1){g=mH(c[h>>2]|0,c[j>>2]|0,0)|0;e=m;c[e>>2]=g;c[e+4>>2]=((g|0)<0)<<31>>31;e=m;g=j;if((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))break;c[n>>2]=lb[c[4340>>2]&31](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[n>>2]|0)>=0){o=10;break}if((c[(IG()|0)>>2]|0)!=4){o=10;break}}if((o|0)==10){if((c[n>>2]|0)<0&(c[q>>2]|0)!=0){o=c[(IG()|0)>>2]|0;c[c[q>>2]>>2]=o}c[p>>2]=c[n>>2];q=c[p>>2]|0;i=r;return q|0}if(c[q>>2]|0){o=m;if((c[o>>2]|0)==-1?(c[o+4>>2]|0)==-1:0)b=c[(IG()|0)>>2]|0;else b=0;c[c[q>>2]>>2]=b}c[p>>2]=-1;q=c[p>>2]|0;i=r;return q|0}function FE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;e=g;c[h>>2]=a;c[e>>2]=b;switch(c[h>>2]|0){case 37:case 4:case 16:case 110:case 11:{c[d>>2]=5;break}case 13:{if((c[e>>2]|0)==3850|(c[e>>2]|0)==2058|(c[e>>2]|0)==2314|(c[e>>2]|0)==3594)c[d>>2]=5;else f=5;break}case 1:{f=5;break}default:c[d>>2]=c[e>>2]}if((f|0)==5)c[d>>2]=3;i=g;return c[d>>2]|0}function GE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=hH(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function HE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;q=i;i=i+48|0;g=q+32|0;h=q+20|0;j=q;k=q+28|0;l=q+36|0;m=q+16|0;o=q+24|0;n=q+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=mH(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;a=n;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=n;e=j;if((c[a>>2]|0)!=(c[e>>2]|0)?1:(c[a+4>>2]|0)!=(c[e+4>>2]|0)){p=3;break}c[m>>2]=lb[c[4304>>2]&31](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=DH(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(IG()|0)>>2]|0)!=4){p=11;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=n;if((c[p>>2]|0)==-1?(c[p+4>>2]|0)==-1:0){p=c[(IG()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=p}else c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==11){c[o>>2]=0;p=c[(IG()|0)>>2]|0;c[(c[h>>2]|0)+20>>2]=p}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function IE(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){pE(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,26735);c[(c[b>>2]|0)+12>>2]=-1}Sb(c[(c[b>>2]|0)+28>>2]|0);b=c[b>>2]|0;a=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return 0}function JE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 4532}function KE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=IE(c[d>>2]|0)|0;i=b;return a|0}function LE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function ME(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function NE(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function OE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(vb[c[4256>>2]&63](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}lE();c[e>>2]=c[1172];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))b=1;else b=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+32>>2]}if(a){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}nE();k=c[f>>2]|0;i=j;return k|0}function PE(b,d,e,f,g){b=b|0;d=d|0;e=e|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;r=i;i=i+624|0;h=r+4|0;j=r+88|0;k=r+92|0;l=r+96|0;m=r+100|0;o=r;q=r+104|0;n=r+8|0;p=r+12|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[j>>2]&526336)){if(!(c[j>>2]&8)){b=c[o>>2]|0;i=r;return b|0}c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}c[n>>2]=(Ed(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}EH(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;if(!(vb[c[4256>>2]&63](q,p)|0)){c[c[k>>2]>>2]=c[p+12>>2]&511;c[c[l>>2]>>2]=c[p+20>>2];c[c[m>>2]>>2]=c[p+24>>2];b=c[o>>2]|0;i=r;return b|0}else{c[o>>2]=1802;b=c[o>>2]|0;i=r;return b|0}return 0}function QE(a,d,f,g,h){a=a|0;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,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+8|0;k=t+20|0;u=t+16|0;l=t+24|0;m=t+4|0;o=t+12|0;p=t+28|0;q=t+32|0;s=t+36|0;n=t+40|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(Dd((c[m>>2]&64|0)!=0?c[l>>2]|0:0,36554,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(aH(c[(c[j>>2]|0)+16>>2]|0,36134)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=4532;else c[o>>2]=vb[c[c[(c[j>>2]|0)+20>>2]>>2]&63](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=4612){if((c[o>>2]|0)==4128){c[n>>2]=(cH(c[l>>2]|0)|0)+6;c[s>>2]=Rb(c[n>>2]|0)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Yb(g,u,36559,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{lE();c[q>>2]=RE(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){pE(c[p>>2]|0,c[k>>2]|0,30114);c[k>>2]=-1}nE()}c[(c[p>>2]|0)+20>>2]=0;if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];SE(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}pE(c[p>>2]|0,c[k>>2]|0,30199);u=c[q>>2]|0;i=t;return u|0}function RE(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;k=i;i=i+112|0;f=k+8|0;d=k+92|0;g=k+12|0;l=k+96|0;m=k+104|0;h=k;e=k+16|0;j=k+100|0;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=vb[c[4268>>2]&63](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[(IG()|0)>>2]|0;c[(c[d>>2]|0)+20>>2]=m;if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1172];while(1){if(c[j>>2]|0)d=($G(h,c[j>>2]|0,8)|0)!=0;else d=0;a=c[j>>2]|0;if(!d)break;c[j>>2]=c[a+32>>2]}if(!a){c[j>>2]=Rb(40)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1172];c[(c[j>>2]|0)+36>>2]=0;if(c[1172]|0)c[(c[1172]|0)+36>>2]=c[j>>2];c[1172]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function SE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;k=m+8|0;g=m+16|0;f=m+24|0;h=m+108|0;j=m+32|0;d=m+28|0;c[h>>2]=a;if((e[(c[h>>2]|0)+18>>1]|0)&256){i=m;return}c[d>>2]=vb[c[4268>>2]&63](c[(c[h>>2]|0)+12>>2]|0,j)|0;if(c[d>>2]|0){c[f>>2]=c[(c[h>>2]|0)+32>>2];Zb(28,36567,f);l=(c[h>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|256;i=m;return}if((c[j+16>>2]|0)==0?((e[(c[h>>2]|0)+18>>1]|0)&32|0)==0:0){c[g>>2]=c[(c[h>>2]|0)+32>>2];Zb(28,36591,g);l=(c[h>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|256;i=m;return}a=c[h>>2]|0;if((c[j+16>>2]|0)>>>0>1){c[k>>2]=c[a+32>>2];Zb(28,36620,k);l=(c[h>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|256;i=m;return}if(!(AE(a)|0)){i=m;return}c[l>>2]=c[(c[h>>2]|0)+32>>2];Zb(28,36647,l);l=(c[h>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|256;i=m;return}function TE(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];SE(c[d>>2]|0);VE(c[b>>2]|0,0)|0;lE();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)aF(c[d>>2]|0);bF(c[d>>2]|0);c[e>>2]=IE(c[b>>2]|0)|0;nE();i=f;return c[e>>2]|0}function UE(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;p=i;i=i+48|0;k=p+4|0;q=p+32|0;l=p+8|0;o=p+36|0;m=p+44|0;n=p;h=p+16|0;j=p+40|0;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}lE();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[229],(_E(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(IG()|0)>>2];c[o>>2]=FE(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;c[(c[m>>2]|0)+20>>2]=c[j>>2];break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[229]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((_E(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(IG()|0)>>2],c[o>>2]=FE(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)c[(c[m>>2]|0)+20>>2]=c[j>>2]}else{c[h+4>>2]=(c[229]|0)+2;c[h+8>>2]=510;if(_E(c[m>>2]|0,h)|0){c[j>>2]=c[(IG()|0)>>2];c[o>>2]=FE(c[j>>2]|0,3850)|0}c[h+4>>2]=c[229];c[h+8>>2]=1;b[h>>1]=2;q=(_E(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(IG()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;c[(c[m>>2]|0)+20>>2]=c[j>>2];break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);nE();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function VE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=ZE(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function WE(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;n=i;i=i+48|0;m=n;o=n+32|0;g=n+36|0;k=n+40|0;l=n+8|0;j=n+4|0;h=n+16|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];lE();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[229]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1073]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(lb[f&31](o,12,m)|0){c[k>>2]=3594;o=c[(IG()|0)>>2]|0;c[(c[j>>2]|0)+20>>2]=o;break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);nE();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function XE(a,f,g,h,j){a=a|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+160|0;y=D+96|0;E=D+104|0;z=D+84|0;k=D+140|0;l=D+92|0;A=D+80|0;u=D+120|0;t=D+128|0;B=D+136|0;C=D+144|0;s=D+148|0;r=D+100|0;m=D+108|0;p=D+112|0;w=D;o=D+116|0;x=D+124|0;q=D+88|0;n=D+132|0;v=D+76|0;c[E>>2]=a;c[z>>2]=f;c[k>>2]=g;c[l>>2]=h;c[A>>2]=j;c[u>>2]=c[E>>2];c[C>>2]=0;c[s>>2]=oE()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[C>>2]=YE(c[u>>2]|0)|0,(c[C>>2]|0)!=0):0){c[y>>2]=c[C>>2];E=c[y>>2]|0;i=D;return E|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[B>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[z>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[B>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[B>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[B>>2]|0)+12>>2]|0)>=0){if(vb[c[4268>>2]&63](c[(c[B>>2]|0)+12>>2]|0,w)|0){c[C>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;E=(c[o>>2]<<12)+4096-1|0;if((EE(c[(c[B>>2]|0)+12>>2]|0,E,((E|0)<0)<<31>>31,14425,1,0)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[x>>2]=c[(c[B>>2]|0)+8>>2];c[C>>2]=qE(4874,36239,c[x>>2]|0,29258)|0;break a}}while(0);c[m>>2]=Tb(c[(c[B>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[C>>2]=3082;break}c[(c[B>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[B>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[B>>2]|0)+12>>2]|0)>=0){j=c[1115]|0;w=c[q>>2]|0;g=(d[(c[B>>2]|0)+22>>0]|0|0)!=0?1:3;x=c[(c[B>>2]|0)+12>>2]|0;E=c[k>>2]|0;E=MH(E|0,((E|0)<0)<<31>>31|0,e[(c[B>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=pb[j&3](0,w,g,1,x,E)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{c[v>>2]=Rb(c[k>>2]|0)|0;if(!(c[v>>2]|0)){k=23;break}BH(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;E=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[B>>2]|0)+24>>2]|0)+((e[(c[B>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+E;c[n>>2]=(c[n>>2]|0)+1}E=(c[B>>2]|0)+20|0;b[E>>1]=(e[E>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[C>>2]=qE(5386,36318,c[(c[B>>2]|0)+8>>2]|0,29285)|0;break}else if((k|0)==23){c[C>>2]=7;break}}while(0);if((e[(c[B>>2]|0)+20>>1]|0|0)>(c[z>>2]|0))c[c[A>>2]>>2]=c[(c[(c[B>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2];else c[c[A>>2]>>2]=0;if((c[C>>2]|0)==0?(d[(c[B>>2]|0)+22>>0]|0|0)!=0:0)c[C>>2]=8;c[y>>2]=c[C>>2];E=c[y>>2]|0;i=D;return E|0}function YE(b){b=b|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;r=i;i=i+128|0;o=r;e=r+8|0;f=r+20|0;j=r+16|0;l=r+24|0;m=r+4|0;k=r+12|0;p=r+28|0;g=r+32|0;n=r+36|0;h=r+112|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Rb(16)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;lE();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){if((vb[c[4268>>2]&63](c[(c[f>>2]|0)+12>>2]|0,n)|0)!=0?(d[(c[k>>2]|0)+13>>0]|0|0)==0:0)c[m>>2]=1802;else q=7;do if((q|0)==7){c[g>>2]=6+(cH(c[(c[f>>2]|0)+32>>2]|0)|0);c[l>>2]=Rb(36+(c[g>>2]|0)|0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}BH(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[p>>2]=b;b=c[g>>2]|0;q=c[p>>2]|0;c[o>>2]=c[(c[f>>2]|0)+32>>2];Yb(b,q,36675,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];c[(c[l>>2]|0)+4>>2]=8;if(!(c[(c[l>>2]|0)+4>>2]|0)){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(Dd(c[(c[f>>2]|0)+32>>2]|0,36682,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}q=vE(c[p>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=q;if((c[(c[l>>2]|0)+12>>2]|0)<0){q=ll(29111)|0;c[m>>2]=qE(q,36181,c[p>>2]|0,29111)|0;break}lb[c[4448>>2]&31](c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((wE(c[l>>2]|0,1,128,1)|0)==0?(CE(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=qE(4618,36204,c[p>>2]|0,29127)|0;if(!(c[m>>2]|0))c[m>>2]=wE(c[l>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}while(0);mE(c[f>>2]|0);Sb(c[j>>2]|0);nE();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];nE();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function ZE(e,f,g){e=e|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;p=i;i=i+48|0;h=p+4|0;q=p+32|0;j=p+8|0;l=p+44|0;m=p;k=p+16|0;n=p+40|0;c[q>>2]=e;c[j>>2]=f;c[p+36>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}lE();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[229]|0)+2,c[k+8>>2]=510,(_E(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[(IG()|0)>>2]|0;c[(c[l>>2]|0)+20>>2]=q;break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[229];c[k+8>>2]=2;if(!(_E(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[(IG()|0)>>2]|0;c[(c[l>>2]|0)+20>>2]=q;break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(_E(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[(IG()|0)>>2]|0;c[(c[l>>2]|0)+20>>2]=q;a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))$E(c[l>>2]|0)}nE();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function _E(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;q=i;i=i+48|0;p=q+8|0;o=q;h=q+16|0;j=q+28|0;k=q+24|0;n=q+12|0;m=q+20|0;l=q+32|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];if(((e[(c[j>>2]|0)+18>>1]|0)&1|0)==0?(d[(c[m>>2]|0)+13>>0]|0|0)==0:0)f=9;else f=3;do if((f|0)==3)if(!((e[(c[j>>2]|0)+18>>1]|0)&2)){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[229]|0)+2;c[l+8>>2]=510;b[l>>1]=1;k=c[1073]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=lb[k&31](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else f=9;while(0);if((f|0)==9){m=c[1073]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=lb[m&31](o,13,p)|0}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function $E(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];pE(c[b>>2]|0,c[c[d>>2]>>2]|0,25997);Sb(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function aF(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function bF(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}$E(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1172]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Sb(c[d>>2]|0);i=e;return}function cF(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 4612}function dF(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=mc(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function eF(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+kc(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function fF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function gF(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=ic(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(((c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>=(c[(c[f>>2]|0)+16>>2]|0)?(b=is(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function iF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[388+(c[b>>2]<<2)>>2]|0}function jF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;f=g+12|0;d=g;e=g+8|0;c[b>>2]=a;if(!(c[74]|0)){i=g;return}c[f>>2]=c[74];h=iF(0)|0;a=d;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[e>>2]=c[75];c[74]=0;xb[c[f>>2]&3](c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0);c[74]=c[f>>2];c[75]=c[e>>2];i=g;return}function kF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=qb[c[60>>2]&31](c[j>>2]|0)|0;xg(5,c[j>>2]|0);do if(c[74]|0){c[f>>2]=iF(0)|0;b=c[f>>2]|0;a=((b|0)<0)<<31>>31;f=288;j=c[e>>2]|0;j=AH(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[79]=1;jF(c[e>>2]|0);break}else{c[79]=0;break}}while(0);c[g>>2]=qb[c[44>>2]&31](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=Jd(c[g>>2]|0)|0;Xd(0,c[e>>2]|0);Xd(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function lF(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=472;c[a>>2]=6852;c[b>>2]=0;while(1){if((c[b>>2]|0)>=8)break;$l(c[d>>2]|0,(c[a>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}i=e;return}function mF(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=472;c[a>>2]=6744;c[b>>2]=0;while(1){if((c[b>>2]|0)>=3)break;$l(c[d>>2]|0,(c[a>>2]|0)+((c[b>>2]|0)*36|0)|0);c[b>>2]=(c[b>>2]|0)+1}i=e;return}function nF(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,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;l=r;f=r+36|0;s=r+24|0;o=r+32|0;p=r+20|0;k=r+16|0;j=r+40|0;m=r+48|0;h=r+52|0;n=r+56|0;g=r+60|0;c[f>>2]=b;c[r+28>>2]=d;c[s>>2]=e;c[o>>2]=ic(c[c[s>>2]>>2]|0)|0;c[p>>2]=ic(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=Ec(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Vm(c[m>>2]|0,k)|0}while((c[k>>2]|0)==151)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=tf(s,36983,l)|0;vc(c[f>>2]|0,c[n>>2]|0,-1,23);i=r;return}function oF(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,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;m=s;f=s+16|0;t=s+32|0;p=s+36|0;q=s+20|0;l=s+24|0;k=s+40|0;h=s+48|0;n=s+52|0;j=s+56|0;o=s+60|0;g=s+64|0;c[f>>2]=b;c[s+28>>2]=d;c[t>>2]=e;c[p>>2]=ic(c[c[t>>2]>>2]|0)|0;c[q>>2]=ic(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=Ec(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=Vm(c[n>>2]|0,l)|0}while((c[l>>2]|0)==151);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=46&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=tf(t,36983,m)|0;vc(c[f>>2]|0,c[o>>2]|0,-1,23);i=s;return}function pF(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+80|0;l=u+16|0;k=u;f=u+24|0;v=u+28|0;g=u+44|0;r=u+32|0;t=u+40|0;n=u+48|0;p=u+52|0;o=u+56|0;m=u+60|0;h=u+64|0;j=u+68|0;s=u+72|0;q=u+76|0;c[f>>2]=b;c[u+36>>2]=d;c[v>>2]=e;c[g>>2]=Ec(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=ic(c[c[v>>2]>>2]|0)|0;c[p>>2]=ic(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=ic(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=Vm(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Vm(c[m>>2]|0,j)|0}while((c[j>>2]|0)==151);v=c[h>>2]|0;c[s>>2]=Io(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Jo(c[s>>2]|0)|0;if(!($b(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:14425;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=tf(v,36972,k)|0;Nd(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Nd(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:14425;c[l+4>>2]=s;c[t>>2]=tf(v,19992,l)|0;vc(c[f>>2]|0,c[t>>2]|0,-1,23);Nd(c[g>>2]|0,c[r>>2]|0);i=u;return}function qF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(yF(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}zF(f);j=f;qc(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function rF(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,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(yF(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}BF(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Yb(100,h,37247,f)|0;vc(c[e>>2]|0,h,-1,-1);i=j;return}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(yF(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}CF(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Yb(100,j,37232,f)|0;vc(c[e>>2]|0,j,-1,-1);i=k;return}function tF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(yF(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}AF(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Yb(100,j,37202,f)|0;vc(c[e>>2]|0,j,-1,-1);i=k;return}function uF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=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,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+136|0;y=J+152|0;x=J+64|0;w=J+192|0;v=J+168|0;u=J+160|0;t=J+176|0;B=J+184|0;A=J+72|0;s=J+128|0;r=J;m=J+220|0;g=J+208|0;f=J+200|0;E=J+80|0;k=J+56|0;n=J+212|0;o=J+204|0;G=J+216|0;j=J+224|0;I=J+196|0;H=J+236|0;q=J+144|0;p=J+228|0;F=J+8|0;D=J+232|0;c[m>>2]=b;c[g>>2]=d;c[f>>2]=e;c[I>>2]=ic(c[c[f>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(yF(c[m>>2]|0,(c[g>>2]|0)-1|0,(c[f>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=Ec(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=DH(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=43;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=DH(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==43){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;g=c[b+4>>2]|0;l=c[(c[j>>2]|0)+88>>2]|0;e=((l|0)<0)<<31>>31;if(g>>>0>e>>>0|((g|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){Ac(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=qf(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){Bc(c[m>>2]|0);i=J;return}}else c[G>>2]=H;zF(E);AF(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;d=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+d>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=d+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Yb(3,l,37076,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Yb(7,l,37081,s)|0;c[o>>2]=(Ed((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Yb(3,l,37076,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{d=F;f=E;g=d+48|0;do{c[d>>2]=c[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;zF(F);k=E;l=F;c[p>>2]=KH(DH(AH(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=DH(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=KH(l|0,C|0,864e5,0)|0;l=LH(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Yb(3,l,37076,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Yb(4,l,37088,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Yb(20,l,34085,u)|0;c[o>>2]=(Ed((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Yb(3,l,37076,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Yb(3,l,37076,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=AH(KH(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Yb(30,l,17289,x)|0;c[o>>2]=(Ed((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Yb(3,l,37076,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=LH(KH(DH(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Yb(5,l,37093,z)|0;c[o>>2]=(Ed((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;vc(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:23);i=J;return}function vF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;sF(c[f>>2]|0,0,0);i=e;return}function wF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;tF(c[f>>2]|0,0,0);i=e;return}function xF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;rF(c[f>>2]|0,0,0);i=e;return}function yF(b,d,e,f){b=b|0;d=d|0;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.0;p=i;i=i+32|0;o=p+4|0;g=p+16|0;h=p+8|0;j=p+20|0;k=p+28|0;m=p;n=p+12|0;l=p+24|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;e=c[k>>2]|0;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));if(!(c[h>>2]|0)){c[o>>2]=DF(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=nc(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;e=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+kc(e)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=ic(e)|0;if((c[n>>2]|0)!=0?(EF(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){e=14;break}c[n>>2]=ic(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){e=12;break}if(FF(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){e=12;break}c[m>>2]=(c[m>>2]|0)+1}if((e|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((e|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function zF(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+4|0;m=n+16|0;j=n+8|0;g=n+20|0;e=n+28|0;f=n;k=n+12|0;l=n+24|0;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=DH(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=DH(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=AH(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function AF(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;BF(c[d>>2]|0);CF(c[d>>2]|0);i=b;return}function BF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+4|0;l=m+16|0;e=m+8|0;f=m+20|0;g=m+28|0;h=m;j=m+12|0;k=m+24|0;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=DH(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=KH(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]|0)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function CF(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}zF(c[d>>2]|0);b=c[d>>2]|0;b=DH(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=LH(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function DF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=NF(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function EF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(MF(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(IF(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!($b(c[j>>2]|0,37198)|0)){c[f>>2]=DF(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(Iq(d,l,Ed(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0} +function Zn(f,g,h,j,k){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,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;ra=i;i=i+304|0;F=ra;E=ra+24|0;w=ra+8|0;I=ra+52|0;J=ra+152|0;K=ra+244|0;L=ra+252|0;M=ra+124|0;R=ra+56|0;fa=ra+60|0;n=ra+64|0;m=ra+68|0;T=ra+72|0;$=ra+76|0;X=ra+80|0;qa=ra+112|0;da=ra+84|0;ba=ra+92|0;ca=ra+96|0;U=ra+100|0;V=ra+104|0;Y=ra+108|0;S=ra+288|0;oa=ra+240|0;P=ra+248|0;O=ra+256|0;x=ra+264|0;r=ra+284|0;l=ra+136|0;pa=ra+292|0;Q=ra+293|0;G=ra+294|0;q=ra+295|0;ea=ra+156|0;ka=ra+160|0;ia=ra+164|0;ma=ra+168|0;la=ra+172|0;na=ra+176|0;ja=ra+180|0;N=ra+184|0;_=ra+188|0;ga=ra+192|0;D=ra+196|0;v=ra+200|0;p=ra+44|0;s=ra+40|0;t=ra+148|0;u=ra+204|0;o=ra+116|0;C=ra+208|0;z=ra+120|0;B=ra+48|0;y=ra+128|0;A=ra+132|0;aa=ra+260|0;W=ra+88|0;ha=ra+144|0;Z=ra+140|0;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[ca>>2]=0;c[U>>2]=0;c[V>>2]=0;c[Y>>2]=-1;c[oa>>2]=0;c[P>>2]=0;c[O>>2]=0;a[pa>>0]=0;a[Q>>0]=0;a[q>>0]=1;c[ea>>2]=0;c[ka>>2]=0;c[ia>>2]=0;c[ma>>2]=0;c[N>>2]=0;c[R>>2]=c[c[I>>2]>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;a:do if((c[(c[I>>2]|0)+64>>2]|0)==0?(d[(c[R>>2]|0)+64>>0]|0)==0:0){if(((c[K>>2]|0)!=0?(e[(c[K>>2]|0)+6>>1]&128|0)!=0:0)?(c[(c[K>>2]|0)+52>>2]|0)==0:0){c[ea>>2]=c[c[K>>2]>>2];c[c[K>>2]>>2]=0;an(c[R>>2]|0,c[K>>2]|0);c[K>>2]=0}c[n>>2]=c[(c[J>>2]|0)+8+8>>2];if((((((c[n>>2]|0)!=0?(c[fa>>2]=Ct(c[I>>2]|0,c[J>>2]|0)|0,(c[fa>>2]|0)!=0):0)?(c[r>>2]=vf(c[R>>2]|0,c[(c[fa>>2]|0)+68>>2]|0)|0,c[l>>2]=(c[(c[R>>2]|0)+16>>2]|0)+(c[r>>2]<<4),c[m>>2]=c[c[l>>2]>>2],(Mo(c[I>>2]|0,18,c[c[fa>>2]>>2]|0,0,c[m>>2]|0)|0)==0):0)?(a[G>>0]=((d[(c[fa>>2]|0)+44>>0]&32|0)==0^1)&1,c[ga>>2]=ku(c[I>>2]|0,c[fa>>2]|0,108,0,D)|0,c[_>>2]=(c[(c[fa>>2]|0)+12>>2]|0)!=0&1,(Ap(c[I>>2]|0,c[fa>>2]|0)|0)==0):0)?(lu(c[I>>2]|0,c[fa>>2]|0,c[D>>2]|0)|0)==0:0)?(c[qa>>2]=Po(c[I>>2]|0)|0,(c[qa>>2]|0)!=0):0){if(!(d[(c[I>>2]|0)+18>>0]|0))mu(c[qa>>2]|0);$o(c[I>>2]|0,((c[K>>2]|0)!=0?1:(c[ga>>2]|0)!=0)&1,c[r>>2]|0);if(!((c[L>>2]|0)==0?(nu(c[I>>2]|0,c[fa>>2]|0,c[K>>2]|0,c[M>>2]|0,c[r>>2]|0)|0)!=0:0))H=17;b:do if((H|0)==17){c[ia>>2]=ou(c[I>>2]|0,c[r>>2]|0,c[fa>>2]|0)|0;n=(c[(c[I>>2]|0)+72>>2]|0)+1|0;c[la>>2]=n;c[na>>2]=n;n=(c[I>>2]|0)+72|0;c[n>>2]=(c[n>>2]|0)+((b[(c[fa>>2]|0)+38>>1]|0)+1);if(d[(c[fa>>2]|0)+44>>0]&16){c[na>>2]=(c[na>>2]|0)+1;n=(c[I>>2]|0)+72|0;c[n>>2]=(c[n>>2]|0)+1}c[ja>>2]=(c[na>>2]|0)+1;c:do if(c[L>>2]|0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break;c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=-1;c[T>>2]=(c[T>>2]|0)+1}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break c;c[$>>2]=0;while(1){if((c[$>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0))break;n=($b(c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[$>>2]|0)*24|0)>>2]|0)|0)==0;k=c[$>>2]|0;if(n){H=28;break}c[$>>2]=k+1}do if((H|0)==28){H=0;c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=k;if((c[T>>2]|0)!=(c[$>>2]|0))a[q>>0]=0;if((c[$>>2]|0)!=(b[(c[fa>>2]|0)+36>>1]|0))break;c[Y>>2]=c[T>>2]}while(0);if((c[$>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0)){n=(Lq(c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0)|0)==0;if(n|(a[G>>0]|0)!=0)break;c[Y>>2]=c[T>>2];a[q>>0]=0}c[T>>2]=(c[T>>2]|0)+1}qa=c[I>>2]|0;pa=c[(c[c[L>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0;c[w>>2]=c[J>>2];c[w+4>>2]=0;c[w+8>>2]=pa;sf(qa,25996,w);a[(c[I>>2]|0)+17>>0]=1;break a}while(0);d:do if(c[K>>2]|0){w=(c[I>>2]|0)+72|0;C=(c[w>>2]|0)+1|0;c[w>>2]=C;c[v>>2]=C;c[p>>2]=(yr(c[qa>>2]|0)|0)+1;Uo(c[qa>>2]|0,20,c[v>>2]|0,0,c[p>>2]|0)|0;Ss(x,13,c[v>>2]|0);c[x+8>>2]=(d[q>>0]|0)!=0?c[ja>>2]|0:0;c[x+12>>2]=b[(c[fa>>2]|0)+38>>1];c[s>>2]=Kn(c[I>>2]|0,c[K>>2]|0,x)|0;c[ka>>2]=c[x+8>>2];if(c[s>>2]|0)break a;if(d[(c[R>>2]|0)+64>>0]|0)break a;ur(c[qa>>2]|0,21,c[v>>2]|0)|0;jp(c[qa>>2]|0,(c[p>>2]|0)-1|0);c[ba>>2]=c[c[c[K>>2]>>2]>>2];if(!((c[ga>>2]|0)==0?(pu(c[I>>2]|0,c[r>>2]|0,c[fa>>2]|0)|0)==0:0))a[pa>>0]=1;if(!(a[pa>>0]|0))break;w=(c[I>>2]|0)+68|0;C=c[w>>2]|0;c[w>>2]=C+1;c[oa>>2]=C;c[t>>2]=Wo(c[I>>2]|0)|0;c[u>>2]=Wo(c[I>>2]|0)|0;Ro(c[qa>>2]|0,57,c[oa>>2]|0,c[ba>>2]|0)|0;c[o>>2]=ur(c[qa>>2]|0,22,c[x+4>>2]|0)|0;Uo(c[qa>>2]|0,49,c[ka>>2]|0,c[ba>>2]|0,c[t>>2]|0)|0;Ro(c[qa>>2]|0,74,c[oa>>2]|0,c[u>>2]|0)|0;Uo(c[qa>>2]|0,75,c[oa>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;Ro(c[qa>>2]|0,16,0,c[o>>2]|0)|0;jp(c[qa>>2]|0,c[o>>2]|0);Xo(c[I>>2]|0,c[t>>2]|0);Xo(c[I>>2]|0,c[u>>2]|0)}else{c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0;c[C>>2]=c[I>>2];c[oa>>2]=-1;if(c[ea>>2]|0)k=c[c[ea>>2]>>2]|0;else k=0;c[ba>>2]=k;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[ba>>2]|0))break d;if(gq(C,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0)|0)break a;c[T>>2]=(c[T>>2]|0)+1}}while(0);if((c[L>>2]|0)==0&(c[ba>>2]|0)>0)c[Y>>2]=b[(c[fa>>2]|0)+36>>1];e:do if(d[(c[fa>>2]|0)+44>>0]&16){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0))break e;c[ca>>2]=(c[ca>>2]|0)+((d[(c[(c[fa>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+23>>0]&2|0)!=0?1:0);c[T>>2]=(c[T>>2]|0)+1}}while(0);do if((c[L>>2]|0)==0&(c[ba>>2]|0)!=0){if((c[ba>>2]|0)==((b[(c[fa>>2]|0)+38>>1]|0)-(c[ca>>2]|0)|0))break;qa=c[I>>2]|0;oa=(b[(c[fa>>2]|0)+38>>1]|0)-(c[ca>>2]|0)|0;pa=c[ba>>2]|0;c[E>>2]=c[J>>2];c[E+4>>2]=0;c[E+8>>2]=oa;c[E+12>>2]=pa;sf(qa,26028,E);break a}while(0);do if(c[L>>2]|0){if((c[ba>>2]|0)==(c[(c[L>>2]|0)+4>>2]|0))break;qa=c[I>>2]|0;pa=c[(c[L>>2]|0)+4>>2]|0;c[F>>2]=c[ba>>2];c[F+4>>2]=pa;sf(qa,26080,F);break a}while(0);if(c[(c[R>>2]|0)+24>>2]&128){E=(c[I>>2]|0)+72|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[ma>>2]=F;Ro(c[qa>>2]|0,25,0,c[ma>>2]|0)|0}f:do if(!(c[_>>2]|0)){c[z>>2]=au(c[I>>2]|0,c[fa>>2]|0,55,-1,0,U,V)|0;c[N>>2]=qf(c[R>>2]|0,(c[z>>2]|0)+1<<2,0)|0;if(!(c[N>>2]|0))break a;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[z>>2]|0))break f;E=(c[I>>2]|0)+72|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[N>>2]|0)+(c[T>>2]<<2)>>2]=F;c[T>>2]=(c[T>>2]|0)+1}}while(0);do if(a[pa>>0]|0){c[P>>2]=ur(c[qa>>2]|0,108,c[oa>>2]|0)|0;c[O>>2]=yr(c[qa>>2]|0)|0}else{if(!(c[K>>2]|0))break;F=ur(c[qa>>2]|0,22,c[x+4>>2]|0)|0;c[O>>2]=F;c[P>>2]=F}while(0);c[S>>2]=zr(c[qa>>2]|0)|0;if(c[D>>2]&1){c[B>>2]=ps(c[I>>2]|0,(b[(c[fa>>2]|0)+38>>1]|0)+1|0)|0;if((c[Y>>2]|0)<0)Ro(c[qa>>2]|0,25,-1,c[B>>2]|0)|0;else{if(a[pa>>0]|0)Uo(c[qa>>2]|0,47,c[oa>>2]|0,c[Y>>2]|0,c[B>>2]|0)|0;else Fs(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[B>>2]|0);c[y>>2]=ur(c[qa>>2]|0,77,c[B>>2]|0)|0;Ro(c[qa>>2]|0,25,-1,c[B>>2]|0)|0;jp(c[qa>>2]|0,c[y>>2]|0);ur(c[qa>>2]|0,38,c[B>>2]|0)|0}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0))break;g:do if(!(c[L>>2]|0))c[$>>2]=c[T>>2];else{c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break g;if((c[(c[c[L>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break g;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if((a[pa>>0]|0)!=0|(c[ea>>2]|0)!=0){if((c[L>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0):0){H=93;break}if(a[pa>>0]|0){Uo(c[qa>>2]|0,47,c[oa>>2]|0,c[$>>2]|0,(c[B>>2]|0)+(c[T>>2]|0)+1|0)|0;break}else{qu(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+(c[T>>2]|0)+1|0);break}}else H=93;while(0);if((H|0)==93){H=0;Fs(c[I>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+4>>2]|0,(c[B>>2]|0)+(c[T>>2]|0)+1|0)}c[T>>2]=(c[T>>2]|0)+1}if(!(c[_>>2]|0))ru(c[qa>>2]|0,c[fa>>2]|0,(c[B>>2]|0)+1|0);su(c[I>>2]|0,c[ga>>2]|0,108,0,1,c[fa>>2]|0,(c[B>>2]|0)-(b[(c[fa>>2]|0)+38>>1]|0)-1|0,c[M>>2]|0,c[S>>2]|0);ss(c[I>>2]|0,c[B>>2]|0,(b[(c[fa>>2]|0)+38>>1]|0)+1|0)}do if(!(c[_>>2]|0)){if(d[(c[fa>>2]|0)+44>>0]&16)Ro(c[qa>>2]|0,28,0,c[la>>2]|0)|0;h:do if((c[Y>>2]|0)>=0){do if(a[pa>>0]|0)Uo(c[qa>>2]|0,47,c[oa>>2]|0,c[Y>>2]|0,c[na>>2]|0)|0;else{if(c[K>>2]|0){Ro(c[qa>>2]|0,33,(c[ka>>2]|0)+(c[Y>>2]|0)|0,c[na>>2]|0)|0;break}Fs(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[na>>2]|0);c[A>>2]=Ws(c[qa>>2]|0,-1)|0;if(!(c[A>>2]|0))break;if((d[c[A>>2]>>0]|0)!=28)break;if(d[(c[fa>>2]|0)+44>>0]&16)break;a[Q>>0]=1;a[c[A>>2]>>0]=74;c[(c[A>>2]|0)+4>>2]=c[U>>2];c[(c[A>>2]|0)+8>>2]=c[na>>2];c[(c[A>>2]|0)+12>>2]=c[ia>>2]}while(0);if(a[Q>>0]|0)break;k=c[qa>>2]|0;if(d[(c[fa>>2]|0)+44>>0]&16){c[aa>>2]=yr(k)|0;Ro(c[qa>>2]|0,76,c[na>>2]|0,(c[aa>>2]|0)+2|0)|0}else{c[aa>>2]=ur(k,77,c[na>>2]|0)|0;Uo(c[qa>>2]|0,74,c[U>>2]|0,c[na>>2]|0,c[ia>>2]|0)|0;jp(c[qa>>2]|0,c[aa>>2]|0)}ur(c[qa>>2]|0,38,c[na>>2]|0)|0}else{do if(!(d[(c[fa>>2]|0)+44>>0]&16)){if(d[G>>0]|0)break;Uo(c[qa>>2]|0,74,c[U>>2]|0,c[na>>2]|0,c[ia>>2]|0)|0;a[Q>>0]=1;break h}while(0);Ro(c[qa>>2]|0,28,0,c[na>>2]|0)|0}while(0);tu(c[I>>2]|0,c[ia>>2]|0,c[na>>2]|0);c[ca>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[fa>>2]|0)+38>>1]|0))break;c[W>>2]=(c[na>>2]|0)+1+(c[T>>2]|0);i:do if((c[T>>2]|0)==(b[(c[fa>>2]|0)+36>>1]|0))ur(c[qa>>2]|0,29,c[W>>2]|0)|0;else{j:do if(!(c[L>>2]|0))if(d[(c[(c[fa>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+23>>0]&2){c[$>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1;break}else{c[$>>2]=(c[T>>2]|0)-(c[ca>>2]|0);break}else{c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break j;if((c[(c[c[L>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break j;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if(!((c[$>>2]|0)<0|(c[ba>>2]|0)==0)){if((c[L>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0):0)break;if(a[pa>>0]|0){Uo(c[qa>>2]|0,47,c[oa>>2]|0,c[$>>2]|0,c[W>>2]|0)|0;break i}if(!(c[K>>2]|0)){Fs(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,c[W>>2]|0);break i}if((c[ka>>2]|0)==(c[ja>>2]|0))break i;Ro(c[qa>>2]|0,34,(c[ka>>2]|0)+(c[$>>2]|0)|0,c[W>>2]|0)|0;break i}while(0);uu(c[I>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+4>>2]|0,c[W>>2]|0)}while(0);c[T>>2]=(c[T>>2]|0)+1}if(d[(c[fa>>2]|0)+44>>0]&16){c[ha>>2]=Bp(c[R>>2]|0,c[fa>>2]|0)|0;vu(c[I>>2]|0,c[fa>>2]|0);To(c[qa>>2]|0,15,1,(b[(c[fa>>2]|0)+38>>1]|0)+2|0,c[la>>2]|0,c[ha>>2]|0,-10)|0;xf(c[qa>>2]|0,((c[M>>2]|0)==10?2:c[M>>2]|0)&255);Cp(c[I>>2]|0);break}else{wu(c[I>>2]|0,c[fa>>2]|0,c[N>>2]|0,c[U>>2]|0,c[V>>2]|0,c[la>>2]|0,0,(c[Y>>2]|0)>=0&255,c[M>>2]&255,c[S>>2]|0,Z);xu(c[I>>2]|0,c[fa>>2]|0,0,c[la>>2]|0,0,0);yu(c[I>>2]|0,c[fa>>2]|0,c[U>>2]|0,c[V>>2]|0,c[la>>2]|0,c[N>>2]|0,0,d[Q>>0]|0,(c[Z>>2]|0)==0&1);break}}while(0);if(c[(c[R>>2]|0)+24>>2]&128)Ro(c[qa>>2]|0,37,c[ma>>2]|0,1)|0;if(c[ga>>2]|0)su(c[I>>2]|0,c[ga>>2]|0,108,0,2,c[fa>>2]|0,(c[ja>>2]|0)-2-(b[(c[fa>>2]|0)+38>>1]|0)|0,c[M>>2]|0,c[S>>2]|0);Br(c[qa>>2]|0,c[S>>2]|0);do if(a[pa>>0]|0){Ro(c[qa>>2]|0,9,c[oa>>2]|0,c[O>>2]|0)|0;jp(c[qa>>2]|0,c[P>>2]|0);ur(c[qa>>2]|0,61,c[oa>>2]|0)|0}else{if(!(c[K>>2]|0))break;Ro(c[qa>>2]|0,16,0,c[O>>2]|0)|0;jp(c[qa>>2]|0,c[P>>2]|0)}while(0);if((c[_>>2]|0)!=0?1:(d[(c[fa>>2]|0)+44>>0]&16|0)!=0)break;if((c[U>>2]|0)<(c[V>>2]|0))ur(c[qa>>2]|0,61,c[U>>2]|0)|0;c[X>>2]=0;c[da>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break b;ur(c[qa>>2]|0,61,(c[X>>2]|0)+(c[V>>2]|0)|0)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}}while(0);if((d[(c[I>>2]|0)+18>>0]|0)==0?(c[(c[I>>2]|0)+412>>2]|0)==0:0)zu(c[I>>2]|0);if(((c[(c[R>>2]|0)+24>>2]&128|0)!=0?(a[(c[I>>2]|0)+18>>0]|0)==0:0)?(c[(c[I>>2]|0)+412>>2]|0)==0:0){Ro(c[qa>>2]|0,35,c[ma>>2]|0,1)|0;Kt(c[qa>>2]|0,1);Lt(c[qa>>2]|0,0,0,26105,0)|0}}}while(0);cn(c[R>>2]|0,c[J>>2]|0);$m(c[R>>2]|0,c[ea>>2]|0);an(c[R>>2]|0,c[K>>2]|0);en(c[R>>2]|0,c[L>>2]|0);Nd(c[R>>2]|0,c[N>>2]|0);i=ra;return}function _n(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;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=gf(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=ju(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){en(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Ho(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function $n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function ao(d,e){d=d|0;e=e|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;t=i;i=i+64|0;p=t;o=t+16|0;f=t+28|0;g=t+32|0;k=t+40|0;r=t+20|0;q=t+48|0;n=t+36|0;l=t+8|0;j=t+24|0;m=t+50|0;h=t+44|0;c[f>>2]=d;c[g>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0)){i=t;return}c[r>>2]=c[(c[g>>2]|0)+8>>2];do if(a[(c[r>>2]|0)+1>>0]|0){b[q>>1]=0;c[n>>2]=Ed(c[r>>2]|0)|0;if((a[c[r>>2]>>0]|0)==63){c[j>>2]=0==(sg((c[r>>2]|0)+1|0,l,(c[n>>2]|0)-1|0,1)|0)&1;s=c[l>>2]&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s;s=l;d=c[s+4>>2]|0;if(!(!((c[j>>2]|0)==0|((d|0)<0|(d|0)==0&(c[s>>2]|0)>>>0<1))?(d=l,m=c[d+4>>2]|0,s=c[(c[k>>2]|0)+88+36>>2]|0,e=((s|0)<0)<<31>>31,!((m|0)>(e|0)|((m|0)==(e|0)?(c[d>>2]|0)>>>0>s>>>0:0))):0)){s=c[f>>2]|0;c[o>>2]=c[(c[k>>2]|0)+88+36>>2];sf(s,25930,o);b[q>>1]=0}o=l;e=c[o+4>>2]|0;s=c[(c[f>>2]|0)+440>>2]|0;d=((s|0)<0)<<31>>31;if((e|0)>(d|0)|((e|0)==(d|0)?(c[o>>2]|0)>>>0>s>>>0:0))c[(c[f>>2]|0)+440>>2]=c[l>>2]}else{b[m>>1]=0;while(1){if((b[m>>1]|0)>=(c[(c[f>>2]|0)+444>>2]|0))break;if((c[(c[(c[f>>2]|0)+472>>2]|0)+(b[m>>1]<<2)>>2]|0)!=0?(aH(c[(c[(c[f>>2]|0)+472>>2]|0)+(b[m>>1]<<2)>>2]|0,c[r>>2]|0)|0)==0:0){s=14;break}b[m>>1]=(b[m>>1]|0)+1<<16>>16}if((s|0)==14){s=(b[m>>1]|0)+1&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s}if(!(b[q>>1]|0)){o=(c[f>>2]|0)+440|0;s=(c[o>>2]|0)+1|0;c[o>>2]=s;s=s&65535;b[(c[g>>2]|0)+32>>1]=s;b[q>>1]=s}}if((b[q>>1]|0)>0){do if((b[q>>1]|0)>(c[(c[f>>2]|0)+444>>2]|0)){c[h>>2]=hm(c[k>>2]|0,c[(c[f>>2]|0)+472>>2]|0,b[q>>1]<<2,0)|0;if(!(c[h>>2]|0)){i=t;return}else{c[(c[f>>2]|0)+472>>2]=c[h>>2];BH((c[h>>2]|0)+(c[(c[f>>2]|0)+444>>2]<<2)|0,0,(b[q>>1]|0)-(c[(c[f>>2]|0)+444>>2]|0)<<2|0)|0;c[(c[f>>2]|0)+444>>2]=b[q>>1];break}}while(0);if((a[c[r>>2]>>0]|0)==63?(c[(c[(c[f>>2]|0)+472>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0)!=0:0)break;Nd(c[k>>2]|0,c[(c[(c[f>>2]|0)+472>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0);s=Io(c[k>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;c[(c[(c[f>>2]|0)+472>>2]|0)+((b[q>>1]|0)-1<<2)>>2]=s}}else{r=(c[f>>2]|0)+440|0;s=(c[r>>2]|0)+1|0;c[r>>2]=s;b[(c[g>>2]|0)+32>>1]=s}while(0);if(c[(c[f>>2]|0)+64>>2]|0){i=t;return}if((c[(c[f>>2]|0)+440>>2]|0)<=(c[(c[k>>2]|0)+88+36>>2]|0)){i=t;return}sf(c[f>>2]|0,25973,p);i=t;return}function bo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[(c[g>>2]|0)+4>>2]|0)>>>0<=0){a=c[f>>2]|0;i=j;return a|0}c[h>>2]=ar(c[c[e>>2]>>2]|0,95,c[g>>2]|0,1)|0;if(!(c[h>>2]|0)){a=c[f>>2]|0;i=j;return a|0}c[(c[h>>2]|0)+12>>2]=c[f>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[f>>2]=c[h>>2];a=c[f>>2]|0;i=j;return a|0}function co(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,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=ar(c[h>>2]|0,153,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){$m(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];io(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function eo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;f=zn(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,c[c[j>>2]>>2]|0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function fo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;f=zn(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);i=g;return}function go(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[h>>2]|0)!=0&(c[j>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];dn(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function ho(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;j=g+4|0;k=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[j>>2]=e;c[k>>2]=f;f=zn(c[m>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[k>>2]>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;cr(c[e>>2]|0);Bq(c[f>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=d;return}function jo(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+32|0;q=u+44|0;r=u+28|0;h=u+36|0;k=u+40|0;s=u+48|0;f=u+52|0;g=u+56|0;j=u+60|0;n=u+64|0;o=u+68|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+64>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}if(mr(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}c[h>>2]=yp(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)xt(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;sf(f,25718,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;sf(t,25736,l);s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}c[f>>2]=vf(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[g>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[o>>2]=(c[f>>2]|0)==1?19269:19288;if(Mo(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}if(c[f>>2]|0)c[g>>2]=12;if(Mo(c[p>>2]|0,c[g>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}c[k>>2]=Po(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}$o(c[p>>2]|0,1,c[f>>2]|0);t=c[p>>2]|0;o=(c[f>>2]|0)==1?19269:19288;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;Oo(t,25809,m);hu(c[p>>2]|0,c[f>>2]|0,22331,c[c[h>>2]>>2]|0);Qo(c[p>>2]|0,c[f>>2]|0);iu(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[f>>2]|0);To(c[k>>2]|0,125,c[f>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;cn(s,t);i=u;return}function ko(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Po(c[e>>2]|0)|0;if(!(c[b>>2]|0)){i=d;return}Ro(c[b>>2]|0,13,0,0)|0;zf(c[b>>2]|0,0);i=d;return}function lo(f,g,h,j,k){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,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,ya=0,za=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,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Qb=0,Rb=0,Tb=0;Tb=i;i=i+608|0;Ma=Tb+80|0;Fb=Tb+72|0;Eb=Tb+8|0;ta=Tb;sa=Tb+88|0;ra=Tb+56|0;s=Tb+32|0;p=Tb+64|0;Mb=Tb+288|0;m=Tb+284|0;t=Tb+112|0;n=Tb+408|0;o=Tb+104|0;Qb=Tb+96|0;Rb=Tb+92|0;bb=Tb+392|0;l=Tb+376|0;q=Tb+296|0;Lb=Tb+188|0;U=Tb+168|0;qa=Tb+164|0;V=Tb+124|0;la=Tb+120|0;Ob=Tb+132|0;aa=Tb+136|0;Nb=Tb+140|0;r=Tb+144|0;w=Tb+148|0;na=Tb+152|0;Y=Tb+156|0;Ea=Tb+160|0;Z=Tb+384|0;y=Tb+380|0;Q=Tb+372|0;Sa=Tb+324|0;za=Tb+292|0;B=Tb+192|0;fa=Tb+184|0;R=Tb+180|0;D=Tb+196|0;S=Tb+200|0;va=Tb+204|0;W=Tb+208|0;ga=Tb+212|0;O=Tb+40|0;_=Tb+220|0;A=Tb+224|0;M=Tb+228|0;P=Tb+232|0;x=Tb+236|0;oa=Tb+240|0;pa=Tb+24|0;ma=Tb+248|0;Da=Tb+252|0;La=Tb+256|0;Fa=Tb+260|0;Ga=Tb+264|0;Ha=Tb+268|0;Ia=Tb+272|0;Ka=Tb+276|0;ca=Tb+280|0;F=Tb+544|0;ha=Tb+552|0;da=Tb+560|0;ia=Tb+568|0;G=Tb+576|0;z=Tb+596|0;ea=Tb+332|0;ja=Tb+328|0;H=Tb+320|0;I=Tb+316|0;J=Tb+336|0;X=Tb+340|0;$=Tb+344|0;ba=Tb+348|0;ka=Tb+352|0;K=Tb+356|0;T=Tb+360|0;ua=Tb+556|0;wa=Tb+368|0;xa=Tb+564|0;Va=Tb+572|0;Ya=Tb+584|0;Xa=Tb+588|0;Wa=Tb+388|0;Qa=Tb+592|0;Ta=Tb+396|0;Ua=Tb+400|0;ab=Tb+404|0;_a=Tb+216|0;Za=Tb+412|0;$a=Tb+416|0;Oa=Tb+420|0;Na=Tb+424|0;Pa=Tb+428|0;Ra=Tb+432|0;fb=Tb+436|0;kb=Tb+440|0;cb=Tb+444|0;ub=Tb+448|0;jb=Tb+452|0;Gb=Tb+456|0;Bb=Tb+460|0;eb=Tb+244|0;zb=Tb+468|0;vb=Tb+472|0;Ab=Tb+476|0;wb=Tb+480|0;xb=Tb+484|0;yb=Tb+488|0;tb=Tb+492|0;hb=Tb+496|0;ib=Tb+500|0;Cb=Tb+504|0;Hb=Tb+508|0;lb=Tb+580|0;nb=Tb+516|0;mb=Tb+520|0;ob=Tb+524|0;pb=Tb+528|0;qb=Tb+532|0;db=Tb+312|0;Db=Tb+176|0;rb=Tb+464|0;sb=Tb+116|0;gb=Tb+100|0;Ja=Tb+512|0;Ca=Tb+172|0;Aa=Tb+128|0;Ba=Tb+540|0;L=Tb+108|0;ya=Tb+536|0;N=Tb+548|0;E=Tb+364|0;u=Tb+48|0;v=Tb+16|0;c[Mb>>2]=f;c[m>>2]=g;c[t>>2]=h;c[n>>2]=j;c[o>>2]=k;c[Qb>>2]=0;c[Rb>>2]=0;c[bb>>2]=0;c[Ob>>2]=c[c[Mb>>2]>>2];c[Nb>>2]=Po(c[Mb>>2]|0)|0;if(!(c[Nb>>2]|0)){i=Tb;return}Jt(c[Nb>>2]|0);c[(c[Mb>>2]|0)+72>>2]=2;c[Lb>>2]=qr(c[Mb>>2]|0,c[m>>2]|0,c[t>>2]|0,l)|0;if((c[Lb>>2]|0)<0){i=Tb;return}c[aa>>2]=(c[(c[Ob>>2]|0)+16>>2]|0)+(c[Lb>>2]<<4);if((c[Lb>>2]|0)==1?(bp(c[Mb>>2]|0)|0)!=0:0){i=Tb;return}c[Qb>>2]=Ho(c[Ob>>2]|0,c[l>>2]|0)|0;if(!(c[Qb>>2]|0)){i=Tb;return}k=c[Ob>>2]|0;m=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=m;c[Rb>>2]=tf(k,23988,p)|0}else c[Rb>>2]=Ho(k,m)|0;if((c[(c[t>>2]|0)+4>>2]|0)>>>0>0)m=c[c[aa>>2]>>2]|0;else m=0;c[bb>>2]=m;a:do if(!(Mo(c[Mb>>2]|0,19,c[Qb>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[Qb>>2];c[q+8>>2]=c[Rb>>2];c[q+12>>2]=0;c[(c[Ob>>2]|0)+444+8>>2]=0;c[la>>2]=Bd(c[Ob>>2]|0,c[bb>>2]|0,14,q)|0;if(!(c[la>>2]|0)){if(!(c[q>>2]|0))break;Lb=(c[Mb>>2]|0)+72|0;Mb=(c[Lb>>2]|0)+1|0;c[Lb>>2]=Mb;c[r>>2]=Mb;To(c[Nb>>2]|0,97,0,c[r>>2]|0,0,c[q>>2]|0,0)|0;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,23992,0)|0;Ro(c[Nb>>2]|0,35,c[r>>2]|0,1)|0;Sb(c[q>>2]|0);break}if((c[la>>2]|0)!=12){if(c[q>>2]|0){Nb=c[Mb>>2]|0;c[s>>2]=c[q>>2];sf(Nb,14418,s);Sb(c[q>>2]|0)}Nb=(c[Mb>>2]|0)+64|0;c[Nb>>2]=(c[Nb>>2]|0)+1;c[(c[Mb>>2]|0)+12>>2]=c[la>>2];break}c[U>>2]=0;c[qa>>2]=54;while(1){if((c[U>>2]|0)>(c[qa>>2]|0))break;c[V>>2]=((c[U>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[la>>2]=$b(c[Qb>>2]|0,c[2516+((c[V>>2]|0)*12|0)>>2]|0)|0;if(!(c[la>>2]|0))break;m=c[V>>2]|0;if((c[la>>2]|0)<0){c[qa>>2]=m-1;continue}else{c[U>>2]=m+1;continue}}if((c[U>>2]|0)<=(c[qa>>2]|0)){if((d[2516+((c[V>>2]|0)*12|0)+5>>0]&1|0)!=0?(mr(c[Mb>>2]|0)|0)!=0:0)break;do switch(d[2516+((c[V>>2]|0)*12|0)+4>>0]|0){case 10:{zf(c[Nb>>2]|0,c[Lb>>2]|0);if(c[Rb>>2]|0){c[na>>2]=Rr(vg(c[Rb>>2]|0)|0)|0;$o(c[Mb>>2]|0,0,c[Lb>>2]|0);Ro(c[Nb>>2]|0,25,c[na>>2]|0,1)|0;Uo(c[Nb>>2]|0,52,c[Lb>>2]|0,3,1)|0;c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Sr(c[(c[aa>>2]|0)+4>>2]|0,c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,23999,0)|0;Mb=(c[Mb>>2]|0)+72|0;c[Mb>>2]=(c[Mb>>2]|0)+2;c[w>>2]=yf(c[Nb>>2]|0,9,24010,0)|0;Af(c[Nb>>2]|0,c[w>>2]|0,c[Lb>>2]|0);Af(c[Nb>>2]|0,(c[w>>2]|0)+1|0,c[Lb>>2]|0);Af(c[Nb>>2]|0,(c[w>>2]|0)+6|0,2e3);break a}}case 24:{c[Y>>2]=c[(c[aa>>2]|0)+4>>2];if(c[Rb>>2]|0){Nb=vg(c[Rb>>2]|0)|0;c[(c[Ob>>2]|0)+72>>2]=Nb;if(7!=(ig(c[Y>>2]|0,c[(c[Ob>>2]|0)+72>>2]|0,-1,0)|0))break a;a[(c[Ob>>2]|0)+64>>0]=1;break a}if(c[Y>>2]|0)l=ke(c[Y>>2]|0)|0;else l=0;c[Ea>>2]=l;Nb=c[Ea>>2]|0;Mt(c[Mb>>2]|0,24046,Nb,((Nb|0)<0)<<31>>31);break a}case 25:{c[Z>>2]=c[(c[aa>>2]|0)+4>>2];c[y>>2]=-1;if(c[Rb>>2]|0)c[y>>2]=(mg(c[Rb>>2]|0,0)|0)&255;b:do if((c[y>>2]|0)>=0?(c[(c[t>>2]|0)+4>>2]|0)==0:0){c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[Ob>>2]|0)+20>>2]|0))break b;tt(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[Q>>2]<<4)+4>>2]|0,c[y>>2]|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}}while(0);c[y>>2]=tt(c[Z>>2]|0,c[y>>2]|0)|0;Nb=c[y>>2]|0;Mt(c[Mb>>2]|0,24056,Nb,((Nb|0)<0)<<31>>31);break a}case 22:{ap(c[Mb>>2]|0,c[Lb>>2]|0);l=(c[Mb>>2]|0)+72|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Sa>>2]=m;m=c[Nb>>2]|0;l=c[Lb>>2]|0;k=c[Sa>>2]|0;if((d[13848+(d[c[Qb>>2]>>0]|0)>>0]|0)==112)Ro(m,151,l,k)|0;else Uo(m,152,l,k,Rr(vg(c[Rb>>2]|0)|0)|0)|0;Ro(c[Nb>>2]|0,35,c[Sa>>2]|0,1)|0;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,c[Qb>>2]|0,-1)|0;break a}case 21:{c[za>>2]=24070;c[B>>2]=Nt(c[Rb>>2]|0)|0;if((c[B>>2]|0)==-1?(c[(c[t>>2]|0)+4>>2]|0)==0:0)c[B>>2]=d[(c[Ob>>2]|0)+65>>0];else{if(!(c[(c[t>>2]|0)+4>>2]|0)){c[R>>2]=2;while(1){if((c[R>>2]|0)>=(c[(c[Ob>>2]|0)+20>>2]|0))break;c[fa>>2]=Id(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[R>>2]<<4)+4>>2]|0)|0;st(c[fa>>2]|0,c[B>>2]|0)|0;c[R>>2]=(c[R>>2]|0)+1}a[(c[Ob>>2]|0)+65>>0]=c[B>>2]}c[fa>>2]=Id(c[(c[aa>>2]|0)+4>>2]|0)|0;c[B>>2]=st(c[fa>>2]|0,c[B>>2]|0)|0}if((c[B>>2]|0)==1)c[za>>2]=24077;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24087,0)|0;To(c[Nb>>2]|0,97,0,1,0,c[za>>2]|0,0)|0;Ro(c[Nb>>2]|0,35,1,1)|0;break a}case 18:{Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24100,0)|0;if(c[Rb>>2]|0){c[W>>2]=Ed(c[Rb>>2]|0)|0;c[D>>2]=0;while(1){Mb=Ot(c[D>>2]|0)|0;c[va>>2]=Mb;if(!Mb)break;if(!(Ib(c[Rb>>2]|0,c[va>>2]|0,c[W>>2]|0)|0))break;c[D>>2]=(c[D>>2]|0)+1}if(!(c[va>>2]|0))c[D>>2]=-1}else c[D>>2]=-1;if((c[D>>2]|0)==-1?(c[(c[t>>2]|0)+4>>2]|0)==0:0){c[Lb>>2]=0;c[(c[t>>2]|0)+4>>2]=1}c[S>>2]=(c[(c[Ob>>2]|0)+20>>2]|0)-1;while(1){if((c[S>>2]|0)<0)break;do if(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0){if((c[S>>2]|0)!=(c[Lb>>2]|0)?(c[(c[t>>2]|0)+4>>2]|0)!=0:0)break;zf(c[Nb>>2]|0,c[S>>2]|0);Uo(c[Nb>>2]|0,12,c[S>>2]|0,1,c[D>>2]|0)|0}while(0);c[S>>2]=(c[S>>2]|0)+-1}Ro(c[Nb>>2]|0,35,1,1)|0;break a}case 19:{c[ga>>2]=Id(c[(c[aa>>2]|0)+4>>2]|0)|0;Nb=O;c[Nb>>2]=-2;c[Nb+4>>2]=-1;if((c[Rb>>2]|0)!=0?(ng(c[Rb>>2]|0,O)|0,Nb=O,Lb=c[Nb+4>>2]|0,(Lb|0)<-1|(Lb|0)==-1&(c[Nb>>2]|0)>>>0<4294967295):0){Nb=O;c[Nb>>2]=-1;c[Nb+4>>2]=-1}Lb=O;Lb=Pt(c[ga>>2]|0,c[Lb>>2]|0,c[Lb+4>>2]|0)|0;Nb=O;c[Nb>>2]=Lb;c[Nb+4>>2]=C;Nb=O;Mt(c[Mb>>2]|0,24113,c[Nb>>2]|0,c[Nb+4>>2]|0);break a}case 1:{c[_>>2]=c[(c[aa>>2]|0)+4>>2];if(!(c[Rb>>2]|0)){Mb=c[Mb>>2]|0;Nb=Qt(c[_>>2]|0)|0;Mt(Mb,24132,Nb,((Nb|0)<0)<<31>>31);break a}c[A>>2]=Rt(c[Rb>>2]|0)|0;a[(c[Ob>>2]|0)+66>>0]=c[A>>2];c[la>>2]=St(c[_>>2]|0,c[A>>2]|0)|0;if(c[la>>2]|0)break a;if(!((c[A>>2]|0)==1|(c[A>>2]|0)==2))break a;c[M>>2]=yf(c[Nb>>2]|0,6,24144,0)|0;Af(c[Nb>>2]|0,c[M>>2]|0,c[Lb>>2]|0);Af(c[Nb>>2]|0,(c[M>>2]|0)+1|0,c[Lb>>2]|0);Bf(c[Nb>>2]|0,(c[M>>2]|0)+2|0,(c[M>>2]|0)+4|0);Af(c[Nb>>2]|0,(c[M>>2]|0)+4|0,(c[A>>2]|0)-1|0);Af(c[Nb>>2]|0,(c[M>>2]|0)+5|0,c[Lb>>2]|0);zf(c[Nb>>2]|0,c[Lb>>2]|0);break a}case 14:{if(!((c[Rb>>2]|0)!=0?(Kb=(wg(c[Rb>>2]|0,P)|0)==0,!(Kb|(c[P>>2]|0)<=0)):0))c[P>>2]=2147483647;$o(c[Mb>>2]|0,0,c[Lb>>2]|0);Ro(c[Nb>>2]|0,25,c[P>>2]|0,1)|0;c[x>>2]=ur(c[Nb>>2]|0,141,c[Lb>>2]|0)|0;ur(c[Nb>>2]|0,35,1)|0;Ro(c[Nb>>2]|0,37,1,-1)|0;Ro(c[Nb>>2]|0,137,1,c[x>>2]|0)|0;jp(c[Nb>>2]|0,c[x>>2]|0);break a}case 4:if(c[Rb>>2]|0){c[oa>>2]=vg(c[Rb>>2]|0)|0;c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]=c[oa>>2];Sr(c[(c[aa>>2]|0)+4>>2]|0,c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Nb=c[(c[(c[aa>>2]|0)+12>>2]|0)+80>>2]|0;Mt(c[Mb>>2]|0,23999,Nb,((Nb|0)<0)<<31>>31);break a}case 23:{Nb=pa;c[Nb>>2]=0;c[Nb+4>>2]=0;c[la>>2]=0;if(!(c[la>>2]|0)){Nb=pa;Mt(c[Mb>>2]|0,24168,c[Nb>>2]|0,c[Nb+4>>2]|0);break a}if((c[la>>2]|0)==12)break a;Nb=(c[Mb>>2]|0)+64|0;c[Nb>>2]=(c[Nb>>2]|0)+1;c[(c[Mb>>2]|0)+12>>2]=c[la>>2];break a}case 31:{l=c[Mb>>2]|0;if(c[Rb>>2]|0){Tt(l,c[Rb>>2]|0)|0;break a}else{Mt(l,24178,d[(c[Ob>>2]|0)+63>>0]|0,0);break a}}case 32:{if(!(c[Rb>>2]|0)){if(!(c[90]|0))break a;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24189,0)|0;To(c[Nb>>2]|0,97,0,1,0,c[90]|0,0)|0;Ro(c[Nb>>2]|0,35,1,1)|0;break a}if((a[c[Rb>>2]>>0]|0)!=0?(c[la>>2]=_j(c[c[Ob>>2]>>2]|0,c[Rb>>2]|0,1,ma)|0,(c[la>>2]|0)!=0|(c[ma>>2]|0)==0):0){sf(c[Mb>>2]|0,24210,ra);break a}if((d[(c[Ob>>2]|0)+63>>0]|0)<=1)Ut(c[Mb>>2]|0)|0;Sb(c[90]|0);if(a[c[Rb>>2]>>0]|0){c[sa>>2]=c[Rb>>2];c[90]=Wb(14418,sa)|0;break a}else{c[90]=0;break a}}case 29:{if(!(c[Rb>>2]|0)){Nb=(d[(c[aa>>2]|0)+8>>0]|0)-1|0;Mt(c[Mb>>2]|0,24235,Nb,((Nb|0)<0)<<31>>31);break a}if(a[(c[Ob>>2]|0)+62>>0]|0){Nb=((ug(c[Rb>>2]|0,0,1)|0)&255)+1&255;a[(c[aa>>2]|0)+8>>0]=Nb;Vt(c[Ob>>2]|0);break a}else{sf(c[Mb>>2]|0,24247,ta);break a}}case 2:{if(!(c[Rb>>2]|0)){Nb=(c[(c[Ob>>2]|0)+24>>2]&c[2516+((c[V>>2]|0)*12|0)+8>>2]|0)!=0&1;Mt(c[Mb>>2]|0,c[2516+((c[V>>2]|0)*12|0)>>2]|0,Nb,((Nb|0)<0)<<31>>31);break a}c[Da>>2]=c[2516+((c[V>>2]|0)*12|0)+8>>2];if(!(d[(c[Ob>>2]|0)+62>>0]|0))c[Da>>2]=c[Da>>2]&-524289;Mb=(mg(c[Rb>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!Mb){Mb=(c[Ob>>2]|0)+24|0;c[Mb>>2]=c[Mb>>2]&~l;if((c[Da>>2]|0)==16777216){Mb=(c[Ob>>2]|0)+512|0;c[Mb>>2]=0;c[Mb+4>>2]=0}}else{Mb=(c[Ob>>2]|0)+24|0;c[Mb>>2]=c[Mb>>2]|l}Ro(c[Nb>>2]|0,142,0,0)|0;Vt(c[Ob>>2]|0);break a}case 30:{if(!(c[Rb>>2]|0))break a;c[La>>2]=cp(c[Ob>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0;if(!(c[La>>2]|0))break a;c[Ha>>2]=0;c[Ka>>2]=Lr(c[La>>2]|0)|0;Kt(c[Nb>>2]|0,6);c[(c[Mb>>2]|0)+72>>2]=6;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24300,0)|0;Lt(c[Nb>>2]|0,1,0,24304,0)|0;Lt(c[Nb>>2]|0,2,0,24309,0)|0;Lt(c[Nb>>2]|0,3,0,24314,0)|0;Lt(c[Nb>>2]|0,4,0,24322,0)|0;Lt(c[Nb>>2]|0,5,0,24333,0)|0;Ap(c[Mb>>2]|0,c[La>>2]|0)|0;c[Fa>>2]=0;c[Ia>>2]=c[(c[La>>2]|0)+4>>2];while(1){if((c[Fa>>2]|0)>=(b[(c[La>>2]|0)+38>>1]|0))break a;if(d[(c[Ia>>2]|0)+23>>0]&2)c[Ha>>2]=(c[Ha>>2]|0)+1;else{Ro(c[Nb>>2]|0,25,(c[Fa>>2]|0)-(c[Ha>>2]|0)|0,1)|0;To(c[Nb>>2]|0,97,0,2,0,c[c[Ia>>2]>>2]|0,0)|0;if(c[(c[Ia>>2]|0)+12>>2]|0)m=c[(c[Ia>>2]|0)+12>>2]|0;else m=14425;To(c[Nb>>2]|0,97,0,3,0,m,0)|0;Ro(c[Nb>>2]|0,25,(d[(c[Ia>>2]|0)+20>>0]|0)!=0?1:0,4)|0;m=c[Nb>>2]|0;if(c[(c[Ia>>2]|0)+8>>2]|0)To(m,97,0,5,0,c[(c[Ia>>2]|0)+8>>2]|0,0)|0;else Ro(m,28,0,5)|0;c:do if(!(d[(c[Ia>>2]|0)+23>>0]&1))c[Ga>>2]=0;else{Mb=(c[Ka>>2]|0)==0;c[Ga>>2]=1;if(Mb)break;while(1){if((c[Ga>>2]|0)>(b[(c[La>>2]|0)+38>>1]|0))break c;if((b[(c[(c[Ka>>2]|0)+4>>2]|0)+((c[Ga>>2]|0)-1<<1)>>1]|0)==(c[Fa>>2]|0))break c;c[Ga>>2]=(c[Ga>>2]|0)+1}}while(0);Ro(c[Nb>>2]|0,25,c[Ga>>2]|0,6)|0;Ro(c[Nb>>2]|0,35,1,6)|0}c[Fa>>2]=(c[Fa>>2]|0)+1;c[Ia>>2]=(c[Ia>>2]|0)+24}}case 28:{c[Nb>>2]=Po(c[Mb>>2]|0)|0;Kt(c[Nb>>2]|0,4);c[(c[Mb>>2]|0)+72>>2]=4;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24336,0)|0;Lt(c[Nb>>2]|0,1,0,18253,0)|0;Lt(c[Nb>>2]|0,2,0,24342,0)|0;Lt(c[Nb>>2]|0,3,0,24348,0)|0;c[F>>2]=c[(c[(c[aa>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[F>>2]|0))break a;c[ha>>2]=c[(c[F>>2]|0)+8>>2];To(c[Nb>>2]|0,97,0,1,0,c[c[ha>>2]>>2]|0,0)|0;Ro(c[Nb>>2]|0,28,0,2)|0;Mb=c[Nb>>2]|0;Lb=Wt(b[(c[ha>>2]|0)+42>>1]|0)|0;Ro(Mb,25,Lb,3)|0;Lb=c[Nb>>2]|0;Mb=Wt(b[(c[ha>>2]|0)+28>>1]|0)|0;Ro(Lb,25,Mb,4)|0;Ro(c[Nb>>2]|0,35,1,4)|0;c[ca>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;To(c[Nb>>2]|0,97,0,2,0,c[c[ca>>2]>>2]|0,0)|0;Mb=c[Nb>>2]|0;Lb=Wt(b[(c[ca>>2]|0)+48>>1]|0)|0;Ro(Mb,25,Lb,3)|0;Lb=c[Nb>>2]|0;Mb=Wt(b[c[(c[ca>>2]|0)+8>>2]>>1]|0)|0;Ro(Lb,25,Mb,4)|0;Ro(c[Nb>>2]|0,35,1,4)|0;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[F>>2]=c[c[F>>2]>>2]}}case 15:{if(!(c[Rb>>2]|0))break a;c[da>>2]=yp(c[Ob>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0;if(!(c[da>>2]|0))break a;c[ia>>2]=c[(c[da>>2]|0)+12>>2];Kt(c[Nb>>2]|0,3);c[(c[Mb>>2]|0)+72>>2]=3;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24355,0)|0;Lt(c[Nb>>2]|0,1,0,24300,0)|0;Lt(c[Nb>>2]|0,2,0,24304,0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break a;b[z>>1]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[G>>2]<<1)>>1]|0;Ro(c[Nb>>2]|0,25,c[G>>2]|0,1)|0;Ro(c[Nb>>2]|0,25,b[z>>1]|0,2)|0;To(c[Nb>>2]|0,97,0,3,0,c[(c[(c[ia>>2]|0)+4>>2]|0)+((b[z>>1]|0)*24|0)>>2]|0,0)|0;Ro(c[Nb>>2]|0,35,1,3)|0;c[G>>2]=(c[G>>2]|0)+1}}case 16:{if(!(c[Rb>>2]|0))break a;c[ja>>2]=cp(c[Ob>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[Nb>>2]=Po(c[Mb>>2]|0)|0;Kt(c[Nb>>2]|0,3);c[(c[Mb>>2]|0)+72>>2]=3;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24361,0)|0;Lt(c[Nb>>2]|0,1,0,24304,0)|0;Lt(c[Nb>>2]|0,2,0,24365,0)|0;c[ea>>2]=c[(c[ja>>2]|0)+8>>2];c[H>>2]=0;while(1){if(!(c[ea>>2]|0))break a;Ro(c[Nb>>2]|0,25,c[H>>2]|0,1)|0;To(c[Nb>>2]|0,97,0,2,0,c[c[ea>>2]>>2]|0,0)|0;Ro(c[Nb>>2]|0,25,(d[(c[ea>>2]|0)+54>>0]|0)!=0&1,3)|0;Ro(c[Nb>>2]|0,35,1,3)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[H>>2]=(c[H>>2]|0)+1}}case 9:{Kt(c[Nb>>2]|0,3);c[(c[Mb>>2]|0)+72>>2]=3;Lt(c[Nb>>2]|0,0,0,24361,0)|0;Lt(c[Nb>>2]|0,1,0,24304,0)|0;Lt(c[Nb>>2]|0,2,0,24372,0)|0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[Ob>>2]|0)+20>>2]|0))break a;if(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+4>>2]|0){Ro(c[Nb>>2]|0,25,c[I>>2]|0,1)|0;To(c[Nb>>2]|0,97,0,2,0,c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2]|0,0)|0;Mb=c[Nb>>2]|0;To(Mb,97,0,3,0,og(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+4>>2]|0)|0,0)|0;Ro(c[Nb>>2]|0,35,1,3)|0}c[I>>2]=(c[I>>2]|0)+1}}case 6:{c[J>>2]=0;Kt(c[Nb>>2]|0,2);c[(c[Mb>>2]|0)+72>>2]=2;Lt(c[Nb>>2]|0,0,0,24361,0)|0;Lt(c[Nb>>2]|0,1,0,24304,0)|0;c[X>>2]=c[(c[Ob>>2]|0)+428+8>>2];while(1){if(!(c[X>>2]|0))break a;c[$>>2]=c[(c[X>>2]|0)+8>>2];Lb=c[Nb>>2]|0;Mb=c[J>>2]|0;c[J>>2]=Mb+1;Ro(Lb,25,Mb,1)|0;To(c[Nb>>2]|0,97,0,2,0,c[c[$>>2]>>2]|0,0)|0;Ro(c[Nb>>2]|0,35,1,2)|0;c[X>>2]=c[c[X>>2]>>2]}}case 13:{if(!(c[Rb>>2]|0))break a;c[ka>>2]=cp(c[Ob>>2]|0,c[Rb>>2]|0,c[bb>>2]|0)|0;if(!(c[ka>>2]|0))break a;c[Nb>>2]=Po(c[Mb>>2]|0)|0;c[ba>>2]=c[(c[ka>>2]|0)+16>>2];if(!(c[ba>>2]|0))break a;c[K>>2]=0;Kt(c[Nb>>2]|0,8);c[(c[Mb>>2]|0)+72>>2]=8;ap(c[Mb>>2]|0,c[Lb>>2]|0);Lt(c[Nb>>2]|0,0,0,24377,0)|0;Lt(c[Nb>>2]|0,1,0,24361,0)|0;Lt(c[Nb>>2]|0,2,0,24336,0)|0;Lt(c[Nb>>2]|0,3,0,24380,0)|0;Lt(c[Nb>>2]|0,4,0,24385,0)|0;Lt(c[Nb>>2]|0,5,0,24388,0)|0;Lt(c[Nb>>2]|0,6,0,24398,0)|0;Lt(c[Nb>>2]|0,7,0,24408,0)|0;while(1){if(!(c[ba>>2]|0))break a;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[ba>>2]|0)+20>>2]|0))break;c[ua>>2]=c[(c[ba>>2]|0)+36+(c[T>>2]<<3)+4>>2];c[wa>>2]=Xt(a[(c[ba>>2]|0)+25>>0]|0)|0;c[xa>>2]=Xt(a[(c[ba>>2]|0)+25+1>>0]|0)|0;Ro(c[Nb>>2]|0,25,c[K>>2]|0,1)|0;Ro(c[Nb>>2]|0,25,c[T>>2]|0,2)|0;To(c[Nb>>2]|0,97,0,3,0,c[(c[ba>>2]|0)+8>>2]|0,0)|0;To(c[Nb>>2]|0,97,0,4,0,c[(c[(c[ka>>2]|0)+4>>2]|0)+((c[(c[ba>>2]|0)+36+(c[T>>2]<<3)>>2]|0)*24|0)>>2]|0,0)|0;To(c[Nb>>2]|0,(c[ua>>2]|0)!=0?97:28,0,5,0,c[ua>>2]|0,0)|0;To(c[Nb>>2]|0,97,0,6,0,c[xa>>2]|0,0)|0;To(c[Nb>>2]|0,97,0,7,0,c[wa>>2]|0,0)|0;To(c[Nb>>2]|0,97,0,8,0,24414,0)|0;Ro(c[Nb>>2]|0,35,1,8)|0;c[T>>2]=(c[T>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1;c[ba>>2]=c[(c[ba>>2]|0)+4>>2]}}case 12:{c[_a>>2]=(c[(c[Mb>>2]|0)+72>>2]|0)+1;Hb=(c[Mb>>2]|0)+72|0;c[Hb>>2]=(c[Hb>>2]|0)+4;Hb=(c[Mb>>2]|0)+72|0;Gb=(c[Hb>>2]|0)+1|0;c[Hb>>2]=Gb;c[Za>>2]=Gb;Gb=(c[Mb>>2]|0)+72|0;Hb=(c[Gb>>2]|0)+1|0;c[Gb>>2]=Hb;c[$a>>2]=Hb;c[Nb>>2]=Po(c[Mb>>2]|0)|0;Kt(c[Nb>>2]|0,4);Lt(c[Nb>>2]|0,0,0,24336,0)|0;Lt(c[Nb>>2]|0,1,0,18143,0)|0;Lt(c[Nb>>2]|0,2,0,24419,0)|0;Lt(c[Nb>>2]|0,3,0,24426,0)|0;ap(c[Mb>>2]|0,c[Lb>>2]|0);c[Ua>>2]=c[(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[Lb>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Ua>>2]|0))break a;if(c[Rb>>2]|0){c[Ya>>2]=rf(c[Mb>>2]|0,0,c[Rb>>2]|0,c[bb>>2]|0)|0;c[Ua>>2]=0}else{c[Ya>>2]=c[(c[Ua>>2]|0)+8>>2];c[Ua>>2]=c[c[Ua>>2]>>2]}if(!(c[Ya>>2]|0))continue;if(!(c[(c[Ya>>2]|0)+16>>2]|0))continue;vr(c[Mb>>2]|0,c[Lb>>2]|0,c[(c[Ya>>2]|0)+32>>2]|0,0,c[c[Ya>>2]>>2]|0);if(((b[(c[Ya>>2]|0)+38>>1]|0)+(c[$a>>2]|0)|0)>(c[(c[Mb>>2]|0)+72>>2]|0))c[(c[Mb>>2]|0)+72>>2]=(b[(c[Ya>>2]|0)+38>>1]|0)+(c[$a>>2]|0);wr(c[Mb>>2]|0,0,c[Lb>>2]|0,c[Ya>>2]|0,54);To(c[Nb>>2]|0,97,0,c[_a>>2]|0,0,c[c[Ya>>2]>>2]|0,0)|0;c[Qa>>2]=1;c[Va>>2]=c[(c[Ya>>2]|0)+16>>2];d:while(1){if(!(c[Va>>2]|0))break;c[Xa>>2]=cp(c[Ob>>2]|0,c[(c[Va>>2]|0)+8>>2]|0,c[bb>>2]|0)|0;do if(c[Xa>>2]|0){c[Wa>>2]=0;vr(c[Mb>>2]|0,c[Lb>>2]|0,c[(c[Xa>>2]|0)+32>>2]|0,0,c[c[Xa>>2]>>2]|0);c[ab>>2]=Yt(c[Mb>>2]|0,c[Xa>>2]|0,c[Va>>2]|0,Wa,0)|0;if(c[ab>>2]|0){Kb=195;break d}if(!(c[Wa>>2]|0)){wr(c[Mb>>2]|0,c[Qa>>2]|0,c[Lb>>2]|0,c[Xa>>2]|0,54);break}else{Uo(c[Nb>>2]|0,54,c[Qa>>2]|0,c[(c[Wa>>2]|0)+44>>2]|0,c[Lb>>2]|0)|0;xr(c[Mb>>2]|0,c[Wa>>2]|0);break}}while(0);c[Qa>>2]=(c[Qa>>2]|0)+1;c[Va>>2]=c[(c[Va>>2]|0)+4>>2]}if((Kb|0)==195){Kb=0;c[Ua>>2]=0}if(c[Va>>2]|0)break a;if((c[(c[Mb>>2]|0)+68>>2]|0)<(c[Qa>>2]|0))c[(c[Mb>>2]|0)+68>>2]=c[Qa>>2];c[Oa>>2]=ur(c[Nb>>2]|0,108,0)|0;c[Qa>>2]=1;c[Va>>2]=c[(c[Ya>>2]|0)+16>>2];while(1){if(!(c[Va>>2]|0))break;c[Xa>>2]=cp(c[Ob>>2]|0,c[(c[Va>>2]|0)+8>>2]|0,c[bb>>2]|0)|0;c[Wa>>2]=0;c[Pa>>2]=0;if(c[Xa>>2]|0)c[ab>>2]=Yt(c[Mb>>2]|0,c[Xa>>2]|0,c[Va>>2]|0,Wa,Pa)|0;c[Na>>2]=zr(c[Nb>>2]|0)|0;do if((c[Xa>>2]|0)!=0&(c[Wa>>2]|0)==0){c[Ra>>2]=c[(c[Va>>2]|0)+36>>2];m=c[Nb>>2]|0;if((c[Ra>>2]|0)!=(b[(c[Ya>>2]|0)+36>>1]|0)){Uo(m,47,0,c[Ra>>2]|0,c[$a>>2]|0)|0;vs(c[Nb>>2]|0,c[Ya>>2]|0,c[Ra>>2]|0,c[$a>>2]|0);Ro(c[Nb>>2]|0,76,c[$a>>2]|0,c[Na>>2]|0)|0;Gb=c[Nb>>2]|0;Hb=c[$a>>2]|0;Ro(Gb,38,Hb,(yr(c[Nb>>2]|0)|0)+3|0)|0}else Ro(m,103,0,c[$a>>2]|0)|0;Uo(c[Nb>>2]|0,70,c[Qa>>2]|0,0,c[$a>>2]|0)|0;Ro(c[Nb>>2]|0,16,0,c[Na>>2]|0)|0;Hb=c[Nb>>2]|0;jp(Hb,(yr(c[Nb>>2]|0)|0)-2|0)}else{c[Ta>>2]=0;while(1){if((c[Ta>>2]|0)>=(c[(c[Va>>2]|0)+20>>2]|0))break;m=c[Ta>>2]|0;if(c[Pa>>2]|0)m=c[(c[Pa>>2]|0)+(m<<2)>>2]|0;else m=c[(c[Va>>2]|0)+36+(m<<3)>>2]|0;qs(c[Nb>>2]|0,c[Ya>>2]|0,0,m,(c[$a>>2]|0)+(c[Ta>>2]|0)|0);Ro(c[Nb>>2]|0,76,(c[$a>>2]|0)+(c[Ta>>2]|0)|0,c[Na>>2]|0)|0;c[Ta>>2]=(c[Ta>>2]|0)+1}if(!(c[Xa>>2]|0))break;Db=c[Nb>>2]|0;Eb=c[$a>>2]|0;Fb=c[(c[Va>>2]|0)+20>>2]|0;Gb=c[Za>>2]|0;Hb=Zt(c[Nb>>2]|0,c[Wa>>2]|0)|0;To(Db,49,Eb,Fb,Gb,Hb,c[(c[Va>>2]|0)+20>>2]|0)|0;wf(c[Nb>>2]|0,69,c[Qa>>2]|0,c[Na>>2]|0,c[Za>>2]|0,0)|0}while(0);Ro(c[Nb>>2]|0,103,0,(c[_a>>2]|0)+1|0)|0;To(c[Nb>>2]|0,97,0,(c[_a>>2]|0)+2|0,0,c[(c[Va>>2]|0)+8>>2]|0,0)|0;Ro(c[Nb>>2]|0,25,(c[Qa>>2]|0)-1|0,(c[_a>>2]|0)+3|0)|0;Ro(c[Nb>>2]|0,35,c[_a>>2]|0,4)|0;Br(c[Nb>>2]|0,c[Na>>2]|0);Nd(c[Ob>>2]|0,c[Pa>>2]|0);c[Qa>>2]=(c[Qa>>2]|0)+1;c[Va>>2]=c[(c[Va>>2]|0)+4>>2]}Ro(c[Nb>>2]|0,9,0,(c[Oa>>2]|0)+1|0)|0;jp(c[Nb>>2]|0,c[Oa>>2]|0)}}case 5:{if(!(c[Rb>>2]|0))break a;Nb=c[Ob>>2]|0;_t(Nb,(mg(c[Rb>>2]|0,0)|0)&255);break a}case 17:{c[jb>>2]=(d[13848+(d[c[Qb>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[t>>2]>>2]|0))c[Lb>>2]=-1;c[(c[Mb>>2]|0)+72>>2]=6;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24431,0)|0;c[ub>>2]=100;if((c[Rb>>2]|0)!=0?(wg(c[Rb>>2]|0,ub)|0,(c[ub>>2]|0)<=0):0)c[ub>>2]=100;Ro(c[Nb>>2]|0,25,c[ub>>2]|0,1)|0;c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[(c[Ob>>2]|0)+20>>2]|0))break;c[eb>>2]=0;if(!((c[Lb>>2]|0)>=0?(c[fb>>2]|0)!=(c[Lb>>2]|0):0))Kb=230;e:do if((Kb|0)==230){Kb=0;ap(c[Mb>>2]|0,c[fb>>2]|0);c[cb>>2]=ur(c[Nb>>2]|0,137,1)|0;Ro(c[Nb>>2]|0,24,0,0)|0;jp(c[Nb>>2]|0,c[cb>>2]|0);c[Bb>>2]=(c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[fb>>2]<<4)+12>>2]|0)+8;c[Gb>>2]=c[(c[Bb>>2]|0)+8>>2];while(1){if(!(c[Gb>>2]|0))break;c[zb>>2]=c[(c[Gb>>2]|0)+8>>2];if(!(d[(c[zb>>2]|0)+44>>0]&32)){Ro(c[Nb>>2]|0,25,c[(c[zb>>2]|0)+32>>2]|0,2+(c[eb>>2]|0)|0)|0;c[eb>>2]=(c[eb>>2]|0)+1}c[vb>>2]=c[(c[zb>>2]|0)+8>>2];while(1){if(!(c[vb>>2]|0))break;Ro(c[Nb>>2]|0,25,c[(c[vb>>2]|0)+44>>2]|0,2+(c[eb>>2]|0)|0)|0;c[eb>>2]=(c[eb>>2]|0)+1;c[vb>>2]=c[(c[vb>>2]|0)+20>>2]}c[Gb>>2]=c[c[Gb>>2]>>2]}if((c[(c[Mb>>2]|0)+72>>2]|0)>((c[eb>>2]|0)+8|0))m=c[(c[Mb>>2]|0)+72>>2]|0;else m=(c[eb>>2]|0)+8|0;c[(c[Mb>>2]|0)+72>>2]=m;Uo(c[Nb>>2]|0,127,2,c[eb>>2]|0,1)|0;xf(c[Nb>>2]|0,c[fb>>2]&255);c[cb>>2]=ur(c[Nb>>2]|0,76,2)|0;ab=c[Nb>>2]|0;bb=c[Ob>>2]|0;c[Eb>>2]=c[(c[(c[Ob>>2]|0)+16>>2]|0)+(c[fb>>2]<<4)>>2];To(ab,97,0,3,0,tf(bb,24447,Eb)|0,-1)|0;Uo(c[Nb>>2]|0,32,2,4,1)|0;Uo(c[Nb>>2]|0,94,4,3,2)|0;Ro(c[Nb>>2]|0,35,2,1)|0;jp(c[Nb>>2]|0,c[cb>>2]|0);c[Gb>>2]=c[(c[Bb>>2]|0)+8>>2];while(1){if(!(c[Gb>>2]|0))break e;if(!((c[jb>>2]|0)!=0^1))break e;c[Ab>>2]=c[(c[Gb>>2]|0)+8>>2];c[yb>>2]=0;c[Cb>>2]=-1;f:do if(c[(c[Ab>>2]|0)+8>>2]|0){if(!(d[(c[Ab>>2]|0)+44>>0]&32))m=0;else m=Lr(c[Ab>>2]|0)|0;c[xb>>2]=m;c[cb>>2]=ur(c[Nb>>2]|0,137,1)|0;Ro(c[Nb>>2]|0,24,0,0)|0;jp(c[Nb>>2]|0,c[cb>>2]|0);$t(c[Mb>>2]|0);au(c[Mb>>2]|0,c[Ab>>2]|0,54,1,0,hb,ib)|0;Ro(c[Nb>>2]|0,25,0,7)|0;c[kb>>2]=0;c[wb>>2]=c[(c[Ab>>2]|0)+8>>2];while(1){if(!(c[wb>>2]|0))break;Ro(c[Nb>>2]|0,25,0,8+(c[kb>>2]|0)|0)|0;c[wb>>2]=c[(c[wb>>2]|0)+20>>2];c[kb>>2]=(c[kb>>2]|0)+1}if((c[(c[Mb>>2]|0)+72>>2]|0)>(8+(c[kb>>2]|0)|0))m=c[(c[Mb>>2]|0)+72>>2]|0;else m=8+(c[kb>>2]|0)|0;c[(c[Mb>>2]|0)+72>>2]=m;Ro(c[Nb>>2]|0,108,c[hb>>2]|0,0)|0;c[tb>>2]=Ro(c[Nb>>2]|0,37,7,1)|0;c[kb>>2]=0;while(1){if((c[kb>>2]|0)>=(b[(c[Ab>>2]|0)+38>>1]|0))break;do if((c[kb>>2]|0)!=(b[(c[Ab>>2]|0)+36>>1]|0)){if(!(d[(c[(c[Ab>>2]|0)+4>>2]|0)+((c[kb>>2]|0)*24|0)+20>>0]|0))break;qs(c[Nb>>2]|0,c[Ab>>2]|0,c[hb>>2]|0,c[kb>>2]|0,3);xf(c[Nb>>2]|0,-128);c[lb>>2]=ur(c[Nb>>2]|0,77,3)|0;Ro(c[Nb>>2]|0,37,1,-1)|0;bb=c[Ob>>2]|0;ab=c[(c[(c[Ab>>2]|0)+4>>2]|0)+((c[kb>>2]|0)*24|0)>>2]|0;c[Fb>>2]=c[c[Ab>>2]>>2];c[Fb+4>>2]=ab;c[Hb>>2]=tf(bb,24471,Fb)|0;To(c[Nb>>2]|0,97,0,3,0,c[Hb>>2]|0,-1)|0;Ro(c[Nb>>2]|0,35,3,1)|0;c[nb>>2]=ur(c[Nb>>2]|0,137,1)|0;Yo(c[Nb>>2]|0,24)|0;jp(c[Nb>>2]|0,c[lb>>2]|0);jp(c[Nb>>2]|0,c[nb>>2]|0)}while(0);c[kb>>2]=(c[kb>>2]|0)+1}c[kb>>2]=0;c[wb>>2]=c[(c[Ab>>2]|0)+8>>2];while(1){m=c[Nb>>2]|0;if(!(c[wb>>2]|0))break;c[db>>2]=zr(m)|0;if((c[xb>>2]|0)!=(c[wb>>2]|0)){c[Cb>>2]=bs(c[Mb>>2]|0,c[wb>>2]|0,c[hb>>2]|0,0,0,ob,c[yb>>2]|0,c[Cb>>2]|0)|0;c[yb>>2]=c[wb>>2];Ro(c[Nb>>2]|0,37,8+(c[kb>>2]|0)|0,1)|0;c[mb>>2]=wf(c[Nb>>2]|0,69,(c[ib>>2]|0)+(c[kb>>2]|0)|0,c[db>>2]|0,c[Cb>>2]|0,e[(c[wb>>2]|0)+52>>1]|0)|0;Ro(c[Nb>>2]|0,37,1,-1)|0;To(c[Nb>>2]|0,97,0,3,0,24491,-2)|0;Uo(c[Nb>>2]|0,94,7,3,3)|0;To(c[Nb>>2]|0,97,0,4,0,24496,-2)|0;Uo(c[Nb>>2]|0,94,4,3,3)|0;c[qb>>2]=To(c[Nb>>2]|0,97,0,4,0,c[c[wb>>2]>>2]|0,0)|0;Uo(c[Nb>>2]|0,94,4,3,3)|0;Ro(c[Nb>>2]|0,35,3,1)|0;c[pb>>2]=ur(c[Nb>>2]|0,137,1)|0;Yo(c[Nb>>2]|0,24)|0;jp(c[Nb>>2]|0,c[mb>>2]|0);if(d[(c[wb>>2]|0)+54>>0]|0){c[Db>>2]=zr(c[Nb>>2]|0)|0;c[sb>>2]=0;while(1){if((c[sb>>2]|0)>=(e[(c[wb>>2]|0)+50>>1]|0))break;c[gb>>2]=b[(c[(c[wb>>2]|0)+4>>2]|0)+(c[sb>>2]<<1)>>1];if(!(a[(c[(c[Ab>>2]|0)+4>>2]|0)+((c[gb>>2]|0)*24|0)+20>>0]|0))Ro(c[Nb>>2]|0,76,(c[Cb>>2]|0)+(c[sb>>2]|0)|0,c[Db>>2]|0)|0;c[sb>>2]=(c[sb>>2]|0)+1}c[rb>>2]=ur(c[Nb>>2]|0,9,(c[ib>>2]|0)+(c[kb>>2]|0)|0)|0;Ro(c[Nb>>2]|0,16,0,c[Db>>2]|0)|0;jp(c[Nb>>2]|0,c[rb>>2]|0);wf(c[Nb>>2]|0,114,(c[ib>>2]|0)+(c[kb>>2]|0)|0,c[Db>>2]|0,c[Cb>>2]|0,e[(c[wb>>2]|0)+50>>1]|0)|0;Ro(c[Nb>>2]|0,37,1,-1)|0;To(c[Nb>>2]|0,97,0,3,0,24517,-2)|0;Ro(c[Nb>>2]|0,16,0,c[qb>>2]|0)|0;Br(c[Nb>>2]|0,c[Db>>2]|0)}jp(c[Nb>>2]|0,c[pb>>2]|0);cs(c[Mb>>2]|0,c[ob>>2]|0)}c[wb>>2]=c[(c[wb>>2]|0)+20>>2];c[kb>>2]=(c[kb>>2]|0)+1}Ro(m,9,c[hb>>2]|0,c[tb>>2]|0)|0;jp(c[Nb>>2]|0,(c[tb>>2]|0)-1|0);To(c[Nb>>2]|0,97,0,2,0,24544,-2)|0;c[kb>>2]=0;c[wb>>2]=c[(c[Ab>>2]|0)+8>>2];while(1){if(!(c[wb>>2]|0))break f;if((c[xb>>2]|0)!=(c[wb>>2]|0)){c[cb>>2]=yr(c[Nb>>2]|0)|0;Ro(c[Nb>>2]|0,137,1,(c[cb>>2]|0)+2|0)|0;Ro(c[Nb>>2]|0,24,0,0)|0;Ro(c[Nb>>2]|0,50,(c[ib>>2]|0)+(c[kb>>2]|0)|0,3)|0;Uo(c[Nb>>2]|0,79,8+(c[kb>>2]|0)|0,(c[cb>>2]|0)+8|0,3)|0;xf(c[Nb>>2]|0,-112);Ro(c[Nb>>2]|0,37,1,-1)|0;To(c[Nb>>2]|0,97,0,3,0,c[c[wb>>2]>>2]|0,0)|0;Uo(c[Nb>>2]|0,94,3,2,7)|0;Ro(c[Nb>>2]|0,35,7,1)|0}c[wb>>2]=c[(c[wb>>2]|0)+20>>2];c[kb>>2]=(c[kb>>2]|0)+1}}while(0);c[Gb>>2]=c[c[Gb>>2]>>2]}}while(0);c[fb>>2]=(c[fb>>2]|0)+1}c[cb>>2]=yf(c[Nb>>2]|0,3,24573,0)|0;Cf(c[Nb>>2]|0,c[cb>>2]|0,0-(c[ub>>2]|0)|0);jp(c[Nb>>2]|0,c[cb>>2]|0);Df(c[Nb>>2]|0,(c[cb>>2]|0)+1|0,24585,-2);break a}case 11:{if(!(c[Rb>>2]|0)){if(mr(c[Mb>>2]|0)|0)break a;Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,24588,0)|0;Ro(c[Nb>>2]|0,97,0,1)|0;Df(c[Nb>>2]|0,-1,c[3176+(d[(c[(c[(c[c[Mb>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]<<3)>>2]|0,-2);Ro(c[Nb>>2]|0,35,1,1)|0;break a}if((e[(c[(c[(c[Ob>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[Ob>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ja>>2]=3176;while(1){if(!(c[c[Ja>>2]>>2]|0))break;Nb=0==($b(c[Rb>>2]|0,c[c[Ja>>2]>>2]|0)|0);l=c[Ja>>2]|0;if(Nb){Kb=287;break}c[Ja>>2]=l+8}if((Kb|0)==287){if(d[l+4>>0]|0)l=d[(c[Ja>>2]|0)+4>>0]|0;else l=(a[920]|0)==0?3:2;a[(c[(c[(c[c[Mb>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=l}if(c[c[Ja>>2]>>2]|0)break a;Nb=c[Mb>>2]|0;c[Ma>>2]=c[Rb>>2];sf(Nb,24597,Ma);break a}case 0:{zf(c[Nb>>2]|0,c[Lb>>2]|0);switch(a[c[Qb>>2]>>0]|0){case 65:case 97:{c[Ca>>2]=8;break}case 70:case 102:{c[Ca>>2]=0;break}case 83:case 115:{c[Ca>>2]=1;break}default:c[Ca>>2]=6}k=c[Nb>>2]|0;if((c[Rb>>2]|0)!=0&(c[Ca>>2]|0)!=0){c[Aa>>2]=yf(k,3,24622,0)|0;Af(c[Nb>>2]|0,c[Aa>>2]|0,c[Lb>>2]|0);Kb=c[Nb>>2]|0;Mb=(c[Aa>>2]|0)+1|0;Af(Kb,Mb,vg(c[Rb>>2]|0)|0);Af(c[Nb>>2]|0,(c[Aa>>2]|0)+2|0,c[Lb>>2]|0);Bf(c[Nb>>2]|0,(c[Aa>>2]|0)+2|0,c[Ca>>2]|0);break a}else{c[Ba>>2]=yf(k,3,24634,0)|0;Af(c[Nb>>2]|0,c[Ba>>2]|0,c[Lb>>2]|0);Af(c[Nb>>2]|0,(c[Ba>>2]|0)+1|0,c[Lb>>2]|0);Cf(c[Nb>>2]|0,(c[Ba>>2]|0)+1|0,c[Ca>>2]|0);Kt(c[Nb>>2]|0,1);Lt(c[Nb>>2]|0,0,0,c[Qb>>2]|0,-1)|0;break a}}case 7:{c[L>>2]=0;Kt(c[Nb>>2]|0,1);c[(c[Mb>>2]|0)+72>>2]=1;Lt(c[Nb>>2]|0,0,0,24646,0)|0;while(1){Mb=c[L>>2]|0;c[L>>2]=Mb+1;Mb=Jb(Mb)|0;c[ya>>2]=Mb;if(!Mb)break a;To(c[Nb>>2]|0,97,0,1,0,c[ya>>2]|0,0)|0;Ro(c[Nb>>2]|0,35,1,1)|0}}case 35:{c[N>>2]=(c[c[t>>2]>>2]|0)!=0?c[Lb>>2]|0:10;c[E>>2]=0;do if(c[Rb>>2]|0){if(!($b(c[Rb>>2]|0,24661)|0)){c[E>>2]=1;break}if(!($b(c[Rb>>2]|0,24666)|0))c[E>>2]=2}while(0);Kt(c[Nb>>2]|0,3);c[(c[Mb>>2]|0)+72>>2]=3;Lt(c[Nb>>2]|0,0,0,24674,0)|0;Lt(c[Nb>>2]|0,1,0,24679,0)|0;Lt(c[Nb>>2]|0,2,0,24683,0)|0;Uo(c[Nb>>2]|0,11,c[N>>2]|0,c[E>>2]|0,1)|0;Ro(c[Nb>>2]|0,35,1,3)|0;break a}case 34:{if(c[Rb>>2]|0){Nb=c[Ob>>2]|0;ud(Nb,vg(c[Rb>>2]|0)|0)|0}if((c[(c[Ob>>2]|0)+212>>2]|0)==6)l=c[(c[Ob>>2]|0)+216>>2]|0;else l=0;Mt(c[Mb>>2]|0,24696,l,((l|0)<0)<<31>>31);break a}case 26:{jd(c[Ob>>2]|0)|0;break a}case 27:{if((c[Rb>>2]|0)!=0?(ng(c[Rb>>2]|0,u)|0)==0:0){Nb=u;Pb(c[Nb>>2]|0,c[Nb+4>>2]|0)|0}Mb=c[Mb>>2]|0;Nb=Pb(-1,-1)|0;Mt(Mb,24723,Nb,C);break a}case 33:{if((c[Rb>>2]|0)!=0?(Kb=(ng(c[Rb>>2]|0,v)|0)==0,Nb=v,Lb=c[Nb+4>>2]|0,Kb&((Lb|0)>0|(Lb|0)==0&(c[Nb>>2]|0)>>>0>=0)):0)zd(c[Ob>>2]|0,11,c[v>>2]&2147483647)|0;Mb=c[Mb>>2]|0;Nb=zd(c[Ob>>2]|0,11,-1)|0;Mt(Mb,24739,Nb,((Nb|0)<0)<<31>>31);break a}default:{if(c[Rb>>2]|0){Nb=c[Ob>>2]|0;qd(Nb,vg(c[Rb>>2]|0)|0)|0}Nb=c[(c[Ob>>2]|0)+492>>2]|0;Mt(c[Mb>>2]|0,24715,Nb,((Nb|0)<0)<<31>>31);break a}}while(0)}}while(0);Nd(c[Ob>>2]|0,c[Qb>>2]|0);Nd(c[Ob>>2]|0,c[Rb>>2]|0);i=Tb;return}function mo(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;t=w+24|0;s=w;f=w+28|0;g=w+32|0;h=w+36|0;p=w+48|0;v=w+40|0;j=w+44|0;q=w+56|0;k=w+80|0;l=w+88|0;r=w+96|0;u=w+100|0;n=w+104|0;m=w+108|0;o=w+112|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+488>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+488>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+64>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=vf(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+32>>2]}c[l>>2]=c[e>>2];c[l+4>>2]=Ed(c[l>>2]|0)|0;Dt(q,c[f>>2]|0,c[k>>2]|0,14687,l);if((It(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(Gt(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+140+5>>0]|0)){c[r>>2]=Po(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;$o(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Io(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?19269:19288;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;Oo(q,23895,s);Nd(c[j>>2]|0,c[u>>2]|0);Qo(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];So(r,s,tf(u,23959,t)|0)}if(a[(c[j>>2]|0)+140+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=ch(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){a[(c[j>>2]|0)+64>>0]=1;break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=Zg((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+64>>2];c[(c[o>>2]|0)+64>>2]=c[n>>2]}}}}while(0);Kd(c[j>>2]|0,c[p>>2]|0);jn(c[j>>2]|0,c[g>>2]|0);i=w;return}function no(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;Q=i;i=i+160|0;v=Q+16|0;u=Q;t=Q+24|0;F=Q+48|0;s=Q+40|0;r=Q+32|0;I=Q+52|0;o=Q+100|0;p=Q+72|0;x=Q+68|0;y=Q+64|0;J=Q+60|0;K=Q+56|0;L=Q+76|0;z=Q+80|0;A=Q+88|0;O=Q+84|0;E=Q+92|0;P=Q+96|0;M=Q+104|0;N=Q+108|0;D=Q+112|0;q=Q+120|0;C=Q+144|0;B=Q+148|0;G=Q+152|0;H=Q+156|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{sf(c[I>>2]|0,23578,r);break}else{c[N>>2]=qr(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+64>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+140+5>>0]|0)!=0:0){Nd(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=Ct(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+140+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+68>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+64>>0]|0)==0?(Dt(q,c[I>>2]|0,c[N>>2]|0,14687,c[D>>2]|0),(Et(q,c[K>>2]|0)|0)==0):0){c[E>>2]=Ct(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+140+4>>0]|0)!=1)break;a[(c[M>>2]|0)+140+6>>0]=1;break}if(d[(c[E>>2]|0)+44>>0]&16){sf(c[I>>2]|0,23624,s);break}c[P>>2]=Ho(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(zp(c[I>>2]|0,c[P>>2]|0)|0):0){if(Zg((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){ap(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];sf(o,23665,F);break}}if(!(Ib(c[c[E>>2]>>2]|0,19570,7)|0)){sf(c[I>>2]|0,23691,t);N=(c[I>>2]|0)+64|0;c[N>>2]=(c[N>>2]|0)+1;break}if((c[x>>2]|0)!=49?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==35?23729:23736;c[u+4>>2]=H;c[u+8>>2]=0;sf(N,23742,u);break}if((c[x>>2]|0)==49?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;sf(N,23779,v);break}c[C>>2]=vf(c[M>>2]|0,c[(c[E>>2]|0)+68>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((Mo(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(Mo(c[I>>2]|0,18,(c[C>>2]|0)==1?19269:19288,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==49)c[x>>2]=35;c[O>>2]=gf(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=ef(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+68>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==35?1:2;N=mq(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=kr(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+488>>2]=c[O>>2]}}}}while(0);Nd(c[M>>2]|0,c[P>>2]|0);cn(c[M>>2]|0,c[K>>2]|0);en(c[M>>2]|0,c[J>>2]|0);dn(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+488>>2]|0){i=Q;return}Kd(c[M>>2]|0,c[O>>2]|0);i=Q;return}function oo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=Bt(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=uq(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+24>>2]=o;o=mq(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}$m(c[h>>2]|0,c[j>>2]|0);dn(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function po(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=Bt(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=Hp(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+28>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;an(l,o);o=c[m>>2]|0;i=n;return o|0}else{en(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;an(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function qo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=Bt(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=mq(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+20>>2]=k;a[(c[h>>2]|0)+1>>0]=10}dn(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function ro(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=gf(c[f>>2]|0,40,0)|0;if(!(c[h>>2]|0)){an(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function so(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,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+20|0;m=r+24|0;n=r+28|0;h=r+12|0;f=r+8|0;q=r+16|0;j=r+32|0;o=r+36|0;g=r+40|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+64>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;cn(p,q);i=r;return}if(mr(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;cn(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?($b(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=Zg((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){yt(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;cn(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)xt(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;sf(f,23522,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;cn(p,q);i=r;return}function to(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;it(c[k>>2]|0,24,2480,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;it(c[f>>2]|0,25,2444,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function vo(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u;q=u+4|0;f=u+12|0;g=u+8|0;j=u+24|0;m=u+16|0;o=u+20|0;l=u+28|0;s=u+32|0;r=u+36|0;h=u+40|0;k=u+44|0;n=u+48|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(mr(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){_r(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Ho(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Xg(c[h>>2]|0,a[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Nd(c[h>>2]|0,c[n>>2]|0);break}_r(c[q>>2]|0,c[n>>2]|0);Nd(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=qr(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Ho(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=cp(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){$r(c[q>>2]|0,c[l>>2]|0,0);Nd(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=yp(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Nd(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){$o(f,0,c[r>>2]|0);as(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{sf(f,22975,t);i=u;return}}function wo(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+4|0;e=r+16|0;f=r+36|0;m=r;h=r+32|0;g=r+40|0;q=r+44|0;k=r+24|0;o=r+20|0;n=r+8|0;j=r+12|0;p=r+28|0;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(mr(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=qr(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Ho(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=yp(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=rf(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)pr(c[l>>2]|0,c[o>>2]|0,0)}else pr(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Nd(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=or(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){nr(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Ho(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=yp(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=rf(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)pr(c[l>>2]|0,c[o>>2]|0,0)}else pr(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Nd(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)nr(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=Po(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}Yo(c[p>>2]|0,142)|0;i=r;return}function xo(b,e,f){b=b|0;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;E=i;i=i+176|0;y=E+80|0;x=E+96|0;w=E;z=E+48|0;v=E+40|0;h=E+72|0;j=E+108|0;k=E+140|0;g=E+128|0;n=E+124|0;A=E+120|0;r=E+116|0;B=E+112|0;l=E+132|0;o=E+136|0;C=E+144|0;u=E+148|0;D=E+152|0;s=E+156|0;t=E+160|0;m=E+164|0;p=E+168|0;q=E+172|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+64>>0]|0)==0?(c[r>>2]=Zo(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=vf(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+68>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Ho(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((cp(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(yp(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(_o(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(zp(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];sf(g,20063,v);break}if(Mo(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Ap(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+44>>0]&16|0)!=0?(c[s>>2]=Bp(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=Po(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;$o(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);Qo(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+72|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;To(c[u>>2]|0,97,0,c[m>>2]|0,0,c[B>>2]|0,0)|0;To(c[u>>2]|0,150,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Cp(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Dp(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Ep(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?19269:19288;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;Oo(v,20090,z);Nd(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?19269:19288;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;Oo(z,20159,w);if(cp(c[l>>2]|0,20543,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;Oo(C,20559,x)}C=hp(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;Oo(C,20617,y);Nd(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Fp(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))fp(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);fp(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];sf(D,20004,h)}while(0);cn(c[l>>2]|0,c[k>>2]|0);Nd(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function yo(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;B=i;i=i+128|0;t=B;s=B+56|0;w=B+24|0;v=B+48|0;u=B+32|0;r=B+40|0;g=B+60|0;h=B+80|0;n=B+76|0;o=B+72|0;k=B+68|0;y=B+64|0;A=B+84|0;x=B+88|0;l=B+92|0;m=B+96|0;j=B+100|0;p=B+104|0;z=B+108|0;q=B+112|0;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+64>>2]|0){i=B;return}if(d[(c[j>>2]|0)+64>>0]|0){i=B;return}c[n>>2]=c[(c[g>>2]|0)+484>>2];c[k>>2]=vf(c[j>>2]|0,c[(c[n>>2]|0)+68>>2]|0)|0;c[y>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[A>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+(((b[(c[n>>2]|0)+38>>1]|0)-1|0)*24|0);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=cp(c[j>>2]|0,c[A>>2]|0,c[y>>2]|0)|0;if(Mo(c[g>>2]|0,26,c[y>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=B;return}if((c[m>>2]|0)!=0?(d[c[m>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+23>>0]&1){sf(c[g>>2]|0,19606,r);i=B;return}if(c[(c[n>>2]|0)+8>>2]|0){sf(c[g>>2]|0,19638,u);i=B;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){sf(c[g>>2]|0,19665,v);i=B;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+20>>0]|0)==0)){sf(c[g>>2]|0,19724,w);i=B;return}do if(c[m>>2]|0){c[p>>2]=0;if(dp(c[j>>2]|0,c[m>>2]|0,1,65,p)|0){a[(c[j>>2]|0)+64>>0]=1;i=B;return}if(c[p>>2]|0){Rf(c[p>>2]|0);break}sf(c[g>>2]|0,19777,s);i=B;return}while(0);c[x>>2]=Io(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[x>>2]|0){c[z>>2]=(c[x>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[q>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[z>>2]|0)>>>0<=(c[x>>2]|0)>>>0)break;if((a[c[z>>2]>>0]|0)!=59?(d[14426+(d[c[z>>2]>>0]|0)>>0]&1|0)==0:0)break;w=c[z>>2]|0;c[z>>2]=w+-1;a[w>>0]=0}z=(c[j>>2]|0)+24|0;c[z>>2]=c[z>>2]|2097152;z=c[g>>2]|0;s=(c[k>>2]|0)==1?19269:19288;u=c[(c[n>>2]|0)+48>>2]|0;v=c[x>>2]|0;w=(c[(c[n>>2]|0)+48>>2]|0)+1|0;A=c[A>>2]|0;c[t>>2]=c[y>>2];c[t+4>>2]=s;c[t+8>>2]=u;c[t+12>>2]=v;c[t+16>>2]=w;c[t+20>>2]=A;Oo(z,19823,t);Nd(c[j>>2]|0,c[x>>2]|0);c[(c[j>>2]|0)+24>>2]=c[q>>2]}ep(c[g>>2]|0,c[k>>2]|0,(c[m>>2]|0)!=0?3:2);fp(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=B;return}function zo(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;s=i;i=i+64|0;r=s+8|0;g=s+24|0;h=s+20|0;o=s+32|0;p=s+28|0;q=s+36|0;l=s+40|0;k=s+44|0;m=s+48|0;j=s+52|0;n=s+56|0;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+64>>0]|0){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}c[p>>2]=Zo(c[g>>2]|0,0,(c[h>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}if(d[(c[p>>2]|0)+44>>0]&16){sf(c[g>>2]|0,19417,s);q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}e=c[g>>2]|0;if(c[(c[p>>2]|0)+12>>2]|0){sf(e,19451,s+16|0);q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}if(_o(e,c[c[p>>2]>>2]|0)|0){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}c[l>>2]=vf(c[j>>2]|0,c[(c[p>>2]|0)+68>>2]|0)|0;c[o>>2]=gf(c[j>>2]|0,76,0)|0;if(!(c[o>>2]|0)){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}c[(c[g>>2]|0)+484>>2]=c[o>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+38>>1]=b[(c[p>>2]|0)+38>>1]|0;c[m>>2]=((((b[(c[o>>2]|0)+38>>1]|0)-1|0)/8|0)<<3)+8;m=gf(c[j>>2]|0,(c[m>>2]|0)*24|0,0)|0;c[(c[o>>2]|0)+4>>2]=m;m=c[j>>2]|0;c[r>>2]=c[c[p>>2]>>2];r=tf(m,19481,r)|0;c[c[o>>2]>>2]=r;if((c[(c[o>>2]|0)+4>>2]|0)!=0?(c[c[o>>2]>>2]|0)!=0:0){EH(c[(c[o>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+38>>1]|0)*24|0)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[o>>2]|0)+38>>1]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0);r=ef(c[j>>2]|0,c[c[n>>2]>>2]|0)|0;c[c[n>>2]>>2]=r;c[(c[n>>2]|0)+16>>2]=0;c[(c[n>>2]|0)+12>>2]=0;c[(c[n>>2]|0)+4>>2]=0;c[(c[n>>2]|0)+8>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[o>>2]|0)+68>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2];c[(c[o>>2]|0)+48>>2]=c[(c[p>>2]|0)+48>>2];b[(c[o>>2]|0)+40>>1]=1;$o(c[g>>2]|0,0,c[l>>2]|0);c[q>>2]=Po(c[g>>2]|0)|0;if(!(c[q>>2]|0)){q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}Qo(c[g>>2]|0,c[l>>2]|0);q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}a[(c[j>>2]|0)+64>>0]=1;q=c[j>>2]|0;r=c[h>>2]|0;cn(q,r);i=s;return}function Ao(b,d){b=b|0;d=d|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;t=i;i=i+80|0;p=t+32|0;o=t+8|0;n=t;e=t+40|0;f=t+52|0;l=t+36|0;g=t+44|0;r=t+48|0;s=t+56|0;h=t+60|0;m=t+64|0;j=t+68|0;k=t+72|0;q=t+76|0;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[e>>2]|0)+484>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[l>>2]|0)){i=t;return}Ko(c[e>>2]|0);c[(c[e>>2]|0)+512>>2]=0;if((c[(c[l>>2]|0)+52>>2]|0)<1){i=t;return}if(!(a[(c[g>>2]|0)+140+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+496+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+496>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);q=c[g>>2]|0;c[n>>2]=(c[e>>2]|0)+496;c[r>>2]=tf(q,19245,n)|0;c[h>>2]=vf(c[g>>2]|0,c[(c[l>>2]|0)+68>>2]|0)|0;q=c[e>>2]|0;d=(c[h>>2]|0)==1?19269:19288;j=c[c[l>>2]>>2]|0;b=c[c[l>>2]>>2]|0;k=c[r>>2]|0;n=c[(c[e>>2]|0)+384>>2]|0;c[o>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[o+4>>2]=d;c[o+8>>2]=j;c[o+12>>2]=b;c[o+16>>2]=k;c[o+20>>2]=n;Oo(q,19302,o);Nd(c[g>>2]|0,c[r>>2]|0);c[m>>2]=Po(c[e>>2]|0)|0;Qo(c[e>>2]|0,c[h>>2]|0);Ro(c[m>>2]|0,142,0,0)|0;q=c[g>>2]|0;c[p>>2]=c[c[l>>2]>>2];c[s>>2]=tf(q,19390,p)|0;So(c[m>>2]|0,c[h>>2]|0,c[s>>2]|0);q=c[m>>2]|0;r=c[h>>2]|0;s=c[c[l>>2]>>2]|0;To(q,145,r,0,0,s,(Ed(c[c[l>>2]>>2]|0)|0)+1|0)|0;i=t;return}c[k>>2]=c[(c[l>>2]|0)+68>>2];c[q>>2]=c[c[l>>2]>>2];c[j>>2]=ch((c[k>>2]|0)+8|0,c[q>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){a[(c[g>>2]|0)+64>>0]=1;i=t;return}else{c[(c[e>>2]|0)+484>>2]=0;i=t;return}}function Bo(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0;p=i;i=i+32|0;j=p+4|0;k=p+16|0;r=p+8|0;l=p+20|0;q=p+28|0;n=p;o=p+12|0;m=p+24|0;c[j>>2]=b;c[k>>2]=e;c[r>>2]=f;c[l>>2]=g;c[q>>2]=h;un(c[j>>2]|0,c[k>>2]|0,c[r>>2]|0,0,0,1,c[q>>2]|0);c[o>>2]=c[(c[j>>2]|0)+484>>2];if(!(c[o>>2]|0)){i=p;return}c[m>>2]=c[c[j>>2]>>2];c[n>>2]=vf(c[m>>2]|0,c[(c[o>>2]|0)+68>>2]|0)|0;r=(c[o>>2]|0)+44|0;a[r>>0]=d[r>>0]|0|16;c[(c[o>>2]|0)+52>>2]=0;r=c[m>>2]|0;q=c[o>>2]|0;Lo(r,q,Ho(c[m>>2]|0,c[l>>2]|0)|0);Lo(c[m>>2]|0,c[o>>2]|0,0);q=c[m>>2]|0;r=c[o>>2]|0;Lo(q,r,ef(c[m>>2]|0,c[c[o>>2]>>2]|0)|0);c[(c[j>>2]|0)+496+4>>2]=(c[c[l>>2]>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)-(c[c[k>>2]>>2]|0);if(!(c[(c[o>>2]|0)+56>>2]|0)){i=p;return}Mo(c[j>>2]|0,29,c[c[o>>2]>>2]|0,c[c[(c[o>>2]|0)+56>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2]|0)|0;i=p;return}function Co(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ko(c[d>>2]|0);c[(c[d>>2]|0)+512>>2]=0;c[(c[d>>2]|0)+512+4>>2]=0;i=b;return}function Do(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+512;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Eo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;r=i;i=i+48|0;p=r;g=r+8|0;h=r+20|0;s=r+16|0;j=r+24|0;k=r+4|0;l=r+12|0;o=r+28|0;q=r+32|0;m=r+36|0;n=r+40|0;c[g>>2]=a;c[h>>2]=b;c[s>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[q>>2]=Ho(c[c[g>>2]>>2]|0,c[s>>2]|0)|0;a:do if((c[q>>2]|0)!=0&(c[h>>2]|0)!=0){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[h>>2]>>2]|0))break a;if(!($b(c[q>>2]|0,c[(c[h>>2]|0)+8+(c[m>>2]<<4)>>2]|0)|0)){s=c[g>>2]|0;c[p>>2]=c[q>>2];sf(s,19177,p)}c[m>>2]=(c[m>>2]|0)+1}}while(0);if(c[h>>2]|0){c[n>>2]=24+(c[c[h>>2]>>2]<<4);s=c[n>>2]|0;c[o>>2]=hm(c[l>>2]|0,c[h>>2]|0,s,((s|0)<0)<<31>>31)|0}else c[o>>2]=gf(c[l>>2]|0,24,0)|0;if(!(c[o>>2]|0)){$m(c[l>>2]|0,c[j>>2]|0);an(c[l>>2]|0,c[k>>2]|0);Nd(c[l>>2]|0,c[q>>2]|0);c[o>>2]=c[h>>2];s=c[o>>2]|0;i=r;return s|0}else{c[(c[o>>2]|0)+8+(c[c[o>>2]>>2]<<4)+8>>2]=c[k>>2];c[(c[o>>2]|0)+8+(c[c[o>>2]>>2]<<4)+4>>2]=c[j>>2];c[(c[o>>2]|0)+8+(c[c[o>>2]>>2]<<4)>>2]=c[q>>2];c[(c[o>>2]|0)+8+(c[c[o>>2]>>2]<<4)+12>>2]=0;s=c[o>>2]|0;c[s>>2]=(c[s>>2]|0)+1;s=c[o>>2]|0;i=r;return s|0}return 0}function Fo(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[8052+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[8664+(c[h>>2]<<1)>>1]|0}function Go(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];while(1){if((c[c[b>>2]>>2]|0)<0)break;gn(c[b>>2]|0)|0}c[(c[b>>2]|0)+8>>2]=c[d>>2];i=e;return}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Io(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Jo(c[f>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Io(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=DH(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=qf(b,d,C)|0;if(c[l>>2]|0){EH(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Jo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+12|0;e=j+8|0;h=j+16|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}a[h>>0]=a[c[e>>2]>>0]|0;switch(a[h>>0]|0){case 96:case 34:case 39:break;case 91:{a[h>>0]=93;break}default:{c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}}c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function Ko(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+512>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+484>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+512>>2];c[e>>2]=c[(c[b>>2]|0)+512+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+484>>2]|0;a=c[e>>2]|0;Lo(h,b,Io(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function Lo(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,l=0,m=0;l=i;i=i+32|0;e=l+8|0;f=l+16|0;g=l+20|0;j=l+24|0;m=l+4|0;h=l;k=l+12|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=(c[f>>2]|0)+52|0;d=c[b>>2]|0;c[b>>2]=d+1;c[j>>2]=d;c[m>>2]=1+(c[(c[f>>2]|0)+52>>2]|0)<<2;d=c[m>>2]|0;c[h>>2]=hm(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;k=c[h>>2]|0;m=c[f>>2]|0;m=m+56|0;c[m>>2]=k;i=l;return}c[k>>2]=0;while(1){a=c[e>>2]|0;if((c[k>>2]|0)>=(c[j>>2]|0))break;Nd(a,c[(c[(c[f>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}Nd(a,c[g>>2]|0);Nd(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);c[(c[f>>2]|0)+52>>2]=0;k=c[h>>2]|0;m=c[f>>2]|0;m=m+56|0;c[m>>2]=k;i=l;return}function Mo(a,b,e,f,g){a=a|0;b=b|0;e=e|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;r=i;i=i+48|0;q=r;h=r+24|0;j=r+20|0;k=r+8|0;l=r+16|0;m=r+4|0;n=r+12|0;o=r+28|0;p=r+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+140+5>>0]|0|0)==0?(d[(c[j>>2]|0)+451>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+284>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=pb[c[(c[o>>2]|0)+284>>2]&3](c[(c[o>>2]|0)+288>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+492>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;No(c[j>>2]|0)}}else{sf(c[j>>2]|0,19207,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function No(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;sf(c[d>>2]|0,19222,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function Oo(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;n=i;i=i+144|0;h=n+4|0;g=n+12|0;f=n+16|0;m=n+32|0;l=n;j=n+8|0;k=n+40|0;c[h>>2]=b;c[g>>2]=d;c[l>>2]=0;c[j>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+64>>2]|0){i=n;return}c[f>>2]=e;c[m>>2]=fn(c[j>>2]|0,c[g>>2]|0,f)|0;if(!(c[m>>2]|0)){i=n;return}b=(c[h>>2]|0)+18|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=k;f=(c[h>>2]|0)+440|0;g=b+96|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));b=(c[h>>2]|0)+440|0;g=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(g|0));Of(c[h>>2]|0,c[m>>2]|0,l)|0;Nd(c[j>>2]|0,c[l>>2]|0);Nd(c[j>>2]|0,c[m>>2]|0);b=(c[h>>2]|0)+440|0;f=k;g=b+96|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;i=n;return}function Po(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=uf(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)Yo(c[f>>2]|0,153)|0;if((c[(c[d>>2]|0)+408>>2]|0)==0?((e[(c[c[d>>2]>>2]|0)+60>>1]|0)&8|0)==0:0)a[(c[d>>2]|0)+23>>0]=1}i=g;return c[f>>2]|0}function Qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d+16|0;g=d+12|0;e=d+8|0;j=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=Wo(c[f>>2]|0)|0;c[j>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+8>>2];Ro(c[h>>2]|0,25,(c[c[(c[(c[j>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]>>2]|0)+1|0,c[e>>2]|0)|0;Uo(c[h>>2]|0,52,c[g>>2]|0,1,c[e>>2]|0)|0;Xo(c[f>>2]|0,c[e>>2]|0);i=d;return}function Ro(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Uo(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function So(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;g=i;i=i+32|0;e=g+16|0;k=g+12|0;h=g+8|0;f=g+4|0;j=g;c[e>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=Uo(c[e>>2]|0,122,c[k>>2]|0,0,0)|0;Df(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,-1);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;zf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function To(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|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,q=0,r=0;k=i;i=i+32|0;n=k+4|0;r=k+16|0;q=k+8|0;p=k+20|0;o=k+28|0;m=k;l=k+12|0;j=k+24|0;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=Uo(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Df(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function Uo(b,d,e,f,g){b=b|0;d=d|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+8|0;l=q+20|0;m=q+28|0;n=q;o=q+12|0;p=q+24|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+32>>2];if((c[(c[(c[j>>2]|0)+24>>2]|0)+84>>2]|0)<=(c[o>>2]|0)?(Vo(c[j>>2]|0,1)|0)!=0:0){c[h>>2]=1;p=c[h>>2]|0;i=q;return p|0}g=(c[j>>2]|0)+32|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];if(c[(c[f>>2]|0)+84>>2]|0)b=c[(c[f>>2]|0)+84>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=hm(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=((dm(c[c[f>>2]>>2]|0,c[g>>2]|0)|0)>>>0)/20|0;c[(c[f>>2]|0)+84>>2]=e;c[(c[d>>2]|0)+4>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function Wo(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+72|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+24+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function Xo(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+116;while(1){if((c[f>>2]|0)>=10){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+24+((j&255)<<2)>>2]=h;i=k;return}}function Yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Uo(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function Zo(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=vf(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=rf(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function _o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Ed(c[f>>2]|0)|0)>6?0==(Ib(c[f>>2]|0,19570,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];sf(b,19578,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function $o(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+408>>2]|0)f=c[f+408>>2]|0;c[k>>2]=f;ap(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+328|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+332>>2]&1<>2]|0)!=0|0){i=g;return}h=(c[f>>2]|0)+332|0;c[h>>2]=c[h>>2]|1<>2];c[(c[f>>2]|0)+336+(c[d>>2]<<2)>>2]=c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+12>>2]>>2];if((c[d>>2]|0)!=1){i=g;return}bp(c[f>>2]|0)|0;i=g;return}function bp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+450>>0]|0)==0:0){c[h>>2]=nh(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){sf(c[e>>2]|0,19500,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(ig(c[g>>2]|0,c[(c[f>>2]|0)+72>>2]|0,-1,0)|0)){a[(c[f>>2]|0)+64>>0]=1;c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function cp(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,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?($b(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=Zg((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function dp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;g=kp(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return g|0}function ep(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,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;g=m+20|0;l=m+24|0;j=m+4|0;k=m;h=m+12|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=Po(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}c[j>>2]=Wo(c[e>>2]|0)|0;c[k>>2]=Wo(c[e>>2]|0)|0;Uo(c[l>>2]|0,51,c[f>>2]|0,c[j>>2]|0,2)|0;zf(c[l>>2]|0,c[f>>2]|0);Ro(c[l>>2]|0,25,c[g>>2]|0,c[k>>2]|0)|0;c[h>>2]=Uo(c[l>>2]|0,83,c[k>>2]|0,0,c[j>>2]|0)|0;xf(c[l>>2]|0,-112);Uo(c[l>>2]|0,52,c[f>>2]|0,2,c[k>>2]|0)|0;jp(c[l>>2]|0,c[h>>2]|0);Xo(c[e>>2]|0,c[j>>2]|0);Xo(c[e>>2]|0,c[k>>2]|0);i=m;return}function fp(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,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+24|0;f=o+20|0;g=o+8|0;l=o+16|0;n=o+4|0;h=o+12|0;k=o+28|0;j=o+32|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=Po(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=vf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+68>>2]|0)|0;c[k>>2]=gp(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=vf(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;To(c[l>>2]|0,126,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}To(c[l>>2]|0,124,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=tf(d,19932,m)|0;if(!(c[n>>2]|0)){i=o;return}So(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=hp(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}So(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function gp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+8|0;m=l+16|0;f=l+20|0;e=l+24|0;h=l+4|0;g=l;j=l+12|0;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+438>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+68>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+68>>2]|0)?0==($b(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+64>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+64>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function hp(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;m=i;i=i+32|0;j=m;d=m+8|0;e=m+20|0;h=m+16|0;l=m+24|0;g=m+4|0;f=m+12|0;k=m+28|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+68>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=gp(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=ip(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=tf(h,19944,j)|0;Nd(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function ip(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,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=tf(a,19976,j)|0;Nd(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=tf(a,19968,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Bf(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);c[(c[(c[e>>2]|0)+24>>2]|0)+88>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;i=d;return}function kp(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,D=0,E=0;E=i;i=i+64|0;t=E;z=E+8|0;v=E+40|0;n=E+20|0;x=E+56|0;y=E+58|0;A=E+48|0;o=E+32|0;s=E+36|0;w=E+12|0;B=E+28|0;r=E+24|0;u=E+16|0;D=E+44|0;p=E+57|0;q=E+52|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=14425;c[D>>2]=0;if(!(c[n>>2]|0)){c[c[A>>2]>>2]=0;c[z>>2]=0;D=c[z>>2]|0;i=E;return D|0}while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if((l|0)!=158)break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==159)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==38){a[p>>0]=lp(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=kp(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){mp(c[c[A>>2]>>2]|0,a[p>>0]|0,1);np(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==157){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=19990}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==133|(c[s>>2]|0)==132){c[B>>2]=op(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=MH(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;Ye(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=tf(l,19992,t)|0;if(!(c[w>>2]|0)){n=43;break}Qf(c[B>>2]|0,-1,c[w>>2]|0,1,23)}if((c[s>>2]|0)==132|(c[s>>2]|0)==133?(d[y>>0]|0|0)==65:0)np(c[B>>2]|0,67,1);else np(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=am(c[B>>2]|0,d[x>>0]|0)|0;n=42}else n=42}else n=43}else{if((c[s>>2]|0)!=157){if((c[s>>2]|0)==101){c[B>>2]=op(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}else{n=42;break}}if((c[s>>2]|0)!=134){n=42;break}c[B>>2]=op(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Ed(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=qp(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;Xe(y,n,(c[q>>2]|0)/2|0,0,23)|0;n=42;break}w=0==(dp(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){pp(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-16896|8;break}else{v=n;v=AH(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);np(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=42}else n=42}while(0);if((n|0)==42){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==43){a[(c[v>>2]|0)+64>>0]=1;Nd(c[v>>2]|0,c[w>>2]|0);Rf(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function lp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+20|0;g=o+8|0;h=o+4|0;k=o+16|0;j=o+21|0;m=o+12|0;l=o;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;a[j>>0]=67;c[m>>2]=0;if(!(c[g>>2]|0)){a[f>>0]=a[j>>0]|0;n=a[f>>0]|0;i=o;return n|0}a:while(1){if(!(a[c[g>>2]>>0]|0))break;c[k>>2]=(c[k>>2]<<8)+(d[13848+(a[c[g>>2]>>0]&255)>>0]|0);c[g>>2]=(c[g>>2]|0)+1;if((c[k>>2]|0)==1667785074){a[j>>0]=66;c[m>>2]=c[g>>2];continue}if((c[k>>2]|0)==1668050786){a[j>>0]=66;continue}if((c[k>>2]|0)==1952807028){a[j>>0]=66;continue}do if((c[k>>2]|0)==1651273570){if((a[j>>0]|0)!=67?(a[j>>0]|0)!=69:0)break;a[j>>0]=65;if((a[c[g>>2]>>0]|0)!=40)continue a;c[m>>2]=c[g>>2];continue a}while(0);if((c[k>>2]|0)==1919246700?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]|0)==1718382433?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]|0)==1685026146?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]&16777215|0)==6909556){n=25;break}}if((n|0)==25)a[j>>0]=68;b:do if((c[h>>2]|0)!=0?(a[c[h>>2]>>0]=1,(a[j>>0]|0)<67):0){if(!(c[m>>2]|0)){a[c[h>>2]>>0]=5;break}while(1){if(!(a[c[m>>2]>>0]|0))break b;if(d[14426+(d[c[m>>2]>>0]|0)>>0]&4)break;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=0;wg(c[m>>2]|0,l)|0;n=((c[l>>2]|0)/4|0)+1|0;c[l>>2]=n;c[l>>2]=(c[l>>2]|0)>255?255:n;a[c[h>>2]>>0]=c[l>>2]}while(0);a[f>>0]=a[j>>0]|0;n=a[f>>0]|0;i=o;return n|0}function mp(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if(!((e[(c[k>>2]|0)+8>>1]|0)&16)){np(j,66,a[l>>0]|0);b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-16896|16;i=m;return}else{l=j+8|0;b[l>>1]=(e[l>>1]|0)&-496;i=m;return}}case 67:{pp(c[k>>2]|0)|0;i=m;return}case 68:{wp(c[k>>2]|0)|0;i=m;return}case 69:{xp(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;np(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function np(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;tp(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function op(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Pf(c[e>>2]|0)|0;i=d;return b|0}function pp(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(sg(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-16896|4;break}else{k=+Se(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|8;rp(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=g;return 0}function qp(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;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=qf(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((rg(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(rg(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function rp(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=sp(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-16896|4;i=g;return}function sp(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function tp(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+5|0;h=k+4|0;c[j>>2]=b;a[g>>0]=d;a[h>>0]=f;if((a[g>>0]|0)<67){if((a[g>>0]|0)!=66){i=k;return}if(e[(c[j>>2]|0)+8>>1]&2){i=k;return}if(!(e[(c[j>>2]|0)+8>>1]&12)){i=k;return}up(c[j>>2]|0,a[h>>0]|0,1)|0;i=k;return}if(e[(c[j>>2]|0)+8>>1]&4){i=k;return}g=c[j>>2]|0;if(e[(c[j>>2]|0)+8>>1]&8){rp(g);i=k;return}if(!(e[g+8>>1]&2)){i=k;return}pf(c[j>>2]|0,1);i=k;return}function up(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;p=r+8|0;k=r+20|0;l=r+16|0;m=r+32|0;n=r+33|0;o=r+24|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+28>>2]=32;if(vp(c[l>>2]|0,32)|0){c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}g=c[(c[l>>2]|0)+16>>2]|0;j=c[l>>2]|0;if(c[o>>2]&4){f=j;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Yb(32,g,17289,p)|0}else{h[q>>3]=+h[j>>3];Yb(32,g,19997,q)|0}q=Ed(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}am(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function vp(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=fm(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function wp(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=Te(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|4;i=d;return 0}function xp(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+Se(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-16896|8;i=d;return 0}function yp(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+8|0;f=n+16|0;g=n+20|0;k=n+24|0;h=n+4|0;j=n;l=n+12|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?($b(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=Zg((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function zp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+140+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Ib(c[h>>2]|0,19570,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];sf(e,22252,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Ap(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;t=i;i=i+48|0;r=t;h=t+16|0;j=t+28|0;k=t+4|0;q=t+32|0;p=t+36|0;o=t+12|0;n=t+24|0;l=t+20|0;s=t+8|0;m=t+40|0;c[j>>2]=f;c[k>>2]=g;c[o>>2]=0;c[l>>2]=c[c[j>>2]>>2];if(Gp(c[j>>2]|0,c[k>>2]|0)|0){c[h>>2]=1;s=c[h>>2]|0;i=t;return s|0}if(d[(c[k>>2]|0)+44>>0]&16){c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if((b[(c[k>>2]|0)+38>>1]|0)>0){c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if((b[(c[k>>2]|0)+38>>1]|0)<0){s=c[j>>2]|0;c[r>>2]=c[c[k>>2]>>2];sf(s,20709,r);c[h>>2]=1;s=c[h>>2]|0;i=t;return s|0}c[p>>2]=Hp(c[l>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(c[p>>2]|0){a[m>>0]=a[(c[l>>2]|0)+248+2>>0]|0;c[n>>2]=c[(c[j>>2]|0)+68>>2];Ip(c[j>>2]|0,c[(c[p>>2]|0)+32>>2]|0);b[(c[k>>2]|0)+38>>1]=-1;a[(c[l>>2]|0)+248+2>>0]=0;c[s>>2]=c[(c[l>>2]|0)+284>>2];c[(c[l>>2]|0)+284>>2]=0;c[q>>2]=Jp(c[j>>2]|0,c[p>>2]|0)|0;c[(c[l>>2]|0)+284>>2]=c[s>>2];a[(c[l>>2]|0)+248+2>>0]=a[m>>0]|0;c[(c[j>>2]|0)+68>>2]=c[n>>2];if(c[q>>2]|0){b[(c[k>>2]|0)+38>>1]=b[(c[q>>2]|0)+38>>1]|0;c[(c[k>>2]|0)+4>>2]=c[(c[q>>2]|0)+4>>2];b[(c[q>>2]|0)+38>>1]=0;c[(c[q>>2]|0)+4>>2]=0;Ld(c[l>>2]|0,c[q>>2]|0);s=(c[(c[k>>2]|0)+68>>2]|0)+78|0;b[s>>1]=e[s>>1]|2}else{b[(c[k>>2]|0)+38>>1]=0;c[o>>2]=(c[o>>2]|0)+1}an(c[l>>2]|0,c[p>>2]|0)}else c[o>>2]=(c[o>>2]|0)+1;c[h>>2]=c[o>>2];s=c[h>>2]|0;i=t;return s|0}function Bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Cp(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Dp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Fp(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=ip(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Fp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg((c[(c[d>>2]|0)+68>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Gp(a,b){a=a|0;b=b|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;q=i;i=i+48|0;m=q;l=q+8|0;e=q+24|0;f=q+28|0;g=q+16|0;h=q+12|0;o=q+20|0;j=q+32|0;k=q+36|0;p=q+40|0;n=q+44|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+44>>0]|0)&16|0)!=0?(Bp(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[j>>2]=Zg((c[h>>2]|0)+308|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=lr(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];sf(p,14418,m)}Nd(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];sf(o,22142,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function Hp(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;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if(!(c[k>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=qf(c[j>>2]|0,72,0)|0;if(!(c[m>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}f=uq(c[j>>2]|0,c[c[k>>2]>>2]|0,c[l>>2]|0)|0;c[c[m>>2]>>2]=f;f=ir(c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+32>>2]=f;f=mq(c[j>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=f;f=uq(c[j>>2]|0,c[(c[k>>2]|0)+40>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+40>>2]=f;f=mq(c[j>>2]|0,c[(c[k>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=f;f=uq(c[j>>2]|0,c[(c[k>>2]|0)+48>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+48>>2]=f;a[(c[m>>2]|0)+4>>0]=a[(c[k>>2]|0)+4>>0]|0;f=Hp(c[j>>2]|0,c[(c[k>>2]|0)+52>>2]|0,c[l>>2]|0)|0;c[n>>2]=f;c[(c[m>>2]|0)+52>>2]=f;if(c[n>>2]|0)c[(c[n>>2]|0)+56>>2]=c[m>>2];c[(c[m>>2]|0)+56>>2]=0;g=mq(c[j>>2]|0,c[(c[k>>2]|0)+60>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+60>>2]=g;g=mq(c[j>>2]|0,c[(c[k>>2]|0)+64>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+64>>2]=g;c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;b[(c[m>>2]|0)+6>>1]=(e[(c[k>>2]|0)+6>>1]|0)&-9;c[(c[m>>2]|0)+16>>2]=-1;c[(c[m>>2]|0)+16+4>>2]=-1;g=(c[k>>2]|0)+24|0;f=c[g+4>>2]|0;n=(c[m>>2]|0)+24|0;c[n>>2]=c[g>>2];c[n+4>>2]=f;n=jr(c[j>>2]|0,c[(c[k>>2]|0)+68>>2]|0)|0;c[(c[m>>2]|0)+68>>2]=n;c[h>>2]=c[m>>2];n=c[h>>2]|0;i=o;return n|0}function Ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+40>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+68|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+40>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)Ip(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+32>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function Jp(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-33;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Kp(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+64>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+52>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+52>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=gf(c[j>>2]|0,76,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+40>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+28>>1]=200;Lp(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+38|0,(c[k>>2]|0)+4|0)|0;Mp(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+36>>1]=-1;if(a[(c[j>>2]|0)+64>>0]|0){Ld(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function Kp(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(!(c[j>>2]|0)){i=m;return}c[l>>2]=c[c[h>>2]>>2];if(a[(c[l>>2]|0)+64>>0]|0){i=m;return}if(e[(c[j>>2]|0)+6>>1]&32){i=m;return}Wp(c[h>>2]|0,c[j>>2]|0);if(c[(c[h>>2]|0)+64>>2]|0){i=m;return}if(d[(c[l>>2]|0)+64>>0]|0){i=m;return}Xp(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);if(c[(c[h>>2]|0)+64>>2]|0){i=m;return}if(d[(c[l>>2]|0)+64>>0]|0){i=m;return}Yp(c[h>>2]|0,c[j>>2]|0);i=m;return}function Lp(e,f,g,h){e=e|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,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;H=i;i=i+112|0;w=H;v=H+8|0;u=H+24|0;t=H+16|0;A=H+32|0;I=H+44|0;j=H+36|0;B=H+72|0;C=H+52|0;E=H+40|0;F=H+48|0;G=H+28|0;k=H+56|0;D=H+60|0;q=H+64|0;n=H+68|0;p=H+76|0;x=H+80|0;o=H+84|0;r=H+88|0;s=H+92|0;l=H+96|0;y=H+100|0;m=H+104|0;c[I>>2]=e;c[j>>2]=f;c[B>>2]=g;c[C>>2]=h;c[E>>2]=c[c[I>>2]>>2];if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[D>>2]=gf(c[E>>2]|0,(c[n>>2]|0)*24|0,0)|0}else{c[n>>2]=0;c[D>>2]=0}b[c[B>>2]>>1]=c[n>>2];c[c[C>>2]>>2]=c[D>>2];c[F>>2]=0;c[q>>2]=c[D>>2];while(1){if((c[F>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=Vp(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)>>2]|0)|0;I=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)+4>>2]|0;c[x>>2]=I;do if(!I){c[r>>2]=c[p>>2];while(1){e=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[e+16>>2]}if((d[e>>0]|0)==154?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[l>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[l>>2]|0)<0)c[l>>2]=b[(c[s>>2]|0)+36>>1];e=c[E>>2]|0;if((c[l>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2]|0;else f=18143;c[t>>2]=f;c[x>>2]=tf(e,14418,t)|0;break}e=c[E>>2]|0;if((d[c[r>>2]>>0]|0)==27){c[u>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=tf(e,14418,u)|0;break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)+8>>2];c[x>>2]=tf(e,14418,v)|0;break}}else c[x>>2]=ef(c[E>>2]|0,c[x>>2]|0)|0;while(0);if(a[(c[E>>2]|0)+64>>0]|0){z=22;break}c[o>>2]=Ed(c[x>>2]|0)|0;c[k>>2]=0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[F>>2]|0))break;if(!($b(c[(c[D>>2]|0)+((c[G>>2]|0)*24|0)>>2]|0,c[x>>2]|0)|0)){c[m>>2]=(c[o>>2]|0)-1;while(1){if((c[m>>2]|0)<=1)break;if(!(d[14426+(d[(c[x>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&4))break;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>=0?(a[(c[x>>2]|0)+(c[m>>2]|0)>>0]|0)==58:0)c[o>>2]=c[m>>2];a[(c[x>>2]|0)+(c[o>>2]|0)>>0]=0;I=c[E>>2]|0;h=c[x>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[w>>2]=h;c[w+4>>2]=g;c[y>>2]=tf(I,20781,w)|0;Nd(c[E>>2]|0,c[x>>2]|0);c[x>>2]=c[y>>2];c[G>>2]=-1;if(!(c[x>>2]|0))break}c[G>>2]=(c[G>>2]|0)+1}c[c[q>>2]>>2]=c[x>>2];c[F>>2]=(c[F>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+24}if((z|0)==22)Nd(c[E>>2]|0,c[x>>2]|0);if(!(a[(c[E>>2]|0)+64>>0]|0)){c[A>>2]=0;I=c[A>>2]|0;i=H;return I|0}c[G>>2]=0;while(1){e=c[E>>2]|0;if((c[G>>2]|0)>=(c[F>>2]|0))break;Nd(e,c[(c[D>>2]|0)+((c[G>>2]|0)*24|0)>>2]|0);c[G>>2]=(c[G>>2]|0)+1}Nd(e,c[D>>2]|0);c[c[C>>2]>>2]=0;b[c[B>>2]>>1]=0;c[A>>2]=7;I=c[A>>2]|0;i=H;return I|0}function Mp(e,f,g){e=e|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;t=i;i=i+80|0;h=t+8|0;j=t+12|0;k=t+24|0;m=t+20|0;r=t+32|0;p=t+76|0;q=t+16|0;n=t+64|0;o=t+68|0;l=t+72|0;s=t;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=s;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+64>>0]|0){i=t;return};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r+4>>2]=c[(c[k>>2]|0)+32>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[p>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;c[o>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];g=c[m>>2]|0;g=ef(g,Np(r,c[o>>2]|0,(c[p>>2]|0)+22|0)|0)|0;c[(c[p>>2]|0)+12>>2]=g;g=s;g=DH(c[g>>2]|0,c[g+4>>2]|0,d[(c[p>>2]|0)+22>>0]|0,0)|0;f=s;c[f>>2]=g;c[f+4>>2]=C;f=Op(c[o>>2]|0)|0;a[(c[p>>2]|0)+21>>0]=f;if(!(a[(c[p>>2]|0)+21>>0]|0))a[(c[p>>2]|0)+21>>0]=65;c[q>>2]=Pp(c[h>>2]|0,c[o>>2]|0)|0;if(c[q>>2]|0){f=ef(c[m>>2]|0,c[c[q>>2]>>2]|0)|0;c[(c[p>>2]|0)+16>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+24}s=MH(c[s>>2]|0,c[s+4>>2]|0,4,0)|0;s=Qp(s,C)|0;b[(c[j>>2]|0)+42>>1]=s;i=t;return}function Np(e,f,g){e=e|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;y=i;i=i+128|0;h=y+4|0;j=y+48|0;k=y+100|0;l=y+92|0;x=y+88|0;o=y+96|0;m=y+116|0;t=y+108|0;r=y+112|0;n=y+52|0;u=y+12|0;v=y+56|0;p=y;w=y+16|0;s=y+8|0;q=y+104|0;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[x>>2]=0;a[m>>0]=1;if((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]|0)!=0:0){a:do switch(d[c[k>>2]>>0]|0){case 154:case 156:{c[t>>2]=0;c[r>>2]=0;c[n>>2]=b[(c[k>>2]|0)+32>>1];while(1){if(!(c[j>>2]|0))break;if(!((c[t>>2]|0)!=0^1))break;c[u>>2]=c[(c[j>>2]|0)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[u>>2]>>2]|0))break;if((c[(c[u>>2]|0)+8+((c[o>>2]|0)*72|0)+40>>2]|0)==(c[(c[k>>2]|0)+28>>2]|0))break;c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)<(c[c[u>>2]>>2]|0)){c[t>>2]=c[(c[u>>2]|0)+8+((c[o>>2]|0)*72|0)+16>>2];c[r>>2]=c[(c[u>>2]|0)+8+((c[o>>2]|0)*72|0)+20>>2];continue}else{c[j>>2]=c[(c[j>>2]|0)+16>>2];continue}}if(c[t>>2]|0){if(c[r>>2]|0){if((c[n>>2]|0)<0)break a;if((c[n>>2]|0)>=(c[c[c[r>>2]>>2]>>2]|0))break a;c[p>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];c[v+4>>2]=c[(c[r>>2]|0)+32>>2];c[v+16>>2]=c[j>>2];c[v>>2]=c[c[j>>2]>>2];c[x>>2]=Np(v,c[p>>2]|0,m)|0;break a}if(c[(c[t>>2]|0)+68>>2]|0){if((c[n>>2]|0)<0)c[n>>2]=b[(c[t>>2]|0)+36>>1];if((c[n>>2]|0)<0){c[x>>2]=20773;break a}else{c[x>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)+12>>2];a[m>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)+22>>0]|0;break a}}}break}case 119:{c[s>>2]=c[(c[k>>2]|0)+20>>2];c[q>>2]=c[c[(c[c[s>>2]>>2]|0)+4>>2]>>2];c[w+4>>2]=c[(c[s>>2]|0)+32>>2];c[w+16>>2]=c[j>>2];c[w>>2]=c[c[j>>2]>>2];c[x>>2]=Np(w,c[q>>2]|0,m)|0;break}default:{}}while(0);if(c[l>>2]|0)a[c[l>>2]>>0]=a[m>>0]|0;c[h>>2]=c[x>>2];x=c[h>>2]|0;i=y;return x|0}c[h>>2]=0;x=c[h>>2]|0;i=y;return x|0}function Op(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[g>>2]=e;c[g>>2]=Vp(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;e=a[f>>0]|0;i=k;return e|0}c[j>>2]=d[c[g>>2]>>0];if((c[j>>2]|0)==119){a[f>>0]=Op(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==38){a[f>>0]=lp(c[(c[g>>2]|0)+8>>2]|0,0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==156|(c[j>>2]|0)==154|(c[j>>2]|0)==159?(c[(c[g>>2]|0)+44>>2]|0)!=0:0){c[h>>2]=b[(c[g>>2]|0)+32>>1];if((c[h>>2]|0)<0){a[f>>0]=68;e=a[f>>0]|0;i=k;return e|0}else{a[f>>0]=a[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+21>>0]|0;e=a[f>>0]|0;i=k;return e|0}}a[f>>0]=a[(c[g>>2]|0)+1>>0]|0;e=a[f>>0]|0;i=k;return e|0}function Pp(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;p=i;i=i+32|0;g=p+4|0;q=p+16|0;h=p+8|0;m=p+20|0;l=p+28|0;k=p;j=p+12|0;n=p+24|0;c[g>>2]=e;c[q>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[m>>2]=0;c[l>>2]=c[q>>2];while(1){if(!(c[l>>2]|0))break;c[k>>2]=d[c[l>>2]>>0];if(c[(c[l>>2]|0)+4>>2]&512)break;if((c[k>>2]|0)==38|(c[k>>2]|0)==158){c[l>>2]=c[(c[l>>2]|0)+12>>2];continue}if((c[k>>2]|0)==95){o=9;break}if((c[k>>2]|0)==159?(d[(c[l>>2]|0)+38>>0]|0)==95:0){o=9;break}if((c[(c[l>>2]|0)+44>>2]|0)!=0?(c[k>>2]|0)==156|(c[k>>2]|0)==154|(c[k>>2]|0)==159|(c[k>>2]|0)==62:0){o=12;break}if(!(c[(c[l>>2]|0)+4>>2]&256))break;if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[l>>2]=c[(c[l>>2]|0)+12>>2];continue}c[l>>2]=c[(c[l>>2]|0)+16>>2]}if((o|0)==9)c[m>>2]=Rp(c[g>>2]|0,a[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,0,c[(c[l>>2]|0)+8>>2]|0)|0;else if((o|0)==12?(c[j>>2]=b[(c[l>>2]|0)+32>>1],(c[j>>2]|0)>=0):0){c[n>>2]=c[(c[(c[(c[l>>2]|0)+44>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0)+16>>2];c[m>>2]=Xg(c[h>>2]|0,a[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[n>>2]|0,0)|0}if(!(Sp(c[g>>2]|0,c[m>>2]|0)|0)){q=c[m>>2]|0;i=p;return q|0}c[m>>2]=0;q=c[m>>2]|0;i=p;return q|0}function Qp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=CH(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=GH(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=GH(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[11658+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Rp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+12|0;j=o+24|0;p=o+20|0;k=o+4|0;m=o+16|0;l=o+8|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Xg(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){Tp(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Xg(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(Up(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];sf(p,20739,n);p=c[m>>2]|0;i=o;return p|0}function Sp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=Rp(c[f>>2]|0,a[(c[(c[(c[h>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Tp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+220>>2]|0){c[l>>2]=ef(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){xb[c[(c[g>>2]|0)+220>>2]&3](c[(c[g>>2]|0)+228>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Nd(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+224>>2]|0)){i=n;return}c[k>>2]=Pf(c[g>>2]|0)|0;Qf(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Qe(c[k>>2]|0,((a[920]|0)==0?3:2)&255)|0;if(c[m>>2]|0)xb[c[(c[g>>2]|0)+224>>2]&3](c[(c[g>>2]|0)+228>>2]|0,c[g>>2]|0,d[(c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[m>>2]|0);Rf(c[k>>2]|0);i=n;return}function Up(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Xg(c[e>>2]|0,a[20770+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function Vp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function Wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+28|0;e=g+24|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=41;c[f+12>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+4>>2]=42;$p(f,c[e>>2]|0)|0}c[f+4>>2]=43;c[f+8>>2]=3;$p(f,c[e>>2]|0)|0;i=g;return}function Xp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+32|0;f=e+28|0;h=e+24|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=44;c[g+4>>2]=45;c[g+12>>2]=c[j>>2];c[g+20>>2]=c[h>>2];$p(g,c[f>>2]|0)|0;i=e;return}function Yp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+28|0;e=d+24|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+8>>2]=4;c[f>>2]=41;c[f+12>>2]=c[g>>2];$p(f,c[e>>2]|0)|0;i=d;return}function Zp(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+4|0;h=p+16|0;l=p+8|0;j=p+20|0;o=p+28|0;k=p;n=p+12|0;m=p+24|0;c[g>>2]=a;c[h>>2]=f;if((e[(c[h>>2]|0)+6>>1]|0)&32){i=p;return}a=(c[h>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|32;c[l>>2]=c[(c[g>>2]|0)+12>>2];c[o>>2]=c[(c[h>>2]|0)+32>>2];c[j>>2]=0;c[k>>2]=(c[o>>2]|0)+8;while(1){if((c[j>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[n>>2]=c[(c[k>>2]|0)+16>>2];if(((c[n>>2]|0)!=0?((d[(c[n>>2]|0)+44>>0]|0)&2|0)!=0:0)?(c[m>>2]=c[(c[k>>2]|0)+20>>2],(c[m>>2]|0)!=0):0){while(1){if(!(c[(c[m>>2]|0)+52>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+52>>2]}Mp(c[l>>2]|0,c[n>>2]|0,c[m>>2]|0)}c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+72}i=p;return}function _p(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+4>>2]|0)==0?(c[(c[f>>2]|0)+8>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+4>>2]|0)!=0?(c[g>>2]=vb[c[(c[f>>2]|0)+4>>2]&63](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(aq(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(bq(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+8>>2]|0)ob[c[(c[f>>2]|0)+8>>2]&7](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+52>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function aq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(cq(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(dq(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(cq(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(dq(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(cq(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0)|0){c[d>>2]=2;break}if(dq(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}if(dq(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[k>>2]=b;c[h>>2]=c[(c[k>>2]|0)+32>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if($p(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)break;c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}c[d>>2]=2;k=c[d>>2]|0;i=j;return k|0}while(0);c[d>>2]=0;k=c[d>>2]|0;i=j;return k|0}function cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(dq(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function dq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;a:do if(!(c[f>>2]|0))c[e>>2]=0;else{c[g>>2]=vb[c[c[d>>2]>>2]&63](c[d>>2]|0,c[f>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&16384|0)==0:0){if(dq(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0){c[e>>2]=2;break a}if(dq(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){c[e>>2]=2;break a}b=c[d>>2]|0;d=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(!($p(b,c[d>>2]|0)|0))break;c[e>>2]=2;break a}else{if(!(cq(b,c[d>>2]|0)|0))break;c[e>>2]=2;break a}}while(0);c[e>>2]=c[g>>2]&2}while(0);i=h;return c[e>>2]|0}function eq(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;J=i;i=i+128|0;C=J+16|0;E=J+8|0;D=J+32|0;B=J;A=J+24|0;I=J+48|0;n=J+40|0;o=J+84|0;x=J+60|0;z=J+56|0;k=J+52|0;m=J+44|0;l=J+112|0;j=J+68|0;w=J+72|0;s=J+80|0;u=J+76|0;F=J+88|0;r=J+92|0;p=J+96|0;t=J+100|0;G=J+104|0;v=J+108|0;q=J+120|0;y=J+64|0;h=J+116|0;c[n>>2]=f;c[o>>2]=g;c[x>>2]=c[(c[n>>2]|0)+20>>2];c[z>>2]=c[c[x>>2]>>2];if(c[(c[o>>2]|0)+4>>2]&4){c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[o>>2]>>0]|0){case 27:{c[I>>2]=Cq(c[z>>2]|0,0,0,c[(c[o>>2]|0)+8>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 122:{c[j>>2]=c[(c[o>>2]|0)+16>>2];if((d[c[j>>2]>>0]|0)==27){c[l>>2]=0;c[m>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2]}else{c[l>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2]}c[I>>2]=Cq(c[z>>2]|0,c[l>>2]|0,c[m>>2]|0,c[k>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 153:{c[w>>2]=c[(c[o>>2]|0)+20>>2];if(c[w>>2]|0)h=c[c[w>>2]>>2]|0;else h=0;c[s>>2]=h;c[u>>2]=0;c[F>>2]=0;c[r>>2]=0;a[q>>0]=a[(c[(c[(c[c[z>>2]>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;Dq(c[z>>2]|0,c[x>>2]|0,21132);c[G>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=Ed(c[G>>2]|0)|0;c[v>>2]=Zf(c[c[z>>2]>>2]|0,c[G>>2]|0,c[t>>2]|0,c[s>>2]|0,a[q>>0]|0,0)|0;do if(!(c[v>>2]|0)){c[v>>2]=Zf(c[c[z>>2]>>2]|0,c[G>>2]|0,c[t>>2]|0,-2,a[q>>0]|0,0)|0;if(!(c[v>>2]|0)){c[u>>2]=1;break}else{c[F>>2]=1;break}}else{c[r>>2]=(c[(c[v>>2]|0)+12>>2]|0)==0&1;do if(e[(c[v>>2]|0)+2>>1]&1024){q=(c[o>>2]|0)+4|0;c[q>>2]=c[q>>2]|266240;if((c[s>>2]|0)!=2){c[(c[o>>2]|0)+28>>2]=(a[c[(c[v>>2]|0)+24>>2]>>0]|0)==117?62:938;break}s=Eq(c[(c[(c[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=s;if((c[(c[o>>2]|0)+28>>2]|0)<0){sf(c[z>>2]|0,21142,A);A=(c[x>>2]|0)+24|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[p>>2]=Mo(c[z>>2]|0,31,0,c[(c[v>>2]|0)+24>>2]|0,0)|0;if(!(c[p>>2]|0)){if(!(e[(c[v>>2]|0)+2>>1]&2048))break;B=(c[o>>2]|0)+4|0;c[B>>2]=c[B>>2]|524288;break}if((c[p>>2]|0)==1){H=c[z>>2]|0;c[B>>2]=c[(c[v>>2]|0)+24>>2];sf(H,21213,B);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}a[c[o>>2]>>0]=101;c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}while(0);if((c[r>>2]|0)!=0?(e[(c[x>>2]|0)+28>>1]&1|0)==0:0){F=c[z>>2]|0;G=c[G>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=G;sf(F,21248,D);G=(c[x>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[r>>2]=0}else H=29;do if((H|0)==29){if((c[u>>2]|0)!=0?(d[(c[c[z>>2]>>2]|0)+140+5>>0]|0)==0:0){H=c[z>>2]|0;G=c[G>>2]|0;c[E>>2]=c[t>>2];c[E+4>>2]=G;sf(H,21284,E);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1;break}if(c[F>>2]|0){H=c[z>>2]|0;G=c[G>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=G;sf(H,21307,C);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[r>>2]|0){H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]&-2}cq(c[n>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[y>>2]=c[x>>2];a[c[o>>2]>>0]=-101;a[(c[o>>2]|0)+38>>0]=0;while(1){if(!(c[y>>2]|0))break;if(!((Fq(c[o>>2]|0,c[(c[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(c[o>>2]|0)+38|0;a[H>>0]=(a[H>>0]|0)+1<<24>>24;c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[y>>2]|0){H=(c[y>>2]|0)+28|0;b[H>>1]=e[H>>1]|(2|e[(c[v>>2]|0)+2>>1]&4096)}H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|1}c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}case 75:case 20:case 119:{if((c[(c[o>>2]|0)+4>>2]&2048|0)!=0?(c[h>>2]=c[(c[x>>2]|0)+20>>2],Gq(c[z>>2]|0,c[x>>2]|0,21352),Dq(c[z>>2]|0,c[x>>2]|0,21352),$p(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0,(c[h>>2]|0)!=(c[(c[x>>2]|0)+20>>2]|0)):0){H=(c[o>>2]|0)+4|0;c[H>>2]=c[H>>2]|32}break}case 135:{Gq(c[z>>2]|0,c[x>>2]|0,21363);Dq(c[z>>2]|0,c[x>>2]|0,21363);break}default:{}}if(c[(c[z>>2]|0)+64>>2]|0)h=1;else h=(d[(c[c[z>>2]>>2]|0)+64>>0]|0)!=0;c[I>>2]=h?2:0;I=c[I>>2]|0;i=J;return I|0}function fq(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;D=i;i=i+128|0;B=D+8|0;A=D;C=D+16|0;h=D+80|0;j=D+20|0;t=D+12|0;v=D+24|0;x=D+60|0;m=D+56|0;z=D+64|0;o=D+68|0;l=D+72|0;p=D+76|0;y=D+84|0;k=D+88|0;q=D+92|0;s=D+96|0;n=D+100|0;w=D+104|0;u=D+108|0;r=D+112|0;c[h>>2]=f;c[j>>2]=g;if(e[(c[j>>2]|0)+6>>1]&2){c[C>>2]=1;C=c[C>>2]|0;i=D;return C|0}c[t>>2]=c[(c[h>>2]|0)+20>>2];c[z>>2]=c[(c[h>>2]|0)+12>>2];c[k>>2]=c[c[z>>2]>>2];if(!(e[(c[j>>2]|0)+6>>1]&16)){Kp(c[z>>2]|0,c[j>>2]|0,c[t>>2]|0);if(c[(c[z>>2]|0)+64>>2]|0)h=1;else h=(d[(c[k>>2]|0)+64>>0]|0)!=0;c[C>>2]=h?2:1;C=c[C>>2]|0;i=D;return C|0}c[x>>2]=(c[(c[j>>2]|0)+52>>2]|0)!=0&1;c[m>>2]=0;c[y>>2]=c[j>>2];a:while(1){if(!(c[j>>2]|0)){h=58;break}f=(c[j>>2]|0)+6|0;b[f>>1]=e[f>>1]|2;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[z>>2];if(gq(v,c[(c[j>>2]|0)+60>>2]|0)|0){h=11;break}if(gq(v,c[(c[j>>2]|0)+64>>2]|0)|0){h=11;break}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[(c[j>>2]|0)+32>>2]>>2]|0))break;c[q>>2]=(c[(c[j>>2]|0)+32>>2]|0)+8+((c[l>>2]|0)*72|0);if(c[(c[q>>2]|0)+20>>2]|0){c[n>>2]=0;c[w>>2]=c[(c[z>>2]|0)+492>>2];c[s>>2]=c[t>>2];while(1){if(!(c[s>>2]|0))break;c[n>>2]=(c[n>>2]|0)+(c[(c[s>>2]|0)+20>>2]|0);c[s>>2]=c[(c[s>>2]|0)+16>>2]}if(c[(c[q>>2]|0)+8>>2]|0)c[(c[z>>2]|0)+492>>2]=c[(c[q>>2]|0)+8>>2];Xp(c[z>>2]|0,c[(c[q>>2]|0)+20>>2]|0,c[t>>2]|0);c[(c[z>>2]|0)+492>>2]=c[w>>2];if(c[(c[z>>2]|0)+64>>2]|0){h=22;break a}if(d[(c[k>>2]|0)+64>>0]|0){h=22;break a}c[s>>2]=c[t>>2];while(1){if(!(c[s>>2]|0))break;c[n>>2]=(c[n>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0);c[s>>2]=c[(c[s>>2]|0)+16>>2]}f=(c[q>>2]|0)+37|0;a[f>>0]=a[f>>0]&-3|((c[n>>2]|0)!=0&1)<<1&255}c[l>>2]=(c[l>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[j>>2]|0)+32>>2];c[v+16>>2]=c[t>>2];c[o>>2]=c[c[j>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[o>>2]>>2]|0))break;c[u>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2];if(gq(v,c[u>>2]|0)|0){h=31;break a}c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=c[(c[j>>2]|0)+40>>2];if((c[p>>2]|0)==0?(e[v+28>>1]&2|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[j>>2]|0)+6|0;b[f>>1]=e[f>>1]|(4|e[v+28>>1]&4096)}if(!((c[p>>2]|0)!=0?1:(c[(c[j>>2]|0)+44>>2]|0)==0)){h=38;break}c[v+8>>2]=c[c[j>>2]>>2];if(gq(v,c[(c[j>>2]|0)+44>>2]|0)|0){h=40;break}if(gq(v,c[(c[j>>2]|0)+36>>2]|0)|0){h=42;break}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if((c[x>>2]|0)==0?(hq(v,c[j>>2]|0,c[(c[j>>2]|0)+48>>2]|0,20831)|0)!=0:0){h=45;break}if(a[(c[k>>2]|0)+64>>0]|0){h=47;break}b:do if(c[p>>2]|0){if(hq(v,c[j>>2]|0,c[p>>2]|0,20837)|0){h=51;break a}if(d[(c[k>>2]|0)+64>>0]|0){h=51;break a}c[l>>2]=0;c[r>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[l>>2]|0)>=(c[c[p>>2]>>2]|0))break b;if(c[(c[c[r>>2]>>2]|0)+4>>2]&2){h=55;break a}c[l>>2]=(c[l>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}}while(0);c[j>>2]=c[(c[j>>2]|0)+52>>2];c[m>>2]=(c[m>>2]|0)+1}switch(h|0){case 11:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 22:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 31:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 38:{sf(c[z>>2]|0,20787,A);c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 40:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 42:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 45:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 47:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 51:{c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 55:{sf(c[z>>2]|0,20843,B);c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}case 58:{if((c[x>>2]|0)!=0?(iq(c[z>>2]|0,c[y>>2]|0)|0)!=0:0){c[C>>2]=2;C=c[C>>2]|0;i=D;return C|0}c[C>>2]=1;C=c[C>>2]|0;i=D;return C|0}}return 0} +function Xj(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,l=0,m=0;m=i;i=i+32|0;j=m+8|0;e=m+16|0;f=m+20|0;l=m+24|0;g=m+4|0;h=m;k=m+12|0;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+40>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+96>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+96>>2]|0))break;Wg(c[(c[(c[j>>2]|0)+92>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+96>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((Fj(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+64>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+92>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=sk(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+68>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(zj(c[(c[j>>2]|0)+68>>2]|0)|0)c[l>>2]=Aj(c[(c[j>>2]|0)+68>>2]|0,0,0)|0;c[(c[j>>2]|0)+52>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Yj(b,e){b=b|0;e=e|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;t=i;i=i+64|0;r=t+8|0;m=t+16|0;n=t+32|0;j=t+20|0;k=t;g=t+24|0;l=t+28|0;f=t+36|0;p=t+40|0;q=t+44|0;s=t+48|0;h=t+52|0;o=t+56|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Cg(c[(c[m>>2]|0)+64>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+200>>2];c[p>>2]=Zj(c[(c[m>>2]|0)+64>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=_j(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+72|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=$j(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=AH(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+148>>2]|0,0)|0;j=(c[(c[m>>2]|0)+152>>2]|0)+8|0;j=KH(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+80|0,b=DH(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+148>>2]|0,0)|0,j=(c[m>>2]|0)+72|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+72|0;b=AH(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+152>>2]|0)+8|0;j=KH(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+72|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+148>>2]|0):0){c[p>>2]=Hj(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+24>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Eg(c[m>>2]|0);c[h>>2]=0}c[p>>2]=ak(c[m>>2]|0,(c[m>>2]|0)+72|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+72|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+18>>0]=a[(c[m>>2]|0)+12>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+200>>2];c[p>>2]=Zj(c[(c[m>>2]|0)+64>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+16>>0]|0)<4?(d[(c[m>>2]|0)+16>>0]|0)!=0:0)break;c[p>>2]=Ce(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=xj(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=bk(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;ck(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+172>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Zb(539,17393,r);s=c[m>>2]|0;ck(s);s=c[p>>2]|0;i=t;return s|0}function Zj(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,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+16|0;h=q+12|0;j=q+24|0;n=q+32|0;m=q+8|0;o=q;l=q+28|0;p=q+20|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Cg(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=AH(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=ik(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=AH(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=ik(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=AH(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=hk(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?($G(k,17420,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=AH(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=AH(d|0,C|0,c[m>>2]|0,0)|0,d=hk(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function _j(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=tb[c[(c[k>>2]|0)+32>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function $j(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;s=i;i=i+64|0;h=s+16|0;j=s+32|0;k=s+20|0;t=s+8|0;l=s+40|0;m=s+44|0;r=s+24|0;n=s+48|0;o=s;p=s+28|0;q=s+36|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=rk(c[j>>2]|0)|0;f=(c[j>>2]|0)+72|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+72|0;f=DH(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+148>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+72|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+80|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=hk(c[(c[j>>2]|0)+64>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if($G(n,17420,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+64>>2]|0;t=o;t=DH(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=ik(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+64>>2]|0,t=o,t=DH(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=ik(a,t,C,(c[j>>2]|0)+48|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+64>>2]|0,t=o,t=DH(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=ik(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+72|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+64>>2]|0;t=o;t=DH(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=ik(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+64>>2]|0,t=o,t=DH(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=ik(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+152>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Ag(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+148>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+72|0;a=t;a=DH(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+148>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function ak(f,g,h,j,k){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;B=i;i=i+64|0;y=B+56|0;o=B+36|0;p=B+12|0;l=B+16|0;q=B+28|0;r=B+20|0;A=B+24|0;z=B+60|0;v=B+32|0;m=B+40|0;s=B+44|0;n=B+48|0;t=B+52|0;u=B;x=B+8|0;c[o>>2]=f;c[p>>2]=g;c[l>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[o>>2]|0)+200>>2];j=c[o>>2]|0;if(c[q>>2]|0)j=c[j+64>>2]|0;else j=c[j+68>>2]|0;c[n>>2]=j;f=c[p>>2]|0;c[A>>2]=ik(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[n>>2]|0;j=c[s>>2]|0;g=c[(c[o>>2]|0)+152>>2]|0;f=c[p>>2]|0;f=DH(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=hk(k,j,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[o>>2]|0)+152>>2]|0)+4+(c[q>>2]<<2)|0;f=c[p>>2]|0;j=f;g=DH(c[j>>2]|0,c[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[229]|0)/(c[(c[o>>2]|0)+152>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[o>>2]|0)+24>>2]|0)>>>0?(Ug(c[l>>2]|0,c[v>>2]|0)|0)==0:0){if(c[q>>2]|0){f=c[n>>2]|0;n=c[p>>2]|0;n=AH(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[A>>2]=ik(f,n,C,m)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[r>>2]|0)==0?(n=jk(c[o>>2]|0,c[s>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[l>>2]|0)!=0?(n=Sg(c[l>>2]|0,c[v>>2]|0)|0,c[A>>2]=n,(n|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[o>>2]|0)+142>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[o>>2]|0)+142>>1]=d[(c[s>>2]|0)+20>>0]|0;if(Fj(c[o>>2]|0)|0)c[z>>2]=0;else c[z>>2]=kk(c[o>>2]|0,c[v>>2]|0)|0;if(c[q>>2]|0){if(d[(c[o>>2]|0)+7>>0]|0)j=1;else{n=c[p>>2]|0;l=c[n+4>>2]|0;j=(c[o>>2]|0)+80|0;m=c[j+4>>2]|0;j=(l|0)<(m|0)|((l|0)==(m|0)?(c[n>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&4|0);c[t>>2]=j&1}do if(c[c[(c[o>>2]|0)+60>>2]>>2]|0){if((d[(c[o>>2]|0)+16>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[o>>2]|0)+16>>0]|0)==0:0)){w=44;break}n=c[(c[o>>2]|0)+152>>2]|0;n=MH((c[v>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=n;c[t+4>>2]=C;c[A>>2]=Ae(c[(c[o>>2]|0)+60>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+152>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[o>>2]|0)+32>>2]|0)>>>0)c[(c[o>>2]|0)+32>>2]=c[v>>2];if(c[(c[o>>2]|0)+88>>2]|0){lk(c[(c[o>>2]|0)+88>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[q>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[o>>2]|0)+20|0;a[w>>0]=d[w>>0]|2;c[A>>2]=ne(c[o>>2]|0,c[v>>2]|0,z,1)|0;w=(c[o>>2]|0)+20|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){w=(c[z>>2]|0)+24|0;b[w>>1]=e[w>>1]&-9;mk(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];EH(c[x>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+152>>2]|0)|0;nb[c[(c[o>>2]|0)+196>>2]&31](c[z>>2]|0);do if(c[q>>2]|0){if((c[r>>2]|0)!=0?(u=c[p>>2]|0,s=c[u+4>>2]|0,w=(c[o>>2]|0)+80|0,t=c[w+4>>2]|0,!((s|0)<(t|0)|((s|0)==(t|0)?(c[u>>2]|0)>>>0<=(c[w>>2]|0)>>>0:0))):0)break;Ng(c[z>>2]|0)}while(0);if((c[v>>2]|0)==1){j=(c[o>>2]|0)+100|0;h=(c[x>>2]|0)+24|0;k=j+16|0;do{a[j>>0]=a[h>>0]|0;j=j+1|0;h=h+1|0}while((j|0)<(k|0))}nk(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function bk(b,d){b=b|0;d=d|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;s=i;i=i+64|0;t=s+40|0;e=s+48|0;n=s+20|0;o=s+24|0;m=s+16|0;l=s+44|0;q=s+52|0;j=s;p=s+32|0;r=s+12|0;k=s+8|0;g=s+28|0;f=s+56|0;h=s+60|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=de(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+36>>2]=16385;c[o>>2]=gk(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Cg(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=DH(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=DH(t|0,C|0,1,0)|0;c[q>>2]=Wd(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=DH(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=hk(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=_j(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=gk(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Zj(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;uj(c[l>>2]|0)|0;if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(aH(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Ed(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}uj(c[m>>2]|0)|0;c[o>>2]=Dj(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Sb(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}uj(c[m>>2]|0)|0;Sb(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function ck(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+12>>0]|0|0)==0?((dk(c[(c[b>>2]|0)+60>>2]|0)|0)&4096|0)==0:0){a=ek(c[(c[b>>2]|0)+60>>2]|0)|0;c[(c[b>>2]|0)+148>>2]=a;i=e;return}c[(c[b>>2]|0)+148>>2]=512;i=e;return}function dk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qb[c[(c[c[d>>2]>>2]|0)+48>>2]&31](c[d>>2]|0)|0;i=b;return a|0}function ek(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=fk(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function fk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=qb[c[d>>2]&31](c[b>>2]|0)|0;i=e;return d|0}function gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=wb[c[(c[n>>2]|0)+24>>2]&15](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function hk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=wb[c[(c[c[k>>2]>>2]|0)+8>>2]&15](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=hk(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=kj(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function jk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+48>>2];c[g>>2]=(c[(c[j>>2]|0)+152>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=ok(c[(c[g>>2]|0)+204>>2]|0,c[f>>2]|0,0)|0;b=pk(c[(c[g>>2]|0)+204>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function lk(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;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];while(1){if(!(c[g>>2]|0))break;if(((ge(c[(c[g>>2]|0)+28>>2]|0)|0)==0?(c[e>>2]|0)>>>0<(c[(c[g>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=pe(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[g>>2]|0)+28>>2]=c[h>>2];c[g>>2]=c[(c[g>>2]|0)+44>>2]}i=j;return}function mk(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-33;if((e[(c[d>>2]|0)+24>>1]|0)&2){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|2;Og(c[d>>2]|0,2);i=f;return}function nk(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;a=(c[d>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}a=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;a=c[d>>2]|0;if(!(e[(c[d>>2]|0)+24>>1]&2)){Pg(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}Og(c[d>>2]|0,3);i=f;return}function ok(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;c[g>>2]=c[k>>2]&(d[(c[j>>2]|0)+29>>0]|0);b=lb[c[140>>2]&31](c[(c[j>>2]|0)+40>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function pk(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;if(!(c[j>>2]|0)){c[f>>2]=0;d=c[f>>2]|0;i=l;return d|0}c[k>>2]=c[(c[j>>2]|0)+4>>2];if(!(c[c[k>>2]>>2]|0)){c[f>>2]=qk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[f>>2]|0;i=l;return d|0}if(!(b[(c[k>>2]|0)+26>>1]|0)){d=(c[g>>2]|0)+12|0;c[d>>2]=(c[d>>2]|0)+1}d=(c[k>>2]|0)+26|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;if((c[h>>2]|0)==1)c[(c[g>>2]|0)+44>>2]=c[k>>2];c[f>>2]=c[k>>2];d=c[f>>2]|0;i=l;return d|0}function qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[g>>2]|0)+4>>2];d=c[h>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[c[h>>2]>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[h>>2]|0)+8>>2]=(c[h>>2]|0)+40;BH(c[(c[h>>2]|0)+8>>2]|0,0,c[(c[e>>2]|0)+24>>2]|0)|0;c[(c[h>>2]|0)+28>>2]=c[e>>2];c[(c[h>>2]|0)+20>>2]=c[f>>2];h=pk(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=j;return h|0}function rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+72|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=AH(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=KH(h|0,C|0,c[(c[b>>2]|0)+148>>2]|0,0)|0;h=DH(h|0,C|0,1,0)|0;h=MH(h|0,C|0,c[(c[b>>2]|0)+148>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function sk(b,d){b=b|0;d=d|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;s=i;i=i+64|0;e=s+24|0;f=s+36|0;g=s+32|0;q=s+16|0;j=s;p=s+28|0;o=s+56|0;k=s+40|0;m=s+44|0;h=s+48|0;l=s+52|0;n=s+8|0;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=Rg(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)d=c[(c[g>>2]|0)+20>>2]|0;else d=c[(c[f>>2]|0)+28>>2]|0;c[(c[f>>2]|0)+24>>2]=d;a[(c[f>>2]|0)+18>>0]=a[(c[f>>2]|0)+12>>0]|0;if((c[g>>2]|0)==0?(Fj(c[f>>2]|0)|0)!=0:0){c[e>>2]=tk(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+72|0;d=c[t+4>>2]|0;b=q;c[b>>2]=c[t>>2];c[b+4>>2]=d;a:do if((c[g>>2]|0)!=0?(Fj(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){b=(c[g>>2]|0)+8|0;d=c[b>>2]|0;b=c[b+4>>2]|0}else{b=q;d=c[b>>2]|0;b=c[b+4>>2]|0}t=j;c[t>>2]=d;c[t+4>>2]=b;d=c[g>>2]|0;b=c[d+4>>2]|0;t=(c[f>>2]|0)+72|0;c[t>>2]=c[d>>2];c[t+4>>2]=b;while(1){if(c[p>>2]|0)break a;b=(c[f>>2]|0)+72|0;u=c[b+4>>2]|0;t=j;d=c[t+4>>2]|0;if(!((u|0)<(d|0)|((u|0)==(d|0)?(c[b>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=ak(c[f>>2]|0,(c[f>>2]|0)+72|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+72|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+72|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=$j(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+80|0,t=DH(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+148>>2]|0,0)|0,u=(c[f>>2]|0)+72|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+72|0;t=AH(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+152>>2]|0)+8|0;u=KH(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+72|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=ak(c[f>>2]|0,(c[f>>2]|0)+72|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+152>>2]|0)|0;t=MH(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(Fj(c[f>>2]|0)|0)c[p>>2]=uk(c[(c[f>>2]|0)+208>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+52>>2]|0)>>>0)break c;c[p>>2]=ak(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);Wg(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+72|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+24>>2]=c[(c[b>>2]|0)+28>>2];c[f>>2]=Bk(c[(c[b>>2]|0)+208>>2]|0,40,c[b>>2]|0)|0;c[d>>2]=Ck(c[(c[b>>2]|0)+204>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=Ak(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+104>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+104>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];vk(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function vk(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+8|0;f=m+16|0;g=m+20|0;k=m+24|0;j=m+4|0;l=m;h=m+12|0;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;xk(a,wk(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));BH((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function wk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function xk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;p=i;i=i+48|0;q=p+28|0;g=p+16|0;h=p+4|0;j=p+8|0;k=p+32|0;o=p;m=p+12|0;n=p+24|0;l=p+20|0;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=yk(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function yk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;n=o+4|0;m=o;l=o+12|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;c[l>>2]=Tb(c[(c[h>>2]|0)+32>>2]|0,c[m>>2]|0)|0;if(c[l>>2]|0){BH((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=de(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=zk(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function zk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=wb[c[(c[c[m>>2]>>2]|0)+52>>2]&15](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=kk(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((Hk(c[f>>2]|0)|0)==1){Ik(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Jk(c[(c[e>>2]|0)+208>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Kk(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))nb[c[(c[e>>2]|0)+196>>2]&31](c[f>>2]|0);Lk(c[f>>2]|0)}while(0);Kg(c[(c[e>>2]|0)+88>>2]|0);i=h;return c[g>>2]|0}function Bk(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;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];d=(c[f>>2]|0)+52|0;b=Fk(c[f>>2]|0)|0;e=d+48|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(e|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=Gk(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=vb[e&63](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}vk(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function Ck(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=Dk(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function Dk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=Ek(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=Ek(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){a=c[h>>2]|0;if((c[g>>2]|0)>=32)break;c[h>>2]=Ek(a,c[f+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=j;return a|0}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;if((c[a+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];continue}}if(a){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}if(c[e>>2]|0){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+12>>2]=0;g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function Fk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=wk(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Hk(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Ik(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)Og(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if((c[(c[b>>2]|0)+20>>2]|0)==1)c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]=0;rb[c[144>>2]&63](c[(c[(c[b>>2]|0)+28>>2]|0)+40>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Jk(a,d,f){a=a|0;d=d|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;v=i;i=i+64|0;r=v+24|0;g=v+20|0;h=v+44|0;s=v+36|0;t=v+32|0;o=v+40|0;m=v+48|0;j=v+52|0;k=v+8|0;p=v+4|0;n=v+28|0;q=v+12|0;u=v;l=v+16|0;c[g>>2]=a;c[h>>2]=d;c[s>>2]=f;c[t>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[m>>2]=wk(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=0?(c[t>>2]|0)==0:0)){g=17;break}c[u>>2]=xk(c[g>>2]|0,c[m>>2]|0,j,k,p)|0;if(c[u>>2]|0){g=7;break}c[q>>2]=8192;c[n>>2]=Qk(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[p>>2]|0);if((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[t>>2]=c[l>>2];f=c[q>>2]|0;c[q>>2]=f+-1;if(!f){g=14;break a}c[n>>2]=Sk(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[r>>2]=c[u>>2];u=c[r>>2]|0;i=v;return u|0}else if((g|0)==14){c[r>>2]=Rk(50484)|0;u=c[r>>2]|0;i=v;return u|0}else if((g|0)==17){c[c[s>>2]>>2]=c[t>>2];c[r>>2]=0;u=c[r>>2]|0;i=v;return u|0}}c[c[s>>2]>>2]=0;c[r>>2]=0;u=c[r>>2]|0;i=v;return u|0}function Kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;f=n+12|0;e=n+16|0;h=n+24|0;j=n+20|0;m=n+32|0;k=n+8|0;g=n;l=n+28|0;c[f>>2]=b;c[e>>2]=d;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+152>>2];if(c[e>>2]|0)c[m>>2]=Pk(c[(c[h>>2]|0)+208>>2]|0,c[e>>2]|0,c[k>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;else{e=c[(c[h>>2]|0)+152>>2]|0;e=MH((c[j>>2]|0)-1|0,0,e|0,((e|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=e;c[b+4>>2]=C;b=g;k=hk(c[(c[h>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){f=(c[h>>2]|0)+100|0;e=f+16|0;do{a[f>>0]=255;f=f+1|0}while((f|0)<(e|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[f>>2]|0)+4>>2]|0)+24;f=(c[h>>2]|0)+100|0;d=c[l>>2]|0;e=f+16|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Lk(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&64){Mk(a);f=c[b>>2]|0;Nk(f);i=d;return}else{nk(a);f=c[b>>2]|0;Nk(f);i=d;return}}function Mk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+120|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+136>>2];c[(c[f>>2]|0)+136>>2]=c[d>>2];e=c[(c[f>>2]|0)+60>>2]|0;a=c[(c[f>>2]|0)+152>>2]|0;a=MH((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ok(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Nk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+120>>2]|0){i=d;return}if(Bg(c[(c[b>>2]|0)+204>>2]|0)|0){i=d;return}tj(c[b>>2]|0);i=d;return}function Ok(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Pk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=MH((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=DH(32,0,f|0,C|0)|0;f=DH(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=hk(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Qk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Rk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(gd()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Zb(11,17428,d);i=b;return 11}function Sk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Tk(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;Gj(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Mj(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=vb[c[(c[c[f>>2]>>2]|0)+28>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Vk(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;z=i;i=i+64|0;y=z+44|0;u=z+36|0;v=z+12|0;n=z+8|0;m=z+32|0;o=z+40|0;p=z+48|0;q=z+16|0;r=z;s=z+24|0;x=z+4|0;t=z+28|0;w=z+20|0;c[u>>2]=b;c[v>>2]=d;c[n>>2]=e;c[m>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[w>>2]=c[v>>2];if(a[(c[u>>2]|0)+46>>0]|0){c[y>>2]=8;y=c[y>>2]|0;i=z;return y|0}c[x>>2]=_k(c[u>>2]|0,1,1)|0;if(c[x>>2]|0){c[y>>2]=c[x>>2];y=c[y>>2]|0;i=z;return y|0}a[(c[u>>2]|0)+45>>0]=1;do if(c[v>>2]|0){c[x>>2]=$k(c[u>>2]|0,c[n>>2]|0,c[m>>2]|0,0,1)|0;if(!(c[x>>2]|0)){a[(c[u>>2]|0)+44>>0]=1;break}if((c[x>>2]|0)==5){c[w>>2]=0;c[x>>2]=0}}while(0);if(((c[x>>2]|0)==0?(c[x>>2]=al(c[u>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[u>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ok(c[(c[u>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[x>>2]|0)){if((c[(c[u>>2]|0)+52+16>>2]|0)!=0?(j=bl(c[u>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[x>>2]=Rk(51084)|0;else c[x>>2]=cl(c[u>>2]|0,c[w>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[x>>2]|0)==0|(c[x>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[u>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(dl(c[u>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[u>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}Gj(c[u>>2]|0)|0;Oj(c[u>>2]|0,1,1);a[(c[u>>2]|0)+45>>0]=0;if((c[x>>2]|0)==0?(c[v>>2]|0)!=(c[w>>2]|0):0)m=5;else m=c[x>>2]|0;c[y>>2]=m;y=c[y>>2]|0;i=z;return y|0}function Wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;lb[c[(c[c[h>>2]>>2]|0)+40>>2]&31](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Xk(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;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;gh();c[g>>2]=Cg(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=Aj(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}hh();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+100>>2];Zb(h,17470,j);i=k;return}function Yk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Zk(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Sb(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vb[c[(c[c[f>>2]>>2]|0)+64>>2]&63](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function _k(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;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Nj(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function $k(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=_k(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(qb[c[h>>2]&31](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function al(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=yk(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=jl(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Lj(e,0)|0;c[l>>2]=k;if(k)break;Mj(c[g>>2]|0,0);c[l>>2]=264;break}b=_k(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=yk(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=jl(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=kl(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Oj(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=ll(50131)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function bl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function cl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+88|0;j=H+56|0;k=H+36|0;l=H+84|0;m=H+60|0;n=H+64|0;o=H+52|0;A=H+92|0;D=H+44|0;z=H+48|0;q=H+80|0;r=H+104|0;u=H+96|0;t=H+100|0;p=H+68|0;y=H+72|0;E=H+40|0;F=H+32|0;x=H+16|0;v=H+76|0;w=H;s=H+8|0;B=H+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=0;c[D>>2]=bl(c[j>>2]|0)|0;c[y>>2]=dl(c[j>>2]|0)|0;if((c[c[y>>2]>>2]|0)>>>0>=(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[h>>2]=0;G=c[h>>2]|0;i=H;return G|0}c[A>>2]=el(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}if(c[k>>2]|0)c[E>>2]=c[l>>2];c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;a:while(1){if((c[p>>2]|0)>=5){G=15;break}c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=$k(c[j>>2]|0,c[E>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Oj(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[E>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}do if((G|0)==15){if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=$k(c[j>>2]|0,c[E>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];if(c[n>>2]|0)c[A>>2]=Bj(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[D>>2]|0,g=MH(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Cg(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Wk(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(fl(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[D>>2]|0)+24|0;g=MH((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=DH(32,0,g|0,C|0)|0;g=DH(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=hk(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[D>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[D>>2]|0;g=MH((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Ae(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[D>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(Fk(c[j>>2]|0)|0)+16>>2]|0)?(g=c[D>>2]|0,g=MH(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=B,c[G>>2]=g,c[G+4>>2]=C,G=B,c[A>>2]=Aj(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=Bj(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Oj(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5)c[A>>2]=0;if((c[A>>2]|0)==0&(c[k>>2]|0)!=0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)==2?(c[A>>2]=$k(c[j>>2]|0,c[E>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0)Oj(c[j>>2]|0,4,4)}}while(0);gl(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function dl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function el(a,d){a=a|0;d=d|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;v=i;i=i+64|0;e=v+8|0;f=v+24|0;g=v+44|0;t=v+52|0;s=v+32|0;n=v+40|0;q=v+48|0;m=v+56|0;l=v+60|0;u=v+4|0;h=v+28|0;o=v+12|0;k=v;p=v+16|0;r=v+36|0;j=v+20|0;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(wk(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);c[t>>2]=kg(c[q>>2]|0)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}BH(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=kg(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=xk(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}hl(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}lg(c[l>>2]|0);if(c[u>>2]|0)gl(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function fl(a,b,d){a=a|0;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;p=i;i=i+32|0;f=p+4|0;g=p+16|0;h=p+8|0;k=p+20|0;m=p+28|0;j=p;n=p+12|0;l=p+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function gl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;lg(c[d>>2]|0);i=b;return}function hl(a,b,d,e){a=a|0;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,o=0,p=0,q=0,r=0,s=0;s=i;i=i+160|0;f=s+4|0;g=s+116|0;h=s+136|0;j=s;o=s+132|0;p=s+140|0;k=s+144|0;m=s+124|0;n=s+120|0;l=s+8|0;q=s+112|0;r=s+128|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;a=l;b=a+104|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);il(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);il(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function il(a,d,f,g,h,j){a=a|0;d=d|0;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,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+4|0;l=y;m=y+16|0;n=y+28|0;o=y+32|0;p=y+40|0;s=y+44|0;u=y+24|0;t=y+20|0;w=y+8|0;q=y+12|0;v=y+48|0;r=y+36|0;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];EH(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function jl(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+96|0;j=p+104|0;k=p+108|0;l=p+112|0;n=p+48|0;o=p;m=p+100|0;c[j>>2]=b;c[k>>2]=f;c[m>>2]=Fk(c[j>>2]|0)|0;b=n;f=c[m>>2]|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));ql(c[j>>2]|0);b=o;f=(c[m>>2]|0)+48|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));if($G(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ml(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if($G((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;b=(c[j>>2]|0)+52|0;f=n;g=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function kl(e){e=e|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,D=0,E=0;E=i;i=i+144|0;B=E+8|0;g=E+44|0;h=E+48|0;y=E+80|0;u=E+16|0;m=E+72|0;p=E+64|0;t=E+36|0;j=E+104|0;l=E+92|0;z=E+96|0;k=E+52|0;o=E+56|0;q=E;A=E+32|0;s=E+24|0;D=E+28|0;r=E+88|0;x=E+40|0;v=E+60|0;w=E+84|0;n=E+100|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=_k(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Cg(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=hk(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=kj(j)|0;c[A>>2]=kj(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=kj(j+12|0)|0,c[(c[h>>2]|0)+104>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ml((d[(c[h>>2]|0)+52+13>>0]|0)==((a[920]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(kj(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(kj(j+28|0)|0)):0){c[D>>2]=kj(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=ll(49260)|0;break}c[z>>2]=(c[A>>2]|0)+24;c[l>>2]=Rb(c[z>>2]|0)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=DH(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=hk(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=nl(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=ol(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=DH(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Sb(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];pl(c[h>>2]|0);c[w>>2]=dl(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+100>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Zb(283,17535,B)}}}while(0);Oj(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function ll(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(gd()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Zb(14,17496,d);i=b;return 14}function ml(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;o=i;i=i+48|0;g=o+28|0;q=o+16|0;p=o+4|0;h=o+8|0;j=o+32|0;m=o;n=o+12|0;k=o+24|0;l=o+20|0;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function nl(b,e,f,g,h){b=b|0;e=e|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,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+16|0;l=s+4|0;m=s+8|0;n=s+32|0;o=s;q=s+12|0;p=s+24|0;r=s+20|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if($G((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=kj(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[920]|0)==0|0)&1;ml(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ml(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(kj((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(kj((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=kj((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function ol(a,d,e){a=a|0;d=d|0;e=e|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;t=i;i=i+48|0;f=t+4|0;g=t+16|0;h=t+36|0;j=t;r=t+32|0;n=t+40|0;l=t+44|0;k=t+24|0;m=t+20|0;o=t+8|0;q=t+12|0;p=t+28|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=xk(a,wk(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);BH((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)vk(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Qk(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Sk(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Rk(49129)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function pl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=Fk(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ml(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));ql(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ql(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}rl(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function rl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nb[c[(c[c[d>>2]>>2]|0)+60>>2]&31](c[d>>2]|0);i=b;return}function sl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=vb[c[c[b>>2]>>2]&63](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function tl(){return 48}function ul(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+40>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+20>>0]|0){if(((d[(c[h>>2]|0)+20>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&4|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(Fj(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){if(wl(a)|0)c[j>>2]=xl(c[g>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=yl(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&4|0)==0?(d[(c[h>>2]|0)+16>>0]|0|0)!=3:0))c[j>>2]=zl(c[h>>2]|0,1)|0;if(((c[j>>2]|0)==0?(c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+24>>2]|0)>>>0:0)?(wl(c[g>>2]|0)|0)!=0:0)c[j>>2]=xl(c[g>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=Al(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))Ng(c[g>>2]|0);c[f>>2]=sj(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function vl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|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;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;h=c[o>>2]|0;e=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(e|0));c[(c[o>>2]|0)+20>>2]=1;c[(c[o>>2]|0)+24>>2]=c[k>>2];a[(c[o>>2]|0)+28>>0]=c[l>>2];a[(c[o>>2]|0)+29>>0]=2;c[(c[o>>2]|0)+32>>2]=c[m>>2];c[(c[o>>2]|0)+36>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;o=Fg(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+96>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+92>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(Ug(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function xl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Pl(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+152>>2]|0)|0,l=MH(c[(c[h>>2]|0)+52>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Ql(c[(c[h>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+68>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+152>>2]|0;l=e;l=DH(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Ae(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+52|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=Rl(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function yl(a,b,e,f){a=a|0;b=b|0;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;q=i;i=i+48|0;g=q+28|0;h=q+16|0;j=q+4|0;k=q+8|0;p=q+32|0;l=q;m=q+12|0;o=q+24|0;n=q+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[o>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[o>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[o>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);o=(c[g>>2]|0)+184+8|0;c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)Cl(c[h>>2]|0);c[p>>2]=Jl(c[(c[g>>2]|0)+208>>2]|0,c[(c[g>>2]|0)+152>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+10>>0]|0)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!(c[(c[g>>2]|0)+88>>2]|0)){p=c[p>>2]|0;i=q;return p|0}c[n>>2]=c[h>>2];while(1){if(!(c[n>>2]|0))break;lk(c[(c[g>>2]|0)+88>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+4>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}p=c[p>>2]|0;i=q;return p|0}function zl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+8|0;h=o+16|0;m=o+20|0;k=o+12|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=El(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=dk(c[(c[g>>2]|0)+60>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[17420]|0;a[n+1>>0]=a[17421]|0;a[n+2>>0]=a[17422]|0;a[n+3>>0]=a[17423]|0;a[n+4>>0]=a[17424]|0;a[n+5>>0]=a[17425]|0;a[n+6>>0]=a[17426]|0;a[n+7>>0]=a[17427]|0;Dl(n+8|0,c[(c[g>>2]|0)+44>>2]|0);e=rk(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=hk(c[(c[g>>2]|0)+64>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==($G(j,17420,8)|0):0){b=l;c[m>>2]=Ae(c[(c[g>>2]|0)+64>>2]|0,17605,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=Bj(c[(c[g>>2]|0)+64>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;c[m>>2]=Ae(c[(c[g>>2]|0)+64>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=Bj(c[(c[g>>2]|0)+64>>2]|0,d[(c[g>>2]|0)+11>>0]|((d[(c[g>>2]|0)+11>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+72|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+80|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+44>>2]=0;c[m>>2]=Fl(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+72|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+80|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);Gl(c[(c[g>>2]|0)+204>>2]|0);a[(c[g>>2]|0)+16>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function Al(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;n=i;i=i+48|0;g=n+28|0;h=n+20|0;m=n+32|0;f=n+8|0;l=n+24|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+60>>2]>>2]|0))c[m>>2]=Bl(c[g>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+144>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+36>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+152>>2]|0;d=MH(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+24>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Wk(c[(c[g>>2]|0)+60>>2]|0,5,f);c[(c[g>>2]|0)+36>>2]=c[(c[g>>2]|0)+24>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+24>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&32|0):0){b=c[(c[g>>2]|0)+152>>2]|0;b=MH((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)Cl(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Ae(c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+152>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){f=(c[g>>2]|0)+100|0;b=(c[k>>2]|0)+24|0;d=f+16|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(d|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0)c[(c[g>>2]|0)+32>>2]=c[l>>2];f=(c[g>>2]|0)+184+8|0;c[f>>2]=(c[f>>2]|0)+1;lk(c[(c[g>>2]|0)+88>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=gk(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function Cl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(kj((c[(c[d>>2]|0)+16>>2]|0)+100|0)|0)+1;Dl((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);Dl((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);Dl((c[(c[d>>2]|0)+4>>2]|0)+96|0,3008007);i=b;return}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function El(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(Fj(c[b>>2]|0)|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Hl(c[b>>2]|0,4)|0;d=c[d>>2]|0;i=e;return d|0}function Fl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+200>>2];c[g>>2]=c[(c[f>>2]|0)+152>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+148>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+148>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+96>>2]|0))break;b=(c[(c[f>>2]|0)+92>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+72|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+92>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=rk(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+72|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((dk(c[(c[f>>2]|0)+60>>2]|0)|0)&512|0)==0:0){b=c[j>>2]|0;e=b+12|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}else{n=c[j>>2]|0;a[n>>0]=a[17420]|0;a[n+1>>0]=a[17421]|0;a[n+2>>0]=a[17422]|0;a[n+3>>0]=a[17423]|0;a[n+4>>0]=a[17424]|0;a[n+5>>0]=a[17425]|0;a[n+6>>0]=a[17426]|0;a[n+7>>0]=a[17427]|0;Dl((c[j>>2]|0)+8|0,-1)}_b(4,(c[f>>2]|0)+48|0);Dl((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+48>>2]|0);Dl((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+28>>2]|0);Dl((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+148>>2]|0);Dl((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+152>>2]|0);BH((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+148>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+72|0;c[k>>2]=Ae(c[(c[f>>2]|0)+64>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+72|0;m=n;m=DH(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function Gl(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-5;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Il(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(qb[c[(c[d>>2]|0)+176>>2]&31](c[(c[d>>2]|0)+180>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Il(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+17>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+17>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+13>>0]|0)e=0;else e=Uk(c[(c[f>>2]|0)+60>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+17>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+17>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Jl(e,f,g,h,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+144|0;n=H+72|0;o=H+64|0;p=H+68|0;q=H+96|0;r=H+80|0;s=H+84|0;t=H+40|0;A=H+60|0;u=H+100|0;y=H+104|0;z=H+108|0;x=H+76|0;E=H+56|0;v=H+24|0;F=H;m=H+112|0;l=H+48|0;w=H+88|0;B=H+92|0;D=H+32|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[z>>2]=0;c[x>>2]=0;f=Kl(c[o>>2]|0)|0;c[A>>2]=f;if(f){c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}c[u>>2]=c[(c[o>>2]|0)+52+16>>2];if(!(c[u>>2]|0)){Dl(m,931071618|(a[920]|0)==0);Dl(m+4|0,3007e3);Dl(m+8|0,c[p>>2]|0);Dl(m+12|0,c[(c[o>>2]|0)+104>>2]|0);if(!(c[(c[o>>2]|0)+104>>2]|0))_b(8,(c[o>>2]|0)+52+32|0);f=m+16|0;k=(c[o>>2]|0)+52+32|0;a[f>>0]=a[k>>0]|0;a[f+1>>0]=a[k+1>>0]|0;a[f+2>>0]=a[k+2>>0]|0;a[f+3>>0]=a[k+3>>0]|0;a[f+4>>0]=a[k+4>>0]|0;a[f+5>>0]=a[k+5>>0]|0;a[f+6>>0]=a[k+6>>0]|0;a[f+7>>0]=a[k+7>>0]|0;ml(1,m,24,0,l);Dl(m+24|0,c[l>>2]|0);Dl(m+28|0,c[l+4>>2]|0);c[(c[o>>2]|0)+36>>2]=c[p>>2];a[(c[o>>2]|0)+52+13>>0]=(a[920]|0)==0;c[(c[o>>2]|0)+52+24>>2]=c[l>>2];c[(c[o>>2]|0)+52+24+4>>2]=c[l+4>>2];a[(c[o>>2]|0)+47>>0]=1;c[A>>2]=Ae(c[(c[o>>2]|0)+8>>2]|0,m,32,0,0)|0;if(c[A>>2]|0){c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}if(((c[t>>2]|0)!=0?(d[(c[o>>2]|0)+48>>0]|0)!=0:0)?(c[A>>2]=Bj(c[(c[o>>2]|0)+8>>2]|0,c[t>>2]&19)|0,(c[A>>2]|0)!=0):0){c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}}c[F>>2]=c[o>>2];c[F+4>>2]=c[(c[o>>2]|0)+8>>2];k=F+8|0;c[k>>2]=0;c[k+4>>2]=0;c[F+16>>2]=c[t>>2];c[F+20>>2]=c[p>>2];k=(c[p>>2]|0)+24|0;k=MH((c[u>>2]|0)+1-1|0,0,k|0,((k|0)<0)<<31>>31|0)|0;k=DH(32,0,k|0,C|0)|0;f=v;c[f>>2]=k;c[f+4>>2]=C;c[E>>2]=(c[p>>2]|0)+24;c[y>>2]=c[q>>2];while(1){if(!(c[y>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1;if(c[s>>2]|0)l=(c[(c[y>>2]|0)+12>>2]|0)==0?c[r>>2]|0:0;else l=0;c[w>>2]=l;f=v;c[A>>2]=Ll(F,c[y>>2]|0,c[w>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[A>>2]|0){G=16;break}c[z>>2]=c[y>>2];k=c[E>>2]|0;f=v;k=DH(c[f>>2]|0,c[f+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;f=v;c[f>>2]=k;c[f+4>>2]=C;c[y>>2]=c[(c[y>>2]|0)+12>>2]}if((G|0)==16){c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}a:do if((c[s>>2]|0)!=0?(c[t>>2]&32|0)!=0:0){if(!(a[(c[o>>2]|0)+49>>0]|0)){c[A>>2]=Bj(c[F+4>>2]|0,c[t>>2]&19)|0;break}c[B>>2]=ek(c[(c[o>>2]|0)+8>>2]|0)|0;G=v;w=c[B>>2]|0;w=DH(c[G>>2]|0,c[G+4>>2]|0,w|0,((w|0)<0)<<31>>31|0)|0;w=AH(w|0,C|0,1,0)|0;G=c[B>>2]|0;G=KH(w|0,C|0,G|0,((G|0)<0)<<31>>31|0)|0;B=c[B>>2]|0;B=MH(G|0,C|0,B|0,((B|0)<0)<<31>>31|0)|0;G=F+8|0;c[G>>2]=B;c[G+4>>2]=C;while(1){B=v;t=c[B+4>>2]|0;G=F+8|0;w=c[G+4>>2]|0;if(!((t|0)<(w|0)|((t|0)==(w|0)?(c[B>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)))break a;G=v;c[A>>2]=Ll(F,c[z>>2]|0,c[r>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break;B=c[E>>2]|0;G=v;B=DH(c[G>>2]|0,c[G+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;G=v;c[G>>2]=B;c[G+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}while(0);if(((c[s>>2]|0)!=0?(d[(c[o>>2]|0)+47>>0]|0)!=0:0)?(G=(c[o>>2]|0)+16|0,F=c[G+4>>2]|0,(F|0)>0|(F|0)==0&(c[G>>2]|0)>>>0>=0):0){G=(c[o>>2]|0)+16|0;B=c[G+4>>2]|0;F=D;c[F>>2]=c[G>>2];c[F+4>>2]=B;F=(c[p>>2]|0)+24|0;F=MH((c[u>>2]|0)+(c[x>>2]|0)+1-1|0,0,F|0,((F|0)<0)<<31>>31|0)|0;F=DH(32,0,F|0,C|0)|0;B=C;G=(c[o>>2]|0)+16|0;E=c[G+4>>2]|0;if((B|0)>(E|0)|((B|0)==(E|0)?F>>>0>(c[G>>2]|0)>>>0:0)){F=(c[p>>2]|0)+24|0;F=MH((c[u>>2]|0)+(c[x>>2]|0)+1-1|0,0,F|0,((F|0)<0)<<31>>31|0)|0;F=DH(32,0,F|0,C|0)|0;G=D;c[G>>2]=F;c[G+4>>2]=C}G=D;Xk(c[o>>2]|0,c[G>>2]|0,c[G+4>>2]|0);a[(c[o>>2]|0)+47>>0]=0}c[u>>2]=c[(c[o>>2]|0)+52+16>>2];c[y>>2]=c[q>>2];while(1){if(!((c[y>>2]|0)!=0?(c[A>>2]|0)==0:0))break;c[u>>2]=(c[u>>2]|0)+1;c[A>>2]=ol(c[o>>2]|0,c[u>>2]|0,c[(c[y>>2]|0)+20>>2]|0)|0;c[y>>2]=c[(c[y>>2]|0)+12>>2]}while(1){if(!((c[A>>2]|0)==0?(c[x>>2]|0)>0:0))break;c[u>>2]=(c[u>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1;c[A>>2]=ol(c[o>>2]|0,c[u>>2]|0,c[(c[z>>2]|0)+20>>2]|0)|0}if(!(c[A>>2]|0)){b[(c[o>>2]|0)+52+14>>1]=c[p>>2]&65280|c[p>>2]>>16;c[(c[o>>2]|0)+52+16>>2]=c[u>>2];if(c[s>>2]|0){G=(c[o>>2]|0)+52+8|0;c[G>>2]=(c[G>>2]|0)+1;c[(c[o>>2]|0)+52+20>>2]=c[r>>2]}if(c[s>>2]|0){pl(c[o>>2]|0);c[(c[o>>2]|0)+12>>2]=c[u>>2]}}c[n>>2]=c[A>>2];G=c[n>>2]|0;i=H;return G|0}function Kl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;d=n+28|0;e=n+16|0;l=n+4|0;g=n+8|0;k=n+32|0;m=n;h=n+12|0;f=n+24|0;j=n+20|0;c[e>>2]=a;c[l>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[k>>2]=dl(c[e>>2]|0)|0;do if((c[c[k>>2]>>2]|0)>>>0>0){_b(4,m);c[l>>2]=_k(c[e>>2]|0,4,4)|0;if(c[l>>2]|0){if((c[l>>2]|0)==5)break;c[d>>2]=c[l>>2];m=c[d>>2]|0;i=n;return m|0}c[f>>2]=(c[e>>2]|0)+52+32;a=(c[e>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[e>>2]|0)+52+16>>2]=0;a=c[f>>2]|0;Dl(a,1+(kj(c[f>>2]|0)|0)|0);c[(c[f>>2]|0)+4>>2]=c[m>>2];pl(c[e>>2]|0);c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+4+4>>2]=0;c[h>>2]=2;while(1){if((c[h>>2]|0)>=5)break;c[(c[k>>2]|0)+4+(c[h>>2]<<2)>>2]=-1;c[h>>2]=(c[h>>2]|0)+1}Oj(c[e>>2]|0,4,4)}while(0);Mj(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[g>>2]=0;do{a=c[e>>2]|0;m=(c[g>>2]|0)+1|0;c[g>>2]=m;c[l>>2]=Ol(a,j,1,m)|0}while((c[l>>2]|0)==-1)}c[d>>2]=c[l>>2];m=c[d>>2]|0;i=n;return m|0}function Ll(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;m=i;i=i+64|0;g=m+28|0;h=m+20|0;p=m+24|0;o=m+16|0;j=m;l=m+8|0;k=m+12|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Ml(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Nl(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=DH(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Nl(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function Ml(b,e,f,g,h){b=b|0;e=e|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,q=0;j=i;i=i+32|0;m=j+8|0;q=j+16|0;p=j+20|0;n=j+24|0;l=j+4|0;o=j;k=j+12|0;c[m>>2]=b;c[q>>2]=e;c[p>>2]=f;c[n>>2]=g;c[l>>2]=h;c[k>>2]=(c[m>>2]|0)+52+24;Dl(c[l>>2]|0,c[q>>2]|0);Dl((c[l>>2]|0)+4|0,c[p>>2]|0);b=(c[l>>2]|0)+8|0;f=(c[m>>2]|0)+52+32|0;a[b>>0]=a[f>>0]|0;a[b+1>>0]=a[f+1>>0]|0;a[b+2>>0]=a[f+2>>0]|0;a[b+3>>0]=a[f+3>>0]|0;a[b+4>>0]=a[f+4>>0]|0;a[b+5>>0]=a[f+5>>0]|0;a[b+6>>0]=a[f+6>>0]|0;a[b+7>>0]=a[f+7>>0]|0;c[o>>2]=(d[(c[m>>2]|0)+52+13>>0]|0)==((a[920]|0)==0|0)&1;ml(c[o>>2]|0,c[l>>2]|0,8,c[k>>2]|0,c[k>>2]|0);ml(c[o>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+36>>2]|0,c[k>>2]|0,c[k>>2]|0);Dl((c[l>>2]|0)+16|0,c[c[k>>2]>>2]|0);Dl((c[l>>2]|0)+20|0,c[(c[k>>2]|0)+4>>2]|0);i=j;return}function Nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+12|0;h=o+20|0;j=o+24|0;k=o+28|0;l=o;n=o+8|0;m=o+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=DH(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=AH(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Ae(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=DH(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=Bj(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Ae(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Ol(a,e,f,g){a=a|0;e=e|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;v=i;i=i+48|0;u=v+4|0;h=v+16|0;j=v+36|0;k=v;l=v+32|0;q=v+40|0;o=v+44|0;n=v+24|0;m=v+20|0;r=v+8|0;p=v+12|0;s=v+28|0;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=0;if((c[l>>2]|0)>5){c[p>>2]=1;if((c[l>>2]|0)>100){c[u>>2]=15;u=c[u>>2]|0;i=v;return u|0}if((c[l>>2]|0)>=10)c[p>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;eg(c[c[h>>2]>>2]|0,c[p>>2]|0)|0}if(!(c[k>>2]|0)){c[r>>2]=al(c[h>>2]|0,c[j>>2]|0)|0;do if((c[r>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[r>>2]=-1;break}f=Lj(c[h>>2]|0,2)|0;c[r>>2]=f;if(!f){Mj(c[h>>2]|0,2);c[r>>2]=-1;break}if((c[r>>2]|0)==5)c[r>>2]=261}while(0);if(c[r>>2]|0){c[u>>2]=c[r>>2];u=c[u>>2]|0;i=v;return u|0}}c[q>>2]=dl(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[q>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[r>>2]=Lj(c[h>>2]|0,3)|0;ql(c[h>>2]|0);if(c[r>>2]|0){if((c[r>>2]|0)==5)break;c[u>>2]=c[r>>2];u=c[u>>2]|0;i=v;return u|0}t=Fk(c[h>>2]|0)|0;t=($G(t,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(t){Mj(h,3);c[u>>2]=-1;u=c[u>>2]|0;i=v;return u|0}else{b[h+40>>1]=0;c[u>>2]=0;u=c[u>>2]|0;i=v;return u|0}}while(0);c[o>>2]=0;c[n>>2]=0;c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[s>>2]=c[(c[q>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[o>>2]|0)>>>0<=(c[s>>2]|0)>>>0?(c[s>>2]|0)>>>0<=(c[(c[h>>2]|0)+52+16>>2]|0)>>>0:0){c[o>>2]=c[s>>2];c[n>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[n>>2]|0)==0?1:(c[o>>2]|0)>>>0<(c[(c[h>>2]|0)+52+16>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[r>>2]=_k(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[r>>2]|0)){t=36;break}if((c[r>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((t|0)==36){t=c[(c[h>>2]|0)+52+16>>2]|0;c[(c[q>>2]|0)+4+(c[m>>2]<<2)>>2]=t;c[o>>2]=t;c[n>>2]=c[m>>2];Oj(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[u>>2]=c[r>>2];u=c[u>>2]|0;i=v;return u|0}while(0);if(!(c[n>>2]|0)){c[u>>2]=(c[r>>2]|0)==5?-1:520;u=c[u>>2]|0;i=v;return u|0}c[r>>2]=Lj(c[h>>2]|0,3+(c[n>>2]|0)|0)|0;if(c[r>>2]|0){c[u>>2]=(c[r>>2]|0)==5?-1:c[r>>2]|0;u=c[u>>2]|0;i=v;return u|0}ql(c[h>>2]|0);if((c[(c[q>>2]|0)+4+(c[n>>2]<<2)>>2]|0)==(c[o>>2]|0)?(t=Fk(c[h>>2]|0)|0,($G(t,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[n>>2];c[u>>2]=c[r>>2];u=c[u>>2]|0;i=v;return u|0}Mj(c[h>>2]|0,3+(c[n>>2]|0)|0);c[u>>2]=-1;u=c[u>>2]|0;i=v;return u|0}function Pl(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;if(c[c[(c[b>>2]|0)+68>>2]>>2]|0){e=c[e>>2]|0;i=f;return e|0}if((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+21>>0]|0|0)==0:0){c[e>>2]=Bl(c[b>>2]|0,c[(c[b>>2]|0)+68>>2]|0,8192)|0;e=c[e>>2]|0;i=f;return e|0}Vj(c[(c[b>>2]|0)+68>>2]|0);e=c[e>>2]|0;i=f;return e|0}function Ql(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;Dl(g,c[k>>2]|0);e=j;e=Ae(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function Rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+96>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+92>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=Sg(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Sl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Tl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hk(c[d>>2]|0)|0;i=b;return a|0}function Ul(f){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;v=i;i=i+48|0;q=v+20|0;r=v+16|0;n=v+36|0;j=v+44|0;h=v+28|0;m=v;u=v+32|0;g=v+40|0;t=v+4|0;p=v+24|0;s=v+12|0;k=v+8|0;l=v+38|0;o=v+42|0;c[r>>2]=f;do if(!(a[c[r>>2]>>0]|0)){c[m>>2]=c[(c[r>>2]|0)+52>>2];a[j>>0]=a[(c[r>>2]|0)+6>>0]|0;c[h>>2]=c[(c[r>>2]|0)+56>>2];if(Vl(c[r>>2]|0,d[(c[h>>2]|0)+(d[j>>0]|0)>>0]|0)|0){c[q>>2]=Rk(53694)|0;u=c[q>>2]|0;i=v;return u|0}b[(c[r>>2]|0)+20>>1]=(c[(c[m>>2]|0)+32>>2]|0)-1;a[(c[r>>2]|0)+1>>0]=0;c[u>>2]=c[(c[m>>2]|0)+36>>2];f=(d[j>>0]|0)+12-(d[(c[r>>2]|0)+5>>0]<<2)&65535;b[g>>1]=f;b[(c[r>>2]|0)+14>>1]=f;c[(c[r>>2]|0)+60>>2]=(c[h>>2]|0)+(c[u>>2]|0);c[(c[r>>2]|0)+64>>2]=(c[h>>2]|0)+(e[g>>1]|0);c[p>>2]=((d[(c[h>>2]|0)+((d[j>>0]|0)+5)>>0]<<8|d[(c[h>>2]|0)+((d[j>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[r>>2]|0)+18>>1]=d[(c[h>>2]|0)+((d[j>>0]|0)+3)>>0]<<8|d[(c[h>>2]|0)+((d[j>>0]|0)+3)+1>>0];if((e[(c[r>>2]|0)+18>>1]|0)>>>0>((((c[(c[m>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[q>>2]=Rk(53706)|0;u=c[q>>2]|0;i=v;return u|0}c[s>>2]=(e[g>>1]|0)+(e[(c[r>>2]|0)+18>>1]<<1);c[k>>2]=(c[u>>2]|0)-4;b[n>>1]=d[(c[h>>2]|0)+((d[j>>0]|0)+1)>>0]<<8|d[(c[h>>2]|0)+((d[j>>0]|0)+1)+1>>0];c[t>>2]=(d[(c[h>>2]|0)+((d[j>>0]|0)+7)>>0]|0)+(c[p>>2]|0);while(1){if((e[n>>1]|0)<=0){g=16;break}if((e[n>>1]|0)<(c[s>>2]|0)){g=10;break}if((e[n>>1]|0)>(c[k>>2]|0)){g=10;break}b[l>>1]=d[(c[h>>2]|0)+(e[n>>1]|0)>>0]<<8|d[(c[h>>2]|0)+(e[n>>1]|0)+1>>0];b[o>>1]=d[(c[h>>2]|0)+((e[n>>1]|0)+2)>>0]<<8|d[(c[h>>2]|0)+((e[n>>1]|0)+2)+1>>0];if((e[l>>1]|0)>0?(e[l>>1]|0)<=((e[n>>1]|0)+(e[o>>1]|0)+3|0):0){g=14;break}if(((e[n>>1]|0)+(e[o>>1]|0)|0)>(c[u>>2]|0)){g=14;break}c[t>>2]=(c[t>>2]|0)+(e[o>>1]|0);b[n>>1]=b[l>>1]|0}if((g|0)==10){c[q>>2]=Rk(53749)|0;u=c[q>>2]|0;i=v;return u|0}else if((g|0)==14){c[q>>2]=Rk(53756)|0;u=c[q>>2]|0;i=v;return u|0}else if((g|0)==16){if((c[t>>2]|0)<=(c[u>>2]|0)){b[(c[r>>2]|0)+16>>1]=(c[t>>2]|0)-(c[s>>2]|0);a[c[r>>2]>>0]=1;break}c[q>>2]=Rk(53770)|0;u=c[q>>2]|0;i=v;return u|0}}while(0);c[q>>2]=0;u=c[q>>2]|0;i=v;return u|0}function Vl(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;a[(c[h>>2]|0)+5>>0]=c[j>>2]>>3;c[j>>2]=c[j>>2]&-9;a[(c[h>>2]|0)+7>>0]=4-(d[(c[h>>2]|0)+5>>0]<<2);c[k>>2]=c[(c[h>>2]|0)+52>>2];do if((c[j>>2]|0)==5){a[(c[h>>2]|0)+2>>0]=1;a[(c[h>>2]|0)+3>>0]=a[(c[h>>2]|0)+5>>0]|0;a[(c[h>>2]|0)+4>>0]=((a[(c[h>>2]|0)+5>>0]|0)!=0^1)&1;b[(c[h>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[h>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[j>>2]|0)==2){a[(c[h>>2]|0)+2>>0]=0;a[(c[h>>2]|0)+3>>0]=0;a[(c[h>>2]|0)+4>>0]=0;b[(c[h>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[h>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[g>>2]=Rk(53655)|0;e=c[g>>2]|0;i=l;return e|0}while(0);a[(c[h>>2]|0)+8>>0]=a[(c[k>>2]|0)+21>>0]|0;c[g>>2]=0;e=c[g>>2]|0;i=l;return e|0}function Wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)d=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else d=0;b=c[f>>2]|0;if(!d)break;c[f>>2]=b+-1}i=g;return (b|0)==0|0}function Xl(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=Yl(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function Yl(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+208>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Vk(c[(c[g>>2]|0)+208>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+176>>2]|0,c[(c[g>>2]|0)+180>>2]|0,d[(c[g>>2]|0)+9>>0]|0,c[(c[g>>2]|0)+152>>2]|0,c[(c[g>>2]|0)+200>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function Zl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;j=l+20|0;n=l+16|0;m=l+12|0;g=l+8|0;h=l+4|0;k=l;c[n>>2]=b;c[m>>2]=d;c[g>>2]=e;c[h>>2]=f;c[k>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if(!(c[k>>2]|0)){g=7;break}if((Ib(c[(c[k>>2]|0)+24>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)==0?(a[(c[(c[k>>2]|0)+24>>2]|0)+(c[h>>2]|0)>>0]|0)==0:0){g=5;break}c[k>>2]=c[(c[k>>2]|0)+28>>2]}if((g|0)==5){c[j>>2]=c[k>>2];n=c[j>>2]|0;i=l;return n|0}else if((g|0)==7){c[j>>2]=0;n=c[j>>2]|0;i=l;return n|0}return 0}function _l(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;o=i;i=i+32|0;n=o+12|0;j=o+8|0;k=o+4|0;l=o+16|0;m=o;c[j>>2]=f;c[k>>2]=g;a[l>>0]=h;h=c[j>>2]|0;if((c[k>>2]|0)==-2){if(!(c[h+12>>2]|0))h=(c[(c[j>>2]|0)+16>>2]|0)==0;else h=0;c[n>>2]=h?0:6;n=c[n>>2]|0;i=o;return n|0}if((b[h>>1]|0)!=(c[k>>2]|0)?(b[c[j>>2]>>1]|0)>=0:0){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if((b[c[j>>2]>>1]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[n>>2]=c[m>>2];n=c[n>>2]|0;i=o;return n|0}function $l(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;j=k+8|0;l=k+4|0;m=k+20|0;h=k;c[f>>2]=b;c[g>>2]=e;c[l>>2]=Ed(c[(c[g>>2]|0)+24>>2]|0)|0;a[m>>0]=a[c[(c[g>>2]|0)+24>>2]>>0]|0;c[h>>2]=((d[13848+(d[m>>0]|0)>>0]|0)+(c[l>>2]|0)|0)%23|0;c[j>>2]=Zl(c[f>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){c[(c[g>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];c[(c[j>>2]|0)+8>>2]=c[g>>2];i=k;return}else{c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+28>>2]=c[(c[f>>2]|0)+(c[h>>2]<<2)>>2];c[(c[f>>2]|0)+(c[h>>2]<<2)>>2]=c[g>>2];i=k;return}}function am(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=bm(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function bm(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;v=i;i=i+48|0;n=v+12|0;o=v+16|0;p=v+44|0;k=v+4|0;t=v+32|0;s=v+36|0;u=v+40|0;r=v+24|0;q=v+20|0;j=v+45|0;h=v;l=v+8|0;m=v+28|0;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=cm(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=qf(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[17815+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[q>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);f=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=f;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(f>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[17815+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[q>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);f=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=f>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((f-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Oe(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&31;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=dm(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function cm(d){d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=d;if((e[(c[g>>2]|0)+8>>1]|0)&16384)Pe(c[g>>2]|0)|0;c[h>>2]=e[(c[g>>2]|0)+8>>1];do if(c[h>>2]&18){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(fm(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=j;return d|0}while(0);c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}function dm(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=Jd(c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}if(em(c[f>>2]|0,c[g>>2]|0)|0){c[d>>2]=e[(c[f>>2]|0)+248>>1];b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=qb[c[56>>2]&31](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function em(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+248+28>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+248+32>>2]|0)>>>0;b=b&1;i=f;return b|0}function fm(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=gm(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Nd(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=qf(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=dm(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}Ze(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)EH(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)nb[c[(c[j>>2]|0)+36>>2]&31](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=hm(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Nd(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function hm(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o;n=o+8|0;c[k>>2]=b;c[l>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;c[n>>2]=0;do if(!(d[(c[k>>2]|0)+64>>0]|0)){g=c[k>>2]|0;if(!(c[l>>2]|0)){n=m;c[j>>2]=qf(g,c[n>>2]|0,c[n+4>>2]|0)|0;n=c[j>>2]|0;i=o;return n|0}if(!(em(g,c[l>>2]|0)|0)){c[n>>2]=Ub(c[l>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;if(c[n>>2]|0)break;a[(c[k>>2]|0)+64>>0]=1;break}f=m;b=c[f+4>>2]|0;if(b>>>0<0|((b|0)==0?(c[f>>2]|0)>>>0<=(e[(c[k>>2]|0)+248>>1]|0)>>>0:0)){c[j>>2]=c[l>>2];n=c[j>>2]|0;i=o;return n|0}else{c[n>>2]=qf(c[k>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;if(!(c[n>>2]|0))break;EH(c[n>>2]|0,c[l>>2]|0,e[(c[k>>2]|0)+248>>1]|0|0)|0;Nd(c[k>>2]|0,c[l>>2]|0);break}}while(0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}function im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+32>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}nb[c[(c[e>>2]|0)+4>>2]&31](c[(c[e>>2]|0)+8>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=f;return}function jm(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;g=j+8|0;f=j+4|0;h=j;c[b>>2]=a;Hd(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[g>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[g>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[h>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[h>>2]|0)+44>>0]|0)&16)pm(c[b>>2]|0,c[h>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}qm(c[b>>2]|0);i=j;return}function km(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nm(c[d>>2]|0,68);i=b;return 0}function lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(mm(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function mm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+328>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+304>>2]|0))break;c[h>>2]=c[(c[(c[d>>2]|0)+328>>2]|0)+(c[f>>2]<<2)>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];if((c[g>>2]|0)!=0?(c[j>>2]=c[(c[c[g>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[j>>2]|0)!=0):0)qb[c[j>>2]&31](c[g>>2]|0)|0;c[(c[h>>2]|0)+20>>2]=0;om(c[h>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(c[d>>2]|0,c[(c[d>>2]|0)+328>>2]|0);c[(c[d>>2]|0)+304>>2]=0;c[(c[d>>2]|0)+328>>2]=0;i=k;return}function om(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)qb[c[(c[c[e>>2]>>2]|0)+16>>2]&31](c[e>>2]|0)|0;Nd(c[d>>2]|0,c[b>>2]|0);i=f;return}function pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+60;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];om(c[e>>2]|0);i=h;return}function qm(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+332>>2];c[(c[b>>2]|0)+332>>2]=0;if(!(c[d>>2]|0)){i=f;return}If(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];om(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function rm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nb[c[160>>2]&31](c[(c[d>>2]|0)+40>>2]|0);i=b;return}function sm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=980;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(c[3]|0){c[245]=8;c[258]=8}c[248]=10;c[252]=1;i=d;return 0}function tm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=980;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function um(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,l=0;k=i;i=i+32|0;e=k+8|0;f=k+16|0;g=k+20|0;h=k+24|0;j=k+4|0;l=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k+12>>2]=0;c[l>>2]=48;a=c[l>>2]|0;c[h>>2]=de(a,((a|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=980;c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=c[e>>2];c[(c[h>>2]|0)+8>>2]=c[f>>2];c[(c[h>>2]|0)+12>>2]=(c[g>>2]|0)!=0?1:0;Km(c[h>>2]|0);if(c[g>>2]|0){c[(c[h>>2]|0)+16>>2]=10;l=(c[j>>2]|0)+8|0;c[l>>2]=(c[l>>2]|0)+(c[(c[h>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+12>>2]=(c[(c[j>>2]|0)+4>>2]|0)+10-(c[(c[j>>2]|0)+8>>2]|0)}if(c[(c[h>>2]|0)+40>>2]|0){l=c[h>>2]|0;i=k;return l|0}Bm(c[h>>2]|0);c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+12>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+20>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+20>>2]=c[d>>2];c[(c[e>>2]|0)+24>>2]=(((c[(c[e>>2]|0)+20>>2]|0)*9|0)>>>0)/10|0;Dm(c[f>>2]|0);i=g;return}function wm(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+36>>2];i=d;return c[b>>2]|0}function xm(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;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=0;c[j>>2]=c[(c[(c[h>>2]|0)+44>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+40>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[j>>2]|0)e=(c[(c[j>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=c[d+16>>2]}if(d){if(a[(c[j>>2]|0)+12>>0]|0){l=c[j>>2]|0;i=k;return l|0}Em(c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}else{if(!(c[g>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=Im(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}return 0}function ym(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;j=i;i=i+32|0;m=j+20|0;l=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=c[m>>2];c[h>>2]=c[l>>2];c[g>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){d=c[h>>2]|0;b=c[g>>2]|0;if(c[(c[g>>2]|0)+20>>2]|0){c[(c[b+20>>2]|0)+28>>2]=d;c[(c[h>>2]|0)+24>>2]=c[(c[g>>2]|0)+20>>2];c[(c[g>>2]|0)+20>>2]=c[h>>2]}else{c[b+24>>2]=d;c[(c[g>>2]|0)+20>>2]=c[h>>2]}m=(c[f>>2]|0)+32|0;c[m>>2]=(c[m>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=j;return}Fm(c[h>>2]|0);Gm(c[h>>2]|0);i=j;return}function zm(a,b,d,e){a=a|0;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,o=0;l=i;i=i+32|0;o=l+4|0;n=l+16|0;m=l+8|0;f=l+20|0;h=l+28|0;j=l;k=l+12|0;g=l+24|0;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+40>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+44>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+40>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+44>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+44>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+28>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+28>>2]=c[f>>2];i=l;return}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+28>>2]|0)>>>0){i=f;return}Hm(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+28>>2]=(c[d>>2]|0)-1;i=f;return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];Hm(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);Dm(c[e>>2]|0);Sb(c[(c[d>>2]|0)+44>>2]|0);Sb(c[d>>2]|0);i=b;return}function Cm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Dm(c[d>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Dm(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+16>>2]|0)>>>0<=(c[(c[b>>2]|0)+4>>2]|0)>>>0){b=5;break}if(!(c[(c[b>>2]|0)+24>>2]|0)){b=5;break}c[d>>2]=c[(c[b>>2]|0)+24>>2];Em(c[d>>2]|0);Fm(c[d>>2]|0);Gm(c[d>>2]|0)}if((b|0)==5){i=e;return}}function Em(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];c[f>>2]=c[c[e>>2]>>2];b=c[(c[d>>2]|0)+24>>2]|0;if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=b;else c[(c[f>>2]|0)+20>>2]=b;b=c[(c[d>>2]|0)+28>>2]|0;if(c[(c[d>>2]|0)+24>>2]|0)c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=b;else c[(c[f>>2]|0)+24>>2]=b;c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;f=(c[e>>2]|0)+32|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}function Fm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;g=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+20>>2];c[g>>2]=((c[(c[b>>2]|0)+8>>2]|0)>>>0)%((c[(c[d>>2]|0)+40>>2]|0)>>>0)|0;c[e>>2]=(c[(c[d>>2]|0)+44>>2]|0)+(c[g>>2]<<2);while(1){a=(c[c[e>>2]>>2]|0)+16|0;if((c[c[e>>2]>>2]|0)==(c[b>>2]|0))break;c[e>>2]=a}c[c[e>>2]>>2]=c[a>>2];g=(c[d>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+-1;i=f;return}function Gm(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[(c[b>>2]|0)+20>>2];Ig(c[c[b>>2]>>2]|0)|0;if(!(c[(c[d>>2]|0)+12>>2]|0)){i=e;return}d=(c[c[d>>2]>>2]|0)+16|0;c[d>>2]=(c[d>>2]|0)+-1;i=e;return}function Hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+40>>2]|0)>>>0)break;c[j>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[j>>2]>>2]|0;c[h>>2]=b;if(!b)break;if((c[(c[h>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[j>>2]=(c[h>>2]|0)+16;continue}b=(c[e>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];if(!(a[(c[h>>2]|0)+12>>0]|0))Em(c[h>>2]|0);Gm(c[h>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=k;return}function Im(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,o=0,p=0;p=i;i=i+48|0;f=p+28|0;g=p+16|0;h=p+4|0;j=p+8|0;l=p+32|0;m=p;o=p+12|0;n=p+24|0;k=p+20|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+36>>2]|0)-(c[(c[g>>2]|0)+32>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0:0){if(!(Jm(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+32>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[(c[g>>2]|0)+40>>2]|0)>>>0)Km(c[g>>2]|0);do if((c[(c[g>>2]|0)+12>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]|0)!=0:0){if((((c[(c[g>>2]|0)+36>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0?(c[(c[m>>2]|0)+16>>2]|0)>>>0<(c[(c[m>>2]|0)+4>>2]|0)>>>0:0)?(Jm(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+24>>2];Fm(c[o>>2]|0);Em(c[o>>2]|0);c[n>>2]=c[(c[o>>2]|0)+20>>2];if(((c[(c[n>>2]|0)+4>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0)!=((c[(c[g>>2]|0)+4>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0)){Gm(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+12>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0));break}}while(0);if(!(c[o>>2]|0)){if((c[j>>2]|0)==1)gh();c[o>>2]=Lm(c[g>>2]|0)|0;if((c[j>>2]|0)==1)hh()}if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+40>>2]|0)>>>0)|0,n=(c[g>>2]|0)+36|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+44>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+44>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+28>>2]|0)>>>0):0)c[(c[g>>2]|0)+28>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Jm(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[254]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[253]|0):0){c[b>>2]=c[261];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Mm()|0;e=c[b>>2]|0;i=d;return e|0}function Km(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+8|0;d=k+16|0;g=k+20|0;f=k+24|0;j=k+4|0;h=k;e=k+12|0;c[b>>2]=a;a=c[(c[b>>2]|0)+40>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+40>>2]|0)gh();c[d>>2]=de(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+40>>2]|0)hh();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+40>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+44>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Sb(c[(c[b>>2]|0)+44>>2]|0);c[(c[b>>2]|0)+44>>2]=c[d>>2];c[(c[b>>2]|0)+40>>2]=c[g>>2];i=k;return}function Lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=0;c[f>>2]=Qg(32+(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+8>>2]|0)|0)|0;c[e>>2]=(c[f>>2]|0)+(c[(c[d>>2]|0)+4>>2]|0);if(!(c[f>>2]|0)){c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=(c[e>>2]|0)+32;if(c[(c[d>>2]|0)+12>>2]|0){f=(c[c[d>>2]>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+1}c[b>>2]=c[e>>2];f=c[b>>2]|0;i=g;return f|0}function Mm(){return c[79]|0}function Nm(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=FG((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Zb(7,18046,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Om(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;GG(c[d>>2]|0);i=b;return}function Pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=HG(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Qm(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Zb(7,18010,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Qm(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[e>>2]=c[d>>2];c[e>>2]=(c[e>>2]|0)+-8;c[b>>2]=c[c[e>>2]>>2];a=c[b>>2]|0;i=f;return a|0}return 0}function Rm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Sm(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Tm(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Um(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=vb[c[e>>2]&63](1612,0)|0;if(!(c[b>>2]|0)){e=c[b>>2]|0;i=d;return e|0}c[c[b>>2]>>2]=-1;e=c[b>>2]|0;i=d;return e|0}function Vm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+8|0;m=o+16|0;h=o+20|0;l=o+24|0;k=o+4|0;f=o;g=o+12|0;c[m>>2]=b;c[h>>2]=e;do switch(d[c[m>>2]>>0]|0){case 13:case 12:case 10:case 9:case 32:{c[l>>2]=1;while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=151;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 45:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=90;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!((j|0)!=0?(c[k>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=151;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 40:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 41:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 59:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 43:{c[c[h>>2]>>2]=89;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 42:{c[c[h>>2]>>2]=91;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 47:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[k>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[k>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!j)break;c[l>>2]=(c[l>>2]|0)+1}if(c[k>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=151;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=92;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 37:{c[c[h>>2]>>2]=93;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 61:{c[c[h>>2]>>2]=79;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 60:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=81;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[k>>2]|0)==62){c[c[h>>2]>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[k>>2]|0)==60){c[f>>2]=87;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=82;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 62:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=83;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[k>>2]|0)==62){c[f>>2]=88;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=80;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 33:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=150;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 124:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=86;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=94;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 44:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 38:{c[c[h>>2]>>2]=85;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 126:{c[c[h>>2]>>2]=96;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 34:case 39:case 96:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!j)break;if((c[k>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[k>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[k>>2]|0){c[f>>2]=27;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=150;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 46:{if(!(d[14426+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)){c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:break;case 91:{c[l>>2]=1;c[k>>2]=d[c[m>>2]>>0];while(1){if((c[k>>2]|0)==93)break;j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!j)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[k>>2]|0)==93?27:150;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 63:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 58:case 35:case 64:case 36:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=b;if(!b)break;if(d[14426+(c[k>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[k>>2]|0)==40&(c[g>>2]|0)>0){j=107;break}if((c[k>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((j|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;j=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[k>>2]=j;if(!j)break;if((c[k>>2]|0)!=41?(d[14426+(c[k>>2]&255)>>0]&1|0)==0:0)j=107;else break}if((c[k>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=150;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=150;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 88:case 120:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=134;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))j=125;a:do if((j|0)==125){c[c[h>>2]>>2]=150;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break a;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break a;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else j=132;break}default:j=132}while(0);if((j|0)==132){if(!(d[14426+(d[c[m>>2]>>0]|0)>>0]&70)){c[c[h>>2]>>2]=150;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=1;while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}m=yg(c[m>>2]|0,c[l>>2]|0)|0;c[c[h>>2]>>2]=m;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=132;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[14426+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))j=82;do if((j|0)==82){if(!(d[14426+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[14426+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}while(0);while(1){if(!(d[14426+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=150;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function Wm(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+16|0;p=o+32|0;j=o+36|0;h=o+40|0;l=o+4|0;k=o;n=o+28|0;c[p>>2]=d;c[j>>2]=e;c[h>>2]=g;c[n>>2]=c[p>>2];if((c[c[n>>2]>>2]|0)<0){c[c[n>>2]>>2]=0;c[(c[n>>2]|0)+4>>2]=-1;b[(c[n>>2]|0)+12>>1]=0;a[(c[n>>2]|0)+12+2>>0]=0};c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];c[(c[n>>2]|0)+8>>2]=c[h>>2];while(1){c[k>>2]=kn(c[n>>2]|0,c[j>>2]&255)|0;do if((c[k>>2]|0)>=642){h=c[n>>2]|0;if((c[k>>2]|0)<969){mn(h,(c[k>>2]|0)-642|0);break}else{p=c[j>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];nn(h,p,m);hn(c[n>>2]|0,c[j>>2]&255,l);c[j>>2]=254;break}}else{ln(c[n>>2]|0,c[k>>2]|0,c[j>>2]|0,l);p=(c[n>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+-1;c[j>>2]=254}while(0);if((c[j>>2]|0)==254){h=11;break}if((c[c[n>>2]>>2]|0)<0){h=11;break}}if((h|0)==11){i=o;return}}function Xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if(!(c[e>>2]|0)){i=f;return}while(1){if((c[c[e>>2]>>2]|0)<0)break;gn(c[e>>2]|0)|0}nb[c[d>>2]&31](c[e>>2]|0);i=f;return}function Ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+48|0;g=f+32|0;j=f+28|0;l=f+24|0;k=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=e;c[h>>2]=fn(c[j>>2]|0,c[l>>2]|0,k)|0;Nd(c[j>>2]|0,c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[h>>2];i=f;return}function Zm(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Md(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+52>>2]|0;if(c[(c[b>>2]|0)+48>>2]|0)c[(c[(c[b>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+52>>2]|0)c[(c[(c[b>>2]|0)+52>>2]|0)+48>>2]=c[(c[b>>2]|0)+48>>2];c[(c[b>>2]|0)+40>>2]=-1241070648;c[c[b>>2]>>2]=0;Nd(c[d>>2]|0,c[b>>2]|0);i=e;return}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);$m(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);an(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Nd(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(c[d>>2]|0,c[e>>2]|0);i=h;return}function $m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;dn(a,c[c[g>>2]>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Nd(a,c[(c[e>>2]|0)+4>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=h;return}function an(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}bn(c[d>>2]|0,c[e>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=f;return}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$m(c[f>>2]|0,c[c[e>>2]>>2]|0);cn(c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);dn(c[f>>2]|0,c[(c[e>>2]|0)+36>>2]|0);$m(c[f>>2]|0,c[(c[e>>2]|0)+40>>2]|0);dn(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);$m(c[f>>2]|0,c[(c[e>>2]|0)+48>>2]|0);an(c[f>>2]|0,c[(c[e>>2]|0)+52>>2]|0);dn(c[f>>2]|0,c[(c[e>>2]|0)+60>>2]|0);dn(c[f>>2]|0,c[(c[e>>2]|0)+64>>2]|0);_m(c[f>>2]|0,c[(c[e>>2]|0)+68>>2]|0);i=d;return}function cn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=(c[e>>2]|0)+8;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;Nd(a,c[(c[g>>2]|0)+4>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+12>>2]|0);Nd(c[d>>2]|0,c[(c[g>>2]|0)+64>>2]|0);Ld(c[d>>2]|0,c[(c[g>>2]|0)+16>>2]|0);an(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0);dn(c[d>>2]|0,c[(c[g>>2]|0)+44>>2]|0);en(c[d>>2]|0,c[(c[g>>2]|0)+48>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}Nd(a,c[e>>2]|0);i=h;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}do if(!(c[(c[e>>2]|0)+4>>2]&16384)){dn(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);dn(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);if(c[(c[e>>2]|0)+4>>2]&65536)Nd(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=c[d>>2]|0;a=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){an(b,c[a>>2]|0);break}else{$m(b,c[a>>2]|0);break}}while(0);if(c[(c[e>>2]|0)+4>>2]&32768){i=f;return}Nd(c[d>>2]|0,c[e>>2]|0);i=f;return}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Nd(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(a,c[c[e>>2]>>2]|0);Nd(c[d>>2]|0,c[e>>2]|0);i=g;return}function fn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;Zd(k,j+44|0,70,c[(c[g>>2]|0)+88>>2]|0);c[k>>2]=c[g>>2];_d(k,1,c[m>>2]|0,c[l>>2]|0);c[h>>2]=$d(k)|0;if((d[k+25>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}a[(c[g>>2]|0)+64>>0]=1;m=c[h>>2]|0;i=j;return m|0}function gn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;f=j+4|0;g=j+12|0;h=j;c[f>>2]=b;c[h>>2]=(c[f>>2]|0)+12+(c[c[f>>2]>>2]<<4);if((c[c[f>>2]>>2]|0)<0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[g>>0]=a[(c[h>>2]|0)+2>>0]|0;hn(c[f>>2]|0,a[g>>0]|0,(c[h>>2]|0)+4|0);h=c[f>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;c[e>>2]=d[g>>0];h=c[e>>2]|0;i=j;return h|0}return 0}function hn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+8>>2];do switch(d[k>>0]|0|0){case 207:case 196:case 195:case 163:{an(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 175:case 174:{dn(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 228:case 221:case 220:case 210:case 209:case 208:case 205:case 203:case 200:case 188:case 179:{$m(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 213:case 212:case 201:case 194:{cn(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 252:case 197:{_m(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 243:case 238:case 229:case 227:case 216:case 204:case 202:{dn(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 223:case 219:case 217:{en(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 239:case 234:{jn(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 236:{en(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+32>>2];dn(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);$m(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);an(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);en(c[d>>2]|0,c[(c[f>>2]|0)+28>>2]|0);Nd(c[d>>2]|0,c[f>>2]|0)}i=g;return}function kn(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;p=i;i=i+32|0;h=p;j=p+8|0;k=p+20|0;l=p+16|0;o=p+12|0;m=p+21|0;n=p+4|0;c[j>>2]=f;a[k>>0]=g;c[o>>2]=e[(c[j>>2]|0)+12+(c[c[j>>2]>>2]<<4)>>1];if((c[o>>2]|0)<=429?(f=b[11688+(c[o>>2]<<1)>>1]|0,c[l>>2]=f,(f|0)!=-86):0){c[l>>2]=(c[l>>2]|0)+(d[k>>0]|0);if(!((c[l>>2]|0)<0|(c[l>>2]|0)>=1497)?(d[29229+(c[l>>2]|0)>>0]|0)==(d[k>>0]|0):0){c[h>>2]=e[8664+(c[l>>2]<<1)>>1];o=c[h>>2]|0;i=p;return o|0}if((d[k>>0]|0)>0){if((d[k>>0]|0)>>>0<70?(f=a[30726+(d[k>>0]|0)>>0]|0,a[m>>0]=f,(f&255|0)!=0):0){c[h>>2]=kn(c[j>>2]|0,a[m>>0]|0)|0;o=c[h>>2]|0;i=p;return o|0}c[n>>2]=(c[l>>2]|0)-(d[k>>0]|0)+70;if((c[n>>2]|0)>=0?(d[29229+(c[n>>2]|0)>>0]|0)==70:0){c[h>>2]=e[8664+(c[n>>2]<<1)>>1];o=c[h>>2]|0;i=p;return o|0}}c[h>>2]=e[12548+(c[o>>2]<<1)>>1];o=c[h>>2]|0;i=p;return o|0}c[h>>2]=e[12548+(c[o>>2]<<1)>>1];o=c[h>>2]|0;i=p;return o|0}function ln(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+1;f=c[h>>2]|0;if((c[c[h>>2]>>2]|0)>=100){Cy(f,c[l>>2]|0);i=n;return}else{c[m>>2]=(c[h>>2]|0)+12+(c[f>>2]<<4);b[c[m>>2]>>1]=c[j>>2];a[(c[m>>2]|0)+2>>0]=c[k>>2];m=(c[m>>2]|0)+4|0;l=c[l>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];i=n;return}} +function av(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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,ya=0,za=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;Xa=i;i=i+368|0;Ha=Xa;Ia=Xa+208|0;Z=Xa+152|0;Ja=Xa+8|0;Na=Xa+20|0;Ga=Xa+168|0;Ma=Xa+296|0;F=Xa+16|0;N=Xa+32|0;Ea=Xa+40|0;Sa=Xa+44|0;Fa=Xa+48|0;Va=Xa+52|0;Ua=Xa+56|0;Ta=Xa+60|0;La=Xa+128|0;Wa=Xa+36|0;E=Xa+72|0;v=Xa+76|0;Ka=Xa+80|0;K=Xa+84|0;l=Xa+88|0;k=Xa+92|0;A=Xa+96|0;z=Xa+100|0;D=Xa+104|0;B=Xa+108|0;u=Xa+112|0;t=Xa+116|0;m=Xa+120|0;o=Xa+124|0;n=Xa+68|0;p=Xa+64|0;r=Xa+136|0;s=Xa+140|0;q=Xa+144|0;M=Xa+348|0;V=Xa+304|0;S=Xa+312|0;R=Xa+320|0;W=Xa+328|0;J=Xa+336|0;X=Xa+340|0;L=Xa+176|0;P=Xa+180|0;aa=Xa+344|0;w=Xa+188|0;O=Xa+192|0;Y=Xa+196|0;I=Xa+352|0;G=Xa+353|0;H=Xa+354|0;x=Xa+212|0;y=Xa+355|0;T=Xa+220|0;U=Xa+224|0;Q=Xa+228|0;ra=Xa+232|0;pa=Xa+236|0;ma=Xa+240|0;$=Xa+244|0;ya=Xa+248|0;Aa=Xa+252|0;za=Xa+256|0;ba=Xa+260|0;da=Xa+264|0;Ba=Xa+268|0;ga=Xa+272|0;Ca=Xa+350|0;la=Xa+280|0;wa=Xa+284|0;ia=Xa+288|0;ka=Xa+292|0;sa=Xa+28|0;fa=Xa+184|0;na=Xa+24|0;qa=Xa+300|0;va=Xa+156|0;oa=Xa+308|0;ha=Xa+132|0;ua=Xa+160|0;xa=Xa+316|0;ea=Xa+164|0;ta=Xa+324|0;ja=Xa+172|0;ca=Xa+276|0;_=Xa+216|0;Pa=Xa+332|0;Qa=Xa+204|0;Ra=Xa+200|0;Oa=Xa+148|0;c[Ia>>2]=f;c[Z>>2]=g;g=Ja;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[l>>2]=0;c[Ta>>2]=c[c[Ia>>2]>>2];c[Wa>>2]=c[(c[Ta>>2]|0)+8>>2];c[Va>>2]=(c[Ia>>2]|0)+328;c[La>>2]=c[c[Ta>>2]>>2];c[Sa>>2]=(c[Ia>>2]|0)+736+((c[Z>>2]|0)*72|0);c[Fa>>2]=c[(c[Sa>>2]|0)+56>>2];c[E>>2]=(c[(c[Ia>>2]|0)+4>>2]|0)+8+((d[(c[Sa>>2]|0)+36>>0]|0)*72|0);c[Ma>>2]=c[(c[E>>2]|0)+40>>2];h=Ja;g=c[h>>2]|0;h=c[h+4>>2]|0;j=Zu((c[Ia>>2]|0)+68|0,c[Ma>>2]|0)|0;f=(c[Sa>>2]|0)+64|0;c[f>>2]=g&~j;c[f+4>>2]=h&~C;f=(c[Ia>>2]|0)+24|0;f=GH(c[f>>2]|0,c[f+4>>2]|0,c[Z>>2]|0)|0;c[Ea>>2]=f&1;if(c[(c[Fa>>2]|0)+36>>2]&64)h=(e[(c[Ia>>2]|0)+34>>1]&32|0)==0;else h=0;c[N>>2]=h&1;f=zr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+16>>2]=f;c[(c[Sa>>2]|0)+12>>2]=f;c[v>>2]=f;f=zr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+24>>2]=f;c[Ka>>2]=f;if((d[(c[Sa>>2]|0)+36>>0]|0)>0?(d[(c[E>>2]|0)+36>>0]&8|0)!=0:0){h=(c[Ta>>2]|0)+72|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;c[c[Sa>>2]>>2]=f;Ro(c[Wa>>2]|0,25,0,c[c[Sa>>2]>>2]|0)|0}do if(!((d[(c[E>>2]|0)+37>>0]|0)>>>2&1)){h=c[Fa>>2]|0;if(c[(c[Fa>>2]|0)+36>>2]&1024){c[D>>2]=e[h+40>>1];ns(c[Ta>>2]|0);c[A>>2]=ps(c[Ta>>2]|0,(c[D>>2]|0)+2|0)|0;c[z>>2]=c[(c[Sa>>2]|0)+12>>2];c[Na>>2]=0;while(1){if((c[Na>>2]|0)>=(c[D>>2]|0))break;c[B>>2]=(c[A>>2]|0)+(c[Na>>2]|0)+2;c[Ua>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(c[Na>>2]<<2)>>2];do if(c[Ua>>2]|0){g=c[Ta>>2]|0;j=c[Ua>>2]|0;if(e[(c[Ua>>2]|0)+18>>1]&1){bv(g,j,c[Sa>>2]|0,c[Na>>2]|0,c[Ea>>2]|0,c[B>>2]|0)|0;c[z>>2]=c[(c[Sa>>2]|0)+16>>2];break}else{Fs(g,c[(c[j>>2]|0)+16>>2]|0,c[B>>2]|0);break}}while(0);c[Na>>2]=(c[Na>>2]|0)+1}Ro(c[Wa>>2]|0,25,c[(c[Fa>>2]|0)+24>>2]|0,c[A>>2]|0)|0;Ro(c[Wa>>2]|0,25,c[D>>2]|0,(c[A>>2]|0)+1|0)|0;To(c[Wa>>2]|0,14,c[Ma>>2]|0,c[z>>2]|0,c[A>>2]|0,c[(c[Fa>>2]|0)+24+8>>2]|0,(d[(c[Fa>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Fa>>2]|0)+24+4>>0]=0;c[Na>>2]=0;while(1){if(!((c[Na>>2]|0)<(c[D>>2]|0)?(c[Na>>2]|0)<16:0))break;if(e[(c[Fa>>2]|0)+24+6>>1]>>c[Na>>2]&1)cv(c[Sa>>2]|0,c[(c[(c[Fa>>2]|0)+44>>2]|0)+(c[Na>>2]<<2)>>2]|0);c[Na>>2]=(c[Na>>2]|0)+1}a[(c[Sa>>2]|0)+37>>0]=-107;c[(c[Sa>>2]|0)+40>>2]=c[Ma>>2];Ga=yr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+44>>2]=Ga;ss(c[Ta>>2]|0,c[A>>2]|0,(c[D>>2]|0)+2|0);ls(c[Ta>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Fa>>2]|0)+36>>2]&5|0)!=0:0){c[Ua>>2]=c[c[(c[Fa>>2]|0)+44>>2]>>2];Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[l>>2]=Ga;c[K>>2]=bv(c[Ta>>2]|0,c[Ua>>2]|0,c[Sa>>2]|0,0,c[Ea>>2]|0,c[l>>2]|0)|0;if((c[K>>2]|0)!=(c[l>>2]|0))Xo(c[Ta>>2]|0,c[l>>2]|0);c[F>>2]=c[(c[Sa>>2]|0)+16>>2];Ro(c[Wa>>2]|0,38,c[K>>2]|0,c[F>>2]|0)|0;Uo(c[Wa>>2]|0,70,c[Ma>>2]|0,c[F>>2]|0,c[K>>2]|0)|0;Ls(c[Ta>>2]|0,c[K>>2]|0,1);at(c[Ta>>2]|0,c[Ma>>2]|0,-1,c[K>>2]|0);a[(c[Sa>>2]|0)+37>>0]=-102;break}if((c[(c[Fa>>2]|0)+36>>2]&256|0)!=0?(c[(c[Fa>>2]|0)+36>>2]&2|0)!=0:0){c[u>>2]=154;c[m>>2]=0;c[Na>>2]=0;c[n>>2]=0;c[o>>2]=0;if(c[(c[Fa>>2]|0)+36>>2]&32){Ga=c[Na>>2]|0;c[Na>>2]=Ga+1;c[o>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(Ga<<2)>>2]}if(c[(c[Fa>>2]|0)+36>>2]&16){Ga=c[Na>>2]|0;c[Na>>2]=Ga+1;c[n>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(Ga<<2)>>2]}if(c[Ea>>2]|0){c[Ua>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=c[Ua>>2]}if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[r>>2]=ys(c[Ta>>2]|0,c[(c[p>>2]|0)+16>>2]|0,s)|0;Uo(c[Wa>>2]|0,d[26147+((d[c[p>>2]>>0]|0)-80)>>0]|0,c[Ma>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;Ls(c[Ta>>2]|0,c[r>>2]|0,1);Xo(c[Ta>>2]|0,c[s>>2]|0);cv(c[Sa>>2]|0,c[o>>2]|0)}else Ro(c[Wa>>2]|0,(c[Ea>>2]|0)!=0?105:108,c[Ma>>2]|0,c[v>>2]|0)|0;if(c[n>>2]|0){c[q>>2]=c[c[n>>2]>>2];Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[m>>2]=Ga;Fs(c[Ta>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[m>>2]|0);if((d[c[q>>2]>>0]|0)!=82?(d[c[q>>2]>>0]|0)!=80:0)c[u>>2]=(c[Ea>>2]|0)!=0?82:80;else c[u>>2]=(c[Ea>>2]|0)!=0?81:83;cv(c[Sa>>2]|0,c[n>>2]|0)}c[t>>2]=yr(c[Wa>>2]|0)|0;a[(c[Sa>>2]|0)+37>>0]=(c[Ea>>2]|0)!=0?8:9;c[(c[Sa>>2]|0)+40>>2]=c[Ma>>2];c[(c[Sa>>2]|0)+44>>2]=c[t>>2];if((c[u>>2]|0)==154)break;Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[K>>2]=Ga;Ro(c[Wa>>2]|0,103,c[Ma>>2]|0,c[K>>2]|0)|0;at(c[Ta>>2]|0,c[Ma>>2]|0,-1,c[K>>2]|0);Uo(c[Wa>>2]|0,c[u>>2]|0,c[m>>2]|0,c[v>>2]|0,c[K>>2]|0)|0;xf(c[Wa>>2]|0,83);break}h=c[Fa>>2]|0;if(c[(c[Fa>>2]|0)+36>>2]&512){b[M>>1]=b[h+24>>1]|0;c[S>>2]=0;c[R>>2]=0;c[w>>2]=0;a[I>>0]=0;a[G>>0]=0;a[H>>0]=0;c[P>>2]=c[(c[Fa>>2]|0)+24+4>>2];c[aa>>2]=c[(c[Sa>>2]|0)+8>>2];if(((e[(c[Ia>>2]|0)+34>>1]&1|0)!=0?(a[(c[Ia>>2]|0)+36>>0]|0)>0:0)?(e[(c[P>>2]|0)+50>>1]|0)>(e[M>>1]|0):0){a[G>>0]=1;c[w>>2]=1}c[Na>>2]=e[M>>1];if(c[(c[Fa>>2]|0)+36>>2]&32){Da=c[Na>>2]|0;c[Na>>2]=Da+1;c[S>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(Da<<2)>>2];c[w>>2]=1}if((((c[(c[Fa>>2]|0)+36>>2]&16|0)!=0?(Da=c[Na>>2]|0,c[Na>>2]=Da+1,c[R>>2]=c[(c[(c[Fa>>2]|0)+44>>2]|0)+(Da<<2)>>2],c[w>>2]=1,(c[S>>2]|0)==0):0)?(Da=b[(c[(c[P>>2]|0)+4>>2]|0)+(e[M>>1]<<1)>>1]|0,c[Na>>2]=Da,(Da|0)>=0):0)?(d[(c[(c[(c[P>>2]|0)+12>>2]|0)+4>>2]|0)+((c[Na>>2]|0)*24|0)+20>>0]|0)==0:0)a[G>>0]=1;c[V>>2]=dv(c[Ta>>2]|0,c[Sa>>2]|0,c[Ea>>2]|0,c[w>>2]|0,Y)|0;if(c[Y>>2]|0)a[I>>0]=a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0;c[F>>2]=c[(c[Sa>>2]|0)+16>>2];if((e[M>>1]|0)<(e[(c[P>>2]|0)+50>>1]|0)?(c[Ea>>2]|0)==((d[(c[(c[P>>2]|0)+28>>2]|0)+(e[M>>1]|0)>>0]|0)==0|0):0)Da=64;else Da=62;if(((Da|0)==62?(c[Ea>>2]|0)!=0:0)?(e[(c[P>>2]|0)+50>>1]|0)==(e[M>>1]|0):0)Da=64;if((Da|0)==64){c[x>>2]=c[R>>2];c[R>>2]=c[S>>2];c[S>>2]=c[x>>2];a[y>>0]=a[G>>0]|0;a[G>>0]=a[H>>0]|0;a[H>>0]=a[y>>0]|0}if(c[S>>2]|0)j=(e[(c[S>>2]|0)+18>>1]&40|0)!=0;else j=1;c[W>>2]=j&1;if(c[R>>2]|0)j=(e[(c[R>>2]|0)+18>>1]&40|0)!=0;else j=1;c[J>>2]=j&1;if(c[S>>2]|0)j=1;else j=(e[M>>1]|0)>0;c[X>>2]=j&1;c[L>>2]=e[M>>1];if(!(c[S>>2]|0)){if(a[G>>0]|0){Ro(c[Wa>>2]|0,28,0,(c[V>>2]|0)+(e[M>>1]|0)|0)|0;c[L>>2]=(c[L>>2]|0)+1;c[W>>2]=0;c[X>>2]=1}}else{c[T>>2]=c[(c[c[S>>2]>>2]|0)+16>>2];Fs(c[Ta>>2]|0,c[T>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0);do if(!(d[(c[S>>2]|0)+20>>0]&0)){if(!(Gs(c[T>>2]|0)|0))break;Ro(c[Wa>>2]|0,76,(c[V>>2]|0)+(e[M>>1]|0)|0,c[F>>2]|0)|0}while(0);do if(c[Y>>2]|0){if(((bt(c[T>>2]|0,a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]=65;if(!(ev(c[T>>2]|0,a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0)|0))break;a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]=65}while(0);c[L>>2]=(c[L>>2]|0)+1}fv(c[Ta>>2]|0,c[V>>2]|0,(c[L>>2]|0)-(d[G>>0]|0)|0,c[Y>>2]|0);c[O>>2]=d[26151+((c[X>>2]<<2)+(c[W>>2]<<1)+(c[Ea>>2]|0))>>0];wf(c[Wa>>2]|0,c[O>>2]|0,c[aa>>2]|0,c[F>>2]|0,c[V>>2]|0,c[L>>2]|0)|0;c[L>>2]=e[M>>1];do if(c[R>>2]|0){c[U>>2]=c[(c[c[R>>2]>>2]|0)+16>>2];ts(c[Ta>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0,1);Fs(c[Ta>>2]|0,c[U>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0);do if(!(d[(c[R>>2]|0)+20>>0]&0)){if(!(Gs(c[U>>2]|0)|0))break;Ro(c[Wa>>2]|0,76,(c[V>>2]|0)+(e[M>>1]|0)|0,c[F>>2]|0)|0}while(0);do if(((bt(c[U>>2]|0,a[I>>0]|0)|0)<<24>>24|0)!=65){if(ev(c[U>>2]|0,a[I>>0]|0)|0)break;fv(c[Ta>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0,1,I)}while(0);c[L>>2]=(c[L>>2]|0)+1}else{if(!(a[H>>0]|0))break;Ro(c[Wa>>2]|0,28,0,(c[V>>2]|0)+(e[M>>1]|0)|0)|0;c[J>>2]=0;c[L>>2]=(c[L>>2]|0)+1}while(0);Nd(c[La>>2]|0,c[Y>>2]|0);Da=yr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+44>>2]=Da;if(c[L>>2]|0){c[O>>2]=d[26159+((c[Ea>>2]<<1)+(c[J>>2]|0))>>0];wf(c[Wa>>2]|0,c[O>>2]|0,c[aa>>2]|0,c[F>>2]|0,c[V>>2]|0,c[L>>2]|0)|0}cv(c[Sa>>2]|0,c[S>>2]|0);cv(c[Sa>>2]|0,c[R>>2]|0);do if(!(c[N>>2]|0)){if(!(d[(c[(c[P>>2]|0)+12>>2]|0)+44>>0]&32)){Da=(c[Ta>>2]|0)+72|0;Ga=(c[Da>>2]|0)+1|0;c[Da>>2]=Ga;c[K>>2]=Ga;Ro(c[Wa>>2]|0,112,c[aa>>2]|0,c[K>>2]|0)|0;at(c[Ta>>2]|0,c[Ma>>2]|0,-1,c[K>>2]|0);Ro(c[Wa>>2]|0,66,c[Ma>>2]|0,c[K>>2]|0)|0;break}if((c[Ma>>2]|0)==(c[aa>>2]|0))break;c[Q>>2]=Lr(c[(c[P>>2]|0)+12>>2]|0)|0;c[K>>2]=ps(c[Ta>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;c[Na>>2]=0;while(1){if((c[Na>>2]|0)>=(e[(c[Q>>2]|0)+50>>1]|0))break;c[Ga>>2]=(us(c[P>>2]|0,b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[Na>>2]<<1)>>1]|0)|0)<<16>>16;Uo(c[Wa>>2]|0,47,c[aa>>2]|0,c[Ga>>2]|0,(c[K>>2]|0)+(c[Na>>2]|0)|0)|0;c[Na>>2]=(c[Na>>2]|0)+1}wf(c[Wa>>2]|0,68,c[Ma>>2]|0,c[Ka>>2]|0,c[K>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Fa>>2]|0)+36>>2]&4096)){g=(c[Sa>>2]|0)+37|0;if(c[Ea>>2]|0){a[g>>0]=8;break}else{a[g>>0]=9;break}}else a[(c[Sa>>2]|0)+37>>0]=-102;while(0);c[(c[Sa>>2]|0)+40>>2]=c[aa>>2];a[(c[Sa>>2]|0)+38>>0]=(c[(c[Fa>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Fa>>2]|0)+36>>2]&15)break;a[(c[Sa>>2]|0)+39>>0]=1;break}if(!(c[h+36>>2]&8192))if((d[(c[E>>2]|0)+37>>0]|0)>>>3&1){a[(c[Sa>>2]|0)+37>>0]=-102;break}else{a[(c[Sa>>2]|0)+37>>0]=a[26163+(c[Ea>>2]|0)>>0]|0;c[(c[Sa>>2]|0)+40>>2]=c[Ma>>2];Ga=1+(Ro(c[Wa>>2]|0,d[26165+(c[Ea>>2]|0)>>0]|0,c[Ma>>2]|0,c[v>>2]|0)|0)|0;c[(c[Sa>>2]|0)+44>>2]=Ga;a[(c[Sa>>2]|0)+39>>0]=1;break}c[ma>>2]=0;j=(c[Ta>>2]|0)+68|0;Ea=c[j>>2]|0;c[j>>2]=Ea+1;c[$>>2]=Ea;Ea=(c[Ta>>2]|0)+72|0;j=(c[Ea>>2]|0)+1|0;c[Ea>>2]=j;c[ya>>2]=j;c[Aa>>2]=0;c[za>>2]=0;c[ba>>2]=zr(c[Wa>>2]|0)|0;c[Ba>>2]=0;c[la>>2]=0;c[wa>>2]=c[(c[E>>2]|0)+16>>2];c[Ua>>2]=c[c[(c[Fa>>2]|0)+44>>2]>>2];c[ra>>2]=c[(c[Ua>>2]|0)+12>>2];a[(c[Sa>>2]|0)+37>>0]=18;c[(c[Sa>>2]|0)+40>>2]=c[ya>>2];j=c[Ia>>2]|0;a:do if((d[(c[Ia>>2]|0)+41>>0]|0)>1){c[ia>>2]=(d[j+41>>0]|0)-(c[Z>>2]|0)-1;c[pa>>2]=qf(c[La>>2]|0,80+((c[ia>>2]|0)*72|0)|0,0)|0;if(!(c[pa>>2]|0)){Ua=Ja;Wa=c[Ua+4>>2]|0;Va=Ha;c[Va>>2]=c[Ua>>2];c[Va+4>>2]=Wa;Va=Ha;Wa=Va;Wa=c[Wa>>2]|0;Va=Va+4|0;Va=c[Va>>2]|0;C=Va;i=Xa;return Wa|0}c[(c[pa>>2]|0)+4>>2]=(c[ia>>2]|0)+1&255;c[c[pa>>2]>>2]=c[(c[pa>>2]|0)+4>>2];h=(c[pa>>2]|0)+8|0;j=c[E>>2]|0;g=h+72|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(g|0));c[ka>>2]=(c[(c[Ia>>2]|0)+4>>2]|0)+8;c[Ga>>2]=1;while(1){if((c[Ga>>2]|0)>(c[ia>>2]|0))break a;h=(c[pa>>2]|0)+8+((c[Ga>>2]|0)*72|0)|0;j=(c[ka>>2]|0)+((d[(c[Sa>>2]|0)+((c[Ga>>2]|0)*72|0)+36>>0]|0)*72|0)|0;g=h+72|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(g|0));c[Ga>>2]=(c[Ga>>2]|0)+1}}else c[pa>>2]=c[j+4>>2];while(0);if(!(e[(c[Ia>>2]|0)+34>>1]&8)){if(!(d[(c[wa>>2]|0)+44>>0]&32)){Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[Aa>>2]=Ga;Ro(c[Wa>>2]|0,28,0,c[Aa>>2]|0)|0}else{c[sa>>2]=Lr(c[wa>>2]|0)|0;Fa=(c[Ta>>2]|0)+68|0;Ga=c[Fa>>2]|0;c[Fa>>2]=Ga+1;c[Aa>>2]=Ga;Ro(c[Wa>>2]|0,57,c[Aa>>2]|0,e[(c[sa>>2]|0)+50>>1]|0)|0;xr(c[Ta>>2]|0,c[sa>>2]|0)}Fa=(c[Ta>>2]|0)+72|0;Ga=(c[Fa>>2]|0)+1|0;c[Fa>>2]=Ga;c[za>>2]=Ga}c[da>>2]=Ro(c[Wa>>2]|0,25,0,c[ya>>2]|0)|0;if((c[(c[Va>>2]|0)+12>>2]|0)>1){c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[(c[Va>>2]|0)+12>>2]|0))break;c[na>>2]=c[(c[(c[Va>>2]|0)+20>>2]|0)+((c[fa>>2]|0)*48|0)>>2];if(((((c[(c[Va>>2]|0)+20>>2]|0)+((c[fa>>2]|0)*48|0)|0)!=(c[Ua>>2]|0)?(c[(c[na>>2]|0)+4>>2]&1|0)==0:0)?(d[(c[(c[Va>>2]|0)+20>>2]|0)+((c[fa>>2]|0)*48|0)+20>>0]&18|0)==0:0)?(e[(c[(c[Va>>2]|0)+20>>2]|0)+((c[fa>>2]|0)*48|0)+18>>1]&4095|0)!=0:0){c[na>>2]=mq(c[La>>2]|0,c[na>>2]|0,0)|0;c[la>>2]=_q(c[La>>2]|0,c[la>>2]|0,c[na>>2]|0)|0}c[fa>>2]=(c[fa>>2]|0)+1}if(c[la>>2]|0)c[la>>2]=zn(c[Ta>>2]|0,72,0,c[la>>2]|0,0)|0}b[Ca>>1]=112;c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[(c[ra>>2]|0)+12>>2]|0))break;c[qa>>2]=(c[(c[ra>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0);if(!((c[(c[qa>>2]|0)+8>>2]|0)!=(c[Ma>>2]|0)?(e[(c[qa>>2]|0)+18>>1]&512|0)==0:0)){c[oa>>2]=c[c[qa>>2]>>2];c[ha>>2]=0;if((c[la>>2]|0)!=0?(c[(c[oa>>2]|0)+4>>2]&1|0)==0:0){c[(c[la>>2]|0)+12>>2]=c[oa>>2];c[oa>>2]=c[la>>2]}c[va>>2]=Gu(c[Ta>>2]|0,c[pa>>2]|0,c[oa>>2]|0,0,0,b[Ca>>1]|0,c[$>>2]|0)|0;if(c[va>>2]|0){$u(c[Ta>>2]|0,c[pa>>2]|0,(c[va>>2]|0)+736|0,c[Z>>2]|0,d[(c[Sa>>2]|0)+36>>0]|0,0);do if(!(e[(c[Ia>>2]|0)+34>>1]&8)){c[ea>>2]=(c[ga>>2]|0)==((c[(c[ra>>2]|0)+12>>2]|0)-1|0)?-1:c[ga>>2]|0;if(!(d[(c[wa>>2]|0)+44>>0]&32)){c[xa>>2]=Is(c[Ta>>2]|0,c[wa>>2]|0,-1,c[Ma>>2]|0,c[za>>2]|0,0)|0;c[ha>>2]=wf(c[Wa>>2]|0,130,c[Aa>>2]|0,0,c[xa>>2]|0,c[ea>>2]|0)|0;break}c[ta>>2]=Lr(c[wa>>2]|0)|0;c[ja>>2]=e[(c[ta>>2]|0)+50>>1];c[xa>>2]=ps(c[Ta>>2]|0,c[ja>>2]|0)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[ja>>2]|0))break;c[_>>2]=b[(c[(c[ta>>2]|0)+4>>2]|0)+(c[ca>>2]<<1)>>1];Is(c[Ta>>2]|0,c[wa>>2]|0,c[_>>2]|0,c[Ma>>2]|0,(c[xa>>2]|0)+(c[ca>>2]|0)|0,0)|0;c[ca>>2]=(c[ca>>2]|0)+1}if(c[ea>>2]|0)c[ha>>2]=wf(c[Wa>>2]|0,69,c[Aa>>2]|0,0,c[xa>>2]|0,c[ja>>2]|0)|0;do if((c[ea>>2]|0)>=0){Uo(c[Wa>>2]|0,49,c[xa>>2]|0,c[ja>>2]|0,c[za>>2]|0)|0;Uo(c[Wa>>2]|0,110,c[Aa>>2]|0,c[za>>2]|0,0)|0;if(!(c[ea>>2]|0))break;xf(c[Wa>>2]|0,16)}while(0);ss(c[Ta>>2]|0,c[xa>>2]|0,c[ja>>2]|0)}while(0);Ro(c[Wa>>2]|0,17,c[ya>>2]|0,c[ba>>2]|0)|0;if(c[ha>>2]|0)jp(c[Wa>>2]|0,c[ha>>2]|0);if(a[(c[va>>2]|0)+39>>0]|0)c[Ba>>2]=1;c[ua>>2]=c[(c[va>>2]|0)+736+56>>2];do if(c[(c[ua>>2]|0)+36>>2]&512){if((c[ga>>2]|0)!=0?(c[(c[ua>>2]|0)+24+4>>2]|0)!=(c[ma>>2]|0):0){Da=164;break}if((d[(c[wa>>2]|0)+44>>0]&32|0)!=0?(a[(c[(c[ua>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Da=164;break}c[ma>>2]=c[(c[ua>>2]|0)+24+4>>2];b[Ca>>1]=e[Ca>>1]|4096}else Da=164;while(0);if((Da|0)==164){Da=0;c[ma>>2]=0}Hu(c[va>>2]|0)}}c[ga>>2]=(c[ga>>2]|0)+1}c[(c[Sa>>2]|0)+48>>2]=c[ma>>2];if(c[ma>>2]|0)c[(c[Sa>>2]|0)+8>>2]=c[$>>2];if(c[la>>2]|0){c[(c[la>>2]|0)+12>>2]=0;dn(c[La>>2]|0,c[la>>2]|0)}Fa=c[Wa>>2]|0;Ga=c[da>>2]|0;Af(Fa,Ga,yr(c[Wa>>2]|0)|0);Ro(c[Wa>>2]|0,16,0,c[(c[Sa>>2]|0)+12>>2]|0)|0;Br(c[Wa>>2]|0,c[ba>>2]|0);if((d[(c[Ia>>2]|0)+41>>0]|0)>1)Nd(c[La>>2]|0,c[pa>>2]|0);if(!(c[Ba>>2]|0))cv(c[Sa>>2]|0,c[Ua>>2]|0)}else{c[k>>2]=c[(c[E>>2]|0)+28>>2];Uo(c[Wa>>2]|0,20,c[k>>2]|0,0,c[(c[E>>2]|0)+24>>2]|0)|0;Ga=Ro(c[Wa>>2]|0,22,c[k>>2]|0,c[v>>2]|0)|0;c[(c[Sa>>2]|0)+44>>2]=Ga;a[(c[Sa>>2]|0)+37>>0]=16}while(0);c[Ua>>2]=c[(c[Va>>2]|0)+20>>2];c[Na>>2]=c[(c[Va>>2]|0)+12>>2];while(1){if((c[Na>>2]|0)<=0)break;do if(!(d[(c[Ua>>2]|0)+20>>0]&6)){Fa=(c[Ua>>2]|0)+40|0;Ga=(c[Sa>>2]|0)+64|0;if((c[Fa>>2]&c[Ga>>2]|0)!=0?1:(c[Fa+4>>2]&c[Ga+4>>2]|0)!=0){a[(c[Ia>>2]|0)+39>>0]=1;break}c[Pa>>2]=c[c[Ua>>2]>>2];if((c[c[Sa>>2]>>2]|0)!=0?(c[(c[Pa>>2]|0)+4>>2]&1|0)==0:0)break;os(c[Ta>>2]|0,c[Pa>>2]|0,c[Ka>>2]|0,16);Ga=(c[Ua>>2]|0)+20|0;a[Ga>>0]=d[Ga>>0]|4}while(0);c[Na>>2]=(c[Na>>2]|0)+-1;c[Ua>>2]=(c[Ua>>2]|0)+48}c[Ua>>2]=c[(c[Va>>2]|0)+20>>2];c[Na>>2]=c[(c[Va>>2]|0)+12>>2];while(1){if((c[Na>>2]|0)<=0)break;if(((((((d[(c[Ua>>2]|0)+20>>0]&6|0)==0?(e[(c[Ua>>2]|0)+18>>1]|0)==1026:0)?(c[(c[Ua>>2]|0)+8>>2]|0)==(c[Ma>>2]|0):0)?(c[c[Sa>>2]>>2]|0)==0:0)?(c[Qa>>2]=c[c[Ua>>2]>>2],Pa=Ja,c[Oa>>2]=gv(c[Va>>2]|0,c[Ma>>2]|0,c[(c[Ua>>2]|0)+12>>2]|0,c[Pa>>2]|0,c[Pa+4>>2]|0,3,0)|0,(c[Oa>>2]|0)!=0):0)?(d[(c[Oa>>2]|0)+20>>0]&4|0)==0:0)?(c[Ra>>2]=qf(c[La>>2]|0,48,0)|0,(c[Ra>>2]|0)!=0):0){h=c[Ra>>2]|0;j=c[c[Oa>>2]>>2]|0;g=h+48|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(g|0));c[(c[Ra>>2]|0)+12>>2]=c[(c[Qa>>2]|0)+12>>2];os(c[Ta>>2]|0,c[Ra>>2]|0,c[Ka>>2]|0,16);Nd(c[La>>2]|0,c[Ra>>2]|0)}c[Na>>2]=(c[Na>>2]|0)+-1;c[Ua>>2]=(c[Ua>>2]|0)+48}b:do if(c[c[Sa>>2]>>2]|0){Ra=yr(c[Wa>>2]|0)|0;c[(c[Sa>>2]|0)+28>>2]=Ra;Ro(c[Wa>>2]|0,25,1,c[c[Sa>>2]>>2]|0)|0;$t(c[Ta>>2]|0);c[Ua>>2]=c[(c[Va>>2]|0)+20>>2];c[Na>>2]=0;while(1){if((c[Na>>2]|0)>=(c[(c[Va>>2]|0)+12>>2]|0))break b;if((d[(c[Ua>>2]|0)+20>>0]&6|0)==0?(Ra=(c[Ua>>2]|0)+40|0,Wa=(c[Sa>>2]|0)+64|0,!((c[Ra>>2]&c[Wa>>2]|0)!=0?1:(c[Ra+4>>2]&c[Wa+4>>2]|0)!=0)):0){os(c[Ta>>2]|0,c[c[Ua>>2]>>2]|0,c[Ka>>2]|0,16);Wa=(c[Ua>>2]|0)+20|0;a[Wa>>0]=d[Wa>>0]|4}c[Na>>2]=(c[Na>>2]|0)+1;c[Ua>>2]=(c[Ua>>2]|0)+48}}while(0);Ua=(c[Sa>>2]|0)+64|0;Wa=c[Ua+4>>2]|0;Va=Ha;c[Va>>2]=c[Ua>>2];c[Va+4>>2]=Wa;Va=Ha;Wa=Va;Wa=c[Wa>>2]|0;Va=Va+4|0;Va=c[Va>>2]|0;C=Va;i=Xa;return Wa|0}function bv(b,e,f,g,h,j){b=b|0;e=e|0;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,u=0,v=0,w=0,x=0;x=i;i=i+64|0;m=x+44|0;q=x+36|0;r=x+20|0;l=x+16|0;s=x+32|0;k=x+40|0;o=x+48|0;w=x+8|0;u=x+4|0;t=x+24|0;p=x+12|0;v=x+28|0;n=x;c[m>>2]=b;c[q>>2]=e;c[r>>2]=f;c[l>>2]=g;c[s>>2]=h;c[k>>2]=j;c[o>>2]=c[c[q>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+8>>2];if((d[c[o>>2]>>0]|0|0)==79){c[u>>2]=Hs(c[m>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[k>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;cv(v,w);w=c[u>>2]|0;i=x;return w|0}if((d[c[o>>2]>>0]|0|0)==76){c[u>>2]=c[k>>2];Ro(c[w>>2]|0,28,0,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;cv(v,w);w=c[u>>2]|0;i=x;return w|0}c[n>>2]=c[(c[r>>2]|0)+56>>2];if(((c[(c[n>>2]|0)+36>>2]&1024|0)==0?(c[(c[n>>2]|0)+24+4>>2]|0)!=0:0)?(d[(c[(c[(c[n>>2]|0)+24+4>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0|0)!=0:0)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[u>>2]=c[k>>2];c[t>>2]=Ds(c[m>>2]|0,c[o>>2]|0,4,0)|0;if((c[t>>2]|0)==4)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[p>>2]=c[(c[o>>2]|0)+28>>2];Ro(c[w>>2]|0,(c[s>>2]|0)!=0?105:108,c[p>>2]|0,0)|0;o=(c[n>>2]|0)+36|0;c[o>>2]=c[o>>2]|2048;if(!(c[(c[r>>2]|0)+48>>2]|0)){o=zr(c[w>>2]|0)|0;c[(c[r>>2]|0)+16>>2]=o}k=(c[r>>2]|0)+48|0;c[k>>2]=(c[k>>2]|0)+1;k=gm(c[c[m>>2]>>2]|0,c[(c[r>>2]|0)+48+4>>2]|0,(c[(c[r>>2]|0)+48>>2]|0)*12|0,0)|0;c[(c[r>>2]|0)+48+4>>2]=k;c[v>>2]=c[(c[r>>2]|0)+48+4>>2];k=(c[r>>2]|0)+48|0;if(!(c[v>>2]|0)){c[k>>2]=0;v=c[r>>2]|0;w=c[q>>2]|0;cv(v,w);w=c[u>>2]|0;i=x;return w|0}c[v>>2]=(c[v>>2]|0)+(((c[k>>2]|0)-1|0)*12|0);c[c[v>>2]>>2]=c[p>>2];m=c[w>>2]|0;k=c[p>>2]|0;l=c[u>>2]|0;if((c[t>>2]|0)==1){t=Ro(m,103,k,l)|0;c[(c[v>>2]|0)+4>>2]=t}else{t=Uo(m,47,k,0,l)|0;c[(c[v>>2]|0)+4>>2]=t}a[(c[v>>2]|0)+8>>0]=(c[s>>2]|0)!=0?6:7;ur(c[w>>2]|0,76,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;cv(v,w);w=c[u>>2]|0;i=x;return w|0}function cv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(!(c[g>>2]|0)){i=j;return}if((d[(c[g>>2]|0)+20>>0]|0)&4){i=j;return}if((c[c[f>>2]>>2]|0)!=0?(c[(c[c[g>>2]>>2]|0)+4>>2]&1|0)==0:0){i=j;return}b=(c[f>>2]|0)+64|0;e=(c[g>>2]|0)+40|0;if(!((c[b>>2]&c[e>>2]|0)==0?(c[b+4>>2]&c[e+4>>2]|0)==0:0)){i=j;return}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|0|4;if((c[(c[g>>2]|0)+4>>2]|0)<0){i=j;return}c[h>>2]=(c[(c[(c[g>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)*48|0);b=(c[h>>2]|0)+21|0;e=(a[b>>0]|0)+-1<<24>>24;a[b>>0]=e;if(e&255){i=j;return}cv(c[f>>2]|0,c[h>>2]|0);i=j;return}function dv(d,f,g,h,j){d=d|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;k=A+4|0;l=A+44|0;m=A+24|0;C=A+20|0;n=A+32|0;q=A+64|0;s=A+66|0;y=A+56|0;B=A+8|0;v=A+60|0;t=A+28|0;p=A+12|0;x=A;r=A+16|0;z=A+36|0;o=A+52|0;w=A+48|0;u=A+40|0;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;c[C>>2]=h;c[n>>2]=j;c[y>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[l>>2]|0)+56>>2];b[q>>1]=b[(c[t>>2]|0)+24>>1]|0;b[s>>1]=b[(c[t>>2]|0)+24+2>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+4>>2];c[x>>2]=(c[(c[k>>2]|0)+72>>2]|0)+1;c[r>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[k>>2]|0)+72|0;c[j>>2]=(c[j>>2]|0)+(c[r>>2]|0);j=c[c[k>>2]>>2]|0;c[z>>2]=ef(j,Zt(c[y>>2]|0,c[B>>2]|0)|0)|0;if(!(c[z>>2]|0))a[(c[c[k>>2]>>2]|0)+64>>0]=1;a:do if(b[s>>1]|0){c[o>>2]=c[(c[l>>2]|0)+8>>2];ur(c[y>>2]|0,(c[m>>2]|0)!=0?105:108,c[o>>2]|0)|0;c[p>>2]=Yo(c[y>>2]|0,16)|0;C=wf(c[y>>2]|0,(c[m>>2]|0)!=0?62:65,c[o>>2]|0,0,c[x>>2]|0,e[s>>1]|0)|0;c[(c[l>>2]|0)+20>>2]=C;jp(c[y>>2]|0,c[p>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[s>>1]|0))break a;Uo(c[y>>2]|0,47,c[o>>2]|0,c[p>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=e[s>>1];while(1){if((c[p>>2]|0)>=(e[q>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+44>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=bv(c[k>>2]|0,c[v>>2]|0,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[p>>2]|0)|0))if((c[r>>2]|0)==1){Xo(c[k>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{Ro(c[y>>2]|0,34,c[w>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;break}while(0);if(!(e[(c[v>>2]|0)+18>>1]&129)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if(Gs(c[u>>2]|0)|0)Ro(c[y>>2]|0,76,(c[x>>2]|0)+(c[p>>2]|0)|0,c[(c[l>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((bt(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65;if(ev(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65}}c[p>>2]=(c[p>>2]|0)+1}c[c[n>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function ev(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==158)f=1;else f=(d[c[g>>2]>>0]|0)==157;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[j>>0]=a[e>>0]|0;if((d[j>>0]|0)==159)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 132:{if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;c[k>>2]=e&1;break a}case 133:{if((a[h>>0]|0)==69)e=1;else e=(a[h>>0]|0)==67;c[k>>2]=e&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 134:{c[k>>2]=1;break a}case 154:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;else e=0;c[k>>2]=e&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function fv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)d=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else d=0;e=c[j>>2]|0;if(!d)break;c[j>>2]=e+-1}if((e|0)<=0){i=m;return}Ro(c[l>>2]|0,48,c[h>>2]|0,c[j>>2]|0)|0;Df(c[l>>2]|0,-1,c[k>>2]|0,c[j>>2]|0);Ls(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function gv(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;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,u=0;p=i;i=i+160|0;m=p+8|0;u=p+132|0;t=p+136|0;s=p+140|0;k=p;r=p+152|0;q=p+128|0;o=p+144|0;n=p+148|0;l=p+16|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[r>>2]=h;c[q>>2]=j;c[o>>2]=0;c[n>>2]=hv(l,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;while(1){if(!(c[n>>2]|0)){f=10;break}t=(c[n>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[n>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[n>>2]|0)+18>>1]|0)&2|0)!=0:0){f=6;break}if(!(c[o>>2]|0))c[o>>2]=c[n>>2]}c[n>>2]=iv(l)|0}if((f|0)==6){c[m>>2]=c[n>>2];u=c[m>>2]|0;i=p;return u|0}else if((f|0)==10){c[m>>2]=c[o>>2];u=c[m>>2]|0;i=p;return u|0}return 0}function hv(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;t=i;i=i+32|0;l=t+4|0;m=t+16|0;u=t+8|0;n=t+20|0;o=t+28|0;p=t;q=t+12|0;r=t+24|0;c[m>>2]=d;c[u>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[c[m>>2]>>2]=c[u>>2];c[(c[m>>2]|0)+4>>2]=c[u>>2];do if((c[q>>2]|0)!=0&(c[o>>2]|0)>=0){a[(c[m>>2]|0)+12>>0]=a[(c[(c[(c[q>>2]|0)+12>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)+21>>0]|0;c[r>>2]=0;while(1){g=c[r>>2]|0;h=c[q>>2]|0;if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)==(c[o>>2]|0)){s=7;break}if((g|0)>(e[h+52>>1]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((s|0)==7){c[(c[m>>2]|0)+8>>2]=c[(c[h+32>>2]|0)+(g<<2)>>2];break}c[l>>2]=0;u=c[l>>2]|0;i=t;return u|0}else{a[(c[m>>2]|0)+12>>0]=0;c[(c[m>>2]|0)+8>>2]=0}while(0);c[(c[m>>2]|0)+16>>2]=c[p>>2];c[(c[m>>2]|0)+20>>2]=0;c[(c[m>>2]|0)+24>>2]=c[n>>2];c[(c[m>>2]|0)+24+4>>2]=c[o>>2];a[(c[m>>2]|0)+13>>0]=2;a[(c[m>>2]|0)+14>>0]=2;c[l>>2]=iv(c[m>>2]|0)|0;u=c[l>>2]|0;i=t;return u|0}function iv(f){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;s=i;i=i+48|0;o=s+36|0;p=s+16|0;h=s;g=s+28|0;n=s+32|0;m=s+40|0;r=s+12|0;q=s+24|0;j=s+20|0;k=s+8|0;l=s+4|0;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+20>>2];a:while(1){if((d[(c[p>>2]|0)+14>>0]|0)>(d[(c[p>>2]|0)+13>>0]|0)){g=35;break}c[h>>2]=c[(c[p>>2]|0)+24+((d[(c[p>>2]|0)+14>>0]|0)-2<<2)>>2];c[g>>2]=c[(c[p>>2]|0)+24+((d[(c[p>>2]|0)+14>>0]|0)-1<<2)>>2];while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+8>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){if((d[(c[p>>2]|0)+14>>0]|0)>2?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if((e[(c[r>>2]|0)+18>>1]&1024|0)!=0?(d[(c[p>>2]|0)+13>>0]|0)<22:0){c[n>>2]=Vp(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+13>>0]|0))break;if((c[(c[p>>2]|0)+24+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(c[(c[p>>2]|0)+24+((c[j>>2]|0)+1<<2)>>2]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+2}if((c[j>>2]|0)==(d[(c[p>>2]|0)+13>>0]|0)){c[(c[p>>2]|0)+24+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];c[(c[p>>2]|0)+24+((c[j>>2]|0)+1<<2)>>2]=b[(c[n>>2]|0)+32>>1];f=(c[p>>2]|0)+13|0;a[f>>0]=(d[f>>0]|0)+2}}if(e[(c[r>>2]|0)+18>>1]&c[(c[p>>2]|0)+16>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+18>>1]&128|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(dt(c[n>>2]|0,a[(c[p>>2]|0)+12>>0]|0)|0))break;c[k>>2]=Ts(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if($b(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+18>>1]&2)){g=31;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=154){g=31;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+24>>2]|0)){g=31;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(c[(c[p>>2]|0)+24+4>>2]|0)){g=31;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+14|0;a[f>>0]=(d[f>>0]|0)+2}if((g|0)==31){c[(c[p>>2]|0)+20>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==35){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function jv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+24|0;j=f+20|0;h=f+16|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;_d(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,g);i=f;return}function kv(a,d,f){a=a|0;d=d|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;t=i;i=i+64|0;j=t;q=t+16|0;l=t+8|0;v=t+28|0;u=t+32|0;g=t+48|0;h=t+50|0;r=t+24|0;o=t+20|0;m=t+36|0;n=t+40|0;k=t+12|0;p=t+4|0;s=t+44|0;c[q>>2]=a;c[l>>2]=d;c[v>>2]=f;c[u>>2]=c[(c[l>>2]|0)+24+4>>2];b[g>>1]=b[(c[l>>2]|0)+24>>1]|0;b[h>>1]=b[(c[l>>2]|0)+24+2>>1]|0;c[m>>2]=c[(c[v>>2]|0)+4>>2];c[n>>2]=c[(c[u>>2]|0)+4>>2];if((e[g>>1]|0)==0?(c[(c[l>>2]|0)+36>>2]&48|0)==0:0){i=t;return}es(c[q>>2]|0,26388,2);c[r>>2]=0;while(1){d=c[r>>2]|0;if((c[r>>2]|0)>=(e[g>>1]|0))break;if((b[(c[n>>2]|0)+(d<<1)>>1]|0)<0)d=18143;else d=c[(c[m>>2]|0)+((b[(c[n>>2]|0)+(c[r>>2]<<1)>>1]|0)*24|0)>>2]|0;c[k>>2]=d;if((c[r>>2]|0)>=(e[h>>1]|0))lv(c[q>>2]|0,c[r>>2]|0,c[k>>2]|0,26391);else{if(c[r>>2]|0)es(c[q>>2]|0,26393,5);v=c[q>>2]|0;c[j>>2]=c[k>>2];jv(v,0,26399,j)}c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=d;if(c[(c[l>>2]|0)+36>>2]&32){if((b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0)<0)d=18143;else d=c[(c[m>>2]|0)+((b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0)*24|0)>>2]|0;c[p>>2]=d;u=c[q>>2]|0;v=c[r>>2]|0;c[r>>2]=v+1;lv(u,v,c[p>>2]|0,26407)}if(c[(c[l>>2]|0)+36>>2]&16){if((b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0)<0)d=18143;else d=c[(c[m>>2]|0)+((b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0)*24|0)>>2]|0;c[s>>2]=d;lv(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,26409)}es(c[q>>2]|0,26411,1);i=t;return}function lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[k>>2]|0)es(c[f>>2]|0,26393,5);fs(c[f>>2]|0,c[g>>2]|0);es(c[f>>2]|0,c[h>>2]|0,1);es(c[f>>2]|0,22934,1);i=j;return}function mv(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+40>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+18>>1]|0)&2)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+12>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+12>>2]|0)*24|0)+21>>0]|0;if(dt(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function nv(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+42>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=qf(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}EH(c[l>>2]|0,c[(c[j>>2]|0)+44>>2]|0,(e[(c[j>>2]|0)+42>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+44>>2]|0)!=((c[j>>2]|0)+52|0))Nd(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[(c[j>>2]|0)+44>>2]=c[l>>2];b[(c[j>>2]|0)+42>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function ov(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;n=m+4|0;g=m+24|0;o=m+8|0;h=m+20|0;k=m;j=m+16|0;l=m+12|0;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=gf(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function pv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+8|0;e=j+20|0;g=j+16|0;h=j;c[e>>2]=a;c[g>>2]=b;b=h;c[b>>2]=0;c[b+4>>2]=0;if(!(c[g>>2]|0)){g=f;c[g>>2]=0;c[g+4>>2]=0;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=c[e>>2]|0;a=c[g>>2]|0;if((d[c[g>>2]>>0]|0|0)==154){g=Zu(b,c[a+28>>2]|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=h;h=c[e+4>>2]|0;g=f;c[g>>2]=c[e>>2];c[g+4>>2]=h;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}l=pv(b,c[a+16>>2]|0)|0;k=h;c[k>>2]=l;c[k+4>>2]=C;k=pv(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;b=c[l+4>>2]|C;a=h;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b;a=c[e>>2]|0;b=(c[g>>2]|0)+20|0;if(c[(c[g>>2]|0)+4>>2]&2048){g=qv(a,c[b>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}else{g=Yu(a,c[b>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=f;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=f;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function qv(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;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+32>>2];k=Yu(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=Yu(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=Yu(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=pv(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=pv(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=qv(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=pv(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+44>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+52>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function rv(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){c=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=c;g=b[e>>1]|0;i=h;return g|0}a=b[f>>1]|0;if((c<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=a+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=a+(d[26468+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[26468+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function sv(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;$=i;i=i+144|0;W=$+138|0;n=$+108|0;o=$+96|0;p=$+88|0;q=$+124|0;r=$+130|0;s=$+76|0;t=$+72|0;T=$+134|0;R=$+140|0;S=$+139|0;B=$+141|0;w=$+136|0;A=$+137|0;G=$+128|0;F=$+132|0;H=$+126|0;z=$+52|0;X=$+48|0;D=$+120|0;y=$+64|0;x=$+68|0;N=$+112|0;P=$+116|0;O=$+104|0;L=$+84|0;M=$+56|0;v=$+80|0;Z=$+24|0;I=$+16|0;J=$+8|0;Q=$;U=$+60|0;V=$+100|0;u=$+135|0;K=$+92|0;E=$+32|0;Y=$+40|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[N>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=Z;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+60>>1]&128|0)!=0:0){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}b[H>>1]=c[c[o>>2]>>2];if((e[H>>1]|0)>63){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}a[B>>0]=1;f=CH(1,0,e[H>>1]|0)|0;f=AH(f|0,C|0,1,0)|0;j=I;c[j>>2]=f;c[j+4>>2]=C;j=J;c[j>>2]=0;c[j+4>>2]=0;j=Q;c[j>>2]=0;c[j+4>>2]=0;c[z>>2]=0;while(1){if(!(d[B>>0]|0))break;f=Z;h=c[f+4>>2]|0;j=I;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[z>>2]|0)>(e[r>>1]|0))break;if((c[z>>2]|0)>0){m=(c[N>>2]|0)+8|0;h=Q;f=c[h+4>>2]|c[m+4>>2];j=Q;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[z>>2]|0)<(e[r>>1]|0))k=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2]|0;else k=c[s>>2]|0;c[N>>2]=k;k=c[N>>2]|0;if(c[(c[N>>2]|0)+36>>2]&1024){_=16;break}c[y>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+40>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break;f=CH(1,0,c[X>>2]|0)|0;j=Z;do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[O>>2]=Vp(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0,(d[c[O>>2]>>0]|0)==154):0)?(c[(c[O>>2]|0)+28>>2]|0)==(c[y>>2]|0):0)?(j=Q,c[P>>2]=gv((c[n>>2]|0)+328|0,c[y>>2]|0,b[(c[O>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],130,0)|0,(c[P>>2]|0)!=0):0){if((e[(c[P>>2]|0)+18>>1]&2|0)!=0?(b[(c[O>>2]|0)+32>>1]|0)>=0:0){c[L>>2]=Pp(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[U>>2]=c[c[L>>2]>>2];c[L>>2]=Pp(c[c[n>>2]>>2]|0,c[c[P>>2]>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[V>>2]=c[c[L>>2]>>2];if($b(c[U>>2]|0,c[V>>2]|0)|0)break}m=CH(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[X>>2]=(c[X>>2]|0)+1}if(!(c[(c[N>>2]|0)+36>>2]&4096)){if(c[(c[N>>2]|0)+36>>2]&256){c[M>>2]=0;b[G>>1]=0;b[F>>1]=1}else{j=c[(c[N>>2]|0)+24+4>>2]|0;c[M>>2]=j;if(!j){_=38;break}if((d[(c[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}b[G>>1]=b[(c[M>>2]|0)+50>>1]|0;b[F>>1]=b[(c[M>>2]|0)+52>>1]|0;a[B>>0]=(d[(c[M>>2]|0)+54>>0]|0)!=0}a[T>>0]=0;a[R>>0]=0;a[w>>0]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[F>>1]|0))break;if(((c[D>>2]|0)<(e[(c[N>>2]|0)+24>>1]|0)?(e[(c[N>>2]|0)+24+2>>1]|0)==0:0)?(j=e[(c[(c[(c[N>>2]|0)+44>>2]|0)+(c[D>>2]<<2)>>2]|0)+18>>1]|0,c[X>>2]=j,(j&130|0)!=0):0){if(c[X>>2]&128)a[B>>0]=0}else{if(c[M>>2]|0){c[x>>2]=b[(c[(c[M>>2]|0)+4>>2]|0)+(c[D>>2]<<1)>>1];a[S>>0]=a[(c[(c[M>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0;if((c[x>>2]|0)==(b[(c[(c[M>>2]|0)+12>>2]|0)+36>>1]|0))c[x>>2]=-1}else{c[x>>2]=-1;a[S>>0]=0}do if((d[B>>0]|0)!=0&(c[x>>2]|0)>=0?(c[D>>2]|0)>=(e[(c[N>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[M>>2]|0)+12>>2]|0)+4>>2]|0)+((c[x>>2]|0)*24|0)+20>>0]|0)break;a[B>>0]=0}while(0);a[u>>0]=1;a[A>>0]=0;c[X>>2]=0;a:while(1){if(!(d[u>>0]|0))break;if((c[X>>2]|0)>=(e[H>>1]|0))break;f=CH(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[O>>2]=Vp(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&768))a[u>>0]=0;if((d[c[O>>2]>>0]|0)!=154)break;if((c[(c[O>>2]|0)+28>>2]|0)!=(c[y>>2]|0))break;if((b[(c[O>>2]|0)+32>>1]|0)!=(c[x>>2]|0))break;if((c[x>>2]|0)<0){_=68;break a}c[L>>2]=Pp(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];if(!($b(c[c[L>>2]>>2]|0,c[(c[(c[M>>2]|0)+32>>2]|0)+(c[D>>2]<<2)>>2]|0)|0)){_=68;break a}}while(0);c[X>>2]=(c[X>>2]|0)+1}if((_|0)==68){_=0;a[A>>0]=1}do if(d[A>>0]|0){if(e[q>>1]&256)break;if(a[T>>0]|0){if((d[R>>0]^d[S>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0]|0))break;a[A>>0]=0;break}a[R>>0]=d[S>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0];if(a[R>>0]|0){m=CH(1,0,c[z>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[T>>0]=1}while(0);if(!(a[A>>0]|0)){_=82;break}if((c[x>>2]|0)<0)a[w>>0]=1;m=CH(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[D>>2]=(c[D>>2]|0)+1}do if((_|0)==82){_=0;if((c[D>>2]|0)!=0?(c[D>>2]|0)>=(e[G>>1]|0):0)break;a[B>>0]=0}while(0);if(a[w>>0]|0)a[B>>0]=1}b:do if(a[B>>0]|0){m=(c[N>>2]|0)+8|0;h=J;f=c[h+4>>2]|c[m+4>>2];j=J;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break b;f=CH(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[K>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2];f=pv((c[n>>2]|0)+68|0,c[K>>2]|0)|0;j=E;c[j>>2]=f;c[j+4>>2]=C;j=E;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?(Ms(c[K>>2]|0)|0)==0:0)break;f=E;j=J;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=CH(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((_|0)==16){if(a[k+24+5>>0]|0){U=I;V=c[U+4>>2]|0;_=Z;c[_>>2]=c[U>>2];c[_+4>>2]=V}}else if((_|0)==38){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}V=Z;_=I;if((c[V>>2]|0)==(c[_>>2]|0)?(c[V+4>>2]|0)==(c[_+4>>2]|0):0){a[W>>0]=b[H>>1];_=a[W>>0]|0;i=$;return _|0}if(a[B>>0]|0){a[W>>0]=-1;_=a[W>>0]|0;i=$;return _|0}c[X>>2]=(e[H>>1]|0)-1;while(1){if((c[X>>2]|0)<=0){_=106;break}V=CH(1,0,c[X>>2]|0)|0;V=AH(V|0,C|0,1,0)|0;U=Y;c[U>>2]=V;c[U+4>>2]=C;U=Z;V=Y;_=Y;k=c[X>>2]|0;if((c[U>>2]&c[V>>2]|0)==(c[_>>2]|0)?(c[U+4>>2]&c[V+4>>2]|0)==(c[_+4>>2]|0):0){_=104;break}c[X>>2]=k+-1}if((_|0)==104){a[W>>0]=k;_=a[W>>0]|0;i=$;return _|0}else if((_|0)==106){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}return 0}function tv(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;k=j+8|0;m=j+16|0;n=j+4|0;o=j;l=j+14|0;h=j+12|0;c[k>>2]=a;b[m>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[l>>1]=((Qp(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;a=b[m>>1]|0;a=a+((uv(b[m>>1]|0)|0)<<16>>16)|0;b[h>>1]=a+(b[l>>1]|0)+16;if(!(e[(c[k>>2]|0)+34>>1]&1024)){o=b[h>>1]|0;i=j;return o|0}b[h>>1]=(b[h>>1]|0)+16;o=b[h>>1]|0;i=j;return o|0}function uv(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Qp(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function vv(f,g,j){f=f|0;g=g|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,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;H=i;i=i+112|0;F=H;k=H+16|0;l=H+68|0;m=H+8|0;J=H+20|0;x=H+24|0;B=H+28|0;I=H+64|0;y=H+32|0;n=H+40|0;v=H+44|0;u=H+48|0;A=H+52|0;z=H+56|0;o=H+60|0;r=H+36|0;q=H+72|0;s=H+76|0;t=H+80|0;D=H+84|0;E=H+88|0;p=H+92|0;w=H+96|0;C=H+100|0;c[l>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=j;c[D>>2]=0;c[E>>2]=0;c[C>>2]=0;c[J>>2]=c[c[l>>2]>>2];c[x>>2]=c[c[J>>2]>>2];c[n>>2]=c[c[x>>2]>>2];c[B>>2]=c[(c[l>>2]|0)+4>>2];c[w>>2]=c[(c[l>>2]|0)+12>>2];c[I>>2]=(c[(c[J>>2]|0)+4>>2]|0)+8+((d[(c[w>>2]|0)+16>>0]|0)*72|0);c[y>>2]=c[(c[I>>2]|0)+16>>2];c[v>>2]=Nv(c[x>>2]|0,c[B>>2]|0,c[I>>2]|0,c[(c[l>>2]|0)+8>>2]|0)|0;if(!(c[v>>2]|0)){c[k>>2]=7;J=c[k>>2]|0;i=H;return J|0}J=c[w>>2]|0;c[J>>2]=0;c[J+4>>2]=0;b[(c[w>>2]|0)+18>>1]=0;c[(c[w>>2]|0)+36>>2]=1024;b[(c[w>>2]|0)+40>>1]=0;a[(c[w>>2]|0)+24+4>>0]=0;c[A>>2]=c[(c[v>>2]|0)+16>>2];c[t>>2]=c[c[v>>2]>>2];if(nv(c[n>>2]|0,c[w>>2]|0,c[t>>2]|0)|0){Nd(c[n>>2]|0,c[v>>2]|0);c[k>>2]=7;J=c[k>>2]|0;i=H;return J|0}c[p>>2]=0;a:while(1){if((c[p>>2]|0)>3)break;if(((c[D>>2]|0)==0?(c[p>>2]&1|0)!=0:0)?(c[p>>2]=(c[p>>2]|0)+1,(c[p>>2]|0)>3):0)break;if((c[E>>2]|0)==0&(c[p>>2]|0)>1)break;c[u>>2]=c[(c[v>>2]|0)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[v>>2]>>2]|0))break;c[r>>2]=c[(c[u>>2]|0)+8>>2];c[z>>2]=(c[(c[B>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);b:do switch(c[p>>2]|0){case 0:{a[(c[u>>2]|0)+5>>0]=0;if(e[(c[z>>2]|0)+18>>1]&1)c[D>>2]=1;J=(c[z>>2]|0)+32|0;if((c[J>>2]|0)!=0|(c[J+4>>2]|0)!=0){c[E>>2]=1;break b}if(!(e[(c[z>>2]|0)+18>>1]&1))a[(c[u>>2]|0)+5>>0]=1;break}case 1:{J=(c[z>>2]|0)+32|0;a[(c[u>>2]|0)+5>>0]=(c[J>>2]|0)==0&(c[J+4>>2]|0)==0&1;break}case 2:{a[(c[u>>2]|0)+5>>0]=(e[(c[z>>2]|0)+18>>1]&1|0)==0;break}default:a[(c[u>>2]|0)+5>>0]=1}while(0);c[o>>2]=(c[o>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+12}BH(c[A>>2]|0,0,c[c[v>>2]>>2]<<3|0)|0;if(c[(c[v>>2]|0)+28>>2]|0)Sb(c[(c[v>>2]|0)+24>>2]|0);c[(c[v>>2]|0)+24>>2]=0;c[(c[v>>2]|0)+20>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+32>>2]=0;h[(c[v>>2]|0)+40>>3]=5.e+98;J=(c[v>>2]|0)+48|0;c[J>>2]=25;c[J+4>>2]=0;c[C>>2]=Ov(c[x>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;if(c[C>>2]|0)break;c[u>>2]=c[(c[v>>2]|0)+4>>2];f=m;I=c[f+4>>2]|0;J=c[w>>2]|0;c[J>>2]=c[f>>2];c[J+4>>2]=I;c[s>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;c[(c[(c[w>>2]|0)+44>>2]|0)+(c[o>>2]<<2)>>2]=0;c[o>>2]=(c[o>>2]|0)+1}b[(c[w>>2]|0)+24+6>>1]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;J=(c[(c[A>>2]|0)+(c[o>>2]<<3)>>2]|0)-1|0;c[q>>2]=J;if((J|0)>=0){c[r>>2]=c[(c[u>>2]|0)+8>>2];if((c[r>>2]|0)<0?1:(c[q>>2]|0)>=(c[t>>2]|0)){G=36;break a}if((c[r>>2]|0)>=(c[(c[B>>2]|0)+12>>2]|0)){G=36;break a}if(c[(c[(c[w>>2]|0)+44>>2]|0)+(c[q>>2]<<2)>>2]|0){G=36;break a}c[z>>2]=(c[(c[B>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);f=(c[z>>2]|0)+32|0;J=c[w>>2]|0;j=J;I=c[j+4>>2]|c[f+4>>2];c[J>>2]=c[j>>2]|c[f>>2];c[J+4>>2]=I;c[(c[(c[w>>2]|0)+44>>2]|0)+(c[q>>2]<<2)>>2]=c[z>>2];if((c[q>>2]|0)>(c[s>>2]|0))c[s>>2]=c[q>>2];if((c[q>>2]|0)<16?(d[(c[A>>2]|0)+(c[o>>2]<<3)+4>>0]|0)!=0:0){J=(c[w>>2]|0)+24+6|0;b[J>>1]=e[J>>1]|1<>2]}if(e[(c[z>>2]|0)+18>>1]&1){if(!(d[(c[A>>2]|0)+(c[o>>2]<<3)+4>>0]|0))break;c[(c[v>>2]|0)+32>>2]=0}}c[o>>2]=(c[o>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+12}if((c[o>>2]|0)>=(c[t>>2]|0)){b[(c[w>>2]|0)+40>>1]=(c[s>>2]|0)+1;c[(c[w>>2]|0)+24>>2]=c[(c[v>>2]|0)+20>>2];a[(c[w>>2]|0)+24+4>>0]=c[(c[v>>2]|0)+28>>2];c[(c[v>>2]|0)+28>>2]=0;c[(c[w>>2]|0)+24+8>>2]=c[(c[v>>2]|0)+24>>2];if(c[(c[v>>2]|0)+32>>2]|0)g=c[(c[v>>2]|0)+8>>2]|0;else g=0;a[(c[w>>2]|0)+24+5>>0]=g;b[(c[w>>2]|0)+18>>1]=0;J=Pv(+h[(c[v>>2]|0)+40>>3])|0;b[(c[w>>2]|0)+20>>1]=J;J=(c[v>>2]|0)+48|0;J=Qp(c[J>>2]|0,c[J+4>>2]|0)|0;b[(c[w>>2]|0)+22>>1]=J;Av(c[l>>2]|0,c[w>>2]|0)|0;if(a[(c[w>>2]|0)+24+4>>0]|0){Sb(c[(c[w>>2]|0)+24+8>>2]|0);a[(c[w>>2]|0)+24+4>>0]=0}}c[p>>2]=(c[p>>2]|0)+1}if((G|0)==36){c[C>>2]=1;J=c[x>>2]|0;c[F>>2]=c[c[y>>2]>>2];sf(J,26500,F)}if(c[(c[v>>2]|0)+28>>2]|0)Sb(c[(c[v>>2]|0)+24>>2]|0);Nd(c[n>>2]|0,c[v>>2]|0);c[k>>2]=c[C>>2];J=c[k>>2]|0;i=H;return J|0}function wv(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,A=0,B=0,D=0,E=0,F=0;E=i;i=i+144|0;j=E+24|0;k=E+8|0;y=E+16|0;s=E+20|0;B=E+32|0;m=E+132|0;l=E+136|0;F=E+88|0;t=E+124|0;r=E+96|0;D=E+128|0;o=E+108|0;n=E+112|0;A=E+138|0;z=E+140|0;w=E+100|0;u=E+92|0;q=E+120|0;v=E+116|0;x=E+104|0;p=E;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[D>>2]=0;c[o>>2]=1;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[y>>2]=c[c[j>>2]>>2];c[F>>2]=c[(c[y>>2]|0)+4>>2];c[t>>2]=(c[F>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[w>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[t>>2]|0)+68>>2]|0)c[s>>2]=c[(c[t>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+44>>0]&32){c[s>>2]=c[(c[u>>2]|0)+8>>2];break}h=B;g=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));b[B+50>>1]=1;b[B+52>>1]=1;c[B+4>>2]=l;c[B+8>>2]=m;a[B+54>>0]=5;c[B+12>>2]=c[u>>2];b[B+48>>1]=b[(c[u>>2]|0)+42>>1]|0;b[m>>1]=b[(c[u>>2]|0)+28>>1]|0;b[m+2>>1]=0;c[q>>2]=c[(c[(c[t>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[t>>2]|0)+37>>0]&1))c[B+20>>2]=c[q>>2];c[s>>2]=B}while(0);b[A>>1]=b[(c[u>>2]|0)+28>>1]|0;b[z>>1]=uv(b[A>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(c[(c[c[c[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[t>>2]|0)+68>>2]|0)==0:0)?((d[(c[t>>2]|0)+37>>0]|0)>>>2&1|0)==0:0)?(a[(c[t>>2]|0)+37>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+44>>0]&32|0)==0:0)?((d[(c[t>>2]|0)+37>>0]|0)>>>1&1|0)==0:0)?((d[(c[t>>2]|0)+37>>0]|0)>>>3&1|0)==0:0){c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(c[D>>2]|0)break a;if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break a;B=(c[v>>2]|0)+32|0;F=(c[r>>2]|0)+8|0;if(!((c[B>>2]&c[F>>2]|0)!=0?1:(c[B+4>>2]&c[F+4>>2]|0)!=0)?(mv(c[v>>2]|0,c[t>>2]|0,0,0)|0)!=0:0){b[(c[r>>2]|0)+24>>1]=1;b[(c[r>>2]|0)+24+2>>1]=0;c[(c[r>>2]|0)+24+4>>2]=0;b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+44>>2]>>2]=c[v>>2];b[(c[r>>2]|0)+18>>1]=(b[z>>1]|0)+(b[A>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+44>>0]&2|0)==0:0){F=(c[r>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[r>>2]|0)+22>>1]=43;m=rv(b[z>>1]|0,b[(c[r>>2]|0)+22>>1]|0)|0;b[(c[r>>2]|0)+20>>1]=m;c[(c[r>>2]|0)+36>>2]=16384;m=k;q=(c[v>>2]|0)+32|0;B=c[m+4>>2]|c[q+4>>2];F=c[r>>2]|0;c[F>>2]=c[m>>2]|c[q>>2];c[F+4>>2]=B;c[D>>2]=Av(c[j>>2]|0,c[r>>2]|0)|0}c[v>>2]=(c[v>>2]|0)+48}}while(0);b:while(1){if(!((c[D>>2]|0)==0?(c[s>>2]|0)!=0:0)){h=46;break}if(!((c[(c[s>>2]|0)+36>>2]|0)!=0?(Fv(c[(c[t>>2]|0)+40>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+36>>2]|0)|0)==0:0)){b[A>>1]=b[c[(c[s>>2]|0)+8>>2]>>1]|0;b[(c[r>>2]|0)+24>>1]=0;b[(c[r>>2]|0)+24+2>>1]=0;b[(c[r>>2]|0)+40>>1]=0;a[(c[r>>2]|0)+17>>0]=0;b[(c[r>>2]|0)+18>>1]=0;z=k;B=c[z+4>>2]|0;F=c[r>>2]|0;c[F>>2]=c[z>>2];c[F+4>>2]=B;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;c[(c[r>>2]|0)+24+4>>2]=c[s>>2];c[n>>2]=Gv(c[j>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+40>>2]|0)|0;do if((c[(c[s>>2]|0)+44>>2]|0)<=0){c[(c[r>>2]|0)+36>>2]=256;a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+16;Hv(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=Av(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){h=46;break b}}else{if((d[(c[s>>2]|0)+55>>0]|0)>>>5&1){c[(c[r>>2]|0)+36>>2]=576;F=p;c[F>>2]=0;c[F+4>>2]=0}else{B=(c[t>>2]|0)+56|0;x=c[B>>2]|0;B=c[B+4>>2]|0;z=Iv(c[s>>2]|0)|0;F=p;c[F>>2]=x&~z;c[F+4>>2]=B&~C;F=p;c[(c[r>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[n>>2]|0)==0?(d[(c[u>>2]|0)+44>>0]&32|0)==0:0){F=p;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[s>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[s>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+42>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[y>>2]|0)+34>>1]&4|0)==0:0))break;if(e[(c[c[c[y>>2]>>2]>>2]|0)+60>>1]&64)break}a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+1+(((b[(c[s>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+42>>1]|0)|0);F=p;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=rv(b[(c[r>>2]|0)+20>>1]|0,(b[A>>1]|0)+16&65535)|0;b[(c[r>>2]|0)+20>>1]=F}Hv(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=Av(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){h=46;break b}}while(0);c[D>>2]=Jv(c[j>>2]|0,c[t>>2]|0,c[s>>2]|0,0)|0;if(c[(c[t>>2]|0)+68>>2]|0){h=46;break}}c[s>>2]=c[(c[s>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if((h|0)==46){i=E;return c[D>>2]|0}return 0}function xv(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,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+672|0;k=F+624|0;l=F+112|0;j=F+636|0;w=F+632|0;r=F+596|0;v=F+608|0;x=F+604|0;y=F+628|0;n=F+620|0;D=F+120|0;B=F+644|0;C=F;z=F+56|0;q=F+612|0;t=F+592|0;u=F+588|0;s=F+616|0;p=F+584|0;m=F+600|0;o=F+640|0;A=F+528|0;c[k>>2]=f;f=l;c[f>>2]=g;c[f+4>>2]=h;c[j>>2]=c[c[k>>2]>>2];c[y>>2]=0;c[w>>2]=c[(c[k>>2]|0)+4>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[r>>2]=c[(c[k>>2]|0)+12>>2];g=C;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[q>>2]=(c[(c[j>>2]|0)+4>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[n>>2]=c[(c[q>>2]|0)+40>>2];c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(!((c[v>>2]|0)>>>0<(c[x>>2]|0)>>>0?(c[y>>2]|0)==0:0))break;a:do if((e[(c[v>>2]|0)+18>>1]&256|0)!=0?(f=(c[(c[v>>2]|0)+12>>2]|0)+408|0,j=(c[r>>2]|0)+8|0,(c[f>>2]&c[j>>2]|0)!=0?1:(c[f+4>>2]&c[j+4>>2]|0)!=0):0){c[t>>2]=c[(c[v>>2]|0)+12>>2];c[u>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[p>>2]=1;j=c[k>>2]|0;c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];c[B+16>>2]=c[j+16>>2];c[B+8>>2]=0;c[B+16>>2]=z;c[s>>2]=c[(c[t>>2]|0)+20>>2];b:while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;h=c[s>>2]|0;if(!(e[(c[s>>2]|0)+18>>1]&512)){if((c[h+8>>2]|0)==(c[n>>2]|0)){c[D>>2]=c[c[w>>2]>>2];c[D+4>>2]=c[w>>2];a[D+8>>0]=72;c[D+12>>2]=1;c[D+20>>2]=c[s>>2];c[B+4>>2]=D;E=11}}else{c[B+4>>2]=c[h+12>>2];E=11}c:do if((E|0)==11){E=0;b[z>>1]=0;g=l;h=c[g>>2]|0;g=c[g+4>>2]|0;if(d[(c[(c[q>>2]|0)+16>>2]|0)+44>>0]&16)c[y>>2]=vv(B,h,g)|0;else c[y>>2]=wv(B,h,g)|0;if(!(c[y>>2]|0)){j=l;c[y>>2]=xv(B,c[j>>2]|0,c[j+4>>2]|0)|0}if(!(e[z>>1]|0)){E=17;break b}if(c[p>>2]|0){yv(C,z);c[p>>2]=0;break}yv(A,C);b[C>>1]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[A>>1]|0))break c;c[o>>2]=0;while(1){h=c[m>>2]|0;if((c[o>>2]|0)>=(e[z>>1]|0))break;j=A+8+(h<<4)|0;f=z+8+(c[o>>2]<<4)|0;g=c[j>>2]|c[f>>2];f=c[j+4>>2]|c[f+4>>2];j=rv(b[A+8+(c[m>>2]<<4)+8>>1]|0,b[z+8+(c[o>>2]<<4)+8>>1]|0)|0;zv(C,g,f,j,rv(b[A+8+(c[m>>2]<<4)+10>>1]|0,b[z+8+(c[o>>2]<<4)+10>>1]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=h+1}}while(0);c[s>>2]=(c[s>>2]|0)+48}if((E|0)==17){E=0;b[C>>1]=0}b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+44>>2]>>2]=c[v>>2];c[(c[r>>2]|0)+36>>2]=8192;b[(c[r>>2]|0)+18>>1]=0;a[(c[r>>2]|0)+17>>0]=0;j=(c[r>>2]|0)+24|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[m>>2]=0;while(1){if(c[y>>2]|0)break a;if((c[m>>2]|0)>=(e[C>>1]|0))break a;b[(c[r>>2]|0)+20>>1]=(b[C+8+(c[m>>2]<<4)+8>>1]|0)+1;b[(c[r>>2]|0)+22>>1]=b[C+8+(c[m>>2]<<4)+10>>1]|0;g=C+8+(c[m>>2]<<4)|0;f=c[g+4>>2]|0;j=c[r>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;c[y>>2]=Av(c[k>>2]|0,c[r>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}i=F;return c[y>>2]|0}function yv(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;EH((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function zv(a,d,f,g,h){a=a|0;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,q=0,r=0;r=i;i=i+32|0;k=r+8|0;l=r+16|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+12|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function Av(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p;f=p+16|0;g=p+28|0;n=p+4|0;j=p+32|0;m=p+36|0;h=p+12|0;o=p+24|0;l=p+20|0;k=p+8|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){o=c[g>>2]|0;zv(c[(c[f>>2]|0)+16>>2]|0,c[o>>2]|0,c[o+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0;c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}Bv(c[(c[m>>2]|0)+16>>2]|0,c[g>>2]|0);c[n>>2]=Cv((c[m>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=qf(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){Nu(c[j>>2]|0);c[(c[j>>2]|0)+48>>2]=0;break}c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}else{c[o>>2]=(c[j>>2]|0)+48;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=Cv(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+48>>2];Ku(c[h>>2]|0,c[l>>2]|0)}}while(0);Dv(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+4>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+4>>2]=0;c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}function Bv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&512)){i=h;return}if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&32768|0)==0:0)){i=h;return}do{do if(((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[f>>2]|0)+36>>2]&32768|0)==0:0){if(Ev(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(Ev(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+48>>2]}while((c[f>>2]|0)!=0);i=h;return}function Cv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[j>>2]=a;c[f>>2]=e;c[g>>2]=c[c[j>>2]>>2];while(1){if(!(c[g>>2]|0)){f=18;break}if((d[(c[g>>2]|0)+16>>0]|0)==(d[(c[f>>2]|0)+16>>0]|0)?(d[(c[g>>2]|0)+17>>0]|0)==(d[(c[f>>2]|0)+17>>0]|0):0){if((((c[(c[g>>2]|0)+36>>2]&16384|0)!=0?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[f>>2]|0)+36>>2]&1|0)!=0:0)?(l=c[g>>2]|0,e=c[f>>2]|0,a=c[f>>2]|0,(c[l>>2]&c[e>>2]|0)==(c[a>>2]|0)?(c[l+4>>2]&c[e+4>>2]|0)==(c[a+4>>2]|0):0):0){f=18;break}e=c[g>>2]|0;a=c[f>>2]|0;l=c[g>>2]|0;if(((((c[e>>2]&c[a>>2]|0)==(c[l>>2]|0)?(c[e+4>>2]&c[a+4>>2]|0)==(c[l+4>>2]|0):0)?(b[(c[g>>2]|0)+18>>1]|0)<=(b[(c[f>>2]|0)+18>>1]|0):0)?(b[(c[g>>2]|0)+20>>1]|0)<=(b[(c[f>>2]|0)+20>>1]|0):0)?(b[(c[g>>2]|0)+22>>1]|0)<=(b[(c[f>>2]|0)+22>>1]|0):0){f=13;break}e=c[g>>2]|0;a=c[f>>2]|0;l=c[f>>2]|0;if((((c[e>>2]&c[a>>2]|0)==(c[l>>2]|0)?(c[e+4>>2]&c[a+4>>2]|0)==(c[l+4>>2]|0):0)?(b[(c[g>>2]|0)+20>>1]|0)>=(b[(c[f>>2]|0)+20>>1]|0):0)?(b[(c[g>>2]|0)+22>>1]|0)>=(b[(c[f>>2]|0)+22>>1]|0):0){f=18;break}}c[j>>2]=(c[g>>2]|0)+48;c[g>>2]=c[c[j>>2]>>2]}if((f|0)==13){c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}else if((f|0)==18){c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}return 0}function Dv(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;n=i;i=i+16|0;l=n+12|0;j=n+8|0;k=n+4|0;m=n;c[j>>2]=d;c[k>>2]=f;c[m>>2]=g;Mu(c[j>>2]|0,c[k>>2]|0);j=(nv(c[j>>2]|0,c[k>>2]|0,e[(c[m>>2]|0)+40>>1]|0)|0)!=0;f=c[k>>2]|0;if(j){m=f+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[l>>2]=7;m=c[l>>2]|0;i=n;return m|0}g=c[m>>2]|0;d=f;h=g;j=d+40|0;do{c[d>>2]=c[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(j|0));b[f+40>>1]=b[g+40>>1]|0;EH(c[(c[k>>2]|0)+44>>2]|0,c[(c[m>>2]|0)+44>>2]|0,(e[(c[k>>2]|0)+40>>1]|0)<<2|0)|0;d=c[m>>2]|0;if(!(c[(c[m>>2]|0)+36>>2]&1024)){if(c[d+36>>2]&16384)c[(c[m>>2]|0)+24+4>>2]=0}else a[d+24+4>>0]=0;c[l>>2]=0;m=c[l>>2]|0;i=n;return m|0}function Ev(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if((e[(c[f>>2]|0)+40>>1]|0)>=(e[(c[g>>2]|0)+40>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=17;break}c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+44>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+44>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=15;break}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==15){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==17){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function Fv(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,l=0;l=i;i=i+32|0;k=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[j>>2]=c[(c[f>>2]|0)+20>>2];while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+12>>2]|0)){e=6;break}if(Mv(c[c[j>>2]>>2]|0,c[g>>2]|0,c[e>>2]|0)|0){e=4;break}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+48}if((e|0)==4){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((e|0)==6){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function Gv(a,f,g){a=a|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;q=i;i=i+32|0;p=q+4|0;h=q+16|0;j=q+8|0;k=q+20|0;o=q+28|0;l=q;m=q+12|0;n=q+24|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+55>>0]|0)>>>2&1){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}f=c[(c[c[h>>2]>>2]|0)+8>>2]|0;c[o>>2]=f;if(!f){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=0;a:while(1){if((c[l>>2]|0)>=(c[c[o>>2]>>2]|0)){h=18;break}c[n>>2]=Vp(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;if((d[c[n>>2]>>0]|0)!=154){h=8;break}b:do if((c[(c[n>>2]|0)+28>>2]|0)==(c[k>>2]|0)){if((b[(c[n>>2]|0)+32>>1]|0)<0){h=11;break a}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[j>>2]|0)+50>>1]|0))break b;if((b[(c[n>>2]|0)+32>>1]|0)==(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0)){h=15;break a}c[m>>2]=(c[m>>2]|0)+1}}while(0);c[l>>2]=(c[l>>2]|0)+1}if((h|0)==8){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}else if((h|0)==11){c[p>>2]=1;p=c[p>>2]|0;i=q;return p|0}else if((h|0)==15){c[p>>2]=1;p=c[p>>2]|0;i=q;return p|0}else if((h|0)==18){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function Hv(a,f,g){a=a|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;r=i;i=i+48|0;h=r+8|0;j=r+20|0;k=r+36|0;p=r+28|0;q=r+32|0;o=r;l=r+16|0;m=r+12|0;n=r+24|0;c[h>>2]=a;c[j>>2]=f;b[k>>1]=g;s=c[j>>2]|0;g=(c[j>>2]|0)+8|0;f=~(c[s+4>>2]|c[g+4>>2]);a=o;c[a>>2]=~(c[s>>2]|c[g>>2]);c[a+4>>2]=f;c[n>>2]=0;c[l>>2]=c[(c[h>>2]|0)+12>>2];c[p>>2]=c[(c[h>>2]|0)+20>>2];while(1){if((c[l>>2]|0)<=0)break;if(d[(c[p>>2]|0)+20>>0]&2)break;a=(c[p>>2]|0)+40|0;s=(c[j>>2]|0)+8|0;do if(!((c[a>>2]&c[s>>2]|0)==0?(c[a+4>>2]&c[s+4>>2]|0)==0:0)?(a=(c[p>>2]|0)+40|0,s=o,!((c[a>>2]&c[s>>2]|0)!=0?1:(c[a+4>>2]&c[s+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[j>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[q>>2]=c[(c[(c[j>>2]|0)+44>>2]|0)+(c[m>>2]<<2)>>2];if(c[q>>2]|0){if((c[q>>2]|0)==(c[p>>2]|0))break;if((c[(c[q>>2]|0)+4>>2]|0)>=0?((c[(c[h>>2]|0)+20>>2]|0)+((c[(c[q>>2]|0)+4>>2]|0)*48|0)|0)==(c[p>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[p>>2]|0)+16>>1]|0)<=0){s=(c[j>>2]|0)+22|0;b[s>>1]=(b[s>>1]|0)+(b[(c[p>>2]|0)+16>>1]|0);break}s=(c[j>>2]|0)+22|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16;if(e[(c[p>>2]|0)+18>>1]&2)c[n>>2]=(c[n>>2]|0)+1}}while(0);c[l>>2]=(c[l>>2]|0)+-1;c[p>>2]=(c[p>>2]|0)+48}if(!(c[n>>2]|0)){i=r;return}if((b[(c[j>>2]|0)+22>>1]|0)<=((b[k>>1]|0)-10|0)){i=r;return}b[(c[j>>2]|0)+22>>1]=(b[k>>1]|0)-10;i=r;return}function Iv(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=CH(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function Jv(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,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;O=i;i=i+224|0;m=O+192|0;n=O+24|0;o=O+12|0;p=O+36|0;q=O+198|0;P=O+20|0;A=O+164|0;r=O+172|0;z=O+180|0;B=O+188|0;l=O+40|0;N=O+48|0;L=O;I=O+200|0;H=O+206|0;K=O+210|0;M=O+168|0;J=O+196|0;t=O+176|0;G=O+184|0;F=O+214|0;E=O+204|0;C=O+32|0;x=O+28|0;k=O+212|0;s=O+216|0;D=O+202|0;w=O+208|0;v=O+16|0;y=O+160|0;u=O+8|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;c[P>>2]=c[c[n>>2]>>2];c[A>>2]=c[c[P>>2]>>2];c[r>>2]=c[c[A>>2]>>2];c[G>>2]=0;c[C>>2]=0;c[x>>2]=0;c[z>>2]=c[(c[n>>2]|0)+12>>2];if(a[(c[r>>2]|0)+64>>0]|0){c[m>>2]=7;P=c[m>>2]|0;i=O;return P|0}do if(c[(c[z>>2]|0)+36>>2]&32)c[l>>2]=24;else{if((c[(c[p>>2]|0)+44>>2]|0)>0?(d[(c[o>>2]|0)+36>>0]&8|0)==0:0){c[l>>2]=191;break}c[l>>2]=63}while(0);if((d[(c[p>>2]|0)+55>>0]|0)>>>2&1)c[l>>2]=c[l>>2]&-61;c[t>>2]=b[(c[(c[p>>2]|0)+4>>2]|0)+(e[(c[z>>2]|0)+24>>1]<<1)>>1];c[B>>2]=hv(N,c[(c[n>>2]|0)+4>>2]|0,c[(c[o>>2]|0)+40>>2]|0,c[t>>2]|0,c[l>>2]|0,c[p>>2]|0)|0;b[H>>1]=b[(c[z>>2]|0)+24>>1]|0;b[K>>1]=b[(c[z>>2]|0)+24+2>>1]|0;b[I>>1]=b[(c[z>>2]|0)+40>>1]|0;c[M>>2]=c[(c[z>>2]|0)+36>>2];h=c[z>>2]|0;g=c[h+4>>2]|0;P=L;c[P>>2]=c[h>>2];c[P+4>>2]=g;b[J>>1]=b[(c[z>>2]|0)+22>>1]|0;b[(c[z>>2]|0)+18>>1]=0;b[F>>1]=b[c[(c[p>>2]|0)+8>>2]>>1]|0;b[E>>1]=uv(b[F>>1]|0)|0;if((((e[H>>1]|0)==(e[K>>1]|0)?((e[H>>1]|0)+1|0)<(e[(c[p>>2]|0)+50>>1]|0):0)?(b[(c[(c[p>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=nv(c[r>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0,c[G>>2]=P,(P|0)==0):0){g=(c[z>>2]|0)+24|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[z>>2]|0)+24+2|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;g=(c[z>>2]|0)+40|0;P=b[g>>1]|0;b[g>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+44>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[k>>1]=(b[(c[(c[p>>2]|0)+8>>2]|0)+(e[H>>1]<<1)>>1]|0)-(b[(c[(c[p>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0);if(c[B>>2]|0)b[k>>1]=(b[k>>1]|0)+10;P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[k>>1]|0);b[k>>1]=(b[k>>1]|0)+5;Jv(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,(b[k>>1]|0)+(b[q>>1]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+24+2>>1]=b[K>>1]|0}while(1){if(!((c[G>>2]|0)==0?(c[B>>2]|0)!=0:0))break;b[s>>1]=b[(c[B>>2]|0)+18>>1]|0;c[v>>2]=0;if((e[s>>1]|0)!=128?(d[(c[B>>2]|0)+20>>0]&0|0)==0:0)k=23;else k=21;if(((k|0)==21?(k=0,(c[t>>2]|0)>=0):0)?(d[(c[(c[(c[o>>2]|0)+16>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+20>>0]|0)==0:0)k=23;if((k|0)==23?(0,g=(c[B>>2]|0)+32|0,P=(c[z>>2]|0)+8|0,!((c[g>>2]&c[P>>2]|0)!=0?1:(c[g+4>>2]&c[P+4>>2]|0)!=0)):0){c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(nv(c[r>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break;f=c[B>>2]|0;h=(c[z>>2]|0)+40|0;l=b[h>>1]|0;b[h>>1]=l+1<<16>>16;c[(c[(c[z>>2]|0)+44>>2]|0)+((l&65535)<<2)>>2]=f;l=L;f=(c[B>>2]|0)+32|0;h=(c[z>>2]|0)+8|0;g=(c[l+4>>2]|c[f+4>>2])&~c[h+4>>2];P=c[z>>2]|0;c[P>>2]=(c[l>>2]|c[f>>2])&~c[h>>2];c[P+4>>2]=g;do if(e[s>>1]&1){c[y>>2]=c[c[B>>2]>>2];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[y>>2]|0)+4>>2]&2048){c[v>>2]=46;break}if((c[(c[y>>2]|0)+20>>2]|0)!=0?(c[c[(c[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[y>>2]|0)+20>>2]>>2]|0;c[v>>2]=(Qp(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else if(e[s>>1]&2){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[t>>2]|0)>=0){if(b[q>>1]|0)break;if((e[(c[z>>2]|0)+24>>1]|0)!=((e[(c[p>>2]|0)+50>>1]|0)-1|0))break}if((c[t>>2]|0)>=0?(d[(c[p>>2]|0)+54>>0]|0)==0:0){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}else{if(e[s>>1]&128){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}k=(c[z>>2]|0)+36|0;j=c[k>>2]|0;if(e[s>>1]&36){c[k>>2]=j|34;c[x>>2]=c[B>>2];c[C>>2]=0;break}c[k>>2]=j|18;c[C>>2]=c[B>>2];if(c[(c[z>>2]|0)+36>>2]&32)k=c[(c[(c[z>>2]|0)+44>>2]|0)+((e[(c[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else k=0;c[x>>2]=k;break}while(0);do if(!(c[(c[z>>2]|0)+36>>2]&2)){g=(c[z>>2]|0)+24|0;P=(b[g>>1]|0)+1<<16>>16;b[g>>1]=P;c[u>>2]=P&65535;if((c[t>>2]|0)>=0?(b[(c[B>>2]|0)+16>>1]|0)<=0:0){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[B>>2]|0)+16>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[v>>2]|0);break}P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[p>>2]|0)+8>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[(c[p>>2]|0)+8>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0));if(e[s>>1]&128){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else Kv(c[A>>2]|0,c[n>>2]|0,c[x>>2]|0,c[C>>2]|0,c[z>>2]|0)|0;while(0);b[D>>1]=(b[(c[z>>2]|0)+22>>1]|0)+1+(((b[(c[p>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[o>>2]|0)+16>>2]|0)+42>>1]|0)|0);P=rv(b[E>>1]|0,b[D>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=P;if(!(c[(c[z>>2]|0)+36>>2]&320)){P=rv(b[(c[z>>2]|0)+20>>1]|0,(b[(c[z>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=P}b[w>>1]=b[(c[z>>2]|0)+22>>1]|0;P=(c[z>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[q>>1]|0)+(c[v>>2]|0));P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[q>>1]|0)+(c[v>>2]|0));Hv(c[(c[n>>2]|0)+4>>2]|0,c[z>>2]|0,b[F>>1]|0);c[G>>2]=Av(c[n>>2]|0,c[z>>2]|0)|0;if(c[(c[z>>2]|0)+36>>2]&2)b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;else b[(c[z>>2]|0)+22>>1]=b[w>>1]|0;if((c[(c[z>>2]|0)+36>>2]&16|0)==0?(e[(c[z>>2]|0)+24>>1]|0)<(e[(c[p>>2]|0)+52>>1]|0):0)Jv(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,(b[q>>1]|0)+(c[v>>2]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0}c[B>>2]=iv(N)|0}N=c[L+4>>2]|0;P=c[z>>2]|0;c[P>>2]=c[L>>2];c[P+4>>2]=N;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+24+2>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;c[m>>2]=c[G>>2];P=c[m>>2]|0;i=O;return P|0}function Kv(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+12|0;k=o+4|0;n=o;m=o+8|0;l=o+28|0;c[o+24>>2]=a;c[o+16>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=Lv(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=Lv(c[j>>2]|0,b[l>>1]|0)|0;if((c[h>>2]|0)!=0&(c[j>>2]|0)!=0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function Lv(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=e;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){e=c[f>>2]|0;if((b[(c[f>>2]|0)+16>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[e+16>>1]|0);break}if(!(d[e+20>>0]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function Mv(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(oq(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==71){if((Mv(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(Mv(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==77?(oq(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=76:0)?(d[c[g>>2]>>0]|0|0)!=73:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function Nv(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;C=D;k=D+12|0;l=D+4|0;m=D+36|0;n=D+24|0;o=D+16|0;p=D+20|0;q=D+8|0;t=D+28|0;x=D+32|0;z=D+40|0;B=D+44|0;A=D+48|0;s=D+52|0;y=D+56|0;r=D+60|0;v=D+64|0;u=D+72|0;w=D+68|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=0;c[p>>2]=0;c[A>>2]=c[(c[m>>2]|0)+20>>2];while(1){if((c[p>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;if(((c[(c[A>>2]|0)+8>>2]|0)==(c[(c[n>>2]|0)+40>>2]|0)?(e[(c[A>>2]|0)+18>>1]&-1153|0)!=0:0)?(d[(c[A>>2]|0)+20>>0]&0|0)==0:0)c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+48}c[s>>2]=0;if(c[o>>2]|0){c[r>>2]=c[c[o>>2]>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[v>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((d[c[v>>2]>>0]|0)!=154)break;if((c[(c[v>>2]|0)+28>>2]|0)!=(c[(c[n>>2]|0)+40>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}if((c[p>>2]|0)==(c[r>>2]|0))c[s>>2]=c[r>>2]}c[y>>2]=gf(c[c[l>>2]>>2]|0,56+((c[t>>2]|0)*20|0)+(c[s>>2]<<3)|0,0)|0;if(!(c[y>>2]|0)){sf(c[l>>2]|0,23480,C);c[k>>2]=0;C=c[k>>2]|0;i=D;return C|0}c[x>>2]=(c[y>>2]|0)+56;c[z>>2]=(c[x>>2]|0)+((c[t>>2]|0)*12|0);c[B>>2]=(c[z>>2]|0)+(c[s>>2]<<3);c[c[y>>2]>>2]=c[t>>2];c[(c[y>>2]|0)+8>>2]=c[s>>2];c[(c[y>>2]|0)+4>>2]=c[x>>2];c[(c[y>>2]|0)+12>>2]=c[z>>2];c[(c[y>>2]|0)+16>>2]=c[B>>2];c[q>>2]=0;c[p>>2]=0;c[A>>2]=c[(c[m>>2]|0)+20>>2];while(1){if((c[p>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;if(((c[(c[A>>2]|0)+8>>2]|0)==(c[(c[n>>2]|0)+40>>2]|0)?(e[(c[A>>2]|0)+18>>1]&-1153|0)!=0:0)?(d[(c[A>>2]|0)+20>>0]&0|0)==0:0){c[(c[x>>2]|0)+((c[q>>2]|0)*12|0)>>2]=c[(c[A>>2]|0)+12>>2];c[(c[x>>2]|0)+((c[q>>2]|0)*12|0)+8>>2]=c[p>>2];C=b[(c[A>>2]|0)+18>>1]&255;a[u>>0]=C;a[u>>0]=(d[u>>0]|0)==1?2:C;a[(c[x>>2]|0)+((c[q>>2]|0)*12|0)+4>>0]=a[u>>0]|0;c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+48}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[s>>2]|0))break;c[w>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];c[(c[z>>2]|0)+(c[p>>2]<<3)>>2]=b[(c[w>>2]|0)+32>>1];a[(c[z>>2]|0)+(c[p>>2]<<3)+4>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)+12>>0]|0;c[p>>2]=(c[p>>2]|0)+1}c[k>>2]=c[y>>2];C=c[k>>2]|0;i=D;return C|0}function Ov(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,o=0,p=0;p=i;i=i+48|0;o=p;n=p+8|0;m=p+16|0;f=p+32|0;g=p+24|0;h=p+20|0;k=p+28|0;j=p+36|0;l=p+40|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[(Bp(c[c[f>>2]>>2]|0,c[g>>2]|0)|0)+8>>2];c[l>>2]=vb[c[(c[c[k>>2]>>2]|0)+12>>2]&63](c[k>>2]|0,c[h>>2]|0)|0;do if(c[l>>2]|0){if((c[l>>2]|0)==7){a[(c[c[f>>2]>>2]|0)+64>>0]=1;break}e=c[f>>2]|0;if(c[(c[k>>2]|0)+8>>2]|0){c[n>>2]=c[(c[k>>2]|0)+8>>2];sf(e,14418,n);break}else{c[m>>2]=af(c[l>>2]|0)|0;sf(e,14418,m);break}}while(0);Sb(c[(c[k>>2]|0)+8>>2]|0);c[(c[k>>2]|0)+8>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[h>>2]>>2]|0))break;if((a[(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0)==0?(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]|0)>0:0){n=c[f>>2]|0;c[o>>2]=c[c[g>>2]>>2];sf(n,26528,o)}c[j>>2]=(c[j>>2]|0)+1}i=p;return c[(c[f>>2]|0)+64>>2]|0}function Pv(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Qp(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=GH(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=AH(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function Qv(a,e,f,g,h){a=a|0;e=e|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,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t;j=t+16|0;k=t+28|0;l=t+4|0;m=t+32|0;n=t+36|0;s=t+12|0;q=t+24|0;o=t+20|0;p=t+8|0;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=Vp(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==154?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=Pp(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==($b(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0}function Rv(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,A=0,B=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;aa=i;i=i+208|0;l=aa+88|0;m=aa+152|0;n=aa+48|0;j=aa+148|0;W=aa+176|0;K=aa+96|0;F=aa+56|0;_=aa+32|0;X=aa;r=aa+8|0;U=aa+52|0;y=aa+64|0;z=aa+68|0;A=aa+72|0;R=aa+76|0;p=aa+80|0;k=aa+16|0;G=aa+188|0;S=aa+172|0;B=aa+192|0;L=aa+184|0;E=aa+104|0;q=aa+194|0;t=aa+112|0;J=aa+116|0;s=aa+120|0;M=aa+124|0;u=aa+128|0;H=aa+132|0;V=aa+136|0;N=aa+140|0;O=aa+144|0;v=aa+60|0;w=aa+156|0;$=aa+160|0;o=aa+196|0;D=aa+108|0;x=aa+84|0;T=aa+92|0;I=aa+168|0;Q=aa+100|0;Y=aa+40|0;Z=aa+24|0;P=aa+180|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=r;c[g>>2]=0;c[g+4>>2]=0;c[U>>2]=0;c[y>>2]=0;c[z>>2]=0;c[R>>2]=c[c[j>>2]>>2];c[p>>2]=c[c[R>>2]>>2];if(a[(c[p>>2]|0)+64>>0]|0){i=aa;return}c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[K>>2]=(c[j>>2]|0)+68;c[F>>2]=c[c[W>>2]>>2];g=pv(c[K>>2]|0,c[(c[F>>2]|0)+12>>2]|0)|0;j=_;c[j>>2]=g;c[j+4>>2]=C;c[A>>2]=d[c[F>>2]>>0];do if((c[A>>2]|0)==75){f=c[K>>2]|0;h=(c[F>>2]|0)+20|0;if(c[(c[F>>2]|0)+4>>2]&2048){g=qv(f,c[h>>2]|0)|0;j=(c[W>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=Yu(f,c[h>>2]|0)|0;j=(c[W>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[A>>2]|0)==76){j=(c[W>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=pv(c[K>>2]|0,c[(c[F>>2]|0)+16>>2]|0)|0;j=(c[W>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=pv(c[K>>2]|0,c[F>>2]|0)|0;j=X;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[F>>2]|0)+4>>2]&1){f=Zu(c[K>>2]|0,b[(c[F>>2]|0)+36>>1]|0)|0;h=k;c[h>>2]=f;c[h+4>>2]=C;h=k;f=X;g=c[f+4>>2]|c[h+4>>2];j=X;c[j>>2]=c[f>>2]|c[h>>2];c[j+4>>2]=g;j=k;j=AH(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=r;c[k>>2]=j;c[k+4>>2]=C}j=X;f=c[j+4>>2]|0;k=(c[W>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=f;c[(c[W>>2]|0)+8>>2]=-1;c[(c[W>>2]|0)+4>>2]=-1;b[(c[W>>2]|0)+18>>1]=0;k=(Sv(c[A>>2]|0)|0)!=0;f=c[F>>2]|0;do if(k){c[G>>2]=Vp(c[f+12>>2]|0)|0;c[S>>2]=Vp(c[(c[F>>2]|0)+16>>2]|0)|0;J=(c[W>>2]|0)+32|0;M=_;b[B>>1]=((c[J>>2]&c[M>>2]|0)==0?(c[J+4>>2]&c[M+4>>2]|0)==0:0)?4095:1024;if((d[c[G>>2]>>0]|0)==154){c[(c[W>>2]|0)+8>>2]=c[(c[G>>2]|0)+28>>2];c[(c[W>>2]|0)+12>>2]=b[(c[G>>2]|0)+32>>1];M=(Tv(c[A>>2]|0)|0)&65535;b[(c[W>>2]|0)+18>>1]=M&e[B>>1]}if((c[S>>2]|0)!=0?(d[c[S>>2]>>0]|0)==154:0){b[q>>1]=0;if((c[(c[W>>2]|0)+8>>2]|0)>=0){c[E>>2]=mq(c[p>>2]|0,c[F>>2]|0,0)|0;if(a[(c[p>>2]|0)+64>>0]|0){dn(c[p>>2]|0,c[E>>2]|0);i=aa;return}c[t>>2]=Uv(c[m>>2]|0,c[E>>2]|0,3)|0;if(!(c[t>>2]|0)){i=aa;return}c[L>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[t>>2]|0)*48|0);c[(c[L>>2]|0)+4>>2]=c[n>>2];c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);a[(c[W>>2]|0)+21>>0]=1;S=(c[W>>2]|0)+20|0;a[S>>0]=d[S>>0]|8;if(((d[c[F>>2]>>0]|0)==79?(c[(c[F>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[p>>2]|0)+60>>1]&512|0)==0:0){S=(c[W>>2]|0)+18|0;b[S>>1]=e[S>>1]|1024;b[q>>1]=1024}}else{c[E>>2]=c[F>>2];c[L>>2]=c[W>>2]}Vv(c[R>>2]|0,c[E>>2]|0);c[G>>2]=Vp(c[(c[E>>2]|0)+12>>2]|0)|0;c[(c[L>>2]|0)+8>>2]=c[(c[G>>2]|0)+28>>2];c[(c[L>>2]|0)+12>>2]=b[(c[G>>2]|0)+32>>1];J=_;M=r;_=c[J+4>>2]|c[M+4>>2];S=(c[L>>2]|0)+32|0;c[S>>2]=c[J>>2]|c[M>>2];c[S+4>>2]=_;S=X;X=c[S+4>>2]|0;_=(c[L>>2]|0)+40|0;c[_>>2]=c[S>>2];c[_+4>>2]=X;_=(Tv(d[c[E>>2]>>0]|0)|0)&65535;b[(c[L>>2]|0)+18>>1]=_+(e[q>>1]|0)&e[B>>1]}}else{if((d[f>>0]|0)==74?(d[(c[m>>2]|0)+8>>0]|0)==72:0){c[J>>2]=c[(c[F>>2]|0)+20>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=2)break;S=c[R>>2]|0;X=d[26574+(c[s>>2]|0)>>0]|0;_=mq(c[p>>2]|0,c[(c[F>>2]|0)+12>>2]|0,0)|0;c[M>>2]=zn(S,X,_,mq(c[p>>2]|0,c[(c[(c[J>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0,0)|0,0)|0;Wv(c[M>>2]|0,c[F>>2]|0);c[u>>2]=Uv(c[m>>2]|0,c[M>>2]|0,3)|0;Rv(c[l>>2]|0,c[m>>2]|0,c[u>>2]|0);c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[(c[(c[m>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0)+4>>2]=c[n>>2];c[s>>2]=(c[s>>2]|0)+1}a[(c[W>>2]|0)+21>>0]=2;break}if((d[c[F>>2]>>0]|0)==71){Xv(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==72?(Yv(c[R>>2]|0,c[F>>2]|0,U,y,z)|0)!=0:0){c[H>>2]=c[(c[(c[(c[F>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[V>>2]=mq(c[p>>2]|0,c[U>>2]|0,0)|0;if(!(a[(c[p>>2]|0)+64>>0]|0)){_=(Ed(c[(c[V>>2]|0)+8>>2]|0)|0)-1|0;c[D>>2]=(c[(c[V>>2]|0)+8>>2]|0)+_;a[o>>0]=a[c[D>>2]>>0]|0;if(c[z>>2]|0){if((d[o>>0]|0)==64)c[y>>2]=0;a[o>>0]=a[13848+(d[o>>0]|0)>>0]|0}a[c[D>>2]>>0]=(d[o>>0]|0)+1}c[$>>2]=(c[z>>2]|0)!=0?15976:15963;c[$+4>>2]=6;c[N>>2]=mq(c[p>>2]|0,c[H>>2]|0,0)|0;X=c[R>>2]|0;_=bo(c[R>>2]|0,c[N>>2]|0,$)|0;c[N>>2]=zn(X,83,_,c[U>>2]|0,0)|0;Wv(c[N>>2]|0,c[F>>2]|0);c[v>>2]=Uv(c[m>>2]|0,c[N>>2]|0,3)|0;Rv(c[l>>2]|0,c[m>>2]|0,c[v>>2]|0);c[O>>2]=mq(c[p>>2]|0,c[H>>2]|0,0)|0;_=c[R>>2]|0;$=bo(c[R>>2]|0,c[O>>2]|0,$)|0;c[O>>2]=zn(_,82,$,c[V>>2]|0,0)|0;Wv(c[O>>2]|0,c[F>>2]|0);c[w>>2]=Uv(c[m>>2]|0,c[O>>2]|0,3)|0;Rv(c[l>>2]|0,c[m>>2]|0,c[w>>2]|0);c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[y>>2]|0){c[(c[(c[m>>2]|0)+20>>2]|0)+((c[v>>2]|0)*48|0)+4>>2]=c[n>>2];c[(c[(c[m>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0)+4>>2]=c[n>>2];a[(c[W>>2]|0)+21>>0]=2}}if((Zv(c[F>>2]|0)|0)!=0?(c[T>>2]=c[c[(c[(c[F>>2]|0)+20>>2]|0)+4>>2]>>2],c[I>>2]=c[(c[(c[(c[F>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],_=pv(c[K>>2]|0,c[T>>2]|0)|0,$=Z,c[$>>2]=_,c[$+4>>2]=C,$=pv(c[K>>2]|0,c[I>>2]|0)|0,_=Y,c[_>>2]=$,c[_+4>>2]=C,_=Z,$=Y,(c[_>>2]&c[$>>2]|0)==0?(c[_+4>>2]&c[$+4>>2]|0)==0:0):0){$=c[R>>2]|0;c[P>>2]=zn($,51,0,mq(c[p>>2]|0,c[T>>2]|0,0)|0,0)|0;c[x>>2]=Uv(c[m>>2]|0,c[P>>2]|0,3)|0;c[Q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[x>>2]|0)*48|0);$=Z;_=c[$+4>>2]|0;Z=(c[Q>>2]|0)+32|0;c[Z>>2]=c[$>>2];c[Z+4>>2]=_;c[(c[Q>>2]|0)+8>>2]=c[(c[I>>2]|0)+28>>2];c[(c[Q>>2]|0)+12>>2]=b[(c[I>>2]|0)+32>>1];b[(c[Q>>2]|0)+18>>1]=64;c[(c[Q>>2]|0)+4>>2]=c[n>>2];c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);a[(c[W>>2]|0)+21>>0]=1;Z=(c[W>>2]|0)+20|0;a[Z>>0]=d[Z>>0]|8;Z=(c[W>>2]|0)+40|0;_=c[Z+4>>2]|0;$=(c[Q>>2]|0)+40|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_}Z=r;$=(c[W>>2]|0)+32|0;Y=$;_=c[Y+4>>2]|c[Z+4>>2];c[$>>2]=c[Y>>2]|c[Z>>2];c[$+4>>2]=_;i=aa;return}function Sv(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=75?!((c[b>>2]|0)>=79&(c[b>>2]|0)<=83):0)b=(c[b>>2]|0)==76;else b=1;i=d;return b&1|0}function Tv(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=75)if((c[d>>2]|0)==76){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-79;break}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function Uv(e,f,g){e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+12|0;l=q+28|0;p=q+24|0;n=q;o=q+20|0;m=q+8|0;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;do if((c[(c[j>>2]|0)+12>>2]|0)>=(c[(c[j>>2]|0)+16>>2]|0)){c[o>>2]=c[(c[j>>2]|0)+20>>2];c[m>>2]=c[c[c[c[j>>2]>>2]>>2]>>2];g=qf(c[m>>2]|0,(c[(c[j>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[j>>2]|0)+20>>2]=g;if(c[(c[j>>2]|0)+20>>2]|0){EH(c[(c[j>>2]|0)+20>>2]|0,c[o>>2]|0,(c[(c[j>>2]|0)+12>>2]|0)*48|0)|0;if((c[o>>2]|0)!=((c[j>>2]|0)+24|0))Nd(c[m>>2]|0,c[o>>2]|0);g=((dm(c[m>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[j>>2]|0)+16>>2]=g;break}if((d[l>>0]|0)&1)dn(c[m>>2]|0,c[k>>2]|0);c[(c[j>>2]|0)+20>>2]=c[o>>2];c[h>>2]=0;g=c[h>>2]|0;i=q;return g|0}while(0);e=(c[j>>2]|0)+12|0;g=c[e>>2]|0;c[e>>2]=g+1;c[n>>2]=g;c[p>>2]=(c[(c[j>>2]|0)+20>>2]|0)+(g*48|0);if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+4>>2]&262144|0)!=0:0){g=c[(c[k>>2]|0)+28>>2]|0;g=((Qp(g,((g|0)<0)<<31>>31)|0)<<16>>16)-99&65535;b[(c[p>>2]|0)+16>>1]=g}else b[(c[p>>2]|0)+16>>1]=1;g=Vp(c[k>>2]|0)|0;c[c[p>>2]>>2]=g;a[(c[p>>2]|0)+20>>0]=a[l>>0]|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];c[(c[p>>2]|0)+4>>2]=-1;c[h>>2]=c[n>>2];g=c[h>>2]|0;i=q;return g|0}function Vv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(Pp(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<80){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-80^2)+80;i=m;return}function Wv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function Xv(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,A=0,B=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;R=i;i=i+144|0;s=R+64|0;t=R+72|0;u=R+84|0;P=R+124|0;N=R+132|0;y=R+32|0;O=R+36|0;H=R+76|0;z=R+60|0;M=R+44|0;L=R+52|0;q=R+104|0;x=R+24|0;l=R+16|0;n=R+128|0;p=R+136|0;o=R+140|0;m=R+80|0;j=R+8|0;k=R;r=R+92|0;F=R+96|0;A=R+48|0;B=R+108|0;E=R+112|0;v=R+116|0;w=R+120|0;G=R+56|0;J=R+88|0;I=R+40|0;K=R+100|0;D=R+68|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[P>>2]=c[c[t>>2]>>2];c[N>>2]=c[c[P>>2]>>2];c[y>>2]=c[c[N>>2]>>2];c[O>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0);c[H>>2]=c[c[O>>2]>>2];g=gf(c[y>>2]|0,416,0)|0;c[q>>2]=g;c[(c[O>>2]|0)+12>>2]=g;if(!(c[q>>2]|0)){i=R;return}g=(c[O>>2]|0)+20|0;a[g>>0]=d[g>>0]|16;c[M>>2]=c[q>>2];Qu(c[M>>2]|0,c[P>>2]|0);Ru(c[M>>2]|0,c[H>>2]|0,71);Tu(c[s>>2]|0,c[M>>2]|0);if(a[(c[y>>2]|0)+64>>0]|0){i=R;return}g=l;c[g>>2]=-1;c[g+4>>2]=-1;g=x;c[g>>2]=-1;c[g+4>>2]=-1;c[z>>2]=(c[(c[M>>2]|0)+12>>2]|0)-1;c[L>>2]=c[(c[M>>2]|0)+20>>2];while(1){g=l;if(!((c[z>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[L>>2]|0)+18>>1]&255)){g=x;c[g>>2]=0;c[g+4>>2]=0;c[n>>2]=qf(c[y>>2]|0,408,0)|0;if(c[n>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[L>>2]|0)+12>>2]=c[n>>2];g=(c[L>>2]|0)+20|0;a[g>>0]=d[g>>0]|32;b[(c[L>>2]|0)+18>>1]=512;c[p>>2]=c[n>>2];Qu(c[p>>2]|0,c[c[t>>2]>>2]|0);Ru(c[p>>2]|0,c[c[L>>2]>>2]|0,72);Tu(c[s>>2]|0,c[p>>2]|0);c[(c[p>>2]|0)+4>>2]=c[t>>2];a:do if(!(a[(c[y>>2]|0)+64>>0]|0)){c[m>>2]=0;c[o>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[m>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break a;if(Sv(d[c[c[o>>2]>>2]>>0]|0)|0){h=Zu((c[P>>2]|0)+68|0,c[(c[o>>2]|0)+8>>2]|0)|0;S=j;f=c[S+4>>2]|C;g=j;c[g>>2]=c[S>>2]|h;c[g+4>>2]=f}c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+48}}while(0);f=j;h=l;g=c[h+4>>2]&c[f+4>>2];S=l;c[S>>2]=c[h>>2]&c[f>>2];c[S+4>>2]=g}}else if(!(d[(c[L>>2]|0)+20>>0]&8)){g=Zu((c[P>>2]|0)+68|0,c[(c[L>>2]|0)+8>>2]|0)|0;S=k;c[S>>2]=g;c[S+4>>2]=C;if(d[(c[L>>2]|0)+20>>0]&2){c[r>>2]=(c[(c[M>>2]|0)+20>>2]|0)+((c[(c[L>>2]|0)+4>>2]|0)*48|0);f=Zu((c[P>>2]|0)+68|0,c[(c[r>>2]|0)+8>>2]|0)|0;h=k;g=c[h+4>>2]|C;S=k;c[S>>2]=c[h>>2]|f;c[S+4>>2]=g}f=k;h=l;g=c[h+4>>2]&c[f+4>>2];S=l;c[S>>2]=c[h>>2]&c[f>>2];c[S+4>>2]=g;if(!(e[(c[L>>2]|0)+18>>1]&2)){S=x;c[S>>2]=0;c[S+4>>2]=0;break}else{f=k;h=x;g=c[h+4>>2]&c[f+4>>2];S=x;c[S>>2]=c[h>>2]&c[f>>2];c[S+4>>2]=g;break}}while(0);c[z>>2]=(c[z>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+48}f=l;g=c[f+4>>2]|0;S=(c[q>>2]|0)+408|0;c[S>>2]=c[f>>2];c[S+4>>2]=g;S=l;b[(c[O>>2]|0)+18>>1]=(c[S>>2]|0)==0&(c[S+4>>2]|0)==0?0:256;S=x;if(!((c[S>>2]|0)!=0|(c[S+4>>2]|0)!=0)){i=R;return}c[F>>2]=0;c[A>>2]=-1;c[B>>2]=-1;c[E>>2]=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=2)break;if(!((c[F>>2]|0)!=0^1))break;c[L>>2]=c[(c[M>>2]|0)+20>>2];c[z>>2]=(c[(c[M>>2]|0)+12>>2]|0)-1;while(1){if((c[z>>2]|0)<0)break;S=(c[L>>2]|0)+20|0;a[S>>0]=d[S>>0]&-65;if((c[(c[L>>2]|0)+8>>2]|0)!=(c[B>>2]|0)?(S=x,f=c[S>>2]|0,S=c[S+4>>2]|0,g=Zu((c[P>>2]|0)+68|0,c[(c[L>>2]|0)+8>>2]|0)|0,!((f&g|0)==0&(S&C|0)==0)):0){Q=29;break}c[z>>2]=(c[z>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+48}if((Q|0)==29){Q=0;c[A>>2]=c[(c[L>>2]|0)+12>>2];c[B>>2]=c[(c[L>>2]|0)+8>>2]}if((c[z>>2]|0)<0)break;c[F>>2]=1;while(1){if(!((c[z>>2]|0)>=0?(c[F>>2]|0)!=0:0))break;j=c[L>>2]|0;do if((c[(c[L>>2]|0)+8>>2]|0)!=(c[B>>2]|0)){S=j+20|0;a[S>>0]=d[S>>0]&-65}else{if((c[j+12>>2]|0)!=(c[A>>2]|0)){c[F>>2]=0;break}c[w>>2]=(Op(c[(c[c[L>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[v>>2]=(Op(c[(c[c[L>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[w>>2]|0)!=0?(c[w>>2]|0)!=(c[v>>2]|0):0){c[F>>2]=0;break}S=(c[L>>2]|0)+20|0;a[S>>0]=d[S>>0]|64}while(0);c[z>>2]=(c[z>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+48}c[E>>2]=(c[E>>2]|0)+1}if(!(c[F>>2]|0)){i=R;return}c[J>>2]=0;c[I>>2]=0;c[z>>2]=(c[(c[M>>2]|0)+12>>2]|0)-1;c[L>>2]=c[(c[M>>2]|0)+20>>2];while(1){if((c[z>>2]|0)<0)break;if(d[(c[L>>2]|0)+20>>0]&64){c[G>>2]=mq(c[y>>2]|0,c[(c[c[L>>2]>>2]|0)+16>>2]|0,0)|0;c[J>>2]=Nn(c[c[P>>2]>>2]|0,c[J>>2]|0,c[G>>2]|0)|0;c[I>>2]=c[(c[c[L>>2]>>2]|0)+12>>2]}c[z>>2]=(c[z>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+48}c[G>>2]=mq(c[y>>2]|0,c[I>>2]|0,0)|0;c[K>>2]=zn(c[N>>2]|0,75,c[G>>2]|0,0,0)|0;if(c[K>>2]|0){Wv(c[K>>2]|0,c[H>>2]|0);c[(c[K>>2]|0)+20>>2]=c[J>>2];c[D>>2]=Uv(c[t>>2]|0,c[K>>2]|0,3)|0;Rv(c[s>>2]|0,c[t>>2]|0,c[D>>2]|0);c[O>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0);c[(c[(c[t>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0)+4>>2]=c[u>>2];a[(c[O>>2]|0)+21>>0]=1}else $m(c[y>>2]|0,c[J>>2]|0);b[(c[O>>2]|0)+18>>1]=2048;i=R;return}function Yv(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+96|0;r=E+36|0;s=E+20|0;l=E+24|0;t=E+32|0;u=E+12|0;F=E+16|0;D=E+48|0;z=E+56|0;m=E+64|0;n=E+72|0;p=E+76|0;v=E+40|0;q=E+80|0;w=E;A=E+4|0;x=E+44|0;o=E+52|0;k=E+28|0;y=E+60|0;C=E+68|0;B=E+8|0;c[s>>2]=e;c[l>>2]=f;c[t>>2]=g;c[u>>2]=h;c[F>>2]=j;c[D>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(_v(c[w>>2]|0,c[l>>2]|0,c[F>>2]|0,q)|0)){c[r>>2]=0;F=c[r>>2]|0;i=E;return F|0}c[n>>2]=c[(c[l>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==154?((Op(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+44>>0]&16|0)==0:0){c[z>>2]=Vp(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[D>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+476>>2];c[k>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=$v(c[o>>2]|0,c[k>>2]|0,65)|0;if((c[A>>2]|0)!=0?(nc(c[A>>2]|0)|0)==3:0)c[D>>2]=ic(c[A>>2]|0)|0;aw(c[(c[s>>2]|0)+8>>2]|0,c[k>>2]|0)}do if(c[D>>2]|0){c[v>>2]=0;while(1){F=a[(c[D>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=F;if(((F|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[D>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[D>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Qn(c[w>>2]|0,97,c[D>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[C>>2]=c[(c[s>>2]|0)+8>>2];aw(c[C>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=Wo(c[s>>2]|0)|0;Hs(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;F=c[C>>2]|0;Cf(F,(yr(c[C>>2]|0)|0)-1|0,0);Xo(c[s>>2]|0,c[B>>2]|0);break}c[D>>2]=0}while(0);Rf(c[A>>2]|0);c[r>>2]=(c[D>>2]|0)!=0&1;F=c[r>>2]|0;i=E;return F|0}c[r>>2]=0;F=c[r>>2]|0;i=E;return F|0}function Zv(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;e=g+4|0;f=g;c[e>>2]=a;do if((d[c[e>>2]>>0]|0|0)==153){if($b(c[(c[e>>2]|0)+8>>2]|0,24408)|0){c[b>>2]=0;break}c[f>>2]=c[(c[e>>2]|0)+20>>2];if((c[c[f>>2]>>2]|0)!=2){c[b>>2]=0;break}if((d[c[(c[(c[f>>2]|0)+4>>2]|0)+20>>2]>>0]|0|0)!=154){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=g;return c[b>>2]|0}function _v(b,f,g,h){b=b|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;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==153?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){f=c[k>>2]|0;g=c[(c[l>>2]|0)+8>>2]|0;c[o>>2]=Zf(f,g,Ed(c[(c[l>>2]|0)+8>>2]|0)|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function $v(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Pf(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){_e(c[m>>2]|0,c[l>>2]|0)|0;np(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function aw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+188>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function bw(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;k=n+8|0;f=n+28|0;g=n+32|0;h=n+20|0;m=n+16|0;j=n+24|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;d=c[c[f>>2]>>2]|0;a=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+36>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+((b[(c[h>>2]|0)+36>>1]|0)*24|0)>>2]|0;c[k>>2]=a;c[k+4>>2]=h;c[m>>2]=tf(d,21695,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;gs(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=a;c[m>>2]=tf(d,26792,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;gs(h,k,l,m,-1,2);i=n;return}}function cw(a,b,d,e){a=a|0;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;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Fp(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(Au(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Fp(d)|0;while(1){if(!(c[j>>2]|0))break a;if(Cu(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function dw(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function ew(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;G=i;i=i+64|0;p=G+44|0;q=G+16|0;r=G;s=G+28|0;t=G+32|0;u=G+40|0;v=G+48|0;w=G+50|0;x=G+51|0;H=G+53|0;E=G+4|0;B=G+36|0;A=G+8|0;D=G+52|0;C=G+20|0;z=G+24|0;y=G+12|0;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;a[w>>0]=m;a[x>>0]=n;a[H>>0]=o;c[E>>2]=c[(c[p>>2]|0)+8>>2];c[B>>2]=0;c[A>>2]=zr(c[E>>2]|0)|0;a[D>>0]=(d[(c[q>>2]|0)+44>>0]&32|0)==0?70:68;if(!(a[H>>0]|0))wf(c[E>>2]|0,d[D>>0]|0,c[s>>2]|0,c[A>>2]|0,c[u>>2]|0,b[v>>1]|0)|0;H=(cw(c[p>>2]|0,c[q>>2]|0,0,0)|0)!=0;if(H|(c[r>>2]|0)!=0){c[C>>2]=gw(c[p>>2]|0,c[r>>2]|0,0,0,3,c[q>>2]|0,d[x>>0]|0)|0;H=hw(c[p>>2]|0,c[q>>2]|0)|0;c[C>>2]=c[C>>2]|H;c[B>>2]=(c[(c[p>>2]|0)+72>>2]|0)+1;H=(c[p>>2]|0)+72|0;c[H>>2]=(c[H>>2]|0)+(1+(b[(c[q>>2]|0)+38>>1]|0));Ro(c[E>>2]|0,33,c[u>>2]|0,c[B>>2]|0)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(b[(c[q>>2]|0)+38>>1]|0))break;if((c[C>>2]|0)!=-1){if((c[z>>2]|0)<=31?(c[C>>2]&1<>2]|0)!=0:0)F=9}else F=9;if((F|0)==9){F=0;qs(c[E>>2]|0,c[q>>2]|0,c[s>>2]|0,c[z>>2]|0,(c[B>>2]|0)+(c[z>>2]|0)+1|0)}c[z>>2]=(c[z>>2]|0)+1}c[y>>2]=yr(c[E>>2]|0)|0;su(c[p>>2]|0,c[r>>2]|0,109,0,1,c[q>>2]|0,c[B>>2]|0,d[x>>0]|0,c[A>>2]|0);H=c[y>>2]|0;if((H|0)<(yr(c[E>>2]|0)|0))wf(c[E>>2]|0,d[D>>0]|0,c[s>>2]|0,c[A>>2]|0,c[u>>2]|0,b[v>>1]|0)|0;xu(c[p>>2]|0,c[q>>2]|0,c[B>>2]|0,0,0,0)}if(c[(c[q>>2]|0)+12>>2]|0){f=c[p>>2]|0;e=c[q>>2]|0;D=c[B>>2]|0;iw(f,e,0,D,0,0);D=c[p>>2]|0;e=c[r>>2]|0;f=c[q>>2]|0;g=c[B>>2]|0;H=a[x>>0]|0;H=H&255;F=c[A>>2]|0;su(D,e,109,0,2,f,g,H,F);F=c[E>>2]|0;H=c[A>>2]|0;Br(F,H);i=G;return}fw(c[p>>2]|0,c[q>>2]|0,c[s>>2]|0,c[t>>2]|0,0);Ro(c[E>>2]|0,95,c[s>>2]|0,(d[w>>0]|0)!=0?1:0)|0;if(!(a[w>>0]|0)){f=c[p>>2]|0;e=c[q>>2]|0;D=c[B>>2]|0;iw(f,e,0,D,0,0);D=c[p>>2]|0;e=c[r>>2]|0;f=c[q>>2]|0;g=c[B>>2]|0;H=a[x>>0]|0;H=H&255;F=c[A>>2]|0;su(D,e,109,0,2,f,g,H,F);F=c[E>>2]|0;H=c[A>>2]|0;Br(F,H);i=G;return}Df(c[E>>2]|0,-1,c[c[q>>2]>>2]|0,0);f=c[p>>2]|0;e=c[q>>2]|0;D=c[B>>2]|0;iw(f,e,0,D,0,0);D=c[p>>2]|0;e=c[r>>2]|0;f=c[q>>2]|0;g=c[B>>2]|0;H=a[x>>0]|0;H=H&255;F=c[A>>2]|0;su(D,e,109,0,2,f,g,H,F);F=c[E>>2]|0;H=c[A>>2]|0;Br(F,H);i=G;return}function fw(a,e,f,g,h){a=a|0;e=e|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;k=w+4|0;j=w+16|0;l=w+36|0;m=w;n=w+32|0;o=w+40|0;t=w+44|0;p=w+24|0;q=w+20|0;s=w+8|0;u=w+12|0;r=w+28|0;c[k>>2]=a;c[j>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[t>>2]=-1;c[s>>2]=0;c[u>>2]=c[(c[k>>2]|0)+8>>2];if(!((d[(c[j>>2]|0)+44>>0]|0)&32))h=0;else h=Lr(c[j>>2]|0)|0;c[r>>2]=h;c[o>>2]=0;c[q>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(!((c[n>>2]|0)!=0?(c[(c[n>>2]|0)+(c[o>>2]<<2)>>2]|0)==0:0))v=7;if((v|0)==7?(v=0,(c[q>>2]|0)!=(c[r>>2]|0)):0){c[t>>2]=bs(c[k>>2]|0,c[q>>2]|0,c[l>>2]|0,0,1,p,c[s>>2]|0,c[t>>2]|0)|0;h=c[q>>2]|0;if((d[(c[q>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;Uo(c[u>>2]|0,111,(c[m>>2]|0)+(c[o>>2]|0)|0,c[t>>2]|0,h&65535)|0;cs(c[k>>2]|0,c[p>>2]|0);c[s>>2]=c[q>>2]}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=c[(c[q>>2]|0)+20>>2]}i=w;return}function gw(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;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,u=0,v=0;u=i;i=i+48|0;k=u+36|0;v=u+16|0;l=u;m=u+28|0;n=u+32|0;o=u+40|0;p=u+12|0;r=u+24|0;q=u+20|0;s=u+8|0;t=u+4|0;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(kx(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=lw(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function hw(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Fp(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;Yt(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;r=i;i=i+32|0;h=r+4|0;j=r+16|0;k=r+8|0;l=r+20|0;m=r+28|0;n=r;p=r+12|0;o=r+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Fp(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(Cu(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=jw(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)kw(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function jw(e,f,g,h){e=e|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,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;O=i;i=i+160|0;j=O+72|0;k=O+56|0;l=O+52|0;m=O+128|0;n=O+120|0;q=O+24|0;o=O+28|0;E=O+32|0;t=O+36|0;r=O+144|0;M=O+44|0;v=O+116|0;y=O+124|0;p=O+132|0;D=O+136|0;G=O+140|0;z=O+76|0;C=O+80|0;s=O+84|0;F=O+88|0;K=O+96|0;J=O+16|0;I=O+8|0;L=O+104|0;u=O+4|0;x=O;A=O+48|0;w=O+112|0;H=O+64|0;B=O+40|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[t>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[t>>2]|0)>>0];c[E>>2]=c[(c[m>>2]|0)+28+(c[t>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[E>>2]|0)!=0)){c[y>>2]=0;c[p>>2]=0;c[D>>2]=0;c[G>>2]=0;c[z>>2]=0;c[C>>2]=0;c[F>>2]=0;if(Yt(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,y,p)|0){c[j>>2]=0;N=c[j>>2]|0;i=O;return N|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[K>>2]=c[818];c[K+4>>2]=c[819];c[J>>2]=c[820];c[J+4>>2]=c[821];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[u>>2]=h;if(c[y>>2]|0)h=c[(c[(c[l>>2]|0)+4>>2]|0)+((b[(c[(c[y>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]|0)*24|0)>>2]|0;else h=26758;c[L>>2]=h;c[I>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[u>>2]|0)*24|0)>>2];c[L+4>>2]=Ed(c[L>>2]|0)|0;c[I+4>>2]=Ed(c[I>>2]|0)|0;e=c[k>>2]|0;g=c[k>>2]|0;f=zn(c[k>>2]|0,27,0,0,K)|0;f=zn(g,122,f,zn(c[k>>2]|0,27,0,0,L)|0,0)|0;c[x>>2]=zn(e,79,f,zn(c[k>>2]|0,27,0,0,I)|0,0)|0;c[G>>2]=_q(c[q>>2]|0,c[G>>2]|0,c[x>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=zn(c[k>>2]|0,27,0,0,K)|0;g=zn(e,122,g,zn(c[k>>2]|0,27,0,0,L)|0,0)|0;e=c[k>>2]|0;f=zn(c[k>>2]|0,27,0,0,J)|0;c[x>>2]=zn(h,73,g,zn(e,122,f,zn(c[k>>2]|0,27,0,0,L)|0,0)|0,0)|0;c[F>>2]=_q(c[q>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[A>>2]=zn(c[k>>2]|0,101,0,0,0)|0;break}c[w>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[u>>2]|0)*24|0)+4>>2];if(c[w>>2]|0){c[A>>2]=mq(c[q>>2]|0,c[w>>2]|0,0)|0;break}else{c[A>>2]=zn(c[k>>2]|0,101,0,0,0)|0;break}}else{e=c[k>>2]|0;f=zn(c[k>>2]|0,27,0,0,J)|0;c[A>>2]=zn(e,122,f,zn(c[k>>2]|0,27,0,0,L)|0,0)|0}while(0);c[z>>2]=Nn(c[k>>2]|0,c[z>>2]|0,c[A>>2]|0)|0;On(c[k>>2]|0,c[z>>2]|0,I,0)}c[s>>2]=(c[s>>2]|0)+1}Nd(c[q>>2]|0,c[p>>2]|0);c[M>>2]=c[c[c[m>>2]>>2]>>2];c[v>>2]=Ed(c[M>>2]|0)|0;if((c[o>>2]|0)==6){c[H>>2]=c[M>>2];c[H+4>>2]=c[v>>2];c[B>>2]=Qn(c[q>>2]|0,57,26762)|0;if(c[B>>2]|0)a[(c[B>>2]|0)+1>>0]=2;J=c[k>>2]|0;K=Nn(c[k>>2]|0,0,c[B>>2]|0)|0;L=Tn(c[q>>2]|0,0,H,0)|0;c[C>>2]=Mn(J,K,L,c[G>>2]|0,0,0,0,0,0,0)|0;c[G>>2]=0}a[r>>0]=a[(c[q>>2]|0)+248+2>>0]|0;a[(c[q>>2]|0)+248+2>>0]=0;c[E>>2]=gf(c[q>>2]|0,76+(c[v>>2]|0)+1|0,0)|0;if((c[E>>2]|0)!=0?(L=(c[E>>2]|0)+36|0,c[(c[E>>2]|0)+28>>2]=L,c[D>>2]=L,c[(c[D>>2]|0)+12>>2]=(c[D>>2]|0)+40,c[(c[D>>2]|0)+12+4>>2]=c[v>>2],EH(c[(c[D>>2]|0)+12>>2]|0,c[M>>2]|0,c[v>>2]|0)|0,M=mq(c[q>>2]|0,c[G>>2]|0,1)|0,c[(c[D>>2]|0)+20>>2]=M,M=uq(c[q>>2]|0,c[z>>2]|0,1)|0,c[(c[D>>2]|0)+24>>2]=M,M=Hp(c[q>>2]|0,c[C>>2]|0,1)|0,c[(c[D>>2]|0)+8>>2]=M,(c[F>>2]|0)!=0):0){c[F>>2]=zn(c[k>>2]|0,19,c[F>>2]|0,0,0)|0;M=mq(c[q>>2]|0,c[F>>2]|0,1)|0;c[(c[E>>2]|0)+12>>2]=M}a[(c[q>>2]|0)+248+2>>0]=a[r>>0]|0;dn(c[q>>2]|0,c[G>>2]|0);dn(c[q>>2]|0,c[F>>2]|0);$m(c[q>>2]|0,c[z>>2]|0);an(c[q>>2]|0,c[C>>2]|0);if((d[(c[q>>2]|0)+64>>0]|0)==1){jx(c[q>>2]|0,c[E>>2]|0);c[j>>2]=0;N=c[j>>2]|0;i=O;return N|0}switch(c[o>>2]|0){case 6:{a[c[D>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)N=37;else a[c[D>>2]>>0]=109;break}default:N=37}if((N|0)==37)a[c[D>>2]>>0]=110;c[(c[D>>2]|0)+4>>2]=c[E>>2];c[(c[E>>2]|0)+20>>2]=c[(c[l>>2]|0)+68>>2];c[(c[E>>2]|0)+24>>2]=c[(c[l>>2]|0)+68>>2];c[(c[m>>2]|0)+28+(c[t>>2]<<2)>>2]=c[E>>2];a[(c[E>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[E>>2];N=c[j>>2]|0;i=O;return N|0}function kw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|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;p=i;i=i+48|0;j=p+28|0;h=p+16|0;r=p+4|0;k=p+8|0;q=p+32|0;l=p;o=p+12|0;n=p+24|0;m=p+20|0;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=Po(c[j>>2]|0)|0;c[n>>2]=lw(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+72|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;Uo(e,131,k,q,r)|0;Df(c[o>>2]|0,-1,c[(c[n>>2]|0)+8>>2]|0,-18);xf(c[o>>2]|0,c[m>>2]&255);i=p;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+408>>2]|0)e=c[e+408>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+528>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=mw(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function mw(b,e,f,g){b=b|0;e=e|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;x=i;i=i+96|0;w=x;h=x+24|0;j=x+4|0;k=x+12|0;l=x+32|0;m=x+16|0;s=x+20|0;n=x+8|0;p=x+28|0;t=x+36|0;v=x+40|0;u=x+48|0;q=x+80|0;r=x+84|0;o=x+88|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+408>>2]|0)g=c[g+408>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=gf(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+528>>2];c[(c[s>>2]|0)+528>>2]=c[p>>2];e=gf(c[n>>2]|0,28,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}nw(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=gf(c[n>>2]|0,536,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+412>>2]=c[l>>2];c[(c[r>>2]|0)+408>>2]=c[s>>2];c[(c[r>>2]|0)+492>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+436>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+424>>2]=c[(c[j>>2]|0)+424>>2];c[v>>2]=Po(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Df(e,-1,tf(l,26576,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=mq(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(gq(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+64>>0]|0|0)==0:0){c[o>>2]=zr(c[v>>2]|0)|0;os(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}dn(c[n>>2]|0,c[t>>2]|0)}ow(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)Br(c[v>>2]|0,c[o>>2]|0);Yo(c[v>>2]|0,24)|0;pw(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+64>>0]|0)){w=qw(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+392|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+72>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+68>>2];c[(c[q>>2]|0)+16>>2]=c[(c[r>>2]|0)+80>>2];c[(c[q>>2]|0)+20>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+428>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+432>>2];Zm(c[v>>2]|0)}Gf(c[r>>2]|0);Nd(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function ow(b,e,f){b=b|0;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;o=i;i=i+48|0;g=o+4|0;p=o+32|0;h=o+8|0;l=o+36|0;n=o+44|0;j=o;m=o+12|0;k=o+40|0;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+437>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=ix(c[g>>2]|0,c[l>>2]|0)|0;p=uq(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0,0)|0;Yn(b,e,p,mq(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0,d[(c[g>>2]|0)+437>>0]|0);break}case 108:{b=c[g>>2]|0;e=ix(c[g>>2]|0,c[l>>2]|0)|0;p=Hp(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;Zn(b,e,p,kr(c[j>>2]|0,c[(c[l>>2]|0)+28>>2]|0)|0,d[(c[g>>2]|0)+437>>0]|0);break}case 109:{p=c[g>>2]|0;Wn(p,ix(c[g>>2]|0,c[l>>2]|0)|0,mq(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0);break}default:{c[k>>2]=Hp(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;Ss(m,4,0);Kn(c[g>>2]|0,c[k>>2]|0,m)|0;an(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)Yo(c[n>>2]|0,98)|0;c[l>>2]=c[(c[l>>2]|0)+32>>2]}i=o;return 0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+64>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+64>>2]=c[(c[e>>2]|0)+64>>2];i=f;return}else{Nd(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];rw(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function rw(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;r=i;i=i+48|0;g=r+4|0;h=r+16|0;k=r+20|0;m=r+24|0;o=r+28|0;p=r;j=r+12|0;n=r+32|0;l=r+8|0;c[g>>2]=e;c[h>>2]=f;c[m>>2]=c[c[h>>2]>>2];c[p>>2]=c[(c[g>>2]|0)+24>>2];c[j>>2]=c[(c[p>>2]|0)+112>>2];f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-257|256;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-513;c[o>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[n>>0]=a[c[o>>2]>>0]|0;switch(d[n>>0]|0|0){case 10:case 1:{if((d[(c[o>>2]|0)+3>>0]|0|0)>(c[m>>2]|0))c[m>>2]=d[(c[o>>2]|0)+3>>0];break}case 4:{if(c[(c[o>>2]|0)+8>>2]|0){q=(c[g>>2]|0)+88|0;b[q>>1]=b[q>>1]&-257;q=8}else q=8;break}case 2:case 3:{q=8;break}case 12:case 13:case 11:{f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-257;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-513|512;break}case 15:{if((c[(c[o>>2]|0)+8>>2]|0)>(c[m>>2]|0))c[m>>2]=c[(c[o>>2]|0)+8>>2];break}case 14:{c[l>>2]=c[(c[o>>2]|0)+-20+4>>2];if((c[l>>2]|0)>(c[m>>2]|0))c[m>>2]=c[l>>2];break}case 5:case 7:case 9:{c[(c[o>>2]|0)+16>>2]=50;a[(c[o>>2]|0)+1>>0]=-19;break}case 6:case 8:{c[(c[o>>2]|0)+16>>2]=51;a[(c[o>>2]|0)+1>>0]=-19;break}default:{}}if((q|0)==8){q=0;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-513|512}a[(c[o>>2]|0)+2>>0]=a[26590+(d[n>>0]|0)>>0]|0;if(((d[(c[o>>2]|0)+2>>0]|0)&1|0)!=0?(c[(c[o>>2]|0)+8>>2]|0)<0:0)c[(c[o>>2]|0)+8>>2]=c[(c[j>>2]|0)+(-1-(c[(c[o>>2]|0)+8>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+20}Nd(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+112>>2]|0);c[(c[p>>2]|0)+112>>2]=0;c[(c[p>>2]|0)+108>>2]=0;c[c[h>>2]>>2]=c[m>>2];i=r;return}function sw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+24+20>>1]=0;f=(c[j>>2]|0)+72|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+73>>0]|0)!=1){c[h>>2]=gx(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(b[f+76>>1]<<2)>>2];f=(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=gx(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+5>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=hx(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function tw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+72|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+24+20>>1]=0;if(((d[(c[j>>2]|0)+73>>0]|0)==1?(e[(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(b[(c[j>>2]|0)+76>>1]<<2)>>2]|0)+5>>0]|0)!=0:0){g=(c[j>>2]|0)+78+(b[(c[j>>2]|0)+76>>1]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=uw(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function uw(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;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+73>>0]|0)!=1){if((d[(c[k>>2]|0)+73>>0]|0)>=3)f=vw(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+73>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+68>>2]|0)!=0?(a[(c[k>>2]|0)+73>>0]=1,f=(c[(c[k>>2]|0)+68>>2]|0)<0,c[(c[k>>2]|0)+68>>2]=0,f):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(b[(c[k>>2]|0)+76>>1]<<2)>>2];do if(a[(c[m>>2]|0)+5>>0]|0){while(1){g=b[(c[k>>2]|0)+76>>1]|0;if(e[(c[k>>2]|0)+78+(b[(c[k>>2]|0)+76>>1]<<1)>>1]|0)break;f=c[k>>2]|0;if(!g){o=17;break}yw(f)}if((o|0)==17){a[f+73>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+78+(g<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(b[(c[k>>2]|0)+76>>1]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+5>>0]|0)==0:0){c[n>>2]=tw(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+78+(b[(c[k>>2]|0)+76>>1]<<1)>>1];o=c[k>>2]|0;c[n>>2]=ww(o,kj((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=xw(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function vw(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+73>>0]|0|0)==4){c[e>>2]=c[b+68>>2];g=c[e>>2]|0;i=h;return g|0}a[b+73>>0]=0;b=(c[f>>2]|0)+48|0;c[g>>2]=Dw(c[f>>2]|0,c[(c[f>>2]|0)+56>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,(c[f>>2]|0)+68|0)|0;if(((c[g>>2]|0)==0?(Sb(c[(c[f>>2]|0)+56>>2]|0),c[(c[f>>2]|0)+56>>2]=0,(c[(c[f>>2]|0)+68>>2]|0)!=0):0)?(d[(c[f>>2]|0)+73>>0]|0|0)==1:0)a[(c[f>>2]|0)+73>>0]=2;c[e>>2]=c[g>>2];g=c[e>>2]|0;i=h;return g|0}function ww(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;p=i;i=i+32|0;h=p+8|0;j=p+16|0;k=p+20|0;o=p+24|0;l=p+4|0;n=p;m=p+12|0;c[j>>2]=f;c[k>>2]=g;c[l>>2]=b[(c[j>>2]|0)+76>>1];c[m>>2]=c[(c[j>>2]|0)+4>>2];if((b[(c[j>>2]|0)+76>>1]|0)>=19){c[h>>2]=Rk(56561)|0;o=c[h>>2]|0;i=p;return o|0}c[o>>2]=zw(c[m>>2]|0,c[k>>2]|0,n,(d[(c[j>>2]|0)+72>>0]&1|0)==0?2:0)|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];o=c[h>>2]|0;i=p;return o|0}c[(c[j>>2]|0)+120+((c[l>>2]|0)+1<<2)>>2]=c[n>>2];b[(c[j>>2]|0)+78+((c[l>>2]|0)+1<<1)>>1]=0;o=(c[j>>2]|0)+76|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;b[(c[j>>2]|0)+24+20>>1]=0;o=(c[j>>2]|0)+72|0;a[o>>0]=d[o>>0]&-7;if((e[(c[n>>2]|0)+18>>1]|0)>=1?(d[(c[n>>2]|0)+2>>0]|0)==(d[(c[(c[j>>2]|0)+120+(c[l>>2]<<2)>>2]|0)+2>>0]|0):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=Rk(56573)|0;o=c[h>>2]|0;i=p;return o|0}function xw(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(b[(c[l>>2]|0)+76>>1]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+5>>0]|0)!=0^1)){f=5;break}c[j>>2]=kj((c[(c[h>>2]|0)+56>>2]|0)+((d[g+6>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+78+(b[(c[l>>2]|0)+76>>1]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=ww(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+78+(b[(c[l>>2]|0)+76>>1]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function yw(e){e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;pt(c[(c[g>>2]|0)+120+(b[(c[g>>2]|0)+76>>1]<<2)>>2]|0);e=(c[g>>2]|0)+76|0;b[e>>1]=(b[e>>1]|0)+-1<<16>>16;b[(c[g>>2]|0)+24+20>>1]=0;e=(c[g>>2]|0)+72|0;a[e>>0]=d[e>>0]&-7;i=f;return}function zw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;e=c[h>>2]|0;if(e>>>0<=(Aw(c[g>>2]|0)|0)>>>0){c[l>>2]=Bw(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(((c[l>>2]|0)==0?(d[c[c[j>>2]>>2]>>0]|0|0)==0:0)?(c[l>>2]=Ul(c[c[j>>2]>>2]|0)|0,(c[l>>2]|0)!=0):0)pt(c[c[j>>2]>>2]|0)}else c[l>>2]=Rk(53903)|0;i=m;return c[l>>2]|0}function Aw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function Bw(a,b,d,e){a=a|0;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;m=i;i=i+32|0;f=m+8|0;g=m+16|0;h=m+20|0;j=m+24|0;n=m+4|0;l=m;k=m+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=ne(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=Cw(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+12|0;h=g+8|0;j=g+4|0;f=g;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;c[f>>2]=Sl(c[k>>2]|0)|0;d=oe(c[k>>2]|0)|0;c[(c[f>>2]|0)+56>>2]=d;c[(c[f>>2]|0)+68>>2]=c[k>>2];c[(c[f>>2]|0)+52>>2]=c[j>>2];c[(c[f>>2]|0)+72>>2]=c[h>>2];a[(c[f>>2]|0)+6>>0]=(c[(c[f>>2]|0)+72>>2]|0)==1?100:0;i=g;return c[f>>2]|0}function Dw(a,b,d,f,g,h){a=a|0;b=b|0;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,q=0,r=0,s=0;s=i;i=i+240|0;j=s+8|0;k=s+24|0;l=s+16|0;m=s;n=s+32|0;o=s+36|0;r=s+20|0;q=s+28|0;p=s+12|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=Ew(c[(c[k>>2]|0)+16>>2]|0,s+40|0,200,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}Fw(c[(c[k>>2]|0)+16>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+4>>1]|0)){Nd(c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Rk(52917)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=Gw(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Nd(c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function Ew(a,d,f,g){a=a|0;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;p=i;i=i+32|0;h=p+4|0;j=p+16|0;k=p+8|0;q=p+20|0;l=p+28|0;o=p;n=p+12|0;m=p+24|0;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=24+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=qf(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+8>>2]=(c[o>>2]|0)+24;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+4>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function Fw(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,u=0,v=0;u=i;i=i+48|0;k=u;l=u+16|0;v=u+4|0;s=u+8|0;m=u+32|0;n=u+36|0;o=u+12|0;t=u+40|0;r=u+20|0;p=u+28|0;q=u+24|0;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+8>>2];a[(c[s>>2]|0)+6>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(Rw(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(Rw(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;v=Xw((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+4>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+4>>1]=b[t>>1]|0;i=u;return}} +function Ps(b,e,f,g){b=b|0;e=e|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,G=0,H=0,I=0,J=0,K=0;K=i;i=i+160|0;h=K;r=K+108|0;s=K+36|0;t=K+40|0;u=K+12|0;v=K+16|0;A=K+20|0;H=K+80|0;I=K+32|0;j=K+96|0;x=K+144|0;w=K+112|0;l=K+120|0;D=K+44|0;q=K+48|0;n=K+60|0;o=K+52|0;y=K+56|0;p=K+84|0;C=K+100|0;E=K+104|0;F=K+28|0;G=K+24|0;B=K+92|0;z=K+88|0;m=K+116|0;k=K+124|0;c[s>>2]=b;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[A>>2]=-1;c[H>>2]=0;c[I>>2]=Po(c[s>>2]|0)|0;if(!(c[I>>2]|0)){c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}ns(c[s>>2]|0);if(!(c[(c[t>>2]|0)+4>>2]&32))c[A>>2]=Rs(c[s>>2]|0)|0;if((d[(c[s>>2]|0)+450>>0]|0)==2){f=c[c[s>>2]>>2]|0;g=(d[c[t>>2]>>0]|0)==75?23139:23144;b=c[(c[s>>2]|0)+468>>2]|0;c[h>>2]=(c[A>>2]|0)>=0?14425:23127;c[h+4>>2]=g;c[h+8>>2]=b;c[j>>2]=tf(f,23151,h)|0;To(c[I>>2]|0,155,c[(c[s>>2]|0)+464>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[t>>2]|0;do if((d[c[t>>2]>>0]|0)==75){c[l>>2]=c[g+12>>2];c[D>>2]=0;a[x>>0]=Op(c[l>>2]|0)|0;l=(c[s>>2]|0)+68|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[t>>2]|0)+28>>2]=m;c[w>>2]=Ro(c[I>>2]|0,57,c[(c[t>>2]|0)+28>>2]|0,((c[v>>2]|0)!=0^1)&1)|0;if(c[v>>2]|0)g=0;else g=Jr(c[c[s>>2]>>2]|0,1,1)|0;c[D>>2]=g;g=(c[t>>2]|0)+20|0;do if(!(c[(c[t>>2]|0)+4>>2]&2048)){if(c[g>>2]|0){c[p>>2]=c[(c[t>>2]|0)+20>>2];if(!(a[x>>0]|0))a[x>>0]=65;if(c[D>>2]|0){q=Pp(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=q}c[E>>2]=Wo(c[s>>2]|0)|0;c[F>>2]=Wo(c[s>>2]|0)|0;if(c[v>>2]|0)Ro(c[I>>2]|0,28,0,c[F>>2]|0)|0;c[y>>2]=c[c[p>>2]>>2];c[C>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[B>>2]=c[c[C>>2]>>2];if((c[A>>2]|0)>=0?(Ms(c[B>>2]|0)|0)==0:0){Ef(c[I>>2]|0,c[A>>2]|0);c[A>>2]=-1}if((c[v>>2]|0)!=0?(jq(c[B>>2]|0,z)|0)!=0:0)Uo(c[I>>2]|0,84,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;else J=29;do if((J|0)==29){J=0;c[G>>2]=Hs(c[s>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;e=c[I>>2]|0;g=c[G>>2]|0;if(c[v>>2]|0){Ro(e,38,g,(yr(c[I>>2]|0)|0)+2|0)|0;Uo(c[I>>2]|0,75,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break}else{To(e,49,g,1,c[F>>2]|0,x,1)|0;Ls(c[s>>2]|0,c[G>>2]|0,1);Ro(c[I>>2]|0,110,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[C>>2]=(c[C>>2]|0)+20}Xo(c[s>>2]|0,c[E>>2]|0);Xo(c[s>>2]|0,c[F>>2]|0)}}else{c[q>>2]=c[g>>2];Ss(n,11,c[(c[t>>2]|0)+28>>2]|0);a[n+1>>0]=a[x>>0]|0;c[(c[q>>2]|0)+8>>2]=0;if(!(Kn(c[s>>2]|0,c[q>>2]|0,n)|0)){c[o>>2]=c[c[q>>2]>>2];J=Ts(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[c[(c[o>>2]|0)+4>>2]>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=J;break}ah(c[D>>2]|0);c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[D>>2]|0)Df(c[I>>2]|0,c[w>>2]|0,c[D>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];G=(c[s>>2]|0)+72|0;J=(c[G>>2]|0)+1|0;c[G>>2]=J;Ss(k,0,J);if((d[c[t>>2]>>0]|0)==119){a[k>>0]=10;c[k+8>>2]=c[k+4>>2];Ro(c[I>>2]|0,28,0,c[k+4>>2]|0)|0}else{a[k>>0]=3;Ro(c[I>>2]|0,25,0,c[k+4>>2]|0)|0}dn(c[c[s>>2]>>2]|0,c[(c[m>>2]|0)+60>>2]|0);J=zn(c[s>>2]|0,132,0,0,2284)|0;c[(c[m>>2]|0)+60>>2]=J;c[(c[m>>2]|0)+8>>2]=0;if(!(Kn(c[s>>2]|0,c[m>>2]|0,k)|0)){c[H>>2]=c[k+4>>2];break}c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[u>>2]|0)Us(c[I>>2]|0,c[(c[t>>2]|0)+28>>2]|0,c[u>>2]|0);if((c[A>>2]|0)>=0)jp(c[I>>2]|0,c[A>>2]|0);ls(c[s>>2]|0);c[r>>2]=c[H>>2];J=c[r>>2]|0;i=K;return J|0}function Qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-97;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function Rs(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Po(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=ur(d,44,a)|0;i=b;return a|0}function Ss(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function Ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=Pp(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=Pp(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Pp(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Pp(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;Ro(c[g>>2]|0,25,0,c[h>>2]|0)|0;c[f>>2]=ur(c[g>>2]|0,108,c[j>>2]|0)|0;Uo(c[g>>2]|0,47,c[j>>2]|0,0,c[h>>2]|0)|0;xf(c[g>>2]|0,-128);jp(c[g>>2]|0,c[f>>2]|0);i=e;return}function Vs(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+316>>2];c[o>>2]=mq(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Nn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+316|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+316|0;c[o>>2]=g;i=n;return}function Ws(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+64>>0]|0){c[e>>2]=2424;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function Xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+20>>2]=c[g>>2];c[d>>2]=48;c[d+4>>2]=49;dq(d,c[f>>2]|0)|0;i=e;return c[d+20>>2]|0}function Ys(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[h>>2]=b;c[f>>2]=e;if((c[(c[h>>2]|0)+20>>2]|0)==2?(c[(c[f>>2]|0)+4>>2]&1|0)!=0:0){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;h=c[g>>2]|0;i=j;return h|0}a:do switch(d[c[f>>2]>>0]|0|0){case 153:{if((c[(c[h>>2]|0)+20>>2]|0)<3?(c[(c[f>>2]|0)+4>>2]&524288|0)==0:0){f=8;break a}c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}case 156:case 155:case 154:case 27:{f=8;break}case 135:{if((c[(c[h>>2]|0)+20>>2]|0)==4){a[c[f>>2]>>0]=101;f=13;break a}if((c[(c[h>>2]|0)+20>>2]|0)==3){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;h=c[g>>2]|0;i=j;return h|0}else f=13;break}default:f=13}while(0);if((f|0)==8){c[(c[h>>2]|0)+20>>2]=0;c[g>>2]=2;h=c[g>>2]|0;i=j;return h|0}else if((f|0)==13){c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}return 0}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;c[(c[e>>2]|0)+20>>2]=0;i=d;return 2}function _s(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+8|0;e=g+4|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=qf(ws(c[h>>2]|0)|0,8,0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}h=c[f>>2]|0;b=c[e>>2]|0;a[h>>0]=a[b>>0]|0;a[h+1>>0]=a[b+1>>0]|0;a[h+2>>0]=a[b+2>>0]|0;a[h+3>>0]=a[b+3>>0]|0;a[h+4>>0]=a[b+4>>0]|0;a[h+5>>0]=a[b+5>>0]|0;a[h+6>>0]=a[b+6>>0]|0;a[h+7>>0]=a[b+7>>0]|0;h=c[f>>2]|0;i=g;return h|0}function $s(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=(c[j>>2]|0)+116;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[g>>2]|0)+12>>2]|0)==(c[e>>2]|0))a[(c[g>>2]|0)+6>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function at(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,q=0,r=0,s=0;s=i;i=i+32|0;j=s+4|0;k=s+16|0;l=s+8|0;m=s+20|0;n=s+28|0;p=s;o=s+12|0;q=s+24|0;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;if((e[(c[c[j>>2]>>2]|0)+60>>1]|0)&2){i=s;return}c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+116;while(1){if((c[n>>2]|0)>=10)break;if(!(c[(c[q>>2]|0)+12>>2]|0)){r=5;break}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((r|0)==5){c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+100>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+104|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}c[p>>2]=2147483647;c[o>>2]=-1;c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+116;while(1){if((c[n>>2]|0)>=10)break;if((c[(c[q>>2]|0)+16>>2]|0)<(c[p>>2]|0)){c[o>>2]=c[n>>2];c[p>>2]=c[(c[q>>2]|0)+16>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((c[o>>2]|0)<0){i=s;return}c[q>>2]=(c[j>>2]|0)+116+((c[o>>2]|0)*20|0);c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+100>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+104|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}function bt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=Op(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function ct(a){a=a|0;var b=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[f>>2]=a;do if(c[f>>2]|0){if(c[(c[f>>2]|0)+52>>2]|0){c[b>>2]=0;break}if((e[(c[f>>2]|0)+6>>1]|0)&5){c[b>>2]=0;break}if(c[(c[f>>2]|0)+60>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+36>>2]|0){c[b>>2]=0;break}c[h>>2]=c[(c[f>>2]|0)+32>>2];if((c[c[h>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[h>>2]|0)+8+20>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[h>>2]|0)+8+16>>2];if(!(c[j>>2]|0)){c[b>>2]=0;break}if((d[(c[j>>2]|0)+44>>0]|0)&16){c[b>>2]=0;break}c[g>>2]=c[c[f>>2]>>2];if((c[c[g>>2]>>2]|0)!=1){c[b>>2]=0;break}if((d[c[c[(c[g>>2]|0)+4>>2]>>2]>>0]|0|0)!=154){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=k;return c[b>>2]|0}function dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=Es(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function et(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=Ms(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=Op(c[k>>2]|0)|0;d=(bt(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function gt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xs(c[d>>2]|0,2)|0;i=b;return a|0}function ht(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==($b(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function it(a,e,f,g,h,j,k){a=a|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+96|0;l=z+76|0;m=z+68|0;n=z+52|0;o=z+48|0;p=z+64|0;q=z+72|0;r=z+80|0;t=z+40|0;v=z+8|0;w=z+56|0;s=z+44|0;u=z+60|0;x=z;c[l>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=jt(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=jt(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=jt(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=Mo(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=Po(c[l>>2]|0)|0;c[u>>2]=ps(c[l>>2]|0,4)|0;Fs(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);Fs(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);Fs(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){Uo(c[w>>2]|0,1,0,(c[u>>2]|0)+3-(b[c[n>>2]>>1]|0)|0,(c[u>>2]|0)+3|0)|0;xf(c[w>>2]|0,b[c[n>>2]>>1]&255);Df(c[w>>2]|0,-1,c[n>>2]|0,-5);ur(c[w>>2]|0,142,(c[m>>2]|0)==24&1)|0}}else y=4;while(0);if((y|0)==4){y=(c[l>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1}dn(c[s>>2]|0,c[p>>2]|0);dn(c[s>>2]|0,c[q>>2]|0);dn(c[s>>2]|0,c[r>>2]|0);i=z;return}function jt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=27){c[h>>2]=gq(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function kt(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,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+8|0;m=q;l=q+24|0;k=q+16|0;f=q+36|0;r=q+52|0;p=q+40|0;g=q+44|0;h=q+48|0;j=q+32|0;o=q+56|0;c[f>>2]=b;c[q+28>>2]=d;c[r>>2]=e;c[p>>2]=ic(c[c[r>>2]>>2]|0)|0;c[g>>2]=Ec(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=14425;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?($b(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Yb(128,o,23217,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Yb(128,o,23238,l)|0;break}if(!(a[(c[g>>2]|0)+62>>0]|0)){Yb(128,o,23264,m)|0;break}if((je(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(mm(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){lt(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;ue(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Yb(128,o,23306,n)|0}while(0);rc(c[f>>2]|0,o,-1);i=q;return}function lt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];fe(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;mt(c[g>>2]|0)|0}He(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(nt(c[e>>2]|0)|0)==0:0)){lj(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)nb[c[(c[e>>2]|0)+52>>2]&31](c[(c[e>>2]|0)+48>>2]|0);Nd(0,c[(c[e>>2]|0)+48>>2]|0);zg(c[e>>2]|0);Sb(c[e>>2]|0)}if(c[(c[d>>2]|0)+24>>2]|0)c[(c[(c[d>>2]|0)+24>>2]|0)+20>>2]=c[(c[d>>2]|0)+20>>2];if(!(c[(c[d>>2]|0)+20>>2]|0)){g=c[d>>2]|0;Sb(g);i=h;return 0}c[(c[(c[d>>2]|0)+20>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];g=c[d>>2]|0;Sb(g);i=h;return 0}function mt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=h;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];fe(c[g>>2]|0);ot(c[d>>2]|0);a=c[(c[d>>2]|0)+8>>2]|0;if(c[(c[d>>2]|0)+12>>2]|0)c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]=a;else c[(c[f>>2]|0)+8>>2]=a;if(c[(c[d>>2]|0)+8>>2]|0)c[(c[(c[d>>2]|0)+8>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>(b[(c[d>>2]|0)+76>>1]|0))break;pt(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}qt(c[f>>2]|0);Nd(c[c[g>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0);i=h;return 0}function nt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[504]|0)!=(c[d>>2]|0)){c[e>>2]=c[504];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[504]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function ot(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Sb(c[(c[e>>2]|0)+56>>2]|0);c[(c[e>>2]|0)+56>>2]=0;a[(c[e>>2]|0)+73>>0]=0;i=d;return}function pt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Lk(c[(c[b>>2]|0)+68>>2]|0);i=d;return}function qt(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;pt(c[e>>2]|0);i=f;return}function rt(b,e,f){b=b|0;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;E=i;i=i+128|0;w=E+8|0;v=E+16|0;y=E+24|0;x=E+40|0;k=E+48|0;j=E;h=E+32|0;n=E+84|0;F=E+68|0;g=E+64|0;u=E+60|0;p=E+56|0;C=E+52|0;B=E+76|0;D=E+80|0;z=E+88|0;q=E+92|0;o=E+96|0;A=E+100|0;t=E+104|0;l=E+108|0;s=E+112|0;r=E+116|0;c[n>>2]=b;c[E+72>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=Ec(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=ic(c[c[F>>2]>>2]|0)|0;c[C>>2]=ic(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=14425;if(!(c[C>>2]|0))c[C>>2]=14425;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+88+28>>2]|0)+2|0)){if(!(a[e+62>>0]|0)){c[A>>2]=tf(c[p>>2]|0,23379,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!($b(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=tf(F,23421,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+456|0)){c[o>>2]=qf(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=hm(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=mh(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)a[(c[p>>2]|0)+64>>0]=1;rc(c[n>>2]|0,c[z>>2]|0,-1);Sb(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=nh(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Sb(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=oh(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[(c[(c[p>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0):0){c[A>>2]=tf(c[p>>2]|0,22708,y)|0;c[u>>2]=1}}else c[u>>2]=7;c[s>>2]=Id(c[(c[o>>2]|0)+4>>2]|0)|0;st(c[s>>2]|0,d[(c[p>>2]|0)+65>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;tt(F,tt(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;ut(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&28)|0}}else{c[u>>2]=1;c[A>>2]=tf(c[p>>2]|0,23451,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=ef(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Hd(c[p>>2]|0);c[u>>2]=Mr(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){lt(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}ue(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){a[(c[p>>2]|0)+64>>0]=1;Nd(c[p>>2]|0,c[A>>2]|0);c[A>>2]=tf(c[p>>2]|0,23480,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=tf(F,23494,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+88+28>>2];c[A>>2]=tf(e,23342,h)|0}while(0);if(c[A>>2]|0){rc(c[n>>2]|0,c[A>>2]|0,-1);Nd(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}zc(c[n>>2]|0,c[u>>2]|0);i=E;return}function st(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+12>>0]|0)==0:0)?(wt(c[(c[f>>2]|0)+208>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function tt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}fe(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];fe(c[g>>2]|0);vt(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function vt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&3;if((c[f>>2]|0)==1)b=1;else b=(d[(c[g>>2]|0)+12>>0]|0)!=0;a[(c[g>>2]|0)+7>>0]=b?1:0;if((c[f>>2]|0)==3)e=(a[(c[g>>2]|0)+12>>0]|0)!=0^1;else e=0;a[(c[g>>2]|0)+8>>0]=e?1:0;do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&4){a[(c[g>>2]|0)+11>>0]=3;a[(c[g>>2]|0)+9>>0]=3;break}f=(c[h>>2]&8|0)!=0;a[(c[g>>2]|0)+11>>0]=2;e=(c[g>>2]|0)+9|0;if(f){a[e>>0]=3;break}else{a[e>>0]=2;break}}else{a[(c[g>>2]|0)+11>>0]=0;a[(c[g>>2]|0)+9>>0]=0}while(0);a[(c[g>>2]|0)+10>>0]=a[(c[g>>2]|0)+11>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){f=(c[g>>2]|0)+10|0;a[f>>0]=d[f>>0]|32}e=(c[g>>2]|0)+20|0;b=d[e>>0]|0;if(c[h>>2]&16){a[e>>0]=b&-2;i=j;return}else{a[e>>0]=b|1;i=j;return}}function wt(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=($b(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;ap(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function yt(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;n=i;i=i+48|0;d=n;e=n+16|0;j=n+28|0;k=n+4|0;o=n+32|0;h=n+36|0;g=n+12|0;l=n+24|0;m=n+20|0;f=n+8|0;c[d>>2]=a;c[e>>2]=b;c[o>>2]=c[c[d>>2]>>2];c[h>>2]=vf(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=zt(c[e>>2]|0)|0;c[g>>2]=16;c[l>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[m>>2]=(c[h>>2]|0)==1?19269:19288;if((c[h>>2]|0)==1)c[g>>2]=14;if(Mo(c[d>>2]|0,c[g>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[l>>2]|0)|0){i=n;return}if(Mo(c[d>>2]|0,9,c[m>>2]|0,0,c[l>>2]|0)|0){i=n;return}o=Po(c[d>>2]|0)|0;c[k>>2]=o;if(!o){i=n;return}$o(c[d>>2]|0,0,c[h>>2]|0);At(c[d>>2]|0,c[h>>2]|0);c[f>>2]=yf(c[k>>2]|0,9,23542,0)|0;Df(c[k>>2]|0,(c[f>>2]|0)+1|0,c[c[e>>2]>>2]|0,0);Df(c[k>>2]|0,(c[f>>2]|0)+4|0,14687,-2);Qo(c[d>>2]|0,c[h>>2]|0);Ro(c[k>>2]|0,61,0,0)|0;To(c[k>>2]|0,126,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;if((c[(c[d>>2]|0)+72>>2]|0)>=3){i=n;return}c[(c[d>>2]|0)+72>>2]=3;i=n;return}function zt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Po(c[d>>2]|0)|0;vr(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?19269:19288);wf(c[g>>2]|0,55,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+68>>2]|0){i=e;return}c[(c[d>>2]|0)+68>>2]=1;i=e;return}function Bt(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;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=gf(c[l>>2]|0,40+(c[(c[g>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+40;EH(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=c[j>>2];c[(c[h>>2]|0)+12+4>>2]=c[(c[g>>2]|0)+4>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function Ct(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=Zo(c[e>>2]|0,0,c[f>>2]|0)|0;Ld(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+40|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(Tq(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function Dt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function Et(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;l=i;i=i+48|0;k=l;g=l+24|0;h=l+28|0;d=l+32|0;e=l+16|0;f=l+12|0;j=l+20|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?($b(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Nd(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(Ft(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(Gt(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;sf(f,23825,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function Ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(Ht(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(Et(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=6;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=8;break}if(Ht(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=10;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=12;break}if(Ht(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0){d=14;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=16;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+52>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function Gt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){b=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+140+5>>0]|0)){b=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&16384){b=16;break}b=c[h>>2]|0;e=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(Ft(b,c[e>>2]|0)|0){b=10;break}}else if(Ht(b,c[e>>2]|0)|0){b=12;break}if(Gt(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){b=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((b|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];sf(f,23871,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((b|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((b|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((b|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((b|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function Ht(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(Gt(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function It(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(Ft(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(Gt(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=6;break}if(Ht(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+32>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function Jt(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-65|64;i=d;return}function Kt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=a;c[l>>2]=d;c[k>>2]=c[c[f>>2]>>2];gu(c[(c[f>>2]|0)+16>>2]|0,(e[(c[f>>2]|0)+84>>1]|0)<<1);Nd(c[k>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[f>>2]|0)+84>>1]=c[l>>2];a=gf(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[f>>2]|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=j;return}while(1){l=c[g>>2]|0;c[g>>2]=l+-1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[f>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=j;return}function Lt(b,d,f,g,h){b=b|0;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,q=0,r=0;r=i;i=i+32|0;j=r+4|0;k=r+16|0;l=r+8|0;m=r+20|0;n=r+28|0;o=r;q=r+12|0;p=r+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+64>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+84>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(g*40|0);c[q>>2]=Xe(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function Mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l+20|0;g=l;k=l+16|0;h=l+12|0;j=l+8|0;c[m>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[k>>2]=Po(c[m>>2]|0)|0;a=(c[m>>2]|0)+72|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[h>>2]=b;c[j>>2]=qf(c[c[m>>2]>>2]|0,8,0)|0;if(c[j>>2]|0){m=c[j>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2]}To(c[k>>2]|0,26,0,c[h>>2]|0,0,c[j>>2]|0,-13)|0;Kt(c[k>>2]|0,1);Lt(c[k>>2]|0,0,0,c[f>>2]|0,0)|0;Ro(c[k>>2]|0,35,c[h>>2]|0,1)|0;i=l;return}function Nt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!($b(c[d>>2]|0,24077)|0)){c[b>>2]=1;break}if(!($b(c[d>>2]|0,24070)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function Ot(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[3248+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function Pt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+160|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;fu(c[(c[e>>2]|0)+208>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+160|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function Qt(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;fe(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function Rt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if($b(c[d>>2]|0,25056)|0){if(!($b(c[d>>2]|0,24661)|0)){c[b>>2]=1;break}if(!($b(c[d>>2]|0,25061)|0)){c[b>>2]=2;break}else{c[e>>2]=vg(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function St(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];fe(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function Tt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=eu(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+63>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(Ut(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+63>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function Ut(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+62>>0]|0)!=0?(je(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){lt(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;ue(c[f>>2]|0);break}sf(c[e>>2]|0,24994,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function Vt(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+62>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)ut(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&28)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function Wt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;g=h+8|0;e=h+16|0;f=h;b[e>>1]=a;if((b[e>>1]|0)<10){f=g;c[f>>2]=1;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}k=(b[e>>1]|0)%10|0;j=f;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;b[e>>1]=(b[e>>1]|0)/10|0;j=f;k=c[j+4>>2]|0;d=f;a=c[d>>2]|0;d=c[d+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>=5)){if(d>>>0>0|(d|0)==0&a>>>0>=1){j=f;j=AH(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C}}else{j=AH(a|0,d|0,2,0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C}if((b[e>>1]|0)<3){k=f;k=DH(c[k>>2]|0,c[k+4>>2]|0,8,0)|0;k=GH(k|0,C|0,3-(b[e>>1]|0)|0)|0;j=g;c[j>>2]=k;c[j+4>>2]=C;j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}if((b[e>>1]|0)>60){d=-1;a=2147483647}else{d=f;d=DH(c[d>>2]|0,c[d+4>>2]|0,8,0)|0;d=CH(d|0,C|0,(b[e>>1]|0)-3|0)|0;a=C}j=g;c[j>>2]=d;c[j+4>>2]=a;j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function Xt(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=24946;break}case 8:{c[e>>2]=24955;break}case 9:{c[e>>2]=24967;break}case 6:{c[e>>2]=24975;break}default:c[e>>2]=24984}i=f;return c[e>>2]|0}function Yt(f,g,h,j,k){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;D=i;i=i+80|0;y=D;l=D+32|0;m=D+8|0;n=D+28|0;o=D+16|0;p=D+20|0;q=D+24|0;x=D+60|0;r=D+36|0;w=D+40|0;B=D+44|0;s=D+48|0;t=D+52|0;v=D+56|0;u=D+68|0;z=D+12|0;A=D+64|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+36>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!($b(c[(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+36>>1]|0)*24|0)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=qf(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;j=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+16>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:15963;if($b(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!($b(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=27;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==27?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+438>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;sf(C,24901,y)}Nd(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function Zt(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+4|0;h=o+12|0;k=o+16|0;l=o+20|0;m=o;g=o+8|0;n=o+24|0;c[h>>2]=d;c[k>>2]=f;if(!(c[(c[k>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[k>>2]|0)+12>>2];c[g>>2]=ws(c[h>>2]|0)|0;d=(e[(c[k>>2]|0)+52>>1]|0)+1|0;d=qf(0,d,((d|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=d;if(!(c[(c[k>>2]|0)+16>>2]|0)){a[(c[g>>2]|0)+64>>0]=1;c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;h=c[k>>2]|0;if((c[l>>2]|0)>=(e[(c[k>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[h+4>>2]|0)+(g<<1)>>1]|0;if((b[n>>1]|0)<0)g=68;else g=a[(c[(c[m>>2]|0)+4>>2]|0)+((b[n>>1]|0)*24|0)+21>>0]|0;a[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=g;c[l>>2]=(c[l>>2]|0)+1}a[(c[h+16>>2]|0)+g>>0]=0}c[j>>2]=c[(c[k>>2]|0)+16>>2];n=c[j>>2]|0;i=o;return n|0}function _t(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=24805;else c[f>>2]=24809;Yf(c[d>>2]|0,24813,2,1,c[f>>2]|0,39,0,0,0)|0;Yf(c[d>>2]|0,24813,3,1,c[f>>2]|0,39,0,0,0)|0;Yf(c[d>>2]|0,24818,2,1,14421,39,0,0,0)|0;cu(c[d>>2]|0,24818,12);cu(c[d>>2]|0,24813,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function $t(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+116;while(1){if((c[d>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0){ms(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function au(b,e,f,g,h,j,k){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;o=A+24|0;p=A+20|0;q=A+44|0;r=A+36|0;s=A+32|0;t=A+40|0;u=A+48|0;l=A+52|0;v=A+8|0;w=A+4|0;m=A+28|0;y=A+12|0;z=A;x=A+16|0;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[l>>2]=k;if((d[(c[q>>2]|0)+44>>0]|0)&16){c[o>>2]=0;z=c[o>>2]|0;i=A;return z|0}c[w>>2]=vf(c[c[p>>2]>>2]|0,c[(c[q>>2]|0)+68>>2]|0)|0;c[z>>2]=Po(c[p>>2]|0)|0;if((c[s>>2]|0)<0)c[s>>2]=c[(c[p>>2]|0)+68>>2];k=c[s>>2]|0;c[s>>2]=k+1;c[m>>2]=k;if(c[u>>2]|0)c[c[u>>2]>>2]=c[m>>2];do if(!((d[(c[q>>2]|0)+44>>0]|0)&32)){if((c[t>>2]|0)!=0?(d[c[t>>2]>>0]|0|0)==0:0){n=11;break}wr(c[p>>2]|0,c[m>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0)}else n=11;while(0);if((n|0)==11)vr(c[p>>2]|0,c[w>>2]|0,c[(c[q>>2]|0)+32>>2]|0,(c[r>>2]|0)==55&255,c[c[q>>2]>>2]|0);if(c[l>>2]|0)c[c[l>>2]>>2]=c[s>>2];c[v>>2]=0;c[y>>2]=c[(c[q>>2]|0)+8>>2];while(1){l=c[s>>2]|0;if(!(c[y>>2]|0))break;c[s>>2]=l+1;c[x>>2]=l;if((a[(c[y>>2]|0)+55>>0]&3|0)==2?((c[u>>2]|0)!=0?((d[(c[q>>2]|0)+44>>0]|0)&32|0)!=0:0):0)c[c[u>>2]>>2]=c[x>>2];if(!((c[t>>2]|0)!=0?(d[(c[t>>2]|0)+((c[v>>2]|0)+1)>>0]|0|0)==0:0)){Uo(c[z>>2]|0,c[r>>2]|0,c[x>>2]|0,c[(c[y>>2]|0)+44>>2]|0,c[w>>2]|0)|0;xr(c[p>>2]|0,c[y>>2]|0)}c[y>>2]=c[(c[y>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}if((l|0)>(c[(c[p>>2]|0)+68>>2]|0))c[(c[p>>2]|0)+68>>2]=c[s>>2];c[o>>2]=c[v>>2];z=c[o>>2]|0;i=A;return z|0}function bu(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,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;e=n;f=n+16|0;g=n+28|0;k=n+4|0;l=n+32|0;h=n+36|0;p=n+12|0;o=n+24|0;m=n+20|0;j=n+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[o>>2]=Ec(c[e>>2]|0)|0;c[l>>2]=ic(c[c[g>>2]>>2]|0)|0;c[k>>2]=ic(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=jc(c[c[g>>2]>>2]|0)|0;if((c[p>>2]|0)>(c[(c[o>>2]|0)+88+32>>2]|0)){rc(c[e>>2]|0,24823,-1);i=n;return}do if((c[f>>2]|0)==3){c[m>>2]=ic(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}if((Dp(c[m>>2]|0,-1)|0)==1){c[h>>2]=du(m)|0;break}rc(c[e>>2]|0,24856,-1);i=n;return}while(0);if(!((c[k>>2]|0)!=0&(c[l>>2]|0)!=0)){i=n;return}c[j>>2]=Dc(c[e>>2]|0)|0;p=c[e>>2]|0;sc(p,Jf(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0);i=n;return}function cu(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;h=c[n>>2]|0;g=c[m>>2]|0;c[k>>2]=Zf(h,g,Ed(c[m>>2]|0)|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function du(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[17815+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function eu(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!($b(c[e>>2]|0,24372)|0)){c[d>>2]=1;break}if(!($b(c[e>>2]|0,17742)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function fu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function gu(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+12|0;g=m+8|0;l=m+4|0;j=m;k=m+16|0;c[h>>2]=d;c[g>>2]=f;if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){i=m;return}c[l>>2]=(c[h>>2]|0)+((c[g>>2]|0)*40|0);c[j>>2]=c[(c[h>>2]|0)+32>>2];a[k>>0]=a[(c[j>>2]|0)+64>>0]|0;if(c[(c[j>>2]|0)+520>>2]|0){do{if(c[(c[h>>2]|0)+24>>2]|0)Nd(c[j>>2]|0,c[(c[h>>2]|0)+20>>2]|0);k=(c[h>>2]|0)+40|0;c[h>>2]=k}while(k>>>0<(c[l>>2]|0)>>>0);i=m;return}do{g=c[h>>2]|0;if(!((e[(c[h>>2]|0)+8>>1]|0)&9312)){if(c[g+24>>2]|0){Nd(c[j>>2]|0,c[(c[h>>2]|0)+20>>2]|0);c[(c[h>>2]|0)+24>>2]=0}}else Oe(g);b[(c[h>>2]|0)+8>>1]=128;d=(c[h>>2]|0)+40|0;c[h>>2]=d}while(d>>>0<(c[l>>2]|0)>>>0);a[(c[j>>2]|0)+64>>0]=a[k>>0]|0;i=m;return}function hu(a,b,d,e){a=a|0;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,o=0,p=0;o=i;i=i+80|0;l=o;k=o+16|0;f=o+32|0;p=o+28|0;g=o+40|0;h=o+20|0;j=o+24|0;m=o+36|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Yb(24,n,25914,k)|0;if(cp(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;Oo(p,22406,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function iu(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,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=Po(c[g>>2]|0)|0;c[f>>2]=Wo(c[g>>2]|0)|0;Uo(c[k>>2]|0,117,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Cp(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?19269:19288;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;Oo(a,25858,h);Xo(c[g>>2]|0,c[f>>2]|0);i=e;return}function ju(a,b,d,e,f){a=a|0;b=b|0;d=d|0;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;r=i;i=i+48|0;g=r;h=r+16|0;j=r+28|0;k=r+4|0;l=r+32|0;m=r+36|0;q=r+12|0;n=r+24|0;p=r+20|0;o=r+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=hm(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;BH((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function ku(a,b,e,f,g){a=a|0;b=b|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+8|0;l=q+20|0;m=q+28|0;n=q;p=q+12|0;o=q+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&8388608)c[p>>2]=gp(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(kx(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function lu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+44>>0]|0)&16|0)!=0?(c[(c[c[(Bp(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+44>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];sf(m,26830,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];sf(m,26801,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function mu(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function nu(f,g,h,j,k){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+112|0;v=L+48|0;w=L+44|0;x=L+84|0;l=L+92|0;s=L+40|0;y=L+16|0;o=L+20|0;G=L+24|0;H=L+28|0;F=L+72|0;p=L+80|0;m=L+88|0;C=L+96|0;E=L+100|0;D=L+52|0;z=L+56|0;t=L+60|0;A=L+64|0;B=L+8|0;K=L+12|0;u=L+68|0;r=L+32|0;I=L+36|0;J=L+76|0;n=L;q=L+4|0;c[w>>2]=f;c[x>>2]=g;c[l>>2]=h;c[s>>2]=j;c[y>>2]=k;c[A>>2]=0;c[B>>2]=0;c[r>>2]=0;if(!(c[l>>2]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((c[(c[w>>2]|0)+532>>2]|0)==0?(c[(c[l>>2]|0)+68>>2]|0)==0:0){if(gp(c[w>>2]|0,c[x>>2]|0)|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(d[(c[x>>2]|0)+44>>0]&16){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((c[s>>2]|0)==10){if((b[(c[x>>2]|0)+36>>1]|0)>=0)c[s>>2]=d[(c[x>>2]|0)+45>>0];if((c[s>>2]|0)==10)c[s>>2]=2}if((c[c[(c[l>>2]|0)+32>>2]>>2]|0)!=1){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[(c[l>>2]|0)+32>>2]|0)+8+20>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+36>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+48>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+40>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+60>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[l>>2]|0)+52>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(e[(c[l>>2]|0)+6>>1]&1){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}c[o>>2]=c[c[l>>2]>>2];if((c[c[o>>2]>>2]|0)!=1){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((d[c[c[(c[o>>2]|0)+4>>2]>>2]>>0]|0)!=116){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}c[p>>2]=(c[(c[l>>2]|0)+32>>2]|0)+8;c[G>>2]=Zo(c[w>>2]|0,0,c[p>>2]|0)|0;if(!(c[G>>2]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((c[G>>2]|0)==(c[x>>2]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(((d[(c[x>>2]|0)+44>>0]&32|0)==0|0)!=((d[(c[G>>2]|0)+44>>0]&32|0)==0|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(d[(c[G>>2]|0)+44>>0]&16){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if(c[(c[G>>2]|0)+12>>2]|0){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((b[(c[x>>2]|0)+38>>1]|0)!=(b[(c[G>>2]|0)+38>>1]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}if((b[(c[x>>2]|0)+36>>1]|0)!=(b[(c[G>>2]|0)+36>>1]|0)){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}c[m>>2]=0;a:while(1){if((c[m>>2]|0)>=(b[(c[x>>2]|0)+38>>1]|0)){l=64;break}c[n>>2]=(c[(c[x>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0);c[q>>2]=(c[(c[G>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0);if((a[(c[n>>2]|0)+21>>0]|0)!=(a[(c[q>>2]|0)+21>>0]|0)){l=52;break}if(!(lx(c[(c[n>>2]|0)+16>>2]|0,c[(c[q>>2]|0)+16>>2]|0)|0)){l=54;break}if((d[(c[n>>2]|0)+20>>0]|0)!=0?(a[(c[q>>2]|0)+20>>0]|0)==0:0){l=57;break}do if((c[m>>2]|0)>0){if(((c[(c[n>>2]|0)+8>>2]|0)==0|0)!=((c[(c[q>>2]|0)+8>>2]|0)==0|0)){l=62;break a}if(!(c[(c[n>>2]|0)+8>>2]|0))break;if(aH(c[(c[n>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[m>>2]=(c[m>>2]|0)+1}if((l|0)==52){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else if((l|0)==54){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else if((l|0)==57){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else if((l|0)==62){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else if((l|0)==64){c[F>>2]=c[(c[x>>2]|0)+8>>2];while(1){if(!(c[F>>2]|0))break;if(d[(c[F>>2]|0)+54>>0]|0)c[r>>2]=1;c[H>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(mx(c[F>>2]|0,c[H>>2]|0)|0)break;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(!(c[H>>2]|0)){l=73;break}c[F>>2]=c[(c[F>>2]|0)+20>>2]}if((l|0)==73){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}do if(c[(c[x>>2]|0)+24>>2]|0){if(!(pq(c[(c[G>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+24>>2]|0,-1)|0))break;c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}while(0);do if(c[(c[c[w>>2]>>2]|0)+24>>2]&524288){if(!(c[(c[x>>2]|0)+16>>2]|0))break;c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}while(0);if(c[(c[c[w>>2]>>2]|0)+24>>2]&128){c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}c[C>>2]=vf(c[c[w>>2]>>2]|0,c[(c[G>>2]|0)+68>>2]|0)|0;c[K>>2]=Po(c[w>>2]|0)|0;ap(c[w>>2]|0,c[C>>2]|0);q=(c[w>>2]|0)+68|0;h=c[q>>2]|0;c[q>>2]=h+1;c[E>>2]=h;h=(c[w>>2]|0)+68|0;q=c[h>>2]|0;c[h>>2]=q+1;c[D>>2]=q;c[u>>2]=ou(c[w>>2]|0,c[y>>2]|0,c[x>>2]|0)|0;c[I>>2]=Wo(c[w>>2]|0)|0;c[J>>2]=Wo(c[w>>2]|0)|0;wr(c[w>>2]|0,c[D>>2]|0,c[y>>2]|0,c[x>>2]|0,55);if((b[(c[x>>2]|0)+36>>1]|0)<0)if((c[r>>2]|0)!=0?1:(c[(c[x>>2]|0)+8>>2]|0)!=0)l=87;else l=86;else if(c[r>>2]|0)l=87;else l=86;if((l|0)==86?(c[s>>2]|0)!=2&(c[s>>2]|0)!=1:0)l=87;if((l|0)==87){c[z>>2]=Ro(c[K>>2]|0,108,c[D>>2]|0,0)|0;c[A>>2]=Ro(c[K>>2]|0,16,0,0)|0;jp(c[K>>2]|0,c[z>>2]|0)}l=c[w>>2]|0;if(!(d[(c[G>>2]|0)+44>>0]&32)){wr(l,c[E>>2]|0,c[C>>2]|0,c[G>>2]|0,54);c[B>>2]=Ro(c[K>>2]|0,108,c[E>>2]|0,0)|0;do if((b[(c[x>>2]|0)+36>>1]|0)<0){l=c[K>>2]|0;if(!(c[(c[x>>2]|0)+8>>2]|0)){c[z>>2]=Ro(l,74,c[D>>2]|0,c[J>>2]|0)|0;break}else{c[z>>2]=Ro(l,103,c[E>>2]|0,c[J>>2]|0)|0;break}}else{c[z>>2]=Ro(c[K>>2]|0,103,c[E>>2]|0,c[J>>2]|0)|0;c[t>>2]=Uo(c[K>>2]|0,70,c[D>>2]|0,0,c[J>>2]|0)|0;bw(c[w>>2]|0,c[s>>2]|0,c[x>>2]|0);jp(c[K>>2]|0,c[t>>2]|0);tu(c[w>>2]|0,c[u>>2]|0,c[J>>2]|0)}while(0);Ro(c[K>>2]|0,102,c[E>>2]|0,c[I>>2]|0)|0;Uo(c[K>>2]|0,75,c[D>>2]|0,c[I>>2]|0,c[J>>2]|0)|0;xf(c[K>>2]|0,11);Df(c[K>>2]|0,-1,c[c[x>>2]>>2]|0,0);Ro(c[K>>2]|0,9,c[E>>2]|0,c[z>>2]|0)|0;Ro(c[K>>2]|0,61,c[E>>2]|0,0)|0;Ro(c[K>>2]|0,61,c[D>>2]|0,0)|0}else{vr(l,c[y>>2]|0,c[(c[x>>2]|0)+32>>2]|0,1,c[c[x>>2]>>2]|0);vr(c[w>>2]|0,c[C>>2]|0,c[(c[G>>2]|0)+32>>2]|0,0,c[c[G>>2]>>2]|0)}c[F>>2]=c[(c[x>>2]|0)+8>>2];while(1){if(!(c[F>>2]|0))break;c[H>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(mx(c[F>>2]|0,c[H>>2]|0)|0)break;c[H>>2]=c[(c[H>>2]|0)+20>>2]}Uo(c[K>>2]|0,54,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[C>>2]|0)|0;xr(c[w>>2]|0,c[H>>2]|0);Uo(c[K>>2]|0,55,c[D>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[y>>2]|0)|0;xr(c[w>>2]|0,c[F>>2]|0);xf(c[K>>2]|0,1);c[z>>2]=Ro(c[K>>2]|0,108,c[E>>2]|0,0)|0;Ro(c[K>>2]|0,101,c[E>>2]|0,c[I>>2]|0)|0;Uo(c[K>>2]|0,110,c[D>>2]|0,c[I>>2]|0,1)|0;Ro(c[K>>2]|0,9,c[E>>2]|0,(c[z>>2]|0)+1|0)|0;jp(c[K>>2]|0,c[z>>2]|0);Ro(c[K>>2]|0,61,c[E>>2]|0,0)|0;Ro(c[K>>2]|0,61,c[D>>2]|0,0)|0;c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(c[B>>2]|0)jp(c[K>>2]|0,c[B>>2]|0);Xo(c[w>>2]|0,c[J>>2]|0);Xo(c[w>>2]|0,c[I>>2]|0);if(c[A>>2]|0){Ro(c[K>>2]|0,24,0,0)|0;jp(c[K>>2]|0,c[A>>2]|0);Ro(c[K>>2]|0,61,c[D>>2]|0,0)|0;c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}else{c[v>>2]=1;K=c[v>>2]|0;i=L;return K|0}}}c[v>>2]=0;K=c[v>>2]|0;i=L;return K|0}function ou(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+8|0;g=n+16|0;h=n+20|0;j=n+24|0;k=n+4|0;m=n;l=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if((d[(c[j>>2]|0)+44>>0]|0)&8){a=c[g>>2]|0;if(c[(c[g>>2]|0)+408>>2]|0)a=c[a+408>>2]|0;c[m>>2]=a;c[l>>2]=c[(c[m>>2]|0)+404>>2];while(1){if(c[l>>2]|0)b=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else b=0;a=c[l>>2]|0;if(!b)break;c[l>>2]=c[a>>2]}do if(!a){c[l>>2]=qf(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+404>>2];c[(c[m>>2]|0)+404>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+72|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+72|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+72|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function pu(a,b,e){a=a|0;b=b|0;e=e|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;r=i;i=i+48|0;q=r+36|0;f=r+16|0;g=r;h=r+28|0;p=r+32|0;j=r+40|0;k=r+12|0;n=r+24|0;m=r+20|0;l=r+8|0;o=r+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=Po(c[f>>2]|0)|0;c[k>>2]=yr(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+44>>0]|0)&16)f=Bp(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=Ws(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==54?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+32>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==147?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function qu(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;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];Fs(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+72|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;Ro(c[j>>2]|0,33,c[h>>2]|0,c[f>>2]|0)|0;Qs(c[g>>2]|0,c[f>>2]|0);i=e;return}function ru(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=ws(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+38>>1]|0)+1|0;c[m>>2]=qf(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){a[(c[j>>2]|0)+64>>0]=1;i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+38>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)+21>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Ed(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){To(g,48,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Df(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function su(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v;w=v+16|0;n=v+28|0;o=v+4|0;p=v+32|0;q=v+36|0;r=v+12|0;s=v+24|0;t=v+20|0;u=v+8|0;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(kx(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)kw(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}Ro(c[(c[e>>2]|0)+8>>2]|0,136,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function uu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(Ms(c[g>>2]|0)|0)!=0:0){Vs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}Fs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function vu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;e=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;f=l;c[m>>2]=b;c[e>>2]=d;b=c[m>>2]|0;if(c[(c[m>>2]|0)+408>>2]|0)b=c[b+408>>2]|0;c[j>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+452>>2]|0))break;if((c[e>>2]|0)==(c[(c[(c[j>>2]|0)+520>>2]|0)+(c[g>>2]<<2)>>2]|0)){k=10;break}c[g>>2]=(c[g>>2]|0)+1}if((k|0)==10){i=l;return}c[h>>2]=(c[(c[j>>2]|0)+452>>2]|0)+1<<2;c[f>>2]=Tb(c[(c[j>>2]|0)+520>>2]|0,c[h>>2]|0)|0;if(c[f>>2]|0){c[(c[j>>2]|0)+520>>2]=c[f>>2];k=c[e>>2]|0;h=(c[j>>2]|0)+452|0;m=c[h>>2]|0;c[h>>2]=m+1;c[(c[(c[j>>2]|0)+520>>2]|0)+(m<<2)>>2]=k;i=l;return}else{a[(c[c[j>>2]>>2]|0)+64>>0]=1;i=l;return}}function wu(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;ka=i;i=i+176|0;x=ka;B=ka+152|0;C=ka+8|0;E=ka+76|0;F=ka+80|0;G=ka+60|0;H=ka+24|0;I=ka+28|0;J=ka+172|0;K=ka+173|0;L=ka+40|0;D=ka+44|0;ha=ka+48|0;$=ka+52|0;aa=ka+56|0;P=ka+12|0;Q=ka+132|0;W=ka+140|0;u=ka+148|0;Y=ka+156|0;t=ka+164|0;ga=ka+84|0;X=ka+88|0;U=ka+168|0;T=ka+96|0;V=ka+174|0;O=ka+175|0;fa=ka+108|0;y=ka+112|0;v=ka+116|0;s=ka+120|0;z=ka+124|0;r=ka+16|0;w=ka+128|0;da=ka+64|0;ea=ka+20|0;S=ka+68|0;N=ka+136|0;R=ka+72|0;ia=ka+144|0;ja=ka+92|0;M=ka+160|0;Z=ka+104|0;ca=ka+100|0;_=ka+36|0;ba=ka+32|0;c[B>>2]=f;c[C>>2]=g;c[E>>2]=h;c[F>>2]=j;c[G>>2]=k;c[H>>2]=l;c[I>>2]=m;a[J>>0]=n;a[K>>0]=o;c[L>>2]=p;c[D>>2]=q;c[aa>>2]=0;c[ga>>2]=0;c[U>>2]=0;c[T>>2]=0;a[O>>0]=0;c[fa>>2]=-1;a[V>>0]=(c[I>>2]|0)!=0;c[P>>2]=c[c[B>>2]>>2];c[ha>>2]=Po(c[B>>2]|0)|0;c[u>>2]=b[(c[C>>2]|0)+38>>1];if(!(d[(c[C>>2]|0)+44>>0]&32)){c[aa>>2]=0;c[X>>2]=1}else{c[aa>>2]=Lr(c[C>>2]|0)|0;c[X>>2]=e[(c[aa>>2]|0)+50>>1]}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[u>>2]|0))break;a:do if((c[Q>>2]|0)!=(b[(c[C>>2]|0)+36>>1]|0)?(c[Y>>2]=d[(c[(c[C>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*24|0)+20>>0],(c[Y>>2]|0)!=0):0){if((d[K>>0]|0)==10){if((c[Y>>2]|0)==10)c[Y>>2]=2}else c[Y>>2]=d[K>>0];if((c[Y>>2]|0)==5?(c[(c[(c[C>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*24|0)+4>>2]|0)==0:0)c[Y>>2]=2;switch(c[Y>>2]|0){case 2:{Cp(c[B>>2]|0);break}case 3:case 1:break;case 4:{Ro(c[ha>>2]|0,76,(c[H>>2]|0)+1+(c[Q>>2]|0)|0,c[L>>2]|0)|0;break a}default:{c[t>>2]=ur(c[ha>>2]|0,77,(c[H>>2]|0)+1+(c[Q>>2]|0)|0)|0;Fs(c[B>>2]|0,c[(c[(c[C>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*24|0)+4>>2]|0,(c[H>>2]|0)+1+(c[Q>>2]|0)|0);jp(c[ha>>2]|0,c[t>>2]|0);break a}}m=c[P>>2]|0;l=c[(c[(c[C>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*24|0)>>2]|0;c[x>>2]=c[c[C>>2]>>2];c[x+4>>2]=l;c[y>>2]=tf(m,21695,x)|0;To(c[ha>>2]|0,23,1299,c[Y>>2]|0,(c[H>>2]|0)+1+(c[Q>>2]|0)|0,c[y>>2]|0,-1)|0;xf(c[ha>>2]|0,1)}while(0);c[Q>>2]=(c[Q>>2]|0)+1}b:do if((c[(c[C>>2]|0)+24>>2]|0)!=0?(c[(c[P>>2]|0)+24>>2]&8192|0)==0:0){c[v>>2]=c[(c[C>>2]|0)+24>>2];c[(c[B>>2]|0)+92>>2]=(c[H>>2]|0)+1;c[Y>>2]=(d[K>>0]|0)!=10?d[K>>0]|0:2;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[c[v>>2]>>2]|0))break b;c[s>>2]=zr(c[ha>>2]|0)|0;xs(c[B>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)>>2]|0,c[s>>2]|0,16);if((c[Y>>2]|0)==4)Ro(c[ha>>2]|0,16,0,c[L>>2]|0)|0;else{c[z>>2]=c[(c[(c[v>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)+4>>2];if(!(c[z>>2]|0))c[z>>2]=c[c[C>>2]>>2];if((c[Y>>2]|0)==5)c[Y>>2]=2;gs(c[B>>2]|0,275,c[Y>>2]|0,c[z>>2]|0,0,3)}Br(c[ha>>2]|0,c[s>>2]|0);c[Q>>2]=(c[Q>>2]|0)+1}}while(0);if((d[J>>0]|0)!=0&(c[aa>>2]|0)==0){c[r>>2]=zr(c[ha>>2]|0)|0;c[Y>>2]=d[(c[C>>2]|0)+45>>0];if((d[K>>0]|0)==10){if((c[Y>>2]|0)==10)c[Y>>2]=2}else c[Y>>2]=d[K>>0];if(a[V>>0]|0){Uo(c[ha>>2]|0,79,c[H>>2]|0,c[r>>2]|0,c[I>>2]|0)|0;xf(c[ha>>2]|0,-112)}c:do if((c[Y>>2]|0)==5?(d[K>>0]|0)!=5:0){c[$>>2]=c[(c[C>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break c;if((d[(c[$>>2]|0)+54>>0]|0)==4)break;if((d[(c[$>>2]|0)+54>>0]|0)==3)break;c[$>>2]=c[(c[$>>2]|0)+20>>2]}c[U>>2]=Yo(c[ha>>2]|0,16)|0}while(0);Uo(c[ha>>2]|0,70,c[F>>2]|0,c[r>>2]|0,c[H>>2]|0)|0;switch(c[Y>>2]|0){case 3:case 2:case 1:{A=50;break}case 5:{c[w>>2]=0;if(c[(c[P>>2]|0)+24>>2]&262144)c[w>>2]=ku(c[B>>2]|0,c[C>>2]|0,109,0,0)|0;if((c[w>>2]|0)==0?(cw(c[B>>2]|0,c[C>>2]|0,0,0)|0)==0:0){if(c[(c[C>>2]|0)+8>>2]|0){dw(c[B>>2]|0);fw(c[B>>2]|0,c[C>>2]|0,c[F>>2]|0,c[G>>2]|0,0)}}else{dw(c[B>>2]|0);ew(c[B>>2]|0,c[C>>2]|0,c[w>>2]|0,c[F>>2]|0,c[G>>2]|0,c[H>>2]|0,1,0,5,1)}c[ga>>2]=1;break}case 4:{Ro(c[ha>>2]|0,16,0,c[L>>2]|0)|0;break}default:{c[Y>>2]=2;A=50}}if((A|0)==50)bw(c[B>>2]|0,c[Y>>2]|0,c[C>>2]|0);Br(c[ha>>2]|0,c[r>>2]|0);if(c[U>>2]|0){c[T>>2]=Yo(c[ha>>2]|0,16)|0;jp(c[ha>>2]|0,c[U>>2]|0)}}c[W>>2]=0;c[$>>2]=c[(c[C>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;do if(c[(c[E>>2]|0)+(c[W>>2]<<2)>>2]|0){if(!(d[O>>0]|0)){ru(c[ha>>2]|0,c[C>>2]|0,(c[H>>2]|0)+1|0);a[O>>0]=1}c[S>>2]=(c[G>>2]|0)+(c[W>>2]|0);c[N>>2]=zr(c[ha>>2]|0)|0;if(c[(c[$>>2]|0)+36>>2]|0){Ro(c[ha>>2]|0,28,0,c[(c[E>>2]|0)+(c[W>>2]<<2)>>2]|0)|0;c[(c[B>>2]|0)+92>>2]=(c[H>>2]|0)+1;os(c[B>>2]|0,c[(c[$>>2]|0)+36>>2]|0,c[N>>2]|0,16);c[(c[B>>2]|0)+92>>2]=0}c[da>>2]=ps(c[B>>2]|0,e[(c[$>>2]|0)+52>>1]|0)|0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(e[(c[$>>2]|0)+52>>1]|0))break;c[R>>2]=b[(c[(c[$>>2]|0)+4>>2]|0)+(c[Q>>2]<<1)>>1];if((c[R>>2]|0)>=0?(c[R>>2]|0)!=(b[(c[C>>2]|0)+36>>1]|0):0){c[ia>>2]=(c[R>>2]|0)+(c[H>>2]|0)+1;A=78}else A=73;if((A|0)==73?(A=0,(c[fa>>2]|0)!=((c[da>>2]|0)+(c[Q>>2]|0)|0)):0){c[ia>>2]=c[H>>2];if(c[(c[$>>2]|0)+36>>2]|0)h=-1;else h=(c[da>>2]|0)+(c[Q>>2]|0)|0;c[fa>>2]=h;A=78}if((A|0)==78)Ro(c[ha>>2]|0,34,c[ia>>2]|0,(c[da>>2]|0)+(c[Q>>2]|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}Uo(c[ha>>2]|0,49,c[da>>2]|0,e[(c[$>>2]|0)+52>>1]|0,c[(c[E>>2]|0)+(c[W>>2]<<2)>>2]|0)|0;Ls(c[B>>2]|0,c[da>>2]|0,e[(c[$>>2]|0)+52>>1]|0);if(((d[V>>0]|0)!=0?(c[aa>>2]|0)==(c[$>>2]|0):0)?(d[J>>0]|0)==0:0){Br(c[ha>>2]|0,c[N>>2]|0);break}c[Y>>2]=d[(c[$>>2]|0)+54>>0];if(!(c[Y>>2]|0)){ss(c[B>>2]|0,c[da>>2]|0,e[(c[$>>2]|0)+52>>1]|0);Br(c[ha>>2]|0,c[N>>2]|0);break}if((d[K>>0]|0)==10){if((c[Y>>2]|0)==10)c[Y>>2]=2}else c[Y>>2]=d[K>>0];wf(c[ha>>2]|0,67,c[S>>2]|0,c[N>>2]|0,c[da>>2]|0,e[(c[$>>2]|0)+50>>1]|0)|0;if((c[$>>2]|0)==(c[aa>>2]|0))h=c[da>>2]|0;else h=ps(c[B>>2]|0,c[X>>2]|0)|0;c[ea>>2]=h;d:do if((d[V>>0]|0)!=0|(c[Y>>2]|0)==5){if(!(d[(c[C>>2]|0)+44>>0]&32)){Ro(c[ha>>2]|0,112,c[S>>2]|0,c[ea>>2]|0)|0;if(!(a[V>>0]|0))break;Uo(c[ha>>2]|0,79,c[ea>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;xf(c[ha>>2]|0,-112);break}e:do if((c[$>>2]|0)!=(c[aa>>2]|0)){c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(e[(c[aa>>2]|0)+50>>1]|0))break e;c[ja>>2]=(us(c[$>>2]|0,b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[Q>>2]<<1)>>1]|0)|0)<<16>>16;Uo(c[ha>>2]|0,47,c[S>>2]|0,c[ja>>2]|0,(c[ea>>2]|0)+(c[Q>>2]|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}}while(0);if(a[V>>0]|0){A=yr(c[ha>>2]|0)|0;c[M>>2]=A+(e[(c[aa>>2]|0)+50>>1]|0);c[Z>>2]=78;c[ca>>2]=(a[(c[$>>2]|0)+55>>0]&3|0)==2?c[da>>2]|0:c[ea>>2]|0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(e[(c[aa>>2]|0)+50>>1]|0))break d;c[_>>2]=Ar(c[B>>2]|0,c[(c[(c[aa>>2]|0)+32>>2]|0)+(c[Q>>2]<<2)>>2]|0)|0;c[ja>>2]=b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[Q>>2]<<1)>>1];if((c[Q>>2]|0)==((e[(c[aa>>2]|0)+50>>1]|0)-1|0)){c[M>>2]=c[N>>2];c[Z>>2]=79}To(c[ha>>2]|0,c[Z>>2]|0,(c[I>>2]|0)+1+(c[ja>>2]|0)|0,c[M>>2]|0,(c[ca>>2]|0)+(c[Q>>2]|0)|0,c[_>>2]|0,-4)|0;xf(c[ha>>2]|0,-112);c[Q>>2]=(c[Q>>2]|0)+1}}}while(0);switch(c[Y>>2]|0){case 3:case 2:case 1:{ds(c[B>>2]|0,c[Y>>2]|0,c[$>>2]|0);break}case 4:{Ro(c[ha>>2]|0,16,0,c[L>>2]|0)|0;break}default:{c[ba>>2]=0;dw(c[B>>2]|0);if(c[(c[P>>2]|0)+24>>2]&262144)c[ba>>2]=ku(c[B>>2]|0,c[C>>2]|0,109,0,0)|0;ew(c[B>>2]|0,c[C>>2]|0,c[ba>>2]|0,c[F>>2]|0,c[G>>2]|0,c[ea>>2]|0,c[X>>2]&65535,0,5,(c[$>>2]|0)==(c[aa>>2]|0)&255);c[ga>>2]=1}}Br(c[ha>>2]|0,c[N>>2]|0);ss(c[B>>2]|0,c[da>>2]|0,e[(c[$>>2]|0)+52>>1]|0);if((c[ea>>2]|0)!=(c[da>>2]|0))ss(c[B>>2]|0,c[ea>>2]|0,c[X>>2]|0)}while(0);c[$>>2]=c[(c[$>>2]|0)+20>>2];c[W>>2]=(c[W>>2]|0)+1}if(!(c[U>>2]|0)){ia=c[ga>>2]|0;ja=c[D>>2]|0;c[ja>>2]=ia;i=ka;return}Ro(c[ha>>2]|0,16,0,(c[U>>2]|0)+1|0)|0;jp(c[ha>>2]|0,c[T>>2]|0);ia=c[ga>>2]|0;ja=c[D>>2]|0;c[ja>>2]=ia;i=ka;return}function xu(e,f,g,h,j,k){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,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;N=i;i=i+112|0;l=N+100|0;m=N+92|0;n=N+44|0;o=N+48|0;p=N+84|0;q=N+16|0;u=N+20|0;C=N+24|0;x=N+28|0;L=N+32|0;B=N+80|0;H=N+88|0;D=N+96|0;t=N+104|0;r=N+52|0;w=N+56|0;v=N+60|0;A=N+64|0;J=N+68|0;y=N+12|0;z=N+8|0;I=N+72|0;K=N+36|0;E=N+76|0;G=N+4|0;s=N;F=N+40|0;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[u>>2]=c[c[l>>2]>>2];c[B>>2]=d[(c[l>>2]|0)+438>>0];if(!(c[(c[u>>2]|0)+24>>2]&524288)){i=N;return}c[x>>2]=vf(c[u>>2]|0,c[(c[m>>2]|0)+68>>2]|0)|0;c[L>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];c[C>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[C>>2]|0)){M=38;break}c[D>>2]=0;c[t>>2]=0;c[A>>2]=0;if(!(((c[p>>2]|0)!=0?($b(c[c[m>>2]>>2]|0,c[(c[C>>2]|0)+8>>2]|0)|0)!=0:0)?(Au(c[m>>2]|0,c[C>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))M=7;do if((M|0)==7){M=0;if(a[(c[l>>2]|0)+438>>0]|0)c[H>>2]=cp(c[u>>2]|0,c[(c[C>>2]|0)+8>>2]|0,c[L>>2]|0)|0;else c[H>>2]=rf(c[l>>2]|0,0,c[(c[C>>2]|0)+8>>2]|0,c[L>>2]|0)|0;if((c[H>>2]|0)!=0?(Yt(c[l>>2]|0,c[H>>2]|0,c[C>>2]|0,D,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[w>>2]=c[(c[C>>2]|0)+36>>2];c[r>>2]=w}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[v>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+36>>1]|0))c[(c[r>>2]|0)+(c[v>>2]<<2)>>2]=-1;if(c[(c[u>>2]|0)+284>>2]|0){if(c[D>>2]|0)j=b[(c[(c[D>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]|0;else j=b[(c[H>>2]|0)+36>>1]|0;c[K>>2]=c[(c[(c[H>>2]|0)+4>>2]|0)+((j<<16>>16)*24|0)>>2];c[I>>2]=Nq(c[l>>2]|0,c[c[H>>2]>>2]|0,c[K>>2]|0,c[x>>2]|0)|0;c[A>>2]=(c[I>>2]|0)==2&1}c[v>>2]=(c[v>>2]|0)+1}vr(c[l>>2]|0,c[x>>2]|0,c[(c[H>>2]|0)+32>>2]|0,0,c[c[H>>2]>>2]|0);g=(c[l>>2]|0)+68|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)Bu(c[l>>2]|0,c[x>>2]|0,c[H>>2]|0,c[D>>2]|0,c[C>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[A>>2]|0);if(c[o>>2]|0)Bu(c[l>>2]|0,c[x>>2]|0,c[H>>2]|0,c[D>>2]|0,c[C>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[A>>2]|0);Nd(c[u>>2]|0,c[t>>2]|0);break}if(!(c[B>>2]|0)){M=57;break a}if(d[(c[u>>2]|0)+64>>0]|0){M=57;break a}if(!(c[H>>2]|0)){c[J>>2]=Po(c[l>>2]|0)|0;g=yr(c[J>>2]|0)|0;c[y>>2]=g+(c[(c[C>>2]|0)+20>>2]|0)+1;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[z>>2]=(c[(c[C>>2]|0)+36+(c[v>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;Ro(c[J>>2]|0,76,c[z>>2]|0,c[y>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+1}Ro(c[J>>2]|0,134,d[(c[C>>2]|0)+24>>0]|0,-1)|0}}while(0);c[C>>2]=c[(c[C>>2]|0)+4>>2]}if((M|0)==38){c[C>>2]=Fp(c[m>>2]|0)|0;b:while(1){if(!(c[C>>2]|0)){M=57;break}c[E>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(Cu(c[m>>2]|0,c[C>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))M=42;do if((M|0)==42){M=0;if((((a[(c[C>>2]|0)+24>>0]|0)==0?(c[(c[u>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[l>>2]|0)+408>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(Yt(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,E,s)|0){if(!(c[B>>2]|0)){M=57;break b}if(d[(c[u>>2]|0)+64>>0]|0){M=57;break b}else break}c[G>>2]=Tn(c[u>>2]|0,0,0,0)|0;if(c[G>>2]|0){c[F>>2]=(c[G>>2]|0)+8;c[(c[F>>2]|0)+16>>2]=c[c[C>>2]>>2];c[(c[F>>2]|0)+8>>2]=c[c[c[C>>2]>>2]>>2];K=(c[(c[F>>2]|0)+16>>2]|0)+40|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=(c[l>>2]|0)+68|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[F>>2]|0)+40>>2]=L;if(c[o>>2]|0)Du(c[l>>2]|0,c[G>>2]|0,c[m>>2]|0,c[E>>2]|0,c[C>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if(c[n>>2]|0)Du(c[l>>2]|0,c[G>>2]|0,c[m>>2]|0,c[E>>2]|0,c[C>>2]|0,c[s>>2]|0,c[n>>2]|0,1);c[(c[F>>2]|0)+8>>2]=0;cn(c[u>>2]|0,c[G>>2]|0)}Nd(c[u>>2]|0,c[s>>2]|0)}while(0);c[C>>2]=c[(c[C>>2]|0)+12>>2]}if((M|0)==57){i=N;return}}else if((M|0)==57){i=N;return}}function yu(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;E=i;i=i+64|0;o=E+52|0;p=E+36|0;q=E+4|0;r=E+16|0;s=E+32|0;t=E+40|0;u=E+48|0;v=E+24|0;w=E+20|0;D=E+8|0;z=E+12|0;A=E+57|0;B=E;C=E+44|0;y=E+28|0;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=Po(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;Ro(j,76,n,(yr(c[D>>2]|0)|0)+2|0)|0}Ro(c[D>>2]|0,110,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+44>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;if(a[A>>0]|0)xf(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+44>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=Wo(c[o>>2]|0)|0;Uo(c[D>>2]|0,49,c[B>>2]|0,b[(c[p>>2]|0)+38>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))ru(c[D>>2]|0,c[p>>2]|0,0);Ls(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+38>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;Uo(c[D>>2]|0,75,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Df(c[D>>2]|0,-1,c[c[p>>2]>>2]|0,0);xf(c[D>>2]|0,a[A>>0]|0);i=E;return}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+4|0;h=l+16|0;k=l+8|0;d=l+20|0;j=l+28|0;f=l;e=l+12|0;g=l+24|0;c[b>>2]=a;c[k>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+404>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=Wo(c[b>>2]|0)|0;wr(c[b>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,55);c[f>>2]=ur(c[k>>2]|0,77,(c[g>>2]|0)+1|0)|0;Ro(c[k>>2]|0,74,0,(c[g>>2]|0)+1|0)|0;jp(c[k>>2]|0,c[f>>2]|0);Uo(c[k>>2]|0,49,(c[g>>2]|0)-1|0,2,c[e>>2]|0)|0;Uo(c[k>>2]|0,75,0,c[e>>2]|0,(c[g>>2]|0)+1|0)|0;xf(c[k>>2]|0,8);Yo(c[k>>2]|0,61)|0;Xo(c[b>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}i=l;return}function Au(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+8|0;g=o+16|0;h=o+20|0;j=o+24|0;k=o+4|0;l=o;m=o+12|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+36>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0}function Bu(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;K=i;i=i+96|0;E=K+40|0;o=K+52|0;p=K+4|0;q=K+76|0;F=K+36|0;r=K+16|0;s=K+20|0;G=K+56|0;t=K+64|0;u=K+72|0;J=K+80|0;H=K+84|0;I=K+44|0;z=K+48|0;x=K+8|0;C=K;A=K+24|0;D=K+28|0;B=K+60|0;w=K+12|0;v=K+32|0;y=K+68|0;c[E>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[F>>2]=j;c[r>>2]=k;c[s>>2]=l;c[G>>2]=m;c[t>>2]=n;c[J>>2]=Po(c[E>>2]|0)|0;c[H>>2]=(c[(c[E>>2]|0)+68>>2]|0)-1;c[I>>2]=zr(c[J>>2]|0)|0;if((c[G>>2]|0)<0)Ro(c[J>>2]|0,135,d[(c[F>>2]|0)+24>>0]|0,c[I>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[F>>2]|0)+20>>2]|0))break;c[z>>2]=(c[(c[r>>2]|0)+(c[u>>2]<<2)>>2]|0)+(c[s>>2]|0)+1;Ro(c[J>>2]|0,76,c[z>>2]|0,c[I>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}do if(!(c[t>>2]|0)){if(!(c[q>>2]|0)){c[C>>2]=Wo(c[E>>2]|0)|0;Ro(c[J>>2]|0,34,(c[c[r>>2]>>2]|0)+1+(c[s>>2]|0)|0,c[C>>2]|0)|0;c[x>>2]=Ro(c[J>>2]|0,38,c[C>>2]|0,0)|0;if((c[G>>2]|0)==1?(c[p>>2]|0)==(c[c[F>>2]>>2]|0):0){Uo(c[J>>2]|0,79,c[s>>2]|0,c[I>>2]|0,c[C>>2]|0)|0;xf(c[J>>2]|0,-112)}wr(c[E>>2]|0,c[H>>2]|0,c[o>>2]|0,c[p>>2]|0,54);Uo(c[J>>2]|0,70,c[H>>2]|0,0,c[C>>2]|0)|0;Ro(c[J>>2]|0,16,0,c[I>>2]|0)|0;D=c[J>>2]|0;jp(D,(yr(c[J>>2]|0)|0)-2|0);jp(c[J>>2]|0,c[x>>2]|0);Xo(c[E>>2]|0,c[C>>2]|0);break}c[A>>2]=c[(c[F>>2]|0)+20>>2];c[D>>2]=ps(c[E>>2]|0,c[A>>2]|0)|0;c[B>>2]=Wo(c[E>>2]|0)|0;Uo(c[J>>2]|0,54,c[H>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[o>>2]|0)|0;xr(c[E>>2]|0,c[q>>2]|0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[A>>2]|0))break;Ro(c[J>>2]|0,33,(c[(c[r>>2]|0)+(c[u>>2]<<2)>>2]|0)+1+(c[s>>2]|0)|0,(c[D>>2]|0)+(c[u>>2]|0)|0)|0;c[u>>2]=(c[u>>2]|0)+1}if((c[G>>2]|0)==1?(c[p>>2]|0)==(c[c[F>>2]>>2]|0):0){C=yr(c[J>>2]|0)|0;c[w>>2]=C+(c[A>>2]|0)+1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[A>>2]|0))break;c[v>>2]=(c[(c[r>>2]|0)+(c[u>>2]<<2)>>2]|0)+1+(c[s>>2]|0);c[y>>2]=(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)+1+(c[s>>2]|0);if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[p>>2]|0)+36>>1]|0))c[y>>2]=c[s>>2];Uo(c[J>>2]|0,78,c[v>>2]|0,c[w>>2]|0,c[y>>2]|0)|0;xf(c[J>>2]|0,16);c[u>>2]=(c[u>>2]|0)+1}Ro(c[J>>2]|0,16,0,c[I>>2]|0)|0}h=c[J>>2]|0;e=c[D>>2]|0;g=c[A>>2]|0;l=c[B>>2]|0;C=Zt(c[J>>2]|0,c[q>>2]|0)|0;To(h,49,e,g,l,C,c[A>>2]|0)|0;wf(c[J>>2]|0,69,c[H>>2]|0,c[I>>2]|0,c[B>>2]|0,0)|0;Xo(c[E>>2]|0,c[B>>2]|0);ss(c[E>>2]|0,c[D>>2]|0,c[A>>2]|0)}while(0);if((((a[(c[F>>2]|0)+24>>0]|0)==0?(c[(c[c[E>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[E>>2]|0)+408>>2]|0)==0:0)?(a[(c[E>>2]|0)+20>>0]|0)==0:0){gs(c[E>>2]|0,787,2,0,-2,4);G=c[J>>2]|0;I=c[I>>2]|0;Br(G,I);I=c[J>>2]|0;J=c[H>>2]|0;ur(I,61,J)|0;i=K;return}if((c[G>>2]|0)>0?(d[(c[F>>2]|0)+24>>0]|0)==0:0){o=c[E>>2]|0;if(c[(c[E>>2]|0)+408>>2]|0)o=c[o+408>>2]|0;a[o+21>>0]=1}Ro(c[J>>2]|0,134,d[(c[F>>2]|0)+24>>0]|0,c[G>>2]|0)|0;G=c[J>>2]|0;I=c[I>>2]|0;Br(G,I);I=c[J>>2]|0;J=c[H>>2]|0;ur(I,61,J)|0;i=K;return}function Cu(a,e,f,g){a=a|0;e=e|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;s=i;i=i+48|0;h=s+28|0;j=s+16|0;k=s+4|0;l=s+8|0;m=s+32|0;n=s;q=s+12|0;o=s+24|0;p=s+20|0;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+38>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+36>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0);f=c[p>>2]|0;if(c[q>>2]|0)if(!($b(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+23>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function Du(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;P=i;i=i+144|0;H=P+124|0;o=P+40|0;p=P;q=P+84|0;I=P+4|0;r=P+16|0;s=P+20|0;J=P+24|0;K=P+28|0;t=P+72|0;N=P+80|0;F=P+88|0;M=P+120|0;L=P+48|0;O=P+52|0;z=P+56|0;D=P+60|0;x=P+8|0;u=P+130|0;G=P+12|0;B=P+32|0;A=P+68|0;E=P+36|0;y=P+76|0;w=P+44|0;C=P+64|0;v=P+128|0;c[H>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[I>>2]=k;c[r>>2]=l;c[s>>2]=m;c[J>>2]=n;c[K>>2]=c[c[H>>2]>>2];c[N>>2]=0;c[L>>2]=0;c[O>>2]=Po(c[H>>2]|0)|0;if((c[J>>2]|0)<0)c[L>>2]=Ro(c[O>>2]|0,135,d[(c[I>>2]|0)+24>>0]|0,0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[I>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)l=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;else l=-1;b[u>>1]=l;c[z>>2]=Eu(c[H>>2]|0,c[p>>2]|0,c[s>>2]|0,b[u>>1]|0)|0;if(c[r>>2]|0)l=c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0;else l=c[(c[I>>2]|0)+36>>2]|0;b[u>>1]=l;c[G>>2]=c[(c[(c[c[I>>2]>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)>>2];c[D>>2]=Qn(c[K>>2]|0,27,c[G>>2]|0)|0;c[x>>2]=zn(c[H>>2]|0,79,c[z>>2]|0,c[D>>2]|0,0)|0;c[N>>2]=_q(c[K>>2]|0,c[N>>2]|0,c[x>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+1}if((c[J>>2]|0)>0?(c[p>>2]|0)==(c[c[I>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+44>>0]&32)){c[A>>2]=Eu(c[H>>2]|0,c[p>>2]|0,c[s>>2]|0,-1)|0;c[E>>2]=Fu(c[K>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+40>>2]|0,-1)|0;c[B>>2]=zn(c[H>>2]|0,78,c[A>>2]|0,c[E>>2]|0,0)|0}else{c[w>>2]=0;c[C>>2]=Lr(c[p>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(e[(c[C>>2]|0)+50>>1]|0))break;b[v>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;c[A>>2]=Eu(c[H>>2]|0,c[p>>2]|0,c[s>>2]|0,b[v>>1]|0)|0;c[E>>2]=Fu(c[K>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+40>>2]|0,b[v>>1]|0)|0;c[y>>2]=zn(c[H>>2]|0,79,c[A>>2]|0,c[E>>2]|0,0)|0;c[w>>2]=_q(c[K>>2]|0,c[w>>2]|0,c[y>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+1}c[B>>2]=zn(c[H>>2]|0,19,c[w>>2]|0,0,0)|0}c[N>>2]=_q(c[K>>2]|0,c[N>>2]|0,c[B>>2]|0)|0};c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[F+16>>2]=0;c[F+20>>2]=0;c[F+24>>2]=0;c[F+28>>2]=0;c[F+4>>2]=c[o>>2];c[F>>2]=c[H>>2];gq(F,c[N>>2]|0)|0;c[M>>2]=Gu(c[H>>2]|0,c[o>>2]|0,c[N>>2]|0,0,0,0,0)|0;if((c[J>>2]|0)>0?(d[(c[I>>2]|0)+24>>0]|0)==0:0){l=c[H>>2]|0;if(c[(c[H>>2]|0)+408>>2]|0)l=c[l+408>>2]|0;a[l+21>>0]=1}Ro(c[O>>2]|0,134,d[(c[I>>2]|0)+24>>0]|0,c[J>>2]|0)|0;if(c[M>>2]|0)Hu(c[M>>2]|0);dn(c[K>>2]|0,c[N>>2]|0);if(!(c[L>>2]|0)){i=P;return}jp(c[O>>2]|0,c[L>>2]|0);i=P;return}function Eu(d,e,f,g){d=d|0;e=e|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;q=i;i=i+32|0;h=q+4|0;j=q+16|0;k=q+12|0;l=q+28|0;o=q+24|0;n=q;p=q+20|0;m=q+8|0;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Qn(c[m>>2]|0,159,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+36>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((b[l>>1]|0)*24|0);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+21>>0]|0;c[p>>2]=c[(c[n>>2]|0)+16>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=zq(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function Fu(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Qn(c[m>>2]|0,154,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function Gu(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;Z=i;i=i+176|0;n=Z+16|0;q=Z+132|0;r=Z+64|0;s=Z+112|0;o=Z+156|0;t=Z+36|0;u=Z+32|0;v=Z+172|0;w=Z+40|0;p=Z+48|0;F=Z+52|0;T=Z+56|0;X=Z+60|0;G=Z;V=Z+68|0;O=Z+152|0;M=Z+160|0;N=Z+164|0;D=Z+100|0;y=Z+104|0;U=Z+108|0;W=Z+8|0;R=Z+116|0;J=Z+120|0;P=Z+124|0;A=Z+128|0;Q=Z+44|0;S=Z+140|0;z=Z+144|0;H=Z+148|0;x=Z+24|0;E=Z+88|0;K=Z+136|0;B=Z+92|0;I=Z+96|0;L=Z+168|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[X>>2]=c[(c[r>>2]|0)+8>>2];c[y>>2]=c[c[r>>2]>>2];c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[V+8>>2]=c[t>>2];if(e[(c[y>>2]|0)+60>>1]&32)b[v>>1]=e[v>>1]&-1025;if((c[c[s>>2]>>2]|0)>64){Y=c[r>>2]|0;c[n>>2]=64;sf(Y,26119,n);c[q>>2]=0;Y=c[q>>2]|0;i=Z;return Y|0}if(e[v>>1]&64)m=1;else m=c[c[s>>2]>>2]|0;c[F>>2]=m;c[p>>2]=808+(((c[F>>2]|0)-1|0)*72|0)+7&-8;c[T>>2]=gf(c[y>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[y>>2]|0)+64>>0]|0)){c[(c[T>>2]|0)+60+4>>2]=-1;c[(c[T>>2]|0)+60>>2]=-1;a[(c[T>>2]|0)+41>>0]=c[F>>2];c[c[T>>2]>>2]=c[r>>2];c[(c[T>>2]|0)+4>>2]=c[s>>2];c[(c[T>>2]|0)+8>>2]=c[t>>2];c[(c[T>>2]|0)+12>>2]=c[u>>2];l=zr(c[X>>2]|0)|0;c[(c[T>>2]|0)+48>>2]=l;c[(c[T>>2]|0)+52>>2]=l;b[(c[T>>2]|0)+34>>1]=b[v>>1]|0;c[(c[T>>2]|0)+56>>2]=c[(c[r>>2]|0)+424>>2];c[O>>2]=(c[T>>2]|0)+68;c[V>>2]=c[T>>2];c[V+4>>2]=(c[T>>2]|0)+328;c[V+12>>2]=(c[T>>2]|0)+(c[p>>2]|0);Nu(c[V+12>>2]|0);c[c[O>>2]>>2]=0;Qu((c[T>>2]|0)+328|0,c[T>>2]|0);Ru((c[T>>2]|0)+328|0,c[o>>2]|0,72);c[D>>2]=0;while(1){m=(c[F>>2]|0)==0;if((c[D>>2]|0)>=(c[(c[V+4>>2]|0)+12>>2]|0))break;if(!(!m?(gt(c[(c[(c[V+4>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0)>>2]|0)|0)==0:0)){os(c[r>>2]|0,c[(c[(c[V+4>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0)>>2]|0,c[(c[T>>2]|0)+52>>2]|0,16);p=(c[(c[V+4>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0)+20|0;a[p>>0]=d[p>>0]|4}c[D>>2]=(c[D>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[T>>2]|0)+36>>0]=c[c[t>>2]>>2];if(e[v>>1]&1024)a[(c[T>>2]|0)+40>>0]=1}c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[c[s>>2]>>2]|0))break;Su(c[O>>2]|0,c[(c[s>>2]|0)+8+((c[D>>2]|0)*72|0)+40>>2]|0);c[D>>2]=(c[D>>2]|0)+1}Tu(c[s>>2]|0,(c[T>>2]|0)+328|0);if(!(a[(c[y>>2]|0)+64>>0]|0)){do if(e[v>>1]&1024){if(Uu(c[r>>2]|0,c[s>>2]|0,(c[T>>2]|0)+328|0,c[u>>2]|0)|0){a[(c[T>>2]|0)+40>>0]=1;break}if(!(c[t>>2]|0)){t=(c[T>>2]|0)+34|0;b[t>>1]=e[t>>1]|512;c[(c[T>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[F>>2]|0)==1?(Vu(V)|0)!=0:0)){c[U>>2]=Wu(V)|0;if(c[U>>2]|0)break;Xu(c[T>>2]|0,0)|0;if(a[(c[y>>2]|0)+64>>0]|0)break;if((c[(c[T>>2]|0)+8>>2]|0)!=0?(Xu(c[T>>2]|0,(b[(c[T>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[y>>2]|0)+64>>0]|0)!=0):0)break}if((c[(c[T>>2]|0)+8>>2]|0)==0?(c[(c[y>>2]|0)+24>>2]&131072|0)!=0:0){U=(c[T>>2]|0)+24|0;c[U>>2]=-1;c[U+4>>2]=-1}if((c[(c[r>>2]|0)+64>>2]|0)==0?(d[(c[y>>2]|0)+64>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[T>>2]|0)+41>>0]|0)>=2:0)?(e[(c[y>>2]|0)+60>>1]&1024|0)==0:0){u=Yu(c[O>>2]|0,c[u>>2]|0)|0;U=W;c[U>>2]=u;c[U+4>>2]=C;if(c[V+8>>2]|0){u=Yu(c[O>>2]|0,c[V+8>>2]|0)|0;t=W;O=c[t+4>>2]|C;U=W;c[U>>2]=c[t>>2]|u;c[U+4>>2]=O}while(1){if((d[(c[T>>2]|0)+41>>0]|0)<2)break b;c[N>>2]=c[(c[T>>2]|0)+736+(((d[(c[T>>2]|0)+41>>0]|0)-1|0)*72|0)+56>>2];if(!(d[(c[(c[T>>2]|0)+4>>2]|0)+8+((d[(c[N>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&1024|0)==0?(c[(c[N>>2]|0)+36>>2]&4096|0)==0:0)break b;O=W;U=(c[N>>2]|0)+8|0;if((c[O>>2]&c[U>>2]|0)!=0?1:(c[O+4>>2]&c[U+4>>2]|0)!=0)break b;c[J>>2]=(c[(c[V+4>>2]|0)+20>>2]|0)+((c[(c[V+4>>2]|0)+12>>2]|0)*48|0);c[R>>2]=c[(c[V+4>>2]|0)+20>>2];while(1){if((c[R>>2]|0)>>>0>=(c[J>>2]|0)>>>0)break;O=(c[R>>2]|0)+40|0;U=(c[N>>2]|0)+8|0;if(((c[O>>2]&c[U>>2]|0)!=0?1:(c[O+4>>2]&c[U+4>>2]|0)!=0)?(c[(c[c[R>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[R>>2]=(c[R>>2]|0)+48}if((c[R>>2]|0)>>>0<(c[J>>2]|0)>>>0)break b;U=(c[T>>2]|0)+41|0;a[U>>0]=(a[U>>0]|0)+-1<<24>>24;c[F>>2]=(c[F>>2]|0)+-1}}while(0);W=(c[c[T>>2]>>2]|0)+424|0;c[W>>2]=(c[W>>2]|0)+(b[(c[T>>2]|0)+32>>1]|0);if(((e[v>>1]&4|0)!=0?(c[(c[(c[T>>2]|0)+736+56>>2]|0)+36>>2]&4096|0)!=0:0)?(a[(c[T>>2]|0)+38>>0]=1,(d[(c[(c[s>>2]|0)+8+16>>2]|0)+44>>0]&32|0)==0):0){W=(c[(c[T>>2]|0)+736+56>>2]|0)+36|0;c[W>>2]=c[W>>2]&-65}W=G;c[W>>2]=-1;c[W+4>>2]=-1;c[D>>2]=0;c[M>>2]=(c[T>>2]|0)+736;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[Q>>2]=(c[s>>2]|0)+8+((d[(c[M>>2]|0)+36>>0]|0)*72|0);c[P>>2]=c[(c[Q>>2]|0)+16>>2];c[A>>2]=vf(c[y>>2]|0,c[(c[P>>2]|0)+68>>2]|0)|0;c[N>>2]=c[(c[M>>2]|0)+56>>2];c:do if((d[(c[P>>2]|0)+44>>0]&2|0)==0?(c[(c[P>>2]|0)+12>>2]|0)==0:0){if(c[(c[N>>2]|0)+36>>2]&1024){c[S>>2]=Bp(c[y>>2]|0,c[P>>2]|0)|0;c[z>>2]=c[(c[Q>>2]|0)+40>>2];To(c[X>>2]|0,147,c[z>>2]|0,0,0,c[S>>2]|0,-10)|0;break}if(d[(c[P>>2]|0)+44>>0]&16)break;do if(!(c[(c[N>>2]|0)+36>>2]&64)){if(e[v>>1]&16)break;c[H>>2]=54;if(a[(c[T>>2]|0)+38>>0]|0){c[H>>2]=55;c[(c[T>>2]|0)+60>>2]=c[(c[Q>>2]|0)+40>>2]}wr(c[r>>2]|0,c[(c[Q>>2]|0)+40>>2]|0,c[A>>2]|0,c[P>>2]|0,c[H>>2]|0);if(a[(c[T>>2]|0)+38>>0]|0)break c;if((b[(c[P>>2]|0)+38>>1]|0)>=64)break c;if(d[(c[P>>2]|0)+44>>0]&32)break c;U=(c[Q>>2]|0)+56|0;V=c[U+4>>2]|0;W=x;c[W>>2]=c[U>>2];c[W+4>>2]=V;c[E>>2]=0;while(1){W=x;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0))break;V=x;V=GH(c[V>>2]|0,c[V+4>>2]|0,1)|0;W=x;c[W>>2]=V;c[W+4>>2]=C;c[E>>2]=(c[E>>2]|0)+1}V=c[X>>2]|0;W=(yr(c[X>>2]|0)|0)-1|0;Df(V,W,c[E>>2]|0,-14);break c}while(0);vr(c[r>>2]|0,c[A>>2]|0,c[(c[P>>2]|0)+32>>2]|0,0,c[c[P>>2]>>2]|0)}while(0);do if(c[(c[N>>2]|0)+36>>2]&512){c[K>>2]=c[(c[N>>2]|0)+24+4>>2];c[I>>2]=54;do if(!(d[(c[P>>2]|0)+44>>0]&32))Y=87;else{if((a[(c[K>>2]|0)+55>>0]&3|0)!=2){Y=87;break}if(!(e[v>>1]&64)){Y=87;break}c[B>>2]=c[(c[M>>2]|0)+4>>2];c[I>>2]=0}while(0);d:do if((Y|0)==87){Y=0;if(a[(c[T>>2]|0)+38>>0]|0){c[L>>2]=c[(c[(c[Q>>2]|0)+16>>2]|0)+8>>2];c[B>>2]=c[w>>2];while(1){if(!(c[L>>2]|0))break;if((c[L>>2]|0)==(c[K>>2]|0))break;c[B>>2]=(c[B>>2]|0)+1;c[L>>2]=c[(c[L>>2]|0)+20>>2]}c[I>>2]=55;c[(c[T>>2]|0)+60+4>>2]=c[B>>2];break}else{do if(c[w>>2]|0){if(!(e[v>>1]&64))break;c[B>>2]=c[w>>2];if(!(e[v>>1]&4096))break d;c[I>>2]=53;break d}while(0);V=(c[r>>2]|0)+68|0;W=c[V>>2]|0;c[V>>2]=W+1;c[B>>2]=W;break}}while(0);c[(c[M>>2]|0)+8>>2]=c[B>>2];if(!(c[I>>2]|0))break;Uo(c[X>>2]|0,c[I>>2]|0,c[B>>2]|0,c[(c[K>>2]|0)+44>>2]|0,c[A>>2]|0)|0;xr(c[r>>2]|0,c[K>>2]|0)}while(0);if((c[A>>2]|0)>=0)ap(c[r>>2]|0,c[A>>2]|0);U=Zu((c[T>>2]|0)+68|0,c[(c[Q>>2]|0)+40>>2]|0)|0;R=G;V=c[R+4>>2]&~C;W=G;c[W>>2]=c[R>>2]&~U;c[W+4>>2]=V;c[D>>2]=(c[D>>2]|0)+1;c[M>>2]=(c[M>>2]|0)+72}Y=yr(c[X>>2]|0)|0;c[(c[T>>2]|0)+44>>2]=Y;if(!(a[(c[y>>2]|0)+64>>0]|0)){Y=G;c[Y>>2]=-1;c[Y+4>>2]=-1;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[M>>2]=(c[T>>2]|0)+736+((c[D>>2]|0)*72|0);if((c[(c[(c[M>>2]|0)+56>>2]|0)+36>>2]&16384|0)!=0?(Y=G,_u(c[r>>2]|0,(c[T>>2]|0)+328|0,(c[s>>2]|0)+8+((d[(c[M>>2]|0)+36>>0]|0)*72|0)|0,c[Y>>2]|0,c[Y+4>>2]|0,c[M>>2]|0),(a[(c[y>>2]|0)+64>>0]|0)!=0):0)break a;$u(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0,c[D>>2]|0,d[(c[M>>2]|0)+36>>0]|0,b[v>>1]|0);W=yr(c[X>>2]|0)|0;c[(c[M>>2]|0)+32>>2]=W;W=G;W=av(c[T>>2]|0,c[D>>2]|0,c[W>>2]|0,c[W+4>>2]|0)|0;Y=G;c[Y>>2]=W;c[Y+4>>2]=C;c[(c[T>>2]|0)+48>>2]=c[(c[M>>2]|0)+24>>2];c[D>>2]=(c[D>>2]|0)+1}c[q>>2]=c[T>>2];Y=c[q>>2]|0;i=Z;return Y|0}}}}else{Nd(c[y>>2]|0,c[T>>2]|0);c[T>>2]=0}while(0);if(c[T>>2]|0){c[(c[r>>2]|0)+424>>2]=c[(c[T>>2]|0)+56>>2];Iu(c[y>>2]|0,c[T>>2]|0)}c[q>>2]=0;Y=c[q>>2]|0;i=Z;return Y|0}function Hu(f){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;D=i;i=i+80|0;l=D+36|0;u=D+24|0;z=D+20|0;n=D+68|0;r=D+32|0;s=D+16|0;y=D+48|0;m=D+56|0;h=D+64|0;k=D+72|0;j=D+76|0;o=D+40|0;p=D+8|0;t=D;q=D+4|0;x=D+44|0;w=D+52|0;A=D+28|0;B=D+60|0;v=D+12|0;c[l>>2]=f;c[u>>2]=c[c[l>>2]>>2];c[z>>2]=c[(c[u>>2]|0)+8>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];c[m>>2]=c[c[u>>2]>>2];$t(c[u>>2]|0);c[n>>2]=(d[(c[l>>2]|0)+41>>0]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[r>>2]=(c[l>>2]|0)+736+((c[n>>2]|0)*72|0);c[s>>2]=c[(c[r>>2]|0)+56>>2];Br(c[z>>2]|0,c[(c[r>>2]|0)+24>>2]|0);if((d[(c[r>>2]|0)+37>>0]|0)!=154){Uo(c[z>>2]|0,d[(c[r>>2]|0)+37>>0]|0,c[(c[r>>2]|0)+40>>2]|0,c[(c[r>>2]|0)+44>>2]|0,d[(c[r>>2]|0)+38>>0]|0)|0;xf(c[z>>2]|0,a[(c[r>>2]|0)+39>>0]|0)}if((c[(c[s>>2]|0)+36>>2]&2048|0)!=0?(c[(c[r>>2]|0)+48>>2]|0)>0:0){Br(c[z>>2]|0,c[(c[r>>2]|0)+16>>2]|0);c[j>>2]=c[(c[r>>2]|0)+48>>2];c[k>>2]=(c[(c[r>>2]|0)+48+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break;jp(c[z>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)+1|0);Ro(c[z>>2]|0,d[(c[k>>2]|0)+8>>0]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;jp(c[z>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+-12}Nd(c[m>>2]|0,c[(c[r>>2]|0)+48+4>>2]|0)}Br(c[z>>2]|0,c[(c[r>>2]|0)+12>>2]|0);if(c[(c[r>>2]|0)+20>>2]|0){Ro(c[z>>2]|0,16,0,c[(c[r>>2]|0)+20>>2]|0)|0;jp(c[z>>2]|0,c[(c[r>>2]|0)+20>>2]|0);jp(c[z>>2]|0,(c[(c[r>>2]|0)+20>>2]|0)-2|0)}if(c[c[r>>2]>>2]|0){c[h>>2]=ur(c[z>>2]|0,137,c[c[r>>2]>>2]|0)|0;if(!(c[(c[s>>2]|0)+36>>2]&64))ur(c[z>>2]|0,104,c[(c[y>>2]|0)+8+((c[n>>2]|0)*72|0)+40>>2]|0)|0;if(c[(c[s>>2]|0)+36>>2]&512)ur(c[z>>2]|0,104,c[(c[r>>2]|0)+8>>2]|0)|0;f=c[z>>2]|0;g=c[r>>2]|0;if((d[(c[r>>2]|0)+37>>0]|0)==18)Ro(f,17,c[g+40>>2]|0,c[(c[r>>2]|0)+28>>2]|0)|0;else Ro(f,16,0,c[g+28>>2]|0)|0;jp(c[z>>2]|0,c[h>>2]|0)}c[n>>2]=(c[n>>2]|0)+-1}Br(c[z>>2]|0,c[(c[l>>2]|0)+52>>2]|0);c[n>>2]=0;c[r>>2]=(c[l>>2]|0)+736;while(1){if((c[n>>2]|0)>=(d[(c[l>>2]|0)+41>>0]|0))break;c[q>>2]=0;c[x>>2]=(c[y>>2]|0)+8+((d[(c[r>>2]|0)+36>>0]|0)*72|0);c[w>>2]=c[(c[x>>2]|0)+16>>2];c[s>>2]=c[(c[r>>2]|0)+56>>2];a:do if(((d[(c[x>>2]|0)+37>>0]|0)>>>2&1|0)!=0?(a[(c[m>>2]|0)+64>>0]|0)==0:0){c[p>>2]=yr(c[z>>2]|0)|0;c[o>>2]=c[(c[r>>2]|0)+32>>2];c[t>>2]=Ws(c[z>>2]|0,c[o>>2]|0)|0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;do if((c[(c[t>>2]|0)+4>>2]|0)==(c[(c[r>>2]|0)+4>>2]|0)){f=c[t>>2]|0;if((d[c[t>>2]>>0]|0)==47){a[f>>0]=33;c[(c[t>>2]|0)+4>>2]=(c[(c[t>>2]|0)+8>>2]|0)+(c[(c[x>>2]|0)+32>>2]|0);c[(c[t>>2]|0)+8>>2]=c[(c[t>>2]|0)+12>>2];c[(c[t>>2]|0)+12>>2]=0;break}if((d[f>>0]|0)==103){a[c[t>>2]>>0]=28;c[(c[t>>2]|0)+4>>2]=0;c[(c[t>>2]|0)+12>>2]=0}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}}else C=35;while(0);b:do if((C|0)==35){C=0;if(((d[(c[w>>2]|0)+44>>0]&2|0)==0?(c[(c[w>>2]|0)+12>>2]|0)==0:0)?(e[(c[l>>2]|0)+34>>1]&16|0)==0:0){c[A>>2]=c[(c[s>>2]|0)+36>>2];if((a[(c[l>>2]|0)+38>>0]|0)==0?(c[A>>2]&64|0)==0:0)ur(c[z>>2]|0,61,c[(c[x>>2]|0)+40>>2]|0)|0;if(((c[A>>2]&512|0)!=0?(c[A>>2]&16640|0)==0:0)?(c[(c[r>>2]|0)+8>>2]|0)!=(c[(c[l>>2]|0)+60+4>>2]|0):0)ur(c[z>>2]|0,61,c[(c[r>>2]|0)+8>>2]|0)|0}f=c[s>>2]|0;if(!(c[(c[s>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[q>>2]=c[(c[r>>2]|0)+48>>2]}else c[q>>2]=c[f+24+4>>2];if((c[q>>2]|0)!=0?(a[(c[m>>2]|0)+64>>0]|0)==0:0){c[p>>2]=yr(c[z>>2]|0)|0;c[o>>2]=c[(c[r>>2]|0)+32>>2];c[t>>2]=Ws(c[z>>2]|0,c[o>>2]|0)|0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break b;do if((c[(c[t>>2]|0)+4>>2]|0)==(c[(c[r>>2]|0)+4>>2]|0)){f=c[t>>2]|0;if((d[c[t>>2]>>0]|0)!=47){if((d[f>>0]|0)!=103)break;c[(c[t>>2]|0)+4>>2]=c[(c[r>>2]|0)+8>>2];a[c[t>>2]>>0]=112;break}c[B>>2]=c[f+8>>2];if(d[(c[w>>2]|0)+44>>0]&32){c[v>>2]=Lr(c[w>>2]|0)|0;c[B>>2]=b[(c[(c[v>>2]|0)+4>>2]|0)+(c[B>>2]<<1)>>1]}c[B>>2]=(us(c[q>>2]|0,c[B>>2]&65535)|0)<<16>>16;if((c[B>>2]|0)>=0){c[(c[t>>2]|0)+8>>2]=c[B>>2];c[(c[t>>2]|0)+4>>2]=c[(c[r>>2]|0)+8>>2]}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+72}c[(c[u>>2]|0)+424>>2]=c[(c[l>>2]|0)+56>>2];Iu(c[m>>2]|0,c[l>>2]|0);i=D;return}function Iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}Ju((c[e>>2]|0)+328|0);while(1){if(!(c[(c[e>>2]|0)+16>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+16>>2];c[(c[e>>2]|0)+16>>2]=c[(c[f>>2]|0)+48>>2];Ku(c[d>>2]|0,c[f>>2]|0)}Nd(c[d>>2]|0,c[e>>2]|0);i=g;return}function Ju(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;e=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[e>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((d[(c[e>>2]|0)+20>>0]|0)&1)dn(c[f>>2]|0,c[c[e>>2]>>2]|0);if(!((d[(c[e>>2]|0)+20>>0]|0)&16)){if((d[(c[e>>2]|0)+20>>0]|0)&32)Pu(c[f>>2]|0,c[(c[e>>2]|0)+12>>2]|0)}else Ou(c[f>>2]|0,c[(c[e>>2]|0)+12>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=(c[e>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Nd(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function Ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Lu(c[f>>2]|0,c[e>>2]|0);Nd(c[f>>2]|0,c[e>>2]|0);i=d;return}function Lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+44>>2]|0)!=((c[e>>2]|0)+52|0))Nd(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0);Mu(c[d>>2]|0,c[e>>2]|0);Nu(c[e>>2]|0);i=f;return}function Mu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Sb(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+4>>2]|0)){i=h;return}Nd(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+4>>2]|0)+16>>2]|0);ah(c[(c[(c[g>>2]|0)+24+4>>2]|0)+40>>2]|0);Nd(c[f>>2]|0,c[(c[g>>2]|0)+24+4>>2]|0);c[(c[g>>2]|0)+24+4>>2]=0;i=h;return}function Nu(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+44>>2]=(c[e>>2]|0)+52;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+42>>1]=4;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function Ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ju(c[e>>2]|0);Nd(c[f>>2]|0,c[e>>2]|0);i=d;return}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ju(c[e>>2]|0);Nd(c[f>>2]|0,c[e>>2]|0);i=d;return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function Ru(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[h>>2]|0)){i=k;return}e=c[g>>2]|0;f=c[h>>2]|0;if((d[c[h>>2]>>0]|0|0)!=(d[j>>0]|0|0)){Uv(e,f,0)|0;i=k;return}else{Ru(e,c[f+12>>2]|0,a[j>>0]|0);Ru(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,a[j>>0]|0);i=k;return}}function Su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;Rv(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function Uu(a,f,g,h){a=a|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;j=w+12|0;k=w+16|0;l=w+28|0;m=w+4|0;n=w+32|0;u=w+36|0;t=w+40|0;o=w+24|0;p=w+20|0;s=w+8|0;q=w+44|0;r=w;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;v=c[j>>2]|0;i=w;return v|0}c[p>>2]=c[(c[l>>2]|0)+8+40>>2];c[u>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[s>>2]=Vp(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[s>>2]>>0]|0)==154?(c[(c[s>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[s>>2]|0)+32>>1]|0)<0:0){v=8;break}c[o>>2]=(c[o>>2]|0)+1}if((v|0)==8){c[j>>2]=1;v=c[j>>2]|0;i=w;return v|0}c[t>>2]=c[(c[u>>2]|0)+8>>2];while(1){if(!(c[t>>2]|0)){v=22;break}if(d[(c[t>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[t>>2]|0)+50>>1]|0))break;b[q>>1]=b[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0;if(!(gv(c[m>>2]|0,c[p>>2]|0,b[q>>1]|0,-1,-1,2,c[t>>2]|0)|0)){c[r>>2]=Qv(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,c[o>>2]|0)|0;if((c[r>>2]|0)<0)break;if(!(d[(c[(c[u>>2]|0)+4>>2]|0)+((b[q>>1]|0)*24|0)+20>>0]|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[t>>2]|0)+50>>1]|0)){v=20;break}}c[t>>2]=c[(c[t>>2]|0)+20>>2]}if((v|0)==20){c[j>>2]=1;v=c[j>>2]|0;i=w;return v|0}else if((v|0)==22){c[j>>2]=0;v=c[j>>2]|0;i=w;return v|0}return 0}function Vu(f){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;s=i;i=i+48|0;g=s+36|0;h=s+16|0;r=s;m=s+28|0;q=s+32|0;p=s+40|0;n=s+12|0;j=s+24|0;k=s+20|0;o=s+8|0;l=s+4|0;c[h>>2]=f;c[r>>2]=c[c[h>>2]>>2];if(e[(c[r>>2]|0)+34>>1]&32){c[g>>2]=0;r=c[g>>2]|0;i=s;return r|0}c[m>>2]=(c[(c[r>>2]|0)+4>>2]|0)+8;c[o>>2]=c[(c[m>>2]|0)+16>>2];if(d[(c[o>>2]|0)+44>>0]&16){c[g>>2]=0;r=c[g>>2]|0;i=s;return r|0}if(c[(c[m>>2]|0)+64>>2]|0){c[g>>2]=0;r=c[g>>2]|0;i=s;return r|0}c[j>>2]=c[(c[m>>2]|0)+40>>2];c[q>>2]=(c[r>>2]|0)+328;c[n>>2]=c[(c[h>>2]|0)+12>>2];c[(c[n>>2]|0)+36>>2]=0;b[(c[n>>2]|0)+24+2>>1]=0;c[p>>2]=gv(c[q>>2]|0,c[j>>2]|0,-1,0,0,2,0)|0;a:do if(c[p>>2]|0){c[(c[n>>2]|0)+36>>2]=4353;c[c[(c[n>>2]|0)+44>>2]>>2]=c[p>>2];b[(c[n>>2]|0)+40>>1]=1;b[(c[n>>2]|0)+24>>1]=1;b[(c[n>>2]|0)+20>>1]=33}else{c[l>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break a;if(((d[(c[l>>2]|0)+54>>0]|0)!=0?(c[(c[l>>2]|0)+36>>2]|0)==0:0)?(e[(c[l>>2]|0)+50>>1]|0)<=4:0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break;c[p>>2]=gv(c[q>>2]|0,c[j>>2]|0,b[(c[(c[l>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0,0,0,2,c[l>>2]|0)|0;if(!(c[p>>2]|0))break;c[(c[(c[n>>2]|0)+44>>2]|0)+(c[k>>2]<<2)>>2]=c[p>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[l>>2]|0)+50>>1]|0))break}c[l>>2]=c[(c[l>>2]|0)+20>>2]}c[(c[n>>2]|0)+36>>2]=4609;if(!(((d[(c[l>>2]|0)+55>>0]|0)>>>5&1|0)==0?(q=(c[m>>2]|0)+56|0,o=c[q>>2]|0,q=c[q+4>>2]|0,p=Iv(c[l>>2]|0)|0,!((o&~p|0)==0&(q&~C|0)==0)):0)){q=(c[n>>2]|0)+36|0;c[q>>2]=c[q>>2]|64}b[(c[n>>2]|0)+40>>1]=c[k>>2];b[(c[n>>2]|0)+24>>1]=c[k>>2];c[(c[n>>2]|0)+24+4>>2]=c[l>>2];b[(c[n>>2]|0)+20>>1]=39}while(0);if(!(c[(c[n>>2]|0)+36>>2]|0)){c[g>>2]=0;r=c[g>>2]|0;i=s;return r|0}b[(c[n>>2]|0)+22>>1]=1;c[(c[r>>2]|0)+736+56>>2]=c[n>>2];p=Zu((c[r>>2]|0)+68|0,c[j>>2]|0)|0;q=(c[n>>2]|0)+8|0;c[q>>2]=p;c[q+4>>2]=C;c[(c[r>>2]|0)+736+4>>2]=c[j>>2];b[(c[r>>2]|0)+32>>1]=1;if(c[(c[r>>2]|0)+8>>2]|0)a[(c[r>>2]|0)+36>>0]=c[c[(c[r>>2]|0)+8>>2]>>2];if(e[(c[r>>2]|0)+34>>1]&1024)a[(c[r>>2]|0)+40>>0]=1;c[g>>2]=1;r=c[g>>2]|0;i=s;return r|0}function Wu(b){b=b|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;s=i;i=i+64|0;g=s+24|0;n=s+28|0;j=s;k=s+8|0;h=s+32|0;f=s+44|0;m=s+48|0;p=s+36|0;l=s+40|0;r=s+20|0;o=s+52|0;q=s+16|0;c[g>>2]=b;c[n>>2]=c[c[g>>2]>>2];e=j;c[e>>2]=0;c[e+4>>2]=0;e=k;c[e>>2]=0;c[e+4>>2]=0;c[f>>2]=c[(c[n>>2]|0)+4>>2];c[p>>2]=c[c[c[n>>2]>>2]>>2];c[l>>2]=d[(c[n>>2]|0)+41>>0];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[g>>2]|0)+12>>2];Nu(c[q>>2]|0);c[h>>2]=0;c[m>>2]=(c[f>>2]|0)+8;while(1){if((c[h>>2]|0)>=(c[l>>2]|0)){b=13;break}a[(c[q>>2]|0)+16>>0]=c[h>>2];e=Zu((c[n>>2]|0)+68|0,c[(c[m>>2]|0)+40>>2]|0)|0;f=(c[q>>2]|0)+8|0;c[f>>2]=e;c[f+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){b=k;e=c[b+4>>2]|0;f=j;c[f>>2]=c[b>>2];c[f+4>>2]=e}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;b=c[g>>2]|0;f=j;e=c[f>>2]|0;f=c[f+4>>2]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+44>>0]|0)&16)c[r>>2]=vv(b,e,f)|0;else c[r>>2]=wv(b,e,f)|0;if(!(c[r>>2]|0)){f=j;c[r>>2]=xv(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0}b=(c[q>>2]|0)+8|0;t=k;e=c[t+4>>2]|c[b+4>>2];f=k;c[f>>2]=c[t>>2]|c[b>>2];c[f+4>>2]=e;if(c[r>>2]|0){b=13;break}if(d[(c[p>>2]|0)+64>>0]|0){b=13;break}c[h>>2]=(c[h>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((b|0)==13){Lu(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function Xu(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;U=i;i=i+160|0;E=U;M=U+116|0;N=U+108|0;G=U+142|0;r=U+104|0;P=U+84|0;z=U+80|0;O=U+44|0;H=U+124|0;n=U+40|0;p=U+56|0;t=U+60|0;w=U+64|0;s=U+148|0;u=U+140|0;y=U+120|0;v=U+128|0;k=U+132|0;m=U+88|0;R=U+92|0;A=U+96|0;K=U+48|0;j=U+100|0;l=U+68|0;S=U+52|0;h=U+72|0;x=U+150|0;B=U+144|0;C=U+146|0;o=U+152|0;q=U+32|0;D=U+16|0;J=U+76|0;I=U+8|0;L=U+112|0;T=U+24|0;Q=U+136|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[P>>2]=d[(c[N>>2]|0)+41>>0];if((c[P>>2]|0)<=1)g=1;else g=(c[P>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[P>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[S>>2]=qf(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[S>>2]|0)){c[M>>2]=7;T=c[M>>2]|0;i=U;return T|0}c[m>>2]=c[S>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[R>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[R>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[R>>2]=(c[R>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[P>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];BH(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+424>>2]|0)>>>0<46)g=c[(c[z>>2]|0)+424>>2]|0;else g=46;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[P>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[P>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[R>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+16>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[R>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[R>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[R>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){b[C>>1]=rv(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[R>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=rv(b[C>>1]|0,b[(c[R>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[R>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[R>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=sv(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,b[(c[N>>2]|0)+34>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[R>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=tv(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=rv(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[R>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;EH(c[(c[A>>2]|0)+24>>2]|0,c[(c[R>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=58}else F=58;while(0);if((F|0)==58){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+48>>2]}c[n>>2]=(c[n>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+32}c[R>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[R>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){sf(c[z>>2]|0,26450,E);Nd(c[O>>2]|0,c[S>>2]|0);c[M>>2]=1;T=c[M>>2]|0;i=U;return T|0}c[R>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[R>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[R>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[P>>2]|0))break;c[J>>2]=g+736+((c[H>>2]|0)*72|0);F=c[(c[(c[R>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+56>>2]=F;a[(c[J>>2]|0)+36>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+36>>0]|0)*72|0)+40>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+34>>1]&1024|0)!=0?(e[(c[N>>2]|0)+34>>1]&512|0)==0:0)?(d[(c[N>>2]|0)+40>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(sv(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[R>>2]|0,512,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+40>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[R>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+34>>1]&512){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+40>>0]=2}else{a[(c[N>>2]|0)+36>>0]=g;if((a[(c[N>>2]|0)+36>>0]|0)<0)a[(c[N>>2]|0)+36>>0]=0;J=(c[R>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+24|0;c[L>>2]=c[J>>2];c[L+4>>2]=K}if(((e[(c[N>>2]|0)+34>>1]&2048|0)!=0?(a[(c[N>>2]|0)+36>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0)?(L=T,c[L>>2]=0,c[L+4>>2]=0,c[Q>>2]=(sv(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,0,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,(c[Q>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+37>>0]=1;P=T;Q=c[P+4>>2]|0;T=(c[N>>2]|0)+24|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q}}b[(c[N>>2]|0)+32>>1]=b[(c[R>>2]|0)+16>>1]|0;Nd(c[O>>2]|0,c[S>>2]|0);c[M>>2]=0;T=c[M>>2]|0;i=U;return T|0}function Yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=pv(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}b=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=b+1}if((a|0)==4){e=CH(1,0,b|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((a|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function _u(d,e,f,g,h,j){d=d|0;e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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;P=i;i=i+144|0;n=P+8|0;s=P+56|0;p=P+76|0;t=P+60|0;u=P+40|0;v=P+104|0;G=P+84|0;K=P+52|0;L=P+48|0;I=P+116|0;O=P+80|0;w=P+64|0;J=P+68|0;x=P+72|0;N=P+112|0;F=P+120|0;A=P+124|0;E=P+88|0;H=P+92|0;q=P+96|0;r=P+100|0;D=P+32|0;z=P;m=P+136|0;l=P+108|0;k=P+16|0;B=P+128|0;y=P+24|0;M=P+132|0;c[s>>2]=d;c[p>>2]=e;c[t>>2]=f;e=u;c[e>>2]=g;c[e+4>>2]=h;c[v>>2]=j;a[m>>0]=0;c[O>>2]=c[(c[s>>2]|0)+8>>2];c[w>>2]=Rs(c[s>>2]|0)|0;c[G>>2]=0;c[J>>2]=c[(c[t>>2]|0)+16>>2];c[L>>2]=(c[(c[p>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*48|0);c[q>>2]=c[(c[v>>2]|0)+56>>2];e=D;c[e>>2]=0;c[e+4>>2]=0;c[K>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[K>>2]|0)>>>0>=(c[L>>2]|0)>>>0)break;e=u;if(mv(c[K>>2]|0,c[t>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0){c[l>>2]=c[(c[K>>2]|0)+12>>2];if((c[l>>2]|0)>=64){g=0;h=-2147483648}else{g=CH(1,0,c[l>>2]|0)|0;h=C}e=k;c[e>>2]=g;c[e+4>>2]=h;if(!(a[m>>0]|0)){e=c[(c[(c[J>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2]|0;c[n>>2]=c[c[J>>2]>>2];c[n+4>>2]=e;Zb(284,26413,n);a[m>>0]=1}f=D;e=k;if((c[f>>2]&c[e>>2]|0)==0?(c[f+4>>2]&c[e+4>>2]|0)==0:0){if(nv(c[c[s>>2]>>2]|0,c[q>>2]|0,(c[G>>2]|0)+1|0)|0){o=42;break}j=c[K>>2]|0;d=c[G>>2]|0;c[G>>2]=d+1;c[(c[(c[q>>2]|0)+44>>2]|0)+(d<<2)>>2]=j;d=k;j=D;f=c[j+4>>2]|c[d+4>>2];e=D;c[e>>2]=c[j>>2]|c[d>>2];c[e+4>>2]=f}}c[K>>2]=(c[K>>2]|0)+48}if((o|0)==42){i=P;return}l=c[G>>2]&65535;b[(c[q>>2]|0)+40>>1]=l;b[(c[q>>2]|0)+24>>1]=l;c[(c[q>>2]|0)+36>>2]=16961;l=(c[t>>2]|0)+56|0;m=D;n=c[l+4>>2]&(~c[m+4>>2]|-2147483648);o=z;c[o>>2]=c[l>>2]&~c[m>>2];c[o+4>>2]=n;if((b[(c[J>>2]|0)+38>>1]|0)>=63)g=63;else g=b[(c[J>>2]|0)+38>>1]|0;c[E>>2]=g;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[E>>2]|0))break;o=z;m=c[o>>2]|0;o=c[o+4>>2]|0;n=CH(1,0,c[A>>2]|0)|0;if((m&n|0)!=0|(o&C|0)!=0)c[G>>2]=(c[G>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if(0!=0?1:(c[(c[t>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[G>>2]=(c[G>>2]|0)+((b[(c[J>>2]|0)+38>>1]|0)-64+1);o=(c[q>>2]|0)+36|0;c[o>>2]=c[o>>2]|65;c[I>>2]=ov(c[c[s>>2]>>2]|0,(c[G>>2]|0)+1&65535,0,r)|0;if(!(c[I>>2]|0)){i=P;return}c[(c[q>>2]|0)+24+4>>2]=c[I>>2];c[c[I>>2]>>2]=26439;c[(c[I>>2]|0)+12>>2]=c[J>>2];c[F>>2]=0;r=D;c[r>>2]=0;c[r+4>>2]=0;c[K>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[K>>2]|0)>>>0>=(c[L>>2]|0)>>>0)break;r=u;if(mv(c[K>>2]|0,c[t>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0){c[B>>2]=c[(c[K>>2]|0)+12>>2];if((c[B>>2]|0)>=64){h=0;g=-2147483648}else{h=CH(1,0,c[B>>2]|0)|0;g=C}q=y;c[q>>2]=h;c[q+4>>2]=g;q=D;r=y;if((c[q>>2]&c[r>>2]|0)==0?(c[q+4>>2]&c[r+4>>2]|0)==0:0){c[M>>2]=c[c[K>>2]>>2];p=y;o=D;q=c[o+4>>2]|c[p+4>>2];r=D;c[r>>2]=c[o>>2]|c[p>>2];c[r+4>>2]=q;b[(c[(c[I>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]=c[(c[K>>2]|0)+12>>2];c[H>>2]=Ts(c[s>>2]|0,c[(c[M>>2]|0)+12>>2]|0,c[(c[M>>2]|0)+16>>2]|0)|0;if(c[H>>2]|0)h=c[c[H>>2]>>2]|0;else h=15963;c[(c[(c[I>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]=h;c[F>>2]=(c[F>>2]|0)+1}}c[K>>2]=(c[K>>2]|0)+48}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[E>>2]|0))break;M=z;K=c[M>>2]|0;M=c[M+4>>2]|0;L=CH(1,0,c[A>>2]|0)|0;if((K&L|0)!=0|(M&C|0)!=0){b[(c[(c[I>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]=c[A>>2];c[(c[(c[I>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]=15963;c[F>>2]=(c[F>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}a:do if(0!=0?1:(c[(c[t>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[A>>2]=63;while(1){if((c[A>>2]|0)>=(b[(c[J>>2]|0)+38>>1]|0))break a;b[(c[(c[I>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]=c[A>>2];c[(c[(c[I>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]=15963;c[F>>2]=(c[F>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}}while(0);b[(c[(c[I>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]=-1;c[(c[(c[I>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]=15963;L=(c[s>>2]|0)+68|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[v>>2]|0)+8>>2]=M;Ro(c[O>>2]|0,56,c[(c[v>>2]|0)+8>>2]|0,(c[G>>2]|0)+1|0)|0;xr(c[s>>2]|0,c[I>>2]|0);c[x>>2]=ur(c[O>>2]|0,108,c[(c[v>>2]|0)+4>>2]|0)|0;c[N>>2]=Wo(c[s>>2]|0)|0;bs(c[s>>2]|0,c[I>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[N>>2]|0,0,0,0,0)|0;Ro(c[O>>2]|0,110,c[(c[v>>2]|0)+8>>2]|0,c[N>>2]|0)|0;xf(c[O>>2]|0,16);Ro(c[O>>2]|0,9,c[(c[v>>2]|0)+4>>2]|0,(c[x>>2]|0)+1|0)|0;xf(c[O>>2]|0,3);jp(c[O>>2]|0,c[x>>2]|0);Xo(c[s>>2]|0,c[N>>2]|0);jp(c[O>>2]|0,c[w>>2]|0);i=P;return}function $u(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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+240|0;E=L+24|0;G=L+8|0;F=L+16|0;D=L+32|0;C=L;m=L+112|0;n=L+104|0;o=L+84|0;s=L+80|0;t=L+48|0;p=L+128|0;y=L+108|0;B=L+116|0;q=L+88|0;v=L+92|0;w=L+44|0;z=L+40|0;u=L+36|0;I=L+96|0;A=L+52|0;r=L+132|0;H=L+100|0;x=L+120|0;J=L+124|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=j;c[t>>2]=k;b[p>>1]=l;if((d[(c[m>>2]|0)+450>>0]|0|0)!=2){i=L;return}c[y>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+36>>0]|0)*72|0);c[B>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[v>>2]=c[(c[m>>2]|0)+464>>2];c[z>>2]=c[(c[o>>2]|0)+56>>2];c[u>>2]=c[(c[z>>2]|0)+36>>2];if(c[u>>2]&8192){i=L;return}if((e[p>>1]|0)&64){i=L;return}do if(c[u>>2]&48)m=1;else{if((c[u>>2]&1024|0)==0?(e[(c[z>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[w>>2]=m&1;Zd(A,r,100,1e9);c[A>>2]=c[q>>2];fs(A,(c[w>>2]|0)!=0?26167:26174);m=c[y>>2]|0;if(c[(c[y>>2]|0)+20>>2]|0){c[C>>2]=d[m+38>>0];jv(A,0,26179,C)}else{c[D>>2]=c[m+8>>2];jv(A,0,26192,D)}if(c[(c[y>>2]|0)+12>>2]|0){c[F>>2]=c[(c[y>>2]|0)+12>>2];jv(A,0,26202,F)}do if(!(c[u>>2]&1280)){c[H>>2]=0;c[x>>2]=c[(c[z>>2]|0)+24+4>>2];if(((d[(c[(c[y>>2]|0)+16>>2]|0)+44>>0]|0)&32|0)!=0?(a[(c[x>>2]|0)+55>>0]&3|0)==2:0){if(c[w>>2]|0)c[H>>2]=26209}else K=18;do if((K|0)==18){if(c[u>>2]&16384){c[H>>2]=26221;break}if(c[u>>2]&64){c[H>>2]=26246;break}else{c[H>>2]=26264;break}}while(0);if(c[H>>2]|0){es(A,26273,7);K=c[H>>2]|0;c[G>>2]=c[c[x>>2]>>2];jv(A,0,K,G);kv(A,c[z>>2]|0,c[(c[y>>2]|0)+16>>2]|0)}}else{if((c[u>>2]&256|0)!=0?(c[u>>2]&15|0)!=0:0){do if(!(c[u>>2]&5)){if((c[u>>2]&48|0)==48){c[J>>2]=26291;break}if(c[u>>2]&32){c[J>>2]=26313;break}else{c[J>>2]=26323;break}}else c[J>>2]=26281;while(0);fs(A,26333);fs(A,c[J>>2]|0);break}if(c[u>>2]&1024){K=c[(c[z>>2]|0)+24+8>>2]|0;c[E>>2]=c[(c[z>>2]|0)+24>>2];c[E+4>>2]=K;jv(A,0,26361,E)}}while(0);c[I>>2]=$d(A)|0;To(c[B>>2]|0,155,c[v>>2]|0,c[s>>2]|0,c[t>>2]|0,c[I>>2]|0,-1)|0;i=L;return} +function mn(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;ea=i;i=i+272|0;R=ea+40|0;Q=ea+16|0;P=ea+8|0;T=ea;W=ea+32|0;S=ea+48|0;O=ea+24|0;Z=ea+52|0;_=ea+140|0;aa=ea+96|0;$=ea+88|0;ba=ea+68|0;ca=ea+56|0;da=ea+60|0;Y=ea+64|0;M=ea+196|0;N=ea+144|0;k=ea+120|0;m=ea+104|0;z=ea+92|0;x=ea+236|0;h=ea+244|0;l=ea+252|0;C=ea+260|0;s=ea+108|0;U=ea+112|0;D=ea+240|0;o=ea+248|0;E=ea+256|0;t=ea+156|0;r=ea+160|0;y=ea+192|0;A=ea+164|0;F=ea+168|0;G=ea+172|0;I=ea+176|0;H=ea+180|0;J=ea+184|0;K=ea+188|0;L=ea+232|0;u=ea+212|0;v=ea+264|0;w=ea+268|0;B=ea+84|0;V=ea+216|0;p=ea+208|0;q=ea+80|0;n=ea+100|0;j=ea+224|0;c[Z>>2]=f;c[_>>2]=g;c[Y>>2]=c[(c[Z>>2]|0)+8>>2];c[ca>>2]=(c[Z>>2]|0)+12+(c[c[Z>>2]>>2]<<4);c[ba>>2]=c[561];c[ba+4>>2]=c[562];c[ba+8>>2]=c[563];a:do switch(c[_>>2]|0){case 5:{on(c[Y>>2]|0,0);break}case 6:{on(c[Y>>2]|0,1);break}case 7:{on(c[Y>>2]|0,2);break}case 8:{pn(c[Y>>2]|0);break}case 9:{qn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 13:{c[ba>>2]=7;break}case 117:case 115:case 16:case 15:case 14:{c[ba>>2]=d[(c[ca>>2]|0)+2>>0];break}case 18:case 17:{rn(c[Y>>2]|0);break}case 19:{sn(c[Y>>2]|0);break}case 22:{tn(c[Y>>2]|0,0,(c[ca>>2]|0)+4|0);break}case 23:{tn(c[Y>>2]|0,1,(c[ca>>2]|0)+4|0);break}case 24:{tn(c[Y>>2]|0,2,(c[ca>>2]|0)+4|0);break}case 26:{un(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0,c[(c[ca>>2]|0)+-32+4>>2]|0);break}case 27:{a[(c[c[Y>>2]>>2]|0)+248+2>>0]=0;Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break}case 221:case 218:case 108:case 97:case 85:case 83:case 81:case 68:case 31:case 28:{c[ba>>2]=0;break}case 222:case 219:case 107:case 84:case 69:case 30:case 29:{c[ba>>2]=1;break}case 32:{vn(c[Y>>2]|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+-16+4|0,a[(c[ca>>2]|0)+4>>0]|0,0);break}case 33:{vn(c[Y>>2]|0,0,0,0,c[(c[ca>>2]|0)+4>>2]|0);an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 34:{a[ba>>0]=0;break}case 35:{if((c[(c[ca>>2]|0)+4+4>>2]|0)==5?(Ib(c[(c[ca>>2]|0)+4>>2]|0,18143,5)|0)==0:0){a[ba>>0]=32;break a}a[ba>>0]=0;Y=c[Y>>2]|0;X=c[(c[ca>>2]|0)+4>>2]|0;c[O>>2]=c[(c[ca>>2]|0)+4+4>>2];c[O+4>>2]=X;sf(Y,18149,O);break}case 38:{c[ba>>2]=c[(c[ca>>2]|0)+-32+4>>2];c[ba+4>>2]=(c[(c[Y>>2]|0)+504>>2]|0)-(c[(c[ca>>2]|0)+-32+4>>2]|0)+(c[(c[Y>>2]|0)+504+4>>2]|0);break}case 39:{wn(c[Y>>2]|0,(c[ca>>2]|0)+4|0);X=(c[ca>>2]|0)+4|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[(c[Y>>2]|0)+320+4>>2]=0;break}case 279:case 263:case 262:case 261:case 260:case 259:case 258:case 257:case 256:case 247:case 150:case 141:case 131:case 130:case 48:case 45:case 42:case 41:case 40:{Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break}case 44:{xn(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 46:{c[ba>>2]=c[(c[ca>>2]|0)+-48+4>>2];c[ba+4>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0)-(c[(c[ca>>2]|0)+-48+4>>2]|0);break}case 47:{c[ba>>2]=c[(c[ca>>2]|0)+-80+4>>2];c[ba+4>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0)-(c[(c[ca>>2]|0)+-80+4>>2]|0);break}case 49:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[ba+4>>2]=(c[(c[ca>>2]|0)+4+4>>2]|0)+((c[(c[ca>>2]|0)+4>>2]|0)-(c[(c[ca>>2]|0)+-16+4>>2]|0));break}case 92:case 54:{Y=(c[Y>>2]|0)+320|0;X=(c[ca>>2]|0)+4|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];break}case 57:case 55:{yn(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 56:{yn(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0);break}case 58:{c[M>>2]=zn(c[Y>>2]|0,157,c[(c[ca>>2]|0)+4>>2]|0,0,0)|0;c[M+4>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[M+8>>2]=c[(c[ca>>2]|0)+4+8>>2];yn(c[Y>>2]|0,M);break}case 59:{An(N,c[Y>>2]|0,97,(c[ca>>2]|0)+4|0);yn(c[Y>>2]|0,N);break}case 61:{Bn(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 62:{Cn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0);break}case 63:{Dn(c[Y>>2]|0,0,0,0,0,c[(c[ca>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 64:{En(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 65:{Fn(c[Y>>2]|0,0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 66:{Gn(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 67:{Hn(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 70:{c[ba>>2]=0;break}case 71:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2]&~c[(c[ca>>2]|0)+4+4>>2]|c[(c[ca>>2]|0)+4>>2];break}case 73:case 72:{c[ba>>2]=0;c[ba+4>>2]=0;break}case 74:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];c[ba+4>>2]=255;break}case 75:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2]<<8;c[ba+4>>2]=65280;break}case 76:{c[ba>>2]=7;break}case 77:{c[ba>>2]=8;break}case 78:{c[ba>>2]=9;break}case 79:{c[ba>>2]=6;break}case 80:{c[ba>>2]=0;break}case 103:case 100:case 98:case 82:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 86:{c[ba+4>>2]=0;c[ba>>2]=0;break}case 87:{Y=(c[ca>>2]|0)+-16+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break}case 90:{c[(c[Y>>2]|0)+320+4>>2]=0;break}case 93:{Cn(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,0);break}case 94:{Dn(c[Y>>2]|0,0,0,0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 95:{En(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0);break}case 96:{Fn(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,(c[ca>>2]|0)+-48+4|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);Gn(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 99:{c[ba>>2]=10;break}case 101:{a[ba>>0]=10;break}case 102:{a[ba>>0]=c[(c[ca>>2]|0)+4>>2];break}case 104:{c[ba>>2]=4;break}case 105:{c[ba>>2]=5;break}case 106:{In(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 109:{Jn(c[Y>>2]|0,(c[ca>>2]|0)+-112+4|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0);break}case 110:{In(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,1,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 111:{c[k>>2]=c[564];c[k+4>>2]=c[565];c[k+8>>2]=c[566];c[k+12>>2]=c[567];c[k+16>>2]=c[568];Kn(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,k)|0;an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 112:{c[m>>2]=c[(c[ca>>2]|0)+4>>2];if(c[m>>2]|0){c[h>>2]=0;c[(c[m>>2]|0)+68>>2]=c[(c[ca>>2]|0)+-16+4>>2];if(c[(c[m>>2]|0)+52>>2]|0){c[z>>2]=0;c[x>>2]=c[m>>2];while(1){if(!(c[x>>2]|0))break;c[(c[x>>2]|0)+56>>2]=c[z>>2];X=(c[x>>2]|0)+6|0;b[X>>1]=e[X>>1]|64;c[z>>2]=c[x>>2];c[x>>2]=c[(c[x>>2]|0)+52>>2];c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=c[(c[c[Y>>2]>>2]|0)+88+16>>2];if((c[l>>2]|0)!=0?(c[h>>2]|0)>(c[l>>2]|0):0)sf(c[Y>>2]|0,18176,S)}}else _m(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);c[ba>>2]=c[m>>2];break}case 119:case 113:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 114:{c[C>>2]=c[(c[ca>>2]|0)+4>>2];if((c[C>>2]|0)!=0?(c[(c[C>>2]|0)+52>>2]|0)!=0:0){c[U+4>>2]=0;c[s>>2]=Ln(c[Y>>2]|0,0,0,0,U,c[C>>2]|0,0,0)|0;c[C>>2]=Mn(c[Y>>2]|0,0,c[s>>2]|0,0,0,0,0,0,0,0)|0}if(c[C>>2]|0){a[(c[C>>2]|0)+4>>0]=c[(c[ca>>2]|0)+-16+4>>2];c[(c[C>>2]|0)+52>>2]=c[(c[ca>>2]|0)+-32+4>>2];if((c[(c[ca>>2]|0)+-16+4>>2]|0)!=116)a[(c[Y>>2]|0)+22>>0]=1}else an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0);c[ba>>2]=c[C>>2];break}case 116:{c[ba>>2]=116;break}case 118:{c[ba>>2]=Mn(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,c[(c[ca>>2]|0)+-80+4>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,b[(c[ca>>2]|0)+-112+4>>1]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+4+4>>2]|0)|0;break}case 120:{c[ba>>2]=Mn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,0,0,0,0,0,128,0,0)|0;break}case 121:{c[D>>2]=Mn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,0,0,0,0,0,128,0,0)|0;if(c[D>>2]|0){a[(c[D>>2]|0)+4>>0]=116;c[(c[D>>2]|0)+52>>2]=c[(c[ca>>2]|0)+-64+4>>2];c[ba>>2]=c[D>>2];break a}else{c[ba>>2]=c[(c[ca>>2]|0)+-64+4>>2];break a}}case 122:{b[ba>>1]=1;break}case 124:case 123:{b[ba>>1]=0;break}case 243:case 125:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];break}case 242:case 236:case 161:case 154:case 126:{c[ba>>2]=0;break}case 127:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;if((c[(c[ca>>2]|0)+4+4>>2]|0)>>>0>0)On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+4|0,1);Pn(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-16+4|0);break}case 128:{c[o>>2]=Qn(c[c[Y>>2]>>2]|0,116,0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[o>>2]|0)|0;break}case 129:{c[E>>2]=zn(c[Y>>2]|0,116,0,0,(c[ca>>2]|0)+4|0)|0;c[t>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+-32+4|0)|0;c[r>>2]=zn(c[Y>>2]|0,122,c[t>>2]|0,c[E>>2]|0,0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[r>>2]|0)|0;break}case 132:{c[ba+4>>2]=0;break}case 133:{c[ba>>2]=gf(c[c[Y>>2]>>2]|0,80,0)|0;break}case 134:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];Rn(c[ba>>2]|0);break}case 135:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];if((c[ba>>2]|0)!=0?(c[c[ba>>2]>>2]|0)>0:0)a[(c[ba>>2]|0)+8+(((c[c[ba>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[ca>>2]|0)+4>>2];break}case 136:{c[ba>>2]=0;break}case 137:{c[ba>>2]=Ln(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,(c[ca>>2]|0)+-80+4|0,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+-48+4|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;Sn(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0);break}case 138:{c[ba>>2]=Ln(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,0,0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 139:{if((((c[(c[ca>>2]|0)+-96+4>>2]|0)==0?(c[(c[ca>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[ca>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[ca>>2]|0)+4>>2]|0)==0:0){c[ba>>2]=c[(c[ca>>2]|0)+-64+4>>2];break a}if((c[c[(c[ca>>2]|0)+-64+4>>2]>>2]|0)!=1){Rn(c[(c[ca>>2]|0)+-64+4>>2]|0);c[F>>2]=Mn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0,0,0,512,0,0)|0;c[ba>>2]=Ln(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,0,0,(c[ca>>2]|0)+-32+4|0,c[F>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break a}c[ba>>2]=Ln(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,0,0,(c[ca>>2]|0)+-32+4|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;if(c[ba>>2]|0){c[y>>2]=(c[ba>>2]|0)+8+(((c[c[ba>>2]>>2]|0)-1|0)*72|0);c[A>>2]=(c[(c[ca>>2]|0)+-64+4>>2]|0)+8;c[(c[y>>2]|0)+8>>2]=c[(c[A>>2]|0)+8>>2];c[(c[y>>2]|0)+4>>2]=c[(c[A>>2]|0)+4>>2];c[(c[y>>2]|0)+20>>2]=c[(c[A>>2]|0)+20>>2];c[(c[A>>2]|0)+4>>2]=0;c[(c[A>>2]|0)+8>>2]=0;c[(c[A>>2]|0)+20>>2]=0}cn(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0);break}case 149:case 140:{c[ba>>2]=0;c[ba+4>>2]=0;break}case 142:{c[ba>>2]=Tn(c[c[Y>>2]>>2]|0,0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0)|0;break}case 143:{c[ba>>2]=1;break}case 144:{c[ba>>2]=Un(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,0,0)|0;break}case 145:{c[ba>>2]=Un(c[Y>>2]|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+-16+4|0,0)|0;break}case 146:{c[ba>>2]=Un(c[Y>>2]|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+-16+4|0)|0;break}case 233:case 231:case 171:case 164:case 147:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 234:case 232:case 170:case 163:case 148:{c[ba>>2]=0;break}case 151:{c[ba>>2]=0;c[ba+4>>2]=1;break}case 180:case 152:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];break}case 179:case 153:{c[ba>>2]=0;break}case 235:case 162:case 155:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 156:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;if(c[ba>>2]|0)a[(c[(c[ba>>2]|0)+4>>2]|0)+(((c[c[ba>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[ca>>2]|0)+4>>2];break}case 157:{c[ba>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;if((c[ba>>2]|0)!=0?(c[(c[ba>>2]|0)+4>>2]|0)!=0:0)a[(c[(c[ba>>2]|0)+4>>2]|0)+12>>0]=c[(c[ca>>2]|0)+4>>2];break}case 160:case 158:{c[ba>>2]=0;break}case 159:{c[ba>>2]=1;break}case 165:{c[ba>>2]=0;c[ba+4>>2]=0;break}case 166:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];c[ba+4>>2]=0;break}case 167:{c[ba>>2]=c[(c[ca>>2]|0)+-32+4>>2];c[ba+4>>2]=c[(c[ca>>2]|0)+4>>2];break}case 168:{c[ba+4>>2]=c[(c[ca>>2]|0)+-32+4>>2];c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 169:{Vn(c[Y>>2]|0,c[(c[ca>>2]|0)+-80+4>>2]|0,1);Sn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,(c[ca>>2]|0)+-16+4|0);Wn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 172:{Vn(c[Y>>2]|0,c[(c[ca>>2]|0)+-112+4>>2]|0,1);Sn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,(c[ca>>2]|0)+-48+4|0);Xn(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,18210);Yn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,d[(c[ca>>2]|0)+-80+4>>0]|0);break}case 173:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0,1);break}case 174:{c[ba>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+4>>2]|0)|0;On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0,1);break}case 175:{Vn(c[Y>>2]|0,c[(c[ca>>2]|0)+-80+4>>2]|0,1);Zn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,d[(c[ca>>2]|0)+-64+4>>0]|0);break}case 176:{Vn(c[Y>>2]|0,c[(c[ca>>2]|0)+-96+4>>2]|0,1);Zn(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,0,c[(c[ca>>2]|0)+-32+4>>2]|0,d[(c[ca>>2]|0)+-80+4>>0]|0);break}case 177:{a[ba>>0]=a[(c[ca>>2]|0)+4>>0]|0;break}case 178:{a[ba>>0]=5;break}case 181:{c[ba>>2]=_n(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,(c[ca>>2]|0)+4|0)|0;break}case 182:{c[ba>>2]=_n(c[c[Y>>2]>>2]|0,0,(c[ca>>2]|0)+4|0)|0;break}case 183:{Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=c[Y+8>>2];break}case 184:{c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];$n(ba,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);break}case 191:case 190:case 185:{An(ba,c[Y>>2]|0,d[(c[ca>>2]|0)+2>>0]|0,(c[ca>>2]|0)+4|0);break}case 187:case 186:{An(ba,c[Y>>2]|0,27,(c[ca>>2]|0)+4|0);break}case 188:{c[G>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+-32+4|0)|0;c[I>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+4|0)|0;c[ba>>2]=zn(c[Y>>2]|0,122,c[G>>2]|0,c[I>>2]|0,0)|0;$n(ba,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);break}case 189:{c[H>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+-64+4|0)|0;c[J>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+-32+4|0)|0;c[K>>2]=zn(c[Y>>2]|0,27,0,0,(c[ca>>2]|0)+4|0)|0;c[L>>2]=zn(c[Y>>2]|0,122,c[J>>2]|0,c[K>>2]|0,0)|0;c[ba>>2]=zn(c[Y>>2]|0,122,c[H>>2]|0,c[L>>2]|0,0)|0;$n(ba,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+4|0);break}case 192:{do if(((c[(c[ca>>2]|0)+4+4>>2]|0)>>>0>=2?(a[c[(c[ca>>2]|0)+4>>2]>>0]|0)==35:0)?(d[14426+(d[(c[(c[ca>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=c[Y>>2]|0;j=(c[ca>>2]|0)+4|0;if(!(d[(c[Y>>2]|0)+18>>0]|0)){c[W>>2]=j;sf(h,18119,W);c[ba>>2]=0;break}c[ba>>2]=zn(h,159,0,0,j)|0;if(c[ba>>2]|0)wg((c[(c[ca>>2]|0)+4>>2]|0)+1|0,(c[ba>>2]|0)+28|0)|0}else X=170;while(0);if((X|0)==170){An(ba,c[Y>>2]|0,135,(c[ca>>2]|0)+4|0);ao(c[Y>>2]|0,c[ba>>2]|0)}$n(ba,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+4|0);break}case 193:{c[ba>>2]=bo(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,(c[ca>>2]|0)+4|0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-32+4+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 194:{c[ba>>2]=zn(c[Y>>2]|0,38,c[(c[ca>>2]|0)+-48+4>>2]|0,0,(c[ca>>2]|0)+-16+4|0)|0;$n(ba,(c[ca>>2]|0)+-80+4|0,(c[ca>>2]|0)+4|0);break}case 195:{if((c[(c[ca>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[ca>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[Y>>2]>>2]|0)+88+24>>2]|0):0){X=c[Y>>2]|0;c[T>>2]=(c[ca>>2]|0)+-64+4;sf(X,18219,T)}c[ba>>2]=co(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,(c[ca>>2]|0)+-64+4|0)|0;$n(ba,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+4|0);if((e[(c[ca>>2]|0)+-32+4>>1]|0)!=0?(c[ba>>2]|0)!=0:0){Y=(c[ba>>2]|0)+4|0;c[Y>>2]=c[Y>>2]|16}break}case 196:{c[ba>>2]=co(c[Y>>2]|0,0,(c[ca>>2]|0)+-48+4|0)|0;$n(ba,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+4|0);break}case 197:{c[ba>>2]=co(c[Y>>2]|0,0,(c[ca>>2]|0)+4|0)|0;$n(ba,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+4|0);break}case 205:case 204:case 203:case 202:case 201:case 200:case 199:case 198:{eo(ba,c[Y>>2]|0,d[(c[ca>>2]|0)+-16+2>>0]|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);break}case 206:{Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=0;break}case 207:{Y=(c[ca>>2]|0)+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];c[ba+8>>2]=1;break}case 208:{c[u>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+4>>2]|0)|0;c[u>>2]=Nn(c[Y>>2]|0,c[u>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[ba>>2]=co(c[Y>>2]|0,c[u>>2]|0,(c[ca>>2]|0)+-16+4|0)|0;if(c[(c[ca>>2]|0)+-16+4+8>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-32+4+4>>2];c[ba+8>>2]=c[(c[ca>>2]|0)+4+8>>2];if(c[ba>>2]|0){Y=(c[ba>>2]|0)+4|0;c[Y>>2]=c[Y>>2]|128}break}case 209:{c[v>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[v>>2]=Nn(c[Y>>2]|0,c[v>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0)|0;c[v>>2]=Nn(c[Y>>2]|0,c[v>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;c[ba>>2]=co(c[Y>>2]|0,c[v>>2]|0,(c[ca>>2]|0)+-48+4|0)|0;if(c[(c[ca>>2]|0)+-48+4+8>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4+4>>2];c[ba+8>>2]=c[(c[ca>>2]|0)+4+8>>2];if(c[ba>>2]|0){Y=(c[ba>>2]|0)+4|0;c[Y>>2]=c[Y>>2]|128}break}case 210:{fo(ba,c[Y>>2]|0,d[(c[ca>>2]|0)+2>>0]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0);break}case 211:{fo(ba,c[Y>>2]|0,77,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);break}case 212:{eo(ba,c[Y>>2]|0,73,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0);go(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[ba>>2]|0,76);break}case 213:{eo(ba,c[Y>>2]|0,148,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+4|0);go(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[ba>>2]|0,77);break}case 215:case 214:{ho(ba,c[Y>>2]|0,d[(c[ca>>2]|0)+-16+2>>0]|0,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+-16+4|0);break}case 216:{ho(ba,c[Y>>2]|0,157,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+-16+4|0);break}case 217:{ho(ba,c[Y>>2]|0,158,(c[ca>>2]|0)+4|0,(c[ca>>2]|0)+-16+4|0);break}case 220:{c[w>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[w>>2]=Nn(c[Y>>2]|0,c[w>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;c[ba>>2]=zn(c[Y>>2]|0,74,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[ba>>2]|0)c[(c[ba>>2]|0)+20>>2]=c[w>>2];else $m(c[c[Y>>2]>>2]|0,c[w>>2]|0);if(c[(c[ca>>2]|0)+-48+4>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4+4>>2];c[ba+8>>2]=c[(c[ca>>2]|0)+4+8>>2];break}case 223:{do if(c[(c[ca>>2]|0)+-16+4>>2]|0){if((c[c[(c[ca>>2]|0)+-16+4>>2]>>2]|0)==1){c[B>>2]=c[c[(c[(c[ca>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[ca>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;$m(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);if(c[B>>2]|0){X=(c[B>>2]|0)+4|0;c[X>>2]=c[X>>2]&-257;X=(c[B>>2]|0)+4|0;c[X>>2]=c[X>>2]|512}c[ba>>2]=zn(c[Y>>2]|0,(c[(c[ca>>2]|0)+-48+4>>2]|0)!=0?78:79,c[(c[ca>>2]|0)+-64+4>>2]|0,c[B>>2]|0,0)|0;break}c[ba>>2]=zn(c[Y>>2]|0,75,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[ba>>2]|0){c[(c[ba>>2]|0)+20>>2]=c[(c[ca>>2]|0)+-16+4>>2];io(c[Y>>2]|0,c[ba>>2]|0)}else $m(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);if(c[(c[ca>>2]|0)+-48+4>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0}else{c[ba>>2]=zn(c[Y>>2]|0,132,0,0,2276+(c[(c[ca>>2]|0)+-48+4>>2]<<3)|0)|0;dn(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0)}while(0);c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 224:{c[ba>>2]=zn(c[Y>>2]|0,119,0,0,0)|0;if(c[ba>>2]|0){c[(c[ba>>2]|0)+20>>2]=c[(c[ca>>2]|0)+-16+4>>2];X=(c[ba>>2]|0)+4|0;c[X>>2]=c[X>>2]|2048;io(c[Y>>2]|0,c[ba>>2]|0)}else an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);c[ba+4>>2]=c[(c[ca>>2]|0)+-32+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 225:{c[ba>>2]=zn(c[Y>>2]|0,75,c[(c[ca>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[ba>>2]|0){c[(c[ba>>2]|0)+20>>2]=c[(c[ca>>2]|0)+-16+4>>2];X=(c[ba>>2]|0)+4|0;c[X>>2]=c[X>>2]|2048;io(c[Y>>2]|0,c[ba>>2]|0)}else an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);if(c[(c[ca>>2]|0)+-48+4>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 226:{c[V>>2]=Tn(c[c[Y>>2]>>2]|0,0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0)|0;c[ba>>2]=zn(c[Y>>2]|0,75,c[(c[ca>>2]|0)+-48+4>>2]|0,0,0)|0;h=c[Y>>2]|0;if(c[ba>>2]|0){X=Mn(h,0,c[V>>2]|0,0,0,0,0,0,0,0)|0;c[(c[ba>>2]|0)+20>>2]=X;X=(c[ba>>2]|0)+4|0;c[X>>2]=c[X>>2]|2048;io(c[Y>>2]|0,c[ba>>2]|0)}else cn(c[h>>2]|0,c[V>>2]|0);if(c[(c[ca>>2]|0)+-32+4>>2]|0)c[ba>>2]=zn(c[Y>>2]|0,19,c[ba>>2]|0,0,0)|0;c[ba+4>>2]=c[(c[ca>>2]|0)+-48+4+4>>2];h=c[ca>>2]|0;if(c[(c[ca>>2]|0)+4>>2]|0)h=(c[(c[ca>>2]|0)+4>>2]|0)+(c[h+4+4>>2]|0)|0;else h=(c[(c[ca>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;c[ba+8>>2]=h;break}case 227:{X=zn(c[Y>>2]|0,20,0,0,0)|0;c[ba>>2]=X;c[p>>2]=X;if(c[p>>2]|0){c[(c[p>>2]|0)+20>>2]=c[(c[ca>>2]|0)+-16+4>>2];X=(c[p>>2]|0)+4|0;c[X>>2]=c[X>>2]|2048;io(c[Y>>2]|0,c[p>>2]|0)}else an(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);c[ba+4>>2]=c[(c[ca>>2]|0)+-48+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 228:{c[ba>>2]=zn(c[Y>>2]|0,136,c[(c[ca>>2]|0)+-48+4>>2]|0,0,0)|0;if(c[ba>>2]|0){if(c[(c[ca>>2]|0)+-16+4>>2]|0)h=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[ca>>2]|0)+-32+4>>2]|0;c[(c[ba>>2]|0)+20>>2]=h;io(c[Y>>2]|0,c[ba>>2]|0)}else{$m(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0);dn(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)}c[ba+4>>2]=c[(c[ca>>2]|0)+-64+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 229:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[ba>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 230:{c[ba>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+-32+4>>2]|0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[ba>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 237:{c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 238:{c[ba>>2]=Nn(c[Y>>2]|0,0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 239:{Dn(c[Y>>2]|0,(c[ca>>2]|0)+-112+4|0,(c[ca>>2]|0)+-96+4|0,Tn(c[c[Y>>2]>>2]|0,0,(c[ca>>2]|0)+-64+4|0,0)|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+-160+4>>2]|0,(c[ca>>2]|0)+-176+4|0,c[(c[ca>>2]|0)+4>>2]|0,0,c[(c[ca>>2]|0)+-128+4>>2]|0)|0;break}case 291:case 240:{c[ba>>2]=2;break}case 241:{c[ba>>2]=0;break}case 244:{c[q>>2]=bo(c[Y>>2]|0,0,(c[ca>>2]|0)+-16+4|0)|0;c[ba>>2]=Nn(c[Y>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[q>>2]|0)|0;On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0,1);Xn(c[Y>>2]|0,c[ba>>2]|0,18253);if(c[ba>>2]|0)a[(c[(c[ba>>2]|0)+4>>2]|0)+(((c[c[ba>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[ca>>2]|0)+4>>2];break}case 245:{c[n>>2]=bo(c[Y>>2]|0,0,(c[ca>>2]|0)+-16+4|0)|0;c[ba>>2]=Nn(c[Y>>2]|0,0,c[n>>2]|0)|0;On(c[Y>>2]|0,c[ba>>2]|0,(c[ca>>2]|0)+-32+4|0,1);Xn(c[Y>>2]|0,c[ba>>2]|0,18253);if(c[ba>>2]|0)a[(c[(c[ba>>2]|0)+4>>2]|0)+(((c[c[ba>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[(c[ca>>2]|0)+4>>2];break}case 246:{c[ba>>2]=0;c[ba+4>>2]=0;break}case 248:{jo(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 250:case 249:{ko(c[Y>>2]|0);break}case 251:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0,0,0);break}case 252:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0,0);break}case 253:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-16+4|0,0);break}case 254:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0,1);break}case 255:{lo(c[Y>>2]|0,(c[ca>>2]|0)+-64+4|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-16+4|0,1);break}case 264:{c[j>>2]=c[(c[ca>>2]|0)+-48+4>>2];c[j+4>>2]=(c[(c[ca>>2]|0)+4>>2]|0)-(c[(c[ca>>2]|0)+-48+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);mo(c[Y>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,j);break}case 265:{no(c[Y>>2]|0,(c[ca>>2]|0)+-112+4|0,(c[ca>>2]|0)+-96+4|0,c[(c[ca>>2]|0)+-80+4>>2]|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-64+4+4>>2]|0,c[(c[ca>>2]|0)+-32+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-160+4>>2]|0,c[(c[ca>>2]|0)+-128+4>>2]|0);h=c[ca>>2]|0;if(!(c[(c[ca>>2]|0)+-96+4+4>>2]|0)){Y=h+-112+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break a}else{Y=h+-96+4|0;c[ba>>2]=c[Y>>2];c[ba+4>>2]=c[Y+4>>2];break a}}case 269:case 266:{c[ba>>2]=35;break}case 267:{c[ba>>2]=31;break}case 268:{c[ba>>2]=49;break}case 271:case 270:{c[ba>>2]=d[(c[ca>>2]|0)+2>>0];c[ba+4>>2]=0;break}case 272:{c[ba>>2]=110;c[ba+4>>2]=c[(c[ca>>2]|0)+4>>2];break}case 296:case 275:{c[ba>>2]=0;break}case 297:case 276:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 277:{c[(c[(c[(c[ca>>2]|0)+-32+4>>2]|0)+36>>2]|0)+32>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[(c[(c[ca>>2]|0)+-32+4>>2]|0)+36>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[ba>>2]=c[(c[ca>>2]|0)+-32+4>>2];break}case 278:{c[(c[(c[ca>>2]|0)+-16+4>>2]|0)+36>>2]=c[(c[ca>>2]|0)+-16+4>>2];c[ba>>2]=c[(c[ca>>2]|0)+-16+4>>2];break}case 280:{X=(c[ca>>2]|0)+4|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];sf(c[Y>>2]|0,18259,P);break}case 282:{sf(c[Y>>2]|0,18354,Q);break}case 283:{sf(c[Y>>2]|0,18438,R);break}case 284:{c[ba>>2]=oo(c[c[Y>>2]>>2]|0,(c[ca>>2]|0)+-64+4|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,a[(c[ca>>2]|0)+-80+4>>0]|0)|0;break}case 285:{c[ba>>2]=po(c[c[Y>>2]>>2]|0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,a[(c[ca>>2]|0)+-64+4>>0]|0)|0;break}case 286:{c[ba>>2]=qo(c[c[Y>>2]>>2]|0,(c[ca>>2]|0)+-32+4|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 287:{c[ba>>2]=ro(c[c[Y>>2]>>2]|0,c[(c[ca>>2]|0)+4>>2]|0)|0;break}case 288:{c[ba>>2]=zn(c[Y>>2]|0,57,0,0,0)|0;if(c[ba>>2]|0)a[(c[ba>>2]|0)+1>>0]=4;c[ba+4>>2]=c[(c[ca>>2]|0)+-48+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 289:{c[ba>>2]=zn(c[Y>>2]|0,57,0,0,(c[ca>>2]|0)+-16+4|0)|0;if(c[ba>>2]|0)a[(c[ba>>2]|0)+1>>0]=c[(c[ca>>2]|0)+-48+4>>2];c[ba+4>>2]=c[(c[ca>>2]|0)+-80+4>>2];c[ba+8>>2]=(c[(c[ca>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+4+4>>2]|0);break}case 290:{c[ba>>2]=1;break}case 292:{c[ba>>2]=3;break}case 293:{so(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0);break}case 294:{to(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 295:{uo(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 300:{vo(c[Y>>2]|0,0,0);break}case 301:{vo(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0);break}case 302:{wo(c[Y>>2]|0,0,0);break}case 303:{wo(c[Y>>2]|0,(c[ca>>2]|0)+-16+4|0,(c[ca>>2]|0)+4|0);break}case 304:{xo(c[Y>>2]|0,c[(c[ca>>2]|0)+-48+4>>2]|0,(c[ca>>2]|0)+4|0);break}case 305:{yo(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 306:{a[(c[c[Y>>2]>>2]|0)+248+2>>0]=0;zo(c[Y>>2]|0,c[(c[ca>>2]|0)+4>>2]|0);break}case 309:{Ao(c[Y>>2]|0,0);break}case 310:{Ao(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 311:{Bo(c[Y>>2]|0,(c[ca>>2]|0)+-48+4|0,(c[ca>>2]|0)+-32+4|0,(c[ca>>2]|0)+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0);break}case 314:{Co(c[Y>>2]|0);break}case 318:case 317:case 316:{Do(c[Y>>2]|0,(c[ca>>2]|0)+4|0);break}case 322:{c[ba>>2]=0;break}case 324:case 323:{c[ba>>2]=c[(c[ca>>2]|0)+4>>2];break}case 325:{c[ba>>2]=Eo(c[Y>>2]|0,0,(c[ca>>2]|0)+-80+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;break}case 326:{c[ba>>2]=Eo(c[Y>>2]|0,c[(c[ca>>2]|0)+-112+4>>2]|0,(c[ca>>2]|0)+-80+4|0,c[(c[ca>>2]|0)+-64+4>>2]|0,c[(c[ca>>2]|0)+-16+4>>2]|0)|0;break}default:{}}while(0);c[aa>>2]=d[18523+(c[_>>2]<<1)>>0];c[da>>2]=d[18523+(c[_>>2]<<1)+1>>0];_=c[Z>>2]|0;c[_>>2]=(c[_>>2]|0)-(c[da>>2]|0);c[$>>2]=Fo(e[(c[ca>>2]|0)+(0-(c[da>>2]|0)<<4)>>1]|0,c[aa>>2]&255)|0;if((c[$>>2]|0)>=642){Go(c[Z>>2]|0);i=ea;return}h=c[Z>>2]|0;if(c[da>>2]|0){c[h>>2]=(c[h>>2]|0)+1;c[ca>>2]=(c[ca>>2]|0)+(0-((c[da>>2]|0)-1)<<4);b[c[ca>>2]>>1]=c[$>>2];a[(c[ca>>2]|0)+2>>0]=c[aa>>2];da=(c[ca>>2]|0)+4|0;c[da>>2]=c[ba>>2];c[da+4>>2]=c[ba+4>>2];c[da+8>>2]=c[ba+8>>2];i=ea;return}else{ln(h,c[$>>2]|0,c[aa>>2]|0,ba);i=ea;return}}function nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;c[h>>2]=d;sf(a,18119,h);c[(c[f>>2]|0)+8>>2]=c[g>>2];i=e;return}function on(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+450>>0]=c[g>>2];c[(c[f>>2]|0)+440>>2]=0;i=e;return}function pn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;k=m+20|0;h=m+24|0;g=m+4|0;l=m;j=m+12|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[f>>2]|0)+64>>0]|0){i=m;return}if(a[(c[e>>2]|0)+18>>0]|0){i=m;return}if(c[(c[e>>2]|0)+64>>2]|0){i=m;return}c[k>>2]=Po(c[e>>2]|0)|0;do if(c[k>>2]|0){do{}while((rs(c[k>>2]|0,61)|0)!=0);Yo(c[k>>2]|0,24)|0;if(!(d[(c[f>>2]|0)+64>>0]|0)){if((c[(c[e>>2]|0)+332>>2]|0)==0?(c[(c[e>>2]|0)+316>>2]|0)==0:0)break;jp(c[k>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+332>>2]&1<>2]|0)!=0|0)!=0?(zf(c[k>>2]|0,c[h>>2]|0),wf(c[k>>2]|0,4,c[h>>2]|0,(c[(c[e>>2]|0)+328>>2]&1<>2]|0)!=0&1,c[(c[e>>2]|0)+336+(c[h>>2]<<2)>>2]|0,c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+140+5>>0]|0)==0):0)xf(c[k>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+452>>2]|0))break;c[l>>2]=Bp(c[f>>2]|0,c[(c[(c[e>>2]|0)+520>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;To(c[k>>2]|0,144,0,0,0,c[l>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+452>>2]=0;Ay(c[e>>2]|0);By(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+316>>2]|0){c[j>>2]=c[(c[e>>2]|0)+316>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;Fs(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Ro(c[k>>2]|0,16,0,1)|0}}while(0);if(((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+64>>2]|0)==0:0)?(a[(c[f>>2]|0)+64>>0]|0)==0:0){if((c[(c[e>>2]|0)+404>>2]|0)!=0?(c[(c[e>>2]|0)+68>>2]|0)==0:0)c[(c[e>>2]|0)+68>>2]=1;Ff(c[k>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;a[(c[e>>2]|0)+16>>0]=0}else c[(c[e>>2]|0)+12>>2]=1;c[(c[e>>2]|0)+68>>2]=0;c[(c[e>>2]|0)+72>>2]=0;c[(c[e>>2]|0)+76>>2]=0;c[(c[e>>2]|0)+440>>2]=0;c[(c[e>>2]|0)+332>>2]=0;i=m;return}function qn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Mo(c[d>>2]|0,22,29177,0,0)|0){i=j;return}c[h>>2]=Po(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Ro(c[h>>2]|0,4,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;zf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Ro(c[h>>2]|0,3,0,0)|0;i=j;return}function rn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Mo(c[b>>2]|0,22,29200,0,0)|0){i=e;return}c[d>>2]=Po(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Ro(c[d>>2]|0,3,1,0)|0;i=e;return}function sn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Mo(c[b>>2]|0,22,29191,0,0)|0){i=e;return}c[d>>2]=Po(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Ro(c[d>>2]|0,3,1,1)|0;i=e;return}function tn(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;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Ho(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=Po(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(Mo(c[e>>2]|0,32,c[3308+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){To(c[g>>2]|0,2,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Nd(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function un(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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;J=i;i=i+112|0;t=J+16|0;G=J;o=J+8|0;w=J+68|0;K=J+28|0;m=J+20|0;n=J+40|0;x=J+64|0;y=J+56|0;z=J+36|0;s=J+32|0;H=J+24|0;A=J+44|0;F=J+48|0;I=J+52|0;B=J+60|0;p=J+72|0;u=J+76|0;v=J+80|0;r=J+84|0;q=J+88|0;C=J+92|0;D=J+96|0;E=J+100|0;c[w>>2]=e;c[K>>2]=f;c[m>>2]=g;c[n>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];c[I>>2]=qr(c[w>>2]|0,c[K>>2]|0,c[m>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[n>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[m>>2]|0)+4>>2]|0)>>>0>0:0):0){sf(c[w>>2]|0,29077,o);i=J;return}if(c[n>>2]|0)c[I>>2]=1;K=(c[w>>2]|0)+496|0;o=c[B>>2]|0;c[K>>2]=c[o>>2];c[K+4>>2]=c[o+4>>2];c[H>>2]=Ho(c[A>>2]|0,c[B>>2]|0)|0;if(!(c[H>>2]|0)){i=J;return}a:do if(!(zp(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+140+4>>0]|0)==1)c[n>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Mo(c[w>>2]|0,18,(c[n>>2]|0)==1?19269:19288,0,c[u>>2]|0)|0)){m=(c[n>>2]|0)!=0;do if(c[x>>2]|0)if(m){c[p>>2]=6;break}else{c[p>>2]=8;break}else if(m){c[p>>2]=4;break}else{c[p>>2]=2;break}while(0);if((c[y>>2]|0)==0?(Mo(c[w>>2]|0,c[p>>2]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+451>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(mr(c[w>>2]|0)|0)break a;c[s>>2]=cp(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[s>>2]|0)){if(!(yp(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;K=c[w>>2]|0;c[t>>2]=c[H>>2];sf(K,29142,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){ap(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];sf(m,29118,G);break a}}while(0);c[s>>2]=gf(c[A>>2]|0,76,0)|0;if(!(c[s>>2]|0)){a[(c[A>>2]|0)+64>>0]=1;c[(c[w>>2]|0)+12>>2]=7;K=(c[w>>2]|0)+64|0;c[K>>2]=(c[K>>2]|0)+1;break}c[c[s>>2]>>2]=c[H>>2];b[(c[s>>2]|0)+36>>1]=-1;c[(c[s>>2]|0)+68>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[s>>2]|0)+40>>1]=1;b[(c[s>>2]|0)+28>>1]=200;c[(c[w>>2]|0)+484>>2]=c[s>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(aH(c[H>>2]|0,20543)|0)==0:0)c[(c[(c[s>>2]|0)+68>>2]|0)+72>>2]=c[s>>2];if(a[(c[A>>2]|0)+140+5>>0]|0){i=J;return}K=Po(c[w>>2]|0)|0;c[F>>2]=K;if(!K){i=J;return}$o(c[w>>2]|0,0,c[I>>2]|0);if(c[y>>2]|0)Yo(c[F>>2]|0,144)|0;K=(c[w>>2]|0)+72|0;m=(c[K>>2]|0)+1|0;c[K>>2]=m;c[(c[w>>2]|0)+384>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+72|0;K=(c[m>>2]|0)+1|0;c[m>>2]=K;c[(c[w>>2]|0)+388>>2]=K;c[D>>2]=K;K=(c[w>>2]|0)+72|0;m=(c[K>>2]|0)+1|0;c[K>>2]=m;c[E>>2]=m;Uo(c[F>>2]|0,51,c[I>>2]|0,c[E>>2]|0,2)|0;zf(c[F>>2]|0,c[I>>2]|0);c[r>>2]=ur(c[F>>2]|0,45,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;Ro(c[F>>2]|0,25,c[q>>2]|0,c[E>>2]|0)|0;Uo(c[F>>2]|0,52,c[I>>2]|0,2,c[E>>2]|0)|0;Ro(c[F>>2]|0,25,d[(c[(c[(c[A>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0,c[E>>2]|0)|0;Uo(c[F>>2]|0,52,c[I>>2]|0,5,c[E>>2]|0)|0;jp(c[F>>2]|0,c[r>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)Ro(m,25,0,c[D>>2]|0)|0;else{K=Ro(m,121,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+416>>2]=K}At(c[w>>2]|0,c[I>>2]|0);Ro(c[F>>2]|0,74,0,c[C>>2]|0)|0;Ro(c[F>>2]|0,28,0,c[E>>2]|0)|0;Uo(c[F>>2]|0,75,0,c[E>>2]|0,c[C>>2]|0)|0;xf(c[F>>2]|0,8);Yo(c[F>>2]|0,61)|0;i=J;return}}while(0);Nd(c[A>>2]|0,c[H>>2]|0);i=J;return}function vn(e,f,g,h,j){e=e|0;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,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;M=i;i=i+192|0;F=M+16|0;D=M+64|0;H=M+32|0;G=M;E=M+72|0;C=M+24|0;k=M+76|0;l=M+124|0;m=M+112|0;n=M+176|0;o=M+100|0;u=M+80|0;p=M+88|0;r=M+168|0;x=M+96|0;s=M+120|0;B=M+116|0;K=M+108|0;L=M+104|0;J=M+128|0;q=M+132|0;A=M+152|0;w=M+156|0;v=M+160|0;y=M+164|0;z=M+84|0;I=M+92|0;t=M+172|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[p>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=M;return}if(d[(c[p>>2]|0)+64>>0]|0){i=M;return}c[u>>2]=c[(c[k>>2]|0)+484>>2];if(!(c[u>>2]|0)){i=M;return}if(a[(c[p>>2]|0)+140+5>>0]|0)c[(c[u>>2]|0)+32>>2]=c[(c[p>>2]|0)+140>>2];do if(d[n>>0]&32){if(d[(c[u>>2]|0)+44>>0]&8){sf(c[k>>2]|0,28756,C);i=M;return}if(!(d[(c[u>>2]|0)+44>>0]&4)){C=c[k>>2]|0;c[E>>2]=c[c[u>>2]>>2];sf(C,28806,E);break}else{E=(c[u>>2]|0)+44|0;a[E>>0]=d[E>>0]|32;uy(c[k>>2]|0,c[u>>2]|0);break}}while(0);c[r>>2]=vf(c[p>>2]|0,c[(c[u>>2]|0)+68>>2]|0)|0;if(c[(c[u>>2]|0)+24>>2]|0)oy(c[k>>2]|0,c[u>>2]|0,4,0,c[(c[u>>2]|0)+24>>2]|0);vy(c[u>>2]|0);c[x>>2]=c[(c[u>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;qy(c[x>>2]|0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}if(!(a[(c[p>>2]|0)+140+5>>0]|0)){c[B>>2]=Po(c[k>>2]|0)|0;if(!(c[B>>2]|0)){i=M;return}ur(c[B>>2]|0,61,0)|0;if(!(c[(c[u>>2]|0)+12>>2]|0)){c[K>>2]=24336;c[L>>2]=28838}else{c[K>>2]=27745;c[L>>2]=28844}do if((c[o>>2]|0)!=0?(Uo(c[B>>2]|0,55,1,c[(c[k>>2]|0)+388>>2]|0,c[r>>2]|0)|0,xf(c[B>>2]|0,2),c[(c[k>>2]|0)+68>>2]=2,Ss(q,14,1),Kn(c[k>>2]|0,c[o>>2]|0,q)|0,ur(c[B>>2]|0,61,1)|0,(c[(c[k>>2]|0)+64>>2]|0)==0):0){c[A>>2]=Jp(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[A>>2]|0)){i=M;return}else{b[(c[u>>2]|0)+38>>1]=b[(c[A>>2]|0)+38>>1]|0;c[(c[u>>2]|0)+4>>2]=c[(c[A>>2]|0)+4>>2];b[(c[A>>2]|0)+38>>1]=0;c[(c[A>>2]|0)+4>>2]=0;Ld(c[p>>2]|0,c[A>>2]|0);break}}while(0);if(c[o>>2]|0)c[J>>2]=wy(c[p>>2]|0,c[u>>2]|0)|0;else{c[w>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+504|0:c[m>>2]|0;c[s>>2]=(c[c[w>>2]>>2]|0)-(c[(c[k>>2]|0)+496>>2]|0);if((a[c[c[w>>2]>>2]>>0]|0)!=59)c[s>>2]=(c[s>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0);E=c[p>>2]|0;h=c[s>>2]|0;C=c[(c[k>>2]|0)+496>>2]|0;c[G>>2]=c[L>>2];c[G+4>>2]=h;c[G+8>>2]=C;c[J>>2]=tf(E,28849,G)|0}L=c[k>>2]|0;A=(c[r>>2]|0)==1?19269:19288;j=c[K>>2]|0;h=c[c[u>>2]>>2]|0;C=c[c[u>>2]>>2]|0;E=c[(c[k>>2]|0)+388>>2]|0;G=c[J>>2]|0;K=c[(c[k>>2]|0)+384>>2]|0;c[H>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[H+4>>2]=A;c[H+8>>2]=j;c[H+12>>2]=h;c[H+16>>2]=C;c[H+20>>2]=E;c[H+24>>2]=G;c[H+28>>2]=K;Oo(L,28864,H);Nd(c[p>>2]|0,c[J>>2]|0);Qo(c[k>>2]|0,c[r>>2]|0);if((d[(c[u>>2]|0)+44>>0]&8|0)!=0?(c[v>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4),(c[(c[(c[v>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){L=c[k>>2]|0;c[D>>2]=c[c[v>>2]>>2];Oo(L,28951,D)}J=c[B>>2]|0;K=c[r>>2]|0;L=c[p>>2]|0;c[F>>2]=c[c[u>>2]>>2];So(J,K,tf(L,28993,F)|0)}if(!(a[(c[p>>2]|0)+140+5>>0]|0)){i=M;return}c[z>>2]=c[(c[u>>2]|0)+68>>2];c[y>>2]=ch((c[z>>2]|0)+8|0,c[c[u>>2]>>2]|0,c[u>>2]|0)|0;if(c[y>>2]|0){a[(c[p>>2]|0)+64>>0]=1;i=M;return}c[(c[k>>2]|0)+484>>2]=0;L=(c[p>>2]|0)+24|0;c[L>>2]=c[L>>2]|2;if(c[(c[u>>2]|0)+12>>2]|0){i=M;return}c[I>>2]=c[(c[k>>2]|0)+496>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[t>>2]=(c[c[l>>2]>>2]|0)-(c[I>>2]|0);L=13+(Dp(c[I>>2]|0,c[t>>2]|0)|0)|0;c[(c[u>>2]|0)+48>>2]=L;i=M;return}function wn(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;s=i;i=i+48|0;p=s+8|0;o=s;g=s+16|0;h=s+28|0;m=s+24|0;l=s+12|0;q=s+20|0;n=s+32|0;k=s+36|0;j=s+40|0;c[g>>2]=e;c[h>>2]=f;c[k>>2]=c[c[g>>2]>>2];e=c[(c[g>>2]|0)+484>>2]|0;c[m>>2]=e;if(!e){i=s;return}if(((b[(c[m>>2]|0)+38>>1]|0)+1|0)>(c[(c[k>>2]|0)+88+8>>2]|0)){r=c[g>>2]|0;c[o>>2]=c[c[m>>2]>>2];sf(r,28707,o);i=s;return}c[q>>2]=Ho(c[k>>2]|0,c[h>>2]|0)|0;if(!(c[q>>2]|0)){i=s;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[m>>2]|0)+38>>1]|0))break;if((d[13848+(d[c[q>>2]>>0]|0)>>0]|0)==(d[13848+(d[c[(c[(c[m>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2]>>0]|0)>>0]|0)?($b((c[q>>2]|0)+1|0,(c[(c[(c[m>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2]|0)+1|0)|0)==0:0){r=9;break}c[l>>2]=(c[l>>2]|0)+1}if((r|0)==9){r=c[g>>2]|0;c[p>>2]=c[q>>2];sf(r,28730,p);Nd(c[k>>2]|0,c[q>>2]|0);i=s;return}do if(!(b[(c[m>>2]|0)+38>>1]&7)){c[j>>2]=hm(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0,((b[(c[m>>2]|0)+38>>1]|0)+8|0)*24|0,0)|0;if(c[j>>2]|0){c[(c[m>>2]|0)+4>>2]=c[j>>2];break}Nd(c[k>>2]|0,c[q>>2]|0);i=s;return}while(0);c[n>>2]=(c[(c[m>>2]|0)+4>>2]|0)+((b[(c[m>>2]|0)+38>>1]|0)*24|0);r=c[n>>2]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[c[n>>2]>>2]=c[q>>2];a[(c[n>>2]|0)+21>>0]=65;a[(c[n>>2]|0)+22>>0]=1;r=(c[m>>2]|0)+38|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16;i=s;return}function xn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[f>>2]|0)+484>>2];if(!(c[h>>2]|0)){i=k;return}if((b[(c[h>>2]|0)+38>>1]|0)<1){i=k;return}c[j>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(((b[(c[h>>2]|0)+38>>1]|0)-1|0)*24|0);e=Ho(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+12>>2]=e;e=lp(c[(c[j>>2]|0)+12>>2]|0,(c[j>>2]|0)+22|0)|0;a[(c[j>>2]|0)+21>>0]=e;i=k;return}function yn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=c[(c[f>>2]|0)+484>>2];if(!(c[j>>2]|0)){e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;dn(e,l);i=m;return}c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(((b[(c[j>>2]|0)+38>>1]|0)-1|0)*24|0);if(ty(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+140+5>>0]|0)|0){dn(c[h>>2]|0,c[(c[k>>2]|0)+4>>2]|0);e=mq(c[h>>2]|0,c[c[g>>2]>>2]|0,1)|0;c[(c[k>>2]|0)+4>>2]=e;Nd(c[h>>2]|0,c[(c[k>>2]|0)+8>>2]|0);e=(c[(c[g>>2]|0)+8>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0;e=Io(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+8>>2]=e;e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;dn(e,l);i=m;return}else{e=c[f>>2]|0;c[l>>2]=c[c[k>>2]>>2];sf(e,28662,l);e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;dn(e,l);i=m;return}}function zn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;b=c[c[g>>2]>>2]|0;if((c[h>>2]|0)==72&(c[j>>2]|0)!=0&(c[k>>2]|0)!=0)c[m>>2]=_q(b,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=ar(b,c[h>>2]|0,c[l>>2]|0,1)|0;br(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){m=c[m>>2]|0;i=n;return m|0}Bq(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}function An(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;e=zn(c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function Bn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+484>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+38>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+(((b[(c[g>>2]|0)+38>>1]|0)-1|0)*24|0)+20>>0]=c[f>>2];i=h;return}function Cn(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;y=z+8|0;k=z;r=z+24|0;s=z+32|0;t=z+12|0;u=z+16|0;v=z+20|0;o=z+28|0;p=z+36|0;m=z+40|0;l=z+44|0;n=z+48|0;x=z+52|0;w=z+56|0;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[o>>2]=c[(c[r>>2]|0)+484>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[o>>2]|0)){x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}if(d[(c[r>>2]|0)+451>>0]|0){x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}if(d[(c[o>>2]|0)+44>>0]&4){x=c[r>>2]|0;c[k>>2]=c[c[o>>2]>>2];sf(x,28565,k);x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}k=(c[o>>2]|0)+44|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[s>>2]|0)){c[m>>2]=(b[(c[o>>2]|0)+38>>1]|0)-1;q=(c[(c[o>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+23|0;a[q>>0]=d[q>>0]|1;c[p>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2];c[n>>2]=1}else{c[n>>2]=c[c[s>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[o>>2]|0)+38>>1]|0))break;k=($b(c[(c[(c[s>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)+4>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)>>2]|0)|0)==0;h=c[m>>2]|0;if(k){q=12;break}c[m>>2]=h+1}if((q|0)==12){q=0;k=(c[(c[o>>2]|0)+4>>2]|0)+(h*24|0)+23|0;a[k>>0]=d[k>>0]|1;c[p>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(q=($b(c[p>>2]|0,20773)|0)==0,q&(c[v>>2]|0)==0):0){b[(c[o>>2]|0)+36>>1]=c[m>>2];a[(c[o>>2]|0)+45>>0]=c[t>>2];y=(c[o>>2]|0)+44|0;a[y>>0]=d[y>>0]|c[u>>2]<<3;if(!(c[s>>2]|0)){x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}a[(c[r>>2]|0)+448>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+12>>0]|0;x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}h=c[r>>2]|0;if(c[u>>2]|0){sf(h,28606,y);x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}c[x>>2]=c[h+8>>2];if(c[x>>2]|0){y=Yo(c[x>>2]|0,154)|0;c[(c[r>>2]|0)+420>>2]=y}c[w>>2]=Dn(c[r>>2]|0,0,0,0,c[s>>2]|0,c[t>>2]|0,0,0,c[v>>2]|0,0)|0;if((c[w>>2]|0)!=0?(y=(c[w>>2]|0)+55|0,a[y>>0]=a[y>>0]&-4|2,(c[x>>2]|0)!=0):0)jp(c[x>>2]|0,c[(c[r>>2]|0)+420>>2]|0);c[s>>2]=0;x=c[r>>2]|0;x=c[x>>2]|0;y=c[s>>2]|0;$m(x,y);i=z;return}function Dn(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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;xa=i;i=i+336|0;ca=xa+8|0;ba=xa+96|0;aa=xa+48|0;$=xa+40|0;_=xa+64|0;B=xa;Z=xa+24|0;A=xa+32|0;z=xa+80|0;y=xa+16|0;C=xa+72|0;x=xa+88|0;E=xa+132|0;q=xa+124|0;r=xa+120|0;qa=xa+276|0;ra=xa+260|0;ka=xa+220|0;F=xa+212|0;sa=xa+204|0;s=xa+196|0;G=xa+164|0;va=xa+156|0;na=xa+136|0;ua=xa+152|0;wa=xa+292|0;P=xa+300|0;H=xa+308|0;J=xa+316|0;w=xa+168|0;X=xa+192|0;ta=xa+272|0;Q=xa+296|0;la=xa+304|0;T=xa+256|0;S=xa+312|0;V=xa+216|0;N=xa+224|0;O=xa+228|0;ia=xa+200|0;U=xa+232|0;t=xa+236|0;v=xa+240|0;D=xa+160|0;u=xa+244|0;ga=xa+248|0;W=xa+252|0;ha=xa+148|0;M=xa+264|0;da=xa+268|0;R=xa+320|0;K=xa+324|0;ea=xa+328|0;fa=xa+144|0;ma=xa+280|0;Y=xa+128|0;ja=xa+140|0;I=xa+288|0;L=xa+208|0;oa=xa+284|0;c[E>>2]=f;c[q>>2]=g;c[r>>2]=h;c[qa>>2]=j;c[ra>>2]=k;c[ka>>2]=l;c[F>>2]=m;c[sa>>2]=n;c[s>>2]=o;c[G>>2]=p;c[va>>2]=0;c[na>>2]=0;c[ua>>2]=0;c[wa>>2]=0;c[ta>>2]=c[c[E>>2]>>2];c[T>>2]=0;c[N>>2]=0;c[ia>>2]=0;c[U>>2]=0;a:do if(((d[(c[ta>>2]|0)+64>>0]|0)==0?(d[(c[E>>2]|0)+451>>0]|0)==0:0)?0==(mr(c[E>>2]|0)|0):0){p=c[E>>2]|0;if(c[qa>>2]|0){c[la>>2]=qr(p,c[q>>2]|0,c[r>>2]|0,T)|0;if((c[la>>2]|0)<0)break;if(((a[(c[ta>>2]|0)+140+5>>0]|0)==0?(c[na>>2]=Ct(c[E>>2]|0,c[qa>>2]|0)|0,(c[na>>2]|0)!=0?(c[(c[r>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[na>>2]|0)+68>>2]|0)==(c[(c[(c[ta>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[la>>2]=1;Dt(w,c[E>>2]|0,c[la>>2]|0,18253,c[T>>2]|0);Et(w,c[qa>>2]|0)|0;c[na>>2]=Zo(c[E>>2]|0,0,(c[qa>>2]|0)+8|0)|0;if(!(c[na>>2]|0))break;if((c[la>>2]|0)==1?(c[(c[(c[ta>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+12>>2]|0)!=(c[(c[na>>2]|0)+68>>2]|0):0){pa=c[E>>2]|0;c[x>>2]=c[c[na>>2]>>2];sf(pa,28160,x);break}if(d[(c[na>>2]|0)+44>>0]&32)c[U>>2]=Lr(c[na>>2]|0)|0}else{c[na>>2]=c[p+484>>2];if(!(c[na>>2]|0))break;c[la>>2]=vf(c[ta>>2]|0,c[(c[na>>2]|0)+68>>2]|0)|0}c[Q>>2]=(c[(c[ta>>2]|0)+16>>2]|0)+(c[la>>2]<<4);if(((Ib(c[c[na>>2]>>2]|0,19570,7)|0)==0?(d[(c[ta>>2]|0)+140+5>>0]|0)==0:0)?(Ib((c[c[na>>2]>>2]|0)+7|0,28210,9)|0)!=0:0){pa=c[E>>2]|0;c[C>>2]=c[c[na>>2]>>2];sf(pa,28220,C);break}if(c[(c[na>>2]|0)+12>>2]|0){sf(c[E>>2]|0,28248,y);break}if(d[(c[na>>2]|0)+44>>0]&16){sf(c[E>>2]|0,28273,z);break}if(c[T>>2]|0){c[wa>>2]=Ho(c[ta>>2]|0,c[T>>2]|0)|0;if(!(c[wa>>2]|0))break;if(zp(c[E>>2]|0,c[wa>>2]|0)|0)break;if((a[(c[ta>>2]|0)+140+5>>0]|0)==0?(cp(c[ta>>2]|0,c[wa>>2]|0,0)|0)!=0:0){pa=c[E>>2]|0;c[A>>2]=c[wa>>2];sf(pa,28307,A);break}if(yp(c[ta>>2]|0,c[wa>>2]|0,c[c[Q>>2]>>2]|0)|0){l=c[E>>2]|0;if(c[G>>2]|0){ap(l,c[la>>2]|0);break}else{c[Z>>2]=c[wa>>2];sf(l,28341,Z);break}}}else{c[v>>2]=c[(c[na>>2]|0)+8>>2];c[t>>2]=1;while(1){if(!(c[v>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}Z=c[ta>>2]|0;G=c[t>>2]|0;c[B>>2]=c[c[na>>2]>>2];c[B+4>>2]=G;c[wa>>2]=tf(Z,28365,B)|0;if(!(c[wa>>2]|0))break}c[D>>2]=c[c[Q>>2]>>2];if((Mo(c[E>>2]|0,18,(c[la>>2]|0)==1?19269:19288,0,c[D>>2]|0)|0)==0?(c[H>>2]=1,c[H>>2]=(c[la>>2]|0)==1?3:1,(Mo(c[E>>2]|0,c[H>>2]|0,c[wa>>2]|0,c[c[na>>2]>>2]|0,c[D>>2]|0)|0)==0):0){if(!(c[ra>>2]|0)){c[ra>>2]=Nn(c[E>>2]|0,0,0)|0;if(!(c[ra>>2]|0))break;Z=ef(c[c[E>>2]>>2]|0,c[(c[(c[na>>2]|0)+4>>2]|0)+(((b[(c[na>>2]|0)+38>>1]|0)-1|0)*24|0)>>2]|0)|0;c[(c[(c[ra>>2]|0)+4>>2]|0)+4>>2]=Z;a[(c[(c[ra>>2]|0)+4>>2]|0)+12>>0]=c[s>>2]}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[c[ra>>2]>>2]|0))break;c[u>>2]=c[(c[(c[ra>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)>>2];if(c[u>>2]|0){Z=1+(Ed(c[(c[u>>2]|0)+8>>2]|0)|0)|0;c[N>>2]=(c[N>>2]|0)+Z}c[H>>2]=(c[H>>2]|0)+1}c[P>>2]=Ed(c[wa>>2]|0)|0;if(c[U>>2]|0)p=e[(c[U>>2]|0)+50>>1]|0;else p=1;c[O>>2]=p;c[ua>>2]=ov(c[ta>>2]|0,(c[c[ra>>2]>>2]|0)+(c[O>>2]|0)&65535,(c[P>>2]|0)+(c[N>>2]|0)+1|0,ia)|0;if(!(a[(c[ta>>2]|0)+64>>0]|0)){c[c[ua>>2]>>2]=c[ia>>2];c[ia>>2]=(c[ia>>2]|0)+((c[P>>2]|0)+1);EH(c[c[ua>>2]>>2]|0,c[wa>>2]|0,(c[P>>2]|0)+1|0)|0;c[(c[ua>>2]|0)+12>>2]=c[na>>2];a[(c[ua>>2]|0)+54>>0]=c[ka>>2];Z=(c[ua>>2]|0)+55|0;a[Z>>0]=a[Z>>0]&-9|((c[ka>>2]|0)!=0&1)<<3&255;Z=(c[ua>>2]|0)+55|0;a[Z>>0]=a[Z>>0]&-4|((c[T>>2]|0)!=0?0:1)&3;c[(c[ua>>2]|0)+24>>2]=c[(c[(c[ta>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+12>>2];b[(c[ua>>2]|0)+50>>1]=c[c[ra>>2]>>2];if(c[sa>>2]|0){oy(c[E>>2]|0,c[na>>2]|0,16,c[sa>>2]|0,0);c[(c[ua>>2]|0)+36>>2]=c[sa>>2];c[sa>>2]=0}if((d[(c[(c[Q>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[X>>2]=-1;else c[X>>2]=0;c[H>>2]=0;c[S>>2]=c[(c[ra>>2]|0)+4>>2];while(1){if((c[H>>2]|0)>=(c[c[ra>>2]>>2]|0))break;c[ga>>2]=c[(c[S>>2]|0)+4>>2];c[J>>2]=0;c[V>>2]=c[(c[na>>2]|0)+4>>2];while(1){if((c[J>>2]|0)>=(b[(c[na>>2]|0)+38>>1]|0))break;if(!($b(c[ga>>2]|0,c[c[V>>2]>>2]|0)|0))break;c[J>>2]=(c[J>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+24}if((c[J>>2]|0)>=(b[(c[na>>2]|0)+38>>1]|0)){pa=65;break}b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[H>>2]<<1)>>1]=c[J>>2];if(c[c[S>>2]>>2]|0){c[ha>>2]=c[(c[c[S>>2]>>2]|0)+8>>2];c[M>>2]=(Ed(c[ha>>2]|0)|0)+1;EH(c[ia>>2]|0,c[ha>>2]|0,c[M>>2]|0)|0;c[ha>>2]=c[ia>>2];c[ia>>2]=(c[ia>>2]|0)+(c[M>>2]|0);c[N>>2]=(c[N>>2]|0)-(c[M>>2]|0)}else{Z=c[(c[(c[na>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0)+16>>2]|0;c[ha>>2]=Z;c[ha>>2]=(c[ha>>2]|0)!=0?Z:15963}if((a[(c[ta>>2]|0)+140+5>>0]|0)==0?(Ar(c[E>>2]|0,c[ha>>2]|0)|0)==0:0)break a;c[(c[(c[ua>>2]|0)+32>>2]|0)+(c[H>>2]<<2)>>2]=c[ha>>2];c[W>>2]=d[(c[S>>2]|0)+12>>0]&c[X>>2];a[(c[(c[ua>>2]|0)+28>>2]|0)+(c[H>>2]|0)>>0]=c[W>>2];if(!(d[(c[(c[na>>2]|0)+4>>2]|0)+((c[J>>2]|0)*24|0)+20>>0]|0)){Z=(c[ua>>2]|0)+55|0;a[Z>>0]=a[Z>>0]&-9}c[H>>2]=(c[H>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+20}if((pa|0)==65){pa=c[E>>2]|0;oa=c[ga>>2]|0;c[_>>2]=c[c[na>>2]>>2];c[_+4>>2]=oa;sf(pa,28388,_);a[(c[E>>2]|0)+17>>0]=1;break}b:do if(c[U>>2]|0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break b;c[da>>2]=b[(c[(c[U>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1];if(py(c[(c[ua>>2]|0)+4>>2]|0,e[(c[ua>>2]|0)+50>>1]|0,c[da>>2]|0)|0){ia=(c[ua>>2]|0)+52|0;b[ia>>1]=(b[ia>>1]|0)+-1<<16>>16}else{b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[H>>2]<<1)>>1]=c[da>>2];c[(c[(c[ua>>2]|0)+32>>2]|0)+(c[H>>2]<<2)>>2]=c[(c[(c[U>>2]|0)+32>>2]|0)+(c[J>>2]<<2)>>2];a[(c[(c[ua>>2]|0)+28>>2]|0)+(c[H>>2]|0)>>0]=a[(c[(c[U>>2]|0)+28>>2]|0)+(c[J>>2]|0)>>0]|0;c[H>>2]=(c[H>>2]|0)+1}c[J>>2]=(c[J>>2]|0)+1}}else{b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[H>>2]<<1)>>1]=-1;c[(c[(c[ua>>2]|0)+32>>2]|0)+(c[H>>2]<<2)>>2]=15963}while(0);Vr(c[ua>>2]|0);if(!(c[(c[E>>2]|0)+484>>2]|0))qy(c[ua>>2]|0);c:do if((c[na>>2]|0)==(c[(c[E>>2]|0)+484>>2]|0)){c[R>>2]=c[(c[na>>2]|0)+8>>2];while(1){if(!(c[R>>2]|0))break c;if((e[(c[R>>2]|0)+50>>1]|0)==(e[(c[ua>>2]|0)+50>>1]|0)){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(e[(c[R>>2]|0)+50>>1]|0))break;if((b[(c[(c[R>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]|0)!=(b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]|0))break;c[ea>>2]=c[(c[(c[R>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];c[fa>>2]=c[(c[(c[ua>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];if((c[ea>>2]|0)!=(c[fa>>2]|0)?($b(c[ea>>2]|0,c[fa>>2]|0)|0)!=0:0)break;c[K>>2]=(c[K>>2]|0)+1}if((c[K>>2]|0)==(e[(c[R>>2]|0)+50>>1]|0))break}c[R>>2]=c[(c[R>>2]|0)+20>>2]}if((d[(c[R>>2]|0)+54>>0]|0)==(d[(c[ua>>2]|0)+54>>0]|0))break a;do if((d[(c[R>>2]|0)+54>>0]|0)!=10){if((d[(c[ua>>2]|0)+54>>0]|0)==10)break;pa=c[E>>2]|0;c[$>>2]=0;sf(pa,28420,$)}while(0);if((d[(c[R>>2]|0)+54>>0]|0)!=10)break a;a[(c[R>>2]|0)+54>>0]=a[(c[ua>>2]|0)+54>>0]|0;break a}while(0);do if(a[(c[ta>>2]|0)+140+5>>0]|0){c[ma>>2]=ch((c[(c[ua>>2]|0)+24>>2]|0)+24|0,c[c[ua>>2]>>2]|0,c[ua>>2]|0)|0;p=c[ta>>2]|0;if(c[ma>>2]|0){a[p+64>>0]=1;break a}ma=p+24|0;c[ma>>2]=c[ma>>2]|2;if(!(c[qa>>2]|0))break;c[(c[ua>>2]|0)+44>>2]=c[(c[ta>>2]|0)+140>>2]}else{if(c[(c[E>>2]|0)+64>>2]|0)break;if(!((c[qa>>2]|0)!=0?1:(d[(c[na>>2]|0)+44>>0]&32|0)==0))break;ia=(c[E>>2]|0)+72|0;ma=(c[ia>>2]|0)+1|0;c[ia>>2]=ma;c[I>>2]=ma;c[Y>>2]=Po(c[E>>2]|0)|0;if(!(c[Y>>2]|0))break a;$o(c[E>>2]|0,1,c[la>>2]|0);Ro(c[Y>>2]|0,120,c[la>>2]|0,c[I>>2]|0)|0;if(c[F>>2]|0){c[L>>2]=(c[(c[E>>2]|0)+504>>2]|0)-(c[c[T>>2]>>2]|0)+(c[(c[E>>2]|0)+504+4>>2]|0);if((a[(c[c[T>>2]>>2]|0)+((c[L>>2]|0)-1)>>0]|0)==59)c[L>>2]=(c[L>>2]|0)+-1;ma=c[ta>>2]|0;ha=c[L>>2]|0;ia=c[c[T>>2]>>2]|0;c[aa>>2]=(c[ka>>2]|0)==0?14425:28462;c[aa+4>>2]=ha;c[aa+8>>2]=ia;c[ja>>2]=tf(ma,28470,aa)|0}else c[ja>>2]=0;ma=c[E>>2]|0;ea=(c[la>>2]|0)==1?19269:19288;fa=c[c[ua>>2]>>2]|0;ga=c[c[na>>2]>>2]|0;ha=c[I>>2]|0;ia=c[ja>>2]|0;c[ba>>2]=c[(c[(c[ta>>2]|0)+16>>2]|0)+(c[la>>2]<<4)>>2];c[ba+4>>2]=ea;c[ba+8>>2]=fa;c[ba+12>>2]=ga;c[ba+16>>2]=ha;c[ba+20>>2]=ia;Oo(ma,28490,ba);Nd(c[ta>>2]|0,c[ja>>2]|0);if(!(c[qa>>2]|0))break;as(c[E>>2]|0,c[ua>>2]|0,c[I>>2]|0);Qo(c[E>>2]|0,c[la>>2]|0);ja=c[Y>>2]|0;la=c[la>>2]|0;ma=c[ta>>2]|0;c[ca>>2]=c[c[ua>>2]>>2];So(ja,la,tf(ma,28538,ca)|0);ur(c[Y>>2]|0,142,0)|0}while(0);if(!((c[qa>>2]|0)==0?1:(d[(c[ta>>2]|0)+140+5>>0]|0)!=0))break;do if((c[ka>>2]|0)!=5)pa=121;else{if(!(c[(c[na>>2]|0)+8>>2]|0)){pa=121;break}if((d[(c[(c[na>>2]|0)+8>>2]|0)+54>>0]|0)==5){pa=121;break}c[oa>>2]=c[(c[na>>2]|0)+8>>2];while(1){if(c[(c[oa>>2]|0)+20>>2]|0)p=(d[(c[(c[oa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else p=0;l=c[(c[oa>>2]|0)+20>>2]|0;if(!p)break;c[oa>>2]=l}c[(c[ua>>2]|0)+20>>2]=l;c[(c[oa>>2]|0)+20>>2]=c[ua>>2]}while(0);if((pa|0)==121){c[(c[ua>>2]|0)+20>>2]=c[(c[na>>2]|0)+8>>2];c[(c[na>>2]|0)+8>>2]=c[ua>>2]}c[va>>2]=c[ua>>2];c[ua>>2]=0}}}while(0);if(!(c[ua>>2]|0)){pa=c[ta>>2]|0;ua=c[sa>>2]|0;dn(pa,ua);ua=c[ta>>2]|0;sa=c[ra>>2]|0;$m(ua,sa);sa=c[ta>>2]|0;ua=c[qa>>2]|0;cn(sa,ua);ua=c[ta>>2]|0;wa=c[wa>>2]|0;Nd(ua,wa);wa=c[va>>2]|0;i=xa;return wa|0}ry(c[ta>>2]|0,c[ua>>2]|0);pa=c[ta>>2]|0;ua=c[sa>>2]|0;dn(pa,ua);ua=c[ta>>2]|0;sa=c[ra>>2]|0;$m(ua,sa);sa=c[ta>>2]|0;ua=c[qa>>2]|0;cn(sa,ua);ua=c[ta>>2]|0;wa=c[wa>>2]|0;Nd(ua,wa);wa=c[va>>2]|0;i=xa;return wa|0}function En(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+484>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+451>>0]|0)==0:0)?(pg(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+140+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Nn(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+320+4>>2]|0)){i=k;return}On(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+320|0,1);i=k;return}dn(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Fn(e,f,g,h,j){e=e|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E;o=E+16|0;n=E+8|0;p=E+20|0;q=E+48|0;k=E+28|0;r=E+24|0;s=E+44|0;t=E+40|0;z=E+32|0;A=E+36|0;y=E+52|0;m=E+56|0;u=E+60|0;x=E+64|0;C=E+68|0;l=E+72|0;v=E+76|0;w=E+80|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+484>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+451>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+38>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2];c[n+4>>2]=C;sf(D,27957,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){sf(c[p>>2]|0,28020,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Ed(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=gf(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];EH(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Jo(c[C>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+38>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+38>>1]|0))break;o=($b(c[(c[(c[y>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+38>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];sf(D,28114,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Ed(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];EH(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=ch((c[(c[y>>2]|0)+68>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){a[(c[t>>2]|0)+64>>0]=1;break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Nd(c[t>>2]|0,c[z>>2]|0);$m(c[t>>2]|0,c[q>>2]|0);$m(c[t>>2]|0,c[r>>2]|0);i=E;return}function Gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+484>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Hn(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+8|0;f=m+16|0;j=m+20|0;h=m+24|0;l=m+4|0;g=m;k=m+12|0;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+484>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+38>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Ho(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Ar(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Nd(e,c[l>>2]|0);i=m;return}Nd(e,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function In(b,e,f,g){b=b|0;e=e|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;x=i;i=i+80|0;t=x;s=x+16|0;r=x+8|0;h=x+20|0;j=x+40|0;k=x+28|0;l=x+24|0;p=x+36|0;q=x+32|0;n=x+44|0;o=x+48|0;m=x+52|0;w=x+56|0;v=x+60|0;u=x+64|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if(!(a[(c[n>>2]|0)+64>>0]|0)){if(c[l>>2]|0){b=(c[n>>2]|0)+67|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=Zo(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+67|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;xt(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=vf(c[n>>2]|0,c[(c[p>>2]|0)+68>>2]|0)|0;if((d[(c[p>>2]|0)+44>>0]&16|0)!=0?(Ap(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?19269:19288;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(Mo(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+44>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Bp(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((Mo(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(Mo(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((Ib(c[c[p>>2]>>2]|0,19570,7)|0)==0?(Ib(c[c[p>>2]>>2]|0,27750,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];sf(w,27762,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];sf(w,27790,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];sf(w,27824,t);break}c[q>>2]=Po(c[h>>2]|0)|0;if(c[q>>2]|0){$o(c[h>>2]|0,1,c[o>>2]|0);hu(c[h>>2]|0,c[o>>2]|0,22335,c[c[p>>2]>>2]|0);jy(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);ky(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);cn(c[n>>2]|0,c[j>>2]|0);i=x;return}function Jn(b,e,f,g,h,j,k){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;w=A+16|0;s=A+24|0;l=A+4|0;m=A+28|0;t=A+8|0;n=A+12|0;o=A+20|0;v=A+32|0;x=A+36|0;z=A+40|0;y=A+48|0;r=A+56|0;q=A+80|0;p=A+84|0;u=A+88|0;c[w>>2]=b;c[s>>2]=e;c[l>>2]=f;c[m>>2]=g;c[t>>2]=h;c[n>>2]=j;c[o>>2]=k;c[q>>2]=0;c[u>>2]=c[c[w>>2]>>2];j=c[w>>2]|0;if((c[(c[w>>2]|0)+440>>2]|0)>0){sf(j,27709,A);an(c[u>>2]|0,c[t>>2]|0);i=A;return}un(j,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,1,0,c[o>>2]|0);c[v>>2]=c[(c[w>>2]|0)+484>>2];if((c[v>>2]|0)!=0?(c[(c[w>>2]|0)+64>>2]|0)==0:0){qr(c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,q)|0;c[p>>2]=vf(c[u>>2]|0,c[(c[v>>2]|0)+68>>2]|0)|0;Dt(r,c[w>>2]|0,c[p>>2]|0,27745,c[q>>2]|0);r=(Ft(r,c[t>>2]|0)|0)!=0;j=c[u>>2]|0;k=c[t>>2]|0;if(r){an(j,k);i=A;return}r=Hp(j,k,1)|0;c[(c[v>>2]|0)+12>>2]=r;an(c[u>>2]|0,c[t>>2]|0);if(a[(c[u>>2]|0)+64>>0]|0){i=A;return}if(!(a[(c[u>>2]|0)+140+5>>0]|0))Ap(c[w>>2]|0,c[v>>2]|0)|0;v=(c[w>>2]|0)+504|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];if((a[c[y>>2]>>0]|0)!=0?(a[c[y>>2]>>0]|0)!=59:0)c[y>>2]=(c[y>>2]|0)+(c[y+4>>2]|0);c[y+4>>2]=0;c[x>>2]=(c[y>>2]|0)-(c[c[s>>2]>>2]|0);c[z>>2]=c[c[s>>2]>>2];while(1){if((c[x>>2]|0)>0)k=(d[14426+(d[(c[z>>2]|0)+((c[x>>2]|0)-1)>>0]|0)>>0]&1|0)!=0;else k=0;j=c[x>>2]|0;if(!k)break;c[x>>2]=j+-1}c[y>>2]=(c[z>>2]|0)+(j-1);c[y+4>>2]=1;vn(c[w>>2]|0,0,y,0,0);i=A;return}an(c[u>>2]|0,c[t>>2]|0);i=A;return}function Kn(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,A=0,B=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,ya=0,za=0;za=i;i=i+400|0;J=za+224|0;K=za+216|0;L=za+212|0;M=za+328|0;V=za+336|0;aa=za+376|0;la=za+208|0;ya=za+24|0;l=za+28|0;ga=za+32|0;ka=za+36|0;H=za+40|0;ha=za+44|0;ia=za+48|0;oa=za+52|0;ua=za+56|0;va=za+68|0;ta=za+96|0;Z=za+144|0;T=za+148|0;_=za+152|0;o=za+156|0;k=za+160|0;q=za+180|0;m=za+184|0;j=za+188|0;s=za+192|0;n=za+196|0;r=za+316|0;p=za+324|0;t=za+392|0;I=za+344|0;W=za+380|0;Y=za+384|0;$=za+388|0;X=za+228|0;U=za+232|0;N=za+236|0;xa=za+240|0;wa=za+244|0;ea=za+248|0;u=za+252|0;v=za+256|0;ja=za+260|0;ba=za+264|0;O=za+268|0;qa=za+272|0;Q=za+276|0;S=za+280|0;R=za+284|0;P=za+288|0;sa=za+292|0;pa=za+296|0;ra=za+300|0;ca=za+304|0;da=za+20|0;fa=za+16|0;ma=za+308|0;na=za+200|0;B=za+312|0;G=za+12|0;y=za;x=za+204|0;D=za+320|0;E=za+8|0;A=za+4|0;z=za+220|0;F=za+332|0;w=za+394|0;c[K>>2]=f;c[L>>2]=g;c[M>>2]=h;c[oa>>2]=1;c[_>>2]=c[(c[K>>2]|0)+464>>2];g=(c[K>>2]|0)+468|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[K>>2]|0)+464>>2]=f;c[T>>2]=c[c[K>>2]>>2];if(((c[L>>2]|0)!=0?(d[(c[T>>2]|0)+64>>0]|0)==0:0)?(c[(c[K>>2]|0)+64>>2]|0)==0:0){if(Mo(c[K>>2]|0,21,0,0,0)|0){c[J>>2]=1;ya=c[J>>2]|0;i=za;return ya|0}h=ta;g=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));if((d[c[M>>2]>>0]|0)<=8){$m(c[T>>2]|0,c[(c[L>>2]|0)+48>>2]|0);c[(c[L>>2]|0)+48>>2]=0;f=(c[L>>2]|0)+6|0;b[f>>1]=e[f>>1]&-2}Kp(c[K>>2]|0,c[L>>2]|0,0);c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;c[va+20>>2]=0;c[va+24>>2]=0;c[va>>2]=c[(c[L>>2]|0)+48>>2];c[ka>>2]=c[(c[L>>2]|0)+32>>2];c[ga>>2]=c[c[L>>2]>>2];a:do if((((c[(c[K>>2]|0)+64>>2]|0)==0?(d[(c[T>>2]|0)+64>>0]|0)==0:0)?(c[l>>2]=(e[(c[L>>2]|0)+6>>1]&4|0)!=0&1,c[ya>>2]=Po(c[K>>2]|0)|0,(c[ya>>2]|0)!=0):0)?(tx(c[K>>2]|0,c[M>>2]|0,c[c[ga>>2]>>2]|0)|0)==0:0){c[V>>2]=0;while(1){if(c[(c[L>>2]|0)+52>>2]|0)break;if((c[V>>2]|0)>=(c[c[ka>>2]>>2]|0))break;c[o>>2]=(c[ka>>2]|0)+8+((c[V>>2]|0)*72|0);c[q>>2]=c[(c[o>>2]|0)+20>>2];do if(c[q>>2]|0){if(c[(c[o>>2]|0)+24>>2]|0){if((d[(c[o>>2]|0)+37>>0]|0)>>>2&1)break;Ro(c[ya>>2]|0,17,c[(c[o>>2]|0)+28>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;break}g=ux(c[L>>2]|0)|0;f=(c[K>>2]|0)+460|0;c[f>>2]=(c[f>>2]|0)+g;c[m>>2]=(e[(c[q>>2]|0)+6>>1]&4|0)!=0&1;b:do if(vx(c[K>>2]|0,c[L>>2]|0,c[V>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[L>>2]|0)+6|0;b[f>>1]=e[f>>1]|4}c[V>>2]=-1}else{do if((c[c[ka>>2]>>2]|0)==1){if(e[(c[T>>2]|0)+60>>1]&256)break;c[j>>2]=(yr(c[ya>>2]|0)|0)+1;g=(c[K>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[o>>2]|0)+28>>2]=f;Uo(c[ya>>2]|0,20,c[(c[o>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=c[j>>2];Ss(k,13,c[(c[o>>2]|0)+28>>2]|0);a[(c[o>>2]|0)+38>>0]=c[(c[K>>2]|0)+468>>2];Kn(c[K>>2]|0,c[q>>2]|0,k)|0;f=(c[q>>2]|0)+24|0;f=Qp(c[f>>2]|0,c[f+4>>2]|0)|0;b[(c[(c[o>>2]|0)+16>>2]|0)+28>>1]=f;f=(c[o>>2]|0)+37|0;a[f>>0]=a[f>>0]&-5|4;c[(c[o>>2]|0)+32>>2]=c[k+8>>2];ur(c[ya>>2]|0,21,c[(c[o>>2]|0)+28>>2]|0)|0;jp(c[ya>>2]|0,(c[j>>2]|0)-1|0);wx(c[K>>2]|0);break b}while(0);c[n>>2]=0;g=(c[K>>2]|0)+72|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[(c[o>>2]|0)+28>>2]=f;c[s>>2]=Ro(c[ya>>2]|0,25,0,c[(c[o>>2]|0)+28>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=(c[s>>2]|0)+1;if(!((d[(c[o>>2]|0)+37>>0]|0)>>>1&1))c[n>>2]=Rs(c[K>>2]|0)|0;Ss(k,12,c[(c[o>>2]|0)+40>>2]|0);a[(c[o>>2]|0)+38>>0]=c[(c[K>>2]|0)+468>>2];Kn(c[K>>2]|0,c[q>>2]|0,k)|0;f=(c[q>>2]|0)+24|0;f=Qp(c[f>>2]|0,c[f+4>>2]|0)|0;b[(c[(c[o>>2]|0)+16>>2]|0)+28>>1]=f;if(c[n>>2]|0)jp(c[ya>>2]|0,c[n>>2]|0);c[r>>2]=ur(c[ya>>2]|0,18,c[(c[o>>2]|0)+28>>2]|0)|0;Af(c[ya>>2]|0,c[s>>2]|0,c[r>>2]|0);wx(c[K>>2]|0)}while(0);if(a[(c[T>>2]|0)+64>>0]|0)break a;g=ux(c[L>>2]|0)|0;f=(c[K>>2]|0)+460|0;c[f>>2]=(c[f>>2]|0)-g;c[ka>>2]=c[(c[L>>2]|0)+32>>2];if((d[c[M>>2]>>0]|0)>8)c[va>>2]=c[(c[L>>2]|0)+48>>2]}while(0);c[V>>2]=(c[V>>2]|0)+1}c[ga>>2]=c[c[L>>2]>>2];c[H>>2]=c[(c[L>>2]|0)+36>>2];c[ha>>2]=c[(c[L>>2]|0)+40>>2];c[ia>>2]=c[(c[L>>2]|0)+44>>2];a[ua>>0]=(e[(c[L>>2]|0)+6>>1]&1|0)!=0;if(c[(c[L>>2]|0)+52>>2]|0){c[oa>>2]=xx(c[K>>2]|0,c[L>>2]|0,c[M>>2]|0)|0;c[(c[K>>2]|0)+464>>2]=c[_>>2];c[J>>2]=c[oa>>2];ya=c[J>>2]|0;i=za;return ya|0}if((e[(c[L>>2]|0)+6>>1]&5|0)==1?(pq(c[va>>2]|0,c[c[L>>2]>>2]|0,-1)|0)==0:0){s=(c[L>>2]|0)+6|0;b[s>>1]=e[s>>1]&-2;s=uq(c[T>>2]|0,c[c[L>>2]>>2]|0,0)|0;c[(c[L>>2]|0)+40>>2]=s;c[ha>>2]=c[(c[L>>2]|0)+40>>2];c[va>>2]=0}if(c[va>>2]|0){c[p>>2]=yx(c[K>>2]|0,c[va>>2]|0,0,0)|0;r=(c[K>>2]|0)+68|0;s=c[r>>2]|0;c[r>>2]=s+1;c[va+8>>2]=s;c[va+20>>2]=To(c[ya>>2]|0,57,c[va+8>>2]|0,(c[c[va>>2]>>2]|0)+1+(c[c[ga>>2]>>2]|0)|0,0,c[p>>2]|0,-6)|0}else c[va+20>>2]=-1;if((d[c[M>>2]>>0]|0)==12)Ro(c[ya>>2]|0,57,c[(c[M>>2]|0)+4>>2]|0,c[c[ga>>2]>>2]|0)|0;c[Z>>2]=zr(c[ya>>2]|0)|0;s=(c[L>>2]|0)+24|0;c[s>>2]=-1;c[s+4>>2]=2147483647;zx(c[K>>2]|0,c[L>>2]|0,c[Z>>2]|0);if((c[(c[L>>2]|0)+8>>2]|0)==0?(c[va+20>>2]|0)>=0:0){a[(Ws(c[ya>>2]|0,c[va+20>>2]|0)|0)>>0]=58;s=va+24|0;a[s>>0]=d[s>>0]|1}if(e[(c[L>>2]|0)+6>>1]&1){s=(c[K>>2]|0)+68|0;r=c[s>>2]|0;c[s>>2]=r+1;c[ua+4>>2]=r;r=c[ya>>2]|0;s=c[ua+4>>2]|0;c[ua+8>>2]=To(r,57,s,0,0,yx(c[K>>2]|0,c[c[L>>2]>>2]|0,0,0)|0,-6)|0;xf(c[ya>>2]|0,8);a[ua+1>>0]=3}else a[ua+1>>0]=0;if((c[l>>2]|0)==0&(c[ha>>2]|0)==0){b[t>>1]=(d[ua>>0]|0)!=0?1024:0;c[la>>2]=Gu(c[K>>2]|0,c[ka>>2]|0,c[H>>2]|0,c[va>>2]|0,c[c[L>>2]>>2]|0,b[t>>1]|0,0)|0;if(!(c[la>>2]|0))break;wa=Ax(c[la>>2]|0)|0;ra=C;xa=(c[L>>2]|0)+24|0;sa=c[xa+4>>2]|0;if(ra>>>0>>0|((ra|0)==(sa|0)?wa>>>0<(c[xa>>2]|0)>>>0:0)){wa=Ax(c[la>>2]|0)|0;xa=(c[L>>2]|0)+24|0;c[xa>>2]=wa;c[xa+4>>2]=C}do if(d[ua>>0]|0){if(!(Bx(c[la>>2]|0)|0))break;a[ua+1>>0]=Bx(c[la>>2]|0)|0}while(0);do if(c[va>>2]|0){c[va+4>>2]=Cx(c[la>>2]|0)|0;if((c[va+4>>2]|0)!=(c[c[va>>2]>>2]|0))break;c[va>>2]=0}while(0);do if((c[va+20>>2]|0)>=0){if(c[va>>2]|0)break;Ef(c[ya>>2]|0,c[va+20>>2]|0)}while(0);qa=c[K>>2]|0;ra=c[L>>2]|0;sa=c[ga>>2]|0;wa=c[M>>2]|0;xa=Dx(c[la>>2]|0)|0;Fx(qa,ra,sa,-1,va,ua,wa,xa,Ex(c[la>>2]|0)|0);Hu(c[la>>2]|0)}else{c[xa>>2]=0;c[wa>>2]=0;c[ea>>2]=0;h=c[L>>2]|0;do if(c[ha>>2]|0){c[u>>2]=c[c[h>>2]>>2];c[v>>2]=c[(c[c[L>>2]>>2]|0)+4>>2];while(1){if((c[u>>2]|0)<=0)break;b[(c[v>>2]|0)+16+2>>1]=0;c[u>>2]=(c[u>>2]|0)+-1;c[v>>2]=(c[v>>2]|0)+20}c[u>>2]=c[c[ha>>2]>>2];c[v>>2]=c[(c[ha>>2]|0)+4>>2];while(1){if((c[u>>2]|0)<=0)break;b[(c[v>>2]|0)+16+2>>1]=0;c[u>>2]=(c[u>>2]|0)+-1;c[v>>2]=(c[v>>2]|0)+20}v=(c[L>>2]|0)+24|0;u=c[v+4>>2]|0;if(!(u>>>0>0|(u|0)==0&(c[v>>2]|0)>>>0>100))break;v=(c[L>>2]|0)+24|0;c[v>>2]=100;c[v+4>>2]=0}else{v=h+24|0;c[v>>2]=1;c[v+4>>2]=0}while(0);if(!(pq(c[ha>>2]|0,c[va>>2]|0,-1)|0))c[ea>>2]=1;c[N>>2]=zr(c[ya>>2]|0)|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;c[I>>2]=c[K>>2];c[I+4>>2]=c[ka>>2];c[I+12>>2]=ta;c[ta+16>>2]=(c[(c[K>>2]|0)+72>>2]|0)+1;if(c[ha>>2]|0)h=c[c[ha>>2]>>2]|0;else h=0;c[ta+12>>2]=h;c[ta+24>>2]=c[ha>>2];Gx(I,c[ga>>2]|0);Gx(I,c[va>>2]|0);if(c[ia>>2]|0)Hx(I,c[ia>>2]|0);c[ta+36>>2]=c[ta+32>>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[ta+44>>2]|0))break;v=I+28|0;b[v>>1]=e[v>>1]|8;Gx(I,c[(c[(c[ta+40>>2]|0)+(c[V>>2]<<4)>>2]|0)+20>>2]|0);v=I+28|0;b[v>>1]=e[v>>1]&-9;c[V>>2]=(c[V>>2]|0)+1}c[ta+20>>2]=c[(c[K>>2]|0)+72>>2];if(a[(c[T>>2]|0)+64>>0]|0)break;if(c[ha>>2]|0){G=(c[K>>2]|0)+68|0;I=c[G>>2]|0;c[G>>2]=I+1;c[ta+4>>2]=I;c[ja>>2]=yx(c[K>>2]|0,c[ha>>2]|0,0,0)|0;c[R>>2]=To(c[ya>>2]|0,58,c[ta+4>>2]|0,c[ta+12>>2]|0,0,c[ja>>2]|0,-6)|0;I=(c[K>>2]|0)+72|0;G=(c[I>>2]|0)+1|0;c[I>>2]=G;c[$>>2]=G;G=(c[K>>2]|0)+72|0;I=(c[G>>2]|0)+1|0;c[G>>2]=I;c[X>>2]=I;I=(c[K>>2]|0)+72|0;G=(c[I>>2]|0)+1|0;c[I>>2]=G;c[qa>>2]=G;c[O>>2]=zr(c[ya>>2]|0)|0;G=(c[K>>2]|0)+72|0;I=(c[G>>2]|0)+1|0;c[G>>2]=I;c[sa>>2]=I;c[P>>2]=zr(c[ya>>2]|0)|0;c[W>>2]=(c[(c[K>>2]|0)+72>>2]|0)+1;I=(c[K>>2]|0)+72|0;c[I>>2]=(c[I>>2]|0)+(c[c[ha>>2]>>2]|0);c[Y>>2]=(c[(c[K>>2]|0)+72>>2]|0)+1;I=(c[K>>2]|0)+72|0;c[I>>2]=(c[I>>2]|0)+(c[c[ha>>2]>>2]|0);Ro(c[ya>>2]|0,25,0,c[X>>2]|0)|0;Ro(c[ya>>2]|0,25,0,c[$>>2]|0)|0;Uo(c[ya>>2]|0,28,0,c[W>>2]|0,(c[W>>2]|0)+(c[c[ha>>2]>>2]|0)-1|0)|0;Ro(c[ya>>2]|0,17,c[sa>>2]|0,c[P>>2]|0)|0;c[la>>2]=Gu(c[K>>2]|0,c[ka>>2]|0,c[H>>2]|0,c[ha>>2]|0,0,(256|((c[ea>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[la>>2]|0))break;I=Cx(c[la>>2]|0)|0;if((I|0)==(c[c[ha>>2]>>2]|0))c[U>>2]=0;else{if(d[ua>>0]|0)h=(e[(c[L>>2]|0)+6>>1]&1|0)==0;else h=0;Ix(c[K>>2]|0,h?27145:27154);c[U>>2]=1;c[da>>2]=c[c[ha>>2]>>2];c[ca>>2]=c[da>>2];c[aa>>2]=c[da>>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[ta+32>>2]|0))break;if((c[(c[ta+28>>2]|0)+((c[V>>2]|0)*24|0)+12>>2]|0)>=(c[aa>>2]|0)){c[ca>>2]=(c[ca>>2]|0)+1;c[aa>>2]=(c[aa>>2]|0)+1}c[V>>2]=(c[V>>2]|0)+1}c[pa>>2]=ps(c[K>>2]|0,c[ca>>2]|0)|0;$t(c[K>>2]|0);Ns(c[K>>2]|0,c[ha>>2]|0,c[pa>>2]|0,0)|0;c[aa>>2]=c[da>>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[ta+32>>2]|0))break;c[fa>>2]=(c[ta+28>>2]|0)+((c[V>>2]|0)*24|0);if((c[(c[fa>>2]|0)+12>>2]|0)>=(c[aa>>2]|0)){c[ma>>2]=(c[aa>>2]|0)+(c[pa>>2]|0);c[na>>2]=Is(c[K>>2]|0,c[c[fa>>2]>>2]|0,c[(c[fa>>2]|0)+8>>2]|0,c[(c[fa>>2]|0)+4>>2]|0,c[ma>>2]|0,0)|0;if((c[ma>>2]|0)!=(c[na>>2]|0))Ro(c[ya>>2]|0,34,c[na>>2]|0,c[ma>>2]|0)|0;c[aa>>2]=(c[aa>>2]|0)+1}c[V>>2]=(c[V>>2]|0)+1}c[ra>>2]=Wo(c[K>>2]|0)|0;Uo(c[ya>>2]|0,49,c[pa>>2]|0,c[ca>>2]|0,c[ra>>2]|0)|0;Ro(c[ya>>2]|0,109,c[ta+4>>2]|0,c[ra>>2]|0)|0;Xo(c[K>>2]|0,c[ra>>2]|0);ss(c[K>>2]|0,c[pa>>2]|0,c[ca>>2]|0);Hu(c[la>>2]|0);pa=(c[K>>2]|0)+68|0;ra=c[pa>>2]|0;c[pa>>2]=ra+1;c[xa>>2]=ra;c[ta+8>>2]=ra;c[wa>>2]=Wo(c[K>>2]|0)|0;Uo(c[ya>>2]|0,60,c[xa>>2]|0,c[wa>>2]|0,c[ca>>2]|0)|0;Ro(c[ya>>2]|0,106,c[ta+4>>2]|0,c[N>>2]|0)|0;a[ta+1>>0]=1;$t(c[K>>2]|0)}do if(c[ea>>2]|0){if(e[(c[T>>2]|0)+60>>1]&4)break;if((c[U>>2]|0)==0?(Jx(c[la>>2]|0)|0)==0:0)break;c[va>>2]=0;Ef(c[ya>>2]|0,c[va+20>>2]|0)}while(0);c[S>>2]=yr(c[ya>>2]|0)|0;$t(c[K>>2]|0);if(c[U>>2]|0)Uo(c[ya>>2]|0,100,c[ta+4>>2]|0,c[wa>>2]|0,c[xa>>2]|0)|0;c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(c[c[ha>>2]>>2]|0))break;if(c[U>>2]|0)Uo(c[ya>>2]|0,47,c[xa>>2]|0,c[aa>>2]|0,(c[Y>>2]|0)+(c[aa>>2]|0)|0)|0;else{a[ta>>0]=1;Fs(c[K>>2]|0,c[(c[(c[ha>>2]|0)+4>>2]|0)+((c[aa>>2]|0)*20|0)>>2]|0,(c[Y>>2]|0)+(c[aa>>2]|0)|0)}c[aa>>2]=(c[aa>>2]|0)+1}pa=c[ya>>2]|0;ra=c[W>>2]|0;wa=c[Y>>2]|0;xa=c[c[ha>>2]>>2]|0;To(pa,42,ra,wa,xa,Kr(c[ja>>2]|0)|0,-6)|0;c[ba>>2]=yr(c[ya>>2]|0)|0;Uo(c[ya>>2]|0,43,(c[ba>>2]|0)+1|0,0,(c[ba>>2]|0)+1|0)|0;Kx(c[K>>2]|0,c[Y>>2]|0,c[W>>2]|0,c[c[ha>>2]>>2]|0);Ro(c[ya>>2]|0,17,c[qa>>2]|0,c[O>>2]|0)|0;Ro(c[ya>>2]|0,137,c[X>>2]|0,c[N>>2]|0)|0;Ro(c[ya>>2]|0,17,c[sa>>2]|0,c[P>>2]|0)|0;jp(c[ya>>2]|0,c[ba>>2]|0);Lx(c[K>>2]|0,ta);Ro(c[ya>>2]|0,25,1,c[$>>2]|0)|0;if(c[U>>2]|0)Ro(c[ya>>2]|0,5,c[ta+4>>2]|0,c[S>>2]|0)|0;else{Hu(c[la>>2]|0);Ef(c[ya>>2]|0,c[R>>2]|0)}Ro(c[ya>>2]|0,17,c[qa>>2]|0,c[O>>2]|0)|0;Ro(c[ya>>2]|0,16,0,c[N>>2]|0)|0;c[Q>>2]=yr(c[ya>>2]|0)|0;Ro(c[ya>>2]|0,25,1,c[X>>2]|0)|0;ur(c[ya>>2]|0,18,c[qa>>2]|0)|0;Br(c[ya>>2]|0,c[O>>2]|0);c[O>>2]=yr(c[ya>>2]|0)|0;Ro(c[ya>>2]|0,137,c[$>>2]|0,(c[O>>2]|0)+2|0)|0;ur(c[ya>>2]|0,18,c[qa>>2]|0)|0;Mx(c[K>>2]|0,ta);os(c[K>>2]|0,c[ia>>2]|0,(c[O>>2]|0)+1|0,16);Fx(c[K>>2]|0,c[L>>2]|0,c[c[L>>2]>>2]|0,-1,va,ua,c[M>>2]|0,(c[O>>2]|0)+1|0,c[Q>>2]|0);ur(c[ya>>2]|0,18,c[qa>>2]|0)|0;Br(c[ya>>2]|0,c[P>>2]|0);Nx(c[K>>2]|0,ta);ur(c[ya>>2]|0,18,c[sa>>2]|0)|0}else{c[B>>2]=0;xa=Ox(c[L>>2]|0,ta)|0;c[G>>2]=xa;if(xa){c[y>>2]=vf(c[c[K>>2]>>2]|0,c[(c[G>>2]|0)+68>>2]|0)|0;wa=(c[K>>2]|0)+68|0;xa=c[wa>>2]|0;c[wa>>2]=xa+1;c[x>>2]=xa;c[E>>2]=0;c[A>>2]=0;c[z>>2]=c[(c[G>>2]|0)+32>>2];ap(c[K>>2]|0,c[y>>2]|0);vr(c[K>>2]|0,c[y>>2]|0,c[(c[G>>2]|0)+32>>2]|0,0,c[c[G>>2]>>2]|0);if(d[(c[G>>2]|0)+44>>0]&32)c[A>>2]=Lr(c[G>>2]|0)|0;c[D>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[D>>2]|0))break;do if(!((d[(c[D>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[D>>2]|0)+48>>1]|0)>=(b[(c[G>>2]|0)+42>>1]|0))break;if(c[(c[D>>2]|0)+36>>2]|0)break;if((c[A>>2]|0)!=0?(b[(c[D>>2]|0)+48>>1]|0)>=(b[(c[A>>2]|0)+48>>1]|0):0)break;c[A>>2]=c[D>>2]}while(0);c[D>>2]=c[(c[D>>2]|0)+20>>2]}if(c[A>>2]|0){c[z>>2]=c[(c[A>>2]|0)+44>>2];c[E>>2]=Ir(c[K>>2]|0,c[A>>2]|0)|0}wf(c[ya>>2]|0,54,c[x>>2]|0,c[z>>2]|0,c[y>>2]|0,1)|0;if(c[E>>2]|0)Df(c[ya>>2]|0,-1,c[E>>2]|0,-6);Ro(c[ya>>2]|0,50,c[x>>2]|0,c[(c[ta+40>>2]|0)+8>>2]|0)|0;ur(c[ya>>2]|0,61,c[x>>2]|0)|0;Px(c[K>>2]|0,c[G>>2]|0,c[A>>2]|0)}else{c[F>>2]=0;a[w>>0]=0;if(!(c[(c[L>>2]|0)+44>>2]|0))a[w>>0]=Qx(ta,F)|0;do if(a[w>>0]|0){c[F>>2]=uq(c[T>>2]|0,c[F>>2]|0,0)|0;c[B>>2]=c[F>>2];if(!(c[F>>2]|0))break;if(a[(c[T>>2]|0)+64>>0]|0)break;a[(c[(c[F>>2]|0)+4>>2]|0)+12>>0]=(d[w>>0]|0)!=1?1:0;a[c[c[(c[F>>2]|0)+4>>2]>>2]>>0]=-102}while(0);Nx(c[K>>2]|0,ta);c[la>>2]=Gu(c[K>>2]|0,c[ka>>2]|0,c[H>>2]|0,c[F>>2]|0,0,d[w>>0]|0,0)|0;if(!(c[la>>2]|0)){$m(c[T>>2]|0,c[B>>2]|0);break}Lx(c[K>>2]|0,ta);if((Cx(c[la>>2]|0)|0)>0){xa=c[ya>>2]|0;Ro(xa,16,0,Ex(c[la>>2]|0)|0)|0}Hu(c[la>>2]|0);Mx(c[K>>2]|0,ta)}c[va>>2]=0;os(c[K>>2]|0,c[ia>>2]|0,c[N>>2]|0,16);Fx(c[K>>2]|0,c[L>>2]|0,c[c[L>>2]>>2]|0,-1,0,0,c[M>>2]|0,c[N>>2]|0,c[N>>2]|0);$m(c[T>>2]|0,c[B>>2]|0)}Br(c[ya>>2]|0,c[N>>2]|0)}if((d[ua+1>>0]|0)==3)Ix(c[K>>2]|0,27145);if(c[va>>2]|0){Ix(c[K>>2]|0,(c[va+4>>2]|0)>0?27163:27186);Rx(c[K>>2]|0,c[L>>2]|0,va,c[c[ga>>2]>>2]|0,c[M>>2]|0)}Br(c[ya>>2]|0,c[Z>>2]|0);c[oa>>2]=0}while(0);c[(c[K>>2]|0)+464>>2]=c[_>>2];if((c[oa>>2]|0)==0?(d[c[M>>2]>>0]|0)==9:0)Sx(c[K>>2]|0,c[ka>>2]|0,c[ga>>2]|0);Nd(c[T>>2]|0,c[ta+28>>2]|0);Nd(c[T>>2]|0,c[ta+40>>2]|0);c[J>>2]=c[oa>>2];ya=c[J>>2]|0;i=za;return ya|0}c[J>>2]=1;ya=c[J>>2]|0;i=za;return ya|0}function Ln(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;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,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+24|0;l=x+8|0;m=x+12|0;n=x+20|0;o=x+16|0;p=x+4|0;q=x+28|0;r=x+32|0;s=x+36|0;u=x+40|0;t=x+44|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?27100:27103;sf(j,27109,v)}else w=4;if(((w|0)==4?(c[m>>2]=Tn(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Ho(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+44>>2]=c[r>>2];c[(c[u>>2]|0)+48>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}dn(c[t>>2]|0,c[r>>2]|0);en(c[t>>2]|0,c[s>>2]|0);an(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Mn(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;B=i;i=i+128|0;o=B+72|0;p=B+80|0;q=B+88|0;r=B+76|0;s=B+92|0;t=B+84|0;u=B+112|0;v=B+116|0;w=B+100|0;x=B+104|0;z=B+108|0;A=B;y=B+96|0;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];c[z>>2]=gf(c[y>>2]|0,72,0)|0;if(!(c[z>>2]|0)){c[z>>2]=A;h=c[z>>2]|0;e=h+72|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(e|0))}if(!(c[p>>2]|0)){o=c[o>>2]|0;c[p>>2]=Nn(o,0,Qn(c[y>>2]|0,116,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];if(!(c[q>>2]|0))c[q>>2]=gf(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+32>>2]=c[q>>2];c[(c[z>>2]|0)+36>>2]=c[r>>2];c[(c[z>>2]|0)+40>>2]=c[s>>2];c[(c[z>>2]|0)+44>>2]=c[t>>2];c[(c[z>>2]|0)+48>>2]=c[u>>2];b[(c[z>>2]|0)+6>>1]=b[v>>1]|0;a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+60>>2]=c[w>>2];c[(c[z>>2]|0)+64>>2]=c[x>>2];c[(c[z>>2]|0)+16>>2]=-1;c[(c[z>>2]|0)+16+4>>2]=-1;if(!(a[(c[y>>2]|0)+64>>0]|0)){A=c[z>>2]|0;i=B;return A|0}bn(c[y>>2]|0,c[z>>2]|0);if((c[z>>2]|0)!=(A|0))Nd(c[y>>2]|0,c[z>>2]|0);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Nn(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,l=0,m=0;l=i;i=i+32|0;f=l+8|0;m=l+16|0;g=l+20|0;h=l+24|0;j=l+4|0;e=l;k=l+12|0;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=gf(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(m=qf(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=hm(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){dn(c[j>>2]|0,c[h>>2]|0);$m(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Io(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}if(!(c[(c[k>>2]|0)+4>>2]|0)){i=l;return}Jo(c[(c[k>>2]|0)+4>>2]|0)|0;i=l;return}function Pn(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;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Nd(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Io(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Ed(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=ar(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Rn(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Sn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+37|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Ho(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;i=k;return}function Tn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+8|0;h=o+16|0;j=o+20|0;k=o+24|0;l=o+4|0;m=o;n=o+12|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=gf(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=sx(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+64>>0]|0){cn(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Ho(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Ho(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function Un(a,b,e,f){a=a|0;b=b|0;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;u=i;i=i+80|0;r=u+16|0;q=u;g=u+20|0;h=u+36|0;j=u+32|0;k=u+24|0;o=u+28|0;l=u+40|0;p=u+52|0;m=u+56|0;n=u+60|0;s=u+64|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[26944+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(Ib(c[c[p>>2]>>2]|0,26965+(d[26944+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[26944+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}sf(c[g>>2]|0,27045,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=26999;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;sf(t,27001,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function Vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+532>>2];c[(c[f>>2]|0)+532>>2]=c[g>>2];a[(c[f>>2]|0)+449>>0]=a[h>>0]|0;i=j;return}function Wn(e,f,g){e=e|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,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;U=i;i=i+192|0;D=U+68|0;E=U+56|0;F=U+8|0;T=U+116|0;R=U+168|0;t=U+16|0;J=U+20|0;q=U+24|0;P=U+28|0;n=U+32|0;K=U+36|0;M=U+40|0;o=U+44|0;I=U+112|0;S=U+120|0;s=U+136|0;l=U+172|0;O=U+176|0;r=U+180|0;A=U+72|0;k=U+80|0;G=U+88|0;Q=U+92|0;m=U+96|0;p=U+184|0;x=U+12|0;z=U+186|0;L=U;y=U+104|0;v=U+48|0;H=U+108|0;h=U+52|0;j=U+128|0;N=U+60|0;B=U+64|0;C=U+4|0;w=U+100|0;c[D>>2]=e;c[E>>2]=f;c[F>>2]=g;c[O>>2]=-1;c[G>>2]=0;c[m>>2]=0;b[p>>1]=1;c[L>>2]=0;c[y>>2]=0;c[v>>2]=0;c[H>>2]=0;c[h>>2]=0;c[j>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[I>>2]=c[c[D>>2]>>2];a:do if((((((c[(c[D>>2]|0)+64>>2]|0)==0?(d[(c[I>>2]|0)+64>>0]|0)==0:0)?(c[R>>2]=Ct(c[D>>2]|0,c[E>>2]|0)|0,(c[R>>2]|0)!=0):0)?(c[B>>2]=ku(c[D>>2]|0,c[R>>2]|0,109,0,0)|0,c[N>>2]=(c[(c[R>>2]|0)+12>>2]|0)!=0&1,(Ap(c[D>>2]|0,c[R>>2]|0)|0)==0):0)?(lu(c[D>>2]|0,c[R>>2]|0,(c[B>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=vf(c[I>>2]|0,c[(c[R>>2]|0)+68>>2]|0)|0,c[t>>2]=c[(c[(c[I>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2],c[r>>2]=Mo(c[D>>2]|0,9,c[c[R>>2]>>2]|0,0,c[t>>2]|0)|0,(c[r>>2]|0)!=1):0){g=(c[D>>2]|0)+68|0;t=c[g>>2]|0;c[g>>2]=t+1;c[(c[E>>2]|0)+8+40>>2]=t;c[n>>2]=t;c[o>>2]=0;c[P>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[P>>2]|0))break;t=(c[D>>2]|0)+68|0;c[t>>2]=(c[t>>2]|0)+1;c[P>>2]=c[(c[P>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[N>>2]|0)ox(c[D>>2]|0,S,c[c[R>>2]>>2]|0);c[T>>2]=Po(c[D>>2]|0)|0;if(c[T>>2]|0){if(!(d[(c[D>>2]|0)+18>>0]|0))mu(c[T>>2]|0);$o(c[D>>2]|0,1,c[l>>2]|0);if(c[N>>2]|0){px(c[D>>2]|0,c[R>>2]|0,c[F>>2]|0,c[n>>2]|0);t=c[n>>2]|0;c[M>>2]=t;c[K>>2]=t};c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[s+28>>2]=0;c[s>>2]=c[D>>2];c[s+4>>2]=c[E>>2];if(!(gq(s,c[F>>2]|0)|0)){if(c[(c[I>>2]|0)+24>>2]&128){s=(c[D>>2]|0)+72|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[O>>2]=t;Ro(c[T>>2]|0,25,0,c[O>>2]|0)|0}b:do if((!((c[r>>2]|0)==0&(c[F>>2]|0)==0^1|(c[B>>2]|0)!=0)?(d[(c[R>>2]|0)+44>>0]&16|0)==0:0)?0==(cw(c[D>>2]|0,c[R>>2]|0,0,0)|0):0){vr(c[D>>2]|0,c[l>>2]|0,c[(c[R>>2]|0)+32>>2]|0,1,c[c[R>>2]>>2]|0);if(!(d[(c[R>>2]|0)+44>>0]&32))To(c[T>>2]|0,118,c[(c[R>>2]|0)+32>>2]|0,c[l>>2]|0,c[O>>2]|0,c[c[R>>2]>>2]|0,-2)|0;c[P>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[P>>2]|0))break b;Ro(c[T>>2]|0,118,c[(c[P>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[P>>2]=c[(c[P>>2]|0)+20>>2]}}else u=28;while(0);c:do if((u|0)==28){if(!(d[(c[R>>2]|0)+44>>0]&32)){c[Q>>2]=0;b[p>>1]=1;t=(c[D>>2]|0)+72|0;u=(c[t>>2]|0)+1|0;c[t>>2]=u;c[y>>2]=u;Ro(c[T>>2]|0,28,0,c[y>>2]|0)|0}else{c[Q>>2]=Lr(c[R>>2]|0)|0;b[p>>1]=b[(c[Q>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[D>>2]|0)+72>>2]|0)+1;t=(c[D>>2]|0)+72|0;c[t>>2]=(c[t>>2]|0)+(b[p>>1]|0);t=(c[D>>2]|0)+68|0;u=c[t>>2]|0;c[t>>2]=u+1;c[L>>2]=u;c[j>>2]=Ro(c[T>>2]|0,57,c[L>>2]|0,b[p>>1]|0)|0;xr(c[D>>2]|0,c[Q>>2]|0)}c[q>>2]=Gu(c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,0,0,12,(c[n>>2]|0)+1|0)|0;if(!(c[q>>2]|0))break a;c[A>>2]=qx(c[q>>2]|0,k)|0;if(c[(c[I>>2]|0)+24>>2]&128)Ro(c[T>>2]|0,37,c[O>>2]|0,1)|0;do if(c[Q>>2]|0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(b[p>>1]|0))break;qs(c[T>>2]|0,c[R>>2]|0,c[n>>2]|0,b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[J>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[J>>2]|0)|0);c[J>>2]=(c[J>>2]|0)+1}c[x>>2]=c[m>>2]}else{c[x>>2]=(c[(c[D>>2]|0)+72>>2]|0)+1;c[x>>2]=Is(c[D>>2]|0,c[R>>2]|0,-1,c[n>>2]|0,c[x>>2]|0,0)|0;if((c[x>>2]|0)<=(c[(c[D>>2]|0)+72>>2]|0))break;c[(c[D>>2]|0)+72>>2]=c[x>>2]}while(0);do if(!(c[A>>2]|0))if(c[Q>>2]|0){r=(c[D>>2]|0)+72|0;g=(c[r>>2]|0)+1|0;c[r>>2]=g;c[x>>2]=g;b[z>>1]=0;g=c[T>>2]|0;r=c[m>>2]|0;s=b[p>>1]|0;t=c[x>>2]|0;u=Zt(c[T>>2]|0,c[Q>>2]|0)|0;To(g,49,r,s,t,u,b[p>>1]|0)|0;Ro(c[T>>2]|0,110,c[L>>2]|0,c[x>>2]|0)|0;break}else{b[z>>1]=1;Ro(c[T>>2]|0,128,c[y>>2]|0,c[x>>2]|0)|0;break}else{b[z>>1]=b[p>>1]|0;u=(c[o>>2]|0)+2|0;c[G>>2]=qf(c[I>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){Hu(c[q>>2]|0);break a}BH(c[G>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[G>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[k>>2]|0)>=0)a[(c[G>>2]|0)+((c[k>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[k+4>>2]|0)>=0)a[(c[G>>2]|0)+((c[k+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(c[j>>2]|0)Ef(c[T>>2]|0,c[j>>2]|0);c[h>>2]=Yo(c[T>>2]|0,16)|0}while(0);Hu(c[q>>2]|0);if(c[A>>2]|0){c[v>>2]=zr(c[T>>2]|0)|0;Ro(c[T>>2]|0,16,0,c[v>>2]|0)|0;jp(c[T>>2]|0,c[h>>2]|0)}if(!(c[N>>2]|0))au(c[D>>2]|0,c[R>>2]|0,55,c[n>>2]|0,c[G>>2]|0,K,M)|0;do if(!(c[A>>2]|0)){h=c[T>>2]|0;if(c[Q>>2]|0){c[H>>2]=ur(h,108,c[L>>2]|0)|0;Ro(c[T>>2]|0,101,c[L>>2]|0,c[x>>2]|0)|0;break}else{c[H>>2]=Uo(h,129,c[y>>2]|0,0,c[x>>2]|0)|0;break}}else{if(!(a[(c[G>>2]|0)+((c[K>>2]|0)-(c[n>>2]|0))>>0]|0))break;wf(c[T>>2]|0,68,c[K>>2]|0,c[v>>2]|0,c[x>>2]|0,b[z>>1]|0)|0}while(0);if(d[(c[R>>2]|0)+44>>0]&16){c[C>>2]=Bp(c[I>>2]|0,c[R>>2]|0)|0;vu(c[D>>2]|0,c[R>>2]|0);To(c[T>>2]|0,15,0,1,c[x>>2]|0,c[C>>2]|0,-10)|0;xf(c[T>>2]|0,2);Cp(c[D>>2]|0)}else{c[w>>2]=(d[(c[D>>2]|0)+18>>0]|0)==0&1;ew(c[D>>2]|0,c[R>>2]|0,c[B>>2]|0,c[K>>2]|0,c[M>>2]|0,c[x>>2]|0,b[z>>1]|0,c[w>>2]&255,10,c[A>>2]&255)}do if(!(c[A>>2]|0)){h=c[T>>2]|0;if(c[Q>>2]|0){Ro(h,9,c[L>>2]|0,(c[H>>2]|0)+1|0)|0;jp(c[T>>2]|0,c[H>>2]|0);break}else{Ro(h,16,0,c[H>>2]|0)|0;jp(c[T>>2]|0,c[H>>2]|0);break}}else Br(c[T>>2]|0,c[v>>2]|0);while(0);if(c[N>>2]|0)break;if(d[(c[R>>2]|0)+44>>0]&16)break;if(!(c[Q>>2]|0))ur(c[T>>2]|0,61,c[K>>2]|0)|0;c[J>>2]=0;c[P>>2]=c[(c[R>>2]|0)+8>>2];while(1){if(!(c[P>>2]|0))break c;ur(c[T>>2]|0,61,(c[M>>2]|0)+(c[J>>2]|0)|0)|0;c[J>>2]=(c[J>>2]|0)+1;c[P>>2]=c[(c[P>>2]|0)+20>>2]}}while(0);if((d[(c[D>>2]|0)+18>>0]|0)==0?(c[(c[D>>2]|0)+412>>2]|0)==0:0)zu(c[D>>2]|0);if(((c[(c[I>>2]|0)+24>>2]&128|0)!=0?(a[(c[D>>2]|0)+18>>0]|0)==0:0)?(c[(c[D>>2]|0)+412>>2]|0)==0:0){Ro(c[T>>2]|0,35,c[O>>2]|0,1)|0;Kt(c[T>>2]|0,1);Lt(c[T>>2]|0,0,0,26931,0)|0}}}}while(0);rx(S);cn(c[I>>2]|0,c[E>>2]|0);dn(c[I>>2]|0,c[F>>2]|0);Nd(c[I>>2]|0,c[G>>2]|0);i=U;return}function Xn(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;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+88+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];sf(d,26908,j);i=k;return}function Yn(f,g,h,j,k){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,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;na=i;i=i+256|0;o=na;W=na+92|0;X=na+84|0;Y=na+176|0;Z=na+200|0;J=na+192|0;ca=na+20|0;B=na+24|0;ja=na+28|0;aa=na+32|0;w=na+36|0;ma=na+40|0;ha=na+44|0;ia=na+48|0;u=na+52|0;s=na+8|0;da=na+60|0;fa=na+64|0;ba=na+68|0;K=na+72|0;$=na+76|0;_=na+180|0;x=na+250|0;A=na+251|0;M=na+252|0;y=na+208|0;la=na+104|0;p=na+216|0;l=na+116|0;Q=na+120|0;N=na+124|0;ga=na+128|0;V=na+132|0;G=na+136|0;R=na+140|0;F=na+144|0;C=na+148|0;ea=na+152|0;P=na+156|0;r=na+160|0;ka=na+168|0;U=na+16|0;T=na+56|0;H=na+112|0;E=na+4|0;z=na+12|0;S=na+172|0;m=na+80|0;n=na+184|0;t=na+88|0;v=na+248|0;q=na+96|0;D=na+204|0;O=na+196|0;L=na+188|0;c[W>>2]=f;c[X>>2]=g;c[Y>>2]=h;c[Z>>2]=j;c[J>>2]=k;c[aa>>2]=0;c[K>>2]=0;c[$>>2]=0;c[y>>2]=0;c[ea>>2]=0;c[P>>2]=0;c[ka>>2]=0;c[E>>2]=0;c[z>>2]=0;c[S>>2]=0;c[la>>2]=0;c[la+4>>2]=0;c[ba>>2]=c[c[W>>2]>>2];if(c[(c[W>>2]|0)+64>>2]|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(d[(c[ba>>2]|0)+64>>0]|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[ja>>2]=Ct(c[W>>2]|0,c[X>>2]|0)|0;if(!(c[ja>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[l>>2]=vf(c[c[W>>2]>>2]|0,c[(c[ja>>2]|0)+68>>2]|0)|0;c[R>>2]=ku(c[W>>2]|0,c[ja>>2]|0,110,c[Y>>2]|0,F)|0;c[G>>2]=(c[(c[ja>>2]|0)+12>>2]|0)!=0&1;if(Ap(c[W>>2]|0,c[ja>>2]|0)|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(lu(c[W>>2]|0,c[ja>>2]|0,c[F>>2]|0)|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}g=(c[W>>2]|0)+68|0;j=c[g>>2]|0;c[g>>2]=j+1;c[da>>2]=j;c[s>>2]=j;c[(c[X>>2]|0)+8+40>>2]=j;c[fa>>2]=(c[da>>2]|0)+1;if(!(d[(c[ja>>2]|0)+44>>0]&32))k=0;else k=Lr(c[ja>>2]|0)|0;c[ia>>2]=k;c[u>>2]=0;c[ha>>2]=c[(c[ja>>2]|0)+8>>2];while(1){if(!(c[ha>>2]|0))break;if((c[ia>>2]|0)!=0?(a[(c[ha>>2]|0)+55>>0]&3|0)==2:0){c[da>>2]=c[(c[W>>2]|0)+68>>2];c[(c[X>>2]|0)+8+40>>2]=c[da>>2]}j=(c[W>>2]|0)+68|0;c[j>>2]=(c[j>>2]|0)+1;c[ha>>2]=c[(c[ha>>2]|0)+20>>2];c[u>>2]=(c[u>>2]|0)+1}c[$>>2]=qf(c[ba>>2]|0,((b[(c[ja>>2]|0)+38>>1]|0)+(c[u>>2]|0)<<2)+(c[u>>2]|0)+2|0,0)|0;if(!(c[$>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[K>>2]=(c[$>>2]|0)+(b[(c[ja>>2]|0)+38>>1]<<2);c[_>>2]=(c[K>>2]|0)+(c[u>>2]<<2);BH(c[_>>2]|0,1,(c[u>>2]|0)+1|0)|0;a[(c[_>>2]|0)+((c[u>>2]|0)+1)>>0]=0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break;c[(c[$>>2]|0)+(c[ca>>2]<<2)>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[W>>2];c[p+4>>2]=c[X>>2];a[x>>0]=0;a[A>>0]=0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[c[Y>>2]>>2]|0)){I=41;break}if(gq(p,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)>>2]|0)|0){I=182;break}c[B>>2]=0;while(1){if((c[B>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break;j=($b(c[(c[(c[ja>>2]|0)+4>>2]|0)+((c[B>>2]|0)*24|0)>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[B>>2]|0;if(j){I=23;break}c[B>>2]=k+1}if((I|0)==23){I=0;if((k|0)!=(b[(c[ja>>2]|0)+36>>1]|0)){if((c[ia>>2]|0)!=0?(d[(c[(c[ja>>2]|0)+4>>2]|0)+((c[B>>2]|0)*24|0)+23>>0]&1|0)!=0:0)a[x>>0]=1}else{a[A>>0]=1;c[y>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)>>2]}c[(c[$>>2]|0)+(c[B>>2]<<2)>>2]=c[ca>>2]}if((c[B>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0)){if(c[ia>>2]|0){I=34;break}if(!(Lq(c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)+4>>2]|0)|0)){I=34;break}c[B>>2]=-1;a[A>>0]=1;c[y>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)>>2]}if((c[B>>2]|0)<0)k=21560;else k=c[(c[(c[ja>>2]|0)+4>>2]|0)+((c[B>>2]|0)*24|0)>>2]|0;c[m>>2]=Mo(c[W>>2]|0,23,c[c[ja>>2]>>2]|0,k,c[(c[(c[ba>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[m>>2]|0)==1){I=182;break}if((c[m>>2]|0)==2)c[(c[$>>2]|0)+(c[B>>2]<<2)>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1}if((I|0)==34){ma=c[W>>2]|0;c[o>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*20|0)+4>>2];sf(ma,26868,o);a[(c[W>>2]|0)+17>>0]=1;rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}else if((I|0)==41){a[M>>0]=(d[A>>0]|0)+(d[x>>0]|0);o=(c[X>>2]|0)+8+56|0;c[o>>2]=0;c[o+4>>2]=0;c[N>>2]=cw(c[W>>2]|0,c[ja>>2]|0,c[$>>2]|0,d[M>>0]|0)|0;c[B>>2]=0;c[ha>>2]=c[(c[ja>>2]|0)+8>>2];while(1){if(!(c[ha>>2]|0))break;a:do if((!((d[M>>0]|0)!=0|(c[N>>2]|0)!=0)?(c[(c[ha>>2]|0)+36>>2]|0)==0:0)?(c[ha>>2]|0)!=(c[ia>>2]|0):0){c[n>>2]=0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(e[(c[ha>>2]|0)+50>>1]|0))break a;if((c[(c[$>>2]|0)+(b[(c[(c[ha>>2]|0)+4>>2]|0)+(c[ca>>2]<<1)>>1]<<2)>>2]|0)>=0)break;c[ca>>2]=(c[ca>>2]|0)+1}m=(c[W>>2]|0)+72|0;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[n>>2]=o}else I=46;while(0);if((I|0)==46){I=0;m=(c[W>>2]|0)+72|0;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[n>>2]=o}if(!(c[n>>2]|0))a[(c[_>>2]|0)+((c[B>>2]|0)+1)>>0]=0;c[(c[K>>2]|0)+(c[B>>2]<<2)>>2]=c[n>>2];c[ha>>2]=c[(c[ha>>2]|0)+20>>2];c[B>>2]=(c[B>>2]|0)+1}c[ma>>2]=Po(c[W>>2]|0)|0;if(!(c[ma>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(!(d[(c[W>>2]|0)+18>>0]|0))mu(c[ma>>2]|0);$o(c[W>>2]|0,1,c[l>>2]|0);k=c[W>>2]|0;if(d[(c[ja>>2]|0)+44>>0]&16){nx(k,c[X>>2]|0,c[ja>>2]|0,c[Y>>2]|0,c[y>>2]|0,c[$>>2]|0,c[Z>>2]|0,c[J>>2]|0);c[Z>>2]=0;c[X>>2]=0;rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}o=k+72|0;n=(c[o>>2]|0)+1|0;c[o>>2]=n;c[z>>2]=n;n=(c[W>>2]|0)+72|0;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[T>>2]=o;c[U>>2]=o;if((d[x>>0]|0)!=0|(c[R>>2]|0)!=0|(c[N>>2]|0)!=0){c[E>>2]=(c[(c[W>>2]|0)+72>>2]|0)+1;o=(c[W>>2]|0)+72|0;c[o>>2]=(c[o>>2]|0)+(b[(c[ja>>2]|0)+38>>1]|0)}if((d[M>>0]|0)!=0|(c[R>>2]|0)!=0|(c[N>>2]|0)!=0){n=(c[W>>2]|0)+72|0;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[T>>2]=o}c[H>>2]=(c[(c[W>>2]|0)+72>>2]|0)+1;o=(c[W>>2]|0)+72|0;c[o>>2]=(c[o>>2]|0)+(b[(c[ja>>2]|0)+38>>1]|0);if(c[G>>2]|0)ox(c[W>>2]|0,la,c[c[ja>>2]>>2]|0);if(c[G>>2]|0)px(c[W>>2]|0,c[ja>>2]|0,c[Z>>2]|0,c[da>>2]|0);if(gq(p,c[Z>>2]|0)|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(!(d[(c[ja>>2]|0)+44>>0]&32)){Uo(c[ma>>2]|0,28,0,c[z>>2]|0,c[U>>2]|0)|0;c[w>>2]=Gu(c[W>>2]|0,c[X>>2]|0,c[Z>>2]|0,0,0,4,c[fa>>2]|0)|0;if(!(c[w>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[Q>>2]=qx(c[w>>2]|0,r)|0;Ro(c[ma>>2]|0,103,c[da>>2]|0,c[U>>2]|0)|0;if(!(c[Q>>2]|0))Ro(c[ma>>2]|0,128,c[z>>2]|0,c[U>>2]|0)|0;Hu(c[w>>2]|0)}else{b[v>>1]=b[(c[ia>>2]|0)+50>>1]|0;c[t>>2]=(c[(c[W>>2]|0)+72>>2]|0)+1;p=(c[W>>2]|0)+72|0;c[p>>2]=(c[p>>2]|0)+(b[v>>1]|0);p=(c[W>>2]|0)+72|0;o=(c[p>>2]|0)+1|0;c[p>>2]=o;c[S>>2]=o;o=(c[W>>2]|0)+68|0;p=c[o>>2]|0;c[o>>2]=p+1;c[ea>>2]=p;Ro(c[ma>>2]|0,28,0,c[t>>2]|0)|0;c[q>>2]=Ro(c[ma>>2]|0,57,c[ea>>2]|0,b[v>>1]|0)|0;xr(c[W>>2]|0,c[ia>>2]|0);c[w>>2]=Gu(c[W>>2]|0,c[X>>2]|0,c[Z>>2]|0,0,0,4,c[fa>>2]|0)|0;if(!(c[w>>2]|0)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}c[Q>>2]=qx(c[w>>2]|0,r)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[v>>1]|0))break;qs(c[ma>>2]|0,c[ja>>2]|0,c[da>>2]|0,b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[ca>>2]<<1)>>1]|0,(c[t>>2]|0)+(c[ca>>2]|0)|0);c[ca>>2]=(c[ca>>2]|0)+1}k=c[ma>>2]|0;if(c[Q>>2]|0){Ef(k,c[q>>2]|0);c[P>>2]=b[v>>1];c[S>>2]=c[t>>2]}else{o=c[t>>2]|0;p=b[v>>1]|0;q=c[S>>2]|0;t=Zt(c[ma>>2]|0,c[ia>>2]|0)|0;To(k,49,o,p,q,t,b[v>>1]|0)|0;Ro(c[ma>>2]|0,110,c[ea>>2]|0,c[S>>2]|0)|0}Hu(c[w>>2]|0)}if((c[(c[ba>>2]|0)+24>>2]&128|0)!=0?(c[(c[W>>2]|0)+412>>2]|0)==0:0){v=(c[W>>2]|0)+72|0;w=(c[v>>2]|0)+1|0;c[v>>2]=w;c[ka>>2]=w;Ro(c[ma>>2]|0,25,0,c[ka>>2]|0)|0}c[ga>>2]=zr(c[ma>>2]|0)|0;if(!(c[G>>2]|0)){b:do if((c[J>>2]|0)==5)BH(c[_>>2]|0,1,(c[u>>2]|0)+1|0)|0;else{c[ha>>2]=c[(c[ja>>2]|0)+8>>2];while(1){if(!(c[ha>>2]|0))break b;if((d[(c[ha>>2]|0)+54>>0]|0)==5)break;c[ha>>2]=c[(c[ha>>2]|0)+20>>2]}BH(c[_>>2]|0,1,(c[u>>2]|0)+1|0)|0}while(0);do if(c[Q>>2]|0){if((c[r>>2]|0)>=0)a[(c[_>>2]|0)+((c[r>>2]|0)-(c[s>>2]|0))>>0]=0;if((c[r+4>>2]|0)<0)break;a[(c[_>>2]|0)+((c[r+4>>2]|0)-(c[s>>2]|0))>>0]=0}while(0);au(c[W>>2]|0,c[ja>>2]|0,55,c[s>>2]|0,c[_>>2]|0,0,0)|0}do if(!(c[Q>>2]|0)){k=c[ma>>2]|0;if(c[ia>>2]|0){c[V>>2]=zr(k)|0;Ro(c[ma>>2]|0,108,c[ea>>2]|0,c[ga>>2]|0)|0;c[aa>>2]=Ro(c[ma>>2]|0,101,c[ea>>2]|0,c[S>>2]|0)|0;wf(c[ma>>2]|0,68,c[da>>2]|0,c[V>>2]|0,c[S>>2]|0,0)|0;break}else{c[V>>2]=Uo(k,129,c[z>>2]|0,c[ga>>2]|0,c[U>>2]|0)|0;Uo(c[ma>>2]|0,70,c[da>>2]|0,c[V>>2]|0,c[U>>2]|0)|0;break}}else{if(!((c[G>>2]|0)!=0?1:(d[(c[_>>2]|0)+((c[da>>2]|0)-(c[s>>2]|0))>>0]|0)==0))wf(c[ma>>2]|0,68,c[da>>2]|0,c[ga>>2]|0,c[S>>2]|0,c[P>>2]|0)|0;c[V>>2]=c[ga>>2];Ro(c[ma>>2]|0,76,(c[ia>>2]|0)!=0?c[S>>2]|0:c[U>>2]|0,c[ga>>2]|0)|0}while(0);if(a[A>>0]|0){Fs(c[W>>2]|0,c[y>>2]|0,c[T>>2]|0);ur(c[ma>>2]|0,38,c[T>>2]|0)|0}do if((d[x>>0]|0)!=0|(c[N>>2]|0)!=0|(c[R>>2]|0)!=0){if(c[N>>2]|0)k=hw(c[W>>2]|0,c[ja>>2]|0)|0;else k=0;c[D>>2]=k;z=gw(c[W>>2]|0,c[R>>2]|0,c[Y>>2]|0,0,3,c[ja>>2]|0,c[J>>2]|0)|0;c[D>>2]=c[D>>2]|z;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break;do if((c[D>>2]|0)==-1)I=117;else{if((c[ca>>2]|0)<32?(c[D>>2]&1<>2]|0)!=0:0){I=117;break}if(d[(c[(c[ja>>2]|0)+4>>2]|0)+((c[ca>>2]|0)*24|0)+23>>0]&1){I=117;break}Ro(c[ma>>2]|0,28,0,(c[E>>2]|0)+(c[ca>>2]|0)|0)|0}while(0);if((I|0)==117){I=0;qs(c[ma>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[ca>>2]|0,(c[E>>2]|0)+(c[ca>>2]|0)|0)}c[ca>>2]=(c[ca>>2]|0)+1}if(!((d[A>>0]|0)==0&(c[ia>>2]|0)==0))break;Ro(c[ma>>2]|0,33,c[U>>2]|0,c[T>>2]|0)|0}while(0);c[C>>2]=gw(c[W>>2]|0,c[R>>2]|0,c[Y>>2]|0,1,1,c[ja>>2]|0,c[J>>2]|0)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break;c:do if((c[ca>>2]|0)==(b[(c[ja>>2]|0)+36>>1]|0))Ro(c[ma>>2]|0,28,0,(c[H>>2]|0)+(c[ca>>2]|0)|0)|0;else{c[B>>2]=c[(c[$>>2]|0)+(c[ca>>2]<<2)>>2];if((c[B>>2]|0)>=0){Fs(c[W>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0,(c[H>>2]|0)+(c[ca>>2]|0)|0);break}do if(!((c[ca>>2]|0)>31?1:0==(c[F>>2]&1|0))){if(c[C>>2]&1<>2])break;Ro(c[ma>>2]|0,28,0,(c[H>>2]|0)+(c[ca>>2]|0)|0)|0;break c}while(0);qs(c[ma>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[ca>>2]|0,(c[H>>2]|0)+(c[ca>>2]|0)|0)}while(0);c[ca>>2]=(c[ca>>2]|0)+1}d:do if(c[F>>2]&1){ru(c[ma>>2]|0,c[ja>>2]|0,c[H>>2]|0);su(c[W>>2]|0,c[R>>2]|0,110,c[Y>>2]|0,1,c[ja>>2]|0,c[U>>2]|0,c[J>>2]|0,c[V>>2]|0);h=c[ma>>2]|0;f=c[da>>2]|0;k=c[V>>2]|0;if(c[ia>>2]|0)wf(h,68,f,k,c[S>>2]|0,c[P>>2]|0)|0;else Uo(h,70,f,k,c[U>>2]|0)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(b[(c[ja>>2]|0)+38>>1]|0))break d;do if((c[(c[$>>2]|0)+(c[ca>>2]<<2)>>2]|0)<0){if((c[ca>>2]|0)==(b[(c[ja>>2]|0)+36>>1]|0))break;qs(c[ma>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[ca>>2]|0,(c[H>>2]|0)+(c[ca>>2]|0)|0)}while(0);c[ca>>2]=(c[ca>>2]|0)+1}}while(0);do if(!(c[G>>2]|0)){c[O>>2]=0;c[L>>2]=0;wu(c[W>>2]|0,c[ja>>2]|0,c[K>>2]|0,c[da>>2]|0,c[fa>>2]|0,c[T>>2]|0,c[U>>2]|0,a[M>>0]|0,c[J>>2]&255,c[V>>2]|0,L);if(c[N>>2]|0)xu(c[W>>2]|0,c[ja>>2]|0,c[U>>2]|0,0,c[$>>2]|0,d[M>>0]|0);if(!((c[L>>2]|0)==0?(d[M>>0]|0)==0:0))I=148;do if((I|0)==148){h=c[ma>>2]|0;f=c[da>>2]|0;if(c[ia>>2]|0){c[O>>2]=wf(h,68,f,0,c[S>>2]|0,c[P>>2]|0)|0;break}else{c[O>>2]=Uo(h,70,f,0,c[U>>2]|0)|0;break}}while(0);fw(c[W>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[fa>>2]|0,c[K>>2]|0);if(!((c[N>>2]|0)==0?!((d[M>>0]|0)!=0|(c[ia>>2]|0)!=0):0))Ro(c[ma>>2]|0,95,c[da>>2]|0,0)|0;if(!((c[L>>2]|0)==0?(d[M>>0]|0)==0:0))jp(c[ma>>2]|0,c[O>>2]|0);if(c[N>>2]|0)xu(c[W>>2]|0,c[ja>>2]|0,0,c[T>>2]|0,c[$>>2]|0,d[M>>0]|0);yu(c[W>>2]|0,c[ja>>2]|0,c[da>>2]|0,c[fa>>2]|0,c[T>>2]|0,c[K>>2]|0,1,0,0);if(!(c[N>>2]|0))break;iw(c[W>>2]|0,c[ja>>2]|0,c[Y>>2]|0,c[U>>2]|0,c[$>>2]|0,d[M>>0]|0)}while(0);do if(c[(c[ba>>2]|0)+24>>2]&128){if(c[(c[W>>2]|0)+412>>2]|0)break;Ro(c[ma>>2]|0,37,c[ka>>2]|0,1)|0}while(0);su(c[W>>2]|0,c[R>>2]|0,110,c[Y>>2]|0,2,c[ja>>2]|0,c[U>>2]|0,c[J>>2]|0,c[V>>2]|0);do if(!(c[Q>>2]|0)){h=c[ma>>2]|0;f=c[V>>2]|0;if(c[ia>>2]|0){Br(h,f);Ro(c[ma>>2]|0,9,c[ea>>2]|0,c[aa>>2]|0)|0;break}else{Ro(h,16,0,f)|0;break}}while(0);Br(c[ma>>2]|0,c[ga>>2]|0);c[ca>>2]=0;c[ha>>2]=c[(c[ja>>2]|0)+8>>2];while(1){if(!(c[ha>>2]|0))break;if(a[(c[_>>2]|0)+((c[ca>>2]|0)+1)>>0]|0)Ro(c[ma>>2]|0,61,(c[fa>>2]|0)+(c[ca>>2]|0)|0,0)|0;c[ha>>2]=c[(c[ha>>2]|0)+20>>2];c[ca>>2]=(c[ca>>2]|0)+1}if((c[da>>2]|0)<(c[fa>>2]|0))Ro(c[ma>>2]|0,61,c[da>>2]|0,0)|0;do if(!(d[(c[W>>2]|0)+18>>0]|0)){if(c[(c[W>>2]|0)+412>>2]|0)break;zu(c[W>>2]|0)}while(0);if(!(c[(c[ba>>2]|0)+24>>2]&128)){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(c[(c[W>>2]|0)+412>>2]|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}if(a[(c[W>>2]|0)+18>>0]|0){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}Ro(c[ma>>2]|0,35,c[ka>>2]|0,1)|0;Kt(c[ma>>2]|0,1);Lt(c[ma>>2]|0,0,0,26887,0)|0;rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}else if((I|0)==182){rx(la);ma=c[ba>>2]|0;la=c[$>>2]|0;Nd(ma,la);la=c[ba>>2]|0;ma=c[X>>2]|0;cn(la,ma);ma=c[ba>>2]|0;la=c[Y>>2]|0;$m(ma,la);la=c[ba>>2]|0;ma=c[Z>>2]|0;dn(la,ma);i=na;return}} +function Yy(f){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;y=i;i=i+80|0;w=y+8|0;q=y;r=y+36|0;s=y+20|0;n=y+16|0;o=y+12|0;g=y+24|0;p=y+32|0;h=y+28|0;j=y+40|0;v=y+44|0;t=y+48|0;x=y+52|0;u=y+56|0;k=y+60|0;m=y+64|0;l=y+68|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;gu(c[t>>2]|0,8);c[(c[s>>2]|0)+20>>2]=0;if((c[(c[s>>2]|0)+80>>2]|0)==7){a[(c[h>>2]|0)+64>>0]=1;c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+32>>2];a:do if((b[(c[s>>2]|0)+88>>1]&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+8>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+76|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if((b[(c[s>>2]|0)+88>>1]&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=155);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+240>>2]|0){c[(c[s>>2]|0)+80>>2]=9;c[v>>2]=1;x=(c[s>>2]|0)+44|0;z=c[h>>2]|0;c[q>>2]=af(c[(c[s>>2]|0)+80>>2]|0)|0;Ym(x,z,14418,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+32>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+32>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if((b[(c[s>>2]|0)+88>>1]&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=hD(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Ed(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(fm(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(vp(c[t>>2]|0,32)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=iD(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,32)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0))Xe(g,c[x>>2]|0,-1,1,0)|0;else{z=Ed(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if((b[(c[s>>2]|0)+88>>1]&3|0)==1){if(!(vp(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Yb(3,z,34046,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+84>>1]=8-((b[(c[s>>2]|0)+88>>1]&3)-1<<2);c[(c[s>>2]|0)+20>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0}function Zy(f){f=f|0;var g=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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=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,ya=0,za=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,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,mb=0,nb=0,pb=0,sb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Fd=0,Gd=0,Hd=0,Jd=0,Kd=0,Ld=0,Md=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,je=0,ke=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Qe=0,Re=0,Ue=0,Ve=0,We=0,_e=0,$e=0,bf=0,cf=0,df=0,ff=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,rf=0,sf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0.0,cg=0;_f=i;i=i+1872|0;rf=_f+304|0;of=_f+72|0;nf=_f+136|0;mf=_f+64|0;lf=_f+80|0;kf=_f+408|0;jf=_f+320|0;hf=_f+200|0;ff=_f+24|0;df=_f+344|0;cf=_f+144|0;bf=_f+176|0;$e=_f+360|0;_e=_f+56|0;We=_f+336|0;Ve=_f+40|0;Ue=_f+168|0;Xf=_f+368|0;Wf=_f+256|0;Vf=_f+352|0;Re=_f+264|0;Of=_f+592|0;Tf=_f+580|0;n=_f+560|0;Sf=_f+544|0;Uf=_f+528|0;Pf=_f+516|0;se=_f+1860|0;L=_f+1859|0;ja=_f+452|0;Rf=_f+448|0;hb=_f+1508|0;l=_f+1348|0;Wc=_f+1140|0;Xc=_f+1060|0;Yc=_f+928|0;rd=_f+884|0;o=_f+872|0;Qf=_f+312|0;mc=_f+836|0;Td=_f+820|0;Zf=_f+808|0;Yf=_f+632|0;Oc=_f+588|0;E=_f+584|0;pb=_f+1656|0;Cd=_f+572|0;La=_f+556|0;Ab=_f+548|0;Eb=_f+540|0;Ma=_f+536|0;dd=_f+524|0;V=_f+520|0;Ua=_f+8|0;z=_f+1662|0;Q=_f+1652|0;He=_f+1650|0;Ie=_f+1658|0;ea=_f+328|0;ga=_f+288|0;$d=_f+192|0;ae=_f+32|0;ba=_f+512|0;Ib=_f+1464|0;G=_f+1396|0;w=_f+1316|0;Na=_f+1244|0;fa=_f+416|0;Je=_f+424|0;ha=_f+280|0;yb=_f+1664|0;be=_f+924|0;s=_f+1666|0;R=_f+1648|0;S=_f+1654|0;Pa=_f+868|0;ca=_f+860|0;Db=_f+856|0;Hb=_f+848|0;$c=_f+832|0;Aa=_f+824|0;nc=_f+816|0;A=_f+812|0;Le=_f+804|0;Me=_f+796|0;B=_f+628|0;Sd=_f+384|0;Fb=_f+636|0;Ob=_f+640|0;oc=_f+644|0;m=_f+648|0;Ja=_f+652|0;X=_f+656|0;Lc=_f+660|0;ze=_f+216|0;Af=_f+552|0;Ef=_f+672|0;Cf=_f+676|0;xb=_f+680|0;Ce=_f+684|0;y=_f+688|0;De=_f+692|0;U=_f+1660|0;xd=_f+700|0;yf=_f+704|0;D=_f+1667|0;Kf=_f+712|0;vd=_f+480|0;Ya=_f+272|0;cb=_f+724|0;Va=_f+440|0;kb=_f+732|0;jb=_f+736|0;Be=_f+740|0;Hc=_f+744|0;cd=_f+492|0;$a=_f+752|0;zf=_f+496|0;P=_f+760|0;aa=_f+500|0;Ha=_f+768|0;Ka=_f+504|0;Za=_f+208|0;pc=_f+508|0;Cb=_f+784|0;Jf=_f+788|0;gb=_f+792|0;qd=_f+1440|0;zd=_f+1432|0;Ad=_f+1368|0;ya=_f+1356|0;Ba=_f+1300|0;Fa=_f+1284|0;Ea=_f+1212|0;I=_f+1196|0;xa=_f+1132|0;Ge=_f+1076|0;Kb=_f+1072|0;ta=_f+1064|0;pa=_f+1052|0;ua=_f+1044|0;la=_f+1028|0;ka=_f+1012|0;Ic=_f+908|0;xc=_f+896|0;ab=_f+1588|0;ad=_f+888|0;Gb=_f+1604|0;ma=_f+1612|0;uf=_f+1620|0;Qd=_f+1628|0;Cc=_f+1636|0;Jc=_f+1640|0;Dc=_f+900|0;bd=_f+904|0;Ud=_f+852|0;Ec=_f+912|0;Pb=_f+916|0;Fc=_f+920|0;ee=_f+828|0;sb=_f+1644|0;Qb=_f+932|0;Xd=_f+936|0;bb=_f+956|0;qa=_f;Rb=_f+964|0;t=_f+968|0;Ca=_f+800|0;Sb=_f+976|0;fe=_f+980|0;Tc=_f+984|0;Uc=_f+988|0;Yd=_f+992|0;r=_f+1668|0;Tb=_f+1016|0;qc=_f+1020|0;ge=_f+1024|0;ra=_f+184|0;Ke=_f+48|0;Ub=_f+1036|0;je=_f+1040|0;F=_f+1584|0;fd=_f+1596|0;Pc=_f+1600|0;Gc=_f+1056|0;_c=_f+1608|0;sa=_f+16|0;Vb=_f+1624|0;mb=_f+1632|0;Ae=_f+664|0;Bf=_f+1080|0;Mf=_f+668|0;zb=_f+1096|0;Wb=_f+1100|0;Xb=_f+1104|0;ke=_f+1108|0;eb=_f+1112|0;Yb=_f+1116|0;ac=_f+1120|0;rc=_f+1124|0;Oa=_f+1128|0;Qa=_f+296|0;bc=_f+1136|0;Ne=_f+392|0;Fd=_f+1144|0;jd=_f+1148|0;cc=_f+1152|0;dc=_f+1156|0;sc=_f+1160|0;ne=_f+1164|0;ec=_f+1168|0;tc=_f+1172|0;oe=_f+1176|0;fc=_f+1180|0;pe=_f+1184|0;gc=_f+716|0;uc=_f+1192|0;db=_f+720|0;Ff=_f+1200|0;hc=_f+1204|0;vc=_f+1208|0;qe=_f+728|0;Zd=_f+1216|0;wc=_f+1236|0;jc=_f+1240|0;we=_f+400|0;kc=_f+1248|0;re=_f+1252|0;_d=_f+1256|0;va=_f+1276|0;ia=_f+1280|0;Dd=_f+748|0;na=_f+1288|0;Xa=_f+1292|0;lc=_f+1296|0;Vd=_f+756|0;T=_f+1304|0;Kc=_f+1308|0;oa=_f+1312|0;Gf=_f+764|0;Lf=_f+1320|0;Da=_f+1328|0;ib=_f+1344|0;q=_f+772|0;Ia=_f+1352|0;_a=_f+776|0;vf=_f+1360|0;Wd=_f+780|0;Qe=_f+432|0;za=_f+1372|0;O=_f+1376|0;fb=_f+1380|0;Wa=_f+1384|0;yd=_f+1388|0;gd=_f+1392|0;Nc=_f+1592|0;Qc=_f+1436|0;td=_f+1428|0;Ee=_f+1424|0;Rc=_f+1364|0;Vc=_f+1616|0;Sc=_f+1444|0;Ra=_f+1448|0;da=_f+1452|0;hd=_f+1456|0;wd=_f+1460|0;Fe=_f+96|0;H=_f+1468|0;x=_f+1496|0;id=_f+1500|0;W=_f+1504|0;p=_f+1084|0;ed=_f+1512|0;Lb=_f+1516|0;sd=_f+1520|0;J=_f+1068|0;K=_f+1528|0;Df=_f+1532|0;Mb=_f+1536|0;Ga=_f+1665|0;Bb=_f+1544|0;wf=_f+1548|0;Bd=_f+1552|0;yc=_f+1556|0;Od=_f+1560|0;Gd=_f+1564|0;kd=_f+1568|0;Sa=_f+1572|0;wa=_f+1576|0;ld=_f+1524|0;ud=_f+468|0;Jb=_f+1188|0;Pd=_f+840|0;Hd=_f+960|0;zc=_f+564|0;ce=_f+456|0;Y=_f+568|0;u=_f+532|0;Jd=_f+1580|0;md=_f+472|0;Mc=_f+844|0;ye=_f+596|0;Ac=_f+1540|0;Kd=_f+972|0;nd=_f+864|0;de=_f+1048|0;Bc=_f+624|0;Ld=_f+708|0;pd=_f+696|0;Md=_f+876|0;od=_f+880|0;Ta=_f+892|0;_=_f+1032|0;xe=_f+160|0;v=_f+488|0;Rd=_f+484|0;sf=_f+1663|0;nb=_f+476|0;Nb=_f+576|0;Nf=_f+460|0;xf=_f+464|0;c[Of>>2]=f;c[Tf>>2]=0;c[n>>2]=c[(c[Of>>2]|0)+4>>2];c[Uf>>2]=0;c[Pf>>2]=c[c[Of>>2]>>2];a[se>>0]=0;a[L>>0]=a[(c[(c[(c[Pf>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[ja>>2]=0;c[Rf>>2]=0;c[hb>>2]=0;c[l>>2]=c[(c[Of>>2]|0)+8>>2];c[Wc>>2]=0;c[Xc>>2]=0;c[Yc>>2]=0;c[rd>>2]=0;c[o>>2]=0;g=(c[Pf>>2]|0)+32|0;f=c[g+4>>2]|0;j=Qf;c[j>>2]=c[g>>2];c[j+4>>2]=f;a:do if((c[(c[Of>>2]|0)+80>>2]|0)==7)k=867;else{c[(c[Of>>2]|0)+80>>2]=0;j=(c[Of>>2]|0)+136|0;c[j>>2]=0;c[j+4>>2]=0;c[(c[Of>>2]|0)+20>>2]=0;c[(c[Pf>>2]|0)+444+8>>2]=0;b:do if(!(c[(c[Pf>>2]|0)+240>>2]|0)){do if(c[(c[Pf>>2]|0)+292>>2]|0){c[hb>>2]=c[(c[Of>>2]|0)+108+16>>2];f=c[(c[Pf>>2]|0)+300>>2]|0;if(!(c[hb>>2]|0)){c[hb>>2]=f;break}else{c[hb>>2]=((c[hb>>2]|0)>>>0)%(f>>>0)|0;break}}while(0);c[Tf>>2]=c[(c[Of>>2]|0)+76>>2];c:while(1){if(c[Uf>>2]|0)break a;if(a[(c[Pf>>2]|0)+64>>0]|0){k=867;break a}c[Rf>>2]=(c[Rf>>2]|0)+1;c[Sf>>2]=(c[n>>2]|0)+((c[Tf>>2]|0)*20|0);if(d[(c[Sf>>2]|0)+2>>0]&2){c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);if(e[(c[rd>>2]|0)+8>>1]&9312)Ze(c[rd>>2]|0);b[(c[rd>>2]|0)+8>>1]=4}d:do switch(d[c[Sf>>2]>>0]|0){case 16:{c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;k=16;break}case 17:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);b[(c[Wc>>2]|0)+8>>1]=4;f=c[Tf>>2]|0;j=c[Wc>>2]|0;c[j>>2]=f;c[j+4>>2]=((f|0)<0)<<31>>31;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 18:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Tf>>2]=c[c[Wc>>2]>>2];b[(c[Wc>>2]|0)+8>>1]=128;break}case 20:{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);f=(c[(c[Sf>>2]|0)+12>>2]|0)-1|0;j=c[rd>>2]|0;c[j>>2]=f;c[j+4>>2]=((f|0)<0)<<31>>31;b[(c[rd>>2]|0)+8>>1]=4;if(c[(c[Sf>>2]|0)+8>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 21:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[mc>>2]=(c[n>>2]|0)+((c[c[Wc>>2]>>2]|0)*20|0);c[Tf>>2]=(c[(c[mc>>2]|0)+8>>2]|0)-1;b[(c[Wc>>2]|0)+8>>1]=128;break}case 22:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);b[(c[Wc>>2]|0)+8>>1]=4;c[Td>>2]=c[c[Wc>>2]>>2];f=c[Tf>>2]|0;j=c[Wc>>2]|0;c[j>>2]=f;c[j+4>>2]=((f|0)<0)<<31>>31;c[Tf>>2]=c[Td>>2];break}case 23:{c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Yc>>2]|0)+8>>1]&1)k=28;break}case 24:{k=28;break}case 25:{f=c[(c[Sf>>2]|0)+4>>2]|0;j=c[rd>>2]|0;c[j>>2]=f;c[j+4>>2]=((f|0)<0)<<31>>31;break}case 26:{g=c[(c[Sf>>2]|0)+16>>2]|0;f=c[g+4>>2]|0;j=c[rd>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;break}case 133:{b[(c[rd>>2]|0)+8>>1]=8;h[c[rd>>2]>>3]=+h[c[(c[Sf>>2]|0)+16>>2]>>3];break}case 97:{a[c[Sf>>2]>>0]=27;k=Ed(c[(c[Sf>>2]|0)+16>>2]|0)|0;c[(c[Sf>>2]|0)+4>>2]=k;if((d[L>>0]|0)!=1){c[Uf>>2]=Xe(c[rd>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,-1,1,0)|0;if((c[Uf>>2]|0)==18){k=866;break c}if(am(c[rd>>2]|0,d[L>>0]|0)|0){k=867;break a}c[(c[rd>>2]|0)+24>>2]=0;k=(c[rd>>2]|0)+8|0;b[k>>1]=e[k>>1]|2048;if((a[(c[Sf>>2]|0)+1>>0]|0)==-1)Nd(c[Pf>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0);a[(c[Sf>>2]|0)+1>>0]=-1;c[(c[Sf>>2]|0)+16>>2]=c[(c[rd>>2]|0)+16>>2];c[(c[Sf>>2]|0)+4>>2]=c[(c[rd>>2]|0)+12>>2]}if((c[(c[Sf>>2]|0)+4>>2]|0)>(c[(c[Pf>>2]|0)+88>>2]|0)){k=866;break c}else k=57;break}case 27:{k=57;break}case 28:{c[E>>2]=(c[(c[Sf>>2]|0)+12>>2]|0)-(c[(c[Sf>>2]|0)+8>>2]|0);j=((c[(c[Sf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[pb>>1]=j;b[(c[rd>>2]|0)+8>>1]=j;while(1){if((c[E>>2]|0)<=0)break d;c[rd>>2]=(c[rd>>2]|0)+40;Ze(c[rd>>2]|0);b[(c[rd>>2]|0)+8>>1]=b[pb>>1]|0;c[E>>2]=(c[E>>2]|0)+-1}}case 29:{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);b[(c[rd>>2]|0)+8>>1]=(e[(c[rd>>2]|0)+8>>1]|1)&-129;break}case 30:{Xe(c[rd>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,0,0)|0;a[(c[rd>>2]|0)+10>>0]=a[L>>0]|0;break}case 31:{c[Cd>>2]=(c[(c[Of>>2]|0)+60>>2]|0)+(((c[(c[Sf>>2]|0)+4>>2]|0)-1|0)*40|0);if(fz(c[Cd>>2]|0)|0){k=866;break c}ax(c[rd>>2]|0,c[Cd>>2]|0,2048);break}case 32:{c[La>>2]=c[(c[Sf>>2]|0)+12>>2];c[Ab>>2]=c[(c[Sf>>2]|0)+4>>2];c[Eb>>2]=c[(c[Sf>>2]|0)+8>>2];c[Wc>>2]=(c[l>>2]|0)+((c[Ab>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[Eb>>2]|0)*40|0);do{Ty(c[rd>>2]|0,c[Wc>>2]|0);c[Wc>>2]=(c[Wc>>2]|0)+40;c[rd>>2]=(c[rd>>2]|0)+40;j=(c[La>>2]|0)+-1|0;c[La>>2]=j}while((j|0)!=0);break}case 33:{c[Ma>>2]=c[(c[Sf>>2]|0)+12>>2];c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);while(1){ax(c[rd>>2]|0,c[Wc>>2]|0,4096);if((e[(c[rd>>2]|0)+8>>1]&4096|0)!=0?(cm(c[rd>>2]|0)|0)!=0:0){k=867;break a}j=c[Ma>>2]|0;c[Ma>>2]=j+-1;if(!j)break d;c[rd>>2]=(c[rd>>2]|0)+40;c[Wc>>2]=(c[Wc>>2]|0)+40}}case 34:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);ax(c[rd>>2]|0,c[Wc>>2]|0,4096);break}case 35:{if(((c[(c[Pf>>2]|0)+292>>2]|0)!=0?(c[Rf>>2]|0)>>>0>=(c[hb>>2]|0)>>>0:0)?(qb[c[(c[Pf>>2]|0)+292>>2]&31](c[(c[Pf>>2]|0)+296>>2]|0)|0)!=0:0){k=76;break c}j=gz(c[Of>>2]|0,0)|0;c[Uf>>2]=j;if(0==(j|0)?(c[Uf>>2]=hz(c[Of>>2]|0,1)|0,(c[Uf>>2]|0)==0):0){k=79;break c}break}case 94:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]|e[(c[Xc>>2]|0)+8>>1])&1){Ze(c[rd>>2]|0);break d}if((e[(c[Wc>>2]|0)+8>>1]&16384|0)!=0?(Pe(c[Wc>>2]|0)|0)!=0:0){k=867;break a}if((e[(c[Xc>>2]|0)+8>>1]&16384|0)!=0?(Pe(c[Xc>>2]|0)|0)!=0:0){k=867;break a}if((e[(c[Wc>>2]|0)+8>>1]&18|0)==0?(up(c[Wc>>2]|0,a[L>>0]|0,0)|0)!=0:0){k=867;break a}if((e[(c[Xc>>2]|0)+8>>1]&18|0)==0?(up(c[Xc>>2]|0,a[L>>0]|0,0)|0)!=0:0){k=867;break a}$f=(c[(c[Wc>>2]|0)+12>>2]|0)+(c[(c[Xc>>2]|0)+12>>2]|0)|0;f=Ua;c[f>>2]=$f;c[f+4>>2]=(($f|0)<0)<<31>>31;f=Ua;$f=c[f+4>>2]|0;j=c[(c[Pf>>2]|0)+88>>2]|0;g=((j|0)<0)<<31>>31;if(($f|0)>(g|0)|(($f|0)==(g|0)?(c[f>>2]|0)>>>0>j>>>0:0)){k=866;break c}if(fm(c[rd>>2]|0,(c[Ua>>2]|0)+2|0,(c[rd>>2]|0)==(c[Xc>>2]|0)&1)|0){k=867;break a}b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|2;if((c[rd>>2]|0)!=(c[Xc>>2]|0))EH(c[(c[rd>>2]|0)+16>>2]|0,c[(c[Xc>>2]|0)+16>>2]|0,c[(c[Xc>>2]|0)+12>>2]|0)|0;EH((c[(c[rd>>2]|0)+16>>2]|0)+(c[(c[Xc>>2]|0)+12>>2]|0)|0,c[(c[Wc>>2]|0)+16>>2]|0,c[(c[Wc>>2]|0)+12>>2]|0)|0;a[(c[(c[rd>>2]|0)+16>>2]|0)+(c[Ua>>2]|0)>>0]=0;$f=Ua;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,1,0)|0;a[(c[(c[rd>>2]|0)+16>>2]|0)+$f>>0]=0;$f=(c[rd>>2]|0)+8|0;b[$f>>1]=e[$f>>1]|512;c[(c[rd>>2]|0)+12>>2]=c[Ua>>2];a[(c[rd>>2]|0)+10>>0]=a[L>>0]|0;break}case 93:case 92:case 91:case 90:case 89:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);b[He>>1]=jz(c[Wc>>2]|0)|0;c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);b[Ie>>1]=jz(c[Xc>>2]|0)|0;c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);b[Q>>1]=e[(c[Wc>>2]|0)+8>>1]|e[(c[Xc>>2]|0)+8>>1];e:do if(!(e[Q>>1]&1)){f:do if(e[He>>1]&e[Ie>>1]&4){$f=c[Wc>>2]|0;j=c[$f+4>>2]|0;f=ea;c[f>>2]=c[$f>>2];c[f+4>>2]=j;f=c[Xc>>2]|0;j=c[f+4>>2]|0;$f=ga;c[$f>>2]=c[f>>2];c[$f+4>>2]=j;a[z>>0]=1;switch(d[c[Sf>>2]>>0]|0){case 89:{$f=ea;if(kz(ga,c[$f>>2]|0,c[$f+4>>2]|0)|0)break f;break}case 90:{$f=ea;if(lz(ga,c[$f>>2]|0,c[$f+4>>2]|0)|0)break f;break}case 91:{$f=ea;if(mz(ga,c[$f>>2]|0,c[$f+4>>2]|0)|0)break f;break}case 92:{$f=ea;if((c[$f>>2]|0)==0&(c[$f+4>>2]|0)==0)break e;j=ea;$f=ga;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[$f>>2]|0)==0?(c[$f+4>>2]|0)==-2147483648:0))break f;j=ea;f=ga;$f=ga;c[$f>>2]=KH(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[$f+4>>2]=C;break}default:{$f=ea;if((c[$f>>2]|0)==0&(c[$f+4>>2]|0)==0)break e;$f=ea;if((c[$f>>2]|0)==-1?(c[$f+4>>2]|0)==-1:0){$f=ea;c[$f>>2]=1;c[$f+4>>2]=0}j=ea;f=ga;$f=ga;c[$f>>2]=LH(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[$f+4>>2]=C}}f=ga;j=c[f+4>>2]|0;$f=c[rd>>2]|0;c[$f>>2]=c[f>>2];c[$f+4>>2]=j;b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|4;break d}else a[z>>0]=0;while(0);h[$d>>3]=+Se(c[Wc>>2]|0);h[ae>>3]=+Se(c[Xc>>2]|0);switch(d[c[Sf>>2]>>0]|0){case 89:{h[ae>>3]=+h[ae>>3]+ +h[$d>>3];break}case 90:{h[ae>>3]=+h[ae>>3]-+h[$d>>3];break}case 91:{h[ae>>3]=+h[ae>>3]*+h[$d>>3];break}case 92:{if(+h[$d>>3]==0.0)break e;h[ae>>3]=+h[ae>>3]/+h[$d>>3];break}default:{ag=+h[$d>>3];$f=+N(ag)>=1.0?(ag>0.0?~~+$(+M(ag/4294967296.0),4294967295.0)>>>0:~~+Z((ag-+(~~ag>>>0))/4294967296.0)>>>0):0;j=ea;c[j>>2]=~~ag>>>0;c[j+4>>2]=$f;ag=+h[ae>>3];j=+N(ag)>=1.0?(ag>0.0?~~+$(+M(ag/4294967296.0),4294967295.0)>>>0:~~+Z((ag-+(~~ag>>>0))/4294967296.0)>>>0):0;$f=ga;c[$f>>2]=~~ag>>>0;c[$f+4>>2]=j;$f=ea;if((c[$f>>2]|0)==0&(c[$f+4>>2]|0)==0)break e;$f=ea;if((c[$f>>2]|0)==-1?(c[$f+4>>2]|0)==-1:0){$f=ea;c[$f>>2]=1;c[$f+4>>2]=0}j=ga;$f=ea;h[ae>>3]=+((LH(c[j>>2]|0,c[j+4>>2]|0,c[$f>>2]|0,c[$f+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(fx(+h[ae>>3])|0)){h[c[rd>>2]>>3]=+h[ae>>3];b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|8;if((a[z>>0]|0)!=0?1:((e[He>>1]|e[Ie>>1])&8|0)!=0)break d;rp(c[rd>>2]|0);break d}}while(0);Ze(c[rd>>2]|0);break}case 36:{if(c[(c[Sf>>2]|0)+4>>2]|0)Ye((c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 1:{c[Na>>2]=d[(c[Sf>>2]|0)+3>>0];c[w>>2]=c[(c[Of>>2]|0)+12>>2];c[G>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Ib>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(c[Na>>2]|0))break;c[(c[w>>2]|0)+(c[ba>>2]<<2)>>2]=c[Ib>>2];if((e[(c[Ib>>2]|0)+8>>1]&4096|0)!=0?(cm(c[Ib>>2]|0)|0)!=0:0){k=867;break a}c[ba>>2]=(c[ba>>2]|0)+1;c[Ib>>2]=(c[Ib>>2]|0)+40}c[G+4>>2]=c[(c[Sf>>2]|0)+16>>2];c[G+16>>2]=c[Tf>>2];c[G+12>>2]=c[Of>>2];b[(c[G>>2]|0)+8>>1]=e[(c[G>>2]|0)+8>>1]&-16896|1;a[G+25>>0]=0;$f=Qf;j=c[$f+4>>2]|0;f=(c[Pf>>2]|0)+32|0;c[f>>2]=c[$f>>2];c[f+4>>2]=j;rb[c[(c[G+4>>2]|0)+12>>2]&63](G,c[Na>>2]|0,c[w>>2]|0);f=(c[Pf>>2]|0)+32|0;j=c[f+4>>2]|0;$f=Qf;c[$f>>2]=c[f>>2];c[$f+4>>2]=j;if(a[G+25>>0]|0){if(c[G+20>>2]|0){j=(c[Of>>2]|0)+44|0;$f=c[Pf>>2]|0;c[Ue>>2]=ic(c[G>>2]|0)|0;Ym(j,$f,14418,Ue);c[Uf>>2]=c[G+20>>2]}nz(c[Of>>2]|0,c[Tf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0)}am(c[G>>2]|0,d[L>>0]|0)|0;if(fz(c[G>>2]|0)|0){k=866;break c}break}case 88:case 87:case 86:case 85:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]|e[(c[Xc>>2]|0)+8>>1])&1){Ze(c[rd>>2]|0);break d}$f=Te(c[Xc>>2]|0)|0;j=fa;c[j>>2]=$f;c[j+4>>2]=C;j=Te(c[Wc>>2]|0)|0;$f=ha;c[$f>>2]=j;c[$f+4>>2]=C;a[yb>>0]=a[c[Sf>>2]>>0]|0;do if((d[yb>>0]|0)!=85){g=ha;f=c[g>>2]|0;g=c[g+4>>2]|0;if((d[yb>>0]|0)==86){cg=fa;j=c[cg+4>>2]|g;$f=fa;c[$f>>2]=c[cg>>2]|f;c[$f+4>>2]=j;break}if((f|0)!=0|(g|0)!=0){if((c[ha+4>>2]|0)<0){a[yb>>0]=175-(d[yb>>0]|0);$f=ha;j=c[$f+4>>2]|0;$f=(j|0)>-1|(j|0)==-1&(c[$f>>2]|0)>>>0>4294967232;j=ha;j=AH(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;cg=ha;c[cg>>2]=$f?j:64;c[cg+4>>2]=$f?C:0}cg=ha;$f=c[cg+4>>2]|0;if(($f|0)>0|($f|0)==0&(c[cg>>2]|0)>>>0>=64){cg=fa;$f=c[cg+4>>2]|0;if(($f|0)>0|($f|0)==0&(c[cg>>2]|0)>>>0>=0)f=1;else f=(d[yb>>0]|0)==87;$f=f?0:-1;cg=fa;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;break};c[Je>>2]=c[fa>>2];c[Je+4>>2]=c[fa+4>>2];f=c[ha>>2]|0;j=Je;g=c[j>>2]|0;j=c[j+4>>2]|0;if((d[yb>>0]|0)!=87){$f=GH(g|0,j|0,f|0)|0;cg=Je;c[cg>>2]=$f;c[cg+4>>2]=C;if((c[fa+4>>2]|0)<0){j=ha;j=AH(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=CH(-1,-1,j|0)|0;f=Je;$f=c[f+4>>2]|C;cg=Je;c[cg>>2]=c[f>>2]|j;c[cg+4>>2]=$f}}else{$f=CH(g|0,j|0,f|0)|0;cg=Je;c[cg>>2]=$f;c[cg+4>>2]=C};c[fa>>2]=c[Je>>2];c[fa+4>>2]=c[Je+4>>2]}}else{j=ha;f=fa;$f=c[f+4>>2]&c[j+4>>2];cg=fa;c[cg>>2]=c[f>>2]&c[j>>2];c[cg+4>>2]=$f}while(0);j=fa;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|4;break}case 37:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);wp(c[Wc>>2]|0)|0;$f=c[(c[Sf>>2]|0)+8>>2]|0;cg=c[Wc>>2]|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;break}case 38:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]&4|0)==0?(tp(c[Wc>>2]|0,67,a[L>>0]|0),(e[(c[Wc>>2]|0)+8>>1]&4|0)==0):0){if(!(c[(c[Sf>>2]|0)+8>>2]|0)){k=165;break c}c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}b[(c[Wc>>2]|0)+8>>1]=e[(c[Wc>>2]|0)+8>>1]&-16896|4;break}case 39:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Wc>>2]|0)+8>>1]&4)xp(c[Wc>>2]|0)|0;break}case 40:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Wc>>2]|0)+8>>1]&16384)f=Pe(c[Wc>>2]|0)|0;else f=0;c[Uf>>2]=f;mp(c[Wc>>2]|0,c[(c[Sf>>2]|0)+8>>2]&255,a[L>>0]|0);break}case 83:case 80:case 81:case 82:case 78:case 79:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);b[R>>1]=b[(c[Wc>>2]|0)+8>>1]|0;b[S>>1]=b[(c[Yc>>2]|0)+8>>1]|0;f=d[(c[Sf>>2]|0)+3>>0]|0;do if((e[R>>1]|e[S>>1])&1){if(!(f&128)){f=c[Sf>>2]|0;if(d[(c[Sf>>2]|0)+3>>0]&32){c[rd>>2]=(c[l>>2]|0)+((c[f+8>>2]|0)*40|0);b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|1;break d}if(!(d[f+3>>0]&16))break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}if(((e[R>>1]&1|0)!=0?(e[S>>1]&1|0)!=0:0)?(e[S>>1]&256|0)==0:0){c[be>>2]=0;break}c[be>>2]=1}else{a[s>>0]=f&71;if((a[s>>0]|0)>=67){if((e[(c[Wc>>2]|0)+8>>1]&14|0)==2)pf(c[Wc>>2]|0,0);if((e[(c[Yc>>2]|0)+8>>1]&14|0)==2)pf(c[Yc>>2]|0,0)}else if((a[s>>0]|0)==66){if((e[(c[Wc>>2]|0)+8>>1]&2|0)==0?(e[(c[Wc>>2]|0)+8>>1]&12|0)!=0:0)up(c[Wc>>2]|0,a[L>>0]|0,1)|0;if((e[(c[Yc>>2]|0)+8>>1]&2|0)==0?(e[(c[Yc>>2]|0)+8>>1]&12|0)!=0:0)up(c[Yc>>2]|0,a[L>>0]|0,1)|0}if(e[(c[Wc>>2]|0)+8>>1]&16384){Pe(c[Wc>>2]|0)|0;b[R>>1]=e[R>>1]&-16385}if(e[(c[Yc>>2]|0)+8>>1]&16384){Pe(c[Yc>>2]|0)|0;b[S>>1]=e[S>>1]&-16385}if(a[(c[Pf>>2]|0)+64>>0]|0){k=867;break a}c[be>>2]=oz(c[Yc>>2]|0,c[Wc>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[Sf>>2]>>0]|0){case 79:{c[be>>2]=(c[be>>2]|0)==0&1;break}case 78:{c[be>>2]=(c[be>>2]|0)!=0&1;break}case 82:{c[be>>2]=(c[be>>2]|0)<0&1;break}case 81:{c[be>>2]=(c[be>>2]|0)<=0&1;break}case 80:{c[be>>2]=(c[be>>2]|0)>0&1;break}default:c[be>>2]=(c[be>>2]|0)>=0&1}if(!(d[(c[Sf>>2]|0)+3>>0]&32)){if(c[be>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1}else{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|4;$f=c[be>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31}b[(c[Wc>>2]|0)+8>>1]=b[R>>1]|0;b[(c[Yc>>2]|0)+8>>1]=b[S>>1]|0;break}case 41:{c[o>>2]=c[(c[Sf>>2]|0)+16>>2];break}case 42:{if(!(d[(c[Sf>>2]|0)+3>>0]&1))c[o>>2]=0;c[Pa>>2]=c[(c[Sf>>2]|0)+12>>2];c[$c>>2]=c[(c[Sf>>2]|0)+16>>2];c[Db>>2]=c[(c[Sf>>2]|0)+4>>2];c[Hb>>2]=c[(c[Sf>>2]|0)+8>>2];c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[Pa>>2]|0))break;f=c[ca>>2]|0;if(c[o>>2]|0)f=c[(c[o>>2]|0)+(f<<2)>>2]|0;c[Aa>>2]=f;c[nc>>2]=c[(c[$c>>2]|0)+20+(c[ca>>2]<<2)>>2];c[A>>2]=d[(c[(c[$c>>2]|0)+16>>2]|0)+(c[ca>>2]|0)>>0];c[ja>>2]=oz((c[l>>2]|0)+(((c[Db>>2]|0)+(c[Aa>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[Hb>>2]|0)+(c[Aa>>2]|0)|0)*40|0)|0,c[nc>>2]|0)|0;if(c[ja>>2]|0){k=222;break}c[ca>>2]=(c[ca>>2]|0)+1}if((k|0)==222?(k=0,(c[A>>2]|0)!=0):0)c[ja>>2]=0-(c[ja>>2]|0);c[o>>2]=0;break}case 43:{if((c[ja>>2]|0)<0){c[Tf>>2]=(c[(c[Sf>>2]|0)+4>>2]|0)-1;break d}f=c[Sf>>2]|0;if(!(c[ja>>2]|0)){c[Tf>>2]=(c[f+8>>2]|0)-1;break d}else{c[Tf>>2]=(c[f+12>>2]|0)-1;break d}}case 71:case 72:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Wc>>2]|0)+8>>1]&1)c[Le>>2]=2;else{cg=Te(c[Wc>>2]|0)|0;c[Le>>2]=((cg|0)!=0|(C|0)!=0)&1}c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Xc>>2]|0)+8>>1]&1)c[Me>>2]=2;else{cg=Te(c[Xc>>2]|0)|0;c[Me>>2]=((cg|0)!=0|(C|0)!=0)&1}f=((c[Le>>2]|0)*3|0)+(c[Me>>2]|0)|0;if((d[c[Sf>>2]>>0]|0)==72)c[Le>>2]=d[31124+f>>0];else c[Le>>2]=d[31133+f>>0];c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if((c[Le>>2]|0)==2){b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|1;break d}else{$f=c[Le>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|4;break d}}case 19:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);Ze(c[rd>>2]|0);if(!(e[(c[Wc>>2]|0)+8>>1]&1)){b[(c[rd>>2]|0)+8>>1]=4;$f=Te(c[Wc>>2]|0)|0;$f=((($f|0)!=0|(C|0)!=0)^1)&1;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31}break}case 96:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);Ze(c[rd>>2]|0);if(!(e[(c[Wc>>2]|0)+8>>1]&1)){b[(c[rd>>2]|0)+8>>1]=4;$f=Te(c[Wc>>2]|0)|0;cg=c[rd>>2]|0;c[cg>>2]=~$f;c[cg+4>>2]=~C}break}case 44:{f=c[Sf>>2]|0;if(a[(c[(c[Of>>2]|0)+200>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]|0)>>0]|0){c[Tf>>2]=(c[f+8>>2]|0)-1;break d}else{a[(c[(c[Of>>2]|0)+200>>2]|0)+(c[f+4>>2]|0)>>0]=1;break d}}case 46:case 45:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Wc>>2]|0)+8>>1]&1)){c[B>>2]=+Se(c[Wc>>2]|0)!=0.0&1;if((d[c[Sf>>2]>>0]|0)==46)c[B>>2]=((c[B>>2]|0)!=0^1)&1}else c[B>>2]=c[(c[Sf>>2]|0)+12>>2];if(c[B>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 76:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Wc>>2]|0)+8>>1]&1)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 77:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Wc>>2]|0)+8>>1]&1))c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 47:{c[Fb>>2]=c[(c[Sf>>2]|0)+8>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Ob>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[m>>2]=c[(c[Ob>>2]|0)+80>>2];c[oc>>2]=c[c[Ob>>2]>>2];c[Uf>>2]=pz(c[Ob>>2]|0)|0;if(c[Uf>>2]|0)break c;f=c[Ob>>2]|0;g:do if((c[(c[Ob>>2]|0)+60>>2]|0)==(c[(c[Of>>2]|0)+72>>2]|0))if((e[f+22>>1]|0)<=(c[Fb>>2]|0))k=282;else k=306;else{do if(a[f+25>>0]|0)if(!(c[oc>>2]|0)){c[xd>>2]=(c[l>>2]|0)+((c[(c[Ob>>2]|0)+16>>2]|0)*40|0);cg=c[(c[xd>>2]|0)+12>>2]|0;c[y>>2]=cg;c[(c[Ob>>2]|0)+68>>2]=cg;c[(c[Ob>>2]|0)+64>>2]=cg;c[(c[Ob>>2]|0)+76>>2]=c[(c[xd>>2]|0)+16>>2];break}else{Ze(c[Lc>>2]|0);break g}else{f=c[oc>>2]|0;if(!((d[(c[Ob>>2]|0)+27>>0]|0)>>>2&1)){Ny(f,Sd)|0;cg=qz(c[oc>>2]|0,y)|0;c[(c[Ob>>2]|0)+76>>2]=cg;c[(c[Ob>>2]|0)+64>>2]=c[Sd>>2]}else{rz(f,(c[Ob>>2]|0)+64|0)|0;cg=sz(c[oc>>2]|0,y)|0;c[(c[Ob>>2]|0)+76>>2]=cg}if((c[(c[Ob>>2]|0)+64>>2]|0)>>>0<=(c[y>>2]|0)>>>0)c[(c[Ob>>2]|0)+68>>2]=c[(c[Ob>>2]|0)+64>>2];else c[(c[Ob>>2]|0)+68>>2]=c[y>>2];if((c[(c[Ob>>2]|0)+64>>2]|0)>>>0>(c[(c[Pf>>2]|0)+88>>2]|0)>>>0){k=866;break c}}while(0);c[(c[Ob>>2]|0)+60>>2]=c[(c[Of>>2]|0)+72>>2];f=c[(c[Ob>>2]|0)+76>>2]|0;if((d[c[(c[Ob>>2]|0)+76>>2]>>0]|0)<128){c[xb>>2]=d[f>>0];f=1}else f=(Rw(f,xb)|0)&255;c[(c[Ob>>2]|0)+72>>2]=f&255;b[(c[Ob>>2]|0)+22>>1]=0;c[c[m>>2]>>2]=c[xb>>2];if((c[xb>>2]|0)>>>0<=98307?(c[xb>>2]|0)>>>0<=(c[(c[Ob>>2]|0)+64>>2]|0)>>>0:0){if((c[y>>2]|0)>>>0>=(c[xb>>2]|0)>>>0){k=282;break}c[(c[Ob>>2]|0)+76>>2]=0;c[(c[Ob>>2]|0)+68>>2]=0;k=282;break}c[Uf>>2]=Rk(71391)|0;break d}while(0);do if((k|0)==282){k=0;do if((c[(c[Ob>>2]|0)+72>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0){if(!(c[(c[Ob>>2]|0)+76>>2]|0)){f=ze;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[Uf>>2]=tz(c[oc>>2]|0,0,c[c[m>>2]>>2]|0,(((d[(c[Ob>>2]|0)+27>>0]|0)>>>2&1|0)!=0^1)&1,ze)|0;if(c[Uf>>2]|0)break d;c[Af>>2]=c[ze+16>>2]}else c[Af>>2]=c[(c[Ob>>2]|0)+76>>2];c[X>>2]=e[(c[Ob>>2]|0)+22>>1];c[xb>>2]=c[(c[m>>2]|0)+(c[X>>2]<<2)>>2];c[Ef>>2]=(c[Af>>2]|0)+(c[(c[Ob>>2]|0)+72>>2]|0);c[Cf>>2]=(c[Af>>2]|0)+(c[c[m>>2]>>2]|0);do{f=c[Ef>>2]|0;if((d[c[Ef>>2]>>0]|0)<128){c[De>>2]=d[f>>0];c[Ef>>2]=(c[Ef>>2]|0)+1}else{cg=(Rw(f,De)|0)&255;c[Ef>>2]=(c[Ef>>2]|0)+cg}c[(c[Ob>>2]|0)+84+(c[X>>2]<<2)>>2]=c[De>>2];c[Ce>>2]=Ww(c[De>>2]|0)|0;c[xb>>2]=(c[xb>>2]|0)+(c[Ce>>2]|0);if((c[xb>>2]|0)>>>0<(c[Ce>>2]|0)>>>0){k=292;break}c[X>>2]=(c[X>>2]|0)+1;c[(c[m>>2]|0)+(c[X>>2]<<2)>>2]=c[xb>>2];if((c[X>>2]|0)>(c[Fb>>2]|0))break}while((c[Ef>>2]|0)>>>0<(c[Cf>>2]|0)>>>0);if((k|0)==292){k=0;c[Ef>>2]=(c[Cf>>2]|0)+1}b[(c[Ob>>2]|0)+22>>1]=c[X>>2];c[(c[Ob>>2]|0)+72>>2]=(c[Ef>>2]|0)-(c[Af>>2]|0);if(!(c[(c[Ob>>2]|0)+76>>2]|0)){Oe(ze);b[ze+8>>1]=1}if((c[Ef>>2]|0)>>>0>=(c[Cf>>2]|0)>>>0){if((c[Ef>>2]|0)>>>0<=(c[Cf>>2]|0)>>>0?(c[xb>>2]|0)==(c[(c[Ob>>2]|0)+64>>2]|0):0)k=300}else k=300;if((k|0)==300?(k=0,(c[xb>>2]|0)>>>0<=(c[(c[Ob>>2]|0)+64>>2]|0)>>>0):0)break;c[Uf>>2]=Rk(71475)|0;break d}while(0);if((e[(c[Ob>>2]|0)+22>>1]|0)<=(c[Fb>>2]|0)){f=c[Lc>>2]|0;if((a[(c[Sf>>2]|0)+1>>0]|0)==-8){ax(f,c[(c[Sf>>2]|0)+16>>2]|0,2048);break}else{Ze(f);break}}else k=306}while(0);if((k|0)==306){k=0;if(e[(c[Lc>>2]|0)+8>>1]&9312)Ze(c[Lc>>2]|0);c[De>>2]=c[(c[Ob>>2]|0)+84+(c[Fb>>2]<<2)>>2];do if((c[(c[Ob>>2]|0)+68>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[Fb>>2]|0)+1<<2)>>2]|0)>>>0)Xw((c[(c[Ob>>2]|0)+76>>2]|0)+(c[(c[m>>2]|0)+(c[Fb>>2]<<2)>>2]|0)|0,c[De>>2]|0,c[Lc>>2]|0)|0;else{do if(d[(c[Sf>>2]|0)+3>>0]&192){if((c[De>>2]|0)>>>0>=12?(c[De>>2]&1|0)==0:0)break;if(!(d[(c[Sf>>2]|0)+3>>0]&128))k=314}else k=314;while(0);if((k|0)==314?(k=0,cg=Ww(c[De>>2]|0)|0,c[Ja>>2]=cg,(cg|0)!=0):0){c[Uf>>2]=tz(c[oc>>2]|0,c[(c[m>>2]|0)+(c[Fb>>2]<<2)>>2]|0,c[Ja>>2]|0,(((d[(c[Ob>>2]|0)+27>>0]|0)>>>2&1|0)!=0^1)&1,c[Lc>>2]|0)|0;if(c[Uf>>2]|0)break d;Xw(c[(c[Lc>>2]|0)+16>>2]|0,c[De>>2]|0,c[Lc>>2]|0)|0;cg=(c[Lc>>2]|0)+8|0;b[cg>>1]=e[cg>>1]&-4097;break}Xw((c[De>>2]|0)>>>0<=13?Sd:0,c[De>>2]|0,c[Lc>>2]|0)|0}while(0);a[(c[Lc>>2]|0)+10>>0]=a[L>>0]|0}if((e[(c[Lc>>2]|0)+8>>1]&4096|0)!=0?(c[(c[Lc>>2]|0)+16>>2]|0)!=0:0){b[U>>1]=e[(c[Lc>>2]|0)+8>>1]&18;c[Af>>2]=c[(c[Lc>>2]|0)+16>>2];c[Ja>>2]=c[(c[Lc>>2]|0)+12>>2];if(vp(c[Lc>>2]|0,(c[Ja>>2]|0)+2|0)|0){k=867;break a}EH(c[(c[Lc>>2]|0)+16>>2]|0,c[Af>>2]|0,c[Ja>>2]|0)|0;a[(c[(c[Lc>>2]|0)+16>>2]|0)+(c[Ja>>2]|0)>>0]=0;a[(c[(c[Lc>>2]|0)+16>>2]|0)+((c[Ja>>2]|0)+1)>>0]=0;b[(c[Lc>>2]|0)+8>>1]=e[U>>1]|512}break}case 48:{c[yf>>2]=c[(c[Sf>>2]|0)+16>>2];c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);while(1){cg=c[yf>>2]|0;c[yf>>2]=cg+1;cg=a[cg>>0]|0;a[D>>0]=cg;if(!(cg<<24>>24))break d;tp(c[Wc>>2]|0,a[D>>0]|0,a[L>>0]|0);c[Wc>>2]=(c[Wc>>2]|0)+40}}case 49:{cg=Ya;c[cg>>2]=0;c[cg+4>>2]=0;c[cb>>2]=0;c[kb>>2]=0;c[$a>>2]=c[(c[Sf>>2]|0)+4>>2];c[zf>>2]=c[(c[Sf>>2]|0)+16>>2];c[Hc>>2]=(c[l>>2]|0)+((c[$a>>2]|0)*40|0);c[$a>>2]=c[(c[Sf>>2]|0)+8>>2];c[cd>>2]=(c[Hc>>2]|0)+(((c[$a>>2]|0)-1|0)*40|0);c[P>>2]=d[(c[Of>>2]|0)+87>>0];c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(c[zf>>2]|0){c[vd>>2]=c[Hc>>2];do{$f=c[vd>>2]|0;c[vd>>2]=$f+40;cg=c[zf>>2]|0;c[zf>>2]=cg+1;tp($f,a[cg>>0]|0,a[L>>0]|0)}while((a[c[zf>>2]>>0]|0)!=0)}c[vd>>2]=c[cd>>2];do{cg=uz(c[vd>>2]|0,c[P>>2]|0)|0;c[Be>>2]=cg;c[(c[vd>>2]|0)+28>>2]=cg;c[Ka>>2]=Ww(c[Be>>2]|0)|0;do if(e[(c[vd>>2]|0)+8>>1]&16384){cg=Ya;f=c[vd>>2]|0;if((c[cg>>2]|0)!=0|(c[cg+4>>2]|0)!=0){Pe(f)|0;break}else{c[kb>>2]=(c[kb>>2]|0)+(c[f>>2]|0);c[Ka>>2]=(c[Ka>>2]|0)-(c[c[vd>>2]>>2]|0);break}}while(0);$f=c[Ka>>2]|0;cg=Ya;$f=DH(c[cg>>2]|0,c[cg+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;cg=Ya;c[cg>>2]=$f;c[cg+4>>2]=C;if((c[Be>>2]|0)>>>0<=127)f=1;else f=_w(c[Be>>2]|0,0)|0;c[cb>>2]=(c[cb>>2]|0)+f;cg=(c[vd>>2]|0)+-40|0;c[vd>>2]=cg}while(cg>>>0>=(c[Hc>>2]|0)>>>0);f=c[cb>>2]|0;if((c[cb>>2]|0)>126){c[jb>>2]=_w(f,((f|0)<0)<<31>>31)|0;c[cb>>2]=(c[cb>>2]|0)+(c[jb>>2]|0);$f=c[jb>>2]|0;cg=c[cb>>2]|0;if(($f|0)<(_w(cg,((cg|0)<0)<<31>>31)|0))c[cb>>2]=(c[cb>>2]|0)+1}else c[cb>>2]=f+1;$f=c[cb>>2]|0;f=Ya;f=DH($f|0,(($f|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;$f=Va;c[$f>>2]=f;c[$f+4>>2]=C;$f=Va;f=c[$f+4>>2]|0;cg=c[(c[Pf>>2]|0)+88>>2]|0;j=((cg|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[$f>>2]|0)>>>0>cg>>>0:0)){k=866;break c}if(vp(c[rd>>2]|0,c[Va>>2]|0)|0){k=867;break a}c[Kf>>2]=c[(c[rd>>2]|0)+16>>2];if((c[cb>>2]|0)>>>0<128){a[c[Kf>>2]>>0]=c[cb>>2];f=1}else{f=c[cb>>2]|0;f=vz(c[Kf>>2]|0,f,((f|0)<0)<<31>>31)|0}c[aa>>2]=f&255;c[Ha>>2]=c[cb>>2];c[vd>>2]=c[Hc>>2];do{c[Be>>2]=c[(c[vd>>2]|0)+28>>2];if((c[Be>>2]|0)>>>0<128){a[(c[Kf>>2]|0)+(c[aa>>2]|0)>>0]=c[Be>>2];f=1}else f=vz((c[Kf>>2]|0)+(c[aa>>2]|0)|0,c[Be>>2]|0,0)|0;c[aa>>2]=(c[aa>>2]|0)+(f&255);cg=wz((c[Kf>>2]|0)+(c[Ha>>2]|0)|0,c[vd>>2]|0,c[Be>>2]|0)|0;c[Ha>>2]=(c[Ha>>2]|0)+cg;cg=(c[vd>>2]|0)+40|0;c[vd>>2]=cg}while(cg>>>0<=(c[cd>>2]|0)>>>0);c[(c[rd>>2]|0)+12>>2]=c[Va>>2];b[(c[rd>>2]|0)+8>>1]=16;if(c[kb>>2]|0){c[c[rd>>2]>>2]=c[kb>>2];cg=(c[rd>>2]|0)+8|0;b[cg>>1]=e[cg>>1]|16384}a[(c[rd>>2]|0)+10>>0]=1;break}case 50:{c[pc>>2]=c[c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]>>2];j=Za;c[j>>2]=0;c[j+4>>2]=0;c[Uf>>2]=xz(c[pc>>2]|0,Za)|0;j=Za;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;break}case 2:{c[Cb>>2]=c[(c[Sf>>2]|0)+4>>2];c[Jf>>2]=c[(c[Sf>>2]|0)+16>>2];if(!(c[Cb>>2]|0)){if((c[(c[Pf>>2]|0)+156>>2]|0)>0){Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,31142,Ve);c[Uf>>2]=5;break d}c[gb>>2]=Ed(c[Jf>>2]|0)|0;c[Uf>>2]=yz(c[Pf>>2]|0,0,(c[(c[Pf>>2]|0)+500>>2]|0)+(c[(c[Pf>>2]|0)+496>>2]|0)|0)|0;if(c[Uf>>2]|0)break c;c[qd>>2]=qf(c[Pf>>2]|0,32+(c[gb>>2]|0)+1|0,0)|0;if(!(c[qd>>2]|0))break d;c[c[qd>>2]>>2]=(c[qd>>2]|0)+32;EH(c[c[qd>>2]>>2]|0,c[Jf>>2]|0,(c[gb>>2]|0)+1|0)|0;f=c[Pf>>2]|0;if(a[(c[Pf>>2]|0)+62>>0]|0){a[f+62>>0]=0;a[(c[Pf>>2]|0)+69>>0]=1}else{cg=f+496|0;c[cg>>2]=(c[cg>>2]|0)+1}c[(c[qd>>2]|0)+24>>2]=c[(c[Pf>>2]|0)+488>>2];c[(c[Pf>>2]|0)+488>>2]=c[qd>>2];cg=(c[Pf>>2]|0)+504|0;$f=c[cg+4>>2]|0;j=(c[qd>>2]|0)+8|0;c[j>>2]=c[cg>>2];c[j+4>>2]=$f;j=(c[Pf>>2]|0)+512|0;$f=c[j+4>>2]|0;cg=(c[qd>>2]|0)+16|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;break d}c[ya>>2]=0;c[zd>>2]=c[(c[Pf>>2]|0)+488>>2];while(1){if(!(c[zd>>2]|0))break;if(!($b(c[c[zd>>2]>>2]|0,c[Jf>>2]|0)|0))break;c[ya>>2]=(c[ya>>2]|0)+1;c[zd>>2]=c[(c[zd>>2]|0)+24>>2]}if(!(c[zd>>2]|0)){$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[We>>2]=c[Jf>>2];Ym($f,cg,31193,We);c[Uf>>2]=1;break d}if((c[Cb>>2]|0)==1?(c[(c[Pf>>2]|0)+156>>2]|0)>0:0){Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,31215,_e);c[Uf>>2]=5;break d}if(!(c[(c[zd>>2]|0)+24>>2]|0))f=(d[(c[Pf>>2]|0)+69>>0]|0)!=0;else f=0;c[Fa>>2]=f&1;if(!((c[Fa>>2]|0)!=0&(c[Cb>>2]|0)==1)){c[ya>>2]=(c[(c[Pf>>2]|0)+496>>2]|0)-(c[ya>>2]|0)-1;h:do if((c[Cb>>2]|0)==2){c[Ea>>2]=(c[(c[Pf>>2]|0)+24>>2]&2|0)!=0&1;c[Ba>>2]=0;while(1){if((c[Ba>>2]|0)>=(c[(c[Pf>>2]|0)+20>>2]|0))break h;c[Uf>>2]=zz(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[Ba>>2]<<4)+4>>2]|0,516,(c[Ea>>2]|0)==0&1)|0;if(c[Uf>>2]|0)break c;c[Ba>>2]=(c[Ba>>2]|0)+1}}else c[Ea>>2]=0;while(0);c[Ba>>2]=0;while(1){if((c[Ba>>2]|0)>=(c[(c[Pf>>2]|0)+20>>2]|0))break;c[Uf>>2]=Az(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[Ba>>2]<<4)+4>>2]|0,c[Cb>>2]|0,c[ya>>2]|0)|0;if(c[Uf>>2]|0)break c;c[Ba>>2]=(c[Ba>>2]|0)+1}if(c[Ea>>2]|0){If(c[Pf>>2]|0);ue(c[Pf>>2]|0);c[(c[Pf>>2]|0)+24>>2]=c[(c[Pf>>2]|0)+24>>2]|2}}else{cg=gz(c[Of>>2]|0,1)|0;c[Uf>>2]=cg;if(cg){k=865;break c}a[(c[Pf>>2]|0)+62>>0]=1;if((ez(c[Of>>2]|0)|0)==5){k=377;break c}a[(c[Pf>>2]|0)+69>>0]=0;c[Uf>>2]=c[(c[Of>>2]|0)+80>>2]}while(1){if((c[(c[Pf>>2]|0)+488>>2]|0)==(c[zd>>2]|0))break;c[Ad>>2]=c[(c[Pf>>2]|0)+488>>2];c[(c[Pf>>2]|0)+488>>2]=c[(c[Ad>>2]|0)+24>>2];Nd(c[Pf>>2]|0,c[Ad>>2]|0);cg=(c[Pf>>2]|0)+496|0;c[cg>>2]=(c[cg>>2]|0)+-1}f=c[zd>>2]|0;if((c[Cb>>2]|0)==1){c[(c[Pf>>2]|0)+488>>2]=c[f+24>>2];Nd(c[Pf>>2]|0,c[zd>>2]|0);if(!(c[Fa>>2]|0)){cg=(c[Pf>>2]|0)+496|0;c[cg>>2]=(c[cg>>2]|0)+-1}}else{cg=f+8|0;$f=c[cg+4>>2]|0;j=(c[Pf>>2]|0)+504|0;c[j>>2]=c[cg>>2];c[j+4>>2]=$f;j=(c[zd>>2]|0)+16|0;$f=c[j+4>>2]|0;cg=(c[Pf>>2]|0)+512|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}if((c[Fa>>2]|0)==0?(c[Uf>>2]=yz(c[Pf>>2]|0,c[Cb>>2]|0,c[ya>>2]|0)|0,(c[Uf>>2]|0)!=0):0)break c;break}case 3:{c[I>>2]=c[(c[Sf>>2]|0)+4>>2];c[xa>>2]=c[(c[Sf>>2]|0)+8>>2];if(c[I>>2]|0)f=(a[(c[Pf>>2]|0)+62>>0]|0)!=0^1;else f=0;c[Ge>>2]=f&1;if(!((c[Ge>>2]|0)==0|(c[xa>>2]|0)!=0)?(c[(c[Pf>>2]|0)+156>>2]|0)>0:0){Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,31269,$e);c[Uf>>2]=5;break d}if((c[I>>2]|0)!=(d[(c[Pf>>2]|0)+62>>0]|0)){k=405;break c}if(c[I>>2]|0)f=(c[xa>>2]|0)!=0?31324:31367;else f=31408;Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,f,bf);c[Uf>>2]=1;break}case 4:{if((c[(c[Sf>>2]|0)+8>>2]|0)!=0?(c[(c[Pf>>2]|0)+24>>2]&33554432|0)!=0:0){k=418;break c}c[Kb>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2];if(c[Kb>>2]|0){c[Uf>>2]=he(c[Kb>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0)|0;if((c[Uf>>2]|0)==5){k=421;break c}if(c[Uf>>2]|0)break c;do if((c[(c[Sf>>2]|0)+8>>2]|0)!=0?((e[(c[Of>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){if((d[(c[Pf>>2]|0)+62>>0]|0)!=0?(c[(c[Pf>>2]|0)+152>>2]|0)<=1:0)break;if(!(c[(c[Of>>2]|0)+104>>2]|0)){cg=(c[Pf>>2]|0)+500|0;c[cg>>2]=(c[cg>>2]|0)+1;c[(c[Of>>2]|0)+104>>2]=(c[(c[Pf>>2]|0)+496>>2]|0)+(c[(c[Pf>>2]|0)+500>>2]|0)}c[Uf>>2]=yz(c[Pf>>2]|0,0,(c[(c[Of>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[Uf>>2]|0))c[Uf>>2]=Dz(c[Kb>>2]|0,c[(c[Of>>2]|0)+104>>2]|0)|0;cg=(c[Pf>>2]|0)+504|0;$f=c[cg+4>>2]|0;j=(c[Of>>2]|0)+152|0;c[j>>2]=c[cg>>2];c[j+4>>2]=$f;j=(c[Pf>>2]|0)+512|0;$f=c[j+4>>2]|0;cg=(c[Of>>2]|0)+160|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}while(0);ie(c[Kb>>2]|0,1,ta);c[pa>>2]=c[(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[ta>>2]=0;c[pa>>2]=0}if(d[(c[Sf>>2]|0)+3>>0]|0){if((c[ta>>2]|0)==(c[(c[Sf>>2]|0)+12>>2]|0)?(c[pa>>2]|0)==(c[(c[Sf>>2]|0)+16>>2]|0):0)break d;Nd(c[Pf>>2]|0,c[(c[Of>>2]|0)+44>>2]|0);cg=ef(c[Pf>>2]|0,31456)|0;c[(c[Of>>2]|0)+44>>2]=cg;if((c[c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[ta>>2]|0))Or(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0);cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-33|32;c[Uf>>2]=17}break}case 51:{c[la>>2]=c[(c[Sf>>2]|0)+4>>2];c[ka>>2]=c[(c[Sf>>2]|0)+12>>2];ie(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+4>>2]|0,c[ka>>2]|0,ua);$f=c[ua>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;break}case 52:{c[Ic>>2]=(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4);c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);wp(c[Yc>>2]|0)|0;c[Uf>>2]=te(c[(c[Ic>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,c[c[Yc>>2]>>2]|0)|0;if((c[(c[Sf>>2]|0)+8>>2]|0)!=1){if((c[(c[Sf>>2]|0)+8>>2]|0)==2)a[(c[(c[Ic>>2]|0)+12>>2]|0)+76>>0]=c[c[Yc>>2]>>2]}else{c[c[(c[Ic>>2]|0)+12>>2]>>2]=c[c[Yc>>2]>>2];cg=(c[Pf>>2]|0)+24|0;c[cg>>2]=c[cg>>2]|2}if((c[(c[Sf>>2]|0)+4>>2]|0)==1){If(c[Pf>>2]|0);cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-33}break}case 53:{c[xc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(!((c[xc>>2]|0)!=0?(c[(c[xc>>2]|0)+28>>2]|0)==(c[(c[Sf>>2]|0)+8>>2]|0):0))k=449;break}case 55:case 54:{k=449;break}case 57:case 56:{c[Dc>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Dc>>2]|0)){k=867;break a}a[(c[Dc>>2]|0)+25>>0]=1;cg=(c[Dc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-2|1;c[Uf>>2]=nh(c[c[Pf>>2]>>2]|0,0,c[Pf>>2]|0,(c[Dc>>2]|0)+4|0,5|d[(c[Sf>>2]|0)+3>>0],1054)|0;if(!(c[Uf>>2]|0))c[Uf>>2]=he(c[(c[Dc>>2]|0)+4>>2]|0,1)|0;do if(!(c[Uf>>2]|0)){cg=c[(c[Sf>>2]|0)+16>>2]|0;c[bd>>2]=cg;f=c[(c[Dc>>2]|0)+4>>2]|0;if(!cg){c[Uf>>2]=Fz(f,1,1,0,c[c[Dc>>2]>>2]|0)|0;cg=(c[Dc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-5|4;break}c[Uf>>2]=Hz(f,Ud,2|d[(c[Sf>>2]|0)+3>>0])|0;if(!(c[Uf>>2]|0)){c[(c[Dc>>2]|0)+8>>2]=c[bd>>2];c[Uf>>2]=Fz(c[(c[Dc>>2]|0)+4>>2]|0,c[Ud>>2]|0,1,c[bd>>2]|0,c[c[Dc>>2]>>2]|0)|0}cg=(c[Dc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-5}while(0);cg=(c[Dc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-9|((d[(c[Sf>>2]|0)+3>>0]|0)!=8&1)<<3&255;break}case 58:{c[Ec>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Ec>>2]|0)){k=867;break a}c[(c[Ec>>2]|0)+8>>2]=c[(c[Sf>>2]|0)+16>>2];c[Uf>>2]=Iz(c[Pf>>2]|0,c[(c[Sf>>2]|0)+12>>2]|0,c[Ec>>2]|0)|0;break}case 59:{c[Pb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];j=(c[Pb>>2]|0)+40|0;cg=j;$f=c[cg>>2]|0;cg=c[cg+4>>2]|0;f=DH($f|0,cg|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if(($f|0)==0&(cg|0)==0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 60:{c[Fc>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+12>>2]|0,-1,0)|0;if(!(c[Fc>>2]|0)){k=867;break a}a[(c[Fc>>2]|0)+25>>0]=1;c[(c[Fc>>2]|0)+16>>2]=c[(c[Sf>>2]|0)+8>>2];cg=(c[Fc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-5|4;break}case 61:{Jz(c[Of>>2]|0,c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]=0;break}case 65:case 64:case 63:case 62:{c[Qb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[sb>>2]=d[c[Sf>>2]>>0];a[(c[Qb>>2]|0)+25>>0]=0;f=c[Sf>>2]|0;if((d[(c[Qb>>2]|0)+27>>0]|0)>>>2&1){c[Yc>>2]=(c[l>>2]|0)+((c[f+12>>2]|0)*40|0);if((e[(c[Yc>>2]|0)+8>>1]&14|0)==2)pf(c[Yc>>2]|0,0);$f=Te(c[Yc>>2]|0)|0;cg=qa;c[cg>>2]=$f;c[cg+4>>2]=C;do if(!(e[(c[Yc>>2]|0)+8>>1]&4)){if(!(e[(c[Yc>>2]|0)+8>>1]&8)){c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}cg=qa;if(+h[c[Yc>>2]>>3]<+((c[cg>>2]|0)>>>0)+4294967296.0*+(c[cg+4>>2]|0)){if((c[sb>>2]&1|0)!=1)break;c[sb>>2]=(c[sb>>2]|0)+-1;break}cg=qa;if(+h[c[Yc>>2]>>3]>+((c[cg>>2]|0)>>>0)+4294967296.0*+(c[cg+4>>2]|0)?(c[sb>>2]&1|0)==0:0)c[sb>>2]=(c[sb>>2]|0)+1}while(0);j=qa;c[Uf>>2]=Gw(c[c[Qb>>2]>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,ee)|0;j=qa;$f=c[j+4>>2]|0;cg=(c[Qb>>2]|0)+48|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;if(c[Uf>>2]|0)break c}else{c[bb>>2]=c[f+16>>2];c[Xd>>2]=c[(c[Qb>>2]|0)+8>>2];b[Xd+4>>1]=c[bb>>2];a[Xd+6>>0]=(1&(c[sb>>2]|0)-62|0)!=0?-1:1;c[Xd+8>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Xd+8>>2]|0)+8>>1]&16384)Pe(c[Xd+8>>2]|0)|0;c[Uf>>2]=Gw(c[c[Qb>>2]>>2]|0,Xd,0,0,0,ee)|0;if(c[Uf>>2]|0)break c}a[(c[Qb>>2]|0)+26>>0]=0;c[(c[Qb>>2]|0)+60>>2]=0;f=c[ee>>2]|0;do if((c[sb>>2]|0)>=64){if((f|0)>=0?!((c[ee>>2]|0)==0&(c[sb>>2]|0)==65):0){c[ee>>2]=0;break}c[ee>>2]=0;c[Uf>>2]=sw(c[c[Qb>>2]>>2]|0,ee)|0;if(c[Uf>>2]|0)break c}else{if((f|0)<=0?!((c[ee>>2]|0)==0&(c[sb>>2]|0)==62):0){c[ee>>2]=Kz(c[c[Qb>>2]>>2]|0)|0;break}c[ee>>2]=0;c[Uf>>2]=tw(c[c[Qb>>2]>>2]|0,ee)|0;if(c[Uf>>2]|0)break c}while(0);if(c[ee>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 66:{c[Rb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];a[(c[Rb>>2]|0)+25>>0]=0;c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);$f=Te(c[Xc>>2]|0)|0;cg=(c[Rb>>2]|0)+48|0;c[cg>>2]=$f;c[cg+4>>2]=C;a[(c[Rb>>2]|0)+26>>0]=1;break}case 69:case 68:case 67:{c[Sb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Tc>>2]=0;f=c[(c[Sb>>2]|0)+8>>2]|0;if((c[(c[Sf>>2]|0)+16>>2]|0)>0){c[Yd>>2]=f;b[Yd+4>>1]=c[(c[Sf>>2]|0)+16>>2];c[Yd+8>>2]=c[Yc>>2];c[Ca>>2]=0;while(1){if((c[Ca>>2]|0)>=(e[Yd+4>>1]|0))break;if(e[(c[Yd+8>>2]|0)+((c[Ca>>2]|0)*40|0)+8>>1]&16384)Pe((c[Yd+8>>2]|0)+((c[Ca>>2]|0)*40|0)|0)|0;c[Ca>>2]=(c[Ca>>2]|0)+1}c[Uc>>2]=Yd}else{c[Uc>>2]=Ew(f,r,191,Tc)|0;if(!(c[Uc>>2]|0)){k=867;break a}Fw(c[(c[Sb>>2]|0)+8>>2]|0,c[(c[Yc>>2]|0)+12>>2]|0,c[(c[Yc>>2]|0)+16>>2]|0,c[Uc>>2]|0)}a[(c[Uc>>2]|0)+6>>0]=0;i:do if((d[c[Sf>>2]>>0]|0)==67){c[Ca>>2]=0;while(1){if((c[Ca>>2]|0)>=(e[Yd+4>>1]|0))break i;if(e[(c[Yd+8>>2]|0)+((c[Ca>>2]|0)*40|0)+8>>1]&1)break;c[Ca>>2]=(c[Ca>>2]|0)+1}c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1}while(0);c[Uf>>2]=Gw(c[c[Sb>>2]>>2]|0,c[Uc>>2]|0,0,0,0,fe)|0;if(!(c[(c[Sf>>2]|0)+16>>2]|0))Nd(c[Pf>>2]|0,c[Tc>>2]|0);if(!(c[Uf>>2]|0)){c[(c[Sb>>2]|0)+12>>2]=c[fe>>2];c[t>>2]=(c[fe>>2]|0)==0&1;a[(c[Sb>>2]|0)+25>>0]=1-(c[t>>2]|0);a[(c[Sb>>2]|0)+26>>0]=0;c[(c[Sb>>2]|0)+60>>2]=0;f=(c[t>>2]|0)!=0;if((d[c[Sf>>2]>>0]|0)==69){if(!f)break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}else{if(f)break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}}break}case 70:{c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Tb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[qc>>2]=c[c[Tb>>2]>>2];c[ge>>2]=0;cg=c[Yc>>2]|0;$f=c[cg+4>>2]|0;j=ra;c[j>>2]=c[cg>>2];c[j+4>>2]=$f;j=ra;c[Uf>>2]=Gw(c[qc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,ge)|0;j=ra;$f=c[j+4>>2]|0;cg=(c[Tb>>2]|0)+48|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;a[(c[Tb>>2]|0)+25>>0]=0;c[(c[Tb>>2]|0)+60>>2]=0;a[(c[Tb>>2]|0)+26>>0]=0;if(c[ge>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;c[(c[Tb>>2]|0)+12>>2]=c[ge>>2];break}case 73:{cg=(c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]|0)+40|0;$f=cg;j=c[$f>>2]|0;$f=c[$f+4>>2]|0;f=DH(j|0,$f|0,1,0)|0;c[cg>>2]=f;c[cg+4>>2]=C;cg=c[rd>>2]|0;c[cg>>2]=j;c[cg+4>>2]=$f;break}case 74:{cg=Ke;c[cg>>2]=0;c[cg+4>>2]=0;c[je>>2]=0;c[Ub>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(c[c[Ub>>2]>>2]|0){do if(!((d[(c[Ub>>2]|0)+27>>0]|0)>>>1&1)){c[Uf>>2]=Lz(c[c[Ub>>2]>>2]|0,je)|0;if(c[Uf>>2]|0)break c;if(c[je>>2]|0){cg=Ke;c[cg>>2]=1;c[cg+4>>2]=0;break}c[Uf>>2]=Ny(c[c[Ub>>2]>>2]|0,Ke)|0;cg=Ke;$f=c[cg+4>>2]|0;if(($f|0)>2147483647|($f|0)==2147483647&(c[cg>>2]|0)>>>0>=4294967295){cg=(c[Ub>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-3|2;break}else{$f=Ke;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,1,0)|0;cg=Ke;c[cg>>2]=$f;c[cg+4>>2]=C;break}}while(0);if(c[(c[Sf>>2]|0)+12>>2]|0){if(c[(c[Of>>2]|0)+176>>2]|0){c[Pc>>2]=c[(c[Of>>2]|0)+176>>2];while(1){if(!(c[(c[Pc>>2]|0)+4>>2]|0))break;c[Pc>>2]=c[(c[Pc>>2]|0)+4>>2]}c[fd>>2]=(c[(c[Pc>>2]|0)+12>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0)}else c[fd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);wp(c[fd>>2]|0)|0;cg=c[fd>>2]|0;if((c[cg>>2]|0)==-1?(c[cg+4>>2]|0)==2147483647:0){k=553;break c}if((d[(c[Ub>>2]|0)+27>>0]|0)>>>1&1){k=553;break c}f=Ke;$f=c[f>>2]|0;f=c[f+4>>2]|0;cg=c[fd>>2]|0;cg=DH(c[cg>>2]|0,c[cg+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&$f>>>0>>0){$f=c[fd>>2]|0;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,1,0)|0;cg=Ke;c[cg>>2]=$f;c[cg+4>>2]=C}j=Ke;$f=c[j+4>>2]|0;cg=c[fd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}if((d[(c[Ub>>2]|0)+27>>0]|0)>>>1&1){c[F>>2]=0;do{_b(8,Ke);j=Ke;cg=c[j+4>>2]&1073741823;$f=Ke;c[$f>>2]=c[j>>2];c[$f+4>>2]=cg;$f=Ke;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,1,0)|0;cg=Ke;c[cg>>2]=$f;c[cg+4>>2]=C;cg=Ke;cg=Gw(c[c[Ub>>2]>>2]|0,0,c[cg>>2]|0,c[cg+4>>2]|0,0,je)|0;c[Uf>>2]=cg;if(!((cg|0)==0&(c[je>>2]|0)==0))break;cg=(c[F>>2]|0)+1|0;c[F>>2]=cg}while((cg|0)<100);if((c[Uf>>2]|0)==0&(c[je>>2]|0)==0){k=562;break c}}a[(c[Ub>>2]|0)+26>>0]=0;c[(c[Ub>>2]|0)+60>>2]=0}j=Ke;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;break}case 84:case 75:{c[Gc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[Vb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];f=c[(c[Sf>>2]|0)+12>>2]|0;if((d[c[Sf>>2]>>0]|0)==75){c[_c>>2]=(c[l>>2]|0)+(f*40|0);j=c[_c>>2]|0;$f=c[j+4>>2]|0;cg=sa;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}else{cg=sa;c[cg>>2]=f;c[cg+4>>2]=((f|0)<0)<<31>>31}if(d[(c[Sf>>2]|0)+3>>0]&1){cg=(c[Of>>2]|0)+92|0;c[cg>>2]=(c[cg>>2]|0)+1}if(d[(c[Sf>>2]|0)+3>>0]&2){$f=sa;j=c[$f>>2]|0;$f=c[$f+4>>2]|0;cg=Qf;c[cg>>2]=j;c[cg+4>>2]=$f;cg=(c[Pf>>2]|0)+32|0;c[cg>>2]=j;c[cg+4>>2]=$f}if(e[(c[Gc>>2]|0)+8>>1]&1){c[(c[Gc>>2]|0)+16>>2]=0;c[(c[Gc>>2]|0)+12>>2]=0}if(d[(c[Sf>>2]|0)+3>>0]&16)f=c[(c[Vb>>2]|0)+12>>2]|0;else f=0;c[Ae>>2]=f;if(e[(c[Gc>>2]|0)+8>>1]&16384)c[mb>>2]=c[c[Gc>>2]>>2];else c[mb>>2]=0;cg=sa;c[Uf>>2]=Mz(c[c[Vb>>2]>>2]|0,0,c[cg>>2]|0,c[cg+4>>2]|0,c[(c[Gc>>2]|0)+16>>2]|0,c[(c[Gc>>2]|0)+12>>2]|0,c[mb>>2]|0,(d[(c[Sf>>2]|0)+3>>0]&8|0)!=0&1,c[Ae>>2]|0)|0;a[(c[Vb>>2]|0)+26>>0]=0;c[(c[Vb>>2]|0)+60>>2]=0;if(((c[Uf>>2]|0)==0?(c[(c[Pf>>2]|0)+208>>2]|0)!=0:0)?(c[(c[Sf>>2]|0)+16>>2]|0)!=0:0){c[Bf>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(a[(c[Vb>>2]|0)+24>>0]<<4)>>2];c[Mf>>2]=c[(c[Sf>>2]|0)+16>>2];c[zb>>2]=(d[(c[Sf>>2]|0)+3>>0]&4|0)!=0?23:18;cg=sa;ub[c[(c[Pf>>2]|0)+208>>2]&0](c[(c[Pf>>2]|0)+204>>2]|0,c[zb>>2]|0,c[Bf>>2]|0,c[Mf>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0)}break}case 95:{c[Wb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Uf>>2]=Nz(c[c[Wb>>2]>>2]|0)|0;c[(c[Wb>>2]|0)+60>>2]=0;if((((c[Uf>>2]|0)==0?(c[(c[Pf>>2]|0)+208>>2]|0)!=0:0)?(c[(c[Sf>>2]|0)+16>>2]|0)!=0:0)?((d[(c[Wb>>2]|0)+27>>0]|0)>>>2&1|0)!=0:0){cg=(c[Wb>>2]|0)+48|0;ub[c[(c[Pf>>2]|0)+208>>2]&0](c[(c[Pf>>2]|0)+204>>2]|0,9,c[(c[(c[Pf>>2]|0)+16>>2]|0)+(a[(c[Wb>>2]|0)+24>>0]<<4)>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0)}if(c[(c[Sf>>2]|0)+8>>2]&1){cg=(c[Of>>2]|0)+92|0;c[cg>>2]=(c[cg>>2]|0)+1}break}case 98:{cz(c[Pf>>2]|0,c[(c[Of>>2]|0)+92>>2]|0);c[(c[Of>>2]|0)+92>>2]=0;break}case 99:{c[Xb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[eb>>2]=c[(c[Sf>>2]|0)+16>>2];c[ke>>2]=0;c[Uf>>2]=Oz(c[Xb>>2]|0,c[Yc>>2]|0,c[eb>>2]|0,ke)|0;if(c[ke>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 100:{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[Yb>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Uf>>2]=Pz(c[Yb>>2]|0,c[rd>>2]|0)|0;c[(c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+12>>2]<<2)>>2]|0)+60>>2]=0;break}case 102:case 101:{c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[ac>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[rc>>2]=c[c[ac>>2]>>2];f=c[rc>>2]|0;if((d[(c[ac>>2]|0)+27>>0]|0)>>>2&1){rz(f,Oa)|0;if((c[Oa>>2]|0)>>>0>(c[(c[Pf>>2]|0)+88>>2]|0)>>>0){k=866;break c}}else{Ny(f,Qa)|0;$f=Qa;f=c[$f+4>>2]|0;cg=c[(c[Pf>>2]|0)+88>>2]|0;j=((cg|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[$f>>2]|0)>>>0>cg>>>0:0)){k=866;break c}c[Oa>>2]=c[Qa>>2]}if(vp(c[rd>>2]|0,(c[Oa>>2]|0)>>>0>32?c[Oa>>2]|0:32)|0){k=867;break a}c[(c[rd>>2]|0)+12>>2]=c[Oa>>2];b[(c[rd>>2]|0)+8>>1]=e[(c[rd>>2]|0)+8>>1]&-16896|16;j=c[rc>>2]|0;f=c[Oa>>2]|0;g=c[(c[rd>>2]|0)+16>>2]|0;if(!((d[(c[ac>>2]|0)+27>>0]|0)>>>2&1))c[Uf>>2]=Oy(j,0,f,g)|0;else c[Uf>>2]=Hf(j,0,f,g)|0;a[(c[rd>>2]|0)+10>>0]=1;break}case 103:{c[bc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(a[(c[bc>>2]|0)+25>>0]|0){b[(c[rd>>2]|0)+8>>1]=1;break d}f=c[bc>>2]|0;do if(!(a[(c[bc>>2]|0)+26>>0]|0)){g=c[bc>>2]|0;if(c[f+32>>2]|0){c[Fd>>2]=c[c[g+32>>2]>>2];c[jd>>2]=c[c[Fd>>2]>>2];c[Uf>>2]=vb[c[(c[jd>>2]|0)+48>>2]&63](c[(c[bc>>2]|0)+32>>2]|0,Ne)|0;Qz(c[Of>>2]|0,c[Fd>>2]|0);break}c[Uf>>2]=Rz(g)|0;if(c[Uf>>2]|0)break c;if(a[(c[bc>>2]|0)+25>>0]|0){b[(c[rd>>2]|0)+8>>1]=1;break d}else{c[Uf>>2]=Ny(c[c[bc>>2]>>2]|0,Ne)|0;break}}else{j=f+48|0;$f=c[j+4>>2]|0;cg=Ne;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}while(0);j=Ne;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;break}case 104:{c[cc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];a[(c[cc>>2]|0)+25>>0]=1;c[(c[cc>>2]|0)+60>>2]=0;if(c[c[cc>>2]>>2]|0)ot(c[c[cc>>2]>>2]|0);break}case 105:{c[dc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[sc>>2]=c[c[dc>>2]>>2];c[ne>>2]=0;c[Uf>>2]=Lz(c[sc>>2]|0,ne)|0;a[(c[dc>>2]|0)+25>>0]=c[ne>>2];a[(c[dc>>2]|0)+26>>0]=0;c[(c[dc>>2]|0)+60>>2]=0;if((c[ne>>2]|0)!=0?(c[(c[Sf>>2]|0)+8>>2]|0)>0:0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 107:case 106:{k=(c[Of>>2]|0)+108+8|0;c[k>>2]=(c[k>>2]|0)+1;k=619;break}case 108:{k=619;break}case 5:{c[fc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[pe>>2]=0;c[Uf>>2]=Uz(c[Pf>>2]|0,c[fc>>2]|0,pe)|0;k=627;break}case 7:case 6:{if(c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2]|0)k=626;break}case 9:case 8:{k=626;break}case 110:case 109:{c[gc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[uc>>2]=c[c[gc>>2]>>2];if(d[(c[Sf>>2]|0)+3>>0]&1){cg=(c[Of>>2]|0)+92|0;c[cg>>2]=(c[cg>>2]|0)+1}if(e[(c[Xc>>2]|0)+8>>1]&16384)f=Pe(c[Xc>>2]|0)|0;else f=0;c[Uf>>2]=f;if(!(c[Uf>>2]|0)){if(c[(c[gc>>2]|0)+56>>2]|0){c[Uf>>2]=Vz(c[gc>>2]|0,c[Xc>>2]|0)|0;break d}c[db>>2]=c[(c[Xc>>2]|0)+12>>2];c[Ff>>2]=c[(c[Xc>>2]|0)+16>>2];f=c[db>>2]|0;if(d[(c[Sf>>2]|0)+3>>0]&16)g=c[(c[gc>>2]|0)+12>>2]|0;else g=0;c[Uf>>2]=Mz(c[uc>>2]|0,c[Ff>>2]|0,f,((f|0)<0)<<31>>31,14425,0,0,c[(c[Sf>>2]|0)+12>>2]|0,g)|0;c[(c[gc>>2]|0)+60>>2]=0}break}case 111:{c[hc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[vc>>2]=c[c[hc>>2]>>2];c[Zd>>2]=c[(c[hc>>2]|0)+8>>2];b[Zd+4>>1]=c[(c[Sf>>2]|0)+12>>2];a[Zd+6>>0]=0;c[Zd+8>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[Uf>>2]=Gw(c[vc>>2]|0,Zd,0,0,0,qe)|0;if((c[Uf>>2]|0)==0&(c[qe>>2]|0)==0)c[Uf>>2]=Nz(c[vc>>2]|0)|0;c[(c[hc>>2]|0)+60>>2]=0;break}case 112:{c[jc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[wc>>2]=c[c[jc>>2]>>2];b[(c[rd>>2]|0)+8>>1]=1;c[Uf>>2]=Rz(c[jc>>2]|0)|0;if(c[Uf>>2]|0)break c;if(!(a[(c[jc>>2]|0)+25>>0]|0)){cg=we;c[cg>>2]=0;c[cg+4>>2]=0;c[Uf>>2]=Wz(c[Pf>>2]|0,c[wc>>2]|0,we)|0;if(c[Uf>>2]|0)break c;j=we;$f=c[j+4>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;b[(c[rd>>2]|0)+8>>1]=4}break}case 116:case 115:case 114:case 113:{c[kc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=c[(c[kc>>2]|0)+8>>2];b[_d+4>>1]=c[(c[Sf>>2]|0)+16>>2];f=_d+6|0;if((d[c[Sf>>2]>>0]|0)<115)a[f>>0]=-1;else a[f>>0]=0;c[_d+8>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[re>>2]=0;c[Uf>>2]=Xz(c[Pf>>2]|0,c[kc>>2]|0,_d,re)|0;f=c[re>>2]|0;if((d[c[Sf>>2]>>0]&1|0)==1)c[re>>2]=0-f;else c[re>>2]=f+1;if((c[re>>2]|0)>0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 117:{c[ia>>2]=0;c[Dd>>2]=c[(c[Pf>>2]|0)+4>>2];while(1){if(!(c[Dd>>2]|0))break;if((((c[(c[Dd>>2]|0)+40>>2]|0)==-1108210269?((e[(c[Dd>>2]|0)+88>>1]|0)>>>9&1|0)!=0:0)?((e[(c[Dd>>2]|0)+88>>1]|0)>>>2&3|0)<2:0)?(c[(c[Dd>>2]|0)+76>>2]|0)>=0:0)c[ia>>2]=(c[ia>>2]|0)+1;c[Dd>>2]=c[(c[Dd>>2]|0)+52>>2]}b[(c[rd>>2]|0)+8>>1]=1;if((c[ia>>2]|0)>1){c[Uf>>2]=6;a[(c[Of>>2]|0)+86>>0]=2;break d}c[na>>2]=c[(c[Sf>>2]|0)+12>>2];c[va>>2]=0;c[Uf>>2]=Yz(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[na>>2]<<4)+4>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,va)|0;b[(c[rd>>2]|0)+8>>1]=4;$f=c[va>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;if((c[Uf>>2]|0)==0&(c[va>>2]|0)!=0){Zz(c[Pf>>2]|0,c[na>>2]|0,c[va>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0);a[se>>0]=(c[na>>2]|0)+1}break}case 118:{c[Xa>>2]=0;c[Uf>>2]=_z(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,(c[(c[Sf>>2]|0)+12>>2]|0)!=0?Xa:0)|0;if((c[(c[Sf>>2]|0)+12>>2]|0)!=0?(cg=(c[Of>>2]|0)+92|0,c[cg>>2]=(c[cg>>2]|0)+(c[Xa>>2]|0),(c[(c[Sf>>2]|0)+12>>2]|0)>0):0){$f=c[Xa>>2]|0;cg=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0)|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C}break}case 119:{c[lc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(c[(c[lc>>2]|0)+56>>2]|0){$z(c[Pf>>2]|0,c[(c[lc>>2]|0)+56>>2]|0);break d}else{c[Uf>>2]=aA(c[c[lc>>2]>>2]|0)|0;break d}}case 121:case 120:{c[Vd>>2]=0;c[Kc>>2]=(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4);if((d[c[Sf>>2]>>0]|0)==121)c[T>>2]=1;else c[T>>2]=2;c[Uf>>2]=Hz(c[(c[Kc>>2]|0)+4>>2]|0,Vd,c[T>>2]|0)|0;$f=c[Vd>>2]|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;break}case 122:{c[oa>>2]=c[(c[Sf>>2]|0)+4>>2];c[Gf>>2]=(c[oa>>2]|0)==1?19269:19288;c[Da>>2]=c[Pf>>2];c[Da+8>>2]=c[(c[Sf>>2]|0)+4>>2];c[Da+4>>2]=(c[Of>>2]|0)+44;cg=c[Pf>>2]|0;j=c[Gf>>2]|0;$f=c[(c[Sf>>2]|0)+16>>2]|0;c[cf>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)>>2];c[cf+4>>2]=j;c[cf+8>>2]=$f;c[Lf>>2]=tf(cg,31484,cf)|0;if(!(c[Lf>>2]|0))c[Uf>>2]=7;else{a[(c[Pf>>2]|0)+140+5>>0]=1;c[Da+12>>2]=0;c[Uf>>2]=Zc(c[Pf>>2]|0,c[Lf>>2]|0,7,Da,0)|0;if(!(c[Uf>>2]|0))c[Uf>>2]=c[Da+12>>2];Nd(c[Pf>>2]|0,c[Lf>>2]|0);a[(c[Pf>>2]|0)+140+5>>0]=0}if(c[Uf>>2]|0)ue(c[Pf>>2]|0);if((c[Uf>>2]|0)==7){k=867;break a}break}case 123:{c[Uf>>2]=Tr(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0)|0;break}case 124:{bA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0);break}case 125:{cA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0);break}case 126:{dA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0);break}case 127:{c[ib>>2]=c[(c[Sf>>2]|0)+8>>2];c[q>>2]=qf(c[Pf>>2]|0,(c[ib>>2]|0)+1<<2,0)|0;if(!(c[q>>2]|0)){k=867;break a}c[Wd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Ia>>2]=0;while(1){f=c[Ia>>2]|0;if((c[Ia>>2]|0)>=(c[ib>>2]|0))break;cg=Te((c[Wc>>2]|0)+(f*40|0)|0)|0;c[(c[q>>2]|0)+(c[Ia>>2]<<2)>>2]=cg;c[Ia>>2]=(c[Ia>>2]|0)+1}c[(c[q>>2]|0)+(f<<2)>>2]=0;c[vf>>2]=eA(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(d[(c[Sf>>2]|0)+3>>0]<<4)+4>>2]|0,c[q>>2]|0,c[ib>>2]|0,c[c[Wd>>2]>>2]|0,_a)|0;Nd(c[Pf>>2]|0,c[q>>2]|0);$f=c[_a>>2]|0;cg=c[Wd>>2]|0;j=cg;$f=AH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;Ze(c[Wc>>2]|0);if(c[_a>>2]|0){if(!(c[vf>>2]|0)){k=867;break a}Xe(c[Wc>>2]|0,c[vf>>2]|0,-1,1,13)|0}am(c[Wc>>2]|0,d[L>>0]|0)|0;break}case 128:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]&32|0)==0?(fA(c[Wc>>2]|0),(e[(c[Wc>>2]|0)+8>>1]&32|0)==0):0){k=867;break a}cg=c[Xc>>2]|0;gA(c[c[Wc>>2]>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0);break}case 129:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Wc>>2]|0)+8>>1]&32|0)!=0?(hA(c[c[Wc>>2]>>2]|0,Qe)|0)!=0:0){k=Qe;Ye((c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=16;break d}Ze(c[Wc>>2]|0);c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;k=16;break}case 130:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Yc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[za>>2]=c[(c[Sf>>2]|0)+16>>2];if((e[(c[Wc>>2]|0)+8>>1]&32|0)==0?(fA(c[Wc>>2]|0),(e[(c[Wc>>2]|0)+8>>1]&32|0)==0):0){k=867;break a}if((c[za>>2]|0)!=0?(cg=c[Yc>>2]|0,c[O>>2]=iA(c[c[Wc>>2]>>2]|0,c[za>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0)|0,(c[O>>2]|0)!=0):0){c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}if((c[za>>2]|0)>=0){cg=c[Yc>>2]|0;gA(c[c[Wc>>2]>>2]|0,c[cg>>2]|0,c[cg+4>>2]|0)}break}case 131:{c[td>>2]=c[(c[Sf>>2]|0)+16>>2];c[yd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(a[(c[Sf>>2]|0)+3>>0]|0){c[Ee>>2]=c[(c[td>>2]|0)+20>>2];c[Qc>>2]=c[(c[Of>>2]|0)+176>>2];while(1){if(!(c[Qc>>2]|0))break;if((c[(c[Qc>>2]|0)+24>>2]|0)==(c[Ee>>2]|0))break;c[Qc>>2]=c[(c[Qc>>2]|0)+4>>2]}if(c[Qc>>2]|0)break d}if((c[(c[Of>>2]|0)+184>>2]|0)>=(c[(c[Pf>>2]|0)+88+40>>2]|0)){c[Uf>>2]=1;Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,31548,df);break d}j:do if(!(e[(c[yd>>2]|0)+8>>1]&64)){c[fb>>2]=(c[(c[td>>2]|0)+8>>2]|0)+(c[(c[td>>2]|0)+12>>2]|0);c[Wa>>2]=72+((c[fb>>2]|0)*40|0)+(c[(c[td>>2]|0)+12>>2]<<2)+(c[(c[td>>2]|0)+16>>2]|0);cg=c[Wa>>2]|0;c[Qc>>2]=gf(c[Pf>>2]|0,cg,((cg|0)<0)<<31>>31)|0;if(!(c[Qc>>2]|0)){k=867;break a}Oe(c[yd>>2]|0);b[(c[yd>>2]|0)+8>>1]=64;c[c[yd>>2]>>2]=c[Qc>>2];c[c[Qc>>2]>>2]=c[Of>>2];c[(c[Qc>>2]|0)+60>>2]=c[fb>>2];c[(c[Qc>>2]|0)+64>>2]=c[(c[td>>2]|0)+12>>2];c[(c[Qc>>2]|0)+44>>2]=c[Tf>>2];c[(c[Qc>>2]|0)+12>>2]=c[(c[Of>>2]|0)+8>>2];c[(c[Qc>>2]|0)+52>>2]=c[(c[Of>>2]|0)+28>>2];c[(c[Qc>>2]|0)+20>>2]=c[(c[Of>>2]|0)+56>>2];c[(c[Qc>>2]|0)+40>>2]=c[(c[Of>>2]|0)+36>>2];c[(c[Qc>>2]|0)+8>>2]=c[(c[Of>>2]|0)+4>>2];c[(c[Qc>>2]|0)+48>>2]=c[(c[Of>>2]|0)+32>>2];c[(c[Qc>>2]|0)+24>>2]=c[(c[td>>2]|0)+20>>2];c[(c[Qc>>2]|0)+16>>2]=c[(c[Of>>2]|0)+200>>2];c[(c[Qc>>2]|0)+56>>2]=c[(c[Of>>2]|0)+196>>2];c[Nc>>2]=(c[Qc>>2]|0)+72+((c[(c[Qc>>2]|0)+60>>2]|0)*40|0);c[gd>>2]=(c[Qc>>2]|0)+72;while(1){if((c[gd>>2]|0)==(c[Nc>>2]|0))break j;b[(c[gd>>2]|0)+8>>1]=128;c[(c[gd>>2]|0)+32>>2]=c[Pf>>2];c[gd>>2]=(c[gd>>2]|0)+40}}else c[Qc>>2]=c[c[yd>>2]>>2];while(0);j=(c[Of>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Qc>>2]|0)+4>>2]=c[(c[Of>>2]|0)+176>>2];j=Qf;$f=c[j+4>>2]|0;cg=(c[Qc>>2]|0)+32|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;c[(c[Qc>>2]|0)+68>>2]=c[(c[Of>>2]|0)+92>>2];c[(c[Of>>2]|0)+92>>2]=0;c[(c[Of>>2]|0)+176>>2]=c[Qc>>2];cg=(c[Qc>>2]|0)+72+-40|0;c[l>>2]=cg;c[(c[Of>>2]|0)+8>>2]=cg;c[(c[Of>>2]|0)+28>>2]=c[(c[Qc>>2]|0)+60>>2];c[(c[Of>>2]|0)+36>>2]=c[(c[Qc>>2]|0)+64>>2]&65535;c[(c[Of>>2]|0)+56>>2]=(c[l>>2]|0)+(((c[(c[Of>>2]|0)+28>>2]|0)+1|0)*40|0);cg=c[c[td>>2]>>2]|0;c[n>>2]=cg;c[(c[Of>>2]|0)+4>>2]=cg;c[(c[Of>>2]|0)+32>>2]=c[(c[td>>2]|0)+4>>2];c[(c[Of>>2]|0)+200>>2]=(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Of>>2]|0)+36>>2]<<2);c[(c[Of>>2]|0)+196>>2]=c[(c[td>>2]|0)+16>>2];c[Tf>>2]=-1;BH(c[(c[Of>>2]|0)+200>>2]|0,0,c[(c[Of>>2]|0)+196>>2]|0)|0;break}case 132:{c[Rc>>2]=c[(c[Of>>2]|0)+176>>2];c[Vc>>2]=(c[(c[Rc>>2]|0)+12>>2]|0)+(((c[(c[Sf>>2]|0)+4>>2]|0)+(c[(c[(c[Rc>>2]|0)+8>>2]|0)+((c[(c[Rc>>2]|0)+44>>2]|0)*20|0)+4>>2]|0)|0)*40|0);ax(c[rd>>2]|0,c[Vc>>2]|0,4096);break}case 134:{j=c[Sf>>2]|0;if(c[(c[Pf>>2]|0)+24>>2]&16777216){$f=c[j+8>>2]|0;cg=(c[Pf>>2]|0)+512|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;break d}f=c[(c[Sf>>2]|0)+8>>2]|0;g=((f|0)<0)<<31>>31;if(c[j+4>>2]|0){cg=(c[Pf>>2]|0)+504|0;$f=cg;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,f|0,g|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;break d}else{cg=(c[Of>>2]|0)+144|0;$f=cg;$f=DH(c[$f>>2]|0,c[$f+4>>2]|0,f|0,g|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;break d}}case 135:if(c[(c[Sf>>2]|0)+4>>2]|0){cg=(c[Pf>>2]|0)+504|0;if(!((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0))break d;cg=(c[Pf>>2]|0)+512|0;if(!((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0))break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}else{cg=(c[Of>>2]|0)+144|0;if(!((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0))break d;cg=(c[Pf>>2]|0)+512|0;if(!((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0))break d;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break d}case 136:{if(c[(c[Of>>2]|0)+176>>2]|0){c[Sc>>2]=c[(c[Of>>2]|0)+176>>2];while(1){if(!(c[(c[Sc>>2]|0)+4>>2]|0))break;c[Sc>>2]=c[(c[Sc>>2]|0)+4>>2]}c[Wc>>2]=(c[(c[Sc>>2]|0)+12>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0)}else c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);wp(c[Wc>>2]|0)|0;c[Xc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);wp(c[Xc>>2]|0)|0;$f=c[Wc>>2]|0;f=c[$f+4>>2]|0;cg=c[Xc>>2]|0;j=c[cg+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[$f>>2]|0)>>>0<(c[cg>>2]|0)>>>0:0)){j=c[Xc>>2]|0;$f=c[j+4>>2]|0;cg=c[Wc>>2]|0;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f}break}case 137:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);cg=c[Wc>>2]|0;$f=c[cg+4>>2]|0;if(($f|0)>0|($f|0)==0&(c[cg>>2]|0)>>>0>0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 138:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);$f=c[(c[Sf>>2]|0)+12>>2]|0;cg=c[Wc>>2]|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;if((c[(c[Wc>>2]|0)+4>>2]|0)<0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 139:{c[Wc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);$f=c[(c[Sf>>2]|0)+12>>2]|0;cg=c[Wc>>2]|0;j=cg;$f=DH(c[j>>2]|0,c[j+4>>2]|0,$f|0,(($f|0)<0)<<31>>31|0)|0;c[cg>>2]=$f;c[cg+4>>2]=C;cg=c[Wc>>2]|0;if((c[cg>>2]|0)==0&(c[cg+4>>2]|0)==0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;break}case 10:{c[Ra>>2]=d[(c[Sf>>2]|0)+3>>0];c[wd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);c[x>>2]=c[(c[Of>>2]|0)+12>>2];c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[Ra>>2]|0))break;c[(c[x>>2]|0)+(c[da>>2]<<2)>>2]=c[wd>>2];c[da>>2]=(c[da>>2]|0)+1;c[wd>>2]=(c[wd>>2]|0)+40}c[H+4>>2]=c[(c[Sf>>2]|0)+16>>2];cg=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0)|0;c[hd>>2]=cg;c[H+8>>2]=cg;cg=(c[hd>>2]|0)+12|0;c[cg>>2]=(c[cg>>2]|0)+1;$w(Fe,c[Pf>>2]|0,1);c[H>>2]=Fe;c[H+20>>2]=0;c[H+12>>2]=c[Of>>2];c[H+16>>2]=c[Tf>>2];a[H+24>>0]=0;rb[c[(c[H+4>>2]|0)+16>>2]&63](H,c[Ra>>2]|0,c[x>>2]|0);if(c[H+20>>2]|0){$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[ff>>2]=ic(Fe)|0;Ym($f,cg,14418,ff);c[Uf>>2]=c[H+20>>2]}if((a[H+24>>0]|0)!=0?(c[da>>2]=c[(c[Sf>>2]|0)+-20+4>>2],(c[da>>2]|0)!=0):0)Ye((c[l>>2]|0)+((c[da>>2]|0)*40|0)|0,1,0);Oe(Fe);break}case 140:{c[id>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Uf>>2]=cx(c[id>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0)|0;if(c[Uf>>2]|0){$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[hf>>2]=ic(c[id>>2]|0)|0;Ym($f,cg,14418,hf)}am(c[id>>2]|0,d[L>>0]|0)|0;if(fz(c[id>>2]|0)|0){k=866;break c}break}case 11:{c[p>>2]=0;c[p+8>>2]=-1;c[p+4>>2]=-1;c[Uf>>2]=bg(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,p+4|0,p+8|0)|0;if((c[Uf>>2]|0)==5){c[Uf>>2]=0;c[p>>2]=1}c[W>>2]=0;c[ed>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[W>>2]|0)>=3)break d;cg=c[p+(c[W>>2]<<2)>>2]|0;Ye(c[ed>>2]|0,cg,((cg|0)<0)<<31>>31);c[W>>2]=(c[W>>2]|0)+1;c[ed>>2]=(c[ed>>2]|0)+40}}case 12:{c[J>>2]=c[(c[Sf>>2]|0)+12>>2];c[Lb>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2];c[sd>>2]=Id(c[Lb>>2]|0)|0;c[K>>2]=le(c[sd>>2]|0)|0;if((c[J>>2]|0)==-1)c[J>>2]=c[K>>2];if(!(jA(c[sd>>2]|0)|0))c[J>>2]=c[K>>2];c[Df>>2]=qg(c[sd>>2]|0,1)|0;do if((c[J>>2]|0)==5){if((Ed(c[Df>>2]|0)|0)!=0?(kA(c[sd>>2]|0)|0)!=0:0)break;c[J>>2]=c[K>>2]}while(0);do if((c[J>>2]|0)!=(c[K>>2]|0)?(c[K>>2]|0)==5|(c[J>>2]|0)==5:0){if((a[(c[Pf>>2]|0)+62>>0]|0)!=0?(c[(c[Pf>>2]|0)+152>>2]|0)<=1:0){do if((c[K>>2]|0)==5){c[Uf>>2]=lA(c[sd>>2]|0)|0;if(c[Uf>>2]|0)break;mA(c[sd>>2]|0,c[J>>2]|0)|0}else{if((c[K>>2]|0)!=4)break;mA(c[sd>>2]|0,2)|0}while(0);if(c[Uf>>2]|0)break;c[Uf>>2]=ve(c[Lb>>2]|0,(c[J>>2]|0)==5?2:1)|0;break}c[Uf>>2]=1;$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[jf>>2]=(c[J>>2]|0)==5?31585:31590;Ym($f,cg,31597,jf);break d}while(0);if(c[Uf>>2]|0)c[J>>2]=c[K>>2];c[J>>2]=mA(c[sd>>2]|0,c[J>>2]|0)|0;c[rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+8>>2]|0)*40|0);b[(c[rd>>2]|0)+8>>1]=2562;cg=Ot(c[J>>2]|0)|0;c[(c[rd>>2]|0)+16>>2]=cg;cg=Ed(c[(c[rd>>2]|0)+16>>2]|0)|0;c[(c[rd>>2]|0)+12>>2]=cg;a[(c[rd>>2]|0)+10>>0]=1;am(c[rd>>2]|0,d[L>>0]|0)|0;break}case 13:{c[Uf>>2]=nA((c[Of>>2]|0)+44|0,c[Pf>>2]|0)|0;break}case 141:{c[Mb>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2];c[Uf>>2]=oA(c[Mb>>2]|0)|0;if((c[Uf>>2]|0)==101){c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;c[Uf>>2]=0}break}case 142:if(c[(c[Sf>>2]|0)+4>>2]|0){cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-33|32;break d}else{If(c[Pf>>2]|0);break d}case 143:{a[Ga>>0]=c[(c[Sf>>2]|0)+12>>2];if((d[Ga>>0]|0)==0?0!=(c[(c[Pf>>2]|0)+24>>2]&16384|0):0)break d;c[Bb>>2]=c[(c[Sf>>2]|0)+4>>2];c[Uf>>2]=pA(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[Bb>>2]<<4)+4>>2]|0,c[(c[Sf>>2]|0)+8>>2]|0,a[Ga>>0]|0)|0;if((c[Uf>>2]&255|0)==6){c[wf>>2]=c[(c[Sf>>2]|0)+16>>2];$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[kf>>2]=c[wf>>2];Ym($f,cg,31649,kf)}break}case 144:{c[Bd>>2]=c[(c[Sf>>2]|0)+16>>2];c[Uf>>2]=qA(c[Pf>>2]|0,c[Bd>>2]|0)|0;if(c[Bd>>2]|0)Qz(c[Of>>2]|0,c[(c[Bd>>2]|0)+8>>2]|0);break}case 145:{c[Uf>>2]=rA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,(c[Of>>2]|0)+44|0)|0;break}case 146:{cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13|8;c[Uf>>2]=sA(c[Pf>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0)|0;cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13;break}case 147:{c[yc>>2]=0;c[Od>>2]=0;c[Gd>>2]=c[(c[(c[Sf>>2]|0)+16>>2]|0)+8>>2];c[kd>>2]=c[c[Gd>>2]>>2];c[Uf>>2]=vb[c[(c[kd>>2]|0)+24>>2]&63](c[Gd>>2]|0,Od)|0;Qz(c[Of>>2]|0,c[Gd>>2]|0);if(!(c[Uf>>2]|0)){c[c[Od>>2]>>2]=c[Gd>>2];c[yc>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,0,-1,0)|0;if(c[yc>>2]|0){c[(c[yc>>2]|0)+32>>2]=c[Od>>2];break d}else{a[(c[Pf>>2]|0)+64>>0]=1;qb[c[(c[kd>>2]|0)+28>>2]&31](c[Od>>2]|0)|0;break d}}break}case 14:{c[ud>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[Jb>>2]=(c[ud>>2]|0)+40;c[zc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Pd>>2]=c[(c[zc>>2]|0)+32>>2];c[Hd>>2]=c[c[Pd>>2]>>2];c[ld>>2]=c[c[Hd>>2]>>2];c[Sa>>2]=c[c[Jb>>2]>>2];c[wa>>2]=c[c[ud>>2]>>2];c[ce>>2]=0;c[u>>2]=c[(c[Of>>2]|0)+12>>2];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[Sa>>2]|0))break;c[(c[u>>2]|0)+(c[Y>>2]<<2)>>2]=(c[Jb>>2]|0)+(((c[Y>>2]|0)+1|0)*40|0);c[Y>>2]=(c[Y>>2]|0)+1}cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13|4;c[Uf>>2]=wb[c[(c[ld>>2]|0)+32>>2]&15](c[Pd>>2]|0,c[wa>>2]|0,c[(c[Sf>>2]|0)+16>>2]|0,c[Sa>>2]|0,c[u>>2]|0)|0;cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13;Qz(c[Of>>2]|0,c[Hd>>2]|0);if(!(c[Uf>>2]|0))c[ce>>2]=qb[c[(c[ld>>2]|0)+40>>2]&31](c[Pd>>2]|0)|0;if(c[ce>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;a[(c[zc>>2]|0)+25>>0]=0;break}case 148:{c[Ac>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);if(a[(c[Ac>>2]|0)+25>>0]|0){Ze(c[Mc>>2]|0);break d}c[Jd>>2]=c[c[(c[Ac>>2]|0)+32>>2]>>2];c[md>>2]=c[c[Jd>>2]>>2];c[ye>>2]=0;c[ye+4>>2]=0;c[ye+8>>2]=0;c[ye+12>>2]=0;c[ye+16>>2]=0;c[ye+20>>2]=0;c[ye+24>>2]=0;c[ye>>2]=c[Mc>>2];b[(c[Mc>>2]|0)+8>>1]=e[(c[Mc>>2]|0)+8>>1]&-16896|1;c[Uf>>2]=lb[c[(c[md>>2]|0)+44>>2]&31](c[(c[Ac>>2]|0)+32>>2]|0,ye,c[(c[Sf>>2]|0)+8>>2]|0)|0;Qz(c[Of>>2]|0,c[Jd>>2]|0);if(c[ye+20>>2]|0)c[Uf>>2]=c[ye+20>>2];am(c[Mc>>2]|0,d[L>>0]|0)|0;if(fz(c[Mc>>2]|0)|0){k=866;break c}break}case 149:{c[de>>2]=0;c[Bc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[Bc>>2]|0)+25>>0]|0)){c[Kd>>2]=c[c[(c[Bc>>2]|0)+32>>2]>>2];c[nd>>2]=c[c[Kd>>2]>>2];cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13|4;c[Uf>>2]=qb[c[(c[nd>>2]|0)+36>>2]&31](c[(c[Bc>>2]|0)+32>>2]|0)|0;cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-13;Qz(c[Of>>2]|0,c[Kd>>2]|0);if(!(c[Uf>>2]|0))c[de>>2]=qb[c[(c[nd>>2]|0)+40>>2]&31](c[(c[Bc>>2]|0)+32>>2]|0)|0;if(c[de>>2]|0)k=16;else{c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;k=16}}break}case 150:{c[Ld>>2]=c[(c[(c[Sf>>2]|0)+16>>2]|0)+8>>2];c[pd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0);c[Uf>>2]=am(c[pd>>2]|0,1)|0;if(!(c[Uf>>2]|0)){c[Uf>>2]=vb[c[(c[c[Ld>>2]>>2]|0)+76>>2]&63](c[Ld>>2]|0,c[(c[pd>>2]|0)+16>>2]|0)|0;Qz(c[Of>>2]|0,c[Ld>>2]|0);cg=(c[Of>>2]|0)+88|0;b[cg>>1]=b[cg>>1]&-33}break}case 15:{c[Md>>2]=c[(c[(c[Sf>>2]|0)+16>>2]|0)+8>>2];c[od>>2]=c[c[Md>>2]>>2];c[Ta>>2]=c[(c[Sf>>2]|0)+8>>2];if(c[(c[od>>2]|0)+52>>2]|0){a[sf>>0]=a[(c[Pf>>2]|0)+68>>0]|0;c[v>>2]=c[(c[Of>>2]|0)+12>>2];c[Rd>>2]=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+12>>2]|0)*40|0);c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[Ta>>2]|0))break;c[(c[v>>2]|0)+(c[_>>2]<<2)>>2]=c[Rd>>2];c[Rd>>2]=(c[Rd>>2]|0)+40;c[_>>2]=(c[_>>2]|0)+1}a[(c[Pf>>2]|0)+68>>0]=a[(c[Sf>>2]|0)+3>>0]|0;c[Uf>>2]=tb[c[(c[od>>2]|0)+52>>2]&15](c[Md>>2]|0,c[Ta>>2]|0,c[v>>2]|0,xe)|0;a[(c[Pf>>2]|0)+68>>0]=a[sf>>0]|0;Qz(c[Of>>2]|0,c[Md>>2]|0);if((c[Uf>>2]|0)==0?(c[(c[Sf>>2]|0)+4>>2]|0)!=0:0){$f=xe;j=c[$f>>2]|0;$f=c[$f+4>>2]|0;cg=Qf;c[cg>>2]=j;c[cg+4>>2]=$f;cg=(c[Pf>>2]|0)+32|0;c[cg>>2]=j;c[cg+4>>2]=$f}if((c[Uf>>2]&255|0)==19?(d[(c[(c[Sf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[Sf>>2]|0)+3>>0]|0)==4){c[Uf>>2]=0;break d}if((d[(c[Sf>>2]|0)+3>>0]|0)==5)f=2;else f=d[(c[Sf>>2]|0)+3>>0]|0;a[(c[Of>>2]|0)+86>>0]=f;break d}cg=(c[Of>>2]|0)+92|0;c[cg>>2]=(c[cg>>2]|0)+1}break}case 151:{$f=me(c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=0;break}case 152:{c[Nb>>2]=c[(c[(c[Pf>>2]|0)+16>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<4)+4>>2];c[nb>>2]=0;if((c[(c[Sf>>2]|0)+12>>2]|0)!=0?(c[nb>>2]=me(c[Nb>>2]|0)|0,(c[nb>>2]|0)>>>0<(c[(c[Sf>>2]|0)+12>>2]|0)>>>0):0)c[nb>>2]=c[(c[Sf>>2]|0)+12>>2];$f=tA(c[Nb>>2]|0,c[nb>>2]|0)|0;cg=c[rd>>2]|0;c[cg>>2]=$f;c[cg+4>>2]=(($f|0)<0)<<31>>31;break}case 153:{if(c[(c[Sf>>2]|0)+8>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;if((c[(c[Pf>>2]|0)+172>>2]|0)!=0?((e[(c[Of>>2]|0)+88>>1]|0)>>>11&1|0)==0:0){if(c[(c[Sf>>2]|0)+16>>2]|0)f=c[(c[Sf>>2]|0)+16>>2]|0;else f=c[(c[Of>>2]|0)+168>>2]|0;c[Nf>>2]=f;if(f){c[xf>>2]=uA(c[Of>>2]|0,c[Nf>>2]|0)|0;ob[c[(c[Pf>>2]|0)+172>>2]&7](c[(c[Pf>>2]|0)+176>>2]|0,c[xf>>2]|0);Nd(c[Pf>>2]|0,c[xf>>2]|0)}}break}default:{}}while(0);do if((k|0)==28){k=0;if(c[(c[Sf>>2]|0)+4>>2]|0){k=33;break c}if(!(c[(c[Of>>2]|0)+176>>2]|0)){k=33;break c}c[Oc>>2]=c[(c[Of>>2]|0)+176>>2];c[(c[Of>>2]|0)+176>>2]=c[(c[Oc>>2]|0)+4>>2];j=(c[Of>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+-1;cz(c[Pf>>2]|0,c[(c[Of>>2]|0)+92>>2]|0);c[Tf>>2]=dz(c[Oc>>2]|0)|0;j=(c[Pf>>2]|0)+32|0;$f=c[j+4>>2]|0;cg=Qf;c[cg>>2]=c[j>>2];c[cg+4>>2]=$f;if((c[(c[Sf>>2]|0)+8>>2]|0)==4)c[Tf>>2]=(c[(c[(c[Of>>2]|0)+4>>2]|0)+((c[Tf>>2]|0)*20|0)+8>>2]|0)-1;c[n>>2]=c[(c[Of>>2]|0)+4>>2];c[l>>2]=c[(c[Of>>2]|0)+8>>2]}else if((k|0)==57){k=0;b[(c[rd>>2]|0)+8>>1]=2562;c[(c[rd>>2]|0)+16>>2]=c[(c[Sf>>2]|0)+16>>2];c[(c[rd>>2]|0)+12>>2]=c[(c[Sf>>2]|0)+4>>2];a[(c[rd>>2]|0)+10>>0]=a[L>>0]|0}else if((k|0)==449){k=0;if((e[(c[Of>>2]|0)+88>>1]|0)>>>5&1){c[Uf>>2]=516;break}c[ab>>2]=0;c[ad>>2]=0;c[Gb>>2]=c[(c[Sf>>2]|0)+8>>2];c[ma>>2]=c[(c[Sf>>2]|0)+12>>2];c[Jc>>2]=(c[(c[Pf>>2]|0)+16>>2]|0)+(c[ma>>2]<<4);c[Qd>>2]=c[(c[Jc>>2]|0)+4>>2];if((d[c[Sf>>2]>>0]|0)==55){c[uf>>2]=1;if((d[(c[(c[Jc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[Of>>2]|0)+87>>0]|0))a[(c[Of>>2]|0)+87>>0]=a[(c[(c[Jc>>2]|0)+12>>2]|0)+76>>0]|0}else c[uf>>2]=0;if((d[(c[Sf>>2]|0)+3>>0]&2|0)!=0?(c[Xc>>2]=(c[l>>2]|0)+((c[Gb>>2]|0)*40|0),wp(c[Xc>>2]|0)|0,c[Gb>>2]=c[c[Xc>>2]>>2],(c[Gb>>2]|0)<2):0){k=457;break c}f=c[Sf>>2]|0;if((a[(c[Sf>>2]|0)+1>>0]|0)!=-6){if((a[f+1>>0]|0)==-14)c[ab>>2]=c[(c[Sf>>2]|0)+16>>2]}else{c[ad>>2]=c[f+16>>2];c[ab>>2]=(e[(c[ad>>2]|0)+6>>1]|0)+(e[(c[ad>>2]|0)+8>>1]|0)}c[Cc>>2]=Ez(c[Of>>2]|0,c[(c[Sf>>2]|0)+4>>2]|0,c[ab>>2]|0,c[ma>>2]|0,1)|0;if(!(c[Cc>>2]|0)){k=867;break a}a[(c[Cc>>2]|0)+25>>0]=1;cg=(c[Cc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-9|8;c[(c[Cc>>2]|0)+28>>2]=c[Gb>>2];c[Uf>>2]=Fz(c[Qd>>2]|0,c[Gb>>2]|0,c[uf>>2]|0,c[ad>>2]|0,c[c[Cc>>2]>>2]|0)|0;c[(c[Cc>>2]|0)+8>>2]=c[ad>>2];Gz(c[c[Cc>>2]>>2]|0,d[(c[Sf>>2]|0)+3>>0]&1);cg=(c[Cc>>2]|0)+27|0;a[cg>>0]=a[cg>>0]&-5|((a[(c[Sf>>2]|0)+1>>0]|0)!=-6&1)<<2&255}else if((k|0)==619){k=0;c[ec>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[oe>>2]=1;f=c[ec>>2]|0;if(c[(c[ec>>2]|0)+56>>2]|0)c[Uf>>2]=Sz(f,oe)|0;else{c[tc>>2]=c[f>>2];c[Uf>>2]=Tz(c[tc>>2]|0,oe)|0;a[(c[ec>>2]|0)+26>>0]=0;c[(c[ec>>2]|0)+60>>2]=0}a[(c[ec>>2]|0)+25>>0]=c[oe>>2];if(c[oe>>2]|0)c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1}else if((k|0)==626){c[fc>>2]=c[(c[(c[Of>>2]|0)+56>>2]|0)+(c[(c[Sf>>2]|0)+4>>2]<<2)>>2];c[pe>>2]=c[(c[Sf>>2]|0)+12>>2];c[Uf>>2]=vb[c[(c[Sf>>2]|0)+16>>2]&63](c[c[fc>>2]>>2]|0,pe)|0;k=627}while(0);do if((k|0)==627){c[(c[fc>>2]|0)+60>>2]=0;f=(c[fc>>2]|0)+25|0;if(!(c[pe>>2]|0)){a[f>>0]=0;c[Tf>>2]=(c[(c[Sf>>2]|0)+8>>2]|0)-1;k=(c[Of>>2]|0)+108+(d[(c[Sf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=16;break}else{a[f>>0]=1;k=16;break}}while(0);if((k|0)==16){k=0;if(c[(c[Pf>>2]|0)+240>>2]|0)break b;if(((c[(c[Pf>>2]|0)+292>>2]|0)!=0?(c[Rf>>2]|0)>>>0>=(c[hb>>2]|0)>>>0:0)?(c[hb>>2]=(c[Rf>>2]|0)+(c[(c[Pf>>2]|0)+300>>2]|0)-(((c[Rf>>2]|0)>>>0)%((c[(c[Pf>>2]|0)+300>>2]|0)>>>0)|0),(qb[c[(c[Pf>>2]|0)+292>>2]&31](c[(c[Pf>>2]|0)+296>>2]|0)|0)!=0):0){k=20;break}}c[Tf>>2]=(c[Tf>>2]|0)+1}switch(k|0){case 20:{c[Uf>>2]=9;break a}case 33:{c[(c[Of>>2]|0)+80>>2]=c[(c[Sf>>2]|0)+4>>2];a[(c[Of>>2]|0)+86>>0]=c[(c[Sf>>2]|0)+8>>2];c[(c[Of>>2]|0)+76>>2]=c[Tf>>2];if(c[(c[Of>>2]|0)+80>>2]|0){if(a[(c[Sf>>2]|0)+3>>0]|0)c[Zf>>2]=c[3368+((d[(c[Sf>>2]|0)+3>>0]|0)-1<<2)>>2];else c[Zf>>2]=0;c[Yf>>2]=31054;if((c[Zf>>2]|0)!=0?(c[(c[Sf>>2]|0)+16>>2]|0)!=0:0){$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;Wf=c[(c[Sf>>2]|0)+16>>2]|0;c[Re>>2]=c[Zf>>2];c[Re+4>>2]=Wf;Ym($f,cg,31078,Re)}else k=40;do if((k|0)==40){g=(c[Of>>2]|0)+44|0;f=c[Pf>>2]|0;if(c[(c[Sf>>2]|0)+16>>2]|0){c[Vf>>2]=c[(c[Sf>>2]|0)+16>>2];Ym(g,f,14418,Vf);break}else{c[Wf>>2]=c[Zf>>2];Ym(g,f,31103,Wf);break}}while(0);$f=c[(c[Sf>>2]|0)+4>>2]|0;cg=c[Yf>>2]|0;Yf=c[(c[Of>>2]|0)+168>>2]|0;Zf=c[(c[Of>>2]|0)+44>>2]|0;c[Xf>>2]=c[Tf>>2];c[Xf+4>>2]=Yf;c[Xf+8>>2]=Zf;Zb($f,cg,Xf)}c[Uf>>2]=ez(c[Of>>2]|0)|0;if((c[Uf>>2]|0)==5){c[Uf>>2]=5;c[(c[Of>>2]|0)+80>>2]=5;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}else{c[Uf>>2]=(c[(c[Of>>2]|0)+80>>2]|0)!=0?1:101;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}}case 76:{c[Uf>>2]=9;break a}case 79:{c[(c[Of>>2]|0)+72>>2]=(c[(c[Of>>2]|0)+72>>2]|0)+2|1;cg=(c[l>>2]|0)+((c[(c[Sf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[Of>>2]|0)+20>>2]=cg;c[dd>>2]=cg;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[Sf>>2]|0)+8>>2]|0))break;if((e[(c[dd>>2]|0)+((c[V>>2]|0)*40|0)+8>>1]&4096|0)!=0?(cm((c[dd>>2]|0)+((c[V>>2]|0)*40|0)|0)|0)!=0:0){k=867;break a}iz((c[dd>>2]|0)+((c[V>>2]|0)*40|0)|0)|0;c[V>>2]=(c[V>>2]|0)+1}if(a[(c[Pf>>2]|0)+64>>0]|0){k=867;break a}c[(c[Of>>2]|0)+76>>2]=(c[Tf>>2]|0)+1;c[Uf>>2]=100;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}case 165:{c[Uf>>2]=20;break}case 377:{c[(c[Of>>2]|0)+76>>2]=c[Tf>>2];a[(c[Pf>>2]|0)+62>>0]=0;c[Uf>>2]=5;c[(c[Of>>2]|0)+80>>2]=5;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}case 405:{if(!(c[xa>>2]|0)){cg=gz(c[Of>>2]|0,1)|0;c[Uf>>2]=cg;if(cg){cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}a[(c[Pf>>2]|0)+62>>0]=c[I>>2];if((ez(c[Of>>2]|0)|0)==5){c[(c[Of>>2]|0)+76>>2]=c[Tf>>2];a[(c[Pf>>2]|0)+62>>0]=1-(c[I>>2]|0);c[Uf>>2]=5;c[(c[Of>>2]|0)+80>>2]=5;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}}else{Bz(c[Pf>>2]|0,516);a[(c[Pf>>2]|0)+62>>0]=1}Cz(c[Pf>>2]|0);if(!(c[(c[Of>>2]|0)+80>>2]|0)){c[Uf>>2]=101;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}else{c[Uf>>2]=1;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}}case 418:{c[Uf>>2]=8;break}case 421:{c[(c[Of>>2]|0)+76>>2]=c[Tf>>2];c[Uf>>2]=5;c[(c[Of>>2]|0)+80>>2]=5;cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}case 457:{c[Uf>>2]=Rk(72320)|0;break}case 553:{c[Uf>>2]=13;break}case 562:{c[Uf>>2]=13;break}case 865:{cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}case 866:{Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,14395,mf);c[Uf>>2]=18;break a}}if(a[(c[Pf>>2]|0)+64>>0]|0)c[Uf>>2]=7;if((c[Uf>>2]|0)==3082)break a;$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[of>>2]=af(c[Uf>>2]|0)|0;Ym($f,cg,14418,of);break a}while(0);c[Uf>>2]=9;c[(c[Of>>2]|0)+80>>2]=c[Uf>>2];$f=(c[Of>>2]|0)+44|0;cg=c[Pf>>2]|0;c[rf>>2]=af(c[Uf>>2]|0)|0;Ym($f,cg,14418,rf)}while(0);if((k|0)==867){a[(c[Pf>>2]|0)+64>>0]=1;Ym((c[Of>>2]|0)+44|0,c[Pf>>2]|0,23480,nf);c[Uf>>2]=7}c[(c[Of>>2]|0)+80>>2]=c[Uf>>2];cg=c[Uf>>2]|0;Zf=c[(c[Of>>2]|0)+168>>2]|0;$f=c[(c[Of>>2]|0)+44>>2]|0;c[lf>>2]=c[Tf>>2];c[lf+4>>2]=Zf;c[lf+8>>2]=$f;Zb(cg,31678,lf);ez(c[Of>>2]|0)|0;if((c[Uf>>2]|0)==3082)a[(c[Pf>>2]|0)+64>>0]=1;c[Uf>>2]=1;if((d[se>>0]|0)<=0){cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}Or(c[Pf>>2]|0,(d[se>>0]|0)-1|0);cg=Qf;Yf=cg;Yf=c[Yf>>2]|0;cg=cg+4|0;cg=c[cg>>2]|0;$f=c[Pf>>2]|0;$f=$f+32|0;Zf=$f;c[Zf>>2]=Yf;$f=$f+4|0;c[$f>>2]=cg;$f=c[Rf>>2]|0;cg=c[Of>>2]|0;cg=cg+108|0;cg=cg+16|0;Zf=c[cg>>2]|0;$f=Zf+$f|0;c[cg>>2]=$f;cg=c[Uf>>2]|0;i=_f;return cg|0}function _y(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(c[e>>2]=az(Id(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+212>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=tb[c[(c[b>>2]|0)+212>>2]&15](c[(c[b>>2]|0)+216>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function $y(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;g=h;f=h+12|0;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[g>>2]=c[(c[d>>2]|0)+80>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+44>>2]|0)){ee(b,c[g>>2]|0);g=c[g>>2]|0;i=h;return g|0}a[f>>0]=a[b+64>>0]|0;gh();if(!(c[(c[e>>2]|0)+232>>2]|0)){b=Pf(c[e>>2]|0)|0;c[(c[e>>2]|0)+232>>2]=b}Qf(c[(c[e>>2]|0)+232>>2]|0,-1,c[(c[d>>2]|0)+44>>2]|0,1,-1);hh();a[(c[e>>2]|0)+64>>0]=a[f>>0]|0;c[(c[e>>2]|0)+52>>2]=c[g>>2];g=c[g>>2]|0;i=h;return g|0}function az(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bz(c[(c[d>>2]|0)+208>>2]|0)|0;i=b;return a|0}function bz(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+80>>2]=c[e>>2];b=(c[f>>2]|0)+84|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function dz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+48>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+12>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+40>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+68>>2];i=d;return c[(c[b>>2]|0)+44>>2]|0}function ez(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+8|0;l=o+16|0;h=o+20|0;m=o+24|0;g=o+4|0;n=o;f=o+12|0;c[l>>2]=b;c[m>>2]=c[c[l>>2]>>2];if(a[(c[c[l>>2]>>2]|0)+64>>0]|0)c[(c[l>>2]|0)+80>>2]=7;if(c[(c[l>>2]|0)+200>>2]|0)BH(c[(c[l>>2]|0)+200>>2]|0,0,c[(c[l>>2]|0)+196>>2]|0)|0;_C(c[l>>2]|0);if((c[(c[l>>2]|0)+40>>2]|0)!=-1108210269){c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+76>>2]|0)>=0?((e[(c[l>>2]|0)+88>>1]|0)>>>9&1|0)!=0:0){c[n>>2]=0;c[g>>2]=c[(c[l>>2]|0)+80>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[f>>2]=b&1;do if((c[f>>2]|0)!=0?((c[g>>2]|0)!=9?1:((e[(c[l>>2]|0)+88>>1]|0)>>>8&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?((e[(c[l>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){c[n>>2]=2;break}Bz(c[m>>2]|0,516);Cz(c[m>>2]|0);a[(c[m>>2]|0)+62>>0]=1}while(0);if(!(c[(c[l>>2]|0)+80>>2]|0))gz(c[l>>2]|0,0)|0;if((c[(c[m>>2]|0)+304>>2]|0)>0?(c[(c[m>>2]|0)+328>>2]|0)==0:0)j=38;else if((d[(c[m>>2]|0)+62>>0]|0)!=0?(c[(c[m>>2]|0)+156>>2]|0)==(((e[(c[l>>2]|0)+88>>1]|0)>>>8&1|0)==0|0):0){if((c[(c[l>>2]|0)+80>>2]|0)!=0?((c[f>>2]|0)!=0?1:(d[(c[l>>2]|0)+86>>0]|0)!=3):0)Bz(c[m>>2]|0,0);else j=25;do if((j|0)==25){c[h>>2]=gz(c[l>>2]|0,1)|0;do if(c[h>>2]|0){if(!((e[(c[l>>2]|0)+88>>1]|0)>>>8&1)){c[h>>2]=787;break}c[k>>2]=1;n=c[k>>2]|0;i=o;return n|0}else c[h>>2]=$C(c[m>>2]|0,c[l>>2]|0)|0;while(0);if((c[h>>2]|0)==5?((e[(c[l>>2]|0)+88>>1]|0)>>>8&1|0)!=0:0){c[k>>2]=5;n=c[k>>2]|0;i=o;return n|0}if(c[h>>2]|0){c[(c[l>>2]|0)+80>>2]=c[h>>2];Bz(c[m>>2]|0,0);break}else{g=(c[m>>2]|0)+504|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+512|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+24|0;c[g>>2]=c[g>>2]&-16777217;Pr(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+500>>2]=0}else j=38;do if((j|0)==38?(c[n>>2]|0)==0:0){if((c[(c[l>>2]|0)+80>>2]|0)!=0?(d[(c[l>>2]|0)+86>>0]|0)!=3:0)if((d[(c[l>>2]|0)+86>>0]|0)==2){c[n>>2]=2;break}else{Bz(c[m>>2]|0,516);Cz(c[m>>2]|0);a[(c[m>>2]|0)+62>>0]=1;break}c[n>>2]=1}while(0);if((c[n>>2]|0)!=0?(c[h>>2]=hz(c[l>>2]|0,c[n>>2]|0)|0,(c[h>>2]|0)!=0):0){if(!((c[(c[l>>2]|0)+80>>2]|0)!=0?(c[(c[l>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[l>>2]|0)+80>>2]=c[h>>2];Nd(c[m>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[(c[l>>2]|0)+44>>2]=0}Bz(c[m>>2]|0,516);Cz(c[m>>2]|0);a[(c[m>>2]|0)+62>>0]=1}if((e[(c[l>>2]|0)+88>>1]|0)>>>4&1){b=c[m>>2]|0;if((c[n>>2]|0)!=2)cz(b,c[(c[l>>2]|0)+92>>2]|0);else cz(b,0);c[(c[l>>2]|0)+92>>2]=0}}if((c[(c[l>>2]|0)+76>>2]|0)>=0){n=(c[m>>2]|0)+148|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[l>>2]|0)+88>>1]|0)>>>8&1)){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[l>>2]|0)+88>>1]|0)>>>9&1){n=(c[m>>2]|0)+152|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[l>>2]|0)+40>>2]=1369188723;if(a[(c[c[l>>2]>>2]|0)+64>>0]|0)c[(c[l>>2]|0)+80>>2]=7;c[k>>2]=(c[(c[l>>2]|0)+80>>2]|0)==5?5:0;n=c[k>>2]|0;i=o;return n|0}function fz(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+88>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function gz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+504|0,b=(c[h>>2]|0)+512|0,b=DH(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+144|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;Ym((c[f>>2]|0)+44|0,c[h>>2]|0,26762,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function hz(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;m=i;i=i+32|0;d=m+4|0;e=m+16|0;f=m+8|0;k=m+20|0;g=m+28|0;h=m;l=m+12|0;j=m+24|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+500>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+104>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+104>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=Az(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=Az(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+500|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+104>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=yz(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=yz(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+152|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+504|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+160|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+512|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function iz(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=ZC(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function jz(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=YC(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function kz(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;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;d=c[f>>2]|0;k=c[d+4>>2]|0;a=h;c[a>>2]=c[d>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;d=h;b=c[d+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0?(h,h=AH(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,b=C,k=g,a=c[k+4>>2]|0,(b|0)<(a|0)|((b|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((b|0)<0?(h,h=DH(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=AH(0,0,h|0,C|0)|0,b=C,k=g,k=DH(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(b|0)>(a|0)|(b|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=DH(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=AH(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=kz(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=AH(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function mz(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,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+60|0;f=n+56|0;g=n+24|0;o=n+16|0;j=n+48|0;h=n;l=n+40|0;k=n+8|0;m=n+32|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=c[f>>2]|0;b=c[d+4>>2]|0;a=o;c[a>>2]=c[d>>2];c[a+4>>2]=b;a=o;a=KH(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=j;c[b>>2]=a;c[b+4>>2]=C;b=o;b=LH(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;a=KH(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;b=g;b=LH(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=l;b=(c[b>>2]|0)==0&(c[b+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!b){o=h;l=MH(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}m=g;o=c[f>>2]|0;l=o;m=MH(c[l>>2]|0,c[l+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[o>>2]=m;c[o+4>>2]=C;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}else{if(b){o=j;l=k;l=MH(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}while(0);j=m;g=c[j+4>>2]|0;o=m;l=c[o+4>>2]|0;if((g|0)<-1|(g|0)==-1&(c[j>>2]|0)>>>0<2147483648|((l|0)>0|(l|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}o=m;o=MH(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;l=m;c[l>>2]=o;c[l+4>>2]=C;l=h;o=k;o=MH(c[l>>2]|0,c[l+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(kz(m,o,C)|0){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}else{l=m;m=c[l+4>>2]|0;o=c[f>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=m;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}return 0}function nz(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;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[e>>2]|0)+204;a:while(1){if(!(c[c[j>>2]>>2]|0))break;c[h>>2]=c[c[j>>2]>>2];do if((c[f>>2]|0)>=0){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>31)break;if(!(c[g>>2]&1<>2]|0)+4>>2]))break}c[j>>2]=(c[h>>2]|0)+16;continue a}while(0);if(c[(c[h>>2]|0)+12>>2]|0)nb[c[(c[h>>2]|0)+12>>2]&31](c[(c[h>>2]|0)+8>>2]|0);c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];Nd(c[c[e>>2]>>2]|0,c[h>>2]|0)}i=k;return}function oz(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;j=q+36|0;k=q+16|0;m=q+40|0;n=q+24|0;l=q+20|0;o=q;p=q+8|0;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];a:do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=Zw(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=XC(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){o=c[g>>2]|0;a=c[o+4>>2]|0;p=c[j>>2]|0;b=c[p+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)){c[f>>2]=-1;break}o=c[g>>2]|0;a=c[o+4>>2]|0;p=c[j>>2]|0;b=c[p+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[o>>2]|0)>>>0>(c[p>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}do if(!(c[m>>2]&8))if(c[m>>2]&4){b=c[g>>2]|0;h[o>>3]=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);break}else{c[f>>2]=1;break a}else h[o>>3]=+h[c[g>>2]>>3];while(0);do if(!(c[n>>2]&8))if(c[n>>2]&4){b=c[j>>2]|0;h[p>>3]=+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0);break}else{c[f>>2]=-1;break a}else h[p>>3]=+h[c[j>>2]>>3];while(0);if(+h[o>>3]<+h[p>>3]){c[f>>2]=-1;break}if(+h[o>>3]>+h[p>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=q;return c[f>>2]|0}function pz(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;b=c[e>>2]|0;do if(a[(c[e>>2]|0)+26>>0]|0)c[d>>2]=WC(b)|0;else{if((c[b>>2]|0)!=0?(sC(c[c[e>>2]>>2]|0)|0)!=0:0){c[d>>2]=tC(c[e>>2]|0)|0;break}c[d>>2]=0}while(0);i=f;return c[d>>2]|0}function qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=VC(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function rz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;if(e[(c[h>>2]|0)+24+20>>1]|0){f=c[h>>2]|0;f=f+24|0;f=f+12|0;f=c[f>>2]|0;g=c[j>>2]|0;c[g>>2]=f;i=l;return 0}c[k>>2]=b[(c[h>>2]|0)+76>>1];Mw(c[(c[h>>2]|0)+120+(c[k>>2]<<2)>>2]|0,e[(c[h>>2]|0)+78+(c[k>>2]<<1)>>1]|0,(c[h>>2]|0)+24|0);f=(c[h>>2]|0)+72|0;a[f>>0]=d[f>>0]|2;f=c[h>>2]|0;f=f+24|0;f=f+12|0;f=c[f>>2]|0;g=c[j>>2]|0;c[g>>2]=f;i=l;return 0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=VC(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function tz(d,e,f,g,h){d=d|0;e=e|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,q=0,r=0;r=i;i=i+32|0;j=r+4|0;m=r+16|0;n=r+8|0;o=r+20|0;p=r+28|0;l=r;k=r+12|0;q=r+24|0;c[j>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[k>>2]=0;c[q>>2]=0;f=c[j>>2]|0;if(c[o>>2]|0)c[l>>2]=qz(f,k)|0;else c[l>>2]=sz(f,k)|0;if(((c[m>>2]|0)+(c[n>>2]|0)|0)>>>0<=(c[k>>2]|0)>>>0){c[(c[p>>2]|0)+16>>2]=(c[l>>2]|0)+(c[m>>2]|0);b[(c[p>>2]|0)+8>>1]=4112;c[(c[p>>2]|0)+12>>2]=c[n>>2];q=c[q>>2]|0;i=r;return q|0}b[(c[p>>2]|0)+8>>1]=1;l=vp(c[p>>2]|0,(c[n>>2]|0)+2|0)|0;c[q>>2]=l;if(l){q=c[q>>2]|0;i=r;return q|0}f=c[j>>2]|0;d=c[m>>2]|0;e=c[n>>2]|0;g=c[(c[p>>2]|0)+16>>2]|0;if(c[o>>2]|0)c[q>>2]=Oy(f,d,e,g)|0;else c[q>>2]=Hf(f,d,e,g)|0;if(!(c[q>>2]|0)){a[(c[(c[p>>2]|0)+16>>2]|0)+(c[n>>2]|0)>>0]=0;a[(c[(c[p>>2]|0)+16>>2]|0)+((c[n>>2]|0)+1)>>0]=0;b[(c[p>>2]|0)+8>>1]=528;c[(c[p>>2]|0)+12>>2]=c[n>>2];q=c[q>>2]|0;i=r;return q|0}else{Oe(c[p>>2]|0);q=c[q>>2]|0;i=r;return q|0}return 0}function uz(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;l=m+28|0;d=m+20|0;h=m+24|0;f=m+32|0;g=m+16|0;j=m;k=m+8|0;c[d>>2]=a;c[h>>2]=b;c[f>>2]=e[(c[d>>2]|0)+8>>1];if(c[f>>2]&1){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}if(!(c[f>>2]&4)){if(c[f>>2]&8){c[l>>2]=7;l=c[l>>2]|0;i=m;return l|0}c[g>>2]=c[(c[d>>2]|0)+12>>2];if(c[f>>2]&16384)c[g>>2]=(c[g>>2]|0)+(c[c[d>>2]>>2]|0);c[l>>2]=(c[g>>2]<<1)+12+((c[f>>2]&2|0)!=0&1);l=c[l>>2]|0;i=m;return l|0}a=c[d>>2]|0;b=c[a+4>>2]|0;d=j;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=j;b=c[d>>2]|0;d=c[d+4>>2]|0;do if((c[j+4>>2]|0)<0){if(!((d|0)<-32768|(d|0)==-32768&b>>>0<1)){g=j;g=AH(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;a=k;c[a>>2]=g;c[a+4>>2]=C;break}c[l>>2]=6;l=c[l>>2]|0;i=m;return l|0}else{a=k;c[a>>2]=b;c[a+4>>2]=d}while(0);a=k;g=c[a+4>>2]|0;if(g>>>0<0|(g|0)==0&(c[a>>2]|0)>>>0<=127){a=j;if((0==(c[a+4>>2]|0)?(c[j>>2]&1|0)==(c[a>>2]|0):0)&(c[h>>2]|0)>=4)b=8+(c[k>>2]|0)|0;else b=1;c[l>>2]=b;l=c[l>>2]|0;i=m;return l|0}j=k;h=c[j+4>>2]|0;if(h>>>0<0|(h|0)==0&(c[j>>2]|0)>>>0<=32767){c[l>>2]=2;l=c[l>>2]|0;i=m;return l|0}j=k;h=c[j+4>>2]|0;if(h>>>0<0|(h|0)==0&(c[j>>2]|0)>>>0<=8388607){c[l>>2]=3;l=c[l>>2]|0;i=m;return l|0}j=k;h=c[j+4>>2]|0;if(h>>>0<0|(h|0)==0&(c[j>>2]|0)>>>0<=2147483647){c[l>>2]=4;l=c[l>>2]|0;i=m;return l|0}j=c[k+4>>2]|0;if(j>>>0<32767|(j|0)==32767&(c[k>>2]|0)>>>0<=4294967295){c[l>>2]=5;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=6;l=c[l>>2]|0;i=m;return l|0}return 0}function vz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;d=h;e=c[d>>2]|0;d=c[d+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=e&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(d>>>0<0|(d|0)==0&e>>>0<=16383){k=h;k=GH(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=UC(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function wz(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;n=i;i=i+32|0;f=n+12|0;g=n+20|0;h=n+24|0;j=n+28|0;l=n+8|0;m=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[j>>2]|0;if(!((c[j>>2]|0)>>>0<=7&(c[j>>2]|0)>>>0>0))if(b>>>0>=12){c[l>>2]=c[(c[h>>2]|0)+12>>2];EH(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}else{c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}if((b|0)==7){h=c[h>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2]}else{d=c[h>>2]|0;e=c[d+4>>2]|0;h=m;c[h>>2]=c[d>>2];c[h+4>>2]=e}j=Ww(c[j>>2]|0)|0;c[k>>2]=j;c[l>>2]=j;do{j=c[m>>2]&255;h=(c[k>>2]|0)+-1|0;c[k>>2]=h;a[(c[g>>2]|0)+h>>0]=j;h=m;h=GH(c[h>>2]|0,c[h+4>>2]|0,8)|0;j=m;c[j>>2]=h;c[j+4>>2]=C}while((c[k>>2]|0)!=0);c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}function xz(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;p=i;i=i+32|0;l=p+28|0;h=p+20|0;m=p+24|0;n=p;o=p+16|0;j=p+12|0;k=p+8|0;c[h>>2]=f;c[m>>2]=g;f=n;c[f>>2]=0;c[f+4>>2]=0;if(!(c[(c[h>>2]|0)+60>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[o>>2]=Iw(c[h>>2]|0)|0;a:while(1){if(c[o>>2]|0){g=16;break}c[k>>2]=c[(c[h>>2]|0)+120+(b[(c[h>>2]|0)+76>>1]<<2)>>2];if(!((d[(c[k>>2]|0)+5>>0]|0)==0?(a[(c[k>>2]|0)+2>>0]|0)!=0:0)){g=n;g=DH(c[g>>2]|0,c[g+4>>2]|0,e[(c[k>>2]|0)+18>>1]|0,0)|0;f=n;c[f>>2]=g;c[f+4>>2]=C}if(a[(c[k>>2]|0)+5>>0]|0){do{if(!(b[(c[h>>2]|0)+76>>1]|0)){g=10;break a}yw(c[h>>2]|0)}while((e[(c[h>>2]|0)+78+(b[(c[h>>2]|0)+76>>1]<<1)>>1]|0)>=(e[(c[(c[h>>2]|0)+120+(b[(c[h>>2]|0)+76>>1]<<2)>>2]|0)+18>>1]|0));f=(c[h>>2]|0)+78+(b[(c[h>>2]|0)+76>>1]<<1)|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;c[k>>2]=c[(c[h>>2]|0)+120+(b[(c[h>>2]|0)+76>>1]<<2)>>2]}c[j>>2]=e[(c[h>>2]|0)+78+(b[(c[h>>2]|0)+76>>1]<<1)>>1];g=c[h>>2]|0;f=c[k>>2]|0;if((c[j>>2]|0)==(e[(c[k>>2]|0)+18>>1]|0)){c[o>>2]=ww(g,kj((c[(c[k>>2]|0)+56>>2]|0)+((d[f+6>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=ww(g,kj((c[f+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]&(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((g|0)==10){k=n;n=c[k+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[k>>2];c[o+4>>2]=n;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}else if((g|0)==16){c[l>>2]=c[o>>2];o=c[l>>2]|0;i=p;return o|0}return 0} +function FF(b,e,f){b=b|0;e=e|0;f=f|0;var g=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.0;z=i;i=i+160|0;g=z+120|0;j=z+112|0;w=z+104|0;x=z+108|0;m=z+92|0;n=z+72|0;y=z+96|0;l=z;k=z+8|0;o=z+16|0;v=z+88|0;u=z+24|0;t=z+80|0;p=z+100|0;q=z+116|0;r=z+124|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[13848+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(aH(c[y>>2]|0,37098)|0){y=c[x>>2]|0;i=z;return y|0}zF(c[w>>2]|0);v=GF(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=DH(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;HF(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((aH(c[y>>2]|0,37108)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=DH(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=KH(v|0,C|0,86400,0)|0;v=DH(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;HF(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(aH(c[y>>2]|0,37118)|0){y=c[x>>2]|0;i=z;return y|0}zF(c[w>>2]|0);y=l;c[y>>2]=GF(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(c[x>>2]|0){y=c[x>>2]|0;i=z;return y|0}y=l;v=c[w>>2]|0;u=v;c[v>>2]=AH(c[u>>2]|0,c[u+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;c[v+4>>2]=C;HF(c[w>>2]|0);v=l;y=c[v>>2]|0;v=c[v+4>>2]|0;v=AH(y|0,v|0,GF(c[w>>2]|0,c[g>>2]|0,x)|0,C|0)|0;y=c[w>>2]|0;w=y;c[y>>2]=DH(c[w>>2]|0,c[w+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;y=c[x>>2]|0;i=z;return y|0}case 119:{if(dH(c[y>>2]|0,37122,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(Iq((c[y>>2]|0)+8|0,n,Ed((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}AF(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;zF(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=LH(KH(DH(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=AH(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=MH(AH(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=DH(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;HF(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(dH(c[y>>2]|0,37131,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;BF(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(aH(c[y>>2]|0,37141)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(aH(c[y>>2]|0,37147)|0)){BF(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(aH(c[y>>2]|0,37152)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[14426+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(Iq(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[14426+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;b=u;f=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));if(IF(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}zF(u);v=u;v=AH(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=KH(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=MH(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=AH(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=AH(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}zF(c[w>>2]|0);HF(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=DH(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[14426+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Ed(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}zF(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(aH(c[y>>2]|0,37152)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=51;do if((s|0)==51){if((c[m>>2]|0)==4?(aH(c[y>>2]|0,37156)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(aH(c[y>>2]|0,37161)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(aH(c[y>>2]|0,37168)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(aH(c[y>>2]|0,37141)|0)==0:0){AF(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;zF(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(aH(c[y>>2]|0,37147)|0)==0:0){c[r>>2]=~~+h[n>>3];AF(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;zF(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=DH(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);HF(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function GF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+156|0;j=q+160|0;k=q+164|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;e=m;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=o;b=c[f>>2]|0;d=e+48|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));AF(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;zF(o);l=o;l=KH(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=AH(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(LF(n,m)|0){rc(c[j>>2]|0,37175,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;zF(p);c[c[k>>2]>>2]=0;n=p;p=o;p=AH(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function HF(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function IF(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+112|0;p=q+56|0;r=q+8|0;f=q+76|0;g=q+80|0;j=q+96|0;k=q+92|0;l=q+88|0;o=q+84|0;m=q+48|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=2;c[r+4>>2]=0;c[r+8>>2]=24;c[r+12>>2]=58;c[r+16>>2]=k;c[r+20>>2]=2;c[r+24>>2]=0;c[r+28>>2]=59;c[r+32>>2]=0;c[r+36>>2]=l;if((JF(b,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=2;c[p+4>>2]=0;c[p+8>>2]=59;c[p+12>>2]=0;c[p+16>>2]=o;if((JF(r,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[14426+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[14426+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(KF(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function JF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+40|0;h=p+16|0;n=p+4|0;g=p+8|0;k=p+44|0;j=p;l=p+12|0;m=p+36|0;o=p+32|0;c[f>>2]=b;c[o>>2]=0;c[h>>2]=e;a:while(1){e=(c[h>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[h>>2]=e+4;c[g>>2]=b;b=(c[h>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[h>>2]=b+4;c[k>>2]=e;e=(c[h>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[h>>2]=e+4;c[j>>2]=b;b=(c[h>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[h>>2]=b+4;c[l>>2]=e;e=(c[h>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[h>>2]=e+4;c[m>>2]=b;c[n>>2]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if(!b)break;if(!(d[14426+(d[c[f>>2]>>0]|0)>>0]&4)){f=11;break a}c[n>>2]=((c[n>>2]|0)*10|0)+(a[c[f>>2]>>0]|0)-48;c[f>>2]=(c[f>>2]|0)+1}if((c[n>>2]|0)<(c[k>>2]|0)){f=11;break}if((c[n>>2]|0)>(c[j>>2]|0)){f=11;break}if((c[l>>2]|0)!=0?(c[l>>2]|0)!=(a[c[f>>2]>>0]|0):0){f=11;break}c[c[m>>2]>>2]=c[n>>2];c[f>>2]=(c[f>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[l>>2]|0)){f=11;break}}if((f|0)==11){i=p;return c[o>>2]|0}return 0}function KF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;l=p;n=p+44|0;o=p+56|0;f=p+52|0;k=p+60|0;h=p+40|0;j=p+48|0;g=p+64|0;c[o>>2]=b;c[f>>2]=e;c[k>>2]=0;while(1){if(!(d[14426+(d[c[o>>2]>>0]|0)>>0]&1))break;c[o>>2]=(c[o>>2]|0)+1}c[(c[f>>2]|0)+28>>2]=0;c[g>>2]=a[c[o>>2]>>0];do if((c[g>>2]|0)==45){c[k>>2]=-1;m=11}else{if((c[g>>2]|0)==43){c[k>>2]=1;m=11;break}if((c[g>>2]|0)==90|(c[g>>2]|0)==122){c[o>>2]=(c[o>>2]|0)+1;break}c[n>>2]=(c[g>>2]|0)!=0&1;o=c[n>>2]|0;i=p;return o|0}while(0);do if((m|0)==11){c[o>>2]=(c[o>>2]|0)+1;m=c[o>>2]|0;c[l>>2]=2;c[l+4>>2]=0;c[l+8>>2]=14;c[l+12>>2]=58;c[l+16>>2]=h;c[l+20>>2]=2;c[l+24>>2]=0;c[l+28>>2]=59;c[l+32>>2]=0;c[l+36>>2]=j;if((JF(m,l)|0)==2){c[o>>2]=(c[o>>2]|0)+5;m=_(c[k>>2]|0,(c[j>>2]|0)+((c[h>>2]|0)*60|0)|0)|0;c[(c[f>>2]|0)+28>>2]=m;break}c[n>>2]=1;o=c[n>>2]|0;i=p;return o|0}while(0);while(1){f=c[o>>2]|0;if(!(d[14426+(d[c[o>>2]>>0]|0)>>0]&1))break;c[o>>2]=f+1}c[n>>2]=(a[f>>0]|0)!=0&1;o=c[n>>2]|0;i=p;return o|0}function LF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=hb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[68]|0)!=0?0:a;if(c[e>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;d=a+44|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function MF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+96|0;f=o;g=o+64|0;h=o+76|0;j=o+72|0;m=o+80|0;l=o+60|0;k=o+68|0;n=o+84|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=4;c[f+4>>2]=0;c[f+8>>2]=9999;c[f+12>>2]=45;c[f+16>>2]=m;c[f+20>>2]=2;c[f+24>>2]=1;c[f+28>>2]=12;c[f+32>>2]=45;c[f+36>>2]=l;c[f+40>>2]=2;c[f+44>>2]=1;c[f+48>>2]=31;c[f+52>>2]=0;c[f+56>>2]=k;if((JF(b,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[14426+(d[c[h>>2]>>0]|0)>>0]&1)e=1;else e=84==(d[c[h>>2]>>0]|0);f=c[h>>2]|0;if(!e)break;c[h>>2]=f+1}do if(IF(f,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)zF(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function NF(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+12>>2];a=(c[e>>2]|0)+136|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[d>>2]=Xy(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,(c[e>>2]|0)+136|0)|0,(c[d>>2]|0)!=0):0){d=(c[e>>2]|0)+136|0;c[d>>2]=0;c[d+4>>2]=0}e=(c[e>>2]|0)+136|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function OF(b,e,f){b=b|0;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;v=i;i=i+64|0;g=v+24|0;h=v+20|0;j=v+44|0;u=v+36|0;t=v+32|0;r=v+40|0;m=v+48|0;n=v+52|0;k=v+8|0;l=v+4|0;q=v+28|0;s=v+12|0;o=v;p=v+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((nc(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=ic(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=jc(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=ic(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=MH(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=yG(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=37665;c[l>>2]=7140;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=Dc(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?($G(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?($G((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Sb(c[l>>2]|0)}vc(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function PF(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,l=0,m=0,n=0;n=i;i=i+32|0;e=n+8|0;f=n+16|0;g=n+20|0;h=n+24|0;k=n+4|0;j=n;l=n+12|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(Dc(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=zG(c[e>>2]|0)|0;c[j>>2]=0;if((nc(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((nc(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=oz(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}xc(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function QF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+4|0;f=n+8|0;k=n+20|0;l=n+28|0;j=n;h=n+12|0;m=n+24|0;c[g>>2]=a;c[n+16>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=Fc(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(nc(c[c[f>>2]>>2]|0)|0)==5;d=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!d){i=n;return}AG(c[g>>2]|0);i=n;return}f=c[g>>2]|0;if(!d){m=Ec(f)|0;c[(c[l>>2]|0)+32>>2]=m;_e(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=zG(f)|0;c[j>>2]=(Dc(c[g>>2]|0)|0)!=0&1;c[h>>2]=oz(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){AG(c[g>>2]|0);i=n;return}_e(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function RF(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=Fc(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)xc(c[d>>2]|0,c[e>>2]|0);Oe(c[e>>2]|0);i=f;return}function SF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(nc(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=30974;break}case 3:{c[f>>2]=37655;break}case 2:{c[f>>2]=30969;break}case 4:{c[f>>2]=37660;break}default:c[f>>2]=30982}vc(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function TF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(nc(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{sc(c[g>>2]|0,jc(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=ic(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}sc(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{uc(c[g>>2]|0);i=l;return}}}function UF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q;o=q+28|0;p=q+32|0;k=q+40|0;l=q+12|0;m=q+24|0;n=q+20|0;h=q+8|0;j=q+4|0;c[f>>2]=a;c[q+16>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=nc(c[c[g>>2]>>2]|0)|0;c[n>>2]=nc(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=jc(c[c[g>>2]>>2]|0)|0;c[l>>2]=jc(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=hc(b)|0;c[p>>2]=hc(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=ic(b)|0;c[p>>2]=ic(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!($G(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;sc(c[f>>2]|0,c[h>>2]|0);i=q;return}function VF(b,e,f){b=b|0;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;r=i;i=i+48|0;m=r+24|0;g=r+28|0;h=r+32|0;p=r+36|0;q=r+40|0;j=r+44|0;l=r+20|0;n=r;o=r+8|0;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((nc(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(nc(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=nc(c[c[h>>2]>>2]|0)|0;b=lc(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=jc(e)|0;c[p>>2]=hc(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=ic(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=lc(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=AH(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(Ec(c[m>>2]|0)|0)+88>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=DH(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=DH(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=DH(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=DH(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=AH(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=DH(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=DH(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=AH(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;pc(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=DH(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=DH(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;wc(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function WF(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,l=0,m=0,n=0;n=i;i=i+64|0;k=n;e=n+32|0;f=n+44|0;g=n+40|0;l=n+48|0;j=n+4|0;m=n+36|0;h=n+60|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<1){i=n;return}a=ic(c[c[g>>2]>>2]|0)|0;c[m>>2]=a;if(!a){i=n;return}c[l>>2]=(c[f>>2]|0)-1;c[l+4>>2]=0;c[l+8>>2]=(c[g>>2]|0)+4;Zd(j,0,0,1e9);c[j>>2]=Ec(c[e>>2]|0)|0;m=c[m>>2]|0;c[k>>2]=l;jv(j,2,m,k);c[h>>2]=c[j+12>>2];l=c[e>>2]|0;m=$d(j)|0;vc(l,m,c[h>>2]|0,23);i=n;return}function XF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=ic(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;sc(j,du(g)|0);i=h;return}function YF(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,o=0,p=0;o=i;i=i+48|0;f=o+12|0;g=o+16|0;h=o+24|0;m=o+20|0;n=o+32|0;k=o+8|0;l=o;j=o+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=Rb((c[g>>2]<<2)+1|0)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){Bc(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=mc(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;d=l;c[d>>2]=p;c[d+4>>2]=b;d=l;e=c[d+4>>2]|0;d=(c[l+4>>2]|0)<0|((e|0)>0|(e|0)==0&(c[d>>2]|0)>>>0>1114111);e=l;c[e>>2]=d?65533:p;c[e+4>>2]=d?0:b;c[j>>2]=c[l>>2]&2097151;e=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){d=c[j>>2]|0;if(e>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(d>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}e=c[j>>2]|0;if(d>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(e>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(e>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=e}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;wc(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,13,1);i=o;return}function ZF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(nc(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=mc(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=AH(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}rc(c[e>>2]|0,37610,-1);i=k;return}while(0);j=g;tc(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{uc(c[e>>2]|0);i=k;return}default:{h[j>>3]=+kc(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];qc(c[e>>2]|0,+h[j>>3]);i=k;return}}}function _F(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+36|0;f=m+40|0;g=m+24|0;j=m;l=m+28|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(nc(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=lc(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((nc(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+kc(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Wb(37650,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;Iq(n,j,Ed(c[l>>2]|0)|0,1)|0;Sb(c[l>>2]|0);break}Bc(c[e>>2]|0);i=m;return}while(0);qc(c[e>>2]|0,+h[j>>3]);i=m;return}function $F(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+8|0;n=m+20|0;k=m+24|0;l=m+4|0;h=m;j=m+12|0;c[g>>2]=b;c[m+16>>2]=e;c[n>>2]=f;c[l>>2]=ic(c[c[n>>2]>>2]|0)|0;c[j>>2]=jc(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=DH(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=yG(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[14426+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}vc(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,13);i=m;return}function aG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+8|0;n=m+20|0;k=m+24|0;l=m+4|0;h=m;j=m+12|0;c[g>>2]=b;c[m+16>>2]=e;c[n>>2]=f;c[l>>2]=ic(c[c[n>>2]>>2]|0)|0;c[j>>2]=jc(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=DH(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=yG(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[13848+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}vc(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,13);i=m;return}function bG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;vc(a,fd()|0,-1,0);i=e;return}function cG(b,e,f){b=b|0;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;o=i;i=i+48|0;g=o+28|0;p=o+8|0;j=o+20|0;k=o+4|0;l=o;n=o+12|0;m=o+24|0;h=o+32|0;c[g>>2]=b;c[o+16>>2]=e;c[p>>2]=f;c[l>>2]=hc(c[c[p>>2]>>2]|0)|0;c[k>>2]=jc(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=MH(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=DH(b|0,C|0,1,0)|0;b=yG(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[37634+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[37634+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;vc(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,13);i=o;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;_b(8,f);if((c[f+4>>2]|0)<0){d=f;d=AH(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}tc(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function eG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=lc(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=yG(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}_b(c[f>>2]|0,c[g>>2]|0);oc(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,13);i=h;return}function fG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=zG(c[e>>2]|0)|0;if(!(oz(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}xc(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function gG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;vc(a,gd()|0,-1,0);i=e;return}function hG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=lc(c[c[g>>2]>>2]|0)|0;c[f>>2]=ic(c[(c[g>>2]|0)+4>>2]|0)|0;Zb(a,14418,f);i=e;return}function iG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=ic(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;sc(h,Hb(c[f>>2]|0)|0);i=g;return}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=lc(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;vc(a,Jb(c[f>>2]|0)|0,-1,0);i=e;return}function kG(b,e,f){b=b|0;e=e|0;f=f|0;var g=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;y=i;i=i+144|0;s=y+32|0;r=y+16|0;g=y+48|0;j=y+40|0;p=y+24|0;q=y;w=y+84|0;x=y+44|0;v=y+72|0;o=y+76|0;k=y+52|0;l=y+64|0;m=y+60|0;n=y+8|0;u=y+68|0;t=y+80|0;c[g>>2]=b;c[y+56>>2]=e;c[j>>2]=f;switch(nc(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+kc(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Yb(50,w,19997,r)|0;Iq(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Yb(50,w,37627,s)|0}vc(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{xc(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=hc(c[c[j>>2]>>2]|0)|0;c[o>>2]=jc(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=yG(u,DH(MH(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[37634+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[37634+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;vc(c[g>>2]|0,c[x>>2]|0,-1,-1);Sb(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=ic(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=DH(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=DH(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=DH(x|0,C|0,3,0)|0;c[t>>2]=yG(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;vc(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,13);i=y;return}default:{vc(c[g>>2]|0,30955,4,0);i=y;return}}}function lG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ec(c[g>>2]|0)|0;d=c[g>>2]|0;a=kd(c[f>>2]|0)|0;tc(d,a,C);i=e;return}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ec(c[g>>2]|0)|0;a=c[g>>2]|0;sc(a,ld(c[f>>2]|0)|0);i=e;return}function nG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=Ec(c[g>>2]|0)|0;a=c[g>>2]|0;sc(a,md(c[f>>2]|0)|0);i=e;return}function oG(b,e,f){b=b|0;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;w=i;i=i+80|0;p=w+36|0;g=w+48|0;v=w+56|0;n=w+16|0;o=w+44|0;u=w+52|0;s=w+60|0;l=w+64|0;m=w+40|0;k=w;j=w+28|0;q=w+32|0;r=w+8|0;t=w+20|0;h=w+24|0;c[p>>2]=b;c[w+12>>2]=e;c[g>>2]=f;c[v>>2]=ic(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=jc(c[c[g>>2]>>2]|0)|0;c[n>>2]=ic(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){xc(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=jc(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=ic(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=jc(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=yG(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?($G((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=Ec(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=DH(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=AH(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+88>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];c[u>>2]=Tb(c[u>>2]|0,c[k>>2]|0)|0;if(!(c[u>>2]|0)){g=15;break}EH((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){Ac(c[p>>2]|0);Sb(c[u>>2]|0);i=w;return}else if((g|0)==15){Bc(c[p>>2]|0);Sb(c[t>>2]|0);i=w;return}else if((g|0)==18){EH((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;vc(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,13);i=w;return}}function pG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+20|0;h=f+12|0;e=f;g=f+8|0;c[j>>2]=a;c[f+16>>2]=b;c[h>>2]=d;c[g>>2]=Ec(c[j>>2]|0)|0;h=mc(c[c[h>>2]>>2]|0)|0;d=e;c[d>>2]=h;c[d+4>>2]=C;d=e;h=c[d+4>>2]|0;a=c[(c[g>>2]|0)+88>>2]|0;g=((a|0)<0)<<31>>31;b=c[j>>2]|0;if((h|0)>(g|0)|((h|0)==(g|0)?(c[d>>2]|0)>>>0>a>>>0:0)){Ac(b);i=f;return}else{yc(b,c[e>>2]|0);i=f;return}}function qG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=Fc(c[n>>2]|0,32)|0;c[k>>2]=Xc(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=DH(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+kc(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=mc(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(kz((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function rG(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Fc(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){rc(c[d>>2]|0,37610,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){qc(d,+h[b>>3]);i=f;return}else{g=b+8|0;tc(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function sG(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Fc(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;qc(a,f);i=d;return}f=+h[c[b>>2]>>3];qc(a,f);i=d;return}function tG(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Fc(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;qc(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function uG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Fc(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(nc(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=DH(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function vG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Fc(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;tc(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;tc(a,b,e);i=d;return}function wG(b,e,f){b=b|0;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;r=i;i=i+48|0;g=r;h=r+16|0;j=r+28|0;q=r+4|0;o=r+32|0;p=r+36|0;n=r+12|0;m=r+24|0;k=r+20|0;l=r+8|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if((nc(c[c[j>>2]>>2]|0)|0)==5){i=r;return}c[o>>2]=Fc(c[g>>2]|0,28)|0;if(!(c[o>>2]|0)){i=r;return}c[k>>2]=Ec(c[g>>2]|0)|0;c[l>>2]=(d[(c[o>>2]|0)+24>>0]|0|0)==0&1;a[(c[o>>2]|0)+24>>0]=2;c[(c[o>>2]|0)+20>>2]=c[(c[k>>2]|0)+88>>2];if(!(c[l>>2]|0)){if((c[h>>2]|0)==2){c[p>>2]=ic(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=jc(c[(c[j>>2]|0)+4>>2]|0)|0}else{c[p>>2]=29027;c[m>>2]=1}if(c[m>>2]|0)es(c[o>>2]|0,c[p>>2]|0,c[m>>2]|0)}c[q>>2]=ic(c[c[j>>2]>>2]|0)|0;c[n>>2]=jc(c[c[j>>2]>>2]|0)|0;if(!(c[q>>2]|0)){i=r;return}es(c[o>>2]|0,c[q>>2]|0,c[n>>2]|0);i=r;return}function xG(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=Fc(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+25>>0]|0|0)==2){Ac(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+25>>0]|0|0)==1){Bc(b);i=f;return}else{vc(b,$d(c[e>>2]|0)|0,-1,13);i=f;return}}function yG(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+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=Ec(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){Ac(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=Wd(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}Bc(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function zG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function AG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function BG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=dm(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+520>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function CG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Nd(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;Qy(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Nd(e,j);i=k;return}function DG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+520>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;ch((c[(c[e>>2]|0)+68>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}jx(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);jx(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Nd(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function EG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+520>>2]|0)!=0:0))xA(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+56>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+52>>2]|0))break;if((c[f>>2]|0)!=1)Nd(c[d>>2]|0,c[(c[(c[e>>2]|0)+56>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Nd(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0);i=g;return}function FG(a){a=a|0;var b=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,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;do if(a>>>0<245){s=a>>>0<11?16:a+11&-8;a=s>>>3;m=c[1798]|0;j=m>>>a;if(j&3){e=(j&1^1)+a|0;b=e<<1;d=7232+(b<<2)|0;b=7232+(b+2<<2)|0;f=c[b>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)==(h|0))c[1798]=m&~(1<>>0>=(c[1802]|0)>>>0?(l=h+12|0,(c[l>>2]|0)==(f|0)):0){c[l>>2]=d;c[b>>2]=h;break}ab()}while(0);U=e<<3;c[f+4>>2]=U|3;U=f+(U|4)|0;c[U>>2]=c[U>>2]|1;break}b=c[1800]|0;if(s>>>0>b>>>0){if(j){f=2<>>12&16;f=f>>>g;e=f>>>5&8;f=f>>>e;d=f>>>2&4;f=f>>>d;h=f>>>1&2;f=f>>>h;i=f>>>1&1;i=(e|g|d|h|i)+(f>>>i)|0;f=i<<1;h=7232+(f<<2)|0;f=7232+(f+2<<2)|0;d=c[f>>2]|0;g=d+8|0;e=c[g>>2]|0;do if((h|0)==(e|0)){c[1798]=m&~(1<>>0>=(c[1802]|0)>>>0?(k=e+12|0,(c[k>>2]|0)==(d|0)):0){c[k>>2]=h;c[f>>2]=e;n=c[1800]|0;break}ab()}while(0);U=i<<3;b=U-s|0;c[d+4>>2]=s|3;j=d+s|0;c[d+(s|4)>>2]=b|1;c[d+U>>2]=b;if(n){d=c[1803]|0;e=n>>>3;h=e<<1;i=7232+(h<<2)|0;f=c[1798]|0;e=1<>2]|0;if(h>>>0<(c[1802]|0)>>>0)ab();else{p=f;q=h}}else{c[1798]=f|e;p=7232+(h+2<<2)|0;q=i}c[p>>2]=d;c[q+12>>2]=d;c[d+8>>2]=q;c[d+12>>2]=i}c[1800]=b;c[1803]=j;break}a=c[1799]|0;if(a){f=(a&0-a)+-1|0;T=f>>>12&16;f=f>>>T;S=f>>>5&8;f=f>>>S;U=f>>>2&4;f=f>>>U;h=f>>>1&2;f=f>>>h;j=f>>>1&1;j=c[7496+((S|T|U|h|j)+(f>>>j)<<2)>>2]|0;f=(c[j+4>>2]&-8)-s|0;h=j;while(1){i=c[h+16>>2]|0;if(!i){i=c[h+20>>2]|0;if(!i){b=f;break}}h=(c[i+4>>2]&-8)-s|0;U=h>>>0>>0;f=U?h:f;h=i;j=U?i:j}a=c[1802]|0;if(j>>>0>=a>>>0?(v=j+s|0,j>>>0>>0):0){e=c[j+24>>2]|0;i=c[j+12>>2]|0;do if((i|0)==(j|0)){h=j+20|0;i=c[h>>2]|0;if(!i){h=j+16|0;i=c[h>>2]|0;if(!i){t=0;break}}while(1){g=i+20|0;f=c[g>>2]|0;if(f){i=f;h=g;continue}g=i+16|0;f=c[g>>2]|0;if(!f)break;else{i=f;h=g}}if(h>>>0>>0)ab();else{c[h>>2]=0;t=i;break}}else{h=c[j+8>>2]|0;if((h>>>0>=a>>>0?(d=h+12|0,(c[d>>2]|0)==(j|0)):0)?(o=i+8|0,(c[o>>2]|0)==(j|0)):0){c[d>>2]=i;c[o>>2]=h;t=i;break}ab()}while(0);do if(e){h=c[j+28>>2]|0;g=7496+(h<<2)|0;if((j|0)==(c[g>>2]|0)){c[g>>2]=t;if(!t){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();h=e+16|0;if((c[h>>2]|0)==(j|0))c[h>>2]=t;else c[e+20>>2]=t;if(!t)break}g=c[1802]|0;if(t>>>0>>0)ab();c[t+24>>2]=e;h=c[j+16>>2]|0;do if(h)if(h>>>0>>0)ab();else{c[t+16>>2]=h;c[h+24>>2]=t;break}while(0);h=c[j+20>>2]|0;if(h)if(h>>>0<(c[1802]|0)>>>0)ab();else{c[t+20>>2]=h;c[h+24>>2]=t;break}}while(0);if(b>>>0<16){U=b+s|0;c[j+4>>2]=U|3;U=j+(U+4)|0;c[U>>2]=c[U>>2]|1}else{c[j+4>>2]=s|3;c[j+(s|4)>>2]=b|1;c[j+(b+s)>>2]=b;e=c[1800]|0;if(e){d=c[1803]|0;f=e>>>3;h=f<<1;i=7232+(h<<2)|0;g=c[1798]|0;f=1<>2]|0;if(g>>>0<(c[1802]|0)>>>0)ab();else{u=h;w=g}}else{c[1798]=g|f;u=7232+(h+2<<2)|0;w=i}c[u>>2]=d;c[w+12>>2]=d;c[d+8>>2]=w;c[d+12>>2]=i}c[1800]=b;c[1803]=v}g=j+8|0;break}ab()}else V=154}else V=154}else if(a>>>0<=4294967231){a=a+11|0;w=a&-8;m=c[1799]|0;if(m){j=0-w|0;a=a>>>8;if(a)if(w>>>0>16777215)l=31;else{v=(a+1048320|0)>>>16&8;V=a<>>16&4;V=V<>>16&2;l=14-(u|v|l)+(V<>>15)|0;l=w>>>(l+7|0)&1|l<<1}else l=0;a=c[7496+(l<<2)>>2]|0;a:do if(!a){i=0;a=0;V=86}else{d=j;i=0;b=w<<((l|0)==31?0:25-(l>>>1)|0);k=a;a=0;while(1){e=c[k+4>>2]&-8;j=e-w|0;if(j>>>0>>0)if((e|0)==(w|0)){e=k;a=k;V=90;break a}else a=k;else j=d;V=c[k+20>>2]|0;k=c[k+16+(b>>>31<<2)>>2]|0;i=(V|0)==0|(V|0)==(k|0)?i:V;if(!k){V=86;break}else{d=j;b=b<<1}}}while(0);if((V|0)==86){if((i|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>t;q=a>>>5&8;a=a>>>q;u=a>>>2&4;a=a>>>u;v=a>>>1&2;a=a>>>v;i=a>>>1&1;i=c[7496+((q|t|u|v|i)+(a>>>i)<<2)>>2]|0;a=0}if(!i){q=j;p=a}else{e=i;V=90}}if((V|0)==90)while(1){V=0;v=(c[e+4>>2]&-8)-w|0;i=v>>>0>>0;j=i?v:j;a=i?e:a;i=c[e+16>>2]|0;if(i){e=i;V=90;continue}e=c[e+20>>2]|0;if(!e){q=j;p=a;break}else V=90}if((p|0)!=0?q>>>0<((c[1800]|0)-w|0)>>>0:0){a=c[1802]|0;if(p>>>0>=a>>>0?(H=p+w|0,p>>>0>>0):0){j=c[p+24>>2]|0;i=c[p+12>>2]|0;do if((i|0)==(p|0)){h=p+20|0;i=c[h>>2]|0;if(!i){h=p+16|0;i=c[h>>2]|0;if(!i){y=0;break}}while(1){g=i+20|0;f=c[g>>2]|0;if(f){i=f;h=g;continue}g=i+16|0;f=c[g>>2]|0;if(!f)break;else{i=f;h=g}}if(h>>>0>>0)ab();else{c[h>>2]=0;y=i;break}}else{h=c[p+8>>2]|0;if((h>>>0>=a>>>0?(r=h+12|0,(c[r>>2]|0)==(p|0)):0)?(s=i+8|0,(c[s>>2]|0)==(p|0)):0){c[r>>2]=i;c[s>>2]=h;y=i;break}ab()}while(0);do if(j){i=c[p+28>>2]|0;h=7496+(i<<2)|0;if((p|0)==(c[h>>2]|0)){c[h>>2]=y;if(!y){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();h=j+16|0;if((c[h>>2]|0)==(p|0))c[h>>2]=y;else c[j+20>>2]=y;if(!y)break}i=c[1802]|0;if(y>>>0>>0)ab();c[y+24>>2]=j;h=c[p+16>>2]|0;do if(h)if(h>>>0>>0)ab();else{c[y+16>>2]=h;c[h+24>>2]=y;break}while(0);h=c[p+20>>2]|0;if(h)if(h>>>0<(c[1802]|0)>>>0)ab();else{c[y+20>>2]=h;c[h+24>>2]=y;break}}while(0);b:do if(q>>>0>=16){c[p+4>>2]=w|3;c[p+(w|4)>>2]=q|1;c[p+(q+w)>>2]=q;i=q>>>3;if(q>>>0<256){g=i<<1;e=7232+(g<<2)|0;f=c[1798]|0;h=1<>2]|0;if(g>>>0<(c[1802]|0)>>>0)ab();else{z=h;A=g}}else{c[1798]=f|h;z=7232+(g+2<<2)|0;A=e}c[z>>2]=H;c[A+12>>2]=H;c[p+(w+8)>>2]=A;c[p+(w+12)>>2]=e;break}d=q>>>8;if(d)if(q>>>0>16777215)i=31;else{T=(d+1048320|0)>>>16&8;U=d<>>16&4;U=U<>>16&2;i=14-(S|T|i)+(U<>>15)|0;i=q>>>(i+7|0)&1|i<<1}else i=0;h=7496+(i<<2)|0;c[p+(w+28)>>2]=i;c[p+(w+20)>>2]=0;c[p+(w+16)>>2]=0;g=c[1799]|0;f=1<>2]=H;c[p+(w+24)>>2]=h;c[p+(w+12)>>2]=H;c[p+(w+8)>>2]=H;break}d=c[h>>2]|0;c:do if((c[d+4>>2]&-8|0)!=(q|0)){i=q<<((i|0)==31?0:25-(i>>>1)|0);while(1){b=d+16+(i>>>31<<2)|0;h=c[b>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(q|0)){C=h;break c}else{i=i<<1;d=h}}if(b>>>0<(c[1802]|0)>>>0)ab();else{c[b>>2]=H;c[p+(w+24)>>2]=d;c[p+(w+12)>>2]=H;c[p+(w+8)>>2]=H;break b}}else C=d;while(0);d=C+8|0;b=c[d>>2]|0;U=c[1802]|0;if(b>>>0>=U>>>0&C>>>0>=U>>>0){c[b+12>>2]=H;c[d>>2]=H;c[p+(w+8)>>2]=b;c[p+(w+12)>>2]=C;c[p+(w+24)>>2]=0;break}else ab()}else{U=q+w|0;c[p+4>>2]=U|3;U=p+(U+4)|0;c[U>>2]=c[U>>2]|1}while(0);g=p+8|0;break}ab()}else{s=w;V=154}}else{s=w;V=154}}else{s=-1;V=154}while(0);d:do if((V|0)==154){a=c[1800]|0;if(a>>>0>=s>>>0){b=a-s|0;d=c[1803]|0;if(b>>>0>15){c[1803]=d+s;c[1800]=b;c[d+(s+4)>>2]=b|1;c[d+a>>2]=b;c[d+4>>2]=s|3}else{c[1800]=0;c[1803]=0;c[d+4>>2]=a|3;V=d+(a+4)|0;c[V>>2]=c[V>>2]|1}g=d+8|0;break}a=c[1801]|0;if(a>>>0>s>>>0){V=a-s|0;c[1801]=V;g=c[1804]|0;c[1804]=g+s;c[g+(s+4)>>2]=V|1;c[g+4>>2]=s|3;g=g+8|0;break}if(!(c[1916]|0))sH();m=s+48|0;d=c[1918]|0;l=s+47|0;e=d+l|0;d=0-d|0;k=e&d;if(k>>>0>s>>>0){a=c[1908]|0;if((a|0)!=0?(C=c[1906]|0,H=C+k|0,H>>>0<=C>>>0|H>>>0>a>>>0):0){g=0;break}e:do if(!(c[1909]&4)){a=c[1804]|0;f:do if(a){i=7640;while(1){j=c[i>>2]|0;if(j>>>0<=a>>>0?(x=i+4|0,(j+(c[x>>2]|0)|0)>>>0>a>>>0):0){g=i;a=x;break}i=c[i+8>>2]|0;if(!i){V=172;break f}}j=e-(c[1801]|0)&d;if(j>>>0<2147483647){i=Ga(j|0)|0;H=(i|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=H?j:0;if(H){if((i|0)!=(-1|0)){A=i;t=a;V=192;break e}}else V=182}else a=0}else V=172;while(0);do if((V|0)==172){g=Ga(0)|0;if((g|0)!=(-1|0)){a=g;j=c[1917]|0;i=j+-1|0;if(!(i&a))j=k;else j=k-a+(i+a&0-j)|0;a=c[1906]|0;i=a+j|0;if(j>>>0>s>>>0&j>>>0<2147483647){H=c[1908]|0;if((H|0)!=0?i>>>0<=a>>>0|i>>>0>H>>>0:0){a=0;break}i=Ga(j|0)|0;V=(i|0)==(g|0);a=V?j:0;if(V){A=g;t=a;V=192;break e}else V=182}else a=0}else a=0}while(0);g:do if((V|0)==182){g=0-j|0;do if(m>>>0>j>>>0&(j>>>0<2147483647&(i|0)!=(-1|0))?(B=c[1918]|0,B=l-j+B&0-B,B>>>0<2147483647):0)if((Ga(B|0)|0)==(-1|0)){Ga(g|0)|0;break g}else{j=B+j|0;break}while(0);if((i|0)!=(-1|0)){A=i;t=j;V=192;break e}}while(0);c[1909]=c[1909]|4;V=189}else{a=0;V=189}while(0);if((((V|0)==189?k>>>0<2147483647:0)?(D=Ga(k|0)|0,E=Ga(0)|0,D>>>0>>0&((D|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(F=E-D|0,G=F>>>0>(s+40|0)>>>0,G):0){A=D;t=G?F:a;V=192}if((V|0)==192){j=(c[1906]|0)+t|0;c[1906]=j;if(j>>>0>(c[1907]|0)>>>0)c[1907]=j;q=c[1804]|0;h:do if(q){g=7640;do{a=c[g>>2]|0;j=g+4|0;i=c[j>>2]|0;if((A|0)==(a+i|0)){I=a;J=j;K=i;L=g;V=202;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((V|0)==202?(c[L+12>>2]&8|0)==0:0)?q>>>0>>0&q>>>0>=I>>>0:0){c[J>>2]=K+t;V=(c[1801]|0)+t|0;U=q+8|0;U=(U&7|0)==0?0:0-U&7;T=V-U|0;c[1804]=q+U;c[1801]=T;c[q+(U+4)>>2]=T|1;c[q+(V+4)>>2]=40;c[1805]=c[1920];break}j=c[1802]|0;if(A>>>0>>0){c[1802]=A;j=A}i=A+t|0;a=7640;while(1){if((c[a>>2]|0)==(i|0)){g=a;i=a;V=210;break}a=c[a+8>>2]|0;if(!a){i=7640;break}}if((V|0)==210)if(!(c[i+12>>2]&8)){c[g>>2]=A;o=i+4|0;c[o>>2]=(c[o>>2]|0)+t;o=A+8|0;o=(o&7|0)==0?0:0-o&7;l=A+(t+8)|0;l=(l&7|0)==0?0:0-l&7;i=A+(l+t)|0;p=o+s|0;n=A+p|0;a=i-(A+o)-s|0;c[A+(o+4)>>2]=s|3;i:do if((i|0)!=(q|0)){if((i|0)==(c[1803]|0)){V=(c[1800]|0)+a|0;c[1800]=V;c[1803]=n;c[A+(p+4)>>2]=V|1;c[A+(V+p)>>2]=V;break}b=t+4|0;h=c[A+(b+l)>>2]|0;if((h&3|0)==1){k=h&-8;e=h>>>3;j:do if(h>>>0>=256){d=c[A+((l|24)+t)>>2]|0;g=c[A+(t+12+l)>>2]|0;k:do if((g|0)==(i|0)){f=l|16;g=A+(b+f)|0;h=c[g>>2]|0;if(!h){g=A+(f+t)|0;h=c[g>>2]|0;if(!h){R=0;break}}while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0>>0)ab();else{c[g>>2]=0;R=h;break}}else{f=c[A+((l|8)+t)>>2]|0;do if(f>>>0>=j>>>0){j=f+12|0;if((c[j>>2]|0)!=(i|0))break;h=g+8|0;if((c[h>>2]|0)!=(i|0))break;c[j>>2]=g;c[h>>2]=f;R=g;break k}while(0);ab()}while(0);if(!d)break;j=c[A+(t+28+l)>>2]|0;h=7496+(j<<2)|0;do if((i|0)!=(c[h>>2]|0)){if(d>>>0<(c[1802]|0)>>>0)ab();h=d+16|0;if((c[h>>2]|0)==(i|0))c[h>>2]=R;else c[d+20>>2]=R;if(!R)break j}else{c[h>>2]=R;if(R)break;c[1799]=c[1799]&~(1<>>0>>0)ab();c[R+24>>2]=d;i=l|16;h=c[A+(i+t)>>2]|0;do if(h)if(h>>>0>>0)ab();else{c[R+16>>2]=h;c[h+24>>2]=R;break}while(0);i=c[A+(b+i)>>2]|0;if(!i)break;if(i>>>0<(c[1802]|0)>>>0)ab();else{c[R+20>>2]=i;c[i+24>>2]=R;break}}else{h=c[A+((l|8)+t)>>2]|0;g=c[A+(t+12+l)>>2]|0;f=7232+(e<<1<<2)|0;do if((h|0)!=(f|0)){if(h>>>0>=j>>>0?(c[h+12>>2]|0)==(i|0):0)break;ab()}while(0);if((g|0)==(h|0)){c[1798]=c[1798]&~(1<>>0>=j>>>0?(N=g+8|0,(c[N>>2]|0)==(i|0)):0){M=N;break}ab()}while(0);c[h+12>>2]=g;c[M>>2]=h}while(0);i=A+((k|l)+t)|0;a=k+a|0}i=i+4|0;c[i>>2]=c[i>>2]&-2;c[A+(p+4)>>2]=a|1;c[A+(a+p)>>2]=a;i=a>>>3;if(a>>>0<256){g=i<<1;e=7232+(g<<2)|0;f=c[1798]|0;h=1<>2]|0;if(g>>>0>=(c[1802]|0)>>>0){S=h;T=g;break}ab()}while(0);c[S>>2]=n;c[T+12>>2]=n;c[A+(p+8)>>2]=T;c[A+(p+12)>>2]=e;break}d=a>>>8;do if(!d)i=0;else{if(a>>>0>16777215){i=31;break}T=(d+1048320|0)>>>16&8;V=d<>>16&4;V=V<>>16&2;i=14-(S|T|i)+(V<>>15)|0;i=a>>>(i+7|0)&1|i<<1}while(0);h=7496+(i<<2)|0;c[A+(p+28)>>2]=i;c[A+(p+20)>>2]=0;c[A+(p+16)>>2]=0;g=c[1799]|0;f=1<>2]=n;c[A+(p+24)>>2]=h;c[A+(p+12)>>2]=n;c[A+(p+8)>>2]=n;break}d=c[h>>2]|0;l:do if((c[d+4>>2]&-8|0)!=(a|0)){i=a<<((i|0)==31?0:25-(i>>>1)|0);while(1){b=d+16+(i>>>31<<2)|0;h=c[b>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(a|0)){U=h;break l}else{i=i<<1;d=h}}if(b>>>0<(c[1802]|0)>>>0)ab();else{c[b>>2]=n;c[A+(p+24)>>2]=d;c[A+(p+12)>>2]=n;c[A+(p+8)>>2]=n;break i}}else U=d;while(0);d=U+8|0;b=c[d>>2]|0;V=c[1802]|0;if(b>>>0>=V>>>0&U>>>0>=V>>>0){c[b+12>>2]=n;c[d>>2]=n;c[A+(p+8)>>2]=b;c[A+(p+12)>>2]=U;c[A+(p+24)>>2]=0;break}else ab()}else{V=(c[1801]|0)+a|0;c[1801]=V;c[1804]=n;c[A+(p+4)>>2]=V|1}while(0);g=A+(o|8)|0;break d}else i=7640;while(1){g=c[i>>2]|0;if(g>>>0<=q>>>0?(h=c[i+4>>2]|0,f=g+h|0,f>>>0>q>>>0):0)break;i=c[i+8>>2]|0}i=g+(h+-39)|0;i=g+(h+-47+((i&7|0)==0?0:0-i&7))|0;j=q+16|0;i=i>>>0>>0?q:i;h=i+8|0;g=A+8|0;g=(g&7|0)==0?0:0-g&7;V=t+-40-g|0;c[1804]=A+g;c[1801]=V;c[A+(g+4)>>2]=V|1;c[A+(t+-36)>>2]=40;c[1805]=c[1920];g=i+4|0;c[g>>2]=27;c[h>>2]=c[1910];c[h+4>>2]=c[1911];c[h+8>>2]=c[1912];c[h+12>>2]=c[1913];c[1910]=A;c[1911]=t;c[1913]=0;c[1912]=h;h=i+28|0;c[h>>2]=7;if((i+32|0)>>>0>>0)do{V=h;h=h+4|0;c[h>>2]=7}while((V+8|0)>>>0>>0);if((i|0)!=(q|0)){a=i-q|0;c[g>>2]=c[g>>2]&-2;c[q+4>>2]=a|1;c[i>>2]=a;f=a>>>3;if(a>>>0<256){h=f<<1;i=7232+(h<<2)|0;g=c[1798]|0;e=1<>2]|0;if(b>>>0<(c[1802]|0)>>>0)ab();else{O=d;P=b}}else{c[1798]=g|e;O=7232+(h+2<<2)|0;P=i}c[O>>2]=q;c[P+12>>2]=q;c[q+8>>2]=P;c[q+12>>2]=i;break}d=a>>>8;if(d)if(a>>>0>16777215)h=31;else{U=(d+1048320|0)>>>16&8;V=d<>>16&4;V=V<>>16&2;h=14-(T|U|h)+(V<>>15)|0;h=a>>>(h+7|0)&1|h<<1}else h=0;e=7496+(h<<2)|0;c[q+28>>2]=h;c[q+20>>2]=0;c[j>>2]=0;d=c[1799]|0;b=1<>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}d=c[e>>2]|0;m:do if((c[d+4>>2]&-8|0)!=(a|0)){h=a<<((h|0)==31?0:25-(h>>>1)|0);while(1){b=d+16+(h>>>31<<2)|0;e=c[b>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(a|0)){Q=e;break m}else{h=h<<1;d=e}}if(b>>>0<(c[1802]|0)>>>0)ab();else{c[b>>2]=q;c[q+24>>2]=d;c[q+12>>2]=q;c[q+8>>2]=q;break h}}else Q=d;while(0);d=Q+8|0;b=c[d>>2]|0;V=c[1802]|0;if(b>>>0>=V>>>0&Q>>>0>=V>>>0){c[b+12>>2]=q;c[d>>2]=q;c[q+8>>2]=b;c[q+12>>2]=Q;c[q+24>>2]=0;break}else ab()}}else{V=c[1802]|0;if((V|0)==0|A>>>0>>0)c[1802]=A;c[1910]=A;c[1911]=t;c[1913]=0;c[1807]=c[1916];c[1806]=-1;d=0;do{V=d<<1;U=7232+(V<<2)|0;c[7232+(V+3<<2)>>2]=U;c[7232+(V+2<<2)>>2]=U;d=d+1|0}while((d|0)!=32);V=A+8|0;V=(V&7|0)==0?0:0-V&7;U=t+-40-V|0;c[1804]=A+V;c[1801]=U;c[A+(V+4)>>2]=U|1;c[A+(t+-36)>>2]=40;c[1805]=c[1920]}while(0);b=c[1801]|0;if(b>>>0>s>>>0){V=b-s|0;c[1801]=V;g=c[1804]|0;c[1804]=g+s;c[g+(s+4)>>2]=V|1;c[g+4>>2]=s|3;g=g+8|0;break}}c[(IG()|0)>>2]=12;g=0}else g=0}while(0);return g|0}function GG(a){a=a|0;var b=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,A=0,B=0;a:do if(a){f=a+-8|0;k=c[1802]|0;b:do if(f>>>0>=k>>>0?(e=c[a+-4>>2]|0,d=e&3,(d|0)!=1):0){v=e&-8;w=a+(v+-8)|0;do if(!(e&1)){f=c[f>>2]|0;if(!d)break a;l=-8-f|0;n=a+l|0;o=f+v|0;if(n>>>0>>0)break b;if((n|0)==(c[1803]|0)){g=a+(v+-4)|0;f=c[g>>2]|0;if((f&3|0)!=3){B=n;g=o;break}c[1800]=o;c[g>>2]=f&-2;c[a+(l+4)>>2]=o|1;c[w>>2]=o;break a}d=f>>>3;if(f>>>0<256){e=c[a+(l+8)>>2]|0;g=c[a+(l+12)>>2]|0;f=7232+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=k>>>0?(c[e+12>>2]|0)==(n|0):0)break;ab()}while(0);if((g|0)==(e|0)){c[1798]=c[1798]&~(1<>>0>=k>>>0?(h=g+8|0,(c[h>>2]|0)==(n|0)):0){b=h;break}ab()}while(0);c[e+12>>2]=g;c[b>>2]=e;B=n;g=o;break}h=c[a+(l+24)>>2]|0;f=c[a+(l+12)>>2]|0;do if((f|0)==(n|0)){e=a+(l+20)|0;f=c[e>>2]|0;if(!f){e=a+(l+16)|0;f=c[e>>2]|0;if(!f){m=0;break}}while(1){d=f+20|0;b=c[d>>2]|0;if(b){f=b;e=d;continue}d=f+16|0;b=c[d>>2]|0;if(!b)break;else{f=b;e=d}}if(e>>>0>>0)ab();else{c[e>>2]=0;m=f;break}}else{e=c[a+(l+8)>>2]|0;if((e>>>0>=k>>>0?(i=e+12|0,(c[i>>2]|0)==(n|0)):0)?(j=f+8|0,(c[j>>2]|0)==(n|0)):0){c[i>>2]=f;c[j>>2]=e;m=f;break}ab()}while(0);if(h){f=c[a+(l+28)>>2]|0;e=7496+(f<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=m;if(!m){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();f=h+16|0;if((c[f>>2]|0)==(n|0))c[f>>2]=m;else c[h+20>>2]=m;if(!m){B=n;g=o;break}}e=c[1802]|0;if(m>>>0>>0)ab();c[m+24>>2]=h;f=c[a+(l+16)>>2]|0;do if(f)if(f>>>0>>0)ab();else{c[m+16>>2]=f;c[f+24>>2]=m;break}while(0);f=c[a+(l+20)>>2]|0;if(f)if(f>>>0<(c[1802]|0)>>>0)ab();else{c[m+20>>2]=f;c[f+24>>2]=m;B=n;g=o;break}else{B=n;g=o}}else{B=n;g=o}}else{B=f;g=v}while(0);if(B>>>0>>0?(p=a+(v+-4)|0,q=c[p>>2]|0,(q&1|0)!=0):0){if(!(q&2)){if((w|0)==(c[1804]|0)){A=(c[1801]|0)+g|0;c[1801]=A;c[1804]=B;c[B+4>>2]=A|1;if((B|0)!=(c[1803]|0))break a;c[1803]=0;c[1800]=0;break a}if((w|0)==(c[1803]|0)){A=(c[1800]|0)+g|0;c[1800]=A;c[1803]=B;c[B+4>>2]=A|1;c[B+A>>2]=A;break a}j=(q&-8)+g|0;d=q>>>3;do if(q>>>0>=256){b=c[a+(v+16)>>2]|0;g=c[a+(v|4)>>2]|0;do if((g|0)==(w|0)){f=a+(v+12)|0;g=c[f>>2]|0;if(!g){f=a+(v+8)|0;g=c[f>>2]|0;if(!g){x=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0<(c[1802]|0)>>>0)ab();else{c[f>>2]=0;x=g;break}}else{f=c[a+v>>2]|0;if((f>>>0>=(c[1802]|0)>>>0?(t=f+12|0,(c[t>>2]|0)==(w|0)):0)?(u=g+8|0,(c[u>>2]|0)==(w|0)):0){c[t>>2]=g;c[u>>2]=f;x=g;break}ab()}while(0);if(b){g=c[a+(v+20)>>2]|0;f=7496+(g<<2)|0;if((w|0)==(c[f>>2]|0)){c[f>>2]=x;if(!x){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();g=b+16|0;if((c[g>>2]|0)==(w|0))c[g>>2]=x;else c[b+20>>2]=x;if(!x)break}g=c[1802]|0;if(x>>>0>>0)ab();c[x+24>>2]=b;f=c[a+(v+8)>>2]|0;do if(f)if(f>>>0>>0)ab();else{c[x+16>>2]=f;c[f+24>>2]=x;break}while(0);d=c[a+(v+12)>>2]|0;if(d)if(d>>>0<(c[1802]|0)>>>0)ab();else{c[x+20>>2]=d;c[d+24>>2]=x;break}}}else{e=c[a+v>>2]|0;g=c[a+(v|4)>>2]|0;f=7232+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=(c[1802]|0)>>>0?(c[e+12>>2]|0)==(w|0):0)break;ab()}while(0);if((g|0)==(e|0)){c[1798]=c[1798]&~(1<>>0>=(c[1802]|0)>>>0?(s=g+8|0,(c[s>>2]|0)==(w|0)):0){r=s;break}ab()}while(0);c[e+12>>2]=g;c[r>>2]=e}while(0);c[B+4>>2]=j|1;c[B+j>>2]=j;if((B|0)==(c[1803]|0)){c[1800]=j;break a}else g=j}else{c[p>>2]=q&-2;c[B+4>>2]=g|1;c[B+g>>2]=g}f=g>>>3;if(g>>>0<256){e=f<<1;g=7232+(e<<2)|0;b=c[1798]|0;d=1<>2]|0;if(b>>>0<(c[1802]|0)>>>0)ab();else{y=d;z=b}}else{c[1798]=b|d;y=7232+(e+2<<2)|0;z=g}c[y>>2]=B;c[z+12>>2]=B;c[B+8>>2]=z;c[B+12>>2]=g;break a}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{y=(b+1048320|0)>>>16&8;z=b<>>16&4;z=z<>>16&2;f=14-(a|y|f)+(z<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;d=7496+(f<<2)|0;c[B+28>>2]=f;c[B+20>>2]=0;c[B+16>>2]=0;b=c[1799]|0;e=1<>2]|0;d:do if((c[d+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){b=d+16+(f>>>31<<2)|0;e=c[b>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){A=e;break d}else{f=f<<1;d=e}}if(b>>>0<(c[1802]|0)>>>0)ab();else{c[b>>2]=B;c[B+24>>2]=d;c[B+12>>2]=B;c[B+8>>2]=B;break c}}else A=d;while(0);b=A+8|0;d=c[b>>2]|0;z=c[1802]|0;if(d>>>0>=z>>>0&A>>>0>=z>>>0){c[d+12>>2]=B;c[b>>2]=B;c[B+8>>2]=d;c[B+12>>2]=A;c[B+24>>2]=0;break}else ab()}else{c[1799]=b|e;c[d>>2]=B;c[B+24>>2]=d;c[B+12>>2]=B;c[B+8>>2]=B}while(0);B=(c[1806]|0)+-1|0;c[1806]=B;if(!B)b=7648;else break a;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[1806]=-1;break a}}while(0);ab()}while(0);return}function HG(a,b){a=a|0;b=b|0;var d=0,e=0;do if(a){if(b>>>0>4294967231){c[(IG()|0)>>2]=12;d=0;break}d=tH(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){d=d+8|0;break}d=FG(b)|0;if(!d)d=0;else{e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;EH(d|0,a|0,(e>>>0>>0?e:b)|0)|0;GG(a)}}else d=FG(b)|0;while(0);return d|0}function IG(){var a=0;if(!(c[1786]|0))a=7688;else a=c[(Ra()|0)+60>>2]|0;return a|0}function JG(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[37778+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=37866;e=5;break}}if((e|0)==2)if(!c)b=37866;else{b=37866;e=5}if((e|0)==5)while(1){while(1){e=b+1|0;if(!(a[b>>0]|0)){b=e;break}else b=e}c=c+-1|0;if(!c)break;else e=5}return b|0}function KG(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+192|0;j=s+152|0;h=s+112|0;r=s;q=s+64|0;p=s+128|0;m=s+136|0;l=s+48|0;f=s+96|0;n=s+80|0;g=s+32|0;e=s+16|0;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=NG(ra(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=ra(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=ra(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=NG(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=ra(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;ra(221,l|0)|0}d=NG(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=ra(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=ra(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;ra(221,r|0)|0}d=NG(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;ua(6,p|0)|0}d=NG(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=NG(ra(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=NG(ra(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function LG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=NG(bb(5,f|0)|0)|0;i=e;return d|0}function MG(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[39670+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function NG(a){a=a|0;if(a>>>0>4294963200){c[(IG()|0)>>2]=0-a;a=-1}return a|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(IG()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)xH(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=NG(Ha(192,h|0)|0)|0;if(j)yH()}else{c[(IG()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function PG(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;xH(-1);c[e>>2]=a;c[e+4>>2]=b;a=NG(Qa(91,e|0)|0)|0;yH();i=d;return a|0}function QG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=Na(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(ra(221,f|0)|0)>=0):0){MG(e,a);c[g>>2]=e;c[g+4>>2]=b;d=NG(Xa(15,g|0)|0)|0}else d=NG(d)|0;i=h;return d|0}function RG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=Ia(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(ra(221,f|0)|0)>=0):0){MG(e,a);c[g>>2]=e;c[g+4>>2]=b;d=NG(Pa(195,g|0)|0)|0}else d=NG(d)|0;i=h;return d|0}function SG(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=NG(Ca(39,e|0)|0)|0;i=d;return a|0}function TG(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=NG(Pa(195,e|0)|0)|0;i=d;return a|0}function UG(a){a=a|0;return 0}function VG(a){a=a|0;return}function WG(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=NG(ua(6,d|0)|0)|0;i=b;return a|0}function XG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((NG(Wa(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function YG(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,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[1786]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=NG(jb(146,n|0)|0)|0}else{ta(17,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=NG(jb(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function ZG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=21;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ua(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=YG(b,d,e)|0;i=g;return f|0}function _G(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=wH(a)|0;break}d=(UG(a)|0)==0;b=wH(a)|0;if(!d)VG(a)}else{if(!(c[1797]|0))b=0;else b=_G(c[1797]|0)|0;$a(7172);a=c[1792]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=UG(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wH(a)|0|b;if(d)VG(a);a=c[a+56>>2]|0}while((a|0)!=0);Va(7172)}while(0);return b|0}function $G(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{f=d;e=b;while(1){d=a[e>>0]|0;b=a[c>>0]|0;if(d<<24>>24!=b<<24>>24)break;f=f+-1|0;if(!f){b=0;break a}else{e=e+1|0;c=c+1|0}}b=(d&255)-(b&255)|0}while(0);return b|0}function aH(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function bH(a){a=a|0;var b=0,c=0;c=(cH(a)|0)+1|0;b=FG(c)|0;if(!b)b=0;else EH(b|0,a|0,c|0)|0;return b|0}function cH(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function dH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function eH(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=NG(Ta(33,e|0)|0)|0;i=d;return a|0}function fH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ua(6,d|0)|0;a=NG((a|0)==-4?-115:a)|0;i=b;return a|0}function gH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=gb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(ra(221,g|0)|0)>=0):0){MG(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=NG(La(212,h|0)|0)|0}else e=NG(e)|0;i=j;return e|0}function hH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=NG(wa(118,d|0)|0)|0;i=b;return a|0}function iH(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=NG(Ka(194,e|0)|0)|0;i=d;return b|0}function jH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(IG()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((NG(za(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=bH(d)|0}else a=0}i=g;return a|0}function kH(){var a=0,b=0;b=i;i=i+16|0;a=fb(201,b|0)|0;i=b;return a|0}function lH(){var a=0,b=0;b=i;i=i+16|0;a=ya(20,b|0)|0;i=b;return a|0}function mH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(NG(Wa(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function nH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=NG(_a(3,f|0)|0)|0;i=e;return a|0}function oH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=NG(va(40,d|0)|0)|0;i=b;return a|0}function pH(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(Oa(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function qH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=NG(Za(10,d|0)|0)|0;i=b;return a|0}function rH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=NG(cb(4,f|0)|0)|0;i=e;return a|0}function sH(){var a=0;do if(!(c[1916]|0)){a=Ma(30)|0;if(!(a+-1&a)){c[1918]=a;c[1917]=a;c[1919]=-1;c[1920]=-1;c[1921]=0;c[1909]=0;c[1916]=(db(0)|0)&-16^1431655768;break}else ab()}while(0);return}function tH(a,b){a=a|0;b=b|0;var 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;q=a+4|0;r=c[q>>2]|0;l=r&-8;m=a+l|0;k=c[1802]|0;g=r&3;if((g|0)!=1&a>>>0>=k>>>0&a>>>0>>0?(f=a+(l|4)|0,e=c[f>>2]|0,(e&1|0)!=0):0){do if(!g)if(b>>>0<256)a=0;else{if(l>>>0>=(b+4|0)>>>0?(l-b|0)>>>0<=c[1918]<<1>>>0:0)break;a=0}else{if(l>>>0>=b>>>0){e=l-b|0;if(e>>>0<=15)break;c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=e|3;c[f>>2]=c[f>>2]|1;uH(a+b|0,e);break}if((m|0)==(c[1804]|0)){e=(c[1801]|0)+l|0;if(e>>>0<=b>>>0){a=0;break}p=e-b|0;c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=p|1;c[1804]=a+b;c[1801]=p;break}if((m|0)==(c[1803]|0)){e=(c[1800]|0)+l|0;if(e>>>0>>0){a=0;break}d=e-b|0;if(d>>>0>15){c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[q>>2]=r&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1800]=d;c[1803]=e;break}if((e&2|0)==0?(p=(e&-8)+l|0,p>>>0>=b>>>0):0){o=p-b|0;f=e>>>3;do if(e>>>0>=256){j=c[a+(l+24)>>2]|0;g=c[a+(l+12)>>2]|0;do if((g|0)==(m|0)){d=a+(l+20)|0;e=c[d>>2]|0;if(!e){d=a+(l+16)|0;e=c[d>>2]|0;if(!e){n=0;break}}while(1){f=e+20|0;g=c[f>>2]|0;if(g){e=g;d=f;continue}g=e+16|0;f=c[g>>2]|0;if(!f)break;else{e=f;d=g}}if(d>>>0>>0)ab();else{c[d>>2]=0;n=e;break}}else{e=c[a+(l+8)>>2]|0;if((e>>>0>=k>>>0?(d=e+12|0,(c[d>>2]|0)==(m|0)):0)?(i=g+8|0,(c[i>>2]|0)==(m|0)):0){c[d>>2]=g;c[i>>2]=e;n=g;break}ab()}while(0);if(j){e=c[a+(l+28)>>2]|0;d=7496+(e<<2)|0;if((m|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();e=j+16|0;if((c[e>>2]|0)==(m|0))c[e>>2]=n;else c[j+20>>2]=n;if(!n)break}d=c[1802]|0;if(n>>>0>>0)ab();c[n+24>>2]=j;e=c[a+(l+16)>>2]|0;do if(e)if(e>>>0>>0)ab();else{c[n+16>>2]=e;c[e+24>>2]=n;break}while(0);e=c[a+(l+20)>>2]|0;if(e)if(e>>>0<(c[1802]|0)>>>0)ab();else{c[n+20>>2]=e;c[e+24>>2]=n;break}}}else{g=c[a+(l+8)>>2]|0;e=c[a+(l+12)>>2]|0;d=7232+(f<<1<<2)|0;do if((g|0)!=(d|0)){if(g>>>0>=k>>>0?(c[g+12>>2]|0)==(m|0):0)break;ab()}while(0);if((e|0)==(g|0)){c[1798]=c[1798]&~(1<>>0>=k>>>0?(j=e+8|0,(c[j>>2]|0)==(m|0)):0){h=j;break}ab()}while(0);c[g+12>>2]=e;c[h>>2]=g}while(0);if(o>>>0<16){c[q>>2]=p|r&1|2;b=a+(p|4)|0;c[b>>2]=c[b>>2]|1;break}else{c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=o|3;r=a+(p|4)|0;c[r>>2]=c[r>>2]|1;uH(a+b|0,o);break}}else a=0}while(0);return a|0}ab();return 0}function uH(a,b){a=a|0;b=b|0;var 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;u=a+b|0;h=c[a+4>>2]|0;do if(!(h&1)){m=c[a>>2]|0;if(h&3){o=a+(0-m)|0;h=m+b|0;l=c[1802]|0;if(o>>>0>>0)ab();if((o|0)==(c[1803]|0)){f=a+(b+4)|0;g=c[f>>2]|0;if((g&3|0)!=3){p=54;break}c[1800]=h;c[f>>2]=g&-2;c[a+(4-m)>>2]=h|1;c[u>>2]=h;break}d=m>>>3;if(m>>>0<256){e=c[a+(8-m)>>2]|0;g=c[a+(12-m)>>2]|0;f=7232+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=l>>>0?(c[e+12>>2]|0)==(o|0):0)break;ab()}while(0);if((g|0)==(e|0)){c[1798]=c[1798]&~(1<>>0>=l>>>0?(j=g+8|0,(c[j>>2]|0)==(o|0)):0){i=j;break}ab()}while(0);c[e+12>>2]=g;c[i>>2]=e;p=54;break}j=c[a+(24-m)>>2]|0;g=c[a+(12-m)>>2]|0;do if((g|0)==(o|0)){e=16-m|0;f=a+(e+4)|0;g=c[f>>2]|0;if(!g){f=a+e|0;g=c[f>>2]|0;if(!g){n=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0>>0)ab();else{c[f>>2]=0;n=g;break}}else{f=c[a+(8-m)>>2]|0;if((f>>>0>=l>>>0?(e=f+12|0,(c[e>>2]|0)==(o|0)):0)?(k=g+8|0,(c[k>>2]|0)==(o|0)):0){c[e>>2]=g;c[k>>2]=f;n=g;break}ab()}while(0);if(j){g=c[a+(28-m)>>2]|0;f=7496+(g<<2)|0;if((o|0)==(c[f>>2]|0)){c[f>>2]=n;if(!n){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();g=j+16|0;if((c[g>>2]|0)==(o|0))c[g>>2]=n;else c[j+20>>2]=n;if(!n){p=54;break}}e=c[1802]|0;if(n>>>0>>0)ab();c[n+24>>2]=j;g=16-m|0;f=c[a+g>>2]|0;do if(f)if(f>>>0>>0)ab();else{c[n+16>>2]=f;c[f+24>>2]=n;break}while(0);g=c[a+(g+4)>>2]|0;if(g)if(g>>>0<(c[1802]|0)>>>0)ab();else{c[n+20>>2]=g;c[g+24>>2]=n;p=54;break}else p=54}else p=54}}else{o=a;h=b;p=54}while(0);a:do if((p|0)==54){j=c[1802]|0;if(u>>>0>>0)ab();g=a+(b+4)|0;f=c[g>>2]|0;if(!(f&2)){if((u|0)==(c[1804]|0)){y=(c[1801]|0)+h|0;c[1801]=y;c[1804]=o;c[o+4>>2]=y|1;if((o|0)!=(c[1803]|0))break;c[1803]=0;c[1800]=0;break}if((u|0)==(c[1803]|0)){y=(c[1800]|0)+h|0;c[1800]=y;c[1803]=o;c[o+4>>2]=y|1;c[o+y>>2]=y;break}i=(f&-8)+h|0;e=f>>>3;do if(f>>>0>=256){k=c[a+(b+24)>>2]|0;h=c[a+(b+12)>>2]|0;do if((h|0)==(u|0)){g=a+(b+20)|0;h=c[g>>2]|0;if(!h){g=a+(b+16)|0;h=c[g>>2]|0;if(!h){v=0;break}}while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0>>0)ab();else{c[g>>2]=0;v=h;break}}else{g=c[a+(b+8)>>2]|0;if((g>>>0>=j>>>0?(s=g+12|0,(c[s>>2]|0)==(u|0)):0)?(t=h+8|0,(c[t>>2]|0)==(u|0)):0){c[s>>2]=h;c[t>>2]=g;v=h;break}ab()}while(0);if(k){h=c[a+(b+28)>>2]|0;g=7496+(h<<2)|0;if((u|0)==(c[g>>2]|0)){c[g>>2]=v;if(!v){c[1799]=c[1799]&~(1<>>0<(c[1802]|0)>>>0)ab();h=k+16|0;if((c[h>>2]|0)==(u|0))c[h>>2]=v;else c[k+20>>2]=v;if(!v)break}h=c[1802]|0;if(v>>>0>>0)ab();c[v+24>>2]=k;g=c[a+(b+16)>>2]|0;do if(g)if(g>>>0>>0)ab();else{c[v+16>>2]=g;c[g+24>>2]=v;break}while(0);e=c[a+(b+20)>>2]|0;if(e)if(e>>>0<(c[1802]|0)>>>0)ab();else{c[v+20>>2]=e;c[e+24>>2]=v;break}}}else{f=c[a+(b+8)>>2]|0;h=c[a+(b+12)>>2]|0;g=7232+(e<<1<<2)|0;do if((f|0)!=(g|0)){if(f>>>0>=j>>>0?(c[f+12>>2]|0)==(u|0):0)break;ab()}while(0);if((h|0)==(f|0)){c[1798]=c[1798]&~(1<>>0>=j>>>0?(r=h+8|0,(c[r>>2]|0)==(u|0)):0){q=r;break}ab()}while(0);c[f+12>>2]=h;c[q>>2]=f}while(0);c[o+4>>2]=i|1;c[o+i>>2]=i;if((o|0)==(c[1803]|0)){c[1800]=i;break}else h=i}else{c[g>>2]=f&-2;c[o+4>>2]=h|1;c[o+h>>2]=h}g=h>>>3;if(h>>>0<256){f=g<<1;h=7232+(f<<2)|0;d=c[1798]|0;e=1<>2]|0;if(d>>>0<(c[1802]|0)>>>0)ab();else{w=e;x=d}}else{c[1798]=d|e;w=7232+(f+2<<2)|0;x=h}c[w>>2]=o;c[x+12>>2]=o;c[o+8>>2]=x;c[o+12>>2]=h;break}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{w=(d+1048320|0)>>>16&8;x=d<>>16&4;x=x<>>16&2;g=14-(b|w|g)+(x<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;e=7496+(g<<2)|0;c[o+28>>2]=g;c[o+20>>2]=0;c[o+16>>2]=0;d=c[1799]|0;f=1<>2]=o;c[o+24>>2]=e;c[o+12>>2]=o;c[o+8>>2]=o;break}e=c[e>>2]|0;b:do if((c[e+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){d=e+16+(g>>>31<<2)|0;f=c[d>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){y=f;break b}else{g=g<<1;e=f}}if(d>>>0<(c[1802]|0)>>>0)ab();else{c[d>>2]=o;c[o+24>>2]=e;c[o+12>>2]=o;c[o+8>>2]=o;break a}}else y=e;while(0);d=y+8|0;e=c[d>>2]|0;x=c[1802]|0;if(e>>>0>=x>>>0&y>>>0>=x>>>0){c[e+12>>2]=o;c[d>>2]=o;c[o+8>>2]=e;c[o+12>>2]=y;c[o+24>>2]=0;break}else ab()}while(0);return}function vH(a){a=a|0;if(!(c[a+68>>2]|0))VG(a);return}function wH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(lb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)lb[c[a+40>>2]&31](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function xH(a){a=a|0;return}function yH(){return}function zH(){}function AH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function BH(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;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function CH(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function EH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ja(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)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 FH(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function GH(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function HH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else EH(b,c,d)|0;return b|0}function IH(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function JH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function KH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=AH(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return AH((PH(h,g,AH(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function LH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=AH(h^a,g^b,h,g)|0;b=C;PH(a,b,AH(l^d,k^e,l,k)|0,C,j)|0;e=AH(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function MH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=JH(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function NH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return PH(a,b,c,d,0)|0}function OH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;PH(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function PH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a;l=b;m=l;k=d;o=e;i=o;if(!m){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(n>>>0)%(k>>>0);c[f+4>>2]=0}o=0;f=(n>>>0)/(k>>>0)>>>0;return (C=o,f)|0}else{if(!g){o=0;f=0;return (C=o,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;o=0;f=0;return (C=o,f)|0}}j=(i|0)==0;do if(k){if(!j){h=(aa(i|0)|0)-(aa(m|0)|0)|0;if(h>>>0<=31){g=h+1|0;l=31-h|0;k=h-31>>31;i=g;j=n>>>(g>>>0)&k|m<>>(g>>>0)&k;g=0;h=n<>2]=a|0;c[f+4>>2]=l|b&0;o=0;f=0;return (C=o,f)|0}j=k-1|0;if(j&k){h=(aa(k|0)|0)+33-(aa(m|0)|0)|0;p=64-h|0;l=32-h|0;a=l>>31;b=h-32|0;k=b>>31;i=h;j=l-1>>31&m>>>(b>>>0)|(m<>>(h>>>0))&k;k=k&m>>>(h>>>0);g=n<>>(b>>>0))&a|n<>31;break}if(f){c[f>>2]=j&n;c[f+4>>2]=0}if((k|0)==1){f=l|b&0;p=a|0|0;return (C=f,p)|0}else{p=IH(k|0)|0;f=m>>>(p>>>0)|0;p=m<<32-p|n>>>(p>>>0)|0;return (C=f,p)|0}}else{if(j){if(f){c[f>>2]=(m>>>0)%(k>>>0);c[f+4>>2]=0}f=0;p=(m>>>0)/(k>>>0)>>>0;return (C=f,p)|0}if(!n){if(f){c[f>>2]=0;c[f+4>>2]=(m>>>0)%(i>>>0)}f=0;p=(m>>>0)/(i>>>0)>>>0;return (C=f,p)|0}j=i-1|0;if(!(j&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=j&m|b&0}f=0;p=m>>>((IH(i|0)|0)>>>0);return (C=f,p)|0}h=(aa(i|0)|0)-(aa(m|0)|0)|0;if(h>>>0<=30){k=h+1|0;h=31-h|0;i=k;j=m<>>(k>>>0);k=m>>>(k>>>0);g=0;h=n<>2]=a|0;c[f+4>>2]=l|b&0;f=0;p=0;return (C=f,p)|0}while(0);if(!i){l=h;i=0;h=0}else{m=d|0|0;l=o|e&0;b=DH(m|0,l|0,-1,-1)|0;a=C;d=h;h=0;do{n=d;d=g>>>31|d<<1;g=h|g<<1;n=j<<1|n>>>31|0;e=j>>>31|k<<1|0;AH(b,a,n,e)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;j=AH(n,e,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;k=C;i=i-1|0}while((i|0)!=0);l=d;i=0}d=0;if(f){c[f>>2]=j;c[f+4>>2]=k}f=(g|0)>>>31|(l|d)<<1|(d<<1|g>>>31)&0|i;p=(g<<1|0>>>31)&-2|h;return (C=f,p)|0}function QH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lb[a&31](b|0,c|0,d|0)|0}function RH(a){a=a|0;return mb[a&1]()|0}function SH(a,b){a=a|0;b=b|0;nb[a&31](b|0)}function TH(a,b,c){a=a|0;b=b|0;c=c|0;ob[a&7](b|0,c|0)}function UH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return pb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function VH(a,b){a=a|0;b=b|0;return qb[a&31](b|0)|0}function WH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rb[a&63](b|0,c|0,d|0)}function XH(a){a=a|0;sb[a&0]()}function YH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return tb[a&15](b|0,c|0,d|0,e|0)|0}function ZH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ub[a&0](b|0,c|0,d|0,e|0,f|0,g|0)}function _H(a,b,c){a=a|0;b=b|0;c=c|0;return vb[a&63](b|0,c|0)|0}function $H(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return wb[a&15](b|0,c|0,d|0,e|0,f|0)|0}function aI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&3](b|0,c|0,d|0,e|0)}function bI(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function cI(){ba(1);return 0}function dI(a){a=a|0;ba(2)}function eI(a,b){a=a|0;b=b|0;ba(3)}function fI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function gI(a){a=a|0;ba(5);return 0}function hI(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function iI(){ba(7)}function jI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function kI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function lI(a,b){a=a|0;b=b|0;ba(10);return 0}function mI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function nI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} // EMSCRIPTEN_END_FUNCS -var pb=[CF,Ac,Dc,Gc,Ic,ni,al,dl,BD,HD,VD,DF,EF,FF,XD,Sw,Tw,Uw,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF,CF];var qb=[GF,YD];var rb=[HF,$k,hl,il,ul,zl,Dl,dm,em,fm,hm,jm,LD,hc,Bh,wh,Vr,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF,HF];var sb=[IF,bl,gl,cr,mq,IF,IF,IF];var tb=[JF,KF];var ub=[LF,ki,_k,cl,tl,wl,xl,yl,yD,ID,JD,MF,NF,OF,mE,vE,Tb,Ed,Fh,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF];var vb=[PF,el,Al,Bl,Cl,El,Fl,Gl,Hl,Il,Jl,Kl,Ll,Ml,Nl,Ol,Pl,Ql,Rl,Sl,Tl,Ul,Vl,Wl,Xl,Yl,Zl,_l,$l,am,bm,cm,gm,im,km,nm,om,pm,tm,um,vm,wm,xm,ym,zm,Am,Ur,Sr,Rr,rt,ut,Tf,PF,PF,PF,PF,PF,PF,PF,PF,PF,PF,PF,PF];var wb=[QF];var xb=[RF,Bc,Cc,KD,OD,Wf,cs,is];var yb=[SF];var zb=[TF,Ec,Fc,Hc,Jc,Kc,GE,lE,xD,oi,pi,vl,CD,DD,ED,FD,GD,MD,UF,VF,WF,XF,YF,ZF,WD,_F,$F,nE,oE,pE,wE,xE,yE,gc,Pf,Wj,Yi,nq,ar,br,tq,uq,Pq,Wq,ft,gt,sw,tw,Qx,Rx,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF,TF];var Ab=[aG,zc,li,mi,zD,AD,ND,zE,oh,ph,aG,aG,aG,aG,aG,aG];var Bb=[bG,fl,dc,bG];return{_strlen:aF,_sqlite3_column_name:Ce,_sqlite3_reset:xd,_sqlite3_column_type:Be,_sqlite3_exec:kf,_sqlite3_step:je,_bitshift64Lshr:cF,_sqlite3_prepare_v2:mf,_sqlite3_close_v2:Mf,_sqlite3_open:cg,_bitshift64Shl:$E,_sqlite3_column_bytes:ye,_sqlite3_bind_int:Ie,_sqlite3_bind_blob:Ee,_memset:_E,_memcpy:dF,_sqlite3_column_blob:ve,_sqlite3_bind_parameter_index:Le,_i64Subtract:ZE,_sqlite3_column_text:Ae,_realloc:SE,_i64Add:bF,_sqlite3_finalize:td,_sqlite3_column_double:ze,_sqlite3_errmsg:nf,_sqlite3_data_count:ue,_sqlite3_bind_text:Ke,_sqlite3_bind_double:Ge,_free:RE,_memmove:eF,_sqlite3_free:hc,_sqlite3_clear_bindings:Ad,_malloc:QE,runPostSets:YE,stackAlloc:Cb,stackSave:Db,stackRestore:Eb,setThrew:Fb,setTempRet0:Ib,getTempRet0:Jb,dynCall_iiii:pF,dynCall_i:qF,dynCall_vi:rF,dynCall_vii:sF,dynCall_iiiiiii:tF,dynCall_ii:uF,dynCall_viii:vF,dynCall_v:wF,dynCall_iiiii:xF,dynCall_viiiiii:yF,dynCall_iii:zF,dynCall_iiiiii:AF,dynCall_viiii:BF}}) +var lb=[bI,KD,ND,QD,SD,Eh,Sj,um,xm,ZD,dE,rE,KG,nH,rH,tE,ZG,XG,Sw,Tw,Uw,YG,bI,bI,bI,bI,bI,bI,bI,bI,bI,bI];var mb=[cI,uE];var nb=[dI,tm,Bm,Cm,Om,Tm,hE,RF,rG,sG,tG,vG,xG,Sb,dj,_i,Hr,vH,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI];var ob=[eI,vm,Am,Qq,Zp,eI,eI,eI];var pb=[fI,uh,vh,OG];var qb=[gI,xh,yh,Ah,Ch,Dh,Pj,sm,wm,Nm,Qm,Rm,Sm,WD,eE,fE,fH,qH,oH,KE,TE,WG,ic,Jd,hj,gI,gI,gI,gI,gI,gI,gI];var rb=[hI,ym,Gr,Er,Dr,kt,rt,OF,PF,QF,SF,TF,UF,VF,WF,XF,YF,ZF,_F,$F,aG,bG,cG,dG,eG,fG,gG,hG,iG,jG,kG,lG,mG,nG,oG,pG,qG,uG,wG,bu,nF,oF,pF,qF,rF,sF,tF,uF,vF,wF,xF,_f,sh,th,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI];var sb=[iI];var tb=[jI,LD,MD,Gh,gE,kE,$f,Qr,Wr,jI,jI,jI,jI,jI,jI,jI];var ub=[kI];var vb=[lI,OD,PD,RD,TD,UD,wh,zh,Fh,Hh,Tj,Uj,Pm,cF,JE,VD,_D,$D,aE,bE,cE,iE,eH,jH,TG,RG,iH,QG,sE,SG,PG,LE,ME,NE,UE,VE,WE,Xf,Wd,ul,Ak,_p,Oq,Pq,eq,fq,Aq,Hq,Ys,Zs,sw,tw,Wx,Xx,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI];var wb=[mI,JD,Bh,Qj,Rj,XD,YD,jE,XE,kh,lh,$h,ai,mI,mI,mI];var xb=[nI,zm,Vd,nI];return{_sqlite3_column_name:Pc,_sqlite3_reset:fc,_sqlite3_column_type:Oc,_sqlite3_exec:Zc,_sqlite3_step:Cc,_bitshift64Lshr:GH,_sqlite3_prepare_v2:_c,_sqlite3_close_v2:od,_sqlite3_open:Ad,_bitshift64Shl:CH,_fflush:_G,_sqlite3_column_bytes:Jc,_sqlite3_bind_int:Sc,_sqlite3_bind_blob:Qc,_memset:BH,_memcpy:EH,_sqlite3_column_blob:Ic,_sqlite3_bind_parameter_index:Wc,_i64Subtract:AH,_sqlite3_column_text:Nc,_i64Add:DH,_sqlite3_finalize:ec,_sqlite3_column_double:Kc,_sqlite3_errmsg:$c,_sqlite3_data_count:Hc,_sqlite3_bind_text:Vc,_sqlite3_bind_double:Rc,___errno_location:IG,_free:GG,_memmove:HH,_sqlite3_free:Sb,_sqlite3_clear_bindings:gc,_malloc:FG,_bitshift64Ashr:FH,runPostSets:zH,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setThrew:Cb,setTempRet0:Fb,getTempRet0:Gb,dynCall_iiii:QH,dynCall_i:RH,dynCall_vi:SH,dynCall_vii:TH,dynCall_iiiiiii:UH,dynCall_ii:VH,dynCall_viii:WH,dynCall_v:XH,dynCall_iiiii:YH,dynCall_viiiiii:ZH,dynCall_iii:_H,dynCall_iiiiii:$H,dynCall_viiii:aI}}) // EMSCRIPTEN_END_ASM -(r.ie,r.je,M),Ob=r._strlen=T._strlen;r._sqlite3_column_name=T._sqlite3_column_name;r._sqlite3_reset=T._sqlite3_reset;r._sqlite3_column_type=T._sqlite3_column_type;r._sqlite3_exec=T._sqlite3_exec;r._sqlite3_step=T._sqlite3_step;var xc=r._bitshift64Lshr=T._bitshift64Lshr;r._sqlite3_prepare_v2=T._sqlite3_prepare_v2;r._sqlite3_close_v2=T._sqlite3_close_v2;r._sqlite3_open=T._sqlite3_open;var Mb=r._bitshift64Shl=T._bitshift64Shl;r._sqlite3_column_bytes=T._sqlite3_column_bytes; -r._sqlite3_bind_int=T._sqlite3_bind_int;r._sqlite3_bind_blob=T._sqlite3_bind_blob;var Kb=r._memset=T._memset,Cc=r._memcpy=T._memcpy;r._sqlite3_column_blob=T._sqlite3_column_blob;r._sqlite3_bind_parameter_index=T._sqlite3_bind_parameter_index;var Jb=r._i64Subtract=T._i64Subtract;r._sqlite3_column_text=T._sqlite3_column_text;r._realloc=T._realloc;var Pb=r._i64Add=T._i64Add;r._sqlite3_finalize=T._sqlite3_finalize;r._sqlite3_column_double=T._sqlite3_column_double;r._sqlite3_errmsg=T._sqlite3_errmsg; -r._sqlite3_data_count=T._sqlite3_data_count;r._sqlite3_bind_text=T._sqlite3_bind_text;r._sqlite3_bind_double=T._sqlite3_bind_double;var Ka=r._free=T._free,Ec=r._memmove=T._memmove;r._sqlite3_free=T._sqlite3_free;r._sqlite3_clear_bindings=T._sqlite3_clear_bindings;var Ia=r._malloc=T._malloc;r.runPostSets=T.runPostSets;r.dynCall_iiii=T.dynCall_iiii;r.dynCall_i=T.dynCall_i;r.dynCall_vi=T.dynCall_vi;r.dynCall_vii=T.dynCall_vii;r.dynCall_iiiiiii=T.dynCall_iiiiiii;r.dynCall_ii=T.dynCall_ii; -r.dynCall_viii=T.dynCall_viii;r.dynCall_v=T.dynCall_v;r.dynCall_iiiii=T.dynCall_iiiii;r.dynCall_viiiiii=T.dynCall_viiiiii;r.dynCall_iii=T.dynCall_iii;r.dynCall_iiiiii=T.dynCall_iiiiii;r.dynCall_viiii=T.dynCall_viiii;w.Ma=T.stackAlloc;w.Xb=T.stackSave;w.Wb=T.stackRestore;w.Lf=T.setTempRet0;w.Ye=T.getTempRet0;function U(a,b){a!=l&&("number"==typeof a?this.da(a):b==l&&"string"!=typeof a?this.S(a,256):this.S(a,b))}function Kc(){return new U(l)} -function Lc(a,b){var c=Mc[a.charCodeAt(b)];return c==l?-1:c}function Nc(a){var b=Kc();b.Aa(a);return b}function V(a,b){this.H=a|0;this.M=b|0}V.Tc={};V.Aa=function(a){if(-128<=a&&128>a){var b=V.Tc[a];if(b)return b}b=new V(a|0,0>a?-1:0);-128<=a&&128>a&&(V.Tc[a]=b);return b};V.da=function(a){return isNaN(a)||!isFinite(a)?V.ZERO:a<=-V.Vc?V.MIN_VALUE:a+1>=V.Vc?V.MAX_VALUE:0>a?V.da(-a).K():new V(a%V.ya|0,a/V.ya|0)};V.qa=function(a,b){return new V(a,b)}; -V.S=function(a,b){0==a.length&&e(Error("number format error: empty string"));var c=b||10;(2>c||36i?(i=V.da(Math.pow(c,i)),f=f.multiply(i).add(V.da(j))):(f=f.multiply(d),f=f.add(V.da(j)))}return f};V.bc=65536; -V.gi=16777216;V.ya=V.bc*V.bc;V.hi=V.ya/2;V.ii=V.ya*V.bc;V.ce=V.ya*V.ya;V.Vc=V.ce/2;V.ZERO=V.Aa(0);V.ONE=V.Aa(1);V.Uc=V.Aa(-1);V.MAX_VALUE=V.qa(-1,2147483647);V.MIN_VALUE=V.qa(0,-2147483648);V.be=V.Aa(16777216);q=V.prototype;q.Zb=function(){return this.M*V.ya+this.Ue()}; -q.toString=function(a){a=a||10;(2>a||36h.length;)h="0"+h;d=""+h+d}};q.Ue=function(){return 0<=this.H?this.H:V.ya+this.H}; -q.Ja=function(){return 0==this.M&&0==this.H};q.Y=function(){return 0>this.M};q.zd=function(){return 1==(this.H&1)};q.ba=function(a){return this.M==a.M&&this.H==a.H};q.Bd=function(){return 0>this.lc(V.be)};q.af=function(a){return 0>>16,c=this.M&65535,d=this.H>>>16,f=a.M>>>16,h=a.M&65535,i=a.H>>>16,j;j=0+((this.H&65535)+(a.H&65535));a=0+(j>>>16);a+=d+i;d=0+(a>>>16);d+=c+h;c=0+(d>>>16);c=c+(b+f)&65535;return V.qa((a&65535)<<16|j&65535,c<<16|d&65535)};q.rb=function(a){return this.add(a.K())}; -q.multiply=function(a){if(this.Ja()||a.Ja())return V.ZERO;if(this.ba(V.MIN_VALUE))return a.zd()?V.MIN_VALUE:V.ZERO;if(a.ba(V.MIN_VALUE))return this.zd()?V.MIN_VALUE:V.ZERO;if(this.Y())return a.Y()?this.K().multiply(a.K()):this.K().multiply(a).K();if(a.Y())return this.multiply(a.K()).K();if(this.Bd()&&a.Bd())return V.da(this.Zb()*a.Zb());var b=this.M>>>16,c=this.M&65535,d=this.H>>>16,f=this.H&65535,h=a.M>>>16,i=a.M&65535,j=a.H>>>16,a=a.H&65535,x,p,A,t;t=0+f*a;A=0+(t>>>16);A+=d*a;p=0+(A>>>16);A=(A& -65535)+f*j;p+=A>>>16;A&=65535;p+=c*a;x=0+(p>>>16);p=(p&65535)+d*j;x+=p>>>16;p&=65535;p+=f*i;x+=p>>>16;p&=65535;x=x+(b*a+c*j+d*i+f*h)&65535;return V.qa(A<<16|t&65535,x<<16|p)}; -q.Ga=function(a){a.Ja()&&e(Error("division by zero"));if(this.Ja())return V.ZERO;if(this.ba(V.MIN_VALUE)){if(a.ba(V.ONE)||a.ba(V.Uc))return V.MIN_VALUE;if(a.ba(V.MIN_VALUE))return V.ONE;var b=this.Mf().Ga(a).shiftLeft(1);if(b.ba(V.ZERO))return a.Y()?V.ONE:V.Uc;var c=this.rb(a.multiply(b));return b.add(c.Ga(a))}if(a.ba(V.MIN_VALUE))return V.ZERO;if(this.Y())return a.Y()?this.K().Ga(a.K()):this.K().Ga(a).K();if(a.Y())return this.Ga(a.K()).K();for(var d=V.ZERO,c=this;c.bf(a);){for(var b=Math.max(1,Math.floor(c.Zb()/ -a.Zb())),f=Math.ceil(Math.log(b)/Math.LN2),f=48>=f?1:Math.pow(2,f-48),h=V.da(b),i=h.multiply(a);i.Y()||i.af(c);)b-=f,h=V.da(b),i=h.multiply(a);h.Ja()&&(h=V.ONE);d=d.add(h);c=c.rb(i)}return d};q.uf=function(){return V.qa(~this.H,~this.M)};q.shiftLeft=function(a){a&=63;if(0==a)return this;var b=this.H;return 32>a?V.qa(b<>>32-a):V.qa(0,b<a?V.qa(this.H>>>a|b<<32-a,b>>a):V.qa(b>>a-32,0<=b?0:-1)};q=U.prototype; -q.hc=function(a,b,c,d){for(var f=0,h=0;0<=--d;){var i=a*this[f++]+b[c]+h,h=Math.floor(i/67108864);b[c++]=i&67108863}return h};q.A=26;q.la=67108863;q.ab=67108864;q.Wd=Math.pow(2,52);q.Rc=26;q.Sc=0;var Mc=[],Oc,W;Oc=48;for(W=0;9>=W;++W)Mc[Oc++]=W;Oc=97;for(W=10;36>W;++W)Mc[Oc++]=W;Oc=65;for(W=10;36>W;++W)Mc[Oc++]=W;q=U.prototype;q.copyTo=function(a){for(var b=this.g-1;0<=b;--b)a[b]=this[b];a.g=this.g;a.u=this.u};q.Aa=function(a){this.g=1;this.u=0>a?-1:0;0a?this[0]=a+DV:this.g=0}; -q.S=function(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else if(4==b)c=2;else{this.Qe(a,b);return}this.u=this.g=0;for(var d=a.length,f=m,h=0;0<=--d;){var i=8==c?a[d]&255:Lc(a,d);0>i?"-"==a.charAt(d)&&(f=k):(f=m,0==h?this[this.g++]=i:h+c>this.A?(this[this.g-1]|=(i&(1<>this.A-h):this[this.g-1]|=i<=this.A&&(h-=this.A))}8==c&&0!=(a[0]&128)&&(this.u=-1,0>d|i,i=(this[j]&f)<=this.g)b.g=0;else{var d=a%this.A,f=this.A-d,h=(1<>d;for(var i=c+1;i>d;0>=this.A;if(a.g>=this.A;d+=this.u}else{for(d+=this.u;c>=this.A;d-=a.u}b.u=0>d?-1:0;-1>d?b[c++]=this.ab+d:0=d.g)){var f=this.abs();if(f.g>>16))j=p,x+=16;if(0!=(p=j>>8))j=p,x+=8;if(0!=(p=j>>4))j=p,x+=4;if(0!=(p=j>>2))j=p,x+=2;0!=j>>1&&(x+=1);j=this.A-x;0>this.Sc:0);x=this.Wd/p;p=(1<i&&U.ZERO.ka(c,c)}}}}; -q.toString=function(a){if(0>this.u)return"-"+this.K().toString(a);if(16==a)a=4;else if(8==a)a=3;else if(2==a)a=1;else if(32==a)a=5;else if(4==a)a=2;else return this.Of(a);var b=(1<>i))d=k,f="0123456789abcdefghijklmnopqrstuvwxyz".charAt(c);for(;0<=h;)i>(i+=this.A-a)):(c=this[h]>>(i-=a)&b,0>=i&&(i+=this.A,--h)),0this.u?this.K():this};q.Fb=function(a){var b=this.u-a.u;if(0!=b)return b;var c=this.g,b=c-a.g;if(0!=b)return 0>this.u?-b:b;for(;0<=--c;)if(0!=(b=this[c]-a[c]))return b;return 0};U.ZERO=Nc(0);U.ONE=Nc(1);q=U.prototype; -q.Qe=function(a,b){this.Aa(0);b==l&&(b=10);for(var c=this.Db(b),d=Math.pow(b,c),f=m,h=0,i=0,j=0;jx?"-"==a.charAt(j)&&0==this.Hc()&&(f=k):(i=b*i+x,++h>=c&&(this.fd(d),this.ed(i),i=h=0))}0this.u?-1:0>=this.g||1==this.g&&0>=this[0]?0:1};q.fd=function(a){this[this.g]=this.hc(a-1,this,0,this.g);++this.g;this.za()}; -q.ed=function(a){var b=0;if(0!=a){for(;this.g<=b;)this[this.g++]=0;for(this[b]+=a;this[b]>=this.ab;)this[b]-=this.ab,++b>=this.g&&(this[this.g++]=0),++this[b]}};q.Of=function(a){a==l&&(a=10);if(0==this.Hc()||2>a||36this.u){if(1==this.g)return this[0]-this.ab;if(0==this.g)return-1}else{if(1==this.g)return this[0];if(0==this.g)return 0}return(this[1]&(1<<32-this.A)-1)<>=this.A;if(a.g>=this.A;d+=this.u}else{for(d+=this.u;c>=this.A;d+=a.u}b.u=0>d?-1:0;0d&&(b[c++]=this.ab+d);b.g=c;b.za()}; -var X={abs:function(a,b){var c=new V(a,b),c=c.Y()?c.K():c;E[ib>>2]=c.H;E[ib+4>>2]=c.M},kd:function(){X.Je||(X.Je=k,X.Md=new U,X.Md.S("4294967296",10),X.Jc=new U,X.Jc.S("18446744073709551616",10),X.Xi=new U,X.Yi=new U)},Oi:function(a,b){var c=new U;c.S(b.toString(),10);var d=new U;c.qf(d);c=new U;c.S(a.toString(),10);var f=new U;c.dc(d,f);return f},stringify:function(a,b,c){a=(new V(a,b)).toString();c&&"-"==a[0]&&(X.kd(),c=new U,c.S(a,10),a=new U,X.Jc.dc(c,a),a=a.toString(10));return a},S:function(a, -b,c,d,f){X.kd();var h=new U;h.S(a,b);a=new U;a.S(c,10);c=new U;c.S(d,10);f&&0>h.Fb(U.ZERO)&&(d=new U,h.dc(X.Jc,d),h=d);d=m;0>h.Fb(a)?(h=a,d=k):0>2]=h.H;E[ib+4>>2]=h.M;d&&e("range error")}}; -if(hb)if("function"===typeof r.locateFile?hb=r.locateFile(hb):r.memoryInitializerPrefixURL&&(hb=r.memoryInitializerPrefixURL+hb),s||ga){var Pc=r.readBinary(hb);K.set(Pc,Oa)}else fb(),Ib(hb,function(a){K.set(a,Oa);gb()},function(){e("could not load memory initializer "+hb)});function ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ka.prototype=Error();var Qc,Rc=l,eb=function Sc(){!r.calledRun&&Tc&&Uc();r.calledRun||(eb=Sc)}; -r.callMain=r.ri=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}u(0==cb,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");u(0==Ua.length,"cannot call main when preRun functions remain to be called");a=a||[];Za||(Za=k,Ta(Va));var c=a.length+1,d=[H(N(r.thisProgram),"i8",F)];b();for(var f=0;fd;a=0<=d?++f:--f)c[a]=D[b+a];return c};$.prototype.get=function(a){var b,c,d;a!=l&&this.bind(a)&&this.step();d=[];a=b=0;for(c=kd(this.L);0<=c?bc;a=0<=c?++b:--b)switch(jd(this.L,a)){case Y.Xd:case Y.FLOAT:d.push(this.We(a));break;case Y.ae:d.push(this.Xe(a));break;case Y.Nd:d.push(this.getBlob(a));break;default:d.push(l)}return d}; -$.prototype.getColumnNames=function(){var a,b,c,d;d=[];a=b=0;for(c=kd(this.L);0<=c?bc;a=0<=c?++b:--b)d.push(hd(this.L,a));return d};$.prototype.getAsObject=function(a){var b,c,d,f,h,i;f=this.get(a);c=this.getColumnNames();d={};a=h=0;for(i=c.length;h>>0);a!=l&&z.Gb("/",this.filename,a,k,k);this.handleError(od(this.filename,Z));this.db=Ga(Z,"i32");this.Yb={}} -ud.prototype.run=function(a,b){var c;this.db||e("Database closed");b?(c=this.prepare(a,b),c.step(),c.free()):this.handleError(md(this.db,a,0,0,Z));return this}; -ud.prototype.exec=function(a){var b,c,d,f,h;this.db||e("Database closed");f=w.Xb();c=w.Ma(a.length<<3);xa(a,c);a=w.Ma(4);for(d=[];Ga(c,"i8")!==Wc;)if(ya(Z,0,"i32"),ya(a,0,"i32"),this.handleError(qd(this.db,c,-1,Z,a)),b=Ga(Z,"i32"),c=Ga(a,"i32"),b!==Wc){h=new $(b,this);for(b=l;h.step();)b===l&&(b={columns:h.getColumnNames(),values:[]},d.push(b)),b.values.push(h.get());h.free()}w.Wb(f);return d}; -ud.prototype.each=function(a,b,c,d){"function"===typeof b&&(d=c,c=b,b=g);for(a=this.prepare(a,b);a.step();)c(a.getAsObject());a.free();if("function"===typeof d)return d()};ud.prototype.prepare=function(a,b){var c,d;ya(Z,0,"i32");this.handleError(pd(this.db,a,-1,Z,Wc));c=Ga(Z,"i32");c===Wc&&e("Nothing to prepare");d=new $(c,this);b!=l&&d.bind(b);return this.Yb[c]=d}; -ud.prototype["export"]=function(){var a,b,c;c=this.Yb;for(b in c)a=c[b],a.free();this.handleError(dd(this.db));a=z.Ef(this.filename,{encoding:"binary"});this.handleError(od(this.filename,Z));this.db=Ga(Z,"i32");return a};ud.prototype.close=function(){var a,b,c;c=this.Yb;for(b in c)a=c[b],a.free();this.handleError(dd(this.db));z.Da("/"+this.filename);return this.db=l};ud.prototype.handleError=function(a){if(a===Y.Bb)return l;a=ld(this.db);e(Error(a))};Database=ud; -od=r.cwrap("sqlite3_open","number",["string","number"]);dd=r.cwrap("sqlite3_close_v2","number",["number"]);md=r.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);r.cwrap("sqlite3_free","",["number"]);pd=r.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);qd=r.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]);bd=r.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]); -Yc=r.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);Zc=r.cwrap("sqlite3_bind_double","number",["number","number","number"]);$c=r.cwrap("sqlite3_bind_int","number",["number","number","number"]);ad=r.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);td=r.cwrap("sqlite3_step","number",["number"]);ld=r.cwrap("sqlite3_errmsg","string",["number"]);kd=r.cwrap("sqlite3_data_count","number",["number"]); -gd=r.cwrap("sqlite3_column_double","number",["number","number"]);id=r.cwrap("sqlite3_column_text","string",["number","number"]);ed=r.cwrap("sqlite3_column_blob","number",["number","number"]);fd=r.cwrap("sqlite3_column_bytes","number",["number","number"]);jd=r.cwrap("sqlite3_column_type","number",["number","number"]);hd=r.cwrap("sqlite3_column_name","string",["number","number"]);rd=r.cwrap("sqlite3_reset","number",["number"]);cd=r.cwrap("sqlite3_clear_bindings","number",["number"]); -nd=r.cwrap("sqlite3_finalize","number",["number"]);this.SQL={Database:Database};for(Xc in this.SQL)r[Xc]=this.SQL[Xc];Wc=0;Y.Bb=0;Y.xh=1;Y.Oh=2;Y.$h=3;Y.Sf=4;Y.Uf=5;Y.Rh=6;Y.Vh=7;Y.ci=8;Y.Ph=9;Y.Qh=10;Y.Xf=11;Y.Xh=12;Y.Nh=13;Y.Vf=14;Y.ai=15;Y.EMPTY=16;Y.di=17;Y.fi=18;Y.Wf=19;Y.Sh=20;Y.Th=21;Y.Uh=22;Y.Tf=23;Y.Mh=24;Y.bi=25;Y.Wh=26;Y.Yh=27;Y.ji=28;Y.$d=100;Y.DONE=101;Y.Xd=1;Y.FLOAT=2;Y.ae=3;Y.Nd=4;Y.Zh=5; +(f.rb,f.sb,C);f._sqlite3_column_name=W._sqlite3_column_name;f._sqlite3_reset=W._sqlite3_reset;f._sqlite3_column_type=W._sqlite3_column_type;f._sqlite3_exec=W._sqlite3_exec;f._sqlite3_step=W._sqlite3_step;var Ad=f._bitshift64Lshr=W._bitshift64Lshr;f._sqlite3_prepare_v2=W._sqlite3_prepare_v2;f._sqlite3_close_v2=W._sqlite3_close_v2;f._sqlite3_open=W._sqlite3_open; +var Ac=f._bitshift64Shl=W._bitshift64Shl,Gb=f._fflush=W._fflush;f._sqlite3_column_bytes=W._sqlite3_column_bytes;f._sqlite3_bind_int=W._sqlite3_bind_int;f._sqlite3_bind_blob=W._sqlite3_bind_blob;var zc=f._memset=W._memset,Dc=f._memcpy=W._memcpy;f._sqlite3_column_blob=W._sqlite3_column_blob;f._sqlite3_bind_parameter_index=W._sqlite3_bind_parameter_index;var ob=f._i64Subtract=W._i64Subtract;f._sqlite3_column_text=W._sqlite3_column_text;var Bc=f._i64Add=W._i64Add;f._sqlite3_finalize=W._sqlite3_finalize; +f._sqlite3_column_double=W._sqlite3_column_double;f._sqlite3_errmsg=W._sqlite3_errmsg;f._sqlite3_data_count=W._sqlite3_data_count;f._sqlite3_bind_text=W._sqlite3_bind_text;f._sqlite3_bind_double=W._sqlite3_bind_double;f.___errno_location=W.___errno_location;var Ra=f._free=W._free;f.runPostSets=W.runPostSets;var Fd=f._memmove=W._memmove;f._sqlite3_free=W._sqlite3_free;f._sqlite3_clear_bindings=W._sqlite3_clear_bindings;var Ia=f._malloc=W._malloc,zd=f._bitshift64Ashr=W._bitshift64Ashr; +f.dynCall_iiii=W.dynCall_iiii;f.dynCall_i=W.dynCall_i;f.dynCall_vi=W.dynCall_vi;f.dynCall_vii=W.dynCall_vii;f.dynCall_iiiiiii=W.dynCall_iiiiiii;f.dynCall_ii=W.dynCall_ii;f.dynCall_viii=W.dynCall_viii;f.dynCall_v=W.dynCall_v;f.dynCall_iiiii=W.dynCall_iiiii;f.dynCall_viiiiii=W.dynCall_viiiiii;f.dynCall_iii=W.dynCall_iii;f.dynCall_iiiiii=W.dynCall_iiiiii;f.dynCall_viiii=W.dynCall_viiii;n.T=W.stackAlloc;n.ha=W.stackSave;n.Z=W.stackRestore;n.Qe=W.establishStackSpace;n.cc=W.setTempRet0;n.Kb=W.getTempRet0; +function ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ka.prototype=Error();ka.prototype.constructor=ka;var Id,Jd=null,kb=function Kd(){f.calledRun||Ld();f.calledRun||(kb=Kd)}; +f.callMain=f.Le=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}k(0==ib,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");k(0==cb.length,"cannot call main when preRun functions remain to be called");a=a||[];La||(La=!0,bb(db));var c=a.length+1,d=[x(E(f.thisProgram),"i8",0)];b();for(var e=0;eg;a=0<=g?++c:--c)e[a]=u[d+a];return e};a.prototype.get=function(a){var c,d,e;null!=a&&this.bind(a)&&this.step();e=[];a=c=0;for(d=ee(this.q);0<=d?cd;a=0<=d?++c:--c)switch(de(this.q,a)){case X.lb:case X.FLOAT:e.push(this.Ib(a));break;case X.nb:e.push(this.Jb(a));break;case X.ib:e.push(this.getBlob(a));break;default:e.push(null)}return e};a.prototype.getColumnNames=function(){var a,c,d,e;e=[];a=c= +0;for(d=ee(this.q);0<=d?cd;a=0<=d?++c:--c)e.push(be(this.q,a));return e};a.prototype.getAsObject=function(a){var c,d,e,g,h,l;l=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&sc("/",this.filename,a,!0,!0);this.handleError(ie(this.filename,Z));this.db=Ha(Z,"i32");this.ua={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(ge(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,e,g,h;if(!this.db)throw"Database closed";g=n.ha();d=n.T(a.length<<3);va(a,d);a=n.T(4);for(e=[];Ha(d,"i8")!== +Pd;)if(za(Z,0,"i32"),za(a,0,"i32"),this.handleError(ke(this.db,d,-1,Z,a)),c=Ha(Z,"i32"),d=Ha(a,"i32"),c!==Pd){h=new Qd(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},e.push(c)),c.values.push(h.get());h.free()}n.Z(g);return e};a.prototype.each=function(a,c,d,e){"function"===typeof c&&(e=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof e)return e()};a.prototype.prepare=function(a){var c;za(Z,0,"i32");this.handleError(je(this.db, +a,-1,Z,Pd));a=Ha(Z,"i32");if(a===Pd)throw"Nothing to prepare";c=new Qd(a,this);return this.ua[a]=c};a.prototype["export"]=function(){var a,c,d,e;d=this.ua;for(a in d)e=d[a],e.free();this.handleError(Yd(this.db));e=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=hc(e,a.flags);e=dc(e).size;var g=new Uint8Array(e);mc(d,g,0,e,0);"utf8"===a.encoding?c=Na(g,0): +"binary"===a.encoding&&(c=g);jc(d);this.handleError(ie(this.filename,Z));this.db=Ha(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.ua;for(a in c)d=c[a],d.free();this.handleError(Yd(this.db));cc("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===X.ma)return null;a=fe(this.db);throw Error(a);};return a}();ie=f.cwrap("sqlite3_open","number",["string","number"]);Yd=f.cwrap("sqlite3_close_v2","number",["number"]); +ge=f.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);f.cwrap("sqlite3_free","",["number"]);je=f.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);ke=f.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]);Wd=f.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);Sd=f.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]); +Td=f.cwrap("sqlite3_bind_double","number",["number","number","number"]);Ud=f.cwrap("sqlite3_bind_int","number",["number","number","number"]);Vd=f.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);me=f.cwrap("sqlite3_step","number",["number"]);fe=f.cwrap("sqlite3_errmsg","string",["number"]);ee=f.cwrap("sqlite3_data_count","number",["number"]);ae=f.cwrap("sqlite3_column_double","number",["number","number"]);ce=f.cwrap("sqlite3_column_text","string",["number","number"]); +Zd=f.cwrap("sqlite3_column_blob","number",["number","number"]);$d=f.cwrap("sqlite3_column_bytes","number",["number","number"]);de=f.cwrap("sqlite3_column_type","number",["number","number"]);be=f.cwrap("sqlite3_column_name","string",["number","number"]);le=f.cwrap("sqlite3_reset","number",["number"]);Xd=f.cwrap("sqlite3_clear_bindings","number",["number"]);he=f.cwrap("sqlite3_finalize","number",["number"]);this.SQL={Database:Database};for(Rd in this.SQL)f[Rd]=this.SQL[Rd];Pd=0;X.ma=0;X.ERROR=1; +X.ke=2;X.we=3;X.fc=4;X.hc=5;X.ne=6;X.re=7;X.ze=8;X.le=9;X.me=10;X.kc=11;X.te=12;X.ie=13;X.ic=14;X.xe=15;X.EMPTY=16;X.Ae=17;X.Ce=18;X.jc=19;X.oe=20;X.pe=21;X.qe=22;X.gc=23;X.he=24;X.ye=25;X.se=26;X.ue=27;X.De=28;X.mb=100;X.DONE=101;X.lb=1;X.FLOAT=2;X.nb=3;X.ib=4;X.ve=5; return this['SQL']; })(); if (typeof module !== 'undefined') module.exports = SQL; if (typeof define === 'function') define(SQL); -// Generated by CoffeeScript 1.7.1 +// Generated by CoffeeScript 1.9.3 var createDb, db; if (typeof importScripts === 'function') { From a7c381ddf87783e691a015c217a617b173d812a5 Mon Sep 17 00:00:00 2001 From: Eric Lindahl Date: Thu, 6 Aug 2015 12:16:19 -0400 Subject: [PATCH 2/2] Debug with RTREE, not tested. --- js/sql-debug.js | 194669 ++++++++++++++++++++++++--------------------- 1 file changed, 102654 insertions(+), 92015 deletions(-) diff --git a/js/sql-debug.js b/js/sql-debug.js index 83bf9996..5fe8ccad 100644 --- a/js/sql-debug.js +++ b/js/sql-debug.js @@ -32,9 +32,13 @@ for (var key in Module) { // The environment setup code below is customized to use Module. // *** Environment setup code *** -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function'; var ENVIRONMENT_IS_WEB = typeof window === 'object'; +// Three configurations we can be running in: +// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) +// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) +// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; +var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; if (ENVIRONMENT_IS_NODE) { @@ -68,10 +72,12 @@ if (ENVIRONMENT_IS_NODE) { globalEval(read(f)); }; - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } } Module['arguments'] = process['argv'].slice(2); @@ -86,6 +92,8 @@ if (ENVIRONMENT_IS_NODE) { throw ex; } }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; } else if (ENVIRONMENT_IS_SHELL) { if (!Module['print']) Module['print'] = print; @@ -112,8 +120,6 @@ else if (ENVIRONMENT_IS_SHELL) { Module['arguments'] = arguments; } - this['Module'] = Module; - } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { Module['read'] = function read(url) { @@ -144,11 +150,13 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { })); } - if (ENVIRONMENT_IS_WEB) { - window['Module'] = Module; - } else { + if (ENVIRONMENT_IS_WORKER) { Module['load'] = importScripts; } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } } else { // Unreachable because SHELL is dependant on the others @@ -247,6 +255,18 @@ var Runtime = { return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); }, STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, getAlignSize: function (type, size, vararg) { // we align i64s and doubles on 64-bit boundaries, unlike x86 if (!vararg && (type == 'i64' || type == 'double')) return 8; @@ -275,34 +295,6 @@ var Runtime = { removeFunction: function (index) { Runtime.functionPointers[(index-2)/2] = null; }, - getAsmConst: function (code, numArgs) { - // code is a constant string on the heap, so we can cache these - if (!Runtime.asmConstCache) Runtime.asmConstCache = {}; - var func = Runtime.asmConstCache[code]; - if (func) return func; - var args = []; - for (var i = 0; i < numArgs; i++) { - args.push(String.fromCharCode(36) + i); // $0, $1 etc - } - var source = Pointer_stringify(code); - if (source[0] === '"') { - // tolerate EM_ASM("..code..") even though EM_ASM(..code..) is correct - if (source.indexOf('"', 1) === source.length-1) { - source = source.substr(1, source.length-2); - } else { - // something invalid happened, e.g. EM_ASM("..code($0)..", input) - abort('invalid EM_ASM input |' + source + '|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)'); - } - } - try { - // Module is the only 'upvar', which we provide directly. We also provide FS for legacy support. - var evalled = eval('(function(Module, FS) { return function(' + args.join(',') + '){ ' + source + ' } })')(Module, typeof FS !== 'undefined' ? FS : null); - } catch(e) { - Module.printErr('error in executing inline EM_ASM code: ' + e + ' on: \n\n' + source + '\n\nwith args |' + args + '| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)'); - throw e; - } - return Runtime.asmConstCache[code] = evalled; - }, warnOnce: function (text) { if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; if (!Runtime.warnOnce.shown[text]) { @@ -324,73 +316,12 @@ var Runtime = { } return sigCache[func]; }, - UTF8Processor: function () { - var buffer = []; - var needed = 0; - this.processCChar = function (code) { - code = code & 0xFF; - - if (buffer.length == 0) { - if ((code & 0x80) == 0x00) { // 0xxxxxxx - return String.fromCharCode(code); - } - buffer.push(code); - if ((code & 0xE0) == 0xC0) { // 110xxxxx - needed = 1; - } else if ((code & 0xF0) == 0xE0) { // 1110xxxx - needed = 2; - } else { // 11110xxx - needed = 3; - } - return ''; - } - - if (needed) { - buffer.push(code); - needed--; - if (needed > 0) return ''; - } - - var c1 = buffer[0]; - var c2 = buffer[1]; - var c3 = buffer[2]; - var c4 = buffer[3]; - var ret; - if (buffer.length == 2) { - ret = String.fromCharCode(((c1 & 0x1F) << 6) | (c2 & 0x3F)); - } else if (buffer.length == 3) { - ret = String.fromCharCode(((c1 & 0x0F) << 12) | ((c2 & 0x3F) << 6) | (c3 & 0x3F)); - } else { - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - var codePoint = ((c1 & 0x07) << 18) | ((c2 & 0x3F) << 12) | - ((c3 & 0x3F) << 6) | (c4 & 0x3F); - ret = String.fromCharCode( - (((codePoint - 0x10000) / 0x400)|0) + 0xD800, - (codePoint - 0x10000) % 0x400 + 0xDC00); - } - buffer.length = 0; - return ret; - } - this.processJSString = function processJSString(string) { - /* TODO: use TextEncoder when present, - var encoder = new TextEncoder(); - encoder['encoding'] = "utf-8"; - var utf8Array = encoder['encode'](aMsg.data); - */ - string = unescape(encodeURIComponent(string)); - var ret = []; - for (var i = 0; i < string.length; i++) { - ret.push(string.charCodeAt(i)); - } - return ret; - } - }, getCompilerSetting: function (name) { throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; }, stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16); return ret; }, staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; }, + dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, GLOBAL_BASE: 8, @@ -399,13 +330,8 @@ var Runtime = { } -Module['Runtime'] = Runtime; - - - - - +Module['Runtime'] = Runtime; @@ -477,7 +403,7 @@ var cwrap, ccall; var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args) { + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { var func = getCFunc(ident); var cArgs = []; var stack = 0; @@ -494,7 +420,15 @@ var cwrap, ccall; } var ret = func.apply(null, cArgs); if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) Runtime.stackRestore(stack); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } return ret; } @@ -693,17 +627,25 @@ function allocate(slab, types, allocator, ptr) { } Module['allocate'] = allocate; +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module['getMemory'] = getMemory; + function Pointer_stringify(ptr, /* optional */ length) { if (length === 0 || !ptr) return ''; // TODO: use TextDecoder // Find the length, and check for UTF while doing so - var hasUtf = false; + var hasUtf = 0; var t; var i = 0; while (1) { t = HEAPU8[(((ptr)+(i))>>0)]; - if (t >= 128) hasUtf = true; - else if (t == 0 && !length) break; + hasUtf |= t; + if (t == 0 && !length) break; i++; if (length && i == length) break; } @@ -711,7 +653,7 @@ function Pointer_stringify(ptr, /* optional */ length) { var ret = ''; - if (!hasUtf) { + if (hasUtf < 128) { var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack var curr; while (length > 0) { @@ -722,15 +664,184 @@ function Pointer_stringify(ptr, /* optional */ length) { } return ret; } + return Module['UTF8ToString'](ptr); +} +Module['Pointer_stringify'] = Pointer_stringify; - var utf8 = new Runtime.UTF8Processor(); - for (i = 0; i < length; i++) { - t = HEAPU8[(((ptr)+(i))>>0)]; - ret += utf8.processCChar(t); +// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function AsciiToString(ptr) { + var str = ''; + while (1) { + var ch = HEAP8[((ptr++)>>0)]; + if (!ch) return str; + str += String.fromCharCode(ch); } - return ret; } -Module['Pointer_stringify'] = Pointer_stringify; +Module['AsciiToString'] = AsciiToString; + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. + +function stringToAscii(str, outPtr) { + return writeAsciiToMemory(str, outPtr, false); +} +Module['stringToAscii'] = stringToAscii; + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns +// a copy of that string as a Javascript String object. + +function UTF8ArrayToString(u8Array, idx) { + var u0, u1, u2, u3, u4, u5; + + var str = ''; + while (1) { + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + u0 = u8Array[idx++]; + if (!u0) return str; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + u1 = u8Array[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + u2 = u8Array[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u3 = u8Array[idx++] & 63; + if ((u0 & 0xF8) == 0xF0) { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; + } else { + u4 = u8Array[idx++] & 63; + if ((u0 & 0xFC) == 0xF8) { + u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + } else { + u5 = u8Array[idx++] & 63; + u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + } + } + } + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } +} +Module['UTF8ArrayToString'] = UTF8ArrayToString; + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function UTF8ToString(ptr) { + return UTF8ArrayToString(HEAPU8, ptr); +} +Module['UTF8ToString'] = UTF8ToString; + +// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', +// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. +// outIdx: The starting offset in the array to begin the copying. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. +// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 0xC0 | (u >> 6); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 0xE0 | (u >> 12); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0x1FFFFF) { + if (outIdx + 3 >= endIdx) break; + outU8Array[outIdx++] = 0xF0 | (u >> 18); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0x3FFFFFF) { + if (outIdx + 4 >= endIdx) break; + outU8Array[outIdx++] = 0xF8 | (u >> 24); + outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 5 >= endIdx) break; + outU8Array[outIdx++] = 0xFC | (u >> 30); + outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + outU8Array[outIdx] = 0; + return outIdx - startIdx; +} +Module['stringToUTF8Array'] = stringToUTF8Array; + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} +Module['stringToUTF8'] = stringToUTF8; + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) { + ++len; + } else if (u <= 0x7FF) { + len += 2; + } else if (u <= 0xFFFF) { + len += 3; + } else if (u <= 0x1FFFFF) { + len += 4; + } else if (u <= 0x3FFFFFF) { + len += 5; + } else { + len += 6; + } + } + return len; +} +Module['lengthBytesUTF8'] = lengthBytesUTF8; + +// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. function UTF16ToString(ptr) { var i = 0; @@ -747,18 +858,44 @@ function UTF16ToString(ptr) { } Module['UTF16ToString'] = UTF16ToString; - -function stringToUTF16(str, outPtr) { - for(var i = 0; i < str.length; ++i) { +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. +// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. +// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF16(str, outPtr, maxBytesToWrite) { + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[(((outPtr)+(i*2))>>1)]=codeUnit; + HEAP16[((outPtr)>>1)]=codeUnit; + outPtr += 2; } // Null-terminate the pointer to the HEAP. - HEAP16[(((outPtr)+(str.length*2))>>1)]=0; + HEAP16[((outPtr)>>1)]=0; + return outPtr - startPtr; } Module['stringToUTF16'] = stringToUTF16; +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF16(str) { + return str.length*2; +} +Module['lengthBytesUTF16'] = lengthBytesUTF16; function UTF32ToString(ptr) { var i = 0; @@ -770,6 +907,7 @@ function UTF32ToString(ptr) { return str; ++i; // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 if (utf32 >= 0x10000) { var ch = utf32 - 0x10000; str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); @@ -780,24 +918,59 @@ function UTF32ToString(ptr) { } Module['UTF32ToString'] = UTF32ToString; - -function stringToUTF32(str, outPtr) { - var iChar = 0; - for(var iCodeUnit = 0; iCodeUnit < str.length; ++iCodeUnit) { +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. +// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. +// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF32(str, outPtr, maxBytesToWrite) { + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - var codeUnit = str.charCodeAt(iCodeUnit); // possibly a lead surrogate + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++iCodeUnit); + var trailSurrogate = str.charCodeAt(++i); codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); } - HEAP32[(((outPtr)+(iChar*4))>>2)]=codeUnit; - ++iChar; + HEAP32[((outPtr)>>2)]=codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; } // Null-terminate the pointer to the HEAP. - HEAP32[(((outPtr)+(iChar*4))>>2)]=0; + HEAP32[((outPtr)>>2)]=0; + return outPtr - startPtr; } Module['stringToUTF32'] = stringToUTF32; +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; +} +Module['lengthBytesUTF32'] = lengthBytesUTF32; + function demangle(func) { var hasLibcxxabi = !!Module['___cxa_demangle']; if (hasLibcxxabi) { @@ -1002,8 +1175,12 @@ Module['stackTrace'] = stackTrace; // Memory management var PAGE_SIZE = 4096; + function alignMemoryPage(x) { - return (x+4095)&-4096; + if (x % 4096 > 0) { + x += (4096 - (x % 4096)); + } + return x; } var HEAP; @@ -1013,6 +1190,7 @@ var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk + function enlargeMemory() { abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (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.'); } @@ -1020,7 +1198,6 @@ function enlargeMemory() { var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152; var totalMemory = 64*1024; while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { @@ -1031,7 +1208,7 @@ while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { } } if (totalMemory !== TOTAL_MEMORY) { - Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be compliant with the asm.js spec'); + Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be compliant with the asm.js spec (and given that TOTAL_STACK=' + TOTAL_STACK + ')'); TOTAL_MEMORY = totalMemory; } @@ -1040,7 +1217,8 @@ if (totalMemory !== TOTAL_MEMORY) { assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), 'JS engine does not provide full typed array support'); -var buffer = new ArrayBuffer(TOTAL_MEMORY); +var buffer; +buffer = new ArrayBuffer(TOTAL_MEMORY); HEAP8 = new Int8Array(buffer); HEAP16 = new Int16Array(buffer); HEAP32 = new Int32Array(buffer); @@ -1094,6 +1272,7 @@ var __ATPOSTRUN__ = []; // functions called after the runtime has exited var runtimeInitialized = false; var runtimeExited = false; + function preRun() { // compatibility - merge in anything from Module['preRun'] at this time if (Module['preRun']) { @@ -1160,14 +1339,11 @@ Module['addOnPostRun'] = Module.addOnPostRun = addOnPostRun; function intArrayFromString(stringy, dontAddNull, length /* optional */) { - var ret = (new Runtime.UTF8Processor()).processJSString(stringy); - if (length) { - ret.length = length; - } - if (!dontAddNull) { - ret.push(0); - } - return ret; + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; } Module['intArrayFromString'] = intArrayFromString; @@ -1197,16 +1373,17 @@ Module['writeStringToMemory'] = writeStringToMemory; function writeArrayToMemory(array, buffer) { for (var i = 0; i < array.length; i++) { - HEAP8[(((buffer)+(i))>>0)]=array[i]; + HEAP8[((buffer++)>>0)]=array[i]; } } Module['writeArrayToMemory'] = writeArrayToMemory; function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; i++) { - HEAP8[(((buffer)+(i))>>0)]=str.charCodeAt(i); + for (var i = 0; i < str.length; ++i) { + HEAP8[((buffer++)>>0)]=str.charCodeAt(i); } - if (!dontAddNull) HEAP8[(((buffer)+(str.length))>>0)]=0; + // Null-terminate the pointer to the HEAP. + if (!dontAddNull) HEAP8[((buffer)>>0)]=0; } Module['writeAsciiToMemory'] = writeAsciiToMemory; @@ -1231,6 +1408,7 @@ function reSign(value, bits, ignore) { return value; } + // check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { var ah = a >>> 16; @@ -1242,6 +1420,15 @@ if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function Math.imul = Math['imul']; +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + var Math_abs = Math.abs; var Math_cos = Math.cos; var Math_sin = Math.sin; @@ -1259,6 +1446,7 @@ var Math_pow = Math.pow; var Math_imul = Math.imul; var Math_fround = Math.fround; var Math_min = Math.min; +var Math_clz32 = Math.clz32; // A counter of dependencies for calling run(). If we need to // do asynchronous work before running, increment this and @@ -1271,6 +1459,10 @@ var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +function getUniqueRunDependency(id) { + return id; +} + function addRunDependency(id) { runDependencies++; if (Module['monitorRunDependencies']) { @@ -1301,28 +1493,34 @@ Module["preloadedImages"] = {}; // maps url to image data Module["preloadedAudios"] = {}; // maps url to audio data + var memoryInitializer = null; + + // === Body === +var ASM_CONSTS = []; STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 39504; - /* global initializers */ __ATINIT__.push(); +STATICTOP = STATIC_BASE + 40720; + /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([51,46,56,46,55,46,52,0,83,81,76,73,84,69,95,0,0,152,0,0,16,152,0,0,32,152,0,0,56,152,0,0,72,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,24,4,0,0,32,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,40,4,0,0,56,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,64,4,0,0,80,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,88,4,0,0,32,4,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,117,110,105,120,0,0,0,0,6,0,0,0,0,0,0,0,117,110,105,120,45,110,111,110,101,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,117,110,105,120,45,100,111,116,102,105,108,101,0,0,0,0,8,0,0,0,0,0,0,0,117,110,105,120,45,101,120,99,108,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,1,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,0,37,115,0,0,0,0,0,0,42,63,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,0,0,116,114,105,103,103,101,114,0,116,101,109,112,0,0,0,0,50,48,49,52,45,49,50,45,48,57,32,48,49,58,51,52,58,51,54,32,102,54,54,102,55,97,49,55,98,55,56,98,97,54,49,55,97,99,100,101,57,48,102,99,56,49,48,49,48,55,102,51,52,102,49,97,49,102,50,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,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,0,0,0,0,0,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,102,117,108,108,0,0,0,0,0,1,2,4,9,12,16,0,2,2,3,5,3,4,4,0,1,0,0,0,1,1,2,0,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,0,0,0,0,0,0,0,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,0,0,0,0,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,0,0,0,0,66,73,78,65,82,89,0,0,82,84,82,73,77,0,0,0,78,79,67,65,83,69,0,0,109,97,105,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,0,77,65,84,67,72,0,0,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,3,0,0,0,5,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,0,0,0,0,0,217,213,5,249,32,161,99,215,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,0,0,0,0,0,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,0,0,0,45,106,111,117,114,110,97,108,0,0,0,0,0,0,0,0,45,119,97,108,0,0,0,0,110,111,108,111,99,107,0,0,105,109,109,117,116,97,98,108,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,105,108,101,58,0,0,0,108,111,99,97,108,104,111,115,116,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,0,0,0,0,118,102,115,0,0,0,0,0,99,97,99,104,101,0,0,0,96,18,0,0,0,0,2,0,104,18,0,0,0,0,4,0,0,0,0,0,0,0,0,0,115,104,97,114,101,100,0,0,112,114,105,118,97,116,101,0,109,111,100,101,0,0,0,0,160,18,0,0,1,0,0,0,168,18,0,0,2,0,0,0,176,18,0,0,6,0,0,0,184,18,0,0,128,0,0,0,0,0,0,0,0,0,0,0,114,111,0,0,0,0,0,0,114,119,0,0,0,0,0,0,114,119,99,0,0,0,0,0,109,101,109,111,114,121,0,0,97,99,99,101,115,115,0,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,0,0,0,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,0,0,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,0,104,20,0,0,120,20,0,0,0,0,0,0,160,20,0,0,192,20,0,0,224,20,0,0,248,20,0,0,24,21,0,0,40,21,0,0,80,21,0,0,96,21,0,0,112,21,0,0,152,21,0,0,176,21,0,0,208,21,0,0,240,21,0,0,8,22,0,0,32,22,0,0,152,4,0,0,64,22,0,0,88,22,0,0,112,22,0,0,152,22,0,0,184,22,0,0,208,22,0,0,240,22,0,0,24,23,0,0,0,0,0,0,110,111,116,32,97,110,32,101,114,114,111,114,0,0,0,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,0,0,0,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,0,0,0,0,0,0,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,0,0,0,0,0,0,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,0,0,0,105,110,116,101,114,114,117,112,116,101,100,0,0,0,0,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,0,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,0,0,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,0,0,0,0,0,0,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,0,0,0,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,0,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,0,0,0,0,0,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,0,0,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,0,0,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,0,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,0,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,0,0,0,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,96,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,96,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,104,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,104,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,120,32,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,128,32,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,136,32,0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,144,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,152,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,160,32,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,160,32,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,168,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,176,32,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,184,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,192,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,200,32,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,200,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,208,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,216,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,255,255,1,10,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,32,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,240,32,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,248,32,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,16,33,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,40,33,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,48,33,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,64,33,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,72,33,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,88,33,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,112,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,128,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,192,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,200,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,224,33,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,232,33,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,248,33,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,7,0,0,0,16,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,8,0,0,0,24,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,9,0,0,0,32,34,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,10,0,0,0,40,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,10,0,0,0,40,34,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,11,0,0,0,48,34,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,11,0,0,0,48,34,0,0,0,0,0,0,0,0,0,0,2,0,13,8,184,4,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,64,34,0,0,0,0,0,0,0,0,0,0,2,0,5,8,72,34,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,80,34,0,0,0,0,0,0,0,0,0,0,3,0,5,8,72,34,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,80,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,116,114,105,109,0,0,0,114,116,114,105,109,0,0,0,116,114,105,109,0,0,0,0,109,105,110,0,0,0,0,0,109,97,120,0,0,0,0,0,116,121,112,101,111,102,0,0,108,101,110,103,116,104,0,0,105,110,115,116,114,0,0,0,115,117,98,115,116,114,0,0,112,114,105,110,116,102,0,0,117,110,105,99,111,100,101,0,99,104,97,114,0,0,0,0,97,98,115,0,0,0,0,0,114,111,117,110,100,0,0,0,117,112,112,101,114,0,0,0,108,111,119,101,114,0,0,0,99,111,97,108,101,115,99,101,0,0,0,0,0,0,0,0,104,101,120,0,0,0,0,0,105,102,110,117,108,108,0,0,117,110,108,105,107,101,108,121,0,0,0,0,0,0,0,0,108,105,107,101,108,105,104,111,111,100,0,0,0,0,0,0,108,105,107,101,108,121,0,0,114,97,110,100,111,109,0,0,114,97,110,100,111,109,98,108,111,98,0,0,0,0,0,0,110,117,108,108,105,102,0,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,108,111,103,0,0,0,0,0,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,0,0,0,0,0,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,0,0,0,0,0,0,0,113,117,111,116,101,0,0,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,0,0,0,0,0,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,0,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,0,0,0,0,0,0,0,115,117,109,0,0,0,0,0,116,111,116,97,108,0,0,0,97,118,103,0,0,0,0,0,99,111,117,110,116,0,0,0,103,114,111,117,112,95,99,111,110,99,97,116,0,0,0,0,103,108,111,98,0,0,0,0,37,95,0,1,0,0,0,0,108,105,107,101,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,200,34,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,224,34,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,248,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,0,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,0,0,0,37,115,37,46,42,115,34,37,119,34,0,0,0,0,0,0,37,115,37,115,0,0,0,0,37,46,42,115,34,37,119,34,37,115,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,88,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,104,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,112,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,120,36,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,136,36,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,152,36,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,168,36,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,192,36,0,0,0,0,0,0,0,0,0,0,106,117,108,105,97,110,100,97,121,0,0,0,0,0,0,0,100,97,116,101,0,0,0,0,116,105,109,101,0,0,0,0,100,97,116,101,116,105,109,101,0,0,0,0,0,0,0,0,115,116,114,102,116,105,109,101,0,0,0,0,0,0,0,0,99,117,114,114,101,110,116,95,116,105,109,101,0,0,0,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,0,0,0,0,0,0,99,117,114,114,101,110,116,95,100,97,116,101,0,0,0,0,37,48,50,100,0,0,0,0,37,48,54,46,51,102,0,0,37,48,51,100,0,0,0,0,37,46,49,54,103,0,0,0,37,108,108,100,0,0,0,0,37,48,52,100,0,0,0,0,108,111,99,97,108,116,105,109,101,0,0,0,0,0,0,0,117,110,105,120,101,112,111,99,104,0,0,0,0,0,0,0,117,116,99,0,0,0,0,0,119,101,101,107,100,97,121,32,0,0,0,0,0,0,0,0,115,116,97,114,116,32,111,102,32,0,0,0,0,0,0,0,109,111,110,116,104,0,0,0,121,101,97,114,0,0,0,0,100,97,121,0,0,0,0,0,104,111,117,114,0,0,0,0,109,105,110,117,116,101,0,0,115,101,99,111,110,100,0,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,0,110,111,119,0,0,0,0,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,0,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,0,0,0,0,0,0,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,0,0,0,44,0,0,0,0,0,0,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,37,33,46,49,53,103,0,0,37,33,46,50,48,101,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,78,85,76,76,0,0,0,0,37,46,42,102,0,0,0,0,105,110,116,101,103,101,114,0,116,101,120,116,0,0,0,0,114,101,97,108,0,0,0,0,98,108,111,98,0,0,0,0,110,117,108,108,0,0,0,0,1,0,0,0,0,0,0,0,184,38,0,0,0,0,0,0,32,0,0,0,0,0,0,0,105,110,116,101,114,114,117,112,116,0,0,0,0,0,0,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,0,0,0,0,0,0,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,114,111,119,105,100,0,0,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,0,0,0,0,0,0,115,101,116,32,108,105,115,116,0,0,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,0,0,0,0,0,0,56,91,0,0,1,0,0,0,48,73,0,0,1,0,0,0,105,110,100,101,120,0,0,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,0,0,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,0,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173,2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,189,0,189,1,176,0,176,3,190,0,190,2,191,1,191,1,191,1,149,4,193,2,193,0,149,8,149,4,149,1,163,2,195,1,195,3,198,1,198,2,198,1,196,9,196,1,207,4,207,5,199,1,199,1,199,0,210,2,210,0,200,3,200,2,200,4,211,2,211,1,211,0,201,0,201,2,213,2,213,0,212,7,212,7,212,7,159,0,159,2,194,2,214,1,214,2,214,3,214,4,216,2,216,0,215,0,215,3,215,2,217,4,217,0,205,0,205,3,220,4,220,2,177,1,177,1,177,0,203,0,203,3,204,0,204,2,206,0,206,2,206,4,206,4,149,6,202,0,202,2,149,8,221,5,221,3,149,6,149,7,222,2,222,1,223,0,223,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,224,1,224,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,225,1,225,2,175,5,226,1,226,2,175,5,175,3,175,5,175,4,175,4,175,5,228,5,228,4,229,2,229,0,227,1,227,0,209,1,209,0,208,3,208,1,149,12,230,1,230,0,179,0,179,3,188,5,188,3,231,0,231,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,232,1,232,1,232,1,232,1,232,1,171,2,171,1,172,2,149,5,233,11,235,1,235,1,235,2,235,0,236,1,236,1,236,3,237,0,237,3,238,0,238,2,234,3,234,2,240,1,240,3,241,0,241,3,241,2,239,7,239,5,239,5,239,1,175,4,175,6,192,1,192,1,192,1,149,4,149,6,149,3,243,0,243,2,242,1,242,0,149,1,149,3,149,1,149,3,149,6,149,6,244,1,245,0,245,1,149,1,149,4,246,8,247,1,247,3,248,0,248,2,249,1,249,3,250,1,251,0,251,4,251,2,197,0,197,2,197,3,252,6,252,8,0,0,238,0,186,3,213,0,33,1,54,1,234,0,144,0,61,1,147,255,126,1,121,1,47,1,205,1,133,1,122,1,112,1,46,1,38,1,253,0,139,1,37,1,68,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,254,3,244,3,237,3,230,3,195,3,193,3,191,3,189,3,182,3,179,3,162,3,144,3,105,3,93,3,55,3,42,3,3,3,247,2,208,2,196,2,158,2,145,2,107,2,102,2,100,2,98,2,96,2,94,2,92,2,86,2,83,2,81,2,68,2,30,2,28,2,25,2,23,2,21,2,19,2,17,2,15,2,247,1,130,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,95,0,191,1,82,0,78,1,248,1,211,1,147,1,221,1,208,1,147,1,147,1,147,1,147,1,92,3,235,2,232,2,17,3,126,2,126,2,158,3,123,3,132,3,131,3,119,3,76,3,72,3,67,3,80,3,62,3,75,3,61,3,24,3,71,3,58,3,225,2,70,3,27,3,21,3,47,0,222,2,18,2,184,2,9,3,199,2,165,2,221,2,218,2,217,2,216,2,215,2,115,2,192,1,64,0,187,0,25,5,22,5,228,4,10,5,249,4,43,5,42,5,41,5,39,5,38,5,36,5,35,5,34,5,33,5,32,5,31,5,30,5,28,5,27,5,24,5,23,5,21,5,18,5,14,5,12,5,9,5,242,4,240,4,235,4,8,5,7,5,214,4,5,5,1,5,0,5,255,4,254,4,227,4,253,4,252,4,251,4,249,4,244,4,243,4,241,4,239,4,237,4,233,4,224,4,213,4,223,4,222,4,219,4,214,4,216,4,211,4,225,4,210,4,209,4,206,4,196,4,190,4,186,4,201,4,195,4,208,4,207,4,173,4,171,4,203,4,200,4,177,4,184,4,218,4,113,4,212,4,205,4,169,4,157,4,197,4,153,4,172,4,155,4,167,4,166,4,162,4,158,4,194,4,192,4,152,4,138,4,159,4,156,4,136,4,175,4,179,4,109,4,71,4,174,4,170,4,164,4,168,4,147,4,145,4,144,4,149,4,150,4,142,4,135,4,117,4,146,4,134,4,143,4,133,4,108,4,121,4,119,4,100,4,104,4,79,4,78,4,76,4,72,4,126,4,125,4,61,4,101,4,56,4,40,4,96,4,73,4,58,4,54,4,49,4,43,4,85,4,83,4,95,4,93,4,92,4,89,4,87,4,84,4,239,3,232,3,234,3,52,4,51,4,57,4,0,0,0,0,50,1,212,0,176,1,187,3,127,2,191,0,187,3,39,1,47,2,88,0,88,0,88,0,88,0,81,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,185,0,184,0,183,0,123,2,123,2,36,1,94,2,94,2,88,0,88,0,88,0,88,0,171,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,16,0,180,1,85,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,172,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,47,2,84,0,84,0,84,0,83,0,74,1,65,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,123,2,123,2,122,2,121,2,182,0,170,2,38,2,123,1,120,1,119,1,17,0,66,1,94,2,94,2,115,1,198,0,223,1,91,0,118,1,82,0,79,0,165,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,86,2,123,2,123,2,107,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,186,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,82,2,82,2,142,0,72,1,71,1,228,1,249,0,88,1,238,0,123,2,123,2,122,2,121,2,73,2,192,1,14,2,13,2,229,0,132,1,1,0,138,1,194,1,72,2,193,1,123,2,123,2,123,2,123,2,63,1,139,1,94,2,94,2,199,0,157,0,17,1,126,1,12,1,125,1,187,0,123,2,123,2,122,2,121,2,55,1,43,2,10,1,81,2,81,2,10,1,91,1,76,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,222,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,16,1,24,2,122,2,121,2,146,0,98,2,197,0,54,1,63,2,182,0,226,1,15,1,123,1,120,1,119,1,250,1,21,0,122,2,121,2,122,2,121,2,123,2,123,2,118,1,99,2,62,2,36,2,184,1,111,0,51,2,94,2,94,2,122,2,121,2,68,1,223,1,96,2,96,2,96,2,44,1,179,1,61,2,119,0,151,1,210,0,162,0,50,2,115,3,80,2,80,2,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,250,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,108,2,111,0,123,2,123,2,105,1,94,2,94,2,102,1,249,0,93,1,248,0,177,1,243,0,223,1,74,2,122,2,121,2,195,0,99,2,93,0,119,0,221,0,63,2,241,1,22,2,22,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,62,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,77,0,173,1,126,2,61,2,77,2,18,2,240,0,230,0,242,0,105,0,249,0,93,1,248,0,3,2,76,2,208,0,204,1,17,2,52,2,173,0,122,2,121,2,202,3,144,0,174,1,2,0,168,1,228,0,124,1,45,2,94,2,94,2,190,0,153,0,159,0,158,0,2,2,51,0,120,2,119,2,118,2,71,0,24,2,176,1,186,3,196,0,98,2,186,3,102,2,45,0,18,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,5,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,96,2,96,2,96,2,30,2,168,1,146,1,129,1,241,0,250,1,195,1,64,1,211,0,31,2,164,0,180,1,130,1,37,1,195,1,75,2,108,0,240,1,111,0,78,1,135,1,79,2,168,1,102,2,27,0,196,1,197,1,94,2,94,2,72,0,1,1,70,0,3,1,196,1,83,1,86,1,52,2,70,2,68,0,159,1,213,1,72,1,71,1,62,0,102,2,45,0,110,0,137,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,152,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,110,0,243,1,8,2,26,2,146,1,133,1,168,1,110,0,54,2,244,1,81,2,81,2,198,1,82,0,79,0,165,0,168,1,79,2,128,1,52,2,84,1,103,2,188,0,162,0,168,1,94,1,104,2,168,1,102,2,44,0,94,2,94,2,189,1,70,2,44,1,178,1,151,0,19,0,102,2,9,0,56,2,68,2,92,1,103,2,213,1,55,2,102,2,26,0,104,2,102,2,45,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,155,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,67,2,110,0,66,2,9,2,26,1,177,1,142,1,144,1,255,0,230,1,82,0,79,0,165,0,231,1,164,0,82,0,79,0,165,0,232,1,232,1,108,1,131,1,168,1,32,2,32,2,253,1,94,1,106,1,155,0,191,0,94,2,94,2,47,2,130,2,128,2,77,1,82,0,79,0,165,0,49,1,52,2,251,1,56,1,101,1,102,2,45,0,73,1,84,2,83,2,194,0,81,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,20,0,67,1,150,0,7,1,211,0,31,2,165,1,84,2,83,2,102,2,22,0,168,1,193,0,168,1,28,1,168,1,135,1,168,1,253,1,168,1,65,2,168,1,186,0,79,1,168,1,47,2,168,1,57,1,120,0,34,2,94,2,94,2,67,0,102,2,47,0,102,2,50,0,102,2,48,0,102,2,100,0,102,2,99,0,102,2,101,0,64,2,102,2,102,0,102,2,109,0,70,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,168,1,55,1,168,1,73,2,54,0,168,1,4,2,5,2,78,2,102,2,112,0,168,1,72,2,168,1,60,2,168,1,195,0,168,1,59,2,168,1,67,0,168,1,102,2,94,0,102,2,98,0,168,1,102,2,97,0,8,1,94,2,94,2,195,0,102,2,46,0,102,2,96,0,102,2,30,0,102,2,49,0,102,2,115,0,102,2,114,0,162,1,229,0,132,1,102,2,113,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,119,0,168,1,78,2,110,0,116,1,94,2,94,2,195,0,53,0,250,0,102,2,29,0,195,0,216,1,182,1,217,2,190,0,46,1,242,1,14,0,11,2,129,2,2,0,102,2,43,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,101,2,196,3,196,3,98,1,94,2,94,2,164,1,56,1,64,0,102,2,42,0,135,1,99,1,27,1,181,1,45,1,255,0,158,1,154,1,239,1,236,1,102,2,28,0,215,1,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,110,0,110,0,110,0,110,0,94,2,94,2,110,0,254,0,13,0,102,2,41,0,20,2,19,2,27,1,225,1,19,2,201,1,28,1,119,0,49,2,100,1,102,2,40,0,28,1,50,1,89,0,78,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,110,0,168,1,85,1,220,0,43,2,94,2,94,2,95,1,43,2,62,1,102,2,95,0,157,1,255,0,83,0,74,1,28,1,28,1,255,0,128,2,77,1,100,1,255,0,102,2,39,0,50,1,100,1,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,61,1,60,1,141,0,209,1,94,2,94,2,219,0,107,2,207,1,102,2,10,0,161,1,206,1,255,0,189,0,254,1,41,2,95,1,207,0,107,1,161,0,102,2,38,0,59,1,218,0,255,0,255,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,76,0,163,1,255,0,3,0,110,3,205,1,168,1,247,0,75,1,75,1,102,2,37,0,217,0,76,0,163,1,134,1,3,0,216,0,215,0,166,1,4,0,75,1,75,1,168,1,35,2,12,0,168,1,33,2,102,2,36,0,168,1,29,2,166,1,168,1,28,2,168,1,214,0,168,1,152,1,168,1,27,2,147,1,93,2,93,2,237,0,102,2,25,0,119,0,102,2,24,0,76,2,152,1,102,2,45,0,118,0,102,2,35,0,102,2,34,0,102,2,33,0,102,2,23,0,76,2,60,0,223,0,91,2,90,2,1,2,122,1,73,0,74,0,140,0,139,0,168,1,110,0,9,1,75,0,170,1,169,1,59,0,168,1,98,2,73,0,74,0,37,2,146,1,148,1,168,1,117,1,75,0,170,1,169,1,92,2,138,0,98,2,102,2,11,0,136,1,76,0,163,1,181,0,3,0,102,2,32,0,15,1,113,1,75,1,75,1,237,1,102,2,31,0,149,0,96,2,96,2,96,2,95,2,15,0,166,1,109,1,102,2,8,0,137,0,233,1,136,0,190,0,96,2,96,2,96,2,95,2,15,0,229,1,176,0,135,0,7,0,252,0,221,1,152,1,174,0,133,0,175,0,218,1,57,0,56,0,132,0,130,0,119,0,76,0,163,1,76,2,3,0,212,1,245,0,208,1,171,0,75,1,75,1,125,0,123,0,200,1,191,1,122,0,190,1,104,0,80,1,231,0,166,1,166,0,154,0,73,0,74,0,76,1,116,0,175,1,121,0,53,1,75,0,170,1,169,1,222,0,106,0,98,2,52,1,125,2,204,0,152,1,117,2,115,2,116,2,6,0,200,0,172,1,171,1,34,1,203,0,110,2,201,0,76,2,62,0,63,0,33,1,66,0,163,1,143,1,3,0,145,1,32,1,92,0,143,0,75,1,75,1,31,1,96,2,96,2,96,2,95,2,15,0,73,0,74,0,227,0,166,1,69,1,69,0,160,1,75,0,170,1,169,1,100,2,156,1,98,2,192,0,61,0,57,2,209,0,140,1,226,0,22,1,225,0,127,1,152,1,15,2,46,2,20,1,21,2,40,2,16,2,65,1,11,2,114,1,252,1,180,0,76,2,238,1,179,0,110,1,117,0,253,0,13,1,10,2,247,1,96,2,96,2,96,2,95,2,15,0,39,2,246,1,58,0,18,1,12,2,178,0,73,0,74,0,48,1,245,1,112,1,47,1,206,0,75,0,170,1,169,1,235,1,104,1,98,2,213,0,177,0,227,1,131,0,89,1,42,1,41,1,40,1,202,0,38,1,224,1,234,1,210,1,134,0,172,0,129,0,188,1,90,1,214,1,128,0,58,1,203,1,103,0,127,0,126,0,148,0,124,0,167,0,187,1,235,0,96,2,96,2,96,2,95,2,15,0,186,1,183,1,111,2,234,0,43,1,145,0,71,2,35,1,121,1,69,2,160,0,119,0,156,0,14,1,124,2,203,3,169,0,23,1,114,2,8,2,113,2,217,1,112,2,170,0,109,2,106,2,119,0,168,0,55,0,153,1,167,1,25,2,97,2,30,1,29,1,149,1,58,2,48,2,44,2,5,0,52,0,202,1,42,2,147,0,11,1,7,2,248,1,6,2,150,1,6,1,239,0,4,1,0,2,87,1,255,1,2,1,97,1,53,2,0,1,224,0,251,0,103,1,21,1,19,1,220,1,219,1,246,0,96,1,244,0,211,1,199,1,236,0,233,0,232,0,51,1,185,1,25,1,205,0,163,0,141,1,24,1,23,2,249,1,74,1,105,2,203,3,203,3,203,3,203,3,111,1,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,82,1,0,0,0,0,0,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,0,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,0,0,0,0,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,0,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,0,0,0,0,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,0,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,0,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,0,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,0,0,0,116,98,108,95,110,97,109,101,61,37,81,0,0,0,0,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,0,0,45,0,0,0,0,0,0,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,0,0,0,0,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,0,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,0,0,0,0,0,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,0,0,0,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,0,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,0,3,2,1,0,0,0,0,0,73,78,84,69,71,69,82,0,37,115,58,37,100,0,0,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,0,0,0,0,79,82,68,69,82,0,0,0,71,82,79,85,80,0,0,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,0,0,0,0,0,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,0,0,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,102,117,110,99,116,105,111,110,115,0,0,0,0,0,0,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,0,0,0,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,0,0,0,115,117,98,113,117,101,114,105,101,115,0,0,0,0,0,0,112,97,114,97,109,101,116,101,114,115,0,0,0,0,0,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,0,0,0,110,101,119,0,0,0,0,0,111,108,100,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,0,0,37,115,58,32,37,115,46,37,115,46,37,115,0,0,0,0,37,115,58,32,37,115,46,37,115,0,0,0,0,0,0,0,37,115,58,32,37,115,0,0,82,79,87,73,68,0,0,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,0,0,0,0,0,0,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,0,0,95,82,79,87,73,68,95,0,79,73,68,0,0,0,0,0,115,113,108,105,116,101,95,115,113,95,37,112,0,0,0,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,0,42,0,0,0,0,0,0,0,37,115,46,37,115,0,0,0,37,115,46,37,115,46,37,115,0,0,0,0,0,0,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,0,0,0,0,0,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,0,0,0,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,0,0,0,0,0,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,0,0,0,0,0,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,0,0,0,0,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,0,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,0,0,0,0,0,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,0,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,0,0,0,0,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,0,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,0,0,104,105,100,100,101,110,0,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,0,0,0,0,0,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,0,0,0,0,105,100,120,0,0,0,0,0,116,98,108,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,176,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,160,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,66,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,128,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,116,97,116,95,103,101,116,0,0,0,0,0,0,0,0,37,108,108,117,0,0,0,0,32,37,108,108,117,0,0,0,115,116,97,116,95,112,117,115,104,0,0,0,0,0,0,0,115,116,97,116,95,105,110,105,116,0,0,0,0,0,0,0,216,71,0,0,232,71,0,0,248,71,0,0,0,0,0,0,8,72,0,0,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,49,0,0,0,0,116,98,108,44,105,100,120,44,115,116,97,116,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,51,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,52,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,115,113,108,105,116,101,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,67,82,69,65,84,69,32,84,69,77,80,32,84,65,66,76,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,0,0,0,0,0,0,0,117,110,111,114,100,101,114,101,100,42,0,0,0,0,0,0,115,122,61,91,48,45,57,93,42,0,0,0,0,0,0,0,33,0,32,0,30,0,28,0,26,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,0,37,115,32,45,32,37,115,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,0,0,44,32,0,0,0,0,0,0,46,0,0,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,0,0,0,0,0,0,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,0,0,0,0,0,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,0,0,0,0,0,0,0,67,79,82,82,69,76,65,84,69,68,32,0,0,0,0,0,76,73,83,84,0,0,0,0,83,67,65,76,65,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,120,0,0,0,0,0,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,1,0,1,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,208,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,0,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,136,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,0,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,0,0,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,0,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,0,0,0,0,108,0,246,0,97,0,1,0,47,0,1,2,78,2,247,1,97,0,1,0,47,0,0,2,78,2,247,1,95,0,0,0,9,0,254,0,0,0,0,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,0,0,0,0,0,0,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,0,0,0,66,69,70,79,82,69,0,0,65,70,84,69,82,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,0,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,0,0,0,45,37,84,0,0,0,0,0,114,101,115,117,108,116,0,0,96,87,0,0,0,0,0,0,0,0,0,0,152,82,0,0,1,1,0,0,0,0,0,0,112,87,0,0,2,0,0,0,0,0,16,0,128,87,0,0,3,0,0,0,0,0,0,0,24,82,0,0,4,1,0,0,0,0,0,0,144,87,0,0,2,0,0,0,16,0,0,0,160,87,0,0,5,0,0,0,0,0,0,0,184,87,0,0,2,0,0,0,8,0,0,0,208,87,0,0,6,0,0,0,0,0,0,0,224,87,0,0,7,0,0,0,0,0,0,0,240,87,0,0,2,0,0,0,128,0,0,0,0,88,0,0,9,1,0,0,0,0,0,0,16,88,0,0,10,1,0,0,0,0,0,0,40,88,0,0,2,0,0,0,0,0,0,1,64,88,0,0,2], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); -/* memory initializer */ allocate([1,0,0,120,85,0,0,11,0,0,0,0,0,0,0,88,88,0,0,12,1,0,0,0,0,0,0,112,88,0,0,13,1,0,0,0,0,0,0,136,88,0,0,2,0,0,0,0,0,8,0,152,88,0,0,0,0,0,0,0,0,0,0,168,88,0,0,2,0,0,0,32,0,0,0,192,88,0,0,2,0,0,0,4,0,0,0,208,88,0,0,2,0,0,0,0,32,0,0,240,88,0,0,14,1,0,0,0,0,0,0,8,89,0,0,15,1,0,0,0,0,0,0,24,89,0,0,16,1,0,0,0,0,0,0,56,84,0,0,17,1,0,0,0,0,0,0,112,82,0,0,18,1,0,0,0,0,0,0,128,82,0,0,19,0,0,0,0,0,0,0,40,89,0,0,2,0,0,0,0,128,0,0,96,82,0,0,21,0,0,0,0,0,0,0,64,89,0,0,22,1,0,0,0,0,0,0,192,82,0,0,23,0,0,0,0,0,0,0,80,89,0,0,22,1,0,0,0,0,0,0,40,82,0,0,24,0,0,0,0,0,0,0,96,89,0,0,2,0,0,0,0,0,0,2,112,89,0,0,17,1,0,0,0,0,0,0,128,89,0,0,2,0,0,0,0,64,0,0,152,89,0,0,2,0,0,0,0,0,4,0,176,89,0,0,2,0,0,0,0,0,2,0,208,89,0,0,0,0,0,0,0,0,0,0,56,82,0,0,25,0,0,0,0,0,0,0,224,89,0,0,2,0,0,0,64,0,0,0,248,89,0,0,26,0,0,0,0,0,0,0,40,86,0,0,27,0,0,0,0,0,0,0,8,90,0,0,28,1,0,0,0,0,0,0,24,83,0,0,29,1,0,0,0,0,0,0,16,90,0,0,30,1,0,0,0,0,0,0,208,82,0,0,31,0,0,0,0,0,0,0,224,82,0,0,32,0,0,0,0,0,0,0,56,86,0,0,33,0,0,0,0,0,0,0,32,90,0,0,0,0,0,0,0,0,0,0,8,86,0,0,34,0,0,0,0,0,0,0,48,90,0,0,35,1,0,0,0,0,0,0,64,90,0,0,2,0,0,0,0,8,1,0,0,0,0,0,4,0,0,0,51,0,1,3,137,1,8,0,25,0,2,0,90,1,2,1,137,1,8,0,25,0,1,0,154,0,0,0,35,1,1,0,0,0,0,0,99,97,99,104,101,95,115,105,122,101,0,0,0,0,0,0,112,97,103,101,95,115,105,122,101,0,0,0,0,0,0,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,0,0,110,111,114,109,97,108,0,0,101,120,99,108,117,115,105,118,101,0,0,0,0,0,0,0,108,111,99,107,105,110,103,95,109,111,100,101,0,0,0,0,106,111,117,114,110,97,108,95,109,111,100,101,0,0,0,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,0,0,0,0,0,97,117,116,111,95,118,97,99,117,117,109,0,0,0,0,0,4,0,1,0,51,0,1,4,45,1,0,0,24,0,2,0,25,0,1,0,52,0,7,1,109,109,97,112,95,115,105,122,101,0,0,0,0,0,0,0,116,101,109,112,95,115,116,111,114,101,0,0,0,0,0,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,0,0,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,0,0,0,0,0,0,0,115,121,110,99,104,114,111,110,111,117,115,0,0,0,0,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,99,105,100,0,0,0,0,0,110,97,109,101,0,0,0,0,116,121,112,101,0,0,0,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,0,0,0,0,0,112,107,0,0,0,0,0,0,116,97,98,108,101,0,0,0,119,105,100,116,104,0,0,0,104,101,105,103,104,116,0,0,115,101,113,110,111,0,0,0,115,101,113,0,0,0,0,0,117,110,105,113,117,101,0,0,102,105,108,101,0,0,0,0,105,100,0,0,0,0,0,0,102,114,111,109,0,0,0,0,116,111,0,0,0,0,0,0,111,110,95,117,112,100,97,116,101,0,0,0,0,0,0,0,111,110,95,100,101,108,101,116,101,0,0,0,0,0,0,0,109,97,116,99,104,0,0,0,78,79,78,69,0,0,0,0,112,97,114,101,110,116,0,0,102,107,105,100,0,0,0,0,138,1,0,0,97,0,3,0,35,3,1,0,0,0,0,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,0,0,0,0,114,111,119,32,0,0,0,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,0,0,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,0,0,0,0,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,0,0,0,111,107,0,0,0,0,0,0,40,85,0,0,1,0,0,0,48,85,0,0,1,0,0,0,56,85,0,0,2,0,0,0,72,85,0,0,3,0,0,0,88,85,0,0,2,0,0,0,96,85,0,0,3,0,0,0,104,85,0,0,0,0,0,0,112,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,84,70,56,0,0,0,0,85,84,70,45,56,0,0,0,85,84,70,45,49,54,108,101,0,0,0,0,0,0,0,0,85,84,70,45,49,54,98,101,0,0,0,0,0,0,0,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,0,85,84,70,49,54,0,0,0,101,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,0,0,0,0,0,0,0,4,0,1,0,25,0,1,0,52,0,0,1,0,0,0,0,4,0,0,0,51,0,1,0,35,1,1,0,0,0,0,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,0,102,117,108,108,0,0,0,0,114,101,115,116,97,114,116,0,98,117,115,121,0,0,0,0,108,111,103,0,0,0,0,0,99,104,101,99,107,112,111,105,110,116,101,100,0,0,0,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,0,0,0,0,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,37,95,0,0,0,0,0,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,0,0,0,83,69,84,32,78,85,76,76,0,0,0,0,0,0,0,0,83,69,84,32,68,69,70,65,85,76,84,0,0,0,0,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,0,0,0,0,0,0,0,78,79,32,65,67,84,73,79,78,0,0,0,0,0,0,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,110,111,110,101,0,0,0,0,105,110,99,114,101,109,101,110,116,97,108,0,0,0,0,0,48,87,0,0,56,87,0,0,64,87,0,0,72,87,0,0,184,18,0,0,88,87,0,0,100,101,108,101,116,101,0,0,112,101,114,115,105,115,116,0,111,102,102,0,0,0,0,0,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0,0,119,97,108,0,0,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,0,0,0,99,97,99,104,101,95,115,112,105,108,108,0,0,0,0,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,0,0,0,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,0,0,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,0,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,0,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,0,0,0,0,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,0,0,0,0,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,0,0,0,0,0,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,0,0,0,0,0,0,0,102,111,114,101,105,103,110,95,107,101,121,115,0,0,0,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,0,0,0,0,0,0,102,117,108,108,102,115,121,110,99,0,0,0,0,0,0,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,0,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,0,0,0,0,0,105,110,100,101,120,95,105,110,102,111,0,0,0,0,0,0,105,110,100,101,120,95,108,105,115,116,0,0,0,0,0,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,0,0,0,0,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,0,112,97,103,101,95,99,111,117,110,116,0,0,0,0,0,0,113,117,101,114,121,95,111,110,108,121,0,0,0,0,0,0,113,117,105,99,107,95,99,104,101,99,107,0,0,0,0,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,0,0,0,0,0,0,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,0,0,0,0,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,0,0,0,0,0,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,0,0,0,0,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,0,0,115,116,97,116,115,0,0,0,116,97,98,108,101,95,105,110,102,111,0,0,0,0,0,0,117,115,101,114,95,118,101,114,115,105,111,110,0,0,0,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,0,0,0,0,0,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,0,0,0,0,0,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,0,0,0,0,0,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,0,0,48,0,0,0,0,0,0,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,0,0,0,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,0,0,0,0,0,0,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,0,0,0,0,65,63,62,64,0,0,0,0,0,0,108,105,65,62,64,63,116,114,113,115,0,0,0,0,9,8,0,0,0,0,0,0,108,105,0,0,0,0,0,0,83,69,65,82,67,72,0,0,83,67,65,78,0,0,0,0,32,83,85,66,81,85,69,82,89,32,37,100,0,0,0,0,32,84,65,66,76,69,32,37,115,0,0,0,0,0,0,0,32,65,83,32,37,115,0,0,80,82,73,77,65,82,89,32,75,69,89,0,0,0,0,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,0,0,0,0,0,0,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,0,0,0,0,0,0,73,78,68,69,88,32,37,115,0,0,0,0,0,0,0,0,32,85,83,73,78,71,32,0,40,114,111,119,105,100,61,63,41,0,0,0,0,0,0,0,40,114,111,119,105,100,62,63,32,65,78,68,32,114,111,119,105,100,60,63,41,0,0,0,40,114,111,119,105,100,62,63,41,0,0,0,0,0,0,0,40,114,111,119,105,100,60,63,41,0,0,0,0,0,0,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,0,0,0,0,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,0,0,0,0,0,32,40,0,0,0,0,0,0,61,0,0,0,0,0,0,0,32,65,78,68,32,0,0,0,65,78,89,40,37,115,41,0,62,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,0,0,0,0,0,0,97,117,116,111,45,105,110,100,101,120,0,0,0,0,0,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,0,0,0,0,0,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,0,0,0,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,0,0,83,81,0,0,0,0,0,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,2,0,1,0,1,1,4,36,1,4,5,16,0,2,2,2,2,0,2,2,0,0,32,0,0,4,5,4,4,0,0,1,1,5,5,0,0,0,2,2,16,0,0,0,0,0,0,0,0,0,17,17,17,17,8,17,17,17,17,76,76,2,2,0,5,5,21,21,21,21,21,21,0,76,76,76,76,76,76,76,76,76,76,0,36,2,0,0,0,0,0,2,0,1,1,1,1,8,8,0,2,1,1,1,1,2,0,0,2,2,0,0,0,0,0,0,12,69,21,1,2,2,0,1,8,5,5,5,0,1,0,0,0,0,0,0,0,1,0,2,2,1,0,0,0,0,0,0,16,16,2,16,0,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,0,0,16,67,0,0,3,0,0,0,8,67,0,0,3,0,0,0,111,105,100,0,0,0,0,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,37,115,46,114,111,119,105,100,0,0,0,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,0,0,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,0,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,0,0,0,0,0,114,111,119,115,32,117,112,100,97,116,101,100,0,0,0,0,95,114,111,119,105,100,95,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,0,0,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,0,0,0,0,0,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,0,0,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,0,0,0,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,0,0,0,0,79,78,0,0,0,0,0,0,85,83,73,78,71,0,0,0,68,73,83,84,73,78,67,84,0,0,0,0,0,0,0,0,71,82,79,85,80,32,66,89,0,0,0,0,0,0,0,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,0,79,82,68,69,82,32,66,89,0,0,0,0,0,0,0,0,99,111,108,117,109,110,37,100,0,0,0,0,0,0,0,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,0,0,0,0,0,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,0,0,0,0,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,0,0,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,0,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,0,0,0,0,0,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,0,0,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,0,0,0,0,0,85,78,73,79,78,32,65,76,76,0,0,0,0,0,0,0,73,78,84,69,82,83,69,67,84,0,0,0,0,0,0,0,69,88,67,69,80,84,0,0,85,78,73,79,78,0,0,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,0,0,0,0,118,105,101,119,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,0,0,0,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,0,0,0,0,0,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,0,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,0,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,0,0,0,0,0,0,97,108,116,101,114,116,97,98,95,0,0,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,0,0,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,0,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,0,0,0,0,0,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,0,116,97,98,108,101,32,37,115,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,0,0,0,0,0,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,0,0,0,0,32,85,78,73,81,85,69,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,0,0,0,0,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,0,0,0,0,0,0,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,0,0,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,0,0,0,0,0,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,0,0,0,0,0,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,0,0,86,73,69,87,0,0,0,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,0,0,0,0,0,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,0,0,0,0,0,0,10,32,32,0,0,0,0,0,44,10,32,32,0,0,0,0,10,41,0,0,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,0,0,192,4,0,0,88,105,0,0,96,105,0,0,104,105,0,0,112,105,0,0,0,0,0,0,32,84,69,88,84,0,0,0,32,78,85,77,0,0,0,0,32,73,78,84,0,0,0,0,32,82,69,65,76,0,0,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,0,0,0,0,0,0,0,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,0,0,0,0,0,248,105,0,0,0,106,0,0,8,106,0,0,0,0,0,0,66,69,71,73,78,0,0,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,0,0,0,0,0,0,0,67,79,77,77,73,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,0,0,224,3,33,4,75,5,132,4,180,4,180,4,1,0,6,1,237,255,135,0,135,0,8,3,180,4,180,4,180,4,180,4,69,0,69,0,53,0,208,0,27,1,243,2,58,0,213,2,136,2,59,2,238,1,161,1,84,1,7,1,212,0,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,46,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,0,0,29,0,244,255,27,1,27,1,139,0,91,0,136,1,136,1,126,3,160,2,214,2,103,5,170,255,170,255,170,255,88,0,62,1,62,1,99,0,125,1,236,255,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,112,2,108,3,214,2,160,2,60,5,60,5,60,5,60,5,60,5,60,5,170,255,170,255,170,255,49,1,136,0,136,0,142,0,167,0,226,0,154,0,137,0,152,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,80,1,80,1,80,1,27,1,27,1,96,1,27,1,27,1,27,1,27,1,27,1,228,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,245,1,57,2,84,2,84,2,84,2,251,1,241,1,185,1,135,1,97,1,156,0,156,0,89,3,97,1,89,3,223,2,45,3,127,2,203,2,156,0,76,1,203,2,203,2,240,1,163,1,134,2,77,5,160,4,160,4,55,5,55,5,160,4,61,5,236,4,120,4,66,5,66,5,66,5,66,5,160,4,26,5,120,4,61,5,236,4,236,4,120,4,160,4,26,5,182,4,4,5,160,4,160,4,26,5,160,4,26,5,160,4,26,5,238,4,183,4,183,4,183,4,250,4,238,4,183,4,193,4,183,4,250,4,183,4,183,4,161,4,176,4,161,4,176,4,161,4,176,4,160,4,160,4,137,4,238,4,178,4,178,4,238,4,130,4,131,4,123,4,128,4,120,4,217,4,215,4,226,4,226,4,230,4,230,4,230,4,230,4,170,255,170,255,170,255,170,255,170,255,170,255,44,4,48,1,14,2,249,0,152,1,173,255,178,1,44,3,27,0,43,3,39,3,34,3,239,2,77,2,139,2,163,0,131,0,162,2,110,1,194,1,43,1,148,0,23,0,102,0,229,0,235,255,221,4,220,4,198,4,75,4,204,4,148,4,199,4,191,4,189,4,91,4,82,4,99,4,86,4,185,4,81,4,188,4,202,4,74,4,65,4,116,4,115,4,80,4,165,4,154,4,70,4,187,4,181,4,163,4,77,4,47,4,129,4,151,4,122,4,114,4,127,4,67,4,140,4,141,4,139,4,45,4,48,4,124,4,88,4,110,4,103,4,105,4,102,4,68,4,90,4,94,4,64,4,66,4,69,4,63,4,60,4,219,3,55,4,53,4,50,4,41,4,156,3,253,3,246,3,236,3,238,3,51,3,227,2,128,3,87,3,36,3,227,2,228,2,224,2,178,2,142,2,153,2,106,2,70,2,56,2,16,2,42,2,123,1,20,2,223,1,199,1,123,1,176,1,115,1,85,1,28,0,82,1,116,0,245,255,199,255,171,255,7,0,248,255,3,0,0,0,0,0,135,2,196,3,196,3,196,3,110,3,110,3,201,3,196,3,6,3,34,3,34,3,170,3,201,3,201,3,201,3,108,3,201,3,201,3,201,3,196,3,201,3,10,3,40,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,169,3,171,3,48,3,47,3,150,3,21,3,45,3,38,3,42,3,111,3,104,3,105,3,103,3,107,3,112,3,201,3,41,3,73,3,88,3,72,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,82,3,87,3,94,3,86,3,83,3,75,3,74,3,76,3,77,3,201,3,201,3,161,2,227,2,201,3,201,3,78,3,201,3,173,2,79,3,91,3,90,3,89,3,168,2,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,135,2,196,3,201,3,201,3,196,3,196,3,196,3,196,3,196,3,196,3,188,3,10,3,0,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,176,3,174,3,201,3,123,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,141,2,201,3,143,3,6,3,6,3,6,3,8,3,242,2,254,2,143,2,44,3,23,3,23,3,155,3,44,3,155,3,198,2,221,2,195,2,34,3,23,3,106,3,34,3,34,3,7,3,254,2,201,3,181,3,14,3,14,3,173,3,173,3,14,3,53,3,231,2,44,3,238,2,238,2,238,2,238,2,14,3,158,2,44,3,53,3,231,2,231,2,44,3,14,3,158,2,149,3,147,3,14,3,14,3,158,2,14,3,158,2,14,3,158,2,116,3,229,2,229,2,229,2,213,2,116,3,229,2,198,2,229,2,213,2,229,2,229,2,27,3,22,3,27,3,22,3,27,3,22,3,14,3,14,3,201,3,116,3,120,3,120,3,116,3,39,3,28,3,37,3,35,3,44,3,164,2,216,2,151,2,151,2,140,2,140,2,140,2,140,2,193,3,193,3,188,3,200,2,200,2,183,2,201,3,201,3,201,3,201,3,201,3,201,3,175,2,201,3,125,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,60,3,201,3,136,2,183,3,201,3,201,3,180,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,153,3,201,3,201,3,201,3,201,3,201,3,201,3,146,3,145,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,245,2,201,3,201,3,201,3,249,2,201,3,201,3,201,3,201,3,201,3,201,3,36,3,201,3,29,3,201,3,109,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,198,3,201,3,201,3,201,3,197,3,201,3,201,3,201,3,201,3,201,3,62,3,201,3,61,3,65,3,201,3,149,2,201,3,132,2,137,2,192,3,195,3,194,3,191,3,190,3,189,3,184,3,182,3,179,3,178,3,177,3,175,3,172,3,168,3,129,3,127,3,134,3,133,3,132,3,131,3,130,3,128,3,126,3,124,3,50,3,49,3,46,3,43,3,241,2,167,3,122,3,240,2,237,2,236,2,157,2,185,3,152,3,161,3,160,3,159,3,54,3,158,3,157,3,156,3,154,3,151,3,138,3,52,3,51,3,232,2,114,3,113,3,160,2,142,3,141,3,140,3,144,3,148,3,139,3,16,3,239,2,159,2,156,2,163,2,167,2,219,2,220,2,228,2,226,2,225,2,224,2,223,2,222,2,218,2,169,2,174,2,212,2,197,2,196,2,205,2,204,2,210,2,209,2,208,2,207,2,206,2,203,2,202,2,201,2,194,2,193,2,199,2,192,2,215,2,214,2,211,2,191,2,235,2,234,2,233,2,230,2,190,2,189,2,188,2,65,3,187,2,186,2,70,3,69,3,98,3,58,3,243,2,247,2,246,2,250,2,251,2,3,3,2,3,1,3,12,3,13,3,25,3,24,3,56,3,55,3,26,3,11,3,5,3,4,3,20,3,19,3,18,3,17,3,9,3,255,2,31,3,30,3,100,3,15,3,99,3,97,3,166,3,165,3,164,3,163,3,162,3,102,3,199,3,200,3,119,3,121,3,118,3,33,3,32,3,117,3,101,3,71,3,68,3,178,2,179,2,137,3,136,3,135,3,181,2,180,2,177,2,176,2,95,3,92,3,84,3,96,3,93,3,85,3,81,3,80,3,66,3,64,3,63,3,59,3,67,3,248,2,244,2,57,3,253,2,252,2,185,2,184,2,182,2,166,2,165,2,162,2,155,2,153,2,152,2,154,2,150,2,148,2,147,2,146,2,145,2,144,2,172,2,171,2,170,2,142,2,139,2,138,2,134,2,133,2,131,2,0,0,0,0,19,22,22,23,1,24,26,15,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,108,109,110,27,28,23,50,51,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,22,70,23,71,72,73,74,75,76,77,78,79,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,19,97,91,92,93,94,95,26,85,86,87,88,89,90,91,92,93,94,95,27,28,97,98,99,122,211,102,103,104,79,19,50,51,19,122,59,55,113,224,225,226,89,90,91,92,93,94,95,23,27,28,26,71,72,73,74,75,76,77,78,79,80,81,82,83,51,85,86,87,88,89,90,91,92,93,94,95,19,132,133,58,89,90,21,108,109,110,27,28,97,98,33,100,7,8,119,120,22,19,107,42,109,27,28,27,28,95,28,50,51,99,100,101,102,103,104,105,27,28,97,98,107,152,112,132,133,112,65,69,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,101,97,97,98,24,101,122,157,12,99,103,112,102,103,104,152,22,97,98,97,98,27,28,113,27,29,91,164,165,124,50,51,97,98,219,59,132,133,134,22,23,45,66,47,212,213,124,140,132,133,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,165,27,28,230,50,51,233,108,109,110,70,16,59,23,97,98,26,97,22,66,185,12,187,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,29,85,86,87,88,89,90,91,92,93,94,95,19,22,148,149,45,23,47,62,154,64,156,108,109,110,37,69,23,163,59,26,26,97,98,144,145,146,147,152,200,52,23,50,51,26,22,89,90,60,210,7,8,9,138,97,22,23,26,101,26,174,175,197,71,72,73,74,75,76,77,78,79,80,81,82,83,16,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,208,209,140,152,152,111,195,196,98,70,163,160,152,23,22,164,165,246,207,27,152,174,175,171,172,50,51,137,62,139,64,171,172,222,124,27,138,24,163,89,90,130,174,175,197,163,71,72,73,74,75,76,77,78,79,80,81,82,83,22,85,86,87,88,89,90,91,92,93,94,95,19,197,181,182,23,208,209,152,197,26,189,132,133,232,224,225,226,152,97,91,26,232,116,212,213,152,222,121,152,174,175,50,51,243,97,22,23,22,234,174,175,177,23,239,116,163,177,174,175,121,174,175,71,72,73,74,75,76,77,78,79,80,81,82,83,24,85,86,87,88,89,90,91,92,93,94,95,19,23,197,11,23,227,70,208,220,152,31,224,225,226,35,98,224,225,226,108,109,110,115,152,117,118,27,222,49,123,24,50,51,27,0,1,2,224,225,226,166,124,168,169,239,174,175,170,171,172,22,194,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,22,208,24,23,195,196,170,171,172,174,175,152,26,152,152,152,207,152,97,152,23,152,51,244,152,97,152,247,248,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,23,174,175,174,175,188,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,107,152,33,24,152,100,101,27,174,175,152,42,152,23,152,26,152,23,152,26,152,174,175,174,175,152,174,175,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,163,119,120,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,66,152,97,197,23,50,51,26,53,23,174,175,26,23,23,23,26,26,26,36,106,146,147,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,196,119,120,19,50,51,168,169,26,174,175,207,28,152,249,250,152,163,163,163,163,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,197,197,197,197,50,51,197,194,36,174,175,191,192,152,191,192,163,152,66,124,152,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,197,152,100,188,152,50,51,152,152,188,174,175,252,152,94,95,152,152,152,1,2,152,152,174,175,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,188,188,22,194,50,51,240,173,194,174,175,252,194,152,36,181,28,152,23,219,122,174,175,219,221,152,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,152,22,23,194,152,240,27,28,174,175,240,19,20,26,22,194,194,38,22,27,28,152,23,22,152,116,174,175,152,23,38,152,23,152,221,152,57,152,23,163,50,51,194,174,175,66,174,175,69,57,174,175,40,174,175,174,175,174,175,174,175,69,22,53,74,75,30,53,89,90,22,22,152,197,23,96,97,98,22,152,101,89,90,91,208,209,152,53,96,97,98,101,22,101,174,175,152,19,20,105,22,174,175,112,19,27,28,20,174,175,24,132,133,134,135,136,38,44,174,175,107,61,54,26,132,133,134,135,136,54,107,22,5,140,1,57,36,111,122,28,79,79,131,123,66,19,20,69,22,1,16,20,125,27,28,123,111,120,23,131,23,16,68,142,38,15,22,89,90,3,167,4,248,251,96,97,98,180,180,101,251,151,6,57,151,13,151,26,25,151,161,202,153,162,153,69,130,128,203,19,20,127,22,126,204,129,22,27,28,205,132,133,134,135,136,89,90,231,38,95,137,179,96,97,98,206,179,101,122,107,159,159,125,231,216,228,107,57,184,217,216,176,217,176,48,106,18,184,158,69,159,158,46,71,237,176,176,176,132,133,134,135,136,217,176,137,216,178,158,89,90,179,176,159,179,159,96,97,98,159,159,101,5,158,202,22,18,10,11,12,13], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20481); -/* memory initializer */ allocate([14,190,238,17,190,158,193,41,159,202,193,159,202,245,193,193,223,190,32,159,34,132,133,134,135,136,159,39,155,43,150,223,177,201,178,177,186,66,199,177,152,253,56,215,152,182,152,202,152,63,152,152,66,67,242,229,152,174,152,152,152,152,152,152,152,199,242,202,152,198,152,152,152,183,192,152,215,152,183,215,183,152,241,214,152,211,152,152,211,211,152,152,241,152,152,152,152,152,152,152,114,152,152,235,152,152,152,174,187,95,174,253,253,253,253,236,253,253,253,253,253,253,253,253,253,253,253,141,0,0,0,0,0,0,0,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,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,27,27,27,27,27,27,27,27,27,0,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,0,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,0,0,0,0,0,64,121,0,0,72,121,0,0,80,121,0,0,88,121,0,0,96,121,0,0,104,121,0,0,112,121,0,0,120,121,0,0,128,121,0,0,144,121,0,0,216,83,0,0,152,121,0,0,97,100,100,114,0,0,0,0,111,112,99,111,100,101,0,0,112,49,0,0,0,0,0,0,112,50,0,0,0,0,0,0,112,51,0,0,0,0,0,0,112,52,0,0,0,0,0,0,112,53,0,0,0,0,0,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,0,0,0,0,0,0,0,111,114,100,101,114,0,0,0,100,101,116,97,105,108,0,0,117,110,111,112,101,110,101,100,0,0,0,0,0,0,0,0,110,111,32,115,117,99,104,32,118,105,101,119,0,0,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,0,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,122,0,0,64,122,0,0,72,122,0,0,80,122,0,0,78,79,84,32,78,85,76,76,0,0,0,0,0,0,0,0,85,78,73,81,85,69,0,0,67,72,69,67,75,0,0,0,70,79,82,69,73,71,78,32,75,69,89,0,0,0,0,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,0,0,0,0,0,0,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,0,0,0,1,2,0,2,2,0,0,0,0,0,0,0,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,0,0,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,0,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,0,0,0,0,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,0,0,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,105,110,116,111,0,0,0,0,111,117,116,32,111,102,0,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,0,0,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,0,0,0,0,39,37,46,42,113,39,0,0,122,101,114,111,98,108,111,98,40,37,100,41,0,0,0,0,120,39,0,0,0,0,0,0,37,48,50,120,0,0,0,0,39,0,0,0,0,0,0,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,0,0,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,0,0,0,0,0,0,0,66,69,71,73,78,59,0,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,0,0,0,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,0,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,0,0,0,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,0,0,0,0,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,0,0,0,0,0,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,76,105,115,116,32,111,102,32,116,114,101,101,32,114,111,111,116,115,58,32,0,0,0,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,0,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,0,0,0,0,0,0,79,117,116,115,116,97,110,100,105,110,103,32,112,97,103,101,32,99,111,117,110,116,32,103,111,101,115,32,102,114,111,109,32,37,100,32,116,111,32,37,100,32,100,117,114,105,110,103,32,116,104,105,115,32,97,110,97,108,121,115,105,115,0,0,10,0,0,0,0,0,0,0,80,97,103,101,32,37,100,58,32,0,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,0,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,0,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,0,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,112,114,101,118,105,111,117,115,32,119,97,115,32,37,108,108,100,41,0,0,0,0,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,0,0,0,0,0,0,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,0,0,0,0,0,67,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,99,101,108,108,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,0,0,0,0,0,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,100,32,111,102,32,112,97,103,101,32,37,100,0,0,0,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,0,0,0,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,0,0,0,0,0,0,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,0,0,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,0,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,0,0,0,0,0,0,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,0,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,0,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,0,45,109,106,37,48,54,88,57,37,48,50,88,0,0,0,0,37,46,50,120,0,0,0,0,107,40,37,100,0,0,0,0,110,105,108,0,0,0,0,0,66,0,0,0,0,0,0,0,44,46,46,46,0,0,0,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,0,37,100,0,0,0,0,0,0,40,98,108,111,98,41,0,0,118,116,97,98,58,37,112,58,37,112,0,0,0,0,0,0,105,110,116,97,114,114,97,121,0,0,0,0,0,0,0,0,112,114,111,103,114,97,109,0,72,74,0,0,152,137,0,0,168,137,0,0,184,137,0,0,200,137,0,0,216,137,0,0,232,137,0,0,248,137,0,0,8,138,0,0,16,138,0,0,24,138,0,0,32,138,0,0,48,138,0,0,64,138,0,0,72,138,0,0,80,138,0,0,88,138,0,0,96,138,0,0,104,138,0,0,112,138,0,0,120,138,0,0,136,138,0,0,152,138,0,0,160,138,0,0,176,138,0,0,184,138,0,0,192,138,0,0,200,138,0,0,208,138,0,0,216,138,0,0,232,138,0,0,240,138,0,0,0,139,0,0,8,139,0,0,16,139,0,0,24,139,0,0,40,139,0,0,48,139,0,0,56,139,0,0,72,139,0,0,88,139,0,0,96,139,0,0,112,139,0,0,120,139,0,0,128,139,0,0,136,139,0,0,144,139,0,0,152,139,0,0,160,139,0,0,176,139,0,0,192,139,0,0,200,139,0,0,216,139,0,0,232,139,0,0,248,139,0,0,8,140,0,0,24,140,0,0,40,140,0,0,56,140,0,0,72,140,0,0,88,140,0,0,104,140,0,0,112,140,0,0,120,140,0,0,128,140,0,0,136,140,0,0,144,140,0,0,152,140,0,0,168,140,0,0,184,140,0,0,192,140,0,0,208,140,0,0,216,140,0,0,224,140,0,0,240,140,0,0,0,141,0,0,8,141,0,0,16,141,0,0,24,141,0,0,32,141,0,0,40,141,0,0,48,141,0,0,56,141,0,0,64,141,0,0,72,141,0,0,88,141,0,0,96,141,0,0,104,141,0,0,120,141,0,0,136,141,0,0,144,141,0,0,160,141,0,0,176,141,0,0,184,141,0,0,200,141,0,0,208,141,0,0,216,141,0,0,224,141,0,0,232,141,0,0,248,141,0,0,8,142,0,0,24,142,0,0,32,142,0,0,40,142,0,0,48,142,0,0,56,142,0,0,64,142,0,0,80,142,0,0,88,142,0,0,96,142,0,0,112,142,0,0,128,142,0,0,144,142,0,0,160,142,0,0,168,142,0,0,176,142,0,0,184,142,0,0,192,142,0,0,200,142,0,0,208,142,0,0,224,142,0,0,240,142,0,0,0,143,0,0,16,143,0,0,32,143,0,0,48,143,0,0,64,143,0,0,80,143,0,0,96,143,0,0,112,143,0,0,128,143,0,0,144,143,0,0,152,143,0,0,160,143,0,0,168,143,0,0,184,143,0,0,200,143,0,0,208,143,0,0,216,143,0,0,224,143,0,0,232,143,0,0,248,143,0,0,8,144,0,0,16,144,0,0,32,144,0,0,40,144,0,0,48,144,0,0,64,144,0,0,72,144,0,0,80,144,0,0,88,144,0,0,96,144,0,0,112,144,0,0,128,144,0,0,136,144,0,0,144,144,0,0,70,117,110,99,116,105,111,110,0,0,0,0,0,0,0,0,83,97,118,101,112,111,105,110,116,0,0,0,0,0,0,0,65,117,116,111,67,111,109,109,105,116,0,0,0,0,0,0,84,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,83,111,114,116,101,114,78,101,120,116,0,0,0,0,0,0,80,114,101,118,73,102,79,112,101,110,0,0,0,0,0,0,78,101,120,116,73,102,79,112,101,110,0,0,0,0,0,0,80,114,101,118,0,0,0,0,78,101,120,116,0,0,0,0,65,103,103,83,116,101,112,0,67,104,101,99,107,112,111,105,110,116,0,0,0,0,0,0,74,111,117,114,110,97,108,77,111,100,101,0,0,0,0,0,86,97,99,117,117,109,0,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,0,0,0,71,111,115,117,98,0,0,0,82,101,116,117,114,110,0,0,78,111,116,0,0,0,0,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,0,0,69,110,100,67,111,114,111,117,116,105,110,101,0,0,0,0,89,105,101,108,100,0,0,0,72,97,108,116,73,102,78,117,108,108,0,0,0,0,0,0,72,97,108,116,0,0,0,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,0,0,83,116,114,105,110,103,0,0,78,117,108,108,0,0,0,0,83,111,102,116,78,117,108,108,0,0,0,0,0,0,0,0,66,108,111,98,0,0,0,0,86,97,114,105,97,98,108,101,0,0,0,0,0,0,0,0,77,111,118,101,0,0,0,0,67,111,112,121,0,0,0,0,83,67,111,112,121,0,0,0,82,101,115,117,108,116,82,111,119,0,0,0,0,0,0,0,67,111,108,108,83,101,113,0,65,100,100,73,109,109,0,0,77,117,115,116,66,101,73,110,116,0,0,0,0,0,0,0,82,101,97,108,65,102,102,105,110,105,116,121,0,0,0,0,67,97,115,116,0,0,0,0,80,101,114,109,117,116,97,116,105,111,110,0,0,0,0,0,67,111,109,112,97,114,101,0,74,117,109,112,0,0,0,0,79,110,99,101,0,0,0,0,73,102,0,0,0,0,0,0,73,102,78,111,116,0,0,0,67,111,108,117,109,110,0,0,65,102,102,105,110,105,116,121,0,0,0,0,0,0,0,0,77,97,107,101,82,101,99,111,114,100,0,0,0,0,0,0,67,111,117,110,116,0,0,0,82,101,97,100,67,111,111,107,105,101,0,0,0,0,0,0,83,101,116,67,111,111,107,105,101,0,0,0,0,0,0,0,82,101,111,112,101,110,73,100,120,0,0,0,0,0,0,0,79,112,101,110,82,101,97,100,0,0,0,0,0,0,0,0,79,112,101,110,87,114,105,116,101,0,0,0,0,0,0,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,0,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,0,0,83,111,114,116,101,114,79,112,101,110,0,0,0,0,0,0,83,101,113,117,101,110,99,101,84,101,115,116,0,0,0,0,79,112,101,110,80,115,101,117,100,111,0,0,0,0,0,0,67,108,111,115,101,0,0,0,83,101,101,107,76,84,0,0,83,101,101,107,76,69,0,0,83,101,101,107,71,69,0,0,83,101,101,107,71,84,0,0,83,101,101,107,0,0,0,0,78,111,67,111,110,102,108,105,99,116,0,0,0,0,0,0,78,111,116,70,111,117,110,100,0,0,0,0,0,0,0,0,70,111,117,110,100,0,0,0,78,111,116,69,120,105,115,116,115,0,0,0,0,0,0,0,79,114,0,0,0,0,0,0,65,110,100,0,0,0,0,0,83,101,113,117,101,110,99,101,0,0,0,0,0,0,0,0,78,101,119,82,111,119,105,100,0,0,0,0,0,0,0,0,73,110,115,101,114,116,0,0,73,115,78,117,108,108,0,0,78,111,116,78,117,108,108,0,78,101,0,0,0,0,0,0,69,113,0,0,0,0,0,0,71,116,0,0,0,0,0,0,76,101,0,0,0,0,0,0,76,116,0,0,0,0,0,0,71,101,0,0,0,0,0,0,73,110,115,101,114,116,73,110,116,0,0,0,0,0,0,0,66,105,116,65,110,100,0,0,66,105,116,79,114,0,0,0,83,104,105,102,116,76,101,102,116,0,0,0,0,0,0,0,83,104,105,102,116,82,105,103,104,116,0,0,0,0,0,0,65,100,100,0,0,0,0,0,83,117,98,116,114,97,99,116,0,0,0,0,0,0,0,0,77,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,68,105,118,105,100,101,0,0,82,101,109,97,105,110,100,101,114,0,0,0,0,0,0,0,67,111,110,99,97,116,0,0,68,101,108,101,116,101,0,0,66,105,116,78,111,116,0,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,0,0,0,0,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,0,0,83,111,114,116,101,114,68,97,116,97,0,0,0,0,0,0,82,111,119,75,101,121,0,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,0,0,78,117,108,108,82,111,119,0,76,97,115,116,0,0,0,0,83,111,114,116,101,114,83,111,114,116,0,0,0,0,0,0,83,111,114,116,0,0,0,0,82,101,119,105,110,100,0,0,83,111,114,116,101,114,73,110,115,101,114,116,0,0,0,0,73,100,120,73,110,115,101,114,116,0,0,0,0,0,0,0,73,100,120,68,101,108,101,116,101,0,0,0,0,0,0,0,73,100,120,82,111,119,105,100,0,0,0,0,0,0,0,0,73,100,120,76,69,0,0,0,73,100,120,71,84,0,0,0,73,100,120,76,84,0,0,0,73,100,120,71,69,0,0,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,0,0,82,101,115,101,116,83,111,114,116,101,114,0,0,0,0,0,67,114,101,97,116,101,73,110,100,101,120,0,0,0,0,0,67,114,101,97,116,101,84,97,98,108,101,0,0,0,0,0,80,97,114,115,101,83,99,104,101,109,97,0,0,0,0,0,76,111,97,100,65,110,97,108,121,115,105,115,0,0,0,0,68,114,111,112,84,97,98,108,101,0,0,0,0,0,0,0,68,114,111,112,73,110,100,101,120,0,0,0,0,0,0,0,68,114,111,112,84,114,105,103,103,101,114,0,0,0,0,0,73,110,116,101,103,114,105,116,121,67,107,0,0,0,0,0,82,111,119,83,101,116,65,100,100,0,0,0,0,0,0,0,82,111,119,83,101,116,82,101,97,100,0,0,0,0,0,0,82,111,119,83,101,116,84,101,115,116,0,0,0,0,0,0,80,114,111,103,114,97,109,0,80,97,114,97,109,0,0,0,82,101,97,108,0,0,0,0,70,107,67,111,117,110,116,101,114,0,0,0,0,0,0,0,70,107,73,102,90,101,114,111,0,0,0,0,0,0,0,0,77,101,109,77,97,120,0,0,73,102,80,111,115,0,0,0,73,102,78,101,103,0,0,0,73,102,90,101,114,111,0,0,65,103,103,70,105,110,97,108,0,0,0,0,0,0,0,0,73,110,99,114,86,97,99,117,117,109,0,0,0,0,0,0,69,120,112,105,114,101,0,0,84,97,98,108,101,76,111,99,107,0,0,0,0,0,0,0,86,66,101,103,105,110,0,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,0,0,0,0,0,0,0,86,79,112,101,110,0,0,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,0,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,0,0,0,0,0,0,77,97,120,80,103,99,110,116,0,0,0,0,0,0,0,0,73,110,105,116,0,0,0,0,78,111,111,112,0,0,0,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,0,0,0,64,32,32,0,0,0,0,0,1,0,0,0,8,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0,0,0,0,0,0,0,160,146,0,0,10,0,0,0,0,0,0,0,120,146,0,0,11,0,0,0,0,0,0,0,192,18,0,0,18,0,0,0,0,0,0,0,168,146,0,0,19,0,0,0,0,0,0,0,176,146,0,0,20,0,0,0,0,0,0,0,184,146,0,0,21,0,0,0,0,0,0,0,192,146,0,0,22,0,0,0,0,0,0,0,208,146,0,0,11,0,0,0,0,0,0,0,216,146,0,0,12,0,0,0,0,0,0,0,224,146,0,0,0,0,0,0,0,0,0,0,232,146,0,0,0,0,0,0,0,0,0,0,240,146,0,0,13,0,0,0,0,0,0,0,248,146,0,0,0,0,0,0,0,0,0,0,0,147,0,0,0,0,0,0,0,0,0,0,16,147,0,0,23,0,0,0,0,0,0,0,24,147,0,0,0,0,0,0,0,0,0,0,40,147,0,0,12,0,0,0,0,0,0,0,48,147,0,0,24,0,0,0,0,0,0,0,64,147,0,0,25,0,0,0,0,0,0,0,72,147,0,0,13,0,0,0,0,0,0,0,80,147,0,0,14,0,0,0,0,0,0,0,88,147,0,0,1,0,0,0,0,0,0,0,96,147,0,0,26,0,0,0,0,0,0,0,104,147,0,0,0,0,0,0,0,0,0,0,112,147,0,0,1,0,0,0,0,0,0,0,0,0,0,0,99,108,111,115,101,0,0,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,0,111,112,101,110,0,0,0,0,103,101,116,99,119,100,0,0,115,116,97,116,0,0,0,0,102,115,116,97,116,0,0,0,102,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0,102,99,110,116,108,0,0,0,114,101,97,100,0,0,0,0,112,114,101,97,100,0,0,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,0,0,112,119,114,105,116,101,0,0,112,119,114,105,116,101,54,52,0,0,0,0,0,0,0,0,102,99,104,109,111,100,0,0,102,97,108,108,111,99,97,116,101,0,0,0,0,0,0,0,117,110,108,105,110,107,0,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,0,0,109,107,100,105,114,0,0,0,114,109,100,105,114,0,0,0,102,99,104,111,119,110,0,0,109,109,97,112,0,0,0,0,109,117,110,109,97,112,0,0,109,114,101,109,97,112,0,0,103,101,116,112,97,103,101,115,105,122,101,0,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,0,0,0,0,0,47,100,101,118,47,110,117,108,108,0,0,0,0,0,0,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,0,0,37,115,47,101,116,105,108,113,115,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,148,0,0,64,148,0,0,80,148,0,0,0,0,0,0,0,0,0,0,47,118,97,114,47,116,109,112,0,0,0,0,0,0,0,0,47,117,115,114,47,116,109,112,0,0,0,0,0,0,0,0,47,116,109,112,0,0,0,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,0,0,84,77,80,68,73,82,0,0,102,117,108,108,95,102,115,121,110,99,0,0,0,0,0,0,3,0,0,0,14,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,100,101,118,47,117,114,97,110,100,111,109,0,0,0,0,47,37,115,0,0,0,0,0,102,115,121,110,99,0,0,0,112,115,111,119,0,0,0,0,3,0,0,0,15,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,13,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,7,0,0,0,3,0,0,0,12,0,0,0,17,0,0,0,6,0,0,0,4,0,0,0,0,0,0,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,0,0,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,0,0,0,0,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,0,0,0,0,0,0,0,0,0,0,0,0,37,115,45,115,104,109,0,0,114,101,97,100,111,110,108,121,95,115,104,109,0,0,0,0,37,0,0,0,0,0,0,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,0,0,0,0,0,0,116,104,115,116,110,100,114,100,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,0,0,0,0,0,0,0,45,120,48,0,88,48,0,0,78,97,78,0,0,0,0,0,45,73,110,102,0,0,0,0,43,73,110,102,0,0,0,0,73,110,102,0,0,0,0,0,40,78,85,76,76,41,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,73,83,65,66,76,69,95,76,70,83,0,0,0,0,0,73,78,84,54,52,95,84,89,80,69,0,0,0,0,0,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,0,0,0,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,0,0,84,72,82,69,65,68,83,65,70,69,61,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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", ALLOC_NONE, Runtime.GLOBAL_BASE+30721); +/* memory initializer */ allocate([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,147,0,0,75,147,0,0,88,147,0,0,99,147,0,0,119,147,0,0,133,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,10,141,0,0,20,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,15,141,0,0,24,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,25,141,0,0,28,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,38,141,0,0,20,16,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,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,0,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,66,0,0,33,67,0,0,68,67,0,0,166,64,0,0,216,64,0,0,13,65,0,0,58,65,0,0,110,65,0,0,164,65,0,0,209,65,0,0,11,66,0,0,66,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,6,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,69,0,0,0,0,2,0,92,69,0,0,0,0,4,0,0,0,0,0,0,0,0,0,68,69,0,0,1,0,0,0,71,69,0,0,2,0,0,0,74,69,0,0,6,0,0,0,78,69,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,7,0,0,0,1,0,0,0,7,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,9,0,0,0,4,0,0,0,12,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,101,0,0,1,0,0,0,178,88,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,101,87,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,91,87,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,71,87,0,0,0,0,0,0,0,0,0,0,164,87,0,0,177,87,0,0,190,87,0,0,0,0,0,0,203,87,0,0,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,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,163,90,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,32,91,0,0,0,0,0,0,0,0,0,0,17,98,0,0,0,0,0,0,0,0,0,0,68,94,0,0,1,1,0,0,0,0,0,0,32,98,0,0,2,0,0,0,0,0,16,0,48,98,0,0,3,0,0,0,0,0,0,0,191,93,0,0,4,1,0,0,0,0,0,0,61,98,0,0,2,0,0,0,16,0,0,0,73,98,0,0,5,0,0,0,0,0,0,0,93,98,0,0,2,0,0,0,8,0,0,0,114,98,0,0,6,0,0,0,0,0,0,0,129,98,0,0,7,0,0,0,0,0,0,0,145,98,0,0,2,0,0,0,128,0,0,0,159,98,0,0,9,1,0,0,0,0,0,0,173,98,0,0,10,1,0,0,0,0,0,0,192,98,0,0,2,0,0,0,0,0,0,1,211,98,0,0,2,0,0,0,0,1,0,0,12,96,0,0,11,0,0,0,0,0,0,0,234,98,0,0,12,1,0,0,0,0,0,0,252,98,0,0,13,1,0,0,0,0,0,0,13,99,0,0,2,0,0,0,0,0,8,0,26,99,0,0,0,0,0,0,0,0,0,0,41,99,0,0,2,0,0,0,32,0,0,0,59,99,0,0,2,0,0,0,4,0,0,0,69,99,0,0,2,0,0,0,0,32,0,0,94,99,0,0,14,1,0,0,0,0,0,0,113,99,0,0,15,1,0,0,0,0,0,0,124,99,0,0,16,1,0,0,0,0,0,0,111,95,0,0,17,1,0,0,0,0,0,0,36,94,0,0,18,1,0,0,0,0,0,0,49,94,0,0,19,0,0,0,0,0,0,0,135,99,0,0,2,0,0,0,0,128,0,0,23,94,0,0,21,0,0,0,0,0,0,0,154,99,0,0,22,1,0,0,0,0,0,0,104,94,0,0,23,0,0,0,0,0,0,0,169,99,0,0,22,1,0,0,0,0,0,0,238,93,0,0,24,0,0,0,0,0,0,0,180,99,0,0,2,0,0,0,0,0,0,2,191,99,0,0,17,1,0,0,0,0,0,0,203,99,0,0,2,0,0,0,0,64,0,0,220,99,0,0,2,0,0,0,0,0,4,0,239,99,0,0,2,0,0,0,0,0,2,0,9,100,0,0,0,0,0,0,0,0,0,0,248,93,0,0,25,0,0,0,0,0,0,0,24,100,0,0,2,0,0,0,64,0,0,0,43,100,0,0,26,0,0,0,0,0,0,0,147,96,0,0,27,0,0,0,0,0,0,0,57,100,0,0,28,1,0,0,0,0,0,0,171,94,0,0,29,1,0,0,0,0,0,0,63,100,0,0,30,1,0,0,0,0,0,0,114,94,0,0,31,0,0,0,0,0,0,0,125,94,0,0,32,0,0,0,0,0,0,0,163,96,0,0,33,0,0,0,0,0,0,0,74,100,0,0,0,0,0,0,0,0,0,0,120,96,0,0,34,0,0,0,0,0,0,0,87,100,0,0,35,1,0,0,0,0,0,0,102,100,0,0,2,0,0,0,0,8,1,0,171,96,0,0,1,0,0,0,176,96,0,0,1,0,0,0,182,96,0,0,2,0,0,0,191,96,0,0,3,0,0,0,200,96,0,0,2,0,0,0,208,96,0,0,3,0,0,0,216,96,0,0,0,0,0,0,223,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,97,0,0,248,97,0,0,0,98,0,0,4,98,0,0,78,69,0,0,13,98,0,0,210,83,0,0,3,0,0,0,206,83,0,0,3,0,0,0,89,56,0,0,127,113,0,0,133,113,0,0,138,113,0,0,143,113,0,0,249,113,0,0,255,113,0,0,7,114,0,0,178,120,0,0,183,120,0,0,190,120,0,0,193,120,0,0,196,120,0,0,199,120,0,0,202,120,0,0,205,120,0,0,213,120,0,0,222,120,0,0,60,95,0,0,228,120,0,0,220,132,0,0,229,132,0,0,236,132,0,0,242,132,0,0,150,89,0,0,78,133,0,0,87,133,0,0,97,133,0,0,108,133,0,0,120,133,0,0,131,133,0,0,142,133,0,0,153,133,0,0,158,133,0,0,163,133,0,0,171,133,0,0,182,133,0,0,194,133,0,0,201,133,0,0,209,133,0,0,217,133,0,0,222,133,0,0,228,133,0,0,235,133,0,0,239,133,0,0,253,133,0,0,10,134,0,0,16,134,0,0,27,134,0,0,32,134,0,0,40,134,0,0,46,134,0,0,53,134,0,0,58,134,0,0,67,134,0,0,72,134,0,0,81,134,0,0,86,134,0,0,91,134,0,0,97,134,0,0,107,134,0,0,115,134,0,0,122,134,0,0,132,134,0,0,145,134,0,0,150,134,0,0,162,134,0,0,170,134,0,0,175,134,0,0,180,134,0,0,183,134,0,0,189,134,0,0,196,134,0,0,205,134,0,0,216,134,0,0,222,134,0,0,233,134,0,0,243,134,0,0,253,134,0,0,6,135,0,0,16,135,0,0,30,135,0,0,44,135,0,0,55,135,0,0,68,135,0,0,79,135,0,0,85,135,0,0,92,135,0,0,99,135,0,0,106,135,0,0,113,135,0,0,118,135,0,0,129,135,0,0,138,135,0,0,144,135,0,0,154,135,0,0,157,135,0,0,161,135,0,0,170,135,0,0,179,135,0,0,186,135,0,0,193,135,0,0,201,135,0,0,204,135,0,0,207,135,0,0,210,135,0,0,213,135,0,0,216,135,0,0,219,135,0,0,229,135,0,0,236,135,0,0,242,135,0,0,252,135,0,0,7,136,0,0,11,136,0,0,20,136,0,0,29,136,0,0,36,136,0,0,46,136,0,0,53,136,0,0,60,136,0,0,67,136,0,0,75,136,0,0,86,136,0,0,100,136,0,0,111,136,0,0,118,136,0,0,126,136,0,0,132,136,0,0,140,136,0,0,145,136,0,0,156,136,0,0,161,136,0,0,168,136,0,0,181,136,0,0,191,136,0,0,201,136,0,0,210,136,0,0,216,136,0,0,222,136,0,0,228,136,0,0,234,136,0,0,242,136,0,0,248,136,0,0,4,137,0,0,16,137,0,0,28,137,0,0,40,137,0,0,53,137,0,0,63,137,0,0,73,137,0,0,85,137,0,0,97,137,0,0,107,137,0,0,118,137,0,0,129,137,0,0,137,137,0,0,143,137,0,0,148,137,0,0,158,137,0,0,167,137,0,0,174,137,0,0,180,137,0,0,186,137,0,0,193,137,0,0,202,137,0,0,213,137,0,0,220,137,0,0,230,137,0,0,237,137,0,0,245,137,0,0,254,137,0,0,4,138,0,0,12,138,0,0,18,138,0,0,26,138,0,0,36,138,0,0,45,138,0,0,50,138,0,0,55,138,0,0,139,138,0,0,152,138,0,0,0,0,0,0,188,138,0,0,213,138,0,0,244,138,0,0,7,139,0,0,184,91,0,0,32,139,0,0,69,139,0,0,81,139,0,0,96,139,0,0,129,139,0,0,147,139,0,0,172,139,0,0,201,139,0,0,218,139,0,0,224,122,0,0,59,56,0,0,241,139,0,0,3,140,0,0,21,140,0,0,60,140,0,0,91,140,0,0,112,140,0,0,144,140,0,0,178,140,0,0,13,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,13,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0,0,0,85,141,0,0,11,0,0,0,0,0,0,0,48,141,0,0,16,0,0,0,0,0,0,0,1,69,0,0,22,0,0,0,0,0,0,0,90,141,0,0,23,0,0,0,0,0,0,0,97,141,0,0,24,0,0,0,0,0,0,0,102,141,0,0,25,0,0,0,0,0,0,0,108,141,0,0,26,0,0,0,0,0,0,0,118,141,0,0,12,0,0,0,0,0,0,0,124,141,0,0,13,0,0,0,0,0,0,0,129,141,0,0,0,0,0,0,0,0,0,0,135,141,0,0,0,0,0,0,0,0,0,0,143,141,0,0,14,0,0,0,0,0,0,0,149,141,0,0,0,0,0,0,0,0,0,0,156,141,0,0,0,0,0,0,0,0,0,0,165,141,0,0,27,0,0,0,0,0,0,0,172,141,0,0,0,0,0,0,0,0,0,0,182,141,0,0,17,0,0,0,0,0,0,0,189,141,0,0,28,0,0,0,0,0,0,0,203,141,0,0,29,0,0,0,0,0,0,0,209,141,0,0,18,0,0,0,0,0,0,0,215,141,0,0,15,0,0,0,0,0,0,0,222,141,0,0,3,0,0,0,0,0,0,0,227,141,0,0,30,0,0,0,0,0,0,0,234,141,0,0,0,0,0,0,0,0,0,0,241,141,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,142,0,0,154,142,0,0,163,142,0,0,0,0,0,0,3,0,0,0,19,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,3,0,0,0,20,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,16,0,0,0,17,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,8,0,0,0,4,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,142,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,142,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,148,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,148,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,154,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,154,145,0,0,0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,7,0,0,0,68,106,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,7,0,0,0,72,106,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,159,145,0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,166,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,173,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,179,145,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,179,145,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,186,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,193,145,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,201,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,206,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,210,145,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,210,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,216,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,222,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,255,255,1,10,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,228,145,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,237,145,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,241,145,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,248,145,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,1,146,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,12,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,19,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,26,146,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,37,146,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,44,146,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,59,146,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,76,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,87,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,113,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,138,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,144,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,162,146,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,170,146,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,184,146,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,192,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,8,0,0,0,201,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,9,0,0,0,205,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,10,0,0,0,211,146,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,11,0,0,0,215,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,11,0,0,0,215,146,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,12,0,0,0,221,146,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,12,0,0,0,221,146,0,0,0,0,0,0,0,0,0,0,2,0,13,8,85,56,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,242,96,0,0,0,0,0,0,0,0,0,0,2,0,5,8,233,96,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,237,96,0,0,0,0,0,0,0,0,0,0,3,0,5,8,233,96,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,237,96,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,45,144,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,65,144,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,87,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,130,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,140,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,145,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,150,144,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,159,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,168,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,181,144,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,199,144,0,0,0,0,0,0,0,0,0,0,119,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,17,0,0,0,13,155,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,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,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,238,0,186,3,213,0,33,1,54,1,234,0,144,0,61,1,147,255,126,1,121,1,47,1,205,1,133,1,122,1,112,1,46,1,38,1,253,0,139,1,37,1,68,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,254,3,244,3,237,3,230,3,195,3,193,3,191,3,189,3,182,3,179,3,162,3,144,3,105,3,93,3,55,3,42,3,3,3,247,2,208,2,196,2,158,2,145,2,107,2,102,2,100,2,98,2,96,2,94,2,92,2,86,2,83,2,81,2,68,2,30,2,28,2,25,2,23,2,21,2,19,2,17,2,15,2,247,1,130,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,95,0,191,1,82,0,78,1,248,1,211,1,147,1,221,1,208,1,147,1,147,1,147,1,147,1,92,3,235,2,232,2,17,3,126,2,126,2,158,3,123,3,132,3,131,3,119,3,76,3,72,3,67,3,80,3,62,3,75,3,61,3,24,3,71,3,58,3,225,2,70,3,27,3,21,3,47,0,222,2,18,2,184,2,9,3,199,2,165,2,221,2,218,2,217,2,216,2,215,2,115,2,192,1,64,0,187,0,25,5,22,5,228,4,10,5,249,4,43,5,42,5,41,5,39,5,38,5,36,5,35,5,34,5,33,5,32,5,31,5,30,5,28,5,27,5,24,5,23,5,21,5,18,5,14,5,12,5,9,5,242,4,240,4,235,4,8,5,7,5,214,4,5,5,1,5,0,5,255,4,254,4,227,4,253,4,252,4,251,4,249,4,244,4,243,4,241,4,239,4,237,4,233,4,224,4,213,4,223,4,222,4,219,4,214,4,216,4,211,4,225,4,210,4,209,4,206,4,196,4,190,4,186,4,201,4,195,4,208,4,207,4,173,4,171,4,203,4,200,4,177,4,184,4,218,4,113,4,212,4,205,4,169,4,157,4,197,4,153,4,172,4,155,4,167,4,166,4,162,4,158,4,194,4,192,4,152,4,138,4,159,4,156,4,136,4,175,4,179,4,109,4,71,4,174,4,170,4,164,4,168,4,147,4,145,4,144,4,149,4,150,4,142,4,135,4,117,4,146,4,134,4,143,4,133,4,108,4,121,4,119,4,100,4,104,4,79,4,78,4,76,4,72,4,126,4,125,4,61,4,101,4,56,4,40,4,96,4,73,4,58,4,54,4,49,4,43,4,85,4,83,4,95,4,93,4,92,4,89,4,87,4,84,4,239,3,232,3,234,3,52,4,51,4,57,4,50,1,212,0,176,1,187,3,127,2,191,0,187,3,39,1,47,2,88,0,88,0,88,0,88,0,81,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,185,0,184,0,183,0,123,2,123,2,36,1,94,2,94,2,88,0,88,0,88,0,88,0,171,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,16,0,180,1,85,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,172,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,47,2,84,0,84,0,84,0,83,0,74,1,65,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,123,2,123,2,122,2,121,2,182,0,170,2,38,2,123,1,120,1,119,1,17,0,66,1,94,2,94,2,115,1,198,0,223,1,91,0,118,1,82,0,79,0,165,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,86,2,123,2,123,2,107,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,186,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,82,2,82,2,142,0,72,1,71,1,228,1,249,0,88,1,238,0,123,2,123,2,122,2,121,2,73,2,192,1,14,2,13,2,229,0,132,1,1,0,138,1,194,1,72,2,193,1,123,2,123,2,123,2,123,2,63,1,139,1,94,2,94,2,199,0,157,0,17,1,126,1,12,1,125,1,187,0,123,2,123,2,122,2,121,2,55,1,43,2,10,1,81,2,81,2,10,1,91,1,76,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,222,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,16,1,24,2,122,2,121,2,146,0,98,2,197,0,54,1,63,2,182,0,226,1,15,1,123,1,120,1,119,1,250,1,21,0,122,2,121,2,122,2,121,2,123,2,123,2,118,1,99,2,62,2,36,2,184,1,111,0,51,2,94,2,94,2,122,2,121,2,68,1,223,1,96,2,96,2,96,2,44,1,179,1,61,2,119,0,151,1,210,0,162,0,50,2,115,3,80,2,80,2,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,250,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,108,2,111,0,123,2,123,2,105,1,94,2,94,2,102,1,249,0,93,1,248,0,177,1,243,0,223,1,74,2,122,2,121,2,195,0,99,2,93,0,119,0,221,0,63,2,241,1,22,2,22,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,62,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,77,0,173,1,126,2,61,2,77,2,18,2,240,0,230,0,242,0,105,0,249,0,93,1,248,0,3,2,76,2,208,0,204,1,17,2,52,2,173,0,122,2,121,2,202,3,144,0,174,1,2,0,168,1,228,0,124,1,45,2,94,2,94,2,190,0,153,0,159,0,158,0,2,2,51,0,120,2,119,2,118,2,71,0,24,2,176,1,186,3,196,0,98,2,186,3,102,2,45,0,18,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,5,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,96,2,96,2,96,2,30,2,168,1,146,1,129,1,241,0,250,1,195,1,64,1,211,0,31,2,164,0,180,1,130,1,37,1,195,1,75,2,108,0,240,1,111,0,78,1,135,1,79,2,168,1,102,2,27,0,196,1,197,1,94,2,94,2,72,0,1,1,70,0,3,1,196,1,83,1,86,1,52,2,70,2,68,0,159,1,213,1,72,1,71,1,62,0,102,2,45,0,110,0,137,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,152,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,110,0,243,1,8,2,26,2,146,1,133,1,168,1,110,0,54,2,244,1,81,2,81,2,198,1,82,0,79,0,165,0,168,1,79,2,128,1,52,2,84,1,103,2,188,0,162,0,168,1,94,1,104,2,168,1,102,2,44,0,94,2,94,2,189,1,70,2,44,1,178,1,151,0,19,0,102,2,9,0,56,2,68,2,92,1,103,2,213,1,55,2,102,2,26,0,104,2,102,2,45,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,155,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,67,2,110,0,66,2,9,2,26,1,177,1,142,1,144,1,255,0,230,1,82,0,79,0,165,0,231,1,164,0,82,0,79,0,165,0,232,1,232,1,108,1,131,1,168,1,32,2,32,2,253,1,94,1,106,1,155,0,191,0,94,2,94,2,47,2,130,2,128,2,77,1,82,0,79,0,165,0,49,1,52,2,251,1,56,1,101,1,102,2,45,0,73,1,84,2,83,2,194,0,81,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,20,0,67,1,150,0,7,1,211,0,31,2,165,1,84,2,83,2,102,2,22,0,168,1,193,0,168,1,28,1,168,1,135,1,168,1,253,1,168,1,65,2,168,1,186,0,79,1,168,1,47,2,168,1,57,1,120,0,34,2,94,2,94,2,67,0,102,2,47,0,102,2,50,0,102,2,48,0,102,2,100,0,102,2,99,0,102,2,101,0,64,2,102,2,102,0,102,2,109,0,70,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,168,1,55,1,168,1,73,2,54,0,168,1,4,2,5,2,78,2,102,2,112,0,168,1,72,2,168,1,60,2,168,1,195,0,168,1,59,2,168,1,67,0,168,1,102,2,94,0,102,2,98,0,168,1,102,2,97,0,8,1,94,2,94,2,195,0,102,2,46,0,102,2,96,0,102,2,30,0,102,2,49,0,102,2,115,0,102,2,114,0,162,1,229], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([132,1,102,2,113,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,119,0,168,1,78,2,110,0,116,1,94,2,94,2,195,0,53,0,250,0,102,2,29,0,195,0,216,1,182,1,217,2,190,0,46,1,242,1,14,0,11,2,129,2,2,0,102,2,43,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,101,2,196,3,196,3,98,1,94,2,94,2,164,1,56,1,64,0,102,2,42,0,135,1,99,1,27,1,181,1,45,1,255,0,158,1,154,1,239,1,236,1,102,2,28,0,215,1,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,110,0,110,0,110,0,110,0,94,2,94,2,110,0,254,0,13,0,102,2,41,0,20,2,19,2,27,1,225,1,19,2,201,1,28,1,119,0,49,2,100,1,102,2,40,0,28,1,50,1,89,0,78,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,110,0,168,1,85,1,220,0,43,2,94,2,94,2,95,1,43,2,62,1,102,2,95,0,157,1,255,0,83,0,74,1,28,1,28,1,255,0,128,2,77,1,100,1,255,0,102,2,39,0,50,1,100,1,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,61,1,60,1,141,0,209,1,94,2,94,2,219,0,107,2,207,1,102,2,10,0,161,1,206,1,255,0,189,0,254,1,41,2,95,1,207,0,107,1,161,0,102,2,38,0,59,1,218,0,255,0,255,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,76,0,163,1,255,0,3,0,110,3,205,1,168,1,247,0,75,1,75,1,102,2,37,0,217,0,76,0,163,1,134,1,3,0,216,0,215,0,166,1,4,0,75,1,75,1,168,1,35,2,12,0,168,1,33,2,102,2,36,0,168,1,29,2,166,1,168,1,28,2,168,1,214,0,168,1,152,1,168,1,27,2,147,1,93,2,93,2,237,0,102,2,25,0,119,0,102,2,24,0,76,2,152,1,102,2,45,0,118,0,102,2,35,0,102,2,34,0,102,2,33,0,102,2,23,0,76,2,60,0,223,0,91,2,90,2,1,2,122,1,73,0,74,0,140,0,139,0,168,1,110,0,9,1,75,0,170,1,169,1,59,0,168,1,98,2,73,0,74,0,37,2,146,1,148,1,168,1,117,1,75,0,170,1,169,1,92,2,138,0,98,2,102,2,11,0,136,1,76,0,163,1,181,0,3,0,102,2,32,0,15,1,113,1,75,1,75,1,237,1,102,2,31,0,149,0,96,2,96,2,96,2,95,2,15,0,166,1,109,1,102,2,8,0,137,0,233,1,136,0,190,0,96,2,96,2,96,2,95,2,15,0,229,1,176,0,135,0,7,0,252,0,221,1,152,1,174,0,133,0,175,0,218,1,57,0,56,0,132,0,130,0,119,0,76,0,163,1,76,2,3,0,212,1,245,0,208,1,171,0,75,1,75,1,125,0,123,0,200,1,191,1,122,0,190,1,104,0,80,1,231,0,166,1,166,0,154,0,73,0,74,0,76,1,116,0,175,1,121,0,53,1,75,0,170,1,169,1,222,0,106,0,98,2,52,1,125,2,204,0,152,1,117,2,115,2,116,2,6,0,200,0,172,1,171,1,34,1,203,0,110,2,201,0,76,2,62,0,63,0,33,1,66,0,163,1,143,1,3,0,145,1,32,1,92,0,143,0,75,1,75,1,31,1,96,2,96,2,96,2,95,2,15,0,73,0,74,0,227,0,166,1,69,1,69,0,160,1,75,0,170,1,169,1,100,2,156,1,98,2,192,0,61,0,57,2,209,0,140,1,226,0,22,1,225,0,127,1,152,1,15,2,46,2,20,1,21,2,40,2,16,2,65,1,11,2,114,1,252,1,180,0,76,2,238,1,179,0,110,1,117,0,253,0,13,1,10,2,247,1,96,2,96,2,96,2,95,2,15,0,39,2,246,1,58,0,18,1,12,2,178,0,73,0,74,0,48,1,245,1,112,1,47,1,206,0,75,0,170,1,169,1,235,1,104,1,98,2,213,0,177,0,227,1,131,0,89,1,42,1,41,1,40,1,202,0,38,1,224,1,234,1,210,1,134,0,172,0,129,0,188,1,90,1,214,1,128,0,58,1,203,1,103,0,127,0,126,0,148,0,124,0,167,0,187,1,235,0,96,2,96,2,96,2,95,2,15,0,186,1,183,1,111,2,234,0,43,1,145,0,71,2,35,1,121,1,69,2,160,0,119,0,156,0,14,1,124,2,203,3,169,0,23,1,114,2,8,2,113,2,217,1,112,2,170,0,109,2,106,2,119,0,168,0,55,0,153,1,167,1,25,2,97,2,30,1,29,1,149,1,58,2,48,2,44,2,5,0,52,0,202,1,42,2,147,0,11,1,7,2,248,1,6,2,150,1,6,1,239,0,4,1,0,2,87,1,255,1,2,1,97,1,53,2,0,1,224,0,251,0,103,1,21,1,19,1,220,1,219,1,246,0,96,1,244,0,211,1,199,1,236,0,233,0,232,0,51,1,185,1,25,1,205,0,163,0,141,1,24,1,23,2,249,1,74,1,105,2,203,3,203,3,203,3,203,3,111,1,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,82,1,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,16,16,2,16,224,3,33,4,75,5,132,4,180,4,180,4,1,0,6,1,237,255,135,0,135,0,8,3,180,4,180,4,180,4,180,4,69,0,69,0,53,0,208,0,27,1,243,2,58,0,213,2,136,2,59,2,238,1,161,1,84,1,7,1,212,0,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,46,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,0,0,29,0,244,255,27,1,27,1,139,0,91,0,136,1,136,1,126,3,160,2,214,2,103,5,170,255,170,255,170,255,88,0,62,1,62,1,99,0,125,1,236,255,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,112,2,108,3,214,2,160,2,60,5,60,5,60,5,60,5,60,5,60,5,170,255,170,255,170,255,49,1,136,0,136,0,142,0,167,0,226,0,154,0,137,0,152,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,80,1,80,1,80,1,27,1,27,1,96,1,27,1,27,1,27,1,27,1,27,1,228,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,245,1,57,2,84,2,84,2,84,2,251,1,241,1,185,1,135,1,97,1,156,0,156,0,89,3,97,1,89,3,223,2,45,3,127,2,203,2,156,0,76,1,203,2,203,2,240,1,163,1,134,2,77,5,160,4,160,4,55,5,55,5,160,4,61,5,236,4,120,4,66,5,66,5,66,5,66,5,160,4,26,5,120,4,61,5,236,4,236,4,120,4,160,4,26,5,182,4,4,5,160,4,160,4,26,5,160,4,26,5,160,4,26,5,238,4,183,4,183,4,183,4,250,4,238,4,183,4,193,4,183,4,250,4,183,4,183,4,161,4,176,4,161,4,176,4,161,4,176,4,160,4,160,4,137,4,238,4,178,4,178,4,238,4,130,4,131,4,123,4,128,4,120,4,217,4,215,4,226,4,226,4,230,4,230,4,230,4,230,4,170,255,170,255,170,255,170,255,170,255,170,255,44,4,48,1,14,2,249,0,152,1,173,255,178,1,44,3,27,0,43,3,39,3,34,3,239,2,77,2,139,2,163,0,131,0,162,2,110,1,194,1,43,1,148,0,23,0,102,0,229,0,235,255,221,4,220,4,198,4,75,4,204,4,148,4,199,4,191,4,189,4,91,4,82,4,99,4,86,4,185,4,81,4,188,4,202,4,74,4,65,4,116,4,115,4,80,4,165,4,154,4,70,4,187,4,181,4,163,4,77,4,47,4,129,4,151,4,122,4,114,4,127,4,67,4,140,4,141,4,139,4,45,4,48,4,124,4,88,4,110,4,103,4,105,4,102,4,68,4,90,4,94,4,64,4,66,4,69,4,63,4,60,4,219,3,55,4,53,4,50,4,41,4,156,3,253,3,246,3,236,3,238,3,51,3,227,2,128,3,87,3,36,3,227,2,228,2,224,2,178,2,142,2,153,2,106,2,70,2,56,2,16,2,42,2,123,1,20,2,223,1,199,1,123,1,176,1,115,1,85,1,28,0,82,1,116,0,245,255,199,255,171,255,7,0,248,255,3,0,135,2,196,3,196,3,196,3,110,3,110,3,201,3,196,3,6,3,34,3,34,3,170,3,201,3,201,3,201,3,108,3,201,3,201,3,201,3,196,3,201,3,10,3,40,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,169,3,171,3,48,3,47,3,150,3,21,3,45,3,38,3,42,3,111,3,104,3,105,3,103,3,107,3,112,3,201,3,41,3,73,3,88,3,72,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,82,3,87,3,94,3,86,3,83,3,75,3,74,3,76,3,77,3,201,3,201,3,161,2,227,2,201,3,201,3,78,3,201,3,173,2,79,3,91,3,90,3,89,3,168,2,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,135,2,196,3,201,3,201,3,196,3,196,3,196,3,196,3,196,3,196,3,188,3,10,3,0,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,176,3,174,3,201,3,123,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,141,2,201,3,143,3,6,3,6,3,6,3,8,3,242,2,254,2,143,2,44,3,23,3,23,3,155,3,44,3,155,3,198,2,221,2,195,2,34,3,23,3,106,3,34,3,34,3,7,3,254,2,201,3,181,3,14,3,14,3,173,3,173,3,14,3,53,3,231,2,44,3,238,2,238,2,238,2,238,2,14,3,158,2,44,3,53,3,231,2,231,2,44,3,14,3,158,2,149,3,147,3,14,3,14,3,158,2,14,3,158,2,14,3,158,2,116,3,229,2,229,2,229,2,213,2,116,3,229,2,198,2,229,2,213,2,229,2,229,2,27,3,22,3,27,3,22,3,27,3,22,3,14,3,14,3,201,3,116,3,120,3,120,3,116,3,39,3,28,3,37,3,35,3,44,3,164,2,216,2,151,2,151,2,140,2,140,2,140,2,140,2,193,3,193,3,188,3,200,2,200,2,183,2,201,3,201,3,201,3,201,3,201,3,201,3,175,2,201,3,125,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,60,3,201,3,136,2,183,3,201,3,201,3,180,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,153,3,201,3,201,3,201,3,201,3,201,3,201,3,146,3,145,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,245,2,201,3,201,3,201,3,249,2,201,3,201,3,201,3,201,3,201,3,201,3,36,3,201,3,29,3,201,3,109,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,198,3,201,3,201,3,201,3,197,3,201,3,201,3,201,3,201,3,201,3,62,3,201,3,61,3,65,3,201,3,149,2,201,3,132,2,137,2,192,3,195,3,194,3,191,3,190,3,189,3,184,3,182,3,179,3,178,3,177,3,175,3,172,3,168,3,129,3,127,3,134,3,133,3,132,3,131,3,130,3,128,3,126,3,124,3,50,3,49,3,46,3,43,3,241,2,167,3,122,3,240,2,237,2,236,2,157,2,185,3,152,3,161,3,160,3,159,3,54,3,158,3,157,3,156,3,154,3,151,3,138,3,52,3,51,3,232,2,114,3,113,3,160,2,142,3,141,3,140,3,144,3,148,3,139,3,16,3,239,2,159,2,156,2,163,2,167,2,219,2,220,2,228,2,226,2,225,2,224,2,223,2,222,2,218,2,169,2,174,2,212,2,197,2,196,2,205,2,204,2,210,2,209,2,208,2,207,2,206,2,203,2,202,2,201,2,194,2,193,2,199,2,192,2,215,2,214,2,211,2,191,2,235,2,234,2,233,2,230,2,190,2,189,2,188,2,65,3,187,2,186,2,70,3,69,3,98,3,58,3,243,2,247,2,246,2,250,2,251,2,3,3,2,3,1,3,12,3,13,3,25,3,24,3,56,3,55,3,26,3,11,3,5,3,4,3,20,3,19,3,18,3,17,3,9,3,255,2,31,3,30,3,100,3,15,3,99,3,97,3,166,3,165,3,164,3,163,3,162,3,102,3,199,3,200,3,119,3,121,3,118,3,33,3,32,3,117,3,101,3,71,3,68,3,178,2,179,2,137,3,136,3,135,3,181,2,180,2,177,2,176,2,95,3,92,3,84,3,96,3,93,3,85,3,81,3,80,3,66,3,64,3,63,3,59,3,67,3,248,2,244,2,57,3,253,2,252,2,185,2,184,2,182,2,166,2,165,2,162,2,155,2,153,2,152,2,154,2,150,2,148,2,147,2,146,2,145,2,144,2,172,2,171,2,170,2,142,2,139,2,138,2,134,2,133,2,131,2,51,46,56,46,55,46,52,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,37,115,0,42,63,91,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,52,45,49,50,45,48,57,32,48,49,58,51,52,58,51,54,32,102,54,54,102,55,97,49,55,98,55,56,98,97,54,49,55,97,99,100,101,57,48,102,99,56,49,48,49,48,55,102,51,52,102,49,97,49,102,50,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,4,0,1,2,4,9,12,16,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,102,117,108,108,0,1,0,0,0,1,1,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,66,73,78,65,82,89,0,82,84,82,73,77,0,78,79,67,65,83,69,0,109,97,105,110,0,114,116,114,101,101,110,111,100,101,0,114,116,114,101,101,100,101,112,116,104,0,114,116,114,101,101,0,114,116,114,101,101,95,105,51,50,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,110,111,100,101,39,32,32,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,110,111,100,101,34,59,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,112,97,114,101,110,116,39,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,112,97,114,101,110,116,34,59,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,114,111,119,105,100,39,32,32,82,69,78,65,77,69,32,84,79,32,34,37,119,95,114,111,119,105,100,34,59,0,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,59,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,59,68,82,79,80,32,84,65,66,76,69,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,0,37,115,44,32,37,115,0,37,115,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,110,111,100,101,34,40,110,111,100,101,110,111,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,100,97,116,97,32,66,76,79,66,41,59,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,114,111,119,105,100,34,40,114,111,119,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,110,111,100,101,110,111,32,73,78,84,69,71,69,82,41,59,67,82,69,65,84,69,32,84,65,66,76,69,32,34,37,119,34,46,34,37,119,95,112,97,114,101,110,116,34,40,110,111,100,101,110,111,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,112,97,114,101,110,116,110,111,100,101,32,73,78,84,69,71,69,82,41,59,73,78,83,69,82,84,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,86,65,76,85,69,83,40,49,44,32,122,101,114,111,98,108,111,98,40,37,100,41,41,0,83,69,76,69,67,84,32,100,97,116,97,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,83,69,76,69,67,84,32,110,111,100,101,110,111,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,114,111,119,105,100,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,58,49,0,83,69,76,69,67,84,32,112,97,114,101,110,116,110,111,100,101,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,73,78,83,69,82,84,32,79,82,32,82,69,80,76,65,67,69,32,73,78,84,79,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,86,65,76,85,69,83,40,58,49,44,32,58,50,41,0,68,69,76,69,84,69,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,112,97,114,101,110,116,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,58,49,0,83,69,76,69,67,84,32,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,32,87,72,69,82,69,32,116,98,108,32,61,32,39,37,113,95,114,111,119,105,100,39,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,83,69,76,69,67,84,32,108,101,110,103,116,104,40,100,97,116,97,41,32,70,82,79,77,32,39,37,113,39,46,39,37,113,95,110,111,100,101,39,32,87,72,69,82,69,32,110,111,100,101,110,111,32,61,32,49,0,87,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116,114,101,101,32,116,97,98,108,101,0,84,111,111,32,102,101,119,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116,114,101,101,32,116,97,98,108,101,0,84,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,102,111,114,32,97,110,32,114,116,114,101,101,32,116,97,98,108,101,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,32,116,111,32,114,116,114,101,101,100,101,112,116,104,40,41,0,37,108,108,100,0,32,37,103,0,37,115,32,123,37,115,125,0,123,37,115,125,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,105,110,116,101,114,114,117,112,116,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,114,111,119,105,100,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,105,110,100,101,120,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173,2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,189,0,189,1,176,0,176,3,190,0,190,2,191,1,191,1,191,1,149,4,193,2,193,0,149,8,149,4,149,1,163,2,195,1,195,3,198,1,198,2,198,1,196,9,196,1,207,4,207,5,199,1,199,1,199,0,210,2,210,0,200,3,200,2,200,4,211,2,211,1,211,0,201,0,201,2,213,2,213,0,212,7,212,7,212,7,159,0,159,2,194,2,214,1,214,2,214,3,214,4,216,2,216,0,215,0,215,3,215,2,217,4,217,0,205,0,205,3,220,4,220,2,177,1,177,1,177,0,203,0,203,3,204,0,204,2,206,0,206,2,206,4,206,4,149,6,202,0,202,2,149,8,221,5,221,3,149,6,149,7,222,2,222,1,223,0,223,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,224,1,224,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,225,1,225,2,175,5,226,1,226,2,175,5,175,3,175,5,175,4,175,4,175,5,228,5,228,4,229,2,229,0,227,1,227,0,209,1,209,0,208,3,208,1,149,12,230,1,230,0,179,0,179,3,188,5,188,3,231,0,231,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,232,1,232,1,232,1,232,1,232,1,171,2,171,1,172,2,149,5,233,11,235,1,235,1,235,2,235,0,236,1,236,1,236,3,237,0,237,3,238,0,238,2,234,3,234,2,240,1,240,3,241,0,241,3,241,2,239,7,239,5,239,5,239,1,175,4,175,6,192,1,192,1,192,1,149,4,149,6,149,3,243,0,243,2,242,1,242,0,149,1,149,3,149,1,149,3,149,6,149,6,244,1,245,0,245,1,149,1,149,4,246,8,247,1,247,3,248,0,248,2,249,1,249,3,250,1,251,0,251,4,251,2,197,0,197,2,197,3,252,6,252,8,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,115,37,115,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,73,78,84,69,71,69,82,0,37,115,58,37,100,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,82,79,87,73,68,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,95,82,79,87,73,68,95,0,79,73,68,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,42,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,115,113,108,105,116,101,95,115,116,97,116,49,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,67,82,69,65,84,69,32,84,69,77,80,32,84,65,66,76,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,115,113,108,105,116,101,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,49,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,115,32,45,32,37,115,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,44,32,0,46,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,108,0,246,0,97,0,1,0,47,0,1,2,78,2,247,1,97,0,1,0,47,0,0,2,78,2,247,1,95,0,0,0,9,0,254,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,4,0,0,0,51,0,1,3,137,1,8,0,25,0,2,0,90,1,2,1,137,1,8,0,25,0,1,0,154,0,0,0,35,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,4,0,1,0,51,0,1,4,45,1,0,0,24,0,2,0,25,0,1,0,52,0,7,1,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,105,100,0,110,97,109,101,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,112,107,0,116,97,98,108,101,0,119,105,100,116,104,0,104,101,105,103,104,116,0,115,101,113,110,111,0,115,101,113,0,117,110,105,113,117,101,0,102,105,108,101,0,105,100,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,78,79,78,69,0,112,97,114,101,110,116,0,102,107,105,100,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,138,1,0,0,97,0,3,0,35,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,4,0,1,0,25,0,1,0,52,0,0,1,4,0,0,0,51,0,1,0,35,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,98,117,115,121,0,108,111,103,0,99,104,101,99,107,112,111,105,110,116,101,100,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,37,95,0,1,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,116,114,117,110,99,97,116,101,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,99,104,101,95,115,112,105,108,108,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,65,63,62,64,0,0,108,105,65,62,64,63,116,114,113,115,9,8,108,105,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,40,114,111,119,105,100,61,63,41,0,40,114,111,119,105,100,62,63,32,65,78,68,32,114,111,119,105,100,60,63,41,0,40,114,111,119,105,100,62,63,41,0,40,114,111,119,105,100,60,63,41,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,61,0,32,65,78,68,32,0,65,78,89,40,37,115,41,0,62,0,60,0,41,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,83,81,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,0,0,1,1,1,1,1,0,0,2,0,1,0,1,1,4,36,1,4,5,16,0,2,2,2,2,0,2,2,0,0,32,0,0,4,5,4,4,0,0,1,1,5,5,0,0,0,2,2,16,0,0,0,0,0,0,0,0,0,17,17,17,17,8,17,17,17,17,76,76,2,2,0,5,5,21,21,21,21,21,21,0,76,76,76,76,76,76,76,76,76,76,0,36,2,0,0,0,0,0,2,0,1,1,1,1,8,8,0,2,1,1,1,1,2,0,0,2,2,0,0,0,0,0,0,12,69,21,1,2,2,0,1,8,5,5,5,0,1,0,0,0,0,0,0,0,1,0,2,2,1,0,0,0,1,2,3,4,6,8,8,0,0,0,0,111,105,100,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,95,114,111,119,105,100,95,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,116,97,98,108,101,32,37,115,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,22,22,23,1,24,26,15,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,108,109,110,27,28,23,50,51,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,22,70,23,71,72,73,74,75,76,77,78,79,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,19,97,91,92,93,94,95,26,85,86,87,88,89,90,91,92,93,94,95,27,28,97,98,99,122,211,102,103,104,79,19,50,51,19,122,59,55,113,224,225,226,89,90,91,92,93,94,95,23,27,28,26,71,72,73,74,75,76,77,78,79,80,81,82,83,51,85,86,87,88,89,90,91,92,93,94,95,19,132,133,58,89,90,21,108,109,110,27,28,97,98,33,100,7,8,119,120,22,19,107,42,109,27,28,27,28,95,28,50,51,99,100,101,102,103,104,105,27,28,97,98,107,152,112,132,133,112,65,69,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,101,97,97,98,24,101,122,157,12,99,103,112,102,103,104,152,22,97,98,97,98,27,28,113,27,29,91,164,165,124,50,51,97,98,219,59,132,133,134,22,23,45,66,47,212,213,124,140,132,133,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,165,27,28,230,50,51,233,108,109,110,70,16,59,23,97,98,26,97,22,66,185,12,187,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,29,85,86,87,88,89,90,91,92,93,94,95,19,22,148,149,45,23,47,62,154,64,156,108,109,110,37,69,23,163,59,26,26,97,98,144,145,146,147,152,200,52,23,50,51,26,22,89,90,60,210,7,8,9,138,97,22,23,26,101,26,174,175,197,71,72,73,74,75,76,77,78,79,80,81,82,83,16,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,208,209,140,152,152,111,195,196,98,70,163,160,152,23,22,164,165,246,207,27,152,174,175,171,172,50,51,137,62,139,64,171,172,222,124,27,138,24,163,89,90,130,174,175,197,163,71,72,73,74,75,76,77,78,79,80,81,82,83,22,85,86,87,88,89,90,91,92,93,94,95,19,197,181,182,23,208,209,152,197,26,189,132,133,232,224,225,226,152,97,91,26,232,116,212,213,152,222,121,152,174,175,50,51,243,97,22,23,22,234,174,175,177,23,239,116,163,177,174,175,121,174,175,71,72,73,74,75,76,77,78,79,80,81,82,83,24,85,86,87,88,89,90,91,92,93,94,95,19,23,197,11,23,227,70,208,220,152,31,224,225,226,35,98,224,225,226,108,109,110,115,152,117,118,27,222,49,123,24,50,51,27,0,1,2,224,225,226,166,124,168,169,239,174,175,170,171,172,22,194,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,22,208,24,23,195,196,170,171,172,174,175,152,26,152,152,152,207,152,97,152,23,152,51,244,152,97,152,247,248,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,23,174,175,174,175,188,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,107,152,33,24,152,100,101,27,174,175,152,42,152,23,152,26,152,23,152,26,152,174,175,174,175,152,174,175,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,163,119,120,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,66,152,97,197,23,50,51,26,53,23,174,175,26,23,23,23,26,26,26,36,106,146,147,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,196,119,120,19,50,51,168,169,26,174,175,207,28,152,249,250,152,163,163,163,163,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,197,197,197,197,50,51,197,194,36,174,175,191,192,152,191,192,163,152,66,124,152,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,197,152,100,188,152,50,51,152,152,188,174,175,252,152,94,95,152,152,152,1,2,152,152,174,175,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,188,188,22,194,50,51,240,173,194,174,175,252,194,152,36,181,28,152,23,219,122,174,175,219,221,152,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,152,22,23,194,152,240,27,28,174,175,240,19,20,26,22,194,194,38,22,27,28,152,23,22,152,116,174,175,152,23,38,152,23,152,221,152,57,152,23,163,50,51,194,174,175,66,174,175,69,57,174,175,40,174,175,174,175,174,175,174,175,69,22,53,74,75,30,53,89,90,22,22,152,197,23,96,97,98,22,152,101,89,90,91,208,209,152,53,96,97,98,101,22,101,174,175,152,19,20,105,22,174,175,112,19,27,28,20,174,175,24,132,133,134,135,136,38,44,174,175,107,61,54,26,132,133,134,135,136,54,107,22,5,140,1,57,36,111,122,28,79,79,131,123,66,19,20,69,22,1,16,20,125,27,28,123,111,120,23,131,23,16,68,142,38,15,22,89,90,3,167,4,248,251,96,97,98,180,180,101,251,151,6,57,151,13,151,26,25,151,161,202,153,162,153,69,130,128,203,19,20,127,22,126,204,129,22,27,28,205,132,133,134,135,136,89,90,231,38,95,137,179,96,97,98,206,179,101,122,107,159,159,125,231,216,228,107,57,184,217,216,176,217,176,48,106,18,184,158,69,159,158,46,71,237,176,176,176,132,133,134,135,136,217,176,137,216,178,158,89,90,179,176,159,179,159,96,97,98,159,159,101,5,158,202,22,18,10,11,12,13,14,190,238,17,190,158,193,41,159,202,193,159,202,245,193,193,223,190,32,159,34,132,133,134,135,136,159,39,155,43,150,223,177,201,178,177,186,66,199,177,152,253,56,215,152,182,152,202,152,63,152,152,66,67,242,229,152,174,152,152,152,152,152,152,152,199,242,202,152,198,152,152,152,183,192,152,215,152,183,215,183,152,241,214,152,211,152,152,211,211,152,152,241,152,152,152,152,152,152,152,114,152,152,235,152,152,152,174,187,95,174,253,253,253,253,236,253,253,253,253,253,253,253,253,253,253,253,141], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); +/* memory initializer */ allocate([27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,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,27,27,27,27,27,27,27,27,27,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,111,114,100,101,114,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,76,105,115,116,32,111,102,32,116,114,101,101,32,114,111,111,116,115,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,79,117,116,115,116,97,110,100,105,110,103,32,112,97,103,101,32,99,111,117,110,116,32,103,111,101,115,32,102,114,111,109,32,37,100,32,116,111,32,37,100,32,100,117,114,105,110,103,32,116,104,105,115,32,97,110,97,108,121,115,105,115,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,112,114,101,118,105,111,117,115,32,119,97,115,32,37,108,108,100,41,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,67,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,99,101,108,108,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,100,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,110,105,108,0,66,0,44,46,46,46,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,58,37,112,0,105,110,116,97,114,114,97,121,0,112,114,111,103,114,97,109,0,70,117,110,99,116,105,111,110,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,65,103,103,83,116,101,112,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,78,111,116,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,83,101,101,107,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,80,97,114,97,109,0,82,101,97,108,0,70,107,67,111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,73,102,78,101,103,0,73,102,90,101,114,111,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,47,37,115,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,45,73,110,102,0,43,73,110,102,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,115,117,98,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,99,111,97,108,101,115,99,101,0,104,101,120,0,105,102,110,117,108,108,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,82,84,82,69,69,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30720); + +/* no memory initializer */ var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); assert(tempDoublePtr % 8 == 0); @@ -1359,19 +1557,171 @@ function copyTempDouble(ptr) { } +// {{PRE_LIBRARY}} + + + + Module["_i64Subtract"] = _i64Subtract; + + var _DtoILow=true; + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + return value; + } + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name) { + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 30: return PAGE_SIZE; + case 85: return totalMemory / PAGE_SIZE; + 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 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 79: + return 0; + 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 1000; + 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: { + if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; + return 1; + } + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; - var ERRNO_MESSAGES={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"}; - var ___errno_state=0;function ___setErrNo(value) { - // For convenient setting and returning of errno. - HEAP32[((___errno_state)>>2)]=value; - return value; - } + var ERRNO_MESSAGES={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"}; var PATH={splitPath:function (filename) { var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; @@ -1567,13 +1917,28 @@ function copyTempDouble(ptr) { if (!tty.input.length) { var result = null; if (ENVIRONMENT_IS_NODE) { - result = process['stdin']['read'](); - if (!result) { - if (process['stdin']['_readableState'] && process['stdin']['_readableState']['ended']) { - return null; // EOF - } - return undefined; // no data available + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + + var fd = process.stdin.fd; + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + + if (usingDevice) { fs.closeSync(fd); } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; } + } else if (typeof window != 'undefined' && typeof window.prompt == 'function') { // Browser. @@ -1594,28 +1959,28 @@ function copyTempDouble(ptr) { tty.input = intArrayFromString(result, true); } return tty.input.shift(); - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](tty.output.join('')); - tty.output = []; - } },put_char:function (tty, val) { if (val === null || val === 10) { - Module['print'](tty.output.join('')); + Module['print'](UTF8ArrayToString(tty.output, 0)); tty.output = []; } else { - tty.output.push(TTY.utf8.processCChar(val)); + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; } }},default_tty1_ops:{put_char:function (tty, val) { if (val === null || val === 10) { - Module['printErr'](tty.output.join('')); + Module['printErr'](UTF8ArrayToString(tty.output, 0)); tty.output = []; } else { - tty.output.push(TTY.utf8.processCChar(val)); + if (val != 0) tty.output.push(val); } },flush:function (tty) { if (tty.output && tty.output.length > 0) { - Module['printErr'](tty.output.join('')); + Module['printErr'](UTF8ArrayToString(tty.output, 0)); tty.output = []; } }}}; @@ -1655,7 +2020,8 @@ function copyTempDouble(ptr) { read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync } }, link: { @@ -1713,7 +2079,6 @@ function copyTempDouble(ptr) { if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. return new Uint8Array(node.contents); },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to // increase the size. @@ -1746,7 +2111,6 @@ function copyTempDouble(ptr) { node.usedBytes = 0; return; } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. var oldContents = node.contents; node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. @@ -1854,8 +2218,7 @@ function copyTempDouble(ptr) { assert(size >= 0); if (size > 8 && contents.subarray) { // non-trivial, and typed array buffer.set(contents.subarray(position, position + size), offset); - } else - { + } else { for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; } return size; @@ -1878,13 +2241,15 @@ function copyTempDouble(ptr) { return length; } } + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. MEMFS.expandFileStorage(node, position+length); if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else + else { for (var i = 0; i < length; i++) { node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. } + } node.usedBytes = Math.max(node.usedBytes, position+length); return length; },llseek:function (stream, offset, whence) { @@ -1934,6 +2299,18 @@ function copyTempDouble(ptr) { buffer.set(contents, ptr); } return { ptr: ptr, allocated: allocated }; + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; }}}; var IDBFS={dbs:{},indexedDB:function () { @@ -1983,7 +2360,9 @@ function copyTempDouble(ptr) { fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } - fileStore.createIndex('timestamp', 'timestamp', { unique: false }); + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); + } }; req.onsuccess = function() { db = req.result; @@ -1992,8 +2371,9 @@ function copyTempDouble(ptr) { IDBFS.dbs[name] = db; callback(null, db); }; - req.onerror = function() { + req.onerror = function(e) { callback(this.error); + e.preventDefault(); }; },getLocalSet:function (mount, callback) { var entries = {}; @@ -2034,7 +2414,10 @@ function copyTempDouble(ptr) { if (err) return callback(err); var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function() { callback(this.error); }; + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; var store = transaction.objectStore(IDBFS.DB_STORE_NAME); var index = store.index('timestamp'); @@ -2107,15 +2490,24 @@ function copyTempDouble(ptr) { },loadRemoteEntry:function (store, path, callback) { var req = store.get(path); req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function() { callback(this.error); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; },storeRemoteEntry:function (store, path, entry, callback) { var req = store.put(entry, path); req.onsuccess = function() { callback(null); }; - req.onerror = function() { callback(this.error); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; },removeRemoteEntry:function (store, path, callback) { var req = store.delete(path); req.onsuccess = function() { callback(null); }; - req.onerror = function() { callback(this.error); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; },reconcile:function (src, dst, callback) { var total = 0; @@ -2162,7 +2554,10 @@ function copyTempDouble(ptr) { } }; - transaction.onerror = function() { done(this.error); }; + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); + }; // sort paths in ascending order so directory entries are created // before the files inside them @@ -2209,7 +2604,7 @@ function copyTempDouble(ptr) { try { stat = fs.lstatSync(path); if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so // propagate write bits to execute bits. stat.mode = stat.mode | ((stat.mode & 146) >> 1); } @@ -2347,7 +2742,9 @@ function copyTempDouble(ptr) { },readlink:function (node) { var path = NODEFS.realPath(node); try { - return fs.readlinkSync(path); + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); @@ -2436,7 +2833,8 @@ function copyTempDouble(ptr) { stream.stream_ops.flush(stream); } */ - }var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},handleFSError:function (e) { + } + Module["_fflush"] = _fflush;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},handleFSError:function (e) { if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); return ___setErrNo(e.errno); },lookupPath:function (path, opts) { @@ -2492,7 +2890,7 @@ function copyTempDouble(ptr) { while (FS.isLink(current.mode)) { var link = FS.readlink(current_path); current_path = PATH.resolve(PATH.dirname(current_path), link); - + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); current = lookup.node; @@ -2742,10 +3140,6 @@ function copyTempDouble(ptr) { return stream; },closeStream:function (fd) { FS.streams[fd] = null; - },getStreamFromPtr:function (ptr) { - return FS.streams[ptr - 1]; - },getPtrForStream:function (stream) { - return stream ? stream.fd + 1 : 0; },chrdev_stream_ops:{open:function (stream) { var device = FS.getDevice(stream.node.rdev); // override node's stream ops with the device's @@ -3110,7 +3504,7 @@ function copyTempDouble(ptr) { if (!link.node_ops.readlink) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - return link.node_ops.readlink(link); + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); },stat:function (path, dontFollow) { var lookup = FS.lookupPath(path, { follow: !dontFollow }); var node = lookup.node; @@ -3258,6 +3652,10 @@ function copyTempDouble(ptr) { if (FS.isChrdev(node.mode)) { flags &= ~512; } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } // check permissions, if this is not a file we just created now (it is ok to // create and write to a file with read-only permissions; it is read-only // for later use) @@ -3313,6 +3711,7 @@ function copyTempDouble(ptr) { } return stream; },close:function (stream) { + if (stream.getdents) stream.getdents = null; // free readdir state try { if (stream.stream_ops.close) { stream.stream_ops.close(stream); @@ -3407,6 +3806,13 @@ function copyTempDouble(ptr) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function (stream) { + return 0; },ioctl:function (stream, cmd, arg) { if (!stream.stream_ops.ioctl) { throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); @@ -3426,11 +3832,7 @@ function copyTempDouble(ptr) { var buf = new Uint8Array(length); FS.read(stream, buf, 0, length, 0); if (opts.encoding === 'utf8') { - ret = ''; - var utf8 = new Runtime.UTF8Processor(); - for (var i = 0; i < length; i++) { - ret += utf8.processCChar(buf[i]); - } + ret = UTF8ArrayToString(buf, 0); } else if (opts.encoding === 'binary') { ret = buf; } @@ -3445,9 +3847,9 @@ function copyTempDouble(ptr) { } var stream = FS.open(path, opts.flags, opts.mode); if (opts.encoding === 'utf8') { - var utf8 = new Runtime.UTF8Processor(); - var buf = new Uint8Array(utf8.processJSString(data)); - FS.write(stream, buf, 0, buf.length, 0, opts.canOwn); + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); } else if (opts.encoding === 'binary') { FS.write(stream, data, 0, data.length, 0, opts.canOwn); } @@ -3474,7 +3876,7 @@ function copyTempDouble(ptr) { // setup /dev/null FS.registerDevice(FS.makedev(1, 3), { read: function() { return 0; }, - write: function() { return 0; } + write: function(stream, buffer, offset, length, pos) { return length; } }); FS.mkdev('/dev/null', FS.makedev(1, 3)); // setup /dev/tty and /dev/tty1 @@ -3503,6 +3905,31 @@ function copyTempDouble(ptr) { // just create the tmp dirs that reside in it commonly FS.mkdir('/dev/shm'); FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function () { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); },createStandardStreams:function () { // TODO deprecate the old functionality of a single // input / output callback and that utilizes FS.createDevice @@ -3530,19 +3957,17 @@ function copyTempDouble(ptr) { // open default streams for the stdin, stdout and stderr devices var stdin = FS.open('/dev/stdin', 'r'); - HEAP32[((_stdin)>>2)]=FS.getPtrForStream(stdin); assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); var stdout = FS.open('/dev/stdout', 'w'); - HEAP32[((_stdout)>>2)]=FS.getPtrForStream(stdout); assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); var stderr = FS.open('/dev/stderr', 'w'); - HEAP32[((_stderr)>>2)]=FS.getPtrForStream(stderr); assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); },ensureErrnoError:function () { if (FS.ErrnoError) return; FS.ErrnoError = function ErrnoError(errno, node) { + //Module.printErr(stackTrace()); // useful for debugging this.node = node; this.setErrno = function(errno) { this.errno = errno; @@ -3572,6 +3997,7 @@ function copyTempDouble(ptr) { FS.createDefaultDirectories(); FS.createDefaultDevices(); + FS.createSpecialDirectories(); },init:function (input, output, error) { assert(!FS.init.initialized, '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)'); FS.init.initialized = true; @@ -3586,6 +4012,10 @@ function copyTempDouble(ptr) { FS.createStandardStreams(); },quit:function () { FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams for (var i = 0; i < FS.streams.length; i++) { var stream = FS.streams[i]; if (!stream) { @@ -3902,18 +4332,20 @@ function copyTempDouble(ptr) { }; node.stream_ops = stream_ops; return node; - },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn) { + },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { Browser.init(); // TODO we should allow people to just pass in a complete filename instead // of parent and name being that we just join them anyways var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname function processData(byteArray) { function finish(byteArray) { + if (preFinish) preFinish(); if (!dontCreateFile) { FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); } if (onload) onload(); - removeRunDependency('cp ' + fullname); + removeRunDependency(dep); } var handled = false; Module['preloadPlugins'].forEach(function(plugin) { @@ -3921,14 +4353,14 @@ function copyTempDouble(ptr) { if (plugin['canHandle'](fullname)) { plugin['handle'](byteArray, fullname, finish, function() { if (onerror) onerror(); - removeRunDependency('cp ' + fullname); + removeRunDependency(dep); }); handled = true; } }); if (!handled) finish(byteArray); } - addRunDependency('cp ' + fullname); + addRunDependency(dep); if (typeof url == 'string') { Browser.asyncLoad(url, function(byteArray) { processData(byteArray); @@ -4008,183 +4440,30 @@ function copyTempDouble(ptr) { transaction.onerror = onerror; }; openRequest.onerror = onerror; - }};function _lseek(fildes, offset, whence) { - // off_t lseek(int fildes, off_t offset, int whence); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/lseek.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - return FS.llseek(stream, offset, whence); - } catch (e) { - FS.handleFSError(e); - return -1; - } - } - - - Module["_i64Subtract"] = _i64Subtract; - - var _DtoILow=true; - - function _sysconf(name) { - // long sysconf(int name); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html - switch(name) { - case 30: return PAGE_SIZE; - 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 1000; - 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: { - if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; - return 1; + }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function (func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -ERRNO_CODES.ENOTDIR; + } + throw e; } - } - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - - var _SItoD=true; - - - Module["_memset"] = _memset; - - function _stat(path, buf, dontResolveLastLink) { - // http://pubs.opengroup.org/onlinepubs/7908799/xsh/stat.html - // int stat(const char *path, struct stat *buf); - // NOTE: dontResolveLastLink is a shortcut for lstat(). It should never be - // used in client code. - path = typeof path !== 'string' ? Pointer_stringify(path) : path; - try { - var stat = dontResolveLastLink ? FS.lstat(path) : FS.stat(path); HEAP32[((buf)>>2)]=stat.dev; HEAP32[(((buf)+(4))>>2)]=0; HEAP32[(((buf)+(8))>>2)]=stat.ino; @@ -4205,24 +4484,213 @@ function copyTempDouble(ptr) { HEAP32[(((buf)+(68))>>2)]=0; HEAP32[(((buf)+(72))>>2)]=stat.ino; return 0; - } catch (e) { - if (e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - e.setErrno(ERRNO_CODES.ENOTDIR); + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.buffer, addr, len); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function (path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -ERRNO_CODES.EINVAL; } - FS.handleFSError(e); - return -1; - } - } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + ret = ret.slice(0, Math.max(0, bufsize)); + writeStringToMemory(ret, buf, true); + return ret.length; + },doAccess:function (path, amode) { + if (amode & ~7) { + // need a valid mode + return -ERRNO_CODES.EINVAL; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; + } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },varargs:0,get:function (varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function () { + var ret = Pointer_stringify(SYSCALLS.get()); + return ret; + },getStreamFromFD:function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + },getSocketFromFD:function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + },getSocketAddress:function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + },get64:function () { + var low = SYSCALLS.get(), high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low; + },getZero:function () { + assert(SYSCALLS.get() === 0); + }};function ___syscall20(which, varargs) {SYSCALLS.varargs = varargs; + try { + // getpid + return PROCINFO.pid; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + Module["_memset"] = _memset; + + function ___syscall39(which, varargs) {SYSCALLS.varargs = varargs; + try { + // mkdir + var path = SYSCALLS.getStr(), mode = SYSCALLS.get(); + return SYSCALLS.doMkdir(path, mode); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } var _DtoIHigh=true; Module["_bitshift64Shl"] = _bitshift64Shl; - function _abort() { - Module['abort'](); - } + function ___syscall192(which, varargs) {SYSCALLS.varargs = varargs; + try { + // mmap2 + var addr = SYSCALLS.get(), len = SYSCALLS.get(), prot = SYSCALLS.get(), flags = SYSCALLS.get(), fd = SYSCALLS.get(), off = SYSCALLS.get() + off <<= 12; // undo pgoffset + var ptr; + var allocated = false; + if (fd === -1) { + ptr = _malloc(len); + if (!ptr) return -ERRNO_CODES.ENOMEM; + _memset(ptr, 0, len); + allocated = true; + } else { + var info = FS.getStream(fd); + if (!info) return -ERRNO_CODES.EBADF; + var res = FS.mmap(info, HEAPU8, addr, len, off, prot, flags); + ptr = res.ptr; + allocated = res.allocated; + } + SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, flags: flags }; + return ptr; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall195(which, varargs) {SYSCALLS.varargs = varargs; + try { + // SYS_stat64 + var path = SYSCALLS.getStr(), buf = SYSCALLS.get(); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall194(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ftruncate64 + var fd = SYSCALLS.get(), zero = SYSCALLS.getZero(), length = SYSCALLS.get64(); + FS.ftruncate(fd, length); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall197(which, varargs) {SYSCALLS.varargs = varargs; + try { + // SYS_fstat64 + var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___lock() {} + + function ___unlock() {} + + + var EmterpreterAsync=undefined;function ___syscall118(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fsync + var stream = SYSCALLS.getStreamFromFD(); + return 0; // we can't do anything synchronously; the in-memory FS is already synced to + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + Module["_i64Add"] = _i64Add; function _usleep(useconds) { @@ -4242,785 +4710,71 @@ function copyTempDouble(ptr) { } } return 0; - }function _sleep(seconds) { - // unsigned sleep(unsigned seconds); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/sleep.html - return _usleep(seconds * 1e6); } - - function _close(fildes) { - // int close(int fildes); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/close.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - FS.close(stream); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; + Module["_usleep"] = _usleep;function _nanosleep(rqtp, rmtp) { + // int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); + var seconds = HEAP32[((rqtp)>>2)]; + var nanoseconds = HEAP32[(((rqtp)+(4))>>2)]; + if (rmtp !== 0) { + HEAP32[((rmtp)>>2)]=0; + HEAP32[(((rmtp)+(4))>>2)]=0; } + return _usleep((seconds * 1e6) + (nanoseconds / 1000)); } - - Module["_strlen"] = _strlen; + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; - function _access(path, amode) { - // int access(const char *path, int amode); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/access.html - path = Pointer_stringify(path); - if (amode & ~7) { - // need a valid mode - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - var node; - try { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } catch (e) { - FS.handleFSError(e); - return -1; - } - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - ___setErrNo(ERRNO_CODES.EACCES); - return -1; - } + function ___syscall94(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fchmod + var fd = SYSCALLS.get(), mode = SYSCALLS.get(); + FS.fchmod(fd, mode); return 0; - } - - function _unlink(path) { - // int unlink(const char *path); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/unlink.html - path = Pointer_stringify(path); - try { - FS.unlink(path); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - } - - - Module["_i64Add"] = _i64Add; - - function _open(path, oflag, varargs) { - // int open(const char *path, int oflag, ...); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/open.html - var mode = HEAP32[((varargs)>>2)]; - path = Pointer_stringify(path); - try { - var stream = FS.open(path, oflag, mode); - return stream.fd; - } catch (e) { - FS.handleFSError(e); - return -1; - } - } - - - function _getuid() { return 0; }function _geteuid() { - return _getuid.apply(null, arguments) + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } } - - function _mknod(path, mode, dev) { - // int mknod(const char *path, mode_t mode, dev_t dev); - // http://pubs.opengroup.org/onlinepubs/7908799/xsh/mknod.html - path = Pointer_stringify(path); - // we don't want this in the JS API as the JS API - // uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - try { - FS.mknod(path, mode, dev); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _mkdir(path, mode) { - // int mkdir(const char *path, mode_t mode); - // http://pubs.opengroup.org/onlinepubs/7908799/xsh/mkdir.html - path = Pointer_stringify(path); - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - path = PATH.normalize(path); - if (path[path.length-1] === '/') path = path.substr(0, path.length-1); - try { - FS.mkdir(path, mode, 0); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - } - - - - - function _mkport() { throw 'TODO' }var SOCKFS={mount:function (mount) { - // If Module['websocket'] has already been defined (e.g. for configuring - // the subprotocol/url) use that, if not initialise it to a new object. - Module['websocket'] = (Module['websocket'] && - ('object' === typeof Module['websocket'])) ? Module['websocket'] : {}; - - // Add the Event registration mechanism to the exported websocket configuration - // object so we can register network callbacks from native JavaScript too. - // For more documentation see system/include/emscripten/emscripten.h - Module['websocket']._callbacks = {}; - Module['websocket']['on'] = function(event, callback) { - if ('function' === typeof callback) { - this._callbacks[event] = callback; - } - return this; - }; - - Module['websocket'].emit = function(event, param) { - if ('function' === typeof this._callbacks[event]) { - this._callbacks[event].call(this, param); - } - }; - - // If debug is enabled register simple default logging callbacks for each Event. - - return FS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createSocket:function (family, type, protocol) { - var streaming = type == 1; - if (protocol) { - assert(streaming == (protocol == 6)); // if SOCK_STREAM, must be tcp - } - - // create our internal socket structure - var sock = { - family: family, - type: type, - protocol: protocol, - server: null, - error: null, // Used in getsockopt for SOL_SOCKET/SO_ERROR test - peers: {}, - pending: [], - recv_queue: [], - sock_ops: SOCKFS.websocket_sock_ops - }; - - // create the filesystem node to store the socket structure - var name = SOCKFS.nextname(); - var node = FS.createNode(SOCKFS.root, name, 49152, 0); - node.sock = sock; - - // and the wrapping stream that enables library functions such - // as read and write to indirectly interact with the socket - var stream = FS.createStream({ - path: name, - node: node, - flags: FS.modeStringToFlags('r+'), - seekable: false, - stream_ops: SOCKFS.stream_ops - }); - - // map the new stream to the socket structure (sockets have a 1:1 - // relationship with a stream) - sock.stream = stream; - - return sock; - },getSocket:function (fd) { - var stream = FS.getStream(fd); - if (!stream || !FS.isSocket(stream.node.mode)) { - return null; + function ___syscall91(which, varargs) {SYSCALLS.varargs = varargs; + try { + // munmap + var addr = SYSCALLS.get(), len = SYSCALLS.get(); + // TODO: support unmmap'ing parts of allocations + var info = SYSCALLS.mappings[addr]; + if (!info) return 0; + if (len === info.len) { + var stream = FS.getStream(info.fd); + SYSCALLS.doMsync(addr, stream, len, info.flags) + FS.munmap(stream); + SYSCALLS.mappings[addr] = null; + if (info.allocated) { + _free(info.malloc); } - return stream.node.sock; - },stream_ops:{poll:function (stream) { - var sock = stream.node.sock; - return sock.sock_ops.poll(sock); - },ioctl:function (stream, request, varargs) { - var sock = stream.node.sock; - return sock.sock_ops.ioctl(sock, request, varargs); - },read:function (stream, buffer, offset, length, position /* ignored */) { - var sock = stream.node.sock; - var msg = sock.sock_ops.recvmsg(sock, length); - if (!msg) { - // socket is closed - return 0; - } - buffer.set(msg.buffer, offset); - return msg.buffer.length; - },write:function (stream, buffer, offset, length, position /* ignored */) { - var sock = stream.node.sock; - return sock.sock_ops.sendmsg(sock, buffer, offset, length); - },close:function (stream) { - var sock = stream.node.sock; - sock.sock_ops.close(sock); - }},nextname:function () { - if (!SOCKFS.nextname.current) { - SOCKFS.nextname.current = 0; - } - return 'socket[' + (SOCKFS.nextname.current++) + ']'; - },websocket_sock_ops:{createPeer:function (sock, addr, port) { - var ws; - - if (typeof addr === 'object') { - ws = addr; - addr = null; - port = null; - } - - if (ws) { - // for sockets that've already connected (e.g. we're the server) - // we can inspect the _socket property for the address - if (ws._socket) { - addr = ws._socket.remoteAddress; - port = ws._socket.remotePort; - } - // if we're just now initializing a connection to the remote, - // inspect the url property - else { - var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url); - if (!result) { - throw new Error('WebSocket URL must be in the format ws(s)://address:port'); - } - addr = result[1]; - port = parseInt(result[2], 10); - } - } else { - // create the actual websocket object and connect - try { - // runtimeConfig gets set to true if WebSocket runtime configuration is available. - var runtimeConfig = (Module['websocket'] && ('object' === typeof Module['websocket'])); - - // The default value is 'ws://' the replace is needed because the compiler replaces '//' comments with '#' - // comments without checking context, so we'd end up with ws:#, the replace swaps the '#' for '//' again. - var url = 'ws:#'.replace('#', '//'); - - if (runtimeConfig) { - if ('string' === typeof Module['websocket']['url']) { - url = Module['websocket']['url']; // Fetch runtime WebSocket URL config. - } - } - - if (url === 'ws://' || url === 'wss://') { // Is the supplied URL config just a prefix, if so complete it. - var parts = addr.split('/'); - url = url + parts[0] + ":" + port + "/" + parts.slice(1).join('/'); - } - - // Make the WebSocket subprotocol (Sec-WebSocket-Protocol) default to binary if no configuration is set. - var subProtocols = 'binary'; // The default value is 'binary' - - if (runtimeConfig) { - if ('string' === typeof Module['websocket']['subprotocol']) { - subProtocols = Module['websocket']['subprotocol']; // Fetch runtime WebSocket subprotocol config. - } - } - - // The regex trims the string (removes spaces at the beginning and end, then splits the string by - // , into an Array. Whitespace removal is important for Websockify and ws. - subProtocols = subProtocols.replace(/^ +| +$/g,"").split(/ *, */); - - // The node ws library API for specifying optional subprotocol is slightly different than the browser's. - var opts = ENVIRONMENT_IS_NODE ? {'protocol': subProtocols.toString()} : subProtocols; - - // If node we use the ws library. - var WebSocket = ENVIRONMENT_IS_NODE ? require('ws') : window['WebSocket']; - ws = new WebSocket(url, opts); - ws.binaryType = 'arraybuffer'; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH); - } - } - - - var peer = { - addr: addr, - port: port, - socket: ws, - dgram_send_queue: [] - }; - - SOCKFS.websocket_sock_ops.addPeer(sock, peer); - SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer); - - // if this is a bound dgram socket, send the port number first to allow - // us to override the ephemeral port reported to us by remotePort on the - // remote end. - if (sock.type === 2 && typeof sock.sport !== 'undefined') { - peer.dgram_send_queue.push(new Uint8Array([ - 255, 255, 255, 255, - 'p'.charCodeAt(0), 'o'.charCodeAt(0), 'r'.charCodeAt(0), 't'.charCodeAt(0), - ((sock.sport & 0xff00) >> 8) , (sock.sport & 0xff) - ])); - } - - return peer; - },getPeer:function (sock, addr, port) { - return sock.peers[addr + ':' + port]; - },addPeer:function (sock, peer) { - sock.peers[peer.addr + ':' + peer.port] = peer; - },removePeer:function (sock, peer) { - delete sock.peers[peer.addr + ':' + peer.port]; - },handlePeerEvents:function (sock, peer) { - var first = true; - - var handleOpen = function () { - - Module['websocket'].emit('open', sock.stream.fd); - - try { - var queued = peer.dgram_send_queue.shift(); - while (queued) { - peer.socket.send(queued); - queued = peer.dgram_send_queue.shift(); - } - } catch (e) { - // not much we can do here in the way of proper error handling as we've already - // lied and said this data was sent. shut it down. - peer.socket.close(); - } - }; - - function handleMessage(data) { - assert(typeof data !== 'string' && data.byteLength !== undefined); // must receive an ArrayBuffer - data = new Uint8Array(data); // make a typed array view on the array buffer - - - // if this is the port message, override the peer's port with it - var wasfirst = first; - first = false; - if (wasfirst && - data.length === 10 && - data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 && - data[4] === 'p'.charCodeAt(0) && data[5] === 'o'.charCodeAt(0) && data[6] === 'r'.charCodeAt(0) && data[7] === 't'.charCodeAt(0)) { - // update the peer's port and it's key in the peer map - var newport = ((data[8] << 8) | data[9]); - SOCKFS.websocket_sock_ops.removePeer(sock, peer); - peer.port = newport; - SOCKFS.websocket_sock_ops.addPeer(sock, peer); - return; - } - - sock.recv_queue.push({ addr: peer.addr, port: peer.port, data: data }); - Module['websocket'].emit('message', sock.stream.fd); - }; - - if (ENVIRONMENT_IS_NODE) { - peer.socket.on('open', handleOpen); - peer.socket.on('message', function(data, flags) { - if (!flags.binary) { - return; - } - handleMessage((new Uint8Array(data)).buffer); // copy from node Buffer -> ArrayBuffer - }); - peer.socket.on('close', function() { - Module['websocket'].emit('close', sock.stream.fd); - }); - peer.socket.on('error', function(error) { - // Although the ws library may pass errors that may be more descriptive than - // ECONNREFUSED they are not necessarily the expected error code e.g. - // ENOTFOUND on getaddrinfo seems to be node.js specific, so using ECONNREFUSED - // is still probably the most useful thing to do. - sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); - // don't throw - }); - } else { - peer.socket.onopen = handleOpen; - peer.socket.onclose = function() { - Module['websocket'].emit('close', sock.stream.fd); - }; - peer.socket.onmessage = function peer_socket_onmessage(event) { - handleMessage(event.data); - }; - peer.socket.onerror = function(error) { - // The WebSocket spec only allows a 'simple event' to be thrown on error, - // so we only really know as much as ECONNREFUSED. - sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); - }; - } - },poll:function (sock) { - if (sock.type === 1 && sock.server) { - // listen sockets should only say they're available for reading - // if there are pending clients. - return sock.pending.length ? (64 | 1) : 0; - } - - var mask = 0; - var dest = sock.type === 1 ? // we only care about the socket state for connection-based sockets - SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) : - null; - - if (sock.recv_queue.length || - !dest || // connection-less sockets are always ready to read - (dest && dest.socket.readyState === dest.socket.CLOSING) || - (dest && dest.socket.readyState === dest.socket.CLOSED)) { // let recv return 0 once closed - mask |= (64 | 1); - } - - if (!dest || // connection-less sockets are always ready to write - (dest && dest.socket.readyState === dest.socket.OPEN)) { - mask |= 4; - } - - if ((dest && dest.socket.readyState === dest.socket.CLOSING) || - (dest && dest.socket.readyState === dest.socket.CLOSED)) { - mask |= 16; - } - - return mask; - },ioctl:function (sock, request, arg) { - switch (request) { - case 21531: - var bytes = 0; - if (sock.recv_queue.length) { - bytes = sock.recv_queue[0].data.length; - } - HEAP32[((arg)>>2)]=bytes; - return 0; - default: - return ERRNO_CODES.EINVAL; - } - },close:function (sock) { - // if we've spawned a listen server, close it - if (sock.server) { - try { - sock.server.close(); - } catch (e) { - } - sock.server = null; - } - // close any peer connections - var peers = Object.keys(sock.peers); - for (var i = 0; i < peers.length; i++) { - var peer = sock.peers[peers[i]]; - try { - peer.socket.close(); - } catch (e) { - } - SOCKFS.websocket_sock_ops.removePeer(sock, peer); - } - return 0; - },bind:function (sock, addr, port) { - if (typeof sock.saddr !== 'undefined' || typeof sock.sport !== 'undefined') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already bound - } - sock.saddr = addr; - sock.sport = port || _mkport(); - // in order to emulate dgram sockets, we need to launch a listen server when - // binding on a connection-less socket - // note: this is only required on the server side - if (sock.type === 2) { - // close the existing server if it exists - if (sock.server) { - sock.server.close(); - sock.server = null; - } - // swallow error operation not supported error that occurs when binding in the - // browser where this isn't supported - try { - sock.sock_ops.listen(sock, 0); - } catch (e) { - if (!(e instanceof FS.ErrnoError)) throw e; - if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e; - } - } - },connect:function (sock, addr, port) { - if (sock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - - // TODO autobind - // if (!sock.addr && sock.type == 2) { - // } - - // early out if we're already connected / in the middle of connecting - if (typeof sock.daddr !== 'undefined' && typeof sock.dport !== 'undefined') { - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); - if (dest) { - if (dest.socket.readyState === dest.socket.CONNECTING) { - throw new FS.ErrnoError(ERRNO_CODES.EALREADY); - } else { - throw new FS.ErrnoError(ERRNO_CODES.EISCONN); - } - } - } - - // add the socket to our peer list and set our - // destination address / port to match - var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); - sock.daddr = peer.addr; - sock.dport = peer.port; - - // always "fail" in non-blocking mode - throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS); - },listen:function (sock, backlog) { - if (!ENVIRONMENT_IS_NODE) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - if (sock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already listening - } - var WebSocketServer = require('ws').Server; - var host = sock.saddr; - sock.server = new WebSocketServer({ - host: host, - port: sock.sport - // TODO support backlog - }); - Module['websocket'].emit('listen', sock.stream.fd); // Send Event with listen fd. - - sock.server.on('connection', function(ws) { - if (sock.type === 1) { - var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol); - - // create a peer on the new socket - var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws); - newsock.daddr = peer.addr; - newsock.dport = peer.port; - - // push to queue for accept to pick up - sock.pending.push(newsock); - Module['websocket'].emit('connection', newsock.stream.fd); - } else { - // create a peer on the listen socket so calling sendto - // with the listen socket and an address will resolve - // to the correct client - SOCKFS.websocket_sock_ops.createPeer(sock, ws); - Module['websocket'].emit('connection', sock.stream.fd); - } - }); - sock.server.on('closed', function() { - Module['websocket'].emit('close', sock.stream.fd); - sock.server = null; - }); - sock.server.on('error', function(error) { - // Although the ws library may pass errors that may be more descriptive than - // ECONNREFUSED they are not necessarily the expected error code e.g. - // ENOTFOUND on getaddrinfo seems to be node.js specific, so using EHOSTUNREACH - // is still probably the most useful thing to do. This error shouldn't - // occur in a well written app as errors should get trapped in the compiled - // app's own getaddrinfo call. - sock.error = ERRNO_CODES.EHOSTUNREACH; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'EHOSTUNREACH: Host is unreachable']); - // don't throw - }); - },accept:function (listensock) { - if (!listensock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var newsock = listensock.pending.shift(); - newsock.stream.flags = listensock.stream.flags; - return newsock; - },getname:function (sock, peer) { - var addr, port; - if (peer) { - if (sock.daddr === undefined || sock.dport === undefined) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - addr = sock.daddr; - port = sock.dport; - } else { - // TODO saddr and sport will be set for bind()'d UDP sockets, but what - // should we be returning for TCP sockets that've been connect()'d? - addr = sock.saddr || 0; - port = sock.sport || 0; - } - return { addr: addr, port: port }; - },sendmsg:function (sock, buffer, offset, length, addr, port) { - if (sock.type === 2) { - // connection-less sockets will honor the message address, - // and otherwise fall back to the bound destination address - if (addr === undefined || port === undefined) { - addr = sock.daddr; - port = sock.dport; - } - // if there was no address to fall back to, error out - if (addr === undefined || port === undefined) { - throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ); - } - } else { - // connection-based sockets will only use the bound - addr = sock.daddr; - port = sock.dport; - } - - // find the peer for the destination address - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port); - - // early out if not connected with a connection-based socket - if (sock.type === 1) { - if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } else if (dest.socket.readyState === dest.socket.CONNECTING) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } - - // create a copy of the incoming data to send, as the WebSocket API - // doesn't work entirely with an ArrayBufferView, it'll just send - // the entire underlying buffer - var data; - if (buffer instanceof Array || buffer instanceof ArrayBuffer) { - data = buffer.slice(offset, offset + length); - } else { // ArrayBufferView - data = buffer.buffer.slice(buffer.byteOffset + offset, buffer.byteOffset + offset + length); - } - - // if we're emulating a connection-less dgram socket and don't have - // a cached connection, queue the buffer to send upon connect and - // lie, saying the data was sent now. - if (sock.type === 2) { - if (!dest || dest.socket.readyState !== dest.socket.OPEN) { - // if we're not connected, open a new connection - if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); - } - dest.dgram_send_queue.push(data); - return length; - } - } - - try { - // send the actual data - dest.socket.send(data); - return length; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },recvmsg:function (sock, length) { - // http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html - if (sock.type === 1 && sock.server) { - // tcp servers should not be recv()'ing on the listen socket - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - - var queued = sock.recv_queue.shift(); - if (!queued) { - if (sock.type === 1) { - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); - - if (!dest) { - // if we have a destination address but are not connected, error out - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - // return null if the socket has closed - return null; - } - else { - // else, our socket is in a valid state but truly has nothing available - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } else { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } - - // queued.data will be an ArrayBuffer if it's unadulterated, but if it's - // requeued TCP data it'll be an ArrayBufferView - var queuedLength = queued.data.byteLength || queued.data.length; - var queuedOffset = queued.data.byteOffset || 0; - var queuedBuffer = queued.data.buffer || queued.data; - var bytesRead = Math.min(length, queuedLength); - var res = { - buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead), - addr: queued.addr, - port: queued.port - }; - - - // push back any unread data for TCP connections - if (sock.type === 1 && bytesRead < queuedLength) { - var bytesRemaining = queuedLength - bytesRead; - queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining); - sock.recv_queue.unshift(queued); - } - - return res; - }}};function _send(fd, buf, len, flags) { - var sock = SOCKFS.getSocket(fd); - if (!sock) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - // TODO honor flags - return _write(fd, buf, len); - } - - function _pwrite(fildes, buf, nbyte, offset) { - // ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; } - try { - var slab = HEAP8; - return FS.write(stream, slab, buf, nbyte, offset); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _write(fildes, buf, nbyte) { - // ssize_t write(int fildes, const void *buf, size_t nbyte); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - - - try { - var slab = HEAP8; - return FS.write(stream, slab, buf, nbyte); - } catch (e) { - FS.handleFSError(e); - return -1; - } - } + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } - - function _chmod(path, mode, dontResolveLastLink) { - // int chmod(const char *path, mode_t mode); - // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chmod.html - // NOTE: dontResolveLastLink is a shortcut for lchmod(). It should never be - // used in client code. - path = typeof path !== 'string' ? Pointer_stringify(path) : path; - try { - FS.chmod(path, mode); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fchmod(fildes, mode) { - // int fchmod(int fildes, mode_t mode); - // http://pubs.opengroup.org/onlinepubs/7908799/xsh/fchmod.html - try { - FS.fchmod(fildes, mode); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - } + function ___syscall212(which, varargs) {SYSCALLS.varargs = varargs; + try { + // chown32 + var path = SYSCALLS.getStr(), owner = SYSCALLS.get(), group = SYSCALLS.get(); + FS.chown(path, owner, group); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } @@ -5044,7 +4798,7 @@ function copyTempDouble(ptr) { Browser.mainLoop.method = 'rAF'; } return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg) { + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { Module['noExitRuntime'] = true; assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); @@ -5116,10 +4870,12 @@ function copyTempDouble(ptr) { Browser.mainLoop.scheduler(); } - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - Browser.mainLoop.scheduler(); + Browser.mainLoop.scheduler(); + } if (simulateInfiniteLoop) { throw 'SimulateInfiniteLoop'; @@ -5133,8 +4889,9 @@ function copyTempDouble(ptr) { var timingValue = Browser.mainLoop.timingValue; var func = Browser.mainLoop.func; Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg); + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); },updateStatus:function () { if (Module['setStatus']) { var message = Module['statusMessage'] || 'Please wait...'; @@ -5388,11 +5145,13 @@ function copyTempDouble(ptr) { Browser.init(); } return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas) { + },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { Browser.lockPointer = lockPointer; Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; var canvas = Module['canvas']; function fullScreenChange() { @@ -5437,13 +5196,18 @@ function copyTempDouble(ptr) { var canvasContainer = document.createElement("div"); canvas.parentNode.insertBefore(canvasContainer, canvas); canvasContainer.appendChild(canvas); - + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || canvasContainer['mozRequestFullScreen'] || canvasContainer['msRequestFullscreen'] || (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - canvasContainer.requestFullScreen(); + + if (vrDevice) { + canvasContainer.requestFullScreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullScreen(); + } },nextRAF:0,fakeRequestAnimationFrame:function (func) { // try to keep 60fps between calls to here var now = Date.now(); @@ -5474,19 +5238,43 @@ function copyTempDouble(ptr) { return function() { if (!ABORT) return func.apply(null, arguments); }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } },safeRequestAnimationFrame:function (func) { return Browser.requestAnimationFrame(function() { - if (!ABORT) func(); + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } }); },safeSetTimeout:function (func, timeout) { Module['noExitRuntime'] = true; return setTimeout(function() { - if (!ABORT) func(); + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } }, timeout); },safeSetInterval:function (func, timeout) { Module['noExitRuntime'] = true; return setInterval(function() { - if (!ABORT) func(); + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in }, timeout); },getMimetype:function (name) { return { @@ -5584,8 +5372,10 @@ function copyTempDouble(ptr) { Browser.lastTouches[touch.identifier] = coords; Browser.touches[touch.identifier] = coords; } else if (event.type === 'touchend' || event.type === 'touchmove') { - Browser.lastTouches[touch.identifier] = Browser.touches[touch.identifier]; - Browser.touches[touch.identifier] = { x: adjustedX, y: adjustedY }; + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; } return; } @@ -5707,43 +5497,40 @@ function copyTempDouble(ptr) { return handle; }}; - function _rmdir(path) { - // int rmdir(const char *path); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/rmdir.html - path = Pointer_stringify(path); - try { - FS.rmdir(path); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - } - - function _munmap(start, num) { - if (!_mmap.mappings) _mmap.mappings = {}; - // TODO: support unmmap'ing parts of allocations - var info = _mmap.mappings[start]; - if (!info) return 0; - if (num == info.num) { - _mmap.mappings[start] = null; - if (info.allocated) { - _free(info.malloc); + function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; } + case 21506: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; + return 0; + } + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + default: abort('bad ioctl syscall ' + op); } - return 0; - } - - function _fstat(fildes, buf) { - // int fstat(int fildes, struct stat *buf); - // http://pubs.opengroup.org/onlinepubs/7908799/xsh/fstat.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - return _stat(stream.path, buf); - } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } var ___tm_current=allocate(44, "i8", ALLOC_STATIC); @@ -5813,139 +5600,51 @@ function copyTempDouble(ptr) { return _localtime_r(time, ___tm_current); } - function _fcntl(fildes, cmd, varargs, dup2) { - // int fcntl(int fildes, int cmd, ...); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/fcntl.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - switch (cmd) { - case 0: - var arg = HEAP32[((varargs)>>2)]; - if (arg < 0) { - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - var newStream; - try { - newStream = FS.open(stream.path, stream.flags, 0, arg); - } catch (e) { - FS.handleFSError(e); - return -1; - } - return newStream.fd; - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: - var arg = HEAP32[((varargs)>>2)]; - stream.flags |= arg; - return 0; - case 12: - case 12: - var arg = HEAP32[((varargs)>>2)]; - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - case 13: - case 14: - case 13: - case 14: - // Pretend that the locking is successful. - return 0; - case 8: - case 9: - // These are for sockets. We don't have them fully implemented yet. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - // Should never be reached. Only to silence strict warnings. - return -1; - } + + Module["_bitshift64Ashr"] = _bitshift64Ashr; Module["_bitshift64Lshr"] = _bitshift64Lshr; - - function _recv(fd, buf, len, flags) { - var sock = SOCKFS.getSocket(fd); - if (!sock) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - // TODO honor flags - return _read(fd, buf, len); - } - - function _pread(fildes, buf, nbyte, offset) { - // ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - var slab = HEAP8; - return FS.read(stream, slab, buf, nbyte, offset); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _read(fildes, buf, nbyte) { - // ssize_t read(int fildes, void *buf, size_t nbyte); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - - - try { - var slab = HEAP8; - return FS.read(stream, slab, buf, nbyte); - } catch (e) { - FS.handleFSError(e); - return -1; - } - } + function ___syscall33(which, varargs) {SYSCALLS.varargs = varargs; + try { + // access + var path = SYSCALLS.getStr(), amode = SYSCALLS.get(); + return SYSCALLS.doAccess(path, amode); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; + function _pthread_cleanup_push(routine, arg) { + __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) }) + _pthread_cleanup_push.level = __ATEXIT__.length; } - function _getcwd(buf, size) { - // char *getcwd(char *buf, size_t size); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/getcwd.html - if (size == 0) { - ___setErrNo(ERRNO_CODES.EINVAL); - return 0; - } - var cwd = FS.cwd(); - if (size < cwd.length + 1) { - ___setErrNo(ERRNO_CODES.ERANGE); - return 0; - } else { - writeAsciiToMemory(cwd, buf); - return buf; - } - } + function ___syscall15(which, varargs) {SYSCALLS.varargs = varargs; + try { + // chmod + var path = SYSCALLS.getStr(), mode = SYSCALLS.get(); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } - - var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function _getpid() { return PROCINFO.pid; } + function ___syscall10(which, varargs) {SYSCALLS.varargs = varargs; + try { + // unlink + var path = SYSCALLS.getStr(); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } @@ -5962,7 +5661,7 @@ function copyTempDouble(ptr) { if (!___buildEnvironment.called) { ___buildEnvironment.called = true; // Set default values. Use string keys for Closure Compiler compatibility. - ENV['USER'] = 'web_user'; + ENV['USER'] = ENV['LOGNAME'] = 'web_user'; ENV['PATH'] = '/'; ENV['PWD'] = '/'; ENV['HOME'] = '/home/web_user'; @@ -6021,53 +5720,68 @@ function copyTempDouble(ptr) { return 0; } - - function _chown(path, owner, group, dontResolveLastLink) { - // int chown(const char *path, uid_t owner, gid_t group); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/chown.html - // We don't support multiple users, so changing ownership makes no sense. - // NOTE: The path argument may be a string, to simplify fchown(). - // NOTE: dontResolveLastLink is a shortcut for lchown(). It should never be - // used in client code. - if (typeof path !== 'string') path = Pointer_stringify(path); - try { - FS.chown(path, owner, group); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fchown(fildes, owner, group) { - // int fchown(int fildes, uid_t owner, gid_t group); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fchown.html - try { - FS.fchown(fildes, owner, group); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - } + function ___syscall183(which, varargs) {SYSCALLS.varargs = varargs; + try { + // getcwd + var buf = SYSCALLS.get(), size = SYSCALLS.get(); + if (size === 0) return -ERRNO_CODES.EINVAL; + var cwd = FS.cwd(); + if (size < cwd.length + 1) return -ERRNO_CODES.ERANGE; + writeAsciiToMemory(cwd, buf); + return buf; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; + var _SItoD=true; - function _fsync(fildes) { - // int fsync(int fildes); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fsync.html - var stream = FS.getStream(fildes); - if (stream) { - // We write directly to the file system, so there's nothing to do here. - return 0; - } else { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - } + function ___syscall3(which, varargs) {SYSCALLS.varargs = varargs; + try { + // read + var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // open + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall4(which, varargs) {SYSCALLS.varargs = varargs; + try { + // write + var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); + return FS.write(stream, HEAP8, buf, count); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; + try { + // close + var stream = SYSCALLS.getStreamFromFD(); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } function _sbrk(bytes) { // Implement a Linux-like 'memory area' for our 'process'. @@ -6083,94 +5797,134 @@ function copyTempDouble(ptr) { Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; } var ret = DYNAMICTOP; - if (bytes != 0) self.alloc(bytes); + if (bytes != 0) { + var success = self.alloc(bytes); + if (!success) return -1 >>> 0; // sbrk failure code + } return ret; // Previous break location. } Module["_memmove"] = _memmove; - function ___errno_location() { - return ___errno_state; + function _pthread_cleanup_pop() { + assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!'); + __ATEXIT__.pop(); + _pthread_cleanup_push.level = __ATEXIT__.length; } - - function _strerror_r(errnum, strerrbuf, buflen) { - if (errnum in ERRNO_MESSAGES) { - if (ERRNO_MESSAGES[errnum].length > buflen - 1) { - return ___setErrNo(ERRNO_CODES.ERANGE); - } else { - var msg = ERRNO_MESSAGES[errnum]; - writeAsciiToMemory(msg, strerrbuf); - return 0; - } - } else { - return ___setErrNo(ERRNO_CODES.EINVAL); - } - }function _strerror(errnum) { - if (!_strerror.buffer) _strerror.buffer = _malloc(256); - _strerror_r(errnum, _strerror.buffer, 256); - return _strerror.buffer; + function ___syscall207(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fchown32 + var fd = SYSCALLS.get(), owner = SYSCALLS.get(), group = SYSCALLS.get(); + FS.fchown(fd, owner, group); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _abort() { + Module['abort'](); } - function _mmap(start, num, prot, flags, fd, offset) { - /* FIXME: Since mmap is normally implemented at the kernel level, - * this implementation simply uses malloc underneath the call to - * mmap. - */ - var MAP_PRIVATE = 2; - var ptr; - var allocated = false; - - if (!_mmap.mappings) _mmap.mappings = {}; - if (fd == -1) { - ptr = _malloc(num); - if (!ptr) return -1; - _memset(ptr, 0, num); - allocated = true; - } else { - var info = FS.getStream(fd); - if (!info) return -1; - try { - var res = FS.mmap(info, HEAPU8, start, num, offset, prot, flags); - ptr = res.ptr; - allocated = res.allocated; - } catch (e) { - FS.handleFSError(e); + function ___syscall202(which, varargs) {SYSCALLS.varargs = varargs; + try { + // getgid32 + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + }function ___syscall201() { + return ___syscall202.apply(null, arguments) + } + + function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fcntl64 + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + case 13: + case 14: + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + ___setErrNo(ERRNO_CODES.EINVAL); return -1; + default: { + return -ERRNO_CODES.EINVAL; } } - - _mmap.mappings[ptr] = { malloc: ptr, num: num, allocated: allocated }; - return ptr; - } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } - - function _truncate(path, length) { - // int truncate(const char *path, off_t length); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/truncate.html - // NOTE: The path argument may be a string, to simplify ftruncate(). - if (typeof path !== 'string') path = Pointer_stringify(path); - try { - FS.truncate(path, length); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _ftruncate(fildes, length) { - // int ftruncate(int fildes, off_t length); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/ftruncate.html - try { - FS.ftruncate(fildes, length); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; } + return ret; } + function _pthread_self() { + //FIXME: assumes only a single thread + return 0; + } + + function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + FS.llseek(stream, offset, whence); + HEAP32[((result)>>2)]=stream.position; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + function _utimes(path, times) { var time; if (times) { @@ -6190,17 +5944,39 @@ function copyTempDouble(ptr) { return -1; } } -FS.staticInit();__ATINIT__.unshift({ func: function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() } });__ATMAIN__.push({ func: function() { FS.ignorePermissions = false } });__ATEXIT__.push({ func: function() { FS.quit() } });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice; -___errno_state = Runtime.staticAlloc(4); HEAP32[((___errno_state)>>2)]=0; -__ATINIT__.unshift({ func: function() { TTY.init() } });__ATEXIT__.push({ func: function() { TTY.shutdown() } });TTY.utf8 = new Runtime.UTF8Processor(); -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); NODEFS.staticInit(); } -__ATINIT__.push({ func: function() { SOCKFS.root = FS.mount(SOCKFS, {}, null); } }); -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas) { Browser.requestFullScreen(lockPointer, resizeCanvas) }; + + function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall40(which, varargs) {SYSCALLS.varargs = varargs; + try { + // rmdir + var path = SYSCALLS.getStr(); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() }); +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); } +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) } ___buildEnvironment(ENV); STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); @@ -6212,7 +5988,6 @@ DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - var ctlz_i8 = allocate([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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", ALLOC_DYNAMIC); var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC); @@ -6333,8 +6108,8 @@ function invoke_viiii(index,a1,a2,a3,a4) { } } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array }; -Module.asmLibraryArg = { "abort": abort, "assert": assert, "min": Math_min, "invoke_iiii": invoke_iiii, "invoke_i": invoke_i, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_iiiiiii": invoke_iiiiiii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_iiiii": invoke_iiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_iii": invoke_iii, "invoke_iiiiii": invoke_iiiiii, "invoke_viiii": invoke_viiii, "_utimes": _utimes, "_getuid": _getuid, "_send": _send, "_getcwd": _getcwd, "_mknod": _mknod, "_lseek": _lseek, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_access": _access, "_fstat": _fstat, "_chmod": _chmod, "_rmdir": _rmdir, "_chown": _chown, "_fcntl": _fcntl, "___buildEnvironment": ___buildEnvironment, "_fflush": _fflush, "_pwrite": _pwrite, "_strerror_r": _strerror_r, "_localtime_r": _localtime_r, "_tzset": _tzset, "_open": _open, "_getpid": _getpid, "_sbrk": _sbrk, "_usleep": _usleep, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_unlink": _unlink, "_sysconf": _sysconf, "_fchmod": _fchmod, "___setErrNo": ___setErrNo, "_ftruncate": _ftruncate, "_mkdir": _mkdir, "_pread": _pread, "_mkport": _mkport, "_write": _write, "_fsync": _fsync, "___errno_location": ___errno_location, "_stat": _stat, "_recv": _recv, "_geteuid": _geteuid, "_getenv": _getenv, "_sleep": _sleep, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_abort": _abort, "_time": _time, "_fchown": _fchown, "_strerror": _strerror, "_gettimeofday": _gettimeofday, "_munmap": _munmap, "_mmap": _mmap, "_localtime": _localtime, "_close": _close, "_read": _read, "_truncate": _truncate, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8, "ctlz_i8": ctlz_i8, "NaN": NaN, "Infinity": Infinity }; +Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "invoke_iiii": invoke_iiii, "invoke_i": invoke_i, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_iiiiiii": invoke_iiiiiii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_iiiii": invoke_iiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_iii": invoke_iii, "invoke_iiiiii": invoke_iiiiii, "invoke_viiii": invoke_viiii, "_pthread_cleanup_pop": _pthread_cleanup_pop, "___syscall221": ___syscall221, "_utimes": _utimes, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall6": ___syscall6, "___syscall40": ___syscall40, "___syscall118": ___syscall118, "___setErrNo": ___setErrNo, "___syscall20": ___syscall20, "___syscall183": ___syscall183, "_usleep": _usleep, "___buildEnvironment": ___buildEnvironment, "___syscall39": ___syscall39, "_localtime_r": _localtime_r, "_tzset": _tzset, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_sbrk": _sbrk, "___syscall192": ___syscall192, "___syscall197": ___syscall197, "_emscripten_memcpy_big": _emscripten_memcpy_big, "___syscall194": ___syscall194, "___syscall212": ___syscall212, "_sysconf": _sysconf, "___syscall94": ___syscall94, "_nanosleep": _nanosleep, "___syscall195": ___syscall195, "___syscall91": ___syscall91, "_pthread_self": _pthread_self, "_getenv": _getenv, "___syscall33": ___syscall33, "___syscall54": ___syscall54, "___unlock": ___unlock, "___syscall140": ___syscall140, "___syscall15": ___syscall15, "_emscripten_set_main_loop": _emscripten_set_main_loop, "___syscall10": ___syscall10, "___syscall3": ___syscall3, "___lock": ___lock, "_abort": _abort, "___syscall5": ___syscall5, "___syscall4": ___syscall4, "_time": _time, "_gettimeofday": _gettimeofday, "___syscall201": ___syscall201, "___syscall207": ___syscall207, "_localtime": _localtime, "___syscall202": ___syscall202, "___syscall146": ___syscall146, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; @@ -6354,13 +6129,12 @@ var asm = (function(global, env, buffer) { var tempDoublePtr=env.tempDoublePtr|0; var ABORT=env.ABORT|0; var cttz_i8=env.cttz_i8|0; - var ctlz_i8=env.ctlz_i8|0; var __THREW__ = 0; var threwValue = 0; var setjmpId = 0; var undef = 0; - var nan = +env.NaN, inf = +env.Infinity; + var nan = global.NaN, inf = global.Infinity; var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; var tempRet0 = 0; @@ -6388,9 +6162,10 @@ var asm = (function(global, env, buffer) { var Math_log=global.Math.log; var Math_ceil=global.Math.ceil; var Math_imul=global.Math.imul; + var Math_min=global.Math.min; + var Math_clz32=global.Math.clz32; var abort=env.abort; var assert=env.assert; - var Math_min=env.min; var invoke_iiii=env.invoke_iiii; var invoke_i=env.invoke_i; var invoke_vi=env.invoke_vi; @@ -6404,58 +6179,54 @@ var asm = (function(global, env, buffer) { var invoke_iii=env.invoke_iii; var invoke_iiiiii=env.invoke_iiiiii; var invoke_viiii=env.invoke_viiii; + var _pthread_cleanup_pop=env._pthread_cleanup_pop; + var ___syscall221=env.___syscall221; var _utimes=env._utimes; - var _getuid=env._getuid; - var _send=env._send; - var _getcwd=env._getcwd; - var _mknod=env._mknod; - var _lseek=env._lseek; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _access=env._access; - var _fstat=env._fstat; - var _chmod=env._chmod; - var _rmdir=env._rmdir; - var _chown=env._chown; - var _fcntl=env._fcntl; + var _pthread_cleanup_push=env._pthread_cleanup_push; + var ___syscall6=env.___syscall6; + var ___syscall40=env.___syscall40; + var ___syscall118=env.___syscall118; + var ___setErrNo=env.___setErrNo; + var ___syscall20=env.___syscall20; + var ___syscall183=env.___syscall183; + var _usleep=env._usleep; var ___buildEnvironment=env.___buildEnvironment; - var _fflush=env._fflush; - var _pwrite=env._pwrite; - var _strerror_r=env._strerror_r; + var ___syscall39=env.___syscall39; var _localtime_r=env._localtime_r; var _tzset=env._tzset; - var _open=env._open; - var _getpid=env._getpid; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; var _sbrk=env._sbrk; - var _usleep=env._usleep; + var ___syscall192=env.___syscall192; + var ___syscall197=env.___syscall197; var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _unlink=env._unlink; + var ___syscall194=env.___syscall194; + var ___syscall212=env.___syscall212; var _sysconf=env._sysconf; - var _fchmod=env._fchmod; - var ___setErrNo=env.___setErrNo; - var _ftruncate=env._ftruncate; - var _mkdir=env._mkdir; - var _pread=env._pread; - var _mkport=env._mkport; - var _write=env._write; - var _fsync=env._fsync; - var ___errno_location=env.___errno_location; - var _stat=env._stat; - var _recv=env._recv; - var _geteuid=env._geteuid; + var ___syscall94=env.___syscall94; + var _nanosleep=env._nanosleep; + var ___syscall195=env.___syscall195; + var ___syscall91=env.___syscall91; + var _pthread_self=env._pthread_self; var _getenv=env._getenv; - var _sleep=env._sleep; + var ___syscall33=env.___syscall33; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var ___syscall140=env.___syscall140; + var ___syscall15=env.___syscall15; var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var ___syscall10=env.___syscall10; + var ___syscall3=env.___syscall3; + var ___lock=env.___lock; var _abort=env._abort; + var ___syscall5=env.___syscall5; + var ___syscall4=env.___syscall4; var _time=env._time; - var _fchown=env._fchown; - var _strerror=env._strerror; var _gettimeofday=env._gettimeofday; - var _munmap=env._munmap; - var _mmap=env._mmap; + var ___syscall201=env.___syscall201; + var ___syscall207=env.___syscall207; var _localtime=env._localtime; - var _close=env._close; - var _read=env._read; - var _truncate=env._truncate; + var ___syscall202=env.___syscall202; + var ___syscall146=env.___syscall146; var tempFloat = 0.0; // EMSCRIPTEN_START_FUNCS @@ -6464,7 +6235,7 @@ function stackAlloc(size) { var ret = 0; ret = STACKTOP; STACKTOP = (STACKTOP + size)|0; -STACKTOP = (STACKTOP + 15)&-16; + STACKTOP = (STACKTOP + 15)&-16; return ret|0; } @@ -6475,6 +6246,12 @@ function stackRestore(top) { top = top|0; STACKTOP = top; } +function establishStackSpace(stackBase, stackMax) { + stackBase = stackBase|0; + stackMax = stackMax|0; + STACKTOP = stackBase; + STACK_MAX = stackMax; +} function setThrew(threw, value) { threw = threw|0; @@ -6502,6 +6279,7 @@ function copyTempDouble(ptr) { HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; } + function setTempRet0(value) { value = value|0; tempRet0 = value; @@ -6522,11 +6300,11 @@ function _sqlite3_compileoption_used($zOptName) { $n = sp; HEAP32[$1>>2] = $zOptName; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_strnicmp($2,16,7)|0); + $3 = (_sqlite3_strnicmp($2,13840,7)|0); $4 = ($3|0)==(0); if ($4) { $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 7|0); + $6 = ((($5)) + 7|0); HEAP32[$1>>2] = $6; } $7 = HEAP32[$1>>2]|0; @@ -6535,14 +6313,14 @@ function _sqlite3_compileoption_used($zOptName) { HEAP32[$i>>2] = 0; while(1) { $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)<(5); + $10 = ($9|0)<(6); if (!($10)) { label = 9; break; } $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$i>>2]|0; - $13 = (24 + ($12<<2)|0); + $13 = (364 + ($12<<2)|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$n>>2]|0; $16 = (_sqlite3_strnicmp($11,$14,$15)|0); @@ -6550,7 +6328,7 @@ function _sqlite3_compileoption_used($zOptName) { if ($17) { $18 = HEAP32[$n>>2]|0; $19 = HEAP32[$i>>2]|0; - $20 = (24 + ($19<<2)|0); + $20 = (364 + ($19<<2)|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + ($18)|0); $23 = HEAP8[$22>>0]|0; @@ -6575,7 +6353,7 @@ function _sqlite3_compileoption_used($zOptName) { $28 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($28|0); } - return 0|0; + return (0)|0; } function _sqlite3_strnicmp($zLeft,$zRight,$N) { $zLeft = $zLeft|0; @@ -6616,13 +6394,13 @@ function _sqlite3_strnicmp($zLeft,$zRight,$N) { $12 = HEAP32[$a>>2]|0; $13 = HEAP8[$12>>0]|0; $14 = $13&255; - $15 = (440 + ($14)|0); + $15 = (13848 + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = HEAP32[$b>>2]|0; $19 = HEAP8[$18>>0]|0; $20 = $19&255; - $21 = (440 + ($20)|0); + $21 = (13848 + ($20)|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = ($17|0)==($23|0); @@ -6630,10 +6408,10 @@ function _sqlite3_strnicmp($zLeft,$zRight,$N) { break; } $25 = HEAP32[$a>>2]|0; - $26 = (($25) + 1|0); + $26 = ((($25)) + 1|0); HEAP32[$a>>2] = $26; $27 = HEAP32[$b>>2]|0; - $28 = (($27) + 1|0); + $28 = ((($27)) + 1|0); HEAP32[$b>>2] = $28; } $29 = HEAP32[$2>>2]|0; @@ -6645,74 +6423,19 @@ function _sqlite3_strnicmp($zLeft,$zRight,$N) { $31 = HEAP32[$a>>2]|0; $32 = HEAP8[$31>>0]|0; $33 = $32&255; - $34 = (440 + ($33)|0); + $34 = (13848 + ($33)|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = HEAP32[$b>>2]|0; $38 = HEAP8[$37>>0]|0; $39 = $38&255; - $40 = (440 + ($39)|0); + $40 = (13848 + ($39)|0); $41 = HEAP8[$40>>0]|0; $42 = $41&255; $43 = (($36) - ($42))|0; $44 = $43; STACKTOP = sp;return ($44|0); } -function _sqlite3Strlen30($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $z2 = sp; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - HEAP32[$z2>>2] = $2; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); - } - while(1) { - $5 = HEAP32[$z2>>2]|0; - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - $8 = HEAP32[$z2>>2]|0; - if (!($7)) { - break; - } - $9 = (($8) + 1|0); - HEAP32[$z2>>2] = $9; - } - $10 = HEAP32[$1>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - $14 = 1073741823 & $13; - HEAP32[$0>>2] = $14; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); -} -function _sqlite3IsIdChar($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP8[$0>>0] = $c; - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = (1224 + ($2)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 & 70; - $7 = ($6|0)!=(0); - $8 = $7&1; - STACKTOP = sp;return ($8|0); -} function _sqlite3_compileoption_get($N) { $N = $N|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; @@ -6724,11 +6447,11 @@ function _sqlite3_compileoption_get($N) { $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>=(0); $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(5); + $5 = ($4|0)<(6); $or$cond = $3 & $5; if ($or$cond) { $6 = HEAP32[$1>>2]|0; - $7 = (24 + ($6<<2)|0); + $7 = (364 + ($6<<2)|0); $8 = HEAP32[$7>>2]|0; HEAP32[$0>>2] = $8; $9 = HEAP32[$0>>2]|0; @@ -6738,7 +6461,7 @@ function _sqlite3_compileoption_get($N) { $9 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($9|0); } - return 0|0; + return (0)|0; } function _sqlite3_status($op,$pCurrent,$pHighwater,$resetFlag) { $op = $op|0; @@ -6770,12 +6493,12 @@ function _sqlite3_status($op,$pCurrent,$pHighwater,$resetFlag) { STACKTOP = sp;return ($25|0); } $10 = HEAP32[$1>>2]|0; - $11 = (48 + ($10<<2)|0); + $11 = (388 + ($10<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$2>>2]|0; HEAP32[$13>>2] = $12; $14 = HEAP32[$1>>2]|0; - $15 = (((48 + 40|0)) + ($14<<2)|0); + $15 = ((428) + ($14<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$3>>2]|0; HEAP32[$17>>2] = $16; @@ -6783,439 +6506,16 @@ function _sqlite3_status($op,$pCurrent,$pHighwater,$resetFlag) { $19 = ($18|0)!=(0); if ($19) { $20 = HEAP32[$1>>2]|0; - $21 = (48 + ($20<<2)|0); + $21 = (388 + ($20<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$1>>2]|0; - $24 = (((48 + 40|0)) + ($23<<2)|0); + $24 = ((428) + ($23<<2)|0); HEAP32[$24>>2] = $22; } HEAP32[$0>>2] = 0; $25 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($25|0); } -function _sqlite3MisuseError($lineno) { - $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - HEAP32[$0>>2] = $lineno; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_sourceid()|0); - $3 = (($2) + 20|0); - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $3; - _sqlite3_log(21,3216,$vararg_buffer); - STACKTOP = sp;return 21; -} -function _sqlite3BtreeEnterAll($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$i>>2] = 0; - while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1|0)<($4|0); - if (!($5)) { - break; - } - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - $11 = (($10) + 4|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 4|0); - HEAP32[$20>>2] = $16; - } - $21 = HEAP32[$i>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$i>>2] = $22; - } - STACKTOP = sp;return; -} -function _sqlite3BtreePager($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - STACKTOP = sp;return ($4|0); -} -function _sqlite3MallocSize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[((38640 + 48|0))>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = (FUNCTION_TABLE_ii[$1 & 31]($2)|0); - STACKTOP = sp;return ($3|0); -} -function _sqlite3DeleteTrigger($db,$pTrigger) { - $db = $db|0; - $pTrigger = $pTrigger|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTrigger; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 28|0); - $7 = HEAP32[$6>>2]|0; - _sqlite3DeleteTriggerStep($4,$7); - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$9>>2]|0; - _sqlite3DbFree($8,$10); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3DbFree($11,$14); - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3ExprDelete($15,$18); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 16|0); - $22 = HEAP32[$21>>2]|0; - _sqlite3IdListDelete($19,$22); - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$1>>2]|0; - _sqlite3DbFree($23,$24); - STACKTOP = sp;return; -} -function _sqlite3DeleteTable($db,$pTable) { - $db = $db|0; - $pTable = $pTable|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pIndex = 0, $pNext = 0, $zName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pIndex = sp + 8|0; - $pNext = sp + 4|0; - $zName = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTable; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 520|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - label = 4; - } - } else { - label = 4; - } - if ((label|0) == 4) { - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 40|0); - $12 = HEAP16[$11>>1]|0; - $13 = (($12) + -1)<<16>>16; - HEAP16[$11>>1] = $13; - $14 = $13&65535; - $15 = ($14|0)>(0); - if ($15) { - STACKTOP = sp;return; - } - } - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 8|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$pIndex>>2] = $18; - while(1) { - $19 = HEAP32[$pIndex>>2]|0; - $20 = ($19|0)!=(0|0); - if (!($20)) { - break; - } - $21 = HEAP32[$pIndex>>2]|0; - $22 = (($21) + 20|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$pNext>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = ($24|0)!=(0|0); - if ($25) { - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 520|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==(0|0); - if ($29) { - label = 9; - } - } else { - label = 9; - } - if ((label|0) == 9) { - label = 0; - $30 = HEAP32[$pIndex>>2]|0; - $31 = HEAP32[$30>>2]|0; - HEAP32[$zName>>2] = $31; - $32 = HEAP32[$pIndex>>2]|0; - $33 = (($32) + 24|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + 24|0); - $36 = HEAP32[$zName>>2]|0; - (_sqlite3HashInsert($35,$36,0)|0); - } - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$pIndex>>2]|0; - _freeIndex($37,$38); - $39 = HEAP32[$pNext>>2]|0; - HEAP32[$pIndex>>2] = $39; - } - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$1>>2]|0; - _sqlite3FkDelete($40,$41); - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$1>>2]|0; - _sqliteDeleteColumnNames($42,$43); - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$45>>2]|0; - _sqlite3DbFree($44,$46); - $47 = HEAP32[$0>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 20|0); - $50 = HEAP32[$49>>2]|0; - _sqlite3DbFree($47,$50); - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 12|0); - $54 = HEAP32[$53>>2]|0; - _sqlite3SelectDelete($51,$54); - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 24|0); - $58 = HEAP32[$57>>2]|0; - _sqlite3ExprListDelete($55,$58); - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - _sqlite3VtabClear($59,$60); - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$1>>2]|0; - _sqlite3DbFree($61,$62); - STACKTOP = sp;return; -} -function _sqlite3VdbeClearObject($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pNext = 0, $pSub = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pSub = sp + 8|0; - $pNext = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 68|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - _releaseMemArray($4,$8); - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 84|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15<<1; - _releaseMemArray($11,$16); - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 192|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pSub>>2] = $19; - while(1) { - $20 = HEAP32[$pSub>>2]|0; - $21 = ($20|0)!=(0|0); - if (!($21)) { - break; - } - $22 = HEAP32[$pSub>>2]|0; - $23 = (($22) + 24|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$pNext>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$pSub>>2]|0; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$pSub>>2]|0; - $29 = (($28) + 4|0); - $30 = HEAP32[$29>>2]|0; - _vdbeFreeOpArray($25,$27,$30); - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$pSub>>2]|0; - _sqlite3DbFree($31,$32); - $33 = HEAP32[$pNext>>2]|0; - HEAP32[$pSub>>2] = $33; - } - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 70|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36 << 16 >> 16; - $38 = (($37) - 1)|0; - HEAP32[$i>>2] = $38; - while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = ($39|0)>=(0); - $41 = HEAP32[$0>>2]|0; - if (!($40)) { - break; - } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 64|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + ($42<<2)|0); - $47 = HEAP32[$46>>2]|0; - _sqlite3DbFree($41,$47); - $48 = HEAP32[$i>>2]|0; - $49 = (($48) + -1)|0; - HEAP32[$i>>2] = $49; - } - $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 32|0); - $55 = HEAP32[$54>>2]|0; - _vdbeFreeOpArray($41,$52,$55); - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 16|0); - $59 = HEAP32[$58>>2]|0; - _sqlite3DbFree($56,$59); - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 168|0); - $63 = HEAP32[$62>>2]|0; - _sqlite3DbFree($60,$63); - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 172|0); - $67 = HEAP32[$66>>2]|0; - _sqlite3DbFree($64,$67); - STACKTOP = sp;return; -} -function _sqlite3DbFree($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBuf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pBuf = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 520|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - if ($9) { - _measureAllocationSize($10,$11); - STACKTOP = sp;return; - } - $12 = (_isLookaside($10,$11)|0); - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - HEAP32[$pBuf>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 248|0); - $17 = (($16) + 24|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$pBuf>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$pBuf>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 248|0); - $23 = (($22) + 24|0); - HEAP32[$23>>2] = $20; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 248|0); - $26 = (($25) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + -1)|0; - HEAP32[$26>>2] = $28; - STACKTOP = sp;return; - } - } - $29 = HEAP32[$1>>2]|0; - _sqlite3_free($29); - STACKTOP = sp;return; -} function _sqlite3_vfs_find($zVfs) { $zVfs = $zVfs|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; @@ -7237,7 +6537,7 @@ function _sqlite3_vfs_find($zVfs) { $20 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($20|0); } - $5 = HEAP32[128>>2]|0; + $5 = HEAP32[468>>2]|0; HEAP32[$pVfs>>2] = $5; while(1) { $6 = HEAP32[$pVfs>>2]|0; @@ -7250,7 +6550,7 @@ function _sqlite3_vfs_find($zVfs) { } $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$pVfs>>2]|0; - $12 = (($11) + 16|0); + $12 = ((($11)) + 16|0); $13 = HEAP32[$12>>2]|0; $14 = (_strcmp($10,$13)|0); $15 = ($14|0)==(0); @@ -7258,7 +6558,7 @@ function _sqlite3_vfs_find($zVfs) { break; } $16 = HEAP32[$pVfs>>2]|0; - $17 = (($16) + 12|0); + $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; HEAP32[$pVfs>>2] = $18; } @@ -7270,13 +6570,13 @@ function _sqlite3_vfs_find($zVfs) { function _sqlite3_initialize() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pHash = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $pHash = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $rc = sp + 4|0; $pHash = sp; - $1 = HEAP32[((38640 + 224|0))>>2]|0; + $1 = HEAP32[(232)>>2]|0; $2 = ($1|0)!=(0); if ($2) { HEAP32[$0>>2] = 0; @@ -7292,8 +6592,8 @@ function _sqlite3_initialize() { $45 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($45|0); } - HEAP32[((38640 + 232|0))>>2] = 1; - $6 = HEAP32[((38640 + 236|0))>>2]|0; + HEAP32[(240)>>2] = 1; + $6 = HEAP32[(244)>>2]|0; $7 = ($6|0)!=(0); if (!($7)) { $8 = (_sqlite3MallocInit()|0); @@ -7302,28 +6602,27 @@ function _sqlite3_initialize() { $9 = HEAP32[$rc>>2]|0; $10 = ($9|0)==(0); if ($10) { - HEAP32[((38640 + 236|0))>>2] = 1; - $11 = HEAP32[((38640 + 248|0))>>2]|0; + HEAP32[(244)>>2] = 1; + $11 = HEAP32[(256)>>2]|0; $12 = ($11|0)!=(0|0); if (!($12)) { - HEAP32[((38640 + 248|0))>>2] = (8); - $13 = HEAP32[((38640 + 4|0))>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[((38640 + 248|0))>>2]|0; - $16 = ($15|0)!=(0|0); - if (!($16)) { - HEAP32[$rc>>2] = 7; - } + HEAP32[(256)>>2] = (8); + $13 = HEAP32[(12)>>2]|0; + $14 = ($13|0)==(0); + $15 = HEAP32[(256)>>2]|0; + $16 = ($15|0)!=(0|0); + $or$cond = $14 | $16; + if (!($or$cond)) { + HEAP32[$rc>>2] = 7; } } } $17 = HEAP32[$rc>>2]|0; $18 = ($17|0)==(0); if ($18) { - $19 = HEAP32[((38640 + 244|0))>>2]|0; + $19 = HEAP32[(252)>>2]|0; $20 = (($19) + 1)|0; - HEAP32[((38640 + 244|0))>>2] = $20; + HEAP32[(252)>>2] = $20; } $21 = HEAP32[$rc>>2]|0; $22 = ($21|0)!=(0); @@ -7333,49 +6632,48 @@ function _sqlite3_initialize() { $45 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($45|0); } - $24 = HEAP32[((38640 + 224|0))>>2]|0; + $24 = HEAP32[(232)>>2]|0; $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[((38640 + 228|0))>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - HEAP32[$pHash>>2] = 1576; - HEAP32[((38640 + 228|0))>>2] = 1; - $28 = HEAP32[$pHash>>2]|0; - dest=$28+0|0; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _sqlite3RegisterGlobalFunctions(); - $29 = HEAP32[((38640 + 240|0))>>2]|0; - $30 = ($29|0)==(0); - if ($30) { - $31 = (_sqlite3PcacheInitialize()|0); - HEAP32[$rc>>2] = $31; - } - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - if ($33) { - HEAP32[((38640 + 240|0))>>2] = 1; - $34 = (_sqlite3OsInit()|0); - HEAP32[$rc>>2] = $34; - } - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[((38640 + 204|0))>>2]|0; - $38 = HEAP32[((38640 + 208|0))>>2]|0; - $39 = HEAP32[((38640 + 212|0))>>2]|0; - _sqlite3PCacheBufferSetup($37,$38,$39); - HEAP32[((38640 + 224|0))>>2] = 1; - } - HEAP32[((38640 + 228|0))>>2] = 0; + $26 = HEAP32[(236)>>2]|0; + $27 = ($26|0)==(0); + $or$cond3 = $25 & $27; + if ($or$cond3) { + HEAP32[$pHash>>2] = 472; + HEAP32[(236)>>2] = 1; + $28 = HEAP32[$pHash>>2]|0; + dest=$28; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _sqlite3RegisterGlobalFunctions(); + $29 = HEAP32[(248)>>2]|0; + $30 = ($29|0)==(0); + if ($30) { + $31 = (_sqlite3PcacheInitialize()|0); + HEAP32[$rc>>2] = $31; + } + $32 = HEAP32[$rc>>2]|0; + $33 = ($32|0)==(0); + if ($33) { + HEAP32[(248)>>2] = 1; + $34 = (_sqlite3OsInit()|0); + HEAP32[$rc>>2] = $34; + } + $35 = HEAP32[$rc>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[(212)>>2]|0; + $38 = HEAP32[(216)>>2]|0; + $39 = HEAP32[(220)>>2]|0; + _sqlite3PCacheBufferSetup($37,$38,$39); + HEAP32[(232)>>2] = 1; } + HEAP32[(236)>>2] = 0; } - $40 = HEAP32[((38640 + 244|0))>>2]|0; + $40 = HEAP32[(252)>>2]|0; $41 = (($40) + -1)|0; - HEAP32[((38640 + 244|0))>>2] = $41; - $42 = HEAP32[((38640 + 244|0))>>2]|0; + HEAP32[(252)>>2] = $41; + $42 = HEAP32[(252)>>2]|0; $43 = ($42|0)<=(0); if ($43) { - HEAP32[((38640 + 248|0))>>2] = 0; + HEAP32[(256)>>2] = 0; } $44 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $44; @@ -7409,98 +6707,31 @@ function _sqlite3_vfs_register($pVfs,$makeDflt) { _vfsUnlink($7); $8 = HEAP32[$2>>2]|0; $9 = ($8|0)!=(0); - $10 = HEAP32[128>>2]|0; + $10 = HEAP32[468>>2]|0; $11 = ($10|0)==(0|0); $or$cond = $9 | $11; - $12 = HEAP32[128>>2]|0; + $12 = HEAP32[468>>2]|0; if ($or$cond) { $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$1>>2]|0; - HEAP32[128>>2] = $15; + HEAP32[468>>2] = $15; } else { - $16 = (($12) + 12|0); + $16 = ((($12)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); HEAP32[$19>>2] = $17; $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[128>>2]|0; - $22 = (($21) + 12|0); + $21 = HEAP32[468>>2]|0; + $22 = ((($21)) + 12|0); HEAP32[$22>>2] = $20; } HEAP32[$0>>2] = 0; $23 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($23|0); } -function _vfsUnlink($pVfs) { - $pVfs = $pVfs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pVfs; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - STACKTOP = sp;return; - } - $3 = HEAP32[128>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ($3|0)==($4|0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[128>>2] = $8; - STACKTOP = sp;return; - } - $9 = HEAP32[128>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[128>>2]|0; - HEAP32[$p>>2] = $11; - while(1) { - $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$p>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = ($18|0)!=($19|0); - $31 = $20; - } else { - $31 = 0; - } - $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 12|0); - $23 = HEAP32[$22>>2]|0; - if (!($31)) { - break; - } - HEAP32[$p>>2] = $23; - } - $24 = HEAP32[$0>>2]|0; - $25 = ($23|0)==($24|0); - if (!($25)) { - STACKTOP = sp;return; - } - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$p>>2]|0; - $30 = (($29) + 12|0); - HEAP32[$30>>2] = $28; - STACKTOP = sp;return; -} function _sqlite3_release_memory($n) { $n = $n|0; var $0 = 0, label = 0, sp = 0; @@ -7510,82 +6741,6 @@ function _sqlite3_release_memory($n) { HEAP32[$0>>2] = $n; STACKTOP = sp;return 0; } -function _sqlite3MemoryAlarm($xCallback,$pArg,$0,$1) { - $xCallback = $xCallback|0; - $pArg = $pArg|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nUsed = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $nUsed = sp + 8|0; - HEAP32[$2>>2] = $xCallback; - HEAP32[$3>>2] = $pArg; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$2>>2]|0; - HEAP32[((136 + 16|0))>>2] = $9; - $10 = HEAP32[$3>>2]|0; - HEAP32[((136 + 20|0))>>2] = $10; - $11 = $4; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = ((136 + 8|0)); - $18 = $17; - HEAP32[$18>>2] = $13; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - $21 = (_sqlite3StatusValue(0)|0); - HEAP32[$nUsed>>2] = $21; - $22 = $4; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)>(0); - $29 = ($24>>>0)>(0); - $30 = ($27|0)==(0); - $31 = $30 & $29; - $32 = $28 | $31; - if (!($32)) { - $48 = 0; - $47 = $48&1; - HEAP32[((136 + 36|0))>>2] = $47; - STACKTOP = sp;return 0; - } - $33 = $4; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$nUsed>>2]|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = ($38|0)<($41|0); - $43 = ($35>>>0)<=($39>>>0); - $44 = ($38|0)==($41|0); - $45 = $44 & $43; - $46 = $42 | $45; - $48 = $46; - $47 = $48&1; - HEAP32[((136 + 36|0))>>2] = $47; - STACKTOP = sp;return 0; -} function _sqlite3_soft_heap_limit64($0,$1) { $0 = $0|0; $1 = $1|0; @@ -7625,10 +6780,10 @@ function _sqlite3_soft_heap_limit64($0,$1) { $104 = (($101) + 4)|0; $105 = $104; $106 = HEAP32[$105>>2]|0; - tempRet0 = $106; + tempRet0 = ($106); STACKTOP = sp;return ($103|0); } - $15 = ((136 + 8|0)); + $15 = (288); $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = (($15) + 4)|0; @@ -7666,7 +6821,7 @@ function _sqlite3_soft_heap_limit64($0,$1) { $104 = (($101) + 4)|0; $105 = $104; $106 = HEAP32[$105>>2]|0; - tempRet0 = $106; + tempRet0 = ($106); STACKTOP = sp;return ($103|0); } $42 = $3; @@ -7746,32 +6901,9 @@ function _sqlite3_soft_heap_limit64($0,$1) { $104 = (($101) + 4)|0; $105 = $104; $106 = HEAP32[$105>>2]|0; - tempRet0 = $106; + tempRet0 = ($106); STACKTOP = sp;return ($103|0); } -function _softHeapLimitEnforcer($NotUsed,$0,$1,$allocSize) { - $NotUsed = $NotUsed|0; - $0 = $0|0; - $1 = $1|0; - $allocSize = $allocSize|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $4 = sp + 8|0; - HEAP32[$2>>2] = $NotUsed; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $allocSize; - $9 = HEAP32[$4>>2]|0; - (_sqlite3_release_memory($9)|0); - STACKTOP = sp;return; -} function _sqlite3_memory_used() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mx = 0, $n = 0, $res = 0, label = 0, sp = 0; sp = STACKTOP; @@ -7795,7 +6927,7 @@ function _sqlite3_memory_used() { $10 = (($7) + 4)|0; $11 = $10; $12 = HEAP32[$11>>2]|0; - tempRet0 = $12; + tempRet0 = ($12); STACKTOP = sp;return ($9|0); } function _sqlite3_malloc($n) { @@ -7828,75 +6960,6 @@ function _sqlite3_malloc($n) { $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); } -function _sqlite3Malloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp; - $p = sp + 8|0; - $3 = $2; - $4 = $3; - HEAP32[$4>>2] = $0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = $1; - $7 = $2; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($9|0)==(0); - $14 = ($12|0)==(0); - $15 = $13 & $14; - $16 = $2; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = ($21>>>0)>(0); - $23 = ($18>>>0)>=(2147483392); - $24 = ($21|0)==(0); - $25 = $24 & $23; - $26 = $22 | $25; - $or$cond = $15 | $26; - if ($or$cond) { - HEAP32[$p>>2] = 0; - $43 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($43|0); - } - $27 = HEAP32[38640>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $29 = $2; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - (_mallocWithAlarm($31,$p)|0); - $43 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($43|0); - } else { - $35 = HEAP32[((38640 + 36|0))>>2]|0; - $36 = $2; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (FUNCTION_TABLE_ii[$35 & 31]($38)|0); - HEAP32[$p>>2] = $42; - $43 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($43|0); - } - return 0|0; -} function _sqlite3_free($p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; @@ -7909,7 +6972,7 @@ function _sqlite3_free($p) { if ($2) { STACKTOP = sp;return; } - $3 = HEAP32[38640>>2]|0; + $3 = HEAP32[8>>2]|0; $4 = ($3|0)!=(0); if ($4) { $5 = HEAP32[$0>>2]|0; @@ -7917,52 +6980,17 @@ function _sqlite3_free($p) { $7 = (0 - ($6))|0; _sqlite3StatusAdd(0,$7); _sqlite3StatusAdd(9,-1); - $8 = HEAP32[((38640 + 40|0))>>2]|0; + $8 = HEAP32[(48)>>2]|0; $9 = HEAP32[$0>>2]|0; FUNCTION_TABLE_vi[$8 & 31]($9); STACKTOP = sp;return; } else { - $10 = HEAP32[((38640 + 40|0))>>2]|0; + $10 = HEAP32[(48)>>2]|0; $11 = HEAP32[$0>>2]|0; FUNCTION_TABLE_vi[$10 & 31]($11); STACKTOP = sp;return; } } -function _sqlite3StatusAdd($op,$N) { - $op = $op|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $op; - HEAP32[$1>>2] = $N; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (48 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($2))|0; - HEAP32[$4>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (48 + ($7<<2)|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (((48 + 40|0)) + ($10<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($9|0)>($12|0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = HEAP32[$0>>2]|0; - $15 = (48 + ($14<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = (((48 + 40|0)) + ($17<<2)|0); - HEAP32[$18>>2] = $16; - STACKTOP = sp;return; -} function _sqlite3_realloc($pOld,$n) { $pOld = $pOld|0; $n = $n|0; @@ -7995,178 +7023,6 @@ function _sqlite3_realloc($pOld,$n) { $12 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($12|0); } -function _sqlite3Realloc($pOld,$0,$1) { - $pOld = $pOld|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nDiff = 0, $nNew = 0, $nOld = 0, $or$cond = 0, $pNew = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp; - $nOld = sp + 20|0; - $nNew = sp + 16|0; - $nDiff = sp + 12|0; - $pNew = sp + 8|0; - HEAP32[$3>>2] = $pOld; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)==(0|0); - $11 = $4; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - if ($10) { - $17 = (_sqlite3Malloc($13,$16)|0); - HEAP32[$2>>2] = $17; - $108 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($108|0); - } - $18 = ($13|0)==(0); - $19 = ($16|0)==(0); - $20 = $18 & $19; - if ($20) { - $21 = HEAP32[$3>>2]|0; - _sqlite3_free($21); - HEAP32[$2>>2] = 0; - $108 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($108|0); - } - $22 = $4; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = ($27>>>0)>(0); - $29 = ($24>>>0)>=(2147483392); - $30 = ($27|0)==(0); - $31 = $30 & $29; - $32 = $28 | $31; - if ($32) { - HEAP32[$2>>2] = 0; - $108 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($108|0); - } - $33 = HEAP32[$3>>2]|0; - $34 = (_sqlite3MallocSize($33)|0); - HEAP32[$nOld>>2] = $34; - $35 = HEAP32[((38640 + 52|0))>>2]|0; - $36 = $4; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (FUNCTION_TABLE_ii[$35 & 31]($38)|0); - HEAP32[$nNew>>2] = $42; - $43 = HEAP32[$nOld>>2]|0; - $44 = HEAP32[$nNew>>2]|0; - $45 = ($43|0)==($44|0); - do { - if ($45) { - $46 = HEAP32[$3>>2]|0; - HEAP32[$pNew>>2] = $46; - } else { - $47 = HEAP32[38640>>2]|0; - $48 = ($47|0)!=(0); - if (!($48)) { - $103 = HEAP32[((38640 + 44|0))>>2]|0; - $104 = HEAP32[$3>>2]|0; - $105 = HEAP32[$nNew>>2]|0; - $106 = (FUNCTION_TABLE_iii[$103 & 63]($104,$105)|0); - HEAP32[$pNew>>2] = $106; - break; - } - $49 = $4; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - _sqlite3StatusSet(5,$51); - $55 = HEAP32[$nNew>>2]|0; - $56 = HEAP32[$nOld>>2]|0; - $57 = (($55) - ($56))|0; - HEAP32[$nDiff>>2] = $57; - $58 = (_sqlite3StatusValue(0)|0); - $59 = ($58|0)<(0); - $60 = $59 << 31 >> 31; - $61 = ((136 + 8|0)); - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$nDiff>>2]|0; - $68 = ($67|0)<(0); - $69 = $68 << 31 >> 31; - $70 = (_i64Subtract(($63|0),($66|0),($67|0),($69|0))|0); - $71 = tempRet0; - $72 = ($60|0)>($71|0); - $73 = ($58>>>0)>=($70>>>0); - $74 = ($60|0)==($71|0); - $75 = $74 & $73; - $76 = $72 | $75; - if ($76) { - $77 = HEAP32[$nDiff>>2]|0; - _sqlite3MallocAlarm($77); - } - $78 = HEAP32[((38640 + 44|0))>>2]|0; - $79 = HEAP32[$3>>2]|0; - $80 = HEAP32[$nNew>>2]|0; - $81 = (FUNCTION_TABLE_iii[$78 & 63]($79,$80)|0); - HEAP32[$pNew>>2] = $81; - $82 = HEAP32[$pNew>>2]|0; - $83 = ($82|0)==(0|0); - $84 = HEAP32[((136 + 16|0))>>2]|0; - $85 = ($84|0)!=(0|0); - $or$cond = $83 & $85; - if ($or$cond) { - $86 = $4; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - _sqlite3MallocAlarm($88); - $92 = HEAP32[((38640 + 44|0))>>2]|0; - $93 = HEAP32[$3>>2]|0; - $94 = HEAP32[$nNew>>2]|0; - $95 = (FUNCTION_TABLE_iii[$92 & 63]($93,$94)|0); - HEAP32[$pNew>>2] = $95; - } - $96 = HEAP32[$pNew>>2]|0; - $97 = ($96|0)!=(0|0); - if ($97) { - $98 = HEAP32[$pNew>>2]|0; - $99 = (_sqlite3MallocSize($98)|0); - HEAP32[$nNew>>2] = $99; - $100 = HEAP32[$nNew>>2]|0; - $101 = HEAP32[$nOld>>2]|0; - $102 = (($100) - ($101))|0; - _sqlite3StatusAdd(0,$102); - } - } - } while(0); - $107 = HEAP32[$pNew>>2]|0; - HEAP32[$2>>2] = $107; - $108 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($108|0); -} function _sqlite3_realloc64($pOld,$0,$1) { $pOld = $pOld|0; $0 = $0|0; @@ -8203,7 +7059,7 @@ function _sqlite3_realloc64($pOld,$0,$1) { $19 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($19|0); } - return 0|0; + return (0)|0; } function _sqlite3_vmprintf($zFormat,$ap) { $zFormat = $zFormat|0; @@ -8227,7 +7083,7 @@ function _sqlite3_vmprintf($zFormat,$ap) { STACKTOP = sp;return ($10|0); } else { _sqlite3StrAccumInit($acc,$zBase,70,1000000000); - $5 = (($acc) + 24|0); + $5 = ((($acc)) + 24|0); HEAP8[$5>>0] = 2; $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$2>>2]|0; @@ -8239,2174 +7095,43 @@ function _sqlite3_vmprintf($zFormat,$ap) { $10 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($10|0); } - return 0|0; + return (0)|0; } -function _sqlite3StrAccumInit($p,$zBase,$n,$mx) { - $p = $p|0; - $zBase = $zBase|0; - $n = $n|0; - $mx = $mx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3_mprintf($zFormat,$varargs) { + $zFormat = $zFormat|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $ap = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zBase; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $mx; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); - HEAP32[$6>>2] = $4; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 8|0); - HEAP32[$8>>2] = $4; - $9 = HEAP32[$0>>2]|0; - HEAP32[$9>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 12|0); - HEAP32[$11>>2] = 0; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 16|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 20|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 24|0); - HEAP8[$19>>0] = 1; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 25|0); - HEAP8[$21>>0] = 0; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $ap = sp + 8|0; + $z = sp; + HEAP32[$1>>2] = $zFormat; + $2 = (_sqlite3_initialize()|0); + $3 = ($2|0)!=(0); + if ($3) { + HEAP32[$0>>2] = 0; + $7 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($7|0); + } else { + HEAP32[$ap>>2] = $varargs; + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3_vmprintf($4,$ap)|0); + HEAP32[$z>>2] = $5; + $6 = HEAP32[$z>>2]|0; + HEAP32[$0>>2] = $6; + $7 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($7|0); + } + return (0)|0; } -function _sqlite3VXPrintf($pAccum,$bFlags,$fmt,$ap) { - $pAccum = $pAccum|0; - $bFlags = $bFlags|0; - $fmt = $fmt|0; +function _sqlite3_vsnprintf($n,$zBuf,$zFormat,$ap) { + $n = $n|0; + $zBuf = $zBuf|0; + $zFormat = $zFormat|0; $ap = $ap|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0.0, $445 = 0, $446 = 0.0, $447 = 0, $448 = 0, $449 = 0.0, $45 = 0, $450 = 0, $451 = 0.0, $452 = 0.0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0.0, $47 = 0, $470 = 0.0, $471 = 0, $472 = 0, $473 = 0, $474 = 0.0, $475 = 0.0, $476 = 0.0; - var $477 = 0.0, $478 = 0, $479 = 0, $48 = 0, $480 = 0.0, $481 = 0, $482 = 0.0, $483 = 0.0, $484 = 0.0, $485 = 0, $486 = 0, $487 = 0, $488 = 0.0, $489 = 0.0, $49 = 0, $490 = 0, $491 = 0, $492 = 0.0, $493 = 0.0, $494 = 0.0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0.0, $499 = 0.0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0.0, $503 = 0.0, $504 = 0.0, $505 = 0, $506 = 0, $507 = 0, $508 = 0.0, $509 = 0.0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0.0, $513 = 0.0, $514 = 0.0, $515 = 0, $516 = 0, $517 = 0, $518 = 0.0, $519 = 0.0, $52 = 0, $520 = 0, $521 = 0, $522 = 0.0, $523 = 0.0, $524 = 0.0, $525 = 0, $526 = 0.0, $527 = 0.0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0.0, $531 = 0, $532 = 0.0, $533 = 0.0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0.0, $55 = 0, $550 = 0.0, $551 = 0.0, $552 = 0.0, $553 = 0, $554 = 0.0, $555 = 0.0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; - var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; - var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; - var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0; - var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0; - var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0; - var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0; - var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0; - var $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0; - var $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0; - var $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0; - var $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0; - var $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0; - var $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0; - var $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0; - var $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0; - var $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $arglist_current = 0, $arglist_current27 = 0, $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0; - var $arglist_current48 = 0, $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current57 = 0, $arglist_current60 = 0, $arglist_current63 = 0, $arglist_current66 = 0, $arglist_next = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next58 = 0, $arglist_next61 = 0; - var $arglist_next64 = 0, $arglist_next67 = 0, $bArgList = 0, $base = 0, $buf = 0, $bufpt = 0, $c = 0, $ch = 0, $cset = 0, $done = 0, $e2 = 0, $escarg = 0, $exp = 0, $flag_alternateform = 0, $flag_altform2 = 0, $flag_blanksign = 0, $flag_dp = 0, $flag_leftjustify = 0, $flag_long = 0, $flag_longlong = 0; - var $flag_plussign = 0, $flag_rtz = 0, $flag_zeropad = 0, $i = 0, $i2 = 0, $idx = 0, $infop = 0, $isnull = 0, $j = 0, $k = 0, $k3 = 0, $length = 0, $longvalue = 0, $n = 0, $nOut = 0, $nPad = 0, $needQuote = 0, $nsd = 0, $or$cond = 0, $or$cond11 = 0; - var $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond25 = 0, $or$cond9 = 0, $pArgList = 0, $pItem = 0, $pSrc = 0, $pToken = 0, $pre = 0, $precision = 0, $prefix = 0, $q = 0, $realvalue = 0, $rounder = 0, $scale = 0, $useIntern = 0; - var $v = 0, $width = 0, $x = 0, $x1 = 0, $xtype = 0, $zExtra = 0, $zOut = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; - $0 = sp + 172|0; - $1 = sp + 168|0; - $2 = sp + 164|0; - $3 = sp + 160|0; - $c = sp + 156|0; - $bufpt = sp + 152|0; - $precision = sp + 148|0; - $length = sp + 144|0; - $idx = sp + 140|0; - $width = sp + 136|0; - $flag_leftjustify = sp + 264|0; - $flag_plussign = sp + 263|0; - $flag_blanksign = sp + 262|0; - $flag_alternateform = sp + 261|0; - $flag_altform2 = sp + 260|0; - $flag_zeropad = sp + 259|0; - $flag_long = sp + 258|0; - $flag_longlong = sp + 257|0; - $done = sp + 256|0; - $xtype = sp + 255|0; - $bArgList = sp + 254|0; - $useIntern = sp + 253|0; - $prefix = sp + 252|0; - $longvalue = sp + 32|0; - $realvalue = sp + 24|0; - $infop = sp + 132|0; - $zOut = sp + 128|0; - $nOut = sp + 124|0; - $zExtra = sp + 120|0; - $exp = sp + 116|0; - $e2 = sp + 112|0; - $nsd = sp + 108|0; - $rounder = sp + 16|0; - $flag_dp = sp + 251|0; - $flag_rtz = sp + 250|0; - $pArgList = sp + 104|0; - $buf = sp + 180|0; - $v = sp + 8|0; - $x = sp + 100|0; - $cset = sp + 96|0; - $base = sp + 179|0; - $pre = sp + 92|0; - $x1 = sp + 178|0; - $scale = sp; - $i = sp + 88|0; - $nPad = sp + 84|0; - $i2 = sp + 80|0; - $j = sp + 76|0; - $k = sp + 72|0; - $n = sp + 68|0; - $isnull = sp + 64|0; - $needQuote = sp + 60|0; - $ch = sp + 177|0; - $q = sp + 176|0; - $escarg = sp + 56|0; - $pToken = sp + 52|0; - $pSrc = sp + 48|0; - $k3 = sp + 44|0; - $pItem = sp + 40|0; - HEAP32[$0>>2] = $pAccum; - HEAP32[$1>>2] = $bFlags; - HEAP32[$2>>2] = $fmt; - HEAP32[$3>>2] = $ap; - HEAP8[$xtype>>0] = 0; - HEAP32[$zExtra>>2] = 0; - HEAP32[$pArgList>>2] = 0; - HEAP32[$bufpt>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = $6 & 2; - $8 = $7&255; - HEAP8[$bArgList>>0] = $8; - $9 = $8&255; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$3>>2]|0; - $arglist_current = HEAP32[$11>>2]|0; - $12 = HEAP32[$arglist_current>>2]|0; - $arglist_next = (($arglist_current) + 4|0); - HEAP32[$11>>2] = $arglist_next; - HEAP32[$pArgList>>2] = $12; - } - $13 = HEAP32[$1>>2]|0; - $14 = $13 & 1; - $15 = $14&255; - HEAP8[$useIntern>>0] = $15; - } else { - HEAP8[$useIntern>>0] = 0; - HEAP8[$bArgList>>0] = 0; - } - L7: while(1) { - $16 = HEAP32[$2>>2]|0; - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - HEAP32[$c>>2] = $18; - $19 = ($18|0)!=(0); - if (!($19)) { - label = 274; - break; - } - $20 = HEAP32[$c>>2]|0; - $21 = ($20|0)!=(37); - if ($21) { - $22 = HEAP32[$2>>2]|0; - HEAP32[$bufpt>>2] = $22; - while(1) { - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 1|0); - HEAP32[$2>>2] = $24; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = ($27|0)!=(0); - if (!($28)) { - break; - } - $29 = HEAP32[$2>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = $30 << 24 >> 24; - $32 = ($31|0)!=(37); - if (!($32)) { - break; - } - } - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$bufpt>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$bufpt>>2]|0; - $37 = $35; - $38 = $36; - $39 = (($37) - ($38))|0; - _sqlite3StrAccumAppend($33,$34,$39); - $40 = HEAP32[$2>>2]|0; - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = ($42|0)==(0); - if ($43) { - label = 274; - break; - } - } - $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 1|0); - HEAP32[$2>>2] = $45; - $46 = HEAP8[$45>>0]|0; - $47 = $46 << 24 >> 24; - HEAP32[$c>>2] = $47; - $48 = ($47|0)==(0); - if ($48) { - label = 13; - break; - } - HEAP8[$flag_zeropad>>0] = 0; - HEAP8[$flag_altform2>>0] = 0; - HEAP8[$flag_alternateform>>0] = 0; - HEAP8[$flag_blanksign>>0] = 0; - HEAP8[$flag_plussign>>0] = 0; - HEAP8[$flag_leftjustify>>0] = 0; - HEAP8[$done>>0] = 0; - while(1) { - $50 = HEAP32[$c>>2]|0; - switch ($50|0) { - case 45: { - HEAP8[$flag_leftjustify>>0] = 1; - break; - } - case 43: { - HEAP8[$flag_plussign>>0] = 1; - break; - } - case 32: { - HEAP8[$flag_blanksign>>0] = 1; - break; - } - case 33: { - HEAP8[$flag_altform2>>0] = 1; - break; - } - case 48: { - HEAP8[$flag_zeropad>>0] = 1; - break; - } - case 35: { - HEAP8[$flag_alternateform>>0] = 1; - break; - } - default: { - HEAP8[$done>>0] = 1; - } - } - $51 = HEAP8[$done>>0]|0; - $52 = ($51<<24>>24)!=(0); - if ($52) { - break; - } - $53 = HEAP32[$2>>2]|0; - $54 = (($53) + 1|0); - HEAP32[$2>>2] = $54; - $55 = HEAP8[$54>>0]|0; - $56 = $55 << 24 >> 24; - HEAP32[$c>>2] = $56; - $57 = ($56|0)!=(0); - if (!($57)) { - break; - } - } - HEAP32[$width>>2] = 0; - $58 = HEAP32[$c>>2]|0; - $59 = ($58|0)==(42); - L31: do { - if ($59) { - $60 = HEAP8[$bArgList>>0]|0; - $61 = ($60<<24>>24)!=(0); - if ($61) { - $62 = HEAP32[$pArgList>>2]|0; - $63 = (_getIntArg($62)|0); - $64 = tempRet0; - HEAP32[$width>>2] = $63; - } else { - $65 = HEAP32[$3>>2]|0; - $arglist_current27 = HEAP32[$65>>2]|0; - $66 = HEAP32[$arglist_current27>>2]|0; - $arglist_next28 = (($arglist_current27) + 4|0); - HEAP32[$65>>2] = $arglist_next28; - HEAP32[$width>>2] = $66; - } - $67 = HEAP32[$width>>2]|0; - $68 = ($67|0)<(0); - if ($68) { - HEAP8[$flag_leftjustify>>0] = 1; - $69 = HEAP32[$width>>2]|0; - $70 = (0 - ($69))|0; - HEAP32[$width>>2] = $70; - } - $71 = HEAP32[$2>>2]|0; - $72 = (($71) + 1|0); - HEAP32[$2>>2] = $72; - $73 = HEAP8[$72>>0]|0; - $74 = $73 << 24 >> 24; - HEAP32[$c>>2] = $74; - } else { - while(1) { - $75 = HEAP32[$c>>2]|0; - $76 = ($75|0)>=(48); - $77 = HEAP32[$c>>2]|0; - $78 = ($77|0)<=(57); - $or$cond17 = $76 & $78; - if (!($or$cond17)) { - break L31; - } - $79 = HEAP32[$width>>2]|0; - $80 = ($79*10)|0; - $81 = HEAP32[$c>>2]|0; - $82 = (($80) + ($81))|0; - $83 = (($82) - 48)|0; - HEAP32[$width>>2] = $83; - $84 = HEAP32[$2>>2]|0; - $85 = (($84) + 1|0); - HEAP32[$2>>2] = $85; - $86 = HEAP8[$85>>0]|0; - $87 = $86 << 24 >> 24; - HEAP32[$c>>2] = $87; - } - } - } while(0); - $88 = HEAP32[$c>>2]|0; - $89 = ($88|0)==(46); - L44: do { - if ($89) { - HEAP32[$precision>>2] = 0; - $90 = HEAP32[$2>>2]|0; - $91 = (($90) + 1|0); - HEAP32[$2>>2] = $91; - $92 = HEAP8[$91>>0]|0; - $93 = $92 << 24 >> 24; - HEAP32[$c>>2] = $93; - $94 = HEAP32[$c>>2]|0; - $95 = ($94|0)==(42); - if (!($95)) { - while(1) { - $111 = HEAP32[$c>>2]|0; - $112 = ($111|0)>=(48); - $113 = HEAP32[$c>>2]|0; - $114 = ($113|0)<=(57); - $or$cond19 = $112 & $114; - if (!($or$cond19)) { - break L44; - } - $115 = HEAP32[$precision>>2]|0; - $116 = ($115*10)|0; - $117 = HEAP32[$c>>2]|0; - $118 = (($116) + ($117))|0; - $119 = (($118) - 48)|0; - HEAP32[$precision>>2] = $119; - $120 = HEAP32[$2>>2]|0; - $121 = (($120) + 1|0); - HEAP32[$2>>2] = $121; - $122 = HEAP8[$121>>0]|0; - $123 = $122 << 24 >> 24; - HEAP32[$c>>2] = $123; - } - } - $96 = HEAP8[$bArgList>>0]|0; - $97 = ($96<<24>>24)!=(0); - if ($97) { - $98 = HEAP32[$pArgList>>2]|0; - $99 = (_getIntArg($98)|0); - $100 = tempRet0; - HEAP32[$precision>>2] = $99; - } else { - $101 = HEAP32[$3>>2]|0; - $arglist_current30 = HEAP32[$101>>2]|0; - $102 = HEAP32[$arglist_current30>>2]|0; - $arglist_next31 = (($arglist_current30) + 4|0); - HEAP32[$101>>2] = $arglist_next31; - HEAP32[$precision>>2] = $102; - } - $103 = HEAP32[$precision>>2]|0; - $104 = ($103|0)<(0); - if ($104) { - $105 = HEAP32[$precision>>2]|0; - $106 = (0 - ($105))|0; - HEAP32[$precision>>2] = $106; - } - $107 = HEAP32[$2>>2]|0; - $108 = (($107) + 1|0); - HEAP32[$2>>2] = $108; - $109 = HEAP8[$108>>0]|0; - $110 = $109 << 24 >> 24; - HEAP32[$c>>2] = $110; - } else { - HEAP32[$precision>>2] = -1; - } - } while(0); - $124 = HEAP32[$c>>2]|0; - $125 = ($124|0)==(108); - do { - if ($125) { - HEAP8[$flag_long>>0] = 1; - $126 = HEAP32[$2>>2]|0; - $127 = (($126) + 1|0); - HEAP32[$2>>2] = $127; - $128 = HEAP8[$127>>0]|0; - $129 = $128 << 24 >> 24; - HEAP32[$c>>2] = $129; - $130 = HEAP32[$c>>2]|0; - $131 = ($130|0)==(108); - if ($131) { - HEAP8[$flag_longlong>>0] = 1; - $132 = HEAP32[$2>>2]|0; - $133 = (($132) + 1|0); - HEAP32[$2>>2] = $133; - $134 = HEAP8[$133>>0]|0; - $135 = $134 << 24 >> 24; - HEAP32[$c>>2] = $135; - break; - } else { - HEAP8[$flag_longlong>>0] = 0; - break; - } - } else { - HEAP8[$flag_longlong>>0] = 0; - HEAP8[$flag_long>>0] = 0; - } - } while(0); - HEAP32[$infop>>2] = 38392; - HEAP8[$xtype>>0] = 0; - HEAP32[$idx>>2] = 0; - while(1) { - $136 = HEAP32[$idx>>2]|0; - $137 = ($136|0)<(23); - if (!($137)) { - break; - } - $138 = HEAP32[$c>>2]|0; - $139 = HEAP32[$idx>>2]|0; - $140 = (38392 + (($139*6)|0)|0); - $141 = HEAP8[$140>>0]|0; - $142 = $141 << 24 >> 24; - $143 = ($138|0)==($142|0); - $144 = HEAP32[$idx>>2]|0; - if ($143) { - label = 53; - break; - } - $158 = (($144) + 1)|0; - HEAP32[$idx>>2] = $158; - } - if ((label|0) == 53) { - label = 0; - $145 = (38392 + (($144*6)|0)|0); - HEAP32[$infop>>2] = $145; - $146 = HEAP8[$useIntern>>0]|0; - $147 = $146&255; - $148 = ($147|0)!=(0); - if (!($148)) { - $149 = HEAP32[$infop>>2]|0; - $150 = (($149) + 2|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = $152 & 2; - $154 = ($153|0)==(0); - if (!($154)) { - label = 274; - break; - } - } - $155 = HEAP32[$infop>>2]|0; - $156 = (($155) + 3|0); - $157 = HEAP8[$156>>0]|0; - HEAP8[$xtype>>0] = $157; - } - $159 = HEAP8[$xtype>>0]|0; - $160 = $159&255; - L77: do { - switch ($160|0) { - case 14: { - HEAP8[$flag_longlong>>0] = 0; - HEAP8[$flag_long>>0] = 1; - label = 59; - break; - } - case 1: case 16: { - label = 59; - break; - } - case 4: case 3: case 2: { - $441 = HEAP8[$bArgList>>0]|0; - $442 = ($441<<24>>24)!=(0); - if ($442) { - $443 = HEAP32[$pArgList>>2]|0; - $444 = (+_getDoubleArg($443)); - HEAPF64[$realvalue>>3] = $444; - } else { - $445 = HEAP32[$3>>2]|0; - $arglist_current45 = HEAP32[$445>>2]|0; - HEAP32[tempDoublePtr>>2]=HEAP32[$arglist_current45>>2];HEAP32[tempDoublePtr+4>>2]=HEAP32[$arglist_current45+4>>2];$446 = +HEAPF64[tempDoublePtr>>3]; - $arglist_next46 = (($arglist_current45) + 8|0); - HEAP32[$445>>2] = $arglist_next46; - HEAPF64[$realvalue>>3] = $446; - } - $447 = HEAP32[$precision>>2]|0; - $448 = ($447|0)<(0); - if ($448) { - HEAP32[$precision>>2] = 6; - } - $449 = +HEAPF64[$realvalue>>3]; - $450 = $449 < 0.0; - do { - if ($450) { - $451 = +HEAPF64[$realvalue>>3]; - $452 = -$451; - HEAPF64[$realvalue>>3] = $452; - HEAP8[$prefix>>0] = 45; - } else { - $453 = HEAP8[$flag_plussign>>0]|0; - $454 = ($453<<24>>24)!=(0); - if ($454) { - HEAP8[$prefix>>0] = 43; - break; - } - $455 = HEAP8[$flag_blanksign>>0]|0; - $456 = ($455<<24>>24)!=(0); - if ($456) { - HEAP8[$prefix>>0] = 32; - break; - } else { - HEAP8[$prefix>>0] = 0; - break; - } - } - } while(0); - $457 = HEAP8[$xtype>>0]|0; - $458 = $457&255; - $459 = ($458|0)==(4); - $460 = HEAP32[$precision>>2]|0; - $461 = ($460|0)>(0); - $or$cond = $459 & $461; - if ($or$cond) { - $462 = HEAP32[$precision>>2]|0; - $463 = (($462) + -1)|0; - HEAP32[$precision>>2] = $463; - } - $464 = HEAP32[$precision>>2]|0; - HEAP32[$idx>>2] = $464; - HEAPF64[$rounder>>3] = 0.5; - while(1) { - $465 = HEAP32[$idx>>2]|0; - $466 = ($465|0)>(0); - if (!($466)) { - break; - } - $467 = HEAP32[$idx>>2]|0; - $468 = (($467) + -1)|0; - HEAP32[$idx>>2] = $468; - $469 = +HEAPF64[$rounder>>3]; - $470 = $469 * 0.10000000000000001; - HEAPF64[$rounder>>3] = $470; - } - $471 = HEAP8[$xtype>>0]|0; - $472 = $471&255; - $473 = ($472|0)==(2); - if ($473) { - $474 = +HEAPF64[$rounder>>3]; - $475 = +HEAPF64[$realvalue>>3]; - $476 = $475 + $474; - HEAPF64[$realvalue>>3] = $476; - } - HEAP32[$exp>>2] = 0; - $477 = +HEAPF64[$realvalue>>3]; - $478 = (_sqlite3IsNaN($477)|0); - $479 = ($478|0)!=(0); - if ($479) { - HEAP32[$bufpt>>2] = 38600; - HEAP32[$length>>2] = 3; - break L77; - } - $480 = +HEAPF64[$realvalue>>3]; - $481 = $480 > 0.0; - if ($481) { - HEAPF64[$scale>>3] = 1.0; - while(1) { - $482 = +HEAPF64[$realvalue>>3]; - $483 = +HEAPF64[$scale>>3]; - $484 = 1.0E+100 * $483; - $485 = $482 >= $484; - $486 = HEAP32[$exp>>2]|0; - $487 = ($486|0)<=(350); - $or$cond21 = $485 & $487; - if (!($or$cond21)) { - break; - } - $488 = +HEAPF64[$scale>>3]; - $489 = $488 * 1.0E+100; - HEAPF64[$scale>>3] = $489; - $490 = HEAP32[$exp>>2]|0; - $491 = (($490) + 100)|0; - HEAP32[$exp>>2] = $491; - } - while(1) { - $492 = +HEAPF64[$realvalue>>3]; - $493 = +HEAPF64[$scale>>3]; - $494 = 1.0E+64 * $493; - $495 = $492 >= $494; - $496 = HEAP32[$exp>>2]|0; - $497 = ($496|0)<=(350); - $or$cond23 = $495 & $497; - if (!($or$cond23)) { - break; - } - $498 = +HEAPF64[$scale>>3]; - $499 = $498 * 1.0E+64; - HEAPF64[$scale>>3] = $499; - $500 = HEAP32[$exp>>2]|0; - $501 = (($500) + 64)|0; - HEAP32[$exp>>2] = $501; - } - while(1) { - $502 = +HEAPF64[$realvalue>>3]; - $503 = +HEAPF64[$scale>>3]; - $504 = 1.0E+8 * $503; - $505 = $502 >= $504; - $506 = HEAP32[$exp>>2]|0; - $507 = ($506|0)<=(350); - $or$cond25 = $505 & $507; - if (!($or$cond25)) { - break; - } - $508 = +HEAPF64[$scale>>3]; - $509 = $508 * 1.0E+8; - HEAPF64[$scale>>3] = $509; - $510 = HEAP32[$exp>>2]|0; - $511 = (($510) + 8)|0; - HEAP32[$exp>>2] = $511; - } - while(1) { - $512 = +HEAPF64[$realvalue>>3]; - $513 = +HEAPF64[$scale>>3]; - $514 = 10.0 * $513; - $515 = $512 >= $514; - if ($515) { - $516 = HEAP32[$exp>>2]|0; - $517 = ($516|0)<=(350); - $991 = $517; - } else { - $991 = 0; - } - $518 = +HEAPF64[$scale>>3]; - if (!($991)) { - break; - } - $519 = $518 * 10.0; - HEAPF64[$scale>>3] = $519; - $520 = HEAP32[$exp>>2]|0; - $521 = (($520) + 1)|0; - HEAP32[$exp>>2] = $521; - } - $522 = +HEAPF64[$realvalue>>3]; - $523 = $522 / $518; - HEAPF64[$realvalue>>3] = $523; - while(1) { - $524 = +HEAPF64[$realvalue>>3]; - $525 = $524 < 1.0E-8; - if (!($525)) { - break; - } - $526 = +HEAPF64[$realvalue>>3]; - $527 = $526 * 1.0E+8; - HEAPF64[$realvalue>>3] = $527; - $528 = HEAP32[$exp>>2]|0; - $529 = (($528) - 8)|0; - HEAP32[$exp>>2] = $529; - } - while(1) { - $530 = +HEAPF64[$realvalue>>3]; - $531 = $530 < 1.0; - if (!($531)) { - break; - } - $532 = +HEAPF64[$realvalue>>3]; - $533 = $532 * 10.0; - HEAPF64[$realvalue>>3] = $533; - $534 = HEAP32[$exp>>2]|0; - $535 = (($534) + -1)|0; - HEAP32[$exp>>2] = $535; - } - $536 = HEAP32[$exp>>2]|0; - $537 = ($536|0)>(350); - if ($537) { - $538 = HEAP8[$prefix>>0]|0; - $539 = $538 << 24 >> 24; - $540 = ($539|0)==(45); - do { - if ($540) { - HEAP32[$bufpt>>2] = 38608; - } else { - $541 = HEAP8[$prefix>>0]|0; - $542 = $541 << 24 >> 24; - $543 = ($542|0)==(43); - if ($543) { - HEAP32[$bufpt>>2] = 38616; - break; - } else { - HEAP32[$bufpt>>2] = 38624; - break; - } - } - } while(0); - $544 = HEAP32[$bufpt>>2]|0; - $545 = (_sqlite3Strlen30($544)|0); - HEAP32[$length>>2] = $545; - break L77; - } - } - HEAP32[$bufpt>>2] = $buf; - $546 = HEAP8[$xtype>>0]|0; - $547 = $546&255; - $548 = ($547|0)!=(2); - if ($548) { - $549 = +HEAPF64[$rounder>>3]; - $550 = +HEAPF64[$realvalue>>3]; - $551 = $550 + $549; - HEAPF64[$realvalue>>3] = $551; - $552 = +HEAPF64[$realvalue>>3]; - $553 = $552 >= 10.0; - if ($553) { - $554 = +HEAPF64[$realvalue>>3]; - $555 = $554 * 0.10000000000000001; - HEAPF64[$realvalue>>3] = $555; - $556 = HEAP32[$exp>>2]|0; - $557 = (($556) + 1)|0; - HEAP32[$exp>>2] = $557; - } - } - $558 = HEAP8[$xtype>>0]|0; - $559 = $558&255; - $560 = ($559|0)==(4); - L148: do { - if ($560) { - $561 = HEAP8[$flag_alternateform>>0]|0; - $562 = ($561<<24>>24)!=(0); - $563 = $562 ^ 1; - $564 = $563&1; - $565 = $564&255; - HEAP8[$flag_rtz>>0] = $565; - $566 = HEAP32[$exp>>2]|0; - $567 = ($566|0)<(-4); - do { - if (!($567)) { - $568 = HEAP32[$exp>>2]|0; - $569 = HEAP32[$precision>>2]|0; - $570 = ($568|0)>($569|0); - if ($570) { - break; - } - $571 = HEAP32[$precision>>2]|0; - $572 = HEAP32[$exp>>2]|0; - $573 = (($571) - ($572))|0; - HEAP32[$precision>>2] = $573; - HEAP8[$xtype>>0] = 2; - break L148; - } - } while(0); - HEAP8[$xtype>>0] = 3; - } else { - $574 = HEAP8[$flag_altform2>>0]|0; - HEAP8[$flag_rtz>>0] = $574; - } - } while(0); - $575 = HEAP8[$xtype>>0]|0; - $576 = $575&255; - $577 = ($576|0)==(3); - if ($577) { - HEAP32[$e2>>2] = 0; - } else { - $578 = HEAP32[$exp>>2]|0; - HEAP32[$e2>>2] = $578; - } - $579 = HEAP32[$e2>>2]|0; - $580 = ($579|0)>(0); - $581 = HEAP32[$e2>>2]|0; - $582 = $580 ? $581 : 0; - $583 = HEAP32[$precision>>2]|0; - $584 = (($582) + ($583))|0; - $585 = HEAP32[$width>>2]|0; - $586 = (($584) + ($585))|0; - $587 = ($586|0)>(55); - if ($587) { - $588 = HEAP32[$e2>>2]|0; - $589 = ($588|0)>(0); - $590 = HEAP32[$e2>>2]|0; - $591 = $589 ? $590 : 0; - $592 = HEAP32[$precision>>2]|0; - $593 = (($591) + ($592))|0; - $594 = HEAP32[$width>>2]|0; - $595 = (($593) + ($594))|0; - $596 = (($595) + 15)|0; - $597 = ($596|0)<(0); - $598 = $597 << 31 >> 31; - $599 = (_sqlite3Malloc($596,$598)|0); - HEAP32[$zExtra>>2] = $599; - HEAP32[$bufpt>>2] = $599; - $600 = HEAP32[$bufpt>>2]|0; - $601 = ($600|0)==(0|0); - if ($601) { - label = 167; - break L7; - } - } - $603 = HEAP32[$bufpt>>2]|0; - HEAP32[$zOut>>2] = $603; - $604 = HEAP8[$flag_altform2>>0]|0; - $605 = $604&255; - $606 = ($605*10)|0; - $607 = (16 + ($606))|0; - HEAP32[$nsd>>2] = $607; - $608 = HEAP32[$precision>>2]|0; - $609 = ($608|0)>(0); - $610 = $609 ? 1 : 0; - $611 = HEAP8[$flag_alternateform>>0]|0; - $612 = $611&255; - $613 = $610 | $612; - $614 = HEAP8[$flag_altform2>>0]|0; - $615 = $614&255; - $616 = $613 | $615; - $617 = $616&255; - HEAP8[$flag_dp>>0] = $617; - $618 = HEAP8[$prefix>>0]|0; - $619 = ($618<<24>>24)!=(0); - if ($619) { - $620 = HEAP8[$prefix>>0]|0; - $621 = HEAP32[$bufpt>>2]|0; - $622 = (($621) + 1|0); - HEAP32[$bufpt>>2] = $622; - HEAP8[$621>>0] = $620; - } - $623 = HEAP32[$e2>>2]|0; - $624 = ($623|0)<(0); - L166: do { - if ($624) { - $625 = HEAP32[$bufpt>>2]|0; - $626 = (($625) + 1|0); - HEAP32[$bufpt>>2] = $626; - HEAP8[$625>>0] = 48; - } else { - while(1) { - $627 = HEAP32[$e2>>2]|0; - $628 = ($627|0)>=(0); - if (!($628)) { - break L166; - } - $629 = (_et_getdigit($realvalue,$nsd)|0); - $630 = HEAP32[$bufpt>>2]|0; - $631 = (($630) + 1|0); - HEAP32[$bufpt>>2] = $631; - HEAP8[$630>>0] = $629; - $632 = HEAP32[$e2>>2]|0; - $633 = (($632) + -1)|0; - HEAP32[$e2>>2] = $633; - } - } - } while(0); - $634 = HEAP8[$flag_dp>>0]|0; - $635 = ($634<<24>>24)!=(0); - if ($635) { - $636 = HEAP32[$bufpt>>2]|0; - $637 = (($636) + 1|0); - HEAP32[$bufpt>>2] = $637; - HEAP8[$636>>0] = 46; - } - $638 = HEAP32[$e2>>2]|0; - $639 = (($638) + 1)|0; - HEAP32[$e2>>2] = $639; - while(1) { - $640 = HEAP32[$e2>>2]|0; - $641 = ($640|0)<(0); - if (!($641)) { - break; - } - $642 = HEAP32[$bufpt>>2]|0; - $643 = (($642) + 1|0); - HEAP32[$bufpt>>2] = $643; - HEAP8[$642>>0] = 48; - $644 = HEAP32[$precision>>2]|0; - $645 = (($644) + -1)|0; - HEAP32[$precision>>2] = $645; - $646 = HEAP32[$e2>>2]|0; - $647 = (($646) + 1)|0; - HEAP32[$e2>>2] = $647; - } - while(1) { - $648 = HEAP32[$precision>>2]|0; - $649 = (($648) + -1)|0; - HEAP32[$precision>>2] = $649; - $650 = ($648|0)>(0); - if (!($650)) { - break; - } - $651 = (_et_getdigit($realvalue,$nsd)|0); - $652 = HEAP32[$bufpt>>2]|0; - $653 = (($652) + 1|0); - HEAP32[$bufpt>>2] = $653; - HEAP8[$652>>0] = $651; - } - $654 = HEAP8[$flag_rtz>>0]|0; - $655 = $654&255; - $656 = ($655|0)!=(0); - do { - if ($656) { - $657 = HEAP8[$flag_dp>>0]|0; - $658 = $657&255; - $659 = ($658|0)!=(0); - if (!($659)) { - break; - } - while(1) { - $660 = HEAP32[$bufpt>>2]|0; - $661 = (($660) + -1|0); - $662 = HEAP8[$661>>0]|0; - $663 = $662 << 24 >> 24; - $664 = ($663|0)==(48); - $665 = HEAP32[$bufpt>>2]|0; - $666 = (($665) + -1|0); - if (!($664)) { - break; - } - HEAP32[$bufpt>>2] = $666; - HEAP8[$666>>0] = 0; - } - $667 = HEAP8[$666>>0]|0; - $668 = $667 << 24 >> 24; - $669 = ($668|0)==(46); - if (!($669)) { - break; - } - $670 = HEAP8[$flag_altform2>>0]|0; - $671 = ($670<<24>>24)!=(0); - $672 = HEAP32[$bufpt>>2]|0; - if ($671) { - $673 = (($672) + 1|0); - HEAP32[$bufpt>>2] = $673; - HEAP8[$672>>0] = 48; - break; - } else { - $674 = (($672) + -1|0); - HEAP32[$bufpt>>2] = $674; - HEAP8[$674>>0] = 0; - break; - } - } - } while(0); - $675 = HEAP8[$xtype>>0]|0; - $676 = $675&255; - $677 = ($676|0)==(3); - if ($677) { - $678 = HEAP32[$infop>>2]|0; - $679 = (($678) + 4|0); - $680 = HEAP8[$679>>0]|0; - $681 = $680&255; - $682 = (38552 + ($681)|0); - $683 = HEAP8[$682>>0]|0; - $684 = HEAP32[$bufpt>>2]|0; - $685 = (($684) + 1|0); - HEAP32[$bufpt>>2] = $685; - HEAP8[$684>>0] = $683; - $686 = HEAP32[$exp>>2]|0; - $687 = ($686|0)<(0); - $688 = HEAP32[$bufpt>>2]|0; - $689 = (($688) + 1|0); - HEAP32[$bufpt>>2] = $689; - if ($687) { - HEAP8[$688>>0] = 45; - $690 = HEAP32[$exp>>2]|0; - $691 = (0 - ($690))|0; - HEAP32[$exp>>2] = $691; - } else { - HEAP8[$688>>0] = 43; - } - $692 = HEAP32[$exp>>2]|0; - $693 = ($692|0)>=(100); - if ($693) { - $694 = HEAP32[$exp>>2]|0; - $695 = (($694|0) / 100)&-1; - $696 = (($695) + 48)|0; - $697 = $696&255; - $698 = HEAP32[$bufpt>>2]|0; - $699 = (($698) + 1|0); - HEAP32[$bufpt>>2] = $699; - HEAP8[$698>>0] = $697; - $700 = HEAP32[$exp>>2]|0; - $701 = (($700|0) % 100)&-1; - HEAP32[$exp>>2] = $701; - } - $702 = HEAP32[$exp>>2]|0; - $703 = (($702|0) / 10)&-1; - $704 = (($703) + 48)|0; - $705 = $704&255; - $706 = HEAP32[$bufpt>>2]|0; - $707 = (($706) + 1|0); - HEAP32[$bufpt>>2] = $707; - HEAP8[$706>>0] = $705; - $708 = HEAP32[$exp>>2]|0; - $709 = (($708|0) % 10)&-1; - $710 = (($709) + 48)|0; - $711 = $710&255; - $712 = HEAP32[$bufpt>>2]|0; - $713 = (($712) + 1|0); - HEAP32[$bufpt>>2] = $713; - HEAP8[$712>>0] = $711; - } - $714 = HEAP32[$bufpt>>2]|0; - HEAP8[$714>>0] = 0; - $715 = HEAP32[$bufpt>>2]|0; - $716 = HEAP32[$zOut>>2]|0; - $717 = $715; - $718 = $716; - $719 = (($717) - ($718))|0; - HEAP32[$length>>2] = $719; - $720 = HEAP32[$zOut>>2]|0; - HEAP32[$bufpt>>2] = $720; - $721 = HEAP8[$flag_zeropad>>0]|0; - $722 = $721&255; - $723 = ($722|0)==(0); - $724 = HEAP8[$flag_leftjustify>>0]|0; - $725 = ($724<<24>>24)!=(0); - $or$cond9 = $723 | $725; - if ($or$cond9) { - break L77; - } - $726 = HEAP32[$length>>2]|0; - $727 = HEAP32[$width>>2]|0; - $728 = ($726|0)<($727|0); - if (!($728)) { - break L77; - } - $729 = HEAP32[$width>>2]|0; - $730 = HEAP32[$length>>2]|0; - $731 = (($729) - ($730))|0; - HEAP32[$nPad>>2] = $731; - $732 = HEAP32[$width>>2]|0; - HEAP32[$i>>2] = $732; - while(1) { - $733 = HEAP32[$i>>2]|0; - $734 = HEAP32[$nPad>>2]|0; - $735 = ($733|0)>=($734|0); - if (!($735)) { - break; - } - $736 = HEAP32[$i>>2]|0; - $737 = HEAP32[$nPad>>2]|0; - $738 = (($736) - ($737))|0; - $739 = HEAP32[$bufpt>>2]|0; - $740 = (($739) + ($738)|0); - $741 = HEAP8[$740>>0]|0; - $742 = HEAP32[$i>>2]|0; - $743 = HEAP32[$bufpt>>2]|0; - $744 = (($743) + ($742)|0); - HEAP8[$744>>0] = $741; - $745 = HEAP32[$i>>2]|0; - $746 = (($745) + -1)|0; - HEAP32[$i>>2] = $746; - } - $747 = HEAP8[$prefix>>0]|0; - $748 = $747 << 24 >> 24; - $749 = ($748|0)!=(0); - $750 = $749&1; - HEAP32[$i>>2] = $750; - while(1) { - $751 = HEAP32[$nPad>>2]|0; - $752 = (($751) + -1)|0; - HEAP32[$nPad>>2] = $752; - $753 = ($751|0)!=(0); - if (!($753)) { - break; - } - $754 = HEAP32[$i>>2]|0; - $755 = (($754) + 1)|0; - HEAP32[$i>>2] = $755; - $756 = HEAP32[$bufpt>>2]|0; - $757 = (($756) + ($754)|0); - HEAP8[$757>>0] = 48; - } - $758 = HEAP32[$width>>2]|0; - HEAP32[$length>>2] = $758; - break; - } - case 5: { - $759 = HEAP8[$bArgList>>0]|0; - $760 = ($759<<24>>24)!=(0); - if (!($760)) { - $761 = HEAP32[$0>>2]|0; - $762 = (($761) + 12|0); - $763 = HEAP32[$762>>2]|0; - $764 = HEAP32[$3>>2]|0; - $arglist_current48 = HEAP32[$764>>2]|0; - $765 = HEAP32[$arglist_current48>>2]|0; - $arglist_next49 = (($arglist_current48) + 4|0); - HEAP32[$764>>2] = $arglist_next49; - HEAP32[$765>>2] = $763; - } - HEAP32[$width>>2] = 0; - HEAP32[$length>>2] = 0; - break; - } - case 8: { - HEAP8[$buf>>0] = 37; - HEAP32[$bufpt>>2] = $buf; - HEAP32[$length>>2] = 1; - break; - } - case 9: { - $766 = HEAP8[$bArgList>>0]|0; - $767 = ($766<<24>>24)!=(0); - if ($767) { - $768 = HEAP32[$pArgList>>2]|0; - $769 = (_getTextArg($768)|0); - HEAP32[$bufpt>>2] = $769; - $770 = HEAP32[$bufpt>>2]|0; - $771 = ($770|0)!=(0|0); - if ($771) { - $772 = HEAP32[$bufpt>>2]|0; - $773 = HEAP8[$772>>0]|0; - $774 = $773 << 24 >> 24; - $775 = $774; - } else { - $775 = 0; - } - HEAP32[$c>>2] = $775; - } else { - $776 = HEAP32[$3>>2]|0; - $arglist_current51 = HEAP32[$776>>2]|0; - $777 = HEAP32[$arglist_current51>>2]|0; - $arglist_next52 = (($arglist_current51) + 4|0); - HEAP32[$776>>2] = $arglist_next52; - HEAP32[$c>>2] = $777; - } - $778 = HEAP32[$precision>>2]|0; - $779 = ($778|0)>(1); - if ($779) { - $780 = HEAP32[$precision>>2]|0; - $781 = (($780) - 1)|0; - $782 = HEAP32[$width>>2]|0; - $783 = (($782) - ($781))|0; - HEAP32[$width>>2] = $783; - $784 = HEAP32[$width>>2]|0; - $785 = ($784|0)<=(1); - $786 = HEAP8[$flag_leftjustify>>0]|0; - $787 = ($786<<24>>24)!=(0); - $or$cond11 = $785 | $787; - if (!($or$cond11)) { - $788 = HEAP32[$0>>2]|0; - $789 = HEAP32[$width>>2]|0; - $790 = (($789) - 1)|0; - _sqlite3AppendChar($788,$790,32); - HEAP32[$width>>2] = 0; - } - $791 = HEAP32[$0>>2]|0; - $792 = HEAP32[$precision>>2]|0; - $793 = (($792) - 1)|0; - $794 = HEAP32[$c>>2]|0; - $795 = $794&255; - _sqlite3AppendChar($791,$793,$795); - } - HEAP32[$length>>2] = 1; - $796 = HEAP32[$c>>2]|0; - $797 = $796&255; - HEAP8[$buf>>0] = $797; - HEAP32[$bufpt>>2] = $buf; - break; - } - case 7: case 6: { - $798 = HEAP8[$bArgList>>0]|0; - $799 = ($798<<24>>24)!=(0); - if ($799) { - $800 = HEAP32[$pArgList>>2]|0; - $801 = (_getTextArg($800)|0); - HEAP32[$bufpt>>2] = $801; - } else { - $802 = HEAP32[$3>>2]|0; - $arglist_current54 = HEAP32[$802>>2]|0; - $803 = HEAP32[$arglist_current54>>2]|0; - $arglist_next55 = (($arglist_current54) + 4|0); - HEAP32[$802>>2] = $arglist_next55; - HEAP32[$bufpt>>2] = $803; - } - $804 = HEAP32[$bufpt>>2]|0; - $805 = ($804|0)==(0|0); - if ($805) { - HEAP32[$bufpt>>2] = 1216; - } else { - $806 = HEAP8[$xtype>>0]|0; - $807 = $806&255; - $808 = ($807|0)!=(7); - $809 = HEAP8[$bArgList>>0]|0; - $810 = ($809<<24>>24)!=(0); - $or$cond13 = $808 | $810; - if (!($or$cond13)) { - $811 = HEAP32[$bufpt>>2]|0; - HEAP32[$zExtra>>2] = $811; - } - } - $812 = HEAP32[$precision>>2]|0; - $813 = ($812|0)>=(0); - if (!($813)) { - $825 = HEAP32[$bufpt>>2]|0; - $826 = (_sqlite3Strlen30($825)|0); - HEAP32[$length>>2] = $826; - break L77; - } - HEAP32[$length>>2] = 0; - while(1) { - $814 = HEAP32[$length>>2]|0; - $815 = HEAP32[$precision>>2]|0; - $816 = ($814|0)<($815|0); - if (!($816)) { - break L77; - } - $817 = HEAP32[$length>>2]|0; - $818 = HEAP32[$bufpt>>2]|0; - $819 = (($818) + ($817)|0); - $820 = HEAP8[$819>>0]|0; - $821 = $820 << 24 >> 24; - $822 = ($821|0)!=(0); - if (!($822)) { - break L77; - } - $823 = HEAP32[$length>>2]|0; - $824 = (($823) + 1)|0; - HEAP32[$length>>2] = $824; - } - break; - } - case 15: case 11: case 10: { - $827 = HEAP8[$xtype>>0]|0; - $828 = $827&255; - $829 = ($828|0)==(15); - $830 = $829 ? 34 : 39; - $831 = $830&255; - HEAP8[$q>>0] = $831; - $832 = HEAP8[$bArgList>>0]|0; - $833 = ($832<<24>>24)!=(0); - if ($833) { - $834 = HEAP32[$pArgList>>2]|0; - $835 = (_getTextArg($834)|0); - HEAP32[$escarg>>2] = $835; - } else { - $836 = HEAP32[$3>>2]|0; - $arglist_current57 = HEAP32[$836>>2]|0; - $837 = HEAP32[$arglist_current57>>2]|0; - $arglist_next58 = (($arglist_current57) + 4|0); - HEAP32[$836>>2] = $arglist_next58; - HEAP32[$escarg>>2] = $837; - } - $838 = HEAP32[$escarg>>2]|0; - $839 = ($838|0)==(0|0); - $840 = $839&1; - HEAP32[$isnull>>2] = $840; - $841 = HEAP32[$isnull>>2]|0; - $842 = ($841|0)!=(0); - if ($842) { - $843 = HEAP8[$xtype>>0]|0; - $844 = $843&255; - $845 = ($844|0)==(11); - $846 = $845 ? 9840 : 38632; - HEAP32[$escarg>>2] = $846; - } - $847 = HEAP32[$precision>>2]|0; - HEAP32[$k>>2] = $847; - HEAP32[$n>>2] = 0; - HEAP32[$i2>>2] = 0; - while(1) { - $848 = HEAP32[$k>>2]|0; - $849 = ($848|0)!=(0); - if (!($849)) { - break; - } - $850 = HEAP32[$i2>>2]|0; - $851 = HEAP32[$escarg>>2]|0; - $852 = (($851) + ($850)|0); - $853 = HEAP8[$852>>0]|0; - HEAP8[$ch>>0] = $853; - $854 = $853 << 24 >> 24; - $855 = ($854|0)!=(0); - if (!($855)) { - break; - } - $856 = HEAP8[$ch>>0]|0; - $857 = $856 << 24 >> 24; - $858 = HEAP8[$q>>0]|0; - $859 = $858 << 24 >> 24; - $860 = ($857|0)==($859|0); - if ($860) { - $861 = HEAP32[$n>>2]|0; - $862 = (($861) + 1)|0; - HEAP32[$n>>2] = $862; - } - $863 = HEAP32[$i2>>2]|0; - $864 = (($863) + 1)|0; - HEAP32[$i2>>2] = $864; - $865 = HEAP32[$k>>2]|0; - $866 = (($865) + -1)|0; - HEAP32[$k>>2] = $866; - } - $867 = HEAP32[$isnull>>2]|0; - $868 = ($867|0)!=(0); - if ($868) { - $873 = 0; - } else { - $869 = HEAP8[$xtype>>0]|0; - $870 = $869&255; - $871 = ($870|0)==(11); - $873 = $871; - } - $872 = $873&1; - HEAP32[$needQuote>>2] = $872; - $874 = HEAP32[$i2>>2]|0; - $875 = (($874) + 1)|0; - $876 = HEAP32[$needQuote>>2]|0; - $877 = $876<<1; - $878 = (($875) + ($877))|0; - $879 = HEAP32[$n>>2]|0; - $880 = (($879) + ($878))|0; - HEAP32[$n>>2] = $880; - $881 = HEAP32[$n>>2]|0; - $882 = ($881|0)>(70); - if ($882) { - $883 = HEAP32[$n>>2]|0; - $884 = ($883|0)<(0); - $885 = $884 << 31 >> 31; - $886 = (_sqlite3Malloc($883,$885)|0); - HEAP32[$zExtra>>2] = $886; - HEAP32[$bufpt>>2] = $886; - $887 = HEAP32[$bufpt>>2]|0; - $888 = ($887|0)==(0|0); - if ($888) { - label = 247; - break L7; - } - } else { - HEAP32[$bufpt>>2] = $buf; - } - HEAP32[$j>>2] = 0; - $890 = HEAP32[$needQuote>>2]|0; - $891 = ($890|0)!=(0); - if ($891) { - $892 = HEAP8[$q>>0]|0; - $893 = HEAP32[$j>>2]|0; - $894 = (($893) + 1)|0; - HEAP32[$j>>2] = $894; - $895 = HEAP32[$bufpt>>2]|0; - $896 = (($895) + ($893)|0); - HEAP8[$896>>0] = $892; - } - $897 = HEAP32[$i2>>2]|0; - HEAP32[$k>>2] = $897; - HEAP32[$i2>>2] = 0; - while(1) { - $898 = HEAP32[$i2>>2]|0; - $899 = HEAP32[$k>>2]|0; - $900 = ($898|0)<($899|0); - if (!($900)) { - break; - } - $901 = HEAP32[$i2>>2]|0; - $902 = HEAP32[$escarg>>2]|0; - $903 = (($902) + ($901)|0); - $904 = HEAP8[$903>>0]|0; - HEAP8[$ch>>0] = $904; - $905 = HEAP32[$j>>2]|0; - $906 = (($905) + 1)|0; - HEAP32[$j>>2] = $906; - $907 = HEAP32[$bufpt>>2]|0; - $908 = (($907) + ($905)|0); - HEAP8[$908>>0] = $904; - $909 = HEAP8[$ch>>0]|0; - $910 = $909 << 24 >> 24; - $911 = HEAP8[$q>>0]|0; - $912 = $911 << 24 >> 24; - $913 = ($910|0)==($912|0); - if ($913) { - $914 = HEAP8[$ch>>0]|0; - $915 = HEAP32[$j>>2]|0; - $916 = (($915) + 1)|0; - HEAP32[$j>>2] = $916; - $917 = HEAP32[$bufpt>>2]|0; - $918 = (($917) + ($915)|0); - HEAP8[$918>>0] = $914; - } - $919 = HEAP32[$i2>>2]|0; - $920 = (($919) + 1)|0; - HEAP32[$i2>>2] = $920; - } - $921 = HEAP32[$needQuote>>2]|0; - $922 = ($921|0)!=(0); - if ($922) { - $923 = HEAP8[$q>>0]|0; - $924 = HEAP32[$j>>2]|0; - $925 = (($924) + 1)|0; - HEAP32[$j>>2] = $925; - $926 = HEAP32[$bufpt>>2]|0; - $927 = (($926) + ($924)|0); - HEAP8[$927>>0] = $923; - } - $928 = HEAP32[$j>>2]|0; - $929 = HEAP32[$bufpt>>2]|0; - $930 = (($929) + ($928)|0); - HEAP8[$930>>0] = 0; - $931 = HEAP32[$j>>2]|0; - HEAP32[$length>>2] = $931; - break; - } - case 12: { - $932 = HEAP32[$3>>2]|0; - $arglist_current60 = HEAP32[$932>>2]|0; - $933 = HEAP32[$arglist_current60>>2]|0; - $arglist_next61 = (($arglist_current60) + 4|0); - HEAP32[$932>>2] = $arglist_next61; - HEAP32[$pToken>>2] = $933; - $934 = HEAP32[$pToken>>2]|0; - $935 = ($934|0)!=(0|0); - if ($935) { - $936 = HEAP32[$pToken>>2]|0; - $937 = (($936) + 4|0); - $938 = HEAP32[$937>>2]|0; - $939 = ($938|0)!=(0); - if ($939) { - $940 = HEAP32[$0>>2]|0; - $941 = HEAP32[$pToken>>2]|0; - $942 = HEAP32[$941>>2]|0; - $943 = HEAP32[$pToken>>2]|0; - $944 = (($943) + 4|0); - $945 = HEAP32[$944>>2]|0; - _sqlite3StrAccumAppend($940,$942,$945); - } - } - HEAP32[$width>>2] = 0; - HEAP32[$length>>2] = 0; - break; - } - case 13: { - $946 = HEAP32[$3>>2]|0; - $arglist_current63 = HEAP32[$946>>2]|0; - $947 = HEAP32[$arglist_current63>>2]|0; - $arglist_next64 = (($arglist_current63) + 4|0); - HEAP32[$946>>2] = $arglist_next64; - HEAP32[$pSrc>>2] = $947; - $948 = HEAP32[$3>>2]|0; - $arglist_current66 = HEAP32[$948>>2]|0; - $949 = HEAP32[$arglist_current66>>2]|0; - $arglist_next67 = (($arglist_current66) + 4|0); - HEAP32[$948>>2] = $arglist_next67; - HEAP32[$k3>>2] = $949; - $950 = HEAP32[$k3>>2]|0; - $951 = HEAP32[$pSrc>>2]|0; - $952 = (($951) + 8|0); - $953 = (($952) + (($950*72)|0)|0); - HEAP32[$pItem>>2] = $953; - $954 = HEAP32[$pItem>>2]|0; - $955 = (($954) + 4|0); - $956 = HEAP32[$955>>2]|0; - $957 = ($956|0)!=(0|0); - if ($957) { - $958 = HEAP32[$0>>2]|0; - $959 = HEAP32[$pItem>>2]|0; - $960 = (($959) + 4|0); - $961 = HEAP32[$960>>2]|0; - _sqlite3StrAccumAppendAll($958,$961); - $962 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($962,19120,1); - } - $963 = HEAP32[$0>>2]|0; - $964 = HEAP32[$pItem>>2]|0; - $965 = (($964) + 8|0); - $966 = HEAP32[$965>>2]|0; - _sqlite3StrAccumAppendAll($963,$966); - HEAP32[$width>>2] = 0; - HEAP32[$length>>2] = 0; - break; - } - default: { - label = 274; - break L7; - } - } - } while(0); - if ((label|0) == 59) { - label = 0; - $161 = HEAP32[$infop>>2]|0; - $162 = (($161) + 2|0); - $163 = HEAP8[$162>>0]|0; - $164 = $163&255; - $165 = $164 & 1; - $166 = ($165|0)!=(0); - $167 = HEAP8[$bArgList>>0]|0; - $168 = ($167<<24>>24)!=(0); - do { - if ($166) { - do { - if ($168) { - $169 = HEAP32[$pArgList>>2]|0; - $170 = (_getIntArg($169)|0); - $171 = tempRet0; - $172 = $v; - $173 = $172; - HEAP32[$173>>2] = $170; - $174 = (($172) + 4)|0; - $175 = $174; - HEAP32[$175>>2] = $171; - } else { - $176 = HEAP8[$flag_longlong>>0]|0; - $177 = ($176<<24>>24)!=(0); - $178 = HEAP32[$3>>2]|0; - if ($177) { - $arglist_current33 = HEAP32[$178>>2]|0; - $179 = $arglist_current33; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = (($179) + 4)|0; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $arglist_next34 = (($arglist_current33) + 8|0); - HEAP32[$178>>2] = $arglist_next34; - $185 = $v; - $186 = $185; - HEAP32[$186>>2] = $181; - $187 = (($185) + 4)|0; - $188 = $187; - HEAP32[$188>>2] = $184; - break; - } else { - $arglist_current36 = HEAP32[$178>>2]|0; - $189 = HEAP32[$arglist_current36>>2]|0; - $arglist_next37 = (($arglist_current36) + 4|0); - HEAP32[$178>>2] = $arglist_next37; - $190 = ($189|0)<(0); - $191 = $190 << 31 >> 31; - $192 = $v; - $193 = $192; - HEAP32[$193>>2] = $189; - $194 = (($192) + 4)|0; - $195 = $194; - HEAP32[$195>>2] = $191; - break; - } - } - } while(0); - $196 = $v; - $197 = $196; - $198 = HEAP32[$197>>2]|0; - $199 = (($196) + 4)|0; - $200 = $199; - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)<(0); - $203 = $v; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - $206 = (($203) + 4)|0; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - if ($202) { - $209 = ($205|0)==(0); - $210 = ($208|0)==(-2147483648); - $211 = $209 & $210; - if ($211) { - $212 = $longvalue; - $213 = $212; - HEAP32[$213>>2] = 0; - $214 = (($212) + 4)|0; - $215 = $214; - HEAP32[$215>>2] = -2147483648; - } else { - $216 = $v; - $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = (($216) + 4)|0; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (_i64Subtract(0,0,($218|0),($221|0))|0); - $223 = tempRet0; - $224 = $longvalue; - $225 = $224; - HEAP32[$225>>2] = $222; - $226 = (($224) + 4)|0; - $227 = $226; - HEAP32[$227>>2] = $223; - } - HEAP8[$prefix>>0] = 45; - break; - } - $228 = $longvalue; - $229 = $228; - HEAP32[$229>>2] = $205; - $230 = (($228) + 4)|0; - $231 = $230; - HEAP32[$231>>2] = $208; - $232 = HEAP8[$flag_plussign>>0]|0; - $233 = ($232<<24>>24)!=(0); - if ($233) { - HEAP8[$prefix>>0] = 43; - break; - } - $234 = HEAP8[$flag_blanksign>>0]|0; - $235 = ($234<<24>>24)!=(0); - if ($235) { - HEAP8[$prefix>>0] = 32; - break; - } else { - HEAP8[$prefix>>0] = 0; - break; - } - } else { - do { - if ($168) { - $236 = HEAP32[$pArgList>>2]|0; - $237 = (_getIntArg($236)|0); - $238 = tempRet0; - $239 = $longvalue; - $240 = $239; - HEAP32[$240>>2] = $237; - $241 = (($239) + 4)|0; - $242 = $241; - HEAP32[$242>>2] = $238; - } else { - $243 = HEAP8[$flag_longlong>>0]|0; - $244 = ($243<<24>>24)!=(0); - $245 = HEAP32[$3>>2]|0; - if ($244) { - $arglist_current39 = HEAP32[$245>>2]|0; - $246 = $arglist_current39; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = (($246) + 4)|0; - $250 = $249; - $251 = HEAP32[$250>>2]|0; - $arglist_next40 = (($arglist_current39) + 8|0); - HEAP32[$245>>2] = $arglist_next40; - $252 = $longvalue; - $253 = $252; - HEAP32[$253>>2] = $248; - $254 = (($252) + 4)|0; - $255 = $254; - HEAP32[$255>>2] = $251; - break; - } else { - $arglist_current42 = HEAP32[$245>>2]|0; - $256 = HEAP32[$arglist_current42>>2]|0; - $arglist_next43 = (($arglist_current42) + 4|0); - HEAP32[$245>>2] = $arglist_next43; - $257 = $longvalue; - $258 = $257; - HEAP32[$258>>2] = $256; - $259 = (($257) + 4)|0; - $260 = $259; - HEAP32[$260>>2] = 0; - break; - } - } - } while(0); - HEAP8[$prefix>>0] = 0; - } - } while(0); - $261 = $longvalue; - $262 = $261; - $263 = HEAP32[$262>>2]|0; - $264 = (($261) + 4)|0; - $265 = $264; - $266 = HEAP32[$265>>2]|0; - $267 = ($263|0)==(0); - $268 = ($266|0)==(0); - $269 = $267 & $268; - if ($269) { - HEAP8[$flag_alternateform>>0] = 0; - } - $270 = HEAP8[$flag_zeropad>>0]|0; - $271 = $270&255; - $272 = ($271|0)!=(0); - if ($272) { - $273 = HEAP32[$precision>>2]|0; - $274 = HEAP32[$width>>2]|0; - $275 = HEAP8[$prefix>>0]|0; - $276 = $275 << 24 >> 24; - $277 = ($276|0)!=(0); - $278 = $277&1; - $279 = (($274) - ($278))|0; - $280 = ($273|0)<($279|0); - if ($280) { - $281 = HEAP32[$width>>2]|0; - $282 = HEAP8[$prefix>>0]|0; - $283 = $282 << 24 >> 24; - $284 = ($283|0)!=(0); - $285 = $284&1; - $286 = (($281) - ($285))|0; - HEAP32[$precision>>2] = $286; - } - } - $287 = HEAP32[$precision>>2]|0; - $288 = ($287|0)<(60); - if ($288) { - HEAP32[$nOut>>2] = 70; - HEAP32[$zOut>>2] = $buf; - } else { - $289 = HEAP32[$precision>>2]|0; - $290 = (($289) + 10)|0; - HEAP32[$nOut>>2] = $290; - $291 = HEAP32[$nOut>>2]|0; - $292 = ($291|0)<(0); - $293 = $292 << 31 >> 31; - $294 = (_sqlite3Malloc($291,$293)|0); - HEAP32[$zExtra>>2] = $294; - HEAP32[$zOut>>2] = $294; - $295 = HEAP32[$zOut>>2]|0; - $296 = ($295|0)==(0|0); - if ($296) { - label = 89; - break; - } - } - $298 = HEAP32[$nOut>>2]|0; - $299 = (($298) - 1)|0; - $300 = HEAP32[$zOut>>2]|0; - $301 = (($300) + ($299)|0); - HEAP32[$bufpt>>2] = $301; - $302 = HEAP8[$xtype>>0]|0; - $303 = $302&255; - $304 = ($303|0)==(16); - if ($304) { - $305 = $longvalue; - $306 = $305; - $307 = HEAP32[$306>>2]|0; - $308 = (($305) + 4)|0; - $309 = $308; - $310 = HEAP32[$309>>2]|0; - $311 = (___uremdi3(($307|0),($310|0),10,0)|0); - $312 = tempRet0; - HEAP32[$x>>2] = $311; - $313 = HEAP32[$x>>2]|0; - $314 = ($313|0)>=(4); - if ($314) { - label = 93; - } else { - $315 = $longvalue; - $316 = $315; - $317 = HEAP32[$316>>2]|0; - $318 = (($315) + 4)|0; - $319 = $318; - $320 = HEAP32[$319>>2]|0; - $321 = (___udivdi3(($317|0),($320|0),10,0)|0); - $322 = tempRet0; - $323 = (___uremdi3(($321|0),($322|0),10,0)|0); - $324 = tempRet0; - $325 = ($323|0)==(1); - $326 = ($324|0)==(0); - $327 = $325 & $326; - if ($327) { - label = 93; - } - } - if ((label|0) == 93) { - label = 0; - HEAP32[$x>>2] = 0; - } - $328 = HEAP32[$x>>2]|0; - $329 = $328<<1; - $330 = (($329) + 1)|0; - $331 = (38536 + ($330)|0); - $332 = HEAP8[$331>>0]|0; - $333 = HEAP32[$bufpt>>2]|0; - $334 = (($333) + -1|0); - HEAP32[$bufpt>>2] = $334; - HEAP8[$334>>0] = $332; - $335 = HEAP32[$x>>2]|0; - $336 = $335<<1; - $337 = (38536 + ($336)|0); - $338 = HEAP8[$337>>0]|0; - $339 = HEAP32[$bufpt>>2]|0; - $340 = (($339) + -1|0); - HEAP32[$bufpt>>2] = $340; - HEAP8[$340>>0] = $338; - } - $341 = HEAP32[$infop>>2]|0; - $342 = (($341) + 4|0); - $343 = HEAP8[$342>>0]|0; - $344 = $343&255; - $345 = (38552 + ($344)|0); - HEAP32[$cset>>2] = $345; - $346 = HEAP32[$infop>>2]|0; - $347 = (($346) + 1|0); - $348 = HEAP8[$347>>0]|0; - HEAP8[$base>>0] = $348; - while(1) { - $349 = $longvalue; - $350 = $349; - $351 = HEAP32[$350>>2]|0; - $352 = (($349) + 4)|0; - $353 = $352; - $354 = HEAP32[$353>>2]|0; - $355 = HEAP8[$base>>0]|0; - $356 = $355&255; - $357 = (___uremdi3(($351|0),($354|0),($356|0),0)|0); - $358 = tempRet0; - $359 = HEAP32[$cset>>2]|0; - $360 = (($359) + ($357)|0); - $361 = HEAP8[$360>>0]|0; - $362 = HEAP32[$bufpt>>2]|0; - $363 = (($362) + -1|0); - HEAP32[$bufpt>>2] = $363; - HEAP8[$363>>0] = $361; - $364 = $longvalue; - $365 = $364; - $366 = HEAP32[$365>>2]|0; - $367 = (($364) + 4)|0; - $368 = $367; - $369 = HEAP32[$368>>2]|0; - $370 = HEAP8[$base>>0]|0; - $371 = $370&255; - $372 = (___udivdi3(($366|0),($369|0),($371|0),0)|0); - $373 = tempRet0; - $374 = $longvalue; - $375 = $374; - HEAP32[$375>>2] = $372; - $376 = (($374) + 4)|0; - $377 = $376; - HEAP32[$377>>2] = $373; - $378 = $longvalue; - $379 = $378; - $380 = HEAP32[$379>>2]|0; - $381 = (($378) + 4)|0; - $382 = $381; - $383 = HEAP32[$382>>2]|0; - $384 = ($383>>>0)>(0); - $385 = ($380>>>0)>(0); - $386 = ($383|0)==(0); - $387 = $386 & $385; - $388 = $384 | $387; - if (!($388)) { - break; - } - } - $389 = HEAP32[$nOut>>2]|0; - $390 = (($389) - 1)|0; - $391 = HEAP32[$zOut>>2]|0; - $392 = (($391) + ($390)|0); - $393 = HEAP32[$bufpt>>2]|0; - $394 = $392; - $395 = $393; - $396 = (($394) - ($395))|0; - HEAP32[$length>>2] = $396; - $397 = HEAP32[$precision>>2]|0; - $398 = HEAP32[$length>>2]|0; - $399 = (($397) - ($398))|0; - HEAP32[$idx>>2] = $399; - while(1) { - $400 = HEAP32[$idx>>2]|0; - $401 = ($400|0)>(0); - if (!($401)) { - break; - } - $402 = HEAP32[$bufpt>>2]|0; - $403 = (($402) + -1|0); - HEAP32[$bufpt>>2] = $403; - HEAP8[$403>>0] = 48; - $404 = HEAP32[$idx>>2]|0; - $405 = (($404) + -1)|0; - HEAP32[$idx>>2] = $405; - } - $406 = HEAP8[$prefix>>0]|0; - $407 = ($406<<24>>24)!=(0); - if ($407) { - $408 = HEAP8[$prefix>>0]|0; - $409 = HEAP32[$bufpt>>2]|0; - $410 = (($409) + -1|0); - HEAP32[$bufpt>>2] = $410; - HEAP8[$410>>0] = $408; - } - $411 = HEAP8[$flag_alternateform>>0]|0; - $412 = $411&255; - $413 = ($412|0)!=(0); - L356: do { - if ($413) { - $414 = HEAP32[$infop>>2]|0; - $415 = (($414) + 5|0); - $416 = HEAP8[$415>>0]|0; - $417 = $416&255; - $418 = ($417|0)!=(0); - if ($418) { - $419 = HEAP32[$infop>>2]|0; - $420 = (($419) + 5|0); - $421 = HEAP8[$420>>0]|0; - $422 = $421&255; - $423 = (38592 + ($422)|0); - HEAP32[$pre>>2] = $423; - while(1) { - $424 = HEAP32[$pre>>2]|0; - $425 = HEAP8[$424>>0]|0; - HEAP8[$x1>>0] = $425; - $426 = $425 << 24 >> 24; - $427 = ($426|0)!=(0); - if (!($427)) { - break L356; - } - $428 = HEAP8[$x1>>0]|0; - $429 = HEAP32[$bufpt>>2]|0; - $430 = (($429) + -1|0); - HEAP32[$bufpt>>2] = $430; - HEAP8[$430>>0] = $428; - $431 = HEAP32[$pre>>2]|0; - $432 = (($431) + 1|0); - HEAP32[$pre>>2] = $432; - } - } - } - } while(0); - $433 = HEAP32[$nOut>>2]|0; - $434 = (($433) - 1)|0; - $435 = HEAP32[$zOut>>2]|0; - $436 = (($435) + ($434)|0); - $437 = HEAP32[$bufpt>>2]|0; - $438 = $436; - $439 = $437; - $440 = (($438) - ($439))|0; - HEAP32[$length>>2] = $440; - } - $967 = HEAP32[$length>>2]|0; - $968 = HEAP32[$width>>2]|0; - $969 = (($968) - ($967))|0; - HEAP32[$width>>2] = $969; - $970 = HEAP32[$width>>2]|0; - $971 = ($970|0)<=(0); - $972 = HEAP8[$flag_leftjustify>>0]|0; - $973 = ($972<<24>>24)!=(0); - $or$cond15 = $971 | $973; - if (!($or$cond15)) { - $974 = HEAP32[$0>>2]|0; - $975 = HEAP32[$width>>2]|0; - _sqlite3AppendChar($974,$975,32); - } - $976 = HEAP32[$0>>2]|0; - $977 = HEAP32[$bufpt>>2]|0; - $978 = HEAP32[$length>>2]|0; - _sqlite3StrAccumAppend($976,$977,$978); - $979 = HEAP32[$width>>2]|0; - $980 = ($979|0)>(0); - if ($980) { - $981 = HEAP8[$flag_leftjustify>>0]|0; - $982 = $981&255; - $983 = ($982|0)!=(0); - if ($983) { - $984 = HEAP32[$0>>2]|0; - $985 = HEAP32[$width>>2]|0; - _sqlite3AppendChar($984,$985,32); - } - } - $986 = HEAP32[$zExtra>>2]|0; - $987 = ($986|0)!=(0|0); - if ($987) { - $988 = HEAP32[$zExtra>>2]|0; - _sqlite3_free($988); - HEAP32[$zExtra>>2] = 0; - } - $989 = HEAP32[$2>>2]|0; - $990 = (($989) + 1|0); - HEAP32[$2>>2] = $990; - } - if ((label|0) == 13) { - $49 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($49,38384,1); - STACKTOP = sp;return; - } - else if ((label|0) == 89) { - $297 = HEAP32[$0>>2]|0; - _setStrAccumError($297,1); - STACKTOP = sp;return; - } - else if ((label|0) == 167) { - $602 = HEAP32[$0>>2]|0; - _setStrAccumError($602,1); - STACKTOP = sp;return; - } - else if ((label|0) == 247) { - $889 = HEAP32[$0>>2]|0; - _setStrAccumError($889,1); - STACKTOP = sp;return; - } - else if ((label|0) == 274) { - STACKTOP = sp;return; - } -} -function _sqlite3StrAccumFinish($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - do { - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7)|0); - HEAP8[$11>>0] = 0; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 24|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)==($22|0); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 24|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==(1); - $29 = HEAP32[$0>>2]|0; - if ($28) { - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 1)|0; - $35 = ($34|0)<(0); - $36 = $35 << 31 >> 31; - $37 = (_sqlite3DbMallocRaw($30,$34,$36)|0); - $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 8|0); - HEAP32[$39>>2] = $37; - } else { - $40 = (($29) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 1)|0; - $43 = (_sqlite3_malloc($42)|0); - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 8|0); - HEAP32[$45>>2] = $43; - } - $46 = HEAP32[$0>>2]|0; - $47 = (($46) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)!=(0|0); - $50 = HEAP32[$0>>2]|0; - if ($49) { - $51 = (($50) + 8|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 12|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + 1)|0; - _memcpy(($52|0),($55|0),($59|0))|0; - break; - } else { - _setStrAccumError($50,1); - break; - } - } - } - } - } while(0); - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 8|0); - $62 = HEAP32[$61>>2]|0; - STACKTOP = sp;return ($62|0); -} -function _sqlite3_mprintf($zFormat,$varargs) { - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $ap = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $ap = sp + 8|0; - $z = sp; - HEAP32[$1>>2] = $zFormat; - $2 = (_sqlite3_initialize()|0); - $3 = ($2|0)!=(0); - if ($3) { - HEAP32[$0>>2] = 0; - $7 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($7|0); - } else { - HEAP32[$ap>>2] = $varargs; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3_vmprintf($4,$ap)|0); - HEAP32[$z>>2] = $5; - $6 = HEAP32[$z>>2]|0; - HEAP32[$0>>2] = $6; - $7 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($7|0); - } - return 0|0; -} -function _sqlite3_vsnprintf($n,$zBuf,$zFormat,$ap) { - $n = $n|0; - $zBuf = $zBuf|0; - $zFormat = $zFormat|0; - $ap = $ap|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $acc = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $acc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -10429,7 +7154,7 @@ function _sqlite3_vsnprintf($n,$zBuf,$zFormat,$ap) { } else { $8 = HEAP32[$1>>2]|0; _sqlite3StrAccumInit($acc,$7,$8,0); - $9 = (($acc) + 24|0); + $9 = ((($acc)) + 24|0); HEAP8[$9>>0] = 0; $10 = HEAP32[$3>>2]|0; $11 = HEAP32[$4>>2]|0; @@ -10439,7 +7164,7 @@ function _sqlite3_vsnprintf($n,$zBuf,$zFormat,$ap) { $13 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($13|0); } - return 0|0; + return (0)|0; } function _sqlite3_snprintf($n,$zBuf,$zFormat,$varargs) { $n = $n|0; @@ -10478,7 +7203,7 @@ function _sqlite3_log($iErrCode,$zFormat,$varargs) { $ap = sp; HEAP32[$0>>2] = $iErrCode; HEAP32[$1>>2] = $zFormat; - $2 = HEAP32[((38640 + 252|0))>>2]|0; + $2 = HEAP32[(260)>>2]|0; $3 = ($2|0)!=(0|0); if (!($3)) { STACKTOP = sp;return; @@ -10489,34 +7214,6 @@ function _sqlite3_log($iErrCode,$zFormat,$varargs) { _renderLogMsg($4,$5,$ap); STACKTOP = sp;return; } -function _renderLogMsg($iErrCode,$zFormat,$ap) { - $iErrCode = $iErrCode|0; - $zFormat = $zFormat|0; - $ap = $ap|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $acc = 0, $zMsg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $acc = sp; - $zMsg = sp + 40|0; - HEAP32[$0>>2] = $iErrCode; - HEAP32[$1>>2] = $zFormat; - HEAP32[$2>>2] = $ap; - _sqlite3StrAccumInit($acc,$zMsg,210,0); - $3 = (($acc) + 24|0); - HEAP8[$3>>0] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - _sqlite3VXPrintf($acc,0,$4,$5); - $6 = HEAP32[((38640 + 252|0))>>2]|0; - $7 = HEAP32[((38640 + 256|0))>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (_sqlite3StrAccumFinish($acc)|0); - FUNCTION_TABLE_viii[$6 & 63]($7,$8,$9); - STACKTOP = sp;return; -} function _sqlite3_randomness($N,$pBuf) { $N = $N|0; $pBuf = $pBuf|0; @@ -10540,14 +7237,14 @@ function _sqlite3_randomness($N,$pBuf) { $3 = HEAP32[$0>>2]|0; $4 = ($3|0)<=(0); if ($4) { - HEAP8[176>>0] = 0; + HEAP8[14104>>0] = 0; STACKTOP = sp;return; } - $5 = HEAP8[176>>0]|0; + $5 = HEAP8[14104>>0]|0; $6 = ($5<<24>>24)!=(0); if (!($6)) { - HEAP8[((176 + 2|0))>>0] = 0; - HEAP8[((176 + 1|0))>>0] = 0; + HEAP8[(14106)>>0] = 0; + HEAP8[(14105)>>0] = 0; $7 = (_sqlite3_vfs_find(0)|0); (_sqlite3OsRandomness($7,256,$k)|0); HEAP32[$i>>2] = 0; @@ -10560,7 +7257,7 @@ function _sqlite3_randomness($N,$pBuf) { $10 = HEAP32[$i>>2]|0; $11 = $10&255; $12 = HEAP32[$i>>2]|0; - $13 = (((176 + 3|0)) + ($12)|0); + $13 = ((14107) + ($12)|0); HEAP8[$13>>0] = $11; $14 = HEAP32[$i>>2]|0; $15 = (($14) + 1)|0; @@ -10574,7 +7271,7 @@ function _sqlite3_randomness($N,$pBuf) { break; } $18 = HEAP32[$i>>2]|0; - $19 = (((176 + 3|0)) + ($18)|0); + $19 = ((14107) + ($18)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = HEAP32[$i>>2]|0; @@ -10582,65 +7279,65 @@ function _sqlite3_randomness($N,$pBuf) { $24 = HEAP8[$23>>0]|0; $25 = $24 << 24 >> 24; $26 = (($21) + ($25))|0; - $27 = HEAP8[((176 + 2|0))>>0]|0; + $27 = HEAP8[(14106)>>0]|0; $28 = $27&255; $29 = (($28) + ($26))|0; $30 = $29&255; - HEAP8[((176 + 2|0))>>0] = $30; - $31 = HEAP8[((176 + 2|0))>>0]|0; + HEAP8[(14106)>>0] = $30; + $31 = HEAP8[(14106)>>0]|0; $32 = $31&255; - $33 = (((176 + 3|0)) + ($32)|0); + $33 = ((14107) + ($32)|0); $34 = HEAP8[$33>>0]|0; HEAP8[$t>>0] = $34; $35 = HEAP32[$i>>2]|0; - $36 = (((176 + 3|0)) + ($35)|0); + $36 = ((14107) + ($35)|0); $37 = HEAP8[$36>>0]|0; - $38 = HEAP8[((176 + 2|0))>>0]|0; + $38 = HEAP8[(14106)>>0]|0; $39 = $38&255; - $40 = (((176 + 3|0)) + ($39)|0); + $40 = ((14107) + ($39)|0); HEAP8[$40>>0] = $37; $41 = HEAP8[$t>>0]|0; $42 = HEAP32[$i>>2]|0; - $43 = (((176 + 3|0)) + ($42)|0); + $43 = ((14107) + ($42)|0); HEAP8[$43>>0] = $41; $44 = HEAP32[$i>>2]|0; $45 = (($44) + 1)|0; HEAP32[$i>>2] = $45; } - HEAP8[176>>0] = 1; + HEAP8[14104>>0] = 1; } while(1) { - $46 = HEAP8[((176 + 1|0))>>0]|0; + $46 = HEAP8[(14105)>>0]|0; $47 = (($46) + 1)<<24>>24; - HEAP8[((176 + 1|0))>>0] = $47; - $48 = HEAP8[((176 + 1|0))>>0]|0; + HEAP8[(14105)>>0] = $47; + $48 = HEAP8[(14105)>>0]|0; $49 = $48&255; - $50 = (((176 + 3|0)) + ($49)|0); + $50 = ((14107) + ($49)|0); $51 = HEAP8[$50>>0]|0; HEAP8[$t>>0] = $51; $52 = HEAP8[$t>>0]|0; $53 = $52&255; - $54 = HEAP8[((176 + 2|0))>>0]|0; + $54 = HEAP8[(14106)>>0]|0; $55 = $54&255; $56 = (($55) + ($53))|0; $57 = $56&255; - HEAP8[((176 + 2|0))>>0] = $57; - $58 = HEAP8[((176 + 2|0))>>0]|0; + HEAP8[(14106)>>0] = $57; + $58 = HEAP8[(14106)>>0]|0; $59 = $58&255; - $60 = (((176 + 3|0)) + ($59)|0); + $60 = ((14107) + ($59)|0); $61 = HEAP8[$60>>0]|0; - $62 = HEAP8[((176 + 1|0))>>0]|0; + $62 = HEAP8[(14105)>>0]|0; $63 = $62&255; - $64 = (((176 + 3|0)) + ($63)|0); + $64 = ((14107) + ($63)|0); HEAP8[$64>>0] = $61; $65 = HEAP8[$t>>0]|0; - $66 = HEAP8[((176 + 2|0))>>0]|0; + $66 = HEAP8[(14106)>>0]|0; $67 = $66&255; - $68 = (((176 + 3|0)) + ($67)|0); + $68 = ((14107) + ($67)|0); HEAP8[$68>>0] = $65; - $69 = HEAP8[((176 + 1|0))>>0]|0; + $69 = HEAP8[(14105)>>0]|0; $70 = $69&255; - $71 = (((176 + 3|0)) + ($70)|0); + $71 = ((14107) + ($70)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = HEAP8[$t>>0]|0; @@ -10650,10 +7347,10 @@ function _sqlite3_randomness($N,$pBuf) { HEAP8[$t>>0] = $77; $78 = HEAP8[$t>>0]|0; $79 = $78&255; - $80 = (((176 + 3|0)) + ($79)|0); + $80 = ((14107) + ($79)|0); $81 = HEAP8[$80>>0]|0; $82 = HEAP32[$zBuf>>2]|0; - $83 = (($82) + 1|0); + $83 = ((($82)) + 1|0); HEAP32[$zBuf>>2] = $83; HEAP8[$82>>0] = $81; $84 = HEAP32[$0>>2]|0; @@ -10666,28 +7363,6 @@ function _sqlite3_randomness($N,$pBuf) { } STACKTOP = sp;return; } -function _sqlite3OsRandomness($pVfs,$nByte,$zBufOut) { - $pVfs = $pVfs|0; - $nByte = $nByte|0; - $zBufOut = $zBufOut|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $nByte; - HEAP32[$2>>2] = $zBufOut; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 56|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (FUNCTION_TABLE_iiii[$5 & 31]($6,$7,$8)|0); - STACKTOP = sp;return ($9|0); -} function _sqlite3_stricmp($zLeft,$zRight) { $zLeft = $zLeft|0; $zRight = $zRight|0; @@ -10715,13 +7390,13 @@ function _sqlite3_stricmp($zLeft,$zRight) { $8 = HEAP32[$a>>2]|0; $9 = HEAP8[$8>>0]|0; $10 = $9&255; - $11 = (440 + ($10)|0); + $11 = (13848 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = HEAP32[$b>>2]|0; $15 = HEAP8[$14>>0]|0; $16 = $15&255; - $17 = (440 + ($16)|0); + $17 = (13848 + ($16)|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = ($13|0)==($19|0); @@ -10733,21 +7408,21 @@ function _sqlite3_stricmp($zLeft,$zRight) { if (!($37)) { break; } - $22 = (($21) + 1|0); + $22 = ((($21)) + 1|0); HEAP32[$a>>2] = $22; $23 = HEAP32[$b>>2]|0; - $24 = (($23) + 1|0); + $24 = ((($23)) + 1|0); HEAP32[$b>>2] = $24; } $25 = HEAP8[$21>>0]|0; $26 = $25&255; - $27 = (440 + ($26)|0); + $27 = (13848 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = HEAP32[$b>>2]|0; $31 = HEAP8[$30>>0]|0; $32 = $31&255; - $33 = (440 + ($32)|0); + $33 = (13848 + ($32)|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; $36 = (($29) - ($35))|0; @@ -10766,7 +7441,7 @@ function _sqlite3_os_init() { break; } $2 = HEAP32[$i>>2]|0; - $3 = (696 + (($2*88)|0)|0); + $3 = (564 + (($2*88)|0)|0); $4 = HEAP32[$i>>2]|0; $5 = ($4|0)==(0); $6 = $5&1; @@ -10777,6765 +7452,8324 @@ function _sqlite3_os_init() { } STACKTOP = sp;return 0; } -function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $pFile = $pFile|0; - $flags = $flags|0; - $pOutFlags = $pOutFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ctrlFlags = 0, $eType = 0, $fd = 0, $gid = 0, $isCreate = 0, $isDelete = 0, $isExclusive = 0; - var $isReadWrite = 0, $isReadonly = 0, $noLock = 0, $openFlags = 0, $openMode = 0, $or$cond = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0, $p = 0, $pUnused = 0, $rc = 0, $syncDir = 0, $uid = 0, $zName = 0, $zTmpname = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3_backup_step($p,$nPage) { + $p = $p|0; + $nPage = $nPage|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; + var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; + var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; + var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; + var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; + var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; + var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bCloseTrans = 0, $destMode = 0, $iEnd = 0, $iOff = 0, $iPg = 0; + var $iSize = 0, $iSrcPg = 0, $iSrcPg2 = 0, $ii = 0, $nDestTruncate = 0, $nDstPage = 0, $nSrcPage = 0, $or$cond = 0, $or$cond4 = 0, $pDestPager = 0, $pFile = 0, $pPg = 0, $pSrcPager = 0, $pSrcPg = 0, $pSrcPg1 = 0, $pgszDest = 0, $pgszSrc = 0, $ratio = 0, $rc = 0, $zData = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 624|0; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $4 = sp + 76|0; - $5 = sp + 72|0; - $p = sp + 68|0; - $fd = sp + 64|0; - $openFlags = sp + 60|0; - $eType = sp + 56|0; - $noLock = sp + 52|0; - $rc = sp + 48|0; - $ctrlFlags = sp + 44|0; - $isExclusive = sp + 40|0; - $isDelete = sp + 36|0; - $isCreate = sp + 32|0; - $isReadonly = sp + 28|0; - $isReadWrite = sp + 24|0; - $syncDir = sp + 20|0; - $zTmpname = sp + 96|0; - $zName = sp + 16|0; - $pUnused = sp + 12|0; - $openMode = sp + 8|0; - $uid = sp + 4|0; - $gid = sp; - HEAP32[$1>>2] = $pVfs; - HEAP32[$2>>2] = $zPath; - HEAP32[$3>>2] = $pFile; - HEAP32[$4>>2] = $flags; - HEAP32[$5>>2] = $pOutFlags; - $6 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $6; - HEAP32[$fd>>2] = -1; - HEAP32[$openFlags>>2] = 0; - $7 = HEAP32[$4>>2]|0; - $8 = $7 & -256; - HEAP32[$eType>>2] = $8; - HEAP32[$rc>>2] = 0; - HEAP32[$ctrlFlags>>2] = 0; - $9 = HEAP32[$4>>2]|0; - $10 = $9 & 16; - HEAP32[$isExclusive>>2] = $10; - $11 = HEAP32[$4>>2]|0; - $12 = $11 & 8; - HEAP32[$isDelete>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = $13 & 4; - HEAP32[$isCreate>>2] = $14; - $15 = HEAP32[$4>>2]|0; - $16 = $15 & 1; - HEAP32[$isReadonly>>2] = $16; - $17 = HEAP32[$4>>2]|0; - $18 = $17 & 2; - HEAP32[$isReadWrite>>2] = $18; - $19 = HEAP32[$isCreate>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$eType>>2]|0; - $22 = ($21|0)==(16384); - $23 = HEAP32[$eType>>2]|0; - $24 = ($23|0)==(2048); - $or$cond = $22 | $24; - if ($or$cond) { - $28 = 1; + STACKTOP = STACKTOP + 112|0; + $0 = sp + 104|0; + $1 = sp + 96|0; + $rc = sp + 88|0; + $destMode = sp + 44|0; + $pgszSrc = sp + 24|0; + $pgszDest = sp + 76|0; + $pSrcPager = sp + 40|0; + $pDestPager = sp + 28|0; + $ii = sp + 32|0; + $nSrcPage = sp + 36|0; + $bCloseTrans = sp + 92|0; + $iSrcPg = sp + 100|0; + $pSrcPg = sp + 108|0; + $nDestTruncate = sp + 48|0; + $ratio = sp + 52|0; + $iSize = sp + 8|0; + $pFile = sp + 60|0; + $iPg = sp + 64|0; + $nDstPage = sp + 72|0; + $iOff = sp; + $iEnd = sp + 16|0; + $pPg = sp + 80|0; + $pSrcPg1 = sp + 56|0; + $iSrcPg2 = sp + 68|0; + $zData = sp + 84|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $nPage; + HEAP32[$pgszSrc>>2] = 0; + HEAP32[$pgszDest>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + _sqlite3BtreeEnter($4); + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 28|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$rc>>2] = $7; + $8 = HEAP32[$rc>>2]|0; + $9 = (_isFatalError($8)|0); + $10 = ($9|0)!=(0); + if ($10) { + $413 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($413|0); + } + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3BtreePager($13)|0); + HEAP32[$pSrcPager>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3BtreePager($17)|0); + HEAP32[$pDestPager>>2] = $18; + HEAP32[$nSrcPage>>2] = -1; + HEAP32[$bCloseTrans>>2] = 0; + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = ($29|0)==(2); + if ($30) { + HEAP32[$rc>>2] = 5; } else { - $25 = HEAP32[$eType>>2]|0; - $26 = ($25|0)==(524288); - $28 = $26; + label = 5; } } else { - $28 = 0; + label = 5; } - $27 = $28&1; - HEAP32[$syncDir>>2] = $27; - $29 = HEAP32[$2>>2]|0; - HEAP32[$zName>>2] = $29; - $30 = HEAP32[38096>>2]|0; - $31 = (_getpid()|0); - $32 = ($30|0)!=($31|0); - if ($32) { - $33 = (_getpid()|0); - HEAP32[38096>>2] = $33; - _sqlite3_randomness(0,0); + if ((label|0) == 5) { + HEAP32[$rc>>2] = 0; } - $34 = HEAP32[$p>>2]|0; - dest=$34+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $35 = HEAP32[$eType>>2]|0; - $36 = ($35|0)==(256); - $37 = HEAP32[$zName>>2]|0; - do { + $31 = HEAP32[$rc>>2]|0; + $32 = (0)==($31|0); + if ($32) { + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0); if ($36) { - $38 = HEAP32[$4>>2]|0; - $39 = (_findReusableFd($37,$38)|0); - HEAP32[$pUnused>>2] = $39; - $40 = HEAP32[$pUnused>>2]|0; - $41 = ($40|0)!=(0|0); + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3BtreeBeginTrans($39,2)|0); + HEAP32[$rc>>2] = $40; + $41 = (0)==($40|0); if ($41) { - $42 = HEAP32[$pUnused>>2]|0; - $43 = HEAP32[$42>>2]|0; - HEAP32[$fd>>2] = $43; - } else { - $44 = (_sqlite3_malloc(12)|0); - HEAP32[$pUnused>>2] = $44; - $45 = HEAP32[$pUnused>>2]|0; - $46 = ($45|0)!=(0|0); - if (!($46)) { - HEAP32[$0>>2] = 7; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); - } - } - $47 = HEAP32[$pUnused>>2]|0; - $48 = HEAP32[$p>>2]|0; - $49 = (($48) + 28|0); - HEAP32[$49>>2] = $47; - } else { - $50 = ($37|0)!=(0|0); - if (!($50)) { - $51 = (_unixGetTempname(514,$zTmpname)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - if (!($53)) { - HEAP32[$zName>>2] = $zTmpname; - break; - } - $54 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $54; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 12|0); + HEAP32[$43>>2] = 1; + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 8|0); + _sqlite3BtreeGetMeta($46,1,$48); } } - } while(0); - $55 = HEAP32[$isReadonly>>2]|0; - $56 = ($55|0)!=(0); - if ($56) { - $57 = HEAP32[$openFlags>>2]|0; - HEAP32[$openFlags>>2] = $57; - } - $58 = HEAP32[$isReadWrite>>2]|0; - $59 = ($58|0)!=(0); - if ($59) { - $60 = HEAP32[$openFlags>>2]|0; - $61 = $60 | 2; - HEAP32[$openFlags>>2] = $61; } - $62 = HEAP32[$isCreate>>2]|0; - $63 = ($62|0)!=(0); - if ($63) { - $64 = HEAP32[$openFlags>>2]|0; - $65 = $64 | 64; - HEAP32[$openFlags>>2] = $65; + $49 = HEAP32[$rc>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$0>>2]|0; + $52 = ((($51)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = (_sqlite3BtreeIsInReadTrans($53)|0); + $55 = (0)==($54|0); + if ($55) { + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_sqlite3BtreeBeginTrans($58,0)|0); + HEAP32[$rc>>2] = $59; + HEAP32[$bCloseTrans>>2] = 1; + } } - $66 = HEAP32[$isExclusive>>2]|0; - $67 = ($66|0)!=(0); - if ($67) { - $68 = HEAP32[$openFlags>>2]|0; - $69 = $68 | 131200; - HEAP32[$openFlags>>2] = $69; + $60 = HEAP32[$0>>2]|0; + $61 = ((($60)) + 24|0); + $62 = HEAP32[$61>>2]|0; + $63 = (_sqlite3BtreeGetPageSize($62)|0); + HEAP32[$pgszSrc>>2] = $63; + $64 = HEAP32[$0>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = (_sqlite3BtreeGetPageSize($66)|0); + HEAP32[$pgszDest>>2] = $67; + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3BtreePager($70)|0); + $72 = (_sqlite3PagerGetJournalMode($71)|0); + HEAP32[$destMode>>2] = $72; + $73 = HEAP32[$rc>>2]|0; + $74 = (0)==($73|0); + $75 = HEAP32[$destMode>>2]|0; + $76 = ($75|0)==(5); + $or$cond = $74 & $76; + if ($or$cond) { + $77 = HEAP32[$pgszSrc>>2]|0; + $78 = HEAP32[$pgszDest>>2]|0; + $79 = ($77|0)!=($78|0); + if ($79) { + HEAP32[$rc>>2] = 8; + } } - $70 = HEAP32[$openFlags>>2]|0; - HEAP32[$openFlags>>2] = $70; - $71 = HEAP32[$fd>>2]|0; - $72 = ($71|0)<(0); - do { - if ($72) { - $73 = HEAP32[$zName>>2]|0; - $74 = HEAP32[$4>>2]|0; - $75 = (_findCreateFileMode($73,$74,$openMode,$uid,$gid)|0); - HEAP32[$rc>>2] = $75; - $76 = HEAP32[$rc>>2]|0; - $77 = ($76|0)!=(0); - if ($77) { - $78 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $78; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $80 = HEAP32[$0>>2]|0; + $81 = ((($80)) + 24|0); + $82 = HEAP32[$81>>2]|0; + $83 = (_sqlite3BtreeLastPage($82)|0); + HEAP32[$nSrcPage>>2] = $83; + HEAP32[$ii>>2] = 0; + while(1) { + $84 = HEAP32[$1>>2]|0; + $85 = ($84|0)<(0); + if (!($85)) { + $86 = HEAP32[$ii>>2]|0; + $87 = HEAP32[$1>>2]|0; + $88 = ($86|0)<($87|0); + if (!($88)) { + break; } - $79 = HEAP32[$zName>>2]|0; - $80 = HEAP32[$openFlags>>2]|0; - $81 = HEAP32[$openMode>>2]|0; - $82 = (_robust_open($79,$80,$81)|0); - HEAP32[$fd>>2] = $82; - $83 = HEAP32[$fd>>2]|0; - $84 = ($83|0)<(0); - if ($84) { - $85 = (___errno_location()|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)!=(21); - $88 = HEAP32[$isReadWrite>>2]|0; - $89 = ($88|0)!=(0); - $or$cond3 = $87 & $89; - $or$cond3$not = $or$cond3 ^ 1; - $90 = HEAP32[$isExclusive>>2]|0; - $91 = ($90|0)!=(0); - $or$cond5 = $or$cond3$not | $91; - if (!($or$cond5)) { - $92 = HEAP32[$4>>2]|0; - $93 = $92 & -7; - HEAP32[$4>>2] = $93; - $94 = HEAP32[$openFlags>>2]|0; - $95 = $94 & -67; - HEAP32[$openFlags>>2] = $95; - $96 = HEAP32[$4>>2]|0; - $97 = $96 | 1; - HEAP32[$4>>2] = $97; - $98 = HEAP32[$openFlags>>2]|0; - HEAP32[$openFlags>>2] = $98; - HEAP32[$isReadonly>>2] = 1; - $99 = HEAP32[$zName>>2]|0; - $100 = HEAP32[$openFlags>>2]|0; - $101 = HEAP32[$openMode>>2]|0; - $102 = (_robust_open($99,$100,$101)|0); - HEAP32[$fd>>2] = $102; - } + } + $89 = HEAP32[$0>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$nSrcPage>>2]|0; + $93 = ($91>>>0)<=($92>>>0); + if (!($93)) { + break; + } + $94 = HEAP32[$rc>>2]|0; + $95 = ($94|0)!=(0); + $96 = $95 ^ 1; + if (!($96)) { + break; + } + $97 = HEAP32[$0>>2]|0; + $98 = ((($97)) + 16|0); + $99 = HEAP32[$98>>2]|0; + HEAP32[$iSrcPg>>2] = $99; + $100 = HEAP32[$iSrcPg>>2]|0; + $101 = HEAP32[916>>2]|0; + $102 = HEAP32[$0>>2]|0; + $103 = ((($102)) + 24|0); + $104 = HEAP32[$103>>2]|0; + $105 = ((($104)) + 4|0); + $106 = HEAP32[$105>>2]|0; + $107 = ((($106)) + 32|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($101>>>0) / ($108>>>0))&-1; + $110 = (($109) + 1)|0; + $111 = ($100|0)!=($110|0); + if ($111) { + $112 = HEAP32[$pSrcPager>>2]|0; + $113 = HEAP32[$iSrcPg>>2]|0; + $114 = (_sqlite3PagerAcquire($112,$113,$pSrcPg,2)|0); + HEAP32[$rc>>2] = $114; + $115 = HEAP32[$rc>>2]|0; + $116 = ($115|0)==(0); + if ($116) { + $117 = HEAP32[$0>>2]|0; + $118 = HEAP32[$iSrcPg>>2]|0; + $119 = HEAP32[$pSrcPg>>2]|0; + $120 = (_sqlite3PagerGetData($119)|0); + $121 = (_backupOnePage($117,$118,$120,0)|0); + HEAP32[$rc>>2] = $121; + $122 = HEAP32[$pSrcPg>>2]|0; + _sqlite3PagerUnref($122); } - $103 = HEAP32[$fd>>2]|0; - $104 = ($103|0)<(0); - if ($104) { - $105 = (_sqlite3CantopenError(30591)|0); - $106 = HEAP32[$zName>>2]|0; - $107 = (_unixLogErrorAtLine($105,37536,$106,30591)|0); - HEAP32[$rc>>2] = $107; + } + $123 = HEAP32[$0>>2]|0; + $124 = ((($123)) + 16|0); + $125 = HEAP32[$124>>2]|0; + $126 = (($125) + 1)|0; + HEAP32[$124>>2] = $126; + $127 = HEAP32[$ii>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$ii>>2] = $128; + } + $129 = HEAP32[$rc>>2]|0; + $130 = ($129|0)==(0); + do { + if ($130) { + $131 = HEAP32[$nSrcPage>>2]|0; + $132 = HEAP32[$0>>2]|0; + $133 = ((($132)) + 36|0); + HEAP32[$133>>2] = $131; + $134 = HEAP32[$nSrcPage>>2]|0; + $135 = (($134) + 1)|0; + $136 = HEAP32[$0>>2]|0; + $137 = ((($136)) + 16|0); + $138 = HEAP32[$137>>2]|0; + $139 = (($135) - ($138))|0; + $140 = HEAP32[$0>>2]|0; + $141 = ((($140)) + 32|0); + HEAP32[$141>>2] = $139; + $142 = HEAP32[$0>>2]|0; + $143 = ((($142)) + 16|0); + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$nSrcPage>>2]|0; + $146 = ($144>>>0)>($145>>>0); + if ($146) { + HEAP32[$rc>>2] = 101; break; } - $108 = HEAP32[$4>>2]|0; - $109 = $108 & 526336; - $110 = ($109|0)!=(0); - if ($110) { - $111 = HEAP32[((37192 + 244|0))>>2]|0; - $112 = HEAP32[$fd>>2]|0; - $113 = HEAP32[$uid>>2]|0; - $114 = HEAP32[$gid>>2]|0; - (FUNCTION_TABLE_iiii[$111 & 31]($112,$113,$114)|0); - label = 34; - } else { - label = 34; + $147 = HEAP32[$0>>2]|0; + $148 = ((($147)) + 40|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($149|0)!=(0); + if (!($150)) { + $151 = HEAP32[$0>>2]|0; + _attachBackupObject($151); } - } else { - label = 34; } } while(0); - if ((label|0) == 34) { - $115 = HEAP32[$5>>2]|0; - $116 = ($115|0)!=(0|0); - if ($116) { - $117 = HEAP32[$4>>2]|0; - $118 = HEAP32[$5>>2]|0; - HEAP32[$118>>2] = $117; - } - $119 = HEAP32[$p>>2]|0; - $120 = (($119) + 28|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($121|0)!=(0|0); - if ($122) { - $123 = HEAP32[$fd>>2]|0; - $124 = HEAP32[$p>>2]|0; - $125 = (($124) + 28|0); - $126 = HEAP32[$125>>2]|0; - HEAP32[$126>>2] = $123; - $127 = HEAP32[$4>>2]|0; - $128 = HEAP32[$p>>2]|0; - $129 = (($128) + 28|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + 4|0); - HEAP32[$131>>2] = $127; - } - $132 = HEAP32[$isDelete>>2]|0; - $133 = ($132|0)!=(0); - if ($133) { - $134 = HEAP32[((37192 + 196|0))>>2]|0; - $135 = HEAP32[$zName>>2]|0; - (FUNCTION_TABLE_ii[$134 & 31]($135)|0); - } - $136 = HEAP32[$eType>>2]|0; - $137 = ($136|0)!=(256); - $138 = $137&1; - HEAP32[$noLock>>2] = $138; - $139 = HEAP32[$isDelete>>2]|0; - $140 = ($139|0)!=(0); - if ($140) { - $141 = HEAP32[$ctrlFlags>>2]|0; - $142 = $141 | 32; - HEAP32[$ctrlFlags>>2] = $142; - } - $143 = HEAP32[$isReadonly>>2]|0; - $144 = ($143|0)!=(0); - if ($144) { - $145 = HEAP32[$ctrlFlags>>2]|0; - $146 = $145 | 2; - HEAP32[$ctrlFlags>>2] = $146; + $152 = HEAP32[$rc>>2]|0; + $153 = ($152|0)==(101); + if ($153) { + $154 = HEAP32[$nSrcPage>>2]|0; + $155 = ($154|0)==(0); + if ($155) { + $156 = HEAP32[$0>>2]|0; + $157 = ((($156)) + 4|0); + $158 = HEAP32[$157>>2]|0; + $159 = (_sqlite3BtreeNewDb($158)|0); + HEAP32[$rc>>2] = $159; + HEAP32[$nSrcPage>>2] = 1; } - $147 = HEAP32[$noLock>>2]|0; - $148 = ($147|0)!=(0); - if ($148) { - $149 = HEAP32[$ctrlFlags>>2]|0; - $150 = $149 | 128; - HEAP32[$ctrlFlags>>2] = $150; + $160 = HEAP32[$rc>>2]|0; + $161 = ($160|0)==(0); + $162 = HEAP32[$rc>>2]|0; + $163 = ($162|0)==(101); + $or$cond4 = $161 | $163; + if ($or$cond4) { + $164 = HEAP32[$0>>2]|0; + $165 = ((($164)) + 4|0); + $166 = HEAP32[$165>>2]|0; + $167 = HEAP32[$0>>2]|0; + $168 = ((($167)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = (($169) + 1)|0; + $171 = (_sqlite3BtreeUpdateMeta($166,1,$170)|0); + HEAP32[$rc>>2] = $171; } - $151 = HEAP32[$syncDir>>2]|0; - $152 = ($151|0)!=(0); - if ($152) { - $153 = HEAP32[$ctrlFlags>>2]|0; - $154 = $153 | 8; - HEAP32[$ctrlFlags>>2] = $154; + $172 = HEAP32[$rc>>2]|0; + $173 = ($172|0)==(0); + if ($173) { + $174 = HEAP32[$0>>2]|0; + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)!=(0|0); + if ($176) { + $177 = HEAP32[$0>>2]|0; + $178 = HEAP32[$177>>2]|0; + _sqlite3ResetAllSchemasOfConnection($178); + } + $179 = HEAP32[$destMode>>2]|0; + $180 = ($179|0)==(5); + if ($180) { + $181 = HEAP32[$0>>2]|0; + $182 = ((($181)) + 4|0); + $183 = HEAP32[$182>>2]|0; + $184 = (_sqlite3BtreeSetVersion($183,2)|0); + HEAP32[$rc>>2] = $184; + } } - $155 = HEAP32[$4>>2]|0; - $156 = $155 & 64; - $157 = ($156|0)!=(0); - if ($157) { - $158 = HEAP32[$ctrlFlags>>2]|0; - $159 = $158 | 64; - HEAP32[$ctrlFlags>>2] = $159; + $185 = HEAP32[$rc>>2]|0; + $186 = ($185|0)==(0); + if ($186) { + $187 = HEAP32[$pgszSrc>>2]|0; + $188 = HEAP32[$pgszDest>>2]|0; + $189 = ($187|0)<($188|0); + if ($189) { + $190 = HEAP32[$pgszDest>>2]|0; + $191 = HEAP32[$pgszSrc>>2]|0; + $192 = (($190|0) / ($191|0))&-1; + HEAP32[$ratio>>2] = $192; + $193 = HEAP32[$nSrcPage>>2]|0; + $194 = HEAP32[$ratio>>2]|0; + $195 = (($193) + ($194))|0; + $196 = (($195) - 1)|0; + $197 = HEAP32[$ratio>>2]|0; + $198 = (($196|0) / ($197|0))&-1; + HEAP32[$nDestTruncate>>2] = $198; + $199 = HEAP32[$nDestTruncate>>2]|0; + $200 = HEAP32[916>>2]|0; + $201 = HEAP32[$0>>2]|0; + $202 = ((($201)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($203)) + 4|0); + $205 = HEAP32[$204>>2]|0; + $206 = ((($205)) + 32|0); + $207 = HEAP32[$206>>2]|0; + $208 = (($200>>>0) / ($207>>>0))&-1; + $209 = (($208) + 1)|0; + $210 = ($199|0)==($209|0); + if ($210) { + $211 = HEAP32[$nDestTruncate>>2]|0; + $212 = (($211) + -1)|0; + HEAP32[$nDestTruncate>>2] = $212; + } + } else { + $213 = HEAP32[$nSrcPage>>2]|0; + $214 = HEAP32[$pgszSrc>>2]|0; + $215 = HEAP32[$pgszDest>>2]|0; + $216 = (($214|0) / ($215|0))&-1; + $217 = Math_imul($213, $216)|0; + HEAP32[$nDestTruncate>>2] = $217; + } + $218 = HEAP32[$pgszSrc>>2]|0; + $219 = HEAP32[$pgszDest>>2]|0; + $220 = ($218|0)<($219|0); + if ($220) { + $221 = HEAP32[$pgszSrc>>2]|0; + $222 = ($221|0)<(0); + $223 = $222 << 31 >> 31; + $224 = HEAP32[$nSrcPage>>2]|0; + $225 = ($224|0)<(0); + $226 = $225 << 31 >> 31; + $227 = (___muldi3(($221|0),($223|0),($224|0),($226|0))|0); + $228 = tempRet0; + $229 = $iSize; + $230 = $229; + HEAP32[$230>>2] = $227; + $231 = (($229) + 4)|0; + $232 = $231; + HEAP32[$232>>2] = $228; + $233 = HEAP32[$pDestPager>>2]|0; + $234 = (_sqlite3PagerFile($233)|0); + HEAP32[$pFile>>2] = $234; + $235 = HEAP32[$pDestPager>>2]|0; + _sqlite3PagerPagecount($235,$nDstPage); + $236 = HEAP32[$nDestTruncate>>2]|0; + HEAP32[$iPg>>2] = $236; + while(1) { + $237 = HEAP32[$rc>>2]|0; + $238 = ($237|0)==(0); + if (!($238)) { + break; + } + $239 = HEAP32[$iPg>>2]|0; + $240 = HEAP32[$nDstPage>>2]|0; + $241 = ($239>>>0)<=($240>>>0); + if (!($241)) { + break; + } + $242 = HEAP32[$iPg>>2]|0; + $243 = HEAP32[916>>2]|0; + $244 = HEAP32[$0>>2]|0; + $245 = ((($244)) + 4|0); + $246 = HEAP32[$245>>2]|0; + $247 = ((($246)) + 4|0); + $248 = HEAP32[$247>>2]|0; + $249 = ((($248)) + 32|0); + $250 = HEAP32[$249>>2]|0; + $251 = (($243>>>0) / ($250>>>0))&-1; + $252 = (($251) + 1)|0; + $253 = ($242|0)!=($252|0); + do { + if ($253) { + $254 = HEAP32[$pDestPager>>2]|0; + $255 = HEAP32[$iPg>>2]|0; + $256 = (_sqlite3PagerAcquire($254,$255,$pPg,0)|0); + HEAP32[$rc>>2] = $256; + $257 = HEAP32[$rc>>2]|0; + $258 = ($257|0)==(0); + if (!($258)) { + break; + } + $259 = HEAP32[$pPg>>2]|0; + $260 = (_sqlite3PagerWrite($259)|0); + HEAP32[$rc>>2] = $260; + $261 = HEAP32[$pPg>>2]|0; + _sqlite3PagerUnref($261); + } + } while(0); + $262 = HEAP32[$iPg>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$iPg>>2] = $263; + } + $264 = HEAP32[$rc>>2]|0; + $265 = ($264|0)==(0); + if ($265) { + $266 = HEAP32[$pDestPager>>2]|0; + $267 = (_sqlite3PagerCommitPhaseOne($266,0,1)|0); + HEAP32[$rc>>2] = $267; + } + $268 = HEAP32[916>>2]|0; + $269 = HEAP32[$pgszDest>>2]|0; + $270 = (($268) + ($269))|0; + $271 = ($270|0)<(0); + $272 = $271 << 31 >> 31; + $273 = $iSize; + $274 = $273; + $275 = HEAP32[$274>>2]|0; + $276 = (($273) + 4)|0; + $277 = $276; + $278 = HEAP32[$277>>2]|0; + $279 = ($272|0)<($278|0); + $280 = ($270>>>0)<($275>>>0); + $281 = ($272|0)==($278|0); + $282 = $281 & $280; + $283 = $279 | $282; + if ($283) { + $284 = HEAP32[916>>2]|0; + $285 = HEAP32[$pgszDest>>2]|0; + $286 = (($284) + ($285))|0; + $287 = ($286|0)<(0); + $288 = $287 << 31 >> 31; + $297 = $286;$300 = $288; + } else { + $289 = $iSize; + $290 = $289; + $291 = HEAP32[$290>>2]|0; + $292 = (($289) + 4)|0; + $293 = $292; + $294 = HEAP32[$293>>2]|0; + $297 = $291;$300 = $294; + } + $295 = $iEnd; + $296 = $295; + HEAP32[$296>>2] = $297; + $298 = (($295) + 4)|0; + $299 = $298; + HEAP32[$299>>2] = $300; + $301 = HEAP32[916>>2]|0; + $302 = HEAP32[$pgszSrc>>2]|0; + $303 = (($301) + ($302))|0; + $304 = ($303|0)<(0); + $305 = $304 << 31 >> 31; + $306 = $iOff; + $307 = $306; + HEAP32[$307>>2] = $303; + $308 = (($306) + 4)|0; + $309 = $308; + HEAP32[$309>>2] = $305; + while(1) { + $310 = HEAP32[$rc>>2]|0; + $311 = ($310|0)==(0); + if (!($311)) { + break; + } + $312 = $iOff; + $313 = $312; + $314 = HEAP32[$313>>2]|0; + $315 = (($312) + 4)|0; + $316 = $315; + $317 = HEAP32[$316>>2]|0; + $318 = $iEnd; + $319 = $318; + $320 = HEAP32[$319>>2]|0; + $321 = (($318) + 4)|0; + $322 = $321; + $323 = HEAP32[$322>>2]|0; + $324 = ($317|0)<($323|0); + $325 = ($314>>>0)<($320>>>0); + $326 = ($317|0)==($323|0); + $327 = $326 & $325; + $328 = $324 | $327; + if (!($328)) { + break; + } + HEAP32[$pSrcPg1>>2] = 0; + $329 = $iOff; + $330 = $329; + $331 = HEAP32[$330>>2]|0; + $332 = (($329) + 4)|0; + $333 = $332; + $334 = HEAP32[$333>>2]|0; + $335 = HEAP32[$pgszSrc>>2]|0; + $336 = ($335|0)<(0); + $337 = $336 << 31 >> 31; + $338 = (___divdi3(($331|0),($334|0),($335|0),($337|0))|0); + $339 = tempRet0; + $340 = (_i64Add(($338|0),($339|0),1,0)|0); + $341 = tempRet0; + HEAP32[$iSrcPg2>>2] = $340; + $342 = HEAP32[$pSrcPager>>2]|0; + $343 = HEAP32[$iSrcPg2>>2]|0; + $344 = (_sqlite3PagerAcquire($342,$343,$pSrcPg1,0)|0); + HEAP32[$rc>>2] = $344; + $345 = HEAP32[$rc>>2]|0; + $346 = ($345|0)==(0); + if ($346) { + $347 = HEAP32[$pSrcPg1>>2]|0; + $348 = (_sqlite3PagerGetData($347)|0); + HEAP32[$zData>>2] = $348; + $349 = HEAP32[$pFile>>2]|0; + $350 = HEAP32[$zData>>2]|0; + $351 = HEAP32[$pgszSrc>>2]|0; + $352 = $iOff; + $353 = $352; + $354 = HEAP32[$353>>2]|0; + $355 = (($352) + 4)|0; + $356 = $355; + $357 = HEAP32[$356>>2]|0; + $358 = (_sqlite3OsWrite($349,$350,$351,$354,$357)|0); + HEAP32[$rc>>2] = $358; + } + $359 = HEAP32[$pSrcPg1>>2]|0; + _sqlite3PagerUnref($359); + $360 = HEAP32[$pgszSrc>>2]|0; + $361 = ($360|0)<(0); + $362 = $361 << 31 >> 31; + $363 = $iOff; + $364 = $363; + $365 = HEAP32[$364>>2]|0; + $366 = (($363) + 4)|0; + $367 = $366; + $368 = HEAP32[$367>>2]|0; + $369 = (_i64Add(($365|0),($368|0),($360|0),($362|0))|0); + $370 = tempRet0; + $371 = $iOff; + $372 = $371; + HEAP32[$372>>2] = $369; + $373 = (($371) + 4)|0; + $374 = $373; + HEAP32[$374>>2] = $370; + } + $375 = HEAP32[$rc>>2]|0; + $376 = ($375|0)==(0); + if ($376) { + $377 = HEAP32[$pFile>>2]|0; + $378 = $iSize; + $379 = $378; + $380 = HEAP32[$379>>2]|0; + $381 = (($378) + 4)|0; + $382 = $381; + $383 = HEAP32[$382>>2]|0; + $384 = (_backupTruncateFile($377,$380,$383)|0); + HEAP32[$rc>>2] = $384; + } + $385 = HEAP32[$rc>>2]|0; + $386 = ($385|0)==(0); + if ($386) { + $387 = HEAP32[$pDestPager>>2]|0; + $388 = (_sqlite3PagerSync($387,0)|0); + HEAP32[$rc>>2] = $388; + } + } else { + $389 = HEAP32[$pDestPager>>2]|0; + $390 = HEAP32[$nDestTruncate>>2]|0; + _sqlite3PagerTruncateImage($389,$390); + $391 = HEAP32[$pDestPager>>2]|0; + $392 = (_sqlite3PagerCommitPhaseOne($391,0,0)|0); + HEAP32[$rc>>2] = $392; + } + $393 = HEAP32[$rc>>2]|0; + $394 = (0)==($393|0); + if ($394) { + $395 = HEAP32[$0>>2]|0; + $396 = ((($395)) + 4|0); + $397 = HEAP32[$396>>2]|0; + $398 = (_sqlite3BtreeCommitPhaseTwo($397,0)|0); + HEAP32[$rc>>2] = $398; + $399 = (0)==($398|0); + $$ = $399 ? 101 : $398; + HEAP32[$rc>>2] = $$; + } } - $160 = HEAP32[$1>>2]|0; - $161 = HEAP32[$fd>>2]|0; - $162 = HEAP32[$3>>2]|0; - $163 = HEAP32[$2>>2]|0; - $164 = HEAP32[$ctrlFlags>>2]|0; - $165 = (_fillInUnixFile($160,$161,$162,$163,$164)|0); - HEAP32[$rc>>2] = $165; } - $166 = HEAP32[$rc>>2]|0; - $167 = ($166|0)!=(0); - if ($167) { - $168 = HEAP32[$p>>2]|0; - $169 = (($168) + 28|0); - $170 = HEAP32[$169>>2]|0; - _sqlite3_free($170); + $400 = HEAP32[$bCloseTrans>>2]|0; + $401 = ($400|0)!=(0); + if ($401) { + $402 = HEAP32[$0>>2]|0; + $403 = ((($402)) + 24|0); + $404 = HEAP32[$403>>2]|0; + (_sqlite3BtreeCommitPhaseOne($404,0)|0); + $405 = HEAP32[$0>>2]|0; + $406 = ((($405)) + 24|0); + $407 = HEAP32[$406>>2]|0; + (_sqlite3BtreeCommitPhaseTwo($407,0)|0); } - $171 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $171; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $408 = HEAP32[$rc>>2]|0; + $409 = ($408|0)==(3082); + if ($409) { + HEAP32[$rc>>2] = 7; + } + $410 = HEAP32[$rc>>2]|0; + $411 = HEAP32[$0>>2]|0; + $412 = ((($411)) + 28|0); + HEAP32[$412>>2] = $410; + $413 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($413|0); } -function _unixDelete($NotUsed,$zPath,$dirSync) { - $NotUsed = $NotUsed|0; - $zPath = $zPath|0; - $dirSync = $dirSync|0; +function _sqlite3_backup_finish($p) { + $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $rc = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $pSrcDb = 0, $pp = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $rc = sp + 4|0; - $fd = sp; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $zPath; - HEAP32[$3>>2] = $dirSync; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[((37192 + 196|0))>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (FUNCTION_TABLE_ii[$4 & 31]($5)|0); - $7 = ($6|0)==(-1); - if ($7) { - $8 = (___errno_location()|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(2); - if ($10) { - HEAP32[$rc>>2] = 5898; - } else { - $11 = HEAP32[$2>>2]|0; - $12 = (_unixLogErrorAtLine(2570,37672,$11,30729)|0); - HEAP32[$rc>>2] = $12; - } - $13 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $13; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); + $0 = sp + 16|0; + $1 = sp + 12|0; + $pp = sp + 8|0; + $pSrcDb = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + HEAP32[$0>>2] = 0; + $64 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($64|0); } - $14 = HEAP32[$3>>2]|0; - $15 = $14 & 1; - $16 = ($15|0)!=(0); - do { - if ($16) { - $17 = HEAP32[((37192 + 208|0))>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = (FUNCTION_TABLE_iii[$17 & 63]($18,$fd)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)==(14); - if (!($29)) { - break; - } - HEAP32[$rc>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 20|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$pSrcDb>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3BtreeEnter($9); + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + -1)|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 24|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3BtreePager($25)|0); + $27 = (_sqlite3PagerBackupPtr($26)|0); + HEAP32[$pp>>2] = $27; + while(1) { + $28 = HEAP32[$pp>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ($29|0)!=($30|0); + if (!($31)) { break; } - $22 = HEAP32[$fd>>2]|0; - $23 = (_fsync(($22|0))|0); - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$2>>2]|0; - $26 = (_unixLogErrorAtLine(1290,38128,$25,30744)|0); - HEAP32[$rc>>2] = $26; - } - $27 = HEAP32[$fd>>2]|0; - _robust_close(0,$27,30746); + $32 = HEAP32[$pp>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 44|0); + HEAP32[$pp>>2] = $34; } - } while(0); - $30 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $30; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); -} -function _unixAccess($NotUsed,$zPath,$flags,$pResOut) { - $NotUsed = $NotUsed|0; - $zPath = $zPath|0; - $flags = $flags|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $amode = 0, $buf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $amode = sp + 76|0; - $buf = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $flags; - HEAP32[$3>>2] = $pResOut; - HEAP32[$amode>>2] = 0; - $4 = HEAP32[$2>>2]|0; - if ((($4|0) == 2)) { - HEAP32[$amode>>2] = 4; - } else if ((($4|0) == 0)) { - HEAP32[$amode>>2] = 0; - } else if ((($4|0) == 1)) { - HEAP32[$amode>>2] = 6; + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 44|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$pp>>2]|0; + HEAP32[$38>>2] = $37; } - $5 = HEAP32[((37192 + 28|0))>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$amode>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); - $9 = ($8|0)==(0); - $10 = $9&1; - $11 = HEAP32[$3>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$2>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { - STACKTOP = sp;return 0; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$40>>2]|0; + (_sqlite3BtreeRollback($41,0,0)|0); + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 28|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(101); + if ($45) { + $49 = 0; + } else { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 28|0); + $48 = HEAP32[$47>>2]|0; + $49 = $48; } - $14 = HEAP32[$3>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0); - if (!($16)) { - STACKTOP = sp;return 0; + HEAP32[$rc>>2] = $49; + $50 = HEAP32[$1>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)!=(0|0); + if ($52) { + $53 = HEAP32[$1>>2]|0; + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$rc>>2]|0; + _sqlite3Error($54,$55); + $56 = HEAP32[$1>>2]|0; + $57 = HEAP32[$56>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($57); } - $17 = HEAP32[((37192 + 52|0))>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (FUNCTION_TABLE_iii[$17 & 63]($18,$buf)|0); - $20 = (0)==($19|0); - if (!($20)) { - STACKTOP = sp;return 0; + $58 = HEAP32[$1>>2]|0; + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)!=(0|0); + if ($60) { + $61 = HEAP32[$1>>2]|0; + _sqlite3_free($61); } - $21 = (($buf) + 36|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - STACKTOP = sp;return 0; + $62 = HEAP32[$pSrcDb>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($62); + $63 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $63; + $64 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($64|0); +} +function _sqlite3_sql($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pStmt; + $1 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $1; + $2 = HEAP32[$p>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $14 = 0; + STACKTOP = sp;return ($14|0); } - $24 = HEAP32[$3>>2]|0; - HEAP32[$24>>2] = 0; - STACKTOP = sp;return 0; + $4 = HEAP32[$p>>2]|0; + $5 = ((($4)) + 88|0); + $6 = HEAP16[$5>>1]|0; + $7 = ($6&65535) >>> 10; + $8 = $7 & 1; + $9 = $8&65535; + $10 = ($9|0)!=(0); + if (!($10)) { + $14 = 0; + STACKTOP = sp;return ($14|0); + } + $11 = HEAP32[$p>>2]|0; + $12 = ((($11)) + 168|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13; + STACKTOP = sp;return ($14|0); } -function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $nOut = $nOut|0; - $zOut = $zOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nCwd = 0, $vararg_buffer1 = 0, label = 0, sp = 0; +function _sqlite3_finalize($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0; + var $rc = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $nCwd = sp + 4|0; - HEAP32[$1>>2] = $pVfs; - HEAP32[$2>>2] = $zPath; - HEAP32[$3>>2] = $nOut; - HEAP32[$4>>2] = $zOut; - $5 = HEAP32[$3>>2]|0; - $6 = (($5) - 1)|0; - $7 = HEAP32[$4>>2]|0; - $8 = (($7) + ($6)|0); - HEAP8[$8>>0] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10 << 24 >> 24; - $12 = ($11|0)==(47); + $0 = sp + 16|0; + $1 = sp + 12|0; + $rc = sp + 8|0; + $v = sp + 4|0; + $db = sp; + HEAP32[$1>>2] = $pStmt; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); do { - if ($12) { - $13 = HEAP32[$3>>2]|0; - $14 = HEAP32[$4>>2]|0; - $15 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer1>>2] = $15; - (_sqlite3_snprintf($13,$14,1200,$vararg_buffer1)|0); + if ($3) { + HEAP32[$rc>>2] = 0; } else { - $16 = HEAP32[((37192 + 40|0))>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = HEAP32[$3>>2]|0; - $19 = (($18) - 1)|0; - $20 = (FUNCTION_TABLE_iii[$16 & 63]($17,$19)|0); - $21 = ($20|0)==(0|0); - if (!($21)) { - $25 = HEAP32[$4>>2]|0; - $26 = (_strlen(($25|0))|0); - HEAP32[$nCwd>>2] = $26; - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$nCwd>>2]|0; - $29 = (($27) - ($28))|0; - $30 = HEAP32[$nCwd>>2]|0; - $31 = HEAP32[$4>>2]|0; - $32 = (($31) + ($30)|0); - $33 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer1>>2] = $33; - (_sqlite3_snprintf($29,$32,38120,$vararg_buffer1)|0); + $4 = HEAP32[$1>>2]|0; + HEAP32[$v>>2] = $4; + $5 = HEAP32[$v>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$db>>2] = $6; + $7 = HEAP32[$v>>2]|0; + $8 = (_vdbeSafety($7)|0); + $9 = ($8|0)!=(0); + if (!($9)) { + $11 = HEAP32[$v>>2]|0; + $12 = (_sqlite3VdbeFinalize($11)|0); + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$db>>2]|0; + $14 = HEAP32[$rc>>2]|0; + $15 = (_sqlite3ApiExit($13,$14)|0); + HEAP32[$rc>>2] = $15; + $16 = HEAP32[$db>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($16); break; } - $22 = (_sqlite3CantopenError(30831)|0); - $23 = HEAP32[$2>>2]|0; - $24 = (_unixLogErrorAtLine($22,37544,$23,30831)|0); - HEAP32[$0>>2] = $24; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); + $10 = (_sqlite3MisuseError(67386)|0); + HEAP32[$0>>2] = $10; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); } } while(0); - HEAP32[$0>>2] = 0; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); + $17 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $17; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); } -function _unixRandomness($NotUsed,$nBuf,$zBuf) { - $NotUsed = $NotUsed|0; - $nBuf = $nBuf|0; - $zBuf = $zBuf|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $got = 0, $t = 0, label = 0, sp = 0; +function _sqlite3_reset($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $fd = sp + 8|0; - $got = sp + 4|0; - $t = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $nBuf; - HEAP32[$2>>2] = $zBuf; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - _memset(($3|0),0,($4|0))|0; - $5 = (_getpid()|0); - HEAP32[38096>>2] = $5; - $6 = (_robust_open(38104,0,0)|0); - HEAP32[$fd>>2] = $6; - $7 = HEAP32[$fd>>2]|0; - $8 = ($7|0)<(0); - if ($8) { - (_time(($t|0))|0); - $9 = HEAP32[$2>>2]|0; - ;HEAP8[$9+0>>0]=HEAP8[$t+0>>0]|0;HEAP8[$9+1>>0]=HEAP8[$t+1>>0]|0;HEAP8[$9+2>>0]=HEAP8[$t+2>>0]|0;HEAP8[$9+3>>0]=HEAP8[$t+3>>0]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 4|0); - ;HEAP8[$11+0>>0]=HEAP8[38096+0>>0]|0;HEAP8[$11+1>>0]=HEAP8[38096+1>>0]|0;HEAP8[$11+2>>0]=HEAP8[38096+2>>0]|0;HEAP8[$11+3>>0]=HEAP8[38096+3>>0]|0; - HEAP32[$1>>2] = 8; - $23 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($23|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $rc = sp + 4|0; + $v = sp; + HEAP32[$0>>2] = $pStmt; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + HEAP32[$rc>>2] = 0; + $11 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($11|0); + } else { + $3 = HEAP32[$0>>2]|0; + HEAP32[$v>>2] = $3; + $4 = HEAP32[$v>>2]|0; + $5 = (_sqlite3VdbeReset($4)|0); + HEAP32[$rc>>2] = $5; + $6 = HEAP32[$v>>2]|0; + _sqlite3VdbeRewind($6); + $7 = HEAP32[$v>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$rc>>2]|0; + $10 = (_sqlite3ApiExit($8,$9)|0); + HEAP32[$rc>>2] = $10; + $11 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($11|0); } + return (0)|0; +} +function _sqlite3_clear_bindings($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0; + var $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $i = sp + 8|0; + $rc = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$rc>>2] = 0; + $1 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $1; + HEAP32[$i>>2] = 0; while(1) { - $12 = HEAP32[((37192 + 100|0))>>2]|0; - $13 = HEAP32[$fd>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (FUNCTION_TABLE_iiii[$12 & 31]($13,$14,$15)|0); - HEAP32[$got>>2] = $16; - $17 = HEAP32[$got>>2]|0; - $18 = ($17|0)<(0); - if (!($18)) { - break; - } - $19 = (___errno_location()|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(4); - if (!($21)) { + $2 = HEAP32[$i>>2]|0; + $3 = HEAP32[$p>>2]|0; + $4 = ((($3)) + 68|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5 << 16 >> 16; + $7 = ($2|0)<($6|0); + if (!($7)) { break; } + $8 = HEAP32[$i>>2]|0; + $9 = HEAP32[$p>>2]|0; + $10 = ((($9)) + 60|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + (($8*40)|0)|0); + _sqlite3VdbeMemRelease($12); + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$p>>2]|0; + $15 = ((($14)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + (($13*40)|0)|0); + $18 = ((($17)) + 8|0); + HEAP16[$18>>1] = 1; + $19 = HEAP32[$i>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$i>>2] = $20; } - $22 = HEAP32[$fd>>2]|0; - _robust_close(0,$22,30936); - $23 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($23|0); + $21 = HEAP32[$p>>2]|0; + $22 = ((($21)) + 88|0); + $23 = HEAP16[$22>>1]|0; + $24 = ($23&65535) >>> 10; + $25 = $24 & 1; + $26 = $25&65535; + $27 = ($26|0)!=(0); + if (!($27)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); + } + $28 = HEAP32[$p>>2]|0; + $29 = ((($28)) + 188|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + if (!($31)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); + } + $32 = HEAP32[$p>>2]|0; + $33 = ((($32)) + 88|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34 & -33; + $36 = $35 | 32; + HEAP16[$33>>1] = $36; + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } -function _unixSleep($NotUsed,$microseconds) { - $NotUsed = $NotUsed|0; - $microseconds = $microseconds|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $seconds = 0, label = 0, sp = 0; +function _sqlite3_value_blob($pVal) { + $pVal = $pVal|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $seconds = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $microseconds; + $p = sp; + HEAP32[$1>>2] = $pVal; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 999999)|0; - $4 = (($3|0) / 1000000)&-1; - HEAP32[$seconds>>2] = $4; - $5 = HEAP32[$seconds>>2]|0; - (_sleep(($5|0))|0); - $6 = HEAP32[$seconds>>2]|0; - $7 = ($6*1000000)|0; - STACKTOP = sp;return ($7|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 18; + $8 = ($7|0)!=(0); + if (!($8)) { + $24 = HEAP32[$1>>2]|0; + $25 = (_sqlite3_value_text($24)|0); + HEAP32[$0>>2] = $25; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); + } + $9 = HEAP32[$p>>2]|0; + (_sqlite3VdbeMemExpandBlob($9)|0); + $10 = HEAP32[$p>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13 | 16; + $15 = $14&65535; + HEAP16[$11>>1] = $15; + $16 = HEAP32[$p>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22; + } else { + $23 = 0; + } + HEAP32[$0>>2] = $23; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); } -function _unixCurrentTime($NotUsed,$prNow) { - $NotUsed = $NotUsed|0; - $prNow = $prNow|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $rc = 0, label = 0; - var sp = 0; +function _sqlite3_value_text($pVal) { + $pVal = $pVal|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $i = sp; - $rc = sp + 8|0; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $prNow; - $2 = $i; - $3 = $2; - HEAP32[$3>>2] = 0; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - $6 = (_unixCurrentTimeInt64(0,$i)|0); - HEAP32[$rc>>2] = $6; - $7 = $i; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (+($9>>>0)) + (4294967296.0*(+($12|0))); - $14 = $13 / 8.64E+7; - $15 = HEAP32[$1>>2]|0; - HEAPF64[$15>>3] = $14; - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pVal; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3ValueText($1,1)|0); + STACKTOP = sp;return ($2|0); } -function _unixGetLastError($NotUsed,$NotUsed2,$NotUsed3) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - $NotUsed3 = $NotUsed3|0; +function _sqlite3_value_bytes($pVal) { + $pVal = $pVal|0; var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; - HEAP32[$2>>2] = $NotUsed3; - STACKTOP = sp;return 0; + $0 = sp; + HEAP32[$0>>2] = $pVal; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3ValueBytes($1,1)|0); + STACKTOP = sp;return ($2|0); } -function _unixCurrentTimeInt64($NotUsed,$piNow) { - $NotUsed = $NotUsed|0; - $piNow = $piNow|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $sNow = 0, label = 0, sp = 0; +function _sqlite3_value_double($pVal) { + $pVal = $pVal|0; + var $0 = 0, $1 = 0, $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $sNow = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $piNow; - HEAP32[$rc>>2] = 0; - $2 = (_gettimeofday(($sNow|0),(0|0))|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = HEAP32[$sNow>>2]|0; - $5 = ($4|0)<(0); - $6 = $5 << 31 >> 31; - $7 = (___muldi3(1000,0,($4|0),($6|0))|0); - $8 = tempRet0; - $9 = (_i64Add(1045635584,49096,($7|0),($8|0))|0); - $10 = tempRet0; - $11 = (($sNow) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12|0) / 1000)&-1; - $14 = ($13|0)<(0); - $15 = $14 << 31 >> 31; - $16 = (_i64Add(($9|0),($10|0),($13|0),($15|0))|0); - $17 = tempRet0; - $18 = HEAP32[$1>>2]|0; - $19 = $18; - $20 = $19; - HEAP32[$20>>2] = $16; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($23|0); - } else { - HEAP32[$rc>>2] = 1; - $23 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($23|0); - } - return 0|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pVal; + $1 = HEAP32[$0>>2]|0; + $2 = (+_sqlite3VdbeRealValue($1)); + STACKTOP = sp;return (+$2); } -function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { - $pNotUsed = $pNotUsed|0; - $zName = $zName|0; - $pNewFunc = $pNewFunc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_value_int($pVal) { + $pVal = $pVal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pNotUsed; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $pNewFunc; - HEAP32[$rc>>2] = 12; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$rc>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = ($5>>>0)<(25); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = (37192 + (($7*12)|0)|0); - $9 = (($8) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$i>>2]|0; - $13 = (37192 + (($12*12)|0)|0); - $14 = (($13) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$i>>2]|0; - $17 = (37192 + (($16*12)|0)|0); - $18 = (($17) + 4|0); - HEAP32[$18>>2] = $15; - } - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; - } - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = ($21>>>0)<(25); - if (!($22)) { - label = 16; - break; - } - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$i>>2]|0; - $25 = (37192 + (($24*12)|0)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_strcmp($23,$26)|0); - $28 = ($27|0)==(0); - $29 = HEAP32[$i>>2]|0; - if ($28) { - break; - } - $51 = (($29) + 1)|0; - HEAP32[$i>>2] = $51; - } - if ((label|0) == 16) { - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); - } - $30 = (37192 + (($29*12)|0)|0); - $31 = (($30) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==(0|0); - if ($33) { - $34 = HEAP32[$i>>2]|0; - $35 = (37192 + (($34*12)|0)|0); - $36 = (($35) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$i>>2]|0; - $39 = (37192 + (($38*12)|0)|0); - $40 = (($39) + 8|0); - HEAP32[$40>>2] = $37; - } - HEAP32[$rc>>2] = 0; - $41 = HEAP32[$2>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - $43 = HEAP32[$i>>2]|0; - $44 = (37192 + (($43*12)|0)|0); - $45 = (($44) + 8|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$2>>2] = $46; - } - $47 = HEAP32[$2>>2]|0; - $48 = HEAP32[$i>>2]|0; - $49 = (37192 + (($48*12)|0)|0); - $50 = (($49) + 4|0); - HEAP32[$50>>2] = $47; - $52 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($52|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pVal; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3VdbeIntValue($1)|0); + $3 = tempRet0; + STACKTOP = sp;return ($2|0); } -function _unixGetSystemCall($pNotUsed,$zName) { - $pNotUsed = $pNotUsed|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _sqlite3_value_int64($pVal) { + $pVal = $pVal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pVal; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3VdbeIntValue($1)|0); + $3 = tempRet0; + tempRet0 = ($3); + STACKTOP = sp;return ($2|0); +} +function _sqlite3_value_type($pVal) { + $pVal = $pVal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pVal; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & 31; + $6 = (14363 + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + STACKTOP = sp;return ($8|0); +} +function _sqlite3_result_blob($pCtx,$z,$n,$xDel) { + $pCtx = $pCtx|0; + $z = $z|0; + $n = $n|0; + $xDel = $xDel|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pNotUsed; - HEAP32[$2>>2] = $zName; - HEAP32[$i>>2] = 0; - while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = ($3>>>0)<(25); - if (!($4)) { - label = 6; - break; - } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$i>>2]|0; - $7 = (37192 + (($6*12)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_strcmp($5,$8)|0); - $10 = ($9|0)==(0); - $11 = HEAP32[$i>>2]|0; - if ($10) { - label = 4; - break; - } - $15 = (($11) + 1)|0; - HEAP32[$i>>2] = $15; - } - if ((label|0) == 4) { - $12 = (37192 + (($11*12)|0)|0); - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$0>>2] = $14; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); - } - else if ((label|0) == 6) { - HEAP32[$0>>2] = 0; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); + $3 = sp; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $n; + HEAP32[$3>>2] = $xDel; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + _setResultStrOrError($4,$5,$6,0,$7); + STACKTOP = sp;return; +} +function _sqlite3_result_blob64($pCtx,$z,$0,$1,$xDel) { + $pCtx = $pCtx|0; + $z = $z|0; + $0 = $0|0; + $1 = $1|0; + $xDel = $xDel|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$2>>2] = $pCtx; + HEAP32[$3>>2] = $z; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + HEAP32[$5>>2] = $xDel; + $10 = $4; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = ($15>>>0)>(0); + $17 = ($12>>>0)>(2147483647); + $18 = ($15|0)==(0); + $19 = $18 & $17; + $20 = $16 | $19; + if ($20) { + $21 = HEAP32[$3>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$2>>2]|0; + (_invokeValueDestructor($21,$22,$23)|0); + STACKTOP = sp;return; + } else { + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = $4; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$5>>2]|0; + _setResultStrOrError($24,$25,$28,0,$32); + STACKTOP = sp;return; } - return 0|0; } -function _unixNextSystemCall($p,$zName) { - $p = $p|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; +function _sqlite3_result_double($pCtx,$rVal) { + $pCtx = $pCtx|0; + $rVal = +$rVal; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $zName; - HEAP32[$i>>2] = -1; + $0 = sp + 8|0; + $1 = sp; + HEAP32[$0>>2] = $pCtx; + HEAPF64[$1>>3] = $rVal; + $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - L1: do { - if ($4) { - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = ($5|0)<(24); - if (!($6)) { - break L1; - } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$i>>2]|0; - $9 = (37192 + (($8*12)|0)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_strcmp($7,$10)|0); - $12 = ($11|0)==(0); - if ($12) { - break L1; - } - $13 = HEAP32[$i>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$i>>2] = $14; - } - } - } while(0); - $15 = HEAP32[$i>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$i>>2] = $16; - while(1) { - $17 = HEAP32[$i>>2]|0; - $18 = ($17|0)<(25); - if (!($18)) { - label = 11; - break; - } - $19 = HEAP32[$i>>2]|0; - $20 = (37192 + (($19*12)|0)|0); - $21 = (($20) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - $24 = HEAP32[$i>>2]|0; - if ($23) { - label = 9; - break; - } - $27 = (($24) + 1)|0; - HEAP32[$i>>2] = $27; - } - if ((label|0) == 9) { - $25 = (37192 + (($24*12)|0)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$0>>2] = $26; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); - } - else if ((label|0) == 11) { - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); - } - return 0|0; + $4 = +HEAPF64[$1>>3]; + _sqlite3VdbeMemSetDouble($3,$4); + STACKTOP = sp;return; } -function _sqlite3ErrorWithMsg($db,$err_code,$zFormat,$varargs) { - $db = $db|0; - $err_code = $err_code|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $z = 0, label = 0, sp = 0; +function _sqlite3_result_error($pCtx,$z,$n) { + $pCtx = $pCtx|0; + $z = $z|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $z = sp + 16|0; - $ap = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $err_code; - HEAP32[$2>>2] = $zFormat; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 52|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0|0); - $8 = HEAP32[$0>>2]|0; - if ($7) { - $9 = HEAP32[$1>>2]|0; - _sqlite3Error($8,$9); - STACKTOP = sp;return; - } - $10 = (($8) + 232|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - $13 = HEAP32[$0>>2]|0; - $14 = (_sqlite3ValueNew($13)|0); - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 232|0); - HEAP32[$16>>2] = $14; - $17 = ($14|0)!=(0|0); - if (!($17)) { - STACKTOP = sp;return; - } - } - HEAP32[$ap>>2] = $varargs; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3VMPrintf($18,$19,$ap)|0); - HEAP32[$z>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 232|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$z>>2]|0; - _sqlite3ValueSetStr($23,-1,$24,1,16); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $n; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 20|0); + HEAP32[$4>>2] = 1; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 25|0); + HEAP8[$6>>0] = 1; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_sqlite3VdbeMemSetStr($8,$9,$10,1,(-1))|0); STACKTOP = sp;return; } -function _sqlite3MallocZero($0,$1) { +function _sqlite3_result_int($pCtx,$iVal) { + $pCtx = $pCtx|0; + $iVal = $iVal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $iVal; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)<(0); + $6 = $5 << 31 >> 31; + _sqlite3VdbeMemSetInt64($3,$4,$6); + STACKTOP = sp;return; +} +function _sqlite3_result_int64($pCtx,$0,$1) { + $pCtx = $pCtx|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp; - $p = sp + 8|0; - $3 = $2; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $pCtx; $4 = $3; - HEAP32[$4>>2] = $0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = $1; - $7 = $2; - $8 = $7; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; + $10 = $3; $11 = $10; $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3Malloc($9,$12)|0); - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - $23 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($23|0); + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + _sqlite3VdbeMemSetInt64($9,$12,$15); + STACKTOP = sp;return; +} +function _sqlite3_result_null($pCtx) { + $pCtx = $pCtx|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pCtx; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemSetNull($2); + STACKTOP = sp;return; +} +function _sqlite3_result_text($pCtx,$z,$n,$xDel) { + $pCtx = $pCtx|0; + $z = $z|0; + $n = $n|0; + $xDel = $xDel|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $n; + HEAP32[$3>>2] = $xDel; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + _setResultStrOrError($4,$5,$6,1,$7); + STACKTOP = sp;return; +} +function _sqlite3_result_text64($pCtx,$z,$0,$1,$xDel,$enc) { + $pCtx = $pCtx|0; + $z = $z|0; + $0 = $0|0; + $1 = $1|0; + $xDel = $xDel|0; + $enc = $enc|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 8|0; + $6 = sp + 20|0; + HEAP32[$2>>2] = $pCtx; + HEAP32[$3>>2] = $z; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + HEAP32[$5>>2] = $xDel; + HEAP8[$6>>0] = $enc; + $11 = HEAP8[$6>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(4); + if ($13) { + $14 = HEAP8[920>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)==(0); + $17 = $16 ? 3 : 2; + $18 = $17&255; + HEAP8[$6>>0] = $18; + } + $19 = $4; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = ($24>>>0)>(0); + $26 = ($21>>>0)>(2147483647); + $27 = ($24|0)==(0); + $28 = $27 & $26; + $29 = $25 | $28; + if ($29) { + $30 = HEAP32[$3>>2]|0; + $31 = HEAP32[$5>>2]|0; + $32 = HEAP32[$2>>2]|0; + (_invokeValueDestructor($30,$31,$32)|0); + STACKTOP = sp;return; + } else { + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = $4; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP8[$6>>0]|0; + $42 = HEAP32[$5>>2]|0; + _setResultStrOrError($33,$34,$37,$41,$42); + STACKTOP = sp;return; } - $16 = HEAP32[$p>>2]|0; - $17 = $2; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - _memset(($16|0),0,($19|0))|0; - $23 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($23|0); } -function _sqlite3Error($db,$err_code) { - $db = $db|0; - $err_code = $err_code|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3_result_value($pCtx,$pValue) { + $pCtx = $pCtx|0; + $pValue = $pValue|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $err_code; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $pValue; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + (_sqlite3VdbeMemCopy($3,$4)|0); + STACKTOP = sp;return; +} +function _sqlite3_result_zeroblob($pCtx,$n) { + $pCtx = $pCtx|0; + $n = $n|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $n; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemSetZeroBlob($3,$4); + STACKTOP = sp;return; +} +function _sqlite3_result_error_code($pCtx,$errCode) { + $pCtx = $pCtx|0; + $errCode = $errCode|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $errCode; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 52|0); + $4 = ((($3)) + 20|0); HEAP32[$4>>2] = $2; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 232|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + $6 = ((($5)) + 25|0); + HEAP8[$6>>0] = 1; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + $12 = $11 & 1; + $13 = ($12|0)!=(0); + if (!($13)) { STACKTOP = sp;return; } - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 232|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3ValueSetNull($11); + $14 = HEAP32[$0>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = (_sqlite3ErrStr($16)|0); + (_sqlite3VdbeMemSetStr($15,$17,-1,1,0)|0); STACKTOP = sp;return; } -function _sqlite3_backup_step($p,$nPage) { - $p = $p|0; - $nPage = $nPage|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bCloseTrans = 0, $destMode = 0, $iEnd = 0, $iOff = 0, $iPg = 0, $iSize = 0; - var $iSrcPg = 0, $iSrcPg2 = 0, $ii = 0, $nDestTruncate = 0, $nDstPage = 0, $nSrcPage = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pDestPager = 0, $pFile = 0, $pPg = 0, $pSrcPager = 0, $pSrcPg = 0, $pSrcPg1 = 0, $pgszDest = 0, $pgszSrc = 0, $ratio = 0, $rc = 0, $zData = 0; - var label = 0, sp = 0; +function _sqlite3_result_error_toobig($pCtx) { + $pCtx = $pCtx|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 108|0; - $1 = sp + 104|0; - $rc = sp + 100|0; - $destMode = sp + 96|0; - $pgszSrc = sp + 92|0; - $pgszDest = sp + 88|0; - $pSrcPager = sp + 84|0; - $pDestPager = sp + 80|0; - $ii = sp + 76|0; - $nSrcPage = sp + 72|0; - $bCloseTrans = sp + 68|0; - $iSrcPg = sp + 64|0; - $pSrcPg = sp + 60|0; - $nDestTruncate = sp + 56|0; - $ratio = sp + 52|0; - $iSize = sp + 16|0; - $pFile = sp + 48|0; - $iPg = sp + 44|0; - $nDstPage = sp + 40|0; - $iOff = sp + 8|0; - $iEnd = sp; - $pPg = sp + 36|0; - $pSrcPg1 = sp + 32|0; - $iSrcPg2 = sp + 28|0; - $zData = sp + 24|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nPage; - HEAP32[$pgszSrc>>2] = 0; - HEAP32[$pgszDest>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 24|0); - $4 = HEAP32[$3>>2]|0; - _sqlite3BtreeEnter($4); + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pCtx; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 20|0); + HEAP32[$2>>2] = 18; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 25|0); + HEAP8[$4>>0] = 1; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 28|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = (_isFatalError($8)|0); - $10 = ($9|0)!=(0); - if ($10) { - $412 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($412|0); - } - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3BtreePager($13)|0); - HEAP32[$pSrcPager>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3BtreePager($17)|0); - HEAP32[$pDestPager>>2] = $18; - HEAP32[$nSrcPage>>2] = -1; - HEAP32[$bCloseTrans>>2] = 0; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 24|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + 20|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)==(2); - if ($30) { - HEAP32[$rc>>2] = 5; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - HEAP32[$rc>>2] = 0; - } - $31 = HEAP32[$rc>>2]|0; - $32 = (0)==($31|0); - if ($32) { - $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3BtreeBeginTrans($39,2)|0); - HEAP32[$rc>>2] = $40; - $41 = (0)==($40|0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 12|0); - HEAP32[$43>>2] = 1; - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 8|0); - _sqlite3BtreeGetMeta($46,1,$48); - } - } - } - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$0>>2]|0; - $52 = (($51) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3BtreeIsInReadTrans($53)|0); - $55 = (0)==($54|0); - if ($55) { - $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 24|0); - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3BtreeBeginTrans($58,0)|0); - HEAP32[$rc>>2] = $59; - HEAP32[$bCloseTrans>>2] = 1; - } - } - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 24|0); - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3BtreeGetPageSize($62)|0); - HEAP32[$pgszSrc>>2] = $63; - $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 4|0); - $66 = HEAP32[$65>>2]|0; - $67 = (_sqlite3BtreeGetPageSize($66)|0); - HEAP32[$pgszDest>>2] = $67; - $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 4|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3BtreePager($70)|0); - $72 = (_sqlite3PagerGetJournalMode($71)|0); - HEAP32[$destMode>>2] = $72; - $73 = HEAP32[$rc>>2]|0; - $74 = (0)==($73|0); - $75 = HEAP32[$destMode>>2]|0; - $76 = ($75|0)==(5); - $or$cond = $74 & $76; - if ($or$cond) { - $77 = HEAP32[$pgszSrc>>2]|0; - $78 = HEAP32[$pgszDest>>2]|0; - $79 = ($77|0)!=($78|0); - if ($79) { - HEAP32[$rc>>2] = 8; - } + $6 = HEAP32[$5>>2]|0; + (_sqlite3VdbeMemSetStr($6,14395,-1,1,0)|0); + STACKTOP = sp;return; +} +function _sqlite3_result_error_nomem($pCtx) { + $pCtx = $pCtx|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pCtx; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemSetNull($2); + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 20|0); + HEAP32[$4>>2] = 7; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 25|0); + HEAP8[$6>>0] = 1; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 64|0); + HEAP8[$11>>0] = 1; + STACKTOP = sp;return; +} +function _sqlite3_step($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt = 0, $db = 0, $rc = 0, $rc2 = 0, $savedPc = 0, $v = 0, $zErr = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $rc = sp + 4|0; + $rc2 = sp + 8|0; + $v = sp + 32|0; + $cnt = sp; + $db = sp + 12|0; + $savedPc = sp + 24|0; + $zErr = sp + 20|0; + HEAP32[$1>>2] = $pStmt; + HEAP32[$rc>>2] = 0; + HEAP32[$rc2>>2] = 0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$v>>2] = $2; + HEAP32[$cnt>>2] = 0; + $3 = HEAP32[$v>>2]|0; + $4 = (_vdbeSafetyNotNull($3)|0); + $5 = ($4|0)!=(0); + if ($5) { + $6 = (_sqlite3MisuseError(67871)|0); + HEAP32[$0>>2] = $6; + $64 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($64|0); } - $80 = HEAP32[$0>>2]|0; - $81 = (($80) + 24|0); - $82 = HEAP32[$81>>2]|0; - $83 = (_sqlite3BtreeLastPage($82)|0); - HEAP32[$nSrcPage>>2] = $83; - HEAP32[$ii>>2] = 0; + $7 = HEAP32[$v>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$db>>2] = $8; + $9 = HEAP32[$v>>2]|0; + $10 = ((($9)) + 88|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11 & -2049; + HEAP16[$10>>1] = $12; while(1) { - $84 = HEAP32[$1>>2]|0; - $85 = ($84|0)<(0); - if (!($85)) { - $86 = HEAP32[$ii>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = ($86|0)<($87|0); - if (!($88)) { - break; - } + $13 = HEAP32[$v>>2]|0; + $14 = (_sqlite3Step($13)|0); + HEAP32[$rc>>2] = $14; + $15 = ($14|0)==(17); + if (!($15)) { + break; } - $89 = HEAP32[$0>>2]|0; - $90 = (($89) + 16|0); - $91 = HEAP32[$90>>2]|0; - $92 = HEAP32[$nSrcPage>>2]|0; - $93 = ($91>>>0)>($92>>>0); - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)!=(0); - $or$cond3 = $93 | $95; - if ($or$cond3) { + $16 = HEAP32[$cnt>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$cnt>>2] = $17; + $18 = ($16|0)<(50); + if (!($18)) { break; } - $96 = HEAP32[$0>>2]|0; - $97 = (($96) + 16|0); - $98 = HEAP32[$97>>2]|0; - HEAP32[$iSrcPg>>2] = $98; - $99 = HEAP32[$iSrcPg>>2]|0; - $100 = HEAP32[1128>>2]|0; - $101 = HEAP32[$0>>2]|0; - $102 = (($101) + 24|0); - $103 = HEAP32[$102>>2]|0; - $104 = (($103) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = (($105) + 32|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($100>>>0) / ($107>>>0))&-1; - $109 = (($108) + 1)|0; - $110 = ($99|0)!=($109|0); - if ($110) { - $111 = HEAP32[$pSrcPager>>2]|0; - $112 = HEAP32[$iSrcPg>>2]|0; - $113 = (_sqlite3PagerAcquire($111,$112,$pSrcPg,2)|0); - HEAP32[$rc>>2] = $113; - $114 = HEAP32[$rc>>2]|0; - $115 = ($114|0)==(0); - if ($115) { - $116 = HEAP32[$0>>2]|0; - $117 = HEAP32[$iSrcPg>>2]|0; - $118 = HEAP32[$pSrcPg>>2]|0; - $119 = (_sqlite3PagerGetData($118)|0); - $120 = (_backupOnePage($116,$117,$119,0)|0); - HEAP32[$rc>>2] = $120; - $121 = HEAP32[$pSrcPg>>2]|0; - _sqlite3PagerUnref($121); - } + $19 = HEAP32[$v>>2]|0; + $20 = ((($19)) + 76|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$savedPc>>2] = $21; + $22 = HEAP32[$v>>2]|0; + $23 = (_sqlite3Reprepare($22)|0); + HEAP32[$rc>>2] = $23; + HEAP32[$rc2>>2] = $23; + $24 = HEAP32[$rc>>2]|0; + $25 = ($24|0)!=(0); + if ($25) { + break; } - $122 = HEAP32[$0>>2]|0; - $123 = (($122) + 16|0); - $124 = HEAP32[$123>>2]|0; - $125 = (($124) + 1)|0; - HEAP32[$123>>2] = $125; - $126 = HEAP32[$ii>>2]|0; - $127 = (($126) + 1)|0; - HEAP32[$ii>>2] = $127; - } - $128 = HEAP32[$rc>>2]|0; - $129 = ($128|0)==(0); + $26 = HEAP32[$1>>2]|0; + (_sqlite3_reset($26)|0); + $27 = HEAP32[$savedPc>>2]|0; + $28 = ($27|0)>=(0); + if (!($28)) { + continue; + } + $29 = HEAP32[$v>>2]|0; + $30 = ((($29)) + 88|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31 & -2049; + $33 = $32 | 2048; + HEAP16[$30>>1] = $33; + } + $34 = HEAP32[$rc2>>2]|0; + $35 = ($34|0)!=(0); do { - if ($129) { - $130 = HEAP32[$nSrcPage>>2]|0; - $131 = HEAP32[$0>>2]|0; - $132 = (($131) + 36|0); - HEAP32[$132>>2] = $130; - $133 = HEAP32[$nSrcPage>>2]|0; - $134 = (($133) + 1)|0; - $135 = HEAP32[$0>>2]|0; - $136 = (($135) + 16|0); - $137 = HEAP32[$136>>2]|0; - $138 = (($134) - ($137))|0; - $139 = HEAP32[$0>>2]|0; - $140 = (($139) + 32|0); - HEAP32[$140>>2] = $138; - $141 = HEAP32[$0>>2]|0; - $142 = (($141) + 16|0); - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$nSrcPage>>2]|0; - $145 = ($143>>>0)>($144>>>0); - if ($145) { - HEAP32[$rc>>2] = 101; + if ($35) { + $36 = HEAP32[$db>>2]|0; + $37 = ((($36)) + 232|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3_value_text($38)|0); + HEAP32[$zErr>>2] = $39; + $40 = HEAP32[$db>>2]|0; + $41 = HEAP32[$v>>2]|0; + $42 = ((($41)) + 44|0); + $43 = HEAP32[$42>>2]|0; + _sqlite3DbFree($40,$43); + $44 = HEAP32[$db>>2]|0; + $45 = ((($44)) + 64|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)!=(0); + if ($47) { + $56 = HEAP32[$v>>2]|0; + $57 = ((($56)) + 44|0); + HEAP32[$57>>2] = 0; + HEAP32[$rc>>2] = 7; + $58 = HEAP32[$v>>2]|0; + $59 = ((($58)) + 80|0); + HEAP32[$59>>2] = 7; break; - } - $146 = HEAP32[$0>>2]|0; - $147 = (($146) + 40|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)!=(0); - if (!($149)) { - $150 = HEAP32[$0>>2]|0; - _attachBackupObject($150); - } - } - } while(0); - $151 = HEAP32[$rc>>2]|0; - $152 = ($151|0)==(101); - if ($152) { - $153 = HEAP32[$nSrcPage>>2]|0; - $154 = ($153|0)==(0); - if ($154) { - $155 = HEAP32[$0>>2]|0; - $156 = (($155) + 4|0); - $157 = HEAP32[$156>>2]|0; - $158 = (_sqlite3BtreeNewDb($157)|0); - HEAP32[$rc>>2] = $158; - HEAP32[$nSrcPage>>2] = 1; - } - $159 = HEAP32[$rc>>2]|0; - $160 = ($159|0)==(0); - $161 = HEAP32[$rc>>2]|0; - $162 = ($161|0)==(101); - $or$cond5 = $160 | $162; - if ($or$cond5) { - $163 = HEAP32[$0>>2]|0; - $164 = (($163) + 4|0); - $165 = HEAP32[$164>>2]|0; - $166 = HEAP32[$0>>2]|0; - $167 = (($166) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = (($168) + 1)|0; - $170 = (_sqlite3BtreeUpdateMeta($165,1,$169)|0); - HEAP32[$rc>>2] = $170; - } - $171 = HEAP32[$rc>>2]|0; - $172 = ($171|0)==(0); - if ($172) { - $173 = HEAP32[$0>>2]|0; - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)!=(0|0); - if ($175) { - $176 = HEAP32[$0>>2]|0; - $177 = HEAP32[$176>>2]|0; - _sqlite3ResetAllSchemasOfConnection($177); - } - $178 = HEAP32[$destMode>>2]|0; - $179 = ($178|0)==(5); - if ($179) { - $180 = HEAP32[$0>>2]|0; - $181 = (($180) + 4|0); - $182 = HEAP32[$181>>2]|0; - $183 = (_sqlite3BtreeSetVersion($182,2)|0); - HEAP32[$rc>>2] = $183; - } - } - $184 = HEAP32[$rc>>2]|0; - $185 = ($184|0)==(0); - if ($185) { - $186 = HEAP32[$pgszSrc>>2]|0; - $187 = HEAP32[$pgszDest>>2]|0; - $188 = ($186|0)<($187|0); - if ($188) { - $189 = HEAP32[$pgszDest>>2]|0; - $190 = HEAP32[$pgszSrc>>2]|0; - $191 = (($189|0) / ($190|0))&-1; - HEAP32[$ratio>>2] = $191; - $192 = HEAP32[$nSrcPage>>2]|0; - $193 = HEAP32[$ratio>>2]|0; - $194 = (($192) + ($193))|0; - $195 = (($194) - 1)|0; - $196 = HEAP32[$ratio>>2]|0; - $197 = (($195|0) / ($196|0))&-1; - HEAP32[$nDestTruncate>>2] = $197; - $198 = HEAP32[$nDestTruncate>>2]|0; - $199 = HEAP32[1128>>2]|0; - $200 = HEAP32[$0>>2]|0; - $201 = (($200) + 4|0); - $202 = HEAP32[$201>>2]|0; - $203 = (($202) + 4|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($204) + 32|0); - $206 = HEAP32[$205>>2]|0; - $207 = (($199>>>0) / ($206>>>0))&-1; - $208 = (($207) + 1)|0; - $209 = ($198|0)==($208|0); - if ($209) { - $210 = HEAP32[$nDestTruncate>>2]|0; - $211 = (($210) + -1)|0; - HEAP32[$nDestTruncate>>2] = $211; - } - } else { - $212 = HEAP32[$nSrcPage>>2]|0; - $213 = HEAP32[$pgszSrc>>2]|0; - $214 = HEAP32[$pgszDest>>2]|0; - $215 = (($213|0) / ($214|0))&-1; - $216 = Math_imul($212, $215)|0; - HEAP32[$nDestTruncate>>2] = $216; - } - $217 = HEAP32[$pgszSrc>>2]|0; - $218 = HEAP32[$pgszDest>>2]|0; - $219 = ($217|0)<($218|0); - if ($219) { - $220 = HEAP32[$pgszSrc>>2]|0; - $221 = ($220|0)<(0); - $222 = $221 << 31 >> 31; - $223 = HEAP32[$nSrcPage>>2]|0; - $224 = ($223|0)<(0); - $225 = $224 << 31 >> 31; - $226 = (___muldi3(($220|0),($222|0),($223|0),($225|0))|0); - $227 = tempRet0; - $228 = $iSize; - $229 = $228; - HEAP32[$229>>2] = $226; - $230 = (($228) + 4)|0; - $231 = $230; - HEAP32[$231>>2] = $227; - $232 = HEAP32[$pDestPager>>2]|0; - $233 = (_sqlite3PagerFile($232)|0); - HEAP32[$pFile>>2] = $233; - $234 = HEAP32[$pDestPager>>2]|0; - _sqlite3PagerPagecount($234,$nDstPage); - $235 = HEAP32[$nDestTruncate>>2]|0; - HEAP32[$iPg>>2] = $235; - while(1) { - $236 = HEAP32[$rc>>2]|0; - $237 = ($236|0)==(0); - if (!($237)) { - break; - } - $238 = HEAP32[$iPg>>2]|0; - $239 = HEAP32[$nDstPage>>2]|0; - $240 = ($238>>>0)<=($239>>>0); - if (!($240)) { - break; - } - $241 = HEAP32[$iPg>>2]|0; - $242 = HEAP32[1128>>2]|0; - $243 = HEAP32[$0>>2]|0; - $244 = (($243) + 4|0); - $245 = HEAP32[$244>>2]|0; - $246 = (($245) + 4|0); - $247 = HEAP32[$246>>2]|0; - $248 = (($247) + 32|0); - $249 = HEAP32[$248>>2]|0; - $250 = (($242>>>0) / ($249>>>0))&-1; - $251 = (($250) + 1)|0; - $252 = ($241|0)!=($251|0); - do { - if ($252) { - $253 = HEAP32[$pDestPager>>2]|0; - $254 = HEAP32[$iPg>>2]|0; - $255 = (_sqlite3PagerAcquire($253,$254,$pPg,0)|0); - HEAP32[$rc>>2] = $255; - $256 = HEAP32[$rc>>2]|0; - $257 = ($256|0)==(0); - if (!($257)) { - break; - } - $258 = HEAP32[$pPg>>2]|0; - $259 = (_sqlite3PagerWrite($258)|0); - HEAP32[$rc>>2] = $259; - $260 = HEAP32[$pPg>>2]|0; - _sqlite3PagerUnref($260); - } - } while(0); - $261 = HEAP32[$iPg>>2]|0; - $262 = (($261) + 1)|0; - HEAP32[$iPg>>2] = $262; - } - $263 = HEAP32[$rc>>2]|0; - $264 = ($263|0)==(0); - if ($264) { - $265 = HEAP32[$pDestPager>>2]|0; - $266 = (_sqlite3PagerCommitPhaseOne($265,0,1)|0); - HEAP32[$rc>>2] = $266; - } - $267 = HEAP32[1128>>2]|0; - $268 = HEAP32[$pgszDest>>2]|0; - $269 = (($267) + ($268))|0; - $270 = ($269|0)<(0); - $271 = $270 << 31 >> 31; - $272 = $iSize; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = (($272) + 4)|0; - $276 = $275; - $277 = HEAP32[$276>>2]|0; - $278 = ($271|0)<($277|0); - $279 = ($269>>>0)<($274>>>0); - $280 = ($271|0)==($277|0); - $281 = $280 & $279; - $282 = $278 | $281; - if ($282) { - $283 = HEAP32[1128>>2]|0; - $284 = HEAP32[$pgszDest>>2]|0; - $285 = (($283) + ($284))|0; - $286 = ($285|0)<(0); - $287 = $286 << 31 >> 31; - $296 = $285;$299 = $287; - } else { - $288 = $iSize; - $289 = $288; - $290 = HEAP32[$289>>2]|0; - $291 = (($288) + 4)|0; - $292 = $291; - $293 = HEAP32[$292>>2]|0; - $296 = $290;$299 = $293; - } - $294 = $iEnd; - $295 = $294; - HEAP32[$295>>2] = $296; - $297 = (($294) + 4)|0; - $298 = $297; - HEAP32[$298>>2] = $299; - $300 = HEAP32[1128>>2]|0; - $301 = HEAP32[$pgszSrc>>2]|0; - $302 = (($300) + ($301))|0; - $303 = ($302|0)<(0); - $304 = $303 << 31 >> 31; - $305 = $iOff; - $306 = $305; - HEAP32[$306>>2] = $302; - $307 = (($305) + 4)|0; - $308 = $307; - HEAP32[$308>>2] = $304; - while(1) { - $309 = HEAP32[$rc>>2]|0; - $310 = ($309|0)==(0); - if (!($310)) { - break; - } - $311 = $iOff; - $312 = $311; - $313 = HEAP32[$312>>2]|0; - $314 = (($311) + 4)|0; - $315 = $314; - $316 = HEAP32[$315>>2]|0; - $317 = $iEnd; - $318 = $317; - $319 = HEAP32[$318>>2]|0; - $320 = (($317) + 4)|0; - $321 = $320; - $322 = HEAP32[$321>>2]|0; - $323 = ($316|0)<($322|0); - $324 = ($313>>>0)<($319>>>0); - $325 = ($316|0)==($322|0); - $326 = $325 & $324; - $327 = $323 | $326; - if (!($327)) { - break; - } - HEAP32[$pSrcPg1>>2] = 0; - $328 = $iOff; - $329 = $328; - $330 = HEAP32[$329>>2]|0; - $331 = (($328) + 4)|0; - $332 = $331; - $333 = HEAP32[$332>>2]|0; - $334 = HEAP32[$pgszSrc>>2]|0; - $335 = ($334|0)<(0); - $336 = $335 << 31 >> 31; - $337 = (___divdi3(($330|0),($333|0),($334|0),($336|0))|0); - $338 = tempRet0; - $339 = (_i64Add(($337|0),($338|0),1,0)|0); - $340 = tempRet0; - HEAP32[$iSrcPg2>>2] = $339; - $341 = HEAP32[$pSrcPager>>2]|0; - $342 = HEAP32[$iSrcPg2>>2]|0; - $343 = (_sqlite3PagerAcquire($341,$342,$pSrcPg1,0)|0); - HEAP32[$rc>>2] = $343; - $344 = HEAP32[$rc>>2]|0; - $345 = ($344|0)==(0); - if ($345) { - $346 = HEAP32[$pSrcPg1>>2]|0; - $347 = (_sqlite3PagerGetData($346)|0); - HEAP32[$zData>>2] = $347; - $348 = HEAP32[$pFile>>2]|0; - $349 = HEAP32[$zData>>2]|0; - $350 = HEAP32[$pgszSrc>>2]|0; - $351 = $iOff; - $352 = $351; - $353 = HEAP32[$352>>2]|0; - $354 = (($351) + 4)|0; - $355 = $354; - $356 = HEAP32[$355>>2]|0; - $357 = (_sqlite3OsWrite($348,$349,$350,$353,$356)|0); - HEAP32[$rc>>2] = $357; - } - $358 = HEAP32[$pSrcPg1>>2]|0; - _sqlite3PagerUnref($358); - $359 = HEAP32[$pgszSrc>>2]|0; - $360 = ($359|0)<(0); - $361 = $360 << 31 >> 31; - $362 = $iOff; - $363 = $362; - $364 = HEAP32[$363>>2]|0; - $365 = (($362) + 4)|0; - $366 = $365; - $367 = HEAP32[$366>>2]|0; - $368 = (_i64Add(($364|0),($367|0),($359|0),($361|0))|0); - $369 = tempRet0; - $370 = $iOff; - $371 = $370; - HEAP32[$371>>2] = $368; - $372 = (($370) + 4)|0; - $373 = $372; - HEAP32[$373>>2] = $369; - } - $374 = HEAP32[$rc>>2]|0; - $375 = ($374|0)==(0); - if ($375) { - $376 = HEAP32[$pFile>>2]|0; - $377 = $iSize; - $378 = $377; - $379 = HEAP32[$378>>2]|0; - $380 = (($377) + 4)|0; - $381 = $380; - $382 = HEAP32[$381>>2]|0; - $383 = (_backupTruncateFile($376,$379,$382)|0); - HEAP32[$rc>>2] = $383; - } - $384 = HEAP32[$rc>>2]|0; - $385 = ($384|0)==(0); - if ($385) { - $386 = HEAP32[$pDestPager>>2]|0; - $387 = (_sqlite3PagerSync($386,0)|0); - HEAP32[$rc>>2] = $387; - } } else { - $388 = HEAP32[$pDestPager>>2]|0; - $389 = HEAP32[$nDestTruncate>>2]|0; - _sqlite3PagerTruncateImage($388,$389); - $390 = HEAP32[$pDestPager>>2]|0; - $391 = (_sqlite3PagerCommitPhaseOne($390,0,0)|0); - HEAP32[$rc>>2] = $391; - } - $392 = HEAP32[$rc>>2]|0; - $393 = (0)==($392|0); - if ($393) { - $394 = HEAP32[$0>>2]|0; - $395 = (($394) + 4|0); - $396 = HEAP32[$395>>2]|0; - $397 = (_sqlite3BtreeCommitPhaseTwo($396,0)|0); - HEAP32[$rc>>2] = $397; - $398 = (0)==($397|0); - $$ = $398 ? 101 : $397; - HEAP32[$rc>>2] = $$; + $48 = HEAP32[$db>>2]|0; + $49 = HEAP32[$zErr>>2]|0; + $50 = (_sqlite3DbStrDup($48,$49)|0); + $51 = HEAP32[$v>>2]|0; + $52 = ((($51)) + 44|0); + HEAP32[$52>>2] = $50; + $53 = HEAP32[$rc2>>2]|0; + $54 = HEAP32[$v>>2]|0; + $55 = ((($54)) + 80|0); + HEAP32[$55>>2] = $53; + break; } } - } - $399 = HEAP32[$bCloseTrans>>2]|0; - $400 = ($399|0)!=(0); - if ($400) { - $401 = HEAP32[$0>>2]|0; - $402 = (($401) + 24|0); - $403 = HEAP32[$402>>2]|0; - (_sqlite3BtreeCommitPhaseOne($403,0)|0); - $404 = HEAP32[$0>>2]|0; - $405 = (($404) + 24|0); - $406 = HEAP32[$405>>2]|0; - (_sqlite3BtreeCommitPhaseTwo($406,0)|0); - } - $407 = HEAP32[$rc>>2]|0; - $408 = ($407|0)==(3082); - if ($408) { - HEAP32[$rc>>2] = 7; - } - $409 = HEAP32[$rc>>2]|0; - $410 = HEAP32[$0>>2]|0; - $411 = (($410) + 28|0); - HEAP32[$411>>2] = $409; - $412 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($412|0); + } while(0); + $60 = HEAP32[$db>>2]|0; + $61 = HEAP32[$rc>>2]|0; + $62 = (_sqlite3ApiExit($60,$61)|0); + HEAP32[$rc>>2] = $62; + $63 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $63; + $64 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($64|0); } -function _sqlite3BtreeEnter($p) { +function _sqlite3_user_data($p) { $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 4|0); - HEAP32[$6>>2] = $2; - STACKTOP = sp;return; + STACKTOP = sp;return ($5|0); } -function _isFatalError($rc) { - $rc = $rc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; +function _sqlite3_context_db_handle($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $rc; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0); - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)!=(5); - $or$cond = $2 & $4; - if (!($or$cond)) { + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 32|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3_aggregate_context($p,$nByte) { + $p = $p|0; + $nByte = $nByte|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $nByte; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & 8192; + $10 = ($9|0)==(0); + $11 = HEAP32[$1>>2]|0; + if ($10) { + $12 = HEAP32[$2>>2]|0; + $13 = (_createAggContext($11,$12)|0); + HEAP32[$0>>2] = $13; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); + } else { + $14 = ((($11)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$0>>2] = $17; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); + } + return (0)|0; +} +function _sqlite3_column_count($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pVm = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pVm = sp; + HEAP32[$0>>2] = $pStmt; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pVm>>2] = $1; + $2 = HEAP32[$pVm>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { $8 = 0; - $7 = $8&1; - STACKTOP = sp;return ($7|0); + STACKTOP = sp;return ($8|0); } - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)!=(6); - $8 = $6; - $7 = $8&1; - STACKTOP = sp;return ($7|0); + $4 = HEAP32[$pVm>>2]|0; + $5 = ((($4)) + 84|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = $7; + STACKTOP = sp;return ($8|0); } -function _sqlite3BtreeBeginTrans($p,$wrflag) { - $p = $p|0; - $wrflag = $wrflag|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond9 = 0, $pBlock = 0, $pBt = 0, $pIter = 0, $pPage1 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_data_count($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pVm = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $pBlock = sp + 16|0; - $pBt = sp + 12|0; - $rc = sp + 8|0; - $pIter = sp + 4|0; - $pPage1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $wrflag; - HEAP32[$pBlock>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $pVm = sp; + HEAP32[$1>>2] = $pStmt; + $2 = HEAP32[$1>>2]|0; + HEAP32[$pVm>>2] = $2; + $3 = HEAP32[$pVm>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + $5 = HEAP32[$pVm>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = HEAP32[$pVm>>2]|0; + $10 = ((($9)) + 84|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + HEAP32[$0>>2] = $12; + $13 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($13|0); + } + } + HEAP32[$0>>2] = 0; + $13 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _sqlite3_column_blob($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $val = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($5); + $3 = HEAP32[$1>>2]|0; + $4 = (_columnMem($2,$3)|0); + $5 = (_sqlite3_value_blob($4)|0); + HEAP32[$val>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 8|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)==(2); - do { - if (!($10)) { - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(1); - $16 = HEAP32[$1>>2]|0; - $17 = ($16|0)!=(0); - $or$cond = $15 | $17; - if ($or$cond) { - $18 = HEAP32[$pBt>>2]|0; - $19 = (($18) + 22|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = $21 & 1; - $23 = ($22|0)!=(0); - $24 = HEAP32[$1>>2]|0; - $25 = ($24|0)!=(0); - $or$cond3 = $23 & $25; - if ($or$cond3) { - HEAP32[$rc>>2] = 8; - break; - } - $26 = HEAP32[$1>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$pBt>>2]|0; - $29 = (($28) + 20|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = ($31|0)==(2); - if ($32) { - label = 8; - } else { - label = 7; - } - } else { - label = 7; - } - L9: do { - if ((label|0) == 7) { - $33 = HEAP32[$pBt>>2]|0; - $34 = (($33) + 22|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35&65535; - $37 = $36 & 64; - $38 = ($37|0)!=(0); - if ($38) { - label = 8; - } else { - $43 = HEAP32[$1>>2]|0; - $44 = ($43|0)>(1); - if ($44) { - $45 = HEAP32[$pBt>>2]|0; - $46 = (($45) + 72|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$pIter>>2] = $47; - while(1) { - $48 = HEAP32[$pIter>>2]|0; - $49 = ($48|0)!=(0|0); - if (!($49)) { - break L9; - } - $50 = HEAP32[$pIter>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$0>>2]|0; - $53 = ($51|0)!=($52|0); - $54 = HEAP32[$pIter>>2]|0; - if ($53) { - break; - } - $57 = (($54) + 12|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$pIter>>2] = $58; - } - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$55>>2]|0; - HEAP32[$pBlock>>2] = $56; - } - } - } - } while(0); - if ((label|0) == 8) { - $39 = HEAP32[$pBt>>2]|0; - $40 = (($39) + 76|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$41>>2]|0; - HEAP32[$pBlock>>2] = $42; - } - $59 = HEAP32[$pBlock>>2]|0; - $60 = ($59|0)!=(0|0); - if ($60) { - HEAP32[$rc>>2] = 262; - break; - } - $61 = HEAP32[$0>>2]|0; - $62 = (_querySharedCacheTableLock($61,1,1)|0); - HEAP32[$rc>>2] = $62; - $63 = HEAP32[$rc>>2]|0; - $64 = (0)!=($63|0); - if (!($64)) { - $65 = HEAP32[$pBt>>2]|0; - $66 = (($65) + 22|0); - $67 = HEAP16[$66>>1]|0; - $68 = $67&65535; - $69 = $68 & -9; - $70 = $69&65535; - HEAP16[$66>>1] = $70; - $71 = HEAP32[$pBt>>2]|0; - $72 = (($71) + 44|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = HEAP32[$pBt>>2]|0; - $76 = (($75) + 22|0); - $77 = HEAP16[$76>>1]|0; - $78 = $77&65535; - $79 = $78 | 8; - $80 = $79&65535; - HEAP16[$76>>1] = $80; - } - while(1) { - $81 = HEAP32[$pBt>>2]|0; - $82 = (($81) + 12|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==(0|0); - if ($84) { - $85 = HEAP32[$pBt>>2]|0; - $86 = (_lockBtree($85)|0); - HEAP32[$rc>>2] = $86; - $87 = (0)==($86|0); - if ($87) { - continue; - } - } - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)==(0); - $90 = HEAP32[$1>>2]|0; - $91 = ($90|0)!=(0); - $or$cond5 = $89 & $91; - do { - if ($or$cond5) { - $92 = HEAP32[$pBt>>2]|0; - $93 = (($92) + 22|0); - $94 = HEAP16[$93>>1]|0; - $95 = $94&65535; - $96 = $95 & 1; - $97 = ($96|0)!=(0); - if ($97) { - HEAP32[$rc>>2] = 8; - break; - } - $98 = HEAP32[$pBt>>2]|0; - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = ($100|0)>(1); - $102 = $101&1; - $103 = HEAP32[$0>>2]|0; - $104 = HEAP32[$103>>2]|0; - $105 = (_sqlite3TempInMemory($104)|0); - $106 = (_sqlite3PagerBegin($99,$102,$105)|0); - HEAP32[$rc>>2] = $106; - $107 = HEAP32[$rc>>2]|0; - $108 = ($107|0)==(0); - if ($108) { - $109 = HEAP32[$pBt>>2]|0; - $110 = (_newDatabase($109)|0); - HEAP32[$rc>>2] = $110; - } - } - } while(0); - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)!=(0); - if ($112) { - $113 = HEAP32[$pBt>>2]|0; - _unlockBtreeIfUnused($113); - } - $114 = HEAP32[$rc>>2]|0; - $115 = $114 & 255; - $116 = ($115|0)==(5); - if (!($116)) { - break; - } - $117 = HEAP32[$pBt>>2]|0; - $118 = (($117) + 20|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = ($120|0)==(0); - if (!($121)) { - break; - } - $122 = HEAP32[$pBt>>2]|0; - $123 = (_btreeInvokeBusyHandler($122)|0); - $124 = ($123|0)!=(0); - if (!($124)) { - break; - } - } - $125 = HEAP32[$rc>>2]|0; - $126 = ($125|0)==(0); - if ($126) { - $127 = HEAP32[$0>>2]|0; - $128 = (($127) + 8|0); - $129 = HEAP8[$128>>0]|0; - $130 = $129&255; - $131 = ($130|0)==(0); - if ($131) { - $132 = HEAP32[$pBt>>2]|0; - $133 = (($132) + 40|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) + 1)|0; - HEAP32[$133>>2] = $135; - $136 = HEAP32[$0>>2]|0; - $137 = (($136) + 9|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138<<24>>24)!=(0); - if ($139) { - $140 = HEAP32[$0>>2]|0; - $141 = (($140) + 28|0); - $142 = (($141) + 8|0); - HEAP8[$142>>0] = 1; - $143 = HEAP32[$pBt>>2]|0; - $144 = (($143) + 72|0); - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$0>>2]|0; - $147 = (($146) + 28|0); - $148 = (($147) + 12|0); - HEAP32[$148>>2] = $145; - $149 = HEAP32[$0>>2]|0; - $150 = (($149) + 28|0); - $151 = HEAP32[$pBt>>2]|0; - $152 = (($151) + 72|0); - HEAP32[$152>>2] = $150; - } - } - $153 = HEAP32[$1>>2]|0; - $154 = ($153|0)!=(0); - $155 = $154 ? 2 : 1; - $156 = $155&255; - $157 = HEAP32[$0>>2]|0; - $158 = (($157) + 8|0); - HEAP8[$158>>0] = $156; - $159 = HEAP32[$0>>2]|0; - $160 = (($159) + 8|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $163 = HEAP32[$pBt>>2]|0; - $164 = (($163) + 20|0); - $165 = HEAP8[$164>>0]|0; - $166 = $165&255; - $167 = ($162|0)>($166|0); - if ($167) { - $168 = HEAP32[$0>>2]|0; - $169 = (($168) + 8|0); - $170 = HEAP8[$169>>0]|0; - $171 = HEAP32[$pBt>>2]|0; - $172 = (($171) + 20|0); - HEAP8[$172>>0] = $170; - } - $173 = HEAP32[$1>>2]|0; - $174 = ($173|0)!=(0); - if ($174) { - $175 = HEAP32[$pBt>>2]|0; - $176 = (($175) + 12|0); - $177 = HEAP32[$176>>2]|0; - HEAP32[$pPage1>>2] = $177; - $178 = HEAP32[$0>>2]|0; - $179 = HEAP32[$pBt>>2]|0; - $180 = (($179) + 76|0); - HEAP32[$180>>2] = $178; - $181 = HEAP32[$pBt>>2]|0; - $182 = (($181) + 22|0); - $183 = HEAP16[$182>>1]|0; - $184 = $183&65535; - $185 = $184 & -33; - $186 = $185&65535; - HEAP16[$182>>1] = $186; - $187 = HEAP32[$1>>2]|0; - $188 = ($187|0)>(1); - if ($188) { - $189 = HEAP32[$pBt>>2]|0; - $190 = (($189) + 22|0); - $191 = HEAP16[$190>>1]|0; - $192 = $191&65535; - $193 = $192 | 32; - $194 = $193&65535; - HEAP16[$190>>1] = $194; - } - $195 = HEAP32[$pBt>>2]|0; - $196 = (($195) + 44|0); - $197 = HEAP32[$196>>2]|0; - $198 = HEAP32[$pPage1>>2]|0; - $199 = (($198) + 56|0); - $200 = HEAP32[$199>>2]|0; - $201 = (($200) + 28|0); - $202 = (_sqlite3Get4byte($201)|0); - $203 = ($197|0)!=($202|0); - if ($203) { - $204 = HEAP32[$pPage1>>2]|0; - $205 = (($204) + 68|0); - $206 = HEAP32[$205>>2]|0; - $207 = (_sqlite3PagerWrite($206)|0); - HEAP32[$rc>>2] = $207; - $208 = HEAP32[$rc>>2]|0; - $209 = ($208|0)==(0); - if ($209) { - $210 = HEAP32[$pPage1>>2]|0; - $211 = (($210) + 56|0); - $212 = HEAP32[$211>>2]|0; - $213 = (($212) + 28|0); - $214 = HEAP32[$pBt>>2]|0; - $215 = (($214) + 44|0); - $216 = HEAP32[$215>>2]|0; - _sqlite3Put4byte($213,$216); - } - } - } - } - } - } - } - } while(0); - $217 = HEAP32[$rc>>2]|0; - $218 = ($217|0)==(0); - $219 = HEAP32[$1>>2]|0; - $220 = ($219|0)!=(0); - $or$cond9 = $218 & $220; - if (!($or$cond9)) { - $228 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($228|0); - } - $221 = HEAP32[$pBt>>2]|0; - $222 = HEAP32[$221>>2]|0; - $223 = HEAP32[$0>>2]|0; - $224 = HEAP32[$223>>2]|0; - $225 = (($224) + 496|0); - $226 = HEAP32[$225>>2]|0; - $227 = (_sqlite3PagerOpenSavepoint($222,$226)|0); - HEAP32[$rc>>2] = $227; - $228 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($228|0); + _columnMallocFailure($6); + $7 = HEAP32[$val>>2]|0; + STACKTOP = sp;return ($7|0); } -function _sqlite3BtreeGetMeta($p,$idx,$pMeta) { - $p = $p|0; - $idx = $idx|0; - $pMeta = $pMeta|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, label = 0; - var sp = 0; +function _sqlite3_column_bytes($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $val = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_columnMem($2,$3)|0); + $5 = (_sqlite3_value_bytes($4)|0); + HEAP32[$val>>2] = $5; + $6 = HEAP32[$0>>2]|0; + _columnMallocFailure($6); + $7 = HEAP32[$val>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _sqlite3_column_double($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $val = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; - $2 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $idx; - HEAP32[$2>>2] = $pMeta; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; + $val = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_columnMem($2,$3)|0); + $5 = (+_sqlite3_value_double($4)); + HEAPF64[$val>>3] = $5; $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$1>>2]|0; - $8 = $7<<2; - $9 = (36 + ($8))|0; - $10 = HEAP32[$pBt>>2]|0; - $11 = (($10) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 56|0); + _columnMallocFailure($6); + $7 = +HEAPF64[$val>>3]; + STACKTOP = sp;return (+$7); +} +function _sqlite3_column_int($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $val = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_columnMem($2,$3)|0); + $5 = (_sqlite3_value_int($4)|0); + HEAP32[$val>>2] = $5; + $6 = HEAP32[$0>>2]|0; + _columnMallocFailure($6); + $7 = HEAP32[$val>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _sqlite3_column_int64($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $val = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $val = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_columnMem($2,$3)|0); + $5 = (_sqlite3_value_int64($4)|0); + $6 = tempRet0; + $7 = $val; + $8 = $7; + HEAP32[$8>>2] = $5; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + $11 = HEAP32[$0>>2]|0; + _columnMallocFailure($11); + $12 = $val; + $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($9)|0); - $16 = (_sqlite3Get4byte($15)|0); - $17 = HEAP32[$2>>2]|0; - HEAP32[$17>>2] = $16; - STACKTOP = sp;return; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + tempRet0 = ($17); + STACKTOP = sp;return ($14|0); } -function _sqlite3BtreeIsInReadTrans($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3_column_text($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(0); - $6 = $5&1; - STACKTOP = sp;return ($6|0); + $0 = sp + 8|0; + $1 = sp + 4|0; + $val = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_columnMem($2,$3)|0); + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$val>>2] = $5; + $6 = HEAP32[$0>>2]|0; + _columnMallocFailure($6); + $7 = HEAP32[$val>>2]|0; + STACKTOP = sp;return ($7|0); } -function _sqlite3BtreeGetPageSize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3_column_type($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $iType = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 32|0); - $5 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($5|0); + $0 = sp + 8|0; + $1 = sp + 4|0; + $iType = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_columnMem($2,$3)|0); + $5 = (_sqlite3_value_type($4)|0); + HEAP32[$iType>>2] = $5; + $6 = HEAP32[$0>>2]|0; + _columnMallocFailure($6); + $7 = HEAP32[$iType>>2]|0; + STACKTOP = sp;return ($7|0); } -function _sqlite3PagerGetJournalMode($pPager) { - $pPager = $pPager|0; +function _sqlite3_column_name($pStmt,$N) { + $pStmt = $pStmt|0; + $N = $N|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 5|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $N; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_columnName($2,$3,22,0)|0); STACKTOP = sp;return ($4|0); } -function _sqlite3BtreeLastPage($p) { +function _sqlite3_bind_blob($pStmt,$i,$zData,$nData,$xDel) { + $pStmt = $pStmt|0; + $i = $i|0; + $zData = $zData|0; + $nData = $nData|0; + $xDel = $xDel|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + HEAP32[$2>>2] = $zData; + HEAP32[$3>>2] = $nData; + HEAP32[$4>>2] = $xDel; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_bindText($5,$6,$7,$8,$9,0)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3_bind_double($pStmt,$i,$rValue) { + $pStmt = $pStmt|0; + $i = $i|0; + $rValue = +$rValue; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp; + $rc = sp + 12|0; + $p = sp + 8|0; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + HEAPF64[$2>>3] = $rValue; + $3 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $3; + $4 = HEAP32[$p>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = (_vdbeUnbind($4,$5)|0); + HEAP32[$rc>>2] = $6; + $7 = HEAP32[$rc>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + $16 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($16|0); + } + $9 = HEAP32[$1>>2]|0; + $10 = (($9) - 1)|0; + $11 = HEAP32[$p>>2]|0; + $12 = ((($11)) + 60|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + (($10*40)|0)|0); + $15 = +HEAPF64[$2>>3]; + _sqlite3VdbeMemSetDouble($14,$15); + $16 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($16|0); +} +function _sqlite3_bind_int($p,$i,$iValue) { $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + $i = $i|0; + $iValue = $iValue|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $i; + HEAP32[$2>>2] = $iValue; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)<(0); + $7 = $6 << 31 >> 31; + $8 = (_sqlite3_bind_int64($3,$4,$5,$7)|0); + STACKTOP = sp;return ($8|0); +} +function _sqlite3_bind_int64($pStmt,$i,$0,$1) { + $pStmt = $pStmt|0; + $i = $i|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + $rc = sp + 12|0; + $p = sp + 8|0; + HEAP32[$2>>2] = $pStmt; + HEAP32[$3>>2] = $i; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = HEAP32[$2>>2]|0; + HEAP32[$p>>2] = $9; + $10 = HEAP32[$p>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = (_vdbeUnbind($10,$11)|0); + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$rc>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + $27 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($27|0); + } + $15 = HEAP32[$3>>2]|0; + $16 = (($15) - 1)|0; + $17 = HEAP32[$p>>2]|0; + $18 = ((($17)) + 60|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + (($16*40)|0)|0); + $21 = $4; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + _sqlite3VdbeMemSetInt64($20,$23,$26); + $27 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($27|0); +} +function _sqlite3_bind_null($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $p = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $rc = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = (_vdbeUnbind($3,$4)|0); + HEAP32[$rc>>2] = $5; + $6 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($6|0); +} +function _sqlite3_bind_text($pStmt,$i,$zData,$nData,$xDel) { + $pStmt = $pStmt|0; + $i = $i|0; + $zData = $zData|0; + $nData = $nData|0; + $xDel = $xDel|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + HEAP32[$2>>2] = $zData; + HEAP32[$3>>2] = $nData; + HEAP32[$4>>2] = $xDel; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_bindText($5,$6,$7,$8,$9,1)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3_bind_parameter_index($pStmt,$zName) { + $pStmt = $pStmt|0; + $zName = $zName|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $zName; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3Strlen30($4)|0); + $6 = (_sqlite3VdbeParameterIndex($2,$3,$5)|0); + STACKTOP = sp;return ($6|0); +} +function _sqlite3_value_numeric_type($pVal) { + $pVal = $pVal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $pMem = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $eType = sp + 4|0; + $pMem = sp; + HEAP32[$0>>2] = $pVal; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_btreePagecount($3)|0); - STACKTOP = sp;return ($4|0); + $2 = (_sqlite3_value_type($1)|0); + HEAP32[$eType>>2] = $2; + $3 = HEAP32[$eType>>2]|0; + $4 = ($3|0)==(3); + if (!($4)) { + $9 = HEAP32[$eType>>2]|0; + STACKTOP = sp;return ($9|0); + } + $5 = HEAP32[$0>>2]|0; + HEAP32[$pMem>>2] = $5; + $6 = HEAP32[$pMem>>2]|0; + _applyNumericAffinity($6,0); + $7 = HEAP32[$0>>2]|0; + $8 = (_sqlite3_value_type($7)|0); + HEAP32[$eType>>2] = $8; + $9 = HEAP32[$eType>>2]|0; + STACKTOP = sp;return ($9|0); } -function _sqlite3PagerAcquire($pPager,$pgno,$ppPage,$flags) { - $pPager = $pPager|0; - $pgno = $pgno|0; - $ppPage = $ppPage|0; - $flags = $flags|0; +function _sqlite3_strglob($zGlobPattern,$zString) { + $zGlobPattern = $zGlobPattern|0; + $zString = $zString|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $zGlobPattern; + HEAP32[$1>>2] = $zString; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_patternCompare($2,$3,14421,0)|0); + $5 = ($4|0)==(0); + $6 = $5&1; + STACKTOP = sp;return ($6|0); +} +function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { + $db = $db|0; + $zSql = $zSql|0; + $xCallback = $xCallback|0; + $pArg = $pArg|0; + $pzErrMsg = $pzErrMsg|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bMmapOk = 0, $iFrame = 0, $noContent = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pBase = 0, $pData = 0, $pPg = 0, $rc = 0; - var label = 0, sp = 0; + var $152 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $azCols = 0, $azVals = 0, $callbackIsInit = 0, $i = 0, $nCol = 0, $nErrMsg = 0, $or$cond = 0; + var $or$cond3 = 0, $pStmt = 0, $rc = 0, $zLeftover = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $rc = sp + 24|0; - $pPg = sp + 20|0; - $iFrame = sp + 16|0; - $noContent = sp + 12|0; - $bMmapOk = sp + 8|0; - $pData = sp + 4|0; - $pBase = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $ppPage; - HEAP32[$4>>2] = $flags; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 52|0; + $1 = sp + 44|0; + $2 = sp + 20|0; + $3 = sp + 12|0; + $4 = sp + 4|0; + $5 = sp + 40|0; + $rc = sp + 48|0; + $zLeftover = sp + 56|0; + $pStmt = sp + 16|0; + $azCols = sp + 24|0; + $callbackIsInit = sp; + $nCol = sp + 32|0; + $azVals = sp + 28|0; + $i = sp + 8|0; + $nErrMsg = sp + 36|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zSql; + HEAP32[$3>>2] = $xCallback; + HEAP32[$4>>2] = $pArg; + HEAP32[$5>>2] = $pzErrMsg; HEAP32[$rc>>2] = 0; - HEAP32[$pPg>>2] = 0; - HEAP32[$iFrame>>2] = 0; - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 1; - HEAP32[$noContent>>2] = $6; - $7 = 0; - HEAP32[$bMmapOk>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $10 = (_sqlite3CorruptError(46160)|0); - HEAP32[$0>>2] = $10; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); + HEAP32[$pStmt>>2] = 0; + HEAP32[$azCols>>2] = 0; + $6 = HEAP32[$1>>2]|0; + $7 = (_sqlite3SafetyCheckOk($6)|0); + $8 = ($7|0)!=(0); + if (!($8)) { + $9 = (_sqlite3MisuseError(99392)|0); + HEAP32[$0>>2] = $9; + $152 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($152|0); } - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0); - do { - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 40|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$rc>>2] = $17; - label = 22; - } else { - $18 = HEAP32[$bMmapOk>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = (_pagerUseWal($20)|0); - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 208|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = (_sqlite3WalFindFrame($25,$26,$iFrame)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - break; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + HEAP32[$2>>2] = 14425; + } + $12 = HEAP32[$1>>2]|0; + _sqlite3Error($12,0); + L8: while(1) { + $13 = HEAP32[$rc>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + break; + } + $15 = HEAP32[$2>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)!=(0); + if (!($18)) { + break; + } + HEAP32[$azVals>>2] = 0; + HEAP32[$pStmt>>2] = 0; + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = (_sqlite3_prepare_v2($19,$20,-1,$pStmt,$zLeftover)|0); + HEAP32[$rc>>2] = $21; + $22 = HEAP32[$rc>>2]|0; + $23 = ($22|0)!=(0); + if ($23) { + continue; + } + $24 = HEAP32[$pStmt>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + $26 = HEAP32[$zLeftover>>2]|0; + HEAP32[$2>>2] = $26; + continue; + } + HEAP32[$callbackIsInit>>2] = 0; + $27 = HEAP32[$pStmt>>2]|0; + $28 = (_sqlite3_column_count($27)|0); + HEAP32[$nCol>>2] = $28; + while(1) { + $29 = HEAP32[$pStmt>>2]|0; + $30 = (_sqlite3_step($29)|0); + HEAP32[$rc>>2] = $30; + $31 = HEAP32[$3>>2]|0; + $32 = ($31|0)!=(0|0); + do { + if ($32) { + $33 = HEAP32[$rc>>2]|0; + $34 = (100)==($33|0); + if (!($34)) { + $35 = HEAP32[$rc>>2]|0; + $36 = (101)!=($35|0); + $37 = HEAP32[$callbackIsInit>>2]|0; + $38 = ($37|0)!=(0); + $or$cond = $36 | $38; + if ($or$cond) { + break; + } + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 24|0); + $41 = HEAP32[$40>>2]|0; + $42 = $41 & 256; + $43 = ($42|0)!=(0); + if (!($43)) { + break; + } + } + $44 = HEAP32[$callbackIsInit>>2]|0; + $45 = ($44|0)!=(0); + if (!($45)) { + $46 = HEAP32[$1>>2]|0; + $47 = HEAP32[$nCol>>2]|0; + $48 = $47<<1; + $49 = $48<<2; + $50 = (($49) + 1)|0; + $51 = (_sqlite3DbMallocZero($46,$50,0)|0); + HEAP32[$azCols>>2] = $51; + $52 = HEAP32[$azCols>>2]|0; + $53 = ($52|0)==(0|0); + if ($53) { + break L8; + } + HEAP32[$i>>2] = 0; + while(1) { + $54 = HEAP32[$i>>2]|0; + $55 = HEAP32[$nCol>>2]|0; + $56 = ($54|0)<($55|0); + if (!($56)) { + break; + } + $57 = HEAP32[$pStmt>>2]|0; + $58 = HEAP32[$i>>2]|0; + $59 = (_sqlite3_column_name($57,$58)|0); + $60 = HEAP32[$i>>2]|0; + $61 = HEAP32[$azCols>>2]|0; + $62 = (($61) + ($60<<2)|0); + HEAP32[$62>>2] = $59; + $63 = HEAP32[$i>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$i>>2] = $64; + } + HEAP32[$callbackIsInit>>2] = 1; + } + $65 = HEAP32[$rc>>2]|0; + $66 = ($65|0)==(100); + L32: do { + if ($66) { + $67 = HEAP32[$nCol>>2]|0; + $68 = HEAP32[$azCols>>2]|0; + $69 = (($68) + ($67<<2)|0); + HEAP32[$azVals>>2] = $69; + HEAP32[$i>>2] = 0; + while(1) { + $70 = HEAP32[$i>>2]|0; + $71 = HEAP32[$nCol>>2]|0; + $72 = ($70|0)<($71|0); + if (!($72)) { + break L32; + } + $73 = HEAP32[$pStmt>>2]|0; + $74 = HEAP32[$i>>2]|0; + $75 = (_sqlite3_column_text($73,$74)|0); + $76 = HEAP32[$i>>2]|0; + $77 = HEAP32[$azVals>>2]|0; + $78 = (($77) + ($76<<2)|0); + HEAP32[$78>>2] = $75; + $79 = HEAP32[$i>>2]|0; + $80 = HEAP32[$azVals>>2]|0; + $81 = (($80) + ($79<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)!=(0|0); + if (!($83)) { + $84 = HEAP32[$pStmt>>2]|0; + $85 = HEAP32[$i>>2]|0; + $86 = (_sqlite3_column_type($84,$85)|0); + $87 = ($86|0)!=(5); + if ($87) { + label = 27; + break L8; + } + } + $90 = HEAP32[$i>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$i>>2] = $91; + } + } + } while(0); + $92 = HEAP32[$3>>2]|0; + $93 = HEAP32[$4>>2]|0; + $94 = HEAP32[$nCol>>2]|0; + $95 = HEAP32[$azVals>>2]|0; + $96 = HEAP32[$azCols>>2]|0; + $97 = (FUNCTION_TABLE_iiiii[$92 & 15]($93,$94,$95,$96)|0); + $98 = ($97|0)!=(0); + if ($98) { + label = 30; + break L8; } } - } - $30 = HEAP32[$bMmapOk>>2]|0; - $31 = ($30|0)!=(0); - $32 = HEAP32[$iFrame>>2]|0; - $33 = ($32|0)==(0); - $or$cond = $31 & $33; - if ($or$cond) { - HEAP32[$pData>>2] = 0; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 60|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (($37) - 1)|0; - $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 152|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)<(0); - $43 = $42 << 31 >> 31; - $44 = (___muldi3(($38|0),0,($41|0),($43|0))|0); - $45 = tempRet0; - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 152|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_sqlite3OsFetch($36,$44,$45,$48,$pData)|0); - HEAP32[$rc>>2] = $49; - $50 = HEAP32[$rc>>2]|0; - $51 = ($50|0)==(0); - $52 = HEAP32[$pData>>2]|0; - $53 = ($52|0)!=(0|0); - $or$cond3 = $51 & $53; - if ($or$cond3) { - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 16|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = ($57|0)>(1); - if ($58) { - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = (_sqlite3PagerLookup($59,$60)|0); - HEAP32[$pPg>>2] = $61; - } - $62 = HEAP32[$pPg>>2]|0; - $63 = ($62|0)==(0|0); - $64 = HEAP32[$1>>2]|0; - if ($63) { - $65 = HEAP32[$2>>2]|0; - $66 = HEAP32[$pData>>2]|0; - $67 = (_pagerAcquireMapPage($64,$65,$66,$pPg)|0); - HEAP32[$rc>>2] = $67; - } else { - $68 = (($64) + 60|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = (($70) - 1)|0; - $72 = HEAP32[$1>>2]|0; - $73 = (($72) + 152|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($74|0)<(0); - $76 = $75 << 31 >> 31; - $77 = (___muldi3(($71|0),0,($74|0),($76|0))|0); - $78 = tempRet0; - $79 = HEAP32[$pData>>2]|0; - (_sqlite3OsUnfetch($69,$77,$78,$79)|0); - } - $80 = HEAP32[$pPg>>2]|0; - $81 = ($80|0)!=(0|0); - if ($81) { - $82 = HEAP32[$pPg>>2]|0; - $83 = HEAP32[$3>>2]|0; - HEAP32[$83>>2] = $82; - HEAP32[$0>>2] = 0; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); - } - } - $84 = HEAP32[$rc>>2]|0; - $85 = ($84|0)!=(0); - if ($85) { - break; - } - } - $86 = HEAP32[$1>>2]|0; - $87 = (($86) + 204|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = (_sqlite3PcacheFetch($88,$89,3)|0); - HEAP32[$pBase>>2] = $90; - $91 = HEAP32[$pBase>>2]|0; - $92 = ($91|0)==(0|0); - if ($92) { - $93 = HEAP32[$1>>2]|0; - $94 = (($93) + 204|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = (_sqlite3PcacheFetchStress($95,$96,$pBase)|0); - HEAP32[$rc>>2] = $97; - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)!=(0); - if ($99) { - break; - } - } - $100 = HEAP32[$1>>2]|0; - $101 = (($100) + 204|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$2>>2]|0; - $104 = HEAP32[$pBase>>2]|0; - $105 = (_sqlite3PcacheFetchFinish($102,$103,$104)|0); - $106 = HEAP32[$3>>2]|0; - HEAP32[$106>>2] = $105; - HEAP32[$pPg>>2] = $105; - $107 = HEAP32[$pPg>>2]|0; - $108 = ($107|0)==(0|0); - if ($108) { - HEAP32[$rc>>2] = 7; - label = 22; - } else { - label = 22; + } while(0); + $101 = HEAP32[$rc>>2]|0; + $102 = ($101|0)!=(100); + if ($102) { + break; } } - } while(0); - do { - if ((label|0) == 22) { - $109 = HEAP32[$rc>>2]|0; - $110 = ($109|0)!=(0); - if ($110) { - HEAP32[$pPg>>2] = 0; + $103 = HEAP32[$pStmt>>2]|0; + $104 = (_sqlite3VdbeFinalize($103)|0); + HEAP32[$rc>>2] = $104; + HEAP32[$pStmt>>2] = 0; + $105 = HEAP32[$zLeftover>>2]|0; + HEAP32[$2>>2] = $105; + while(1) { + $106 = HEAP32[$2>>2]|0; + $107 = HEAP8[$106>>0]|0; + $108 = $107&255; + $109 = (14426 + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110&255; + $112 = $111 & 1; + $113 = ($112|0)!=(0); + if (!($113)) { break; } - $111 = HEAP32[$3>>2]|0; - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + 16|0); - $114 = HEAP32[$113>>2]|0; - $115 = ($114|0)==(0|0); - $116 = HEAP32[$noContent>>2]|0; - $117 = ($116|0)!=(0); - $or$cond5 = $115 | $117; - if (!($or$cond5)) { - $118 = HEAP32[$1>>2]|0; - $119 = (($118) + 184|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($120) + 1)|0; - HEAP32[$119>>2] = $121; - HEAP32[$0>>2] = 0; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); - } - $122 = HEAP32[$3>>2]|0; - $123 = HEAP32[$122>>2]|0; - HEAP32[$pPg>>2] = $123; - $124 = HEAP32[$1>>2]|0; - $125 = HEAP32[$pPg>>2]|0; - $126 = (($125) + 16|0); - HEAP32[$126>>2] = $124; - $127 = HEAP32[$2>>2]|0; - $128 = ($127>>>0)>(2147483647); - if (!($128)) { - $129 = HEAP32[$2>>2]|0; - $130 = HEAP32[1128>>2]|0; - $131 = HEAP32[$1>>2]|0; - $132 = (($131) + 152|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($130|0) / ($133|0))&-1; - $135 = (($134) + 1)|0; - $136 = ($129|0)==($135|0); - if (!($136)) { - $138 = HEAP32[$1>>2]|0; - $139 = (($138) + 15|0); - $140 = HEAP8[$139>>0]|0; - $141 = $140&255; - $142 = ($141|0)!=(0); - if ($142) { - label = 32; - } else { - $143 = HEAP32[$1>>2]|0; - $144 = (($143) + 24|0); - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$2>>2]|0; - $147 = ($145>>>0)<($146>>>0); - $148 = HEAP32[$noContent>>2]|0; - $149 = ($148|0)!=(0); - $or$cond7 = $147 | $149; - if ($or$cond7) { - label = 32; - } else { - $150 = HEAP32[$1>>2]|0; - $151 = (($150) + 60|0); - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)!=(0|0); - if ($154) { - $179 = HEAP32[$1>>2]|0; - $180 = (_pagerUseWal($179)|0); - $181 = ($180|0)!=(0); - $182 = HEAP32[$bMmapOk>>2]|0; - $183 = ($182|0)==(0); - $or$cond9 = $181 & $183; - if ($or$cond9) { - $184 = HEAP32[$1>>2]|0; - $185 = (($184) + 208|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$2>>2]|0; - $188 = (_sqlite3WalFindFrame($186,$187,$iFrame)|0); - HEAP32[$rc>>2] = $188; - $189 = HEAP32[$rc>>2]|0; - $190 = ($189|0)!=(0); - if ($190) { - break; - } - } - $191 = HEAP32[$1>>2]|0; - $192 = (($191) + 184|0); - $193 = (($192) + 4|0); - $194 = HEAP32[$193>>2]|0; - $195 = (($194) + 1)|0; - HEAP32[$193>>2] = $195; - $196 = HEAP32[$pPg>>2]|0; - $197 = HEAP32[$iFrame>>2]|0; - $198 = (_readDbPage($196,$197)|0); - HEAP32[$rc>>2] = $198; - $199 = HEAP32[$rc>>2]|0; - $200 = ($199|0)!=(0); - if ($200) { - break; - } - } else { - label = 32; - } - } - } - if ((label|0) == 32) { - $155 = HEAP32[$2>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = (($156) + 156|0); - $158 = HEAP32[$157>>2]|0; - $159 = ($155>>>0)>($158>>>0); - if ($159) { - HEAP32[$rc>>2] = 13; - break; - } - $160 = HEAP32[$noContent>>2]|0; - $161 = ($160|0)!=(0); - if ($161) { - _sqlite3BeginBenignMalloc(); - $162 = HEAP32[$2>>2]|0; - $163 = HEAP32[$1>>2]|0; - $164 = (($163) + 28|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($162>>>0)<=($165>>>0); - if ($166) { - $167 = HEAP32[$1>>2]|0; - $168 = (($167) + 56|0); - $169 = HEAP32[$168>>2]|0; - $170 = HEAP32[$2>>2]|0; - (_sqlite3BitvecSet($169,$170)|0); - } - $171 = HEAP32[$1>>2]|0; - $172 = HEAP32[$2>>2]|0; - (_addToSavepointBitvecs($171,$172)|0); - _sqlite3EndBenignMalloc(); - } - $173 = HEAP32[$pPg>>2]|0; - $174 = (($173) + 4|0); - $175 = HEAP32[$174>>2]|0; - $176 = HEAP32[$1>>2]|0; - $177 = (($176) + 152|0); - $178 = HEAP32[$177>>2]|0; - _memset(($175|0),0,($178|0))|0; - } - HEAP32[$0>>2] = 0; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); - } - } - $137 = (_sqlite3CorruptError(46239)|0); - HEAP32[$rc>>2] = $137; - } - } while(0); - $201 = HEAP32[$pPg>>2]|0; - $202 = ($201|0)!=(0|0); - if ($202) { - $203 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheDrop($203); - } - $204 = HEAP32[$1>>2]|0; - _pagerUnlockIfUnused($204); - $205 = HEAP32[$3>>2]|0; - HEAP32[$205>>2] = 0; - $206 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $206; - $207 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($207|0); -} -function _backupOnePage($p,$iSrcPg,$zSrcData,$bUpdate) { - $p = $p|0; - $iSrcPg = $iSrcPg|0; - $zSrcData = $zSrcData|0; - $bUpdate = $bUpdate|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iDest = 0, $iEnd = 0, $iOff = 0, $nCopy = 0, $nDestPgsz = 0, $nSrcPgsz = 0, $or$cond = 0, $pDestPager = 0, $pDestPg = 0, $rc = 0; - var $zDestData = 0, $zIn = 0, $zOut = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $pDestPager = sp + 52|0; - $nSrcPgsz = sp + 48|0; - $nDestPgsz = sp + 44|0; - $nCopy = sp + 40|0; - $iEnd = sp + 8|0; - $rc = sp + 36|0; - $iOff = sp; - $pDestPg = sp + 32|0; - $iDest = sp + 28|0; - $zIn = sp + 24|0; - $zDestData = sp + 20|0; - $zOut = sp + 16|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iSrcPg; - HEAP32[$2>>2] = $zSrcData; - HEAP32[$3>>2] = $bUpdate; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3BtreePager($6)|0); - HEAP32[$pDestPager>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3BtreeGetPageSize($10)|0); - HEAP32[$nSrcPgsz>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3BtreeGetPageSize($14)|0); - HEAP32[$nDestPgsz>>2] = $15; - $16 = HEAP32[$nSrcPgsz>>2]|0; - $17 = HEAP32[$nDestPgsz>>2]|0; - $18 = ($16|0)<($17|0); - $19 = HEAP32[$nSrcPgsz>>2]|0; - $20 = HEAP32[$nDestPgsz>>2]|0; - $21 = $18 ? $19 : $20; - HEAP32[$nCopy>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$nSrcPgsz>>2]|0; - $24 = ($23|0)<(0); - $25 = $24 << 31 >> 31; - $26 = (___muldi3(($22|0),0,($23|0),($25|0))|0); - $27 = tempRet0; - $28 = $iEnd; - $29 = $28; - HEAP32[$29>>2] = $26; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $27; - HEAP32[$rc>>2] = 0; - $32 = HEAP32[$nSrcPgsz>>2]|0; - $33 = HEAP32[$nDestPgsz>>2]|0; - $34 = ($32|0)!=($33|0); - if ($34) { - $35 = HEAP32[$pDestPager>>2]|0; - $36 = (_sqlite3PagerIsMemdb($35)|0); - $37 = ($36|0)!=(0); - if ($37) { - HEAP32[$rc>>2] = 8; + $114 = HEAP32[$2>>2]|0; + $115 = ((($114)) + 1|0); + HEAP32[$2>>2] = $115; } + $116 = HEAP32[$1>>2]|0; + $117 = HEAP32[$azCols>>2]|0; + _sqlite3DbFree($116,$117); + HEAP32[$azCols>>2] = 0; } - $38 = $iEnd; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$nSrcPgsz>>2]|0; - $45 = ($44|0)<(0); - $46 = $45 << 31 >> 31; - $47 = (_i64Subtract(($40|0),($43|0),($44|0),($46|0))|0); - $48 = tempRet0; - $49 = $iOff; - $50 = $49; - HEAP32[$50>>2] = $47; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $48; - while(1) { - $53 = HEAP32[$rc>>2]|0; - $54 = ($53|0)==(0); - if (!($54)) { - label = 14; - break; - } - $55 = $iOff; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = $iEnd; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = ($60|0)<($66|0); - $68 = ($57>>>0)<($63>>>0); - $69 = ($60|0)==($66|0); - $70 = $69 & $68; - $71 = $67 | $70; - if (!($71)) { - label = 14; - break; - } - HEAP32[$pDestPg>>2] = 0; - $72 = $iOff; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$nDestPgsz>>2]|0; - $79 = ($78|0)<(0); - $80 = $79 << 31 >> 31; - $81 = (___divdi3(($74|0),($77|0),($78|0),($80|0))|0); - $82 = tempRet0; - $83 = (($81) + 1)|0; - HEAP32[$iDest>>2] = $83; - $84 = HEAP32[$iDest>>2]|0; - $85 = HEAP32[1128>>2]|0; - $86 = HEAP32[$0>>2]|0; - $87 = (($86) + 4|0); - $88 = HEAP32[$87>>2]|0; - $89 = (($88) + 4|0); - $90 = HEAP32[$89>>2]|0; - $91 = (($90) + 32|0); - $92 = HEAP32[$91>>2]|0; - $93 = (($85>>>0) / ($92>>>0))&-1; - $94 = (($93) + 1)|0; - $95 = ($84|0)==($94|0); - if (!($95)) { - $96 = HEAP32[$pDestPager>>2]|0; - $97 = HEAP32[$iDest>>2]|0; - $98 = (_sqlite3PagerAcquire($96,$97,$pDestPg,0)|0); - HEAP32[$rc>>2] = $98; - $99 = (0)==($98|0); - if ($99) { - $100 = HEAP32[$pDestPg>>2]|0; - $101 = (_sqlite3PagerWrite($100)|0); - HEAP32[$rc>>2] = $101; - $102 = (0)==($101|0); - if ($102) { - $103 = $iOff; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$nSrcPgsz>>2]|0; - $110 = ($109|0)<(0); - $111 = $110 << 31 >> 31; - $112 = (___remdi3(($105|0),($108|0),($109|0),($111|0))|0); - $113 = tempRet0; - $114 = HEAP32[$2>>2]|0; - $115 = (($114) + ($112)|0); - HEAP32[$zIn>>2] = $115; - $116 = HEAP32[$pDestPg>>2]|0; - $117 = (_sqlite3PagerGetData($116)|0); - HEAP32[$zDestData>>2] = $117; - $118 = $iOff; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$nDestPgsz>>2]|0; - $125 = ($124|0)<(0); - $126 = $125 << 31 >> 31; - $127 = (___remdi3(($120|0),($123|0),($124|0),($126|0))|0); - $128 = tempRet0; - $129 = HEAP32[$zDestData>>2]|0; - $130 = (($129) + ($127)|0); - HEAP32[$zOut>>2] = $130; - $131 = HEAP32[$zOut>>2]|0; - $132 = HEAP32[$zIn>>2]|0; - $133 = HEAP32[$nCopy>>2]|0; - _memcpy(($131|0),($132|0),($133|0))|0; - $134 = HEAP32[$pDestPg>>2]|0; - $135 = (_sqlite3PagerGetExtra($134)|0); - HEAP8[$135>>0] = 0; - $136 = $iOff; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = ($138|0)==(0); - $143 = ($141|0)==(0); - $144 = $142 & $143; - $145 = HEAP32[$3>>2]|0; - $146 = ($145|0)==(0); - $or$cond = $144 & $146; - if ($or$cond) { - $147 = HEAP32[$zOut>>2]|0; - $148 = (($147) + 28|0); - $149 = HEAP32[$0>>2]|0; - $150 = (($149) + 24|0); - $151 = HEAP32[$150>>2]|0; - $152 = (_sqlite3BtreeLastPage($151)|0); - _sqlite3Put4byte($148,$152); - } - } - } - $153 = HEAP32[$pDestPg>>2]|0; - _sqlite3PagerUnref($153); - } - $154 = HEAP32[$nDestPgsz>>2]|0; - $155 = ($154|0)<(0); - $156 = $155 << 31 >> 31; - $157 = $iOff; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (_i64Add(($159|0),($162|0),($154|0),($156|0))|0); - $164 = tempRet0; - $165 = $iOff; - $166 = $165; - HEAP32[$166>>2] = $163; - $167 = (($165) + 4)|0; - $168 = $167; - HEAP32[$168>>2] = $164; + if ((label|0) == 27) { + $88 = HEAP32[$1>>2]|0; + $89 = ((($88)) + 64|0); + HEAP8[$89>>0] = 1; } - if ((label|0) == 14) { - $169 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($169|0); + else if ((label|0) == 30) { + HEAP32[$rc>>2] = 4; + $99 = HEAP32[$pStmt>>2]|0; + (_sqlite3VdbeFinalize($99)|0); + HEAP32[$pStmt>>2] = 0; + $100 = HEAP32[$1>>2]|0; + _sqlite3Error($100,4); } - return 0|0; -} -function _sqlite3PagerGetData($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3PagerUnref($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; + $118 = HEAP32[$pStmt>>2]|0; + $119 = ($118|0)!=(0|0); + if ($119) { + $120 = HEAP32[$pStmt>>2]|0; + (_sqlite3VdbeFinalize($120)|0); } - $3 = HEAP32[$0>>2]|0; - _sqlite3PagerUnrefNotNull($3); - STACKTOP = sp;return; -} -function _attachBackupObject($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pp = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3BtreePager($3)|0); - $5 = (_sqlite3PagerBackupPtr($4)|0); - HEAP32[$pp>>2] = $5; - $6 = HEAP32[$pp>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 44|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$pp>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 40|0); - HEAP32[$13>>2] = 1; - STACKTOP = sp;return; -} -function _sqlite3BtreeNewDb($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($1); - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 44|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_newDatabase($8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); + $121 = HEAP32[$1>>2]|0; + $122 = HEAP32[$azCols>>2]|0; + _sqlite3DbFree($121,$122); + $123 = HEAP32[$1>>2]|0; + $124 = HEAP32[$rc>>2]|0; + $125 = (_sqlite3ApiExit($123,$124)|0); + HEAP32[$rc>>2] = $125; + $126 = HEAP32[$rc>>2]|0; + $127 = ($126|0)!=(0); + $128 = HEAP32[$5>>2]|0; + $129 = ($128|0)!=(0|0); + $or$cond3 = $127 & $129; + do { + if ($or$cond3) { + $130 = HEAP32[$1>>2]|0; + $131 = (_sqlite3_errmsg($130)|0); + $132 = (_sqlite3Strlen30($131)|0); + $133 = (1 + ($132))|0; + HEAP32[$nErrMsg>>2] = $133; + $134 = HEAP32[$nErrMsg>>2]|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = (_sqlite3Malloc($134,$136)|0); + $138 = HEAP32[$5>>2]|0; + HEAP32[$138>>2] = $137; + $139 = HEAP32[$5>>2]|0; + $140 = HEAP32[$139>>2]|0; + $141 = ($140|0)!=(0|0); + if ($141) { + $142 = HEAP32[$5>>2]|0; + $143 = HEAP32[$142>>2]|0; + $144 = HEAP32[$1>>2]|0; + $145 = (_sqlite3_errmsg($144)|0); + $146 = HEAP32[$nErrMsg>>2]|0; + _memcpy(($143|0),($145|0),($146|0))|0; + break; + } else { + HEAP32[$rc>>2] = 7; + $147 = HEAP32[$1>>2]|0; + _sqlite3Error($147,7); + break; + } + } else { + $148 = HEAP32[$5>>2]|0; + $149 = ($148|0)!=(0|0); + if ($149) { + $150 = HEAP32[$5>>2]|0; + HEAP32[$150>>2] = 0; + } + } + } while(0); + $151 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $151; + $152 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($152|0); } -function _sqlite3BtreeUpdateMeta($p,$idx,$iMeta) { - $p = $p|0; - $idx = $idx|0; - $iMeta = $iMeta|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pP1 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_prepare_v2($db,$zSql,$nBytes,$ppStmt,$pzTail) { + $db = $db|0; + $zSql = $zSql|0; + $nBytes = $nBytes|0; + $ppStmt = $ppStmt|0; + $pzTail = $pzTail|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 20|0; $1 = sp + 16|0; $2 = sp + 12|0; - $pBt = sp + 8|0; - $pP1 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 4|0; $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $idx; - HEAP32[$2>>2] = $iMeta; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$pBt>>2]|0; - $8 = (($7) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 56|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pP1>>2] = $11; - $12 = HEAP32[$pBt>>2]|0; - $13 = (($12) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 68|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3PagerWrite($16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); - } - $20 = HEAP32[$1>>2]|0; - $21 = $20<<2; - $22 = (36 + ($21))|0; - $23 = HEAP32[$pP1>>2]|0; - $24 = (($23) + ($22)|0); - $25 = HEAP32[$2>>2]|0; - _sqlite3Put4byte($24,$25); - $26 = HEAP32[$1>>2]|0; - $27 = ($26|0)==(7); - if (!($27)) { - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); - } - $28 = HEAP32[$2>>2]|0; - $29 = $28&255; - $30 = HEAP32[$pBt>>2]|0; - $31 = (($30) + 18|0); - HEAP8[$31>>0] = $29; - $32 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($32|0); + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zSql; + HEAP32[$2>>2] = $nBytes; + HEAP32[$3>>2] = $ppStmt; + HEAP32[$4>>2] = $pzTail; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3LockAndPrepare($5,$6,$7,1,0,$8,$9)|0); + HEAP32[$rc>>2] = $10; + $11 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($11|0); } -function _sqlite3ResetAllSchemasOfConnection($db) { +function _sqlite3_errmsg($db) { $db = $db|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pDb = 0, label = 0, sp = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; - $i = sp + 4|0; - $pDb = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnterAll($1); - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<4)|0); - HEAP32[$pDb>>2] = $11; - $12 = HEAP32[$pDb>>2]|0; - $13 = (($12) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$pDb>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3SchemaClear($18); + $1 = sp + 4|0; + $z = sp; + HEAP32[$1>>2] = $db; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $4 = (_sqlite3ErrStr(7)|0); + HEAP32[$0>>2] = $4; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); + } + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (_sqlite3MisuseError(126852)|0); + $9 = (_sqlite3ErrStr($8)|0); + HEAP32[$0>>2] = $9; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 64|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)!=(0); + if ($13) { + $14 = (_sqlite3ErrStr(7)|0); + HEAP32[$z>>2] = $14; + } else { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 232|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_value_text($17)|0); + HEAP32[$z>>2] = $18; + $19 = HEAP32[$z>>2]|0; + $20 = ($19|0)==(0|0); + if ($20) { + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 52|0); + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3ErrStr($23)|0); + HEAP32[$z>>2] = $24; } - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; } - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 24|0); - $23 = HEAP32[$22>>2]|0; - $24 = $23 & -3; - HEAP32[$22>>2] = $24; - $25 = HEAP32[$0>>2]|0; - _sqlite3VtabUnlockList($25); + $25 = HEAP32[$z>>2]|0; + HEAP32[$0>>2] = $25; $26 = HEAP32[$0>>2]|0; - _sqlite3CollapseDatabaseArray($26); - STACKTOP = sp;return; + STACKTOP = sp;return ($26|0); } -function _sqlite3BtreeSetVersion($pBtree,$iVersion) { - $pBtree = $pBtree|0; - $iVersion = $iVersion|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $aData = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_prepare($db,$zSql,$nBytes,$ppStmt,$pzTail) { + $db = $db|0; + $zSql = $zSql|0; + $nBytes = $nBytes|0; + $ppStmt = $ppStmt|0; + $pzTail = $pzTail|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zSql; + HEAP32[$2>>2] = $nBytes; + HEAP32[$3>>2] = $ppStmt; + HEAP32[$4>>2] = $pzTail; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_sqlite3LockAndPrepare($5,$6,$7,0,0,$8,$9)|0); + HEAP32[$rc>>2] = $10; + $11 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _sqlite3_create_module_v2($db,$zName,$pModule,$pAux,$xDestroy) { + $db = $db|0; + $zName = $zName|0; + $pModule = $pModule|0; + $pAux = $pAux|0; + $xDestroy = $xDestroy|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; - $pBt = sp + 8|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zName; + HEAP32[$2>>2] = $pModule; + HEAP32[$3>>2] = $pAux; + HEAP32[$4>>2] = $xDestroy; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_createModule($5,$6,$7,$8,$9)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3_declare_vtab($db,$zCreateTable) { + $db = $db|0; + $zCreateTable = $zCreateTable|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pParse = 0, $pTab = 0, $rc = 0, $vararg_buffer = 0, $zErr = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $pParse = sp + 24|0; $rc = sp + 4|0; - $aData = sp; - HEAP32[$0>>2] = $pBtree; - HEAP32[$1>>2] = $iVersion; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pBt>>2] = $4; - $5 = HEAP32[$pBt>>2]|0; - $6 = (($5) + 22|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & -17; - $10 = $9&65535; - HEAP16[$6>>1] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)==(1); - if ($12) { - $13 = HEAP32[$pBt>>2]|0; - $14 = (($13) + 22|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = $16 | 16; - $18 = $17&65535; - HEAP16[$14>>1] = $18; - } - $19 = HEAP32[$0>>2]|0; - $20 = (_sqlite3BtreeBeginTrans($19,0)|0); - HEAP32[$rc>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - $22 = ($21|0)==(0); - do { - if ($22) { - $23 = HEAP32[$pBt>>2]|0; - $24 = (($23) + 12|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 56|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$aData>>2] = $27; - $28 = HEAP32[$aData>>2]|0; - $29 = (($28) + 18|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = HEAP32[$1>>2]|0; - $33 = $32&255; - $34 = $33&255; - $35 = ($31|0)!=($34|0); - if (!($35)) { - $36 = HEAP32[$aData>>2]|0; - $37 = (($36) + 19|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = HEAP32[$1>>2]|0; - $41 = $40&255; - $42 = $41&255; - $43 = ($39|0)!=($42|0); - if (!($43)) { - break; + $pTab = sp + 12|0; + $zErr = sp + 28|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zCreateTable; + HEAP32[$rc>>2] = 0; + HEAP32[$zErr>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 324|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 324|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$pTab>>2] = $11; + $12 = ($11|0)!=(0|0); + if ($12) { + $15 = HEAP32[$1>>2]|0; + $16 = (_sqlite3DbMallocZero($15,536,0)|0); + HEAP32[$pParse>>2] = $16; + $17 = HEAP32[$pParse>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + HEAP32[$rc>>2] = 7; + } else { + $19 = HEAP32[$pParse>>2]|0; + $20 = ((($19)) + 451|0); + HEAP8[$20>>0] = 1; + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$pParse>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$pParse>>2]|0; + $24 = ((($23)) + 424|0); + HEAP32[$24>>2] = 1; + $25 = HEAP32[$pParse>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = (_sqlite3RunParser($25,$26,$zErr)|0); + $28 = (0)==($27|0); + if ($28) { + $29 = HEAP32[$pParse>>2]|0; + $30 = ((($29)) + 484|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 64|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)!=(0); + if ($36) { + label = 14; + } else { + $37 = HEAP32[$pParse>>2]|0; + $38 = ((($37)) + 484|0); + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0|0); + if ($42) { + label = 14; + } else { + $43 = HEAP32[$pParse>>2]|0; + $44 = ((($43)) + 484|0); + $45 = HEAP32[$44>>2]|0; + $46 = ((($45)) + 44|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = $48 & 16; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$pTab>>2]|0; + $52 = ((($51)) + 4|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0|0); + if (!($54)) { + $55 = HEAP32[$pParse>>2]|0; + $56 = ((($55)) + 484|0); + $57 = HEAP32[$56>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$pTab>>2]|0; + $61 = ((($60)) + 4|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$pParse>>2]|0; + $63 = ((($62)) + 484|0); + $64 = HEAP32[$63>>2]|0; + $65 = ((($64)) + 38|0); + $66 = HEAP16[$65>>1]|0; + $67 = HEAP32[$pTab>>2]|0; + $68 = ((($67)) + 38|0); + HEAP16[$68>>1] = $66; + $69 = HEAP32[$pParse>>2]|0; + $70 = ((($69)) + 484|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 38|0); + HEAP16[$72>>1] = 0; + $73 = HEAP32[$pParse>>2]|0; + $74 = ((($73)) + 484|0); + $75 = HEAP32[$74>>2]|0; + $76 = ((($75)) + 4|0); + HEAP32[$76>>2] = 0; + } + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 324|0); + $79 = HEAP32[$78>>2]|0; + $80 = ((($79)) + 4|0); + HEAP32[$80>>2] = 0; + } else { + label = 14; + } + } + } + } else { + label = 14; + } + } else { + label = 14; } - } - $44 = HEAP32[$0>>2]|0; - $45 = (_sqlite3BtreeBeginTrans($44,2)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - $48 = HEAP32[$pBt>>2]|0; - $49 = (($48) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 68|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3PagerWrite($52)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - if ($55) { - $56 = HEAP32[$1>>2]|0; - $57 = $56&255; - $58 = HEAP32[$aData>>2]|0; - $59 = (($58) + 18|0); - HEAP8[$59>>0] = $57; - $60 = HEAP32[$1>>2]|0; - $61 = $60&255; - $62 = HEAP32[$aData>>2]|0; - $63 = (($62) + 19|0); - HEAP8[$63>>0] = $61; + if ((label|0) == 14) { + $81 = HEAP32[$1>>2]|0; + $82 = HEAP32[$zErr>>2]|0; + $83 = ($82|0)!=(0|0); + $84 = $83 ? 14418 : 0; + $85 = HEAP32[$zErr>>2]|0; + HEAP32[$vararg_buffer>>2] = $85; + _sqlite3ErrorWithMsg($81,1,$84,$vararg_buffer); + $86 = HEAP32[$1>>2]|0; + $87 = HEAP32[$zErr>>2]|0; + _sqlite3DbFree($86,$87); + HEAP32[$rc>>2] = 1; + } + $88 = HEAP32[$pParse>>2]|0; + $89 = ((($88)) + 451|0); + HEAP8[$89>>0] = 0; + $90 = HEAP32[$pParse>>2]|0; + $91 = ((($90)) + 8|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)!=(0|0); + if ($93) { + $94 = HEAP32[$pParse>>2]|0; + $95 = ((($94)) + 8|0); + $96 = HEAP32[$95>>2]|0; + (_sqlite3VdbeFinalize($96)|0); } + $97 = HEAP32[$1>>2]|0; + $98 = HEAP32[$pParse>>2]|0; + $99 = ((($98)) + 484|0); + $100 = HEAP32[$99>>2]|0; + _sqlite3DeleteTable($97,$100); + $101 = HEAP32[$pParse>>2]|0; + _sqlite3ParserReset($101); + $102 = HEAP32[$1>>2]|0; + $103 = HEAP32[$pParse>>2]|0; + _sqlite3DbFree($102,$103); } + $104 = HEAP32[$1>>2]|0; + $105 = HEAP32[$rc>>2]|0; + $106 = (_sqlite3ApiExit($104,$105)|0); + HEAP32[$rc>>2] = $106; + $107 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $107; + $108 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($108|0); } - } while(0); - $64 = HEAP32[$pBt>>2]|0; - $65 = (($64) + 22|0); - $66 = HEAP16[$65>>1]|0; - $67 = $66&65535; - $68 = $67 & -17; - $69 = $68&65535; - HEAP16[$65>>1] = $69; - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); + } + $13 = HEAP32[$1>>2]|0; + _sqlite3Error($13,21); + $14 = (_sqlite3MisuseError(112758)|0); + HEAP32[$0>>2] = $14; + $108 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($108|0); } -function _sqlite3PagerFile($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3_vtab_on_conflict($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pPager; + HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 60|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $2 = ((($1)) + 68|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = (($4) - 1)|0; + $6 = (14682 + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + STACKTOP = sp;return ($8|0); } -function _sqlite3PagerPagecount($pPager,$pnPage) { - $pPager = $pPager|0; - $pnPage = $pnPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pnPage; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - HEAP32[$5>>2] = $4; - STACKTOP = sp;return; -} -function _sqlite3PagerWrite($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 148|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 152|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($6>>>0)>($11>>>0); - $13 = HEAP32[$1>>2]|0; - if ($12) { - $14 = (_pagerWriteLargeSector($13)|0); - HEAP32[$0>>2] = $14; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); - } else { - $15 = (_pager_write($13)|0); - HEAP32[$0>>2] = $15; - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); - } - return 0|0; -} -function _sqlite3PagerCommitPhaseOne($pPager,$zMaster,$noSync) { - $pPager = $pPager|0; - $zMaster = $zMaster|0; - $noSync = $noSync|0; - var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0; - var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nNew = 0, $or$cond = 0, $pList = 0, $pPageOne = 0, $rc = 0; - var label = 0, sp = 0; +function _sqlite3_vtab_config($db,$op,$varargs) { + $db = $db|0; + $op = $op|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $arglist_current = 0, $arglist_next = 0, $cond = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $p = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $rc = sp + 12|0; - $pList = sp + 8|0; - $pPageOne = sp + 4|0; - $nNew = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $zMaster; - HEAP32[$3>>2] = $noSync; + $ap = sp + 8|0; + $rc = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $op; HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = HEAP32[$1>>2]|0; - if ($7) { - $9 = (($8) + 40|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$0>>2] = $10; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); - } - $11 = (($8) + 16|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)<(3); - if ($14) { - HEAP32[$0>>2] = 0; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); - } - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 15|0); - $17 = HEAP8[$16>>0]|0; - $18 = ($17<<24>>24)!=(0); - $19 = HEAP32[$1>>2]|0; + HEAP32[$ap>>2] = $varargs; + $2 = HEAP32[$1>>2]|0; + $cond = ($2|0)==(1); do { - if ($18) { - $20 = (($19) + 88|0); - $21 = HEAP32[$20>>2]|0; - _sqlite3BackupRestart($21); - } else { - $22 = (_pagerUseWal($19)|0); - $23 = ($22|0)!=(0); - $24 = HEAP32[$1>>2]|0; - if ($23) { - $25 = (($24) + 204|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3PcacheDirtyList($26)|0); - HEAP32[$pList>>2] = $27; - HEAP32[$pPageOne>>2] = 0; - $28 = HEAP32[$pList>>2]|0; - $29 = ($28|0)==(0|0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - $31 = (_sqlite3PagerAcquire($30,1,$pPageOne,0)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$pPageOne>>2]|0; - HEAP32[$pList>>2] = $32; - $33 = HEAP32[$pList>>2]|0; - $34 = (($33) + 12|0); - HEAP32[$34>>2] = 0; - } - $35 = HEAP32[$pList>>2]|0; - $36 = ($35|0)!=(0|0); - if ($36) { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$pList>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = (_pagerWalFrames($37,$38,$41,1)|0); - HEAP32[$rc>>2] = $42; - } - $43 = HEAP32[$pPageOne>>2]|0; - _sqlite3PagerUnref($43); - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)==(0); - if (!($45)) { - break; - } - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 204|0); - $48 = HEAP32[$47>>2]|0; - _sqlite3PcacheCleanAll($48); + if ($cond) { + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 324|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$p>>2] = $5; + $6 = HEAP32[$p>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $arglist_current = HEAP32[$ap>>2]|0; + $9 = $arglist_current; + $10 = ((0) + 4|0); + $expanded2 = $10; + $expanded = (($expanded2) - 1)|0; + $11 = (($9) + ($expanded))|0; + $12 = ((0) + 4|0); + $expanded6 = $12; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $13 = $11 & $expanded4; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $arglist_next = ((($14)) + 4|0); + HEAP32[$ap>>2] = $arglist_next; + $16 = $15&255; + $17 = HEAP32[$p>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 16|0); + HEAP8[$19>>0] = $16; + break; + } else { + $8 = (_sqlite3MisuseError(113132)|0); + HEAP32[$rc>>2] = $8; break; } - $49 = (_pager_incr_changecounter($24,0)|0); - HEAP32[$rc>>2] = $49; - $50 = HEAP32[$rc>>2]|0; - $51 = ($50|0)!=(0); - if (!($51)) { - $52 = HEAP32[$1>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = (_writeMasterJournal($52,$53)|0); - HEAP32[$rc>>2] = $54; - $55 = HEAP32[$rc>>2]|0; - $56 = ($55|0)!=(0); - if (!($56)) { - $57 = HEAP32[$1>>2]|0; - $58 = (_syncJournal($57,0)|0); - HEAP32[$rc>>2] = $58; - $59 = HEAP32[$rc>>2]|0; - $60 = ($59|0)!=(0); - if (!($60)) { - $61 = HEAP32[$1>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 204|0); - $64 = HEAP32[$63>>2]|0; - $65 = (_sqlite3PcacheDirtyList($64)|0); - $66 = (_pager_write_pagelist($61,$65)|0); - HEAP32[$rc>>2] = $66; - $67 = HEAP32[$rc>>2]|0; - $68 = ($67|0)!=(0); - if (!($68)) { - $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 204|0); - $71 = HEAP32[$70>>2]|0; - _sqlite3PcacheCleanAll($71); - $72 = HEAP32[$1>>2]|0; - $73 = (($72) + 24|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$1>>2]|0; - $76 = (($75) + 32|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($74>>>0)>($77>>>0); - if ($78) { - $79 = HEAP32[$1>>2]|0; - $80 = (($79) + 24|0); - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 24|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[1128>>2]|0; - $86 = HEAP32[$1>>2]|0; - $87 = (($86) + 152|0); - $88 = HEAP32[$87>>2]|0; - $89 = (($85|0) / ($88|0))&-1; - $90 = (($89) + 1)|0; - $91 = ($84|0)==($90|0); - $92 = $91&1; - $93 = (($81) - ($92))|0; - HEAP32[$nNew>>2] = $93; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$nNew>>2]|0; - $96 = (_pager_truncate($94,$95)|0); - HEAP32[$rc>>2] = $96; - $97 = HEAP32[$rc>>2]|0; - $98 = ($97|0)!=(0); - $99 = HEAP32[$3>>2]|0; - $100 = ($99|0)!=(0); - $or$cond = $98 | $100; - if ($or$cond) { - break; - } - } else { - $$old = HEAP32[$3>>2]|0; - $$old1 = ($$old|0)!=(0); - if ($$old1) { - break; - } - } - $101 = HEAP32[$1>>2]|0; - $102 = HEAP32[$2>>2]|0; - $103 = (_sqlite3PagerSync($101,$102)|0); - HEAP32[$rc>>2] = $103; - } - } - } - } + } else { + $20 = (_sqlite3MisuseError(113140)|0); + HEAP32[$rc>>2] = $20; } } while(0); - $104 = HEAP32[$rc>>2]|0; - $105 = ($104|0)==(0); - if ($105) { - $106 = HEAP32[$1>>2]|0; - $107 = (_pagerUseWal($106)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - $109 = HEAP32[$1>>2]|0; - $110 = (($109) + 16|0); - HEAP8[$110>>0] = 5; - } + $21 = HEAP32[$rc>>2]|0; + $22 = ($21|0)!=(0); + if (!($22)) { + $25 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($25|0); } - $111 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $111; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $23 = HEAP32[$0>>2]|0; + $24 = HEAP32[$rc>>2]|0; + _sqlite3Error($23,$24); + $25 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($25|0); } -function _sqlite3OsWrite($id,$pBuf,$amt,$0,$1) { - $id = $id|0; - $pBuf = $pBuf|0; - $amt = $amt|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3_libversion() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp; - HEAP32[$2>>2] = $id; - HEAP32[$3>>2] = $pBuf; - HEAP32[$4>>2] = $amt; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = $5; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_iiiiii[$13 & 15]($14,$15,$16,$19,$22)|0); - STACKTOP = sp;return ($23|0); + return (13832|0); } -function _backupTruncateFile($pFile,$0,$1) { - $pFile = $pFile|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iCurrent = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_sourceid() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 8|0; - $iCurrent = sp; + return (14700|0); +} +function _sqlite3_libversion_number() { + var label = 0, sp = 0; + sp = STACKTOP; + return 3008007; +} +function _sqlite3_config($op,$varargs) { + $op = $op|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ap = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0, $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0; + var $arglist_current48 = 0, $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current6 = 0, $arglist_current9 = 0, $arglist_next = 0, $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0; + var $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next7 = 0, $expanded = 0, $expanded100 = 0, $expanded102 = 0, $expanded103 = 0, $expanded104 = 0, $expanded106 = 0, $expanded107 = 0, $expanded109 = 0, $expanded11 = 0, $expanded110 = 0, $expanded111 = 0, $expanded113 = 0, $expanded114 = 0, $expanded116 = 0, $expanded117 = 0, $expanded118 = 0; + var $expanded12 = 0, $expanded120 = 0, $expanded121 = 0, $expanded123 = 0, $expanded124 = 0, $expanded125 = 0, $expanded127 = 0, $expanded128 = 0, $expanded13 = 0, $expanded130 = 0, $expanded131 = 0, $expanded132 = 0, $expanded15 = 0, $expanded16 = 0, $expanded18 = 0, $expanded19 = 0, $expanded2 = 0, $expanded20 = 0, $expanded22 = 0, $expanded23 = 0; + var $expanded25 = 0, $expanded26 = 0, $expanded27 = 0, $expanded29 = 0, $expanded30 = 0, $expanded32 = 0, $expanded33 = 0, $expanded34 = 0, $expanded36 = 0, $expanded37 = 0, $expanded39 = 0, $expanded4 = 0, $expanded40 = 0, $expanded41 = 0, $expanded43 = 0, $expanded44 = 0, $expanded46 = 0, $expanded47 = 0, $expanded48 = 0, $expanded5 = 0; + var $expanded50 = 0, $expanded51 = 0, $expanded53 = 0, $expanded54 = 0, $expanded55 = 0, $expanded57 = 0, $expanded58 = 0, $expanded6 = 0, $expanded60 = 0, $expanded61 = 0, $expanded62 = 0, $expanded64 = 0, $expanded65 = 0, $expanded67 = 0, $expanded68 = 0, $expanded69 = 0, $expanded71 = 0, $expanded72 = 0, $expanded74 = 0, $expanded75 = 0; + var $expanded76 = 0, $expanded78 = 0, $expanded79 = 0, $expanded8 = 0, $expanded81 = 0, $expanded82 = 0, $expanded83 = 0, $expanded85 = 0, $expanded86 = 0, $expanded88 = 0, $expanded89 = 0, $expanded9 = 0, $expanded90 = 0, $expanded92 = 0, $expanded93 = 0, $expanded95 = 0, $expanded96 = 0, $expanded97 = 0, $expanded99 = 0, $mxMmap = 0; + var $or$cond = 0, $rc = 0, $szMmap = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 44|0; + $1 = sp + 40|0; + $ap = sp + 24|0; $rc = sp + 16|0; - HEAP32[$2>>2] = $pFile; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3OsFileSize($8,$iCurrent)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); - } - $12 = $iCurrent; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = $3; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (($18) + 4)|0; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = ($17|0)>($23|0); - $25 = ($14>>>0)>($20>>>0); - $26 = ($17|0)==($23|0); - $27 = $26 & $25; - $28 = $24 | $27; - if (!($28)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $szMmap = sp + 8|0; + $mxMmap = sp; + HEAP32[$1>>2] = $op; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[(232)>>2]|0; + $3 = ($2|0)!=(0); + if ($3) { + $4 = (_sqlite3MisuseError(125290)|0); + HEAP32[$0>>2] = $4; + $244 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($244|0); } - $29 = HEAP32[$2>>2]|0; - $30 = $3; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3OsTruncate($29,$32,$35)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + HEAP32[$ap>>2] = $varargs; + $5 = HEAP32[$1>>2]|0; + do { + switch ($5|0) { + case 4: { + $arglist_current = HEAP32[$ap>>2]|0; + $6 = $arglist_current; + $7 = ((0) + 4|0); + $expanded2 = $7; + $expanded = (($expanded2) - 1)|0; + $8 = (($6) + ($expanded))|0; + $9 = ((0) + 4|0); + $expanded6 = $9; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $10 = $8 & $expanded4; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $arglist_next = ((($11)) + 4|0); + HEAP32[$ap>>2] = $arglist_next; + ;HEAP32[(44)>>2]=HEAP32[$12>>2]|0;HEAP32[(44)+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[(44)+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[(44)+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[(44)+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[(44)+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[(44)+24>>2]=HEAP32[$12+24>>2]|0;HEAP32[(44)+28>>2]=HEAP32[$12+28>>2]|0; + break; + } + case 5: { + $13 = HEAP32[(44)>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + _sqlite3MemSetDefault(); + } + $arglist_current3 = HEAP32[$ap>>2]|0; + $15 = $arglist_current3; + $16 = ((0) + 4|0); + $expanded9 = $16; + $expanded8 = (($expanded9) - 1)|0; + $17 = (($15) + ($expanded8))|0; + $18 = ((0) + 4|0); + $expanded13 = $18; + $expanded12 = (($expanded13) - 1)|0; + $expanded11 = $expanded12 ^ -1; + $19 = $17 & $expanded11; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $arglist_next4 = ((($20)) + 4|0); + HEAP32[$ap>>2] = $arglist_next4; + ;HEAP32[$21>>2]=HEAP32[(44)>>2]|0;HEAP32[$21+4>>2]=HEAP32[(44)+4>>2]|0;HEAP32[$21+8>>2]=HEAP32[(44)+8>>2]|0;HEAP32[$21+12>>2]=HEAP32[(44)+12>>2]|0;HEAP32[$21+16>>2]=HEAP32[(44)+16>>2]|0;HEAP32[$21+20>>2]=HEAP32[(44)+20>>2]|0;HEAP32[$21+24>>2]=HEAP32[(44)+24>>2]|0;HEAP32[$21+28>>2]=HEAP32[(44)+28>>2]|0; + break; + } + case 9: { + $arglist_current6 = HEAP32[$ap>>2]|0; + $22 = $arglist_current6; + $23 = ((0) + 4|0); + $expanded16 = $23; + $expanded15 = (($expanded16) - 1)|0; + $24 = (($22) + ($expanded15))|0; + $25 = ((0) + 4|0); + $expanded20 = $25; + $expanded19 = (($expanded20) - 1)|0; + $expanded18 = $expanded19 ^ -1; + $26 = $24 & $expanded18; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $arglist_next7 = ((($27)) + 4|0); + HEAP32[$ap>>2] = $arglist_next7; + HEAP32[8>>2] = $28; + break; + } + case 6: { + $arglist_current9 = HEAP32[$ap>>2]|0; + $29 = $arglist_current9; + $30 = ((0) + 4|0); + $expanded23 = $30; + $expanded22 = (($expanded23) - 1)|0; + $31 = (($29) + ($expanded22))|0; + $32 = ((0) + 4|0); + $expanded27 = $32; + $expanded26 = (($expanded27) - 1)|0; + $expanded25 = $expanded26 ^ -1; + $33 = $31 & $expanded25; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $arglist_next10 = ((($34)) + 4|0); + HEAP32[$ap>>2] = $arglist_next10; + HEAP32[(200)>>2] = $35; + $arglist_current12 = HEAP32[$ap>>2]|0; + $36 = $arglist_current12; + $37 = ((0) + 4|0); + $expanded30 = $37; + $expanded29 = (($expanded30) - 1)|0; + $38 = (($36) + ($expanded29))|0; + $39 = ((0) + 4|0); + $expanded34 = $39; + $expanded33 = (($expanded34) - 1)|0; + $expanded32 = $expanded33 ^ -1; + $40 = $38 & $expanded32; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $arglist_next13 = ((($41)) + 4|0); + HEAP32[$ap>>2] = $arglist_next13; + HEAP32[(204)>>2] = $42; + $arglist_current15 = HEAP32[$ap>>2]|0; + $43 = $arglist_current15; + $44 = ((0) + 4|0); + $expanded37 = $44; + $expanded36 = (($expanded37) - 1)|0; + $45 = (($43) + ($expanded36))|0; + $46 = ((0) + 4|0); + $expanded41 = $46; + $expanded40 = (($expanded41) - 1)|0; + $expanded39 = $expanded40 ^ -1; + $47 = $45 & $expanded39; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $arglist_next16 = ((($48)) + 4|0); + HEAP32[$ap>>2] = $arglist_next16; + HEAP32[(208)>>2] = $49; + break; + } + case 7: { + $arglist_current18 = HEAP32[$ap>>2]|0; + $50 = $arglist_current18; + $51 = ((0) + 4|0); + $expanded44 = $51; + $expanded43 = (($expanded44) - 1)|0; + $52 = (($50) + ($expanded43))|0; + $53 = ((0) + 4|0); + $expanded48 = $53; + $expanded47 = (($expanded48) - 1)|0; + $expanded46 = $expanded47 ^ -1; + $54 = $52 & $expanded46; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $arglist_next19 = ((($55)) + 4|0); + HEAP32[$ap>>2] = $arglist_next19; + HEAP32[(212)>>2] = $56; + $arglist_current21 = HEAP32[$ap>>2]|0; + $57 = $arglist_current21; + $58 = ((0) + 4|0); + $expanded51 = $58; + $expanded50 = (($expanded51) - 1)|0; + $59 = (($57) + ($expanded50))|0; + $60 = ((0) + 4|0); + $expanded55 = $60; + $expanded54 = (($expanded55) - 1)|0; + $expanded53 = $expanded54 ^ -1; + $61 = $59 & $expanded53; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $arglist_next22 = ((($62)) + 4|0); + HEAP32[$ap>>2] = $arglist_next22; + HEAP32[(216)>>2] = $63; + $arglist_current24 = HEAP32[$ap>>2]|0; + $64 = $arglist_current24; + $65 = ((0) + 4|0); + $expanded58 = $65; + $expanded57 = (($expanded58) - 1)|0; + $66 = (($64) + ($expanded57))|0; + $67 = ((0) + 4|0); + $expanded62 = $67; + $expanded61 = (($expanded62) - 1)|0; + $expanded60 = $expanded61 ^ -1; + $68 = $66 & $expanded60; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $arglist_next25 = ((($69)) + 4|0); + HEAP32[$ap>>2] = $arglist_next25; + HEAP32[(220)>>2] = $70; + break; + } + case 14: { + break; + } + case 15: { + HEAP32[$rc>>2] = 1; + break; + } + case 18: { + $arglist_current27 = HEAP32[$ap>>2]|0; + $71 = $arglist_current27; + $72 = ((0) + 4|0); + $expanded65 = $72; + $expanded64 = (($expanded65) - 1)|0; + $73 = (($71) + ($expanded64))|0; + $74 = ((0) + 4|0); + $expanded69 = $74; + $expanded68 = (($expanded69) - 1)|0; + $expanded67 = $expanded68 ^ -1; + $75 = $73 & $expanded67; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $arglist_next28 = ((($76)) + 4|0); + HEAP32[$ap>>2] = $arglist_next28; + dest=(112); src=$77; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + break; + } + case 19: { + $78 = HEAP32[(120)>>2]|0; + $79 = ($78|0)==(0|0); + if ($79) { + _sqlite3PCacheSetDefault(); + } + $arglist_current30 = HEAP32[$ap>>2]|0; + $80 = $arglist_current30; + $81 = ((0) + 4|0); + $expanded72 = $81; + $expanded71 = (($expanded72) - 1)|0; + $82 = (($80) + ($expanded71))|0; + $83 = ((0) + 4|0); + $expanded76 = $83; + $expanded75 = (($expanded76) - 1)|0; + $expanded74 = $expanded75 ^ -1; + $84 = $82 & $expanded74; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $arglist_next31 = ((($85)) + 4|0); + HEAP32[$ap>>2] = $arglist_next31; + dest=$86; src=(112); stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + break; + } + case 13: { + $arglist_current33 = HEAP32[$ap>>2]|0; + $87 = $arglist_current33; + $88 = ((0) + 4|0); + $expanded79 = $88; + $expanded78 = (($expanded79) - 1)|0; + $89 = (($87) + ($expanded78))|0; + $90 = ((0) + 4|0); + $expanded83 = $90; + $expanded82 = (($expanded83) - 1)|0; + $expanded81 = $expanded82 ^ -1; + $91 = $89 & $expanded81; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $arglist_next34 = ((($92)) + 4|0); + HEAP32[$ap>>2] = $arglist_next34; + HEAP32[(36)>>2] = $93; + $arglist_current36 = HEAP32[$ap>>2]|0; + $94 = $arglist_current36; + $95 = ((0) + 4|0); + $expanded86 = $95; + $expanded85 = (($expanded86) - 1)|0; + $96 = (($94) + ($expanded85))|0; + $97 = ((0) + 4|0); + $expanded90 = $97; + $expanded89 = (($expanded90) - 1)|0; + $expanded88 = $expanded89 ^ -1; + $98 = $96 & $expanded88; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $arglist_next37 = ((($99)) + 4|0); + HEAP32[$ap>>2] = $arglist_next37; + HEAP32[(40)>>2] = $100; + break; + } + case 16: { + $arglist_current39 = HEAP32[$ap>>2]|0; + $101 = $arglist_current39; + $102 = ((0) + 4|0); + $expanded93 = $102; + $expanded92 = (($expanded93) - 1)|0; + $103 = (($101) + ($expanded92))|0; + $104 = ((0) + 4|0); + $expanded97 = $104; + $expanded96 = (($expanded97) - 1)|0; + $expanded95 = $expanded96 ^ -1; + $105 = $103 & $expanded95; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $arglist_next40 = ((($106)) + 4|0); + HEAP32[$ap>>2] = $arglist_next40; + HEAP32[(260)>>2] = $107; + $arglist_current42 = HEAP32[$ap>>2]|0; + $108 = $arglist_current42; + $109 = ((0) + 4|0); + $expanded100 = $109; + $expanded99 = (($expanded100) - 1)|0; + $110 = (($108) + ($expanded99))|0; + $111 = ((0) + 4|0); + $expanded104 = $111; + $expanded103 = (($expanded104) - 1)|0; + $expanded102 = $expanded103 ^ -1; + $112 = $110 & $expanded102; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $arglist_next43 = ((($113)) + 4|0); + HEAP32[$ap>>2] = $arglist_next43; + HEAP32[(264)>>2] = $114; + break; + } + case 17: { + $arglist_current45 = HEAP32[$ap>>2]|0; + $115 = $arglist_current45; + $116 = ((0) + 4|0); + $expanded107 = $116; + $expanded106 = (($expanded107) - 1)|0; + $117 = (($115) + ($expanded106))|0; + $118 = ((0) + 4|0); + $expanded111 = $118; + $expanded110 = (($expanded111) - 1)|0; + $expanded109 = $expanded110 ^ -1; + $119 = $117 & $expanded109; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $arglist_next46 = ((($120)) + 4|0); + HEAP32[$ap>>2] = $arglist_next46; + HEAP32[(20)>>2] = $121; + break; + } + case 20: { + $arglist_current48 = HEAP32[$ap>>2]|0; + $122 = $arglist_current48; + $123 = ((0) + 4|0); + $expanded114 = $123; + $expanded113 = (($expanded114) - 1)|0; + $124 = (($122) + ($expanded113))|0; + $125 = ((0) + 4|0); + $expanded118 = $125; + $expanded117 = (($expanded118) - 1)|0; + $expanded116 = $expanded117 ^ -1; + $126 = $124 & $expanded116; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $arglist_next49 = ((($127)) + 4|0); + HEAP32[$ap>>2] = $arglist_next49; + HEAP32[(24)>>2] = $128; + break; + } + case 22: { + $arglist_current51 = HEAP32[$ap>>2]|0; + $129 = $arglist_current51; + $130 = ((0) + 8|0); + $expanded121 = $130; + $expanded120 = (($expanded121) - 1)|0; + $131 = (($129) + ($expanded120))|0; + $132 = ((0) + 8|0); + $expanded125 = $132; + $expanded124 = (($expanded125) - 1)|0; + $expanded123 = $expanded124 ^ -1; + $133 = $131 & $expanded123; + $134 = $133; + $135 = $134; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $arglist_next52 = ((($134)) + 8|0); + HEAP32[$ap>>2] = $arglist_next52; + $141 = $szMmap; + $142 = $141; + HEAP32[$142>>2] = $137; + $143 = (($141) + 4)|0; + $144 = $143; + HEAP32[$144>>2] = $140; + $arglist_current54 = HEAP32[$ap>>2]|0; + $145 = $arglist_current54; + $146 = ((0) + 8|0); + $expanded128 = $146; + $expanded127 = (($expanded128) - 1)|0; + $147 = (($145) + ($expanded127))|0; + $148 = ((0) + 8|0); + $expanded132 = $148; + $expanded131 = (($expanded132) - 1)|0; + $expanded130 = $expanded131 ^ -1; + $149 = $147 & $expanded130; + $150 = $149; + $151 = $150; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $arglist_next55 = ((($150)) + 8|0); + HEAP32[$ap>>2] = $arglist_next55; + $157 = $mxMmap; + $158 = $157; + HEAP32[$158>>2] = $153; + $159 = (($157) + 4)|0; + $160 = $159; + HEAP32[$160>>2] = $156; + $161 = $mxMmap; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)<(0); + $168 = $mxMmap; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $171 = (($168) + 4)|0; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = ($173|0)>(0); + $175 = ($170>>>0)>(0); + $176 = ($173|0)==(0); + $177 = $176 & $175; + $178 = $174 | $177; + $or$cond = $167 | $178; + $179 = $or$cond ? 0 : $153; + $180 = $or$cond ? 0 : $156; + $181 = $mxMmap; + $182 = $181; + HEAP32[$182>>2] = $179; + $183 = (($181) + 4)|0; + $184 = $183; + HEAP32[$184>>2] = $180; + $185 = $mxMmap; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (($185) + 4)|0; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = (192); + $192 = $191; + HEAP32[$192>>2] = $187; + $193 = (($191) + 4)|0; + $194 = $193; + HEAP32[$194>>2] = $190; + $195 = $szMmap; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)<(0); + if ($201) { + $202 = $szMmap; + $203 = $202; + HEAP32[$203>>2] = 0; + $204 = (($202) + 4)|0; + $205 = $204; + HEAP32[$205>>2] = 0; + } + $206 = $szMmap; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = (($206) + 4)|0; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $212 = $mxMmap; + $213 = $212; + $214 = HEAP32[$213>>2]|0; + $215 = (($212) + 4)|0; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = ($211|0)>($217|0); + $219 = ($208>>>0)>($214>>>0); + $220 = ($211|0)==($217|0); + $221 = $220 & $219; + $222 = $218 | $221; + if ($222) { + $223 = $mxMmap; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = (($223) + 4)|0; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = $szMmap; + $230 = $229; + HEAP32[$230>>2] = $225; + $231 = (($229) + 4)|0; + $232 = $231; + HEAP32[$232>>2] = $228; + } + $233 = $szMmap; + $234 = $233; + $235 = HEAP32[$234>>2]|0; + $236 = (($233) + 4)|0; + $237 = $236; + $238 = HEAP32[$237>>2]|0; + $239 = (184); + $240 = $239; + HEAP32[$240>>2] = $235; + $241 = (($239) + 4)|0; + $242 = $241; + HEAP32[$242>>2] = $238; + break; + } + default: { + HEAP32[$rc>>2] = 1; + } + } + } while(0); + $243 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $243; + $244 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($244|0); } -function _sqlite3PagerSync($pPager,$zMaster) { - $pPager = $pPager|0; - $zMaster = $zMaster|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pArg = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_db_release_memory($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $i = 0, $pBt = 0, $pPager = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $pArg = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $zMaster; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - HEAP32[$pArg>>2] = $7; + $i = sp + 8|0; + $pBt = sp + 4|0; + $pPager = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnterAll($1); + HEAP32[$i>>2] = 0; + while(1) { + $2 = HEAP32[$i>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2|0)<($5|0); + if (!($6)) { + break; + } + $7 = HEAP32[$i>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 60|0); + $9 = ((($8)) + 16|0); $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$pArg>>2]|0; - $12 = (_sqlite3OsFileControl($10,21,$11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(12); - $$ = $14 ? 0 : $12; - HEAP32[$rc>>2] = $$; - } - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - if (!($16)) { - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); - } - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 7|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)!=(0); - if ($20) { - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); + $11 = (($10) + ($7<<4)|0); + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pBt>>2] = $13; + $14 = HEAP32[$pBt>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$pBt>>2]|0; + $17 = (_sqlite3BtreePager($16)|0); + HEAP32[$pPager>>2] = $17; + $18 = HEAP32[$pPager>>2]|0; + _sqlite3PagerShrink($18); + } + $19 = HEAP32[$i>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$i>>2] = $20; } - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 60|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 11|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (_sqlite3OsSync($23,$27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); + STACKTOP = sp;return 0; } -function _sqlite3PagerTruncateImage($pPager,$nPage) { - $pPager = $pPager|0; - $nPage = $nPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3_last_insert_rowid($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 32|0); + $3 = $2; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + 4)|0; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + tempRet0 = ($8); + STACKTOP = sp;return ($5|0); +} +function _sqlite3_changes($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 80|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _sqlite3_total_changes($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 84|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _sqlite3_close($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3Close($1,0)|0); + STACKTOP = sp;return ($2|0); +} +function _sqlite3_close_v2($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3Close($1,1)|0); + STACKTOP = sp;return ($2|0); +} +function _sqlite3_busy_handler($db,$xBusy,$pArg) { + $db = $db|0; + $xBusy = $xBusy|0; + $pArg = $pArg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $xBusy; + HEAP32[$2>>2] = $pArg; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 444|0); + HEAP32[$5>>2] = $3; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 444|0); + $9 = ((($8)) + 4|0); + HEAP32[$9>>2] = $6; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 444|0); + $12 = ((($11)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 492|0); + HEAP32[$14>>2] = 0; + STACKTOP = sp;return 0; +} +function _sqlite3_busy_timeout($db,$ms) { + $db = $db|0; + $ms = $ms|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $nPage; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $ms; $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 24|0); - HEAP32[$4>>2] = $2; - STACKTOP = sp;return; + $3 = ($2|0)>(0); + $4 = HEAP32[$0>>2]|0; + if ($3) { + $5 = HEAP32[$0>>2]|0; + (_sqlite3_busy_handler($4,37,$5)|0); + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 492|0); + HEAP32[$8>>2] = $6; + STACKTOP = sp;return 0; + } else { + (_sqlite3_busy_handler($4,0,0)|0); + STACKTOP = sp;return 0; + } + return (0)|0; } -function _sqlite3BtreeCommitPhaseTwo($p,$bCleanup) { +function _sqlite3_create_function($db,$zFunc,$nArg,$enc,$p,$xFunc,$xStep,$xFinal) { + $db = $db|0; + $zFunc = $zFunc|0; + $nArg = $nArg|0; + $enc = $enc|0; $p = $p|0; - $bCleanup = $bCleanup|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; + $xFunc = $xFunc|0; + $xStep = $xStep|0; + $xFinal = $xFinal|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + $0 = sp + 4|0; + $1 = sp + 16|0; $2 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $bCleanup; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(0); - if ($7) { - HEAP32[$0>>2] = 0; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - $8 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($8); + $3 = sp + 20|0; + $4 = sp + 28|0; + $5 = sp; + $6 = sp + 12|0; + $7 = sp + 24|0; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zFunc; + HEAP32[$2>>2] = $nArg; + HEAP32[$3>>2] = $enc; + HEAP32[$4>>2] = $p; + HEAP32[$5>>2] = $xFunc; + HEAP32[$6>>2] = $xStep; + HEAP32[$7>>2] = $xFinal; + $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(2); + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = HEAP32[$6>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = (_sqlite3_create_function_v2($8,$9,$10,$11,$12,$13,$14,$15,0)|0); + STACKTOP = sp;return ($16|0); +} +function _sqlite3_create_function_v2($db,$zFunc,$nArg,$enc,$p,$xFunc,$xStep,$xFinal,$xDestroy) { + $db = $db|0; + $zFunc = $zFunc|0; + $nArg = $nArg|0; + $enc = $enc|0; + $p = $p|0; + $xFunc = $xFunc|0; + $xStep = $xStep|0; + $xFinal = $xFinal|0; + $xDestroy = $xDestroy|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pArg = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp; + $3 = sp + 28|0; + $4 = sp + 32|0; + $5 = sp + 40|0; + $6 = sp + 12|0; + $7 = sp + 24|0; + $8 = sp + 20|0; + $rc = sp + 8|0; + $pArg = sp + 4|0; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zFunc; + HEAP32[$2>>2] = $nArg; + HEAP32[$3>>2] = $enc; + HEAP32[$4>>2] = $p; + HEAP32[$5>>2] = $xFunc; + HEAP32[$6>>2] = $xStep; + HEAP32[$7>>2] = $xFinal; + HEAP32[$8>>2] = $xDestroy; + HEAP32[$rc>>2] = 1; + HEAP32[$pArg>>2] = 0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); do { - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 4|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pBt>>2] = $16; - $17 = HEAP32[$pBt>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3PagerCommitPhaseTwo($18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(0); - $22 = HEAP32[$2>>2]|0; - $23 = ($22|0)==(0); - $or$cond = $21 & $23; - if (!($or$cond)) { - $25 = HEAP32[$pBt>>2]|0; - $26 = (($25) + 20|0); - HEAP8[$26>>0] = 1; - $27 = HEAP32[$pBt>>2]|0; - _btreeClearHasContent($27); + if ($10) { + $11 = HEAP32[$0>>2]|0; + $12 = (_sqlite3DbMallocZero($11,12,0)|0); + HEAP32[$pArg>>2] = $12; + $13 = HEAP32[$pArg>>2]|0; + $14 = ($13|0)!=(0|0); + $15 = HEAP32[$8>>2]|0; + if ($14) { + $17 = HEAP32[$pArg>>2]|0; + $18 = ((($17)) + 4|0); + HEAP32[$18>>2] = $15; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$pArg>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$21>>2] = $19; + label = 5; + break; + } else { + $16 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_vi[$15 & 31]($16); break; } - $24 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $24; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); + } else { + label = 5; } } while(0); - $28 = HEAP32[$1>>2]|0; - _btreeEndTransaction($28); - HEAP32[$0>>2] = 0; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); + if ((label|0) == 5) { + $22 = HEAP32[$0>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$5>>2]|0; + $28 = HEAP32[$6>>2]|0; + $29 = HEAP32[$7>>2]|0; + $30 = HEAP32[$pArg>>2]|0; + $31 = (_sqlite3CreateFunc($22,$23,$24,$25,$26,$27,$28,$29,$30)|0); + HEAP32[$rc>>2] = $31; + $32 = HEAP32[$pArg>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$pArg>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[$8>>2]|0; + $38 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_vi[$37 & 31]($38); + $39 = HEAP32[$0>>2]|0; + $40 = HEAP32[$pArg>>2]|0; + _sqlite3DbFree($39,$40); + } + } + } + $41 = HEAP32[$0>>2]|0; + $42 = HEAP32[$rc>>2]|0; + $43 = (_sqlite3ApiExit($41,$42)|0); + HEAP32[$rc>>2] = $43; + $44 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($44|0); } -function _sqlite3BtreeCommitPhaseOne($p,$zMaster) { - $p = $p|0; - $zMaster = $zMaster|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_overload_function($db,$zName,$nArg) { + $db = $db|0; + $zName = $zName|0; + $nArg = $nArg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nName = 0; + var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; $2 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $zMaster; - HEAP32[$rc>>2] = 0; + $nName = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zName; + HEAP32[$2>>2] = $nArg; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(2); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pBt>>2] = $10; - $11 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($11); - $12 = HEAP32[$pBt>>2]|0; - $13 = (($12) + 17|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)!=(0); - if ($15) { - $16 = HEAP32[$pBt>>2]|0; - $17 = (_autoVacuumCommit($16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $20; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - } - $21 = HEAP32[$pBt>>2]|0; - $22 = (($21) + 19|0); - $23 = HEAP8[$22>>0]|0; - $24 = ($23<<24>>24)!=(0); - if ($24) { - $25 = HEAP32[$pBt>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$pBt>>2]|0; - $28 = (($27) + 44|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3PagerTruncateImage($26,$29); - } - $30 = HEAP32[$pBt>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = (_sqlite3PagerCommitPhaseOne($31,$32,0)|0); - HEAP32[$rc>>2] = $33; + $4 = (_sqlite3Strlen30($3)|0); + HEAP32[$nName>>2] = $4; + HEAP32[$rc>>2] = 0; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$nName>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3FindFunction($5,$6,$7,$8,1,0)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = (_sqlite3CreateFunc($11,$12,$13,1,0,51,0,0,0)|0); + HEAP32[$rc>>2] = $14; } - $34 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$rc>>2]|0; + $17 = (_sqlite3ApiExit($15,$16)|0); + HEAP32[$rc>>2] = $17; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); } -function _sqlite3_backup_finish($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $pSrcDb = 0, $pp = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_wal_autocheckpoint($db,$nFrame) { + $db = $db|0; + $nFrame = $nFrame|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pp = sp + 8|0; - $pSrcDb = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $nFrame; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); + $3 = ($2|0)>(0); + $4 = HEAP32[$0>>2]|0; if ($3) { - HEAP32[$0>>2] = 0; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); - } - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 20|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pSrcDb>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 24|0); - $9 = HEAP32[$8>>2]|0; - _sqlite3BtreeEnter($9); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + -1)|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 24|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3BtreePager($25)|0); - $27 = (_sqlite3PagerBackupPtr($26)|0); - HEAP32[$pp>>2] = $27; - while(1) { - $28 = HEAP32[$pp>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ($29|0)!=($30|0); - if (!($31)) { - break; - } - $32 = HEAP32[$pp>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 44|0); - HEAP32[$pp>>2] = $34; - } - $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 44|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$pp>>2]|0; - HEAP32[$38>>2] = $37; - } - $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 4|0); - $41 = HEAP32[$40>>2]|0; - (_sqlite3BtreeRollback($41,0,0)|0); - $42 = HEAP32[$1>>2]|0; - $43 = (($42) + 28|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==(101); - if ($45) { - $49 = 0; + $5 = HEAP32[$1>>2]|0; + $6 = $5; + (_sqlite3_wal_hook($4,6,$6)|0); + STACKTOP = sp;return 0; } else { - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 28|0); - $48 = HEAP32[$47>>2]|0; - $49 = $48; - } - HEAP32[$rc>>2] = $49; - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$rc>>2]|0; - _sqlite3Error($54,$55); - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$56>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($57); - } - $58 = HEAP32[$1>>2]|0; - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)!=(0|0); - if ($60) { - $61 = HEAP32[$1>>2]|0; - _sqlite3_free($61); + (_sqlite3_wal_hook($4,0,0)|0); + STACKTOP = sp;return 0; } - $62 = HEAP32[$pSrcDb>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($62); - $63 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $63; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); + return (0)|0; } -function _sqlite3PagerBackupPtr($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3_wal_hook($db,$xCallback,$pArg) { + $db = $db|0; + $xCallback = $xCallback|0; + $pArg = $pArg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRet = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 88|0); - STACKTOP = sp;return ($2|0); + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $pRet = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $xCallback; + HEAP32[$2>>2] = $pArg; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 216|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pRet>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 212|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 216|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$pRet>>2]|0; + STACKTOP = sp;return ($12|0); } -function _sqlite3BtreeRollback($p,$tripCode,$writeOnly) { - $p = $p|0; - $tripCode = $tripCode|0; - $writeOnly = $writeOnly|0; +function _sqlite3_wal_checkpoint_v2($db,$zDb,$eMode,$pnLog,$pnCkpt) { + $db = $db|0; + $zDb = $zDb|0; + $eMode = $eMode|0; + $pnLog = $pnLog|0; + $pnCkpt = $pnCkpt|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nPage = 0, $pBt = 0, $pPage1 = 0, $rc = 0, $rc2 = 0, $rc21 = 0; - var label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $iDb = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $rc = sp + 20|0; - $pBt = sp + 16|0; - $pPage1 = sp + 12|0; - $rc2 = sp + 8|0; - $rc21 = sp + 4|0; - $nPage = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $tripCode; - HEAP32[$2>>2] = $writeOnly; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $9 = HEAP32[$pBt>>2]|0; - $10 = (_saveAllCursors($9,0,0)|0); - HEAP32[$1>>2] = $10; - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - HEAP32[$2>>2] = 0; - } - } else { - HEAP32[$rc>>2] = 0; - } - $13 = HEAP32[$1>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (_sqlite3BtreeTripAllCursors($15,$16,$17)|0); - HEAP32[$rc2>>2] = $18; - $19 = HEAP32[$rc2>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $21; - } + $vararg_buffer = sp; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 8|0; + $3 = sp + 16|0; + $4 = sp + 4|0; + $5 = sp + 12|0; + $rc = sp + 28|0; + $iDb = sp + 32|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zDb; + HEAP32[$3>>2] = $eMode; + HEAP32[$4>>2] = $pnLog; + HEAP32[$5>>2] = $pnCkpt; + HEAP32[$iDb>>2] = 10; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$4>>2]|0; + HEAP32[$8>>2] = -1; } - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 8|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)==(2); - if (!($26)) { - $52 = HEAP32[$0>>2]|0; - _btreeEndTransaction($52); - $53 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($53|0); + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$5>>2]|0; + HEAP32[$11>>2] = -1; } - $27 = HEAP32[$pBt>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3PagerRollback($28)|0); - HEAP32[$rc21>>2] = $29; - $30 = HEAP32[$rc21>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$rc21>>2]|0; - HEAP32[$rc>>2] = $32; + $12 = HEAP32[$3>>2]|0; + $13 = ($12|0)<(0); + $14 = HEAP32[$3>>2]|0; + $15 = ($14|0)>(2); + $or$cond = $13 | $15; + if ($or$cond) { + HEAP32[$0>>2] = 21; + $41 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($41|0); } - $33 = HEAP32[$pBt>>2]|0; - $34 = (_btreeGetPage($33,1,$pPage1,0)|0); - $35 = ($34|0)==(0); - if ($35) { - $36 = HEAP32[$pPage1>>2]|0; - $37 = (($36) + 56|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + 28|0); - $40 = (_sqlite3Get4byte($39)|0); - HEAP32[$nPage>>2] = $40; - $41 = HEAP32[$nPage>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - $43 = HEAP32[$pBt>>2]|0; - $44 = HEAP32[$43>>2]|0; - _sqlite3PagerPagecount($44,$nPage); + $16 = HEAP32[$2>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = HEAP8[$18>>0]|0; + $20 = $19 << 24 >> 24; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$1>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = (_sqlite3FindDbName($22,$23)|0); + HEAP32[$iDb>>2] = $24; } - $45 = HEAP32[$nPage>>2]|0; - $46 = HEAP32[$pBt>>2]|0; - $47 = (($46) + 44|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$pPage1>>2]|0; - _releasePage($48); } - $49 = HEAP32[$pBt>>2]|0; - $50 = (($49) + 20|0); - HEAP8[$50>>0] = 1; - $51 = HEAP32[$pBt>>2]|0; - _btreeClearHasContent($51); - $52 = HEAP32[$0>>2]|0; - _btreeEndTransaction($52); - $53 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($53|0); + $25 = HEAP32[$iDb>>2]|0; + $26 = ($25|0)<(0); + if ($26) { + HEAP32[$rc>>2] = 1; + $27 = HEAP32[$1>>2]|0; + $28 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $28; + _sqlite3ErrorWithMsg($27,1,14761,$vararg_buffer); + } else { + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$iDb>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = HEAP32[$5>>2]|0; + $34 = (_sqlite3Checkpoint($29,$30,$31,$32,$33)|0); + HEAP32[$rc>>2] = $34; + $35 = HEAP32[$1>>2]|0; + $36 = HEAP32[$rc>>2]|0; + _sqlite3Error($35,$36); + } + $37 = HEAP32[$1>>2]|0; + $38 = HEAP32[$rc>>2]|0; + $39 = (_sqlite3ApiExit($37,$38)|0); + HEAP32[$rc>>2] = $39; + $40 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $40; + $41 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($41|0); } -function _sqlite3LeaveMutexAndCloseZombie($db) { +function _sqlite3_wal_checkpoint($db,$zDb) { $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $j = 0, $p = 0, $pColl = 0, $pDb = 0, $pHash = 0, $pIdx = 0, $pMod = 0, $pNext = 0, label = 0, sp = 0; + $zDb = $zDb|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $i = sp + 32|0; - $j = sp + 28|0; - $pDb = sp + 24|0; - $pIdx = sp + 20|0; - $pNext = sp + 16|0; - $pHash = sp + 12|0; - $p = sp + 8|0; - $pColl = sp + 4|0; - $pMod = sp; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(1691352191); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = (_connectionIsBusy($5)|0); - $7 = ($6|0)!=(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$0>>2]|0; - _sqlite3RollbackAll($8,0); - $9 = HEAP32[$0>>2]|0; - _sqlite3CloseSavepoints($9); - HEAP32[$j>>2] = 0; - while(1) { - $10 = HEAP32[$j>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - if (!($14)) { - break; - } - $15 = HEAP32[$j>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15<<4)|0); - HEAP32[$pDb>>2] = $19; - $20 = HEAP32[$pDb>>2]|0; - $21 = (($20) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$pDb>>2]|0; - $25 = (($24) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - L12: do { - if ($27) { - $28 = HEAP32[$pDb>>2]|0; - $29 = (($28) + 4|0); - $30 = HEAP32[$29>>2]|0; - _sqlite3BtreeEnter($30); - $31 = HEAP32[$pDb>>2]|0; - $32 = (($31) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 24|0); - $35 = (($34) + 8|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$i>>2] = $36; - while(1) { - $37 = HEAP32[$i>>2]|0; - $38 = ($37|0)!=(0|0); - if (!($38)) { - break L12; - } - $39 = HEAP32[$i>>2]|0; - $40 = (($39) + 8|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$pIdx>>2] = $41; - $42 = HEAP32[$pIdx>>2]|0; - $43 = (($42) + 40|0); - $44 = HEAP32[$43>>2]|0; - _sqlite3KeyInfoUnref($44); - $45 = HEAP32[$pIdx>>2]|0; - $46 = (($45) + 40|0); - HEAP32[$46>>2] = 0; - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$47>>2]|0; - HEAP32[$i>>2] = $48; - } - } - } while(0); - $49 = HEAP32[$pDb>>2]|0; - $50 = (($49) + 4|0); - $51 = HEAP32[$50>>2]|0; - (_sqlite3BtreeClose($51)|0); - $52 = HEAP32[$pDb>>2]|0; - $53 = (($52) + 4|0); - HEAP32[$53>>2] = 0; - $54 = HEAP32[$j>>2]|0; - $55 = ($54|0)!=(1); - if ($55) { - $56 = HEAP32[$pDb>>2]|0; - $57 = (($56) + 12|0); - HEAP32[$57>>2] = 0; - } + HEAP32[$1>>2] = $zDb; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_wal_checkpoint_v2($2,$3,0,0,0)|0); + STACKTOP = sp;return ($4|0); +} +function _sqlite3_errcode($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$1>>2] = $db; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if ($3) { + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3SafetyCheckSickOrOk($4)|0); + $6 = ($5|0)!=(0); + if (!($6)) { + $7 = (_sqlite3MisuseError(126921)|0); + HEAP32[$0>>2] = $7; + $22 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($22|0); } - $58 = HEAP32[$j>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$j>>2] = $59; - } - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 16|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + 16|0); - $64 = (($63) + 12|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)!=(0|0); - if ($66) { - $67 = HEAP32[$0>>2]|0; - $68 = (($67) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 16|0); - $71 = (($70) + 12|0); - $72 = HEAP32[$71>>2]|0; - _sqlite3SchemaClear($72); } - $73 = HEAP32[$0>>2]|0; - _sqlite3VtabUnlockList($73); - $74 = HEAP32[$0>>2]|0; - _sqlite3CollapseDatabaseArray($74); - HEAP32[$j>>2] = 0; - while(1) { - $75 = HEAP32[$j>>2]|0; - $76 = ($75|0)<(23); - if (!($76)) { - break; - } - $77 = HEAP32[$j>>2]|0; - $78 = HEAP32[$0>>2]|0; - $79 = (($78) + 336|0); - $80 = (($79) + ($77<<2)|0); - $81 = HEAP32[$80>>2]|0; - HEAP32[$p>>2] = $81; - while(1) { - $82 = HEAP32[$p>>2]|0; - $83 = ($82|0)!=(0|0); - if (!($83)) { - break; - } - $84 = HEAP32[$p>>2]|0; - $85 = (($84) + 28|0); - $86 = HEAP32[$85>>2]|0; - HEAP32[$pHash>>2] = $86; - while(1) { - $87 = HEAP32[$p>>2]|0; - $88 = ($87|0)!=(0|0); - if (!($88)) { - break; - } - $89 = HEAP32[$0>>2]|0; - $90 = HEAP32[$p>>2]|0; - _functionDestroy($89,$90); - $91 = HEAP32[$p>>2]|0; - $92 = (($91) + 8|0); - $93 = HEAP32[$92>>2]|0; - HEAP32[$pNext>>2] = $93; - $94 = HEAP32[$0>>2]|0; - $95 = HEAP32[$p>>2]|0; - _sqlite3DbFree($94,$95); - $96 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $96; - } - $97 = HEAP32[$pHash>>2]|0; - HEAP32[$p>>2] = $97; + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 64|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(0); + if (!($14)) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 52|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 56|0); + $20 = HEAP32[$19>>2]|0; + $21 = $17 & $20; + HEAP32[$0>>2] = $21; + $22 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($22|0); } - $98 = HEAP32[$j>>2]|0; - $99 = (($98) + 1)|0; - HEAP32[$j>>2] = $99; } - $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 428|0); - $102 = (($101) + 8|0); - $103 = HEAP32[$102>>2]|0; - HEAP32[$i>>2] = $103; - while(1) { - $104 = HEAP32[$i>>2]|0; - $105 = ($104|0)!=(0|0); - if (!($105)) { - break; - } - $106 = HEAP32[$i>>2]|0; - $107 = (($106) + 8|0); - $108 = HEAP32[$107>>2]|0; - HEAP32[$pColl>>2] = $108; - HEAP32[$j>>2] = 0; - while(1) { - $109 = HEAP32[$j>>2]|0; - $110 = ($109|0)<(3); - if (!($110)) { - break; - } - $111 = HEAP32[$j>>2]|0; - $112 = HEAP32[$pColl>>2]|0; - $113 = (($112) + (($111*20)|0)|0); - $114 = (($113) + 16|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)!=(0|0); - if ($116) { - $117 = HEAP32[$j>>2]|0; - $118 = HEAP32[$pColl>>2]|0; - $119 = (($118) + (($117*20)|0)|0); - $120 = (($119) + 16|0); - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$j>>2]|0; - $123 = HEAP32[$pColl>>2]|0; - $124 = (($123) + (($122*20)|0)|0); - $125 = (($124) + 8|0); - $126 = HEAP32[$125>>2]|0; - FUNCTION_TABLE_vi[$121 & 31]($126); - } - $127 = HEAP32[$j>>2]|0; - $128 = (($127) + 1)|0; - HEAP32[$j>>2] = $128; - } - $129 = HEAP32[$0>>2]|0; - $130 = HEAP32[$pColl>>2]|0; - _sqlite3DbFree($129,$130); - $131 = HEAP32[$i>>2]|0; - $132 = HEAP32[$131>>2]|0; - HEAP32[$i>>2] = $132; + HEAP32[$0>>2] = 7; + $22 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _sqlite3_limit($db,$limitId,$newLimit) { + $db = $db|0; + $limitId = $limitId|0; + $newLimit = $newLimit|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $oldLimit = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $oldLimit = sp; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $limitId; + HEAP32[$3>>2] = $newLimit; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)<(0); + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)>=(12); + $or$cond = $5 | $7; + if ($or$cond) { + HEAP32[$0>>2] = -1; + $29 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($29|0); } - $133 = HEAP32[$0>>2]|0; - $134 = (($133) + 428|0); - _sqlite3HashClear($134); - $135 = HEAP32[$0>>2]|0; - $136 = (($135) + 308|0); - $137 = (($136) + 8|0); - $138 = HEAP32[$137>>2]|0; - HEAP32[$i>>2] = $138; - while(1) { - $139 = HEAP32[$i>>2]|0; - $140 = ($139|0)!=(0|0); - if (!($140)) { - break; - } - $141 = HEAP32[$i>>2]|0; - $142 = (($141) + 8|0); - $143 = HEAP32[$142>>2]|0; - HEAP32[$pMod>>2] = $143; - $144 = HEAP32[$pMod>>2]|0; - $145 = (($144) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)!=(0|0); - if ($147) { - $148 = HEAP32[$pMod>>2]|0; - $149 = (($148) + 12|0); - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$pMod>>2]|0; - $152 = (($151) + 8|0); - $153 = HEAP32[$152>>2]|0; - FUNCTION_TABLE_vi[$150 & 31]($153); + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 88|0); + $11 = (($10) + ($8<<2)|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$oldLimit>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)>=(0); + if ($14) { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = (932 + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)>($18|0); + if ($19) { + $20 = HEAP32[$2>>2]|0; + $21 = (932 + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$3>>2] = $22; } - $154 = HEAP32[$0>>2]|0; - $155 = HEAP32[$pMod>>2]|0; - _sqlite3DbFree($154,$155); - $156 = HEAP32[$i>>2]|0; - $157 = HEAP32[$156>>2]|0; - HEAP32[$i>>2] = $157; - } - $158 = HEAP32[$0>>2]|0; - $159 = (($158) + 308|0); - _sqlite3HashClear($159); - $160 = HEAP32[$0>>2]|0; - _sqlite3Error($160,0); - $161 = HEAP32[$0>>2]|0; - $162 = (($161) + 232|0); - $163 = HEAP32[$162>>2]|0; - _sqlite3ValueFree($163); - $164 = HEAP32[$0>>2]|0; - $165 = (($164) + 76|0); - HEAP32[$165>>2] = -1254786768; - $166 = HEAP32[$0>>2]|0; - $167 = HEAP32[$0>>2]|0; - $168 = (($167) + 16|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($169) + 16|0); - $171 = (($170) + 12|0); - $172 = HEAP32[$171>>2]|0; - _sqlite3DbFree($166,$172); - $173 = HEAP32[$0>>2]|0; - $174 = (($173) + 76|0); - HEAP32[$174>>2] = -1623446221; - $175 = HEAP32[$0>>2]|0; - $176 = (($175) + 248|0); - $177 = (($176) + 3|0); - $178 = HEAP8[$177>>0]|0; - $179 = ($178<<24>>24)!=(0); - if ($179) { - $180 = HEAP32[$0>>2]|0; - $181 = (($180) + 248|0); - $182 = (($181) + 28|0); - $183 = HEAP32[$182>>2]|0; - _sqlite3_free($183); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 88|0); + $27 = (($26) + ($24<<2)|0); + HEAP32[$27>>2] = $23; } - $184 = HEAP32[$0>>2]|0; - _sqlite3_free($184); - STACKTOP = sp;return; + $28 = HEAP32[$oldLimit>>2]|0; + HEAP32[$0>>2] = $28; + $29 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($29|0); } -function _sqlite3_sql($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3_open($zFilename,$ppDb) { + $zFilename = $zFilename|0; + $ppDb = $ppDb|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $14 = 0; - STACKTOP = sp;return ($14|0); - } - $4 = HEAP32[$p>>2]|0; - $5 = (($4) + 88|0); - $6 = HEAP16[$5>>1]|0; - $7 = ($6&65535) >>> 10; - $8 = $7 & 1; - $9 = $8&65535; - $10 = ($9|0)!=(0); - if (!($10)) { - $14 = 0; - STACKTOP = sp;return ($14|0); - } - $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 168|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13; - STACKTOP = sp;return ($14|0); + $1 = sp; + HEAP32[$0>>2] = $zFilename; + HEAP32[$1>>2] = $ppDb; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_openDatabase($2,$3,6,0)|0); + STACKTOP = sp;return ($4|0); } -function _sqlite3_finalize($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0; - var $rc = 0, $v = 0, label = 0, sp = 0; +function _sqlite3_file_control($db,$zDbName,$op,$pArg) { + $db = $db|0; + $zDbName = $zDbName|0; + $op = $op|0; + $pArg = $pArg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $pBtree = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $v = sp + 4|0; - $db = sp; - HEAP32[$1>>2] = $pStmt; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - do { - if ($3) { - HEAP32[$rc>>2] = 0; - } else { - $4 = HEAP32[$1>>2]|0; - HEAP32[$v>>2] = $4; - $5 = HEAP32[$v>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$v>>2]|0; - $8 = (_vdbeSafety($7)|0); - $9 = ($8|0)!=(0); - if (!($9)) { - $11 = HEAP32[$v>>2]|0; - $12 = (_sqlite3VdbeFinalize($11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$db>>2]|0; - $14 = HEAP32[$rc>>2]|0; - $15 = (_sqlite3ApiExit($13,$14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$db>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($16); - break; - } - $10 = (_sqlite3MisuseError(67386)|0); - HEAP32[$0>>2] = $10; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } - } while(0); - $17 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $17; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $rc = sp + 28|0; + $pBtree = sp; + $pPager = sp + 12|0; + $fd = sp + 24|0; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zDbName; + HEAP32[$2>>2] = $op; + HEAP32[$3>>2] = $pArg; + HEAP32[$rc>>2] = 1; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3DbNameToBtree($4,$5)|0); + HEAP32[$pBtree>>2] = $6; + $7 = HEAP32[$pBtree>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $24 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($24|0); + } + $9 = HEAP32[$pBtree>>2]|0; + _sqlite3BtreeEnter($9); + $10 = HEAP32[$pBtree>>2]|0; + $11 = (_sqlite3BtreePager($10)|0); + HEAP32[$pPager>>2] = $11; + $12 = HEAP32[$pPager>>2]|0; + $13 = (_sqlite3PagerFile($12)|0); + HEAP32[$fd>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(7); + $16 = HEAP32[$fd>>2]|0; + if ($15) { + $17 = HEAP32[$3>>2]|0; + HEAP32[$17>>2] = $16; + HEAP32[$rc>>2] = 0; + $24 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($24|0); + } + $18 = HEAP32[$16>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$fd>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = (_sqlite3OsFileControl($20,$21,$22)|0); + HEAP32[$rc>>2] = $23; + $24 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($24|0); + } else { + HEAP32[$rc>>2] = 12; + $24 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($24|0); + } + return (0)|0; } -function _vdbeSafety($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3_uri_parameter($zFilename,$zParam) { + $zFilename = $zFilename|0; + $zParam = $zParam|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - $1 = sp + 4|0; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $x = sp; + HEAP32[$1>>2] = $zFilename; + HEAP32[$2>>2] = $zParam; + $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(0|0); if ($4) { - _sqlite3_log(21,37056,$vararg_buffer); - HEAP32[$0>>2] = 1; - $5 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($5|0); - } else { HEAP32[$0>>2] = 0; - $5 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($5|0); + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); + } + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3Strlen30($5)|0); + $7 = (($6) + 1)|0; + $8 = HEAP32[$1>>2]|0; + $9 = (($8) + ($7)|0); + HEAP32[$1>>2] = $9; + while(1) { + $10 = HEAP32[$1>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)!=(0); + if (!($12)) { + label = 8; + break; + } + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = (_strcmp($13,$14)|0); + HEAP32[$x>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = (_sqlite3Strlen30($16)|0); + $18 = (($17) + 1)|0; + $19 = HEAP32[$1>>2]|0; + $20 = (($19) + ($18)|0); + HEAP32[$1>>2] = $20; + $21 = HEAP32[$x>>2]|0; + $22 = ($21|0)==(0); + $23 = HEAP32[$1>>2]|0; + if ($22) { + label = 6; + break; + } + $24 = (_sqlite3Strlen30($23)|0); + $25 = (($24) + 1)|0; + $26 = HEAP32[$1>>2]|0; + $27 = (($26) + ($25)|0); + HEAP32[$1>>2] = $27; + } + if ((label|0) == 6) { + HEAP32[$0>>2] = $23; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); + } + else if ((label|0) == 8) { + HEAP32[$0>>2] = 0; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); } - return 0|0; + return (0)|0; } -function _sqlite3VdbeFinalize($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3_uri_boolean($zFilename,$zParam,$bDflt) { + $zFilename = $zFilename|0; + $zParam = $zParam|0; + $bDflt = $bDflt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 40|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(-1108210269); - if ($4) { - label = 3; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $z = sp; + HEAP32[$0>>2] = $zFilename; + HEAP32[$1>>2] = $zParam; + HEAP32[$2>>2] = $bDflt; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3_uri_parameter($3,$4)|0); + HEAP32[$z>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + HEAP32[$2>>2] = $8; + $9 = HEAP32[$z>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$z>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = $12&255; + $14 = (_sqlite3GetBoolean($11,$13)|0); + $15 = $14&255; + $17 = $15; + STACKTOP = sp;return ($17|0); } else { - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 40|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(1369188723); - if ($8) { - label = 3; - } - } - if ((label|0) == 3) { - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3VdbeReset($9)|0); - HEAP32[$rc>>2] = $10; + $16 = HEAP32[$2>>2]|0; + $17 = $16; + STACKTOP = sp;return ($17|0); } - $11 = HEAP32[$0>>2]|0; - _sqlite3VdbeDelete($11); - $12 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($12|0); + return (0)|0; } -function _sqlite3ApiExit($db,$rc) { - $db = $db|0; - $rc = $rc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; +function _sqlite3Strlen30($z) { + $z = $z|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $rc; + $z2 = sp; + HEAP32[$1>>2] = $z; + $2 = HEAP32[$1>>2]|0; + HEAP32[$z2>>2] = $2; $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(0|0); if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = $5 & 255; - HEAP32[$0>>2] = $6; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + HEAP32[$0>>2] = 0; + $15 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($15|0); } - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 64|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - $12 = HEAP32[$2>>2]|0; - $13 = ($12|0)==(3082); - $or$cond = $11 | $13; - if ($or$cond) { - $14 = HEAP32[$1>>2]|0; - $15 = (_apiOomError($14)|0); - HEAP32[$0>>2] = $15; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } else { - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 56|0); - $19 = HEAP32[$18>>2]|0; - $20 = $16 & $19; - HEAP32[$0>>2] = $20; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + while(1) { + $5 = HEAP32[$z2>>2]|0; + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + $8 = HEAP32[$z2>>2]|0; + if (!($7)) { + break; + } + $9 = ((($8)) + 1|0); + HEAP32[$z2>>2] = $9; } - return 0|0; + $10 = HEAP32[$1>>2]|0; + $11 = $8; + $12 = $10; + $13 = (($11) - ($12))|0; + $14 = 1073741823 & $13; + HEAP32[$0>>2] = $14; + $15 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($15|0); } -function _sqlite3_reset($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $v = 0, label = 0, sp = 0; +function _sqlite3IsIdChar($c) { + $c = $c|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pStmt; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - HEAP32[$rc>>2] = 0; - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); - } else { - $3 = HEAP32[$0>>2]|0; - HEAP32[$v>>2] = $3; - $4 = HEAP32[$v>>2]|0; - $5 = (_sqlite3VdbeReset($4)|0); - HEAP32[$rc>>2] = $5; - $6 = HEAP32[$v>>2]|0; - _sqlite3VdbeRewind($6); - $7 = HEAP32[$v>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$rc>>2]|0; - $10 = (_sqlite3ApiExit($8,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); - } - return 0|0; + $0 = sp; + HEAP8[$0>>0] = $c; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = (14426 + ($2)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = $5 & 70; + $7 = ($6|0)!=(0); + $8 = $7&1; + STACKTOP = sp;return ($8|0); } -function _sqlite3VdbeReset($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $db = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3MisuseError($lineno) { + $lineno = $lineno|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $0 = sp + 8|0; - $db = sp + 4|0; - HEAP32[$0>>2] = $p; + HEAP32[$0>>2] = $lineno; $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$0>>2]|0; - (_sqlite3VdbeHalt($3)|0); - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 76|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)>=(0); - $8 = HEAP32[$0>>2]|0; - if ($7) { - (_sqlite3VdbeTransferError($8)|0); - $9 = HEAP32[$db>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 44|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3DbFree($9,$12); - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 44|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 88|0); - $17 = HEAP16[$16>>1]|0; - $18 = ($17&65535) >>> 6; - $19 = $18 & 1; - $20 = $19&65535; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 88|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 & -33; - $26 = $25 | 32; - HEAP16[$23>>1] = $26; - } - } else { - $27 = (($8) + 80|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 88|0); - $32 = HEAP16[$31>>1]|0; - $33 = ($32&65535) >>> 5; - $34 = $33 & 1; - $35 = $34&65535; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 80|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 44|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - $45 = $44 ? 1200 : 0; - $46 = HEAP32[$0>>2]|0; - $47 = (($46) + 44|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$vararg_buffer>>2] = $48; - _sqlite3ErrorWithMsg($37,$40,$45,$vararg_buffer); - $49 = HEAP32[$db>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 44|0); - $52 = HEAP32[$51>>2]|0; - _sqlite3DbFree($49,$52); - $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 44|0); - HEAP32[$54>>2] = 0; - } + $2 = (_sqlite3_sourceid()|0); + $3 = ((($2)) + 20|0); + HEAP32[$vararg_buffer>>2] = $1; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $3; + _sqlite3_log(21,37666,$vararg_buffer); + STACKTOP = sp;return 21; +} +function _sqlite3BtreeEnterAll($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $i = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $db; + HEAP32[$i>>2] = 0; + while(1) { + $1 = HEAP32[$i>>2]|0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 20|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($1|0)<($4|0); + if (!($5)) { + break; } + $6 = HEAP32[$i>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($6<<4)|0); + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$p>>2] = $12; + $13 = HEAP32[$p>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$p>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$p>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 4|0); + HEAP32[$20>>2] = $16; + } + $21 = HEAP32[$i>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$i>>2] = $22; } - $55 = HEAP32[$0>>2]|0; - _Cleanup($55); - $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 136|0); - $58 = $57; - $59 = $58; - HEAP32[$59>>2] = 0; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = 0; - $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 40|0); - HEAP32[$63>>2] = 649915045; - $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 80|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$db>>2]|0; - $68 = (($67) + 56|0); - $69 = HEAP32[$68>>2]|0; - $70 = $66 & $69; - STACKTOP = sp;return ($70|0); + STACKTOP = sp;return; } -function _sqlite3VdbeRewind($p) { +function _sqlite3BtreePager($p) { $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 40|0); - HEAP32[$2>>2] = -1108210269; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 76|0); - HEAP32[$4>>2] = -1; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 80|0); - HEAP32[$6>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 86|0); - HEAP8[$8>>0] = 2; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 40|0); - HEAP32[$10>>2] = -1108210269; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3MallocSize($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[(56)>>2]|0; + $2 = HEAP32[$0>>2]|0; + $3 = (FUNCTION_TABLE_ii[$1 & 31]($2)|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3DeleteTrigger($db,$pTrigger) { + $db = $db|0; + $pTrigger = $pTrigger|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pTrigger; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + STACKTOP = sp;return; + } + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 28|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3DeleteTriggerStep($4,$7); + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$9>>2]|0; + _sqlite3DbFree($8,$10); $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 92|0); - HEAP32[$12>>2] = 0; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 72|0); - HEAP32[$14>>2] = 1; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3DbFree($11,$14); $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 87|0); - HEAP8[$16>>0] = -1; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 104|0); - HEAP32[$18>>2] = 0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3ExprDelete($15,$18); $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 144|0); - $21 = $20; - $22 = $21; - HEAP32[$22>>2] = 0; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = 0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3IdListDelete($19,$22); + $23 = HEAP32[$0>>2]|0; + $24 = HEAP32[$1>>2]|0; + _sqlite3DbFree($23,$24); STACKTOP = sp;return; } -function _sqlite3_clear_bindings($pStmt) { - $pStmt = $pStmt|0; +function _sqlite3DeleteTable($db,$pTable) { + $db = $db|0; + $pTable = $pTable|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0; - var $rc = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $7 = 0, $8 = 0, $9 = 0, $pIndex = 0, $pNext = 0, $zName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $rc = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$p>>2]|0; - $4 = (($3) + 68|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5 << 16 >> 16; - $7 = ($2|0)<($6|0); - if (!($7)) { - break; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $pIndex = sp + 8|0; + $pNext = sp + 4|0; + $zName = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pTable; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; + } + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)!=(0|0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 520|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + label = 4; } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 60|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + (($8*40)|0)|0); - _sqlite3VdbeMemRelease($12); - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + (($13*40)|0)|0); - $18 = (($17) + 8|0); - HEAP16[$18>>1] = 1; - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; + } else { + label = 4; } - $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 88|0); - $23 = HEAP16[$22>>1]|0; - $24 = ($23&65535) >>> 10; - $25 = $24 & 1; - $26 = $25&65535; - $27 = ($26|0)!=(0); - if (!($27)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + if ((label|0) == 4) { + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 40|0); + $12 = HEAP16[$11>>1]|0; + $13 = (($12) + -1)<<16>>16; + HEAP16[$11>>1] = $13; + $14 = $13&65535; + $15 = ($14|0)>(0); + if ($15) { + STACKTOP = sp;return; + } } - $28 = HEAP32[$p>>2]|0; - $29 = (($28) + 188|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0); - if (!($31)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$pIndex>>2] = $18; + while(1) { + $19 = HEAP32[$pIndex>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + break; + } + $21 = HEAP32[$pIndex>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$pNext>>2] = $23; + $24 = HEAP32[$0>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 520|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0|0); + if ($29) { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + label = 0; + $30 = HEAP32[$pIndex>>2]|0; + $31 = HEAP32[$30>>2]|0; + HEAP32[$zName>>2] = $31; + $32 = HEAP32[$pIndex>>2]|0; + $33 = ((($32)) + 24|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$zName>>2]|0; + (_sqlite3HashInsert($35,$36,0)|0); + } + $37 = HEAP32[$0>>2]|0; + $38 = HEAP32[$pIndex>>2]|0; + _freeIndex($37,$38); + $39 = HEAP32[$pNext>>2]|0; + HEAP32[$pIndex>>2] = $39; } - $32 = HEAP32[$p>>2]|0; - $33 = (($32) + 88|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34 & -33; - $36 = $35 | 32; - HEAP16[$33>>1] = $36; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $40 = HEAP32[$0>>2]|0; + $41 = HEAP32[$1>>2]|0; + _sqlite3FkDelete($40,$41); + $42 = HEAP32[$0>>2]|0; + $43 = HEAP32[$1>>2]|0; + _sqliteDeleteColumnNames($42,$43); + $44 = HEAP32[$0>>2]|0; + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$45>>2]|0; + _sqlite3DbFree($44,$46); + $47 = HEAP32[$0>>2]|0; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 20|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3DbFree($47,$50); + $51 = HEAP32[$0>>2]|0; + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + _sqlite3SelectDelete($51,$54); + $55 = HEAP32[$0>>2]|0; + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP32[$57>>2]|0; + _sqlite3ExprListDelete($55,$58); + $59 = HEAP32[$0>>2]|0; + $60 = HEAP32[$1>>2]|0; + _sqlite3VtabClear($59,$60); + $61 = HEAP32[$0>>2]|0; + $62 = HEAP32[$1>>2]|0; + _sqlite3DbFree($61,$62); + STACKTOP = sp;return; } -function _sqlite3VdbeMemRelease($p) { +function _sqlite3VdbeClearObject($db,$p) { + $db = $db|0; $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pNext = 0, $pSub = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 9312; - $6 = ($5|0)!=(0); - if (!($6)) { - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); - if (!($10)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $pSub = sp + 8|0; + $pNext = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 60|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 68|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7 << 16 >> 16; + _releaseMemArray($4,$8); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 84|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = $15<<1; + _releaseMemArray($11,$16); + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 192|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$pSub>>2] = $19; + while(1) { + $20 = HEAP32[$pSub>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + break; + } + $22 = HEAP32[$pSub>>2]|0; + $23 = ((($22)) + 24|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$pNext>>2] = $24; + $25 = HEAP32[$0>>2]|0; + $26 = HEAP32[$pSub>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$pSub>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + _vdbeFreeOpArray($25,$27,$30); + $31 = HEAP32[$0>>2]|0; + $32 = HEAP32[$pSub>>2]|0; + _sqlite3DbFree($31,$32); + $33 = HEAP32[$pNext>>2]|0; + HEAP32[$pSub>>2] = $33; + } + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 70|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36 << 16 >> 16; + $38 = (($37) - 1)|0; + HEAP32[$i>>2] = $38; + while(1) { + $39 = HEAP32[$i>>2]|0; + $40 = ($39|0)>=(0); + $41 = HEAP32[$0>>2]|0; + if (!($40)) { + break; } + $42 = HEAP32[$i>>2]|0; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + ($42<<2)|0); + $47 = HEAP32[$46>>2]|0; + _sqlite3DbFree($41,$47); + $48 = HEAP32[$i>>2]|0; + $49 = (($48) + -1)|0; + HEAP32[$i>>2] = $49; } - $11 = HEAP32[$0>>2]|0; - _vdbeMemClear($11); + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 32|0); + $55 = HEAP32[$54>>2]|0; + _vdbeFreeOpArray($41,$52,$55); + $56 = HEAP32[$0>>2]|0; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + _sqlite3DbFree($56,$59); + $60 = HEAP32[$0>>2]|0; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 168|0); + $63 = HEAP32[$62>>2]|0; + _sqlite3DbFree($60,$63); + $64 = HEAP32[$0>>2]|0; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 172|0); + $67 = HEAP32[$66>>2]|0; + _sqlite3DbFree($64,$67); STACKTOP = sp;return; } -function _sqlite3_value_blob($pVal) { - $pVal = $pVal|0; +function _sqlite3DbFree($db,$p) { + $db = $db|0; + $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBuf = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pVal; + $pBuf = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 18; - $8 = ($7|0)!=(0); - if (!($8)) { - $24 = HEAP32[$1>>2]|0; - $25 = (_sqlite3_value_text($24)|0); - HEAP32[$0>>2] = $25; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + $3 = ($2|0)==(0|0); + if ($3) { + STACKTOP = sp;return; } - $9 = HEAP32[$p>>2]|0; - (_sqlite3VdbeMemExpandBlob($9)|0); - $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 | 16; - $15 = $14&65535; - HEAP16[$11>>1] = $15; - $16 = HEAP32[$p>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22; - } else { - $23 = 0; + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)!=(0|0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 520|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + $10 = HEAP32[$0>>2]|0; + $11 = HEAP32[$1>>2]|0; + if ($9) { + _measureAllocationSize($10,$11); + STACKTOP = sp;return; + } + $12 = (_isLookaside($10,$11)|0); + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$1>>2]|0; + HEAP32[$pBuf>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 248|0); + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$pBuf>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$pBuf>>2]|0; + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 248|0); + $23 = ((($22)) + 24|0); + HEAP32[$23>>2] = $20; + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 248|0); + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + -1)|0; + HEAP32[$26>>2] = $28; + STACKTOP = sp;return; + } } - HEAP32[$0>>2] = $23; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + $29 = HEAP32[$1>>2]|0; + _sqlite3_free($29); + STACKTOP = sp;return; } -function _sqlite3VdbeMemExpandBlob($pMem) { - $pMem = $pMem|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $nByte = 0, label = 0, sp = 0; +function _sqlite3MallocInit() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $i = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pSlot = 0, $sz = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $nByte = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 16384; - $7 = ($6|0)!=(0); - do { - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + ($12))|0; - HEAP32[$nByte>>2] = $13; - $14 = HEAP32[$nByte>>2]|0; - $15 = ($14|0)<=(0); - $$ = $15 ? 1 : $13; - HEAP32[$nByte>>2] = $$; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$nByte>>2]|0; - $18 = (_sqlite3VdbeMemGrow($16,$17,1)|0); - $19 = ($18|0)!=(0); - if (!($19)) { - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22)|0); - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$27>>2]|0; - _memset(($26|0),0,($28|0))|0; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($30))|0; - HEAP32[$32>>2] = $34; - $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 8|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = $38 & -16897; - $40 = $39&65535; - HEAP16[$36>>1] = $40; + $i = sp + 12|0; + $n = sp + 8|0; + $sz = sp + 4|0; + $pSlot = sp; + $0 = HEAP32[(44)>>2]|0; + $1 = ($0|0)==(0|0); + if ($1) { + _sqlite3MemSetDefault(); + } + dest=280; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $2 = HEAP32[(12)>>2]|0; + $3 = ($2|0)!=(0); + if ($3) { + HEAP32[280>>2] = (8); + } + $4 = HEAP32[(200)>>2]|0; + $5 = ($4|0)!=(0|0); + $6 = HEAP32[(204)>>2]|0; + $7 = ($6|0)>=(100); + $or$cond = $5 & $7; + $8 = HEAP32[(208)>>2]|0; + $9 = ($8|0)>(0); + $or$cond3 = $or$cond & $9; + if ($or$cond3) { + $10 = HEAP32[(204)>>2]|0; + $11 = $10 & -8; + HEAP32[$sz>>2] = $11; + $12 = HEAP32[$sz>>2]|0; + HEAP32[(204)>>2] = $12; + $13 = HEAP32[(200)>>2]|0; + HEAP32[$pSlot>>2] = $13; + $14 = HEAP32[(208)>>2]|0; + HEAP32[$n>>2] = $14; + $15 = HEAP32[$pSlot>>2]|0; + HEAP32[(308)>>2] = $15; + $16 = HEAP32[$n>>2]|0; + HEAP32[(312)>>2] = $16; + HEAP32[$i>>2] = 0; + while(1) { + $17 = HEAP32[$i>>2]|0; + $18 = HEAP32[$n>>2]|0; + $19 = (($18) - 1)|0; + $20 = ($17|0)<($19|0); + if (!($20)) { break; } - HEAP32[$0>>2] = 7; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + $21 = HEAP32[$sz>>2]|0; + $22 = HEAP32[$pSlot>>2]|0; + $23 = (($22) + ($21)|0); + $24 = HEAP32[$pSlot>>2]|0; + HEAP32[$24>>2] = $23; + $25 = HEAP32[$pSlot>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$pSlot>>2] = $26; + $27 = HEAP32[$i>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$i>>2] = $28; } - } while(0); - HEAP32[$0>>2] = 0; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + $29 = HEAP32[$pSlot>>2]|0; + HEAP32[$29>>2] = 0; + $30 = HEAP32[$pSlot>>2]|0; + $31 = ((($30)) + 4|0); + HEAP32[(304)>>2] = $31; + } else { + HEAP32[(304)>>2] = 0; + HEAP32[(200)>>2] = 0; + HEAP32[(204)>>2] = 0; + HEAP32[(208)>>2] = 0; + } + $32 = HEAP32[(212)>>2]|0; + $33 = ($32|0)==(0|0); + $34 = HEAP32[(216)>>2]|0; + $35 = ($34|0)<(512); + $or$cond5 = $33 | $35; + $36 = HEAP32[(220)>>2]|0; + $37 = ($36|0)<(1); + $or$cond7 = $or$cond5 | $37; + if (!($or$cond7)) { + $38 = HEAP32[(64)>>2]|0; + $39 = HEAP32[(72)>>2]|0; + $40 = (FUNCTION_TABLE_ii[$38 & 31]($39)|0); + STACKTOP = sp;return ($40|0); + } + HEAP32[(212)>>2] = 0; + HEAP32[(216)>>2] = 0; + HEAP32[(220)>>2] = 0; + $38 = HEAP32[(64)>>2]|0; + $39 = HEAP32[(72)>>2]|0; + $40 = (FUNCTION_TABLE_ii[$38 & 31]($39)|0); + STACKTOP = sp;return ($40|0); } -function _sqlite3_value_text($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3RegisterGlobalFunctions() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3ValueText($1,1)|0); - STACKTOP = sp;return ($2|0); + $i = sp + 8|0; + $pHash = sp + 4|0; + $aFunc = sp; + HEAP32[$pHash>>2] = 472; + HEAP32[$aFunc>>2] = 4692; + HEAP32[$i>>2] = 0; + while(1) { + $0 = HEAP32[$i>>2]|0; + $1 = ($0|0)<(57); + if (!($1)) { + break; + } + $2 = HEAP32[$pHash>>2]|0; + $3 = HEAP32[$i>>2]|0; + $4 = HEAP32[$aFunc>>2]|0; + $5 = (($4) + (($3*36)|0)|0); + _sqlite3FuncDefInsert($2,$5); + $6 = HEAP32[$i>>2]|0; + $7 = (($6) + 1)|0; + HEAP32[$i>>2] = $7; + } + _sqlite3RegisterDateTimeFunctions(); + _sqlite3AlterFunctions(); + STACKTOP = sp;return; } -function _sqlite3_value_bytes($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3PcacheInitialize() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[(120)>>2]|0; + $1 = ($0|0)==(0|0); + if ($1) { + _sqlite3PCacheSetDefault(); + } + $2 = HEAP32[(120)>>2]|0; + $3 = HEAP32[(116)>>2]|0; + $4 = (FUNCTION_TABLE_ii[$2 & 31]($3)|0); + return ($4|0); +} +function _sqlite3OsInit() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3ValueBytes($1,1)|0); - STACKTOP = sp;return ($2|0); + $0 = sp + 4|0; + $p = sp; + $1 = (_sqlite3_malloc(10)|0); + HEAP32[$p>>2] = $1; + $2 = HEAP32[$p>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + HEAP32[$0>>2] = 7; + $6 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($6|0); + } else { + $4 = HEAP32[$p>>2]|0; + _sqlite3_free($4); + $5 = (_sqlite3_os_init()|0); + HEAP32[$0>>2] = $5; + $6 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($6|0); + } + return (0)|0; } -function _sqlite3ValueBytes($pVal,$enc) { - $pVal = $pVal|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { + $pBuf = $pBuf|0; + $sz = $sz|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp + 12|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; $p = sp; - HEAP32[$1>>2] = $pVal; - HEAP8[$2>>0] = $enc; - $3 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = (($4) + 8|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & 16; - $9 = ($8|0)!=(0); - if (!($9)) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP8[$2>>0]|0; - $12 = (_sqlite3ValueText($10,$11)|0); - $13 = ($12|0)!=(0|0); - if (!($13)) { - HEAP32[$0>>2] = 0; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); - } + HEAP32[$0>>2] = $pBuf; + HEAP32[$1>>2] = $sz; + HEAP32[$2>>2] = $n; + $3 = HEAP32[(1008)>>2]|0; + $4 = ($3|0)!=(0); + if (!($4)) { + STACKTOP = sp;return; } - $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 8|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = $17 & 16384; - $19 = ($18|0)!=(0); - $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 12|0); - $22 = HEAP32[$21>>2]|0; - if ($19) { - $23 = HEAP32[$p>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + ($24))|0; - HEAP32[$0>>2] = $25; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + $5 = HEAP32[$1>>2]|0; + $6 = $5 & -8; + HEAP32[$1>>2] = $6; + $7 = HEAP32[$1>>2]|0; + HEAP32[(1012)>>2] = $7; + $8 = HEAP32[$2>>2]|0; + HEAP32[(1040)>>2] = $8; + HEAP32[(1016)>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)>(90); + if ($10) { + $14 = 10; } else { - HEAP32[$0>>2] = $22; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + $11 = HEAP32[$2>>2]|0; + $12 = (($11|0) / 10)&-1; + $13 = (($12) + 1)|0; + $14 = $13; + } + HEAP32[(1020)>>2] = $14; + $15 = HEAP32[$0>>2]|0; + HEAP32[(1024)>>2] = $15; + HEAP32[(1036)>>2] = 0; + HEAP32[(1044)>>2] = 0; + while(1) { + $16 = HEAP32[$2>>2]|0; + $17 = (($16) + -1)|0; + HEAP32[$2>>2] = $17; + $18 = ($16|0)!=(0); + $19 = HEAP32[$0>>2]|0; + if (!($18)) { + break; + } + HEAP32[$p>>2] = $19; + $20 = HEAP32[(1036)>>2]|0; + $21 = HEAP32[$p>>2]|0; + HEAP32[$21>>2] = $20; + $22 = HEAP32[$p>>2]|0; + HEAP32[(1036)>>2] = $22; + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$0>>2]|0; + $25 = (($24) + ($23)|0); + HEAP32[$0>>2] = $25; } - return 0|0; + HEAP32[(1028)>>2] = $19; + STACKTOP = sp;return; } -function _sqlite3_value_double($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0.0, label = 0, sp = 0; +function _vfsUnlink($pVfs) { + $pVfs = $pVfs|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pVfs; $1 = HEAP32[$0>>2]|0; - $2 = (+_sqlite3VdbeRealValue($1)); - STACKTOP = sp;return (+$2); + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return; + } + $3 = HEAP32[468>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ($3|0)==($4|0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[468>>2] = $8; + STACKTOP = sp;return; + } + $9 = HEAP32[468>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[468>>2]|0; + HEAP32[$p>>2] = $11; + while(1) { + $12 = HEAP32[$p>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$p>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$0>>2]|0; + $20 = ($18|0)!=($19|0); + $31 = $20; + } else { + $31 = 0; + } + $21 = HEAP32[$p>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + if (!($31)) { + break; + } + HEAP32[$p>>2] = $23; + } + $24 = HEAP32[$0>>2]|0; + $25 = ($23|0)==($24|0); + if (!($25)) { + STACKTOP = sp;return; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$p>>2]|0; + $30 = ((($29)) + 12|0); + HEAP32[$30>>2] = $28; + STACKTOP = sp;return; } -function _sqlite3VdbeRealValue($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $val = 0; - var label = 0, sp = 0; +function _sqlite3MemoryAlarm($xCallback,$pArg,$0,$1) { + $xCallback = $xCallback|0; + $pArg = $pArg|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nUsed = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 8|0; - $1 = sp + 16|0; - $val = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 8; - $7 = ($6|0)!=(0); - $8 = HEAP32[$1>>2]|0; - if ($7) { - $9 = +HEAPF64[$8>>3]; - HEAPF64[$0>>3] = $9; - $38 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$38); - } - $10 = (($8) + 8|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12 & 4; - $14 = ($13|0)!=(0); - $15 = HEAP32[$1>>2]|0; - if ($14) { - $16 = $15; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (+($18>>>0)) + (4294967296.0*(+($21|0))); - HEAPF64[$0>>3] = $22; - $38 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$38); - } - $23 = (($15) + 8|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = $25 & 18; - $27 = ($26|0)!=(0); - if ($27) { - HEAPF64[$val>>3] = 0.0; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 10|0); - $36 = HEAP8[$35>>0]|0; - (_sqlite3AtoF($30,$val,$33,$36)|0); - $37 = +HEAPF64[$val>>3]; - HEAPF64[$0>>3] = $37; - $38 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$38); - } else { - HEAPF64[$0>>3] = 0.0; - $38 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$38); + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp; + $nUsed = sp + 8|0; + HEAP32[$2>>2] = $xCallback; + HEAP32[$3>>2] = $pArg; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = HEAP32[$2>>2]|0; + HEAP32[(296)>>2] = $9; + $10 = HEAP32[$3>>2]|0; + HEAP32[(300)>>2] = $10; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (288); + $18 = $17; + HEAP32[$18>>2] = $13; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $16; + $21 = (_sqlite3StatusValue(0)|0); + HEAP32[$nUsed>>2] = $21; + $22 = $4; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(0); + $29 = ($24>>>0)>(0); + $30 = ($27|0)==(0); + $31 = $30 & $29; + $32 = $28 | $31; + if (!($32)) { + $48 = 0; + $47 = $48&1; + HEAP32[(316)>>2] = $47; + STACKTOP = sp;return 0; } - return +0; + $33 = $4; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$nUsed>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = ($38|0)<($41|0); + $43 = ($35>>>0)<=($39>>>0); + $44 = ($38|0)==($41|0); + $45 = $44 & $43; + $46 = $42 | $45; + $48 = $46; + $47 = $48&1; + HEAP32[(316)>>2] = $47; + STACKTOP = sp;return 0; } -function _sqlite3_value_int($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _softHeapLimitEnforcer($NotUsed,$0,$1,$allocSize) { + $NotUsed = $NotUsed|0; + $0 = $0|0; + $1 = $1|0; + $allocSize = $allocSize|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3VdbeIntValue($1)|0); - $3 = tempRet0; - STACKTOP = sp;return ($2|0); + $2 = sp + 12|0; + $3 = sp; + $4 = sp + 8|0; + HEAP32[$2>>2] = $NotUsed; + $5 = $3; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + HEAP32[$4>>2] = $allocSize; + $9 = HEAP32[$4>>2]|0; + (_sqlite3_release_memory($9)|0); + STACKTOP = sp;return; } -function _sqlite3VdbeIntValue($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $flags = 0, $value = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 8|0; - $1 = sp + 20|0; - $flags = sp + 16|0; - $value = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - HEAP32[$flags>>2] = $5; - $6 = HEAP32[$flags>>2]|0; - $7 = $6 & 4; - $8 = ($7|0)!=(0); - do { - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = $9; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $0; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - } else { - $20 = HEAP32[$flags>>2]|0; - $21 = $20 & 8; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = +HEAPF64[$23>>3]; - $25 = (_doubleToInt64($24)|0); - $26 = tempRet0; - $27 = $0; - $28 = $27; - HEAP32[$28>>2] = $25; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $26; - break; - } - $31 = HEAP32[$flags>>2]|0; - $32 = $31 & 18; - $33 = ($32|0)!=(0); - if ($33) { - $34 = $value; - $35 = $34; - HEAP32[$35>>2] = 0; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = 0; - $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 10|0); - $46 = HEAP8[$45>>0]|0; - (_sqlite3Atoi64($40,$value,$43,$46)|0); - $47 = $value; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = $0; - $54 = $53; - HEAP32[$54>>2] = $49; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - break; - } else { - $57 = $0; - $58 = $57; - HEAP32[$58>>2] = 0; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = 0; - break; - } - } - } while(0); - $61 = $0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - tempRet0 = $66; - STACKTOP = sp;return ($63|0); -} -function _sqlite3_value_int64($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3Malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3VdbeIntValue($1)|0); - $3 = tempRet0; - tempRet0 = $3; - STACKTOP = sp;return ($2|0); + $2 = sp; + $p = sp + 8|0; + $3 = $2; + $4 = $3; + HEAP32[$4>>2] = $0; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)==(0); + $14 = ($12|0)==(0); + $15 = $13 & $14; + $16 = $2; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = ($21>>>0)>(0); + $23 = ($18>>>0)>=(2147483392); + $24 = ($21|0)==(0); + $25 = $24 & $23; + $26 = $22 | $25; + $or$cond = $15 | $26; + if ($or$cond) { + HEAP32[$p>>2] = 0; + $43 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($43|0); + } + $27 = HEAP32[8>>2]|0; + $28 = ($27|0)!=(0); + if ($28) { + $29 = $2; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + (_mallocWithAlarm($31,$p)|0); + $43 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($43|0); + } else { + $35 = HEAP32[(44)>>2]|0; + $36 = $2; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (FUNCTION_TABLE_ii[$35 & 31]($38)|0); + HEAP32[$p>>2] = $42; + $43 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($43|0); + } + return (0)|0; } -function _sqlite3ValueText($pVal,$enc) { - $pVal = $pVal|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3StatusAdd($op,$N) { + $op = $op|0; + $N = $N|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - $2 = sp + 8|0; - HEAP32[$1>>2] = $pVal; - HEAP8[$2>>0] = $enc; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - do { - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & 514; - $10 = ($9|0)==(514); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 10|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = HEAP8[$2>>0]|0; - $16 = $15&255; - $17 = ($14|0)==($16|0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 16|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$0>>2] = $20; - break; - } - } - $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 8|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = $24 & 1; - $26 = ($25|0)!=(0); - if ($26) { - HEAP32[$0>>2] = 0; - break; - } else { - $27 = HEAP32[$1>>2]|0; - $28 = HEAP8[$2>>0]|0; - $29 = (_valueToText($27,$28)|0); - HEAP32[$0>>2] = $29; - break; - } - } else { - HEAP32[$0>>2] = 0; - } - } while(0); - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); -} -function _sqlite3_value_type($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pVal; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 31; - $6 = (1144 + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - STACKTOP = sp;return ($8|0); -} -function _sqlite3_result_blob($pCtx,$z,$n,$xDel) { - $pCtx = $pCtx|0; - $z = $z|0; - $n = $n|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $xDel; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - _setResultStrOrError($4,$5,$6,0,$7); - STACKTOP = sp;return; -} -function _setResultStrOrError($pCtx,$z,$n,$enc,$xDel) { - $pCtx = $pCtx|0; - $z = $z|0; - $n = $n|0; - $enc = $enc|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp + 16|0; - $4 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP8[$3>>0] = $enc; - HEAP32[$4>>2] = $xDel; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP8[$3>>0]|0; - $10 = HEAP32[$4>>2]|0; - $11 = (_sqlite3VdbeMemSetStr($6,$7,$8,$9,$10)|0); - $12 = ($11|0)==(18); - if (!($12)) { + HEAP32[$0>>2] = $op; + HEAP32[$1>>2] = $N; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = (388 + ($3<<2)|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($2))|0; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = (388 + ($7<<2)|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((428) + ($10<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)>($12|0); + if (!($13)) { STACKTOP = sp;return; } - $13 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($13); + $14 = HEAP32[$0>>2]|0; + $15 = (388 + ($14<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$0>>2]|0; + $18 = ((428) + ($17<<2)|0); + HEAP32[$18>>2] = $16; STACKTOP = sp;return; } -function _sqlite3_result_blob64($pCtx,$z,$0,$1,$xDel) { - $pCtx = $pCtx|0; - $z = $z|0; +function _sqlite3Realloc($pOld,$0,$1) { + $pOld = $pOld|0; $0 = $0|0; $1 = $1|0; - $xDel = $xDel|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nDiff = 0, $nNew = 0, $nOld = 0, $or$cond = 0, $pNew = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 16|0; - $3 = sp + 12|0; + $3 = sp + 24|0; $4 = sp; - $5 = sp + 8|0; - HEAP32[$2>>2] = $pCtx; - HEAP32[$3>>2] = $z; - $6 = $4; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$5>>2] = $xDel; - $10 = $4; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = ($15>>>0)>(0); - $17 = ($12>>>0)>(2147483647); - $18 = ($15|0)==(0); - $19 = $18 & $17; - $20 = $16 | $19; + $nOld = sp + 28|0; + $nNew = sp + 12|0; + $nDiff = sp + 8|0; + $pNew = sp + 20|0; + HEAP32[$3>>2] = $pOld; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)==(0|0); + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + if ($10) { + $17 = (_sqlite3Malloc($13,$16)|0); + HEAP32[$2>>2] = $17; + $108 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($108|0); + } + $18 = ($13|0)==(0); + $19 = ($16|0)==(0); + $20 = $18 & $19; if ($20) { $21 = HEAP32[$3>>2]|0; - $22 = HEAP32[$5>>2]|0; - $23 = HEAP32[$2>>2]|0; - (_invokeValueDestructor($21,$22,$23)|0); - STACKTOP = sp;return; - } else { - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = $4; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$5>>2]|0; - _setResultStrOrError($24,$25,$28,0,$32); - STACKTOP = sp;return; - } -} -function _invokeValueDestructor($p,$xDel,$pCtx) { - $p = $p|0; - $xDel = $xDel|0; - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $xDel; - HEAP32[$2>>2] = $pCtx; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)==((-1)|0); - $or$cond = $4 | $6; - if (!($or$cond)) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$7 & 31]($8); - } - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return 18; + _sqlite3_free($21); + HEAP32[$2>>2] = 0; + $108 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($108|0); } - $11 = HEAP32[$2>>2]|0; - _sqlite3_result_error_toobig($11); - STACKTOP = sp;return 18; -} -function _sqlite3_result_double($pCtx,$rVal) { - $pCtx = $pCtx|0; - $rVal = +$rVal; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAPF64[$1>>3] = $rVal; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = +HEAPF64[$1>>3]; - _sqlite3VdbeMemSetDouble($3,$4); - STACKTOP = sp;return; -} -function _sqlite3VdbeMemSetDouble($pMem,$val) { - $pMem = $pMem|0; - $val = +$val; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp; - HEAP32[$0>>2] = $pMem; - HEAPF64[$1>>3] = $val; - $2 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemSetNull($2); - $3 = +HEAPF64[$1>>3]; - $4 = (_sqlite3IsNaN($3)|0); - $5 = ($4|0)!=(0); - if ($5) { - STACKTOP = sp;return; + $22 = $4; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = ($27>>>0)>(0); + $29 = ($24>>>0)>=(2147483392); + $30 = ($27|0)==(0); + $31 = $30 & $29; + $32 = $28 | $31; + if ($32) { + HEAP32[$2>>2] = 0; + $108 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($108|0); } - $6 = +HEAPF64[$1>>3]; - $7 = HEAP32[$0>>2]|0; - HEAPF64[$7>>3] = $6; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 8|0); - HEAP16[$9>>1] = 8; - STACKTOP = sp;return; + $33 = HEAP32[$3>>2]|0; + $34 = (_sqlite3MallocSize($33)|0); + HEAP32[$nOld>>2] = $34; + $35 = HEAP32[(60)>>2]|0; + $36 = $4; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (FUNCTION_TABLE_ii[$35 & 31]($38)|0); + HEAP32[$nNew>>2] = $42; + $43 = HEAP32[$nOld>>2]|0; + $44 = HEAP32[$nNew>>2]|0; + $45 = ($43|0)==($44|0); + do { + if ($45) { + $46 = HEAP32[$3>>2]|0; + HEAP32[$pNew>>2] = $46; + } else { + $47 = HEAP32[8>>2]|0; + $48 = ($47|0)!=(0); + if (!($48)) { + $103 = HEAP32[(52)>>2]|0; + $104 = HEAP32[$3>>2]|0; + $105 = HEAP32[$nNew>>2]|0; + $106 = (FUNCTION_TABLE_iii[$103 & 63]($104,$105)|0); + HEAP32[$pNew>>2] = $106; + break; + } + $49 = $4; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + _sqlite3StatusSet(5,$51); + $55 = HEAP32[$nNew>>2]|0; + $56 = HEAP32[$nOld>>2]|0; + $57 = (($55) - ($56))|0; + HEAP32[$nDiff>>2] = $57; + $58 = (_sqlite3StatusValue(0)|0); + $59 = ($58|0)<(0); + $60 = $59 << 31 >> 31; + $61 = (288); + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$nDiff>>2]|0; + $68 = ($67|0)<(0); + $69 = $68 << 31 >> 31; + $70 = (_i64Subtract(($63|0),($66|0),($67|0),($69|0))|0); + $71 = tempRet0; + $72 = ($60|0)>($71|0); + $73 = ($58>>>0)>=($70>>>0); + $74 = ($60|0)==($71|0); + $75 = $74 & $73; + $76 = $72 | $75; + if ($76) { + $77 = HEAP32[$nDiff>>2]|0; + _sqlite3MallocAlarm($77); + } + $78 = HEAP32[(52)>>2]|0; + $79 = HEAP32[$3>>2]|0; + $80 = HEAP32[$nNew>>2]|0; + $81 = (FUNCTION_TABLE_iii[$78 & 63]($79,$80)|0); + HEAP32[$pNew>>2] = $81; + $82 = HEAP32[$pNew>>2]|0; + $83 = ($82|0)==(0|0); + $84 = HEAP32[(296)>>2]|0; + $85 = ($84|0)!=(0|0); + $or$cond = $83 & $85; + if ($or$cond) { + $86 = $4; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + _sqlite3MallocAlarm($88); + $92 = HEAP32[(52)>>2]|0; + $93 = HEAP32[$3>>2]|0; + $94 = HEAP32[$nNew>>2]|0; + $95 = (FUNCTION_TABLE_iii[$92 & 63]($93,$94)|0); + HEAP32[$pNew>>2] = $95; + } + $96 = HEAP32[$pNew>>2]|0; + $97 = ($96|0)!=(0|0); + if ($97) { + $98 = HEAP32[$pNew>>2]|0; + $99 = (_sqlite3MallocSize($98)|0); + HEAP32[$nNew>>2] = $99; + $100 = HEAP32[$nNew>>2]|0; + $101 = HEAP32[$nOld>>2]|0; + $102 = (($100) - ($101))|0; + _sqlite3StatusAdd(0,$102); + } + } + } while(0); + $107 = HEAP32[$pNew>>2]|0; + HEAP32[$2>>2] = $107; + $108 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($108|0); } -function _sqlite3_result_error($pCtx,$z,$n) { - $pCtx = $pCtx|0; - $z = $z|0; +function _sqlite3StrAccumInit($p,$zBase,$n,$mx) { + $p = $p|0; + $zBase = $zBase|0; $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $mx = $mx|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $z; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $zBase; HEAP32[$2>>2] = $n; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 20|0); - HEAP32[$4>>2] = 1; + HEAP32[$3>>2] = $mx; + $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 25|0); - HEAP8[$6>>0] = 1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $4; $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_sqlite3VdbeMemSetStr($8,$9,$10,1,(-1))|0); + $8 = ((($7)) + 8|0); + HEAP32[$8>>2] = $4; + $9 = HEAP32[$0>>2]|0; + HEAP32[$9>>2] = 0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 16|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 20|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 24|0); + HEAP8[$19>>0] = 1; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 25|0); + HEAP8[$21>>0] = 0; STACKTOP = sp;return; } -function _sqlite3VdbeMemSetStr($pMem,$z,$n,$enc,$xDel) { - $pMem = $pMem|0; - $z = $z|0; - $n = $n|0; - $enc = $enc|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $flags = 0; - var $iLimit = 0, $nAlloc = 0, $nByte = 0, label = 0, sp = 0; +function _sqlite3VXPrintf($pAccum,$bFlags,$fmt,$ap) { + $pAccum = $pAccum|0; + $bFlags = $bFlags|0; + $fmt = $fmt|0; + $ap = $ap|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0; + var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0; + var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0; + var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0; + var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; + var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; + var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0; + var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0; + var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0; + var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0; + var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0; + var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0; + var $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0; + var $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0; + var $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0; + var $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0; + var $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0.0; + var $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0.0, $497 = 0, $498 = 0, $499 = 0.0, $5 = 0, $50 = 0, $500 = 0, $501 = 0.0, $502 = 0.0, $503 = 0, $504 = 0, $505 = 0; + var $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0.0, $52 = 0, $520 = 0.0, $521 = 0, $522 = 0, $523 = 0; + var $524 = 0.0, $525 = 0.0, $526 = 0.0, $527 = 0.0, $528 = 0, $529 = 0, $53 = 0, $530 = 0.0, $531 = 0, $532 = 0.0, $533 = 0.0, $534 = 0.0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0.0, $54 = 0, $540 = 0.0, $541 = 0; + var $542 = 0, $543 = 0.0, $544 = 0.0, $545 = 0.0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0.0, $551 = 0.0, $552 = 0, $553 = 0, $554 = 0.0, $555 = 0.0, $556 = 0.0, $557 = 0, $558 = 0, $559 = 0, $56 = 0; + var $560 = 0, $561 = 0.0, $562 = 0.0, $563 = 0, $564 = 0, $565 = 0.0, $566 = 0.0, $567 = 0.0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0.0, $573 = 0.0, $574 = 0, $575 = 0, $576 = 0.0, $577 = 0.0, $578 = 0.0; + var $579 = 0, $58 = 0, $580 = 0.0, $581 = 0.0, $582 = 0, $583 = 0, $584 = 0.0, $585 = 0, $586 = 0.0, $587 = 0.0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0; + var $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0.0, $604 = 0.0, $605 = 0.0, $606 = 0.0, $607 = 0, $608 = 0.0, $609 = 0.0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0; + var $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0; + var $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0; + var $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0; + var $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0; + var $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0; + var $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0; + var $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0; + var $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0; + var $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0; + var $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0; + var $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0; + var $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0; + var $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0; + var $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0; + var $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0; + var $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0; + var $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0; + var $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0; + var $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0; + var $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0; + var $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0; + var $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $arglist_current = 0, $arglist_current14 = 0, $arglist_current17 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current29 = 0, $arglist_current32 = 0, $arglist_current35 = 0, $arglist_current38 = 0, $arglist_current41 = 0, $arglist_current44 = 0, $arglist_current47 = 0; + var $arglist_current50 = 0, $arglist_current53 = 0, $arglist_next = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next30 = 0, $arglist_next33 = 0, $arglist_next36 = 0, $arglist_next39 = 0, $arglist_next42 = 0, $arglist_next45 = 0, $arglist_next48 = 0, $arglist_next51 = 0, $arglist_next54 = 0, $bArgList = 0, $base = 0, $buf = 0; + var $bufpt = 0, $c = 0, $ch = 0, $cset = 0, $done = 0, $e2 = 0, $escarg = 0, $exp = 0, $expanded = 0, $expanded100 = 0, $expanded101 = 0, $expanded103 = 0, $expanded104 = 0, $expanded106 = 0, $expanded107 = 0, $expanded108 = 0, $expanded110 = 0, $expanded111 = 0, $expanded113 = 0, $expanded114 = 0; + var $expanded115 = 0, $expanded117 = 0, $expanded118 = 0, $expanded120 = 0, $expanded121 = 0, $expanded122 = 0, $expanded124 = 0, $expanded125 = 0, $expanded127 = 0, $expanded128 = 0, $expanded129 = 0, $expanded131 = 0, $expanded132 = 0, $expanded134 = 0, $expanded135 = 0, $expanded136 = 0, $expanded138 = 0, $expanded139 = 0, $expanded141 = 0, $expanded142 = 0; + var $expanded143 = 0, $expanded145 = 0, $expanded146 = 0, $expanded148 = 0, $expanded149 = 0, $expanded150 = 0, $expanded152 = 0, $expanded153 = 0, $expanded155 = 0, $expanded156 = 0, $expanded157 = 0, $expanded55 = 0, $expanded57 = 0, $expanded58 = 0, $expanded59 = 0, $expanded61 = 0, $expanded62 = 0, $expanded64 = 0, $expanded65 = 0, $expanded66 = 0; + var $expanded68 = 0, $expanded69 = 0, $expanded71 = 0, $expanded72 = 0, $expanded73 = 0, $expanded75 = 0, $expanded76 = 0, $expanded78 = 0, $expanded79 = 0, $expanded80 = 0, $expanded82 = 0, $expanded83 = 0, $expanded85 = 0, $expanded86 = 0, $expanded87 = 0, $expanded89 = 0, $expanded90 = 0, $expanded92 = 0, $expanded93 = 0, $expanded94 = 0; + var $expanded96 = 0, $expanded97 = 0, $expanded99 = 0, $flag_alternateform = 0, $flag_altform2 = 0, $flag_blanksign = 0, $flag_dp = 0, $flag_leftjustify = 0, $flag_long = 0, $flag_longlong = 0, $flag_plussign = 0, $flag_rtz = 0, $flag_zeropad = 0, $i = 0, $i2 = 0, $idx = 0, $infop = 0, $isnull = 0, $j = 0, $k = 0; + var $k3 = 0, $length = 0, $longvalue = 0, $n = 0, $nOut = 0, $nPad = 0, $needQuote = 0, $nsd = 0, $or$cond = 0, $or$cond12 = 0, $or$cond4 = 0, $or$cond6 = 0, $or$cond8 = 0, $pArgList = 0, $pItem = 0, $pSrc = 0, $pToken = 0, $pre = 0, $precision = 0, $prefix = 0; + var $q = 0, $realvalue = 0, $rounder = 0, $scale = 0, $useIntern = 0, $v = 0, $width = 0, $x = 0, $x1 = 0, $xtype = 0, $zExtra = 0, $zOut = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 34|0; - $5 = sp + 12|0; - $nByte = sp + 8|0; - $iLimit = sp + 4|0; - $flags = sp + 32|0; - $nAlloc = sp; - HEAP32[$1>>2] = $pMem; - HEAP32[$2>>2] = $z; - HEAP32[$3>>2] = $n; - HEAP8[$4>>0] = $enc; - HEAP32[$5>>2] = $xDel; - $6 = HEAP32[$3>>2]|0; - HEAP32[$nByte>>2] = $6; - HEAP16[$flags>>1] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$1>>2]|0; - if (!($8)) { - _sqlite3VdbeMemSetNull($9); - HEAP32[$0>>2] = 0; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } - $10 = (($9) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 88|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$iLimit>>2] = $17; + STACKTOP = STACKTOP + 272|0; + $0 = sp + 172|0; + $1 = sp + 148|0; + $2 = sp + 132|0; + $3 = sp + 96|0; + $c = sp + 92|0; + $bufpt = sp + 136|0; + $precision = sp + 140|0; + $length = sp + 128|0; + $idx = sp + 80|0; + $width = sp + 76|0; + $flag_leftjustify = sp + 177|0; + $flag_plussign = sp + 260|0; + $flag_blanksign = sp + 180|0; + $flag_alternateform = sp + 258|0; + $flag_altform2 = sp + 179|0; + $flag_zeropad = sp + 254|0; + $flag_long = sp + 253|0; + $flag_longlong = sp + 264|0; + $done = sp + 263|0; + $xtype = sp + 261|0; + $bArgList = sp + 259|0; + $useIntern = sp + 257|0; + $prefix = sp + 178|0; + $longvalue = sp + 24|0; + $realvalue = sp; + $infop = sp + 100|0; + $zOut = sp + 104|0; + $nOut = sp + 108|0; + $zExtra = sp + 112|0; + $exp = sp + 116|0; + $e2 = sp + 44|0; + $nsd = sp + 40|0; + $rounder = sp + 8|0; + $flag_dp = sp + 181|0; + $flag_rtz = sp + 256|0; + $pArgList = sp + 160|0; + $buf = sp + 182|0; + $v = sp + 32|0; + $x = sp + 152|0; + $cset = sp + 164|0; + $base = sp + 252|0; + $pre = sp + 156|0; + $x1 = sp + 262|0; + $scale = sp + 16|0; + $i = sp + 88|0; + $nPad = sp + 84|0; + $i2 = sp + 120|0; + $j = sp + 168|0; + $k = sp + 144|0; + $n = sp + 72|0; + $isnull = sp + 68|0; + $needQuote = sp + 64|0; + $ch = sp + 176|0; + $q = sp + 255|0; + $escarg = sp + 60|0; + $pToken = sp + 56|0; + $pSrc = sp + 124|0; + $k3 = sp + 52|0; + $pItem = sp + 48|0; + HEAP32[$0>>2] = $pAccum; + HEAP32[$1>>2] = $bFlags; + HEAP32[$2>>2] = $fmt; + HEAP32[$3>>2] = $ap; + HEAP8[$xtype>>0] = 0; + HEAP32[$zExtra>>2] = 0; + HEAP32[$pArgList>>2] = 0; + HEAP32[$bufpt>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(0); + if ($5) { + $6 = HEAP32[$1>>2]|0; + $7 = $6 & 2; + $8 = $7&255; + HEAP8[$bArgList>>0] = $8; + $9 = $8&255; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $arglist_current = HEAP32[$11>>2]|0; + $12 = $arglist_current; + $13 = ((0) + 4|0); + $expanded55 = $13; + $expanded = (($expanded55) - 1)|0; + $14 = (($12) + ($expanded))|0; + $15 = ((0) + 4|0); + $expanded59 = $15; + $expanded58 = (($expanded59) - 1)|0; + $expanded57 = $expanded58 ^ -1; + $16 = $14 & $expanded57; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $arglist_next = ((($17)) + 4|0); + HEAP32[$11>>2] = $arglist_next; + HEAP32[$pArgList>>2] = $18; + } + $19 = HEAP32[$1>>2]|0; + $20 = $19 & 1; + $21 = $20&255; + HEAP8[$useIntern>>0] = $21; } else { - HEAP32[$iLimit>>2] = 1000000000; + HEAP8[$useIntern>>0] = 0; + HEAP8[$bArgList>>0] = 0; } - $18 = HEAP8[$4>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(0); - $21 = $20 ? 16 : 2; - $22 = $21&65535; - HEAP16[$flags>>1] = $22; - $23 = HEAP32[$nByte>>2]|0; - $24 = ($23|0)<(0); - if ($24) { - $25 = HEAP8[$4>>0]|0; - $26 = $25&255; - $27 = ($26|0)==(1); - L11: do { - if ($27) { - $28 = HEAP32[$2>>2]|0; - $29 = (_sqlite3Strlen30($28)|0); - HEAP32[$nByte>>2] = $29; - $30 = HEAP32[$nByte>>2]|0; - $31 = HEAP32[$iLimit>>2]|0; - $32 = ($30|0)>($31|0); - if ($32) { - $33 = HEAP32[$iLimit>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$nByte>>2] = $34; + L7: while(1) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23 << 24 >> 24; + HEAP32[$c>>2] = $24; + $25 = ($24|0)!=(0); + if (!($25)) { + label = 272; + break; + } + $26 = HEAP32[$c>>2]|0; + $27 = ($26|0)!=(37); + if ($27) { + $28 = HEAP32[$2>>2]|0; + HEAP32[$bufpt>>2] = $28; + while(1) { + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 1|0); + HEAP32[$2>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)!=(0); + if (!($34)) { + break; + } + $35 = HEAP32[$2>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + $38 = ($37|0)!=(37); + if (!($38)) { + break; + } + } + $39 = HEAP32[$0>>2]|0; + $40 = HEAP32[$bufpt>>2]|0; + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$bufpt>>2]|0; + $43 = $41; + $44 = $42; + $45 = (($43) - ($44))|0; + _sqlite3StrAccumAppend($39,$40,$45); + $46 = HEAP32[$2>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = $47 << 24 >> 24; + $49 = ($48|0)==(0); + if ($49) { + label = 272; + break; + } + } + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 1|0); + HEAP32[$2>>2] = $51; + $52 = HEAP8[$51>>0]|0; + $53 = $52 << 24 >> 24; + HEAP32[$c>>2] = $53; + $54 = ($53|0)==(0); + if ($54) { + label = 13; + break; + } + HEAP8[$flag_zeropad>>0] = 0; + HEAP8[$flag_altform2>>0] = 0; + HEAP8[$flag_alternateform>>0] = 0; + HEAP8[$flag_blanksign>>0] = 0; + HEAP8[$flag_plussign>>0] = 0; + HEAP8[$flag_leftjustify>>0] = 0; + HEAP8[$done>>0] = 0; + while(1) { + $56 = HEAP32[$c>>2]|0; + switch ($56|0) { + case 45: { + HEAP8[$flag_leftjustify>>0] = 1; + break; + } + case 43: { + HEAP8[$flag_plussign>>0] = 1; + break; + } + case 32: { + HEAP8[$flag_blanksign>>0] = 1; + break; + } + case 35: { + HEAP8[$flag_alternateform>>0] = 1; + break; + } + case 33: { + HEAP8[$flag_altform2>>0] = 1; + break; + } + case 48: { + HEAP8[$flag_zeropad>>0] = 1; + break; + } + default: { + HEAP8[$done>>0] = 1; + } + } + $57 = HEAP8[$done>>0]|0; + $58 = ($57<<24>>24)!=(0); + if ($58) { + break; + } + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 1|0); + HEAP32[$2>>2] = $60; + $61 = HEAP8[$60>>0]|0; + $62 = $61 << 24 >> 24; + HEAP32[$c>>2] = $62; + $63 = ($62|0)!=(0); + if (!($63)) { + break; + } + } + HEAP32[$width>>2] = 0; + $64 = HEAP32[$c>>2]|0; + $65 = ($64|0)==(42); + L31: do { + if ($65) { + $66 = HEAP8[$bArgList>>0]|0; + $67 = ($66<<24>>24)!=(0); + if ($67) { + $68 = HEAP32[$pArgList>>2]|0; + $69 = (_getIntArg($68)|0); + $70 = tempRet0; + HEAP32[$width>>2] = $69; + } else { + $71 = HEAP32[$3>>2]|0; + $arglist_current14 = HEAP32[$71>>2]|0; + $72 = $arglist_current14; + $73 = ((0) + 4|0); + $expanded62 = $73; + $expanded61 = (($expanded62) - 1)|0; + $74 = (($72) + ($expanded61))|0; + $75 = ((0) + 4|0); + $expanded66 = $75; + $expanded65 = (($expanded66) - 1)|0; + $expanded64 = $expanded65 ^ -1; + $76 = $74 & $expanded64; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $arglist_next15 = ((($77)) + 4|0); + HEAP32[$71>>2] = $arglist_next15; + HEAP32[$width>>2] = $78; + } + $79 = HEAP32[$width>>2]|0; + $80 = ($79|0)<(0); + if ($80) { + HEAP8[$flag_leftjustify>>0] = 1; + $81 = HEAP32[$width>>2]|0; + $82 = (0 - ($81))|0; + HEAP32[$width>>2] = $82; } + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 1|0); + HEAP32[$2>>2] = $84; + $85 = HEAP8[$84>>0]|0; + $86 = $85 << 24 >> 24; + HEAP32[$c>>2] = $86; } else { - HEAP32[$nByte>>2] = 0; while(1) { - $35 = HEAP32[$nByte>>2]|0; - $36 = HEAP32[$iLimit>>2]|0; - $37 = ($35|0)<=($36|0); - if (!($37)) { - break L11; - } - $38 = HEAP32[$nByte>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = (($39) + ($38)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = HEAP32[$nByte>>2]|0; - $44 = (($43) + 1)|0; - $45 = HEAP32[$2>>2]|0; - $46 = (($45) + ($44)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47 << 24 >> 24; - $49 = $42 | $48; - $50 = ($49|0)!=(0); - if (!($50)) { - break L11; + $87 = HEAP32[$c>>2]|0; + $88 = ($87|0)>=(48); + $89 = HEAP32[$c>>2]|0; + $90 = ($89|0)<=(57); + $91 = $88 ? $90 : 0; + if (!($91)) { + break L31; } - $51 = HEAP32[$nByte>>2]|0; - $52 = (($51) + 2)|0; - HEAP32[$nByte>>2] = $52; + $92 = HEAP32[$width>>2]|0; + $93 = ($92*10)|0; + $94 = HEAP32[$c>>2]|0; + $95 = (($93) + ($94))|0; + $96 = (($95) - 48)|0; + HEAP32[$width>>2] = $96; + $97 = HEAP32[$2>>2]|0; + $98 = ((($97)) + 1|0); + HEAP32[$2>>2] = $98; + $99 = HEAP8[$98>>0]|0; + $100 = $99 << 24 >> 24; + HEAP32[$c>>2] = $100; } } } while(0); - $53 = HEAP16[$flags>>1]|0; - $54 = $53&65535; - $55 = $54 | 512; - $56 = $55&65535; - HEAP16[$flags>>1] = $56; - } - $57 = HEAP32[$5>>2]|0; - $58 = ($57|0)==((-1)|0); - do { - if ($58) { - $59 = HEAP32[$nByte>>2]|0; - HEAP32[$nAlloc>>2] = $59; - $60 = HEAP16[$flags>>1]|0; - $61 = $60&65535; - $62 = $61 & 512; - $63 = ($62|0)!=(0); - if ($63) { - $64 = HEAP8[$4>>0]|0; - $65 = $64&255; - $66 = ($65|0)==(1); - $67 = $66 ? 1 : 2; - $68 = HEAP32[$nAlloc>>2]|0; - $69 = (($68) + ($67))|0; - HEAP32[$nAlloc>>2] = $69; + $101 = HEAP32[$c>>2]|0; + $102 = ($101|0)==(46); + L44: do { + if ($102) { + HEAP32[$precision>>2] = 0; + $103 = HEAP32[$2>>2]|0; + $104 = ((($103)) + 1|0); + HEAP32[$2>>2] = $104; + $105 = HEAP8[$104>>0]|0; + $106 = $105 << 24 >> 24; + HEAP32[$c>>2] = $106; + $107 = HEAP32[$c>>2]|0; + $108 = ($107|0)==(42); + if (!($108)) { + while(1) { + $130 = HEAP32[$c>>2]|0; + $131 = ($130|0)>=(48); + $132 = HEAP32[$c>>2]|0; + $133 = ($132|0)<=(57); + $134 = $131 ? $133 : 0; + if (!($134)) { + break L44; + } + $135 = HEAP32[$precision>>2]|0; + $136 = ($135*10)|0; + $137 = HEAP32[$c>>2]|0; + $138 = (($136) + ($137))|0; + $139 = (($138) - 48)|0; + HEAP32[$precision>>2] = $139; + $140 = HEAP32[$2>>2]|0; + $141 = ((($140)) + 1|0); + HEAP32[$2>>2] = $141; + $142 = HEAP8[$141>>0]|0; + $143 = $142 << 24 >> 24; + HEAP32[$c>>2] = $143; + } + } + $109 = HEAP8[$bArgList>>0]|0; + $110 = ($109<<24>>24)!=(0); + if ($110) { + $111 = HEAP32[$pArgList>>2]|0; + $112 = (_getIntArg($111)|0); + $113 = tempRet0; + HEAP32[$precision>>2] = $112; + } else { + $114 = HEAP32[$3>>2]|0; + $arglist_current17 = HEAP32[$114>>2]|0; + $115 = $arglist_current17; + $116 = ((0) + 4|0); + $expanded69 = $116; + $expanded68 = (($expanded69) - 1)|0; + $117 = (($115) + ($expanded68))|0; + $118 = ((0) + 4|0); + $expanded73 = $118; + $expanded72 = (($expanded73) - 1)|0; + $expanded71 = $expanded72 ^ -1; + $119 = $117 & $expanded71; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $arglist_next18 = ((($120)) + 4|0); + HEAP32[$114>>2] = $arglist_next18; + HEAP32[$precision>>2] = $121; + } + $122 = HEAP32[$precision>>2]|0; + $123 = ($122|0)<(0); + if ($123) { + $124 = HEAP32[$precision>>2]|0; + $125 = (0 - ($124))|0; + HEAP32[$precision>>2] = $125; + } + $126 = HEAP32[$2>>2]|0; + $127 = ((($126)) + 1|0); + HEAP32[$2>>2] = $127; + $128 = HEAP8[$127>>0]|0; + $129 = $128 << 24 >> 24; + HEAP32[$c>>2] = $129; + } else { + HEAP32[$precision>>2] = -1; } - $70 = HEAP32[$nByte>>2]|0; - $71 = HEAP32[$iLimit>>2]|0; - $72 = ($70|0)>($71|0); - if ($72) { - HEAP32[$0>>2] = 18; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); + } while(0); + $144 = HEAP32[$c>>2]|0; + $145 = ($144|0)==(108); + do { + if ($145) { + HEAP8[$flag_long>>0] = 1; + $146 = HEAP32[$2>>2]|0; + $147 = ((($146)) + 1|0); + HEAP32[$2>>2] = $147; + $148 = HEAP8[$147>>0]|0; + $149 = $148 << 24 >> 24; + HEAP32[$c>>2] = $149; + $150 = HEAP32[$c>>2]|0; + $151 = ($150|0)==(108); + if ($151) { + HEAP8[$flag_longlong>>0] = 1; + $152 = HEAP32[$2>>2]|0; + $153 = ((($152)) + 1|0); + HEAP32[$2>>2] = $153; + $154 = HEAP8[$153>>0]|0; + $155 = $154 << 24 >> 24; + HEAP32[$c>>2] = $155; + break; + } else { + HEAP8[$flag_longlong>>0] = 0; + break; + } + } else { + HEAP8[$flag_longlong>>0] = 0; + HEAP8[$flag_long>>0] = 0; } - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$nAlloc>>2]|0; - $75 = ($74|0)>(32); - $76 = HEAP32[$nAlloc>>2]|0; - $77 = $75 ? $76 : 32; - $78 = (_sqlite3VdbeMemClearAndResize($73,$77)|0); - $79 = ($78|0)!=(0); - if (!($79)) { - $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$nAlloc>>2]|0; - _memcpy(($82|0),($83|0),($84|0))|0; + } while(0); + HEAP32[$infop>>2] = 36697; + HEAP8[$xtype>>0] = 0; + HEAP32[$idx>>2] = 0; + while(1) { + $156 = HEAP32[$idx>>2]|0; + $157 = ($156|0)<(23); + if (!($157)) { break; } - HEAP32[$0>>2] = 7; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } else { - $85 = HEAP32[$5>>2]|0; - $86 = ($85|0)==(16|0); - $87 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemRelease($87); - $88 = HEAP32[$2>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = (($89) + 16|0); - HEAP32[$90>>2] = $88; - if ($86) { - $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 20|0); - HEAP32[$92>>2] = $88; - $93 = HEAP32[$1>>2]|0; - $94 = (($93) + 32|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = (($96) + 20|0); - $98 = HEAP32[$97>>2]|0; - $99 = (_sqlite3DbMallocSize($95,$98)|0); - $100 = HEAP32[$1>>2]|0; - $101 = (($100) + 24|0); - HEAP32[$101>>2] = $99; - break; - } else { - $102 = HEAP32[$5>>2]|0; - $103 = HEAP32[$1>>2]|0; - $104 = (($103) + 36|0); - HEAP32[$104>>2] = $102; - $105 = HEAP32[$5>>2]|0; - $106 = ($105|0)==(0|0); - $107 = $106 ? 2048 : 1024; - $108 = HEAP16[$flags>>1]|0; - $109 = $108&65535; - $110 = $109 | $107; - $111 = $110&65535; - HEAP16[$flags>>1] = $111; + $158 = HEAP32[$c>>2]|0; + $159 = HEAP32[$idx>>2]|0; + $160 = (36697 + (($159*6)|0)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161 << 24 >> 24; + $163 = ($158|0)==($162|0); + $164 = HEAP32[$idx>>2]|0; + if ($163) { + label = 53; break; } + $178 = (($164) + 1)|0; + HEAP32[$idx>>2] = $178; } - } while(0); - $112 = HEAP32[$nByte>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = (($113) + 12|0); - HEAP32[$114>>2] = $112; - $115 = HEAP16[$flags>>1]|0; - $116 = HEAP32[$1>>2]|0; - $117 = (($116) + 8|0); - HEAP16[$117>>1] = $115; - $118 = HEAP8[$4>>0]|0; - $119 = $118&255; - $120 = ($119|0)==(0); - if ($120) { - $124 = 1; - } else { - $121 = HEAP8[$4>>0]|0; - $122 = $121&255; - $124 = $122; - } - $123 = $124&255; - $125 = HEAP32[$1>>2]|0; - $126 = (($125) + 10|0); - HEAP8[$126>>0] = $123; - $127 = HEAP32[$1>>2]|0; - $128 = (($127) + 10|0); - $129 = HEAP8[$128>>0]|0; - $130 = $129&255; - $131 = ($130|0)!=(1); - if ($131) { - $132 = HEAP32[$1>>2]|0; - $133 = (_sqlite3VdbeMemHandleBom($132)|0); - $134 = ($133|0)!=(0); - if ($134) { - HEAP32[$0>>2] = 7; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); + if ((label|0) == 53) { + label = 0; + $165 = (36697 + (($164*6)|0)|0); + HEAP32[$infop>>2] = $165; + $166 = HEAP8[$useIntern>>0]|0; + $167 = $166&255; + $168 = ($167|0)!=(0); + if (!($168)) { + $169 = HEAP32[$infop>>2]|0; + $170 = ((($169)) + 2|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171&255; + $173 = $172 & 2; + $174 = ($173|0)==(0); + if (!($174)) { + label = 272; + break; + } + } + $175 = HEAP32[$infop>>2]|0; + $176 = ((($175)) + 3|0); + $177 = HEAP8[$176>>0]|0; + HEAP8[$xtype>>0] = $177; } + $179 = HEAP8[$xtype>>0]|0; + $180 = $179&255; + L77: do { + switch ($180|0) { + case 14: { + HEAP8[$flag_longlong>>0] = 0; + HEAP8[$flag_long>>0] = 1; + label = 59; + break; + } + case 1: case 16: { + label = 59; + break; + } + case 4: case 3: case 2: { + $485 = HEAP8[$bArgList>>0]|0; + $486 = ($485<<24>>24)!=(0); + if ($486) { + $487 = HEAP32[$pArgList>>2]|0; + $488 = (+_getDoubleArg($487)); + HEAPF64[$realvalue>>3] = $488; + } else { + $489 = HEAP32[$3>>2]|0; + $arglist_current32 = HEAP32[$489>>2]|0; + $490 = $arglist_current32; + $491 = ((0) + 8|0); + $expanded104 = $491; + $expanded103 = (($expanded104) - 1)|0; + $492 = (($490) + ($expanded103))|0; + $493 = ((0) + 8|0); + $expanded108 = $493; + $expanded107 = (($expanded108) - 1)|0; + $expanded106 = $expanded107 ^ -1; + $494 = $492 & $expanded106; + $495 = $494; + $496 = +HEAPF64[$495>>3]; + $arglist_next33 = ((($495)) + 8|0); + HEAP32[$489>>2] = $arglist_next33; + HEAPF64[$realvalue>>3] = $496; + } + $497 = HEAP32[$precision>>2]|0; + $498 = ($497|0)<(0); + if ($498) { + HEAP32[$precision>>2] = 6; + } + $499 = +HEAPF64[$realvalue>>3]; + $500 = $499 < 0.0; + do { + if ($500) { + $501 = +HEAPF64[$realvalue>>3]; + $502 = -$501; + HEAPF64[$realvalue>>3] = $502; + HEAP8[$prefix>>0] = 45; + } else { + $503 = HEAP8[$flag_plussign>>0]|0; + $504 = ($503<<24>>24)!=(0); + if ($504) { + HEAP8[$prefix>>0] = 43; + break; + } + $505 = HEAP8[$flag_blanksign>>0]|0; + $506 = ($505<<24>>24)!=(0); + if ($506) { + HEAP8[$prefix>>0] = 32; + break; + } else { + HEAP8[$prefix>>0] = 0; + break; + } + } + } while(0); + $507 = HEAP8[$xtype>>0]|0; + $508 = $507&255; + $509 = ($508|0)==(4); + $510 = HEAP32[$precision>>2]|0; + $511 = ($510|0)>(0); + $or$cond = $509 & $511; + if ($or$cond) { + $512 = HEAP32[$precision>>2]|0; + $513 = (($512) + -1)|0; + HEAP32[$precision>>2] = $513; + } + $514 = HEAP32[$precision>>2]|0; + HEAP32[$idx>>2] = $514; + HEAPF64[$rounder>>3] = 0.5; + while(1) { + $515 = HEAP32[$idx>>2]|0; + $516 = ($515|0)>(0); + if (!($516)) { + break; + } + $517 = HEAP32[$idx>>2]|0; + $518 = (($517) + -1)|0; + HEAP32[$idx>>2] = $518; + $519 = +HEAPF64[$rounder>>3]; + $520 = $519 * 0.10000000000000001; + HEAPF64[$rounder>>3] = $520; + } + $521 = HEAP8[$xtype>>0]|0; + $522 = $521&255; + $523 = ($522|0)==(2); + if ($523) { + $524 = +HEAPF64[$rounder>>3]; + $525 = +HEAPF64[$realvalue>>3]; + $526 = $525 + $524; + HEAPF64[$realvalue>>3] = $526; + } + HEAP32[$exp>>2] = 0; + $527 = +HEAPF64[$realvalue>>3]; + $528 = (_sqlite3IsNaN($527)|0); + $529 = ($528|0)!=(0); + if ($529) { + HEAP32[$bufpt>>2] = 36884; + HEAP32[$length>>2] = 3; + break L77; + } + $530 = +HEAPF64[$realvalue>>3]; + $531 = $530 > 0.0; + if ($531) { + HEAPF64[$scale>>3] = 1.0; + while(1) { + $532 = +HEAPF64[$realvalue>>3]; + $533 = +HEAPF64[$scale>>3]; + $534 = 1.0E+100 * $533; + $535 = $532 >= $534; + $536 = HEAP32[$exp>>2]|0; + $537 = ($536|0)<=(350); + $538 = $535 ? $537 : 0; + if (!($538)) { + break; + } + $539 = +HEAPF64[$scale>>3]; + $540 = $539 * 1.0E+100; + HEAPF64[$scale>>3] = $540; + $541 = HEAP32[$exp>>2]|0; + $542 = (($541) + 100)|0; + HEAP32[$exp>>2] = $542; + } + while(1) { + $543 = +HEAPF64[$realvalue>>3]; + $544 = +HEAPF64[$scale>>3]; + $545 = 1.0E+64 * $544; + $546 = $543 >= $545; + $547 = HEAP32[$exp>>2]|0; + $548 = ($547|0)<=(350); + $549 = $546 ? $548 : 0; + if (!($549)) { + break; + } + $550 = +HEAPF64[$scale>>3]; + $551 = $550 * 1.0E+64; + HEAPF64[$scale>>3] = $551; + $552 = HEAP32[$exp>>2]|0; + $553 = (($552) + 64)|0; + HEAP32[$exp>>2] = $553; + } + while(1) { + $554 = +HEAPF64[$realvalue>>3]; + $555 = +HEAPF64[$scale>>3]; + $556 = 1.0E+8 * $555; + $557 = $554 >= $556; + $558 = HEAP32[$exp>>2]|0; + $559 = ($558|0)<=(350); + $560 = $557 ? $559 : 0; + if (!($560)) { + break; + } + $561 = +HEAPF64[$scale>>3]; + $562 = $561 * 1.0E+8; + HEAPF64[$scale>>3] = $562; + $563 = HEAP32[$exp>>2]|0; + $564 = (($563) + 8)|0; + HEAP32[$exp>>2] = $564; + } + while(1) { + $565 = +HEAPF64[$realvalue>>3]; + $566 = +HEAPF64[$scale>>3]; + $567 = 10.0 * $566; + $568 = $565 >= $567; + $569 = HEAP32[$exp>>2]|0; + $570 = ($569|0)<=(350); + $571 = $568 ? $570 : 0; + $572 = +HEAPF64[$scale>>3]; + if (!($571)) { + break; + } + $573 = $572 * 10.0; + HEAPF64[$scale>>3] = $573; + $574 = HEAP32[$exp>>2]|0; + $575 = (($574) + 1)|0; + HEAP32[$exp>>2] = $575; + } + $576 = +HEAPF64[$realvalue>>3]; + $577 = $576 / $572; + HEAPF64[$realvalue>>3] = $577; + while(1) { + $578 = +HEAPF64[$realvalue>>3]; + $579 = $578 < 1.0E-8; + if (!($579)) { + break; + } + $580 = +HEAPF64[$realvalue>>3]; + $581 = $580 * 1.0E+8; + HEAPF64[$realvalue>>3] = $581; + $582 = HEAP32[$exp>>2]|0; + $583 = (($582) - 8)|0; + HEAP32[$exp>>2] = $583; + } + while(1) { + $584 = +HEAPF64[$realvalue>>3]; + $585 = $584 < 1.0; + if (!($585)) { + break; + } + $586 = +HEAPF64[$realvalue>>3]; + $587 = $586 * 10.0; + HEAPF64[$realvalue>>3] = $587; + $588 = HEAP32[$exp>>2]|0; + $589 = (($588) + -1)|0; + HEAP32[$exp>>2] = $589; + } + $590 = HEAP32[$exp>>2]|0; + $591 = ($590|0)>(350); + if ($591) { + $592 = HEAP8[$prefix>>0]|0; + $593 = $592 << 24 >> 24; + $594 = ($593|0)==(45); + do { + if ($594) { + HEAP32[$bufpt>>2] = 36888; + } else { + $595 = HEAP8[$prefix>>0]|0; + $596 = $595 << 24 >> 24; + $597 = ($596|0)==(43); + if ($597) { + HEAP32[$bufpt>>2] = 36893; + break; + } else { + HEAP32[$bufpt>>2] = 36898; + break; + } + } + } while(0); + $598 = HEAP32[$bufpt>>2]|0; + $599 = (_sqlite3Strlen30($598)|0); + HEAP32[$length>>2] = $599; + break L77; + } + } + HEAP32[$bufpt>>2] = $buf; + $600 = HEAP8[$xtype>>0]|0; + $601 = $600&255; + $602 = ($601|0)!=(2); + if ($602) { + $603 = +HEAPF64[$rounder>>3]; + $604 = +HEAPF64[$realvalue>>3]; + $605 = $604 + $603; + HEAPF64[$realvalue>>3] = $605; + $606 = +HEAPF64[$realvalue>>3]; + $607 = $606 >= 10.0; + if ($607) { + $608 = +HEAPF64[$realvalue>>3]; + $609 = $608 * 0.10000000000000001; + HEAPF64[$realvalue>>3] = $609; + $610 = HEAP32[$exp>>2]|0; + $611 = (($610) + 1)|0; + HEAP32[$exp>>2] = $611; + } + } + $612 = HEAP8[$xtype>>0]|0; + $613 = $612&255; + $614 = ($613|0)==(4); + L145: do { + if ($614) { + $615 = HEAP8[$flag_alternateform>>0]|0; + $616 = ($615<<24>>24)!=(0); + $617 = $616 ^ 1; + $618 = $617&1; + $619 = $618&255; + HEAP8[$flag_rtz>>0] = $619; + $620 = HEAP32[$exp>>2]|0; + $621 = ($620|0)<(-4); + do { + if (!($621)) { + $622 = HEAP32[$exp>>2]|0; + $623 = HEAP32[$precision>>2]|0; + $624 = ($622|0)>($623|0); + if ($624) { + break; + } + $625 = HEAP32[$precision>>2]|0; + $626 = HEAP32[$exp>>2]|0; + $627 = (($625) - ($626))|0; + HEAP32[$precision>>2] = $627; + HEAP8[$xtype>>0] = 2; + break L145; + } + } while(0); + HEAP8[$xtype>>0] = 3; + } else { + $628 = HEAP8[$flag_altform2>>0]|0; + HEAP8[$flag_rtz>>0] = $628; + } + } while(0); + $629 = HEAP8[$xtype>>0]|0; + $630 = $629&255; + $631 = ($630|0)==(3); + if ($631) { + HEAP32[$e2>>2] = 0; + } else { + $632 = HEAP32[$exp>>2]|0; + HEAP32[$e2>>2] = $632; + } + $633 = HEAP32[$e2>>2]|0; + $634 = ($633|0)>(0); + $635 = HEAP32[$e2>>2]|0; + $636 = $634 ? $635 : 0; + $637 = HEAP32[$precision>>2]|0; + $638 = (($636) + ($637))|0; + $639 = HEAP32[$width>>2]|0; + $640 = (($638) + ($639))|0; + $641 = ($640|0)>(55); + if ($641) { + $642 = HEAP32[$e2>>2]|0; + $643 = ($642|0)>(0); + $644 = HEAP32[$e2>>2]|0; + $645 = $643 ? $644 : 0; + $646 = HEAP32[$precision>>2]|0; + $647 = (($645) + ($646))|0; + $648 = HEAP32[$width>>2]|0; + $649 = (($647) + ($648))|0; + $650 = (($649) + 15)|0; + $651 = ($650|0)<(0); + $652 = $651 << 31 >> 31; + $653 = (_sqlite3Malloc($650,$652)|0); + HEAP32[$zExtra>>2] = $653; + HEAP32[$bufpt>>2] = $653; + $654 = HEAP32[$bufpt>>2]|0; + $655 = ($654|0)==(0|0); + if ($655) { + label = 165; + break L7; + } + } + $657 = HEAP32[$bufpt>>2]|0; + HEAP32[$zOut>>2] = $657; + $658 = HEAP8[$flag_altform2>>0]|0; + $659 = $658&255; + $660 = ($659*10)|0; + $661 = (16 + ($660))|0; + HEAP32[$nsd>>2] = $661; + $662 = HEAP32[$precision>>2]|0; + $663 = ($662|0)>(0); + $664 = $663 ? 1 : 0; + $665 = HEAP8[$flag_alternateform>>0]|0; + $666 = $665&255; + $667 = $664 | $666; + $668 = HEAP8[$flag_altform2>>0]|0; + $669 = $668&255; + $670 = $667 | $669; + $671 = $670&255; + HEAP8[$flag_dp>>0] = $671; + $672 = HEAP8[$prefix>>0]|0; + $673 = ($672<<24>>24)!=(0); + if ($673) { + $674 = HEAP8[$prefix>>0]|0; + $675 = HEAP32[$bufpt>>2]|0; + $676 = ((($675)) + 1|0); + HEAP32[$bufpt>>2] = $676; + HEAP8[$675>>0] = $674; + } + $677 = HEAP32[$e2>>2]|0; + $678 = ($677|0)<(0); + L163: do { + if ($678) { + $679 = HEAP32[$bufpt>>2]|0; + $680 = ((($679)) + 1|0); + HEAP32[$bufpt>>2] = $680; + HEAP8[$679>>0] = 48; + } else { + while(1) { + $681 = HEAP32[$e2>>2]|0; + $682 = ($681|0)>=(0); + if (!($682)) { + break L163; + } + $683 = (_et_getdigit($realvalue,$nsd)|0); + $684 = HEAP32[$bufpt>>2]|0; + $685 = ((($684)) + 1|0); + HEAP32[$bufpt>>2] = $685; + HEAP8[$684>>0] = $683; + $686 = HEAP32[$e2>>2]|0; + $687 = (($686) + -1)|0; + HEAP32[$e2>>2] = $687; + } + } + } while(0); + $688 = HEAP8[$flag_dp>>0]|0; + $689 = ($688<<24>>24)!=(0); + if ($689) { + $690 = HEAP32[$bufpt>>2]|0; + $691 = ((($690)) + 1|0); + HEAP32[$bufpt>>2] = $691; + HEAP8[$690>>0] = 46; + } + $692 = HEAP32[$e2>>2]|0; + $693 = (($692) + 1)|0; + HEAP32[$e2>>2] = $693; + while(1) { + $694 = HEAP32[$e2>>2]|0; + $695 = ($694|0)<(0); + if (!($695)) { + break; + } + $696 = HEAP32[$bufpt>>2]|0; + $697 = ((($696)) + 1|0); + HEAP32[$bufpt>>2] = $697; + HEAP8[$696>>0] = 48; + $698 = HEAP32[$precision>>2]|0; + $699 = (($698) + -1)|0; + HEAP32[$precision>>2] = $699; + $700 = HEAP32[$e2>>2]|0; + $701 = (($700) + 1)|0; + HEAP32[$e2>>2] = $701; + } + while(1) { + $702 = HEAP32[$precision>>2]|0; + $703 = (($702) + -1)|0; + HEAP32[$precision>>2] = $703; + $704 = ($702|0)>(0); + if (!($704)) { + break; + } + $705 = (_et_getdigit($realvalue,$nsd)|0); + $706 = HEAP32[$bufpt>>2]|0; + $707 = ((($706)) + 1|0); + HEAP32[$bufpt>>2] = $707; + HEAP8[$706>>0] = $705; + } + $708 = HEAP8[$flag_rtz>>0]|0; + $709 = $708&255; + $710 = ($709|0)!=(0); + do { + if ($710) { + $711 = HEAP8[$flag_dp>>0]|0; + $712 = $711&255; + $713 = ($712|0)!=(0); + if (!($713)) { + break; + } + while(1) { + $714 = HEAP32[$bufpt>>2]|0; + $715 = ((($714)) + -1|0); + $716 = HEAP8[$715>>0]|0; + $717 = $716 << 24 >> 24; + $718 = ($717|0)==(48); + $719 = HEAP32[$bufpt>>2]|0; + $720 = ((($719)) + -1|0); + if (!($718)) { + break; + } + HEAP32[$bufpt>>2] = $720; + HEAP8[$720>>0] = 0; + } + $721 = HEAP8[$720>>0]|0; + $722 = $721 << 24 >> 24; + $723 = ($722|0)==(46); + if (!($723)) { + break; + } + $724 = HEAP8[$flag_altform2>>0]|0; + $725 = ($724<<24>>24)!=(0); + $726 = HEAP32[$bufpt>>2]|0; + if ($725) { + $727 = ((($726)) + 1|0); + HEAP32[$bufpt>>2] = $727; + HEAP8[$726>>0] = 48; + break; + } else { + $728 = ((($726)) + -1|0); + HEAP32[$bufpt>>2] = $728; + HEAP8[$728>>0] = 0; + break; + } + } + } while(0); + $729 = HEAP8[$xtype>>0]|0; + $730 = $729&255; + $731 = ($730|0)==(3); + if ($731) { + $732 = HEAP32[$infop>>2]|0; + $733 = ((($732)) + 4|0); + $734 = HEAP8[$733>>0]|0; + $735 = $734&255; + $736 = (36844 + ($735)|0); + $737 = HEAP8[$736>>0]|0; + $738 = HEAP32[$bufpt>>2]|0; + $739 = ((($738)) + 1|0); + HEAP32[$bufpt>>2] = $739; + HEAP8[$738>>0] = $737; + $740 = HEAP32[$exp>>2]|0; + $741 = ($740|0)<(0); + $742 = HEAP32[$bufpt>>2]|0; + $743 = ((($742)) + 1|0); + HEAP32[$bufpt>>2] = $743; + if ($741) { + HEAP8[$742>>0] = 45; + $744 = HEAP32[$exp>>2]|0; + $745 = (0 - ($744))|0; + HEAP32[$exp>>2] = $745; + } else { + HEAP8[$742>>0] = 43; + } + $746 = HEAP32[$exp>>2]|0; + $747 = ($746|0)>=(100); + if ($747) { + $748 = HEAP32[$exp>>2]|0; + $749 = (($748|0) / 100)&-1; + $750 = (($749) + 48)|0; + $751 = $750&255; + $752 = HEAP32[$bufpt>>2]|0; + $753 = ((($752)) + 1|0); + HEAP32[$bufpt>>2] = $753; + HEAP8[$752>>0] = $751; + $754 = HEAP32[$exp>>2]|0; + $755 = (($754|0) % 100)&-1; + HEAP32[$exp>>2] = $755; + } + $756 = HEAP32[$exp>>2]|0; + $757 = (($756|0) / 10)&-1; + $758 = (($757) + 48)|0; + $759 = $758&255; + $760 = HEAP32[$bufpt>>2]|0; + $761 = ((($760)) + 1|0); + HEAP32[$bufpt>>2] = $761; + HEAP8[$760>>0] = $759; + $762 = HEAP32[$exp>>2]|0; + $763 = (($762|0) % 10)&-1; + $764 = (($763) + 48)|0; + $765 = $764&255; + $766 = HEAP32[$bufpt>>2]|0; + $767 = ((($766)) + 1|0); + HEAP32[$bufpt>>2] = $767; + HEAP8[$766>>0] = $765; + } + $768 = HEAP32[$bufpt>>2]|0; + HEAP8[$768>>0] = 0; + $769 = HEAP32[$bufpt>>2]|0; + $770 = HEAP32[$zOut>>2]|0; + $771 = $769; + $772 = $770; + $773 = (($771) - ($772))|0; + HEAP32[$length>>2] = $773; + $774 = HEAP32[$zOut>>2]|0; + HEAP32[$bufpt>>2] = $774; + $775 = HEAP8[$flag_zeropad>>0]|0; + $776 = $775&255; + $777 = ($776|0)==(0); + $778 = HEAP8[$flag_leftjustify>>0]|0; + $779 = ($778<<24>>24)!=(0); + $or$cond4 = $777 | $779; + if ($or$cond4) { + break L77; + } + $780 = HEAP32[$length>>2]|0; + $781 = HEAP32[$width>>2]|0; + $782 = ($780|0)<($781|0); + if (!($782)) { + break L77; + } + $783 = HEAP32[$width>>2]|0; + $784 = HEAP32[$length>>2]|0; + $785 = (($783) - ($784))|0; + HEAP32[$nPad>>2] = $785; + $786 = HEAP32[$width>>2]|0; + HEAP32[$i>>2] = $786; + while(1) { + $787 = HEAP32[$i>>2]|0; + $788 = HEAP32[$nPad>>2]|0; + $789 = ($787|0)>=($788|0); + if (!($789)) { + break; + } + $790 = HEAP32[$i>>2]|0; + $791 = HEAP32[$nPad>>2]|0; + $792 = (($790) - ($791))|0; + $793 = HEAP32[$bufpt>>2]|0; + $794 = (($793) + ($792)|0); + $795 = HEAP8[$794>>0]|0; + $796 = HEAP32[$i>>2]|0; + $797 = HEAP32[$bufpt>>2]|0; + $798 = (($797) + ($796)|0); + HEAP8[$798>>0] = $795; + $799 = HEAP32[$i>>2]|0; + $800 = (($799) + -1)|0; + HEAP32[$i>>2] = $800; + } + $801 = HEAP8[$prefix>>0]|0; + $802 = $801 << 24 >> 24; + $803 = ($802|0)!=(0); + $804 = $803&1; + HEAP32[$i>>2] = $804; + while(1) { + $805 = HEAP32[$nPad>>2]|0; + $806 = (($805) + -1)|0; + HEAP32[$nPad>>2] = $806; + $807 = ($805|0)!=(0); + if (!($807)) { + break; + } + $808 = HEAP32[$i>>2]|0; + $809 = (($808) + 1)|0; + HEAP32[$i>>2] = $809; + $810 = HEAP32[$bufpt>>2]|0; + $811 = (($810) + ($808)|0); + HEAP8[$811>>0] = 48; + } + $812 = HEAP32[$width>>2]|0; + HEAP32[$length>>2] = $812; + break; + } + case 5: { + $813 = HEAP8[$bArgList>>0]|0; + $814 = ($813<<24>>24)!=(0); + if (!($814)) { + $815 = HEAP32[$0>>2]|0; + $816 = ((($815)) + 12|0); + $817 = HEAP32[$816>>2]|0; + $818 = HEAP32[$3>>2]|0; + $arglist_current35 = HEAP32[$818>>2]|0; + $819 = $arglist_current35; + $820 = ((0) + 4|0); + $expanded111 = $820; + $expanded110 = (($expanded111) - 1)|0; + $821 = (($819) + ($expanded110))|0; + $822 = ((0) + 4|0); + $expanded115 = $822; + $expanded114 = (($expanded115) - 1)|0; + $expanded113 = $expanded114 ^ -1; + $823 = $821 & $expanded113; + $824 = $823; + $825 = HEAP32[$824>>2]|0; + $arglist_next36 = ((($824)) + 4|0); + HEAP32[$818>>2] = $arglist_next36; + HEAP32[$825>>2] = $817; + } + HEAP32[$width>>2] = 0; + HEAP32[$length>>2] = 0; + break; + } + case 8: { + HEAP8[$buf>>0] = 37; + HEAP32[$bufpt>>2] = $buf; + HEAP32[$length>>2] = 1; + break; + } + case 9: { + $826 = HEAP8[$bArgList>>0]|0; + $827 = ($826<<24>>24)!=(0); + if ($827) { + $828 = HEAP32[$pArgList>>2]|0; + $829 = (_getTextArg($828)|0); + HEAP32[$bufpt>>2] = $829; + $830 = HEAP32[$bufpt>>2]|0; + $831 = ($830|0)!=(0|0); + if ($831) { + $832 = HEAP32[$bufpt>>2]|0; + $833 = HEAP8[$832>>0]|0; + $834 = $833 << 24 >> 24; + $835 = $834; + } else { + $835 = 0; + } + HEAP32[$c>>2] = $835; + } else { + $836 = HEAP32[$3>>2]|0; + $arglist_current38 = HEAP32[$836>>2]|0; + $837 = $arglist_current38; + $838 = ((0) + 4|0); + $expanded118 = $838; + $expanded117 = (($expanded118) - 1)|0; + $839 = (($837) + ($expanded117))|0; + $840 = ((0) + 4|0); + $expanded122 = $840; + $expanded121 = (($expanded122) - 1)|0; + $expanded120 = $expanded121 ^ -1; + $841 = $839 & $expanded120; + $842 = $841; + $843 = HEAP32[$842>>2]|0; + $arglist_next39 = ((($842)) + 4|0); + HEAP32[$836>>2] = $arglist_next39; + HEAP32[$c>>2] = $843; + } + $844 = HEAP32[$precision>>2]|0; + $845 = ($844|0)>(1); + if ($845) { + $846 = HEAP32[$precision>>2]|0; + $847 = (($846) - 1)|0; + $848 = HEAP32[$width>>2]|0; + $849 = (($848) - ($847))|0; + HEAP32[$width>>2] = $849; + $850 = HEAP32[$width>>2]|0; + $851 = ($850|0)<=(1); + $852 = HEAP8[$flag_leftjustify>>0]|0; + $853 = ($852<<24>>24)!=(0); + $or$cond6 = $851 | $853; + if (!($or$cond6)) { + $854 = HEAP32[$0>>2]|0; + $855 = HEAP32[$width>>2]|0; + $856 = (($855) - 1)|0; + _sqlite3AppendChar($854,$856,32); + HEAP32[$width>>2] = 0; + } + $857 = HEAP32[$0>>2]|0; + $858 = HEAP32[$precision>>2]|0; + $859 = (($858) - 1)|0; + $860 = HEAP32[$c>>2]|0; + $861 = $860&255; + _sqlite3AppendChar($857,$859,$861); + } + HEAP32[$length>>2] = 1; + $862 = HEAP32[$c>>2]|0; + $863 = $862&255; + HEAP8[$buf>>0] = $863; + HEAP32[$bufpt>>2] = $buf; + break; + } + case 7: case 6: { + $864 = HEAP8[$bArgList>>0]|0; + $865 = ($864<<24>>24)!=(0); + if ($865) { + $866 = HEAP32[$pArgList>>2]|0; + $867 = (_getTextArg($866)|0); + HEAP32[$bufpt>>2] = $867; + } else { + $868 = HEAP32[$3>>2]|0; + $arglist_current41 = HEAP32[$868>>2]|0; + $869 = $arglist_current41; + $870 = ((0) + 4|0); + $expanded125 = $870; + $expanded124 = (($expanded125) - 1)|0; + $871 = (($869) + ($expanded124))|0; + $872 = ((0) + 4|0); + $expanded129 = $872; + $expanded128 = (($expanded129) - 1)|0; + $expanded127 = $expanded128 ^ -1; + $873 = $871 & $expanded127; + $874 = $873; + $875 = HEAP32[$874>>2]|0; + $arglist_next42 = ((($874)) + 4|0); + HEAP32[$868>>2] = $arglist_next42; + HEAP32[$bufpt>>2] = $875; + } + $876 = HEAP32[$bufpt>>2]|0; + $877 = ($876|0)==(0|0); + if ($877) { + HEAP32[$bufpt>>2] = 14425; + } else { + $878 = HEAP8[$xtype>>0]|0; + $879 = $878&255; + $880 = ($879|0)!=(7); + $881 = HEAP8[$bArgList>>0]|0; + $882 = ($881<<24>>24)!=(0); + $or$cond8 = $880 | $882; + if (!($or$cond8)) { + $883 = HEAP32[$bufpt>>2]|0; + HEAP32[$zExtra>>2] = $883; + } + } + $884 = HEAP32[$precision>>2]|0; + $885 = ($884|0)>=(0); + if (!($885)) { + $897 = HEAP32[$bufpt>>2]|0; + $898 = (_sqlite3Strlen30($897)|0); + HEAP32[$length>>2] = $898; + break L77; + } + HEAP32[$length>>2] = 0; + while(1) { + $886 = HEAP32[$length>>2]|0; + $887 = HEAP32[$precision>>2]|0; + $888 = ($886|0)<($887|0); + if (!($888)) { + break L77; + } + $889 = HEAP32[$length>>2]|0; + $890 = HEAP32[$bufpt>>2]|0; + $891 = (($890) + ($889)|0); + $892 = HEAP8[$891>>0]|0; + $893 = $892 << 24 >> 24; + $894 = ($893|0)!=(0); + if (!($894)) { + break L77; + } + $895 = HEAP32[$length>>2]|0; + $896 = (($895) + 1)|0; + HEAP32[$length>>2] = $896; + } + break; + } + case 15: case 11: case 10: { + $899 = HEAP8[$xtype>>0]|0; + $900 = $899&255; + $901 = ($900|0)==(15); + $902 = $901 ? 34 : 39; + $903 = $902&255; + HEAP8[$q>>0] = $903; + $904 = HEAP8[$bArgList>>0]|0; + $905 = ($904<<24>>24)!=(0); + if ($905) { + $906 = HEAP32[$pArgList>>2]|0; + $907 = (_getTextArg($906)|0); + HEAP32[$escarg>>2] = $907; + } else { + $908 = HEAP32[$3>>2]|0; + $arglist_current44 = HEAP32[$908>>2]|0; + $909 = $arglist_current44; + $910 = ((0) + 4|0); + $expanded132 = $910; + $expanded131 = (($expanded132) - 1)|0; + $911 = (($909) + ($expanded131))|0; + $912 = ((0) + 4|0); + $expanded136 = $912; + $expanded135 = (($expanded136) - 1)|0; + $expanded134 = $expanded135 ^ -1; + $913 = $911 & $expanded134; + $914 = $913; + $915 = HEAP32[$914>>2]|0; + $arglist_next45 = ((($914)) + 4|0); + HEAP32[$908>>2] = $arglist_next45; + HEAP32[$escarg>>2] = $915; + } + $916 = HEAP32[$escarg>>2]|0; + $917 = ($916|0)==(0|0); + $918 = $917&1; + HEAP32[$isnull>>2] = $918; + $919 = HEAP32[$isnull>>2]|0; + $920 = ($919|0)!=(0); + if ($920) { + $921 = HEAP8[$xtype>>0]|0; + $922 = $921&255; + $923 = ($922|0)==(11); + $924 = $923 ? 30955 : 36902; + HEAP32[$escarg>>2] = $924; + } + $925 = HEAP32[$precision>>2]|0; + HEAP32[$k>>2] = $925; + HEAP32[$n>>2] = 0; + HEAP32[$i2>>2] = 0; + while(1) { + $926 = HEAP32[$k>>2]|0; + $927 = ($926|0)!=(0); + if (!($927)) { + break; + } + $928 = HEAP32[$i2>>2]|0; + $929 = HEAP32[$escarg>>2]|0; + $930 = (($929) + ($928)|0); + $931 = HEAP8[$930>>0]|0; + HEAP8[$ch>>0] = $931; + $932 = $931 << 24 >> 24; + $933 = ($932|0)!=(0); + if (!($933)) { + break; + } + $934 = HEAP8[$ch>>0]|0; + $935 = $934 << 24 >> 24; + $936 = HEAP8[$q>>0]|0; + $937 = $936 << 24 >> 24; + $938 = ($935|0)==($937|0); + if ($938) { + $939 = HEAP32[$n>>2]|0; + $940 = (($939) + 1)|0; + HEAP32[$n>>2] = $940; + } + $941 = HEAP32[$i2>>2]|0; + $942 = (($941) + 1)|0; + HEAP32[$i2>>2] = $942; + $943 = HEAP32[$k>>2]|0; + $944 = (($943) + -1)|0; + HEAP32[$k>>2] = $944; + } + $945 = HEAP32[$isnull>>2]|0; + $946 = ($945|0)!=(0); + if ($946) { + $951 = 0; + } else { + $947 = HEAP8[$xtype>>0]|0; + $948 = $947&255; + $949 = ($948|0)==(11); + $951 = $949; + } + $950 = $951&1; + HEAP32[$needQuote>>2] = $950; + $952 = HEAP32[$i2>>2]|0; + $953 = (($952) + 1)|0; + $954 = HEAP32[$needQuote>>2]|0; + $955 = $954<<1; + $956 = (($953) + ($955))|0; + $957 = HEAP32[$n>>2]|0; + $958 = (($957) + ($956))|0; + HEAP32[$n>>2] = $958; + $959 = HEAP32[$n>>2]|0; + $960 = ($959|0)>(70); + if ($960) { + $961 = HEAP32[$n>>2]|0; + $962 = ($961|0)<(0); + $963 = $962 << 31 >> 31; + $964 = (_sqlite3Malloc($961,$963)|0); + HEAP32[$zExtra>>2] = $964; + HEAP32[$bufpt>>2] = $964; + $965 = HEAP32[$bufpt>>2]|0; + $966 = ($965|0)==(0|0); + if ($966) { + label = 245; + break L7; + } + } else { + HEAP32[$bufpt>>2] = $buf; + } + HEAP32[$j>>2] = 0; + $968 = HEAP32[$needQuote>>2]|0; + $969 = ($968|0)!=(0); + if ($969) { + $970 = HEAP8[$q>>0]|0; + $971 = HEAP32[$j>>2]|0; + $972 = (($971) + 1)|0; + HEAP32[$j>>2] = $972; + $973 = HEAP32[$bufpt>>2]|0; + $974 = (($973) + ($971)|0); + HEAP8[$974>>0] = $970; + } + $975 = HEAP32[$i2>>2]|0; + HEAP32[$k>>2] = $975; + HEAP32[$i2>>2] = 0; + while(1) { + $976 = HEAP32[$i2>>2]|0; + $977 = HEAP32[$k>>2]|0; + $978 = ($976|0)<($977|0); + if (!($978)) { + break; + } + $979 = HEAP32[$i2>>2]|0; + $980 = HEAP32[$escarg>>2]|0; + $981 = (($980) + ($979)|0); + $982 = HEAP8[$981>>0]|0; + HEAP8[$ch>>0] = $982; + $983 = HEAP32[$j>>2]|0; + $984 = (($983) + 1)|0; + HEAP32[$j>>2] = $984; + $985 = HEAP32[$bufpt>>2]|0; + $986 = (($985) + ($983)|0); + HEAP8[$986>>0] = $982; + $987 = HEAP8[$ch>>0]|0; + $988 = $987 << 24 >> 24; + $989 = HEAP8[$q>>0]|0; + $990 = $989 << 24 >> 24; + $991 = ($988|0)==($990|0); + if ($991) { + $992 = HEAP8[$ch>>0]|0; + $993 = HEAP32[$j>>2]|0; + $994 = (($993) + 1)|0; + HEAP32[$j>>2] = $994; + $995 = HEAP32[$bufpt>>2]|0; + $996 = (($995) + ($993)|0); + HEAP8[$996>>0] = $992; + } + $997 = HEAP32[$i2>>2]|0; + $998 = (($997) + 1)|0; + HEAP32[$i2>>2] = $998; + } + $999 = HEAP32[$needQuote>>2]|0; + $1000 = ($999|0)!=(0); + if ($1000) { + $1001 = HEAP8[$q>>0]|0; + $1002 = HEAP32[$j>>2]|0; + $1003 = (($1002) + 1)|0; + HEAP32[$j>>2] = $1003; + $1004 = HEAP32[$bufpt>>2]|0; + $1005 = (($1004) + ($1002)|0); + HEAP8[$1005>>0] = $1001; + } + $1006 = HEAP32[$j>>2]|0; + $1007 = HEAP32[$bufpt>>2]|0; + $1008 = (($1007) + ($1006)|0); + HEAP8[$1008>>0] = 0; + $1009 = HEAP32[$j>>2]|0; + HEAP32[$length>>2] = $1009; + break; + } + case 12: { + $1010 = HEAP32[$3>>2]|0; + $arglist_current47 = HEAP32[$1010>>2]|0; + $1011 = $arglist_current47; + $1012 = ((0) + 4|0); + $expanded139 = $1012; + $expanded138 = (($expanded139) - 1)|0; + $1013 = (($1011) + ($expanded138))|0; + $1014 = ((0) + 4|0); + $expanded143 = $1014; + $expanded142 = (($expanded143) - 1)|0; + $expanded141 = $expanded142 ^ -1; + $1015 = $1013 & $expanded141; + $1016 = $1015; + $1017 = HEAP32[$1016>>2]|0; + $arglist_next48 = ((($1016)) + 4|0); + HEAP32[$1010>>2] = $arglist_next48; + HEAP32[$pToken>>2] = $1017; + $1018 = HEAP32[$pToken>>2]|0; + $1019 = ($1018|0)!=(0|0); + if ($1019) { + $1020 = HEAP32[$pToken>>2]|0; + $1021 = ((($1020)) + 4|0); + $1022 = HEAP32[$1021>>2]|0; + $1023 = ($1022|0)!=(0); + if ($1023) { + $1024 = HEAP32[$0>>2]|0; + $1025 = HEAP32[$pToken>>2]|0; + $1026 = HEAP32[$1025>>2]|0; + $1027 = HEAP32[$pToken>>2]|0; + $1028 = ((($1027)) + 4|0); + $1029 = HEAP32[$1028>>2]|0; + _sqlite3StrAccumAppend($1024,$1026,$1029); + } + } + HEAP32[$width>>2] = 0; + HEAP32[$length>>2] = 0; + break; + } + case 13: { + $1030 = HEAP32[$3>>2]|0; + $arglist_current50 = HEAP32[$1030>>2]|0; + $1031 = $arglist_current50; + $1032 = ((0) + 4|0); + $expanded146 = $1032; + $expanded145 = (($expanded146) - 1)|0; + $1033 = (($1031) + ($expanded145))|0; + $1034 = ((0) + 4|0); + $expanded150 = $1034; + $expanded149 = (($expanded150) - 1)|0; + $expanded148 = $expanded149 ^ -1; + $1035 = $1033 & $expanded148; + $1036 = $1035; + $1037 = HEAP32[$1036>>2]|0; + $arglist_next51 = ((($1036)) + 4|0); + HEAP32[$1030>>2] = $arglist_next51; + HEAP32[$pSrc>>2] = $1037; + $1038 = HEAP32[$3>>2]|0; + $arglist_current53 = HEAP32[$1038>>2]|0; + $1039 = $arglist_current53; + $1040 = ((0) + 4|0); + $expanded153 = $1040; + $expanded152 = (($expanded153) - 1)|0; + $1041 = (($1039) + ($expanded152))|0; + $1042 = ((0) + 4|0); + $expanded157 = $1042; + $expanded156 = (($expanded157) - 1)|0; + $expanded155 = $expanded156 ^ -1; + $1043 = $1041 & $expanded155; + $1044 = $1043; + $1045 = HEAP32[$1044>>2]|0; + $arglist_next54 = ((($1044)) + 4|0); + HEAP32[$1038>>2] = $arglist_next54; + HEAP32[$k3>>2] = $1045; + $1046 = HEAP32[$k3>>2]|0; + $1047 = HEAP32[$pSrc>>2]|0; + $1048 = ((($1047)) + 8|0); + $1049 = (($1048) + (($1046*72)|0)|0); + HEAP32[$pItem>>2] = $1049; + $1050 = HEAP32[$pItem>>2]|0; + $1051 = ((($1050)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = ($1052|0)!=(0|0); + if ($1053) { + $1054 = HEAP32[$0>>2]|0; + $1055 = HEAP32[$pItem>>2]|0; + $1056 = ((($1055)) + 4|0); + $1057 = HEAP32[$1056>>2]|0; + _sqlite3StrAccumAppendAll($1054,$1057); + $1058 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($1058,23024,1); + } + $1059 = HEAP32[$0>>2]|0; + $1060 = HEAP32[$pItem>>2]|0; + $1061 = ((($1060)) + 8|0); + $1062 = HEAP32[$1061>>2]|0; + _sqlite3StrAccumAppendAll($1059,$1062); + HEAP32[$width>>2] = 0; + HEAP32[$length>>2] = 0; + break; + } + default: { + label = 272; + break L7; + } + } + } while(0); + if ((label|0) == 59) { + label = 0; + $181 = HEAP32[$infop>>2]|0; + $182 = ((($181)) + 2|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $185 = $184 & 1; + $186 = ($185|0)!=(0); + $187 = HEAP8[$bArgList>>0]|0; + $188 = ($187<<24>>24)!=(0); + do { + if ($186) { + do { + if ($188) { + $189 = HEAP32[$pArgList>>2]|0; + $190 = (_getIntArg($189)|0); + $191 = tempRet0; + $192 = $v; + $193 = $192; + HEAP32[$193>>2] = $190; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + } else { + $196 = HEAP8[$flag_longlong>>0]|0; + $197 = ($196<<24>>24)!=(0); + $198 = HEAP32[$3>>2]|0; + if ($197) { + $arglist_current20 = HEAP32[$198>>2]|0; + $199 = $arglist_current20; + $200 = ((0) + 8|0); + $expanded76 = $200; + $expanded75 = (($expanded76) - 1)|0; + $201 = (($199) + ($expanded75))|0; + $202 = ((0) + 8|0); + $expanded80 = $202; + $expanded79 = (($expanded80) - 1)|0; + $expanded78 = $expanded79 ^ -1; + $203 = $201 & $expanded78; + $204 = $203; + $205 = $204; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = (($205) + 4)|0; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $arglist_next21 = ((($204)) + 8|0); + HEAP32[$198>>2] = $arglist_next21; + $211 = $v; + $212 = $211; + HEAP32[$212>>2] = $207; + $213 = (($211) + 4)|0; + $214 = $213; + HEAP32[$214>>2] = $210; + break; + } else { + $arglist_current23 = HEAP32[$198>>2]|0; + $215 = $arglist_current23; + $216 = ((0) + 4|0); + $expanded83 = $216; + $expanded82 = (($expanded83) - 1)|0; + $217 = (($215) + ($expanded82))|0; + $218 = ((0) + 4|0); + $expanded87 = $218; + $expanded86 = (($expanded87) - 1)|0; + $expanded85 = $expanded86 ^ -1; + $219 = $217 & $expanded85; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $arglist_next24 = ((($220)) + 4|0); + HEAP32[$198>>2] = $arglist_next24; + $222 = ($221|0)<(0); + $223 = $222 << 31 >> 31; + $224 = $v; + $225 = $224; + HEAP32[$225>>2] = $221; + $226 = (($224) + 4)|0; + $227 = $226; + HEAP32[$227>>2] = $223; + break; + } + } + } while(0); + $228 = $v; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = (($228) + 4)|0; + $232 = $231; + $233 = HEAP32[$232>>2]|0; + $234 = ($233|0)<(0); + $235 = $v; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (($235) + 4)|0; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + if ($234) { + $241 = ($237|0)==(0); + $242 = ($240|0)==(-2147483648); + $243 = $241 & $242; + if ($243) { + $244 = $longvalue; + $245 = $244; + HEAP32[$245>>2] = 0; + $246 = (($244) + 4)|0; + $247 = $246; + HEAP32[$247>>2] = -2147483648; + } else { + $248 = $v; + $249 = $248; + $250 = HEAP32[$249>>2]|0; + $251 = (($248) + 4)|0; + $252 = $251; + $253 = HEAP32[$252>>2]|0; + $254 = (_i64Subtract(0,0,($250|0),($253|0))|0); + $255 = tempRet0; + $256 = $longvalue; + $257 = $256; + HEAP32[$257>>2] = $254; + $258 = (($256) + 4)|0; + $259 = $258; + HEAP32[$259>>2] = $255; + } + HEAP8[$prefix>>0] = 45; + break; + } + $260 = $longvalue; + $261 = $260; + HEAP32[$261>>2] = $237; + $262 = (($260) + 4)|0; + $263 = $262; + HEAP32[$263>>2] = $240; + $264 = HEAP8[$flag_plussign>>0]|0; + $265 = ($264<<24>>24)!=(0); + if ($265) { + HEAP8[$prefix>>0] = 43; + break; + } + $266 = HEAP8[$flag_blanksign>>0]|0; + $267 = ($266<<24>>24)!=(0); + if ($267) { + HEAP8[$prefix>>0] = 32; + break; + } else { + HEAP8[$prefix>>0] = 0; + break; + } + } else { + do { + if ($188) { + $268 = HEAP32[$pArgList>>2]|0; + $269 = (_getIntArg($268)|0); + $270 = tempRet0; + $271 = $longvalue; + $272 = $271; + HEAP32[$272>>2] = $269; + $273 = (($271) + 4)|0; + $274 = $273; + HEAP32[$274>>2] = $270; + } else { + $275 = HEAP8[$flag_longlong>>0]|0; + $276 = ($275<<24>>24)!=(0); + $277 = HEAP32[$3>>2]|0; + if ($276) { + $arglist_current26 = HEAP32[$277>>2]|0; + $278 = $arglist_current26; + $279 = ((0) + 8|0); + $expanded90 = $279; + $expanded89 = (($expanded90) - 1)|0; + $280 = (($278) + ($expanded89))|0; + $281 = ((0) + 8|0); + $expanded94 = $281; + $expanded93 = (($expanded94) - 1)|0; + $expanded92 = $expanded93 ^ -1; + $282 = $280 & $expanded92; + $283 = $282; + $284 = $283; + $285 = $284; + $286 = HEAP32[$285>>2]|0; + $287 = (($284) + 4)|0; + $288 = $287; + $289 = HEAP32[$288>>2]|0; + $arglist_next27 = ((($283)) + 8|0); + HEAP32[$277>>2] = $arglist_next27; + $290 = $longvalue; + $291 = $290; + HEAP32[$291>>2] = $286; + $292 = (($290) + 4)|0; + $293 = $292; + HEAP32[$293>>2] = $289; + break; + } else { + $arglist_current29 = HEAP32[$277>>2]|0; + $294 = $arglist_current29; + $295 = ((0) + 4|0); + $expanded97 = $295; + $expanded96 = (($expanded97) - 1)|0; + $296 = (($294) + ($expanded96))|0; + $297 = ((0) + 4|0); + $expanded101 = $297; + $expanded100 = (($expanded101) - 1)|0; + $expanded99 = $expanded100 ^ -1; + $298 = $296 & $expanded99; + $299 = $298; + $300 = HEAP32[$299>>2]|0; + $arglist_next30 = ((($299)) + 4|0); + HEAP32[$277>>2] = $arglist_next30; + $301 = $longvalue; + $302 = $301; + HEAP32[$302>>2] = $300; + $303 = (($301) + 4)|0; + $304 = $303; + HEAP32[$304>>2] = 0; + break; + } + } + } while(0); + HEAP8[$prefix>>0] = 0; + } + } while(0); + $305 = $longvalue; + $306 = $305; + $307 = HEAP32[$306>>2]|0; + $308 = (($305) + 4)|0; + $309 = $308; + $310 = HEAP32[$309>>2]|0; + $311 = ($307|0)==(0); + $312 = ($310|0)==(0); + $313 = $311 & $312; + if ($313) { + HEAP8[$flag_alternateform>>0] = 0; + } + $314 = HEAP8[$flag_zeropad>>0]|0; + $315 = $314&255; + $316 = ($315|0)!=(0); + if ($316) { + $317 = HEAP32[$precision>>2]|0; + $318 = HEAP32[$width>>2]|0; + $319 = HEAP8[$prefix>>0]|0; + $320 = $319 << 24 >> 24; + $321 = ($320|0)!=(0); + $322 = $321&1; + $323 = (($318) - ($322))|0; + $324 = ($317|0)<($323|0); + if ($324) { + $325 = HEAP32[$width>>2]|0; + $326 = HEAP8[$prefix>>0]|0; + $327 = $326 << 24 >> 24; + $328 = ($327|0)!=(0); + $329 = $328&1; + $330 = (($325) - ($329))|0; + HEAP32[$precision>>2] = $330; + } + } + $331 = HEAP32[$precision>>2]|0; + $332 = ($331|0)<(60); + if ($332) { + HEAP32[$nOut>>2] = 70; + HEAP32[$zOut>>2] = $buf; + } else { + $333 = HEAP32[$precision>>2]|0; + $334 = (($333) + 10)|0; + HEAP32[$nOut>>2] = $334; + $335 = HEAP32[$nOut>>2]|0; + $336 = ($335|0)<(0); + $337 = $336 << 31 >> 31; + $338 = (_sqlite3Malloc($335,$337)|0); + HEAP32[$zExtra>>2] = $338; + HEAP32[$zOut>>2] = $338; + $339 = HEAP32[$zOut>>2]|0; + $340 = ($339|0)==(0|0); + if ($340) { + label = 89; + break; + } + } + $342 = HEAP32[$nOut>>2]|0; + $343 = (($342) - 1)|0; + $344 = HEAP32[$zOut>>2]|0; + $345 = (($344) + ($343)|0); + HEAP32[$bufpt>>2] = $345; + $346 = HEAP8[$xtype>>0]|0; + $347 = $346&255; + $348 = ($347|0)==(16); + if ($348) { + $349 = $longvalue; + $350 = $349; + $351 = HEAP32[$350>>2]|0; + $352 = (($349) + 4)|0; + $353 = $352; + $354 = HEAP32[$353>>2]|0; + $355 = (___uremdi3(($351|0),($354|0),10,0)|0); + $356 = tempRet0; + HEAP32[$x>>2] = $355; + $357 = HEAP32[$x>>2]|0; + $358 = ($357|0)>=(4); + if ($358) { + label = 93; + } else { + $359 = $longvalue; + $360 = $359; + $361 = HEAP32[$360>>2]|0; + $362 = (($359) + 4)|0; + $363 = $362; + $364 = HEAP32[$363>>2]|0; + $365 = (___udivdi3(($361|0),($364|0),10,0)|0); + $366 = tempRet0; + $367 = (___uremdi3(($365|0),($366|0),10,0)|0); + $368 = tempRet0; + $369 = ($367|0)==(1); + $370 = ($368|0)==(0); + $371 = $369 & $370; + if ($371) { + label = 93; + } + } + if ((label|0) == 93) { + label = 0; + HEAP32[$x>>2] = 0; + } + $372 = HEAP32[$x>>2]|0; + $373 = $372<<1; + $374 = (($373) + 1)|0; + $375 = (36835 + ($374)|0); + $376 = HEAP8[$375>>0]|0; + $377 = HEAP32[$bufpt>>2]|0; + $378 = ((($377)) + -1|0); + HEAP32[$bufpt>>2] = $378; + HEAP8[$378>>0] = $376; + $379 = HEAP32[$x>>2]|0; + $380 = $379<<1; + $381 = (36835 + ($380)|0); + $382 = HEAP8[$381>>0]|0; + $383 = HEAP32[$bufpt>>2]|0; + $384 = ((($383)) + -1|0); + HEAP32[$bufpt>>2] = $384; + HEAP8[$384>>0] = $382; + } + $385 = HEAP32[$infop>>2]|0; + $386 = ((($385)) + 4|0); + $387 = HEAP8[$386>>0]|0; + $388 = $387&255; + $389 = (36844 + ($388)|0); + HEAP32[$cset>>2] = $389; + $390 = HEAP32[$infop>>2]|0; + $391 = ((($390)) + 1|0); + $392 = HEAP8[$391>>0]|0; + HEAP8[$base>>0] = $392; + while(1) { + $393 = $longvalue; + $394 = $393; + $395 = HEAP32[$394>>2]|0; + $396 = (($393) + 4)|0; + $397 = $396; + $398 = HEAP32[$397>>2]|0; + $399 = HEAP8[$base>>0]|0; + $400 = $399&255; + $401 = (___uremdi3(($395|0),($398|0),($400|0),0)|0); + $402 = tempRet0; + $403 = HEAP32[$cset>>2]|0; + $404 = (($403) + ($401)|0); + $405 = HEAP8[$404>>0]|0; + $406 = HEAP32[$bufpt>>2]|0; + $407 = ((($406)) + -1|0); + HEAP32[$bufpt>>2] = $407; + HEAP8[$407>>0] = $405; + $408 = $longvalue; + $409 = $408; + $410 = HEAP32[$409>>2]|0; + $411 = (($408) + 4)|0; + $412 = $411; + $413 = HEAP32[$412>>2]|0; + $414 = HEAP8[$base>>0]|0; + $415 = $414&255; + $416 = (___udivdi3(($410|0),($413|0),($415|0),0)|0); + $417 = tempRet0; + $418 = $longvalue; + $419 = $418; + HEAP32[$419>>2] = $416; + $420 = (($418) + 4)|0; + $421 = $420; + HEAP32[$421>>2] = $417; + $422 = $longvalue; + $423 = $422; + $424 = HEAP32[$423>>2]|0; + $425 = (($422) + 4)|0; + $426 = $425; + $427 = HEAP32[$426>>2]|0; + $428 = ($427>>>0)>(0); + $429 = ($424>>>0)>(0); + $430 = ($427|0)==(0); + $431 = $430 & $429; + $432 = $428 | $431; + if (!($432)) { + break; + } + } + $433 = HEAP32[$nOut>>2]|0; + $434 = (($433) - 1)|0; + $435 = HEAP32[$zOut>>2]|0; + $436 = (($435) + ($434)|0); + $437 = HEAP32[$bufpt>>2]|0; + $438 = $436; + $439 = $437; + $440 = (($438) - ($439))|0; + HEAP32[$length>>2] = $440; + $441 = HEAP32[$precision>>2]|0; + $442 = HEAP32[$length>>2]|0; + $443 = (($441) - ($442))|0; + HEAP32[$idx>>2] = $443; + while(1) { + $444 = HEAP32[$idx>>2]|0; + $445 = ($444|0)>(0); + if (!($445)) { + break; + } + $446 = HEAP32[$bufpt>>2]|0; + $447 = ((($446)) + -1|0); + HEAP32[$bufpt>>2] = $447; + HEAP8[$447>>0] = 48; + $448 = HEAP32[$idx>>2]|0; + $449 = (($448) + -1)|0; + HEAP32[$idx>>2] = $449; + } + $450 = HEAP8[$prefix>>0]|0; + $451 = ($450<<24>>24)!=(0); + if ($451) { + $452 = HEAP8[$prefix>>0]|0; + $453 = HEAP32[$bufpt>>2]|0; + $454 = ((($453)) + -1|0); + HEAP32[$bufpt>>2] = $454; + HEAP8[$454>>0] = $452; + } + $455 = HEAP8[$flag_alternateform>>0]|0; + $456 = $455&255; + $457 = ($456|0)!=(0); + L353: do { + if ($457) { + $458 = HEAP32[$infop>>2]|0; + $459 = ((($458)) + 5|0); + $460 = HEAP8[$459>>0]|0; + $461 = $460&255; + $462 = ($461|0)!=(0); + if ($462) { + $463 = HEAP32[$infop>>2]|0; + $464 = ((($463)) + 5|0); + $465 = HEAP8[$464>>0]|0; + $466 = $465&255; + $467 = (36877 + ($466)|0); + HEAP32[$pre>>2] = $467; + while(1) { + $468 = HEAP32[$pre>>2]|0; + $469 = HEAP8[$468>>0]|0; + HEAP8[$x1>>0] = $469; + $470 = $469 << 24 >> 24; + $471 = ($470|0)!=(0); + if (!($471)) { + break L353; + } + $472 = HEAP8[$x1>>0]|0; + $473 = HEAP32[$bufpt>>2]|0; + $474 = ((($473)) + -1|0); + HEAP32[$bufpt>>2] = $474; + HEAP8[$474>>0] = $472; + $475 = HEAP32[$pre>>2]|0; + $476 = ((($475)) + 1|0); + HEAP32[$pre>>2] = $476; + } + } + } + } while(0); + $477 = HEAP32[$nOut>>2]|0; + $478 = (($477) - 1)|0; + $479 = HEAP32[$zOut>>2]|0; + $480 = (($479) + ($478)|0); + $481 = HEAP32[$bufpt>>2]|0; + $482 = $480; + $483 = $481; + $484 = (($482) - ($483))|0; + HEAP32[$length>>2] = $484; + } + $1063 = HEAP32[$length>>2]|0; + $1064 = HEAP32[$width>>2]|0; + $1065 = (($1064) - ($1063))|0; + HEAP32[$width>>2] = $1065; + $1066 = HEAP32[$width>>2]|0; + $1067 = ($1066|0)<=(0); + $1068 = HEAP8[$flag_leftjustify>>0]|0; + $1069 = ($1068<<24>>24)!=(0); + $or$cond12 = $1067 | $1069; + if (!($or$cond12)) { + $1070 = HEAP32[$0>>2]|0; + $1071 = HEAP32[$width>>2]|0; + _sqlite3AppendChar($1070,$1071,32); + } + $1072 = HEAP32[$0>>2]|0; + $1073 = HEAP32[$bufpt>>2]|0; + $1074 = HEAP32[$length>>2]|0; + _sqlite3StrAccumAppend($1072,$1073,$1074); + $1075 = HEAP32[$width>>2]|0; + $1076 = ($1075|0)>(0); + if ($1076) { + $1077 = HEAP8[$flag_leftjustify>>0]|0; + $1078 = $1077&255; + $1079 = ($1078|0)!=(0); + if ($1079) { + $1080 = HEAP32[$0>>2]|0; + $1081 = HEAP32[$width>>2]|0; + _sqlite3AppendChar($1080,$1081,32); + } + } + $1082 = HEAP32[$zExtra>>2]|0; + $1083 = ($1082|0)!=(0|0); + if ($1083) { + $1084 = HEAP32[$zExtra>>2]|0; + _sqlite3_free($1084); + HEAP32[$zExtra>>2] = 0; + } + $1085 = HEAP32[$2>>2]|0; + $1086 = ((($1085)) + 1|0); + HEAP32[$2>>2] = $1086; } - $135 = HEAP32[$nByte>>2]|0; - $136 = HEAP32[$iLimit>>2]|0; - $137 = ($135|0)>($136|0); - if ($137) { - HEAP32[$0>>2] = 18; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } else { - HEAP32[$0>>2] = 0; - $138 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($138|0); - } - return 0|0; -} -function _sqlite3_result_int($pCtx,$iVal) { - $pCtx = $pCtx|0; - $iVal = $iVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $iVal; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(0); - $6 = $5 << 31 >> 31; - _sqlite3VdbeMemSetInt64($3,$4,$6); - STACKTOP = sp;return; -} -function _sqlite3VdbeMemSetInt64($pMem,$0,$1) { - $pMem = $pMem|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pMem; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 9312; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$2>>2]|0; - $15 = $3; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - _vdbeReleaseAndSetInt64($14,$17,$20); - STACKTOP = sp;return; - } else { - $21 = $3; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = $27; - $29 = $28; - HEAP32[$29>>2] = $23; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $26; - $32 = HEAP32[$2>>2]|0; - $33 = (($32) + 8|0); - HEAP16[$33>>1] = 4; - STACKTOP = sp;return; - } -} -function _sqlite3_result_int64($pCtx,$0,$1) { - $pCtx = $pCtx|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pCtx; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - _sqlite3VdbeMemSetInt64($9,$12,$15); - STACKTOP = sp;return; -} -function _sqlite3_result_null($pCtx) { - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCtx; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemSetNull($2); - STACKTOP = sp;return; -} -function _sqlite3VdbeMemSetNull($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pMem; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 9312; - $6 = ($5|0)!=(0); - $7 = HEAP32[$0>>2]|0; - if ($6) { - _vdbeMemClearExternAndSetNull($7); + if ((label|0) == 13) { + $55 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($55,36695,1); STACKTOP = sp;return; - } else { - $8 = (($7) + 8|0); - HEAP16[$8>>1] = 1; + } + else if ((label|0) == 89) { + $341 = HEAP32[$0>>2]|0; + _setStrAccumError($341,1); STACKTOP = sp;return; } -} -function _sqlite3_result_text($pCtx,$z,$n,$xDel) { - $pCtx = $pCtx|0; - $z = $z|0; - $n = $n|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $xDel; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - _setResultStrOrError($4,$5,$6,1,$7); - STACKTOP = sp;return; -} -function _sqlite3_result_text64($pCtx,$z,$0,$1,$xDel,$enc) { - $pCtx = $pCtx|0; - $z = $z|0; - $0 = $0|0; - $1 = $1|0; - $xDel = $xDel|0; - $enc = $enc|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $5 = sp + 8|0; - $6 = sp + 20|0; - HEAP32[$2>>2] = $pCtx; - HEAP32[$3>>2] = $z; - $7 = $4; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$5>>2] = $xDel; - HEAP8[$6>>0] = $enc; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(4); - if ($13) { - $14 = HEAP8[1136>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)==(0); - $17 = $16 ? 3 : 2; - $18 = $17&255; - HEAP8[$6>>0] = $18; + else if ((label|0) == 165) { + $656 = HEAP32[$0>>2]|0; + _setStrAccumError($656,1); + STACKTOP = sp;return; } - $19 = $4; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = ($24>>>0)>(0); - $26 = ($21>>>0)>(2147483647); - $27 = ($24|0)==(0); - $28 = $27 & $26; - $29 = $25 | $28; - if ($29) { - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$5>>2]|0; - $32 = HEAP32[$2>>2]|0; - (_invokeValueDestructor($30,$31,$32)|0); + else if ((label|0) == 245) { + $967 = HEAP32[$0>>2]|0; + _setStrAccumError($967,1); STACKTOP = sp;return; - } else { - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = $4; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP8[$6>>0]|0; - $42 = HEAP32[$5>>2]|0; - _setResultStrOrError($33,$34,$37,$41,$42); + } + else if ((label|0) == 272) { STACKTOP = sp;return; } } -function _sqlite3_result_value($pCtx,$pValue) { - $pCtx = $pCtx|0; - $pValue = $pValue|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3StrAccumFinish($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $pValue; - $2 = HEAP32[$0>>2]|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + do { + if ($4) { + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($7)|0); + HEAP8[$11>>0] = 0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)==($22|0); + if ($23) { + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)==(1); + $29 = HEAP32[$0>>2]|0; + if ($28) { + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$0>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($33) + 1)|0; + $35 = ($34|0)<(0); + $36 = $35 << 31 >> 31; + $37 = (_sqlite3DbMallocRaw($30,$34,$36)|0); + $38 = HEAP32[$0>>2]|0; + $39 = ((($38)) + 8|0); + HEAP32[$39>>2] = $37; + } else { + $40 = ((($29)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + 1)|0; + $43 = (_sqlite3_malloc($42)|0); + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 8|0); + HEAP32[$45>>2] = $43; + } + $46 = HEAP32[$0>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)!=(0|0); + $50 = HEAP32[$0>>2]|0; + if ($49) { + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + 1)|0; + _memcpy(($52|0),($55|0),($59|0))|0; + break; + } else { + _setStrAccumError($50,1); + break; + } + } + } + } + } while(0); + $60 = HEAP32[$0>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + STACKTOP = sp;return ($62|0); +} +function _renderLogMsg($iErrCode,$zFormat,$ap) { + $iErrCode = $iErrCode|0; + $zFormat = $zFormat|0; + $ap = $ap|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $acc = 0, $zMsg = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; + $0 = sp + 36|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $acc = sp; + $zMsg = sp + 40|0; + HEAP32[$0>>2] = $iErrCode; + HEAP32[$1>>2] = $zFormat; + HEAP32[$2>>2] = $ap; + _sqlite3StrAccumInit($acc,$zMsg,210,0); + $3 = ((($acc)) + 24|0); + HEAP8[$3>>0] = 0; $4 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemCopy($3,$4)|0); + $5 = HEAP32[$2>>2]|0; + _sqlite3VXPrintf($acc,0,$4,$5); + $6 = HEAP32[(260)>>2]|0; + $7 = HEAP32[(264)>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = (_sqlite3StrAccumFinish($acc)|0); + FUNCTION_TABLE_viii[$6 & 63]($7,$8,$9); STACKTOP = sp;return; } -function _sqlite3VdbeMemCopy($pTo,$pFrom) { - $pTo = $pTo|0; - $pFrom = $pFrom|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0; - var sp = 0; +function _sqlite3OsRandomness($pVfs,$nByte,$zBufOut) { + $pVfs = $pVfs|0; + $nByte = $nByte|0; + $zBufOut = $zBufOut|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pTo; - HEAP32[$1>>2] = $pFrom; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 9312; - $7 = ($6|0)!=(0); + $2 = sp; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $nByte; + HEAP32[$2>>2] = $zBufOut; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 56|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = (FUNCTION_TABLE_iiii[$5 & 31]($6,$7,$8)|0); + STACKTOP = sp;return ($9|0); +} +function _sqlite3ErrorWithMsg($db,$err_code,$zFormat,$varargs) { + $db = $db|0; + $err_code = $err_code|0; + $zFormat = $zFormat|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $z = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $z = sp + 16|0; + $ap = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $err_code; + HEAP32[$2>>2] = $zFormat; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 52|0); + HEAP32[$5>>2] = $3; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(0|0); + $8 = HEAP32[$0>>2]|0; if ($7) { - $8 = HEAP32[$0>>2]|0; - _vdbeMemClearExternAndSetNull($8); - } - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$1>>2]|0; - ;HEAP32[$9+0>>2]=HEAP32[$10+0>>2]|0;HEAP32[$9+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$10+16>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & -1025; - $16 = $15&65535; - HEAP16[$12>>1] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 8|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 & 18; - $22 = ($21|0)!=(0); - if (!($22)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $9 = HEAP32[$1>>2]|0; + _sqlite3Error($8,$9); + STACKTOP = sp;return; } - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 8|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = $26 & 2048; - $28 = (0)==($27|0); - if (!($28)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $10 = ((($8)) + 232|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + $13 = HEAP32[$0>>2]|0; + $14 = (_sqlite3ValueNew($13)|0); + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 232|0); + HEAP32[$16>>2] = $14; + $17 = ($14|0)!=(0|0); + if (!($17)) { + STACKTOP = sp;return; + } } - $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 8|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = $32 | 4096; - $34 = $33&65535; - HEAP16[$30>>1] = $34; - $35 = HEAP32[$0>>2]|0; - $36 = (_sqlite3VdbeMemMakeWriteable($35)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); -} -function _sqlite3_result_zeroblob($pCtx,$n) { - $pCtx = $pCtx|0; - $n = $n|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $n; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemSetZeroBlob($3,$4); + HEAP32[$ap>>2] = $varargs; + $18 = HEAP32[$0>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = (_sqlite3VMPrintf($18,$19,$ap)|0); + HEAP32[$z>>2] = $20; + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 232|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$z>>2]|0; + _sqlite3ValueSetStr($23,-1,$24,1,23); STACKTOP = sp;return; } -function _sqlite3VdbeMemSetZeroBlob($pMem,$n) { - $pMem = $pMem|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3MallocZero($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pMem; - HEAP32[$1>>2] = $n; - $2 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemRelease($2); - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); - HEAP16[$4>>1] = 16400; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 12|0); - HEAP32[$6>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = ($7|0)<(0); - if ($8) { - HEAP32[$1>>2] = 0; + $2 = sp; + $p = sp + 8|0; + $3 = $2; + $4 = $3; + HEAP32[$4>>2] = $0; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3Malloc($9,$12)|0); + HEAP32[$p>>2] = $13; + $14 = HEAP32[$p>>2]|0; + $15 = ($14|0)!=(0|0); + if (!($15)) { + $23 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($23|0); } - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$0>>2]|0; - HEAP32[$10>>2] = $9; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 10|0); - HEAP8[$12>>0] = 1; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 16|0); - HEAP32[$14>>2] = 0; - STACKTOP = sp;return; + $16 = HEAP32[$p>>2]|0; + $17 = $2; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + _memset(($16|0),0,($19|0))|0; + $23 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($23|0); } -function _sqlite3_result_error_code($pCtx,$errCode) { - $pCtx = $pCtx|0; - $errCode = $errCode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3Error($db,$err_code) { + $db = $db|0; + $err_code = $err_code|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $errCode; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $err_code; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 20|0); + $4 = ((($3)) + 52|0); HEAP32[$4>>2] = $2; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 25|0); - HEAP8[$6>>0] = 1; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 1; - $13 = ($12|0)!=(0); - if (!($13)) { + $6 = ((($5)) + 232|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { STACKTOP = sp;return; } - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = (_sqlite3ErrStr($16)|0); - (_sqlite3VdbeMemSetStr($15,$17,-1,1,0)|0); + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 232|0); + $11 = HEAP32[$10>>2]|0; + _sqlite3ValueSetNull($11); STACKTOP = sp;return; } -function _sqlite3ErrStr($rc) { - $rc = $rc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $or$cond = 0, $zErr = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $zErr = sp; - HEAP32[$0>>2] = $rc; - HEAP32[$zErr>>2] = 5952; - $1 = HEAP32[$0>>2]|0; - $cond = ($1|0)==(516); - if ($cond) { - HEAP32[$zErr>>2] = 5968; - } else { - $2 = HEAP32[$0>>2]|0; - $3 = $2 & 255; - HEAP32[$0>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)>=(0); - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)<(27); - $or$cond = $5 & $7; - if ($or$cond) { - $8 = HEAP32[$0>>2]|0; - $9 = (5112 + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = (5112 + ($12<<2)|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$zErr>>2] = $14; - } - } - } - $15 = HEAP32[$zErr>>2]|0; - STACKTOP = sp;return ($15|0); -} -function _sqlite3_result_error_toobig($pCtx) { - $pCtx = $pCtx|0; +function _sqlite3BtreeEnter($p) { + $p = $p|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pCtx; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 20|0); - HEAP32[$2>>2] = 18; + $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 25|0); - HEAP8[$4>>0] = 1; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - (_sqlite3VdbeMemSetStr($6,1176,-1,1,0)|0); + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; STACKTOP = sp;return; } -function _sqlite3_result_error_nomem($pCtx) { - $pCtx = $pCtx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _isFatalError($rc) { + $rc = $rc|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pCtx; + HEAP32[$0>>2] = $rc; $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemSetNull($2); + $2 = ($1|0)!=(0); $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 20|0); - HEAP32[$4>>2] = 7; + $4 = ($3|0)!=(5); + $or$cond = $2 & $4; + if (!($or$cond)) { + $8 = 0; + $7 = $8&1; + STACKTOP = sp;return ($7|0); + } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 25|0); - HEAP8[$6>>0] = 1; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 64|0); - HEAP8[$11>>0] = 1; - STACKTOP = sp;return; + $6 = ($5|0)!=(6); + $8 = $6; + $7 = $8&1; + STACKTOP = sp;return ($7|0); } -function _sqlite3_step($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt = 0, $db = 0, $rc = 0, $rc2 = 0, $savedPc = 0, $v = 0, $zErr = 0, label = 0, sp = 0; +function _sqlite3BtreeBeginTrans($p,$wrflag) { + $p = $p|0; + $wrflag = $wrflag|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond9 = 0, $pBlock = 0, $pBt = 0, $pIter = 0, $pPage1 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $rc = sp + 24|0; - $rc2 = sp + 20|0; - $v = sp + 16|0; - $cnt = sp + 12|0; - $db = sp + 8|0; - $savedPc = sp + 4|0; - $zErr = sp; - HEAP32[$1>>2] = $pStmt; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $pBlock = sp + 20|0; + $pBt = sp + 24|0; + $rc = sp + 4|0; + $pIter = sp; + $pPage1 = sp + 12|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $wrflag; + HEAP32[$pBlock>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pBt>>2] = $4; HEAP32[$rc>>2] = 0; - HEAP32[$rc2>>2] = 0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$v>>2] = $2; - HEAP32[$cnt>>2] = 0; - $3 = HEAP32[$v>>2]|0; - $4 = (_vdbeSafetyNotNull($3)|0); - $5 = ($4|0)!=(0); - if ($5) { - $6 = (_sqlite3MisuseError(67871)|0); - HEAP32[$0>>2] = $6; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); - } - $7 = HEAP32[$v>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - $9 = HEAP32[$v>>2]|0; - $10 = (($9) + 88|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11 & -2049; - HEAP16[$10>>1] = $12; - while(1) { - $13 = HEAP32[$v>>2]|0; - $14 = (_sqlite3Step($13)|0); - HEAP32[$rc>>2] = $14; - $15 = ($14|0)==(17); - if (!($15)) { - break; - } - $16 = HEAP32[$cnt>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$cnt>>2] = $17; - $18 = ($16|0)<(50); - if (!($18)) { - break; - } - $19 = HEAP32[$v>>2]|0; - $20 = (($19) + 76|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$savedPc>>2] = $21; - $22 = HEAP32[$v>>2]|0; - $23 = (_sqlite3Reprepare($22)|0); - HEAP32[$rc>>2] = $23; - HEAP32[$rc2>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)!=(0); - if ($25) { - break; - } - $26 = HEAP32[$1>>2]|0; - (_sqlite3_reset($26)|0); - $27 = HEAP32[$savedPc>>2]|0; - $28 = ($27|0)>=(0); - if (!($28)) { - continue; - } - $29 = HEAP32[$v>>2]|0; - $30 = (($29) + 88|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31 & -2049; - $33 = $32 | 2048; - HEAP16[$30>>1] = $33; - } - $34 = HEAP32[$rc2>>2]|0; - $35 = ($34|0)!=(0); + $5 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($5); + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)==(2); do { - if ($35) { - $36 = HEAP32[$db>>2]|0; - $37 = (($36) + 232|0); - $38 = HEAP32[$37>>2]|0; - $39 = (_sqlite3_value_text($38)|0); - HEAP32[$zErr>>2] = $39; - $40 = HEAP32[$db>>2]|0; - $41 = HEAP32[$v>>2]|0; - $42 = (($41) + 44|0); - $43 = HEAP32[$42>>2]|0; - _sqlite3DbFree($40,$43); - $44 = HEAP32[$db>>2]|0; - $45 = (($44) + 64|0); - $46 = HEAP8[$45>>0]|0; - $47 = ($46<<24>>24)!=(0); - if ($47) { - $56 = HEAP32[$v>>2]|0; - $57 = (($56) + 44|0); - HEAP32[$57>>2] = 0; - HEAP32[$rc>>2] = 7; - $58 = HEAP32[$v>>2]|0; - $59 = (($58) + 80|0); - HEAP32[$59>>2] = 7; - break; - } else { - $48 = HEAP32[$db>>2]|0; - $49 = HEAP32[$zErr>>2]|0; - $50 = (_sqlite3DbStrDup($48,$49)|0); - $51 = HEAP32[$v>>2]|0; - $52 = (($51) + 44|0); - HEAP32[$52>>2] = $50; - $53 = HEAP32[$rc2>>2]|0; - $54 = HEAP32[$v>>2]|0; - $55 = (($54) + 80|0); - HEAP32[$55>>2] = $53; - break; - } - } - } while(0); - $60 = HEAP32[$db>>2]|0; - $61 = HEAP32[$rc>>2]|0; - $62 = (_sqlite3ApiExit($60,$61)|0); - HEAP32[$rc>>2] = $62; - $63 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $63; - $64 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($64|0); -} -function _vdbeSafetyNotNull($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - $1 = sp + 4|0; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - _sqlite3_log(21,37016,$vararg_buffer); - HEAP32[$0>>2] = 1; - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); - } else { - $4 = HEAP32[$1>>2]|0; - $5 = (_vdbeSafety($4)|0); - HEAP32[$0>>2] = $5; - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); - } - return 0|0; -} -function _sqlite3Step($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $db = 0, $iNow = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $db = sp + 12|0; - $rc = sp + 8|0; - $iNow = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 40|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(-1108210269); - if ($5) { - $6 = HEAP32[$1>>2]|0; - (_sqlite3_reset($6)|0); - } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$db>>2] = $8; - $9 = HEAP32[$db>>2]|0; - $10 = (($9) + 64|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - $13 = HEAP32[$1>>2]|0; - if ($12) { - $14 = (($13) + 80|0); - HEAP32[$14>>2] = 7; - HEAP32[$0>>2] = 7; - $180 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($180|0); - } - $15 = (($13) + 76|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)<=(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 88|0); - $20 = HEAP16[$19>>1]|0; - $21 = ($20&65535) >>> 5; - $22 = $21 & 1; - $23 = $22&65535; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 80|0); - HEAP32[$26>>2] = 17; - HEAP32[$rc>>2] = 1; - } else { - label = 8; - } - } else { - label = 8; - } - if ((label|0) == 8) { - $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 76|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)<(0); - if ($30) { - $31 = HEAP32[$db>>2]|0; - $32 = (($31) + 148|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$db>>2]|0; - $36 = (($35) + 240|0); - HEAP32[$36>>2] = 0; - } - $37 = HEAP32[$db>>2]|0; - $38 = (($37) + 180|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$db>>2]|0; - $42 = (($41) + 140|0); - $43 = (($42) + 5|0); - $44 = HEAP8[$43>>0]|0; - $45 = ($44<<24>>24)!=(0); - if (!($45)) { - $46 = HEAP32[$db>>2]|0; - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 128|0); - (_sqlite3OsCurrentTimeInt64($47,$49)|0); + if (!($10)) { + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)!=(1); + $16 = HEAP32[$1>>2]|0; + $17 = ($16|0)!=(0); + $or$cond = $15 | $17; + if ($or$cond) { + $18 = HEAP32[$pBt>>2]|0; + $19 = ((($18)) + 22|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + $22 = $21 & 1; + $23 = ($22|0)!=(0); + $24 = HEAP32[$1>>2]|0; + $25 = ($24|0)!=(0); + $or$cond3 = $23 & $25; + if ($or$cond3) { + HEAP32[$rc>>2] = 8; + break; } - } - $50 = HEAP32[$db>>2]|0; - $51 = (($50) + 148|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 1)|0; - HEAP32[$51>>2] = $53; - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 88|0); - $56 = HEAP16[$55>>1]|0; - $57 = ($56&65535) >>> 8; - $58 = $57 & 1; - $59 = $58&65535; - $60 = ($59|0)==(0); - if ($60) { - $61 = HEAP32[$db>>2]|0; - $62 = (($61) + 156|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$62>>2] = $64; - } - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 88|0); - $67 = HEAP16[$66>>1]|0; - $68 = ($67&65535) >>> 9; - $69 = $68 & 1; - $70 = $69&65535; - $71 = ($70|0)!=(0); - if ($71) { - $72 = HEAP32[$db>>2]|0; - $73 = (($72) + 152|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($74) + 1)|0; - HEAP32[$73>>2] = $75; - } - $76 = HEAP32[$1>>2]|0; - $77 = (($76) + 76|0); - HEAP32[$77>>2] = 0; - } - $78 = HEAP32[$1>>2]|0; - $79 = (($78) + 88|0); - $80 = HEAP16[$79>>1]|0; - $81 = $80 & 3; - $82 = $81&65535; - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$1>>2]|0; - $85 = (_sqlite3VdbeList($84)|0); - HEAP32[$rc>>2] = $85; - } else { - $86 = HEAP32[$db>>2]|0; - $87 = (($86) + 160|0); - $88 = HEAP32[$87>>2]|0; - $89 = (($88) + 1)|0; - HEAP32[$87>>2] = $89; - $90 = HEAP32[$1>>2]|0; - $91 = (_sqlite3VdbeExec($90)|0); - HEAP32[$rc>>2] = $91; - $92 = HEAP32[$db>>2]|0; - $93 = (($92) + 160|0); - $94 = HEAP32[$93>>2]|0; - $95 = (($94) + -1)|0; - HEAP32[$93>>2] = $95; - } - $96 = HEAP32[$rc>>2]|0; - $97 = ($96|0)!=(100); - if ($97) { - $98 = HEAP32[$db>>2]|0; - $99 = (($98) + 180|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)!=(0|0); - if ($101) { - $102 = HEAP32[$db>>2]|0; - $103 = (($102) + 140|0); - $104 = (($103) + 5|0); - $105 = HEAP8[$104>>0]|0; - $106 = ($105<<24>>24)!=(0); - if (!($106)) { - $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 168|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)!=(0|0); - if ($110) { - $111 = HEAP32[$db>>2]|0; - $112 = HEAP32[$111>>2]|0; - (_sqlite3OsCurrentTimeInt64($112,$iNow)|0); - $113 = HEAP32[$db>>2]|0; - $114 = (($113) + 180|0); - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$db>>2]|0; - $117 = (($116) + 184|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$1>>2]|0; - $120 = (($119) + 168|0); - $121 = HEAP32[$120>>2]|0; - $122 = $iNow; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$1>>2]|0; - $129 = (($128) + 128|0); - $130 = $129; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (_i64Subtract(($124|0),($127|0),($132|0),($135|0))|0); - $137 = tempRet0; - $138 = (___muldi3(($136|0),($137|0),1000000,0)|0); - $139 = tempRet0; - FUNCTION_TABLE_viiii[$115 & 3]($118,$121,$138,$139); + $26 = HEAP32[$1>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$pBt>>2]|0; + $29 = ((($28)) + 20|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = ($31|0)==(2); + if ($32) { + label = 8; + } else { + label = 7; + } + } else { + label = 7; + } + L9: do { + if ((label|0) == 7) { + $33 = HEAP32[$pBt>>2]|0; + $34 = ((($33)) + 22|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35&65535; + $37 = $36 & 64; + $38 = ($37|0)!=(0); + if ($38) { + label = 8; + } else { + $43 = HEAP32[$1>>2]|0; + $44 = ($43|0)>(1); + if ($44) { + $45 = HEAP32[$pBt>>2]|0; + $46 = ((($45)) + 72|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$pIter>>2] = $47; + while(1) { + $48 = HEAP32[$pIter>>2]|0; + $49 = ($48|0)!=(0|0); + if (!($49)) { + break L9; + } + $50 = HEAP32[$pIter>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$0>>2]|0; + $53 = ($51|0)!=($52|0); + $54 = HEAP32[$pIter>>2]|0; + if ($53) { + break; + } + $57 = ((($54)) + 12|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$pIter>>2] = $58; + } + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$55>>2]|0; + HEAP32[$pBlock>>2] = $56; + } + } + } + } while(0); + if ((label|0) == 8) { + $39 = HEAP32[$pBt>>2]|0; + $40 = ((($39)) + 76|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$41>>2]|0; + HEAP32[$pBlock>>2] = $42; + } + $59 = HEAP32[$pBlock>>2]|0; + $60 = ($59|0)!=(0|0); + if ($60) { + HEAP32[$rc>>2] = 262; + break; + } + $61 = HEAP32[$0>>2]|0; + $62 = (_querySharedCacheTableLock($61,1,1)|0); + HEAP32[$rc>>2] = $62; + $63 = HEAP32[$rc>>2]|0; + $64 = (0)!=($63|0); + if (!($64)) { + $65 = HEAP32[$pBt>>2]|0; + $66 = ((($65)) + 22|0); + $67 = HEAP16[$66>>1]|0; + $68 = $67&65535; + $69 = $68 & -9; + $70 = $69&65535; + HEAP16[$66>>1] = $70; + $71 = HEAP32[$pBt>>2]|0; + $72 = ((($71)) + 44|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = HEAP32[$pBt>>2]|0; + $76 = ((($75)) + 22|0); + $77 = HEAP16[$76>>1]|0; + $78 = $77&65535; + $79 = $78 | 8; + $80 = $79&65535; + HEAP16[$76>>1] = $80; + } + while(1) { + $81 = HEAP32[$pBt>>2]|0; + $82 = ((($81)) + 12|0); + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)==(0|0); + if ($84) { + $85 = HEAP32[$pBt>>2]|0; + $86 = (_lockBtree($85)|0); + HEAP32[$rc>>2] = $86; + $87 = (0)==($86|0); + if ($87) { + continue; + } + } + $88 = HEAP32[$rc>>2]|0; + $89 = ($88|0)==(0); + $90 = HEAP32[$1>>2]|0; + $91 = ($90|0)!=(0); + $or$cond5 = $89 & $91; + do { + if ($or$cond5) { + $92 = HEAP32[$pBt>>2]|0; + $93 = ((($92)) + 22|0); + $94 = HEAP16[$93>>1]|0; + $95 = $94&65535; + $96 = $95 & 1; + $97 = ($96|0)!=(0); + if ($97) { + HEAP32[$rc>>2] = 8; + break; + } + $98 = HEAP32[$pBt>>2]|0; + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$1>>2]|0; + $101 = ($100|0)>(1); + $102 = $101&1; + $103 = HEAP32[$0>>2]|0; + $104 = HEAP32[$103>>2]|0; + $105 = (_sqlite3TempInMemory($104)|0); + $106 = (_sqlite3PagerBegin($99,$102,$105)|0); + HEAP32[$rc>>2] = $106; + $107 = HEAP32[$rc>>2]|0; + $108 = ($107|0)==(0); + if ($108) { + $109 = HEAP32[$pBt>>2]|0; + $110 = (_newDatabase($109)|0); + HEAP32[$rc>>2] = $110; + } + } + } while(0); + $111 = HEAP32[$rc>>2]|0; + $112 = ($111|0)!=(0); + if ($112) { + $113 = HEAP32[$pBt>>2]|0; + _unlockBtreeIfUnused($113); + } + $114 = HEAP32[$rc>>2]|0; + $115 = $114 & 255; + $116 = ($115|0)==(5); + if (!($116)) { + break; + } + $117 = HEAP32[$pBt>>2]|0; + $118 = ((($117)) + 20|0); + $119 = HEAP8[$118>>0]|0; + $120 = $119&255; + $121 = ($120|0)==(0); + if (!($121)) { + break; + } + $122 = HEAP32[$pBt>>2]|0; + $123 = (_btreeInvokeBusyHandler($122)|0); + $124 = ($123|0)!=(0); + if (!($124)) { + break; + } + } + $125 = HEAP32[$rc>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $127 = HEAP32[$0>>2]|0; + $128 = ((($127)) + 8|0); + $129 = HEAP8[$128>>0]|0; + $130 = $129&255; + $131 = ($130|0)==(0); + if ($131) { + $132 = HEAP32[$pBt>>2]|0; + $133 = ((($132)) + 40|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($134) + 1)|0; + HEAP32[$133>>2] = $135; + $136 = HEAP32[$0>>2]|0; + $137 = ((($136)) + 9|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)!=(0); + if ($139) { + $140 = HEAP32[$0>>2]|0; + $141 = ((($140)) + 28|0); + $142 = ((($141)) + 8|0); + HEAP8[$142>>0] = 1; + $143 = HEAP32[$pBt>>2]|0; + $144 = ((($143)) + 72|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$0>>2]|0; + $147 = ((($146)) + 28|0); + $148 = ((($147)) + 12|0); + HEAP32[$148>>2] = $145; + $149 = HEAP32[$0>>2]|0; + $150 = ((($149)) + 28|0); + $151 = HEAP32[$pBt>>2]|0; + $152 = ((($151)) + 72|0); + HEAP32[$152>>2] = $150; + } + } + $153 = HEAP32[$1>>2]|0; + $154 = ($153|0)!=(0); + $155 = $154 ? 2 : 1; + $156 = $155&255; + $157 = HEAP32[$0>>2]|0; + $158 = ((($157)) + 8|0); + HEAP8[$158>>0] = $156; + $159 = HEAP32[$0>>2]|0; + $160 = ((($159)) + 8|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = HEAP32[$pBt>>2]|0; + $164 = ((($163)) + 20|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ($162|0)>($166|0); + if ($167) { + $168 = HEAP32[$0>>2]|0; + $169 = ((($168)) + 8|0); + $170 = HEAP8[$169>>0]|0; + $171 = HEAP32[$pBt>>2]|0; + $172 = ((($171)) + 20|0); + HEAP8[$172>>0] = $170; + } + $173 = HEAP32[$1>>2]|0; + $174 = ($173|0)!=(0); + if ($174) { + $175 = HEAP32[$pBt>>2]|0; + $176 = ((($175)) + 12|0); + $177 = HEAP32[$176>>2]|0; + HEAP32[$pPage1>>2] = $177; + $178 = HEAP32[$0>>2]|0; + $179 = HEAP32[$pBt>>2]|0; + $180 = ((($179)) + 76|0); + HEAP32[$180>>2] = $178; + $181 = HEAP32[$pBt>>2]|0; + $182 = ((($181)) + 22|0); + $183 = HEAP16[$182>>1]|0; + $184 = $183&65535; + $185 = $184 & -33; + $186 = $185&65535; + HEAP16[$182>>1] = $186; + $187 = HEAP32[$1>>2]|0; + $188 = ($187|0)>(1); + if ($188) { + $189 = HEAP32[$pBt>>2]|0; + $190 = ((($189)) + 22|0); + $191 = HEAP16[$190>>1]|0; + $192 = $191&65535; + $193 = $192 | 32; + $194 = $193&65535; + HEAP16[$190>>1] = $194; + } + $195 = HEAP32[$pBt>>2]|0; + $196 = ((($195)) + 44|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$pPage1>>2]|0; + $199 = ((($198)) + 56|0); + $200 = HEAP32[$199>>2]|0; + $201 = ((($200)) + 28|0); + $202 = (_sqlite3Get4byte($201)|0); + $203 = ($197|0)!=($202|0); + if ($203) { + $204 = HEAP32[$pPage1>>2]|0; + $205 = ((($204)) + 68|0); + $206 = HEAP32[$205>>2]|0; + $207 = (_sqlite3PagerWrite($206)|0); + HEAP32[$rc>>2] = $207; + $208 = HEAP32[$rc>>2]|0; + $209 = ($208|0)==(0); + if ($209) { + $210 = HEAP32[$pPage1>>2]|0; + $211 = ((($210)) + 56|0); + $212 = HEAP32[$211>>2]|0; + $213 = ((($212)) + 28|0); + $214 = HEAP32[$pBt>>2]|0; + $215 = ((($214)) + 44|0); + $216 = HEAP32[$215>>2]|0; + _sqlite3Put4byte($213,$216); + } + } + } } } } } - $140 = HEAP32[$rc>>2]|0; - $141 = ($140|0)==(101); - if ($141) { - $142 = HEAP32[$db>>2]|0; - $143 = (_doWalCallbacks($142)|0); - $144 = HEAP32[$1>>2]|0; - $145 = (($144) + 80|0); - HEAP32[$145>>2] = $143; - $146 = HEAP32[$1>>2]|0; - $147 = (($146) + 80|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)!=(0); - if ($149) { - HEAP32[$rc>>2] = 1; - } - } - $150 = HEAP32[$rc>>2]|0; - $151 = HEAP32[$db>>2]|0; - $152 = (($151) + 52|0); - HEAP32[$152>>2] = $150; - $153 = HEAP32[$1>>2]|0; - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$1>>2]|0; - $156 = (($155) + 80|0); - $157 = HEAP32[$156>>2]|0; - $158 = (_sqlite3ApiExit($154,$157)|0); - $159 = (7)==($158|0); - if ($159) { - $160 = HEAP32[$1>>2]|0; - $161 = (($160) + 80|0); - HEAP32[$161>>2] = 7; - } - } - $162 = HEAP32[$1>>2]|0; - $163 = (($162) + 88|0); - $164 = HEAP16[$163>>1]|0; - $165 = ($164&65535) >>> 10; - $166 = $165 & 1; - $167 = $166&65535; - $168 = ($167|0)!=(0); - $169 = HEAP32[$rc>>2]|0; - $170 = ($169|0)!=(100); - $or$cond = $168 & $170; - $171 = HEAP32[$rc>>2]|0; - $172 = ($171|0)!=(101); - $or$cond3 = $or$cond & $172; - if ($or$cond3) { - $173 = HEAP32[$1>>2]|0; - $174 = (_sqlite3VdbeTransferError($173)|0); - HEAP32[$rc>>2] = $174; + } while(0); + $217 = HEAP32[$rc>>2]|0; + $218 = ($217|0)==(0); + $219 = HEAP32[$1>>2]|0; + $220 = ($219|0)!=(0); + $or$cond9 = $218 & $220; + if (!($or$cond9)) { + $228 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($228|0); } - $175 = HEAP32[$rc>>2]|0; - $176 = HEAP32[$db>>2]|0; - $177 = (($176) + 56|0); - $178 = HEAP32[$177>>2]|0; - $179 = $175 & $178; - HEAP32[$0>>2] = $179; - $180 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($180|0); + $221 = HEAP32[$pBt>>2]|0; + $222 = HEAP32[$221>>2]|0; + $223 = HEAP32[$0>>2]|0; + $224 = HEAP32[$223>>2]|0; + $225 = ((($224)) + 496|0); + $226 = HEAP32[$225>>2]|0; + $227 = (_sqlite3PagerOpenSavepoint($222,$226)|0); + HEAP32[$rc>>2] = $227; + $228 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($228|0); } -function _sqlite3Reprepare($p) { +function _sqlite3BtreeGetMeta($p,$idx,$pMeta) { $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pNew = 0, $rc = 0, $zSql = 0, label = 0, sp = 0; + $idx = $idx|0; + $pMeta = $pMeta|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rc = sp + 12|0; - $pNew = sp + 8|0; - $zSql = sp + 4|0; - $db = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_sql($2)|0); - HEAP32[$zSql>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3VdbeDb($4)|0); - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = HEAP32[$zSql>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3LockAndPrepare($6,$7,-1,0,$8,$pNew,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)!=(0); - if (!($11)) { - $17 = HEAP32[$pNew>>2]|0; - $18 = HEAP32[$1>>2]|0; - _sqlite3VdbeSwap($17,$18); - $19 = HEAP32[$pNew>>2]|0; - $20 = HEAP32[$1>>2]|0; - (_sqlite3TransferBindings($19,$20)|0); - $21 = HEAP32[$pNew>>2]|0; - _sqlite3VdbeResetStepResult($21); - $22 = HEAP32[$pNew>>2]|0; - (_sqlite3VdbeFinalize($22)|0); - HEAP32[$0>>2] = 0; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(7); - if ($13) { - $14 = HEAP32[$db>>2]|0; - $15 = (($14) + 64|0); - HEAP8[$15>>0] = 1; - } - $16 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $16; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $pBt = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $idx; + HEAP32[$2>>2] = $pMeta; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pBt>>2] = $5; + $6 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($6); + $7 = HEAP32[$1>>2]|0; + $8 = $7<<2; + $9 = (36 + ($8))|0; + $10 = HEAP32[$pBt>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 56|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($9)|0); + $16 = (_sqlite3Get4byte($15)|0); + $17 = HEAP32[$2>>2]|0; + HEAP32[$17>>2] = $16; + STACKTOP = sp;return; } -function _sqlite3DbStrDup($db,$z) { - $db = $db|0; - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $n = 0, $zNew = 0, label = 0, sp = 0; +function _sqlite3BtreeIsInReadTrans($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $zNew = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $z; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); - } - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3Strlen30($5)|0); - $7 = (($6) + 1)|0; - HEAP32[$n>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$n>>2]|0; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = (_sqlite3DbMallocRaw($8,$9,$11)|0); - HEAP32[$zNew>>2] = $12; - $13 = HEAP32[$zNew>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$zNew>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$n>>2]|0; - _memcpy(($15|0),($16|0),($17|0))|0; - } - $18 = HEAP32[$zNew>>2]|0; - HEAP32[$0>>2] = $18; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)!=(0); + $6 = $5&1; + STACKTOP = sp;return ($6|0); } -function _sqlite3_user_data($p) { +function _sqlite3BtreeGetPageSize($p) { $p = $p|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -17543,6153 +15777,6360 @@ function _sqlite3_user_data($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); + $2 = ((($1)) + 4|0); $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 32|0); $5 = HEAP32[$4>>2]|0; STACKTOP = sp;return ($5|0); } -function _sqlite3_context_db_handle($p) { - $p = $p|0; +function _sqlite3PagerGetJournalMode($pPager) { + $pPager = $pPager|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $p; + HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 32|0); - $4 = HEAP32[$3>>2]|0; + $2 = ((($1)) + 5|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; STACKTOP = sp;return ($4|0); } -function _sqlite3_aggregate_context($p,$nByte) { - $p = $p|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nByte; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & 8192; - $10 = ($9|0)==(0); - $11 = HEAP32[$1>>2]|0; - if ($10) { - $12 = HEAP32[$2>>2]|0; - $13 = (_createAggContext($11,$12)|0); - HEAP32[$0>>2] = $13; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } else { - $14 = (($11) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$0>>2] = $17; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } - return 0|0; -} -function _createAggContext($p,$nByte) { +function _sqlite3BtreeLastPage($p) { $p = $p|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pMem = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pMem = sp; + $0 = sp; HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nByte; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pMem>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)<=(0); - $7 = HEAP32[$pMem>>2]|0; - if ($6) { - _sqlite3VdbeMemSetNull($7); - $8 = HEAP32[$pMem>>2]|0; - $9 = (($8) + 16|0); - HEAP32[$9>>2] = 0; - } else { - $10 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemClearAndResize($7,$10)|0); - $11 = HEAP32[$pMem>>2]|0; - $12 = (($11) + 8|0); - HEAP16[$12>>1] = 8192; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$pMem>>2]|0; - HEAP32[$16>>2] = $15; - $17 = HEAP32[$pMem>>2]|0; - $18 = (($17) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)!=(0|0); - if ($20) { - $21 = HEAP32[$pMem>>2]|0; - $22 = (($21) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$1>>2]|0; - _memset(($23|0),0,($24|0))|0; - } - } - $25 = HEAP32[$pMem>>2]|0; - $26 = (($25) + 16|0); - $27 = HEAP32[$26>>2]|0; - STACKTOP = sp;return ($27|0); -} -function _sqlite3DbMallocZero($db,$0,$1) { - $db = $db|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $p = sp + 8|0; - HEAP32[$2>>2] = $db; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = $3; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3DbMallocRaw($8,$11,$14)|0); - HEAP32[$p>>2] = $15; - $16 = HEAP32[$p>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { - $25 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($25|0); - } - $18 = HEAP32[$p>>2]|0; - $19 = $3; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - _memset(($18|0),0,($21|0))|0; - $25 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($25|0); -} -function _sqlite3_column_count($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pVm = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pVm = sp; - HEAP32[$0>>2] = $pStmt; $1 = HEAP32[$0>>2]|0; - HEAP32[$pVm>>2] = $1; - $2 = HEAP32[$pVm>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $8 = 0; - STACKTOP = sp;return ($8|0); - } - $4 = HEAP32[$pVm>>2]|0; - $5 = (($4) + 84|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7; - STACKTOP = sp;return ($8|0); -} -function _sqlite3_data_count($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pVm = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pVm = sp; - HEAP32[$1>>2] = $pStmt; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pVm>>2] = $2; - $3 = HEAP32[$pVm>>2]|0; - $4 = ($3|0)==(0|0); - if (!($4)) { - $5 = HEAP32[$pVm>>2]|0; - $6 = (($5) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = HEAP32[$pVm>>2]|0; - $10 = (($9) + 84|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - HEAP32[$0>>2] = $12; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } - } - HEAP32[$0>>2] = 0; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); -} -function _sqlite3_column_blob($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_blob($4)|0); - HEAP32[$val>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$val>>2]|0; - STACKTOP = sp;return ($7|0); + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_btreePagecount($3)|0); + STACKTOP = sp;return ($4|0); } -function _columnMem($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pOut = 0, $pVm = 0, label = 0, sp = 0; +function _sqlite3PagerAcquire($pPager,$pgno,$ppPage,$flags) { + $pPager = $pPager|0; + $pgno = $pgno|0; + $ppPage = $ppPage|0; + $flags = $flags|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bMmapOk = 0, $iFrame = 0, $noContent = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pBase = 0, $pData = 0, $pPg = 0, $rc = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp; $1 = sp + 8|0; - $pVm = sp + 4|0; - $pOut = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pVm>>2] = $2; - $3 = HEAP32[$pVm>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$pVm>>2]|0; - $6 = (($5) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$pVm>>2]|0; - $11 = (($10) + 84|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = ($9|0)<($13|0); - $15 = HEAP32[$1>>2]|0; - $16 = ($15|0)>=(0); - $or$cond = $14 & $16; - if ($or$cond) { - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$pVm>>2]|0; - $19 = (($18) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + (($17*40)|0)|0); - HEAP32[$pOut>>2] = $21; - $30 = HEAP32[$pOut>>2]|0; - STACKTOP = sp;return ($30|0); - } - } + $2 = sp + 36|0; + $3 = sp + 16|0; + $4 = sp + 32|0; + $rc = sp + 40|0; + $pPg = sp + 44|0; + $iFrame = sp + 24|0; + $noContent = sp + 20|0; + $bMmapOk = sp + 12|0; + $pData = sp + 4|0; + $pBase = sp + 28|0; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $pgno; + HEAP32[$3>>2] = $ppPage; + HEAP32[$4>>2] = $flags; + HEAP32[$rc>>2] = 0; + HEAP32[$pPg>>2] = 0; + HEAP32[$iFrame>>2] = 0; + $5 = HEAP32[$4>>2]|0; + $6 = $5 & 1; + HEAP32[$noContent>>2] = $6; + $7 = 0; + HEAP32[$bMmapOk>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = (_sqlite3CorruptError(46160)|0); + HEAP32[$0>>2] = $10; + $207 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($207|0); } - $22 = HEAP32[$pVm>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$pVm>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$pVm>>2]|0; - $28 = HEAP32[$27>>2]|0; - _sqlite3Error($28,25); + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0); + do { + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 40|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$rc>>2] = $17; + label = 22; + } else { + $18 = HEAP32[$bMmapOk>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = (_pagerUseWal($20)|0); + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 208|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = (_sqlite3WalFindFrame($25,$26,$iFrame)|0); + HEAP32[$rc>>2] = $27; + $28 = HEAP32[$rc>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + break; + } + } + } + $30 = HEAP32[$bMmapOk>>2]|0; + $31 = ($30|0)!=(0); + $32 = HEAP32[$iFrame>>2]|0; + $33 = ($32|0)==(0); + $or$cond = $31 & $33; + if ($or$cond) { + HEAP32[$pData>>2] = 0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 60|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = (($37) - 1)|0; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 152|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = (___muldi3(($38|0),0,($41|0),($43|0))|0); + $45 = tempRet0; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 152|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_sqlite3OsFetch($36,$44,$45,$48,$pData)|0); + HEAP32[$rc>>2] = $49; + $50 = HEAP32[$rc>>2]|0; + $51 = ($50|0)==(0); + $52 = HEAP32[$pData>>2]|0; + $53 = ($52|0)!=(0|0); + $or$cond3 = $51 & $53; + if ($or$cond3) { + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = ($57|0)>(1); + if ($58) { + $59 = HEAP32[$1>>2]|0; + $60 = HEAP32[$2>>2]|0; + $61 = (_sqlite3PagerLookup($59,$60)|0); + HEAP32[$pPg>>2] = $61; + } + $62 = HEAP32[$pPg>>2]|0; + $63 = ($62|0)==(0|0); + $64 = HEAP32[$1>>2]|0; + if ($63) { + $65 = HEAP32[$2>>2]|0; + $66 = HEAP32[$pData>>2]|0; + $67 = (_pagerAcquireMapPage($64,$65,$66,$pPg)|0); + HEAP32[$rc>>2] = $67; + } else { + $68 = ((($64)) + 60|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$2>>2]|0; + $71 = (($70) - 1)|0; + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 152|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)<(0); + $76 = $75 << 31 >> 31; + $77 = (___muldi3(($71|0),0,($74|0),($76|0))|0); + $78 = tempRet0; + $79 = HEAP32[$pData>>2]|0; + (_sqlite3OsUnfetch($69,$77,$78,$79)|0); + } + $80 = HEAP32[$pPg>>2]|0; + $81 = ($80|0)!=(0|0); + if ($81) { + $82 = HEAP32[$pPg>>2]|0; + $83 = HEAP32[$3>>2]|0; + HEAP32[$83>>2] = $82; + HEAP32[$0>>2] = 0; + $207 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($207|0); + } + } + $84 = HEAP32[$rc>>2]|0; + $85 = ($84|0)!=(0); + if ($85) { + break; + } + } + $86 = HEAP32[$1>>2]|0; + $87 = ((($86)) + 204|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$2>>2]|0; + $90 = (_sqlite3PcacheFetch($88,$89,3)|0); + HEAP32[$pBase>>2] = $90; + $91 = HEAP32[$pBase>>2]|0; + $92 = ($91|0)==(0|0); + if ($92) { + $93 = HEAP32[$1>>2]|0; + $94 = ((($93)) + 204|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$2>>2]|0; + $97 = (_sqlite3PcacheFetchStress($95,$96,$pBase)|0); + HEAP32[$rc>>2] = $97; + $98 = HEAP32[$rc>>2]|0; + $99 = ($98|0)!=(0); + if ($99) { + break; + } + } + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 204|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$2>>2]|0; + $104 = HEAP32[$pBase>>2]|0; + $105 = (_sqlite3PcacheFetchFinish($102,$103,$104)|0); + $106 = HEAP32[$3>>2]|0; + HEAP32[$106>>2] = $105; + HEAP32[$pPg>>2] = $105; + $107 = HEAP32[$pPg>>2]|0; + $108 = ($107|0)==(0|0); + if ($108) { + HEAP32[$rc>>2] = 7; + label = 22; + } else { + label = 22; + } + } + } while(0); + do { + if ((label|0) == 22) { + $109 = HEAP32[$rc>>2]|0; + $110 = ($109|0)!=(0); + if ($110) { + HEAP32[$pPg>>2] = 0; + break; + } + $111 = HEAP32[$3>>2]|0; + $112 = HEAP32[$111>>2]|0; + $113 = ((($112)) + 16|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)==(0|0); + $116 = HEAP32[$noContent>>2]|0; + $117 = ($116|0)!=(0); + $or$cond5 = $115 | $117; + if (!($or$cond5)) { + $118 = HEAP32[$1>>2]|0; + $119 = ((($118)) + 184|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + 1)|0; + HEAP32[$119>>2] = $121; + HEAP32[$0>>2] = 0; + $207 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($207|0); + } + $122 = HEAP32[$3>>2]|0; + $123 = HEAP32[$122>>2]|0; + HEAP32[$pPg>>2] = $123; + $124 = HEAP32[$1>>2]|0; + $125 = HEAP32[$pPg>>2]|0; + $126 = ((($125)) + 16|0); + HEAP32[$126>>2] = $124; + $127 = HEAP32[$2>>2]|0; + $128 = ($127>>>0)>(2147483647); + if (!($128)) { + $129 = HEAP32[$2>>2]|0; + $130 = HEAP32[916>>2]|0; + $131 = HEAP32[$1>>2]|0; + $132 = ((($131)) + 152|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($130|0) / ($133|0))&-1; + $135 = (($134) + 1)|0; + $136 = ($129|0)==($135|0); + if (!($136)) { + $138 = HEAP32[$1>>2]|0; + $139 = ((($138)) + 15|0); + $140 = HEAP8[$139>>0]|0; + $141 = $140&255; + $142 = ($141|0)!=(0); + if ($142) { + label = 32; + } else { + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 24|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$2>>2]|0; + $147 = ($145>>>0)<($146>>>0); + $148 = HEAP32[$noContent>>2]|0; + $149 = ($148|0)!=(0); + $or$cond7 = $147 | $149; + if ($or$cond7) { + label = 32; + } else { + $150 = HEAP32[$1>>2]|0; + $151 = ((($150)) + 60|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)!=(0|0); + if ($154) { + $179 = HEAP32[$1>>2]|0; + $180 = (_pagerUseWal($179)|0); + $181 = ($180|0)!=(0); + $182 = HEAP32[$bMmapOk>>2]|0; + $183 = ($182|0)==(0); + $or$cond9 = $181 & $183; + if ($or$cond9) { + $184 = HEAP32[$1>>2]|0; + $185 = ((($184)) + 208|0); + $186 = HEAP32[$185>>2]|0; + $187 = HEAP32[$2>>2]|0; + $188 = (_sqlite3WalFindFrame($186,$187,$iFrame)|0); + HEAP32[$rc>>2] = $188; + $189 = HEAP32[$rc>>2]|0; + $190 = ($189|0)!=(0); + if ($190) { + break; + } + } + $191 = HEAP32[$1>>2]|0; + $192 = ((($191)) + 184|0); + $193 = ((($192)) + 4|0); + $194 = HEAP32[$193>>2]|0; + $195 = (($194) + 1)|0; + HEAP32[$193>>2] = $195; + $196 = HEAP32[$pPg>>2]|0; + $197 = HEAP32[$iFrame>>2]|0; + $198 = (_readDbPage($196,$197)|0); + HEAP32[$rc>>2] = $198; + $199 = HEAP32[$rc>>2]|0; + $200 = ($199|0)!=(0); + if ($200) { + break; + } + } else { + label = 32; + } + } + } + if ((label|0) == 32) { + $155 = HEAP32[$2>>2]|0; + $156 = HEAP32[$1>>2]|0; + $157 = ((($156)) + 156|0); + $158 = HEAP32[$157>>2]|0; + $159 = ($155>>>0)>($158>>>0); + if ($159) { + HEAP32[$rc>>2] = 13; + break; + } + $160 = HEAP32[$noContent>>2]|0; + $161 = ($160|0)!=(0); + if ($161) { + _sqlite3BeginBenignMalloc(); + $162 = HEAP32[$2>>2]|0; + $163 = HEAP32[$1>>2]|0; + $164 = ((($163)) + 28|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($162>>>0)<=($165>>>0); + if ($166) { + $167 = HEAP32[$1>>2]|0; + $168 = ((($167)) + 56|0); + $169 = HEAP32[$168>>2]|0; + $170 = HEAP32[$2>>2]|0; + (_sqlite3BitvecSet($169,$170)|0); + } + $171 = HEAP32[$1>>2]|0; + $172 = HEAP32[$2>>2]|0; + (_addToSavepointBitvecs($171,$172)|0); + _sqlite3EndBenignMalloc(); + } + $173 = HEAP32[$pPg>>2]|0; + $174 = ((($173)) + 4|0); + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$1>>2]|0; + $177 = ((($176)) + 152|0); + $178 = HEAP32[$177>>2]|0; + _memset(($175|0),0,($178|0))|0; + } + HEAP32[$0>>2] = 0; + $207 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($207|0); + } + } + $137 = (_sqlite3CorruptError(46239)|0); + HEAP32[$rc>>2] = $137; } + } while(0); + $201 = HEAP32[$pPg>>2]|0; + $202 = ($201|0)!=(0|0); + if ($202) { + $203 = HEAP32[$pPg>>2]|0; + _sqlite3PcacheDrop($203); } - $29 = (_columnNullValue()|0); - HEAP32[$pOut>>2] = $29; - $30 = HEAP32[$pOut>>2]|0; - STACKTOP = sp;return ($30|0); + $204 = HEAP32[$1>>2]|0; + _pagerUnlockIfUnused($204); + $205 = HEAP32[$3>>2]|0; + HEAP32[$205>>2] = 0; + $206 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $206; + $207 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($207|0); } -function _columnMallocFailure($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3PagerGetData($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; + $0 = sp; + HEAP32[$0>>2] = $pPg; $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$p>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 80|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3ApiExit($5,$8)|0); - $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 80|0); - HEAP32[$11>>2] = $9; - STACKTOP = sp;return; -} -function _sqlite3_column_bytes($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_bytes($4)|0); - HEAP32[$val>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$val>>2]|0; - STACKTOP = sp;return ($7|0); + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); } -function _sqlite3_column_double($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $val = 0, label = 0, sp = 0; +function _backupOnePage($p,$iSrcPg,$zSrcData,$bUpdate) { + $p = $p|0; + $iSrcPg = $iSrcPg|0; + $zSrcData = $zSrcData|0; + $bUpdate = $bUpdate|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iDest = 0, $iEnd = 0, $iOff = 0, $nCopy = 0, $nDestPgsz = 0, $nSrcPgsz = 0, $or$cond = 0, $pDestPager = 0, $pDestPg = 0, $rc = 0; + var $zDestData = 0, $zIn = 0, $zOut = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (+_sqlite3_value_double($4)); - HEAPF64[$val>>3] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = +HEAPF64[$val>>3]; - STACKTOP = sp;return (+$7); + STACKTOP = STACKTOP + 80|0; + $0 = sp + 20|0; + $1 = sp + 24|0; + $2 = sp + 52|0; + $3 = sp + 60|0; + $pDestPager = sp + 28|0; + $nSrcPgsz = sp + 48|0; + $nDestPgsz = sp + 56|0; + $nCopy = sp + 64|0; + $iEnd = sp; + $rc = sp + 44|0; + $iOff = sp + 8|0; + $pDestPg = sp + 16|0; + $iDest = sp + 36|0; + $zIn = sp + 40|0; + $zDestData = sp + 32|0; + $zOut = sp + 68|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $iSrcPg; + HEAP32[$2>>2] = $zSrcData; + HEAP32[$3>>2] = $bUpdate; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3BtreePager($6)|0); + HEAP32[$pDestPager>>2] = $7; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3BtreeGetPageSize($10)|0); + HEAP32[$nSrcPgsz>>2] = $11; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3BtreeGetPageSize($14)|0); + HEAP32[$nDestPgsz>>2] = $15; + $16 = HEAP32[$nSrcPgsz>>2]|0; + $17 = HEAP32[$nDestPgsz>>2]|0; + $18 = ($16|0)<($17|0); + $19 = HEAP32[$nSrcPgsz>>2]|0; + $20 = HEAP32[$nDestPgsz>>2]|0; + $21 = $18 ? $19 : $20; + HEAP32[$nCopy>>2] = $21; + $22 = HEAP32[$1>>2]|0; + $23 = HEAP32[$nSrcPgsz>>2]|0; + $24 = ($23|0)<(0); + $25 = $24 << 31 >> 31; + $26 = (___muldi3(($22|0),0,($23|0),($25|0))|0); + $27 = tempRet0; + $28 = $iEnd; + $29 = $28; + HEAP32[$29>>2] = $26; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $27; + HEAP32[$rc>>2] = 0; + $32 = HEAP32[$nSrcPgsz>>2]|0; + $33 = HEAP32[$nDestPgsz>>2]|0; + $34 = ($32|0)!=($33|0); + if ($34) { + $35 = HEAP32[$pDestPager>>2]|0; + $36 = (_sqlite3PagerIsMemdb($35)|0); + $37 = ($36|0)!=(0); + if ($37) { + HEAP32[$rc>>2] = 8; + } + } + $38 = $iEnd; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$nSrcPgsz>>2]|0; + $45 = ($44|0)<(0); + $46 = $45 << 31 >> 31; + $47 = (_i64Subtract(($40|0),($43|0),($44|0),($46|0))|0); + $48 = tempRet0; + $49 = $iOff; + $50 = $49; + HEAP32[$50>>2] = $47; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $48; + while(1) { + $53 = HEAP32[$rc>>2]|0; + $54 = ($53|0)==(0); + if (!($54)) { + label = 14; + break; + } + $55 = $iOff; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = $iEnd; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = ($60|0)<($66|0); + $68 = ($57>>>0)<($63>>>0); + $69 = ($60|0)==($66|0); + $70 = $69 & $68; + $71 = $67 | $70; + if (!($71)) { + label = 14; + break; + } + HEAP32[$pDestPg>>2] = 0; + $72 = $iOff; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$nDestPgsz>>2]|0; + $79 = ($78|0)<(0); + $80 = $79 << 31 >> 31; + $81 = (___divdi3(($74|0),($77|0),($78|0),($80|0))|0); + $82 = tempRet0; + $83 = (($81) + 1)|0; + HEAP32[$iDest>>2] = $83; + $84 = HEAP32[$iDest>>2]|0; + $85 = HEAP32[916>>2]|0; + $86 = HEAP32[$0>>2]|0; + $87 = ((($86)) + 4|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 4|0); + $90 = HEAP32[$89>>2]|0; + $91 = ((($90)) + 32|0); + $92 = HEAP32[$91>>2]|0; + $93 = (($85>>>0) / ($92>>>0))&-1; + $94 = (($93) + 1)|0; + $95 = ($84|0)==($94|0); + if (!($95)) { + $96 = HEAP32[$pDestPager>>2]|0; + $97 = HEAP32[$iDest>>2]|0; + $98 = (_sqlite3PagerAcquire($96,$97,$pDestPg,0)|0); + HEAP32[$rc>>2] = $98; + $99 = (0)==($98|0); + if ($99) { + $100 = HEAP32[$pDestPg>>2]|0; + $101 = (_sqlite3PagerWrite($100)|0); + HEAP32[$rc>>2] = $101; + $102 = (0)==($101|0); + if ($102) { + $103 = $iOff; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$nSrcPgsz>>2]|0; + $110 = ($109|0)<(0); + $111 = $110 << 31 >> 31; + $112 = (___remdi3(($105|0),($108|0),($109|0),($111|0))|0); + $113 = tempRet0; + $114 = HEAP32[$2>>2]|0; + $115 = (($114) + ($112)|0); + HEAP32[$zIn>>2] = $115; + $116 = HEAP32[$pDestPg>>2]|0; + $117 = (_sqlite3PagerGetData($116)|0); + HEAP32[$zDestData>>2] = $117; + $118 = $iOff; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = (($118) + 4)|0; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$nDestPgsz>>2]|0; + $125 = ($124|0)<(0); + $126 = $125 << 31 >> 31; + $127 = (___remdi3(($120|0),($123|0),($124|0),($126|0))|0); + $128 = tempRet0; + $129 = HEAP32[$zDestData>>2]|0; + $130 = (($129) + ($127)|0); + HEAP32[$zOut>>2] = $130; + $131 = HEAP32[$zOut>>2]|0; + $132 = HEAP32[$zIn>>2]|0; + $133 = HEAP32[$nCopy>>2]|0; + _memcpy(($131|0),($132|0),($133|0))|0; + $134 = HEAP32[$pDestPg>>2]|0; + $135 = (_sqlite3PagerGetExtra($134)|0); + HEAP8[$135>>0] = 0; + $136 = $iOff; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = ($138|0)==(0); + $143 = ($141|0)==(0); + $144 = $142 & $143; + $145 = HEAP32[$3>>2]|0; + $146 = ($145|0)==(0); + $or$cond = $144 & $146; + if ($or$cond) { + $147 = HEAP32[$zOut>>2]|0; + $148 = ((($147)) + 28|0); + $149 = HEAP32[$0>>2]|0; + $150 = ((($149)) + 24|0); + $151 = HEAP32[$150>>2]|0; + $152 = (_sqlite3BtreeLastPage($151)|0); + _sqlite3Put4byte($148,$152); + } + } + } + $153 = HEAP32[$pDestPg>>2]|0; + _sqlite3PagerUnref($153); + } + $154 = HEAP32[$nDestPgsz>>2]|0; + $155 = ($154|0)<(0); + $156 = $155 << 31 >> 31; + $157 = $iOff; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = (($157) + 4)|0; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (_i64Add(($159|0),($162|0),($154|0),($156|0))|0); + $164 = tempRet0; + $165 = $iOff; + $166 = $165; + HEAP32[$166>>2] = $163; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + } + if ((label|0) == 14) { + $169 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($169|0); + } + return (0)|0; } -function _sqlite3_column_text($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $val = 0, label = 0, sp = 0; +function _sqlite3PagerUnref($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $val = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$val>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$val>>2]|0; - STACKTOP = sp;return ($7|0); + $0 = sp; + HEAP32[$0>>2] = $pPg; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + STACKTOP = sp;return; + } + $3 = HEAP32[$0>>2]|0; + _sqlite3PagerUnrefNotNull($3); + STACKTOP = sp;return; } -function _sqlite3_column_type($pStmt,$i) { - $pStmt = $pStmt|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $iType = 0, label = 0, sp = 0; +function _attachBackupObject($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $iType = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnMem($2,$3)|0); - $5 = (_sqlite3_value_type($4)|0); - HEAP32[$iType>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _columnMallocFailure($6); - $7 = HEAP32[$iType>>2]|0; - STACKTOP = sp;return ($7|0); + $0 = sp + 4|0; + $pp = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_sqlite3BtreePager($3)|0); + $5 = (_sqlite3PagerBackupPtr($4)|0); + HEAP32[$pp>>2] = $5; + $6 = HEAP32[$pp>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 44|0); + HEAP32[$9>>2] = $7; + $10 = HEAP32[$0>>2]|0; + $11 = HEAP32[$pp>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 40|0); + HEAP32[$13>>2] = 1; + STACKTOP = sp;return; } -function _sqlite3_column_name($pStmt,$N) { - $pStmt = $pStmt|0; - $N = $N|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3BtreeNewDb($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $N; + $rc = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($1); $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_columnName($2,$3,17,0)|0); - STACKTOP = sp;return ($4|0); + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 44|0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_newDatabase($8)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($10|0); } -function _columnName($pStmt,$N,$xFunc,$useType) { - $pStmt = $pStmt|0; - $N = $N|0; - $xFunc = $xFunc|0; - $useType = $useType|0; +function _sqlite3BtreeUpdateMeta($p,$idx,$iMeta) { + $p = $p|0; + $idx = $idx|0; + $iMeta = $iMeta|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $or$cond = 0, $p = 0, $ret = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pP1 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $ret = sp + 12|0; - $p = sp + 8|0; - $n = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $N; - HEAP32[$2>>2] = $xFunc; - HEAP32[$3>>2] = $useType; - HEAP32[$ret>>2] = 0; - $4 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$db>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3_column_count($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$n>>2]|0; - $11 = ($9|0)<($10|0); - $12 = HEAP32[$1>>2]|0; - $13 = ($12|0)>=(0); - $or$cond = $11 & $13; - if (!($or$cond)) { - $32 = HEAP32[$ret>>2]|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $pBt = sp + 8|0; + $pP1 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $idx; + HEAP32[$2>>2] = $iMeta; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pBt>>2] = $5; + $6 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($6); + $7 = HEAP32[$pBt>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 56|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$pP1>>2] = $11; + $12 = HEAP32[$pBt>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 68|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3PagerWrite($16)|0); + HEAP32[$rc>>2] = $17; + $18 = HEAP32[$rc>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $32 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($32|0); } - $14 = HEAP32[$3>>2]|0; - $15 = HEAP32[$n>>2]|0; - $16 = Math_imul($14, $15)|0; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + ($16))|0; - HEAP32[$1>>2] = $18; - $19 = HEAP32[$2>>2]|0; $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 16|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($20*40)|0)|0); - $25 = (FUNCTION_TABLE_ii[$19 & 31]($24)|0); - HEAP32[$ret>>2] = $25; - $26 = HEAP32[$db>>2]|0; - $27 = (($26) + 64|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)!=(0); - if (!($29)) { - $32 = HEAP32[$ret>>2]|0; + $21 = $20<<2; + $22 = (36 + ($21))|0; + $23 = HEAP32[$pP1>>2]|0; + $24 = (($23) + ($22)|0); + $25 = HEAP32[$2>>2]|0; + _sqlite3Put4byte($24,$25); + $26 = HEAP32[$1>>2]|0; + $27 = ($26|0)==(7); + if (!($27)) { + $32 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($32|0); } - $30 = HEAP32[$db>>2]|0; - $31 = (($30) + 64|0); - HEAP8[$31>>0] = 0; - HEAP32[$ret>>2] = 0; - $32 = HEAP32[$ret>>2]|0; + $28 = HEAP32[$2>>2]|0; + $29 = $28&255; + $30 = HEAP32[$pBt>>2]|0; + $31 = ((($30)) + 18|0); + HEAP8[$31>>0] = $29; + $32 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($32|0); } -function _sqlite3_bind_blob($pStmt,$i,$zData,$nData,$xDel) { - $pStmt = $pStmt|0; - $i = $i|0; - $zData = $zData|0; - $nData = $nData|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $zData; - HEAP32[$3>>2] = $nData; - HEAP32[$4>>2] = $xDel; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_bindText($5,$6,$7,$8,$9,0)|0); - STACKTOP = sp;return ($10|0); -} -function _bindText($pStmt,$i,$zData,$nData,$xDel,$encoding) { - $pStmt = $pStmt|0; - $i = $i|0; - $zData = $zData|0; - $nData = $nData|0; - $xDel = $xDel|0; - $encoding = $encoding|0; +function _sqlite3ResetAllSchemasOfConnection($db) { + $db = $db|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $pVar = 0, $rc = 0; - var label = 0, sp = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pDb = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 32|0; - $p = sp + 8|0; - $pVar = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $zData; - HEAP32[$3>>2] = $nData; - HEAP32[$4>>2] = $xDel; - HEAP8[$5>>0] = $encoding; - $6 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (_vdbeUnbind($7,$8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { - $49 = HEAP32[$4>>2]|0; - $50 = ($49|0)!=(0|0); - $51 = HEAP32[$4>>2]|0; - $52 = ($51|0)!=((-1)|0); - $or$cond = $50 & $52; - if (!($or$cond)) { - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $i = sp + 4|0; + $pDb = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnterAll($1); + HEAP32[$i>>2] = 0; + while(1) { + $2 = HEAP32[$i>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2|0)<($5|0); + if (!($6)) { + break; } - $53 = HEAP32[$4>>2]|0; - $54 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$53 & 31]($54); - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); - } - $12 = HEAP32[$2>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); - } - $14 = HEAP32[$1>>2]|0; - $15 = (($14) - 1)|0; - $16 = HEAP32[$p>>2]|0; - $17 = (($16) + 60|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + (($15*40)|0)|0); - HEAP32[$pVar>>2] = $19; - $20 = HEAP32[$pVar>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = HEAP8[$5>>0]|0; - $24 = HEAP32[$4>>2]|0; - $25 = (_sqlite3VdbeMemSetStr($20,$21,$22,$23,$24)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $28 = HEAP8[$5>>0]|0; - $29 = $28&255; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$pVar>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + 77|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = (_sqlite3VdbeChangeEncoding($31,$40)|0); - HEAP32[$rc>>2] = $41; + $7 = HEAP32[$i>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($7<<4)|0); + HEAP32[$pDb>>2] = $11; + $12 = HEAP32[$pDb>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$pDb>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3SchemaClear($18); } + $19 = HEAP32[$i>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$i>>2] = $20; } - $42 = HEAP32[$p>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$rc>>2]|0; - _sqlite3Error($43,$44); - $45 = HEAP32[$p>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$rc>>2]|0; - $48 = (_sqlite3ApiExit($46,$47)|0); - HEAP32[$rc>>2] = $48; - $55 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($55|0); + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP32[$22>>2]|0; + $24 = $23 & -3; + HEAP32[$22>>2] = $24; + $25 = HEAP32[$0>>2]|0; + _sqlite3VtabUnlockList($25); + $26 = HEAP32[$0>>2]|0; + _sqlite3CollapseDatabaseArray($26); + STACKTOP = sp;return; } -function _sqlite3_bind_double($pStmt,$i,$rValue) { - $pStmt = $pStmt|0; - $i = $i|0; - $rValue = +$rValue; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0; - var sp = 0; +function _sqlite3BtreeSetVersion($pBtree,$iVersion) { + $pBtree = $pBtree|0; + $iVersion = $iVersion|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $aData = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp; - $rc = sp + 12|0; - $p = sp + 8|0; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAPF64[$2>>3] = $rValue; - $3 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_vdbeUnbind($4,$5)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - $16 = HEAP32[$rc>>2]|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $pBt = sp + 8|0; + $rc = sp + 4|0; + $aData = sp; + HEAP32[$0>>2] = $pBtree; + HEAP32[$1>>2] = $iVersion; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pBt>>2] = $4; + $5 = HEAP32[$pBt>>2]|0; + $6 = ((($5)) + 22|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & -17; + $10 = $9&65535; + HEAP16[$6>>1] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ($11|0)==(1); + if ($12) { + $13 = HEAP32[$pBt>>2]|0; + $14 = ((($13)) + 22|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = $16 | 16; + $18 = $17&65535; + HEAP16[$14>>1] = $18; + } + $19 = HEAP32[$0>>2]|0; + $20 = (_sqlite3BtreeBeginTrans($19,0)|0); + HEAP32[$rc>>2] = $20; + $21 = HEAP32[$rc>>2]|0; + $22 = ($21|0)==(0); + do { + if ($22) { + $23 = HEAP32[$pBt>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 56|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$aData>>2] = $27; + $28 = HEAP32[$aData>>2]|0; + $29 = ((($28)) + 18|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP32[$1>>2]|0; + $33 = $32&255; + $34 = $33&255; + $35 = ($31|0)!=($34|0); + if (!($35)) { + $36 = HEAP32[$aData>>2]|0; + $37 = ((($36)) + 19|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = HEAP32[$1>>2]|0; + $41 = $40&255; + $42 = $41&255; + $43 = ($39|0)!=($42|0); + if (!($43)) { + break; + } + } + $44 = HEAP32[$0>>2]|0; + $45 = (_sqlite3BtreeBeginTrans($44,2)|0); + HEAP32[$rc>>2] = $45; + $46 = HEAP32[$rc>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP32[$pBt>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ((($50)) + 68|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_sqlite3PagerWrite($52)|0); + HEAP32[$rc>>2] = $53; + $54 = HEAP32[$rc>>2]|0; + $55 = ($54|0)==(0); + if ($55) { + $56 = HEAP32[$1>>2]|0; + $57 = $56&255; + $58 = HEAP32[$aData>>2]|0; + $59 = ((($58)) + 18|0); + HEAP8[$59>>0] = $57; + $60 = HEAP32[$1>>2]|0; + $61 = $60&255; + $62 = HEAP32[$aData>>2]|0; + $63 = ((($62)) + 19|0); + HEAP8[$63>>0] = $61; + } + } + } + } while(0); + $64 = HEAP32[$pBt>>2]|0; + $65 = ((($64)) + 22|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + $68 = $67 & -17; + $69 = $68&65535; + HEAP16[$65>>1] = $69; + $70 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($70|0); +} +function _sqlite3PagerFile($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 60|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _sqlite3PagerPagecount($pPager,$pnPage) { + $pPager = $pPager|0; + $pnPage = $pnPage|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $pnPage; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + HEAP32[$5>>2] = $4; + STACKTOP = sp;return; +} +function _sqlite3PagerWrite($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$1>>2] = $pPg; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 148|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 152|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($6>>>0)>($11>>>0); + $13 = HEAP32[$1>>2]|0; + if ($12) { + $14 = (_pagerWriteLargeSector($13)|0); + HEAP32[$0>>2] = $14; + $16 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($16|0); + } else { + $15 = (_pager_write($13)|0); + HEAP32[$0>>2] = $15; + $16 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($16|0); } - $9 = HEAP32[$1>>2]|0; - $10 = (($9) - 1)|0; - $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 60|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*40)|0)|0); - $15 = +HEAPF64[$2>>3]; - _sqlite3VdbeMemSetDouble($14,$15); - $16 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($16|0); + return (0)|0; } -function _vdbeUnbind($p,$i) { - $p = $p|0; - $i = $i|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $pVar = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3PagerCommitPhaseOne($pPager,$zMaster,$noSync) { + $pPager = $pPager|0; + $zMaster = $zMaster|0; + $noSync = $noSync|0; + var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0; + var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nNew = 0, $or$cond = 0, $pList = 0, $pPageOne = 0, $rc = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; + $0 = sp + 4|0; + $1 = sp + 16|0; $2 = sp + 8|0; - $pVar = sp + 4|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $i; - $3 = HEAP32[$1>>2]|0; - $4 = (_vdbeSafetyNotNull($3)|0); - $5 = ($4|0)!=(0); - if ($5) { - $6 = (_sqlite3MisuseError(68415)|0); - HEAP32[$0>>2] = $6; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + $3 = sp + 20|0; + $rc = sp + 28|0; + $pList = sp; + $pPageOne = sp + 12|0; + $nNew = sp + 24|0; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $zMaster; + HEAP32[$3>>2] = $noSync; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 40|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = HEAP32[$1>>2]|0; + if ($7) { + $9 = ((($8)) + 40|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$0>>2] = $10; + $112 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($112|0); } - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(-1108210269); - if (!($10)) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 76|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>=(0); - if (!($14)) { - $21 = HEAP32[$2>>2]|0; - $22 = ($21|0)<(1); - if (!($22)) { - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 68|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26 << 16 >> 16; - $28 = ($23|0)>($27|0); - if (!($28)) { - $31 = HEAP32[$2>>2]|0; - $32 = (($31) + -1)|0; - HEAP32[$2>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 60|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + (($33*40)|0)|0); - HEAP32[$pVar>>2] = $37; - $38 = HEAP32[$pVar>>2]|0; - _sqlite3VdbeMemRelease($38); - $39 = HEAP32[$pVar>>2]|0; - $40 = (($39) + 8|0); - HEAP16[$40>>1] = 1; - $41 = HEAP32[$1>>2]|0; - $42 = HEAP32[$41>>2]|0; - _sqlite3Error($42,0); - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 88|0); - $45 = HEAP16[$44>>1]|0; - $46 = ($45&65535) >>> 10; - $47 = $46 & 1; - $48 = $47&65535; - $49 = ($48|0)!=(0); - do { - if ($49) { - $50 = HEAP32[$2>>2]|0; - $51 = ($50|0)<(32); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 188|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = 1 << $55; - $57 = $54 & $56; - $58 = ($57|0)!=(0); - if (!($58)) { - label = 12; + $11 = ((($8)) + 16|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)<(3); + if ($14) { + HEAP32[$0>>2] = 0; + $112 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($112|0); + } + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 15|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)!=(0); + $19 = HEAP32[$1>>2]|0; + do { + if ($18) { + $20 = ((($19)) + 88|0); + $21 = HEAP32[$20>>2]|0; + _sqlite3BackupRestart($21); + } else { + $22 = (_pagerUseWal($19)|0); + $23 = ($22|0)!=(0); + $24 = HEAP32[$1>>2]|0; + if ($23) { + $25 = ((($24)) + 204|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3PcacheDirtyList($26)|0); + HEAP32[$pList>>2] = $27; + HEAP32[$pPageOne>>2] = 0; + $28 = HEAP32[$pList>>2]|0; + $29 = ($28|0)==(0|0); + if ($29) { + $30 = HEAP32[$1>>2]|0; + $31 = (_sqlite3PagerAcquire($30,1,$pPageOne,0)|0); + HEAP32[$rc>>2] = $31; + $32 = HEAP32[$pPageOne>>2]|0; + HEAP32[$pList>>2] = $32; + $33 = HEAP32[$pList>>2]|0; + $34 = ((($33)) + 12|0); + HEAP32[$34>>2] = 0; + } + $35 = HEAP32[$pList>>2]|0; + $36 = ($35|0)!=(0|0); + if ($36) { + $37 = HEAP32[$1>>2]|0; + $38 = HEAP32[$pList>>2]|0; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 24|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_pagerWalFrames($37,$38,$41,1)|0); + HEAP32[$rc>>2] = $42; + } + $43 = HEAP32[$pPageOne>>2]|0; + _sqlite3PagerUnref($43); + $44 = HEAP32[$rc>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + break; + } + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 204|0); + $48 = HEAP32[$47>>2]|0; + _sqlite3PcacheCleanAll($48); + break; + } + $49 = (_pager_incr_changecounter($24,0)|0); + HEAP32[$rc>>2] = $49; + $50 = HEAP32[$rc>>2]|0; + $51 = ($50|0)!=(0); + if (!($51)) { + $52 = HEAP32[$1>>2]|0; + $53 = HEAP32[$2>>2]|0; + $54 = (_writeMasterJournal($52,$53)|0); + HEAP32[$rc>>2] = $54; + $55 = HEAP32[$rc>>2]|0; + $56 = ($55|0)!=(0); + if (!($56)) { + $57 = HEAP32[$1>>2]|0; + $58 = (_syncJournal($57,0)|0); + HEAP32[$rc>>2] = $58; + $59 = HEAP32[$rc>>2]|0; + $60 = ($59|0)!=(0); + if (!($60)) { + $61 = HEAP32[$1>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 204|0); + $64 = HEAP32[$63>>2]|0; + $65 = (_sqlite3PcacheDirtyList($64)|0); + $66 = (_pager_write_pagelist($61,$65)|0); + HEAP32[$rc>>2] = $66; + $67 = HEAP32[$rc>>2]|0; + $68 = ($67|0)!=(0); + if (!($68)) { + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 204|0); + $71 = HEAP32[$70>>2]|0; + _sqlite3PcacheCleanAll($71); + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 24|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 32|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($74>>>0)>($77>>>0); + if ($78) { + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 24|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 24|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[916>>2]|0; + $86 = HEAP32[$1>>2]|0; + $87 = ((($86)) + 152|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($85|0) / ($88|0))&-1; + $90 = (($89) + 1)|0; + $91 = ($84|0)==($90|0); + $92 = $91&1; + $93 = (($81) - ($92))|0; + HEAP32[$nNew>>2] = $93; + $94 = HEAP32[$1>>2]|0; + $95 = HEAP32[$nNew>>2]|0; + $96 = (_pager_truncate($94,$95)|0); + HEAP32[$rc>>2] = $96; + $97 = HEAP32[$rc>>2]|0; + $98 = ($97|0)!=(0); + $99 = HEAP32[$3>>2]|0; + $100 = ($99|0)!=(0); + $or$cond = $98 | $100; + if ($or$cond) { + break; } } else { - label = 12; - } - if ((label|0) == 12) { - $59 = HEAP32[$1>>2]|0; - $60 = (($59) + 188|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(-1); - if (!($62)) { + $$old = HEAP32[$3>>2]|0; + $$old1 = ($$old|0)!=(0); + if ($$old1) { break; } } - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 88|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65 & -33; - $67 = $66 | 32; - HEAP16[$64>>1] = $67; + $101 = HEAP32[$1>>2]|0; + $102 = HEAP32[$2>>2]|0; + $103 = (_sqlite3PagerSync($101,$102)|0); + HEAP32[$rc>>2] = $103; } - } while(0); - HEAP32[$0>>2] = 0; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + } } } - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$29>>2]|0; - _sqlite3Error($30,25); - HEAP32[$0>>2] = 25; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + } + } while(0); + $104 = HEAP32[$rc>>2]|0; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$1>>2]|0; + $107 = (_pagerUseWal($106)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + $109 = HEAP32[$1>>2]|0; + $110 = ((($109)) + 16|0); + HEAP8[$110>>0] = 5; } } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - _sqlite3Error($16,21); - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 168|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$vararg_buffer>>2] = $19; - _sqlite3_log(21,31184,$vararg_buffer); - $20 = (_sqlite3MisuseError(68423)|0); - HEAP32[$0>>2] = $20; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + $111 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $111; + $112 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($112|0); } -function _sqlite3_bind_int($p,$i,$iValue) { - $p = $p|0; - $i = $i|0; - $iValue = $iValue|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3OsWrite($id,$pBuf,$amt,$0,$1) { + $id = $id|0; + $pBuf = $pBuf|0; + $amt = $amt|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $iValue; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)<(0); - $7 = $6 << 31 >> 31; - $8 = (_sqlite3_bind_int64($3,$4,$5,$7)|0); - STACKTOP = sp;return ($8|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $id; + HEAP32[$3>>2] = $pBuf; + HEAP32[$4>>2] = $amt; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = $5; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_iiiiii[$13 & 15]($14,$15,$16,$19,$22)|0); + STACKTOP = sp;return ($23|0); } -function _sqlite3_bind_int64($pStmt,$i,$0,$1) { - $pStmt = $pStmt|0; - $i = $i|0; +function _backupTruncateFile($pFile,$0,$1) { + $pFile = $pFile|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iCurrent = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp; - $rc = sp + 12|0; - $p = sp + 8|0; - HEAP32[$2>>2] = $pStmt; - HEAP32[$3>>2] = $i; + $3 = sp + 8|0; + $iCurrent = sp; + $rc = sp + 16|0; + HEAP32[$2>>2] = $pFile; + $4 = $3; $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (_vdbeUnbind($10,$11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3OsFileSize($8,$iCurrent)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } - $15 = HEAP32[$3>>2]|0; - $16 = (($15) - 1)|0; - $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 60|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + (($16*40)|0)|0); - $21 = $4; + $12 = $iCurrent; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; $22 = $21; $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - _sqlite3VdbeMemSetInt64($20,$23,$26); - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + $24 = ($17|0)>($23|0); + $25 = ($14>>>0)>($20>>>0); + $26 = ($17|0)==($23|0); + $27 = $26 & $25; + $28 = $24 | $27; + if (!($28)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); + } + $29 = HEAP32[$2>>2]|0; + $30 = $3; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3OsTruncate($29,$32,$35)|0); + HEAP32[$rc>>2] = $36; + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } -function _sqlite3_bind_text($pStmt,$i,$zData,$nData,$xDel) { - $pStmt = $pStmt|0; - $i = $i|0; - $zData = $zData|0; - $nData = $nData|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3PagerSync($pPager,$zMaster) { + $pPager = $pPager|0; + $zMaster = $zMaster|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pArg = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - HEAP32[$2>>2] = $zData; - HEAP32[$3>>2] = $nData; - HEAP32[$4>>2] = $xDel; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_bindText($5,$6,$7,$8,$9,1)|0); - STACKTOP = sp;return ($10|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $rc = sp + 4|0; + $pArg = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $zMaster; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 60|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if ($6) { + $7 = HEAP32[$1>>2]|0; + HEAP32[$pArg>>2] = $7; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 60|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$pArg>>2]|0; + $12 = (_sqlite3OsFileControl($10,21,$11)|0); + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$rc>>2]|0; + $14 = ($13|0)==(12); + $$ = $14 ? 0 : $12; + HEAP32[$rc>>2] = $$; + } + $15 = HEAP32[$rc>>2]|0; + $16 = ($15|0)==(0); + if (!($16)) { + $29 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($29|0); + } + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 7|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)!=(0); + if ($20) { + $29 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($29|0); + } + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 60|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 11|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (_sqlite3OsSync($23,$27)|0); + HEAP32[$rc>>2] = $28; + $29 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($29|0); } -function _sqlite3_bind_parameter_index($pStmt,$zName) { - $pStmt = $pStmt|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3PagerTruncateImage($pPager,$nPage) { + $pPager = $pPager|0; + $nPage = $nPage|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $zName; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - $6 = (_sqlite3VdbeParameterIndex($2,$3,$5)|0); - STACKTOP = sp;return ($6|0); + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $nPage; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 24|0); + HEAP32[$4>>2] = $2; + STACKTOP = sp;return; } -function _sqlite3VdbeParameterIndex($p,$zName,$nName) { +function _sqlite3BtreeCommitPhaseTwo($p,$bCleanup) { $p = $p|0; - $zName = $zName|0; - $nName = $nName|0; + $bCleanup = $bCleanup|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $z = 0; - var label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $i = sp + 4|0; - $z = sp; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $rc = sp + 4|0; + $pBt = sp; HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $zName; - HEAP32[$3>>2] = $nName; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { + HEAP32[$2>>2] = $bCleanup; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(0); + if ($7) { HEAP32[$0>>2] = 0; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + $29 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($29|0); } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)!=(0|0); - L5: do { - if ($7) { - HEAP32[$i>>2] = 0; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 70|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11 << 16 >> 16; - $13 = ($8|0)<($12|0); - if (!($13)) { - break L5; - } - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 64|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<2)|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$z>>2] = $19; - $20 = HEAP32[$z>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$z>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$3>>2]|0; - $25 = (_strncmp($22,$23,$24)|0); - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$z>>2]|0; - $29 = (($28) + ($27)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30 << 24 >> 24; - $32 = ($31|0)==(0); - if ($32) { - break; - } - } - } - $35 = HEAP32[$i>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$i>>2] = $36; + $8 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($8); + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(2); + do { + if ($13) { + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$pBt>>2] = $16; + $17 = HEAP32[$pBt>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3PagerCommitPhaseTwo($18)|0); + HEAP32[$rc>>2] = $19; + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)!=(0); + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(0); + $or$cond = $21 & $23; + if (!($or$cond)) { + $25 = HEAP32[$pBt>>2]|0; + $26 = ((($25)) + 20|0); + HEAP8[$26>>0] = 1; + $27 = HEAP32[$pBt>>2]|0; + _btreeClearHasContent($27); + break; } - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$0>>2] = $34; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + $24 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $24; + $29 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($29|0); } } while(0); + $28 = HEAP32[$1>>2]|0; + _btreeEndTransaction($28); HEAP32[$0>>2] = 0; - $37 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($37|0); + $29 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($29|0); } -function _sqlite3TransferBindings($pFromStmt,$pToStmt) { - $pFromStmt = $pFromStmt|0; - $pToStmt = $pToStmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, $pFrom = 0, $pTo = 0, label = 0, sp = 0; +function _sqlite3BtreeCommitPhaseOne($p,$zMaster) { + $p = $p|0; + $zMaster = $zMaster|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; - $pFrom = sp + 8|0; - $pTo = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pFromStmt; - HEAP32[$1>>2] = $pToStmt; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pFrom>>2] = $2; + $2 = sp + 8|0; + $rc = sp + 4|0; + $pBt = sp; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $zMaster; + HEAP32[$rc>>2] = 0; $3 = HEAP32[$1>>2]|0; - HEAP32[$pTo>>2] = $3; - HEAP32[$i>>2] = 0; - while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$pFrom>>2]|0; - $6 = (($5) + 68|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - $9 = ($4|0)<($8|0); - if (!($9)) { - break; + $4 = ((($3)) + 8|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(2); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$pBt>>2] = $10; + $11 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($11); + $12 = HEAP32[$pBt>>2]|0; + $13 = ((($12)) + 17|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + if ($15) { + $16 = HEAP32[$pBt>>2]|0; + $17 = (_autoVacuumCommit($16)|0); + HEAP32[$rc>>2] = $17; + $18 = HEAP32[$rc>>2]|0; + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $20; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$pTo>>2]|0; - $12 = (($11) + 60|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*40)|0)|0); - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$pFrom>>2]|0; - $17 = (($16) + 60|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + (($15*40)|0)|0); - _sqlite3VdbeMemMove($14,$19); - $20 = HEAP32[$i>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$i>>2] = $21; + $21 = HEAP32[$pBt>>2]|0; + $22 = ((($21)) + 19|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)!=(0); + if ($24) { + $25 = HEAP32[$pBt>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$pBt>>2]|0; + $28 = ((($27)) + 44|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3PagerTruncateImage($26,$29); + } + $30 = HEAP32[$pBt>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = (_sqlite3PagerCommitPhaseOne($31,$32,0)|0); + HEAP32[$rc>>2] = $33; } - STACKTOP = sp;return 0; + $34 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $34; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } -function _sqlite3_value_numeric_type($pVal) { - $pVal = $pVal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $pMem = 0, label = 0, sp = 0; +function _sqlite3PagerBackupPtr($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $eType = sp + 4|0; - $pMem = sp; - HEAP32[$0>>2] = $pVal; + $0 = sp; + HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_value_type($1)|0); - HEAP32[$eType>>2] = $2; - $3 = HEAP32[$eType>>2]|0; - $4 = ($3|0)==(3); - if (!($4)) { - $9 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($9|0); - } - $5 = HEAP32[$0>>2]|0; - HEAP32[$pMem>>2] = $5; - $6 = HEAP32[$pMem>>2]|0; - _applyNumericAffinity($6,0); - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3_value_type($7)|0); - HEAP32[$eType>>2] = $8; - $9 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($9|0); + $2 = ((($1)) + 88|0); + STACKTOP = sp;return ($2|0); } -function _applyNumericAffinity($pRec,$bTryForInt) { - $pRec = $pRec|0; - $bTryForInt = $bTryForInt|0; +function _sqlite3BtreeRollback($p,$tripCode,$writeOnly) { + $p = $p|0; + $tripCode = $tripCode|0; + $writeOnly = $writeOnly|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $enc = 0, $iValue = 0, $rValue = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nPage = 0, $pBt = 0, $pPage1 = 0, $rc = 0, $rc2 = 0, $rc21 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; $1 = sp + 16|0; - $rValue = sp + 8|0; - $iValue = sp; - $enc = sp + 24|0; - HEAP32[$0>>2] = $pRec; - HEAP32[$1>>2] = $bTryForInt; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 10|0); - $4 = HEAP8[$3>>0]|0; - HEAP8[$enc>>0] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP8[$enc>>0]|0; - $12 = (_sqlite3AtoF($7,$rValue,$10,$11)|0); - $13 = ($12|0)==(0); - if ($13) { - STACKTOP = sp;return; - } - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP8[$enc>>0]|0; - $21 = (_sqlite3Atoi64($16,$iValue,$19,$20)|0); - $22 = (0)==($21|0); - if ($22) { - $23 = $iValue; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = $29; - $31 = $30; - HEAP32[$31>>2] = $25; - $32 = (($30) + 4)|0; - $33 = $32; - HEAP32[$33>>2] = $28; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 8|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 | 4; - $39 = $38&65535; - HEAP16[$35>>1] = $39; - STACKTOP = sp;return; + $2 = sp + 4|0; + $rc = sp + 8|0; + $pBt = sp + 32|0; + $pPage1 = sp; + $rc2 = sp + 12|0; + $rc21 = sp + 24|0; + $nPage = sp + 20|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $tripCode; + HEAP32[$2>>2] = $writeOnly; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pBt>>2] = $5; + $6 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($6); + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $9 = HEAP32[$pBt>>2]|0; + $10 = (_saveAllCursors($9,0,0)|0); + HEAP32[$1>>2] = $10; + HEAP32[$rc>>2] = $10; + $11 = HEAP32[$rc>>2]|0; + $12 = ($11|0)!=(0); + if ($12) { + HEAP32[$2>>2] = 0; + } + } else { + HEAP32[$rc>>2] = 0; } - $40 = +HEAPF64[$rValue>>3]; - $41 = HEAP32[$0>>2]|0; - HEAPF64[$41>>3] = $40; - $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 8|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = $45 | 8; - $47 = $46&65535; - HEAP16[$43>>1] = $47; - $48 = HEAP32[$1>>2]|0; - $49 = ($48|0)!=(0); - if (!($49)) { - STACKTOP = sp;return; + $13 = HEAP32[$1>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = (_sqlite3BtreeTripAllCursors($15,$16,$17)|0); + HEAP32[$rc2>>2] = $18; + $19 = HEAP32[$rc2>>2]|0; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $21; + } } - $50 = HEAP32[$0>>2]|0; - _sqlite3VdbeIntegerAffinity($50); - STACKTOP = sp;return; -} -function _sqlite3DbMallocRaw($db,$0,$1) { - $db = $db|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $or$cond = 0, $p = 0, $pBuf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp; - $p = sp + 12|0; - $pBuf = sp + 8|0; - HEAP32[$3>>2] = $db; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)!=(0|0); - do { - if ($10) { - $11 = HEAP32[$3>>2]|0; - $12 = (($11) + 64|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if ($14) { - HEAP32[$2>>2] = 0; - $96 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($96|0); - } - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 248|0); - $17 = (($16) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)!=(0); - if ($19) { - $20 = $4; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$3>>2]|0; - $27 = (($26) + 248|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = ($25>>>0)>(0); - $31 = ($22>>>0)>($29>>>0); - $32 = ($25|0)==(0); - $33 = $32 & $31; - $34 = $30 | $33; - $35 = HEAP32[$3>>2]|0; - $36 = (($35) + 248|0); - if ($34) { - $37 = (($36) + 12|0); - $38 = (($37) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$38>>2] = $40; - break; - } - $41 = (($36) + 24|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$pBuf>>2] = $42; - $43 = ($42|0)==(0|0); - if ($43) { - $44 = HEAP32[$3>>2]|0; - $45 = (($44) + 248|0); - $46 = (($45) + 12|0); - $47 = (($46) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$47>>2] = $49; - break; - } - $50 = HEAP32[$pBuf>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = (($52) + 248|0); - $54 = (($53) + 24|0); - HEAP32[$54>>2] = $51; - $55 = HEAP32[$3>>2]|0; - $56 = (($55) + 248|0); - $57 = (($56) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$57>>2] = $59; - $60 = HEAP32[$3>>2]|0; - $61 = (($60) + 248|0); - $62 = (($61) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$62>>2] = $64; - $65 = HEAP32[$3>>2]|0; - $66 = (($65) + 248|0); - $67 = (($66) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$3>>2]|0; - $70 = (($69) + 248|0); - $71 = (($70) + 8|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($68|0)>($72|0); - if ($73) { - $74 = HEAP32[$3>>2]|0; - $75 = (($74) + 248|0); - $76 = (($75) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$3>>2]|0; - $79 = (($78) + 248|0); - $80 = (($79) + 8|0); - HEAP32[$80>>2] = $77; - } - $81 = HEAP32[$pBuf>>2]|0; - HEAP32[$2>>2] = $81; - $96 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($96|0); - } - } - } while(0); - $82 = $4; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (_sqlite3Malloc($84,$87)|0); - HEAP32[$p>>2] = $88; - $89 = HEAP32[$p>>2]|0; - $90 = ($89|0)==(0|0); - $91 = HEAP32[$3>>2]|0; - $92 = ($91|0)!=(0|0); - $or$cond = $90 & $92; - if ($or$cond) { - $93 = HEAP32[$3>>2]|0; - $94 = (($93) + 64|0); - HEAP8[$94>>0] = 1; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = ($25|0)==(2); + if (!($26)) { + $52 = HEAP32[$0>>2]|0; + _btreeEndTransaction($52); + $53 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($53|0); } - $95 = HEAP32[$p>>2]|0; - HEAP32[$2>>2] = $95; - $96 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($96|0); -} -function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { - $pParse = $pParse|0; - $isView = $isView|0; - $zName = $zName|0; - $zDbase = $zDbase|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $zMsg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer3 = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $p = sp + 16|0; - $zMsg = sp + 12|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $isView; - HEAP32[$3>>2] = $zName; - HEAP32[$4>>2] = $zDbase; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3ReadSchema($5)|0); - $7 = (0)!=($6|0); - if ($7) { - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $27 = HEAP32[$pBt>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3PagerRollback($28)|0); + HEAP32[$rc21>>2] = $29; + $30 = HEAP32[$rc21>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$rc21>>2]|0; + HEAP32[$rc>>2] = $32; } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[$4>>2]|0; - $12 = (_sqlite3FindTable($9,$10,$11)|0); - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - $15 = HEAP32[$2>>2]|0; - $16 = ($15|0)!=(0); - $17 = $16 ? 31152 : 31168; - HEAP32[$zMsg>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$zMsg>>2]|0; - if ($19) { - $22 = HEAP32[$4>>2]|0; - $23 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer3>>2] = $21; - $vararg_ptr1 = (($vararg_buffer3) + 4|0); - HEAP32[$vararg_ptr1>>2] = $22; - $vararg_ptr2 = (($vararg_buffer3) + 8|0); - HEAP32[$vararg_ptr2>>2] = $23; - _sqlite3ErrorMsg($20,17264,$vararg_buffer3); - } else { - $24 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer3>>2] = $21; - $vararg_ptr6 = (($vararg_buffer3) + 4|0); - HEAP32[$vararg_ptr6>>2] = $24; - _sqlite3ErrorMsg($20,17280,$vararg_buffer3); + $33 = HEAP32[$pBt>>2]|0; + $34 = (_btreeGetPage($33,1,$pPage1,0)|0); + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[$pPage1>>2]|0; + $37 = ((($36)) + 56|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 28|0); + $40 = (_sqlite3Get4byte($39)|0); + HEAP32[$nPage>>2] = $40; + $41 = HEAP32[$nPage>>2]|0; + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP32[$pBt>>2]|0; + $44 = HEAP32[$43>>2]|0; + _sqlite3PagerPagecount($44,$nPage); } - $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 17|0); - HEAP8[$26>>0] = 1; + $45 = HEAP32[$nPage>>2]|0; + $46 = HEAP32[$pBt>>2]|0; + $47 = ((($46)) + 44|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$pPage1>>2]|0; + _releasePage($48); } - $27 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $49 = HEAP32[$pBt>>2]|0; + $50 = ((($49)) + 20|0); + HEAP8[$50>>0] = 1; + $51 = HEAP32[$pBt>>2]|0; + _btreeClearHasContent($51); + $52 = HEAP32[$0>>2]|0; + _btreeEndTransaction($52); + $53 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($53|0); } -function _sqlite3ErrorMsg($pParse,$zFormat,$varargs) { - $pParse = $pParse|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $db = 0, $zMsg = 0, label = 0, sp = 0; +function _sqlite3LeaveMutexAndCloseZombie($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $j = 0, $p = 0, $pColl = 0, $pDb = 0, $pHash = 0, $pIdx = 0, $pMod = 0, $pNext = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $zMsg = sp + 24|0; - $ap = sp + 8|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zFormat; - $2 = HEAP32[$0>>2]|0; + $0 = sp; + $i = sp + 16|0; + $j = sp + 28|0; + $pDb = sp + 4|0; + $pIdx = sp + 32|0; + $pNext = sp + 36|0; + $pHash = sp + 12|0; + $p = sp + 24|0; + $pColl = sp + 20|0; + $pMod = sp + 8|0; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 76|0); $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - HEAP32[$ap>>2] = $varargs; - $4 = HEAP32[$db>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3VMPrintf($4,$5,$ap)|0); - HEAP32[$zMsg>>2] = $6; - $7 = HEAP32[$db>>2]|0; - $8 = (($7) + 67|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - if ($10) { - $11 = HEAP32[$db>>2]|0; - $12 = HEAP32[$zMsg>>2]|0; - _sqlite3DbFree($11,$12); - STACKTOP = sp;return; - } else { - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 64|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 1)|0; - HEAP32[$14>>2] = $16; - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 4|0); - $20 = HEAP32[$19>>2]|0; - _sqlite3DbFree($17,$20); - $21 = HEAP32[$zMsg>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 4|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 12|0); - HEAP32[$25>>2] = 1; + $4 = ($3|0)!=(1691352191); + if ($4) { STACKTOP = sp;return; } -} -function _sqlite3MPrintf($db,$zFormat,$varargs) { - $db = $db|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ap = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $ap = sp + 8|0; - $z = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zFormat; - HEAP32[$ap>>2] = $varargs; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3VMPrintf($2,$3,$ap)|0); - HEAP32[$z>>2] = $4; - $5 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($5|0); -} -function _sqlite3VdbeCreate($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $db = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pParse; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = (_sqlite3DbMallocZero($4,208,0)|0); - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = ($6|0)==(0|0); + $5 = HEAP32[$0>>2]|0; + $6 = (_connectionIsBusy($5)|0); + $7 = ($6|0)!=(0); if ($7) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $8 = HEAP32[$db>>2]|0; - $9 = HEAP32[$p>>2]|0; - HEAP32[$9>>2] = $8; - $10 = HEAP32[$db>>2]|0; - $11 = (($10) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$p>>2]|0; - $15 = HEAP32[$db>>2]|0; - $16 = (($15) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 48|0); - HEAP32[$18>>2] = $14; - } - $19 = HEAP32[$db>>2]|0; - $20 = (($19) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 52|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 48|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$p>>2]|0; - $27 = HEAP32[$db>>2]|0; - $28 = (($27) + 4|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$p>>2]|0; - $30 = (($29) + 40|0); - HEAP32[$30>>2] = 649915045; - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = (($32) + 24|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _sqlite3SchemaToIndex($db,$pSchema) { - $db = $db|0; - $pSchema = $pSchema|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pSchema; - HEAP32[$i>>2] = -1000000; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $20 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($20|0); + STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; + $8 = HEAP32[$0>>2]|0; + _sqlite3RollbackAll($8,0); + $9 = HEAP32[$0>>2]|0; + _sqlite3CloseSavepoints($9); + HEAP32[$j>>2] = 0; while(1) { - $4 = HEAP32[$i>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($4|0)<($7|0); - if (!($8)) { - label = 6; + $10 = HEAP32[$j>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)<($13|0); + if (!($14)) { break; } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($9<<4)|0); - $14 = (($13) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ($15|0)==($16|0); - if ($17) { - label = 6; - break; + $15 = HEAP32[$j>>2]|0; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($15<<4)|0); + HEAP32[$pDb>>2] = $19; + $20 = HEAP32[$pDb>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$pDb>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + L12: do { + if ($27) { + $28 = HEAP32[$pDb>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + _sqlite3BtreeEnter($30); + $31 = HEAP32[$pDb>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 24|0); + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$i>>2] = $36; + while(1) { + $37 = HEAP32[$i>>2]|0; + $38 = ($37|0)!=(0|0); + if (!($38)) { + break L12; + } + $39 = HEAP32[$i>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + HEAP32[$pIdx>>2] = $41; + $42 = HEAP32[$pIdx>>2]|0; + $43 = ((($42)) + 40|0); + $44 = HEAP32[$43>>2]|0; + _sqlite3KeyInfoUnref($44); + $45 = HEAP32[$pIdx>>2]|0; + $46 = ((($45)) + 40|0); + HEAP32[$46>>2] = 0; + $47 = HEAP32[$i>>2]|0; + $48 = HEAP32[$47>>2]|0; + HEAP32[$i>>2] = $48; + } + } + } while(0); + $49 = HEAP32[$pDb>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + (_sqlite3BtreeClose($51)|0); + $52 = HEAP32[$pDb>>2]|0; + $53 = ((($52)) + 4|0); + HEAP32[$53>>2] = 0; + $54 = HEAP32[$j>>2]|0; + $55 = ($54|0)!=(1); + if ($55) { + $56 = HEAP32[$pDb>>2]|0; + $57 = ((($56)) + 12|0); + HEAP32[$57>>2] = 0; + } } - $18 = HEAP32[$i>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$i>>2] = $19; - } - if ((label|0) == 6) { - $20 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($20|0); + $58 = HEAP32[$j>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$j>>2] = $59; } - return 0|0; -} -function _sqlite3VdbeAddOp4Int($p,$op,$p1,$p2,$p3,$p4) { - $p = $p|0; - $op = $op|0; - $p1 = $p1|0; - $p2 = $p2|0; - $p3 = $p3|0; - $p4 = $p4|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $addr = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $p1; - HEAP32[$3>>2] = $p2; - HEAP32[$4>>2] = $p3; - HEAP32[$5>>2] = $p4; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$4>>2]|0; - $11 = (_sqlite3VdbeAddOp3($6,$7,$8,$9,$10)|0); - HEAP32[$addr>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$addr>>2]|0; - $14 = HEAP32[$5>>2]|0; - $15 = $14; - _sqlite3VdbeChangeP4($12,$13,$15,-14); - $16 = HEAP32[$addr>>2]|0; - STACKTOP = sp;return ($16|0); -} -function _sqlite3VdbeChangeP5($p,$val) { - $p = $p|0; - $val = $val|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 4|0; - HEAP32[$0>>2] = $p; - HEAP8[$1>>0] = $val; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - STACKTOP = sp;return; + $60 = HEAP32[$0>>2]|0; + $61 = ((($60)) + 16|0); + $62 = HEAP32[$61>>2]|0; + $63 = ((($62)) + 16|0); + $64 = ((($63)) + 12|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)!=(0|0); + if ($66) { + $67 = HEAP32[$0>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ((($69)) + 16|0); + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + _sqlite3SchemaClear($72); } - $6 = HEAP8[$1>>0]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) - 1)|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + (($10*20)|0)|0); - $15 = (($14) + 3|0); - HEAP8[$15>>0] = $6; - STACKTOP = sp;return; -} -function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { - $p = $p|0; - $nOp = $nOp|0; - $aOp = $aOp|0; - $iLineno = $iLineno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $9 = 0, $addr = 0, $i = 0, $p2 = 0, $pIn = 0, $pOut = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $addr = sp + 16|0; - $i = sp + 12|0; - $pIn = sp + 8|0; - $p2 = sp + 4|0; - $pOut = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nOp; - HEAP32[$3>>2] = $aOp; - HEAP32[$4>>2] = $iLineno; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($7) + ($8))|0; - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 24|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 84|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($9|0)>($14|0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (_growOpArray($16,$17)|0); - $19 = ($18|0)!=(0); - if ($19) { - HEAP32[$0>>2] = 0; - $82 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($82|0); + $73 = HEAP32[$0>>2]|0; + _sqlite3VtabUnlockList($73); + $74 = HEAP32[$0>>2]|0; + _sqlite3CollapseDatabaseArray($74); + HEAP32[$j>>2] = 0; + while(1) { + $75 = HEAP32[$j>>2]|0; + $76 = ($75|0)<(23); + if (!($76)) { + break; + } + $77 = HEAP32[$j>>2]|0; + $78 = HEAP32[$0>>2]|0; + $79 = ((($78)) + 336|0); + $80 = (($79) + ($77<<2)|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$p>>2] = $81; + while(1) { + $82 = HEAP32[$p>>2]|0; + $83 = ($82|0)!=(0|0); + if (!($83)) { + break; + } + $84 = HEAP32[$p>>2]|0; + $85 = ((($84)) + 28|0); + $86 = HEAP32[$85>>2]|0; + HEAP32[$pHash>>2] = $86; + while(1) { + $87 = HEAP32[$p>>2]|0; + $88 = ($87|0)!=(0|0); + if (!($88)) { + break; + } + $89 = HEAP32[$0>>2]|0; + $90 = HEAP32[$p>>2]|0; + _functionDestroy($89,$90); + $91 = HEAP32[$p>>2]|0; + $92 = ((($91)) + 8|0); + $93 = HEAP32[$92>>2]|0; + HEAP32[$pNext>>2] = $93; + $94 = HEAP32[$0>>2]|0; + $95 = HEAP32[$p>>2]|0; + _sqlite3DbFree($94,$95); + $96 = HEAP32[$pNext>>2]|0; + HEAP32[$p>>2] = $96; + } + $97 = HEAP32[$pHash>>2]|0; + HEAP32[$p>>2] = $97; } + $98 = HEAP32[$j>>2]|0; + $99 = (($98) + 1)|0; + HEAP32[$j>>2] = $99; } - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 32|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$addr>>2] = $22; - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)>(0); - if ($24) { - $25 = HEAP32[$3>>2]|0; - HEAP32[$pIn>>2] = $25; - HEAP32[$i>>2] = 0; + $100 = HEAP32[$0>>2]|0; + $101 = ((($100)) + 428|0); + $102 = ((($101)) + 8|0); + $103 = HEAP32[$102>>2]|0; + HEAP32[$i>>2] = $103; + while(1) { + $104 = HEAP32[$i>>2]|0; + $105 = ($104|0)!=(0|0); + if (!($105)) { + break; + } + $106 = HEAP32[$i>>2]|0; + $107 = ((($106)) + 8|0); + $108 = HEAP32[$107>>2]|0; + HEAP32[$pColl>>2] = $108; + HEAP32[$j>>2] = 0; while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = ($26|0)<($27|0); - if (!($28)) { + $109 = HEAP32[$j>>2]|0; + $110 = ($109|0)<(3); + if (!($110)) { break; } - $29 = HEAP32[$pIn>>2]|0; - $30 = (($29) + 2|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - HEAP32[$p2>>2] = $32; - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$addr>>2]|0; - $35 = (($33) + ($34))|0; - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + (($35*20)|0)|0); - HEAP32[$pOut>>2] = $39; - $40 = HEAP32[$pIn>>2]|0; - $41 = HEAP8[$40>>0]|0; - $42 = HEAP32[$pOut>>2]|0; - HEAP8[$42>>0] = $41; - $43 = HEAP32[$pIn>>2]|0; - $44 = (($43) + 1|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = HEAP32[$pOut>>2]|0; - $48 = (($47) + 4|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$p2>>2]|0; - $50 = ($49|0)<(0); - if ($50) { - $51 = HEAP32[$addr>>2]|0; - $52 = HEAP32[$p2>>2]|0; - $53 = (-1 - ($52))|0; - $54 = (($51) + ($53))|0; - $55 = HEAP32[$pOut>>2]|0; - $56 = (($55) + 8|0); - HEAP32[$56>>2] = $54; - } else { - $57 = HEAP32[$p2>>2]|0; - $58 = HEAP32[$pOut>>2]|0; - $59 = (($58) + 8|0); - HEAP32[$59>>2] = $57; + $111 = HEAP32[$j>>2]|0; + $112 = HEAP32[$pColl>>2]|0; + $113 = (($112) + (($111*20)|0)|0); + $114 = ((($113)) + 16|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)!=(0|0); + if ($116) { + $117 = HEAP32[$j>>2]|0; + $118 = HEAP32[$pColl>>2]|0; + $119 = (($118) + (($117*20)|0)|0); + $120 = ((($119)) + 16|0); + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$j>>2]|0; + $123 = HEAP32[$pColl>>2]|0; + $124 = (($123) + (($122*20)|0)|0); + $125 = ((($124)) + 8|0); + $126 = HEAP32[$125>>2]|0; + FUNCTION_TABLE_vi[$121 & 31]($126); } - $60 = HEAP32[$pIn>>2]|0; - $61 = (($60) + 3|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62 << 24 >> 24; - $64 = HEAP32[$pOut>>2]|0; - $65 = (($64) + 12|0); - HEAP32[$65>>2] = $63; - $66 = HEAP32[$pOut>>2]|0; - $67 = (($66) + 1|0); - HEAP8[$67>>0] = 0; - $68 = HEAP32[$pOut>>2]|0; - $69 = (($68) + 16|0); - HEAP32[$69>>2] = 0; - $70 = HEAP32[$pOut>>2]|0; - $71 = (($70) + 3|0); - HEAP8[$71>>0] = 0; - $72 = HEAP32[$i>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$i>>2] = $73; - $74 = HEAP32[$pIn>>2]|0; - $75 = (($74) + 4|0); - HEAP32[$pIn>>2] = $75; + $127 = HEAP32[$j>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$j>>2] = $128; } - $76 = HEAP32[$2>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 32|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + ($76))|0; - HEAP32[$78>>2] = $80; + $129 = HEAP32[$0>>2]|0; + $130 = HEAP32[$pColl>>2]|0; + _sqlite3DbFree($129,$130); + $131 = HEAP32[$i>>2]|0; + $132 = HEAP32[$131>>2]|0; + HEAP32[$i>>2] = $132; } - $81 = HEAP32[$addr>>2]|0; - HEAP32[$0>>2] = $81; - $82 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($82|0); -} -function _sqlite3VdbeUsesBtree($p,$i) { - $p = $p|0; - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$1>>2]|0; - $3 = 1 << $2; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 96|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 | $3; - HEAP32[$5>>2] = $7; + $133 = HEAP32[$0>>2]|0; + $134 = ((($133)) + 428|0); + _sqlite3HashClear($134); + $135 = HEAP32[$0>>2]|0; + $136 = ((($135)) + 308|0); + $137 = ((($136)) + 8|0); + $138 = HEAP32[$137>>2]|0; + HEAP32[$i>>2] = $138; + while(1) { + $139 = HEAP32[$i>>2]|0; + $140 = ($139|0)!=(0|0); + if (!($140)) { + break; + } + $141 = HEAP32[$i>>2]|0; + $142 = ((($141)) + 8|0); + $143 = HEAP32[$142>>2]|0; + HEAP32[$pMod>>2] = $143; + $144 = HEAP32[$pMod>>2]|0; + $145 = ((($144)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)!=(0|0); + if ($147) { + $148 = HEAP32[$pMod>>2]|0; + $149 = ((($148)) + 12|0); + $150 = HEAP32[$149>>2]|0; + $151 = HEAP32[$pMod>>2]|0; + $152 = ((($151)) + 8|0); + $153 = HEAP32[$152>>2]|0; + FUNCTION_TABLE_vi[$150 & 31]($153); + } + $154 = HEAP32[$0>>2]|0; + $155 = HEAP32[$pMod>>2]|0; + _sqlite3DbFree($154,$155); + $156 = HEAP32[$i>>2]|0; + $157 = HEAP32[$156>>2]|0; + HEAP32[$i>>2] = $157; + } + $158 = HEAP32[$0>>2]|0; + $159 = ((($158)) + 308|0); + _sqlite3HashClear($159); + $160 = HEAP32[$0>>2]|0; + _sqlite3Error($160,0); + $161 = HEAP32[$0>>2]|0; + $162 = ((($161)) + 232|0); + $163 = HEAP32[$162>>2]|0; + _sqlite3ValueFree($163); + $164 = HEAP32[$0>>2]|0; + $165 = ((($164)) + 76|0); + HEAP32[$165>>2] = -1254786768; + $166 = HEAP32[$0>>2]|0; + $167 = HEAP32[$0>>2]|0; + $168 = ((($167)) + 16|0); + $169 = HEAP32[$168>>2]|0; + $170 = ((($169)) + 16|0); + $171 = ((($170)) + 12|0); + $172 = HEAP32[$171>>2]|0; + _sqlite3DbFree($166,$172); + $173 = HEAP32[$0>>2]|0; + $174 = ((($173)) + 76|0); + HEAP32[$174>>2] = -1623446221; + $175 = HEAP32[$0>>2]|0; + $176 = ((($175)) + 248|0); + $177 = ((($176)) + 3|0); + $178 = HEAP8[$177>>0]|0; + $179 = ($178<<24>>24)!=(0); + if ($179) { + $180 = HEAP32[$0>>2]|0; + $181 = ((($180)) + 248|0); + $182 = ((($181)) + 28|0); + $183 = HEAP32[$182>>2]|0; + _sqlite3_free($183); + } + $184 = HEAP32[$0>>2]|0; + _sqlite3_free($184); STACKTOP = sp;return; } -function _sqlite3VdbeChangeP1($p,$addr,$val) { +function _vdbeSafety($p) { $p = $p|0; - $addr = $addr|0; - $val = $val|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; $0 = sp + 8|0; $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP32[$2>>2] = $val; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ($5>>>0)>($6>>>0); - if (!($7)) { - STACKTOP = sp;return; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + _sqlite3_log(21,36057,$vararg_buffer); + HEAP32[$0>>2] = 1; + $5 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($5|0); + } else { + HEAP32[$0>>2] = 0; + $5 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($5|0); } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + (($9*20)|0)|0); - $14 = (($13) + 4|0); - HEAP32[$14>>2] = $8; - STACKTOP = sp;return; + return (0)|0; } -function _sqlite3VdbeChangeP2($p,$addr,$val) { +function _sqlite3VdbeFinalize($p) { $p = $p|0; - $addr = $addr|0; - $val = $val|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; + $0 = sp + 4|0; + $rc = sp; HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP32[$2>>2] = $val; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ($5>>>0)>($6>>>0); - if (!($7)) { - STACKTOP = sp;return; + HEAP32[$rc>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 40|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(-1108210269); + if ($4) { + label = 3; + } else { + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(1369188723); + if ($8) { + label = 3; + } } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + (($9*20)|0)|0); - $14 = (($13) + 8|0); - HEAP32[$14>>2] = $8; - STACKTOP = sp;return; + if ((label|0) == 3) { + $9 = HEAP32[$0>>2]|0; + $10 = (_sqlite3VdbeReset($9)|0); + HEAP32[$rc>>2] = $10; + } + $11 = HEAP32[$0>>2]|0; + _sqlite3VdbeDelete($11); + $12 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($12|0); } -function _sqlite3VdbeChangeP3($p,$addr,$val) { - $p = $p|0; - $addr = $addr|0; - $val = $val|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ApiExit($db,$rc) { + $db = $db|0; + $rc = $rc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP32[$2>>2] = $val; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = ($5>>>0)>($6>>>0); - if (!($7)) { - STACKTOP = sp;return; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $rc; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = $5 & 255; + HEAP32[$0>>2] = $6; + $21 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($21|0); } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + (($9*20)|0)|0); - $14 = (($13) + 12|0); - HEAP32[$14>>2] = $8; - STACKTOP = sp;return; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 64|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(0); + $12 = HEAP32[$2>>2]|0; + $13 = ($12|0)==(3082); + $or$cond = $11 | $13; + if ($or$cond) { + $14 = HEAP32[$1>>2]|0; + $15 = (_apiOomError($14)|0); + HEAP32[$0>>2] = $15; + $21 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($21|0); + } else { + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 56|0); + $19 = HEAP32[$18>>2]|0; + $20 = $16 & $19; + HEAP32[$0>>2] = $20; + $21 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($21|0); + } + return (0)|0; } -function _sqlite3VdbeChangeP4($p,$addr,$zP4,$n) { +function _sqlite3VdbeReset($p) { $p = $p|0; - $addr = $addr|0; - $zP4 = $zP4|0; - $n = $n|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $db = 0, $pOp = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $db = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pOp = sp + 4|0; - $db = sp; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + $db = sp + 4|0; HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - HEAP32[$2>>2] = $zP4; - HEAP32[$3>>2] = $n; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$db>>2] = $2; + $3 = HEAP32[$0>>2]|0; + (_sqlite3VdbeHalt($3)|0); $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - $10 = HEAP32[$db>>2]|0; - $11 = (($10) + 64|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if (!($14)) { - $20 = HEAP32[$1>>2]|0; - $21 = ($20|0)<(0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) - 1)|0; - HEAP32[$1>>2] = $25; - } - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + (($26*20)|0)|0); - HEAP32[$pOp>>2] = $30; - $31 = HEAP32[$db>>2]|0; - $32 = HEAP32[$pOp>>2]|0; - $33 = (($32) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34 << 24 >> 24; - $36 = HEAP32[$pOp>>2]|0; - $37 = (($36) + 16|0); - $38 = HEAP32[$37>>2]|0; - _freeP4($31,$35,$38); - $39 = HEAP32[$pOp>>2]|0; - $40 = (($39) + 16|0); - HEAP32[$40>>2] = 0; - $41 = HEAP32[$3>>2]|0; - $42 = ($41|0)==(-14); - $43 = HEAP32[$2>>2]|0; - if ($42) { - $44 = $43; - $45 = HEAP32[$pOp>>2]|0; - $46 = (($45) + 16|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$pOp>>2]|0; - $48 = (($47) + 1|0); - HEAP8[$48>>0] = -14; - STACKTOP = sp;return; - } - $49 = ($43|0)==(0|0); - if ($49) { - $50 = HEAP32[$pOp>>2]|0; - $51 = (($50) + 16|0); - HEAP32[$51>>2] = 0; - $52 = HEAP32[$pOp>>2]|0; - $53 = (($52) + 1|0); - HEAP8[$53>>0] = 0; - STACKTOP = sp;return; - } - $54 = HEAP32[$3>>2]|0; - $55 = ($54|0)==(-6); - if ($55) { - $56 = HEAP32[$2>>2]|0; - $57 = HEAP32[$pOp>>2]|0; - $58 = (($57) + 16|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$pOp>>2]|0; - $60 = (($59) + 1|0); - HEAP8[$60>>0] = -6; - STACKTOP = sp;return; - } - $61 = HEAP32[$3>>2]|0; - $62 = ($61|0)==(-10); - if ($62) { - $63 = HEAP32[$2>>2]|0; - $64 = HEAP32[$pOp>>2]|0; - $65 = (($64) + 16|0); - HEAP32[$65>>2] = $63; - $66 = HEAP32[$pOp>>2]|0; - $67 = (($66) + 1|0); - HEAP8[$67>>0] = -10; - $68 = HEAP32[$2>>2]|0; - _sqlite3VtabLock($68); - STACKTOP = sp;return; - } - $69 = HEAP32[$3>>2]|0; - $70 = ($69|0)<(0); - if ($70) { - $71 = HEAP32[$2>>2]|0; - $72 = HEAP32[$pOp>>2]|0; - $73 = (($72) + 16|0); - HEAP32[$73>>2] = $71; - $74 = HEAP32[$3>>2]|0; - $75 = $74&255; - $76 = HEAP32[$pOp>>2]|0; - $77 = (($76) + 1|0); - HEAP8[$77>>0] = $75; - STACKTOP = sp;return; - } - $78 = HEAP32[$3>>2]|0; - $79 = ($78|0)==(0); - if ($79) { - $80 = HEAP32[$2>>2]|0; - $81 = (_sqlite3Strlen30($80)|0); - HEAP32[$3>>2] = $81; + $5 = ((($4)) + 76|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>=(0); + $8 = HEAP32[$0>>2]|0; + if ($7) { + (_sqlite3VdbeTransferError($8)|0); + $9 = HEAP32[$db>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 44|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3DbFree($9,$12); + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 44|0); + HEAP32[$14>>2] = 0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 88|0); + $17 = HEAP16[$16>>1]|0; + $18 = ($17&65535) >>> 6; + $19 = $18 & 1; + $20 = $19&65535; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 88|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24 & -33; + $26 = $25 | 32; + HEAP16[$23>>1] = $26; + } + } else { + $27 = ((($8)) + 80|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 88|0); + $32 = HEAP16[$31>>1]|0; + $33 = ($32&65535) >>> 5; + $34 = $33 & 1; + $35 = $34&65535; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$db>>2]|0; + $38 = HEAP32[$0>>2]|0; + $39 = ((($38)) + 80|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$0>>2]|0; + $42 = ((($41)) + 44|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0|0); + $45 = $44 ? 14418 : 0; + $46 = HEAP32[$0>>2]|0; + $47 = ((($46)) + 44|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$vararg_buffer>>2] = $48; + _sqlite3ErrorWithMsg($37,$40,$45,$vararg_buffer); + $49 = HEAP32[$db>>2]|0; + $50 = HEAP32[$0>>2]|0; + $51 = ((($50)) + 44|0); + $52 = HEAP32[$51>>2]|0; + _sqlite3DbFree($49,$52); + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 44|0); + HEAP32[$54>>2] = 0; } - $82 = HEAP32[$0>>2]|0; - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$2>>2]|0; - $85 = HEAP32[$3>>2]|0; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = (_sqlite3DbStrNDup($83,$84,$85,$87)|0); - $89 = HEAP32[$pOp>>2]|0; - $90 = (($89) + 16|0); - HEAP32[$90>>2] = $88; - $91 = HEAP32[$pOp>>2]|0; - $92 = (($91) + 1|0); - HEAP8[$92>>0] = -1; - STACKTOP = sp;return; } } - $15 = HEAP32[$3>>2]|0; - $16 = ($15|0)!=(-10); - if (!($16)) { - STACKTOP = sp;return; - } - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$2>>2]|0; - _freeP4($17,$18,$19); - STACKTOP = sp;return; + $55 = HEAP32[$0>>2]|0; + _Cleanup($55); + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 136|0); + $58 = $57; + $59 = $58; + HEAP32[$59>>2] = 0; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = 0; + $62 = HEAP32[$0>>2]|0; + $63 = ((($62)) + 40|0); + HEAP32[$63>>2] = 649915045; + $64 = HEAP32[$0>>2]|0; + $65 = ((($64)) + 80|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$db>>2]|0; + $68 = ((($67)) + 56|0); + $69 = HEAP32[$68>>2]|0; + $70 = $66 & $69; + STACKTOP = sp;return ($70|0); } -function _sqlite3VdbeChangeToNoop($p,$addr) { +function _sqlite3VdbeRewind($p) { $p = $p|0; - $addr = $addr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pOp = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pOp = sp + 4|0; - $db = sp; + $0 = sp; HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $addr; - $2 = HEAP32[$1>>2]|0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 40|0); + HEAP32[$2>>2] = -1108210269; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + (($7*20)|0)|0); - HEAP32[$pOp>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$12>>2]|0; - HEAP32[$db>>2] = $13; - $14 = HEAP32[$db>>2]|0; - $15 = HEAP32[$pOp>>2]|0; - $16 = (($15) + 1|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = HEAP32[$pOp>>2]|0; - $20 = (($19) + 16|0); - $21 = HEAP32[$20>>2]|0; - _freeP4($14,$18,$21); - $22 = HEAP32[$pOp>>2]|0; - ;HEAP32[$22+0>>2]=0|0;HEAP32[$22+4>>2]=0|0;HEAP32[$22+8>>2]=0|0;HEAP32[$22+12>>2]=0|0;HEAP32[$22+16>>2]=0|0; - $23 = HEAP32[$pOp>>2]|0; - HEAP8[$23>>0] = -102; - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 32|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - 1)|0; - $29 = ($24|0)==($28|0); - if (!($29)) { - STACKTOP = sp;return; - } - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 32|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -1)|0; - HEAP32[$31>>2] = $33; + $4 = ((($3)) + 76|0); + HEAP32[$4>>2] = -1; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 80|0); + HEAP32[$6>>2] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 86|0); + HEAP8[$8>>0] = 2; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 40|0); + HEAP32[$10>>2] = -1108210269; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 92|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 72|0); + HEAP32[$14>>2] = 1; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 87|0); + HEAP8[$16>>0] = -1; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 104|0); + HEAP32[$18>>2] = 0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 144|0); + $21 = $20; + $22 = $21; + HEAP32[$22>>2] = 0; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = 0; STACKTOP = sp;return; } -function _sqlite3VdbeMakeReady($p,$pParse) { +function _sqlite3VdbeMemRelease($p) { $p = $p|0; - $pParse = $pParse|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $db = 0, $n = 0, $nArg = 0, $nByte = 0, $nCursor = 0, $nMem = 0, $nOnce = 0, $nVar = 0, $or$cond = 0, $zCsr = 0, $zEnd = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $db = sp + 36|0; - $nVar = sp + 32|0; - $nMem = sp + 28|0; - $nCursor = sp + 24|0; - $nArg = sp + 20|0; - $nOnce = sp + 16|0; - $n = sp + 12|0; - $zCsr = sp + 8|0; - $zEnd = sp + 4|0; - $nByte = sp; + STACKTOP = STACKTOP + 16|0; + $0 = sp; HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pParse; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 440|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$nVar>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 72|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$nMem>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 68|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$nCursor>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 392|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$nArg>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 80|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$nOnce>>2] = $18; - $19 = HEAP32[$nOnce>>2]|0; - $20 = ($19|0)==(0); - $$ = $20 ? 1 : $18; - HEAP32[$nOnce>>2] = $$; - $21 = HEAP32[$nCursor>>2]|0; - $22 = HEAP32[$nMem>>2]|0; - $23 = (($22) + ($21))|0; - HEAP32[$nMem>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 32|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + (($26*20)|0)|0); - HEAP32[$zCsr>>2] = $30; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 84|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + (($33*20)|0)|0); - HEAP32[$zEnd>>2] = $37; - $38 = HEAP32[$0>>2]|0; - _resolveP2Values($38,$nArg); - $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 20|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($42|0)!=(0); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 21|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($47|0)!=(0); - $50 = $48; - } else { - $50 = 0; - } - $49 = $50&1; - $51 = $49&255; - $52 = $51&255; - $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 88|0); - $55 = $52&65535; - $56 = HEAP16[$54>>1]|0; - $57 = $55 & 1; - $58 = ($57 << 7)&65535; - $59 = $56 & -129; - $60 = $59 | $58; - HEAP16[$54>>1] = $60; - $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 450|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = ($64|0)!=(0); - $66 = HEAP32[$nMem>>2]|0; - $67 = ($66|0)<(10); - $or$cond = $65 & $67; - if ($or$cond) { - HEAP32[$nMem>>2] = 10; - } - $68 = HEAP32[$zCsr>>2]|0; - $69 = HEAP32[$zEnd>>2]|0; - $70 = HEAP32[$zCsr>>2]|0; - $71 = $69; - $72 = $70; - $73 = (($71) - ($72))|0; - _memset(($68|0),0,($73|0))|0; - $74 = HEAP32[$zCsr>>2]|0; - $75 = $74; - $76 = (($75) - 0)|0; - $77 = $76 & 7; - $78 = HEAP32[$zCsr>>2]|0; - $79 = (($78) + ($77)|0); - HEAP32[$zCsr>>2] = $79; - $80 = HEAP32[$0>>2]|0; - $81 = (($80) + 88|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82 & -33; - HEAP16[$81>>1] = $83; - while(1) { - HEAP32[$nByte>>2] = 0; - $84 = HEAP32[$0>>2]|0; - $85 = (($84) + 8|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$nMem>>2]|0; - $88 = ($87*40)|0; - $89 = HEAP32[$zEnd>>2]|0; - $90 = (_allocSpace($86,$88,$zCsr,$89,$nByte)|0); - $91 = HEAP32[$0>>2]|0; - $92 = (($91) + 8|0); - HEAP32[$92>>2] = $90; - $93 = HEAP32[$0>>2]|0; - $94 = (($93) + 60|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$nVar>>2]|0; - $97 = ($96*40)|0; - $98 = HEAP32[$zEnd>>2]|0; - $99 = (_allocSpace($95,$97,$zCsr,$98,$nByte)|0); - $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 60|0); - HEAP32[$101>>2] = $99; - $102 = HEAP32[$0>>2]|0; - $103 = (($102) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$nArg>>2]|0; - $106 = $105<<2; - $107 = HEAP32[$zEnd>>2]|0; - $108 = (_allocSpace($104,$106,$zCsr,$107,$nByte)|0); - $109 = HEAP32[$0>>2]|0; - $110 = (($109) + 12|0); - HEAP32[$110>>2] = $108; - $111 = HEAP32[$0>>2]|0; - $112 = (($111) + 64|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$nVar>>2]|0; - $115 = $114<<2; - $116 = HEAP32[$zEnd>>2]|0; - $117 = (_allocSpace($113,$115,$zCsr,$116,$nByte)|0); - $118 = HEAP32[$0>>2]|0; - $119 = (($118) + 64|0); - HEAP32[$119>>2] = $117; - $120 = HEAP32[$0>>2]|0; - $121 = (($120) + 56|0); - $122 = HEAP32[$121>>2]|0; - $123 = HEAP32[$nCursor>>2]|0; - $124 = $123<<2; - $125 = HEAP32[$zEnd>>2]|0; - $126 = (_allocSpace($122,$124,$zCsr,$125,$nByte)|0); - $127 = HEAP32[$0>>2]|0; - $128 = (($127) + 56|0); - HEAP32[$128>>2] = $126; - $129 = HEAP32[$0>>2]|0; - $130 = (($129) + 200|0); - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$nOnce>>2]|0; - $133 = HEAP32[$zEnd>>2]|0; - $134 = (_allocSpace($131,$132,$zCsr,$133,$nByte)|0); - $135 = HEAP32[$0>>2]|0; - $136 = (($135) + 200|0); - HEAP32[$136>>2] = $134; - $137 = HEAP32[$nByte>>2]|0; - $138 = ($137|0)!=(0); - if ($138) { - $139 = HEAP32[$db>>2]|0; - $140 = HEAP32[$nByte>>2]|0; - $141 = ($140|0)<(0); - $142 = $141 << 31 >> 31; - $143 = (_sqlite3DbMallocZero($139,$140,$142)|0); - $144 = HEAP32[$0>>2]|0; - $145 = (($144) + 172|0); - HEAP32[$145>>2] = $143; - } - $146 = HEAP32[$0>>2]|0; - $147 = (($146) + 172|0); - $148 = HEAP32[$147>>2]|0; - HEAP32[$zCsr>>2] = $148; - $149 = HEAP32[$nByte>>2]|0; - $150 = HEAP32[$zCsr>>2]|0; - $151 = (($150) + ($149)|0); - HEAP32[$zEnd>>2] = $151; - $152 = HEAP32[$nByte>>2]|0; - $153 = ($152|0)!=(0); - if (!($153)) { - break; - } - $154 = HEAP32[$db>>2]|0; - $155 = (($154) + 64|0); - $156 = HEAP8[$155>>0]|0; - $157 = ($156<<24>>24)!=(0); - $158 = $157 ^ 1; - if (!($158)) { - break; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & 9312; + $6 = ($5|0)!=(0); + if (!($6)) { + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0); + if (!($10)) { + STACKTOP = sp;return; } } - $159 = HEAP32[$nCursor>>2]|0; - $160 = HEAP32[$0>>2]|0; - $161 = (($160) + 36|0); - HEAP32[$161>>2] = $159; - $162 = HEAP32[$nOnce>>2]|0; - $163 = HEAP32[$0>>2]|0; - $164 = (($163) + 196|0); - HEAP32[$164>>2] = $162; - $165 = HEAP32[$0>>2]|0; - $166 = (($165) + 60|0); - $167 = HEAP32[$166>>2]|0; - $168 = ($167|0)!=(0|0); - L14: do { - if ($168) { - $169 = HEAP32[$nVar>>2]|0; - $170 = $169&65535; - $171 = HEAP32[$0>>2]|0; - $172 = (($171) + 68|0); - HEAP16[$172>>1] = $170; - HEAP32[$n>>2] = 0; - while(1) { - $173 = HEAP32[$n>>2]|0; - $174 = HEAP32[$nVar>>2]|0; - $175 = ($173|0)<($174|0); - if (!($175)) { - break L14; - } - $176 = HEAP32[$n>>2]|0; - $177 = HEAP32[$0>>2]|0; - $178 = (($177) + 60|0); - $179 = HEAP32[$178>>2]|0; - $180 = (($179) + (($176*40)|0)|0); - $181 = (($180) + 8|0); - HEAP16[$181>>1] = 1; - $182 = HEAP32[$db>>2]|0; - $183 = HEAP32[$n>>2]|0; - $184 = HEAP32[$0>>2]|0; - $185 = (($184) + 60|0); - $186 = HEAP32[$185>>2]|0; - $187 = (($186) + (($183*40)|0)|0); - $188 = (($187) + 32|0); - HEAP32[$188>>2] = $182; - $189 = HEAP32[$n>>2]|0; - $190 = (($189) + 1)|0; - HEAP32[$n>>2] = $190; + $11 = HEAP32[$0>>2]|0; + _vdbeMemClear($11); + STACKTOP = sp;return; +} +function _sqlite3VdbeMemExpandBlob($pMem) { + $pMem = $pMem|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $nByte = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $nByte = sp; + HEAP32[$1>>2] = $pMem; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 16384; + $7 = ($6|0)!=(0); + do { + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + ($12))|0; + HEAP32[$nByte>>2] = $13; + $14 = HEAP32[$nByte>>2]|0; + $15 = ($14|0)<=(0); + $$ = $15 ? 1 : $13; + HEAP32[$nByte>>2] = $$; + $16 = HEAP32[$1>>2]|0; + $17 = HEAP32[$nByte>>2]|0; + $18 = (_sqlite3VdbeMemGrow($16,$17,1)|0); + $19 = ($18|0)!=(0); + if (!($19)) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($22)|0); + $27 = HEAP32[$1>>2]|0; + $28 = HEAP32[$27>>2]|0; + _memset(($26|0),0,($28|0))|0; + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($33) + ($30))|0; + HEAP32[$32>>2] = $34; + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + $39 = $38 & -16897; + $40 = $39&65535; + HEAP16[$36>>1] = $40; + break; } + HEAP32[$0>>2] = 7; + $41 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($41|0); } } while(0); - $191 = HEAP32[$0>>2]|0; - $192 = (($191) + 64|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)!=(0|0); - if ($194) { - $195 = HEAP32[$1>>2]|0; - $196 = (($195) + 444|0); - $197 = HEAP32[$196>>2]|0; - $198 = $197&65535; - $199 = HEAP32[$0>>2]|0; - $200 = (($199) + 70|0); - HEAP16[$200>>1] = $198; - $201 = HEAP32[$0>>2]|0; - $202 = (($201) + 64|0); - $203 = HEAP32[$202>>2]|0; - $204 = HEAP32[$1>>2]|0; - $205 = (($204) + 472|0); - $206 = HEAP32[$205>>2]|0; - $207 = HEAP32[$0>>2]|0; - $208 = (($207) + 70|0); - $209 = HEAP16[$208>>1]|0; - $210 = $209 << 16 >> 16; - $211 = $210<<2; - _memcpy(($203|0),($206|0),($211|0))|0; - $212 = HEAP32[$1>>2]|0; - $213 = (($212) + 472|0); - $214 = HEAP32[$213>>2]|0; - $215 = HEAP32[$1>>2]|0; - $216 = (($215) + 444|0); - $217 = HEAP32[$216>>2]|0; - $218 = $217<<2; - _memset(($214|0),0,($218|0))|0; - } - $219 = HEAP32[$0>>2]|0; - $220 = (($219) + 8|0); - $221 = HEAP32[$220>>2]|0; - $222 = ($221|0)!=(0|0); - if (!($222)) { - $248 = HEAP32[$1>>2]|0; - $249 = (($248) + 450|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = HEAP32[$0>>2]|0; - $253 = (($252) + 88|0); - $254 = $251&65535; - $255 = HEAP16[$253>>1]|0; - $256 = $254 & 3; - $257 = $255 & -4; - $258 = $257 | $256; - HEAP16[$253>>1] = $258; - $259 = HEAP32[$0>>2]|0; - _sqlite3VdbeRewind($259); - STACKTOP = sp;return; - } - $223 = HEAP32[$0>>2]|0; - $224 = (($223) + 8|0); - $225 = HEAP32[$224>>2]|0; - $226 = (($225) + -40|0); - HEAP32[$224>>2] = $226; - $227 = HEAP32[$nMem>>2]|0; - $228 = HEAP32[$0>>2]|0; - $229 = (($228) + 28|0); - HEAP32[$229>>2] = $227; - HEAP32[$n>>2] = 1; - while(1) { - $230 = HEAP32[$n>>2]|0; - $231 = HEAP32[$nMem>>2]|0; - $232 = ($230|0)<=($231|0); - if (!($232)) { - break; - } - $233 = HEAP32[$n>>2]|0; - $234 = HEAP32[$0>>2]|0; - $235 = (($234) + 8|0); - $236 = HEAP32[$235>>2]|0; - $237 = (($236) + (($233*40)|0)|0); - $238 = (($237) + 8|0); - HEAP16[$238>>1] = 128; - $239 = HEAP32[$db>>2]|0; - $240 = HEAP32[$n>>2]|0; - $241 = HEAP32[$0>>2]|0; - $242 = (($241) + 8|0); - $243 = HEAP32[$242>>2]|0; - $244 = (($243) + (($240*40)|0)|0); - $245 = (($244) + 32|0); - HEAP32[$245>>2] = $239; - $246 = HEAP32[$n>>2]|0; - $247 = (($246) + 1)|0; - HEAP32[$n>>2] = $247; - } - $248 = HEAP32[$1>>2]|0; - $249 = (($248) + 450|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = HEAP32[$0>>2]|0; - $253 = (($252) + 88|0); - $254 = $251&65535; - $255 = HEAP16[$253>>1]|0; - $256 = $254 & 3; - $257 = $255 & -4; - $258 = $257 | $256; - HEAP16[$253>>1] = $258; - $259 = HEAP32[$0>>2]|0; - _sqlite3VdbeRewind($259); - STACKTOP = sp;return; + HEAP32[$0>>2] = 0; + $41 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($41|0); } -function _sqlite3ParserReset($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; +function _sqlite3ValueText($pVal,$enc) { + $pVal = $pVal|0; + $enc = $enc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$db>>2] = $4; - $5 = HEAP32[$db>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 112|0); - $8 = HEAP32[$7>>2]|0; - _sqlite3DbFree($5,$8); - $9 = HEAP32[$db>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 316|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3ExprListDelete($9,$12); - STACKTOP = sp;return; + $1 = sp; + $2 = sp + 8|0; + HEAP32[$1>>2] = $pVal; + HEAP8[$2>>0] = $enc; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + do { + if ($4) { + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & 514; + $10 = ($9|0)==(514); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 10|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = HEAP8[$2>>0]|0; + $16 = $15&255; + $17 = ($14|0)==($16|0); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 16|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$0>>2] = $20; + break; + } + } + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 8|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = $24 & 1; + $26 = ($25|0)!=(0); + if ($26) { + HEAP32[$0>>2] = 0; + break; + } else { + $27 = HEAP32[$1>>2]|0; + $28 = HEAP8[$2>>0]|0; + $29 = (_valueToText($27,$28)|0); + HEAP32[$0>>2] = $29; + break; + } + } else { + HEAP32[$0>>2] = 0; + } + } while(0); + $30 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($30|0); } -function _sqlite3BtreeData($pCur,$offset,$amt,$pBuf) { - $pCur = $pCur|0; - $offset = $offset|0; - $amt = $amt|0; - $pBuf = $pBuf|0; +function _sqlite3ValueBytes($pVal,$enc) { + $pVal = $pVal|0; + $enc = $enc|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pCur; - HEAP32[$2>>2] = $offset; - HEAP32[$3>>2] = $amt; - HEAP32[$4>>2] = $pBuf; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 73|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(0); - if ($9) { - HEAP32[$0>>2] = 4; + $p = sp; + HEAP32[$1>>2] = $pVal; + HEAP8[$2>>0] = $enc; + $3 = HEAP32[$1>>2]|0; + HEAP32[$p>>2] = $3; + $4 = HEAP32[$p>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = $7 & 16; + $9 = ($8|0)!=(0); + if (!($9)) { + $10 = HEAP32[$1>>2]|0; + $11 = HEAP8[$2>>0]|0; + $12 = (_sqlite3ValueText($10,$11)|0); + $13 = ($12|0)!=(0|0); + if (!($13)) { + HEAP32[$0>>2] = 0; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); + } + } + $14 = HEAP32[$p>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = $17 & 16384; + $19 = ($18|0)!=(0); + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + if ($19) { + $23 = HEAP32[$p>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + ($24))|0; + HEAP32[$0>>2] = $25; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); + } else { + HEAP32[$0>>2] = $22; $26 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($26|0); } - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 73|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)>=(3); + return (0)|0; +} +function _sqlite3VdbeRealValue($pMem) { + $pMem = $pMem|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $val = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $val = sp; + HEAP32[$1>>2] = $pMem; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 8; + $7 = ($6|0)!=(0); + $8 = HEAP32[$1>>2]|0; + if ($7) { + $9 = +HEAPF64[$8>>3]; + HEAPF64[$0>>3] = $9; + $38 = +HEAPF64[$0>>3]; + STACKTOP = sp;return (+$38); + } + $10 = ((($8)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 & 4; + $14 = ($13|0)!=(0); + $15 = HEAP32[$1>>2]|0; if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = (_btreeRestoreCursorPosition($15)|0); + $16 = $15; $17 = $16; - } else { - $17 = 0; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (+($18>>>0)) + (4294967296.0*(+($21|0))); + HEAPF64[$0>>3] = $22; + $38 = +HEAPF64[$0>>3]; + STACKTOP = sp;return (+$38); } - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = (_accessPayload($20,$21,$22,$23,0)|0); - HEAP32[$rc>>2] = $24; + $23 = ((($15)) + 8|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24&65535; + $26 = $25 & 18; + $27 = ($26|0)!=(0); + if ($27) { + HEAPF64[$val>>3] = 0.0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 10|0); + $36 = HEAP8[$35>>0]|0; + (_sqlite3AtoF($30,$val,$33,$36)|0); + $37 = +HEAPF64[$val>>3]; + HEAPF64[$0>>3] = $37; + $38 = +HEAPF64[$0>>3]; + STACKTOP = sp;return (+$38); + } else { + HEAPF64[$0>>3] = 0.0; + $38 = +HEAPF64[$0>>3]; + STACKTOP = sp;return (+$38); } - $25 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $25; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + return +(0.0); } -function _sqlite3ExpirePreparedStatements($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3VdbeIntValue($pMem) { + $pMem = $pMem|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $flags = 0, $value = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - while(1) { - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - break; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 20|0; + $flags = sp + 16|0; + $value = sp; + HEAP32[$1>>2] = $pMem; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + HEAP32[$flags>>2] = $5; + $6 = HEAP32[$flags>>2]|0; + $7 = $6 & 4; + $8 = ($7|0)!=(0); + do { + if ($8) { + $9 = HEAP32[$1>>2]|0; + $10 = $9; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = $0; + $17 = $16; + HEAP32[$17>>2] = $12; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $15; + } else { + $20 = HEAP32[$flags>>2]|0; + $21 = $20 & 8; + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = +HEAPF64[$23>>3]; + $25 = (_doubleToInt64($24)|0); + $26 = tempRet0; + $27 = $0; + $28 = $27; + HEAP32[$28>>2] = $25; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + break; + } + $31 = HEAP32[$flags>>2]|0; + $32 = $31 & 18; + $33 = ($32|0)!=(0); + if ($33) { + $34 = $value; + $35 = $34; + HEAP32[$35>>2] = 0; + $36 = (($34) + 4)|0; + $37 = $36; + HEAP32[$37>>2] = 0; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 10|0); + $46 = HEAP8[$45>>0]|0; + (_sqlite3Atoi64($40,$value,$43,$46)|0); + $47 = $value; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $0; + $54 = $53; + HEAP32[$54>>2] = $49; + $55 = (($53) + 4)|0; + $56 = $55; + HEAP32[$56>>2] = $52; + break; + } else { + $57 = $0; + $58 = $57; + HEAP32[$58>>2] = 0; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = 0; + break; + } } - $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 88|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8 & -33; - $10 = $9 | 32; - HEAP16[$7>>1] = $10; - $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 52|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; + } while(0); + $61 = $0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + tempRet0 = ($66); + STACKTOP = sp;return ($63|0); +} +function _setResultStrOrError($pCtx,$z,$n,$enc,$xDel) { + $pCtx = $pCtx|0; + $z = $z|0; + $n = $n|0; + $enc = $enc|0; + $xDel = $xDel|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp + 16|0; + $4 = sp; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $n; + HEAP8[$3>>0] = $enc; + HEAP32[$4>>2] = $xDel; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP8[$3>>0]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3VdbeMemSetStr($6,$7,$8,$9,$10)|0); + $12 = ($11|0)==(18); + if (!($12)) { + STACKTOP = sp;return; } + $13 = HEAP32[$0>>2]|0; + _sqlite3_result_error_toobig($13); STACKTOP = sp;return; } -function _sqlite3_strglob($zGlobPattern,$zString) { - $zGlobPattern = $zGlobPattern|0; - $zString = $zString|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _invokeValueDestructor($p,$xDel,$pCtx) { + $p = $p|0; + $xDel = $xDel|0; + $pCtx = $pCtx|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $zGlobPattern; - HEAP32[$1>>2] = $zString; - $2 = HEAP32[$0>>2]|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $xDel; + HEAP32[$2>>2] = $pCtx; $3 = HEAP32[$1>>2]|0; - $4 = (_patternCompare($2,$3,1208,0)|0); - $5 = ($4|0)==(0); - $6 = $5&1; - STACKTOP = sp;return ($6|0); -} -function _patternCompare($zPattern,$zString,$pInfo,$esc) { - $zPattern = $zPattern|0; - $zString = $zString|0; - $pInfo = $pInfo|0; - $esc = $esc|0; + $4 = ($3|0)==(0|0); + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)==((-1)|0); + $or$cond = $4 | $6; + if (!($or$cond)) { + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$0>>2]|0; + FUNCTION_TABLE_vi[$7 & 31]($8); + } + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return 18; + } + $11 = HEAP32[$2>>2]|0; + _sqlite3_result_error_toobig($11); + STACKTOP = sp;return 18; +} +function _sqlite3VdbeMemSetDouble($pMem,$val) { + $pMem = $pMem|0; + $val = +$val; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp; + HEAP32[$0>>2] = $pMem; + HEAPF64[$1>>3] = $val; + $2 = HEAP32[$0>>2]|0; + _sqlite3VdbeMemSetNull($2); + $3 = +HEAPF64[$1>>3]; + $4 = (_sqlite3IsNaN($3)|0); + $5 = ($4|0)!=(0); + if ($5) { + STACKTOP = sp;return; + } + $6 = +HEAPF64[$1>>3]; + $7 = HEAP32[$0>>2]|0; + HEAPF64[$7>>3] = $6; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 8|0); + HEAP16[$9>>1] = 8; + STACKTOP = sp;return; +} +function _sqlite3VdbeMemSetStr($pMem,$z,$n,$enc,$xDel) { + $pMem = $pMem|0; + $z = $z|0; + $n = $n|0; + $enc = $enc|0; + $xDel = $xDel|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $c2 = 0; - var $cx = 0, $invert = 0, $matchAll = 0, $matchOne = 0, $matchOther = 0, $noCase = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $prior_c = 0, $seen = 0, $zEscaped = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $flags = 0; + var $iLimit = 0, $nAlloc = 0, $nByte = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $c = sp + 36|0; - $c2 = sp + 32|0; - $matchOne = sp + 28|0; - $matchAll = sp + 24|0; - $matchOther = sp + 20|0; - $noCase = sp + 60|0; - $zEscaped = sp + 16|0; - $cx = sp + 12|0; - $prior_c = sp + 8|0; - $seen = sp + 4|0; - $invert = sp; - HEAP32[$1>>2] = $zPattern; - HEAP32[$2>>2] = $zString; - HEAP32[$3>>2] = $pInfo; - HEAP32[$4>>2] = $esc; - $5 = HEAP32[$3>>2]|0; - $6 = (($5) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - HEAP32[$matchOne>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - HEAP32[$matchAll>>2] = $11; - $12 = HEAP32[$3>>2]|0; - $13 = (($12) + 3|0); - $14 = HEAP8[$13>>0]|0; - HEAP8[$noCase>>0] = $14; - HEAP32[$zEscaped>>2] = 0; - $15 = HEAP32[$4>>2]|0; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP32[$4>>2]|0; - $22 = $17; + STACKTOP = STACKTOP + 48|0; + $0 = sp; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 34|0; + $5 = sp + 28|0; + $nByte = sp + 12|0; + $iLimit = sp + 8|0; + $flags = sp + 32|0; + $nAlloc = sp + 4|0; + HEAP32[$1>>2] = $pMem; + HEAP32[$2>>2] = $z; + HEAP32[$3>>2] = $n; + HEAP8[$4>>0] = $enc; + HEAP32[$5>>2] = $xDel; + $6 = HEAP32[$3>>2]|0; + HEAP32[$nByte>>2] = $6; + HEAP16[$flags>>1] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0|0); + $9 = HEAP32[$1>>2]|0; + if (!($8)) { + _sqlite3VdbeMemSetNull($9); + HEAP32[$0>>2] = 0; + $138 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($138|0); + } + $10 = ((($9)) + 32|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 88|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$iLimit>>2] = $17; } else { - $18 = HEAP32[$3>>2]|0; - $19 = (($18) + 2|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21; + HEAP32[$iLimit>>2] = 1000000000; } - HEAP32[$matchOther>>2] = $22; - L5: while(1) { - $23 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c>>2] = $23; - $24 = ($23|0)!=(0); - if (!($24)) { - label = 76; - break; - } - $25 = HEAP32[$c>>2]|0; - $26 = HEAP32[$matchAll>>2]|0; - $27 = ($25|0)==($26|0); - if ($27) { - label = 7; - break; - } - $123 = HEAP32[$c>>2]|0; - $124 = HEAP32[$matchOther>>2]|0; - $125 = ($123|0)==($124|0); - do { - if ($125) { - $126 = HEAP32[$4>>2]|0; - $127 = ($126|0)!=(0); - if ($127) { - $128 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c>>2] = $128; - $129 = HEAP32[$c>>2]|0; - $130 = ($129|0)==(0); - if ($130) { - label = 43; - break L5; - } - $131 = HEAP32[$1>>2]|0; - HEAP32[$zEscaped>>2] = $131; - break; - } - HEAP32[$prior_c>>2] = 0; - HEAP32[$seen>>2] = 0; - HEAP32[$invert>>2] = 0; - $132 = (_sqlite3Utf8Read($2)|0); - HEAP32[$c>>2] = $132; - $133 = HEAP32[$c>>2]|0; - $134 = ($133|0)==(0); - if ($134) { - label = 46; - break L5; - } - $135 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $135; - $136 = HEAP32[$c2>>2]|0; - $137 = ($136|0)==(94); - if ($137) { - HEAP32[$invert>>2] = 1; - $138 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $138; - } - $139 = HEAP32[$c2>>2]|0; - $140 = ($139|0)==(93); - if ($140) { - $141 = HEAP32[$c>>2]|0; - $142 = ($141|0)==(93); - if ($142) { - HEAP32[$seen>>2] = 1; - } - $143 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $143; + $18 = HEAP8[$4>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(0); + $21 = $20 ? 16 : 2; + $22 = $21&65535; + HEAP16[$flags>>1] = $22; + $23 = HEAP32[$nByte>>2]|0; + $24 = ($23|0)<(0); + if ($24) { + $25 = HEAP8[$4>>0]|0; + $26 = $25&255; + $27 = ($26|0)==(1); + L11: do { + if ($27) { + $28 = HEAP32[$2>>2]|0; + $29 = (_sqlite3Strlen30($28)|0); + HEAP32[$nByte>>2] = $29; + $30 = HEAP32[$nByte>>2]|0; + $31 = HEAP32[$iLimit>>2]|0; + $32 = ($30|0)>($31|0); + if ($32) { + $33 = HEAP32[$iLimit>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$nByte>>2] = $34; } + } else { + HEAP32[$nByte>>2] = 0; while(1) { - $144 = HEAP32[$c2>>2]|0; - $145 = ($144|0)!=(0); - if ($145) { - $146 = HEAP32[$c2>>2]|0; - $147 = ($146|0)!=(93); - $217 = $147; - } else { - $217 = 0; - } - $148 = HEAP32[$c2>>2]|0; - if (!($217)) { - break; - } - $149 = ($148|0)==(45); - if ($149) { - $150 = HEAP32[$1>>2]|0; - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = ($152|0)!=(93); - if ($153) { - $154 = HEAP32[$1>>2]|0; - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = ($156|0)!=(0); - $158 = HEAP32[$prior_c>>2]|0; - $159 = ($158>>>0)>(0); - $or$cond = $157 & $159; - if ($or$cond) { - $160 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $160; - $161 = HEAP32[$c>>2]|0; - $162 = HEAP32[$prior_c>>2]|0; - $163 = ($161>>>0)>=($162>>>0); - if ($163) { - $164 = HEAP32[$c>>2]|0; - $165 = HEAP32[$c2>>2]|0; - $166 = ($164>>>0)<=($165>>>0); - if ($166) { - HEAP32[$seen>>2] = 1; - } - } - HEAP32[$prior_c>>2] = 0; - } else { - label = 63; - } - } else { - label = 63; - } - } else { - label = 63; + $35 = HEAP32[$nByte>>2]|0; + $36 = HEAP32[$iLimit>>2]|0; + $37 = ($35|0)<=($36|0); + if (!($37)) { + break L11; } - if ((label|0) == 63) { - label = 0; - $167 = HEAP32[$c>>2]|0; - $168 = HEAP32[$c2>>2]|0; - $169 = ($167|0)==($168|0); - if ($169) { - HEAP32[$seen>>2] = 1; - } - $170 = HEAP32[$c2>>2]|0; - HEAP32[$prior_c>>2] = $170; + $38 = HEAP32[$nByte>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = (($39) + ($38)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 << 24 >> 24; + $43 = HEAP32[$nByte>>2]|0; + $44 = (($43) + 1)|0; + $45 = HEAP32[$2>>2]|0; + $46 = (($45) + ($44)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47 << 24 >> 24; + $49 = $42 | $48; + $50 = ($49|0)!=(0); + if (!($50)) { + break L11; } - $171 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c2>>2] = $171; - } - $172 = ($148|0)==(0); - if ($172) { - label = 69; - break L5; - } - $173 = HEAP32[$seen>>2]|0; - $174 = HEAP32[$invert>>2]|0; - $175 = $173 ^ $174; - $176 = ($175|0)==(0); - if ($176) { - label = 69; - break L5; - } else { - continue L5; + $51 = HEAP32[$nByte>>2]|0; + $52 = (($51) + 2)|0; + HEAP32[$nByte>>2] = $52; } } } while(0); - $177 = (_sqlite3Utf8Read($2)|0); - HEAP32[$c2>>2] = $177; - $178 = HEAP32[$c>>2]|0; - $179 = HEAP32[$c2>>2]|0; - $180 = ($178|0)==($179|0); - if ($180) { - continue; - } - $181 = HEAP8[$noCase>>0]|0; - $182 = $181&255; - $183 = ($182|0)!=(0); - $184 = HEAP32[$c>>2]|0; - $185 = ($184>>>0)<(128); - $or$cond3 = $183 & $185; - $186 = HEAP32[$c2>>2]|0; - $187 = ($186>>>0)<(128); - $or$cond5 = $or$cond3 & $187; - if ($or$cond5) { - $188 = HEAP32[$c>>2]|0; - $189 = $188&255; - $190 = $189&255; - $191 = (440 + ($190)|0); - $192 = HEAP8[$191>>0]|0; - $193 = $192&255; - $194 = HEAP32[$c2>>2]|0; - $195 = $194&255; - $196 = $195&255; - $197 = (440 + ($196)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($193|0)==($199|0); - if ($200) { - continue; - } - } - $201 = HEAP32[$c>>2]|0; - $202 = HEAP32[$matchOne>>2]|0; - $203 = ($201|0)==($202|0); - if (!($203)) { - label = 75; - break; - } - $204 = HEAP32[$1>>2]|0; - $205 = HEAP32[$zEscaped>>2]|0; - $206 = ($204|0)!=($205|0); - $207 = HEAP32[$c2>>2]|0; - $208 = ($207|0)!=(0); - $or$cond7 = $206 & $208; - if (!($or$cond7)) { - label = 75; - break; - } + $53 = HEAP16[$flags>>1]|0; + $54 = $53&65535; + $55 = $54 | 512; + $56 = $55&65535; + HEAP16[$flags>>1] = $56; } - if ((label|0) == 7) { - while(1) { - label = 0; - $28 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c>>2] = $28; - $29 = HEAP32[$matchAll>>2]|0; - $30 = ($28|0)==($29|0); - if ($30) { - $215 = 1; - } else { - $31 = HEAP32[$c>>2]|0; - $32 = HEAP32[$matchOne>>2]|0; - $33 = ($31|0)==($32|0); - $215 = $33; + $57 = HEAP32[$5>>2]|0; + $58 = ($57|0)==((-1)|0); + do { + if ($58) { + $59 = HEAP32[$nByte>>2]|0; + HEAP32[$nAlloc>>2] = $59; + $60 = HEAP16[$flags>>1]|0; + $61 = $60&65535; + $62 = $61 & 512; + $63 = ($62|0)!=(0); + if ($63) { + $64 = HEAP8[$4>>0]|0; + $65 = $64&255; + $66 = ($65|0)==(1); + $67 = $66 ? 1 : 2; + $68 = HEAP32[$nAlloc>>2]|0; + $69 = (($68) + ($67))|0; + HEAP32[$nAlloc>>2] = $69; } - $34 = HEAP32[$c>>2]|0; - if (!($215)) { - break; + $70 = HEAP32[$nByte>>2]|0; + $71 = HEAP32[$iLimit>>2]|0; + $72 = ($70|0)>($71|0); + if ($72) { + HEAP32[$0>>2] = 18; + $138 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($138|0); } - $35 = HEAP32[$matchOne>>2]|0; - $36 = ($34|0)==($35|0); - if (!($36)) { - label = 7; - continue; + $73 = HEAP32[$1>>2]|0; + $74 = HEAP32[$nAlloc>>2]|0; + $75 = ($74|0)>(32); + $76 = HEAP32[$nAlloc>>2]|0; + $77 = $75 ? $76 : 32; + $78 = (_sqlite3VdbeMemClearAndResize($73,$77)|0); + $79 = ($78|0)!=(0); + if (!($79)) { + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 16|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$2>>2]|0; + $84 = HEAP32[$nAlloc>>2]|0; + _memcpy(($82|0),($83|0),($84|0))|0; + break; } - $37 = (_sqlite3Utf8Read($2)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 12; + HEAP32[$0>>2] = 7; + $138 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($138|0); + } else { + $85 = HEAP32[$5>>2]|0; + $86 = ($85|0)==(23|0); + $87 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemRelease($87); + $88 = HEAP32[$2>>2]|0; + $89 = HEAP32[$1>>2]|0; + $90 = ((($89)) + 16|0); + HEAP32[$90>>2] = $88; + if ($86) { + $91 = HEAP32[$1>>2]|0; + $92 = ((($91)) + 20|0); + HEAP32[$92>>2] = $88; + $93 = HEAP32[$1>>2]|0; + $94 = ((($93)) + 32|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 20|0); + $98 = HEAP32[$97>>2]|0; + $99 = (_sqlite3DbMallocSize($95,$98)|0); + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 24|0); + HEAP32[$101>>2] = $99; break; } else { - label = 7; + $102 = HEAP32[$5>>2]|0; + $103 = HEAP32[$1>>2]|0; + $104 = ((($103)) + 36|0); + HEAP32[$104>>2] = $102; + $105 = HEAP32[$5>>2]|0; + $106 = ($105|0)==(0|0); + $107 = $106 ? 2048 : 1024; + $108 = HEAP16[$flags>>1]|0; + $109 = $108&65535; + $110 = $109 | $107; + $111 = $110&65535; + HEAP16[$flags>>1] = $111; + break; } } - if ((label|0) == 12) { - HEAP32[$0>>2] = 0; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); - } - $39 = ($34|0)==(0); - if ($39) { - HEAP32[$0>>2] = 1; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); + } while(0); + $112 = HEAP32[$nByte>>2]|0; + $113 = HEAP32[$1>>2]|0; + $114 = ((($113)) + 12|0); + HEAP32[$114>>2] = $112; + $115 = HEAP16[$flags>>1]|0; + $116 = HEAP32[$1>>2]|0; + $117 = ((($116)) + 8|0); + HEAP16[$117>>1] = $115; + $118 = HEAP8[$4>>0]|0; + $119 = $118&255; + $120 = ($119|0)==(0); + $121 = HEAP8[$4>>0]|0; + $122 = $121&255; + $123 = $120 ? 1 : $122; + $124 = $123&255; + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 10|0); + HEAP8[$126>>0] = $124; + $127 = HEAP32[$1>>2]|0; + $128 = ((($127)) + 10|0); + $129 = HEAP8[$128>>0]|0; + $130 = $129&255; + $131 = ($130|0)!=(1); + if ($131) { + $132 = HEAP32[$1>>2]|0; + $133 = (_sqlite3VdbeMemHandleBom($132)|0); + $134 = ($133|0)!=(0); + if ($134) { + HEAP32[$0>>2] = 7; + $138 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($138|0); } - $40 = HEAP32[$c>>2]|0; - $41 = HEAP32[$matchOther>>2]|0; - $42 = ($40|0)==($41|0); - do { - if ($42) { - $43 = HEAP32[$4>>2]|0; - $44 = ($43|0)!=(0); - if ($44) { - $45 = (_sqlite3Utf8Read($1)|0); - HEAP32[$c>>2] = $45; - $46 = HEAP32[$c>>2]|0; - $47 = ($46|0)==(0); - if (!($47)) { - break; - } - HEAP32[$0>>2] = 0; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); - } - L82: while(1) { - $48 = HEAP32[$2>>2]|0; - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = ($50|0)!=(0); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = (($52) + -1|0); - $54 = HEAP32[$2>>2]|0; - $55 = HEAP32[$3>>2]|0; - $56 = HEAP32[$4>>2]|0; - $57 = (_patternCompare($53,$54,$55,$56)|0); - $58 = ($57|0)==(0); - $216 = $58; - } else { - $216 = 0; - } - $59 = HEAP32[$2>>2]|0; - if (!($216)) { - break; - } - $60 = (($59) + 1|0); - HEAP32[$2>>2] = $60; - $61 = HEAP8[$59>>0]|0; - $62 = $61&255; - $63 = ($62|0)>=(192); - if (!($63)) { - continue; - } - while(1) { - $64 = HEAP32[$2>>2]|0; - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = $66 & 192; - $68 = ($67|0)==(128); - if (!($68)) { - continue L82; - } - $69 = HEAP32[$2>>2]|0; - $70 = (($69) + 1|0); - HEAP32[$2>>2] = $70; - } - } - $71 = HEAP8[$59>>0]|0; - $72 = $71&255; - $73 = ($72|0)!=(0); - $74 = $73&1; - HEAP32[$0>>2] = $74; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); - } - } while(0); - $75 = HEAP32[$c>>2]|0; - $76 = ($75>>>0)<=(128); - L94: do { - if ($76) { - $77 = HEAP8[$noCase>>0]|0; - $78 = ($77<<24>>24)!=(0); - $79 = HEAP32[$c>>2]|0; - if ($78) { - $80 = HEAP32[$c>>2]|0; - $81 = $80&255; - $82 = $81&255; - $83 = (1224 + ($82)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $85 & 32; - $87 = $86 ^ -1; - $88 = $79 & $87; - HEAP32[$cx>>2] = $88; - $89 = HEAP32[$c>>2]|0; - $90 = $89&255; - $91 = $90&255; - $92 = (440 + ($91)|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - HEAP32[$c>>2] = $94; - } else { - HEAP32[$cx>>2] = $79; - } - while(1) { - $95 = HEAP32[$2>>2]|0; - $96 = (($95) + 1|0); - HEAP32[$2>>2] = $96; - $97 = HEAP8[$95>>0]|0; - $98 = $97&255; - HEAP32[$c2>>2] = $98; - $99 = ($98|0)!=(0); - if (!($99)) { - break L94; - } - $100 = HEAP32[$c2>>2]|0; - $101 = HEAP32[$c>>2]|0; - $102 = ($100|0)!=($101|0); - if ($102) { - $103 = HEAP32[$c2>>2]|0; - $104 = HEAP32[$cx>>2]|0; - $105 = ($103|0)!=($104|0); - if ($105) { - continue; - } - } - $106 = HEAP32[$1>>2]|0; - $107 = HEAP32[$2>>2]|0; - $108 = HEAP32[$3>>2]|0; - $109 = HEAP32[$4>>2]|0; - $110 = (_patternCompare($106,$107,$108,$109)|0); - $111 = ($110|0)!=(0); - if ($111) { - break; - } - } - HEAP32[$0>>2] = 1; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); - } else { - while(1) { - $112 = (_sqlite3Utf8Read($2)|0); - HEAP32[$c2>>2] = $112; - $113 = ($112|0)!=(0); - if (!($113)) { - break L94; - } - $114 = HEAP32[$c2>>2]|0; - $115 = HEAP32[$c>>2]|0; - $116 = ($114|0)!=($115|0); - if ($116) { - continue; - } - $117 = HEAP32[$1>>2]|0; - $118 = HEAP32[$2>>2]|0; - $119 = HEAP32[$3>>2]|0; - $120 = HEAP32[$4>>2]|0; - $121 = (_patternCompare($117,$118,$119,$120)|0); - $122 = ($121|0)!=(0); - if ($122) { - break; - } - } - HEAP32[$0>>2] = 1; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); } - else if ((label|0) == 43) { + $135 = HEAP32[$nByte>>2]|0; + $136 = HEAP32[$iLimit>>2]|0; + $137 = ($135|0)>($136|0); + if ($137) { + HEAP32[$0>>2] = 18; + $138 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($138|0); + } else { HEAP32[$0>>2] = 0; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); + $138 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($138|0); } - else if ((label|0) == 46) { - HEAP32[$0>>2] = 0; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); + return (0)|0; +} +function _sqlite3VdbeMemSetInt64($pMem,$0,$1) { + $pMem = $pMem|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $pMem; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + $12 = $11 & 9312; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$2>>2]|0; + $15 = $3; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + _vdbeReleaseAndSetInt64($14,$17,$20); + STACKTOP = sp;return; + } else { + $21 = $3; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = $27; + $29 = $28; + HEAP32[$29>>2] = $23; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 8|0); + HEAP16[$33>>1] = 4; + STACKTOP = sp;return; } - else if ((label|0) == 69) { - HEAP32[$0>>2] = 0; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); +} +function _sqlite3VdbeMemSetNull($pMem) { + $pMem = $pMem|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pMem; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & 9312; + $6 = ($5|0)!=(0); + $7 = HEAP32[$0>>2]|0; + if ($6) { + _vdbeMemClearExternAndSetNull($7); + STACKTOP = sp;return; + } else { + $8 = ((($7)) + 8|0); + HEAP16[$8>>1] = 1; + STACKTOP = sp;return; } - else if ((label|0) == 75) { - HEAP32[$0>>2] = 0; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); +} +function _sqlite3VdbeMemCopy($pTo,$pFrom) { + $pTo = $pTo|0; + $pFrom = $pFrom|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pTo; + HEAP32[$1>>2] = $pFrom; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 9312; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$0>>2]|0; + _vdbeMemClearExternAndSetNull($8); } - else if ((label|0) == 76) { - $209 = HEAP32[$2>>2]|0; - $210 = HEAP8[$209>>0]|0; - $211 = $210&255; - $212 = ($211|0)==(0); - $213 = $212&1; - HEAP32[$0>>2] = $213; - $214 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($214|0); + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$1>>2]|0; + ;HEAP32[$9>>2]=HEAP32[$10>>2]|0;HEAP32[$9+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$10+16>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 & -1025; + $16 = $15&65535; + HEAP16[$12>>1] = $16; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19&65535; + $21 = $20 & 18; + $22 = ($21|0)!=(0); + if (!($22)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); + } + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 & 2048; + $28 = (0)==($27|0); + if (!($28)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } - return 0|0; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = $32 | 4096; + $34 = $33&65535; + HEAP16[$30>>1] = $34; + $35 = HEAP32[$0>>2]|0; + $36 = (_sqlite3VdbeMemMakeWriteable($35)|0); + HEAP32[$rc>>2] = $36; + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } -function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { - $db = $db|0; - $zSql = $zSql|0; - $xCallback = $xCallback|0; - $pArg = $pArg|0; - $pzErrMsg = $pzErrMsg|0; +function _sqlite3VdbeMemSetZeroBlob($pMem,$n) { + $pMem = $pMem|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pMem; + HEAP32[$1>>2] = $n; + $2 = HEAP32[$0>>2]|0; + _sqlite3VdbeMemRelease($2); + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 8|0); + HEAP16[$4>>1] = 16400; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)<(0); + if ($8) { + HEAP32[$1>>2] = 0; + } + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$0>>2]|0; + HEAP32[$10>>2] = $9; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 10|0); + HEAP8[$12>>0] = 1; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 16|0); + HEAP32[$14>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3ErrStr($rc) { + $rc = $rc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $or$cond = 0, $zErr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $zErr = sp; + HEAP32[$0>>2] = $rc; + HEAP32[$zErr>>2] = 35431; + $1 = HEAP32[$0>>2]|0; + $cond = ($1|0)==(516); + if ($cond) { + HEAP32[$zErr>>2] = 35445; + } else { + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 255; + HEAP32[$0>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)>=(0); + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)<(27); + $or$cond = $5 & $7; + if ($or$cond) { + $8 = HEAP32[$0>>2]|0; + $9 = (4008 + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$0>>2]|0; + $13 = (4008 + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$zErr>>2] = $14; + } + } + } + $15 = HEAP32[$zErr>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _vdbeSafetyNotNull($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + $1 = sp + 4|0; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + _sqlite3_log(21,35391,$vararg_buffer); + HEAP32[$0>>2] = 1; + $6 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($6|0); + } else { + $4 = HEAP32[$1>>2]|0; + $5 = (_vdbeSafety($4)|0); + HEAP32[$0>>2] = $5; + $6 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($6|0); + } + return (0)|0; +} +function _sqlite3Step($p) { + $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $azCols = 0, $azVals = 0, $callbackIsInit = 0, $i = 0, $nCol = 0, $nErrMsg = 0, $or$cond = 0; - var $or$cond3 = 0, $pStmt = 0, $rc = 0, $zLeftover = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $db = 0, $iNow = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $rc = sp + 32|0; - $zLeftover = sp + 28|0; - $pStmt = sp + 24|0; - $azCols = sp + 20|0; - $callbackIsInit = sp + 16|0; - $nCol = sp + 12|0; - $azVals = sp + 8|0; - $i = sp + 4|0; - $nErrMsg = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zSql; - HEAP32[$3>>2] = $xCallback; - HEAP32[$4>>2] = $pArg; - HEAP32[$5>>2] = $pzErrMsg; - HEAP32[$rc>>2] = 0; - HEAP32[$pStmt>>2] = 0; - HEAP32[$azCols>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3SafetyCheckOk($6)|0); - $8 = ($7|0)!=(0); - if (!($8)) { - $9 = (_sqlite3MisuseError(99392)|0); - HEAP32[$0>>2] = $9; - $152 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($152|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $db = sp + 12|0; + $rc = sp + 8|0; + $iNow = sp; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 40|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(-1108210269); + if ($5) { + $6 = HEAP32[$1>>2]|0; + (_sqlite3_reset($6)|0); } - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - HEAP32[$2>>2] = 1216; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$db>>2] = $8; + $9 = HEAP32[$db>>2]|0; + $10 = ((($9)) + 64|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)!=(0); + $13 = HEAP32[$1>>2]|0; + if ($12) { + $14 = ((($13)) + 80|0); + HEAP32[$14>>2] = 7; + HEAP32[$0>>2] = 7; + $180 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($180|0); } - $12 = HEAP32[$1>>2]|0; - _sqlite3Error($12,0); - L8: while(1) { - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - break; - } - $15 = HEAP32[$2>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = ($17|0)!=(0); - if (!($18)) { - break; + $15 = ((($13)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)<=(0); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 88|0); + $20 = HEAP16[$19>>1]|0; + $21 = ($20&65535) >>> 5; + $22 = $21 & 1; + $23 = $22&65535; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 80|0); + HEAP32[$26>>2] = 17; + HEAP32[$rc>>2] = 1; + } else { + label = 8; } - HEAP32[$azVals>>2] = 0; - HEAP32[$pStmt>>2] = 0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = (_sqlite3_prepare_v2($19,$20,-1,$pStmt,$zLeftover)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - if ($23) { - continue; + } else { + label = 8; + } + if ((label|0) == 8) { + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 76|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)<(0); + if ($30) { + $31 = HEAP32[$db>>2]|0; + $32 = ((($31)) + 148|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$db>>2]|0; + $36 = ((($35)) + 240|0); + HEAP32[$36>>2] = 0; + } + $37 = HEAP32[$db>>2]|0; + $38 = ((($37)) + 180|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $41 = HEAP32[$db>>2]|0; + $42 = ((($41)) + 140|0); + $43 = ((($42)) + 5|0); + $44 = HEAP8[$43>>0]|0; + $45 = ($44<<24>>24)!=(0); + if (!($45)) { + $46 = HEAP32[$db>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 128|0); + (_sqlite3OsCurrentTimeInt64($47,$49)|0); + } + } + $50 = HEAP32[$db>>2]|0; + $51 = ((($50)) + 148|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$51>>2] = $53; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 88|0); + $56 = HEAP16[$55>>1]|0; + $57 = ($56&65535) >>> 8; + $58 = $57 & 1; + $59 = $58&65535; + $60 = ($59|0)==(0); + if ($60) { + $61 = HEAP32[$db>>2]|0; + $62 = ((($61)) + 156|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$62>>2] = $64; + } + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 88|0); + $67 = HEAP16[$66>>1]|0; + $68 = ($67&65535) >>> 9; + $69 = $68 & 1; + $70 = $69&65535; + $71 = ($70|0)!=(0); + if ($71) { + $72 = HEAP32[$db>>2]|0; + $73 = ((($72)) + 152|0); + $74 = HEAP32[$73>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$73>>2] = $75; + } + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 76|0); + HEAP32[$77>>2] = 0; } - $24 = HEAP32[$pStmt>>2]|0; - $25 = ($24|0)!=(0|0); - if (!($25)) { - $26 = HEAP32[$zLeftover>>2]|0; - HEAP32[$2>>2] = $26; - continue; + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 88|0); + $80 = HEAP16[$79>>1]|0; + $81 = $80 & 3; + $82 = $81&65535; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$1>>2]|0; + $85 = (_sqlite3VdbeList($84)|0); + HEAP32[$rc>>2] = $85; + } else { + $86 = HEAP32[$db>>2]|0; + $87 = ((($86)) + 160|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($88) + 1)|0; + HEAP32[$87>>2] = $89; + $90 = HEAP32[$1>>2]|0; + $91 = (_sqlite3VdbeExec($90)|0); + HEAP32[$rc>>2] = $91; + $92 = HEAP32[$db>>2]|0; + $93 = ((($92)) + 160|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + -1)|0; + HEAP32[$93>>2] = $95; } - HEAP32[$callbackIsInit>>2] = 0; - $27 = HEAP32[$pStmt>>2]|0; - $28 = (_sqlite3_column_count($27)|0); - HEAP32[$nCol>>2] = $28; - while(1) { - $29 = HEAP32[$pStmt>>2]|0; - $30 = (_sqlite3_step($29)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$3>>2]|0; - $32 = ($31|0)!=(0|0); - do { - if ($32) { - $33 = HEAP32[$rc>>2]|0; - $34 = (100)==($33|0); - if (!($34)) { - $35 = HEAP32[$rc>>2]|0; - $36 = (101)!=($35|0); - $37 = HEAP32[$callbackIsInit>>2]|0; - $38 = ($37|0)!=(0); - $or$cond = $36 | $38; - if ($or$cond) { - break; - } - $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41 & 256; - $43 = ($42|0)!=(0); - if (!($43)) { - break; - } - } - $44 = HEAP32[$callbackIsInit>>2]|0; - $45 = ($44|0)!=(0); - if (!($45)) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$nCol>>2]|0; - $48 = $47<<1; - $49 = $48<<2; - $50 = (($49) + 1)|0; - $51 = (_sqlite3DbMallocZero($46,$50,0)|0); - HEAP32[$azCols>>2] = $51; - $52 = HEAP32[$azCols>>2]|0; - $53 = ($52|0)==(0|0); - if ($53) { - break L8; - } - HEAP32[$i>>2] = 0; - while(1) { - $54 = HEAP32[$i>>2]|0; - $55 = HEAP32[$nCol>>2]|0; - $56 = ($54|0)<($55|0); - if (!($56)) { - break; - } - $57 = HEAP32[$pStmt>>2]|0; - $58 = HEAP32[$i>>2]|0; - $59 = (_sqlite3_column_name($57,$58)|0); - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$azCols>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAP32[$62>>2] = $59; - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$i>>2] = $64; - } - HEAP32[$callbackIsInit>>2] = 1; - } - $65 = HEAP32[$rc>>2]|0; - $66 = ($65|0)==(100); - L32: do { - if ($66) { - $67 = HEAP32[$nCol>>2]|0; - $68 = HEAP32[$azCols>>2]|0; - $69 = (($68) + ($67<<2)|0); - HEAP32[$azVals>>2] = $69; - HEAP32[$i>>2] = 0; - while(1) { - $70 = HEAP32[$i>>2]|0; - $71 = HEAP32[$nCol>>2]|0; - $72 = ($70|0)<($71|0); - if (!($72)) { - break L32; - } - $73 = HEAP32[$pStmt>>2]|0; - $74 = HEAP32[$i>>2]|0; - $75 = (_sqlite3_column_text($73,$74)|0); - $76 = HEAP32[$i>>2]|0; - $77 = HEAP32[$azVals>>2]|0; - $78 = (($77) + ($76<<2)|0); - HEAP32[$78>>2] = $75; - $79 = HEAP32[$i>>2]|0; - $80 = HEAP32[$azVals>>2]|0; - $81 = (($80) + ($79<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)!=(0|0); - if (!($83)) { - $84 = HEAP32[$pStmt>>2]|0; - $85 = HEAP32[$i>>2]|0; - $86 = (_sqlite3_column_type($84,$85)|0); - $87 = ($86|0)!=(5); - if ($87) { - label = 27; - break L8; - } - } - $90 = HEAP32[$i>>2]|0; - $91 = (($90) + 1)|0; - HEAP32[$i>>2] = $91; - } - } - } while(0); - $92 = HEAP32[$3>>2]|0; - $93 = HEAP32[$4>>2]|0; - $94 = HEAP32[$nCol>>2]|0; - $95 = HEAP32[$azVals>>2]|0; - $96 = HEAP32[$azCols>>2]|0; - $97 = (FUNCTION_TABLE_iiiii[$92 & 7]($93,$94,$95,$96)|0); - $98 = ($97|0)!=(0); - if ($98) { - label = 30; - break L8; + $96 = HEAP32[$rc>>2]|0; + $97 = ($96|0)!=(100); + if ($97) { + $98 = HEAP32[$db>>2]|0; + $99 = ((($98)) + 180|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)!=(0|0); + if ($101) { + $102 = HEAP32[$db>>2]|0; + $103 = ((($102)) + 140|0); + $104 = ((($103)) + 5|0); + $105 = HEAP8[$104>>0]|0; + $106 = ($105<<24>>24)!=(0); + if (!($106)) { + $107 = HEAP32[$1>>2]|0; + $108 = ((($107)) + 168|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)!=(0|0); + if ($110) { + $111 = HEAP32[$db>>2]|0; + $112 = HEAP32[$111>>2]|0; + (_sqlite3OsCurrentTimeInt64($112,$iNow)|0); + $113 = HEAP32[$db>>2]|0; + $114 = ((($113)) + 180|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$db>>2]|0; + $117 = ((($116)) + 184|0); + $118 = HEAP32[$117>>2]|0; + $119 = HEAP32[$1>>2]|0; + $120 = ((($119)) + 168|0); + $121 = HEAP32[$120>>2]|0; + $122 = $iNow; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (($122) + 4)|0; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$1>>2]|0; + $129 = ((($128)) + 128|0); + $130 = $129; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (_i64Subtract(($124|0),($127|0),($132|0),($135|0))|0); + $137 = tempRet0; + $138 = (___muldi3(($136|0),($137|0),1000000,0)|0); + $139 = tempRet0; + FUNCTION_TABLE_viiii[$115 & 3]($118,$121,$138,$139); } } - } while(0); - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)!=(100); - if ($102) { - break; } } - $103 = HEAP32[$pStmt>>2]|0; - $104 = (_sqlite3VdbeFinalize($103)|0); - HEAP32[$rc>>2] = $104; - HEAP32[$pStmt>>2] = 0; - $105 = HEAP32[$zLeftover>>2]|0; - HEAP32[$2>>2] = $105; - while(1) { - $106 = HEAP32[$2>>2]|0; - $107 = HEAP8[$106>>0]|0; - $108 = $107&255; - $109 = (1224 + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110&255; - $112 = $111 & 1; - $113 = ($112|0)!=(0); - if (!($113)) { - break; + $140 = HEAP32[$rc>>2]|0; + $141 = ($140|0)==(101); + if ($141) { + $142 = HEAP32[$db>>2]|0; + $143 = (_doWalCallbacks($142)|0); + $144 = HEAP32[$1>>2]|0; + $145 = ((($144)) + 80|0); + HEAP32[$145>>2] = $143; + $146 = HEAP32[$1>>2]|0; + $147 = ((($146)) + 80|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)!=(0); + if ($149) { + HEAP32[$rc>>2] = 1; } - $114 = HEAP32[$2>>2]|0; - $115 = (($114) + 1|0); - HEAP32[$2>>2] = $115; } - $116 = HEAP32[$1>>2]|0; - $117 = HEAP32[$azCols>>2]|0; - _sqlite3DbFree($116,$117); - HEAP32[$azCols>>2] = 0; - } - if ((label|0) == 27) { - $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 64|0); - HEAP8[$89>>0] = 1; - } - else if ((label|0) == 30) { - HEAP32[$rc>>2] = 4; - $99 = HEAP32[$pStmt>>2]|0; - (_sqlite3VdbeFinalize($99)|0); - HEAP32[$pStmt>>2] = 0; - $100 = HEAP32[$1>>2]|0; - _sqlite3Error($100,4); + $150 = HEAP32[$rc>>2]|0; + $151 = HEAP32[$db>>2]|0; + $152 = ((($151)) + 52|0); + HEAP32[$152>>2] = $150; + $153 = HEAP32[$1>>2]|0; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$1>>2]|0; + $156 = ((($155)) + 80|0); + $157 = HEAP32[$156>>2]|0; + $158 = (_sqlite3ApiExit($154,$157)|0); + $159 = (7)==($158|0); + if ($159) { + $160 = HEAP32[$1>>2]|0; + $161 = ((($160)) + 80|0); + HEAP32[$161>>2] = 7; + } } - $118 = HEAP32[$pStmt>>2]|0; - $119 = ($118|0)!=(0|0); - if ($119) { - $120 = HEAP32[$pStmt>>2]|0; - (_sqlite3VdbeFinalize($120)|0); + $162 = HEAP32[$1>>2]|0; + $163 = ((($162)) + 88|0); + $164 = HEAP16[$163>>1]|0; + $165 = ($164&65535) >>> 10; + $166 = $165 & 1; + $167 = $166&65535; + $168 = ($167|0)!=(0); + $169 = HEAP32[$rc>>2]|0; + $170 = ($169|0)!=(100); + $or$cond = $168 & $170; + $171 = HEAP32[$rc>>2]|0; + $172 = ($171|0)!=(101); + $or$cond3 = $or$cond & $172; + if ($or$cond3) { + $173 = HEAP32[$1>>2]|0; + $174 = (_sqlite3VdbeTransferError($173)|0); + HEAP32[$rc>>2] = $174; } - $121 = HEAP32[$1>>2]|0; - $122 = HEAP32[$azCols>>2]|0; - _sqlite3DbFree($121,$122); - $123 = HEAP32[$1>>2]|0; - $124 = HEAP32[$rc>>2]|0; - $125 = (_sqlite3ApiExit($123,$124)|0); - HEAP32[$rc>>2] = $125; - $126 = HEAP32[$rc>>2]|0; - $127 = ($126|0)!=(0); - $128 = HEAP32[$5>>2]|0; - $129 = ($128|0)!=(0|0); - $or$cond3 = $127 & $129; - do { - if ($or$cond3) { - $130 = HEAP32[$1>>2]|0; - $131 = (_sqlite3_errmsg($130)|0); - $132 = (_sqlite3Strlen30($131)|0); - $133 = (1 + ($132))|0; - HEAP32[$nErrMsg>>2] = $133; - $134 = HEAP32[$nErrMsg>>2]|0; - $135 = ($134|0)<(0); - $136 = $135 << 31 >> 31; - $137 = (_sqlite3Malloc($134,$136)|0); - $138 = HEAP32[$5>>2]|0; - HEAP32[$138>>2] = $137; - $139 = HEAP32[$5>>2]|0; - $140 = HEAP32[$139>>2]|0; - $141 = ($140|0)!=(0|0); - if ($141) { - $142 = HEAP32[$5>>2]|0; - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$1>>2]|0; - $145 = (_sqlite3_errmsg($144)|0); - $146 = HEAP32[$nErrMsg>>2]|0; - _memcpy(($143|0),($145|0),($146|0))|0; - break; - } else { - HEAP32[$rc>>2] = 7; - $147 = HEAP32[$1>>2]|0; - _sqlite3Error($147,7); - break; - } - } else { - $148 = HEAP32[$5>>2]|0; - $149 = ($148|0)!=(0|0); - if ($149) { - $150 = HEAP32[$5>>2]|0; - HEAP32[$150>>2] = 0; - } - } - } while(0); - $151 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $151; - $152 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($152|0); + $175 = HEAP32[$rc>>2]|0; + $176 = HEAP32[$db>>2]|0; + $177 = ((($176)) + 56|0); + $178 = HEAP32[$177>>2]|0; + $179 = $175 & $178; + HEAP32[$0>>2] = $179; + $180 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($180|0); } -function _sqlite3SafetyCheckOk($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $magic = 0, label = 0, sp = 0; +function _sqlite3Reprepare($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pNew = 0, $rc = 0, $zSql = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $magic = sp; - HEAP32[$1>>2] = $db; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $rc = sp + 12|0; + $pNew = sp + 8|0; + $zSql = sp + 4|0; + $db = sp; + HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - do { - if ($3) { - _logBadConnection(9840); - HEAP32[$0>>2] = 0; - } else { - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 76|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$magic>>2] = $6; - $7 = HEAP32[$magic>>2]|0; - $8 = ($7|0)!=(-1607883113); - if (!($8)) { - HEAP32[$0>>2] = 1; - break; - } - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3SafetyCheckSickOrOk($9)|0); - $11 = ($10|0)!=(0); - if ($11) { - _logBadConnection(31136); - } - HEAP32[$0>>2] = 0; - } - } while(0); - $12 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($12|0); + $3 = (_sqlite3_sql($2)|0); + HEAP32[$zSql>>2] = $3; + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3VdbeDb($4)|0); + HEAP32[$db>>2] = $5; + $6 = HEAP32[$db>>2]|0; + $7 = HEAP32[$zSql>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = (_sqlite3LockAndPrepare($6,$7,-1,0,$8,$pNew,0)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + $11 = ($10|0)!=(0); + if (!($11)) { + $17 = HEAP32[$pNew>>2]|0; + $18 = HEAP32[$1>>2]|0; + _sqlite3VdbeSwap($17,$18); + $19 = HEAP32[$pNew>>2]|0; + $20 = HEAP32[$1>>2]|0; + (_sqlite3TransferBindings($19,$20)|0); + $21 = HEAP32[$pNew>>2]|0; + _sqlite3VdbeResetStepResult($21); + $22 = HEAP32[$pNew>>2]|0; + (_sqlite3VdbeFinalize($22)|0); + HEAP32[$0>>2] = 0; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); + } + $12 = HEAP32[$rc>>2]|0; + $13 = ($12|0)==(7); + if ($13) { + $14 = HEAP32[$db>>2]|0; + $15 = ((($14)) + 64|0); + HEAP8[$15>>0] = 1; + } + $16 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $16; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); } -function _sqlite3_prepare_v2($db,$zSql,$nBytes,$ppStmt,$pzTail) { +function _sqlite3DbStrDup($db,$z) { $db = $db|0; - $zSql = $zSql|0; - $nBytes = $nBytes|0; - $ppStmt = $ppStmt|0; - $pzTail = $pzTail|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + $z = $z|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $n = 0, $zNew = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zSql; - HEAP32[$2>>2] = $nBytes; - HEAP32[$3>>2] = $ppStmt; - HEAP32[$4>>2] = $pzTail; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_sqlite3LockAndPrepare($5,$6,$7,1,0,$8,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $zNew = sp + 4|0; + $n = sp; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $z; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$0>>2] = 0; + $19 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($19|0); + } + $5 = HEAP32[$2>>2]|0; + $6 = (_sqlite3Strlen30($5)|0); + $7 = (($6) + 1)|0; + HEAP32[$n>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$n>>2]|0; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = (_sqlite3DbMallocRaw($8,$9,$11)|0); + HEAP32[$zNew>>2] = $12; + $13 = HEAP32[$zNew>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$zNew>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$n>>2]|0; + _memcpy(($15|0),($16|0),($17|0))|0; + } + $18 = HEAP32[$zNew>>2]|0; + HEAP32[$0>>2] = $18; + $19 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($19|0); } -function _sqlite3_errmsg($db) { - $db = $db|0; +function _createAggContext($p,$nByte) { + $p = $p|0; + $nByte = $nByte|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0, sp = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pMem = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $z = sp; - HEAP32[$1>>2] = $db; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $4 = (_sqlite3ErrStr(7)|0); - HEAP32[$0>>2] = $4; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); - } + $pMem = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $nByte; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pMem>>2] = $4; $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (_sqlite3MisuseError(126852)|0); - $9 = (_sqlite3ErrStr($8)|0); - HEAP32[$0>>2] = $9; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 64|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)!=(0); - if ($13) { - $14 = (_sqlite3ErrStr(7)|0); - HEAP32[$z>>2] = $14; + $6 = ($5|0)<=(0); + $7 = HEAP32[$pMem>>2]|0; + if ($6) { + _sqlite3VdbeMemSetNull($7); + $8 = HEAP32[$pMem>>2]|0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = 0; } else { - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 232|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3_value_text($17)|0); - HEAP32[$z>>2] = $18; - $19 = HEAP32[$z>>2]|0; - $20 = ($19|0)==(0|0); + $10 = HEAP32[$1>>2]|0; + (_sqlite3VdbeMemClearAndResize($7,$10)|0); + $11 = HEAP32[$pMem>>2]|0; + $12 = ((($11)) + 8|0); + HEAP16[$12>>1] = 8192; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$pMem>>2]|0; + HEAP32[$16>>2] = $15; + $17 = HEAP32[$pMem>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)!=(0|0); if ($20) { - $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 52|0); + $21 = HEAP32[$pMem>>2]|0; + $22 = ((($21)) + 16|0); $23 = HEAP32[$22>>2]|0; - $24 = (_sqlite3ErrStr($23)|0); - HEAP32[$z>>2] = $24; + $24 = HEAP32[$1>>2]|0; + _memset(($23|0),0,($24|0))|0; } } - $25 = HEAP32[$z>>2]|0; - HEAP32[$0>>2] = $25; - $26 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($26|0); + $25 = HEAP32[$pMem>>2]|0; + $26 = ((($25)) + 16|0); + $27 = HEAP32[$26>>2]|0; + STACKTOP = sp;return ($27|0); } -function _sqlite3_prepare($db,$zSql,$nBytes,$ppStmt,$pzTail) { +function _sqlite3DbMallocZero($db,$0,$1) { $db = $db|0; - $zSql = $zSql|0; - $nBytes = $nBytes|0; - $ppStmt = $ppStmt|0; - $pzTail = $pzTail|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zSql; - HEAP32[$2>>2] = $nBytes; - HEAP32[$3>>2] = $ppStmt; - HEAP32[$4>>2] = $pzTail; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$3>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_sqlite3LockAndPrepare($5,$6,$7,0,0,$8,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); + $3 = sp; + $p = sp + 8|0; + HEAP32[$2>>2] = $db; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = $3; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3DbMallocRaw($8,$11,$14)|0); + HEAP32[$p>>2] = $15; + $16 = HEAP32[$p>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + $25 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($25|0); + } + $18 = HEAP32[$p>>2]|0; + $19 = $3; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + _memset(($18|0),0,($21|0))|0; + $25 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($25|0); } -function _sqlite3LockAndPrepare($db,$zSql,$nBytes,$saveSqlFlag,$pOld,$ppStmt,$pzTail) { - $db = $db|0; - $zSql = $zSql|0; - $nBytes = $nBytes|0; - $saveSqlFlag = $saveSqlFlag|0; - $pOld = $pOld|0; - $ppStmt = $ppStmt|0; - $pzTail = $pzTail|0; +function _columnMem($pStmt,$i) { + $pStmt = $pStmt|0; + $i = $i|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pOut = 0, $pVm = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $6 = sp + 8|0; - $7 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zSql; - HEAP32[$3>>2] = $nBytes; - HEAP32[$4>>2] = $saveSqlFlag; - HEAP32[$5>>2] = $pOld; - HEAP32[$6>>2] = $ppStmt; - HEAP32[$7>>2] = $pzTail; - $8 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = 0; - $9 = HEAP32[$1>>2]|0; - $10 = (_sqlite3SafetyCheckOk($9)|0); - $11 = ($10|0)!=(0); - if (!($11)) { - $12 = (_sqlite3MisuseError(103895)|0); - HEAP32[$0>>2] = $12; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $pVm = sp + 4|0; + $pOut = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pVm>>2] = $2; + $3 = HEAP32[$pVm>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $5 = HEAP32[$pVm>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$pVm>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = ($9|0)<($13|0); + $15 = HEAP32[$1>>2]|0; + $16 = ($15|0)>=(0); + $or$cond = $14 & $16; + if ($or$cond) { + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$pVm>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + (($17*40)|0)|0); + HEAP32[$pOut>>2] = $21; + $30 = HEAP32[$pOut>>2]|0; + STACKTOP = sp;return ($30|0); + } + } } - $13 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnterAll($13); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = HEAP32[$4>>2]|0; - $18 = HEAP32[$5>>2]|0; - $19 = HEAP32[$6>>2]|0; - $20 = HEAP32[$7>>2]|0; - $21 = (_sqlite3Prepare($14,$15,$16,$17,$18,$19,$20)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)==(17); + $22 = HEAP32[$pVm>>2]|0; + $23 = ($22|0)!=(0|0); if ($23) { - $24 = HEAP32[$6>>2]|0; + $24 = HEAP32[$pVm>>2]|0; $25 = HEAP32[$24>>2]|0; - (_sqlite3_finalize($25)|0); - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = HEAP32[$4>>2]|0; - $30 = HEAP32[$5>>2]|0; - $31 = HEAP32[$6>>2]|0; - $32 = HEAP32[$7>>2]|0; - $33 = (_sqlite3Prepare($26,$27,$28,$29,$30,$31,$32)|0); - HEAP32[$rc>>2] = $33; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$pVm>>2]|0; + $28 = HEAP32[$27>>2]|0; + _sqlite3Error($28,25); + } } - $34 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $29 = (_columnNullValue()|0); + HEAP32[$pOut>>2] = $29; + $30 = HEAP32[$pOut>>2]|0; + STACKTOP = sp;return ($30|0); } -function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { - $pParse = $pParse|0; - $zSql = $zSql|0; - $pzErrMsg = $pzErrMsg|0; - var $$byval_copy11 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $enableLookaside = 0, $i = 0, $lastTokenParsed = 0, $mxSqlLen = 0, $nErr = 0, $or$cond = 0, $p = 0, $p1 = 0, $pEngine = 0, $tokenType = 0, label = 0, sp = 0; +function _columnMallocFailure($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy11 = sp; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $nErr = sp + 40|0; - $i = sp + 36|0; - $pEngine = sp + 32|0; - $tokenType = sp + 28|0; - $lastTokenParsed = sp + 24|0; - $enableLookaside = sp + 60|0; - $db = sp + 20|0; - $mxSqlLen = sp + 16|0; - $p = sp + 12|0; - $p1 = sp + 8|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $zSql; - HEAP32[$3>>2] = $pzErrMsg; - HEAP32[$nErr>>2] = 0; - HEAP32[$lastTokenParsed>>2] = -1; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$db>>2]|0; - $7 = (($6) + 88|0); - $8 = (($7) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$mxSqlLen>>2] = $9; - $10 = HEAP32[$db>>2]|0; - $11 = (($10) + 148|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$db>>2]|0; - $15 = (($14) + 240|0); - HEAP32[$15>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pStmt; + $1 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $1; + $2 = HEAP32[$p>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + STACKTOP = sp;return; } - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 12|0); - HEAP32[$17>>2] = 0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 480|0); - HEAP32[$20>>2] = $18; - HEAP32[$i>>2] = 0; - $21 = (_sqlite3ParserAlloc(33)|0); - HEAP32[$pEngine>>2] = $21; - $22 = HEAP32[$pEngine>>2]|0; - $23 = ($22|0)==(0|0); - $24 = HEAP32[$db>>2]|0; - if ($23) { - $25 = (($24) + 64|0); - HEAP8[$25>>0] = 1; - HEAP32[$0>>2] = 7; - $285 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($285|0); + $4 = HEAP32[$p>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$p>>2]|0; + $7 = ((($6)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3ApiExit($5,$8)|0); + $10 = HEAP32[$p>>2]|0; + $11 = ((($10)) + 80|0); + HEAP32[$11>>2] = $9; + STACKTOP = sp;return; +} +function _columnName($pStmt,$N,$xFunc,$useType) { + $pStmt = $pStmt|0; + $N = $N|0; + $xFunc = $xFunc|0; + $useType = $useType|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $or$cond = 0, $p = 0, $ret = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $ret = sp + 28|0; + $p = sp; + $n = sp + 12|0; + $db = sp + 24|0; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $N; + HEAP32[$2>>2] = $xFunc; + HEAP32[$3>>2] = $useType; + HEAP32[$ret>>2] = 0; + $4 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $4; + $5 = HEAP32[$p>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$db>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = (_sqlite3_column_count($7)|0); + HEAP32[$n>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$n>>2]|0; + $11 = ($9|0)<($10|0); + $12 = HEAP32[$1>>2]|0; + $13 = ($12|0)>=(0); + $or$cond = $11 & $13; + if (!($or$cond)) { + $32 = HEAP32[$ret>>2]|0; + STACKTOP = sp;return ($32|0); } - $26 = (($24) + 248|0); - $27 = (($26) + 2|0); + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$n>>2]|0; + $16 = Math_imul($14, $15)|0; + $17 = HEAP32[$1>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$1>>2] = $18; + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$p>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + (($20*40)|0)|0); + $25 = (FUNCTION_TABLE_ii[$19 & 31]($24)|0); + HEAP32[$ret>>2] = $25; + $26 = HEAP32[$db>>2]|0; + $27 = ((($26)) + 64|0); $28 = HEAP8[$27>>0]|0; - HEAP8[$enableLookaside>>0] = $28; - $29 = HEAP32[$db>>2]|0; - $30 = (($29) + 248|0); - $31 = (($30) + 28|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)!=(0|0); - if ($33) { - $34 = HEAP32[$db>>2]|0; - $35 = (($34) + 248|0); - $36 = (($35) + 2|0); - HEAP8[$36>>0] = 1; + $29 = ($28<<24>>24)!=(0); + if (!($29)) { + $32 = HEAP32[$ret>>2]|0; + STACKTOP = sp;return ($32|0); } - while(1) { - $37 = HEAP32[$db>>2]|0; - $38 = (($37) + 64|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)!=(0); - if ($40) { - break; - } - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = (($42) + ($41)|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44 << 24 >> 24; - $46 = ($45|0)!=(0); - if (!($46)) { - break; - } - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$2>>2]|0; - $49 = (($48) + ($47)|0); - $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 504|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$i>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = (($53) + ($52)|0); - $55 = (_sqlite3GetToken($54,$tokenType)|0); - $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 504|0); - $58 = (($57) + 4|0); - HEAP32[$58>>2] = $55; - $59 = HEAP32[$1>>2]|0; - $60 = (($59) + 504|0); - $61 = (($60) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$i>>2]|0; - $64 = (($63) + ($62))|0; - HEAP32[$i>>2] = $64; - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$mxSqlLen>>2]|0; - $67 = ($65|0)>($66|0); - if ($67) { - label = 10; - break; - } - $70 = HEAP32[$tokenType>>2]|0; - if ((($70|0) == 151)) { - $71 = HEAP32[$db>>2]|0; - $72 = (($71) + 240|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0); - if ($74) { - label = 13; - break; - } else { - continue; - } - } else if ((($70|0) == 1)) { - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = (($89) + ($88)|0); - $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 480|0); - HEAP32[$92>>2] = $90; - } else if ((($70|0) == 150)) { - label = 14; - break; - } - $93 = HEAP32[$pEngine>>2]|0; - $94 = HEAP32[$tokenType>>2]|0; - $95 = HEAP32[$1>>2]|0; - $96 = (($95) + 504|0); - $97 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy11+0>>2]=HEAP32[$96+0>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$96+4>>2]|0; - _sqlite3Parser($93,$94,$$byval_copy11,$97); - $98 = HEAP32[$tokenType>>2]|0; - HEAP32[$lastTokenParsed>>2] = $98; - $99 = HEAP32[$1>>2]|0; - $100 = (($99) + 12|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - break; + $30 = HEAP32[$db>>2]|0; + $31 = ((($30)) + 64|0); + HEAP8[$31>>0] = 0; + HEAP32[$ret>>2] = 0; + $32 = HEAP32[$ret>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _bindText($pStmt,$i,$zData,$nData,$xDel,$encoding) { + $pStmt = $pStmt|0; + $i = $i|0; + $zData = $zData|0; + $nData = $nData|0; + $xDel = $xDel|0; + $encoding = $encoding|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $pVar = 0, $rc = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 28|0; + $5 = sp + 32|0; + $p = sp + 12|0; + $pVar = sp + 8|0; + $rc = sp; + HEAP32[$0>>2] = $pStmt; + HEAP32[$1>>2] = $i; + HEAP32[$2>>2] = $zData; + HEAP32[$3>>2] = $nData; + HEAP32[$4>>2] = $xDel; + HEAP8[$5>>0] = $encoding; + $6 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $6; + $7 = HEAP32[$p>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = (_vdbeUnbind($7,$8)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + $49 = HEAP32[$4>>2]|0; + $50 = ($49|0)!=(0|0); + $51 = HEAP32[$4>>2]|0; + $52 = ($51|0)!=((-1)|0); + $or$cond = $50 & $52; + if (!($or$cond)) { + $55 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($55|0); } + $53 = HEAP32[$4>>2]|0; + $54 = HEAP32[$2>>2]|0; + FUNCTION_TABLE_vi[$53 & 31]($54); + $55 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($55|0); } - if ((label|0) == 10) { - $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 12|0); - HEAP32[$69>>2] = 18; - } - else if ((label|0) == 13) { - $75 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($75,9920,$$byval_copy11); - $76 = HEAP32[$1>>2]|0; - $77 = (($76) + 12|0); - HEAP32[$77>>2] = 9; + $12 = HEAP32[$2>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + $55 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($55|0); } - else if ((label|0) == 14) { - $78 = HEAP32[$db>>2]|0; - $79 = HEAP32[$3>>2]|0; - $80 = HEAP32[$79>>2]|0; - _sqlite3DbFree($78,$80); - $81 = HEAP32[$db>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 504|0); - HEAP32[$$byval_copy11>>2] = $83; - $84 = (_sqlite3MPrintf($81,9936,$$byval_copy11)|0); - $85 = HEAP32[$3>>2]|0; - HEAP32[$85>>2] = $84; - $86 = HEAP32[$nErr>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$nErr>>2] = $87; + $14 = HEAP32[$1>>2]|0; + $15 = (($14) - 1)|0; + $16 = HEAP32[$p>>2]|0; + $17 = ((($16)) + 60|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + (($15*40)|0)|0); + HEAP32[$pVar>>2] = $19; + $20 = HEAP32[$pVar>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP8[$5>>0]|0; + $24 = HEAP32[$4>>2]|0; + $25 = (_sqlite3VdbeMemSetStr($20,$21,$22,$23,$24)|0); + HEAP32[$rc>>2] = $25; + $26 = HEAP32[$rc>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = HEAP8[$5>>0]|0; + $29 = $28&255; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$pVar>>2]|0; + $32 = HEAP32[$p>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 77|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = (_sqlite3VdbeChangeEncoding($31,$40)|0); + HEAP32[$rc>>2] = $41; + } } - $103 = HEAP32[$i>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = (($104) + ($103)|0); - $106 = HEAP8[$105>>0]|0; - $107 = $106 << 24 >> 24; - $108 = ($107|0)==(0); - $109 = HEAP32[$nErr>>2]|0; - $110 = ($109|0)==(0); - $or$cond = $108 & $110; - if ($or$cond) { - $111 = HEAP32[$1>>2]|0; - $112 = (($111) + 12|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)==(0); - if ($114) { - $115 = HEAP32[$lastTokenParsed>>2]|0; - $116 = ($115|0)!=(1); - if ($116) { - $117 = HEAP32[$pEngine>>2]|0; - $118 = HEAP32[$1>>2]|0; - $119 = (($118) + 504|0); - $120 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy11+0>>2]=HEAP32[$119+0>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$119+4>>2]|0; - _sqlite3Parser($117,1,$$byval_copy11,$120); - $121 = HEAP32[$i>>2]|0; - $122 = HEAP32[$2>>2]|0; - $123 = (($122) + ($121)|0); - $124 = HEAP32[$1>>2]|0; - $125 = (($124) + 480|0); - HEAP32[$125>>2] = $123; - } - $126 = HEAP32[$pEngine>>2]|0; - $127 = HEAP32[$1>>2]|0; - $128 = (($127) + 504|0); - $129 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy11+0>>2]=HEAP32[$128+0>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$128+4>>2]|0; - _sqlite3Parser($126,0,$$byval_copy11,$129); - } - } - $130 = HEAP32[$pEngine>>2]|0; - _sqlite3ParserFree($130,13); - $131 = HEAP8[$enableLookaside>>0]|0; - $132 = HEAP32[$db>>2]|0; - $133 = (($132) + 248|0); - $134 = (($133) + 2|0); - HEAP8[$134>>0] = $131; - $135 = HEAP32[$db>>2]|0; - $136 = (($135) + 64|0); - $137 = HEAP8[$136>>0]|0; - $138 = ($137<<24>>24)!=(0); - if ($138) { - $139 = HEAP32[$1>>2]|0; - $140 = (($139) + 12|0); - HEAP32[$140>>2] = 7; + $42 = HEAP32[$p>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$rc>>2]|0; + _sqlite3Error($43,$44); + $45 = HEAP32[$p>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$rc>>2]|0; + $48 = (_sqlite3ApiExit($46,$47)|0); + HEAP32[$rc>>2] = $48; + $55 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($55|0); +} +function _vdbeUnbind($p,$i) { + $p = $p|0; + $i = $i|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $pVar = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $pVar = sp + 4|0; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $i; + $3 = HEAP32[$1>>2]|0; + $4 = (_vdbeSafetyNotNull($3)|0); + $5 = ($4|0)!=(0); + if ($5) { + $6 = (_sqlite3MisuseError(68415)|0); + HEAP32[$0>>2] = $6; + $68 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($68|0); } - $141 = HEAP32[$1>>2]|0; - $142 = (($141) + 12|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)!=(0); - if ($144) { - $145 = HEAP32[$1>>2]|0; - $146 = (($145) + 12|0); - $147 = HEAP32[$146>>2]|0; - $148 = ($147|0)!=(101); - if ($148) { - $149 = HEAP32[$1>>2]|0; - $150 = (($149) + 4|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==(0|0); - if ($152) { - $153 = HEAP32[$1>>2]|0; - $154 = (($153) + 4|0); - $155 = HEAP32[$db>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = (($156) + 12|0); - $158 = HEAP32[$157>>2]|0; - $159 = (_sqlite3ErrStr($158)|0); - HEAP32[$$byval_copy11>>2] = $159; - _sqlite3SetString($154,$155,1200,$$byval_copy11); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(-1108210269); + if (!($10)) { + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 76|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)>=(0); + if (!($14)) { + $21 = HEAP32[$2>>2]|0; + $22 = ($21|0)<(1); + if (!($22)) { + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 68|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26 << 16 >> 16; + $28 = ($23|0)>($27|0); + if (!($28)) { + $31 = HEAP32[$2>>2]|0; + $32 = (($31) + -1)|0; + HEAP32[$2>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 60|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + (($33*40)|0)|0); + HEAP32[$pVar>>2] = $37; + $38 = HEAP32[$pVar>>2]|0; + _sqlite3VdbeMemRelease($38); + $39 = HEAP32[$pVar>>2]|0; + $40 = ((($39)) + 8|0); + HEAP16[$40>>1] = 1; + $41 = HEAP32[$1>>2]|0; + $42 = HEAP32[$41>>2]|0; + _sqlite3Error($42,0); + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 88|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45&65535) >>> 10; + $47 = $46 & 1; + $48 = $47&65535; + $49 = ($48|0)!=(0); + do { + if ($49) { + $50 = HEAP32[$2>>2]|0; + $51 = ($50|0)<(32); + if ($51) { + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 188|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$2>>2]|0; + $56 = 1 << $55; + $57 = $54 & $56; + $58 = ($57|0)!=(0); + if (!($58)) { + label = 12; + } + } else { + label = 12; + } + if ((label|0) == 12) { + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 188|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(-1); + if (!($62)) { + break; + } + } + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 88|0); + $65 = HEAP16[$64>>1]|0; + $66 = $65 & -33; + $67 = $66 | 32; + HEAP16[$64>>1] = $67; + } + } while(0); + HEAP32[$0>>2] = 0; + $68 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($68|0); + } } + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$29>>2]|0; + _sqlite3Error($30,25); + HEAP32[$0>>2] = 25; + $68 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($68|0); } } - $160 = HEAP32[$1>>2]|0; - $161 = (($160) + 4|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)!=(0|0); - if ($163) { - $164 = HEAP32[$1>>2]|0; - $165 = (($164) + 4|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[$3>>2]|0; - HEAP32[$167>>2] = $166; - $168 = HEAP32[$1>>2]|0; - $169 = (($168) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = HEAP32[$3>>2]|0; - $172 = HEAP32[$171>>2]|0; - HEAP32[$$byval_copy11>>2] = $172; - _sqlite3_log($170,1200,$$byval_copy11); - $173 = HEAP32[$1>>2]|0; - $174 = (($173) + 4|0); - HEAP32[$174>>2] = 0; - $175 = HEAP32[$nErr>>2]|0; - $176 = (($175) + 1)|0; - HEAP32[$nErr>>2] = $176; + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$15>>2]|0; + _sqlite3Error($16,21); + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 168|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer>>2] = $19; + _sqlite3_log(21,31014,$vararg_buffer); + $20 = (_sqlite3MisuseError(68423)|0); + HEAP32[$0>>2] = $20; + $68 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($68|0); +} +function _sqlite3VdbeParameterIndex($p,$zName,$nName) { + $p = $p|0; + $zName = $zName|0; + $nName = $nName|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $z = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $i = sp + 4|0; + $z = sp; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $zName; + HEAP32[$3>>2] = $nName; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$0>>2] = 0; + $37 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($37|0); } - $177 = HEAP32[$1>>2]|0; - $178 = (($177) + 8|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)!=(0|0); - if ($180) { - $181 = HEAP32[$1>>2]|0; - $182 = (($181) + 64|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)>(0); - if ($184) { - $185 = HEAP32[$1>>2]|0; - $186 = (($185) + 18|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = ($188|0)==(0); - if ($189) { - $190 = HEAP32[$1>>2]|0; - $191 = (($190) + 8|0); - $192 = HEAP32[$191>>2]|0; - _sqlite3VdbeDelete($192); - $193 = HEAP32[$1>>2]|0; - $194 = (($193) + 8|0); - HEAP32[$194>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)!=(0|0); + L5: do { + if ($7) { + HEAP32[$i>>2] = 0; + while(1) { + $8 = HEAP32[$i>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 70|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11 << 16 >> 16; + $13 = ($8|0)<($12|0); + if (!($13)) { + break L5; + } + $14 = HEAP32[$i>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 64|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($14<<2)|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$z>>2] = $19; + $20 = HEAP32[$z>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$z>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = (_strncmp($22,$23,$24)|0); + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$z>>2]|0; + $29 = (($28) + ($27)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30 << 24 >> 24; + $32 = ($31|0)==(0); + if ($32) { + break; + } + } + } + $35 = HEAP32[$i>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$i>>2] = $36; } + $33 = HEAP32[$i>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$0>>2] = $34; + $37 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($37|0); } - } - $195 = HEAP32[$1>>2]|0; - $196 = (($195) + 18|0); - $197 = HEAP8[$196>>0]|0; - $198 = $197&255; - $199 = ($198|0)==(0); - if ($199) { - $200 = HEAP32[$db>>2]|0; - $201 = HEAP32[$1>>2]|0; - $202 = (($201) + 400|0); - $203 = HEAP32[$202>>2]|0; - _sqlite3DbFree($200,$203); - $204 = HEAP32[$1>>2]|0; - $205 = (($204) + 400|0); - HEAP32[$205>>2] = 0; - $206 = HEAP32[$1>>2]|0; - $207 = (($206) + 396|0); - HEAP32[$207>>2] = 0; - } - $208 = HEAP32[$1>>2]|0; - $209 = (($208) + 520|0); - $210 = HEAP32[$209>>2]|0; - _sqlite3_free($210); - $211 = HEAP32[$1>>2]|0; - $212 = (($211) + 451|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)!=(0); - if (!($214)) { - $215 = HEAP32[$db>>2]|0; - $216 = HEAP32[$1>>2]|0; - $217 = (($216) + 484|0); - $218 = HEAP32[$217>>2]|0; - _sqlite3DeleteTable($215,$218); - } - $219 = HEAP32[$1>>2]|0; - $220 = (($219) + 449|0); - $221 = HEAP8[$220>>0]|0; - $222 = ($221<<24>>24)!=(0); - if ($222) { - $223 = HEAP32[$db>>2]|0; - $224 = HEAP32[$1>>2]|0; - $225 = (($224) + 532|0); - $226 = HEAP32[$225>>2]|0; - _sqlite3WithDelete($223,$226); - } - $227 = HEAP32[$db>>2]|0; - $228 = HEAP32[$1>>2]|0; - $229 = (($228) + 488|0); - $230 = HEAP32[$229>>2]|0; - _sqlite3DeleteTrigger($227,$230); - $231 = HEAP32[$1>>2]|0; - $232 = (($231) + 444|0); - $233 = HEAP32[$232>>2]|0; - $234 = (($233) - 1)|0; - HEAP32[$i>>2] = $234; + } while(0); + HEAP32[$0>>2] = 0; + $37 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($37|0); +} +function _sqlite3TransferBindings($pFromStmt,$pToStmt) { + $pFromStmt = $pFromStmt|0; + $pToStmt = $pToStmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $i = 0, $pFrom = 0, $pTo = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $pFrom = sp + 8|0; + $pTo = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $pFromStmt; + HEAP32[$1>>2] = $pToStmt; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pFrom>>2] = $2; + $3 = HEAP32[$1>>2]|0; + HEAP32[$pTo>>2] = $3; + HEAP32[$i>>2] = 0; while(1) { - $235 = HEAP32[$i>>2]|0; - $236 = ($235|0)>=(0); - $237 = HEAP32[$db>>2]|0; - if (!($236)) { + $4 = HEAP32[$i>>2]|0; + $5 = HEAP32[$pFrom>>2]|0; + $6 = ((($5)) + 68|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7 << 16 >> 16; + $9 = ($4|0)<($8|0); + if (!($9)) { break; } - $238 = HEAP32[$i>>2]|0; - $239 = HEAP32[$1>>2]|0; - $240 = (($239) + 472|0); - $241 = HEAP32[$240>>2]|0; - $242 = (($241) + ($238<<2)|0); - $243 = HEAP32[$242>>2]|0; - _sqlite3DbFree($237,$243); - $244 = HEAP32[$i>>2]|0; - $245 = (($244) + -1)|0; - HEAP32[$i>>2] = $245; + $10 = HEAP32[$i>>2]|0; + $11 = HEAP32[$pTo>>2]|0; + $12 = ((($11)) + 60|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + (($10*40)|0)|0); + $15 = HEAP32[$i>>2]|0; + $16 = HEAP32[$pFrom>>2]|0; + $17 = ((($16)) + 60|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + (($15*40)|0)|0); + _sqlite3VdbeMemMove($14,$19); + $20 = HEAP32[$i>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$i>>2] = $21; } - $246 = HEAP32[$1>>2]|0; - $247 = (($246) + 472|0); - $248 = HEAP32[$247>>2]|0; - _sqlite3DbFree($237,$248); - while(1) { - $249 = HEAP32[$1>>2]|0; - $250 = (($249) + 404|0); - $251 = HEAP32[$250>>2]|0; - $252 = ($251|0)!=(0|0); - if (!($252)) { - break; - } - $253 = HEAP32[$1>>2]|0; - $254 = (($253) + 404|0); - $255 = HEAP32[$254>>2]|0; - HEAP32[$p>>2] = $255; - $256 = HEAP32[$p>>2]|0; - $257 = HEAP32[$256>>2]|0; - $258 = HEAP32[$1>>2]|0; - $259 = (($258) + 404|0); - HEAP32[$259>>2] = $257; - $260 = HEAP32[$db>>2]|0; - $261 = HEAP32[$p>>2]|0; - _sqlite3DbFree($260,$261); + STACKTOP = sp;return 0; +} +function _applyNumericAffinity($pRec,$bTryForInt) { + $pRec = $pRec|0; + $bTryForInt = $bTryForInt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $enc = 0, $iValue = 0, $rValue = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $rValue = sp + 8|0; + $iValue = sp; + $enc = sp + 24|0; + HEAP32[$0>>2] = $pRec; + HEAP32[$1>>2] = $bTryForInt; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 10|0); + $4 = HEAP8[$3>>0]|0; + HEAP8[$enc>>0] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP8[$enc>>0]|0; + $12 = (_sqlite3AtoF($7,$rValue,$10,$11)|0); + $13 = ($12|0)==(0); + if ($13) { + STACKTOP = sp;return; } - while(1) { - $262 = HEAP32[$1>>2]|0; - $263 = (($262) + 524|0); - $264 = HEAP32[$263>>2]|0; - $265 = ($264|0)!=(0|0); - if (!($265)) { - break; - } - $266 = HEAP32[$1>>2]|0; - $267 = (($266) + 524|0); - $268 = HEAP32[$267>>2]|0; - HEAP32[$p1>>2] = $268; - $269 = HEAP32[$p1>>2]|0; - $270 = (($269) + 72|0); - $271 = HEAP32[$270>>2]|0; - $272 = HEAP32[$1>>2]|0; - $273 = (($272) + 524|0); - HEAP32[$273>>2] = $271; - $274 = HEAP32[$db>>2]|0; - $275 = HEAP32[$p1>>2]|0; - _sqlite3DeleteTable($274,$275); + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP8[$enc>>0]|0; + $21 = (_sqlite3Atoi64($16,$iValue,$19,$20)|0); + $22 = (0)==($21|0); + if ($22) { + $23 = $iValue; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$0>>2]|0; + $30 = $29; + $31 = $30; + HEAP32[$31>>2] = $25; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $28; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 | 4; + $39 = $38&65535; + HEAP16[$35>>1] = $39; + STACKTOP = sp;return; } - $276 = HEAP32[$nErr>>2]|0; - $277 = ($276|0)>(0); - if ($277) { - $278 = HEAP32[$1>>2]|0; - $279 = (($278) + 12|0); - $280 = HEAP32[$279>>2]|0; - $281 = ($280|0)==(0); - if ($281) { - $282 = HEAP32[$1>>2]|0; - $283 = (($282) + 12|0); - HEAP32[$283>>2] = 1; - } + $40 = +HEAPF64[$rValue>>3]; + $41 = HEAP32[$0>>2]|0; + HEAPF64[$41>>3] = $40; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP16[$43>>1]|0; + $45 = $44&65535; + $46 = $45 | 8; + $47 = $46&65535; + HEAP16[$43>>1] = $47; + $48 = HEAP32[$1>>2]|0; + $49 = ($48|0)!=(0); + if (!($49)) { + STACKTOP = sp;return; } - $284 = HEAP32[$nErr>>2]|0; - HEAP32[$0>>2] = $284; - $285 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($285|0); + $50 = HEAP32[$0>>2]|0; + _sqlite3VdbeIntegerAffinity($50); + STACKTOP = sp;return; } -function _sqlite3ValueNew($db) { +function _sqlite3DbMallocRaw($db,$0,$1) { $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3DbMallocZero($1,40,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $10 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($10|0); - } - $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 8|0); - HEAP16[$6>>1] = 1; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$p>>2]|0; - $9 = (($8) + 32|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($10|0); -} -function _sqlite3ValueSetStr($v,$n,$z,$enc,$xDel) { - $v = $v|0; - $n = $n|0; - $z = $z|0; - $enc = $enc|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $or$cond = 0, $p = 0, $pBuf = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; + $2 = sp + 20|0; $3 = sp + 16|0; $4 = sp; - HEAP32[$0>>2] = $v; - HEAP32[$1>>2] = $n; - HEAP32[$2>>2] = $z; - HEAP8[$3>>0] = $enc; - HEAP32[$4>>2] = $xDel; - $5 = HEAP32[$0>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - STACKTOP = sp;return; + $p = sp + 12|0; + $pBuf = sp + 8|0; + HEAP32[$3>>2] = $db; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)!=(0|0); + do { + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = ((($11)) + 64|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + if ($14) { + HEAP32[$2>>2] = 0; + $96 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($96|0); + } + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 248|0); + $17 = ((($16)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)!=(0); + if ($19) { + $20 = $4; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 248|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = ($25>>>0)>(0); + $31 = ($22>>>0)>($29>>>0); + $32 = ($25|0)==(0); + $33 = $32 & $31; + $34 = $30 | $33; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 248|0); + if ($34) { + $37 = ((($36)) + 12|0); + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$38>>2] = $40; + break; + } + $41 = ((($36)) + 24|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$pBuf>>2] = $42; + $43 = ($42|0)==(0|0); + if ($43) { + $44 = HEAP32[$3>>2]|0; + $45 = ((($44)) + 248|0); + $46 = ((($45)) + 12|0); + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($48) + 1)|0; + HEAP32[$47>>2] = $49; + break; + } + $50 = HEAP32[$pBuf>>2]|0; + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = ((($52)) + 248|0); + $54 = ((($53)) + 24|0); + HEAP32[$54>>2] = $51; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 248|0); + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$57>>2] = $59; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 248|0); + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$62>>2] = $64; + $65 = HEAP32[$3>>2]|0; + $66 = ((($65)) + 248|0); + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 248|0); + $71 = ((($70)) + 8|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($68|0)>($72|0); + if ($73) { + $74 = HEAP32[$3>>2]|0; + $75 = ((($74)) + 248|0); + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$3>>2]|0; + $79 = ((($78)) + 248|0); + $80 = ((($79)) + 8|0); + HEAP32[$80>>2] = $77; + } + $81 = HEAP32[$pBuf>>2]|0; + HEAP32[$2>>2] = $81; + $96 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($96|0); + } + } + } while(0); + $82 = $4; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (_sqlite3Malloc($84,$87)|0); + HEAP32[$p>>2] = $88; + $89 = HEAP32[$p>>2]|0; + $90 = ($89|0)==(0|0); + $91 = HEAP32[$3>>2]|0; + $92 = ($91|0)!=(0|0); + $or$cond = $90 & $92; + if ($or$cond) { + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 64|0); + HEAP8[$94>>0] = 1; } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP8[$3>>0]|0; - $11 = HEAP32[$4>>2]|0; - (_sqlite3VdbeMemSetStr($7,$8,$9,$10,$11)|0); - STACKTOP = sp;return; + $95 = HEAP32[$p>>2]|0; + HEAP32[$2>>2] = $95; + $96 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($96|0); } -function _sqlite3ValueFree($v) { - $v = $v|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { + $pParse = $pParse|0; + $isView = $isView|0; + $zName = $zName|0; + $zDbase = $zDbase|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $zMsg = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $v; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer3 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 32|0; + $1 = sp + 36|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $p = sp + 40|0; + $zMsg = sp + 44|0; + HEAP32[$1>>2] = $pParse; + HEAP32[$2>>2] = $isView; + HEAP32[$3>>2] = $zName; + HEAP32[$4>>2] = $zDbase; + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3ReadSchema($5)|0); + $7 = (0)!=($6|0); + if ($7) { + HEAP32[$0>>2] = 0; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); } - $3 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemRelease($3); - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - _sqlite3DbFree($6,$7); - STACKTOP = sp;return; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = (_sqlite3FindTable($9,$10,$11)|0); + HEAP32[$p>>2] = $12; + $13 = HEAP32[$p>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + $15 = HEAP32[$2>>2]|0; + $16 = ($15|0)!=(0); + $17 = $16 ? 30987 : 31000; + HEAP32[$zMsg>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$zMsg>>2]|0; + if ($19) { + $22 = HEAP32[$4>>2]|0; + $23 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $21; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $22; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $23; + _sqlite3ErrorMsg($20,21543,$vararg_buffer); + } else { + $24 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer3>>2] = $21; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $24; + _sqlite3ErrorMsg($20,21553,$vararg_buffer3); + } + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 17|0); + HEAP8[$26>>0] = 1; + } + $27 = HEAP32[$p>>2]|0; + HEAP32[$0>>2] = $27; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); } -function _sqlite3_libversion() { - var label = 0, sp = 0; +function _sqlite3ErrorMsg($pParse,$zFormat,$varargs) { + $pParse = $pParse|0; + $zFormat = $zFormat|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $db = 0, $zMsg = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = sp;return (8|0); + STACKTOP = STACKTOP + 48|0; + $0 = sp + 32|0; + $1 = sp + 28|0; + $zMsg = sp + 24|0; + $ap = sp + 8|0; + $db = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $zFormat; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$db>>2] = $3; + HEAP32[$ap>>2] = $varargs; + $4 = HEAP32[$db>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3VMPrintf($4,$5,$ap)|0); + HEAP32[$zMsg>>2] = $6; + $7 = HEAP32[$db>>2]|0; + $8 = ((($7)) + 67|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if ($10) { + $11 = HEAP32[$db>>2]|0; + $12 = HEAP32[$zMsg>>2]|0; + _sqlite3DbFree($11,$12); + STACKTOP = sp;return; + } else { + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 64|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 1)|0; + HEAP32[$14>>2] = $16; + $17 = HEAP32[$db>>2]|0; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + _sqlite3DbFree($17,$20); + $21 = HEAP32[$zMsg>>2]|0; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 4|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 12|0); + HEAP32[$25>>2] = 1; + STACKTOP = sp;return; + } } -function _sqlite3_sourceid() { - var label = 0, sp = 0; +function _sqlite3MPrintf($db,$zFormat,$varargs) { + $db = $db|0; + $zFormat = $zFormat|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ap = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = sp;return (1504|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $ap = sp + 8|0; + $z = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zFormat; + HEAP32[$ap>>2] = $varargs; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3VMPrintf($2,$3,$ap)|0); + HEAP32[$z>>2] = $4; + $5 = HEAP32[$z>>2]|0; + STACKTOP = sp;return ($5|0); } -function _sqlite3MallocInit() { +function _sqlite3VdbeCreate($pParse) { + $pParse = $pParse|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, $n = 0, $pSlot = 0, $sz = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $i = sp + 12|0; - $n = sp + 8|0; - $sz = sp + 4|0; - $pSlot = sp; - $0 = HEAP32[((38640 + 36|0))>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - _sqlite3MemSetDefault(); - } - dest=136+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $2 = HEAP32[((38640 + 4|0))>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - HEAP32[136>>2] = (8); - } - $4 = HEAP32[((38640 + 192|0))>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[((38640 + 196|0))>>2]|0; - $7 = ($6|0)>=(100); - if ($7) { - $8 = HEAP32[((38640 + 200|0))>>2]|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = HEAP32[((38640 + 196|0))>>2]|0; - $11 = $10 & -8; - HEAP32[$sz>>2] = $11; - $12 = HEAP32[$sz>>2]|0; - HEAP32[((38640 + 196|0))>>2] = $12; - $13 = HEAP32[((38640 + 192|0))>>2]|0; - HEAP32[$pSlot>>2] = $13; - $14 = HEAP32[((38640 + 200|0))>>2]|0; - HEAP32[$n>>2] = $14; - $15 = HEAP32[$pSlot>>2]|0; - HEAP32[((136 + 28|0))>>2] = $15; - $16 = HEAP32[$n>>2]|0; - HEAP32[((136 + 32|0))>>2] = $16; - HEAP32[$i>>2] = 0; - while(1) { - $17 = HEAP32[$i>>2]|0; - $18 = HEAP32[$n>>2]|0; - $19 = (($18) - 1)|0; - $20 = ($17|0)<($19|0); - if (!($20)) { - break; - } - $21 = HEAP32[$sz>>2]|0; - $22 = HEAP32[$pSlot>>2]|0; - $23 = (($22) + ($21)|0); - $24 = HEAP32[$pSlot>>2]|0; - HEAP32[$24>>2] = $23; - $25 = HEAP32[$pSlot>>2]|0; - $26 = HEAP32[$25>>2]|0; - HEAP32[$pSlot>>2] = $26; - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; - } - $29 = HEAP32[$pSlot>>2]|0; - HEAP32[$29>>2] = 0; - $30 = HEAP32[$pSlot>>2]|0; - $31 = (($30) + 4|0); - HEAP32[((136 + 24|0))>>2] = $31; - } else { - label = 12; - } - } else { - label = 12; - } - } else { - label = 12; - } - if ((label|0) == 12) { - HEAP32[((136 + 24|0))>>2] = 0; - HEAP32[((38640 + 192|0))>>2] = 0; - HEAP32[((38640 + 196|0))>>2] = 0; - HEAP32[((38640 + 200|0))>>2] = 0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $db = sp + 4|0; + $p = sp; + HEAP32[$1>>2] = $pParse; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$db>>2] = $3; + $4 = HEAP32[$db>>2]|0; + $5 = (_sqlite3DbMallocZero($4,208,0)|0); + HEAP32[$p>>2] = $5; + $6 = HEAP32[$p>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } - $32 = HEAP32[((38640 + 204|0))>>2]|0; - $33 = ($32|0)==(0|0); - if (!($33)) { - $34 = HEAP32[((38640 + 208|0))>>2]|0; - $35 = ($34|0)<(512); - if (!($35)) { - $36 = HEAP32[((38640 + 212|0))>>2]|0; - $37 = ($36|0)<(1); - if (!($37)) { - $38 = HEAP32[((38640 + 56|0))>>2]|0; - $39 = HEAP32[((38640 + 64|0))>>2]|0; - $40 = (FUNCTION_TABLE_ii[$38 & 31]($39)|0); - STACKTOP = sp;return ($40|0); - } - } + $8 = HEAP32[$db>>2]|0; + $9 = HEAP32[$p>>2]|0; + HEAP32[$9>>2] = $8; + $10 = HEAP32[$db>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$p>>2]|0; + $15 = HEAP32[$db>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 48|0); + HEAP32[$18>>2] = $14; } - HEAP32[((38640 + 204|0))>>2] = 0; - HEAP32[((38640 + 208|0))>>2] = 0; - HEAP32[((38640 + 212|0))>>2] = 0; - $38 = HEAP32[((38640 + 56|0))>>2]|0; - $39 = HEAP32[((38640 + 64|0))>>2]|0; - $40 = (FUNCTION_TABLE_ii[$38 & 31]($39)|0); - STACKTOP = sp;return ($40|0); + $19 = HEAP32[$db>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$p>>2]|0; + $23 = ((($22)) + 52|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$p>>2]|0; + $25 = ((($24)) + 48|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$p>>2]|0; + $27 = HEAP32[$db>>2]|0; + $28 = ((($27)) + 4|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$p>>2]|0; + $30 = ((($29)) + 40|0); + HEAP32[$30>>2] = 649915045; + $31 = HEAP32[$1>>2]|0; + $32 = HEAP32[$p>>2]|0; + $33 = ((($32)) + 24|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$p>>2]|0; + HEAP32[$0>>2] = $34; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } -function _sqlite3RegisterGlobalFunctions() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; +function _sqlite3SchemaToIndex($db,$pSchema) { + $db = $db|0; + $pSchema = $pSchema|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $i = sp + 8|0; - $pHash = sp + 4|0; - $aFunc = sp; - HEAP32[$pHash>>2] = 1576; - HEAP32[$aFunc>>2] = 6232; + $0 = sp + 8|0; + $1 = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pSchema; + HEAP32[$i>>2] = -1000000; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $20 = HEAP32[$i>>2]|0; + STACKTOP = sp;return ($20|0); + } HEAP32[$i>>2] = 0; while(1) { - $0 = HEAP32[$i>>2]|0; - $1 = ($0|0)<(57); - if (!($1)) { + $4 = HEAP32[$i>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($4|0)<($7|0); + if (!($8)) { + label = 6; break; } - $2 = HEAP32[$pHash>>2]|0; - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$aFunc>>2]|0; - $5 = (($4) + (($3*36)|0)|0); - _sqlite3FuncDefInsert($2,$5); - $6 = HEAP32[$i>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$i>>2] = $7; + $9 = HEAP32[$i>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12) + ($9<<4)|0); + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ($15|0)==($16|0); + if ($17) { + label = 6; + break; + } + $18 = HEAP32[$i>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$i>>2] = $19; } - _sqlite3RegisterDateTimeFunctions(); - _sqlite3AlterFunctions(); - STACKTOP = sp;return; + if ((label|0) == 6) { + $20 = HEAP32[$i>>2]|0; + STACKTOP = sp;return ($20|0); + } + return (0)|0; } -function _sqlite3PcacheInitialize() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3VdbeAddOp4Int($p,$op,$p1,$p2,$p3,$p4) { + $p = $p|0; + $op = $op|0; + $p1 = $p1|0; + $p2 = $p2|0; + $p3 = $p3|0; + $p4 = $p4|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[((38640 + 112|0))>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - _sqlite3PCacheSetDefault(); - } - $2 = HEAP32[((38640 + 112|0))>>2]|0; - $3 = HEAP32[((38640 + 108|0))>>2]|0; - $4 = (FUNCTION_TABLE_ii[$2 & 31]($3)|0); - STACKTOP = sp;return ($4|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $5 = sp; + $addr = sp + 12|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $op; + HEAP32[$2>>2] = $p1; + HEAP32[$3>>2] = $p2; + HEAP32[$4>>2] = $p3; + HEAP32[$5>>2] = $p4; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = (_sqlite3VdbeAddOp3($6,$7,$8,$9,$10)|0); + HEAP32[$addr>>2] = $11; + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$addr>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = $14; + _sqlite3VdbeChangeP4($12,$13,$15,-14); + $16 = HEAP32[$addr>>2]|0; + STACKTOP = sp;return ($16|0); } -function _sqlite3OsInit() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeP5($p,$val) { + $p = $p|0; + $val = $val|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - $1 = (_sqlite3_malloc(10)|0); - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$0>>2] = 7; - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); - } else { - $4 = HEAP32[$p>>2]|0; - _sqlite3_free($4); - $5 = (_sqlite3_os_init()|0); - HEAP32[$0>>2] = $5; - $6 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($6|0); - } - return 0|0; -} -function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { - $pBuf = $pBuf|0; - $sz = $sz|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pBuf; - HEAP32[$1>>2] = $sz; - HEAP32[$2>>2] = $n; - $3 = HEAP32[((3136 + 28|0))>>2]|0; - $4 = ($3|0)!=(0); - if (!($4)) { + $0 = sp; + $1 = sp + 4|0; + HEAP32[$0>>2] = $p; + HEAP8[$1>>0] = $val; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { STACKTOP = sp;return; } - $5 = HEAP32[$1>>2]|0; - $6 = $5 & -8; - HEAP32[$1>>2] = $6; - $7 = HEAP32[$1>>2]|0; - HEAP32[((3136 + 32|0))>>2] = $7; - $8 = HEAP32[$2>>2]|0; - HEAP32[((3136 + 60|0))>>2] = $8; - HEAP32[((3136 + 36|0))>>2] = $8; - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)>(90); - if ($10) { - $14 = 10; - } else { - $11 = HEAP32[$2>>2]|0; - $12 = (($11|0) / 10)&-1; - $13 = (($12) + 1)|0; - $14 = $13; - } - HEAP32[((3136 + 40|0))>>2] = $14; - $15 = HEAP32[$0>>2]|0; - HEAP32[((3136 + 44|0))>>2] = $15; - HEAP32[((3136 + 56|0))>>2] = 0; - HEAP32[((3136 + 64|0))>>2] = 0; - while(1) { - $16 = HEAP32[$2>>2]|0; - $17 = (($16) + -1)|0; - HEAP32[$2>>2] = $17; - $18 = ($16|0)!=(0); - $19 = HEAP32[$0>>2]|0; - if (!($18)) { - break; - } - HEAP32[$p>>2] = $19; - $20 = HEAP32[((3136 + 56|0))>>2]|0; - $21 = HEAP32[$p>>2]|0; - HEAP32[$21>>2] = $20; - $22 = HEAP32[$p>>2]|0; - HEAP32[((3136 + 56|0))>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + ($23)|0); - HEAP32[$0>>2] = $25; - } - HEAP32[((3136 + 48|0))>>2] = $19; + $6 = HEAP8[$1>>0]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 32|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) - 1)|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + (($10*20)|0)|0); + $15 = ((($14)) + 3|0); + HEAP8[$15>>0] = $6; STACKTOP = sp;return; } -function _sqlite3_config($op,$varargs) { - $op = $op|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ap = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0; - var $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current6 = 0, $arglist_current9 = 0, $arglist_next = 0, $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0; - var $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next7 = 0, $mxMmap = 0, $or$cond = 0, $rc = 0, $szMmap = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { + $p = $p|0; + $nOp = $nOp|0; + $aOp = $aOp|0; + $iLineno = $iLineno|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $9 = 0, $addr = 0, $i = 0, $p2 = 0, $pIn = 0, $pOut = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $ap = sp + 24|0; - $rc = sp + 16|0; - $szMmap = sp + 8|0; - $mxMmap = sp; - HEAP32[$1>>2] = $op; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[((38640 + 224|0))>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = (_sqlite3MisuseError(125290)|0); - HEAP32[$0>>2] = $4; - $130 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($130|0); - } - HEAP32[$ap>>2] = $varargs; + $0 = sp; + $1 = sp + 16|0; + $2 = sp + 28|0; + $3 = sp + 4|0; + $4 = sp + 32|0; + $addr = sp + 36|0; + $i = sp + 12|0; + $pIn = sp + 24|0; + $p2 = sp + 20|0; + $pOut = sp + 8|0; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $nOp; + HEAP32[$3>>2] = $aOp; + HEAP32[$4>>2] = $iLineno; $5 = HEAP32[$1>>2]|0; - do { - switch ($5|0) { - case 5: { - $7 = HEAP32[((38640 + 36|0))>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - _sqlite3MemSetDefault(); - } - $arglist_current3 = HEAP32[$ap>>2]|0; - $9 = HEAP32[$arglist_current3>>2]|0; - $arglist_next4 = (($arglist_current3) + 4|0); - HEAP32[$ap>>2] = $arglist_next4; - ;HEAP32[$9+0>>2]=HEAP32[((38640 + 36|0))+0>>2]|0;HEAP32[$9+4>>2]=HEAP32[((38640 + 36|0))+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[((38640 + 36|0))+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[((38640 + 36|0))+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[((38640 + 36|0))+16>>2]|0;HEAP32[$9+20>>2]=HEAP32[((38640 + 36|0))+20>>2]|0;HEAP32[$9+24>>2]=HEAP32[((38640 + 36|0))+24>>2]|0;HEAP32[$9+28>>2]=HEAP32[((38640 + 36|0))+28>>2]|0; - break; - } - case 17: { - $arglist_current45 = HEAP32[$ap>>2]|0; - $25 = HEAP32[$arglist_current45>>2]|0; - $arglist_next46 = (($arglist_current45) + 4|0); - HEAP32[$ap>>2] = $arglist_next46; - HEAP32[((38640 + 12|0))>>2] = $25; - break; - } - case 9: { - $arglist_current6 = HEAP32[$ap>>2]|0; - $10 = HEAP32[$arglist_current6>>2]|0; - $arglist_next7 = (($arglist_current6) + 4|0); - HEAP32[$ap>>2] = $arglist_next7; - HEAP32[38640>>2] = $10; - break; - } - case 20: { - $arglist_current48 = HEAP32[$ap>>2]|0; - $26 = HEAP32[$arglist_current48>>2]|0; - $arglist_next49 = (($arglist_current48) + 4|0); - HEAP32[$ap>>2] = $arglist_next49; - HEAP32[((38640 + 16|0))>>2] = $26; - break; - } - case 19: { - $18 = HEAP32[((38640 + 112|0))>>2]|0; - $19 = ($18|0)==(0|0); - if ($19) { - _sqlite3PCacheSetDefault(); - } - $arglist_current30 = HEAP32[$ap>>2]|0; - $20 = HEAP32[$arglist_current30>>2]|0; - $arglist_next31 = (($arglist_current30) + 4|0); - HEAP32[$ap>>2] = $arglist_next31; - dest=$20+0|0; src=((38640 + 104|0))+0|0; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - break; - } - case 15: { - HEAP32[$rc>>2] = 1; - break; - } - case 16: { - $arglist_current39 = HEAP32[$ap>>2]|0; - $23 = HEAP32[$arglist_current39>>2]|0; - $arglist_next40 = (($arglist_current39) + 4|0); - HEAP32[$ap>>2] = $arglist_next40; - HEAP32[((38640 + 252|0))>>2] = $23; - $arglist_current42 = HEAP32[$ap>>2]|0; - $24 = HEAP32[$arglist_current42>>2]|0; - $arglist_next43 = (($arglist_current42) + 4|0); - HEAP32[$ap>>2] = $arglist_next43; - HEAP32[((38640 + 256|0))>>2] = $24; - break; - } - case 7: { - $arglist_current18 = HEAP32[$ap>>2]|0; - $14 = HEAP32[$arglist_current18>>2]|0; - $arglist_next19 = (($arglist_current18) + 4|0); - HEAP32[$ap>>2] = $arglist_next19; - HEAP32[((38640 + 204|0))>>2] = $14; - $arglist_current21 = HEAP32[$ap>>2]|0; - $15 = HEAP32[$arglist_current21>>2]|0; - $arglist_next22 = (($arglist_current21) + 4|0); - HEAP32[$ap>>2] = $arglist_next22; - HEAP32[((38640 + 208|0))>>2] = $15; - $arglist_current24 = HEAP32[$ap>>2]|0; - $16 = HEAP32[$arglist_current24>>2]|0; - $arglist_next25 = (($arglist_current24) + 4|0); - HEAP32[$ap>>2] = $arglist_next25; - HEAP32[((38640 + 212|0))>>2] = $16; - break; - } - case 13: { - $arglist_current33 = HEAP32[$ap>>2]|0; - $21 = HEAP32[$arglist_current33>>2]|0; - $arglist_next34 = (($arglist_current33) + 4|0); - HEAP32[$ap>>2] = $arglist_next34; - HEAP32[((38640 + 28|0))>>2] = $21; - $arglist_current36 = HEAP32[$ap>>2]|0; - $22 = HEAP32[$arglist_current36>>2]|0; - $arglist_next37 = (($arglist_current36) + 4|0); - HEAP32[$ap>>2] = $arglist_next37; - HEAP32[((38640 + 32|0))>>2] = $22; - break; - } - case 4: { - $arglist_current = HEAP32[$ap>>2]|0; - $6 = HEAP32[$arglist_current>>2]|0; - $arglist_next = (($arglist_current) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - ;HEAP32[((38640 + 36|0))+0>>2]=HEAP32[$6+0>>2]|0;HEAP32[((38640 + 36|0))+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[((38640 + 36|0))+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[((38640 + 36|0))+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[((38640 + 36|0))+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[((38640 + 36|0))+20>>2]=HEAP32[$6+20>>2]|0;HEAP32[((38640 + 36|0))+24>>2]=HEAP32[$6+24>>2]|0;HEAP32[((38640 + 36|0))+28>>2]=HEAP32[$6+28>>2]|0; - break; - } - case 14: { - break; - } - case 6: { - $arglist_current9 = HEAP32[$ap>>2]|0; - $11 = HEAP32[$arglist_current9>>2]|0; - $arglist_next10 = (($arglist_current9) + 4|0); - HEAP32[$ap>>2] = $arglist_next10; - HEAP32[((38640 + 192|0))>>2] = $11; - $arglist_current12 = HEAP32[$ap>>2]|0; - $12 = HEAP32[$arglist_current12>>2]|0; - $arglist_next13 = (($arglist_current12) + 4|0); - HEAP32[$ap>>2] = $arglist_next13; - HEAP32[((38640 + 196|0))>>2] = $12; - $arglist_current15 = HEAP32[$ap>>2]|0; - $13 = HEAP32[$arglist_current15>>2]|0; - $arglist_next16 = (($arglist_current15) + 4|0); - HEAP32[$ap>>2] = $arglist_next16; - HEAP32[((38640 + 200|0))>>2] = $13; - break; - } - case 18: { - $arglist_current27 = HEAP32[$ap>>2]|0; - $17 = HEAP32[$arglist_current27>>2]|0; - $arglist_next28 = (($arglist_current27) + 4|0); - HEAP32[$ap>>2] = $arglist_next28; - dest=((38640 + 104|0))+0|0; src=$17+0|0; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - break; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = (($7) + ($8))|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 84|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($9|0)>($14|0); + if ($15) { + $16 = HEAP32[$1>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = (_growOpArray($16,$17)|0); + $19 = ($18|0)!=(0); + if ($19) { + HEAP32[$0>>2] = 0; + $82 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($82|0); } - case 22: { - $arglist_current51 = HEAP32[$ap>>2]|0; - $27 = $arglist_current51; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $arglist_next52 = (($arglist_current51) + 8|0); - HEAP32[$ap>>2] = $arglist_next52; - $33 = $szMmap; - $34 = $33; - HEAP32[$34>>2] = $29; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = $32; - $arglist_current54 = HEAP32[$ap>>2]|0; - $37 = $arglist_current54; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $arglist_next55 = (($arglist_current54) + 8|0); - HEAP32[$ap>>2] = $arglist_next55; - $43 = $mxMmap; - $44 = $43; - HEAP32[$44>>2] = $39; - $45 = (($43) + 4)|0; - $46 = $45; - HEAP32[$46>>2] = $42; - $47 = $mxMmap; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)<(0); - $54 = $mxMmap; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)>(0); - $61 = ($56>>>0)>(0); - $62 = ($59|0)==(0); - $63 = $62 & $61; - $64 = $60 | $63; - $or$cond = $53 | $64; - $65 = $or$cond ? 0 : $39; - $66 = $or$cond ? 0 : $42; - $67 = $mxMmap; - $68 = $67; - HEAP32[$68>>2] = $65; - $69 = (($67) + 4)|0; - $70 = $69; - HEAP32[$70>>2] = $66; - $71 = $mxMmap; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (($71) + 4)|0; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = ((38640 + 184|0)); - $78 = $77; - HEAP32[$78>>2] = $73; - $79 = (($77) + 4)|0; - $80 = $79; - HEAP32[$80>>2] = $76; - $81 = $szMmap; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (($81) + 4)|0; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)<(0); - if ($87) { - $88 = $szMmap; - $89 = $88; - HEAP32[$89>>2] = 0; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = 0; + } + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$addr>>2] = $22; + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)>(0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + HEAP32[$pIn>>2] = $25; + HEAP32[$i>>2] = 0; + while(1) { + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = ($26|0)<($27|0); + if (!($28)) { + break; } - $92 = $szMmap; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = $mxMmap; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (($98) + 4)|0; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = ($97|0)>($103|0); - $105 = ($94>>>0)>($100>>>0); - $106 = ($97|0)==($103|0); - $107 = $106 & $105; - $108 = $104 | $107; - if ($108) { - $109 = $mxMmap; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = (($109) + 4)|0; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = $szMmap; - $116 = $115; - HEAP32[$116>>2] = $111; - $117 = (($115) + 4)|0; - $118 = $117; - HEAP32[$118>>2] = $114; + $29 = HEAP32[$pIn>>2]|0; + $30 = ((($29)) + 2|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31 << 24 >> 24; + HEAP32[$p2>>2] = $32; + $33 = HEAP32[$i>>2]|0; + $34 = HEAP32[$addr>>2]|0; + $35 = (($33) + ($34))|0; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = (($38) + (($35*20)|0)|0); + HEAP32[$pOut>>2] = $39; + $40 = HEAP32[$pIn>>2]|0; + $41 = HEAP8[$40>>0]|0; + $42 = HEAP32[$pOut>>2]|0; + HEAP8[$42>>0] = $41; + $43 = HEAP32[$pIn>>2]|0; + $44 = ((($43)) + 1|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 << 24 >> 24; + $47 = HEAP32[$pOut>>2]|0; + $48 = ((($47)) + 4|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$p2>>2]|0; + $50 = ($49|0)<(0); + if ($50) { + $51 = HEAP32[$addr>>2]|0; + $52 = HEAP32[$p2>>2]|0; + $53 = (-1 - ($52))|0; + $54 = (($51) + ($53))|0; + $55 = HEAP32[$pOut>>2]|0; + $56 = ((($55)) + 8|0); + HEAP32[$56>>2] = $54; + } else { + $57 = HEAP32[$p2>>2]|0; + $58 = HEAP32[$pOut>>2]|0; + $59 = ((($58)) + 8|0); + HEAP32[$59>>2] = $57; } - $119 = $szMmap; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = (($119) + 4)|0; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = ((38640 + 176|0)); - $126 = $125; - HEAP32[$126>>2] = $121; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = $124; - break; - } - default: { - HEAP32[$rc>>2] = 1; - } + $60 = HEAP32[$pIn>>2]|0; + $61 = ((($60)) + 3|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62 << 24 >> 24; + $64 = HEAP32[$pOut>>2]|0; + $65 = ((($64)) + 12|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$pOut>>2]|0; + $67 = ((($66)) + 1|0); + HEAP8[$67>>0] = 0; + $68 = HEAP32[$pOut>>2]|0; + $69 = ((($68)) + 16|0); + HEAP32[$69>>2] = 0; + $70 = HEAP32[$pOut>>2]|0; + $71 = ((($70)) + 3|0); + HEAP8[$71>>0] = 0; + $72 = HEAP32[$i>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$i>>2] = $73; + $74 = HEAP32[$pIn>>2]|0; + $75 = ((($74)) + 4|0); + HEAP32[$pIn>>2] = $75; } - } while(0); - $129 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $129; - $130 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($130|0); + $76 = HEAP32[$2>>2]|0; + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 32|0); + $79 = HEAP32[$78>>2]|0; + $80 = (($79) + ($76))|0; + HEAP32[$78>>2] = $80; + } + $81 = HEAP32[$addr>>2]|0; + HEAP32[$0>>2] = $81; + $82 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($82|0); } -function _sqlite3MemSetDefault() { - var $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3VdbeUsesBtree($p,$i) { + $p = $p|0; + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = 6120; - (_sqlite3_config(4,$vararg_buffer)|0); + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$1>>2]|0; + $3 = 1 << $2; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 96|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 | $3; + HEAP32[$5>>2] = $7; STACKTOP = sp;return; } -function _sqlite3PCacheSetDefault() { - var $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeP1($p,$addr,$val) { + $p = $p|0; + $addr = $addr|0; + $val = $val|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = 6064; - (_sqlite3_config(18,$vararg_buffer)|0); + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $addr; + HEAP32[$2>>2] = $val; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ($5>>>0)>($6>>>0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12) + (($9*20)|0)|0); + $14 = ((($13)) + 4|0); + HEAP32[$14>>2] = $8; STACKTOP = sp;return; } -function _sqlite3_db_release_memory($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $i = 0, $pBt = 0, $pPager = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeP2($p,$addr,$val) { + $p = $p|0; + $addr = $addr|0; + $val = $val|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $pBt = sp + 4|0; - $pPager = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnterAll($1); - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<4)|0); - $12 = (($11) + 4|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pBt>>2] = $13; - $14 = HEAP32[$pBt>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$pBt>>2]|0; - $17 = (_sqlite3BtreePager($16)|0); - HEAP32[$pPager>>2] = $17; - $18 = HEAP32[$pPager>>2]|0; - _sqlite3PagerShrink($18); - } - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $addr; + HEAP32[$2>>2] = $val; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ($5>>>0)>($6>>>0); + if (!($7)) { + STACKTOP = sp;return; } - STACKTOP = sp;return 0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12) + (($9*20)|0)|0); + $14 = ((($13)) + 8|0); + HEAP32[$14>>2] = $8; + STACKTOP = sp;return; } -function _sqlite3PagerShrink($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeP3($p,$addr,$val) { + $p = $p|0; + $addr = $addr|0; + $val = $val|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 204|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3PcacheShrink($3); + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $addr; + HEAP32[$2>>2] = $val; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ($5>>>0)>($6>>>0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12) + (($9*20)|0)|0); + $14 = ((($13)) + 12|0); + HEAP32[$14>>2] = $8; STACKTOP = sp;return; } -function _setupLookaside($db,$pBuf,$sz,$cnt) { - $db = $db|0; - $pBuf = $pBuf|0; - $sz = $sz|0; - $cnt = $cnt|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $or$cond = 0, $p = 0, $pStart = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeP4($p,$addr,$zP4,$n) { + $p = $p|0; + $addr = $addr|0; + $zP4 = $zP4|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $db = 0, $pOp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $pStart = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $pBuf; - HEAP32[$3>>2] = $sz; - HEAP32[$4>>2] = $cnt; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 248|0); - $7 = (($6) + 4|0); + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $pOp = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $addr; + HEAP32[$2>>2] = $zP4; + HEAP32[$3>>2] = $n; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$db>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - HEAP32[$0>>2] = 5; - $104 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($104|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 248|0); - $12 = (($11) + 3|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 248|0); - $17 = (($16) + 28|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3_free($18); - } - $19 = HEAP32[$3>>2]|0; - $20 = $19 & -8; - HEAP32[$3>>2] = $20; - $21 = HEAP32[$3>>2]|0; - $22 = ($21|0)<=(4); - $$ = $22 ? 0 : $20; - HEAP32[$3>>2] = $$; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)<(0); - if ($24) { - HEAP32[$4>>2] = 0; - } - $25 = HEAP32[$3>>2]|0; - $26 = ($25|0)==(0); - $27 = HEAP32[$4>>2]|0; - $28 = ($27|0)==(0); - $or$cond = $26 | $28; - do { - if ($or$cond) { - HEAP32[$3>>2] = 0; - HEAP32[$pStart>>2] = 0; - } else { - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)==(0|0); - if (!($30)) { - $43 = HEAP32[$2>>2]|0; - HEAP32[$pStart>>2] = $43; - break; + $9 = ($8|0)==(0|0); + if (!($9)) { + $10 = HEAP32[$db>>2]|0; + $11 = ((($10)) + 64|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(0); + if (!($14)) { + $20 = HEAP32[$1>>2]|0; + $21 = ($20|0)<(0); + if ($21) { + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) - 1)|0; + HEAP32[$1>>2] = $25; } - _sqlite3BeginBenignMalloc(); - $31 = HEAP32[$3>>2]|0; - $32 = HEAP32[$4>>2]|0; - $33 = Math_imul($31, $32)|0; - $34 = ($33|0)<(0); - $35 = $34 << 31 >> 31; - $36 = (_sqlite3Malloc($33,$35)|0); - HEAP32[$pStart>>2] = $36; - _sqlite3EndBenignMalloc(); - $37 = HEAP32[$pStart>>2]|0; - $38 = ($37|0)!=(0|0); - if ($38) { - $39 = HEAP32[$pStart>>2]|0; - $40 = (_sqlite3MallocSize($39)|0); - $41 = HEAP32[$3>>2]|0; - $42 = (($40|0) / ($41|0))&-1; - HEAP32[$4>>2] = $42; + $26 = HEAP32[$1>>2]|0; + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + (($26*20)|0)|0); + HEAP32[$pOp>>2] = $30; + $31 = HEAP32[$db>>2]|0; + $32 = HEAP32[$pOp>>2]|0; + $33 = ((($32)) + 1|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34 << 24 >> 24; + $36 = HEAP32[$pOp>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + _freeP4($31,$35,$38); + $39 = HEAP32[$pOp>>2]|0; + $40 = ((($39)) + 16|0); + HEAP32[$40>>2] = 0; + $41 = HEAP32[$3>>2]|0; + $42 = ($41|0)==(-14); + $43 = HEAP32[$2>>2]|0; + if ($42) { + $44 = $43; + $45 = HEAP32[$pOp>>2]|0; + $46 = ((($45)) + 16|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$pOp>>2]|0; + $48 = ((($47)) + 1|0); + HEAP8[$48>>0] = -14; + STACKTOP = sp;return; } - } - } while(0); - $44 = HEAP32[$pStart>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 248|0); - $47 = (($46) + 28|0); - HEAP32[$47>>2] = $44; - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 248|0); - $50 = (($49) + 24|0); - HEAP32[$50>>2] = 0; - $51 = HEAP32[$3>>2]|0; - $52 = $51&65535; - $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 248|0); - HEAP16[$54>>1] = $52; - $55 = HEAP32[$pStart>>2]|0; - $56 = ($55|0)!=(0|0); - if ($56) { - $57 = HEAP32[$pStart>>2]|0; - HEAP32[$p>>2] = $57; - $58 = HEAP32[$4>>2]|0; - $59 = (($58) - 1)|0; - HEAP32[$i>>2] = $59; - while(1) { - $60 = HEAP32[$i>>2]|0; - $61 = ($60|0)>=(0); - if (!($61)) { - break; + $49 = ($43|0)==(0|0); + if ($49) { + $50 = HEAP32[$pOp>>2]|0; + $51 = ((($50)) + 16|0); + HEAP32[$51>>2] = 0; + $52 = HEAP32[$pOp>>2]|0; + $53 = ((($52)) + 1|0); + HEAP8[$53>>0] = 0; + STACKTOP = sp;return; } - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 248|0); - $64 = (($63) + 24|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$p>>2]|0; - HEAP32[$66>>2] = $65; - $67 = HEAP32[$p>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 248|0); - $70 = (($69) + 24|0); - HEAP32[$70>>2] = $67; - $71 = HEAP32[$3>>2]|0; - $72 = HEAP32[$p>>2]|0; - $73 = (($72) + ($71)|0); - HEAP32[$p>>2] = $73; - $74 = HEAP32[$i>>2]|0; - $75 = (($74) + -1)|0; - HEAP32[$i>>2] = $75; + $54 = HEAP32[$3>>2]|0; + $55 = ($54|0)==(-6); + if ($55) { + $56 = HEAP32[$2>>2]|0; + $57 = HEAP32[$pOp>>2]|0; + $58 = ((($57)) + 16|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$pOp>>2]|0; + $60 = ((($59)) + 1|0); + HEAP8[$60>>0] = -6; + STACKTOP = sp;return; + } + $61 = HEAP32[$3>>2]|0; + $62 = ($61|0)==(-10); + if ($62) { + $63 = HEAP32[$2>>2]|0; + $64 = HEAP32[$pOp>>2]|0; + $65 = ((($64)) + 16|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$pOp>>2]|0; + $67 = ((($66)) + 1|0); + HEAP8[$67>>0] = -10; + $68 = HEAP32[$2>>2]|0; + _sqlite3VtabLock($68); + STACKTOP = sp;return; + } + $69 = HEAP32[$3>>2]|0; + $70 = ($69|0)<(0); + if ($70) { + $71 = HEAP32[$2>>2]|0; + $72 = HEAP32[$pOp>>2]|0; + $73 = ((($72)) + 16|0); + HEAP32[$73>>2] = $71; + $74 = HEAP32[$3>>2]|0; + $75 = $74&255; + $76 = HEAP32[$pOp>>2]|0; + $77 = ((($76)) + 1|0); + HEAP8[$77>>0] = $75; + STACKTOP = sp;return; + } + $78 = HEAP32[$3>>2]|0; + $79 = ($78|0)==(0); + if ($79) { + $80 = HEAP32[$2>>2]|0; + $81 = (_sqlite3Strlen30($80)|0); + HEAP32[$3>>2] = $81; + } + $82 = HEAP32[$0>>2]|0; + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$2>>2]|0; + $85 = HEAP32[$3>>2]|0; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = (_sqlite3DbStrNDup($83,$84,$85,$87)|0); + $89 = HEAP32[$pOp>>2]|0; + $90 = ((($89)) + 16|0); + HEAP32[$90>>2] = $88; + $91 = HEAP32[$pOp>>2]|0; + $92 = ((($91)) + 1|0); + HEAP8[$92>>0] = -1; + STACKTOP = sp;return; } - $76 = HEAP32[$p>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 248|0); - $79 = (($78) + 32|0); - HEAP32[$79>>2] = $76; - $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 248|0); - $82 = (($81) + 2|0); - HEAP8[$82>>0] = 1; - $83 = HEAP32[$2>>2]|0; - $84 = ($83|0)==(0|0); - $85 = $84 ? 1 : 0; - $86 = $85&255; - $87 = HEAP32[$1>>2]|0; - $88 = (($87) + 248|0); - $89 = (($88) + 3|0); - HEAP8[$89>>0] = $86; - } else { - $90 = HEAP32[$1>>2]|0; - $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 248|0); - $93 = (($92) + 28|0); - HEAP32[$93>>2] = $90; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$1>>2]|0; - $96 = (($95) + 248|0); - $97 = (($96) + 32|0); - HEAP32[$97>>2] = $94; - $98 = HEAP32[$1>>2]|0; - $99 = (($98) + 248|0); - $100 = (($99) + 2|0); - HEAP8[$100>>0] = 0; - $101 = HEAP32[$1>>2]|0; - $102 = (($101) + 248|0); - $103 = (($102) + 3|0); - HEAP8[$103>>0] = 0; } - HEAP32[$0>>2] = 0; - $104 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($104|0); -} -function _sqlite3_last_insert_rowid($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 32|0); - $3 = $2; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + 4)|0; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - tempRet0 = $8; - STACKTOP = sp;return ($5|0); -} -function _sqlite3_changes($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 80|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3_total_changes($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 84|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3_close($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3Close($1,0)|0); - STACKTOP = sp;return ($2|0); + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)!=(-10); + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$db>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$2>>2]|0; + _freeP4($17,$18,$19); + STACKTOP = sp;return; } -function _sqlite3Close($db,$forceZombie) { - $db = $db|0; - $forceZombie = $forceZombie|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeToNoop($p,$addr) { + $p = $p|0; + $addr = $addr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pOp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; $0 = sp + 12|0; $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $forceZombie; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (_sqlite3MisuseError(125804)|0); - HEAP32[$0>>2] = $8; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $pOp = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $addr; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2|0)<($5|0); + if (!($6)) { + STACKTOP = sp;return; } - $9 = HEAP32[$1>>2]|0; - _disconnectAllVtab($9); - $10 = HEAP32[$1>>2]|0; - (_sqlite3VtabRollback($10)|0); - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)!=(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - $14 = (_connectionIsBusy($13)|0); - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - _sqlite3ErrorWithMsg($16,5,5992,$vararg_buffer); - HEAP32[$0>>2] = 5; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + (($7*20)|0)|0); + HEAP32[$pOp>>2] = $11; + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$db>>2] = $13; + $14 = HEAP32[$db>>2]|0; + $15 = HEAP32[$pOp>>2]|0; + $16 = ((($15)) + 1|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = HEAP32[$pOp>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + _freeP4($14,$18,$21); + $22 = HEAP32[$pOp>>2]|0; + ;HEAP32[$22>>2]=0|0;HEAP32[$22+4>>2]=0|0;HEAP32[$22+8>>2]=0|0;HEAP32[$22+12>>2]=0|0;HEAP32[$22+16>>2]=0|0; + $23 = HEAP32[$pOp>>2]|0; + HEAP8[$23>>0] = -102; + $24 = HEAP32[$1>>2]|0; + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 32|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - 1)|0; + $29 = ($24|0)==($28|0); + if (!($29)) { + STACKTOP = sp;return; } - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 76|0); - HEAP32[$18>>2] = 1691352191; - $19 = HEAP32[$1>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($19); - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 32|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -1)|0; + HEAP32[$31>>2] = $33; + STACKTOP = sp;return; } -function _sqlite3_close_v2($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3VdbeMakeReady($p,$pParse) { + $p = $p|0; + $pParse = $pParse|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $db = 0, $n = 0, $nArg = 0, $nByte = 0, $nCursor = 0, $nMem = 0, $nOnce = 0, $nVar = 0, $or$cond = 0, $zCsr = 0, $zEnd = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 48|0; $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3Close($1,1)|0); - STACKTOP = sp;return ($2|0); -} -function _sqlite3_busy_handler($db,$xBusy,$pArg) { - $db = $db|0; - $xBusy = $xBusy|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $xBusy; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 444|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 444|0); - $9 = (($8) + 4|0); - HEAP32[$9>>2] = $6; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 444|0); - $12 = (($11) + 8|0); - HEAP32[$12>>2] = 0; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 492|0); - HEAP32[$14>>2] = 0; - STACKTOP = sp;return 0; -} -function _sqlite3_busy_timeout($db,$ms) { - $db = $db|0; - $ms = $ms|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $ms; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $4 = HEAP32[$0>>2]|0; - if ($3) { - $5 = HEAP32[$0>>2]|0; - (_sqlite3_busy_handler($4,34,$5)|0); - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 492|0); - HEAP32[$8>>2] = $6; - STACKTOP = sp;return 0; - } else { - (_sqlite3_busy_handler($4,0,0)|0); - STACKTOP = sp;return 0; - } - return 0|0; -} -function _sqliteDefaultBusyCallback($ptr,$count) { - $ptr = $ptr|0; - $count = $count|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $timeout = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $db = sp + 4|0; - $timeout = sp; - HEAP32[$1>>2] = $ptr; - HEAP32[$2>>2] = $count; - $3 = HEAP32[$1>>2]|0; + $1 = sp + 8|0; + $db = sp + 36|0; + $nVar = sp + 16|0; + $nMem = sp + 32|0; + $nCursor = sp + 40|0; + $nArg = sp + 44|0; + $nOnce = sp + 24|0; + $n = sp + 20|0; + $zCsr = sp + 12|0; + $zEnd = sp + 4|0; + $nByte = sp + 28|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $pParse; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 492|0); + $5 = ((($4)) + 440|0); $6 = HEAP32[$5>>2]|0; - HEAP32[$timeout>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 1)|0; - $9 = ($8*1000)|0; - $10 = HEAP32[$timeout>>2]|0; - $11 = ($9|0)>($10|0); - if ($11) { - HEAP32[$0>>2] = 0; - $14 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($14|0); + HEAP32[$nVar>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 72|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$nMem>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 68|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$nCursor>>2] = $12; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 392|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$nArg>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 80|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$nOnce>>2] = $18; + $19 = HEAP32[$nOnce>>2]|0; + $20 = ($19|0)==(0); + $$ = $20 ? 1 : $18; + HEAP32[$nOnce>>2] = $$; + $21 = HEAP32[$nCursor>>2]|0; + $22 = HEAP32[$nMem>>2]|0; + $23 = (($22) + ($21))|0; + HEAP32[$nMem>>2] = $23; + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + (($26*20)|0)|0); + HEAP32[$zCsr>>2] = $30; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 84|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + (($33*20)|0)|0); + HEAP32[$zEnd>>2] = $37; + $38 = HEAP32[$0>>2]|0; + _resolveP2Values($38,$nArg); + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 20|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($42|0)!=(0); + if ($43) { + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 21|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($47|0)!=(0); + $50 = $48; } else { - $12 = HEAP32[$db>>2]|0; - $13 = HEAP32[$12>>2]|0; - (_sqlite3OsSleep($13,1000000)|0); - HEAP32[$0>>2] = 1; - $14 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($14|0); + $50 = 0; } - return 0|0; -} -function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xFunc,$xStep,$xFinal,$pDestructor) { - $db = $db|0; - $zFunctionName = $zFunctionName|0; - $nArg = $nArg|0; - $enc = $enc|0; - $pUserData = $pUserData|0; - $xFunc = $xFunc|0; - $xStep = $xStep|0; - $xFinal = $xFinal|0; - $pDestructor = $pDestructor|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $extraFlags = 0, $nName = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond7$not = 0, $or$cond9 = 0, $p = 0; - var $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $6 = sp + 32|0; - $7 = sp + 28|0; - $8 = sp + 24|0; - $9 = sp + 20|0; - $p = sp + 16|0; - $nName = sp + 12|0; - $extraFlags = sp + 8|0; - $rc = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zFunctionName; - HEAP32[$3>>2] = $nArg; - HEAP32[$4>>2] = $enc; - HEAP32[$5>>2] = $pUserData; - HEAP32[$6>>2] = $xFunc; - HEAP32[$7>>2] = $xStep; - HEAP32[$8>>2] = $xFinal; - HEAP32[$9>>2] = $pDestructor; - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(0|0); - do { - if (!($11)) { - $12 = HEAP32[$6>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$8>>2]|0; - $15 = ($14|0)!=(0|0); - $16 = HEAP32[$7>>2]|0; - $17 = ($16|0)!=(0|0); - $or$cond = $15 | $17; - if ($or$cond) { - break; - } - } - $18 = HEAP32[$6>>2]|0; - $19 = ($18|0)==(0|0); - $20 = HEAP32[$8>>2]|0; - $21 = ($20|0)!=(0|0); - $or$cond3 = $19 & $21; - $or$cond3$not = $or$cond3 ^ 1; - $22 = HEAP32[$7>>2]|0; - $23 = ($22|0)!=(0|0); - $or$cond5 = $or$cond3$not | $23; - if ($or$cond5) { - $24 = HEAP32[$6>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = HEAP32[$8>>2]|0; - $27 = ($26|0)!=(0|0); - $or$cond7 = $25 | $27; - $or$cond7$not = $or$cond7 ^ 1; - $28 = HEAP32[$7>>2]|0; - $29 = ($28|0)!=(0|0); - $or$cond9 = $or$cond7$not & $29; - $30 = HEAP32[$3>>2]|0; - $31 = ($30|0)<(-1); - $or$cond11 = $or$cond9 | $31; - $32 = HEAP32[$3>>2]|0; - $33 = ($32|0)>(127); - $or$cond13 = $or$cond11 | $33; - if (!($or$cond13)) { - $34 = HEAP32[$2>>2]|0; - $35 = (_sqlite3Strlen30($34)|0); - HEAP32[$nName>>2] = $35; - $36 = (255)<($35|0); - if (!($36)) { - $38 = HEAP32[$4>>2]|0; - $39 = $38 & 2048; - HEAP32[$extraFlags>>2] = $39; - $40 = HEAP32[$4>>2]|0; - $41 = $40 & 7; - HEAP32[$4>>2] = $41; - $42 = HEAP32[$4>>2]|0; - $43 = ($42|0)==(4); - do { - if ($43) { - $44 = HEAP8[1136>>0]|0; - $45 = $44 << 24 >> 24; - $46 = ($45|0)==(0); - $47 = $46 ? 3 : 2; - HEAP32[$4>>2] = $47; - } else { - $48 = HEAP32[$4>>2]|0; - $49 = ($48|0)==(5); - if ($49) { - $50 = HEAP32[$1>>2]|0; - $51 = HEAP32[$2>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = HEAP32[$extraFlags>>2]|0; - $54 = 1 | $53; - $55 = HEAP32[$5>>2]|0; - $56 = HEAP32[$6>>2]|0; - $57 = HEAP32[$7>>2]|0; - $58 = HEAP32[$8>>2]|0; - $59 = HEAP32[$9>>2]|0; - $60 = (_sqlite3CreateFunc($50,$51,$52,$54,$55,$56,$57,$58,$59)|0); - HEAP32[$rc>>2] = $60; - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)==(0); - if ($62) { - $63 = HEAP32[$1>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = HEAP32[$3>>2]|0; - $66 = HEAP32[$extraFlags>>2]|0; - $67 = 2 | $66; - $68 = HEAP32[$5>>2]|0; - $69 = HEAP32[$6>>2]|0; - $70 = HEAP32[$7>>2]|0; - $71 = HEAP32[$8>>2]|0; - $72 = HEAP32[$9>>2]|0; - $73 = (_sqlite3CreateFunc($63,$64,$65,$67,$68,$69,$70,$71,$72)|0); - HEAP32[$rc>>2] = $73; - } - $74 = HEAP32[$rc>>2]|0; - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$4>>2] = 3; - break; - } - $76 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $76; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); - } - } - } while(0); - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$2>>2]|0; - $79 = HEAP32[$nName>>2]|0; - $80 = HEAP32[$3>>2]|0; - $81 = HEAP32[$4>>2]|0; - $82 = $81&255; - $83 = (_sqlite3FindFunction($77,$78,$79,$80,$82,0)|0); - HEAP32[$p>>2] = $83; - $84 = HEAP32[$p>>2]|0; - $85 = ($84|0)!=(0|0); - do { - if ($85) { - $86 = HEAP32[$p>>2]|0; - $87 = (($86) + 2|0); - $88 = HEAP16[$87>>1]|0; - $89 = $88&65535; - $90 = $89 & 3; - $91 = HEAP32[$4>>2]|0; - $92 = ($90|0)==($91|0); - if ($92) { - $93 = HEAP32[$p>>2]|0; - $94 = HEAP16[$93>>1]|0; - $95 = $94 << 16 >> 16; - $96 = HEAP32[$3>>2]|0; - $97 = ($95|0)==($96|0); - if ($97) { - $98 = HEAP32[$1>>2]|0; - $99 = (($98) + 148|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)!=(0); - $102 = HEAP32[$1>>2]|0; - if (!($101)) { - _sqlite3ExpirePreparedStatements($102); - break; - } - _sqlite3ErrorWithMsg($102,5,5048,$vararg_buffer); - HEAP32[$0>>2] = 5; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); - } - } - } - } while(0); - $103 = HEAP32[$1>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = HEAP32[$nName>>2]|0; - $106 = HEAP32[$3>>2]|0; - $107 = HEAP32[$4>>2]|0; - $108 = $107&255; - $109 = (_sqlite3FindFunction($103,$104,$105,$106,$108,1)|0); - HEAP32[$p>>2] = $109; - $110 = HEAP32[$p>>2]|0; - $111 = ($110|0)!=(0|0); - if (!($111)) { - HEAP32[$0>>2] = 7; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); - } - $112 = HEAP32[$1>>2]|0; - $113 = HEAP32[$p>>2]|0; - _functionDestroy($112,$113); - $114 = HEAP32[$9>>2]|0; - $115 = ($114|0)!=(0|0); - if ($115) { - $116 = HEAP32[$9>>2]|0; - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$116>>2] = $118; - } - $119 = HEAP32[$9>>2]|0; - $120 = HEAP32[$p>>2]|0; - $121 = (($120) + 32|0); - HEAP32[$121>>2] = $119; - $122 = HEAP32[$p>>2]|0; - $123 = (($122) + 2|0); - $124 = HEAP16[$123>>1]|0; - $125 = $124&65535; - $126 = $125 & 3; - $127 = HEAP32[$extraFlags>>2]|0; - $128 = $126 | $127; - $129 = $128&65535; - $130 = HEAP32[$p>>2]|0; - $131 = (($130) + 2|0); - HEAP16[$131>>1] = $129; - $132 = HEAP32[$6>>2]|0; - $133 = HEAP32[$p>>2]|0; - $134 = (($133) + 12|0); - HEAP32[$134>>2] = $132; - $135 = HEAP32[$7>>2]|0; - $136 = HEAP32[$p>>2]|0; - $137 = (($136) + 16|0); - HEAP32[$137>>2] = $135; - $138 = HEAP32[$8>>2]|0; - $139 = HEAP32[$p>>2]|0; - $140 = (($139) + 20|0); - HEAP32[$140>>2] = $138; - $141 = HEAP32[$5>>2]|0; - $142 = HEAP32[$p>>2]|0; - $143 = (($142) + 4|0); - HEAP32[$143>>2] = $141; - $144 = HEAP32[$3>>2]|0; - $145 = $144&65535; - $146 = HEAP32[$p>>2]|0; - HEAP16[$146>>1] = $145; - HEAP32[$0>>2] = 0; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); - } - } - } - } - } while(0); - $37 = (_sqlite3MisuseError(126362)|0); - HEAP32[$0>>2] = $37; - $147 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($147|0); -} -function _sqlite3_overload_function($db,$zName,$nArg) { - $db = $db|0; - $zName = $zName|0; - $nArg = $nArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nName = 0; - var $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $nName = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$2>>2] = $nArg; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3Strlen30($3)|0); - HEAP32[$nName>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$nName>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3FindFunction($5,$6,$7,$8,1,0)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = (_sqlite3CreateFunc($11,$12,$13,1,0,51,0,0,0)|0); - HEAP32[$rc>>2] = $14; + $49 = $50&1; + $51 = $49&255; + $52 = $51&255; + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 88|0); + $55 = $52&65535; + $56 = HEAP16[$54>>1]|0; + $57 = $55 & 1; + $58 = ($57 << 7)&65535; + $59 = $56 & -129; + $60 = $59 | $58; + HEAP16[$54>>1] = $60; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 450|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = ($64|0)!=(0); + $66 = HEAP32[$nMem>>2]|0; + $67 = ($66|0)<(10); + $or$cond = $65 & $67; + if ($or$cond) { + HEAP32[$nMem>>2] = 10; } - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$rc>>2]|0; - $17 = (_sqlite3ApiExit($15,$16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); -} -function _sqlite3FindFunction($db,$zName,$nName,$nArg,$enc,$createFlag) { - $db = $db|0; - $zName = $zName|0; - $nName = $nName|0; - $nArg = $nArg|0; - $enc = $enc|0; - $createFlag = $createFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0; - var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bestScore = 0, $h = 0, $or$cond = 0, $p = 0, $pBest = 0, $pHash = 0; - var $score = 0, $score1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 49|0; - $6 = sp + 48|0; - $p = sp + 24|0; - $pBest = sp + 20|0; - $bestScore = sp + 16|0; - $h = sp + 12|0; - $score = sp + 8|0; - $pHash = sp + 4|0; - $score1 = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zName; - HEAP32[$3>>2] = $nName; - HEAP32[$4>>2] = $nArg; - HEAP8[$5>>0] = $enc; - HEAP8[$6>>0] = $createFlag; - HEAP32[$pBest>>2] = 0; - HEAP32[$bestScore>>2] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = (440 + ($9)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$3>>2]|0; - $14 = (($12) + ($13))|0; - $15 = (($14|0) % 23)&-1; - HEAP32[$h>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 336|0); - $18 = HEAP32[$h>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = (_functionSearch($17,$18,$19,$20)|0); - HEAP32[$p>>2] = $21; + $68 = HEAP32[$zCsr>>2]|0; + $69 = HEAP32[$zEnd>>2]|0; + $70 = HEAP32[$zCsr>>2]|0; + $71 = $69; + $72 = $70; + $73 = (($71) - ($72))|0; + _memset(($68|0),0,($73|0))|0; + $74 = HEAP32[$zCsr>>2]|0; + $75 = $74; + $76 = (($75) - 0)|0; + $77 = $76 & 7; + $78 = HEAP32[$zCsr>>2]|0; + $79 = (($78) + ($77)|0); + HEAP32[$zCsr>>2] = $79; + $80 = HEAP32[$0>>2]|0; + $81 = ((($80)) + 88|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82 & -33; + HEAP16[$81>>1] = $83; while(1) { - $22 = HEAP32[$p>>2]|0; - $23 = ($22|0)!=(0|0); - if (!($23)) { + HEAP32[$nByte>>2] = 0; + $84 = HEAP32[$0>>2]|0; + $85 = ((($84)) + 8|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$nMem>>2]|0; + $88 = ($87*40)|0; + $89 = HEAP32[$zEnd>>2]|0; + $90 = (_allocSpace($86,$88,$zCsr,$89,$nByte)|0); + $91 = HEAP32[$0>>2]|0; + $92 = ((($91)) + 8|0); + HEAP32[$92>>2] = $90; + $93 = HEAP32[$0>>2]|0; + $94 = ((($93)) + 60|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$nVar>>2]|0; + $97 = ($96*40)|0; + $98 = HEAP32[$zEnd>>2]|0; + $99 = (_allocSpace($95,$97,$zCsr,$98,$nByte)|0); + $100 = HEAP32[$0>>2]|0; + $101 = ((($100)) + 60|0); + HEAP32[$101>>2] = $99; + $102 = HEAP32[$0>>2]|0; + $103 = ((($102)) + 12|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$nArg>>2]|0; + $106 = $105<<2; + $107 = HEAP32[$zEnd>>2]|0; + $108 = (_allocSpace($104,$106,$zCsr,$107,$nByte)|0); + $109 = HEAP32[$0>>2]|0; + $110 = ((($109)) + 12|0); + HEAP32[$110>>2] = $108; + $111 = HEAP32[$0>>2]|0; + $112 = ((($111)) + 64|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$nVar>>2]|0; + $115 = $114<<2; + $116 = HEAP32[$zEnd>>2]|0; + $117 = (_allocSpace($113,$115,$zCsr,$116,$nByte)|0); + $118 = HEAP32[$0>>2]|0; + $119 = ((($118)) + 64|0); + HEAP32[$119>>2] = $117; + $120 = HEAP32[$0>>2]|0; + $121 = ((($120)) + 56|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$nCursor>>2]|0; + $124 = $123<<2; + $125 = HEAP32[$zEnd>>2]|0; + $126 = (_allocSpace($122,$124,$zCsr,$125,$nByte)|0); + $127 = HEAP32[$0>>2]|0; + $128 = ((($127)) + 56|0); + HEAP32[$128>>2] = $126; + $129 = HEAP32[$0>>2]|0; + $130 = ((($129)) + 200|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$nOnce>>2]|0; + $133 = HEAP32[$zEnd>>2]|0; + $134 = (_allocSpace($131,$132,$zCsr,$133,$nByte)|0); + $135 = HEAP32[$0>>2]|0; + $136 = ((($135)) + 200|0); + HEAP32[$136>>2] = $134; + $137 = HEAP32[$nByte>>2]|0; + $138 = ($137|0)!=(0); + if ($138) { + $139 = HEAP32[$db>>2]|0; + $140 = HEAP32[$nByte>>2]|0; + $141 = ($140|0)<(0); + $142 = $141 << 31 >> 31; + $143 = (_sqlite3DbMallocZero($139,$140,$142)|0); + $144 = HEAP32[$0>>2]|0; + $145 = ((($144)) + 172|0); + HEAP32[$145>>2] = $143; + } + $146 = HEAP32[$0>>2]|0; + $147 = ((($146)) + 172|0); + $148 = HEAP32[$147>>2]|0; + HEAP32[$zCsr>>2] = $148; + $149 = HEAP32[$nByte>>2]|0; + $150 = HEAP32[$zCsr>>2]|0; + $151 = (($150) + ($149)|0); + HEAP32[$zEnd>>2] = $151; + $152 = HEAP32[$nByte>>2]|0; + $153 = ($152|0)!=(0); + if (!($153)) { break; } - $24 = HEAP32[$p>>2]|0; - $25 = HEAP32[$4>>2]|0; - $26 = HEAP8[$5>>0]|0; - $27 = (_matchQuality($24,$25,$26)|0); - HEAP32[$score>>2] = $27; - $28 = HEAP32[$score>>2]|0; - $29 = HEAP32[$bestScore>>2]|0; - $30 = ($28|0)>($29|0); - if ($30) { - $31 = HEAP32[$p>>2]|0; - HEAP32[$pBest>>2] = $31; - $32 = HEAP32[$score>>2]|0; - HEAP32[$bestScore>>2] = $32; + $154 = HEAP32[$db>>2]|0; + $155 = ((($154)) + 64|0); + $156 = HEAP8[$155>>0]|0; + $157 = ($156<<24>>24)!=(0); + $158 = $157 ^ 1; + if (!($158)) { + break; } - $33 = HEAP32[$p>>2]|0; - $34 = (($33) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$p>>2] = $35; } - $36 = HEAP8[$6>>0]|0; - $37 = ($36<<24>>24)!=(0); - L8: do { - if (!($37)) { - $38 = HEAP32[$pBest>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = $42 & 2097152; - $44 = ($43|0)!=(0); - if (!($44)) { - break; - } - } - HEAP32[$pHash>>2] = 1576; - HEAP32[$bestScore>>2] = 0; - $45 = HEAP32[$pHash>>2]|0; - $46 = HEAP32[$h>>2]|0; - $47 = HEAP32[$2>>2]|0; - $48 = HEAP32[$3>>2]|0; - $49 = (_functionSearch($45,$46,$47,$48)|0); - HEAP32[$p>>2] = $49; + $159 = HEAP32[$nCursor>>2]|0; + $160 = HEAP32[$0>>2]|0; + $161 = ((($160)) + 36|0); + HEAP32[$161>>2] = $159; + $162 = HEAP32[$nOnce>>2]|0; + $163 = HEAP32[$0>>2]|0; + $164 = ((($163)) + 196|0); + HEAP32[$164>>2] = $162; + $165 = HEAP32[$0>>2]|0; + $166 = ((($165)) + 60|0); + $167 = HEAP32[$166>>2]|0; + $168 = ($167|0)!=(0|0); + L14: do { + if ($168) { + $169 = HEAP32[$nVar>>2]|0; + $170 = $169&65535; + $171 = HEAP32[$0>>2]|0; + $172 = ((($171)) + 68|0); + HEAP16[$172>>1] = $170; + HEAP32[$n>>2] = 0; while(1) { - $50 = HEAP32[$p>>2]|0; - $51 = ($50|0)!=(0|0); - if (!($51)) { - break L8; - } - $52 = HEAP32[$p>>2]|0; - $53 = HEAP32[$4>>2]|0; - $54 = HEAP8[$5>>0]|0; - $55 = (_matchQuality($52,$53,$54)|0); - HEAP32[$score1>>2] = $55; - $56 = HEAP32[$score1>>2]|0; - $57 = HEAP32[$bestScore>>2]|0; - $58 = ($56|0)>($57|0); - if ($58) { - $59 = HEAP32[$p>>2]|0; - HEAP32[$pBest>>2] = $59; - $60 = HEAP32[$score1>>2]|0; - HEAP32[$bestScore>>2] = $60; + $173 = HEAP32[$n>>2]|0; + $174 = HEAP32[$nVar>>2]|0; + $175 = ($173|0)<($174|0); + if (!($175)) { + break L14; } - $61 = HEAP32[$p>>2]|0; - $62 = (($61) + 8|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$p>>2] = $63; + $176 = HEAP32[$n>>2]|0; + $177 = HEAP32[$0>>2]|0; + $178 = ((($177)) + 60|0); + $179 = HEAP32[$178>>2]|0; + $180 = (($179) + (($176*40)|0)|0); + $181 = ((($180)) + 8|0); + HEAP16[$181>>1] = 1; + $182 = HEAP32[$db>>2]|0; + $183 = HEAP32[$n>>2]|0; + $184 = HEAP32[$0>>2]|0; + $185 = ((($184)) + 60|0); + $186 = HEAP32[$185>>2]|0; + $187 = (($186) + (($183*40)|0)|0); + $188 = ((($187)) + 32|0); + HEAP32[$188>>2] = $182; + $189 = HEAP32[$n>>2]|0; + $190 = (($189) + 1)|0; + HEAP32[$n>>2] = $190; } } } while(0); - $64 = HEAP8[$6>>0]|0; - $65 = $64&255; - $66 = ($65|0)!=(0); - $67 = HEAP32[$bestScore>>2]|0; - $68 = ($67|0)<(6); - $or$cond = $66 & $68; - if ($or$cond) { - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$3>>2]|0; - $71 = (36 + ($70))|0; - $72 = (($71) + 1)|0; - $73 = (_sqlite3DbMallocZero($69,$72,0)|0); - HEAP32[$pBest>>2] = $73; - $74 = ($73|0)!=(0|0); - if ($74) { - $75 = HEAP32[$pBest>>2]|0; - $76 = (($75) + 36|0); - $77 = HEAP32[$pBest>>2]|0; - $78 = (($77) + 24|0); - HEAP32[$78>>2] = $76; - $79 = HEAP32[$4>>2]|0; - $80 = $79&65535; - $81 = HEAP32[$pBest>>2]|0; - HEAP16[$81>>1] = $80; - $82 = HEAP8[$5>>0]|0; - $83 = $82&255; - $84 = HEAP32[$pBest>>2]|0; - $85 = (($84) + 2|0); - HEAP16[$85>>1] = $83; - $86 = HEAP32[$pBest>>2]|0; - $87 = (($86) + 24|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = HEAP32[$3>>2]|0; - _memcpy(($88|0),($89|0),($90|0))|0; - $91 = HEAP32[$3>>2]|0; - $92 = HEAP32[$pBest>>2]|0; - $93 = (($92) + 24|0); - $94 = HEAP32[$93>>2]|0; - $95 = (($94) + ($91)|0); - HEAP8[$95>>0] = 0; - $96 = HEAP32[$1>>2]|0; - $97 = (($96) + 336|0); - $98 = HEAP32[$pBest>>2]|0; - _sqlite3FuncDefInsert($97,$98); - } + $191 = HEAP32[$0>>2]|0; + $192 = ((($191)) + 64|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($193|0)!=(0|0); + if ($194) { + $195 = HEAP32[$1>>2]|0; + $196 = ((($195)) + 444|0); + $197 = HEAP32[$196>>2]|0; + $198 = $197&65535; + $199 = HEAP32[$0>>2]|0; + $200 = ((($199)) + 70|0); + HEAP16[$200>>1] = $198; + $201 = HEAP32[$0>>2]|0; + $202 = ((($201)) + 64|0); + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$1>>2]|0; + $205 = ((($204)) + 472|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$0>>2]|0; + $208 = ((($207)) + 70|0); + $209 = HEAP16[$208>>1]|0; + $210 = $209 << 16 >> 16; + $211 = $210<<2; + _memcpy(($203|0),($206|0),($211|0))|0; + $212 = HEAP32[$1>>2]|0; + $213 = ((($212)) + 472|0); + $214 = HEAP32[$213>>2]|0; + $215 = HEAP32[$1>>2]|0; + $216 = ((($215)) + 444|0); + $217 = HEAP32[$216>>2]|0; + $218 = $217<<2; + _memset(($214|0),0,($218|0))|0; } - $99 = HEAP32[$pBest>>2]|0; - $100 = ($99|0)!=(0|0); - do { - if ($100) { - $101 = HEAP32[$pBest>>2]|0; - $102 = (($101) + 16|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)!=(0|0); - if (!($104)) { - $105 = HEAP32[$pBest>>2]|0; - $106 = (($105) + 12|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)!=(0|0); - if (!($108)) { - $109 = HEAP8[$6>>0]|0; - $110 = $109&255; - $111 = ($110|0)!=(0); - if (!($111)) { - break; - } - } - } - $112 = HEAP32[$pBest>>2]|0; - HEAP32[$0>>2] = $112; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $219 = HEAP32[$0>>2]|0; + $220 = ((($219)) + 8|0); + $221 = HEAP32[$220>>2]|0; + $222 = ($221|0)!=(0|0); + if (!($222)) { + $248 = HEAP32[$1>>2]|0; + $249 = ((($248)) + 450|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = HEAP32[$0>>2]|0; + $253 = ((($252)) + 88|0); + $254 = $251&65535; + $255 = HEAP16[$253>>1]|0; + $256 = $254 & 3; + $257 = $255 & -4; + $258 = $257 | $256; + HEAP16[$253>>1] = $258; + $259 = HEAP32[$0>>2]|0; + _sqlite3VdbeRewind($259); + STACKTOP = sp;return; + } + $223 = HEAP32[$0>>2]|0; + $224 = ((($223)) + 8|0); + $225 = HEAP32[$224>>2]|0; + $226 = ((($225)) + -40|0); + HEAP32[$224>>2] = $226; + $227 = HEAP32[$nMem>>2]|0; + $228 = HEAP32[$0>>2]|0; + $229 = ((($228)) + 28|0); + HEAP32[$229>>2] = $227; + HEAP32[$n>>2] = 1; + while(1) { + $230 = HEAP32[$n>>2]|0; + $231 = HEAP32[$nMem>>2]|0; + $232 = ($230|0)<=($231|0); + if (!($232)) { + break; } - } while(0); - HEAP32[$0>>2] = 0; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $233 = HEAP32[$n>>2]|0; + $234 = HEAP32[$0>>2]|0; + $235 = ((($234)) + 8|0); + $236 = HEAP32[$235>>2]|0; + $237 = (($236) + (($233*40)|0)|0); + $238 = ((($237)) + 8|0); + HEAP16[$238>>1] = 128; + $239 = HEAP32[$db>>2]|0; + $240 = HEAP32[$n>>2]|0; + $241 = HEAP32[$0>>2]|0; + $242 = ((($241)) + 8|0); + $243 = HEAP32[$242>>2]|0; + $244 = (($243) + (($240*40)|0)|0); + $245 = ((($244)) + 32|0); + HEAP32[$245>>2] = $239; + $246 = HEAP32[$n>>2]|0; + $247 = (($246) + 1)|0; + HEAP32[$n>>2] = $247; + } + $248 = HEAP32[$1>>2]|0; + $249 = ((($248)) + 450|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = HEAP32[$0>>2]|0; + $253 = ((($252)) + 88|0); + $254 = $251&65535; + $255 = HEAP16[$253>>1]|0; + $256 = $254 & 3; + $257 = $255 & -4; + $258 = $257 | $256; + HEAP16[$253>>1] = $258; + $259 = HEAP32[$0>>2]|0; + _sqlite3VdbeRewind($259); + STACKTOP = sp;return; } -function _sqlite3InvalidFunction($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; +function _sqlite3ParserReset($pParse) { + $pParse = $pParse|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $zName = sp + 8|0; - $zErr = sp + 4|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $pParse; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + STACKTOP = sp;return; + } $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 24|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$zName>>2] = $7; - $8 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer>>2] = $8; - $9 = (_sqlite3_mprintf(4928,$vararg_buffer)|0); - HEAP32[$zErr>>2] = $9; + $4 = HEAP32[$3>>2]|0; + HEAP32[$db>>2] = $4; + $5 = HEAP32[$db>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 112|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3DbFree($5,$8); + $9 = HEAP32[$db>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$zErr>>2]|0; - _sqlite3_result_error($10,$11,-1); - $12 = HEAP32[$zErr>>2]|0; - _sqlite3_free($12); + $11 = ((($10)) + 316|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3ExprListDelete($9,$12); STACKTOP = sp;return; } -function _sqlite3_wal_autocheckpoint($db,$nFrame) { - $db = $db|0; - $nFrame = $nFrame|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3BtreeData($pCur,$offset,$amt,$pBuf) { + $pCur = $pCur|0; + $offset = $offset|0; + $amt = $amt|0; + $pBuf = $pBuf|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $nFrame; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $4 = HEAP32[$0>>2]|0; - if ($3) { - $5 = HEAP32[$1>>2]|0; - $6 = $5; - (_sqlite3_wal_hook($4,5,$6)|0); - STACKTOP = sp;return 0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pCur; + HEAP32[$2>>2] = $offset; + HEAP32[$3>>2] = $amt; + HEAP32[$4>>2] = $pBuf; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 73|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(0); + if ($9) { + HEAP32[$0>>2] = 4; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 73|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)>=(3); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = (_btreeRestoreCursorPosition($15)|0); + $17 = $16; } else { - (_sqlite3_wal_hook($4,0,0)|0); - STACKTOP = sp;return 0; + $17 = 0; + } + HEAP32[$rc>>2] = $17; + $18 = HEAP32[$rc>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = HEAP32[$4>>2]|0; + $24 = (_accessPayload($20,$21,$22,$23,0)|0); + HEAP32[$rc>>2] = $24; } - return 0|0; + $25 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $25; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); } -function _sqlite3_wal_hook($db,$xCallback,$pArg) { +function _sqlite3ExpirePreparedStatements($db) { $db = $db|0; - $xCallback = $xCallback|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRet = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pRet = sp; + $0 = sp + 4|0; + $p = sp; HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $xCallback; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 216|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pRet>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 212|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 216|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($12|0); -} -function _sqlite3WalDefaultHook($pClientData,$db,$zDb,$nFrame) { - $pClientData = $pClientData|0; - $db = $db|0; - $zDb = $zDb|0; - $nFrame = $nFrame|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pClientData; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zDb; - HEAP32[$3>>2] = $nFrame; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = $5; - $7 = ($4|0)>=($6|0); - if (!($7)) { - STACKTOP = sp;return 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$p>>2] = $3; + while(1) { + $4 = HEAP32[$p>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + break; + } + $6 = HEAP32[$p>>2]|0; + $7 = ((($6)) + 88|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8 & -33; + $10 = $9 | 32; + HEAP16[$7>>1] = $10; + $11 = HEAP32[$p>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$p>>2] = $13; } - _sqlite3BeginBenignMalloc(); - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - (_sqlite3_wal_checkpoint($8,$9)|0); - _sqlite3EndBenignMalloc(); - STACKTOP = sp;return 0; + STACKTOP = sp;return; } -function _sqlite3_wal_checkpoint_v2($db,$zDb,$eMode,$pnLog,$pnCkpt) { - $db = $db|0; - $zDb = $zDb|0; - $eMode = $eMode|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $iDb = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _patternCompare($zPattern,$zString,$pInfo,$esc) { + $zPattern = $zPattern|0; + $zString = $zString|0; + $pInfo = $pInfo|0; + $esc = $esc|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $c2 = 0; + var $cx = 0, $invert = 0, $matchAll = 0, $matchOne = 0, $matchOther = 0, $noCase = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $prior_c = 0, $seen = 0, $zEscaped = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $rc = sp + 8|0; - $iDb = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zDb; - HEAP32[$3>>2] = $eMode; - HEAP32[$4>>2] = $pnLog; - HEAP32[$5>>2] = $pnCkpt; - HEAP32[$iDb>>2] = 10; - $6 = HEAP32[$4>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$4>>2]|0; - HEAP32[$8>>2] = -1; - } - $9 = HEAP32[$5>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$5>>2]|0; - HEAP32[$11>>2] = -1; - } - $12 = HEAP32[$3>>2]|0; - $13 = ($12|0)<(0); - $14 = HEAP32[$3>>2]|0; - $15 = ($14|0)>(2); - $or$cond = $13 | $15; - if ($or$cond) { - HEAP32[$0>>2] = 21; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } - $16 = HEAP32[$2>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$2>>2]|0; - $19 = HEAP8[$18>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (_sqlite3FindDbName($22,$23)|0); - HEAP32[$iDb>>2] = $24; - } - } - $25 = HEAP32[$iDb>>2]|0; - $26 = ($25|0)<(0); - if ($26) { - HEAP32[$rc>>2] = 1; - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorWithMsg($27,1,1672,$vararg_buffer); - } else { - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$iDb>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = HEAP32[$4>>2]|0; - $33 = HEAP32[$5>>2]|0; - $34 = (_sqlite3Checkpoint($29,$30,$31,$32,$33)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$rc>>2]|0; - _sqlite3Error($35,$36); - } - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$rc>>2]|0; - $39 = (_sqlite3ApiExit($37,$38)|0); - HEAP32[$rc>>2] = $39; - $40 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $40; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); -} -function _sqlite3FindDbName($db,$zName) { - $db = $db|0; - $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $pDb = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; + STACKTOP = STACKTOP + 64|0; + $0 = sp; $1 = sp + 12|0; - $i = sp + 8|0; - $pDb = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zName; - HEAP32[$i>>2] = -1; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $31 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($31|0); + $2 = sp + 44|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $c = sp + 40|0; + $c2 = sp + 48|0; + $matchOne = sp + 52|0; + $matchAll = sp + 56|0; + $matchOther = sp + 24|0; + $noCase = sp + 60|0; + $zEscaped = sp + 28|0; + $cx = sp + 20|0; + $prior_c = sp + 8|0; + $seen = sp + 16|0; + $invert = sp + 4|0; + HEAP32[$1>>2] = $zPattern; + HEAP32[$2>>2] = $zString; + HEAP32[$3>>2] = $pInfo; + HEAP32[$4>>2] = $esc; + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 1|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + HEAP32[$matchOne>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + HEAP32[$matchAll>>2] = $11; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 3|0); + $14 = HEAP8[$13>>0]|0; + HEAP8[$noCase>>0] = $14; + HEAP32[$zEscaped>>2] = 0; + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$4>>2]|0; + $22 = $17; + } else { + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 2|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21; } - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - HEAP32[$n>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - 1)|0; - HEAP32[$i>>2] = $9; - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($10<<4)|0); - HEAP32[$pDb>>2] = $14; - while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = ($15|0)>=(0); - if (!($16)) { + HEAP32[$matchOther>>2] = $22; + L5: while(1) { + $23 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c>>2] = $23; + $24 = ($23|0)!=(0); + if (!($24)) { + label = 74; + break; + } + $25 = HEAP32[$c>>2]|0; + $26 = HEAP32[$matchAll>>2]|0; + $27 = ($25|0)==($26|0); + if ($27) { label = 7; break; } - $17 = HEAP32[$n>>2]|0; - $18 = HEAP32[$pDb>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3Strlen30($19)|0); - $21 = ($17|0)==($20|0); - if ($21) { - $22 = HEAP32[$pDb>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = (_sqlite3_stricmp($23,$24)|0); - $26 = (0)==($25|0); - if ($26) { + $123 = HEAP32[$c>>2]|0; + $124 = HEAP32[$matchOther>>2]|0; + $125 = ($123|0)==($124|0); + do { + if ($125) { + $126 = HEAP32[$4>>2]|0; + $127 = ($126|0)!=(0); + if ($127) { + $128 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c>>2] = $128; + $129 = HEAP32[$c>>2]|0; + $130 = ($129|0)==(0); + if ($130) { + label = 43; + break L5; + } + $131 = HEAP32[$1>>2]|0; + HEAP32[$zEscaped>>2] = $131; + break; + } + HEAP32[$prior_c>>2] = 0; + HEAP32[$seen>>2] = 0; + HEAP32[$invert>>2] = 0; + $132 = (_sqlite3Utf8Read($2)|0); + HEAP32[$c>>2] = $132; + $133 = HEAP32[$c>>2]|0; + $134 = ($133|0)==(0); + if ($134) { + label = 46; + break L5; + } + $135 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c2>>2] = $135; + $136 = HEAP32[$c2>>2]|0; + $137 = ($136|0)==(94); + if ($137) { + HEAP32[$invert>>2] = 1; + $138 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c2>>2] = $138; + } + $139 = HEAP32[$c2>>2]|0; + $140 = ($139|0)==(93); + if ($140) { + $141 = HEAP32[$c>>2]|0; + $142 = ($141|0)==(93); + if ($142) { + HEAP32[$seen>>2] = 1; + } + $143 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c2>>2] = $143; + } + while(1) { + $144 = HEAP32[$c2>>2]|0; + $145 = ($144|0)!=(0); + $146 = HEAP32[$c2>>2]|0; + $147 = ($146|0)!=(93); + $148 = $145 ? $147 : 0; + $149 = HEAP32[$c2>>2]|0; + if (!($148)) { + break; + } + $150 = ($149|0)==(45); + if ($150) { + $151 = HEAP32[$1>>2]|0; + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $154 = ($153|0)!=(93); + if ($154) { + $155 = HEAP32[$1>>2]|0; + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = ($157|0)!=(0); + $159 = HEAP32[$prior_c>>2]|0; + $160 = ($159>>>0)>(0); + $or$cond = $158 & $160; + if ($or$cond) { + $161 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c2>>2] = $161; + $162 = HEAP32[$c>>2]|0; + $163 = HEAP32[$prior_c>>2]|0; + $164 = ($162>>>0)>=($163>>>0); + if ($164) { + $165 = HEAP32[$c>>2]|0; + $166 = HEAP32[$c2>>2]|0; + $167 = ($165>>>0)<=($166>>>0); + if ($167) { + HEAP32[$seen>>2] = 1; + } + } + HEAP32[$prior_c>>2] = 0; + } else { + label = 61; + } + } else { + label = 61; + } + } else { + label = 61; + } + if ((label|0) == 61) { + label = 0; + $168 = HEAP32[$c>>2]|0; + $169 = HEAP32[$c2>>2]|0; + $170 = ($168|0)==($169|0); + if ($170) { + HEAP32[$seen>>2] = 1; + } + $171 = HEAP32[$c2>>2]|0; + HEAP32[$prior_c>>2] = $171; + } + $172 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c2>>2] = $172; + } + $173 = ($149|0)==(0); + if ($173) { + label = 67; + break L5; + } + $174 = HEAP32[$seen>>2]|0; + $175 = HEAP32[$invert>>2]|0; + $176 = $174 ^ $175; + $177 = ($176|0)==(0); + if ($177) { + label = 67; + break L5; + } else { + continue L5; + } + } + } while(0); + $178 = (_sqlite3Utf8Read($2)|0); + HEAP32[$c2>>2] = $178; + $179 = HEAP32[$c>>2]|0; + $180 = HEAP32[$c2>>2]|0; + $181 = ($179|0)==($180|0); + if ($181) { + continue; + } + $182 = HEAP8[$noCase>>0]|0; + $183 = $182&255; + $184 = ($183|0)!=(0); + $185 = HEAP32[$c>>2]|0; + $186 = ($185>>>0)<(128); + $or$cond3 = $184 & $186; + $187 = HEAP32[$c2>>2]|0; + $188 = ($187>>>0)<(128); + $or$cond5 = $or$cond3 & $188; + if ($or$cond5) { + $189 = HEAP32[$c>>2]|0; + $190 = $189&255; + $191 = $190&255; + $192 = (13848 + ($191)|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $195 = HEAP32[$c2>>2]|0; + $196 = $195&255; + $197 = $196&255; + $198 = (13848 + ($197)|0); + $199 = HEAP8[$198>>0]|0; + $200 = $199&255; + $201 = ($194|0)==($200|0); + if ($201) { + continue; + } + } + $202 = HEAP32[$c>>2]|0; + $203 = HEAP32[$matchOne>>2]|0; + $204 = ($202|0)==($203|0); + if (!($204)) { + label = 73; + break; + } + $205 = HEAP32[$1>>2]|0; + $206 = HEAP32[$zEscaped>>2]|0; + $207 = ($205|0)!=($206|0); + $208 = HEAP32[$c2>>2]|0; + $209 = ($208|0)!=(0); + $or$cond7 = $207 & $209; + if (!($or$cond7)) { + label = 73; + break; + } + } + if ((label|0) == 7) { + while(1) { + label = 0; + $28 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c>>2] = $28; + $29 = HEAP32[$matchAll>>2]|0; + $30 = ($28|0)==($29|0); + if ($30) { + $216 = 1; + } else { + $31 = HEAP32[$c>>2]|0; + $32 = HEAP32[$matchOne>>2]|0; + $33 = ($31|0)==($32|0); + $216 = $33; + } + $34 = HEAP32[$c>>2]|0; + if (!($216)) { + break; + } + $35 = HEAP32[$matchOne>>2]|0; + $36 = ($34|0)==($35|0); + if (!($36)) { label = 7; + continue; + } + $37 = (_sqlite3Utf8Read($2)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; break; + } else { + label = 7; } } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + -1)|0; - HEAP32[$i>>2] = $28; - $29 = HEAP32[$pDb>>2]|0; - $30 = (($29) + -16|0); - HEAP32[$pDb>>2] = $30; + if ((label|0) == 12) { + HEAP32[$0>>2] = 0; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + $39 = ($34|0)==(0); + if ($39) { + HEAP32[$0>>2] = 1; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + $40 = HEAP32[$c>>2]|0; + $41 = HEAP32[$matchOther>>2]|0; + $42 = ($40|0)==($41|0); + do { + if ($42) { + $43 = HEAP32[$4>>2]|0; + $44 = ($43|0)!=(0); + if ($44) { + $45 = (_sqlite3Utf8Read($1)|0); + HEAP32[$c>>2] = $45; + $46 = HEAP32[$c>>2]|0; + $47 = ($46|0)==(0); + if (!($47)) { + break; + } + HEAP32[$0>>2] = 0; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + L77: while(1) { + $48 = HEAP32[$2>>2]|0; + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + -1|0); + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = HEAP32[$4>>2]|0; + $57 = (_patternCompare($53,$54,$55,$56)|0); + $58 = ($57|0)==(0); + $217 = $58; + } else { + $217 = 0; + } + $59 = HEAP32[$2>>2]|0; + if (!($217)) { + break; + } + $60 = ((($59)) + 1|0); + HEAP32[$2>>2] = $60; + $61 = HEAP8[$59>>0]|0; + $62 = $61&255; + $63 = ($62|0)>=(192); + if (!($63)) { + continue; + } + while(1) { + $64 = HEAP32[$2>>2]|0; + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $66 & 192; + $68 = ($67|0)==(128); + if (!($68)) { + continue L77; + } + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 1|0); + HEAP32[$2>>2] = $70; + } + } + $71 = HEAP8[$59>>0]|0; + $72 = $71&255; + $73 = ($72|0)!=(0); + $74 = $73&1; + HEAP32[$0>>2] = $74; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + } while(0); + $75 = HEAP32[$c>>2]|0; + $76 = ($75>>>0)<=(128); + L89: do { + if ($76) { + $77 = HEAP8[$noCase>>0]|0; + $78 = ($77<<24>>24)!=(0); + $79 = HEAP32[$c>>2]|0; + if ($78) { + $80 = HEAP32[$c>>2]|0; + $81 = $80&255; + $82 = $81&255; + $83 = (14426 + ($82)|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = $85 & 32; + $87 = $86 ^ -1; + $88 = $79 & $87; + HEAP32[$cx>>2] = $88; + $89 = HEAP32[$c>>2]|0; + $90 = $89&255; + $91 = $90&255; + $92 = (13848 + ($91)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + HEAP32[$c>>2] = $94; + } else { + HEAP32[$cx>>2] = $79; + } + while(1) { + $95 = HEAP32[$2>>2]|0; + $96 = ((($95)) + 1|0); + HEAP32[$2>>2] = $96; + $97 = HEAP8[$95>>0]|0; + $98 = $97&255; + HEAP32[$c2>>2] = $98; + $99 = ($98|0)!=(0); + if (!($99)) { + break L89; + } + $100 = HEAP32[$c2>>2]|0; + $101 = HEAP32[$c>>2]|0; + $102 = ($100|0)!=($101|0); + if ($102) { + $103 = HEAP32[$c2>>2]|0; + $104 = HEAP32[$cx>>2]|0; + $105 = ($103|0)!=($104|0); + if ($105) { + continue; + } + } + $106 = HEAP32[$1>>2]|0; + $107 = HEAP32[$2>>2]|0; + $108 = HEAP32[$3>>2]|0; + $109 = HEAP32[$4>>2]|0; + $110 = (_patternCompare($106,$107,$108,$109)|0); + $111 = ($110|0)!=(0); + if ($111) { + break; + } + } + HEAP32[$0>>2] = 1; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } else { + while(1) { + $112 = (_sqlite3Utf8Read($2)|0); + HEAP32[$c2>>2] = $112; + $113 = ($112|0)!=(0); + if (!($113)) { + break L89; + } + $114 = HEAP32[$c2>>2]|0; + $115 = HEAP32[$c>>2]|0; + $116 = ($114|0)!=($115|0); + if ($116) { + continue; + } + $117 = HEAP32[$1>>2]|0; + $118 = HEAP32[$2>>2]|0; + $119 = HEAP32[$3>>2]|0; + $120 = HEAP32[$4>>2]|0; + $121 = (_patternCompare($117,$118,$119,$120)|0); + $122 = ($121|0)!=(0); + if ($122) { + break; + } + } + HEAP32[$0>>2] = 1; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + } while(0); + HEAP32[$0>>2] = 0; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); } - if ((label|0) == 7) { - $31 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($31|0); + else if ((label|0) == 43) { + HEAP32[$0>>2] = 0; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + else if ((label|0) == 46) { + HEAP32[$0>>2] = 0; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + else if ((label|0) == 67) { + HEAP32[$0>>2] = 0; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + else if ((label|0) == 73) { + HEAP32[$0>>2] = 0; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); + } + else if ((label|0) == 74) { + $210 = HEAP32[$2>>2]|0; + $211 = HEAP8[$210>>0]|0; + $212 = $211&255; + $213 = ($212|0)==(0); + $214 = $213&1; + HEAP32[$0>>2] = $214; + $215 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($215|0); } - return 0|0; + return (0)|0; } -function _sqlite3Checkpoint($db,$iDb,$eMode,$pnLog,$pnCkpt) { +function _sqlite3SafetyCheckOk($db) { $db = $db|0; - $iDb = $iDb|0; - $eMode = $eMode|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bBusy = 0, $i = 0; - var $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $rc = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $magic = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $rc = sp + 8|0; - $i = sp + 4|0; - $bBusy = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $iDb; - HEAP32[$2>>2] = $eMode; - HEAP32[$3>>2] = $pnLog; - HEAP32[$4>>2] = $pnCkpt; - HEAP32[$rc>>2] = 0; - HEAP32[$bBusy>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($5|0)<($8|0); - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - $or$cond = $9 & $11; - if (!($or$cond)) { - break; - } - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ($12|0)==($13|0); - $15 = HEAP32[$1>>2]|0; - $16 = ($15|0)==(10); - $or$cond3 = $14 | $16; - if ($or$cond3) { - $17 = HEAP32[$i>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 16|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($17<<4)|0); - $22 = (($21) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = (_sqlite3BtreeCheckpoint($23,$24,$25,$26)|0); - HEAP32[$rc>>2] = $27; - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)==(5); - if ($29) { - HEAP32[$bBusy>>2] = 1; - HEAP32[$rc>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $magic = sp; + HEAP32[$1>>2] = $db; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + do { + if ($3) { + _logBadConnection(30955); + HEAP32[$0>>2] = 0; + } else { + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 76|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$magic>>2] = $6; + $7 = HEAP32[$magic>>2]|0; + $8 = ($7|0)!=(-1607883113); + if (!($8)) { + HEAP32[$0>>2] = 1; + break; + } + $9 = HEAP32[$1>>2]|0; + $10 = (_sqlite3SafetyCheckSickOrOk($9)|0); + $11 = ($10|0)!=(0); + if ($11) { + _logBadConnection(30960); } + HEAP32[$0>>2] = 0; } - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; - } - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$bBusy>>2]|0; - $35 = ($34|0)!=(0); - $or$cond5 = $33 & $35; - $36 = HEAP32[$rc>>2]|0; - $37 = $or$cond5 ? 5 : $36; - STACKTOP = sp;return ($37|0); + } while(0); + $12 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($12|0); } -function _sqlite3_wal_checkpoint($db,$zDb) { +function _sqlite3LockAndPrepare($db,$zSql,$nBytes,$saveSqlFlag,$pOld,$ppStmt,$pzTail) { $db = $db|0; - $zDb = $zDb|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + $zSql = $zSql|0; + $nBytes = $nBytes|0; + $saveSqlFlag = $saveSqlFlag|0; + $pOld = $pOld|0; + $ppStmt = $ppStmt|0; + $pzTail = $pzTail|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zDb; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3_wal_checkpoint_v2($2,$3,0,0,0)|0); - STACKTOP = sp;return ($4|0); + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $5 = sp; + $6 = sp + 12|0; + $7 = sp + 24|0; + $rc = sp + 20|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zSql; + HEAP32[$3>>2] = $nBytes; + HEAP32[$4>>2] = $saveSqlFlag; + HEAP32[$5>>2] = $pOld; + HEAP32[$6>>2] = $ppStmt; + HEAP32[$7>>2] = $pzTail; + $8 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = (_sqlite3SafetyCheckOk($9)|0); + $11 = ($10|0)!=(0); + if (!($11)) { + $12 = (_sqlite3MisuseError(103895)|0); + HEAP32[$0>>2] = $12; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + $13 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnterAll($13); + $14 = HEAP32[$1>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$5>>2]|0; + $19 = HEAP32[$6>>2]|0; + $20 = HEAP32[$7>>2]|0; + $21 = (_sqlite3Prepare($14,$15,$16,$17,$18,$19,$20)|0); + HEAP32[$rc>>2] = $21; + $22 = HEAP32[$rc>>2]|0; + $23 = ($22|0)==(17); + if ($23) { + $24 = HEAP32[$6>>2]|0; + $25 = HEAP32[$24>>2]|0; + (_sqlite3_finalize($25)|0); + $26 = HEAP32[$1>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = HEAP32[$6>>2]|0; + $32 = HEAP32[$7>>2]|0; + $33 = (_sqlite3Prepare($26,$27,$28,$29,$30,$31,$32)|0); + HEAP32[$rc>>2] = $33; + } + $34 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $34; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } function _sqlite3SafetyCheckSickOrOk($db) { $db = $db|0; @@ -23701,7 +22142,7 @@ function _sqlite3SafetyCheckSickOrOk($db) { $magic = sp; HEAP32[$1>>2] = $db; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 76|0); + $3 = ((($2)) + 76|0); $4 = HEAP32[$3>>2]|0; HEAP32[$magic>>2] = $4; $5 = HEAP32[$magic>>2]|0; @@ -23713,7 +22154,7 @@ function _sqlite3SafetyCheckSickOrOk($db) { $10 = ($9|0)!=(-264537850); $or$cond3 = $or$cond & $10; if ($or$cond3) { - _logBadConnection(4872); + _logBadConnection(30796); HEAP32[$0>>2] = 0; $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); @@ -23722,2058 +22163,3452 @@ function _sqlite3SafetyCheckSickOrOk($db) { $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); } - return 0|0; -} -function _sqlite3_errcode($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $db; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3SafetyCheckSickOrOk($4)|0); - $6 = ($5|0)!=(0); - if (!($6)) { - $7 = (_sqlite3MisuseError(126921)|0); - HEAP32[$0>>2] = $7; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } - } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 64|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if (!($14)) { - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 52|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 56|0); - $20 = HEAP32[$19>>2]|0; - $21 = $17 & $20; - HEAP32[$0>>2] = $21; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); - } - } - HEAP32[$0>>2] = 7; - $22 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($22|0); + return (0)|0; } -function _sqlite3_limit($db,$limitId,$newLimit) { +function _createModule($db,$zName,$pModule,$pAux,$xDestroy) { $db = $db|0; - $limitId = $limitId|0; - $newLimit = $newLimit|0; + $zName = $zName|0; + $pModule = $pModule|0; + $pAux = $pAux|0; + $xDestroy = $xDestroy|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $oldLimit = 0, $or$cond = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nName = 0, $or$cond = 0; + var $pDel = 0, $pMod = 0, $rc = 0, $zCopy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp; + $1 = sp + 16|0; + $2 = sp + 28|0; $3 = sp + 4|0; - $oldLimit = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $limitId; - HEAP32[$3>>2] = $newLimit; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)<(0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)>=(12); - $or$cond = $5 | $7; - if ($or$cond) { - HEAP32[$0>>2] = -1; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); - } - $8 = HEAP32[$2>>2]|0; + $4 = sp + 32|0; + $rc = sp + 36|0; + $nName = sp + 12|0; + $pMod = sp + 24|0; + $pDel = sp + 20|0; + $zCopy = sp + 8|0; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zName; + HEAP32[$2>>2] = $pModule; + HEAP32[$3>>2] = $pAux; + HEAP32[$4>>2] = $xDestroy; + HEAP32[$rc>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3Strlen30($5)|0); + HEAP32[$nName>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 308|0); $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 88|0); - $11 = (($10) + ($8<<2)|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$oldLimit>>2] = $12; - $13 = HEAP32[$3>>2]|0; - $14 = ($13|0)>=(0); - if ($14) { - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = (1696 + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)>($18|0); + $10 = (_sqlite3HashFind($8,$9)|0); + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = (_sqlite3MisuseError(112100)|0); + HEAP32[$rc>>2] = $12; + } else { + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$nName>>2]|0; + $15 = (16 + ($14))|0; + $16 = (($15) + 1)|0; + $17 = (_sqlite3DbMallocRaw($13,$16,0)|0); + HEAP32[$pMod>>2] = $17; + $18 = HEAP32[$pMod>>2]|0; + $19 = ($18|0)!=(0|0); if ($19) { - $20 = HEAP32[$2>>2]|0; - $21 = (1696 + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$3>>2] = $22; + $20 = HEAP32[$pMod>>2]|0; + $21 = ((($20)) + 16|0); + HEAP32[$zCopy>>2] = $21; + $22 = HEAP32[$zCopy>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$nName>>2]|0; + $25 = (($24) + 1)|0; + _memcpy(($22|0),($23|0),($25|0))|0; + $26 = HEAP32[$zCopy>>2]|0; + $27 = HEAP32[$pMod>>2]|0; + $28 = ((($27)) + 4|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$pMod>>2]|0; + HEAP32[$30>>2] = $29; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$pMod>>2]|0; + $33 = ((($32)) + 8|0); + HEAP32[$33>>2] = $31; + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$pMod>>2]|0; + $36 = ((($35)) + 12|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 308|0); + $39 = HEAP32[$zCopy>>2]|0; + $40 = HEAP32[$pMod>>2]|0; + $41 = (_sqlite3HashInsert($38,$39,$40)|0); + HEAP32[$pDel>>2] = $41; + $42 = HEAP32[$pDel>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 64|0); + HEAP8[$45>>0] = 1; + $46 = HEAP32[$0>>2]|0; + $47 = HEAP32[$pDel>>2]|0; + _sqlite3DbFree($46,$47); + } } - $23 = HEAP32[$3>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 88|0); - $27 = (($26) + ($24<<2)|0); - HEAP32[$27>>2] = $23; } - $28 = HEAP32[$oldLimit>>2]|0; - HEAP32[$0>>2] = $28; - $29 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($29|0); -} -function _sqlite3_open($zFilename,$ppDb) { - $zFilename = $zFilename|0; - $ppDb = $ppDb|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $zFilename; - HEAP32[$1>>2] = $ppDb; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_openDatabase($2,$3,6,0)|0); - STACKTOP = sp;return ($4|0); + $48 = HEAP32[$0>>2]|0; + $49 = HEAP32[$rc>>2]|0; + $50 = (_sqlite3ApiExit($48,$49)|0); + HEAP32[$rc>>2] = $50; + $51 = HEAP32[$rc>>2]|0; + $52 = ($51|0)!=(0); + $53 = HEAP32[$4>>2]|0; + $54 = ($53|0)!=(0|0); + $or$cond = $52 & $54; + if (!($or$cond)) { + $57 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($57|0); + } + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$3>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + $57 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($57|0); } -function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { - $zFilename = $zFilename|0; - $ppDb = $ppDb|0; - $flags = $flags|0; - $zVfs = $zVfs|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $db = 0, $isThreadsafe = 0, $rc = 0, $vararg_buffer = 0, $zErrMsg = 0, $zOpen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { + $pParse = $pParse|0; + $zSql = $zSql|0; + $pzErrMsg = $pzErrMsg|0; + var $$byval_copy11 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $enableLookaside = 0, $i = 0, $lastTokenParsed = 0, $mxSqlLen = 0, $nErr = 0, $or$cond = 0, $p = 0, $p1 = 0, $pEngine = 0, $tokenType = 0, $vararg_buffer = 0, $vararg_buffer2 = 0; + var $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $db = sp + 20|0; - $rc = sp + 16|0; - $isThreadsafe = sp + 12|0; - $zOpen = sp + 8|0; - $zErrMsg = sp + 4|0; - HEAP32[$1>>2] = $zFilename; - HEAP32[$2>>2] = $ppDb; - HEAP32[$3>>2] = $flags; - HEAP32[$4>>2] = $zVfs; - HEAP32[$zOpen>>2] = 0; - HEAP32[$zErrMsg>>2] = 0; - $5 = HEAP32[$2>>2]|0; - HEAP32[$5>>2] = 0; - $6 = (_sqlite3_initialize()|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $9; - $219 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($219|0); + STACKTOP = STACKTOP + 96|0; + $$byval_copy11 = sp + 40|0; + $vararg_buffer7 = sp + 16|0; + $vararg_buffer4 = sp + 24|0; + $vararg_buffer2 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 32|0; + $1 = sp + 28|0; + $2 = sp + 56|0; + $3 = sp + 84|0; + $nErr = sp + 88|0; + $i = sp + 60|0; + $pEngine = sp + 64|0; + $tokenType = sp + 68|0; + $lastTokenParsed = sp + 72|0; + $enableLookaside = sp + 92|0; + $db = sp + 80|0; + $mxSqlLen = sp + 48|0; + $p = sp + 52|0; + $p1 = sp + 76|0; + HEAP32[$1>>2] = $pParse; + HEAP32[$2>>2] = $zSql; + HEAP32[$3>>2] = $pzErrMsg; + HEAP32[$nErr>>2] = 0; + HEAP32[$lastTokenParsed>>2] = -1; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$db>>2] = $5; + $6 = HEAP32[$db>>2]|0; + $7 = ((($6)) + 88|0); + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$mxSqlLen>>2] = $9; + $10 = HEAP32[$db>>2]|0; + $11 = ((($10)) + 148|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = HEAP32[$db>>2]|0; + $15 = ((($14)) + 240|0); + HEAP32[$15>>2] = 0; } - $10 = HEAP32[$3>>2]|0; - $11 = $10 & 7; - $12 = 1 << $11; - $13 = $12 & 70; - $14 = ($13|0)==(0); - if ($14) { - $15 = (_sqlite3MisuseError(127429)|0); - HEAP32[$0>>2] = $15; - $219 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($219|0); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 12|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 480|0); + HEAP32[$20>>2] = $18; + HEAP32[$i>>2] = 0; + $21 = (_sqlite3ParserAlloc(38)|0); + HEAP32[$pEngine>>2] = $21; + $22 = HEAP32[$pEngine>>2]|0; + $23 = ($22|0)==(0|0); + $24 = HEAP32[$db>>2]|0; + if ($23) { + $25 = ((($24)) + 64|0); + HEAP8[$25>>0] = 1; + HEAP32[$0>>2] = 7; + $285 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($285|0); } - $16 = HEAP32[((38640 + 4|0))>>2]|0; - $17 = ($16|0)==(0); - do { - if ($17) { - HEAP32[$isThreadsafe>>2] = 0; - } else { - $18 = HEAP32[$3>>2]|0; - $19 = $18 & 32768; - $20 = ($19|0)!=(0); - if ($20) { - HEAP32[$isThreadsafe>>2] = 0; - break; - } - $21 = HEAP32[$3>>2]|0; - $22 = $21 & 65536; - $23 = ($22|0)!=(0); - if ($23) { - HEAP32[$isThreadsafe>>2] = 1; - break; + $26 = ((($24)) + 248|0); + $27 = ((($26)) + 2|0); + $28 = HEAP8[$27>>0]|0; + HEAP8[$enableLookaside>>0] = $28; + $29 = HEAP32[$db>>2]|0; + $30 = ((($29)) + 248|0); + $31 = ((($30)) + 28|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$db>>2]|0; + $35 = ((($34)) + 248|0); + $36 = ((($35)) + 2|0); + HEAP8[$36>>0] = 1; + } + L10: while(1) { + $37 = HEAP32[$db>>2]|0; + $38 = ((($37)) + 64|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)!=(0); + if ($40) { + break; + } + $41 = HEAP32[$i>>2]|0; + $42 = HEAP32[$2>>2]|0; + $43 = (($42) + ($41)|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44 << 24 >> 24; + $46 = ($45|0)!=(0); + if (!($46)) { + break; + } + $47 = HEAP32[$i>>2]|0; + $48 = HEAP32[$2>>2]|0; + $49 = (($48) + ($47)|0); + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 504|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$i>>2]|0; + $53 = HEAP32[$2>>2]|0; + $54 = (($53) + ($52)|0); + $55 = (_sqlite3GetToken($54,$tokenType)|0); + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 504|0); + $58 = ((($57)) + 4|0); + HEAP32[$58>>2] = $55; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 504|0); + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$i>>2]|0; + $64 = (($63) + ($62))|0; + HEAP32[$i>>2] = $64; + $65 = HEAP32[$i>>2]|0; + $66 = HEAP32[$mxSqlLen>>2]|0; + $67 = ($65|0)>($66|0); + if ($67) { + label = 10; + break; + } + $70 = HEAP32[$tokenType>>2]|0; + switch ($70|0) { + case 150: { + label = 14; + break L10; + break; + } + case 151: { + $71 = HEAP32[$db>>2]|0; + $72 = ((($71)) + 240|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0); + if ($74) { + label = 13; + break L10; } else { - $24 = HEAP32[((38640 + 8|0))>>2]|0; - HEAP32[$isThreadsafe>>2] = $24; - break; + continue L10; } + break; } - } while(0); - $25 = HEAP32[$3>>2]|0; - $26 = $25 & 262144; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$3>>2]|0; - $29 = $28 & -131073; - HEAP32[$3>>2] = $29; - } else { - $30 = HEAP32[((38640 + 220|0))>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = $32 | 131072; - HEAP32[$3>>2] = $33; + case 1: { + $88 = HEAP32[$i>>2]|0; + $89 = HEAP32[$2>>2]|0; + $90 = (($89) + ($88)|0); + $91 = HEAP32[$1>>2]|0; + $92 = ((($91)) + 480|0); + HEAP32[$92>>2] = $90; + break; + } + default: { + } + } + $93 = HEAP32[$pEngine>>2]|0; + $94 = HEAP32[$tokenType>>2]|0; + $95 = HEAP32[$1>>2]|0; + $96 = ((($95)) + 504|0); + $97 = HEAP32[$1>>2]|0; + ;HEAP32[$$byval_copy11>>2]=HEAP32[$96>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$96+4>>2]|0; + _sqlite3Parser($93,$94,$$byval_copy11,$97); + $98 = HEAP32[$tokenType>>2]|0; + HEAP32[$lastTokenParsed>>2] = $98; + $99 = HEAP32[$1>>2]|0; + $100 = ((($99)) + 12|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + break; } } - $34 = HEAP32[$3>>2]|0; - $35 = $34 & -655129; - HEAP32[$3>>2] = $35; - $36 = (_sqlite3MallocZero(528,0)|0); - HEAP32[$db>>2] = $36; - $37 = HEAP32[$db>>2]|0; - $38 = ($37|0)==(0|0); - do { - if (!($38)) { - $39 = HEAP32[$isThreadsafe>>2]|0; - $40 = ($39|0)!=(0); - if ($40) { - $41 = HEAP32[$db>>2]|0; - $42 = (($41) + 12|0); - HEAP32[$42>>2] = (8); - $43 = HEAP32[$db>>2]|0; - $44 = (($43) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0|0); - if ($46) { - $47 = HEAP32[$db>>2]|0; - _sqlite3_free($47); - HEAP32[$db>>2] = 0; - break; - } - } - $48 = HEAP32[$db>>2]|0; - $49 = (($48) + 56|0); - HEAP32[$49>>2] = 255; - $50 = HEAP32[$db>>2]|0; - $51 = (($50) + 20|0); - HEAP32[$51>>2] = 2; - $52 = HEAP32[$db>>2]|0; - $53 = (($52) + 76|0); - HEAP32[$53>>2] = -264537850; - $54 = HEAP32[$db>>2]|0; - $55 = (($54) + 456|0); - $56 = HEAP32[$db>>2]|0; - $57 = (($56) + 16|0); - HEAP32[$57>>2] = $55; - $58 = HEAP32[$db>>2]|0; - $59 = (($58) + 88|0); - dest=$59+0|0; src=1696+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $60 = HEAP32[$db>>2]|0; - $61 = (($60) + 88|0); - $62 = (($61) + 44|0); - HEAP32[$62>>2] = 0; - $63 = HEAP32[$db>>2]|0; - $64 = (($63) + 62|0); - HEAP8[$64>>0] = 1; - $65 = HEAP32[$db>>2]|0; - $66 = (($65) + 66|0); - HEAP8[$66>>0] = -1; - $67 = ((38640 + 176|0)); - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$db>>2]|0; - $74 = (($73) + 40|0); - $75 = $74; - $76 = $75; - HEAP32[$76>>2] = $69; - $77 = (($75) + 4)|0; - $78 = $77; - HEAP32[$78>>2] = $72; - $79 = HEAP32[$db>>2]|0; - $80 = (($79) + 72|0); - HEAP32[$80>>2] = 0; - $81 = HEAP32[$db>>2]|0; - $82 = (($81) + 136|0); - HEAP32[$82>>2] = 2147483647; - $83 = HEAP32[$db>>2]|0; - $84 = (($83) + 24|0); - $85 = HEAP32[$84>>2]|0; - $86 = $85 | 9437264; - HEAP32[$84>>2] = $86; - $87 = HEAP32[$db>>2]|0; - $88 = (($87) + 428|0); - _sqlite3HashInit($88); - $89 = HEAP32[$db>>2]|0; - $90 = (($89) + 308|0); - _sqlite3HashInit($90); - $91 = HEAP32[$db>>2]|0; - (_createCollation($91,3320,1,0,8,0)|0); - $92 = HEAP32[$db>>2]|0; - (_createCollation($92,3320,3,0,8,0)|0); - $93 = HEAP32[$db>>2]|0; - (_createCollation($93,3320,2,0,8,0)|0); - $94 = HEAP32[$db>>2]|0; - (_createCollation($94,3328,1,(1),8,0)|0); - $95 = HEAP32[$db>>2]|0; - $96 = (($95) + 64|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)!=(0); - if (!($98)) { - $99 = HEAP32[$db>>2]|0; - $100 = (_sqlite3FindCollSeq($99,1,3320,0)|0); - $101 = HEAP32[$db>>2]|0; - $102 = (($101) + 8|0); - HEAP32[$102>>2] = $100; - $103 = HEAP32[$db>>2]|0; - (_createCollation($103,3336,1,0,9,0)|0); - $104 = HEAP32[$3>>2]|0; - $105 = HEAP32[$db>>2]|0; - $106 = (($105) + 48|0); - HEAP32[$106>>2] = $104; - $107 = HEAP32[$4>>2]|0; - $108 = HEAP32[$1>>2]|0; - $109 = HEAP32[$db>>2]|0; - $110 = (_sqlite3ParseUri($107,$108,$3,$109,$zOpen,$zErrMsg)|0); - HEAP32[$rc>>2] = $110; - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)!=(0); - if ($112) { - $113 = HEAP32[$rc>>2]|0; - $114 = ($113|0)==(7); - if ($114) { - $115 = HEAP32[$db>>2]|0; - $116 = (($115) + 64|0); - HEAP8[$116>>0] = 1; - } - $117 = HEAP32[$db>>2]|0; - $118 = HEAP32[$rc>>2]|0; - $119 = HEAP32[$zErrMsg>>2]|0; - $120 = ($119|0)!=(0|0); - $121 = $120 ? 1200 : 0; - $122 = HEAP32[$zErrMsg>>2]|0; - HEAP32[$vararg_buffer>>2] = $122; - _sqlite3ErrorWithMsg($117,$118,$121,$vararg_buffer); - $123 = HEAP32[$zErrMsg>>2]|0; - _sqlite3_free($123); - break; - } - $124 = HEAP32[$db>>2]|0; - $125 = HEAP32[$124>>2]|0; - $126 = HEAP32[$zOpen>>2]|0; - $127 = HEAP32[$db>>2]|0; - $128 = HEAP32[$db>>2]|0; - $129 = (($128) + 16|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + 4|0); - $132 = HEAP32[$3>>2]|0; - $133 = $132 | 256; - $134 = (_sqlite3BtreeOpen($125,$126,$127,$131,0,$133)|0); - HEAP32[$rc>>2] = $134; - $135 = HEAP32[$rc>>2]|0; - $136 = ($135|0)!=(0); - if ($136) { - $137 = HEAP32[$rc>>2]|0; - $138 = ($137|0)==(3082); - if ($138) { - HEAP32[$rc>>2] = 7; - } - $139 = HEAP32[$db>>2]|0; - $140 = HEAP32[$rc>>2]|0; - _sqlite3Error($139,$140); - break; - } - $141 = HEAP32[$db>>2]|0; - $142 = (($141) + 16|0); - $143 = HEAP32[$142>>2]|0; - $144 = (($143) + 4|0); - $145 = HEAP32[$144>>2]|0; - _sqlite3BtreeEnter($145); - $146 = HEAP32[$db>>2]|0; - $147 = HEAP32[$db>>2]|0; - $148 = (($147) + 16|0); - $149 = HEAP32[$148>>2]|0; - $150 = (($149) + 4|0); - $151 = HEAP32[$150>>2]|0; - $152 = (_sqlite3SchemaGet($146,$151)|0); - $153 = HEAP32[$db>>2]|0; - $154 = (($153) + 16|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($155) + 12|0); - HEAP32[$156>>2] = $152; - $157 = HEAP32[$db>>2]|0; - $158 = (_sqlite3SchemaGet($157,0)|0); - $159 = HEAP32[$db>>2]|0; - $160 = (($159) + 16|0); - $161 = HEAP32[$160>>2]|0; - $162 = (($161) + 16|0); - $163 = (($162) + 12|0); - HEAP32[$163>>2] = $158; - $164 = HEAP32[$db>>2]|0; - $165 = (($164) + 16|0); - $166 = HEAP32[$165>>2]|0; - HEAP32[$166>>2] = 3344; - $167 = HEAP32[$db>>2]|0; - $168 = (($167) + 16|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($169) + 8|0); - HEAP8[$170>>0] = 3; - $171 = HEAP32[$db>>2]|0; - $172 = (($171) + 16|0); - $173 = HEAP32[$172>>2]|0; - $174 = (($173) + 16|0); - HEAP32[$174>>2] = 1496; - $175 = HEAP32[$db>>2]|0; - $176 = (($175) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = (($177) + 16|0); - $179 = (($178) + 8|0); - HEAP8[$179>>0] = 1; - $180 = HEAP32[$db>>2]|0; - $181 = (($180) + 76|0); - HEAP32[$181>>2] = -1607883113; - $182 = HEAP32[$db>>2]|0; - $183 = (($182) + 64|0); - $184 = HEAP8[$183>>0]|0; - $185 = ($184<<24>>24)!=(0); - if (!($185)) { - $186 = HEAP32[$db>>2]|0; - _sqlite3Error($186,0); - $187 = HEAP32[$db>>2]|0; - _sqlite3RegisterBuiltinFunctions($187); - $188 = HEAP32[$db>>2]|0; - $189 = (_sqlite3_errcode($188)|0); - HEAP32[$rc>>2] = $189; - $190 = HEAP32[$rc>>2]|0; - $191 = ($190|0)==(0); - if ($191) { - $192 = HEAP32[$db>>2]|0; - _sqlite3AutoLoadExtensions($192); - $193 = HEAP32[$db>>2]|0; - $194 = (_sqlite3_errcode($193)|0); - HEAP32[$rc>>2] = $194; - $195 = HEAP32[$rc>>2]|0; - $196 = ($195|0)!=(0); - if ($196) { - break; - } - } - $197 = HEAP32[$rc>>2]|0; - $198 = ($197|0)!=(0); - if ($198) { - $199 = HEAP32[$db>>2]|0; - $200 = HEAP32[$rc>>2]|0; - _sqlite3Error($199,$200); - } - $201 = HEAP32[$db>>2]|0; - $202 = HEAP32[((38640 + 28|0))>>2]|0; - $203 = HEAP32[((38640 + 32|0))>>2]|0; - (_setupLookaside($201,0,$202,$203)|0); - $204 = HEAP32[$db>>2]|0; - (_sqlite3_wal_autocheckpoint($204,1000)|0); - } + if ((label|0) == 10) { + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 12|0); + HEAP32[$69>>2] = 18; + } + else if ((label|0) == 13) { + $75 = HEAP32[$1>>2]|0; + _sqlite3ErrorMsg($75,18084,$vararg_buffer); + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 12|0); + HEAP32[$77>>2] = 9; + } + else if ((label|0) == 14) { + $78 = HEAP32[$db>>2]|0; + $79 = HEAP32[$3>>2]|0; + $80 = HEAP32[$79>>2]|0; + _sqlite3DbFree($78,$80); + $81 = HEAP32[$db>>2]|0; + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 504|0); + HEAP32[$vararg_buffer2>>2] = $83; + $84 = (_sqlite3MPrintf($81,18094,$vararg_buffer2)|0); + $85 = HEAP32[$3>>2]|0; + HEAP32[$85>>2] = $84; + $86 = HEAP32[$nErr>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$nErr>>2] = $87; + } + $103 = HEAP32[$i>>2]|0; + $104 = HEAP32[$2>>2]|0; + $105 = (($104) + ($103)|0); + $106 = HEAP8[$105>>0]|0; + $107 = $106 << 24 >> 24; + $108 = ($107|0)==(0); + $109 = HEAP32[$nErr>>2]|0; + $110 = ($109|0)==(0); + $or$cond = $108 & $110; + if ($or$cond) { + $111 = HEAP32[$1>>2]|0; + $112 = ((($111)) + 12|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + $115 = HEAP32[$lastTokenParsed>>2]|0; + $116 = ($115|0)!=(1); + if ($116) { + $117 = HEAP32[$pEngine>>2]|0; + $118 = HEAP32[$1>>2]|0; + $119 = ((($118)) + 504|0); + $120 = HEAP32[$1>>2]|0; + ;HEAP32[$$byval_copy11>>2]=HEAP32[$119>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$119+4>>2]|0; + _sqlite3Parser($117,1,$$byval_copy11,$120); + $121 = HEAP32[$i>>2]|0; + $122 = HEAP32[$2>>2]|0; + $123 = (($122) + ($121)|0); + $124 = HEAP32[$1>>2]|0; + $125 = ((($124)) + 480|0); + HEAP32[$125>>2] = $123; } - } - } while(0); - $205 = HEAP32[$zOpen>>2]|0; - _sqlite3_free($205); - $206 = HEAP32[$db>>2]|0; - $207 = (_sqlite3_errcode($206)|0); - HEAP32[$rc>>2] = $207; - $208 = HEAP32[$rc>>2]|0; - $209 = ($208|0)==(7); - if ($209) { - $210 = HEAP32[$db>>2]|0; - (_sqlite3_close($210)|0); - HEAP32[$db>>2] = 0; - } else { - $211 = HEAP32[$rc>>2]|0; - $212 = ($211|0)!=(0); - if ($212) { - $213 = HEAP32[$db>>2]|0; - $214 = (($213) + 76|0); - HEAP32[$214>>2] = 1266094736; + $126 = HEAP32[$pEngine>>2]|0; + $127 = HEAP32[$1>>2]|0; + $128 = ((($127)) + 504|0); + $129 = HEAP32[$1>>2]|0; + ;HEAP32[$$byval_copy11>>2]=HEAP32[$128>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$128+4>>2]|0; + _sqlite3Parser($126,0,$$byval_copy11,$129); } } - $215 = HEAP32[$db>>2]|0; - $216 = HEAP32[$2>>2]|0; - HEAP32[$216>>2] = $215; - $217 = HEAP32[$rc>>2]|0; - $218 = (_sqlite3ApiExit(0,$217)|0); - HEAP32[$0>>2] = $218; - $219 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($219|0); -} -function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { - $db = $db|0; - $zName = $zName|0; - $enc = $enc|0; - $pCtx = $pCtx|0; - $xCompare = $xCompare|0; - $xDel = $xDel|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aColl = 0, $enc2 = 0, $j = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pColl = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 48|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $6 = sp + 24|0; - $pColl = sp + 20|0; - $enc2 = sp + 16|0; - $aColl = sp + 12|0; - $j = sp + 8|0; - $p = sp + 4|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zName; - HEAP8[$3>>0] = $enc; - HEAP32[$4>>2] = $pCtx; - HEAP32[$5>>2] = $xCompare; - HEAP32[$6>>2] = $xDel; - $7 = HEAP8[$3>>0]|0; - $8 = $7&255; - HEAP32[$enc2>>2] = $8; - $9 = HEAP32[$enc2>>2]|0; - $10 = ($9|0)==(4); - $11 = HEAP32[$enc2>>2]|0; - $12 = ($11|0)==(8); - $or$cond = $10 | $12; - if ($or$cond) { - $13 = HEAP8[1136>>0]|0; - $14 = $13 << 24 >> 24; - $15 = ($14|0)==(0); - $16 = $15 ? 3 : 2; - HEAP32[$enc2>>2] = $16; + $130 = HEAP32[$pEngine>>2]|0; + _sqlite3ParserFree($130,13); + $131 = HEAP8[$enableLookaside>>0]|0; + $132 = HEAP32[$db>>2]|0; + $133 = ((($132)) + 248|0); + $134 = ((($133)) + 2|0); + HEAP8[$134>>0] = $131; + $135 = HEAP32[$db>>2]|0; + $136 = ((($135)) + 64|0); + $137 = HEAP8[$136>>0]|0; + $138 = ($137<<24>>24)!=(0); + if ($138) { + $139 = HEAP32[$1>>2]|0; + $140 = ((($139)) + 12|0); + HEAP32[$140>>2] = 7; } - $17 = HEAP32[$enc2>>2]|0; - $18 = ($17|0)<(1); - $19 = HEAP32[$enc2>>2]|0; - $20 = ($19|0)>(3); - $or$cond3 = $18 | $20; - if ($or$cond3) { - $21 = (_sqlite3MisuseError(127001)|0); - HEAP32[$0>>2] = $21; - $103 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($103|0); + $141 = HEAP32[$1>>2]|0; + $142 = ((($141)) + 12|0); + $143 = HEAP32[$142>>2]|0; + $144 = ($143|0)!=(0); + if ($144) { + $145 = HEAP32[$1>>2]|0; + $146 = ((($145)) + 12|0); + $147 = HEAP32[$146>>2]|0; + $148 = ($147|0)!=(101); + if ($148) { + $149 = HEAP32[$1>>2]|0; + $150 = ((($149)) + 4|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==(0|0); + if ($152) { + $153 = HEAP32[$1>>2]|0; + $154 = ((($153)) + 4|0); + $155 = HEAP32[$db>>2]|0; + $156 = HEAP32[$1>>2]|0; + $157 = ((($156)) + 12|0); + $158 = HEAP32[$157>>2]|0; + $159 = (_sqlite3ErrStr($158)|0); + HEAP32[$vararg_buffer4>>2] = $159; + _sqlite3SetString($154,$155,14418,$vararg_buffer4); + } + } } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$enc2>>2]|0; - $24 = $23&255; - $25 = HEAP32[$2>>2]|0; - $26 = (_sqlite3FindCollSeq($22,$24,$25,0)|0); - HEAP32[$pColl>>2] = $26; - $27 = HEAP32[$pColl>>2]|0; - $28 = ($27|0)!=(0|0); - L8: do { - if ($28) { - $29 = HEAP32[$pColl>>2]|0; - $30 = (($29) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 148|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0); - $37 = HEAP32[$1>>2]|0; - if ($36) { - _sqlite3ErrorWithMsg($37,5,3248,$vararg_buffer); - HEAP32[$0>>2] = 5; - $103 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($103|0); - } - _sqlite3ExpirePreparedStatements($37); - $38 = HEAP32[$1>>2]|0; - _invalidateCachedKeyInfo($38); - $39 = HEAP32[$pColl>>2]|0; - $40 = (($39) + 4|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 & -9; - $44 = HEAP32[$enc2>>2]|0; - $45 = ($43|0)==($44|0); - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 428|0); - $48 = HEAP32[$2>>2]|0; - $49 = (_sqlite3HashFind($47,$48)|0); - HEAP32[$aColl>>2] = $49; - HEAP32[$j>>2] = 0; - while(1) { - $50 = HEAP32[$j>>2]|0; - $51 = ($50|0)<(3); - if (!($51)) { - break L8; - } - $52 = HEAP32[$j>>2]|0; - $53 = HEAP32[$aColl>>2]|0; - $54 = (($53) + (($52*20)|0)|0); - HEAP32[$p>>2] = $54; - $55 = HEAP32[$p>>2]|0; - $56 = (($55) + 4|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = HEAP32[$pColl>>2]|0; - $60 = (($59) + 4|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($58|0)==($62|0); - if ($63) { - $64 = HEAP32[$p>>2]|0; - $65 = (($64) + 16|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)!=(0|0); - if ($67) { - $68 = HEAP32[$p>>2]|0; - $69 = (($68) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$p>>2]|0; - $72 = (($71) + 8|0); - $73 = HEAP32[$72>>2]|0; - FUNCTION_TABLE_vi[$70 & 31]($73); - } - $74 = HEAP32[$p>>2]|0; - $75 = (($74) + 12|0); - HEAP32[$75>>2] = 0; - } - $76 = HEAP32[$j>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$j>>2] = $77; - } - } + $160 = HEAP32[$1>>2]|0; + $161 = ((($160)) + 4|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)!=(0|0); + if ($163) { + $164 = HEAP32[$1>>2]|0; + $165 = ((($164)) + 4|0); + $166 = HEAP32[$165>>2]|0; + $167 = HEAP32[$3>>2]|0; + HEAP32[$167>>2] = $166; + $168 = HEAP32[$1>>2]|0; + $169 = ((($168)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$3>>2]|0; + $172 = HEAP32[$171>>2]|0; + HEAP32[$vararg_buffer7>>2] = $172; + _sqlite3_log($170,14418,$vararg_buffer7); + $173 = HEAP32[$1>>2]|0; + $174 = ((($173)) + 4|0); + HEAP32[$174>>2] = 0; + $175 = HEAP32[$nErr>>2]|0; + $176 = (($175) + 1)|0; + HEAP32[$nErr>>2] = $176; + } + $177 = HEAP32[$1>>2]|0; + $178 = ((($177)) + 8|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)!=(0|0); + if ($180) { + $181 = HEAP32[$1>>2]|0; + $182 = ((($181)) + 64|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)>(0); + if ($184) { + $185 = HEAP32[$1>>2]|0; + $186 = ((($185)) + 18|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187&255; + $189 = ($188|0)==(0); + if ($189) { + $190 = HEAP32[$1>>2]|0; + $191 = ((($190)) + 8|0); + $192 = HEAP32[$191>>2]|0; + _sqlite3VdbeDelete($192); + $193 = HEAP32[$1>>2]|0; + $194 = ((($193)) + 8|0); + HEAP32[$194>>2] = 0; } } - } while(0); - $78 = HEAP32[$1>>2]|0; - $79 = HEAP32[$enc2>>2]|0; - $80 = $79&255; - $81 = HEAP32[$2>>2]|0; - $82 = (_sqlite3FindCollSeq($78,$80,$81,1)|0); - HEAP32[$pColl>>2] = $82; - $83 = HEAP32[$pColl>>2]|0; - $84 = ($83|0)==(0|0); - if ($84) { - HEAP32[$0>>2] = 7; - $103 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($103|0); - } else { - $85 = HEAP32[$5>>2]|0; - $86 = HEAP32[$pColl>>2]|0; - $87 = (($86) + 12|0); - HEAP32[$87>>2] = $85; - $88 = HEAP32[$4>>2]|0; - $89 = HEAP32[$pColl>>2]|0; - $90 = (($89) + 8|0); - HEAP32[$90>>2] = $88; - $91 = HEAP32[$6>>2]|0; - $92 = HEAP32[$pColl>>2]|0; - $93 = (($92) + 16|0); - HEAP32[$93>>2] = $91; - $94 = HEAP32[$enc2>>2]|0; - $95 = HEAP8[$3>>0]|0; - $96 = $95&255; - $97 = $96 & 8; - $98 = $94 | $97; - $99 = $98&255; - $100 = HEAP32[$pColl>>2]|0; - $101 = (($100) + 4|0); - HEAP8[$101>>0] = $99; - $102 = HEAP32[$1>>2]|0; - _sqlite3Error($102,0); - HEAP32[$0>>2] = 0; - $103 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($103|0); } - return 0|0; -} -function _sqlite3OsSleep($pVfs,$nMicro) { - $pVfs = $pVfs|0; - $nMicro = $nMicro|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $nMicro; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (FUNCTION_TABLE_iii[$4 & 63]($5,$6)|0); - STACKTOP = sp;return ($7|0); -} -function _sqlite3_file_control($db,$zDbName,$op,$pArg) { - $db = $db|0; - $zDbName = $zDbName|0; - $op = $op|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $pBtree = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $rc = sp + 12|0; - $pBtree = sp + 8|0; - $pPager = sp + 4|0; - $fd = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $zDbName; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pArg; - HEAP32[$rc>>2] = 1; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3DbNameToBtree($4,$5)|0); - HEAP32[$pBtree>>2] = $6; - $7 = HEAP32[$pBtree>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + $195 = HEAP32[$1>>2]|0; + $196 = ((($195)) + 18|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $199 = ($198|0)==(0); + if ($199) { + $200 = HEAP32[$db>>2]|0; + $201 = HEAP32[$1>>2]|0; + $202 = ((($201)) + 400|0); + $203 = HEAP32[$202>>2]|0; + _sqlite3DbFree($200,$203); + $204 = HEAP32[$1>>2]|0; + $205 = ((($204)) + 400|0); + HEAP32[$205>>2] = 0; + $206 = HEAP32[$1>>2]|0; + $207 = ((($206)) + 396|0); + HEAP32[$207>>2] = 0; } - $9 = HEAP32[$pBtree>>2]|0; - _sqlite3BtreeEnter($9); - $10 = HEAP32[$pBtree>>2]|0; - $11 = (_sqlite3BtreePager($10)|0); - HEAP32[$pPager>>2] = $11; - $12 = HEAP32[$pPager>>2]|0; - $13 = (_sqlite3PagerFile($12)|0); - HEAP32[$fd>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = ($14|0)==(7); - $16 = HEAP32[$fd>>2]|0; - if ($15) { - $17 = HEAP32[$3>>2]|0; - HEAP32[$17>>2] = $16; - HEAP32[$rc>>2] = 0; - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + $208 = HEAP32[$1>>2]|0; + $209 = ((($208)) + 520|0); + $210 = HEAP32[$209>>2]|0; + _sqlite3_free($210); + $211 = HEAP32[$1>>2]|0; + $212 = ((($211)) + 451|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)!=(0); + if (!($214)) { + $215 = HEAP32[$db>>2]|0; + $216 = HEAP32[$1>>2]|0; + $217 = ((($216)) + 484|0); + $218 = HEAP32[$217>>2]|0; + _sqlite3DeleteTable($215,$218); } - $18 = HEAP32[$16>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$fd>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = (_sqlite3OsFileControl($20,$21,$22)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); - } else { - HEAP32[$rc>>2] = 12; - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + $219 = HEAP32[$1>>2]|0; + $220 = ((($219)) + 449|0); + $221 = HEAP8[$220>>0]|0; + $222 = ($221<<24>>24)!=(0); + if ($222) { + $223 = HEAP32[$db>>2]|0; + $224 = HEAP32[$1>>2]|0; + $225 = ((($224)) + 532|0); + $226 = HEAP32[$225>>2]|0; + _sqlite3WithDelete($223,$226); } - return 0|0; -} -function _sqlite3DbNameToBtree($db,$zDbName) { - $db = $db|0; - $zDbName = $zDbName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $zDbName; - HEAP32[$i>>2] = 0; + $227 = HEAP32[$db>>2]|0; + $228 = HEAP32[$1>>2]|0; + $229 = ((($228)) + 488|0); + $230 = HEAP32[$229>>2]|0; + _sqlite3DeleteTrigger($227,$230); + $231 = HEAP32[$1>>2]|0; + $232 = ((($231)) + 444|0); + $233 = HEAP32[$232>>2]|0; + $234 = (($233) - 1)|0; + HEAP32[$i>>2] = $234; while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<($6|0); - if (!($7)) { - label = 8; + $235 = HEAP32[$i>>2]|0; + $236 = ($235|0)>=(0); + $237 = HEAP32[$db>>2]|0; + if (!($236)) { break; } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($8<<4)|0); - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$2>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - label = 6; - break; - } - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19<<4)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3_stricmp($18,$24)|0); - $26 = ($25|0)==(0); - if ($26) { - label = 6; - break; - } + $238 = HEAP32[$i>>2]|0; + $239 = HEAP32[$1>>2]|0; + $240 = ((($239)) + 472|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + ($238<<2)|0); + $243 = HEAP32[$242>>2]|0; + _sqlite3DbFree($237,$243); + $244 = HEAP32[$i>>2]|0; + $245 = (($244) + -1)|0; + HEAP32[$i>>2] = $245; + } + $246 = HEAP32[$1>>2]|0; + $247 = ((($246)) + 472|0); + $248 = HEAP32[$247>>2]|0; + _sqlite3DbFree($237,$248); + while(1) { + $249 = HEAP32[$1>>2]|0; + $250 = ((($249)) + 404|0); + $251 = HEAP32[$250>>2]|0; + $252 = ($251|0)!=(0|0); + if (!($252)) { + break; } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; + $253 = HEAP32[$1>>2]|0; + $254 = ((($253)) + 404|0); + $255 = HEAP32[$254>>2]|0; + HEAP32[$p>>2] = $255; + $256 = HEAP32[$p>>2]|0; + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[$1>>2]|0; + $259 = ((($258)) + 404|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$db>>2]|0; + $261 = HEAP32[$p>>2]|0; + _sqlite3DbFree($260,$261); } - if ((label|0) == 6) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<4)|0); - $32 = (($31) + 4|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$0>>2] = $33; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + while(1) { + $262 = HEAP32[$1>>2]|0; + $263 = ((($262)) + 524|0); + $264 = HEAP32[$263>>2]|0; + $265 = ($264|0)!=(0|0); + if (!($265)) { + break; + } + $266 = HEAP32[$1>>2]|0; + $267 = ((($266)) + 524|0); + $268 = HEAP32[$267>>2]|0; + HEAP32[$p1>>2] = $268; + $269 = HEAP32[$p1>>2]|0; + $270 = ((($269)) + 72|0); + $271 = HEAP32[$270>>2]|0; + $272 = HEAP32[$1>>2]|0; + $273 = ((($272)) + 524|0); + HEAP32[$273>>2] = $271; + $274 = HEAP32[$db>>2]|0; + $275 = HEAP32[$p1>>2]|0; + _sqlite3DeleteTable($274,$275); } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $36 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($36|0); + $276 = HEAP32[$nErr>>2]|0; + $277 = ($276|0)>(0); + if ($277) { + $278 = HEAP32[$1>>2]|0; + $279 = ((($278)) + 12|0); + $280 = HEAP32[$279>>2]|0; + $281 = ($280|0)==(0); + if ($281) { + $282 = HEAP32[$1>>2]|0; + $283 = ((($282)) + 12|0); + HEAP32[$283>>2] = 1; + } } - return 0|0; + $284 = HEAP32[$nErr>>2]|0; + HEAP32[$0>>2] = $284; + $285 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($285|0); } -function _sqlite3OsFileControl($id,$op,$pArg) { - $id = $id|0; - $op = $op|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ValueNew($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 40|0); - $6 = HEAP32[$5>>2]|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3DbMallocZero($1,40,0)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + $10 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($10|0); + } + $5 = HEAP32[$p>>2]|0; + $6 = ((($5)) + 8|0); + HEAP16[$6>>1] = 1; $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = (FUNCTION_TABLE_iiii[$6 & 31]($7,$8,$9)|0); + $8 = HEAP32[$p>>2]|0; + $9 = ((($8)) + 32|0); + HEAP32[$9>>2] = $7; + $10 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($10|0); } -function _sqlite3FaultSim($iTest) { - $iTest = $iTest|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $xCallback = 0, label = 0, sp = 0; +function _sqlite3ValueSetStr($v,$n,$z,$enc,$xDel) { + $v = $v|0; + $n = $n|0; + $z = $z|0; + $enc = $enc|0; + $xDel = $xDel|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $xCallback = sp; - HEAP32[$0>>2] = $iTest; - $1 = HEAP32[((38640 + 260|0))>>2]|0; - HEAP32[$xCallback>>2] = $1; - $2 = HEAP32[$xCallback>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $7 = 0; - STACKTOP = sp;return ($7|0); - } - $4 = HEAP32[$xCallback>>2]|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp + 16|0; + $4 = sp; + HEAP32[$0>>2] = $v; + HEAP32[$1>>2] = $n; + HEAP32[$2>>2] = $z; + HEAP8[$3>>0] = $enc; + HEAP32[$4>>2] = $xDel; $5 = HEAP32[$0>>2]|0; - $6 = (FUNCTION_TABLE_ii[$4 & 31]($5)|0); - $7 = $6; - STACKTOP = sp;return ($7|0); + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP8[$3>>0]|0; + $11 = HEAP32[$4>>2]|0; + (_sqlite3VdbeMemSetStr($7,$8,$9,$10,$11)|0); + STACKTOP = sp;return; } -function _sqlite3BtreeSetPageSize($p,$pageSize,$nReserve,$iFix) { - $p = $p|0; - $pageSize = $pageSize|0; - $nReserve = $nReserve|0; - $iFix = $iFix|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3ValueFree($v) { + $v = $v|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pageSize; - HEAP32[$3>>2] = $nReserve; - HEAP32[$4>>2] = $iFix; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - $8 = HEAP32[$1>>2]|0; - _sqlite3BtreeEnter($8); - $9 = HEAP32[$pBt>>2]|0; - $10 = (($9) + 22|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12 & 2; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$0>>2] = 8; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } - $15 = HEAP32[$3>>2]|0; - $16 = ($15|0)<(0); - if ($16) { - $17 = HEAP32[$pBt>>2]|0; - $18 = (($17) + 32|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pBt>>2]|0; - $21 = (($20) + 36|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($19) - ($22))|0; - HEAP32[$3>>2] = $23; - } - $24 = HEAP32[$2>>2]|0; - $25 = ($24|0)>=(512); - $26 = HEAP32[$2>>2]|0; - $27 = ($26|0)<=(65536); - $or$cond = $25 & $27; - if ($or$cond) { - $28 = HEAP32[$2>>2]|0; - $29 = (($28) - 1)|0; - $30 = HEAP32[$2>>2]|0; - $31 = $29 & $30; - $32 = ($31|0)==(0); - if ($32) { - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$pBt>>2]|0; - $35 = (($34) + 32|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$pBt>>2]|0; - _freeTempSpace($36); - } - } - $37 = HEAP32[$pBt>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$pBt>>2]|0; - $40 = (($39) + 32|0); - $41 = HEAP32[$3>>2]|0; - $42 = (_sqlite3PagerSetPagesize($38,$40,$41)|0); - HEAP32[$rc>>2] = $42; - $43 = HEAP32[$pBt>>2]|0; - $44 = (($43) + 32|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$3>>2]|0; - $47 = $46&65535; - $48 = $47&65535; - $49 = (($45) - ($48))|0; - $50 = HEAP32[$pBt>>2]|0; - $51 = (($50) + 36|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$4>>2]|0; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP32[$pBt>>2]|0; - $55 = (($54) + 22|0); - $56 = HEAP16[$55>>1]|0; - $57 = $56&65535; - $58 = $57 | 2; - $59 = $58&65535; - HEAP16[$55>>1] = $59; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $v; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + STACKTOP = sp;return; } - $60 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $60; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $3 = HEAP32[$0>>2]|0; + _sqlite3VdbeMemRelease($3); + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 32|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$0>>2]|0; + _sqlite3DbFree($6,$7); + STACKTOP = sp;return; } -function _sqlite3KeywordCode($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3MemSetDefault() { + var $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $n; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_keywordCode($2,$3)|0); - STACKTOP = sp;return ($4|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = 2212; + (_sqlite3_config(4,$vararg_buffer)|0); + STACKTOP = sp;return; } -function _sqlite3ScratchMalloc($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; +function _sqlite3PCacheSetDefault() { + var $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $n; - $1 = HEAP32[$0>>2]|0; - _sqlite3StatusSet(8,$1); - $2 = HEAP32[((136 + 32|0))>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = HEAP32[((38640 + 196|0))>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = ($4|0)>=($5|0); - if ($6) { - $7 = HEAP32[((136 + 28|0))>>2]|0; - HEAP32[$p>>2] = $7; - $8 = HEAP32[((136 + 28|0))>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[((136 + 28|0))>>2] = $9; - $10 = HEAP32[((136 + 32|0))>>2]|0; - $11 = (($10) + -1)|0; - HEAP32[((136 + 32|0))>>2] = $11; - _sqlite3StatusAdd(3,1); - $22 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($22|0); - } - } - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_sqlite3Malloc($12,$14)|0); - HEAP32[$p>>2] = $15; - $16 = HEAP32[38640>>2]|0; - $17 = ($16|0)!=(0); - $18 = HEAP32[$p>>2]|0; - $19 = ($18|0)!=(0|0); - $or$cond = $17 & $19; - if (!($or$cond)) { - $22 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($22|0); - } - $20 = HEAP32[$p>>2]|0; - $21 = (_sqlite3MallocSize($20)|0); - _sqlite3StatusAdd(4,$21); - $22 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($22|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = 2160; + (_sqlite3_config(18,$vararg_buffer)|0); + STACKTOP = sp;return; } -function _sqlite3ScratchFree($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iSize = 0, $pSlot = 0, label = 0, sp = 0; +function _sqlite3PagerShrink($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pSlot = sp + 4|0; - $iSize = sp; - HEAP32[$0>>2] = $p; + $0 = sp; + HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[((38640 + 192|0))>>2]|0; - $5 = ($3>>>0)>=($4>>>0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[((136 + 24|0))>>2]|0; - $8 = ($6>>>0)<($7>>>0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - HEAP32[$pSlot>>2] = $9; - $10 = HEAP32[((136 + 28|0))>>2]|0; - $11 = HEAP32[$pSlot>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$pSlot>>2]|0; - HEAP32[((136 + 28|0))>>2] = $12; - $13 = HEAP32[((136 + 32|0))>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[((136 + 32|0))>>2] = $14; - _sqlite3StatusAdd(3,-1); - STACKTOP = sp;return; - } - } - $15 = HEAP32[38640>>2]|0; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = (_sqlite3MallocSize($17)|0); - HEAP32[$iSize>>2] = $18; - $19 = HEAP32[$iSize>>2]|0; - $20 = (0 - ($19))|0; - _sqlite3StatusAdd(4,$20); - $21 = HEAP32[$iSize>>2]|0; - $22 = (0 - ($21))|0; - _sqlite3StatusAdd(0,$22); - _sqlite3StatusAdd(9,-1); - $23 = HEAP32[((38640 + 40|0))>>2]|0; - $24 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$23 & 31]($24); - STACKTOP = sp;return; - } else { - $25 = HEAP32[((38640 + 40|0))>>2]|0; - $26 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$25 & 31]($26); - STACKTOP = sp;return; - } + $2 = ((($1)) + 204|0); + $3 = HEAP32[$2>>2]|0; + _sqlite3PcacheShrink($3); + STACKTOP = sp;return; } -function _sqlite3_uri_parameter($zFilename,$zParam) { - $zFilename = $zFilename|0; - $zParam = $zParam|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0; +function _setupLookaside($db,$pBuf,$sz,$cnt) { + $db = $db|0; + $pBuf = $pBuf|0; + $sz = $sz|0; + $cnt = $cnt|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $or$cond = 0, $p = 0, $pStart = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $x = sp; - HEAP32[$1>>2] = $zFilename; - HEAP32[$2>>2] = $zParam; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); - } + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $pStart = sp; + $i = sp + 12|0; + $p = sp + 24|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $pBuf; + HEAP32[$3>>2] = $sz; + HEAP32[$4>>2] = $cnt; $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3Strlen30($5)|0); - $7 = (($6) + 1)|0; - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + ($7)|0); - HEAP32[$1>>2] = $9; - while(1) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)!=(0); - if (!($12)) { - label = 8; - break; - } - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (_strcmp($13,$14)|0); - HEAP32[$x>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = (_sqlite3Strlen30($16)|0); - $18 = (($17) + 1)|0; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + ($18)|0); - HEAP32[$1>>2] = $20; - $21 = HEAP32[$x>>2]|0; - $22 = ($21|0)==(0); - $23 = HEAP32[$1>>2]|0; - if ($22) { - label = 6; - break; - } - $24 = (_sqlite3Strlen30($23)|0); - $25 = (($24) + 1)|0; - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + ($25)|0); - HEAP32[$1>>2] = $27; + $6 = ((($5)) + 248|0); + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0); + if ($9) { + HEAP32[$0>>2] = 5; + $104 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($104|0); } - if ((label|0) == 6) { - HEAP32[$0>>2] = $23; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 248|0); + $12 = ((($11)) + 3|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 248|0); + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3_free($18); } - else if ((label|0) == 8) { - HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $19 = HEAP32[$3>>2]|0; + $20 = $19 & -8; + HEAP32[$3>>2] = $20; + $21 = HEAP32[$3>>2]|0; + $22 = ($21|0)<=(4); + $$ = $22 ? 0 : $20; + HEAP32[$3>>2] = $$; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)<(0); + if ($24) { + HEAP32[$4>>2] = 0; + } + $25 = HEAP32[$3>>2]|0; + $26 = ($25|0)==(0); + $27 = HEAP32[$4>>2]|0; + $28 = ($27|0)==(0); + $or$cond = $26 | $28; + do { + if ($or$cond) { + HEAP32[$3>>2] = 0; + HEAP32[$pStart>>2] = 0; + } else { + $29 = HEAP32[$2>>2]|0; + $30 = ($29|0)==(0|0); + if (!($30)) { + $43 = HEAP32[$2>>2]|0; + HEAP32[$pStart>>2] = $43; + break; + } + _sqlite3BeginBenignMalloc(); + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$4>>2]|0; + $33 = Math_imul($31, $32)|0; + $34 = ($33|0)<(0); + $35 = $34 << 31 >> 31; + $36 = (_sqlite3Malloc($33,$35)|0); + HEAP32[$pStart>>2] = $36; + _sqlite3EndBenignMalloc(); + $37 = HEAP32[$pStart>>2]|0; + $38 = ($37|0)!=(0|0); + if ($38) { + $39 = HEAP32[$pStart>>2]|0; + $40 = (_sqlite3MallocSize($39)|0); + $41 = HEAP32[$3>>2]|0; + $42 = (($40|0) / ($41|0))&-1; + HEAP32[$4>>2] = $42; + } + } + } while(0); + $44 = HEAP32[$pStart>>2]|0; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 248|0); + $47 = ((($46)) + 28|0); + HEAP32[$47>>2] = $44; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 248|0); + $50 = ((($49)) + 24|0); + HEAP32[$50>>2] = 0; + $51 = HEAP32[$3>>2]|0; + $52 = $51&65535; + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 248|0); + HEAP16[$54>>1] = $52; + $55 = HEAP32[$pStart>>2]|0; + $56 = ($55|0)!=(0|0); + if ($56) { + $57 = HEAP32[$pStart>>2]|0; + HEAP32[$p>>2] = $57; + $58 = HEAP32[$4>>2]|0; + $59 = (($58) - 1)|0; + HEAP32[$i>>2] = $59; + while(1) { + $60 = HEAP32[$i>>2]|0; + $61 = ($60|0)>=(0); + if (!($61)) { + break; + } + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 248|0); + $64 = ((($63)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$p>>2]|0; + HEAP32[$66>>2] = $65; + $67 = HEAP32[$p>>2]|0; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 248|0); + $70 = ((($69)) + 24|0); + HEAP32[$70>>2] = $67; + $71 = HEAP32[$3>>2]|0; + $72 = HEAP32[$p>>2]|0; + $73 = (($72) + ($71)|0); + HEAP32[$p>>2] = $73; + $74 = HEAP32[$i>>2]|0; + $75 = (($74) + -1)|0; + HEAP32[$i>>2] = $75; + } + $76 = HEAP32[$p>>2]|0; + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 248|0); + $79 = ((($78)) + 32|0); + HEAP32[$79>>2] = $76; + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 248|0); + $82 = ((($81)) + 2|0); + HEAP8[$82>>0] = 1; + $83 = HEAP32[$2>>2]|0; + $84 = ($83|0)==(0|0); + $85 = $84 ? 1 : 0; + $86 = $85&255; + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 248|0); + $89 = ((($88)) + 3|0); + HEAP8[$89>>0] = $86; + } else { + $90 = HEAP32[$1>>2]|0; + $91 = HEAP32[$1>>2]|0; + $92 = ((($91)) + 248|0); + $93 = ((($92)) + 28|0); + HEAP32[$93>>2] = $90; + $94 = HEAP32[$1>>2]|0; + $95 = HEAP32[$1>>2]|0; + $96 = ((($95)) + 248|0); + $97 = ((($96)) + 32|0); + HEAP32[$97>>2] = $94; + $98 = HEAP32[$1>>2]|0; + $99 = ((($98)) + 248|0); + $100 = ((($99)) + 2|0); + HEAP8[$100>>0] = 0; + $101 = HEAP32[$1>>2]|0; + $102 = ((($101)) + 248|0); + $103 = ((($102)) + 3|0); + HEAP8[$103>>0] = 0; } - return 0|0; + HEAP32[$0>>2] = 0; + $104 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($104|0); } -function _sqlite3_uri_boolean($zFilename,$zParam,$bDflt) { - $zFilename = $zFilename|0; - $zParam = $zParam|0; - $bDflt = $bDflt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0; - var sp = 0; +function _sqlite3Close($db,$forceZombie) { + $db = $db|0; + $forceZombie = $forceZombie|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $zFilename; - HEAP32[$1>>2] = $zParam; - HEAP32[$2>>2] = $bDflt; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3_uri_parameter($3,$4)|0); - HEAP32[$z>>2] = $5; - $6 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $forceZombie; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + HEAP32[$0>>2] = 0; + $20 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($20|0); + } + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); $7 = ($6|0)!=(0); - $8 = $7&1; - HEAP32[$2>>2] = $8; - $9 = HEAP32[$z>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$z>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = $12&255; - $14 = (_sqlite3GetBoolean($11,$13)|0); - $15 = $14&255; - $17 = $15; - STACKTOP = sp;return ($17|0); - } else { - $16 = HEAP32[$2>>2]|0; - $17 = $16; - STACKTOP = sp;return ($17|0); + if (!($7)) { + $8 = (_sqlite3MisuseError(125804)|0); + HEAP32[$0>>2] = $8; + $20 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($20|0); + } + $9 = HEAP32[$1>>2]|0; + _disconnectAllVtab($9); + $10 = HEAP32[$1>>2]|0; + (_sqlite3VtabRollback($10)|0); + $11 = HEAP32[$2>>2]|0; + $12 = ($11|0)!=(0); + if (!($12)) { + $13 = HEAP32[$1>>2]|0; + $14 = (_connectionIsBusy($13)|0); + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$1>>2]|0; + _sqlite3ErrorWithMsg($16,5,17942,$vararg_buffer); + HEAP32[$0>>2] = 5; + $20 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($20|0); + } } - return 0|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 76|0); + HEAP32[$18>>2] = 1691352191; + $19 = HEAP32[$1>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($19); + HEAP32[$0>>2] = 0; + $20 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($20|0); } -function _sqlite3GetBoolean($z,$dflt) { - $z = $z|0; - $dflt = $dflt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqliteDefaultBusyCallback($ptr,$count) { + $ptr = $ptr|0; + $count = $count|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $timeout = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 4|0; - HEAP32[$0>>2] = $z; - HEAP8[$1>>0] = $dflt; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP8[$1>>0]|0; - $4 = (_getSafetyLevel($2,1,$3)|0); - $5 = $4&255; - $6 = ($5|0)!=(0); - $7 = $6&1; - $8 = $7&255; - STACKTOP = sp;return ($8|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $db = sp + 4|0; + $timeout = sp; + HEAP32[$1>>2] = $ptr; + HEAP32[$2>>2] = $count; + $3 = HEAP32[$1>>2]|0; + HEAP32[$db>>2] = $3; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 492|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$timeout>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = (($7) + 1)|0; + $9 = ($8*1000)|0; + $10 = HEAP32[$timeout>>2]|0; + $11 = ($9|0)>($10|0); + if ($11) { + HEAP32[$0>>2] = 0; + $14 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($14|0); + } else { + $12 = HEAP32[$db>>2]|0; + $13 = HEAP32[$12>>2]|0; + (_sqlite3OsSleep($13,1000000)|0); + HEAP32[$0>>2] = 1; + $14 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($14|0); + } + return (0)|0; } -function _sqlite3DecOrHexToI64($z,$pOut) { - $z = $z|0; - $pOut = $pOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $i = 0, $k = 0, $u = 0, label = 0, sp = 0; +function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xFunc,$xStep,$xFinal,$pDestructor) { + $db = $db|0; + $zFunctionName = $zFunctionName|0; + $nArg = $nArg|0; + $enc = $enc|0; + $pUserData = $pUserData|0; + $xFunc = $xFunc|0; + $xStep = $xStep|0; + $xFinal = $xFinal|0; + $pDestructor = $pDestructor|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $extraFlags = 0, $nName = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond7$not = 0, $or$cond9 = 0, $p = 0; + var $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $0 = sp + 28|0; + $1 = sp + 4|0; $2 = sp + 16|0; - $u = sp; - $i = sp + 12|0; - $k = sp + 8|0; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $pOut; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(48); + $3 = sp + 32|0; + $4 = sp + 8|0; + $5 = sp + 12|0; + $6 = sp + 24|0; + $7 = sp + 20|0; + $8 = sp + 36|0; + $9 = sp + 40|0; + $p = sp + 44|0; + $nName = sp + 48|0; + $extraFlags = sp + 52|0; + $rc = sp + 56|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zFunctionName; + HEAP32[$3>>2] = $nArg; + HEAP32[$4>>2] = $enc; + HEAP32[$5>>2] = $pUserData; + HEAP32[$6>>2] = $xFunc; + HEAP32[$7>>2] = $xStep; + HEAP32[$8>>2] = $xFinal; + HEAP32[$9>>2] = $pDestructor; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)==(0|0); do { - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)==(120); - if (!($11)) { - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)==(88); - if (!($16)) { + if (!($11)) { + $12 = HEAP32[$6>>2]|0; + $13 = ($12|0)!=(0|0); + if ($13) { + $14 = HEAP32[$8>>2]|0; + $15 = ($14|0)!=(0|0); + $16 = HEAP32[$7>>2]|0; + $17 = ($16|0)!=(0|0); + $or$cond = $15 | $17; + if ($or$cond) { break; } } - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 2|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = (1224 + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $23 & 8; - $25 = ($24|0)!=(0); - if ($25) { - $26 = $u; - $27 = $26; - HEAP32[$27>>2] = 0; - $28 = (($26) + 4)|0; - $29 = $28; - HEAP32[$29>>2] = 0; - HEAP32[$i>>2] = 2; - while(1) { - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + ($30)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33 << 24 >> 24; - $35 = ($34|0)==(48); - $36 = HEAP32[$i>>2]|0; - if (!($35)) { - break; + $18 = HEAP32[$6>>2]|0; + $19 = ($18|0)==(0|0); + $20 = HEAP32[$8>>2]|0; + $21 = ($20|0)!=(0|0); + $or$cond3 = $19 & $21; + $or$cond3$not = $or$cond3 ^ 1; + $22 = HEAP32[$7>>2]|0; + $23 = ($22|0)!=(0|0); + $or$cond5 = $or$cond3$not | $23; + if ($or$cond5) { + $24 = HEAP32[$6>>2]|0; + $25 = ($24|0)!=(0|0); + $26 = HEAP32[$8>>2]|0; + $27 = ($26|0)!=(0|0); + $or$cond7 = $25 | $27; + $or$cond7$not = $or$cond7 ^ 1; + $28 = HEAP32[$7>>2]|0; + $29 = ($28|0)!=(0|0); + $or$cond9 = $or$cond7$not & $29; + $30 = HEAP32[$3>>2]|0; + $31 = ($30|0)<(-1); + $or$cond11 = $or$cond9 | $31; + $32 = HEAP32[$3>>2]|0; + $33 = ($32|0)>(127); + $or$cond13 = $or$cond11 | $33; + if (!($or$cond13)) { + $34 = HEAP32[$2>>2]|0; + $35 = (_sqlite3Strlen30($34)|0); + HEAP32[$nName>>2] = $35; + $36 = (255)<($35|0); + if (!($36)) { + $38 = HEAP32[$4>>2]|0; + $39 = $38 & 2048; + HEAP32[$extraFlags>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = $40 & 7; + HEAP32[$4>>2] = $41; + $42 = HEAP32[$4>>2]|0; + $43 = ($42|0)==(4); + do { + if ($43) { + $44 = HEAP8[920>>0]|0; + $45 = $44 << 24 >> 24; + $46 = ($45|0)==(0); + $47 = $46 ? 3 : 2; + HEAP32[$4>>2] = $47; + } else { + $48 = HEAP32[$4>>2]|0; + $49 = ($48|0)==(5); + if ($49) { + $50 = HEAP32[$1>>2]|0; + $51 = HEAP32[$2>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$extraFlags>>2]|0; + $54 = 1 | $53; + $55 = HEAP32[$5>>2]|0; + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$7>>2]|0; + $58 = HEAP32[$8>>2]|0; + $59 = HEAP32[$9>>2]|0; + $60 = (_sqlite3CreateFunc($50,$51,$52,$54,$55,$56,$57,$58,$59)|0); + HEAP32[$rc>>2] = $60; + $61 = HEAP32[$rc>>2]|0; + $62 = ($61|0)==(0); + if ($62) { + $63 = HEAP32[$1>>2]|0; + $64 = HEAP32[$2>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = HEAP32[$extraFlags>>2]|0; + $67 = 2 | $66; + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$6>>2]|0; + $70 = HEAP32[$7>>2]|0; + $71 = HEAP32[$8>>2]|0; + $72 = HEAP32[$9>>2]|0; + $73 = (_sqlite3CreateFunc($63,$64,$65,$67,$68,$69,$70,$71,$72)|0); + HEAP32[$rc>>2] = $73; + } + $74 = HEAP32[$rc>>2]|0; + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$4>>2] = 3; + break; + } + $76 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $76; + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); + } + } + } while(0); + $77 = HEAP32[$1>>2]|0; + $78 = HEAP32[$2>>2]|0; + $79 = HEAP32[$nName>>2]|0; + $80 = HEAP32[$3>>2]|0; + $81 = HEAP32[$4>>2]|0; + $82 = $81&255; + $83 = (_sqlite3FindFunction($77,$78,$79,$80,$82,0)|0); + HEAP32[$p>>2] = $83; + $84 = HEAP32[$p>>2]|0; + $85 = ($84|0)!=(0|0); + do { + if ($85) { + $86 = HEAP32[$p>>2]|0; + $87 = ((($86)) + 2|0); + $88 = HEAP16[$87>>1]|0; + $89 = $88&65535; + $90 = $89 & 3; + $91 = HEAP32[$4>>2]|0; + $92 = ($90|0)==($91|0); + if ($92) { + $93 = HEAP32[$p>>2]|0; + $94 = HEAP16[$93>>1]|0; + $95 = $94 << 16 >> 16; + $96 = HEAP32[$3>>2]|0; + $97 = ($95|0)==($96|0); + if ($97) { + $98 = HEAP32[$1>>2]|0; + $99 = ((($98)) + 148|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)!=(0); + $102 = HEAP32[$1>>2]|0; + if (!($101)) { + _sqlite3ExpirePreparedStatements($102); + break; + } + _sqlite3ErrorWithMsg($102,5,17879,$vararg_buffer); + HEAP32[$0>>2] = 5; + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); + } + } + } + } while(0); + $103 = HEAP32[$1>>2]|0; + $104 = HEAP32[$2>>2]|0; + $105 = HEAP32[$nName>>2]|0; + $106 = HEAP32[$3>>2]|0; + $107 = HEAP32[$4>>2]|0; + $108 = $107&255; + $109 = (_sqlite3FindFunction($103,$104,$105,$106,$108,1)|0); + HEAP32[$p>>2] = $109; + $110 = HEAP32[$p>>2]|0; + $111 = ($110|0)!=(0|0); + if (!($111)) { + HEAP32[$0>>2] = 7; + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); + } + $112 = HEAP32[$1>>2]|0; + $113 = HEAP32[$p>>2]|0; + _functionDestroy($112,$113); + $114 = HEAP32[$9>>2]|0; + $115 = ($114|0)!=(0|0); + if ($115) { + $116 = HEAP32[$9>>2]|0; + $117 = HEAP32[$116>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$116>>2] = $118; + } + $119 = HEAP32[$9>>2]|0; + $120 = HEAP32[$p>>2]|0; + $121 = ((($120)) + 32|0); + HEAP32[$121>>2] = $119; + $122 = HEAP32[$p>>2]|0; + $123 = ((($122)) + 2|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124&65535; + $126 = $125 & 3; + $127 = HEAP32[$extraFlags>>2]|0; + $128 = $126 | $127; + $129 = $128&65535; + $130 = HEAP32[$p>>2]|0; + $131 = ((($130)) + 2|0); + HEAP16[$131>>1] = $129; + $132 = HEAP32[$6>>2]|0; + $133 = HEAP32[$p>>2]|0; + $134 = ((($133)) + 12|0); + HEAP32[$134>>2] = $132; + $135 = HEAP32[$7>>2]|0; + $136 = HEAP32[$p>>2]|0; + $137 = ((($136)) + 16|0); + HEAP32[$137>>2] = $135; + $138 = HEAP32[$8>>2]|0; + $139 = HEAP32[$p>>2]|0; + $140 = ((($139)) + 20|0); + HEAP32[$140>>2] = $138; + $141 = HEAP32[$5>>2]|0; + $142 = HEAP32[$p>>2]|0; + $143 = ((($142)) + 4|0); + HEAP32[$143>>2] = $141; + $144 = HEAP32[$3>>2]|0; + $145 = $144&65535; + $146 = HEAP32[$p>>2]|0; + HEAP16[$146>>1] = $145; + HEAP32[$0>>2] = 0; + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); } - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; } - HEAP32[$k>>2] = $36; - while(1) { - $38 = HEAP32[$k>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = (($39) + ($38)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = (1224 + ($42)|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = $45 & 8; - $47 = ($46|0)!=(0); - if (!($47)) { + } + } + } while(0); + $37 = (_sqlite3MisuseError(126362)|0); + HEAP32[$0>>2] = $37; + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); +} +function _sqlite3FindFunction($db,$zName,$nName,$nArg,$enc,$createFlag) { + $db = $db|0; + $zName = $zName|0; + $nName = $nName|0; + $nArg = $nArg|0; + $enc = $enc|0; + $createFlag = $createFlag|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0; + var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bestScore = 0, $h = 0, $or$cond = 0, $p = 0, $pBest = 0, $pHash = 0; + var $score = 0, $score1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 24|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 28|0; + $4 = sp + 32|0; + $5 = sp + 48|0; + $6 = sp + 49|0; + $p = sp + 44|0; + $pBest = sp + 20|0; + $bestScore = sp + 12|0; + $h = sp + 4|0; + $score = sp + 36|0; + $pHash = sp; + $score1 = sp + 40|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zName; + HEAP32[$3>>2] = $nName; + HEAP32[$4>>2] = $nArg; + HEAP8[$5>>0] = $enc; + HEAP8[$6>>0] = $createFlag; + HEAP32[$pBest>>2] = 0; + HEAP32[$bestScore>>2] = 0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = (13848 + ($9)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = HEAP32[$3>>2]|0; + $14 = (($12) + ($13))|0; + $15 = (($14|0) % 23)&-1; + HEAP32[$h>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 336|0); + $18 = HEAP32[$h>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = (_functionSearch($17,$18,$19,$20)|0); + HEAP32[$p>>2] = $21; + while(1) { + $22 = HEAP32[$p>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { + break; + } + $24 = HEAP32[$p>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = HEAP8[$5>>0]|0; + $27 = (_matchQuality($24,$25,$26)|0); + HEAP32[$score>>2] = $27; + $28 = HEAP32[$score>>2]|0; + $29 = HEAP32[$bestScore>>2]|0; + $30 = ($28|0)>($29|0); + if ($30) { + $31 = HEAP32[$p>>2]|0; + HEAP32[$pBest>>2] = $31; + $32 = HEAP32[$score>>2]|0; + HEAP32[$bestScore>>2] = $32; + } + $33 = HEAP32[$p>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$p>>2] = $35; + } + $36 = HEAP8[$6>>0]|0; + $37 = ($36<<24>>24)!=(0); + L8: do { + if (!($37)) { + $38 = HEAP32[$pBest>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = $42 & 2097152; + $44 = ($43|0)!=(0); + if (!($44)) { + break; + } + } + HEAP32[$pHash>>2] = 472; + HEAP32[$bestScore>>2] = 0; + $45 = HEAP32[$pHash>>2]|0; + $46 = HEAP32[$h>>2]|0; + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$3>>2]|0; + $49 = (_functionSearch($45,$46,$47,$48)|0); + HEAP32[$p>>2] = $49; + while(1) { + $50 = HEAP32[$p>>2]|0; + $51 = ($50|0)!=(0|0); + if (!($51)) { + break L8; + } + $52 = HEAP32[$p>>2]|0; + $53 = HEAP32[$4>>2]|0; + $54 = HEAP8[$5>>0]|0; + $55 = (_matchQuality($52,$53,$54)|0); + HEAP32[$score1>>2] = $55; + $56 = HEAP32[$score1>>2]|0; + $57 = HEAP32[$bestScore>>2]|0; + $58 = ($56|0)>($57|0); + if ($58) { + $59 = HEAP32[$p>>2]|0; + HEAP32[$pBest>>2] = $59; + $60 = HEAP32[$score1>>2]|0; + HEAP32[$bestScore>>2] = $60; + } + $61 = HEAP32[$p>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$p>>2] = $63; + } + } + } while(0); + $64 = HEAP8[$6>>0]|0; + $65 = $64&255; + $66 = ($65|0)!=(0); + $67 = HEAP32[$bestScore>>2]|0; + $68 = ($67|0)<(6); + $or$cond = $66 & $68; + if ($or$cond) { + $69 = HEAP32[$1>>2]|0; + $70 = HEAP32[$3>>2]|0; + $71 = (36 + ($70))|0; + $72 = (($71) + 1)|0; + $73 = (_sqlite3DbMallocZero($69,$72,0)|0); + HEAP32[$pBest>>2] = $73; + $74 = ($73|0)!=(0|0); + if ($74) { + $75 = HEAP32[$pBest>>2]|0; + $76 = ((($75)) + 36|0); + $77 = HEAP32[$pBest>>2]|0; + $78 = ((($77)) + 24|0); + HEAP32[$78>>2] = $76; + $79 = HEAP32[$4>>2]|0; + $80 = $79&65535; + $81 = HEAP32[$pBest>>2]|0; + HEAP16[$81>>1] = $80; + $82 = HEAP8[$5>>0]|0; + $83 = $82&255; + $84 = HEAP32[$pBest>>2]|0; + $85 = ((($84)) + 2|0); + HEAP16[$85>>1] = $83; + $86 = HEAP32[$pBest>>2]|0; + $87 = ((($86)) + 24|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$2>>2]|0; + $90 = HEAP32[$3>>2]|0; + _memcpy(($88|0),($89|0),($90|0))|0; + $91 = HEAP32[$3>>2]|0; + $92 = HEAP32[$pBest>>2]|0; + $93 = ((($92)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($91)|0); + HEAP8[$95>>0] = 0; + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 336|0); + $98 = HEAP32[$pBest>>2]|0; + _sqlite3FuncDefInsert($97,$98); + } + } + $99 = HEAP32[$pBest>>2]|0; + $100 = ($99|0)!=(0|0); + do { + if ($100) { + $101 = HEAP32[$pBest>>2]|0; + $102 = ((($101)) + 16|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)!=(0|0); + if (!($104)) { + $105 = HEAP32[$pBest>>2]|0; + $106 = ((($105)) + 12|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)!=(0|0); + if (!($108)) { + $109 = HEAP8[$6>>0]|0; + $110 = $109&255; + $111 = ($110|0)!=(0); + if (!($111)) { break; } - $48 = $u; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (___muldi3(($50|0),($53|0),16,0)|0); - $55 = tempRet0; - $56 = HEAP32[$k>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + ($56)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = (_sqlite3HexToInt($60)|0); - $62 = $61&255; - $63 = (_i64Add(($54|0),($55|0),($62|0),0)|0); - $64 = tempRet0; - $65 = $u; - $66 = $65; - HEAP32[$66>>2] = $63; - $67 = (($65) + 4)|0; - $68 = $67; - HEAP32[$68>>2] = $64; - $69 = HEAP32[$k>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$k>>2] = $70; - } - $71 = HEAP32[$2>>2]|0; - ;HEAP32[$71+0>>2]=HEAP32[$u+0>>2]|0;HEAP32[$71+4>>2]=HEAP32[$u+4>>2]|0; - $72 = HEAP32[$k>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = (($73) + ($72)|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75 << 24 >> 24; - $77 = ($76|0)==(0); - if ($77) { - $78 = HEAP32[$k>>2]|0; - $79 = HEAP32[$i>>2]|0; - $80 = (($78) - ($79))|0; - $81 = ($80|0)<=(16); - $83 = $81; - } else { - $83 = 0; } - $82 = $83 ? 0 : 1; - HEAP32[$0>>2] = $82; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); } + $112 = HEAP32[$pBest>>2]|0; + HEAP32[$0>>2] = $112; + $113 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($113|0); } } while(0); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$2>>2]|0; - $86 = HEAP32[$1>>2]|0; - $87 = (_sqlite3Strlen30($86)|0); - $88 = (_sqlite3Atoi64($84,$85,$87,1)|0); - HEAP32[$0>>2] = $88; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); + HEAP32[$0>>2] = 0; + $113 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($113|0); } -function _sqlite3BtreeGetFilename($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3InvalidFunction($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3PagerFilename($4,1)|0); - STACKTOP = sp;return ($5|0); + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $zName = sp + 8|0; + $zErr = sp + 4|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$zName>>2] = $7; + $8 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer>>2] = $8; + $9 = (_sqlite3_mprintf(17764,$vararg_buffer)|0); + HEAP32[$zErr>>2] = $9; + $10 = HEAP32[$0>>2]|0; + $11 = HEAP32[$zErr>>2]|0; + _sqlite3_result_error($10,$11,-1); + $12 = HEAP32[$zErr>>2]|0; + _sqlite3_free($12); + STACKTOP = sp;return; } -function _sqlite3BtreeIsReadonly($p) { - $p = $p|0; +function _sqlite3WalDefaultHook($pClientData,$db,$zDb,$nFrame) { + $pClientData = $pClientData|0; + $db = $db|0; + $zDb = $zDb|0; + $nFrame = $nFrame|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 22|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 1; - $8 = ($7|0)!=(0); - $9 = $8&1; - STACKTOP = sp;return ($9|0); + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$0>>2] = $pClientData; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zDb; + HEAP32[$3>>2] = $nFrame; + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = $5; + $7 = ($4|0)>=($6|0); + if (!($7)) { + STACKTOP = sp;return 0; + } + _sqlite3BeginBenignMalloc(); + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$2>>2]|0; + (_sqlite3_wal_checkpoint($8,$9)|0); + _sqlite3EndBenignMalloc(); + STACKTOP = sp;return 0; } -function _sqlite3PagerFilename($pPager,$nullIfMemDb) { - $pPager = $pPager|0; - $nullIfMemDb = $nullIfMemDb|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3FindDbName($db,$zName) { + $db = $db|0; + $zName = $zName|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $pDb = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $nullIfMemDb; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $i = sp + 8|0; + $pDb = sp + 4|0; + $n = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zName; + HEAP32[$i>>2] = -1; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 15|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)!=(0); - if ($8) { - $12 = 1216; - STACKTOP = sp;return ($12|0); + $3 = ($2|0)!=(0|0); + if (!($3)) { + $31 = HEAP32[$i>>2]|0; + STACKTOP = sp;return ($31|0); + } + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3Strlen30($4)|0); + HEAP32[$n>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - 1)|0; + HEAP32[$i>>2] = $9; + $10 = HEAP32[$i>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($10<<4)|0); + HEAP32[$pDb>>2] = $14; + while(1) { + $15 = HEAP32[$i>>2]|0; + $16 = ($15|0)>=(0); + if (!($16)) { + label = 7; + break; + } + $17 = HEAP32[$n>>2]|0; + $18 = HEAP32[$pDb>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3Strlen30($19)|0); + $21 = ($17|0)==($20|0); + if ($21) { + $22 = HEAP32[$pDb>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$1>>2]|0; + $25 = (_sqlite3_stricmp($23,$24)|0); + $26 = (0)==($25|0); + if ($26) { + label = 7; + break; + } } + $27 = HEAP32[$i>>2]|0; + $28 = (($27) + -1)|0; + HEAP32[$i>>2] = $28; + $29 = HEAP32[$pDb>>2]|0; + $30 = ((($29)) + -16|0); + HEAP32[$pDb>>2] = $30; } - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11; - STACKTOP = sp;return ($12|0); + if ((label|0) == 7) { + $31 = HEAP32[$i>>2]|0; + STACKTOP = sp;return ($31|0); + } + return (0)|0; } -function _sqlite3HexToInt($h) { - $h = $h|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3Checkpoint($db,$iDb,$eMode,$pnLog,$pnCkpt) { + $db = $db|0; + $iDb = $iDb|0; + $eMode = $eMode|0; + $pnLog = $pnLog|0; + $pnCkpt = $pnCkpt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bBusy = 0; + var $i = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $h; - $1 = HEAP32[$0>>2]|0; - $2 = $1 >> 6; - $3 = 1 & $2; - $4 = ($3*9)|0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + ($4))|0; - HEAP32[$0>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 15; - $9 = $8&255; - STACKTOP = sp;return ($9|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $rc = sp; + $i = sp + 12|0; + $bBusy = sp + 24|0; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $iDb; + HEAP32[$2>>2] = $eMode; + HEAP32[$3>>2] = $pnLog; + HEAP32[$4>>2] = $pnCkpt; + HEAP32[$rc>>2] = 0; + HEAP32[$bBusy>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $5 = HEAP32[$i>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); + $10 = HEAP32[$rc>>2]|0; + $11 = ($10|0)==(0); + $12 = $9 ? $11 : 0; + if (!($12)) { + break; + } + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ($13|0)==($14|0); + $16 = HEAP32[$1>>2]|0; + $17 = ($16|0)==(10); + $or$cond = $15 | $17; + if ($or$cond) { + $18 = HEAP32[$i>>2]|0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + ($18<<4)|0); + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = (_sqlite3BtreeCheckpoint($24,$25,$26,$27)|0); + HEAP32[$rc>>2] = $28; + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + $29 = HEAP32[$rc>>2]|0; + $30 = ($29|0)==(5); + if ($30) { + HEAP32[$bBusy>>2] = 1; + HEAP32[$rc>>2] = 0; + } + } + $31 = HEAP32[$i>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$i>>2] = $32; + } + $33 = HEAP32[$rc>>2]|0; + $34 = ($33|0)==(0); + $35 = HEAP32[$bBusy>>2]|0; + $36 = ($35|0)!=(0); + $or$cond3 = $34 & $36; + $37 = HEAP32[$rc>>2]|0; + $38 = $or$cond3 ? 5 : $37; + STACKTOP = sp;return ($38|0); } -function _sqlite3Atoi64($zNum,$pNum,$length,$enc) { - $zNum = $zNum|0; - $pNum = $pNum|0; - $length = $length|0; - $enc = $enc|0; +function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { + $zFilename = $zFilename|0; + $ppDb = $ppDb|0; + $flags = $flags|0; + $zVfs = $zVfs|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $incr = 0, $neg = 0, $nonNum = 0, $or$cond = 0, $or$cond4 = 0; - var $u = 0, $zEnd = 0, $zStart = 0, label = 0, sp = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $isThreadsafe = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, $zErrMsg = 0, $zOpen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 52|0; - $incr = sp + 32|0; - $u = sp; - $neg = sp + 28|0; - $i = sp + 24|0; - $c = sp + 20|0; - $nonNum = sp + 16|0; - $zStart = sp + 12|0; - $zEnd = sp + 8|0; - HEAP32[$1>>2] = $zNum; - HEAP32[$2>>2] = $pNum; - HEAP32[$3>>2] = $length; - HEAP8[$4>>0] = $enc; - $5 = $u; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - HEAP32[$neg>>2] = 0; - HEAP32[$c>>2] = 0; - HEAP32[$nonNum>>2] = 0; - $9 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $db = sp + 12|0; + $rc = sp + 28|0; + $isThreadsafe = sp + 32|0; + $zOpen = sp + 36|0; + $zErrMsg = sp + 40|0; + HEAP32[$1>>2] = $zFilename; + HEAP32[$2>>2] = $ppDb; + HEAP32[$3>>2] = $flags; + HEAP32[$4>>2] = $zVfs; + HEAP32[$zOpen>>2] = 0; + HEAP32[$zErrMsg>>2] = 0; + $5 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = 0; + $6 = (_sqlite3_initialize()|0); + HEAP32[$rc>>2] = $6; + $7 = HEAP32[$rc>>2]|0; + $8 = ($7|0)!=(0); + if ($8) { + $9 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $9; + $227 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($227|0); + } $10 = HEAP32[$3>>2]|0; - $11 = (($9) + ($10)|0); - HEAP32[$zEnd>>2] = $11; - $12 = HEAP8[$4>>0]|0; - $13 = $12&255; - $14 = ($13|0)==(1); + $11 = $10 & 7; + $12 = 1 << $11; + $13 = $12 & 70; + $14 = ($13|0)==(0); if ($14) { - HEAP32[$incr>>2] = 1; - } else { - HEAP32[$incr>>2] = 2; - $15 = HEAP8[$4>>0]|0; - $16 = $15&255; - $17 = (3 - ($16))|0; - HEAP32[$i>>2] = $17; - while(1) { - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$3>>2]|0; - $20 = ($18|0)<($19|0); - if (!($20)) { - break; - } - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + ($21)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24 << 24 >> 24; - $26 = ($25|0)==(0); - if (!($26)) { - break; - } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 2)|0; - HEAP32[$i>>2] = $28; - } - $29 = HEAP32[$i>>2]|0; - $30 = HEAP32[$3>>2]|0; - $31 = ($29|0)<($30|0); - $32 = $31&1; - HEAP32[$nonNum>>2] = $32; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$i>>2]|0; - $35 = (($33) + ($34)|0); - $36 = HEAP8[$4>>0]|0; - $37 = $36&255; - $38 = (($35) + ($37)|0); - $39 = (($38) + -3|0); - HEAP32[$zEnd>>2] = $39; - $40 = HEAP8[$4>>0]|0; - $41 = $40&255; - $42 = $41 & 1; - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + ($42)|0); - HEAP32[$1>>2] = $44; - } - while(1) { - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$zEnd>>2]|0; - $47 = ($45>>>0)<($46>>>0); - if (!($47)) { - break; - } - $48 = HEAP32[$1>>2]|0; - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = (1224 + ($50)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $53 & 1; - $55 = ($54|0)!=(0); - if (!($55)) { - break; - } - $56 = HEAP32[$incr>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + ($56)|0); - HEAP32[$1>>2] = $58; + $15 = (_sqlite3MisuseError(127429)|0); + HEAP32[$0>>2] = $15; + $227 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($227|0); } - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$zEnd>>2]|0; - $61 = ($59>>>0)<($60>>>0); + $16 = HEAP32[(12)>>2]|0; + $17 = ($16|0)==(0); do { - if ($61) { - $62 = HEAP32[$1>>2]|0; - $63 = HEAP8[$62>>0]|0; - $64 = $63 << 24 >> 24; - $65 = ($64|0)==(45); - if ($65) { - HEAP32[$neg>>2] = 1; - $66 = HEAP32[$incr>>2]|0; - $67 = HEAP32[$1>>2]|0; - $68 = (($67) + ($66)|0); - HEAP32[$1>>2] = $68; + if ($17) { + HEAP32[$isThreadsafe>>2] = 0; + } else { + $18 = HEAP32[$3>>2]|0; + $19 = $18 & 32768; + $20 = ($19|0)!=(0); + if ($20) { + HEAP32[$isThreadsafe>>2] = 0; break; } - $69 = HEAP32[$1>>2]|0; - $70 = HEAP8[$69>>0]|0; - $71 = $70 << 24 >> 24; - $72 = ($71|0)==(43); - if ($72) { - $73 = HEAP32[$incr>>2]|0; - $74 = HEAP32[$1>>2]|0; - $75 = (($74) + ($73)|0); - HEAP32[$1>>2] = $75; - } - } - } while(0); - $76 = HEAP32[$1>>2]|0; - HEAP32[$zStart>>2] = $76; - while(1) { - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$zEnd>>2]|0; - $79 = ($77>>>0)<($78>>>0); - if (!($79)) { - break; - } - $80 = HEAP32[$1>>2]|0; - $81 = HEAP8[$80>>0]|0; - $82 = $81 << 24 >> 24; - $83 = ($82|0)==(48); - if (!($83)) { - break; - } - $84 = HEAP32[$incr>>2]|0; - $85 = HEAP32[$1>>2]|0; - $86 = (($85) + ($84)|0); - HEAP32[$1>>2] = $86; - } - HEAP32[$i>>2] = 0; - while(1) { - $87 = HEAP32[$i>>2]|0; - $88 = HEAP32[$1>>2]|0; - $89 = (($88) + ($87)|0); - $90 = HEAP32[$zEnd>>2]|0; - $91 = ($89>>>0)<($90>>>0); - if (!($91)) { - break; - } - $92 = HEAP32[$i>>2]|0; - $93 = HEAP32[$1>>2]|0; - $94 = (($93) + ($92)|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95 << 24 >> 24; - HEAP32[$c>>2] = $96; - $97 = ($96|0)>=(48); - $98 = HEAP32[$c>>2]|0; - $99 = ($98|0)<=(57); - $or$cond = $97 & $99; - if (!($or$cond)) { - break; - } - $100 = $u; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (___muldi3(($102|0),($105|0),10,0)|0); - $107 = tempRet0; - $108 = HEAP32[$c>>2]|0; - $109 = ($108|0)<(0); - $110 = $109 << 31 >> 31; - $111 = (_i64Add(($106|0),($107|0),($108|0),($110|0))|0); - $112 = tempRet0; - $113 = (_i64Subtract(($111|0),($112|0),48,0)|0); - $114 = tempRet0; - $115 = $u; - $116 = $115; - HEAP32[$116>>2] = $113; - $117 = (($115) + 4)|0; - $118 = $117; - HEAP32[$118>>2] = $114; - $119 = HEAP32[$incr>>2]|0; - $120 = HEAP32[$i>>2]|0; - $121 = (($120) + ($119))|0; - HEAP32[$i>>2] = $121; - } - $122 = $u; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = ($127>>>0)>(2147483647); - $129 = ($124>>>0)>(4294967295); - $130 = ($127|0)==(2147483647); - $131 = $130 & $129; - $132 = $128 | $131; - $133 = HEAP32[$neg>>2]|0; - $134 = ($133|0)!=(0); - do { - if ($132) { - $135 = $134 ? 0 : -1; - $136 = $134 ? -2147483648 : 2147483647; - $137 = HEAP32[$2>>2]|0; - $138 = $137; - $139 = $138; - HEAP32[$139>>2] = $135; - $140 = (($138) + 4)|0; - $141 = $140; - HEAP32[$141>>2] = $136; - } else { - $142 = $u; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - if ($134) { - $148 = (_i64Subtract(0,0,($144|0),($147|0))|0); - $149 = tempRet0; - $150 = HEAP32[$2>>2]|0; - $151 = $150; - $152 = $151; - HEAP32[$152>>2] = $148; - $153 = (($151) + 4)|0; - $154 = $153; - HEAP32[$154>>2] = $149; + $21 = HEAP32[$3>>2]|0; + $22 = $21 & 65536; + $23 = ($22|0)!=(0); + if ($23) { + HEAP32[$isThreadsafe>>2] = 1; break; } else { - $155 = HEAP32[$2>>2]|0; - $156 = $155; - $157 = $156; - HEAP32[$157>>2] = $144; - $158 = (($156) + 4)|0; - $159 = $158; - HEAP32[$159>>2] = $147; + $24 = HEAP32[(16)>>2]|0; + HEAP32[$isThreadsafe>>2] = $24; break; } } } while(0); - $160 = HEAP32[$c>>2]|0; - $161 = ($160|0)!=(0); - if ($161) { - $162 = HEAP32[$i>>2]|0; - $163 = HEAP32[$1>>2]|0; - $164 = (($163) + ($162)|0); - $165 = HEAP32[$zEnd>>2]|0; - $166 = ($164>>>0)<($165>>>0); - if (!($166)) { - label = 31; - } + $25 = HEAP32[$3>>2]|0; + $26 = $25 & 262144; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$3>>2]|0; + $29 = $28 & -131073; + HEAP32[$3>>2] = $29; } else { - label = 31; + $30 = HEAP32[(228)>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = $32 | 131072; + HEAP32[$3>>2] = $33; + } } + $34 = HEAP32[$3>>2]|0; + $35 = $34 & -655129; + HEAP32[$3>>2] = $35; + $36 = (_sqlite3MallocZero(528,0)|0); + HEAP32[$db>>2] = $36; + $37 = HEAP32[$db>>2]|0; + $38 = ($37|0)==(0|0); do { - if ((label|0) == 31) { - $167 = HEAP32[$i>>2]|0; - $168 = ($167|0)==(0); - if ($168) { - $169 = HEAP32[$zStart>>2]|0; - $170 = HEAP32[$1>>2]|0; - $171 = ($169|0)==($170|0); - if ($171) { + if (!($38)) { + $39 = HEAP32[$isThreadsafe>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$db>>2]|0; + $42 = ((($41)) + 12|0); + HEAP32[$42>>2] = (8); + $43 = HEAP32[$db>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0|0); + if ($46) { + $47 = HEAP32[$db>>2]|0; + _sqlite3_free($47); + HEAP32[$db>>2] = 0; break; } } - $172 = HEAP32[$i>>2]|0; - $173 = HEAP32[$incr>>2]|0; - $174 = ($173*19)|0; - $175 = ($172|0)>($174|0); - $176 = HEAP32[$nonNum>>2]|0; - $177 = ($176|0)!=(0); - $or$cond4 = $175 | $177; - if (!($or$cond4)) { - $178 = HEAP32[$i>>2]|0; - $179 = HEAP32[$incr>>2]|0; - $180 = ($179*19)|0; - $181 = ($178|0)<($180|0); - if ($181) { - HEAP32[$0>>2] = 0; - $192 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($192|0); + $48 = HEAP32[$db>>2]|0; + $49 = ((($48)) + 56|0); + HEAP32[$49>>2] = 255; + $50 = HEAP32[$db>>2]|0; + $51 = ((($50)) + 20|0); + HEAP32[$51>>2] = 2; + $52 = HEAP32[$db>>2]|0; + $53 = ((($52)) + 76|0); + HEAP32[$53>>2] = -264537850; + $54 = HEAP32[$db>>2]|0; + $55 = ((($54)) + 456|0); + $56 = HEAP32[$db>>2]|0; + $57 = ((($56)) + 16|0); + HEAP32[$57>>2] = $55; + $58 = HEAP32[$db>>2]|0; + $59 = ((($58)) + 88|0); + dest=$59; src=932; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $60 = HEAP32[$db>>2]|0; + $61 = ((($60)) + 88|0); + $62 = ((($61)) + 44|0); + HEAP32[$62>>2] = 0; + $63 = HEAP32[$db>>2]|0; + $64 = ((($63)) + 62|0); + HEAP8[$64>>0] = 1; + $65 = HEAP32[$db>>2]|0; + $66 = ((($65)) + 66|0); + HEAP8[$66>>0] = -1; + $67 = (184); + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$db>>2]|0; + $74 = ((($73)) + 40|0); + $75 = $74; + $76 = $75; + HEAP32[$76>>2] = $69; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $72; + $79 = HEAP32[$db>>2]|0; + $80 = ((($79)) + 72|0); + HEAP32[$80>>2] = 0; + $81 = HEAP32[$db>>2]|0; + $82 = ((($81)) + 136|0); + HEAP32[$82>>2] = 2147483647; + $83 = HEAP32[$db>>2]|0; + $84 = ((($83)) + 24|0); + $85 = HEAP32[$84>>2]|0; + $86 = $85 | 9437264; + HEAP32[$84>>2] = $86; + $87 = HEAP32[$db>>2]|0; + $88 = ((($87)) + 428|0); + _sqlite3HashInit($88); + $89 = HEAP32[$db>>2]|0; + $90 = ((($89)) + 308|0); + _sqlite3HashInit($90); + $91 = HEAP32[$db>>2]|0; + (_createCollation($91,15963,1,0,9,0)|0); + $92 = HEAP32[$db>>2]|0; + (_createCollation($92,15963,3,0,9,0)|0); + $93 = HEAP32[$db>>2]|0; + (_createCollation($93,15963,2,0,9,0)|0); + $94 = HEAP32[$db>>2]|0; + (_createCollation($94,15970,1,(1),9,0)|0); + $95 = HEAP32[$db>>2]|0; + $96 = ((($95)) + 64|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)!=(0); + if (!($98)) { + $99 = HEAP32[$db>>2]|0; + $100 = (_sqlite3FindCollSeq($99,1,15963,0)|0); + $101 = HEAP32[$db>>2]|0; + $102 = ((($101)) + 8|0); + HEAP32[$102>>2] = $100; + $103 = HEAP32[$db>>2]|0; + (_createCollation($103,15976,1,0,10,0)|0); + $104 = HEAP32[$3>>2]|0; + $105 = HEAP32[$db>>2]|0; + $106 = ((($105)) + 48|0); + HEAP32[$106>>2] = $104; + $107 = HEAP32[$4>>2]|0; + $108 = HEAP32[$1>>2]|0; + $109 = HEAP32[$db>>2]|0; + $110 = (_sqlite3ParseUri($107,$108,$3,$109,$zOpen,$zErrMsg)|0); + HEAP32[$rc>>2] = $110; + $111 = HEAP32[$rc>>2]|0; + $112 = ($111|0)!=(0); + if ($112) { + $113 = HEAP32[$rc>>2]|0; + $114 = ($113|0)==(7); + if ($114) { + $115 = HEAP32[$db>>2]|0; + $116 = ((($115)) + 64|0); + HEAP8[$116>>0] = 1; + } + $117 = HEAP32[$db>>2]|0; + $118 = HEAP32[$rc>>2]|0; + $119 = HEAP32[$zErrMsg>>2]|0; + $120 = ($119|0)!=(0|0); + $121 = $120 ? 14418 : 0; + $122 = HEAP32[$zErrMsg>>2]|0; + HEAP32[$vararg_buffer>>2] = $122; + _sqlite3ErrorWithMsg($117,$118,$121,$vararg_buffer); + $123 = HEAP32[$zErrMsg>>2]|0; + _sqlite3_free($123); + break; } - $182 = HEAP32[$1>>2]|0; - $183 = HEAP32[$incr>>2]|0; - $184 = (_compare2pow63($182,$183)|0); - HEAP32[$c>>2] = $184; - $185 = HEAP32[$c>>2]|0; - $186 = ($185|0)<(0); - if ($186) { - HEAP32[$0>>2] = 0; - $192 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($192|0); + $124 = HEAP32[$db>>2]|0; + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$zOpen>>2]|0; + $127 = HEAP32[$db>>2]|0; + $128 = HEAP32[$db>>2]|0; + $129 = ((($128)) + 16|0); + $130 = HEAP32[$129>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$3>>2]|0; + $133 = $132 | 256; + $134 = (_sqlite3BtreeOpen($125,$126,$127,$131,0,$133)|0); + HEAP32[$rc>>2] = $134; + $135 = HEAP32[$rc>>2]|0; + $136 = ($135|0)!=(0); + if ($136) { + $137 = HEAP32[$rc>>2]|0; + $138 = ($137|0)==(3082); + if ($138) { + HEAP32[$rc>>2] = 7; + } + $139 = HEAP32[$db>>2]|0; + $140 = HEAP32[$rc>>2]|0; + _sqlite3Error($139,$140); + break; } - $187 = HEAP32[$c>>2]|0; - $188 = ($187|0)>(0); - if ($188) { - HEAP32[$0>>2] = 1; - $192 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($192|0); - } else { - $189 = HEAP32[$neg>>2]|0; - $190 = ($189|0)!=(0); - $191 = $190 ? 0 : 2; - HEAP32[$0>>2] = $191; - $192 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($192|0); + $141 = HEAP32[$db>>2]|0; + $142 = ((($141)) + 16|0); + $143 = HEAP32[$142>>2]|0; + $144 = ((($143)) + 4|0); + $145 = HEAP32[$144>>2]|0; + _sqlite3BtreeEnter($145); + $146 = HEAP32[$db>>2]|0; + $147 = HEAP32[$db>>2]|0; + $148 = ((($147)) + 16|0); + $149 = HEAP32[$148>>2]|0; + $150 = ((($149)) + 4|0); + $151 = HEAP32[$150>>2]|0; + $152 = (_sqlite3SchemaGet($146,$151)|0); + $153 = HEAP32[$db>>2]|0; + $154 = ((($153)) + 16|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($155)) + 12|0); + HEAP32[$156>>2] = $152; + $157 = HEAP32[$db>>2]|0; + $158 = (_sqlite3SchemaGet($157,0)|0); + $159 = HEAP32[$db>>2]|0; + $160 = ((($159)) + 16|0); + $161 = HEAP32[$160>>2]|0; + $162 = ((($161)) + 16|0); + $163 = ((($162)) + 12|0); + HEAP32[$163>>2] = $158; + $164 = HEAP32[$db>>2]|0; + $165 = ((($164)) + 16|0); + $166 = HEAP32[$165>>2]|0; + HEAP32[$166>>2] = 15983; + $167 = HEAP32[$db>>2]|0; + $168 = ((($167)) + 16|0); + $169 = HEAP32[$168>>2]|0; + $170 = ((($169)) + 8|0); + HEAP8[$170>>0] = 3; + $171 = HEAP32[$db>>2]|0; + $172 = ((($171)) + 16|0); + $173 = HEAP32[$172>>2]|0; + $174 = ((($173)) + 16|0); + HEAP32[$174>>2] = 14695; + $175 = HEAP32[$db>>2]|0; + $176 = ((($175)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($177)) + 16|0); + $179 = ((($178)) + 8|0); + HEAP8[$179>>0] = 1; + $180 = HEAP32[$db>>2]|0; + $181 = ((($180)) + 76|0); + HEAP32[$181>>2] = -1607883113; + $182 = HEAP32[$db>>2]|0; + $183 = ((($182)) + 64|0); + $184 = HEAP8[$183>>0]|0; + $185 = ($184<<24>>24)!=(0); + if (!($185)) { + $186 = HEAP32[$db>>2]|0; + _sqlite3Error($186,0); + $187 = HEAP32[$db>>2]|0; + _sqlite3RegisterBuiltinFunctions($187); + $188 = HEAP32[$db>>2]|0; + $189 = (_sqlite3_errcode($188)|0); + HEAP32[$rc>>2] = $189; + $190 = HEAP32[$rc>>2]|0; + $191 = ($190|0)==(0); + if ($191) { + $192 = HEAP32[$db>>2]|0; + _sqlite3AutoLoadExtensions($192); + $193 = HEAP32[$db>>2]|0; + $194 = (_sqlite3_errcode($193)|0); + HEAP32[$rc>>2] = $194; + $195 = HEAP32[$rc>>2]|0; + $196 = ($195|0)!=(0); + if ($196) { + break; + } + } + $197 = HEAP32[$db>>2]|0; + $198 = ((($197)) + 64|0); + $199 = HEAP8[$198>>0]|0; + $200 = ($199<<24>>24)==(0); + $201 = HEAP32[$rc>>2]|0; + $202 = ($201|0)==(0); + $or$cond = $200 & $202; + if ($or$cond) { + $203 = HEAP32[$db>>2]|0; + $204 = (_sqlite3RtreeInit($203)|0); + HEAP32[$rc>>2] = $204; + } + $205 = HEAP32[$rc>>2]|0; + $206 = ($205|0)!=(0); + if ($206) { + $207 = HEAP32[$db>>2]|0; + $208 = HEAP32[$rc>>2]|0; + _sqlite3Error($207,$208); + } + $209 = HEAP32[$db>>2]|0; + $210 = HEAP32[(36)>>2]|0; + $211 = HEAP32[(40)>>2]|0; + (_setupLookaside($209,0,$210,$211)|0); + $212 = HEAP32[$db>>2]|0; + (_sqlite3_wal_autocheckpoint($212,1000)|0); } } } } while(0); - HEAP32[$0>>2] = 1; - $192 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($192|0); + $213 = HEAP32[$zOpen>>2]|0; + _sqlite3_free($213); + $214 = HEAP32[$db>>2]|0; + $215 = (_sqlite3_errcode($214)|0); + HEAP32[$rc>>2] = $215; + $216 = HEAP32[$rc>>2]|0; + $217 = ($216|0)==(7); + if ($217) { + $218 = HEAP32[$db>>2]|0; + (_sqlite3_close($218)|0); + HEAP32[$db>>2] = 0; + } else { + $219 = HEAP32[$rc>>2]|0; + $220 = ($219|0)!=(0); + if ($220) { + $221 = HEAP32[$db>>2]|0; + $222 = ((($221)) + 76|0); + HEAP32[$222>>2] = 1266094736; + } + } + $223 = HEAP32[$db>>2]|0; + $224 = HEAP32[$2>>2]|0; + HEAP32[$224>>2] = $223; + $225 = HEAP32[$rc>>2]|0; + $226 = (_sqlite3ApiExit(0,$225)|0); + HEAP32[$0>>2] = $226; + $227 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($227|0); } -function _compare2pow63($zNum,$incr) { - $zNum = $zNum|0; - $incr = $incr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $or$cond = 0, $pow63 = 0, label = 0, sp = 0; +function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { + $db = $db|0; + $zName = $zName|0; + $enc = $enc|0; + $pCtx = $pCtx|0; + $xCompare = $xCompare|0; + $xDel = $xDel|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aColl = 0, $enc2 = 0, $j = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pColl = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; $0 = sp + 16|0; - $1 = sp + 12|0; - $c = sp + 8|0; - $i = sp + 4|0; - $pow63 = sp; - HEAP32[$0>>2] = $zNum; - HEAP32[$1>>2] = $incr; - HEAP32[$c>>2] = 0; - HEAP32[$pow63>>2] = 1744; - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)==(0); - $4 = HEAP32[$i>>2]|0; - $5 = ($4|0)<(18); - $or$cond = $3 & $5; - if (!($or$cond)) { - break; - } - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = Math_imul($6, $7)|0; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + ($8)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$pow63>>2]|0; - $15 = (($14) + ($13)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - $18 = (($12) - ($17))|0; - $19 = ($18*10)|0; - HEAP32[$c>>2] = $19; - $20 = HEAP32[$i>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$i>>2] = $21; + $1 = sp + 8|0; + $2 = sp + 20|0; + $3 = sp + 48|0; + $4 = sp + 40|0; + $5 = sp + 4|0; + $6 = sp + 28|0; + $pColl = sp + 32|0; + $enc2 = sp + 12|0; + $aColl = sp + 24|0; + $j = sp + 36|0; + $p = sp + 44|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zName; + HEAP8[$3>>0] = $enc; + HEAP32[$4>>2] = $pCtx; + HEAP32[$5>>2] = $xCompare; + HEAP32[$6>>2] = $xDel; + $7 = HEAP8[$3>>0]|0; + $8 = $7&255; + HEAP32[$enc2>>2] = $8; + $9 = HEAP32[$enc2>>2]|0; + $10 = ($9|0)==(4); + $11 = HEAP32[$enc2>>2]|0; + $12 = ($11|0)==(8); + $or$cond = $10 | $12; + if ($or$cond) { + $13 = HEAP8[920>>0]|0; + $14 = $13 << 24 >> 24; + $15 = ($14|0)==(0); + $16 = $15 ? 3 : 2; + HEAP32[$enc2>>2] = $16; } - $22 = HEAP32[$c>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - $31 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($31|0); + $17 = HEAP32[$enc2>>2]|0; + $18 = ($17|0)<(1); + $19 = HEAP32[$enc2>>2]|0; + $20 = ($19|0)>(3); + $or$cond3 = $18 | $20; + if ($or$cond3) { + $21 = (_sqlite3MisuseError(127001)|0); + HEAP32[$0>>2] = $21; + $103 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($103|0); } - $24 = HEAP32[$1>>2]|0; - $25 = ($24*18)|0; - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + ($25)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = (($29) - 56)|0; - HEAP32[$c>>2] = $30; - $31 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($31|0); + $22 = HEAP32[$1>>2]|0; + $23 = HEAP32[$enc2>>2]|0; + $24 = $23&255; + $25 = HEAP32[$2>>2]|0; + $26 = (_sqlite3FindCollSeq($22,$24,$25,0)|0); + HEAP32[$pColl>>2] = $26; + $27 = HEAP32[$pColl>>2]|0; + $28 = ($27|0)!=(0|0); + L8: do { + if ($28) { + $29 = HEAP32[$pColl>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 148|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0); + $37 = HEAP32[$1>>2]|0; + if ($36) { + _sqlite3ErrorWithMsg($37,5,15895,$vararg_buffer); + HEAP32[$0>>2] = 5; + $103 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($103|0); + } + _sqlite3ExpirePreparedStatements($37); + $38 = HEAP32[$1>>2]|0; + _invalidateCachedKeyInfo($38); + $39 = HEAP32[$pColl>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 & -9; + $44 = HEAP32[$enc2>>2]|0; + $45 = ($43|0)==($44|0); + if ($45) { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 428|0); + $48 = HEAP32[$2>>2]|0; + $49 = (_sqlite3HashFind($47,$48)|0); + HEAP32[$aColl>>2] = $49; + HEAP32[$j>>2] = 0; + while(1) { + $50 = HEAP32[$j>>2]|0; + $51 = ($50|0)<(3); + if (!($51)) { + break L8; + } + $52 = HEAP32[$j>>2]|0; + $53 = HEAP32[$aColl>>2]|0; + $54 = (($53) + (($52*20)|0)|0); + HEAP32[$p>>2] = $54; + $55 = HEAP32[$p>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = HEAP32[$pColl>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($58|0)==($62|0); + if ($63) { + $64 = HEAP32[$p>>2]|0; + $65 = ((($64)) + 16|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)!=(0|0); + if ($67) { + $68 = HEAP32[$p>>2]|0; + $69 = ((($68)) + 16|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$p>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + FUNCTION_TABLE_vi[$70 & 31]($73); + } + $74 = HEAP32[$p>>2]|0; + $75 = ((($74)) + 12|0); + HEAP32[$75>>2] = 0; + } + $76 = HEAP32[$j>>2]|0; + $77 = (($76) + 1)|0; + HEAP32[$j>>2] = $77; + } + } + } + } + } while(0); + $78 = HEAP32[$1>>2]|0; + $79 = HEAP32[$enc2>>2]|0; + $80 = $79&255; + $81 = HEAP32[$2>>2]|0; + $82 = (_sqlite3FindCollSeq($78,$80,$81,1)|0); + HEAP32[$pColl>>2] = $82; + $83 = HEAP32[$pColl>>2]|0; + $84 = ($83|0)==(0|0); + if ($84) { + HEAP32[$0>>2] = 7; + $103 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($103|0); + } else { + $85 = HEAP32[$5>>2]|0; + $86 = HEAP32[$pColl>>2]|0; + $87 = ((($86)) + 12|0); + HEAP32[$87>>2] = $85; + $88 = HEAP32[$4>>2]|0; + $89 = HEAP32[$pColl>>2]|0; + $90 = ((($89)) + 8|0); + HEAP32[$90>>2] = $88; + $91 = HEAP32[$6>>2]|0; + $92 = HEAP32[$pColl>>2]|0; + $93 = ((($92)) + 16|0); + HEAP32[$93>>2] = $91; + $94 = HEAP32[$enc2>>2]|0; + $95 = HEAP8[$3>>0]|0; + $96 = $95&255; + $97 = $96 & 8; + $98 = $94 | $97; + $99 = $98&255; + $100 = HEAP32[$pColl>>2]|0; + $101 = ((($100)) + 4|0); + HEAP8[$101>>0] = $99; + $102 = HEAP32[$1>>2]|0; + _sqlite3Error($102,0); + HEAP32[$0>>2] = 0; + $103 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($103|0); + } + return (0)|0; } -function _getSafetyLevel($z,$omitFull,$dflt) { - $z = $z|0; - $omitFull = $omitFull|0; - $dflt = $dflt|0; +function _sqlite3OsSleep($pVfs,$nMicro) { + $pVfs = $pVfs|0; + $nMicro = $nMicro|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $nMicro; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 60|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = (FUNCTION_TABLE_iii[$4 & 63]($5,$6)|0); + STACKTOP = sp;return ($7|0); +} +function _sqlite3DbNameToBtree($db,$zDbName) { + $db = $db|0; + $zDbName = $zDbName|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i = 0, $n = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 17|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 16|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $omitFull; - HEAP8[$3>>0] = $dflt; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = (1224 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 & 4; - $11 = ($10|0)!=(0); - $12 = HEAP32[$1>>2]|0; - if ($11) { - $13 = (_sqlite3Atoi($12)|0); - $14 = $13&255; - HEAP8[$0>>0] = $14; - $41 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($41|0); - } - $15 = (_sqlite3Strlen30($12)|0); - HEAP32[$n>>2] = $15; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $i = sp; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $zDbName; HEAP32[$i>>2] = 0; while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (7 - ($17))|0; - $19 = ($16|0)<($18|0); - if (!($19)) { - label = 9; + $3 = HEAP32[$i>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($3|0)<($6|0); + if (!($7)) { + label = 8; break; } - $20 = HEAP32[$i>>2]|0; - $21 = (1800 + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = HEAP32[$n>>2]|0; - $25 = ($23|0)==($24|0); - if ($25) { - $26 = HEAP32[$i>>2]|0; - $27 = (1792 + ($26)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (1768 + ($29)|0); - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$n>>2]|0; - $33 = (_sqlite3_strnicmp($30,$31,$32)|0); - $34 = ($33|0)==(0); - if ($34) { - label = 7; + $8 = HEAP32[$i>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($8<<4)|0); + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + label = 6; + break; + } + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$i>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($19<<4)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3_stricmp($18,$24)|0); + $26 = ($25|0)==(0); + if ($26) { + label = 6; break; } } - $38 = HEAP32[$i>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$i>>2] = $39; + $34 = HEAP32[$i>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$i>>2] = $35; } - if ((label|0) == 7) { - $35 = HEAP32[$i>>2]|0; - $36 = (1808 + ($35)|0); - $37 = HEAP8[$36>>0]|0; - HEAP8[$0>>0] = $37; - $41 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($41|0); + if ((label|0) == 6) { + $27 = HEAP32[$i>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + ($27<<4)|0); + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$0>>2] = $33; + $36 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($36|0); } - else if ((label|0) == 9) { - $40 = HEAP8[$3>>0]|0; - HEAP8[$0>>0] = $40; - $41 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($41|0); + else if ((label|0) == 8) { + HEAP32[$0>>2] = 0; + $36 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($36|0); } - return 0|0; + return (0)|0; } -function _sqlite3Atoi($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $x = 0, label = 0, sp = 0; +function _sqlite3OsFileControl($id,$op,$pArg) { + $id = $id|0; + $op = $op|0; + $pArg = $pArg|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $op; + HEAP32[$2>>2] = $pArg; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 40|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = (FUNCTION_TABLE_iiii[$6 & 31]($7,$8,$9)|0); + STACKTOP = sp;return ($10|0); +} +function _sqlite3FaultSim($iTest) { + $iTest = $iTest|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $xCallback = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $x = sp; - HEAP32[$0>>2] = $z; - HEAP32[$x>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if ($2) { - $3 = HEAP32[$0>>2]|0; - (_sqlite3GetInt32($3,$x)|0); + $xCallback = sp; + HEAP32[$0>>2] = $iTest; + $1 = HEAP32[(268)>>2]|0; + HEAP32[$xCallback>>2] = $1; + $2 = HEAP32[$xCallback>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $7 = 0; + STACKTOP = sp;return ($7|0); } - $4 = HEAP32[$x>>2]|0; - STACKTOP = sp;return ($4|0); + $4 = HEAP32[$xCallback>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = (FUNCTION_TABLE_ii[$4 & 31]($5)|0); + $7 = $6; + STACKTOP = sp;return ($7|0); } -function _sqlite3GetInt32($zNum,$pValue) { - $zNum = $zNum|0; - $pValue = $pValue|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $neg = 0, $or$cond = 0; - var $or$cond3 = 0, $u = 0, $v = 0, label = 0, sp = 0; +function _sqlite3BtreeSetPageSize($p,$pageSize,$nReserve,$iFix) { + $p = $p|0; + $pageSize = $pageSize|0; + $nReserve = $nReserve|0; + $iFix = $iFix|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $v = sp; - $i = sp + 20|0; - $c = sp + 16|0; - $neg = sp + 12|0; - $u = sp + 8|0; - HEAP32[$1>>2] = $zNum; - HEAP32[$2>>2] = $pValue; - $3 = $v; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - HEAP32[$neg>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)==(45); - do { - if ($10) { - HEAP32[$neg>>2] = 1; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 1|0); - HEAP32[$1>>2] = $12; - } else { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)==(43); - $17 = HEAP32[$1>>2]|0; - if ($16) { - $18 = (($17) + 1|0); - HEAP32[$1>>2] = $18; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $rc = sp; + $pBt = sp + 12|0; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $pageSize; + HEAP32[$3>>2] = $nReserve; + HEAP32[$4>>2] = $iFix; + HEAP32[$rc>>2] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$pBt>>2] = $7; + $8 = HEAP32[$1>>2]|0; + _sqlite3BtreeEnter($8); + $9 = HEAP32[$pBt>>2]|0; + $10 = ((($9)) + 22|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 & 2; + $14 = ($13|0)!=(0); + if ($14) { + HEAP32[$0>>2] = 8; + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); + } + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)<(0); + if ($16) { + $17 = HEAP32[$pBt>>2]|0; + $18 = ((($17)) + 32|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$pBt>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($19) - ($22))|0; + HEAP32[$3>>2] = $23; + } + $24 = HEAP32[$2>>2]|0; + $25 = ($24|0)>=(512); + $26 = HEAP32[$2>>2]|0; + $27 = ($26|0)<=(65536); + $or$cond = $25 & $27; + if ($or$cond) { + $28 = HEAP32[$2>>2]|0; + $29 = (($28) - 1)|0; + $30 = HEAP32[$2>>2]|0; + $31 = $29 & $30; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$pBt>>2]|0; + $35 = ((($34)) + 32|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$pBt>>2]|0; + _freeTempSpace($36); + } + } + $37 = HEAP32[$pBt>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$pBt>>2]|0; + $40 = ((($39)) + 32|0); + $41 = HEAP32[$3>>2]|0; + $42 = (_sqlite3PagerSetPagesize($38,$40,$41)|0); + HEAP32[$rc>>2] = $42; + $43 = HEAP32[$pBt>>2]|0; + $44 = ((($43)) + 32|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$3>>2]|0; + $47 = $46&65535; + $48 = $47&65535; + $49 = (($45) - ($48))|0; + $50 = HEAP32[$pBt>>2]|0; + $51 = ((($50)) + 36|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$4>>2]|0; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$pBt>>2]|0; + $55 = ((($54)) + 22|0); + $56 = HEAP16[$55>>1]|0; + $57 = $56&65535; + $58 = $57 | 2; + $59 = $58&65535; + HEAP16[$55>>1] = $59; + } + $60 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $60; + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); +} +function _sqlite3KeywordCode($z,$n) { + $z = $z|0; + $n = $n|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $z; + HEAP32[$1>>2] = $n; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_keywordCode($2,$3)|0); + STACKTOP = sp;return ($4|0); +} +function _sqlite3ScratchMalloc($n) { + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $n; + $1 = HEAP32[$0>>2]|0; + _sqlite3StatusSet(8,$1); + $2 = HEAP32[(312)>>2]|0; + $3 = ($2|0)!=(0); + if ($3) { + $4 = HEAP32[(204)>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = ($4|0)>=($5|0); + if ($6) { + $7 = HEAP32[(308)>>2]|0; + HEAP32[$p>>2] = $7; + $8 = HEAP32[(308)>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[(308)>>2] = $9; + $10 = HEAP32[(312)>>2]|0; + $11 = (($10) + -1)|0; + HEAP32[(312)>>2] = $11; + _sqlite3StatusAdd(3,1); + $22 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($22|0); + } + } + $12 = HEAP32[$0>>2]|0; + $13 = ($12|0)<(0); + $14 = $13 << 31 >> 31; + $15 = (_sqlite3Malloc($12,$14)|0); + HEAP32[$p>>2] = $15; + $16 = HEAP32[8>>2]|0; + $17 = ($16|0)!=(0); + $18 = HEAP32[$p>>2]|0; + $19 = ($18|0)!=(0|0); + $or$cond = $17 & $19; + if (!($or$cond)) { + $22 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($22|0); + } + $20 = HEAP32[$p>>2]|0; + $21 = (_sqlite3MallocSize($20)|0); + _sqlite3StatusAdd(4,$21); + $22 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _sqlite3ScratchFree($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iSize = 0, $pSlot = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pSlot = sp + 4|0; + $iSize = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + STACKTOP = sp;return; + } + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[(200)>>2]|0; + $5 = ($3>>>0)>=($4>>>0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[(304)>>2]|0; + $8 = ($6>>>0)<($7>>>0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + HEAP32[$pSlot>>2] = $9; + $10 = HEAP32[(308)>>2]|0; + $11 = HEAP32[$pSlot>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$pSlot>>2]|0; + HEAP32[(308)>>2] = $12; + $13 = HEAP32[(312)>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[(312)>>2] = $14; + _sqlite3StatusAdd(3,-1); + STACKTOP = sp;return; + } + } + $15 = HEAP32[8>>2]|0; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$0>>2]|0; + $18 = (_sqlite3MallocSize($17)|0); + HEAP32[$iSize>>2] = $18; + $19 = HEAP32[$iSize>>2]|0; + $20 = (0 - ($19))|0; + _sqlite3StatusAdd(4,$20); + $21 = HEAP32[$iSize>>2]|0; + $22 = (0 - ($21))|0; + _sqlite3StatusAdd(0,$22); + _sqlite3StatusAdd(9,-1); + $23 = HEAP32[(48)>>2]|0; + $24 = HEAP32[$0>>2]|0; + FUNCTION_TABLE_vi[$23 & 31]($24); + STACKTOP = sp;return; + } else { + $25 = HEAP32[(48)>>2]|0; + $26 = HEAP32[$0>>2]|0; + FUNCTION_TABLE_vi[$25 & 31]($26); + STACKTOP = sp;return; + } +} +function _sqlite3GetBoolean($z,$dflt) { + $z = $z|0; + $dflt = $dflt|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + $1 = sp + 4|0; + HEAP32[$0>>2] = $z; + HEAP8[$1>>0] = $dflt; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP8[$1>>0]|0; + $4 = (_getSafetyLevel($2,1,$3)|0); + $5 = $4&255; + $6 = ($5|0)!=(0); + $7 = $6&1; + $8 = $7&255; + STACKTOP = sp;return ($8|0); +} +function _sqlite3DecOrHexToI64($z,$pOut) { + $z = $z|0; + $pOut = $pOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $i = 0, $k = 0, $u = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $u = sp; + $i = sp + 12|0; + $k = sp + 8|0; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $pOut; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = $4 << 24 >> 24; + $6 = ($5|0)==(48); + do { + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9 << 24 >> 24; + $11 = ($10|0)==(120); + if (!($11)) { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)==(88); + if (!($16)) { + break; + } + } + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 2|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = (14426 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = $23 & 8; + $25 = ($24|0)!=(0); + if ($25) { + $26 = $u; + $27 = $26; + HEAP32[$27>>2] = 0; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = 0; + HEAP32[$i>>2] = 2; + while(1) { + $30 = HEAP32[$i>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = (($31) + ($30)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)==(48); + $36 = HEAP32[$i>>2]|0; + if (!($35)) { + break; + } + $37 = (($36) + 1)|0; + HEAP32[$i>>2] = $37; + } + HEAP32[$k>>2] = $36; + while(1) { + $38 = HEAP32[$k>>2]|0; + $39 = HEAP32[$1>>2]|0; + $40 = (($39) + ($38)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = (14426 + ($42)|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = $45 & 8; + $47 = ($46|0)!=(0); + if (!($47)) { + break; + } + $48 = $u; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (___muldi3(($50|0),($53|0),16,0)|0); + $55 = tempRet0; + $56 = HEAP32[$k>>2]|0; + $57 = HEAP32[$1>>2]|0; + $58 = (($57) + ($56)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = (_sqlite3HexToInt($60)|0); + $62 = $61&255; + $63 = (_i64Add(($54|0),($55|0),($62|0),0)|0); + $64 = tempRet0; + $65 = $u; + $66 = $65; + HEAP32[$66>>2] = $63; + $67 = (($65) + 4)|0; + $68 = $67; + HEAP32[$68>>2] = $64; + $69 = HEAP32[$k>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$k>>2] = $70; + } + $71 = HEAP32[$2>>2]|0; + ;HEAP32[$71>>2]=HEAP32[$u>>2]|0;HEAP32[$71+4>>2]=HEAP32[$u+4>>2]|0; + $72 = HEAP32[$k>>2]|0; + $73 = HEAP32[$1>>2]|0; + $74 = (($73) + ($72)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75 << 24 >> 24; + $77 = ($76|0)==(0); + if ($77) { + $78 = HEAP32[$k>>2]|0; + $79 = HEAP32[$i>>2]|0; + $80 = (($78) - ($79))|0; + $81 = ($80|0)<=(16); + $83 = $81; + } else { + $83 = 0; + } + $82 = $83 ? 0 : 1; + HEAP32[$0>>2] = $82; + $89 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($89|0); + } + } + } while(0); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$2>>2]|0; + $86 = HEAP32[$1>>2]|0; + $87 = (_sqlite3Strlen30($86)|0); + $88 = (_sqlite3Atoi64($84,$85,$87,1)|0); + HEAP32[$0>>2] = $88; + $89 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($89|0); +} +function _sqlite3BtreeGetFilename($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3PagerFilename($4,1)|0); + STACKTOP = sp;return ($5|0); +} +function _sqlite3BtreeIsReadonly($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 22|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 1; + $8 = ($7|0)!=(0); + $9 = $8&1; + STACKTOP = sp;return ($9|0); +} +function _sqlite3PagerFilename($pPager,$nullIfMemDb) { + $pPager = $pPager|0; + $nullIfMemDb = $nullIfMemDb|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $nullIfMemDb; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0); + if ($3) { + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 15|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)!=(0); + if ($8) { + $12 = 14425; + STACKTOP = sp;return ($12|0); + } + } + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11; + STACKTOP = sp;return ($12|0); +} +function _sqlite3HexToInt($h) { + $h = $h|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $h; + $1 = HEAP32[$0>>2]|0; + $2 = $1 >> 6; + $3 = 1 & $2; + $4 = ($3*9)|0; + $5 = HEAP32[$0>>2]|0; + $6 = (($5) + ($4))|0; + HEAP32[$0>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = $7 & 15; + $9 = $8&255; + STACKTOP = sp;return ($9|0); +} +function _sqlite3Atoi64($zNum,$pNum,$length,$enc) { + $zNum = $zNum|0; + $pNum = $pNum|0; + $length = $length|0; + $enc = $enc|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $incr = 0, $neg = 0, $nonNum = 0, $or$cond = 0, $u = 0, $zEnd = 0, $zStart = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 36|0; + $1 = sp + 20|0; + $2 = sp + 12|0; + $3 = sp + 32|0; + $4 = sp + 52|0; + $incr = sp + 44|0; + $u = sp; + $neg = sp + 28|0; + $i = sp + 8|0; + $c = sp + 24|0; + $nonNum = sp + 16|0; + $zStart = sp + 40|0; + $zEnd = sp + 48|0; + HEAP32[$1>>2] = $zNum; + HEAP32[$2>>2] = $pNum; + HEAP32[$3>>2] = $length; + HEAP8[$4>>0] = $enc; + $5 = $u; + $6 = $5; + HEAP32[$6>>2] = 0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = 0; + HEAP32[$neg>>2] = 0; + HEAP32[$c>>2] = 0; + HEAP32[$nonNum>>2] = 0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (($9) + ($10)|0); + HEAP32[$zEnd>>2] = $11; + $12 = HEAP8[$4>>0]|0; + $13 = $12&255; + $14 = ($13|0)==(1); + if ($14) { + HEAP32[$incr>>2] = 1; + } else { + HEAP32[$incr>>2] = 2; + $15 = HEAP8[$4>>0]|0; + $16 = $15&255; + $17 = (3 - ($16))|0; + HEAP32[$i>>2] = $17; + while(1) { + $18 = HEAP32[$i>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ($18|0)<($19|0); + if (!($20)) { + break; + } + $21 = HEAP32[$i>>2]|0; + $22 = HEAP32[$1>>2]|0; + $23 = (($22) + ($21)|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24 << 24 >> 24; + $26 = ($25|0)==(0); + if (!($26)) { + break; + } + $27 = HEAP32[$i>>2]|0; + $28 = (($27) + 2)|0; + HEAP32[$i>>2] = $28; + } + $29 = HEAP32[$i>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = ($29|0)<($30|0); + $32 = $31&1; + HEAP32[$nonNum>>2] = $32; + $33 = HEAP32[$1>>2]|0; + $34 = HEAP32[$i>>2]|0; + $35 = (($33) + ($34)|0); + $36 = HEAP8[$4>>0]|0; + $37 = $36&255; + $38 = (($35) + ($37)|0); + $39 = ((($38)) + -3|0); + HEAP32[$zEnd>>2] = $39; + $40 = HEAP8[$4>>0]|0; + $41 = $40&255; + $42 = $41 & 1; + $43 = HEAP32[$1>>2]|0; + $44 = (($43) + ($42)|0); + HEAP32[$1>>2] = $44; + } + while(1) { + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$zEnd>>2]|0; + $47 = ($45>>>0)<($46>>>0); + if (!($47)) { + break; + } + $48 = HEAP32[$1>>2]|0; + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = (14426 + ($50)|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 & 1; + $55 = ($54|0)!=(0); + if (!($55)) { + break; + } + $56 = HEAP32[$incr>>2]|0; + $57 = HEAP32[$1>>2]|0; + $58 = (($57) + ($56)|0); + HEAP32[$1>>2] = $58; + } + $59 = HEAP32[$1>>2]|0; + $60 = HEAP32[$zEnd>>2]|0; + $61 = ($59>>>0)<($60>>>0); + do { + if ($61) { + $62 = HEAP32[$1>>2]|0; + $63 = HEAP8[$62>>0]|0; + $64 = $63 << 24 >> 24; + $65 = ($64|0)==(45); + if ($65) { + HEAP32[$neg>>2] = 1; + $66 = HEAP32[$incr>>2]|0; + $67 = HEAP32[$1>>2]|0; + $68 = (($67) + ($66)|0); + HEAP32[$1>>2] = $68; + break; + } + $69 = HEAP32[$1>>2]|0; + $70 = HEAP8[$69>>0]|0; + $71 = $70 << 24 >> 24; + $72 = ($71|0)==(43); + if ($72) { + $73 = HEAP32[$incr>>2]|0; + $74 = HEAP32[$1>>2]|0; + $75 = (($74) + ($73)|0); + HEAP32[$1>>2] = $75; + } + } + } while(0); + $76 = HEAP32[$1>>2]|0; + HEAP32[$zStart>>2] = $76; + while(1) { + $77 = HEAP32[$1>>2]|0; + $78 = HEAP32[$zEnd>>2]|0; + $79 = ($77>>>0)<($78>>>0); + if (!($79)) { + break; + } + $80 = HEAP32[$1>>2]|0; + $81 = HEAP8[$80>>0]|0; + $82 = $81 << 24 >> 24; + $83 = ($82|0)==(48); + if (!($83)) { + break; + } + $84 = HEAP32[$incr>>2]|0; + $85 = HEAP32[$1>>2]|0; + $86 = (($85) + ($84)|0); + HEAP32[$1>>2] = $86; + } + HEAP32[$i>>2] = 0; + while(1) { + $87 = HEAP32[$i>>2]|0; + $88 = HEAP32[$1>>2]|0; + $89 = (($88) + ($87)|0); + $90 = HEAP32[$zEnd>>2]|0; + $91 = ($89>>>0)<($90>>>0); + if ($91) { + $92 = HEAP32[$i>>2]|0; + $93 = HEAP32[$1>>2]|0; + $94 = (($93) + ($92)|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95 << 24 >> 24; + HEAP32[$c>>2] = $96; + $97 = ($96|0)>=(48); + if ($97) { + $98 = HEAP32[$c>>2]|0; + $99 = ($98|0)<=(57); + $187 = $99; + } else { + $187 = 0; + } + } else { + $187 = 0; + } + $100 = $u; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + if (!($187)) { + break; + } + $106 = (___muldi3(($102|0),($105|0),10,0)|0); + $107 = tempRet0; + $108 = HEAP32[$c>>2]|0; + $109 = ($108|0)<(0); + $110 = $109 << 31 >> 31; + $111 = (_i64Add(($106|0),($107|0),($108|0),($110|0))|0); + $112 = tempRet0; + $113 = (_i64Subtract(($111|0),($112|0),48,0)|0); + $114 = tempRet0; + $115 = $u; + $116 = $115; + HEAP32[$116>>2] = $113; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + $119 = HEAP32[$incr>>2]|0; + $120 = HEAP32[$i>>2]|0; + $121 = (($120) + ($119))|0; + HEAP32[$i>>2] = $121; + } + $122 = ($105>>>0)>(2147483647); + $123 = ($102>>>0)>(4294967295); + $124 = ($105|0)==(2147483647); + $125 = $124 & $123; + $126 = $122 | $125; + $127 = HEAP32[$neg>>2]|0; + $128 = ($127|0)!=(0); + do { + if ($126) { + $129 = $128 ? 0 : -1; + $130 = $128 ? -2147483648 : 2147483647; + $131 = HEAP32[$2>>2]|0; + $132 = $131; + $133 = $132; + HEAP32[$133>>2] = $129; + $134 = (($132) + 4)|0; + $135 = $134; + HEAP32[$135>>2] = $130; + } else { + $136 = $u; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + if ($128) { + $142 = (_i64Subtract(0,0,($138|0),($141|0))|0); + $143 = tempRet0; + $144 = HEAP32[$2>>2]|0; + $145 = $144; + $146 = $145; + HEAP32[$146>>2] = $142; + $147 = (($145) + 4)|0; + $148 = $147; + HEAP32[$148>>2] = $143; + break; + } else { + $149 = HEAP32[$2>>2]|0; + $150 = $149; + $151 = $150; + HEAP32[$151>>2] = $138; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $141; + break; + } + } + } while(0); + $154 = HEAP32[$c>>2]|0; + $155 = ($154|0)!=(0); + if ($155) { + $156 = HEAP32[$i>>2]|0; + $157 = HEAP32[$1>>2]|0; + $158 = (($157) + ($156)|0); + $159 = HEAP32[$zEnd>>2]|0; + $160 = ($158>>>0)<($159>>>0); + if (!($160)) { + label = 33; + } + } else { + label = 33; + } + do { + if ((label|0) == 33) { + $161 = HEAP32[$i>>2]|0; + $162 = ($161|0)==(0); + if ($162) { + $163 = HEAP32[$zStart>>2]|0; + $164 = HEAP32[$1>>2]|0; + $165 = ($163|0)==($164|0); + if ($165) { + break; + } + } + $166 = HEAP32[$i>>2]|0; + $167 = HEAP32[$incr>>2]|0; + $168 = ($167*19)|0; + $169 = ($166|0)>($168|0); + $170 = HEAP32[$nonNum>>2]|0; + $171 = ($170|0)!=(0); + $or$cond = $169 | $171; + if (!($or$cond)) { + $172 = HEAP32[$i>>2]|0; + $173 = HEAP32[$incr>>2]|0; + $174 = ($173*19)|0; + $175 = ($172|0)<($174|0); + if ($175) { + HEAP32[$0>>2] = 0; + $186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($186|0); + } + $176 = HEAP32[$1>>2]|0; + $177 = HEAP32[$incr>>2]|0; + $178 = (_compare2pow63($176,$177)|0); + HEAP32[$c>>2] = $178; + $179 = HEAP32[$c>>2]|0; + $180 = ($179|0)<(0); + if ($180) { + HEAP32[$0>>2] = 0; + $186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($186|0); + } + $181 = HEAP32[$c>>2]|0; + $182 = ($181|0)>(0); + if ($182) { + HEAP32[$0>>2] = 1; + $186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($186|0); + } else { + $183 = HEAP32[$neg>>2]|0; + $184 = ($183|0)!=(0); + $185 = $184 ? 0 : 2; + HEAP32[$0>>2] = $185; + $186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($186|0); + } + } + } + } while(0); + HEAP32[$0>>2] = 1; + $186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($186|0); +} +function _compare2pow63($zNum,$incr) { + $zNum = $zNum|0; + $incr = $incr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $pow63 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $c = sp + 8|0; + $i = sp + 4|0; + $pow63 = sp; + HEAP32[$0>>2] = $zNum; + HEAP32[$1>>2] = $incr; + HEAP32[$c>>2] = 0; + HEAP32[$pow63>>2] = 14782; + HEAP32[$i>>2] = 0; + while(1) { + $2 = HEAP32[$c>>2]|0; + $3 = ($2|0)==(0); + $4 = HEAP32[$i>>2]|0; + $5 = ($4|0)<(18); + $6 = $3 ? $5 : 0; + if (!($6)) { + break; + } + $7 = HEAP32[$i>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($7, $8)|0; + $10 = HEAP32[$0>>2]|0; + $11 = (($10) + ($9)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + $14 = HEAP32[$i>>2]|0; + $15 = HEAP32[$pow63>>2]|0; + $16 = (($15) + ($14)|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = (($13) - ($18))|0; + $20 = ($19*10)|0; + HEAP32[$c>>2] = $20; + $21 = HEAP32[$i>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$i>>2] = $22; + } + $23 = HEAP32[$c>>2]|0; + $24 = ($23|0)==(0); + if (!($24)) { + $32 = HEAP32[$c>>2]|0; + STACKTOP = sp;return ($32|0); + } + $25 = HEAP32[$1>>2]|0; + $26 = ($25*18)|0; + $27 = HEAP32[$0>>2]|0; + $28 = (($27) + ($26)|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = (($30) - 56)|0; + HEAP32[$c>>2] = $31; + $32 = HEAP32[$c>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _getSafetyLevel($z,$omitFull,$dflt) { + $z = $z|0; + $omitFull = $omitFull|0; + $dflt = $dflt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $i = 0, $n = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 17|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 16|0; + $i = sp + 4|0; + $n = sp; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $omitFull; + HEAP8[$3>>0] = $dflt; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = (14426 + ($6)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 & 4; + $11 = ($10|0)!=(0); + $12 = HEAP32[$1>>2]|0; + if ($11) { + $13 = (_sqlite3Atoi($12)|0); + $14 = $13&255; + HEAP8[$0>>0] = $14; + $41 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($41|0); + } + $15 = (_sqlite3Strlen30($12)|0); + HEAP32[$n>>2] = $15; + HEAP32[$i>>2] = 0; + while(1) { + $16 = HEAP32[$i>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = (7 - ($17))|0; + $19 = ($16|0)<($18|0); + if (!($19)) { + label = 9; + break; + } + $20 = HEAP32[$i>>2]|0; + $21 = (14801 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = HEAP32[$n>>2]|0; + $25 = ($23|0)==($24|0); + if ($25) { + $26 = HEAP32[$i>>2]|0; + $27 = (14808 + ($26)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (14815 + ($29)|0); + $31 = HEAP32[$1>>2]|0; + $32 = HEAP32[$n>>2]|0; + $33 = (_sqlite3_strnicmp($30,$31,$32)|0); + $34 = ($33|0)==(0); + if ($34) { + label = 7; + break; + } + } + $38 = HEAP32[$i>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$i>>2] = $39; + } + if ((label|0) == 7) { + $35 = HEAP32[$i>>2]|0; + $36 = (14836 + ($35)|0); + $37 = HEAP8[$36>>0]|0; + HEAP8[$0>>0] = $37; + $41 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($41|0); + } + else if ((label|0) == 9) { + $40 = HEAP8[$3>>0]|0; + HEAP8[$0>>0] = $40; + $41 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($41|0); + } + return (0)|0; +} +function _sqlite3Atoi($z) { + $z = $z|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $x = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $x = sp; + HEAP32[$0>>2] = $z; + HEAP32[$x>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if ($2) { + $3 = HEAP32[$0>>2]|0; + (_sqlite3GetInt32($3,$x)|0); + } + $4 = HEAP32[$x>>2]|0; + STACKTOP = sp;return ($4|0); +} +function _sqlite3GetInt32($zNum,$pValue) { + $zNum = $zNum|0; + $pValue = $pValue|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $neg = 0; + var $or$cond = 0, $u = 0, $v = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 12|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $v = sp; + $i = sp + 32|0; + $c = sp + 8|0; + $neg = sp + 20|0; + $u = sp + 28|0; + HEAP32[$1>>2] = $zNum; + HEAP32[$2>>2] = $pValue; + $3 = $v; + $4 = $3; + HEAP32[$4>>2] = 0; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 0; + HEAP32[$neg>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(45); + do { + if ($10) { + HEAP32[$neg>>2] = 1; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 1|0); + HEAP32[$1>>2] = $12; + } else { + $13 = HEAP32[$1>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)==(43); + $17 = HEAP32[$1>>2]|0; + if ($16) { + $18 = ((($17)) + 1|0); + HEAP32[$1>>2] = $18; break; } $19 = HEAP8[$17>>0]|0; @@ -25781,13 +25616,13 @@ function _sqlite3GetInt32($zNum,$pValue) { $21 = ($20|0)==(48); if ($21) { $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 1|0); + $23 = ((($22)) + 1|0); $24 = HEAP8[$23>>0]|0; $25 = $24 << 24 >> 24; $26 = ($25|0)==(120); if (!($26)) { $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 1|0); + $28 = ((($27)) + 1|0); $29 = HEAP8[$28>>0]|0; $30 = $29 << 24 >> 24; $31 = ($30|0)==(88); @@ -25796,10 +25631,10 @@ function _sqlite3GetInt32($zNum,$pValue) { } } $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 2|0); + $33 = ((($32)) + 2|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; - $36 = (1224 + ($35)|0); + $36 = (14426 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = $38 & 8; @@ -25807,7 +25642,7 @@ function _sqlite3GetInt32($zNum,$pValue) { if ($40) { HEAP32[$u>>2] = 0; $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 2|0); + $42 = ((($41)) + 2|0); HEAP32[$1>>2] = $42; while(1) { $43 = HEAP32[$1>>2]|0; @@ -25818,7 +25653,7 @@ function _sqlite3GetInt32($zNum,$pValue) { break; } $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 1|0); + $48 = ((($47)) + 1|0); HEAP32[$1>>2] = $48; } HEAP32[$i>>2] = 0; @@ -25828,161 +25663,161 @@ function _sqlite3GetInt32($zNum,$pValue) { $51 = (($50) + ($49)|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; - $54 = (1224 + ($53)|0); + $54 = (14426 + ($53)|0); $55 = HEAP8[$54>>0]|0; $56 = $55&255; $57 = $56 & 8; $58 = ($57|0)!=(0); $59 = HEAP32[$i>>2]|0; $60 = ($59|0)<(8); - $or$cond = $58 & $60; - $61 = HEAP32[$u>>2]|0; - if (!($or$cond)) { + $61 = $58 ? $60 : 0; + $62 = HEAP32[$u>>2]|0; + if (!($61)) { break; } - $62 = $61<<4; - $63 = HEAP32[$i>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + ($63)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66 << 24 >> 24; - $68 = (_sqlite3HexToInt($67)|0); - $69 = $68&255; - $70 = (($62) + ($69))|0; - HEAP32[$u>>2] = $70; - $71 = HEAP32[$i>>2]|0; - $72 = (($71) + 1)|0; - HEAP32[$i>>2] = $72; - } - $73 = $61 & -2147483648; - $74 = ($73|0)==(0); - if ($74) { - $75 = HEAP32[$i>>2]|0; - $76 = HEAP32[$1>>2]|0; - $77 = (($76) + ($75)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = (1224 + ($79)|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $83 = $82 & 8; - $84 = ($83|0)==(0); - if ($84) { - $85 = HEAP32[$2>>2]|0; - ;HEAP32[$85+0>>2]=HEAP32[$u+0>>2]|0; + $63 = $62<<4; + $64 = HEAP32[$i>>2]|0; + $65 = HEAP32[$1>>2]|0; + $66 = (($65) + ($64)|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67 << 24 >> 24; + $69 = (_sqlite3HexToInt($68)|0); + $70 = $69&255; + $71 = (($63) + ($70))|0; + HEAP32[$u>>2] = $71; + $72 = HEAP32[$i>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$i>>2] = $73; + } + $74 = $62 & -2147483648; + $75 = ($74|0)==(0); + if ($75) { + $76 = HEAP32[$i>>2]|0; + $77 = HEAP32[$1>>2]|0; + $78 = (($77) + ($76)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = (14426 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 & 8; + $85 = ($84|0)==(0); + if ($85) { + $86 = HEAP32[$2>>2]|0; + ;HEAP32[$86>>2]=HEAP32[$u>>2]|0; HEAP32[$0>>2] = 1; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + $156 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($156|0); } } HEAP32[$0>>2] = 0; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + $156 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($156|0); } } } } while(0); HEAP32[$i>>2] = 0; while(1) { - $86 = HEAP32[$i>>2]|0; - $87 = ($86|0)<(11); - if (!($87)) { + $87 = HEAP32[$i>>2]|0; + $88 = ($87|0)<(11); + if (!($88)) { break; } - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = (($89) + ($88)|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91 << 24 >> 24; - $93 = (($92) - 48)|0; - HEAP32[$c>>2] = $93; - $94 = ($93|0)>=(0); - $95 = HEAP32[$c>>2]|0; - $96 = ($95|0)<=(9); - $or$cond3 = $94 & $96; - if (!($or$cond3)) { + $89 = HEAP32[$i>>2]|0; + $90 = HEAP32[$1>>2]|0; + $91 = (($90) + ($89)|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92 << 24 >> 24; + $94 = (($93) - 48)|0; + HEAP32[$c>>2] = $94; + $95 = ($94|0)>=(0); + $96 = HEAP32[$c>>2]|0; + $97 = ($96|0)<=(9); + $or$cond = $95 & $97; + if (!($or$cond)) { break; } - $97 = $v; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (($97) + 4)|0; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (___muldi3(($99|0),($102|0),10,0)|0); - $104 = tempRet0; - $105 = HEAP32[$c>>2]|0; - $106 = ($105|0)<(0); - $107 = $106 << 31 >> 31; - $108 = (_i64Add(($103|0),($104|0),($105|0),($107|0))|0); - $109 = tempRet0; - $110 = $v; - $111 = $110; - HEAP32[$111>>2] = $108; - $112 = (($110) + 4)|0; - $113 = $112; - HEAP32[$113>>2] = $109; - $114 = HEAP32[$i>>2]|0; - $115 = (($114) + 1)|0; - HEAP32[$i>>2] = $115; - } - $116 = HEAP32[$i>>2]|0; - $117 = ($116|0)>(10); - if ($117) { + $98 = $v; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + 4)|0; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (___muldi3(($100|0),($103|0),10,0)|0); + $105 = tempRet0; + $106 = HEAP32[$c>>2]|0; + $107 = ($106|0)<(0); + $108 = $107 << 31 >> 31; + $109 = (_i64Add(($104|0),($105|0),($106|0),($108|0))|0); + $110 = tempRet0; + $111 = $v; + $112 = $111; + HEAP32[$112>>2] = $109; + $113 = (($111) + 4)|0; + $114 = $113; + HEAP32[$114>>2] = $110; + $115 = HEAP32[$i>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$i>>2] = $116; + } + $117 = HEAP32[$i>>2]|0; + $118 = ($117|0)>(10); + if ($118) { HEAP32[$0>>2] = 0; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + $156 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($156|0); } - $118 = $v; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$neg>>2]|0; - $125 = ($124|0)<(0); - $126 = $125 << 31 >> 31; - $127 = (_i64Subtract(($120|0),($123|0),($124|0),($126|0))|0); - $128 = tempRet0; - $129 = ($128|0)>(0); - $130 = ($127>>>0)>(2147483647); - $131 = ($128|0)==(0); - $132 = $131 & $130; - $133 = $129 | $132; - if ($133) { + $119 = $v; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (($119) + 4)|0; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$neg>>2]|0; + $126 = ($125|0)<(0); + $127 = $126 << 31 >> 31; + $128 = (_i64Subtract(($121|0),($124|0),($125|0),($127|0))|0); + $129 = tempRet0; + $130 = ($129|0)>(0); + $131 = ($128>>>0)>(2147483647); + $132 = ($129|0)==(0); + $133 = $132 & $131; + $134 = $130 | $133; + if ($134) { HEAP32[$0>>2] = 0; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + $156 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($156|0); } - $134 = HEAP32[$neg>>2]|0; - $135 = ($134|0)!=(0); - if ($135) { - $136 = $v; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = (_i64Subtract(0,0,($138|0),($141|0))|0); - $143 = tempRet0; - $144 = $v; - $145 = $144; - HEAP32[$145>>2] = $142; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; + $135 = HEAP32[$neg>>2]|0; + $136 = ($135|0)!=(0); + if ($136) { + $137 = $v; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (_i64Subtract(0,0,($139|0),($142|0))|0); + $144 = tempRet0; + $145 = $v; + $146 = $145; + HEAP32[$146>>2] = $143; + $147 = (($145) + 4)|0; + $148 = $147; + HEAP32[$148>>2] = $144; } - $148 = $v; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = (($148) + 4)|0; - $152 = $151; - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$2>>2]|0; - HEAP32[$154>>2] = $150; + $149 = $v; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$2>>2]|0; + HEAP32[$155>>2] = $151; HEAP32[$0>>2] = 1; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + $156 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($156|0); } function _sqlite3StatusSet($op,$X) { $op = $op|0; @@ -25996,23 +25831,23 @@ function _sqlite3StatusSet($op,$X) { HEAP32[$1>>2] = $X; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (48 + ($3<<2)|0); + $4 = (388 + ($3<<2)|0); HEAP32[$4>>2] = $2; $5 = HEAP32[$0>>2]|0; - $6 = (48 + ($5<<2)|0); + $6 = (388 + ($5<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = (((48 + 40|0)) + ($8<<2)|0); + $9 = ((428) + ($8<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($7|0)>($10|0); if (!($11)) { STACKTOP = sp;return; } $12 = HEAP32[$0>>2]|0; - $13 = (48 + ($12<<2)|0); + $13 = (388 + ($12<<2)|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (((48 + 40|0)) + ($15<<2)|0); + $16 = ((428) + ($15<<2)|0); HEAP32[$16>>2] = $14; STACKTOP = sp;return; } @@ -26042,7 +25877,7 @@ function _keywordCode($z,$n) { $5 = HEAP32[$1>>2]|0; $6 = HEAP8[$5>>0]|0; $7 = $6&255; - $8 = (440 + ($7)|0); + $8 = (13848 + ($7)|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $10<<2; @@ -26052,7 +25887,7 @@ function _keywordCode($z,$n) { $15 = (($14) + ($13)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; - $18 = (440 + ($17)|0); + $18 = (13848 + ($17)|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20*3)|0; @@ -26062,7 +25897,7 @@ function _keywordCode($z,$n) { $25 = (($24|0) % 127)&-1; HEAP32[$h>>2] = $25; $26 = HEAP32[$h>>2]|0; - $27 = (2376 + ($26)|0); + $27 = (14843 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = (($29) - 1)|0; @@ -26075,17 +25910,17 @@ function _keywordCode($z,$n) { break; } $33 = HEAP32[$i>>2]|0; - $34 = (2632 + ($33)|0); + $34 = (14970 + ($33)|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = HEAP32[$2>>2]|0; $38 = ($36|0)==($37|0); if ($38) { $39 = HEAP32[$i>>2]|0; - $40 = (2760 + ($39<<1)|0); + $40 = (7804 + ($39<<1)|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; - $43 = (1816 + ($42)|0); + $43 = (15094 + ($42)|0); $44 = HEAP32[$1>>2]|0; $45 = HEAP32[$2>>2]|0; $46 = (_sqlite3_strnicmp($43,$44,$45)|0); @@ -26096,7 +25931,7 @@ function _keywordCode($z,$n) { } } $52 = HEAP32[$i>>2]|0; - $53 = (2504 + ($52)|0); + $53 = (15771 + ($52)|0); $54 = HEAP8[$53>>0]|0; $55 = $54&255; $56 = (($55) - 1)|0; @@ -26104,7 +25939,7 @@ function _keywordCode($z,$n) { } if ((label|0) == 7) { $48 = HEAP32[$i>>2]|0; - $49 = (3008 + ($48)|0); + $49 = (15647 + ($48)|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; HEAP32[$0>>2] = $51; @@ -26116,7 +25951,7 @@ function _keywordCode($z,$n) { $57 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($57|0); } - return 0|0; + return (0)|0; } function _freeTempSpace($pBt) { $pBt = $pBt|0; @@ -26126,23 +25961,23 @@ function _freeTempSpace($pBt) { $0 = sp; HEAP32[$0>>2] = $pBt; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 80|0); + $2 = ((($1)) + 80|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 80|0); + $6 = ((($5)) + 80|0); $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -4|0); + $8 = ((($7)) + -4|0); HEAP32[$6>>2] = $8; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 80|0); + $10 = ((($9)) + 80|0); $11 = HEAP32[$10>>2]|0; _sqlite3PageFree($11); $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 80|0); + $13 = ((($12)) + 80|0); HEAP32[$13>>2] = 0; STACKTOP = sp;return; } @@ -26158,10 +25993,10 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nByte = 0, $or$cond = 0, $pNew = 0, $pageSize = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; + $0 = sp + 24|0; + $1 = sp + 16|0; $2 = sp + 20|0; - $rc = sp + 16|0; + $rc = sp + 28|0; $pageSize = sp + 12|0; $pNew = sp + 8|0; $nByte = sp; @@ -26173,7 +26008,7 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { $4 = HEAP32[$3>>2]|0; HEAP32[$pageSize>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 15|0); + $6 = ((($5)) + 15|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($8|0)==(0); @@ -26181,7 +26016,7 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { label = 3; } else { $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 24|0); + $11 = ((($10)) + 24|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0); if ($13) { @@ -26191,7 +26026,7 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { do { if ((label|0) == 3) { $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 204|0); + $15 = ((($14)) + 204|0); $16 = HEAP32[$15>>2]|0; $17 = (_sqlite3PcacheRefCount($16)|0); $18 = ($17|0)==(0); @@ -26201,7 +26036,7 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { if ($or$cond) { $21 = HEAP32[$pageSize>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 152|0); + $23 = ((($22)) + 152|0); $24 = HEAP32[$23>>2]|0; $25 = ($21|0)!=($24|0); if ($25) { @@ -26213,19 +26048,19 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { $29 = $28; HEAP32[$29>>2] = 0; $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 16|0); + $31 = ((($30)) + 16|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = ($33|0)>(0); if ($34) { $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 60|0); + $36 = ((($35)) + 60|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$37>>2]|0; $39 = ($38|0)!=(0|0); if ($39) { $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 60|0); + $41 = ((($40)) + 60|0); $42 = HEAP32[$41>>2]|0; $43 = (_sqlite3OsFileSize($42,$nByte)|0); HEAP32[$rc>>2] = $43; @@ -26249,7 +26084,7 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { $52 = HEAP32[$0>>2]|0; _pager_reset($52); $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 204|0); + $54 = ((($53)) + 204|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$pageSize>>2]|0; $57 = (_sqlite3PcacheSetPageSize($55,$56)|0); @@ -26259,12 +26094,12 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { $59 = ($58|0)==(0); if ($59) { $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 200|0); + $61 = ((($60)) + 200|0); $62 = HEAP32[$61>>2]|0; _sqlite3PageFree($62); $63 = HEAP32[$pNew>>2]|0; $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 200|0); + $65 = ((($64)) + 200|0); HEAP32[$65>>2] = $63; $66 = $nByte; $67 = $66; @@ -26281,11 +26116,11 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { $78 = (___divdi3(($75|0),($76|0),($77|0),0)|0); $79 = tempRet0; $80 = HEAP32[$0>>2]|0; - $81 = (($80) + 24|0); + $81 = ((($80)) + 24|0); HEAP32[$81>>2] = $78; $82 = HEAP32[$pageSize>>2]|0; $83 = HEAP32[$0>>2]|0; - $84 = (($83) + 152|0); + $84 = ((($83)) + 152|0); HEAP32[$84>>2] = $82; break; } else { @@ -26298,7 +26133,7 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { } } while(0); $86 = HEAP32[$0>>2]|0; - $87 = (($86) + 152|0); + $87 = ((($86)) + 152|0); $88 = HEAP32[$87>>2]|0; $89 = HEAP32[$1>>2]|0; HEAP32[$89>>2] = $88; @@ -26312,7 +26147,7 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { $93 = ($92|0)<(0); if ($93) { $94 = HEAP32[$0>>2]|0; - $95 = (($94) + 142|0); + $95 = ((($94)) + 142|0); $96 = HEAP16[$95>>1]|0; $97 = $96 << 16 >> 16; HEAP32[$2>>2] = $97; @@ -26320,7 +26155,7 @@ function _sqlite3PagerSetPagesize($pPager,$pPageSize,$nReserve) { $98 = HEAP32[$2>>2]|0; $99 = $98&65535; $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 142|0); + $101 = ((($100)) + 142|0); HEAP16[$101>>1] = $99; $102 = HEAP32[$0>>2]|0; _pagerFixMaplimit($102); @@ -26335,7 +26170,7 @@ function _sqlite3PcacheRefCount($pCache) { $0 = sp; HEAP32[$0>>2] = $pCache; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); + $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -26351,7 +26186,7 @@ function _sqlite3OsFileSize($id,$pSize) { HEAP32[$1>>2] = $pSize; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 24|0); + $4 = ((($3)) + 24|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$1>>2]|0; @@ -26377,11 +26212,11 @@ function _pager_reset($pPager) { $0 = sp; HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 88|0); + $2 = ((($1)) + 88|0); $3 = HEAP32[$2>>2]|0; _sqlite3BackupRestart($3); $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 204|0); + $5 = ((($4)) + 204|0); $6 = HEAP32[$5>>2]|0; _sqlite3PcacheClear($6); STACKTOP = sp;return; @@ -26401,18 +26236,18 @@ function _sqlite3PcacheSetPageSize($pCache,$szPage) { HEAP32[$1>>2] = $pCache; HEAP32[$2>>2] = $szPage; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 20|0); + $4 = ((($3)) + 20|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0); if ($6) { - $7 = HEAP32[((38640 + 120|0))>>2]|0; + $7 = HEAP32[(128)>>2]|0; $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 24|0); + $10 = ((($9)) + 24|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + 40)|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 28|0); + $14 = ((($13)) + 28|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (FUNCTION_TABLE_iiii[$7 & 31]($8,$12,$16)|0); @@ -26424,32 +26259,32 @@ function _sqlite3PcacheSetPageSize($pCache,$szPage) { $40 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($40|0); } - $20 = HEAP32[((38640 + 124|0))>>2]|0; + $20 = HEAP32[(132)>>2]|0; $21 = HEAP32[$pNew>>2]|0; $22 = HEAP32[$1>>2]|0; $23 = (_numberOfCachePages($22)|0); FUNCTION_TABLE_vii[$20 & 7]($21,$23); $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 40|0); + $25 = ((($24)) + 40|0); $26 = HEAP32[$25>>2]|0; $27 = ($26|0)!=(0|0); if ($27) { - $28 = HEAP32[((38640 + 148|0))>>2]|0; + $28 = HEAP32[(156)>>2]|0; $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 40|0); + $30 = ((($29)) + 40|0); $31 = HEAP32[$30>>2]|0; FUNCTION_TABLE_vi[$28 & 31]($31); } $32 = HEAP32[$pNew>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 40|0); + $34 = ((($33)) + 40|0); HEAP32[$34>>2] = $32; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 44|0); + $36 = ((($35)) + 44|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$2>>2]|0; $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 20|0); + $39 = ((($38)) + 20|0); HEAP32[$39>>2] = $37; } HEAP32[$0>>2] = 0; @@ -26496,29 +26331,29 @@ function _pcache1Free($p) { STACKTOP = sp;return ($26|0); } $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[((3136 + 44|0))>>2]|0; + $5 = HEAP32[(1024)>>2]|0; $6 = ($4>>>0)>=($5>>>0); if ($6) { $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[((3136 + 48|0))>>2]|0; + $8 = HEAP32[(1028)>>2]|0; $9 = ($7>>>0)<($8>>>0); if ($9) { _sqlite3StatusAdd(1,-1); $10 = HEAP32[$1>>2]|0; HEAP32[$pSlot>>2] = $10; - $11 = HEAP32[((3136 + 56|0))>>2]|0; + $11 = HEAP32[(1036)>>2]|0; $12 = HEAP32[$pSlot>>2]|0; HEAP32[$12>>2] = $11; $13 = HEAP32[$pSlot>>2]|0; - HEAP32[((3136 + 56|0))>>2] = $13; - $14 = HEAP32[((3136 + 60|0))>>2]|0; + HEAP32[(1036)>>2] = $13; + $14 = HEAP32[(1040)>>2]|0; $15 = (($14) + 1)|0; - HEAP32[((3136 + 60|0))>>2] = $15; - $16 = HEAP32[((3136 + 60|0))>>2]|0; - $17 = HEAP32[((3136 + 40|0))>>2]|0; + HEAP32[(1040)>>2] = $15; + $16 = HEAP32[(1040)>>2]|0; + $17 = HEAP32[(1020)>>2]|0; $18 = ($16|0)<($17|0); $19 = $18&1; - HEAP32[((3136 + 64|0))>>2] = $19; + HEAP32[(1044)>>2] = $19; } else { label = 6; } @@ -26550,11 +26385,11 @@ function _numberOfCachePages($p) { $1 = sp; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); + $3 = ((($2)) + 16|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>=(0); $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 16|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; if ($5) { HEAP32[$0>>2] = $8; @@ -26566,10 +26401,10 @@ function _numberOfCachePages($p) { $11 = (___muldi3(-1024,-1,($8|0),($10|0))|0); $12 = tempRet0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 20|0); + $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 24|0); + $17 = ((($16)) + 24|0); $18 = HEAP32[$17>>2]|0; $19 = (($15) + ($18))|0; $20 = ($19|0)<(0); @@ -26580,7 +26415,7 @@ function _numberOfCachePages($p) { $24 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($24|0); } - return 0|0; + return (0)|0; } function _sqlite3BackupRestart($pBackup) { $pBackup = $pBackup|0; @@ -26599,10 +26434,10 @@ function _sqlite3BackupRestart($pBackup) { break; } $4 = HEAP32[$p>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); HEAP32[$5>>2] = 1; $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 44|0); + $7 = ((($6)) + 44|0); $8 = HEAP32[$7>>2]|0; HEAP32[$p>>2] = $8; } @@ -26634,7 +26469,7 @@ function _sqlite3PcacheTruncate($pCache,$pgno) { HEAP32[$0>>2] = $pCache; HEAP32[$1>>2] = $pgno; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 40|0); + $3 = ((($2)) + 40|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); if (!($5)) { @@ -26650,11 +26485,11 @@ function _sqlite3PcacheTruncate($pCache,$pgno) { break; } $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 32|0); + $11 = ((($10)) + 32|0); $12 = HEAP32[$11>>2]|0; HEAP32[$pNext>>2] = $12; $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 20|0); + $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$1>>2]|0; $17 = ($15>>>0)>($16>>>0); @@ -26669,25 +26504,25 @@ function _sqlite3PcacheTruncate($pCache,$pgno) { $21 = ($20|0)==(0); if ($21) { $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 44|0); + $23 = ((($22)) + 44|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(0|0); if ($25) { $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 44|0); + $27 = ((($26)) + 44|0); $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 20|0); + $32 = ((($31)) + 20|0); $33 = HEAP32[$32>>2]|0; _memset(($30|0),0,($33|0))|0; HEAP32[$1>>2] = 1; } } - $34 = HEAP32[((38640 + 144|0))>>2]|0; + $34 = HEAP32[(152)>>2]|0; $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 40|0); + $36 = ((($35)) + 40|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$1>>2]|0; $39 = (($38) + 1)|0; @@ -26703,7 +26538,7 @@ function _sqlite3PcacheMakeClean($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 24|0); + $2 = ((($1)) + 24|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = $4 & 2; @@ -26714,14 +26549,14 @@ function _sqlite3PcacheMakeClean($p) { $7 = HEAP32[$0>>2]|0; _pcacheManageDirtyList($7,1); $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 24|0); + $9 = ((($8)) + 24|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = $11 & -7; $13 = $12&65535; HEAP16[$9>>1] = $13; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 26|0); + $15 = ((($14)) + 26|0); $16 = HEAP16[$15>>1]|0; $17 = $16 << 16 >> 16; $18 = ($17|0)==(0); @@ -26750,7 +26585,7 @@ function _pcacheManageDirtyList($pPage,$addRemove) { HEAP32[$0>>2] = $pPage; HEAP8[$1>>0] = $addRemove; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 28|0); + $3 = ((($2)) + 28|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP8[$1>>0]|0; @@ -26759,13 +26594,13 @@ function _pcacheManageDirtyList($pPage,$addRemove) { $8 = ($7|0)!=(0); if ($8) { $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$0>>2]|0; $13 = ($11|0)==($12|0); if ($13) { $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 36|0); + $15 = ((($14)) + 36|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pSynced>>2] = $16; while(1) { @@ -26773,7 +26608,7 @@ function _pcacheManageDirtyList($pPage,$addRemove) { $18 = ($17|0)!=(0|0); if ($18) { $19 = HEAP32[$pSynced>>2]|0; - $20 = (($19) + 24|0); + $20 = ((($19)) + 24|0); $21 = HEAP16[$20>>1]|0; $22 = $21&65535; $23 = $22 & 4; @@ -26786,44 +26621,44 @@ function _pcacheManageDirtyList($pPage,$addRemove) { if (!($109)) { break; } - $26 = (($25) + 36|0); + $26 = ((($25)) + 36|0); $27 = HEAP32[$26>>2]|0; HEAP32[$pSynced>>2] = $27; } $28 = HEAP32[$p>>2]|0; - $29 = (($28) + 8|0); + $29 = ((($28)) + 8|0); HEAP32[$29>>2] = $25; } $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 32|0); + $31 = ((($30)) + 32|0); $32 = HEAP32[$31>>2]|0; $33 = ($32|0)!=(0|0); $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 36|0); + $35 = ((($34)) + 36|0); $36 = HEAP32[$35>>2]|0; if ($33) { $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 32|0); + $38 = ((($37)) + 32|0); $39 = HEAP32[$38>>2]|0; - $40 = (($39) + 36|0); + $40 = ((($39)) + 36|0); HEAP32[$40>>2] = $36; } else { $41 = HEAP32[$p>>2]|0; - $42 = (($41) + 4|0); + $42 = ((($41)) + 4|0); HEAP32[$42>>2] = $36; } $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 36|0); + $44 = ((($43)) + 36|0); $45 = HEAP32[$44>>2]|0; $46 = ($45|0)!=(0|0); $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 32|0); + $48 = ((($47)) + 32|0); $49 = HEAP32[$48>>2]|0; if ($46) { $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 36|0); + $51 = ((($50)) + 36|0); $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 32|0); + $53 = ((($52)) + 32|0); HEAP32[$53>>2] = $49; } else { $54 = HEAP32[$p>>2]|0; @@ -26833,22 +26668,22 @@ function _pcacheManageDirtyList($pPage,$addRemove) { $57 = ($56|0)==(0|0); if ($57) { $58 = HEAP32[$p>>2]|0; - $59 = (($58) + 28|0); + $59 = ((($58)) + 28|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = ($61|0)!=(0); if ($62) { $63 = HEAP32[$p>>2]|0; - $64 = (($63) + 29|0); + $64 = ((($63)) + 29|0); HEAP8[$64>>0] = 2; } } } $65 = HEAP32[$0>>2]|0; - $66 = (($65) + 32|0); + $66 = ((($65)) + 32|0); HEAP32[$66>>2] = 0; $67 = HEAP32[$0>>2]|0; - $68 = (($67) + 36|0); + $68 = ((($67)) + 36|0); HEAP32[$68>>2] = 0; } $69 = HEAP8[$1>>0]|0; @@ -26861,30 +26696,30 @@ function _pcacheManageDirtyList($pPage,$addRemove) { $73 = HEAP32[$p>>2]|0; $74 = HEAP32[$73>>2]|0; $75 = HEAP32[$0>>2]|0; - $76 = (($75) + 32|0); + $76 = ((($75)) + 32|0); HEAP32[$76>>2] = $74; $77 = HEAP32[$0>>2]|0; - $78 = (($77) + 32|0); + $78 = ((($77)) + 32|0); $79 = HEAP32[$78>>2]|0; $80 = ($79|0)!=(0|0); $81 = HEAP32[$0>>2]|0; if ($80) { $82 = HEAP32[$0>>2]|0; - $83 = (($82) + 32|0); + $83 = ((($82)) + 32|0); $84 = HEAP32[$83>>2]|0; - $85 = (($84) + 36|0); + $85 = ((($84)) + 36|0); HEAP32[$85>>2] = $81; } else { $86 = HEAP32[$p>>2]|0; - $87 = (($86) + 4|0); + $87 = ((($86)) + 4|0); HEAP32[$87>>2] = $81; $88 = HEAP32[$p>>2]|0; - $89 = (($88) + 28|0); + $89 = ((($88)) + 28|0); $90 = HEAP8[$89>>0]|0; $91 = ($90<<24>>24)!=(0); if ($91) { $92 = HEAP32[$p>>2]|0; - $93 = (($92) + 29|0); + $93 = ((($92)) + 29|0); HEAP8[$93>>0] = 1; } } @@ -26892,14 +26727,14 @@ function _pcacheManageDirtyList($pPage,$addRemove) { $95 = HEAP32[$p>>2]|0; HEAP32[$95>>2] = $94; $96 = HEAP32[$p>>2]|0; - $97 = (($96) + 8|0); + $97 = ((($96)) + 8|0); $98 = HEAP32[$97>>2]|0; $99 = ($98|0)!=(0|0); if ($99) { STACKTOP = sp;return; } $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 24|0); + $101 = ((($100)) + 24|0); $102 = HEAP16[$101>>1]|0; $103 = $102&65535; $104 = $103 & 4; @@ -26909,7 +26744,7 @@ function _pcacheManageDirtyList($pPage,$addRemove) { } $106 = HEAP32[$0>>2]|0; $107 = HEAP32[$p>>2]|0; - $108 = (($107) + 8|0); + $108 = ((($107)) + 8|0); HEAP32[$108>>2] = $106; STACKTOP = sp;return; } @@ -26922,30 +26757,30 @@ function _pcacheUnpin($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 28|0); + $2 = ((($1)) + 28|0); $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 28|0); + $4 = ((($3)) + 28|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); if (!($6)) { STACKTOP = sp;return; } $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 20|0); + $8 = ((($7)) + 20|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(1); if ($10) { $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 28|0); + $12 = ((($11)) + 28|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 44|0); + $14 = ((($13)) + 44|0); HEAP32[$14>>2] = 0; } - $15 = HEAP32[((38640 + 136|0))>>2]|0; + $15 = HEAP32[(144)>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 28|0); + $17 = ((($16)) + 28|0); $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 40|0); + $19 = ((($18)) + 40|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$21>>2]|0; @@ -26966,25 +26801,25 @@ function _pcache1Alloc($nByte) { $1 = HEAP32[$0>>2]|0; _sqlite3StatusSet(7,$1); $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[((3136 + 32|0))>>2]|0; + $3 = HEAP32[(1012)>>2]|0; $4 = ($2|0)<=($3|0); if ($4) { - $5 = HEAP32[((3136 + 56|0))>>2]|0; + $5 = HEAP32[(1036)>>2]|0; HEAP32[$p>>2] = $5; $6 = HEAP32[$p>>2]|0; $7 = ($6|0)!=(0|0); if ($7) { - $8 = HEAP32[((3136 + 56|0))>>2]|0; + $8 = HEAP32[(1036)>>2]|0; $9 = HEAP32[$8>>2]|0; - HEAP32[((3136 + 56|0))>>2] = $9; - $10 = HEAP32[((3136 + 60|0))>>2]|0; + HEAP32[(1036)>>2] = $9; + $10 = HEAP32[(1040)>>2]|0; $11 = (($10) + -1)|0; - HEAP32[((3136 + 60|0))>>2] = $11; - $12 = HEAP32[((3136 + 60|0))>>2]|0; - $13 = HEAP32[((3136 + 40|0))>>2]|0; + HEAP32[(1040)>>2] = $11; + $12 = HEAP32[(1040)>>2]|0; + $13 = HEAP32[(1020)>>2]|0; $14 = ($12|0)<($13|0); $15 = $14&1; - HEAP32[((3136 + 64|0))>>2] = $15; + HEAP32[(1044)>>2] = $15; _sqlite3StatusAdd(1,1); } } @@ -27048,14 +26883,14 @@ function _sqlite3BitvecSet($p,$i) { var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aiValues = 0, $bin = 0, $h = 0, $j = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $h = sp + 16|0; - $bin = sp + 12|0; - $j = sp + 8|0; - $rc = sp + 4|0; - $aiValues = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $h = sp + 20|0; + $bin = sp + 28|0; + $j = sp; + $rc = sp + 12|0; + $aiValues = sp + 24|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $i; $3 = HEAP32[$1>>2]|0; @@ -27076,7 +26911,7 @@ function _sqlite3BitvecSet($p,$i) { break; } $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)!=(0); if (!($13)) { @@ -27084,35 +26919,35 @@ function _sqlite3BitvecSet($p,$i) { } $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; $18 = (($14>>>0) / ($17>>>0))&-1; HEAP32[$bin>>2] = $18; $19 = HEAP32[$2>>2]|0; $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 8|0); + $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; $23 = (($19>>>0) % ($22>>>0))&-1; HEAP32[$2>>2] = $23; $24 = HEAP32[$bin>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); $27 = (($26) + ($24<<2)|0); $28 = HEAP32[$27>>2]|0; $29 = ($28|0)==(0|0); if ($29) { $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = HEAP32[$31>>2]|0; $33 = (_sqlite3BitvecCreate($32)|0); $34 = HEAP32[$bin>>2]|0; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = (($36) + ($34<<2)|0); HEAP32[$37>>2] = $33; $38 = HEAP32[$bin>>2]|0; $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 12|0); + $40 = ((($39)) + 12|0); $41 = (($40) + ($38<<2)|0); $42 = HEAP32[$41>>2]|0; $43 = ($42|0)==(0|0); @@ -27123,7 +26958,7 @@ function _sqlite3BitvecSet($p,$i) { } $44 = HEAP32[$bin>>2]|0; $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 12|0); + $46 = ((($45)) + 12|0); $47 = (($46) + ($44<<2)|0); $48 = HEAP32[$47>>2]|0; HEAP32[$1>>2] = $48; @@ -27143,7 +26978,7 @@ function _sqlite3BitvecSet($p,$i) { $55 = HEAP32[$2>>2]|0; $56 = (($55>>>0) / 8)&-1; $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 12|0); + $58 = ((($57)) + 12|0); $59 = (($58) + ($56)|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; @@ -27161,7 +26996,7 @@ function _sqlite3BitvecSet($p,$i) { HEAP32[$h>>2] = $66; $67 = HEAP32[$h>>2]|0; $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 12|0); + $69 = ((($68)) + 12|0); $70 = (($69) + ($67<<2)|0); $71 = HEAP32[$70>>2]|0; $72 = ($71|0)!=(0); @@ -27170,7 +27005,7 @@ function _sqlite3BitvecSet($p,$i) { while(1) { $77 = HEAP32[$h>>2]|0; $78 = HEAP32[$1>>2]|0; - $79 = (($78) + 12|0); + $79 = ((($78)) + 12|0); $80 = (($79) + ($77<<2)|0); $81 = HEAP32[$80>>2]|0; $82 = HEAP32[$2>>2]|0; @@ -27187,7 +27022,7 @@ function _sqlite3BitvecSet($p,$i) { HEAP32[$h>>2] = $$; $88 = HEAP32[$h>>2]|0; $89 = HEAP32[$1>>2]|0; - $90 = (($89) + 12|0); + $90 = ((($89)) + 12|0); $91 = (($90) + ($88<<2)|0); $92 = HEAP32[$91>>2]|0; $93 = ($92|0)!=(0); @@ -27201,7 +27036,7 @@ function _sqlite3BitvecSet($p,$i) { STACKTOP = sp;return ($144|0); } else { $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 4|0); + $74 = ((($73)) + 4|0); $75 = HEAP32[$74>>2]|0; $76 = ($75>>>0)<(124); if (!($76)) { @@ -27211,7 +27046,7 @@ function _sqlite3BitvecSet($p,$i) { } while(0); if ((label|0) == 17) { $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 4|0); + $95 = ((($94)) + 4|0); $96 = HEAP32[$95>>2]|0; $97 = ($96>>>0)>=(62); if ($97) { @@ -27226,10 +27061,10 @@ function _sqlite3BitvecSet($p,$i) { } $101 = HEAP32[$aiValues>>2]|0; $102 = HEAP32[$1>>2]|0; - $103 = (($102) + 12|0); + $103 = ((($102)) + 12|0); _memcpy(($101|0),($103|0),500)|0; $104 = HEAP32[$1>>2]|0; - $105 = (($104) + 12|0); + $105 = ((($104)) + 12|0); _memset(($105|0),0,500)|0; $106 = HEAP32[$1>>2]|0; $107 = HEAP32[$106>>2]|0; @@ -27237,7 +27072,7 @@ function _sqlite3BitvecSet($p,$i) { $109 = (($108) - 1)|0; $110 = (($109>>>0) / 125)&-1; $111 = HEAP32[$1>>2]|0; - $112 = (($111) + 8|0); + $112 = ((($111)) + 8|0); HEAP32[$112>>2] = $110; $113 = HEAP32[$1>>2]|0; $114 = HEAP32[$2>>2]|0; @@ -27279,14 +27114,14 @@ function _sqlite3BitvecSet($p,$i) { } } $135 = HEAP32[$1>>2]|0; - $136 = (($135) + 4|0); + $136 = ((($135)) + 4|0); $137 = HEAP32[$136>>2]|0; $138 = (($137) + 1)|0; HEAP32[$136>>2] = $138; $139 = HEAP32[$2>>2]|0; $140 = HEAP32[$h>>2]|0; $141 = HEAP32[$1>>2]|0; - $142 = (($141) + 12|0); + $142 = ((($141)) + 12|0); $143 = (($142) + ($140<<2)|0); HEAP32[$143>>2] = $139; HEAP32[$0>>2] = 0; @@ -27305,13 +27140,13 @@ function _sqlite3BitvecClear($p,$i,$pBuf) { var $h = 0, $j = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $bin = sp + 12|0; - $j = sp + 8|0; - $aiValues = sp + 4|0; - $h = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $bin = sp + 24|0; + $j = sp + 4|0; + $aiValues = sp; + $h = sp + 12|0; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $i; HEAP32[$2>>2] = $pBuf; @@ -27325,7 +27160,7 @@ function _sqlite3BitvecClear($p,$i,$pBuf) { HEAP32[$1>>2] = $6; while(1) { $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0); if (!($10)) { @@ -27333,19 +27168,19 @@ function _sqlite3BitvecClear($p,$i,$pBuf) { } $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); $14 = HEAP32[$13>>2]|0; $15 = (($11>>>0) / ($14>>>0))&-1; HEAP32[$bin>>2] = $15; $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; $20 = (($16>>>0) % ($19>>>0))&-1; HEAP32[$1>>2] = $20; $21 = HEAP32[$bin>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 12|0); + $23 = ((($22)) + 12|0); $24 = (($23) + ($21<<2)|0); $25 = HEAP32[$24>>2]|0; HEAP32[$0>>2] = $25; @@ -27370,7 +27205,7 @@ function _sqlite3BitvecClear($p,$i,$pBuf) { $35 = HEAP32[$1>>2]|0; $36 = (($35>>>0) / 8)&-1; $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 12|0); + $38 = ((($37)) + 12|0); $39 = (($38) + ($36)|0); $40 = HEAP8[$39>>0]|0; $41 = $40&255; @@ -27383,13 +27218,13 @@ function _sqlite3BitvecClear($p,$i,$pBuf) { HEAP32[$aiValues>>2] = $44; $45 = HEAP32[$aiValues>>2]|0; $46 = HEAP32[$0>>2]|0; - $47 = (($46) + 12|0); + $47 = ((($46)) + 12|0); _memcpy(($45|0),($47|0),500)|0; $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 12|0); + $49 = ((($48)) + 12|0); _memset(($49|0),0,500)|0; $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 4|0); + $51 = ((($50)) + 4|0); HEAP32[$51>>2] = 0; HEAP32[$j>>2] = 0; while(1) { @@ -27421,14 +27256,14 @@ function _sqlite3BitvecClear($p,$i,$pBuf) { $72 = (($71>>>0) % 125)&-1; HEAP32[$h>>2] = $72; $73 = HEAP32[$0>>2]|0; - $74 = (($73) + 4|0); + $74 = ((($73)) + 4|0); $75 = HEAP32[$74>>2]|0; $76 = (($75) + 1)|0; HEAP32[$74>>2] = $76; while(1) { $77 = HEAP32[$h>>2]|0; $78 = HEAP32[$0>>2]|0; - $79 = (($78) + 12|0); + $79 = ((($78)) + 12|0); $80 = (($79) + ($77<<2)|0); $81 = HEAP32[$80>>2]|0; $82 = ($81|0)!=(0); @@ -27449,7 +27284,7 @@ function _sqlite3BitvecClear($p,$i,$pBuf) { $90 = HEAP32[$89>>2]|0; $91 = HEAP32[$h>>2]|0; $92 = HEAP32[$0>>2]|0; - $93 = (($92) + 12|0); + $93 = ((($92)) + 12|0); $94 = (($93) + ($91<<2)|0); HEAP32[$94>>2] = $90; } @@ -27500,7 +27335,7 @@ function _sqlite3BitvecTest($p,$i) { HEAP32[$2>>2] = $12; while(1) { $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)!=(0); if (!($16)) { @@ -27508,19 +27343,19 @@ function _sqlite3BitvecTest($p,$i) { } $17 = HEAP32[$2>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = (($17>>>0) / ($20>>>0))&-1; HEAP32[$bin>>2] = $21; $22 = HEAP32[$2>>2]|0; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; $26 = (($22>>>0) % ($25>>>0))&-1; HEAP32[$2>>2] = $26; $27 = HEAP32[$bin>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 12|0); + $29 = ((($28)) + 12|0); $30 = (($29) + ($27<<2)|0); $31 = HEAP32[$30>>2]|0; HEAP32[$1>>2] = $31; @@ -27543,7 +27378,7 @@ function _sqlite3BitvecTest($p,$i) { if ($36) { $38 = (($37>>>0) / 8)&-1; $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 12|0); + $40 = ((($39)) + 12|0); $41 = (($40) + ($38)|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; @@ -27565,7 +27400,7 @@ function _sqlite3BitvecTest($p,$i) { while(1) { $53 = HEAP32[$h>>2]|0; $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 12|0); + $55 = ((($54)) + 12|0); $56 = (($55) + ($53<<2)|0); $57 = HEAP32[$56>>2]|0; $58 = ($57|0)!=(0); @@ -27575,7 +27410,7 @@ function _sqlite3BitvecTest($p,$i) { } $59 = HEAP32[$h>>2]|0; $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 12|0); + $61 = ((($60)) + 12|0); $62 = (($61) + ($59<<2)|0); $63 = HEAP32[$62>>2]|0; $64 = HEAP32[$2>>2]|0; @@ -27599,7 +27434,7 @@ function _sqlite3BitvecTest($p,$i) { $69 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($69|0); } - return 0|0; + return (0)|0; } function _sqlite3BitvecSize($p) { $p = $p|0; @@ -27626,7 +27461,7 @@ function _sqlite3BitvecDestroy($p) { STACKTOP = sp;return; } $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0); L4: do { @@ -27640,7 +27475,7 @@ function _sqlite3BitvecDestroy($p) { } $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 12|0); + $11 = ((($10)) + 12|0); $12 = (($11) + ($9<<2)|0); $13 = HEAP32[$12>>2]|0; _sqlite3BitvecDestroy($13); @@ -27681,7 +27516,7 @@ function _sqlite3FindCollSeq($db,$enc,$zName,$create) { $9 = (_findCollSeqEntry($6,$7,$8)|0); HEAP32[$pColl>>2] = $9; } else { - $10 = (($6) + 8|0); + $10 = ((($6)) + 8|0); $11 = HEAP32[$10>>2]|0; HEAP32[$pColl>>2] = $11; } @@ -27717,33 +27552,33 @@ function _invalidateCachedKeyInfo($db) { HEAP32[$0>>2] = $db; HEAP32[$iDb>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); + $2 = ((($1)) + 16|0); $3 = HEAP32[$2>>2]|0; HEAP32[$pDb>>2] = $3; while(1) { $4 = HEAP32[$iDb>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 20|0); + $6 = ((($5)) + 20|0); $7 = HEAP32[$6>>2]|0; $8 = ($4|0)<($7|0); if (!($8)) { break; } $9 = HEAP32[$pDb>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0|0); L4: do { if (!($12)) { $13 = HEAP32[$pDb>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; _sqlite3BtreeEnter($15); $16 = HEAP32[$pDb>>2]|0; - $17 = (($16) + 12|0); + $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 8|0); - $20 = (($19) + 8|0); + $19 = ((($18)) + 8|0); + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; HEAP32[$k>>2] = $21; while(1) { @@ -27753,11 +27588,11 @@ function _invalidateCachedKeyInfo($db) { break L4; } $24 = HEAP32[$k>>2]|0; - $25 = (($24) + 8|0); + $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; HEAP32[$pTab>>2] = $26; $27 = HEAP32[$pTab>>2]|0; - $28 = (($27) + 8|0); + $28 = ((($27)) + 8|0); $29 = HEAP32[$28>>2]|0; HEAP32[$pIdx>>2] = $29; while(1) { @@ -27767,29 +27602,29 @@ function _invalidateCachedKeyInfo($db) { break; } $32 = HEAP32[$pIdx>>2]|0; - $33 = (($32) + 40|0); + $33 = ((($32)) + 40|0); $34 = HEAP32[$33>>2]|0; $35 = ($34|0)!=(0|0); if ($35) { $36 = HEAP32[$pIdx>>2]|0; - $37 = (($36) + 40|0); + $37 = ((($36)) + 40|0); $38 = HEAP32[$37>>2]|0; - $39 = (($38) + 12|0); + $39 = ((($38)) + 12|0); $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$0>>2]|0; $42 = ($40|0)==($41|0); if ($42) { $43 = HEAP32[$pIdx>>2]|0; - $44 = (($43) + 40|0); + $44 = ((($43)) + 40|0); $45 = HEAP32[$44>>2]|0; _sqlite3KeyInfoUnref($45); $46 = HEAP32[$pIdx>>2]|0; - $47 = (($46) + 40|0); + $47 = ((($46)) + 40|0); HEAP32[$47>>2] = 0; } } $48 = HEAP32[$pIdx>>2]|0; - $49 = (($48) + 20|0); + $49 = ((($48)) + 20|0); $50 = HEAP32[$49>>2]|0; HEAP32[$pIdx>>2] = $50; } @@ -27803,7 +27638,7 @@ function _invalidateCachedKeyInfo($db) { $54 = (($53) + 1)|0; HEAP32[$iDb>>2] = $54; $55 = HEAP32[$pDb>>2]|0; - $56 = (($55) + 16|0); + $56 = ((($55)) + 16|0); HEAP32[$pDb>>2] = $56; } STACKTOP = sp;return; @@ -27831,7 +27666,7 @@ function _sqlite3HashFind($pH,$pKey) { STACKTOP = sp;return ($10|0); } $7 = HEAP32[$elem>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = $9; STACKTOP = sp;return ($10|0); @@ -27845,19 +27680,19 @@ function _findElementWithHash($pH,$pKey,$pHash) { var $7 = 0, $8 = 0, $9 = 0, $count = 0, $elem = 0, $h = 0, $pEntry = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $elem = sp + 12|0; - $count = sp + 8|0; - $h = sp + 4|0; - $pEntry = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $elem = sp + 28|0; + $count = sp; + $h = sp + 12|0; + $pEntry = sp + 24|0; HEAP32[$1>>2] = $pH; HEAP32[$2>>2] = $pKey; HEAP32[$3>>2] = $pHash; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 12|0); + $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0|0); if ($7) { @@ -27869,12 +27704,12 @@ function _findElementWithHash($pH,$pKey,$pHash) { HEAP32[$h>>2] = $12; $13 = HEAP32[$h>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + ($13<<3)|0); HEAP32[$pEntry>>2] = $17; $18 = HEAP32[$pEntry>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; HEAP32[$elem>>2] = $20; $21 = HEAP32[$pEntry>>2]|0; @@ -27883,11 +27718,11 @@ function _findElementWithHash($pH,$pKey,$pHash) { } else { HEAP32[$h>>2] = 0; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; HEAP32[$elem>>2] = $25; $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; HEAP32[$count>>2] = $28; } @@ -27904,7 +27739,7 @@ function _findElementWithHash($pH,$pKey,$pHash) { break; } $34 = HEAP32[$elem>>2]|0; - $35 = (($34) + 12|0); + $35 = ((($34)) + 12|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$2>>2]|0; $38 = (_sqlite3_stricmp($36,$37)|0); @@ -27927,7 +27762,7 @@ function _findElementWithHash($pH,$pKey,$pHash) { $42 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($42|0); } - return 0|0; + return (0)|0; } function _strHash($z) { $z = $z|0; @@ -27941,7 +27776,7 @@ function _strHash($z) { HEAP32[$h>>2] = 0; while(1) { $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 1|0); + $2 = ((($1)) + 1|0); HEAP32[$0>>2] = $2; $3 = HEAP8[$1>>0]|0; HEAP8[$c>>0] = $3; @@ -27956,7 +27791,7 @@ function _strHash($z) { $9 = $7 ^ $8; $10 = HEAP8[$c>>0]|0; $11 = $10&255; - $12 = (440 + ($11)|0); + $12 = (13848 + ($11)|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = $9 ^ $14; @@ -28010,7 +27845,7 @@ function _findCollSeqEntry($db,$zName,$create) { HEAP32[$1>>2] = $zName; HEAP32[$2>>2] = $create; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 428|0); + $4 = ((($3)) + 428|0); $5 = HEAP32[$1>>2]|0; $6 = (_sqlite3HashFind($4,$5)|0); HEAP32[$pColl>>2] = $6; @@ -28040,29 +27875,29 @@ function _findCollSeqEntry($db,$zName,$create) { } HEAP32[$pDel>>2] = 0; $20 = HEAP32[$pColl>>2]|0; - $21 = (($20) + 60|0); + $21 = ((($20)) + 60|0); $22 = HEAP32[$pColl>>2]|0; HEAP32[$22>>2] = $21; $23 = HEAP32[$pColl>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); HEAP8[$24>>0] = 1; $25 = HEAP32[$pColl>>2]|0; - $26 = (($25) + 60|0); + $26 = ((($25)) + 60|0); $27 = HEAP32[$pColl>>2]|0; - $28 = (($27) + 20|0); + $28 = ((($27)) + 20|0); HEAP32[$28>>2] = $26; $29 = HEAP32[$pColl>>2]|0; - $30 = (($29) + 20|0); - $31 = (($30) + 4|0); + $30 = ((($29)) + 20|0); + $31 = ((($30)) + 4|0); HEAP8[$31>>0] = 2; $32 = HEAP32[$pColl>>2]|0; - $33 = (($32) + 60|0); + $33 = ((($32)) + 60|0); $34 = HEAP32[$pColl>>2]|0; - $35 = (($34) + 40|0); + $35 = ((($34)) + 40|0); HEAP32[$35>>2] = $33; $36 = HEAP32[$pColl>>2]|0; - $37 = (($36) + 40|0); - $38 = (($37) + 4|0); + $37 = ((($36)) + 40|0); + $38 = ((($37)) + 4|0); HEAP8[$38>>0] = 3; $39 = HEAP32[$pColl>>2]|0; $40 = HEAP32[$39>>2]|0; @@ -28075,7 +27910,7 @@ function _findCollSeqEntry($db,$zName,$create) { $46 = (($45) + ($43)|0); HEAP8[$46>>0] = 0; $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 428|0); + $48 = ((($47)) + 428|0); $49 = HEAP32[$pColl>>2]|0; $50 = HEAP32[$49>>2]|0; $51 = HEAP32[$pColl>>2]|0; @@ -28088,7 +27923,7 @@ function _findCollSeqEntry($db,$zName,$create) { STACKTOP = sp;return ($59|0); } $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 64|0); + $56 = ((($55)) + 64|0); HEAP8[$56>>0] = 1; $57 = HEAP32[$0>>2]|0; $58 = HEAP32[$pDel>>2]|0; @@ -28108,14 +27943,14 @@ function _sqlite3HashInsert($pH,$pKey,$data) { var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $h = sp + 12|0; - $elem = sp + 8|0; - $new_elem = sp + 4|0; - $old_data = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $h = sp + 28|0; + $elem = sp; + $new_elem = sp + 12|0; + $old_data = sp + 24|0; HEAP32[$1>>2] = $pH; HEAP32[$2>>2] = $pKey; HEAP32[$3>>2] = $data; @@ -28127,7 +27962,7 @@ function _sqlite3HashInsert($pH,$pKey,$data) { $8 = ($7|0)!=(0|0); if ($8) { $9 = HEAP32[$elem>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; HEAP32[$old_data>>2] = $11; $12 = HEAP32[$3>>2]|0; @@ -28140,11 +27975,11 @@ function _sqlite3HashInsert($pH,$pKey,$data) { } else { $17 = HEAP32[$3>>2]|0; $18 = HEAP32[$elem>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); HEAP32[$19>>2] = $17; $20 = HEAP32[$2>>2]|0; $21 = HEAP32[$elem>>2]|0; - $22 = (($21) + 12|0); + $22 = ((($21)) + 12|0); HEAP32[$22>>2] = $20; } $23 = HEAP32[$old_data>>2]|0; @@ -28171,24 +28006,24 @@ function _sqlite3HashInsert($pH,$pKey,$data) { } $30 = HEAP32[$2>>2]|0; $31 = HEAP32[$new_elem>>2]|0; - $32 = (($31) + 12|0); + $32 = ((($31)) + 12|0); HEAP32[$32>>2] = $30; $33 = HEAP32[$3>>2]|0; $34 = HEAP32[$new_elem>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); HEAP32[$35>>2] = $33; $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 4|0); + $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; $39 = (($38) + 1)|0; HEAP32[$37>>2] = $39; $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 4|0); + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; $43 = ($42>>>0)>=(10); if ($43) { $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$1>>2]|0; $48 = HEAP32[$47>>2]|0; @@ -28197,7 +28032,7 @@ function _sqlite3HashInsert($pH,$pKey,$data) { if ($50) { $51 = HEAP32[$1>>2]|0; $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 4|0); + $53 = ((($52)) + 4|0); $54 = HEAP32[$53>>2]|0; $55 = $54<<1; $56 = (_rehash($51,$55)|0); @@ -28214,13 +28049,13 @@ function _sqlite3HashInsert($pH,$pKey,$data) { } $63 = HEAP32[$1>>2]|0; $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 12|0); + $65 = ((($64)) + 12|0); $66 = HEAP32[$65>>2]|0; $67 = ($66|0)!=(0|0); if ($67) { $68 = HEAP32[$h>>2]|0; $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 12|0); + $70 = ((($69)) + 12|0); $71 = HEAP32[$70>>2]|0; $72 = (($71) + ($68<<3)|0); $74 = $72; @@ -28250,19 +28085,19 @@ function _removeElementGivenHash($pH,$elem,$h) { HEAP32[$1>>2] = $elem; HEAP32[$2>>2] = $h; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$7>>2]|0; if ($6) { $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; HEAP32[$11>>2] = $8; } else { $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); HEAP32[$13>>2] = $8; } $14 = HEAP32[$1>>2]|0; @@ -28270,26 +28105,26 @@ function _removeElementGivenHash($pH,$elem,$h) { $16 = ($15|0)!=(0|0); if ($16) { $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); HEAP32[$22>>2] = $19; } $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 12|0); + $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0|0); if ($26) { $27 = HEAP32[$2>>2]|0; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 12|0); + $29 = ((($28)) + 12|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + ($27<<3)|0); HEAP32[$pEntry>>2] = $31; $32 = HEAP32[$pEntry>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$1>>2]|0; $36 = ($34|0)==($35|0); @@ -28297,7 +28132,7 @@ function _removeElementGivenHash($pH,$elem,$h) { $37 = HEAP32[$1>>2]|0; $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$pEntry>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); HEAP32[$40>>2] = $38; } $41 = HEAP32[$pEntry>>2]|0; @@ -28308,12 +28143,12 @@ function _removeElementGivenHash($pH,$elem,$h) { $44 = HEAP32[$1>>2]|0; _sqlite3_free($44); $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 4|0); + $46 = ((($45)) + 4|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + -1)|0; HEAP32[$46>>2] = $48; $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 4|0); + $50 = ((($49)) + 4|0); $51 = HEAP32[$50>>2]|0; $52 = ($51|0)==(0); if (!($52)) { @@ -28331,13 +28166,13 @@ function _rehash($pH,$new_size) { var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $elem = 0, $h = 0, $new_ht = 0, $next_elem = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $new_ht = sp + 12|0; - $elem = sp + 8|0; - $next_elem = sp + 4|0; - $h = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $new_ht = sp + 24|0; + $elem = sp + 4|0; + $next_elem = sp; + $h = sp + 12|0; HEAP32[$1>>2] = $pH; HEAP32[$2>>2] = $new_size; $3 = HEAP32[$2>>2]|0; @@ -28368,12 +28203,12 @@ function _rehash($pH,$new_size) { STACKTOP = sp;return ($49|0); } $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; _sqlite3_free($17); $18 = HEAP32[$new_ht>>2]|0; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 12|0); + $20 = ((($19)) + 12|0); HEAP32[$20>>2] = $18; $21 = HEAP32[$new_ht>>2]|0; $22 = (_sqlite3MallocSize($21)|0); @@ -28386,11 +28221,11 @@ function _rehash($pH,$new_size) { $27 = $26<<3; _memset(($25|0),0,($27|0))|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 8|0); + $29 = ((($28)) + 8|0); $30 = HEAP32[$29>>2]|0; HEAP32[$elem>>2] = $30; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 8|0); + $32 = ((($31)) + 8|0); HEAP32[$32>>2] = 0; while(1) { $33 = HEAP32[$elem>>2]|0; @@ -28399,7 +28234,7 @@ function _rehash($pH,$new_size) { break; } $35 = HEAP32[$elem>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = HEAP32[$36>>2]|0; $38 = (_strHash($37)|0); $39 = HEAP32[$2>>2]|0; @@ -28446,7 +28281,7 @@ function _insertElement($pH,$pEntry,$pNew) { $7 = ($6|0)!=(0); if ($7) { $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = $10; } else { @@ -28459,7 +28294,7 @@ function _insertElement($pH,$pEntry,$pNew) { HEAP32[$12>>2] = $14; $15 = HEAP32[$2>>2]|0; $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); HEAP32[$17>>2] = $15; } else { HEAP32[$pHead>>2] = 0; @@ -28468,28 +28303,28 @@ function _insertElement($pH,$pEntry,$pNew) { $19 = ($18|0)!=(0|0); if (!($19)) { $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 8|0); + $41 = ((($40)) + 8|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$2>>2]|0; HEAP32[$43>>2] = $42; $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 8|0); + $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; $47 = ($46|0)!=(0|0); if ($47) { $48 = HEAP32[$2>>2]|0; $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 8|0); + $50 = ((($49)) + 8|0); $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 4|0); + $52 = ((($51)) + 4|0); HEAP32[$52>>2] = $48; } $53 = HEAP32[$2>>2]|0; - $54 = (($53) + 4|0); + $54 = ((($53)) + 4|0); HEAP32[$54>>2] = 0; $55 = HEAP32[$2>>2]|0; $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 8|0); + $57 = ((($56)) + 8|0); HEAP32[$57>>2] = $55; STACKTOP = sp;return; } @@ -28497,55 +28332,55 @@ function _insertElement($pH,$pEntry,$pNew) { $21 = HEAP32[$2>>2]|0; HEAP32[$21>>2] = $20; $22 = HEAP32[$pHead>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); HEAP32[$26>>2] = $24; $27 = HEAP32[$pHead>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = ($29|0)!=(0|0); $31 = HEAP32[$2>>2]|0; if ($30) { $32 = HEAP32[$pHead>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; HEAP32[$34>>2] = $31; } else { $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 8|0); + $36 = ((($35)) + 8|0); HEAP32[$36>>2] = $31; } $37 = HEAP32[$2>>2]|0; $38 = HEAP32[$pHead>>2]|0; - $39 = (($38) + 4|0); + $39 = ((($38)) + 4|0); HEAP32[$39>>2] = $37; STACKTOP = sp;return; } function _sqlite3BeginBenignMalloc() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3208>>2]|0; + $0 = HEAP32[1048>>2]|0; $1 = ($0|0)!=(0|0); if (!($1)) { - STACKTOP = sp;return; + return; } - $2 = HEAP32[3208>>2]|0; + $2 = HEAP32[1048>>2]|0; FUNCTION_TABLE_v[$2 & 0](); - STACKTOP = sp;return; + return; } function _sqlite3EndBenignMalloc() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[((3208 + 4|0))>>2]|0; + $0 = HEAP32[(1052)>>2]|0; $1 = ($0|0)!=(0|0); if (!($1)) { - STACKTOP = sp;return; + return; } - $2 = HEAP32[((3208 + 4|0))>>2]|0; + $2 = HEAP32[(1052)>>2]|0; FUNCTION_TABLE_v[$2 & 0](); - STACKTOP = sp;return; + return; } function _sqlite3HashClear($pH) { $pH = $pH|0; @@ -28558,18 +28393,18 @@ function _sqlite3HashClear($pH) { $next_elem = sp; HEAP32[$0>>2] = $pH; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; HEAP32[$elem>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); HEAP32[$5>>2] = 0; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; _sqlite3_free($8); $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 12|0); + $10 = ((($9)) + 12|0); HEAP32[$10>>2] = 0; $11 = HEAP32[$0>>2]|0; HEAP32[$11>>2] = 0; @@ -28588,7 +28423,7 @@ function _sqlite3HashClear($pH) { HEAP32[$elem>>2] = $17; } $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); HEAP32[$19>>2] = 0; STACKTOP = sp;return; } @@ -28600,15 +28435,15 @@ function _sqlite3HashInit($pNew) { $0 = sp; HEAP32[$0>>2] = $pNew; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); HEAP32[$2>>2] = 0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); HEAP32[$4>>2] = 0; $5 = HEAP32[$0>>2]|0; HEAP32[$5>>2] = 0; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); HEAP32[$7>>2] = 0; STACKTOP = sp;return; } @@ -28623,13 +28458,13 @@ function _binCollFunc($padFlag,$nKey1,$pKey1,$nKey2,$pKey2) { var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $n = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $rc = sp; + $n = sp + 12|0; HEAP32[$0>>2] = $padFlag; HEAP32[$1>>2] = $nKey1; HEAP32[$2>>2] = $pKey1; @@ -28737,58 +28572,61 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $ppVfs = $ppVfs|0; $pzFile = $pzFile|0; $pzErrMsg = $pzErrMsg|0; - var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; - var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; - var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aMode = 0, $c = 0, $eState = 0, $flags = 0, $i = 0, $iIn = 0, $iOut = 0, $limit = 0, $mask = 0, $mode = 0, $nByte = 0, $nOpt = 0, $nUri = 0, $nVal = 0, $octet = 0; - var $or$cond = 0, $rc = 0, $vararg_buffer19 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $z = 0, $zFile = 0, $zModeType = 0, $zOpt = 0, $zVal = 0, $zVfs = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $aMode = 0, $c = 0, $eState = 0, $flags = 0, $i = 0, $iIn = 0, $iOut = 0, $limit = 0, $mask = 0, $mode = 0, $nByte = 0, $nOpt = 0, $nUri = 0, $nVal = 0, $octet = 0, $or$cond = 0, $or$cond3 = 0; + var $rc = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $z = 0, $zFile = 0, $zModeType = 0, $zOpt = 0, $zVal = 0, $zVfs = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer19 = sp; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $4 = sp + 100|0; - $5 = sp + 96|0; - $6 = sp + 92|0; - $rc = sp + 88|0; - $flags = sp + 84|0; - $zVfs = sp + 80|0; - $zFile = sp + 76|0; - $c = sp + 120|0; - $nUri = sp + 72|0; - $zOpt = sp + 68|0; - $eState = sp + 64|0; - $iIn = sp + 60|0; - $iOut = sp + 56|0; - $nByte = sp + 52|0; - $octet = sp + 48|0; - $nOpt = sp + 44|0; - $zVal = sp + 40|0; - $nVal = sp + 36|0; - $aMode = sp + 32|0; - $zModeType = sp + 28|0; - $mask = sp + 24|0; - $limit = sp + 20|0; - $i = sp + 16|0; - $mode = sp + 12|0; - $z = sp + 8|0; + STACKTOP = STACKTOP + 160|0; + $vararg_buffer21 = sp + 16|0; + $vararg_buffer17 = sp; + $vararg_buffer13 = sp + 8|0; + $vararg_buffer = sp + 24|0; + $0 = sp + 68|0; + $1 = sp + 120|0; + $2 = sp + 116|0; + $3 = sp + 124|0; + $4 = sp + 60|0; + $5 = sp + 40|0; + $6 = sp + 44|0; + $rc = sp + 92|0; + $flags = sp + 48|0; + $zVfs = sp + 52|0; + $zFile = sp + 112|0; + $c = sp + 144|0; + $nUri = sp + 128|0; + $zOpt = sp + 132|0; + $eState = sp + 72|0; + $iIn = sp + 88|0; + $iOut = sp + 76|0; + $nByte = sp + 80|0; + $octet = sp + 84|0; + $nOpt = sp + 36|0; + $zVal = sp + 96|0; + $nVal = sp + 104|0; + $aMode = sp + 56|0; + $zModeType = sp + 108|0; + $mask = sp + 32|0; + $limit = sp + 100|0; + $i = sp + 136|0; + $mode = sp + 64|0; + $z = sp + 140|0; HEAP32[$1>>2] = $zDefaultVfs; HEAP32[$2>>2] = $zUri; HEAP32[$3>>2] = $pFlags; @@ -28807,30 +28645,16 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $12 = HEAP32[$flags>>2]|0; $13 = $12 & 64; $14 = ($13|0)!=(0); - if ($14) { - $$old = HEAP32[$nUri>>2]|0; - $$old1 = ($$old|0)>=(5); - if ($$old1) { - label = 4; - } else { - label = 83; - } - } else { - $15 = HEAP32[((38640 + 12|0))>>2]|0; - $16 = ($15|0)!=(0); - $17 = HEAP32[$nUri>>2]|0; - $18 = ($17|0)>=(5); - $or$cond = $16 & $18; - if ($or$cond) { - label = 4; - } else { - label = 83; - } - } - L4: do { - if ((label|0) == 4) { + $15 = HEAP32[(20)>>2]|0; + $16 = ($15|0)!=(0); + $or$cond = $14 | $16; + $17 = HEAP32[$nUri>>2]|0; + $18 = ($17|0)>=(5); + $or$cond3 = $or$cond & $18; + L1: do { + if ($or$cond3) { $19 = HEAP32[$2>>2]|0; - $20 = (_memcmp($19,4608,5)|0); + $20 = (_memcmp($19,17606,5)|0); $21 = ($20|0)==(0); if ($21) { HEAP32[$iOut>>2] = 0; @@ -28874,14 +28698,14 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { } HEAP32[$iIn>>2] = 5; $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 5|0); + $45 = ((($44)) + 5|0); $46 = HEAP8[$45>>0]|0; $47 = $46 << 24 >> 24; $48 = ($47|0)==(47); do { if ($48) { $49 = HEAP32[$2>>2]|0; - $50 = (($49) + 6|0); + $50 = ((($49)) + 6|0); $51 = HEAP8[$50>>0]|0; $52 = $51 << 24 >> 24; $53 = ($52|0)==(47); @@ -28918,8 +28742,8 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $70 = ($69|0)!=(16); if (!($70)) { $71 = HEAP32[$2>>2]|0; - $72 = (($71) + 7|0); - $73 = (_memcmp(4616,$72,9)|0); + $72 = ((($71)) + 7|0); + $73 = (_memcmp(17612,$72,9)|0); $74 = ($73|0)!=(0); if (!($74)) { break; @@ -28928,21 +28752,21 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $75 = HEAP32[$iIn>>2]|0; $76 = (($75) - 7)|0; $77 = HEAP32[$2>>2]|0; - $78 = (($77) + 7|0); - HEAP32[$vararg_buffer19>>2] = $76; - $vararg_ptr10 = (($vararg_buffer19) + 4|0); - HEAP32[$vararg_ptr10>>2] = $78; - $79 = (_sqlite3_mprintf(4632,$vararg_buffer19)|0); + $78 = ((($77)) + 7|0); + HEAP32[$vararg_buffer>>2] = $76; + $vararg_ptr12 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $78; + $79 = (_sqlite3_mprintf(17622,$vararg_buffer)|0); $80 = HEAP32[$6>>2]|0; HEAP32[$80>>2] = $79; HEAP32[$rc>>2] = 1; - break L4; + break L1; } } } } while(0); HEAP32[$eState>>2] = 0; - L30: while(1) { + L27: while(1) { $81 = HEAP32[$iIn>>2]|0; $82 = HEAP32[$2>>2]|0; $83 = (($82) + ($81)|0); @@ -28972,7 +28796,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $97 = (($96) + ($95)|0); $98 = HEAP8[$97>>0]|0; $99 = $98&255; - $100 = (1224 + ($99)|0); + $100 = (14426 + ($99)|0); $101 = HEAP8[$100>>0]|0; $102 = $101&255; $103 = $102 & 8; @@ -28984,7 +28808,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $108 = (($107) + ($106)|0); $109 = HEAP8[$108>>0]|0; $110 = $109&255; - $111 = (1224 + ($110)|0); + $111 = (14426 + ($110)|0); $112 = HEAP8[$111>>0]|0; $113 = $112&255; $114 = $113 & 8; @@ -29030,13 +28854,13 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $141 = $140 << 24 >> 24; $142 = ($141|0)!=(0); if (!($142)) { - continue L30; + continue L27; } $143 = HEAP8[$c>>0]|0; $144 = $143 << 24 >> 24; $145 = ($144|0)!=(35); if (!($145)) { - continue L30; + continue L27; } $146 = HEAP32[$eState>>2]|0; $147 = ($146|0)!=(0); @@ -29045,7 +28869,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $149 = $148 << 24 >> 24; $150 = ($149|0)!=(63); if (!($150)) { - continue L30; + continue L27; } } $151 = HEAP32[$eState>>2]|0; @@ -29055,13 +28879,13 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $154 = $153 << 24 >> 24; $155 = ($154|0)!=(61); if (!($155)) { - continue L30; + continue L27; } $156 = HEAP8[$c>>0]|0; $157 = $156 << 24 >> 24; $158 = ($157|0)!=(38); if (!($158)) { - continue L30; + continue L27; } } $159 = HEAP32[$eState>>2]|0; @@ -29071,7 +28895,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $162 = $161 << 24 >> 24; $163 = ($162|0)!=(38); if (!($163)) { - continue L30; + continue L27; } } $164 = HEAP32[$iIn>>2]|0; @@ -29079,17 +28903,17 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { HEAP32[$iIn>>2] = $165; } } else { - label = 39; + label = 37; } } else { - label = 39; + label = 37; } } else { - label = 39; + label = 37; } } while(0); - L54: do { - if ((label|0) == 39) { + L51: do { + if ((label|0) == 37) { label = 0; $168 = HEAP32[$eState>>2]|0; $169 = ($168|0)==(1); @@ -29122,7 +28946,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $187 = $186 << 24 >> 24; $188 = ($187|0)!=(0); if (!($188)) { - continue L30; + continue L27; } $189 = HEAP32[$iIn>>2]|0; $190 = HEAP32[$2>>2]|0; @@ -29131,7 +28955,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $193 = $192 << 24 >> 24; $194 = ($193|0)!=(35); if (!($194)) { - continue L30; + continue L27; } $195 = HEAP32[$iIn>>2]|0; $196 = (($195) - 1)|0; @@ -29141,7 +28965,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $200 = $199 << 24 >> 24; $201 = ($200|0)!=(38); if (!($201)) { - continue L30; + continue L27; } $202 = HEAP32[$iIn>>2]|0; $203 = (($202) + 1)|0; @@ -29162,7 +28986,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { HEAP32[$eState>>2] = 2; } HEAP8[$c>>0] = 0; - break L54; + break L51; } } } while(0); @@ -29173,12 +28997,12 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $214 = $213 << 24 >> 24; $215 = ($214|0)==(63); if (!($215)) { - label = 53; + label = 51; } } else { - label = 53; + label = 51; } - if ((label|0) == 53) { + if ((label|0) == 51) { label = 0; $216 = HEAP32[$eState>>2]|0; $217 = ($216|0)==(2); @@ -29237,8 +29061,8 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $246 = HEAP8[$245>>0]|0; $247 = ($246<<24>>24)!=(0); if (!($247)) { - label = 86; - break L4; + label = 84; + break L1; } $248 = HEAP32[$zOpt>>2]|0; $249 = (_sqlite3Strlen30($248)|0); @@ -29255,18 +29079,18 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $257 = ($256|0)==(3); if ($257) { $258 = HEAP32[$zOpt>>2]|0; - $259 = (_memcmp(4664,$258,3)|0); + $259 = (_memcmp(17650,$258,3)|0); $260 = ($259|0)==(0); if ($260) { $261 = HEAP32[$zVal>>2]|0; HEAP32[$zVfs>>2] = $261; } else { - label = 64; + label = 62; } } else { - label = 64; + label = 62; } - if ((label|0) == 64) { + if ((label|0) == 62) { label = 0; HEAP32[$aMode>>2] = 0; HEAP32[$zModeType>>2] = 0; @@ -29276,30 +29100,30 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $263 = ($262|0)==(5); if ($263) { $264 = HEAP32[$zOpt>>2]|0; - $265 = (_memcmp(4672,$264,5)|0); + $265 = (_memcmp(17654,$264,5)|0); $266 = ($265|0)==(0); if ($266) { HEAP32[$mask>>2] = 393216; - HEAP32[$aMode>>2] = 4680; + HEAP32[$aMode>>2] = 2096; $267 = HEAP32[$mask>>2]|0; HEAP32[$limit>>2] = $267; - HEAP32[$zModeType>>2] = 4672; + HEAP32[$zModeType>>2] = 17654; } } $268 = HEAP32[$nOpt>>2]|0; $269 = ($268|0)==(4); if ($269) { $270 = HEAP32[$zOpt>>2]|0; - $271 = (_memcmp(4720,$270,4)|0); + $271 = (_memcmp(17660,$270,4)|0); $272 = ($271|0)==(0); if ($272) { HEAP32[$mask>>2] = 135; - HEAP32[$aMode>>2] = 4728; + HEAP32[$aMode>>2] = 2120; $273 = HEAP32[$mask>>2]|0; $274 = HEAP32[$flags>>2]|0; $275 = $273 & $274; HEAP32[$limit>>2] = $275; - HEAP32[$zModeType>>2] = 4800; + HEAP32[$zModeType>>2] = 17665; } } $276 = HEAP32[$aMode>>2]|0; @@ -29332,7 +29156,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $294 = (_memcmp($291,$292,$293)|0); $295 = (0)==($294|0); if ($295) { - label = 75; + label = 73; break; } } @@ -29340,19 +29164,19 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $302 = (($301) + 1)|0; HEAP32[$i>>2] = $302; } - if ((label|0) == 75) { + if ((label|0) == 73) { label = 0; $296 = HEAP32[$i>>2]|0; $297 = HEAP32[$aMode>>2]|0; $298 = (($297) + ($296<<3)|0); - $299 = (($298) + 4|0); + $299 = ((($298)) + 4|0); $300 = HEAP32[$299>>2]|0; HEAP32[$mode>>2] = $300; } $303 = HEAP32[$mode>>2]|0; $304 = ($303|0)==(0); if ($304) { - label = 78; + label = 76; break; } $309 = HEAP32[$mode>>2]|0; @@ -29360,7 +29184,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $311 = HEAP32[$limit>>2]|0; $312 = ($310|0)>($311|0); if ($312) { - label = 80; + label = 78; break; } $317 = HEAP32[$flags>>2]|0; @@ -29378,37 +29202,39 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $326 = (($325) + ($324)|0); HEAP32[$zOpt>>2] = $326; } - if ((label|0) == 78) { + if ((label|0) == 76) { $305 = HEAP32[$zModeType>>2]|0; $306 = HEAP32[$zVal>>2]|0; - HEAP32[$vararg_buffer19>>2] = $305; - $vararg_ptr14 = (($vararg_buffer19) + 4|0); - HEAP32[$vararg_ptr14>>2] = $306; - $307 = (_sqlite3_mprintf(4808,$vararg_buffer19)|0); + HEAP32[$vararg_buffer13>>2] = $305; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $306; + $307 = (_sqlite3_mprintf(17672,$vararg_buffer13)|0); $308 = HEAP32[$6>>2]|0; HEAP32[$308>>2] = $307; HEAP32[$rc>>2] = 1; break; } - else if ((label|0) == 80) { + else if ((label|0) == 78) { $313 = HEAP32[$zModeType>>2]|0; $314 = HEAP32[$zVal>>2]|0; - HEAP32[$vararg_buffer19>>2] = $313; - $vararg_ptr18 = (($vararg_buffer19) + 4|0); - HEAP32[$vararg_ptr18>>2] = $314; - $315 = (_sqlite3_mprintf(4832,$vararg_buffer19)|0); + HEAP32[$vararg_buffer17>>2] = $313; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $314; + $315 = (_sqlite3_mprintf(17692,$vararg_buffer17)|0); $316 = HEAP32[$6>>2]|0; HEAP32[$316>>2] = $315; HEAP32[$rc>>2] = 3; break; } } else { - label = 83; + label = 81; } + } else { + label = 81; } } while(0); do { - if ((label|0) == 83) { + if ((label|0) == 81) { $327 = HEAP32[$nUri>>2]|0; $328 = (($327) + 2)|0; $329 = (_sqlite3_malloc($328)|0); @@ -29432,7 +29258,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $342 = HEAP32[$flags>>2]|0; $343 = $342 & -65; HEAP32[$flags>>2] = $343; - label = 86; + label = 84; break; } HEAP32[$0>>2] = 7; @@ -29440,7 +29266,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { STACKTOP = sp;return ($361|0); } } while(0); - if ((label|0) == 86) { + if ((label|0) == 84) { $344 = HEAP32[$zVfs>>2]|0; $345 = (_sqlite3_vfs_find($344)|0); $346 = HEAP32[$4>>2]|0; @@ -29450,8 +29276,8 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $349 = ($348|0)==(0|0); if ($349) { $350 = HEAP32[$zVfs>>2]|0; - HEAP32[$vararg_buffer19>>2] = $350; - $351 = (_sqlite3_mprintf(4856,$vararg_buffer19)|0); + HEAP32[$vararg_buffer21>>2] = $350; + $351 = (_sqlite3_mprintf(17716,$vararg_buffer21)|0); $352 = HEAP32[$6>>2]|0; HEAP32[$352>>2] = $351; HEAP32[$rc>>2] = 1; @@ -29505,27 +29331,27 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { var $p = 0, $pBt = 0, $pExisting = 0, $pSib = 0, $rc = 0, $zDbHeader = 0, $zFullPathname = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; + $0 = sp + 24|0; + $1 = sp + 28|0; + $2 = sp + 44|0; $3 = sp + 60|0; - $4 = sp + 56|0; - $5 = sp + 52|0; + $4 = sp + 4|0; + $5 = sp + 8|0; $6 = sp + 48|0; - $pBt = sp + 44|0; - $p = sp + 40|0; - $mutexOpen = sp + 36|0; - $rc = sp + 32|0; - $nReserve = sp + 176|0; - $zDbHeader = sp + 76|0; - $isTempDb = sp + 28|0; - $isMemdb = sp + 24|0; - $nFullPathname = sp + 20|0; - $zFullPathname = sp + 16|0; - $iDb = sp + 12|0; - $pExisting = sp + 8|0; - $i = sp + 4|0; - $pSib = sp; + $pBt = sp + 56|0; + $p = sp + 64|0; + $mutexOpen = sp + 68|0; + $rc = sp + 72|0; + $nReserve = sp + 76|0; + $zDbHeader = sp + 80|0; + $isTempDb = sp; + $isMemdb = sp + 40|0; + $nFullPathname = sp + 12|0; + $zFullPathname = sp + 52|0; + $iDb = sp + 16|0; + $pExisting = sp + 20|0; + $i = sp + 36|0; + $pSib = sp + 32|0; HEAP32[$1>>2] = $pVfs; HEAP32[$2>>2] = $zFilename; HEAP32[$3>>2] = $db; @@ -29552,7 +29378,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $16 = ($15|0)!=(0|0); if ($16) { $17 = HEAP32[$2>>2]|0; - $18 = (_strcmp($17,4216)|0); + $18 = (_strcmp($17,17356)|0); $19 = ($18|0)==(0); if ($19) { $29 = 1; @@ -29616,18 +29442,18 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { STACKTOP = sp;return ($389|0); } $47 = HEAP32[$p>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); HEAP8[$48>>0] = 0; $49 = HEAP32[$3>>2]|0; $50 = HEAP32[$p>>2]|0; HEAP32[$50>>2] = $49; $51 = HEAP32[$p>>2]|0; $52 = HEAP32[$p>>2]|0; - $53 = (($52) + 28|0); + $53 = ((($52)) + 28|0); HEAP32[$53>>2] = $51; $54 = HEAP32[$p>>2]|0; - $55 = (($54) + 28|0); - $56 = (($55) + 4|0); + $55 = ((($54)) + 28|0); + $56 = ((($55)) + 4|0); HEAP32[$56>>2] = 1; $57 = HEAP32[$isTempDb>>2]|0; $58 = ($57|0)==(0); @@ -29648,7 +29474,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $66 = ($65|0)!=(0); if ($66) { $67 = HEAP32[$1>>2]|0; - $68 = (($67) + 8|0); + $68 = ((($67)) + 8|0); $69 = HEAP32[$68>>2]|0; $70 = (($69) + 1)|0; HEAP32[$nFullPathname>>2] = $70; @@ -29658,7 +29484,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $74 = (_sqlite3Malloc($71,$73)|0); HEAP32[$zFullPathname>>2] = $74; $75 = HEAP32[$p>>2]|0; - $76 = (($75) + 9|0); + $76 = ((($75)) + 9|0); HEAP8[$76>>0] = 1; $77 = HEAP32[$zFullPathname>>2]|0; $78 = ($77|0)!=(0|0); @@ -29698,7 +29524,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { STACKTOP = sp;return ($389|0); } } - $97 = HEAP32[4232>>2]|0; + $97 = HEAP32[2016>>2]|0; HEAP32[$pBt>>2] = $97; while(1) { $98 = HEAP32[$pBt>>2]|0; @@ -29724,14 +29550,14 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { } } $142 = HEAP32[$pBt>>2]|0; - $143 = (($142) + 68|0); + $143 = ((($142)) + 68|0); $144 = HEAP32[$143>>2]|0; HEAP32[$pBt>>2] = $144; } do { if ((label|0) == 29) { $111 = HEAP32[$3>>2]|0; - $112 = (($111) + 20|0); + $112 = ((($111)) + 20|0); $113 = HEAP32[$112>>2]|0; $114 = (($113) - 1)|0; HEAP32[$iDb>>2] = $114; @@ -29744,17 +29570,17 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { } $117 = HEAP32[$iDb>>2]|0; $118 = HEAP32[$3>>2]|0; - $119 = (($118) + 16|0); + $119 = ((($118)) + 16|0); $120 = HEAP32[$119>>2]|0; $121 = (($120) + ($117<<4)|0); - $122 = (($121) + 4|0); + $122 = ((($121)) + 4|0); $123 = HEAP32[$122>>2]|0; HEAP32[$pExisting>>2] = $123; $124 = HEAP32[$pExisting>>2]|0; $125 = ($124|0)!=(0|0); if ($125) { $126 = HEAP32[$pExisting>>2]|0; - $127 = (($126) + 4|0); + $127 = ((($126)) + 4|0); $128 = HEAP32[$127>>2]|0; $129 = HEAP32[$pBt>>2]|0; $130 = ($128|0)==($129|0); @@ -29769,10 +29595,10 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { if ((label|0) == 35) { $135 = HEAP32[$pBt>>2]|0; $136 = HEAP32[$p>>2]|0; - $137 = (($136) + 4|0); + $137 = ((($136)) + 4|0); HEAP32[$137>>2] = $135; $138 = HEAP32[$pBt>>2]|0; - $139 = (($138) + 64|0); + $139 = ((($138)) + 64|0); $140 = HEAP32[$139>>2]|0; $141 = (($140) + 1)|0; HEAP32[$139>>2] = $141; @@ -29817,7 +29643,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $159 = HEAP32[$pBt>>2]|0; $160 = HEAP32[$159>>2]|0; $161 = HEAP32[$3>>2]|0; - $162 = (($161) + 40|0); + $162 = ((($161)) + 40|0); $163 = $162; $164 = $163; $165 = HEAP32[$164>>2]|0; @@ -29836,25 +29662,25 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $174 = HEAP32[$5>>2]|0; $175 = $174&255; $176 = HEAP32[$pBt>>2]|0; - $177 = (($176) + 16|0); + $177 = ((($176)) + 16|0); HEAP8[$177>>0] = $175; $178 = HEAP32[$3>>2]|0; $179 = HEAP32[$pBt>>2]|0; - $180 = (($179) + 4|0); + $180 = ((($179)) + 4|0); HEAP32[$180>>2] = $178; $181 = HEAP32[$pBt>>2]|0; $182 = HEAP32[$181>>2]|0; $183 = HEAP32[$pBt>>2]|0; - _sqlite3PagerSetBusyhandler($182,18,$183); + _sqlite3PagerSetBusyhandler($182,24,$183); $184 = HEAP32[$pBt>>2]|0; $185 = HEAP32[$p>>2]|0; - $186 = (($185) + 4|0); + $186 = ((($185)) + 4|0); HEAP32[$186>>2] = $184; $187 = HEAP32[$pBt>>2]|0; - $188 = (($187) + 8|0); + $188 = ((($187)) + 8|0); HEAP32[$188>>2] = 0; $189 = HEAP32[$pBt>>2]|0; - $190 = (($189) + 12|0); + $190 = ((($189)) + 12|0); HEAP32[$190>>2] = 0; $191 = HEAP32[$pBt>>2]|0; $192 = HEAP32[$191>>2]|0; @@ -29862,83 +29688,83 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $194 = ($193<<24>>24)!=(0); if ($194) { $195 = HEAP32[$pBt>>2]|0; - $196 = (($195) + 22|0); + $196 = ((($195)) + 22|0); $197 = HEAP16[$196>>1]|0; $198 = $197&65535; $199 = $198 | 1; $200 = $199&65535; HEAP16[$196>>1] = $200; } - $201 = (($zDbHeader) + 16|0); + $201 = ((($zDbHeader)) + 16|0); $202 = HEAP8[$201>>0]|0; $203 = $202&255; $204 = $203 << 8; - $205 = (($zDbHeader) + 17|0); + $205 = ((($zDbHeader)) + 17|0); $206 = HEAP8[$205>>0]|0; $207 = $206&255; $208 = $207 << 16; $209 = $204 | $208; $210 = HEAP32[$pBt>>2]|0; - $211 = (($210) + 32|0); + $211 = ((($210)) + 32|0); HEAP32[$211>>2] = $209; $212 = HEAP32[$pBt>>2]|0; - $213 = (($212) + 32|0); + $213 = ((($212)) + 32|0); $214 = HEAP32[$213>>2]|0; $215 = ($214>>>0)<(512); if ($215) { label = 49; } else { $216 = HEAP32[$pBt>>2]|0; - $217 = (($216) + 32|0); + $217 = ((($216)) + 32|0); $218 = HEAP32[$217>>2]|0; $219 = ($218>>>0)>(65536); if ($219) { label = 49; } else { $220 = HEAP32[$pBt>>2]|0; - $221 = (($220) + 32|0); + $221 = ((($220)) + 32|0); $222 = HEAP32[$221>>2]|0; $223 = (($222) - 1)|0; $224 = HEAP32[$pBt>>2]|0; - $225 = (($224) + 32|0); + $225 = ((($224)) + 32|0); $226 = HEAP32[$225>>2]|0; $227 = $223 & $226; $228 = ($227|0)!=(0); if ($228) { label = 49; } else { - $239 = (($zDbHeader) + 20|0); + $239 = ((($zDbHeader)) + 20|0); $240 = HEAP8[$239>>0]|0; HEAP8[$nReserve>>0] = $240; $241 = HEAP32[$pBt>>2]|0; - $242 = (($241) + 22|0); + $242 = ((($241)) + 22|0); $243 = HEAP16[$242>>1]|0; $244 = $243&65535; $245 = $244 | 2; $246 = $245&65535; HEAP16[$242>>1] = $246; - $247 = (($zDbHeader) + 52|0); + $247 = ((($zDbHeader)) + 52|0); $248 = (_sqlite3Get4byte($247)|0); $249 = ($248|0)!=(0); $250 = $249 ? 1 : 0; $251 = $250&255; $252 = HEAP32[$pBt>>2]|0; - $253 = (($252) + 17|0); + $253 = ((($252)) + 17|0); HEAP8[$253>>0] = $251; - $254 = (($zDbHeader) + 64|0); + $254 = ((($zDbHeader)) + 64|0); $255 = (_sqlite3Get4byte($254)|0); $256 = ($255|0)!=(0); $257 = $256 ? 1 : 0; $258 = $257&255; $259 = HEAP32[$pBt>>2]|0; - $260 = (($259) + 18|0); + $260 = ((($259)) + 18|0); HEAP8[$260>>0] = $258; } } } if ((label|0) == 49) { $229 = HEAP32[$pBt>>2]|0; - $230 = (($229) + 32|0); + $230 = ((($229)) + 32|0); HEAP32[$230>>2] = 0; $231 = HEAP32[$2>>2]|0; $232 = ($231|0)==(0|0); @@ -29947,10 +29773,10 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $or$cond3 = $232 | $234; if (!($or$cond3)) { $235 = HEAP32[$pBt>>2]|0; - $236 = (($235) + 17|0); + $236 = ((($235)) + 17|0); HEAP8[$236>>0] = 0; $237 = HEAP32[$pBt>>2]|0; - $238 = (($237) + 18|0); + $238 = ((($237)) + 18|0); HEAP8[$238>>0] = 0; } HEAP8[$nReserve>>0] = 0; @@ -29958,7 +29784,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $261 = HEAP32[$pBt>>2]|0; $262 = HEAP32[$261>>2]|0; $263 = HEAP32[$pBt>>2]|0; - $264 = (($263) + 32|0); + $264 = ((($263)) + 32|0); $265 = HEAP8[$nReserve>>0]|0; $266 = $265&255; $267 = (_sqlite3PagerSetPagesize($262,$264,$266)|0); @@ -29967,28 +29793,28 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $269 = ($268|0)!=(0); if (!($269)) { $270 = HEAP32[$pBt>>2]|0; - $271 = (($270) + 32|0); + $271 = ((($270)) + 32|0); $272 = HEAP32[$271>>2]|0; $273 = HEAP8[$nReserve>>0]|0; $274 = $273&255; $275 = (($272) - ($274))|0; $276 = HEAP32[$pBt>>2]|0; - $277 = (($276) + 36|0); + $277 = ((($276)) + 36|0); HEAP32[$277>>2] = $275; $278 = HEAP32[$p>>2]|0; - $279 = (($278) + 9|0); + $279 = ((($278)) + 9|0); $280 = HEAP8[$279>>0]|0; $281 = ($280<<24>>24)!=(0); if ($281) { $282 = HEAP32[$pBt>>2]|0; - $283 = (($282) + 64|0); + $283 = ((($282)) + 64|0); HEAP32[$283>>2] = 1; - $284 = HEAP32[4232>>2]|0; + $284 = HEAP32[2016>>2]|0; $285 = HEAP32[$pBt>>2]|0; - $286 = (($285) + 68|0); + $286 = ((($285)) + 68|0); HEAP32[$286>>2] = $284; $287 = HEAP32[$pBt>>2]|0; - HEAP32[4232>>2] = $287; + HEAP32[2016>>2] = $287; label = 56; } else { label = 56; @@ -30001,7 +29827,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { } while(0); if ((label|0) == 56) { $288 = HEAP32[$p>>2]|0; - $289 = (($288) + 9|0); + $289 = ((($288)) + 9|0); $290 = HEAP8[$289>>0]|0; $291 = ($290<<24>>24)!=(0); L85: do { @@ -30010,7 +29836,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { while(1) { $292 = HEAP32[$i>>2]|0; $293 = HEAP32[$3>>2]|0; - $294 = (($293) + 20|0); + $294 = ((($293)) + 20|0); $295 = HEAP32[$294>>2]|0; $296 = ($292|0)<($295|0); if (!($296)) { @@ -30018,16 +29844,16 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { } $297 = HEAP32[$i>>2]|0; $298 = HEAP32[$3>>2]|0; - $299 = (($298) + 16|0); + $299 = ((($298)) + 16|0); $300 = HEAP32[$299>>2]|0; $301 = (($300) + ($297<<4)|0); - $302 = (($301) + 4|0); + $302 = ((($301)) + 4|0); $303 = HEAP32[$302>>2]|0; HEAP32[$pSib>>2] = $303; $304 = ($303|0)!=(0|0); if ($304) { $305 = HEAP32[$pSib>>2]|0; - $306 = (($305) + 9|0); + $306 = ((($305)) + 9|0); $307 = HEAP8[$306>>0]|0; $308 = $307&255; $309 = ($308|0)!=(0); @@ -30041,51 +29867,51 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { } while(1) { $310 = HEAP32[$pSib>>2]|0; - $311 = (($310) + 24|0); + $311 = ((($310)) + 24|0); $312 = HEAP32[$311>>2]|0; $313 = ($312|0)!=(0|0); if (!($313)) { break; } $314 = HEAP32[$pSib>>2]|0; - $315 = (($314) + 24|0); + $315 = ((($314)) + 24|0); $316 = HEAP32[$315>>2]|0; HEAP32[$pSib>>2] = $316; } $317 = HEAP32[$p>>2]|0; - $318 = (($317) + 4|0); + $318 = ((($317)) + 4|0); $319 = HEAP32[$318>>2]|0; $320 = HEAP32[$pSib>>2]|0; - $321 = (($320) + 4|0); + $321 = ((($320)) + 4|0); $322 = HEAP32[$321>>2]|0; $323 = ($319>>>0)<($322>>>0); if ($323) { $324 = HEAP32[$pSib>>2]|0; $325 = HEAP32[$p>>2]|0; - $326 = (($325) + 20|0); + $326 = ((($325)) + 20|0); HEAP32[$326>>2] = $324; $327 = HEAP32[$p>>2]|0; - $328 = (($327) + 24|0); + $328 = ((($327)) + 24|0); HEAP32[$328>>2] = 0; $329 = HEAP32[$p>>2]|0; $330 = HEAP32[$pSib>>2]|0; - $331 = (($330) + 24|0); + $331 = ((($330)) + 24|0); HEAP32[$331>>2] = $329; break; } while(1) { $332 = HEAP32[$pSib>>2]|0; - $333 = (($332) + 20|0); + $333 = ((($332)) + 20|0); $334 = HEAP32[$333>>2]|0; $335 = ($334|0)!=(0|0); if ($335) { $336 = HEAP32[$pSib>>2]|0; - $337 = (($336) + 20|0); + $337 = ((($336)) + 20|0); $338 = HEAP32[$337>>2]|0; - $339 = (($338) + 4|0); + $339 = ((($338)) + 4|0); $340 = HEAP32[$339>>2]|0; $341 = HEAP32[$p>>2]|0; - $342 = (($341) + 4|0); + $342 = ((($341)) + 4|0); $343 = HEAP32[$342>>2]|0; $344 = ($340>>>0)<($343>>>0); $390 = $344; @@ -30093,7 +29919,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $390 = 0; } $345 = HEAP32[$pSib>>2]|0; - $346 = (($345) + 20|0); + $346 = ((($345)) + 20|0); $347 = HEAP32[$346>>2]|0; if (!($390)) { break; @@ -30101,27 +29927,27 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { HEAP32[$pSib>>2] = $347; } $348 = HEAP32[$p>>2]|0; - $349 = (($348) + 20|0); + $349 = ((($348)) + 20|0); HEAP32[$349>>2] = $347; $350 = HEAP32[$pSib>>2]|0; $351 = HEAP32[$p>>2]|0; - $352 = (($351) + 24|0); + $352 = ((($351)) + 24|0); HEAP32[$352>>2] = $350; $353 = HEAP32[$p>>2]|0; - $354 = (($353) + 20|0); + $354 = ((($353)) + 20|0); $355 = HEAP32[$354>>2]|0; $356 = ($355|0)!=(0|0); if ($356) { $357 = HEAP32[$p>>2]|0; $358 = HEAP32[$p>>2]|0; - $359 = (($358) + 20|0); + $359 = ((($358)) + 20|0); $360 = HEAP32[$359>>2]|0; - $361 = (($360) + 24|0); + $361 = ((($360)) + 24|0); HEAP32[$361>>2] = $357; } $362 = HEAP32[$p>>2]|0; $363 = HEAP32[$pSib>>2]|0; - $364 = (($363) + 20|0); + $364 = ((($363)) + 20|0); HEAP32[$364>>2] = $362; } } while(0); @@ -30156,7 +29982,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $383 = ($382|0)==(0|0); if ($383) { $384 = HEAP32[$p>>2]|0; - $385 = (($384) + 4|0); + $385 = ((($384)) + 4|0); $386 = HEAP32[$385>>2]|0; $387 = HEAP32[$386>>2]|0; _sqlite3PagerSetCachesize($387,2000); @@ -30193,13 +30019,13 @@ function _sqlite3SchemaGet($db,$pBt) { $8 = ($7|0)!=(0|0); if (!($8)) { $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 64|0); + $10 = ((($9)) + 64|0); HEAP8[$10>>0] = 1; $26 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($26|0); } $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 76|0); + $12 = ((($11)) + 76|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = (0)==($14|0); @@ -30208,19 +30034,19 @@ function _sqlite3SchemaGet($db,$pBt) { STACKTOP = sp;return ($26|0); } $16 = HEAP32[$p>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); _sqlite3HashInit($17); $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 24|0); + $19 = ((($18)) + 24|0); _sqlite3HashInit($19); $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 40|0); + $21 = ((($20)) + 40|0); _sqlite3HashInit($21); $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 56|0); + $23 = ((($22)) + 56|0); _sqlite3HashInit($23); $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 77|0); + $25 = ((($24)) + 77|0); HEAP8[$25>>0] = 1; $26 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($26|0); @@ -30234,7 +30060,7 @@ function _sqlite3RegisterBuiltinFunctions($db) { $rc = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_overload_function($1,4208,2)|0); + $2 = (_sqlite3_overload_function($1,17350,2)|0); HEAP32[$rc>>2] = $2; $3 = HEAP32[$rc>>2]|0; $4 = ($3|0)==(7); @@ -30242,7 +30068,7 @@ function _sqlite3RegisterBuiltinFunctions($db) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 64|0); + $6 = ((($5)) + 64|0); HEAP8[$6>>0] = 1; STACKTOP = sp;return; } @@ -30253,15 +30079,15 @@ function _sqlite3AutoLoadExtensions($db) { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 24|0; + $0 = sp + 16|0; $i = sp + 20|0; - $go = sp + 16|0; - $rc = sp + 12|0; - $xInit = sp + 8|0; - $zErrmsg = sp + 4|0; + $go = sp + 24|0; + $rc = sp + 8|0; + $xInit = sp + 4|0; + $zErrmsg = sp + 12|0; HEAP32[$0>>2] = $db; HEAP32[$go>>2] = 1; - $1 = HEAP32[1480>>2]|0; + $1 = HEAP32[924>>2]|0; $2 = ($1|0)==(0); if ($2) { STACKTOP = sp;return; @@ -30274,14 +30100,14 @@ function _sqlite3AutoLoadExtensions($db) { break; } $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[1480>>2]|0; + $6 = HEAP32[924>>2]|0; $7 = ($5|0)>=($6|0); if ($7) { HEAP32[$xInit>>2] = 0; HEAP32[$go>>2] = 0; } else { $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[((1480 + 4|0))>>2]|0; + $9 = HEAP32[(928)>>2]|0; $10 = (($9) + ($8<<2)|0); $11 = HEAP32[$10>>2]|0; HEAP32[$xInit>>2] = $11; @@ -30292,7 +30118,7 @@ function _sqlite3AutoLoadExtensions($db) { if ($13) { $14 = HEAP32[$xInit>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (FUNCTION_TABLE_iiii[$14 & 31]($15,$zErrmsg,3352)|0); + $16 = (FUNCTION_TABLE_iiii[$14 & 31]($15,$zErrmsg,1200)|0); HEAP32[$rc>>2] = $16; $17 = ($16|0)!=(0); if ($17) { @@ -30300,7 +30126,7 @@ function _sqlite3AutoLoadExtensions($db) { $19 = HEAP32[$rc>>2]|0; $20 = HEAP32[$zErrmsg>>2]|0; HEAP32[$vararg_buffer>>2] = $20; - _sqlite3ErrorWithMsg($18,$19,4168,$vararg_buffer); + _sqlite3ErrorWithMsg($18,$19,17311,$vararg_buffer); HEAP32[$go>>2] = 0; } } @@ -30312,13957 +30138,15225 @@ function _sqlite3AutoLoadExtensions($db) { } STACKTOP = sp;return; } -function _sqlite3BtreeSchema($p,$nBytes,$xFree) { - $p = $p|0; - $nBytes = $nBytes|0; - $xFree = $xFree|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, label = 0, sp = 0; +function _sqlite3RtreeInit($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $c1 = 0; + var $rc = 0, $utf8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nBytes; - HEAP32[$2>>2] = $xFree; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pBt>>2] = $5; - $6 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($6); - $7 = HEAP32[$pBt>>2]|0; - $8 = (($7) + 48|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)!=(0); - $or$cond = $10 & $12; - if (!($or$cond)) { - $22 = HEAP32[$pBt>>2]|0; - $23 = (($22) + 48|0); - $24 = HEAP32[$23>>2]|0; - STACKTOP = sp;return ($24|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $utf8 = sp + 12|0; + $rc = sp + 8|0; + $c = sp + 4|0; + $c1 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$utf8>>2] = 1; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_create_function($1,15988,2,1,0,52,0,0)|0); + HEAP32[$rc>>2] = $2; + $3 = HEAP32[$rc>>2]|0; + $4 = ($3|0)==(0); + if ($4) { + $5 = HEAP32[$0>>2]|0; + $6 = (_sqlite3_create_function($5,15998,1,1,0,53,0,0)|0); + HEAP32[$rc>>2] = $6; } - $13 = HEAP32[$1>>2]|0; - $14 = ($13|0)<(0); - $15 = $14 << 31 >> 31; - $16 = (_sqlite3DbMallocZero(0,$13,$15)|0); - $17 = HEAP32[$pBt>>2]|0; - $18 = (($17) + 48|0); - HEAP32[$18>>2] = $16; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$pBt>>2]|0; - $21 = (($20) + 52|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$pBt>>2]|0; - $23 = (($22) + 48|0); - $24 = HEAP32[$23>>2]|0; - STACKTOP = sp;return ($24|0); + $7 = HEAP32[$rc>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$c>>2] = 0; + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$c>>2]|0; + $11 = (_sqlite3_create_module_v2($9,16009,1056,$10,0)|0); + HEAP32[$rc>>2] = $11; + } + $12 = HEAP32[$rc>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $17 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($17|0); + } + HEAP32[$c1>>2] = (1); + $14 = HEAP32[$0>>2]|0; + $15 = HEAP32[$c1>>2]|0; + $16 = (_sqlite3_create_module_v2($14,16015,1056,$15,0)|0); + HEAP32[$rc>>2] = $16; + $17 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($17|0); } -function _sqlite3SchemaClear($p) { - $p = $p|0; +function _rtreenode($ctx,$nArg,$apArg) { + $ctx = $ctx|0; + $nArg = $nArg|0; + $apArg = $apArg|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pElem = 0, $pSchema = 0, $pTab = 0, $temp1 = 0, $temp2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $temp1 = sp + 32|0; - $temp2 = sp + 16|0; - $pElem = sp + 8|0; - $pSchema = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pSchema>>2] = $1; - $2 = HEAP32[$pSchema>>2]|0; - $3 = (($2) + 8|0); - ;HEAP32[$temp1+0>>2]=HEAP32[$3+0>>2]|0;HEAP32[$temp1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$temp1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$temp1+12>>2]=HEAP32[$3+12>>2]|0; - $4 = HEAP32[$pSchema>>2]|0; - $5 = (($4) + 40|0); - ;HEAP32[$temp2+0>>2]=HEAP32[$5+0>>2]|0;HEAP32[$temp2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$temp2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$temp2+12>>2]=HEAP32[$5+12>>2]|0; - $6 = HEAP32[$pSchema>>2]|0; - $7 = (($6) + 40|0); - _sqlite3HashInit($7); - $8 = HEAP32[$pSchema>>2]|0; - $9 = (($8) + 24|0); - _sqlite3HashClear($9); - $10 = (($temp2) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pElem>>2] = $11; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $cell = 0, $ii = 0, $jj = 0, $nCell = 0, $node = 0, $tree = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0; + var $vararg_buffer8 = 0, $vararg_ptr7 = 0, $zCell = 0, $zText = 0, $zTextNew = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1136|0; + $vararg_buffer8 = sp + 584|0; + $vararg_buffer4 = sp + 544|0; + $vararg_buffer1 = sp + 536|0; + $vararg_buffer = sp + 528|0; + $0 = sp + 600|0; + $1 = sp + 608|0; + $2 = sp + 604|0; + $zText = sp + 616|0; + $node = sp + 552|0; + $tree = sp; + $ii = sp + 612|0; + $zCell = sp + 624|0; + $nCell = sp + 588|0; + $cell = sp + 480|0; + $jj = sp + 596|0; + $zTextNew = sp + 592|0; + HEAP32[$0>>2] = $ctx; + HEAP32[$1>>2] = $nArg; + HEAP32[$2>>2] = $apArg; + HEAP32[$zText>>2] = 0; + ;HEAP32[$node>>2]=0|0;HEAP32[$node+4>>2]=0|0;HEAP32[$node+8>>2]=0|0;HEAP32[$node+12>>2]=0|0;HEAP32[$node+16>>2]=0|0;HEAP32[$node+20>>2]=0|0;HEAP32[$node+24>>2]=0|0;HEAP32[$node+28>>2]=0|0; + _memset(($tree|0),0,480)|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_int($4)|0); + $6 = $5&255; + $7 = ((($tree)) + 20|0); + HEAP8[$7>>0] = $6; + $8 = ((($tree)) + 20|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = $10<<3; + $12 = (8 + ($11))|0; + $13 = $12&255; + $14 = ((($tree)) + 22|0); + HEAP8[$14>>0] = $13; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_value_blob($17)|0); + $19 = ((($node)) + 24|0); + HEAP32[$19>>2] = $18; + HEAP32[$ii>>2] = 0; while(1) { - $12 = HEAP32[$pElem>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { + $20 = HEAP32[$ii>>2]|0; + $21 = ((($node)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 2|0); + $24 = (_readInt16($23)|0); + $25 = ($20|0)<($24|0); + if (!($25)) { break; } - $14 = HEAP32[$pElem>>2]|0; - $15 = (($14) + 8|0); - $16 = HEAP32[$15>>2]|0; - _sqlite3DeleteTrigger(0,$16); - $17 = HEAP32[$pElem>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$pElem>>2] = $18; + HEAP32[$nCell>>2] = 0; + $26 = HEAP32[$ii>>2]|0; + _nodeGetCell($tree,$node,$26,$cell); + $27 = HEAP32[$nCell>>2]|0; + $28 = (512 - ($27))|0; + $29 = HEAP32[$nCell>>2]|0; + $30 = (($zCell) + ($29)|0); + $31 = $cell; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = $vararg_buffer; + $38 = $37; + HEAP32[$38>>2] = $33; + $39 = (($37) + 4)|0; + $40 = $39; + HEAP32[$40>>2] = $36; + (_sqlite3_snprintf($28,$30,17289,$vararg_buffer)|0); + $41 = (_strlen($zCell)|0); + HEAP32[$nCell>>2] = $41; + HEAP32[$jj>>2] = 0; + while(1) { + $42 = HEAP32[$jj>>2]|0; + $43 = ((($tree)) + 20|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = $45<<1; + $47 = ($42|0)<($46|0); + if (!($47)) { + break; + } + $48 = HEAP32[$nCell>>2]|0; + $49 = (512 - ($48))|0; + $50 = HEAP32[$nCell>>2]|0; + $51 = (($zCell) + ($50)|0); + $52 = HEAP32[$jj>>2]|0; + $53 = ((($cell)) + 8|0); + $54 = (($53) + ($52<<2)|0); + $55 = +HEAPF32[$54>>2]; + $56 = $55; + HEAPF64[$vararg_buffer1>>3] = $56; + (_sqlite3_snprintf($49,$51,17294,$vararg_buffer1)|0); + $57 = (_strlen($zCell)|0); + HEAP32[$nCell>>2] = $57; + $58 = HEAP32[$jj>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$jj>>2] = $59; + } + $60 = HEAP32[$zText>>2]|0; + $61 = ($60|0)!=(0|0); + if ($61) { + $62 = HEAP32[$zText>>2]|0; + HEAP32[$vararg_buffer4>>2] = $62; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $zCell; + $63 = (_sqlite3_mprintf(17298,$vararg_buffer4)|0); + HEAP32[$zTextNew>>2] = $63; + $64 = HEAP32[$zText>>2]|0; + _sqlite3_free($64); + $65 = HEAP32[$zTextNew>>2]|0; + HEAP32[$zText>>2] = $65; + } else { + HEAP32[$vararg_buffer8>>2] = $zCell; + $66 = (_sqlite3_mprintf(17306,$vararg_buffer8)|0); + HEAP32[$zText>>2] = $66; + } + $67 = HEAP32[$ii>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$ii>>2] = $68; } - _sqlite3HashClear($temp2); - $19 = HEAP32[$pSchema>>2]|0; - $20 = (($19) + 8|0); - _sqlite3HashInit($20); - $21 = (($temp1) + 8|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$pElem>>2] = $22; + $69 = HEAP32[$0>>2]|0; + $70 = HEAP32[$zText>>2]|0; + _sqlite3_result_text($69,$70,-1,13); + STACKTOP = sp;return; +} +function _rtreedepth($ctx,$nArg,$apArg) { + $ctx = $ctx|0; + $nArg = $nArg|0; + $apArg = $apArg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $zBlob = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $zBlob = sp; + HEAP32[$0>>2] = $ctx; + HEAP32[$1>>2] = $nArg; + HEAP32[$2>>2] = $apArg; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + $6 = ($5|0)!=(4); + if (!($6)) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_bytes($8)|0); + $10 = ($9|0)<(2); + if (!($10)) { + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_blob($13)|0); + HEAP32[$zBlob>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$zBlob>>2]|0; + $17 = (_readInt16($16)|0); + _sqlite3_result_int($15,$17); + STACKTOP = sp;return; + } + } + $11 = HEAP32[$0>>2]|0; + _sqlite3_result_error($11,17256,-1); + STACKTOP = sp;return; +} +function _rtreeCreate($db,$pAux,$argc,$argv,$ppVtab,$pzErr) { + $db = $db|0; + $pAux = $pAux|0; + $argc = $argc|0; + $argv = $argv|0; + $ppVtab = $ppVtab|0; + $pzErr = $pzErr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pAux; + HEAP32[$2>>2] = $argc; + HEAP32[$3>>2] = $argv; + HEAP32[$4>>2] = $ppVtab; + HEAP32[$5>>2] = $pzErr; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = (_rtreeInit($6,$7,$8,$9,$10,$11,1)|0); + STACKTOP = sp;return ($12|0); +} +function _rtreeConnect($db,$pAux,$argc,$argv,$ppVtab,$pzErr) { + $db = $db|0; + $pAux = $pAux|0; + $argc = $argc|0; + $argv = $argv|0; + $ppVtab = $ppVtab|0; + $pzErr = $pzErr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pAux; + HEAP32[$2>>2] = $argc; + HEAP32[$3>>2] = $argv; + HEAP32[$4>>2] = $ppVtab; + HEAP32[$5>>2] = $pzErr; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$4>>2]|0; + $11 = HEAP32[$5>>2]|0; + $12 = (_rtreeInit($6,$7,$8,$9,$10,$11,0)|0); + STACKTOP = sp;return ($12|0); +} +function _rtreeBestIndex($tab,$pIdxInfo) { + $tab = $tab|0; + $pIdxInfo = $pIdxInfo|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iIdx = 0, $ii = 0, $jj = 0, $nRow = 0, $op = 0, $p = 0, $pRtree = 0, $rc = 0; + var $vararg_buffer = 0, $zIdxStr = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 16|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $pRtree = sp + 36|0; + $rc = sp + 40|0; + $ii = sp + 44|0; + $nRow = sp; + $iIdx = sp + 20|0; + $zIdxStr = sp + 49|0; + $p = sp + 12|0; + $jj = sp + 24|0; + $op = sp + 48|0; + HEAP32[$1>>2] = $tab; + HEAP32[$2>>2] = $pIdxInfo; + $3 = HEAP32[$1>>2]|0; + HEAP32[$pRtree>>2] = $3; + HEAP32[$rc>>2] = 0; + HEAP32[$iIdx>>2] = 0; + dest=$zIdxStr; stop=dest+41|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + HEAP32[$ii>>2] = 0; while(1) { - $23 = HEAP32[$pElem>>2]|0; - $24 = ($23|0)!=(0|0); - if (!($24)) { + $4 = HEAP32[$ii>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = HEAP32[$iIdx>>2]|0; + $9 = ($8|0)<(40); + $10 = $7 ? $9 : 0; + if (!($10)) { break; } - $25 = HEAP32[$pElem>>2]|0; - $26 = (($25) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pTab>>2] = $27; - $28 = HEAP32[$pTab>>2]|0; - _sqlite3DeleteTable(0,$28); - $29 = HEAP32[$pElem>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$pElem>>2] = $30; + $11 = HEAP32[$ii>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + (($11*12)|0)|0); + HEAP32[$p>>2] = $15; + $16 = HEAP32[$p>>2]|0; + $17 = ((($16)) + 5|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$p>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0); + if ($23) { + $24 = HEAP32[$p>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)==(2); + if ($28) { + label = 6; + break; + } + } + } + $61 = HEAP32[$p>>2]|0; + $62 = ((($61)) + 5|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = ($64|0)!=(0); + do { + if ($65) { + $66 = HEAP32[$p>>2]|0; + $67 = HEAP32[$66>>2]|0; + $68 = ($67|0)>(0); + if (!($68)) { + $69 = HEAP32[$p>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($72|0)==(64); + if (!($73)) { + break; + } + } + $74 = HEAP32[$p>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + switch ($77|0) { + case 2: { + HEAP8[$op>>0] = 65; + break; + } + case 4: { + HEAP8[$op>>0] = 69; + break; + } + case 8: { + HEAP8[$op>>0] = 66; + break; + } + case 16: { + HEAP8[$op>>0] = 67; + break; + } + case 32: { + HEAP8[$op>>0] = 68; + break; + } + default: { + HEAP8[$op>>0] = 70; + } + } + $78 = HEAP8[$op>>0]|0; + $79 = HEAP32[$iIdx>>2]|0; + $80 = (($79) + 1)|0; + HEAP32[$iIdx>>2] = $80; + $81 = (($zIdxStr) + ($79)|0); + HEAP8[$81>>0] = $78; + $82 = HEAP32[$p>>2]|0; + $83 = HEAP32[$82>>2]|0; + $84 = (($83) - 1)|0; + $85 = (($84) + 48)|0; + $86 = $85&255; + $87 = HEAP32[$iIdx>>2]|0; + $88 = (($87) + 1)|0; + HEAP32[$iIdx>>2] = $88; + $89 = (($zIdxStr) + ($87)|0); + HEAP8[$89>>0] = $86; + $90 = HEAP32[$iIdx>>2]|0; + $91 = (($90|0) / 2)&-1; + $92 = HEAP32[$ii>>2]|0; + $93 = HEAP32[$2>>2]|0; + $94 = ((($93)) + 16|0); + $95 = HEAP32[$94>>2]|0; + $96 = (($95) + ($92<<3)|0); + HEAP32[$96>>2] = $91; + $97 = HEAP32[$ii>>2]|0; + $98 = HEAP32[$2>>2]|0; + $99 = ((($98)) + 16|0); + $100 = HEAP32[$99>>2]|0; + $101 = (($100) + ($97<<3)|0); + $102 = ((($101)) + 4|0); + HEAP8[$102>>0] = 1; + } + } while(0); + $103 = HEAP32[$ii>>2]|0; + $104 = (($103) + 1)|0; + HEAP32[$ii>>2] = $104; } - _sqlite3HashClear($temp1); - $31 = HEAP32[$pSchema>>2]|0; - $32 = (($31) + 56|0); - _sqlite3HashClear($32); - $33 = HEAP32[$pSchema>>2]|0; - $34 = (($33) + 72|0); - HEAP32[$34>>2] = 0; - $35 = HEAP32[$pSchema>>2]|0; - $36 = (($35) + 78|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = $38 & 1; - $40 = ($39|0)!=(0); - if (!($40)) { - STACKTOP = sp;return; + if ((label|0) == 6) { + HEAP32[$jj>>2] = 0; + while(1) { + $29 = HEAP32[$jj>>2]|0; + $30 = HEAP32[$ii>>2]|0; + $31 = ($29|0)<($30|0); + if (!($31)) { + break; + } + $32 = HEAP32[$jj>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($32<<3)|0); + HEAP32[$36>>2] = 0; + $37 = HEAP32[$jj>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($40) + ($37<<3)|0); + $42 = ((($41)) + 4|0); + HEAP8[$42>>0] = 0; + $43 = HEAP32[$jj>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$jj>>2] = $44; + } + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 20|0); + HEAP32[$46>>2] = 1; + $47 = HEAP32[$ii>>2]|0; + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($47<<3)|0); + HEAP32[$51>>2] = 1; + $52 = HEAP32[$jj>>2]|0; + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + ($52<<3)|0); + $57 = ((($56)) + 4|0); + HEAP8[$57>>0] = 1; + $58 = HEAP32[$2>>2]|0; + $59 = ((($58)) + 40|0); + HEAPF64[$59>>3] = 30.0; + $60 = HEAP32[$2>>2]|0; + _setEstimatedRows($60,1,0); + HEAP32[$0>>2] = 0; + $151 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($151|0); + } + $105 = HEAP32[$2>>2]|0; + $106 = ((($105)) + 20|0); + HEAP32[$106>>2] = 2; + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 28|0); + HEAP32[$108>>2] = 1; + $109 = HEAP32[$iIdx>>2]|0; + $110 = ($109|0)>(0); + if ($110) { + HEAP32[$vararg_buffer>>2] = $zIdxStr; + $111 = (_sqlite3_mprintf(14418,$vararg_buffer)|0); + $112 = HEAP32[$2>>2]|0; + $113 = ((($112)) + 24|0); + HEAP32[$113>>2] = $111; + $114 = (0|0)==($111|0); + if ($114) { + HEAP32[$0>>2] = 7; + $151 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($151|0); + } } - $41 = HEAP32[$pSchema>>2]|0; - $42 = (($41) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$42>>2] = $44; - $45 = HEAP32[$pSchema>>2]|0; - $46 = (($45) + 78|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 & -2; - $50 = $49&65535; - HEAP16[$46>>1] = $50; - STACKTOP = sp;return; + $115 = HEAP32[$pRtree>>2]|0; + $116 = ((($115)) + 40|0); + $117 = $116; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$iIdx>>2]|0; + $124 = (($123) + 1)|0; + $125 = ($124|0)<(0); + $126 = $125 << 31 >> 31; + $127 = (___divdi3(($119|0),($122|0),($124|0),($126|0))|0); + $128 = tempRet0; + $129 = $nRow; + $130 = $129; + HEAP32[$130>>2] = $127; + $131 = (($129) + 4)|0; + $132 = $131; + HEAP32[$132>>2] = $128; + $133 = $nRow; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (+($135>>>0)) + (4294967296.0*(+($138|0))); + $140 = 6.0 * $139; + $141 = HEAP32[$2>>2]|0; + $142 = ((($141)) + 40|0); + HEAPF64[$142>>3] = $140; + $143 = HEAP32[$2>>2]|0; + $144 = $nRow; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + _setEstimatedRows($143,$146,$149); + $150 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $150; + $151 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($151|0); } -function _sqlite3TempInMemory($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _rtreeDisconnect($pVtab) { + $pVtab = $pVtab|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $db; + HEAP32[$0>>2] = $pVtab; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 63|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(2); - $6 = $5&1; - STACKTOP = sp;return ($6|0); + _rtreeRelease($1); + STACKTOP = sp;return 0; } -function _sqlite3OsFullPathname($pVfs,$zPath,$nPathOut,$zPathOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $nPathOut = $nPathOut|0; - $zPathOut = $zPathOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _rtreeDestroy($pVtab) { + $pVtab = $pVtab|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRtree = 0, $rc = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0; + var $vararg_ptr5 = 0, $zCreate = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $0 = sp + 36|0; + $pRtree = sp + 32|0; + $rc = sp + 28|0; + $zCreate = sp + 24|0; + HEAP32[$0>>2] = $pVtab; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pRtree>>2] = $1; + $2 = HEAP32[$pRtree>>2]|0; + $3 = ((($2)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$pRtree>>2]|0; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$pRtree>>2]|0; + $9 = ((($8)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$pRtree>>2]|0; + $12 = ((($11)) + 32|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$pRtree>>2]|0; + $15 = ((($14)) + 28|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$pRtree>>2]|0; + $18 = ((($17)) + 32|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$vararg_buffer>>2] = $4; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $13; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $16; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $19; + $20 = (_sqlite3_mprintf(16170,$vararg_buffer)|0); + HEAP32[$zCreate>>2] = $20; + $21 = HEAP32[$zCreate>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$pRtree>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$zCreate>>2]|0; + $27 = (_sqlite3_exec($25,$26,0,0,0)|0); + HEAP32[$rc>>2] = $27; + $28 = HEAP32[$zCreate>>2]|0; + _sqlite3_free($28); + } else { + HEAP32[$rc>>2] = 7; + } + $29 = HEAP32[$rc>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + $32 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($32|0); + } + $31 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($31); + $32 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _rtreeOpen($pVTab,$ppCursor) { + $pVTab = $pVTab|0; + $ppCursor = $ppCursor|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCsr = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $nPathOut; - HEAP32[$3>>2] = $zPathOut; - $4 = HEAP32[$3>>2]|0; - HEAP8[$4>>0] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; + $rc = sp + 4|0; + $pCsr = sp; + HEAP32[$0>>2] = $pVTab; + HEAP32[$1>>2] = $ppCursor; + HEAP32[$rc>>2] = 7; + $2 = (_sqlite3_malloc(248)|0); + HEAP32[$pCsr>>2] = $2; + $3 = HEAP32[$pCsr>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $5 = HEAP32[$pCsr>>2]|0; + _memset(($5|0),0,248)|0; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$pCsr>>2]|0; + HEAP32[$7>>2] = $6; + HEAP32[$rc>>2] = 0; + } + $8 = HEAP32[$pCsr>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (FUNCTION_TABLE_iiiii[$7 & 7]($8,$9,$10,$11)|0); - STACKTOP = sp;return ($12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($10|0); } -function _sqlite3PagerVfs($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _rtreeClose($cur) { + $cur = $cur|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0; + var $pCsr = 0, $pRtree = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; + $0 = sp + 12|0; + $pRtree = sp + 8|0; + $ii = sp + 4|0; + $pCsr = sp; + HEAP32[$0>>2] = $cur; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($2|0); + HEAP32[$pRtree>>2] = $2; + $3 = HEAP32[$0>>2]|0; + HEAP32[$pCsr>>2] = $3; + $4 = HEAP32[$pCsr>>2]|0; + _freeCursorConstraints($4); + $5 = HEAP32[$pCsr>>2]|0; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3_free($7); + HEAP32[$ii>>2] = 0; + while(1) { + $8 = HEAP32[$ii>>2]|0; + $9 = ($8|0)<(5); + if (!($9)) { + break; + } + $10 = HEAP32[$pRtree>>2]|0; + $11 = HEAP32[$ii>>2]|0; + $12 = HEAP32[$pCsr>>2]|0; + $13 = ((($12)) + 64|0); + $14 = (($13) + ($11<<2)|0); + $15 = HEAP32[$14>>2]|0; + (_nodeRelease($10,$15)|0); + $16 = HEAP32[$ii>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$ii>>2] = $17; + } + $18 = HEAP32[$pCsr>>2]|0; + _sqlite3_free($18); + STACKTOP = sp;return 0; } -function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$xReinit) { - $pVfs = $pVfs|0; - $ppPager = $ppPager|0; - $zFilename = $zFilename|0; - $nExtra = $nExtra|0; - $flags = $flags|0; - $vfsFlags = $vfsFlags|0; - $xReinit = $xReinit|0; +function _rtreeFilter($pVtabCursor,$idxNum,$idxStr,$argc,$argv) { + $pVtabCursor = $pVtabCursor|0; + $idxNum = $idxNum|0; + $idxStr = $idxStr|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fout = 0, $iDc = 0, $journalFileSize = 0, $memDb = 0, $nPathname = 0, $nUri = 0, $pPager = 0, $pPtr = 0, $pcacheSize = 0, $rc = 0, $readOnly = 0, $szPageDflt = 0, $tempFile = 0, $useJournal = 0; - var $z = 0, $zPathname = 0, $zUri = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iCell = 0, $iNode = 0, $iRowid = 0, $ii = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $p1 = 0, $pCsr = 0, $pLeaf = 0, $pNew = 0, $pRoot = 0, $pRtree = 0, $rc = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $5 = sp + 76|0; - $6 = sp + 72|0; - $7 = sp + 68|0; - $pPtr = sp + 64|0; - $pPager = sp + 60|0; - $rc = sp + 56|0; - $tempFile = sp + 52|0; - $memDb = sp + 48|0; - $readOnly = sp + 44|0; - $journalFileSize = sp + 40|0; - $zPathname = sp + 36|0; - $nPathname = sp + 32|0; - $useJournal = sp + 28|0; - $pcacheSize = sp + 24|0; - $szPageDflt = sp + 20|0; - $zUri = sp + 16|0; - $nUri = sp + 12|0; - $z = sp + 8|0; - $fout = sp + 4|0; - $iDc = sp; - HEAP32[$1>>2] = $pVfs; - HEAP32[$2>>2] = $ppPager; - HEAP32[$3>>2] = $zFilename; - HEAP32[$4>>2] = $nExtra; - HEAP32[$5>>2] = $flags; - HEAP32[$6>>2] = $vfsFlags; - HEAP32[$7>>2] = $xReinit; - HEAP32[$pPager>>2] = 0; + STACKTOP = STACKTOP + 80|0; + $0 = sp + 36|0; + $1 = sp + 28|0; + $2 = sp + 52|0; + $3 = sp + 68|0; + $4 = sp + 44|0; + $5 = sp + 24|0; + $pRtree = sp + 20|0; + $pCsr = sp + 56|0; + $pRoot = sp + 72|0; + $ii = sp + 76|0; + $rc = sp + 32|0; + $iCell = sp + 40|0; + $pLeaf = sp + 16|0; + $p = sp + 48|0; + $iRowid = sp; + $iNode = sp + 8|0; + $p1 = sp + 60|0; + $pNew = sp + 64|0; + HEAP32[$1>>2] = $pVtabCursor; + HEAP32[$2>>2] = $idxNum; + HEAP32[$3>>2] = $idxStr; + HEAP32[$4>>2] = $argc; + HEAP32[$5>>2] = $argv; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$pRtree>>2] = $7; + $8 = HEAP32[$1>>2]|0; + HEAP32[$pCsr>>2] = $8; + HEAP32[$pRoot>>2] = 0; HEAP32[$rc>>2] = 0; - HEAP32[$tempFile>>2] = 0; - HEAP32[$memDb>>2] = 0; - HEAP32[$readOnly>>2] = 0; - HEAP32[$zPathname>>2] = 0; - HEAP32[$nPathname>>2] = 0; - $8 = HEAP32[$5>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)==(0); - $11 = $10&1; - HEAP32[$useJournal>>2] = $11; - $12 = (_sqlite3PcacheSize()|0); - HEAP32[$pcacheSize>>2] = $12; - HEAP32[$szPageDflt>>2] = 1024; - HEAP32[$zUri>>2] = 0; - HEAP32[$nUri>>2] = 0; - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3MemJournalSize()|0); - $17 = ($15|0)>($16|0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 7)|0; - $22 = $21 & -8; - HEAP32[$journalFileSize>>2] = $22; - } else { - $23 = (_sqlite3MemJournalSize()|0); - $24 = (($23) + 7)|0; - $25 = $24 & -8; - HEAP32[$journalFileSize>>2] = $25; - } - $26 = HEAP32[$2>>2]|0; - HEAP32[$26>>2] = 0; - $27 = HEAP32[$5>>2]|0; - $28 = $27 & 2; - $29 = ($28|0)!=(0); + HEAP32[$iCell>>2] = 0; + $9 = HEAP32[$pRtree>>2]|0; + _rtreeReference($9); + $10 = HEAP32[$pCsr>>2]|0; + _freeCursorConstraints($10); + $11 = HEAP32[$pCsr>>2]|0; + $12 = ((($11)) + 32|0); + $13 = HEAP32[$12>>2]|0; + _sqlite3_free($13); + $14 = HEAP32[$pCsr>>2]|0; + _memset(($14|0),0,248)|0; + $15 = HEAP32[$pRtree>>2]|0; + $16 = HEAP32[$pCsr>>2]|0; + HEAP32[$16>>2] = $15; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$pCsr>>2]|0; + $19 = ((($18)) + 8|0); + HEAP32[$19>>2] = $17; + $20 = HEAP32[$2>>2]|0; + $21 = ($20|0)==(1); do { - if ($29) { - HEAP32[$memDb>>2] = 1; - $30 = HEAP32[$3>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP8[$32>>0]|0; - $34 = $33 << 24 >> 24; - $35 = ($34|0)!=(0); - if ($35) { - $36 = HEAP32[$3>>2]|0; - $37 = (_sqlite3DbStrDup(0,$36)|0); - HEAP32[$zPathname>>2] = $37; - $38 = HEAP32[$zPathname>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = HEAP32[$zPathname>>2]|0; - $41 = (_sqlite3Strlen30($40)|0); - HEAP32[$nPathname>>2] = $41; - HEAP32[$3>>2] = 0; + if ($21) { + $22 = HEAP32[$5>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3_value_int64($23)|0); + $25 = tempRet0; + $26 = $iRowid; + $27 = $26; + HEAP32[$27>>2] = $24; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + $30 = $iNode; + $31 = $30; + HEAP32[$31>>2] = 0; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = 0; + $34 = HEAP32[$pRtree>>2]|0; + $35 = $iRowid; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (_findLeafNode($34,$37,$40,$pLeaf,$iNode)|0); + HEAP32[$rc>>2] = $41; + $42 = HEAP32[$rc>>2]|0; + $43 = ($42|0)==(0); + $44 = HEAP32[$pLeaf>>2]|0; + $45 = ($44|0)!=(0|0); + $or$cond = $43 & $45; + $46 = HEAP32[$pCsr>>2]|0; + if ($or$cond) { + $47 = (_rtreeSearchPointNew($46,0.0,0)|0); + HEAP32[$p>>2] = $47; + $48 = HEAP32[$pLeaf>>2]|0; + $49 = HEAP32[$pCsr>>2]|0; + $50 = ((($49)) + 64|0); + HEAP32[$50>>2] = $48; + $51 = $iNode; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$p>>2]|0; + $58 = ((($57)) + 8|0); + $59 = $58; + $60 = $59; + HEAP32[$60>>2] = $53; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $56; + $63 = HEAP32[$p>>2]|0; + $64 = ((($63)) + 17|0); + HEAP8[$64>>0] = 1; + $65 = HEAP32[$pRtree>>2]|0; + $66 = HEAP32[$pLeaf>>2]|0; + $67 = $iRowid; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (_nodeRowidIndex($65,$66,$69,$72,$iCell)|0); + HEAP32[$rc>>2] = $73; + $74 = HEAP32[$iCell>>2]|0; + $75 = $74&255; + $76 = HEAP32[$p>>2]|0; + $77 = ((($76)) + 18|0); + HEAP8[$77>>0] = $75; + break; + } else { + $78 = ((($46)) + 4|0); + HEAP8[$78>>0] = 1; + break; + } + } else { + $79 = HEAP32[$pRtree>>2]|0; + $80 = (_nodeAcquire($79,1,0,0,$pRoot)|0); + HEAP32[$rc>>2] = $80; + $81 = HEAP32[$rc>>2]|0; + $82 = ($81|0)==(0); + $83 = HEAP32[$4>>2]|0; + $84 = ($83|0)>(0); + $or$cond3 = $82 & $84; + L7: do { + if ($or$cond3) { + $85 = HEAP32[$4>>2]|0; + $86 = ($85*24)|0; + $87 = (_sqlite3_malloc($86)|0); + $88 = HEAP32[$pCsr>>2]|0; + $89 = ((($88)) + 16|0); + HEAP32[$89>>2] = $87; + $90 = HEAP32[$4>>2]|0; + $91 = HEAP32[$pCsr>>2]|0; + $92 = ((($91)) + 12|0); + HEAP32[$92>>2] = $90; + $93 = HEAP32[$pCsr>>2]|0; + $94 = ((($93)) + 16|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)!=(0|0); + if (!($96)) { + HEAP32[$rc>>2] = 7; break; } - HEAP32[$0>>2] = 7; - $385 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($385|0); + $97 = HEAP32[$pCsr>>2]|0; + $98 = ((($97)) + 16|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$4>>2]|0; + $101 = ($100*24)|0; + _memset(($99|0),0,($101|0))|0; + $102 = HEAP32[$pCsr>>2]|0; + $103 = ((($102)) + 84|0); + $104 = HEAP32[$pRtree>>2]|0; + $105 = ((($104)) + 24|0); + $106 = HEAP32[$105>>2]|0; + $107 = (($106) + 1)|0; + $108 = $107<<2; + _memset(($103|0),0,($108|0))|0; + HEAP32[$ii>>2] = 0; + while(1) { + $109 = HEAP32[$ii>>2]|0; + $110 = HEAP32[$4>>2]|0; + $111 = ($109|0)<($110|0); + if (!($111)) { + break L7; + } + $112 = HEAP32[$ii>>2]|0; + $113 = HEAP32[$pCsr>>2]|0; + $114 = ((($113)) + 16|0); + $115 = HEAP32[$114>>2]|0; + $116 = (($115) + (($112*24)|0)|0); + HEAP32[$p1>>2] = $116; + $117 = HEAP32[$ii>>2]|0; + $118 = $117<<1; + $119 = HEAP32[$3>>2]|0; + $120 = (($119) + ($118)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121 << 24 >> 24; + $123 = HEAP32[$p1>>2]|0; + $124 = ((($123)) + 4|0); + HEAP32[$124>>2] = $122; + $125 = HEAP32[$ii>>2]|0; + $126 = $125<<1; + $127 = (($126) + 1)|0; + $128 = HEAP32[$3>>2]|0; + $129 = (($128) + ($127)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $132 = (($131) - 48)|0; + $133 = HEAP32[$p1>>2]|0; + HEAP32[$133>>2] = $132; + $134 = HEAP32[$p1>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = ($136|0)>=(70); + $138 = HEAP32[$ii>>2]|0; + $139 = HEAP32[$5>>2]|0; + $140 = (($139) + ($138<<2)|0); + $141 = HEAP32[$140>>2]|0; + if ($137) { + $142 = HEAP32[$p1>>2]|0; + $143 = (_deserializeGeometry($141,$142)|0); + HEAP32[$rc>>2] = $143; + $144 = HEAP32[$rc>>2]|0; + $145 = ($144|0)!=(0); + if ($145) { + break L7; + } + $146 = HEAP32[$pRtree>>2]|0; + $147 = ((($146)) + 20|0); + $148 = HEAP8[$147>>0]|0; + $149 = $148&255; + $150 = $149<<1; + $151 = HEAP32[$p1>>2]|0; + $152 = ((($151)) + 16|0); + $153 = HEAP32[$152>>2]|0; + $154 = ((($153)) + 28|0); + HEAP32[$154>>2] = $150; + $155 = HEAP32[$pCsr>>2]|0; + $156 = ((($155)) + 84|0); + $157 = HEAP32[$p1>>2]|0; + $158 = ((($157)) + 16|0); + $159 = HEAP32[$158>>2]|0; + $160 = ((($159)) + 24|0); + HEAP32[$160>>2] = $156; + $161 = HEAP32[$pRtree>>2]|0; + $162 = ((($161)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = (($163) + 1)|0; + $165 = HEAP32[$p1>>2]|0; + $166 = ((($165)) + 16|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($167)) + 36|0); + HEAP32[$168>>2] = $164; + } else { + $169 = (+_sqlite3_value_double($141)); + $170 = HEAP32[$p1>>2]|0; + $171 = ((($170)) + 8|0); + HEAPF64[$171>>3] = $169; + } + $172 = HEAP32[$ii>>2]|0; + $173 = (($172) + 1)|0; + HEAP32[$ii>>2] = $173; + } } - } - } - } while(0); - $42 = HEAP32[$3>>2]|0; - $43 = ($42|0)!=(0|0); - if ($43) { - $44 = HEAP32[$3>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = ($46|0)!=(0); - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 1)|0; - HEAP32[$nPathname>>2] = $51; - $52 = HEAP32[$nPathname>>2]|0; - $53 = $52<<1; - $54 = ($53|0)<(0); - $55 = $54 << 31 >> 31; - $56 = (_sqlite3DbMallocRaw(0,$53,$55)|0); - HEAP32[$zPathname>>2] = $56; - $57 = HEAP32[$zPathname>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - HEAP32[$0>>2] = 7; - $385 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($385|0); - } - $59 = HEAP32[$zPathname>>2]|0; - HEAP8[$59>>0] = 0; - $60 = HEAP32[$1>>2]|0; - $61 = HEAP32[$3>>2]|0; - $62 = HEAP32[$nPathname>>2]|0; - $63 = HEAP32[$zPathname>>2]|0; - $64 = (_sqlite3OsFullPathname($60,$61,$62,$63)|0); - HEAP32[$rc>>2] = $64; - $65 = HEAP32[$zPathname>>2]|0; - $66 = (_sqlite3Strlen30($65)|0); - HEAP32[$nPathname>>2] = $66; - $67 = HEAP32[$3>>2]|0; - $68 = (_sqlite3Strlen30($67)|0); - $69 = (($68) + 1)|0; - $70 = HEAP32[$3>>2]|0; - $71 = (($70) + ($69)|0); - HEAP32[$zUri>>2] = $71; - HEAP32[$z>>2] = $71; - while(1) { - $72 = HEAP32[$z>>2]|0; - $73 = HEAP8[$72>>0]|0; - $74 = ($73<<24>>24)!=(0); - $75 = HEAP32[$z>>2]|0; - if (!($74)) { + } while(0); + $174 = HEAP32[$rc>>2]|0; + $175 = ($174|0)==(0); + if ($175) { + $176 = HEAP32[$pCsr>>2]|0; + $177 = HEAP32[$pRtree>>2]|0; + $178 = ((($177)) + 24|0); + $179 = HEAP32[$178>>2]|0; + $180 = (($179) + 1)|0; + $181 = $180&255; + $182 = (_rtreeSearchPointNew($176,0.0,$181)|0); + HEAP32[$pNew>>2] = $182; + $183 = HEAP32[$pNew>>2]|0; + $184 = ($183|0)==(0|0); + if (!($184)) { + $185 = HEAP32[$pNew>>2]|0; + $186 = ((($185)) + 8|0); + $187 = $186; + $188 = $187; + HEAP32[$188>>2] = 1; + $189 = (($187) + 4)|0; + $190 = $189; + HEAP32[$190>>2] = 0; + $191 = HEAP32[$pNew>>2]|0; + $192 = ((($191)) + 18|0); + HEAP8[$192>>0] = 0; + $193 = HEAP32[$pNew>>2]|0; + $194 = ((($193)) + 17|0); + HEAP8[$194>>0] = 1; + $195 = HEAP32[$pRoot>>2]|0; + $196 = HEAP32[$pCsr>>2]|0; + $197 = ((($196)) + 64|0); + HEAP32[$197>>2] = $195; + HEAP32[$pRoot>>2] = 0; + $198 = HEAP32[$pCsr>>2]|0; + $199 = (_rtreeStepToLeaf($198)|0); + HEAP32[$rc>>2] = $199; break; } - $76 = (_sqlite3Strlen30($75)|0); - $77 = (($76) + 1)|0; - $78 = HEAP32[$z>>2]|0; - $79 = (($78) + ($77)|0); - HEAP32[$z>>2] = $79; - $80 = HEAP32[$z>>2]|0; - $81 = (_sqlite3Strlen30($80)|0); - $82 = (($81) + 1)|0; - $83 = HEAP32[$z>>2]|0; - $84 = (($83) + ($82)|0); - HEAP32[$z>>2] = $84; + HEAP32[$0>>2] = 7; + $204 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($204|0); } - $85 = (($75) + 1|0); - $86 = HEAP32[$zUri>>2]|0; - $87 = $85; - $88 = $86; - $89 = (($87) - ($88))|0; - HEAP32[$nUri>>2] = $89; - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - $92 = HEAP32[$nPathname>>2]|0; - $93 = (($92) + 8)|0; - $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($93|0)>($96|0); - if ($97) { - $98 = (_sqlite3CantopenError(45462)|0); - HEAP32[$rc>>2] = $98; - } + } + } while(0); + $200 = HEAP32[$pRtree>>2]|0; + $201 = HEAP32[$pRoot>>2]|0; + (_nodeRelease($200,$201)|0); + $202 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($202); + $203 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $203; + $204 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($204|0); +} +function _rtreeNext($pVtabCursor) { + $pVtabCursor = $pVtabCursor|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $pCsr = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pCsr = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pVtabCursor; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pCsr>>2] = $1; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$pCsr>>2]|0; + _rtreeSearchPointPop($2); + $3 = HEAP32[$pCsr>>2]|0; + $4 = (_rtreeStepToLeaf($3)|0); + HEAP32[$rc>>2] = $4; + $5 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _rtreeEof($cur) { + $cur = $cur|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $pCsr = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pCsr = sp; + HEAP32[$0>>2] = $cur; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pCsr>>2] = $1; + $2 = HEAP32[$pCsr>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + STACKTOP = sp;return ($5|0); +} +function _rtreeColumn($cur,$ctx,$i) { + $cur = $cur|0; + $ctx = $ctx|0; + $i = $i|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $p = 0, $pCsr = 0, $pNode = 0, $pRtree = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp; + $1 = sp + 16|0; + $2 = sp + 28|0; + $3 = sp + 4|0; + $pRtree = sp + 32|0; + $pCsr = sp + 36|0; + $p = sp + 12|0; + $c = sp + 24|0; + $rc = sp + 20|0; + $pNode = sp + 8|0; + HEAP32[$1>>2] = $cur; + HEAP32[$2>>2] = $ctx; + HEAP32[$3>>2] = $i; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$pRtree>>2] = $5; + $6 = HEAP32[$1>>2]|0; + HEAP32[$pCsr>>2] = $6; + $7 = HEAP32[$pCsr>>2]|0; + $8 = (_rtreeSearchPointFirst($7)|0); + HEAP32[$p>>2] = $8; + HEAP32[$rc>>2] = 0; + $9 = HEAP32[$pCsr>>2]|0; + $10 = (_rtreeNodeOfFirstSearchPoint($9,$rc)|0); + HEAP32[$pNode>>2] = $10; + $11 = HEAP32[$rc>>2]|0; + $12 = ($11|0)!=(0); + if ($12) { + $13 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $13; + $47 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($47|0); + } + $14 = HEAP32[$p>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$0>>2] = 0; + $47 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($47|0); + } + $16 = HEAP32[$3>>2]|0; + $17 = ($16|0)==(0); + do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$pRtree>>2]|0; + $20 = HEAP32[$pNode>>2]|0; + $21 = HEAP32[$p>>2]|0; + $22 = ((($21)) + 18|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (_nodeGetRowid($19,$20,$24)|0); + $26 = tempRet0; + _sqlite3_result_int64($18,$25,$26); + } else { + $27 = HEAP32[$rc>>2]|0; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $29; + $47 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($47|0); } - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$101); - $102 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $102; - $385 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($385|0); + $30 = HEAP32[$pRtree>>2]|0; + $31 = HEAP32[$pNode>>2]|0; + $32 = HEAP32[$p>>2]|0; + $33 = ((($32)) + 18|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = HEAP32[$3>>2]|0; + $37 = (($36) - 1)|0; + _nodeGetCoord($30,$31,$35,$37,$c); + $38 = HEAP32[$pRtree>>2]|0; + $39 = ((($38)) + 21|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($41|0)==(0); + $43 = HEAP32[$2>>2]|0; + if ($42) { + $44 = +HEAPF32[$c>>2]; + $45 = $44; + _sqlite3_result_double($43,$45); + break; + } else { + $46 = HEAP32[$c>>2]|0; + _sqlite3_result_int($43,$46); + break; } } + } while(0); + HEAP32[$0>>2] = 0; + $47 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($47|0); +} +function _rtreeRowid($pVtabCursor,$pRowid) { + $pVtabCursor = $pVtabCursor|0; + $pRowid = $pRowid|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $pCsr = 0, $pNode = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $pCsr = sp + 12|0; + $p = sp + 8|0; + $rc = sp + 4|0; + $pNode = sp; + HEAP32[$0>>2] = $pVtabCursor; + HEAP32[$1>>2] = $pRowid; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pCsr>>2] = $2; + $3 = HEAP32[$pCsr>>2]|0; + $4 = (_rtreeSearchPointFirst($3)|0); + HEAP32[$p>>2] = $4; + HEAP32[$rc>>2] = 0; + $5 = HEAP32[$pCsr>>2]|0; + $6 = (_rtreeNodeOfFirstSearchPoint($5,$rc)|0); + HEAP32[$pNode>>2] = $6; + $7 = HEAP32[$rc>>2]|0; + $8 = ($7|0)==(0); + $9 = HEAP32[$p>>2]|0; + $10 = ($9|0)!=(0|0); + $or$cond = $8 & $10; + if (!($or$cond)) { + $25 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($25|0); } - $103 = HEAP32[$pcacheSize>>2]|0; - $104 = (($103) + 7)|0; - $105 = $104 & -8; - $106 = (216 + ($105))|0; - $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 4|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + 7)|0; - $111 = $110 & -8; - $112 = (($106) + ($111))|0; - $113 = HEAP32[$journalFileSize>>2]|0; - $114 = $113<<1; - $115 = (($112) + ($114))|0; - $116 = HEAP32[$nPathname>>2]|0; - $117 = (($115) + ($116))|0; - $118 = (($117) + 1)|0; - $119 = HEAP32[$nUri>>2]|0; - $120 = (($118) + ($119))|0; - $121 = HEAP32[$nPathname>>2]|0; - $122 = (($120) + ($121))|0; - $123 = (($122) + 8)|0; - $124 = (($123) + 2)|0; - $125 = HEAP32[$nPathname>>2]|0; - $126 = (($124) + ($125))|0; - $127 = (($126) + 4)|0; - $128 = (($127) + 2)|0; - $129 = (_sqlite3MallocZero($128,0)|0); - HEAP32[$pPtr>>2] = $129; - $130 = HEAP32[$pPtr>>2]|0; - $131 = ($130|0)!=(0|0); - if (!($131)) { - $132 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$132); - HEAP32[$0>>2] = 7; - $385 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($385|0); - } - $133 = HEAP32[$pPtr>>2]|0; - HEAP32[$pPager>>2] = $133; - $134 = HEAP32[$pPtr>>2]|0; - $135 = (($134) + 216|0); - HEAP32[$pPtr>>2] = $135; - $136 = HEAP32[$pPager>>2]|0; - $137 = (($136) + 204|0); - HEAP32[$137>>2] = $135; - $138 = HEAP32[$pcacheSize>>2]|0; - $139 = (($138) + 7)|0; - $140 = $139 & -8; - $141 = HEAP32[$pPtr>>2]|0; - $142 = (($141) + ($140)|0); - HEAP32[$pPtr>>2] = $142; - $143 = HEAP32[$pPager>>2]|0; - $144 = (($143) + 60|0); - HEAP32[$144>>2] = $142; - $145 = HEAP32[$1>>2]|0; - $146 = (($145) + 4|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($147) + 7)|0; - $149 = $148 & -8; - $150 = HEAP32[$pPtr>>2]|0; - $151 = (($150) + ($149)|0); - HEAP32[$pPtr>>2] = $151; - $152 = HEAP32[$pPager>>2]|0; - $153 = (($152) + 68|0); - HEAP32[$153>>2] = $151; - $154 = HEAP32[$journalFileSize>>2]|0; - $155 = HEAP32[$pPtr>>2]|0; - $156 = (($155) + ($154)|0); - HEAP32[$pPtr>>2] = $156; - $157 = HEAP32[$pPager>>2]|0; - $158 = (($157) + 64|0); - HEAP32[$158>>2] = $156; - $159 = HEAP32[$journalFileSize>>2]|0; - $160 = HEAP32[$pPtr>>2]|0; - $161 = (($160) + ($159)|0); - HEAP32[$pPtr>>2] = $161; - $162 = HEAP32[$pPager>>2]|0; - $163 = (($162) + 168|0); - HEAP32[$163>>2] = $161; - $164 = HEAP32[$zPathname>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - $166 = HEAP32[$nPathname>>2]|0; - $167 = (($166) + 1)|0; - $168 = HEAP32[$nUri>>2]|0; - $169 = (($167) + ($168))|0; - $170 = HEAP32[$pPtr>>2]|0; - $171 = (($170) + ($169)|0); - HEAP32[$pPtr>>2] = $171; - $172 = HEAP32[$pPager>>2]|0; - $173 = (($172) + 172|0); - HEAP32[$173>>2] = $171; - $174 = HEAP32[$pPager>>2]|0; - $175 = (($174) + 168|0); - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$zPathname>>2]|0; - $178 = HEAP32[$nPathname>>2]|0; - _memcpy(($176|0),($177|0),($178|0))|0; - $179 = HEAP32[$nUri>>2]|0; - $180 = ($179|0)!=(0); - if ($180) { - $181 = HEAP32[$nPathname>>2]|0; - $182 = (($181) + 1)|0; - $183 = HEAP32[$pPager>>2]|0; - $184 = (($183) + 168|0); - $185 = HEAP32[$184>>2]|0; - $186 = (($185) + ($182)|0); - $187 = HEAP32[$zUri>>2]|0; - $188 = HEAP32[$nUri>>2]|0; - _memcpy(($186|0),($187|0),($188|0))|0; - } - $189 = HEAP32[$pPager>>2]|0; - $190 = (($189) + 172|0); - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$zPathname>>2]|0; - $193 = HEAP32[$nPathname>>2]|0; - _memcpy(($191|0),($192|0),($193|0))|0; - $194 = HEAP32[$nPathname>>2]|0; - $195 = HEAP32[$pPager>>2]|0; - $196 = (($195) + 172|0); - $197 = HEAP32[$196>>2]|0; - $198 = (($197) + ($194)|0); - dest=$198+0|0; src=4552+0|0; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $199 = HEAP32[$nPathname>>2]|0; - $200 = (($199) + 8)|0; - $201 = (($200) + 1)|0; - $202 = HEAP32[$pPager>>2]|0; - $203 = (($202) + 172|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($204) + ($201)|0); - $206 = HEAP32[$pPager>>2]|0; - $207 = (($206) + 212|0); - HEAP32[$207>>2] = $205; - $208 = HEAP32[$pPager>>2]|0; - $209 = (($208) + 212|0); - $210 = HEAP32[$209>>2]|0; - $211 = HEAP32[$zPathname>>2]|0; - $212 = HEAP32[$nPathname>>2]|0; - _memcpy(($210|0),($211|0),($212|0))|0; - $213 = HEAP32[$nPathname>>2]|0; - $214 = HEAP32[$pPager>>2]|0; - $215 = (($214) + 212|0); - $216 = HEAP32[$215>>2]|0; - $217 = (($216) + ($213)|0); - ;HEAP8[$217+0>>0]=HEAP8[4568+0>>0]|0;HEAP8[$217+1>>0]=HEAP8[4568+1>>0]|0;HEAP8[$217+2>>0]=HEAP8[4568+2>>0]|0;HEAP8[$217+3>>0]=HEAP8[4568+3>>0]|0;HEAP8[$217+4>>0]=HEAP8[4568+4>>0]|0; - $218 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$218); - } - $219 = HEAP32[$1>>2]|0; - $220 = HEAP32[$pPager>>2]|0; - HEAP32[$220>>2] = $219; - $221 = HEAP32[$6>>2]|0; - $222 = HEAP32[$pPager>>2]|0; - $223 = (($222) + 144|0); - HEAP32[$223>>2] = $221; - $224 = HEAP32[$3>>2]|0; - $225 = ($224|0)!=(0|0); - do { - if ($225) { - $226 = HEAP32[$3>>2]|0; - $227 = HEAP8[$226>>0]|0; - $228 = $227 << 24 >> 24; - $229 = ($228|0)!=(0); - if ($229) { - HEAP32[$fout>>2] = 0; - $230 = HEAP32[$1>>2]|0; - $231 = HEAP32[$pPager>>2]|0; - $232 = (($231) + 168|0); - $233 = HEAP32[$232>>2]|0; - $234 = HEAP32[$pPager>>2]|0; - $235 = (($234) + 60|0); - $236 = HEAP32[$235>>2]|0; - $237 = HEAP32[$6>>2]|0; - $238 = (_sqlite3OsOpen($230,$233,$236,$237,$fout)|0); - HEAP32[$rc>>2] = $238; - $239 = HEAP32[$fout>>2]|0; - $240 = $239 & 1; - HEAP32[$readOnly>>2] = $240; - $241 = HEAP32[$rc>>2]|0; - $242 = ($241|0)==(0); - if ($242) { - $243 = HEAP32[$pPager>>2]|0; - $244 = (($243) + 60|0); - $245 = HEAP32[$244>>2]|0; - $246 = (_sqlite3OsDeviceCharacteristics($245)|0); - HEAP32[$iDc>>2] = $246; - $247 = HEAP32[$readOnly>>2]|0; - $248 = ($247|0)!=(0); - do { - if (!($248)) { - $249 = HEAP32[$pPager>>2]|0; - _setSectorSize($249); - $250 = HEAP32[$szPageDflt>>2]|0; - $251 = HEAP32[$pPager>>2]|0; - $252 = (($251) + 148|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($250>>>0)<($253>>>0); - if ($254) { - $255 = HEAP32[$pPager>>2]|0; - $256 = (($255) + 148|0); - $257 = HEAP32[$256>>2]|0; - $258 = ($257>>>0)>(8192); - if ($258) { - HEAP32[$szPageDflt>>2] = 8192; - break; - } else { - $259 = HEAP32[$pPager>>2]|0; - $260 = (($259) + 148|0); - $261 = HEAP32[$260>>2]|0; - HEAP32[$szPageDflt>>2] = $261; - break; - } - } - } - } while(0); - $262 = HEAP32[$3>>2]|0; - $263 = (_sqlite3_uri_boolean($262,4576,0)|0); - $264 = $263&255; - $265 = HEAP32[$pPager>>2]|0; - $266 = (($265) + 13|0); - HEAP8[$266>>0] = $264; - $267 = HEAP32[$iDc>>2]|0; - $268 = $267 & 8192; - $269 = ($268|0)!=(0); - if (!($269)) { - $270 = HEAP32[$3>>2]|0; - $271 = (_sqlite3_uri_boolean($270,4584,0)|0); - $272 = ($271|0)!=(0); - if (!($272)) { - break; - } + $11 = HEAP32[$pCsr>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$pNode>>2]|0; + $14 = HEAP32[$p>>2]|0; + $15 = ((($14)) + 18|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = (_nodeGetRowid($12,$13,$17)|0); + $19 = tempRet0; + $20 = HEAP32[$1>>2]|0; + $21 = $20; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $19; + $25 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($25|0); +} +function _rtreeUpdate($pVtab,$nData,$azData,$pRowid) { + $pVtab = $pVtab|0; + $nData = $nData|0; + $azData = $azData|0; + $pRowid = $pRowid|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $bHaveRowid = 0, $cell = 0, $ii = 0, $or$cond = 0, $pLeaf = 0, $pRtree = 0, $rc = 0, $rc2 = 0, $steprc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 72|0; + $1 = sp + 52|0; + $2 = sp + 80|0; + $3 = sp + 60|0; + $pRtree = sp + 76|0; + $rc = sp + 84|0; + $cell = sp; + $bHaveRowid = sp + 68|0; + $ii = sp + 48|0; + $steprc = sp + 64|0; + $pLeaf = sp + 56|0; + $rc2 = sp + 88|0; + HEAP32[$0>>2] = $pVtab; + HEAP32[$1>>2] = $nData; + HEAP32[$2>>2] = $azData; + HEAP32[$3>>2] = $pRowid; + $4 = HEAP32[$0>>2]|0; + HEAP32[$pRtree>>2] = $4; + HEAP32[$rc>>2] = 0; + HEAP32[$bHaveRowid>>2] = 0; + $5 = HEAP32[$pRtree>>2]|0; + _rtreeReference($5); + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)>(1); + if ($7) { + $8 = HEAP32[$pRtree>>2]|0; + $9 = ((($8)) + 21|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(0); + HEAP32[$ii>>2] = 0; + L3: do { + if ($12) { + while(1) { + $13 = HEAP32[$ii>>2]|0; + $14 = HEAP32[$pRtree>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $17<<1; + $19 = ($13|0)<($18|0); + if (!($19)) { + break L3; } - $273 = HEAP32[$6>>2]|0; - $274 = $273 | 1; - HEAP32[$6>>2] = $274; - label = 39; + $20 = HEAP32[$ii>>2]|0; + $21 = (($20) + 3)|0; + $22 = HEAP32[$2>>2]|0; + $23 = (($22) + ($21<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (+_rtreeValueDown($24)); + $26 = HEAP32[$ii>>2]|0; + $27 = ((($cell)) + 8|0); + $28 = (($27) + ($26<<2)|0); + HEAPF32[$28>>2] = $25; + $29 = HEAP32[$ii>>2]|0; + $30 = (($29) + 4)|0; + $31 = HEAP32[$2>>2]|0; + $32 = (($31) + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (+_rtreeValueUp($33)); + $35 = HEAP32[$ii>>2]|0; + $36 = (($35) + 1)|0; + $37 = ((($cell)) + 8|0); + $38 = (($37) + ($36<<2)|0); + HEAPF32[$38>>2] = $34; + $39 = HEAP32[$ii>>2]|0; + $40 = ((($cell)) + 8|0); + $41 = (($40) + ($39<<2)|0); + $42 = +HEAPF32[$41>>2]; + $43 = HEAP32[$ii>>2]|0; + $44 = (($43) + 1)|0; + $45 = ((($cell)) + 8|0); + $46 = (($45) + ($44<<2)|0); + $47 = +HEAPF32[$46>>2]; + $48 = $42 > $47; + if ($48) { + break; + } + $49 = HEAP32[$ii>>2]|0; + $50 = (($49) + 2)|0; + HEAP32[$ii>>2] = $50; } + HEAP32[$rc>>2] = 19; + $198 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($198); + $199 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($199|0); } else { - label = 39; + while(1) { + $51 = HEAP32[$ii>>2]|0; + $52 = HEAP32[$pRtree>>2]|0; + $53 = ((($52)) + 20|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55<<1; + $57 = ($51|0)<($56|0); + if (!($57)) { + break L3; + } + $58 = HEAP32[$ii>>2]|0; + $59 = (($58) + 3)|0; + $60 = HEAP32[$2>>2]|0; + $61 = (($60) + ($59<<2)|0); + $62 = HEAP32[$61>>2]|0; + $63 = (_sqlite3_value_int($62)|0); + $64 = HEAP32[$ii>>2]|0; + $65 = ((($cell)) + 8|0); + $66 = (($65) + ($64<<2)|0); + HEAP32[$66>>2] = $63; + $67 = HEAP32[$ii>>2]|0; + $68 = (($67) + 4)|0; + $69 = HEAP32[$2>>2]|0; + $70 = (($69) + ($68<<2)|0); + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3_value_int($71)|0); + $73 = HEAP32[$ii>>2]|0; + $74 = (($73) + 1)|0; + $75 = ((($cell)) + 8|0); + $76 = (($75) + ($74<<2)|0); + HEAP32[$76>>2] = $72; + $77 = HEAP32[$ii>>2]|0; + $78 = ((($cell)) + 8|0); + $79 = (($78) + ($77<<2)|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$ii>>2]|0; + $82 = (($81) + 1)|0; + $83 = ((($cell)) + 8|0); + $84 = (($83) + ($82<<2)|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($80|0)>($85|0); + if ($86) { + break; + } + $87 = HEAP32[$ii>>2]|0; + $88 = (($87) + 2)|0; + HEAP32[$ii>>2] = $88; + } + HEAP32[$rc>>2] = 19; + $198 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($198); + $199 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($199|0); } - } else { - label = 39; + } while(0); + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 8|0); + $91 = HEAP32[$90>>2]|0; + $92 = (_sqlite3_value_type($91)|0); + $93 = ($92|0)!=(5); + if ($93) { + $94 = HEAP32[$2>>2]|0; + $95 = ((($94)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = (_sqlite3_value_int64($96)|0); + $98 = tempRet0; + $99 = $cell; + $100 = $99; + HEAP32[$100>>2] = $97; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = $98; + $103 = HEAP32[$2>>2]|0; + $104 = HEAP32[$103>>2]|0; + $105 = (_sqlite3_value_type($104)|0); + $106 = ($105|0)==(5); + if ($106) { + label = 14; + } else { + $107 = HEAP32[$2>>2]|0; + $108 = HEAP32[$107>>2]|0; + $109 = (_sqlite3_value_int64($108)|0); + $110 = tempRet0; + $111 = $cell; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = ($109|0)!=($113|0); + $118 = ($110|0)!=($116|0); + $119 = $117 | $118; + if ($119) { + label = 14; + } + } + do { + if ((label|0) == 14) { + $120 = HEAP32[$pRtree>>2]|0; + $121 = ((($120)) + 68|0); + $122 = HEAP32[$121>>2]|0; + $123 = $cell; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + (_sqlite3_bind_int64($122,1,$125,$128)|0); + $129 = HEAP32[$pRtree>>2]|0; + $130 = ((($129)) + 68|0); + $131 = HEAP32[$130>>2]|0; + $132 = (_sqlite3_step($131)|0); + HEAP32[$steprc>>2] = $132; + $133 = HEAP32[$pRtree>>2]|0; + $134 = ((($133)) + 68|0); + $135 = HEAP32[$134>>2]|0; + $136 = (_sqlite3_reset($135)|0); + HEAP32[$rc>>2] = $136; + $137 = HEAP32[$steprc>>2]|0; + $138 = (100)==($137|0); + if ($138) { + $139 = HEAP32[$pRtree>>2]|0; + $140 = ((($139)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = (_sqlite3_vtab_on_conflict($141)|0); + $143 = ($142|0)==(5); + if ($143) { + $144 = HEAP32[$pRtree>>2]|0; + $145 = $cell; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (_rtreeDeleteRowid($144,$147,$150)|0); + HEAP32[$rc>>2] = $151; + break; + } + HEAP32[$rc>>2] = 19; + $198 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($198); + $199 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($199|0); + } + } + } while(0); + HEAP32[$bHaveRowid>>2] = 1; } - } while(0); - if ((label|0) == 39) { - HEAP32[$tempFile>>2] = 1; - $275 = HEAP32[$pPager>>2]|0; - $276 = (($275) + 16|0); - HEAP8[$276>>0] = 1; - $277 = HEAP32[$pPager>>2]|0; - $278 = (($277) + 17|0); - HEAP8[$278>>0] = 4; - $279 = HEAP32[$pPager>>2]|0; - $280 = (($279) + 13|0); - HEAP8[$280>>0] = 1; - $281 = HEAP32[$6>>2]|0; - $282 = $281 & 1; - HEAP32[$readOnly>>2] = $282; - } - $283 = HEAP32[$rc>>2]|0; - $284 = ($283|0)==(0); - if ($284) { - $285 = HEAP32[$pPager>>2]|0; - $286 = (_sqlite3PagerSetPagesize($285,$szPageDflt,-1)|0); - HEAP32[$rc>>2] = $286; } - $287 = HEAP32[$rc>>2]|0; - $288 = ($287|0)==(0); - if ($288) { - $289 = HEAP32[$4>>2]|0; - $290 = (($289) + 7)|0; - $291 = $290 & -8; - HEAP32[$4>>2] = $291; - $292 = HEAP32[$szPageDflt>>2]|0; - $293 = HEAP32[$4>>2]|0; - $294 = HEAP32[$memDb>>2]|0; - $295 = ($294|0)!=(0); - $296 = $295 ^ 1; - $297 = $296&1; - $298 = HEAP32[$memDb>>2]|0; - $299 = ($298|0)!=(0); - $300 = $299 ^ 1; - $301 = $300 ? 35 : 0; - $302 = HEAP32[$pPager>>2]|0; - $303 = HEAP32[$pPager>>2]|0; - $304 = (($303) + 204|0); - $305 = HEAP32[$304>>2]|0; - $306 = (_sqlite3PcacheOpen($292,$293,$297,$301,$302,$305)|0); - HEAP32[$rc>>2] = $306; + $152 = HEAP32[$2>>2]|0; + $153 = HEAP32[$152>>2]|0; + $154 = (_sqlite3_value_type($153)|0); + $155 = ($154|0)!=(5); + if ($155) { + $156 = HEAP32[$pRtree>>2]|0; + $157 = HEAP32[$2>>2]|0; + $158 = HEAP32[$157>>2]|0; + $159 = (_sqlite3_value_int64($158)|0); + $160 = tempRet0; + $161 = (_rtreeDeleteRowid($156,$159,$160)|0); + HEAP32[$rc>>2] = $161; } - $307 = HEAP32[$rc>>2]|0; - $308 = ($307|0)!=(0); - if ($308) { - $309 = HEAP32[$pPager>>2]|0; - $310 = (($309) + 60|0); - $311 = HEAP32[$310>>2]|0; - (_sqlite3OsClose($311)|0); - $312 = HEAP32[$pPager>>2]|0; - $313 = (($312) + 200|0); - $314 = HEAP32[$313>>2]|0; - _sqlite3PageFree($314); - $315 = HEAP32[$pPager>>2]|0; - _sqlite3_free($315); - $316 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $316; - $385 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($385|0); + $162 = HEAP32[$rc>>2]|0; + $163 = ($162|0)==(0); + $164 = HEAP32[$1>>2]|0; + $165 = ($164|0)>(1); + $or$cond = $163 & $165; + if (!($or$cond)) { + $198 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($198); + $199 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($199|0); + } + HEAP32[$pLeaf>>2] = 0; + $166 = HEAP32[$bHaveRowid>>2]|0; + $167 = ($166|0)==(0); + if ($167) { + $168 = HEAP32[$pRtree>>2]|0; + $169 = (_newRowid($168,$cell)|0); + HEAP32[$rc>>2] = $169; } - $317 = HEAP32[$useJournal>>2]|0; - $318 = $317&255; - $319 = HEAP32[$pPager>>2]|0; - $320 = (($319) + 6|0); - HEAP8[$320>>0] = $318; - $321 = HEAP32[$pPager>>2]|0; - $322 = (($321) + 156|0); - HEAP32[$322>>2] = 1073741823; - $323 = HEAP32[$tempFile>>2]|0; - $324 = $323&255; - $325 = HEAP32[$pPager>>2]|0; - $326 = (($325) + 12|0); - HEAP8[$326>>0] = $324; - $327 = HEAP32[$tempFile>>2]|0; - $328 = $327&255; - $329 = HEAP32[$pPager>>2]|0; - $330 = (($329) + 4|0); - HEAP8[$330>>0] = $328; - $331 = HEAP32[$pPager>>2]|0; - $332 = (($331) + 12|0); - $333 = HEAP8[$332>>0]|0; - $334 = HEAP32[$pPager>>2]|0; - $335 = (($334) + 18|0); - HEAP8[$335>>0] = $333; - $336 = HEAP32[$memDb>>2]|0; - $337 = $336&255; - $338 = HEAP32[$pPager>>2]|0; - $339 = (($338) + 15|0); - HEAP8[$339>>0] = $337; - $340 = HEAP32[$readOnly>>2]|0; - $341 = $340&255; - $342 = HEAP32[$pPager>>2]|0; - $343 = (($342) + 14|0); - HEAP8[$343>>0] = $341; - $344 = HEAP32[$pPager>>2]|0; - $345 = (($344) + 12|0); - $346 = HEAP8[$345>>0]|0; - $347 = HEAP32[$pPager>>2]|0; - $348 = (($347) + 7|0); - HEAP8[$348>>0] = $346; - $349 = HEAP32[$pPager>>2]|0; - $350 = (($349) + 7|0); - $351 = HEAP8[$350>>0]|0; - $352 = ($351<<24>>24)!=(0); - if (!($352)) { - $353 = HEAP32[$pPager>>2]|0; - $354 = (($353) + 8|0); - HEAP8[$354>>0] = 1; - $355 = HEAP32[$pPager>>2]|0; - $356 = (($355) + 11|0); - HEAP8[$356>>0] = 2; - $357 = HEAP32[$pPager>>2]|0; - $358 = (($357) + 10|0); - HEAP8[$358>>0] = 34; - $359 = HEAP32[$pPager>>2]|0; - $360 = (($359) + 9|0); - HEAP8[$360>>0] = 2; + $170 = $cell; + $171 = $170; + $172 = HEAP32[$171>>2]|0; + $173 = (($170) + 4)|0; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$3>>2]|0; + $177 = $176; + $178 = $177; + HEAP32[$178>>2] = $172; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $175; + $181 = HEAP32[$rc>>2]|0; + $182 = ($181|0)==(0); + if ($182) { + $183 = HEAP32[$pRtree>>2]|0; + $184 = (_ChooseLeaf($183,$cell,0,$pLeaf)|0); + HEAP32[$rc>>2] = $184; } - $361 = HEAP32[$4>>2]|0; - $362 = $361&65535; - $363 = HEAP32[$pPager>>2]|0; - $364 = (($363) + 140|0); - HEAP16[$364>>1] = $362; - $365 = HEAP32[$pPager>>2]|0; - $366 = (($365) + 160|0); - $367 = $366; - $368 = $367; - HEAP32[$368>>2] = -1; - $369 = (($367) + 4)|0; - $370 = $369; - HEAP32[$370>>2] = -1; - $371 = HEAP32[$pPager>>2]|0; - _setSectorSize($371); - $372 = HEAP32[$useJournal>>2]|0; - $373 = ($372|0)!=(0); - if ($373) { - $376 = HEAP32[$memDb>>2]|0; - $377 = ($376|0)!=(0); - if ($377) { - $378 = HEAP32[$pPager>>2]|0; - $379 = (($378) + 5|0); - HEAP8[$379>>0] = 4; - } - } else { - $374 = HEAP32[$pPager>>2]|0; - $375 = (($374) + 5|0); - HEAP8[$375>>0] = 2; + $185 = HEAP32[$rc>>2]|0; + $186 = ($185|0)==(0); + if (!($186)) { + $198 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($198); + $199 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($199|0); + } + $187 = HEAP32[$pRtree>>2]|0; + $188 = ((($187)) + 52|0); + HEAP32[$188>>2] = -1; + $189 = HEAP32[$pRtree>>2]|0; + $190 = HEAP32[$pLeaf>>2]|0; + $191 = (_rtreeInsertCell($189,$190,$cell,0)|0); + HEAP32[$rc>>2] = $191; + $192 = HEAP32[$pRtree>>2]|0; + $193 = HEAP32[$pLeaf>>2]|0; + $194 = (_nodeRelease($192,$193)|0); + HEAP32[$rc2>>2] = $194; + $195 = HEAP32[$rc>>2]|0; + $196 = ($195|0)==(0); + if (!($196)) { + $198 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($198); + $199 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($199|0); + } + $197 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $197; + $198 = HEAP32[$pRtree>>2]|0; + _rtreeRelease($198); + $199 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($199|0); +} +function _rtreeRename($pVtab,$zNewName) { + $pVtab = $pVtab|0; + $zNewName = $zNewName|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRtree = 0, $rc = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zSql = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $0 = sp + 52|0; + $1 = sp + 48|0; + $pRtree = sp + 44|0; + $rc = sp + 40|0; + $zSql = sp + 36|0; + HEAP32[$0>>2] = $pVtab; + HEAP32[$1>>2] = $zNewName; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pRtree>>2] = $2; + HEAP32[$rc>>2] = 7; + $3 = HEAP32[$pRtree>>2]|0; + $4 = ((($3)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$pRtree>>2]|0; + $7 = ((($6)) + 32|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$pRtree>>2]|0; + $11 = ((($10)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$pRtree>>2]|0; + $14 = ((($13)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = HEAP32[$pRtree>>2]|0; + $18 = ((($17)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$pRtree>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $9; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $15; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $16; + $vararg_ptr6 = ((($vararg_buffer)) + 24|0); + HEAP32[$vararg_ptr6>>2] = $19; + $vararg_ptr7 = ((($vararg_buffer)) + 28|0); + HEAP32[$vararg_ptr7>>2] = $22; + $vararg_ptr8 = ((($vararg_buffer)) + 32|0); + HEAP32[$vararg_ptr8>>2] = $23; + $24 = (_sqlite3_mprintf(16025,$vararg_buffer)|0); + HEAP32[$zSql>>2] = $24; + $25 = HEAP32[$zSql>>2]|0; + $26 = ($25|0)!=(0|0); + if (!($26)) { + $33 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($33|0); } - $380 = HEAP32[$7>>2]|0; - $381 = HEAP32[$pPager>>2]|0; - $382 = (($381) + 196|0); - HEAP32[$382>>2] = $380; - $383 = HEAP32[$pPager>>2]|0; - $384 = HEAP32[$2>>2]|0; - HEAP32[$384>>2] = $383; - HEAP32[$0>>2] = 0; - $385 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($385|0); + $27 = HEAP32[$pRtree>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$zSql>>2]|0; + $31 = (_sqlite3_exec($29,$30,0,0,0)|0); + HEAP32[$rc>>2] = $31; + $32 = HEAP32[$zSql>>2]|0; + _sqlite3_free($32); + $33 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($33|0); } -function _pageReinit($pData) { - $pData = $pData|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage = 0, label = 0, sp = 0; +function _rtreeReference($pRtree) { + $pRtree = $pRtree|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pPage = sp; - HEAP32[$0>>2] = $pData; + $0 = sp; + HEAP32[$0>>2] = $pRtree; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3PagerGetExtra($1)|0); - HEAP32[$pPage>>2] = $2; - $3 = HEAP32[$pPage>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$pPage>>2]|0; - HEAP8[$6>>0] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3PagerPageRefcount($7)|0); - $9 = ($8|0)>(1); - if (!($9)) { - STACKTOP = sp;return; - } - $10 = HEAP32[$pPage>>2]|0; - (_btreeInitPage($10)|0); + $2 = ((($1)) + 36|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + 1)|0; + HEAP32[$2>>2] = $4; STACKTOP = sp;return; } -function _sqlite3PagerSetMmapLimit($pPager,$0,$1) { - $pPager = $pPager|0; +function _rtreeValueDown($v) { + $v = $v|0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $d = 0, $f = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $d = sp; + $f = sp + 8|0; + HEAP32[$0>>2] = $v; + $1 = HEAP32[$0>>2]|0; + $2 = (+_sqlite3_value_double($1)); + HEAPF64[$d>>3] = $2; + $3 = +HEAPF64[$d>>3]; + $4 = $3; + HEAPF32[$f>>2] = $4; + $5 = +HEAPF32[$f>>2]; + $6 = $5; + $7 = +HEAPF64[$d>>3]; + $8 = $6 > $7; + if (!($8)) { + $15 = +HEAPF32[$f>>2]; + STACKTOP = sp;return (+$15); + } + $9 = +HEAPF64[$d>>3]; + $10 = +HEAPF64[$d>>3]; + $11 = $10 < 0.0; + $12 = $11 ? 1.0000001192092896 : 0.99999988079071044; + $13 = $9 * $12; + $14 = $13; + HEAPF32[$f>>2] = $14; + $15 = +HEAPF32[$f>>2]; + STACKTOP = sp;return (+$15); +} +function _rtreeValueUp($v) { + $v = $v|0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $d = 0, $f = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $d = sp; + $f = sp + 8|0; + HEAP32[$0>>2] = $v; + $1 = HEAP32[$0>>2]|0; + $2 = (+_sqlite3_value_double($1)); + HEAPF64[$d>>3] = $2; + $3 = +HEAPF64[$d>>3]; + $4 = $3; + HEAPF32[$f>>2] = $4; + $5 = +HEAPF32[$f>>2]; + $6 = $5; + $7 = +HEAPF64[$d>>3]; + $8 = $6 < $7; + if (!($8)) { + $15 = +HEAPF32[$f>>2]; + STACKTOP = sp;return (+$15); + } + $9 = +HEAPF64[$d>>3]; + $10 = +HEAPF64[$d>>3]; + $11 = $10 < 0.0; + $12 = $11 ? 0.99999988079071044 : 1.0000001192092896; + $13 = $9 * $12; + $14 = $13; + HEAPF32[$f>>2] = $14; + $15 = +HEAPF32[$f>>2]; + STACKTOP = sp;return (+$15); +} +function _rtreeDeleteRowid($pRtree,$0,$1) { + $pRtree = $pRtree|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $iCell = 0, $iChild = 0, $pChild = 0, $pLeaf = 0, $pRoot = 0, $rc = 0, $rc2 = 0, $rc21 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 16|0; $3 = sp; - HEAP32[$2>>2] = $pPager; + $rc = sp + 20|0; + $pLeaf = sp + 32|0; + $iCell = sp + 28|0; + $pRoot = sp + 44|0; + $rc2 = sp + 24|0; + $rc21 = sp + 36|0; + $pChild = sp + 40|0; + $iChild = sp + 8|0; + HEAP32[$2>>2] = $pRtree; $4 = $3; $5 = $4; HEAP32[$5>>2] = $0; $6 = (($4) + 4)|0; $7 = $6; HEAP32[$7>>2] = $1; - $8 = $3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 128|0); - $16 = $15; - $17 = $16; - HEAP32[$17>>2] = $10; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $13; - $20 = HEAP32[$2>>2]|0; - _pagerFixMaplimit($20); - STACKTOP = sp;return; + HEAP32[$pLeaf>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = (_nodeAcquire($8,1,0,0,$pRoot)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + $11 = ($10|0)==(0); + if ($11) { + $12 = HEAP32[$2>>2]|0; + $13 = $3; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (_findLeafNode($12,$15,$18,$pLeaf,0)|0); + HEAP32[$rc>>2] = $19; + } + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$pLeaf>>2]|0; + $24 = $3; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (_nodeRowidIndex($22,$23,$26,$29,$iCell)|0); + HEAP32[$rc>>2] = $30; + $31 = HEAP32[$rc>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$pLeaf>>2]|0; + $35 = HEAP32[$iCell>>2]|0; + $36 = (_deleteCell($33,$34,$35,0)|0); + HEAP32[$rc>>2] = $36; + } + $37 = HEAP32[$2>>2]|0; + $38 = HEAP32[$pLeaf>>2]|0; + $39 = (_nodeRelease($37,$38)|0); + HEAP32[$rc2>>2] = $39; + $40 = HEAP32[$rc>>2]|0; + $41 = ($40|0)==(0); + if ($41) { + $42 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $42; + } + } + $43 = HEAP32[$rc>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 76|0); + $47 = HEAP32[$46>>2]|0; + $48 = $3; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + (_sqlite3_bind_int64($47,1,$50,$53)|0); + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 76|0); + $56 = HEAP32[$55>>2]|0; + (_sqlite3_step($56)|0); + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 76|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3_reset($59)|0); + HEAP32[$rc>>2] = $60; + } + $61 = HEAP32[$rc>>2]|0; + $62 = ($61|0)==(0); + if ($62) { + $63 = HEAP32[$2>>2]|0; + $64 = ((($63)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)>(0); + if ($66) { + $67 = HEAP32[$pRoot>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP32[$68>>2]|0; + $70 = ((($69)) + 2|0); + $71 = (_readInt16($70)|0); + $72 = ($71|0)==(1); + if ($72) { + $73 = HEAP32[$2>>2]|0; + $74 = HEAP32[$pRoot>>2]|0; + $75 = (_nodeGetRowid($73,$74,0)|0); + $76 = tempRet0; + $77 = $iChild; + $78 = $77; + HEAP32[$78>>2] = $75; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $76; + $81 = HEAP32[$2>>2]|0; + $82 = $iChild; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$pRoot>>2]|0; + $89 = (_nodeAcquire($81,$84,$87,$88,$pChild)|0); + HEAP32[$rc>>2] = $89; + $90 = HEAP32[$rc>>2]|0; + $91 = ($90|0)==(0); + if ($91) { + $92 = HEAP32[$2>>2]|0; + $93 = HEAP32[$pChild>>2]|0; + $94 = HEAP32[$2>>2]|0; + $95 = ((($94)) + 24|0); + $96 = HEAP32[$95>>2]|0; + $97 = (($96) - 1)|0; + $98 = (_removeNode($92,$93,$97)|0); + HEAP32[$rc>>2] = $98; + } + $99 = HEAP32[$2>>2]|0; + $100 = HEAP32[$pChild>>2]|0; + $101 = (_nodeRelease($99,$100)|0); + HEAP32[$rc21>>2] = $101; + $102 = HEAP32[$rc>>2]|0; + $103 = ($102|0)==(0); + if ($103) { + $104 = HEAP32[$rc21>>2]|0; + HEAP32[$rc>>2] = $104; + } + $105 = HEAP32[$rc>>2]|0; + $106 = ($105|0)==(0); + if ($106) { + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 24|0); + $109 = HEAP32[$108>>2]|0; + $110 = (($109) + -1)|0; + HEAP32[$108>>2] = $110; + $111 = HEAP32[$pRoot>>2]|0; + $112 = ((($111)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$2>>2]|0; + $115 = ((($114)) + 24|0); + $116 = HEAP32[$115>>2]|0; + (_writeInt16($113,$116)|0); + $117 = HEAP32[$pRoot>>2]|0; + $118 = ((($117)) + 20|0); + HEAP32[$118>>2] = 1; + } + } + } + } + $119 = HEAP32[$2>>2]|0; + $120 = ((($119)) + 48|0); + $121 = HEAP32[$120>>2]|0; + HEAP32[$pLeaf>>2] = $121; + while(1) { + $122 = HEAP32[$pLeaf>>2]|0; + $123 = ($122|0)!=(0|0); + $124 = HEAP32[$rc>>2]|0; + $125 = ($124|0)==(0); + if (!($123)) { + break; + } + if ($125) { + $126 = HEAP32[$2>>2]|0; + $127 = HEAP32[$pLeaf>>2]|0; + $128 = (_reinsertNodeContent($126,$127)|0); + HEAP32[$rc>>2] = $128; + } + $129 = HEAP32[$pLeaf>>2]|0; + $130 = ((($129)) + 28|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$2>>2]|0; + $133 = ((($132)) + 48|0); + HEAP32[$133>>2] = $131; + $134 = HEAP32[$pLeaf>>2]|0; + _sqlite3_free($134); + $135 = HEAP32[$2>>2]|0; + $136 = ((($135)) + 48|0); + $137 = HEAP32[$136>>2]|0; + HEAP32[$pLeaf>>2] = $137; + } + $138 = HEAP32[$2>>2]|0; + $139 = HEAP32[$pRoot>>2]|0; + $140 = (_nodeRelease($138,$139)|0); + if (!($125)) { + $141 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($141|0); + } + HEAP32[$rc>>2] = $140; + $141 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($141|0); } -function _sqlite3PagerReadFileheader($pPager,$N,$pDest) { - $pPager = $pPager|0; - $N = $N|0; - $pDest = $pDest|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $rc = 0, label = 0, sp = 0; +function _newRowid($pRtree,$piRowid) { + $pRtree = $pRtree|0; + $piRowid = $piRowid|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; + $0 = sp + 8|0; + $1 = sp + 4|0; $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $N; - HEAP32[$2>>2] = $pDest; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - _memset(($3|0),0,($4|0))|0; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $piRowid; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 72|0); + $4 = HEAP32[$3>>2]|0; + (_sqlite3_bind_null($4,1)|0); $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 60|0); + $6 = ((($5)) + 72|0); $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); - } - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 60|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3OsRead($12,$13,$14,0,0)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(522); - $$ = $17 ? 0 : $15; - HEAP32[$rc>>2] = $$; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + (_sqlite3_bind_null($7,2)|0); + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 72|0); + $10 = HEAP32[$9>>2]|0; + (_sqlite3_step($10)|0); + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 72|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_reset($13)|0); + HEAP32[$rc>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3_last_insert_rowid($17)|0); + $19 = tempRet0; + $20 = HEAP32[$1>>2]|0; + $21 = $20; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $19; + $25 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($25|0); } -function _sqlite3PagerSetBusyhandler($pPager,$xBusyHandler,$pBusyHandlerArg) { - $pPager = $pPager|0; - $xBusyHandler = $xBusyHandler|0; - $pBusyHandlerArg = $pBusyHandlerArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $ap = 0, label = 0, sp = 0; +function _ChooseLeaf($pRtree,$pCell,$iHeight,$ppLeaf) { + $pRtree = $pRtree|0; + $pCell = $pCell|0; + $iHeight = $iHeight|0; + $ppLeaf = $ppLeaf|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0; + var $aCell = 0, $area = 0, $bBest = 0, $cell = 0, $fMinArea = 0, $fMinGrowth = 0, $growth = 0, $iBest = 0, $iCell = 0, $ii = 0, $nCell = 0, $pChild = 0, $pNode = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $ap = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $xBusyHandler; - HEAP32[$2>>2] = $pBusyHandlerArg; - $3 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 144|0; + $0 = sp + 104|0; + $1 = sp + 116|0; + $2 = sp + 92|0; + $3 = sp + 132|0; + $rc = sp + 120|0; + $ii = sp + 124|0; + $pNode = sp + 100|0; + $iCell = sp + 88|0; + $iBest = sp + 72|0; + $fMinGrowth = sp + 80|0; + $fMinArea = sp; + $nCell = sp + 128|0; + $cell = sp + 8|0; + $pChild = sp + 112|0; + $aCell = sp + 108|0; + $bBest = sp + 96|0; + $growth = sp + 56|0; + $area = sp + 64|0; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pCell; + HEAP32[$2>>2] = $iHeight; + HEAP32[$3>>2] = $ppLeaf; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 176|0); - HEAP32[$5>>2] = $3; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 180|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 60|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - STACKTOP = sp;return; + $5 = (_nodeAcquire($4,1,0,0,$pNode)|0); + HEAP32[$rc>>2] = $5; + HEAP32[$ii>>2] = 0; + while(1) { + $6 = HEAP32[$rc>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + label = 15; + break; + } + $8 = HEAP32[$ii>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = (($11) - ($12))|0; + $14 = ($8|0)<($13|0); + if (!($14)) { + label = 15; + break; + } + $15 = $iBest; + $16 = $15; + HEAP32[$16>>2] = 0; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = 0; + HEAPF64[$fMinGrowth>>3] = 0.0; + HEAPF64[$fMinArea>>3] = 0.0; + $19 = HEAP32[$pNode>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 2|0); + $23 = (_readInt16($22)|0); + HEAP32[$nCell>>2] = $23; + HEAP32[$aCell>>2] = 0; + HEAP32[$iCell>>2] = 0; + while(1) { + $24 = HEAP32[$iCell>>2]|0; + $25 = HEAP32[$nCell>>2]|0; + $26 = ($24|0)<($25|0); + if (!($26)) { + break; + } + HEAP32[$bBest>>2] = 0; + $27 = HEAP32[$0>>2]|0; + $28 = HEAP32[$pNode>>2]|0; + $29 = HEAP32[$iCell>>2]|0; + _nodeGetCell($27,$28,$29,$cell); + $30 = HEAP32[$0>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = (+_cellGrowth($30,$cell,$31)); + HEAPF64[$growth>>3] = $32; + $33 = HEAP32[$0>>2]|0; + $34 = (+_cellArea($33,$cell)); + HEAPF64[$area>>3] = $34; + $35 = HEAP32[$iCell>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + label = 10; + } else { + $37 = +HEAPF64[$growth>>3]; + $38 = +HEAPF64[$fMinGrowth>>3]; + $39 = $37 < $38; + if ($39) { + label = 10; + } else { + $40 = +HEAPF64[$growth>>3]; + $41 = +HEAPF64[$fMinGrowth>>3]; + $42 = $40 == $41; + if ($42) { + $43 = +HEAPF64[$area>>3]; + $44 = +HEAPF64[$fMinArea>>3]; + $45 = $43 < $44; + if ($45) { + label = 10; + } + } + } + } + if ((label|0) == 10) { + label = 0; + HEAP32[$bBest>>2] = 1; + } + $46 = HEAP32[$bBest>>2]|0; + $47 = ($46|0)!=(0); + if ($47) { + $48 = +HEAPF64[$growth>>3]; + HEAPF64[$fMinGrowth>>3] = $48; + $49 = +HEAPF64[$area>>3]; + HEAPF64[$fMinArea>>3] = $49; + $50 = $cell; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = $iBest; + $57 = $56; + HEAP32[$57>>2] = $52; + $58 = (($56) + 4)|0; + $59 = $58; + HEAP32[$59>>2] = $55; + } + $60 = HEAP32[$iCell>>2]|0; + $61 = (($60) + 1)|0; + HEAP32[$iCell>>2] = $61; + } + $62 = HEAP32[$aCell>>2]|0; + _sqlite3_free($62); + $63 = HEAP32[$0>>2]|0; + $64 = $iBest; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$pNode>>2]|0; + $71 = (_nodeAcquire($63,$66,$69,$70,$pChild)|0); + HEAP32[$rc>>2] = $71; + $72 = HEAP32[$0>>2]|0; + $73 = HEAP32[$pNode>>2]|0; + (_nodeRelease($72,$73)|0); + $74 = HEAP32[$pChild>>2]|0; + HEAP32[$pNode>>2] = $74; + $75 = HEAP32[$ii>>2]|0; + $76 = (($75) + 1)|0; + HEAP32[$ii>>2] = $76; } - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 176|0); - HEAP32[$ap>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 60|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$ap>>2]|0; - _sqlite3OsFileControlHint($18,15,$19); - STACKTOP = sp;return; + if ((label|0) == 15) { + $77 = HEAP32[$pNode>>2]|0; + $78 = HEAP32[$3>>2]|0; + HEAP32[$78>>2] = $77; + $79 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($79|0); + } + return (0)|0; } -function _btreeInvokeBusyHandler($pArg) { - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pBt = 0, label = 0, sp = 0; +function _rtreeInsertCell($pRtree,$pNode,$pCell,$iHeight) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $pCell = $pCell|0; + $iHeight = $iHeight|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $9 = 0, $pChild = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $pArg; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pBt>>2] = $1; - $2 = HEAP32[$pBt>>2]|0; - $3 = (($2) + 4|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $rc = sp + 4|0; + $pChild = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$2>>2] = $pCell; + HEAP32[$3>>2] = $iHeight; + HEAP32[$rc>>2] = 0; $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 444|0); - $6 = (_sqlite3InvokeBusyHandler($5)|0); - STACKTOP = sp;return ($6|0); + $5 = ($4|0)>(0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = $7; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (_nodeHashLookup($6,$10,$13)|0); + HEAP32[$pChild>>2] = $14; + $15 = HEAP32[$pChild>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $17 = HEAP32[$0>>2]|0; + $18 = HEAP32[$pChild>>2]|0; + $19 = HEAP32[$18>>2]|0; + (_nodeRelease($17,$19)|0); + $20 = HEAP32[$1>>2]|0; + _nodeReference($20); + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$pChild>>2]|0; + HEAP32[$22>>2] = $21; + } + } + $23 = HEAP32[$0>>2]|0; + $24 = HEAP32[$1>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = (_nodeInsertCell($23,$24,$25)|0); + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$3>>2]|0; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 52|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($28|0)<=($31|0); + if (!($32)) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 8|0); + $35 = $34; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)==(1); + $42 = ($40|0)==(0); + $43 = $41 & $42; + if (!($43)) { + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$0>>2]|0; + $51 = ((($50)) + 52|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$0>>2]|0; + $53 = HEAP32[$1>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = (_Reinsert($52,$53,$54,$55)|0); + HEAP32[$rc>>2] = $56; + $83 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($83|0); + } + } + $44 = HEAP32[$0>>2]|0; + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = (_SplitNode($44,$45,$46,$47)|0); + HEAP32[$rc>>2] = $48; + $83 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($83|0); + } + $57 = HEAP32[$0>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = HEAP32[$2>>2]|0; + $60 = (_AdjustTree($57,$58,$59)|0); + HEAP32[$rc>>2] = $60; + $61 = HEAP32[$rc>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + $83 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($83|0); + } + $63 = HEAP32[$3>>2]|0; + $64 = ($63|0)==(0); + $65 = HEAP32[$0>>2]|0; + $66 = HEAP32[$2>>2]|0; + $67 = $66; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 8|0); + $75 = $74; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + if ($64) { + $81 = (_rowidWrite($65,$69,$72,$77,$80)|0); + HEAP32[$rc>>2] = $81; + $83 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($83|0); + } else { + $82 = (_parentWrite($65,$69,$72,$77,$80)|0); + HEAP32[$rc>>2] = $82; + $83 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($83|0); + } + return (0)|0; } -function _sqlite3PagerIsreadonly($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _nodeRelease($pRtree,$pNode) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 14|0); - $3 = HEAP8[$2>>0]|0; - STACKTOP = sp;return ($3|0); + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $40 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($40|0); + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + $7 = (($6) + -1)|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + $40 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($40|0); + } + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 8|0); + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)==(1); + $21 = ($19|0)==(0); + $22 = $20 & $21; + if ($22) { + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 24|0); + HEAP32[$24>>2] = -1; + } + $25 = HEAP32[$1>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + if ($27) { + $28 = HEAP32[$0>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = (_nodeRelease($28,$30)|0); + HEAP32[$rc>>2] = $31; + } + $32 = HEAP32[$rc>>2]|0; + $33 = ($32|0)==(0); + if ($33) { + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$1>>2]|0; + $36 = (_nodeWrite($34,$35)|0); + HEAP32[$rc>>2] = $36; + } + $37 = HEAP32[$0>>2]|0; + $38 = HEAP32[$1>>2]|0; + _nodeHashDelete($37,$38); + $39 = HEAP32[$1>>2]|0; + _sqlite3_free($39); + $40 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($40|0); } -function _sqlite3Get4byte($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _rtreeRelease($pRtree) { + $pRtree = $pRtree|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $p; + HEAP32[$0>>2] = $pRtree; $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = $8 << 16; - $10 = $4 | $9; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 2|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = $14 << 8; - $16 = $10 | $15; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 3|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $16 | $20; - STACKTOP = sp;return ($21|0); -} -function _sqlite3PagerClose($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 200|0); + $2 = ((($1)) + 36|0); $3 = HEAP32[$2>>2]|0; - HEAP32[$pTmp>>2] = $3; - _sqlite3BeginBenignMalloc(); - $4 = HEAP32[$0>>2]|0; - _pagerFreeMapHdrs($4); + $4 = (($3) + -1)|0; + HEAP32[$2>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); - HEAP8[$6>>0] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 208|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 9|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 152|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$pTmp>>2]|0; - (_sqlite3WalClose($9,$13,$16,$17)|0); - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 208|0); - HEAP32[$19>>2] = 0; - $20 = HEAP32[$0>>2]|0; - _pager_reset($20); - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 15|0); - $23 = HEAP8[$22>>0]|0; - $24 = ($23<<24>>24)!=(0); - $25 = HEAP32[$0>>2]|0; - if ($24) { - _pager_unlock($25); - } else { - $26 = (($25) + 64|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = (_pagerSyncHotJournal($31)|0); - (_pager_error($30,$32)|0); - } - $33 = HEAP32[$0>>2]|0; - _pagerUnlockAndRollback($33); + $6 = ((($5)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + STACKTOP = sp;return; } - _sqlite3EndBenignMalloc(); - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 64|0); - $36 = HEAP32[$35>>2]|0; - (_sqlite3OsClose($36)|0); - $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 60|0); - $39 = HEAP32[$38>>2]|0; - (_sqlite3OsClose($39)|0); - $40 = HEAP32[$pTmp>>2]|0; - _sqlite3PageFree($40); - $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 204|0); - $43 = HEAP32[$42>>2]|0; - _sqlite3PcacheClose($43); - $44 = HEAP32[$0>>2]|0; - _sqlite3_free($44); - STACKTOP = sp;return 0; -} -function _sqlite3PagerSetCachesize($pPager,$mxPage) { - $pPager = $pPager|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 204|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - _sqlite3PcacheSetCachesize($4,$5); - STACKTOP = sp;return; -} -function _sqlite3PcacheSetCachesize($pCache,$mxPage) { - $pCache = $pCache|0; - $mxPage = $mxPage|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $mxPage; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 16|0); - HEAP32[$4>>2] = $2; - $5 = HEAP32[((38640 + 124|0))>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 40|0); - $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = (_numberOfCachePages($9)|0); - FUNCTION_TABLE_vii[$5 & 7]($8,$10); - STACKTOP = sp;return; -} -function _pagerFreeMapHdrs($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pNext = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 136|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - while(1) { - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - break; - } - $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pNext>>2] = $8; - $9 = HEAP32[$p>>2]|0; - _sqlite3_free($9); - $10 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $10; - } + $10 = ((($9)) + 56|0); + $11 = HEAP32[$10>>2]|0; + (_sqlite3_finalize($11)|0); + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 60|0); + $14 = HEAP32[$13>>2]|0; + (_sqlite3_finalize($14)|0); + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 64|0); + $17 = HEAP32[$16>>2]|0; + (_sqlite3_finalize($17)|0); + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 68|0); + $20 = HEAP32[$19>>2]|0; + (_sqlite3_finalize($20)|0); + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 72|0); + $23 = HEAP32[$22>>2]|0; + (_sqlite3_finalize($23)|0); + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 76|0); + $26 = HEAP32[$25>>2]|0; + (_sqlite3_finalize($26)|0); + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 80|0); + $29 = HEAP32[$28>>2]|0; + (_sqlite3_finalize($29)|0); + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 84|0); + $32 = HEAP32[$31>>2]|0; + (_sqlite3_finalize($32)|0); + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 88|0); + $35 = HEAP32[$34>>2]|0; + (_sqlite3_finalize($35)|0); + $36 = HEAP32[$0>>2]|0; + _sqlite3_free($36); STACKTOP = sp;return; } -function _sqlite3WalClose($pWal,$sync_flags,$nBuf,$zBuf) { - $pWal = $pWal|0; - $sync_flags = $sync_flags|0; - $nBuf = $nBuf|0; - $zBuf = $zBuf|0; +function _nodeWrite($pRtree,$pNode) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; - var $8 = 0, $9 = 0, $bPersist = 0, $isDelete = 0, $rc = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $isDelete = sp + 4|0; - $bPersist = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $sync_flags; - HEAP32[$2>>2] = $nBuf; - HEAP32[$3>>2] = $zBuf; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $rc = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)!=(0|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 20|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); if (!($5)) { - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); + $67 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($67|0); } - HEAP32[$isDelete>>2] = 0; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 60|0); $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3OsLock($8,4)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 43|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 43|0); - HEAP8[$18>>0] = 1; - } - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = (_sqlite3WalCheckpoint($19,0,0,0,$20,$21,$22,0,0)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - HEAP32[$bPersist>>2] = -1; - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 4|0); - $28 = HEAP32[$27>>2]|0; - _sqlite3OsFileControlHint($28,10,$bPersist); - $29 = HEAP32[$bPersist>>2]|0; - $30 = ($29|0)!=(1); - if ($30) { - HEAP32[$isDelete>>2] = 1; - break; - } - $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 16|0); - $33 = $32; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - $40 = ($35>>>0)>=(0); - $41 = ($38|0)==(0); - $42 = $41 & $40; - $43 = $39 | $42; - if ($43) { - $44 = HEAP32[$0>>2]|0; - _walLimitSize($44,0,0); - } - } - } - } while(0); - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$isDelete>>2]|0; - _walIndexClose($45,$46); - $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 8|0); - $49 = HEAP32[$48>>2]|0; - (_sqlite3OsClose($49)|0); - $50 = HEAP32[$isDelete>>2]|0; - $51 = ($50|0)!=(0); - if ($51) { - _sqlite3BeginBenignMalloc(); - $52 = HEAP32[$0>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$0>>2]|0; - $55 = (($54) + 100|0); - $56 = HEAP32[$55>>2]|0; - (_sqlite3OsDelete($53,$56,0)|0); - _sqlite3EndBenignMalloc(); - } - $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 32|0); - $59 = HEAP32[$58>>2]|0; - _sqlite3_free($59); - $60 = HEAP32[$0>>2]|0; - _sqlite3_free($60); - $61 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($61|0); -} -function _pager_unlock($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $9 = 0, $iDc = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $iDc = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 56|0); - $3 = HEAP32[$2>>2]|0; - _sqlite3BitvecDestroy($3); - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 56|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - _releaseAllSavepoints($6); - $7 = HEAP32[$0>>2]|0; - $8 = (_pagerUseWal($7)|0); - $9 = ($8|0)!=(0); - $10 = HEAP32[$0>>2]|0; - if ($9) { - $11 = (($10) + 208|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3WalEndReadTransaction($12); - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 16|0); - HEAP8[$14>>0] = 0; + HEAP32[$p>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 8|0); + $11 = $10; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)!=(0); + $18 = ($16|0)!=(0); + $19 = $17 | $18; + $20 = HEAP32[$p>>2]|0; + if ($19) { + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 8|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + (_sqlite3_bind_int64($20,1,$25,$28)|0); } else { - $15 = (($10) + 4|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 60|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 60|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3OsDeviceCharacteristics($25)|0); - $27 = $26; - } else { - $27 = 0; - } - HEAP32[$iDc>>2] = $27; - $28 = HEAP32[$iDc>>2]|0; - $29 = $28 & 2048; - $30 = (0)==($29|0); - if ($30) { - label = 8; - } else { - $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 5|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 & 5; - $36 = (1)!=($35|0); - if ($36) { - label = 8; - } - } - if ((label|0) == 8) { - $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 64|0); - $39 = HEAP32[$38>>2]|0; - (_sqlite3OsClose($39)|0); - } - $40 = HEAP32[$0>>2]|0; - $41 = (_pagerUnlockDb($40,0)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)!=(0); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 16|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($47|0)==(6); - if ($48) { - $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 17|0); - HEAP8[$50>>0] = 5; - } - } - $51 = HEAP32[$0>>2]|0; - $52 = (($51) + 18|0); - HEAP8[$52>>0] = 0; - $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 16|0); - HEAP8[$54>>0] = 0; - } + (_sqlite3_bind_null($20,1)|0); } - $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 40|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)!=(0); - if (!($58)) { - $69 = HEAP32[$0>>2]|0; - $70 = (($69) + 72|0); - $71 = $70; - $72 = $71; - HEAP32[$72>>2] = 0; - $73 = (($71) + 4)|0; - $74 = $73; - HEAP32[$74>>2] = 0; - $75 = HEAP32[$0>>2]|0; - $76 = (($75) + 80|0); - $77 = $76; - $78 = $77; - HEAP32[$78>>2] = 0; - $79 = (($77) + 4)|0; - $80 = $79; - HEAP32[$80>>2] = 0; - $81 = HEAP32[$0>>2]|0; - $82 = (($81) + 19|0); - HEAP8[$82>>0] = 0; - STACKTOP = sp;return; + $29 = HEAP32[$p>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + (_sqlite3_bind_blob($29,2,$32,$35,0)|0); + $36 = HEAP32[$p>>2]|0; + (_sqlite3_step($36)|0); + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 20|0); + HEAP32[$38>>2] = 0; + $39 = HEAP32[$p>>2]|0; + $40 = (_sqlite3_reset($39)|0); + HEAP32[$rc>>2] = $40; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 8|0); + $43 = $42; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = ($45|0)==(0); + $50 = ($48|0)==(0); + $51 = $49 & $50; + $52 = HEAP32[$rc>>2]|0; + $53 = ($52|0)==(0); + $or$cond = $51 & $53; + if (!($or$cond)) { + $67 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($67|0); } - $59 = HEAP32[$0>>2]|0; - _pager_reset($59); - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 12|0); - $62 = HEAP8[$61>>0]|0; - $63 = HEAP32[$0>>2]|0; - $64 = (($63) + 18|0); - HEAP8[$64>>0] = $62; + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = (_sqlite3_last_insert_rowid($56)|0); + $58 = tempRet0; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 8|0); + $61 = $60; + $62 = $61; + HEAP32[$62>>2] = $57; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = $58; $65 = HEAP32[$0>>2]|0; - $66 = (($65) + 16|0); - HEAP8[$66>>0] = 0; - $67 = HEAP32[$0>>2]|0; - $68 = (($67) + 40|0); - HEAP32[$68>>2] = 0; - $69 = HEAP32[$0>>2]|0; - $70 = (($69) + 72|0); - $71 = $70; - $72 = $71; - HEAP32[$72>>2] = 0; - $73 = (($71) + 4)|0; - $74 = $73; - HEAP32[$74>>2] = 0; - $75 = HEAP32[$0>>2]|0; - $76 = (($75) + 80|0); - $77 = $76; - $78 = $77; - HEAP32[$78>>2] = 0; - $79 = (($77) + 4)|0; - $80 = $79; - HEAP32[$80>>2] = 0; - $81 = HEAP32[$0>>2]|0; - $82 = (($81) + 19|0); - HEAP8[$82>>0] = 0; - STACKTOP = sp;return; + $66 = HEAP32[$1>>2]|0; + _nodeHashInsert($65,$66); + $67 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($67|0); } -function _pager_error($pPager,$rc) { - $pPager = $pPager|0; - $rc = $rc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc2 = 0, label = 0, sp = 0; +function _nodeHashDelete($pRtree,$pNode) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pp = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $rc2 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $rc; + $pp = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; $2 = HEAP32[$1>>2]|0; - $3 = $2 & 255; - HEAP32[$rc2>>2] = $3; - $4 = HEAP32[$rc2>>2]|0; - $5 = ($4|0)==(13); - $6 = HEAP32[$rc2>>2]|0; - $7 = ($6|0)==(10); - $or$cond = $5 | $7; - if (!($or$cond)) { - $13 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($13|0); + $3 = ((($2)) + 8|0); + $4 = $3; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)!=(0); + $11 = ($9|0)!=(0); + $12 = $10 | $11; + if (!($12)) { + STACKTOP = sp;return; } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 40|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 16|0); - HEAP8[$12>>0] = 6; $13 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($13|0); + $14 = ((($13)) + 8|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (_nodeHash($17,$20)|0); + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 92|0); + $24 = (($23) + ($21<<2)|0); + HEAP32[$pp>>2] = $24; + while(1) { + $25 = HEAP32[$pp>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$1>>2]|0; + $28 = ($26|0)!=($27|0); + if (!($28)) { + break; + } + $29 = HEAP32[$pp>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 28|0); + HEAP32[$pp>>2] = $31; + } + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 28|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$pp>>2]|0; + HEAP32[$35>>2] = $34; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 28|0); + HEAP32[$37>>2] = 0; + STACKTOP = sp;return; } -function _pagerSyncHotJournal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0; - var sp = 0; +function _nodeHash($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 7|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if (!($4)) { - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 64|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3OsSync($7,2)|0); - HEAP32[$rc>>2] = $8; - } - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); - } - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 64|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 80|0); - $16 = (_sqlite3OsFileSize($13,$15)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); + $2 = sp; + $3 = $2; + $4 = $3; + HEAP32[$4>>2] = $0; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = $1; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (___remdi3(($9|0),($12|0),97,0)|0); + $14 = tempRet0; + STACKTOP = sp;return ($13|0); } -function _pagerUnlockAndRollback($pPager) { - $pPager = $pPager|0; +function _nodeHashInsert($pRtree,$pNode) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $7 = 0, $8 = 0, $9 = 0, $iHash = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(6); - do { - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 16|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 16|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)>=(2); - if ($15) { - _sqlite3BeginBenignMalloc(); - $16 = HEAP32[$0>>2]|0; - (_sqlite3PagerRollback($16)|0); - _sqlite3EndBenignMalloc(); - break; - } - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 4|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)!=(0); - if (!($20)) { - $21 = HEAP32[$0>>2]|0; - (_pager_end_transaction($21,0,0)|0); - } - } - } - } while(0); - $22 = HEAP32[$0>>2]|0; - _pager_unlock($22); + $0 = sp + 8|0; + $1 = sp + 4|0; + $iHash = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = $3; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (_nodeHash($6,$9)|0); + HEAP32[$iHash>>2] = $10; + $11 = HEAP32[$iHash>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 92|0); + $14 = (($13) + ($11<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 28|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$iHash>>2]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 92|0); + $22 = (($21) + ($19<<2)|0); + HEAP32[$22>>2] = $18; STACKTOP = sp;return; } -function _sqlite3OsClose($pId) { - $pId = $pId|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _nodeHashLookup($pRtree,$0,$1) { + $pRtree = $pRtree|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pId; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); + $2 = sp + 12|0; + $3 = sp; + $p = sp + 8|0; + HEAP32[$2>>2] = $pRtree; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = $3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (_nodeHash($10,$13)|0); + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 92|0); + $17 = (($16) + ($14<<2)|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$p>>2] = $18; + while(1) { + $19 = HEAP32[$p>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + label = 5; + break; + } + $21 = HEAP32[$p>>2]|0; + $22 = ((($21)) + 8|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $3; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = ($25|0)!=($31|0); + $36 = ($28|0)!=($34|0); + $37 = $35 | $36; + if (!($37)) { + label = 5; + break; + } + $38 = HEAP32[$p>>2]|0; + $39 = ((($38)) + 28|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$p>>2] = $40; } - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (FUNCTION_TABLE_ii[$7 & 31]($8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$0>>2]|0; - HEAP32[$10>>2] = 0; - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); + if ((label|0) == 5) { + $41 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($41|0); + } + return (0)|0; } -function _sqlite3PcacheClose($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _nodeReference($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[((38640 + 148|0))>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 40|0); - $4 = HEAP32[$3>>2]|0; - FUNCTION_TABLE_vi[$1 & 31]($4); + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + STACKTOP = sp;return; + } + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + 1)|0; + HEAP32[$4>>2] = $6; STACKTOP = sp;return; } -function _sqlite3PagerRollback($pPager) { - $pPager = $pPager|0; +function _nodeInsertCell($pRtree,$pNode,$pCell) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $pCell = $pCell|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $eState = 0, $or$cond = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nCell = 0, $nMaxCell = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; - $rc = sp + 8|0; - $rc2 = sp + 4|0; - $eState = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(6); - $7 = HEAP32[$1>>2]|0; - if ($6) { - $8 = (($7) + 40|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$0>>2] = $9; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - $10 = (($7) + 16|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)<=(1); - if ($13) { - HEAP32[$0>>2] = 0; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $2 = sp + 8|0; + $nCell = sp + 4|0; + $nMaxCell = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$2>>2] = $pCell; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) - 4)|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 22|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = (($6|0) / ($10|0))&-1; + HEAP32[$nMaxCell>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 2|0); + $16 = (_readInt16($15)|0); + HEAP32[$nCell>>2] = $16; + $17 = HEAP32[$nCell>>2]|0; + $18 = HEAP32[$nMaxCell>>2]|0; + $19 = ($17|0)<($18|0); + if (!($19)) { + $32 = HEAP32[$nCell>>2]|0; + $33 = HEAP32[$nMaxCell>>2]|0; + $34 = ($32|0)==($33|0); + $35 = $34&1; + STACKTOP = sp;return ($35|0); } - $14 = HEAP32[$1>>2]|0; - $15 = (_pagerUseWal($14)|0); - $16 = ($15|0)!=(0); - $17 = HEAP32[$1>>2]|0; - do { - if ($16) { - $18 = (_sqlite3PagerSavepoint($17,2,-1)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 19|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = (_pager_end_transaction($19,$23,0)|0); - HEAP32[$rc2>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - $27 = HEAP32[$rc2>>2]|0; - HEAP32[$rc>>2] = $27; - } - } else { - $28 = (($17) + 64|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 16|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = ($35|0)==(2); - if (!($36)) { - $54 = HEAP32[$1>>2]|0; - $55 = (_pager_playback($54,0)|0); - HEAP32[$rc>>2] = $55; - break; - } - } - $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 16|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - HEAP32[$eState>>2] = $40; - $41 = HEAP32[$1>>2]|0; - $42 = (_pager_end_transaction($41,0,0)|0); - HEAP32[$rc>>2] = $42; - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 15|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(0); - $47 = HEAP32[$eState>>2]|0; - $48 = ($47|0)>(2); - $or$cond = $46 & $48; - if ($or$cond) { - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 40|0); - HEAP32[$50>>2] = 4; - $51 = HEAP32[$1>>2]|0; - $52 = (($51) + 16|0); - HEAP8[$52>>0] = 6; - $53 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $53; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - } - } while(0); - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$rc>>2]|0; - $58 = (_pager_error($56,$57)|0); - HEAP32[$0>>2] = $58; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $20 = HEAP32[$0>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$nCell>>2]|0; + _nodeOverwriteCell($20,$21,$22,$23); + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 2|0); + $28 = HEAP32[$nCell>>2]|0; + $29 = (($28) + 1)|0; + (_writeInt16($27,$29)|0); + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 20|0); + HEAP32[$31>>2] = 1; + $32 = HEAP32[$nCell>>2]|0; + $33 = HEAP32[$nMaxCell>>2]|0; + $34 = ($32|0)==($33|0); + $35 = $34&1; + STACKTOP = sp;return ($35|0); } -function _pager_end_transaction($pPager,$hasMaster,$bCommit) { - $pPager = $pPager|0; - $hasMaster = $hasMaster|0; - $bCommit = $bCommit|0; - var $$ = 0, $$4 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bDelete = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; +function _SplitNode($pRtree,$pNode,$pCell,$iHeight) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $pCell = $pCell|0; + $iHeight = $iHeight|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aCell = 0; + var $aiUsed = 0, $i = 0, $iCell = 0, $iRowid = 0, $iRowid1 = 0, $leftbbox = 0, $nCell = 0, $newCellIsRight = 0, $or$cond = 0, $pLeft = 0, $pParent = 0, $pRight = 0, $rc = 0, $rightbbox = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $rc2 = sp + 4|0; - $bDelete = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $hasMaster; - HEAP32[$3>>2] = $bCommit; + STACKTOP = STACKTOP + 176|0; + $0 = sp + 152|0; + $1 = sp + 156|0; + $2 = sp + 112|0; + $3 = sp + 136|0; + $i = sp + 132|0; + $newCellIsRight = sp + 148|0; + $rc = sp + 124|0; + $nCell = sp + 120|0; + $aCell = sp + 144|0; + $aiUsed = sp + 164|0; + $pLeft = sp + 160|0; + $pRight = sp + 128|0; + $leftbbox = sp + 56|0; + $rightbbox = sp; + $pParent = sp + 116|0; + $iCell = sp + 140|0; + $iRowid = sp + 48|0; + $iRowid1 = sp + 104|0; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$2>>2] = $pCell; + HEAP32[$3>>2] = $iHeight; + HEAP32[$newCellIsRight>>2] = 0; HEAP32[$rc>>2] = 0; - HEAP32[$rc2>>2] = 0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 16|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)<(2); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 17|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)<(2); - if ($13) { - HEAP32[$0>>2] = 0; - $186 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($186|0); - } - } - $14 = HEAP32[$1>>2]|0; - _releaseAllSavepoints($14); - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 64|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)!=(0|0); - L6: do { - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 64|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3IsMemJournal($22)|0); - $24 = ($23|0)!=(0); - $25 = HEAP32[$1>>2]|0; - if ($24) { - $26 = (($25) + 64|0); - $27 = HEAP32[$26>>2]|0; - (_sqlite3OsClose($27)|0); + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 2|0); + $8 = (_readInt16($7)|0); + HEAP32[$nCell>>2] = $8; + HEAP32[$pLeft>>2] = 0; + HEAP32[$pRight>>2] = 0; + $9 = HEAP32[$nCell>>2]|0; + $10 = (($9) + 1)|0; + $11 = ($10*52)|0; + $12 = (_sqlite3_malloc($11)|0); + HEAP32[$aCell>>2] = $12; + $13 = HEAP32[$aCell>>2]|0; + $14 = ($13|0)!=(0|0); + L1: do { + if ($14) { + $15 = HEAP32[$nCell>>2]|0; + $16 = (($15) + 1)|0; + $17 = HEAP32[$aCell>>2]|0; + $18 = (($17) + (($16*48)|0)|0); + HEAP32[$aiUsed>>2] = $18; + $19 = HEAP32[$aiUsed>>2]|0; + $20 = HEAP32[$nCell>>2]|0; + $21 = (($20) + 1)|0; + $22 = $21<<2; + _memset(($19|0),0,($22|0))|0; + HEAP32[$i>>2] = 0; + while(1) { + $23 = HEAP32[$i>>2]|0; + $24 = HEAP32[$nCell>>2]|0; + $25 = ($23|0)<($24|0); + $26 = HEAP32[$0>>2]|0; + $27 = HEAP32[$1>>2]|0; + if (!($25)) { + break; + } + $28 = HEAP32[$i>>2]|0; + $29 = HEAP32[$i>>2]|0; + $30 = HEAP32[$aCell>>2]|0; + $31 = (($30) + (($29*48)|0)|0); + _nodeGetCell($26,$27,$28,$31); + $32 = HEAP32[$i>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$i>>2] = $33; + } + _nodeZero($26,$27); + $34 = HEAP32[$nCell>>2]|0; + $35 = HEAP32[$aCell>>2]|0; + $36 = (($35) + (($34*48)|0)|0); + $37 = HEAP32[$2>>2]|0; + dest=$36; src=$37; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $38 = HEAP32[$nCell>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$nCell>>2] = $39; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 8|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ($44|0)==(1); + $49 = ($47|0)==(0); + $50 = $48 & $49; + if ($50) { + $51 = HEAP32[$0>>2]|0; + $52 = HEAP32[$1>>2]|0; + $53 = (_nodeNew($51,$52)|0); + HEAP32[$pRight>>2] = $53; + $54 = HEAP32[$0>>2]|0; + $55 = HEAP32[$1>>2]|0; + $56 = (_nodeNew($54,$55)|0); + HEAP32[$pLeft>>2] = $56; + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 24|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$58>>2] = $60; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 20|0); + HEAP32[$62>>2] = 1; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP32[$67>>2]|0; + (_writeInt16($65,$68)|0); + } else { + $69 = HEAP32[$1>>2]|0; + HEAP32[$pLeft>>2] = $69; + $70 = HEAP32[$0>>2]|0; + $71 = HEAP32[$pLeft>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = (_nodeNew($70,$72)|0); + HEAP32[$pRight>>2] = $73; + $74 = HEAP32[$pLeft>>2]|0; + _nodeReference($74); + } + $75 = HEAP32[$pLeft>>2]|0; + $76 = ($75|0)!=(0|0); + $77 = HEAP32[$pRight>>2]|0; + $78 = ($77|0)!=(0|0); + $or$cond = $76 & $78; + if (!($or$cond)) { + HEAP32[$rc>>2] = 7; break; } - $28 = (($25) + 5|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = ($30|0)==(3); - $32 = HEAP32[$1>>2]|0; - if ($31) { - $33 = (($32) + 72|0); - $34 = $33; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = ($36|0)==(0); - $41 = ($39|0)==(0); - $42 = $40 & $41; - if ($42) { - HEAP32[$rc>>2] = 0; - } else { - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 64|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3OsTruncate($45,0,0)|0); - HEAP32[$rc>>2] = $46; - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 8|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 64|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 11|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = (_sqlite3OsSync($56,$60)|0); - HEAP32[$rc>>2] = $61; + $79 = HEAP32[$pLeft>>2]|0; + $80 = ((($79)) + 24|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$0>>2]|0; + $83 = ((($82)) + 16|0); + $84 = HEAP32[$83>>2]|0; + _memset(($81|0),0,($84|0))|0; + $85 = HEAP32[$pRight>>2]|0; + $86 = ((($85)) + 24|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$0>>2]|0; + $89 = ((($88)) + 16|0); + $90 = HEAP32[$89>>2]|0; + _memset(($87|0),0,($90|0))|0; + $91 = HEAP32[$0>>2]|0; + $92 = HEAP32[$aCell>>2]|0; + $93 = HEAP32[$nCell>>2]|0; + $94 = HEAP32[$pLeft>>2]|0; + $95 = HEAP32[$pRight>>2]|0; + $96 = (_splitNodeStartree($91,$92,$93,$94,$95,$leftbbox,$rightbbox)|0); + HEAP32[$rc>>2] = $96; + $97 = HEAP32[$rc>>2]|0; + $98 = ($97|0)!=(0); + if (!($98)) { + $99 = HEAP32[$0>>2]|0; + $100 = HEAP32[$pRight>>2]|0; + $101 = (_nodeWrite($99,$100)|0); + HEAP32[$rc>>2] = $101; + $102 = (0)!=($101|0); + if (!($102)) { + $103 = HEAP32[$pLeft>>2]|0; + $104 = ((($103)) + 8|0); + $105 = $104; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (0)==($107|0); + $112 = (0)==($110|0); + $113 = $111 & $112; + if ($113) { + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$pLeft>>2]|0; + $116 = (_nodeWrite($114,$115)|0); + HEAP32[$rc>>2] = $116; + $117 = (0)!=($116|0); + if ($117) { + break; } } - } - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 72|0); - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = 0; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = 0; - break; - } else { - $68 = (($32) + 5|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = ($70|0)==(1); - do { - if (!($71)) { - $72 = HEAP32[$1>>2]|0; - $73 = (($72) + 4|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($75|0)!=(0); - if ($76) { - $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 5|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($80|0)!=(5); - if ($81) { + $118 = HEAP32[$pRight>>2]|0; + $119 = ((($118)) + 8|0); + $120 = $119; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $rightbbox; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + $130 = HEAP32[$pLeft>>2]|0; + $131 = ((($130)) + 8|0); + $132 = $131; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = $leftbbox; + $139 = $138; + HEAP32[$139>>2] = $134; + $140 = (($138) + 4)|0; + $141 = $140; + HEAP32[$141>>2] = $137; + $142 = HEAP32[$1>>2]|0; + $143 = ((($142)) + 8|0); + $144 = $143; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = ($146|0)==(1); + $151 = ($149|0)==(0); + $152 = $150 & $151; + if ($152) { + $153 = HEAP32[$0>>2]|0; + $154 = HEAP32[$pLeft>>2]|0; + $155 = HEAP32[$154>>2]|0; + $156 = HEAP32[$3>>2]|0; + $157 = (($156) + 1)|0; + $158 = (_rtreeInsertCell($153,$155,$leftbbox,$157)|0); + HEAP32[$rc>>2] = $158; + $159 = HEAP32[$rc>>2]|0; + $160 = ($159|0)!=(0); + if ($160) { + break; + } + } else { + $161 = HEAP32[$pLeft>>2]|0; + $162 = HEAP32[$161>>2]|0; + HEAP32[$pParent>>2] = $162; + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$pLeft>>2]|0; + $165 = (_nodeParentIndex($163,$164,$iCell)|0); + HEAP32[$rc>>2] = $165; + $166 = HEAP32[$rc>>2]|0; + $167 = ($166|0)==(0); + if ($167) { + $168 = HEAP32[$0>>2]|0; + $169 = HEAP32[$pParent>>2]|0; + $170 = HEAP32[$iCell>>2]|0; + _nodeOverwriteCell($168,$169,$leftbbox,$170); + $171 = HEAP32[$0>>2]|0; + $172 = HEAP32[$pParent>>2]|0; + $173 = (_AdjustTree($171,$172,$leftbbox)|0); + HEAP32[$rc>>2] = $173; + } + $174 = HEAP32[$rc>>2]|0; + $175 = ($174|0)!=(0); + if ($175) { + break; + } + } + $176 = HEAP32[$0>>2]|0; + $177 = HEAP32[$pRight>>2]|0; + $178 = HEAP32[$177>>2]|0; + $179 = HEAP32[$3>>2]|0; + $180 = (($179) + 1)|0; + $181 = (_rtreeInsertCell($176,$178,$rightbbox,$180)|0); + HEAP32[$rc>>2] = $181; + $182 = ($181|0)!=(0); + if (!($182)) { + HEAP32[$i>>2] = 0; + while(1) { + $183 = HEAP32[$i>>2]|0; + $184 = HEAP32[$pRight>>2]|0; + $185 = ((($184)) + 24|0); + $186 = HEAP32[$185>>2]|0; + $187 = ((($186)) + 2|0); + $188 = (_readInt16($187)|0); + $189 = ($183|0)<($188|0); + if (!($189)) { break; } + $190 = HEAP32[$0>>2]|0; + $191 = HEAP32[$pRight>>2]|0; + $192 = HEAP32[$i>>2]|0; + $193 = (_nodeGetRowid($190,$191,$192)|0); + $194 = tempRet0; + $195 = $iRowid; + $196 = $195; + HEAP32[$196>>2] = $193; + $197 = (($195) + 4)|0; + $198 = $197; + HEAP32[$198>>2] = $194; + $199 = HEAP32[$0>>2]|0; + $200 = $iRowid; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = (($200) + 4)|0; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = HEAP32[$pRight>>2]|0; + $207 = HEAP32[$3>>2]|0; + $208 = (_updateMapping($199,$202,$205,$206,$207)|0); + HEAP32[$rc>>2] = $208; + $209 = $iRowid; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $212 = (($209) + 4)|0; + $213 = $212; + $214 = HEAP32[$213>>2]|0; + $215 = HEAP32[$2>>2]|0; + $216 = $215; + $217 = $216; + $218 = HEAP32[$217>>2]|0; + $219 = (($216) + 4)|0; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = ($211|0)==($218|0); + $223 = ($214|0)==($221|0); + $224 = $222 & $223; + if ($224) { + HEAP32[$newCellIsRight>>2] = 1; + } + $225 = HEAP32[$rc>>2]|0; + $226 = ($225|0)!=(0); + if ($226) { + break L1; + } + $227 = HEAP32[$i>>2]|0; + $228 = (($227) + 1)|0; + HEAP32[$i>>2] = $228; } - $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 12|0); - $93 = HEAP8[$92>>0]|0; - $94 = ($93<<24>>24)!=(0); - $$ = $94 ? 0 : 1; - $95 = $$&1; - HEAP32[$bDelete>>2] = $95; - $96 = HEAP32[$1>>2]|0; - $97 = (($96) + 64|0); - $98 = HEAP32[$97>>2]|0; - (_sqlite3OsClose($98)|0); - $99 = HEAP32[$bDelete>>2]|0; - $100 = ($99|0)!=(0); - if (!($100)) { - break L6; + $229 = HEAP32[$1>>2]|0; + $230 = ((($229)) + 8|0); + $231 = $230; + $232 = $231; + $233 = HEAP32[$232>>2]|0; + $234 = (($231) + 4)|0; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = ($233|0)==(1); + $238 = ($236|0)==(0); + $239 = $237 & $238; + L35: do { + if ($239) { + HEAP32[$i>>2] = 0; + while(1) { + $240 = HEAP32[$i>>2]|0; + $241 = HEAP32[$pLeft>>2]|0; + $242 = ((($241)) + 24|0); + $243 = HEAP32[$242>>2]|0; + $244 = ((($243)) + 2|0); + $245 = (_readInt16($244)|0); + $246 = ($240|0)<($245|0); + if (!($246)) { + break L35; + } + $247 = HEAP32[$0>>2]|0; + $248 = HEAP32[$pLeft>>2]|0; + $249 = HEAP32[$i>>2]|0; + $250 = (_nodeGetRowid($247,$248,$249)|0); + $251 = tempRet0; + $252 = $iRowid1; + $253 = $252; + HEAP32[$253>>2] = $250; + $254 = (($252) + 4)|0; + $255 = $254; + HEAP32[$255>>2] = $251; + $256 = HEAP32[$0>>2]|0; + $257 = $iRowid1; + $258 = $257; + $259 = HEAP32[$258>>2]|0; + $260 = (($257) + 4)|0; + $261 = $260; + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$pLeft>>2]|0; + $264 = HEAP32[$3>>2]|0; + $265 = (_updateMapping($256,$259,$262,$263,$264)|0); + HEAP32[$rc>>2] = $265; + $266 = HEAP32[$rc>>2]|0; + $267 = ($266|0)!=(0); + if ($267) { + break L1; + } + $268 = HEAP32[$i>>2]|0; + $269 = (($268) + 1)|0; + HEAP32[$i>>2] = $269; + } + } else { + $270 = HEAP32[$newCellIsRight>>2]|0; + $271 = ($270|0)==(0); + if ($271) { + $272 = HEAP32[$0>>2]|0; + $273 = HEAP32[$2>>2]|0; + $274 = $273; + $275 = $274; + $276 = HEAP32[$275>>2]|0; + $277 = (($274) + 4)|0; + $278 = $277; + $279 = HEAP32[$278>>2]|0; + $280 = HEAP32[$pLeft>>2]|0; + $281 = HEAP32[$3>>2]|0; + $282 = (_updateMapping($272,$276,$279,$280,$281)|0); + HEAP32[$rc>>2] = $282; + } + } + } while(0); + $283 = HEAP32[$rc>>2]|0; + $284 = ($283|0)==(0); + if ($284) { + $285 = HEAP32[$0>>2]|0; + $286 = HEAP32[$pRight>>2]|0; + $287 = (_nodeRelease($285,$286)|0); + HEAP32[$rc>>2] = $287; + HEAP32[$pRight>>2] = 0; + } + $288 = HEAP32[$rc>>2]|0; + $289 = ($288|0)==(0); + if ($289) { + $290 = HEAP32[$0>>2]|0; + $291 = HEAP32[$pLeft>>2]|0; + $292 = (_nodeRelease($290,$291)|0); + HEAP32[$rc>>2] = $292; + HEAP32[$pLeft>>2] = 0; } - $101 = HEAP32[$1>>2]|0; - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$1>>2]|0; - $104 = (($103) + 172|0); - $105 = HEAP32[$104>>2]|0; - $106 = (_sqlite3OsDelete($102,$105,0)|0); - HEAP32[$rc>>2] = $106; - break L6; } - } while(0); - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$2>>2]|0; - $84 = (_zeroJournalHdr($82,$83)|0); - HEAP32[$rc>>2] = $84; - $85 = HEAP32[$1>>2]|0; - $86 = (($85) + 72|0); - $87 = $86; - $88 = $87; - HEAP32[$88>>2] = 0; - $89 = (($87) + 4)|0; - $90 = $89; - HEAP32[$90>>2] = 0; - break; + } } + } else { + HEAP32[$rc>>2] = 7; } } while(0); - $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 56|0); - $109 = HEAP32[$108>>2]|0; - _sqlite3BitvecDestroy($109); - $110 = HEAP32[$1>>2]|0; - $111 = (($110) + 56|0); - HEAP32[$111>>2] = 0; - $112 = HEAP32[$1>>2]|0; - $113 = (($112) + 44|0); - HEAP32[$113>>2] = 0; - $114 = HEAP32[$1>>2]|0; - $115 = (($114) + 204|0); - $116 = HEAP32[$115>>2]|0; - _sqlite3PcacheCleanAll($116); - $117 = HEAP32[$1>>2]|0; - $118 = (($117) + 204|0); - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$1>>2]|0; - $121 = (($120) + 24|0); - $122 = HEAP32[$121>>2]|0; - _sqlite3PcacheTruncate($119,$122); - $123 = HEAP32[$1>>2]|0; - $124 = (_pagerUseWal($123)|0); - $125 = ($124|0)!=(0); - if ($125) { - $126 = HEAP32[$1>>2]|0; - $127 = (($126) + 208|0); - $128 = HEAP32[$127>>2]|0; - $129 = (_sqlite3WalEndWriteTransaction($128)|0); - HEAP32[$rc2>>2] = $129; - } else { - $130 = HEAP32[$rc>>2]|0; - $131 = ($130|0)==(0); - $132 = HEAP32[$3>>2]|0; - $133 = ($132|0)!=(0); - $or$cond = $131 & $133; - if ($or$cond) { - $134 = HEAP32[$1>>2]|0; - $135 = (($134) + 32|0); - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$1>>2]|0; - $138 = (($137) + 24|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($136>>>0)>($139>>>0); - if ($140) { - $141 = HEAP32[$1>>2]|0; - $142 = HEAP32[$1>>2]|0; - $143 = (($142) + 24|0); - $144 = HEAP32[$143>>2]|0; - $145 = (_pager_truncate($141,$144)|0); - HEAP32[$rc>>2] = $145; + $293 = HEAP32[$0>>2]|0; + $294 = HEAP32[$pRight>>2]|0; + (_nodeRelease($293,$294)|0); + $295 = HEAP32[$0>>2]|0; + $296 = HEAP32[$pLeft>>2]|0; + (_nodeRelease($295,$296)|0); + $297 = HEAP32[$aCell>>2]|0; + _sqlite3_free($297); + $298 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($298|0); +} +function _Reinsert($pRtree,$pNode,$pCell,$iHeight) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $pCell = $pCell|0; + $iHeight = $iHeight|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0.0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $aCell = 0, $aCenterCoord = 0, $aDistance = 0, $aOrder = 0; + var $aSpare = 0, $coord = 0, $iDim = 0, $ii = 0, $n = 0, $nCell = 0, $p = 0, $p1 = 0, $pInsert = 0, $rc = 0, $rc2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $0 = sp + 80|0; + $1 = sp + 84|0; + $2 = sp + 48|0; + $3 = sp + 108|0; + $4 = sp + 64|0; + $aOrder = sp + 52|0; + $aSpare = sp + 56|0; + $aCell = sp + 76|0; + $aDistance = sp + 104|0; + $nCell = sp + 112|0; + $aCenterCoord = sp; + $iDim = sp + 68|0; + $ii = sp + 88|0; + $rc = sp + 92|0; + $n = sp + 96|0; + $coord = sp + 40|0; + $p = sp + 60|0; + $pInsert = sp + 72|0; + $p1 = sp + 100|0; + $rc2 = sp + 116|0; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $pNode; + HEAP32[$3>>2] = $pCell; + HEAP32[$4>>2] = $iHeight; + HEAP32[$rc>>2] = 0; + dest=$aCenterCoord; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 2|0); + $9 = (_readInt16($8)|0); + $10 = (($9) + 1)|0; + HEAP32[$nCell>>2] = $10; + $11 = HEAP32[$nCell>>2]|0; + $12 = (($11) + 1)|0; + $13 = $12 & -2; + HEAP32[$n>>2] = $13; + $14 = HEAP32[$n>>2]|0; + $15 = $14<<6; + $16 = (_sqlite3_malloc($15)|0); + HEAP32[$aCell>>2] = $16; + $17 = HEAP32[$aCell>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + HEAP32[$0>>2] = 7; + $295 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($295|0); + } + $19 = HEAP32[$n>>2]|0; + $20 = HEAP32[$aCell>>2]|0; + $21 = (($20) + (($19*48)|0)|0); + HEAP32[$aOrder>>2] = $21; + $22 = HEAP32[$n>>2]|0; + $23 = HEAP32[$aOrder>>2]|0; + $24 = (($23) + ($22<<2)|0); + HEAP32[$aSpare>>2] = $24; + $25 = HEAP32[$n>>2]|0; + $26 = HEAP32[$aSpare>>2]|0; + $27 = (($26) + ($25<<2)|0); + HEAP32[$aDistance>>2] = $27; + HEAP32[$ii>>2] = 0; + while(1) { + $28 = HEAP32[$ii>>2]|0; + $29 = HEAP32[$nCell>>2]|0; + $30 = ($28|0)<($29|0); + if (!($30)) { + break; + } + $31 = HEAP32[$ii>>2]|0; + $32 = HEAP32[$nCell>>2]|0; + $33 = (($32) - 1)|0; + $34 = ($31|0)==($33|0); + if ($34) { + $35 = HEAP32[$ii>>2]|0; + $36 = HEAP32[$aCell>>2]|0; + $37 = (($36) + (($35*48)|0)|0); + $38 = HEAP32[$3>>2]|0; + dest=$37; src=$38; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + } else { + $39 = HEAP32[$1>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$ii>>2]|0; + $42 = HEAP32[$ii>>2]|0; + $43 = HEAP32[$aCell>>2]|0; + $44 = (($43) + (($42*48)|0)|0); + _nodeGetCell($39,$40,$41,$44); + } + $45 = HEAP32[$ii>>2]|0; + $46 = HEAP32[$ii>>2]|0; + $47 = HEAP32[$aOrder>>2]|0; + $48 = (($47) + ($46<<2)|0); + HEAP32[$48>>2] = $45; + HEAP32[$iDim>>2] = 0; + while(1) { + $49 = HEAP32[$iDim>>2]|0; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 20|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = ($49|0)<($53|0); + if (!($54)) { + break; } + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 21|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)==(0); + $60 = HEAP32[$iDim>>2]|0; + $61 = $60<<1; + $62 = HEAP32[$ii>>2]|0; + $63 = HEAP32[$aCell>>2]|0; + $64 = (($63) + (($62*48)|0)|0); + $65 = ((($64)) + 8|0); + $66 = (($65) + ($61<<2)|0); + if ($59) { + $67 = +HEAPF32[$66>>2]; + $68 = $67; + $75 = $68; + } else { + $69 = HEAP32[$66>>2]|0; + $70 = (+($69|0)); + $75 = $70; + } + $71 = HEAP32[$iDim>>2]|0; + $72 = (($aCenterCoord) + ($71<<3)|0); + $73 = +HEAPF64[$72>>3]; + $74 = $73 + $75; + HEAPF64[$72>>3] = $74; + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 21|0); + $78 = HEAP8[$77>>0]|0; + $79 = $78&255; + $80 = ($79|0)==(0); + $81 = HEAP32[$iDim>>2]|0; + $82 = $81<<1; + $83 = (($82) + 1)|0; + $84 = HEAP32[$ii>>2]|0; + $85 = HEAP32[$aCell>>2]|0; + $86 = (($85) + (($84*48)|0)|0); + $87 = ((($86)) + 8|0); + $88 = (($87) + ($83<<2)|0); + if ($80) { + $89 = +HEAPF32[$88>>2]; + $90 = $89; + $97 = $90; + } else { + $91 = HEAP32[$88>>2]|0; + $92 = (+($91|0)); + $97 = $92; + } + $93 = HEAP32[$iDim>>2]|0; + $94 = (($aCenterCoord) + ($93<<3)|0); + $95 = +HEAPF64[$94>>3]; + $96 = $95 + $97; + HEAPF64[$94>>3] = $96; + $98 = HEAP32[$iDim>>2]|0; + $99 = (($98) + 1)|0; + HEAP32[$iDim>>2] = $99; } + $100 = HEAP32[$ii>>2]|0; + $101 = (($100) + 1)|0; + HEAP32[$ii>>2] = $101; } - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)==(0); - $148 = HEAP32[$3>>2]|0; - $149 = ($148|0)!=(0); - $or$cond3 = $147 & $149; - if ($or$cond3) { - $150 = HEAP32[$1>>2]|0; - $151 = (($150) + 60|0); - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)!=(0|0); - if ($154) { - $155 = HEAP32[$1>>2]|0; - $156 = (($155) + 60|0); - $157 = HEAP32[$156>>2]|0; - $158 = (_sqlite3OsFileControl($157,22,0)|0); - HEAP32[$rc>>2] = $158; - $159 = HEAP32[$rc>>2]|0; - $160 = ($159|0)==(12); - $$4 = $160 ? 0 : $158; - HEAP32[$rc>>2] = $$4; + HEAP32[$iDim>>2] = 0; + while(1) { + $102 = HEAP32[$iDim>>2]|0; + $103 = HEAP32[$1>>2]|0; + $104 = ((($103)) + 20|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ($102|0)<($106|0); + if (!($107)) { + break; } + $108 = HEAP32[$iDim>>2]|0; + $109 = (($aCenterCoord) + ($108<<3)|0); + $110 = +HEAPF64[$109>>3]; + $111 = HEAP32[$nCell>>2]|0; + $112 = (+($111|0)); + $113 = $112 * 2.0; + $114 = $110 / $113; + $115 = HEAP32[$iDim>>2]|0; + $116 = (($aCenterCoord) + ($115<<3)|0); + HEAPF64[$116>>3] = $114; + $117 = HEAP32[$iDim>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$iDim>>2] = $118; } - $161 = HEAP32[$1>>2]|0; - $162 = (($161) + 4|0); - $163 = HEAP8[$162>>0]|0; - $164 = ($163<<24>>24)!=(0); - do { - if (!($164)) { - $165 = HEAP32[$1>>2]|0; - $166 = (_pagerUseWal($165)|0); - $167 = ($166|0)!=(0); - if ($167) { - $168 = HEAP32[$1>>2]|0; - $169 = (($168) + 208|0); - $170 = HEAP32[$169>>2]|0; - $171 = (_sqlite3WalExclusiveMode($170,0)|0); - $172 = ($171|0)!=(0); - if (!($172)) { + HEAP32[$ii>>2] = 0; + while(1) { + $119 = HEAP32[$ii>>2]|0; + $120 = HEAP32[$nCell>>2]|0; + $121 = ($119|0)<($120|0); + if (!($121)) { + break; + } + $122 = HEAP32[$ii>>2]|0; + $123 = HEAP32[$aDistance>>2]|0; + $124 = (($123) + ($122<<3)|0); + HEAPF64[$124>>3] = 0.0; + HEAP32[$iDim>>2] = 0; + while(1) { + $125 = HEAP32[$iDim>>2]|0; + $126 = HEAP32[$1>>2]|0; + $127 = ((($126)) + 20|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ($125|0)<($129|0); + if (!($130)) { + break; + } + $131 = HEAP32[$1>>2]|0; + $132 = ((($131)) + 21|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134|0)==(0); + $136 = HEAP32[$iDim>>2]|0; + $137 = $136<<1; + $138 = (($137) + 1)|0; + $139 = HEAP32[$ii>>2]|0; + $140 = HEAP32[$aCell>>2]|0; + $141 = (($140) + (($139*48)|0)|0); + $142 = ((($141)) + 8|0); + $143 = (($142) + ($138<<2)|0); + if ($135) { + $144 = +HEAPF32[$143>>2]; + $145 = $144; + $165 = $145; + } else { + $146 = HEAP32[$143>>2]|0; + $147 = (+($146|0)); + $165 = $147; + } + $148 = HEAP32[$1>>2]|0; + $149 = ((($148)) + 21|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = ($151|0)==(0); + $153 = HEAP32[$iDim>>2]|0; + $154 = $153<<1; + $155 = HEAP32[$ii>>2]|0; + $156 = HEAP32[$aCell>>2]|0; + $157 = (($156) + (($155*48)|0)|0); + $158 = ((($157)) + 8|0); + $159 = (($158) + ($154<<2)|0); + if ($152) { + $160 = +HEAPF32[$159>>2]; + $161 = $160; + $166 = $161; + } else { + $162 = HEAP32[$159>>2]|0; + $163 = (+($162|0)); + $166 = $163; + } + $164 = $165 - $166; + HEAPF64[$coord>>3] = $164; + $167 = +HEAPF64[$coord>>3]; + $168 = HEAP32[$iDim>>2]|0; + $169 = (($aCenterCoord) + ($168<<3)|0); + $170 = +HEAPF64[$169>>3]; + $171 = $167 - $170; + $172 = +HEAPF64[$coord>>3]; + $173 = HEAP32[$iDim>>2]|0; + $174 = (($aCenterCoord) + ($173<<3)|0); + $175 = +HEAPF64[$174>>3]; + $176 = $172 - $175; + $177 = $171 * $176; + $178 = HEAP32[$ii>>2]|0; + $179 = HEAP32[$aDistance>>2]|0; + $180 = (($179) + ($178<<3)|0); + $181 = +HEAPF64[$180>>3]; + $182 = $181 + $177; + HEAPF64[$180>>3] = $182; + $183 = HEAP32[$iDim>>2]|0; + $184 = (($183) + 1)|0; + HEAP32[$iDim>>2] = $184; + } + $185 = HEAP32[$ii>>2]|0; + $186 = (($185) + 1)|0; + HEAP32[$ii>>2] = $186; + } + $187 = HEAP32[$aOrder>>2]|0; + $188 = HEAP32[$nCell>>2]|0; + $189 = HEAP32[$aDistance>>2]|0; + $190 = HEAP32[$aSpare>>2]|0; + _SortByDistance($187,$188,$189,$190); + $191 = HEAP32[$1>>2]|0; + $192 = HEAP32[$2>>2]|0; + _nodeZero($191,$192); + HEAP32[$ii>>2] = 0; + while(1) { + $193 = HEAP32[$rc>>2]|0; + $194 = ($193|0)==(0); + if (!($194)) { + break; + } + $195 = HEAP32[$ii>>2]|0; + $196 = HEAP32[$nCell>>2]|0; + $197 = HEAP32[$1>>2]|0; + $198 = ((($197)) + 16|0); + $199 = HEAP32[$198>>2]|0; + $200 = (($199) - 4)|0; + $201 = HEAP32[$1>>2]|0; + $202 = ((($201)) + 22|0); + $203 = HEAP8[$202>>0]|0; + $204 = $203&255; + $205 = (($200|0) / ($204|0))&-1; + $206 = (($205|0) / 3)&-1; + $207 = (($206) + 1)|0; + $208 = (($196) - ($207))|0; + $209 = ($195|0)<($208|0); + if (!($209)) { + break; + } + $210 = HEAP32[$ii>>2]|0; + $211 = HEAP32[$aOrder>>2]|0; + $212 = (($211) + ($210<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = HEAP32[$aCell>>2]|0; + $215 = (($214) + (($213*48)|0)|0); + HEAP32[$p>>2] = $215; + $216 = HEAP32[$1>>2]|0; + $217 = HEAP32[$2>>2]|0; + $218 = HEAP32[$p>>2]|0; + (_nodeInsertCell($216,$217,$218)|0); + $219 = HEAP32[$p>>2]|0; + $220 = $219; + $221 = $220; + $222 = HEAP32[$221>>2]|0; + $223 = (($220) + 4)|0; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = HEAP32[$3>>2]|0; + $227 = $226; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = (($227) + 4)|0; + $231 = $230; + $232 = HEAP32[$231>>2]|0; + $233 = ($222|0)==($229|0); + $234 = ($225|0)==($232|0); + $235 = $233 & $234; + do { + if ($235) { + $236 = HEAP32[$4>>2]|0; + $237 = ($236|0)==(0); + $238 = HEAP32[$1>>2]|0; + $239 = HEAP32[$p>>2]|0; + $240 = $239; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = (($240) + 4)|0; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[$2>>2]|0; + $247 = ((($246)) + 8|0); + $248 = $247; + $249 = $248; + $250 = HEAP32[$249>>2]|0; + $251 = (($248) + 4)|0; + $252 = $251; + $253 = HEAP32[$252>>2]|0; + if ($237) { + $254 = (_rowidWrite($238,$242,$245,$250,$253)|0); + HEAP32[$rc>>2] = $254; + break; + } else { + $255 = (_parentWrite($238,$242,$245,$250,$253)|0); + HEAP32[$rc>>2] = $255; break; } } - $173 = HEAP32[$1>>2]|0; - $174 = (_pagerUnlockDb($173,1)|0); - HEAP32[$rc2>>2] = $174; - $175 = HEAP32[$1>>2]|0; - $176 = (($175) + 18|0); - HEAP8[$176>>0] = 0; + } while(0); + $256 = HEAP32[$ii>>2]|0; + $257 = (($256) + 1)|0; + HEAP32[$ii>>2] = $257; + } + $258 = HEAP32[$rc>>2]|0; + $259 = ($258|0)==(0); + if ($259) { + $260 = HEAP32[$1>>2]|0; + $261 = HEAP32[$2>>2]|0; + $262 = (_fixBoundingBox($260,$261)|0); + HEAP32[$rc>>2] = $262; + } + while(1) { + $263 = HEAP32[$rc>>2]|0; + $264 = ($263|0)==(0); + if (!($264)) { + break; } - } while(0); - $177 = HEAP32[$1>>2]|0; - $178 = (($177) + 16|0); - HEAP8[$178>>0] = 1; - $179 = HEAP32[$1>>2]|0; - $180 = (($179) + 19|0); - HEAP8[$180>>0] = 0; - $181 = HEAP32[$rc>>2]|0; - $182 = ($181|0)==(0); - $183 = HEAP32[$rc2>>2]|0; - $184 = HEAP32[$rc>>2]|0; - $185 = $182 ? $183 : $184; - HEAP32[$0>>2] = $185; - $186 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($186|0); -} -function _releaseAllSavepoints($pPager) { - $pPager = $pPager|0; + $265 = HEAP32[$ii>>2]|0; + $266 = HEAP32[$nCell>>2]|0; + $267 = ($265|0)<($266|0); + if (!($267)) { + break; + } + $268 = HEAP32[$ii>>2]|0; + $269 = HEAP32[$aOrder>>2]|0; + $270 = (($269) + ($268<<2)|0); + $271 = HEAP32[$270>>2]|0; + $272 = HEAP32[$aCell>>2]|0; + $273 = (($272) + (($271*48)|0)|0); + HEAP32[$p1>>2] = $273; + $274 = HEAP32[$1>>2]|0; + $275 = HEAP32[$p1>>2]|0; + $276 = HEAP32[$4>>2]|0; + $277 = (_ChooseLeaf($274,$275,$276,$pInsert)|0); + HEAP32[$rc>>2] = $277; + $278 = HEAP32[$rc>>2]|0; + $279 = ($278|0)==(0); + if ($279) { + $280 = HEAP32[$1>>2]|0; + $281 = HEAP32[$pInsert>>2]|0; + $282 = HEAP32[$p1>>2]|0; + $283 = HEAP32[$4>>2]|0; + $284 = (_rtreeInsertCell($280,$281,$282,$283)|0); + HEAP32[$rc>>2] = $284; + $285 = HEAP32[$1>>2]|0; + $286 = HEAP32[$pInsert>>2]|0; + $287 = (_nodeRelease($285,$286)|0); + HEAP32[$rc2>>2] = $287; + $288 = HEAP32[$rc>>2]|0; + $289 = ($288|0)==(0); + if ($289) { + $290 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $290; + } + } + $291 = HEAP32[$ii>>2]|0; + $292 = (($291) + 1)|0; + HEAP32[$ii>>2] = $292; + } + $293 = HEAP32[$aCell>>2]|0; + _sqlite3_free($293); + $294 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $294; + $295 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($295|0); +} +function _AdjustTree($pRtree,$pNode,$pCell) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $pCell = $pCell|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, label = 0, sp = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cell = 0, $iCell = 0, $p = 0, $pParent = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $ii = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$ii>>2] = 0; + STACKTOP = STACKTOP + 80|0; + $0 = sp + 52|0; + $1 = sp + 56|0; + $2 = sp + 64|0; + $3 = sp + 60|0; + $p = sp + 72|0; + $pParent = sp + 48|0; + $cell = sp; + $iCell = sp + 68|0; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $pNode; + HEAP32[$3>>2] = $pCell; + $4 = HEAP32[$2>>2]|0; + HEAP32[$p>>2] = $4; while(1) { - $1 = HEAP32[$ii>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 96|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1|0)<($4|0); - if (!($5)) { + $5 = HEAP32[$p>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + label = 8; break; } - $6 = HEAP32[$ii>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 92|0); + $8 = HEAP32[$p>>2]|0; $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($6*48)|0)|0); - $11 = (($10) + 16|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3BitvecDestroy($12); - $13 = HEAP32[$ii>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$ii>>2] = $14; - } - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 4|0); - $17 = HEAP8[$16>>0]|0; - $18 = ($17<<24>>24)!=(0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 68|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3IsMemJournal($21)|0); - $23 = ($22|0)!=(0); - if ($23) { - label = 6; + HEAP32[$pParent>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$p>>2]|0; + $12 = (_nodeParentIndex($10,$11,$iCell)|0); + $13 = ($12|0)!=(0); + if ($13) { + label = 4; + break; } - } else { - label = 6; + $14 = HEAP32[$1>>2]|0; + $15 = HEAP32[$pParent>>2]|0; + $16 = HEAP32[$iCell>>2]|0; + _nodeGetCell($14,$15,$16,$cell); + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = (_cellContains($17,$cell,$18)|0); + $20 = ($19|0)!=(0); + if (!($20)) { + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$3>>2]|0; + _cellUnion($21,$cell,$22); + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$pParent>>2]|0; + $25 = HEAP32[$iCell>>2]|0; + _nodeOverwriteCell($23,$24,$cell,$25); + } + $26 = HEAP32[$pParent>>2]|0; + HEAP32[$p>>2] = $26; } - if ((label|0) == 6) { - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 68|0); - $26 = HEAP32[$25>>2]|0; - (_sqlite3OsClose($26)|0); + if ((label|0) == 4) { + HEAP32[$0>>2] = 267; + $27 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($27|0); } - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 92|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3_free($29); - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 92|0); - HEAP32[$31>>2] = 0; - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 96|0); - HEAP32[$33>>2] = 0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 52|0); - HEAP32[$35>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3IsMemJournal($pJfd) { - $pJfd = $pJfd|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pJfd; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(4272|0); - $4 = $3&1; - STACKTOP = sp;return ($4|0); + else if ((label|0) == 8) { + HEAP32[$0>>2] = 0; + $27 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; } -function _sqlite3OsTruncate($id,$0,$1) { - $id = $id|0; +function _rowidWrite($pRtree,$0,$1,$2,$3) { + $pRtree = $pRtree|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $id; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = $3; + STACKTOP = STACKTOP + 32|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $pRtree; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = (($11) + 4)|0; $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (FUNCTION_TABLE_iiii[$11 & 31]($12,$15,$18)|0); - STACKTOP = sp;return ($19|0); -} -function _sqlite3OsSync($id,$flags) { - $id = $id|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $flags; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); - STACKTOP = sp;return ($8|0); + HEAP32[$14>>2] = $3; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 72|0); + $17 = HEAP32[$16>>2]|0; + $18 = $5; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + (_sqlite3_bind_int64($17,1,$20,$23)|0); + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 72|0); + $26 = HEAP32[$25>>2]|0; + $27 = $6; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + (_sqlite3_bind_int64($26,2,$29,$32)|0); + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 72|0); + $35 = HEAP32[$34>>2]|0; + (_sqlite3_step($35)|0); + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 72|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3_reset($38)|0); + STACKTOP = sp;return ($39|0); } -function _zeroJournalHdr($pPager,$doTruncate) { - $pPager = $pPager|0; - $doTruncate = $doTruncate|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $iLimit = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $sz = 0, label = 0, sp = 0; +function _parentWrite($pRtree,$0,$1,$2,$3) { + $pRtree = $pRtree|0; + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $iLimit = sp + 8|0; - $sz = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $doTruncate; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 72|0); - $4 = $3; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = (($4) + 4)|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + HEAP32[$4>>2] = $pRtree; + $7 = $5; $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)!=(0); - $11 = ($9|0)!=(0); - $12 = $10 | $11; - if (!($12)) { - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); - } - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 160|0); - $15 = $14; - $16 = $15; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $2; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $3; + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 84|0); $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; + $18 = $5; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = $iLimit; + $21 = (($18) + 4)|0; $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = HEAP32[$1>>2]|0; - $26 = ($25|0)!=(0); - $27 = $iLimit; + $23 = HEAP32[$22>>2]|0; + (_sqlite3_bind_int64($17,1,$20,$23)|0); + $24 = HEAP32[$4>>2]|0; + $25 = ((($24)) + 84|0); + $26 = HEAP32[$25>>2]|0; + $27 = $6; $28 = $27; $29 = HEAP32[$28>>2]|0; $30 = (($27) + 4)|0; $31 = $30; $32 = HEAP32[$31>>2]|0; - $33 = ($29|0)==(0); - $34 = ($32|0)==(0); - $35 = $33 & $34; - $or$cond = $26 | $35; - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 64|0); + (_sqlite3_bind_int64($26,2,$29,$32)|0); + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 84|0); + $35 = HEAP32[$34>>2]|0; + (_sqlite3_step($35)|0); + $36 = HEAP32[$4>>2]|0; + $37 = ((($36)) + 84|0); $38 = HEAP32[$37>>2]|0; - if ($or$cond) { - $39 = (_sqlite3OsTruncate($38,0,0)|0); - HEAP32[$rc>>2] = $39; + $39 = (_sqlite3_reset($38)|0); + STACKTOP = sp;return ($39|0); +} +function _nodeParentIndex($pRtree,$pNode,$piIndex) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $piIndex = $piIndex|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $pParent = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $pParent = sp; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $pNode; + HEAP32[$3>>2] = $piIndex; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$pParent>>2] = $5; + $6 = HEAP32[$pParent>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$pParent>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 8|0); + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = (_nodeRowidIndex($8,$9,$14,$17,$18)|0); + HEAP32[$0>>2] = $19; + $21 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($21|0); } else { - $40 = (_sqlite3OsWrite($38,4240,28,0,0)|0); - HEAP32[$rc>>2] = $40; + $20 = HEAP32[$3>>2]|0; + HEAP32[$20>>2] = -1; + HEAP32[$0>>2] = 0; + $21 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($21|0); } - $41 = HEAP32[$rc>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 7|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)!=(0); - if (!($46)) { - $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 64|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 11|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = 16 | $53; - $55 = (_sqlite3OsSync($49,$54)|0); - HEAP32[$rc>>2] = $55; + return (0)|0; +} +function _nodeGetCell($pRtree,$pNode,$iCell,$pCell) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $iCell = $iCell|0; + $pCell = $pCell|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $pCoord = 0, $pData = 0, $pEnd = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $pData = sp + 4|0; + $pEnd = sp; + $pCoord = sp + 12|0; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$2>>2] = $iCell; + HEAP32[$3>>2] = $pCell; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = (_nodeGetRowid($4,$5,$6)|0); + $8 = tempRet0; + $9 = HEAP32[$3>>2]|0; + $10 = $9; + $11 = $10; + HEAP32[$11>>2] = $7; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $8; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 22|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = HEAP32[$2>>2]|0; + $22 = Math_imul($20, $21)|0; + $23 = (12 + ($22))|0; + $24 = (($16) + ($23)|0); + HEAP32[$pData>>2] = $24; + $25 = HEAP32[$pData>>2]|0; + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29<<3; + $31 = (($25) + ($30)|0); + HEAP32[$pEnd>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 8|0); + HEAP32[$pCoord>>2] = $33; + while(1) { + $34 = HEAP32[$pData>>2]|0; + $35 = HEAP32[$pEnd>>2]|0; + $36 = ($34>>>0)<($35>>>0); + if (!($36)) { + break; } + $37 = HEAP32[$pData>>2]|0; + $38 = HEAP32[$pCoord>>2]|0; + _readCoord($37,$38); + $39 = HEAP32[$pData>>2]|0; + $40 = ((($39)) + 4|0); + HEAP32[$pData>>2] = $40; + $41 = HEAP32[$pCoord>>2]|0; + $42 = ((($41)) + 4|0); + HEAP32[$pCoord>>2] = $42; } - $56 = HEAP32[$rc>>2]|0; - $57 = ($56|0)==(0); - $58 = $iLimit; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)>(0); - $65 = ($60>>>0)>(0); - $66 = ($63|0)==(0); - $67 = $66 & $65; - $68 = $64 | $67; - $or$cond3 = $57 & $68; - if (!($or$cond3)) { - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + STACKTOP = sp;return; +} +function _cellContains($pRtree,$p1,$p2) { + $pRtree = $pRtree|0; + $p1 = $p1|0; + $p2 = $p2|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a1 = 0, $a2 = 0, $ii = 0, $isInt = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $ii = sp + 28|0; + $isInt = sp; + $a1 = sp + 12|0; + $a2 = sp + 24|0; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $p1; + HEAP32[$3>>2] = $p2; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 21|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(1); + $9 = $8&1; + HEAP32[$isInt>>2] = $9; + HEAP32[$ii>>2] = 0; + while(1) { + $10 = HEAP32[$ii>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = $14<<1; + $16 = ($10|0)<($15|0); + if (!($16)) { + label = 11; + break; + } + $17 = HEAP32[$ii>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 8|0); + $20 = (($19) + ($17<<2)|0); + HEAP32[$a1>>2] = $20; + $21 = HEAP32[$ii>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 8|0); + $24 = (($23) + ($21<<2)|0); + HEAP32[$a2>>2] = $24; + $25 = HEAP32[$isInt>>2]|0; + $26 = ($25|0)!=(0); + if (!($26)) { + $27 = HEAP32[$a2>>2]|0; + $28 = +HEAPF32[$27>>2]; + $29 = HEAP32[$a1>>2]|0; + $30 = +HEAPF32[$29>>2]; + $31 = $28 < $30; + if ($31) { + label = 9; + break; + } + $32 = HEAP32[$a2>>2]|0; + $33 = ((($32)) + 4|0); + $34 = +HEAPF32[$33>>2]; + $35 = HEAP32[$a1>>2]|0; + $36 = ((($35)) + 4|0); + $37 = +HEAPF32[$36>>2]; + $38 = $34 > $37; + if ($38) { + label = 9; + break; + } + } + $39 = HEAP32[$isInt>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$a2>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$a1>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = ($42|0)<($44|0); + if ($45) { + label = 9; + break; + } + $46 = HEAP32[$a2>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$a1>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($48|0)>($51|0); + if ($52) { + label = 9; + break; + } + } + $53 = HEAP32[$ii>>2]|0; + $54 = (($53) + 2)|0; + HEAP32[$ii>>2] = $54; } - $69 = HEAP32[$0>>2]|0; - $70 = (($69) + 64|0); - $71 = HEAP32[$70>>2]|0; - $72 = (_sqlite3OsFileSize($71,$sz)|0); - HEAP32[$rc>>2] = $72; - $73 = HEAP32[$rc>>2]|0; - $74 = ($73|0)==(0); - if (!($74)) { - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + if ((label|0) == 9) { + HEAP32[$0>>2] = 0; + $55 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($55|0); } - $75 = $sz; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = $iLimit; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (($81) + 4)|0; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = ($80|0)>($86|0); - $88 = ($77>>>0)>($83>>>0); - $89 = ($80|0)==($86|0); - $90 = $89 & $88; - $91 = $87 | $90; - if (!($91)) { - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + else if ((label|0) == 11) { + HEAP32[$0>>2] = 1; + $55 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($55|0); } - $92 = HEAP32[$0>>2]|0; - $93 = (($92) + 64|0); - $94 = HEAP32[$93>>2]|0; - $95 = $iLimit; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (($95) + 4)|0; - $99 = $98; - $100 = HEAP32[$99>>2]|0; - $101 = (_sqlite3OsTruncate($94,$97,$100)|0); - HEAP32[$rc>>2] = $101; - $102 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($102|0); + return (0)|0; } -function _sqlite3OsDelete($pVfs,$zPath,$dirSync) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $dirSync = $dirSync|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _cellUnion($pRtree,$p1,$p2) { + $pRtree = $pRtree|0; + $p1 = $p1|0; + $p2 = $p2|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ii = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $dirSync; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $ii = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $p1; + HEAP32[$2>>2] = $p2; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (FUNCTION_TABLE_iiii[$5 & 31]($6,$7,$8)|0); - STACKTOP = sp;return ($9|0); + $4 = ((($3)) + 21|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(0); + HEAP32[$ii>>2] = 0; + if ($7) { + while(1) { + $8 = HEAP32[$ii>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12<<1; + $14 = ($8|0)<($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$ii>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 8|0); + $18 = (($17) + ($15<<2)|0); + $19 = +HEAPF32[$18>>2]; + $20 = HEAP32[$ii>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 8|0); + $23 = (($22) + ($20<<2)|0); + $24 = +HEAPF32[$23>>2]; + $25 = $19 < $24; + $26 = HEAP32[$ii>>2]|0; + if ($25) { + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 8|0); + $29 = (($28) + ($26<<2)|0); + $30 = +HEAPF32[$29>>2]; + $39 = $30; + } else { + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 8|0); + $33 = (($32) + ($26<<2)|0); + $34 = +HEAPF32[$33>>2]; + $39 = $34; + } + $35 = HEAP32[$ii>>2]|0; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 8|0); + $38 = (($37) + ($35<<2)|0); + HEAPF32[$38>>2] = $39; + $40 = HEAP32[$ii>>2]|0; + $41 = (($40) + 1)|0; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 8|0); + $44 = (($43) + ($41<<2)|0); + $45 = +HEAPF32[$44>>2]; + $46 = HEAP32[$ii>>2]|0; + $47 = (($46) + 1)|0; + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 8|0); + $50 = (($49) + ($47<<2)|0); + $51 = +HEAPF32[$50>>2]; + $52 = $45 > $51; + $53 = HEAP32[$ii>>2]|0; + $54 = (($53) + 1)|0; + if ($52) { + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 8|0); + $57 = (($56) + ($54<<2)|0); + $58 = +HEAPF32[$57>>2]; + $68 = $58; + } else { + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 8|0); + $61 = (($60) + ($54<<2)|0); + $62 = +HEAPF32[$61>>2]; + $68 = $62; + } + $63 = HEAP32[$ii>>2]|0; + $64 = (($63) + 1)|0; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 8|0); + $67 = (($66) + ($64<<2)|0); + HEAPF32[$67>>2] = $68; + $69 = HEAP32[$ii>>2]|0; + $70 = (($69) + 2)|0; + HEAP32[$ii>>2] = $70; + } + STACKTOP = sp;return; + } else { + while(1) { + $71 = HEAP32[$ii>>2]|0; + $72 = HEAP32[$0>>2]|0; + $73 = ((($72)) + 20|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = $75<<1; + $77 = ($71|0)<($76|0); + if (!($77)) { + break; + } + $78 = HEAP32[$ii>>2]|0; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 8|0); + $81 = (($80) + ($78<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$ii>>2]|0; + $84 = HEAP32[$2>>2]|0; + $85 = ((($84)) + 8|0); + $86 = (($85) + ($83<<2)|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($82|0)<($87|0); + $89 = HEAP32[$ii>>2]|0; + if ($88) { + $90 = HEAP32[$1>>2]|0; + $91 = ((($90)) + 8|0); + $92 = (($91) + ($89<<2)|0); + $93 = HEAP32[$92>>2]|0; + $102 = $93; + } else { + $94 = HEAP32[$2>>2]|0; + $95 = ((($94)) + 8|0); + $96 = (($95) + ($89<<2)|0); + $97 = HEAP32[$96>>2]|0; + $102 = $97; + } + $98 = HEAP32[$ii>>2]|0; + $99 = HEAP32[$1>>2]|0; + $100 = ((($99)) + 8|0); + $101 = (($100) + ($98<<2)|0); + HEAP32[$101>>2] = $102; + $103 = HEAP32[$ii>>2]|0; + $104 = (($103) + 1)|0; + $105 = HEAP32[$1>>2]|0; + $106 = ((($105)) + 8|0); + $107 = (($106) + ($104<<2)|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$ii>>2]|0; + $110 = (($109) + 1)|0; + $111 = HEAP32[$2>>2]|0; + $112 = ((($111)) + 8|0); + $113 = (($112) + ($110<<2)|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($108|0)>($114|0); + $116 = HEAP32[$ii>>2]|0; + $117 = (($116) + 1)|0; + if ($115) { + $118 = HEAP32[$1>>2]|0; + $119 = ((($118)) + 8|0); + $120 = (($119) + ($117<<2)|0); + $121 = HEAP32[$120>>2]|0; + $131 = $121; + } else { + $122 = HEAP32[$2>>2]|0; + $123 = ((($122)) + 8|0); + $124 = (($123) + ($117<<2)|0); + $125 = HEAP32[$124>>2]|0; + $131 = $125; + } + $126 = HEAP32[$ii>>2]|0; + $127 = (($126) + 1)|0; + $128 = HEAP32[$1>>2]|0; + $129 = ((($128)) + 8|0); + $130 = (($129) + ($127<<2)|0); + HEAP32[$130>>2] = $131; + $132 = HEAP32[$ii>>2]|0; + $133 = (($132) + 2)|0; + HEAP32[$ii>>2] = $133; + } + STACKTOP = sp;return; + } } -function _sqlite3PcacheCleanAll($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; +function _nodeOverwriteCell($pRtree,$pNode,$pCell,$iCell) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $pCell = $pCell|0; + $iCell = $iCell|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $ii = sp + 4|0; $p = sp; - HEAP32[$0>>2] = $pCache; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$2>>2] = $pCell; + HEAP32[$3>>2] = $iCell; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 22|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = HEAP32[$3>>2]|0; + $9 = Math_imul($7, $8)|0; + $10 = (4 + ($9))|0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($10)|0); + HEAP32[$p>>2] = $14; + $15 = HEAP32[$p>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = $16; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (_writeInt64($15,$19,$22)|0); + $24 = HEAP32[$p>>2]|0; + $25 = (($24) + ($23)|0); + HEAP32[$p>>2] = $25; + HEAP32[$ii>>2] = 0; while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - $3 = ($2|0)!=(0|0); - if (!($3)) { + $26 = HEAP32[$ii>>2]|0; + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = $30<<1; + $32 = ($26|0)<($31|0); + if (!($32)) { break; } - $4 = HEAP32[$p>>2]|0; - _sqlite3PcacheMakeClean($4); + $33 = HEAP32[$p>>2]|0; + $34 = HEAP32[$ii>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 8|0); + $37 = (($36) + ($34<<2)|0); + $38 = (_writeCoord($33,$37)|0); + $39 = HEAP32[$p>>2]|0; + $40 = (($39) + ($38)|0); + HEAP32[$p>>2] = $40; + $41 = HEAP32[$ii>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$ii>>2] = $42; } + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 20|0); + HEAP32[$44>>2] = 1; STACKTOP = sp;return; } -function _pagerUseWal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _writeInt64($p,$0,$1) { + $p = $p|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 208|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = $4&1; - STACKTOP = sp;return ($5|0); + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $p; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = $3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (_bitshift64Ashr(($10|0),($13|0),56)|0); + $15 = tempRet0; + $16 = $14 & 255; + $17 = $16&255; + $18 = HEAP32[$2>>2]|0; + HEAP8[$18>>0] = $17; + $19 = $3; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (_bitshift64Ashr(($21|0),($24|0),48)|0); + $26 = tempRet0; + $27 = $25 & 255; + $28 = $27&255; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 1|0); + HEAP8[$30>>0] = $28; + $31 = $3; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (_bitshift64Ashr(($33|0),($36|0),40)|0); + $38 = tempRet0; + $39 = $37 & 255; + $40 = $39&255; + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 2|0); + HEAP8[$42>>0] = $40; + $43 = $3; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (_bitshift64Ashr(($45|0),($48|0),32)|0); + $50 = tempRet0; + $51 = $49 & 255; + $52 = $51&255; + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 3|0); + HEAP8[$54>>0] = $52; + $55 = $3; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (_bitshift64Ashr(($57|0),($60|0),24)|0); + $62 = tempRet0; + $63 = $61 & 255; + $64 = $63&255; + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 4|0); + HEAP8[$66>>0] = $64; + $67 = $3; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (_bitshift64Ashr(($69|0),($72|0),16)|0); + $74 = tempRet0; + $75 = $73 & 255; + $76 = $75&255; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 5|0); + HEAP8[$78>>0] = $76; + $79 = $3; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (_bitshift64Ashr(($81|0),($84|0),8)|0); + $86 = tempRet0; + $87 = $85 & 255; + $88 = $87&255; + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 6|0); + HEAP8[$90>>0] = $88; + $91 = $3; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (_bitshift64Ashr(($93|0),($96|0),0)|0); + $98 = tempRet0; + $99 = $97 & 255; + $100 = $99&255; + $101 = HEAP32[$2>>2]|0; + $102 = ((($101)) + 7|0); + HEAP8[$102>>0] = $100; + STACKTOP = sp;return 8; } -function _sqlite3WalEndWriteTransaction($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _writeCoord($p,$pCoord) { + $p = $p|0; + $pCoord = $pCoord|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 44|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if (!($4)) { - STACKTOP = sp;return 0; - } - $5 = HEAP32[$0>>2]|0; - _walUnlockExclusive($5,0,1); - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 44|0); - HEAP8[$7>>0] = 0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $pCoord; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$i>>2] = $3; + $4 = HEAP32[$i>>2]|0; + $5 = $4 >>> 24; + $6 = $5 & 255; + $7 = $6&255; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 47|0); - HEAP8[$9>>0] = 0; - STACKTOP = sp;return 0; -} -function _pager_truncate($pPager,$nPage) { - $pPager = $pPager|0; - $nPage = $nPage|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $currentSize = 0, $newSize = 0, $pTmp = 0, $rc = 0, $szPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $rc = sp + 24|0; - $currentSize = sp + 8|0; - $newSize = sp; - $szPage = sp + 20|0; - $pTmp = sp + 16|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $nPage; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); - } - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 16|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)>=(4); - if (!($11)) { - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 16|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(0); - if (!($16)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); - } - } - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 152|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$szPage>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 60|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3OsFileSize($22,$currentSize)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$szPage>>2]|0; - $25 = ($24|0)<(0); - $26 = $25 << 31 >> 31; - $27 = HEAP32[$1>>2]|0; - $28 = (___muldi3(($24|0),($26|0),($27|0),0)|0); - $29 = tempRet0; - $30 = $newSize; - $31 = $30; - HEAP32[$31>>2] = $28; - $32 = (($30) + 4)|0; - $33 = $32; - HEAP32[$33>>2] = $29; - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); - } - $36 = $currentSize; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = $newSize; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ($38|0)!=($44|0); - $49 = ($41|0)!=($47|0); - $50 = $48 | $49; - if (!($50)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); - } - $51 = $currentSize; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = $newSize; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = ($56|0)>($62|0); - $64 = ($53>>>0)>($59>>>0); - $65 = ($56|0)==($62|0); - $66 = $65 & $64; - $67 = $63 | $66; - if ($67) { - $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 60|0); - $70 = HEAP32[$69>>2]|0; - $71 = $newSize; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (($71) + 4)|0; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (_sqlite3OsTruncate($70,$73,$76)|0); - HEAP32[$rc>>2] = $77; - } else { - $78 = $currentSize; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$szPage>>2]|0; - $85 = ($84|0)<(0); - $86 = $85 << 31 >> 31; - $87 = (_i64Add(($80|0),($83|0),($84|0),($86|0))|0); - $88 = tempRet0; - $89 = $newSize; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = ($88|0)<($94|0); - $96 = ($87>>>0)<=($91>>>0); - $97 = ($88|0)==($94|0); - $98 = $97 & $96; - $99 = $95 | $98; - if ($99) { - $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 200|0); - $102 = HEAP32[$101>>2]|0; - HEAP32[$pTmp>>2] = $102; - $103 = HEAP32[$pTmp>>2]|0; - $104 = HEAP32[$szPage>>2]|0; - _memset(($103|0),0,($104|0))|0; - $105 = HEAP32[$0>>2]|0; - $106 = (($105) + 60|0); - $107 = HEAP32[$106>>2]|0; - $108 = HEAP32[$pTmp>>2]|0; - $109 = HEAP32[$szPage>>2]|0; - $110 = $newSize; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$szPage>>2]|0; - $117 = ($116|0)<(0); - $118 = $117 << 31 >> 31; - $119 = (_i64Subtract(($112|0),($115|0),($116|0),($118|0))|0); - $120 = tempRet0; - $121 = (_sqlite3OsWrite($107,$108,$109,$119,$120)|0); - HEAP32[$rc>>2] = $121; - } - } - $122 = HEAP32[$rc>>2]|0; - $123 = ($122|0)==(0); - if (!($123)) { - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); - } - $124 = HEAP32[$1>>2]|0; - $125 = HEAP32[$0>>2]|0; - $126 = (($125) + 32|0); - HEAP32[$126>>2] = $124; - $127 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($127|0); + HEAP8[$8>>0] = $7; + $9 = HEAP32[$i>>2]|0; + $10 = $9 >>> 16; + $11 = $10 & 255; + $12 = $11&255; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 1|0); + HEAP8[$14>>0] = $12; + $15 = HEAP32[$i>>2]|0; + $16 = $15 >>> 8; + $17 = $16 & 255; + $18 = $17&255; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 2|0); + HEAP8[$20>>0] = $18; + $21 = HEAP32[$i>>2]|0; + $22 = $21 >>> 0; + $23 = $22 & 255; + $24 = $23&255; + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 3|0); + HEAP8[$26>>0] = $24; + STACKTOP = sp;return 4; } -function _sqlite3WalExclusiveMode($pWal,$op) { - $pWal = $pWal|0; - $op = $op|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _nodeGetRowid($pRtree,$pNode,$iCell) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $iCell = $iCell|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $op; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $26 = HEAP32[$1>>2]|0; - $27 = ($26|0)>(0); - $28 = HEAP32[$0>>2]|0; - if ($27) { - $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 40|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31 << 16 >> 16; - $33 = (3 + ($32))|0; - _walUnlockShared($28,$33); - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 43|0); - HEAP8[$35>>0] = 1; - HEAP32[$rc>>2] = 1; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); - } else { - $36 = (($28) + 43|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)==(0); - $40 = $39&1; - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); - } - } - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 43|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if (!($7)) { - HEAP32[$rc>>2] = 0; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); - } - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 43|0); - HEAP8[$9>>0] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 40|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13 << 16 >> 16; - $15 = (3 + ($14))|0; - $16 = (_walLockShared($10,$15)|0); - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 43|0); - HEAP8[$19>>0] = 1; - } - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 43|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)==(0); - $25 = $24&1; - HEAP32[$rc>>2] = $25; - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + $2 = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$2>>2] = $iCell; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 22|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = HEAP32[$2>>2]|0; + $8 = Math_imul($6, $7)|0; + $9 = (4 + ($8))|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12) + ($9)|0); + $14 = (_readInt64($13)|0); + $15 = tempRet0; + tempRet0 = ($15); + STACKTOP = sp;return ($14|0); } -function _pagerUnlockDb($pPager,$eLock) { - $pPager = $pPager|0; - $eLock = $eLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _readCoord($p,$pCoord) { + $p = $p|0; + $pCoord = $pCoord|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $eLock; - HEAP32[$rc>>2] = 0; + $i = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $pCoord; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); - } - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 13|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - if ($11) { - $17 = 0; - } else { - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (_sqlite3OsUnlock($14,$15)|0); - $17 = $16; - } - HEAP32[$rc>>2] = $17; + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = $4 << 24; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 16; + $11 = (($5) + ($10))|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = $15 << 8; + $17 = (($11) + ($16))|0; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 17|0); + $19 = ((($18)) + 3|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; - $22 = ($21|0)!=(5); - if (!($22)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); - } - $23 = HEAP32[$1>>2]|0; - $24 = $23&255; - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 17|0); - HEAP8[$26>>0] = $24; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + $22 = $21 << 0; + $23 = (($17) + ($22))|0; + HEAP32[$i>>2] = $23; + $24 = HEAP32[$i>>2]|0; + $25 = HEAP32[$1>>2]|0; + HEAP32[$25>>2] = $24; + STACKTOP = sp;return; } -function _sqlite3OsUnlock($id,$lockType) { - $id = $id|0; - $lockType = $lockType|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _readInt64($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $lockType; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 32|0); - $5 = HEAP32[$4>>2]|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = (_bitshift64Shl(($3|0),0,56)|0); + $5 = tempRet0; $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); - STACKTOP = sp;return ($8|0); + $7 = ((($6)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = (_bitshift64Shl(($9|0),0,48)|0); + $11 = tempRet0; + $12 = (_i64Add(($4|0),($5|0),($10|0),($11|0))|0); + $13 = tempRet0; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 2|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = (_bitshift64Shl(($17|0),0,40)|0); + $19 = tempRet0; + $20 = (_i64Add(($12|0),($13|0),($18|0),($19|0))|0); + $21 = tempRet0; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 3|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = (_i64Add(($20|0),($21|0),0,($25|0))|0); + $27 = tempRet0; + $28 = HEAP32[$0>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = (_bitshift64Shl(($31|0),0,24)|0); + $33 = tempRet0; + $34 = (_i64Add(($26|0),($27|0),($32|0),($33|0))|0); + $35 = tempRet0; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 5|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = (_bitshift64Shl(($39|0),0,16)|0); + $41 = tempRet0; + $42 = (_i64Add(($34|0),($35|0),($40|0),($41|0))|0); + $43 = tempRet0; + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 6|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = (_bitshift64Shl(($47|0),0,8)|0); + $49 = tempRet0; + $50 = (_i64Add(($42|0),($43|0),($48|0),($49|0))|0); + $51 = tempRet0; + $52 = HEAP32[$0>>2]|0; + $53 = ((($52)) + 7|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = (_bitshift64Shl(($55|0),0,0)|0); + $57 = tempRet0; + $58 = (_i64Add(($50|0),($51|0),($56|0),($57|0))|0); + $59 = tempRet0; + tempRet0 = ($59); + STACKTOP = sp;return ($58|0); } -function _walLockShared($pWal,$lockIdx) { - $pWal = $pWal|0; - $lockIdx = $lockIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _nodeRowidIndex($pRtree,$pNode,$0,$1,$piIndex) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $0 = $0|0; + $1 = $1|0; + $piIndex = $piIndex|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, $nCell = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $lockIdx; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 43|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { - HEAP32[$0>>2] = 0; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); - } else { - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (_sqlite3OsShmLock($9,$10,1,6)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $12; - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 20|0; + $4 = sp + 24|0; + $5 = sp; + $6 = sp + 16|0; + $ii = sp + 12|0; + $nCell = sp + 8|0; + HEAP32[$3>>2] = $pRtree; + HEAP32[$4>>2] = $pNode; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + HEAP32[$6>>2] = $piIndex; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 2|0); + $15 = (_readInt16($14)|0); + HEAP32[$nCell>>2] = $15; + HEAP32[$ii>>2] = 0; + while(1) { + $16 = HEAP32[$ii>>2]|0; + $17 = HEAP32[$nCell>>2]|0; + $18 = ($16|0)<($17|0); + if (!($18)) { + label = 6; + break; + } + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = HEAP32[$ii>>2]|0; + $22 = (_nodeGetRowid($19,$20,$21)|0); + $23 = tempRet0; + $24 = $5; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = ($22|0)==($26|0); + $31 = ($23|0)==($29|0); + $32 = $30 & $31; + $33 = HEAP32[$ii>>2]|0; + if ($32) { + label = 4; + break; + } + $35 = (($33) + 1)|0; + HEAP32[$ii>>2] = $35; + } + if ((label|0) == 4) { + $34 = HEAP32[$6>>2]|0; + HEAP32[$34>>2] = $33; + HEAP32[$2>>2] = 0; + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); + } + else if ((label|0) == 6) { + HEAP32[$2>>2] = 267; + $36 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($36|0); } - return 0|0; + return (0)|0; } -function _walUnlockShared($pWal,$lockIdx) { - $pWal = $pWal|0; - $lockIdx = $lockIdx|0; +function _readInt16($p) { + $p = $p|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $lockIdx; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 43|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 1|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8))|0; + STACKTOP = sp;return ($9|0); +} +function _SortByDistance($aIdx,$nIdx,$aDistance,$aSpare) { + $aIdx = $aIdx|0; + $nIdx = $nIdx|0; + $aDistance = $aDistance|0; + $aSpare = $aSpare|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $aLeft = 0, $aRight = 0, $fLeft = 0, $fRight = 0; + var $iLeft = 0, $iRight = 0, $nLeft = 0, $nRight = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 48|0; + $1 = sp + 20|0; + $2 = sp + 32|0; + $3 = sp + 36|0; + $iLeft = sp + 44|0; + $iRight = sp + 24|0; + $nLeft = sp + 52|0; + $nRight = sp + 16|0; + $aLeft = sp + 28|0; + $aRight = sp + 40|0; + $fLeft = sp; + $fRight = sp + 8|0; + HEAP32[$0>>2] = $aIdx; + HEAP32[$1>>2] = $nIdx; + HEAP32[$2>>2] = $aDistance; + HEAP32[$3>>2] = $aSpare; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)>(1); + if (!($5)) { STACKTOP = sp;return; } + HEAP32[$iLeft>>2] = 0; + HEAP32[$iRight>>2] = 0; + $6 = HEAP32[$1>>2]|0; + $7 = (($6|0) / 2)&-1; + HEAP32[$nLeft>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$nLeft>>2]|0; + $10 = (($8) - ($9))|0; + HEAP32[$nRight>>2] = $10; + $11 = HEAP32[$0>>2]|0; + HEAP32[$aLeft>>2] = $11; + $12 = HEAP32[$nLeft>>2]|0; + $13 = HEAP32[$0>>2]|0; + $14 = (($13) + ($12<<2)|0); + HEAP32[$aRight>>2] = $14; + $15 = HEAP32[$aLeft>>2]|0; + $16 = HEAP32[$nLeft>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$3>>2]|0; + _SortByDistance($15,$16,$17,$18); + $19 = HEAP32[$aRight>>2]|0; + $20 = HEAP32[$nRight>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$3>>2]|0; + _SortByDistance($19,$20,$21,$22); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$aLeft>>2]|0; + $25 = HEAP32[$nLeft>>2]|0; + $26 = $25<<2; + _memcpy(($23|0),($24|0),($26|0))|0; + $27 = HEAP32[$3>>2]|0; + HEAP32[$aLeft>>2] = $27; + while(1) { + $28 = HEAP32[$iLeft>>2]|0; + $29 = HEAP32[$nLeft>>2]|0; + $30 = ($28|0)<($29|0); + if (!($30)) { + $31 = HEAP32[$iRight>>2]|0; + $32 = HEAP32[$nRight>>2]|0; + $33 = ($31|0)<($32|0); + if (!($33)) { + break; + } + } + $34 = HEAP32[$iLeft>>2]|0; + $35 = HEAP32[$nLeft>>2]|0; + $36 = ($34|0)==($35|0); + $37 = HEAP32[$iRight>>2]|0; + if ($36) { + $38 = HEAP32[$aRight>>2]|0; + $39 = (($38) + ($37<<2)|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$iLeft>>2]|0; + $42 = HEAP32[$iRight>>2]|0; + $43 = (($41) + ($42))|0; + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($43<<2)|0); + HEAP32[$45>>2] = $40; + $46 = HEAP32[$iRight>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$iRight>>2] = $47; + continue; + } + $48 = HEAP32[$nRight>>2]|0; + $49 = ($37|0)==($48|0); + $50 = HEAP32[$iLeft>>2]|0; + $51 = HEAP32[$aLeft>>2]|0; + $52 = (($51) + ($50<<2)|0); + $53 = HEAP32[$52>>2]|0; + if ($49) { + $54 = HEAP32[$iLeft>>2]|0; + $55 = HEAP32[$iRight>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$0>>2]|0; + $58 = (($57) + ($56<<2)|0); + HEAP32[$58>>2] = $53; + $59 = HEAP32[$iLeft>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$iLeft>>2] = $60; + continue; + } + $61 = HEAP32[$2>>2]|0; + $62 = (($61) + ($53<<3)|0); + $63 = +HEAPF64[$62>>3]; + HEAPF64[$fLeft>>3] = $63; + $64 = HEAP32[$iRight>>2]|0; + $65 = HEAP32[$aRight>>2]|0; + $66 = (($65) + ($64<<2)|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$2>>2]|0; + $69 = (($68) + ($67<<3)|0); + $70 = +HEAPF64[$69>>3]; + HEAPF64[$fRight>>3] = $70; + $71 = +HEAPF64[$fLeft>>3]; + $72 = +HEAPF64[$fRight>>3]; + $73 = $71 < $72; + if ($73) { + $74 = HEAP32[$iLeft>>2]|0; + $75 = HEAP32[$aLeft>>2]|0; + $76 = (($75) + ($74<<2)|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$iLeft>>2]|0; + $79 = HEAP32[$iRight>>2]|0; + $80 = (($78) + ($79))|0; + $81 = HEAP32[$0>>2]|0; + $82 = (($81) + ($80<<2)|0); + HEAP32[$82>>2] = $77; + $83 = HEAP32[$iLeft>>2]|0; + $84 = (($83) + 1)|0; + HEAP32[$iLeft>>2] = $84; + continue; + } else { + $85 = HEAP32[$iRight>>2]|0; + $86 = HEAP32[$aRight>>2]|0; + $87 = (($86) + ($85<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$iLeft>>2]|0; + $90 = HEAP32[$iRight>>2]|0; + $91 = (($89) + ($90))|0; + $92 = HEAP32[$0>>2]|0; + $93 = (($92) + ($91<<2)|0); + HEAP32[$93>>2] = $88; + $94 = HEAP32[$iRight>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$iRight>>2] = $95; + continue; + } + } + STACKTOP = sp;return; +} +function _nodeZero($pRtree,$p) { + $pRtree = $pRtree|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 2|0); $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - (_sqlite3OsShmLock($8,$9,1,5)|0); + $9 = (($8) - 2)|0; + _memset(($5|0),0,($9|0))|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 20|0); + HEAP32[$11>>2] = 1; STACKTOP = sp;return; } -function _sqlite3OsShmLock($id,$offset,$n,$flags) { - $id = $id|0; - $offset = $offset|0; - $n = $n|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _fixBoundingBox($pRtree,$pNode) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $box = 0, $cell = 0, $ii = 0, $nCell = 0, $pParent = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $offset; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $flags; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 56|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = (FUNCTION_TABLE_iiiii[$7 & 7]($8,$9,$10,$11)|0); - STACKTOP = sp;return ($12|0); + STACKTOP = STACKTOP + 128|0; + $0 = sp + 112|0; + $1 = sp + 100|0; + $pParent = sp + 108|0; + $rc = sp + 104|0; + $ii = sp + 116|0; + $nCell = sp + 96|0; + $box = sp + 48|0; + $cell = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$pParent>>2] = $3; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$pParent>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $45 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($45|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($8)) + 2|0); + $10 = (_readInt16($9)|0); + HEAP32[$nCell>>2] = $10; + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$1>>2]|0; + _nodeGetCell($11,$12,0,$box); + HEAP32[$ii>>2] = 1; + while(1) { + $13 = HEAP32[$ii>>2]|0; + $14 = HEAP32[$nCell>>2]|0; + $15 = ($13|0)<($14|0); + if (!($15)) { + break; + } + $16 = HEAP32[$0>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$ii>>2]|0; + _nodeGetCell($16,$17,$18,$cell); + $19 = HEAP32[$0>>2]|0; + _cellUnion($19,$box,$cell); + $20 = HEAP32[$ii>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$ii>>2] = $21; + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 8|0); + $24 = $23; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $box; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$1>>2]|0; + $36 = (_nodeParentIndex($34,$35,$ii)|0); + HEAP32[$rc>>2] = $36; + $37 = HEAP32[$rc>>2]|0; + $38 = ($37|0)==(0); + if (!($38)) { + $45 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($45|0); + } + $39 = HEAP32[$0>>2]|0; + $40 = HEAP32[$pParent>>2]|0; + $41 = HEAP32[$ii>>2]|0; + _nodeOverwriteCell($39,$40,$box,$41); + $42 = HEAP32[$0>>2]|0; + $43 = HEAP32[$pParent>>2]|0; + $44 = (_fixBoundingBox($42,$43)|0); + HEAP32[$rc>>2] = $44; + $45 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($45|0); } -function _walUnlockExclusive($pWal,$lockIdx,$n) { - $pWal = $pWal|0; - $lockIdx = $lockIdx|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _nodeNew($pRtree,$pParent) { + $pRtree = $pRtree|0; + $pParent = $pParent|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pNode = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $lockIdx; - HEAP32[$2>>2] = $n; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 43|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { - STACKTOP = sp;return; + $pNode = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pParent; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = (32 + ($4))|0; + $6 = (_sqlite3_malloc($5)|0); + HEAP32[$pNode>>2] = $6; + $7 = HEAP32[$pNode>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $25 = HEAP32[$pNode>>2]|0; + STACKTOP = sp;return ($25|0); } - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - (_sqlite3OsShmLock($9,$10,$11,9)|0); - STACKTOP = sp;return; + $9 = HEAP32[$pNode>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = (32 + ($12))|0; + _memset(($9|0),0,($13|0))|0; + $14 = HEAP32[$pNode>>2]|0; + $15 = ((($14)) + 32|0); + $16 = HEAP32[$pNode>>2]|0; + $17 = ((($16)) + 24|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$pNode>>2]|0; + $19 = ((($18)) + 16|0); + HEAP32[$19>>2] = 1; + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$pNode>>2]|0; + HEAP32[$21>>2] = $20; + $22 = HEAP32[$pNode>>2]|0; + $23 = ((($22)) + 20|0); + HEAP32[$23>>2] = 1; + $24 = HEAP32[$1>>2]|0; + _nodeReference($24); + $25 = HEAP32[$pNode>>2]|0; + STACKTOP = sp;return ($25|0); } -function _memjrnlClose($pJfd) { - $pJfd = $pJfd|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _writeInt16($p,$i) { + $p = $p|0; + $i = $i|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pJfd; - $1 = HEAP32[$0>>2]|0; - (_memjrnlTruncate($1,0,0)|0); - STACKTOP = sp;return 0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $i; + $2 = HEAP32[$1>>2]|0; + $3 = $2 >> 8; + $4 = $3 & 255; + $5 = $4&255; + $6 = HEAP32[$0>>2]|0; + HEAP8[$6>>0] = $5; + $7 = HEAP32[$1>>2]|0; + $8 = $7 >> 0; + $9 = $8 & 255; + $10 = $9&255; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 1|0); + HEAP8[$12>>0] = $10; + STACKTOP = sp;return 2; } -function _memjrnlRead($pJfd,$zBuf,$iAmt,$0,$1) { - $pJfd = $pJfd|0; - $zBuf = $zBuf|0; - $iAmt = $iAmt|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $iChunkOffset = 0, $iOff = 0, $iSpace = 0, $nCopy = 0, $nRead = 0, $or$cond = 0, $or$cond4 = 0, $p = 0, $pChunk = 0, $zOut = 0, label = 0, sp = 0; +function _splitNodeStartree($pRtree,$aCell,$nCell,$pLeft,$pRight,$pBboxLeft,$pBboxRight) { + $pRtree = $pRtree|0; + $aCell = $aCell|0; + $nCell = $nCell|0; + $pLeft = $pLeft|0; + $pRight = $pRight|0; + $pBboxLeft = $pBboxLeft|0; + $pBboxRight = $pBboxRight|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0; + var $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0, $157 = 0.0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0.0, $172 = 0.0, $173 = 0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0.0, $188 = 0.0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aSpare = 0, $aaSorted = 0, $area = 0, $fBestArea = 0, $fBestMargin = 0, $fBestOverlap = 0, $iBestDim = 0, $iBestLeft = 0, $iBestSplit = 0, $ii = 0, $jj = 0, $kk = 0, $left = 0; + var $margin = 0, $nByte = 0, $nLeft = 0, $overlap = 0, $pBbox = 0, $pCell = 0, $pTarget = 0, $right = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 8|0; - $p = sp + 40|0; - $zOut = sp + 36|0; - $nRead = sp + 32|0; - $iChunkOffset = sp + 28|0; - $pChunk = sp + 24|0; - $iOff = sp; - $iSpace = sp + 20|0; - $nCopy = sp + 16|0; - HEAP32[$2>>2] = $pJfd; - HEAP32[$3>>2] = $zBuf; - HEAP32[$4>>2] = $iAmt; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $10; - $11 = HEAP32[$3>>2]|0; - HEAP32[$zOut>>2] = $11; - $12 = HEAP32[$4>>2]|0; - HEAP32[$nRead>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $5; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = ($17|0)!=($23|0); - $28 = ($20|0)!=($26|0); - $29 = $27 | $28; - $30 = $5; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = ($32|0)==(0); - $37 = ($35|0)==(0); - $38 = $36 & $37; - $or$cond = $29 | $38; - L1: do { - if ($or$cond) { - $39 = $iOff; - $40 = $39; - HEAP32[$40>>2] = 0; - $41 = (($39) + 4)|0; - $42 = $41; - HEAP32[$42>>2] = 0; - $43 = HEAP32[$p>>2]|0; - $44 = (($43) + 4|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$pChunk>>2] = $45; + STACKTOP = STACKTOP + 240|0; + $0 = sp + 220|0; + $1 = sp + 180|0; + $2 = sp + 160|0; + $3 = sp + 156|0; + $4 = sp + 152|0; + $5 = sp + 168|0; + $6 = sp + 212|0; + $7 = sp + 208|0; + $aaSorted = sp + 164|0; + $aSpare = sp + 196|0; + $ii = sp + 144|0; + $iBestDim = sp + 204|0; + $iBestSplit = sp + 148|0; + $fBestMargin = sp + 136|0; + $nByte = sp + 224|0; + $jj = sp + 200|0; + $margin = sp + 56|0; + $fBestOverlap = sp + 64|0; + $fBestArea = sp; + $iBestLeft = sp + 172|0; + $nLeft = sp + 176|0; + $left = sp + 8|0; + $right = sp + 88|0; + $kk = sp + 192|0; + $overlap = sp + 80|0; + $area = sp + 72|0; + $pTarget = sp + 216|0; + $pBbox = sp + 184|0; + $pCell = sp + 188|0; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $aCell; + HEAP32[$3>>2] = $nCell; + HEAP32[$4>>2] = $pLeft; + HEAP32[$5>>2] = $pRight; + HEAP32[$6>>2] = $pBboxLeft; + HEAP32[$7>>2] = $pBboxRight; + HEAP32[$iBestDim>>2] = 0; + HEAP32[$iBestSplit>>2] = 0; + HEAPF64[$fBestMargin>>3] = 0.0; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 20|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (($11) + 1)|0; + $13 = HEAP32[$3>>2]|0; + $14 = $13<<2; + $15 = (4 + ($14))|0; + $16 = Math_imul($12, $15)|0; + HEAP32[$nByte>>2] = $16; + $17 = HEAP32[$nByte>>2]|0; + $18 = (_sqlite3_malloc($17)|0); + HEAP32[$aaSorted>>2] = $18; + $19 = HEAP32[$aaSorted>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + HEAP32[$0>>2] = 7; + $246 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($246|0); + } + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = HEAP32[$3>>2]|0; + $26 = Math_imul($24, $25)|0; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = HEAP32[$aaSorted>>2]|0; + $32 = (($31) + ($30<<2)|0); + $33 = (($32) + ($26<<2)|0); + HEAP32[$aSpare>>2] = $33; + $34 = HEAP32[$aaSorted>>2]|0; + $35 = HEAP32[$nByte>>2]|0; + _memset(($34|0),0,($35|0))|0; + HEAP32[$ii>>2] = 0; + while(1) { + $36 = HEAP32[$ii>>2]|0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 20|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = ($36|0)<($40|0); + if (!($41)) { + break; + } + $42 = HEAP32[$ii>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = Math_imul($42, $43)|0; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 20|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = HEAP32[$aaSorted>>2]|0; + $50 = (($49) + ($48<<2)|0); + $51 = (($50) + ($44<<2)|0); + $52 = HEAP32[$ii>>2]|0; + $53 = HEAP32[$aaSorted>>2]|0; + $54 = (($53) + ($52<<2)|0); + HEAP32[$54>>2] = $51; + HEAP32[$jj>>2] = 0; + while(1) { + $55 = HEAP32[$jj>>2]|0; + $56 = HEAP32[$3>>2]|0; + $57 = ($55|0)<($56|0); + if (!($57)) { + break; + } + $58 = HEAP32[$jj>>2]|0; + $59 = HEAP32[$jj>>2]|0; + $60 = HEAP32[$ii>>2]|0; + $61 = HEAP32[$aaSorted>>2]|0; + $62 = (($61) + ($60<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + ($59<<2)|0); + HEAP32[$64>>2] = $58; + $65 = HEAP32[$jj>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$jj>>2] = $66; + } + $67 = HEAP32[$1>>2]|0; + $68 = HEAP32[$ii>>2]|0; + $69 = HEAP32[$aaSorted>>2]|0; + $70 = (($69) + ($68<<2)|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$ii>>2]|0; + $74 = HEAP32[$2>>2]|0; + $75 = HEAP32[$aSpare>>2]|0; + _SortByDimension($67,$71,$72,$73,$74,$75); + $76 = HEAP32[$ii>>2]|0; + $77 = (($76) + 1)|0; + HEAP32[$ii>>2] = $77; + } + HEAP32[$ii>>2] = 0; + while(1) { + $78 = HEAP32[$ii>>2]|0; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 20|0); + $81 = HEAP8[$80>>0]|0; + $82 = $81&255; + $83 = ($78|0)<($82|0); + if (!($83)) { + break; + } + HEAPF64[$margin>>3] = 0.0; + HEAPF64[$fBestOverlap>>3] = 0.0; + HEAPF64[$fBestArea>>3] = 0.0; + HEAP32[$iBestLeft>>2] = 0; + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 16|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($86) - 4)|0; + $88 = HEAP32[$1>>2]|0; + $89 = ((($88)) + 22|0); + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + $92 = (($87|0) / ($91|0))&-1; + $93 = (($92|0) / 3)&-1; + HEAP32[$nLeft>>2] = $93; + while(1) { + $94 = HEAP32[$nLeft>>2]|0; + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 16|0); + $98 = HEAP32[$97>>2]|0; + $99 = (($98) - 4)|0; + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 22|0); + $102 = HEAP8[$101>>0]|0; + $103 = $102&255; + $104 = (($99|0) / ($103|0))&-1; + $105 = (($104|0) / 3)&-1; + $106 = (($95) - ($105))|0; + $107 = ($94|0)<=($106|0); + if (!($107)) { + break; + } + $108 = HEAP32[$ii>>2]|0; + $109 = HEAP32[$aaSorted>>2]|0; + $110 = (($109) + ($108<<2)|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$2>>2]|0; + $114 = (($113) + (($112*48)|0)|0); + dest=$left; src=$114; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $115 = HEAP32[$3>>2]|0; + $116 = (($115) - 1)|0; + $117 = HEAP32[$ii>>2]|0; + $118 = HEAP32[$aaSorted>>2]|0; + $119 = (($118) + ($117<<2)|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + ($116<<2)|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$2>>2]|0; + $124 = (($123) + (($122*48)|0)|0); + dest=$right; src=$124; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$kk>>2] = 1; while(1) { - $46 = HEAP32[$pChunk>>2]|0; - $47 = ($46|0)!=(0|0); - if (!($47)) { - break L1; + $125 = HEAP32[$kk>>2]|0; + $126 = HEAP32[$3>>2]|0; + $127 = (($126) - 1)|0; + $128 = ($125|0)<($127|0); + if (!($128)) { + break; } - $48 = $iOff; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (_i64Add(($50|0),($53|0),1020,0)|0); - $55 = tempRet0; - $56 = $5; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = ($55|0)<($61|0); - $63 = ($54>>>0)<=($58>>>0); - $64 = ($55|0)==($61|0); - $65 = $64 & $63; - $66 = $62 | $65; - if (!($66)) { - break L1; + $129 = HEAP32[$kk>>2]|0; + $130 = HEAP32[$nLeft>>2]|0; + $131 = ($129|0)<($130|0); + $132 = HEAP32[$1>>2]|0; + $133 = HEAP32[$kk>>2]|0; + $134 = HEAP32[$ii>>2]|0; + $135 = HEAP32[$aaSorted>>2]|0; + $136 = (($135) + ($134<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = (($137) + ($133<<2)|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$2>>2]|0; + $141 = (($140) + (($139*48)|0)|0); + if ($131) { + _cellUnion($132,$left,$141); + } else { + _cellUnion($132,$right,$141); } - $67 = $iOff; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (_i64Add(($69|0),($72|0),1020,0)|0); - $74 = tempRet0; - $75 = $iOff; - $76 = $75; - HEAP32[$76>>2] = $73; - $77 = (($75) + 4)|0; - $78 = $77; - HEAP32[$78>>2] = $74; - $79 = HEAP32[$pChunk>>2]|0; - $80 = HEAP32[$79>>2]|0; - HEAP32[$pChunk>>2] = $80; + $142 = HEAP32[$kk>>2]|0; + $143 = (($142) + 1)|0; + HEAP32[$kk>>2] = $143; } + $144 = HEAP32[$1>>2]|0; + $145 = (+_cellMargin($144,$left)); + $146 = +HEAPF64[$margin>>3]; + $147 = $146 + $145; + HEAPF64[$margin>>3] = $147; + $148 = HEAP32[$1>>2]|0; + $149 = (+_cellMargin($148,$right)); + $150 = +HEAPF64[$margin>>3]; + $151 = $150 + $149; + HEAPF64[$margin>>3] = $151; + $152 = HEAP32[$1>>2]|0; + $153 = (+_cellOverlap($152,$left,$right,1)); + HEAPF64[$overlap>>3] = $153; + $154 = HEAP32[$1>>2]|0; + $155 = (+_cellArea($154,$left)); + $156 = HEAP32[$1>>2]|0; + $157 = (+_cellArea($156,$right)); + $158 = $155 + $157; + HEAPF64[$area>>3] = $158; + $159 = HEAP32[$nLeft>>2]|0; + $160 = HEAP32[$1>>2]|0; + $161 = ((($160)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = (($162) - 4)|0; + $164 = HEAP32[$1>>2]|0; + $165 = ((($164)) + 22|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = (($163|0) / ($167|0))&-1; + $169 = (($168|0) / 3)&-1; + $170 = ($159|0)==($169|0); + if ($170) { + label = 23; + } else { + $171 = +HEAPF64[$overlap>>3]; + $172 = +HEAPF64[$fBestOverlap>>3]; + $173 = $171 < $172; + if ($173) { + label = 23; + } else { + $174 = +HEAPF64[$overlap>>3]; + $175 = +HEAPF64[$fBestOverlap>>3]; + $176 = $174 == $175; + if ($176) { + $177 = +HEAPF64[$area>>3]; + $178 = +HEAPF64[$fBestArea>>3]; + $179 = $177 < $178; + if ($179) { + label = 23; + } + } + } + } + if ((label|0) == 23) { + label = 0; + $180 = HEAP32[$nLeft>>2]|0; + HEAP32[$iBestLeft>>2] = $180; + $181 = +HEAPF64[$overlap>>3]; + HEAPF64[$fBestOverlap>>3] = $181; + $182 = +HEAPF64[$area>>3]; + HEAPF64[$fBestArea>>3] = $182; + } + $183 = HEAP32[$nLeft>>2]|0; + $184 = (($183) + 1)|0; + HEAP32[$nLeft>>2] = $184; + } + $185 = HEAP32[$ii>>2]|0; + $186 = ($185|0)==(0); + if ($186) { + label = 27; } else { - $81 = HEAP32[$p>>2]|0; - $82 = (($81) + 24|0); - $83 = (($82) + 8|0); - $84 = HEAP32[$83>>2]|0; - HEAP32[$pChunk>>2] = $84; + $187 = +HEAPF64[$margin>>3]; + $188 = +HEAPF64[$fBestMargin>>3]; + $189 = $187 < $188; + if ($189) { + label = 27; + } } - } while(0); - $85 = $5; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (___remdi3(($87|0),($90|0),1020,0)|0); - $92 = tempRet0; - HEAP32[$iChunkOffset>>2] = $91; + if ((label|0) == 27) { + label = 0; + $190 = HEAP32[$ii>>2]|0; + HEAP32[$iBestDim>>2] = $190; + $191 = +HEAPF64[$margin>>3]; + HEAPF64[$fBestMargin>>3] = $191; + $192 = HEAP32[$iBestLeft>>2]|0; + HEAP32[$iBestSplit>>2] = $192; + } + $193 = HEAP32[$ii>>2]|0; + $194 = (($193) + 1)|0; + HEAP32[$ii>>2] = $194; + } + $195 = HEAP32[$6>>2]|0; + $196 = HEAP32[$iBestDim>>2]|0; + $197 = HEAP32[$aaSorted>>2]|0; + $198 = (($197) + ($196<<2)|0); + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$2>>2]|0; + $202 = (($201) + (($200*48)|0)|0); + dest=$195; src=$202; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $203 = HEAP32[$7>>2]|0; + $204 = HEAP32[$iBestSplit>>2]|0; + $205 = HEAP32[$iBestDim>>2]|0; + $206 = HEAP32[$aaSorted>>2]|0; + $207 = (($206) + ($205<<2)|0); + $208 = HEAP32[$207>>2]|0; + $209 = (($208) + ($204<<2)|0); + $210 = HEAP32[$209>>2]|0; + $211 = HEAP32[$2>>2]|0; + $212 = (($211) + (($210*48)|0)|0); + dest=$203; src=$212; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$ii>>2] = 0; while(1) { - $93 = HEAP32[$iChunkOffset>>2]|0; - $94 = (1020 - ($93))|0; - HEAP32[$iSpace>>2] = $94; - $95 = HEAP32[$nRead>>2]|0; - $96 = HEAP32[$iChunkOffset>>2]|0; - $97 = (1020 - ($96))|0; - $98 = ($95|0)<($97|0); - if ($98) { - $99 = HEAP32[$nRead>>2]|0; - $102 = $99; - } else { - $100 = HEAP32[$iChunkOffset>>2]|0; - $101 = (1020 - ($100))|0; - $102 = $101; - } - HEAP32[$nCopy>>2] = $102; - $103 = HEAP32[$zOut>>2]|0; - $104 = HEAP32[$iChunkOffset>>2]|0; - $105 = HEAP32[$pChunk>>2]|0; - $106 = (($105) + 4|0); - $107 = (($106) + ($104)|0); - $108 = HEAP32[$nCopy>>2]|0; - _memcpy(($103|0),($107|0),($108|0))|0; - $109 = HEAP32[$nCopy>>2]|0; - $110 = HEAP32[$zOut>>2]|0; - $111 = (($110) + ($109)|0); - HEAP32[$zOut>>2] = $111; - $112 = HEAP32[$iSpace>>2]|0; - $113 = HEAP32[$nRead>>2]|0; - $114 = (($113) - ($112))|0; - HEAP32[$nRead>>2] = $114; - HEAP32[$iChunkOffset>>2] = 0; - $115 = HEAP32[$nRead>>2]|0; - $116 = ($115|0)>=(0); - if (!($116)) { - label = 13; - break; - } - $117 = HEAP32[$pChunk>>2]|0; - $118 = HEAP32[$117>>2]|0; - HEAP32[$pChunk>>2] = $118; - $119 = ($118|0)!=(0|0); - $120 = HEAP32[$nRead>>2]|0; - $121 = ($120|0)>(0); - $or$cond4 = $119 & $121; - if (!($or$cond4)) { - label = 13; + $213 = HEAP32[$ii>>2]|0; + $214 = HEAP32[$3>>2]|0; + $215 = ($213|0)<($214|0); + if (!($215)) { break; } - } - if ((label|0) == 13) { - $122 = $5; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$4>>2]|0; - $129 = ($128|0)<(0); - $130 = $129 << 31 >> 31; - $131 = (_i64Add(($124|0),($127|0),($128|0),($130|0))|0); - $132 = tempRet0; - $133 = HEAP32[$p>>2]|0; - $134 = (($133) + 24|0); - $135 = $134; - $136 = $135; - HEAP32[$136>>2] = $131; - $137 = (($135) + 4)|0; - $138 = $137; - HEAP32[$138>>2] = $132; - $139 = HEAP32[$pChunk>>2]|0; - $140 = HEAP32[$p>>2]|0; - $141 = (($140) + 24|0); - $142 = (($141) + 8|0); - HEAP32[$142>>2] = $139; - STACKTOP = sp;return 0; - } - return 0|0; + $216 = HEAP32[$ii>>2]|0; + $217 = HEAP32[$iBestSplit>>2]|0; + $218 = ($216|0)<($217|0); + $219 = HEAP32[$4>>2]|0; + $220 = HEAP32[$5>>2]|0; + $221 = $218 ? $219 : $220; + HEAP32[$pTarget>>2] = $221; + $222 = HEAP32[$ii>>2]|0; + $223 = HEAP32[$iBestSplit>>2]|0; + $224 = ($222|0)<($223|0); + $225 = HEAP32[$6>>2]|0; + $226 = HEAP32[$7>>2]|0; + $227 = $224 ? $225 : $226; + HEAP32[$pBbox>>2] = $227; + $228 = HEAP32[$ii>>2]|0; + $229 = HEAP32[$iBestDim>>2]|0; + $230 = HEAP32[$aaSorted>>2]|0; + $231 = (($230) + ($229<<2)|0); + $232 = HEAP32[$231>>2]|0; + $233 = (($232) + ($228<<2)|0); + $234 = HEAP32[$233>>2]|0; + $235 = HEAP32[$2>>2]|0; + $236 = (($235) + (($234*48)|0)|0); + HEAP32[$pCell>>2] = $236; + $237 = HEAP32[$1>>2]|0; + $238 = HEAP32[$pTarget>>2]|0; + $239 = HEAP32[$pCell>>2]|0; + (_nodeInsertCell($237,$238,$239)|0); + $240 = HEAP32[$1>>2]|0; + $241 = HEAP32[$pBbox>>2]|0; + $242 = HEAP32[$pCell>>2]|0; + _cellUnion($240,$241,$242); + $243 = HEAP32[$ii>>2]|0; + $244 = (($243) + 1)|0; + HEAP32[$ii>>2] = $244; + } + $245 = HEAP32[$aaSorted>>2]|0; + _sqlite3_free($245); + HEAP32[$0>>2] = 0; + $246 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($246|0); } -function _memjrnlWrite($pJfd,$zBuf,$iAmt,$0,$1) { - $pJfd = $pJfd|0; - $zBuf = $zBuf|0; - $iAmt = $iAmt|0; +function _updateMapping($pRtree,$0,$1,$pNode,$iHeight) { + $pRtree = $pRtree|0; $0 = $0|0; $1 = $1|0; + $pNode = $pNode|0; + $iHeight = $iHeight|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $iChunkOffset = 0, $iSpace = 0, $nWrite = 0, $p = 0, $pChunk = 0, $pNew = 0, $zWrite = 0, label = 0, sp = 0; + var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pChild = 0, $xSetMapping = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $6 = sp; - $p = sp + 32|0; - $nWrite = sp + 28|0; - $zWrite = sp + 24|0; - $pChunk = sp + 20|0; - $iChunkOffset = sp + 16|0; - $iSpace = sp + 12|0; - $pNew = sp + 8|0; - HEAP32[$3>>2] = $pJfd; - HEAP32[$4>>2] = $zBuf; - HEAP32[$5>>2] = $iAmt; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 24|0; + $3 = sp; + $4 = sp + 20|0; + $5 = sp + 16|0; + $xSetMapping = sp + 12|0; + $pChild = sp + 8|0; + HEAP32[$2>>2] = $pRtree; + $6 = $3; $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $11; - $12 = HEAP32[$5>>2]|0; - HEAP32[$nWrite>>2] = $12; - $13 = HEAP32[$4>>2]|0; - HEAP32[$zWrite>>2] = $13; - while(1) { - $14 = HEAP32[$nWrite>>2]|0; - $15 = ($14|0)>(0); - if (!($15)) { - label = 14; - break; - } - $16 = HEAP32[$p>>2]|0; - $17 = (($16) + 8|0); - $18 = (($17) + 8|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pChunk>>2] = $19; - $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 8|0); - $22 = $21; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (___remdi3(($24|0),($27|0),1020,0)|0); - $29 = tempRet0; - HEAP32[$iChunkOffset>>2] = $28; - $30 = HEAP32[$nWrite>>2]|0; - $31 = HEAP32[$iChunkOffset>>2]|0; - $32 = (1020 - ($31))|0; - $33 = ($30|0)<($32|0); - if ($33) { - $34 = HEAP32[$nWrite>>2]|0; - $37 = $34; - } else { - $35 = HEAP32[$iChunkOffset>>2]|0; - $36 = (1020 - ($35))|0; - $37 = $36; - } - HEAP32[$iSpace>>2] = $37; - $38 = HEAP32[$iChunkOffset>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = (_sqlite3_malloc(1024)|0); - HEAP32[$pNew>>2] = $40; - $41 = HEAP32[$pNew>>2]|0; - $42 = ($41|0)!=(0|0); - if (!($42)) { - label = 8; - break; - } - $43 = HEAP32[$pNew>>2]|0; - HEAP32[$43>>2] = 0; - $44 = HEAP32[$pChunk>>2]|0; - $45 = ($44|0)!=(0|0); - $46 = HEAP32[$pNew>>2]|0; - if ($45) { - $47 = HEAP32[$pChunk>>2]|0; - HEAP32[$47>>2] = $46; - } else { - $48 = HEAP32[$p>>2]|0; - $49 = (($48) + 4|0); - HEAP32[$49>>2] = $46; - } - $50 = HEAP32[$pNew>>2]|0; - $51 = HEAP32[$p>>2]|0; - $52 = (($51) + 8|0); - $53 = (($52) + 8|0); - HEAP32[$53>>2] = $50; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + HEAP32[$4>>2] = $pNode; + HEAP32[$5>>2] = $iHeight; + $10 = HEAP32[$5>>2]|0; + $11 = ($10|0)==(0); + $12 = $11 ? 11 : 12; + HEAP32[$xSetMapping>>2] = $12; + $13 = HEAP32[$5>>2]|0; + $14 = ($13|0)>(0); + if ($14) { + $15 = HEAP32[$2>>2]|0; + $16 = $3; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (_nodeHashLookup($15,$18,$21)|0); + HEAP32[$pChild>>2] = $22; + $23 = HEAP32[$pChild>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$pChild>>2]|0; + $27 = HEAP32[$26>>2]|0; + (_nodeRelease($25,$27)|0); + $28 = HEAP32[$4>>2]|0; + _nodeReference($28); + $29 = HEAP32[$4>>2]|0; + $30 = HEAP32[$pChild>>2]|0; + HEAP32[$30>>2] = $29; } - $54 = HEAP32[$iChunkOffset>>2]|0; - $55 = HEAP32[$p>>2]|0; - $56 = (($55) + 8|0); - $57 = (($56) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + 4|0); - $60 = (($59) + ($54)|0); - $61 = HEAP32[$zWrite>>2]|0; - $62 = HEAP32[$iSpace>>2]|0; - _memcpy(($60|0),($61|0),($62|0))|0; - $63 = HEAP32[$iSpace>>2]|0; - $64 = HEAP32[$zWrite>>2]|0; - $65 = (($64) + ($63)|0); - HEAP32[$zWrite>>2] = $65; - $66 = HEAP32[$iSpace>>2]|0; - $67 = HEAP32[$nWrite>>2]|0; - $68 = (($67) - ($66))|0; - HEAP32[$nWrite>>2] = $68; - $69 = HEAP32[$iSpace>>2]|0; - $70 = ($69|0)<(0); - $71 = $70 << 31 >> 31; - $72 = HEAP32[$p>>2]|0; - $73 = (($72) + 8|0); - $74 = $73; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (_i64Add(($76|0),($79|0),($69|0),($71|0))|0); - $81 = tempRet0; - $82 = $73; - $83 = $82; - HEAP32[$83>>2] = $80; - $84 = (($82) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = $81; - } - if ((label|0) == 8) { - HEAP32[$2>>2] = 3082; - $86 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($86|0); - } - else if ((label|0) == 14) { - HEAP32[$2>>2] = 0; - $86 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($86|0); } - return 0|0; + $31 = HEAP32[$xSetMapping>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = $3; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ((($39)) + 8|0); + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (FUNCTION_TABLE_iiiiii[$31 & 15]($32,$35,$38,$43,$46)|0); + STACKTOP = sp;return ($47|0); } -function _memjrnlTruncate($pJfd,$0,$1) { - $pJfd = $pJfd|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pChunk = 0, $pTmp = 0; - var label = 0, sp = 0; +function _SortByDimension($pRtree,$aIdx,$nIdx,$iDim,$aCell,$aSpare) { + $pRtree = $pRtree|0; + $aIdx = $aIdx|0; + $nIdx = $nIdx|0; + $iDim = $iDim|0; + $aCell = $aCell|0; + $aSpare = $aSpare|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0; + var $134 = 0.0, $135 = 0.0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, $aLeft = 0; + var $aRight = 0, $iLeft = 0, $iRight = 0, $nLeft = 0, $nRight = 0, $xleft1 = 0, $xleft2 = 0, $xright1 = 0, $xright2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp; - $p = sp + 16|0; - $pChunk = sp + 12|0; - $pTmp = sp + 8|0; - HEAP32[$2>>2] = $pJfd; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; + STACKTOP = STACKTOP + 80|0; + $0 = sp + 64|0; + $1 = sp + 68|0; + $2 = sp + 52|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 48|0; + $iLeft = sp + 32|0; + $iRight = sp + 60|0; + $nLeft = sp + 76|0; + $nRight = sp + 72|0; + $aLeft = sp + 44|0; + $aRight = sp + 56|0; + $xleft1 = sp + 16|0; + $xleft2 = sp; + $xright1 = sp + 8|0; + $xright2 = sp + 24|0; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $aIdx; + HEAP32[$2>>2] = $nIdx; + HEAP32[$3>>2] = $iDim; + HEAP32[$4>>2] = $aCell; + HEAP32[$5>>2] = $aSpare; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)>(1); + if (!($7)) { + STACKTOP = sp;return; + } + HEAP32[$iLeft>>2] = 0; + HEAP32[$iRight>>2] = 0; $8 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $8; - $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 4|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pChunk>>2] = $11; - while(1) { - $12 = HEAP32[$pChunk>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - break; + $9 = (($8|0) / 2)&-1; + HEAP32[$nLeft>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$nLeft>>2]|0; + $12 = (($10) - ($11))|0; + HEAP32[$nRight>>2] = $12; + $13 = HEAP32[$1>>2]|0; + HEAP32[$aLeft>>2] = $13; + $14 = HEAP32[$nLeft>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = (($15) + ($14<<2)|0); + HEAP32[$aRight>>2] = $16; + $17 = HEAP32[$0>>2]|0; + $18 = HEAP32[$aLeft>>2]|0; + $19 = HEAP32[$nLeft>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + _SortByDimension($17,$18,$19,$20,$21,$22); + $23 = HEAP32[$0>>2]|0; + $24 = HEAP32[$aRight>>2]|0; + $25 = HEAP32[$nRight>>2]|0; + $26 = HEAP32[$3>>2]|0; + $27 = HEAP32[$4>>2]|0; + $28 = HEAP32[$5>>2]|0; + _SortByDimension($23,$24,$25,$26,$27,$28); + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$aLeft>>2]|0; + $31 = HEAP32[$nLeft>>2]|0; + $32 = $31<<2; + _memcpy(($29|0),($30|0),($32|0))|0; + $33 = HEAP32[$5>>2]|0; + HEAP32[$aLeft>>2] = $33; + L4: while(1) { + $34 = HEAP32[$iLeft>>2]|0; + $35 = HEAP32[$nLeft>>2]|0; + $36 = ($34|0)<($35|0); + if (!($36)) { + $37 = HEAP32[$iRight>>2]|0; + $38 = HEAP32[$nRight>>2]|0; + $39 = ($37|0)<($38|0); + if (!($39)) { + break; + } } - $14 = HEAP32[$pChunk>>2]|0; - HEAP32[$pTmp>>2] = $14; - $15 = HEAP32[$pChunk>>2]|0; - $16 = HEAP32[$15>>2]|0; - HEAP32[$pChunk>>2] = $16; - $17 = HEAP32[$pTmp>>2]|0; - _sqlite3_free($17); + $40 = HEAP32[$0>>2]|0; + $41 = ((($40)) + 21|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = ($43|0)==(0); + $45 = HEAP32[$3>>2]|0; + $46 = $45<<1; + $47 = HEAP32[$iLeft>>2]|0; + $48 = HEAP32[$aLeft>>2]|0; + $49 = (($48) + ($47<<2)|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = (($51) + (($50*48)|0)|0); + $53 = ((($52)) + 8|0); + $54 = (($53) + ($46<<2)|0); + if ($44) { + $55 = +HEAPF32[$54>>2]; + $56 = $55; + $59 = $56; + } else { + $57 = HEAP32[$54>>2]|0; + $58 = (+($57|0)); + $59 = $58; + } + HEAPF64[$xleft1>>3] = $59; + $60 = HEAP32[$0>>2]|0; + $61 = ((($60)) + 21|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = ($63|0)==(0); + $65 = HEAP32[$3>>2]|0; + $66 = $65<<1; + $67 = (($66) + 1)|0; + $68 = HEAP32[$iLeft>>2]|0; + $69 = HEAP32[$aLeft>>2]|0; + $70 = (($69) + ($68<<2)|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$4>>2]|0; + $73 = (($72) + (($71*48)|0)|0); + $74 = ((($73)) + 8|0); + $75 = (($74) + ($67<<2)|0); + if ($64) { + $76 = +HEAPF32[$75>>2]; + $77 = $76; + $80 = $77; + } else { + $78 = HEAP32[$75>>2]|0; + $79 = (+($78|0)); + $80 = $79; + } + HEAPF64[$xleft2>>3] = $80; + $81 = HEAP32[$0>>2]|0; + $82 = ((($81)) + 21|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = ($84|0)==(0); + $86 = HEAP32[$3>>2]|0; + $87 = $86<<1; + $88 = HEAP32[$iRight>>2]|0; + $89 = HEAP32[$aRight>>2]|0; + $90 = (($89) + ($88<<2)|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$4>>2]|0; + $93 = (($92) + (($91*48)|0)|0); + $94 = ((($93)) + 8|0); + $95 = (($94) + ($87<<2)|0); + if ($85) { + $96 = +HEAPF32[$95>>2]; + $97 = $96; + $100 = $97; + } else { + $98 = HEAP32[$95>>2]|0; + $99 = (+($98|0)); + $100 = $99; + } + HEAPF64[$xright1>>3] = $100; + $101 = HEAP32[$0>>2]|0; + $102 = ((($101)) + 21|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = ($104|0)==(0); + $106 = HEAP32[$3>>2]|0; + $107 = $106<<1; + $108 = (($107) + 1)|0; + $109 = HEAP32[$iRight>>2]|0; + $110 = HEAP32[$aRight>>2]|0; + $111 = (($110) + ($109<<2)|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$4>>2]|0; + $114 = (($113) + (($112*48)|0)|0); + $115 = ((($114)) + 8|0); + $116 = (($115) + ($108<<2)|0); + if ($105) { + $117 = +HEAPF32[$116>>2]; + $118 = $117; + $121 = $118; + } else { + $119 = HEAP32[$116>>2]|0; + $120 = (+($119|0)); + $121 = $120; + } + HEAPF64[$xright2>>3] = $121; + $122 = HEAP32[$iLeft>>2]|0; + $123 = HEAP32[$nLeft>>2]|0; + $124 = ($122|0)!=($123|0); + do { + if ($124) { + $125 = HEAP32[$iRight>>2]|0; + $126 = HEAP32[$nRight>>2]|0; + $127 = ($125|0)==($126|0); + if (!($127)) { + $128 = +HEAPF64[$xleft1>>3]; + $129 = +HEAPF64[$xright1>>3]; + $130 = $128 < $129; + if (!($130)) { + $131 = +HEAPF64[$xleft1>>3]; + $132 = +HEAPF64[$xright1>>3]; + $133 = $131 == $132; + if (!($133)) { + break; + } + $134 = +HEAPF64[$xleft2>>3]; + $135 = +HEAPF64[$xright2>>3]; + $136 = $134 < $135; + if (!($136)) { + break; + } + } + } + $137 = HEAP32[$iLeft>>2]|0; + $138 = HEAP32[$aLeft>>2]|0; + $139 = (($138) + ($137<<2)|0); + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$iLeft>>2]|0; + $142 = HEAP32[$iRight>>2]|0; + $143 = (($141) + ($142))|0; + $144 = HEAP32[$1>>2]|0; + $145 = (($144) + ($143<<2)|0); + HEAP32[$145>>2] = $140; + $146 = HEAP32[$iLeft>>2]|0; + $147 = (($146) + 1)|0; + HEAP32[$iLeft>>2] = $147; + continue L4; + } + } while(0); + $148 = HEAP32[$iRight>>2]|0; + $149 = HEAP32[$aRight>>2]|0; + $150 = (($149) + ($148<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = HEAP32[$iLeft>>2]|0; + $153 = HEAP32[$iRight>>2]|0; + $154 = (($152) + ($153))|0; + $155 = HEAP32[$1>>2]|0; + $156 = (($155) + ($154<<2)|0); + HEAP32[$156>>2] = $151; + $157 = HEAP32[$iRight>>2]|0; + $158 = (($157) + 1)|0; + HEAP32[$iRight>>2] = $158; } - $18 = HEAP32[$2>>2]|0; - _sqlite3MemJournalOpen($18); - STACKTOP = sp;return 0; -} -function _memjrnlSync($NotUsed,$NotUsed2) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; - STACKTOP = sp;return 0; -} -function _memjrnlFileSize($pJfd,$pSize) { - $pJfd = $pJfd|0; - $pSize = $pSize|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pJfd; - HEAP32[$1>>2] = $pSize; - $2 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = (($3) + 8|0); - $5 = $4; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = $11; - $13 = $12; - HEAP32[$13>>2] = $7; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $10; - STACKTOP = sp;return 0; -} -function _sqlite3MemJournalOpen($pJfd) { - $pJfd = $pJfd|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pJfd; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = (_sqlite3MemJournalSize()|0); - _memset(($2|0),0,($3|0))|0; - $4 = HEAP32[$p>>2]|0; - HEAP32[$4>>2] = 4272; STACKTOP = sp;return; } -function _sqlite3MemJournalSize() { - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = sp;return 40; -} -function _sqlite3PagerSavepoint($pPager,$op,$iSavepoint) { - $pPager = $pPager|0; - $op = $op|0; - $iSavepoint = $iSavepoint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $ii = 0, $nNew = 0, $pSavepoint = 0; - var $rc = 0, label = 0, sp = 0; +function _cellMargin($pRtree,$p) { + $pRtree = $pRtree|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, $margin = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $margin = sp; $ii = sp + 8|0; - $nNew = sp + 4|0; - $pSavepoint = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $iSavepoint; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 40|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$rc>>2] = $5; - $6 = HEAP32[$rc>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); - } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 96|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); - } - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ($14|0)==(1); - $16 = $15 ? 0 : 1; - $17 = (($13) + ($16))|0; - HEAP32[$nNew>>2] = $17; - $18 = HEAP32[$nNew>>2]|0; - HEAP32[$ii>>2] = $18; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $p; + HEAPF64[$margin>>3] = 0.0; + HEAP32[$ii>>2] = 0; while(1) { - $19 = HEAP32[$ii>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 96|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)<($22|0); - if (!($23)) { + $2 = HEAP32[$ii>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6<<1; + $8 = ($2|0)<($7|0); + if (!($8)) { break; } - $24 = HEAP32[$ii>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 92|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + (($24*48)|0)|0); - $29 = (($28) + 16|0); - $30 = HEAP32[$29>>2]|0; - _sqlite3BitvecDestroy($30); - $31 = HEAP32[$ii>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$ii>>2] = $32; - } - $33 = HEAP32[$nNew>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 96|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$1>>2]|0; - $37 = ($36|0)==(1); - if (!($37)) { - $56 = HEAP32[$0>>2]|0; - $57 = (_pagerUseWal($56)|0); - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 64|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)!=(0|0); - if (!($63)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); - } - } - $64 = HEAP32[$nNew>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - $72 = 0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 21|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(0); + $14 = HEAP32[$ii>>2]|0; + $15 = (($14) + 1)|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 8|0); + $18 = (($17) + ($15<<2)|0); + if ($13) { + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $37 = $20; } else { - $66 = HEAP32[$nNew>>2]|0; - $67 = (($66) - 1)|0; - $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 92|0); - $70 = HEAP32[$69>>2]|0; - $71 = (($70) + (($67*48)|0)|0); - $72 = $71; + $21 = HEAP32[$18>>2]|0; + $22 = (+($21|0)); + $37 = $22; } - HEAP32[$pSavepoint>>2] = $72; - $73 = HEAP32[$0>>2]|0; - $74 = HEAP32[$pSavepoint>>2]|0; - $75 = (_pagerPlaybackSavepoint($73,$74)|0); - HEAP32[$rc>>2] = $75; - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); - } - $38 = HEAP32[$nNew>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); - } - $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 68|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - if (!($44)) { - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); - } - $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 68|0); - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3IsMemJournal($47)|0); - $49 = ($48|0)!=(0); - if ($49) { - $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 68|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3OsTruncate($52,0,0)|0); - HEAP32[$rc>>2] = $53; - } - $54 = HEAP32[$0>>2]|0; - $55 = (($54) + 52|0); - HEAP32[$55>>2] = 0; - $76 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($76|0); -} -function _pager_playback($pPager,$isHot) { - $pPager = $pPager|0; - $isHot = $isHot|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $mxPg = 0, $nPlayback = 0, $nRec = 0, $needPagerReset = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pVfs = 0, $rc = 0, $res = 0, $szJ = 0, $u = 0; - var $vararg_buffer = 0, $vararg_ptr8 = 0, $zMaster = 0, label = 0, sp = 0; + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 21|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26|0)==(0); + $28 = HEAP32[$ii>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 8|0); + $31 = (($30) + ($28<<2)|0); + if ($27) { + $32 = +HEAPF32[$31>>2]; + $33 = $32; + $38 = $33; + } else { + $34 = HEAP32[$31>>2]|0; + $35 = (+($34|0)); + $38 = $35; + } + $36 = $37 - $38; + $39 = +HEAPF64[$margin>>3]; + $40 = $39 + $36; + HEAPF64[$margin>>3] = $40; + $41 = HEAP32[$ii>>2]|0; + $42 = (($41) + 2)|0; + HEAP32[$ii>>2] = $42; + } + $43 = +HEAPF64[$margin>>3]; + STACKTOP = sp;return (+$43); +} +function _cellOverlap($pRtree,$p,$aCell,$nCell) { + $pRtree = $pRtree|0; + $p = $p|0; + $aCell = $aCell|0; + $nCell = $nCell|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0; + var $134 = 0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0, $139 = 0, $14 = 0, $140 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; + var $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0; + var $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0; + var $99 = 0.0, $ii = 0, $jj = 0, $o = 0, $overlap = 0, $x1 = 0, $x2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $pVfs = sp + 48|0; - $szJ = sp; - $nRec = sp + 44|0; - $u = sp + 40|0; - $mxPg = sp + 36|0; - $rc = sp + 32|0; - $res = sp + 28|0; - $zMaster = sp + 24|0; - $needPagerReset = sp + 20|0; - $nPlayback = sp + 16|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $isHot; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pVfs>>2] = $3; - HEAP32[$mxPg>>2] = 0; - HEAP32[$res>>2] = 1; - HEAP32[$zMaster>>2] = 0; - HEAP32[$nPlayback>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 64|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3OsFileSize($6,$szJ)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - L1: do { - if (!($9)) { - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 200|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$zMaster>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 64|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$zMaster>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 1)|0; - $22 = (_readMasterJournal($15,$16,$21)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)==(0); - if ($24) { - $25 = HEAP32[$zMaster>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$pVfs>>2]|0; - $30 = HEAP32[$zMaster>>2]|0; - $31 = (_sqlite3OsAccess($29,$30,0,$res)|0); - HEAP32[$rc>>2] = $31; - } + $0 = sp + 48|0; + $1 = sp + 32|0; + $2 = sp + 36|0; + $3 = sp + 40|0; + $ii = sp + 52|0; + $overlap = sp + 24|0; + $jj = sp + 44|0; + $o = sp + 16|0; + $x1 = sp; + $x2 = sp + 8|0; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $aCell; + HEAP32[$3>>2] = $nCell; + HEAPF64[$overlap>>3] = 0.0; + HEAP32[$ii>>2] = 0; + while(1) { + $4 = HEAP32[$ii>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = ($4|0)<($5|0); + if (!($6)) { + break; + } + HEAPF64[$o>>3] = 1.0; + HEAP32[$jj>>2] = 0; + while(1) { + $7 = HEAP32[$jj>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 20|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11<<1; + $13 = ($7|0)<($12|0); + if (!($13)) { + break; } - HEAP32[$zMaster>>2] = 0; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$res>>2]|0; - $35 = ($34|0)!=(0); - $or$cond = $33 & $35; - if ($or$cond) { - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 72|0); - $38 = $37; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 21|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)==(0); + $19 = HEAP32[$jj>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 8|0); + $22 = (($21) + ($19<<2)|0); + if ($18) { + $23 = +HEAPF32[$22>>2]; + $24 = $23; + $43 = $24; + } else { + $25 = HEAP32[$22>>2]|0; + $26 = (+($25|0)); + $43 = $26; + } + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 21|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = ($30|0)==(0); + $32 = HEAP32[$jj>>2]|0; + $33 = HEAP32[$ii>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = (($34) + (($33*48)|0)|0); + $36 = ((($35)) + 8|0); + $37 = (($36) + ($32<<2)|0); + if ($31) { + $38 = +HEAPF32[$37>>2]; $39 = $38; - HEAP32[$39>>2] = 0; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = 0; - $42 = HEAP32[$1>>2]|0; - HEAP32[$needPagerReset>>2] = $42; - L8: while(1) { - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = $szJ; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (_readJournalHdr($43,$44,$47,$50,$nRec,$mxPg)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - if ($53) { - label = 8; + $44 = $39; + } else { + $40 = HEAP32[$37>>2]|0; + $41 = (+($40|0)); + $44 = $41; + } + $42 = $43 > $44; + $45 = HEAP32[$0>>2]|0; + $46 = ((($45)) + 21|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = ($48|0)==(0); + $50 = HEAP32[$jj>>2]|0; + do { + if ($42) { + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 8|0); + $53 = (($52) + ($50<<2)|0); + if ($49) { + $54 = +HEAPF32[$53>>2]; + $55 = $54; + $67 = $55; + break; + } else { + $56 = HEAP32[$53>>2]|0; + $57 = (+($56|0)); + $67 = $57; break; } - $56 = HEAP32[$nRec>>2]|0; - $57 = ($56|0)==(-1); - if ($57) { - $58 = $szJ; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 148|0); - $66 = HEAP32[$65>>2]|0; - $67 = (_i64Subtract(($60|0),($63|0),($66|0),0)|0); - $68 = tempRet0; - $69 = HEAP32[$0>>2]|0; - $70 = (($69) + 152|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + 8)|0; - $73 = ($72|0)<(0); - $74 = $73 << 31 >> 31; - $75 = (___divdi3(($67|0),($68|0),($72|0),($74|0))|0); - $76 = tempRet0; - HEAP32[$nRec>>2] = $75; - } - $77 = HEAP32[$nRec>>2]|0; - $78 = ($77|0)!=(0); - $79 = HEAP32[$1>>2]|0; - $80 = ($79|0)!=(0); - $or$cond3 = $78 | $80; - if (!($or$cond3)) { - $81 = HEAP32[$0>>2]|0; - $82 = (($81) + 80|0); - $83 = $82; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (($83) + 4)|0; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$0>>2]|0; - $90 = (($89) + 148|0); - $91 = HEAP32[$90>>2]|0; - $92 = (_i64Add(($85|0),($88|0),($91|0),0)|0); - $93 = tempRet0; - $94 = HEAP32[$0>>2]|0; - $95 = (($94) + 72|0); - $96 = $95; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (($96) + 4)|0; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = ($92|0)==($98|0); - $103 = ($93|0)==($101|0); - $104 = $102 & $103; - if ($104) { - $105 = $szJ; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$0>>2]|0; - $112 = (($111) + 72|0); - $113 = $112; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (($113) + 4)|0; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (_i64Subtract(($107|0),($110|0),($115|0),($118|0))|0); - $120 = tempRet0; - $121 = HEAP32[$0>>2]|0; - $122 = (($121) + 152|0); - $123 = HEAP32[$122>>2]|0; - $124 = (($123) + 8)|0; - $125 = ($124|0)<(0); - $126 = $125 << 31 >> 31; - $127 = (___divdi3(($119|0),($120|0),($124|0),($126|0))|0); - $128 = tempRet0; - HEAP32[$nRec>>2] = $127; - } - } - $129 = HEAP32[$0>>2]|0; - $130 = (($129) + 72|0); - $131 = $130; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = HEAP32[$0>>2]|0; - $138 = (($137) + 148|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($133|0)==($139|0); - $141 = ($136|0)==(0); - $142 = $140 & $141; - if ($142) { - $143 = HEAP32[$0>>2]|0; - $144 = HEAP32[$mxPg>>2]|0; - $145 = (_pager_truncate($143,$144)|0); - HEAP32[$rc>>2] = $145; - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)!=(0); - if ($147) { - break L1; - } - $148 = HEAP32[$mxPg>>2]|0; - $149 = HEAP32[$0>>2]|0; - $150 = (($149) + 24|0); - HEAP32[$150>>2] = $148; - } - HEAP32[$u>>2] = 0; - while(1) { - $151 = HEAP32[$u>>2]|0; - $152 = HEAP32[$nRec>>2]|0; - $153 = ($151>>>0)<($152>>>0); - if (!($153)) { - continue L8; - } - $154 = HEAP32[$needPagerReset>>2]|0; - $155 = ($154|0)!=(0); - if ($155) { - $156 = HEAP32[$0>>2]|0; - _pager_reset($156); - HEAP32[$needPagerReset>>2] = 0; - } - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$0>>2]|0; - $159 = (($158) + 72|0); - $160 = (_pager_playback_one_page($157,$159,0,1,0)|0); - HEAP32[$rc>>2] = $160; - $161 = HEAP32[$rc>>2]|0; - $162 = ($161|0)==(0); - if (!($162)) { - break; - } - $163 = HEAP32[$nPlayback>>2]|0; - $164 = (($163) + 1)|0; - HEAP32[$nPlayback>>2] = $164; - $165 = HEAP32[$u>>2]|0; - $166 = (($165) + 1)|0; - HEAP32[$u>>2] = $166; - } - $167 = HEAP32[$rc>>2]|0; - $168 = ($167|0)==(101); - if (!($168)) { - label = 26; + } else { + $58 = HEAP32[$ii>>2]|0; + $59 = HEAP32[$2>>2]|0; + $60 = (($59) + (($58*48)|0)|0); + $61 = ((($60)) + 8|0); + $62 = (($61) + ($50<<2)|0); + if ($49) { + $63 = +HEAPF32[$62>>2]; + $64 = $63; + $67 = $64; + break; + } else { + $65 = HEAP32[$62>>2]|0; + $66 = (+($65|0)); + $67 = $66; break; } - $169 = $szJ; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = (($169) + 4)|0; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$0>>2]|0; - $176 = (($175) + 72|0); - $177 = $176; - $178 = $177; - HEAP32[$178>>2] = $171; - $179 = (($177) + 4)|0; - $180 = $179; - HEAP32[$180>>2] = $174; } - if ((label|0) == 8) { - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(101); - if (!($55)) { + } while(0); + HEAPF64[$x1>>3] = $67; + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 21|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70&255; + $72 = ($71|0)==(0); + $73 = HEAP32[$jj>>2]|0; + $74 = (($73) + 1)|0; + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 8|0); + $77 = (($76) + ($74<<2)|0); + if ($72) { + $78 = +HEAPF32[$77>>2]; + $79 = $78; + $99 = $79; + } else { + $80 = HEAP32[$77>>2]|0; + $81 = (+($80|0)); + $99 = $81; + } + $82 = HEAP32[$0>>2]|0; + $83 = ((($82)) + 21|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = ($85|0)==(0); + $87 = HEAP32[$jj>>2]|0; + $88 = (($87) + 1)|0; + $89 = HEAP32[$ii>>2]|0; + $90 = HEAP32[$2>>2]|0; + $91 = (($90) + (($89*48)|0)|0); + $92 = ((($91)) + 8|0); + $93 = (($92) + ($88<<2)|0); + if ($86) { + $94 = +HEAPF32[$93>>2]; + $95 = $94; + $100 = $95; + } else { + $96 = HEAP32[$93>>2]|0; + $97 = (+($96|0)); + $100 = $97; + } + $98 = $99 < $100; + $101 = HEAP32[$0>>2]|0; + $102 = ((($101)) + 21|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = ($104|0)==(0); + $106 = HEAP32[$jj>>2]|0; + $107 = (($106) + 1)|0; + do { + if ($98) { + $108 = HEAP32[$1>>2]|0; + $109 = ((($108)) + 8|0); + $110 = (($109) + ($107<<2)|0); + if ($105) { + $111 = +HEAPF32[$110>>2]; + $112 = $111; + $124 = $112; + break; + } else { + $113 = HEAP32[$110>>2]|0; + $114 = (+($113|0)); + $124 = $114; break; } - HEAP32[$rc>>2] = 0; - break; - } - else if ((label|0) == 26) { - $181 = HEAP32[$rc>>2]|0; - $182 = ($181|0)==(522); - if (!($182)) { + } else { + $115 = HEAP32[$ii>>2]|0; + $116 = HEAP32[$2>>2]|0; + $117 = (($116) + (($115*48)|0)|0); + $118 = ((($117)) + 8|0); + $119 = (($118) + ($107<<2)|0); + if ($105) { + $120 = +HEAPF32[$119>>2]; + $121 = $120; + $124 = $121; + break; + } else { + $122 = HEAP32[$119>>2]|0; + $123 = (+($122|0)); + $124 = $123; break; } - HEAP32[$rc>>2] = 0; - break; } + } while(0); + HEAPF64[$x2>>3] = $124; + $125 = +HEAPF64[$x2>>3]; + $126 = +HEAPF64[$x1>>3]; + $127 = $125 < $126; + if ($127) { + label = 32; + break; } + $128 = +HEAPF64[$o>>3]; + $129 = +HEAPF64[$x2>>3]; + $130 = +HEAPF64[$x1>>3]; + $131 = $129 - $130; + $132 = $128 * $131; + HEAPF64[$o>>3] = $132; + $133 = HEAP32[$jj>>2]|0; + $134 = (($133) + 2)|0; + HEAP32[$jj>>2] = $134; + } + if ((label|0) == 32) { + label = 0; + HEAPF64[$o>>3] = 0.0; } - } while(0); - $183 = HEAP32[$0>>2]|0; - $184 = (($183) + 12|0); - $185 = HEAP8[$184>>0]|0; - $186 = HEAP32[$0>>2]|0; - $187 = (($186) + 18|0); - HEAP8[$187>>0] = $185; - $188 = HEAP32[$rc>>2]|0; - $189 = ($188|0)==(0); - if ($189) { - $190 = HEAP32[$0>>2]|0; - $191 = (($190) + 200|0); - $192 = HEAP32[$191>>2]|0; - HEAP32[$zMaster>>2] = $192; - $193 = HEAP32[$0>>2]|0; - $194 = (($193) + 64|0); - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$zMaster>>2]|0; - $197 = HEAP32[$0>>2]|0; - $198 = HEAP32[$197>>2]|0; - $199 = (($198) + 8|0); - $200 = HEAP32[$199>>2]|0; - $201 = (($200) + 1)|0; - $202 = (_readMasterJournal($195,$196,$201)|0); - HEAP32[$rc>>2] = $202; + $135 = +HEAPF64[$o>>3]; + $136 = +HEAPF64[$overlap>>3]; + $137 = $136 + $135; + HEAPF64[$overlap>>3] = $137; + $138 = HEAP32[$ii>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$ii>>2] = $139; } - $203 = HEAP32[$rc>>2]|0; - $204 = ($203|0)==(0); + $140 = +HEAPF64[$overlap>>3]; + STACKTOP = sp;return (+$140); +} +function _cellArea($pRtree,$p) { + $pRtree = $pRtree|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0.0, $area = 0, $ii = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $area = sp; + $ii = sp + 8|0; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $p; + HEAPF64[$area>>3] = 1.0; + HEAP32[$ii>>2] = 0; + while(1) { + $2 = HEAP32[$ii>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6<<1; + $8 = ($2|0)<($7|0); + $9 = +HEAPF64[$area>>3]; + if (!($8)) { + break; + } + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 21|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)==(0); + $15 = HEAP32[$ii>>2]|0; + $16 = (($15) + 1)|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 8|0); + $19 = (($18) + ($16<<2)|0); + if ($14) { + $20 = +HEAPF32[$19>>2]; + $21 = $20; + $38 = $21; + } else { + $22 = HEAP32[$19>>2]|0; + $23 = (+($22|0)); + $38 = $23; + } + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 21|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ($27|0)==(0); + $29 = HEAP32[$ii>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 8|0); + $32 = (($31) + ($29<<2)|0); + if ($28) { + $33 = +HEAPF32[$32>>2]; + $34 = $33; + $39 = $34; + } else { + $35 = HEAP32[$32>>2]|0; + $36 = (+($35|0)); + $39 = $36; + } + $37 = $38 - $39; + $40 = $9 * $37; + HEAPF64[$area>>3] = $40; + $41 = HEAP32[$ii>>2]|0; + $42 = (($41) + 2)|0; + HEAP32[$ii>>2] = $42; + } + STACKTOP = sp;return (+$9); +} +function _nodeAcquire($pRtree,$0,$1,$pParent,$ppNode) { + $pRtree = $pRtree|0; + $0 = $0|0; + $1 = $1|0; + $pParent = $pParent|0; + $ppNode = $ppNode|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $pNode = 0, $rc = 0; + var $rc2 = 0, $zBlob = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 28|0; + $3 = sp + 12|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 36|0; + $rc = sp + 8|0; + $rc2 = sp + 16|0; + $pNode = sp + 32|0; + $zBlob = sp + 20|0; + HEAP32[$3>>2] = $pRtree; + $7 = $4; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + HEAP32[$5>>2] = $pParent; + HEAP32[$6>>2] = $ppNode; + HEAP32[$rc2>>2] = 0; + $11 = HEAP32[$3>>2]|0; + $12 = $4; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (_nodeHashLookup($11,$14,$17)|0); + HEAP32[$pNode>>2] = $18; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$5>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$pNode>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + $25 = HEAP32[$5>>2]|0; + _nodeReference($25); + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$pNode>>2]|0; + HEAP32[$27>>2] = $26; + } + } + $28 = HEAP32[$pNode>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$29>>2] = $31; + $32 = HEAP32[$pNode>>2]|0; + $33 = HEAP32[$6>>2]|0; + HEAP32[$33>>2] = $32; + HEAP32[$2>>2] = 0; + $157 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($157|0); + } + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 56|0); + $36 = HEAP32[$35>>2]|0; + $37 = $4; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + (_sqlite3_bind_int64($36,1,$39,$42)|0); + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 56|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3_step($45)|0); + HEAP32[$rc>>2] = $46; + $47 = HEAP32[$rc>>2]|0; + $48 = ($47|0)==(100); do { - if ($204) { - $205 = HEAP32[$0>>2]|0; - $206 = (($205) + 16|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $209 = ($208|0)>=(4); - if (!($209)) { - $210 = HEAP32[$0>>2]|0; - $211 = (($210) + 16|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $214 = ($213|0)==(0); - if (!($214)) { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 56|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3_column_blob($51,0)|0); + HEAP32[$zBlob>>2] = $52; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 56|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_sqlite3_column_bytes($58,0)|0); + $60 = ($55|0)==($59|0); + if ($60) { + $61 = HEAP32[$3>>2]|0; + $62 = ((($61)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = (32 + ($63))|0; + $65 = (_sqlite3_malloc($64)|0); + HEAP32[$pNode>>2] = $65; + $66 = HEAP32[$pNode>>2]|0; + $67 = ($66|0)!=(0|0); + if ($67) { + $68 = HEAP32[$5>>2]|0; + $69 = HEAP32[$pNode>>2]|0; + HEAP32[$69>>2] = $68; + $70 = HEAP32[$pNode>>2]|0; + $71 = ((($70)) + 32|0); + $72 = HEAP32[$pNode>>2]|0; + $73 = ((($72)) + 24|0); + HEAP32[$73>>2] = $71; + $74 = HEAP32[$pNode>>2]|0; + $75 = ((($74)) + 16|0); + HEAP32[$75>>2] = 1; + $76 = $4; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$pNode>>2]|0; + $83 = ((($82)) + 8|0); + $84 = $83; + $85 = $84; + HEAP32[$85>>2] = $78; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = $81; + $88 = HEAP32[$pNode>>2]|0; + $89 = ((($88)) + 20|0); + HEAP32[$89>>2] = 0; + $90 = HEAP32[$pNode>>2]|0; + $91 = ((($90)) + 28|0); + HEAP32[$91>>2] = 0; + $92 = HEAP32[$pNode>>2]|0; + $93 = ((($92)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$zBlob>>2]|0; + $96 = HEAP32[$3>>2]|0; + $97 = ((($96)) + 16|0); + $98 = HEAP32[$97>>2]|0; + _memcpy(($94|0),($95|0),($98|0))|0; + $99 = HEAP32[$5>>2]|0; + _nodeReference($99); + break; + } else { + HEAP32[$rc2>>2] = 7; break; } } - $215 = HEAP32[$0>>2]|0; - $216 = (_sqlite3PagerSync($215,0)|0); - HEAP32[$rc>>2] = $216; } } while(0); - $217 = HEAP32[$rc>>2]|0; - $218 = ($217|0)==(0); - if ($218) { - $219 = HEAP32[$0>>2]|0; - $220 = HEAP32[$zMaster>>2]|0; - $221 = HEAP8[$220>>0]|0; - $222 = $221 << 24 >> 24; - $223 = ($222|0)!=(0); - $224 = $223&1; - $225 = (_pager_end_transaction($219,$224,0)|0); - HEAP32[$rc>>2] = $225; + $100 = HEAP32[$3>>2]|0; + $101 = ((($100)) + 56|0); + $102 = HEAP32[$101>>2]|0; + $103 = (_sqlite3_reset($102)|0); + HEAP32[$rc>>2] = $103; + $104 = HEAP32[$rc>>2]|0; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $106; } - $226 = HEAP32[$rc>>2]|0; - $227 = ($226|0)==(0); - if ($227) { - $228 = HEAP32[$zMaster>>2]|0; - $229 = HEAP8[$228>>0]|0; - $230 = $229 << 24 >> 24; - $231 = ($230|0)!=(0); - $232 = HEAP32[$res>>2]|0; - $233 = ($232|0)!=(0); - $or$cond5 = $231 & $233; - if ($or$cond5) { - $234 = HEAP32[$0>>2]|0; - $235 = HEAP32[$zMaster>>2]|0; - $236 = (_pager_delmaster($234,$235)|0); - HEAP32[$rc>>2] = $236; + $107 = HEAP32[$pNode>>2]|0; + $108 = ($107|0)!=(0|0); + $109 = $4; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = ($111|0)==(1); + $116 = ($114|0)==(0); + $117 = $115 & $116; + $or$cond = $108 & $117; + if ($or$cond) { + $118 = HEAP32[$pNode>>2]|0; + $119 = ((($118)) + 24|0); + $120 = HEAP32[$119>>2]|0; + $121 = (_readInt16($120)|0); + $122 = HEAP32[$3>>2]|0; + $123 = ((($122)) + 24|0); + HEAP32[$123>>2] = $121; + $124 = HEAP32[$3>>2]|0; + $125 = ((($124)) + 24|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126|0)>(40); + if ($127) { + HEAP32[$rc>>2] = 267; } } - $237 = HEAP32[$1>>2]|0; - $238 = ($237|0)!=(0); - $239 = HEAP32[$nPlayback>>2]|0; - $240 = ($239|0)!=(0); - $or$cond7 = $238 & $240; - if (!($or$cond7)) { - $245 = HEAP32[$0>>2]|0; - _setSectorSize($245); - $246 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($246|0); - } - $241 = HEAP32[$nPlayback>>2]|0; - $242 = HEAP32[$0>>2]|0; - $243 = (($242) + 172|0); - $244 = HEAP32[$243>>2]|0; - HEAP32[$vararg_buffer>>2] = $241; - $vararg_ptr8 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr8>>2] = $244; - _sqlite3_log(539,4352,$vararg_buffer); - $245 = HEAP32[$0>>2]|0; - _setSectorSize($245); - $246 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($246|0); -} -function _readMasterJournal($pJrnl,$zMaster,$nMaster) { - $pJrnl = $pJrnl|0; - $zMaster = $zMaster|0; - $nMaster = $nMaster|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $aMagic = 0, $cksum = 0, $len = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0; - var $szJ = 0, $u = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $rc = sp + 20|0; - $len = sp + 16|0; - $szJ = sp; - $cksum = sp + 12|0; - $u = sp + 8|0; - $aMagic = sp + 40|0; - HEAP32[$1>>2] = $pJrnl; - HEAP32[$2>>2] = $zMaster; - HEAP32[$3>>2] = $nMaster; - $4 = HEAP32[$2>>2]|0; - HEAP8[$4>>0] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3OsFileSize($5,$szJ)|0); - HEAP32[$rc>>2] = $6; - $7 = (0)!=($6|0); - $8 = $szJ; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)<(0); - $15 = ($10>>>0)<(16); - $16 = ($13|0)==(0); - $17 = $16 & $15; - $18 = $14 | $17; - $or$cond = $7 | $18; - if (!($or$cond)) { - $19 = HEAP32[$1>>2]|0; - $20 = $szJ; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (_i64Subtract(($22|0),($25|0),16,0)|0); - $27 = tempRet0; - $28 = (_read32bits($19,$26,$27,$len)|0); - HEAP32[$rc>>2] = $28; - $29 = (0)!=($28|0); - if (!($29)) { - $30 = HEAP32[$len>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ($30>>>0)>=($31>>>0); - $33 = HEAP32[$len>>2]|0; - $34 = ($33|0)==(0); - $or$cond3 = $32 | $34; - if (!($or$cond3)) { - $35 = HEAP32[$1>>2]|0; - $36 = $szJ; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (_i64Subtract(($38|0),($41|0),12,0)|0); - $43 = tempRet0; - $44 = (_read32bits($35,$42,$43,$cksum)|0); - HEAP32[$rc>>2] = $44; - $45 = (0)!=($44|0); - if (!($45)) { - $46 = HEAP32[$1>>2]|0; - $47 = $szJ; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (_i64Subtract(($49|0),($52|0),8,0)|0); - $54 = tempRet0; - $55 = (_sqlite3OsRead($46,$aMagic,8,$53,$54)|0); - HEAP32[$rc>>2] = $55; - $56 = (0)!=($55|0); - if (!($56)) { - $57 = (_memcmp($aMagic,4384,8)|0); - $58 = ($57|0)!=(0); - if (!($58)) { - $59 = HEAP32[$1>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = HEAP32[$len>>2]|0; - $62 = $szJ; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Subtract(($64|0),($67|0),16,0)|0); - $69 = tempRet0; - $70 = HEAP32[$len>>2]|0; - $71 = (_i64Subtract(($68|0),($69|0),($70|0),0)|0); - $72 = tempRet0; - $73 = (_sqlite3OsRead($59,$60,$61,$71,$72)|0); - HEAP32[$rc>>2] = $73; - $74 = (0)!=($73|0); - if (!($74)) { - HEAP32[$u>>2] = 0; - while(1) { - $76 = HEAP32[$u>>2]|0; - $77 = HEAP32[$len>>2]|0; - $78 = ($76>>>0)<($77>>>0); - if (!($78)) { - break; - } - $79 = HEAP32[$u>>2]|0; - $80 = HEAP32[$2>>2]|0; - $81 = (($80) + ($79)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82 << 24 >> 24; - $84 = HEAP32[$cksum>>2]|0; - $85 = (($84) - ($83))|0; - HEAP32[$cksum>>2] = $85; - $86 = HEAP32[$u>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$u>>2] = $87; - } - $88 = HEAP32[$cksum>>2]|0; - $89 = ($88|0)!=(0); - if ($89) { - HEAP32[$len>>2] = 0; - } - $90 = HEAP32[$len>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = (($91) + ($90)|0); - HEAP8[$92>>0] = 0; - HEAP32[$0>>2] = 0; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); - } - } - } - } - } + $128 = HEAP32[$pNode>>2]|0; + $129 = ($128|0)!=(0|0); + $130 = HEAP32[$rc>>2]|0; + $131 = ($130|0)==(0); + $or$cond3 = $129 & $131; + if ($or$cond3) { + $132 = HEAP32[$pNode>>2]|0; + $133 = ((($132)) + 24|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 2|0); + $136 = (_readInt16($135)|0); + $137 = HEAP32[$3>>2]|0; + $138 = ((($137)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $140 = (($139) - 4)|0; + $141 = HEAP32[$3>>2]|0; + $142 = ((($141)) + 22|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $145 = (($140|0) / ($144|0))&-1; + $146 = ($136|0)>($145|0); + if ($146) { + HEAP32[$rc>>2] = 267; + } + } + $147 = HEAP32[$rc>>2]|0; + $148 = ($147|0)==(0); + $149 = HEAP32[$pNode>>2]|0; + if ($148) { + $150 = ($149|0)!=(0|0); + if ($150) { + $151 = HEAP32[$3>>2]|0; + $152 = HEAP32[$pNode>>2]|0; + _nodeHashInsert($151,$152); + } else { + HEAP32[$rc>>2] = 267; } + $153 = HEAP32[$pNode>>2]|0; + $154 = HEAP32[$6>>2]|0; + HEAP32[$154>>2] = $153; + } else { + _sqlite3_free($149); + $155 = HEAP32[$6>>2]|0; + HEAP32[$155>>2] = 0; } - $75 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $75; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); + $156 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $156; + $157 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($157|0); } -function _sqlite3OsAccess($pVfs,$zPath,$flags,$pResOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $flags = $flags|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _cellGrowth($pRtree,$p,$pCell) { + $pRtree = $pRtree|0; + $p = $p|0; + $pCell = $pCell|0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $area = 0, $cell = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $flags; - HEAP32[$3>>2] = $pResOut; + STACKTOP = STACKTOP + 80|0; + $0 = sp + 64|0; + $1 = sp + 60|0; + $2 = sp + 56|0; + $area = sp + 48|0; + $cell = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $pCell; + $3 = HEAP32[$1>>2]|0; + dest=$cell; src=$3; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = (FUNCTION_TABLE_iiiii[$6 & 7]($7,$8,$9,$10)|0); - STACKTOP = sp;return ($11|0); + $5 = (+_cellArea($4,$cell)); + HEAPF64[$area>>3] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$2>>2]|0; + _cellUnion($6,$cell,$7); + $8 = HEAP32[$0>>2]|0; + $9 = (+_cellArea($8,$cell)); + $10 = +HEAPF64[$area>>3]; + $11 = $9 - $10; + STACKTOP = sp;return (+$11); } -function _readJournalHdr($pPager,$isHot,$0,$1,$pNRec,$pDbSize) { - $pPager = $pPager|0; - $isHot = $isHot|0; +function _findLeafNode($pRtree,$0,$1,$ppLeaf,$piNode) { + $pRtree = $pRtree|0; $0 = $0|0; $1 = $1|0; - $pNRec = $pNRec|0; - $pDbSize = $pDbSize|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + $ppLeaf = $ppLeaf|0; + $piNode = $piNode|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aMagic = 0, $iHdrOff = 0; - var $iPageSize = 0, $iSectorSize = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $rc = 0, label = 0, sp = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $iNode = 0; + var $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 8|0; - $6 = sp + 32|0; - $7 = sp + 28|0; - $rc = sp + 24|0; - $aMagic = sp + 48|0; - $iHdrOff = sp; - $iPageSize = sp + 20|0; - $iSectorSize = sp + 16|0; - HEAP32[$3>>2] = $pPager; - HEAP32[$4>>2] = $isHot; - $8 = $5; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 28|0; + $3 = sp + 8|0; + $4 = sp + 24|0; + $5 = sp + 20|0; + $rc = sp + 16|0; + $iNode = sp; + HEAP32[$2>>2] = $pRtree; + $6 = $3; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$6>>2] = $pNRec; - HEAP32[$7>>2] = $pDbSize; - $12 = HEAP32[$3>>2]|0; - $13 = (_journalHdrOffset($12)|0); - $14 = tempRet0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 72|0); - $17 = $16; + HEAP32[$9>>2] = $1; + HEAP32[$4>>2] = $ppLeaf; + HEAP32[$5>>2] = $piNode; + $10 = HEAP32[$4>>2]|0; + HEAP32[$10>>2] = 0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 68|0); + $13 = HEAP32[$12>>2]|0; + $14 = $3; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; $18 = $17; - HEAP32[$18>>2] = $13; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $14; - $21 = HEAP32[$3>>2]|0; - $22 = (($21) + 72|0); - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = (($29) + 148|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_i64Add(($25|0),($28|0),($31|0),0)|0); - $33 = tempRet0; - $34 = $5; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = ($33|0)>($39|0); - $41 = ($32>>>0)>($36>>>0); - $42 = ($33|0)==($39|0); - $43 = $42 & $41; - $44 = $40 | $43; - if ($44) { - HEAP32[$2>>2] = 101; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); + $19 = HEAP32[$18>>2]|0; + (_sqlite3_bind_int64($13,1,$16,$19)|0); + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 68|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_step($22)|0); + $24 = ($23|0)==(100); + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 68|0); + $27 = HEAP32[$26>>2]|0; + if (!($24)) { + $59 = (_sqlite3_reset($27)|0); + HEAP32[$rc>>2] = $59; + $60 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($60|0); } - $45 = HEAP32[$3>>2]|0; - $46 = (($45) + 72|0); - $47 = $46; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = $iHdrOff; - $54 = $53; - HEAP32[$54>>2] = $49; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - $57 = HEAP32[$4>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - label = 5; - } else { - $59 = $iHdrOff; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$3>>2]|0; - $66 = (($65) + 80|0); - $67 = $66; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = ($61|0)!=($69|0); - $74 = ($64|0)!=($72|0); - $75 = $73 | $74; - if ($75) { - label = 5; - } + $28 = (_sqlite3_column_int64($27,0)|0); + $29 = tempRet0; + $30 = $iNode; + $31 = $30; + HEAP32[$31>>2] = $28; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $34 = HEAP32[$5>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = $iNode; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$5>>2]|0; + $43 = $42; + $44 = $43; + HEAP32[$44>>2] = $38; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = $41; } - if ((label|0) == 5) { - $76 = HEAP32[$3>>2]|0; - $77 = (($76) + 64|0); - $78 = HEAP32[$77>>2]|0; - $79 = $iHdrOff; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (($79) + 4)|0; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3OsRead($78,$aMagic,8,$81,$84)|0); - HEAP32[$rc>>2] = $85; - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $88; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } - $89 = (_memcmp($aMagic,4384,8)|0); - $90 = ($89|0)!=(0); - if ($90) { - HEAP32[$2>>2] = 101; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } + $47 = HEAP32[$2>>2]|0; + $48 = $iNode; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$4>>2]|0; + $55 = (_nodeAcquire($47,$50,$53,0,$54)|0); + HEAP32[$rc>>2] = $55; + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 68|0); + $58 = HEAP32[$57>>2]|0; + (_sqlite3_reset($58)|0); + $60 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($60|0); +} +function _deleteCell($pRtree,$pNode,$iCell,$iHeight) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $iCell = $iCell|0; + $iHeight = $iHeight|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $pParent = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $pParent = sp; + $rc = sp + 12|0; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $pNode; + HEAP32[$3>>2] = $iCell; + HEAP32[$4>>2] = $iHeight; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = (_fixLeafParent($5,$6)|0); + HEAP32[$rc>>2] = $7; + $8 = (0)!=($7|0); + if ($8) { + $9 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $9; + $39 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($39|0); } - $91 = HEAP32[$3>>2]|0; - $92 = (($91) + 64|0); - $93 = HEAP32[$92>>2]|0; - $94 = $iHdrOff; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (_i64Add(($96|0),($99|0),8,0)|0); - $101 = tempRet0; - $102 = HEAP32[$6>>2]|0; - $103 = (_read32bits($93,$100,$101,$102)|0); - HEAP32[$rc>>2] = $103; - $104 = (0)!=($103|0); - if (!($104)) { - $105 = HEAP32[$3>>2]|0; - $106 = (($105) + 64|0); - $107 = HEAP32[$106>>2]|0; - $108 = $iHdrOff; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (($108) + 4)|0; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (_i64Add(($110|0),($113|0),12,0)|0); - $115 = tempRet0; - $116 = HEAP32[$3>>2]|0; - $117 = (($116) + 48|0); - $118 = (_read32bits($107,$114,$115,$117)|0); - HEAP32[$rc>>2] = $118; - $119 = (0)!=($118|0); - if (!($119)) { - $120 = HEAP32[$3>>2]|0; - $121 = (($120) + 64|0); - $122 = HEAP32[$121>>2]|0; - $123 = $iHdrOff; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = (($123) + 4)|0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (_i64Add(($125|0),($128|0),16,0)|0); - $130 = tempRet0; - $131 = HEAP32[$7>>2]|0; - $132 = (_read32bits($122,$129,$130,$131)|0); - HEAP32[$rc>>2] = $132; - $133 = (0)!=($132|0); - if (!($133)) { - $135 = HEAP32[$3>>2]|0; - $136 = (($135) + 72|0); - $137 = $136; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (($137) + 4)|0; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = ($139|0)==(0); - $144 = ($142|0)==(0); - $145 = $143 & $144; - do { - if ($145) { - $146 = HEAP32[$3>>2]|0; - $147 = (($146) + 64|0); - $148 = HEAP32[$147>>2]|0; - $149 = $iHdrOff; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (_i64Add(($151|0),($154|0),20,0)|0); - $156 = tempRet0; - $157 = (_read32bits($148,$155,$156,$iSectorSize)|0); - HEAP32[$rc>>2] = $157; - $158 = (0)!=($157|0); - if (!($158)) { - $159 = HEAP32[$3>>2]|0; - $160 = (($159) + 64|0); - $161 = HEAP32[$160>>2]|0; - $162 = $iHdrOff; - $163 = $162; - $164 = HEAP32[$163>>2]|0; - $165 = (($162) + 4)|0; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (_i64Add(($164|0),($167|0),24,0)|0); - $169 = tempRet0; - $170 = (_read32bits($161,$168,$169,$iPageSize)|0); - HEAP32[$rc>>2] = $170; - $171 = (0)!=($170|0); - if (!($171)) { - $173 = HEAP32[$iPageSize>>2]|0; - $174 = ($173|0)==(0); - if ($174) { - $175 = HEAP32[$3>>2]|0; - $176 = (($175) + 152|0); - $177 = HEAP32[$176>>2]|0; - HEAP32[$iPageSize>>2] = $177; - } - $178 = HEAP32[$iPageSize>>2]|0; - $179 = ($178>>>0)<(512); - $180 = HEAP32[$iSectorSize>>2]|0; - $181 = ($180>>>0)<(32); - $or$cond = $179 | $181; - $182 = HEAP32[$iPageSize>>2]|0; - $183 = ($182>>>0)>(65536); - $or$cond3 = $or$cond | $183; - $184 = HEAP32[$iSectorSize>>2]|0; - $185 = ($184>>>0)>(65536); - $or$cond5 = $or$cond3 | $185; - if (!($or$cond5)) { - $186 = HEAP32[$iPageSize>>2]|0; - $187 = (($186) - 1)|0; - $188 = HEAP32[$iPageSize>>2]|0; - $189 = $187 & $188; - $190 = ($189|0)!=(0); - if (!($190)) { - $191 = HEAP32[$iSectorSize>>2]|0; - $192 = (($191) - 1)|0; - $193 = HEAP32[$iSectorSize>>2]|0; - $194 = $192 & $193; - $195 = ($194|0)!=(0); - if (!($195)) { - $196 = HEAP32[$3>>2]|0; - $197 = (_sqlite3PagerSetPagesize($196,$iPageSize,-1)|0); - HEAP32[$rc>>2] = $197; - $198 = HEAP32[$iSectorSize>>2]|0; - $199 = HEAP32[$3>>2]|0; - $200 = (($199) + 148|0); - HEAP32[$200>>2] = $198; - break; - } - } - } - HEAP32[$2>>2] = 101; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } - } - $172 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $172; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); - } - } while(0); - $201 = HEAP32[$3>>2]|0; - $202 = (($201) + 148|0); - $203 = HEAP32[$202>>2]|0; - $204 = HEAP32[$3>>2]|0; - $205 = (($204) + 72|0); - $206 = $205; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + 4)|0; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = (_i64Add(($208|0),($211|0),($203|0),0)|0); - $213 = tempRet0; - $214 = $205; - $215 = $214; - HEAP32[$215>>2] = $212; - $216 = (($214) + 4)|0; - $217 = $216; - HEAP32[$217>>2] = $213; - $218 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $218; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + _nodeDeleteCell($10,$11,$12); + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$pParent>>2] = $14; + $15 = HEAP32[$pParent>>2]|0; + $16 = ($15|0)!=(0|0); + do { + if ($16) { + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 2|0); + $21 = (_readInt16($20)|0); + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) - 4)|0; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 22|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (($25|0) / ($29|0))&-1; + $31 = (($30|0) / 3)&-1; + $32 = ($21|0)<($31|0); + $33 = HEAP32[$1>>2]|0; + $34 = HEAP32[$2>>2]|0; + if ($32) { + $35 = HEAP32[$4>>2]|0; + $36 = (_removeNode($33,$34,$35)|0); + HEAP32[$rc>>2] = $36; + break; + } else { + $37 = (_fixBoundingBox($33,$34)|0); + HEAP32[$rc>>2] = $37; + break; } } - } - $134 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $134; - $219 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($219|0); + } while(0); + $38 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $38; + $39 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($39|0); } -function _pager_playback_one_page($pPager,$pOffset,$pDone,$isMainJrnl,$isSavepnt) { - $pPager = $pPager|0; - $pOffset = $pOffset|0; - $pDone = $pDone|0; - $isMainJrnl = $isMainJrnl|0; - $isSavepnt = $isSavepnt|0; - var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $aData = 0, $cksum = 0, $isSynced = 0, $jfd = 0, $ofst = 0, $or$cond = 0, $or$cond4 = 0, $pData = 0, $pPg = 0, $pgno = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _removeNode($pRtree,$pNode,$iHeight) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $iHeight = $iHeight|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $iCell = 0, $pParent = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 40|0; - $rc = sp + 36|0; - $pPg = sp + 32|0; - $pgno = sp + 28|0; - $cksum = sp + 24|0; - $aData = sp + 20|0; - $jfd = sp + 16|0; - $isSynced = sp + 12|0; - $ofst = sp; - $pData = sp + 8|0; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pOffset; - HEAP32[$3>>2] = $pDone; - HEAP32[$4>>2] = $isMainJrnl; - HEAP32[$5>>2] = $isSavepnt; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 200|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$aData>>2] = $8; - $9 = HEAP32[$4>>2]|0; - $10 = ($9|0)!=(0); - $11 = HEAP32[$1>>2]|0; - if ($10) { - $12 = (($11) + 64|0); - $13 = HEAP32[$12>>2]|0; - $16 = $13; - } else { - $14 = (($11) + 68|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $rc = sp + 28|0; + $rc2 = sp; + $pParent = sp + 12|0; + $iCell = sp + 24|0; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $pNode; + HEAP32[$3>>2] = $iHeight; + HEAP32[$pParent>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_nodeParentIndex($4,$5,$iCell)|0); + HEAP32[$rc>>2] = $6; + $7 = HEAP32[$rc>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$pParent>>2] = $10; + $11 = HEAP32[$2>>2]|0; + HEAP32[$11>>2] = 0; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$pParent>>2]|0; + $14 = HEAP32[$iCell>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = (($15) + 1)|0; + $17 = (_deleteCell($12,$13,$14,$16)|0); + HEAP32[$rc>>2] = $17; } - HEAP32[$jfd>>2] = $16; - $17 = HEAP32[$jfd>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = $18; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (_read32bits($17,$21,$24,$pgno)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $28; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$pParent>>2]|0; + $20 = (_nodeRelease($18,$19)|0); + HEAP32[$rc2>>2] = $20; + $21 = HEAP32[$rc>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $23; } - $29 = HEAP32[$jfd>>2]|0; - $30 = HEAP32[$aData>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 152|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = $34; + $24 = HEAP32[$rc>>2]|0; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $26; + $90 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($90|0); + } + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 64|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 8|0); + $32 = $31; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; $36 = $35; $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; + (_sqlite3_bind_int64($29,1,$34,$37)|0); + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 64|0); $40 = HEAP32[$39>>2]|0; - $41 = (_i64Add(($37|0),($40|0),4,0)|0); - $42 = tempRet0; - $43 = (_sqlite3OsRead($29,$30,$33,$41,$42)|0); - HEAP32[$rc>>2] = $43; - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)!=(0); + (_sqlite3_step($40)|0); + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 64|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_sqlite3_reset($43)|0); + HEAP32[$rc>>2] = $44; + $45 = (0)!=($44|0); if ($45) { $46 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $46; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); + $90 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($90|0); } $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 152|0); + $48 = ((($47)) + 88|0); $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 4)|0; - $51 = HEAP32[$4>>2]|0; - $52 = $51<<2; - $53 = (($50) + ($52))|0; - $54 = ($53|0)<(0); - $55 = $54 << 31 >> 31; - $56 = HEAP32[$2>>2]|0; - $57 = $56; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_i64Add(($59|0),($62|0),($53|0),($55|0))|0); - $64 = tempRet0; - $65 = $56; - $66 = $65; - HEAP32[$66>>2] = $63; - $67 = (($65) + 4)|0; - $68 = $67; - HEAP32[$68>>2] = $64; - $69 = HEAP32[$pgno>>2]|0; - $70 = ($69|0)==(0); - if (!($70)) { - $71 = HEAP32[$pgno>>2]|0; - $72 = HEAP32[1128>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 152|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($72|0) / ($75|0))&-1; - $77 = (($76) + 1)|0; - $78 = ($71|0)==($77|0); - if (!($78)) { - $79 = HEAP32[$pgno>>2]|0; - $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 24|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($79>>>0)>($82>>>0); - if (!($83)) { - $84 = HEAP32[$3>>2]|0; - $85 = HEAP32[$pgno>>2]|0; - $86 = (_sqlite3BitvecTest($84,$85)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - $88 = HEAP32[$4>>2]|0; - $89 = ($88|0)!=(0); - if ($89) { - $90 = HEAP32[$jfd>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = $91; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (_i64Subtract(($94|0),($97|0),4,0)|0); - $99 = tempRet0; - $100 = (_read32bits($90,$98,$99,$cksum)|0); - HEAP32[$rc>>2] = $100; - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - $103 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $103; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); - } - $104 = HEAP32[$5>>2]|0; - $105 = ($104|0)!=(0); - if (!($105)) { - $106 = HEAP32[$1>>2]|0; - $107 = HEAP32[$aData>>2]|0; - $108 = (_pager_cksum($106,$107)|0); - $109 = HEAP32[$cksum>>2]|0; - $110 = ($108|0)!=($109|0); - if ($110) { - HEAP32[$0>>2] = 101; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); - } - } - } - $111 = HEAP32[$3>>2]|0; - $112 = ($111|0)!=(0|0); - if ($112) { - $113 = HEAP32[$3>>2]|0; - $114 = HEAP32[$pgno>>2]|0; - $115 = (_sqlite3BitvecSet($113,$114)|0); - HEAP32[$rc>>2] = $115; - $116 = ($115|0)!=(0); - if ($116) { - $117 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $117; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); - } - } - $118 = HEAP32[$pgno>>2]|0; - $119 = ($118|0)==(1); - if ($119) { - $120 = HEAP32[$1>>2]|0; - $121 = (($120) + 142|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122 << 16 >> 16; - $124 = HEAP32[$aData>>2]|0; - $125 = (($124) + 20|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = ($123|0)!=($127|0); - if ($128) { - $129 = HEAP32[$aData>>2]|0; - $130 = (($129) + 20|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = HEAP32[$1>>2]|0; - $134 = (($133) + 142|0); - HEAP16[$134>>1] = $132; - } - } - $135 = HEAP32[$1>>2]|0; - $136 = (_pagerUseWal($135)|0); - $137 = ($136|0)!=(0); - if ($137) { - HEAP32[$pPg>>2] = 0; - } else { - $138 = HEAP32[$1>>2]|0; - $139 = HEAP32[$pgno>>2]|0; - $140 = (_sqlite3PagerLookup($138,$139)|0); - HEAP32[$pPg>>2] = $140; - } - $141 = HEAP32[$4>>2]|0; - $142 = ($141|0)!=(0); - if ($142) { - $143 = HEAP32[$1>>2]|0; - $144 = (($143) + 7|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = ($146|0)!=(0); - if ($147) { - $169 = 1; - } else { - $148 = HEAP32[$2>>2]|0; - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$1>>2]|0; - $156 = (($155) + 80|0); - $157 = $156; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = ($154|0)<($162|0); - $164 = ($151>>>0)<=($159>>>0); - $165 = ($154|0)==($162|0); - $166 = $165 & $164; - $167 = $163 | $166; - $169 = $167; - } - $168 = $169&1; - HEAP32[$isSynced>>2] = $168; - } else { - $170 = HEAP32[$pPg>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $179 = 1; - } else { - $172 = HEAP32[$pPg>>2]|0; - $173 = (($172) + 24|0); - $174 = HEAP16[$173>>1]|0; - $175 = $174&65535; - $176 = $175 & 4; - $177 = (0)==($176|0); - $179 = $177; - } - $178 = $179&1; - HEAP32[$isSynced>>2] = $178; - } - $180 = HEAP32[$1>>2]|0; - $181 = (($180) + 60|0); - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)!=(0|0); - do { - if ($184) { - $185 = HEAP32[$1>>2]|0; - $186 = (($185) + 16|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = ($188|0)>=(4); - if ($189) { - $$old = HEAP32[$isSynced>>2]|0; - $$old1 = ($$old|0)!=(0); - if (!($$old1)) { - label = 44; - break; - } - } else { - $190 = HEAP32[$1>>2]|0; - $191 = (($190) + 16|0); - $192 = HEAP8[$191>>0]|0; - $193 = $192&255; - $194 = ($193|0)==(0); - $195 = HEAP32[$isSynced>>2]|0; - $196 = ($195|0)!=(0); - $or$cond = $194 & $196; - if (!($or$cond)) { - label = 44; - break; - } - } - $197 = HEAP32[$pgno>>2]|0; - $198 = (($197) - 1)|0; - $199 = HEAP32[$1>>2]|0; - $200 = (($199) + 152|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)<(0); - $203 = $202 << 31 >> 31; - $204 = (___muldi3(($198|0),0,($201|0),($203|0))|0); - $205 = tempRet0; - $206 = $ofst; - $207 = $206; - HEAP32[$207>>2] = $204; - $208 = (($206) + 4)|0; - $209 = $208; - HEAP32[$209>>2] = $205; - $210 = HEAP32[$1>>2]|0; - $211 = (($210) + 60|0); - $212 = HEAP32[$211>>2]|0; - $213 = HEAP32[$aData>>2]|0; - $214 = HEAP32[$1>>2]|0; - $215 = (($214) + 152|0); - $216 = HEAP32[$215>>2]|0; - $217 = $ofst; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (($217) + 4)|0; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (_sqlite3OsWrite($212,$213,$216,$219,$222)|0); - HEAP32[$rc>>2] = $223; - $224 = HEAP32[$pgno>>2]|0; - $225 = HEAP32[$1>>2]|0; - $226 = (($225) + 32|0); - $227 = HEAP32[$226>>2]|0; - $228 = ($224>>>0)>($227>>>0); - if ($228) { - $229 = HEAP32[$pgno>>2]|0; - $230 = HEAP32[$1>>2]|0; - $231 = (($230) + 32|0); - HEAP32[$231>>2] = $229; - } - $232 = HEAP32[$1>>2]|0; - $233 = (($232) + 88|0); - $234 = HEAP32[$233>>2]|0; - $235 = ($234|0)!=(0|0); - if ($235) { - $236 = HEAP32[$1>>2]|0; - $237 = (($236) + 88|0); - $238 = HEAP32[$237>>2]|0; - $239 = HEAP32[$pgno>>2]|0; - $240 = HEAP32[$aData>>2]|0; - _sqlite3BackupUpdate($238,$239,$240); - $241 = HEAP32[$aData>>2]|0; - HEAP32[$aData>>2] = $241; - } - } else { - label = 44; - } - } while(0); - do { - if ((label|0) == 44) { - $242 = HEAP32[$4>>2]|0; - $243 = ($242|0)==(0); - $244 = HEAP32[$pPg>>2]|0; - $245 = ($244|0)==(0|0); - $or$cond4 = $243 & $245; - if ($or$cond4) { - $246 = HEAP32[$1>>2]|0; - $247 = (($246) + 20|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = $249 | 2; - $251 = $250&255; - HEAP8[$247>>0] = $251; - $252 = HEAP32[$1>>2]|0; - $253 = HEAP32[$pgno>>2]|0; - $254 = (_sqlite3PagerAcquire($252,$253,$pPg,1)|0); - HEAP32[$rc>>2] = $254; - $255 = HEAP32[$1>>2]|0; - $256 = (($255) + 20|0); - $257 = HEAP8[$256>>0]|0; - $258 = $257&255; - $259 = $258 & -3; - $260 = $259&255; - HEAP8[$256>>0] = $260; - $261 = HEAP32[$rc>>2]|0; - $262 = ($261|0)!=(0); - if (!($262)) { - $264 = HEAP32[$pPg>>2]|0; - $265 = (($264) + 24|0); - $266 = HEAP16[$265>>1]|0; - $267 = $266&65535; - $268 = $267 & -9; - $269 = $268&65535; - HEAP16[$265>>1] = $269; - $270 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheMakeDirty($270); - break; - } - $263 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $263; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); - } - } - } while(0); - $271 = HEAP32[$pPg>>2]|0; - $272 = ($271|0)!=(0|0); - if ($272) { - $273 = HEAP32[$pPg>>2]|0; - $274 = (($273) + 4|0); - $275 = HEAP32[$274>>2]|0; - HEAP32[$pData>>2] = $275; - $276 = HEAP32[$pData>>2]|0; - $277 = HEAP32[$aData>>2]|0; - $278 = HEAP32[$1>>2]|0; - $279 = (($278) + 152|0); - $280 = HEAP32[$279>>2]|0; - _memcpy(($276|0),($277|0),($280|0))|0; - $281 = HEAP32[$1>>2]|0; - $282 = (($281) + 196|0); - $283 = HEAP32[$282>>2]|0; - $284 = HEAP32[$pPg>>2]|0; - FUNCTION_TABLE_vi[$283 & 31]($284); - $285 = HEAP32[$4>>2]|0; - $286 = ($285|0)!=(0); - do { - if ($286) { - $287 = HEAP32[$5>>2]|0; - $288 = ($287|0)!=(0); - if ($288) { - $289 = HEAP32[$2>>2]|0; - $290 = $289; - $291 = $290; - $292 = HEAP32[$291>>2]|0; - $293 = (($290) + 4)|0; - $294 = $293; - $295 = HEAP32[$294>>2]|0; - $296 = HEAP32[$1>>2]|0; - $297 = (($296) + 80|0); - $298 = $297; - $299 = $298; - $300 = HEAP32[$299>>2]|0; - $301 = (($298) + 4)|0; - $302 = $301; - $303 = HEAP32[$302>>2]|0; - $304 = ($295|0)<($303|0); - $305 = ($292>>>0)<=($300>>>0); - $306 = ($295|0)==($303|0); - $307 = $306 & $305; - $308 = $304 | $307; - if (!($308)) { - break; - } - } - $309 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheMakeClean($309); - } - } while(0); - $310 = HEAP32[$pgno>>2]|0; - $311 = ($310|0)==(1); - if ($311) { - $312 = HEAP32[$1>>2]|0; - $313 = (($312) + 100|0); - $314 = HEAP32[$pData>>2]|0; - $315 = (($314) + 24|0); - dest=$313+0|0; src=$315+0|0; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - } - $316 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheRelease($316); - } - $317 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $317; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); - } - } - HEAP32[$0>>2] = 0; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); - } + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 8|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + (_sqlite3_bind_int64($49,1,$54,$57)|0); + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 88|0); + $60 = HEAP32[$59>>2]|0; + (_sqlite3_step($60)|0); + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 88|0); + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3_reset($63)|0); + HEAP32[$rc>>2] = $64; + $65 = (0)!=($64|0); + if ($65) { + $66 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $66; + $90 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($90|0); + } else { + $67 = HEAP32[$1>>2]|0; + $68 = HEAP32[$2>>2]|0; + _nodeHashDelete($67,$68); + $69 = HEAP32[$3>>2]|0; + $70 = ($69|0)<(0); + $71 = $70 << 31 >> 31; + $72 = HEAP32[$2>>2]|0; + $73 = ((($72)) + 8|0); + $74 = $73; + $75 = $74; + HEAP32[$75>>2] = $69; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $71; + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 48|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$2>>2]|0; + $82 = ((($81)) + 28|0); + HEAP32[$82>>2] = $80; + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $86 = (($85) + 1)|0; + HEAP32[$84>>2] = $86; + $87 = HEAP32[$2>>2]|0; + $88 = HEAP32[$1>>2]|0; + $89 = ((($88)) + 48|0); + HEAP32[$89>>2] = $87; + HEAP32[$0>>2] = 0; + $90 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($90|0); } - HEAP32[$0>>2] = 101; - $318 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($318|0); + return (0)|0; } -function _pager_delmaster($pPager,$zMaster) { - $pPager = $pPager|0; - $zMaster = $zMaster|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $exists = 0, $flags = 0, $flags1 = 0, $nMasterJournal = 0, $nMasterPtr = 0, $pJournal = 0, $pMaster = 0, $pVfs = 0, $rc = 0, $zJournal = 0, $zMasterJournal = 0, $zMasterPtr = 0, label = 0, sp = 0; +function _reinsertNodeContent($pRtree,$pNode) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cell = 0, $ii = 0, $nCell = 0, $pInsert = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; + STACKTOP = STACKTOP + 80|0; + $0 = sp + 52|0; $1 = sp + 56|0; - $pVfs = sp + 52|0; - $rc = sp + 48|0; - $pMaster = sp + 44|0; - $pJournal = sp + 40|0; - $zMasterJournal = sp + 36|0; - $nMasterJournal = sp; - $zJournal = sp + 32|0; - $zMasterPtr = sp + 28|0; - $nMasterPtr = sp + 24|0; - $flags = sp + 20|0; - $exists = sp + 16|0; - $c = sp + 12|0; - $flags1 = sp + 8|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $zMaster; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pVfs>>2] = $3; - HEAP32[$zMasterJournal>>2] = 0; - $4 = HEAP32[$pVfs>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6<<1; - $8 = ($7|0)<(0); - $9 = $8 << 31 >> 31; - $10 = (_sqlite3MallocZero($7,$9)|0); - HEAP32[$pMaster>>2] = $10; - $11 = HEAP32[$pMaster>>2]|0; - $12 = HEAP32[$pVfs>>2]|0; - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($11) + ($14)|0); - HEAP32[$pJournal>>2] = $15; - $16 = HEAP32[$pMaster>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - HEAP32[$flags>>2] = 16385; - $18 = HEAP32[$pVfs>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$pMaster>>2]|0; - $21 = (_sqlite3OsOpen($18,$19,$20,16385,0)|0); - HEAP32[$rc>>2] = $21; - } else { - HEAP32[$rc>>2] = 7; + $ii = sp + 64|0; + $rc = sp + 60|0; + $nCell = sp + 72|0; + $pInsert = sp + 48|0; + $cell = sp; + $rc2 = sp + 68|0; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 2|0); + $6 = (_readInt16($5)|0); + HEAP32[$nCell>>2] = $6; + HEAP32[$ii>>2] = 0; + while(1) { + $7 = HEAP32[$rc>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + label = 8; + break; + } + $9 = HEAP32[$ii>>2]|0; + $10 = HEAP32[$nCell>>2]|0; + $11 = ($9|0)<($10|0); + if (!($11)) { + label = 8; + break; + } + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$ii>>2]|0; + _nodeGetCell($12,$13,$14,$cell); + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 8|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (_ChooseLeaf($15,$cell,$20,$pInsert)|0); + HEAP32[$rc>>2] = $24; + $25 = HEAP32[$rc>>2]|0; + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$0>>2]|0; + $28 = HEAP32[$pInsert>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 8|0); + $31 = $30; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (_rtreeInsertCell($27,$28,$cell,$33)|0); + HEAP32[$rc>>2] = $37; + $38 = HEAP32[$0>>2]|0; + $39 = HEAP32[$pInsert>>2]|0; + $40 = (_nodeRelease($38,$39)|0); + HEAP32[$rc2>>2] = $40; + $41 = HEAP32[$rc>>2]|0; + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $43; + } + } + $44 = HEAP32[$ii>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$ii>>2] = $45; } - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - L5: do { - if (!($23)) { - $24 = HEAP32[$pMaster>>2]|0; - $25 = (_sqlite3OsFileSize($24,$nMasterJournal)|0); - HEAP32[$rc>>2] = $25; - $26 = HEAP32[$rc>>2]|0; - $27 = ($26|0)!=(0); - if (!($27)) { - $28 = HEAP32[$pVfs>>2]|0; - $29 = (($28) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$nMasterPtr>>2] = $31; - $32 = $nMasterJournal; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$nMasterPtr>>2]|0; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = (_i64Add(($34|0),($37|0),($38|0),($40|0))|0); - $42 = tempRet0; - $43 = (_i64Add(($41|0),($42|0),1,0)|0); - $44 = tempRet0; - $45 = (_sqlite3Malloc($43,$44)|0); - HEAP32[$zMasterJournal>>2] = $45; - $46 = HEAP32[$zMasterJournal>>2]|0; + if ((label|0) == 8) { + $46 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($46|0); + } + return (0)|0; +} +function _fixLeafParent($pRtree,$pLeaf) { + $pRtree = $pRtree|0; + $pLeaf = $pLeaf|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $iNode = 0, $pChild = 0, $pTest = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 16|0; + $rc = sp + 20|0; + $pChild = sp + 28|0; + $rc2 = sp + 12|0; + $pTest = sp + 8|0; + $iNode = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pLeaf; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$pChild>>2] = $2; + while(1) { + $3 = HEAP32[$rc>>2]|0; + $4 = ($3|0)==(0); + if (!($4)) { + label = 18; + break; + } + $5 = HEAP32[$pChild>>2]|0; + $6 = ((($5)) + 8|0); + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)!=(1); + $14 = ($12|0)!=(0); + $15 = $13 | $14; + if (!($15)) { + label = 18; + break; + } + $16 = HEAP32[$pChild>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + label = 18; + break; + } + HEAP32[$rc2>>2] = 0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 80|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$pChild>>2]|0; + $23 = ((($22)) + 8|0); + $24 = $23; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + (_sqlite3_bind_int64($21,1,$26,$29)|0); + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 80|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3_step($32)|0); + HEAP32[$rc>>2] = $33; + $34 = HEAP32[$rc>>2]|0; + $35 = ($34|0)==(100); + if ($35) { + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 80|0); + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3_column_int64($38,0)|0); + $40 = tempRet0; + $41 = $iNode; + $42 = $41; + HEAP32[$42>>2] = $39; + $43 = (($41) + 4)|0; + $44 = $43; + HEAP32[$44>>2] = $40; + $45 = HEAP32[$1>>2]|0; + HEAP32[$pTest>>2] = $45; + while(1) { + $46 = HEAP32[$pTest>>2]|0; $47 = ($46|0)!=(0|0); if (!($47)) { - HEAP32[$rc>>2] = 7; break; } - $48 = $nMasterJournal; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (_i64Add(($50|0),($53|0),1,0)|0); - $55 = tempRet0; - $56 = HEAP32[$zMasterJournal>>2]|0; - $57 = (($56) + ($54)|0); - HEAP32[$zMasterPtr>>2] = $57; - $58 = HEAP32[$pMaster>>2]|0; - $59 = HEAP32[$zMasterJournal>>2]|0; - $60 = $nMasterJournal; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (_sqlite3OsRead($58,$59,$62,0,0)|0); - HEAP32[$rc>>2] = $66; - $67 = HEAP32[$rc>>2]|0; - $68 = ($67|0)!=(0); - if (!($68)) { - $69 = $nMasterJournal; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$zMasterJournal>>2]|0; - $76 = (($75) + ($71)|0); - HEAP8[$76>>0] = 0; - $77 = HEAP32[$zMasterJournal>>2]|0; - HEAP32[$zJournal>>2] = $77; - while(1) { - $78 = HEAP32[$zJournal>>2]|0; - $79 = HEAP32[$zMasterJournal>>2]|0; - $80 = $78; - $81 = $79; - $82 = (($80) - ($81))|0; - $83 = ($82|0)<(0); - $84 = $83 << 31 >> 31; - $85 = $nMasterJournal; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = ($84|0)<($90|0); - $92 = ($82>>>0)<($87>>>0); - $93 = ($84|0)==($90|0); - $94 = $93 & $92; - $95 = $91 | $94; - if (!($95)) { - break; - } - $96 = HEAP32[$pVfs>>2]|0; - $97 = HEAP32[$zJournal>>2]|0; - $98 = (_sqlite3OsAccess($96,$97,0,$exists)|0); - HEAP32[$rc>>2] = $98; - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - break L5; - } - $101 = HEAP32[$exists>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - HEAP32[$flags1>>2] = 2049; - $103 = HEAP32[$pVfs>>2]|0; - $104 = HEAP32[$zJournal>>2]|0; - $105 = HEAP32[$pJournal>>2]|0; - $106 = HEAP32[$flags1>>2]|0; - $107 = (_sqlite3OsOpen($103,$104,$105,$106,0)|0); - HEAP32[$rc>>2] = $107; - $108 = HEAP32[$rc>>2]|0; - $109 = ($108|0)!=(0); - if ($109) { - break L5; - } - $110 = HEAP32[$pJournal>>2]|0; - $111 = HEAP32[$zMasterPtr>>2]|0; - $112 = HEAP32[$nMasterPtr>>2]|0; - $113 = (_readMasterJournal($110,$111,$112)|0); - HEAP32[$rc>>2] = $113; - $114 = HEAP32[$pJournal>>2]|0; - (_sqlite3OsClose($114)|0); - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)!=(0); - if ($116) { - break L5; - } - $117 = HEAP32[$zMasterPtr>>2]|0; - $118 = HEAP8[$117>>0]|0; - $119 = $118 << 24 >> 24; - $120 = ($119|0)!=(0); - if ($120) { - $121 = HEAP32[$zMasterPtr>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = (_strcmp($121,$122)|0); - $124 = ($123|0)==(0); - $126 = $124; - } else { - $126 = 0; - } - $125 = $126&1; - HEAP32[$c>>2] = $125; - $127 = HEAP32[$c>>2]|0; - $128 = ($127|0)!=(0); - if ($128) { - break L5; - } - } - $129 = HEAP32[$zJournal>>2]|0; - $130 = (_sqlite3Strlen30($129)|0); - $131 = (($130) + 1)|0; - $132 = HEAP32[$zJournal>>2]|0; - $133 = (($132) + ($131)|0); - HEAP32[$zJournal>>2] = $133; - } - $134 = HEAP32[$pMaster>>2]|0; - (_sqlite3OsClose($134)|0); - $135 = HEAP32[$pVfs>>2]|0; - $136 = HEAP32[$1>>2]|0; - $137 = (_sqlite3OsDelete($135,$136,0)|0); - HEAP32[$rc>>2] = $137; + $48 = HEAP32[$pTest>>2]|0; + $49 = ((($48)) + 8|0); + $50 = $49; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = $iNode; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = ($52|0)!=($58|0); + $63 = ($55|0)!=($61|0); + $64 = $62 | $63; + if (!($64)) { + break; } + $65 = HEAP32[$pTest>>2]|0; + $66 = HEAP32[$65>>2]|0; + HEAP32[$pTest>>2] = $66; + } + $67 = HEAP32[$pTest>>2]|0; + $68 = ($67|0)!=(0|0); + if (!($68)) { + $69 = HEAP32[$0>>2]|0; + $70 = $iNode; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (($70) + 4)|0; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$pChild>>2]|0; + $77 = (_nodeAcquire($69,$72,$75,0,$76)|0); + HEAP32[$rc2>>2] = $77; } } - } while(0); - $138 = HEAP32[$zMasterJournal>>2]|0; - _sqlite3_free($138); - $139 = HEAP32[$pMaster>>2]|0; - $140 = ($139|0)!=(0|0); - if (!($140)) { - $143 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($143|0); - } - $141 = HEAP32[$pMaster>>2]|0; - (_sqlite3OsClose($141)|0); - $142 = HEAP32[$pMaster>>2]|0; - _sqlite3_free($142); - $143 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($143|0); -} -function _setSectorSize($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(0); - if (!($5)) { - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 60|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3OsDeviceCharacteristics($8)|0); - $10 = $9 & 4096; - $11 = ($10|0)!=(0); - if (!($11)) { - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3SectorSize($16)|0); - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 148|0); - HEAP32[$19>>2] = $17; - STACKTOP = sp;return; + $78 = HEAP32[$0>>2]|0; + $79 = ((($78)) + 80|0); + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3_reset($80)|0); + HEAP32[$rc>>2] = $81; + $82 = HEAP32[$rc>>2]|0; + $83 = ($82|0)==(0); + if ($83) { + $84 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $84; } - } - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 148|0); - HEAP32[$13>>2] = 512; - STACKTOP = sp;return; -} -function _sqlite3OsDeviceCharacteristics($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 48|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (FUNCTION_TABLE_ii[$4 & 31]($5)|0); - STACKTOP = sp;return ($6|0); -} -function _sqlite3SectorSize($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $iRet = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $iRet = sp; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3OsSectorSize($1)|0); - HEAP32[$iRet>>2] = $2; - $3 = HEAP32[$iRet>>2]|0; - $4 = ($3|0)<(32); - if ($4) { - HEAP32[$iRet>>2] = 512; - } else { - $5 = HEAP32[$iRet>>2]|0; - $6 = ($5|0)>(65536); - if ($6) { - HEAP32[$iRet>>2] = 65536; + $85 = HEAP32[$rc>>2]|0; + $86 = ($85|0)==(0); + if ($86) { + $87 = HEAP32[$pChild>>2]|0; + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)!=(0|0); + if (!($89)) { + HEAP32[$rc>>2] = 267; + } } + $90 = HEAP32[$pChild>>2]|0; + $91 = HEAP32[$90>>2]|0; + HEAP32[$pChild>>2] = $91; } - $7 = HEAP32[$iRet>>2]|0; - STACKTOP = sp;return ($7|0); -} -function _sqlite3OsSectorSize($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $xSectorSize = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $xSectorSize = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 44|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$xSectorSize>>2] = $4; - $5 = HEAP32[$xSectorSize>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $10 = 4096; - STACKTOP = sp;return ($10|0); + if ((label|0) == 18) { + $92 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($92|0); } - $7 = HEAP32[$xSectorSize>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (FUNCTION_TABLE_ii[$7 & 31]($8)|0); - $10 = $9; - STACKTOP = sp;return ($10|0); + return (0)|0; } -function _sqlite3OsOpen($pVfs,$zPath,$pFile,$flags,$pFlagsOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $pFile = $pFile|0; - $flags = $flags|0; - $pFlagsOut = $pFlagsOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _nodeDeleteCell($pRtree,$pNode,$iCell) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $iCell = $iCell|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, $pDst = 0, $pSrc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 20|0; $1 = sp + 16|0; $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $pFile; - HEAP32[$3>>2] = $flags; - HEAP32[$4>>2] = $pFlagsOut; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 24|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = $11 & 556927; - $13 = HEAP32[$4>>2]|0; - $14 = (FUNCTION_TABLE_iiiiii[$7 & 15]($8,$9,$10,$12,$13)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); -} -function _sqlite3OsRead($id,$pBuf,$amt,$0,$1) { - $id = $id|0; - $pBuf = $pBuf|0; - $amt = $amt|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp; - HEAP32[$2>>2] = $id; - HEAP32[$3>>2] = $pBuf; - HEAP32[$4>>2] = $amt; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = $5; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_iiiiii[$13 & 15]($14,$15,$16,$19,$22)|0); - STACKTOP = sp;return ($23|0); -} -function _read32bits($fd,$0,$1,$pRes) { - $fd = $fd|0; - $0 = $0|0; - $1 = $1|0; - $pRes = $pRes|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $ac = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $4 = sp + 12|0; - $ac = sp + 20|0; - $rc = sp + 8|0; - HEAP32[$2>>2] = $fd; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $pRes; - $9 = HEAP32[$2>>2]|0; - $10 = $3; - $11 = $10; + $pDst = sp + 8|0; + $pSrc = sp + 4|0; + $nByte = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$2>>2] = $iCell; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 22|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = HEAP32[$2>>2]|0; + $8 = Math_imul($6, $7)|0; + $9 = (4 + ($8))|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 24|0); $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3OsRead($9,$ac,4,$12,$15)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)==(0); - if (!($18)) { - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); - } - $19 = (_sqlite3Get4byte($ac)|0); - $20 = HEAP32[$4>>2]|0; - HEAP32[$20>>2] = $19; - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); + $13 = (($12) + ($9)|0); + HEAP32[$pDst>>2] = $13; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 22|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = HEAP32[$pDst>>2]|0; + $19 = (($18) + ($17)|0); + HEAP32[$pSrc>>2] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 2|0); + $24 = (_readInt16($23)|0); + $25 = HEAP32[$2>>2]|0; + $26 = (($24) - ($25))|0; + $27 = (($26) - 1)|0; + $28 = HEAP32[$0>>2]|0; + $29 = ((($28)) + 22|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = Math_imul($27, $31)|0; + HEAP32[$nByte>>2] = $32; + $33 = HEAP32[$pDst>>2]|0; + $34 = HEAP32[$pSrc>>2]|0; + $35 = HEAP32[$nByte>>2]|0; + _memmove(($33|0),($34|0),($35|0))|0; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 24|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 2|0); + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 2|0); + $44 = (_readInt16($43)|0); + $45 = (($44) - 1)|0; + (_writeInt16($39,$45)|0); + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 20|0); + HEAP32[$47>>2] = 1; + STACKTOP = sp;return; } -function _pager_cksum($pPager,$aData) { - $pPager = $pPager|0; - $aData = $aData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $cksum = 0, $i = 0, label = 0, sp = 0; +function _rtreeSearchPointFirst($pCur) { + $pCur = $pCur|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $cksum = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $aData; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 48|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$cksum>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 152|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) - 200)|0; - HEAP32[$i>>2] = $8; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)>(0); - if (!($10)) { - break; - } - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + ($11)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = HEAP32[$cksum>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$cksum>>2] = $17; - $18 = HEAP32[$i>>2]|0; - $19 = (($18) - 200)|0; - HEAP32[$i>>2] = $19; + $0 = sp; + HEAP32[$0>>2] = $pCur; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 5|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)!=(0); + $6 = HEAP32[$0>>2]|0; + if ($5) { + $7 = ((($6)) + 40|0); + $14 = $7; + STACKTOP = sp;return ($14|0); } - $20 = HEAP32[$cksum>>2]|0; - STACKTOP = sp;return ($20|0); -} -function _sqlite3PagerLookup($pPager,$pgno) { - $pPager = $pPager|0; - $pgno = $pgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pPage = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pgno; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 204|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3PcacheFetch($4,$5,0)|0); - HEAP32[$pPage>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 204|0); + $8 = ((($6)) + 24|0); $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$pPage>>2]|0; - $12 = (_sqlite3PcacheFetchFinish($9,$10,$11)|0); - STACKTOP = sp;return ($12|0); + $10 = ($9|0)!=(0); + if (!($10)) { + $14 = 0; + STACKTOP = sp;return ($14|0); + } + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 32|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13; + STACKTOP = sp;return ($14|0); } -function _sqlite3BackupUpdate($pBackup,$iPage,$aData) { - $pBackup = $pBackup|0; - $iPage = $iPage|0; - $aData = $aData|0; +function _rtreeNodeOfFirstSearchPoint($pCur,$pRC) { + $pCur = $pCur|0; + $pRC = $pRC|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $id = 0, $ii = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; - $2 = sp + 8|0; - $p = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pBackup; - HEAP32[$1>>2] = $iPage; - HEAP32[$2>>2] = $aData; - $3 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $3; - while(1) { - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - break; - } - $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_isFatalError($8)|0); - $10 = ($9|0)!=(0); - if (!($10)) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($11>>>0)<($14>>>0); - if ($15) { - $16 = HEAP32[$p>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = (_backupOnePage($16,$17,$18,1)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$rc>>2]|0; - $23 = HEAP32[$p>>2]|0; - $24 = (($23) + 28|0); - HEAP32[$24>>2] = $22; - } - } - } - $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 44|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$p>>2] = $27; + $id = sp; + $ii = sp + 8|0; + HEAP32[$0>>2] = $pCur; + HEAP32[$1>>2] = $pRC; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 5|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = (1 - ($5))|0; + HEAP32[$ii>>2] = $6; + $7 = HEAP32[$ii>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 64|0); + $10 = (($9) + ($7<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0|0); + if (!($12)) { + $53 = HEAP32[$ii>>2]|0; + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 64|0); + $56 = (($55) + ($53<<2)|0); + $57 = HEAP32[$56>>2]|0; + STACKTOP = sp;return ($57|0); } - STACKTOP = sp;return; + $13 = HEAP32[$ii>>2]|0; + $14 = ($13|0)!=(0); + $15 = HEAP32[$0>>2]|0; + if ($14) { + $16 = ((($15)) + 32|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 8|0); + $19 = $18; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $35 = $21;$38 = $24; + } else { + $25 = ((($15)) + 40|0); + $26 = ((($25)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $35 = $29;$38 = $32; + } + $33 = $id; + $34 = $33; + HEAP32[$34>>2] = $35; + $36 = (($33) + 4)|0; + $37 = $36; + HEAP32[$37>>2] = $38; + $39 = HEAP32[$0>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = $id; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$ii>>2]|0; + $48 = HEAP32[$0>>2]|0; + $49 = ((($48)) + 64|0); + $50 = (($49) + ($47<<2)|0); + $51 = (_nodeAcquire($40,$43,$46,0,$50)|0); + $52 = HEAP32[$1>>2]|0; + HEAP32[$52>>2] = $51; + $53 = HEAP32[$ii>>2]|0; + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 64|0); + $56 = (($55) + ($53<<2)|0); + $57 = HEAP32[$56>>2]|0; + STACKTOP = sp;return ($57|0); } -function _sqlite3PcacheMakeDirty($p) { - $p = $p|0; +function _nodeGetCoord($pRtree,$pNode,$iCell,$iCoord,$pCoord) { + $pRtree = $pRtree|0; + $pNode = $pNode|0; + $iCell = $iCell|0; + $iCoord = $iCoord|0; + $pCoord = $pCoord|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 24|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & -33; - $6 = $5&65535; - HEAP16[$2>>1] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 24|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = $10 & 2; - $12 = (0)==($11|0); - if (!($12)) { - STACKTOP = sp;return; - } - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 24|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = $16 | 2; - $18 = $17&65535; - HEAP16[$14>>1] = $18; - $19 = HEAP32[$0>>2]|0; - _pcacheManageDirtyList($19,2); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$0>>2] = $pRtree; + HEAP32[$1>>2] = $pNode; + HEAP32[$2>>2] = $iCell; + HEAP32[$3>>2] = $iCoord; + HEAP32[$4>>2] = $pCoord; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 22|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = Math_imul($8, $9)|0; + $11 = (12 + ($10))|0; + $12 = HEAP32[$3>>2]|0; + $13 = $12<<2; + $14 = (($11) + ($13))|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($14)|0); + $19 = HEAP32[$4>>2]|0; + _readCoord($18,$19); STACKTOP = sp;return; } -function _sqlite3PcacheRelease($p) { +function _rtreeSearchPointPop($p) { $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $j = 0, $k = 0, $n = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $i = sp + 12|0; + $j = sp + 8|0; + $k = sp + 4|0; + $n = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 26|0); - $3 = HEAP16[$2>>1]|0; - $4 = (($3) + -1)<<16>>16; - HEAP16[$2>>1] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 26|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - $9 = ($8|0)==(0); - if (!($9)) { - STACKTOP = sp;return; + $2 = ((($1)) + 5|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = (1 - ($4))|0; + HEAP32[$i>>2] = $5; + $6 = HEAP32[$i>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 64|0); + $9 = (($8) + ($6<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$i>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 64|0); + $17 = (($16) + ($14<<2)|0); + $18 = HEAP32[$17>>2]|0; + (_nodeRelease($13,$18)|0); + $19 = HEAP32[$i>>2]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 64|0); + $22 = (($21) + ($19<<2)|0); + HEAP32[$22>>2] = 0; } - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 28|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + -1)|0; - HEAP32[$13>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 24|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - $20 = $19 & 2; - $21 = ($20|0)==(0); - $22 = HEAP32[$0>>2]|0; - if ($21) { - _pcacheUnpin($22); + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 5|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)!=(0); + $27 = HEAP32[$0>>2]|0; + if ($26) { + $28 = ((($27)) + 40|0); + $29 = ((($28)) + 16|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 84|0); + $34 = (($33) + ($31<<2)|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + -1)|0; + HEAP32[$34>>2] = $36; + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 5|0); + HEAP8[$38>>0] = 0; STACKTOP = sp;return; } - $23 = (($22) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)!=(0|0); - if (!($25)) { + $39 = ((($27)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0); + if (!($41)) { STACKTOP = sp;return; } - $26 = HEAP32[$0>>2]|0; - _pcacheManageDirtyList($26,3); - STACKTOP = sp;return; -} -function _sqlite3PcacheFetch($pCache,$pgno,$createFlag) { - $pCache = $pCache|0; - $pgno = $pgno|0; - $createFlag = $createFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eCreate = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $eCreate = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $pgno; - HEAP32[$2>>2] = $createFlag; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 29|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $3 & $7; - HEAP32[$eCreate>>2] = $8; - $9 = HEAP32[((38640 + 132|0))>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 40|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$eCreate>>2]|0; - $15 = (FUNCTION_TABLE_iiii[$9 & 31]($12,$13,$14)|0); - STACKTOP = sp;return ($15|0); -} -function _sqlite3PcacheFetchFinish($pCache,$pgno,$pPage) { - $pCache = $pCache|0; - $pgno = $pgno|0; - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $pPgHdr = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $pPage; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $6 = HEAP32[$3>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pPgHdr>>2] = $8; - $9 = HEAP32[$pPgHdr>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - if (!($11)) { - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = (_pcacheFetchFinishWithInit($12,$13,$14)|0); - HEAP32[$0>>2] = $15; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $16 = HEAP32[$pPgHdr>>2]|0; - $17 = (($16) + 26|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18 << 16 >> 16; - $20 = (0)==($19|0); - if ($20) { - $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 12|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$22>>2] = $24; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 32|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = HEAP32[$0>>2]|0; + $49 = ((($48)) + 84|0); + $50 = (($49) + ($47<<2)|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + -1)|0; + HEAP32[$50>>2] = $52; + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 24|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + -1)|0; + HEAP32[$54>>2] = $56; + HEAP32[$n>>2] = $56; + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 32|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$n>>2]|0; + $61 = HEAP32[$0>>2]|0; + $62 = ((($61)) + 32|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + (($60*24)|0)|0); + ;HEAP32[$59>>2]=HEAP32[$64>>2]|0;HEAP32[$59+4>>2]=HEAP32[$64+4>>2]|0;HEAP32[$59+8>>2]=HEAP32[$64+8>>2]|0;HEAP32[$59+12>>2]=HEAP32[$64+12>>2]|0;HEAP32[$59+16>>2]=HEAP32[$64+16>>2]|0;HEAP32[$59+20>>2]=HEAP32[$64+20>>2]|0; + $65 = HEAP32[$n>>2]|0; + $66 = ($65|0)<(4); + if ($66) { + $67 = HEAP32[$n>>2]|0; + $68 = (($67) + 1)|0; + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 64|0); + $71 = (($70) + ($68<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 64|0); + $75 = ((($74)) + 4|0); + HEAP32[$75>>2] = $72; + $76 = HEAP32[$n>>2]|0; + $77 = (($76) + 1)|0; + $78 = HEAP32[$0>>2]|0; + $79 = ((($78)) + 64|0); + $80 = (($79) + ($77<<2)|0); + HEAP32[$80>>2] = 0; } - $25 = HEAP32[$pPgHdr>>2]|0; - $26 = (($25) + 26|0); - $27 = HEAP16[$26>>1]|0; - $28 = (($27) + 1)<<16>>16; - HEAP16[$26>>1] = $28; - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)==(1); - if ($30) { - $31 = HEAP32[$pPgHdr>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 44|0); - HEAP32[$33>>2] = $31; + HEAP32[$i>>2] = 0; + while(1) { + $81 = HEAP32[$i>>2]|0; + $82 = $81<<1; + $83 = (($82) + 1)|0; + HEAP32[$j>>2] = $83; + $84 = HEAP32[$n>>2]|0; + $85 = ($83|0)<($84|0); + if (!($85)) { + label = 16; + break; + } + $86 = HEAP32[$j>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$k>>2] = $87; + $88 = HEAP32[$k>>2]|0; + $89 = HEAP32[$n>>2]|0; + $90 = ($88|0)<($89|0); + if ($90) { + $91 = HEAP32[$k>>2]|0; + $92 = HEAP32[$0>>2]|0; + $93 = ((($92)) + 32|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + (($91*24)|0)|0); + $96 = HEAP32[$j>>2]|0; + $97 = HEAP32[$0>>2]|0; + $98 = ((($97)) + 32|0); + $99 = HEAP32[$98>>2]|0; + $100 = (($99) + (($96*24)|0)|0); + $101 = (_rtreeSearchPointCompare($95,$100)|0); + $102 = ($101|0)<(0); + if ($102) { + $103 = HEAP32[$k>>2]|0; + $104 = HEAP32[$0>>2]|0; + $105 = ((($104)) + 32|0); + $106 = HEAP32[$105>>2]|0; + $107 = (($106) + (($103*24)|0)|0); + $108 = HEAP32[$i>>2]|0; + $109 = HEAP32[$0>>2]|0; + $110 = ((($109)) + 32|0); + $111 = HEAP32[$110>>2]|0; + $112 = (($111) + (($108*24)|0)|0); + $113 = (_rtreeSearchPointCompare($107,$112)|0); + $114 = ($113|0)<(0); + if (!($114)) { + label = 16; + break; + } + $115 = HEAP32[$0>>2]|0; + $116 = HEAP32[$i>>2]|0; + $117 = HEAP32[$k>>2]|0; + _rtreeSearchPointSwap($115,$116,$117); + $118 = HEAP32[$k>>2]|0; + HEAP32[$i>>2] = $118; + continue; + } + } + $119 = HEAP32[$j>>2]|0; + $120 = HEAP32[$0>>2]|0; + $121 = ((($120)) + 32|0); + $122 = HEAP32[$121>>2]|0; + $123 = (($122) + (($119*24)|0)|0); + $124 = HEAP32[$i>>2]|0; + $125 = HEAP32[$0>>2]|0; + $126 = ((($125)) + 32|0); + $127 = HEAP32[$126>>2]|0; + $128 = (($127) + (($124*24)|0)|0); + $129 = (_rtreeSearchPointCompare($123,$128)|0); + $130 = ($129|0)<(0); + if (!($130)) { + label = 16; + break; + } + $131 = HEAP32[$0>>2]|0; + $132 = HEAP32[$i>>2]|0; + $133 = HEAP32[$j>>2]|0; + _rtreeSearchPointSwap($131,$132,$133); + $134 = HEAP32[$j>>2]|0; + HEAP32[$i>>2] = $134; } - $34 = HEAP32[$pPgHdr>>2]|0; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); -} -function _pcacheFetchFinishWithInit($pCache,$pgno,$pPage) { - $pCache = $pCache|0; - $pgno = $pgno|0; - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pPgHdr = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $pgno; - HEAP32[$2>>2] = $pPage; - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pPgHdr>>2] = $5; - $6 = HEAP32[$pPgHdr>>2]|0; - dest=$6+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$pPgHdr>>2]|0; - HEAP32[$8>>2] = $7; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$pPgHdr>>2]|0; - $12 = (($11) + 4|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$pPgHdr>>2]|0; - $14 = (($13) + 40|0); - $15 = HEAP32[$pPgHdr>>2]|0; - $16 = (($15) + 8|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$pPgHdr>>2]|0; - $18 = (($17) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 24|0); - $22 = HEAP32[$21>>2]|0; - _memset(($19|0),0,($22|0))|0; - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$pPgHdr>>2]|0; - $25 = (($24) + 28|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$pPgHdr>>2]|0; - $28 = (($27) + 20|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$2>>2]|0; - $32 = (_sqlite3PcacheFetchFinish($29,$30,$31)|0); - STACKTOP = sp;return ($32|0); -} -function _journalHdrOffset($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $offset = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $offset = sp + 8|0; - $c = sp; - HEAP32[$0>>2] = $pPager; - $1 = $offset; - $2 = $1; - HEAP32[$2>>2] = 0; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 72|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = $c; - $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $12; - $17 = $c; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)!=(0); - $24 = ($22|0)!=(0); - $25 = $23 | $24; - if (!($25)) { - $50 = $offset; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - tempRet0 = $55; - STACKTOP = sp;return ($52|0); + if ((label|0) == 16) { + STACKTOP = sp;return; } - $26 = $c; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (_i64Subtract(($28|0),($31|0),1,0)|0); - $33 = tempRet0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 148|0); - $36 = HEAP32[$35>>2]|0; - $37 = (___divdi3(($32|0),($33|0),($36|0),0)|0); - $38 = tempRet0; - $39 = (_i64Add(($37|0),($38|0),1,0)|0); - $40 = tempRet0; - $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 148|0); - $43 = HEAP32[$42>>2]|0; - $44 = (___muldi3(($39|0),($40|0),($43|0),0)|0); - $45 = tempRet0; - $46 = $offset; - $47 = $46; - HEAP32[$47>>2] = $44; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $45; - $50 = $offset; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - tempRet0 = $55; - STACKTOP = sp;return ($52|0); } -function _pagerPlaybackSavepoint($pPager,$pSavepoint) { - $pPager = $pPager|0; - $pSavepoint = $pSavepoint|0; +function _rtreeStepToLeaf($pCur) { + $pCur = $pCur|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $134 = 0, $135 = 0.0, $136 = 0, $137 = 0, $138 = 0.0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dummy = 0, $iHdrOff = 0, $ii = 0, $ii1 = 0, $nJRec = 0; - var $offset = 0, $pDone = 0, $rc = 0, $szJ = 0, label = 0, sp = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eInt = 0; + var $eWithin = 0, $ii = 0, $nCell = 0, $nConstraint = 0, $p = 0, $pCellData = 0, $pConstraint = 0, $pNode = 0, $pRtree = 0, $rScore = 0, $rc = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $szJ = sp + 16|0; - $iHdrOff = sp + 8|0; - $rc = sp + 44|0; - $pDone = sp + 40|0; - $ii = sp + 36|0; - $nJRec = sp + 32|0; - $dummy = sp + 28|0; - $ii1 = sp + 24|0; - $offset = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pSavepoint; - HEAP32[$rc>>2] = 0; - HEAP32[$pDone>>2] = 0; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 76|0; + $1 = sp + 64|0; + $p = sp + 68|0; + $pRtree = sp + 56|0; + $pNode = sp + 40|0; + $eWithin = sp + 60|0; + $rc = sp + 72|0; + $nCell = sp + 80|0; + $nConstraint = sp + 44|0; + $ii = sp + 48|0; + $eInt = sp + 52|0; + $x = sp; + $rScore = sp + 24|0; + $pCellData = sp + 32|0; + $pConstraint = sp + 36|0; + HEAP32[$1>>2] = $pCur; + $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = (($5) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3BitvecCreate($7)|0); - HEAP32[$pDone>>2] = $8; - $9 = HEAP32[$pDone>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - HEAP32[$0>>2] = 7; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); - } - } - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)!=(0|0); - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 20|0); - $15 = HEAP32[$14>>2]|0; - $21 = $15; - } else { - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 28|0); - $18 = HEAP32[$17>>2]|0; - $21 = $18; - } - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 24|0); - HEAP32[$20>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 12|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 18|0); - HEAP8[$26>>0] = $24; - $27 = HEAP32[$2>>2]|0; - $28 = ($27|0)!=(0|0); - if (!($28)) { - $29 = HEAP32[$1>>2]|0; - $30 = (_pagerUseWal($29)|0); - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[$1>>2]|0; - $33 = (_pagerRollbackWal($32)|0); - HEAP32[$0>>2] = $33; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); - } - } - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 72|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = $szJ; - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = HEAP32[$2>>2]|0; - $47 = ($46|0)!=(0|0); - L15: do { - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = (_pagerUseWal($48)|0); - $50 = ($49|0)!=(0); - if ($50) { - label = 19; - } else { - $51 = HEAP32[$2>>2]|0; - $52 = (($51) + 8|0); - $53 = $52; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = ($55|0)!=(0); - $60 = ($58|0)!=(0); - $61 = $59 | $60; - if ($61) { - $62 = HEAP32[$2>>2]|0; - $63 = (($62) + 8|0); - $64 = $63; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $78 = $66;$81 = $69; - } else { - $70 = $szJ; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $78 = $72;$81 = $75; - } - $76 = $iHdrOff; - $77 = $76; - HEAP32[$77>>2] = $78; - $79 = (($76) + 4)|0; - $80 = $79; - HEAP32[$80>>2] = $81; - $82 = HEAP32[$2>>2]|0; - $83 = $82; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (($83) + 4)|0; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = (($89) + 72|0); - $91 = $90; - $92 = $91; - HEAP32[$92>>2] = $85; - $93 = (($91) + 4)|0; - $94 = $93; - HEAP32[$94>>2] = $88; - while(1) { - $95 = HEAP32[$rc>>2]|0; - $96 = ($95|0)==(0); - if (!($96)) { - break L15; - } - $97 = HEAP32[$1>>2]|0; - $98 = (($97) + 72|0); - $99 = $98; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (($99) + 4)|0; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = $iHdrOff; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = ($104|0)<($110|0); - $112 = ($101>>>0)<($107>>>0); - $113 = ($104|0)==($110|0); - $114 = $113 & $112; - $115 = $111 | $114; - if (!($115)) { - break L15; - } - $116 = HEAP32[$1>>2]|0; - $117 = HEAP32[$1>>2]|0; - $118 = (($117) + 72|0); - $119 = HEAP32[$pDone>>2]|0; - $120 = (_pager_playback_one_page($116,$118,$119,1,1)|0); - HEAP32[$rc>>2] = $120; - } - } - } else { - label = 19; - } - } while(0); - if ((label|0) == 19) { - $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 72|0); - $123 = $122; - $124 = $123; - HEAP32[$124>>2] = 0; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = 0; - } - L28: while(1) { - $127 = HEAP32[$rc>>2]|0; - $128 = ($127|0)==(0); - if (!($128)) { + HEAP32[$pRtree>>2] = $3; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$nConstraint>>2] = $6; + $7 = HEAP32[$pRtree>>2]|0; + $8 = ((($7)) + 21|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(1); + $12 = $11&1; + HEAP32[$eInt>>2] = $12; + L1: while(1) { + $13 = HEAP32[$1>>2]|0; + $14 = (_rtreeSearchPointFirst($13)|0); + HEAP32[$p>>2] = $14; + $15 = ($14|0)!=(0|0); + if (!($15)) { + label = 31; break; } - $129 = HEAP32[$1>>2]|0; - $130 = (($129) + 72|0); - $131 = $130; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = $szJ; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (($137) + 4)|0; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = ($136|0)<($142|0); - $144 = ($133>>>0)<($139>>>0); - $145 = ($136|0)==($142|0); - $146 = $145 & $144; - $147 = $143 | $146; - if (!($147)) { + $16 = HEAP32[$p>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)>(0); + if (!($20)) { + label = 31; break; } - HEAP32[$nJRec>>2] = 0; - $148 = HEAP32[$1>>2]|0; - $149 = $szJ; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (_readJournalHdr($148,0,$151,$154,$nJRec,$dummy)|0); - HEAP32[$rc>>2] = $155; - $156 = HEAP32[$nJRec>>2]|0; - $157 = ($156|0)==(0); - if ($157) { - $158 = HEAP32[$1>>2]|0; - $159 = (($158) + 80|0); - $160 = $159; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (($160) + 4)|0; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = HEAP32[$1>>2]|0; - $167 = (($166) + 148|0); - $168 = HEAP32[$167>>2]|0; - $169 = (_i64Add(($162|0),($165|0),($168|0),0)|0); - $170 = tempRet0; - $171 = HEAP32[$1>>2]|0; - $172 = (($171) + 72|0); - $173 = $172; - $174 = $173; - $175 = HEAP32[$174>>2]|0; - $176 = (($173) + 4)|0; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = ($169|0)==($175|0); - $180 = ($170|0)==($178|0); - $181 = $179 & $180; - if ($181) { - $182 = $szJ; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = HEAP32[$1>>2]|0; - $189 = (($188) + 72|0); - $190 = $189; - $191 = $190; - $192 = HEAP32[$191>>2]|0; - $193 = (($190) + 4)|0; - $194 = $193; - $195 = HEAP32[$194>>2]|0; - $196 = (_i64Subtract(($184|0),($187|0),($192|0),($195|0))|0); - $197 = tempRet0; - $198 = HEAP32[$1>>2]|0; - $199 = (($198) + 152|0); - $200 = HEAP32[$199>>2]|0; - $201 = (($200) + 8)|0; - $202 = ($201|0)<(0); - $203 = $202 << 31 >> 31; - $204 = (___divdi3(($196|0),($197|0),($201|0),($203|0))|0); - $205 = tempRet0; - HEAP32[$nJRec>>2] = $204; - } + $21 = HEAP32[$1>>2]|0; + $22 = (_rtreeNodeOfFirstSearchPoint($21,$rc)|0); + HEAP32[$pNode>>2] = $22; + $23 = HEAP32[$rc>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + label = 5; + break; } - HEAP32[$ii>>2] = 0; + $26 = HEAP32[$pNode>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 2|0); + $30 = (_readInt16($29)|0); + HEAP32[$nCell>>2] = $30; while(1) { - $206 = HEAP32[$rc>>2]|0; - $207 = ($206|0)==(0); - if (!($207)) { - continue L28; + $31 = HEAP32[$p>>2]|0; + $32 = ((($31)) + 18|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = HEAP32[$nCell>>2]|0; + $36 = ($34|0)<($35|0); + if (!($36)) { + break; } - $208 = HEAP32[$ii>>2]|0; - $209 = HEAP32[$nJRec>>2]|0; - $210 = ($208>>>0)<($209>>>0); - if (!($210)) { - continue L28; + HEAPF64[$rScore>>3] = -1.0; + $37 = HEAP32[$pNode>>2]|0; + $38 = ((($37)) + 24|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$pRtree>>2]|0; + $41 = ((($40)) + 22|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = HEAP32[$p>>2]|0; + $45 = ((($44)) + 18|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = Math_imul($43, $47)|0; + $49 = (4 + ($48))|0; + $50 = (($39) + ($49)|0); + HEAP32[$pCellData>>2] = $50; + HEAP32[$eWithin>>2] = 2; + HEAP32[$ii>>2] = 0; + while(1) { + $51 = HEAP32[$ii>>2]|0; + $52 = HEAP32[$nConstraint>>2]|0; + $53 = ($51|0)<($52|0); + if (!($53)) { + break; + } + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$ii>>2]|0; + $58 = (($56) + (($57*24)|0)|0); + HEAP32[$pConstraint>>2] = $58; + $59 = HEAP32[$pConstraint>>2]|0; + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)>=(70); + do { + if ($62) { + $63 = HEAP32[$pConstraint>>2]|0; + $64 = HEAP32[$eInt>>2]|0; + $65 = HEAP32[$pCellData>>2]|0; + $66 = HEAP32[$p>>2]|0; + $67 = (_rtreeCallbackConstraint($63,$64,$65,$66,$rScore,$eWithin)|0); + HEAP32[$rc>>2] = $67; + $68 = HEAP32[$rc>>2]|0; + $69 = ($68|0)!=(0); + if ($69) { + label = 12; + break L1; + } + } else { + $71 = HEAP32[$p>>2]|0; + $72 = ((($71)) + 16|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = ($74|0)==(1); + $76 = HEAP32[$pConstraint>>2]|0; + $77 = HEAP32[$eInt>>2]|0; + $78 = HEAP32[$pCellData>>2]|0; + if ($75) { + _rtreeLeafConstraint($76,$77,$78,$eWithin); + break; + } else { + _rtreeNonleafConstraint($76,$77,$78,$eWithin); + break; + } + } + } while(0); + $79 = HEAP32[$eWithin>>2]|0; + $80 = ($79|0)==(0); + if ($80) { + break; + } + $81 = HEAP32[$ii>>2]|0; + $82 = (($81) + 1)|0; + HEAP32[$ii>>2] = $82; } - $211 = HEAP32[$1>>2]|0; - $212 = (($211) + 72|0); - $213 = $212; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (($213) + 4)|0; - $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = $szJ; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = ($218|0)<($224|0); - $226 = ($215>>>0)<($221>>>0); - $227 = ($218|0)==($224|0); - $228 = $227 & $226; - $229 = $225 | $228; - if (!($229)) { - continue L28; + $83 = HEAP32[$p>>2]|0; + $84 = ((($83)) + 18|0); + $85 = HEAP8[$84>>0]|0; + $86 = (($85) + 1)<<24>>24; + HEAP8[$84>>0] = $86; + $87 = HEAP32[$eWithin>>2]|0; + $88 = ($87|0)==(0); + if (!($88)) { + label = 19; + break; } - $230 = HEAP32[$1>>2]|0; - $231 = HEAP32[$1>>2]|0; - $232 = (($231) + 72|0); - $233 = HEAP32[$pDone>>2]|0; - $234 = (_pager_playback_one_page($230,$232,$233,1,1)|0); - HEAP32[$rc>>2] = $234; - $235 = HEAP32[$ii>>2]|0; - $236 = (($235) + 1)|0; - HEAP32[$ii>>2] = $236; } - } - $237 = HEAP32[$2>>2]|0; - $238 = ($237|0)!=(0|0); - L42: do { - if ($238) { - $239 = HEAP32[$2>>2]|0; - $240 = (($239) + 24|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[$1>>2]|0; - $243 = (($242) + 152|0); - $244 = HEAP32[$243>>2]|0; - $245 = (4 + ($244))|0; - $246 = ($245|0)<(0); - $247 = $246 << 31 >> 31; - $248 = (___muldi3(($241|0),0,($245|0),($247|0))|0); - $249 = tempRet0; - $250 = $offset; - $251 = $250; - HEAP32[$251>>2] = $248; - $252 = (($250) + 4)|0; - $253 = $252; - HEAP32[$253>>2] = $249; - $254 = HEAP32[$1>>2]|0; - $255 = (_pagerUseWal($254)|0); - $256 = ($255|0)!=(0); - if ($256) { - $257 = HEAP32[$1>>2]|0; - $258 = (($257) + 208|0); - $259 = HEAP32[$258>>2]|0; - $260 = HEAP32[$2>>2]|0; - $261 = (($260) + 28|0); - $262 = (_sqlite3WalSavepointUndo($259,$261)|0); - HEAP32[$rc>>2] = $262; + if ((label|0) == 19) { + label = 0; + $89 = HEAP32[$p>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP8[$90>>0]|0; + $92 = $91&255; + $93 = (($92) - 1)|0; + $94 = $93&255; + $95 = ((($x)) + 16|0); + HEAP8[$95>>0] = $94; + $96 = ((($x)) + 16|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)!=(0); + if ($98) { + $99 = HEAP32[$pCellData>>2]|0; + $100 = (_readInt64($99)|0); + $101 = tempRet0; + $102 = ((($x)) + 8|0); + $103 = $102; + $104 = $103; + HEAP32[$104>>2] = $100; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $101; + $107 = ((($x)) + 18|0); + HEAP8[$107>>0] = 0; + } else { + $108 = HEAP32[$p>>2]|0; + $109 = ((($108)) + 8|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($x)) + 8|0); + $117 = $116; + $118 = $117; + HEAP32[$118>>2] = $112; + $119 = (($117) + 4)|0; + $120 = $119; + HEAP32[$120>>2] = $115; + $121 = HEAP32[$p>>2]|0; + $122 = ((($121)) + 18|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = (($124) - 1)|0; + $126 = $125&255; + $127 = ((($x)) + 18|0); + HEAP8[$127>>0] = $126; } - $263 = HEAP32[$2>>2]|0; - $264 = (($263) + 24|0); - $265 = HEAP32[$264>>2]|0; - HEAP32[$ii1>>2] = $265; - while(1) { - $266 = HEAP32[$rc>>2]|0; - $267 = ($266|0)==(0); - if (!($267)) { - break L42; - } - $268 = HEAP32[$ii1>>2]|0; - $269 = HEAP32[$1>>2]|0; - $270 = (($269) + 52|0); - $271 = HEAP32[$270>>2]|0; - $272 = ($268>>>0)<($271>>>0); - if (!($272)) { - break L42; - } - $273 = HEAP32[$1>>2]|0; - $274 = HEAP32[$pDone>>2]|0; - $275 = (_pager_playback_one_page($273,$offset,$274,0,1)|0); - HEAP32[$rc>>2] = $275; - $276 = HEAP32[$ii1>>2]|0; - $277 = (($276) + 1)|0; - HEAP32[$ii1>>2] = $277; + $128 = HEAP32[$p>>2]|0; + $129 = ((($128)) + 18|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130&255; + $132 = HEAP32[$nCell>>2]|0; + $133 = ($131|0)>=($132|0); + if ($133) { + $134 = HEAP32[$1>>2]|0; + _rtreeSearchPointPop($134); + } + $135 = +HEAPF64[$rScore>>3]; + $136 = $135 < 0.0; + if ($136) { + HEAPF64[$rScore>>3] = 0.0; } + $137 = HEAP32[$1>>2]|0; + $138 = +HEAPF64[$rScore>>3]; + $139 = ((($x)) + 16|0); + $140 = HEAP8[$139>>0]|0; + $141 = (_rtreeSearchPointNew($137,$138,$140)|0); + HEAP32[$p>>2] = $141; + $142 = HEAP32[$p>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + label = 27; + break; + } + $144 = HEAP32[$eWithin>>2]|0; + $145 = $144&255; + $146 = HEAP32[$p>>2]|0; + $147 = ((($146)) + 17|0); + HEAP8[$147>>0] = $145; + $148 = ((($x)) + 8|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$p>>2]|0; + $156 = ((($155)) + 8|0); + $157 = $156; + $158 = $157; + HEAP32[$158>>2] = $151; + $159 = (($157) + 4)|0; + $160 = $159; + HEAP32[$160>>2] = $154; + $161 = ((($x)) + 18|0); + $162 = HEAP8[$161>>0]|0; + $163 = HEAP32[$p>>2]|0; + $164 = ((($163)) + 18|0); + HEAP8[$164>>0] = $162; } - } while(0); - $278 = HEAP32[$pDone>>2]|0; - _sqlite3BitvecDestroy($278); - $279 = HEAP32[$rc>>2]|0; - $280 = ($279|0)==(0); - if ($280) { - $281 = $szJ; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - $284 = (($281) + 4)|0; - $285 = $284; - $286 = HEAP32[$285>>2]|0; - $287 = HEAP32[$1>>2]|0; - $288 = (($287) + 72|0); - $289 = $288; - $290 = $289; - HEAP32[$290>>2] = $283; - $291 = (($289) + 4)|0; - $292 = $291; - HEAP32[$292>>2] = $286; + $165 = HEAP32[$p>>2]|0; + $166 = ((($165)) + 18|0); + $167 = HEAP8[$166>>0]|0; + $168 = $167&255; + $169 = HEAP32[$nCell>>2]|0; + $170 = ($168|0)>=($169|0); + if (!($170)) { + continue; + } + $171 = HEAP32[$1>>2]|0; + _rtreeSearchPointPop($171); } - $293 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $293; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); -} -function _pagerRollbackWal($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pList = 0, $pNext = 0, $rc = 0, label = 0, sp = 0; + if ((label|0) == 5) { + $25 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $25; + $178 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($178|0); + } + else if ((label|0) == 12) { + $70 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $70; + $178 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($178|0); + } + else if ((label|0) == 27) { + HEAP32[$0>>2] = 7; + $178 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($178|0); + } + else if ((label|0) == 31) { + $172 = HEAP32[$p>>2]|0; + $173 = ($172|0)==(0|0); + $174 = $173&1; + $175 = $174&255; + $176 = HEAP32[$1>>2]|0; + $177 = ((($176)) + 4|0); + HEAP8[$177>>0] = $175; + HEAP32[$0>>2] = 0; + $178 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($178|0); + } + return (0)|0; +} +function _rtreeCallbackConstraint($pConstraint,$eInt,$pCellData,$pSearch,$prScore,$peWithin) { + $pConstraint = $pConstraint|0; + $eInt = $eInt|0; + $pCellData = $pCellData|0; + $pSearch = $pSearch|0; + $prScore = $prScore|0; + $peWithin = $peWithin|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0; + var $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aCoord = 0, $c = 0, $i = 0, $nCoord = 0, $pInfo = 0; + var $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $rc = sp + 8|0; - $pList = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 24|0); - HEAP32[$5>>2] = $3; + STACKTOP = STACKTOP + 128|0; + $0 = sp + 80|0; + $1 = sp + 96|0; + $2 = sp + 84|0; + $3 = sp + 88|0; + $4 = sp + 100|0; + $5 = sp + 116|0; + $i = sp + 120|0; + $pInfo = sp + 104|0; + $nCoord = sp + 108|0; + $rc = sp + 112|0; + $aCoord = sp; + $c = sp + 92|0; + HEAP32[$0>>2] = $pConstraint; + HEAP32[$1>>2] = $eInt; + HEAP32[$2>>2] = $pCellData; + HEAP32[$3>>2] = $pSearch; + HEAP32[$4>>2] = $prScore; + HEAP32[$5>>2] = $peWithin; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 208|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3WalUndo($8,36,$9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 204|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3PcacheDirtyList($13)|0); - HEAP32[$pList>>2] = $14; + HEAP32[$pInfo>>2] = $8; + $9 = HEAP32[$pInfo>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$nCoord>>2] = $11; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(71); + if ($15) { + $16 = HEAP32[$3>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(1); + if ($20) { + $21 = HEAP32[$2>>2]|0; + $22 = (_readInt64($21)|0); + $23 = tempRet0; + $24 = HEAP32[$pInfo>>2]|0; + $25 = ((($24)) + 40|0); + $26 = $25; + $27 = $26; + HEAP32[$27>>2] = $22; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $23; + } + } + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 8|0); + HEAP32[$2>>2] = $31; + HEAP32[$i>>2] = 0; while(1) { - $15 = HEAP32[$pList>>2]|0; - $16 = ($15|0)!=(0|0); - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)==(0); - $or$cond = $16 & $18; - if (!($or$cond)) { + $32 = HEAP32[$i>>2]|0; + $33 = HEAP32[$nCoord>>2]|0; + $34 = ($32|0)<($33|0); + if (!($34)) { break; } - $19 = HEAP32[$pList>>2]|0; - $20 = (($19) + 12|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pNext>>2] = $21; - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$pList>>2]|0; - $24 = (($23) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = (_pagerUndoCallback($22,$25)|0); - HEAP32[$rc>>2] = $26; - $27 = HEAP32[$pNext>>2]|0; - HEAP32[$pList>>2] = $27; + $35 = HEAP32[$2>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = $37 << 24; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 << 16; + $44 = (($38) + ($43))|0; + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 2|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = $48 << 8; + $50 = (($44) + ($49))|0; + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 3|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = (($50) + ($54))|0; + HEAP32[$c>>2] = $55; + $56 = HEAP32[$1>>2]|0; + $57 = ($56|0)!=(0); + $58 = HEAP32[$c>>2]|0; + $59 = (+($58|0)); + $60 = +HEAPF32[$c>>2]; + $61 = $60; + $62 = $57 ? $59 : $61; + $63 = HEAP32[$i>>2]|0; + $64 = (($aCoord) + ($63<<3)|0); + HEAPF64[$64>>3] = $62; + $65 = HEAP32[$i>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$i>>2] = $66; + $67 = HEAP32[$2>>2]|0; + $68 = ((($67)) + 4|0); + HEAP32[$2>>2] = $68; } - $28 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($28|0); -} -function _sqlite3WalSavepointUndo($pWal,$aWalData) { - $pWal = $pWal|0; - $aWalData = $aWalData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $aWalData; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 104|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($4|0)!=($7|0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - HEAP32[$9>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 104|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 12|0); - HEAP32[$14>>2] = $12; + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(70); + if ($72) { + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 8|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$pInfo>>2]|0; + $77 = HEAP32[$nCoord>>2]|0; + $78 = (FUNCTION_TABLE_iiiii[$75 & 15]($76,$77,$aCoord,$i)|0); + HEAP32[$rc>>2] = $78; + $79 = HEAP32[$i>>2]|0; + $80 = ($79|0)==(0); + if ($80) { + $81 = HEAP32[$5>>2]|0; + HEAP32[$81>>2] = 0; + } + $82 = HEAP32[$4>>2]|0; + HEAPF64[$82>>3] = 0.0; + $134 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($134|0); } - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 52|0); - $19 = (($18) + 16|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16>>>0)<($20>>>0); - if (!($21)) { - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + $83 = HEAP32[$pInfo>>2]|0; + $84 = ((($83)) + 20|0); + HEAP32[$84>>2] = $aCoord; + $85 = HEAP32[$3>>2]|0; + $86 = ((($85)) + 16|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + $89 = (($88) - 1)|0; + $90 = HEAP32[$pInfo>>2]|0; + $91 = ((($90)) + 32|0); + HEAP32[$91>>2] = $89; + $92 = HEAP32[$3>>2]|0; + $93 = +HEAPF64[$92>>3]; + $94 = HEAP32[$pInfo>>2]|0; + $95 = ((($94)) + 48|0); + HEAPF64[$95>>3] = $93; + $96 = HEAP32[$pInfo>>2]|0; + $97 = ((($96)) + 64|0); + HEAPF64[$97>>3] = $93; + $98 = HEAP32[$3>>2]|0; + $99 = ((($98)) + 17|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100&255; + $102 = HEAP32[$pInfo>>2]|0; + $103 = ((($102)) + 56|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$pInfo>>2]|0; + $105 = ((($104)) + 60|0); + HEAP32[$105>>2] = $101; + $106 = HEAP32[$0>>2]|0; + $107 = ((($106)) + 8|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$pInfo>>2]|0; + $110 = (FUNCTION_TABLE_ii[$108 & 31]($109)|0); + HEAP32[$rc>>2] = $110; + $111 = HEAP32[$pInfo>>2]|0; + $112 = ((($111)) + 60|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$5>>2]|0; + $115 = HEAP32[$114>>2]|0; + $116 = ($113|0)<($115|0); + if ($116) { + $117 = HEAP32[$pInfo>>2]|0; + $118 = ((($117)) + 60|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$5>>2]|0; + HEAP32[$120>>2] = $119; + } + $121 = HEAP32[$pInfo>>2]|0; + $122 = ((($121)) + 64|0); + $123 = +HEAPF64[$122>>3]; + $124 = HEAP32[$4>>2]|0; + $125 = +HEAPF64[$124>>3]; + $126 = $123 < $125; + if (!($126)) { + $127 = HEAP32[$4>>2]|0; + $128 = +HEAPF64[$127>>3]; + $129 = $128 < 0.0; + if (!($129)) { + $134 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($134|0); + } } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 52|0); - $26 = (($25) + 16|0); - HEAP32[$26>>2] = $23; - $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 52|0); - $32 = (($31) + 24|0); - HEAP32[$32>>2] = $29; - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 52|0); - $38 = (($37) + 24|0); - $39 = (($38) + 4|0); - HEAP32[$39>>2] = $35; - $40 = HEAP32[$0>>2]|0; - _walCleanupHash($40); - $41 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($41|0); + $130 = HEAP32[$pInfo>>2]|0; + $131 = ((($130)) + 64|0); + $132 = +HEAPF64[$131>>3]; + $133 = HEAP32[$4>>2]|0; + HEAPF64[$133>>3] = $132; + $134 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($134|0); } -function _walCleanupHash($pWal) { - $pWal = $pWal|0; +function _rtreeLeafConstraint($p,$eInt,$pCellData,$peWithin) { + $p = $p|0; + $eInt = $eInt|0; + $pCellData = $pCellData|0; + $peWithin = $peWithin|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $i = 0, $iLimit = 0, $iZero = 0, $nByte = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0; + var $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $xN = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; - $aHash = sp + 20|0; - $aPgno = sp + 16|0; - $iZero = sp + 12|0; - $iLimit = sp + 8|0; - $nByte = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$aHash>>2] = 0; - HEAP32[$aPgno>>2] = 0; - HEAP32[$iZero>>2] = 0; - HEAP32[$iLimit>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 52|0); - $3 = (($2) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 52|0); - $9 = (($8) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_walFramePage($10)|0); - (_walHashGet($6,$11,$aHash,$aPgno,$iZero)|0); - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 52|0); - $14 = (($13) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$iZero>>2]|0; - $17 = (($15) - ($16))|0; - HEAP32[$iLimit>>2] = $17; - HEAP32[$i>>2] = 0; - while(1) { - $18 = HEAP32[$i>>2]|0; - $19 = ($18|0)<(8192); - if (!($19)) { - break; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $xN = sp; + $c = sp + 8|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $eInt; + HEAP32[$2>>2] = $pCellData; + HEAP32[$3>>2] = $peWithin; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = $5<<2; + $7 = (8 + ($6))|0; + $8 = HEAP32[$2>>2]|0; + $9 = (($8) + ($7)|0); + HEAP32[$2>>2] = $9; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 24; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 1|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $17 << 16; + $19 = (($13) + ($18))|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 2|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = $23 << 8; + $25 = (($19) + ($24))|0; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 3|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (($25) + ($29))|0; + HEAP32[$c>>2] = $30; + $31 = HEAP32[$1>>2]|0; + $32 = ($31|0)!=(0); + $33 = HEAP32[$c>>2]|0; + $34 = (+($33|0)); + $35 = +HEAPF32[$c>>2]; + $36 = $35; + $37 = $32 ? $34 : $36; + HEAPF64[$xN>>3] = $37; + $38 = HEAP32[$0>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + switch ($40|0) { + case 66: { + $41 = +HEAPF64[$xN>>3]; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 8|0); + $44 = +HEAPF64[$43>>3]; + $45 = $41 <= $44; + if ($45) { + STACKTOP = sp;return; } - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$aHash>>2]|0; - $22 = (($21) + ($20<<1)|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = HEAP32[$iLimit>>2]|0; - $26 = ($24|0)>($25|0); - if ($26) { - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$aHash>>2]|0; - $29 = (($28) + ($27<<1)|0); - HEAP16[$29>>1] = 0; + break; + } + case 67: { + $46 = +HEAPF64[$xN>>3]; + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 8|0); + $49 = +HEAPF64[$48>>3]; + $50 = $46 < $49; + if ($50) { + STACKTOP = sp;return; } - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; + break; } - $32 = HEAP32[$aHash>>2]|0; - $33 = HEAP32[$iLimit>>2]|0; - $34 = (($33) + 1)|0; - $35 = HEAP32[$aPgno>>2]|0; - $36 = (($35) + ($34<<2)|0); - $37 = $32; - $38 = $36; - $39 = (($37) - ($38))|0; - HEAP32[$nByte>>2] = $39; - $40 = HEAP32[$iLimit>>2]|0; - $41 = (($40) + 1)|0; - $42 = HEAP32[$aPgno>>2]|0; - $43 = (($42) + ($41<<2)|0); - $44 = HEAP32[$nByte>>2]|0; - _memset(($43|0),0,($44|0))|0; - STACKTOP = sp;return; -} -function _walHashGet($pWal,$iHash,$paHash,$paPgno,$piZero) { - $pWal = $pWal|0; - $iHash = $iHash|0; - $paHash = $paHash|0; - $paPgno = $paPgno|0; - $piZero = $piZero|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $iZero = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $rc = sp + 12|0; - $aPgno = sp + 8|0; - $iZero = sp + 4|0; - $aHash = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $iHash; - HEAP32[$2>>2] = $paHash; - HEAP32[$3>>2] = $paPgno; - HEAP32[$4>>2] = $piZero; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (_walIndexPage($5,$6,$aPgno)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); + case 68: { + $51 = +HEAPF64[$xN>>3]; + $52 = HEAP32[$0>>2]|0; + $53 = ((($52)) + 8|0); + $54 = +HEAPF64[$53>>3]; + $55 = $51 >= $54; + if ($55) { + STACKTOP = sp;return; + } + break; } - $10 = HEAP32[$aPgno>>2]|0; - $11 = (($10) + 16384|0); - HEAP32[$aHash>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$aPgno>>2]|0; - $15 = (($14) + 136|0); - HEAP32[$aPgno>>2] = $15; - HEAP32[$iZero>>2] = 0; - } else { - $16 = HEAP32[$1>>2]|0; - $17 = (($16) - 1)|0; - $18 = $17<<12; - $19 = (4062 + ($18))|0; - HEAP32[$iZero>>2] = $19; + case 69: { + $56 = +HEAPF64[$xN>>3]; + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 8|0); + $59 = +HEAPF64[$58>>3]; + $60 = $56 > $59; + if ($60) { + STACKTOP = sp;return; + } + break; } - $20 = HEAP32[$aPgno>>2]|0; - $21 = (($20) + -4|0); - $22 = HEAP32[$3>>2]|0; - HEAP32[$22>>2] = $21; - $23 = HEAP32[$aHash>>2]|0; - $24 = HEAP32[$2>>2]|0; - HEAP32[$24>>2] = $23; - $25 = HEAP32[$iZero>>2]|0; - $26 = HEAP32[$4>>2]|0; - HEAP32[$26>>2] = $25; - $27 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($27|0); -} -function _walFramePage($iFrame) { - $iFrame = $iFrame|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $iHash = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $iHash = sp; - HEAP32[$0>>2] = $iFrame; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4096)|0; - $3 = (($2) - 4062)|0; - $4 = (($3) - 1)|0; - $5 = (($4>>>0) / 4096)&-1; - HEAP32[$iHash>>2] = $5; - $6 = HEAP32[$iHash>>2]|0; - STACKTOP = sp;return ($6|0); + default: { + $61 = +HEAPF64[$xN>>3]; + $62 = HEAP32[$0>>2]|0; + $63 = ((($62)) + 8|0); + $64 = +HEAPF64[$63>>3]; + $65 = $61 == $64; + if ($65) { + STACKTOP = sp;return; + } + } + } + $66 = HEAP32[$3>>2]|0; + HEAP32[$66>>2] = 0; + STACKTOP = sp;return; } -function _walIndexPage($pWal,$iPage,$ppPage) { - $pWal = $pWal|0; - $iPage = $iPage|0; - $ppPage = $ppPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $apNew = 0, $nByte = 0, $rc = 0, label = 0, sp = 0; +function _rtreeNonleafConstraint($p,$eInt,$pCellData,$peWithin) { + $p = $p|0; + $eInt = $eInt|0; + $pCellData = $pCellData|0; + $peWithin = $peWithin|0; + var $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0; + var $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $9 = 0, $c = 0, $c1 = 0, $switch = 0, $val = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; + $0 = sp + 12|0; $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $nByte = sp + 4|0; - $apNew = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $iPage; - HEAP32[$3>>2] = $ppPage; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = ($6|0)<=($7|0); - do { - if ($8) { - $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 1)|0; - $11 = $10<<2; - HEAP32[$nByte>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 32|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$nByte>>2]|0; - $16 = (_sqlite3_realloc($14,$15)|0); - HEAP32[$apNew>>2] = $16; - $17 = HEAP32[$apNew>>2]|0; - $18 = ($17|0)!=(0|0); - if ($18) { - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 24|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$apNew>>2]|0; - $24 = (($23) + ($22<<2)|0); - $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 1)|0; - $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 24|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($26) - ($29))|0; - $31 = $30<<2; - _memset(($24|0),0,($31|0))|0; - $32 = HEAP32[$apNew>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 32|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 1)|0; - $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 24|0); - HEAP32[$38>>2] = $36; - break; - } - $19 = HEAP32[$3>>2]|0; - HEAP32[$19>>2] = 0; - HEAP32[$0>>2] = 7; - $94 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($94|0); - } - } while(0); - $39 = HEAP32[$2>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 32|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + ($39<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==(0|0); + $2 = sp + 24|0; + $3 = sp + 28|0; + $val = sp; + $c = sp + 8|0; + $c1 = sp + 16|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $eInt; + HEAP32[$2>>2] = $pCellData; + HEAP32[$3>>2] = $peWithin; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = $5 & 254; + $7 = $6<<2; + $8 = (8 + ($7))|0; + $9 = HEAP32[$2>>2]|0; + $10 = (($9) + ($8)|0); + HEAP32[$2>>2] = $10; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $$off = (($13) + -65)|0; + $switch = ($$off>>>0)<(3); do { - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 43|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = ($49|0)==(2); - if ($50) { - $51 = (_sqlite3MallocZero(32768,0)|0); - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 32|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + ($52<<2)|0); - HEAP32[$56>>2] = $51; - $57 = HEAP32[$2>>2]|0; - $58 = HEAP32[$1>>2]|0; - $59 = (($58) + 32|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($60) + ($57<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)!=(0|0); - if ($63) { - break; - } - HEAP32[$rc>>2] = 7; - break; + if ($switch) { + $14 = HEAP32[$2>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 1|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 << 16; + $23 = (($17) + ($22))|0; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 2|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $27 << 8; + $29 = (($23) + ($28))|0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 3|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = (($29) + ($33))|0; + HEAP32[$c>>2] = $34; + $35 = HEAP32[$1>>2]|0; + $36 = ($35|0)!=(0); + $37 = HEAP32[$c>>2]|0; + $38 = (+($37|0)); + $39 = +HEAPF32[$c>>2]; + $40 = $39; + $41 = $36 ? $38 : $40; + HEAPF64[$val>>3] = $41; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 8|0); + $44 = +HEAPF64[$43>>3]; + $45 = +HEAPF64[$val>>3]; + $46 = $44 >= $45; + if ($46) { + STACKTOP = sp;return; } else { - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 4|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$2>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 44|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = HEAP32[$2>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 32|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + ($72<<2)|0); - $77 = (_sqlite3OsShmMap($66,$67,32768,$71,$76)|0); - HEAP32[$rc>>2] = $77; - $78 = HEAP32[$rc>>2]|0; - $79 = ($78|0)==(8); - if (!($79)) { + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)!=(65); + if ($50) { + break; + } else { + label = 4; break; } - $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 46|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | 2; - $85 = $84&255; - HEAP8[$81>>0] = $85; - HEAP32[$rc>>2] = 0; - break; } + } else { + label = 4; } } while(0); - $86 = HEAP32[$2>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = (($87) + 32|0); - $89 = HEAP32[$88>>2]|0; - $90 = (($89) + ($86<<2)|0); - $91 = HEAP32[$90>>2]|0; - $92 = HEAP32[$3>>2]|0; - HEAP32[$92>>2] = $91; - $93 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $93; - $94 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($94|0); + if ((label|0) == 4) { + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 4|0); + HEAP32[$2>>2] = $52; + $53 = HEAP32[$2>>2]|0; + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 << 24; + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 1|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = $60 << 16; + $62 = (($56) + ($61))|0; + $63 = HEAP32[$2>>2]|0; + $64 = ((($63)) + 2|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $66 << 8; + $68 = (($62) + ($67))|0; + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 3|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = (($68) + ($72))|0; + HEAP32[$c1>>2] = $73; + $74 = HEAP32[$1>>2]|0; + $75 = ($74|0)!=(0); + $76 = HEAP32[$c1>>2]|0; + $77 = (+($76|0)); + $78 = +HEAPF32[$c1>>2]; + $79 = $78; + $80 = $75 ? $77 : $79; + HEAPF64[$val>>3] = $80; + $81 = HEAP32[$0>>2]|0; + $82 = ((($81)) + 8|0); + $83 = +HEAPF64[$82>>3]; + $84 = +HEAPF64[$val>>3]; + $85 = $83 <= $84; + if ($85) { + STACKTOP = sp;return; + } + } + $86 = HEAP32[$3>>2]|0; + HEAP32[$86>>2] = 0; + STACKTOP = sp;return; } -function _sqlite3OsShmMap($id,$iPage,$pgsz,$bExtend,$pp) { - $id = $id|0; - $iPage = $iPage|0; - $pgsz = $pgsz|0; - $bExtend = $bExtend|0; - $pp = $pp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _rtreeSearchPointNew($pCur,$rScore,$iLevel) { + $pCur = $pCur|0; + $rScore = +$rScore; + $iLevel = $iLevel|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $9 = 0, $ii = 0, $pFirst = 0, $pNew = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $iPage; - HEAP32[$2>>2] = $pgsz; - HEAP32[$3>>2] = $bExtend; - HEAP32[$4>>2] = $pp; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 52|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$4>>2]|0; - $14 = (FUNCTION_TABLE_iiiiii[$8 & 15]($9,$10,$11,$12,$13)|0); - STACKTOP = sp;return ($14|0); -} -function _sqlite3WalUndo($pWal,$xUndo,$pUndoCtx) { - $pWal = $pWal|0; - $xUndo = $xUndo|0; - $pUndoCtx = $pUndoCtx|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $iFrame = 0, $iMax = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $iMax = sp + 4|0; - $iFrame = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $xUndo; - HEAP32[$2>>2] = $pUndoCtx; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 44|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if (!($6)) { - $40 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($40|0); - } - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 52|0); - $9 = (($8) + 16|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$iMax>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 52|0); - $13 = HEAP32[$0>>2]|0; - $14 = (_walIndexHdr($13)|0); - dest=$12+0|0; src=$14+0|0; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 52|0); - $17 = (($16) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$iFrame>>2] = $19; - while(1) { - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - break; + $1 = sp + 24|0; + $2 = sp; + $3 = sp + 28|0; + $pNew = sp + 12|0; + $pFirst = sp + 8|0; + $ii = sp + 20|0; + HEAP32[$1>>2] = $pCur; + HEAPF64[$2>>3] = $rScore; + HEAP8[$3>>0] = $iLevel; + $4 = HEAP32[$1>>2]|0; + $5 = (_rtreeSearchPointFirst($4)|0); + HEAP32[$pFirst>>2] = $5; + $6 = HEAP8[$3>>0]|0; + $7 = $6&255; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 84|0); + $10 = (($9) + ($7<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + 1)|0; + HEAP32[$10>>2] = $12; + $13 = HEAP32[$pFirst>>2]|0; + $14 = ($13|0)==(0|0); + do { + if (!($14)) { + $15 = HEAP32[$pFirst>>2]|0; + $16 = +HEAPF64[$15>>3]; + $17 = +HEAPF64[$2>>3]; + $18 = $16 > $17; + if (!($18)) { + $19 = HEAP32[$pFirst>>2]|0; + $20 = +HEAPF64[$19>>3]; + $21 = +HEAPF64[$2>>3]; + $22 = $20 == $21; + if ($22) { + $23 = HEAP32[$pFirst>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = HEAP8[$3>>0]|0; + $28 = $27&255; + $29 = ($26|0)>($28|0); + if ($29) { + break; + } + } + $78 = HEAP32[$1>>2]|0; + $79 = +HEAPF64[$2>>3]; + $80 = HEAP8[$3>>0]|0; + $81 = (_rtreeEnqueue($78,$79,$80)|0); + HEAP32[$0>>2] = $81; + $82 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($82|0); + } } - $22 = HEAP32[$iFrame>>2]|0; - $23 = HEAP32[$iMax>>2]|0; - $24 = ($22>>>0)<=($23>>>0); - if (!($24)) { - break; + } while(0); + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 5|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)!=(0); + if ($33) { + $34 = HEAP32[$1>>2]|0; + $35 = +HEAPF64[$2>>3]; + $36 = HEAP8[$3>>0]|0; + $37 = (_rtreeEnqueue($34,$35,$36)|0); + HEAP32[$pNew>>2] = $37; + $38 = HEAP32[$pNew>>2]|0; + $39 = ($38|0)==(0|0); + if ($39) { + HEAP32[$0>>2] = 0; + $82 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($82|0); } - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$iFrame>>2]|0; - $29 = (_walFramePgno($27,$28)|0); - $30 = (FUNCTION_TABLE_iii[$25 & 63]($26,$29)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$iFrame>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$iFrame>>2] = $32; - } - $33 = HEAP32[$iMax>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 52|0); - $36 = (($35) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($33|0)!=($37|0); - if (!($38)) { - $40 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($40|0); + $40 = HEAP32[$pNew>>2]|0; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 32|0); + $43 = HEAP32[$42>>2]|0; + $44 = $40; + $45 = $43; + $46 = (($44) - ($45))|0; + $47 = (($46|0) / 24)&-1; + $48 = (($47) + 1)|0; + HEAP32[$ii>>2] = $48; + $49 = HEAP32[$ii>>2]|0; + $50 = ($49|0)<(5); + $51 = HEAP32[$1>>2]|0; + if ($50) { + $52 = ((($51)) + 64|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$ii>>2]|0; + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 64|0); + $57 = (($56) + ($54<<2)|0); + HEAP32[$57>>2] = $53; + } else { + $58 = HEAP32[$51>>2]|0; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 64|0); + $61 = HEAP32[$60>>2]|0; + (_nodeRelease($58,$61)|0); + } + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 64|0); + HEAP32[$63>>2] = 0; + $64 = HEAP32[$pNew>>2]|0; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 40|0); + ;HEAP32[$64>>2]=HEAP32[$66>>2]|0;HEAP32[$64+4>>2]=HEAP32[$66+4>>2]|0;HEAP32[$64+8>>2]=HEAP32[$66+8>>2]|0;HEAP32[$64+12>>2]=HEAP32[$66+12>>2]|0;HEAP32[$64+16>>2]=HEAP32[$66+16>>2]|0;HEAP32[$64+20>>2]=HEAP32[$66+20>>2]|0; } - $39 = HEAP32[$0>>2]|0; - _walCleanupHash($39); - $40 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($40|0); + $67 = +HEAPF64[$2>>3]; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 40|0); + HEAPF64[$69>>3] = $67; + $70 = HEAP8[$3>>0]|0; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 40|0); + $73 = ((($72)) + 16|0); + HEAP8[$73>>0] = $70; + $74 = HEAP32[$1>>2]|0; + $75 = ((($74)) + 5|0); + HEAP8[$75>>0] = 1; + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 40|0); + HEAP32[$0>>2] = $77; + $82 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($82|0); } -function _pagerUndoCallback($pCtx,$iPg) { - $pCtx = $pCtx|0; - $iPg = $iPg|0; +function _rtreeEnqueue($pCur,$rScore,$iLevel) { + $pCur = $pCur|0; + $rScore = +$rScore; + $iLevel = $iLevel|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iFrame = 0, $pPager = 0, $pPg = 0, $rc = 0, label = 0; - var sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $nNew = 0, $pNew = 0, $pParent = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rc = sp + 12|0; - $pPager = sp + 8|0; - $pPg = sp + 4|0; - $iFrame = sp; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $iPg; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pPager>>2] = $2; - $3 = HEAP32[$pPager>>2]|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 12|0; + $1 = sp + 24|0; + $2 = sp; + $3 = sp + 36|0; + $i = sp + 32|0; + $j = sp + 8|0; + $pNew = sp + 20|0; + $nNew = sp + 16|0; + $pParent = sp + 28|0; + HEAP32[$1>>2] = $pCur; + HEAPF64[$2>>3] = $rScore; + HEAP8[$3>>0] = $iLevel; $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3PagerLookup($3,$4)|0); - HEAP32[$pPg>>2] = $5; - $6 = HEAP32[$pPg>>2]|0; - $7 = ($6|0)!=(0|0); + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)>=($9|0); do { - if ($7) { - $8 = HEAP32[$pPg>>2]|0; - $9 = (_sqlite3PcachePageRefcount($8)|0); - $10 = ($9|0)==(1); - if ($10) { - $11 = HEAP32[$pPg>>2]|0; - _sqlite3PcacheDrop($11); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13<<1; + $15 = (($14) + 8)|0; + HEAP32[$nNew>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$nNew>>2]|0; + $20 = ($19*24)|0; + $21 = (_sqlite3_realloc($18,$20)|0); + HEAP32[$pNew>>2] = $21; + $22 = HEAP32[$pNew>>2]|0; + $23 = ($22|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$pNew>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 32|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$nNew>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 20|0); + HEAP32[$29>>2] = $27; break; } - HEAP32[$iFrame>>2] = 0; - $12 = HEAP32[$pPager>>2]|0; - $13 = (($12) + 208|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$pPg>>2]|0; - $16 = (($15) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3WalFindFrame($14,$17,$iFrame)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $21 = HEAP32[$pPg>>2]|0; - $22 = HEAP32[$iFrame>>2]|0; - $23 = (_readDbPage($21,$22)|0); - HEAP32[$rc>>2] = $23; - } - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$pPager>>2]|0; - $27 = (($26) + 196|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$pPg>>2]|0; - FUNCTION_TABLE_vi[$28 & 31]($29); - } - $30 = HEAP32[$pPg>>2]|0; - _sqlite3PagerUnrefNotNull($30); + HEAP32[$0>>2] = 0; + $64 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($64|0); } } while(0); - $31 = HEAP32[$pPager>>2]|0; - $32 = (($31) + 88|0); - $33 = HEAP32[$32>>2]|0; - _sqlite3BackupRestart($33); - $34 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($34|0); -} -function _sqlite3PcacheDirtyList($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$31>>2] = $33; + HEAP32[$i>>2] = $32; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 32|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$i>>2]|0; + $38 = (($36) + (($37*24)|0)|0); + HEAP32[$pNew>>2] = $38; + $39 = +HEAPF64[$2>>3]; + $40 = HEAP32[$pNew>>2]|0; + HEAPF64[$40>>3] = $39; + $41 = HEAP8[$3>>0]|0; + $42 = HEAP32[$pNew>>2]|0; + $43 = ((($42)) + 16|0); + HEAP8[$43>>0] = $41; while(1) { - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $44 = HEAP32[$i>>2]|0; + $45 = ($44|0)>(0); + if (!($45)) { break; } - $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$p>>2]|0; - $9 = (($8) + 12|0); - HEAP32[$9>>2] = $7; - $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 32|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$p>>2] = $12; + $46 = HEAP32[$i>>2]|0; + $47 = (($46) - 1)|0; + $48 = (($47|0) / 2)&-1; + HEAP32[$j>>2] = $48; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$j>>2]|0; + $53 = (($51) + (($52*24)|0)|0); + HEAP32[$pParent>>2] = $53; + $54 = HEAP32[$pNew>>2]|0; + $55 = HEAP32[$pParent>>2]|0; + $56 = (_rtreeSearchPointCompare($54,$55)|0); + $57 = ($56|0)>=(0); + if ($57) { + break; + } + $58 = HEAP32[$1>>2]|0; + $59 = HEAP32[$j>>2]|0; + $60 = HEAP32[$i>>2]|0; + _rtreeSearchPointSwap($58,$59,$60); + $61 = HEAP32[$j>>2]|0; + HEAP32[$i>>2] = $61; + $62 = HEAP32[$pParent>>2]|0; + HEAP32[$pNew>>2] = $62; } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = (_pcacheSortDirtyList($14)|0); - STACKTOP = sp;return ($15|0); + $63 = HEAP32[$pNew>>2]|0; + HEAP32[$0>>2] = $63; + $64 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($64|0); } -function _pcacheSortDirtyList($pIn) { - $pIn = $pIn|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $i = 0, $p = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _rtreeSearchPointCompare($pA,$pB) { + $pA = $pA|0; + $pB = $pB|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 136|0; - $a = sp + 8|0; - $p = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pIn; - dest=$a+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - break; - } - $3 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - $5 = (($4) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$0>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = (($7) + 12|0); - HEAP32[$8>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)<(31); - if (!($10)) { + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $pA; + HEAP32[$2>>2] = $pB; + $3 = HEAP32[$1>>2]|0; + $4 = +HEAPF64[$3>>3]; + $5 = HEAP32[$2>>2]|0; + $6 = +HEAPF64[$5>>3]; + $7 = $4 < $6; + do { + if ($7) { + HEAP32[$0>>2] = -1; + } else { + $8 = HEAP32[$1>>2]|0; + $9 = +HEAPF64[$8>>3]; + $10 = HEAP32[$2>>2]|0; + $11 = +HEAPF64[$10>>3]; + $12 = $9 > $11; + if ($12) { + HEAP32[$0>>2] = 1; break; } - $11 = HEAP32[$i>>2]|0; - $12 = (($a) + ($11<<2)|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - label = 6; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($16|0)<($20|0); + if ($21) { + HEAP32[$0>>2] = -1; + break; + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = ($25|0)>($29|0); + if ($30) { + HEAP32[$0>>2] = 1; + break; + } else { + HEAP32[$0>>2] = 0; break; } - $18 = HEAP32[$i>>2]|0; - $19 = (($a) + ($18<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$p>>2]|0; - $22 = (_pcacheMergeDirtyList($20,$21)|0); - HEAP32[$p>>2] = $22; - $23 = HEAP32[$i>>2]|0; - $24 = (($a) + ($23<<2)|0); - HEAP32[$24>>2] = 0; - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$i>>2] = $26; - } - if ((label|0) == 6) { - label = 0; - $15 = HEAP32[$p>>2]|0; - $16 = HEAP32[$i>>2]|0; - $17 = (($a) + ($16<<2)|0); - HEAP32[$17>>2] = $15; - } - $27 = HEAP32[$i>>2]|0; - $28 = ($27|0)==(31); - if (!($28)) { - continue; - } - $29 = HEAP32[$i>>2]|0; - $30 = (($a) + ($29<<2)|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = (_pcacheMergeDirtyList($31,$32)|0); - $34 = HEAP32[$i>>2]|0; - $35 = (($a) + ($34<<2)|0); - HEAP32[$35>>2] = $33; - } - $36 = HEAP32[$a>>2]|0; - HEAP32[$p>>2] = $36; - HEAP32[$i>>2] = 1; - while(1) { - $37 = HEAP32[$i>>2]|0; - $38 = ($37|0)<(32); - $39 = HEAP32[$p>>2]|0; - if (!($38)) { - break; } - $40 = HEAP32[$i>>2]|0; - $41 = (($a) + ($40<<2)|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_pcacheMergeDirtyList($39,$42)|0); - HEAP32[$p>>2] = $43; - $44 = HEAP32[$i>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[$i>>2] = $45; - } - STACKTOP = sp;return ($39|0); + } while(0); + $31 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($31|0); } -function _pcacheMergeDirtyList($pA,$pB) { - $pA = $pA|0; - $pB = $pB|0; +function _rtreeSearchPointSwap($p,$i,$j) { + $p = $p|0; + $i = $i|0; + $j = $j|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pTail = 0, $result = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, $pTemp = 0, $t = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $result = sp + 8|0; - $pTail = sp; - HEAP32[$0>>2] = $pA; - HEAP32[$1>>2] = $pB; - HEAP32[$pTail>>2] = $result; - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - $40 = $5; - } else { - $40 = 0; - } - $6 = HEAP32[$0>>2]|0; - if (!($40)) { - break; - } - $7 = (($6) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8>>>0)<($11>>>0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pTail>>2]|0; - $15 = (($14) + 12|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$0>>2]|0; - HEAP32[$pTail>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 12|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$0>>2] = $19; - continue; - } else { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$pTail>>2]|0; - $22 = (($21) + 12|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$1>>2]|0; - HEAP32[$pTail>>2] = $23; - $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 12|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$1>>2] = $26; - continue; - } - } - $27 = ($6|0)!=(0|0); - if ($27) { - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$pTail>>2]|0; - $30 = (($29) + 12|0); - HEAP32[$30>>2] = $28; - $38 = (($result) + 12|0); - $39 = HEAP32[$38>>2]|0; - STACKTOP = sp;return ($39|0); + STACKTOP = STACKTOP + 48|0; + $0 = sp + 36|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $t = sp; + $pTemp = sp + 24|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $i; + HEAP32[$2>>2] = $j; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 32|0); + $6 = HEAP32[$5>>2]|0; + $7 = (($6) + (($3*24)|0)|0); + ;HEAP32[$t>>2]=HEAP32[$7>>2]|0;HEAP32[$t+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$t+20>>2]=HEAP32[$7+20>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 32|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + (($8*24)|0)|0); + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 32|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + (($13*24)|0)|0); + ;HEAP32[$12>>2]=HEAP32[$17>>2]|0;HEAP32[$12+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$12+8>>2]=HEAP32[$17+8>>2]|0;HEAP32[$12+12>>2]=HEAP32[$17+12>>2]|0;HEAP32[$12+16>>2]=HEAP32[$17+16>>2]|0;HEAP32[$12+20>>2]=HEAP32[$17+20>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 32|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + (($18*24)|0)|0); + ;HEAP32[$22>>2]=HEAP32[$t>>2]|0;HEAP32[$22+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$22+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$22+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$22+16>>2]=HEAP32[$t+16>>2]|0;HEAP32[$22+20>>2]=HEAP32[$t+20>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$1>>2] = $24; + $25 = HEAP32[$2>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$2>>2] = $26; + $27 = HEAP32[$1>>2]|0; + $28 = ($27|0)<(5); + if (!($28)) { + STACKTOP = sp;return; } - $31 = HEAP32[$1>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { + $29 = HEAP32[$2>>2]|0; + $30 = ($29|0)>=(5); + if ($30) { + $31 = HEAP32[$0>>2]|0; + $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$pTail>>2]|0; - $35 = (($34) + 12|0); - HEAP32[$35>>2] = $33; - $38 = (($result) + 12|0); - $39 = HEAP32[$38>>2]|0; - STACKTOP = sp;return ($39|0); + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 64|0); + $36 = (($35) + ($33<<2)|0); + $37 = HEAP32[$36>>2]|0; + (_nodeRelease($32,$37)|0); + $38 = HEAP32[$1>>2]|0; + $39 = HEAP32[$0>>2]|0; + $40 = ((($39)) + 64|0); + $41 = (($40) + ($38<<2)|0); + HEAP32[$41>>2] = 0; + STACKTOP = sp;return; } else { - $36 = HEAP32[$pTail>>2]|0; - $37 = (($36) + 12|0); - HEAP32[$37>>2] = 0; - $38 = (($result) + 12|0); - $39 = HEAP32[$38>>2]|0; - STACKTOP = sp;return ($39|0); + $42 = HEAP32[$1>>2]|0; + $43 = HEAP32[$0>>2]|0; + $44 = ((($43)) + 64|0); + $45 = (($44) + ($42<<2)|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$pTemp>>2] = $46; + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$0>>2]|0; + $49 = ((($48)) + 64|0); + $50 = (($49) + ($47<<2)|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$1>>2]|0; + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 64|0); + $55 = (($54) + ($52<<2)|0); + HEAP32[$55>>2] = $51; + $56 = HEAP32[$pTemp>>2]|0; + $57 = HEAP32[$2>>2]|0; + $58 = HEAP32[$0>>2]|0; + $59 = ((($58)) + 64|0); + $60 = (($59) + ($57<<2)|0); + HEAP32[$60>>2] = $56; + STACKTOP = sp;return; } - return 0|0; -} -function _sqlite3PcachePageRefcount($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 26|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3 << 16 >> 16; - STACKTOP = sp;return ($4|0); } -function _sqlite3PcacheDrop($p) { - $p = $p|0; +function _freeCursorConstraints($pCsr) { + $pCsr = $pCsr|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pInfo = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; + $0 = sp + 8|0; + $i = sp + 4|0; + $pInfo = sp; + HEAP32[$0>>2] = $pCsr; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 24|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 2; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - _pcacheManageDirtyList($7,1); + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; } - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + -1)|0; - HEAP32[$11>>2] = $13; - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(1); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 28|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 44|0); - HEAP32[$21>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $5 = HEAP32[$i>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($5|0)<($8|0); + if (!($9)) { + break; + } + $10 = HEAP32[$i>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + (($10*24)|0)|0); + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$pInfo>>2] = $16; + $17 = HEAP32[$pInfo>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $19 = HEAP32[$pInfo>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$pInfo>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$pInfo>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + FUNCTION_TABLE_vi[$25 & 31]($28); + } + $29 = HEAP32[$pInfo>>2]|0; + _sqlite3_free($29); + } + $30 = HEAP32[$i>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$i>>2] = $31; } - $22 = HEAP32[((38640 + 136|0))>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 28|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 40|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$28>>2]|0; - FUNCTION_TABLE_viii[$22 & 63]($27,$29,1); + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP32[$33>>2]|0; + _sqlite3_free($34); + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 16|0); + HEAP32[$36>>2] = 0; STACKTOP = sp;return; } -function _sqlite3WalFindFrame($pWal,$pgno,$piRead) { - $pWal = $pWal|0; - $pgno = $pgno|0; - $piRead = $piRead|0; +function _deserializeGeometry($pValue,$pCons) { + $pValue = $pValue|0; + $pCons = $pCons|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $iFrame = 0, $iHash = 0, $iKey = 0, $iLast = 0, $iRead = 0, $iZero = 0, $nCollide = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $nBlob = 0, $nExpected = 0, $pBlob = 0, $pInfo = 0, dest = 0, label = 0; + var sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $iRead = sp + 36|0; - $iLast = sp + 32|0; - $iHash = sp + 28|0; - $aHash = sp + 24|0; - $aPgno = sp + 20|0; - $iZero = sp + 16|0; - $iKey = sp + 12|0; - $nCollide = sp + 8|0; - $rc = sp + 4|0; - $iFrame = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $piRead; - HEAP32[$iRead>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 52|0); - $6 = (($5) + 16|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$iLast>>2] = $7; - $8 = HEAP32[$iLast>>2]|0; - $9 = ($8|0)==(0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $pBlob = sp + 24|0; + $pInfo = sp + 4|0; + $nBlob = sp; + $nExpected = sp + 12|0; + HEAP32[$1>>2] = $pValue; + HEAP32[$2>>2] = $pCons; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3_value_type($3)|0); + $5 = ($4|0)!=(4); + if ($5) { + HEAP32[$0>>2] = 1; + $73 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($73|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = (_sqlite3_value_bytes($6)|0); + HEAP32[$nBlob>>2] = $7; + $8 = HEAP32[$nBlob>>2]|0; + $9 = ($8|0)<(32); if (!($9)) { - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 40|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12 << 16 >> 16; - $14 = ($13|0)==(0); - if (!($14)) { - $16 = HEAP32[$iLast>>2]|0; - $17 = (_walFramePage($16)|0); - HEAP32[$iHash>>2] = $17; - L4: while(1) { - $18 = HEAP32[$iHash>>2]|0; - $19 = ($18|0)>=(0); - $20 = HEAP32[$iRead>>2]|0; - $21 = ($20|0)==(0); - $or$cond = $19 & $21; - if (!($or$cond)) { - label = 17; - break; - } - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$iHash>>2]|0; - $24 = (_walHashGet($22,$23,$aHash,$aPgno,$iZero)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)!=(0); - if ($26) { - label = 7; - break; - } - HEAP32[$nCollide>>2] = 8192; - $28 = HEAP32[$2>>2]|0; - $29 = (_walHash($28)|0); - HEAP32[$iKey>>2] = $29; - while(1) { - $30 = HEAP32[$iKey>>2]|0; - $31 = HEAP32[$aHash>>2]|0; - $32 = (($31) + ($30<<1)|0); - $33 = HEAP16[$32>>1]|0; - $34 = ($33<<16>>16)!=(0); - if (!($34)) { - break; - } - $35 = HEAP32[$iKey>>2]|0; - $36 = HEAP32[$aHash>>2]|0; - $37 = (($36) + ($35<<1)|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38&65535; - $40 = HEAP32[$iZero>>2]|0; - $41 = (($39) + ($40))|0; - HEAP32[$iFrame>>2] = $41; - $42 = HEAP32[$iFrame>>2]|0; - $43 = HEAP32[$iLast>>2]|0; - $44 = ($42>>>0)<=($43>>>0); - if ($44) { - $45 = HEAP32[$iKey>>2]|0; - $46 = HEAP32[$aHash>>2]|0; - $47 = (($46) + ($45<<1)|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = HEAP32[$aPgno>>2]|0; - $51 = (($50) + ($49<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$2>>2]|0; - $54 = ($52|0)==($53|0); - if ($54) { - $55 = HEAP32[$iFrame>>2]|0; - HEAP32[$iRead>>2] = $55; - } - } - $56 = HEAP32[$nCollide>>2]|0; - $57 = (($56) + -1)|0; - HEAP32[$nCollide>>2] = $57; - $58 = ($56|0)==(0); - if ($58) { - label = 14; - break L4; - } - $60 = HEAP32[$iKey>>2]|0; - $61 = (_walNextHash($60)|0); - HEAP32[$iKey>>2] = $61; + $10 = HEAP32[$nBlob>>2]|0; + $11 = (($10) - 32)|0; + $12 = (($11>>>0) % 8)&-1; + $13 = ($12|0)!=(0); + if (!($13)) { + $14 = HEAP32[$nBlob>>2]|0; + $15 = (72 + ($14))|0; + $16 = (_sqlite3_malloc($15)|0); + HEAP32[$pInfo>>2] = $16; + $17 = HEAP32[$pInfo>>2]|0; + $18 = ($17|0)!=(0|0); + if (!($18)) { + HEAP32[$0>>2] = 7; + $73 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($73|0); + } + $19 = HEAP32[$pInfo>>2]|0; + dest=$19; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $20 = HEAP32[$pInfo>>2]|0; + $21 = ((($20)) + 72|0); + HEAP32[$pBlob>>2] = $21; + $22 = HEAP32[$pBlob>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = (_sqlite3_value_blob($23)|0); + $25 = HEAP32[$nBlob>>2]|0; + _memcpy(($22|0),($24|0),($25|0))|0; + $26 = HEAP32[$pBlob>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) - 1)|0; + $30 = $29<<3; + $31 = (32 + ($30))|0; + HEAP32[$nExpected>>2] = $31; + $32 = HEAP32[$pBlob>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(-1995291221); + if (!($34)) { + $35 = HEAP32[$nBlob>>2]|0; + $36 = HEAP32[$nExpected>>2]|0; + $37 = ($35|0)!=($36|0); + if (!($37)) { + $39 = HEAP32[$pBlob>>2]|0; + $40 = ((($39)) + 4|0); + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$pInfo>>2]|0; + HEAP32[$43>>2] = $42; + $44 = HEAP32[$pBlob>>2]|0; + $45 = ((($44)) + 20|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$pInfo>>2]|0; + $48 = ((($47)) + 4|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$pBlob>>2]|0; + $50 = ((($49)) + 24|0); + $51 = HEAP32[$pInfo>>2]|0; + $52 = ((($51)) + 8|0); + HEAP32[$52>>2] = $50; + $53 = HEAP32[$pBlob>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)!=(0|0); + if ($56) { + $57 = HEAP32[$pBlob>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 8|0); + HEAP32[$61>>2] = $59; + } else { + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 4|0); + HEAP32[$63>>2] = 71; + $64 = HEAP32[$pBlob>>2]|0; + $65 = ((($64)) + 4|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$2>>2]|0; + $69 = ((($68)) + 8|0); + HEAP32[$69>>2] = $67; + } + $70 = HEAP32[$pInfo>>2]|0; + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 16|0); + HEAP32[$72>>2] = $70; + HEAP32[$0>>2] = 0; + $73 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($73|0); } - $62 = HEAP32[$iHash>>2]|0; - $63 = (($62) + -1)|0; - HEAP32[$iHash>>2] = $63; - } - if ((label|0) == 7) { - $27 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $27; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); - } - else if ((label|0) == 14) { - $59 = (_sqlite3CorruptError(50484)|0); - HEAP32[$0>>2] = $59; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); - } - else if ((label|0) == 17) { - $64 = HEAP32[$iRead>>2]|0; - $65 = HEAP32[$3>>2]|0; - HEAP32[$65>>2] = $64; - HEAP32[$0>>2] = 0; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); } + $38 = HEAP32[$pInfo>>2]|0; + _sqlite3_free($38); + HEAP32[$0>>2] = 1; + $73 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($73|0); } } - $15 = HEAP32[$3>>2]|0; - HEAP32[$15>>2] = 0; - HEAP32[$0>>2] = 0; - $66 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($66|0); + HEAP32[$0>>2] = 1; + $73 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($73|0); } -function _readDbPage($pPg,$iFrame) { - $pPg = $pPg|0; - $iFrame = $iFrame|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $dbFileVers = 0, $iOffset = 0, $pPager = 0, $pgno = 0, $pgsz = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _setEstimatedRows($pIdxInfo,$0,$1) { + $pIdxInfo = $pIdxInfo|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $pPager = sp + 24|0; - $pgno = sp + 20|0; - $rc = sp + 16|0; - $pgsz = sp + 12|0; - $iOffset = sp; - $dbFileVers = sp + 8|0; - HEAP32[$0>>2] = $pPg; - HEAP32[$1>>2] = $iFrame; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pPager>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 20|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pgno>>2] = $7; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $pIdxInfo; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = (_sqlite3_libversion_number()|0); + $9 = ($8|0)>=(3008002); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = $3; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 48|0); + $18 = $17; + $19 = $18; + HEAP32[$19>>2] = $12; + $20 = (($18) + 4)|0; + $21 = $20; + HEAP32[$21>>2] = $15; + STACKTOP = sp;return; +} +function _rtreeInit($db,$pAux,$argc,$argv,$ppVtab,$pzErr,$isCreate) { + $db = $db|0; + $pAux = $pAux|0; + $argc = $argc|0; + $argv = $argv|0; + $ppVtab = $ppVtab|0; + $pzErr = $pzErr|0; + $isCreate = $isCreate|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aErrMsg = 0, $eCoordType = 0, $iErr = 0, $ii = 0, $nDb = 0, $nName = 0, $pRtree = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0; + var $zSql = 0, $zTmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer17 = sp + 24|0; + $vararg_buffer14 = sp + 8|0; + $vararg_buffer10 = sp + 48|0; + $vararg_buffer7 = sp + 40|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 32|0; + $vararg_buffer = sp; + $0 = sp + 92|0; + $1 = sp + 80|0; + $2 = sp + 76|0; + $3 = sp + 72|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 68|0; + $rc = sp + 88|0; + $pRtree = sp + 84|0; + $nDb = sp + 96|0; + $nName = sp + 100|0; + $eCoordType = sp + 104|0; + $aErrMsg = sp + 112|0; + $iErr = sp + 128|0; + $zSql = sp + 132|0; + $zTmp = sp + 136|0; + $ii = sp + 140|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $pAux; + HEAP32[$3>>2] = $argc; + HEAP32[$4>>2] = $argv; + HEAP32[$5>>2] = $ppVtab; + HEAP32[$6>>2] = $pzErr; + HEAP32[$7>>2] = $isCreate; HEAP32[$rc>>2] = 0; - $8 = HEAP32[$pPager>>2]|0; - $9 = (($8) + 152|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pgsz>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)!=(0); + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)!=(0|0); + $10 = $9 ? 1 : 0; + HEAP32[$eCoordType>>2] = $10; + ;HEAP32[$aErrMsg>>2]=HEAP32[1148>>2]|0;HEAP32[$aErrMsg+4>>2]=HEAP32[1148+4>>2]|0;HEAP32[$aErrMsg+8>>2]=HEAP32[1148+8>>2]|0;HEAP32[$aErrMsg+12>>2]=HEAP32[1148+12>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = ($11|0)<(6); if ($12) { - $13 = HEAP32[$pPager>>2]|0; - $14 = (($13) + 208|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$pgsz>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3WalReadFrame($15,$16,$17,$20)|0); - HEAP32[$rc>>2] = $21; + $18 = 2; } else { - $22 = HEAP32[$pgno>>2]|0; - $23 = (($22) - 1)|0; - $24 = HEAP32[$pPager>>2]|0; - $25 = (($24) + 152|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)<(0); - $28 = $27 << 31 >> 31; - $29 = (___muldi3(($23|0),0,($26|0),($28|0))|0); - $30 = tempRet0; - $31 = $iOffset; - $32 = $31; - HEAP32[$32>>2] = $29; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = HEAP32[$pPager>>2]|0; - $36 = (($35) + 60|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pgsz>>2]|0; - $42 = $iOffset; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3OsRead($37,$40,$41,$44,$47)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(522); - $$ = $50 ? 0 : $48; - HEAP32[$rc>>2] = $$; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)>(14); + $15 = HEAP32[$3>>2]|0; + $16 = (($15|0) % 2)&-1; + $17 = $14 ? 3 : $16; + $18 = $17; } - $51 = HEAP32[$pgno>>2]|0; - $52 = ($51|0)==(1); - if (!($52)) { - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); + HEAP32[$iErr>>2] = $18; + $19 = HEAP32[$iErr>>2]|0; + $20 = (($aErrMsg) + ($19<<2)|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$iErr>>2]|0; + $24 = (($aErrMsg) + ($23<<2)|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$vararg_buffer>>2] = $25; + $26 = (_sqlite3_mprintf(14418,$vararg_buffer)|0); + $27 = HEAP32[$6>>2]|0; + HEAP32[$27>>2] = $26; + HEAP32[$0>>2] = 1; + $162 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($162|0); } - $53 = HEAP32[$rc>>2]|0; - $54 = ($53|0)!=(0); - if ($54) { - $55 = HEAP32[$pPager>>2]|0; - $56 = (($55) + 100|0); - dest=$56+0|0; stop=dest+16|0; do { HEAP8[dest>>0]=255|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); + $28 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer1>>2] = 1; + (_sqlite3_vtab_config($28,1,$vararg_buffer1)|0); + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_strlen($31)|0); + HEAP32[$nDb>>2] = $32; + $33 = HEAP32[$4>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_strlen($35)|0); + HEAP32[$nName>>2] = $36; + $37 = HEAP32[$nDb>>2]|0; + $38 = (480 + ($37))|0; + $39 = HEAP32[$nName>>2]|0; + $40 = (($38) + ($39))|0; + $41 = (($40) + 2)|0; + $42 = (_sqlite3_malloc($41)|0); + HEAP32[$pRtree>>2] = $42; + $43 = HEAP32[$pRtree>>2]|0; + $44 = ($43|0)!=(0|0); + if (!($44)) { + HEAP32[$0>>2] = 7; + $162 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($162|0); + } + $45 = HEAP32[$pRtree>>2]|0; + $46 = HEAP32[$nDb>>2]|0; + $47 = (480 + ($46))|0; + $48 = HEAP32[$nName>>2]|0; + $49 = (($47) + ($48))|0; + $50 = (($49) + 2)|0; + _memset(($45|0),0,($50|0))|0; + $51 = HEAP32[$pRtree>>2]|0; + $52 = ((($51)) + 36|0); + HEAP32[$52>>2] = 1; + $53 = HEAP32[$pRtree>>2]|0; + HEAP32[$53>>2] = 1056; + $54 = HEAP32[$pRtree>>2]|0; + $55 = ((($54)) + 480|0); + $56 = HEAP32[$pRtree>>2]|0; + $57 = ((($56)) + 28|0); + HEAP32[$57>>2] = $55; + $58 = HEAP32[$nDb>>2]|0; + $59 = (($58) + 1)|0; + $60 = HEAP32[$pRtree>>2]|0; + $61 = ((($60)) + 28|0); + $62 = HEAP32[$61>>2]|0; + $63 = (($62) + ($59)|0); + $64 = HEAP32[$pRtree>>2]|0; + $65 = ((($64)) + 32|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$3>>2]|0; + $67 = (($66) - 4)|0; + $68 = (($67|0) / 2)&-1; + $69 = $68&255; + $70 = HEAP32[$pRtree>>2]|0; + $71 = ((($70)) + 20|0); + HEAP8[$71>>0] = $69; + $72 = HEAP32[$pRtree>>2]|0; + $73 = ((($72)) + 20|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = $75<<2; + $77 = $76<<1; + $78 = (8 + ($77))|0; + $79 = $78&255; + $80 = HEAP32[$pRtree>>2]|0; + $81 = ((($80)) + 22|0); + HEAP8[$81>>0] = $79; + $82 = HEAP32[$eCoordType>>2]|0; + $83 = $82&255; + $84 = HEAP32[$pRtree>>2]|0; + $85 = ((($84)) + 21|0); + HEAP8[$85>>0] = $83; + $86 = HEAP32[$pRtree>>2]|0; + $87 = ((($86)) + 28|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$4>>2]|0; + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$nDb>>2]|0; + _memcpy(($88|0),($91|0),($92|0))|0; + $93 = HEAP32[$pRtree>>2]|0; + $94 = ((($93)) + 32|0); + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$4>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$nName>>2]|0; + _memcpy(($95|0),($98|0),($99|0))|0; + $100 = HEAP32[$1>>2]|0; + $101 = HEAP32[$pRtree>>2]|0; + $102 = HEAP32[$7>>2]|0; + $103 = HEAP32[$6>>2]|0; + $104 = (_getNodeSize($100,$101,$102,$103)|0); + HEAP32[$rc>>2] = $104; + $105 = HEAP32[$rc>>2]|0; + $106 = ($105|0)==(0); + do { + if ($106) { + $107 = HEAP32[$pRtree>>2]|0; + $108 = HEAP32[$1>>2]|0; + $109 = HEAP32[$4>>2]|0; + $110 = ((($109)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 8|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$7>>2]|0; + $116 = (_rtreeSqlInit($107,$108,$111,$114,$115)|0); + HEAP32[$rc>>2] = $116; + $117 = ($116|0)!=(0); + if ($117) { + $118 = HEAP32[$1>>2]|0; + $119 = (_sqlite3_errmsg($118)|0); + HEAP32[$vararg_buffer4>>2] = $119; + $120 = (_sqlite3_mprintf(14418,$vararg_buffer4)|0); + $121 = HEAP32[$6>>2]|0; + HEAP32[$121>>2] = $120; + break; + } + $122 = HEAP32[$4>>2]|0; + $123 = ((($122)) + 12|0); + $124 = HEAP32[$123>>2]|0; + HEAP32[$vararg_buffer7>>2] = $124; + $125 = (_sqlite3_mprintf(16252,$vararg_buffer7)|0); + HEAP32[$zSql>>2] = $125; + HEAP32[$ii>>2] = 4; + while(1) { + $126 = HEAP32[$zSql>>2]|0; + $127 = ($126|0)!=(0|0); + if ($127) { + $128 = HEAP32[$ii>>2]|0; + $129 = HEAP32[$3>>2]|0; + $130 = ($128|0)<($129|0); + $163 = $130; + } else { + $163 = 0; + } + $131 = HEAP32[$zSql>>2]|0; + if (!($163)) { + break; + } + HEAP32[$zTmp>>2] = $131; + $132 = HEAP32[$zTmp>>2]|0; + $133 = HEAP32[$ii>>2]|0; + $134 = HEAP32[$4>>2]|0; + $135 = (($134) + ($133<<2)|0); + $136 = HEAP32[$135>>2]|0; + HEAP32[$vararg_buffer10>>2] = $132; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $136; + $137 = (_sqlite3_mprintf(16270,$vararg_buffer10)|0); + HEAP32[$zSql>>2] = $137; + $138 = HEAP32[$zTmp>>2]|0; + _sqlite3_free($138); + $139 = HEAP32[$ii>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$ii>>2] = $140; + } + $141 = ($131|0)!=(0|0); + if ($141) { + $142 = HEAP32[$zSql>>2]|0; + HEAP32[$zTmp>>2] = $142; + $143 = HEAP32[$zTmp>>2]|0; + HEAP32[$vararg_buffer14>>2] = $143; + $144 = (_sqlite3_mprintf(16277,$vararg_buffer14)|0); + HEAP32[$zSql>>2] = $144; + $145 = HEAP32[$zTmp>>2]|0; + _sqlite3_free($145); + } + $146 = HEAP32[$zSql>>2]|0; + $147 = ($146|0)!=(0|0); + if ($147) { + $148 = HEAP32[$1>>2]|0; + $149 = HEAP32[$zSql>>2]|0; + $150 = (_sqlite3_declare_vtab($148,$149)|0); + HEAP32[$rc>>2] = $150; + $151 = (0)!=($150|0); + if ($151) { + $152 = HEAP32[$1>>2]|0; + $153 = (_sqlite3_errmsg($152)|0); + HEAP32[$vararg_buffer17>>2] = $153; + $154 = (_sqlite3_mprintf(14418,$vararg_buffer17)|0); + $155 = HEAP32[$6>>2]|0; + HEAP32[$155>>2] = $154; + } + } else { + HEAP32[$rc>>2] = 7; + } + $156 = HEAP32[$zSql>>2]|0; + _sqlite3_free($156); + } + } while(0); + $157 = HEAP32[$rc>>2]|0; + $158 = ($157|0)==(0); + $159 = HEAP32[$pRtree>>2]|0; + if ($158) { + $160 = HEAP32[$5>>2]|0; + HEAP32[$160>>2] = $159; } else { - $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($59) + 24|0); - HEAP32[$dbFileVers>>2] = $60; - $61 = HEAP32[$pPager>>2]|0; - $62 = (($61) + 100|0); - $63 = HEAP32[$dbFileVers>>2]|0; - dest=$62+0|0; src=$63+0|0; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $64 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($64|0); + _rtreeRelease($159); } - return 0|0; + $161 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $161; + $162 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($162|0); } -function _sqlite3PagerUnrefNotNull($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPager = 0, label = 0, sp = 0; +function _getNodeSize($db,$pRtree,$isCreate,$pzErr) { + $db = $db|0; + $pRtree = $pRtree|0; + $isCreate = $isCreate|0; + $pzErr = $pzErr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, $iPageSize = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $zSql = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pPager = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 24|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & 64; - $9 = ($8|0)!=(0); + STACKTOP = STACKTOP + 64|0; + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer1 = sp; + $vararg_buffer = sp + 16|0; + $0 = sp + 36|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 40|0; + $rc = sp + 44|0; + $zSql = sp + 48|0; + $iPageSize = sp + 52|0; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $isCreate; + HEAP32[$3>>2] = $pzErr; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0); + if (!($5)) { + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 28|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 32|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$vararg_buffer4>>2] = $43; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $46; + $47 = (_sqlite3_mprintf(17085,$vararg_buffer4)|0); + HEAP32[$zSql>>2] = $47; + $48 = HEAP32[$0>>2]|0; + $49 = HEAP32[$zSql>>2]|0; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 16|0); + $52 = (_getIntFromStmt($48,$49,$51)|0); + HEAP32[$rc>>2] = $52; + $53 = HEAP32[$rc>>2]|0; + $54 = ($53|0)!=(0); + if (!($54)) { + $59 = HEAP32[$zSql>>2]|0; + _sqlite3_free($59); + $60 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($60|0); + } + $55 = HEAP32[$0>>2]|0; + $56 = (_sqlite3_errmsg($55)|0); + HEAP32[$vararg_buffer8>>2] = $56; + $57 = (_sqlite3_mprintf(14418,$vararg_buffer8)|0); + $58 = HEAP32[$3>>2]|0; + HEAP32[$58>>2] = $57; + $59 = HEAP32[$zSql>>2]|0; + _sqlite3_free($59); + $60 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($60|0); + } + HEAP32[$iPageSize>>2] = 0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$vararg_buffer>>2] = $8; + $9 = (_sqlite3_mprintf(17065,$vararg_buffer)|0); + HEAP32[$zSql>>2] = $9; $10 = HEAP32[$0>>2]|0; - if ($9) { - _pagerReleaseMapPage($10); - $11 = HEAP32[$pPager>>2]|0; - _pagerUnlockIfUnused($11); - STACKTOP = sp;return; - } else { - _sqlite3PcacheRelease($10); - $11 = HEAP32[$pPager>>2]|0; - _pagerUnlockIfUnused($11); - STACKTOP = sp;return; + $11 = HEAP32[$zSql>>2]|0; + $12 = (_getIntFromStmt($10,$11,$iPageSize)|0); + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$rc>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + $37 = HEAP32[$0>>2]|0; + $38 = (_sqlite3_errmsg($37)|0); + HEAP32[$vararg_buffer1>>2] = $38; + $39 = (_sqlite3_mprintf(14418,$vararg_buffer1)|0); + $40 = HEAP32[$3>>2]|0; + HEAP32[$40>>2] = $39; + $59 = HEAP32[$zSql>>2]|0; + _sqlite3_free($59); + $60 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($60|0); + } + $15 = HEAP32[$iPageSize>>2]|0; + $16 = (($15) - 64)|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 16|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 22|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22*51)|0; + $24 = (4 + ($23))|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 16|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($24|0)<($27|0); + if (!($28)) { + $59 = HEAP32[$zSql>>2]|0; + _sqlite3_free($59); + $60 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($60|0); } + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 22|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*51)|0; + $34 = (4 + ($33))|0; + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 16|0); + HEAP32[$36>>2] = $34; + $59 = HEAP32[$zSql>>2]|0; + _sqlite3_free($59); + $60 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($60|0); } -function _pagerReleaseMapPage($pPg) { - $pPg = $pPg|0; +function _rtreeSqlInit($pRtree,$db,$zDb,$zPrefix,$isCreate) { + $pRtree = $pRtree|0; + $db = $db|0; + $zDb = $zDb|0; + $zPrefix = $zPrefix|0; + $isCreate = $isCreate|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPager = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $appStmt = 0, $i = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr12 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zCreate = 0; + var $zSql = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pPager = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$pPager>>2]|0; - $5 = (($4) + 120|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$5>>2] = $7; - $8 = HEAP32[$pPager>>2]|0; - $9 = (($8) + 136|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 12|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pPager>>2]|0; - $15 = (($14) + 136|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$pPager>>2]|0; - $17 = (($16) + 60|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - 1)|0; - $23 = HEAP32[$pPager>>2]|0; - $24 = (($23) + 152|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)<(0); - $27 = $26 << 31 >> 31; - $28 = (___muldi3(($22|0),0,($25|0),($27|0))|0); - $29 = tempRet0; - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 4|0); - $32 = HEAP32[$31>>2]|0; - (_sqlite3OsUnfetch($18,$28,$29,$32)|0); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer9 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 56|0; + $1 = sp + 60|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 52|0; + $5 = sp + 64|0; + $rc = sp + 68|0; + $appStmt = sp + 72|0; + $i = sp + 108|0; + $zCreate = sp + 112|0; + $zSql = sp + 116|0; + HEAP32[$1>>2] = $pRtree; + HEAP32[$2>>2] = $db; + HEAP32[$3>>2] = $zDb; + HEAP32[$4>>2] = $zPrefix; + HEAP32[$5>>2] = $isCreate; + HEAP32[$rc>>2] = 0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 12|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$5>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$4>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $14; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $15; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $16; + $vararg_ptr6 = ((($vararg_buffer)) + 24|0); + HEAP32[$vararg_ptr6>>2] = $17; + $vararg_ptr7 = ((($vararg_buffer)) + 28|0); + HEAP32[$vararg_ptr7>>2] = $18; + $vararg_ptr8 = ((($vararg_buffer)) + 32|0); + HEAP32[$vararg_ptr8>>2] = $21; + $22 = (_sqlite3_mprintf(16282,$vararg_buffer)|0); + HEAP32[$zCreate>>2] = $22; + $23 = HEAP32[$zCreate>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + HEAP32[$0>>2] = 7; + $84 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($84|0); + } + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$zCreate>>2]|0; + $27 = (_sqlite3_exec($25,$26,0,0,0)|0); + HEAP32[$rc>>2] = $27; + $28 = HEAP32[$zCreate>>2]|0; + _sqlite3_free($28); + $29 = HEAP32[$rc>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $31; + $84 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($84|0); + } + } + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 56|0); + HEAP32[$appStmt>>2] = $33; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 60|0); + $36 = ((($appStmt)) + 4|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 64|0); + $39 = ((($appStmt)) + 8|0); + HEAP32[$39>>2] = $38; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 68|0); + $42 = ((($appStmt)) + 12|0); + HEAP32[$42>>2] = $41; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 72|0); + $45 = ((($appStmt)) + 16|0); + HEAP32[$45>>2] = $44; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 76|0); + $48 = ((($appStmt)) + 20|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 80|0); + $51 = ((($appStmt)) + 24|0); + HEAP32[$51>>2] = $50; + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 84|0); + $54 = ((($appStmt)) + 28|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 88|0); + $57 = ((($appStmt)) + 32|0); + HEAP32[$57>>2] = $56; + $58 = HEAP32[$2>>2]|0; + $59 = HEAP32[$1>>2]|0; + $60 = (_rtreeQueryStat1($58,$59)|0); + HEAP32[$rc>>2] = $60; + HEAP32[$i>>2] = 0; + while(1) { + $61 = HEAP32[$i>>2]|0; + $62 = ($61|0)<(9); + $63 = HEAP32[$rc>>2]|0; + $64 = ($63|0)==(0); + $65 = $62 ? $64 : 0; + if (!($65)) { + break; + } + $66 = HEAP32[$i>>2]|0; + $67 = (1164 + ($66<<2)|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$3>>2]|0; + $70 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer9>>2] = $69; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $70; + $71 = (_sqlite3_mprintf($68,$vararg_buffer9)|0); + HEAP32[$zSql>>2] = $71; + $72 = HEAP32[$zSql>>2]|0; + $73 = ($72|0)!=(0|0); + if ($73) { + $74 = HEAP32[$2>>2]|0; + $75 = HEAP32[$zSql>>2]|0; + $76 = HEAP32[$i>>2]|0; + $77 = (($appStmt) + ($76<<2)|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_sqlite3_prepare_v2($74,$75,-1,$78,0)|0); + HEAP32[$rc>>2] = $79; + } else { + HEAP32[$rc>>2] = 7; + } + $80 = HEAP32[$zSql>>2]|0; + _sqlite3_free($80); + $81 = HEAP32[$i>>2]|0; + $82 = (($81) + 1)|0; + HEAP32[$i>>2] = $82; + } + $83 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $83; + $84 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($84|0); } -function _pagerUnlockIfUnused($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _rtreeQueryStat1($db,$pRtree) { + $db = $db|0; + $pRtree = $pRtree|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $nRow = 0; + var $p = 0, $rc = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zFmt = 0, $zSql = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 120|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 16|0; + $1 = sp + 36|0; + $zFmt = sp + 32|0; + $zSql = sp + 28|0; + $p = sp + 24|0; + $rc = sp + 20|0; + $nRow = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pRtree; + HEAP32[$zFmt>>2] = 17009; + $2 = $nRow; + $3 = $2; + HEAP32[$3>>2] = 0; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + $6 = HEAP32[$zFmt>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 32|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $13 = (_sqlite3_mprintf($6,$vararg_buffer)|0); + HEAP32[$zSql>>2] = $13; + $14 = HEAP32[$zSql>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$rc>>2] = 7; + $78 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($78|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = HEAP32[$zSql>>2]|0; + $18 = (_sqlite3_prepare_v2($16,$17,-1,$p,0)|0); + HEAP32[$rc>>2] = $18; + $19 = HEAP32[$rc>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + $21 = HEAP32[$p>>2]|0; + $22 = (_sqlite3_step($21)|0); + $23 = ($22|0)==(100); + if ($23) { + $24 = HEAP32[$p>>2]|0; + $25 = (_sqlite3_column_int64($24,0)|0); + $26 = tempRet0; + $27 = $nRow; + $28 = $27; + HEAP32[$28>>2] = $25; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + } + $31 = HEAP32[$p>>2]|0; + $32 = (_sqlite3_finalize($31)|0); + HEAP32[$rc>>2] = $32; + } else { + $33 = HEAP32[$rc>>2]|0; + $34 = ($33|0)!=(7); + if ($34) { + HEAP32[$rc>>2] = 0; + } + } + $35 = HEAP32[$rc>>2]|0; + $36 = ($35|0)==(0); + do { + if ($36) { + $37 = $nRow; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = ($39|0)==(0); + $44 = ($42|0)==(0); + $45 = $43 & $44; + if ($45) { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 40|0); + $48 = $47; + $49 = $48; + HEAP32[$49>>2] = 1048576; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = 0; + break; + } else { + $52 = $nRow; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)>(0); + $59 = ($54>>>0)>(100); + $60 = ($57|0)==(0); + $61 = $60 & $59; + $62 = $58 | $61; + $63 = $nRow; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = $62 ? $65 : 100; + $70 = $62 ? $68 : 0; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 40|0); + $73 = $72; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $70; + break; + } + } + } while(0); + $77 = HEAP32[$zSql>>2]|0; + _sqlite3_free($77); + $78 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($78|0); +} +function _getIntFromStmt($db,$zSql,$piVal) { + $db = $db|0; + $zSql = $zSql|0; + $piVal = $piVal|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0; + var $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $rc = sp + 4|0; + $pStmt = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $zSql; + HEAP32[$2>>2] = $piVal; + HEAP32[$rc>>2] = 7; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); if (!($4)) { - STACKTOP = sp;return; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); } + HEAP32[$pStmt>>2] = 0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 204|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3PcacheRefCount($7)|0); + $6 = HEAP32[$1>>2]|0; + $7 = (_sqlite3_prepare_v2($5,$6,-1,$pStmt,0)|0); + HEAP32[$rc>>2] = $7; + $8 = HEAP32[$rc>>2]|0; $9 = ($8|0)==(0); if (!($9)) { - STACKTOP = sp;return; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); } - $10 = HEAP32[$0>>2]|0; - _pagerUnlockAndRollback($10); - STACKTOP = sp;return; + $10 = HEAP32[$pStmt>>2]|0; + $11 = (_sqlite3_step($10)|0); + $12 = (100)==($11|0); + if ($12) { + $13 = HEAP32[$pStmt>>2]|0; + $14 = (_sqlite3_column_int($13,0)|0); + $15 = HEAP32[$2>>2]|0; + HEAP32[$15>>2] = $14; + } + $16 = HEAP32[$pStmt>>2]|0; + $17 = (_sqlite3_finalize($16)|0); + HEAP32[$rc>>2] = $17; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); } -function _sqlite3OsUnfetch($id,$0,$1,$p) { - $id = $id|0; - $0 = $0|0; - $1 = $1|0; +function _sqlite3SchemaClear($p) { $p = $p|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $4 = sp + 8|0; - HEAP32[$2>>2] = $id; - $5 = $3; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $p; - STACKTOP = sp;return 0; -} -function _sqlite3WalReadFrame($pWal,$iRead,$nOut,$pOut) { - $pWal = $pWal|0; - $iRead = $iRead|0; - $nOut = $nOut|0; - $pOut = $pOut|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iOffset = 0, $sz = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $sz = sp + 8|0; - $iOffset = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $iRead; - HEAP32[$2>>2] = $nOut; - HEAP32[$3>>2] = $pOut; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 52|0); - $6 = (($5) + 14|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - HEAP32[$sz>>2] = $8; - $9 = HEAP32[$sz>>2]|0; - $10 = $9 & 65024; - $11 = HEAP32[$sz>>2]|0; - $12 = $11 & 1; - $13 = $12 << 16; - $14 = (($10) + ($13))|0; - HEAP32[$sz>>2] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) - 1)|0; - $17 = HEAP32[$sz>>2]|0; - $18 = (($17) + 24)|0; - $19 = ($18|0)<(0); - $20 = $19 << 31 >> 31; - $21 = (___muldi3(($16|0),0,($18|0),($20|0))|0); - $22 = tempRet0; - $23 = (_i64Add(32,0,($21|0),($22|0))|0); - $24 = tempRet0; - $25 = (_i64Add(($23|0),($24|0),24,0)|0); - $26 = tempRet0; - $27 = $iOffset; - $28 = $27; - HEAP32[$28>>2] = $25; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = HEAP32[$sz>>2]|0; - $37 = ($35|0)>($36|0); - $38 = HEAP32[$sz>>2]|0; - $39 = HEAP32[$2>>2]|0; - $40 = $37 ? $38 : $39; - $41 = $iOffset; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3OsRead($33,$34,$40,$43,$46)|0); - STACKTOP = sp;return ($47|0); -} -function _walHash($iPage) { - $iPage = $iPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $iPage; - $1 = HEAP32[$0>>2]|0; - $2 = ($1*383)|0; - $3 = $2 & 8191; - STACKTOP = sp;return ($3|0); -} -function _sqlite3CorruptError($lineno) { - $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pElem = 0, $pSchema = 0, $pTab = 0, $temp1 = 0, $temp2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - HEAP32[$0>>2] = $lineno; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 48|0; + $temp1 = sp + 32|0; + $temp2 = sp + 16|0; + $pElem = sp + 8|0; + $pSchema = sp + 4|0; + $pTab = sp; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_sourceid()|0); - $3 = (($2) + 20|0); - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $3; - _sqlite3_log(11,4392,$vararg_buffer); - STACKTOP = sp;return 11; + HEAP32[$pSchema>>2] = $1; + $2 = HEAP32[$pSchema>>2]|0; + $3 = ((($2)) + 8|0); + ;HEAP32[$temp1>>2]=HEAP32[$3>>2]|0;HEAP32[$temp1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$temp1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$temp1+12>>2]=HEAP32[$3+12>>2]|0; + $4 = HEAP32[$pSchema>>2]|0; + $5 = ((($4)) + 40|0); + ;HEAP32[$temp2>>2]=HEAP32[$5>>2]|0;HEAP32[$temp2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$temp2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$temp2+12>>2]=HEAP32[$5+12>>2]|0; + $6 = HEAP32[$pSchema>>2]|0; + $7 = ((($6)) + 40|0); + _sqlite3HashInit($7); + $8 = HEAP32[$pSchema>>2]|0; + $9 = ((($8)) + 24|0); + _sqlite3HashClear($9); + $10 = ((($temp2)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$pElem>>2] = $11; + while(1) { + $12 = HEAP32[$pElem>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + break; + } + $14 = HEAP32[$pElem>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + _sqlite3DeleteTrigger(0,$16); + $17 = HEAP32[$pElem>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$pElem>>2] = $18; + } + _sqlite3HashClear($temp2); + $19 = HEAP32[$pSchema>>2]|0; + $20 = ((($19)) + 8|0); + _sqlite3HashInit($20); + $21 = ((($temp1)) + 8|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$pElem>>2] = $22; + while(1) { + $23 = HEAP32[$pElem>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + break; + } + $25 = HEAP32[$pElem>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$pTab>>2] = $27; + $28 = HEAP32[$pTab>>2]|0; + _sqlite3DeleteTable(0,$28); + $29 = HEAP32[$pElem>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$pElem>>2] = $30; + } + _sqlite3HashClear($temp1); + $31 = HEAP32[$pSchema>>2]|0; + $32 = ((($31)) + 56|0); + _sqlite3HashClear($32); + $33 = HEAP32[$pSchema>>2]|0; + $34 = ((($33)) + 72|0); + HEAP32[$34>>2] = 0; + $35 = HEAP32[$pSchema>>2]|0; + $36 = ((($35)) + 78|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + $39 = $38 & 1; + $40 = ($39|0)!=(0); + if (!($40)) { + STACKTOP = sp;return; + } + $41 = HEAP32[$pSchema>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$42>>2] = $44; + $45 = HEAP32[$pSchema>>2]|0; + $46 = ((($45)) + 78|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47&65535; + $49 = $48 & -2; + $50 = $49&65535; + HEAP16[$46>>1] = $50; + STACKTOP = sp;return; } -function _walNextHash($iPriorHash) { - $iPriorHash = $iPriorHash|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3BtreeSchema($p,$nBytes,$xFree) { + $p = $p|0; + $nBytes = $nBytes|0; + $xFree = $xFree|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pBt = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $iPriorHash; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 1)|0; - $3 = $2 & 8191; - STACKTOP = sp;return ($3|0); + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $pBt = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $nBytes; + HEAP32[$2>>2] = $xFree; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pBt>>2] = $5; + $6 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($6); + $7 = HEAP32[$pBt>>2]|0; + $8 = ((($7)) + 48|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0|0); + $11 = HEAP32[$1>>2]|0; + $12 = ($11|0)!=(0); + $or$cond = $10 & $12; + if (!($or$cond)) { + $22 = HEAP32[$pBt>>2]|0; + $23 = ((($22)) + 48|0); + $24 = HEAP32[$23>>2]|0; + STACKTOP = sp;return ($24|0); + } + $13 = HEAP32[$1>>2]|0; + $14 = ($13|0)<(0); + $15 = $14 << 31 >> 31; + $16 = (_sqlite3DbMallocZero(0,$13,$15)|0); + $17 = HEAP32[$pBt>>2]|0; + $18 = ((($17)) + 48|0); + HEAP32[$18>>2] = $16; + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$pBt>>2]|0; + $21 = ((($20)) + 52|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$pBt>>2]|0; + $23 = ((($22)) + 48|0); + $24 = HEAP32[$23>>2]|0; + STACKTOP = sp;return ($24|0); } -function _walIndexHdr($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sqlite3TempInMemory($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pWal; + HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - STACKTOP = sp;return ($4|0); + $2 = ((($1)) + 63|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)==(2); + $6 = $5&1; + STACKTOP = sp;return ($6|0); } -function _walFramePgno($pWal,$iFrame) { - $pWal = $pWal|0; - $iFrame = $iFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iHash = 0, label = 0, sp = 0; +function _sqlite3OsFullPathname($pVfs,$zPath,$nPathOut,$zPathOut) { + $pVfs = $pVfs|0; + $zPath = $zPath|0; + $nPathOut = $nPathOut|0; + $zPathOut = $zPathOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $iHash = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $iFrame; - $3 = HEAP32[$2>>2]|0; - $4 = (_walFramePage($3)|0); - HEAP32[$iHash>>2] = $4; - $5 = HEAP32[$iHash>>2]|0; - $6 = ($5|0)==(0); - $7 = HEAP32[$2>>2]|0; - if ($6) { - $8 = (34 + ($7))|0; - $9 = (($8) - 1)|0; - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 32|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($9<<2)|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$0>>2] = $15; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } else { - $16 = (($7) - 1)|0; - $17 = (($16) - 4062)|0; - $18 = (($17>>>0) % 4096)&-1; - $19 = HEAP32[$iHash>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 32|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($18<<2)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$0>>2] = $26; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } - return 0|0; + $3 = sp; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $zPath; + HEAP32[$2>>2] = $nPathOut; + HEAP32[$3>>2] = $zPathOut; + $4 = HEAP32[$3>>2]|0; + HEAP8[$4>>0] = 0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = (FUNCTION_TABLE_iiiii[$7 & 15]($8,$9,$10,$11)|0); + STACKTOP = sp;return ($12|0); } -function _sqlite3WalEndReadTransaction($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3PagerVfs($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pWal; + HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - (_sqlite3WalEndWriteTransaction($1)|0); - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 40|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = ($5|0)>=(0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 40|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = (3 + ($11))|0; - _walUnlockShared($7,$12); - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 40|0); - HEAP16[$14>>1] = -1; - STACKTOP = sp;return; + $2 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($2|0); } -function _sqlite3OsLock($id,$lockType) { - $id = $id|0; - $lockType = $lockType|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _pageReinit($pData) { + $pData = $pData|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $lockType; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); - STACKTOP = sp;return ($8|0); -} -function _sqlite3WalCheckpoint($pWal,$eMode,$xBusy,$pBusyArg,$sync_flags,$nBuf,$zBuf,$pnLog,$pnCkpt) { - $pWal = $pWal|0; - $eMode = $eMode|0; - $xBusy = $xBusy|0; - $pBusyArg = $pBusyArg|0; - $sync_flags = $sync_flags|0; - $nBuf = $nBuf|0; - $zBuf = $zBuf|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $eMode2 = 0, $isChanged = 0, $or$cond = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $6 = sp + 24|0; - $7 = sp + 20|0; - $8 = sp + 16|0; - $9 = sp + 12|0; - $rc = sp + 8|0; - $isChanged = sp + 4|0; - $eMode2 = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $eMode; - HEAP32[$3>>2] = $xBusy; - HEAP32[$4>>2] = $pBusyArg; - HEAP32[$5>>2] = $sync_flags; - HEAP32[$6>>2] = $nBuf; - HEAP32[$7>>2] = $zBuf; - HEAP32[$8>>2] = $pnLog; - HEAP32[$9>>2] = $pnCkpt; - HEAP32[$isChanged>>2] = 0; - $10 = HEAP32[$2>>2]|0; - HEAP32[$eMode2>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 46|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if ($14) { - HEAP32[$0>>2] = 8; - $100 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($100|0); + $pPage = sp; + HEAP32[$0>>2] = $pData; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3PagerGetExtra($1)|0); + HEAP32[$pPage>>2] = $2; + $3 = HEAP32[$pPage>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); + if (!($5)) { + STACKTOP = sp;return; } - $15 = HEAP32[$1>>2]|0; - $16 = (_walLockExclusive($15,1,1)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $19; - $100 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($100|0); + $6 = HEAP32[$pPage>>2]|0; + HEAP8[$6>>0] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = (_sqlite3PagerPageRefcount($7)|0); + $9 = ($8|0)>(1); + if (!($9)) { + STACKTOP = sp;return; } - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 45|0); - HEAP8[$21>>0] = 1; - $22 = HEAP32[$2>>2]|0; - $23 = ($22|0)!=(0); - do { - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = (_walBusyLock($24,$25,$26,0,1)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)==(0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 44|0); - HEAP8[$31>>0] = 1; - break; - } - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(5); - if ($33) { - HEAP32[$eMode2>>2] = 0; - HEAP32[$rc>>2] = 0; - } - } - } while(0); - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)==(0); - if ($35) { - $36 = HEAP32[$1>>2]|0; - $37 = (_walIndexReadHdr($36,$isChanged)|0); - HEAP32[$rc>>2] = $37; - $38 = HEAP32[$isChanged>>2]|0; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)>=(3); - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 4|0); - $48 = HEAP32[$47>>2]|0; - (_sqlite3OsUnfetch($48,0,0,0)|0); - } - } + $10 = HEAP32[$pPage>>2]|0; + (_btreeInitPage($10)|0); + STACKTOP = sp;return; +} +function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$xReinit) { + $pVfs = $pVfs|0; + $ppPager = $ppPager|0; + $zFilename = $zFilename|0; + $nExtra = $nExtra|0; + $flags = $flags|0; + $vfsFlags = $vfsFlags|0; + $xReinit = $xReinit|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fout = 0, $iDc = 0, $journalFileSize = 0, $memDb = 0, $nPathname = 0, $nUri = 0, $pPager = 0, $pPtr = 0, $pcacheSize = 0, $rc = 0, $readOnly = 0, $szPageDflt = 0, $tempFile = 0, $useJournal = 0; + var $z = 0, $zPathname = 0, $zUri = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $0 = sp + 92|0; + $1 = sp + 84|0; + $2 = sp + 28|0; + $3 = sp + 32|0; + $4 = sp + 60|0; + $5 = sp + 8|0; + $6 = sp + 12|0; + $7 = sp + 52|0; + $pPtr = sp + 16|0; + $pPager = sp + 72|0; + $rc = sp + 80|0; + $tempFile = sp + 88|0; + $memDb = sp + 96|0; + $readOnly = sp + 36|0; + $journalFileSize = sp + 40|0; + $zPathname = sp + 48|0; + $nPathname = sp + 44|0; + $useJournal = sp + 56|0; + $pcacheSize = sp + 64|0; + $szPageDflt = sp + 4|0; + $zUri = sp + 20|0; + $nUri = sp + 68|0; + $z = sp + 24|0; + $fout = sp + 76|0; + $iDc = sp; + HEAP32[$1>>2] = $pVfs; + HEAP32[$2>>2] = $ppPager; + HEAP32[$3>>2] = $zFilename; + HEAP32[$4>>2] = $nExtra; + HEAP32[$5>>2] = $flags; + HEAP32[$6>>2] = $vfsFlags; + HEAP32[$7>>2] = $xReinit; + HEAP32[$pPager>>2] = 0; + HEAP32[$rc>>2] = 0; + HEAP32[$tempFile>>2] = 0; + HEAP32[$memDb>>2] = 0; + HEAP32[$readOnly>>2] = 0; + HEAP32[$zPathname>>2] = 0; + HEAP32[$nPathname>>2] = 0; + $8 = HEAP32[$5>>2]|0; + $9 = $8 & 1; + $10 = ($9|0)==(0); + $11 = $10&1; + HEAP32[$useJournal>>2] = $11; + $12 = (_sqlite3PcacheSize()|0); + HEAP32[$pcacheSize>>2] = $12; + HEAP32[$szPageDflt>>2] = 1024; + HEAP32[$zUri>>2] = 0; + HEAP32[$nUri>>2] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3MemJournalSize()|0); + $17 = ($15|0)>($16|0); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + 7)|0; + $22 = $21 & -8; + HEAP32[$journalFileSize>>2] = $22; + } else { + $23 = (_sqlite3MemJournalSize()|0); + $24 = (($23) + 7)|0; + $25 = $24 & -8; + HEAP32[$journalFileSize>>2] = $25; } - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$1>>2]|0; - $52 = (($51) + 52|0); - $53 = (($52) + 16|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)!=(0); - if ($55) { - $56 = HEAP32[$1>>2]|0; - $57 = (_walPagesize($56)|0); - $58 = HEAP32[$6>>2]|0; - $59 = ($57|0)!=($58|0); - if ($59) { - $60 = (_sqlite3CorruptError(51084)|0); - HEAP32[$rc>>2] = $60; - } else { - label = 18; + $26 = HEAP32[$2>>2]|0; + HEAP32[$26>>2] = 0; + $27 = HEAP32[$5>>2]|0; + $28 = $27 & 2; + $29 = ($28|0)!=(0); + do { + if ($29) { + HEAP32[$memDb>>2] = 1; + $30 = HEAP32[$3>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$3>>2]|0; + $37 = (_sqlite3DbStrDup(0,$36)|0); + HEAP32[$zPathname>>2] = $37; + $38 = HEAP32[$zPathname>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $40 = HEAP32[$zPathname>>2]|0; + $41 = (_sqlite3Strlen30($40)|0); + HEAP32[$nPathname>>2] = $41; + HEAP32[$3>>2] = 0; + break; + } + HEAP32[$0>>2] = 7; + $385 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($385|0); + } } - } else { - label = 18; - } - if ((label|0) == 18) { - $61 = HEAP32[$1>>2]|0; - $62 = HEAP32[$eMode2>>2]|0; - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$4>>2]|0; - $65 = HEAP32[$5>>2]|0; - $66 = HEAP32[$7>>2]|0; - $67 = (_walCheckpoint($61,$62,$63,$64,$65,$66)|0); - HEAP32[$rc>>2] = $67; } - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)==(0); - $70 = HEAP32[$rc>>2]|0; - $71 = ($70|0)==(5); - $or$cond = $69 | $71; - if ($or$cond) { - $72 = HEAP32[$8>>2]|0; - $73 = ($72|0)!=(0|0); - if ($73) { - $74 = HEAP32[$1>>2]|0; - $75 = (($74) + 52|0); - $76 = (($75) + 16|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$8>>2]|0; - HEAP32[$78>>2] = $77; + } while(0); + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$3>>2]|0; + $45 = HEAP8[$44>>0]|0; + $46 = $45 << 24 >> 24; + $47 = ($46|0)!=(0); + if ($47) { + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + 1)|0; + HEAP32[$nPathname>>2] = $51; + $52 = HEAP32[$nPathname>>2]|0; + $53 = $52<<1; + $54 = ($53|0)<(0); + $55 = $54 << 31 >> 31; + $56 = (_sqlite3DbMallocRaw(0,$53,$55)|0); + HEAP32[$zPathname>>2] = $56; + $57 = HEAP32[$zPathname>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + HEAP32[$0>>2] = 7; + $385 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($385|0); } - $79 = HEAP32[$9>>2]|0; - $80 = ($79|0)!=(0|0); - if ($80) { - $81 = HEAP32[$1>>2]|0; - $82 = (_walCkptInfo($81)|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$9>>2]|0; - HEAP32[$84>>2] = $83; + $59 = HEAP32[$zPathname>>2]|0; + HEAP8[$59>>0] = 0; + $60 = HEAP32[$1>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$nPathname>>2]|0; + $63 = HEAP32[$zPathname>>2]|0; + $64 = (_sqlite3OsFullPathname($60,$61,$62,$63)|0); + HEAP32[$rc>>2] = $64; + $65 = HEAP32[$zPathname>>2]|0; + $66 = (_sqlite3Strlen30($65)|0); + HEAP32[$nPathname>>2] = $66; + $67 = HEAP32[$3>>2]|0; + $68 = (_sqlite3Strlen30($67)|0); + $69 = (($68) + 1)|0; + $70 = HEAP32[$3>>2]|0; + $71 = (($70) + ($69)|0); + HEAP32[$zUri>>2] = $71; + HEAP32[$z>>2] = $71; + while(1) { + $72 = HEAP32[$z>>2]|0; + $73 = HEAP8[$72>>0]|0; + $74 = ($73<<24>>24)!=(0); + $75 = HEAP32[$z>>2]|0; + if (!($74)) { + break; + } + $76 = (_sqlite3Strlen30($75)|0); + $77 = (($76) + 1)|0; + $78 = HEAP32[$z>>2]|0; + $79 = (($78) + ($77)|0); + HEAP32[$z>>2] = $79; + $80 = HEAP32[$z>>2]|0; + $81 = (_sqlite3Strlen30($80)|0); + $82 = (($81) + 1)|0; + $83 = HEAP32[$z>>2]|0; + $84 = (($83) + ($82)|0); + HEAP32[$z>>2] = $84; + } + $85 = ((($75)) + 1|0); + $86 = HEAP32[$zUri>>2]|0; + $87 = $85; + $88 = $86; + $89 = (($87) - ($88))|0; + HEAP32[$nUri>>2] = $89; + $90 = HEAP32[$rc>>2]|0; + $91 = ($90|0)==(0); + if ($91) { + $92 = HEAP32[$nPathname>>2]|0; + $93 = (($92) + 8)|0; + $94 = HEAP32[$1>>2]|0; + $95 = ((($94)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($93|0)>($96|0); + if ($97) { + $98 = (_sqlite3CantopenError(45462)|0); + HEAP32[$rc>>2] = $98; + } + } + $99 = HEAP32[$rc>>2]|0; + $100 = ($99|0)!=(0); + if ($100) { + $101 = HEAP32[$zPathname>>2]|0; + _sqlite3DbFree(0,$101); + $102 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $102; + $385 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($385|0); } } } - $85 = HEAP32[$isChanged>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$1>>2]|0; - $88 = (($87) + 52|0); - dest=$88+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $103 = HEAP32[$pcacheSize>>2]|0; + $104 = (($103) + 7)|0; + $105 = $104 & -8; + $106 = (216 + ($105))|0; + $107 = HEAP32[$1>>2]|0; + $108 = ((($107)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = (($109) + 7)|0; + $111 = $110 & -8; + $112 = (($106) + ($111))|0; + $113 = HEAP32[$journalFileSize>>2]|0; + $114 = $113<<1; + $115 = (($112) + ($114))|0; + $116 = HEAP32[$nPathname>>2]|0; + $117 = (($115) + ($116))|0; + $118 = (($117) + 1)|0; + $119 = HEAP32[$nUri>>2]|0; + $120 = (($118) + ($119))|0; + $121 = HEAP32[$nPathname>>2]|0; + $122 = (($120) + ($121))|0; + $123 = (($122) + 8)|0; + $124 = (($123) + 2)|0; + $125 = HEAP32[$nPathname>>2]|0; + $126 = (($124) + ($125))|0; + $127 = (($126) + 4)|0; + $128 = (($127) + 2)|0; + $129 = (_sqlite3MallocZero($128,0)|0); + HEAP32[$pPtr>>2] = $129; + $130 = HEAP32[$pPtr>>2]|0; + $131 = ($130|0)!=(0|0); + if (!($131)) { + $132 = HEAP32[$zPathname>>2]|0; + _sqlite3DbFree(0,$132); + HEAP32[$0>>2] = 7; + $385 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($385|0); } - $89 = HEAP32[$1>>2]|0; - (_sqlite3WalEndWriteTransaction($89)|0); - $90 = HEAP32[$1>>2]|0; - _walUnlockExclusive($90,1,1); - $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 45|0); - HEAP8[$92>>0] = 0; - $93 = HEAP32[$rc>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $95 = HEAP32[$2>>2]|0; - $96 = HEAP32[$eMode2>>2]|0; - $97 = ($95|0)!=($96|0); - if ($97) { - $99 = 5; + $133 = HEAP32[$pPtr>>2]|0; + HEAP32[$pPager>>2] = $133; + $134 = HEAP32[$pPtr>>2]|0; + $135 = ((($134)) + 216|0); + HEAP32[$pPtr>>2] = $135; + $136 = HEAP32[$pPager>>2]|0; + $137 = ((($136)) + 204|0); + HEAP32[$137>>2] = $135; + $138 = HEAP32[$pcacheSize>>2]|0; + $139 = (($138) + 7)|0; + $140 = $139 & -8; + $141 = HEAP32[$pPtr>>2]|0; + $142 = (($141) + ($140)|0); + HEAP32[$pPtr>>2] = $142; + $143 = HEAP32[$pPager>>2]|0; + $144 = ((($143)) + 60|0); + HEAP32[$144>>2] = $142; + $145 = HEAP32[$1>>2]|0; + $146 = ((($145)) + 4|0); + $147 = HEAP32[$146>>2]|0; + $148 = (($147) + 7)|0; + $149 = $148 & -8; + $150 = HEAP32[$pPtr>>2]|0; + $151 = (($150) + ($149)|0); + HEAP32[$pPtr>>2] = $151; + $152 = HEAP32[$pPager>>2]|0; + $153 = ((($152)) + 68|0); + HEAP32[$153>>2] = $151; + $154 = HEAP32[$journalFileSize>>2]|0; + $155 = HEAP32[$pPtr>>2]|0; + $156 = (($155) + ($154)|0); + HEAP32[$pPtr>>2] = $156; + $157 = HEAP32[$pPager>>2]|0; + $158 = ((($157)) + 64|0); + HEAP32[$158>>2] = $156; + $159 = HEAP32[$journalFileSize>>2]|0; + $160 = HEAP32[$pPtr>>2]|0; + $161 = (($160) + ($159)|0); + HEAP32[$pPtr>>2] = $161; + $162 = HEAP32[$pPager>>2]|0; + $163 = ((($162)) + 168|0); + HEAP32[$163>>2] = $161; + $164 = HEAP32[$zPathname>>2]|0; + $165 = ($164|0)!=(0|0); + if ($165) { + $166 = HEAP32[$nPathname>>2]|0; + $167 = (($166) + 1)|0; + $168 = HEAP32[$nUri>>2]|0; + $169 = (($167) + ($168))|0; + $170 = HEAP32[$pPtr>>2]|0; + $171 = (($170) + ($169)|0); + HEAP32[$pPtr>>2] = $171; + $172 = HEAP32[$pPager>>2]|0; + $173 = ((($172)) + 172|0); + HEAP32[$173>>2] = $171; + $174 = HEAP32[$pPager>>2]|0; + $175 = ((($174)) + 168|0); + $176 = HEAP32[$175>>2]|0; + $177 = HEAP32[$zPathname>>2]|0; + $178 = HEAP32[$nPathname>>2]|0; + _memcpy(($176|0),($177|0),($178|0))|0; + $179 = HEAP32[$nUri>>2]|0; + $180 = ($179|0)!=(0); + if ($180) { + $181 = HEAP32[$nPathname>>2]|0; + $182 = (($181) + 1)|0; + $183 = HEAP32[$pPager>>2]|0; + $184 = ((($183)) + 168|0); + $185 = HEAP32[$184>>2]|0; + $186 = (($185) + ($182)|0); + $187 = HEAP32[$zUri>>2]|0; + $188 = HEAP32[$nUri>>2]|0; + _memcpy(($186|0),($187|0),($188|0))|0; + } + $189 = HEAP32[$pPager>>2]|0; + $190 = ((($189)) + 172|0); + $191 = HEAP32[$190>>2]|0; + $192 = HEAP32[$zPathname>>2]|0; + $193 = HEAP32[$nPathname>>2]|0; + _memcpy(($191|0),($192|0),($193|0))|0; + $194 = HEAP32[$nPathname>>2]|0; + $195 = HEAP32[$pPager>>2]|0; + $196 = ((($195)) + 172|0); + $197 = HEAP32[$196>>2]|0; + $198 = (($197) + ($194)|0); + dest=$198; src=17572; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $199 = HEAP32[$nPathname>>2]|0; + $200 = (($199) + 8)|0; + $201 = (($200) + 1)|0; + $202 = HEAP32[$pPager>>2]|0; + $203 = ((($202)) + 172|0); + $204 = HEAP32[$203>>2]|0; + $205 = (($204) + ($201)|0); + $206 = HEAP32[$pPager>>2]|0; + $207 = ((($206)) + 212|0); + HEAP32[$207>>2] = $205; + $208 = HEAP32[$pPager>>2]|0; + $209 = ((($208)) + 212|0); + $210 = HEAP32[$209>>2]|0; + $211 = HEAP32[$zPathname>>2]|0; + $212 = HEAP32[$nPathname>>2]|0; + _memcpy(($210|0),($211|0),($212|0))|0; + $213 = HEAP32[$nPathname>>2]|0; + $214 = HEAP32[$pPager>>2]|0; + $215 = ((($214)) + 212|0); + $216 = HEAP32[$215>>2]|0; + $217 = (($216) + ($213)|0); + ;HEAP8[$217>>0]=HEAP8[17582>>0]|0;HEAP8[$217+1>>0]=HEAP8[17582+1>>0]|0;HEAP8[$217+2>>0]=HEAP8[17582+2>>0]|0;HEAP8[$217+3>>0]=HEAP8[17582+3>>0]|0;HEAP8[$217+4>>0]=HEAP8[17582+4>>0]|0; + $218 = HEAP32[$zPathname>>2]|0; + _sqlite3DbFree(0,$218); + } + $219 = HEAP32[$1>>2]|0; + $220 = HEAP32[$pPager>>2]|0; + HEAP32[$220>>2] = $219; + $221 = HEAP32[$6>>2]|0; + $222 = HEAP32[$pPager>>2]|0; + $223 = ((($222)) + 144|0); + HEAP32[$223>>2] = $221; + $224 = HEAP32[$3>>2]|0; + $225 = ($224|0)!=(0|0); + do { + if ($225) { + $226 = HEAP32[$3>>2]|0; + $227 = HEAP8[$226>>0]|0; + $228 = $227 << 24 >> 24; + $229 = ($228|0)!=(0); + if ($229) { + HEAP32[$fout>>2] = 0; + $230 = HEAP32[$1>>2]|0; + $231 = HEAP32[$pPager>>2]|0; + $232 = ((($231)) + 168|0); + $233 = HEAP32[$232>>2]|0; + $234 = HEAP32[$pPager>>2]|0; + $235 = ((($234)) + 60|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$6>>2]|0; + $238 = (_sqlite3OsOpen($230,$233,$236,$237,$fout)|0); + HEAP32[$rc>>2] = $238; + $239 = HEAP32[$fout>>2]|0; + $240 = $239 & 1; + HEAP32[$readOnly>>2] = $240; + $241 = HEAP32[$rc>>2]|0; + $242 = ($241|0)==(0); + if ($242) { + $243 = HEAP32[$pPager>>2]|0; + $244 = ((($243)) + 60|0); + $245 = HEAP32[$244>>2]|0; + $246 = (_sqlite3OsDeviceCharacteristics($245)|0); + HEAP32[$iDc>>2] = $246; + $247 = HEAP32[$readOnly>>2]|0; + $248 = ($247|0)!=(0); + do { + if (!($248)) { + $249 = HEAP32[$pPager>>2]|0; + _setSectorSize($249); + $250 = HEAP32[$szPageDflt>>2]|0; + $251 = HEAP32[$pPager>>2]|0; + $252 = ((($251)) + 148|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($250>>>0)<($253>>>0); + if ($254) { + $255 = HEAP32[$pPager>>2]|0; + $256 = ((($255)) + 148|0); + $257 = HEAP32[$256>>2]|0; + $258 = ($257>>>0)>(8192); + if ($258) { + HEAP32[$szPageDflt>>2] = 8192; + break; + } else { + $259 = HEAP32[$pPager>>2]|0; + $260 = ((($259)) + 148|0); + $261 = HEAP32[$260>>2]|0; + HEAP32[$szPageDflt>>2] = $261; + break; + } + } + } + } while(0); + $262 = HEAP32[$3>>2]|0; + $263 = (_sqlite3_uri_boolean($262,17588,0)|0); + $264 = $263&255; + $265 = HEAP32[$pPager>>2]|0; + $266 = ((($265)) + 13|0); + HEAP8[$266>>0] = $264; + $267 = HEAP32[$iDc>>2]|0; + $268 = $267 & 8192; + $269 = ($268|0)!=(0); + if (!($269)) { + $270 = HEAP32[$3>>2]|0; + $271 = (_sqlite3_uri_boolean($270,17595,0)|0); + $272 = ($271|0)!=(0); + if (!($272)) { + break; + } + } + $273 = HEAP32[$6>>2]|0; + $274 = $273 | 1; + HEAP32[$6>>2] = $274; + label = 39; + } + } else { + label = 39; + } } else { - label = 28; + label = 39; } - } else { - label = 28; + } while(0); + if ((label|0) == 39) { + HEAP32[$tempFile>>2] = 1; + $275 = HEAP32[$pPager>>2]|0; + $276 = ((($275)) + 16|0); + HEAP8[$276>>0] = 1; + $277 = HEAP32[$pPager>>2]|0; + $278 = ((($277)) + 17|0); + HEAP8[$278>>0] = 4; + $279 = HEAP32[$pPager>>2]|0; + $280 = ((($279)) + 13|0); + HEAP8[$280>>0] = 1; + $281 = HEAP32[$6>>2]|0; + $282 = $281 & 1; + HEAP32[$readOnly>>2] = $282; } - if ((label|0) == 28) { - $98 = HEAP32[$rc>>2]|0; - $99 = $98; + $283 = HEAP32[$rc>>2]|0; + $284 = ($283|0)==(0); + if ($284) { + $285 = HEAP32[$pPager>>2]|0; + $286 = (_sqlite3PagerSetPagesize($285,$szPageDflt,-1)|0); + HEAP32[$rc>>2] = $286; } - HEAP32[$0>>2] = $99; - $100 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($100|0); -} -function _sqlite3OsFileControlHint($id,$op,$pArg) { - $id = $id|0; - $op = $op|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - (FUNCTION_TABLE_iiii[$6 & 31]($7,$8,$9)|0); - STACKTOP = sp;return; + $287 = HEAP32[$rc>>2]|0; + $288 = ($287|0)==(0); + if ($288) { + $289 = HEAP32[$4>>2]|0; + $290 = (($289) + 7)|0; + $291 = $290 & -8; + HEAP32[$4>>2] = $291; + $292 = HEAP32[$szPageDflt>>2]|0; + $293 = HEAP32[$4>>2]|0; + $294 = HEAP32[$memDb>>2]|0; + $295 = ($294|0)!=(0); + $296 = $295 ^ 1; + $297 = $296&1; + $298 = HEAP32[$memDb>>2]|0; + $299 = ($298|0)!=(0); + $300 = $299 ^ 1; + $301 = $300 ? 39 : 0; + $302 = HEAP32[$pPager>>2]|0; + $303 = HEAP32[$pPager>>2]|0; + $304 = ((($303)) + 204|0); + $305 = HEAP32[$304>>2]|0; + $306 = (_sqlite3PcacheOpen($292,$293,$297,$301,$302,$305)|0); + HEAP32[$rc>>2] = $306; + } + $307 = HEAP32[$rc>>2]|0; + $308 = ($307|0)!=(0); + if ($308) { + $309 = HEAP32[$pPager>>2]|0; + $310 = ((($309)) + 60|0); + $311 = HEAP32[$310>>2]|0; + (_sqlite3OsClose($311)|0); + $312 = HEAP32[$pPager>>2]|0; + $313 = ((($312)) + 200|0); + $314 = HEAP32[$313>>2]|0; + _sqlite3PageFree($314); + $315 = HEAP32[$pPager>>2]|0; + _sqlite3_free($315); + $316 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $316; + $385 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($385|0); + } + $317 = HEAP32[$useJournal>>2]|0; + $318 = $317&255; + $319 = HEAP32[$pPager>>2]|0; + $320 = ((($319)) + 6|0); + HEAP8[$320>>0] = $318; + $321 = HEAP32[$pPager>>2]|0; + $322 = ((($321)) + 156|0); + HEAP32[$322>>2] = 1073741823; + $323 = HEAP32[$tempFile>>2]|0; + $324 = $323&255; + $325 = HEAP32[$pPager>>2]|0; + $326 = ((($325)) + 12|0); + HEAP8[$326>>0] = $324; + $327 = HEAP32[$tempFile>>2]|0; + $328 = $327&255; + $329 = HEAP32[$pPager>>2]|0; + $330 = ((($329)) + 4|0); + HEAP8[$330>>0] = $328; + $331 = HEAP32[$pPager>>2]|0; + $332 = ((($331)) + 12|0); + $333 = HEAP8[$332>>0]|0; + $334 = HEAP32[$pPager>>2]|0; + $335 = ((($334)) + 18|0); + HEAP8[$335>>0] = $333; + $336 = HEAP32[$memDb>>2]|0; + $337 = $336&255; + $338 = HEAP32[$pPager>>2]|0; + $339 = ((($338)) + 15|0); + HEAP8[$339>>0] = $337; + $340 = HEAP32[$readOnly>>2]|0; + $341 = $340&255; + $342 = HEAP32[$pPager>>2]|0; + $343 = ((($342)) + 14|0); + HEAP8[$343>>0] = $341; + $344 = HEAP32[$pPager>>2]|0; + $345 = ((($344)) + 12|0); + $346 = HEAP8[$345>>0]|0; + $347 = HEAP32[$pPager>>2]|0; + $348 = ((($347)) + 7|0); + HEAP8[$348>>0] = $346; + $349 = HEAP32[$pPager>>2]|0; + $350 = ((($349)) + 7|0); + $351 = HEAP8[$350>>0]|0; + $352 = ($351<<24>>24)!=(0); + if (!($352)) { + $353 = HEAP32[$pPager>>2]|0; + $354 = ((($353)) + 8|0); + HEAP8[$354>>0] = 1; + $355 = HEAP32[$pPager>>2]|0; + $356 = ((($355)) + 11|0); + HEAP8[$356>>0] = 2; + $357 = HEAP32[$pPager>>2]|0; + $358 = ((($357)) + 10|0); + HEAP8[$358>>0] = 34; + $359 = HEAP32[$pPager>>2]|0; + $360 = ((($359)) + 9|0); + HEAP8[$360>>0] = 2; + } + $361 = HEAP32[$4>>2]|0; + $362 = $361&65535; + $363 = HEAP32[$pPager>>2]|0; + $364 = ((($363)) + 140|0); + HEAP16[$364>>1] = $362; + $365 = HEAP32[$pPager>>2]|0; + $366 = ((($365)) + 160|0); + $367 = $366; + $368 = $367; + HEAP32[$368>>2] = -1; + $369 = (($367) + 4)|0; + $370 = $369; + HEAP32[$370>>2] = -1; + $371 = HEAP32[$pPager>>2]|0; + _setSectorSize($371); + $372 = HEAP32[$useJournal>>2]|0; + $373 = ($372|0)!=(0); + if ($373) { + $376 = HEAP32[$memDb>>2]|0; + $377 = ($376|0)!=(0); + if ($377) { + $378 = HEAP32[$pPager>>2]|0; + $379 = ((($378)) + 5|0); + HEAP8[$379>>0] = 4; + } + } else { + $374 = HEAP32[$pPager>>2]|0; + $375 = ((($374)) + 5|0); + HEAP8[$375>>0] = 2; + } + $380 = HEAP32[$7>>2]|0; + $381 = HEAP32[$pPager>>2]|0; + $382 = ((($381)) + 196|0); + HEAP32[$382>>2] = $380; + $383 = HEAP32[$pPager>>2]|0; + $384 = HEAP32[$2>>2]|0; + HEAP32[$384>>2] = $383; + HEAP32[$0>>2] = 0; + $385 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($385|0); } -function _walLimitSize($pWal,$0,$1) { - $pWal = $pWal|0; +function _sqlite3PagerSetMmapLimit($pPager,$0,$1) { + $pPager = $pPager|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rx = 0, $sz = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp + 16|0; - $2 = sp + 24|0; - $3 = sp + 8|0; - $sz = sp; - $rx = sp + 20|0; - HEAP32[$2>>2] = $pWal; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $pPager; $4 = $3; $5 = $4; HEAP32[$5>>2] = $0; $6 = (($4) + 4)|0; $7 = $6; HEAP32[$7>>2] = $1; - _sqlite3BeginBenignMalloc(); - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 8|0); + $8 = $3; + $9 = $8; $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3OsFileSize($10,$sz)|0); - HEAP32[$rx>>2] = $11; - $12 = HEAP32[$rx>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = $sz; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = $3; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = ($19|0)>($25|0); - $27 = ($16>>>0)>($22>>>0); - $28 = ($19|0)==($25|0); - $29 = $28 & $27; - $30 = $26 | $29; - if ($30) { - $31 = HEAP32[$2>>2]|0; - $32 = (($31) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = $3; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3OsTruncate($33,$36,$39)|0); - HEAP32[$rx>>2] = $40; - } + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 128|0); + $16 = $15; + $17 = $16; + HEAP32[$17>>2] = $10; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $13; + $20 = HEAP32[$2>>2]|0; + _pagerFixMaplimit($20); + STACKTOP = sp;return; +} +function _sqlite3PagerReadFileheader($pPager,$N,$pDest) { + $pPager = $pPager|0; + $N = $N|0; + $pDest = $pDest|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $N; + HEAP32[$2>>2] = $pDest; + HEAP32[$rc>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + _memset(($3|0),0,($4|0))|0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 60|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); } - _sqlite3EndBenignMalloc(); - $41 = HEAP32[$rx>>2]|0; - $42 = ($41|0)!=(0); - if (!($42)) { + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 60|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = (_sqlite3OsRead($12,$13,$14,0,0)|0); + HEAP32[$rc>>2] = $15; + $16 = HEAP32[$rc>>2]|0; + $17 = ($16|0)==(522); + $$ = $17 ? 0 : $15; + HEAP32[$rc>>2] = $$; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); +} +function _btreeInvokeBusyHandler($pArg) { + $pArg = $pArg|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pBt = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pBt = sp; + HEAP32[$0>>2] = $pArg; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pBt>>2] = $1; + $2 = HEAP32[$pBt>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 444|0); + $6 = (_sqlite3InvokeBusyHandler($5)|0); + STACKTOP = sp;return ($6|0); +} +function _sqlite3PagerSetBusyhandler($pPager,$xBusyHandler,$pBusyHandlerArg) { + $pPager = $pPager|0; + $xBusyHandler = $xBusyHandler|0; + $pBusyHandlerArg = $pBusyHandlerArg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $ap = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $ap = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $xBusyHandler; + HEAP32[$2>>2] = $pBusyHandlerArg; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 176|0); + HEAP32[$5>>2] = $3; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 180|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 60|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { STACKTOP = sp;return; } - $43 = HEAP32[$rx>>2]|0; - $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 100|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$vararg_buffer>>2] = $46; - _sqlite3_log($43,4440,$vararg_buffer); + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 176|0); + HEAP32[$ap>>2] = $15; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 60|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$ap>>2]|0; + _sqlite3OsFileControlHint($18,15,$19); STACKTOP = sp;return; } -function _walIndexClose($pWal,$isDelete) { - $pWal = $pWal|0; - $isDelete = $isDelete|0; +function _sqlite3PagerIsreadonly($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 14|0); + $3 = HEAP8[$2>>0]|0; + STACKTOP = sp;return ($3|0); +} +function _sqlite3Get4byte($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 1|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = $8 << 16; + $10 = $4 | $9; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 2|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = $14 << 8; + $16 = $10 | $15; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 3|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $16 | $20; + STACKTOP = sp;return ($21|0); +} +function _sqlite3PagerClose($pPager) { + $pPager = $pPager|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $isDelete; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 43|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(2); - if (!($6)) { - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 4|0); + $0 = sp + 4|0; + $pTmp = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 200|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pTmp>>2] = $3; + _sqlite3BeginBenignMalloc(); + $4 = HEAP32[$0>>2]|0; + _pagerFreeMapHdrs($4); + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 4|0); + HEAP8[$6>>0] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 208|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 9|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 152|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$pTmp>>2]|0; + (_sqlite3WalClose($9,$13,$16,$17)|0); + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 208|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$0>>2]|0; + _pager_reset($20); + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 15|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)!=(0); + $25 = HEAP32[$0>>2]|0; + if ($24) { + _pager_unlock($25); + } else { + $26 = ((($25)) + 64|0); $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$1>>2]|0; - (_sqlite3OsShmUnmap($27,$28)|0); - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7|0)<($10|0); - if (!($11)) { - break; + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$0>>2]|0; + $31 = HEAP32[$0>>2]|0; + $32 = (_pagerSyncHotJournal($31)|0); + (_pager_error($30,$32)|0); } - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($12<<2)|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3_free($17); - $18 = HEAP32[$i>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 32|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18<<2)|0); - HEAP32[$22>>2] = 0; - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; + $33 = HEAP32[$0>>2]|0; + _pagerUnlockAndRollback($33); } - STACKTOP = sp;return; + _sqlite3EndBenignMalloc(); + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 64|0); + $36 = HEAP32[$35>>2]|0; + (_sqlite3OsClose($36)|0); + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 60|0); + $39 = HEAP32[$38>>2]|0; + (_sqlite3OsClose($39)|0); + $40 = HEAP32[$pTmp>>2]|0; + _sqlite3PageFree($40); + $41 = HEAP32[$0>>2]|0; + $42 = ((($41)) + 204|0); + $43 = HEAP32[$42>>2]|0; + _sqlite3PcacheClose($43); + $44 = HEAP32[$0>>2]|0; + _sqlite3_free($44); + STACKTOP = sp;return 0; } -function _sqlite3OsShmUnmap($id,$deleteFlag) { - $id = $id|0; - $deleteFlag = $deleteFlag|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3PagerSetCachesize($pPager,$mxPage) { + $pPager = $pPager|0; + $mxPage = $mxPage|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $deleteFlag; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $mxPage; $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 64|0); - $5 = HEAP32[$4>>2]|0; + $3 = ((($2)) + 204|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + _sqlite3PcacheSetCachesize($4,$5); + STACKTOP = sp;return; +} +function _sqlite3PcacheSetCachesize($pCache,$mxPage) { + $pCache = $pCache|0; + $mxPage = $mxPage|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pCache; + HEAP32[$1>>2] = $mxPage; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $2; + $5 = HEAP32[(132)>>2]|0; $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); - STACKTOP = sp;return ($8|0); + $7 = ((($6)) + 40|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = (_numberOfCachePages($9)|0); + FUNCTION_TABLE_vii[$5 & 7]($8,$10); + STACKTOP = sp;return; } -function _walLockExclusive($pWal,$lockIdx,$n) { - $pWal = $pWal|0; - $lockIdx = $lockIdx|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _pagerFreeMapHdrs($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pNext = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $lockIdx; - HEAP32[$3>>2] = $n; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 43|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)!=(0); - if ($7) { - HEAP32[$0>>2] = 0; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); - } else { - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$3>>2]|0; - $13 = (_sqlite3OsShmLock($10,$11,$12,10)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $14; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); - } - return 0|0; -} -function _walBusyLock($pWal,$xBusy,$pBusyArg,$lockIdx,$n) { - $pWal = $pWal|0; - $xBusy = $xBusy|0; - $pBusyArg = $pBusyArg|0; - $lockIdx = $lockIdx|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $xBusy; - HEAP32[$2>>2] = $pBusyArg; - HEAP32[$3>>2] = $lockIdx; - HEAP32[$4>>2] = $n; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $p = sp + 4|0; + $pNext = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 136|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$p>>2] = $3; while(1) { - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = (_walLockExclusive($5,$6,$7)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = ($9|0)!=(0|0); - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(5); - $or$cond = $10 & $12; - if (!($or$cond)) { - label = 4; - break; - } - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (FUNCTION_TABLE_ii[$13 & 31]($14)|0); - $16 = ($15|0)!=(0); - if (!($16)) { - label = 4; + $4 = HEAP32[$p>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { break; } + $6 = HEAP32[$p>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$pNext>>2] = $8; + $9 = HEAP32[$p>>2]|0; + _sqlite3_free($9); + $10 = HEAP32[$pNext>>2]|0; + HEAP32[$p>>2] = $10; } - if ((label|0) == 4) { - $17 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($17|0); - } - return 0|0; + STACKTOP = sp;return; } -function _walIndexReadHdr($pWal,$pChanged) { +function _sqlite3WalClose($pWal,$sync_flags,$nBuf,$zBuf) { $pWal = $pWal|0; - $pChanged = $pChanged|0; + $sync_flags = $sync_flags|0; + $nBuf = $nBuf|0; + $zBuf = $zBuf|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $badHdr = 0, $page0 = 0, $rc = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; + var $8 = 0, $9 = 0, $bPersist = 0, $isDelete = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; + $0 = sp + 8|0; $1 = sp + 16|0; - $2 = sp + 12|0; - $rc = sp + 8|0; - $badHdr = sp + 4|0; - $page0 = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pChanged; - $3 = HEAP32[$1>>2]|0; - $4 = (_walIndexPage($3,0,$page0)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $7; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); - } - $8 = HEAP32[$page0>>2]|0; - $9 = ($8|0)!=(0|0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (_walIndexTryHdr($10,$11)|0); - $13 = $12; - } else { - $13 = 1; + $2 = sp + 20|0; + $3 = sp + 24|0; + $rc = sp + 4|0; + $isDelete = sp; + $bPersist = sp + 12|0; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $sync_flags; + HEAP32[$2>>2] = $nBuf; + HEAP32[$3>>2] = $zBuf; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $61 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($61|0); } - HEAP32[$badHdr>>2] = $13; - $14 = HEAP32[$badHdr>>2]|0; - $15 = ($14|0)!=(0); + HEAP32[$isDelete>>2] = 0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3OsLock($8,4)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + $11 = ($10|0)==(0); do { - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 46|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 2; - $21 = ($20|0)!=(0); - $22 = HEAP32[$1>>2]|0; - if ($21) { - $23 = (_walLockShared($22,0)|0); - HEAP32[$rc>>2] = $23; - $24 = (0)==($23|0); - if (!($24)) { + if ($11) { + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 43|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(0); + if ($16) { + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 43|0); + HEAP8[$18>>0] = 1; + } + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = (_sqlite3WalCheckpoint($19,0,0,0,$20,$21,$22,0,0)|0); + HEAP32[$rc>>2] = $23; + $24 = HEAP32[$rc>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + HEAP32[$bPersist>>2] = -1; + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _sqlite3OsFileControlHint($28,10,$bPersist); + $29 = HEAP32[$bPersist>>2]|0; + $30 = ($29|0)!=(1); + if ($30) { + HEAP32[$isDelete>>2] = 1; break; } - $25 = HEAP32[$1>>2]|0; - _walUnlockShared($25,0); - HEAP32[$rc>>2] = 264; - break; - } - $26 = (_walLockExclusive($22,0,1)|0); - HEAP32[$rc>>2] = $26; - $27 = (0)==($26|0); - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 44|0); - HEAP8[$29>>0] = 1; - $30 = HEAP32[$1>>2]|0; - $31 = (_walIndexPage($30,0,$page0)|0); - HEAP32[$rc>>2] = $31; - $32 = (0)==($31|0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = (_walIndexTryHdr($33,$34)|0); - HEAP32[$badHdr>>2] = $35; - $36 = HEAP32[$badHdr>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = (_walIndexRecover($38)|0); - HEAP32[$rc>>2] = $39; - $40 = HEAP32[$2>>2]|0; - HEAP32[$40>>2] = 1; - } + $31 = HEAP32[$0>>2]|0; + $32 = ((($31)) + 16|0); + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)>(0); + $40 = ($35>>>0)>=(0); + $41 = ($38|0)==(0); + $42 = $41 & $40; + $43 = $39 | $42; + if ($43) { + $44 = HEAP32[$0>>2]|0; + _walLimitSize($44,0,0); } - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 44|0); - HEAP8[$42>>0] = 0; - $43 = HEAP32[$1>>2]|0; - _walUnlockExclusive($43,0,1); } } } while(0); - $44 = HEAP32[$badHdr>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 52|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)!=(3007000); - if ($49) { - $50 = (_sqlite3CantopenError(50131)|0); - HEAP32[$rc>>2] = $50; - } + $45 = HEAP32[$0>>2]|0; + $46 = HEAP32[$isDelete>>2]|0; + _walIndexClose($45,$46); + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP32[$48>>2]|0; + (_sqlite3OsClose($49)|0); + $50 = HEAP32[$isDelete>>2]|0; + $51 = ($50|0)!=(0); + if ($51) { + _sqlite3BeginBenignMalloc(); + $52 = HEAP32[$0>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 100|0); + $56 = HEAP32[$55>>2]|0; + (_sqlite3OsDelete($53,$56,0)|0); + _sqlite3EndBenignMalloc(); } - $51 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($52|0); + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 32|0); + $59 = HEAP32[$58>>2]|0; + _sqlite3_free($59); + $60 = HEAP32[$0>>2]|0; + _sqlite3_free($60); + $61 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($61|0); } -function _walPagesize($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _pager_unlock($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $9 = 0, $iDc = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; + $0 = sp + 8|0; + $rc = sp + 4|0; + $iDc = sp; + HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 52|0); - $3 = (($2) + 14|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 65024; + $2 = ((($1)) + 56|0); + $3 = HEAP32[$2>>2]|0; + _sqlite3BitvecDestroy($3); + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 56|0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[$0>>2]|0; + _releaseAllSavepoints($6); $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 52|0); - $9 = (($8) + 14|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 1; - $13 = $12 << 16; - $14 = (($6) + ($13))|0; - STACKTOP = sp;return ($14|0); + $8 = (_pagerUseWal($7)|0); + $9 = ($8|0)!=(0); + $10 = HEAP32[$0>>2]|0; + if ($9) { + $11 = ((($10)) + 208|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3WalEndReadTransaction($12); + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 16|0); + HEAP8[$14>>0] = 0; + } else { + $15 = ((($10)) + 4|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 60|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 60|0); + $25 = HEAP32[$24>>2]|0; + $26 = (_sqlite3OsDeviceCharacteristics($25)|0); + $27 = $26; + } else { + $27 = 0; + } + HEAP32[$iDc>>2] = $27; + $28 = HEAP32[$iDc>>2]|0; + $29 = $28 & 2048; + $30 = (0)==($29|0); + if ($30) { + label = 8; + } else { + $31 = HEAP32[$0>>2]|0; + $32 = ((($31)) + 5|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 & 5; + $36 = (1)!=($35|0); + if ($36) { + label = 8; + } + } + if ((label|0) == 8) { + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 64|0); + $39 = HEAP32[$38>>2]|0; + (_sqlite3OsClose($39)|0); + } + $40 = HEAP32[$0>>2]|0; + $41 = (_pagerUnlockDb($40,0)|0); + HEAP32[$rc>>2] = $41; + $42 = HEAP32[$rc>>2]|0; + $43 = ($42|0)!=(0); + if ($43) { + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($47|0)==(6); + if ($48) { + $49 = HEAP32[$0>>2]|0; + $50 = ((($49)) + 17|0); + HEAP8[$50>>0] = 5; + } + } + $51 = HEAP32[$0>>2]|0; + $52 = ((($51)) + 18|0); + HEAP8[$52>>0] = 0; + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 16|0); + HEAP8[$54>>0] = 0; + } + } + $55 = HEAP32[$0>>2]|0; + $56 = ((($55)) + 40|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)!=(0); + if (!($58)) { + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 72|0); + $71 = $70; + $72 = $71; + HEAP32[$72>>2] = 0; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = 0; + $75 = HEAP32[$0>>2]|0; + $76 = ((($75)) + 80|0); + $77 = $76; + $78 = $77; + HEAP32[$78>>2] = 0; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = 0; + $81 = HEAP32[$0>>2]|0; + $82 = ((($81)) + 19|0); + HEAP8[$82>>0] = 0; + STACKTOP = sp;return; + } + $59 = HEAP32[$0>>2]|0; + _pager_reset($59); + $60 = HEAP32[$0>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP8[$61>>0]|0; + $63 = HEAP32[$0>>2]|0; + $64 = ((($63)) + 18|0); + HEAP8[$64>>0] = $62; + $65 = HEAP32[$0>>2]|0; + $66 = ((($65)) + 16|0); + HEAP8[$66>>0] = 0; + $67 = HEAP32[$0>>2]|0; + $68 = ((($67)) + 40|0); + HEAP32[$68>>2] = 0; + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 72|0); + $71 = $70; + $72 = $71; + HEAP32[$72>>2] = 0; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = 0; + $75 = HEAP32[$0>>2]|0; + $76 = ((($75)) + 80|0); + $77 = $76; + $78 = $77; + HEAP32[$78>>2] = 0; + $79 = (($77) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = 0; + $81 = HEAP32[$0>>2]|0; + $82 = ((($81)) + 19|0); + HEAP8[$82>>0] = 0; + STACKTOP = sp;return; } -function _walCheckpoint($pWal,$eMode,$xBusyCall,$pBusyArg,$sync_flags,$zBuf) { - $pWal = $pWal|0; - $eMode = $eMode|0; - $xBusyCall = $xBusyCall|0; - $pBusyArg = $pBusyArg|0; - $sync_flags = $sync_flags|0; - $zBuf = $zBuf|0; - var $$old = 0, $$old4 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iDbpage = 0, $iFrame = 0, $iOffset = 0, $mxPage = 0, $mxSafeFrame = 0, $nBackfill = 0, $nReq = 0, $nSize = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pInfo = 0, $pIter = 0, $rc = 0; - var $szDb = 0, $szPage = 0, $xBusy = 0, $y = 0, label = 0, sp = 0; +function _pagerSyncHotJournal($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $3 = sp + 92|0; - $4 = sp + 88|0; - $5 = sp + 84|0; - $6 = sp + 80|0; - $rc = sp + 76|0; - $szPage = sp + 72|0; - $pIter = sp + 68|0; - $iDbpage = sp + 64|0; - $iFrame = sp + 60|0; - $mxSafeFrame = sp + 56|0; - $mxPage = sp + 52|0; - $i = sp + 48|0; - $pInfo = sp + 44|0; - $xBusy = sp + 40|0; - $y = sp + 36|0; - $nSize = sp + 24|0; - $nBackfill = sp + 32|0; - $nReq = sp + 16|0; - $iOffset = sp + 8|0; - $szDb = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $eMode; - HEAP32[$3>>2] = $xBusyCall; - HEAP32[$4>>2] = $pBusyArg; - HEAP32[$5>>2] = $sync_flags; - HEAP32[$6>>2] = $zBuf; - HEAP32[$pIter>>2] = 0; - HEAP32[$iDbpage>>2] = 0; - HEAP32[$iFrame>>2] = 0; - HEAP32[$xBusy>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = (_walPagesize($7)|0); - HEAP32[$szPage>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = (_walCkptInfo($9)|0); - HEAP32[$pInfo>>2] = $10; - $11 = HEAP32[$pInfo>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 52|0); - $15 = (($14) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($12>>>0)>=($16>>>0); - if ($17) { - HEAP32[$0>>2] = 0; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); - } - $18 = HEAP32[$1>>2]|0; - $19 = (_walIteratorInit($18,$pIter)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $22; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$rc>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 7|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if (!($4)) { + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 64|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3OsSync($7,2)|0); + HEAP32[$rc>>2] = $8; } - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$3>>2]|0; - HEAP32[$xBusy>>2] = $25; + $9 = HEAP32[$rc>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $17 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($17|0); } - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 52|0); - $28 = (($27) + 16|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$mxSafeFrame>>2] = $29; - $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 52|0); - $32 = (($31) + 20|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$mxPage>>2] = $33; - HEAP32[$i>>2] = 1; - L12: while(1) { - $34 = HEAP32[$i>>2]|0; - $35 = ($34|0)<(5); - if (!($35)) { - label = 15; - break; - } - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$pInfo>>2]|0; - $38 = (($37) + 4|0); - $39 = (($38) + ($36<<2)|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$y>>2] = $40; - $41 = HEAP32[$mxSafeFrame>>2]|0; - $42 = HEAP32[$y>>2]|0; - $43 = ($41>>>0)>($42>>>0); - do { - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = HEAP32[$xBusy>>2]|0; - $46 = HEAP32[$4>>2]|0; - $47 = HEAP32[$i>>2]|0; - $48 = (3 + ($47))|0; - $49 = (_walBusyLock($44,$45,$46,$48,1)|0); - HEAP32[$rc>>2] = $49; - $50 = HEAP32[$rc>>2]|0; - $51 = ($50|0)==(0); - if ($51) { - $52 = HEAP32[$i>>2]|0; - $53 = ($52|0)==(1); - $54 = HEAP32[$mxSafeFrame>>2]|0; - $55 = $53 ? $54 : -1; - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$pInfo>>2]|0; - $58 = (($57) + 4|0); - $59 = (($58) + ($56<<2)|0); - HEAP32[$59>>2] = $55; - $60 = HEAP32[$1>>2]|0; - $61 = HEAP32[$i>>2]|0; - $62 = (3 + ($61))|0; - _walUnlockExclusive($60,$62,1); - break; - } - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)==(5); - if (!($64)) { - break L12; - } - $65 = HEAP32[$y>>2]|0; - HEAP32[$mxSafeFrame>>2] = $65; - HEAP32[$xBusy>>2] = 0; - } - } while(0); - $66 = HEAP32[$i>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$i>>2] = $67; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 64|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 80|0); + $16 = (_sqlite3OsFileSize($13,$15)|0); + HEAP32[$rc>>2] = $16; + $17 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _pager_error($pPager,$rc) { + $pPager = $pPager|0; + $rc = $rc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc2 = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $rc; + $2 = HEAP32[$1>>2]|0; + $3 = $2 & 255; + HEAP32[$rc2>>2] = $3; + $4 = HEAP32[$rc2>>2]|0; + $5 = ($4|0)==(13); + $6 = HEAP32[$rc2>>2]|0; + $7 = ($6|0)==(10); + $or$cond = $5 | $7; + if (!($or$cond)) { + $13 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($13|0); } + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 40|0); + HEAP32[$10>>2] = $8; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 16|0); + HEAP8[$12>>0] = 6; + $13 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _pagerUnlockAndRollback($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)!=(6); do { - if ((label|0) == 15) { - $68 = HEAP32[$pInfo>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$mxSafeFrame>>2]|0; - $71 = ($69>>>0)<($70>>>0); - if ($71) { - $72 = HEAP32[$1>>2]|0; - $73 = HEAP32[$xBusy>>2]|0; - $74 = HEAP32[$4>>2]|0; - $75 = (_walBusyLock($72,$73,$74,3,1)|0); - HEAP32[$rc>>2] = $75; - $76 = ($75|0)==(0); - if ($76) { - $77 = HEAP32[$pInfo>>2]|0; - $78 = HEAP32[$77>>2]|0; - HEAP32[$nBackfill>>2] = $78; - $79 = HEAP32[$5>>2]|0; - $80 = ($79|0)!=(0); - if ($80) { - $81 = HEAP32[$1>>2]|0; - $82 = (($81) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$5>>2]|0; - $85 = (_sqlite3OsSync($83,$84)|0); - HEAP32[$rc>>2] = $85; - } - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$mxPage>>2]|0; - $89 = HEAP32[$szPage>>2]|0; - $90 = ($89|0)<(0); - $91 = $90 << 31 >> 31; - $92 = (___muldi3(($88|0),0,($89|0),($91|0))|0); - $93 = tempRet0; - $94 = $nReq; - $95 = $94; - HEAP32[$95>>2] = $92; - $96 = (($94) + 4)|0; - $97 = $96; - HEAP32[$97>>2] = $93; - $98 = HEAP32[$1>>2]|0; - $99 = (($98) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = (_sqlite3OsFileSize($100,$nSize)|0); - HEAP32[$rc>>2] = $101; - $102 = HEAP32[$rc>>2]|0; - $103 = ($102|0)==(0); - if ($103) { - $104 = $nSize; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = $nReq; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ($109|0)<($115|0); - $117 = ($106>>>0)<($112>>>0); - $118 = ($109|0)==($115|0); - $119 = $118 & $117; - $120 = $116 | $119; - if ($120) { - $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 4|0); - $123 = HEAP32[$122>>2]|0; - _sqlite3OsFileControlHint($123,5,$nReq); - } - } - } - L34: while(1) { - $$old = HEAP32[$rc>>2]|0; - $$old4 = ($$old|0)==(0); - if (!($$old4)) { - break; - } - while(1) { - $124 = HEAP32[$pIter>>2]|0; - $125 = (_walIteratorNext($124,$iDbpage,$iFrame)|0); - $126 = (0)==($125|0); - if (!($126)) { - break L34; - } - $127 = HEAP32[$iFrame>>2]|0; - $128 = HEAP32[$nBackfill>>2]|0; - $129 = ($127>>>0)<=($128>>>0); - if ($129) { - continue L34; - } - $130 = HEAP32[$iFrame>>2]|0; - $131 = HEAP32[$mxSafeFrame>>2]|0; - $132 = ($130>>>0)>($131>>>0); - if ($132) { - continue L34; - } - $133 = HEAP32[$iDbpage>>2]|0; - $134 = HEAP32[$mxPage>>2]|0; - $135 = ($133>>>0)>($134>>>0); - if ($135) { - continue L34; - } - $136 = HEAP32[$iFrame>>2]|0; - $137 = (($136) - 1)|0; - $138 = HEAP32[$szPage>>2]|0; - $139 = (($138) + 24)|0; - $140 = ($139|0)<(0); - $141 = $140 << 31 >> 31; - $142 = (___muldi3(($137|0),0,($139|0),($141|0))|0); - $143 = tempRet0; - $144 = (_i64Add(32,0,($142|0),($143|0))|0); - $145 = tempRet0; - $146 = (_i64Add(($144|0),($145|0),24,0)|0); - $147 = tempRet0; - $148 = $iOffset; - $149 = $148; - HEAP32[$149>>2] = $146; - $150 = (($148) + 4)|0; - $151 = $150; - HEAP32[$151>>2] = $147; - $152 = HEAP32[$1>>2]|0; - $153 = (($152) + 8|0); - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$6>>2]|0; - $156 = HEAP32[$szPage>>2]|0; - $157 = $iOffset; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (_sqlite3OsRead($154,$155,$156,$159,$162)|0); - HEAP32[$rc>>2] = $163; - $164 = HEAP32[$rc>>2]|0; - $165 = ($164|0)!=(0); - if ($165) { - break L34; - } - $166 = HEAP32[$iDbpage>>2]|0; - $167 = (($166) - 1)|0; - $168 = HEAP32[$szPage>>2]|0; - $169 = ($168|0)<(0); - $170 = $169 << 31 >> 31; - $171 = (___muldi3(($167|0),0,($168|0),($170|0))|0); - $172 = tempRet0; - $173 = $iOffset; - $174 = $173; - HEAP32[$174>>2] = $171; - $175 = (($173) + 4)|0; - $176 = $175; - HEAP32[$176>>2] = $172; - $177 = HEAP32[$1>>2]|0; - $178 = (($177) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$6>>2]|0; - $181 = HEAP32[$szPage>>2]|0; - $182 = $iOffset; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (_sqlite3OsWrite($179,$180,$181,$184,$187)|0); - HEAP32[$rc>>2] = $188; - $189 = HEAP32[$rc>>2]|0; - $190 = ($189|0)==(0); - $191 = HEAP32[$rc>>2]|0; - $192 = ($191|0)==(0); - $or$cond5 = $190 & $192; - if (!($or$cond5)) { - break L34; - } - } - } - $193 = HEAP32[$rc>>2]|0; - $194 = ($193|0)==(0); - if ($194) { - $195 = HEAP32[$mxSafeFrame>>2]|0; - $196 = HEAP32[$1>>2]|0; - $197 = (_walIndexHdr($196)|0); - $198 = (($197) + 16|0); - $199 = HEAP32[$198>>2]|0; - $200 = ($195|0)==($199|0); - if ($200) { - $201 = HEAP32[$1>>2]|0; - $202 = (($201) + 52|0); - $203 = (($202) + 20|0); - $204 = HEAP32[$203>>2]|0; - $205 = HEAP32[$szPage>>2]|0; - $206 = ($205|0)<(0); - $207 = $206 << 31 >> 31; - $208 = (___muldi3(($204|0),0,($205|0),($207|0))|0); - $209 = tempRet0; - $210 = $szDb; - $211 = $210; - HEAP32[$211>>2] = $208; - $212 = (($210) + 4)|0; - $213 = $212; - HEAP32[$213>>2] = $209; - $214 = HEAP32[$1>>2]|0; - $215 = (($214) + 4|0); - $216 = HEAP32[$215>>2]|0; - $217 = $szDb; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (($217) + 4)|0; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (_sqlite3OsTruncate($216,$219,$222)|0); - HEAP32[$rc>>2] = $223; - $224 = HEAP32[$rc>>2]|0; - $225 = ($224|0)==(0); - $226 = HEAP32[$5>>2]|0; - $227 = ($226|0)!=(0); - $or$cond = $225 & $227; - if ($or$cond) { - $228 = HEAP32[$1>>2]|0; - $229 = (($228) + 4|0); - $230 = HEAP32[$229>>2]|0; - $231 = HEAP32[$5>>2]|0; - $232 = (_sqlite3OsSync($230,$231)|0); - HEAP32[$rc>>2] = $232; - } - } - $233 = HEAP32[$rc>>2]|0; - $234 = ($233|0)==(0); - if ($234) { - $235 = HEAP32[$mxSafeFrame>>2]|0; - $236 = HEAP32[$pInfo>>2]|0; - HEAP32[$236>>2] = $235; - } - } - $237 = HEAP32[$1>>2]|0; - _walUnlockExclusive($237,3,1); - } - } - $238 = HEAP32[$rc>>2]|0; - $239 = ($238|0)==(5); - if ($239) { - HEAP32[$rc>>2] = 0; - } - $240 = HEAP32[$rc>>2]|0; - $241 = ($240|0)==(0); - $242 = HEAP32[$2>>2]|0; - $243 = ($242|0)!=(0); - $or$cond3 = $241 & $243; - if ($or$cond3) { - $244 = HEAP32[$pInfo>>2]|0; - $245 = HEAP32[$244>>2]|0; - $246 = HEAP32[$1>>2]|0; - $247 = (($246) + 52|0); - $248 = (($247) + 16|0); - $249 = HEAP32[$248>>2]|0; - $250 = ($245>>>0)<($249>>>0); - if ($250) { - HEAP32[$rc>>2] = 5; + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)>=(2); + if ($15) { + _sqlite3BeginBenignMalloc(); + $16 = HEAP32[$0>>2]|0; + (_sqlite3PagerRollback($16)|0); + _sqlite3EndBenignMalloc(); break; } - $251 = HEAP32[$2>>2]|0; - $252 = ($251|0)==(2); - if ($252) { - $253 = HEAP32[$1>>2]|0; - $254 = HEAP32[$xBusy>>2]|0; - $255 = HEAP32[$4>>2]|0; - $256 = (_walBusyLock($253,$254,$255,4,4)|0); - HEAP32[$rc>>2] = $256; - $257 = HEAP32[$rc>>2]|0; - $258 = ($257|0)==(0); - if ($258) { - $259 = HEAP32[$1>>2]|0; - _walUnlockExclusive($259,4,4); - } + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)!=(0); + if (!($20)) { + $21 = HEAP32[$0>>2]|0; + (_pager_end_transaction($21,0,0)|0); } } } } while(0); - $260 = HEAP32[$pIter>>2]|0; - _walIteratorFree($260); - $261 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $261; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); + $22 = HEAP32[$0>>2]|0; + _pager_unlock($22); + STACKTOP = sp;return; } -function _walCkptInfo($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _sqlite3OsClose($pId) { + $pId = $pId|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; + $0 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pId; + HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 32|0); - $3 = HEAP32[$2>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $11 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($11|0); + } + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = (FUNCTION_TABLE_ii[$7 & 31]($8)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$0>>2]|0; + HEAP32[$10>>2] = 0; + $11 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _sqlite3PcacheClose($pCache) { + $pCache = $pCache|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pCache; + $1 = HEAP32[(156)>>2]|0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 40|0); $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 96|0); - STACKTOP = sp;return ($5|0); + FUNCTION_TABLE_vi[$1 & 31]($4); + STACKTOP = sp;return; } -function _walIteratorInit($pWal,$pp) { - $pWal = $pWal|0; - $pp = $pp|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aHash = 0, $aIndex = 0, $aPgno = 0, $aTmp = 0; - var $i = 0, $iLast = 0, $iZero = 0, $j = 0, $nByte = 0, $nEntry = 0, $nSegment = 0, $p = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3PagerRollback($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $eState = 0, $or$cond = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $p = sp + 48|0; - $nSegment = sp + 44|0; - $iLast = sp + 40|0; - $nByte = sp + 36|0; - $i = sp + 32|0; - $aTmp = sp + 28|0; - $rc = sp + 24|0; - $aHash = sp + 20|0; - $iZero = sp + 16|0; - $aPgno = sp + 12|0; - $j = sp + 8|0; - $nEntry = sp + 4|0; - $aIndex = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pp; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $rc = sp + 8|0; + $rc2 = sp + 4|0; + $eState = sp; + HEAP32[$1>>2] = $pPager; HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 52|0); - $5 = (($4) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$iLast>>2] = $6; - $7 = HEAP32[$iLast>>2]|0; - $8 = (_walFramePage($7)|0); - $9 = (($8) + 1)|0; - HEAP32[$nSegment>>2] = $9; - $10 = HEAP32[$nSegment>>2]|0; - $11 = (($10) - 1)|0; - $12 = ($11*20)|0; - $13 = (28 + ($12))|0; - $14 = HEAP32[$iLast>>2]|0; - $15 = $14<<1; - $16 = (($13) + ($15))|0; - HEAP32[$nByte>>2] = $16; - $17 = HEAP32[$nByte>>2]|0; - $18 = (_sqlite3ScratchMalloc($17)|0); - HEAP32[$p>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = ($19|0)!=(0|0); - if (!($20)) { - HEAP32[$0>>2] = 7; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(6); + $7 = HEAP32[$1>>2]|0; + if ($6) { + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$0>>2] = $9; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } - $21 = HEAP32[$p>>2]|0; - $22 = HEAP32[$nByte>>2]|0; - _memset(($21|0),0,($22|0))|0; - $23 = HEAP32[$nSegment>>2]|0; - $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 4|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$iLast>>2]|0; - $27 = ($26>>>0)>(4096); - $28 = HEAP32[$iLast>>2]|0; - $29 = $27 ? 4096 : $28; - $30 = $29<<1; - $31 = (_sqlite3ScratchMalloc($30)|0); - HEAP32[$aTmp>>2] = $31; - $32 = HEAP32[$aTmp>>2]|0; - $33 = ($32|0)!=(0|0); - if (!($33)) { - HEAP32[$rc>>2] = 7; + $10 = ((($7)) + 16|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)<=(1); + if ($13) { + HEAP32[$0>>2] = 0; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } - HEAP32[$i>>2] = 0; - while(1) { - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - break; - } - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$nSegment>>2]|0; - $38 = ($36|0)<($37|0); - if (!($38)) { - break; - } - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$i>>2]|0; - $41 = (_walHashGet($39,$40,$aHash,$aPgno,$iZero)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$aPgno>>2]|0; - $45 = (($44) + 4|0); - HEAP32[$aPgno>>2] = $45; - $46 = HEAP32[$i>>2]|0; - $47 = (($46) + 1)|0; - $48 = HEAP32[$nSegment>>2]|0; - $49 = ($47|0)==($48|0); - if ($49) { - $50 = HEAP32[$iLast>>2]|0; - $51 = HEAP32[$iZero>>2]|0; - $52 = (($50) - ($51))|0; - HEAP32[$nEntry>>2] = $52; - } else { - $53 = HEAP32[$aHash>>2]|0; - $54 = HEAP32[$aPgno>>2]|0; - $55 = $53; - $56 = $54; - $57 = (($55) - ($56))|0; - $58 = (($57|0) / 4)&-1; - HEAP32[$nEntry>>2] = $58; + $14 = HEAP32[$1>>2]|0; + $15 = (_pagerUseWal($14)|0); + $16 = ($15|0)!=(0); + $17 = HEAP32[$1>>2]|0; + do { + if ($16) { + $18 = (_sqlite3PagerSavepoint($17,2,-1)|0); + HEAP32[$rc>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 19|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = (_pager_end_transaction($19,$23,0)|0); + HEAP32[$rc2>>2] = $24; + $25 = HEAP32[$rc>>2]|0; + $26 = ($25|0)==(0); + if ($26) { + $27 = HEAP32[$rc2>>2]|0; + HEAP32[$rc>>2] = $27; } - $59 = HEAP32[$iZero>>2]|0; - $60 = HEAP32[$p>>2]|0; - $61 = (($60) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$p>>2]|0; - $64 = (($63) + 8|0); - $65 = (($64) + (($62*20)|0)|0); - $66 = (($65) + ($59<<1)|0); - HEAP32[$aIndex>>2] = $66; - $67 = HEAP32[$iZero>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$iZero>>2] = $68; - HEAP32[$j>>2] = 0; - while(1) { - $69 = HEAP32[$j>>2]|0; - $70 = HEAP32[$nEntry>>2]|0; - $71 = ($69|0)<($70|0); - if (!($71)) { + } else { + $28 = ((($17)) + 64|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = ($35|0)==(2); + if (!($36)) { + $54 = HEAP32[$1>>2]|0; + $55 = (_pager_playback($54,0)|0); + HEAP32[$rc>>2] = $55; break; } - $72 = HEAP32[$j>>2]|0; - $73 = $72&65535; - $74 = HEAP32[$j>>2]|0; - $75 = HEAP32[$aIndex>>2]|0; - $76 = (($75) + ($74<<1)|0); - HEAP16[$76>>1] = $73; - $77 = HEAP32[$j>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$j>>2] = $78; } - $79 = HEAP32[$aPgno>>2]|0; - $80 = HEAP32[$aTmp>>2]|0; - $81 = HEAP32[$aIndex>>2]|0; - _walMergesort($79,$80,$81,$nEntry); - $82 = HEAP32[$iZero>>2]|0; - $83 = HEAP32[$i>>2]|0; - $84 = HEAP32[$p>>2]|0; - $85 = (($84) + 8|0); - $86 = (($85) + (($83*20)|0)|0); - $87 = (($86) + 16|0); - HEAP32[$87>>2] = $82; - $88 = HEAP32[$nEntry>>2]|0; - $89 = HEAP32[$i>>2]|0; - $90 = HEAP32[$p>>2]|0; - $91 = (($90) + 8|0); - $92 = (($91) + (($89*20)|0)|0); - $93 = (($92) + 12|0); - HEAP32[$93>>2] = $88; - $94 = HEAP32[$aIndex>>2]|0; - $95 = HEAP32[$i>>2]|0; - $96 = HEAP32[$p>>2]|0; - $97 = (($96) + 8|0); - $98 = (($97) + (($95*20)|0)|0); - $99 = (($98) + 4|0); - HEAP32[$99>>2] = $94; - $100 = HEAP32[$aPgno>>2]|0; - $101 = HEAP32[$i>>2]|0; - $102 = HEAP32[$p>>2]|0; - $103 = (($102) + 8|0); - $104 = (($103) + (($101*20)|0)|0); - $105 = (($104) + 8|0); - HEAP32[$105>>2] = $100; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + HEAP32[$eState>>2] = $40; + $41 = HEAP32[$1>>2]|0; + $42 = (_pager_end_transaction($41,0,0)|0); + HEAP32[$rc>>2] = $42; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 15|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45<<24>>24)==(0); + $47 = HEAP32[$eState>>2]|0; + $48 = ($47|0)>(2); + $or$cond = $46 & $48; + if ($or$cond) { + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 40|0); + HEAP32[$50>>2] = 4; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 16|0); + HEAP8[$52>>0] = 6; + $53 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $53; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } } - $106 = HEAP32[$i>>2]|0; - $107 = (($106) + 1)|0; - HEAP32[$i>>2] = $107; - } - $108 = HEAP32[$aTmp>>2]|0; - _sqlite3ScratchFree($108); - $109 = HEAP32[$rc>>2]|0; - $110 = ($109|0)!=(0); - if ($110) { - $111 = HEAP32[$p>>2]|0; - _walIteratorFree($111); - } - $112 = HEAP32[$p>>2]|0; - $113 = HEAP32[$2>>2]|0; - HEAP32[$113>>2] = $112; - $114 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $114; - $115 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($115|0); + } while(0); + $56 = HEAP32[$1>>2]|0; + $57 = HEAP32[$rc>>2]|0; + $58 = (_pager_error($56,$57)|0); + HEAP32[$0>>2] = $58; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } -function _walIteratorNext($p,$piPage,$piFrame) { - $p = $p|0; - $piPage = $piPage|0; - $piFrame = $piFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iMin = 0, $iPg = 0, $iRet = 0, $pSegment = 0, label = 0, sp = 0; +function _pager_end_transaction($pPager,$hasMaster,$bCommit) { + $pPager = $pPager|0; + $hasMaster = $hasMaster|0; + $bCommit = $bCommit|0; + var $$ = 0, $$4 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bDelete = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $rc2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; + $0 = sp + 8|0; + $1 = sp + 16|0; $2 = sp + 20|0; - $iMin = sp + 16|0; - $iRet = sp + 12|0; - $i = sp + 8|0; - $pSegment = sp + 4|0; - $iPg = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $piPage; - HEAP32[$2>>2] = $piFrame; - HEAP32[$iRet>>2] = -1; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$iMin>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) - 1)|0; - HEAP32[$i>>2] = $8; - while(1) { - $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)>=(0); - if (!($10)) { - break; + $3 = sp + 24|0; + $rc = sp + 4|0; + $rc2 = sp; + $bDelete = sp + 12|0; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $hasMaster; + HEAP32[$3>>2] = $bCommit; + HEAP32[$rc>>2] = 0; + HEAP32[$rc2>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 16|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)<(2); + if ($8) { + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 17|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)<(2); + if ($13) { + HEAP32[$0>>2] = 0; + $186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($186|0); } - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 8|0); - $14 = (($13) + (($11*20)|0)|0); - HEAP32[$pSegment>>2] = $14; - while(1) { - $15 = HEAP32[$pSegment>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$pSegment>>2]|0; - $18 = (($17) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($16|0)<($19|0); - if (!($20)) { + } + $14 = HEAP32[$1>>2]|0; + _releaseAllSavepoints($14); + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 64|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0|0); + L6: do { + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 64|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3IsMemJournal($22)|0); + $24 = ($23|0)!=(0); + $25 = HEAP32[$1>>2]|0; + if ($24) { + $26 = ((($25)) + 64|0); + $27 = HEAP32[$26>>2]|0; + (_sqlite3OsClose($27)|0); break; } - $21 = HEAP32[$pSegment>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pSegment>>2]|0; - $24 = (($23) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22<<1)|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = HEAP32[$pSegment>>2]|0; - $30 = (($29) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28<<2)|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$iPg>>2] = $33; - $34 = HEAP32[$iPg>>2]|0; - $35 = HEAP32[$iMin>>2]|0; - $36 = ($34>>>0)>($35>>>0); - if ($36) { - label = 6; + $28 = ((($25)) + 5|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = ($30|0)==(3); + $32 = HEAP32[$1>>2]|0; + if ($31) { + $33 = ((($32)) + 72|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = ($36|0)==(0); + $41 = ($39|0)==(0); + $42 = $40 & $41; + if ($42) { + HEAP32[$rc>>2] = 0; + } else { + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3OsTruncate($45,0,0)|0); + HEAP32[$rc>>2] = $46; + $47 = HEAP32[$rc>>2]|0; + $48 = ($47|0)==(0); + if ($48) { + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 64|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 11|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = (_sqlite3OsSync($56,$60)|0); + HEAP32[$rc>>2] = $61; + } + } + } + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 72|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = 0; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = 0; + break; + } else { + $68 = ((($32)) + 5|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ($70|0)==(1); + do { + if (!($71)) { + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($75|0)!=(0); + if ($76) { + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 5|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = ($80|0)!=(5); + if ($81) { + break; + } + } + $91 = HEAP32[$1>>2]|0; + $92 = ((($91)) + 12|0); + $93 = HEAP8[$92>>0]|0; + $94 = ($93<<24>>24)!=(0); + $$ = $94 ? 0 : 1; + $95 = $$&1; + HEAP32[$bDelete>>2] = $95; + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 64|0); + $98 = HEAP32[$97>>2]|0; + (_sqlite3OsClose($98)|0); + $99 = HEAP32[$bDelete>>2]|0; + $100 = ($99|0)!=(0); + if (!($100)) { + break L6; + } + $101 = HEAP32[$1>>2]|0; + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$1>>2]|0; + $104 = ((($103)) + 172|0); + $105 = HEAP32[$104>>2]|0; + $106 = (_sqlite3OsDelete($102,$105,0)|0); + HEAP32[$rc>>2] = $106; + break L6; + } + } while(0); + $82 = HEAP32[$1>>2]|0; + $83 = HEAP32[$2>>2]|0; + $84 = (_zeroJournalHdr($82,$83)|0); + HEAP32[$rc>>2] = $84; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 72|0); + $87 = $86; + $88 = $87; + HEAP32[$88>>2] = 0; + $89 = (($87) + 4)|0; + $90 = $89; + HEAP32[$90>>2] = 0; break; } - $54 = HEAP32[$pSegment>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$54>>2] = $56; } - if ((label|0) == 6) { - label = 0; - $37 = HEAP32[$iPg>>2]|0; - $38 = HEAP32[$iRet>>2]|0; - $39 = ($37>>>0)<($38>>>0); - if ($39) { - $40 = HEAP32[$iPg>>2]|0; - HEAP32[$iRet>>2] = $40; - $41 = HEAP32[$pSegment>>2]|0; - $42 = (($41) + 16|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$pSegment>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$pSegment>>2]|0; - $47 = (($46) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($45<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($43) + ($51))|0; - $53 = HEAP32[$2>>2]|0; - HEAP32[$53>>2] = $52; + } while(0); + $107 = HEAP32[$1>>2]|0; + $108 = ((($107)) + 56|0); + $109 = HEAP32[$108>>2]|0; + _sqlite3BitvecDestroy($109); + $110 = HEAP32[$1>>2]|0; + $111 = ((($110)) + 56|0); + HEAP32[$111>>2] = 0; + $112 = HEAP32[$1>>2]|0; + $113 = ((($112)) + 44|0); + HEAP32[$113>>2] = 0; + $114 = HEAP32[$1>>2]|0; + $115 = ((($114)) + 204|0); + $116 = HEAP32[$115>>2]|0; + _sqlite3PcacheCleanAll($116); + $117 = HEAP32[$1>>2]|0; + $118 = ((($117)) + 204|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$1>>2]|0; + $121 = ((($120)) + 24|0); + $122 = HEAP32[$121>>2]|0; + _sqlite3PcacheTruncate($119,$122); + $123 = HEAP32[$1>>2]|0; + $124 = (_pagerUseWal($123)|0); + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$1>>2]|0; + $127 = ((($126)) + 208|0); + $128 = HEAP32[$127>>2]|0; + $129 = (_sqlite3WalEndWriteTransaction($128)|0); + HEAP32[$rc2>>2] = $129; + } else { + $130 = HEAP32[$rc>>2]|0; + $131 = ($130|0)==(0); + $132 = HEAP32[$3>>2]|0; + $133 = ($132|0)!=(0); + $or$cond = $131 & $133; + if ($or$cond) { + $134 = HEAP32[$1>>2]|0; + $135 = ((($134)) + 32|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$1>>2]|0; + $138 = ((($137)) + 24|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($136>>>0)>($139>>>0); + if ($140) { + $141 = HEAP32[$1>>2]|0; + $142 = HEAP32[$1>>2]|0; + $143 = ((($142)) + 24|0); + $144 = HEAP32[$143>>2]|0; + $145 = (_pager_truncate($141,$144)|0); + HEAP32[$rc>>2] = $145; } } - $57 = HEAP32[$i>>2]|0; - $58 = (($57) + -1)|0; - HEAP32[$i>>2] = $58; } - $59 = HEAP32[$iRet>>2]|0; - $60 = HEAP32[$0>>2]|0; - HEAP32[$60>>2] = $59; - $61 = HEAP32[$1>>2]|0; - HEAP32[$61>>2] = $59; - $62 = HEAP32[$iRet>>2]|0; - $63 = ($62|0)==(-1); - $64 = $63&1; - STACKTOP = sp;return ($64|0); -} -function _walIteratorFree($p) { - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _sqlite3ScratchFree($1); - STACKTOP = sp;return; + $146 = HEAP32[$rc>>2]|0; + $147 = ($146|0)==(0); + $148 = HEAP32[$3>>2]|0; + $149 = ($148|0)!=(0); + $or$cond3 = $147 & $149; + if ($or$cond3) { + $150 = HEAP32[$1>>2]|0; + $151 = ((($150)) + 60|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)!=(0|0); + if ($154) { + $155 = HEAP32[$1>>2]|0; + $156 = ((($155)) + 60|0); + $157 = HEAP32[$156>>2]|0; + $158 = (_sqlite3OsFileControl($157,22,0)|0); + HEAP32[$rc>>2] = $158; + $159 = HEAP32[$rc>>2]|0; + $160 = ($159|0)==(12); + $$4 = $160 ? 0 : $158; + HEAP32[$rc>>2] = $$4; + } + } + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 4|0); + $163 = HEAP8[$162>>0]|0; + $164 = ($163<<24>>24)!=(0); + do { + if (!($164)) { + $165 = HEAP32[$1>>2]|0; + $166 = (_pagerUseWal($165)|0); + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$1>>2]|0; + $169 = ((($168)) + 208|0); + $170 = HEAP32[$169>>2]|0; + $171 = (_sqlite3WalExclusiveMode($170,0)|0); + $172 = ($171|0)!=(0); + if (!($172)) { + break; + } + } + $173 = HEAP32[$1>>2]|0; + $174 = (_pagerUnlockDb($173,1)|0); + HEAP32[$rc2>>2] = $174; + $175 = HEAP32[$1>>2]|0; + $176 = ((($175)) + 18|0); + HEAP8[$176>>0] = 0; + } + } while(0); + $177 = HEAP32[$1>>2]|0; + $178 = ((($177)) + 16|0); + HEAP8[$178>>0] = 1; + $179 = HEAP32[$1>>2]|0; + $180 = ((($179)) + 19|0); + HEAP8[$180>>0] = 0; + $181 = HEAP32[$rc>>2]|0; + $182 = ($181|0)==(0); + $183 = HEAP32[$rc2>>2]|0; + $184 = HEAP32[$rc>>2]|0; + $185 = $182 ? $183 : $184; + HEAP32[$0>>2] = $185; + $186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($186|0); } -function _walMergesort($aContent,$aBuffer,$aList,$pnList) { - $aContent = $aContent|0; - $aBuffer = $aBuffer|0; - $aList = $aList|0; - $pnList = $pnList|0; +function _releaseAllSavepoints($pPager) { + $pPager = $pPager|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aMerge = 0; - var $aSub = 0, $iList = 0, $iSub = 0, $nList = 0, $nMerge = 0, $p = 0, $p1 = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 144|0; - $1 = sp + 140|0; - $2 = sp + 136|0; - $3 = sp + 132|0; - $nList = sp + 128|0; - $nMerge = sp + 124|0; - $aMerge = sp + 120|0; - $iList = sp + 116|0; - $iSub = sp + 112|0; - $aSub = sp + 8|0; - $p = sp + 4|0; - $p1 = sp; - HEAP32[$0>>2] = $aContent; - HEAP32[$1>>2] = $aBuffer; - HEAP32[$2>>2] = $aList; - HEAP32[$3>>2] = $pnList; - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$nList>>2] = $5; - HEAP32[$nMerge>>2] = 0; - HEAP32[$aMerge>>2] = 0; - HEAP32[$iSub>>2] = 0; - dest=$aSub+0|0; stop=dest+104|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$iList>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $ii = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$ii>>2] = 0; while(1) { - $6 = HEAP32[$iList>>2]|0; - $7 = HEAP32[$nList>>2]|0; - $8 = ($6|0)<($7|0); - if (!($8)) { + $1 = HEAP32[$ii>>2]|0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 96|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($1|0)<($4|0); + if (!($5)) { break; } - HEAP32[$nMerge>>2] = 1; - $9 = HEAP32[$iList>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = (($10) + ($9<<1)|0); - HEAP32[$aMerge>>2] = $11; - HEAP32[$iSub>>2] = 0; - while(1) { - $12 = HEAP32[$iList>>2]|0; - $13 = HEAP32[$iSub>>2]|0; - $14 = 1 << $13; - $15 = $12 & $14; - $16 = ($15|0)!=(0); - if (!($16)) { - break; - } - $17 = HEAP32[$iSub>>2]|0; - $18 = (($aSub) + ($17<<3)|0); - HEAP32[$p>>2] = $18; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$p>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$1>>2]|0; - _walMerge($19,$22,$24,$aMerge,$nMerge,$25); - $26 = HEAP32[$iSub>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$iSub>>2] = $27; - } - $28 = HEAP32[$aMerge>>2]|0; - $29 = HEAP32[$iSub>>2]|0; - $30 = (($aSub) + ($29<<3)|0); - $31 = (($30) + 4|0); - HEAP32[$31>>2] = $28; - $32 = HEAP32[$nMerge>>2]|0; - $33 = HEAP32[$iSub>>2]|0; - $34 = (($aSub) + ($33<<3)|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$iList>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$iList>>2] = $36; + $6 = HEAP32[$ii>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 92|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + (($6*48)|0)|0); + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3BitvecDestroy($12); + $13 = HEAP32[$ii>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$ii>>2] = $14; } - $37 = HEAP32[$iSub>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$iSub>>2] = $38; - while(1) { - $39 = HEAP32[$iSub>>2]|0; - $40 = ($39|0)<(13); - if (!($40)) { - break; - } - $41 = HEAP32[$nList>>2]|0; - $42 = HEAP32[$iSub>>2]|0; - $43 = 1 << $42; - $44 = $41 & $43; - $45 = ($44|0)!=(0); - if ($45) { - $46 = HEAP32[$iSub>>2]|0; - $47 = (($aSub) + ($46<<3)|0); - HEAP32[$p1>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$p1>>2]|0; - $50 = (($49) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$p1>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$1>>2]|0; - _walMerge($48,$51,$53,$aMerge,$nMerge,$54); + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)!=(0); + if ($18) { + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 68|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3IsMemJournal($21)|0); + $23 = ($22|0)!=(0); + if ($23) { + label = 6; } - $55 = HEAP32[$iSub>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$iSub>>2] = $56; + } else { + label = 6; } - $57 = HEAP32[$nMerge>>2]|0; - $58 = HEAP32[$3>>2]|0; - HEAP32[$58>>2] = $57; + if ((label|0) == 6) { + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 68|0); + $26 = HEAP32[$25>>2]|0; + (_sqlite3OsClose($26)|0); + } + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 92|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3_free($29); + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 92|0); + HEAP32[$31>>2] = 0; + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 96|0); + HEAP32[$33>>2] = 0; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 52|0); + HEAP32[$35>>2] = 0; STACKTOP = sp;return; } -function _walMerge($aContent,$aLeft,$nLeft,$paRight,$pnRight,$aTmp) { - $aContent = $aContent|0; - $aLeft = $aLeft|0; - $nLeft = $nLeft|0; - $paRight = $paRight|0; - $pnRight = $pnRight|0; - $aTmp = $aTmp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $9 = 0, $aRight = 0, $dbpage = 0, $iLeft = 0, $iOut = 0, $iRight = 0, $logpage = 0, $nRight = 0, label = 0, sp = 0; +function _sqlite3IsMemJournal($pJfd) { + $pJfd = $pJfd|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $iLeft = sp + 20|0; - $iRight = sp + 16|0; - $iOut = sp + 12|0; - $nRight = sp + 8|0; - $aRight = sp + 4|0; - $logpage = sp + 48|0; - $dbpage = sp; - HEAP32[$0>>2] = $aContent; - HEAP32[$1>>2] = $aLeft; - HEAP32[$2>>2] = $nLeft; - HEAP32[$3>>2] = $paRight; - HEAP32[$4>>2] = $pnRight; - HEAP32[$5>>2] = $aTmp; - HEAP32[$iLeft>>2] = 0; - HEAP32[$iRight>>2] = 0; - HEAP32[$iOut>>2] = 0; - $6 = HEAP32[$4>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$nRight>>2] = $7; - $8 = HEAP32[$3>>2]|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pJfd; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(2020|0); + $4 = $3&1; + STACKTOP = sp;return ($4|0); +} +function _sqlite3OsTruncate($id,$0,$1) { + $id = $id|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $id; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$8>>2]|0; - HEAP32[$aRight>>2] = $9; - while(1) { - $10 = HEAP32[$iRight>>2]|0; - $11 = HEAP32[$nRight>>2]|0; - $12 = ($10|0)<($11|0); - if (!($12)) { - $13 = HEAP32[$iLeft>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = ($13|0)<($14|0); - if (!($15)) { - break; - } - } - $16 = HEAP32[$iLeft>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ($16|0)<($17|0); - do { - if ($18) { - $19 = HEAP32[$iRight>>2]|0; - $20 = HEAP32[$nRight>>2]|0; - $21 = ($19|0)>=($20|0); - if (!($21)) { - $22 = HEAP32[$iLeft>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + ($22<<1)|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + ($26<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$iRight>>2]|0; - $31 = HEAP32[$aRight>>2]|0; - $32 = (($31) + ($30<<1)|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + ($34<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($29>>>0)<($37>>>0); - if (!($38)) { - label = 8; - break; - } - } - $39 = HEAP32[$iLeft>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$iLeft>>2] = $40; - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + ($39<<1)|0); - $43 = HEAP16[$42>>1]|0; - HEAP16[$logpage>>1] = $43; - } else { - label = 8; - } - } while(0); - if ((label|0) == 8) { - label = 0; - $44 = HEAP32[$iRight>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[$iRight>>2] = $45; - $46 = HEAP32[$aRight>>2]|0; - $47 = (($46) + ($44<<1)|0); - $48 = HEAP16[$47>>1]|0; - HEAP16[$logpage>>1] = $48; - } - $49 = HEAP16[$logpage>>1]|0; - $50 = $49&65535; - $51 = HEAP32[$0>>2]|0; - $52 = (($51) + ($50<<2)|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$dbpage>>2] = $53; - $54 = HEAP16[$logpage>>1]|0; - $55 = HEAP32[$iOut>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$iOut>>2] = $56; - $57 = HEAP32[$5>>2]|0; - $58 = (($57) + ($55<<1)|0); - HEAP16[$58>>1] = $54; - $59 = HEAP32[$iLeft>>2]|0; - $60 = HEAP32[$2>>2]|0; - $61 = ($59|0)<($60|0); - if (!($61)) { - continue; - } - $62 = HEAP32[$iLeft>>2]|0; - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + ($62<<1)|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65&65535; - $67 = HEAP32[$0>>2]|0; - $68 = (($67) + ($66<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$dbpage>>2]|0; - $71 = ($69|0)==($70|0); - if (!($71)) { - continue; - } - $72 = HEAP32[$iLeft>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$iLeft>>2] = $73; - } - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$3>>2]|0; - HEAP32[$75>>2] = $74; - $76 = HEAP32[$iOut>>2]|0; - $77 = HEAP32[$4>>2]|0; - HEAP32[$77>>2] = $76; - $78 = HEAP32[$1>>2]|0; - $79 = HEAP32[$5>>2]|0; - $80 = HEAP32[$iOut>>2]|0; - $81 = $80<<1; - _memcpy(($78|0),($79|0),($81|0))|0; - STACKTOP = sp;return; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = $3; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (FUNCTION_TABLE_iiii[$11 & 31]($12,$15,$18)|0); + STACKTOP = sp;return ($19|0); } -function _walIndexTryHdr($pWal,$pChanged) { - $pWal = $pWal|0; - $pChanged = $pChanged|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aCksum = 0, $aHdr = 0, $h1 = 0, $h2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3OsSync($id,$flags) { + $id = $id|0; + $flags = $flags|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 120|0; - $1 = sp + 116|0; - $2 = sp + 112|0; - $aCksum = sp + 104|0; - $h1 = sp + 56|0; - $h2 = sp + 8|0; - $aHdr = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pChanged; - $3 = HEAP32[$1>>2]|0; - $4 = (_walIndexHdr($3)|0); - HEAP32[$aHdr>>2] = $4; - $5 = HEAP32[$aHdr>>2]|0; - dest=$h1+0|0; src=$5+0|0; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $6 = HEAP32[$1>>2]|0; - _walShmBarrier($6); - $7 = HEAP32[$aHdr>>2]|0; - $8 = (($7) + 48|0); - dest=$h2+0|0; src=$8+0|0; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $9 = (_memcmp($h1,$h2,48)|0); - $10 = ($9|0)!=(0); - if ($10) { - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } - $11 = (($h1) + 12|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)==(0); - if ($14) { - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $flags; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); + STACKTOP = sp;return ($8|0); +} +function _zeroJournalHdr($pPager,$doTruncate) { + $pPager = $pPager|0; + $doTruncate = $doTruncate|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $iLimit = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $sz = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $rc = sp + 16|0; + $iLimit = sp + 8|0; + $sz = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $doTruncate; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 72|0); + $4 = $3; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)!=(0); + $11 = ($9|0)!=(0); + $12 = $10 | $11; + if (!($12)) { + $102 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($102|0); } - _walChecksumBytes(1,$h1,40,0,$aCksum); - $15 = HEAP32[$aCksum>>2]|0; - $16 = (($h1) + 40|0); + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 160|0); + $15 = $14; + $16 = $15; $17 = HEAP32[$16>>2]|0; - $18 = ($15|0)!=($17|0); - if (!($18)) { - $19 = (($aCksum) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($h1) + 40|0); - $22 = (($21) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20|0)!=($23|0); - if (!($24)) { - $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 52|0); - $27 = (_memcmp($26,$h1,48)|0); - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$2>>2]|0; - HEAP32[$29>>2] = 1; - $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 52|0); - dest=$31+0|0; src=$h1+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 52|0); - $34 = (($33) + 14|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35&65535; - $37 = $36 & 65024; - $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 52|0); - $40 = (($39) + 14|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = $42 & 1; - $44 = $43 << 16; - $45 = (($37) + ($44))|0; - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 36|0); - HEAP32[$47>>2] = $45; - } - HEAP32[$0>>2] = 0; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); - } + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $iLimit; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = HEAP32[$1>>2]|0; + $26 = ($25|0)!=(0); + $27 = $iLimit; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = ($29|0)==(0); + $34 = ($32|0)==(0); + $35 = $33 & $34; + $or$cond = $26 | $35; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 64|0); + $38 = HEAP32[$37>>2]|0; + if ($or$cond) { + $39 = (_sqlite3OsTruncate($38,0,0)|0); + HEAP32[$rc>>2] = $39; + } else { + $40 = (_sqlite3OsWrite($38,17365,28,0,0)|0); + HEAP32[$rc>>2] = $40; } - HEAP32[$0>>2] = 1; - $48 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($48|0); -} -function _walIndexRecover($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aBuf = 0, $aData = 0, $aFrame = 0, $aFrameCksum = 0, $i = 0, $iFrame = 0, $iLock = 0, $iOffset = 0, $isValid = 0, $magic = 0, $nLock = 0; - var $nSize = 0, $nTruncate = 0, $or$cond = 0, $or$cond3 = 0, $pInfo = 0, $pgno = 0, $rc = 0, $szFrame = 0, $szPage = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, $version = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer = sp + 16|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $rc = sp + 88|0; - $nSize = sp + 8|0; - $aFrameCksum = sp + 80|0; - $iLock = sp + 76|0; - $nLock = sp + 72|0; - $aBuf = sp + 104|0; - $aFrame = sp + 68|0; - $szFrame = sp + 64|0; - $aData = sp + 60|0; - $iFrame = sp + 56|0; - $iOffset = sp; - $szPage = sp + 52|0; - $magic = sp + 48|0; - $version = sp + 44|0; - $isValid = sp + 40|0; - $pgno = sp + 36|0; - $nTruncate = sp + 32|0; - $pInfo = sp + 28|0; - $i = sp + 24|0; - HEAP32[$1>>2] = $pWal; - ;HEAP32[$aFrameCksum+0>>2]=0|0;HEAP32[$aFrameCksum+4>>2]=0|0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 45|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (1 + ($5))|0; - HEAP32[$iLock>>2] = $6; - $7 = HEAP32[$iLock>>2]|0; - $8 = (8 - ($7))|0; - HEAP32[$nLock>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$iLock>>2]|0; - $11 = HEAP32[$nLock>>2]|0; - $12 = (_walLockExclusive($9,$10,$11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $15; - $268 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($268|0); - } - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 52|0); - dest=$17+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3OsFileSize($20,$nSize)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - L5: do { - if (!($23)) { - $24 = $nSize; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)>(0); - $31 = ($26>>>0)>(32); - $32 = ($29|0)==(0); - $33 = $32 & $31; - $34 = $30 | $33; - do { - if ($34) { - HEAP32[$aFrame>>2] = 0; - $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_sqlite3OsRead($37,$aBuf,32,0,0)|0); - HEAP32[$rc>>2] = $38; - $39 = HEAP32[$rc>>2]|0; - $40 = ($39|0)!=(0); - if ($40) { - break L5; - } - $41 = (_sqlite3Get4byte($aBuf)|0); - HEAP32[$magic>>2] = $41; - $42 = (($aBuf) + 8|0); - $43 = (_sqlite3Get4byte($42)|0); - HEAP32[$szPage>>2] = $43; - $44 = HEAP32[$magic>>2]|0; - $45 = $44 & -2; - $46 = ($45|0)!=(931071618); - if (!($46)) { - $47 = HEAP32[$szPage>>2]|0; - $48 = HEAP32[$szPage>>2]|0; - $49 = (($48) - 1)|0; - $50 = $47 & $49; - $51 = ($50|0)!=(0); - $52 = HEAP32[$szPage>>2]|0; - $53 = ($52|0)>(65536); - $or$cond = $51 | $53; - $54 = HEAP32[$szPage>>2]|0; - $55 = ($54|0)<(512); - $or$cond3 = $or$cond | $55; - if (!($or$cond3)) { - $56 = HEAP32[$magic>>2]|0; - $57 = $56 & 1; - $58 = $57&255; - $59 = HEAP32[$1>>2]|0; - $60 = (($59) + 52|0); - $61 = (($60) + 13|0); - HEAP8[$61>>0] = $58; - $62 = HEAP32[$szPage>>2]|0; - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 36|0); - HEAP32[$64>>2] = $62; - $65 = (($aBuf) + 12|0); - $66 = (_sqlite3Get4byte($65)|0); - $67 = HEAP32[$1>>2]|0; - $68 = (($67) + 104|0); - HEAP32[$68>>2] = $66; - $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 52|0); - $71 = (($70) + 32|0); - $72 = (($aBuf) + 16|0); - ;HEAP8[$71+0>>0]=HEAP8[$72+0>>0]|0;HEAP8[$71+1>>0]=HEAP8[$72+1>>0]|0;HEAP8[$71+2>>0]=HEAP8[$72+2>>0]|0;HEAP8[$71+3>>0]=HEAP8[$72+3>>0]|0;HEAP8[$71+4>>0]=HEAP8[$72+4>>0]|0;HEAP8[$71+5>>0]=HEAP8[$72+5>>0]|0;HEAP8[$71+6>>0]=HEAP8[$72+6>>0]|0;HEAP8[$71+7>>0]=HEAP8[$72+7>>0]|0; - $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 52|0); - $75 = (($74) + 13|0); - $76 = HEAP8[$75>>0]|0; - $77 = $76&255; - $78 = HEAP8[1136>>0]|0; - $79 = $78 << 24 >> 24; - $80 = ($79|0)==(0); - $81 = $80&1; - $82 = ($77|0)==($81|0); - $83 = $82&1; - $84 = HEAP32[$1>>2]|0; - $85 = (($84) + 52|0); - $86 = (($85) + 24|0); - _walChecksumBytes($83,$aBuf,24,0,$86); - $87 = HEAP32[$1>>2]|0; - $88 = (($87) + 52|0); - $89 = (($88) + 24|0); - $90 = HEAP32[$89>>2]|0; - $91 = (($aBuf) + 24|0); - $92 = (_sqlite3Get4byte($91)|0); - $93 = ($90|0)!=($92|0); - if (!($93)) { - $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 52|0); - $96 = (($95) + 24|0); - $97 = (($96) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = (($aBuf) + 28|0); - $100 = (_sqlite3Get4byte($99)|0); - $101 = ($98|0)!=($100|0); - if (!($101)) { - $102 = (($aBuf) + 4|0); - $103 = (_sqlite3Get4byte($102)|0); - HEAP32[$version>>2] = $103; - $104 = HEAP32[$version>>2]|0; - $105 = ($104|0)!=(3007000); - if ($105) { - $106 = (_sqlite3CantopenError(49260)|0); - HEAP32[$rc>>2] = $106; - break; - } - $107 = HEAP32[$szPage>>2]|0; - $108 = (($107) + 24)|0; - HEAP32[$szFrame>>2] = $108; - $109 = HEAP32[$szFrame>>2]|0; - $110 = (_sqlite3_malloc($109)|0); - HEAP32[$aFrame>>2] = $110; - $111 = HEAP32[$aFrame>>2]|0; - $112 = ($111|0)!=(0|0); - if (!($112)) { - HEAP32[$rc>>2] = 7; - break L5; - } - $113 = HEAP32[$aFrame>>2]|0; - $114 = (($113) + 24|0); - HEAP32[$aData>>2] = $114; - HEAP32[$iFrame>>2] = 0; - $115 = $iOffset; - $116 = $115; - HEAP32[$116>>2] = 32; - $117 = (($115) + 4)|0; - $118 = $117; - HEAP32[$118>>2] = 0; - while(1) { - $119 = $iOffset; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = (($119) + 4)|0; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$szFrame>>2]|0; - $126 = ($125|0)<(0); - $127 = $126 << 31 >> 31; - $128 = (_i64Add(($121|0),($124|0),($125|0),($127|0))|0); - $129 = tempRet0; - $130 = $nSize; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = ($129|0)<($135|0); - $137 = ($128>>>0)<=($132>>>0); - $138 = ($129|0)==($135|0); - $139 = $138 & $137; - $140 = $136 | $139; - if (!($140)) { - break; - } - $141 = HEAP32[$iFrame>>2]|0; - $142 = (($141) + 1)|0; - HEAP32[$iFrame>>2] = $142; - $143 = HEAP32[$1>>2]|0; - $144 = (($143) + 8|0); - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$aFrame>>2]|0; - $147 = HEAP32[$szFrame>>2]|0; - $148 = $iOffset; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = (($148) + 4)|0; - $152 = $151; - $153 = HEAP32[$152>>2]|0; - $154 = (_sqlite3OsRead($145,$146,$147,$150,$153)|0); - HEAP32[$rc>>2] = $154; - $155 = HEAP32[$rc>>2]|0; - $156 = ($155|0)!=(0); - if ($156) { - break; - } - $157 = HEAP32[$1>>2]|0; - $158 = HEAP32[$aData>>2]|0; - $159 = HEAP32[$aFrame>>2]|0; - $160 = (_walDecodeFrame($157,$pgno,$nTruncate,$158,$159)|0); - HEAP32[$isValid>>2] = $160; - $161 = HEAP32[$isValid>>2]|0; - $162 = ($161|0)!=(0); - if (!($162)) { - break; - } - $163 = HEAP32[$1>>2]|0; - $164 = HEAP32[$iFrame>>2]|0; - $165 = HEAP32[$pgno>>2]|0; - $166 = (_walIndexAppend($163,$164,$165)|0); - HEAP32[$rc>>2] = $166; - $167 = HEAP32[$rc>>2]|0; - $168 = ($167|0)!=(0); - if ($168) { - break; - } - $169 = HEAP32[$nTruncate>>2]|0; - $170 = ($169|0)!=(0); - if ($170) { - $171 = HEAP32[$iFrame>>2]|0; - $172 = HEAP32[$1>>2]|0; - $173 = (($172) + 52|0); - $174 = (($173) + 16|0); - HEAP32[$174>>2] = $171; - $175 = HEAP32[$nTruncate>>2]|0; - $176 = HEAP32[$1>>2]|0; - $177 = (($176) + 52|0); - $178 = (($177) + 20|0); - HEAP32[$178>>2] = $175; - $179 = HEAP32[$szPage>>2]|0; - $180 = $179 & 65280; - $181 = HEAP32[$szPage>>2]|0; - $182 = $181 >> 16; - $183 = $180 | $182; - $184 = $183&65535; - $185 = HEAP32[$1>>2]|0; - $186 = (($185) + 52|0); - $187 = (($186) + 14|0); - HEAP16[$187>>1] = $184; - $188 = HEAP32[$1>>2]|0; - $189 = (($188) + 52|0); - $190 = (($189) + 24|0); - $191 = HEAP32[$190>>2]|0; - HEAP32[$aFrameCksum>>2] = $191; - $192 = HEAP32[$1>>2]|0; - $193 = (($192) + 52|0); - $194 = (($193) + 24|0); - $195 = (($194) + 4|0); - $196 = HEAP32[$195>>2]|0; - $197 = (($aFrameCksum) + 4|0); - HEAP32[$197>>2] = $196; - } - $198 = HEAP32[$szFrame>>2]|0; - $199 = ($198|0)<(0); - $200 = $199 << 31 >> 31; - $201 = $iOffset; - $202 = $201; - $203 = HEAP32[$202>>2]|0; - $204 = (($201) + 4)|0; - $205 = $204; - $206 = HEAP32[$205>>2]|0; - $207 = (_i64Add(($203|0),($206|0),($198|0),($200|0))|0); - $208 = tempRet0; - $209 = $iOffset; - $210 = $209; - HEAP32[$210>>2] = $207; - $211 = (($209) + 4)|0; - $212 = $211; - HEAP32[$212>>2] = $208; - } - $213 = HEAP32[$aFrame>>2]|0; - _sqlite3_free($213); - } - } - } - } - } - } while(0); - $214 = HEAP32[$rc>>2]|0; - $215 = ($214|0)==(0); - if ($215) { - $216 = HEAP32[$aFrameCksum>>2]|0; - $217 = HEAP32[$1>>2]|0; - $218 = (($217) + 52|0); - $219 = (($218) + 24|0); - HEAP32[$219>>2] = $216; - $220 = (($aFrameCksum) + 4|0); - $221 = HEAP32[$220>>2]|0; - $222 = HEAP32[$1>>2]|0; - $223 = (($222) + 52|0); - $224 = (($223) + 24|0); - $225 = (($224) + 4|0); - HEAP32[$225>>2] = $221; - $226 = HEAP32[$1>>2]|0; - _walIndexWriteHdr($226); - $227 = HEAP32[$1>>2]|0; - $228 = (_walCkptInfo($227)|0); - HEAP32[$pInfo>>2] = $228; - $229 = HEAP32[$pInfo>>2]|0; - HEAP32[$229>>2] = 0; - $230 = HEAP32[$pInfo>>2]|0; - $231 = (($230) + 4|0); - HEAP32[$231>>2] = 0; - HEAP32[$i>>2] = 1; - while(1) { - $232 = HEAP32[$i>>2]|0; - $233 = ($232|0)<(5); - if (!($233)) { - break; - } - $234 = HEAP32[$i>>2]|0; - $235 = HEAP32[$pInfo>>2]|0; - $236 = (($235) + 4|0); - $237 = (($236) + ($234<<2)|0); - HEAP32[$237>>2] = -1; - $238 = HEAP32[$i>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$i>>2] = $239; - } - $240 = HEAP32[$1>>2]|0; - $241 = (($240) + 52|0); - $242 = (($241) + 16|0); - $243 = HEAP32[$242>>2]|0; - $244 = ($243|0)!=(0); - if ($244) { - $245 = HEAP32[$1>>2]|0; - $246 = (($245) + 52|0); - $247 = (($246) + 16|0); - $248 = HEAP32[$247>>2]|0; - $249 = HEAP32[$pInfo>>2]|0; - $250 = (($249) + 4|0); - $251 = (($250) + 4|0); - HEAP32[$251>>2] = $248; - } - $252 = HEAP32[$1>>2]|0; - $253 = (($252) + 52|0); - $254 = (($253) + 20|0); - $255 = HEAP32[$254>>2]|0; - $256 = ($255|0)!=(0); - if ($256) { - $257 = HEAP32[$1>>2]|0; - $258 = (($257) + 52|0); - $259 = (($258) + 16|0); - $260 = HEAP32[$259>>2]|0; - $261 = HEAP32[$1>>2]|0; - $262 = (($261) + 100|0); - $263 = HEAP32[$262>>2]|0; - HEAP32[$vararg_buffer>>2] = $260; - $vararg_ptr4 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr4>>2] = $263; - _sqlite3_log(283,4512,$vararg_buffer); - } - } - } - } while(0); - $264 = HEAP32[$1>>2]|0; - $265 = HEAP32[$iLock>>2]|0; - $266 = HEAP32[$nLock>>2]|0; - _walUnlockExclusive($264,$265,$266); - $267 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $267; - $268 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($268|0); -} -function _sqlite3CantopenError($lineno) { - $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - HEAP32[$0>>2] = $lineno; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_sourceid()|0); - $3 = (($2) + 20|0); - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $3; - _sqlite3_log(14,4472,$vararg_buffer); - STACKTOP = sp;return 14; -} -function _walChecksumBytes($nativeCksum,$a,$nByte,$aIn,$aOut) { - $nativeCksum = $nativeCksum|0; - $a = $a|0; - $nByte = $nByte|0; - $aIn = $aIn|0; - $aOut = $aOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $aData = 0, $aEnd = 0, $s1 = 0, $s2 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $s1 = sp + 12|0; - $s2 = sp + 8|0; - $aData = sp + 4|0; - $aEnd = sp; - HEAP32[$0>>2] = $nativeCksum; - HEAP32[$1>>2] = $a; - HEAP32[$2>>2] = $nByte; - HEAP32[$3>>2] = $aIn; - HEAP32[$4>>2] = $aOut; - $5 = HEAP32[$1>>2]|0; - HEAP32[$aData>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + ($6)|0); - HEAP32[$aEnd>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$11>>2]|0; - HEAP32[$s1>>2] = $12; - $13 = HEAP32[$3>>2]|0; - $14 = (($13) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$s2>>2] = $15; - } else { - HEAP32[$s2>>2] = 0; - HEAP32[$s1>>2] = 0; - } - $16 = HEAP32[$0>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - while(1) { - $18 = HEAP32[$aData>>2]|0; - $19 = (($18) + 4|0); - HEAP32[$aData>>2] = $19; - $20 = HEAP32[$18>>2]|0; - $21 = HEAP32[$s2>>2]|0; - $22 = (($20) + ($21))|0; - $23 = HEAP32[$s1>>2]|0; - $24 = (($23) + ($22))|0; - HEAP32[$s1>>2] = $24; - $25 = HEAP32[$aData>>2]|0; - $26 = (($25) + 4|0); - HEAP32[$aData>>2] = $26; - $27 = HEAP32[$25>>2]|0; - $28 = HEAP32[$s1>>2]|0; - $29 = (($27) + ($28))|0; - $30 = HEAP32[$s2>>2]|0; - $31 = (($30) + ($29))|0; - HEAP32[$s2>>2] = $31; - $32 = HEAP32[$aData>>2]|0; - $33 = HEAP32[$aEnd>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if (!($34)) { - break; - } - } - $90 = HEAP32[$s1>>2]|0; - $91 = HEAP32[$4>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[$s2>>2]|0; - $93 = HEAP32[$4>>2]|0; - $94 = (($93) + 4|0); - HEAP32[$94>>2] = $92; - STACKTOP = sp;return; - } else { - while(1) { - $35 = HEAP32[$aData>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = $36 & 255; - $38 = $37 << 24; - $39 = HEAP32[$aData>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = $40 & 65280; - $42 = $41 << 8; - $43 = (($38) + ($42))|0; - $44 = HEAP32[$aData>>2]|0; - $45 = HEAP32[$44>>2]|0; - $46 = $45 & 16711680; - $47 = $46 >>> 8; - $48 = (($43) + ($47))|0; - $49 = HEAP32[$aData>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = $50 & -16777216; - $52 = $51 >>> 24; - $53 = (($48) + ($52))|0; - $54 = HEAP32[$s2>>2]|0; - $55 = (($53) + ($54))|0; - $56 = HEAP32[$s1>>2]|0; - $57 = (($56) + ($55))|0; - HEAP32[$s1>>2] = $57; - $58 = HEAP32[$aData>>2]|0; - $59 = (($58) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = $60 & 255; - $62 = $61 << 24; - $63 = HEAP32[$aData>>2]|0; - $64 = (($63) + 4|0); - $65 = HEAP32[$64>>2]|0; - $66 = $65 & 65280; - $67 = $66 << 8; - $68 = (($62) + ($67))|0; - $69 = HEAP32[$aData>>2]|0; - $70 = (($69) + 4|0); - $71 = HEAP32[$70>>2]|0; - $72 = $71 & 16711680; - $73 = $72 >>> 8; - $74 = (($68) + ($73))|0; - $75 = HEAP32[$aData>>2]|0; - $76 = (($75) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = $77 & -16777216; - $79 = $78 >>> 24; - $80 = (($74) + ($79))|0; - $81 = HEAP32[$s1>>2]|0; - $82 = (($80) + ($81))|0; - $83 = HEAP32[$s2>>2]|0; - $84 = (($83) + ($82))|0; - HEAP32[$s2>>2] = $84; - $85 = HEAP32[$aData>>2]|0; - $86 = (($85) + 8|0); - HEAP32[$aData>>2] = $86; - $87 = HEAP32[$aData>>2]|0; - $88 = HEAP32[$aEnd>>2]|0; - $89 = ($87>>>0)<($88>>>0); - if (!($89)) { - break; - } + $41 = HEAP32[$rc>>2]|0; + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP32[$0>>2]|0; + $44 = ((($43)) + 7|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45<<24>>24)!=(0); + if (!($46)) { + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 64|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$0>>2]|0; + $51 = ((($50)) + 11|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = 16 | $53; + $55 = (_sqlite3OsSync($49,$54)|0); + HEAP32[$rc>>2] = $55; } - $90 = HEAP32[$s1>>2]|0; - $91 = HEAP32[$4>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[$s2>>2]|0; - $93 = HEAP32[$4>>2]|0; - $94 = (($93) + 4|0); - HEAP32[$94>>2] = $92; - STACKTOP = sp;return; } -} -function _walDecodeFrame($pWal,$piPage,$pnTruncate,$aData,$aFrame) { - $pWal = $pWal|0; - $piPage = $piPage|0; - $pnTruncate = $pnTruncate|0; - $aData = $aData|0; - $aFrame = $aFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; - var $8 = 0, $9 = 0, $aCksum = 0, $nativeCksum = 0, $pgno = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $nativeCksum = sp + 8|0; - $aCksum = sp + 4|0; - $pgno = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $piPage; - HEAP32[$3>>2] = $pnTruncate; - HEAP32[$4>>2] = $aData; - HEAP32[$5>>2] = $aFrame; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 52|0); - $8 = (($7) + 24|0); - HEAP32[$aCksum>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 52|0); - $11 = (($10) + 32|0); - $12 = HEAP32[$5>>2]|0; - $13 = (($12) + 8|0); - $14 = (_memcmp($11,$13,8)|0); - $15 = ($14|0)!=(0); - if ($15) { - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $56 = HEAP32[$rc>>2]|0; + $57 = ($56|0)==(0); + $58 = $iLimit; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)>(0); + $65 = ($60>>>0)>(0); + $66 = ($63|0)==(0); + $67 = $66 & $65; + $68 = $64 | $67; + $or$cond3 = $57 & $68; + if (!($or$cond3)) { + $102 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($102|0); } - $16 = HEAP32[$5>>2]|0; - $17 = (_sqlite3Get4byte($16)|0); - HEAP32[$pgno>>2] = $17; - $18 = HEAP32[$pgno>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 64|0); + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3OsFileSize($71,$sz)|0); + HEAP32[$rc>>2] = $72; + $73 = HEAP32[$rc>>2]|0; + $74 = ($73|0)==(0); + if (!($74)) { + $102 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($102|0); } - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 52|0); - $22 = (($21) + 13|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = HEAP8[1136>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($26|0)==(0); - $28 = $27&1; - $29 = ($24|0)==($28|0); - $30 = $29&1; - HEAP32[$nativeCksum>>2] = $30; - $31 = HEAP32[$nativeCksum>>2]|0; - $32 = HEAP32[$5>>2]|0; - $33 = HEAP32[$aCksum>>2]|0; - $34 = HEAP32[$aCksum>>2]|0; - _walChecksumBytes($31,$32,8,$33,$34); - $35 = HEAP32[$nativeCksum>>2]|0; - $36 = HEAP32[$4>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 36|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$aCksum>>2]|0; - $41 = HEAP32[$aCksum>>2]|0; - _walChecksumBytes($35,$36,$39,$40,$41); - $42 = HEAP32[$aCksum>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$5>>2]|0; - $45 = (($44) + 16|0); - $46 = (_sqlite3Get4byte($45)|0); - $47 = ($43|0)!=($46|0); - if (!($47)) { - $48 = HEAP32[$aCksum>>2]|0; - $49 = (($48) + 4|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$5>>2]|0; - $52 = (($51) + 20|0); - $53 = (_sqlite3Get4byte($52)|0); - $54 = ($50|0)!=($53|0); - if (!($54)) { - $55 = HEAP32[$pgno>>2]|0; - $56 = HEAP32[$2>>2]|0; - HEAP32[$56>>2] = $55; - $57 = HEAP32[$5>>2]|0; - $58 = (($57) + 4|0); - $59 = (_sqlite3Get4byte($58)|0); - $60 = HEAP32[$3>>2]|0; - HEAP32[$60>>2] = $59; - HEAP32[$0>>2] = 1; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); - } + $75 = $sz; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = $iLimit; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = ($80|0)>($86|0); + $88 = ($77>>>0)>($83>>>0); + $89 = ($80|0)==($86|0); + $90 = $89 & $88; + $91 = $87 | $90; + if (!($91)) { + $102 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($102|0); } - HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); -} -function _walIndexAppend($pWal,$iFrame,$iPage) { - $pWal = $pWal|0; - $iFrame = $iFrame|0; - $iPage = $iPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $iKey = 0, $iZero = 0; - var $idx = 0, $nByte = 0, $nCollide = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $rc = sp + 28|0; - $iZero = sp + 24|0; - $aPgno = sp + 20|0; - $aHash = sp + 16|0; - $iKey = sp + 12|0; - $idx = sp + 8|0; - $nCollide = sp + 4|0; - $nByte = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $iFrame; - HEAP32[$3>>2] = $iPage; - HEAP32[$iZero>>2] = 0; - HEAP32[$aPgno>>2] = 0; - HEAP32[$aHash>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_walFramePage($5)|0); - $7 = (_walHashGet($4,$6,$aHash,$aPgno,$iZero)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)==(0); - do { - if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$iZero>>2]|0; - $12 = (($10) - ($11))|0; - HEAP32[$idx>>2] = $12; - $13 = HEAP32[$idx>>2]|0; - $14 = ($13|0)==(1); - if ($14) { - $15 = HEAP32[$aHash>>2]|0; - $16 = (($15) + 16384|0); - $17 = HEAP32[$aPgno>>2]|0; - $18 = (($17) + 4|0); - $19 = $16; - $20 = $18; - $21 = (($19) - ($20))|0; - HEAP32[$nByte>>2] = $21; - $22 = HEAP32[$aPgno>>2]|0; - $23 = (($22) + 4|0); - $24 = HEAP32[$nByte>>2]|0; - _memset(($23|0),0,($24|0))|0; - } - $25 = HEAP32[$idx>>2]|0; - $26 = HEAP32[$aPgno>>2]|0; - $27 = (($26) + ($25<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - _walCleanupHash($30); - } - $31 = HEAP32[$idx>>2]|0; - HEAP32[$nCollide>>2] = $31; - $32 = HEAP32[$3>>2]|0; - $33 = (_walHash($32)|0); - HEAP32[$iKey>>2] = $33; - while(1) { - $34 = HEAP32[$iKey>>2]|0; - $35 = HEAP32[$aHash>>2]|0; - $36 = (($35) + ($34<<1)|0); - $37 = HEAP16[$36>>1]|0; - $38 = ($37<<16>>16)!=(0); - if (!($38)) { - label = 11; - break; - } - $39 = HEAP32[$nCollide>>2]|0; - $40 = (($39) + -1)|0; - HEAP32[$nCollide>>2] = $40; - $41 = ($39|0)==(0); - if ($41) { - break; - } - $43 = HEAP32[$iKey>>2]|0; - $44 = (_walNextHash($43)|0); - HEAP32[$iKey>>2] = $44; - } - if ((label|0) == 11) { - $45 = HEAP32[$3>>2]|0; - $46 = HEAP32[$idx>>2]|0; - $47 = HEAP32[$aPgno>>2]|0; - $48 = (($47) + ($46<<2)|0); - HEAP32[$48>>2] = $45; - $49 = HEAP32[$idx>>2]|0; - $50 = $49&65535; - $51 = HEAP32[$iKey>>2]|0; - $52 = HEAP32[$aHash>>2]|0; - $53 = (($52) + ($51<<1)|0); - HEAP16[$53>>1] = $50; - break; - } - $42 = (_sqlite3CorruptError(49129)|0); - HEAP32[$0>>2] = $42; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); - } - } while(0); - $54 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $54; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); + $92 = HEAP32[$0>>2]|0; + $93 = ((($92)) + 64|0); + $94 = HEAP32[$93>>2]|0; + $95 = $iLimit; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (_sqlite3OsTruncate($94,$97,$100)|0); + HEAP32[$rc>>2] = $101; + $102 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($102|0); } -function _walIndexWriteHdr($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $aHdr = 0, $nCksum = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _sqlite3OsDelete($pVfs,$zPath,$dirSync) { + $pVfs = $pVfs|0; + $zPath = $zPath|0; + $dirSync = $dirSync|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; - $aHdr = sp + 4|0; - $nCksum = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = (_walIndexHdr($1)|0); - HEAP32[$aHdr>>2] = $2; - HEAP32[$nCksum>>2] = 40; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $zPath; + HEAP32[$2>>2] = $dirSync; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 52|0); - $5 = (($4) + 12|0); - HEAP8[$5>>0] = 1; + $4 = ((($3)) + 28|0); + $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 52|0); - HEAP32[$7>>2] = 3007000; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 52|0); - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 52|0); - $12 = (($11) + 40|0); - _walChecksumBytes(1,$9,40,0,$12); - $13 = HEAP32[$aHdr>>2]|0; - $14 = (($13) + 48|0); - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 52|0); - dest=$14+0|0; src=$16+0|0; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $17 = HEAP32[$0>>2]|0; - _walShmBarrier($17); - $18 = HEAP32[$aHdr>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 52|0); - dest=$18+0|0; src=$20+0|0; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = (FUNCTION_TABLE_iiii[$5 & 31]($6,$7,$8)|0); + STACKTOP = sp;return ($9|0); } -function _walShmBarrier($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _sqlite3PcacheCleanAll($pCache) { + $pCache = $pCache|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWal; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 43|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(2); - if (!($5)) { - STACKTOP = sp;return; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pCache; + while(1) { + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$p>>2] = $2; + $3 = ($2|0)!=(0|0); + if (!($3)) { + break; + } + $4 = HEAP32[$p>>2]|0; + _sqlite3PcacheMakeClean($4); } - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - _sqlite3OsShmBarrier($8); STACKTOP = sp;return; } -function _sqlite3OsShmBarrier($id) { - $id = $id|0; +function _pagerUseWal($pPager) { + $pPager = $pPager|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - STACKTOP = sp;return; -} -function _sqlite3InvokeBusyHandler($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if (!($10)) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (FUNCTION_TABLE_iii[$12 & 63]($15,$18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)==(0); - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 8|0); - if ($21) { - HEAP32[$23>>2] = -1; - } else { - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$23>>2] = $25; - } - $26 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $26; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } - } - } - HEAP32[$0>>2] = 0; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); -} -function _sqlite3PagerGetExtra($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPg; + HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 208|0); $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $4 = ($3|0)!=(0|0); + $5 = $4&1; + STACKTOP = sp;return ($5|0); } -function _sqlite3PagerPageRefcount($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3WalEndWriteTransaction($pWal) { + $pWal = $pWal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pPage; + HEAP32[$0>>2] = $pWal; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3PcachePageRefcount($1)|0); - STACKTOP = sp;return ($2|0); + $2 = ((($1)) + 44|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if (!($4)) { + STACKTOP = sp;return 0; + } + $5 = HEAP32[$0>>2]|0; + _walUnlockExclusive($5,0,1); + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 44|0); + HEAP8[$7>>0] = 0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 47|0); + HEAP8[$9>>0] = 0; + STACKTOP = sp;return 0; } -function _btreeInitPage($pPage) { - $pPage = $pPage|0; +function _pager_truncate($pPager,$nPage) { + $pPager = $pPager|0; + $nPage = $nPage|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cellOffset = 0, $data = 0, $hdr = 0, $iCellFirst = 0, $iCellLast = 0, $nFree = 0, $next = 0, $pBt = 0, $pc = 0, $size = 0; - var $top = 0, $usableSize = 0, label = 0, sp = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $currentSize = 0, $newSize = 0, $pTmp = 0, $rc = 0, $szPage = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $pc = sp + 42|0; - $hdr = sp + 44|0; - $data = sp + 24|0; - $pBt = sp + 20|0; - $usableSize = sp + 16|0; - $cellOffset = sp + 40|0; - $nFree = sp + 12|0; - $top = sp + 8|0; - $iCellFirst = sp + 4|0; - $iCellLast = sp; - $next = sp + 38|0; - $size = sp + 36|0; - HEAP32[$1>>2] = $pPage; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - do { - if (!($4)) { - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 52|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 6|0); - $10 = HEAP8[$9>>0]|0; - HEAP8[$hdr>>0] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 56|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$data>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP8[$hdr>>0]|0; - $16 = $15&255; - $17 = HEAP32[$data>>2]|0; - $18 = (($17) + ($16)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = (_decodeFlags($14,$20)|0); - $22 = ($21|0)!=(0); - if ($22) { - $23 = (_sqlite3CorruptError(53694)|0); - HEAP32[$0>>2] = $23; - $229 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($229|0); - } - $24 = HEAP32[$pBt>>2]|0; - $25 = (($24) + 32|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) - 1)|0; - $28 = $27&65535; - $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 20|0); - HEAP16[$30>>1] = $28; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 1|0); - HEAP8[$32>>0] = 0; - $33 = HEAP32[$pBt>>2]|0; - $34 = (($33) + 36|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$usableSize>>2] = $35; - $36 = HEAP8[$hdr>>0]|0; - $37 = $36&255; - $38 = (($37) + 12)|0; - $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 5|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42<<2; - $44 = (($38) - ($43))|0; - $45 = $44&65535; - HEAP16[$cellOffset>>1] = $45; - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 14|0); - HEAP16[$47>>1] = $45; - $48 = HEAP32[$usableSize>>2]|0; - $49 = HEAP32[$data>>2]|0; - $50 = (($49) + ($48)|0); - $51 = HEAP32[$1>>2]|0; - $52 = (($51) + 60|0); - HEAP32[$52>>2] = $50; - $53 = HEAP16[$cellOffset>>1]|0; - $54 = $53&65535; - $55 = HEAP32[$data>>2]|0; - $56 = (($55) + ($54)|0); - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 64|0); - HEAP32[$58>>2] = $56; - $59 = HEAP8[$hdr>>0]|0; - $60 = $59&255; - $61 = (($60) + 5)|0; - $62 = HEAP32[$data>>2]|0; - $63 = (($62) + ($61)|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - $66 = $65 << 8; - $67 = HEAP8[$hdr>>0]|0; - $68 = $67&255; - $69 = (($68) + 5)|0; - $70 = HEAP32[$data>>2]|0; - $71 = (($70) + ($69)|0); - $72 = (($71) + 1|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73&255; - $75 = $66 | $74; - $76 = (($75) - 1)|0; - $77 = $76 & 65535; - $78 = (($77) + 1)|0; - HEAP32[$top>>2] = $78; - $79 = HEAP8[$hdr>>0]|0; - $80 = $79&255; - $81 = (($80) + 3)|0; - $82 = HEAP32[$data>>2]|0; - $83 = (($82) + ($81)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $85 << 8; - $87 = HEAP8[$hdr>>0]|0; - $88 = $87&255; - $89 = (($88) + 3)|0; - $90 = HEAP32[$data>>2]|0; - $91 = (($90) + ($89)|0); - $92 = (($91) + 1|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = $86 | $94; - $96 = $95&65535; - $97 = HEAP32[$1>>2]|0; - $98 = (($97) + 18|0); - HEAP16[$98>>1] = $96; - $99 = HEAP32[$1>>2]|0; - $100 = (($99) + 18|0); - $101 = HEAP16[$100>>1]|0; - $102 = $101&65535; - $103 = HEAP32[$pBt>>2]|0; - $104 = (($103) + 32|0); - $105 = HEAP32[$104>>2]|0; - $106 = (($105) - 8)|0; - $107 = (($106>>>0) / 6)&-1; - $108 = ($102>>>0)>($107>>>0); - if ($108) { - $109 = (_sqlite3CorruptError(53706)|0); - HEAP32[$0>>2] = $109; - $229 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($229|0); - } - $110 = HEAP16[$cellOffset>>1]|0; - $111 = $110&65535; - $112 = HEAP32[$1>>2]|0; - $113 = (($112) + 18|0); - $114 = HEAP16[$113>>1]|0; - $115 = $114&65535; - $116 = $115<<1; - $117 = (($111) + ($116))|0; - HEAP32[$iCellFirst>>2] = $117; - $118 = HEAP32[$usableSize>>2]|0; - $119 = (($118) - 4)|0; - HEAP32[$iCellLast>>2] = $119; - $120 = HEAP8[$hdr>>0]|0; - $121 = $120&255; - $122 = (($121) + 1)|0; - $123 = HEAP32[$data>>2]|0; - $124 = (($123) + ($122)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = $126 << 8; - $128 = HEAP8[$hdr>>0]|0; - $129 = $128&255; - $130 = (($129) + 1)|0; - $131 = HEAP32[$data>>2]|0; - $132 = (($131) + ($130)|0); - $133 = (($132) + 1|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = $127 | $135; - $137 = $136&65535; - HEAP16[$pc>>1] = $137; - $138 = HEAP8[$hdr>>0]|0; - $139 = $138&255; - $140 = (($139) + 7)|0; - $141 = HEAP32[$data>>2]|0; - $142 = (($141) + ($140)|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143&255; - $145 = HEAP32[$top>>2]|0; - $146 = (($144) + ($145))|0; - HEAP32[$nFree>>2] = $146; - while(1) { - $147 = HEAP16[$pc>>1]|0; - $148 = $147&65535; - $149 = ($148|0)>(0); - if (!($149)) { - label = 16; - break; - } - $150 = HEAP16[$pc>>1]|0; - $151 = $150&65535; - $152 = HEAP32[$iCellFirst>>2]|0; - $153 = ($151|0)<($152|0); - if ($153) { - label = 10; - break; - } - $154 = HEAP16[$pc>>1]|0; - $155 = $154&65535; - $156 = HEAP32[$iCellLast>>2]|0; - $157 = ($155|0)>($156|0); - if ($157) { - label = 10; - break; - } - $159 = HEAP16[$pc>>1]|0; - $160 = $159&65535; - $161 = HEAP32[$data>>2]|0; - $162 = (($161) + ($160)|0); - $163 = HEAP8[$162>>0]|0; - $164 = $163&255; - $165 = $164 << 8; - $166 = HEAP16[$pc>>1]|0; - $167 = $166&65535; - $168 = HEAP32[$data>>2]|0; - $169 = (($168) + ($167)|0); - $170 = (($169) + 1|0); - $171 = HEAP8[$170>>0]|0; - $172 = $171&255; - $173 = $165 | $172; - $174 = $173&65535; - HEAP16[$next>>1] = $174; - $175 = HEAP16[$pc>>1]|0; - $176 = $175&65535; - $177 = (($176) + 2)|0; - $178 = HEAP32[$data>>2]|0; - $179 = (($178) + ($177)|0); - $180 = HEAP8[$179>>0]|0; - $181 = $180&255; - $182 = $181 << 8; - $183 = HEAP16[$pc>>1]|0; - $184 = $183&65535; - $185 = (($184) + 2)|0; - $186 = HEAP32[$data>>2]|0; - $187 = (($186) + ($185)|0); - $188 = (($187) + 1|0); - $189 = HEAP8[$188>>0]|0; - $190 = $189&255; - $191 = $182 | $190; - $192 = $191&65535; - HEAP16[$size>>1] = $192; - $193 = HEAP16[$next>>1]|0; - $194 = $193&65535; - $195 = ($194|0)>(0); - if ($195) { - $196 = HEAP16[$next>>1]|0; - $197 = $196&65535; - $198 = HEAP16[$pc>>1]|0; - $199 = $198&65535; - $200 = HEAP16[$size>>1]|0; - $201 = $200&65535; - $202 = (($199) + ($201))|0; - $203 = (($202) + 3)|0; - $204 = ($197|0)<=($203|0); - if ($204) { - label = 14; - break; - } - } - $205 = HEAP16[$pc>>1]|0; - $206 = $205&65535; - $207 = HEAP16[$size>>1]|0; - $208 = $207&65535; - $209 = (($206) + ($208))|0; - $210 = HEAP32[$usableSize>>2]|0; - $211 = ($209|0)>($210|0); - if ($211) { - label = 14; - break; - } - $213 = HEAP32[$nFree>>2]|0; - $214 = HEAP16[$size>>1]|0; - $215 = $214&65535; - $216 = (($213) + ($215))|0; - HEAP32[$nFree>>2] = $216; - $217 = HEAP16[$next>>1]|0; - HEAP16[$pc>>1] = $217; - } - if ((label|0) == 10) { - $158 = (_sqlite3CorruptError(53749)|0); - HEAP32[$0>>2] = $158; - $229 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($229|0); - } - else if ((label|0) == 14) { - $212 = (_sqlite3CorruptError(53756)|0); - HEAP32[$0>>2] = $212; - $229 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($229|0); - } - else if ((label|0) == 16) { - $218 = HEAP32[$nFree>>2]|0; - $219 = HEAP32[$usableSize>>2]|0; - $220 = ($218|0)>($219|0); - if (!($220)) { - $222 = HEAP32[$nFree>>2]|0; - $223 = HEAP32[$iCellFirst>>2]|0; - $224 = (($222) - ($223))|0; - $225 = $224&65535; - $226 = HEAP32[$1>>2]|0; - $227 = (($226) + 16|0); - HEAP16[$227>>1] = $225; - $228 = HEAP32[$1>>2]|0; - HEAP8[$228>>0] = 1; - break; - } - $221 = (_sqlite3CorruptError(53770)|0); - HEAP32[$0>>2] = $221; - $229 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($229|0); - } + $0 = sp + 28|0; + $1 = sp + 24|0; + $rc = sp + 32|0; + $currentSize = sp + 8|0; + $newSize = sp; + $szPage = sp + 20|0; + $pTmp = sp + 16|0; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $nPage; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 60|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $127 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($127|0); + } + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)>=(4); + if (!($11)) { + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(0); + if (!($16)) { + $127 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($127|0); } - } while(0); - HEAP32[$0>>2] = 0; - $229 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($229|0); + } + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 152|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$szPage>>2] = $19; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 60|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3OsFileSize($22,$currentSize)|0); + HEAP32[$rc>>2] = $23; + $24 = HEAP32[$szPage>>2]|0; + $25 = ($24|0)<(0); + $26 = $25 << 31 >> 31; + $27 = HEAP32[$1>>2]|0; + $28 = (___muldi3(($24|0),($26|0),($27|0),0)|0); + $29 = tempRet0; + $30 = $newSize; + $31 = $30; + HEAP32[$31>>2] = $28; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $34 = HEAP32[$rc>>2]|0; + $35 = ($34|0)==(0); + if (!($35)) { + $127 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($127|0); + } + $36 = $currentSize; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = $newSize; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ($38|0)!=($44|0); + $49 = ($41|0)!=($47|0); + $50 = $48 | $49; + if (!($50)) { + $127 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($127|0); + } + $51 = $currentSize; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = $newSize; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = ($56|0)>($62|0); + $64 = ($53>>>0)>($59>>>0); + $65 = ($56|0)==($62|0); + $66 = $65 & $64; + $67 = $63 | $66; + if ($67) { + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 60|0); + $70 = HEAP32[$69>>2]|0; + $71 = $newSize; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (_sqlite3OsTruncate($70,$73,$76)|0); + HEAP32[$rc>>2] = $77; + } else { + $78 = $currentSize; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$szPage>>2]|0; + $85 = ($84|0)<(0); + $86 = $85 << 31 >> 31; + $87 = (_i64Add(($80|0),($83|0),($84|0),($86|0))|0); + $88 = tempRet0; + $89 = $newSize; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = ($88|0)<($94|0); + $96 = ($87>>>0)<=($91>>>0); + $97 = ($88|0)==($94|0); + $98 = $97 & $96; + $99 = $95 | $98; + if ($99) { + $100 = HEAP32[$0>>2]|0; + $101 = ((($100)) + 200|0); + $102 = HEAP32[$101>>2]|0; + HEAP32[$pTmp>>2] = $102; + $103 = HEAP32[$pTmp>>2]|0; + $104 = HEAP32[$szPage>>2]|0; + _memset(($103|0),0,($104|0))|0; + $105 = HEAP32[$0>>2]|0; + $106 = ((($105)) + 60|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$pTmp>>2]|0; + $109 = HEAP32[$szPage>>2]|0; + $110 = $newSize; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$szPage>>2]|0; + $117 = ($116|0)<(0); + $118 = $117 << 31 >> 31; + $119 = (_i64Subtract(($112|0),($115|0),($116|0),($118|0))|0); + $120 = tempRet0; + $121 = (_sqlite3OsWrite($107,$108,$109,$119,$120)|0); + HEAP32[$rc>>2] = $121; + } + } + $122 = HEAP32[$rc>>2]|0; + $123 = ($122|0)==(0); + if (!($123)) { + $127 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($127|0); + } + $124 = HEAP32[$1>>2]|0; + $125 = HEAP32[$0>>2]|0; + $126 = ((($125)) + 32|0); + HEAP32[$126>>2] = $124; + $127 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($127|0); } -function _decodeFlags($pPage,$flagByte) { - $pPage = $pPage|0; - $flagByte = $flagByte|0; +function _sqlite3WalExclusiveMode($pWal,$op) { + $pWal = $pWal|0; + $op = $op|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $pBt = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $pPage; - HEAP32[$2>>2] = $flagByte; - $3 = HEAP32[$2>>2]|0; - $4 = $3 >> 3; - $5 = $4&255; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 5|0); - HEAP8[$7>>0] = $5; - $8 = HEAP32[$2>>2]|0; - $9 = $8 & -9; - HEAP32[$2>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 5|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13<<2; - $15 = (4 - ($14))|0; - $16 = $15&255; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 7|0); - HEAP8[$18>>0] = $16; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 52|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pBt>>2] = $21; - $22 = HEAP32[$2>>2]|0; - $23 = ($22|0)==(5); - do { - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 2|0); - HEAP8[$25>>0] = 1; - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 5|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 3|0); - HEAP8[$30>>0] = $28; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 5|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)!=(0); - $35 = $34 ^ 1; - $36 = $35&1; - $37 = $36&255; - $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 4|0); - HEAP8[$39>>0] = $37; - $40 = HEAP32[$pBt>>2]|0; - $41 = (($40) + 28|0); - $42 = HEAP16[$41>>1]|0; - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 10|0); - HEAP16[$44>>1] = $42; - $45 = HEAP32[$pBt>>2]|0; - $46 = (($45) + 30|0); - $47 = HEAP16[$46>>1]|0; - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 12|0); - HEAP16[$49>>1] = $47; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $op; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $26 = HEAP32[$1>>2]|0; + $27 = ($26|0)>(0); + $28 = HEAP32[$0>>2]|0; + if ($27) { + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 40|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31 << 16 >> 16; + $33 = (3 + ($32))|0; + _walUnlockShared($28,$33); + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 43|0); + HEAP8[$35>>0] = 1; + HEAP32[$rc>>2] = 1; + $41 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($41|0); } else { - $50 = HEAP32[$2>>2]|0; - $51 = ($50|0)==(2); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 2|0); - HEAP8[$53>>0] = 0; - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 3|0); - HEAP8[$55>>0] = 0; - $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 4|0); - HEAP8[$57>>0] = 0; - $58 = HEAP32[$pBt>>2]|0; - $59 = (($58) + 24|0); - $60 = HEAP16[$59>>1]|0; - $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 10|0); - HEAP16[$62>>1] = $60; - $63 = HEAP32[$pBt>>2]|0; - $64 = (($63) + 26|0); - $65 = HEAP16[$64>>1]|0; - $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 12|0); - HEAP16[$67>>1] = $65; - break; - } - $68 = (_sqlite3CorruptError(53655)|0); - HEAP32[$0>>2] = $68; - $74 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($74|0); + $36 = ((($28)) + 43|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = ($38|0)==(0); + $40 = $39&1; + HEAP32[$rc>>2] = $40; + $41 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($41|0); } - } while(0); - $69 = HEAP32[$pBt>>2]|0; - $70 = (($69) + 21|0); - $71 = HEAP8[$70>>0]|0; - $72 = HEAP32[$1>>2]|0; - $73 = (($72) + 8|0); - HEAP8[$73>>0] = $71; - HEAP32[$0>>2] = 0; - $74 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($74|0); + } + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 43|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + if (!($7)) { + HEAP32[$rc>>2] = 0; + $41 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($41|0); + } + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 43|0); + HEAP8[$9>>0] = 0; + $10 = HEAP32[$0>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 40|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13 << 16 >> 16; + $15 = (3 + ($14))|0; + $16 = (_walLockShared($10,$15)|0); + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 43|0); + HEAP8[$19>>0] = 1; + } + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 43|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(0); + $25 = $24&1; + HEAP32[$rc>>2] = $25; + $41 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($41|0); } -function _sqlite3PcacheSize() { - var label = 0, sp = 0; +function _pagerUnlockDb($pPager,$eLock) { + $pPager = $pPager|0; + $eLock = $eLock|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = sp;return 48; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $eLock; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 60|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $27 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($27|0); + } + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 13|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(0); + if ($11) { + $17 = 0; + } else { + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = (_sqlite3OsUnlock($14,$15)|0); + $17 = $16; + } + HEAP32[$rc>>2] = $17; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 17|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)!=(5); + if (!($22)) { + $27 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($27|0); + } + $23 = HEAP32[$1>>2]|0; + $24 = $23&255; + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 17|0); + HEAP8[$26>>0] = $24; + $27 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($27|0); } -function _sqlite3PcacheOpen($szPage,$szExtra,$bPurgeable,$xStress,$pStress,$p) { - $szPage = $szPage|0; - $szExtra = $szExtra|0; - $bPurgeable = $bPurgeable|0; - $xStress = $xStress|0; - $pStress = $pStress|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3OsUnlock($id,$lockType) { + $id = $id|0; + $lockType = $lockType|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $5 = sp; - HEAP32[$0>>2] = $szPage; - HEAP32[$1>>2] = $szExtra; - HEAP32[$2>>2] = $bPurgeable; - HEAP32[$3>>2] = $xStress; - HEAP32[$4>>2] = $pStress; - HEAP32[$5>>2] = $p; - $6 = HEAP32[$5>>2]|0; - dest=$6+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $7 = HEAP32[$5>>2]|0; - $8 = (($7) + 20|0); - HEAP32[$8>>2] = 1; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + 24|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$2>>2]|0; - $13 = $12&255; - $14 = HEAP32[$5>>2]|0; - $15 = (($14) + 28|0); - HEAP8[$15>>0] = $13; - $16 = HEAP32[$5>>2]|0; - $17 = (($16) + 29|0); - HEAP8[$17>>0] = 2; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$5>>2]|0; - $20 = (($19) + 32|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$4>>2]|0; - $22 = HEAP32[$5>>2]|0; - $23 = (($22) + 36|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$5>>2]|0; - $25 = (($24) + 16|0); - HEAP32[$25>>2] = 100; - $26 = HEAP32[$5>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = (_sqlite3PcacheSetPageSize($26,$27)|0); - STACKTOP = sp;return ($28|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $lockType; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); + STACKTOP = sp;return ($8|0); } -function _pagerStress($p,$pPg) { - $p = $p|0; - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $pPager = 0, $rc = 0; - var label = 0, sp = 0; +function _walLockShared($pWal,$lockIdx) { + $pWal = $pWal|0; + $lockIdx = $lockIdx|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pPager = sp + 4|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; $rc = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pPg; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $lockIdx; $3 = HEAP32[$1>>2]|0; - HEAP32[$pPager>>2] = $3; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$pPager>>2]|0; - $5 = (($4) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { + $4 = ((($3)) + 43|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)!=(0); + if ($6) { HEAP32[$0>>2] = 0; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } - $8 = HEAP32[$pPager>>2]|0; - $9 = (($8) + 20|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)!=(0); - do { - if ($12) { - $13 = HEAP32[$pPager>>2]|0; - $14 = (($13) + 20|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 & 3; - $18 = ($17|0)!=(0); - if (!($18)) { - $19 = HEAP32[$2>>2]|0; - $20 = (($19) + 24|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 & 4; - $24 = ($23|0)!=(0); - if (!($24)) { - break; - } - } - HEAP32[$0>>2] = 0; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); - } - } while(0); - $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 12|0); - HEAP32[$26>>2] = 0; - $27 = HEAP32[$pPager>>2]|0; - $28 = (_pagerUseWal($27)|0); - $29 = ($28|0)!=(0); - $30 = HEAP32[$2>>2]|0; - if ($29) { - $31 = (_subjRequiresPage($30)|0); - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$2>>2]|0; - $34 = (_subjournalPage($33)|0); - HEAP32[$rc>>2] = $34; - } - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$pPager>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = (_pagerWalFrames($37,$38,0,0)|0); - HEAP32[$rc>>2] = $39; - } + $13 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($13|0); } else { - $40 = (($30) + 24|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = $42 & 4; - $44 = ($43|0)!=(0); - if ($44) { - label = 14; - } else { - $45 = HEAP32[$pPager>>2]|0; - $46 = (($45) + 16|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = ($48|0)==(3); - if ($49) { - label = 14; - } - } - if ((label|0) == 14) { - $50 = HEAP32[$pPager>>2]|0; - $51 = (_syncJournal($50,1)|0); - HEAP32[$rc>>2] = $51; - } - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(0); - if ($53) { - $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 20|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$pPager>>2]|0; - $58 = (($57) + 24|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($56>>>0)>($59>>>0); - if ($60) { - $61 = HEAP32[$2>>2]|0; - $62 = (_subjRequiresPage($61)|0); - $63 = ($62|0)!=(0); - if ($63) { - $64 = HEAP32[$2>>2]|0; - $65 = (_subjournalPage($64)|0); - HEAP32[$rc>>2] = $65; - } - } - } - $66 = HEAP32[$rc>>2]|0; - $67 = ($66|0)==(0); - if ($67) { - $68 = HEAP32[$pPager>>2]|0; - $69 = HEAP32[$2>>2]|0; - $70 = (_pager_write_pagelist($68,$69)|0); - HEAP32[$rc>>2] = $70; - } + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = (_sqlite3OsShmLock($9,$10,1,6)|0); + HEAP32[$rc>>2] = $11; + $12 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $12; + $13 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($13|0); } - $71 = HEAP32[$rc>>2]|0; - $72 = ($71|0)==(0); - if ($72) { - $73 = HEAP32[$2>>2]|0; - _sqlite3PcacheMakeClean($73); + return (0)|0; +} +function _walUnlockShared($pWal,$lockIdx) { + $pWal = $pWal|0; + $lockIdx = $lockIdx|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $lockIdx; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 43|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); + if ($5) { + STACKTOP = sp;return; } - $74 = HEAP32[$pPager>>2]|0; - $75 = HEAP32[$rc>>2]|0; - $76 = (_pager_error($74,$75)|0); - HEAP32[$0>>2] = $76; - $77 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($77|0); + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + (_sqlite3OsShmLock($8,$9,1,5)|0); + STACKTOP = sp;return; } -function _subjRequiresPage($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pPager = 0, $pgno = 0, label = 0, sp = 0; +function _sqlite3OsShmLock($id,$offset,$n,$flags) { + $id = $id|0; + $offset = $offset|0; + $n = $n|0; + $flags = $flags|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pPager = sp + 12|0; - $p = sp + 8|0; - $pgno = sp + 4|0; - $i = sp; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pPager>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 20|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $offset; + HEAP32[$2>>2] = $n; + HEAP32[$3>>2] = $flags; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 56|0); $7 = HEAP32[$6>>2]|0; - HEAP32[$pgno>>2] = $7; - HEAP32[$i>>2] = 0; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$pPager>>2]|0; - $10 = (($9) + 96|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { - label = 7; - break; - } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$pPager>>2]|0; - $15 = (($14) + 92|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + (($13*48)|0)|0); - HEAP32[$p>>2] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pgno>>2]|0; - $22 = ($20>>>0)>=($21>>>0); - if ($22) { - $23 = HEAP32[$p>>2]|0; - $24 = (($23) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pgno>>2]|0; - $27 = (_sqlite3BitvecTest($25,$26)|0); - $28 = (0)==($27|0); - if ($28) { - label = 5; - break; - } - } - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; - } - if ((label|0) == 5) { - HEAP32[$0>>2] = 1; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); - } - else if ((label|0) == 7) { - HEAP32[$0>>2] = 0; - $31 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($31|0); + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = (FUNCTION_TABLE_iiiii[$7 & 15]($8,$9,$10,$11)|0); + STACKTOP = sp;return ($12|0); +} +function _walUnlockExclusive($pWal,$lockIdx,$n) { + $pWal = $pWal|0; + $lockIdx = $lockIdx|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $lockIdx; + HEAP32[$2>>2] = $n; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 43|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)!=(0); + if ($6) { + STACKTOP = sp;return; } - return 0|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$2>>2]|0; + (_sqlite3OsShmLock($9,$10,$11,9)|0); + STACKTOP = sp;return; } -function _subjournalPage($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $offset = 0, $pData = 0, $pData2 = 0, $pPager = 0, $rc = 0; - var label = 0, sp = 0; +function _memjrnlClose($pJfd) { + $pJfd = $pJfd|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $rc = sp + 20|0; - $pPager = sp + 16|0; - $pData = sp + 12|0; - $offset = sp; - $pData2 = sp + 8|0; - HEAP32[$0>>2] = $pPg; - HEAP32[$rc>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pJfd; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$pPager>>2]|0; - $5 = (($4) + 5|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)!=(2); - if ($8) { - $9 = HEAP32[$pPager>>2]|0; - $10 = (_openSubJournal($9)|0); - HEAP32[$rc>>2] = $10; - $11 = HEAP32[$rc>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$pData>>2] = $15; - $16 = HEAP32[$pPager>>2]|0; - $17 = (($16) + 52|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$pPager>>2]|0; - $20 = (($19) + 152|0); - $21 = HEAP32[$20>>2]|0; - $22 = (4 + ($21))|0; - $23 = ($22|0)<(0); - $24 = $23 << 31 >> 31; - $25 = (___muldi3(($18|0),0,($22|0),($24|0))|0); - $26 = tempRet0; - $27 = $offset; - $28 = $27; - HEAP32[$28>>2] = $25; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = HEAP32[$pData>>2]|0; - HEAP32[$pData2>>2] = $31; - $32 = HEAP32[$pPager>>2]|0; - $33 = (($32) + 68|0); - $34 = HEAP32[$33>>2]|0; - $35 = $offset; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 20|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_write32bits($34,$37,$40,$43)|0); - HEAP32[$rc>>2] = $44; - $45 = HEAP32[$rc>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - $47 = HEAP32[$pPager>>2]|0; - $48 = (($47) + 68|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$pData2>>2]|0; - $51 = HEAP32[$pPager>>2]|0; - $52 = (($51) + 152|0); - $53 = HEAP32[$52>>2]|0; - $54 = $offset; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (_i64Add(($56|0),($59|0),4,0)|0); - $61 = tempRet0; - $62 = (_sqlite3OsWrite($49,$50,$53,$60,$61)|0); - HEAP32[$rc>>2] = $62; - } - } - } - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)==(0); - if (!($64)) { - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); - } - $65 = HEAP32[$pPager>>2]|0; - $66 = (($65) + 52|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - $69 = HEAP32[$pPager>>2]|0; - $70 = HEAP32[$0>>2]|0; - $71 = (($70) + 20|0); - $72 = HEAP32[$71>>2]|0; - $73 = (_addToSavepointBitvecs($69,$72)|0); - HEAP32[$rc>>2] = $73; - $74 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($74|0); + (_memjrnlTruncate($1,0,0)|0); + STACKTOP = sp;return 0; } -function _pagerWalFrames($pPager,$pList,$nTruncate,$isCommit) { - $pPager = $pPager|0; - $pList = $pList|0; - $nTruncate = $nTruncate|0; - $isCommit = $isCommit|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $nList = 0, $p = 0, $p1 = 0, $ppNext = 0, $rc = 0, label = 0, sp = 0; +function _memjrnlRead($pJfd,$zBuf,$iAmt,$0,$1) { + $pJfd = $pJfd|0; + $zBuf = $zBuf|0; + $iAmt = $iAmt|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $iChunkOffset = 0, $iOff = 0, $iSpace = 0, $nCopy = 0, $nRead = 0, $or$cond = 0, $or$cond5 = 0, $p = 0, $pChunk = 0, $zOut = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 44|0; $3 = sp + 20|0; - $rc = sp + 16|0; - $nList = sp + 12|0; - $p = sp + 8|0; - $ppNext = sp + 4|0; - $p1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pList; - HEAP32[$2>>2] = $nTruncate; - HEAP32[$3>>2] = $isCommit; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); + $4 = sp + 36|0; + $5 = sp + 8|0; + $p = sp + 24|0; + $zOut = sp + 48|0; + $nRead = sp + 52|0; + $iChunkOffset = sp + 16|0; + $pChunk = sp + 28|0; + $iOff = sp; + $iSpace = sp + 32|0; + $nCopy = sp + 40|0; + HEAP32[$2>>2] = $pJfd; + HEAP32[$3>>2] = $zBuf; + HEAP32[$4>>2] = $iAmt; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + $10 = HEAP32[$2>>2]|0; + HEAP32[$p>>2] = $10; + $11 = HEAP32[$3>>2]|0; + HEAP32[$zOut>>2] = $11; + $12 = HEAP32[$4>>2]|0; + HEAP32[$nRead>>2] = $12; + $13 = HEAP32[$p>>2]|0; + $14 = ((($13)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $5; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = ($17|0)!=($23|0); + $28 = ($20|0)!=($26|0); + $29 = $27 | $28; + $30 = $5; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = ($32|0)==(0); + $37 = ($35|0)==(0); + $38 = $36 & $37; + $or$cond = $29 | $38; L1: do { - if ($5) { - HEAP32[$ppNext>>2] = $1; - HEAP32[$nList>>2] = 0; - $6 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $6; + if ($or$cond) { + $39 = $iOff; + $40 = $39; + HEAP32[$40>>2] = 0; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = 0; + $43 = HEAP32[$p>>2]|0; + $44 = ((($43)) + 4|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$pChunk>>2] = $45; while(1) { - $7 = HEAP32[$p>>2]|0; - $8 = HEAP32[$ppNext>>2]|0; - HEAP32[$8>>2] = $7; - $9 = ($7|0)!=(0|0); - if (!($9)) { + $46 = HEAP32[$pChunk>>2]|0; + $47 = ($46|0)!=(0|0); + if (!($47)) { break L1; } - $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ($12>>>0)<=($13>>>0); - if ($14) { - $15 = HEAP32[$p>>2]|0; - $16 = (($15) + 12|0); - HEAP32[$ppNext>>2] = $16; - $17 = HEAP32[$nList>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$nList>>2] = $18; + $48 = $iOff; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (_i64Add(($50|0),($53|0),1020,0)|0); + $55 = tempRet0; + $56 = $5; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = ($55|0)<($61|0); + $63 = ($54>>>0)<=($58>>>0); + $64 = ($55|0)==($61|0); + $65 = $64 & $63; + $66 = $62 | $65; + if (!($66)) { + break L1; } - $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 12|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$p>>2] = $21; + $67 = $iOff; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (_i64Add(($69|0),($72|0),1020,0)|0); + $74 = tempRet0; + $75 = $iOff; + $76 = $75; + HEAP32[$76>>2] = $73; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = $74; + $79 = HEAP32[$pChunk>>2]|0; + $80 = HEAP32[$79>>2]|0; + HEAP32[$pChunk>>2] = $80; } } else { - HEAP32[$nList>>2] = 1; + $81 = HEAP32[$p>>2]|0; + $82 = ((($81)) + 24|0); + $83 = ((($82)) + 8|0); + $84 = HEAP32[$83>>2]|0; + HEAP32[$pChunk>>2] = $84; } } while(0); - $22 = HEAP32[$nList>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 184|0); - $25 = (($24) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($22))|0; - HEAP32[$25>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(1); - if ($31) { - $32 = HEAP32[$1>>2]|0; - _pager_write_changecounter($32); - } - $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 208|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 152|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$3>>2]|0; - $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 10|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = (_sqlite3WalFrames($35,$38,$39,$40,$41,$45)|0); - HEAP32[$rc>>2] = $46; - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)==(0); - if (!($48)) { - $68 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($68|0); - } - $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 88|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)!=(0|0); - if (!($52)) { - $68 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($68|0); - } - $53 = HEAP32[$1>>2]|0; - HEAP32[$p1>>2] = $53; + $85 = $5; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (___remdi3(($87|0),($90|0),1020,0)|0); + $92 = tempRet0; + HEAP32[$iChunkOffset>>2] = $91; while(1) { - $54 = HEAP32[$p1>>2]|0; - $55 = ($54|0)!=(0|0); - if (!($55)) { + $93 = HEAP32[$iChunkOffset>>2]|0; + $94 = (1020 - ($93))|0; + HEAP32[$iSpace>>2] = $94; + $95 = HEAP32[$nRead>>2]|0; + $96 = HEAP32[$iChunkOffset>>2]|0; + $97 = (1020 - ($96))|0; + $98 = ($95|0)<($97|0); + $99 = HEAP32[$nRead>>2]|0; + $100 = HEAP32[$iChunkOffset>>2]|0; + $101 = (1020 - ($100))|0; + $102 = $98 ? $99 : $101; + HEAP32[$nCopy>>2] = $102; + $103 = HEAP32[$zOut>>2]|0; + $104 = HEAP32[$iChunkOffset>>2]|0; + $105 = HEAP32[$pChunk>>2]|0; + $106 = ((($105)) + 4|0); + $107 = (($106) + ($104)|0); + $108 = HEAP32[$nCopy>>2]|0; + _memcpy(($103|0),($107|0),($108|0))|0; + $109 = HEAP32[$nCopy>>2]|0; + $110 = HEAP32[$zOut>>2]|0; + $111 = (($110) + ($109)|0); + HEAP32[$zOut>>2] = $111; + $112 = HEAP32[$iSpace>>2]|0; + $113 = HEAP32[$nRead>>2]|0; + $114 = (($113) - ($112))|0; + HEAP32[$nRead>>2] = $114; + HEAP32[$iChunkOffset>>2] = 0; + $115 = HEAP32[$nRead>>2]|0; + $116 = ($115|0)>=(0); + if (!($116)) { + label = 10; + break; + } + $117 = HEAP32[$pChunk>>2]|0; + $118 = HEAP32[$117>>2]|0; + HEAP32[$pChunk>>2] = $118; + $119 = ($118|0)!=(0|0); + $120 = HEAP32[$nRead>>2]|0; + $121 = ($120|0)>(0); + $or$cond5 = $119 & $121; + if (!($or$cond5)) { + label = 10; break; } - $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 88|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$p1>>2]|0; - $60 = (($59) + 20|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$p1>>2]|0; - $63 = (($62) + 4|0); - $64 = HEAP32[$63>>2]|0; - _sqlite3BackupUpdate($58,$61,$64); - $65 = HEAP32[$p1>>2]|0; - $66 = (($65) + 12|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$p1>>2] = $67; } - $68 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($68|0); -} -function _syncJournal($pPager,$newHdr) { - $pPager = $pPager|0; - $newHdr = $newHdr|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aMagic = 0, $iDc = 0, $iNextHdrOffset = 0, $or$cond = 0, $rc = 0, $zHeader = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $iDc = sp + 8|0; - $iNextHdrOffset = sp; - $aMagic = sp + 40|0; - $zHeader = sp + 28|0; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $newHdr; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3PagerExclusiveLock($3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $7; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); + if ((label|0) == 10) { + $122 = $5; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (($122) + 4)|0; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$4>>2]|0; + $129 = ($128|0)<(0); + $130 = $129 << 31 >> 31; + $131 = (_i64Add(($124|0),($127|0),($128|0),($130|0))|0); + $132 = tempRet0; + $133 = HEAP32[$p>>2]|0; + $134 = ((($133)) + 24|0); + $135 = $134; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $132; + $139 = HEAP32[$pChunk>>2]|0; + $140 = HEAP32[$p>>2]|0; + $141 = ((($140)) + 24|0); + $142 = ((($141)) + 8|0); + HEAP32[$142>>2] = $139; + STACKTOP = sp;return 0; } - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 7|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)!=(0); - do { - if (!($11)) { - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 64|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 5|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)!=(4); - if ($21) { - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 60|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3OsDeviceCharacteristics($24)|0); - HEAP32[$iDc>>2] = $25; - $26 = HEAP32[$iDc>>2]|0; - $27 = $26 & 512; - $28 = (0)==($27|0); - if ($28) { - ;HEAP8[$zHeader+0>>0]=HEAP8[4384+0>>0]|0;HEAP8[$zHeader+1>>0]=HEAP8[4384+1>>0]|0;HEAP8[$zHeader+2>>0]=HEAP8[4384+2>>0]|0;HEAP8[$zHeader+3>>0]=HEAP8[4384+3>>0]|0;HEAP8[$zHeader+4>>0]=HEAP8[4384+4>>0]|0;HEAP8[$zHeader+5>>0]=HEAP8[4384+5>>0]|0;HEAP8[$zHeader+6>>0]=HEAP8[4384+6>>0]|0;HEAP8[$zHeader+7>>0]=HEAP8[4384+7>>0]|0; - $29 = (($zHeader) + 8|0); - $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 44|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3Put4byte($29,$32); - $33 = HEAP32[$1>>2]|0; - $34 = (_journalHdrOffset($33)|0); - $35 = tempRet0; - $36 = $iNextHdrOffset; - $37 = $36; - HEAP32[$37>>2] = $34; - $38 = (($36) + 4)|0; - $39 = $38; - HEAP32[$39>>2] = $35; - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 64|0); - $42 = HEAP32[$41>>2]|0; - $43 = $iNextHdrOffset; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (_sqlite3OsRead($42,$aMagic,8,$45,$48)|0); - HEAP32[$rc>>2] = $49; - $50 = HEAP32[$rc>>2]|0; - $51 = ($50|0)==(0); - if ($51) { - $52 = (_memcmp($aMagic,4384,8)|0); - $53 = (0)==($52|0); - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 64|0); - $56 = HEAP32[$55>>2]|0; - $57 = $iNextHdrOffset; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3OsWrite($56,4600,1,$59,$62)|0); - HEAP32[$rc>>2] = $63; - } - } - $64 = HEAP32[$rc>>2]|0; - $65 = ($64|0)!=(0); - $66 = HEAP32[$rc>>2]|0; - $67 = ($66|0)!=(522); - $or$cond = $65 & $67; - if ($or$cond) { - $68 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $68; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 8|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = ($72|0)!=(0); - if ($73) { - $74 = HEAP32[$iDc>>2]|0; - $75 = $74 & 1024; - $76 = (0)==($75|0); - if ($76) { - $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 64|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 11|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = (_sqlite3OsSync($79,$83)|0); - HEAP32[$rc>>2] = $84; - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $87; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - } - } - $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 64|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 80|0); - $93 = $92; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (_sqlite3OsWrite($90,$zHeader,12,$95,$98)|0); - HEAP32[$rc>>2] = $99; - $100 = HEAP32[$rc>>2]|0; - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $102; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - } - $103 = HEAP32[$iDc>>2]|0; - $104 = $103 & 1024; - $105 = (0)==($104|0); - if ($105) { - $106 = HEAP32[$1>>2]|0; - $107 = (($106) + 64|0); - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$1>>2]|0; - $110 = (($109) + 11|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = HEAP32[$1>>2]|0; - $114 = (($113) + 11|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = ($116|0)==(3); - $118 = $117 ? 16 : 0; - $119 = $112 | $118; - $120 = (_sqlite3OsSync($108,$119)|0); - HEAP32[$rc>>2] = $120; - $121 = HEAP32[$rc>>2]|0; - $122 = ($121|0)!=(0); - if ($122) { - $123 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $123; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - } - $124 = HEAP32[$1>>2]|0; - $125 = (($124) + 72|0); - $126 = $125; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (($126) + 4)|0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$1>>2]|0; - $133 = (($132) + 80|0); - $134 = $133; - $135 = $134; - HEAP32[$135>>2] = $128; - $136 = (($134) + 4)|0; - $137 = $136; - HEAP32[$137>>2] = $131; - $138 = HEAP32[$2>>2]|0; - $139 = ($138|0)!=(0); - if (!($139)) { - break; - } - $140 = HEAP32[$iDc>>2]|0; - $141 = $140 & 512; - $142 = (0)==($141|0); - if (!($142)) { - break; - } - $143 = HEAP32[$1>>2]|0; - $144 = (($143) + 44|0); - HEAP32[$144>>2] = 0; - $145 = HEAP32[$1>>2]|0; - $146 = (_writeJournalHdr($145)|0); - HEAP32[$rc>>2] = $146; - $147 = HEAP32[$rc>>2]|0; - $148 = ($147|0)!=(0); - if (!($148)) { - break; - } - $149 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $149; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); - } - } - $150 = HEAP32[$1>>2]|0; - $151 = (($150) + 72|0); - $152 = $151; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (($152) + 4)|0; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = HEAP32[$1>>2]|0; - $159 = (($158) + 80|0); - $160 = $159; - $161 = $160; - HEAP32[$161>>2] = $154; - $162 = (($160) + 4)|0; - $163 = $162; - HEAP32[$163>>2] = $157; - } - } while(0); - $164 = HEAP32[$1>>2]|0; - $165 = (($164) + 204|0); - $166 = HEAP32[$165>>2]|0; - _sqlite3PcacheClearSyncFlags($166); - $167 = HEAP32[$1>>2]|0; - $168 = (($167) + 16|0); - HEAP8[$168>>0] = 4; - HEAP32[$0>>2] = 0; - $169 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($169|0); + return (0)|0; } -function _pager_write_pagelist($pPager,$pList) { - $pPager = $pPager|0; - $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $offset = 0, $or$cond = 0, $pData = 0, $pgno = 0, $rc = 0, $szFile = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _memjrnlWrite($pJfd,$zBuf,$iAmt,$0,$1) { + $pJfd = $pJfd|0; + $zBuf = $zBuf|0; + $iAmt = $iAmt|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $iChunkOffset = 0, $iSpace = 0, $nWrite = 0, $p = 0, $pChunk = 0, $pNew = 0, $zWrite = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $rc = sp + 24|0; - $szFile = sp + 8|0; - $pgno = sp + 20|0; - $offset = sp; - $pData = sp + 16|0; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pList; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 60|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 60|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 144|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_pagerOpentemp($7,$10,$13)|0); - HEAP32[$rc>>2] = $14; - } - $15 = HEAP32[$rc>>2]|0; - $16 = ($15|0)==(0); - do { - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 36|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 24|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19>>>0)<($22>>>0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 36|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($30>>>0)>($33>>>0); - if (!($34)) { - break; - } - } - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 152|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)<(0); - $39 = $38 << 31 >> 31; - $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = (___muldi3(($37|0),($39|0),($42|0),0)|0); - $44 = tempRet0; - $45 = $szFile; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 60|0); - $51 = HEAP32[$50>>2]|0; - _sqlite3OsFileControlHint($51,5,$szFile); - $52 = HEAP32[$0>>2]|0; - $53 = (($52) + 24|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 36|0); - HEAP32[$56>>2] = $54; - } - } - } while(0); + STACKTOP = STACKTOP + 64|0; + $2 = sp + 8|0; + $3 = sp + 12|0; + $4 = sp + 40|0; + $5 = sp + 20|0; + $6 = sp; + $p = sp + 44|0; + $nWrite = sp + 48|0; + $zWrite = sp + 32|0; + $pChunk = sp + 36|0; + $iChunkOffset = sp + 16|0; + $iSpace = sp + 28|0; + $pNew = sp + 24|0; + HEAP32[$3>>2] = $pJfd; + HEAP32[$4>>2] = $zBuf; + HEAP32[$5>>2] = $iAmt; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = HEAP32[$3>>2]|0; + HEAP32[$p>>2] = $11; + $12 = HEAP32[$5>>2]|0; + HEAP32[$nWrite>>2] = $12; + $13 = HEAP32[$4>>2]|0; + HEAP32[$zWrite>>2] = $13; while(1) { - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(0); - $59 = HEAP32[$1>>2]|0; - $60 = ($59|0)!=(0|0); - $or$cond = $58 & $60; - if (!($or$cond)) { + $14 = HEAP32[$nWrite>>2]|0; + $15 = ($14|0)>(0); + if (!($15)) { + label = 11; break; } - $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 20|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$pgno>>2] = $63; - $64 = HEAP32[$pgno>>2]|0; - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + 24|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($64>>>0)<=($67>>>0); - if ($68) { - $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 24|0); - $71 = HEAP16[$70>>1]|0; - $72 = $71&65535; - $73 = $72 & 32; - $74 = (0)==($73|0); - if ($74) { - $75 = HEAP32[$pgno>>2]|0; - $76 = (($75) - 1)|0; - $77 = HEAP32[$0>>2]|0; - $78 = (($77) + 152|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)<(0); - $81 = $80 << 31 >> 31; - $82 = (___muldi3(($76|0),0,($79|0),($81|0))|0); - $83 = tempRet0; - $84 = $offset; - $85 = $84; - HEAP32[$85>>2] = $82; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = $83; - $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 20|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(1); - if ($91) { - $92 = HEAP32[$1>>2]|0; - _pager_write_changecounter($92); - } - $93 = HEAP32[$1>>2]|0; - $94 = (($93) + 4|0); - $95 = HEAP32[$94>>2]|0; - HEAP32[$pData>>2] = $95; - $96 = HEAP32[$0>>2]|0; - $97 = (($96) + 60|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$pData>>2]|0; - $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 152|0); - $102 = HEAP32[$101>>2]|0; - $103 = $offset; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (_sqlite3OsWrite($98,$99,$102,$105,$108)|0); - HEAP32[$rc>>2] = $109; - $110 = HEAP32[$pgno>>2]|0; - $111 = ($110|0)==(1); - if ($111) { - $112 = HEAP32[$0>>2]|0; - $113 = (($112) + 100|0); - $114 = HEAP32[$pData>>2]|0; - $115 = (($114) + 24|0); - dest=$113+0|0; src=$115+0|0; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - } - $116 = HEAP32[$pgno>>2]|0; - $117 = HEAP32[$0>>2]|0; - $118 = (($117) + 32|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($116>>>0)>($119>>>0); - if ($120) { - $121 = HEAP32[$pgno>>2]|0; - $122 = HEAP32[$0>>2]|0; - $123 = (($122) + 32|0); - HEAP32[$123>>2] = $121; - } - $124 = HEAP32[$0>>2]|0; - $125 = (($124) + 184|0); - $126 = (($125) + 8|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) + 1)|0; - HEAP32[$126>>2] = $128; - $129 = HEAP32[$0>>2]|0; - $130 = (($129) + 88|0); - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$pgno>>2]|0; - $133 = HEAP32[$1>>2]|0; - $134 = (($133) + 4|0); - $135 = HEAP32[$134>>2]|0; - _sqlite3BackupUpdate($131,$132,$135); + $16 = HEAP32[$p>>2]|0; + $17 = ((($16)) + 8|0); + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$pChunk>>2] = $19; + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 8|0); + $22 = $21; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (___remdi3(($24|0),($27|0),1020,0)|0); + $29 = tempRet0; + HEAP32[$iChunkOffset>>2] = $28; + $30 = HEAP32[$nWrite>>2]|0; + $31 = HEAP32[$iChunkOffset>>2]|0; + $32 = (1020 - ($31))|0; + $33 = ($30|0)<($32|0); + $34 = HEAP32[$nWrite>>2]|0; + $35 = HEAP32[$iChunkOffset>>2]|0; + $36 = (1020 - ($35))|0; + $37 = $33 ? $34 : $36; + HEAP32[$iSpace>>2] = $37; + $38 = HEAP32[$iChunkOffset>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = (_sqlite3_malloc(1024)|0); + HEAP32[$pNew>>2] = $40; + $41 = HEAP32[$pNew>>2]|0; + $42 = ($41|0)!=(0|0); + if (!($42)) { + label = 5; + break; + } + $43 = HEAP32[$pNew>>2]|0; + HEAP32[$43>>2] = 0; + $44 = HEAP32[$pChunk>>2]|0; + $45 = ($44|0)!=(0|0); + $46 = HEAP32[$pNew>>2]|0; + if ($45) { + $47 = HEAP32[$pChunk>>2]|0; + HEAP32[$47>>2] = $46; + } else { + $48 = HEAP32[$p>>2]|0; + $49 = ((($48)) + 4|0); + HEAP32[$49>>2] = $46; } + $50 = HEAP32[$pNew>>2]|0; + $51 = HEAP32[$p>>2]|0; + $52 = ((($51)) + 8|0); + $53 = ((($52)) + 8|0); + HEAP32[$53>>2] = $50; } - $136 = HEAP32[$1>>2]|0; - $137 = (($136) + 12|0); - $138 = HEAP32[$137>>2]|0; - HEAP32[$1>>2] = $138; + $54 = HEAP32[$iChunkOffset>>2]|0; + $55 = HEAP32[$p>>2]|0; + $56 = ((($55)) + 8|0); + $57 = ((($56)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = ((($58)) + 4|0); + $60 = (($59) + ($54)|0); + $61 = HEAP32[$zWrite>>2]|0; + $62 = HEAP32[$iSpace>>2]|0; + _memcpy(($60|0),($61|0),($62|0))|0; + $63 = HEAP32[$iSpace>>2]|0; + $64 = HEAP32[$zWrite>>2]|0; + $65 = (($64) + ($63)|0); + HEAP32[$zWrite>>2] = $65; + $66 = HEAP32[$iSpace>>2]|0; + $67 = HEAP32[$nWrite>>2]|0; + $68 = (($67) - ($66))|0; + HEAP32[$nWrite>>2] = $68; + $69 = HEAP32[$iSpace>>2]|0; + $70 = ($69|0)<(0); + $71 = $70 << 31 >> 31; + $72 = HEAP32[$p>>2]|0; + $73 = ((($72)) + 8|0); + $74 = $73; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (_i64Add(($76|0),($79|0),($69|0),($71|0))|0); + $81 = tempRet0; + $82 = $73; + $83 = $82; + HEAP32[$83>>2] = $80; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; } - $139 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($139|0); + if ((label|0) == 5) { + HEAP32[$2>>2] = 3082; + $86 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($86|0); + } + else if ((label|0) == 11) { + HEAP32[$2>>2] = 0; + $86 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($86|0); + } + return (0)|0; } -function _pagerOpentemp($pPager,$pFile,$vfsFlags) { - $pPager = $pPager|0; - $pFile = $pFile|0; - $vfsFlags = $vfsFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _memjrnlTruncate($pJfd,$0,$1) { + $pJfd = $pJfd|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pChunk = 0, $pTmp = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pFile; - HEAP32[$2>>2] = $vfsFlags; - $3 = HEAP32[$2>>2]|0; - $4 = $3 | 30; - HEAP32[$2>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp; + $p = sp + 16|0; + $pChunk = sp + 12|0; + $pTmp = sp + 8|0; + HEAP32[$2>>2] = $pJfd; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3OsOpen($6,0,$7,$8,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); + HEAP32[$p>>2] = $8; + $9 = HEAP32[$p>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$pChunk>>2] = $11; + while(1) { + $12 = HEAP32[$pChunk>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + break; + } + $14 = HEAP32[$pChunk>>2]|0; + HEAP32[$pTmp>>2] = $14; + $15 = HEAP32[$pChunk>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$pChunk>>2] = $16; + $17 = HEAP32[$pTmp>>2]|0; + _sqlite3_free($17); + } + $18 = HEAP32[$2>>2]|0; + _sqlite3MemJournalOpen($18); + STACKTOP = sp;return 0; } -function _pager_write_changecounter($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $change_counter = 0, label = 0, sp = 0; +function _memjrnlSync($NotUsed,$NotUsed2) { + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $change_counter = sp; - HEAP32[$0>>2] = $pPg; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 100|0); - $5 = (_sqlite3Get4byte($4)|0); - $6 = (($5) + 1)|0; - HEAP32[$change_counter>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 24|0); - $11 = HEAP32[$change_counter>>2]|0; - _sqlite3Put4byte($10,$11); - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 92|0); - $16 = HEAP32[$change_counter>>2]|0; - _sqlite3Put4byte($15,$16); - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 96|0); - _sqlite3Put4byte($20,3008007); - STACKTOP = sp;return; + $1 = sp; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $NotUsed2; + STACKTOP = sp;return 0; } -function _sqlite3Put4byte($p,$v) { - $p = $p|0; - $v = $v|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; +function _memjrnlFileSize($pJfd,$pSize) { + $pJfd = $pJfd|0; + $pSize = $pSize|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $v; - $2 = HEAP32[$1>>2]|0; - $3 = $2 >>> 24; - $4 = $3&255; - $5 = HEAP32[$0>>2]|0; - HEAP8[$5>>0] = $4; - $6 = HEAP32[$1>>2]|0; - $7 = $6 >>> 16; - $8 = $7&255; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 1|0); - HEAP8[$10>>0] = $8; + $0 = sp + 8|0; + $1 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pJfd; + HEAP32[$1>>2] = $pSize; + $2 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ((($3)) + 8|0); + $5 = $4; + $6 = $5; + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + 4)|0; + $9 = $8; + $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$1>>2]|0; - $12 = $11 >>> 8; - $13 = $12&255; - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 2|0); - HEAP8[$15>>0] = $13; - $16 = HEAP32[$1>>2]|0; - $17 = $16&255; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 3|0); - HEAP8[$19>>0] = $17; - STACKTOP = sp;return; + $12 = $11; + $13 = $12; + HEAP32[$13>>2] = $7; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $10; + STACKTOP = sp;return 0; } -function _sqlite3PagerExclusiveLock($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3MemJournalOpen($pJfd) { + $pJfd = $pJfd|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; + $p = sp; + HEAP32[$0>>2] = $pJfd; $1 = HEAP32[$0>>2]|0; - $2 = (_pagerUseWal($1)|0); - $3 = (0)==($2|0); - if (!($3)) { - $6 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($6|0); - } - $4 = HEAP32[$0>>2]|0; - $5 = (_pager_wait_on_lock($4,4)|0); - HEAP32[$rc>>2] = $5; - $6 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($6|0); + HEAP32[$p>>2] = $1; + $2 = HEAP32[$p>>2]|0; + $3 = (_sqlite3MemJournalSize()|0); + _memset(($2|0),0,($3|0))|0; + $4 = HEAP32[$p>>2]|0; + HEAP32[$4>>2] = 2020; + STACKTOP = sp;return; } -function _writeJournalHdr($pPager) { +function _sqlite3MemJournalSize() { + var label = 0, sp = 0; + sp = STACKTOP; + return 40; +} +function _sqlite3PagerSavepoint($pPager,$op,$iSavepoint) { $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ii = 0, $nHeader = 0, $nWrite = 0, $rc = 0; - var $zHeader = 0, dest = 0, label = 0, sp = 0, stop = 0; + $op = $op|0; + $iSavepoint = $iSavepoint|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $ii = 0, $nNew = 0, $pSavepoint = 0; + var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $rc = sp + 16|0; - $zHeader = sp + 12|0; - $nHeader = sp + 8|0; - $nWrite = sp + 4|0; - $ii = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $rc = sp + 24|0; + $ii = sp + 4|0; + $nNew = sp; + $pSavepoint = sp + 12|0; HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 200|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$zHeader>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 152|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$nHeader>>2] = $6; - $7 = HEAP32[$nHeader>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 148|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7>>>0)>($10>>>0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 148|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$nHeader>>2] = $14; + HEAP32[$1>>2] = $op; + HEAP32[$2>>2] = $iSavepoint; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 40|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$rc>>2] = $5; + $6 = HEAP32[$rc>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + $76 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($76|0); } - HEAP32[$ii>>2] = 0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 96|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + if (!($12)) { + $76 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($76|0); + } + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ($14|0)==(1); + $16 = $15 ? 0 : 1; + $17 = (($13) + ($16))|0; + HEAP32[$nNew>>2] = $17; + $18 = HEAP32[$nNew>>2]|0; + HEAP32[$ii>>2] = $18; while(1) { - $15 = HEAP32[$ii>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 96|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if (!($19)) { + $19 = HEAP32[$ii>>2]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 96|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)<($22|0); + if (!($23)) { break; } - $20 = HEAP32[$ii>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 92|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + (($20*48)|0)|0); - $25 = (($24) + 8|0); - $26 = $25; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = ($28|0)==(0); - $33 = ($31|0)==(0); - $34 = $32 & $33; - if ($34) { - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 72|0); - $37 = $36; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$ii>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 92|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + (($43*48)|0)|0); - $48 = (($47) + 8|0); - $49 = $48; - $50 = $49; - HEAP32[$50>>2] = $39; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $42; - } - $53 = HEAP32[$ii>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$ii>>2] = $54; + $24 = HEAP32[$ii>>2]|0; + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 92|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + (($24*48)|0)|0); + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + _sqlite3BitvecDestroy($30); + $31 = HEAP32[$ii>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$ii>>2] = $32; } - $55 = HEAP32[$0>>2]|0; - $56 = (_journalHdrOffset($55)|0); - $57 = tempRet0; - $58 = HEAP32[$0>>2]|0; - $59 = (($58) + 72|0); - $60 = $59; - $61 = $60; - HEAP32[$61>>2] = $56; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = $57; - $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 80|0); - $66 = $65; - $67 = $66; - HEAP32[$67>>2] = $56; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $57; - $70 = HEAP32[$0>>2]|0; - $71 = (($70) + 7|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = ($73|0)!=(0); - if ($74) { - label = 11; - } else { - $75 = HEAP32[$0>>2]|0; - $76 = (($75) + 5|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = ($78|0)==(4); - if ($79) { - label = 11; - } else { - $80 = HEAP32[$0>>2]|0; - $81 = (($80) + 60|0); - $82 = HEAP32[$81>>2]|0; - $83 = (_sqlite3OsDeviceCharacteristics($82)|0); - $84 = $83 & 512; - $85 = ($84|0)!=(0); - if ($85) { - label = 11; - } else { - $89 = HEAP32[$zHeader>>2]|0; - dest=$89+0|0; stop=dest+12|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $33 = HEAP32[$nNew>>2]|0; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 96|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$1>>2]|0; + $37 = ($36|0)==(1); + if (!($37)) { + $56 = HEAP32[$0>>2]|0; + $57 = (_pagerUseWal($56)|0); + $58 = ($57|0)!=(0); + if (!($58)) { + $59 = HEAP32[$0>>2]|0; + $60 = ((($59)) + 64|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)!=(0|0); + if (!($63)) { + $76 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($76|0); } } - } - if ((label|0) == 11) { - $86 = HEAP32[$zHeader>>2]|0; - ;HEAP8[$86+0>>0]=HEAP8[4384+0>>0]|0;HEAP8[$86+1>>0]=HEAP8[4384+1>>0]|0;HEAP8[$86+2>>0]=HEAP8[4384+2>>0]|0;HEAP8[$86+3>>0]=HEAP8[4384+3>>0]|0;HEAP8[$86+4>>0]=HEAP8[4384+4>>0]|0;HEAP8[$86+5>>0]=HEAP8[4384+5>>0]|0;HEAP8[$86+6>>0]=HEAP8[4384+6>>0]|0;HEAP8[$86+7>>0]=HEAP8[4384+7>>0]|0; - $87 = HEAP32[$zHeader>>2]|0; - $88 = (($87) + 8|0); - _sqlite3Put4byte($88,-1); - } - $90 = HEAP32[$0>>2]|0; - $91 = (($90) + 48|0); - _sqlite3_randomness(4,$91); - $92 = HEAP32[$zHeader>>2]|0; - $93 = (($92) + 12|0); - $94 = HEAP32[$0>>2]|0; - $95 = (($94) + 48|0); - $96 = HEAP32[$95>>2]|0; - _sqlite3Put4byte($93,$96); - $97 = HEAP32[$zHeader>>2]|0; - $98 = (($97) + 16|0); - $99 = HEAP32[$0>>2]|0; - $100 = (($99) + 28|0); - $101 = HEAP32[$100>>2]|0; - _sqlite3Put4byte($98,$101); - $102 = HEAP32[$zHeader>>2]|0; - $103 = (($102) + 20|0); - $104 = HEAP32[$0>>2]|0; - $105 = (($104) + 148|0); - $106 = HEAP32[$105>>2]|0; - _sqlite3Put4byte($103,$106); - $107 = HEAP32[$zHeader>>2]|0; - $108 = (($107) + 24|0); - $109 = HEAP32[$0>>2]|0; - $110 = (($109) + 152|0); - $111 = HEAP32[$110>>2]|0; - _sqlite3Put4byte($108,$111); - $112 = HEAP32[$zHeader>>2]|0; - $113 = (($112) + 28|0); - $114 = HEAP32[$nHeader>>2]|0; - $115 = (($114) - 28)|0; - _memset(($113|0),0,($115|0))|0; - HEAP32[$nWrite>>2] = 0; - while(1) { - $116 = HEAP32[$rc>>2]|0; - $117 = ($116|0)==(0); - if (!($117)) { - label = 17; - break; - } - $118 = HEAP32[$nWrite>>2]|0; - $119 = HEAP32[$0>>2]|0; - $120 = (($119) + 148|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($118>>>0)<($121>>>0); - if (!($122)) { - label = 17; - break; + $64 = HEAP32[$nNew>>2]|0; + $65 = ($64|0)==(0); + if ($65) { + $72 = 0; + } else { + $66 = HEAP32[$nNew>>2]|0; + $67 = (($66) - 1)|0; + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 92|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + (($67*48)|0)|0); + $72 = $71; } - $123 = HEAP32[$0>>2]|0; - $124 = (($123) + 64|0); - $125 = HEAP32[$124>>2]|0; - $126 = HEAP32[$zHeader>>2]|0; - $127 = HEAP32[$nHeader>>2]|0; - $128 = HEAP32[$0>>2]|0; - $129 = (($128) + 72|0); - $130 = $129; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (($130) + 4)|0; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (_sqlite3OsWrite($125,$126,$127,$132,$135)|0); - HEAP32[$rc>>2] = $136; - $137 = HEAP32[$nHeader>>2]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($138) + 72|0); - $140 = $139; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = (($140) + 4)|0; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (_i64Add(($142|0),($145|0),($137|0),0)|0); - $147 = tempRet0; - $148 = $139; - $149 = $148; - HEAP32[$149>>2] = $146; - $150 = (($148) + 4)|0; - $151 = $150; - HEAP32[$151>>2] = $147; - $152 = HEAP32[$nHeader>>2]|0; - $153 = HEAP32[$nWrite>>2]|0; - $154 = (($153) + ($152))|0; - HEAP32[$nWrite>>2] = $154; - } - if ((label|0) == 17) { - $155 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($155|0); + HEAP32[$pSavepoint>>2] = $72; + $73 = HEAP32[$0>>2]|0; + $74 = HEAP32[$pSavepoint>>2]|0; + $75 = (_pagerPlaybackSavepoint($73,$74)|0); + HEAP32[$rc>>2] = $75; + $76 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($76|0); } - return 0|0; -} -function _sqlite3PcacheClearSyncFlags($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $2; - while(1) { - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - break; - } - $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 24|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = $8 & -5; - $10 = $9&65535; - HEAP16[$6>>1] = $10; - $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 32|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; + $38 = HEAP32[$nNew>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $76 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($76|0); } - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 8|0); - HEAP32[$18>>2] = $16; - STACKTOP = sp;return; -} -function _pager_wait_on_lock($pPager,$locktype) { - $pPager = $pPager|0; - $locktype = $locktype|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $locktype; - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_pagerLockDb($2,$3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)==(5); - if (!($6)) { - label = 4; - break; - } - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 176|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 180|0); - $12 = HEAP32[$11>>2]|0; - $13 = (FUNCTION_TABLE_ii[$9 & 31]($12)|0); - $14 = ($13|0)!=(0); - if (!($14)) { - label = 4; - break; - } + $40 = HEAP32[$0>>2]|0; + $41 = ((($40)) + 68|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0|0); + if (!($44)) { + $76 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($76|0); } - if ((label|0) == 4) { - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); + $45 = HEAP32[$0>>2]|0; + $46 = ((($45)) + 68|0); + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3IsMemJournal($47)|0); + $49 = ($48|0)!=(0); + if ($49) { + $50 = HEAP32[$0>>2]|0; + $51 = ((($50)) + 68|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_sqlite3OsTruncate($52,0,0)|0); + HEAP32[$rc>>2] = $53; } - return 0|0; + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 52|0); + HEAP32[$55>>2] = 0; + $76 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($76|0); } -function _pagerLockDb($pPager,$eLock) { +function _pager_playback($pPager,$isHot) { $pPager = $pPager|0; - $eLock = $eLock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0; - var label = 0, sp = 0; + $isHot = $isHot|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $mxPg = 0, $nPlayback = 0, $nRec = 0, $needPagerReset = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pVfs = 0, $rc = 0, $res = 0, $szJ = 0, $u = 0; + var $vararg_buffer = 0, $vararg_ptr8 = 0, $zMaster = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 16|0; + $1 = sp + 32|0; + $pVfs = sp + 28|0; + $szJ = sp; + $nRec = sp + 20|0; + $u = sp + 24|0; + $mxPg = sp + 36|0; + $rc = sp + 40|0; + $res = sp + 44|0; + $zMaster = sp + 48|0; + $needPagerReset = sp + 52|0; + $nPlayback = sp + 56|0; HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $eLock; - HEAP32[$rc>>2] = 0; + HEAP32[$1>>2] = $isHot; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 17|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = HEAP32[$1>>2]|0; - $7 = ($5|0)<($6|0); - if (!($7)) { - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 17|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(5); - if (!($12)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pVfs>>2] = $3; + HEAP32[$mxPg>>2] = 0; + HEAP32[$res>>2] = 1; + HEAP32[$zMaster>>2] = 0; + HEAP32[$nPlayback>>2] = 0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 64|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3OsFileSize($6,$szJ)|0); + HEAP32[$rc>>2] = $7; + $8 = HEAP32[$rc>>2]|0; + $9 = ($8|0)!=(0); + L1: do { + if (!($9)) { + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 200|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$zMaster>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 64|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$zMaster>>2]|0; + $17 = HEAP32[$0>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + 1)|0; + $22 = (_readMasterJournal($15,$16,$21)|0); + HEAP32[$rc>>2] = $22; + $23 = HEAP32[$rc>>2]|0; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$zMaster>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$pVfs>>2]|0; + $30 = HEAP32[$zMaster>>2]|0; + $31 = (_sqlite3OsAccess($29,$30,0,$res)|0); + HEAP32[$rc>>2] = $31; + } + } + HEAP32[$zMaster>>2] = 0; + $32 = HEAP32[$rc>>2]|0; + $33 = ($32|0)==(0); + $34 = HEAP32[$res>>2]|0; + $35 = ($34|0)!=(0); + $or$cond = $33 & $35; + if ($or$cond) { + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 72|0); + $38 = $37; + $39 = $38; + HEAP32[$39>>2] = 0; + $40 = (($38) + 4)|0; + $41 = $40; + HEAP32[$41>>2] = 0; + $42 = HEAP32[$1>>2]|0; + HEAP32[$needPagerReset>>2] = $42; + L8: while(1) { + $43 = HEAP32[$0>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = $szJ; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (_readJournalHdr($43,$44,$47,$50,$nRec,$mxPg)|0); + HEAP32[$rc>>2] = $51; + $52 = HEAP32[$rc>>2]|0; + $53 = ($52|0)!=(0); + if ($53) { + label = 8; + break; + } + $56 = HEAP32[$nRec>>2]|0; + $57 = ($56|0)==(-1); + if ($57) { + $58 = $szJ; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$0>>2]|0; + $65 = ((($64)) + 148|0); + $66 = HEAP32[$65>>2]|0; + $67 = (_i64Subtract(($60|0),($63|0),($66|0),0)|0); + $68 = tempRet0; + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 152|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($71) + 8)|0; + $73 = ($72|0)<(0); + $74 = $73 << 31 >> 31; + $75 = (___divdi3(($67|0),($68|0),($72|0),($74|0))|0); + $76 = tempRet0; + HEAP32[$nRec>>2] = $75; + } + $77 = HEAP32[$nRec>>2]|0; + $78 = ($77|0)!=(0); + $79 = HEAP32[$1>>2]|0; + $80 = ($79|0)!=(0); + $or$cond3 = $78 | $80; + if (!($or$cond3)) { + $81 = HEAP32[$0>>2]|0; + $82 = ((($81)) + 80|0); + $83 = $82; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$0>>2]|0; + $90 = ((($89)) + 148|0); + $91 = HEAP32[$90>>2]|0; + $92 = (_i64Add(($85|0),($88|0),($91|0),0)|0); + $93 = tempRet0; + $94 = HEAP32[$0>>2]|0; + $95 = ((($94)) + 72|0); + $96 = $95; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (($96) + 4)|0; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = ($92|0)==($98|0); + $103 = ($93|0)==($101|0); + $104 = $102 & $103; + if ($104) { + $105 = $szJ; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$0>>2]|0; + $112 = ((($111)) + 72|0); + $113 = $112; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (_i64Subtract(($107|0),($110|0),($115|0),($118|0))|0); + $120 = tempRet0; + $121 = HEAP32[$0>>2]|0; + $122 = ((($121)) + 152|0); + $123 = HEAP32[$122>>2]|0; + $124 = (($123) + 8)|0; + $125 = ($124|0)<(0); + $126 = $125 << 31 >> 31; + $127 = (___divdi3(($119|0),($120|0),($124|0),($126|0))|0); + $128 = tempRet0; + HEAP32[$nRec>>2] = $127; + } + } + $129 = HEAP32[$0>>2]|0; + $130 = ((($129)) + 72|0); + $131 = $130; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$0>>2]|0; + $138 = ((($137)) + 148|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($133|0)==($139|0); + $141 = ($136|0)==(0); + $142 = $140 & $141; + if ($142) { + $143 = HEAP32[$0>>2]|0; + $144 = HEAP32[$mxPg>>2]|0; + $145 = (_pager_truncate($143,$144)|0); + HEAP32[$rc>>2] = $145; + $146 = HEAP32[$rc>>2]|0; + $147 = ($146|0)!=(0); + if ($147) { + break L1; + } + $148 = HEAP32[$mxPg>>2]|0; + $149 = HEAP32[$0>>2]|0; + $150 = ((($149)) + 24|0); + HEAP32[$150>>2] = $148; + } + HEAP32[$u>>2] = 0; + while(1) { + $151 = HEAP32[$u>>2]|0; + $152 = HEAP32[$nRec>>2]|0; + $153 = ($151>>>0)<($152>>>0); + if (!($153)) { + continue L8; + } + $154 = HEAP32[$needPagerReset>>2]|0; + $155 = ($154|0)!=(0); + if ($155) { + $156 = HEAP32[$0>>2]|0; + _pager_reset($156); + HEAP32[$needPagerReset>>2] = 0; + } + $157 = HEAP32[$0>>2]|0; + $158 = HEAP32[$0>>2]|0; + $159 = ((($158)) + 72|0); + $160 = (_pager_playback_one_page($157,$159,0,1,0)|0); + HEAP32[$rc>>2] = $160; + $161 = HEAP32[$rc>>2]|0; + $162 = ($161|0)==(0); + if (!($162)) { + break; + } + $163 = HEAP32[$nPlayback>>2]|0; + $164 = (($163) + 1)|0; + HEAP32[$nPlayback>>2] = $164; + $165 = HEAP32[$u>>2]|0; + $166 = (($165) + 1)|0; + HEAP32[$u>>2] = $166; + } + $167 = HEAP32[$rc>>2]|0; + $168 = ($167|0)==(101); + if (!($168)) { + label = 26; + break; + } + $169 = $szJ; + $170 = $169; + $171 = HEAP32[$170>>2]|0; + $172 = (($169) + 4)|0; + $173 = $172; + $174 = HEAP32[$173>>2]|0; + $175 = HEAP32[$0>>2]|0; + $176 = ((($175)) + 72|0); + $177 = $176; + $178 = $177; + HEAP32[$178>>2] = $171; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $174; + } + if ((label|0) == 8) { + $54 = HEAP32[$rc>>2]|0; + $55 = ($54|0)==(101); + if (!($55)) { + break; + } + HEAP32[$rc>>2] = 0; + break; + } + else if ((label|0) == 26) { + $181 = HEAP32[$rc>>2]|0; + $182 = ($181|0)==(522); + if (!($182)) { + break; + } + HEAP32[$rc>>2] = 0; + break; + } + } } + } while(0); + $183 = HEAP32[$0>>2]|0; + $184 = ((($183)) + 12|0); + $185 = HEAP8[$184>>0]|0; + $186 = HEAP32[$0>>2]|0; + $187 = ((($186)) + 18|0); + HEAP8[$187>>0] = $185; + $188 = HEAP32[$rc>>2]|0; + $189 = ($188|0)==(0); + if ($189) { + $190 = HEAP32[$0>>2]|0; + $191 = ((($190)) + 200|0); + $192 = HEAP32[$191>>2]|0; + HEAP32[$zMaster>>2] = $192; + $193 = HEAP32[$0>>2]|0; + $194 = ((($193)) + 64|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$zMaster>>2]|0; + $197 = HEAP32[$0>>2]|0; + $198 = HEAP32[$197>>2]|0; + $199 = ((($198)) + 8|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + 1)|0; + $202 = (_readMasterJournal($195,$196,$201)|0); + HEAP32[$rc>>2] = $202; } - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 13|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(0); - if ($17) { - $23 = 0; - } else { - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 60|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = (_sqlite3OsLock($20,$21)|0); - $23 = $22; + $203 = HEAP32[$rc>>2]|0; + $204 = ($203|0)==(0); + do { + if ($204) { + $205 = HEAP32[$0>>2]|0; + $206 = ((($205)) + 16|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $209 = ($208|0)>=(4); + if (!($209)) { + $210 = HEAP32[$0>>2]|0; + $211 = ((($210)) + 16|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $214 = ($213|0)==(0); + if (!($214)) { + break; + } + } + $215 = HEAP32[$0>>2]|0; + $216 = (_sqlite3PagerSync($215,0)|0); + HEAP32[$rc>>2] = $216; + } + } while(0); + $217 = HEAP32[$rc>>2]|0; + $218 = ($217|0)==(0); + if ($218) { + $219 = HEAP32[$0>>2]|0; + $220 = HEAP32[$zMaster>>2]|0; + $221 = HEAP8[$220>>0]|0; + $222 = $221 << 24 >> 24; + $223 = ($222|0)!=(0); + $224 = $223&1; + $225 = (_pager_end_transaction($219,$224,0)|0); + HEAP32[$rc>>2] = $225; } - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - $25 = ($24|0)==(0); - if (!($25)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $226 = HEAP32[$rc>>2]|0; + $227 = ($226|0)==(0); + if ($227) { + $228 = HEAP32[$zMaster>>2]|0; + $229 = HEAP8[$228>>0]|0; + $230 = $229 << 24 >> 24; + $231 = ($230|0)!=(0); + $232 = HEAP32[$res>>2]|0; + $233 = ($232|0)!=(0); + $or$cond5 = $231 & $233; + if ($or$cond5) { + $234 = HEAP32[$0>>2]|0; + $235 = HEAP32[$zMaster>>2]|0; + $236 = (_pager_delmaster($234,$235)|0); + HEAP32[$rc>>2] = $236; + } } - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 17|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = ($29|0)!=(5); - $31 = HEAP32[$1>>2]|0; - $32 = ($31|0)==(4); - $or$cond = $30 | $32; - if (!($or$cond)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $237 = HEAP32[$1>>2]|0; + $238 = ($237|0)!=(0); + $239 = HEAP32[$nPlayback>>2]|0; + $240 = ($239|0)!=(0); + $or$cond7 = $238 & $240; + if (!($or$cond7)) { + $245 = HEAP32[$0>>2]|0; + _setSectorSize($245); + $246 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($246|0); } - $33 = HEAP32[$1>>2]|0; - $34 = $33&255; - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 17|0); - HEAP8[$36>>0] = $34; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $241 = HEAP32[$nPlayback>>2]|0; + $242 = HEAP32[$0>>2]|0; + $243 = ((($242)) + 172|0); + $244 = HEAP32[$243>>2]|0; + HEAP32[$vararg_buffer>>2] = $241; + $vararg_ptr8 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $244; + _sqlite3_log(539,17393,$vararg_buffer); + $245 = HEAP32[$0>>2]|0; + _setSectorSize($245); + $246 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($246|0); } -function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags) { - $pWal = $pWal|0; - $szPage = $szPage|0; - $pList = $pList|0; - $nTruncate = $nTruncate|0; - $isCommit = $isCommit|0; - $sync_flags = $sync_flags|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aCksum = 0, $aWalHdr = 0, $iFrame = 0, $iOffset = 0, $nDbSize = 0, $nExtra = 0, $or$cond = 0, $or$cond3 = 0; - var $or$cond5 = 0, $p = 0, $pLast = 0, $rc = 0, $sectorSize = 0, $sz = 0, $szFrame = 0, $w = 0, label = 0, sp = 0; +function _readMasterJournal($pJrnl,$zMaster,$nMaster) { + $pJrnl = $pJrnl|0; + $zMaster = $zMaster|0; + $nMaster = $nMaster|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $aMagic = 0, $cksum = 0, $len = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0; + var $szJ = 0, $u = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $3 = sp + 92|0; - $4 = sp + 88|0; - $5 = sp + 84|0; - $6 = sp + 80|0; - $rc = sp + 76|0; - $iFrame = sp + 72|0; - $p = sp + 68|0; - $pLast = sp + 64|0; - $nExtra = sp + 60|0; - $szFrame = sp + 56|0; - $iOffset = sp + 32|0; - $w = sp + 8|0; - $aWalHdr = sp + 112|0; - $aCksum = sp + 48|0; - $nDbSize = sp + 44|0; - $sectorSize = sp + 40|0; - $sz = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $szPage; - HEAP32[$3>>2] = $pList; - HEAP32[$4>>2] = $nTruncate; - HEAP32[$5>>2] = $isCommit; - HEAP32[$6>>2] = $sync_flags; - HEAP32[$pLast>>2] = 0; - HEAP32[$nExtra>>2] = 0; - $7 = HEAP32[$1>>2]|0; - $8 = (_walRestartLog($7)|0); - HEAP32[$rc>>2] = $8; - $9 = (0)!=($8|0); - if ($9) { - $10 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $10; - $410 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($410|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 52|0); - $13 = (($12) + 16|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$iFrame>>2] = $14; - $15 = HEAP32[$iFrame>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - $17 = HEAP8[1136>>0]|0; - $18 = $17 << 24 >> 24; - $19 = ($18|0)==(0); - $20 = $19&1; - $21 = 931071618 | $20; - _sqlite3Put4byte($aWalHdr,$21); - $22 = (($aWalHdr) + 4|0); - _sqlite3Put4byte($22,3007000); - $23 = (($aWalHdr) + 8|0); - $24 = HEAP32[$2>>2]|0; - _sqlite3Put4byte($23,$24); - $25 = (($aWalHdr) + 12|0); - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 104|0); - $28 = HEAP32[$27>>2]|0; - _sqlite3Put4byte($25,$28); - $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 104|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 52|0); - $35 = (($34) + 32|0); - _sqlite3_randomness(8,$35); - } - $36 = (($aWalHdr) + 16|0); - $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 52|0); - $39 = (($38) + 32|0); - ;HEAP8[$36+0>>0]=HEAP8[$39+0>>0]|0;HEAP8[$36+1>>0]=HEAP8[$39+1>>0]|0;HEAP8[$36+2>>0]=HEAP8[$39+2>>0]|0;HEAP8[$36+3>>0]=HEAP8[$39+3>>0]|0;HEAP8[$36+4>>0]=HEAP8[$39+4>>0]|0;HEAP8[$36+5>>0]=HEAP8[$39+5>>0]|0;HEAP8[$36+6>>0]=HEAP8[$39+6>>0]|0;HEAP8[$36+7>>0]=HEAP8[$39+7>>0]|0; - _walChecksumBytes(1,$aWalHdr,24,0,$aCksum); - $40 = (($aWalHdr) + 24|0); - $41 = HEAP32[$aCksum>>2]|0; - _sqlite3Put4byte($40,$41); - $42 = (($aWalHdr) + 28|0); - $43 = (($aCksum) + 4|0); - $44 = HEAP32[$43>>2]|0; - _sqlite3Put4byte($42,$44); - $45 = HEAP32[$2>>2]|0; - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 36|0); - HEAP32[$47>>2] = $45; - $48 = HEAP8[1136>>0]|0; - $49 = $48 << 24 >> 24; - $50 = ($49|0)==(0); - $51 = $50&1; - $52 = $51&255; - $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 52|0); - $55 = (($54) + 13|0); - HEAP8[$55>>0] = $52; - $56 = HEAP32[$aCksum>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 52|0); - $59 = (($58) + 24|0); - HEAP32[$59>>2] = $56; - $60 = (($aCksum) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 52|0); - $64 = (($63) + 24|0); - $65 = (($64) + 4|0); - HEAP32[$65>>2] = $61; - $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 47|0); - HEAP8[$67>>0] = 1; - $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3OsWrite($70,$aWalHdr,32,0,0)|0); - HEAP32[$rc>>2] = $71; - $72 = HEAP32[$rc>>2]|0; - $73 = ($72|0)!=(0); - if ($73) { - $74 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $74; - $410 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($410|0); - } - $75 = HEAP32[$1>>2]|0; - $76 = (($75) + 48|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = ($78|0)!=(0); - $80 = HEAP32[$6>>2]|0; - $81 = ($80|0)!=(0); - $or$cond = $79 & $81; - if ($or$cond) { - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 8|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$6>>2]|0; - $86 = $85 & 19; - $87 = (_sqlite3OsSync($84,$86)|0); - HEAP32[$rc>>2] = $87; - $88 = HEAP32[$rc>>2]|0; - $89 = ($88|0)!=(0); - if ($89) { - $90 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $90; - $410 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($410|0); + STACKTOP = STACKTOP + 48|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 24|0; + $rc = sp + 32|0; + $len = sp + 8|0; + $szJ = sp; + $cksum = sp + 28|0; + $u = sp + 20|0; + $aMagic = sp + 40|0; + HEAP32[$1>>2] = $pJrnl; + HEAP32[$2>>2] = $zMaster; + HEAP32[$3>>2] = $nMaster; + $4 = HEAP32[$2>>2]|0; + HEAP8[$4>>0] = 0; + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3OsFileSize($5,$szJ)|0); + HEAP32[$rc>>2] = $6; + $7 = (0)!=($6|0); + $8 = $szJ; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)<(0); + $15 = ($10>>>0)<(16); + $16 = ($13|0)==(0); + $17 = $16 & $15; + $18 = $14 | $17; + $or$cond = $7 | $18; + if (!($or$cond)) { + $19 = HEAP32[$1>>2]|0; + $20 = $szJ; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (_i64Subtract(($22|0),($25|0),16,0)|0); + $27 = tempRet0; + $28 = (_read32bits($19,$26,$27,$len)|0); + HEAP32[$rc>>2] = $28; + $29 = (0)!=($28|0); + if (!($29)) { + $30 = HEAP32[$len>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ($30>>>0)>=($31>>>0); + $33 = HEAP32[$len>>2]|0; + $34 = ($33|0)==(0); + $or$cond3 = $32 | $34; + if (!($or$cond3)) { + $35 = HEAP32[$1>>2]|0; + $36 = $szJ; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (_i64Subtract(($38|0),($41|0),12,0)|0); + $43 = tempRet0; + $44 = (_read32bits($35,$42,$43,$cksum)|0); + HEAP32[$rc>>2] = $44; + $45 = (0)!=($44|0); + if (!($45)) { + $46 = HEAP32[$1>>2]|0; + $47 = $szJ; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (_i64Subtract(($49|0),($52|0),8,0)|0); + $54 = tempRet0; + $55 = (_sqlite3OsRead($46,$aMagic,8,$53,$54)|0); + HEAP32[$rc>>2] = $55; + $56 = (0)!=($55|0); + if (!($56)) { + $57 = (_memcmp($aMagic,17420,8)|0); + $58 = ($57|0)!=(0); + if (!($58)) { + $59 = HEAP32[$1>>2]|0; + $60 = HEAP32[$2>>2]|0; + $61 = HEAP32[$len>>2]|0; + $62 = $szJ; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (_i64Subtract(($64|0),($67|0),16,0)|0); + $69 = tempRet0; + $70 = HEAP32[$len>>2]|0; + $71 = (_i64Subtract(($68|0),($69|0),($70|0),0)|0); + $72 = tempRet0; + $73 = (_sqlite3OsRead($59,$60,$61,$71,$72)|0); + HEAP32[$rc>>2] = $73; + $74 = (0)!=($73|0); + if (!($74)) { + HEAP32[$u>>2] = 0; + while(1) { + $76 = HEAP32[$u>>2]|0; + $77 = HEAP32[$len>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if (!($78)) { + break; + } + $79 = HEAP32[$u>>2]|0; + $80 = HEAP32[$2>>2]|0; + $81 = (($80) + ($79)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82 << 24 >> 24; + $84 = HEAP32[$cksum>>2]|0; + $85 = (($84) - ($83))|0; + HEAP32[$cksum>>2] = $85; + $86 = HEAP32[$u>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$u>>2] = $87; + } + $88 = HEAP32[$cksum>>2]|0; + $89 = ($88|0)!=(0); + if ($89) { + HEAP32[$len>>2] = 0; + } + $90 = HEAP32[$len>>2]|0; + $91 = HEAP32[$2>>2]|0; + $92 = (($91) + ($90)|0); + HEAP8[$92>>0] = 0; + HEAP32[$0>>2] = 0; + $93 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($93|0); + } + } + } + } } } } - $91 = HEAP32[$1>>2]|0; - HEAP32[$w>>2] = $91; - $92 = HEAP32[$1>>2]|0; - $93 = (($92) + 8|0); - $94 = HEAP32[$93>>2]|0; - $95 = (($w) + 4|0); - HEAP32[$95>>2] = $94; - $96 = (($w) + 8|0); - $97 = $96; - $98 = $97; - HEAP32[$98>>2] = 0; - $99 = (($97) + 4)|0; - $100 = $99; - HEAP32[$100>>2] = 0; - $101 = HEAP32[$6>>2]|0; - $102 = (($w) + 16|0); - HEAP32[$102>>2] = $101; - $103 = HEAP32[$2>>2]|0; - $104 = (($w) + 20|0); - HEAP32[$104>>2] = $103; - $105 = HEAP32[$iFrame>>2]|0; - $106 = (($105) + 1)|0; - $107 = (($106) - 1)|0; - $108 = HEAP32[$2>>2]|0; - $109 = (($108) + 24)|0; - $110 = ($109|0)<(0); - $111 = $110 << 31 >> 31; - $112 = (___muldi3(($107|0),0,($109|0),($111|0))|0); - $113 = tempRet0; - $114 = (_i64Add(32,0,($112|0),($113|0))|0); - $115 = tempRet0; - $116 = $iOffset; - $117 = $116; - HEAP32[$117>>2] = $114; - $118 = (($116) + 4)|0; - $119 = $118; - HEAP32[$119>>2] = $115; - $120 = HEAP32[$2>>2]|0; - $121 = (($120) + 24)|0; - HEAP32[$szFrame>>2] = $121; - $122 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $122; - while(1) { - $123 = HEAP32[$p>>2]|0; - $124 = ($123|0)!=(0|0); - if (!($124)) { - break; - } - $125 = HEAP32[$iFrame>>2]|0; - $126 = (($125) + 1)|0; - HEAP32[$iFrame>>2] = $126; - $127 = HEAP32[$5>>2]|0; - $128 = ($127|0)!=(0); - if ($128) { - $129 = HEAP32[$p>>2]|0; - $130 = (($129) + 12|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)==(0|0); - $133 = HEAP32[$4>>2]|0; - $$ = $132 ? $133 : 0; - $134 = $$; - } else { - $134 = 0; - } - HEAP32[$nDbSize>>2] = $134; - $135 = HEAP32[$p>>2]|0; - $136 = HEAP32[$nDbSize>>2]|0; - $137 = $iOffset; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = (($137) + 4)|0; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = (_walWriteOneFrame($w,$135,$136,$139,$142)|0); - HEAP32[$rc>>2] = $143; - $144 = HEAP32[$rc>>2]|0; - $145 = ($144|0)!=(0); - if ($145) { - label = 16; - break; - } - $147 = HEAP32[$p>>2]|0; - HEAP32[$pLast>>2] = $147; - $148 = HEAP32[$szFrame>>2]|0; - $149 = ($148|0)<(0); - $150 = $149 << 31 >> 31; - $151 = $iOffset; - $152 = $151; - $153 = HEAP32[$152>>2]|0; - $154 = (($151) + 4)|0; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (_i64Add(($153|0),($156|0),($148|0),($150|0))|0); - $158 = tempRet0; - $159 = $iOffset; - $160 = $159; - HEAP32[$160>>2] = $157; - $161 = (($159) + 4)|0; - $162 = $161; - HEAP32[$162>>2] = $158; - $163 = HEAP32[$p>>2]|0; - $164 = (($163) + 12|0); - $165 = HEAP32[$164>>2]|0; - HEAP32[$p>>2] = $165; - } - if ((label|0) == 16) { - $146 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $146; - $410 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($410|0); - } - $166 = HEAP32[$5>>2]|0; - $167 = ($166|0)!=(0); - L29: do { - if ($167) { - $168 = HEAP32[$6>>2]|0; - $169 = $168 & 32; - $170 = ($169|0)!=(0); - if ($170) { - $171 = HEAP32[$1>>2]|0; - $172 = (($171) + 49|0); - $173 = HEAP8[$172>>0]|0; - $174 = ($173<<24>>24)!=(0); - if (!($174)) { - $254 = (($w) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = HEAP32[$6>>2]|0; - $257 = $256 & 19; - $258 = (_sqlite3OsSync($255,$257)|0); - HEAP32[$rc>>2] = $258; - break; - } - $175 = HEAP32[$1>>2]|0; - $176 = (($175) + 8|0); - $177 = HEAP32[$176>>2]|0; - $178 = (_sqlite3SectorSize($177)|0); - HEAP32[$sectorSize>>2] = $178; - $179 = $iOffset; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = (($179) + 4)|0; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = HEAP32[$sectorSize>>2]|0; - $186 = ($185|0)<(0); - $187 = $186 << 31 >> 31; - $188 = (_i64Add(($181|0),($184|0),($185|0),($187|0))|0); - $189 = tempRet0; - $190 = (_i64Subtract(($188|0),($189|0),1,0)|0); - $191 = tempRet0; - $192 = HEAP32[$sectorSize>>2]|0; - $193 = ($192|0)<(0); - $194 = $193 << 31 >> 31; - $195 = (___divdi3(($190|0),($191|0),($192|0),($194|0))|0); - $196 = tempRet0; - $197 = HEAP32[$sectorSize>>2]|0; - $198 = ($197|0)<(0); - $199 = $198 << 31 >> 31; - $200 = (___muldi3(($195|0),($196|0),($197|0),($199|0))|0); - $201 = tempRet0; - $202 = (($w) + 8|0); - $203 = $202; - $204 = $203; - HEAP32[$204>>2] = $200; - $205 = (($203) + 4)|0; - $206 = $205; - HEAP32[$206>>2] = $201; - while(1) { - $207 = $iOffset; - $208 = $207; - $209 = HEAP32[$208>>2]|0; - $210 = (($207) + 4)|0; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($w) + 8|0); - $214 = $213; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = (($214) + 4)|0; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = ($212|0)<($219|0); - $221 = ($209>>>0)<($216>>>0); - $222 = ($212|0)==($219|0); - $223 = $222 & $221; - $224 = $220 | $223; - if (!($224)) { - break L29; - } - $225 = HEAP32[$pLast>>2]|0; - $226 = HEAP32[$4>>2]|0; - $227 = $iOffset; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = (($227) + 4)|0; - $231 = $230; - $232 = HEAP32[$231>>2]|0; - $233 = (_walWriteOneFrame($w,$225,$226,$229,$232)|0); - HEAP32[$rc>>2] = $233; - $234 = HEAP32[$rc>>2]|0; - $235 = ($234|0)!=(0); - if ($235) { - break; - } - $237 = HEAP32[$szFrame>>2]|0; - $238 = ($237|0)<(0); - $239 = $238 << 31 >> 31; - $240 = $iOffset; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = (($240) + 4)|0; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = (_i64Add(($242|0),($245|0),($237|0),($239|0))|0); - $247 = tempRet0; - $248 = $iOffset; - $249 = $248; - HEAP32[$249>>2] = $246; - $250 = (($248) + 4)|0; - $251 = $250; - HEAP32[$251>>2] = $247; - $252 = HEAP32[$nExtra>>2]|0; - $253 = (($252) + 1)|0; - HEAP32[$nExtra>>2] = $253; - } - $236 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $236; - $410 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($410|0); - } - } - } while(0); - $259 = HEAP32[$5>>2]|0; - $260 = ($259|0)!=(0); - if ($260) { - $261 = HEAP32[$1>>2]|0; - $262 = (($261) + 47|0); - $263 = HEAP8[$262>>0]|0; - $264 = $263&255; - $265 = ($264|0)!=(0); - if ($265) { - $266 = HEAP32[$1>>2]|0; - $267 = (($266) + 16|0); - $268 = $267; - $269 = $268; - $270 = HEAP32[$269>>2]|0; - $271 = (($268) + 4)|0; - $272 = $271; - $273 = HEAP32[$272>>2]|0; - $274 = ($273|0)>(0); - $275 = ($270>>>0)>=(0); - $276 = ($273|0)==(0); - $277 = $276 & $275; - $278 = $274 | $277; - if ($278) { - $279 = HEAP32[$1>>2]|0; - $280 = (($279) + 16|0); - $281 = $280; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - $284 = (($281) + 4)|0; - $285 = $284; - $286 = HEAP32[$285>>2]|0; - $287 = $sz; - $288 = $287; - HEAP32[$288>>2] = $283; - $289 = (($287) + 4)|0; - $290 = $289; - HEAP32[$290>>2] = $286; - $291 = HEAP32[$iFrame>>2]|0; - $292 = HEAP32[$nExtra>>2]|0; - $293 = (($291) + ($292))|0; - $294 = (($293) + 1)|0; - $295 = (($294) - 1)|0; - $296 = HEAP32[$2>>2]|0; - $297 = (($296) + 24)|0; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (___muldi3(($295|0),0,($297|0),($299|0))|0); - $301 = tempRet0; - $302 = (_i64Add(32,0,($300|0),($301|0))|0); - $303 = tempRet0; - $304 = HEAP32[$1>>2]|0; - $305 = (($304) + 16|0); - $306 = $305; - $307 = $306; - $308 = HEAP32[$307>>2]|0; - $309 = (($306) + 4)|0; - $310 = $309; - $311 = HEAP32[$310>>2]|0; - $312 = ($303|0)>($311|0); - $313 = ($302>>>0)>($308>>>0); - $314 = ($303|0)==($311|0); - $315 = $314 & $313; - $316 = $312 | $315; - if ($316) { - $317 = HEAP32[$iFrame>>2]|0; - $318 = HEAP32[$nExtra>>2]|0; - $319 = (($317) + ($318))|0; - $320 = (($319) + 1)|0; - $321 = (($320) - 1)|0; - $322 = HEAP32[$2>>2]|0; - $323 = (($322) + 24)|0; - $324 = ($323|0)<(0); - $325 = $324 << 31 >> 31; - $326 = (___muldi3(($321|0),0,($323|0),($325|0))|0); - $327 = tempRet0; - $328 = (_i64Add(32,0,($326|0),($327|0))|0); - $329 = tempRet0; - $330 = $sz; - $331 = $330; - HEAP32[$331>>2] = $328; - $332 = (($330) + 4)|0; - $333 = $332; - HEAP32[$333>>2] = $329; - } - $334 = HEAP32[$1>>2]|0; - $335 = $sz; - $336 = $335; - $337 = HEAP32[$336>>2]|0; - $338 = (($335) + 4)|0; - $339 = $338; - $340 = HEAP32[$339>>2]|0; - _walLimitSize($334,$337,$340); - $341 = HEAP32[$1>>2]|0; - $342 = (($341) + 47|0); - HEAP8[$342>>0] = 0; - } - } + $75 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $75; + $93 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($93|0); +} +function _sqlite3OsAccess($pVfs,$zPath,$flags,$pResOut) { + $pVfs = $pVfs|0; + $zPath = $zPath|0; + $flags = $flags|0; + $pResOut = $pResOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $zPath; + HEAP32[$2>>2] = $flags; + HEAP32[$3>>2] = $pResOut; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 32|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = (FUNCTION_TABLE_iiiii[$6 & 15]($7,$8,$9,$10)|0); + STACKTOP = sp;return ($11|0); +} +function _readJournalHdr($pPager,$isHot,$0,$1,$pNRec,$pDbSize) { + $pPager = $pPager|0; + $isHot = $isHot|0; + $0 = $0|0; + $1 = $1|0; + $pNRec = $pNRec|0; + $pDbSize = $pDbSize|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aMagic = 0, $iHdrOff = 0; + var $iPageSize = 0, $iSectorSize = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 16|0; + $3 = sp + 32|0; + $4 = sp + 20|0; + $5 = sp + 8|0; + $6 = sp + 40|0; + $7 = sp + 44|0; + $rc = sp + 24|0; + $aMagic = sp + 48|0; + $iHdrOff = sp; + $iPageSize = sp + 28|0; + $iSectorSize = sp + 36|0; + HEAP32[$3>>2] = $pPager; + HEAP32[$4>>2] = $isHot; + $8 = $5; + $9 = $8; + HEAP32[$9>>2] = $0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $1; + HEAP32[$6>>2] = $pNRec; + HEAP32[$7>>2] = $pDbSize; + $12 = HEAP32[$3>>2]|0; + $13 = (_journalHdrOffset($12)|0); + $14 = tempRet0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 72|0); + $17 = $16; + $18 = $17; + HEAP32[$18>>2] = $13; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $14; + $21 = HEAP32[$3>>2]|0; + $22 = ((($21)) + 72|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 148|0); + $31 = HEAP32[$30>>2]|0; + $32 = (_i64Add(($25|0),($28|0),($31|0),0)|0); + $33 = tempRet0; + $34 = $5; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = ($33|0)>($39|0); + $41 = ($32>>>0)>($36>>>0); + $42 = ($33|0)==($39|0); + $43 = $42 & $41; + $44 = $40 | $43; + if ($44) { + HEAP32[$2>>2] = 101; + $219 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($219|0); } - $343 = HEAP32[$1>>2]|0; - $344 = (($343) + 52|0); - $345 = (($344) + 16|0); - $346 = HEAP32[$345>>2]|0; - HEAP32[$iFrame>>2] = $346; - $347 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $347; - while(1) { - $348 = HEAP32[$p>>2]|0; - $349 = ($348|0)!=(0|0); - $350 = HEAP32[$rc>>2]|0; - $351 = ($350|0)==(0); - $or$cond3 = $349 & $351; - if (!($or$cond3)) { - break; + $45 = HEAP32[$3>>2]|0; + $46 = ((($45)) + 72|0); + $47 = $46; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $iHdrOff; + $54 = $53; + HEAP32[$54>>2] = $49; + $55 = (($53) + 4)|0; + $56 = $55; + HEAP32[$56>>2] = $52; + $57 = HEAP32[$4>>2]|0; + $58 = ($57|0)!=(0); + if ($58) { + label = 5; + } else { + $59 = $iHdrOff; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$3>>2]|0; + $66 = ((($65)) + 80|0); + $67 = $66; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = ($61|0)!=($69|0); + $74 = ($64|0)!=($72|0); + $75 = $73 | $74; + if ($75) { + label = 5; } - $352 = HEAP32[$iFrame>>2]|0; - $353 = (($352) + 1)|0; - HEAP32[$iFrame>>2] = $353; - $354 = HEAP32[$1>>2]|0; - $355 = HEAP32[$iFrame>>2]|0; - $356 = HEAP32[$p>>2]|0; - $357 = (($356) + 20|0); - $358 = HEAP32[$357>>2]|0; - $359 = (_walIndexAppend($354,$355,$358)|0); - HEAP32[$rc>>2] = $359; - $360 = HEAP32[$p>>2]|0; - $361 = (($360) + 12|0); - $362 = HEAP32[$361>>2]|0; - HEAP32[$p>>2] = $362; } - while(1) { - $363 = HEAP32[$rc>>2]|0; - $364 = ($363|0)==(0); - $365 = HEAP32[$nExtra>>2]|0; - $366 = ($365|0)>(0); - $or$cond5 = $364 & $366; - if (!($or$cond5)) { - break; + if ((label|0) == 5) { + $76 = HEAP32[$3>>2]|0; + $77 = ((($76)) + 64|0); + $78 = HEAP32[$77>>2]|0; + $79 = $iHdrOff; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (_sqlite3OsRead($78,$aMagic,8,$81,$84)|0); + HEAP32[$rc>>2] = $85; + $86 = HEAP32[$rc>>2]|0; + $87 = ($86|0)!=(0); + if ($87) { + $88 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $88; + $219 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($219|0); } - $367 = HEAP32[$iFrame>>2]|0; - $368 = (($367) + 1)|0; - HEAP32[$iFrame>>2] = $368; - $369 = HEAP32[$nExtra>>2]|0; - $370 = (($369) + -1)|0; - HEAP32[$nExtra>>2] = $370; - $371 = HEAP32[$1>>2]|0; - $372 = HEAP32[$iFrame>>2]|0; - $373 = HEAP32[$pLast>>2]|0; - $374 = (($373) + 20|0); - $375 = HEAP32[$374>>2]|0; - $376 = (_walIndexAppend($371,$372,$375)|0); - HEAP32[$rc>>2] = $376; - } - $377 = HEAP32[$rc>>2]|0; - $378 = ($377|0)==(0); - if ($378) { - $379 = HEAP32[$2>>2]|0; - $380 = $379 & 65280; - $381 = HEAP32[$2>>2]|0; - $382 = $381 >> 16; - $383 = $380 | $382; - $384 = $383&65535; - $385 = HEAP32[$1>>2]|0; - $386 = (($385) + 52|0); - $387 = (($386) + 14|0); - HEAP16[$387>>1] = $384; - $388 = HEAP32[$iFrame>>2]|0; - $389 = HEAP32[$1>>2]|0; - $390 = (($389) + 52|0); - $391 = (($390) + 16|0); - HEAP32[$391>>2] = $388; - $392 = HEAP32[$5>>2]|0; - $393 = ($392|0)!=(0); - if ($393) { - $394 = HEAP32[$1>>2]|0; - $395 = (($394) + 52|0); - $396 = (($395) + 8|0); - $397 = HEAP32[$396>>2]|0; - $398 = (($397) + 1)|0; - HEAP32[$396>>2] = $398; - $399 = HEAP32[$4>>2]|0; - $400 = HEAP32[$1>>2]|0; - $401 = (($400) + 52|0); - $402 = (($401) + 20|0); - HEAP32[$402>>2] = $399; - } - $403 = HEAP32[$5>>2]|0; - $404 = ($403|0)!=(0); - if ($404) { - $405 = HEAP32[$1>>2]|0; - _walIndexWriteHdr($405); - $406 = HEAP32[$iFrame>>2]|0; - $407 = HEAP32[$1>>2]|0; - $408 = (($407) + 12|0); - HEAP32[$408>>2] = $406; + $89 = (_memcmp($aMagic,17420,8)|0); + $90 = ($89|0)!=(0); + if ($90) { + HEAP32[$2>>2] = 101; + $219 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($219|0); } } - $409 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $409; - $410 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($410|0); -} -function _walRestartLog($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; - var $9 = 0, $aSalt = 0, $cnt = 0, $i = 0, $notUsed = 0, $pInfo = 0, $rc = 0, $salt1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $rc = sp + 24|0; - $cnt = sp + 20|0; - $pInfo = sp + 16|0; - $salt1 = sp + 12|0; - $i = sp + 8|0; - $aSalt = sp + 4|0; - $notUsed = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 40|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = ($5|0)==(0); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = (_walCkptInfo($7)|0); - HEAP32[$pInfo>>2] = $8; - $9 = HEAP32[$pInfo>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = ($10>>>0)>(0); - do { - if ($11) { - _sqlite3_randomness(4,$salt1); - $12 = HEAP32[$1>>2]|0; - $13 = (_walLockExclusive($12,4,4)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)==(0); - if (!($15)) { - $47 = HEAP32[$rc>>2]|0; - $48 = ($47|0)!=(5); - if (!($48)) { - break; - } - $49 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $49; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); - } - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 52|0); - $18 = (($17) + 32|0); - HEAP32[$aSalt>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 104|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$20>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 52|0); - $25 = (($24) + 16|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$aSalt>>2]|0; - $27 = HEAP32[$aSalt>>2]|0; - $28 = (_sqlite3Get4byte($27)|0); - $29 = (1 + ($28))|0; - _sqlite3Put4byte($26,$29); - $30 = HEAP32[$salt1>>2]|0; - $31 = HEAP32[$aSalt>>2]|0; - $32 = (($31) + 4|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$1>>2]|0; - _walIndexWriteHdr($33); - $34 = HEAP32[$pInfo>>2]|0; - HEAP32[$34>>2] = 0; - $35 = HEAP32[$pInfo>>2]|0; - $36 = (($35) + 4|0); - $37 = (($36) + 4|0); - HEAP32[$37>>2] = 0; - HEAP32[$i>>2] = 2; - while(1) { - $38 = HEAP32[$i>>2]|0; - $39 = ($38|0)<(5); - if (!($39)) { - break; + $91 = HEAP32[$3>>2]|0; + $92 = ((($91)) + 64|0); + $93 = HEAP32[$92>>2]|0; + $94 = $iHdrOff; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (_i64Add(($96|0),($99|0),8,0)|0); + $101 = tempRet0; + $102 = HEAP32[$6>>2]|0; + $103 = (_read32bits($93,$100,$101,$102)|0); + HEAP32[$rc>>2] = $103; + $104 = (0)!=($103|0); + if (!($104)) { + $105 = HEAP32[$3>>2]|0; + $106 = ((($105)) + 64|0); + $107 = HEAP32[$106>>2]|0; + $108 = $iHdrOff; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (($108) + 4)|0; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (_i64Add(($110|0),($113|0),12,0)|0); + $115 = tempRet0; + $116 = HEAP32[$3>>2]|0; + $117 = ((($116)) + 48|0); + $118 = (_read32bits($107,$114,$115,$117)|0); + HEAP32[$rc>>2] = $118; + $119 = (0)!=($118|0); + if (!($119)) { + $120 = HEAP32[$3>>2]|0; + $121 = ((($120)) + 64|0); + $122 = HEAP32[$121>>2]|0; + $123 = $iHdrOff; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (_i64Add(($125|0),($128|0),16,0)|0); + $130 = tempRet0; + $131 = HEAP32[$7>>2]|0; + $132 = (_read32bits($122,$129,$130,$131)|0); + HEAP32[$rc>>2] = $132; + $133 = (0)!=($132|0); + if (!($133)) { + $135 = HEAP32[$3>>2]|0; + $136 = ((($135)) + 72|0); + $137 = $136; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = ($139|0)==(0); + $144 = ($142|0)==(0); + $145 = $143 & $144; + do { + if ($145) { + $146 = HEAP32[$3>>2]|0; + $147 = ((($146)) + 64|0); + $148 = HEAP32[$147>>2]|0; + $149 = $iHdrOff; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (_i64Add(($151|0),($154|0),20,0)|0); + $156 = tempRet0; + $157 = (_read32bits($148,$155,$156,$iSectorSize)|0); + HEAP32[$rc>>2] = $157; + $158 = (0)!=($157|0); + if (!($158)) { + $159 = HEAP32[$3>>2]|0; + $160 = ((($159)) + 64|0); + $161 = HEAP32[$160>>2]|0; + $162 = $iHdrOff; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (_i64Add(($164|0),($167|0),24,0)|0); + $169 = tempRet0; + $170 = (_read32bits($161,$168,$169,$iPageSize)|0); + HEAP32[$rc>>2] = $170; + $171 = (0)!=($170|0); + if (!($171)) { + $173 = HEAP32[$iPageSize>>2]|0; + $174 = ($173|0)==(0); + if ($174) { + $175 = HEAP32[$3>>2]|0; + $176 = ((($175)) + 152|0); + $177 = HEAP32[$176>>2]|0; + HEAP32[$iPageSize>>2] = $177; + } + $178 = HEAP32[$iPageSize>>2]|0; + $179 = ($178>>>0)<(512); + $180 = HEAP32[$iSectorSize>>2]|0; + $181 = ($180>>>0)<(32); + $or$cond = $179 | $181; + $182 = HEAP32[$iPageSize>>2]|0; + $183 = ($182>>>0)>(65536); + $or$cond3 = $or$cond | $183; + $184 = HEAP32[$iSectorSize>>2]|0; + $185 = ($184>>>0)>(65536); + $or$cond5 = $or$cond3 | $185; + if (!($or$cond5)) { + $186 = HEAP32[$iPageSize>>2]|0; + $187 = (($186) - 1)|0; + $188 = HEAP32[$iPageSize>>2]|0; + $189 = $187 & $188; + $190 = ($189|0)!=(0); + if (!($190)) { + $191 = HEAP32[$iSectorSize>>2]|0; + $192 = (($191) - 1)|0; + $193 = HEAP32[$iSectorSize>>2]|0; + $194 = $192 & $193; + $195 = ($194|0)!=(0); + if (!($195)) { + $196 = HEAP32[$3>>2]|0; + $197 = (_sqlite3PagerSetPagesize($196,$iPageSize,-1)|0); + HEAP32[$rc>>2] = $197; + $198 = HEAP32[$iSectorSize>>2]|0; + $199 = HEAP32[$3>>2]|0; + $200 = ((($199)) + 148|0); + HEAP32[$200>>2] = $198; + break; + } + } + } + HEAP32[$2>>2] = 101; + $219 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($219|0); + } + } + $172 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $172; + $219 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($219|0); } - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$pInfo>>2]|0; - $42 = (($41) + 4|0); - $43 = (($42) + ($40<<2)|0); - HEAP32[$43>>2] = -1; - $44 = HEAP32[$i>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[$i>>2] = $45; - } - $46 = HEAP32[$1>>2]|0; - _walUnlockExclusive($46,4,4); - } - } while(0); - $50 = HEAP32[$1>>2]|0; - _walUnlockShared($50,3); - $51 = HEAP32[$1>>2]|0; - $52 = (($51) + 40|0); - HEAP16[$52>>1] = -1; - HEAP32[$cnt>>2] = 0; - while(1) { - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$cnt>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$cnt>>2] = $55; - $56 = (_walTryBeginRead($53,$notUsed,1,$55)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(-1); - if (!($58)) { - break; + } while(0); + $201 = HEAP32[$3>>2]|0; + $202 = ((($201)) + 148|0); + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$3>>2]|0; + $205 = ((($204)) + 72|0); + $206 = $205; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = (($206) + 4)|0; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $212 = (_i64Add(($208|0),($211|0),($203|0),0)|0); + $213 = tempRet0; + $214 = $205; + $215 = $214; + HEAP32[$215>>2] = $212; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + $218 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $218; + $219 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($219|0); } } } - $59 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $59; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + $134 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $134; + $219 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($219|0); } -function _walWriteOneFrame($p,$pPage,$nTruncate,$0,$1) { - $p = $p|0; - $pPage = $pPage|0; - $nTruncate = $nTruncate|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aFrame = 0, $pData = 0, $rc = 0, label = 0, sp = 0; +function _pager_playback_one_page($pPager,$pOffset,$pDone,$isMainJrnl,$isSavepnt) { + $pPager = $pPager|0; + $pOffset = $pOffset|0; + $pDone = $pDone|0; + $isMainJrnl = $isMainJrnl|0; + $isSavepnt = $isSavepnt|0; + var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; + var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; + var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; + var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; + var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; + var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; + var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $aData = 0, $cksum = 0, $isSynced = 0, $jfd = 0, $ofst = 0, $or$cond = 0, $or$cond4 = 0, $pData = 0, $pPg = 0, $pgno = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; + $0 = sp + 56|0; + $1 = sp + 36|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp; - $rc = sp + 12|0; + $3 = sp + 20|0; + $4 = sp + 32|0; + $5 = sp + 12|0; + $rc = sp + 16|0; + $pPg = sp + 60|0; + $pgno = sp + 24|0; + $cksum = sp + 40|0; + $aData = sp + 44|0; + $jfd = sp + 48|0; + $isSynced = sp + 52|0; + $ofst = sp; $pData = sp + 8|0; - $aFrame = sp + 32|0; - HEAP32[$3>>2] = $p; - HEAP32[$4>>2] = $pPage; - HEAP32[$5>>2] = $nTruncate; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$4>>2]|0; - $12 = (($11) + 4|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pData>>2] = $13; - $14 = HEAP32[$3>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = (($16) + 20|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$5>>2]|0; - $20 = HEAP32[$pData>>2]|0; - _walEncodeFrame($15,$18,$19,$20,$aFrame); - $21 = HEAP32[$3>>2]|0; - $22 = $6; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (_walWriteToLog($21,$aFrame,24,$24,$27)|0); - HEAP32[$rc>>2] = $28; - $29 = HEAP32[$rc>>2]|0; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $31; - $47 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($47|0); + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $pOffset; + HEAP32[$3>>2] = $pDone; + HEAP32[$4>>2] = $isMainJrnl; + HEAP32[$5>>2] = $isSavepnt; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 200|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$aData>>2] = $8; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)!=(0); + $11 = HEAP32[$1>>2]|0; + if ($10) { + $12 = ((($11)) + 64|0); + $13 = HEAP32[$12>>2]|0; + $16 = $13; } else { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$pData>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = (($34) + 20|0); - $36 = HEAP32[$35>>2]|0; - $37 = $6; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (_i64Add(($39|0),($42|0),24,0)|0); - $44 = tempRet0; - $45 = (_walWriteToLog($32,$33,$36,$43,$44)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $46; - $47 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($47|0); + $14 = ((($11)) + 68|0); + $15 = HEAP32[$14>>2]|0; + $16 = $15; } - return 0|0; -} -function _walEncodeFrame($pWal,$iPage,$nTruncate,$aData,$aFrame) { - $pWal = $pWal|0; - $iPage = $iPage|0; - $nTruncate = $nTruncate|0; - $aData = $aData|0; - $aFrame = $aFrame|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aCksum = 0, $nativeCksum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $nativeCksum = sp + 4|0; - $aCksum = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $iPage; - HEAP32[$2>>2] = $nTruncate; - HEAP32[$3>>2] = $aData; - HEAP32[$4>>2] = $aFrame; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 52|0); - $7 = (($6) + 24|0); - HEAP32[$aCksum>>2] = $7; - $8 = HEAP32[$4>>2]|0; - $9 = HEAP32[$1>>2]|0; - _sqlite3Put4byte($8,$9); - $10 = HEAP32[$4>>2]|0; - $11 = (($10) + 4|0); - $12 = HEAP32[$2>>2]|0; - _sqlite3Put4byte($11,$12); - $13 = HEAP32[$4>>2]|0; - $14 = (($13) + 8|0); - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 52|0); - $17 = (($16) + 32|0); - ;HEAP8[$14+0>>0]=HEAP8[$17+0>>0]|0;HEAP8[$14+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$14+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$14+3>>0]=HEAP8[$17+3>>0]|0;HEAP8[$14+4>>0]=HEAP8[$17+4>>0]|0;HEAP8[$14+5>>0]=HEAP8[$17+5>>0]|0;HEAP8[$14+6>>0]=HEAP8[$17+6>>0]|0;HEAP8[$14+7>>0]=HEAP8[$17+7>>0]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 52|0); - $20 = (($19) + 13|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = HEAP8[1136>>0]|0; - $24 = $23 << 24 >> 24; - $25 = ($24|0)==(0); - $26 = $25&1; - $27 = ($22|0)==($26|0); - $28 = $27&1; - HEAP32[$nativeCksum>>2] = $28; - $29 = HEAP32[$nativeCksum>>2]|0; - $30 = HEAP32[$4>>2]|0; - $31 = HEAP32[$aCksum>>2]|0; - $32 = HEAP32[$aCksum>>2]|0; - _walChecksumBytes($29,$30,8,$31,$32); - $33 = HEAP32[$nativeCksum>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 36|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$aCksum>>2]|0; - $39 = HEAP32[$aCksum>>2]|0; - _walChecksumBytes($33,$34,$37,$38,$39); - $40 = HEAP32[$4>>2]|0; - $41 = (($40) + 16|0); - $42 = HEAP32[$aCksum>>2]|0; - $43 = HEAP32[$42>>2]|0; - _sqlite3Put4byte($41,$43); - $44 = HEAP32[$4>>2]|0; - $45 = (($44) + 20|0); - $46 = HEAP32[$aCksum>>2]|0; - $47 = (($46) + 4|0); - $48 = HEAP32[$47>>2]|0; - _sqlite3Put4byte($45,$48); - STACKTOP = sp;return; -} -function _walWriteToLog($p,$pContent,$iAmt,$0,$1) { - $p = $p|0; - $pContent = $pContent|0; - $iAmt = $iAmt|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iFirstAmt = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp; - $rc = sp + 12|0; - $iFirstAmt = sp + 8|0; - HEAP32[$3>>2] = $p; - HEAP32[$4>>2] = $pContent; - HEAP32[$5>>2] = $iAmt; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = $6; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = (($17) + 8|0); + HEAP32[$jfd>>2] = $16; + $17 = HEAP32[$jfd>>2]|0; + $18 = HEAP32[$2>>2]|0; $19 = $18; $20 = $19; $21 = HEAP32[$20>>2]|0; $22 = (($19) + 4)|0; $23 = $22; $24 = HEAP32[$23>>2]|0; - $25 = ($16|0)<($24|0); - $26 = ($13>>>0)<($21>>>0); - $27 = ($16|0)==($24|0); - $28 = $27 & $26; - $29 = $25 | $28; - if ($29) { - $30 = $6; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$5>>2]|0; - $37 = ($36|0)<(0); - $38 = $37 << 31 >> 31; - $39 = (_i64Add(($32|0),($35|0),($36|0),($38|0))|0); - $40 = tempRet0; - $41 = HEAP32[$3>>2]|0; - $42 = (($41) + 8|0); - $43 = $42; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = ($40|0)>($48|0); - $50 = ($39>>>0)>=($45>>>0); - $51 = ($40|0)==($48|0); - $52 = $51 & $50; - $53 = $49 | $52; - if ($53) { - $54 = HEAP32[$3>>2]|0; - $55 = (($54) + 8|0); - $56 = $55; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = $6; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Subtract(($58|0),($61|0),($64|0),($67|0))|0); - $69 = tempRet0; - HEAP32[$iFirstAmt>>2] = $68; - $70 = HEAP32[$3>>2]|0; - $71 = (($70) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = HEAP32[$iFirstAmt>>2]|0; - $75 = $6; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (_sqlite3OsWrite($72,$73,$74,$77,$80)|0); - HEAP32[$rc>>2] = $81; - $82 = HEAP32[$rc>>2]|0; - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $84; - $132 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($132|0); - } - $85 = HEAP32[$iFirstAmt>>2]|0; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $6; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (_i64Add(($90|0),($93|0),($85|0),($87|0))|0); - $95 = tempRet0; - $96 = $6; - $97 = $96; - HEAP32[$97>>2] = $94; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = $95; - $100 = HEAP32[$iFirstAmt>>2]|0; - $101 = HEAP32[$5>>2]|0; - $102 = (($101) - ($100))|0; - HEAP32[$5>>2] = $102; - $103 = HEAP32[$iFirstAmt>>2]|0; - $104 = HEAP32[$4>>2]|0; - $105 = (($104) + ($103)|0); - HEAP32[$4>>2] = $105; - $106 = HEAP32[$3>>2]|0; - $107 = (($106) + 4|0); - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$3>>2]|0; - $110 = (($109) + 16|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 19; - $113 = (_sqlite3OsSync($108,$112)|0); - HEAP32[$rc>>2] = $113; - $114 = HEAP32[$5>>2]|0; - $115 = ($114|0)==(0); - $116 = HEAP32[$rc>>2]|0; - $117 = ($116|0)!=(0); - $or$cond = $115 | $117; - if ($or$cond) { - $118 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $118; - $132 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($132|0); + $25 = (_read32bits($17,$21,$24,$pgno)|0); + HEAP32[$rc>>2] = $25; + $26 = HEAP32[$rc>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $28; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); + } + $29 = HEAP32[$jfd>>2]|0; + $30 = HEAP32[$aData>>2]|0; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 152|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = $34; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (_i64Add(($37|0),($40|0),4,0)|0); + $42 = tempRet0; + $43 = (_sqlite3OsRead($29,$30,$33,$41,$42)|0); + HEAP32[$rc>>2] = $43; + $44 = HEAP32[$rc>>2]|0; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $46; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); + } + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 152|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + 4)|0; + $51 = HEAP32[$4>>2]|0; + $52 = $51<<2; + $53 = (($50) + ($52))|0; + $54 = ($53|0)<(0); + $55 = $54 << 31 >> 31; + $56 = HEAP32[$2>>2]|0; + $57 = $56; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (_i64Add(($59|0),($62|0),($53|0),($55|0))|0); + $64 = tempRet0; + $65 = $56; + $66 = $65; + HEAP32[$66>>2] = $63; + $67 = (($65) + 4)|0; + $68 = $67; + HEAP32[$68>>2] = $64; + $69 = HEAP32[$pgno>>2]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = HEAP32[$pgno>>2]|0; + $72 = HEAP32[916>>2]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 152|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($72|0) / ($75|0))&-1; + $77 = (($76) + 1)|0; + $78 = ($71|0)==($77|0); + if (!($78)) { + $79 = HEAP32[$pgno>>2]|0; + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 24|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($79>>>0)>($82>>>0); + if (!($83)) { + $84 = HEAP32[$3>>2]|0; + $85 = HEAP32[$pgno>>2]|0; + $86 = (_sqlite3BitvecTest($84,$85)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + $88 = HEAP32[$4>>2]|0; + $89 = ($88|0)!=(0); + if ($89) { + $90 = HEAP32[$jfd>>2]|0; + $91 = HEAP32[$2>>2]|0; + $92 = $91; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (_i64Subtract(($94|0),($97|0),4,0)|0); + $99 = tempRet0; + $100 = (_read32bits($90,$98,$99,$cksum)|0); + HEAP32[$rc>>2] = $100; + $101 = HEAP32[$rc>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + $103 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $103; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); + } + $104 = HEAP32[$5>>2]|0; + $105 = ($104|0)!=(0); + if (!($105)) { + $106 = HEAP32[$1>>2]|0; + $107 = HEAP32[$aData>>2]|0; + $108 = (_pager_cksum($106,$107)|0); + $109 = HEAP32[$cksum>>2]|0; + $110 = ($108|0)!=($109|0); + if ($110) { + HEAP32[$0>>2] = 101; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); + } + } + } + $111 = HEAP32[$3>>2]|0; + $112 = ($111|0)!=(0|0); + if ($112) { + $113 = HEAP32[$3>>2]|0; + $114 = HEAP32[$pgno>>2]|0; + $115 = (_sqlite3BitvecSet($113,$114)|0); + HEAP32[$rc>>2] = $115; + $116 = ($115|0)!=(0); + if ($116) { + $117 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $117; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); + } + } + $118 = HEAP32[$pgno>>2]|0; + $119 = ($118|0)==(1); + if ($119) { + $120 = HEAP32[$1>>2]|0; + $121 = ((($120)) + 142|0); + $122 = HEAP16[$121>>1]|0; + $123 = $122 << 16 >> 16; + $124 = HEAP32[$aData>>2]|0; + $125 = ((($124)) + 20|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = ($123|0)!=($127|0); + if ($128) { + $129 = HEAP32[$aData>>2]|0; + $130 = ((($129)) + 20|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = HEAP32[$1>>2]|0; + $134 = ((($133)) + 142|0); + HEAP16[$134>>1] = $132; + } + } + $135 = HEAP32[$1>>2]|0; + $136 = (_pagerUseWal($135)|0); + $137 = ($136|0)!=(0); + if ($137) { + HEAP32[$pPg>>2] = 0; + } else { + $138 = HEAP32[$1>>2]|0; + $139 = HEAP32[$pgno>>2]|0; + $140 = (_sqlite3PagerLookup($138,$139)|0); + HEAP32[$pPg>>2] = $140; + } + $141 = HEAP32[$4>>2]|0; + $142 = ($141|0)!=(0); + if ($142) { + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 7|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = ($146|0)!=(0); + if ($147) { + $169 = 1; + } else { + $148 = HEAP32[$2>>2]|0; + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$1>>2]|0; + $156 = ((($155)) + 80|0); + $157 = $156; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = (($157) + 4)|0; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = ($154|0)<($162|0); + $164 = ($151>>>0)<=($159>>>0); + $165 = ($154|0)==($162|0); + $166 = $165 & $164; + $167 = $163 | $166; + $169 = $167; + } + $168 = $169&1; + HEAP32[$isSynced>>2] = $168; + } else { + $170 = HEAP32[$pPg>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $179 = 1; + } else { + $172 = HEAP32[$pPg>>2]|0; + $173 = ((($172)) + 24|0); + $174 = HEAP16[$173>>1]|0; + $175 = $174&65535; + $176 = $175 & 4; + $177 = (0)==($176|0); + $179 = $177; + } + $178 = $179&1; + HEAP32[$isSynced>>2] = $178; + } + $180 = HEAP32[$1>>2]|0; + $181 = ((($180)) + 60|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)!=(0|0); + do { + if ($184) { + $185 = HEAP32[$1>>2]|0; + $186 = ((($185)) + 16|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187&255; + $189 = ($188|0)>=(4); + if ($189) { + $$old = HEAP32[$isSynced>>2]|0; + $$old1 = ($$old|0)!=(0); + if (!($$old1)) { + label = 44; + break; + } + } else { + $190 = HEAP32[$1>>2]|0; + $191 = ((($190)) + 16|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $194 = ($193|0)==(0); + $195 = HEAP32[$isSynced>>2]|0; + $196 = ($195|0)!=(0); + $or$cond = $194 & $196; + if (!($or$cond)) { + label = 44; + break; + } + } + $197 = HEAP32[$pgno>>2]|0; + $198 = (($197) - 1)|0; + $199 = HEAP32[$1>>2]|0; + $200 = ((($199)) + 152|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)<(0); + $203 = $202 << 31 >> 31; + $204 = (___muldi3(($198|0),0,($201|0),($203|0))|0); + $205 = tempRet0; + $206 = $ofst; + $207 = $206; + HEAP32[$207>>2] = $204; + $208 = (($206) + 4)|0; + $209 = $208; + HEAP32[$209>>2] = $205; + $210 = HEAP32[$1>>2]|0; + $211 = ((($210)) + 60|0); + $212 = HEAP32[$211>>2]|0; + $213 = HEAP32[$aData>>2]|0; + $214 = HEAP32[$1>>2]|0; + $215 = ((($214)) + 152|0); + $216 = HEAP32[$215>>2]|0; + $217 = $ofst; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = (($217) + 4)|0; + $221 = $220; + $222 = HEAP32[$221>>2]|0; + $223 = (_sqlite3OsWrite($212,$213,$216,$219,$222)|0); + HEAP32[$rc>>2] = $223; + $224 = HEAP32[$pgno>>2]|0; + $225 = HEAP32[$1>>2]|0; + $226 = ((($225)) + 32|0); + $227 = HEAP32[$226>>2]|0; + $228 = ($224>>>0)>($227>>>0); + if ($228) { + $229 = HEAP32[$pgno>>2]|0; + $230 = HEAP32[$1>>2]|0; + $231 = ((($230)) + 32|0); + HEAP32[$231>>2] = $229; + } + $232 = HEAP32[$1>>2]|0; + $233 = ((($232)) + 88|0); + $234 = HEAP32[$233>>2]|0; + $235 = ($234|0)!=(0|0); + if ($235) { + $236 = HEAP32[$1>>2]|0; + $237 = ((($236)) + 88|0); + $238 = HEAP32[$237>>2]|0; + $239 = HEAP32[$pgno>>2]|0; + $240 = HEAP32[$aData>>2]|0; + _sqlite3BackupUpdate($238,$239,$240); + $241 = HEAP32[$aData>>2]|0; + HEAP32[$aData>>2] = $241; + } + } else { + label = 44; + } + } while(0); + do { + if ((label|0) == 44) { + $242 = HEAP32[$4>>2]|0; + $243 = ($242|0)==(0); + $244 = HEAP32[$pPg>>2]|0; + $245 = ($244|0)==(0|0); + $or$cond4 = $243 & $245; + if ($or$cond4) { + $246 = HEAP32[$1>>2]|0; + $247 = ((($246)) + 20|0); + $248 = HEAP8[$247>>0]|0; + $249 = $248&255; + $250 = $249 | 2; + $251 = $250&255; + HEAP8[$247>>0] = $251; + $252 = HEAP32[$1>>2]|0; + $253 = HEAP32[$pgno>>2]|0; + $254 = (_sqlite3PagerAcquire($252,$253,$pPg,1)|0); + HEAP32[$rc>>2] = $254; + $255 = HEAP32[$1>>2]|0; + $256 = ((($255)) + 20|0); + $257 = HEAP8[$256>>0]|0; + $258 = $257&255; + $259 = $258 & -3; + $260 = $259&255; + HEAP8[$256>>0] = $260; + $261 = HEAP32[$rc>>2]|0; + $262 = ($261|0)!=(0); + if (!($262)) { + $264 = HEAP32[$pPg>>2]|0; + $265 = ((($264)) + 24|0); + $266 = HEAP16[$265>>1]|0; + $267 = $266&65535; + $268 = $267 & -9; + $269 = $268&65535; + HEAP16[$265>>1] = $269; + $270 = HEAP32[$pPg>>2]|0; + _sqlite3PcacheMakeDirty($270); + break; + } + $263 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $263; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); + } + } + } while(0); + $271 = HEAP32[$pPg>>2]|0; + $272 = ($271|0)!=(0|0); + if ($272) { + $273 = HEAP32[$pPg>>2]|0; + $274 = ((($273)) + 4|0); + $275 = HEAP32[$274>>2]|0; + HEAP32[$pData>>2] = $275; + $276 = HEAP32[$pData>>2]|0; + $277 = HEAP32[$aData>>2]|0; + $278 = HEAP32[$1>>2]|0; + $279 = ((($278)) + 152|0); + $280 = HEAP32[$279>>2]|0; + _memcpy(($276|0),($277|0),($280|0))|0; + $281 = HEAP32[$1>>2]|0; + $282 = ((($281)) + 196|0); + $283 = HEAP32[$282>>2]|0; + $284 = HEAP32[$pPg>>2]|0; + FUNCTION_TABLE_vi[$283 & 31]($284); + $285 = HEAP32[$4>>2]|0; + $286 = ($285|0)!=(0); + do { + if ($286) { + $287 = HEAP32[$5>>2]|0; + $288 = ($287|0)!=(0); + if ($288) { + $289 = HEAP32[$2>>2]|0; + $290 = $289; + $291 = $290; + $292 = HEAP32[$291>>2]|0; + $293 = (($290) + 4)|0; + $294 = $293; + $295 = HEAP32[$294>>2]|0; + $296 = HEAP32[$1>>2]|0; + $297 = ((($296)) + 80|0); + $298 = $297; + $299 = $298; + $300 = HEAP32[$299>>2]|0; + $301 = (($298) + 4)|0; + $302 = $301; + $303 = HEAP32[$302>>2]|0; + $304 = ($295|0)<($303|0); + $305 = ($292>>>0)<=($300>>>0); + $306 = ($295|0)==($303|0); + $307 = $306 & $305; + $308 = $304 | $307; + if (!($308)) { + break; + } + } + $309 = HEAP32[$pPg>>2]|0; + _sqlite3PcacheMakeClean($309); + } + } while(0); + $310 = HEAP32[$pgno>>2]|0; + $311 = ($310|0)==(1); + if ($311) { + $312 = HEAP32[$1>>2]|0; + $313 = ((($312)) + 100|0); + $314 = HEAP32[$pData>>2]|0; + $315 = ((($314)) + 24|0); + dest=$313; src=$315; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + } + $316 = HEAP32[$pPg>>2]|0; + _sqlite3PcacheRelease($316); + } + $317 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $317; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); + } } + HEAP32[$0>>2] = 0; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); } } - $119 = HEAP32[$3>>2]|0; - $120 = (($119) + 4|0); - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$4>>2]|0; - $123 = HEAP32[$5>>2]|0; - $124 = $6; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (($124) + 4)|0; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (_sqlite3OsWrite($121,$122,$123,$126,$129)|0); - HEAP32[$rc>>2] = $130; - $131 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $131; - $132 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($132|0); + HEAP32[$0>>2] = 101; + $318 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($318|0); } -function _walTryBeginRead($pWal,$pChanged,$useWal,$cnt) { - $pWal = $pWal|0; - $pChanged = $pChanged|0; - $useWal = $useWal|0; - $cnt = $cnt|0; +function _pager_delmaster($pPager,$zMaster) { + $pPager = $pPager|0; + $zMaster = $zMaster|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $mxI = 0, $mxReadMark = 0, $nDelay = 0, $or$cond = 0, $pInfo = 0, $rc = 0, $thisMark = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $exists = 0, $flags = 0, $flags1 = 0, $nMasterJournal = 0, $nMasterPtr = 0, $pJournal = 0, $pMaster = 0, $pVfs = 0, $rc = 0, $zJournal = 0, $zMasterJournal = 0, $zMasterPtr = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $pInfo = sp + 24|0; - $mxReadMark = sp + 20|0; - $mxI = sp + 16|0; - $i = sp + 12|0; - $rc = sp + 8|0; - $nDelay = sp + 4|0; - $thisMark = sp; - HEAP32[$1>>2] = $pWal; - HEAP32[$2>>2] = $pChanged; - HEAP32[$3>>2] = $useWal; - HEAP32[$4>>2] = $cnt; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(5); - if ($6) { - HEAP32[$nDelay>>2] = 1; - $7 = HEAP32[$4>>2]|0; - $8 = ($7|0)>(100); - if ($8) { - HEAP32[$0>>2] = 15; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - $9 = HEAP32[$4>>2]|0; - $10 = ($9|0)>=(10); - if ($10) { - $11 = HEAP32[$4>>2]|0; - $12 = (($11) - 9)|0; - $13 = HEAP32[$4>>2]|0; - $14 = (($13) - 9)|0; - $15 = Math_imul($12, $14)|0; - $16 = ($15*39)|0; - HEAP32[$nDelay>>2] = $16; - } - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$nDelay>>2]|0; - (_sqlite3OsSleep($18,$19)|0); + STACKTOP = STACKTOP + 64|0; + $0 = sp + 40|0; + $1 = sp + 48|0; + $pVfs = sp + 12|0; + $rc = sp + 16|0; + $pMaster = sp + 20|0; + $pJournal = sp + 44|0; + $zMasterJournal = sp + 52|0; + $nMasterJournal = sp; + $zJournal = sp + 24|0; + $zMasterPtr = sp + 28|0; + $nMasterPtr = sp + 8|0; + $flags = sp + 36|0; + $exists = sp + 32|0; + $c = sp + 56|0; + $flags1 = sp + 60|0; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $zMaster; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$pVfs>>2] = $3; + HEAP32[$zMasterJournal>>2] = 0; + $4 = HEAP32[$pVfs>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6<<1; + $8 = ($7|0)<(0); + $9 = $8 << 31 >> 31; + $10 = (_sqlite3MallocZero($7,$9)|0); + HEAP32[$pMaster>>2] = $10; + $11 = HEAP32[$pMaster>>2]|0; + $12 = HEAP32[$pVfs>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($11) + ($14)|0); + HEAP32[$pJournal>>2] = $15; + $16 = HEAP32[$pMaster>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + HEAP32[$flags>>2] = 16385; + $18 = HEAP32[$pVfs>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$pMaster>>2]|0; + $21 = (_sqlite3OsOpen($18,$19,$20,16385,0)|0); + HEAP32[$rc>>2] = $21; + } else { + HEAP32[$rc>>2] = 7; } - $20 = HEAP32[$3>>2]|0; - $21 = ($20|0)!=(0); - if (!($21)) { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (_walIndexReadHdr($22,$23)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(5); - do { - if ($26) { - $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 32|0); - $29 = HEAP32[$28>>2]|0; + $22 = HEAP32[$rc>>2]|0; + $23 = ($22|0)!=(0); + L5: do { + if (!($23)) { + $24 = HEAP32[$pMaster>>2]|0; + $25 = (_sqlite3OsFileSize($24,$nMasterJournal)|0); + HEAP32[$rc>>2] = $25; + $26 = HEAP32[$rc>>2]|0; + $27 = ($26|0)!=(0); + if (!($27)) { + $28 = HEAP32[$pVfs>>2]|0; + $29 = ((($28)) + 8|0); $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - HEAP32[$rc>>2] = -1; - break; - } - $32 = HEAP32[$1>>2]|0; - $33 = (_walLockShared($32,2)|0); - HEAP32[$rc>>2] = $33; - $34 = (0)==($33|0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - _walUnlockShared($35,2); - HEAP32[$rc>>2] = -1; + $31 = (($30) + 1)|0; + HEAP32[$nMasterPtr>>2] = $31; + $32 = $nMasterJournal; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$nMasterPtr>>2]|0; + $39 = ($38|0)<(0); + $40 = $39 << 31 >> 31; + $41 = (_i64Add(($34|0),($37|0),($38|0),($40|0))|0); + $42 = tempRet0; + $43 = (_i64Add(($41|0),($42|0),1,0)|0); + $44 = tempRet0; + $45 = (_sqlite3Malloc($43,$44)|0); + HEAP32[$zMasterJournal>>2] = $45; + $46 = HEAP32[$zMasterJournal>>2]|0; + $47 = ($46|0)!=(0|0); + if (!($47)) { + HEAP32[$rc>>2] = 7; break; } - $36 = HEAP32[$rc>>2]|0; - $37 = ($36|0)==(5); - if ($37) { - HEAP32[$rc>>2] = 261; - } - } - } while(0); - $38 = HEAP32[$rc>>2]|0; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $40; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - } - $41 = HEAP32[$1>>2]|0; - $42 = (_walCkptInfo($41)|0); - HEAP32[$pInfo>>2] = $42; - $43 = HEAP32[$3>>2]|0; - $44 = ($43|0)!=(0); - do { - if (!($44)) { - $45 = HEAP32[$pInfo>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 52|0); - $49 = (($48) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($46|0)==($50|0); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = (_walLockShared($52,3)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP32[$1>>2]|0; - _walShmBarrier($54); - $55 = HEAP32[$rc>>2]|0; - $56 = ($55|0)==(0); - if (!($56)) { - $65 = HEAP32[$rc>>2]|0; - $66 = ($65|0)!=(5); - if (!($66)) { - break; - } - $67 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $67; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - $57 = HEAP32[$1>>2]|0; - $58 = (_walIndexHdr($57)|0); - $59 = HEAP32[$1>>2]|0; - $60 = (($59) + 52|0); - $61 = (_memcmp($58,$60,48)|0); - $62 = ($61|0)!=(0); - $63 = HEAP32[$1>>2]|0; - if ($62) { - _walUnlockShared($63,3); - HEAP32[$0>>2] = -1; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } else { - $64 = (($63) + 40|0); - HEAP16[$64>>1] = 0; - HEAP32[$0>>2] = 0; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - } - } - } while(0); - HEAP32[$mxReadMark>>2] = 0; - HEAP32[$mxI>>2] = 0; - HEAP32[$i>>2] = 1; - while(1) { - $68 = HEAP32[$i>>2]|0; - $69 = ($68|0)<(5); - if (!($69)) { - break; - } - $70 = HEAP32[$i>>2]|0; - $71 = HEAP32[$pInfo>>2]|0; - $72 = (($71) + 4|0); - $73 = (($72) + ($70<<2)|0); - $74 = HEAP32[$73>>2]|0; - HEAP32[$thisMark>>2] = $74; - $75 = HEAP32[$mxReadMark>>2]|0; - $76 = HEAP32[$thisMark>>2]|0; - $77 = ($75>>>0)<=($76>>>0); - if ($77) { - $78 = HEAP32[$thisMark>>2]|0; - $79 = HEAP32[$1>>2]|0; - $80 = (($79) + 52|0); - $81 = (($80) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($78>>>0)<=($82>>>0); - if ($83) { - $84 = HEAP32[$thisMark>>2]|0; - HEAP32[$mxReadMark>>2] = $84; - $85 = HEAP32[$i>>2]|0; - HEAP32[$mxI>>2] = $85; - } - } - $86 = HEAP32[$i>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$i>>2] = $87; - } - $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 46|0); - $90 = HEAP8[$89>>0]|0; - $91 = $90&255; - $92 = $91 & 2; - $93 = ($92|0)==(0); - L48: do { - if ($93) { - $94 = HEAP32[$mxReadMark>>2]|0; - $95 = HEAP32[$1>>2]|0; - $96 = (($95) + 52|0); - $97 = (($96) + 16|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($94>>>0)<($98>>>0); - $100 = HEAP32[$mxI>>2]|0; - $101 = ($100|0)==(0); - $or$cond = $99 | $101; - if ($or$cond) { - HEAP32[$i>>2] = 1; - while(1) { - $102 = HEAP32[$i>>2]|0; - $103 = ($102|0)<(5); - if (!($103)) { - break L48; - } - $104 = HEAP32[$1>>2]|0; - $105 = HEAP32[$i>>2]|0; - $106 = (3 + ($105))|0; - $107 = (_walLockExclusive($104,$106,1)|0); - HEAP32[$rc>>2] = $107; - $108 = HEAP32[$rc>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - label = 36; - break; - } - $122 = HEAP32[$rc>>2]|0; - $123 = ($122|0)!=(5); - if ($123) { - break; + $48 = $nMasterJournal; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (_i64Add(($50|0),($53|0),1,0)|0); + $55 = tempRet0; + $56 = HEAP32[$zMasterJournal>>2]|0; + $57 = (($56) + ($54)|0); + HEAP32[$zMasterPtr>>2] = $57; + $58 = HEAP32[$pMaster>>2]|0; + $59 = HEAP32[$zMasterJournal>>2]|0; + $60 = $nMasterJournal; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3OsRead($58,$59,$62,0,0)|0); + HEAP32[$rc>>2] = $66; + $67 = HEAP32[$rc>>2]|0; + $68 = ($67|0)!=(0); + if (!($68)) { + $69 = $nMasterJournal; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$zMasterJournal>>2]|0; + $76 = (($75) + ($71)|0); + HEAP8[$76>>0] = 0; + $77 = HEAP32[$zMasterJournal>>2]|0; + HEAP32[$zJournal>>2] = $77; + while(1) { + $78 = HEAP32[$zJournal>>2]|0; + $79 = HEAP32[$zMasterJournal>>2]|0; + $80 = $78; + $81 = $79; + $82 = (($80) - ($81))|0; + $83 = ($82|0)<(0); + $84 = $83 << 31 >> 31; + $85 = $nMasterJournal; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = ($84|0)<($90|0); + $92 = ($82>>>0)<($87>>>0); + $93 = ($84|0)==($90|0); + $94 = $93 & $92; + $95 = $91 | $94; + if (!($95)) { + break; + } + $96 = HEAP32[$pVfs>>2]|0; + $97 = HEAP32[$zJournal>>2]|0; + $98 = (_sqlite3OsAccess($96,$97,0,$exists)|0); + HEAP32[$rc>>2] = $98; + $99 = HEAP32[$rc>>2]|0; + $100 = ($99|0)!=(0); + if ($100) { + break L5; + } + $101 = HEAP32[$exists>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + HEAP32[$flags1>>2] = 2049; + $103 = HEAP32[$pVfs>>2]|0; + $104 = HEAP32[$zJournal>>2]|0; + $105 = HEAP32[$pJournal>>2]|0; + $106 = HEAP32[$flags1>>2]|0; + $107 = (_sqlite3OsOpen($103,$104,$105,$106,0)|0); + HEAP32[$rc>>2] = $107; + $108 = HEAP32[$rc>>2]|0; + $109 = ($108|0)!=(0); + if ($109) { + break L5; + } + $110 = HEAP32[$pJournal>>2]|0; + $111 = HEAP32[$zMasterPtr>>2]|0; + $112 = HEAP32[$nMasterPtr>>2]|0; + $113 = (_readMasterJournal($110,$111,$112)|0); + HEAP32[$rc>>2] = $113; + $114 = HEAP32[$pJournal>>2]|0; + (_sqlite3OsClose($114)|0); + $115 = HEAP32[$rc>>2]|0; + $116 = ($115|0)!=(0); + if ($116) { + break L5; + } + $117 = HEAP32[$zMasterPtr>>2]|0; + $118 = HEAP8[$117>>0]|0; + $119 = $118 << 24 >> 24; + $120 = ($119|0)!=(0); + if ($120) { + $121 = HEAP32[$zMasterPtr>>2]|0; + $122 = HEAP32[$1>>2]|0; + $123 = (_strcmp($121,$122)|0); + $124 = ($123|0)==(0); + $126 = $124; + } else { + $126 = 0; + } + $125 = $126&1; + HEAP32[$c>>2] = $125; + $127 = HEAP32[$c>>2]|0; + $128 = ($127|0)!=(0); + if ($128) { + break L5; + } + } + $129 = HEAP32[$zJournal>>2]|0; + $130 = (_sqlite3Strlen30($129)|0); + $131 = (($130) + 1)|0; + $132 = HEAP32[$zJournal>>2]|0; + $133 = (($132) + ($131)|0); + HEAP32[$zJournal>>2] = $133; } - $125 = HEAP32[$i>>2]|0; - $126 = (($125) + 1)|0; - HEAP32[$i>>2] = $126; - } - if ((label|0) == 36) { - $110 = HEAP32[$1>>2]|0; - $111 = (($110) + 52|0); - $112 = (($111) + 16|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$i>>2]|0; - $115 = HEAP32[$pInfo>>2]|0; - $116 = (($115) + 4|0); - $117 = (($116) + ($114<<2)|0); - HEAP32[$117>>2] = $113; - HEAP32[$mxReadMark>>2] = $113; - $118 = HEAP32[$i>>2]|0; - HEAP32[$mxI>>2] = $118; - $119 = HEAP32[$1>>2]|0; - $120 = HEAP32[$i>>2]|0; - $121 = (3 + ($120))|0; - _walUnlockExclusive($119,$121,1); - break; + $134 = HEAP32[$pMaster>>2]|0; + (_sqlite3OsClose($134)|0); + $135 = HEAP32[$pVfs>>2]|0; + $136 = HEAP32[$1>>2]|0; + $137 = (_sqlite3OsDelete($135,$136,0)|0); + HEAP32[$rc>>2] = $137; } - $124 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $124; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); } } } while(0); - $127 = HEAP32[$mxI>>2]|0; - $128 = ($127|0)==(0); - if ($128) { - $129 = HEAP32[$rc>>2]|0; - $130 = ($129|0)==(5); - $131 = $130 ? -1 : 520; - HEAP32[$0>>2] = $131; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - $132 = HEAP32[$1>>2]|0; - $133 = HEAP32[$mxI>>2]|0; - $134 = (3 + ($133))|0; - $135 = (_walLockShared($132,$134)|0); - HEAP32[$rc>>2] = $135; - $136 = HEAP32[$rc>>2]|0; - $137 = ($136|0)!=(0); - if ($137) { - $138 = HEAP32[$rc>>2]|0; - $139 = ($138|0)==(5); - $140 = HEAP32[$rc>>2]|0; - $141 = $139 ? -1 : $140; - HEAP32[$0>>2] = $141; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } - $142 = HEAP32[$1>>2]|0; - _walShmBarrier($142); - $143 = HEAP32[$mxI>>2]|0; - $144 = HEAP32[$pInfo>>2]|0; - $145 = (($144) + 4|0); - $146 = (($145) + ($143<<2)|0); - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$mxReadMark>>2]|0; - $149 = ($147|0)!=($148|0); - if (!($149)) { - $150 = HEAP32[$1>>2]|0; - $151 = (_walIndexHdr($150)|0); - $152 = HEAP32[$1>>2]|0; - $153 = (($152) + 52|0); - $154 = (_memcmp($151,$153,48)|0); - $155 = ($154|0)!=(0); - if (!($155)) { - $159 = HEAP32[$mxI>>2]|0; - $160 = $159&65535; - $161 = HEAP32[$1>>2]|0; - $162 = (($161) + 40|0); - HEAP16[$162>>1] = $160; - $163 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $163; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); - } + $138 = HEAP32[$zMasterJournal>>2]|0; + _sqlite3_free($138); + $139 = HEAP32[$pMaster>>2]|0; + $140 = ($139|0)!=(0|0); + if (!($140)) { + $143 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($143|0); } - $156 = HEAP32[$1>>2]|0; - $157 = HEAP32[$mxI>>2]|0; - $158 = (3 + ($157))|0; - _walUnlockShared($156,$158); - HEAP32[$0>>2] = -1; - $164 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($164|0); + $141 = HEAP32[$pMaster>>2]|0; + (_sqlite3OsClose($141)|0); + $142 = HEAP32[$pMaster>>2]|0; + _sqlite3_free($142); + $143 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($143|0); } -function _openSubJournal($pPager) { +function _setSectorSize($pPager) { $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; + $0 = sp; HEAP32[$0>>2] = $pPager; - HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 68|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + $2 = ((($1)) + 12|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)!=(0); + if (!($5)) { + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 60|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3OsDeviceCharacteristics($8)|0); + $10 = $9 & 4096; + $11 = ($10|0)!=(0); + if (!($11)) { + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3SectorSize($16)|0); + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 148|0); + HEAP32[$19>>2] = $17; + STACKTOP = sp;return; + } } - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 5|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)==(4); - if (!($10)) { - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 21|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(0); - if (!($15)) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 68|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_pagerOpentemp($19,$22,8192)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 148|0); + HEAP32[$13>>2] = 512; + STACKTOP = sp;return; +} +function _sqlite3OsDeviceCharacteristics($id) { + $id = $id|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $id; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 48|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = (FUNCTION_TABLE_ii[$4 & 31]($5)|0); + STACKTOP = sp;return ($6|0); +} +function _sqlite3SectorSize($pFile) { + $pFile = $pFile|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $iRet = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $iRet = sp; + HEAP32[$0>>2] = $pFile; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3OsSectorSize($1)|0); + HEAP32[$iRet>>2] = $2; + $3 = HEAP32[$iRet>>2]|0; + $4 = ($3|0)<(32); + if ($4) { + HEAP32[$iRet>>2] = 512; + } else { + $5 = HEAP32[$iRet>>2]|0; + $6 = ($5|0)>(65536); + if ($6) { + HEAP32[$iRet>>2] = 65536; } } - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 68|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3MemJournalOpen($18); - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + $7 = HEAP32[$iRet>>2]|0; + STACKTOP = sp;return ($7|0); } -function _write32bits($fd,$0,$1,$val) { +function _sqlite3OsSectorSize($id) { + $id = $id|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $xSectorSize = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $xSectorSize = sp; + HEAP32[$0>>2] = $id; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 44|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$xSectorSize>>2] = $4; + $5 = HEAP32[$xSectorSize>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $10 = 4096; + STACKTOP = sp;return ($10|0); + } + $7 = HEAP32[$xSectorSize>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = (FUNCTION_TABLE_ii[$7 & 31]($8)|0); + $10 = $9; + STACKTOP = sp;return ($10|0); +} +function _sqlite3OsOpen($pVfs,$zPath,$pFile,$flags,$pFlagsOut) { + $pVfs = $pVfs|0; + $zPath = $zPath|0; + $pFile = $pFile|0; + $flags = $flags|0; + $pFlagsOut = $pFlagsOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $zPath; + HEAP32[$2>>2] = $pFile; + HEAP32[$3>>2] = $flags; + HEAP32[$4>>2] = $pFlagsOut; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = $11 & 556927; + $13 = HEAP32[$4>>2]|0; + $14 = (FUNCTION_TABLE_iiiiii[$7 & 15]($8,$9,$10,$12,$13)|0); + HEAP32[$rc>>2] = $14; + $15 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _sqlite3OsRead($id,$pBuf,$amt,$0,$1) { + $id = $id|0; + $pBuf = $pBuf|0; + $amt = $amt|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp; + HEAP32[$2>>2] = $id; + HEAP32[$3>>2] = $pBuf; + HEAP32[$4>>2] = $amt; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = $5; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_iiiiii[$13 & 15]($14,$15,$16,$19,$22)|0); + STACKTOP = sp;return ($23|0); +} +function _read32bits($fd,$0,$1,$pRes) { $fd = $fd|0; $0 = $0|0; $1 = $1|0; - $val = $val|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ac = 0, label = 0, sp = 0; + $pRes = $pRes|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $ac = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 12|0; + $2 = sp + 16|0; $3 = sp; - $4 = sp + 8|0; - $ac = sp + 16|0; + $4 = sp + 12|0; + $ac = sp + 20|0; + $rc = sp + 8|0; HEAP32[$2>>2] = $fd; $5 = $3; $6 = $5; @@ -44270,516 +45364,480 @@ function _write32bits($fd,$0,$1,$val) { $7 = (($5) + 4)|0; $8 = $7; HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $val; - $9 = HEAP32[$4>>2]|0; - _sqlite3Put4byte($ac,$9); - $10 = HEAP32[$2>>2]|0; - $11 = $3; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3OsWrite($10,$ac,4,$13,$16)|0); - STACKTOP = sp;return ($17|0); + HEAP32[$4>>2] = $pRes; + $9 = HEAP32[$2>>2]|0; + $10 = $3; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3OsRead($9,$ac,4,$12,$15)|0); + HEAP32[$rc>>2] = $16; + $17 = HEAP32[$rc>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $21 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($21|0); + } + $19 = (_sqlite3Get4byte($ac)|0); + $20 = HEAP32[$4>>2]|0; + HEAP32[$20>>2] = $19; + $21 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($21|0); } -function _addToSavepointBitvecs($pPager,$pgno) { +function _pager_cksum($pPager,$aData) { $pPager = $pPager|0; - $pgno = $pgno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, $p = 0, $rc = 0, label = 0, sp = 0; + $aData = $aData|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $cksum = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $ii = sp + 8|0; - $rc = sp + 4|0; - $p = sp; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $cksum = sp + 4|0; + $i = sp; HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pgno; - HEAP32[$rc>>2] = 0; - HEAP32[$ii>>2] = 0; + HEAP32[$1>>2] = $aData; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 48|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$cksum>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 152|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) - 200)|0; + HEAP32[$i>>2] = $8; while(1) { - $2 = HEAP32[$ii>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 96|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { + $9 = HEAP32[$i>>2]|0; + $10 = ($9|0)>(0); + if (!($10)) { break; } - $7 = HEAP32[$ii>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 92|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + (($7*48)|0)|0); - HEAP32[$p>>2] = $11; + $11 = HEAP32[$i>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($12>>>0)<=($15>>>0); - if ($16) { - $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (_sqlite3BitvecSet($19,$20)|0); - $22 = HEAP32[$rc>>2]|0; - $23 = $22 | $21; - HEAP32[$rc>>2] = $23; - } - $24 = HEAP32[$ii>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$ii>>2] = $25; + $13 = (($12) + ($11)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = HEAP32[$cksum>>2]|0; + $17 = (($16) + ($15))|0; + HEAP32[$cksum>>2] = $17; + $18 = HEAP32[$i>>2]|0; + $19 = (($18) - 200)|0; + HEAP32[$i>>2] = $19; } - $26 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($26|0); + $20 = HEAP32[$cksum>>2]|0; + STACKTOP = sp;return ($20|0); } -function _allSpaces($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3PagerLookup($pPager,$pgno) { + $pPager = $pPager|0; + $pgno = $pgno|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $n; + $0 = sp + 8|0; + $1 = sp + 4|0; + $pPage = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $pgno; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 204|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3PcacheFetch($4,$5,0)|0); + HEAP32[$pPage>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 204|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$pPage>>2]|0; + $12 = (_sqlite3PcacheFetchFinish($9,$10,$11)|0); + STACKTOP = sp;return ($12|0); +} +function _sqlite3BackupUpdate($pBackup,$iPage,$aData) { + $pBackup = $pBackup|0; + $iPage = $iPage|0; + $aData = $aData|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $p = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pBackup; + HEAP32[$1>>2] = $iPage; + HEAP32[$2>>2] = $aData; + $3 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $3; while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (($4) - 1)|0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + ($5)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)==(32); - $15 = $10; - } else { - $15 = 0; - } - $11 = HEAP32[$1>>2]|0; - if (!($15)) { + $4 = HEAP32[$p>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { break; } - $12 = (($11) + -1)|0; - HEAP32[$1>>2] = $12; + $6 = HEAP32[$p>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_isFatalError($8)|0); + $10 = ($9|0)!=(0); + if (!($10)) { + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$p>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($11>>>0)<($14>>>0); + if ($15) { + $16 = HEAP32[$p>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = (_backupOnePage($16,$17,$18,1)|0); + HEAP32[$rc>>2] = $19; + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$rc>>2]|0; + $23 = HEAP32[$p>>2]|0; + $24 = ((($23)) + 28|0); + HEAP32[$24>>2] = $22; + } + } + } + $25 = HEAP32[$p>>2]|0; + $26 = ((($25)) + 44|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$p>>2] = $27; } - $13 = ($11|0)==(0); - $14 = $13&1; - STACKTOP = sp;return ($14|0); + STACKTOP = sp;return; } -function _logBadConnection($zType) { - $zType = $zType|0; - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _sqlite3PcacheMakeDirty($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - HEAP32[$0>>2] = $zType; + $0 = sp; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - _sqlite3_log(21,4880,$vararg_buffer); + $2 = ((($1)) + 24|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & -33; + $6 = $5&65535; + HEAP16[$2>>1] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = $10 & 2; + $12 = (0)==($11|0); + if (!($12)) { + STACKTOP = sp;return; + } + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = $16 | 2; + $18 = $17&65535; + HEAP16[$14>>1] = $18; + $19 = HEAP32[$0>>2]|0; + _pcacheManageDirtyList($19,2); STACKTOP = sp;return; } -function _sqlite3BtreeCheckpoint($p,$eMode,$pnLog,$pnCkpt) { +function _sqlite3PcacheRelease($p) { $p = $p|0; - $eMode = $eMode|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $rc = sp + 4|0; - $pBt = sp; + STACKTOP = STACKTOP + 16|0; + $0 = sp; HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $eMode; - HEAP32[$2>>2] = $pnLog; - HEAP32[$3>>2] = $pnCkpt; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 26|0); + $3 = HEAP16[$2>>1]|0; + $4 = (($3) + -1)<<16>>16; + HEAP16[$2>>1] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 26|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7 << 16 >> 16; + $9 = ($8|0)==(0); + if (!($9)) { + STACKTOP = sp;return; } - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pBt>>2] = $8; - $9 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($9); - $10 = HEAP32[$pBt>>2]|0; - $11 = (($10) + 20|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$rc>>2] = 6; - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); - } else { - $15 = HEAP32[$pBt>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$3>>2]|0; - $20 = (_sqlite3PagerCheckpoint($16,$17,$18,$19)|0); - HEAP32[$rc>>2] = $20; - $21 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($21|0); + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + -1)|0; + HEAP32[$13>>2] = $15; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18&65535; + $20 = $19 & 2; + $21 = ($20|0)==(0); + $22 = HEAP32[$0>>2]|0; + if ($21) { + _pcacheUnpin($22); + STACKTOP = sp;return; + } + $23 = ((($22)) + 36|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + STACKTOP = sp;return; } - return 0|0; + $26 = HEAP32[$0>>2]|0; + _pcacheManageDirtyList($26,3); + STACKTOP = sp;return; } -function _sqlite3PagerCheckpoint($pPager,$eMode,$pnLog,$pnCkpt) { - $pPager = $pPager|0; - $eMode = $eMode|0; - $pnLog = $pnLog|0; - $pnCkpt = $pnCkpt|0; +function _sqlite3PcacheFetch($pCache,$pgno,$createFlag) { + $pCache = $pCache|0; + $pgno = $pgno|0; + $createFlag = $createFlag|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eCreate = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $eCreate = sp; + HEAP32[$0>>2] = $pCache; + HEAP32[$1>>2] = $pgno; + HEAP32[$2>>2] = $createFlag; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 29|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $3 & $7; + HEAP32[$eCreate>>2] = $8; + $9 = HEAP32[(140)>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$eCreate>>2]|0; + $15 = (FUNCTION_TABLE_iiii[$9 & 31]($12,$13,$14)|0); + STACKTOP = sp;return ($15|0); +} +function _sqlite3PcacheFetchFinish($pCache,$pgno,$pPage) { + $pCache = $pCache|0; + $pgno = $pgno|0; + $pPage = $pPage|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; $2 = sp + 8|0; $3 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $eMode; - HEAP32[$2>>2] = $pnLog; - HEAP32[$3>>2] = $pnCkpt; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 208|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $31 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($31|0); + $pPgHdr = sp; + HEAP32[$1>>2] = $pCache; + HEAP32[$2>>2] = $pgno; + HEAP32[$3>>2] = $pPage; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 208|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 176|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 180|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 9|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 152|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 200|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = (_sqlite3WalCheckpoint($10,$11,$14,$17,$21,$24,$27,$28,$29)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($31|0); -} -function _functionSearch($pHash,$h,$zFunc,$nFunc) { - $pHash = $pHash|0; - $h = $h|0; - $zFunc = $zFunc|0; - $nFunc = $nFunc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pHash; - HEAP32[$2>>2] = $h; - HEAP32[$3>>2] = $zFunc; - HEAP32[$4>>2] = $nFunc; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + ($5<<2)|0); + $6 = HEAP32[$3>>2]|0; + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; - while(1) { - $9 = HEAP32[$p>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - label = 7; - break; - } - $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 24|0); - $13 = HEAP32[$12>>2]|0; + HEAP32[$pPgHdr>>2] = $8; + $9 = HEAP32[$pPgHdr>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$2>>2]|0; $14 = HEAP32[$3>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = (_sqlite3_strnicmp($13,$14,$15)|0); - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$4>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23 << 24 >> 24; - $25 = ($24|0)==(0); - if ($25) { - label = 5; - break; - } - } - $27 = HEAP32[$p>>2]|0; - $28 = (($27) + 28|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$p>>2] = $29; + $15 = (_pcacheFetchFinishWithInit($12,$13,$14)|0); + HEAP32[$0>>2] = $15; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } - if ((label|0) == 5) { - $26 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $26; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + $16 = HEAP32[$pPgHdr>>2]|0; + $17 = ((($16)) + 26|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18 << 16 >> 16; + $20 = (0)==($19|0); + if ($20) { + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 12|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$22>>2] = $24; } - else if ((label|0) == 7) { - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); + $25 = HEAP32[$pPgHdr>>2]|0; + $26 = ((($25)) + 26|0); + $27 = HEAP16[$26>>1]|0; + $28 = (($27) + 1)<<16>>16; + HEAP16[$26>>1] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = ($29|0)==(1); + if ($30) { + $31 = HEAP32[$pPgHdr>>2]|0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 44|0); + HEAP32[$33>>2] = $31; } - return 0|0; + $34 = HEAP32[$pPgHdr>>2]|0; + HEAP32[$0>>2] = $34; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } -function _matchQuality($p,$nArg,$enc) { - $p = $p|0; - $nArg = $nArg|0; - $enc = $enc|0; +function _pcacheFetchFinishWithInit($pCache,$pgno,$pPage) { + $pCache = $pCache|0; + $pgno = $pgno|0; + $pPage = $pPage|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $match = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $3 = sp + 16|0; - $match = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $nArg; - HEAP8[$3>>0] = $enc; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(-2); - $6 = HEAP32[$1>>2]|0; - if ($5) { - $7 = (($6) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0|0); - $15 = $13; - } else { - $15 = 0; - } - $14 = $15 ? 0 : 6; - HEAP32[$0>>2] = $14; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); - } - $16 = HEAP16[$6>>1]|0; - $17 = $16 << 16 >> 16; - $18 = HEAP32[$2>>2]|0; - $19 = ($17|0)!=($18|0); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($22|0)>=(0); - if ($23) { - HEAP32[$0>>2] = 0; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); - } - } - $24 = HEAP32[$1>>2]|0; - $25 = HEAP16[$24>>1]|0; - $26 = $25 << 16 >> 16; - $27 = HEAP32[$2>>2]|0; - $28 = ($26|0)==($27|0); - if ($28) { - HEAP32[$match>>2] = 4; - } else { - HEAP32[$match>>2] = 1; - } - $29 = HEAP8[$3>>0]|0; - $30 = $29&255; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 2|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = $34 & 3; - $36 = ($30|0)==($35|0); - if ($36) { - $37 = HEAP32[$match>>2]|0; - $38 = (($37) + 2)|0; - HEAP32[$match>>2] = $38; - } else { - $39 = HEAP8[$3>>0]|0; - $40 = $39&255; - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 2|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = $40 & $44; - $46 = $45 & 2; - $47 = ($46|0)!=(0); - if ($47) { - $48 = HEAP32[$match>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$match>>2] = $49; - } - } - $50 = HEAP32[$match>>2]|0; - HEAP32[$0>>2] = $50; - $51 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($51|0); + $pPgHdr = sp; + HEAP32[$0>>2] = $pCache; + HEAP32[$1>>2] = $pgno; + HEAP32[$2>>2] = $pPage; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pPgHdr>>2] = $5; + $6 = HEAP32[$pPgHdr>>2]|0; + dest=$6; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$pPgHdr>>2]|0; + HEAP32[$8>>2] = $7; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$pPgHdr>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$pPgHdr>>2]|0; + $14 = ((($13)) + 40|0); + $15 = HEAP32[$pPgHdr>>2]|0; + $16 = ((($15)) + 8|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$pPgHdr>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + _memset(($19|0),0,($22|0))|0; + $23 = HEAP32[$0>>2]|0; + $24 = HEAP32[$pPgHdr>>2]|0; + $25 = ((($24)) + 28|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$1>>2]|0; + $27 = HEAP32[$pPgHdr>>2]|0; + $28 = ((($27)) + 20|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = HEAP32[$2>>2]|0; + $32 = (_sqlite3PcacheFetchFinish($29,$30,$31)|0); + STACKTOP = sp;return ($32|0); } -function _sqlite3FuncDefInsert($pHash,$pDef) { - $pHash = $pHash|0; - $pDef = $pDef|0; +function _journalHdrOffset($pPager) { + $pPager = $pPager|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c1 = 0, $h = 0, $nName = 0, $pOther = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $offset = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; - $1 = sp + 12|0; - $pOther = sp + 8|0; - $nName = sp + 4|0; - $c1 = sp + 20|0; - $h = sp; - HEAP32[$0>>2] = $pHash; - HEAP32[$1>>2] = $pDef; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - HEAP32[$nName>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP8[$8>>0]|0; - HEAP8[$c1>>0] = $9; - $10 = HEAP8[$c1>>0]|0; - $11 = $10&255; - $12 = (440 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = HEAP32[$nName>>2]|0; - $16 = (($14) + ($15))|0; - $17 = (($16|0) % 23)&-1; - HEAP32[$h>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$h>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 24|0); + $offset = sp + 8|0; + $c = sp; + HEAP32[$0>>2] = $pPager; + $1 = $offset; + $2 = $1; + HEAP32[$2>>2] = 0; + $3 = (($1) + 4)|0; + $4 = $3; + HEAP32[$4>>2] = 0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 72|0); + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $c; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = $c; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (($17) + 4)|0; + $21 = $20; $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$nName>>2]|0; - $24 = (_functionSearch($18,$19,$22,$23)|0); - HEAP32[$pOther>>2] = $24; - $25 = HEAP32[$pOther>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$pOther>>2]|0; - $28 = (($27) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 8|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$pOther>>2]|0; - $34 = (($33) + 8|0); - HEAP32[$34>>2] = $32; - STACKTOP = sp;return; - } else { - $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 8|0); - HEAP32[$36>>2] = 0; - $37 = HEAP32[$h>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = (($38) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 28|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$h>>2]|0; - $45 = HEAP32[$0>>2]|0; - $46 = (($45) + ($44<<2)|0); - HEAP32[$46>>2] = $43; - STACKTOP = sp;return; - } -} -function _sqlite3VdbeChangeEncoding($pMem,$desiredEnc) { - $pMem = $pMem|0; - $desiredEnc = $desiredEnc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pMem; - HEAP32[$2>>2] = $desiredEnc; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 2; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 10|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$2>>2]|0; - $14 = ($12|0)==($13|0); - if (!($14)) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = $16&255; - $18 = (_sqlite3VdbeMemTranslate($15,$17)|0); - HEAP32[$rc>>2] = $18; - $19 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $19; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); - } + $23 = ($19|0)!=(0); + $24 = ($22|0)!=(0); + $25 = $23 | $24; + if (!($25)) { + $50 = $offset; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + tempRet0 = ($55); + STACKTOP = sp;return ($52|0); } - HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $26 = $c; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (_i64Subtract(($28|0),($31|0),1,0)|0); + $33 = tempRet0; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 148|0); + $36 = HEAP32[$35>>2]|0; + $37 = (___divdi3(($32|0),($33|0),($36|0),0)|0); + $38 = tempRet0; + $39 = (_i64Add(($37|0),($38|0),1,0)|0); + $40 = tempRet0; + $41 = HEAP32[$0>>2]|0; + $42 = ((($41)) + 148|0); + $43 = HEAP32[$42>>2]|0; + $44 = (___muldi3(($39|0),($40|0),($43|0),0)|0); + $45 = tempRet0; + $46 = $offset; + $47 = $46; + HEAP32[$47>>2] = $44; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = $offset; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + tempRet0 = ($55); + STACKTOP = sp;return ($52|0); } -function _sqlite3VdbeMemTranslate($pMem,$desiredEnc) { - $pMem = $pMem|0; - $desiredEnc = $desiredEnc|0; +function _pagerPlaybackSavepoint($pPager,$pSavepoint) { + $pPager = $pPager|0; + $pSavepoint = $pSavepoint|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; @@ -44790,4823 +45848,3700 @@ function _sqlite3VdbeMemTranslate($pMem,$desiredEnc) { var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $3 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $c2 = 0, $c21 = 0, $len = 0, $or$cond = 0; - var $or$cond3 = 0, $rc = 0, $temp = 0, $z = 0, $zIn = 0, $zOut = 0, $zTerm = 0, label = 0, sp = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dummy = 0, $iHdrOff = 0, $ii = 0, $ii1 = 0, $nJRec = 0; + var $offset = 0, $pDone = 0, $rc = 0, $szJ = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 28|0; $1 = sp + 36|0; - $2 = sp + 45|0; - $len = sp + 32|0; - $zOut = sp + 28|0; - $zIn = sp + 24|0; - $zTerm = sp + 20|0; - $z = sp + 16|0; - $c = sp + 12|0; - $temp = sp + 44|0; - $rc = sp + 8|0; - $c2 = sp + 4|0; - $c21 = sp; - HEAP32[$1>>2] = $pMem; - HEAP8[$2>>0] = $desiredEnc; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 10|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)!=(1); - if ($7) { - $8 = HEAP8[$2>>0]|0; - $9 = $8&255; - $10 = ($9|0)!=(1); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (_sqlite3VdbeMemMakeWriteable($11)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - HEAP32[$0>>2] = 7; - $552 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($552|0); - } - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$zIn>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 & -2; - $22 = HEAP32[$zIn>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$zTerm>>2] = $23; - while(1) { - $24 = HEAP32[$zIn>>2]|0; - $25 = HEAP32[$zTerm>>2]|0; - $26 = ($24>>>0)<($25>>>0); - if (!($26)) { - break; - } - $27 = HEAP32[$zIn>>2]|0; - $28 = HEAP8[$27>>0]|0; - HEAP8[$temp>>0] = $28; - $29 = HEAP32[$zIn>>2]|0; - $30 = (($29) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = HEAP32[$zIn>>2]|0; - HEAP8[$32>>0] = $31; - $33 = HEAP32[$zIn>>2]|0; - $34 = (($33) + 1|0); - HEAP32[$zIn>>2] = $34; - $35 = HEAP8[$temp>>0]|0; - $36 = HEAP32[$zIn>>2]|0; - $37 = (($36) + 1|0); - HEAP32[$zIn>>2] = $37; - HEAP8[$36>>0] = $35; - } - $38 = HEAP8[$2>>0]|0; - $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 10|0); - HEAP8[$40>>0] = $38; - } else { - label = 9; + $2 = sp + 32|0; + $szJ = sp + 8|0; + $iHdrOff = sp + 16|0; + $rc = sp + 24|0; + $pDone = sp + 56|0; + $ii = sp + 40|0; + $nJRec = sp + 44|0; + $dummy = sp + 48|0; + $ii1 = sp + 52|0; + $offset = sp; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $pSavepoint; + HEAP32[$rc>>2] = 0; + HEAP32[$pDone>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3BitvecCreate($7)|0); + HEAP32[$pDone>>2] = $8; + $9 = HEAP32[$pDone>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + HEAP32[$0>>2] = 7; + $294 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($294|0); } + } + $11 = HEAP32[$2>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $21 = $15; } else { - label = 9; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $21 = $18; } - if ((label|0) == 9) { - $41 = HEAP8[$2>>0]|0; - $42 = $41&255; - $43 = ($42|0)==(1); - $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 12|0); - $46 = HEAP32[$45>>2]|0; - if ($43) { - $47 = $46 & -2; - HEAP32[$45>>2] = $47; - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = $50<<1; - $52 = (($51) + 1)|0; - HEAP32[$len>>2] = $52; - } else { - $53 = $46<<1; - $54 = (($53) + 2)|0; - HEAP32[$len>>2] = $54; - } - $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 16|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$zIn>>2] = $57; - $58 = HEAP32[$1>>2]|0; - $59 = (($58) + 12|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$zIn>>2]|0; - $62 = (($61) + ($60)|0); - HEAP32[$zTerm>>2] = $62; - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 32|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$len>>2]|0; - $67 = ($66|0)<(0); - $68 = $67 << 31 >> 31; - $69 = (_sqlite3DbMallocRaw($65,$66,$68)|0); - HEAP32[$zOut>>2] = $69; - $70 = HEAP32[$zOut>>2]|0; - $71 = ($70|0)!=(0|0); - if (!($71)) { - HEAP32[$0>>2] = 7; - $552 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($552|0); + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 24|0); + HEAP32[$20>>2] = $21; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 18|0); + HEAP8[$26>>0] = $24; + $27 = HEAP32[$2>>2]|0; + $28 = ($27|0)!=(0|0); + if (!($28)) { + $29 = HEAP32[$1>>2]|0; + $30 = (_pagerUseWal($29)|0); + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$1>>2]|0; + $33 = (_pagerRollbackWal($32)|0); + HEAP32[$0>>2] = $33; + $294 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($294|0); } - $72 = HEAP32[$zOut>>2]|0; - HEAP32[$z>>2] = $72; - $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 10|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ($76|0)==(1); - if ($77) { - $78 = HEAP8[$2>>0]|0; - $79 = $78&255; - $80 = ($79|0)==(2); - L59: do { - if ($80) { - while(1) { - $81 = HEAP32[$zIn>>2]|0; - $82 = HEAP32[$zTerm>>2]|0; - $83 = ($81>>>0)<($82>>>0); - if (!($83)) { - break L59; - } - $84 = HEAP32[$zIn>>2]|0; - $85 = (($84) + 1|0); - HEAP32[$zIn>>2] = $85; - $86 = HEAP8[$84>>0]|0; - $87 = $86&255; - HEAP32[$c>>2] = $87; - $88 = HEAP32[$c>>2]|0; - $89 = ($88>>>0)>=(192); - do { - if ($89) { - $90 = HEAP32[$c>>2]|0; - $91 = (($90) - 192)|0; - $92 = (4984 + ($91)|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - HEAP32[$c>>2] = $94; - while(1) { - $95 = HEAP32[$zIn>>2]|0; - $96 = HEAP32[$zTerm>>2]|0; - $97 = ($95|0)!=($96|0); - if ($97) { - $98 = HEAP32[$zIn>>2]|0; - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $101 = $100 & 192; - $102 = ($101|0)==(128); - $553 = $102; - } else { - $553 = 0; - } - $103 = HEAP32[$c>>2]|0; - if (!($553)) { - break; - } - $104 = $103 << 6; - $105 = HEAP32[$zIn>>2]|0; - $106 = (($105) + 1|0); - HEAP32[$zIn>>2] = $106; - $107 = HEAP8[$105>>0]|0; - $108 = $107&255; - $109 = 63 & $108; - $110 = (($104) + ($109))|0; - HEAP32[$c>>2] = $110; - } - $111 = ($103>>>0)<(128); - if (!($111)) { - $112 = HEAP32[$c>>2]|0; - $113 = $112 & -2048; - $114 = ($113|0)==(55296); - if (!($114)) { - $115 = HEAP32[$c>>2]|0; - $116 = $115 & -2; - $117 = ($116|0)==(65534); - if (!($117)) { - break; - } - } - } - HEAP32[$c>>2] = 65533; - } - } while(0); - $118 = HEAP32[$c>>2]|0; - $119 = ($118>>>0)<=(65535); - $120 = HEAP32[$c>>2]|0; - if ($119) { - $121 = $120 & 255; - $122 = $121&255; - $123 = HEAP32[$z>>2]|0; - $124 = (($123) + 1|0); - HEAP32[$z>>2] = $124; - HEAP8[$123>>0] = $122; - $125 = HEAP32[$c>>2]|0; - $126 = $125 >>> 8; - $127 = $126 & 255; - $128 = $127&255; - $129 = HEAP32[$z>>2]|0; - $130 = (($129) + 1|0); - HEAP32[$z>>2] = $130; - HEAP8[$129>>0] = $128; - continue; - } else { - $131 = $120 >>> 10; - $132 = $131 & 63; - $133 = HEAP32[$c>>2]|0; - $134 = (($133) - 65536)|0; - $135 = $134 >>> 10; - $136 = $135 & 192; - $137 = (($132) + ($136))|0; - $138 = $137&255; - $139 = HEAP32[$z>>2]|0; - $140 = (($139) + 1|0); - HEAP32[$z>>2] = $140; - HEAP8[$139>>0] = $138; - $141 = HEAP32[$c>>2]|0; - $142 = (($141) - 65536)|0; - $143 = $142 >>> 18; - $144 = $143 & 3; - $145 = (216 + ($144))|0; - $146 = $145&255; - $147 = HEAP32[$z>>2]|0; - $148 = (($147) + 1|0); - HEAP32[$z>>2] = $148; - HEAP8[$147>>0] = $146; - $149 = HEAP32[$c>>2]|0; - $150 = $149 & 255; - $151 = $150&255; - $152 = HEAP32[$z>>2]|0; - $153 = (($152) + 1|0); - HEAP32[$z>>2] = $153; - HEAP8[$152>>0] = $151; - $154 = HEAP32[$c>>2]|0; - $155 = $154 >>> 8; - $156 = $155 & 3; - $157 = (220 + ($156))|0; - $158 = $157&255; - $159 = HEAP32[$z>>2]|0; - $160 = (($159) + 1|0); - HEAP32[$z>>2] = $160; - HEAP8[$159>>0] = $158; - continue; - } - } + } + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 72|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = $szJ; + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = HEAP32[$2>>2]|0; + $47 = ($46|0)!=(0|0); + L15: do { + if ($47) { + $48 = HEAP32[$1>>2]|0; + $49 = (_pagerUseWal($48)|0); + $50 = ($49|0)!=(0); + if ($50) { + label = 19; + } else { + $51 = HEAP32[$2>>2]|0; + $52 = ((($51)) + 8|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = ($55|0)!=(0); + $60 = ($58|0)!=(0); + $61 = $59 | $60; + if ($61) { + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 8|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $78 = $66;$81 = $69; } else { - while(1) { - $161 = HEAP32[$zIn>>2]|0; - $162 = HEAP32[$zTerm>>2]|0; - $163 = ($161>>>0)<($162>>>0); - if (!($163)) { - break L59; - } - $164 = HEAP32[$zIn>>2]|0; - $165 = (($164) + 1|0); - HEAP32[$zIn>>2] = $165; - $166 = HEAP8[$164>>0]|0; - $167 = $166&255; - HEAP32[$c>>2] = $167; - $168 = HEAP32[$c>>2]|0; - $169 = ($168>>>0)>=(192); - do { - if ($169) { - $170 = HEAP32[$c>>2]|0; - $171 = (($170) - 192)|0; - $172 = (4984 + ($171)|0); - $173 = HEAP8[$172>>0]|0; - $174 = $173&255; - HEAP32[$c>>2] = $174; - while(1) { - $175 = HEAP32[$zIn>>2]|0; - $176 = HEAP32[$zTerm>>2]|0; - $177 = ($175|0)!=($176|0); - if ($177) { - $178 = HEAP32[$zIn>>2]|0; - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = $180 & 192; - $182 = ($181|0)==(128); - $554 = $182; - } else { - $554 = 0; - } - $183 = HEAP32[$c>>2]|0; - if (!($554)) { - break; - } - $184 = $183 << 6; - $185 = HEAP32[$zIn>>2]|0; - $186 = (($185) + 1|0); - HEAP32[$zIn>>2] = $186; - $187 = HEAP8[$185>>0]|0; - $188 = $187&255; - $189 = 63 & $188; - $190 = (($184) + ($189))|0; - HEAP32[$c>>2] = $190; - } - $191 = ($183>>>0)<(128); - if (!($191)) { - $192 = HEAP32[$c>>2]|0; - $193 = $192 & -2048; - $194 = ($193|0)==(55296); - if (!($194)) { - $195 = HEAP32[$c>>2]|0; - $196 = $195 & -2; - $197 = ($196|0)==(65534); - if (!($197)) { - break; - } - } - } - HEAP32[$c>>2] = 65533; - } - } while(0); - $198 = HEAP32[$c>>2]|0; - $199 = ($198>>>0)<=(65535); - $200 = HEAP32[$c>>2]|0; - if ($199) { - $201 = $200 >>> 8; - $202 = $201 & 255; - $203 = $202&255; - $204 = HEAP32[$z>>2]|0; - $205 = (($204) + 1|0); - HEAP32[$z>>2] = $205; - HEAP8[$204>>0] = $203; - $206 = HEAP32[$c>>2]|0; - $207 = $206 & 255; - $208 = $207&255; - $209 = HEAP32[$z>>2]|0; - $210 = (($209) + 1|0); - HEAP32[$z>>2] = $210; - HEAP8[$209>>0] = $208; - continue; - } else { - $211 = (($200) - 65536)|0; - $212 = $211 >>> 18; - $213 = $212 & 3; - $214 = (216 + ($213))|0; - $215 = $214&255; - $216 = HEAP32[$z>>2]|0; - $217 = (($216) + 1|0); - HEAP32[$z>>2] = $217; - HEAP8[$216>>0] = $215; - $218 = HEAP32[$c>>2]|0; - $219 = $218 >>> 10; - $220 = $219 & 63; - $221 = HEAP32[$c>>2]|0; - $222 = (($221) - 65536)|0; - $223 = $222 >>> 10; - $224 = $223 & 192; - $225 = (($220) + ($224))|0; - $226 = $225&255; - $227 = HEAP32[$z>>2]|0; - $228 = (($227) + 1|0); - HEAP32[$z>>2] = $228; - HEAP8[$227>>0] = $226; - $229 = HEAP32[$c>>2]|0; - $230 = $229 >>> 8; - $231 = $230 & 3; - $232 = (220 + ($231))|0; - $233 = $232&255; - $234 = HEAP32[$z>>2]|0; - $235 = (($234) + 1|0); - HEAP32[$z>>2] = $235; - HEAP8[$234>>0] = $233; - $236 = HEAP32[$c>>2]|0; - $237 = $236 & 255; - $238 = $237&255; - $239 = HEAP32[$z>>2]|0; - $240 = (($239) + 1|0); - HEAP32[$z>>2] = $240; - HEAP8[$239>>0] = $238; - continue; - } - } + $70 = $szJ; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = (($70) + 4)|0; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $78 = $72;$81 = $75; } - } while(0); - $241 = HEAP32[$z>>2]|0; - $242 = HEAP32[$zOut>>2]|0; - $243 = $241; - $244 = $242; - $245 = (($243) - ($244))|0; - $246 = HEAP32[$1>>2]|0; - $247 = (($246) + 12|0); - HEAP32[$247>>2] = $245; - $248 = HEAP32[$z>>2]|0; - $249 = (($248) + 1|0); - HEAP32[$z>>2] = $249; - HEAP8[$248>>0] = 0; - } else { - $250 = HEAP32[$1>>2]|0; - $251 = (($250) + 10|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $254 = ($253|0)==(2); - L24: do { - if ($254) { - while(1) { - $255 = HEAP32[$zIn>>2]|0; - $256 = HEAP32[$zTerm>>2]|0; - $257 = ($255>>>0)<($256>>>0); - if (!($257)) { - break L24; - } - $258 = HEAP32[$zIn>>2]|0; - $259 = (($258) + 1|0); - HEAP32[$zIn>>2] = $259; - $260 = HEAP8[$258>>0]|0; - $261 = $260&255; - HEAP32[$c>>2] = $261; - $262 = HEAP32[$zIn>>2]|0; - $263 = (($262) + 1|0); - HEAP32[$zIn>>2] = $263; - $264 = HEAP8[$262>>0]|0; - $265 = $264&255; - $266 = $265 << 8; - $267 = HEAP32[$c>>2]|0; - $268 = (($267) + ($266))|0; - HEAP32[$c>>2] = $268; - $269 = HEAP32[$c>>2]|0; - $270 = ($269>>>0)>=(55296); - $271 = HEAP32[$c>>2]|0; - $272 = ($271>>>0)<(57344); - $or$cond = $270 & $272; - if ($or$cond) { - $273 = HEAP32[$zIn>>2]|0; - $274 = HEAP32[$zTerm>>2]|0; - $275 = ($273>>>0)<($274>>>0); - if ($275) { - $276 = HEAP32[$zIn>>2]|0; - $277 = (($276) + 1|0); - HEAP32[$zIn>>2] = $277; - $278 = HEAP8[$276>>0]|0; - $279 = $278&255; - HEAP32[$c2>>2] = $279; - $280 = HEAP32[$zIn>>2]|0; - $281 = (($280) + 1|0); - HEAP32[$zIn>>2] = $281; - $282 = HEAP8[$280>>0]|0; - $283 = $282&255; - $284 = $283 << 8; - $285 = HEAP32[$c2>>2]|0; - $286 = (($285) + ($284))|0; - HEAP32[$c2>>2] = $286; - $287 = HEAP32[$c2>>2]|0; - $288 = $287 & 1023; - $289 = HEAP32[$c>>2]|0; - $290 = $289 & 63; - $291 = $290 << 10; - $292 = (($288) + ($291))|0; - $293 = HEAP32[$c>>2]|0; - $294 = $293 & 960; - $295 = (($294) + 64)|0; - $296 = $295 << 10; - $297 = (($292) + ($296))|0; - HEAP32[$c>>2] = $297; - } - } - $298 = HEAP32[$c>>2]|0; - $299 = ($298>>>0)<(128); - $300 = HEAP32[$c>>2]|0; - if ($299) { - $301 = $300 & 255; - $302 = $301&255; - $303 = HEAP32[$z>>2]|0; - $304 = (($303) + 1|0); - HEAP32[$z>>2] = $304; - HEAP8[$303>>0] = $302; - continue; - } - $305 = ($300>>>0)<(2048); - $306 = HEAP32[$c>>2]|0; - if ($305) { - $307 = $306 >>> 6; - $308 = $307 & 31; - $309 = $308&255; - $310 = $309&255; - $311 = (192 + ($310))|0; - $312 = $311&255; - $313 = HEAP32[$z>>2]|0; - $314 = (($313) + 1|0); - HEAP32[$z>>2] = $314; - HEAP8[$313>>0] = $312; - $315 = HEAP32[$c>>2]|0; - $316 = $315 & 63; - $317 = $316&255; - $318 = $317&255; - $319 = (128 + ($318))|0; - $320 = $319&255; - $321 = HEAP32[$z>>2]|0; - $322 = (($321) + 1|0); - HEAP32[$z>>2] = $322; - HEAP8[$321>>0] = $320; - continue; - } - $323 = ($306>>>0)<(65536); - $324 = HEAP32[$c>>2]|0; - if ($323) { - $325 = $324 >>> 12; - $326 = $325 & 15; - $327 = $326&255; - $328 = $327&255; - $329 = (224 + ($328))|0; - $330 = $329&255; - $331 = HEAP32[$z>>2]|0; - $332 = (($331) + 1|0); - HEAP32[$z>>2] = $332; - HEAP8[$331>>0] = $330; - $333 = HEAP32[$c>>2]|0; - $334 = $333 >>> 6; - $335 = $334 & 63; - $336 = $335&255; - $337 = $336&255; - $338 = (128 + ($337))|0; - $339 = $338&255; - $340 = HEAP32[$z>>2]|0; - $341 = (($340) + 1|0); - HEAP32[$z>>2] = $341; - HEAP8[$340>>0] = $339; - $342 = HEAP32[$c>>2]|0; - $343 = $342 & 63; - $344 = $343&255; - $345 = $344&255; - $346 = (128 + ($345))|0; - $347 = $346&255; - $348 = HEAP32[$z>>2]|0; - $349 = (($348) + 1|0); - HEAP32[$z>>2] = $349; - HEAP8[$348>>0] = $347; - continue; - } else { - $350 = $324 >>> 18; - $351 = $350 & 7; - $352 = $351&255; - $353 = $352&255; - $354 = (240 + ($353))|0; - $355 = $354&255; - $356 = HEAP32[$z>>2]|0; - $357 = (($356) + 1|0); - HEAP32[$z>>2] = $357; - HEAP8[$356>>0] = $355; - $358 = HEAP32[$c>>2]|0; - $359 = $358 >>> 12; - $360 = $359 & 63; - $361 = $360&255; - $362 = $361&255; - $363 = (128 + ($362))|0; - $364 = $363&255; - $365 = HEAP32[$z>>2]|0; - $366 = (($365) + 1|0); - HEAP32[$z>>2] = $366; - HEAP8[$365>>0] = $364; - $367 = HEAP32[$c>>2]|0; - $368 = $367 >>> 6; - $369 = $368 & 63; - $370 = $369&255; - $371 = $370&255; - $372 = (128 + ($371))|0; - $373 = $372&255; - $374 = HEAP32[$z>>2]|0; - $375 = (($374) + 1|0); - HEAP32[$z>>2] = $375; - HEAP8[$374>>0] = $373; - $376 = HEAP32[$c>>2]|0; - $377 = $376 & 63; - $378 = $377&255; - $379 = $378&255; - $380 = (128 + ($379))|0; - $381 = $380&255; - $382 = HEAP32[$z>>2]|0; - $383 = (($382) + 1|0); - HEAP32[$z>>2] = $383; - HEAP8[$382>>0] = $381; - continue; - } + $76 = $iHdrOff; + $77 = $76; + HEAP32[$77>>2] = $78; + $79 = (($76) + 4)|0; + $80 = $79; + HEAP32[$80>>2] = $81; + $82 = HEAP32[$2>>2]|0; + $83 = $82; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$1>>2]|0; + $90 = ((($89)) + 72|0); + $91 = $90; + $92 = $91; + HEAP32[$92>>2] = $85; + $93 = (($91) + 4)|0; + $94 = $93; + HEAP32[$94>>2] = $88; + while(1) { + $95 = HEAP32[$rc>>2]|0; + $96 = ($95|0)==(0); + if (!($96)) { + break L15; } - } else { - while(1) { - $384 = HEAP32[$zIn>>2]|0; - $385 = HEAP32[$zTerm>>2]|0; - $386 = ($384>>>0)<($385>>>0); - if (!($386)) { - break L24; - } - $387 = HEAP32[$zIn>>2]|0; - $388 = (($387) + 1|0); - HEAP32[$zIn>>2] = $388; - $389 = HEAP8[$387>>0]|0; - $390 = $389&255; - $391 = $390 << 8; - HEAP32[$c>>2] = $391; - $392 = HEAP32[$zIn>>2]|0; - $393 = (($392) + 1|0); - HEAP32[$zIn>>2] = $393; - $394 = HEAP8[$392>>0]|0; - $395 = $394&255; - $396 = HEAP32[$c>>2]|0; - $397 = (($396) + ($395))|0; - HEAP32[$c>>2] = $397; - $398 = HEAP32[$c>>2]|0; - $399 = ($398>>>0)>=(55296); - $400 = HEAP32[$c>>2]|0; - $401 = ($400>>>0)<(57344); - $or$cond3 = $399 & $401; - if ($or$cond3) { - $402 = HEAP32[$zIn>>2]|0; - $403 = HEAP32[$zTerm>>2]|0; - $404 = ($402>>>0)<($403>>>0); - if ($404) { - $405 = HEAP32[$zIn>>2]|0; - $406 = (($405) + 1|0); - HEAP32[$zIn>>2] = $406; - $407 = HEAP8[$405>>0]|0; - $408 = $407&255; - $409 = $408 << 8; - HEAP32[$c21>>2] = $409; - $410 = HEAP32[$zIn>>2]|0; - $411 = (($410) + 1|0); - HEAP32[$zIn>>2] = $411; - $412 = HEAP8[$410>>0]|0; - $413 = $412&255; - $414 = HEAP32[$c21>>2]|0; - $415 = (($414) + ($413))|0; - HEAP32[$c21>>2] = $415; - $416 = HEAP32[$c21>>2]|0; - $417 = $416 & 1023; - $418 = HEAP32[$c>>2]|0; - $419 = $418 & 63; - $420 = $419 << 10; - $421 = (($417) + ($420))|0; - $422 = HEAP32[$c>>2]|0; - $423 = $422 & 960; - $424 = (($423) + 64)|0; - $425 = $424 << 10; - $426 = (($421) + ($425))|0; - HEAP32[$c>>2] = $426; - } - } - $427 = HEAP32[$c>>2]|0; - $428 = ($427>>>0)<(128); - $429 = HEAP32[$c>>2]|0; - if ($428) { - $430 = $429 & 255; - $431 = $430&255; - $432 = HEAP32[$z>>2]|0; - $433 = (($432) + 1|0); - HEAP32[$z>>2] = $433; - HEAP8[$432>>0] = $431; - continue; - } - $434 = ($429>>>0)<(2048); - $435 = HEAP32[$c>>2]|0; - if ($434) { - $436 = $435 >>> 6; - $437 = $436 & 31; - $438 = $437&255; - $439 = $438&255; - $440 = (192 + ($439))|0; - $441 = $440&255; - $442 = HEAP32[$z>>2]|0; - $443 = (($442) + 1|0); - HEAP32[$z>>2] = $443; - HEAP8[$442>>0] = $441; - $444 = HEAP32[$c>>2]|0; - $445 = $444 & 63; - $446 = $445&255; - $447 = $446&255; - $448 = (128 + ($447))|0; - $449 = $448&255; - $450 = HEAP32[$z>>2]|0; - $451 = (($450) + 1|0); - HEAP32[$z>>2] = $451; - HEAP8[$450>>0] = $449; - continue; - } - $452 = ($435>>>0)<(65536); - $453 = HEAP32[$c>>2]|0; - if ($452) { - $454 = $453 >>> 12; - $455 = $454 & 15; - $456 = $455&255; - $457 = $456&255; - $458 = (224 + ($457))|0; - $459 = $458&255; - $460 = HEAP32[$z>>2]|0; - $461 = (($460) + 1|0); - HEAP32[$z>>2] = $461; - HEAP8[$460>>0] = $459; - $462 = HEAP32[$c>>2]|0; - $463 = $462 >>> 6; - $464 = $463 & 63; - $465 = $464&255; - $466 = $465&255; - $467 = (128 + ($466))|0; - $468 = $467&255; - $469 = HEAP32[$z>>2]|0; - $470 = (($469) + 1|0); - HEAP32[$z>>2] = $470; - HEAP8[$469>>0] = $468; - $471 = HEAP32[$c>>2]|0; - $472 = $471 & 63; - $473 = $472&255; - $474 = $473&255; - $475 = (128 + ($474))|0; - $476 = $475&255; - $477 = HEAP32[$z>>2]|0; - $478 = (($477) + 1|0); - HEAP32[$z>>2] = $478; - HEAP8[$477>>0] = $476; - continue; - } else { - $479 = $453 >>> 18; - $480 = $479 & 7; - $481 = $480&255; - $482 = $481&255; - $483 = (240 + ($482))|0; - $484 = $483&255; - $485 = HEAP32[$z>>2]|0; - $486 = (($485) + 1|0); - HEAP32[$z>>2] = $486; - HEAP8[$485>>0] = $484; - $487 = HEAP32[$c>>2]|0; - $488 = $487 >>> 12; - $489 = $488 & 63; - $490 = $489&255; - $491 = $490&255; - $492 = (128 + ($491))|0; - $493 = $492&255; - $494 = HEAP32[$z>>2]|0; - $495 = (($494) + 1|0); - HEAP32[$z>>2] = $495; - HEAP8[$494>>0] = $493; - $496 = HEAP32[$c>>2]|0; - $497 = $496 >>> 6; - $498 = $497 & 63; - $499 = $498&255; - $500 = $499&255; - $501 = (128 + ($500))|0; - $502 = $501&255; - $503 = HEAP32[$z>>2]|0; - $504 = (($503) + 1|0); - HEAP32[$z>>2] = $504; - HEAP8[$503>>0] = $502; - $505 = HEAP32[$c>>2]|0; - $506 = $505 & 63; - $507 = $506&255; - $508 = $507&255; - $509 = (128 + ($508))|0; - $510 = $509&255; - $511 = HEAP32[$z>>2]|0; - $512 = (($511) + 1|0); - HEAP32[$z>>2] = $512; - HEAP8[$511>>0] = $510; - continue; - } + $97 = HEAP32[$1>>2]|0; + $98 = ((($97)) + 72|0); + $99 = $98; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = (($99) + 4)|0; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = $iHdrOff; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = ($104|0)<($110|0); + $112 = ($101>>>0)<($107>>>0); + $113 = ($104|0)==($110|0); + $114 = $113 & $112; + $115 = $111 | $114; + if (!($115)) { + break L15; } - } - } while(0); - $513 = HEAP32[$z>>2]|0; - $514 = HEAP32[$zOut>>2]|0; - $515 = $513; - $516 = $514; - $517 = (($515) - ($516))|0; - $518 = HEAP32[$1>>2]|0; - $519 = (($518) + 12|0); - HEAP32[$519>>2] = $517; - } - $520 = HEAP32[$z>>2]|0; - HEAP8[$520>>0] = 0; - $521 = HEAP32[$1>>2]|0; - $522 = (($521) + 8|0); - $523 = HEAP16[$522>>1]|0; - $524 = $523&65535; - HEAP32[$c>>2] = $524; - $525 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemRelease($525); - $526 = HEAP32[$c>>2]|0; - $527 = $526 & 31; - $528 = 514 | $527; - $529 = $528&65535; - $530 = HEAP32[$1>>2]|0; - $531 = (($530) + 8|0); - HEAP16[$531>>1] = $529; - $532 = HEAP8[$2>>0]|0; - $533 = HEAP32[$1>>2]|0; - $534 = (($533) + 10|0); - HEAP8[$534>>0] = $532; - $535 = HEAP32[$zOut>>2]|0; - $536 = HEAP32[$1>>2]|0; - $537 = (($536) + 16|0); - HEAP32[$537>>2] = $535; - $538 = HEAP32[$1>>2]|0; - $539 = (($538) + 16|0); - $540 = HEAP32[$539>>2]|0; - $541 = HEAP32[$1>>2]|0; - $542 = (($541) + 20|0); - HEAP32[$542>>2] = $540; - $543 = HEAP32[$1>>2]|0; - $544 = (($543) + 32|0); - $545 = HEAP32[$544>>2]|0; - $546 = HEAP32[$1>>2]|0; - $547 = (($546) + 16|0); - $548 = HEAP32[$547>>2]|0; - $549 = (_sqlite3DbMallocSize($545,$548)|0); - $550 = HEAP32[$1>>2]|0; - $551 = (($550) + 24|0); - HEAP32[$551>>2] = $549; - } - HEAP32[$0>>2] = 0; - $552 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($552|0); -} -function _sqlite3VdbeMemMakeWriteable($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $f = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $f = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 16384; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemExpandBlob($8)|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - HEAP32[$f>>2] = $12; - $13 = HEAP32[$f>>2]|0; - $14 = $13 & 18; - $15 = ($14|0)!=(0); - do { - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 24|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($22|0)!=($25|0); - if (!($26)) { - break; + $116 = HEAP32[$1>>2]|0; + $117 = HEAP32[$1>>2]|0; + $118 = ((($117)) + 72|0); + $119 = HEAP32[$pDone>>2]|0; + $120 = (_pager_playback_one_page($116,$118,$119,1,1)|0); + HEAP32[$rc>>2] = $120; } } - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 2)|0; - $32 = (_sqlite3VdbeMemGrow($27,$31,1)|0); - $33 = ($32|0)!=(0); - if (!($33)) { - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 12|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 16|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($36)|0); - HEAP8[$40>>0] = 0; - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + 1)|0; - $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 16|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($44)|0); - HEAP8[$48>>0] = 0; - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 8|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51&65535; - $53 = $52 | 512; - $54 = $53&65535; - HEAP16[$50>>1] = $54; - break; - } - HEAP32[$0>>2] = 7; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); + } else { + label = 19; } } while(0); - HEAP32[$0>>2] = 0; - $55 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($55|0); -} -function _sqlite3DbMallocSize($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = (_sqlite3MallocSize($5)|0); - HEAP32[$0>>2] = $6; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (_isLookaside($7,$8)|0); - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 248|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - HEAP32[$0>>2] = $14; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } else { - $15 = HEAP32[((38640 + 48|0))>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = (FUNCTION_TABLE_ii[$15 & 31]($16)|0); - HEAP32[$0>>2] = $17; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); - } - return 0|0; -} -function _isLookaside($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 248|0); - $5 = (($4) + 28|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($2>>>0)>=($6>>>0); - if (!($7)) { - $15 = 0; - $14 = $15&1; - STACKTOP = sp;return ($14|0); + if ((label|0) == 19) { + $121 = HEAP32[$1>>2]|0; + $122 = ((($121)) + 72|0); + $123 = $122; + $124 = $123; + HEAP32[$124>>2] = 0; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = 0; } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 248|0); - $11 = (($10) + 32|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($8>>>0)<($12>>>0); - $15 = $13; - $14 = $15&1; - STACKTOP = sp;return ($14|0); -} -function _sqlite3VdbeMemGrow($pMem,$n,$bPreserve) { - $pMem = $pMem|0; - $n = $n|0; - $bPreserve = $bPreserve|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; - HEAP32[$1>>2] = $pMem; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $bPreserve; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 24|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = ($6|0)<($7|0); - do { - if ($8) { - $9 = HEAP32[$2>>2]|0; - $10 = ($9|0)<(32); - if ($10) { - HEAP32[$2>>2] = 32; - } - $11 = HEAP32[$3>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($19|0)==($22|0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 32|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = (_sqlite3DbReallocOrFree($26,$29,$30,$32)|0); - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 20|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 16|0); - HEAP32[$37>>2] = $33; - HEAP32[$3>>2] = 0; - } else { - label = 8; - } - } else { - label = 8; - } - } else { - label = 8; + L28: while(1) { + $127 = HEAP32[$rc>>2]|0; + $128 = ($127|0)==(0); + if (!($128)) { + break; + } + $129 = HEAP32[$1>>2]|0; + $130 = ((($129)) + 72|0); + $131 = $130; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = $szJ; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = ($136|0)<($142|0); + $144 = ($133>>>0)<($139>>>0); + $145 = ($136|0)==($142|0); + $146 = $145 & $144; + $147 = $143 | $146; + if (!($147)) { + break; + } + HEAP32[$nJRec>>2] = 0; + $148 = HEAP32[$1>>2]|0; + $149 = $szJ; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (_readJournalHdr($148,0,$151,$154,$nJRec,$dummy)|0); + HEAP32[$rc>>2] = $155; + $156 = HEAP32[$nJRec>>2]|0; + $157 = ($156|0)==(0); + if ($157) { + $158 = HEAP32[$1>>2]|0; + $159 = ((($158)) + 80|0); + $160 = $159; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (($160) + 4)|0; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = HEAP32[$1>>2]|0; + $167 = ((($166)) + 148|0); + $168 = HEAP32[$167>>2]|0; + $169 = (_i64Add(($162|0),($165|0),($168|0),0)|0); + $170 = tempRet0; + $171 = HEAP32[$1>>2]|0; + $172 = ((($171)) + 72|0); + $173 = $172; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + 4)|0; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = ($169|0)==($175|0); + $180 = ($170|0)==($178|0); + $181 = $179 & $180; + if ($181) { + $182 = $szJ; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (($182) + 4)|0; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = HEAP32[$1>>2]|0; + $189 = ((($188)) + 72|0); + $190 = $189; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = (($190) + 4)|0; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = (_i64Subtract(($184|0),($187|0),($192|0),($195|0))|0); + $197 = tempRet0; + $198 = HEAP32[$1>>2]|0; + $199 = ((($198)) + 152|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + 8)|0; + $202 = ($201|0)<(0); + $203 = $202 << 31 >> 31; + $204 = (___divdi3(($196|0),($197|0),($201|0),($203|0))|0); + $205 = tempRet0; + HEAP32[$nJRec>>2] = $204; } - if ((label|0) == 8) { - $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 24|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)>(0); - if ($41) { - $42 = HEAP32[$1>>2]|0; - $43 = (($42) + 32|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 20|0); - $47 = HEAP32[$46>>2]|0; - _sqlite3DbFree($44,$47); - } - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 32|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$2>>2]|0; - $52 = ($51|0)<(0); - $53 = $52 << 31 >> 31; - $54 = (_sqlite3DbMallocRaw($50,$51,$53)|0); - $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 20|0); - HEAP32[$56>>2] = $54; + } + HEAP32[$ii>>2] = 0; + while(1) { + $206 = HEAP32[$rc>>2]|0; + $207 = ($206|0)==(0); + if (!($207)) { + continue L28; } - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 20|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)==(0|0); - $61 = HEAP32[$1>>2]|0; - if (!($60)) { - $66 = (($61) + 32|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 20|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3DbMallocSize($67,$70)|0); - $72 = HEAP32[$1>>2]|0; - $73 = (($72) + 24|0); - HEAP32[$73>>2] = $71; - break; + $208 = HEAP32[$ii>>2]|0; + $209 = HEAP32[$nJRec>>2]|0; + $210 = ($208>>>0)<($209>>>0); + if (!($210)) { + continue L28; } - _sqlite3VdbeMemSetNull($61); - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 16|0); - HEAP32[$63>>2] = 0; - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 24|0); - HEAP32[$65>>2] = 0; - HEAP32[$0>>2] = 7; - $119 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($119|0); - } - } while(0); - $74 = HEAP32[$3>>2]|0; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$1>>2]|0; - $77 = (($76) + 16|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)!=(0|0); - if ($79) { - $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 16|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = (($83) + 20|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($82|0)!=($85|0); - if ($86) { - $87 = HEAP32[$1>>2]|0; - $88 = (($87) + 20|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = (($90) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$1>>2]|0; - $94 = (($93) + 12|0); - $95 = HEAP32[$94>>2]|0; - _memcpy(($89|0),($92|0),($95|0))|0; + $211 = HEAP32[$1>>2]|0; + $212 = ((($211)) + 72|0); + $213 = $212; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (($213) + 4)|0; + $217 = $216; + $218 = HEAP32[$217>>2]|0; + $219 = $szJ; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = (($219) + 4)|0; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = ($218|0)<($224|0); + $226 = ($215>>>0)<($221>>>0); + $227 = ($218|0)==($224|0); + $228 = $227 & $226; + $229 = $225 | $228; + if (!($229)) { + continue L28; } + $230 = HEAP32[$1>>2]|0; + $231 = HEAP32[$1>>2]|0; + $232 = ((($231)) + 72|0); + $233 = HEAP32[$pDone>>2]|0; + $234 = (_pager_playback_one_page($230,$232,$233,1,1)|0); + HEAP32[$rc>>2] = $234; + $235 = HEAP32[$ii>>2]|0; + $236 = (($235) + 1)|0; + HEAP32[$ii>>2] = $236; } } - $96 = HEAP32[$1>>2]|0; - $97 = (($96) + 8|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = $99 & 1024; - $101 = ($100|0)!=(0); - if ($101) { - $102 = HEAP32[$1>>2]|0; - $103 = (($102) + 36|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$1>>2]|0; - $106 = (($105) + 16|0); - $107 = HEAP32[$106>>2]|0; - FUNCTION_TABLE_vi[$104 & 31]($107); - } - $108 = HEAP32[$1>>2]|0; - $109 = (($108) + 20|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$1>>2]|0; - $112 = (($111) + 16|0); - HEAP32[$112>>2] = $110; - $113 = HEAP32[$1>>2]|0; - $114 = (($113) + 8|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115&65535; - $117 = $116 & -7169; - $118 = $117&65535; - HEAP16[$114>>1] = $118; - HEAP32[$0>>2] = 0; - $119 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($119|0); -} -function _sqlite3DbReallocOrFree($db,$p,$0,$1) { - $db = $db|0; - $p = $p|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pNew = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp; - $pNew = sp + 8|0; - HEAP32[$2>>2] = $db; - HEAP32[$3>>2] = $p; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = $4; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3DbRealloc($9,$10,$13,$16)|0); - HEAP32[$pNew>>2] = $17; - $18 = HEAP32[$pNew>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $22 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($22|0); - } - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$3>>2]|0; - _sqlite3DbFree($20,$21); - $22 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($22|0); -} -function _sqlite3DbRealloc($db,$p,$0,$1) { - $db = $db|0; - $p = $p|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $pNew = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp; - $pNew = sp + 8|0; - HEAP32[$3>>2] = $db; - HEAP32[$4>>2] = $p; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$pNew>>2] = 0; - $10 = HEAP32[$3>>2]|0; - $11 = (($10) + 64|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)==(0); - do { - if ($14) { - $15 = HEAP32[$4>>2]|0; - $16 = ($15|0)==(0|0); - $17 = HEAP32[$3>>2]|0; - if ($16) { - $18 = $5; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (($18) + 4)|0; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (_sqlite3DbMallocRaw($17,$20,$23)|0); - HEAP32[$2>>2] = $24; - $75 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($75|0); + $237 = HEAP32[$2>>2]|0; + $238 = ($237|0)!=(0|0); + L42: do { + if ($238) { + $239 = HEAP32[$2>>2]|0; + $240 = ((($239)) + 24|0); + $241 = HEAP32[$240>>2]|0; + $242 = HEAP32[$1>>2]|0; + $243 = ((($242)) + 152|0); + $244 = HEAP32[$243>>2]|0; + $245 = (4 + ($244))|0; + $246 = ($245|0)<(0); + $247 = $246 << 31 >> 31; + $248 = (___muldi3(($241|0),0,($245|0),($247|0))|0); + $249 = tempRet0; + $250 = $offset; + $251 = $250; + HEAP32[$251>>2] = $248; + $252 = (($250) + 4)|0; + $253 = $252; + HEAP32[$253>>2] = $249; + $254 = HEAP32[$1>>2]|0; + $255 = (_pagerUseWal($254)|0); + $256 = ($255|0)!=(0); + if ($256) { + $257 = HEAP32[$1>>2]|0; + $258 = ((($257)) + 208|0); + $259 = HEAP32[$258>>2]|0; + $260 = HEAP32[$2>>2]|0; + $261 = ((($260)) + 28|0); + $262 = (_sqlite3WalSavepointUndo($259,$261)|0); + HEAP32[$rc>>2] = $262; } - $25 = HEAP32[$4>>2]|0; - $26 = (_isLookaside($17,$25)|0); - $27 = ($26|0)!=(0); - if (!($27)) { - $62 = HEAP32[$4>>2]|0; - $63 = $5; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (($63) + 4)|0; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (_sqlite3_realloc64($62,$65,$68)|0); - HEAP32[$pNew>>2] = $69; - $70 = HEAP32[$pNew>>2]|0; - $71 = ($70|0)!=(0|0); - if ($71) { - break; + $263 = HEAP32[$2>>2]|0; + $264 = ((($263)) + 24|0); + $265 = HEAP32[$264>>2]|0; + HEAP32[$ii1>>2] = $265; + while(1) { + $266 = HEAP32[$rc>>2]|0; + $267 = ($266|0)==(0); + if (!($267)) { + break L42; } - $72 = HEAP32[$3>>2]|0; - $73 = (($72) + 64|0); - HEAP8[$73>>0] = 1; - break; - } - $28 = $5; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (($28) + 4)|0; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$3>>2]|0; - $35 = (($34) + 248|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = ($33>>>0)<(0); - $39 = ($30>>>0)<=($37>>>0); - $40 = ($33|0)==(0); - $41 = $40 & $39; - $42 = $38 | $41; - if ($42) { - $43 = HEAP32[$4>>2]|0; - HEAP32[$2>>2] = $43; - $75 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($75|0); - } else { - $44 = HEAP32[$3>>2]|0; - $45 = $5; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (_sqlite3DbMallocRaw($44,$47,$50)|0); - HEAP32[$pNew>>2] = $51; - $52 = HEAP32[$pNew>>2]|0; - $53 = ($52|0)!=(0|0); - if (!($53)) { - break; + $268 = HEAP32[$ii1>>2]|0; + $269 = HEAP32[$1>>2]|0; + $270 = ((($269)) + 52|0); + $271 = HEAP32[$270>>2]|0; + $272 = ($268>>>0)<($271>>>0); + if (!($272)) { + break L42; } - $54 = HEAP32[$pNew>>2]|0; - $55 = HEAP32[$4>>2]|0; - $56 = HEAP32[$3>>2]|0; - $57 = (($56) + 248|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - _memcpy(($54|0),($55|0),($59|0))|0; - $60 = HEAP32[$3>>2]|0; - $61 = HEAP32[$4>>2]|0; - _sqlite3DbFree($60,$61); - break; + $273 = HEAP32[$1>>2]|0; + $274 = HEAP32[$pDone>>2]|0; + $275 = (_pager_playback_one_page($273,$offset,$274,0,1)|0); + HEAP32[$rc>>2] = $275; + $276 = HEAP32[$ii1>>2]|0; + $277 = (($276) + 1)|0; + HEAP32[$ii1>>2] = $277; } } } while(0); - $74 = HEAP32[$pNew>>2]|0; - HEAP32[$2>>2] = $74; - $75 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($75|0); + $278 = HEAP32[$pDone>>2]|0; + _sqlite3BitvecDestroy($278); + $279 = HEAP32[$rc>>2]|0; + $280 = ($279|0)==(0); + if ($280) { + $281 = $szJ; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + $284 = (($281) + 4)|0; + $285 = $284; + $286 = HEAP32[$285>>2]|0; + $287 = HEAP32[$1>>2]|0; + $288 = ((($287)) + 72|0); + $289 = $288; + $290 = $289; + HEAP32[$290>>2] = $283; + $291 = (($289) + 4)|0; + $292 = $291; + HEAP32[$292>>2] = $286; + } + $293 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $293; + $294 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($294|0); } -function _functionDestroy($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pDestructor = 0, label = 0, sp = 0; +function _pagerRollbackWal($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pList = 0, $pNext = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pDestructor = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 32|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pDestructor>>2] = $4; - $5 = HEAP32[$pDestructor>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$pDestructor>>2]|0; + $0 = sp + 12|0; + $rc = sp + 8|0; + $pList = sp + 4|0; + $pNext = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 28|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 24|0); + HEAP32[$5>>2] = $3; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 208|0); $8 = HEAP32[$7>>2]|0; - $9 = (($8) + -1)|0; - HEAP32[$7>>2] = $9; - $10 = HEAP32[$pDestructor>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if (!($12)) { - STACKTOP = sp;return; + $9 = HEAP32[$0>>2]|0; + $10 = (_sqlite3WalUndo($8,40,$9)|0); + HEAP32[$rc>>2] = $10; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 204|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3PcacheDirtyList($13)|0); + HEAP32[$pList>>2] = $14; + while(1) { + $15 = HEAP32[$pList>>2]|0; + $16 = ($15|0)!=(0|0); + $17 = HEAP32[$rc>>2]|0; + $18 = ($17|0)==(0); + $19 = $16 ? $18 : 0; + if (!($19)) { + break; + } + $20 = HEAP32[$pList>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$pNext>>2] = $22; + $23 = HEAP32[$0>>2]|0; + $24 = HEAP32[$pList>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_pagerUndoCallback($23,$26)|0); + HEAP32[$rc>>2] = $27; + $28 = HEAP32[$pNext>>2]|0; + HEAP32[$pList>>2] = $28; } - $13 = HEAP32[$pDestructor>>2]|0; - $14 = (($13) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$pDestructor>>2]|0; - $17 = (($16) + 8|0); - $18 = HEAP32[$17>>2]|0; - FUNCTION_TABLE_vi[$15 & 31]($18); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$pDestructor>>2]|0; - _sqlite3DbFree($19,$20); - STACKTOP = sp;return; + $29 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($29|0); } -function _connectionIsBusy($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, $pBt = 0, label = 0, sp = 0; +function _sqlite3WalSavepointUndo($pWal,$aWalData) { + $pWal = $pWal|0; + $aWalData = $aWalData|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $j = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $db; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $aWalData; + HEAP32[$rc>>2] = 0; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 12|0); $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if ($5) { - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - HEAP32[$j>>2] = 0; - while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)<($9|0); - if (!($10)) { - label = 9; - break; - } - $11 = HEAP32[$j>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<4)|0); - $16 = (($15) + 4|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pBt>>2] = $17; - $18 = HEAP32[$pBt>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$pBt>>2]|0; - $21 = (_sqlite3BtreeIsInBackup($20)|0); - $22 = ($21|0)!=(0); - if ($22) { - label = 7; - break; - } - } - $23 = HEAP32[$j>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$j>>2] = $24; - } - if ((label|0) == 7) { - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 104|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($4|0)!=($7|0); + if ($8) { + $9 = HEAP32[$1>>2]|0; + HEAP32[$9>>2] = 0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 104|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 12|0); + HEAP32[$14>>2] = $12; } - else if ((label|0) == 9) { - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 52|0); + $19 = ((($18)) + 16|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16>>>0)<($20>>>0); + if (!($21)) { + $41 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($41|0); } - return 0|0; + $22 = HEAP32[$1>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 52|0); + $26 = ((($25)) + 16|0); + HEAP32[$26>>2] = $23; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 52|0); + $32 = ((($31)) + 24|0); + HEAP32[$32>>2] = $29; + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 52|0); + $38 = ((($37)) + 24|0); + $39 = ((($38)) + 4|0); + HEAP32[$39>>2] = $35; + $40 = HEAP32[$0>>2]|0; + _walCleanupHash($40); + $41 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($41|0); } -function _sqlite3RollbackAll($db,$tripCode) { - $db = $db|0; - $tripCode = $tripCode|0; +function _walCleanupHash($pWal) { + $pWal = $pWal|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $i = 0, $inTrans = 0, $p = 0, $schemaChange = 0, label = 0, sp = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $i = 0, $iLimit = 0, $iZero = 0, $nByte = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; + $0 = sp + 8|0; + $aHash = sp + 16|0; + $aPgno = sp + 20|0; + $iZero = sp + 24|0; + $iLimit = sp + 4|0; + $nByte = sp; $i = sp + 12|0; - $inTrans = sp + 8|0; - $schemaChange = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $tripCode; - HEAP32[$inTrans>>2] = 0; - _sqlite3BeginBenignMalloc(); - $2 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnterAll($2); - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 2; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 140|0); - $10 = (($9) + 5|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(0); - $15 = $13; - } else { - $15 = 0; + HEAP32[$0>>2] = $pWal; + HEAP32[$aHash>>2] = 0; + HEAP32[$aPgno>>2] = 0; + HEAP32[$iZero>>2] = 0; + HEAP32[$iLimit>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 52|0); + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return; } - $14 = $15&1; - HEAP32[$schemaChange>>2] = $14; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 52|0); + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_walFramePage($10)|0); + (_walHashGet($6,$11,$aHash,$aPgno,$iZero)|0); + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 52|0); + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$iZero>>2]|0; + $17 = (($15) - ($16))|0; + HEAP32[$iLimit>>2] = $17; HEAP32[$i>>2] = 0; while(1) { - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($16|0)<($19|0); - if (!($20)) { + $18 = HEAP32[$i>>2]|0; + $19 = ($18|0)<(8192); + if (!($19)) { break; } - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 16|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<4)|0); - $26 = (($25) + 4|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$p>>2] = $27; - $28 = HEAP32[$p>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$p>>2]|0; - $31 = (_sqlite3BtreeIsInTrans($30)|0); - $32 = ($31|0)!=(0); - if ($32) { - HEAP32[$inTrans>>2] = 1; - } - $33 = HEAP32[$p>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$schemaChange>>2]|0; - $36 = ($35|0)!=(0); - $37 = $36 ^ 1; - $38 = $37&1; - (_sqlite3BtreeRollback($33,$34,$38)|0); - } - $39 = HEAP32[$i>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$i>>2] = $40; - } - $41 = HEAP32[$0>>2]|0; - (_sqlite3VtabRollback($41)|0); - _sqlite3EndBenignMalloc(); - $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 24|0); - $44 = HEAP32[$43>>2]|0; - $45 = $44 & 2; - $46 = ($45|0)!=(0); - if ($46) { - $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 140|0); - $49 = (($48) + 5|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$0>>2]|0; - _sqlite3ExpirePreparedStatements($53); - $54 = HEAP32[$0>>2]|0; - _sqlite3ResetAllSchemasOfConnection($54); - } - } - $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 504|0); - $57 = $56; - $58 = $57; - HEAP32[$58>>2] = 0; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = 0; - $61 = HEAP32[$0>>2]|0; - $62 = (($61) + 512|0); - $63 = $62; - $64 = $63; - HEAP32[$64>>2] = 0; - $65 = (($63) + 4)|0; - $66 = $65; - HEAP32[$66>>2] = 0; - $67 = HEAP32[$0>>2]|0; - $68 = (($67) + 24|0); - $69 = HEAP32[$68>>2]|0; - $70 = $69 & -16777217; - HEAP32[$68>>2] = $70; - $71 = HEAP32[$0>>2]|0; - $72 = (($71) + 200|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0|0); - if (!($74)) { - STACKTOP = sp;return; - } - $75 = HEAP32[$inTrans>>2]|0; - $76 = ($75|0)!=(0); - if (!($76)) { - $77 = HEAP32[$0>>2]|0; - $78 = (($77) + 62|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)!=(0); - if ($80) { - STACKTOP = sp;return; + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$aHash>>2]|0; + $22 = (($21) + ($20<<1)|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = HEAP32[$iLimit>>2]|0; + $26 = ($24|0)>($25|0); + if ($26) { + $27 = HEAP32[$i>>2]|0; + $28 = HEAP32[$aHash>>2]|0; + $29 = (($28) + ($27<<1)|0); + HEAP16[$29>>1] = 0; } + $30 = HEAP32[$i>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$i>>2] = $31; } - $81 = HEAP32[$0>>2]|0; - $82 = (($81) + 200|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$0>>2]|0; - $85 = (($84) + 196|0); - $86 = HEAP32[$85>>2]|0; - FUNCTION_TABLE_vi[$83 & 31]($86); + $32 = HEAP32[$aHash>>2]|0; + $33 = HEAP32[$iLimit>>2]|0; + $34 = (($33) + 1)|0; + $35 = HEAP32[$aPgno>>2]|0; + $36 = (($35) + ($34<<2)|0); + $37 = $32; + $38 = $36; + $39 = (($37) - ($38))|0; + HEAP32[$nByte>>2] = $39; + $40 = HEAP32[$iLimit>>2]|0; + $41 = (($40) + 1)|0; + $42 = HEAP32[$aPgno>>2]|0; + $43 = (($42) + ($41<<2)|0); + $44 = HEAP32[$nByte>>2]|0; + _memset(($43|0),0,($44|0))|0; STACKTOP = sp;return; } -function _sqlite3CloseSavepoints($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $pTmp = 0, label = 0, sp = 0; +function _walFramePage($iFrame) { + $iFrame = $iFrame|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $iHash = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $db; - while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 488|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - $5 = HEAP32[$0>>2]|0; - if (!($4)) { - break; - } - $6 = (($5) + 488|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pTmp>>2] = $7; - $8 = HEAP32[$pTmp>>2]|0; - $9 = (($8) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 488|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pTmp>>2]|0; - _sqlite3DbFree($13,$14); + $iHash = sp; + HEAP32[$0>>2] = $iFrame; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + 4096)|0; + $3 = (($2) - 4062)|0; + $4 = (($3) - 1)|0; + $5 = (($4>>>0) / 4096)&-1; + HEAP32[$iHash>>2] = $5; + $6 = HEAP32[$iHash>>2]|0; + STACKTOP = sp;return ($6|0); +} +function _walHashGet($pWal,$iHash,$paHash,$paPgno,$piZero) { + $pWal = $pWal|0; + $iHash = $iHash|0; + $paHash = $paHash|0; + $paPgno = $paPgno|0; + $piZero = $piZero|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $iZero = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $rc = sp; + $aPgno = sp + 12|0; + $iZero = sp + 24|0; + $aHash = sp + 20|0; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $iHash; + HEAP32[$2>>2] = $paHash; + HEAP32[$3>>2] = $paPgno; + HEAP32[$4>>2] = $piZero; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = (_walIndexPage($5,$6,$aPgno)|0); + HEAP32[$rc>>2] = $7; + $8 = HEAP32[$rc>>2]|0; + $9 = ($8|0)==(0); + if (!($9)) { + $27 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($27|0); } - $15 = (($5) + 496|0); - HEAP32[$15>>2] = 0; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 500|0); - HEAP32[$17>>2] = 0; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 69|0); - HEAP8[$19>>0] = 0; - STACKTOP = sp;return; + $10 = HEAP32[$aPgno>>2]|0; + $11 = ((($10)) + 16384|0); + HEAP32[$aHash>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = HEAP32[$aPgno>>2]|0; + $15 = ((($14)) + 136|0); + HEAP32[$aPgno>>2] = $15; + HEAP32[$iZero>>2] = 0; + } else { + $16 = HEAP32[$1>>2]|0; + $17 = (($16) - 1)|0; + $18 = $17<<12; + $19 = (4062 + ($18))|0; + HEAP32[$iZero>>2] = $19; + } + $20 = HEAP32[$aPgno>>2]|0; + $21 = ((($20)) + -4|0); + $22 = HEAP32[$3>>2]|0; + HEAP32[$22>>2] = $21; + $23 = HEAP32[$aHash>>2]|0; + $24 = HEAP32[$2>>2]|0; + HEAP32[$24>>2] = $23; + $25 = HEAP32[$iZero>>2]|0; + $26 = HEAP32[$4>>2]|0; + HEAP32[$26>>2] = $25; + $27 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($27|0); } -function _sqlite3BtreeClose($p) { - $p = $p|0; +function _walIndexPage($pWal,$iPage,$ppPage) { + $pWal = $pWal|0; + $iPage = $iPage|0; + $ppPage = $ppPage|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $pBt = 0, $pCur = 0, $pTmp = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $apNew = 0, $nByte = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pBt = sp + 8|0; - $pCur = sp + 4|0; - $pTmp = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($4); - $5 = HEAP32[$pBt>>2]|0; - $6 = (($5) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pCur>>2] = $7; - while(1) { - $8 = HEAP32[$pCur>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - break; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $rc = sp + 4|0; + $nByte = sp; + $apNew = sp + 12|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $iPage; + HEAP32[$3>>2] = $ppPage; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ($6|0)<=($7|0); + do { + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = (($9) + 1)|0; + $11 = $10<<2; + HEAP32[$nByte>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$nByte>>2]|0; + $16 = (_sqlite3_realloc($14,$15)|0); + HEAP32[$apNew>>2] = $16; + $17 = HEAP32[$apNew>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$apNew>>2]|0; + $24 = (($23) + ($22<<2)|0); + $25 = HEAP32[$2>>2]|0; + $26 = (($25) + 1)|0; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 24|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26) - ($29))|0; + $31 = $30<<2; + _memset(($24|0),0,($31|0))|0; + $32 = HEAP32[$apNew>>2]|0; + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 32|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$2>>2]|0; + $36 = (($35) + 1)|0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 24|0); + HEAP32[$38>>2] = $36; + break; + } + $19 = HEAP32[$3>>2]|0; + HEAP32[$19>>2] = 0; + HEAP32[$0>>2] = 7; + $94 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($94|0); } - $10 = HEAP32[$pCur>>2]|0; - HEAP32[$pTmp>>2] = $10; - $11 = HEAP32[$pCur>>2]|0; - $12 = (($11) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pCur>>2] = $13; - $14 = HEAP32[$pTmp>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ($15|0)==($16|0); - if (!($17)) { - continue; - } - $18 = HEAP32[$pTmp>>2]|0; - (_sqlite3BtreeCloseCursor($18)|0); - } - $19 = HEAP32[$0>>2]|0; - (_sqlite3BtreeRollback($19,0,0)|0); - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 9|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)!=(0); - if ($23) { - $24 = HEAP32[$pBt>>2]|0; - $25 = (_removeFromSharingList($24)|0); - $26 = ($25|0)!=(0); - if ($26) { - label = 7; - } - } else { - label = 7; - } - if ((label|0) == 7) { - $27 = HEAP32[$pBt>>2]|0; - $28 = HEAP32[$27>>2]|0; - (_sqlite3PagerClose($28)|0); - $29 = HEAP32[$pBt>>2]|0; - $30 = (($29) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { - $33 = HEAP32[$pBt>>2]|0; - $34 = (($33) + 48|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0|0); - if ($36) { - $37 = HEAP32[$pBt>>2]|0; - $38 = (($37) + 52|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pBt>>2]|0; - $41 = (($40) + 48|0); - $42 = HEAP32[$41>>2]|0; - FUNCTION_TABLE_vi[$39 & 31]($42); + } while(0); + $39 = HEAP32[$2>>2]|0; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 32|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($42) + ($39<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0|0); + do { + if ($45) { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 43|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(2); + if ($50) { + $51 = (_sqlite3MallocZero(32768,0)|0); + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 32|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + ($52<<2)|0); + HEAP32[$56>>2] = $51; + $57 = HEAP32[$2>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 32|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + ($57<<2)|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)!=(0|0); + if ($63) { + break; + } + HEAP32[$rc>>2] = 7; + break; + } else { + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$2>>2]|0; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 44|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70&255; + $72 = HEAP32[$2>>2]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 32|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($75) + ($72<<2)|0); + $77 = (_sqlite3OsShmMap($66,$67,32768,$71,$76)|0); + HEAP32[$rc>>2] = $77; + $78 = HEAP32[$rc>>2]|0; + $79 = ($78|0)==(8); + if (!($79)) { + break; + } + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 46|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | 2; + $85 = $84&255; + HEAP8[$81>>0] = $85; + HEAP32[$rc>>2] = 0; + break; } } - $43 = HEAP32[$pBt>>2]|0; - $44 = (($43) + 48|0); - $45 = HEAP32[$44>>2]|0; - _sqlite3DbFree(0,$45); - $46 = HEAP32[$pBt>>2]|0; - _freeTempSpace($46); - $47 = HEAP32[$pBt>>2]|0; - _sqlite3_free($47); - } - $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 24|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)!=(0|0); - if ($51) { - $52 = HEAP32[$0>>2]|0; - $53 = (($52) + 20|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 24|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + 20|0); - HEAP32[$58>>2] = $54; - } - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 20|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)!=(0|0); - if (!($62)) { - $70 = HEAP32[$0>>2]|0; - _sqlite3_free($70); - STACKTOP = sp;return 0; - } - $63 = HEAP32[$0>>2]|0; - $64 = (($63) + 24|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$0>>2]|0; - $67 = (($66) + 20|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + 24|0); - HEAP32[$69>>2] = $65; - $70 = HEAP32[$0>>2]|0; - _sqlite3_free($70); - STACKTOP = sp;return 0; + } while(0); + $86 = HEAP32[$2>>2]|0; + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 32|0); + $89 = HEAP32[$88>>2]|0; + $90 = (($89) + ($86<<2)|0); + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$3>>2]|0; + HEAP32[$92>>2] = $91; + $93 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $93; + $94 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($94|0); } -function _sqlite3VtabUnlockList($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pNext = 0, label = 0, sp = 0; +function _sqlite3OsShmMap($id,$iPage,$pgsz,$bExtend,$pp) { + $id = $id|0; + $iPage = $iPage|0; + $pgsz = $pgsz|0; + $bExtend = $bExtend|0; + $pp = $pp|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 332|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$p>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 332|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$p>>2]|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $iPage; + HEAP32[$2>>2] = $pgsz; + HEAP32[$3>>2] = $bExtend; + HEAP32[$4>>2] = $pp; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = (FUNCTION_TABLE_iiiiii[$8 & 15]($9,$10,$11,$12,$13)|0); + STACKTOP = sp;return ($14|0); +} +function _pagerUndoCallback($pCtx,$iPg) { + $pCtx = $pCtx|0; + $iPg = $iPg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iFrame = 0, $pPager = 0, $pPg = 0, $rc = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $rc = sp + 12|0; + $pPager = sp + 8|0; + $pPg = sp + 4|0; + $iFrame = sp; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $iPg; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pPager>>2] = $2; + $3 = HEAP32[$pPager>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3PagerLookup($3,$4)|0); + HEAP32[$pPg>>2] = $5; + $6 = HEAP32[$pPg>>2]|0; $7 = ($6|0)!=(0|0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$0>>2]|0; - _sqlite3ExpirePreparedStatements($8); - while(1) { - $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 24|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pNext>>2] = $11; - $12 = HEAP32[$p>>2]|0; - _sqlite3VtabUnlock($12); - $13 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)!=(0|0); - if (!($15)) { - break; + do { + if ($7) { + $8 = HEAP32[$pPg>>2]|0; + $9 = (_sqlite3PcachePageRefcount($8)|0); + $10 = ($9|0)==(1); + if ($10) { + $11 = HEAP32[$pPg>>2]|0; + _sqlite3PcacheDrop($11); + break; + } + HEAP32[$iFrame>>2] = 0; + $12 = HEAP32[$pPager>>2]|0; + $13 = ((($12)) + 208|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$pPg>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_sqlite3WalFindFrame($14,$17,$iFrame)|0); + HEAP32[$rc>>2] = $18; + $19 = HEAP32[$rc>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + $21 = HEAP32[$pPg>>2]|0; + $22 = HEAP32[$iFrame>>2]|0; + $23 = (_readDbPage($21,$22)|0); + HEAP32[$rc>>2] = $23; + } + $24 = HEAP32[$rc>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = HEAP32[$pPager>>2]|0; + $27 = ((($26)) + 196|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$pPg>>2]|0; + FUNCTION_TABLE_vi[$28 & 31]($29); + } + $30 = HEAP32[$pPg>>2]|0; + _sqlite3PagerUnrefNotNull($30); } - } - STACKTOP = sp;return; + } while(0); + $31 = HEAP32[$pPager>>2]|0; + $32 = ((($31)) + 88|0); + $33 = HEAP32[$32>>2]|0; + _sqlite3BackupRestart($33); + $34 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($34|0); } -function _sqlite3CollapseDatabaseArray($db) { - $db = $db|0; +function _sqlite3WalUndo($pWal,$xUndo,$pUndoCtx) { + $pWal = $pWal|0; + $xUndo = $xUndo|0; + $pUndoCtx = $pUndoCtx|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $pDb = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $iFrame = 0, $iMax = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $pDb = sp; - HEAP32[$0>>2] = $db; - HEAP32[$j>>2] = 2; - HEAP32[$i>>2] = 2; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $rc = sp + 8|0; + $iMax = sp + 4|0; + $iFrame = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $xUndo; + HEAP32[$2>>2] = $pUndoCtx; + HEAP32[$rc>>2] = 0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 44|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)!=(0); + if (!($6)) { + $40 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($40|0); + } + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 52|0); + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$iMax>>2] = $10; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$0>>2]|0; + $14 = (_walIndexHdr($13)|0); + dest=$12; src=$14; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 52|0); + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$iFrame>>2] = $19; while(1) { - $1 = HEAP32[$i>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1|0)<($4|0); - if (!($5)) { + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { break; } - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - HEAP32[$pDb>>2] = $10; - $11 = HEAP32[$pDb>>2]|0; - $12 = (($11) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$pDb>>2]|0; - $17 = HEAP32[$16>>2]|0; - _sqlite3DbFree($15,$17); - $18 = HEAP32[$pDb>>2]|0; - HEAP32[$18>>2] = 0; - } else { - $19 = HEAP32[$j>>2]|0; - $20 = HEAP32[$i>>2]|0; - $21 = ($19|0)<($20|0); - if ($21) { - $22 = HEAP32[$j>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22<<4)|0); - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<4)|0); - ;HEAP32[$26+0>>2]=HEAP32[$31+0>>2]|0;HEAP32[$26+4>>2]=HEAP32[$31+4>>2]|0;HEAP32[$26+8>>2]=HEAP32[$31+8>>2]|0;HEAP32[$26+12>>2]=HEAP32[$31+12>>2]|0; - } - $32 = HEAP32[$j>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$j>>2] = $33; + $22 = HEAP32[$iFrame>>2]|0; + $23 = HEAP32[$iMax>>2]|0; + $24 = ($22>>>0)<=($23>>>0); + if (!($24)) { + break; } - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; - } - $36 = HEAP32[$j>>2]|0; - $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 16|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($36<<4)|0); - $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 20|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$j>>2]|0; - $45 = (($43) - ($44))|0; - $46 = $45<<4; - _memset(($40|0),0,($46|0))|0; - $47 = HEAP32[$j>>2]|0; - $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 20|0); - HEAP32[$49>>2] = $47; - $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 20|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)<=(2); - if (!($53)) { - STACKTOP = sp;return; + $25 = HEAP32[$1>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = HEAP32[$0>>2]|0; + $28 = HEAP32[$iFrame>>2]|0; + $29 = (_walFramePgno($27,$28)|0); + $30 = (FUNCTION_TABLE_iii[$25 & 63]($26,$29)|0); + HEAP32[$rc>>2] = $30; + $31 = HEAP32[$iFrame>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$iFrame>>2] = $32; } - $54 = HEAP32[$0>>2]|0; - $55 = (($54) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 456|0); - $59 = ($56|0)!=($58|0); - if (!($59)) { - STACKTOP = sp;return; + $33 = HEAP32[$iMax>>2]|0; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 52|0); + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)!=($37|0); + if (!($38)) { + $40 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($40|0); } - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 456|0); - $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 16|0); - $64 = HEAP32[$63>>2]|0; - ;HEAP32[$61+0>>2]=HEAP32[$64+0>>2]|0;HEAP32[$61+4>>2]=HEAP32[$64+4>>2]|0;HEAP32[$61+8>>2]=HEAP32[$64+8>>2]|0;HEAP32[$61+12>>2]=HEAP32[$64+12>>2]|0;HEAP32[$61+16>>2]=HEAP32[$64+16>>2]|0;HEAP32[$61+20>>2]=HEAP32[$64+20>>2]|0;HEAP32[$61+24>>2]=HEAP32[$64+24>>2]|0;HEAP32[$61+28>>2]=HEAP32[$64+28>>2]|0; - $65 = HEAP32[$0>>2]|0; - $66 = HEAP32[$0>>2]|0; - $67 = (($66) + 16|0); - $68 = HEAP32[$67>>2]|0; - _sqlite3DbFree($65,$68); - $69 = HEAP32[$0>>2]|0; - $70 = (($69) + 456|0); - $71 = HEAP32[$0>>2]|0; - $72 = (($71) + 16|0); - HEAP32[$72>>2] = $70; - STACKTOP = sp;return; + $39 = HEAP32[$0>>2]|0; + _walCleanupHash($39); + $40 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($40|0); } -function _sqlite3VtabUnlock($pVTab) { - $pVTab = $pVTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, label = 0, sp = 0; +function _sqlite3PcacheDirtyList($pCache) { + $pCache = $pCache|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $db = sp + 4|0; + $0 = sp + 4|0; $p = sp; - HEAP32[$0>>2] = $pVTab; + HEAP32[$0>>2] = $pCache; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + -1)|0; - HEAP32[$4>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$p>>2] = $13; - $14 = HEAP32[$p>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$p>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 16|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$p>>2]|0; - (FUNCTION_TABLE_ii[$19 & 31]($20)|0); + HEAP32[$p>>2] = $2; + while(1) { + $3 = HEAP32[$p>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + break; + } + $5 = HEAP32[$p>>2]|0; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$p>>2]|0; + $9 = ((($8)) + 12|0); + HEAP32[$9>>2] = $7; + $10 = HEAP32[$p>>2]|0; + $11 = ((($10)) + 32|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$p>>2] = $12; } - $21 = HEAP32[$db>>2]|0; - $22 = HEAP32[$0>>2]|0; - _sqlite3DbFree($21,$22); - STACKTOP = sp;return; + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (_pcacheSortDirtyList($14)|0); + STACKTOP = sp;return ($15|0); } -function _sqlite3BtreeCloseCursor($pCur) { - $pCur = $pCur|0; +function _pcacheSortDirtyList($pIn) { + $pIn = $pIn|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pBt = 0, $pBtree = 0, label = 0, sp = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $i = 0, $p = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pBtree = sp + 8|0; - $i = sp + 4|0; - $pBt = sp; - HEAP32[$0>>2] = $pCur; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pBtree>>2] = $2; - $3 = HEAP32[$pBtree>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return 0; - } - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pBt>>2] = $7; - $8 = HEAP32[$pBtree>>2]|0; - _sqlite3BtreeEnter($8); - $9 = HEAP32[$0>>2]|0; - _sqlite3BtreeClearCursor($9); - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 8|0); - $16 = HEAP32[$15>>2]|0; - if ($13) { - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 8|0); - HEAP32[$20>>2] = $16; - } else { - $21 = HEAP32[$pBt>>2]|0; - $22 = (($21) + 8|0); - HEAP32[$22>>2] = $16; - } - $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + 12|0); - HEAP32[$33>>2] = $29; - } - HEAP32[$i>>2] = 0; + STACKTOP = STACKTOP + 144|0; + $0 = sp + 136|0; + $a = sp + 8|0; + $p = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $pIn; + dest=$a; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); while(1) { + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + break; + } + $3 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $3; + $4 = HEAP32[$p>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $6; + $7 = HEAP32[$p>>2]|0; + $8 = ((($7)) + 12|0); + HEAP32[$8>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $9 = HEAP32[$i>>2]|0; + $10 = ($9|0)<(31); + if (!($10)) { + break; + } + $11 = HEAP32[$i>>2]|0; + $12 = (($a) + ($11<<2)|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + label = 6; + break; + } + $18 = HEAP32[$i>>2]|0; + $19 = (($a) + ($18<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$p>>2]|0; + $22 = (_pcacheMergeDirtyList($20,$21)|0); + HEAP32[$p>>2] = $22; + $23 = HEAP32[$i>>2]|0; + $24 = (($a) + ($23<<2)|0); + HEAP32[$24>>2] = 0; + $25 = HEAP32[$i>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$i>>2] = $26; + } + if ((label|0) == 6) { + label = 0; + $15 = HEAP32[$p>>2]|0; + $16 = HEAP32[$i>>2]|0; + $17 = (($a) + ($16<<2)|0); + HEAP32[$17>>2] = $15; + } + $27 = HEAP32[$i>>2]|0; + $28 = ($27|0)==(31); + if (!($28)) { + continue; + } + $29 = HEAP32[$i>>2]|0; + $30 = (($a) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$p>>2]|0; + $33 = (_pcacheMergeDirtyList($31,$32)|0); $34 = HEAP32[$i>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 76|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37 << 16 >> 16; - $39 = ($34|0)<=($38|0); - if (!($39)) { + $35 = (($a) + ($34<<2)|0); + HEAP32[$35>>2] = $33; + } + $36 = HEAP32[$a>>2]|0; + HEAP32[$p>>2] = $36; + HEAP32[$i>>2] = 1; + while(1) { + $37 = HEAP32[$i>>2]|0; + $38 = ($37|0)<(32); + $39 = HEAP32[$p>>2]|0; + if (!($38)) { break; } $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 120|0); - $43 = (($42) + ($40<<2)|0); - $44 = HEAP32[$43>>2]|0; - _releasePage($44); - $45 = HEAP32[$i>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$i>>2] = $46; + $41 = (($a) + ($40<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_pcacheMergeDirtyList($39,$42)|0); + HEAP32[$p>>2] = $43; + $44 = HEAP32[$i>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$i>>2] = $45; } - $47 = HEAP32[$pBt>>2]|0; - _unlockBtreeIfUnused($47); - $48 = HEAP32[$pBtree>>2]|0; - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 20|0); - $52 = HEAP32[$51>>2]|0; - _sqlite3DbFree($49,$52); - STACKTOP = sp;return 0; + STACKTOP = sp;return ($39|0); } -function _removeFromSharingList($pBt) { - $pBt = $pBt|0; +function _pcacheMergeDirtyList($pA,$pB) { + $pA = $pA|0; + $pB = $pB|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pList = 0, $removed = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $pTail = 0, $result = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pList = sp + 4|0; - $removed = sp; - HEAP32[$0>>2] = $pBt; - HEAP32[$removed>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 64|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$2>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 64|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<=(0); - if (!($8)) { - $32 = HEAP32[$removed>>2]|0; - STACKTOP = sp;return ($32|0); - } - $9 = HEAP32[4232>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ($9|0)==($10|0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 68|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[4232>>2] = $14; - } else { - $15 = HEAP32[4232>>2]|0; - HEAP32[$pList>>2] = $15; - while(1) { - $16 = HEAP32[$pList>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { - $18 = HEAP32[$pList>>2]|0; - $19 = (($18) + 68|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ($20|0)!=($21|0); - $33 = $22; - } else { - $33 = 0; - } - $23 = HEAP32[$pList>>2]|0; - if (!($33)) { - break; - } - $24 = (($23) + 68|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pList>>2] = $25; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 52|0; + $1 = sp + 48|0; + $result = sp + 8|0; + $pTail = sp; + HEAP32[$0>>2] = $pA; + HEAP32[$1>>2] = $pB; + HEAP32[$pTail>>2] = $result; + while(1) { + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)!=(0|0); + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(0|0); + $6 = $3 ? $5 : 0; + $7 = HEAP32[$0>>2]|0; + if (!($6)) { + break; } - $26 = ($23|0)!=(0|0); - if ($26) { - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 68|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pList>>2]|0; - $31 = (($30) + 68|0); - HEAP32[$31>>2] = $29; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9>>>0)<($12>>>0); + if ($13) { + $14 = HEAP32[$0>>2]|0; + $15 = HEAP32[$pTail>>2]|0; + $16 = ((($15)) + 12|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$0>>2]|0; + HEAP32[$pTail>>2] = $17; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$0>>2] = $20; + continue; + } else { + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$pTail>>2]|0; + $23 = ((($22)) + 12|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$1>>2]|0; + HEAP32[$pTail>>2] = $24; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$1>>2] = $27; + continue; } } - HEAP32[$removed>>2] = 1; - $32 = HEAP32[$removed>>2]|0; - STACKTOP = sp;return ($32|0); + $28 = ($7|0)!=(0|0); + if ($28) { + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$pTail>>2]|0; + $31 = ((($30)) + 12|0); + HEAP32[$31>>2] = $29; + $39 = ((($result)) + 12|0); + $40 = HEAP32[$39>>2]|0; + STACKTOP = sp;return ($40|0); + } + $32 = HEAP32[$1>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$1>>2]|0; + $35 = HEAP32[$pTail>>2]|0; + $36 = ((($35)) + 12|0); + HEAP32[$36>>2] = $34; + $39 = ((($result)) + 12|0); + $40 = HEAP32[$39>>2]|0; + STACKTOP = sp;return ($40|0); + } else { + $37 = HEAP32[$pTail>>2]|0; + $38 = ((($37)) + 12|0); + HEAP32[$38>>2] = 0; + $39 = ((($result)) + 12|0); + $40 = HEAP32[$39>>2]|0; + STACKTOP = sp;return ($40|0); + } + return (0)|0; } -function _sqlite3BtreeClearCursor($pCur) { - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _walIndexHdr($pWal) { + $pWal = $pWal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pCur; + HEAP32[$0>>2] = $pWal; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 56|0); + $2 = ((($1)) + 32|0); $3 = HEAP32[$2>>2]|0; - _sqlite3_free($3); - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 56|0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 73|0); - HEAP8[$7>>0] = 0; - STACKTOP = sp;return; -} -function _releasePage($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPage; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 68|0); - $5 = HEAP32[$4>>2]|0; - _sqlite3PagerUnrefNotNull($5); - STACKTOP = sp;return; + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); } -function _unlockBtreeIfUnused($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage1 = 0, label = 0, sp = 0; +function _walFramePgno($pWal,$iFrame) { + $pWal = $pWal|0; + $iFrame = $iFrame|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iHash = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pPage1 = sp; - HEAP32[$0>>2] = $pBt; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 20|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)==(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { - STACKTOP = sp;return; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $iHash = sp; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $iFrame; + $3 = HEAP32[$2>>2]|0; + $4 = (_walFramePage($3)|0); + HEAP32[$iHash>>2] = $4; + $5 = HEAP32[$iHash>>2]|0; + $6 = ($5|0)==(0); + $7 = HEAP32[$2>>2]|0; + if ($6) { + $8 = (34 + ($7))|0; + $9 = (($8) - 1)|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 32|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($9<<2)|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$0>>2] = $15; + $27 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($27|0); + } else { + $16 = (($7) - 1)|0; + $17 = (($16) - 4062)|0; + $18 = (($17>>>0) % 4096)&-1; + $19 = HEAP32[$iHash>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($19<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($18<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$0>>2] = $26; + $27 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($27|0); } - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 12|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pPage1>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 12|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$pPage1>>2]|0; - _releasePage($15); - STACKTOP = sp;return; + return (0)|0; } -function _sqlite3BtreeIsInTrans($p) { +function _sqlite3PcachePageRefcount($p) { $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $9 = 0; - $8 = $9&1; - STACKTOP = sp;return ($8|0); - } - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)==(2); - $9 = $7; - $8 = $9&1; - STACKTOP = sp;return ($8|0); + $2 = ((($1)) + 26|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3 << 16 >> 16; + STACKTOP = sp;return ($4|0); } -function _sqlite3VtabRollback($db) { - $db = $db|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _sqlite3PcacheDrop($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $db; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - _callFinaliser($1,68); - STACKTOP = sp;return 0; -} -function _callFinaliser($db,$offset) { - $db = $db|0; - $offset = $offset|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pVTab = 0, $x = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $i = sp + 12|0; - $pVTab = sp + 8|0; - $p = sp + 4|0; - $x = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $offset; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 328|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $6 = HEAP32[$i>>2]|0; + $2 = ((($1)) + 24|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & 2; + $6 = ($5|0)!=(0); + if ($6) { $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 304|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)<($9|0); - if (!($10)) { - break; - } - $11 = HEAP32[$i>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 328|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pVTab>>2] = $16; - $17 = HEAP32[$pVTab>>2]|0; - $18 = (($17) + 8|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$p>>2] = $19; - $20 = HEAP32[$p>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$p>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = (($23) + ($24)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$x>>2] = $26; - $27 = HEAP32[$x>>2]|0; - $28 = ($27|0)!=(0|0); - if ($28) { - $29 = HEAP32[$x>>2]|0; - $30 = HEAP32[$p>>2]|0; - (FUNCTION_TABLE_ii[$29 & 31]($30)|0); - } - } - $31 = HEAP32[$pVTab>>2]|0; - $32 = (($31) + 20|0); - HEAP32[$32>>2] = 0; - $33 = HEAP32[$pVTab>>2]|0; - _sqlite3VtabUnlock($33); - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; + _pcacheManageDirtyList($7,1); } - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 328|0); - $39 = HEAP32[$38>>2]|0; - _sqlite3DbFree($36,$39); - $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 304|0); - HEAP32[$41>>2] = 0; - $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 328|0); - HEAP32[$43>>2] = 0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12) + -1)|0; + HEAP32[$11>>2] = $13; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(1); + if ($17) { + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 28|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 44|0); + HEAP32[$21>>2] = 0; + } + $22 = HEAP32[(144)>>2]|0; + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 28|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 40|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$0>>2]|0; + $29 = HEAP32[$28>>2]|0; + FUNCTION_TABLE_viii[$22 & 63]($27,$29,1); STACKTOP = sp;return; } -function _sqlite3BtreeIsInBackup($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0); - $5 = $4&1; - STACKTOP = sp;return ($5|0); -} -function _disconnectAllVtab($db) { - $db = $db|0; +function _sqlite3WalFindFrame($pWal,$pgno,$piRead) { + $pWal = $pWal|0; + $pgno = $pgno|0; + $piRead = $piRead|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pSchema = 0, $pTab = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $iFrame = 0, $iHash = 0, $iKey = 0, $iLast = 0, $iRead = 0, $iZero = 0, $nCollide = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 64|0; $0 = sp + 16|0; - $i = sp + 12|0; - $pSchema = sp + 8|0; - $p = sp + 4|0; - $pTab = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnterAll($1); - HEAP32[$i>>2] = 0; - while(1) { - $2 = HEAP32[$i>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2|0)<($5|0); - if (!($6)) { - break; - } - $7 = HEAP32[$i>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<4)|0); - $12 = (($11) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pSchema>>2] = $13; - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<4)|0); - $19 = (($18) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - L4: do { - if ($21) { - $22 = HEAP32[$pSchema>>2]|0; - $23 = (($22) + 8|0); - $24 = (($23) + 8|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$p>>2] = $25; + $1 = sp + 12|0; + $2 = sp + 44|0; + $3 = sp + 36|0; + $iRead = sp + 32|0; + $iLast = sp + 40|0; + $iHash = sp + 48|0; + $aHash = sp + 52|0; + $aPgno = sp + 20|0; + $iZero = sp; + $iKey = sp + 28|0; + $nCollide = sp + 4|0; + $rc = sp + 24|0; + $iFrame = sp + 8|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $pgno; + HEAP32[$3>>2] = $piRead; + HEAP32[$iRead>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 52|0); + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$iLast>>2] = $7; + $8 = HEAP32[$iLast>>2]|0; + $9 = ($8|0)==(0); + if (!($9)) { + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 40|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($13|0)==(0); + if (!($14)) { + $16 = HEAP32[$iLast>>2]|0; + $17 = (_walFramePage($16)|0); + HEAP32[$iHash>>2] = $17; + L4: while(1) { + $18 = HEAP32[$iHash>>2]|0; + $19 = ($18|0)>=(0); + $20 = HEAP32[$iRead>>2]|0; + $21 = ($20|0)==(0); + $22 = $19 ? $21 : 0; + if (!($22)) { + label = 17; + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$iHash>>2]|0; + $25 = (_walHashGet($23,$24,$aHash,$aPgno,$iZero)|0); + HEAP32[$rc>>2] = $25; + $26 = HEAP32[$rc>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + label = 7; + break; + } + HEAP32[$nCollide>>2] = 8192; + $29 = HEAP32[$2>>2]|0; + $30 = (_walHash($29)|0); + HEAP32[$iKey>>2] = $30; while(1) { - $26 = HEAP32[$p>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - break L4; + $31 = HEAP32[$iKey>>2]|0; + $32 = HEAP32[$aHash>>2]|0; + $33 = (($32) + ($31<<1)|0); + $34 = HEAP16[$33>>1]|0; + $35 = ($34<<16>>16)!=(0); + if (!($35)) { + break; } - $28 = HEAP32[$p>>2]|0; - $29 = (($28) + 8|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pTab>>2] = $30; - $31 = HEAP32[$pTab>>2]|0; - $32 = (($31) + 44|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 & 16; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$pTab>>2]|0; - _sqlite3VtabDisconnect($37,$38); + $36 = HEAP32[$iKey>>2]|0; + $37 = HEAP32[$aHash>>2]|0; + $38 = (($37) + ($36<<1)|0); + $39 = HEAP16[$38>>1]|0; + $40 = $39&65535; + $41 = HEAP32[$iZero>>2]|0; + $42 = (($40) + ($41))|0; + HEAP32[$iFrame>>2] = $42; + $43 = HEAP32[$iFrame>>2]|0; + $44 = HEAP32[$iLast>>2]|0; + $45 = ($43>>>0)<=($44>>>0); + if ($45) { + $46 = HEAP32[$iKey>>2]|0; + $47 = HEAP32[$aHash>>2]|0; + $48 = (($47) + ($46<<1)|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49&65535; + $51 = HEAP32[$aPgno>>2]|0; + $52 = (($51) + ($50<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = ($53|0)==($54|0); + if ($55) { + $56 = HEAP32[$iFrame>>2]|0; + HEAP32[$iRead>>2] = $56; + } } - $39 = HEAP32[$p>>2]|0; - $40 = HEAP32[$39>>2]|0; - HEAP32[$p>>2] = $40; + $57 = HEAP32[$nCollide>>2]|0; + $58 = (($57) + -1)|0; + HEAP32[$nCollide>>2] = $58; + $59 = ($57|0)==(0); + if ($59) { + label = 14; + break L4; + } + $61 = HEAP32[$iKey>>2]|0; + $62 = (_walNextHash($61)|0); + HEAP32[$iKey>>2] = $62; } + $63 = HEAP32[$iHash>>2]|0; + $64 = (($63) + -1)|0; + HEAP32[$iHash>>2] = $64; } - } while(0); - $41 = HEAP32[$i>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$i>>2] = $42; + if ((label|0) == 7) { + $28 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $28; + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); + } + else if ((label|0) == 14) { + $60 = (_sqlite3CorruptError(50484)|0); + HEAP32[$0>>2] = $60; + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); + } + else if ((label|0) == 17) { + $65 = HEAP32[$iRead>>2]|0; + $66 = HEAP32[$3>>2]|0; + HEAP32[$66>>2] = $65; + HEAP32[$0>>2] = 0; + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); + } + } } - $43 = HEAP32[$0>>2]|0; - _sqlite3VtabUnlockList($43); - STACKTOP = sp;return; + $15 = HEAP32[$3>>2]|0; + HEAP32[$15>>2] = 0; + HEAP32[$0>>2] = 0; + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); } -function _sqlite3VtabDisconnect($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $pVTab = 0, $ppVTab = 0, label = 0, sp = 0; +function _readDbPage($pPg,$iFrame) { + $pPg = $pPg|0; + $iFrame = $iFrame|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $dbFileVers = 0, $iOffset = 0, $pPager = 0, $pgno = 0, $pgsz = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 48|0; $0 = sp + 12|0; - $1 = sp + 8|0; - $ppVTab = sp + 4|0; - $pVTab = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 60|0); - HEAP32[$ppVTab>>2] = $3; - while(1) { - $4 = HEAP32[$ppVTab>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - label = 6; - break; - } - $7 = HEAP32[$ppVTab>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = ($9|0)==($10|0); - $12 = HEAP32[$ppVTab>>2]|0; - $13 = HEAP32[$12>>2]|0; - if ($11) { - break; - } - $19 = (($13) + 24|0); - HEAP32[$ppVTab>>2] = $19; + $1 = sp + 16|0; + $pPager = sp + 24|0; + $pgno = sp + 20|0; + $rc = sp + 32|0; + $pgsz = sp + 8|0; + $iOffset = sp; + $dbFileVers = sp + 28|0; + HEAP32[$0>>2] = $pPg; + HEAP32[$1>>2] = $iFrame; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pPager>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$pgno>>2] = $7; + HEAP32[$rc>>2] = 0; + $8 = HEAP32[$pPager>>2]|0; + $9 = ((($8)) + 152|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$pgsz>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ($11|0)!=(0); + if ($12) { + $13 = HEAP32[$pPager>>2]|0; + $14 = ((($13)) + 208|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = HEAP32[$pgsz>>2]|0; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3WalReadFrame($15,$16,$17,$20)|0); + HEAP32[$rc>>2] = $21; + } else { + $22 = HEAP32[$pgno>>2]|0; + $23 = (($22) - 1)|0; + $24 = HEAP32[$pPager>>2]|0; + $25 = ((($24)) + 152|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)<(0); + $28 = $27 << 31 >> 31; + $29 = (___muldi3(($23|0),0,($26|0),($28|0))|0); + $30 = tempRet0; + $31 = $iOffset; + $32 = $31; + HEAP32[$32>>2] = $29; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = HEAP32[$pPager>>2]|0; + $36 = ((($35)) + 60|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$0>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$pgsz>>2]|0; + $42 = $iOffset; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3OsRead($37,$40,$41,$44,$47)|0); + HEAP32[$rc>>2] = $48; + $49 = HEAP32[$rc>>2]|0; + $50 = ($49|0)==(522); + $$ = $50 ? 0 : $48; + HEAP32[$rc>>2] = $$; } - if ((label|0) == 6) { + $51 = HEAP32[$pgno>>2]|0; + $52 = ($51|0)==(1); + if (!($52)) { + $64 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($64|0); + } + $53 = HEAP32[$rc>>2]|0; + $54 = ($53|0)!=(0); + if ($54) { + $55 = HEAP32[$pPager>>2]|0; + $56 = ((($55)) + 100|0); + dest=$56; stop=dest+16|0; do { HEAP8[dest>>0]=255|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $64 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($64|0); + } else { + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = ((($59)) + 24|0); + HEAP32[$dbFileVers>>2] = $60; + $61 = HEAP32[$pPager>>2]|0; + $62 = ((($61)) + 100|0); + $63 = HEAP32[$dbFileVers>>2]|0; + dest=$62; src=$63; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $64 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($64|0); + } + return (0)|0; +} +function _sqlite3PagerUnrefNotNull($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPager = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pPager = sp; + HEAP32[$0>>2] = $pPg; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pPager>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + $8 = $7 & 64; + $9 = ($8|0)!=(0); + $10 = HEAP32[$0>>2]|0; + if ($9) { + _pagerReleaseMapPage($10); + $11 = HEAP32[$pPager>>2]|0; + _pagerUnlockIfUnused($11); + STACKTOP = sp;return; + } else { + _sqlite3PcacheRelease($10); + $11 = HEAP32[$pPager>>2]|0; + _pagerUnlockIfUnused($11); STACKTOP = sp;return; } - HEAP32[$pVTab>>2] = $13; - $14 = HEAP32[$pVTab>>2]|0; - $15 = (($14) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$ppVTab>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$pVTab>>2]|0; - _sqlite3VtabUnlock($18); - STACKTOP = sp;return; } -function _sqlite3PcacheShrink($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _pagerReleaseMapPage($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPager = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pCache; - $1 = HEAP32[((38640 + 152|0))>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 40|0); - $4 = HEAP32[$3>>2]|0; - FUNCTION_TABLE_vi[$1 & 31]($4); + $0 = sp + 4|0; + $pPager = sp; + HEAP32[$0>>2] = $pPg; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pPager>>2] = $3; + $4 = HEAP32[$pPager>>2]|0; + $5 = ((($4)) + 120|0); + $6 = HEAP32[$5>>2]|0; + $7 = (($6) + -1)|0; + HEAP32[$5>>2] = $7; + $8 = HEAP32[$pPager>>2]|0; + $9 = ((($8)) + 136|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 12|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$pPager>>2]|0; + $15 = ((($14)) + 136|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$pPager>>2]|0; + $17 = ((($16)) + 60|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) - 1)|0; + $23 = HEAP32[$pPager>>2]|0; + $24 = ((($23)) + 152|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)<(0); + $27 = $26 << 31 >> 31; + $28 = (___muldi3(($22|0),0,($25|0),($27|0))|0); + $29 = tempRet0; + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + (_sqlite3OsUnfetch($18,$28,$29,$32)|0); STACKTOP = sp;return; } -function _pcache1Init($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, $1 = 0, $2 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _pagerUnlockIfUnused($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $NotUsed; - dest=3136+0|0; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $1 = HEAP32[((38640 + 4|0))>>2]|0; - $2 = ($1|0)!=(0); - if ($2) { - HEAP32[3136>>2] = (8); - HEAP32[((3136 + 52|0))>>2] = (8); + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 120|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + if (!($4)) { + STACKTOP = sp;return; } - HEAP32[((3136 + 12|0))>>2] = 10; - HEAP32[((3136 + 28|0))>>2] = 1; - STACKTOP = sp;return 0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 204|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3PcacheRefCount($7)|0); + $9 = ($8|0)==(0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$0>>2]|0; + _pagerUnlockAndRollback($10); + STACKTOP = sp;return; } -function _pcache1Shutdown($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _sqlite3OsUnfetch($id,$0,$1,$p) { + $id = $id|0; + $0 = $0|0; + $1 = $1|0; + $p = $p|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - dest=3136+0|0; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; + $2 = sp + 12|0; + $3 = sp; + $4 = sp + 8|0; + HEAP32[$2>>2] = $id; + $5 = $3; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + HEAP32[$4>>2] = $p; + STACKTOP = sp;return 0; } -function _pcache1Create($szPage,$szExtra,$bPurgeable) { - $szPage = $szPage|0; - $szExtra = $szExtra|0; - $bPurgeable = $bPurgeable|0; +function _sqlite3WalReadFrame($pWal,$iRead,$nOut,$pOut) { + $pWal = $pWal|0; + $iRead = $iRead|0; + $nOut = $nOut|0; + $pOut = $pOut|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, $separateCache = 0, $sz = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iOffset = 0, $sz = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; $1 = sp + 20|0; $2 = sp + 16|0; - $pCache = sp + 12|0; - $pGroup = sp + 8|0; - $sz = sp + 4|0; - $separateCache = sp; - HEAP32[$0>>2] = $szPage; - HEAP32[$1>>2] = $szExtra; - HEAP32[$2>>2] = $bPurgeable; - HEAP32[$separateCache>>2] = 0; - HEAP32[$sz>>2] = 48; - $3 = HEAP32[$sz>>2]|0; - $4 = ($3|0)<(0); - $5 = $4 << 31 >> 31; - $6 = (_sqlite3MallocZero($3,$5)|0); - HEAP32[$pCache>>2] = $6; - $7 = HEAP32[$pCache>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - $49 = HEAP32[$pCache>>2]|0; - STACKTOP = sp;return ($49|0); - } - HEAP32[$pGroup>>2] = 3136; - $9 = HEAP32[$pGroup>>2]|0; - $10 = HEAP32[$pCache>>2]|0; - HEAP32[$10>>2] = $9; - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$pCache>>2]|0; - $13 = (($12) + 4|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$pCache>>2]|0; - $16 = (($15) + 8|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$2>>2]|0; - $18 = ($17|0)!=(0); - $19 = $18 ? 1 : 0; - $20 = HEAP32[$pCache>>2]|0; - $21 = (($20) + 12|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$pCache>>2]|0; - _pcache1ResizeHash($22); - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$pCache>>2]|0; - $26 = (($25) + 16|0); - HEAP32[$26>>2] = 10; - $27 = HEAP32[$pCache>>2]|0; - $28 = (($27) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pGroup>>2]|0; - $31 = (($30) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($29))|0; - HEAP32[$31>>2] = $33; - $34 = HEAP32[$pGroup>>2]|0; - $35 = (($34) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + 10)|0; - $38 = HEAP32[$pGroup>>2]|0; - $39 = (($38) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($37) - ($40))|0; - $42 = HEAP32[$pGroup>>2]|0; - $43 = (($42) + 12|0); - HEAP32[$43>>2] = $41; - } - $44 = HEAP32[$pCache>>2]|0; - $45 = (($44) + 40|0); + $3 = sp + 12|0; + $sz = sp + 8|0; + $iOffset = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $iRead; + HEAP32[$2>>2] = $nOut; + HEAP32[$3>>2] = $pOut; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 52|0); + $6 = ((($5)) + 14|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + HEAP32[$sz>>2] = $8; + $9 = HEAP32[$sz>>2]|0; + $10 = $9 & 65024; + $11 = HEAP32[$sz>>2]|0; + $12 = $11 & 1; + $13 = $12 << 16; + $14 = (($10) + ($13))|0; + HEAP32[$sz>>2] = $14; + $15 = HEAP32[$1>>2]|0; + $16 = (($15) - 1)|0; + $17 = HEAP32[$sz>>2]|0; + $18 = (($17) + 24)|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = (___muldi3(($16|0),0,($18|0),($20|0))|0); + $22 = tempRet0; + $23 = (_i64Add(32,0,($21|0),($22|0))|0); + $24 = tempRet0; + $25 = (_i64Add(($23|0),($24|0),24,0)|0); + $26 = tempRet0; + $27 = $iOffset; + $28 = $27; + HEAP32[$28>>2] = $25; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = HEAP32[$0>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = HEAP32[$sz>>2]|0; + $37 = ($35|0)>($36|0); + $38 = HEAP32[$sz>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = $37 ? $38 : $39; + $41 = $iOffset; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==(0); - if (!($47)) { - $49 = HEAP32[$pCache>>2]|0; - STACKTOP = sp;return ($49|0); - } - $48 = HEAP32[$pCache>>2]|0; - _pcache1Destroy($48); - HEAP32[$pCache>>2] = 0; - $49 = HEAP32[$pCache>>2]|0; - STACKTOP = sp;return ($49|0); + $47 = (_sqlite3OsRead($33,$34,$40,$43,$46)|0); + STACKTOP = sp;return ($47|0); } -function _pcache1Cachesize($p,$nMax) { - $p = $p|0; - $nMax = $nMax|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0; - var $pGroup = 0, label = 0, sp = 0; +function _walHash($iPage) { + $iPage = $iPage|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pCache = sp + 4|0; - $pGroup = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $nMax; + $0 = sp; + HEAP32[$0>>2] = $iPage; + $1 = HEAP32[$0>>2]|0; + $2 = ($1*383)|0; + $3 = $2 & 8191; + STACKTOP = sp;return ($3|0); +} +function _sqlite3CorruptError($lineno) { + $lineno = $lineno|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + HEAP32[$0>>2] = $lineno; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_sourceid()|0); + $3 = ((($2)) + 20|0); + HEAP32[$vararg_buffer>>2] = $1; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $3; + _sqlite3_log(11,17428,$vararg_buffer); + STACKTOP = sp;return 11; +} +function _walNextHash($iPriorHash) { + $iPriorHash = $iPriorHash|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $iPriorHash; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + 1)|0; + $3 = $2 & 8191; + STACKTOP = sp;return ($3|0); +} +function _sqlite3WalEndReadTransaction($pWal) { + $pWal = $pWal|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pWal; + $1 = HEAP32[$0>>2]|0; + (_sqlite3WalEndWriteTransaction($1)|0); $2 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $2; - $3 = HEAP32[$pCache>>2]|0; - $4 = (($3) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)!=(0); + $3 = ((($2)) + 40|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4 << 16 >> 16; + $6 = ($5|0)>=(0); if (!($6)) { STACKTOP = sp;return; } - $7 = HEAP32[$pCache>>2]|0; - $8 = HEAP32[$7>>2]|0; - HEAP32[$pGroup>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$pCache>>2]|0; - $11 = (($10) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($9) - ($12))|0; - $14 = HEAP32[$pGroup>>2]|0; - $15 = (($14) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13))|0; - HEAP32[$15>>2] = $17; - $18 = HEAP32[$pGroup>>2]|0; - $19 = (($18) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 10)|0; - $22 = HEAP32[$pGroup>>2]|0; - $23 = (($22) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($21) - ($24))|0; - $26 = HEAP32[$pGroup>>2]|0; - $27 = (($26) + 12|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$pCache>>2]|0; - $30 = (($29) + 20|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$pCache>>2]|0; - $32 = (($31) + 20|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33*9)|0; - $35 = (($34>>>0) / 10)&-1; - $36 = HEAP32[$pCache>>2]|0; - $37 = (($36) + 24|0); - HEAP32[$37>>2] = $35; - $38 = HEAP32[$pGroup>>2]|0; - _pcache1EnforceMaxPage($38); + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 40|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10 << 16 >> 16; + $12 = (3 + ($11))|0; + _walUnlockShared($7,$12); + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 40|0); + HEAP16[$14>>1] = -1; STACKTOP = sp;return; } -function _pcache1Pagecount($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $n = 0, $pCache = 0, label = 0, sp = 0; +function _sqlite3OsLock($id,$lockType) { + $id = $id|0; + $lockType = $lockType|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $n = sp + 4|0; - $pCache = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $1; - $2 = HEAP32[$pCache>>2]|0; - $3 = (($2) + 36|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$n>>2] = $4; - $5 = HEAP32[$n>>2]|0; - STACKTOP = sp;return ($5|0); + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $lockType; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); + STACKTOP = sp;return ($8|0); } -function _pcache1Fetch($p,$iKey,$createFlag) { - $p = $p|0; - $iKey = $iKey|0; - $createFlag = $createFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pPage = 0; - var label = 0, sp = 0; +function _sqlite3WalCheckpoint($pWal,$eMode,$xBusy,$pBusyArg,$sync_flags,$nBuf,$zBuf,$pnLog,$pnCkpt) { + $pWal = $pWal|0; + $eMode = $eMode|0; + $xBusy = $xBusy|0; + $pBusyArg = $pBusyArg|0; + $sync_flags = $sync_flags|0; + $nBuf = $nBuf|0; + $zBuf = $zBuf|0; + $pnLog = $pnLog|0; + $pnCkpt = $pnCkpt|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $eMode2 = 0, $isChanged = 0, $or$cond = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $pCache = sp + 4|0; - $pPage = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iKey; - HEAP32[$2>>2] = $createFlag; - $3 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $3; - HEAP32[$pPage>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$pCache>>2]|0; - $6 = (($5) + 40|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($4>>>0) % ($7>>>0))&-1; - $9 = HEAP32[$pCache>>2]|0; - $10 = (($9) + 44|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($8<<2)|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pPage>>2] = $13; - while(1) { - $14 = HEAP32[$pPage>>2]|0; - $15 = ($14|0)!=(0|0); - if ($15) { - $16 = HEAP32[$pPage>>2]|0; - $17 = (($16) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ($18|0)!=($19|0); - $37 = $20; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 44|0; + $1 = sp + 36|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $5 = sp + 40|0; + $6 = sp + 48|0; + $7 = sp + 16|0; + $8 = sp; + $9 = sp + 24|0; + $rc = sp + 4|0; + $isChanged = sp + 28|0; + $eMode2 = sp + 20|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $eMode; + HEAP32[$3>>2] = $xBusy; + HEAP32[$4>>2] = $pBusyArg; + HEAP32[$5>>2] = $sync_flags; + HEAP32[$6>>2] = $nBuf; + HEAP32[$7>>2] = $zBuf; + HEAP32[$8>>2] = $pnLog; + HEAP32[$9>>2] = $pnCkpt; + HEAP32[$isChanged>>2] = 0; + $10 = HEAP32[$2>>2]|0; + HEAP32[$eMode2>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 46|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($13<<24>>24)!=(0); + if ($14) { + HEAP32[$0>>2] = 8; + $100 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($100|0); + } + $15 = HEAP32[$1>>2]|0; + $16 = (_walLockExclusive($15,1,1)|0); + HEAP32[$rc>>2] = $16; + $17 = HEAP32[$rc>>2]|0; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $19; + $100 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($100|0); + } + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 45|0); + HEAP8[$21>>0] = 1; + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)!=(0); + do { + if ($23) { + $24 = HEAP32[$1>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = (_walBusyLock($24,$25,$26,0,1)|0); + HEAP32[$rc>>2] = $27; + $28 = HEAP32[$rc>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 44|0); + HEAP8[$31>>0] = 1; + break; + } + $32 = HEAP32[$rc>>2]|0; + $33 = ($32|0)==(5); + if ($33) { + HEAP32[$eMode2>>2] = 0; + HEAP32[$rc>>2] = 0; + } + } + } while(0); + $34 = HEAP32[$rc>>2]|0; + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[$1>>2]|0; + $37 = (_walIndexReadHdr($36,$isChanged)|0); + HEAP32[$rc>>2] = $37; + $38 = HEAP32[$isChanged>>2]|0; + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)>=(3); + if ($45) { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + (_sqlite3OsUnfetch($48,0,0,0)|0); + } + } + } + $49 = HEAP32[$rc>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 52|0); + $53 = ((($52)) + 16|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0); + if ($55) { + $56 = HEAP32[$1>>2]|0; + $57 = (_walPagesize($56)|0); + $58 = HEAP32[$6>>2]|0; + $59 = ($57|0)!=($58|0); + if ($59) { + $60 = (_sqlite3CorruptError(51084)|0); + HEAP32[$rc>>2] = $60; + } else { + label = 18; + } } else { - $37 = 0; + label = 18; } - $21 = HEAP32[$pPage>>2]|0; - if (!($37)) { - break; + if ((label|0) == 18) { + $61 = HEAP32[$1>>2]|0; + $62 = HEAP32[$eMode2>>2]|0; + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = HEAP32[$5>>2]|0; + $66 = HEAP32[$7>>2]|0; + $67 = (_walCheckpoint($61,$62,$63,$64,$65,$66)|0); + HEAP32[$rc>>2] = $67; + } + $68 = HEAP32[$rc>>2]|0; + $69 = ($68|0)==(0); + $70 = HEAP32[$rc>>2]|0; + $71 = ($70|0)==(5); + $or$cond = $69 | $71; + if ($or$cond) { + $72 = HEAP32[$8>>2]|0; + $73 = ($72|0)!=(0|0); + if ($73) { + $74 = HEAP32[$1>>2]|0; + $75 = ((($74)) + 52|0); + $76 = ((($75)) + 16|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$8>>2]|0; + HEAP32[$78>>2] = $77; + } + $79 = HEAP32[$9>>2]|0; + $80 = ($79|0)!=(0|0); + if ($80) { + $81 = HEAP32[$1>>2]|0; + $82 = (_walCkptInfo($81)|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$9>>2]|0; + HEAP32[$84>>2] = $83; + } } - $22 = (($21) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$pPage>>2] = $23; } - $24 = ($21|0)!=(0|0); - if ($24) { - $25 = HEAP32[$pPage>>2]|0; - $26 = (($25) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)!=(0); - if ($28) { - $36 = HEAP32[$pPage>>2]|0; - STACKTOP = sp;return ($36|0); + $85 = HEAP32[$isChanged>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 52|0); + dest=$88; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + } + $89 = HEAP32[$1>>2]|0; + (_sqlite3WalEndWriteTransaction($89)|0); + $90 = HEAP32[$1>>2]|0; + _walUnlockExclusive($90,1,1); + $91 = HEAP32[$1>>2]|0; + $92 = ((($91)) + 45|0); + HEAP8[$92>>0] = 0; + $93 = HEAP32[$rc>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $95 = HEAP32[$2>>2]|0; + $96 = HEAP32[$eMode2>>2]|0; + $97 = ($95|0)!=($96|0); + if ($97) { + $99 = 5; + } else { + label = 28; } - $29 = HEAP32[$pPage>>2]|0; - _pcache1PinPage($29); - $36 = HEAP32[$pPage>>2]|0; - STACKTOP = sp;return ($36|0); } else { - $30 = HEAP32[$2>>2]|0; - $31 = ($30|0)!=(0); - if (!($31)) { - $36 = HEAP32[$pPage>>2]|0; - STACKTOP = sp;return ($36|0); - } - $32 = HEAP32[$pCache>>2]|0; - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = (_pcache1FetchStage2($32,$33,$34)|0); - HEAP32[$pPage>>2] = $35; - $36 = HEAP32[$pPage>>2]|0; - STACKTOP = sp;return ($36|0); + label = 28; + } + if ((label|0) == 28) { + $98 = HEAP32[$rc>>2]|0; + $99 = $98; } - return 0|0; + HEAP32[$0>>2] = $99; + $100 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($100|0); } -function _pcache1Unpin($p,$pPg,$reuseUnlikely) { - $p = $p|0; - $pPg = $pPg|0; - $reuseUnlikely = $reuseUnlikely|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, $pPage = 0, label = 0, sp = 0; +function _sqlite3OsFileControlHint($id,$op,$pArg) { + $id = $id|0; + $op = $op|0; + $pArg = $pArg|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $pCache = sp + 8|0; - $pPage = sp + 4|0; - $pGroup = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $reuseUnlikely; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $op; + HEAP32[$2>>2] = $pArg; $3 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $3; - $4 = HEAP32[$1>>2]|0; - HEAP32[$pPage>>2] = $4; - $5 = HEAP32[$pCache>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 40|0); $6 = HEAP32[$5>>2]|0; - HEAP32[$pGroup>>2] = $6; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)!=(0); - if (!($8)) { - $9 = HEAP32[$pGroup>>2]|0; - $10 = (($9) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$pGroup>>2]|0; - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($11>>>0)>($14>>>0); - if (!($15)) { - $18 = HEAP32[$pGroup>>2]|0; - $19 = (($18) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - $22 = HEAP32[$pPage>>2]|0; - $23 = HEAP32[$pGroup>>2]|0; - if ($21) { - $24 = (($23) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 28|0); - HEAP32[$26>>2] = $22; - $27 = HEAP32[$pGroup>>2]|0; - $28 = (($27) + 20|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pPage>>2]|0; - $31 = (($30) + 24|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$pPage>>2]|0; - $33 = HEAP32[$pGroup>>2]|0; - $34 = (($33) + 20|0); - HEAP32[$34>>2] = $32; - } else { - $35 = (($23) + 24|0); - HEAP32[$35>>2] = $22; - $36 = HEAP32[$pPage>>2]|0; - $37 = HEAP32[$pGroup>>2]|0; - $38 = (($37) + 20|0); - HEAP32[$38>>2] = $36; - } - $39 = HEAP32[$pCache>>2]|0; - $40 = (($39) + 32|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$40>>2] = $42; - $43 = HEAP32[$pPage>>2]|0; - $44 = (($43) + 12|0); - HEAP8[$44>>0] = 0; - STACKTOP = sp;return; - } - } - $16 = HEAP32[$pPage>>2]|0; - _pcache1RemoveFromHash($16); - $17 = HEAP32[$pPage>>2]|0; - _pcache1FreePage($17); + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$2>>2]|0; + (FUNCTION_TABLE_iiii[$6 & 31]($7,$8,$9)|0); STACKTOP = sp;return; } -function _pcache1Rekey($p,$pPg,$iOld,$iNew) { - $p = $p|0; - $pPg = $pPg|0; - $iOld = $iOld|0; - $iNew = $iNew|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pCache = 0, $pPage = 0; - var $pp = 0, label = 0, sp = 0; +function _walLimitSize($pWal,$0,$1) { + $pWal = $pWal|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rx = 0, $sz = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $pCache = sp + 12|0; - $pPage = sp + 8|0; - $pp = sp + 4|0; - $h = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $pPg; - HEAP32[$2>>2] = $iOld; - HEAP32[$3>>2] = $iNew; - $4 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $4; - $5 = HEAP32[$1>>2]|0; - HEAP32[$pPage>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$pCache>>2]|0; - $8 = (($7) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($6>>>0) % ($9>>>0))&-1; - HEAP32[$h>>2] = $10; - $11 = HEAP32[$h>>2]|0; - $12 = HEAP32[$pCache>>2]|0; - $13 = (($12) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - HEAP32[$pp>>2] = $15; - while(1) { - $16 = HEAP32[$pp>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$pPage>>2]|0; - $19 = ($17|0)!=($18|0); - if (!($19)) { - break; - } - $20 = HEAP32[$pp>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 16|0); - HEAP32[$pp>>2] = $22; - } - $23 = HEAP32[$pPage>>2]|0; - $24 = (($23) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pp>>2]|0; - HEAP32[$26>>2] = $25; - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$pCache>>2]|0; - $29 = (($28) + 40|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($27>>>0) % ($30>>>0))&-1; - HEAP32[$h>>2] = $31; - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$pPage>>2]|0; - $34 = (($33) + 8|0); - HEAP32[$34>>2] = $32; - $35 = HEAP32[$h>>2]|0; - $36 = HEAP32[$pCache>>2]|0; - $37 = (($36) + 44|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($35<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$pPage>>2]|0; - $42 = (($41) + 16|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$pPage>>2]|0; - $44 = HEAP32[$h>>2]|0; - $45 = HEAP32[$pCache>>2]|0; - $46 = (($45) + 44|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($44<<2)|0); - HEAP32[$48>>2] = $43; - $49 = HEAP32[$3>>2]|0; - $50 = HEAP32[$pCache>>2]|0; - $51 = (($50) + 28|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($49>>>0)>($52>>>0); - if (!($53)) { - STACKTOP = sp;return; + $vararg_buffer = sp + 16|0; + $2 = sp + 24|0; + $3 = sp + 8|0; + $sz = sp; + $rx = sp + 20|0; + HEAP32[$2>>2] = $pWal; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + _sqlite3BeginBenignMalloc(); + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3OsFileSize($10,$sz)|0); + HEAP32[$rx>>2] = $11; + $12 = HEAP32[$rx>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = $sz; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = $3; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = ($19|0)>($25|0); + $27 = ($16>>>0)>($22>>>0); + $28 = ($19|0)==($25|0); + $29 = $28 & $27; + $30 = $26 | $29; + if ($30) { + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP32[$32>>2]|0; + $34 = $3; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (_sqlite3OsTruncate($33,$36,$39)|0); + HEAP32[$rx>>2] = $40; + } } - $54 = HEAP32[$3>>2]|0; - $55 = HEAP32[$pCache>>2]|0; - $56 = (($55) + 28|0); - HEAP32[$56>>2] = $54; - STACKTOP = sp;return; -} -function _pcache1Truncate($p,$iLimit) { - $p = $p|0; - $iLimit = $iLimit|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $pCache = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $iLimit; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $2; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$pCache>>2]|0; - $5 = (($4) + 28|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3>>>0)<=($6>>>0); - if (!($7)) { + _sqlite3EndBenignMalloc(); + $41 = HEAP32[$rx>>2]|0; + $42 = ($41|0)!=(0); + if (!($42)) { STACKTOP = sp;return; } - $8 = HEAP32[$pCache>>2]|0; - $9 = HEAP32[$1>>2]|0; - _pcache1TruncateUnsafe($8,$9); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) - 1)|0; - $12 = HEAP32[$pCache>>2]|0; - $13 = (($12) + 28|0); - HEAP32[$13>>2] = $11; + $43 = HEAP32[$rx>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 100|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$vararg_buffer>>2] = $46; + _sqlite3_log($43,17470,$vararg_buffer); STACKTOP = sp;return; } -function _pcache1Destroy($p) { - $p = $p|0; +function _walIndexClose($pWal,$isDelete) { + $pWal = $pWal|0; + $isDelete = $isDelete|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; - $pCache = sp + 4|0; - $pGroup = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $1; - $2 = HEAP32[$pCache>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pGroup>>2] = $3; - $4 = HEAP32[$pCache>>2]|0; - _pcache1TruncateUnsafe($4,0); - $5 = HEAP32[$pCache>>2]|0; - $6 = (($5) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$pGroup>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) - ($7))|0; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$pCache>>2]|0; - $13 = (($12) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$pGroup>>2]|0; - $16 = (($15) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - $19 = HEAP32[$pGroup>>2]|0; - $20 = (($19) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 10)|0; - $23 = HEAP32[$pGroup>>2]|0; - $24 = (($23) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($22) - ($25))|0; - $27 = HEAP32[$pGroup>>2]|0; - $28 = (($27) + 12|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$pGroup>>2]|0; - _pcache1EnforceMaxPage($29); - $30 = HEAP32[$pCache>>2]|0; - $31 = (($30) + 44|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3_free($32); - $33 = HEAP32[$pCache>>2]|0; - _sqlite3_free($33); - STACKTOP = sp;return; -} -function _pcache1Shrink($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, $savedMaxPage = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pCache = sp + 8|0; - $pGroup = sp + 4|0; - $savedMaxPage = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pCache>>2] = $1; - $2 = HEAP32[$pCache>>2]|0; - $3 = (($2) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - if (!($5)) { + $1 = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $isDelete; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 43|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(2); + if (!($6)) { + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$1>>2]|0; + (_sqlite3OsShmUnmap($27,$28)|0); STACKTOP = sp;return; } - $6 = HEAP32[$pCache>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pGroup>>2] = $7; - $8 = HEAP32[$pGroup>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$savedMaxPage>>2] = $10; - $11 = HEAP32[$pGroup>>2]|0; - $12 = (($11) + 4|0); - HEAP32[$12>>2] = 0; - $13 = HEAP32[$pGroup>>2]|0; - _pcache1EnforceMaxPage($13); - $14 = HEAP32[$savedMaxPage>>2]|0; - $15 = HEAP32[$pGroup>>2]|0; - $16 = (($15) + 4|0); - HEAP32[$16>>2] = $14; - STACKTOP = sp;return; -} -function _pcache1EnforceMaxPage($pGroup) { - $pGroup = $pGroup|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pGroup; + HEAP32[$i>>2] = 0; while(1) { - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3>>>0)>($6>>>0); - if (!($7)) { - label = 5; - break; - } + $7 = HEAP32[$i>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 24|0); + $9 = ((($8)) + 24|0); $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); + $11 = ($7|0)<($10|0); if (!($11)) { - label = 5; break; } - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 24|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$p>>2] = $14; - $15 = HEAP32[$p>>2]|0; - _pcache1PinPage($15); - $16 = HEAP32[$p>>2]|0; - _pcache1RemoveFromHash($16); - $17 = HEAP32[$p>>2]|0; - _pcache1FreePage($17); - } - if ((label|0) == 5) { - STACKTOP = sp;return; - } -} -function _pcache1PinPage($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pCache = sp + 4|0; - $pGroup = sp; - HEAP32[$0>>2] = $pPage; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 20|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pCache>>2] = $3; - $4 = HEAP32[$pCache>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pGroup>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 24|0); - $12 = HEAP32[$11>>2]|0; - if ($9) { + $12 = HEAP32[$i>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 28|0); + $14 = ((($13)) + 32|0); $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 24|0); - HEAP32[$16>>2] = $12; - } else { - $17 = HEAP32[$pGroup>>2]|0; - $18 = (($17) + 20|0); - HEAP32[$18>>2] = $12; - } - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 28|0); - $25 = HEAP32[$24>>2]|0; - if ($22) { - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 24|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 28|0); - HEAP32[$29>>2] = $25; - } else { - $30 = HEAP32[$pGroup>>2]|0; - $31 = (($30) + 24|0); - HEAP32[$31>>2] = $25; - } - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 24|0); - HEAP32[$33>>2] = 0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 28|0); - HEAP32[$35>>2] = 0; - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 12|0); - HEAP8[$37>>0] = 1; - $38 = HEAP32[$pCache>>2]|0; - $39 = (($38) + 32|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + -1)|0; - HEAP32[$39>>2] = $41; - STACKTOP = sp;return; -} -function _pcache1RemoveFromHash($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pCache = 0, $pp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $h = sp + 8|0; - $pCache = sp + 4|0; - $pp = sp; - HEAP32[$0>>2] = $pPage; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 20|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pCache>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$pCache>>2]|0; - $8 = (($7) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($6>>>0) % ($9>>>0))&-1; - HEAP32[$h>>2] = $10; - $11 = HEAP32[$h>>2]|0; - $12 = HEAP32[$pCache>>2]|0; - $13 = (($12) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - HEAP32[$pp>>2] = $15; - while(1) { - $16 = HEAP32[$pp>>2]|0; + $16 = (($15) + ($12<<2)|0); $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = ($17|0)!=($18|0); - $20 = HEAP32[$pp>>2]|0; + _sqlite3_free($17); + $18 = HEAP32[$i>>2]|0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 32|0); $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 16|0); - if (!($19)) { - break; - } - HEAP32[$pp>>2] = $22; + $22 = (($21) + ($18<<2)|0); + HEAP32[$22>>2] = 0; + $23 = HEAP32[$i>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$i>>2] = $24; } - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$pp>>2]|0; - HEAP32[$24>>2] = $23; - $25 = HEAP32[$pCache>>2]|0; - $26 = (($25) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + -1)|0; - HEAP32[$26>>2] = $28; STACKTOP = sp;return; } -function _pcache1FreePage($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, label = 0, sp = 0; +function _sqlite3OsShmUnmap($id,$deleteFlag) { + $id = $id|0; + $deleteFlag = $deleteFlag|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $pCache = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 20|0); + $1 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $deleteFlag; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 64|0); $5 = HEAP32[$4>>2]|0; - HEAP32[$pCache>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$6>>2]|0; - (_pcache1Free($7)|0); - $8 = HEAP32[$pCache>>2]|0; - $9 = (($8) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0); - if (!($11)) { - STACKTOP = sp;return; - } - $12 = HEAP32[$pCache>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + -1)|0; - HEAP32[$14>>2] = $16; - STACKTOP = sp;return; + $7 = HEAP32[$1>>2]|0; + $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); + STACKTOP = sp;return ($8|0); } -function _pcache1TruncateUnsafe($pCache,$iLimit) { - $pCache = $pCache|0; - $iLimit = $iLimit|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pPage = 0; - var $pp = 0, label = 0, sp = 0; +function _walLockExclusive($pWal,$lockIdx,$n) { + $pWal = $pWal|0; + $lockIdx = $lockIdx|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; - $h = sp + 8|0; - $pp = sp + 4|0; - $pPage = sp; - HEAP32[$0>>2] = $pCache; - HEAP32[$1>>2] = $iLimit; - HEAP32[$h>>2] = 0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $lockIdx; + HEAP32[$3>>2] = $n; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 43|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + if ($7) { + HEAP32[$0>>2] = 0; + $15 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($15|0); + } else { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = (_sqlite3OsShmLock($10,$11,$12,10)|0); + HEAP32[$rc>>2] = $13; + $14 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $14; + $15 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($15|0); + } + return (0)|0; +} +function _walBusyLock($pWal,$xBusy,$pBusyArg,$lockIdx,$n) { + $pWal = $pWal|0; + $xBusy = $xBusy|0; + $pBusyArg = $pBusyArg|0; + $lockIdx = $lockIdx|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $xBusy; + HEAP32[$2>>2] = $pBusyArg; + HEAP32[$3>>2] = $lockIdx; + HEAP32[$4>>2] = $n; while(1) { - $2 = HEAP32[$h>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2>>>0)<($5>>>0); - if (!($6)) { + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = HEAP32[$4>>2]|0; + $8 = (_walLockExclusive($5,$6,$7)|0); + HEAP32[$rc>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ($9|0)!=(0|0); + $11 = HEAP32[$rc>>2]|0; + $12 = ($11|0)==(5); + $or$cond = $10 & $12; + if (!($or$cond)) { + label = 4; break; } - $7 = HEAP32[$h>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 44|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<2)|0); - HEAP32[$pp>>2] = $11; - while(1) { - $12 = HEAP32[$pp>>2]|0; - $13 = HEAP32[$12>>2]|0; - HEAP32[$pPage>>2] = $13; - $14 = ($13|0)!=(0|0); - if (!($14)) { - break; - } - $15 = HEAP32[$pPage>>2]|0; - $16 = (($15) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ($17>>>0)>=($18>>>0); - if (!($19)) { - $34 = HEAP32[$pPage>>2]|0; - $35 = (($34) + 16|0); - HEAP32[$pp>>2] = $35; - continue; - } - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 36|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + -1)|0; - HEAP32[$21>>2] = $23; - $24 = HEAP32[$pPage>>2]|0; - $25 = (($24) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$pp>>2]|0; - HEAP32[$27>>2] = $26; - $28 = HEAP32[$pPage>>2]|0; - $29 = (($28) + 12|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)!=(0); - if (!($31)) { - $32 = HEAP32[$pPage>>2]|0; - _pcache1PinPage($32); - } - $33 = HEAP32[$pPage>>2]|0; - _pcache1FreePage($33); + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = (FUNCTION_TABLE_ii[$13 & 31]($14)|0); + $16 = ($15|0)!=(0); + if (!($16)) { + label = 4; + break; } - $36 = HEAP32[$h>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$h>>2] = $37; } - STACKTOP = sp;return; + if ((label|0) == 4) { + $17 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($17|0); + } + return (0)|0; } -function _pcache1FetchStage2($pCache,$iKey,$createFlag) { - $pCache = $pCache|0; - $iKey = $iKey|0; - $createFlag = $createFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; +function _walIndexReadHdr($pWal,$pChanged) { + $pWal = $pWal|0; + $pChanged = $pChanged|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $h = 0, $nPinned = 0, $pGroup = 0, $pOther = 0, $pPage = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $badHdr = 0, $page0 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $nPinned = sp + 16|0; - $pGroup = sp + 12|0; - $pPage = sp + 8|0; - $pOther = sp + 4|0; - $h = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$2>>2] = $iKey; - HEAP32[$3>>2] = $createFlag; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$pGroup>>2] = $5; - HEAP32[$pPage>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 36|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($8) - ($11))|0; - HEAP32[$nPinned>>2] = $12; - $13 = HEAP32[$3>>2]|0; - $14 = ($13|0)==(1); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $rc = sp + 8|0; + $badHdr = sp + 4|0; + $page0 = sp; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $pChanged; + $3 = HEAP32[$1>>2]|0; + $4 = (_walIndexPage($3,0,$page0)|0); + HEAP32[$rc>>2] = $4; + $5 = HEAP32[$rc>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $7; + $52 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($52|0); + } + $8 = HEAP32[$page0>>2]|0; + $9 = ($8|0)!=(0|0); + if ($9) { + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = (_walIndexTryHdr($10,$11)|0); + $13 = $12; + } else { + $13 = 1; + } + HEAP32[$badHdr>>2] = $13; + $14 = HEAP32[$badHdr>>2]|0; + $15 = ($14|0)!=(0); do { - if ($14) { - $15 = HEAP32[$nPinned>>2]|0; - $16 = HEAP32[$pGroup>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15>>>0)>=($18>>>0); - if (!($19)) { - $20 = HEAP32[$nPinned>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 24|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20>>>0)>=($23>>>0); + if ($15) { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 46|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $19 & 2; + $21 = ($20|0)!=(0); + $22 = HEAP32[$1>>2]|0; + if ($21) { + $23 = (_walLockShared($22,0)|0); + HEAP32[$rc>>2] = $23; + $24 = (0)==($23|0); if (!($24)) { - $25 = HEAP32[$1>>2]|0; - $26 = (_pcache1UnderMemoryPressure($25)|0); - $27 = ($26|0)!=(0); - if (!($27)) { - break; - } - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 32|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$nPinned>>2]|0; - $32 = ($30>>>0)<($31>>>0); - if (!($32)) { - break; - } + break; } + $25 = HEAP32[$1>>2]|0; + _walUnlockShared($25,0); + HEAP32[$rc>>2] = 264; + break; } - HEAP32[$0>>2] = 0; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); - } - } while(0); - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 36|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($35>>>0)>=($38>>>0); - if ($39) { - $40 = HEAP32[$1>>2]|0; - _pcache1ResizeHash($40); - } - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0); - do { - if ($44) { - $45 = HEAP32[$pGroup>>2]|0; - $46 = (($45) + 24|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)!=(0|0); - if ($48) { - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 36|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 1)|0; - $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 20|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($52>>>0)>=($55>>>0); - if (!($56)) { - $57 = HEAP32[$pGroup>>2]|0; - $58 = (($57) + 16|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$pGroup>>2]|0; - $61 = (($60) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($59>>>0)>=($62>>>0); - if (!($63)) { - $64 = HEAP32[$1>>2]|0; - $65 = (_pcache1UnderMemoryPressure($64)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - break; - } + $26 = (_walLockExclusive($22,0,1)|0); + HEAP32[$rc>>2] = $26; + $27 = (0)==($26|0); + if ($27) { + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 44|0); + HEAP8[$29>>0] = 1; + $30 = HEAP32[$1>>2]|0; + $31 = (_walIndexPage($30,0,$page0)|0); + HEAP32[$rc>>2] = $31; + $32 = (0)==($31|0); + if ($32) { + $33 = HEAP32[$1>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = (_walIndexTryHdr($33,$34)|0); + HEAP32[$badHdr>>2] = $35; + $36 = HEAP32[$badHdr>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$1>>2]|0; + $39 = (_walIndexRecover($38)|0); + HEAP32[$rc>>2] = $39; + $40 = HEAP32[$2>>2]|0; + HEAP32[$40>>2] = 1; } } - $67 = HEAP32[$pGroup>>2]|0; - $68 = (($67) + 24|0); - $69 = HEAP32[$68>>2]|0; - HEAP32[$pPage>>2] = $69; - $70 = HEAP32[$pPage>>2]|0; - _pcache1RemoveFromHash($70); - $71 = HEAP32[$pPage>>2]|0; - _pcache1PinPage($71); - $72 = HEAP32[$pPage>>2]|0; - $73 = (($72) + 20|0); - $74 = HEAP32[$73>>2]|0; - HEAP32[$pOther>>2] = $74; - $75 = HEAP32[$pOther>>2]|0; - $76 = (($75) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$pOther>>2]|0; - $79 = (($78) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (($77) + ($80))|0; - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$1>>2]|0; - $86 = (($85) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = (($84) + ($87))|0; - $89 = ($81|0)!=($88|0); - if ($89) { - $90 = HEAP32[$pPage>>2]|0; - _pcache1FreePage($90); - HEAP32[$pPage>>2] = 0; - break; - } else { - $91 = HEAP32[$pOther>>2]|0; - $92 = (($91) + 12|0); - $93 = HEAP32[$92>>2]|0; - $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 12|0); - $96 = HEAP32[$95>>2]|0; - $97 = (($93) - ($96))|0; - $98 = HEAP32[$pGroup>>2]|0; - $99 = (($98) + 16|0); - $100 = HEAP32[$99>>2]|0; - $101 = (($100) - ($97))|0; - HEAP32[$99>>2] = $101; - break; - } + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 44|0); + HEAP8[$42>>0] = 0; + $43 = HEAP32[$1>>2]|0; + _walUnlockExclusive($43,0,1); } } } while(0); - $102 = HEAP32[$pPage>>2]|0; - $103 = ($102|0)!=(0|0); - if (!($103)) { - $104 = HEAP32[$3>>2]|0; - $105 = ($104|0)==(1); - if ($105) { - _sqlite3BeginBenignMalloc(); - } - $106 = HEAP32[$1>>2]|0; - $107 = (_pcache1AllocPage($106)|0); - HEAP32[$pPage>>2] = $107; - $108 = HEAP32[$3>>2]|0; - $109 = ($108|0)==(1); - if ($109) { - _sqlite3EndBenignMalloc(); - } - } - $110 = HEAP32[$pPage>>2]|0; - $111 = ($110|0)!=(0|0); - if ($111) { - $112 = HEAP32[$2>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = (($113) + 40|0); - $115 = HEAP32[$114>>2]|0; - $116 = (($112>>>0) % ($115>>>0))&-1; - HEAP32[$h>>2] = $116; - $117 = HEAP32[$1>>2]|0; - $118 = (($117) + 36|0); - $119 = HEAP32[$118>>2]|0; - $120 = (($119) + 1)|0; - HEAP32[$118>>2] = $120; - $121 = HEAP32[$2>>2]|0; - $122 = HEAP32[$pPage>>2]|0; - $123 = (($122) + 8|0); - HEAP32[$123>>2] = $121; - $124 = HEAP32[$h>>2]|0; - $125 = HEAP32[$1>>2]|0; - $126 = (($125) + 44|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($127) + ($124<<2)|0); - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$pPage>>2]|0; - $131 = (($130) + 16|0); - HEAP32[$131>>2] = $129; - $132 = HEAP32[$1>>2]|0; - $133 = HEAP32[$pPage>>2]|0; - $134 = (($133) + 20|0); - HEAP32[$134>>2] = $132; - $135 = HEAP32[$pPage>>2]|0; - $136 = (($135) + 28|0); - HEAP32[$136>>2] = 0; - $137 = HEAP32[$pPage>>2]|0; - $138 = (($137) + 24|0); - HEAP32[$138>>2] = 0; - $139 = HEAP32[$pPage>>2]|0; - $140 = (($139) + 12|0); - HEAP8[$140>>0] = 1; - $141 = HEAP32[$pPage>>2]|0; - $142 = (($141) + 4|0); - $143 = HEAP32[$142>>2]|0; - HEAP32[$143>>2] = 0; - $144 = HEAP32[$pPage>>2]|0; - $145 = HEAP32[$h>>2]|0; - $146 = HEAP32[$1>>2]|0; - $147 = (($146) + 44|0); - $148 = HEAP32[$147>>2]|0; - $149 = (($148) + ($145<<2)|0); - HEAP32[$149>>2] = $144; - $150 = HEAP32[$2>>2]|0; - $151 = HEAP32[$1>>2]|0; - $152 = (($151) + 28|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($150>>>0)>($153>>>0); - if ($154) { - $155 = HEAP32[$2>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = (($156) + 28|0); - HEAP32[$157>>2] = $155; + $44 = HEAP32[$badHdr>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 52|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)!=(3007000); + if ($49) { + $50 = (_sqlite3CantopenError(50131)|0); + HEAP32[$rc>>2] = $50; } } - $158 = HEAP32[$pPage>>2]|0; - HEAP32[$0>>2] = $158; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $51 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $51; + $52 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($52|0); } -function _pcache1UnderMemoryPressure($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _walPagesize($pWal) { + $pWal = $pWal|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pCache; - $2 = HEAP32[((3136 + 36|0))>>2]|0; - $3 = ($2|0)!=(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($6) + ($9))|0; - $11 = HEAP32[((3136 + 32|0))>>2]|0; - $12 = ($10|0)<=($11|0); - if ($12) { - $13 = HEAP32[((3136 + 64|0))>>2]|0; - HEAP32[$0>>2] = $13; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); - } - } - $14 = (_sqlite3HeapNearlyFull()|0); - HEAP32[$0>>2] = $14; - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); -} -function _pcache1ResizeHash($p) { - $p = $p|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $apNew = 0, $h = 0, $i = 0, $nNew = 0, $pNext = 0, $pPage = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $apNew = sp + 20|0; - $nNew = sp + 16|0; - $i = sp + 12|0; - $pPage = sp + 8|0; - $pNext = sp + 4|0; - $h = sp; - HEAP32[$0>>2] = $p; + $0 = sp; + HEAP32[$0>>2] = $pWal; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 40|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3<<1; - HEAP32[$nNew>>2] = $4; - $5 = HEAP32[$nNew>>2]|0; - $6 = ($5>>>0)<(256); - $$ = $6 ? 256 : $4; - HEAP32[$nNew>>2] = $$; + $2 = ((($1)) + 52|0); + $3 = ((($2)) + 14|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 65024; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 40|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - _sqlite3BeginBenignMalloc(); - } - $11 = HEAP32[$nNew>>2]|0; - $12 = $11<<2; - $13 = (_sqlite3MallocZero($12,0)|0); - HEAP32[$apNew>>2] = $13; - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 40|0); + $8 = ((($7)) + 52|0); + $9 = ((($8)) + 14|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + $12 = $11 & 1; + $13 = $12 << 16; + $14 = (($6) + ($13))|0; + STACKTOP = sp;return ($14|0); +} +function _walCheckpoint($pWal,$eMode,$xBusyCall,$pBusyArg,$sync_flags,$zBuf) { + $pWal = $pWal|0; + $eMode = $eMode|0; + $xBusyCall = $xBusyCall|0; + $pBusyArg = $pBusyArg|0; + $sync_flags = $sync_flags|0; + $zBuf = $zBuf|0; + var $$old = 0, $$old4 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; + var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; + var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; + var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; + var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iDbpage = 0, $iFrame = 0, $iOffset = 0, $mxPage = 0, $mxSafeFrame = 0, $nBackfill = 0, $nReq = 0, $nSize = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pInfo = 0, $pIter = 0, $rc = 0; + var $szDb = 0, $szPage = 0, $xBusy = 0, $y = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $0 = sp + 88|0; + $1 = sp + 64|0; + $2 = sp + 32|0; + $3 = sp + 84|0; + $4 = sp + 48|0; + $5 = sp + 52|0; + $6 = sp + 44|0; + $rc = sp + 92|0; + $szPage = sp + 36|0; + $pIter = sp + 40|0; + $iDbpage = sp + 80|0; + $iFrame = sp + 104|0; + $mxSafeFrame = sp + 96|0; + $mxPage = sp + 100|0; + $i = sp + 56|0; + $pInfo = sp + 60|0; + $xBusy = sp + 68|0; + $y = sp + 72|0; + $nSize = sp + 16|0; + $nBackfill = sp + 76|0; + $nReq = sp; + $iOffset = sp + 8|0; + $szDb = sp + 24|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $eMode; + HEAP32[$3>>2] = $xBusyCall; + HEAP32[$4>>2] = $pBusyArg; + HEAP32[$5>>2] = $sync_flags; + HEAP32[$6>>2] = $zBuf; + HEAP32[$pIter>>2] = 0; + HEAP32[$iDbpage>>2] = 0; + HEAP32[$iFrame>>2] = 0; + HEAP32[$xBusy>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = (_walPagesize($7)|0); + HEAP32[$szPage>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = (_walCkptInfo($9)|0); + HEAP32[$pInfo>>2] = $10; + $11 = HEAP32[$pInfo>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 52|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0); + $17 = ($12>>>0)>=($16>>>0); if ($17) { - _sqlite3EndBenignMalloc(); + HEAP32[$0>>2] = 0; + $262 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($262|0); } - $18 = HEAP32[$apNew>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; + $18 = HEAP32[$1>>2]|0; + $19 = (_walIteratorInit($18,$pIter)|0); + HEAP32[$rc>>2] = $19; + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $22; + $262 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($262|0); } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($20>>>0)<($23>>>0); - if (!($24)) { + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + HEAP32[$xBusy>>2] = $25; + } + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 52|0); + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$mxSafeFrame>>2] = $29; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 52|0); + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$mxPage>>2] = $33; + HEAP32[$i>>2] = 1; + L12: while(1) { + $34 = HEAP32[$i>>2]|0; + $35 = ($34|0)<(5); + if (!($35)) { + label = 15; break; } - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 44|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($25<<2)|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pNext>>2] = $30; - while(1) { - $31 = HEAP32[$pNext>>2]|0; - HEAP32[$pPage>>2] = $31; - $32 = ($31|0)!=(0|0); - if (!($32)) { - break; - } - $33 = HEAP32[$pPage>>2]|0; - $34 = (($33) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$nNew>>2]|0; - $37 = (($35>>>0) % ($36>>>0))&-1; - HEAP32[$h>>2] = $37; - $38 = HEAP32[$pPage>>2]|0; - $39 = (($38) + 16|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$pNext>>2] = $40; - $41 = HEAP32[$h>>2]|0; - $42 = HEAP32[$apNew>>2]|0; - $43 = (($42) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$pPage>>2]|0; - $46 = (($45) + 16|0); - HEAP32[$46>>2] = $44; - $47 = HEAP32[$pPage>>2]|0; - $48 = HEAP32[$h>>2]|0; - $49 = HEAP32[$apNew>>2]|0; - $50 = (($49) + ($48<<2)|0); - HEAP32[$50>>2] = $47; - } - $51 = HEAP32[$i>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$i>>2] = $52; - } - $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 44|0); - $55 = HEAP32[$54>>2]|0; - _sqlite3_free($55); - $56 = HEAP32[$apNew>>2]|0; - $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 44|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$nNew>>2]|0; - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 40|0); - HEAP32[$61>>2] = $59; - STACKTOP = sp;return; -} -function _pcache1AllocPage($pCache) { - $pCache = $pCache|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pPg = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $p = sp + 4|0; - $pPg = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$p>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (32 + ($4))|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($5) + ($8))|0; - $10 = (_pcache1Alloc($9)|0); - HEAP32[$pPg>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$pPg>>2]|0; - $15 = (($14) + ($13)|0); - HEAP32[$p>>2] = $15; - $16 = HEAP32[$pPg>>2]|0; - $17 = ($16|0)!=(0|0); - if (!($17)) { - HEAP32[$0>>2] = 0; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); - } - $18 = HEAP32[$pPg>>2]|0; - $19 = HEAP32[$p>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 32|0); - $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 4|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$30>>2] = $32; - } - $33 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $33; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); -} -function _sqlite3HeapNearlyFull() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[((136 + 36|0))>>2]|0; - STACKTOP = sp;return ($0|0); -} -function _sqlite3MemMalloc($nByte) { - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $p = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; - $p = sp + 4|0; - HEAP32[$0>>2] = $nByte; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 7)|0; - $3 = $2 & -8; - HEAP32[$0>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8)|0; - $6 = (_malloc($5)|0); - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = HEAP32[$p>>2]|0; - $13 = $12; - $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 8|0); - HEAP32[$p>>2] = $18; - $19 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($19|0); - } else { - HEAP32[$vararg_buffer>>2] = $9; - _sqlite3_log(7,6192,$vararg_buffer); - $19 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($19|0); - } - return 0|0; -} -function _sqlite3MemFree($pPrior) { - $pPrior = $pPrior|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pPrior; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = (($2) + -8|0); - HEAP32[$p>>2] = $3; - $4 = HEAP32[$p>>2]|0; - _free($4); - STACKTOP = sp;return; -} -function _sqlite3MemRealloc($pPrior,$nByte) { - $pPrior = $pPrior|0; - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $p = sp + 8|0; - HEAP32[$0>>2] = $pPrior; - HEAP32[$1>>2] = $nByte; - $2 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = (($3) + -8|0); - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8)|0; - $8 = (_realloc($5,$7)|0); - HEAP32[$p>>2] = $8; - $9 = HEAP32[$p>>2]|0; - $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = HEAP32[$p>>2]|0; - $15 = $14; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $13; - $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 8|0); - HEAP32[$p>>2] = $20; - $24 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($24|0); - } else { - $21 = HEAP32[$0>>2]|0; - $22 = (_sqlite3MemSize($21)|0); - $23 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $22; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $23; - _sqlite3_log(7,6152,$vararg_buffer); - $24 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($24|0); - } - return 0|0; -} -function _sqlite3MemSize($pPrior) { - $pPrior = $pPrior|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pPrior; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$0>>2] = 0; - $14 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($14|0); - } else { - $4 = HEAP32[$1>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = (($5) + -8|0); - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = $7; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - HEAP32[$0>>2] = $10; - $14 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($14|0); - } - return 0|0; -} -function _sqlite3MemRoundup($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $n; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 7)|0; - $3 = $2 & -8; - STACKTOP = sp;return ($3|0); -} -function _sqlite3MemInit($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - STACKTOP = sp;return 0; -} -function _sqlite3MemShutdown($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - STACKTOP = sp;return; -} -function _trimFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$old = 0, $$old1 = 0, $$old2 = 0, $$old3 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aLen = 0, $azChar = 0, $flags = 0, $i = 0, $len = 0, $len1 = 0; - var $nChar = 0, $nIn = 0, $or$cond = 0, $or$cond4 = 0, $z = 0, $zCharSet = 0, $zIn = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $zIn = sp + 40|0; - $zCharSet = sp + 36|0; - $nIn = sp + 32|0; - $flags = sp + 28|0; - $i = sp + 24|0; - $aLen = sp + 20|0; - $azChar = sp + 16|0; - $nChar = sp + 12|0; - $z = sp + 8|0; - $len = sp + 4|0; - $len1 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$aLen>>2] = 0; - HEAP32[$azChar>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - $6 = ($5|0)==(5); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zIn>>2] = $9; - $10 = HEAP32[$zIn>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - STACKTOP = sp;return; - } - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_bytes($13)|0); - HEAP32[$nIn>>2] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = ($15|0)==(1); - L7: do { - if ($16) { - HEAP32[$nChar>>2] = 1; - HEAP32[$aLen>>2] = 9896; - HEAP32[$azChar>>2] = 9904; - HEAP32[$zCharSet>>2] = 0; - } else { - $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_text($19)|0); - HEAP32[$zCharSet>>2] = $20; - $21 = ($20|0)==(0|0); - if ($21) { - STACKTOP = sp;return; - } - $22 = HEAP32[$zCharSet>>2]|0; - HEAP32[$z>>2] = $22; - HEAP32[$nChar>>2] = 0; - while(1) { - $23 = HEAP32[$z>>2]|0; - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)!=(0); - if (!($25)) { + $36 = HEAP32[$i>>2]|0; + $37 = HEAP32[$pInfo>>2]|0; + $38 = ((($37)) + 4|0); + $39 = (($38) + ($36<<2)|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$y>>2] = $40; + $41 = HEAP32[$mxSafeFrame>>2]|0; + $42 = HEAP32[$y>>2]|0; + $43 = ($41>>>0)>($42>>>0); + do { + if ($43) { + $44 = HEAP32[$1>>2]|0; + $45 = HEAP32[$xBusy>>2]|0; + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$i>>2]|0; + $48 = (3 + ($47))|0; + $49 = (_walBusyLock($44,$45,$46,$48,1)|0); + HEAP32[$rc>>2] = $49; + $50 = HEAP32[$rc>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $52 = HEAP32[$i>>2]|0; + $53 = ($52|0)==(1); + $54 = HEAP32[$mxSafeFrame>>2]|0; + $55 = $53 ? $54 : -1; + $56 = HEAP32[$i>>2]|0; + $57 = HEAP32[$pInfo>>2]|0; + $58 = ((($57)) + 4|0); + $59 = (($58) + ($56<<2)|0); + HEAP32[$59>>2] = $55; + $60 = HEAP32[$1>>2]|0; + $61 = HEAP32[$i>>2]|0; + $62 = (3 + ($61))|0; + _walUnlockExclusive($60,$62,1); break; } - $26 = HEAP32[$z>>2]|0; - $27 = (($26) + 1|0); - HEAP32[$z>>2] = $27; - $28 = HEAP8[$26>>0]|0; - $29 = $28&255; - $30 = ($29|0)>=(192); - L16: do { - if ($30) { - while(1) { - $31 = HEAP32[$z>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $33 & 192; - $35 = ($34|0)==(128); - if (!($35)) { - break L16; - } - $36 = HEAP32[$z>>2]|0; - $37 = (($36) + 1|0); - HEAP32[$z>>2] = $37; - } - } - } while(0); - $38 = HEAP32[$nChar>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$nChar>>2] = $39; - } - $40 = HEAP32[$nChar>>2]|0; - $41 = ($40|0)>(0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$nChar>>2]|0; - $44 = ($43|0)<(0); - $45 = $44 << 31 >> 31; - $46 = (___muldi3(($43|0),($45|0),5,0)|0); - $47 = tempRet0; - $48 = (_contextMalloc($42,$46,$47)|0); - HEAP32[$azChar>>2] = $48; - $49 = HEAP32[$azChar>>2]|0; - $50 = ($49|0)==(0|0); - if ($50) { - STACKTOP = sp;return; + $63 = HEAP32[$rc>>2]|0; + $64 = ($63|0)==(5); + if (!($64)) { + break L12; } - $51 = HEAP32[$nChar>>2]|0; - $52 = HEAP32[$azChar>>2]|0; - $53 = (($52) + ($51<<2)|0); - HEAP32[$aLen>>2] = $53; - $54 = HEAP32[$zCharSet>>2]|0; - HEAP32[$z>>2] = $54; - HEAP32[$nChar>>2] = 0; - while(1) { - $55 = HEAP32[$z>>2]|0; - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)!=(0); - if (!($57)) { - break L7; + $65 = HEAP32[$y>>2]|0; + HEAP32[$mxSafeFrame>>2] = $65; + HEAP32[$xBusy>>2] = 0; + } + } while(0); + $66 = HEAP32[$i>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$i>>2] = $67; + } + do { + if ((label|0) == 15) { + $68 = HEAP32[$pInfo>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$mxSafeFrame>>2]|0; + $71 = ($69>>>0)<($70>>>0); + if ($71) { + $72 = HEAP32[$1>>2]|0; + $73 = HEAP32[$xBusy>>2]|0; + $74 = HEAP32[$4>>2]|0; + $75 = (_walBusyLock($72,$73,$74,3,1)|0); + HEAP32[$rc>>2] = $75; + $76 = ($75|0)==(0); + if ($76) { + $77 = HEAP32[$pInfo>>2]|0; + $78 = HEAP32[$77>>2]|0; + HEAP32[$nBackfill>>2] = $78; + $79 = HEAP32[$5>>2]|0; + $80 = ($79|0)!=(0); + if ($80) { + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 8|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$5>>2]|0; + $85 = (_sqlite3OsSync($83,$84)|0); + HEAP32[$rc>>2] = $85; } - $58 = HEAP32[$z>>2]|0; - $59 = HEAP32[$nChar>>2]|0; - $60 = HEAP32[$azChar>>2]|0; - $61 = (($60) + ($59<<2)|0); - HEAP32[$61>>2] = $58; - $62 = HEAP32[$z>>2]|0; - $63 = (($62) + 1|0); - HEAP32[$z>>2] = $63; - $64 = HEAP8[$62>>0]|0; - $65 = $64&255; - $66 = ($65|0)>=(192); - L29: do { - if ($66) { - while(1) { - $67 = HEAP32[$z>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = $69 & 192; - $71 = ($70|0)==(128); - if (!($71)) { - break L29; - } - $72 = HEAP32[$z>>2]|0; - $73 = (($72) + 1|0); - HEAP32[$z>>2] = $73; + $86 = HEAP32[$rc>>2]|0; + $87 = ($86|0)==(0); + if ($87) { + $88 = HEAP32[$mxPage>>2]|0; + $89 = HEAP32[$szPage>>2]|0; + $90 = ($89|0)<(0); + $91 = $90 << 31 >> 31; + $92 = (___muldi3(($88|0),0,($89|0),($91|0))|0); + $93 = tempRet0; + $94 = $nReq; + $95 = $94; + HEAP32[$95>>2] = $92; + $96 = (($94) + 4)|0; + $97 = $96; + HEAP32[$97>>2] = $93; + $98 = HEAP32[$1>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = (_sqlite3OsFileSize($100,$nSize)|0); + HEAP32[$rc>>2] = $101; + $102 = HEAP32[$rc>>2]|0; + $103 = ($102|0)==(0); + if ($103) { + $104 = $nSize; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (($104) + 4)|0; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = $nReq; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ($109|0)<($115|0); + $117 = ($106>>>0)<($112>>>0); + $118 = ($109|0)==($115|0); + $119 = $118 & $117; + $120 = $116 | $119; + if ($120) { + $121 = HEAP32[$1>>2]|0; + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + _sqlite3OsFileControlHint($123,5,$nReq); } } - } while(0); - $74 = HEAP32[$z>>2]|0; - $75 = HEAP32[$nChar>>2]|0; - $76 = HEAP32[$azChar>>2]|0; - $77 = (($76) + ($75<<2)|0); - $78 = HEAP32[$77>>2]|0; - $79 = $74; - $80 = $78; - $81 = (($79) - ($80))|0; - $82 = $81&255; - $83 = HEAP32[$nChar>>2]|0; - $84 = HEAP32[$aLen>>2]|0; - $85 = (($84) + ($83)|0); - HEAP8[$85>>0] = $82; - $86 = HEAP32[$nChar>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$nChar>>2] = $87; - } - } - } - } while(0); - $88 = HEAP32[$nChar>>2]|0; - $89 = ($88|0)>(0); - if ($89) { - $90 = HEAP32[$0>>2]|0; - $91 = (_sqlite3_user_data($90)|0); - $92 = $91; - HEAP32[$flags>>2] = $92; - $93 = HEAP32[$flags>>2]|0; - $94 = $93 & 1; - $95 = ($94|0)!=(0); - $96 = HEAP32[$nIn>>2]|0; - $97 = ($96|0)>(0); - $or$cond = $95 & $97; - L37: do { - if ($or$cond) { - while(1) { - HEAP32[$len>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $98 = HEAP32[$i>>2]|0; - $99 = HEAP32[$nChar>>2]|0; - $100 = ($98|0)<($99|0); - if (!($100)) { + } + L34: while(1) { + $$old = HEAP32[$rc>>2]|0; + $$old4 = ($$old|0)==(0); + if (!($$old4)) { break; } - $101 = HEAP32[$i>>2]|0; - $102 = HEAP32[$aLen>>2]|0; - $103 = (($102) + ($101)|0); - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - HEAP32[$len>>2] = $105; - $106 = HEAP32[$len>>2]|0; - $107 = HEAP32[$nIn>>2]|0; - $108 = ($106|0)<=($107|0); - if ($108) { - $109 = HEAP32[$zIn>>2]|0; - $110 = HEAP32[$i>>2]|0; - $111 = HEAP32[$azChar>>2]|0; - $112 = (($111) + ($110<<2)|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$len>>2]|0; - $115 = (_memcmp($109,$113,$114)|0); - $116 = ($115|0)==(0); - if ($116) { - break; + while(1) { + $124 = HEAP32[$pIter>>2]|0; + $125 = (_walIteratorNext($124,$iDbpage,$iFrame)|0); + $126 = (0)==($125|0); + if (!($126)) { + break L34; + } + $127 = HEAP32[$iFrame>>2]|0; + $128 = HEAP32[$nBackfill>>2]|0; + $129 = ($127>>>0)<=($128>>>0); + if ($129) { + continue L34; + } + $130 = HEAP32[$iFrame>>2]|0; + $131 = HEAP32[$mxSafeFrame>>2]|0; + $132 = ($130>>>0)>($131>>>0); + if ($132) { + continue L34; + } + $133 = HEAP32[$iDbpage>>2]|0; + $134 = HEAP32[$mxPage>>2]|0; + $135 = ($133>>>0)>($134>>>0); + if ($135) { + continue L34; + } + $136 = HEAP32[$iFrame>>2]|0; + $137 = (($136) - 1)|0; + $138 = HEAP32[$szPage>>2]|0; + $139 = (($138) + 24)|0; + $140 = ($139|0)<(0); + $141 = $140 << 31 >> 31; + $142 = (___muldi3(($137|0),0,($139|0),($141|0))|0); + $143 = tempRet0; + $144 = (_i64Add(32,0,($142|0),($143|0))|0); + $145 = tempRet0; + $146 = (_i64Add(($144|0),($145|0),24,0)|0); + $147 = tempRet0; + $148 = $iOffset; + $149 = $148; + HEAP32[$149>>2] = $146; + $150 = (($148) + 4)|0; + $151 = $150; + HEAP32[$151>>2] = $147; + $152 = HEAP32[$1>>2]|0; + $153 = ((($152)) + 8|0); + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$6>>2]|0; + $156 = HEAP32[$szPage>>2]|0; + $157 = $iOffset; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = (($157) + 4)|0; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (_sqlite3OsRead($154,$155,$156,$159,$162)|0); + HEAP32[$rc>>2] = $163; + $164 = HEAP32[$rc>>2]|0; + $165 = ($164|0)!=(0); + if ($165) { + break L34; + } + $166 = HEAP32[$iDbpage>>2]|0; + $167 = (($166) - 1)|0; + $168 = HEAP32[$szPage>>2]|0; + $169 = ($168|0)<(0); + $170 = $169 << 31 >> 31; + $171 = (___muldi3(($167|0),0,($168|0),($170|0))|0); + $172 = tempRet0; + $173 = $iOffset; + $174 = $173; + HEAP32[$174>>2] = $171; + $175 = (($173) + 4)|0; + $176 = $175; + HEAP32[$176>>2] = $172; + $177 = HEAP32[$1>>2]|0; + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = HEAP32[$6>>2]|0; + $181 = HEAP32[$szPage>>2]|0; + $182 = $iOffset; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (($182) + 4)|0; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (_sqlite3OsWrite($179,$180,$181,$184,$187)|0); + HEAP32[$rc>>2] = $188; + $189 = HEAP32[$rc>>2]|0; + $190 = ($189|0)==(0); + $191 = HEAP32[$rc>>2]|0; + $192 = ($191|0)==(0); + $or$cond5 = $190 & $192; + if (!($or$cond5)) { + break L34; } } - $117 = HEAP32[$i>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$i>>2] = $118; - } - $119 = HEAP32[$i>>2]|0; - $120 = HEAP32[$nChar>>2]|0; - $121 = ($119|0)>=($120|0); - if ($121) { - break L37; - } - $122 = HEAP32[$len>>2]|0; - $123 = HEAP32[$zIn>>2]|0; - $124 = (($123) + ($122)|0); - HEAP32[$zIn>>2] = $124; - $125 = HEAP32[$len>>2]|0; - $126 = HEAP32[$nIn>>2]|0; - $127 = (($126) - ($125))|0; - HEAP32[$nIn>>2] = $127; - $$old = HEAP32[$nIn>>2]|0; - $$old1 = ($$old|0)>(0); - if (!($$old1)) { - break; } - } - } - } while(0); - $128 = HEAP32[$flags>>2]|0; - $129 = $128 & 2; - $130 = ($129|0)!=(0); - $131 = HEAP32[$nIn>>2]|0; - $132 = ($131|0)>(0); - $or$cond4 = $130 & $132; - L49: do { - if ($or$cond4) { - while(1) { - HEAP32[$len1>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $133 = HEAP32[$i>>2]|0; - $134 = HEAP32[$nChar>>2]|0; - $135 = ($133|0)<($134|0); - if (!($135)) { - break; - } - $136 = HEAP32[$i>>2]|0; - $137 = HEAP32[$aLen>>2]|0; - $138 = (($137) + ($136)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - HEAP32[$len1>>2] = $140; - $141 = HEAP32[$len1>>2]|0; - $142 = HEAP32[$nIn>>2]|0; - $143 = ($141|0)<=($142|0); - if ($143) { - $144 = HEAP32[$nIn>>2]|0; - $145 = HEAP32[$len1>>2]|0; - $146 = (($144) - ($145))|0; - $147 = HEAP32[$zIn>>2]|0; - $148 = (($147) + ($146)|0); - $149 = HEAP32[$i>>2]|0; - $150 = HEAP32[$azChar>>2]|0; - $151 = (($150) + ($149<<2)|0); - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$len1>>2]|0; - $154 = (_memcmp($148,$152,$153)|0); - $155 = ($154|0)==(0); - if ($155) { - break; + $193 = HEAP32[$rc>>2]|0; + $194 = ($193|0)==(0); + if ($194) { + $195 = HEAP32[$mxSafeFrame>>2]|0; + $196 = HEAP32[$1>>2]|0; + $197 = (_walIndexHdr($196)|0); + $198 = ((($197)) + 16|0); + $199 = HEAP32[$198>>2]|0; + $200 = ($195|0)==($199|0); + if ($200) { + $201 = HEAP32[$1>>2]|0; + $202 = ((($201)) + 52|0); + $203 = ((($202)) + 20|0); + $204 = HEAP32[$203>>2]|0; + $205 = HEAP32[$szPage>>2]|0; + $206 = ($205|0)<(0); + $207 = $206 << 31 >> 31; + $208 = (___muldi3(($204|0),0,($205|0),($207|0))|0); + $209 = tempRet0; + $210 = $szDb; + $211 = $210; + HEAP32[$211>>2] = $208; + $212 = (($210) + 4)|0; + $213 = $212; + HEAP32[$213>>2] = $209; + $214 = HEAP32[$1>>2]|0; + $215 = ((($214)) + 4|0); + $216 = HEAP32[$215>>2]|0; + $217 = $szDb; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = (($217) + 4)|0; + $221 = $220; + $222 = HEAP32[$221>>2]|0; + $223 = (_sqlite3OsTruncate($216,$219,$222)|0); + HEAP32[$rc>>2] = $223; + $224 = HEAP32[$rc>>2]|0; + $225 = ($224|0)==(0); + $226 = HEAP32[$5>>2]|0; + $227 = ($226|0)!=(0); + $or$cond = $225 & $227; + if ($or$cond) { + $228 = HEAP32[$1>>2]|0; + $229 = ((($228)) + 4|0); + $230 = HEAP32[$229>>2]|0; + $231 = HEAP32[$5>>2]|0; + $232 = (_sqlite3OsSync($230,$231)|0); + HEAP32[$rc>>2] = $232; } } - $156 = HEAP32[$i>>2]|0; - $157 = (($156) + 1)|0; - HEAP32[$i>>2] = $157; - } - $158 = HEAP32[$i>>2]|0; - $159 = HEAP32[$nChar>>2]|0; - $160 = ($158|0)>=($159|0); - if ($160) { - break L49; + $233 = HEAP32[$rc>>2]|0; + $234 = ($233|0)==(0); + if ($234) { + $235 = HEAP32[$mxSafeFrame>>2]|0; + $236 = HEAP32[$pInfo>>2]|0; + HEAP32[$236>>2] = $235; + } } - $161 = HEAP32[$len1>>2]|0; - $162 = HEAP32[$nIn>>2]|0; - $163 = (($162) - ($161))|0; - HEAP32[$nIn>>2] = $163; - $$old2 = HEAP32[$nIn>>2]|0; - $$old3 = ($$old2|0)>(0); - if (!($$old3)) { - break; + $237 = HEAP32[$1>>2]|0; + _walUnlockExclusive($237,3,1); + } + } + $238 = HEAP32[$rc>>2]|0; + $239 = ($238|0)==(5); + if ($239) { + HEAP32[$rc>>2] = 0; + } + $240 = HEAP32[$rc>>2]|0; + $241 = ($240|0)==(0); + $242 = HEAP32[$2>>2]|0; + $243 = ($242|0)!=(0); + $or$cond3 = $241 & $243; + if ($or$cond3) { + $244 = HEAP32[$pInfo>>2]|0; + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[$1>>2]|0; + $247 = ((($246)) + 52|0); + $248 = ((($247)) + 16|0); + $249 = HEAP32[$248>>2]|0; + $250 = ($245>>>0)<($249>>>0); + if ($250) { + HEAP32[$rc>>2] = 5; + break; + } + $251 = HEAP32[$2>>2]|0; + $252 = ($251|0)==(2); + if ($252) { + $253 = HEAP32[$1>>2]|0; + $254 = HEAP32[$xBusy>>2]|0; + $255 = HEAP32[$4>>2]|0; + $256 = (_walBusyLock($253,$254,$255,4,4)|0); + HEAP32[$rc>>2] = $256; + $257 = HEAP32[$rc>>2]|0; + $258 = ($257|0)==(0); + if ($258) { + $259 = HEAP32[$1>>2]|0; + _walUnlockExclusive($259,4,4); } } } - } while(0); - $164 = HEAP32[$zCharSet>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - $166 = HEAP32[$azChar>>2]|0; - _sqlite3_free($166); } - } - $167 = HEAP32[$0>>2]|0; - $168 = HEAP32[$zIn>>2]|0; - $169 = HEAP32[$nIn>>2]|0; - _sqlite3_result_text($167,$168,$169,(-1)); - STACKTOP = sp;return; + } while(0); + $260 = HEAP32[$pIter>>2]|0; + _walIteratorFree($260); + $261 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $261; + $262 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($262|0); } -function _minmaxFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i = 0, $iBest = 0, $mask = 0, $pColl = 0, label = 0, sp = 0; +function _walCkptInfo($pWal) { + $pWal = $pWal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $i = sp + 12|0; - $mask = sp + 8|0; - $iBest = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_user_data($3)|0); - $5 = ($4|0)==(0|0); - $6 = $5 ? 0 : -1; - HEAP32[$mask>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3GetFuncCollSeq($7)|0); - HEAP32[$pColl>>2] = $8; - HEAP32[$iBest>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - $12 = ($11|0)==(5); - if ($12) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pWal; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($4)) + 96|0); + STACKTOP = sp;return ($5|0); +} +function _walIteratorInit($pWal,$pp) { + $pWal = $pWal|0; + $pp = $pp|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aHash = 0, $aIndex = 0, $aPgno = 0, $aTmp = 0; + var $i = 0, $iLast = 0, $iZero = 0, $j = 0, $nByte = 0, $nEntry = 0, $nSegment = 0, $p = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 44|0; + $p = sp + 52|0; + $nSegment = sp + 32|0; + $iLast = sp + 40|0; + $nByte = sp + 48|0; + $i = sp + 56|0; + $aTmp = sp + 60|0; + $rc = sp; + $aHash = sp + 28|0; + $iZero = sp + 4|0; + $aPgno = sp + 24|0; + $j = sp + 8|0; + $nEntry = sp + 36|0; + $aIndex = sp + 12|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $pp; + HEAP32[$rc>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 52|0); + $5 = ((($4)) + 16|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$iLast>>2] = $6; + $7 = HEAP32[$iLast>>2]|0; + $8 = (_walFramePage($7)|0); + $9 = (($8) + 1)|0; + HEAP32[$nSegment>>2] = $9; + $10 = HEAP32[$nSegment>>2]|0; + $11 = (($10) - 1)|0; + $12 = ($11*20)|0; + $13 = (28 + ($12))|0; + $14 = HEAP32[$iLast>>2]|0; + $15 = $14<<1; + $16 = (($13) + ($15))|0; + HEAP32[$nByte>>2] = $16; + $17 = HEAP32[$nByte>>2]|0; + $18 = (_sqlite3ScratchMalloc($17)|0); + HEAP32[$p>>2] = $18; + $19 = HEAP32[$p>>2]|0; + $20 = ($19|0)!=(0|0); + if (!($20)) { + HEAP32[$0>>2] = 7; + $115 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($115|0); } - HEAP32[$i>>2] = 1; + $21 = HEAP32[$p>>2]|0; + $22 = HEAP32[$nByte>>2]|0; + _memset(($21|0),0,($22|0))|0; + $23 = HEAP32[$nSegment>>2]|0; + $24 = HEAP32[$p>>2]|0; + $25 = ((($24)) + 4|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$iLast>>2]|0; + $27 = ($26>>>0)>(4096); + $28 = HEAP32[$iLast>>2]|0; + $29 = $27 ? 4096 : $28; + $30 = $29<<1; + $31 = (_sqlite3ScratchMalloc($30)|0); + HEAP32[$aTmp>>2] = $31; + $32 = HEAP32[$aTmp>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + HEAP32[$rc>>2] = 7; + } + HEAP32[$i>>2] = 0; while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ($13|0)<($14|0); - if (!($15)) { + $34 = HEAP32[$rc>>2]|0; + $35 = ($34|0)==(0); + if (!($35)) { break; } - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (($17) + ($16<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_type($19)|0); - $21 = ($20|0)==(5); - if ($21) { - label = 9; + $36 = HEAP32[$i>>2]|0; + $37 = HEAP32[$nSegment>>2]|0; + $38 = ($36|0)<($37|0); + if (!($38)) { break; } - $22 = HEAP32[$iBest>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + ($22<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = (($27) + ($26<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pColl>>2]|0; - $31 = (_sqlite3MemCompare($25,$29,$30)|0); - $32 = HEAP32[$mask>>2]|0; - $33 = $31 ^ $32; - $34 = ($33|0)>=(0); - if ($34) { - $35 = HEAP32[$i>>2]|0; - HEAP32[$iBest>>2] = $35; - } - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; - } - if ((label|0) == 9) { - STACKTOP = sp;return; - } - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$iBest>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = (($40) + ($39<<2)|0); - $42 = HEAP32[$41>>2]|0; - _sqlite3_result_value($38,$42); - STACKTOP = sp;return; -} -function _minmaxStep($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cmp = 0, $max = 0, $or$cond = 0, $or$cond3 = 0, $pArg = 0, $pBest = 0, $pColl = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $pArg = sp + 16|0; - $pBest = sp + 12|0; - $max = sp + 8|0; - $cmp = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pArg>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3_aggregate_context($5,40)|0); - HEAP32[$pBest>>2] = $6; - $7 = HEAP32[$pBest>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - $12 = ($11|0)==(5); - $13 = HEAP32[$pBest>>2]|0; - $14 = (($13) + 8|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)!=(0); - if ($12) { - if (!($16)) { - STACKTOP = sp;return; + $39 = HEAP32[$1>>2]|0; + $40 = HEAP32[$i>>2]|0; + $41 = (_walHashGet($39,$40,$aHash,$aPgno,$iZero)|0); + HEAP32[$rc>>2] = $41; + $42 = HEAP32[$rc>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + $44 = HEAP32[$aPgno>>2]|0; + $45 = ((($44)) + 4|0); + HEAP32[$aPgno>>2] = $45; + $46 = HEAP32[$i>>2]|0; + $47 = (($46) + 1)|0; + $48 = HEAP32[$nSegment>>2]|0; + $49 = ($47|0)==($48|0); + if ($49) { + $50 = HEAP32[$iLast>>2]|0; + $51 = HEAP32[$iZero>>2]|0; + $52 = (($50) - ($51))|0; + HEAP32[$nEntry>>2] = $52; + } else { + $53 = HEAP32[$aHash>>2]|0; + $54 = HEAP32[$aPgno>>2]|0; + $55 = $53; + $56 = $54; + $57 = (($55) - ($56))|0; + $58 = (($57|0) / 4)&-1; + HEAP32[$nEntry>>2] = $58; + } + $59 = HEAP32[$iZero>>2]|0; + $60 = HEAP32[$p>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$p>>2]|0; + $64 = ((($63)) + 8|0); + $65 = (($64) + (($62*20)|0)|0); + $66 = (($65) + ($59<<1)|0); + HEAP32[$aIndex>>2] = $66; + $67 = HEAP32[$iZero>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$iZero>>2] = $68; + HEAP32[$j>>2] = 0; + while(1) { + $69 = HEAP32[$j>>2]|0; + $70 = HEAP32[$nEntry>>2]|0; + $71 = ($69|0)<($70|0); + if (!($71)) { + break; + } + $72 = HEAP32[$j>>2]|0; + $73 = $72&65535; + $74 = HEAP32[$j>>2]|0; + $75 = HEAP32[$aIndex>>2]|0; + $76 = (($75) + ($74<<1)|0); + HEAP16[$76>>1] = $73; + $77 = HEAP32[$j>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$j>>2] = $78; + } + $79 = HEAP32[$aPgno>>2]|0; + $80 = HEAP32[$aTmp>>2]|0; + $81 = HEAP32[$aIndex>>2]|0; + _walMergesort($79,$80,$81,$nEntry); + $82 = HEAP32[$iZero>>2]|0; + $83 = HEAP32[$i>>2]|0; + $84 = HEAP32[$p>>2]|0; + $85 = ((($84)) + 8|0); + $86 = (($85) + (($83*20)|0)|0); + $87 = ((($86)) + 16|0); + HEAP32[$87>>2] = $82; + $88 = HEAP32[$nEntry>>2]|0; + $89 = HEAP32[$i>>2]|0; + $90 = HEAP32[$p>>2]|0; + $91 = ((($90)) + 8|0); + $92 = (($91) + (($89*20)|0)|0); + $93 = ((($92)) + 12|0); + HEAP32[$93>>2] = $88; + $94 = HEAP32[$aIndex>>2]|0; + $95 = HEAP32[$i>>2]|0; + $96 = HEAP32[$p>>2]|0; + $97 = ((($96)) + 8|0); + $98 = (($97) + (($95*20)|0)|0); + $99 = ((($98)) + 4|0); + HEAP32[$99>>2] = $94; + $100 = HEAP32[$aPgno>>2]|0; + $101 = HEAP32[$i>>2]|0; + $102 = HEAP32[$p>>2]|0; + $103 = ((($102)) + 8|0); + $104 = (($103) + (($101*20)|0)|0); + $105 = ((($104)) + 8|0); + HEAP32[$105>>2] = $100; } - $17 = HEAP32[$0>>2]|0; - _sqlite3SkipAccumulatorLoad($17); - STACKTOP = sp;return; + $106 = HEAP32[$i>>2]|0; + $107 = (($106) + 1)|0; + HEAP32[$i>>2] = $107; } - $18 = HEAP32[$0>>2]|0; - if (!($16)) { - $39 = (_sqlite3_context_db_handle($18)|0); - $40 = HEAP32[$pBest>>2]|0; - $41 = (($40) + 32|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pBest>>2]|0; - $43 = HEAP32[$pArg>>2]|0; - (_sqlite3VdbeMemCopy($42,$43)|0); - STACKTOP = sp;return; + $108 = HEAP32[$aTmp>>2]|0; + _sqlite3ScratchFree($108); + $109 = HEAP32[$rc>>2]|0; + $110 = ($109|0)!=(0); + if ($110) { + $111 = HEAP32[$p>>2]|0; + _walIteratorFree($111); } - $19 = (_sqlite3GetFuncCollSeq($18)|0); - HEAP32[$pColl>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = (_sqlite3_user_data($20)|0); - $22 = ($21|0)!=(0|0); - $23 = $22&1; - HEAP32[$max>>2] = $23; - $24 = HEAP32[$pBest>>2]|0; - $25 = HEAP32[$pArg>>2]|0; - $26 = HEAP32[$pColl>>2]|0; - $27 = (_sqlite3MemCompare($24,$25,$26)|0); - HEAP32[$cmp>>2] = $27; - $28 = HEAP32[$max>>2]|0; - $29 = ($28|0)!=(0); - $30 = HEAP32[$cmp>>2]|0; - $31 = ($30|0)<(0); - $or$cond = $29 & $31; - if (!($or$cond)) { - $32 = HEAP32[$max>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$cmp>>2]|0; - $35 = ($34|0)>(0); - $or$cond3 = $33 & $35; - if (!($or$cond3)) { - $38 = HEAP32[$0>>2]|0; - _sqlite3SkipAccumulatorLoad($38); - STACKTOP = sp;return; + $112 = HEAP32[$p>>2]|0; + $113 = HEAP32[$2>>2]|0; + HEAP32[$113>>2] = $112; + $114 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $114; + $115 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($115|0); +} +function _walIteratorNext($p,$piPage,$piFrame) { + $p = $p|0; + $piPage = $piPage|0; + $piFrame = $piFrame|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iMin = 0, $iPg = 0, $iRet = 0, $pSegment = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $iMin = sp + 20|0; + $iRet = sp + 28|0; + $i = sp; + $pSegment = sp + 12|0; + $iPg = sp + 24|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $piPage; + HEAP32[$2>>2] = $piFrame; + HEAP32[$iRet>>2] = -1; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$iMin>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) - 1)|0; + HEAP32[$i>>2] = $8; + while(1) { + $9 = HEAP32[$i>>2]|0; + $10 = ($9|0)>=(0); + if (!($10)) { + break; + } + $11 = HEAP32[$i>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 8|0); + $14 = (($13) + (($11*20)|0)|0); + HEAP32[$pSegment>>2] = $14; + while(1) { + $15 = HEAP32[$pSegment>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$pSegment>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)<($19|0); + if (!($20)) { + break; + } + $21 = HEAP32[$pSegment>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$pSegment>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($22<<1)|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = HEAP32[$pSegment>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + ($28<<2)|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$iPg>>2] = $33; + $34 = HEAP32[$iPg>>2]|0; + $35 = HEAP32[$iMin>>2]|0; + $36 = ($34>>>0)>($35>>>0); + if ($36) { + label = 6; + break; + } + $54 = HEAP32[$pSegment>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$54>>2] = $56; + } + if ((label|0) == 6) { + label = 0; + $37 = HEAP32[$iPg>>2]|0; + $38 = HEAP32[$iRet>>2]|0; + $39 = ($37>>>0)<($38>>>0); + if ($39) { + $40 = HEAP32[$iPg>>2]|0; + HEAP32[$iRet>>2] = $40; + $41 = HEAP32[$pSegment>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$pSegment>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$pSegment>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($48) + ($45<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($43) + ($51))|0; + $53 = HEAP32[$2>>2]|0; + HEAP32[$53>>2] = $52; + } } + $57 = HEAP32[$i>>2]|0; + $58 = (($57) + -1)|0; + HEAP32[$i>>2] = $58; } - $36 = HEAP32[$pBest>>2]|0; - $37 = HEAP32[$pArg>>2]|0; - (_sqlite3VdbeMemCopy($36,$37)|0); - STACKTOP = sp;return; + $59 = HEAP32[$iRet>>2]|0; + $60 = HEAP32[$0>>2]|0; + HEAP32[$60>>2] = $59; + $61 = HEAP32[$1>>2]|0; + HEAP32[$61>>2] = $59; + $62 = HEAP32[$iRet>>2]|0; + $63 = ($62|0)==(-1); + $64 = $63&1; + STACKTOP = sp;return ($64|0); } -function _minMaxFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRes = 0, label = 0, sp = 0; +function _walIteratorFree($p) { + $p = $p|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pRes = sp; - HEAP32[$0>>2] = $context; + $0 = sp; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$pRes>>2] = $2; - $3 = HEAP32[$pRes>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$pRes>>2]|0; - $6 = (($5) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = ($7<<16>>16)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$pRes>>2]|0; - _sqlite3_result_value($9,$10); - } - $11 = HEAP32[$pRes>>2]|0; - _sqlite3VdbeMemRelease($11); + _sqlite3ScratchFree($1); STACKTOP = sp;return; } -function _typeofFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $z = 0, label = 0, sp = 0; +function _walMergesort($aContent,$aBuffer,$aList,$pnList) { + $aContent = $aContent|0; + $aBuffer = $aBuffer|0; + $aList = $aList|0; + $pnList = $pnList|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aMerge = 0; + var $aSub = 0, $iList = 0, $iSub = 0, $nList = 0, $nMerge = 0, $p = 0, $p1 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; + STACKTOP = STACKTOP + 160|0; + $0 = sp; $1 = sp + 8|0; - $2 = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - HEAP32[$z>>2] = 0; - $3 = HEAP32[$2>>2]|0; + $2 = sp + 140|0; + $3 = sp + 120|0; + $nList = sp + 136|0; + $nMerge = sp + 144|0; + $aMerge = sp + 148|0; + $iList = sp + 128|0; + $iSub = sp + 124|0; + $aSub = sp + 16|0; + $p = sp + 4|0; + $p1 = sp + 132|0; + HEAP32[$0>>2] = $aContent; + HEAP32[$1>>2] = $aBuffer; + HEAP32[$2>>2] = $aList; + HEAP32[$3>>2] = $pnList; $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - if ((($5|0) == 4)) { - HEAP32[$z>>2] = 9880; - } else if ((($5|0) == 2)) { - HEAP32[$z>>2] = 9872; - } else if ((($5|0) == 1)) { - HEAP32[$z>>2] = 9856; - } else if ((($5|0) == 3)) { - HEAP32[$z>>2] = 9864; - } else { - HEAP32[$z>>2] = 9888; + $5 = HEAP32[$4>>2]|0; + HEAP32[$nList>>2] = $5; + HEAP32[$nMerge>>2] = 0; + HEAP32[$aMerge>>2] = 0; + HEAP32[$iSub>>2] = 0; + dest=$aSub; stop=dest+104|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$iList>>2] = 0; + while(1) { + $6 = HEAP32[$iList>>2]|0; + $7 = HEAP32[$nList>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + break; + } + HEAP32[$nMerge>>2] = 1; + $9 = HEAP32[$iList>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = (($10) + ($9<<1)|0); + HEAP32[$aMerge>>2] = $11; + HEAP32[$iSub>>2] = 0; + while(1) { + $12 = HEAP32[$iList>>2]|0; + $13 = HEAP32[$iSub>>2]|0; + $14 = 1 << $13; + $15 = $12 & $14; + $16 = ($15|0)!=(0); + if (!($16)) { + break; + } + $17 = HEAP32[$iSub>>2]|0; + $18 = (($aSub) + ($17<<3)|0); + HEAP32[$p>>2] = $18; + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$p>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$1>>2]|0; + _walMerge($19,$22,$24,$aMerge,$nMerge,$25); + $26 = HEAP32[$iSub>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$iSub>>2] = $27; + } + $28 = HEAP32[$aMerge>>2]|0; + $29 = HEAP32[$iSub>>2]|0; + $30 = (($aSub) + ($29<<3)|0); + $31 = ((($30)) + 4|0); + HEAP32[$31>>2] = $28; + $32 = HEAP32[$nMerge>>2]|0; + $33 = HEAP32[$iSub>>2]|0; + $34 = (($aSub) + ($33<<3)|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$iList>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$iList>>2] = $36; } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$z>>2]|0; - _sqlite3_result_text($6,$7,-1,0); + $37 = HEAP32[$iSub>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$iSub>>2] = $38; + while(1) { + $39 = HEAP32[$iSub>>2]|0; + $40 = ($39|0)<(13); + if (!($40)) { + break; + } + $41 = HEAP32[$nList>>2]|0; + $42 = HEAP32[$iSub>>2]|0; + $43 = 1 << $42; + $44 = $41 & $43; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$iSub>>2]|0; + $47 = (($aSub) + ($46<<3)|0); + HEAP32[$p1>>2] = $47; + $48 = HEAP32[$0>>2]|0; + $49 = HEAP32[$p1>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$p1>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$1>>2]|0; + _walMerge($48,$51,$53,$aMerge,$nMerge,$54); + } + $55 = HEAP32[$iSub>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$iSub>>2] = $56; + } + $57 = HEAP32[$nMerge>>2]|0; + $58 = HEAP32[$3>>2]|0; + HEAP32[$58>>2] = $57; STACKTOP = sp;return; } -function _lengthFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _walMerge($aContent,$aLeft,$nLeft,$paRight,$pnRight,$aTmp) { + $aContent = $aContent|0; + $aLeft = $aLeft|0; + $nLeft = $nLeft|0; + $paRight = $paRight|0; + $pnRight = $pnRight|0; + $aTmp = $aTmp|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $len = 0, $z = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $9 = 0, $aRight = 0, $dbpage = 0, $iLeft = 0, $iOut = 0, $iRight = 0, $logpage = 0, $nRight = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + STACKTOP = STACKTOP + 64|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 8|0; - $len = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - if ((($5|0) == 3)) { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_text($11)|0); - HEAP32[$z>>2] = $12; - $13 = HEAP32[$z>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - STACKTOP = sp;return; - } - HEAP32[$len>>2] = 0; - L6: while(1) { - $15 = HEAP32[$z>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { + $3 = sp + 28|0; + $4 = sp + 32|0; + $5 = sp + 40|0; + $iLeft = sp + 44|0; + $iRight = sp + 24|0; + $iOut = sp + 20|0; + $nRight = sp + 12|0; + $aRight = sp + 4|0; + $logpage = sp + 48|0; + $dbpage = sp + 36|0; + HEAP32[$0>>2] = $aContent; + HEAP32[$1>>2] = $aLeft; + HEAP32[$2>>2] = $nLeft; + HEAP32[$3>>2] = $paRight; + HEAP32[$4>>2] = $pnRight; + HEAP32[$5>>2] = $aTmp; + HEAP32[$iLeft>>2] = 0; + HEAP32[$iRight>>2] = 0; + HEAP32[$iOut>>2] = 0; + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$nRight>>2] = $7; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + HEAP32[$aRight>>2] = $9; + while(1) { + $10 = HEAP32[$iRight>>2]|0; + $11 = HEAP32[$nRight>>2]|0; + $12 = ($10|0)<($11|0); + if (!($12)) { + $13 = HEAP32[$iLeft>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ($13|0)<($14|0); + if (!($15)) { break; } - $18 = HEAP32[$len>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$len>>2] = $19; - $20 = HEAP32[$z>>2]|0; - $21 = (($20) + 1|0); - HEAP32[$z>>2] = $21; - $22 = HEAP8[$20>>0]|0; - $23 = $22&255; - $24 = ($23|0)>=(192); - if (!($24)) { - continue; - } - while(1) { - $25 = HEAP32[$z>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 & 192; - $29 = ($28|0)==(128); - if (!($29)) { - continue L6; + } + $16 = HEAP32[$iLeft>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ($16|0)<($17|0); + do { + if ($18) { + $19 = HEAP32[$iRight>>2]|0; + $20 = HEAP32[$nRight>>2]|0; + $21 = ($19|0)>=($20|0); + if (!($21)) { + $22 = HEAP32[$iLeft>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + ($22<<1)|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = HEAP32[$0>>2]|0; + $28 = (($27) + ($26<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$iRight>>2]|0; + $31 = HEAP32[$aRight>>2]|0; + $32 = (($31) + ($30<<1)|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = HEAP32[$0>>2]|0; + $36 = (($35) + ($34<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($29>>>0)<($37>>>0); + if (!($38)) { + label = 8; + break; + } } - $30 = HEAP32[$z>>2]|0; - $31 = (($30) + 1|0); - HEAP32[$z>>2] = $31; + $39 = HEAP32[$iLeft>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$iLeft>>2] = $40; + $41 = HEAP32[$1>>2]|0; + $42 = (($41) + ($39<<1)|0); + $43 = HEAP16[$42>>1]|0; + HEAP16[$logpage>>1] = $43; + } else { + label = 8; } + } while(0); + if ((label|0) == 8) { + label = 0; + $44 = HEAP32[$iRight>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$iRight>>2] = $45; + $46 = HEAP32[$aRight>>2]|0; + $47 = (($46) + ($44<<1)|0); + $48 = HEAP16[$47>>1]|0; + HEAP16[$logpage>>1] = $48; } - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$len>>2]|0; - _sqlite3_result_int($32,$33); - STACKTOP = sp;return; - } else if ((($5|0) == 2) | (($5|0) == 1) | (($5|0) == 4)) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_bytes($8)|0); - _sqlite3_result_int($6,$9); - STACKTOP = sp;return; - } else { - $34 = HEAP32[$0>>2]|0; - _sqlite3_result_null($34); - STACKTOP = sp;return; + $49 = HEAP16[$logpage>>1]|0; + $50 = $49&65535; + $51 = HEAP32[$0>>2]|0; + $52 = (($51) + ($50<<2)|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$dbpage>>2] = $53; + $54 = HEAP16[$logpage>>1]|0; + $55 = HEAP32[$iOut>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$iOut>>2] = $56; + $57 = HEAP32[$5>>2]|0; + $58 = (($57) + ($55<<1)|0); + HEAP16[$58>>1] = $54; + $59 = HEAP32[$iLeft>>2]|0; + $60 = HEAP32[$2>>2]|0; + $61 = ($59|0)<($60|0); + if (!($61)) { + continue; + } + $62 = HEAP32[$iLeft>>2]|0; + $63 = HEAP32[$1>>2]|0; + $64 = (($63) + ($62<<1)|0); + $65 = HEAP16[$64>>1]|0; + $66 = $65&65535; + $67 = HEAP32[$0>>2]|0; + $68 = (($67) + ($66<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$dbpage>>2]|0; + $71 = ($69|0)==($70|0); + if (!($71)) { + continue; + } + $72 = HEAP32[$iLeft>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$iLeft>>2] = $73; } + $74 = HEAP32[$1>>2]|0; + $75 = HEAP32[$3>>2]|0; + HEAP32[$75>>2] = $74; + $76 = HEAP32[$iOut>>2]|0; + $77 = HEAP32[$4>>2]|0; + HEAP32[$77>>2] = $76; + $78 = HEAP32[$1>>2]|0; + $79 = HEAP32[$5>>2]|0; + $80 = HEAP32[$iOut>>2]|0; + $81 = $80<<1; + _memcpy(($78|0),($79|0),($81|0))|0; + STACKTOP = sp;return; } -function _instrFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _walIndexTryHdr($pWal,$pChanged) { + $pWal = $pWal|0; + $pChanged = $pChanged|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, $N = 0, $isText = 0, $nHaystack = 0, $nNeedle = 0, $or$cond = 0, $or$cond3 = 0, $typeHaystack = 0, $typeNeedle = 0, $zHaystack = 0, $zNeedle = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aCksum = 0, $aHdr = 0, $h1 = 0, $h2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $zHaystack = sp + 28|0; - $zNeedle = sp + 24|0; - $nHaystack = sp + 20|0; - $nNeedle = sp + 16|0; - $typeHaystack = sp + 12|0; - $typeNeedle = sp + 8|0; - $N = sp + 4|0; - $isText = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$N>>2] = 1; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - HEAP32[$typeHaystack>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_type($8)|0); - HEAP32[$typeNeedle>>2] = $9; - $10 = HEAP32[$typeHaystack>>2]|0; - $11 = ($10|0)==(5); - $12 = HEAP32[$typeNeedle>>2]|0; - $13 = ($12|0)==(5); - $or$cond = $11 | $13; - if ($or$cond) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 128|0; + $0 = sp + 96|0; + $1 = sp + 104|0; + $2 = sp + 108|0; + $aCksum = sp + 112|0; + $h1 = sp + 48|0; + $h2 = sp; + $aHdr = sp + 100|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $pChanged; + $3 = HEAP32[$1>>2]|0; + $4 = (_walIndexHdr($3)|0); + HEAP32[$aHdr>>2] = $4; + $5 = HEAP32[$aHdr>>2]|0; + dest=$h1; src=$5; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $6 = HEAP32[$1>>2]|0; + _walShmBarrier($6); + $7 = HEAP32[$aHdr>>2]|0; + $8 = ((($7)) + 48|0); + dest=$h2; src=$8; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $9 = (_memcmp($h1,$h2,48)|0); + $10 = ($9|0)!=(0); + if ($10) { + HEAP32[$0>>2] = 1; + $48 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($48|0); } - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3_value_bytes($15)|0); - HEAP32[$nHaystack>>2] = $16; - $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_bytes($19)|0); - HEAP32[$nNeedle>>2] = $20; - $21 = HEAP32[$typeHaystack>>2]|0; - $22 = ($21|0)==(4); - $23 = HEAP32[$typeNeedle>>2]|0; - $24 = ($23|0)==(4); - $or$cond3 = $22 & $24; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$25>>2]|0; - if ($or$cond3) { - $27 = (_sqlite3_value_blob($26)|0); - HEAP32[$zHaystack>>2] = $27; - $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_value_blob($30)|0); - HEAP32[$zNeedle>>2] = $31; - HEAP32[$isText>>2] = 0; - } else { - $32 = (_sqlite3_value_text($26)|0); - HEAP32[$zHaystack>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = (($33) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3_value_text($35)|0); - HEAP32[$zNeedle>>2] = $36; - HEAP32[$isText>>2] = 1; + $11 = ((($h1)) + 12|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)==(0); + if ($14) { + HEAP32[$0>>2] = 1; + $48 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($48|0); } - L7: while(1) { - $37 = HEAP32[$nNeedle>>2]|0; - $38 = HEAP32[$nHaystack>>2]|0; - $39 = ($37|0)<=($38|0); - if (!($39)) { - break; - } - $40 = HEAP32[$zHaystack>>2]|0; - $41 = HEAP32[$zNeedle>>2]|0; - $42 = HEAP32[$nNeedle>>2]|0; - $43 = (_memcmp($40,$41,$42)|0); - $44 = ($43|0)!=(0); - if (!($44)) { - break; - } - $45 = HEAP32[$N>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$N>>2] = $46; - while(1) { - $47 = HEAP32[$nHaystack>>2]|0; - $48 = (($47) + -1)|0; - HEAP32[$nHaystack>>2] = $48; - $49 = HEAP32[$zHaystack>>2]|0; - $50 = (($49) + 1|0); - HEAP32[$zHaystack>>2] = $50; - $51 = HEAP32[$isText>>2]|0; - $52 = ($51|0)!=(0); - if (!($52)) { - continue L7; - } - $53 = HEAP32[$zHaystack>>2]|0; - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $55 & 192; - $57 = ($56|0)==(128); - if (!($57)) { - continue L7; + _walChecksumBytes(1,$h1,40,0,$aCksum); + $15 = HEAP32[$aCksum>>2]|0; + $16 = ((($h1)) + 40|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($15|0)!=($17|0); + if (!($18)) { + $19 = ((($aCksum)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($h1)) + 40|0); + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($20|0)!=($23|0); + if (!($24)) { + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 52|0); + $27 = (_memcmp($26,$h1,48)|0); + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$2>>2]|0; + HEAP32[$29>>2] = 1; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 52|0); + dest=$31; src=$h1; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 52|0); + $34 = ((($33)) + 14|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35&65535; + $37 = $36 & 65024; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 52|0); + $40 = ((($39)) + 14|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41&65535; + $43 = $42 & 1; + $44 = $43 << 16; + $45 = (($37) + ($44))|0; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 36|0); + HEAP32[$47>>2] = $45; } + HEAP32[$0>>2] = 0; + $48 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($48|0); } } - $58 = HEAP32[$nNeedle>>2]|0; - $59 = HEAP32[$nHaystack>>2]|0; - $60 = ($58|0)>($59|0); - if ($60) { - HEAP32[$N>>2] = 0; - } - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$N>>2]|0; - _sqlite3_result_int($61,$62); - STACKTOP = sp;return; + HEAP32[$0>>2] = 1; + $48 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($48|0); } -function _substrFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _walIndexRecover($pWal) { + $pWal = $pWal|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; @@ -49616,10247 +49551,9298 @@ function _substrFunc($context,$argc,$argv) { var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $len = 0, $negP2 = 0, $or$cond = 0; - var $p0type = 0, $p1 = 0, $p2 = 0, $z = 0, $z2 = 0, label = 0, sp = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aBuf = 0, $aData = 0, $aFrame = 0, $aFrameCksum = 0, $i = 0, $iFrame = 0, $iLock = 0, $iOffset = 0, $isValid = 0, $magic = 0, $nLock = 0; + var $nSize = 0, $nTruncate = 0, $or$cond = 0, $or$cond3 = 0, $pInfo = 0, $pgno = 0, $rc = 0, $szFrame = 0, $szPage = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, $version = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $z = sp + 32|0; - $z2 = sp + 28|0; - $len = sp + 24|0; - $p0type = sp + 20|0; - $p1 = sp + 8|0; - $p2 = sp; - $negP2 = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$negP2>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (_sqlite3_value_type($5)|0); - $7 = ($6|0)==(5); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(3); - if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_type($12)|0); - $14 = ($13|0)==(5); - if ($14) { - STACKTOP = sp;return; - } + STACKTOP = STACKTOP + 144|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 36|0; + $1 = sp + 52|0; + $rc = sp + 80|0; + $nSize = sp + 16|0; + $aFrameCksum = sp + 72|0; + $iLock = sp + 64|0; + $nLock = sp + 28|0; + $aBuf = sp + 104|0; + $aFrame = sp + 92|0; + $szFrame = sp + 96|0; + $aData = sp + 40|0; + $iFrame = sp + 44|0; + $iOffset = sp; + $szPage = sp + 56|0; + $magic = sp + 60|0; + $version = sp + 24|0; + $isValid = sp + 88|0; + $pgno = sp + 32|0; + $nTruncate = sp + 48|0; + $pInfo = sp + 84|0; + $i = sp + 100|0; + HEAP32[$1>>2] = $pWal; + ;HEAP32[$aFrameCksum>>2]=0|0;HEAP32[$aFrameCksum+4>>2]=0|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 45|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = (1 + ($5))|0; + HEAP32[$iLock>>2] = $6; + $7 = HEAP32[$iLock>>2]|0; + $8 = (8 - ($7))|0; + HEAP32[$nLock>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$iLock>>2]|0; + $11 = HEAP32[$nLock>>2]|0; + $12 = (_walLockExclusive($9,$10,$11)|0); + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$rc>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $15; + $268 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($268|0); } - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_type($16)|0); - HEAP32[$p0type>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 4|0); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 52|0); + dest=$17; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_int($20)|0); - $22 = ($21|0)<(0); - $23 = $22 << 31 >> 31; - $24 = $p1; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $23; - $28 = HEAP32[$p0type>>2]|0; - $29 = ($28|0)==(4); - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$30>>2]|0; - L8: do { - if ($29) { - $32 = (_sqlite3_value_bytes($31)|0); - HEAP32[$len>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = (_sqlite3_value_blob($34)|0); - HEAP32[$z>>2] = $35; - $36 = HEAP32[$z>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - STACKTOP = sp;return; - } - } else { - $38 = (_sqlite3_value_text($31)|0); - HEAP32[$z>>2] = $38; - $39 = HEAP32[$z>>2]|0; - $40 = ($39|0)==(0|0); - if ($40) { - STACKTOP = sp;return; - } - HEAP32[$len>>2] = 0; - $41 = $p1; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)<(0); - if ($47) { - $48 = HEAP32[$z>>2]|0; - HEAP32[$z2>>2] = $48; - while(1) { - $49 = HEAP32[$z2>>2]|0; - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)!=(0); - if (!($51)) { - break L8; + $21 = (_sqlite3OsFileSize($20,$nSize)|0); + HEAP32[$rc>>2] = $21; + $22 = HEAP32[$rc>>2]|0; + $23 = ($22|0)!=(0); + L5: do { + if (!($23)) { + $24 = $nSize; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)>(0); + $31 = ($26>>>0)>(32); + $32 = ($29|0)==(0); + $33 = $32 & $31; + $34 = $30 | $33; + do { + if ($34) { + HEAP32[$aFrame>>2] = 0; + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_sqlite3OsRead($37,$aBuf,32,0,0)|0); + HEAP32[$rc>>2] = $38; + $39 = HEAP32[$rc>>2]|0; + $40 = ($39|0)!=(0); + if ($40) { + break L5; } - $52 = HEAP32[$z2>>2]|0; - $53 = (($52) + 1|0); - HEAP32[$z2>>2] = $53; - $54 = HEAP8[$52>>0]|0; - $55 = $54&255; - $56 = ($55|0)>=(192); - L17: do { - if ($56) { - while(1) { - $57 = HEAP32[$z2>>2]|0; - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = $59 & 192; - $61 = ($60|0)==(128); - if (!($61)) { - break L17; - } - $62 = HEAP32[$z2>>2]|0; - $63 = (($62) + 1|0); - HEAP32[$z2>>2] = $63; - } - } - } while(0); - $64 = HEAP32[$len>>2]|0; - $65 = (($64) + 1)|0; - HEAP32[$len>>2] = $65; - } - } - } - } while(0); - $66 = HEAP32[$1>>2]|0; - $67 = ($66|0)==(3); - if ($67) { - $68 = HEAP32[$2>>2]|0; - $69 = (($68) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3_value_int($70)|0); - $72 = ($71|0)<(0); - $73 = $72 << 31 >> 31; - $74 = $p2; - $75 = $74; - HEAP32[$75>>2] = $71; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = $p2; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)<(0); - if ($84) { - $85 = $p2; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (_i64Subtract(0,0,($87|0),($90|0))|0); - $92 = tempRet0; - $93 = $p2; - $94 = $93; - HEAP32[$94>>2] = $91; - $95 = (($93) + 4)|0; - $96 = $95; - HEAP32[$96>>2] = $92; - HEAP32[$negP2>>2] = 1; - } - } else { - $97 = HEAP32[$0>>2]|0; - $98 = (_sqlite3_context_db_handle($97)|0); - $99 = (($98) + 88|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)<(0); - $102 = $101 << 31 >> 31; - $103 = $p2; - $104 = $103; - HEAP32[$104>>2] = $100; - $105 = (($103) + 4)|0; - $106 = $105; - HEAP32[$106>>2] = $102; - } - $107 = $p1; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)<(0); - do { - if ($113) { - $114 = HEAP32[$len>>2]|0; - $115 = ($114|0)<(0); - $116 = $115 << 31 >> 31; - $117 = $p1; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (_i64Add(($119|0),($122|0),($114|0),($116|0))|0); - $124 = tempRet0; - $125 = $p1; - $126 = $125; - HEAP32[$126>>2] = $123; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = $124; - $129 = $p1; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)<(0); - if ($135) { - $136 = $p1; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = $p2; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (_i64Add(($144|0),($147|0),($138|0),($141|0))|0); - $149 = tempRet0; - $150 = $p2; - $151 = $150; - HEAP32[$151>>2] = $148; - $152 = (($150) + 4)|0; - $153 = $152; - HEAP32[$153>>2] = $149; - $154 = $p2; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)<(0); - $161 = $160 ? 0 : $148; - $162 = $160 ? 0 : $149; - $163 = $p2; - $164 = $163; - HEAP32[$164>>2] = $161; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - $167 = $p1; - $168 = $167; - HEAP32[$168>>2] = 0; - $169 = (($167) + 4)|0; - $170 = $169; - HEAP32[$170>>2] = 0; - } - } else { - $171 = $p1; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = (($171) + 4)|0; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)>(0); - $178 = ($173>>>0)>(0); - $179 = ($176|0)==(0); - $180 = $179 & $178; - $181 = $177 | $180; - if ($181) { - $182 = $p1; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (_i64Add(($184|0),($187|0),-1,-1)|0); - $189 = tempRet0; - $190 = $p1; - $191 = $190; - HEAP32[$191>>2] = $188; - $192 = (($190) + 4)|0; - $193 = $192; - HEAP32[$193>>2] = $189; - break; - } - $194 = $p2; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = (($194) + 4)|0; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = ($199|0)>(0); - $201 = ($196>>>0)>(0); - $202 = ($199|0)==(0); - $203 = $202 & $201; - $204 = $200 | $203; - if ($204) { - $205 = $p2; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = (($205) + 4)|0; - $209 = $208; - $210 = HEAP32[$209>>2]|0; - $211 = (_i64Add(($207|0),($210|0),-1,-1)|0); - $212 = tempRet0; - $213 = $p2; - $214 = $213; - HEAP32[$214>>2] = $211; - $215 = (($213) + 4)|0; - $216 = $215; - HEAP32[$216>>2] = $212; + $41 = (_sqlite3Get4byte($aBuf)|0); + HEAP32[$magic>>2] = $41; + $42 = ((($aBuf)) + 8|0); + $43 = (_sqlite3Get4byte($42)|0); + HEAP32[$szPage>>2] = $43; + $44 = HEAP32[$magic>>2]|0; + $45 = $44 & -2; + $46 = ($45|0)!=(931071618); + if (!($46)) { + $47 = HEAP32[$szPage>>2]|0; + $48 = HEAP32[$szPage>>2]|0; + $49 = (($48) - 1)|0; + $50 = $47 & $49; + $51 = ($50|0)!=(0); + $52 = HEAP32[$szPage>>2]|0; + $53 = ($52|0)>(65536); + $or$cond = $51 | $53; + $54 = HEAP32[$szPage>>2]|0; + $55 = ($54|0)<(512); + $or$cond3 = $or$cond | $55; + if (!($or$cond3)) { + $56 = HEAP32[$magic>>2]|0; + $57 = $56 & 1; + $58 = $57&255; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 52|0); + $61 = ((($60)) + 13|0); + HEAP8[$61>>0] = $58; + $62 = HEAP32[$szPage>>2]|0; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 36|0); + HEAP32[$64>>2] = $62; + $65 = ((($aBuf)) + 12|0); + $66 = (_sqlite3Get4byte($65)|0); + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 104|0); + HEAP32[$68>>2] = $66; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 52|0); + $71 = ((($70)) + 32|0); + $72 = ((($aBuf)) + 16|0); + ;HEAP8[$71>>0]=HEAP8[$72>>0]|0;HEAP8[$71+1>>0]=HEAP8[$72+1>>0]|0;HEAP8[$71+2>>0]=HEAP8[$72+2>>0]|0;HEAP8[$71+3>>0]=HEAP8[$72+3>>0]|0;HEAP8[$71+4>>0]=HEAP8[$72+4>>0]|0;HEAP8[$71+5>>0]=HEAP8[$72+5>>0]|0;HEAP8[$71+6>>0]=HEAP8[$72+6>>0]|0;HEAP8[$71+7>>0]=HEAP8[$72+7>>0]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 52|0); + $75 = ((($74)) + 13|0); + $76 = HEAP8[$75>>0]|0; + $77 = $76&255; + $78 = HEAP8[920>>0]|0; + $79 = $78 << 24 >> 24; + $80 = ($79|0)==(0); + $81 = $80&1; + $82 = ($77|0)==($81|0); + $83 = $82&1; + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 52|0); + $86 = ((($85)) + 24|0); + _walChecksumBytes($83,$aBuf,24,0,$86); + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 52|0); + $89 = ((($88)) + 24|0); + $90 = HEAP32[$89>>2]|0; + $91 = ((($aBuf)) + 24|0); + $92 = (_sqlite3Get4byte($91)|0); + $93 = ($90|0)!=($92|0); + if (!($93)) { + $94 = HEAP32[$1>>2]|0; + $95 = ((($94)) + 52|0); + $96 = ((($95)) + 24|0); + $97 = ((($96)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ((($aBuf)) + 28|0); + $100 = (_sqlite3Get4byte($99)|0); + $101 = ($98|0)!=($100|0); + if (!($101)) { + $102 = ((($aBuf)) + 4|0); + $103 = (_sqlite3Get4byte($102)|0); + HEAP32[$version>>2] = $103; + $104 = HEAP32[$version>>2]|0; + $105 = ($104|0)!=(3007000); + if ($105) { + $106 = (_sqlite3CantopenError(49260)|0); + HEAP32[$rc>>2] = $106; + break; + } + $107 = HEAP32[$szPage>>2]|0; + $108 = (($107) + 24)|0; + HEAP32[$szFrame>>2] = $108; + $109 = HEAP32[$szFrame>>2]|0; + $110 = (_sqlite3_malloc($109)|0); + HEAP32[$aFrame>>2] = $110; + $111 = HEAP32[$aFrame>>2]|0; + $112 = ($111|0)!=(0|0); + if (!($112)) { + HEAP32[$rc>>2] = 7; + break L5; + } + $113 = HEAP32[$aFrame>>2]|0; + $114 = ((($113)) + 24|0); + HEAP32[$aData>>2] = $114; + HEAP32[$iFrame>>2] = 0; + $115 = $iOffset; + $116 = $115; + HEAP32[$116>>2] = 32; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = 0; + while(1) { + $119 = $iOffset; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = (($119) + 4)|0; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$szFrame>>2]|0; + $126 = ($125|0)<(0); + $127 = $126 << 31 >> 31; + $128 = (_i64Add(($121|0),($124|0),($125|0),($127|0))|0); + $129 = tempRet0; + $130 = $nSize; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = ($129|0)<($135|0); + $137 = ($128>>>0)<=($132>>>0); + $138 = ($129|0)==($135|0); + $139 = $138 & $137; + $140 = $136 | $139; + if (!($140)) { + break; + } + $141 = HEAP32[$iFrame>>2]|0; + $142 = (($141) + 1)|0; + HEAP32[$iFrame>>2] = $142; + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 8|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$aFrame>>2]|0; + $147 = HEAP32[$szFrame>>2]|0; + $148 = $iOffset; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (($148) + 4)|0; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (_sqlite3OsRead($145,$146,$147,$150,$153)|0); + HEAP32[$rc>>2] = $154; + $155 = HEAP32[$rc>>2]|0; + $156 = ($155|0)!=(0); + if ($156) { + break; + } + $157 = HEAP32[$1>>2]|0; + $158 = HEAP32[$aData>>2]|0; + $159 = HEAP32[$aFrame>>2]|0; + $160 = (_walDecodeFrame($157,$pgno,$nTruncate,$158,$159)|0); + HEAP32[$isValid>>2] = $160; + $161 = HEAP32[$isValid>>2]|0; + $162 = ($161|0)!=(0); + if (!($162)) { + break; + } + $163 = HEAP32[$1>>2]|0; + $164 = HEAP32[$iFrame>>2]|0; + $165 = HEAP32[$pgno>>2]|0; + $166 = (_walIndexAppend($163,$164,$165)|0); + HEAP32[$rc>>2] = $166; + $167 = HEAP32[$rc>>2]|0; + $168 = ($167|0)!=(0); + if ($168) { + break; + } + $169 = HEAP32[$nTruncate>>2]|0; + $170 = ($169|0)!=(0); + if ($170) { + $171 = HEAP32[$iFrame>>2]|0; + $172 = HEAP32[$1>>2]|0; + $173 = ((($172)) + 52|0); + $174 = ((($173)) + 16|0); + HEAP32[$174>>2] = $171; + $175 = HEAP32[$nTruncate>>2]|0; + $176 = HEAP32[$1>>2]|0; + $177 = ((($176)) + 52|0); + $178 = ((($177)) + 20|0); + HEAP32[$178>>2] = $175; + $179 = HEAP32[$szPage>>2]|0; + $180 = $179 & 65280; + $181 = HEAP32[$szPage>>2]|0; + $182 = $181 >> 16; + $183 = $180 | $182; + $184 = $183&65535; + $185 = HEAP32[$1>>2]|0; + $186 = ((($185)) + 52|0); + $187 = ((($186)) + 14|0); + HEAP16[$187>>1] = $184; + $188 = HEAP32[$1>>2]|0; + $189 = ((($188)) + 52|0); + $190 = ((($189)) + 24|0); + $191 = HEAP32[$190>>2]|0; + HEAP32[$aFrameCksum>>2] = $191; + $192 = HEAP32[$1>>2]|0; + $193 = ((($192)) + 52|0); + $194 = ((($193)) + 24|0); + $195 = ((($194)) + 4|0); + $196 = HEAP32[$195>>2]|0; + $197 = ((($aFrameCksum)) + 4|0); + HEAP32[$197>>2] = $196; + } + $198 = HEAP32[$szFrame>>2]|0; + $199 = ($198|0)<(0); + $200 = $199 << 31 >> 31; + $201 = $iOffset; + $202 = $201; + $203 = HEAP32[$202>>2]|0; + $204 = (($201) + 4)|0; + $205 = $204; + $206 = HEAP32[$205>>2]|0; + $207 = (_i64Add(($203|0),($206|0),($198|0),($200|0))|0); + $208 = tempRet0; + $209 = $iOffset; + $210 = $209; + HEAP32[$210>>2] = $207; + $211 = (($209) + 4)|0; + $212 = $211; + HEAP32[$212>>2] = $208; + } + $213 = HEAP32[$aFrame>>2]|0; + _sqlite3_free($213); + } + } + } + } + } + } while(0); + $214 = HEAP32[$rc>>2]|0; + $215 = ($214|0)==(0); + if ($215) { + $216 = HEAP32[$aFrameCksum>>2]|0; + $217 = HEAP32[$1>>2]|0; + $218 = ((($217)) + 52|0); + $219 = ((($218)) + 24|0); + HEAP32[$219>>2] = $216; + $220 = ((($aFrameCksum)) + 4|0); + $221 = HEAP32[$220>>2]|0; + $222 = HEAP32[$1>>2]|0; + $223 = ((($222)) + 52|0); + $224 = ((($223)) + 24|0); + $225 = ((($224)) + 4|0); + HEAP32[$225>>2] = $221; + $226 = HEAP32[$1>>2]|0; + _walIndexWriteHdr($226); + $227 = HEAP32[$1>>2]|0; + $228 = (_walCkptInfo($227)|0); + HEAP32[$pInfo>>2] = $228; + $229 = HEAP32[$pInfo>>2]|0; + HEAP32[$229>>2] = 0; + $230 = HEAP32[$pInfo>>2]|0; + $231 = ((($230)) + 4|0); + HEAP32[$231>>2] = 0; + HEAP32[$i>>2] = 1; + while(1) { + $232 = HEAP32[$i>>2]|0; + $233 = ($232|0)<(5); + if (!($233)) { + break; + } + $234 = HEAP32[$i>>2]|0; + $235 = HEAP32[$pInfo>>2]|0; + $236 = ((($235)) + 4|0); + $237 = (($236) + ($234<<2)|0); + HEAP32[$237>>2] = -1; + $238 = HEAP32[$i>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$i>>2] = $239; + } + $240 = HEAP32[$1>>2]|0; + $241 = ((($240)) + 52|0); + $242 = ((($241)) + 16|0); + $243 = HEAP32[$242>>2]|0; + $244 = ($243|0)!=(0); + if ($244) { + $245 = HEAP32[$1>>2]|0; + $246 = ((($245)) + 52|0); + $247 = ((($246)) + 16|0); + $248 = HEAP32[$247>>2]|0; + $249 = HEAP32[$pInfo>>2]|0; + $250 = ((($249)) + 4|0); + $251 = ((($250)) + 4|0); + HEAP32[$251>>2] = $248; + } + $252 = HEAP32[$1>>2]|0; + $253 = ((($252)) + 52|0); + $254 = ((($253)) + 20|0); + $255 = HEAP32[$254>>2]|0; + $256 = ($255|0)!=(0); + if ($256) { + $257 = HEAP32[$1>>2]|0; + $258 = ((($257)) + 52|0); + $259 = ((($258)) + 16|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$1>>2]|0; + $262 = ((($261)) + 100|0); + $263 = HEAP32[$262>>2]|0; + HEAP32[$vararg_buffer>>2] = $260; + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $263; + _sqlite3_log(283,17535,$vararg_buffer); + } } } } while(0); - $217 = HEAP32[$negP2>>2]|0; - $218 = ($217|0)!=(0); - if ($218) { - $219 = $p2; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = $p1; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = (_i64Subtract(($227|0),($230|0),($221|0),($224|0))|0); - $232 = tempRet0; - $233 = $p1; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $237 = $p1; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = (($237) + 4)|0; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = ($242|0)<(0); - if ($243) { - $244 = $p1; - $245 = $244; - $246 = HEAP32[$245>>2]|0; - $247 = (($244) + 4)|0; - $248 = $247; - $249 = HEAP32[$248>>2]|0; - $250 = $p2; - $251 = $250; - $252 = HEAP32[$251>>2]|0; - $253 = (($250) + 4)|0; - $254 = $253; - $255 = HEAP32[$254>>2]|0; - $256 = (_i64Add(($252|0),($255|0),($246|0),($249|0))|0); - $257 = tempRet0; - $258 = $p2; - $259 = $258; - HEAP32[$259>>2] = $256; - $260 = (($258) + 4)|0; - $261 = $260; - HEAP32[$261>>2] = $257; - $262 = $p1; - $263 = $262; - HEAP32[$263>>2] = 0; - $264 = (($262) + 4)|0; - $265 = $264; - HEAP32[$265>>2] = 0; - } + $264 = HEAP32[$1>>2]|0; + $265 = HEAP32[$iLock>>2]|0; + $266 = HEAP32[$nLock>>2]|0; + _walUnlockExclusive($264,$265,$266); + $267 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $267; + $268 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($268|0); +} +function _sqlite3CantopenError($lineno) { + $lineno = $lineno|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + HEAP32[$0>>2] = $lineno; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_sourceid()|0); + $3 = ((($2)) + 20|0); + HEAP32[$vararg_buffer>>2] = $1; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $3; + _sqlite3_log(14,17496,$vararg_buffer); + STACKTOP = sp;return 14; +} +function _walChecksumBytes($nativeCksum,$a,$nByte,$aIn,$aOut) { + $nativeCksum = $nativeCksum|0; + $a = $a|0; + $nByte = $nByte|0; + $aIn = $aIn|0; + $aOut = $aOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $aData = 0, $aEnd = 0, $s1 = 0, $s2 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $s1 = sp; + $s2 = sp + 12|0; + $aData = sp + 24|0; + $aEnd = sp + 20|0; + HEAP32[$0>>2] = $nativeCksum; + HEAP32[$1>>2] = $a; + HEAP32[$2>>2] = $nByte; + HEAP32[$3>>2] = $aIn; + HEAP32[$4>>2] = $aOut; + $5 = HEAP32[$1>>2]|0; + HEAP32[$aData>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = (($7) + ($6)|0); + HEAP32[$aEnd>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$s1>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$s2>>2] = $15; + } else { + HEAP32[$s2>>2] = 0; + HEAP32[$s1>>2] = 0; } - $266 = HEAP32[$p0type>>2]|0; - $267 = ($266|0)!=(4); - if (!($267)) { - $351 = $p1; - $352 = $351; - $353 = HEAP32[$352>>2]|0; - $354 = (($351) + 4)|0; - $355 = $354; - $356 = HEAP32[$355>>2]|0; - $357 = $p2; - $358 = $357; - $359 = HEAP32[$358>>2]|0; - $360 = (($357) + 4)|0; - $361 = $360; - $362 = HEAP32[$361>>2]|0; - $363 = (_i64Add(($353|0),($356|0),($359|0),($362|0))|0); - $364 = tempRet0; - $365 = HEAP32[$len>>2]|0; - $366 = ($365|0)<(0); - $367 = $366 << 31 >> 31; - $368 = ($364|0)>($367|0); - $369 = ($363>>>0)>($365>>>0); - $370 = ($364|0)==($367|0); - $371 = $370 & $369; - $372 = $368 | $371; - if ($372) { - $373 = HEAP32[$len>>2]|0; - $374 = ($373|0)<(0); - $375 = $374 << 31 >> 31; - $376 = $p1; - $377 = $376; - $378 = HEAP32[$377>>2]|0; - $379 = (($376) + 4)|0; - $380 = $379; - $381 = HEAP32[$380>>2]|0; - $382 = (_i64Subtract(($373|0),($375|0),($378|0),($381|0))|0); - $383 = tempRet0; - $384 = $p2; - $385 = $384; - HEAP32[$385>>2] = $382; - $386 = (($384) + 4)|0; - $387 = $386; - HEAP32[$387>>2] = $383; - $388 = $p2; - $389 = $388; - $390 = HEAP32[$389>>2]|0; - $391 = (($388) + 4)|0; - $392 = $391; - $393 = HEAP32[$392>>2]|0; - $394 = ($393|0)<(0); - $395 = $394 ? 0 : $382; - $396 = $394 ? 0 : $383; - $397 = $p2; - $398 = $397; - HEAP32[$398>>2] = $395; - $399 = (($397) + 4)|0; - $400 = $399; - HEAP32[$400>>2] = $396; + $16 = HEAP32[$0>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + while(1) { + $18 = HEAP32[$aData>>2]|0; + $19 = ((($18)) + 4|0); + HEAP32[$aData>>2] = $19; + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$s2>>2]|0; + $22 = (($20) + ($21))|0; + $23 = HEAP32[$s1>>2]|0; + $24 = (($23) + ($22))|0; + HEAP32[$s1>>2] = $24; + $25 = HEAP32[$aData>>2]|0; + $26 = ((($25)) + 4|0); + HEAP32[$aData>>2] = $26; + $27 = HEAP32[$25>>2]|0; + $28 = HEAP32[$s1>>2]|0; + $29 = (($27) + ($28))|0; + $30 = HEAP32[$s2>>2]|0; + $31 = (($30) + ($29))|0; + HEAP32[$s2>>2] = $31; + $32 = HEAP32[$aData>>2]|0; + $33 = HEAP32[$aEnd>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if (!($34)) { + break; + } } - $401 = HEAP32[$0>>2]|0; - $402 = $p1; - $403 = $402; - $404 = HEAP32[$403>>2]|0; - $405 = (($402) + 4)|0; - $406 = $405; - $407 = HEAP32[$406>>2]|0; - $408 = HEAP32[$z>>2]|0; - $409 = (($408) + ($404)|0); - $410 = $p2; - $411 = $410; - $412 = HEAP32[$411>>2]|0; - $413 = (($410) + 4)|0; - $414 = $413; - $415 = HEAP32[$414>>2]|0; - _sqlite3_result_blob64($401,$409,$412,$415,(-1)); + $90 = HEAP32[$s1>>2]|0; + $91 = HEAP32[$4>>2]|0; + HEAP32[$91>>2] = $90; + $92 = HEAP32[$s2>>2]|0; + $93 = HEAP32[$4>>2]|0; + $94 = ((($93)) + 4|0); + HEAP32[$94>>2] = $92; STACKTOP = sp;return; - } - while(1) { - $268 = HEAP32[$z>>2]|0; - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = ($270|0)!=(0); - if ($271) { - $272 = $p1; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = (($272) + 4)|0; - $276 = $275; - $277 = HEAP32[$276>>2]|0; - $278 = ($274|0)!=(0); - $279 = ($277|0)!=(0); - $280 = $278 | $279; - $416 = $280; - } else { - $416 = 0; + } else { + while(1) { + $35 = HEAP32[$aData>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = $36 & 255; + $38 = $37 << 24; + $39 = HEAP32[$aData>>2]|0; + $40 = HEAP32[$39>>2]|0; + $41 = $40 & 65280; + $42 = $41 << 8; + $43 = (($38) + ($42))|0; + $44 = HEAP32[$aData>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = $45 & 16711680; + $47 = $46 >>> 8; + $48 = (($43) + ($47))|0; + $49 = HEAP32[$aData>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = $50 & -16777216; + $52 = $51 >>> 24; + $53 = (($48) + ($52))|0; + $54 = HEAP32[$s2>>2]|0; + $55 = (($53) + ($54))|0; + $56 = HEAP32[$s1>>2]|0; + $57 = (($56) + ($55))|0; + HEAP32[$s1>>2] = $57; + $58 = HEAP32[$aData>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = $60 & 255; + $62 = $61 << 24; + $63 = HEAP32[$aData>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = $65 & 65280; + $67 = $66 << 8; + $68 = (($62) + ($67))|0; + $69 = HEAP32[$aData>>2]|0; + $70 = ((($69)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = $71 & 16711680; + $73 = $72 >>> 8; + $74 = (($68) + ($73))|0; + $75 = HEAP32[$aData>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = $77 & -16777216; + $79 = $78 >>> 24; + $80 = (($74) + ($79))|0; + $81 = HEAP32[$s1>>2]|0; + $82 = (($80) + ($81))|0; + $83 = HEAP32[$s2>>2]|0; + $84 = (($83) + ($82))|0; + HEAP32[$s2>>2] = $84; + $85 = HEAP32[$aData>>2]|0; + $86 = ((($85)) + 8|0); + HEAP32[$aData>>2] = $86; + $87 = HEAP32[$aData>>2]|0; + $88 = HEAP32[$aEnd>>2]|0; + $89 = ($87>>>0)<($88>>>0); + if (!($89)) { + break; + } } - $281 = HEAP32[$z>>2]|0; - if (!($416)) { - break; + $90 = HEAP32[$s1>>2]|0; + $91 = HEAP32[$4>>2]|0; + HEAP32[$91>>2] = $90; + $92 = HEAP32[$s2>>2]|0; + $93 = HEAP32[$4>>2]|0; + $94 = ((($93)) + 4|0); + HEAP32[$94>>2] = $92; + STACKTOP = sp;return; + } +} +function _walDecodeFrame($pWal,$piPage,$pnTruncate,$aData,$aFrame) { + $pWal = $pWal|0; + $piPage = $piPage|0; + $pnTruncate = $pnTruncate|0; + $aData = $aData|0; + $aFrame = $aFrame|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; + var $8 = 0, $9 = 0, $aCksum = 0, $nativeCksum = 0, $pgno = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $5 = sp; + $nativeCksum = sp + 12|0; + $aCksum = sp + 24|0; + $pgno = sp + 20|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $piPage; + HEAP32[$3>>2] = $pnTruncate; + HEAP32[$4>>2] = $aData; + HEAP32[$5>>2] = $aFrame; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 52|0); + $8 = ((($7)) + 24|0); + HEAP32[$aCksum>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 52|0); + $11 = ((($10)) + 32|0); + $12 = HEAP32[$5>>2]|0; + $13 = ((($12)) + 8|0); + $14 = (_memcmp($11,$13,8)|0); + $15 = ($14|0)!=(0); + if ($15) { + HEAP32[$0>>2] = 0; + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); + } + $16 = HEAP32[$5>>2]|0; + $17 = (_sqlite3Get4byte($16)|0); + HEAP32[$pgno>>2] = $17; + $18 = HEAP32[$pgno>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + HEAP32[$0>>2] = 0; + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); + } + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 52|0); + $22 = ((($21)) + 13|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = HEAP8[920>>0]|0; + $26 = $25 << 24 >> 24; + $27 = ($26|0)==(0); + $28 = $27&1; + $29 = ($24|0)==($28|0); + $30 = $29&1; + HEAP32[$nativeCksum>>2] = $30; + $31 = HEAP32[$nativeCksum>>2]|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$aCksum>>2]|0; + $34 = HEAP32[$aCksum>>2]|0; + _walChecksumBytes($31,$32,8,$33,$34); + $35 = HEAP32[$nativeCksum>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 36|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$aCksum>>2]|0; + $41 = HEAP32[$aCksum>>2]|0; + _walChecksumBytes($35,$36,$39,$40,$41); + $42 = HEAP32[$aCksum>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 16|0); + $46 = (_sqlite3Get4byte($45)|0); + $47 = ($43|0)!=($46|0); + if (!($47)) { + $48 = HEAP32[$aCksum>>2]|0; + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 20|0); + $53 = (_sqlite3Get4byte($52)|0); + $54 = ($50|0)!=($53|0); + if (!($54)) { + $55 = HEAP32[$pgno>>2]|0; + $56 = HEAP32[$2>>2]|0; + HEAP32[$56>>2] = $55; + $57 = HEAP32[$5>>2]|0; + $58 = ((($57)) + 4|0); + $59 = (_sqlite3Get4byte($58)|0); + $60 = HEAP32[$3>>2]|0; + HEAP32[$60>>2] = $59; + HEAP32[$0>>2] = 1; + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); } - $282 = (($281) + 1|0); - HEAP32[$z>>2] = $282; - $283 = HEAP8[$281>>0]|0; - $284 = $283&255; - $285 = ($284|0)>=(192); - L55: do { - if ($285) { - while(1) { - $286 = HEAP32[$z>>2]|0; - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = $288 & 192; - $290 = ($289|0)==(128); - if (!($290)) { - break L55; - } - $291 = HEAP32[$z>>2]|0; - $292 = (($291) + 1|0); - HEAP32[$z>>2] = $292; - } + } + HEAP32[$0>>2] = 0; + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); +} +function _walIndexAppend($pWal,$iFrame,$iPage) { + $pWal = $pWal|0; + $iFrame = $iFrame|0; + $iPage = $iPage|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aHash = 0, $aPgno = 0, $iKey = 0, $iZero = 0; + var $idx = 0, $nByte = 0, $nCollide = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp; + $1 = sp + 8|0; + $2 = sp + 36|0; + $3 = sp + 16|0; + $rc = sp + 32|0; + $iZero = sp + 40|0; + $aPgno = sp + 44|0; + $aHash = sp + 24|0; + $iKey = sp + 20|0; + $idx = sp + 12|0; + $nCollide = sp + 4|0; + $nByte = sp + 28|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $iFrame; + HEAP32[$3>>2] = $iPage; + HEAP32[$iZero>>2] = 0; + HEAP32[$aPgno>>2] = 0; + HEAP32[$aHash>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_walFramePage($5)|0); + $7 = (_walHashGet($4,$6,$aHash,$aPgno,$iZero)|0); + HEAP32[$rc>>2] = $7; + $8 = HEAP32[$rc>>2]|0; + $9 = ($8|0)==(0); + do { + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$iZero>>2]|0; + $12 = (($10) - ($11))|0; + HEAP32[$idx>>2] = $12; + $13 = HEAP32[$idx>>2]|0; + $14 = ($13|0)==(1); + if ($14) { + $15 = HEAP32[$aHash>>2]|0; + $16 = ((($15)) + 16384|0); + $17 = HEAP32[$aPgno>>2]|0; + $18 = ((($17)) + 4|0); + $19 = $16; + $20 = $18; + $21 = (($19) - ($20))|0; + HEAP32[$nByte>>2] = $21; + $22 = HEAP32[$aPgno>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$nByte>>2]|0; + _memset(($23|0),0,($24|0))|0; } - } while(0); - $293 = $p1; - $294 = $293; - $295 = HEAP32[$294>>2]|0; - $296 = (($293) + 4)|0; - $297 = $296; - $298 = HEAP32[$297>>2]|0; - $299 = (_i64Add(($295|0),($298|0),-1,-1)|0); - $300 = tempRet0; - $301 = $p1; - $302 = $301; - HEAP32[$302>>2] = $299; - $303 = (($301) + 4)|0; - $304 = $303; - HEAP32[$304>>2] = $300; - } - HEAP32[$z2>>2] = $281; - while(1) { - $305 = HEAP32[$z2>>2]|0; - $306 = HEAP8[$305>>0]|0; - $307 = $306&255; - $308 = ($307|0)!=(0); - $309 = $p2; - $310 = $309; - $311 = HEAP32[$310>>2]|0; - $312 = (($309) + 4)|0; - $313 = $312; - $314 = HEAP32[$313>>2]|0; - $315 = ($311|0)!=(0); - $316 = ($314|0)!=(0); - $317 = $315 | $316; - $or$cond = $308 & $317; - if (!($or$cond)) { - break; - } - $318 = HEAP32[$z2>>2]|0; - $319 = (($318) + 1|0); - HEAP32[$z2>>2] = $319; - $320 = HEAP8[$318>>0]|0; - $321 = $320&255; - $322 = ($321|0)>=(192); - L64: do { - if ($322) { - while(1) { - $323 = HEAP32[$z2>>2]|0; - $324 = HEAP8[$323>>0]|0; - $325 = $324&255; - $326 = $325 & 192; - $327 = ($326|0)==(128); - if (!($327)) { - break L64; - } - $328 = HEAP32[$z2>>2]|0; - $329 = (($328) + 1|0); - HEAP32[$z2>>2] = $329; + $25 = HEAP32[$idx>>2]|0; + $26 = HEAP32[$aPgno>>2]|0; + $27 = (($26) + ($25<<2)|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0); + if ($29) { + $30 = HEAP32[$1>>2]|0; + _walCleanupHash($30); + } + $31 = HEAP32[$idx>>2]|0; + HEAP32[$nCollide>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = (_walHash($32)|0); + HEAP32[$iKey>>2] = $33; + while(1) { + $34 = HEAP32[$iKey>>2]|0; + $35 = HEAP32[$aHash>>2]|0; + $36 = (($35) + ($34<<1)|0); + $37 = HEAP16[$36>>1]|0; + $38 = ($37<<16>>16)!=(0); + if (!($38)) { + label = 11; + break; + } + $39 = HEAP32[$nCollide>>2]|0; + $40 = (($39) + -1)|0; + HEAP32[$nCollide>>2] = $40; + $41 = ($39|0)==(0); + if ($41) { + break; } + $43 = HEAP32[$iKey>>2]|0; + $44 = (_walNextHash($43)|0); + HEAP32[$iKey>>2] = $44; } - } while(0); - $330 = $p2; - $331 = $330; - $332 = HEAP32[$331>>2]|0; - $333 = (($330) + 4)|0; - $334 = $333; - $335 = HEAP32[$334>>2]|0; - $336 = (_i64Add(($332|0),($335|0),-1,-1)|0); - $337 = tempRet0; - $338 = $p2; - $339 = $338; - HEAP32[$339>>2] = $336; - $340 = (($338) + 4)|0; - $341 = $340; - HEAP32[$341>>2] = $337; - } - $342 = HEAP32[$0>>2]|0; - $343 = HEAP32[$z>>2]|0; - $344 = HEAP32[$z2>>2]|0; - $345 = HEAP32[$z>>2]|0; - $346 = $344; - $347 = $345; - $348 = (($346) - ($347))|0; - $349 = ($348|0)<(0); - $350 = $349 << 31 >> 31; - _sqlite3_result_text64($342,$343,$348,$350,(-1),1); + if ((label|0) == 11) { + $45 = HEAP32[$3>>2]|0; + $46 = HEAP32[$idx>>2]|0; + $47 = HEAP32[$aPgno>>2]|0; + $48 = (($47) + ($46<<2)|0); + HEAP32[$48>>2] = $45; + $49 = HEAP32[$idx>>2]|0; + $50 = $49&65535; + $51 = HEAP32[$iKey>>2]|0; + $52 = HEAP32[$aHash>>2]|0; + $53 = (($52) + ($51<<1)|0); + HEAP16[$53>>1] = $50; + break; + } + $42 = (_sqlite3CorruptError(49129)|0); + HEAP32[$0>>2] = $42; + $55 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($55|0); + } + } while(0); + $54 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $54; + $55 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($55|0); +} +function _walIndexWriteHdr($pWal) { + $pWal = $pWal|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $aHdr = 0, $nCksum = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $aHdr = sp + 4|0; + $nCksum = sp; + HEAP32[$0>>2] = $pWal; + $1 = HEAP32[$0>>2]|0; + $2 = (_walIndexHdr($1)|0); + HEAP32[$aHdr>>2] = $2; + HEAP32[$nCksum>>2] = 40; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 52|0); + $5 = ((($4)) + 12|0); + HEAP8[$5>>0] = 1; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 52|0); + HEAP32[$7>>2] = 3007000; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 52|0); + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 52|0); + $12 = ((($11)) + 40|0); + _walChecksumBytes(1,$9,40,0,$12); + $13 = HEAP32[$aHdr>>2]|0; + $14 = ((($13)) + 48|0); + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 52|0); + dest=$14; src=$16; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $17 = HEAP32[$0>>2]|0; + _walShmBarrier($17); + $18 = HEAP32[$aHdr>>2]|0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 52|0); + dest=$18; src=$20; stop=dest+48|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } -function _printfFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $n = 0, $str = 0, $vararg_buffer = 0, $x = 0, $zFormat = 0, label = 0, sp = 0; +function _walShmBarrier($pWal) { + $pWal = $pWal|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $x = sp + 40|0; - $str = sp + 12|0; - $zFormat = sp + 8|0; - $n = sp + 4|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)>=(1); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zFormat>>2] = $7; - $8 = ($7|0)!=(0|0); - if (!($8)) { + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pWal; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 43|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)!=(2); + if (!($5)) { STACKTOP = sp;return; } - $9 = HEAP32[$1>>2]|0; - $10 = (($9) - 1)|0; - HEAP32[$x>>2] = $10; - $11 = (($x) + 4|0); - HEAP32[$11>>2] = 0; - $12 = HEAP32[$2>>2]|0; - $13 = (($12) + 4|0); - $14 = (($x) + 8|0); - HEAP32[$14>>2] = $13; - _sqlite3StrAccumInit($str,0,0,1000000000); - $15 = HEAP32[$0>>2]|0; - $16 = (_sqlite3_context_db_handle($15)|0); - HEAP32[$str>>2] = $16; - $17 = HEAP32[$zFormat>>2]|0; - HEAP32[$vararg_buffer>>2] = $x; - _sqlite3XPrintf($str,2,$17,$vararg_buffer); - $18 = (($str) + 12|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$n>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = (_sqlite3StrAccumFinish($str)|0); - $22 = HEAP32[$n>>2]|0; - _sqlite3_result_text($20,$21,$22,16); + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3OsShmBarrier($8); STACKTOP = sp;return; } -function _unicodeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0, sp = 0; +function _sqlite3OsShmBarrier($id) { + $id = $id|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; + $0 = sp; + HEAP32[$0>>2] = $id; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 60|0); $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z>>2] = $5; - $6 = HEAP32[$z>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$z>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - if (!($11)) { - STACKTOP = sp;return; - } - $12 = HEAP32[$0>>2]|0; - $13 = (_sqlite3Utf8Read($z)|0); - _sqlite3_result_int($12,$13); + $5 = HEAP32[$0>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); STACKTOP = sp;return; } -function _charFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $or$cond = 0, $x = 0, $z = 0, $zOut = 0, label = 0, sp = 0; +function _sqlite3InvokeBusyHandler($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $z = sp + 20|0; - $zOut = sp + 16|0; - $i = sp + 12|0; - $x = sp; - $c = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$1>>2]|0; - $4 = $3<<2; - $5 = (($4) + 1)|0; - $6 = (_sqlite3_malloc($5)|0); - HEAP32[$z>>2] = $6; - HEAP32[$zOut>>2] = $6; - $7 = HEAP32[$z>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($9); - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = ($10|0)<($11|0); - if (!($12)) { - break; - } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) + ($13<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_int64($16)|0); - $18 = tempRet0; - $19 = $x; - $20 = $19; - HEAP32[$20>>2] = $17; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $18; - $23 = $x; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)<(0); - $30 = $x; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)>(0); - $37 = ($32>>>0)>(1114111); - $38 = ($35|0)==(0); - $39 = $38 & $37; - $40 = $36 | $39; - $or$cond = $29 | $40; - $41 = $or$cond ? 65533 : $17; - $42 = $or$cond ? 0 : $18; - $43 = $x; - $44 = $43; - HEAP32[$44>>2] = $41; - $45 = (($43) + 4)|0; - $46 = $45; - HEAP32[$46>>2] = $42; - $47 = $x; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = $49 & 2097151; - HEAP32[$c>>2] = $53; - $54 = HEAP32[$c>>2]|0; - $55 = ($54>>>0)<(128); - $56 = HEAP32[$c>>2]|0; - do { - if ($55) { - $57 = $56 & 255; - $58 = $57&255; - $59 = HEAP32[$zOut>>2]|0; - $60 = (($59) + 1|0); - HEAP32[$zOut>>2] = $60; - HEAP8[$59>>0] = $58; - } else { - $61 = ($56>>>0)<(2048); - $62 = HEAP32[$c>>2]|0; - if ($61) { - $63 = $62 >>> 6; - $64 = $63 & 31; - $65 = $64&255; - $66 = $65&255; - $67 = (192 + ($66))|0; - $68 = $67&255; - $69 = HEAP32[$zOut>>2]|0; - $70 = (($69) + 1|0); - HEAP32[$zOut>>2] = $70; - HEAP8[$69>>0] = $68; - $71 = HEAP32[$c>>2]|0; - $72 = $71 & 63; - $73 = $72&255; - $74 = $73&255; - $75 = (128 + ($74))|0; - $76 = $75&255; - $77 = HEAP32[$zOut>>2]|0; - $78 = (($77) + 1|0); - HEAP32[$zOut>>2] = $78; - HEAP8[$77>>0] = $76; - break; - } - $79 = ($62>>>0)<(65536); - $80 = HEAP32[$c>>2]|0; - if ($79) { - $81 = $80 >>> 12; - $82 = $81 & 15; - $83 = $82&255; - $84 = $83&255; - $85 = (224 + ($84))|0; - $86 = $85&255; - $87 = HEAP32[$zOut>>2]|0; - $88 = (($87) + 1|0); - HEAP32[$zOut>>2] = $88; - HEAP8[$87>>0] = $86; - $89 = HEAP32[$c>>2]|0; - $90 = $89 >>> 6; - $91 = $90 & 63; - $92 = $91&255; - $93 = $92&255; - $94 = (128 + ($93))|0; - $95 = $94&255; - $96 = HEAP32[$zOut>>2]|0; - $97 = (($96) + 1|0); - HEAP32[$zOut>>2] = $97; - HEAP8[$96>>0] = $95; - $98 = HEAP32[$c>>2]|0; - $99 = $98 & 63; - $100 = $99&255; - $101 = $100&255; - $102 = (128 + ($101))|0; - $103 = $102&255; - $104 = HEAP32[$zOut>>2]|0; - $105 = (($104) + 1|0); - HEAP32[$zOut>>2] = $105; - HEAP8[$104>>0] = $103; - break; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if (!($10)) { + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = (FUNCTION_TABLE_iii[$12 & 63]($15,$18)|0); + HEAP32[$rc>>2] = $19; + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)==(0); + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 8|0); + if ($21) { + HEAP32[$23>>2] = -1; } else { - $106 = $80 >>> 18; - $107 = $106 & 7; - $108 = $107&255; - $109 = $108&255; - $110 = (240 + ($109))|0; - $111 = $110&255; - $112 = HEAP32[$zOut>>2]|0; - $113 = (($112) + 1|0); - HEAP32[$zOut>>2] = $113; - HEAP8[$112>>0] = $111; - $114 = HEAP32[$c>>2]|0; - $115 = $114 >>> 12; - $116 = $115 & 63; - $117 = $116&255; - $118 = $117&255; - $119 = (128 + ($118))|0; - $120 = $119&255; - $121 = HEAP32[$zOut>>2]|0; - $122 = (($121) + 1|0); - HEAP32[$zOut>>2] = $122; - HEAP8[$121>>0] = $120; - $123 = HEAP32[$c>>2]|0; - $124 = $123 >>> 6; - $125 = $124 & 63; - $126 = $125&255; - $127 = $126&255; - $128 = (128 + ($127))|0; - $129 = $128&255; - $130 = HEAP32[$zOut>>2]|0; - $131 = (($130) + 1|0); - HEAP32[$zOut>>2] = $131; - HEAP8[$130>>0] = $129; - $132 = HEAP32[$c>>2]|0; - $133 = $132 & 63; - $134 = $133&255; - $135 = $134&255; - $136 = (128 + ($135))|0; - $137 = $136&255; - $138 = HEAP32[$zOut>>2]|0; - $139 = (($138) + 1|0); - HEAP32[$zOut>>2] = $139; - HEAP8[$138>>0] = $137; - break; + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$23>>2] = $25; } + $26 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $26; + $27 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($27|0); } - } while(0); - $140 = HEAP32[$i>>2]|0; - $141 = (($140) + 1)|0; - HEAP32[$i>>2] = $141; + } } - $142 = HEAP32[$0>>2]|0; - $143 = HEAP32[$z>>2]|0; - $144 = HEAP32[$zOut>>2]|0; - $145 = HEAP32[$z>>2]|0; - $146 = $144; - $147 = $145; - $148 = (($146) - ($147))|0; - $149 = ($148|0)<(0); - $150 = $149 << 31 >> 31; - _sqlite3_result_text64($142,$143,$148,$150,13,1); - STACKTOP = sp;return; + HEAP32[$0>>2] = 0; + $27 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($27|0); } -function _absFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _sqlite3PcacheSize() { + var label = 0, sp = 0; + sp = STACKTOP; + return 48; +} +function _pagerStress($p,$pPg) { + $p = $p|0; + $pPg = $pPg|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $iVal = 0, $rVal = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $pPager = 0, $rc = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $iVal = sp + 8|0; - $rVal = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - if ((($5|0) == 1)) { - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_int64($7)|0); - $9 = tempRet0; - $10 = $iVal; - $11 = $10; - HEAP32[$11>>2] = $8; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $9; - $14 = $iVal; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)<(0); - do { - if ($20) { - $21 = $iVal; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = ($23|0)==(0); - $28 = ($26|0)==(-2147483648); - $29 = $27 & $28; - if (!($29)) { - $31 = $iVal; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (_i64Subtract(0,0,($33|0),($36|0))|0); - $38 = tempRet0; - $39 = $iVal; - $40 = $39; - HEAP32[$40>>2] = $37; - $41 = (($39) + 4)|0; - $42 = $41; - HEAP32[$42>>2] = $38; - break; - } - $30 = HEAP32[$0>>2]|0; - _sqlite3_result_error($30,9784,-1); - STACKTOP = sp;return; - } - } while(0); - $43 = HEAP32[$0>>2]|0; - $44 = $iVal; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - _sqlite3_result_int64($43,$46,$49); - STACKTOP = sp;return; - } else if ((($5|0) == 5)) { - $50 = HEAP32[$0>>2]|0; - _sqlite3_result_null($50); - STACKTOP = sp;return; - } else { - $51 = HEAP32[$2>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = (+_sqlite3_value_double($52)); - HEAPF64[$rVal>>3] = $53; - $54 = +HEAPF64[$rVal>>3]; - $55 = $54 < 0.0; - if ($55) { - $56 = +HEAPF64[$rVal>>3]; - $57 = -$56; - HEAPF64[$rVal>>3] = $57; - } - $58 = HEAP32[$0>>2]|0; - $59 = +HEAPF64[$rVal>>3]; - _sqlite3_result_double($58,$59); - STACKTOP = sp;return; - } -} -function _roundFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$ = 0, $$$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0; - var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $r = 0, $vararg_buffer = 0, $vararg_ptr6 = 0, $zBuf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $n = sp + 24|0; - $r = sp; - $zBuf = sp + 20|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$n>>2] = 0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $pPager = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $pPg; $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); + HEAP32[$pPager>>2] = $3; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$pPager>>2]|0; + $5 = ((($4)) + 40|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + HEAP32[$0>>2] = 0; + $77 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($77|0); + } + $8 = HEAP32[$pPager>>2]|0; + $9 = ((($8)) + 20|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)!=(0); do { - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = (($5) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_type($7)|0); - $9 = (5)==($8|0); - if ($9) { - STACKTOP = sp;return; - } else { - $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_int($12)|0); - HEAP32[$n>>2] = $13; - $14 = HEAP32[$n>>2]|0; - $15 = ($14|0)>(30); - $$ = $15 ? 30 : $13; - HEAP32[$n>>2] = $$; - $16 = HEAP32[$n>>2]|0; - $17 = ($16|0)<(0); - $$$ = $17 ? 0 : $$; - HEAP32[$n>>2] = $$$; - break; + if ($12) { + $13 = HEAP32[$pPager>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 & 3; + $18 = ($17|0)!=(0); + if (!($18)) { + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21&65535; + $23 = $22 & 4; + $24 = ($23|0)!=(0); + if (!($24)) { + break; + } } + HEAP32[$0>>2] = 0; + $77 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($77|0); } } while(0); - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_type($19)|0); - $21 = ($20|0)==(5); - if ($21) { - STACKTOP = sp;return; - } - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = (+_sqlite3_value_double($23)); - HEAPF64[$r>>3] = $24; - $25 = HEAP32[$n>>2]|0; - $26 = ($25|0)==(0); - $27 = +HEAPF64[$r>>3]; - $28 = $27 >= 0.0; - $or$cond = $26 & $28; - $29 = +HEAPF64[$r>>3]; - $30 = $29 < 9.2233720368547758E+18; - $or$cond3 = $or$cond & $30; - do { - if ($or$cond3) { - $31 = +HEAPF64[$r>>3]; - $32 = $31 + 0.5; - $33 = (~~$32)>>>0; - $34 = +Math_abs($32) >= 1.0 ? $32 > 0.0 ? (Math_min(+Math_floor($32 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($32 - +(~~$32 >>> 0)) / 4294967296.0) >>> 0 : 0; - $35 = (+($33>>>0)) + (4294967296.0*(+($34|0))); - HEAPF64[$r>>3] = $35; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 12|0); + HEAP32[$26>>2] = 0; + $27 = HEAP32[$pPager>>2]|0; + $28 = (_pagerUseWal($27)|0); + $29 = ($28|0)!=(0); + $30 = HEAP32[$2>>2]|0; + if ($29) { + $31 = (_subjRequiresPage($30)|0); + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$2>>2]|0; + $34 = (_subjournalPage($33)|0); + HEAP32[$rc>>2] = $34; + } + $35 = HEAP32[$rc>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $37 = HEAP32[$pPager>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = (_pagerWalFrames($37,$38,0,0)|0); + HEAP32[$rc>>2] = $39; + } + } else { + $40 = ((($30)) + 24|0); + $41 = HEAP16[$40>>1]|0; + $42 = $41&65535; + $43 = $42 & 4; + $44 = ($43|0)!=(0); + if ($44) { + label = 14; } else { - $36 = HEAP32[$n>>2]|0; - $37 = ($36|0)==(0); - $38 = +HEAPF64[$r>>3]; - $39 = $38 < 0.0; - $or$cond5 = $37 & $39; - if ($or$cond5) { - $40 = +HEAPF64[$r>>3]; - $41 = -$40; - $42 = $41 < 9.2233720368547758E+18; - if ($42) { - $43 = +HEAPF64[$r>>3]; - $44 = -$43; - $45 = $44 + 0.5; - $46 = (~~$45)>>>0; - $47 = +Math_abs($45) >= 1.0 ? $45 > 0.0 ? (Math_min(+Math_floor($45 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($45 - +(~~$45 >>> 0)) / 4294967296.0) >>> 0 : 0; - $48 = (+($46>>>0)) + (4294967296.0*(+($47|0))); - $49 = -$48; - HEAPF64[$r>>3] = $49; - break; - } + $45 = HEAP32[$pPager>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = ($48|0)==(3); + if ($49) { + label = 14; } - $50 = HEAP32[$n>>2]|0; - $51 = +HEAPF64[$r>>3]; - HEAP32[$vararg_buffer>>2] = $50; - $vararg_ptr6 = (($vararg_buffer) + 4|0); - HEAPF64[tempDoublePtr>>3]=$51;HEAP32[$vararg_ptr6>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_ptr6+4>>2]=HEAP32[tempDoublePtr+4>>2]; - $52 = (_sqlite3_mprintf(9848,$vararg_buffer)|0); - HEAP32[$zBuf>>2] = $52; - $53 = HEAP32[$zBuf>>2]|0; - $54 = ($53|0)==(0|0); - if (!($54)) { - $56 = HEAP32[$zBuf>>2]|0; - $57 = HEAP32[$zBuf>>2]|0; - $58 = (_sqlite3Strlen30($57)|0); - (_sqlite3AtoF($56,$r,$58,1)|0); - $59 = HEAP32[$zBuf>>2]|0; - _sqlite3_free($59); - break; + } + if ((label|0) == 14) { + $50 = HEAP32[$pPager>>2]|0; + $51 = (_syncJournal($50,1)|0); + HEAP32[$rc>>2] = $51; + } + $52 = HEAP32[$rc>>2]|0; + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 20|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$pPager>>2]|0; + $58 = ((($57)) + 24|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($56>>>0)>($59>>>0); + if ($60) { + $61 = HEAP32[$2>>2]|0; + $62 = (_subjRequiresPage($61)|0); + $63 = ($62|0)!=(0); + if ($63) { + $64 = HEAP32[$2>>2]|0; + $65 = (_subjournalPage($64)|0); + HEAP32[$rc>>2] = $65; + } } - $55 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($55); - STACKTOP = sp;return; } - } while(0); - $60 = HEAP32[$0>>2]|0; - $61 = +HEAPF64[$r>>3]; - _sqlite3_result_double($60,$61); - STACKTOP = sp;return; + $66 = HEAP32[$rc>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$pPager>>2]|0; + $69 = HEAP32[$2>>2]|0; + $70 = (_pager_write_pagelist($68,$69)|0); + HEAP32[$rc>>2] = $70; + } + } + $71 = HEAP32[$rc>>2]|0; + $72 = ($71|0)==(0); + if ($72) { + $73 = HEAP32[$2>>2]|0; + _sqlite3PcacheMakeClean($73); + } + $74 = HEAP32[$pPager>>2]|0; + $75 = HEAP32[$rc>>2]|0; + $76 = (_pager_error($74,$75)|0); + HEAP32[$0>>2] = $76; + $77 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($77|0); } -function _upperFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _sqlite3PcacheOpen($szPage,$szExtra,$bPurgeable,$xStress,$pStress,$p) { + $szPage = $szPage|0; + $szExtra = $szExtra|0; + $bPurgeable = $bPurgeable|0; + $xStress = $xStress|0; + $pStress = $pStress|0; + $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $z1 = sp + 12|0; - $z2 = sp + 8|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + HEAP32[$0>>2] = $szPage; + HEAP32[$1>>2] = $szExtra; + HEAP32[$2>>2] = $bPurgeable; + HEAP32[$3>>2] = $xStress; + HEAP32[$4>>2] = $pStress; + HEAP32[$5>>2] = $p; + $6 = HEAP32[$5>>2]|0; + dest=$6; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $7 = HEAP32[$5>>2]|0; + $8 = ((($7)) + 20|0); + HEAP32[$8>>2] = 1; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$5>>2]|0; + $11 = ((($10)) + 24|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$2>>2]|0; + $13 = $12&255; + $14 = HEAP32[$5>>2]|0; + $15 = ((($14)) + 28|0); + HEAP8[$15>>0] = $13; + $16 = HEAP32[$5>>2]|0; + $17 = ((($16)) + 29|0); + HEAP8[$17>>0] = 2; + $18 = HEAP32[$3>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 32|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = ((($22)) + 36|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$5>>2]|0; + $25 = ((($24)) + 16|0); + HEAP32[$25>>2] = 100; + $26 = HEAP32[$5>>2]|0; + $27 = HEAP32[$0>>2]|0; + $28 = (_sqlite3PcacheSetPageSize($26,$27)|0); + STACKTOP = sp;return ($28|0); +} +function _subjRequiresPage($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pPager = 0, $pgno = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $pPager = sp + 12|0; + $p = sp + 8|0; + $pgno = sp + 4|0; + $i = sp; + HEAP32[$1>>2] = $pPg; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z2>>2] = $5; - $6 = HEAP32[$2>>2]|0; + HEAP32[$pPager>>2] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 20|0); $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$z2>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$n>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_i64Add(($12|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($11,$15,$16)|0); - HEAP32[$z1>>2] = $17; - $18 = HEAP32[$z1>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; - } + HEAP32[$pgno>>2] = $7; HEAP32[$i>>2] = 0; while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { + $8 = HEAP32[$i>>2]|0; + $9 = HEAP32[$pPager>>2]|0; + $10 = ((($9)) + 96|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + if (!($12)) { + label = 7; break; } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$z2>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$z2>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (1224 + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = $35 & 32; - $37 = $36 ^ -1; - $38 = $27 & $37; - $39 = $38&255; - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$z1>>2]|0; - $42 = (($41) + ($40)|0); - HEAP8[$42>>0] = $39; - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$pPager>>2]|0; + $15 = ((($14)) + 92|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + (($13*48)|0)|0); + HEAP32[$p>>2] = $17; + $18 = HEAP32[$p>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$pgno>>2]|0; + $22 = ($20>>>0)>=($21>>>0); + if ($22) { + $23 = HEAP32[$p>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$pgno>>2]|0; + $27 = (_sqlite3BitvecTest($25,$26)|0); + $28 = (0)==($27|0); + if ($28) { + label = 5; + break; + } + } + $29 = HEAP32[$i>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$i>>2] = $30; } - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$z1>>2]|0; - $47 = HEAP32[$n>>2]|0; - _sqlite3_result_text($45,$46,$47,13); - STACKTOP = sp;return; + if ((label|0) == 5) { + HEAP32[$0>>2] = 1; + $31 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($31|0); + } + else if ((label|0) == 7) { + HEAP32[$0>>2] = 0; + $31 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($31|0); + } + return (0)|0; } -function _lowerFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _subjournalPage($pPg) { + $pPg = $pPg|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0; - var $z1 = 0, $z2 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $offset = 0, $pData = 0, $pData2 = 0, $pPager = 0, $rc = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $z1 = sp + 12|0; - $z2 = sp + 8|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; + $rc = sp + 20|0; + $pPager = sp + 16|0; + $pData = sp + 12|0; + $offset = sp; + $pData2 = sp + 8|0; + HEAP32[$0>>2] = $pPg; + HEAP32[$rc>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z2>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$z2>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$n>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_i64Add(($12|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($11,$15,$16)|0); - HEAP32[$z1>>2] = $17; - $18 = HEAP32[$z1>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { - break; + HEAP32[$pPager>>2] = $3; + $4 = HEAP32[$pPager>>2]|0; + $5 = ((($4)) + 5|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)!=(2); + if ($8) { + $9 = HEAP32[$pPager>>2]|0; + $10 = (_openSubJournal($9)|0); + HEAP32[$rc>>2] = $10; + $11 = HEAP32[$rc>>2]|0; + $12 = ($11|0)==(0); + if ($12) { + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$pData>>2] = $15; + $16 = HEAP32[$pPager>>2]|0; + $17 = ((($16)) + 52|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$pPager>>2]|0; + $20 = ((($19)) + 152|0); + $21 = HEAP32[$20>>2]|0; + $22 = (4 + ($21))|0; + $23 = ($22|0)<(0); + $24 = $23 << 31 >> 31; + $25 = (___muldi3(($18|0),0,($22|0),($24|0))|0); + $26 = tempRet0; + $27 = $offset; + $28 = $27; + HEAP32[$28>>2] = $25; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = HEAP32[$pData>>2]|0; + HEAP32[$pData2>>2] = $31; + $32 = HEAP32[$pPager>>2]|0; + $33 = ((($32)) + 68|0); + $34 = HEAP32[$33>>2]|0; + $35 = $offset; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$0>>2]|0; + $42 = ((($41)) + 20|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_write32bits($34,$37,$40,$43)|0); + HEAP32[$rc>>2] = $44; + $45 = HEAP32[$rc>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$pPager>>2]|0; + $48 = ((($47)) + 68|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$pData2>>2]|0; + $51 = HEAP32[$pPager>>2]|0; + $52 = ((($51)) + 152|0); + $53 = HEAP32[$52>>2]|0; + $54 = $offset; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (_i64Add(($56|0),($59|0),4,0)|0); + $61 = tempRet0; + $62 = (_sqlite3OsWrite($49,$50,$53,$60,$61)|0); + HEAP32[$rc>>2] = $62; + } } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$z2>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (440 + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$z1>>2]|0; - $32 = (($31) + ($30)|0); - HEAP8[$32>>0] = $29; - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$i>>2] = $34; } - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$z1>>2]|0; - $37 = HEAP32[$n>>2]|0; - _sqlite3_result_text($35,$36,$37,13); - STACKTOP = sp;return; -} -function _versionFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_libversion()|0); - _sqlite3_result_text($3,$4,-1,0); - STACKTOP = sp;return; + $63 = HEAP32[$rc>>2]|0; + $64 = ($63|0)==(0); + if (!($64)) { + $74 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($74|0); + } + $65 = HEAP32[$pPager>>2]|0; + $66 = ((($65)) + 52|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = HEAP32[$pPager>>2]|0; + $70 = HEAP32[$0>>2]|0; + $71 = ((($70)) + 20|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_addToSavepointBitvecs($69,$72)|0); + HEAP32[$rc>>2] = $73; + $74 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($74|0); } -function _hexFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _pagerWalFrames($pPager,$pList,$nTruncate,$isCommit) { + $pPager = $pPager|0; + $pList = $pList|0; + $nTruncate = $nTruncate|0; + $isCommit = $isCommit|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $n = 0, $pBlob = 0, $z = 0, $zHex = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $nList = 0, $p = 0, $p1 = 0, $ppNext = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $i = sp + 16|0; - $n = sp + 12|0; - $pBlob = sp + 8|0; - $zHex = sp + 4|0; - $z = sp; - $c = sp + 32|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $rc = sp + 32|0; + $nList = sp; + $p = sp + 12|0; + $ppNext = sp + 24|0; + $p1 = sp + 20|0; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $pList; + HEAP32[$2>>2] = $nTruncate; + HEAP32[$3>>2] = $isCommit; $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_blob($4)|0); - HEAP32[$pBlob>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$n>>2]|0; - $11 = ($10|0)<(0); - $12 = $11 << 31 >> 31; - $13 = (___muldi3(($10|0),($12|0),2,0)|0); - $14 = tempRet0; - $15 = (_i64Add(($13|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($9,$15,$16)|0); - HEAP32[$zHex>>2] = $17; - HEAP32[$z>>2] = $17; - $18 = HEAP32[$zHex>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; + $5 = ($4|0)!=(0); + L1: do { + if ($5) { + HEAP32[$ppNext>>2] = $1; + HEAP32[$nList>>2] = 0; + $6 = HEAP32[$1>>2]|0; + HEAP32[$p>>2] = $6; + while(1) { + $7 = HEAP32[$p>>2]|0; + $8 = HEAP32[$ppNext>>2]|0; + HEAP32[$8>>2] = $7; + $9 = ($7|0)!=(0|0); + if (!($9)) { + break L1; + } + $10 = HEAP32[$p>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ($12>>>0)<=($13>>>0); + if ($14) { + $15 = HEAP32[$p>>2]|0; + $16 = ((($15)) + 12|0); + HEAP32[$ppNext>>2] = $16; + $17 = HEAP32[$nList>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$nList>>2] = $18; + } + $19 = HEAP32[$p>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$p>>2] = $21; + } + } else { + HEAP32[$nList>>2] = 1; + } + } while(0); + $22 = HEAP32[$nList>>2]|0; + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 184|0); + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($26) + ($22))|0; + HEAP32[$25>>2] = $27; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 20|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(1); + if ($31) { + $32 = HEAP32[$1>>2]|0; + _pager_write_changecounter($32); } - HEAP32[$i>>2] = 0; + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 208|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 152|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$1>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$3>>2]|0; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 10|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = (_sqlite3WalFrames($35,$38,$39,$40,$41,$45)|0); + HEAP32[$rc>>2] = $46; + $47 = HEAP32[$rc>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + $68 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($68|0); + } + $49 = HEAP32[$0>>2]|0; + $50 = ((($49)) + 88|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)!=(0|0); + if (!($52)) { + $68 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($68|0); + } + $53 = HEAP32[$1>>2]|0; + HEAP32[$p1>>2] = $53; while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { + $54 = HEAP32[$p1>>2]|0; + $55 = ($54|0)!=(0|0); + if (!($55)) { break; } - $23 = HEAP32[$pBlob>>2]|0; - $24 = HEAP8[$23>>0]|0; - HEAP8[$c>>0] = $24; - $25 = HEAP8[$c>>0]|0; - $26 = $25&255; - $27 = $26 >> 4; - $28 = $27 & 15; - $29 = (9824 + ($28)|0); - $30 = HEAP8[$29>>0]|0; - $31 = HEAP32[$z>>2]|0; - $32 = (($31) + 1|0); - HEAP32[$z>>2] = $32; - HEAP8[$31>>0] = $30; - $33 = HEAP8[$c>>0]|0; - $34 = $33&255; - $35 = $34 & 15; - $36 = (9824 + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = HEAP32[$z>>2]|0; - $39 = (($38) + 1|0); - HEAP32[$z>>2] = $39; - HEAP8[$38>>0] = $37; - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + 1)|0; - HEAP32[$i>>2] = $41; - $42 = HEAP32[$pBlob>>2]|0; - $43 = (($42) + 1|0); - HEAP32[$pBlob>>2] = $43; - } - $44 = HEAP32[$z>>2]|0; - HEAP8[$44>>0] = 0; - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$zHex>>2]|0; - $47 = HEAP32[$n>>2]|0; - $48 = $47<<1; - _sqlite3_result_text($45,$46,$48,13); - STACKTOP = sp;return; -} -function _randomFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $r = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - _sqlite3_randomness(8,$r); - $3 = $r; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + 4)|0; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)<(0); - if ($9) { - $10 = $r; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $15 & 2147483647; - $17 = (_i64Subtract(0,0,($12|0),($16|0))|0); - $18 = tempRet0; - $19 = $r; - $20 = $19; - HEAP32[$20>>2] = $17; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $18; - } - $23 = HEAP32[$0>>2]|0; - $24 = $r; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - _sqlite3_result_int64($23,$26,$29); - STACKTOP = sp;return; -} -function _randomBlob($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $n = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $n = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - HEAP32[$n>>2] = $5; - $6 = HEAP32[$n>>2]|0; - $7 = ($6|0)<(1); - $$ = $7 ? 1 : $5; - HEAP32[$n>>2] = $$; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$n>>2]|0; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = (_contextMalloc($8,$9,$11)|0); - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 88|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$p1>>2]|0; + $60 = ((($59)) + 20|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$p1>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + _sqlite3BackupUpdate($58,$61,$64); + $65 = HEAP32[$p1>>2]|0; + $66 = ((($65)) + 12|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$p1>>2] = $67; } - $15 = HEAP32[$n>>2]|0; - $16 = HEAP32[$p>>2]|0; - _sqlite3_randomness($15,$16); - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$p>>2]|0; - $19 = HEAP32[$n>>2]|0; - _sqlite3_result_blob($17,$18,$19,13); - STACKTOP = sp;return; + $68 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($68|0); } -function _nullifFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pColl = 0, label = 0, sp = 0; +function _syncJournal($pPager,$newHdr) { + $pPager = $pPager|0; + $newHdr = $newHdr|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aMagic = 0, $iDc = 0, $iNextHdrOffset = 0, $or$cond = 0, $rc = 0, $zHeader = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 24|0; $1 = sp + 8|0; - $2 = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3GetFuncCollSeq($3)|0); - HEAP32[$pColl>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$pColl>>2]|0; - $11 = (_sqlite3MemCompare($6,$9,$10)|0); - $12 = ($11|0)!=(0); - if (!($12)) { - STACKTOP = sp;return; + $2 = sp + 16|0; + $rc = sp + 20|0; + $iDc = sp + 12|0; + $iNextHdrOffset = sp; + $aMagic = sp + 40|0; + $zHeader = sp + 28|0; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $newHdr; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3PagerExclusiveLock($3)|0); + HEAP32[$rc>>2] = $4; + $5 = HEAP32[$rc>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $7; + $169 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($169|0); } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - _sqlite3_result_value($13,$15); - STACKTOP = sp;return; -} -function _sourceidFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_sourceid()|0); - _sqlite3_result_text($3,$4,-1,0); - STACKTOP = sp;return; -} -function _errlogFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$vararg_buffer>>2] = $9; - _sqlite3_log($5,1200,$vararg_buffer); - STACKTOP = sp;return; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 7|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)!=(0); + do { + if (!($11)) { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 64|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 5|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($20|0)!=(4); + if ($21) { + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 60|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_sqlite3OsDeviceCharacteristics($24)|0); + HEAP32[$iDc>>2] = $25; + $26 = HEAP32[$iDc>>2]|0; + $27 = $26 & 512; + $28 = (0)==($27|0); + if ($28) { + ;HEAP8[$zHeader>>0]=HEAP8[17420>>0]|0;HEAP8[$zHeader+1>>0]=HEAP8[17420+1>>0]|0;HEAP8[$zHeader+2>>0]=HEAP8[17420+2>>0]|0;HEAP8[$zHeader+3>>0]=HEAP8[17420+3>>0]|0;HEAP8[$zHeader+4>>0]=HEAP8[17420+4>>0]|0;HEAP8[$zHeader+5>>0]=HEAP8[17420+5>>0]|0;HEAP8[$zHeader+6>>0]=HEAP8[17420+6>>0]|0;HEAP8[$zHeader+7>>0]=HEAP8[17420+7>>0]|0; + $29 = ((($zHeader)) + 8|0); + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 44|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3Put4byte($29,$32); + $33 = HEAP32[$1>>2]|0; + $34 = (_journalHdrOffset($33)|0); + $35 = tempRet0; + $36 = $iNextHdrOffset; + $37 = $36; + HEAP32[$37>>2] = $34; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = $35; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 64|0); + $42 = HEAP32[$41>>2]|0; + $43 = $iNextHdrOffset; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (_sqlite3OsRead($42,$aMagic,8,$45,$48)|0); + HEAP32[$rc>>2] = $49; + $50 = HEAP32[$rc>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $52 = (_memcmp($aMagic,17420,8)|0); + $53 = (0)==($52|0); + if ($53) { + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 64|0); + $56 = HEAP32[$55>>2]|0; + $57 = $iNextHdrOffset; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (_sqlite3OsWrite($56,17605,1,$59,$62)|0); + HEAP32[$rc>>2] = $63; + } + } + $64 = HEAP32[$rc>>2]|0; + $65 = ($64|0)!=(0); + $66 = HEAP32[$rc>>2]|0; + $67 = ($66|0)!=(522); + $or$cond = $65 & $67; + if ($or$cond) { + $68 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $68; + $169 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($169|0); + } + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 8|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($72|0)!=(0); + if ($73) { + $74 = HEAP32[$iDc>>2]|0; + $75 = $74 & 1024; + $76 = (0)==($75|0); + if ($76) { + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 64|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 11|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = (_sqlite3OsSync($79,$83)|0); + HEAP32[$rc>>2] = $84; + $85 = HEAP32[$rc>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $87; + $169 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($169|0); + } + } + } + $88 = HEAP32[$1>>2]|0; + $89 = ((($88)) + 64|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$1>>2]|0; + $92 = ((($91)) + 80|0); + $93 = $92; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (_sqlite3OsWrite($90,$zHeader,12,$95,$98)|0); + HEAP32[$rc>>2] = $99; + $100 = HEAP32[$rc>>2]|0; + $101 = ($100|0)!=(0); + if ($101) { + $102 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $102; + $169 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($169|0); + } + } + $103 = HEAP32[$iDc>>2]|0; + $104 = $103 & 1024; + $105 = (0)==($104|0); + if ($105) { + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 64|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$1>>2]|0; + $110 = ((($109)) + 11|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = HEAP32[$1>>2]|0; + $114 = ((($113)) + 11|0); + $115 = HEAP8[$114>>0]|0; + $116 = $115&255; + $117 = ($116|0)==(3); + $118 = $117 ? 16 : 0; + $119 = $112 | $118; + $120 = (_sqlite3OsSync($108,$119)|0); + HEAP32[$rc>>2] = $120; + $121 = HEAP32[$rc>>2]|0; + $122 = ($121|0)!=(0); + if ($122) { + $123 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $123; + $169 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($169|0); + } + } + $124 = HEAP32[$1>>2]|0; + $125 = ((($124)) + 72|0); + $126 = $125; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (($126) + 4)|0; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$1>>2]|0; + $133 = ((($132)) + 80|0); + $134 = $133; + $135 = $134; + HEAP32[$135>>2] = $128; + $136 = (($134) + 4)|0; + $137 = $136; + HEAP32[$137>>2] = $131; + $138 = HEAP32[$2>>2]|0; + $139 = ($138|0)!=(0); + if (!($139)) { + break; + } + $140 = HEAP32[$iDc>>2]|0; + $141 = $140 & 512; + $142 = (0)==($141|0); + if (!($142)) { + break; + } + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 44|0); + HEAP32[$144>>2] = 0; + $145 = HEAP32[$1>>2]|0; + $146 = (_writeJournalHdr($145)|0); + HEAP32[$rc>>2] = $146; + $147 = HEAP32[$rc>>2]|0; + $148 = ($147|0)!=(0); + if (!($148)) { + break; + } + $149 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $149; + $169 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($169|0); + } + } + $150 = HEAP32[$1>>2]|0; + $151 = ((($150)) + 72|0); + $152 = $151; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = HEAP32[$1>>2]|0; + $159 = ((($158)) + 80|0); + $160 = $159; + $161 = $160; + HEAP32[$161>>2] = $154; + $162 = (($160) + 4)|0; + $163 = $162; + HEAP32[$163>>2] = $157; + } + } while(0); + $164 = HEAP32[$1>>2]|0; + $165 = ((($164)) + 204|0); + $166 = HEAP32[$165>>2]|0; + _sqlite3PcacheClearSyncFlags($166); + $167 = HEAP32[$1>>2]|0; + $168 = ((($167)) + 16|0); + HEAP8[$168>>0] = 4; + HEAP32[$0>>2] = 0; + $169 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($169|0); } -function _compileoptionusedFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $zOptName = 0, label = 0, sp = 0; +function _pager_write_pagelist($pPager,$pList) { + $pPager = $pPager|0; + $pList = $pList|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $offset = 0, $pData = 0, $pgno = 0, $rc = 0, $szFile = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $zOptName = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 20|0; + $rc = sp + 32|0; + $szFile = sp + 8|0; + $pgno = sp + 24|0; + $offset = sp; + $pData = sp + 16|0; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $pList; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 60|0); $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zOptName>>2] = $5; + $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); if (!($6)) { - STACKTOP = sp;return; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 60|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 144|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_pagerOpentemp($7,$10,$13)|0); + HEAP32[$rc>>2] = $14; } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$zOptName>>2]|0; - $9 = (_sqlite3_compileoption_used($8)|0); - _sqlite3_result_int($7,$9); - STACKTOP = sp;return; -} -function _compileoptiongetFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - HEAP32[$n>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$n>>2]|0; - $8 = (_sqlite3_compileoption_get($7)|0); - _sqlite3_result_text($6,$8,-1,0); - STACKTOP = sp;return; -} -function _quoteFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $i1 = 0, $j = 0, $n = 0, $nBlob = 0, $r1 = 0, $r2 = 0, $vararg_buffer1 = 0, $z = 0; - var $zArg = 0, $zBlob = 0, $zBuf = 0, $zText = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer1 = sp + 24|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $r1 = sp + 16|0; - $r2 = sp + 8|0; - $zBuf = sp + 76|0; - $zText = sp + 60|0; - $zBlob = sp + 56|0; - $nBlob = sp + 52|0; - $i = sp + 48|0; - $i1 = sp + 44|0; - $j = sp + 40|0; - $n = sp; - $zArg = sp + 36|0; - $z = sp + 32|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - if ((($5|0) == 2)) { - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (+_sqlite3_value_double($7)); - HEAPF64[$r1>>3] = $8; - $9 = +HEAPF64[$r1>>3]; - HEAPF64[tempDoublePtr>>3]=$9;HEAP32[$vararg_buffer1>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer1+4>>2]=HEAP32[tempDoublePtr+4>>2]; - (_sqlite3_snprintf(50,$zBuf,9808,$vararg_buffer1)|0); - (_sqlite3AtoF($zBuf,$r2,20,1)|0); - $10 = +HEAPF64[$r1>>3]; - $11 = +HEAPF64[$r2>>3]; - $12 = $10 != $11; - if ($12) { - $13 = +HEAPF64[$r1>>3]; - HEAPF64[tempDoublePtr>>3]=$13;HEAP32[$vararg_buffer1>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer1+4>>2]=HEAP32[tempDoublePtr+4>>2]; - (_sqlite3_snprintf(50,$zBuf,9816,$vararg_buffer1)|0); - } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,$zBuf,-1,(-1)); - STACKTOP = sp;return; - } else if ((($5|0) == 1)) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$16>>2]|0; - _sqlite3_result_value($15,$17); - STACKTOP = sp;return; - } else if ((($5|0) == 4)) { - HEAP32[$zText>>2] = 0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_blob($19)|0); - HEAP32[$zBlob>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3_value_bytes($22)|0); - HEAP32[$nBlob>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$nBlob>>2]|0; - $26 = ($25|0)<(0); - $27 = $26 << 31 >> 31; - $28 = (___muldi3(2,0,($25|0),($27|0))|0); - $29 = tempRet0; - $30 = (_i64Add(($28|0),($29|0),4,0)|0); - $31 = tempRet0; - $32 = (_contextMalloc($24,$30,$31)|0); - HEAP32[$zText>>2] = $32; - $33 = HEAP32[$zText>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$nBlob>>2]|0; - $37 = ($35|0)<($36|0); - if (!($37)) { - break; - } - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$zBlob>>2]|0; - $40 = (($39) + ($38)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = $42 >> 4; - $44 = $43 & 15; - $45 = (9824 + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = HEAP32[$i>>2]|0; - $48 = $47<<1; - $49 = (($48) + 2)|0; - $50 = HEAP32[$zText>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $46; - $52 = HEAP32[$i>>2]|0; - $53 = HEAP32[$zBlob>>2]|0; - $54 = (($53) + ($52)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55 << 24 >> 24; - $57 = $56 & 15; - $58 = (9824 + ($57)|0); - $59 = HEAP8[$58>>0]|0; - $60 = HEAP32[$i>>2]|0; - $61 = $60<<1; - $62 = (($61) + 3)|0; - $63 = HEAP32[$zText>>2]|0; - $64 = (($63) + ($62)|0); - HEAP8[$64>>0] = $59; - $65 = HEAP32[$i>>2]|0; - $66 = (($65) + 1)|0; - HEAP32[$i>>2] = $66; - } - $67 = HEAP32[$nBlob>>2]|0; - $68 = $67<<1; - $69 = (($68) + 2)|0; - $70 = HEAP32[$zText>>2]|0; - $71 = (($70) + ($69)|0); - HEAP8[$71>>0] = 39; - $72 = HEAP32[$nBlob>>2]|0; - $73 = $72<<1; - $74 = (($73) + 3)|0; - $75 = HEAP32[$zText>>2]|0; - $76 = (($75) + ($74)|0); - HEAP8[$76>>0] = 0; - $77 = HEAP32[$zText>>2]|0; - HEAP8[$77>>0] = 88; - $78 = HEAP32[$zText>>2]|0; - $79 = (($78) + 1|0); - HEAP8[$79>>0] = 39; - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$zText>>2]|0; - _sqlite3_result_text($80,$81,-1,(-1)); - $82 = HEAP32[$zText>>2]|0; - _sqlite3_free($82); - STACKTOP = sp;return; - } else if ((($5|0) == 3)) { - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3_value_text($84)|0); - HEAP32[$zArg>>2] = $85; - $86 = HEAP32[$zArg>>2]|0; - $87 = ($86|0)==(0|0); - if ($87) { - STACKTOP = sp;return; - } - HEAP32[$i1>>2] = 0; - $88 = $n; - $89 = $88; - HEAP32[$89>>2] = 0; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = 0; - while(1) { - $92 = HEAP32[$i1>>2]|0; - $93 = HEAP32[$zArg>>2]|0; - $94 = (($93) + ($92)|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)!=(0); - if (!($96)) { - break; - } - $97 = HEAP32[$i1>>2]|0; - $98 = HEAP32[$zArg>>2]|0; - $99 = (($98) + ($97)|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100&255; - $102 = ($101|0)==(39); - if ($102) { - $103 = $n; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (_i64Add(($105|0),($108|0),1,0)|0); - $110 = tempRet0; - $111 = $n; - $112 = $111; - HEAP32[$112>>2] = $109; - $113 = (($111) + 4)|0; - $114 = $113; - HEAP32[$114>>2] = $110; + $15 = HEAP32[$rc>>2]|0; + $16 = ($15|0)==(0); + do { + if ($16) { + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19>>>0)<($22>>>0); + if ($23) { + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 20|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$0>>2]|0; + $32 = ((($31)) + 36|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($30>>>0)>($33>>>0); + if (!($34)) { + break; + } + } + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 152|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)<(0); + $39 = $38 << 31 >> 31; + $40 = HEAP32[$0>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = (___muldi3(($37|0),($39|0),($42|0),0)|0); + $44 = tempRet0; + $45 = $szFile; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + $49 = HEAP32[$0>>2]|0; + $50 = ((($49)) + 60|0); + $51 = HEAP32[$50>>2]|0; + _sqlite3OsFileControlHint($51,5,$szFile); + $52 = HEAP32[$0>>2]|0; + $53 = ((($52)) + 24|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$0>>2]|0; + $56 = ((($55)) + 36|0); + HEAP32[$56>>2] = $54; } - $115 = HEAP32[$i1>>2]|0; - $116 = (($115) + 1)|0; - HEAP32[$i1>>2] = $116; } - $117 = HEAP32[$0>>2]|0; - $118 = HEAP32[$i1>>2]|0; - $119 = ($118|0)<(0); - $120 = $119 << 31 >> 31; - $121 = $n; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (($121) + 4)|0; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (_i64Add(($118|0),($120|0),($123|0),($126|0))|0); - $128 = tempRet0; - $129 = (_i64Add(($127|0),($128|0),3,0)|0); - $130 = tempRet0; - $131 = (_contextMalloc($117,$129,$130)|0); - HEAP32[$z>>2] = $131; - $132 = HEAP32[$z>>2]|0; - $133 = ($132|0)!=(0|0); - if (!($133)) { - STACKTOP = sp;return; + } while(0); + while(1) { + $57 = HEAP32[$rc>>2]|0; + $58 = ($57|0)==(0); + $59 = HEAP32[$1>>2]|0; + $60 = ($59|0)!=(0|0); + $61 = $58 ? $60 : 0; + if (!($61)) { + break; } - $134 = HEAP32[$z>>2]|0; - HEAP8[$134>>0] = 39; - HEAP32[$i1>>2] = 0; - HEAP32[$j>>2] = 1; - while(1) { - $135 = HEAP32[$i1>>2]|0; - $136 = HEAP32[$zArg>>2]|0; - $137 = (($136) + ($135)|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138<<24>>24)!=(0); - if (!($139)) { - break; - } - $140 = HEAP32[$i1>>2]|0; - $141 = HEAP32[$zArg>>2]|0; - $142 = (($141) + ($140)|0); - $143 = HEAP8[$142>>0]|0; - $144 = HEAP32[$j>>2]|0; - $145 = (($144) + 1)|0; - HEAP32[$j>>2] = $145; - $146 = HEAP32[$z>>2]|0; - $147 = (($146) + ($144)|0); - HEAP8[$147>>0] = $143; - $148 = HEAP32[$i1>>2]|0; - $149 = HEAP32[$zArg>>2]|0; - $150 = (($149) + ($148)|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = ($152|0)==(39); - if ($153) { - $154 = HEAP32[$j>>2]|0; - $155 = (($154) + 1)|0; - HEAP32[$j>>2] = $155; - $156 = HEAP32[$z>>2]|0; - $157 = (($156) + ($154)|0); - HEAP8[$157>>0] = 39; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$pgno>>2] = $64; + $65 = HEAP32[$pgno>>2]|0; + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($65>>>0)<=($68>>>0); + if ($69) { + $70 = HEAP32[$1>>2]|0; + $71 = ((($70)) + 24|0); + $72 = HEAP16[$71>>1]|0; + $73 = $72&65535; + $74 = $73 & 32; + $75 = (0)==($74|0); + if ($75) { + $76 = HEAP32[$pgno>>2]|0; + $77 = (($76) - 1)|0; + $78 = HEAP32[$0>>2]|0; + $79 = ((($78)) + 152|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)<(0); + $82 = $81 << 31 >> 31; + $83 = (___muldi3(($77|0),0,($80|0),($82|0))|0); + $84 = tempRet0; + $85 = $offset; + $86 = $85; + HEAP32[$86>>2] = $83; + $87 = (($85) + 4)|0; + $88 = $87; + HEAP32[$88>>2] = $84; + $89 = HEAP32[$1>>2]|0; + $90 = ((($89)) + 20|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)==(1); + if ($92) { + $93 = HEAP32[$1>>2]|0; + _pager_write_changecounter($93); + } + $94 = HEAP32[$1>>2]|0; + $95 = ((($94)) + 4|0); + $96 = HEAP32[$95>>2]|0; + HEAP32[$pData>>2] = $96; + $97 = HEAP32[$0>>2]|0; + $98 = ((($97)) + 60|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$pData>>2]|0; + $101 = HEAP32[$0>>2]|0; + $102 = ((($101)) + 152|0); + $103 = HEAP32[$102>>2]|0; + $104 = $offset; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (($104) + 4)|0; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (_sqlite3OsWrite($99,$100,$103,$106,$109)|0); + HEAP32[$rc>>2] = $110; + $111 = HEAP32[$pgno>>2]|0; + $112 = ($111|0)==(1); + if ($112) { + $113 = HEAP32[$0>>2]|0; + $114 = ((($113)) + 100|0); + $115 = HEAP32[$pData>>2]|0; + $116 = ((($115)) + 24|0); + dest=$114; src=$116; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + } + $117 = HEAP32[$pgno>>2]|0; + $118 = HEAP32[$0>>2]|0; + $119 = ((($118)) + 32|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($117>>>0)>($120>>>0); + if ($121) { + $122 = HEAP32[$pgno>>2]|0; + $123 = HEAP32[$0>>2]|0; + $124 = ((($123)) + 32|0); + HEAP32[$124>>2] = $122; + } + $125 = HEAP32[$0>>2]|0; + $126 = ((($125)) + 184|0); + $127 = ((($126)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + 1)|0; + HEAP32[$127>>2] = $129; + $130 = HEAP32[$0>>2]|0; + $131 = ((($130)) + 88|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$pgno>>2]|0; + $134 = HEAP32[$1>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + _sqlite3BackupUpdate($132,$133,$136); } - $158 = HEAP32[$i1>>2]|0; - $159 = (($158) + 1)|0; - HEAP32[$i1>>2] = $159; } - $160 = HEAP32[$j>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$j>>2] = $161; - $162 = HEAP32[$z>>2]|0; - $163 = (($162) + ($160)|0); - HEAP8[$163>>0] = 39; - $164 = HEAP32[$j>>2]|0; - $165 = HEAP32[$z>>2]|0; - $166 = (($165) + ($164)|0); - HEAP8[$166>>0] = 0; - $167 = HEAP32[$0>>2]|0; - $168 = HEAP32[$z>>2]|0; - $169 = HEAP32[$j>>2]|0; - _sqlite3_result_text($167,$168,$169,13); - STACKTOP = sp;return; - } else { - $170 = HEAP32[$0>>2]|0; - _sqlite3_result_text($170,9840,4,0); - STACKTOP = sp;return; + $137 = HEAP32[$1>>2]|0; + $138 = ((($137)) + 12|0); + $139 = HEAP32[$138>>2]|0; + HEAP32[$1>>2] = $139; } + $140 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($140|0); } -function _last_insert_rowid($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $db = 0, label = 0, sp = 0; +function _pagerOpentemp($pPager,$pFile,$vfsFlags) { + $pPager = $pPager|0; + $pFile = $pFile|0; + $vfsFlags = $vfsFlags|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $pFile; + HEAP32[$2>>2] = $vfsFlags; + $3 = HEAP32[$2>>2]|0; + $4 = $3 | 30; + HEAP32[$2>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_last_insert_rowid($6)|0); - $8 = tempRet0; - _sqlite3_result_int64($5,$7,$8); - STACKTOP = sp;return; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3OsOpen($6,0,$7,$8,0)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($10|0); } -function _changes($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; +function _pager_write_changecounter($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $change_counter = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_changes($6)|0); - _sqlite3_result_int($5,$7); + $0 = sp + 4|0; + $change_counter = sp; + HEAP32[$0>>2] = $pPg; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 100|0); + $5 = (_sqlite3Get4byte($4)|0); + $6 = (($5) + 1)|0; + HEAP32[$change_counter>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($9)) + 24|0); + $11 = HEAP32[$change_counter>>2]|0; + _sqlite3Put4byte($10,$11); + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 92|0); + $16 = HEAP32[$change_counter>>2]|0; + _sqlite3Put4byte($15,$16); + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 96|0); + _sqlite3Put4byte($20,3008007); STACKTOP = sp;return; } -function _total_changes($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; +function _sqlite3Put4byte($p,$v) { + $p = $p|0; + $v = $v|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $v; + $2 = HEAP32[$1>>2]|0; + $3 = $2 >>> 24; + $4 = $3&255; $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_total_changes($6)|0); - _sqlite3_result_int($5,$7); + HEAP8[$5>>0] = $4; + $6 = HEAP32[$1>>2]|0; + $7 = $6 >>> 16; + $8 = $7&255; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 1|0); + HEAP8[$10>>0] = $8; + $11 = HEAP32[$1>>2]|0; + $12 = $11 >>> 8; + $13 = $12&255; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 2|0); + HEAP8[$15>>0] = $13; + $16 = HEAP32[$1>>2]|0; + $17 = $16&255; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 3|0); + HEAP8[$19>>0] = $17; STACKTOP = sp;return; } -function _replaceFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _sqlite3PagerExclusiveLock($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$rc>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = (_pagerUseWal($1)|0); + $3 = (0)==($2|0); + if (!($3)) { + $6 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($6|0); + } + $4 = HEAP32[$0>>2]|0; + $5 = (_pager_wait_on_lock($4,4)|0); + HEAP32[$rc>>2] = $5; + $6 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($6|0); +} +function _writeJournalHdr($pPager) { + $pPager = $pPager|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $loopLimit = 0, $nOut = 0, $nPattern = 0, $nRep = 0, $nStr = 0; - var $zOld = 0, $zOut = 0, $zPattern = 0, $zRep = 0, $zStr = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ii = 0, $nHeader = 0, $nWrite = 0, $rc = 0; + var $zHeader = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $zStr = sp + 52|0; - $zPattern = sp + 48|0; - $zRep = sp + 44|0; - $zOut = sp + 40|0; - $nStr = sp + 36|0; - $nPattern = sp + 32|0; - $nRep = sp + 28|0; - $nOut = sp; - $loopLimit = sp + 24|0; - $i = sp + 20|0; - $j = sp + 16|0; - $zOld = sp + 12|0; - $db = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $rc = sp + 16|0; + $zHeader = sp + 12|0; + $nHeader = sp + 8|0; + $nWrite = sp + 4|0; + $ii = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$rc>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 200|0); $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zStr>>2] = $5; - $6 = HEAP32[$zStr>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3_value_bytes($9)|0); - HEAP32[$nStr>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_text($13)|0); - HEAP32[$zPattern>>2] = $14; - $15 = HEAP32[$zPattern>>2]|0; - $16 = ($15|0)==(0|0); - if ($16) { - STACKTOP = sp;return; - } - $17 = HEAP32[$zPattern>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(0); - if ($20) { - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - _sqlite3_result_value($21,$23); - STACKTOP = sp;return; - } - $24 = HEAP32[$2>>2]|0; - $25 = (($24) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3_value_bytes($26)|0); - HEAP32[$nPattern>>2] = $27; - $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_value_text($30)|0); - HEAP32[$zRep>>2] = $31; - $32 = HEAP32[$zRep>>2]|0; - $33 = ($32|0)==(0|0); - if ($33) { - STACKTOP = sp;return; - } - $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_sqlite3_value_bytes($36)|0); - HEAP32[$nRep>>2] = $37; - $38 = HEAP32[$nStr>>2]|0; - $39 = (($38) + 1)|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = $nOut; - $43 = $42; - HEAP32[$43>>2] = $39; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = HEAP32[$0>>2]|0; - $47 = $nOut; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (_contextMalloc($46,$49,$52)|0); - HEAP32[$zOut>>2] = $53; - $54 = HEAP32[$zOut>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - STACKTOP = sp;return; + HEAP32[$zHeader>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 152|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$nHeader>>2] = $6; + $7 = HEAP32[$nHeader>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 148|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7>>>0)>($10>>>0); + if ($11) { + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 148|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$nHeader>>2] = $14; } - $56 = HEAP32[$nStr>>2]|0; - $57 = HEAP32[$nPattern>>2]|0; - $58 = (($56) - ($57))|0; - HEAP32[$loopLimit>>2] = $58; - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; + HEAP32[$ii>>2] = 0; while(1) { - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$loopLimit>>2]|0; - $61 = ($59|0)<=($60|0); - if (!($61)) { - label = 18; + $15 = HEAP32[$ii>>2]|0; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 96|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)<($18|0); + if (!($19)) { break; } - $62 = HEAP32[$i>>2]|0; - $63 = HEAP32[$zStr>>2]|0; - $64 = (($63) + ($62)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = HEAP32[$zPattern>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = ($66|0)!=($69|0); - if ($70) { + $20 = HEAP32[$ii>>2]|0; + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 92|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + (($20*48)|0)|0); + $25 = ((($24)) + 8|0); + $26 = $25; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = ($28|0)==(0); + $33 = ($31|0)==(0); + $34 = $32 & $33; + if ($34) { + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 72|0); + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$ii>>2]|0; + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 92|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + (($43*48)|0)|0); + $48 = ((($47)) + 8|0); + $49 = $48; + $50 = $49; + HEAP32[$50>>2] = $39; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $42; + } + $53 = HEAP32[$ii>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$ii>>2] = $54; + } + $55 = HEAP32[$0>>2]|0; + $56 = (_journalHdrOffset($55)|0); + $57 = tempRet0; + $58 = HEAP32[$0>>2]|0; + $59 = ((($58)) + 72|0); + $60 = $59; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $57; + $64 = HEAP32[$0>>2]|0; + $65 = ((($64)) + 80|0); + $66 = $65; + $67 = $66; + HEAP32[$67>>2] = $56; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $57; + $70 = HEAP32[$0>>2]|0; + $71 = ((($70)) + 7|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ($73|0)!=(0); + if ($74) { + label = 11; + } else { + $75 = HEAP32[$0>>2]|0; + $76 = ((($75)) + 5|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = ($78|0)==(4); + if ($79) { label = 11; } else { - $71 = HEAP32[$i>>2]|0; - $72 = HEAP32[$zStr>>2]|0; - $73 = (($72) + ($71)|0); - $74 = HEAP32[$zPattern>>2]|0; - $75 = HEAP32[$nPattern>>2]|0; - $76 = (_memcmp($73,$74,$75)|0); - $77 = ($76|0)!=(0); - if ($77) { + $80 = HEAP32[$0>>2]|0; + $81 = ((($80)) + 60|0); + $82 = HEAP32[$81>>2]|0; + $83 = (_sqlite3OsDeviceCharacteristics($82)|0); + $84 = $83 & 512; + $85 = ($84|0)!=(0); + if ($85) { label = 11; } else { - $86 = HEAP32[$0>>2]|0; - $87 = (_sqlite3_context_db_handle($86)|0); - HEAP32[$db>>2] = $87; - $88 = HEAP32[$nRep>>2]|0; - $89 = HEAP32[$nPattern>>2]|0; - $90 = (($88) - ($89))|0; - $91 = ($90|0)<(0); - $92 = $91 << 31 >> 31; - $93 = $nOut; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (_i64Add(($95|0),($98|0),($90|0),($92|0))|0); - $100 = tempRet0; - $101 = $nOut; - $102 = $101; - HEAP32[$102>>2] = $99; - $103 = (($101) + 4)|0; - $104 = $103; - HEAP32[$104>>2] = $100; - $105 = $nOut; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (_i64Subtract(($107|0),($110|0),1,0)|0); - $112 = tempRet0; - $113 = HEAP32[$db>>2]|0; - $114 = (($113) + 88|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)<(0); - $117 = $116 << 31 >> 31; - $118 = ($112|0)>($117|0); - $119 = ($111>>>0)>($115>>>0); - $120 = ($112|0)==($117|0); - $121 = $120 & $119; - $122 = $118 | $121; - if ($122) { - label = 13; - break; - } - $125 = HEAP32[$zOut>>2]|0; - HEAP32[$zOld>>2] = $125; - $126 = HEAP32[$zOut>>2]|0; - $127 = $nOut; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = (_sqlite3_realloc($126,$129)|0); - HEAP32[$zOut>>2] = $133; - $134 = HEAP32[$zOut>>2]|0; - $135 = ($134|0)==(0|0); - if ($135) { - label = 15; - break; - } - $138 = HEAP32[$j>>2]|0; - $139 = HEAP32[$zOut>>2]|0; - $140 = (($139) + ($138)|0); - $141 = HEAP32[$zRep>>2]|0; - $142 = HEAP32[$nRep>>2]|0; - _memcpy(($140|0),($141|0),($142|0))|0; - $143 = HEAP32[$nRep>>2]|0; - $144 = HEAP32[$j>>2]|0; - $145 = (($144) + ($143))|0; - HEAP32[$j>>2] = $145; - $146 = HEAP32[$nPattern>>2]|0; - $147 = (($146) - 1)|0; - $148 = HEAP32[$i>>2]|0; - $149 = (($148) + ($147))|0; - HEAP32[$i>>2] = $149; + $89 = HEAP32[$zHeader>>2]|0; + dest=$89; stop=dest+12|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); } } - if ((label|0) == 11) { - label = 0; - $78 = HEAP32[$i>>2]|0; - $79 = HEAP32[$zStr>>2]|0; - $80 = (($79) + ($78)|0); - $81 = HEAP8[$80>>0]|0; - $82 = HEAP32[$j>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$j>>2] = $83; - $84 = HEAP32[$zOut>>2]|0; - $85 = (($84) + ($82)|0); - HEAP8[$85>>0] = $81; - } - $150 = HEAP32[$i>>2]|0; - $151 = (($150) + 1)|0; - HEAP32[$i>>2] = $151; - } - if ((label|0) == 13) { - $123 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($123); - $124 = HEAP32[$zOut>>2]|0; - _sqlite3_free($124); - STACKTOP = sp;return; - } - else if ((label|0) == 15) { - $136 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($136); - $137 = HEAP32[$zOld>>2]|0; - _sqlite3_free($137); - STACKTOP = sp;return; - } - else if ((label|0) == 18) { - $152 = HEAP32[$j>>2]|0; - $153 = HEAP32[$zOut>>2]|0; - $154 = (($153) + ($152)|0); - $155 = HEAP32[$i>>2]|0; - $156 = HEAP32[$zStr>>2]|0; - $157 = (($156) + ($155)|0); - $158 = HEAP32[$nStr>>2]|0; - $159 = HEAP32[$i>>2]|0; - $160 = (($158) - ($159))|0; - _memcpy(($154|0),($157|0),($160|0))|0; - $161 = HEAP32[$nStr>>2]|0; - $162 = HEAP32[$i>>2]|0; - $163 = (($161) - ($162))|0; - $164 = HEAP32[$j>>2]|0; - $165 = (($164) + ($163))|0; - HEAP32[$j>>2] = $165; - $166 = HEAP32[$j>>2]|0; - $167 = HEAP32[$zOut>>2]|0; - $168 = (($167) + ($166)|0); - HEAP8[$168>>0] = 0; - $169 = HEAP32[$0>>2]|0; - $170 = HEAP32[$zOut>>2]|0; - $171 = HEAP32[$j>>2]|0; - _sqlite3_result_text($169,$170,$171,13); - STACKTOP = sp;return; - } -} -function _zeroblobFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $n = sp; - $db = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_int64($6)|0); - $8 = tempRet0; - $9 = $n; - $10 = $9; - HEAP32[$10>>2] = $7; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $8; - $13 = $n; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$db>>2]|0; - $20 = (($19) + 88|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)<(0); - $23 = $22 << 31 >> 31; - $24 = ($18|0)>($23|0); - $25 = ($15>>>0)>($21>>>0); - $26 = ($18|0)==($23|0); - $27 = $26 & $25; - $28 = $24 | $27; - $29 = HEAP32[$0>>2]|0; - if ($28) { - _sqlite3_result_error_toobig($29); - STACKTOP = sp;return; - } else { - $30 = $n; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - _sqlite3_result_zeroblob($29,$32); - STACKTOP = sp;return; - } -} -function _sumStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $type = 0, $v = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $p = sp + 12|0; - $type = sp + 8|0; - $v = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_aggregate_context($3,32)|0); - HEAP32[$p>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_numeric_type($6)|0); - HEAP32[$type>>2] = $7; - $8 = HEAP32[$p>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$type>>2]|0; - $11 = ($10|0)!=(5); - $or$cond = $9 & $11; - if (!($or$cond)) { - STACKTOP = sp;return; - } - $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 16|0); - $14 = $13; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_i64Add(($16|0),($19|0),1,0)|0); - $21 = tempRet0; - $22 = $13; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = HEAP32[$type>>2]|0; - $27 = ($26|0)==(1); - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - if (!($27)) { - $68 = (+_sqlite3_value_double($29)); - $69 = HEAP32[$p>>2]|0; - $70 = +HEAPF64[$69>>3]; - $71 = $70 + $68; - HEAPF64[$69>>3] = $71; - $72 = HEAP32[$p>>2]|0; - $73 = (($72) + 25|0); - HEAP8[$73>>0] = 1; - STACKTOP = sp;return; - } - $30 = (_sqlite3_value_int64($29)|0); - $31 = tempRet0; - $32 = $v; - $33 = $32; - HEAP32[$33>>2] = $30; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = $31; - $36 = $v; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (+($38>>>0)) + (4294967296.0*(+($41|0))); - $43 = HEAP32[$p>>2]|0; - $44 = +HEAPF64[$43>>3]; - $45 = $44 + $42; - HEAPF64[$43>>3] = $45; - $46 = HEAP32[$p>>2]|0; - $47 = (($46) + 25|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = HEAP32[$p>>2]|0; - $51 = (($50) + 24|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $49 | $53; - $55 = ($54|0)==(0); - if (!($55)) { - STACKTOP = sp;return; - } - $56 = HEAP32[$p>>2]|0; - $57 = (($56) + 8|0); - $58 = $v; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (_sqlite3AddInt64($57,$60,$63)|0); - $65 = ($64|0)!=(0); - if (!($65)) { - STACKTOP = sp;return; - } - $66 = HEAP32[$p>>2]|0; - $67 = (($66) + 24|0); - HEAP8[$67>>0] = 1; - STACKTOP = sp;return; -} -function _sumFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - $14 = ($9>>>0)>(0); - $15 = ($12|0)==(0); - $16 = $15 & $14; - $17 = $13 | $16; - if (!($17)) { - STACKTOP = sp;return; } - $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 24|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)!=(0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - _sqlite3_result_error($22,9784,-1); - STACKTOP = sp;return; + if ((label|0) == 11) { + $86 = HEAP32[$zHeader>>2]|0; + ;HEAP8[$86>>0]=HEAP8[17420>>0]|0;HEAP8[$86+1>>0]=HEAP8[17420+1>>0]|0;HEAP8[$86+2>>0]=HEAP8[17420+2>>0]|0;HEAP8[$86+3>>0]=HEAP8[17420+3>>0]|0;HEAP8[$86+4>>0]=HEAP8[17420+4>>0]|0;HEAP8[$86+5>>0]=HEAP8[17420+5>>0]|0;HEAP8[$86+6>>0]=HEAP8[17420+6>>0]|0;HEAP8[$86+7>>0]=HEAP8[17420+7>>0]|0; + $87 = HEAP32[$zHeader>>2]|0; + $88 = ((($87)) + 8|0); + _sqlite3Put4byte($88,-1); } - $23 = HEAP32[$p>>2]|0; - $24 = (($23) + 25|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)!=(0); - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$p>>2]|0; - if ($26) { - $29 = +HEAPF64[$28>>3]; - _sqlite3_result_double($27,$29); - STACKTOP = sp;return; - } else { - $30 = (($28) + 8|0); - $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - _sqlite3_result_int64($27,$33,$36); - STACKTOP = sp;return; + $90 = HEAP32[$0>>2]|0; + $91 = ((($90)) + 48|0); + _sqlite3_randomness(4,$91); + $92 = HEAP32[$zHeader>>2]|0; + $93 = ((($92)) + 12|0); + $94 = HEAP32[$0>>2]|0; + $95 = ((($94)) + 48|0); + $96 = HEAP32[$95>>2]|0; + _sqlite3Put4byte($93,$96); + $97 = HEAP32[$zHeader>>2]|0; + $98 = ((($97)) + 16|0); + $99 = HEAP32[$0>>2]|0; + $100 = ((($99)) + 28|0); + $101 = HEAP32[$100>>2]|0; + _sqlite3Put4byte($98,$101); + $102 = HEAP32[$zHeader>>2]|0; + $103 = ((($102)) + 20|0); + $104 = HEAP32[$0>>2]|0; + $105 = ((($104)) + 148|0); + $106 = HEAP32[$105>>2]|0; + _sqlite3Put4byte($103,$106); + $107 = HEAP32[$zHeader>>2]|0; + $108 = ((($107)) + 24|0); + $109 = HEAP32[$0>>2]|0; + $110 = ((($109)) + 152|0); + $111 = HEAP32[$110>>2]|0; + _sqlite3Put4byte($108,$111); + $112 = HEAP32[$zHeader>>2]|0; + $113 = ((($112)) + 28|0); + $114 = HEAP32[$nHeader>>2]|0; + $115 = (($114) - 28)|0; + _memset(($113|0),0,($115|0))|0; + HEAP32[$nWrite>>2] = 0; + while(1) { + $116 = HEAP32[$rc>>2]|0; + $117 = ($116|0)==(0); + if (!($117)) { + label = 17; + break; + } + $118 = HEAP32[$nWrite>>2]|0; + $119 = HEAP32[$0>>2]|0; + $120 = ((($119)) + 148|0); + $121 = HEAP32[$120>>2]|0; + $122 = ($118>>>0)<($121>>>0); + if (!($122)) { + label = 17; + break; + } + $123 = HEAP32[$0>>2]|0; + $124 = ((($123)) + 64|0); + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$zHeader>>2]|0; + $127 = HEAP32[$nHeader>>2]|0; + $128 = HEAP32[$0>>2]|0; + $129 = ((($128)) + 72|0); + $130 = $129; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (_sqlite3OsWrite($125,$126,$127,$132,$135)|0); + HEAP32[$rc>>2] = $136; + $137 = HEAP32[$nHeader>>2]|0; + $138 = HEAP32[$0>>2]|0; + $139 = ((($138)) + 72|0); + $140 = $139; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = (_i64Add(($142|0),($145|0),($137|0),0)|0); + $147 = tempRet0; + $148 = $139; + $149 = $148; + HEAP32[$149>>2] = $146; + $150 = (($148) + 4)|0; + $151 = $150; + HEAP32[$151>>2] = $147; + $152 = HEAP32[$nHeader>>2]|0; + $153 = HEAP32[$nWrite>>2]|0; + $154 = (($153) + ($152))|0; + HEAP32[$nWrite>>2] = $154; } -} -function _totalFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $8 = 0.0; - _sqlite3_result_double($3,$8); - STACKTOP = sp;return; + if ((label|0) == 17) { + $155 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($155|0); } - $6 = HEAP32[$p>>2]|0; - $7 = +HEAPF64[$6>>3]; - $8 = $7; - _sqlite3_result_double($3,$8); - STACKTOP = sp;return; + return (0)|0; } -function _avgFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3PcacheClearSyncFlags($pCache) { + $pCache = $pCache|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $p = sp; - HEAP32[$0>>2] = $context; + HEAP32[$0>>2] = $pCache; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); + $2 = HEAP32[$1>>2]|0; HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - $14 = ($9>>>0)>(0); - $15 = ($12|0)==(0); - $16 = $15 & $14; - $17 = $13 | $16; - if (!($17)) { - STACKTOP = sp;return; - } - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = +HEAPF64[$19>>3]; - $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 16|0); - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (+($25>>>0)) + (4294967296.0*(+($28|0))); - $30 = $20 / $29; - _sqlite3_result_double($18,$30); - STACKTOP = sp;return; -} -function _countStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_aggregate_context($3,8)|0); - HEAP32[$p>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - $$old = HEAP32[$p>>2]|0; - $$old1 = ($$old|0)!=(0|0); - if (!($$old1)) { - STACKTOP = sp;return; + while(1) { + $3 = HEAP32[$p>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + break; } - } else { - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_type($8)|0); - $10 = (5)!=($9|0); + $5 = HEAP32[$p>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP16[$6>>1]|0; + $8 = $7&65535; + $9 = $8 & -5; + $10 = $9&65535; + HEAP16[$6>>1] = $10; $11 = HEAP32[$p>>2]|0; - $12 = ($11|0)!=(0|0); - $or$cond = $10 & $12; - if (!($or$cond)) { - STACKTOP = sp;return; - } + $12 = ((($11)) + 32|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$p>>2] = $13; } - $13 = HEAP32[$p>>2]|0; - $14 = $13; - $15 = $14; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_i64Add(($16|0),($19|0),1,0)|0); - $21 = tempRet0; - $22 = $13; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 8|0); + HEAP32[$18>>2] = $16; STACKTOP = sp;return; } -function _countFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _pager_wait_on_lock($pPager,$locktype) { + $pPager = $pPager|0; + $locktype = $locktype|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $13 = 0;$14 = 0; - _sqlite3_result_int64($3,$13,$14); - STACKTOP = sp;return; - } - $6 = HEAP32[$p>>2]|0; - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = $9;$14 = $12; - _sqlite3_result_int64($3,$13,$14); - STACKTOP = sp;return; -} -function _groupConcatStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $firstTerm = 0, $nSep = 0, $nVal = 0, $pAccum = 0, $zSep = 0; - var $zVal = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $zVal = sp + 24|0; - $pAccum = sp + 20|0; - $zSep = sp + 16|0; - $nVal = sp + 12|0; - $nSep = sp + 8|0; - $db = sp + 4|0; - $firstTerm = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - $6 = ($5|0)==(5); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3_aggregate_context($7,28)|0); - HEAP32[$pAccum>>2] = $8; - $9 = HEAP32[$pAccum>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3_context_db_handle($11)|0); - HEAP32[$db>>2] = $12; - $13 = HEAP32[$pAccum>>2]|0; - $14 = (($13) + 24|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)==(0); - $18 = $17&1; - HEAP32[$firstTerm>>2] = $18; - $19 = HEAP32[$pAccum>>2]|0; - $20 = (($19) + 24|0); - HEAP8[$20>>0] = 2; - $21 = HEAP32[$db>>2]|0; - $22 = (($21) + 88|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$pAccum>>2]|0; - $25 = (($24) + 20|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$firstTerm>>2]|0; - $27 = ($26|0)!=(0); - if (!($27)) { - $28 = HEAP32[$1>>2]|0; - $29 = ($28|0)==(2); - if ($29) { - $30 = HEAP32[$2>>2]|0; - $31 = (($30) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3_value_text($32)|0); - HEAP32[$zSep>>2] = $33; - $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_sqlite3_value_bytes($36)|0); - HEAP32[$nSep>>2] = $37; - } else { - HEAP32[$zSep>>2] = 9776; - HEAP32[$nSep>>2] = 1; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $locktype; + while(1) { + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_pagerLockDb($2,$3)|0); + HEAP32[$rc>>2] = $4; + $5 = HEAP32[$rc>>2]|0; + $6 = ($5|0)==(5); + if (!($6)) { + label = 4; + break; } - $38 = HEAP32[$nSep>>2]|0; - $39 = ($38|0)!=(0); - if ($39) { - $40 = HEAP32[$pAccum>>2]|0; - $41 = HEAP32[$zSep>>2]|0; - $42 = HEAP32[$nSep>>2]|0; - _sqlite3StrAccumAppend($40,$41,$42); + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 176|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 180|0); + $12 = HEAP32[$11>>2]|0; + $13 = (FUNCTION_TABLE_ii[$9 & 31]($12)|0); + $14 = ($13|0)!=(0); + if (!($14)) { + label = 4; + break; } } - $43 = HEAP32[$2>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = (_sqlite3_value_text($44)|0); - HEAP32[$zVal>>2] = $45; - $46 = HEAP32[$2>>2]|0; - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3_value_bytes($47)|0); - HEAP32[$nVal>>2] = $48; - $49 = HEAP32[$zVal>>2]|0; - $50 = ($49|0)!=(0|0); - if (!($50)) { - STACKTOP = sp;return; + if ((label|0) == 4) { + $15 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($15|0); } - $51 = HEAP32[$pAccum>>2]|0; - $52 = HEAP32[$zVal>>2]|0; - $53 = HEAP32[$nVal>>2]|0; - _sqlite3StrAccumAppend($51,$52,$53); - STACKTOP = sp;return; + return (0)|0; } -function _groupConcatFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pAccum = 0; +function _pagerLockDb($pPager,$eLock) { + $pPager = $pPager|0; + $eLock = $eLock|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $rc = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pAccum = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$pAccum>>2] = $2; - $3 = HEAP32[$pAccum>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$pAccum>>2]|0; - $6 = (($5) + 25|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(2); - if ($9) { - $10 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($10); - STACKTOP = sp;return; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $eLock; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 17|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = HEAP32[$1>>2]|0; + $7 = ($5|0)<($6|0); + if (!($7)) { + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 17|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(5); + if (!($12)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); + } } - $11 = HEAP32[$pAccum>>2]|0; - $12 = (($11) + 25|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(1); - $16 = HEAP32[$0>>2]|0; - if ($15) { - _sqlite3_result_error_nomem($16); - STACKTOP = sp;return; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 13|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)!=(0); + if ($17) { + $23 = 0; } else { - $17 = HEAP32[$pAccum>>2]|0; - $18 = (_sqlite3StrAccumFinish($17)|0); - _sqlite3_result_text($16,$18,-1,13); - STACKTOP = sp;return; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 60|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = (_sqlite3OsLock($20,$21)|0); + $23 = $22; } -} -function _likeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $escape = 0, $nPat = 0, $or$cond = 0, $pInfo = 0, $zA = 0, $zB = 0, $zEsc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $zA = sp + 24|0; - $zB = sp + 20|0; - $escape = sp + 16|0; - $nPat = sp + 12|0; - $db = sp + 8|0; - $zEsc = sp + 4|0; - $pInfo = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$escape>>2] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zB>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_text($10)|0); - HEAP32[$zA>>2] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_bytes($13)|0); - HEAP32[$nPat>>2] = $14; - $15 = HEAP32[$nPat>>2]|0; - $16 = HEAP32[$db>>2]|0; - $17 = (($16) + 88|0); - $18 = (($17) + 32|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($15|0)>($19|0); - if ($20) { - $21 = HEAP32[$0>>2]|0; - _sqlite3_result_error($21,9688,-1); - STACKTOP = sp;return; + HEAP32[$rc>>2] = $23; + $24 = HEAP32[$rc>>2]|0; + $25 = ($24|0)==(0); + if (!($25)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } - $22 = HEAP32[$1>>2]|0; - $23 = ($22|0)==(3); - do { - if ($23) { - $24 = HEAP32[$2>>2]|0; - $25 = (($24) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3_value_text($26)|0); - HEAP32[$zEsc>>2] = $27; - $28 = HEAP32[$zEsc>>2]|0; - $29 = ($28|0)==(0|0); - if ($29) { - STACKTOP = sp;return; - } - $30 = HEAP32[$zEsc>>2]|0; - $31 = (_sqlite3Utf8CharLen($30,-1)|0); - $32 = ($31|0)!=(1); - if (!($32)) { - $34 = (_sqlite3Utf8Read($zEsc)|0); - HEAP32[$escape>>2] = $34; - break; - } - $33 = HEAP32[$0>>2]|0; - _sqlite3_result_error($33,9728,-1); - STACKTOP = sp;return; - } - } while(0); - $35 = HEAP32[$zA>>2]|0; - $36 = ($35|0)!=(0|0); - $37 = HEAP32[$zB>>2]|0; - $38 = ($37|0)!=(0|0); - $or$cond = $36 & $38; + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 17|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = ($29|0)!=(5); + $31 = HEAP32[$1>>2]|0; + $32 = ($31|0)==(4); + $or$cond = $30 | $32; if (!($or$cond)) { - STACKTOP = sp;return; + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } - $39 = HEAP32[$0>>2]|0; - $40 = (_sqlite3_user_data($39)|0); - HEAP32[$pInfo>>2] = $40; - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$zB>>2]|0; - $43 = HEAP32[$zA>>2]|0; - $44 = HEAP32[$pInfo>>2]|0; - $45 = HEAP32[$escape>>2]|0; - $46 = (_patternCompare($42,$43,$44,$45)|0); - _sqlite3_result_int($41,$46); - STACKTOP = sp;return; + $33 = HEAP32[$1>>2]|0; + $34 = $33&255; + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 17|0); + HEAP8[$36>>0] = $34; + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } -function _sqlite3RegisterDateTimeFunctions() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; +function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags) { + $pWal = $pWal|0; + $szPage = $szPage|0; + $pList = $pList|0; + $nTruncate = $nTruncate|0; + $isCommit = $isCommit|0; + $sync_flags = $sync_flags|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; + var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; + var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; + var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; + var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; + var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; + var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aCksum = 0, $aWalHdr = 0, $iFrame = 0, $iOffset = 0, $nDbSize = 0, $nExtra = 0; + var $or$cond = 0, $p = 0, $pLast = 0, $rc = 0, $sectorSize = 0, $sz = 0, $szFrame = 0, $w = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $i = sp + 8|0; - $pHash = sp + 4|0; - $aFunc = sp; - HEAP32[$pHash>>2] = 1576; - HEAP32[$aFunc>>2] = 9016; - HEAP32[$i>>2] = 0; - while(1) { - $0 = HEAP32[$i>>2]|0; - $1 = ($0|0)<(8); - if (!($1)) { - break; - } - $2 = HEAP32[$pHash>>2]|0; - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$aFunc>>2]|0; - $5 = (($4) + (($3*36)|0)|0); - _sqlite3FuncDefInsert($2,$5); - $6 = HEAP32[$i>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$i>>2] = $7; + STACKTOP = STACKTOP + 144|0; + $0 = sp + 64|0; + $1 = sp + 52|0; + $2 = sp + 56|0; + $3 = sp + 92|0; + $4 = sp + 76|0; + $5 = sp + 80|0; + $6 = sp + 72|0; + $rc = sp + 48|0; + $iFrame = sp + 96|0; + $p = sp + 100|0; + $pLast = sp + 104|0; + $nExtra = sp + 60|0; + $szFrame = sp + 68|0; + $iOffset = sp + 24|0; + $w = sp; + $aWalHdr = sp + 112|0; + $aCksum = sp + 40|0; + $nDbSize = sp + 84|0; + $sectorSize = sp + 88|0; + $sz = sp + 32|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $szPage; + HEAP32[$3>>2] = $pList; + HEAP32[$4>>2] = $nTruncate; + HEAP32[$5>>2] = $isCommit; + HEAP32[$6>>2] = $sync_flags; + HEAP32[$pLast>>2] = 0; + HEAP32[$nExtra>>2] = 0; + $7 = HEAP32[$1>>2]|0; + $8 = (_walRestartLog($7)|0); + HEAP32[$rc>>2] = $8; + $9 = (0)!=($8|0); + if ($9) { + $10 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $10; + $412 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($412|0); } - STACKTOP = sp;return; -} -function _sqlite3AlterFunctions() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $i = sp + 8|0; - $pHash = sp + 4|0; - $aFunc = sp; - HEAP32[$pHash>>2] = 1576; - HEAP32[$aFunc>>2] = 8792; - HEAP32[$i>>2] = 0; - while(1) { - $0 = HEAP32[$i>>2]|0; - $1 = ($0|0)<(3); - if (!($1)) { - break; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 52|0); + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$iFrame>>2] = $14; + $15 = HEAP32[$iFrame>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + $17 = HEAP8[920>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)==(0); + $20 = $19&1; + $21 = 931071618 | $20; + _sqlite3Put4byte($aWalHdr,$21); + $22 = ((($aWalHdr)) + 4|0); + _sqlite3Put4byte($22,3007000); + $23 = ((($aWalHdr)) + 8|0); + $24 = HEAP32[$2>>2]|0; + _sqlite3Put4byte($23,$24); + $25 = ((($aWalHdr)) + 12|0); + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 104|0); + $28 = HEAP32[$27>>2]|0; + _sqlite3Put4byte($25,$28); + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 104|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 52|0); + $35 = ((($34)) + 32|0); + _sqlite3_randomness(8,$35); + } + $36 = ((($aWalHdr)) + 16|0); + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 52|0); + $39 = ((($38)) + 32|0); + ;HEAP8[$36>>0]=HEAP8[$39>>0]|0;HEAP8[$36+1>>0]=HEAP8[$39+1>>0]|0;HEAP8[$36+2>>0]=HEAP8[$39+2>>0]|0;HEAP8[$36+3>>0]=HEAP8[$39+3>>0]|0;HEAP8[$36+4>>0]=HEAP8[$39+4>>0]|0;HEAP8[$36+5>>0]=HEAP8[$39+5>>0]|0;HEAP8[$36+6>>0]=HEAP8[$39+6>>0]|0;HEAP8[$36+7>>0]=HEAP8[$39+7>>0]|0; + _walChecksumBytes(1,$aWalHdr,24,0,$aCksum); + $40 = ((($aWalHdr)) + 24|0); + $41 = HEAP32[$aCksum>>2]|0; + _sqlite3Put4byte($40,$41); + $42 = ((($aWalHdr)) + 28|0); + $43 = ((($aCksum)) + 4|0); + $44 = HEAP32[$43>>2]|0; + _sqlite3Put4byte($42,$44); + $45 = HEAP32[$2>>2]|0; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 36|0); + HEAP32[$47>>2] = $45; + $48 = HEAP8[920>>0]|0; + $49 = $48 << 24 >> 24; + $50 = ($49|0)==(0); + $51 = $50&1; + $52 = $51&255; + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 52|0); + $55 = ((($54)) + 13|0); + HEAP8[$55>>0] = $52; + $56 = HEAP32[$aCksum>>2]|0; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 52|0); + $59 = ((($58)) + 24|0); + HEAP32[$59>>2] = $56; + $60 = ((($aCksum)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 52|0); + $64 = ((($63)) + 24|0); + $65 = ((($64)) + 4|0); + HEAP32[$65>>2] = $61; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 47|0); + HEAP8[$67>>0] = 1; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3OsWrite($70,$aWalHdr,32,0,0)|0); + HEAP32[$rc>>2] = $71; + $72 = HEAP32[$rc>>2]|0; + $73 = ($72|0)!=(0); + if ($73) { + $74 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $74; + $412 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($412|0); + } + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 48|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = ($78|0)!=(0); + $80 = HEAP32[$6>>2]|0; + $81 = ($80|0)!=(0); + $or$cond = $79 & $81; + if ($or$cond) { + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 8|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = $85 & 19; + $87 = (_sqlite3OsSync($84,$86)|0); + HEAP32[$rc>>2] = $87; + $88 = HEAP32[$rc>>2]|0; + $89 = ($88|0)!=(0); + if ($89) { + $90 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $90; + $412 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($412|0); + } } - $2 = HEAP32[$pHash>>2]|0; - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$aFunc>>2]|0; - $5 = (($4) + (($3*36)|0)|0); - _sqlite3FuncDefInsert($2,$5); - $6 = HEAP32[$i>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$i>>2] = $7; - } - STACKTOP = sp;return; -} -function _renameTableFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $len = 0, $or$cond = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $zSql = sp + 48|0; - $zTableName = sp + 44|0; - $token = sp + 40|0; - $tname = sp + 32|0; - $zCsr = sp + 28|0; - $len = sp + 24|0; - $zRet = sp + 20|0; - $db = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zSql>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zTableName>>2] = $9; - $10 = HEAP32[$zSql>>2]|0; - HEAP32[$zCsr>>2] = $10; - HEAP32[$len>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3_context_db_handle($11)|0); - HEAP32[$db>>2] = $12; - $13 = HEAP32[$zSql>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; } + $91 = HEAP32[$1>>2]|0; + HEAP32[$w>>2] = $91; + $92 = HEAP32[$1>>2]|0; + $93 = ((($92)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = ((($w)) + 4|0); + HEAP32[$95>>2] = $94; + $96 = ((($w)) + 8|0); + $97 = $96; + $98 = $97; + HEAP32[$98>>2] = 0; + $99 = (($97) + 4)|0; + $100 = $99; + HEAP32[$100>>2] = 0; + $101 = HEAP32[$6>>2]|0; + $102 = ((($w)) + 16|0); + HEAP32[$102>>2] = $101; + $103 = HEAP32[$2>>2]|0; + $104 = ((($w)) + 20|0); + HEAP32[$104>>2] = $103; + $105 = HEAP32[$iFrame>>2]|0; + $106 = (($105) + 1)|0; + $107 = (($106) - 1)|0; + $108 = HEAP32[$2>>2]|0; + $109 = (($108) + 24)|0; + $110 = ($109|0)<(0); + $111 = $110 << 31 >> 31; + $112 = (___muldi3(($107|0),0,($109|0),($111|0))|0); + $113 = tempRet0; + $114 = (_i64Add(32,0,($112|0),($113|0))|0); + $115 = tempRet0; + $116 = $iOffset; + $117 = $116; + HEAP32[$117>>2] = $114; + $118 = (($116) + 4)|0; + $119 = $118; + HEAP32[$119>>2] = $115; + $120 = HEAP32[$2>>2]|0; + $121 = (($120) + 24)|0; + HEAP32[$szFrame>>2] = $121; + $122 = HEAP32[$3>>2]|0; + HEAP32[$p>>2] = $122; while(1) { - $15 = HEAP32[$zCsr>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - label = 7; + $123 = HEAP32[$p>>2]|0; + $124 = ($123|0)!=(0|0); + if (!($124)) { break; } - $18 = HEAP32[$zCsr>>2]|0; - HEAP32[$tname>>2] = $18; - $19 = HEAP32[$len>>2]|0; - $20 = (($tname) + 4|0); - HEAP32[$20>>2] = $19; - while(1) { - $21 = HEAP32[$len>>2]|0; - $22 = HEAP32[$zCsr>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$zCsr>>2] = $23; - $24 = HEAP32[$zCsr>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$len>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(151); - if (!($27)) { - break; - } + $125 = HEAP32[$iFrame>>2]|0; + $126 = (($125) + 1)|0; + HEAP32[$iFrame>>2] = $126; + $127 = HEAP32[$5>>2]|0; + $128 = ($127|0)!=(0); + if ($128) { + $129 = HEAP32[$p>>2]|0; + $130 = ((($129)) + 12|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($131|0)==(0|0); + $133 = HEAP32[$4>>2]|0; + $$ = $132 ? $133 : 0; + $134 = $$; + } else { + $134 = 0; } - $28 = HEAP32[$token>>2]|0; - $29 = ($28|0)!=(22); - $30 = HEAP32[$token>>2]|0; - $31 = ($30|0)!=(125); - $or$cond = $29 & $31; - if (!($or$cond)) { + HEAP32[$nDbSize>>2] = $134; + $135 = HEAP32[$p>>2]|0; + $136 = HEAP32[$nDbSize>>2]|0; + $137 = $iOffset; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (_walWriteOneFrame($w,$135,$136,$139,$142)|0); + HEAP32[$rc>>2] = $143; + $144 = HEAP32[$rc>>2]|0; + $145 = ($144|0)!=(0); + if ($145) { + label = 16; break; } + $147 = HEAP32[$p>>2]|0; + HEAP32[$pLast>>2] = $147; + $148 = HEAP32[$szFrame>>2]|0; + $149 = ($148|0)<(0); + $150 = $149 << 31 >> 31; + $151 = $iOffset; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = (($151) + 4)|0; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (_i64Add(($153|0),($156|0),($148|0),($150|0))|0); + $158 = tempRet0; + $159 = $iOffset; + $160 = $159; + HEAP32[$160>>2] = $157; + $161 = (($159) + 4)|0; + $162 = $161; + HEAP32[$162>>2] = $158; + $163 = HEAP32[$p>>2]|0; + $164 = ((($163)) + 12|0); + $165 = HEAP32[$164>>2]|0; + HEAP32[$p>>2] = $165; } - if ((label|0) == 7) { - STACKTOP = sp;return; - } - $32 = HEAP32[$db>>2]|0; - $33 = HEAP32[$tname>>2]|0; - $34 = HEAP32[$zSql>>2]|0; - $35 = $33; - $36 = $34; - $37 = (($35) - ($36))|0; - $38 = HEAP32[$zSql>>2]|0; - $39 = HEAP32[$zTableName>>2]|0; - $40 = HEAP32[$tname>>2]|0; - $41 = (($tname) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + ($42)|0); - HEAP32[$vararg_buffer>>2] = $37; - $vararg_ptr2 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr2>>2] = $38; - $vararg_ptr3 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr3>>2] = $39; - $vararg_ptr4 = (($vararg_buffer) + 12|0); - HEAP32[$vararg_ptr4>>2] = $43; - $44 = (_sqlite3MPrintf($32,9000,$vararg_buffer)|0); - HEAP32[$zRet>>2] = $44; - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$zRet>>2]|0; - _sqlite3_result_text($45,$46,-1,16); - STACKTOP = sp;return; -} -function _renameTriggerFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $dist = 0; - var $len = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $zSql = sp + 56|0; - $zTableName = sp + 52|0; - $token = sp + 48|0; - $tname = sp + 40|0; - $dist = sp + 32|0; - $zCsr = sp + 28|0; - $len = sp + 24|0; - $zRet = sp + 20|0; - $db = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zSql>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zTableName>>2] = $9; - HEAP32[$dist>>2] = 3; - $10 = HEAP32[$zSql>>2]|0; - HEAP32[$zCsr>>2] = $10; - HEAP32[$len>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3_context_db_handle($11)|0); - HEAP32[$db>>2] = $12; - $13 = HEAP32[$zSql>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; + if ((label|0) == 16) { + $146 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $146; + $412 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($412|0); } - while(1) { - $15 = HEAP32[$zCsr>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - label = 8; - break; - } - $18 = HEAP32[$zCsr>>2]|0; - HEAP32[$tname>>2] = $18; - $19 = HEAP32[$len>>2]|0; - $20 = (($tname) + 4|0); - HEAP32[$20>>2] = $19; - while(1) { - $21 = HEAP32[$len>>2]|0; - $22 = HEAP32[$zCsr>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$zCsr>>2] = $23; - $24 = HEAP32[$zCsr>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$len>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(151); - if (!($27)) { - break; + $166 = HEAP32[$5>>2]|0; + $167 = ($166|0)!=(0); + L29: do { + if ($167) { + $168 = HEAP32[$6>>2]|0; + $169 = $168 & 32; + $170 = ($169|0)!=(0); + if ($170) { + $171 = HEAP32[$1>>2]|0; + $172 = ((($171)) + 49|0); + $173 = HEAP8[$172>>0]|0; + $174 = ($173<<24>>24)!=(0); + if (!($174)) { + $254 = ((($w)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = HEAP32[$6>>2]|0; + $257 = $256 & 19; + $258 = (_sqlite3OsSync($255,$257)|0); + HEAP32[$rc>>2] = $258; + break; + } + $175 = HEAP32[$1>>2]|0; + $176 = ((($175)) + 8|0); + $177 = HEAP32[$176>>2]|0; + $178 = (_sqlite3SectorSize($177)|0); + HEAP32[$sectorSize>>2] = $178; + $179 = $iOffset; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = HEAP32[$sectorSize>>2]|0; + $186 = ($185|0)<(0); + $187 = $186 << 31 >> 31; + $188 = (_i64Add(($181|0),($184|0),($185|0),($187|0))|0); + $189 = tempRet0; + $190 = (_i64Subtract(($188|0),($189|0),1,0)|0); + $191 = tempRet0; + $192 = HEAP32[$sectorSize>>2]|0; + $193 = ($192|0)<(0); + $194 = $193 << 31 >> 31; + $195 = (___divdi3(($190|0),($191|0),($192|0),($194|0))|0); + $196 = tempRet0; + $197 = HEAP32[$sectorSize>>2]|0; + $198 = ($197|0)<(0); + $199 = $198 << 31 >> 31; + $200 = (___muldi3(($195|0),($196|0),($197|0),($199|0))|0); + $201 = tempRet0; + $202 = ((($w)) + 8|0); + $203 = $202; + $204 = $203; + HEAP32[$204>>2] = $200; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $201; + while(1) { + $207 = $iOffset; + $208 = $207; + $209 = HEAP32[$208>>2]|0; + $210 = (($207) + 4)|0; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = ((($w)) + 8|0); + $214 = $213; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = (($214) + 4)|0; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = ($212|0)<($219|0); + $221 = ($209>>>0)<($216>>>0); + $222 = ($212|0)==($219|0); + $223 = $222 & $221; + $224 = $220 | $223; + if (!($224)) { + break L29; + } + $225 = HEAP32[$pLast>>2]|0; + $226 = HEAP32[$4>>2]|0; + $227 = $iOffset; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = (($227) + 4)|0; + $231 = $230; + $232 = HEAP32[$231>>2]|0; + $233 = (_walWriteOneFrame($w,$225,$226,$229,$232)|0); + HEAP32[$rc>>2] = $233; + $234 = HEAP32[$rc>>2]|0; + $235 = ($234|0)!=(0); + if ($235) { + break; + } + $237 = HEAP32[$szFrame>>2]|0; + $238 = ($237|0)<(0); + $239 = $238 << 31 >> 31; + $240 = $iOffset; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = (($240) + 4)|0; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = (_i64Add(($242|0),($245|0),($237|0),($239|0))|0); + $247 = tempRet0; + $248 = $iOffset; + $249 = $248; + HEAP32[$249>>2] = $246; + $250 = (($248) + 4)|0; + $251 = $250; + HEAP32[$251>>2] = $247; + $252 = HEAP32[$nExtra>>2]|0; + $253 = (($252) + 1)|0; + HEAP32[$nExtra>>2] = $253; + } + $236 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $236; + $412 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($412|0); } } - $28 = HEAP32[$dist>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$dist>>2] = $29; - $30 = HEAP32[$token>>2]|0; - $31 = ($30|0)==(122); - $32 = HEAP32[$token>>2]|0; - $33 = ($32|0)==(107); - $or$cond = $31 | $33; - $$ = $or$cond ? 0 : $29; - HEAP32[$dist>>2] = $$; - $34 = HEAP32[$dist>>2]|0; - $35 = ($34|0)!=(2); - if ($35) { - continue; + } while(0); + $259 = HEAP32[$5>>2]|0; + $260 = ($259|0)!=(0); + if ($260) { + $261 = HEAP32[$1>>2]|0; + $262 = ((($261)) + 47|0); + $263 = HEAP8[$262>>0]|0; + $264 = $263&255; + $265 = ($264|0)!=(0); + if ($265) { + $266 = HEAP32[$1>>2]|0; + $267 = ((($266)) + 16|0); + $268 = $267; + $269 = $268; + $270 = HEAP32[$269>>2]|0; + $271 = (($268) + 4)|0; + $272 = $271; + $273 = HEAP32[$272>>2]|0; + $274 = ($273|0)>(0); + $275 = ($270>>>0)>=(0); + $276 = ($273|0)==(0); + $277 = $276 & $275; + $278 = $274 | $277; + if ($278) { + $279 = HEAP32[$1>>2]|0; + $280 = ((($279)) + 16|0); + $281 = $280; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + $284 = (($281) + 4)|0; + $285 = $284; + $286 = HEAP32[$285>>2]|0; + $287 = $sz; + $288 = $287; + HEAP32[$288>>2] = $283; + $289 = (($287) + 4)|0; + $290 = $289; + HEAP32[$290>>2] = $286; + $291 = HEAP32[$iFrame>>2]|0; + $292 = HEAP32[$nExtra>>2]|0; + $293 = (($291) + ($292))|0; + $294 = (($293) + 1)|0; + $295 = (($294) - 1)|0; + $296 = HEAP32[$2>>2]|0; + $297 = (($296) + 24)|0; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (___muldi3(($295|0),0,($297|0),($299|0))|0); + $301 = tempRet0; + $302 = (_i64Add(32,0,($300|0),($301|0))|0); + $303 = tempRet0; + $304 = HEAP32[$1>>2]|0; + $305 = ((($304)) + 16|0); + $306 = $305; + $307 = $306; + $308 = HEAP32[$307>>2]|0; + $309 = (($306) + 4)|0; + $310 = $309; + $311 = HEAP32[$310>>2]|0; + $312 = ($303|0)>($311|0); + $313 = ($302>>>0)>($308>>>0); + $314 = ($303|0)==($311|0); + $315 = $314 & $313; + $316 = $312 | $315; + if ($316) { + $317 = HEAP32[$iFrame>>2]|0; + $318 = HEAP32[$nExtra>>2]|0; + $319 = (($317) + ($318))|0; + $320 = (($319) + 1)|0; + $321 = (($320) - 1)|0; + $322 = HEAP32[$2>>2]|0; + $323 = (($322) + 24)|0; + $324 = ($323|0)<(0); + $325 = $324 << 31 >> 31; + $326 = (___muldi3(($321|0),0,($323|0),($325|0))|0); + $327 = tempRet0; + $328 = (_i64Add(32,0,($326|0),($327|0))|0); + $329 = tempRet0; + $330 = $sz; + $331 = $330; + HEAP32[$331>>2] = $328; + $332 = (($330) + 4)|0; + $333 = $332; + HEAP32[$333>>2] = $329; + } + $334 = HEAP32[$1>>2]|0; + $335 = $sz; + $336 = $335; + $337 = HEAP32[$336>>2]|0; + $338 = (($335) + 4)|0; + $339 = $338; + $340 = HEAP32[$339>>2]|0; + _walLimitSize($334,$337,$340); + $341 = HEAP32[$1>>2]|0; + $342 = ((($341)) + 47|0); + HEAP8[$342>>0] = 0; + } } - $36 = HEAP32[$token>>2]|0; - $37 = ($36|0)!=(137); - $38 = HEAP32[$token>>2]|0; - $39 = ($38|0)!=(46); - $or$cond3 = $37 & $39; - $40 = HEAP32[$token>>2]|0; - $41 = ($40|0)!=(5); - $or$cond6 = $or$cond3 & $41; - if (!($or$cond6)) { + } + $343 = HEAP32[$1>>2]|0; + $344 = ((($343)) + 52|0); + $345 = ((($344)) + 16|0); + $346 = HEAP32[$345>>2]|0; + HEAP32[$iFrame>>2] = $346; + $347 = HEAP32[$3>>2]|0; + HEAP32[$p>>2] = $347; + while(1) { + $348 = HEAP32[$p>>2]|0; + $349 = ($348|0)!=(0|0); + $350 = HEAP32[$rc>>2]|0; + $351 = ($350|0)==(0); + $352 = $349 ? $351 : 0; + if (!($352)) { break; } + $353 = HEAP32[$iFrame>>2]|0; + $354 = (($353) + 1)|0; + HEAP32[$iFrame>>2] = $354; + $355 = HEAP32[$1>>2]|0; + $356 = HEAP32[$iFrame>>2]|0; + $357 = HEAP32[$p>>2]|0; + $358 = ((($357)) + 20|0); + $359 = HEAP32[$358>>2]|0; + $360 = (_walIndexAppend($355,$356,$359)|0); + HEAP32[$rc>>2] = $360; + $361 = HEAP32[$p>>2]|0; + $362 = ((($361)) + 12|0); + $363 = HEAP32[$362>>2]|0; + HEAP32[$p>>2] = $363; } - if ((label|0) == 8) { - STACKTOP = sp;return; + while(1) { + $364 = HEAP32[$rc>>2]|0; + $365 = ($364|0)==(0); + $366 = HEAP32[$nExtra>>2]|0; + $367 = ($366|0)>(0); + $368 = $365 ? $367 : 0; + if (!($368)) { + break; + } + $369 = HEAP32[$iFrame>>2]|0; + $370 = (($369) + 1)|0; + HEAP32[$iFrame>>2] = $370; + $371 = HEAP32[$nExtra>>2]|0; + $372 = (($371) + -1)|0; + HEAP32[$nExtra>>2] = $372; + $373 = HEAP32[$1>>2]|0; + $374 = HEAP32[$iFrame>>2]|0; + $375 = HEAP32[$pLast>>2]|0; + $376 = ((($375)) + 20|0); + $377 = HEAP32[$376>>2]|0; + $378 = (_walIndexAppend($373,$374,$377)|0); + HEAP32[$rc>>2] = $378; + } + $379 = HEAP32[$rc>>2]|0; + $380 = ($379|0)==(0); + if ($380) { + $381 = HEAP32[$2>>2]|0; + $382 = $381 & 65280; + $383 = HEAP32[$2>>2]|0; + $384 = $383 >> 16; + $385 = $382 | $384; + $386 = $385&65535; + $387 = HEAP32[$1>>2]|0; + $388 = ((($387)) + 52|0); + $389 = ((($388)) + 14|0); + HEAP16[$389>>1] = $386; + $390 = HEAP32[$iFrame>>2]|0; + $391 = HEAP32[$1>>2]|0; + $392 = ((($391)) + 52|0); + $393 = ((($392)) + 16|0); + HEAP32[$393>>2] = $390; + $394 = HEAP32[$5>>2]|0; + $395 = ($394|0)!=(0); + if ($395) { + $396 = HEAP32[$1>>2]|0; + $397 = ((($396)) + 52|0); + $398 = ((($397)) + 8|0); + $399 = HEAP32[$398>>2]|0; + $400 = (($399) + 1)|0; + HEAP32[$398>>2] = $400; + $401 = HEAP32[$4>>2]|0; + $402 = HEAP32[$1>>2]|0; + $403 = ((($402)) + 52|0); + $404 = ((($403)) + 20|0); + HEAP32[$404>>2] = $401; + } + $405 = HEAP32[$5>>2]|0; + $406 = ($405|0)!=(0); + if ($406) { + $407 = HEAP32[$1>>2]|0; + _walIndexWriteHdr($407); + $408 = HEAP32[$iFrame>>2]|0; + $409 = HEAP32[$1>>2]|0; + $410 = ((($409)) + 12|0); + HEAP32[$410>>2] = $408; + } } - $42 = HEAP32[$db>>2]|0; - $43 = HEAP32[$tname>>2]|0; - $44 = HEAP32[$zSql>>2]|0; - $45 = $43; - $46 = $44; - $47 = (($45) - ($46))|0; - $48 = HEAP32[$zSql>>2]|0; - $49 = HEAP32[$zTableName>>2]|0; - $50 = HEAP32[$tname>>2]|0; - $51 = (($tname) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + ($52)|0); - HEAP32[$vararg_buffer>>2] = $47; - $vararg_ptr7 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr7>>2] = $48; - $vararg_ptr8 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr8>>2] = $49; - $vararg_ptr9 = (($vararg_buffer) + 12|0); - HEAP32[$vararg_ptr9>>2] = $53; - $54 = (_sqlite3MPrintf($42,9000,$vararg_buffer)|0); - HEAP32[$zRet>>2] = $54; - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$zRet>>2]|0; - _sqlite3_result_text($55,$56,-1,16); - STACKTOP = sp;return; + $411 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $411; + $412 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($412|0); } -function _renameParentFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; +function _walRestartLog($pWal) { + $pWal = $pWal|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $9 = 0, $db = 0, $n = 0, $or$cond = 0, $token = 0, $vararg_buffer5 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $z = 0, $zInput = 0, $zNew = 0, $zOld = 0, $zOut = 0, $zOutput = 0, $zParent = 0, $zResult = 0; - var label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, $aSalt = 0, $cnt = 0, $i = 0, $notUsed = 0, $pInfo = 0, $rc = 0, $salt1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer5 = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $db = sp + 56|0; - $zOutput = sp + 52|0; - $zResult = sp + 48|0; - $zInput = sp + 44|0; - $zOld = sp + 40|0; - $zNew = sp + 36|0; - $z = sp + 32|0; - $n = sp + 28|0; - $token = sp + 24|0; - $zParent = sp + 20|0; - $zOut = sp + 16|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - HEAP32[$zOutput>>2] = 0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zInput>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_text($10)|0); - HEAP32[$zOld>>2] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = (($12) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3_value_text($14)|0); - HEAP32[$zNew>>2] = $15; - $16 = HEAP32[$zInput>>2]|0; - $17 = ($16|0)==(0|0); - $18 = HEAP32[$zOld>>2]|0; - $19 = ($18|0)==(0|0); - $or$cond = $17 | $19; - if ($or$cond) { - STACKTOP = sp;return; - } - $20 = HEAP32[$zInput>>2]|0; - HEAP32[$z>>2] = $20; - while(1) { - $21 = HEAP32[$z>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)!=(0); - if (!($23)) { - break; - } - $24 = HEAP32[$z>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$n>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(105); - if ($27) { - while(1) { - $28 = HEAP32[$n>>2]|0; - $29 = HEAP32[$z>>2]|0; - $30 = (($29) + ($28)|0); - HEAP32[$z>>2] = $30; - $31 = HEAP32[$z>>2]|0; - $32 = (_sqlite3GetToken($31,$token)|0); - HEAP32[$n>>2] = $32; - $33 = HEAP32[$token>>2]|0; - $34 = ($33|0)==(151); - if (!($34)) { - break; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $rc = sp + 4|0; + $cnt = sp + 8|0; + $pInfo = sp + 32|0; + $salt1 = sp; + $i = sp + 12|0; + $aSalt = sp + 24|0; + $notUsed = sp + 20|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 40|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4 << 16 >> 16; + $6 = ($5|0)==(0); + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = (_walCkptInfo($7)|0); + HEAP32[$pInfo>>2] = $8; + $9 = HEAP32[$pInfo>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = ($10>>>0)>(0); + do { + if ($11) { + _sqlite3_randomness(4,$salt1); + $12 = HEAP32[$1>>2]|0; + $13 = (_walLockExclusive($12,4,4)|0); + HEAP32[$rc>>2] = $13; + $14 = HEAP32[$rc>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $47 = HEAP32[$rc>>2]|0; + $48 = ($47|0)!=(5); + if (!($48)) { + break; + } + $49 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $49; + $60 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($60|0); + } + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 52|0); + $18 = ((($17)) + 32|0); + HEAP32[$aSalt>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 104|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$20>>2] = $22; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 52|0); + $25 = ((($24)) + 16|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$aSalt>>2]|0; + $27 = HEAP32[$aSalt>>2]|0; + $28 = (_sqlite3Get4byte($27)|0); + $29 = (1 + ($28))|0; + _sqlite3Put4byte($26,$29); + $30 = HEAP32[$salt1>>2]|0; + $31 = HEAP32[$aSalt>>2]|0; + $32 = ((($31)) + 4|0); + HEAP32[$32>>2] = $30; + $33 = HEAP32[$1>>2]|0; + _walIndexWriteHdr($33); + $34 = HEAP32[$pInfo>>2]|0; + HEAP32[$34>>2] = 0; + $35 = HEAP32[$pInfo>>2]|0; + $36 = ((($35)) + 4|0); + $37 = ((($36)) + 4|0); + HEAP32[$37>>2] = 0; + HEAP32[$i>>2] = 2; + while(1) { + $38 = HEAP32[$i>>2]|0; + $39 = ($38|0)<(5); + if (!($39)) { + break; + } + $40 = HEAP32[$i>>2]|0; + $41 = HEAP32[$pInfo>>2]|0; + $42 = ((($41)) + 4|0); + $43 = (($42) + ($40<<2)|0); + HEAP32[$43>>2] = -1; + $44 = HEAP32[$i>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$i>>2] = $45; } + $46 = HEAP32[$1>>2]|0; + _walUnlockExclusive($46,4,4); } - $35 = HEAP32[$db>>2]|0; - $36 = HEAP32[$z>>2]|0; - $37 = HEAP32[$n>>2]|0; - $38 = ($37|0)<(0); - $39 = $38 << 31 >> 31; - $40 = (_sqlite3DbStrNDup($35,$36,$37,$39)|0); - HEAP32[$zParent>>2] = $40; - $41 = HEAP32[$zParent>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { + } while(0); + $50 = HEAP32[$1>>2]|0; + _walUnlockShared($50,3); + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 40|0); + HEAP16[$52>>1] = -1; + HEAP32[$cnt>>2] = 0; + while(1) { + $53 = HEAP32[$1>>2]|0; + $54 = HEAP32[$cnt>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$cnt>>2] = $55; + $56 = (_walTryBeginRead($53,$notUsed,1,$55)|0); + HEAP32[$rc>>2] = $56; + $57 = HEAP32[$rc>>2]|0; + $58 = ($57|0)==(-1); + if (!($58)) { break; } - $43 = HEAP32[$zParent>>2]|0; - (_sqlite3Dequote($43)|0); - $44 = HEAP32[$zOld>>2]|0; - $45 = HEAP32[$zParent>>2]|0; - $46 = (_sqlite3_stricmp($44,$45)|0); - $47 = (0)==($46|0); - if ($47) { - $48 = HEAP32[$db>>2]|0; - $49 = HEAP32[$zOutput>>2]|0; - $50 = ($49|0)!=(0|0); - $51 = HEAP32[$zOutput>>2]|0; - $52 = $50 ? $51 : 1216; - $53 = HEAP32[$z>>2]|0; - $54 = HEAP32[$zInput>>2]|0; - $55 = $53; - $56 = $54; - $57 = (($55) - ($56))|0; - $58 = HEAP32[$zInput>>2]|0; - $59 = HEAP32[$zNew>>2]|0; - HEAP32[$vararg_buffer5>>2] = $52; - $vararg_ptr2 = (($vararg_buffer5) + 4|0); - HEAP32[$vararg_ptr2>>2] = $57; - $vararg_ptr3 = (($vararg_buffer5) + 8|0); - HEAP32[$vararg_ptr3>>2] = $58; - $vararg_ptr4 = (($vararg_buffer5) + 12|0); - HEAP32[$vararg_ptr4>>2] = $59; - $60 = (_sqlite3MPrintf($48,8976,$vararg_buffer5)|0); - HEAP32[$zOut>>2] = $60; - $61 = HEAP32[$db>>2]|0; - $62 = HEAP32[$zOutput>>2]|0; - _sqlite3DbFree($61,$62); - $63 = HEAP32[$zOut>>2]|0; - HEAP32[$zOutput>>2] = $63; - $64 = HEAP32[$n>>2]|0; - $65 = HEAP32[$z>>2]|0; - $66 = (($65) + ($64)|0); - HEAP32[$zInput>>2] = $66; - } - $67 = HEAP32[$db>>2]|0; - $68 = HEAP32[$zParent>>2]|0; - _sqlite3DbFree($67,$68); } - $69 = HEAP32[$z>>2]|0; - $70 = HEAP32[$n>>2]|0; - $71 = (($69) + ($70)|0); - HEAP32[$z>>2] = $71; } - $72 = HEAP32[$db>>2]|0; - $73 = HEAP32[$zOutput>>2]|0; - $74 = ($73|0)!=(0|0); - $75 = HEAP32[$zOutput>>2]|0; - $76 = $74 ? $75 : 1216; - $77 = HEAP32[$zInput>>2]|0; - HEAP32[$vararg_buffer5>>2] = $76; - $vararg_ptr8 = (($vararg_buffer5) + 4|0); - HEAP32[$vararg_ptr8>>2] = $77; - $78 = (_sqlite3MPrintf($72,8992,$vararg_buffer5)|0); - HEAP32[$zResult>>2] = $78; - $79 = HEAP32[$0>>2]|0; - $80 = HEAP32[$zResult>>2]|0; - _sqlite3_result_text($79,$80,-1,16); - $81 = HEAP32[$db>>2]|0; - $82 = HEAP32[$zOutput>>2]|0; - _sqlite3DbFree($81,$82); - STACKTOP = sp;return; + $59 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $59; + $60 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($60|0); } -function _sqlite3GetToken($z,$tokenType) { - $z = $z|0; - $tokenType = $tokenType|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $c = 0, $delim = 0, $i = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond7 = 0, label = 0, sp = 0; +function _walWriteOneFrame($p,$pPage,$nTruncate,$0,$1) { + $p = $p|0; + $pPage = $pPage|0; + $nTruncate = $nTruncate|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aFrame = 0, $pData = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $2 = sp + 28|0; + $3 = sp + 20|0; + $4 = sp + 24|0; + $5 = sp + 16|0; + $6 = sp; + $rc = sp + 8|0; + $pData = sp + 12|0; + $aFrame = sp + 32|0; + HEAP32[$3>>2] = $p; + HEAP32[$4>>2] = $pPage; + HEAP32[$5>>2] = $nTruncate; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = HEAP32[$4>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pData>>2] = $13; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$4>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$pData>>2]|0; + _walEncodeFrame($15,$18,$19,$20,$aFrame); + $21 = HEAP32[$3>>2]|0; + $22 = $6; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (_walWriteToLog($21,$aFrame,24,$24,$27)|0); + HEAP32[$rc>>2] = $28; + $29 = HEAP32[$rc>>2]|0; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $31; + $47 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($47|0); + } else { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$pData>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP32[$35>>2]|0; + $37 = $6; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (_i64Add(($39|0),($42|0),24,0)|0); + $44 = tempRet0; + $45 = (_walWriteToLog($32,$33,$36,$43,$44)|0); + HEAP32[$rc>>2] = $45; + $46 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $46; + $47 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($47|0); + } + return (0)|0; +} +function _walEncodeFrame($pWal,$iPage,$nTruncate,$aData,$aFrame) { + $pWal = $pWal|0; + $iPage = $iPage|0; + $nTruncate = $nTruncate|0; + $aData = $aData|0; + $aFrame = $aFrame|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aCksum = 0, $nativeCksum = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $i = sp + 12|0; - $c = sp + 8|0; - $delim = sp + 4|0; - $n = sp; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $tokenType; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - do { - switch ($5|0) { - case 126: { - $124 = HEAP32[$2>>2]|0; - HEAP32[$124>>2] = 96; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 60: { - $89 = HEAP32[$1>>2]|0; - $90 = (($89) + 1|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91&255; - HEAP32[$c>>2] = $92; - $93 = ($92|0)==(61); - if ($93) { - $94 = HEAP32[$2>>2]|0; - HEAP32[$94>>2] = 81; - HEAP32[$0>>2] = 2; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - $95 = HEAP32[$c>>2]|0; - $96 = ($95|0)==(62); - if ($96) { - $97 = HEAP32[$2>>2]|0; - HEAP32[$97>>2] = 78; - HEAP32[$0>>2] = 2; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - $98 = HEAP32[$c>>2]|0; - $99 = ($98|0)==(60); - $100 = HEAP32[$2>>2]|0; - if ($99) { - HEAP32[$100>>2] = 87; - HEAP32[$0>>2] = 2; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } else { - HEAP32[$100>>2] = 82; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - break; - } - case 45: { - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)==(45); - if (!($24)) { - $37 = HEAP32[$2>>2]|0; - HEAP32[$37>>2] = 90; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - HEAP32[$i>>2] = 2; - while(1) { - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + ($25)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - HEAP32[$c>>2] = $29; - $30 = ($29|0)!=(0); - $31 = HEAP32[$c>>2]|0; - $32 = ($31|0)!=(10); - $or$cond = $30 & $32; - if (!($or$cond)) { - break; - } - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$i>>2] = $34; - } - $35 = HEAP32[$2>>2]|0; - HEAP32[$35>>2] = 151; - $36 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $36; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 124: { - $116 = HEAP32[$1>>2]|0; - $117 = (($116) + 1|0); - $118 = HEAP8[$117>>0]|0; - $119 = $118&255; - $120 = ($119|0)!=(124); - $121 = HEAP32[$2>>2]|0; - if ($120) { - HEAP32[$121>>2] = 86; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } else { - HEAP32[$121>>2] = 94; - HEAP32[$0>>2] = 2; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - break; - } - case 37: { - $80 = HEAP32[$2>>2]|0; - HEAP32[$80>>2] = 93; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 46: { - $160 = HEAP32[$1>>2]|0; - $161 = (($160) + 1|0); - $162 = HEAP8[$161>>0]|0; - $163 = $162&255; - $164 = (1224 + ($163)|0); - $165 = HEAP8[$164>>0]|0; - $166 = $165&255; - $167 = $166 & 4; - $168 = ($167|0)!=(0); - if (!($168)) { - $169 = HEAP32[$2>>2]|0; - HEAP32[$169>>2] = 122; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $nativeCksum = sp; + $aCksum = sp + 12|0; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $iPage; + HEAP32[$2>>2] = $nTruncate; + HEAP32[$3>>2] = $aData; + HEAP32[$4>>2] = $aFrame; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 52|0); + $7 = ((($6)) + 24|0); + HEAP32[$aCksum>>2] = $7; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$1>>2]|0; + _sqlite3Put4byte($8,$9); + $10 = HEAP32[$4>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$2>>2]|0; + _sqlite3Put4byte($11,$12); + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 52|0); + $17 = ((($16)) + 32|0); + ;HEAP8[$14>>0]=HEAP8[$17>>0]|0;HEAP8[$14+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$14+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$14+3>>0]=HEAP8[$17+3>>0]|0;HEAP8[$14+4>>0]=HEAP8[$17+4>>0]|0;HEAP8[$14+5>>0]=HEAP8[$17+5>>0]|0;HEAP8[$14+6>>0]=HEAP8[$17+6>>0]|0;HEAP8[$14+7>>0]=HEAP8[$17+7>>0]|0; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 52|0); + $20 = ((($19)) + 13|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = HEAP8[920>>0]|0; + $24 = $23 << 24 >> 24; + $25 = ($24|0)==(0); + $26 = $25&1; + $27 = ($22|0)==($26|0); + $28 = $27&1; + HEAP32[$nativeCksum>>2] = $28; + $29 = HEAP32[$nativeCksum>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$aCksum>>2]|0; + $32 = HEAP32[$aCksum>>2]|0; + _walChecksumBytes($29,$30,8,$31,$32); + $33 = HEAP32[$nativeCksum>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 36|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$aCksum>>2]|0; + $39 = HEAP32[$aCksum>>2]|0; + _walChecksumBytes($33,$34,$37,$38,$39); + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP32[$aCksum>>2]|0; + $43 = HEAP32[$42>>2]|0; + _sqlite3Put4byte($41,$43); + $44 = HEAP32[$4>>2]|0; + $45 = ((($44)) + 20|0); + $46 = HEAP32[$aCksum>>2]|0; + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + _sqlite3Put4byte($45,$48); + STACKTOP = sp;return; +} +function _walWriteToLog($p,$pContent,$iAmt,$0,$1) { + $p = $p|0; + $pContent = $pContent|0; + $iAmt = $iAmt|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iFirstAmt = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp + 20|0; + $4 = sp + 24|0; + $5 = sp + 28|0; + $6 = sp; + $rc = sp + 8|0; + $iFirstAmt = sp + 16|0; + HEAP32[$3>>2] = $p; + HEAP32[$4>>2] = $pContent; + HEAP32[$5>>2] = $iAmt; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = $6; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + $19 = $18; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = ($16|0)<($24|0); + $26 = ($13>>>0)<($21>>>0); + $27 = ($16|0)==($24|0); + $28 = $27 & $26; + $29 = $25 | $28; + if ($29) { + $30 = $6; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ($36|0)<(0); + $38 = $37 << 31 >> 31; + $39 = (_i64Add(($32|0),($35|0),($36|0),($38|0))|0); + $40 = tempRet0; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 8|0); + $43 = $42; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = ($40|0)>($48|0); + $50 = ($39>>>0)>=($45>>>0); + $51 = ($40|0)==($48|0); + $52 = $51 & $50; + $53 = $49 | $52; + if ($53) { + $54 = HEAP32[$3>>2]|0; + $55 = ((($54)) + 8|0); + $56 = $55; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = $6; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (_i64Subtract(($58|0),($61|0),($64|0),($67|0))|0); + $69 = tempRet0; + HEAP32[$iFirstAmt>>2] = $68; + $70 = HEAP32[$3>>2]|0; + $71 = ((($70)) + 4|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = HEAP32[$iFirstAmt>>2]|0; + $75 = $6; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3OsWrite($72,$73,$74,$77,$80)|0); + HEAP32[$rc>>2] = $81; + $82 = HEAP32[$rc>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $84; + $132 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($132|0); } - break; - } - case 91: { - HEAP32[$i>>2] = 1; - $315 = HEAP32[$1>>2]|0; - $316 = HEAP8[$315>>0]|0; - $317 = $316&255; - HEAP32[$c>>2] = $317; - while(1) { - $318 = HEAP32[$c>>2]|0; - $319 = ($318|0)!=(93); - if (!($319)) { - break; - } - $320 = HEAP32[$i>>2]|0; - $321 = HEAP32[$1>>2]|0; - $322 = (($321) + ($320)|0); - $323 = HEAP8[$322>>0]|0; - $324 = $323&255; - HEAP32[$c>>2] = $324; - $325 = ($324|0)!=(0); - if (!($325)) { - break; - } - $326 = HEAP32[$i>>2]|0; - $327 = (($326) + 1)|0; - HEAP32[$i>>2] = $327; + $85 = HEAP32[$iFirstAmt>>2]|0; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = $6; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (_i64Add(($90|0),($93|0),($85|0),($87|0))|0); + $95 = tempRet0; + $96 = $6; + $97 = $96; + HEAP32[$97>>2] = $94; + $98 = (($96) + 4)|0; + $99 = $98; + HEAP32[$99>>2] = $95; + $100 = HEAP32[$iFirstAmt>>2]|0; + $101 = HEAP32[$5>>2]|0; + $102 = (($101) - ($100))|0; + HEAP32[$5>>2] = $102; + $103 = HEAP32[$iFirstAmt>>2]|0; + $104 = HEAP32[$4>>2]|0; + $105 = (($104) + ($103)|0); + HEAP32[$4>>2] = $105; + $106 = HEAP32[$3>>2]|0; + $107 = ((($106)) + 4|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$3>>2]|0; + $110 = ((($109)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 19; + $113 = (_sqlite3OsSync($108,$112)|0); + HEAP32[$rc>>2] = $113; + $114 = HEAP32[$5>>2]|0; + $115 = ($114|0)==(0); + $116 = HEAP32[$rc>>2]|0; + $117 = ($116|0)!=(0); + $or$cond = $115 | $117; + if ($or$cond) { + $118 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $118; + $132 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($132|0); } - $328 = HEAP32[$c>>2]|0; - $329 = ($328|0)==(93); - $330 = $329 ? 27 : 150; - $331 = HEAP32[$2>>2]|0; - HEAP32[$331>>2] = $330; - $332 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $332; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 59: { - $40 = HEAP32[$2>>2]|0; - HEAP32[$40>>2] = 1; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: { - break; - } - case 44: { - $122 = HEAP32[$2>>2]|0; - HEAP32[$122>>2] = 26; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; } - case 38: { - $123 = HEAP32[$2>>2]|0; - HEAP32[$123>>2] = 85; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; + } + $119 = HEAP32[$3>>2]|0; + $120 = ((($119)) + 4|0); + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$4>>2]|0; + $123 = HEAP32[$5>>2]|0; + $124 = $6; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (_sqlite3OsWrite($121,$122,$123,$126,$129)|0); + HEAP32[$rc>>2] = $130; + $131 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $131; + $132 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($132|0); +} +function _walTryBeginRead($pWal,$pChanged,$useWal,$cnt) { + $pWal = $pWal|0; + $pChanged = $pChanged|0; + $useWal = $useWal|0; + $cnt = $cnt|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $mxI = 0, $mxReadMark = 0, $nDelay = 0, $or$cond = 0, $pInfo = 0, $rc = 0, $thisMark = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp; + $1 = sp + 8|0; + $2 = sp + 36|0; + $3 = sp + 16|0; + $4 = sp + 32|0; + $pInfo = sp + 40|0; + $mxReadMark = sp + 44|0; + $mxI = sp + 24|0; + $i = sp + 20|0; + $rc = sp + 12|0; + $nDelay = sp + 4|0; + $thisMark = sp + 28|0; + HEAP32[$1>>2] = $pWal; + HEAP32[$2>>2] = $pChanged; + HEAP32[$3>>2] = $useWal; + HEAP32[$4>>2] = $cnt; + HEAP32[$rc>>2] = 0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)>(5); + if ($6) { + HEAP32[$nDelay>>2] = 1; + $7 = HEAP32[$4>>2]|0; + $8 = ($7|0)>(100); + if ($8) { + HEAP32[$0>>2] = 15; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); } - case 13: case 12: case 10: case 9: case 32: { - HEAP32[$i>>2] = 1; - while(1) { - $6 = HEAP32[$i>>2]|0; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + ($6)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = (1224 + ($10)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 & 1; - $15 = ($14|0)!=(0); - if (!($15)) { - break; - } - $16 = HEAP32[$i>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$i>>2] = $17; - } - $18 = HEAP32[$2>>2]|0; - HEAP32[$18>>2] = 151; - $19 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $19; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; + $9 = HEAP32[$4>>2]|0; + $10 = ($9|0)>=(10); + if ($10) { + $11 = HEAP32[$4>>2]|0; + $12 = (($11) - 9)|0; + $13 = HEAP32[$4>>2]|0; + $14 = (($13) - 9)|0; + $15 = Math_imul($12, $14)|0; + $16 = ($15*39)|0; + HEAP32[$nDelay>>2] = $16; } - case 58: case 35: case 64: case 36: { - HEAP32[$n>>2] = 0; - $346 = HEAP32[$2>>2]|0; - HEAP32[$346>>2] = 135; - HEAP32[$i>>2] = 1; - while(1) { - $347 = HEAP32[$i>>2]|0; - $348 = HEAP32[$1>>2]|0; - $349 = (($348) + ($347)|0); - $350 = HEAP8[$349>>0]|0; - $351 = $350&255; - HEAP32[$c>>2] = $351; - $352 = ($351|0)!=(0); - if (!($352)) { + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$nDelay>>2]|0; + (_sqlite3OsSleep($18,$19)|0); + } + $20 = HEAP32[$3>>2]|0; + $21 = ($20|0)!=(0); + if (!($21)) { + $22 = HEAP32[$1>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = (_walIndexReadHdr($22,$23)|0); + HEAP32[$rc>>2] = $24; + $25 = HEAP32[$rc>>2]|0; + $26 = ($25|0)==(5); + do { + if ($26) { + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0|0); + if ($31) { + HEAP32[$rc>>2] = -1; break; } - $353 = HEAP32[$c>>2]|0; - $354 = $353&255; - $355 = $354&255; - $356 = (1224 + ($355)|0); - $357 = HEAP8[$356>>0]|0; - $358 = $357&255; - $359 = $358 & 70; - $360 = ($359|0)!=(0); - if ($360) { - $361 = HEAP32[$n>>2]|0; - $362 = (($361) + 1)|0; - HEAP32[$n>>2] = $362; - } else { - $363 = HEAP32[$c>>2]|0; - $364 = ($363|0)==(40); - $365 = HEAP32[$n>>2]|0; - $366 = ($365|0)>(0); - $or$cond3 = $364 & $366; - if ($or$cond3) { - label = 107; - break; - } - $390 = HEAP32[$c>>2]|0; - $391 = ($390|0)==(58); - if (!($391)) { - break; - } - $392 = HEAP32[$i>>2]|0; - $393 = (($392) + 1)|0; - $394 = HEAP32[$1>>2]|0; - $395 = (($394) + ($393)|0); - $396 = HEAP8[$395>>0]|0; - $397 = $396&255; - $398 = ($397|0)==(58); - if (!($398)) { - break; - } - $399 = HEAP32[$i>>2]|0; - $400 = (($399) + 1)|0; - HEAP32[$i>>2] = $400; - } - $401 = HEAP32[$i>>2]|0; - $402 = (($401) + 1)|0; - HEAP32[$i>>2] = $402; - } - do { - if ((label|0) == 107) { - while(1) { - label = 0; - $367 = HEAP32[$i>>2]|0; - $368 = (($367) + 1)|0; - HEAP32[$i>>2] = $368; - $369 = HEAP32[$i>>2]|0; - $370 = HEAP32[$1>>2]|0; - $371 = (($370) + ($369)|0); - $372 = HEAP8[$371>>0]|0; - $373 = $372&255; - HEAP32[$c>>2] = $373; - $374 = ($373|0)!=(0); - if (!($374)) { - break; - } - $375 = HEAP32[$c>>2]|0; - $376 = $375&255; - $377 = $376&255; - $378 = (1224 + ($377)|0); - $379 = HEAP8[$378>>0]|0; - $380 = $379&255; - $381 = $380 & 1; - $382 = ($381|0)==(0); - $383 = HEAP32[$c>>2]|0; - $384 = ($383|0)!=(41); - $or$cond7 = $382 & $384; - if ($or$cond7) { - label = 107; - } else { - break; - } - } - $385 = HEAP32[$c>>2]|0; - $386 = ($385|0)==(41); - if ($386) { - $387 = HEAP32[$i>>2]|0; - $388 = (($387) + 1)|0; - HEAP32[$i>>2] = $388; - break; - } else { - $389 = HEAP32[$2>>2]|0; - HEAP32[$389>>2] = 150; - break; - } - } - } while(0); - $403 = HEAP32[$n>>2]|0; - $404 = ($403|0)==(0); - if ($404) { - $405 = HEAP32[$2>>2]|0; - HEAP32[$405>>2] = 150; - } - $406 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $406; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 34: case 39: case 96: { - $125 = HEAP32[$1>>2]|0; - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - HEAP32[$delim>>2] = $127; - HEAP32[$i>>2] = 1; - while(1) { - $128 = HEAP32[$i>>2]|0; - $129 = HEAP32[$1>>2]|0; - $130 = (($129) + ($128)|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - HEAP32[$c>>2] = $132; - $133 = ($132|0)!=(0); - if (!($133)) { + $32 = HEAP32[$1>>2]|0; + $33 = (_walLockShared($32,2)|0); + HEAP32[$rc>>2] = $33; + $34 = (0)==($33|0); + if ($34) { + $35 = HEAP32[$1>>2]|0; + _walUnlockShared($35,2); + HEAP32[$rc>>2] = -1; break; } - $134 = HEAP32[$c>>2]|0; - $135 = HEAP32[$delim>>2]|0; - $136 = ($134|0)==($135|0); - if ($136) { - $137 = HEAP32[$i>>2]|0; - $138 = (($137) + 1)|0; - $139 = HEAP32[$1>>2]|0; - $140 = (($139) + ($138)|0); - $141 = HEAP8[$140>>0]|0; - $142 = $141&255; - $143 = HEAP32[$delim>>2]|0; - $144 = ($142|0)==($143|0); - if (!($144)) { - break; - } - $145 = HEAP32[$i>>2]|0; - $146 = (($145) + 1)|0; - HEAP32[$i>>2] = $146; + $36 = HEAP32[$rc>>2]|0; + $37 = ($36|0)==(5); + if ($37) { + HEAP32[$rc>>2] = 261; } - $147 = HEAP32[$i>>2]|0; - $148 = (($147) + 1)|0; - HEAP32[$i>>2] = $148; - } - $149 = HEAP32[$c>>2]|0; - $150 = ($149|0)==(39); - if ($150) { - $151 = HEAP32[$2>>2]|0; - HEAP32[$151>>2] = 97; - $152 = HEAP32[$i>>2]|0; - $153 = (($152) + 1)|0; - HEAP32[$0>>2] = $153; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - $154 = HEAP32[$c>>2]|0; - $155 = ($154|0)!=(0); - $156 = HEAP32[$2>>2]|0; - if ($155) { - HEAP32[$156>>2] = 27; - $157 = HEAP32[$i>>2]|0; - $158 = (($157) + 1)|0; - HEAP32[$0>>2] = $158; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } else { - HEAP32[$156>>2] = 150; - $159 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $159; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); } - break; + } while(0); + $38 = HEAP32[$rc>>2]|0; + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $40; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); } - case 88: case 120: { - $407 = HEAP32[$1>>2]|0; - $408 = (($407) + 1|0); - $409 = HEAP8[$408>>0]|0; - $410 = $409&255; - $411 = ($410|0)==(39); - if ($411) { - $412 = HEAP32[$2>>2]|0; - HEAP32[$412>>2] = 134; - HEAP32[$i>>2] = 2; - while(1) { - $413 = HEAP32[$i>>2]|0; - $414 = HEAP32[$1>>2]|0; - $415 = (($414) + ($413)|0); - $416 = HEAP8[$415>>0]|0; - $417 = $416&255; - $418 = (1224 + ($417)|0); - $419 = HEAP8[$418>>0]|0; - $420 = $419&255; - $421 = $420 & 8; - $422 = ($421|0)!=(0); - $423 = HEAP32[$i>>2]|0; - if (!($422)) { + } + $41 = HEAP32[$1>>2]|0; + $42 = (_walCkptInfo($41)|0); + HEAP32[$pInfo>>2] = $42; + $43 = HEAP32[$3>>2]|0; + $44 = ($43|0)!=(0); + do { + if (!($44)) { + $45 = HEAP32[$pInfo>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 52|0); + $49 = ((($48)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($46|0)==($50|0); + if ($51) { + $52 = HEAP32[$1>>2]|0; + $53 = (_walLockShared($52,3)|0); + HEAP32[$rc>>2] = $53; + $54 = HEAP32[$1>>2]|0; + _walShmBarrier($54); + $55 = HEAP32[$rc>>2]|0; + $56 = ($55|0)==(0); + if (!($56)) { + $65 = HEAP32[$rc>>2]|0; + $66 = ($65|0)!=(5); + if (!($66)) { break; } - $424 = (($423) + 1)|0; - HEAP32[$i>>2] = $424; + $67 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $67; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); } - $425 = HEAP32[$1>>2]|0; - $426 = (($425) + ($423)|0); - $427 = HEAP8[$426>>0]|0; - $428 = $427&255; - $429 = ($428|0)!=(39); - if ($429) { - label = 125; + $57 = HEAP32[$1>>2]|0; + $58 = (_walIndexHdr($57)|0); + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 52|0); + $61 = (_memcmp($58,$60,48)|0); + $62 = ($61|0)!=(0); + $63 = HEAP32[$1>>2]|0; + if ($62) { + _walUnlockShared($63,3); + HEAP32[$0>>2] = -1; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); } else { - $430 = HEAP32[$i>>2]|0; - $431 = (($430|0) % 2)&-1; - $432 = ($431|0)!=(0); - if ($432) { - label = 125; - } - } - L108: do { - if ((label|0) == 125) { - $433 = HEAP32[$2>>2]|0; - HEAP32[$433>>2] = 150; - while(1) { - $434 = HEAP32[$i>>2]|0; - $435 = HEAP32[$1>>2]|0; - $436 = (($435) + ($434)|0); - $437 = HEAP8[$436>>0]|0; - $438 = $437&255; - $439 = ($438|0)!=(0); - if (!($439)) { - break L108; - } - $440 = HEAP32[$i>>2]|0; - $441 = HEAP32[$1>>2]|0; - $442 = (($441) + ($440)|0); - $443 = HEAP8[$442>>0]|0; - $444 = $443&255; - $445 = ($444|0)!=(39); - if (!($445)) { - break L108; - } - $446 = HEAP32[$i>>2]|0; - $447 = (($446) + 1)|0; - HEAP32[$i>>2] = $447; - } - } - } while(0); - $448 = HEAP32[$i>>2]|0; - $449 = HEAP32[$1>>2]|0; - $450 = (($449) + ($448)|0); - $451 = HEAP8[$450>>0]|0; - $452 = ($451<<24>>24)!=(0); - if ($452) { - $453 = HEAP32[$i>>2]|0; - $454 = (($453) + 1)|0; - HEAP32[$i>>2] = $454; - } - $455 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $455; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } else { - label = 132; - } - break; - } - case 61: { - $81 = HEAP32[$2>>2]|0; - HEAP32[$81>>2] = 79; - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 1|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = ($85|0)==(61); - $87 = $86&1; - $88 = (1 + ($87))|0; - HEAP32[$0>>2] = $88; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 41: { - $39 = HEAP32[$2>>2]|0; - HEAP32[$39>>2] = 23; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 63: { - $333 = HEAP32[$2>>2]|0; - HEAP32[$333>>2] = 135; - HEAP32[$i>>2] = 1; - while(1) { - $334 = HEAP32[$i>>2]|0; - $335 = HEAP32[$1>>2]|0; - $336 = (($335) + ($334)|0); - $337 = HEAP8[$336>>0]|0; - $338 = $337&255; - $339 = (1224 + ($338)|0); - $340 = HEAP8[$339>>0]|0; - $341 = $340&255; - $342 = $341 & 4; - $343 = ($342|0)!=(0); - $344 = HEAP32[$i>>2]|0; - if (!($343)) { - break; + $64 = ((($63)) + 40|0); + HEAP16[$64>>1] = 0; + HEAP32[$0>>2] = 0; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); } - $345 = (($344) + 1)|0; - HEAP32[$i>>2] = $345; - } - HEAP32[$0>>2] = $344; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 33: { - $110 = HEAP32[$1>>2]|0; - $111 = (($110) + 1|0); - $112 = HEAP8[$111>>0]|0; - $113 = $112&255; - $114 = ($113|0)!=(61); - $115 = HEAP32[$2>>2]|0; - if ($114) { - HEAP32[$115>>2] = 150; - HEAP32[$0>>2] = 2; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } else { - HEAP32[$115>>2] = 78; - HEAP32[$0>>2] = 2; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); } - break; } - case 62: { - $101 = HEAP32[$1>>2]|0; - $102 = (($101) + 1|0); - $103 = HEAP8[$102>>0]|0; - $104 = $103&255; - HEAP32[$c>>2] = $104; - $105 = ($104|0)==(61); - if ($105) { - $106 = HEAP32[$2>>2]|0; - HEAP32[$106>>2] = 83; - HEAP32[$0>>2] = 2; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - $107 = HEAP32[$c>>2]|0; - $108 = ($107|0)==(62); - $109 = HEAP32[$2>>2]|0; - if ($108) { - HEAP32[$109>>2] = 88; - HEAP32[$0>>2] = 2; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } else { - HEAP32[$109>>2] = 80; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } + } while(0); + HEAP32[$mxReadMark>>2] = 0; + HEAP32[$mxI>>2] = 0; + HEAP32[$i>>2] = 1; + while(1) { + $68 = HEAP32[$i>>2]|0; + $69 = ($68|0)<(5); + if (!($69)) { break; } - case 47: { - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 1|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = ($46|0)!=(42); - if (!($47)) { - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 2|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = ($51|0)==(0); - if (!($52)) { - HEAP32[$i>>2] = 3; - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 2|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - HEAP32[$c>>2] = $57; - while(1) { - $58 = HEAP32[$c>>2]|0; - $59 = ($58|0)!=(42); - if (!($59)) { - $60 = HEAP32[$i>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = (($61) + ($60)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = ($64|0)!=(47); - if (!($65)) { - break; - } - } - $66 = HEAP32[$i>>2]|0; - $67 = HEAP32[$1>>2]|0; - $68 = (($67) + ($66)|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - HEAP32[$c>>2] = $70; - $71 = ($70|0)!=(0); - if (!($71)) { - break; - } - $72 = HEAP32[$i>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$i>>2] = $73; - } - $74 = HEAP32[$c>>2]|0; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; - } - $78 = HEAP32[$2>>2]|0; - HEAP32[$78>>2] = 151; - $79 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $79; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } + $70 = HEAP32[$i>>2]|0; + $71 = HEAP32[$pInfo>>2]|0; + $72 = ((($71)) + 4|0); + $73 = (($72) + ($70<<2)|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$thisMark>>2] = $74; + $75 = HEAP32[$mxReadMark>>2]|0; + $76 = HEAP32[$thisMark>>2]|0; + $77 = ($75>>>0)<=($76>>>0); + if ($77) { + $78 = HEAP32[$thisMark>>2]|0; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 52|0); + $81 = ((($80)) + 16|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($78>>>0)<=($82>>>0); + if ($83) { + $84 = HEAP32[$thisMark>>2]|0; + HEAP32[$mxReadMark>>2] = $84; + $85 = HEAP32[$i>>2]|0; + HEAP32[$mxI>>2] = $85; } - $53 = HEAP32[$2>>2]|0; - HEAP32[$53>>2] = 92; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 43: { - $41 = HEAP32[$2>>2]|0; - HEAP32[$41>>2] = 89; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 40: { - $38 = HEAP32[$2>>2]|0; - HEAP32[$38>>2] = 22; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - case 42: { - $42 = HEAP32[$2>>2]|0; - HEAP32[$42>>2] = 91; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - break; - } - default: { - label = 132; - } } - } while(0); - if ((label|0) == 132) { - $456 = HEAP32[$1>>2]|0; - $457 = HEAP8[$456>>0]|0; - $458 = $457&255; - $459 = (1224 + ($458)|0); - $460 = HEAP8[$459>>0]|0; - $461 = $460&255; - $462 = $461 & 70; - $463 = ($462|0)!=(0); - if (!($463)) { - $481 = HEAP32[$2>>2]|0; - HEAP32[$481>>2] = 150; - HEAP32[$0>>2] = 1; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - HEAP32[$i>>2] = 1; - while(1) { - $464 = HEAP32[$i>>2]|0; - $465 = HEAP32[$1>>2]|0; - $466 = (($465) + ($464)|0); - $467 = HEAP8[$466>>0]|0; - $468 = $467&255; - $469 = (1224 + ($468)|0); - $470 = HEAP8[$469>>0]|0; - $471 = $470&255; - $472 = $471 & 70; - $473 = ($472|0)!=(0); - if (!($473)) { - break; - } - $474 = HEAP32[$i>>2]|0; - $475 = (($474) + 1)|0; - HEAP32[$i>>2] = $475; - } - $476 = HEAP32[$1>>2]|0; - $477 = HEAP32[$i>>2]|0; - $478 = (_keywordCode($476,$477)|0); - $479 = HEAP32[$2>>2]|0; - HEAP32[$479>>2] = $478; - $480 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $480; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); + $86 = HEAP32[$i>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$i>>2] = $87; } - $170 = HEAP32[$2>>2]|0; - HEAP32[$170>>2] = 132; - $171 = HEAP32[$1>>2]|0; - $172 = HEAP8[$171>>0]|0; - $173 = $172&255; - $174 = ($173|0)==(48); - do { - if ($174) { - $175 = HEAP32[$1>>2]|0; - $176 = (($175) + 1|0); - $177 = HEAP8[$176>>0]|0; - $178 = $177&255; - $179 = ($178|0)==(120); - if (!($179)) { - $180 = HEAP32[$1>>2]|0; - $181 = (($180) + 1|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = ($183|0)==(88); - if (!($184)) { - break; - } - } - $185 = HEAP32[$1>>2]|0; - $186 = (($185) + 2|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = (1224 + ($188)|0); - $190 = HEAP8[$189>>0]|0; - $191 = $190&255; - $192 = $191 & 8; - $193 = ($192|0)!=(0); - if ($193) { - HEAP32[$i>>2] = 3; + $88 = HEAP32[$1>>2]|0; + $89 = ((($88)) + 46|0); + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + $92 = $91 & 2; + $93 = ($92|0)==(0); + L48: do { + if ($93) { + $94 = HEAP32[$mxReadMark>>2]|0; + $95 = HEAP32[$1>>2]|0; + $96 = ((($95)) + 52|0); + $97 = ((($96)) + 16|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($94>>>0)<($98>>>0); + $100 = HEAP32[$mxI>>2]|0; + $101 = ($100|0)==(0); + $or$cond = $99 | $101; + if ($or$cond) { + HEAP32[$i>>2] = 1; while(1) { - $194 = HEAP32[$i>>2]|0; - $195 = HEAP32[$1>>2]|0; - $196 = (($195) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = $197&255; - $199 = (1224 + ($198)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200&255; - $202 = $201 & 8; - $203 = ($202|0)!=(0); - $204 = HEAP32[$i>>2]|0; - if (!($203)) { + $102 = HEAP32[$i>>2]|0; + $103 = ($102|0)<(5); + if (!($103)) { + break L48; + } + $104 = HEAP32[$1>>2]|0; + $105 = HEAP32[$i>>2]|0; + $106 = (3 + ($105))|0; + $107 = (_walLockExclusive($104,$106,1)|0); + HEAP32[$rc>>2] = $107; + $108 = HEAP32[$rc>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + label = 36; break; } - $205 = (($204) + 1)|0; - HEAP32[$i>>2] = $205; - } - HEAP32[$0>>2] = $204; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); - } - } - } while(0); - HEAP32[$i>>2] = 0; - while(1) { - $206 = HEAP32[$i>>2]|0; - $207 = HEAP32[$1>>2]|0; - $208 = (($207) + ($206)|0); - $209 = HEAP8[$208>>0]|0; - $210 = $209&255; - $211 = (1224 + ($210)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $214 = $213 & 4; - $215 = ($214|0)!=(0); - $216 = HEAP32[$i>>2]|0; - if (!($215)) { - break; - } - $217 = (($216) + 1)|0; - HEAP32[$i>>2] = $217; - } - $218 = HEAP32[$1>>2]|0; - $219 = (($218) + ($216)|0); - $220 = HEAP8[$219>>0]|0; - $221 = $220&255; - $222 = ($221|0)==(46); - if ($222) { - $223 = HEAP32[$i>>2]|0; - $224 = (($223) + 1)|0; - HEAP32[$i>>2] = $224; - while(1) { - $225 = HEAP32[$i>>2]|0; - $226 = HEAP32[$1>>2]|0; - $227 = (($226) + ($225)|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = (1224 + ($229)|0); - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = $232 & 4; - $234 = ($233|0)!=(0); - if (!($234)) { - break; - } - $235 = HEAP32[$i>>2]|0; - $236 = (($235) + 1)|0; - HEAP32[$i>>2] = $236; - } - $237 = HEAP32[$2>>2]|0; - HEAP32[$237>>2] = 133; - } - $238 = HEAP32[$i>>2]|0; - $239 = HEAP32[$1>>2]|0; - $240 = (($239) + ($238)|0); - $241 = HEAP8[$240>>0]|0; - $242 = $241&255; - $243 = ($242|0)==(101); - if ($243) { - label = 82; - } else { - $244 = HEAP32[$i>>2]|0; - $245 = HEAP32[$1>>2]|0; - $246 = (($245) + ($244)|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $249 = ($248|0)==(69); - if ($249) { - label = 82; - } - } - do { - if ((label|0) == 82) { - $250 = HEAP32[$i>>2]|0; - $251 = (($250) + 1)|0; - $252 = HEAP32[$1>>2]|0; - $253 = (($252) + ($251)|0); - $254 = HEAP8[$253>>0]|0; - $255 = $254&255; - $256 = (1224 + ($255)|0); - $257 = HEAP8[$256>>0]|0; - $258 = $257&255; - $259 = $258 & 4; - $260 = ($259|0)!=(0); - if (!($260)) { - $261 = HEAP32[$i>>2]|0; - $262 = (($261) + 1)|0; - $263 = HEAP32[$1>>2]|0; - $264 = (($263) + ($262)|0); - $265 = HEAP8[$264>>0]|0; - $266 = $265&255; - $267 = ($266|0)==(43); - if (!($267)) { - $268 = HEAP32[$i>>2]|0; - $269 = (($268) + 1)|0; - $270 = HEAP32[$1>>2]|0; - $271 = (($270) + ($269)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $274 = ($273|0)==(45); - if (!($274)) { + $122 = HEAP32[$rc>>2]|0; + $123 = ($122|0)!=(5); + if ($123) { break; } + $125 = HEAP32[$i>>2]|0; + $126 = (($125) + 1)|0; + HEAP32[$i>>2] = $126; } - $275 = HEAP32[$i>>2]|0; - $276 = (($275) + 2)|0; - $277 = HEAP32[$1>>2]|0; - $278 = (($277) + ($276)|0); - $279 = HEAP8[$278>>0]|0; - $280 = $279&255; - $281 = (1224 + ($280)|0); - $282 = HEAP8[$281>>0]|0; - $283 = $282&255; - $284 = $283 & 4; - $285 = ($284|0)!=(0); - if (!($285)) { - break; - } - } - $286 = HEAP32[$i>>2]|0; - $287 = (($286) + 2)|0; - HEAP32[$i>>2] = $287; - while(1) { - $288 = HEAP32[$i>>2]|0; - $289 = HEAP32[$1>>2]|0; - $290 = (($289) + ($288)|0); - $291 = HEAP8[$290>>0]|0; - $292 = $291&255; - $293 = (1224 + ($292)|0); - $294 = HEAP8[$293>>0]|0; - $295 = $294&255; - $296 = $295 & 4; - $297 = ($296|0)!=(0); - if (!($297)) { + if ((label|0) == 36) { + $110 = HEAP32[$1>>2]|0; + $111 = ((($110)) + 52|0); + $112 = ((($111)) + 16|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$i>>2]|0; + $115 = HEAP32[$pInfo>>2]|0; + $116 = ((($115)) + 4|0); + $117 = (($116) + ($114<<2)|0); + HEAP32[$117>>2] = $113; + HEAP32[$mxReadMark>>2] = $113; + $118 = HEAP32[$i>>2]|0; + HEAP32[$mxI>>2] = $118; + $119 = HEAP32[$1>>2]|0; + $120 = HEAP32[$i>>2]|0; + $121 = (3 + ($120))|0; + _walUnlockExclusive($119,$121,1); break; } - $298 = HEAP32[$i>>2]|0; - $299 = (($298) + 1)|0; - HEAP32[$i>>2] = $299; + $124 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $124; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); } - $300 = HEAP32[$2>>2]|0; - HEAP32[$300>>2] = 133; } } while(0); - while(1) { - $301 = HEAP32[$i>>2]|0; - $302 = HEAP32[$1>>2]|0; - $303 = (($302) + ($301)|0); - $304 = HEAP8[$303>>0]|0; - $305 = $304&255; - $306 = (1224 + ($305)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = $308 & 70; - $310 = ($309|0)!=(0); - if (!($310)) { - break; + $127 = HEAP32[$mxI>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = HEAP32[$rc>>2]|0; + $130 = ($129|0)==(5); + $131 = $130 ? -1 : 520; + HEAP32[$0>>2] = $131; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); + } + $132 = HEAP32[$1>>2]|0; + $133 = HEAP32[$mxI>>2]|0; + $134 = (3 + ($133))|0; + $135 = (_walLockShared($132,$134)|0); + HEAP32[$rc>>2] = $135; + $136 = HEAP32[$rc>>2]|0; + $137 = ($136|0)!=(0); + if ($137) { + $138 = HEAP32[$rc>>2]|0; + $139 = ($138|0)==(5); + $140 = HEAP32[$rc>>2]|0; + $141 = $139 ? -1 : $140; + HEAP32[$0>>2] = $141; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); + } + $142 = HEAP32[$1>>2]|0; + _walShmBarrier($142); + $143 = HEAP32[$mxI>>2]|0; + $144 = HEAP32[$pInfo>>2]|0; + $145 = ((($144)) + 4|0); + $146 = (($145) + ($143<<2)|0); + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$mxReadMark>>2]|0; + $149 = ($147|0)!=($148|0); + if (!($149)) { + $150 = HEAP32[$1>>2]|0; + $151 = (_walIndexHdr($150)|0); + $152 = HEAP32[$1>>2]|0; + $153 = ((($152)) + 52|0); + $154 = (_memcmp($151,$153,48)|0); + $155 = ($154|0)!=(0); + if (!($155)) { + $159 = HEAP32[$mxI>>2]|0; + $160 = $159&65535; + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 40|0); + HEAP16[$162>>1] = $160; + $163 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $163; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); } - $311 = HEAP32[$2>>2]|0; - HEAP32[$311>>2] = 150; - $312 = HEAP32[$i>>2]|0; - $313 = (($312) + 1)|0; - HEAP32[$i>>2] = $313; } - $314 = HEAP32[$i>>2]|0; - HEAP32[$0>>2] = $314; - $482 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($482|0); + $156 = HEAP32[$1>>2]|0; + $157 = HEAP32[$mxI>>2]|0; + $158 = (3 + ($157))|0; + _walUnlockShared($156,$158); + HEAP32[$0>>2] = -1; + $164 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($164|0); } -function _sqlite3DbStrNDup($db,$z,$0,$1) { - $db = $db|0; - $z = $z|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $zNew = 0, label = 0, sp = 0; +function _openSubJournal($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp; - $zNew = sp + 8|0; - HEAP32[$3>>2] = $db; - HEAP32[$4>>2] = $z; - $6 = $5; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - $10 = HEAP32[$4>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - HEAP32[$2>>2] = 0; - $41 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($41|0); - } - $12 = HEAP32[$3>>2]|0; - $13 = $5; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (_i64Add(($15|0),($18|0),1,0)|0); - $20 = tempRet0; - $21 = (_sqlite3DbMallocRaw($12,$19,$20)|0); - HEAP32[$zNew>>2] = $21; - $22 = HEAP32[$zNew>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { - $24 = HEAP32[$zNew>>2]|0; - $25 = HEAP32[$4>>2]|0; - $26 = $5; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - _memcpy(($24|0),($25|0),($28|0))|0; - $32 = $5; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$zNew>>2]|0; - $39 = (($38) + ($34)|0); - HEAP8[$39>>0] = 0; - } - $40 = HEAP32[$zNew>>2]|0; - HEAP32[$2>>2] = $40; - $41 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($41|0); -} -function _sqlite3Dequote($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $quote = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $quote = sp + 16|0; - $i = sp + 4|0; - $j = sp; - HEAP32[$1>>2] = $z; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$0>>2] = -1; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); - } - $4 = HEAP32[$1>>2]|0; - $5 = HEAP8[$4>>0]|0; - HEAP8[$quote>>0] = $5; - $6 = HEAP8[$quote>>0]|0; - $7 = $6 << 24 >> 24; - if ((($7|0) == 91)) { - HEAP8[$quote>>0] = 93; - } else if (!((($7|0) == 96) | (($7|0) == 34) | (($7|0) == 39))) { - HEAP32[$0>>2] = -1; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$rc>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 68|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if ($5) { + $24 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($24|0); } - HEAP32[$i>>2] = 1; - HEAP32[$j>>2] = 0; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + ($8)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = HEAP8[$quote>>0]|0; - $14 = $13 << 24 >> 24; - $15 = ($12|0)==($14|0); - $16 = HEAP32[$i>>2]|0; - if ($15) { - $17 = (($16) + 1)|0; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + ($17)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = HEAP8[$quote>>0]|0; - $23 = $22 << 24 >> 24; - $24 = ($21|0)==($23|0); - if (!($24)) { - break; - } - $25 = HEAP8[$quote>>0]|0; - $26 = HEAP32[$j>>2]|0; - $27 = (($26) + 1)|0; - HEAP32[$j>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + ($26)|0); - HEAP8[$29>>0] = $25; - $30 = HEAP32[$i>>2]|0; - $31 = (($30) + 1)|0; - HEAP32[$i>>2] = $31; - } else { - $32 = HEAP32[$1>>2]|0; - $33 = (($32) + ($16)|0); - $34 = HEAP8[$33>>0]|0; - $35 = HEAP32[$j>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[$j>>2] = $36; - $37 = HEAP32[$1>>2]|0; - $38 = (($37) + ($35)|0); - HEAP8[$38>>0] = $34; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 5|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($9|0)==(4); + if (!($10)) { + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 21|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)!=(0); + if (!($15)) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 68|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_pagerOpentemp($19,$22,8192)|0); + HEAP32[$rc>>2] = $23; + $24 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($24|0); } - $39 = HEAP32[$i>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$i>>2] = $40; } - $41 = HEAP32[$j>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = (($42) + ($41)|0); - HEAP8[$43>>0] = 0; - $44 = HEAP32[$j>>2]|0; - HEAP32[$0>>2] = $44; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 68|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3MemJournalOpen($18); + $24 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($24|0); } -function _juliandayFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0; +function _write32bits($fd,$0,$1,$val) { + $fd = $fd|0; + $0 = $0|0; + $1 = $1|0; + $val = $val|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ac = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $x = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; - } - _computeJD($x); - $8 = HEAP32[$0>>2]|0; - $9 = $x; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (+($11>>>0)) + (4294967296.0*(+($14|0))); - $16 = $15 / 8.64E+7; - _sqlite3_result_double($8,$16); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp; + $4 = sp + 8|0; + $ac = sp + 16|0; + HEAP32[$2>>2] = $fd; + $5 = $3; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + HEAP32[$4>>2] = $val; + $9 = HEAP32[$4>>2]|0; + _sqlite3Put4byte($ac,$9); + $10 = HEAP32[$2>>2]|0; + $11 = $3; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3OsWrite($10,$ac,4,$13,$16)|0); + STACKTOP = sp;return ($17|0); } -function _dateFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0, $zBuf = 0; - var label = 0, sp = 0; +function _addToSavepointBitvecs($pPager,$pgno) { + $pPager = $pPager|0; + $pgno = $pgno|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, $p = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $x = sp; - $zBuf = sp + 72|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $ii = sp + 8|0; + $rc = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $pgno; + HEAP32[$rc>>2] = 0; + HEAP32[$ii>>2] = 0; + while(1) { + $2 = HEAP32[$ii>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 96|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2|0)<($5|0); + if (!($6)) { + break; + } + $7 = HEAP32[$ii>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 92|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + (($7*48)|0)|0); + HEAP32[$p>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$p>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($12>>>0)<=($15>>>0); + if ($16) { + $17 = HEAP32[$p>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = (_sqlite3BitvecSet($19,$20)|0); + $22 = HEAP32[$rc>>2]|0; + $23 = $22 | $21; + HEAP32[$rc>>2] = $23; + } + $24 = HEAP32[$ii>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$ii>>2] = $25; } - _computeYMD($x); - $8 = (($x) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($x) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($x) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - (_sqlite3_snprintf(100,$zBuf,9672,$vararg_buffer)|0); - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,$zBuf,-1,(-1)); - STACKTOP = sp;return; + $26 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($26|0); } -function _timeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0; - var $zBuf = 0, label = 0, sp = 0; +function _sqlite3PagerGetExtra($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $x = sp; - $zBuf = sp + 72|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; - } - _computeHMS($x); - $8 = (($x) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($x) + 24|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($x) + 32|0); - $13 = +HEAPF64[$12>>3]; - $14 = (~~(($13))); - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr2>>2] = $14; - (_sqlite3_snprintf(100,$zBuf,9656,$vararg_buffer)|0); - $15 = HEAP32[$0>>2]|0; - _sqlite3_result_text($15,$zBuf,-1,(-1)); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPg; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); } -function _datetimeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $x = 0, $zBuf = 0, label = 0, sp = 0; +function _sqlite3PagerPageRefcount($pPage) { + $pPage = $pPage|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $x = sp; - $zBuf = sp + 84|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; - } - _computeYMD_HMS($x); - $8 = (($x) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($x) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($x) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($x) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($x) + 24|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($x) + 32|0); - $19 = +HEAPF64[$18>>3]; - $20 = (~~(($19))); - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = (($vararg_buffer) + 12|0); - HEAP32[$vararg_ptr3>>2] = $15; - $vararg_ptr4 = (($vararg_buffer) + 16|0); - HEAP32[$vararg_ptr4>>2] = $17; - $vararg_ptr5 = (($vararg_buffer) + 20|0); - HEAP32[$vararg_ptr5>>2] = $20; - (_sqlite3_snprintf(100,$zBuf,9624,$vararg_buffer)|0); - $21 = HEAP32[$0>>2]|0; - _sqlite3_result_text($21,$zBuf,-1,(-1)); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPage; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3PcachePageRefcount($1)|0); + STACKTOP = sp;return ($2|0); } -function _strftimeFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; +function _btreeInitPage($pPage) { + $pPage = $pPage|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0; - var $189 = 0.0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0.0, $274 = 0.0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $n = 0, $nDay = 0, $s = 0, $vararg_buffer28 = 0, $wd = 0, $x = 0; - var $y = 0, $z = 0, $zBuf = 0, $zFmt = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cellOffset = 0, $data = 0, $hdr = 0, $iCellFirst = 0, $iCellLast = 0, $nFree = 0, $next = 0, $pBt = 0, $pc = 0, $size = 0; + var $top = 0, $usableSize = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; - $vararg_buffer28 = sp + 112|0; - $0 = sp + 156|0; - $1 = sp + 152|0; - $2 = sp + 148|0; - $x = sp + 64|0; - $n = sp + 56|0; - $i = sp + 144|0; - $j = sp + 140|0; - $z = sp + 136|0; - $db = sp + 132|0; - $zFmt = sp + 128|0; - $zBuf = sp + 160|0; - $s = sp + 48|0; - $nDay = sp + 124|0; - $y = sp; - $wd = sp + 120|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zFmt>>2] = $5; - $6 = HEAP32[$zFmt>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) - 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 4|0); - $13 = (_isDate($8,$10,$12,$x)|0); - $14 = ($13|0)!=(0); - if ($14) { - STACKTOP = sp;return; - } - $15 = HEAP32[$0>>2]|0; - $16 = (_sqlite3_context_db_handle($15)|0); - HEAP32[$db>>2] = $16; - HEAP32[$i>>2] = 0; - $17 = $n; - $18 = $17; - HEAP32[$18>>2] = 1; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = 0; - L7: while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$zFmt>>2]|0; - $23 = (($22) + ($21)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)!=(0); - if (!($25)) { - break; - } - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$zFmt>>2]|0; - $28 = (($27) + ($26)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)==(37); - if ($31) { - $32 = HEAP32[$i>>2]|0; - $33 = (($32) + 1)|0; - $34 = HEAP32[$zFmt>>2]|0; - $35 = (($34) + ($33)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36 << 24 >> 24; - switch ($37|0) { - case 87: case 83: case 77: case 109: case 72: case 100: { - $38 = $n; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (_i64Add(($40|0),($43|0),1,0)|0); - $45 = tempRet0; - $46 = $n; - $47 = $46; - HEAP32[$47>>2] = $44; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $45; - break; - } - case 37: case 119: { - break; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $pc = sp + 36|0; + $hdr = sp + 44|0; + $data = sp + 28|0; + $pBt = sp; + $usableSize = sp + 32|0; + $cellOffset = sp + 40|0; + $nFree = sp + 4|0; + $top = sp + 24|0; + $iCellFirst = sp + 12|0; + $iCellLast = sp + 8|0; + $next = sp + 38|0; + $size = sp + 42|0; + HEAP32[$1>>2] = $pPage; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + do { + if (!($4)) { + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 52|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$pBt>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 6|0); + $10 = HEAP8[$9>>0]|0; + HEAP8[$hdr>>0] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 56|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$data>>2] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = HEAP8[$hdr>>0]|0; + $16 = $15&255; + $17 = HEAP32[$data>>2]|0; + $18 = (($17) + ($16)|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = (_decodeFlags($14,$20)|0); + $22 = ($21|0)!=(0); + if ($22) { + $23 = (_sqlite3CorruptError(53694)|0); + HEAP32[$0>>2] = $23; + $229 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($229|0); } - case 106: { - $62 = $n; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Add(($64|0),($67|0),3,0)|0); - $69 = tempRet0; - $70 = $n; - $71 = $70; - HEAP32[$71>>2] = $68; - $72 = (($70) + 4)|0; - $73 = $72; - HEAP32[$73>>2] = $69; - break; + $24 = HEAP32[$pBt>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($26) - 1)|0; + $28 = $27&65535; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 20|0); + HEAP16[$30>>1] = $28; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 1|0); + HEAP8[$32>>0] = 0; + $33 = HEAP32[$pBt>>2]|0; + $34 = ((($33)) + 36|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$usableSize>>2] = $35; + $36 = HEAP8[$hdr>>0]|0; + $37 = $36&255; + $38 = (($37) + 12)|0; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 5|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42<<2; + $44 = (($38) - ($43))|0; + $45 = $44&65535; + HEAP16[$cellOffset>>1] = $45; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 14|0); + HEAP16[$47>>1] = $45; + $48 = HEAP32[$usableSize>>2]|0; + $49 = HEAP32[$data>>2]|0; + $50 = (($49) + ($48)|0); + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 60|0); + HEAP32[$52>>2] = $50; + $53 = HEAP16[$cellOffset>>1]|0; + $54 = $53&65535; + $55 = HEAP32[$data>>2]|0; + $56 = (($55) + ($54)|0); + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 64|0); + HEAP32[$58>>2] = $56; + $59 = HEAP8[$hdr>>0]|0; + $60 = $59&255; + $61 = (($60) + 5)|0; + $62 = HEAP32[$data>>2]|0; + $63 = (($62) + ($61)|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = $65 << 8; + $67 = HEAP8[$hdr>>0]|0; + $68 = $67&255; + $69 = (($68) + 5)|0; + $70 = HEAP32[$data>>2]|0; + $71 = (($70) + ($69)|0); + $72 = ((($71)) + 1|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = $66 | $74; + $76 = (($75) - 1)|0; + $77 = $76 & 65535; + $78 = (($77) + 1)|0; + HEAP32[$top>>2] = $78; + $79 = HEAP8[$hdr>>0]|0; + $80 = $79&255; + $81 = (($80) + 3)|0; + $82 = HEAP32[$data>>2]|0; + $83 = (($82) + ($81)|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = $85 << 8; + $87 = HEAP8[$hdr>>0]|0; + $88 = $87&255; + $89 = (($88) + 3)|0; + $90 = HEAP32[$data>>2]|0; + $91 = (($90) + ($89)|0); + $92 = ((($91)) + 1|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = $86 | $94; + $96 = $95&65535; + $97 = HEAP32[$1>>2]|0; + $98 = ((($97)) + 18|0); + HEAP16[$98>>1] = $96; + $99 = HEAP32[$1>>2]|0; + $100 = ((($99)) + 18|0); + $101 = HEAP16[$100>>1]|0; + $102 = $101&65535; + $103 = HEAP32[$pBt>>2]|0; + $104 = ((($103)) + 32|0); + $105 = HEAP32[$104>>2]|0; + $106 = (($105) - 8)|0; + $107 = (($106>>>0) / 6)&-1; + $108 = ($102>>>0)>($107>>>0); + if ($108) { + $109 = (_sqlite3CorruptError(53706)|0); + HEAP32[$0>>2] = $109; + $229 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($229|0); } - case 89: { - $74 = $n; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (_i64Add(($76|0),($79|0),8,0)|0); - $81 = tempRet0; - $82 = $n; - $83 = $82; - HEAP32[$83>>2] = $80; - $84 = (($82) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = $81; - break; + $110 = HEAP16[$cellOffset>>1]|0; + $111 = $110&65535; + $112 = HEAP32[$1>>2]|0; + $113 = ((($112)) + 18|0); + $114 = HEAP16[$113>>1]|0; + $115 = $114&65535; + $116 = $115<<1; + $117 = (($111) + ($116))|0; + HEAP32[$iCellFirst>>2] = $117; + $118 = HEAP32[$usableSize>>2]|0; + $119 = (($118) - 4)|0; + HEAP32[$iCellLast>>2] = $119; + $120 = HEAP8[$hdr>>0]|0; + $121 = $120&255; + $122 = (($121) + 1)|0; + $123 = HEAP32[$data>>2]|0; + $124 = (($123) + ($122)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $125&255; + $127 = $126 << 8; + $128 = HEAP8[$hdr>>0]|0; + $129 = $128&255; + $130 = (($129) + 1)|0; + $131 = HEAP32[$data>>2]|0; + $132 = (($131) + ($130)|0); + $133 = ((($132)) + 1|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = $127 | $135; + $137 = $136&65535; + HEAP16[$pc>>1] = $137; + $138 = HEAP8[$hdr>>0]|0; + $139 = $138&255; + $140 = (($139) + 7)|0; + $141 = HEAP32[$data>>2]|0; + $142 = (($141) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $145 = HEAP32[$top>>2]|0; + $146 = (($144) + ($145))|0; + HEAP32[$nFree>>2] = $146; + while(1) { + $147 = HEAP16[$pc>>1]|0; + $148 = $147&65535; + $149 = ($148|0)>(0); + if (!($149)) { + label = 16; + break; + } + $150 = HEAP16[$pc>>1]|0; + $151 = $150&65535; + $152 = HEAP32[$iCellFirst>>2]|0; + $153 = ($151|0)<($152|0); + if ($153) { + label = 10; + break; + } + $154 = HEAP16[$pc>>1]|0; + $155 = $154&65535; + $156 = HEAP32[$iCellLast>>2]|0; + $157 = ($155|0)>($156|0); + if ($157) { + label = 10; + break; + } + $159 = HEAP16[$pc>>1]|0; + $160 = $159&65535; + $161 = HEAP32[$data>>2]|0; + $162 = (($161) + ($160)|0); + $163 = HEAP8[$162>>0]|0; + $164 = $163&255; + $165 = $164 << 8; + $166 = HEAP16[$pc>>1]|0; + $167 = $166&65535; + $168 = HEAP32[$data>>2]|0; + $169 = (($168) + ($167)|0); + $170 = ((($169)) + 1|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171&255; + $173 = $165 | $172; + $174 = $173&65535; + HEAP16[$next>>1] = $174; + $175 = HEAP16[$pc>>1]|0; + $176 = $175&65535; + $177 = (($176) + 2)|0; + $178 = HEAP32[$data>>2]|0; + $179 = (($178) + ($177)|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180&255; + $182 = $181 << 8; + $183 = HEAP16[$pc>>1]|0; + $184 = $183&65535; + $185 = (($184) + 2)|0; + $186 = HEAP32[$data>>2]|0; + $187 = (($186) + ($185)|0); + $188 = ((($187)) + 1|0); + $189 = HEAP8[$188>>0]|0; + $190 = $189&255; + $191 = $182 | $190; + $192 = $191&65535; + HEAP16[$size>>1] = $192; + $193 = HEAP16[$next>>1]|0; + $194 = $193&65535; + $195 = ($194|0)>(0); + if ($195) { + $196 = HEAP16[$next>>1]|0; + $197 = $196&65535; + $198 = HEAP16[$pc>>1]|0; + $199 = $198&65535; + $200 = HEAP16[$size>>1]|0; + $201 = $200&65535; + $202 = (($199) + ($201))|0; + $203 = (($202) + 3)|0; + $204 = ($197|0)<=($203|0); + if ($204) { + label = 14; + break; + } + } + $205 = HEAP16[$pc>>1]|0; + $206 = $205&65535; + $207 = HEAP16[$size>>1]|0; + $208 = $207&65535; + $209 = (($206) + ($208))|0; + $210 = HEAP32[$usableSize>>2]|0; + $211 = ($209|0)>($210|0); + if ($211) { + label = 14; + break; + } + $213 = HEAP32[$nFree>>2]|0; + $214 = HEAP16[$size>>1]|0; + $215 = $214&65535; + $216 = (($213) + ($215))|0; + HEAP32[$nFree>>2] = $216; + $217 = HEAP16[$next>>1]|0; + HEAP16[$pc>>1] = $217; } - case 102: { - $50 = $n; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (_i64Add(($52|0),($55|0),8,0)|0); - $57 = tempRet0; - $58 = $n; - $59 = $58; - HEAP32[$59>>2] = $56; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = $57; - break; + if ((label|0) == 10) { + $158 = (_sqlite3CorruptError(53749)|0); + HEAP32[$0>>2] = $158; + $229 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($229|0); } - case 74: case 115: { - $86 = $n; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (_i64Add(($88|0),($91|0),50,0)|0); - $93 = tempRet0; - $94 = $n; - $95 = $94; - HEAP32[$95>>2] = $92; - $96 = (($94) + 4)|0; - $97 = $96; - HEAP32[$97>>2] = $93; - break; + else if ((label|0) == 14) { + $212 = (_sqlite3CorruptError(53756)|0); + HEAP32[$0>>2] = $212; + $229 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($229|0); } - default: { - label = 43; - break L7; + else if ((label|0) == 16) { + $218 = HEAP32[$nFree>>2]|0; + $219 = HEAP32[$usableSize>>2]|0; + $220 = ($218|0)>($219|0); + if (!($220)) { + $222 = HEAP32[$nFree>>2]|0; + $223 = HEAP32[$iCellFirst>>2]|0; + $224 = (($222) - ($223))|0; + $225 = $224&65535; + $226 = HEAP32[$1>>2]|0; + $227 = ((($226)) + 16|0); + HEAP16[$227>>1] = $225; + $228 = HEAP32[$1>>2]|0; + HEAP8[$228>>0] = 1; + break; + } + $221 = (_sqlite3CorruptError(53770)|0); + HEAP32[$0>>2] = $221; + $229 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($229|0); } + } + } while(0); + HEAP32[$0>>2] = 0; + $229 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($229|0); +} +function _decodeFlags($pPage,$flagByte) { + $pPage = $pPage|0; + $flagByte = $flagByte|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $pBt = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $pBt = sp; + HEAP32[$1>>2] = $pPage; + HEAP32[$2>>2] = $flagByte; + $3 = HEAP32[$2>>2]|0; + $4 = $3 >> 3; + $5 = $4&255; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 5|0); + HEAP8[$7>>0] = $5; + $8 = HEAP32[$2>>2]|0; + $9 = $8 & -9; + HEAP32[$2>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 5|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13<<2; + $15 = (4 - ($14))|0; + $16 = $15&255; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 7|0); + HEAP8[$18>>0] = $16; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 52|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$pBt>>2] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(5); + do { + if ($23) { + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 2|0); + HEAP8[$25>>0] = 1; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 5|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 3|0); + HEAP8[$30>>0] = $28; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 5|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)!=(0); + $35 = $34 ^ 1; + $36 = $35&1; + $37 = $36&255; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 4|0); + HEAP8[$39>>0] = $37; + $40 = HEAP32[$pBt>>2]|0; + $41 = ((($40)) + 28|0); + $42 = HEAP16[$41>>1]|0; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 10|0); + HEAP16[$44>>1] = $42; + $45 = HEAP32[$pBt>>2]|0; + $46 = ((($45)) + 30|0); + $47 = HEAP16[$46>>1]|0; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 12|0); + HEAP16[$49>>1] = $47; + } else { + $50 = HEAP32[$2>>2]|0; + $51 = ($50|0)==(2); + if ($51) { + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 2|0); + HEAP8[$53>>0] = 0; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 3|0); + HEAP8[$55>>0] = 0; + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 4|0); + HEAP8[$57>>0] = 0; + $58 = HEAP32[$pBt>>2]|0; + $59 = ((($58)) + 24|0); + $60 = HEAP16[$59>>1]|0; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 10|0); + HEAP16[$62>>1] = $60; + $63 = HEAP32[$pBt>>2]|0; + $64 = ((($63)) + 26|0); + $65 = HEAP16[$64>>1]|0; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 12|0); + HEAP16[$67>>1] = $65; + break; } - $98 = HEAP32[$i>>2]|0; - $99 = (($98) + 1)|0; - HEAP32[$i>>2] = $99; + $68 = (_sqlite3CorruptError(53655)|0); + HEAP32[$0>>2] = $68; + $74 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($74|0); } - $100 = HEAP32[$i>>2]|0; - $101 = (($100) + 1)|0; - HEAP32[$i>>2] = $101; - $102 = $n; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = (($102) + 4)|0; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (_i64Add(($104|0),($107|0),1,0)|0); - $109 = tempRet0; - $110 = $n; - $111 = $110; - HEAP32[$111>>2] = $108; - $112 = (($110) + 4)|0; - $113 = $112; - HEAP32[$113>>2] = $109; + } while(0); + $69 = HEAP32[$pBt>>2]|0; + $70 = ((($69)) + 21|0); + $71 = HEAP8[$70>>0]|0; + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 8|0); + HEAP8[$73>>0] = $71; + HEAP32[$0>>2] = 0; + $74 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($74|0); +} +function _allSpaces($z,$n) { + $z = $z|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $z; + HEAP32[$1>>2] = $n; + while(1) { + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(0); + if ($3) { + $4 = HEAP32[$1>>2]|0; + $5 = (($4) - 1)|0; + $6 = HEAP32[$0>>2]|0; + $7 = (($6) + ($5)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)==(32); + $15 = $10; + } else { + $15 = 0; + } + $11 = HEAP32[$1>>2]|0; + if (!($15)) { + break; + } + $12 = (($11) + -1)|0; + HEAP32[$1>>2] = $12; } - if ((label|0) == 43) { - STACKTOP = sp;return; + $13 = ($11|0)==(0); + $14 = $13&1; + STACKTOP = sp;return ($14|0); +} +function _sqlite3BtreeCheckpoint($p,$eMode,$pnLog,$pnCkpt) { + $p = $p|0; + $eMode = $eMode|0; + $pnLog = $pnLog|0; + $pnCkpt = $pnCkpt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $rc = sp + 4|0; + $pBt = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $eMode; + HEAP32[$2>>2] = $pnLog; + HEAP32[$3>>2] = $pnCkpt; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $21 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($21|0); } - $114 = $n; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (($114) + 4)|0; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = ($119>>>0)<(0); - $121 = ($116>>>0)<(100); - $122 = ($119|0)==(0); - $123 = $122 & $121; - $124 = $120 | $123; - if ($124) { - HEAP32[$z>>2] = $zBuf; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$pBt>>2] = $8; + $9 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($9); + $10 = HEAP32[$pBt>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(0); + if ($14) { + HEAP32[$rc>>2] = 6; + $21 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($21|0); } else { - $125 = $n; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = HEAP32[$db>>2]|0; - $132 = (($131) + 88|0); - $133 = HEAP32[$132>>2]|0; - $134 = ($133|0)<(0); - $135 = $134 << 31 >> 31; - $136 = ($130>>>0)>($135>>>0); - $137 = ($127>>>0)>($133>>>0); - $138 = ($130|0)==($135|0); - $139 = $138 & $137; - $140 = $136 | $139; - if ($140) { - $141 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($141); - STACKTOP = sp;return; - } - $142 = HEAP32[$db>>2]|0; - $143 = $n; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (($143) + 4)|0; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = ($145|0)<(0); - $150 = $149 << 31 >> 31; - $151 = (_sqlite3DbMallocRaw($142,$145,$150)|0); - HEAP32[$z>>2] = $151; - $152 = HEAP32[$z>>2]|0; - $153 = ($152|0)==(0|0); - if ($153) { - $154 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($154); - STACKTOP = sp;return; - } - } - _computeJD($x); - _computeYMD_HMS($x); - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $155 = HEAP32[$i>>2]|0; - $156 = HEAP32[$zFmt>>2]|0; - $157 = (($156) + ($155)|0); - $158 = HEAP8[$157>>0]|0; - $159 = ($158<<24>>24)!=(0); - if (!($159)) { - break; - } - $160 = HEAP32[$i>>2]|0; - $161 = HEAP32[$zFmt>>2]|0; - $162 = (($161) + ($160)|0); - $163 = HEAP8[$162>>0]|0; - $164 = $163 << 24 >> 24; - $165 = ($164|0)!=(37); - $166 = HEAP32[$i>>2]|0; - L36: do { - if ($165) { - $167 = HEAP32[$zFmt>>2]|0; - $168 = (($167) + ($166)|0); - $169 = HEAP8[$168>>0]|0; - $170 = HEAP32[$j>>2]|0; - $171 = (($170) + 1)|0; - HEAP32[$j>>2] = $171; - $172 = HEAP32[$z>>2]|0; - $173 = (($172) + ($170)|0); - HEAP8[$173>>0] = $169; - } else { - $174 = (($166) + 1)|0; - HEAP32[$i>>2] = $174; - $175 = HEAP32[$i>>2]|0; - $176 = HEAP32[$zFmt>>2]|0; - $177 = (($176) + ($175)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178 << 24 >> 24; - do { - switch ($179|0) { - case 74: { - $264 = HEAP32[$j>>2]|0; - $265 = HEAP32[$z>>2]|0; - $266 = (($265) + ($264)|0); - $267 = $x; - $268 = $267; - $269 = HEAP32[$268>>2]|0; - $270 = (($267) + 4)|0; - $271 = $270; - $272 = HEAP32[$271>>2]|0; - $273 = (+($269>>>0)) + (4294967296.0*(+($272|0))); - $274 = $273 / 8.64E+7; - HEAPF64[tempDoublePtr>>3]=$274;HEAP32[$vararg_buffer28>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer28+4>>2]=HEAP32[tempDoublePtr+4>>2]; - (_sqlite3_snprintf(20,$266,9448,$vararg_buffer28)|0); - $275 = HEAP32[$j>>2]|0; - $276 = HEAP32[$z>>2]|0; - $277 = (($276) + ($275)|0); - $278 = (_sqlite3Strlen30($277)|0); - $279 = HEAP32[$j>>2]|0; - $280 = (($279) + ($278))|0; - HEAP32[$j>>2] = $280; - break L36; - break; - } - case 72: { - $201 = HEAP32[$j>>2]|0; - $202 = HEAP32[$z>>2]|0; - $203 = (($202) + ($201)|0); - $204 = (($x) + 20|0); - $205 = HEAP32[$204>>2]|0; - HEAP32[$vararg_buffer28>>2] = $205; - (_sqlite3_snprintf(3,$203,9424,$vararg_buffer28)|0); - $206 = HEAP32[$j>>2]|0; - $207 = (($206) + 2)|0; - HEAP32[$j>>2] = $207; - break L36; - break; - } - case 106: case 87: { - dest=$y+0|0; src=$x+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $208 = (($y) + 42|0); - HEAP8[$208>>0] = 0; - $209 = (($y) + 12|0); - HEAP32[$209>>2] = 1; - $210 = (($y) + 16|0); - HEAP32[$210>>2] = 1; - _computeJD($y); - $211 = $x; - $212 = $211; - $213 = HEAP32[$212>>2]|0; - $214 = (($211) + 4)|0; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = $y; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (($217) + 4)|0; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (_i64Subtract(($213|0),($216|0),($219|0),($222|0))|0); - $224 = tempRet0; - $225 = (_i64Add(($223|0),($224|0),43200000,0)|0); - $226 = tempRet0; - $227 = (___divdi3(($225|0),($226|0),86400000,0)|0); - $228 = tempRet0; - HEAP32[$nDay>>2] = $227; - $229 = HEAP32[$i>>2]|0; - $230 = HEAP32[$zFmt>>2]|0; - $231 = (($230) + ($229)|0); - $232 = HEAP8[$231>>0]|0; - $233 = $232 << 24 >> 24; - $234 = ($233|0)==(87); - if ($234) { - $235 = $x; - $236 = $235; - $237 = HEAP32[$236>>2]|0; - $238 = (($235) + 4)|0; - $239 = $238; - $240 = HEAP32[$239>>2]|0; - $241 = (_i64Add(($237|0),($240|0),43200000,0)|0); - $242 = tempRet0; - $243 = (___divdi3(($241|0),($242|0),86400000,0)|0); - $244 = tempRet0; - $245 = (___remdi3(($243|0),($244|0),7,0)|0); - $246 = tempRet0; - HEAP32[$wd>>2] = $245; - $247 = HEAP32[$j>>2]|0; - $248 = HEAP32[$z>>2]|0; - $249 = (($248) + ($247)|0); - $250 = HEAP32[$nDay>>2]|0; - $251 = (($250) + 7)|0; - $252 = HEAP32[$wd>>2]|0; - $253 = (($251) - ($252))|0; - $254 = (($253|0) / 7)&-1; - HEAP32[$vararg_buffer28>>2] = $254; - (_sqlite3_snprintf(3,$249,9424,$vararg_buffer28)|0); - $255 = HEAP32[$j>>2]|0; - $256 = (($255) + 2)|0; - HEAP32[$j>>2] = $256; - break L36; - } else { - $257 = HEAP32[$j>>2]|0; - $258 = HEAP32[$z>>2]|0; - $259 = (($258) + ($257)|0); - $260 = HEAP32[$nDay>>2]|0; - $261 = (($260) + 1)|0; - HEAP32[$vararg_buffer28>>2] = $261; - (_sqlite3_snprintf(4,$259,9440,$vararg_buffer28)|0); - $262 = HEAP32[$j>>2]|0; - $263 = (($262) + 3)|0; - HEAP32[$j>>2] = $263; - break L36; - } - break; - } - case 109: { - $281 = HEAP32[$j>>2]|0; - $282 = HEAP32[$z>>2]|0; - $283 = (($282) + ($281)|0); - $284 = (($x) + 12|0); - $285 = HEAP32[$284>>2]|0; - HEAP32[$vararg_buffer28>>2] = $285; - (_sqlite3_snprintf(3,$283,9424,$vararg_buffer28)|0); - $286 = HEAP32[$j>>2]|0; - $287 = (($286) + 2)|0; - HEAP32[$j>>2] = $287; - break L36; - break; - } - case 102: { - $187 = (($x) + 32|0); - $188 = +HEAPF64[$187>>3]; - HEAPF64[$s>>3] = $188; - $189 = +HEAPF64[$s>>3]; - $190 = $189 > 59.999000000000002; - if ($190) { - HEAPF64[$s>>3] = 59.999000000000002; - } - $191 = HEAP32[$j>>2]|0; - $192 = HEAP32[$z>>2]|0; - $193 = (($192) + ($191)|0); - $194 = +HEAPF64[$s>>3]; - HEAPF64[tempDoublePtr>>3]=$194;HEAP32[$vararg_buffer28>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer28+4>>2]=HEAP32[tempDoublePtr+4>>2]; - (_sqlite3_snprintf(7,$193,9432,$vararg_buffer28)|0); - $195 = HEAP32[$j>>2]|0; - $196 = HEAP32[$z>>2]|0; - $197 = (($196) + ($195)|0); - $198 = (_sqlite3Strlen30($197)|0); - $199 = HEAP32[$j>>2]|0; - $200 = (($199) + ($198))|0; - HEAP32[$j>>2] = $200; - break L36; - break; - } - case 115: { - $295 = HEAP32[$j>>2]|0; - $296 = HEAP32[$z>>2]|0; - $297 = (($296) + ($295)|0); - $298 = $x; - $299 = $298; - $300 = HEAP32[$299>>2]|0; - $301 = (($298) + 4)|0; - $302 = $301; - $303 = HEAP32[$302>>2]|0; - $304 = (___divdi3(($300|0),($303|0),1000,0)|0); - $305 = tempRet0; - $306 = (_i64Subtract(($304|0),($305|0),413362496,49)|0); - $307 = tempRet0; - $308 = $vararg_buffer28; - $309 = $308; - HEAP32[$309>>2] = $306; - $310 = (($308) + 4)|0; - $311 = $310; - HEAP32[$311>>2] = $307; - (_sqlite3_snprintf(30,$297,9456,$vararg_buffer28)|0); - $312 = HEAP32[$j>>2]|0; - $313 = HEAP32[$z>>2]|0; - $314 = (($313) + ($312)|0); - $315 = (_sqlite3Strlen30($314)|0); - $316 = HEAP32[$j>>2]|0; - $317 = (($316) + ($315))|0; - HEAP32[$j>>2] = $317; - break L36; - break; - } - case 100: { - $180 = HEAP32[$j>>2]|0; - $181 = HEAP32[$z>>2]|0; - $182 = (($181) + ($180)|0); - $183 = (($x) + 16|0); - $184 = HEAP32[$183>>2]|0; - HEAP32[$vararg_buffer28>>2] = $184; - (_sqlite3_snprintf(3,$182,9424,$vararg_buffer28)|0); - $185 = HEAP32[$j>>2]|0; - $186 = (($185) + 2)|0; - HEAP32[$j>>2] = $186; - break L36; - break; - } - case 119: { - $326 = $x; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = (($326) + 4)|0; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - $332 = (_i64Add(($328|0),($331|0),129600000,0)|0); - $333 = tempRet0; - $334 = (___divdi3(($332|0),($333|0),86400000,0)|0); - $335 = tempRet0; - $336 = (___remdi3(($334|0),($335|0),7,0)|0); - $337 = tempRet0; - $338 = $336&255; - $339 = $338 << 24 >> 24; - $340 = (($339) + 48)|0; - $341 = $340&255; - $342 = HEAP32[$j>>2]|0; - $343 = (($342) + 1)|0; - HEAP32[$j>>2] = $343; - $344 = HEAP32[$z>>2]|0; - $345 = (($344) + ($342)|0); - HEAP8[$345>>0] = $341; - break L36; - break; - } - case 89: { - $346 = HEAP32[$j>>2]|0; - $347 = HEAP32[$z>>2]|0; - $348 = (($347) + ($346)|0); - $349 = (($x) + 8|0); - $350 = HEAP32[$349>>2]|0; - HEAP32[$vararg_buffer28>>2] = $350; - (_sqlite3_snprintf(5,$348,9464,$vararg_buffer28)|0); - $351 = HEAP32[$j>>2]|0; - $352 = HEAP32[$z>>2]|0; - $353 = (($352) + ($351)|0); - $354 = (_sqlite3Strlen30($353)|0); - $355 = HEAP32[$j>>2]|0; - $356 = (($355) + ($354))|0; - HEAP32[$j>>2] = $356; - break L36; - break; - } - case 77: { - $288 = HEAP32[$j>>2]|0; - $289 = HEAP32[$z>>2]|0; - $290 = (($289) + ($288)|0); - $291 = (($x) + 24|0); - $292 = HEAP32[$291>>2]|0; - HEAP32[$vararg_buffer28>>2] = $292; - (_sqlite3_snprintf(3,$290,9424,$vararg_buffer28)|0); - $293 = HEAP32[$j>>2]|0; - $294 = (($293) + 2)|0; - HEAP32[$j>>2] = $294; - break L36; - break; - } - case 83: { - $318 = HEAP32[$j>>2]|0; - $319 = HEAP32[$z>>2]|0; - $320 = (($319) + ($318)|0); - $321 = (($x) + 32|0); - $322 = +HEAPF64[$321>>3]; - $323 = (~~(($322))); - HEAP32[$vararg_buffer28>>2] = $323; - (_sqlite3_snprintf(3,$320,9424,$vararg_buffer28)|0); - $324 = HEAP32[$j>>2]|0; - $325 = (($324) + 2)|0; - HEAP32[$j>>2] = $325; - break L36; - break; - } - default: { - $357 = HEAP32[$j>>2]|0; - $358 = (($357) + 1)|0; - HEAP32[$j>>2] = $358; - $359 = HEAP32[$z>>2]|0; - $360 = (($359) + ($357)|0); - HEAP8[$360>>0] = 37; - break L36; - } - } - } while(0); - } - } while(0); - $361 = HEAP32[$i>>2]|0; - $362 = (($361) + 1)|0; - HEAP32[$i>>2] = $362; + $15 = HEAP32[$pBt>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = (_sqlite3PagerCheckpoint($16,$17,$18,$19)|0); + HEAP32[$rc>>2] = $20; + $21 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($21|0); } - $363 = HEAP32[$j>>2]|0; - $364 = HEAP32[$z>>2]|0; - $365 = (($364) + ($363)|0); - HEAP8[$365>>0] = 0; - $366 = HEAP32[$0>>2]|0; - $367 = HEAP32[$z>>2]|0; - $368 = HEAP32[$z>>2]|0; - $369 = ($368|0)==($zBuf|0); - $370 = $369 ? (-1) : 16; - _sqlite3_result_text($366,$367,-1,$370); - STACKTOP = sp;return; -} -function _ctimeFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - _timeFunc($3,0,0); - STACKTOP = sp;return; -} -function _ctimestampFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - _datetimeFunc($3,0,0); - STACKTOP = sp;return; + return (0)|0; } -function _cdateFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3PagerCheckpoint($pPager,$eMode,$pnLog,$pnCkpt) { + $pPager = $pPager|0; + $eMode = $eMode|0; + $pnLog = $pnLog|0; + $pnCkpt = $pnCkpt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - _dateFunc($3,0,0); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $eMode; + HEAP32[$2>>2] = $pnLog; + HEAP32[$3>>2] = $pnCkpt; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 208|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + $31 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($31|0); + } + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 208|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 176|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 180|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 9|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 152|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 200|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$3>>2]|0; + $30 = (_sqlite3WalCheckpoint($10,$11,$14,$17,$21,$24,$27,$28,$29)|0); + HEAP32[$rc>>2] = $30; + $31 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($31|0); } -function _isDate($context,$argc,$argv,$p) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $i = 0, $or$cond = 0; - var $z = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _functionSearch($pHash,$h,$zFunc,$nFunc) { + $pHash = $pHash|0; + $h = $h|0; + $zFunc = $zFunc|0; + $nFunc = $nFunc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $i = sp + 8|0; - $z = sp + 4|0; - $eType = sp; - HEAP32[$1>>2] = $context; - HEAP32[$2>>2] = $argc; - HEAP32[$3>>2] = $argv; - HEAP32[$4>>2] = $p; - $5 = HEAP32[$4>>2]|0; - dest=$5+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_setDateTimeToCurrent($8,$9)|0); - HEAP32[$0>>2] = $10; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_type($12)|0); - HEAP32[$eType>>2] = $13; - $14 = ($13|0)==(2); - $15 = HEAP32[$eType>>2]|0; - $16 = ($15|0)==(1); - $or$cond = $14 | $16; - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$17>>2]|0; - do { - if ($or$cond) { - $19 = (+_sqlite3_value_double($18)); - $20 = $19 * 8.64E+7; - $21 = $20 + 0.5; - $22 = (~~$21)>>>0; - $23 = +Math_abs($21) >= 1.0 ? $21 > 0.0 ? (Math_min(+Math_floor($21 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($21 - +(~~$21 >>> 0)) / 4294967296.0) >>> 0 : 0; - $24 = HEAP32[$4>>2]|0; - $25 = $24; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $23; - $29 = HEAP32[$4>>2]|0; - $30 = (($29) + 42|0); - HEAP8[$30>>0] = 1; - } else { - $31 = (_sqlite3_value_text($18)|0); - HEAP32[$z>>2] = $31; - $32 = HEAP32[$z>>2]|0; - $33 = ($32|0)!=(0|0); - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$z>>2]|0; - $36 = HEAP32[$4>>2]|0; - $37 = (_parseDateOrTime($34,$35,$36)|0); - $38 = ($37|0)!=(0); - if (!($38)) { - break; - } - } - HEAP32[$0>>2] = 1; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - } while(0); - HEAP32[$i>>2] = 1; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $p = sp; + HEAP32[$1>>2] = $pHash; + HEAP32[$2>>2] = $h; + HEAP32[$3>>2] = $zFunc; + HEAP32[$4>>2] = $nFunc; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = (($6) + ($5<<2)|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$p>>2] = $8; while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = ($39|0)<($40|0); - if (!($41)) { - label = 14; - break; - } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$3>>2]|0; - $44 = (($43) + ($42<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3_value_text($45)|0); - HEAP32[$z>>2] = $46; - $47 = HEAP32[$z>>2]|0; - $48 = ($47|0)==(0|0); - if ($48) { - label = 12; + $9 = HEAP32[$p>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + label = 7; break; } - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$z>>2]|0; - $51 = HEAP32[$4>>2]|0; - $52 = (_parseModifier($49,$50,$51)|0); - $53 = ($52|0)!=(0); - if ($53) { - label = 12; - break; + $11 = HEAP32[$p>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_sqlite3_strnicmp($13,$14,$15)|0); + $17 = ($16|0)==(0); + if ($17) { + $18 = HEAP32[$4>>2]|0; + $19 = HEAP32[$p>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + ($18)|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23 << 24 >> 24; + $25 = ($24|0)==(0); + if ($25) { + label = 5; + break; + } } - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; + $27 = HEAP32[$p>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$p>>2] = $29; } - if ((label|0) == 12) { - HEAP32[$0>>2] = 1; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + if ((label|0) == 5) { + $26 = HEAP32[$p>>2]|0; + HEAP32[$0>>2] = $26; + $30 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($30|0); } - else if ((label|0) == 14) { + else if ((label|0) == 7) { HEAP32[$0>>2] = 0; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $30 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($30|0); } - return 0|0; + return (0)|0; } -function _computeJD($p) { +function _matchQuality($p,$nArg,$enc) { $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $A = 0, $B = 0, $D = 0, $M = 0, $X1 = 0, $X2 = 0, $Y = 0, label = 0, sp = 0; + $nArg = $nArg|0; + $enc = $enc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $match = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $Y = sp + 24|0; - $M = sp + 20|0; - $D = sp + 16|0; - $A = sp + 12|0; - $B = sp + 8|0; - $X1 = sp + 4|0; - $X2 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 42|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { - STACKTOP = sp;return; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp + 16|0; + $match = sp; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $nArg; + HEAP8[$3>>0] = $enc; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(-2); + $6 = HEAP32[$1>>2]|0; + if ($5) { + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + $15 = $13; + } else { + $15 = 0; + } + $14 = $15 ? 0 : 6; + HEAP32[$0>>2] = $14; + $51 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($51|0); } - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 40|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$Y>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 12|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$M>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 16|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$D>>2] = $17; + $16 = HEAP16[$6>>1]|0; + $17 = $16 << 16 >> 16; + $18 = HEAP32[$2>>2]|0; + $19 = ($17|0)!=($18|0); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = HEAP16[$20>>1]|0; + $22 = $21 << 16 >> 16; + $23 = ($22|0)>=(0); + if ($23) { + HEAP32[$0>>2] = 0; + $51 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($51|0); + } + } + $24 = HEAP32[$1>>2]|0; + $25 = HEAP16[$24>>1]|0; + $26 = $25 << 16 >> 16; + $27 = HEAP32[$2>>2]|0; + $28 = ($26|0)==($27|0); + if ($28) { + HEAP32[$match>>2] = 4; } else { - HEAP32[$Y>>2] = 2000; - HEAP32[$M>>2] = 1; - HEAP32[$D>>2] = 1; + HEAP32[$match>>2] = 1; } - $18 = HEAP32[$M>>2]|0; - $19 = ($18|0)<=(2); - if ($19) { - $20 = HEAP32[$Y>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$Y>>2] = $21; - $22 = HEAP32[$M>>2]|0; - $23 = (($22) + 12)|0; - HEAP32[$M>>2] = $23; + $29 = HEAP8[$3>>0]|0; + $30 = $29&255; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 2|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = $34 & 3; + $36 = ($30|0)==($35|0); + if ($36) { + $37 = HEAP32[$match>>2]|0; + $38 = (($37) + 2)|0; + HEAP32[$match>>2] = $38; + } else { + $39 = HEAP8[$3>>0]|0; + $40 = $39&255; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 2|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43&65535; + $45 = $40 & $44; + $46 = $45 & 2; + $47 = ($46|0)!=(0); + if ($47) { + $48 = HEAP32[$match>>2]|0; + $49 = (($48) + 1)|0; + HEAP32[$match>>2] = $49; + } } - $24 = HEAP32[$Y>>2]|0; - $25 = (($24|0) / 100)&-1; - HEAP32[$A>>2] = $25; - $26 = HEAP32[$A>>2]|0; - $27 = (2 - ($26))|0; - $28 = HEAP32[$A>>2]|0; - $29 = (($28|0) / 4)&-1; - $30 = (($27) + ($29))|0; - HEAP32[$B>>2] = $30; - $31 = HEAP32[$Y>>2]|0; - $32 = (($31) + 4716)|0; - $33 = ($32*36525)|0; - $34 = (($33|0) / 100)&-1; - HEAP32[$X1>>2] = $34; - $35 = HEAP32[$M>>2]|0; - $36 = (($35) + 1)|0; - $37 = ($36*306001)|0; - $38 = (($37|0) / 10000)&-1; - HEAP32[$X2>>2] = $38; - $39 = HEAP32[$X1>>2]|0; - $40 = HEAP32[$X2>>2]|0; - $41 = (($39) + ($40))|0; - $42 = HEAP32[$D>>2]|0; - $43 = (($41) + ($42))|0; - $44 = HEAP32[$B>>2]|0; - $45 = (($43) + ($44))|0; - $46 = (+($45|0)); - $47 = $46 - 1524.5; - $48 = $47 * 8.64E+7; - $49 = (~~$48)>>>0; - $50 = +Math_abs($48) >= 1.0 ? $48 > 0.0 ? (Math_min(+Math_floor($48 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($48 - +(~~$48 >>> 0)) / 4294967296.0) >>> 0 : 0; + $50 = HEAP32[$match>>2]|0; + HEAP32[$0>>2] = $50; $51 = HEAP32[$0>>2]|0; - $52 = $51; - $53 = $52; - HEAP32[$53>>2] = $49; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $50; - $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 42|0); - HEAP8[$57>>0] = 1; - $58 = HEAP32[$0>>2]|0; - $59 = (($58) + 41|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)!=(0); - if (!($61)) { + STACKTOP = sp;return ($51|0); +} +function _sqlite3FuncDefInsert($pHash,$pDef) { + $pHash = $pHash|0; + $pDef = $pDef|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c1 = 0, $h = 0, $nName = 0, $pOther = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $pOther = sp + 8|0; + $nName = sp + 4|0; + $c1 = sp + 20|0; + $h = sp; + HEAP32[$0>>2] = $pHash; + HEAP32[$1>>2] = $pDef; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3Strlen30($4)|0); + HEAP32[$nName>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP8[$8>>0]|0; + HEAP8[$c1>>0] = $9; + $10 = HEAP8[$c1>>0]|0; + $11 = $10&255; + $12 = (13848 + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = HEAP32[$nName>>2]|0; + $16 = (($14) + ($15))|0; + $17 = (($16|0) % 23)&-1; + HEAP32[$h>>2] = $17; + $18 = HEAP32[$0>>2]|0; + $19 = HEAP32[$h>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$nName>>2]|0; + $24 = (_functionSearch($18,$19,$22,$23)|0); + HEAP32[$pOther>>2] = $24; + $25 = HEAP32[$pOther>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$pOther>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 8|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$1>>2]|0; + $33 = HEAP32[$pOther>>2]|0; + $34 = ((($33)) + 8|0); + HEAP32[$34>>2] = $32; STACKTOP = sp;return; - } - $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($64, 3600000)|0; - $66 = HEAP32[$0>>2]|0; - $67 = (($66) + 24|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68*60000)|0; - $70 = (($65) + ($69))|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = HEAP32[$0>>2]|0; - $74 = (($73) + 32|0); - $75 = +HEAPF64[$74>>3]; - $76 = $75 * 1000.0; - $77 = (~~$76)>>>0; - $78 = +Math_abs($76) >= 1.0 ? $76 > 0.0 ? (Math_min(+Math_floor($76 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($76 - +(~~$76 >>> 0)) / 4294967296.0) >>> 0 : 0; - $79 = (_i64Add(($70|0),($72|0),($77|0),($78|0))|0); - $80 = tempRet0; - $81 = HEAP32[$0>>2]|0; - $82 = $81; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (_i64Add(($84|0),($87|0),($79|0),($80|0))|0); - $89 = tempRet0; - $90 = $81; - $91 = $90; - HEAP32[$91>>2] = $88; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; - $94 = HEAP32[$0>>2]|0; - $95 = (($94) + 43|0); - $96 = HEAP8[$95>>0]|0; - $97 = ($96<<24>>24)!=(0); - if (!($97)) { + } else { + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 8|0); + HEAP32[$36>>2] = 0; + $37 = HEAP32[$h>>2]|0; + $38 = HEAP32[$0>>2]|0; + $39 = (($38) + ($37<<2)|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 28|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$h>>2]|0; + $45 = HEAP32[$0>>2]|0; + $46 = (($45) + ($44<<2)|0); + HEAP32[$46>>2] = $43; STACKTOP = sp;return; } - $98 = HEAP32[$0>>2]|0; - $99 = (($98) + 28|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100*60000)|0; - $102 = ($101|0)<(0); - $103 = $102 << 31 >> 31; - $104 = HEAP32[$0>>2]|0; - $105 = $104; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (_i64Subtract(($107|0),($110|0),($101|0),($103|0))|0); - $112 = tempRet0; - $113 = $104; - $114 = $113; - HEAP32[$114>>2] = $111; - $115 = (($113) + 4)|0; - $116 = $115; - HEAP32[$116>>2] = $112; - $117 = HEAP32[$0>>2]|0; - $118 = (($117) + 40|0); - HEAP8[$118>>0] = 0; - $119 = HEAP32[$0>>2]|0; - $120 = (($119) + 41|0); - HEAP8[$120>>0] = 0; - $121 = HEAP32[$0>>2]|0; - $122 = (($121) + 43|0); - HEAP8[$122>>0] = 0; - STACKTOP = sp;return; } -function _computeYMD_HMS($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _sqlite3VdbeChangeEncoding($pMem,$desiredEnc) { + $pMem = $pMem|0; + $desiredEnc = $desiredEnc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _computeYMD($1); - $2 = HEAP32[$0>>2]|0; - _computeHMS($2); - STACKTOP = sp;return; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pMem; + HEAP32[$2>>2] = $desiredEnc; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 2; + $8 = ($7|0)!=(0); + if ($8) { + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 10|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = HEAP32[$2>>2]|0; + $14 = ($12|0)==($13|0); + if (!($14)) { + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = $16&255; + $18 = (_sqlite3VdbeMemTranslate($15,$17)|0); + HEAP32[$rc>>2] = $18; + $19 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $19; + $20 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($20|0); + } + } + HEAP32[$0>>2] = 0; + $20 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($20|0); } -function _computeYMD($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $9 = 0, $A = 0, $B = 0, $C = 0, $D = 0, $E = 0, $X1 = 0, $Z = 0, label = 0, sp = 0; +function _sqlite3VdbeMemTranslate($pMem,$desiredEnc) { + $pMem = $pMem|0; + $desiredEnc = $desiredEnc|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; + var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; + var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; + var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; + var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; + var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; + var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; + var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; + var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $c2 = 0, $c21 = 0, $len = 0, $or$cond = 0; + var $or$cond3 = 0, $rc = 0, $temp = 0, $z = 0, $zIn = 0, $zOut = 0, $zTerm = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $Z = sp + 24|0; - $A = sp + 20|0; - $B = sp + 16|0; - $C = sp + 12|0; - $D = sp + 8|0; - $E = sp + 4|0; - $X1 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 40|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 42|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $15 = $9; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (_i64Add(($17|0),($20|0),43200000,0)|0); - $22 = tempRet0; - $23 = (___divdi3(($21|0),($22|0),86400000,0)|0); - $24 = tempRet0; - HEAP32[$Z>>2] = $23; - $25 = HEAP32[$Z>>2]|0; - $26 = (+($25|0)); - $27 = $26 - 1867216.25; - $28 = $27 / 36524.25; - $29 = (~~(($28))); - HEAP32[$A>>2] = $29; - $30 = HEAP32[$Z>>2]|0; - $31 = (($30) + 1)|0; - $32 = HEAP32[$A>>2]|0; - $33 = (($31) + ($32))|0; - $34 = HEAP32[$A>>2]|0; - $35 = (($34|0) / 4)&-1; - $36 = (($33) - ($35))|0; - HEAP32[$A>>2] = $36; - $37 = HEAP32[$A>>2]|0; - $38 = (($37) + 1524)|0; - HEAP32[$B>>2] = $38; - $39 = HEAP32[$B>>2]|0; - $40 = (+($39|0)); - $41 = $40 - 122.09999999999999; - $42 = $41 / 365.25; - $43 = (~~(($42))); - HEAP32[$C>>2] = $43; - $44 = HEAP32[$C>>2]|0; - $45 = ($44*36525)|0; - $46 = (($45|0) / 100)&-1; - HEAP32[$D>>2] = $46; - $47 = HEAP32[$B>>2]|0; - $48 = HEAP32[$D>>2]|0; - $49 = (($47) - ($48))|0; - $50 = (+($49|0)); - $51 = $50 / 30.600100000000001; - $52 = (~~(($51))); - HEAP32[$E>>2] = $52; - $53 = HEAP32[$E>>2]|0; - $54 = (+($53|0)); - $55 = 30.600100000000001 * $54; - $56 = (~~(($55))); - HEAP32[$X1>>2] = $56; - $57 = HEAP32[$B>>2]|0; - $58 = HEAP32[$D>>2]|0; - $59 = (($57) - ($58))|0; - $60 = HEAP32[$X1>>2]|0; - $61 = (($59) - ($60))|0; - $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 16|0); - HEAP32[$63>>2] = $61; - $64 = HEAP32[$E>>2]|0; - $65 = ($64|0)<(14); - $66 = HEAP32[$E>>2]|0; - $67 = (($66) - 1)|0; - $68 = (($66) - 13)|0; - $69 = $65 ? $67 : $68; - $70 = HEAP32[$0>>2]|0; - $71 = (($70) + 12|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$0>>2]|0; - $73 = (($72) + 12|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($74|0)>(2); - $76 = HEAP32[$C>>2]|0; - $77 = (($76) - 4716)|0; - $78 = (($76) - 4715)|0; - $79 = $75 ? $77 : $78; - $80 = HEAP32[$0>>2]|0; - $81 = (($80) + 8|0); - HEAP32[$81>>2] = $79; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 12|0; + $1 = sp + 16|0; + $2 = sp + 44|0; + $len = sp + 4|0; + $zOut = sp + 32|0; + $zIn = sp + 36|0; + $zTerm = sp + 40|0; + $z = sp + 24|0; + $c = sp + 20|0; + $temp = sp + 45|0; + $rc = sp; + $c2 = sp + 8|0; + $c21 = sp + 28|0; + HEAP32[$1>>2] = $pMem; + HEAP8[$2>>0] = $desiredEnc; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 10|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)!=(1); + if ($7) { + $8 = HEAP8[$2>>0]|0; + $9 = $8&255; + $10 = ($9|0)!=(1); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (_sqlite3VdbeMemMakeWriteable($11)|0); + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$rc>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + HEAP32[$0>>2] = 7; + $552 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($552|0); + } + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$zIn>>2] = $17; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20 & -2; + $22 = HEAP32[$zIn>>2]|0; + $23 = (($22) + ($21)|0); + HEAP32[$zTerm>>2] = $23; + while(1) { + $24 = HEAP32[$zIn>>2]|0; + $25 = HEAP32[$zTerm>>2]|0; + $26 = ($24>>>0)<($25>>>0); + if (!($26)) { + break; + } + $27 = HEAP32[$zIn>>2]|0; + $28 = HEAP8[$27>>0]|0; + HEAP8[$temp>>0] = $28; + $29 = HEAP32[$zIn>>2]|0; + $30 = ((($29)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = HEAP32[$zIn>>2]|0; + HEAP8[$32>>0] = $31; + $33 = HEAP32[$zIn>>2]|0; + $34 = ((($33)) + 1|0); + HEAP32[$zIn>>2] = $34; + $35 = HEAP8[$temp>>0]|0; + $36 = HEAP32[$zIn>>2]|0; + $37 = ((($36)) + 1|0); + HEAP32[$zIn>>2] = $37; + HEAP8[$36>>0] = $35; + } + $38 = HEAP8[$2>>0]|0; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 10|0); + HEAP8[$40>>0] = $38; + } else { + label = 9; + } } else { - $10 = (($9) + 8|0); - HEAP32[$10>>2] = 2000; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 12|0); - HEAP32[$12>>2] = 1; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 16|0); - HEAP32[$14>>2] = 1; + label = 9; } - $82 = HEAP32[$0>>2]|0; - $83 = (($82) + 40|0); - HEAP8[$83>>0] = 1; - STACKTOP = sp;return; + if ((label|0) == 9) { + $41 = HEAP8[$2>>0]|0; + $42 = $41&255; + $43 = ($42|0)==(1); + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + if ($43) { + $47 = $46 & -2; + HEAP32[$45>>2] = $47; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = $50<<1; + $52 = (($51) + 1)|0; + HEAP32[$len>>2] = $52; + } else { + $53 = $46<<1; + $54 = (($53) + 2)|0; + HEAP32[$len>>2] = $54; + } + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 16|0); + $57 = HEAP32[$56>>2]|0; + HEAP32[$zIn>>2] = $57; + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$zIn>>2]|0; + $62 = (($61) + ($60)|0); + HEAP32[$zTerm>>2] = $62; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 32|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$len>>2]|0; + $67 = ($66|0)<(0); + $68 = $67 << 31 >> 31; + $69 = (_sqlite3DbMallocRaw($65,$66,$68)|0); + HEAP32[$zOut>>2] = $69; + $70 = HEAP32[$zOut>>2]|0; + $71 = ($70|0)!=(0|0); + if (!($71)) { + HEAP32[$0>>2] = 7; + $552 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($552|0); + } + $72 = HEAP32[$zOut>>2]|0; + HEAP32[$z>>2] = $72; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 10|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ($76|0)==(1); + if ($77) { + $78 = HEAP8[$2>>0]|0; + $79 = $78&255; + $80 = ($79|0)==(2); + L24: do { + if ($80) { + while(1) { + $81 = HEAP32[$zIn>>2]|0; + $82 = HEAP32[$zTerm>>2]|0; + $83 = ($81>>>0)<($82>>>0); + if (!($83)) { + break L24; + } + $84 = HEAP32[$zIn>>2]|0; + $85 = ((($84)) + 1|0); + HEAP32[$zIn>>2] = $85; + $86 = HEAP8[$84>>0]|0; + $87 = $86&255; + HEAP32[$c>>2] = $87; + $88 = HEAP32[$c>>2]|0; + $89 = ($88>>>0)>=(192); + do { + if ($89) { + $90 = HEAP32[$c>>2]|0; + $91 = (($90) - 192)|0; + $92 = (17815 + ($91)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + HEAP32[$c>>2] = $94; + while(1) { + $95 = HEAP32[$zIn>>2]|0; + $96 = HEAP32[$zTerm>>2]|0; + $97 = ($95|0)!=($96|0); + if ($97) { + $98 = HEAP32[$zIn>>2]|0; + $99 = HEAP8[$98>>0]|0; + $100 = $99&255; + $101 = $100 & 192; + $102 = ($101|0)==(128); + $553 = $102; + } else { + $553 = 0; + } + $103 = HEAP32[$c>>2]|0; + if (!($553)) { + break; + } + $104 = $103 << 6; + $105 = HEAP32[$zIn>>2]|0; + $106 = ((($105)) + 1|0); + HEAP32[$zIn>>2] = $106; + $107 = HEAP8[$105>>0]|0; + $108 = $107&255; + $109 = 63 & $108; + $110 = (($104) + ($109))|0; + HEAP32[$c>>2] = $110; + } + $111 = ($103>>>0)<(128); + if (!($111)) { + $112 = HEAP32[$c>>2]|0; + $113 = $112 & -2048; + $114 = ($113|0)==(55296); + if (!($114)) { + $115 = HEAP32[$c>>2]|0; + $116 = $115 & -2; + $117 = ($116|0)==(65534); + if (!($117)) { + break; + } + } + } + HEAP32[$c>>2] = 65533; + } + } while(0); + $118 = HEAP32[$c>>2]|0; + $119 = ($118>>>0)<=(65535); + $120 = HEAP32[$c>>2]|0; + if ($119) { + $121 = $120 & 255; + $122 = $121&255; + $123 = HEAP32[$z>>2]|0; + $124 = ((($123)) + 1|0); + HEAP32[$z>>2] = $124; + HEAP8[$123>>0] = $122; + $125 = HEAP32[$c>>2]|0; + $126 = $125 >>> 8; + $127 = $126 & 255; + $128 = $127&255; + $129 = HEAP32[$z>>2]|0; + $130 = ((($129)) + 1|0); + HEAP32[$z>>2] = $130; + HEAP8[$129>>0] = $128; + continue; + } else { + $131 = $120 >>> 10; + $132 = $131 & 63; + $133 = HEAP32[$c>>2]|0; + $134 = (($133) - 65536)|0; + $135 = $134 >>> 10; + $136 = $135 & 192; + $137 = (($132) + ($136))|0; + $138 = $137&255; + $139 = HEAP32[$z>>2]|0; + $140 = ((($139)) + 1|0); + HEAP32[$z>>2] = $140; + HEAP8[$139>>0] = $138; + $141 = HEAP32[$c>>2]|0; + $142 = (($141) - 65536)|0; + $143 = $142 >>> 18; + $144 = $143 & 3; + $145 = (216 + ($144))|0; + $146 = $145&255; + $147 = HEAP32[$z>>2]|0; + $148 = ((($147)) + 1|0); + HEAP32[$z>>2] = $148; + HEAP8[$147>>0] = $146; + $149 = HEAP32[$c>>2]|0; + $150 = $149 & 255; + $151 = $150&255; + $152 = HEAP32[$z>>2]|0; + $153 = ((($152)) + 1|0); + HEAP32[$z>>2] = $153; + HEAP8[$152>>0] = $151; + $154 = HEAP32[$c>>2]|0; + $155 = $154 >>> 8; + $156 = $155 & 3; + $157 = (220 + ($156))|0; + $158 = $157&255; + $159 = HEAP32[$z>>2]|0; + $160 = ((($159)) + 1|0); + HEAP32[$z>>2] = $160; + HEAP8[$159>>0] = $158; + continue; + } + } + } else { + while(1) { + $161 = HEAP32[$zIn>>2]|0; + $162 = HEAP32[$zTerm>>2]|0; + $163 = ($161>>>0)<($162>>>0); + if (!($163)) { + break L24; + } + $164 = HEAP32[$zIn>>2]|0; + $165 = ((($164)) + 1|0); + HEAP32[$zIn>>2] = $165; + $166 = HEAP8[$164>>0]|0; + $167 = $166&255; + HEAP32[$c>>2] = $167; + $168 = HEAP32[$c>>2]|0; + $169 = ($168>>>0)>=(192); + do { + if ($169) { + $170 = HEAP32[$c>>2]|0; + $171 = (($170) - 192)|0; + $172 = (17815 + ($171)|0); + $173 = HEAP8[$172>>0]|0; + $174 = $173&255; + HEAP32[$c>>2] = $174; + while(1) { + $175 = HEAP32[$zIn>>2]|0; + $176 = HEAP32[$zTerm>>2]|0; + $177 = ($175|0)!=($176|0); + if ($177) { + $178 = HEAP32[$zIn>>2]|0; + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = $180 & 192; + $182 = ($181|0)==(128); + $554 = $182; + } else { + $554 = 0; + } + $183 = HEAP32[$c>>2]|0; + if (!($554)) { + break; + } + $184 = $183 << 6; + $185 = HEAP32[$zIn>>2]|0; + $186 = ((($185)) + 1|0); + HEAP32[$zIn>>2] = $186; + $187 = HEAP8[$185>>0]|0; + $188 = $187&255; + $189 = 63 & $188; + $190 = (($184) + ($189))|0; + HEAP32[$c>>2] = $190; + } + $191 = ($183>>>0)<(128); + if (!($191)) { + $192 = HEAP32[$c>>2]|0; + $193 = $192 & -2048; + $194 = ($193|0)==(55296); + if (!($194)) { + $195 = HEAP32[$c>>2]|0; + $196 = $195 & -2; + $197 = ($196|0)==(65534); + if (!($197)) { + break; + } + } + } + HEAP32[$c>>2] = 65533; + } + } while(0); + $198 = HEAP32[$c>>2]|0; + $199 = ($198>>>0)<=(65535); + $200 = HEAP32[$c>>2]|0; + if ($199) { + $201 = $200 >>> 8; + $202 = $201 & 255; + $203 = $202&255; + $204 = HEAP32[$z>>2]|0; + $205 = ((($204)) + 1|0); + HEAP32[$z>>2] = $205; + HEAP8[$204>>0] = $203; + $206 = HEAP32[$c>>2]|0; + $207 = $206 & 255; + $208 = $207&255; + $209 = HEAP32[$z>>2]|0; + $210 = ((($209)) + 1|0); + HEAP32[$z>>2] = $210; + HEAP8[$209>>0] = $208; + continue; + } else { + $211 = (($200) - 65536)|0; + $212 = $211 >>> 18; + $213 = $212 & 3; + $214 = (216 + ($213))|0; + $215 = $214&255; + $216 = HEAP32[$z>>2]|0; + $217 = ((($216)) + 1|0); + HEAP32[$z>>2] = $217; + HEAP8[$216>>0] = $215; + $218 = HEAP32[$c>>2]|0; + $219 = $218 >>> 10; + $220 = $219 & 63; + $221 = HEAP32[$c>>2]|0; + $222 = (($221) - 65536)|0; + $223 = $222 >>> 10; + $224 = $223 & 192; + $225 = (($220) + ($224))|0; + $226 = $225&255; + $227 = HEAP32[$z>>2]|0; + $228 = ((($227)) + 1|0); + HEAP32[$z>>2] = $228; + HEAP8[$227>>0] = $226; + $229 = HEAP32[$c>>2]|0; + $230 = $229 >>> 8; + $231 = $230 & 3; + $232 = (220 + ($231))|0; + $233 = $232&255; + $234 = HEAP32[$z>>2]|0; + $235 = ((($234)) + 1|0); + HEAP32[$z>>2] = $235; + HEAP8[$234>>0] = $233; + $236 = HEAP32[$c>>2]|0; + $237 = $236 & 255; + $238 = $237&255; + $239 = HEAP32[$z>>2]|0; + $240 = ((($239)) + 1|0); + HEAP32[$z>>2] = $240; + HEAP8[$239>>0] = $238; + continue; + } + } + } + } while(0); + $241 = HEAP32[$z>>2]|0; + $242 = HEAP32[$zOut>>2]|0; + $243 = $241; + $244 = $242; + $245 = (($243) - ($244))|0; + $246 = HEAP32[$1>>2]|0; + $247 = ((($246)) + 12|0); + HEAP32[$247>>2] = $245; + $248 = HEAP32[$z>>2]|0; + $249 = ((($248)) + 1|0); + HEAP32[$z>>2] = $249; + HEAP8[$248>>0] = 0; + } else { + $250 = HEAP32[$1>>2]|0; + $251 = ((($250)) + 10|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = ($253|0)==(2); + L67: do { + if ($254) { + while(1) { + $255 = HEAP32[$zIn>>2]|0; + $256 = HEAP32[$zTerm>>2]|0; + $257 = ($255>>>0)<($256>>>0); + if (!($257)) { + break L67; + } + $258 = HEAP32[$zIn>>2]|0; + $259 = ((($258)) + 1|0); + HEAP32[$zIn>>2] = $259; + $260 = HEAP8[$258>>0]|0; + $261 = $260&255; + HEAP32[$c>>2] = $261; + $262 = HEAP32[$zIn>>2]|0; + $263 = ((($262)) + 1|0); + HEAP32[$zIn>>2] = $263; + $264 = HEAP8[$262>>0]|0; + $265 = $264&255; + $266 = $265 << 8; + $267 = HEAP32[$c>>2]|0; + $268 = (($267) + ($266))|0; + HEAP32[$c>>2] = $268; + $269 = HEAP32[$c>>2]|0; + $270 = ($269>>>0)>=(55296); + $271 = HEAP32[$c>>2]|0; + $272 = ($271>>>0)<(57344); + $or$cond = $270 & $272; + if ($or$cond) { + $273 = HEAP32[$zIn>>2]|0; + $274 = HEAP32[$zTerm>>2]|0; + $275 = ($273>>>0)<($274>>>0); + if ($275) { + $276 = HEAP32[$zIn>>2]|0; + $277 = ((($276)) + 1|0); + HEAP32[$zIn>>2] = $277; + $278 = HEAP8[$276>>0]|0; + $279 = $278&255; + HEAP32[$c2>>2] = $279; + $280 = HEAP32[$zIn>>2]|0; + $281 = ((($280)) + 1|0); + HEAP32[$zIn>>2] = $281; + $282 = HEAP8[$280>>0]|0; + $283 = $282&255; + $284 = $283 << 8; + $285 = HEAP32[$c2>>2]|0; + $286 = (($285) + ($284))|0; + HEAP32[$c2>>2] = $286; + $287 = HEAP32[$c2>>2]|0; + $288 = $287 & 1023; + $289 = HEAP32[$c>>2]|0; + $290 = $289 & 63; + $291 = $290 << 10; + $292 = (($288) + ($291))|0; + $293 = HEAP32[$c>>2]|0; + $294 = $293 & 960; + $295 = (($294) + 64)|0; + $296 = $295 << 10; + $297 = (($292) + ($296))|0; + HEAP32[$c>>2] = $297; + } + } + $298 = HEAP32[$c>>2]|0; + $299 = ($298>>>0)<(128); + $300 = HEAP32[$c>>2]|0; + if ($299) { + $301 = $300 & 255; + $302 = $301&255; + $303 = HEAP32[$z>>2]|0; + $304 = ((($303)) + 1|0); + HEAP32[$z>>2] = $304; + HEAP8[$303>>0] = $302; + continue; + } + $305 = ($300>>>0)<(2048); + $306 = HEAP32[$c>>2]|0; + if ($305) { + $307 = $306 >>> 6; + $308 = $307 & 31; + $309 = $308&255; + $310 = $309&255; + $311 = (192 + ($310))|0; + $312 = $311&255; + $313 = HEAP32[$z>>2]|0; + $314 = ((($313)) + 1|0); + HEAP32[$z>>2] = $314; + HEAP8[$313>>0] = $312; + $315 = HEAP32[$c>>2]|0; + $316 = $315 & 63; + $317 = $316&255; + $318 = $317&255; + $319 = (128 + ($318))|0; + $320 = $319&255; + $321 = HEAP32[$z>>2]|0; + $322 = ((($321)) + 1|0); + HEAP32[$z>>2] = $322; + HEAP8[$321>>0] = $320; + continue; + } + $323 = ($306>>>0)<(65536); + $324 = HEAP32[$c>>2]|0; + if ($323) { + $325 = $324 >>> 12; + $326 = $325 & 15; + $327 = $326&255; + $328 = $327&255; + $329 = (224 + ($328))|0; + $330 = $329&255; + $331 = HEAP32[$z>>2]|0; + $332 = ((($331)) + 1|0); + HEAP32[$z>>2] = $332; + HEAP8[$331>>0] = $330; + $333 = HEAP32[$c>>2]|0; + $334 = $333 >>> 6; + $335 = $334 & 63; + $336 = $335&255; + $337 = $336&255; + $338 = (128 + ($337))|0; + $339 = $338&255; + $340 = HEAP32[$z>>2]|0; + $341 = ((($340)) + 1|0); + HEAP32[$z>>2] = $341; + HEAP8[$340>>0] = $339; + $342 = HEAP32[$c>>2]|0; + $343 = $342 & 63; + $344 = $343&255; + $345 = $344&255; + $346 = (128 + ($345))|0; + $347 = $346&255; + $348 = HEAP32[$z>>2]|0; + $349 = ((($348)) + 1|0); + HEAP32[$z>>2] = $349; + HEAP8[$348>>0] = $347; + continue; + } else { + $350 = $324 >>> 18; + $351 = $350 & 7; + $352 = $351&255; + $353 = $352&255; + $354 = (240 + ($353))|0; + $355 = $354&255; + $356 = HEAP32[$z>>2]|0; + $357 = ((($356)) + 1|0); + HEAP32[$z>>2] = $357; + HEAP8[$356>>0] = $355; + $358 = HEAP32[$c>>2]|0; + $359 = $358 >>> 12; + $360 = $359 & 63; + $361 = $360&255; + $362 = $361&255; + $363 = (128 + ($362))|0; + $364 = $363&255; + $365 = HEAP32[$z>>2]|0; + $366 = ((($365)) + 1|0); + HEAP32[$z>>2] = $366; + HEAP8[$365>>0] = $364; + $367 = HEAP32[$c>>2]|0; + $368 = $367 >>> 6; + $369 = $368 & 63; + $370 = $369&255; + $371 = $370&255; + $372 = (128 + ($371))|0; + $373 = $372&255; + $374 = HEAP32[$z>>2]|0; + $375 = ((($374)) + 1|0); + HEAP32[$z>>2] = $375; + HEAP8[$374>>0] = $373; + $376 = HEAP32[$c>>2]|0; + $377 = $376 & 63; + $378 = $377&255; + $379 = $378&255; + $380 = (128 + ($379))|0; + $381 = $380&255; + $382 = HEAP32[$z>>2]|0; + $383 = ((($382)) + 1|0); + HEAP32[$z>>2] = $383; + HEAP8[$382>>0] = $381; + continue; + } + } + } else { + while(1) { + $384 = HEAP32[$zIn>>2]|0; + $385 = HEAP32[$zTerm>>2]|0; + $386 = ($384>>>0)<($385>>>0); + if (!($386)) { + break L67; + } + $387 = HEAP32[$zIn>>2]|0; + $388 = ((($387)) + 1|0); + HEAP32[$zIn>>2] = $388; + $389 = HEAP8[$387>>0]|0; + $390 = $389&255; + $391 = $390 << 8; + HEAP32[$c>>2] = $391; + $392 = HEAP32[$zIn>>2]|0; + $393 = ((($392)) + 1|0); + HEAP32[$zIn>>2] = $393; + $394 = HEAP8[$392>>0]|0; + $395 = $394&255; + $396 = HEAP32[$c>>2]|0; + $397 = (($396) + ($395))|0; + HEAP32[$c>>2] = $397; + $398 = HEAP32[$c>>2]|0; + $399 = ($398>>>0)>=(55296); + $400 = HEAP32[$c>>2]|0; + $401 = ($400>>>0)<(57344); + $or$cond3 = $399 & $401; + if ($or$cond3) { + $402 = HEAP32[$zIn>>2]|0; + $403 = HEAP32[$zTerm>>2]|0; + $404 = ($402>>>0)<($403>>>0); + if ($404) { + $405 = HEAP32[$zIn>>2]|0; + $406 = ((($405)) + 1|0); + HEAP32[$zIn>>2] = $406; + $407 = HEAP8[$405>>0]|0; + $408 = $407&255; + $409 = $408 << 8; + HEAP32[$c21>>2] = $409; + $410 = HEAP32[$zIn>>2]|0; + $411 = ((($410)) + 1|0); + HEAP32[$zIn>>2] = $411; + $412 = HEAP8[$410>>0]|0; + $413 = $412&255; + $414 = HEAP32[$c21>>2]|0; + $415 = (($414) + ($413))|0; + HEAP32[$c21>>2] = $415; + $416 = HEAP32[$c21>>2]|0; + $417 = $416 & 1023; + $418 = HEAP32[$c>>2]|0; + $419 = $418 & 63; + $420 = $419 << 10; + $421 = (($417) + ($420))|0; + $422 = HEAP32[$c>>2]|0; + $423 = $422 & 960; + $424 = (($423) + 64)|0; + $425 = $424 << 10; + $426 = (($421) + ($425))|0; + HEAP32[$c>>2] = $426; + } + } + $427 = HEAP32[$c>>2]|0; + $428 = ($427>>>0)<(128); + $429 = HEAP32[$c>>2]|0; + if ($428) { + $430 = $429 & 255; + $431 = $430&255; + $432 = HEAP32[$z>>2]|0; + $433 = ((($432)) + 1|0); + HEAP32[$z>>2] = $433; + HEAP8[$432>>0] = $431; + continue; + } + $434 = ($429>>>0)<(2048); + $435 = HEAP32[$c>>2]|0; + if ($434) { + $436 = $435 >>> 6; + $437 = $436 & 31; + $438 = $437&255; + $439 = $438&255; + $440 = (192 + ($439))|0; + $441 = $440&255; + $442 = HEAP32[$z>>2]|0; + $443 = ((($442)) + 1|0); + HEAP32[$z>>2] = $443; + HEAP8[$442>>0] = $441; + $444 = HEAP32[$c>>2]|0; + $445 = $444 & 63; + $446 = $445&255; + $447 = $446&255; + $448 = (128 + ($447))|0; + $449 = $448&255; + $450 = HEAP32[$z>>2]|0; + $451 = ((($450)) + 1|0); + HEAP32[$z>>2] = $451; + HEAP8[$450>>0] = $449; + continue; + } + $452 = ($435>>>0)<(65536); + $453 = HEAP32[$c>>2]|0; + if ($452) { + $454 = $453 >>> 12; + $455 = $454 & 15; + $456 = $455&255; + $457 = $456&255; + $458 = (224 + ($457))|0; + $459 = $458&255; + $460 = HEAP32[$z>>2]|0; + $461 = ((($460)) + 1|0); + HEAP32[$z>>2] = $461; + HEAP8[$460>>0] = $459; + $462 = HEAP32[$c>>2]|0; + $463 = $462 >>> 6; + $464 = $463 & 63; + $465 = $464&255; + $466 = $465&255; + $467 = (128 + ($466))|0; + $468 = $467&255; + $469 = HEAP32[$z>>2]|0; + $470 = ((($469)) + 1|0); + HEAP32[$z>>2] = $470; + HEAP8[$469>>0] = $468; + $471 = HEAP32[$c>>2]|0; + $472 = $471 & 63; + $473 = $472&255; + $474 = $473&255; + $475 = (128 + ($474))|0; + $476 = $475&255; + $477 = HEAP32[$z>>2]|0; + $478 = ((($477)) + 1|0); + HEAP32[$z>>2] = $478; + HEAP8[$477>>0] = $476; + continue; + } else { + $479 = $453 >>> 18; + $480 = $479 & 7; + $481 = $480&255; + $482 = $481&255; + $483 = (240 + ($482))|0; + $484 = $483&255; + $485 = HEAP32[$z>>2]|0; + $486 = ((($485)) + 1|0); + HEAP32[$z>>2] = $486; + HEAP8[$485>>0] = $484; + $487 = HEAP32[$c>>2]|0; + $488 = $487 >>> 12; + $489 = $488 & 63; + $490 = $489&255; + $491 = $490&255; + $492 = (128 + ($491))|0; + $493 = $492&255; + $494 = HEAP32[$z>>2]|0; + $495 = ((($494)) + 1|0); + HEAP32[$z>>2] = $495; + HEAP8[$494>>0] = $493; + $496 = HEAP32[$c>>2]|0; + $497 = $496 >>> 6; + $498 = $497 & 63; + $499 = $498&255; + $500 = $499&255; + $501 = (128 + ($500))|0; + $502 = $501&255; + $503 = HEAP32[$z>>2]|0; + $504 = ((($503)) + 1|0); + HEAP32[$z>>2] = $504; + HEAP8[$503>>0] = $502; + $505 = HEAP32[$c>>2]|0; + $506 = $505 & 63; + $507 = $506&255; + $508 = $507&255; + $509 = (128 + ($508))|0; + $510 = $509&255; + $511 = HEAP32[$z>>2]|0; + $512 = ((($511)) + 1|0); + HEAP32[$z>>2] = $512; + HEAP8[$511>>0] = $510; + continue; + } + } + } + } while(0); + $513 = HEAP32[$z>>2]|0; + $514 = HEAP32[$zOut>>2]|0; + $515 = $513; + $516 = $514; + $517 = (($515) - ($516))|0; + $518 = HEAP32[$1>>2]|0; + $519 = ((($518)) + 12|0); + HEAP32[$519>>2] = $517; + } + $520 = HEAP32[$z>>2]|0; + HEAP8[$520>>0] = 0; + $521 = HEAP32[$1>>2]|0; + $522 = ((($521)) + 8|0); + $523 = HEAP16[$522>>1]|0; + $524 = $523&65535; + HEAP32[$c>>2] = $524; + $525 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemRelease($525); + $526 = HEAP32[$c>>2]|0; + $527 = $526 & 31; + $528 = 514 | $527; + $529 = $528&65535; + $530 = HEAP32[$1>>2]|0; + $531 = ((($530)) + 8|0); + HEAP16[$531>>1] = $529; + $532 = HEAP8[$2>>0]|0; + $533 = HEAP32[$1>>2]|0; + $534 = ((($533)) + 10|0); + HEAP8[$534>>0] = $532; + $535 = HEAP32[$zOut>>2]|0; + $536 = HEAP32[$1>>2]|0; + $537 = ((($536)) + 16|0); + HEAP32[$537>>2] = $535; + $538 = HEAP32[$1>>2]|0; + $539 = ((($538)) + 16|0); + $540 = HEAP32[$539>>2]|0; + $541 = HEAP32[$1>>2]|0; + $542 = ((($541)) + 20|0); + HEAP32[$542>>2] = $540; + $543 = HEAP32[$1>>2]|0; + $544 = ((($543)) + 32|0); + $545 = HEAP32[$544>>2]|0; + $546 = HEAP32[$1>>2]|0; + $547 = ((($546)) + 16|0); + $548 = HEAP32[$547>>2]|0; + $549 = (_sqlite3DbMallocSize($545,$548)|0); + $550 = HEAP32[$1>>2]|0; + $551 = ((($550)) + 24|0); + HEAP32[$551>>2] = $549; + } + HEAP32[$0>>2] = 0; + $552 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($552|0); } -function _computeHMS($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s = 0; - var label = 0, sp = 0; +function _sqlite3VdbeMemMakeWriteable($pMem) { + $pMem = $pMem|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $f = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $s = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 41|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { - STACKTOP = sp;return; + $0 = sp + 8|0; + $1 = sp + 4|0; + $f = sp; + HEAP32[$1>>2] = $pMem; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 8|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 16384; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + (_sqlite3VdbeMemExpandBlob($8)|0); } - $5 = HEAP32[$0>>2]|0; - _computeJD($5); - $6 = HEAP32[$0>>2]|0; - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (_i64Add(($9|0),($12|0),43200000,0)|0); - $14 = tempRet0; - $15 = (___remdi3(($13|0),($14|0),86400000,0)|0); - $16 = tempRet0; - HEAP32[$s>>2] = $15; - $17 = HEAP32[$s>>2]|0; - $18 = (+($17|0)); - $19 = $18 / 1000.0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 32|0); - HEAPF64[$21>>3] = $19; - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 32|0); - $24 = +HEAPF64[$23>>3]; - $25 = (~~(($24))); - HEAP32[$s>>2] = $25; - $26 = HEAP32[$s>>2]|0; - $27 = (+($26|0)); - $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 32|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30 - $27; - HEAPF64[$29>>3] = $31; - $32 = HEAP32[$s>>2]|0; - $33 = (($32|0) / 3600)&-1; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 20|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 20|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38*3600)|0; - $40 = HEAP32[$s>>2]|0; - $41 = (($40) - ($39))|0; - HEAP32[$s>>2] = $41; - $42 = HEAP32[$s>>2]|0; - $43 = (($42|0) / 60)&-1; - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 24|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$s>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 24|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49*60)|0; - $51 = (($46) - ($50))|0; - $52 = (+($51|0)); - $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 32|0); - $55 = +HEAPF64[$54>>3]; - $56 = $55 + $52; - HEAPF64[$54>>3] = $56; - $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 41|0); - HEAP8[$58>>0] = 1; - STACKTOP = sp;return; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + HEAP32[$f>>2] = $12; + $13 = HEAP32[$f>>2]|0; + $14 = $13 & 18; + $15 = ($14|0)!=(0); + do { + if ($15) { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)!=($25|0); + if (!($26)) { + break; + } + } + $27 = HEAP32[$1>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + 2)|0; + $32 = (_sqlite3VdbeMemGrow($27,$31,1)|0); + $33 = ($32|0)!=(0); + if (!($33)) { + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($36)|0); + HEAP8[$40>>0] = 0; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + $44 = (($43) + 1)|0; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = (($47) + ($44)|0); + HEAP8[$48>>0] = 0; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51&65535; + $53 = $52 | 512; + $54 = $53&65535; + HEAP16[$50>>1] = $54; + break; + } + HEAP32[$0>>2] = 7; + $55 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($55|0); + } + } while(0); + HEAP32[$0>>2] = 0; + $55 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($55|0); } -function _setDateTimeToCurrent($context,$p) { - $context = $context|0; +function _sqlite3DbMallocSize($db,$p) { + $db = $db|0; $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$1>>2] = $context; + HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $p; $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3StmtCurrentTime($3)|0); - $5 = tempRet0; - $6 = HEAP32[$2>>2]|0; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $4; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $5; - $11 = HEAP32[$2>>2]|0; - $12 = $11; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(0); - $19 = ($14>>>0)>(0); - $20 = ($17|0)==(0); - $21 = $20 & $19; - $22 = $18 | $21; - if ($22) { - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 42|0); - HEAP8[$24>>0] = 1; - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } else { - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); + $4 = ($3|0)==(0|0); + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = (_sqlite3MallocSize($5)|0); + HEAP32[$0>>2] = $6; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = (_isLookaside($7,$8)|0); + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 248|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + HEAP32[$0>>2] = $14; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); + } else { + $15 = HEAP32[(56)>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = (FUNCTION_TABLE_ii[$15 & 31]($16)|0); + HEAP32[$0>>2] = $17; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); } - return 0|0; + return (0)|0; } -function _parseDateOrTime($context,$zDate,$p) { - $context = $context|0; - $zDate = $zDate|0; +function _isLookaside($db,$p) { + $db = $db|0; $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 248|0); + $5 = ((($4)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($2>>>0)>=($6>>>0); + if (!($7)) { + $15 = 0; + $14 = $15&1; + STACKTOP = sp;return ($14|0); + } + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 248|0); + $11 = ((($10)) + 32|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($8>>>0)<($12>>>0); + $15 = $13; + $14 = $15&1; + STACKTOP = sp;return ($14|0); +} +function _sqlite3VdbeMemGrow($pMem,$n,$bPreserve) { + $pMem = $pMem|0; + $n = $n|0; + $bPreserve = $bPreserve|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$1>>2] = $pMem; + HEAP32[$2>>2] = $n; + HEAP32[$3>>2] = $bPreserve; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ($6|0)<($7|0); + do { + if ($8) { + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)<(32); + if ($10) { + HEAP32[$2>>2] = 32; + } + $11 = HEAP32[$3>>2]|0; + $12 = ($11|0)!=(0); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($19|0)==($22|0); + if ($23) { + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = ($30|0)<(0); + $32 = $31 << 31 >> 31; + $33 = (_sqlite3DbReallocOrFree($26,$29,$30,$32)|0); + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 20|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 16|0); + HEAP32[$37>>2] = $33; + HEAP32[$3>>2] = 0; + } else { + label = 8; + } + } else { + label = 8; + } + } else { + label = 8; + } + if ((label|0) == 8) { + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)>(0); + if ($41) { + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 32|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 20|0); + $47 = HEAP32[$46>>2]|0; + _sqlite3DbFree($44,$47); + } + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 32|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$2>>2]|0; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = (_sqlite3DbMallocRaw($50,$51,$53)|0); + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 20|0); + HEAP32[$56>>2] = $54; + } + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 20|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==(0|0); + $61 = HEAP32[$1>>2]|0; + if (!($60)) { + $66 = ((($61)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 20|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3DbMallocSize($67,$70)|0); + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 24|0); + HEAP32[$73>>2] = $71; + break; + } + _sqlite3VdbeMemSetNull($61); + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 16|0); + HEAP32[$63>>2] = 0; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 24|0); + HEAP32[$65>>2] = 0; + HEAP32[$0>>2] = 7; + $119 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($119|0); + } + } while(0); + $74 = HEAP32[$3>>2]|0; + $75 = ($74|0)!=(0); + if ($75) { + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 16|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)!=(0|0); + if ($79) { + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 16|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$1>>2]|0; + $84 = ((($83)) + 20|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($82|0)!=($85|0); + if ($86) { + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 20|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$1>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$1>>2]|0; + $94 = ((($93)) + 12|0); + $95 = HEAP32[$94>>2]|0; + _memcpy(($89|0),($92|0),($95|0))|0; + } + } + } + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = $99 & 1024; + $101 = ($100|0)!=(0); + if ($101) { + $102 = HEAP32[$1>>2]|0; + $103 = ((($102)) + 36|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$1>>2]|0; + $106 = ((($105)) + 16|0); + $107 = HEAP32[$106>>2]|0; + FUNCTION_TABLE_vi[$104 & 31]($107); + } + $108 = HEAP32[$1>>2]|0; + $109 = ((($108)) + 20|0); + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$1>>2]|0; + $112 = ((($111)) + 16|0); + HEAP32[$112>>2] = $110; + $113 = HEAP32[$1>>2]|0; + $114 = ((($113)) + 8|0); + $115 = HEAP16[$114>>1]|0; + $116 = $115&65535; + $117 = $116 & -7169; + $118 = $117&65535; + HEAP16[$114>>1] = $118; + HEAP32[$0>>2] = 0; + $119 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($119|0); +} +function _sqlite3DbReallocOrFree($db,$p,$0,$1) { + $db = $db|0; + $p = $p|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $pNew = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $r = sp; - HEAP32[$1>>2] = $context; - HEAP32[$2>>2] = $zDate; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp; + $pNew = sp + 8|0; + HEAP32[$2>>2] = $db; HEAP32[$3>>2] = $p; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$3>>2]|0; - $6 = (_parseYyyyMmDd($4,$5)|0); - $7 = ($6|0)==(0); - if ($7) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = (_parseHhMmSs($8,$9)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = $4; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3DbRealloc($9,$10,$13,$16)|0); + HEAP32[$pNew>>2] = $17; + $18 = HEAP32[$pNew>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $22 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($22|0); } - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3_stricmp($12,9616)|0); + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$3>>2]|0; + _sqlite3DbFree($20,$21); + $22 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _sqlite3DbRealloc($db,$p,$0,$1) { + $db = $db|0; + $p = $p|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $pNew = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp; + $pNew = sp + 8|0; + HEAP32[$3>>2] = $db; + HEAP32[$4>>2] = $p; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + HEAP32[$pNew>>2] = 0; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 64|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = (_setDateTimeToCurrent($15,$16)|0); - HEAP32[$0>>2] = $17; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + do { + if ($14) { + $15 = HEAP32[$4>>2]|0; + $16 = ($15|0)==(0|0); + $17 = HEAP32[$3>>2]|0; + if ($16) { + $18 = $5; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (_sqlite3DbMallocRaw($17,$20,$23)|0); + HEAP32[$2>>2] = $24; + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); + } + $25 = HEAP32[$4>>2]|0; + $26 = (_isLookaside($17,$25)|0); + $27 = ($26|0)!=(0); + if (!($27)) { + $62 = HEAP32[$4>>2]|0; + $63 = $5; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3_realloc64($62,$65,$68)|0); + HEAP32[$pNew>>2] = $69; + $70 = HEAP32[$pNew>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + break; + } + $72 = HEAP32[$3>>2]|0; + $73 = ((($72)) + 64|0); + HEAP8[$73>>0] = 1; + break; + } + $28 = $5; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 248|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = ($33>>>0)<(0); + $39 = ($30>>>0)<=($37>>>0); + $40 = ($33|0)==(0); + $41 = $40 & $39; + $42 = $38 | $41; + if ($42) { + $43 = HEAP32[$4>>2]|0; + HEAP32[$2>>2] = $43; + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); + } else { + $44 = HEAP32[$3>>2]|0; + $45 = $5; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (_sqlite3DbMallocRaw($44,$47,$50)|0); + HEAP32[$pNew>>2] = $51; + $52 = HEAP32[$pNew>>2]|0; + $53 = ($52|0)!=(0|0); + if (!($53)) { + break; + } + $54 = HEAP32[$pNew>>2]|0; + $55 = HEAP32[$4>>2]|0; + $56 = HEAP32[$3>>2]|0; + $57 = ((($56)) + 248|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + _memcpy(($54|0),($55|0),($59|0))|0; + $60 = HEAP32[$3>>2]|0; + $61 = HEAP32[$4>>2]|0; + _sqlite3DbFree($60,$61); + break; + } + } + } while(0); + $74 = HEAP32[$pNew>>2]|0; + HEAP32[$2>>2] = $74; + $75 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($75|0); +} +function _functionDestroy($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $pDestructor = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $pDestructor = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 32|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pDestructor>>2] = $4; + $5 = HEAP32[$pDestructor>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; } - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3Strlen30($19)|0); - $21 = (_sqlite3AtoF($18,$r,$20,1)|0); - $22 = ($21|0)!=(0); - if ($22) { - $23 = +HEAPF64[$r>>3]; - $24 = $23 * 8.64E+7; - $25 = $24 + 0.5; - $26 = (~~$25)>>>0; - $27 = +Math_abs($25) >= 1.0 ? $25 > 0.0 ? (Math_min(+Math_floor($25 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($25 - +(~~$25 >>> 0)) / 4294967296.0) >>> 0 : 0; - $28 = HEAP32[$3>>2]|0; - $29 = $28; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = HEAP32[$3>>2]|0; - $34 = (($33) + 42|0); - HEAP8[$34>>0] = 1; - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } else { - HEAP32[$0>>2] = 1; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $7 = HEAP32[$pDestructor>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$7>>2] = $9; + $10 = HEAP32[$pDestructor>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + STACKTOP = sp;return; } - return 0|0; + $13 = HEAP32[$pDestructor>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$pDestructor>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + FUNCTION_TABLE_vi[$15 & 31]($18); + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$pDestructor>>2]|0; + _sqlite3DbFree($19,$20); + STACKTOP = sp;return; } -function _parseModifier($pCtx,$zMod,$p) { - $pCtx = $pCtx|0; - $zMod = $zMod|0; - $p = $p|0; - var $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0, $150 = 0.0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; - var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0.0, $428 = 0, $429 = 0.0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0.0, $436 = 0.0, $437 = 0.0, $438 = 0.0, $439 = 0; - var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; - var $458 = 0, $459 = 0.0, $46 = 0, $460 = 0.0, $461 = 0.0, $462 = 0.0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; - var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0.0, $484 = 0.0, $485 = 0.0, $486 = 0.0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; - var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0.0, $508 = 0.0, $509 = 0.0, $51 = 0, $510 = 0.0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; - var $53 = 0, $530 = 0, $531 = 0, $532 = 0.0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0; - var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0.0, $563 = 0, $564 = 0, $565 = 0.0; - var $566 = 0.0, $567 = 0, $568 = 0.0, $569 = 0, $57 = 0, $570 = 0.0, $571 = 0.0, $572 = 0.0, $573 = 0.0, $574 = 0.0, $575 = 0.0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0; - var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0.0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0; - var $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0.0, $609 = 0.0, $61 = 0, $610 = 0, $611 = 0.0, $612 = 0, $613 = 0.0, $614 = 0.0, $615 = 0.0, $616 = 0.0, $617 = 0.0, $618 = 0.0, $619 = 0; - var $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Z = 0, $c1 = 0, $day = 0; - var $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $r = 0, $rRounder = 0, $rc = 0, $tx = 0, $x = 0, $y = 0, $y1 = 0, $z = 0, $z2 = 0, $zBuf = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _disconnectAllVtab($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pSchema = 0, $pTab = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 124|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $rc = sp + 112|0; - $n = sp + 108|0; - $r = sp + 80|0; - $z = sp + 104|0; - $zBuf = sp + 128|0; - $c1 = sp + 72|0; - $Z = sp + 64|0; - $rRounder = sp + 56|0; - $z2 = sp + 100|0; - $tx = sp + 8|0; - $day = sp; - $x = sp + 96|0; - $y = sp + 92|0; - $y1 = sp + 88|0; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $zMod; - HEAP32[$2>>2] = $p; - HEAP32[$rc>>2] = 1; - HEAP32[$z>>2] = $zBuf; - HEAP32[$n>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $i = sp + 12|0; + $pSchema = sp + 8|0; + $p = sp + 4|0; + $pTab = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnterAll($1); + HEAP32[$i>>2] = 0; while(1) { - $3 = HEAP32[$n>>2]|0; - $4 = ($3|0)<(29); - if (!($4)) { + $2 = HEAP32[$i>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2|0)<($5|0); + if (!($6)) { break; } - $5 = HEAP32[$n>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + ($5)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(0); + $7 = HEAP32[$i>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($7<<4)|0); + $12 = ((($11)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pSchema>>2] = $13; + $14 = HEAP32[$i>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($14<<4)|0); + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + L4: do { + if ($21) { + $22 = HEAP32[$pSchema>>2]|0; + $23 = ((($22)) + 8|0); + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$p>>2] = $25; + while(1) { + $26 = HEAP32[$p>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { + break L4; + } + $28 = HEAP32[$p>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$pTab>>2] = $30; + $31 = HEAP32[$pTab>>2]|0; + $32 = ((($31)) + 44|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 & 16; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$0>>2]|0; + $38 = HEAP32[$pTab>>2]|0; + _sqlite3VtabDisconnect($37,$38); + } + $39 = HEAP32[$p>>2]|0; + $40 = HEAP32[$39>>2]|0; + HEAP32[$p>>2] = $40; + } + } + } while(0); + $41 = HEAP32[$i>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$i>>2] = $42; + } + $43 = HEAP32[$0>>2]|0; + _sqlite3VtabUnlockList($43); + STACKTOP = sp;return; +} +function _sqlite3VtabRollback($db) { + $db = $db|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + _callFinaliser($1,68); + STACKTOP = sp;return 0; +} +function _connectionIsBusy($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, $pBt = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $j = sp + 4|0; + $pBt = sp; + HEAP32[$1>>2] = $db; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if ($5) { + HEAP32[$0>>2] = 1; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } + HEAP32[$j>>2] = 0; + while(1) { + $6 = HEAP32[$j>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)<($9|0); if (!($10)) { + label = 9; break; } - $11 = HEAP32[$n>>2]|0; + $11 = HEAP32[$j>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + ($11)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (440 + ($15)|0); - $17 = HEAP8[$16>>0]|0; - $18 = HEAP32[$n>>2]|0; - $19 = HEAP32[$z>>2]|0; - $20 = (($19) + ($18)|0); - HEAP8[$20>>0] = $17; - $21 = HEAP32[$n>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$n>>2] = $22; - } - $23 = HEAP32[$n>>2]|0; - $24 = HEAP32[$z>>2]|0; - $25 = (($24) + ($23)|0); - HEAP8[$25>>0] = 0; - $26 = HEAP32[$z>>2]|0; - $27 = HEAP8[$26>>0]|0; - $28 = $27 << 24 >> 24; - switch ($28|0) { - case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: case 45: case 43: { - HEAP32[$n>>2] = 1; - while(1) { - $266 = HEAP32[$n>>2]|0; - $267 = HEAP32[$z>>2]|0; - $268 = (($267) + ($266)|0); - $269 = HEAP8[$268>>0]|0; - $270 = $269 << 24 >> 24; - $271 = ($270|0)!=(0); - if (!($271)) { - break; - } - $272 = HEAP32[$n>>2]|0; - $273 = HEAP32[$z>>2]|0; - $274 = (($273) + ($272)|0); - $275 = HEAP8[$274>>0]|0; - $276 = $275 << 24 >> 24; - $277 = ($276|0)!=(58); - if (!($277)) { - break; - } - $278 = HEAP32[$n>>2]|0; - $279 = HEAP32[$z>>2]|0; - $280 = (($279) + ($278)|0); - $281 = HEAP8[$280>>0]|0; - $282 = $281&255; - $283 = (1224 + ($282)|0); - $284 = HEAP8[$283>>0]|0; - $285 = $284&255; - $286 = $285 & 1; - $287 = ($286|0)!=(0); - if ($287) { + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($11<<4)|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$pBt>>2] = $17; + $18 = HEAP32[$pBt>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$pBt>>2]|0; + $21 = (_sqlite3BtreeIsInBackup($20)|0); + $22 = ($21|0)!=(0); + if ($22) { + label = 7; break; } - $288 = HEAP32[$n>>2]|0; - $289 = (($288) + 1)|0; - HEAP32[$n>>2] = $289; - } - $290 = HEAP32[$z>>2]|0; - $291 = HEAP32[$n>>2]|0; - $292 = (_sqlite3AtoF($290,$r,$291,1)|0); - $293 = ($292|0)!=(0); - if (!($293)) { - HEAP32[$rc>>2] = 1; - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); } - $294 = HEAP32[$n>>2]|0; - $295 = HEAP32[$z>>2]|0; - $296 = (($295) + ($294)|0); - $297 = HEAP8[$296>>0]|0; - $298 = $297 << 24 >> 24; - $299 = ($298|0)==(58); - if ($299) { - $300 = HEAP32[$z>>2]|0; - HEAP32[$z2>>2] = $300; - $301 = HEAP32[$z2>>2]|0; - $302 = HEAP8[$301>>0]|0; - $303 = $302&255; - $304 = (1224 + ($303)|0); - $305 = HEAP8[$304>>0]|0; - $306 = $305&255; - $307 = $306 & 4; - $308 = ($307|0)!=(0); - if (!($308)) { - $309 = HEAP32[$z2>>2]|0; - $310 = (($309) + 1|0); - HEAP32[$z2>>2] = $310; - } - dest=$tx+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $311 = HEAP32[$z2>>2]|0; - $312 = (_parseHhMmSs($311,$tx)|0); - $313 = ($312|0)!=(0); - if ($313) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - _computeJD($tx); - $314 = $tx; - $315 = $314; - $316 = HEAP32[$315>>2]|0; - $317 = (($314) + 4)|0; - $318 = $317; - $319 = HEAP32[$318>>2]|0; - $320 = (_i64Subtract(($316|0),($319|0),43200000,0)|0); - $321 = tempRet0; - $322 = $tx; - $323 = $322; - HEAP32[$323>>2] = $320; - $324 = (($322) + 4)|0; - $325 = $324; - HEAP32[$325>>2] = $321; - $326 = $tx; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = (($326) + 4)|0; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - $332 = (___divdi3(($328|0),($331|0),86400000,0)|0); - $333 = tempRet0; - $334 = $day; - $335 = $334; - HEAP32[$335>>2] = $332; - $336 = (($334) + 4)|0; - $337 = $336; - HEAP32[$337>>2] = $333; - $338 = $day; - $339 = $338; - $340 = HEAP32[$339>>2]|0; - $341 = (($338) + 4)|0; - $342 = $341; - $343 = HEAP32[$342>>2]|0; - $344 = (___muldi3(($340|0),($343|0),86400000,0)|0); - $345 = tempRet0; - $346 = $tx; - $347 = $346; - $348 = HEAP32[$347>>2]|0; - $349 = (($346) + 4)|0; - $350 = $349; - $351 = HEAP32[$350>>2]|0; - $352 = (_i64Subtract(($348|0),($351|0),($344|0),($345|0))|0); - $353 = tempRet0; - $354 = $tx; - $355 = $354; - HEAP32[$355>>2] = $352; - $356 = (($354) + 4)|0; - $357 = $356; - HEAP32[$357>>2] = $353; - $358 = HEAP32[$z>>2]|0; - $359 = HEAP8[$358>>0]|0; - $360 = $359 << 24 >> 24; - $361 = ($360|0)==(45); - if ($361) { - $362 = $tx; - $363 = $362; - $364 = HEAP32[$363>>2]|0; - $365 = (($362) + 4)|0; - $366 = $365; - $367 = HEAP32[$366>>2]|0; - $368 = (_i64Subtract(0,0,($364|0),($367|0))|0); - $369 = tempRet0; - $370 = $tx; - $371 = $370; - HEAP32[$371>>2] = $368; - $372 = (($370) + 4)|0; - $373 = $372; - HEAP32[$373>>2] = $369; - } - $374 = HEAP32[$2>>2]|0; - _computeJD($374); - $375 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($375); - $376 = $tx; - $377 = $376; - $378 = HEAP32[$377>>2]|0; - $379 = (($376) + 4)|0; - $380 = $379; - $381 = HEAP32[$380>>2]|0; - $382 = HEAP32[$2>>2]|0; - $383 = $382; - $384 = $383; - $385 = HEAP32[$384>>2]|0; - $386 = (($383) + 4)|0; - $387 = $386; - $388 = HEAP32[$387>>2]|0; - $389 = (_i64Add(($385|0),($388|0),($378|0),($381|0))|0); - $390 = tempRet0; - $391 = $382; - $392 = $391; - HEAP32[$392>>2] = $389; - $393 = (($391) + 4)|0; - $394 = $393; - HEAP32[$394>>2] = $390; - HEAP32[$rc>>2] = 0; - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); + $23 = HEAP32[$j>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$j>>2] = $24; + } + if ((label|0) == 7) { + HEAP32[$0>>2] = 1; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } + else if ((label|0) == 9) { + HEAP32[$0>>2] = 0; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } + return (0)|0; +} +function _sqlite3BtreeIsInBackup($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0); + $5 = $4&1; + STACKTOP = sp;return ($5|0); +} +function _callFinaliser($db,$offset) { + $db = $db|0; + $offset = $offset|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pVTab = 0, $x = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $i = sp + 12|0; + $pVTab = sp + 8|0; + $p = sp + 4|0; + $x = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $offset; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 328|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; + while(1) { + $6 = HEAP32[$i>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 304|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6|0)<($9|0); + if (!($10)) { + break; } - $395 = HEAP32[$n>>2]|0; - $396 = HEAP32[$z>>2]|0; - $397 = (($396) + ($395)|0); - HEAP32[$z>>2] = $397; - while(1) { - $398 = HEAP32[$z>>2]|0; - $399 = HEAP8[$398>>0]|0; - $400 = $399&255; - $401 = (1224 + ($400)|0); - $402 = HEAP8[$401>>0]|0; - $403 = $402&255; - $404 = $403 & 1; - $405 = ($404|0)!=(0); - $406 = HEAP32[$z>>2]|0; - if (!($405)) { - break; + $11 = HEAP32[$i>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 328|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($11<<2)|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$pVTab>>2] = $16; + $17 = HEAP32[$pVTab>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$p>>2] = $19; + $20 = HEAP32[$p>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$p>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$1>>2]|0; + $25 = (($23) + ($24)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$x>>2] = $26; + $27 = HEAP32[$x>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$x>>2]|0; + $30 = HEAP32[$p>>2]|0; + (FUNCTION_TABLE_ii[$29 & 31]($30)|0); } - $407 = (($406) + 1|0); - HEAP32[$z>>2] = $407; } - $408 = (_sqlite3Strlen30($406)|0); - HEAP32[$n>>2] = $408; - $409 = HEAP32[$n>>2]|0; - $410 = ($409|0)>(10); - $411 = HEAP32[$n>>2]|0; - $412 = ($411|0)<(3); - $or$cond5 = $410 | $412; - if ($or$cond5) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); + $31 = HEAP32[$pVTab>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = 0; + $33 = HEAP32[$pVTab>>2]|0; + _sqlite3VtabUnlock($33); + $34 = HEAP32[$i>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$i>>2] = $35; + } + $36 = HEAP32[$0>>2]|0; + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 328|0); + $39 = HEAP32[$38>>2]|0; + _sqlite3DbFree($36,$39); + $40 = HEAP32[$0>>2]|0; + $41 = ((($40)) + 304|0); + HEAP32[$41>>2] = 0; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 328|0); + HEAP32[$43>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3VtabUnlock($pVTab) { + $pVTab = $pVTab|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $db = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pVTab; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$db>>2] = $2; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + -1)|0; + HEAP32[$4>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$p>>2] = $13; + $14 = HEAP32[$p>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$p>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$p>>2]|0; + (FUNCTION_TABLE_ii[$19 & 31]($20)|0); + } + $21 = HEAP32[$db>>2]|0; + $22 = HEAP32[$0>>2]|0; + _sqlite3DbFree($21,$22); + STACKTOP = sp;return; +} +function _sqlite3VtabDisconnect($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $pVTab = 0, $ppVTab = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $ppVTab = sp + 4|0; + $pVTab = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 60|0); + HEAP32[$ppVTab>>2] = $3; + while(1) { + $4 = HEAP32[$ppVTab>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + label = 6; + break; } - $413 = HEAP32[$n>>2]|0; - $414 = (($413) - 1)|0; - $415 = HEAP32[$z>>2]|0; - $416 = (($415) + ($414)|0); - $417 = HEAP8[$416>>0]|0; - $418 = $417 << 24 >> 24; - $419 = ($418|0)==(115); - if ($419) { - $420 = HEAP32[$n>>2]|0; - $421 = (($420) - 1)|0; - $422 = HEAP32[$z>>2]|0; - $423 = (($422) + ($421)|0); - HEAP8[$423>>0] = 0; - $424 = HEAP32[$n>>2]|0; - $425 = (($424) + -1)|0; - HEAP32[$n>>2] = $425; + $7 = HEAP32[$ppVTab>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ($9|0)==($10|0); + $12 = HEAP32[$ppVTab>>2]|0; + $13 = HEAP32[$12>>2]|0; + if ($11) { + break; } - $426 = HEAP32[$2>>2]|0; - _computeJD($426); - HEAP32[$rc>>2] = 0; - $427 = +HEAPF64[$r>>3]; - $428 = $427 < 0.0; - $429 = $428 ? -0.5 : 0.5; - HEAPF64[$rRounder>>3] = $429; - $430 = HEAP32[$n>>2]|0; - $431 = ($430|0)==(3); - if ($431) { - $432 = HEAP32[$z>>2]|0; - $433 = (_strcmp($432,9560)|0); - $434 = ($433|0)==(0); - if ($434) { - $435 = +HEAPF64[$r>>3]; - $436 = $435 * 8.64E+7; - $437 = +HEAPF64[$rRounder>>3]; - $438 = $436 + $437; - $439 = (~~$438)>>>0; - $440 = +Math_abs($438) >= 1.0 ? $438 > 0.0 ? (Math_min(+Math_floor($438 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($438 - +(~~$438 >>> 0)) / 4294967296.0) >>> 0 : 0; - $441 = HEAP32[$2>>2]|0; - $442 = $441; - $443 = $442; - $444 = HEAP32[$443>>2]|0; - $445 = (($442) + 4)|0; - $446 = $445; - $447 = HEAP32[$446>>2]|0; - $448 = (_i64Add(($444|0),($447|0),($439|0),($440|0))|0); - $449 = tempRet0; - $450 = $441; - $451 = $450; - HEAP32[$451>>2] = $448; - $452 = (($450) + 4)|0; - $453 = $452; - HEAP32[$453>>2] = $449; - } else { - label = 50; - } - } else { - label = 50; - } - do { - if ((label|0) == 50) { - $454 = HEAP32[$n>>2]|0; - $455 = ($454|0)==(4); - if ($455) { - $456 = HEAP32[$z>>2]|0; - $457 = (_strcmp($456,9568)|0); - $458 = ($457|0)==(0); - if ($458) { - $459 = +HEAPF64[$r>>3]; - $460 = $459 * 3.6E+6; - $461 = +HEAPF64[$rRounder>>3]; - $462 = $460 + $461; - $463 = (~~$462)>>>0; - $464 = +Math_abs($462) >= 1.0 ? $462 > 0.0 ? (Math_min(+Math_floor($462 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($462 - +(~~$462 >>> 0)) / 4294967296.0) >>> 0 : 0; - $465 = HEAP32[$2>>2]|0; - $466 = $465; - $467 = $466; - $468 = HEAP32[$467>>2]|0; - $469 = (($466) + 4)|0; - $470 = $469; - $471 = HEAP32[$470>>2]|0; - $472 = (_i64Add(($468|0),($471|0),($463|0),($464|0))|0); - $473 = tempRet0; - $474 = $465; - $475 = $474; - HEAP32[$475>>2] = $472; - $476 = (($474) + 4)|0; - $477 = $476; - HEAP32[$477>>2] = $473; - break; - } - } - $478 = HEAP32[$n>>2]|0; - $479 = ($478|0)==(6); - if ($479) { - $480 = HEAP32[$z>>2]|0; - $481 = (_strcmp($480,9576)|0); - $482 = ($481|0)==(0); - if ($482) { - $483 = +HEAPF64[$r>>3]; - $484 = $483 * 6.0E+4; - $485 = +HEAPF64[$rRounder>>3]; - $486 = $484 + $485; - $487 = (~~$486)>>>0; - $488 = +Math_abs($486) >= 1.0 ? $486 > 0.0 ? (Math_min(+Math_floor($486 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($486 - +(~~$486 >>> 0)) / 4294967296.0) >>> 0 : 0; - $489 = HEAP32[$2>>2]|0; - $490 = $489; - $491 = $490; - $492 = HEAP32[$491>>2]|0; - $493 = (($490) + 4)|0; - $494 = $493; - $495 = HEAP32[$494>>2]|0; - $496 = (_i64Add(($492|0),($495|0),($487|0),($488|0))|0); - $497 = tempRet0; - $498 = $489; - $499 = $498; - HEAP32[$499>>2] = $496; - $500 = (($498) + 4)|0; - $501 = $500; - HEAP32[$501>>2] = $497; - break; - } - } - $502 = HEAP32[$n>>2]|0; - $503 = ($502|0)==(6); - if ($503) { - $504 = HEAP32[$z>>2]|0; - $505 = (_strcmp($504,9584)|0); - $506 = ($505|0)==(0); - if ($506) { - $507 = +HEAPF64[$r>>3]; - $508 = $507 * 1000.0; - $509 = +HEAPF64[$rRounder>>3]; - $510 = $508 + $509; - $511 = (~~$510)>>>0; - $512 = +Math_abs($510) >= 1.0 ? $510 > 0.0 ? (Math_min(+Math_floor($510 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($510 - +(~~$510 >>> 0)) / 4294967296.0) >>> 0 : 0; - $513 = HEAP32[$2>>2]|0; - $514 = $513; - $515 = $514; - $516 = HEAP32[$515>>2]|0; - $517 = (($514) + 4)|0; - $518 = $517; - $519 = HEAP32[$518>>2]|0; - $520 = (_i64Add(($516|0),($519|0),($511|0),($512|0))|0); - $521 = tempRet0; - $522 = $513; - $523 = $522; - HEAP32[$523>>2] = $520; - $524 = (($522) + 4)|0; - $525 = $524; - HEAP32[$525>>2] = $521; - break; - } - } - $526 = HEAP32[$n>>2]|0; - $527 = ($526|0)==(5); - if ($527) { - $528 = HEAP32[$z>>2]|0; - $529 = (_strcmp($528,9544)|0); - $530 = ($529|0)==(0); - if ($530) { - $531 = HEAP32[$2>>2]|0; - _computeYMD_HMS($531); - $532 = +HEAPF64[$r>>3]; - $533 = (~~(($532))); - $534 = HEAP32[$2>>2]|0; - $535 = (($534) + 12|0); - $536 = HEAP32[$535>>2]|0; - $537 = (($536) + ($533))|0; - HEAP32[$535>>2] = $537; - $538 = HEAP32[$2>>2]|0; - $539 = (($538) + 12|0); - $540 = HEAP32[$539>>2]|0; - $541 = ($540|0)>(0); - $542 = HEAP32[$2>>2]|0; - $543 = (($542) + 12|0); - $544 = HEAP32[$543>>2]|0; - $545 = (($544) - 1)|0; - $546 = (($544) - 12)|0; - $$sink = $541 ? $545 : $546; - $547 = (($$sink|0) / 12)&-1; - HEAP32[$x>>2] = $547; - $548 = HEAP32[$x>>2]|0; - $549 = HEAP32[$2>>2]|0; - $550 = (($549) + 8|0); - $551 = HEAP32[$550>>2]|0; - $552 = (($551) + ($548))|0; - HEAP32[$550>>2] = $552; - $553 = HEAP32[$x>>2]|0; - $554 = ($553*12)|0; - $555 = HEAP32[$2>>2]|0; - $556 = (($555) + 12|0); - $557 = HEAP32[$556>>2]|0; - $558 = (($557) - ($554))|0; - HEAP32[$556>>2] = $558; - $559 = HEAP32[$2>>2]|0; - $560 = (($559) + 42|0); - HEAP8[$560>>0] = 0; - $561 = HEAP32[$2>>2]|0; - _computeJD($561); - $562 = +HEAPF64[$r>>3]; - $563 = (~~(($562))); - HEAP32[$y>>2] = $563; - $564 = HEAP32[$y>>2]|0; - $565 = (+($564|0)); - $566 = +HEAPF64[$r>>3]; - $567 = $565 != $566; - if (!($567)) { - break; - } - $568 = +HEAPF64[$r>>3]; - $569 = HEAP32[$y>>2]|0; - $570 = (+($569|0)); - $571 = $568 - $570; - $572 = $571 * 30.0; - $573 = $572 * 8.64E+7; - $574 = +HEAPF64[$rRounder>>3]; - $575 = $573 + $574; - $576 = (~~$575)>>>0; - $577 = +Math_abs($575) >= 1.0 ? $575 > 0.0 ? (Math_min(+Math_floor($575 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($575 - +(~~$575 >>> 0)) / 4294967296.0) >>> 0 : 0; - $578 = HEAP32[$2>>2]|0; - $579 = $578; - $580 = $579; - $581 = HEAP32[$580>>2]|0; - $582 = (($579) + 4)|0; - $583 = $582; - $584 = HEAP32[$583>>2]|0; - $585 = (_i64Add(($581|0),($584|0),($576|0),($577|0))|0); - $586 = tempRet0; - $587 = $578; - $588 = $587; - HEAP32[$588>>2] = $585; - $589 = (($587) + 4)|0; - $590 = $589; - HEAP32[$590>>2] = $586; - break; - } - } - $591 = HEAP32[$n>>2]|0; - $592 = ($591|0)==(4); - if ($592) { - $593 = HEAP32[$z>>2]|0; - $594 = (_strcmp($593,9552)|0); - $595 = ($594|0)==(0); - if ($595) { - $596 = +HEAPF64[$r>>3]; - $597 = (~~(($596))); - HEAP32[$y1>>2] = $597; - $598 = HEAP32[$2>>2]|0; - _computeYMD_HMS($598); - $599 = HEAP32[$y1>>2]|0; - $600 = HEAP32[$2>>2]|0; - $601 = (($600) + 8|0); - $602 = HEAP32[$601>>2]|0; - $603 = (($602) + ($599))|0; - HEAP32[$601>>2] = $603; - $604 = HEAP32[$2>>2]|0; - $605 = (($604) + 42|0); - HEAP8[$605>>0] = 0; - $606 = HEAP32[$2>>2]|0; - _computeJD($606); - $607 = HEAP32[$y1>>2]|0; - $608 = (+($607|0)); - $609 = +HEAPF64[$r>>3]; - $610 = $608 != $609; - if (!($610)) { - break; - } - $611 = +HEAPF64[$r>>3]; - $612 = HEAP32[$y1>>2]|0; - $613 = (+($612|0)); - $614 = $611 - $613; - $615 = $614 * 365.0; - $616 = $615 * 8.64E+7; - $617 = +HEAPF64[$rRounder>>3]; - $618 = $616 + $617; - $619 = (~~$618)>>>0; - $620 = +Math_abs($618) >= 1.0 ? $618 > 0.0 ? (Math_min(+Math_floor($618 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($618 - +(~~$618 >>> 0)) / 4294967296.0) >>> 0 : 0; - $621 = HEAP32[$2>>2]|0; - $622 = $621; - $623 = $622; - $624 = HEAP32[$623>>2]|0; - $625 = (($622) + 4)|0; - $626 = $625; - $627 = HEAP32[$626>>2]|0; - $628 = (_i64Add(($624|0),($627|0),($619|0),($620|0))|0); - $629 = tempRet0; - $630 = $621; - $631 = $630; - HEAP32[$631>>2] = $628; - $632 = (($630) + 4)|0; - $633 = $632; - HEAP32[$633>>2] = $629; - break; - } - } - HEAP32[$rc>>2] = 1; - } - } while(0); - $634 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($634); - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - break; - } - case 115: { - $232 = HEAP32[$z>>2]|0; - $233 = (_strncmp($232,9528,9)|0); - $234 = ($233|0)!=(0); - if ($234) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - $235 = HEAP32[$z>>2]|0; - $236 = (($235) + 9|0); - HEAP32[$z>>2] = $236; - $237 = HEAP32[$2>>2]|0; - _computeYMD($237); - $238 = HEAP32[$2>>2]|0; - $239 = (($238) + 41|0); - HEAP8[$239>>0] = 1; - $240 = HEAP32[$2>>2]|0; - $241 = (($240) + 24|0); - HEAP32[$241>>2] = 0; - $242 = HEAP32[$2>>2]|0; - $243 = (($242) + 20|0); - HEAP32[$243>>2] = 0; - $244 = HEAP32[$2>>2]|0; - $245 = (($244) + 32|0); - HEAPF64[$245>>3] = 0.0; - $246 = HEAP32[$2>>2]|0; - $247 = (($246) + 43|0); - HEAP8[$247>>0] = 0; - $248 = HEAP32[$2>>2]|0; - $249 = (($248) + 42|0); - HEAP8[$249>>0] = 0; - $250 = HEAP32[$z>>2]|0; - $251 = (_strcmp($250,9544)|0); - $252 = ($251|0)==(0); - if ($252) { - $253 = HEAP32[$2>>2]|0; - $254 = (($253) + 16|0); - HEAP32[$254>>2] = 1; - HEAP32[$rc>>2] = 0; - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - $255 = HEAP32[$z>>2]|0; - $256 = (_strcmp($255,9552)|0); - $257 = ($256|0)==(0); - if ($257) { - $258 = HEAP32[$2>>2]|0; - _computeYMD($258); - $259 = HEAP32[$2>>2]|0; - $260 = (($259) + 12|0); - HEAP32[$260>>2] = 1; - $261 = HEAP32[$2>>2]|0; - $262 = (($261) + 16|0); - HEAP32[$262>>2] = 1; - HEAP32[$rc>>2] = 0; - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - $263 = HEAP32[$z>>2]|0; - $264 = (_strcmp($263,9560)|0); - $265 = ($264|0)==(0); - if (!($265)) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - HEAP32[$rc>>2] = 0; - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - break; + $19 = ((($13)) + 24|0); + HEAP32[$ppVTab>>2] = $19; } - case 117: { - $51 = HEAP32[$z>>2]|0; - $52 = (_strcmp($51,9488)|0); - $53 = ($52|0)==(0); - if ($53) { - $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 42|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = ($57|0)!=(0); - if ($58) { - $59 = HEAP32[$2>>2]|0; - $60 = $59; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (_i64Add(($62|0),($65|0),43200,0)|0); - $67 = tempRet0; - $68 = (___divdi3(($66|0),($67|0),86400,0)|0); - $69 = tempRet0; - $70 = (_i64Add(($68|0),($69|0),1045635584,49096)|0); - $71 = tempRet0; - $72 = HEAP32[$2>>2]|0; - $73 = $72; - $74 = $73; - HEAP32[$74>>2] = $70; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = $71; - $77 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($77); - HEAP32[$rc>>2] = 0; - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - } - $78 = HEAP32[$z>>2]|0; - $79 = (_strcmp($78,9504)|0); - $80 = ($79|0)==(0); - if (!($80)) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - $81 = HEAP32[$2>>2]|0; - _computeJD($81); - $82 = HEAP32[$2>>2]|0; - $83 = HEAP32[$0>>2]|0; - $84 = (_localtimeOffset($82,$83,$rc)|0); - $85 = tempRet0; - $86 = $c1; - $87 = $86; - HEAP32[$87>>2] = $84; - $88 = (($86) + 4)|0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - $92 = $c1; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = HEAP32[$2>>2]|0; - $99 = $98; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = (($99) + 4)|0; - $103 = $102; - $104 = HEAP32[$103>>2]|0; - $105 = (_i64Subtract(($101|0),($104|0),($94|0),($97|0))|0); - $106 = tempRet0; - $107 = $98; - $108 = $107; - HEAP32[$108>>2] = $105; - $109 = (($107) + 4)|0; - $110 = $109; - HEAP32[$110>>2] = $106; - $111 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($111); - $112 = $c1; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = (($112) + 4)|0; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = HEAP32[$2>>2]|0; - $119 = HEAP32[$0>>2]|0; - $120 = (_localtimeOffset($118,$119,$rc)|0); - $121 = tempRet0; - $122 = (_i64Subtract(($114|0),($117|0),($120|0),($121|0))|0); - $123 = tempRet0; - $124 = HEAP32[$2>>2]|0; - $125 = $124; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (_i64Add(($127|0),($130|0),($122|0),($123|0))|0); - $132 = tempRet0; - $133 = $124; - $134 = $133; - HEAP32[$134>>2] = $131; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - break; + if ((label|0) == 6) { + STACKTOP = sp;return; } - case 119: { - $137 = HEAP32[$z>>2]|0; - $138 = (_strncmp($137,9512,8)|0); - $139 = ($138|0)==(0); - if (!($139)) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - $140 = HEAP32[$z>>2]|0; - $141 = (($140) + 8|0); - $142 = HEAP32[$z>>2]|0; - $143 = (($142) + 8|0); - $144 = (_sqlite3Strlen30($143)|0); - $145 = (_sqlite3AtoF($141,$r,$144,1)|0); - $146 = ($145|0)!=(0); - if (!($146)) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - $147 = +HEAPF64[$r>>3]; - $148 = (~~(($147))); - HEAP32[$n>>2] = $148; - $149 = (+($148|0)); - $150 = +HEAPF64[$r>>3]; - $151 = $149 == $150; - $152 = HEAP32[$n>>2]|0; - $153 = ($152|0)>=(0); - $or$cond = $151 & $153; - $154 = +HEAPF64[$r>>3]; - $155 = $154 < 7.0; - $or$cond3 = $or$cond & $155; - if (!($or$cond3)) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - } - $156 = HEAP32[$2>>2]|0; - _computeYMD_HMS($156); - $157 = HEAP32[$2>>2]|0; - $158 = (($157) + 43|0); - HEAP8[$158>>0] = 0; - $159 = HEAP32[$2>>2]|0; - $160 = (($159) + 42|0); - HEAP8[$160>>0] = 0; - $161 = HEAP32[$2>>2]|0; - _computeJD($161); - $162 = HEAP32[$2>>2]|0; - $163 = $162; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = (($163) + 4)|0; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - $169 = (_i64Add(($165|0),($168|0),129600000,0)|0); - $170 = tempRet0; - $171 = (___divdi3(($169|0),($170|0),86400000,0)|0); - $172 = tempRet0; - $173 = (___remdi3(($171|0),($172|0),7,0)|0); - $174 = tempRet0; - $175 = $Z; - $176 = $175; - HEAP32[$176>>2] = $173; - $177 = (($175) + 4)|0; - $178 = $177; - HEAP32[$178>>2] = $174; - $179 = $Z; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $182 = (($179) + 4)|0; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = HEAP32[$n>>2]|0; - $186 = ($185|0)<(0); - $187 = $186 << 31 >> 31; - $188 = ($184|0)>($187|0); - $189 = ($181>>>0)>($185>>>0); - $190 = ($184|0)==($187|0); - $191 = $190 & $189; - $192 = $188 | $191; - if ($192) { - $193 = $Z; - $194 = $193; - $195 = HEAP32[$194>>2]|0; - $196 = (($193) + 4)|0; - $197 = $196; - $198 = HEAP32[$197>>2]|0; - $199 = (_i64Subtract(($195|0),($198|0),7,0)|0); - $200 = tempRet0; - $201 = $Z; - $202 = $201; - HEAP32[$202>>2] = $199; - $203 = (($201) + 4)|0; - $204 = $203; - HEAP32[$204>>2] = $200; - } - $205 = HEAP32[$n>>2]|0; - $206 = ($205|0)<(0); - $207 = $206 << 31 >> 31; - $208 = $Z; - $209 = $208; - $210 = HEAP32[$209>>2]|0; - $211 = (($208) + 4)|0; - $212 = $211; - $213 = HEAP32[$212>>2]|0; - $214 = (_i64Subtract(($205|0),($207|0),($210|0),($213|0))|0); - $215 = tempRet0; - $216 = (___muldi3(($214|0),($215|0),86400000,0)|0); - $217 = tempRet0; - $218 = HEAP32[$2>>2]|0; - $219 = $218; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = (_i64Add(($221|0),($224|0),($216|0),($217|0))|0); - $226 = tempRet0; - $227 = $218; - $228 = $227; - HEAP32[$228>>2] = $225; - $229 = (($227) + 4)|0; - $230 = $229; - HEAP32[$230>>2] = $226; - $231 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($231); - HEAP32[$rc>>2] = 0; - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - break; + HEAP32[$pVTab>>2] = $13; + $14 = HEAP32[$pVTab>>2]|0; + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$ppVTab>>2]|0; + HEAP32[$17>>2] = $16; + $18 = HEAP32[$pVTab>>2]|0; + _sqlite3VtabUnlock($18); + STACKTOP = sp;return; +} +function _sqlite3VtabUnlockList($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pNext = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $p = sp + 4|0; + $pNext = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 332|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$p>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 332|0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[$p>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; } - case 108: { - $29 = HEAP32[$z>>2]|0; - $30 = (_strcmp($29,9472)|0); - $31 = ($30|0)==(0); - if (!($31)) { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); + $8 = HEAP32[$0>>2]|0; + _sqlite3ExpirePreparedStatements($8); + while(1) { + $9 = HEAP32[$p>>2]|0; + $10 = ((($9)) + 24|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$pNext>>2] = $11; + $12 = HEAP32[$p>>2]|0; + _sqlite3VtabUnlock($12); + $13 = HEAP32[$pNext>>2]|0; + HEAP32[$p>>2] = $13; + $14 = HEAP32[$p>>2]|0; + $15 = ($14|0)!=(0|0); + if (!($15)) { + break; } - $32 = HEAP32[$2>>2]|0; - _computeJD($32); - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = (_localtimeOffset($33,$34,$rc)|0); - $36 = tempRet0; - $37 = HEAP32[$2>>2]|0; - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (_i64Add(($40|0),($43|0),($35|0),($36|0))|0); - $45 = tempRet0; - $46 = $37; - $47 = $46; - HEAP32[$47>>2] = $44; - $48 = (($46) + 4)|0; - $49 = $48; - HEAP32[$49>>2] = $45; - $50 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($50); - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); - break; - } - default: { - $635 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($635|0); } + STACKTOP = sp;return; +} +function _sqlite3PcacheShrink($pCache) { + $pCache = $pCache|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pCache; + $1 = HEAP32[(160)>>2]|0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 40|0); + $4 = HEAP32[$3>>2]|0; + FUNCTION_TABLE_vi[$1 & 31]($4); + STACKTOP = sp;return; +} +function _pcache1Init($NotUsed) { + $NotUsed = $NotUsed|0; + var $0 = 0, $1 = 0, $2 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $NotUsed; + dest=980; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $1 = HEAP32[(12)>>2]|0; + $2 = ($1|0)!=(0); + if ($2) { + HEAP32[980>>2] = (8); + HEAP32[(1032)>>2] = (8); } - return 0|0; + HEAP32[(992)>>2] = 10; + HEAP32[(1008)>>2] = 1; + STACKTOP = sp;return 0; } -function _localtimeOffset($p,$pCtx,$pRc) { - $p = $p|0; - $pCtx = $pCtx|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; +function _pcache1Shutdown($NotUsed) { + $NotUsed = $NotUsed|0; + var $0 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $NotUsed; + dest=980; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _pcache1Create($szPage,$szExtra,$bPurgeable) { + $szPage = $szPage|0; + $szExtra = $szExtra|0; + $bPurgeable = $bPurgeable|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $s = 0, $sLocal = 0, $t = 0, $x = 0, $y = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, $separateCache = 0, $sz = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $0 = sp + 96|0; - $1 = sp + 164|0; - $2 = sp + 160|0; - $3 = sp + 156|0; - $x = sp + 48|0; - $y = sp; - $t = sp + 152|0; - $sLocal = sp + 108|0; - $s = sp + 104|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pCtx; - HEAP32[$3>>2] = $pRc; - dest=$sLocal+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = HEAP32[$1>>2]|0; - dest=$x+0|0; src=$4+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _computeYMD_HMS($x); - $5 = (($x) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)<(1971); - if ($7) { - label = 3; - } else { - $8 = (($x) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>=(2038); - if ($10) { - label = 3; - } else { - $17 = (($x) + 32|0); - $18 = +HEAPF64[$17>>3]; - $19 = $18 + 0.5; - $20 = (~~(($19))); - HEAP32[$s>>2] = $20; - $21 = HEAP32[$s>>2]|0; - $22 = (+($21|0)); - $23 = (($x) + 32|0); - HEAPF64[$23>>3] = $22; - } + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $pCache = sp + 24|0; + $pGroup = sp + 4|0; + $sz = sp; + $separateCache = sp + 12|0; + HEAP32[$0>>2] = $szPage; + HEAP32[$1>>2] = $szExtra; + HEAP32[$2>>2] = $bPurgeable; + HEAP32[$separateCache>>2] = 0; + HEAP32[$sz>>2] = 48; + $3 = HEAP32[$sz>>2]|0; + $4 = ($3|0)<(0); + $5 = $4 << 31 >> 31; + $6 = (_sqlite3MallocZero($3,$5)|0); + HEAP32[$pCache>>2] = $6; + $7 = HEAP32[$pCache>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + $49 = HEAP32[$pCache>>2]|0; + STACKTOP = sp;return ($49|0); } - if ((label|0) == 3) { - $11 = (($x) + 8|0); - HEAP32[$11>>2] = 2000; - $12 = (($x) + 12|0); - HEAP32[$12>>2] = 1; - $13 = (($x) + 16|0); - HEAP32[$13>>2] = 1; - $14 = (($x) + 20|0); - HEAP32[$14>>2] = 0; - $15 = (($x) + 24|0); - HEAP32[$15>>2] = 0; - $16 = (($x) + 32|0); - HEAPF64[$16>>3] = 0.0; + HEAP32[$pGroup>>2] = 980; + $9 = HEAP32[$pGroup>>2]|0; + $10 = HEAP32[$pCache>>2]|0; + HEAP32[$10>>2] = $9; + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$pCache>>2]|0; + $13 = ((($12)) + 4|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$1>>2]|0; + $15 = HEAP32[$pCache>>2]|0; + $16 = ((($15)) + 8|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)!=(0); + $19 = $18 ? 1 : 0; + $20 = HEAP32[$pCache>>2]|0; + $21 = ((($20)) + 12|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$pCache>>2]|0; + _pcache1ResizeHash($22); + $23 = HEAP32[$2>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$pCache>>2]|0; + $26 = ((($25)) + 16|0); + HEAP32[$26>>2] = 10; + $27 = HEAP32[$pCache>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$pGroup>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + ($29))|0; + HEAP32[$31>>2] = $33; + $34 = HEAP32[$pGroup>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + 10)|0; + $38 = HEAP32[$pGroup>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($37) - ($40))|0; + $42 = HEAP32[$pGroup>>2]|0; + $43 = ((($42)) + 12|0); + HEAP32[$43>>2] = $41; } - $24 = (($x) + 28|0); - HEAP32[$24>>2] = 0; - $25 = (($x) + 42|0); - HEAP8[$25>>0] = 0; - _computeJD($x); - $26 = $x; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (___divdi3(($28|0),($31|0),1000,0)|0); - $33 = tempRet0; - $34 = (_i64Subtract(($32|0),($33|0),413362496,49)|0); - $35 = tempRet0; - HEAP32[$t>>2] = $34; - $36 = (_osLocaltime($t,$sLocal)|0); - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$2>>2]|0; - _sqlite3_result_error($38,9592,-1); - $39 = HEAP32[$3>>2]|0; - HEAP32[$39>>2] = 1; - $40 = $0; - $41 = $40; - HEAP32[$41>>2] = 0; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = 0; - $87 = $0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - tempRet0 = $92; - STACKTOP = sp;return ($89|0); - } else { - $44 = (($sLocal) + 20|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + 1900)|0; - $47 = (($y) + 8|0); - HEAP32[$47>>2] = $46; - $48 = (($sLocal) + 16|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 1)|0; - $51 = (($y) + 12|0); - HEAP32[$51>>2] = $50; - $52 = (($sLocal) + 12|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($y) + 16|0); - HEAP32[$54>>2] = $53; - $55 = (($sLocal) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($y) + 20|0); - HEAP32[$57>>2] = $56; - $58 = (($sLocal) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($y) + 24|0); - HEAP32[$60>>2] = $59; - $61 = HEAP32[$sLocal>>2]|0; - $62 = (+($61|0)); - $63 = (($y) + 32|0); - HEAPF64[$63>>3] = $62; - $64 = (($y) + 40|0); - HEAP8[$64>>0] = 1; - $65 = (($y) + 41|0); - HEAP8[$65>>0] = 1; - $66 = (($y) + 42|0); - HEAP8[$66>>0] = 0; - $67 = (($y) + 43|0); - HEAP8[$67>>0] = 0; - _computeJD($y); - $68 = HEAP32[$3>>2]|0; - HEAP32[$68>>2] = 0; - $69 = $y; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = $x; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (_i64Subtract(($71|0),($74|0),($77|0),($80|0))|0); - $82 = tempRet0; - $83 = $0; - $84 = $83; - HEAP32[$84>>2] = $81; - $85 = (($83) + 4)|0; - $86 = $85; - HEAP32[$86>>2] = $82; - $87 = $0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - tempRet0 = $92; - STACKTOP = sp;return ($89|0); + $44 = HEAP32[$pCache>>2]|0; + $45 = ((($44)) + 40|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)==(0); + if (!($47)) { + $49 = HEAP32[$pCache>>2]|0; + STACKTOP = sp;return ($49|0); } - return 0|0; + $48 = HEAP32[$pCache>>2]|0; + _pcache1Destroy($48); + HEAP32[$pCache>>2] = 0; + $49 = HEAP32[$pCache>>2]|0; + STACKTOP = sp;return ($49|0); } -function _clearYMD_HMS_TZ($p) { +function _pcache1Cachesize($p,$nMax) { $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + $nMax = $nMax|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0; + var $pGroup = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; + $0 = sp + 12|0; + $1 = sp + 8|0; + $pCache = sp + 4|0; + $pGroup = sp; HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 40|0); - HEAP8[$2>>0] = 0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 41|0); - HEAP8[$4>>0] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 43|0); - HEAP8[$6>>0] = 0; + HEAP32[$1>>2] = $nMax; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pCache>>2] = $2; + $3 = HEAP32[$pCache>>2]|0; + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$pCache>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$pGroup>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$pCache>>2]|0; + $11 = ((($10)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($9) - ($12))|0; + $14 = HEAP32[$pGroup>>2]|0; + $15 = ((($14)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + ($13))|0; + HEAP32[$15>>2] = $17; + $18 = HEAP32[$pGroup>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + 10)|0; + $22 = HEAP32[$pGroup>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($21) - ($24))|0; + $26 = HEAP32[$pGroup>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$1>>2]|0; + $29 = HEAP32[$pCache>>2]|0; + $30 = ((($29)) + 20|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$pCache>>2]|0; + $32 = ((($31)) + 20|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33*9)|0; + $35 = (($34>>>0) / 10)&-1; + $36 = HEAP32[$pCache>>2]|0; + $37 = ((($36)) + 24|0); + HEAP32[$37>>2] = $35; + $38 = HEAP32[$pGroup>>2]|0; + _pcache1EnforceMaxPage($38); STACKTOP = sp;return; } -function _sqlite3AtoF($z,$pResult,$length,$enc) { - $z = $z|0; - $pResult = $pResult|0; - $length = $length|0; - $enc = $enc|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0.0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0.0, $408 = 0.0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0.0, $42 = 0, $420 = 0.0, $421 = 0.0; - var $422 = 0.0, $423 = 0.0, $424 = 0.0, $425 = 0.0, $426 = 0.0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0.0, $438 = 0.0, $439 = 0.0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0.0, $444 = 0.0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0.0, $45 = 0, $450 = 0.0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0.0, $462 = 0.0, $463 = 0.0, $464 = 0.0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0.0, $472 = 0.0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d = 0, $e = 0, $eValid = 0, $esign = 0, $i = 0, $incr = 0, $nDigits = 0, $nonNum = 0, $or$cond = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond20 = 0, $or$cond22 = 0; - var $or$cond24 = 0, $or$cond26 = 0, $result = 0, $s = 0, $scale = 0, $sign = 0, $zEnd = 0, label = 0, sp = 0; +function _pcache1Pagecount($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $n = 0, $pCache = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 80|0; - $incr = sp + 60|0; - $zEnd = sp + 56|0; - $sign = sp + 52|0; - $s = sp + 16|0; - $d = sp + 48|0; - $esign = sp + 44|0; - $e = sp + 40|0; - $eValid = sp + 36|0; - $result = sp + 8|0; - $nDigits = sp + 32|0; - $nonNum = sp + 28|0; - $i = sp + 24|0; - $scale = sp; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $pResult; - HEAP32[$3>>2] = $length; - HEAP8[$4>>0] = $enc; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$3>>2]|0; - $7 = (($5) + ($6)|0); - HEAP32[$zEnd>>2] = $7; - HEAP32[$sign>>2] = 1; - $8 = $s; - $9 = $8; - HEAP32[$9>>2] = 0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = 0; - HEAP32[$d>>2] = 0; - HEAP32[$esign>>2] = 1; - HEAP32[$e>>2] = 0; - HEAP32[$eValid>>2] = 1; - HEAP32[$nDigits>>2] = 0; - HEAP32[$nonNum>>2] = 0; - $12 = HEAP32[$2>>2]|0; - HEAPF64[$12>>3] = 0.0; - $13 = HEAP8[$4>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$incr>>2] = 1; - } else { - HEAP32[$incr>>2] = 2; - $16 = HEAP8[$4>>0]|0; - $17 = $16&255; - $18 = (3 - ($17))|0; - HEAP32[$i>>2] = $18; - while(1) { - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = ($19|0)<($20|0); - if (!($21)) { - break; - } - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + ($22)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($26|0)==(0); - if (!($27)) { - break; - } - $28 = HEAP32[$i>>2]|0; - $29 = (($28) + 2)|0; - HEAP32[$i>>2] = $29; - } - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ($30|0)<($31|0); - $33 = $32&1; - HEAP32[$nonNum>>2] = $33; - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$i>>2]|0; - $36 = (($34) + ($35)|0); - $37 = HEAP8[$4>>0]|0; - $38 = $37&255; - $39 = (($36) + ($38)|0); - $40 = (($39) + -3|0); - HEAP32[$zEnd>>2] = $40; - $41 = HEAP8[$4>>0]|0; - $42 = $41&255; - $43 = $42 & 1; - $44 = HEAP32[$1>>2]|0; - $45 = (($44) + ($43)|0); - HEAP32[$1>>2] = $45; - } + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $n = sp + 4|0; + $pCache = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pCache>>2] = $1; + $2 = HEAP32[$pCache>>2]|0; + $3 = ((($2)) + 36|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$n>>2] = $4; + $5 = HEAP32[$n>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _pcache1Fetch($p,$iKey,$createFlag) { + $p = $p|0; + $iKey = $iKey|0; + $createFlag = $createFlag|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pPage = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $pCache = sp + 4|0; + $pPage = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $iKey; + HEAP32[$2>>2] = $createFlag; + $3 = HEAP32[$0>>2]|0; + HEAP32[$pCache>>2] = $3; + HEAP32[$pPage>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$pCache>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($4>>>0) % ($7>>>0))&-1; + $9 = HEAP32[$pCache>>2]|0; + $10 = ((($9)) + 44|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($8<<2)|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pPage>>2] = $13; while(1) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$zEnd>>2]|0; - $48 = ($46>>>0)<($47>>>0); - if (!($48)) { - break; + $14 = HEAP32[$pPage>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$pPage>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ($18|0)!=($19|0); + $37 = $20; + } else { + $37 = 0; } - $49 = HEAP32[$1>>2]|0; - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = (1224 + ($51)|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = $54 & 1; - $56 = ($55|0)!=(0); - if (!($56)) { + $21 = HEAP32[$pPage>>2]|0; + if (!($37)) { break; } - $57 = HEAP32[$incr>>2]|0; - $58 = HEAP32[$1>>2]|0; - $59 = (($58) + ($57)|0); - HEAP32[$1>>2] = $59; - } - $60 = HEAP32[$1>>2]|0; - $61 = HEAP32[$zEnd>>2]|0; - $62 = ($60>>>0)>=($61>>>0); - if ($62) { - HEAP32[$0>>2] = 0; - $485 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($485|0); + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$pPage>>2] = $23; } - $63 = HEAP32[$1>>2]|0; - $64 = HEAP8[$63>>0]|0; - $65 = $64 << 24 >> 24; - $66 = ($65|0)==(45); - if ($66) { - HEAP32[$sign>>2] = -1; - $67 = HEAP32[$incr>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = (($68) + ($67)|0); - HEAP32[$1>>2] = $69; + $24 = ($21|0)!=(0|0); + if ($24) { + $25 = HEAP32[$pPage>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if ($28) { + $36 = HEAP32[$pPage>>2]|0; + STACKTOP = sp;return ($36|0); + } + $29 = HEAP32[$pPage>>2]|0; + _pcache1PinPage($29); + $36 = HEAP32[$pPage>>2]|0; + STACKTOP = sp;return ($36|0); } else { - $70 = HEAP32[$1>>2]|0; - $71 = HEAP8[$70>>0]|0; - $72 = $71 << 24 >> 24; - $73 = ($72|0)==(43); - if ($73) { - $74 = HEAP32[$incr>>2]|0; - $75 = HEAP32[$1>>2]|0; - $76 = (($75) + ($74)|0); - HEAP32[$1>>2] = $76; + $30 = HEAP32[$2>>2]|0; + $31 = ($30|0)!=(0); + if (!($31)) { + $36 = HEAP32[$pPage>>2]|0; + STACKTOP = sp;return ($36|0); } + $32 = HEAP32[$pCache>>2]|0; + $33 = HEAP32[$1>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = (_pcache1FetchStage2($32,$33,$34)|0); + HEAP32[$pPage>>2] = $35; + $36 = HEAP32[$pPage>>2]|0; + STACKTOP = sp;return ($36|0); } - while(1) { - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$zEnd>>2]|0; - $79 = ($77>>>0)<($78>>>0); - if (!($79)) { - break; - } - $80 = HEAP32[$1>>2]|0; - $81 = HEAP8[$80>>0]|0; - $82 = $81 << 24 >> 24; - $83 = ($82|0)==(48); - if (!($83)) { - break; - } - $84 = HEAP32[$incr>>2]|0; - $85 = HEAP32[$1>>2]|0; - $86 = (($85) + ($84)|0); - HEAP32[$1>>2] = $86; - $87 = HEAP32[$nDigits>>2]|0; - $88 = (($87) + 1)|0; - HEAP32[$nDigits>>2] = $88; + return (0)|0; +} +function _pcache1Unpin($p,$pPg,$reuseUnlikely) { + $p = $p|0; + $pPg = $pPg|0; + $reuseUnlikely = $reuseUnlikely|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, $pPage = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $pCache = sp + 8|0; + $pPage = sp + 4|0; + $pGroup = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $pPg; + HEAP32[$2>>2] = $reuseUnlikely; + $3 = HEAP32[$0>>2]|0; + HEAP32[$pCache>>2] = $3; + $4 = HEAP32[$1>>2]|0; + HEAP32[$pPage>>2] = $4; + $5 = HEAP32[$pCache>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$pGroup>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)!=(0); + if (!($8)) { + $9 = HEAP32[$pGroup>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$pGroup>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($11>>>0)>($14>>>0); + if (!($15)) { + $18 = HEAP32[$pGroup>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + $22 = HEAP32[$pPage>>2]|0; + $23 = HEAP32[$pGroup>>2]|0; + if ($21) { + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 28|0); + HEAP32[$26>>2] = $22; + $27 = HEAP32[$pGroup>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$pPage>>2]|0; + $31 = ((($30)) + 24|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$pPage>>2]|0; + $33 = HEAP32[$pGroup>>2]|0; + $34 = ((($33)) + 20|0); + HEAP32[$34>>2] = $32; + } else { + $35 = ((($23)) + 24|0); + HEAP32[$35>>2] = $22; + $36 = HEAP32[$pPage>>2]|0; + $37 = HEAP32[$pGroup>>2]|0; + $38 = ((($37)) + 20|0); + HEAP32[$38>>2] = $36; + } + $39 = HEAP32[$pCache>>2]|0; + $40 = ((($39)) + 32|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$40>>2] = $42; + $43 = HEAP32[$pPage>>2]|0; + $44 = ((($43)) + 12|0); + HEAP8[$44>>0] = 0; + STACKTOP = sp;return; + } } + $16 = HEAP32[$pPage>>2]|0; + _pcache1RemoveFromHash($16); + $17 = HEAP32[$pPage>>2]|0; + _pcache1FreePage($17); + STACKTOP = sp;return; +} +function _pcache1Rekey($p,$pPg,$iOld,$iNew) { + $p = $p|0; + $pPg = $pPg|0; + $iOld = $iOld|0; + $iNew = $iNew|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pCache = 0, $pPage = 0; + var $pp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $pCache = sp + 28|0; + $pPage = sp; + $pp = sp + 12|0; + $h = sp + 24|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $pPg; + HEAP32[$2>>2] = $iOld; + HEAP32[$3>>2] = $iNew; + $4 = HEAP32[$0>>2]|0; + HEAP32[$pCache>>2] = $4; + $5 = HEAP32[$1>>2]|0; + HEAP32[$pPage>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$pCache>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($6>>>0) % ($9>>>0))&-1; + HEAP32[$h>>2] = $10; + $11 = HEAP32[$h>>2]|0; + $12 = HEAP32[$pCache>>2]|0; + $13 = ((($12)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($11<<2)|0); + HEAP32[$pp>>2] = $15; while(1) { - $89 = HEAP32[$1>>2]|0; - $90 = HEAP32[$zEnd>>2]|0; - $91 = ($89>>>0)<($90>>>0); - if (!($91)) { + $16 = HEAP32[$pp>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$pPage>>2]|0; + $19 = ($17|0)!=($18|0); + if (!($19)) { break; } - $92 = HEAP32[$1>>2]|0; - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = (1224 + ($94)|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96&255; - $98 = $97 & 4; - $99 = ($98|0)!=(0); - $100 = $s; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = ($105|0)<(214748364); - $107 = ($102>>>0)<(3435973835); - $108 = ($105|0)==(214748364); - $109 = $108 & $107; - $110 = $106 | $109; - $or$cond20 = $99 & $110; - if (!($or$cond20)) { + $20 = HEAP32[$pp>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 16|0); + HEAP32[$pp>>2] = $22; + } + $23 = HEAP32[$pPage>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$pp>>2]|0; + HEAP32[$26>>2] = $25; + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$pCache>>2]|0; + $29 = ((($28)) + 40|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($27>>>0) % ($30>>>0))&-1; + HEAP32[$h>>2] = $31; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$pPage>>2]|0; + $34 = ((($33)) + 8|0); + HEAP32[$34>>2] = $32; + $35 = HEAP32[$h>>2]|0; + $36 = HEAP32[$pCache>>2]|0; + $37 = ((($36)) + 44|0); + $38 = HEAP32[$37>>2]|0; + $39 = (($38) + ($35<<2)|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$pPage>>2]|0; + $42 = ((($41)) + 16|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$pPage>>2]|0; + $44 = HEAP32[$h>>2]|0; + $45 = HEAP32[$pCache>>2]|0; + $46 = ((($45)) + 44|0); + $47 = HEAP32[$46>>2]|0; + $48 = (($47) + ($44<<2)|0); + HEAP32[$48>>2] = $43; + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$pCache>>2]|0; + $51 = ((($50)) + 28|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($49>>>0)>($52>>>0); + if (!($53)) { + STACKTOP = sp;return; + } + $54 = HEAP32[$3>>2]|0; + $55 = HEAP32[$pCache>>2]|0; + $56 = ((($55)) + 28|0); + HEAP32[$56>>2] = $54; + STACKTOP = sp;return; +} +function _pcache1Truncate($p,$iLimit) { + $p = $p|0; + $iLimit = $iLimit|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $pCache = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $iLimit; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pCache>>2] = $2; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$pCache>>2]|0; + $5 = ((($4)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($3>>>0)<=($6>>>0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$pCache>>2]|0; + $9 = HEAP32[$1>>2]|0; + _pcache1TruncateUnsafe($8,$9); + $10 = HEAP32[$1>>2]|0; + $11 = (($10) - 1)|0; + $12 = HEAP32[$pCache>>2]|0; + $13 = ((($12)) + 28|0); + HEAP32[$13>>2] = $11; + STACKTOP = sp;return; +} +function _pcache1Destroy($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pCache = sp + 4|0; + $pGroup = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pCache>>2] = $1; + $2 = HEAP32[$pCache>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$pGroup>>2] = $3; + $4 = HEAP32[$pCache>>2]|0; + _pcache1TruncateUnsafe($4,0); + $5 = HEAP32[$pCache>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$pGroup>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) - ($7))|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$pCache>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$pGroup>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + $19 = HEAP32[$pGroup>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + 10)|0; + $23 = HEAP32[$pGroup>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($22) - ($25))|0; + $27 = HEAP32[$pGroup>>2]|0; + $28 = ((($27)) + 12|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$pGroup>>2]|0; + _pcache1EnforceMaxPage($29); + $30 = HEAP32[$pCache>>2]|0; + $31 = ((($30)) + 44|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3_free($32); + $33 = HEAP32[$pCache>>2]|0; + _sqlite3_free($33); + STACKTOP = sp;return; +} +function _pcache1Shrink($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, $savedMaxPage = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $pCache = sp + 8|0; + $pGroup = sp + 4|0; + $savedMaxPage = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pCache>>2] = $1; + $2 = HEAP32[$pCache>>2]|0; + $3 = ((($2)) + 12|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$pCache>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$pGroup>>2] = $7; + $8 = HEAP32[$pGroup>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$savedMaxPage>>2] = $10; + $11 = HEAP32[$pGroup>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = 0; + $13 = HEAP32[$pGroup>>2]|0; + _pcache1EnforceMaxPage($13); + $14 = HEAP32[$savedMaxPage>>2]|0; + $15 = HEAP32[$pGroup>>2]|0; + $16 = ((($15)) + 4|0); + HEAP32[$16>>2] = $14; + STACKTOP = sp;return; +} +function _pcache1EnforceMaxPage($pGroup) { + $pGroup = $pGroup|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pGroup; + while(1) { + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($3>>>0)>($6>>>0); + if (!($7)) { + label = 5; break; } - $111 = $s; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (($111) + 4)|0; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (___muldi3(($113|0),($116|0),10,0)|0); - $118 = tempRet0; - $119 = HEAP32[$1>>2]|0; - $120 = HEAP8[$119>>0]|0; - $121 = $120 << 24 >> 24; - $122 = (($121) - 48)|0; - $123 = ($122|0)<(0); - $124 = $123 << 31 >> 31; - $125 = (_i64Add(($117|0),($118|0),($122|0),($124|0))|0); - $126 = tempRet0; - $127 = $s; - $128 = $127; - HEAP32[$128>>2] = $125; - $129 = (($127) + 4)|0; - $130 = $129; - HEAP32[$130>>2] = $126; - $131 = HEAP32[$incr>>2]|0; - $132 = HEAP32[$1>>2]|0; - $133 = (($132) + ($131)|0); - HEAP32[$1>>2] = $133; - $134 = HEAP32[$nDigits>>2]|0; - $135 = (($134) + 1)|0; - HEAP32[$nDigits>>2] = $135; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + label = 5; + break; + } + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 24|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$p>>2] = $14; + $15 = HEAP32[$p>>2]|0; + _pcache1PinPage($15); + $16 = HEAP32[$p>>2]|0; + _pcache1RemoveFromHash($16); + $17 = HEAP32[$p>>2]|0; + _pcache1FreePage($17); + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _pcache1PinPage($pPage) { + $pPage = $pPage|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pCache = sp + 4|0; + $pGroup = sp; + HEAP32[$0>>2] = $pPage; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 20|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pCache>>2] = $3; + $4 = HEAP32[$pCache>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$pGroup>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 28|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + if ($9) { + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 24|0); + HEAP32[$16>>2] = $12; + } else { + $17 = HEAP32[$pGroup>>2]|0; + $18 = ((($17)) + 20|0); + HEAP32[$18>>2] = $12; + } + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 28|0); + $25 = HEAP32[$24>>2]|0; + if ($22) { + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 28|0); + HEAP32[$29>>2] = $25; + } else { + $30 = HEAP32[$pGroup>>2]|0; + $31 = ((($30)) + 24|0); + HEAP32[$31>>2] = $25; } + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 24|0); + HEAP32[$33>>2] = 0; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 28|0); + HEAP32[$35>>2] = 0; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 12|0); + HEAP8[$37>>0] = 1; + $38 = HEAP32[$pCache>>2]|0; + $39 = ((($38)) + 32|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($40) + -1)|0; + HEAP32[$39>>2] = $41; + STACKTOP = sp;return; +} +function _pcache1RemoveFromHash($pPage) { + $pPage = $pPage|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pCache = 0, $pp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $h = sp + 8|0; + $pCache = sp + 4|0; + $pp = sp; + HEAP32[$0>>2] = $pPage; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 20|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pCache>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$pCache>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($6>>>0) % ($9>>>0))&-1; + HEAP32[$h>>2] = $10; + $11 = HEAP32[$h>>2]|0; + $12 = HEAP32[$pCache>>2]|0; + $13 = ((($12)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($11<<2)|0); + HEAP32[$pp>>2] = $15; while(1) { - $136 = HEAP32[$1>>2]|0; - $137 = HEAP32[$zEnd>>2]|0; - $138 = ($136>>>0)<($137>>>0); - if (!($138)) { + $16 = HEAP32[$pp>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$0>>2]|0; + $19 = ($17|0)!=($18|0); + $20 = HEAP32[$pp>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 16|0); + if (!($19)) { break; } - $139 = HEAP32[$1>>2]|0; - $140 = HEAP8[$139>>0]|0; - $141 = $140&255; - $142 = (1224 + ($141)|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143&255; - $145 = $144 & 4; - $146 = ($145|0)!=(0); - if (!($146)) { + HEAP32[$pp>>2] = $22; + } + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$pp>>2]|0; + HEAP32[$24>>2] = $23; + $25 = HEAP32[$pCache>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + -1)|0; + HEAP32[$26>>2] = $28; + STACKTOP = sp;return; +} +function _pcache1FreePage($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pCache = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + STACKTOP = sp;return; + } + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pCache>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$6>>2]|0; + (_pcache1Free($7)|0); + $8 = HEAP32[$pCache>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$pCache>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + -1)|0; + HEAP32[$14>>2] = $16; + STACKTOP = sp;return; +} +function _pcache1TruncateUnsafe($pCache,$iLimit) { + $pCache = $pCache|0; + $iLimit = $iLimit|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pPage = 0; + var $pp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $h = sp + 8|0; + $pp = sp + 4|0; + $pPage = sp; + HEAP32[$0>>2] = $pCache; + HEAP32[$1>>2] = $iLimit; + HEAP32[$h>>2] = 0; + while(1) { + $2 = HEAP32[$h>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2>>>0)<($5>>>0); + if (!($6)) { break; } - $147 = HEAP32[$incr>>2]|0; - $148 = HEAP32[$1>>2]|0; - $149 = (($148) + ($147)|0); - HEAP32[$1>>2] = $149; - $150 = HEAP32[$nDigits>>2]|0; - $151 = (($150) + 1)|0; - HEAP32[$nDigits>>2] = $151; - $152 = HEAP32[$d>>2]|0; - $153 = (($152) + 1)|0; - HEAP32[$d>>2] = $153; + $7 = HEAP32[$h>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 44|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($7<<2)|0); + HEAP32[$pp>>2] = $11; + while(1) { + $12 = HEAP32[$pp>>2]|0; + $13 = HEAP32[$12>>2]|0; + HEAP32[$pPage>>2] = $13; + $14 = ($13|0)!=(0|0); + if (!($14)) { + break; + } + $15 = HEAP32[$pPage>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ($17>>>0)>=($18>>>0); + if (!($19)) { + $34 = HEAP32[$pPage>>2]|0; + $35 = ((($34)) + 16|0); + HEAP32[$pp>>2] = $35; + continue; + } + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + -1)|0; + HEAP32[$21>>2] = $23; + $24 = HEAP32[$pPage>>2]|0; + $25 = ((($24)) + 16|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$pp>>2]|0; + HEAP32[$27>>2] = $26; + $28 = HEAP32[$pPage>>2]|0; + $29 = ((($28)) + 12|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)!=(0); + if (!($31)) { + $32 = HEAP32[$pPage>>2]|0; + _pcache1PinPage($32); + } + $33 = HEAP32[$pPage>>2]|0; + _pcache1FreePage($33); + } + $36 = HEAP32[$h>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$h>>2] = $37; } - $154 = HEAP32[$1>>2]|0; - $155 = HEAP32[$zEnd>>2]|0; - $156 = ($154>>>0)>=($155>>>0); - L35: do { - if (!($156)) { - $157 = HEAP32[$1>>2]|0; - $158 = HEAP8[$157>>0]|0; - $159 = $158 << 24 >> 24; - $160 = ($159|0)==(46); - L37: do { - if ($160) { - $161 = HEAP32[$incr>>2]|0; - $162 = HEAP32[$1>>2]|0; - $163 = (($162) + ($161)|0); - HEAP32[$1>>2] = $163; - while(1) { - $164 = HEAP32[$1>>2]|0; - $165 = HEAP32[$zEnd>>2]|0; - $166 = ($164>>>0)<($165>>>0); - if (!($166)) { - break; - } - $167 = HEAP32[$1>>2]|0; - $168 = HEAP8[$167>>0]|0; - $169 = $168&255; - $170 = (1224 + ($169)|0); - $171 = HEAP8[$170>>0]|0; - $172 = $171&255; - $173 = $172 & 4; - $174 = ($173|0)!=(0); - $175 = $s; - $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = (($175) + 4)|0; - $179 = $178; - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)<(214748364); - $182 = ($177>>>0)<(3435973835); - $183 = ($180|0)==(214748364); - $184 = $183 & $182; - $185 = $181 | $184; - $or$cond22 = $174 & $185; - if (!($or$cond22)) { - break; - } - $186 = $s; - $187 = $186; - $188 = HEAP32[$187>>2]|0; - $189 = (($186) + 4)|0; - $190 = $189; - $191 = HEAP32[$190>>2]|0; - $192 = (___muldi3(($188|0),($191|0),10,0)|0); - $193 = tempRet0; - $194 = HEAP32[$1>>2]|0; - $195 = HEAP8[$194>>0]|0; - $196 = $195 << 24 >> 24; - $197 = (($196) - 48)|0; - $198 = ($197|0)<(0); - $199 = $198 << 31 >> 31; - $200 = (_i64Add(($192|0),($193|0),($197|0),($199|0))|0); - $201 = tempRet0; - $202 = $s; - $203 = $202; - HEAP32[$203>>2] = $200; - $204 = (($202) + 4)|0; - $205 = $204; - HEAP32[$205>>2] = $201; - $206 = HEAP32[$incr>>2]|0; - $207 = HEAP32[$1>>2]|0; - $208 = (($207) + ($206)|0); - HEAP32[$1>>2] = $208; - $209 = HEAP32[$nDigits>>2]|0; - $210 = (($209) + 1)|0; - HEAP32[$nDigits>>2] = $210; - $211 = HEAP32[$d>>2]|0; - $212 = (($211) + -1)|0; - HEAP32[$d>>2] = $212; - } - while(1) { - $213 = HEAP32[$1>>2]|0; - $214 = HEAP32[$zEnd>>2]|0; - $215 = ($213>>>0)<($214>>>0); - if (!($215)) { - break L37; - } - $216 = HEAP32[$1>>2]|0; - $217 = HEAP8[$216>>0]|0; - $218 = $217&255; - $219 = (1224 + ($218)|0); - $220 = HEAP8[$219>>0]|0; - $221 = $220&255; - $222 = $221 & 4; - $223 = ($222|0)!=(0); - if (!($223)) { - break L37; - } - $224 = HEAP32[$incr>>2]|0; - $225 = HEAP32[$1>>2]|0; - $226 = (($225) + ($224)|0); - HEAP32[$1>>2] = $226; - $227 = HEAP32[$nDigits>>2]|0; - $228 = (($227) + 1)|0; - HEAP32[$nDigits>>2] = $228; - } - } - } while(0); - $229 = HEAP32[$1>>2]|0; - $230 = HEAP32[$zEnd>>2]|0; - $231 = ($229>>>0)>=($230>>>0); - if (!($231)) { - $232 = HEAP32[$1>>2]|0; - $233 = HEAP8[$232>>0]|0; - $234 = $233 << 24 >> 24; - $235 = ($234|0)==(101); - if ($235) { - label = 38; - } else { - $236 = HEAP32[$1>>2]|0; - $237 = HEAP8[$236>>0]|0; - $238 = $237 << 24 >> 24; - $239 = ($238|0)==(69); - if ($239) { - label = 38; - } - } - L51: do { - if ((label|0) == 38) { - $240 = HEAP32[$incr>>2]|0; - $241 = HEAP32[$1>>2]|0; - $242 = (($241) + ($240)|0); - HEAP32[$1>>2] = $242; - HEAP32[$eValid>>2] = 0; - $243 = HEAP32[$1>>2]|0; - $244 = HEAP32[$zEnd>>2]|0; - $245 = ($243>>>0)>=($244>>>0); - if ($245) { - break L35; - } - $246 = HEAP32[$1>>2]|0; - $247 = HEAP8[$246>>0]|0; - $248 = $247 << 24 >> 24; - $249 = ($248|0)==(45); - if ($249) { - HEAP32[$esign>>2] = -1; - $250 = HEAP32[$incr>>2]|0; - $251 = HEAP32[$1>>2]|0; - $252 = (($251) + ($250)|0); - HEAP32[$1>>2] = $252; - } else { - $253 = HEAP32[$1>>2]|0; - $254 = HEAP8[$253>>0]|0; - $255 = $254 << 24 >> 24; - $256 = ($255|0)==(43); - if ($256) { - $257 = HEAP32[$incr>>2]|0; - $258 = HEAP32[$1>>2]|0; - $259 = (($258) + ($257)|0); - HEAP32[$1>>2] = $259; - } - } - while(1) { - $260 = HEAP32[$1>>2]|0; - $261 = HEAP32[$zEnd>>2]|0; - $262 = ($260>>>0)<($261>>>0); - if (!($262)) { - break L51; - } - $263 = HEAP32[$1>>2]|0; - $264 = HEAP8[$263>>0]|0; - $265 = $264&255; - $266 = (1224 + ($265)|0); - $267 = HEAP8[$266>>0]|0; - $268 = $267&255; - $269 = $268 & 4; - $270 = ($269|0)!=(0); - if (!($270)) { - break L51; - } - $271 = HEAP32[$e>>2]|0; - $272 = ($271|0)<(10000); - if ($272) { - $273 = HEAP32[$e>>2]|0; - $274 = ($273*10)|0; - $275 = HEAP32[$1>>2]|0; - $276 = HEAP8[$275>>0]|0; - $277 = $276 << 24 >> 24; - $278 = (($277) - 48)|0; - $279 = (($274) + ($278))|0; - $280 = $279; - } else { - $280 = 10000; - } - HEAP32[$e>>2] = $280; - $281 = HEAP32[$incr>>2]|0; - $282 = HEAP32[$1>>2]|0; - $283 = (($282) + ($281)|0); - HEAP32[$1>>2] = $283; - HEAP32[$eValid>>2] = 1; - } + STACKTOP = sp;return; +} +function _pcache1FetchStage2($pCache,$iKey,$createFlag) { + $pCache = $pCache|0; + $iKey = $iKey|0; + $createFlag = $createFlag|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $h = 0, $nPinned = 0, $pGroup = 0, $pOther = 0, $pPage = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $nPinned = sp + 32|0; + $pGroup = sp; + $pPage = sp + 12|0; + $pOther = sp + 24|0; + $h = sp + 20|0; + HEAP32[$1>>2] = $pCache; + HEAP32[$2>>2] = $iKey; + HEAP32[$3>>2] = $createFlag; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$pGroup>>2] = $5; + HEAP32[$pPage>>2] = 0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 36|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 32|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($8) - ($11))|0; + HEAP32[$nPinned>>2] = $12; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(1); + do { + if ($14) { + $15 = HEAP32[$nPinned>>2]|0; + $16 = HEAP32[$pGroup>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($15>>>0)>=($18>>>0); + if (!($19)) { + $20 = HEAP32[$nPinned>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 24|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($20>>>0)>=($23>>>0); + if (!($24)) { + $25 = HEAP32[$1>>2]|0; + $26 = (_pcache1UnderMemoryPressure($25)|0); + $27 = ($26|0)!=(0); + if (!($27)) { + break; } - } while(0); - $284 = HEAP32[$nDigits>>2]|0; - $285 = ($284|0)!=(0); - $286 = HEAP32[$eValid>>2]|0; - $287 = ($286|0)!=(0); - $or$cond = $285 & $287; - if ($or$cond) { - while(1) { - $288 = HEAP32[$1>>2]|0; - $289 = HEAP32[$zEnd>>2]|0; - $290 = ($288>>>0)<($289>>>0); - if (!($290)) { - break L35; - } - $291 = HEAP32[$1>>2]|0; - $292 = HEAP8[$291>>0]|0; - $293 = $292&255; - $294 = (1224 + ($293)|0); - $295 = HEAP8[$294>>0]|0; - $296 = $295&255; - $297 = $296 & 1; - $298 = ($297|0)!=(0); - if (!($298)) { - break L35; - } - $299 = HEAP32[$incr>>2]|0; - $300 = HEAP32[$1>>2]|0; - $301 = (($300) + ($299)|0); - HEAP32[$1>>2] = $301; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$nPinned>>2]|0; + $32 = ($30>>>0)<($31>>>0); + if (!($32)) { + break; } } } + HEAP32[$0>>2] = 0; + $159 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($159|0); } } while(0); - $302 = HEAP32[$e>>2]|0; - $303 = HEAP32[$esign>>2]|0; - $304 = Math_imul($302, $303)|0; - $305 = HEAP32[$d>>2]|0; - $306 = (($304) + ($305))|0; - HEAP32[$e>>2] = $306; - $307 = HEAP32[$e>>2]|0; - $308 = ($307|0)<(0); - if ($308) { - HEAP32[$esign>>2] = -1; - $309 = HEAP32[$e>>2]|0; - $310 = Math_imul($309, -1)|0; - HEAP32[$e>>2] = $310; - } else { - HEAP32[$esign>>2] = 1; + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 36|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 40|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($35>>>0)>=($38>>>0); + if ($39) { + $40 = HEAP32[$1>>2]|0; + _pcache1ResizeHash($40); } - $311 = $s; - $312 = $311; - $313 = HEAP32[$312>>2]|0; - $314 = (($311) + 4)|0; - $315 = $314; - $316 = HEAP32[$315>>2]|0; - $317 = ($313|0)!=(0); - $318 = ($316|0)!=(0); - $319 = $317 | $318; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0); do { - if ($319) { - $326 = HEAP32[$esign>>2]|0; - $327 = ($326|0)>(0); - L77: do { - if ($327) { - while(1) { - $328 = $s; - $329 = $328; - $330 = HEAP32[$329>>2]|0; - $331 = (($328) + 4)|0; - $332 = $331; - $333 = HEAP32[$332>>2]|0; - $334 = ($333|0)<(214748364); - $335 = ($330>>>0)<(3435973836); - $336 = ($333|0)==(214748364); - $337 = $336 & $335; - $338 = $334 | $337; - $339 = HEAP32[$e>>2]|0; - $340 = ($339|0)>(0); - $or$cond24 = $338 & $340; - if (!($or$cond24)) { - break L77; - } - $341 = HEAP32[$e>>2]|0; - $342 = (($341) + -1)|0; - HEAP32[$e>>2] = $342; - $343 = $s; - $344 = $343; - $345 = HEAP32[$344>>2]|0; - $346 = (($343) + 4)|0; - $347 = $346; - $348 = HEAP32[$347>>2]|0; - $349 = (___muldi3(($345|0),($348|0),10,0)|0); - $350 = tempRet0; - $351 = $s; - $352 = $351; - HEAP32[$352>>2] = $349; - $353 = (($351) + 4)|0; - $354 = $353; - HEAP32[$354>>2] = $350; - } - } else { - while(1) { - $355 = $s; - $356 = $355; - $357 = HEAP32[$356>>2]|0; - $358 = (($355) + 4)|0; - $359 = $358; - $360 = HEAP32[$359>>2]|0; - $361 = (___remdi3(($357|0),($360|0),10,0)|0); - $362 = tempRet0; - $363 = ($361|0)==(0); - $364 = ($362|0)==(0); - $365 = $363 & $364; - $366 = HEAP32[$e>>2]|0; - $367 = ($366|0)>(0); - $or$cond26 = $365 & $367; - if (!($or$cond26)) { - break L77; + if ($44) { + $45 = HEAP32[$pGroup>>2]|0; + $46 = ((($45)) + 24|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)!=(0|0); + if ($48) { + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 36|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + 1)|0; + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($52>>>0)>=($55>>>0); + if (!($56)) { + $57 = HEAP32[$pGroup>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$pGroup>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($59>>>0)>=($62>>>0); + if (!($63)) { + $64 = HEAP32[$1>>2]|0; + $65 = (_pcache1UnderMemoryPressure($64)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + break; } - $368 = HEAP32[$e>>2]|0; - $369 = (($368) + -1)|0; - HEAP32[$e>>2] = $369; - $370 = $s; - $371 = $370; - $372 = HEAP32[$371>>2]|0; - $373 = (($370) + 4)|0; - $374 = $373; - $375 = HEAP32[$374>>2]|0; - $376 = (___divdi3(($372|0),($375|0),10,0)|0); - $377 = tempRet0; - $378 = $s; - $379 = $378; - HEAP32[$379>>2] = $376; - $380 = (($378) + 4)|0; - $381 = $380; - HEAP32[$381>>2] = $377; - } - } - } while(0); - $382 = HEAP32[$sign>>2]|0; - $383 = ($382|0)<(0); - $384 = $s; - $385 = $384; - $386 = HEAP32[$385>>2]|0; - $387 = (($384) + 4)|0; - $388 = $387; - $389 = HEAP32[$388>>2]|0; - $390 = (_i64Subtract(0,0,($386|0),($389|0))|0); - $391 = tempRet0; - $392 = $383 ? $390 : $386; - $393 = $383 ? $391 : $389; - $394 = $s; - $395 = $394; - HEAP32[$395>>2] = $392; - $396 = (($394) + 4)|0; - $397 = $396; - HEAP32[$397>>2] = $393; - $398 = HEAP32[$e>>2]|0; - $399 = ($398|0)!=(0); - if (!($399)) { - $465 = $s; - $466 = $465; - $467 = HEAP32[$466>>2]|0; - $468 = (($465) + 4)|0; - $469 = $468; - $470 = HEAP32[$469>>2]|0; - $471 = (+($467>>>0)) + (4294967296.0*(+($470|0))); - HEAPF64[$result>>3] = $471; - break; - } - HEAPF64[$scale>>3] = 1.0; - $400 = HEAP32[$e>>2]|0; - $401 = ($400|0)>(307); - $402 = HEAP32[$e>>2]|0; - $403 = ($402|0)<(342); - $or$cond14 = $401 & $403; - if ($or$cond14) { - while(1) { - $404 = HEAP32[$e>>2]|0; - $405 = (($404|0) % 308)&-1; - $406 = ($405|0)!=(0); - if (!($406)) { - break; } - $407 = +HEAPF64[$scale>>3]; - $408 = $407 * 10.0; - HEAPF64[$scale>>3] = $408; - $409 = HEAP32[$e>>2]|0; - $410 = (($409) - 1)|0; - HEAP32[$e>>2] = $410; - } - $411 = HEAP32[$esign>>2]|0; - $412 = ($411|0)<(0); - $413 = $s; - $414 = $413; - $415 = HEAP32[$414>>2]|0; - $416 = (($413) + 4)|0; - $417 = $416; - $418 = HEAP32[$417>>2]|0; - $419 = (+($415>>>0)) + (4294967296.0*(+($418|0))); - $420 = +HEAPF64[$scale>>3]; - if ($412) { - $421 = $419 / $420; - HEAPF64[$result>>3] = $421; - $422 = +HEAPF64[$result>>3]; - $423 = $422 / 1.0E+308; - HEAPF64[$result>>3] = $423; - break; - } else { - $424 = $419 * $420; - HEAPF64[$result>>3] = $424; - $425 = +HEAPF64[$result>>3]; - $426 = $425 * 1.0E+308; - HEAPF64[$result>>3] = $426; - break; } - } - $427 = HEAP32[$e>>2]|0; - $428 = ($427|0)>=(342); - if ($428) { - $429 = HEAP32[$esign>>2]|0; - $430 = ($429|0)<(0); - $431 = $s; - $432 = $431; - $433 = HEAP32[$432>>2]|0; - $434 = (($431) + 4)|0; - $435 = $434; - $436 = HEAP32[$435>>2]|0; - $437 = (+($433>>>0)) + (4294967296.0*(+($436|0))); - if ($430) { - $438 = 0.0 * $437; - HEAPF64[$result>>3] = $438; + $67 = HEAP32[$pGroup>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$pPage>>2] = $69; + $70 = HEAP32[$pPage>>2]|0; + _pcache1RemoveFromHash($70); + $71 = HEAP32[$pPage>>2]|0; + _pcache1PinPage($71); + $72 = HEAP32[$pPage>>2]|0; + $73 = ((($72)) + 20|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$pOther>>2] = $74; + $75 = HEAP32[$pOther>>2]|0; + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$pOther>>2]|0; + $79 = ((($78)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (($77) + ($80))|0; + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = (($84) + ($87))|0; + $89 = ($81|0)!=($88|0); + if ($89) { + $90 = HEAP32[$pPage>>2]|0; + _pcache1FreePage($90); + HEAP32[$pPage>>2] = 0; break; } else { - $439 = inf * $437; - HEAPF64[$result>>3] = $439; - break; - } - } - while(1) { - $440 = HEAP32[$e>>2]|0; - $441 = (($440|0) % 22)&-1; - $442 = ($441|0)!=(0); - if (!($442)) { - break; - } - $443 = +HEAPF64[$scale>>3]; - $444 = $443 * 10.0; - HEAPF64[$scale>>3] = $444; - $445 = HEAP32[$e>>2]|0; - $446 = (($445) - 1)|0; - HEAP32[$e>>2] = $446; - } - while(1) { - $447 = HEAP32[$e>>2]|0; - $448 = ($447|0)>(0); - if (!($448)) { + $91 = HEAP32[$pOther>>2]|0; + $92 = ((($91)) + 12|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$1>>2]|0; + $95 = ((($94)) + 12|0); + $96 = HEAP32[$95>>2]|0; + $97 = (($93) - ($96))|0; + $98 = HEAP32[$pGroup>>2]|0; + $99 = ((($98)) + 16|0); + $100 = HEAP32[$99>>2]|0; + $101 = (($100) - ($97))|0; + HEAP32[$99>>2] = $101; break; } - $449 = +HEAPF64[$scale>>3]; - $450 = $449 * 1.0E+22; - HEAPF64[$scale>>3] = $450; - $451 = HEAP32[$e>>2]|0; - $452 = (($451) - 22)|0; - HEAP32[$e>>2] = $452; - } - $453 = HEAP32[$esign>>2]|0; - $454 = ($453|0)<(0); - $455 = $s; - $456 = $455; - $457 = HEAP32[$456>>2]|0; - $458 = (($455) + 4)|0; - $459 = $458; - $460 = HEAP32[$459>>2]|0; - $461 = (+($457>>>0)) + (4294967296.0*(+($460|0))); - $462 = +HEAPF64[$scale>>3]; - if ($454) { - $463 = $461 / $462; - HEAPF64[$result>>3] = $463; - break; - } else { - $464 = $461 * $462; - HEAPF64[$result>>3] = $464; - break; - } - } else { - $320 = HEAP32[$sign>>2]|0; - $321 = ($320|0)<(0); - if ($321) { - $322 = HEAP32[$nDigits>>2]|0; - $323 = ($322|0)!=(0); - $325 = $323; - } else { - $325 = 0; } - $324 = $325 ? -0.0 : 0.0; - HEAPF64[$result>>3] = $324; } } while(0); - $472 = +HEAPF64[$result>>3]; - $473 = HEAP32[$2>>2]|0; - HEAPF64[$473>>3] = $472; - $474 = HEAP32[$1>>2]|0; - $475 = HEAP32[$zEnd>>2]|0; - $476 = ($474>>>0)>=($475>>>0); - $477 = HEAP32[$nDigits>>2]|0; - $478 = ($477|0)>(0); - $or$cond16 = $476 & $478; - $479 = HEAP32[$eValid>>2]|0; - $480 = ($479|0)!=(0); - $or$cond18 = $or$cond16 & $480; - if ($or$cond18) { - $481 = HEAP32[$nonNum>>2]|0; - $482 = ($481|0)==(0); - $484 = $482; - } else { - $484 = 0; - } - $483 = $484&1; - HEAP32[$0>>2] = $483; - $485 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($485|0); -} -function _parseHhMmSs($zDate,$p) { - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $h = 0, $m = 0, $ms = 0, $rScale = 0, $s = 0, $vararg_buffer10 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0; - var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer10 = sp + 16|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $h = sp + 64|0; - $m = sp + 60|0; - $s = sp + 56|0; - $ms = sp + 8|0; - $rScale = sp; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - HEAPF64[$ms>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer10>>2] = 2; - $vararg_ptr1 = (($vararg_buffer10) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = (($vararg_buffer10) + 8|0); - HEAP32[$vararg_ptr2>>2] = 24; - $vararg_ptr3 = (($vararg_buffer10) + 12|0); - HEAP32[$vararg_ptr3>>2] = 58; - $vararg_ptr4 = (($vararg_buffer10) + 16|0); - HEAP32[$vararg_ptr4>>2] = $h; - $vararg_ptr5 = (($vararg_buffer10) + 20|0); - HEAP32[$vararg_ptr5>>2] = 2; - $vararg_ptr6 = (($vararg_buffer10) + 24|0); - HEAP32[$vararg_ptr6>>2] = 0; - $vararg_ptr7 = (($vararg_buffer10) + 28|0); - HEAP32[$vararg_ptr7>>2] = 59; - $vararg_ptr8 = (($vararg_buffer10) + 32|0); - HEAP32[$vararg_ptr8>>2] = 0; - $vararg_ptr9 = (($vararg_buffer10) + 36|0); - HEAP32[$vararg_ptr9>>2] = $m; - $4 = (_getDigits($3,$vararg_buffer10)|0); - $5 = ($4|0)!=(2); - if ($5) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 5|0); - HEAP32[$1>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)==(58); - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 1|0); - HEAP32[$1>>2] = $13; - $14 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer10>>2] = 2; - $vararg_ptr13 = (($vararg_buffer10) + 4|0); - HEAP32[$vararg_ptr13>>2] = 0; - $vararg_ptr14 = (($vararg_buffer10) + 8|0); - HEAP32[$vararg_ptr14>>2] = 59; - $vararg_ptr15 = (($vararg_buffer10) + 12|0); - HEAP32[$vararg_ptr15>>2] = 0; - $vararg_ptr16 = (($vararg_buffer10) + 16|0); - HEAP32[$vararg_ptr16>>2] = $s; - $15 = (_getDigits($14,$vararg_buffer10)|0); - $16 = ($15|0)!=(1); - if ($16) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); + $102 = HEAP32[$pPage>>2]|0; + $103 = ($102|0)!=(0|0); + if (!($103)) { + $104 = HEAP32[$3>>2]|0; + $105 = ($104|0)==(1); + if ($105) { + _sqlite3BeginBenignMalloc(); } - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 2|0); - HEAP32[$1>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = ($21|0)==(46); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = (1224 + ($26)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 & 4; - $31 = ($30|0)!=(0); - if ($31) { - HEAPF64[$rScale>>3] = 1.0; - $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 1|0); - HEAP32[$1>>2] = $33; - while(1) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = (1224 + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 & 4; - $41 = ($40|0)!=(0); - if (!($41)) { - break; - } - $42 = +HEAPF64[$ms>>3]; - $43 = $42 * 10.0; - $44 = HEAP32[$1>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = (+($46|0)); - $48 = $43 + $47; - $49 = $48 - 48.0; - HEAPF64[$ms>>3] = $49; - $50 = +HEAPF64[$rScale>>3]; - $51 = $50 * 10.0; - HEAPF64[$rScale>>3] = $51; - $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 1|0); - HEAP32[$1>>2] = $53; - } - $54 = +HEAPF64[$rScale>>3]; - $55 = +HEAPF64[$ms>>3]; - $56 = $55 / $54; - HEAPF64[$ms>>3] = $56; - } + $106 = HEAP32[$1>>2]|0; + $107 = (_pcache1AllocPage($106)|0); + HEAP32[$pPage>>2] = $107; + $108 = HEAP32[$3>>2]|0; + $109 = ($108|0)==(1); + if ($109) { + _sqlite3EndBenignMalloc(); } - } else { - HEAP32[$s>>2] = 0; } - $57 = HEAP32[$2>>2]|0; - $58 = (($57) + 42|0); - HEAP8[$58>>0] = 0; - $59 = HEAP32[$2>>2]|0; - $60 = (($59) + 41|0); - HEAP8[$60>>0] = 1; - $61 = HEAP32[$h>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = (($62) + 20|0); - HEAP32[$63>>2] = $61; - $64 = HEAP32[$m>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = (($65) + 24|0); - HEAP32[$66>>2] = $64; - $67 = HEAP32[$s>>2]|0; - $68 = (+($67|0)); - $69 = +HEAPF64[$ms>>3]; - $70 = $68 + $69; - $71 = HEAP32[$2>>2]|0; - $72 = (($71) + 32|0); - HEAPF64[$72>>3] = $70; - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = (_parseTimezone($73,$74)|0); - $76 = ($75|0)!=(0); - if ($76) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); - } else { - $77 = HEAP32[$2>>2]|0; - $78 = (($77) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)!=(0); - $81 = $80 ? 1 : 0; - $82 = $81&255; - $83 = HEAP32[$2>>2]|0; - $84 = (($83) + 43|0); - HEAP8[$84>>0] = $82; - HEAP32[$0>>2] = 0; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); + $110 = HEAP32[$pPage>>2]|0; + $111 = ($110|0)!=(0|0); + if ($111) { + $112 = HEAP32[$2>>2]|0; + $113 = HEAP32[$1>>2]|0; + $114 = ((($113)) + 40|0); + $115 = HEAP32[$114>>2]|0; + $116 = (($112>>>0) % ($115>>>0))&-1; + HEAP32[$h>>2] = $116; + $117 = HEAP32[$1>>2]|0; + $118 = ((($117)) + 36|0); + $119 = HEAP32[$118>>2]|0; + $120 = (($119) + 1)|0; + HEAP32[$118>>2] = $120; + $121 = HEAP32[$2>>2]|0; + $122 = HEAP32[$pPage>>2]|0; + $123 = ((($122)) + 8|0); + HEAP32[$123>>2] = $121; + $124 = HEAP32[$h>>2]|0; + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 44|0); + $127 = HEAP32[$126>>2]|0; + $128 = (($127) + ($124<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = HEAP32[$pPage>>2]|0; + $131 = ((($130)) + 16|0); + HEAP32[$131>>2] = $129; + $132 = HEAP32[$1>>2]|0; + $133 = HEAP32[$pPage>>2]|0; + $134 = ((($133)) + 20|0); + HEAP32[$134>>2] = $132; + $135 = HEAP32[$pPage>>2]|0; + $136 = ((($135)) + 28|0); + HEAP32[$136>>2] = 0; + $137 = HEAP32[$pPage>>2]|0; + $138 = ((($137)) + 24|0); + HEAP32[$138>>2] = 0; + $139 = HEAP32[$pPage>>2]|0; + $140 = ((($139)) + 12|0); + HEAP8[$140>>0] = 1; + $141 = HEAP32[$pPage>>2]|0; + $142 = ((($141)) + 4|0); + $143 = HEAP32[$142>>2]|0; + HEAP32[$143>>2] = 0; + $144 = HEAP32[$pPage>>2]|0; + $145 = HEAP32[$h>>2]|0; + $146 = HEAP32[$1>>2]|0; + $147 = ((($146)) + 44|0); + $148 = HEAP32[$147>>2]|0; + $149 = (($148) + ($145<<2)|0); + HEAP32[$149>>2] = $144; + $150 = HEAP32[$2>>2]|0; + $151 = HEAP32[$1>>2]|0; + $152 = ((($151)) + 28|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($150>>>0)>($153>>>0); + if ($154) { + $155 = HEAP32[$2>>2]|0; + $156 = HEAP32[$1>>2]|0; + $157 = ((($156)) + 28|0); + HEAP32[$157>>2] = $155; + } } - return 0|0; + $158 = HEAP32[$pPage>>2]|0; + HEAP32[$0>>2] = $158; + $159 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($159|0); } -function _getDigits($zDate,$varargs) { - $zDate = $zDate|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $N = 0, $ap = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current2 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0; - var $cnt = 0, $max = 0, $min = 0, $nextC = 0, $pVal = 0, $val = 0, label = 0, sp = 0; +function _pcache1UnderMemoryPressure($pCache) { + $pCache = $pCache|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $ap = sp + 32|0; - $val = sp + 24|0; - $N = sp + 20|0; - $min = sp + 16|0; - $max = sp + 12|0; - $nextC = sp + 8|0; - $pVal = sp + 4|0; - $cnt = sp; - HEAP32[$0>>2] = $zDate; - HEAP32[$cnt>>2] = 0; - HEAP32[$ap>>2] = $varargs; - L1: while(1) { - $arglist_current = HEAP32[$ap>>2]|0; - $1 = HEAP32[$arglist_current>>2]|0; - $arglist_next = (($arglist_current) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - HEAP32[$N>>2] = $1; - $arglist_current2 = HEAP32[$ap>>2]|0; - $2 = HEAP32[$arglist_current2>>2]|0; - $arglist_next3 = (($arglist_current2) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - HEAP32[$min>>2] = $2; - $arglist_current5 = HEAP32[$ap>>2]|0; - $3 = HEAP32[$arglist_current5>>2]|0; - $arglist_next6 = (($arglist_current5) + 4|0); - HEAP32[$ap>>2] = $arglist_next6; - HEAP32[$max>>2] = $3; - $arglist_current8 = HEAP32[$ap>>2]|0; - $4 = HEAP32[$arglist_current8>>2]|0; - $arglist_next9 = (($arglist_current8) + 4|0); - HEAP32[$ap>>2] = $arglist_next9; - HEAP32[$nextC>>2] = $4; - $arglist_current11 = HEAP32[$ap>>2]|0; - $5 = HEAP32[$arglist_current11>>2]|0; - $arglist_next12 = (($arglist_current11) + 4|0); - HEAP32[$ap>>2] = $arglist_next12; - HEAP32[$pVal>>2] = $5; - HEAP32[$val>>2] = 0; - while(1) { - $6 = HEAP32[$N>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$N>>2] = $7; - $8 = ($6|0)!=(0); - if (!($8)) { - break; - } - $9 = HEAP32[$0>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = (1224 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = $14 & 4; - $16 = ($15|0)!=(0); - if (!($16)) { - label = 11; - break L1; - } - $17 = HEAP32[$val>>2]|0; - $18 = ($17*10)|0; - $19 = HEAP32[$0>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (($18) + ($21))|0; - $23 = (($22) - 48)|0; - HEAP32[$val>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 1|0); - HEAP32[$0>>2] = $25; - } - $26 = HEAP32[$val>>2]|0; - $27 = HEAP32[$min>>2]|0; - $28 = ($26|0)<($27|0); - if ($28) { - label = 11; - break; - } - $29 = HEAP32[$val>>2]|0; - $30 = HEAP32[$max>>2]|0; - $31 = ($29|0)>($30|0); - if ($31) { - label = 11; - break; - } - $32 = HEAP32[$nextC>>2]|0; - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$nextC>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = HEAP8[$35>>0]|0; - $37 = $36 << 24 >> 24; - $38 = ($34|0)!=($37|0); - if ($38) { - label = 11; - break; - } - } - $39 = HEAP32[$val>>2]|0; - $40 = HEAP32[$pVal>>2]|0; - HEAP32[$40>>2] = $39; - $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 1|0); - HEAP32[$0>>2] = $42; - $43 = HEAP32[$cnt>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$cnt>>2] = $44; - $45 = HEAP32[$nextC>>2]|0; - $46 = ($45|0)!=(0); - if (!($46)) { - label = 11; - break; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$1>>2] = $pCache; + $2 = HEAP32[(1016)>>2]|0; + $3 = ($2|0)!=(0); + if ($3) { + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($6) + ($9))|0; + $11 = HEAP32[(1012)>>2]|0; + $12 = ($10|0)<=($11|0); + if ($12) { + $13 = HEAP32[(1044)>>2]|0; + HEAP32[$0>>2] = $13; + $15 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($15|0); } } - if ((label|0) == 11) { - $47 = HEAP32[$cnt>>2]|0; - STACKTOP = sp;return ($47|0); - } - return 0|0; + $14 = (_sqlite3HeapNearlyFull()|0); + HEAP32[$0>>2] = $14; + $15 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($15|0); } -function _parseTimezone($zDate,$p) { - $zDate = $zDate|0; +function _pcache1ResizeHash($p) { $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; - var $9 = 0, $c = 0, $nHr = 0, $nMn = 0, $or$cond = 0, $sgn = 0, $vararg_buffer = 0, $vararg_ptr10 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $7 = 0, $8 = 0, $9 = 0, $apNew = 0, $h = 0, $i = 0, $nNew = 0, $pNext = 0, $pPage = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $sgn = sp + 52|0; - $nHr = sp + 48|0; - $nMn = sp + 44|0; - $c = sp + 40|0; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - HEAP32[$sgn>>2] = 0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $apNew = sp + 16|0; + $nNew = sp + 20|0; + $i = sp + 24|0; + $pPage = sp + 4|0; + $pNext = sp; + $h = sp + 12|0; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 40|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3<<1; + HEAP32[$nNew>>2] = $4; + $5 = HEAP32[$nNew>>2]|0; + $6 = ($5>>>0)<(256); + $$ = $6 ? 256 : $4; + HEAP32[$nNew>>2] = $$; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 40|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + _sqlite3BeginBenignMalloc(); + } + $11 = HEAP32[$nNew>>2]|0; + $12 = $11<<2; + $13 = (_sqlite3MallocZero($12,0)|0); + HEAP32[$apNew>>2] = $13; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 40|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + _sqlite3EndBenignMalloc(); + } + $18 = HEAP32[$apNew>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (1224 + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = $8 & 1; - $10 = ($9|0)!=(0); - if (!($10)) { + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 40|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($20>>>0)<($23>>>0); + if (!($24)) { break; } - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 1|0); - HEAP32[$1>>2] = $12; - } - $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 28|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - HEAP32[$c>>2] = $17; - $18 = HEAP32[$c>>2]|0; - $19 = ($18|0)==(45); - do { - if ($19) { - HEAP32[$sgn>>2] = -1; - label = 11; - } else { - $20 = HEAP32[$c>>2]|0; - $21 = ($20|0)==(43); - if ($21) { - HEAP32[$sgn>>2] = 1; - label = 11; - break; - } - $22 = HEAP32[$c>>2]|0; - $23 = ($22|0)==(90); - $24 = HEAP32[$c>>2]|0; - $25 = ($24|0)==(122); - $or$cond = $23 | $25; - if ($or$cond) { - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 1|0); - HEAP32[$1>>2] = $27; - break; - } - $28 = HEAP32[$c>>2]|0; - $29 = ($28|0)!=(0); - $30 = $29&1; - HEAP32[$0>>2] = $30; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); - } - } while(0); - do { - if ((label|0) == 11) { - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 1|0); - HEAP32[$1>>2] = $32; - $33 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = 2; - $vararg_ptr2 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr2>>2] = 0; - $vararg_ptr3 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr3>>2] = 14; - $vararg_ptr4 = (($vararg_buffer) + 12|0); - HEAP32[$vararg_ptr4>>2] = 58; - $vararg_ptr5 = (($vararg_buffer) + 16|0); - HEAP32[$vararg_ptr5>>2] = $nHr; - $vararg_ptr6 = (($vararg_buffer) + 20|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = (($vararg_buffer) + 24|0); - HEAP32[$vararg_ptr7>>2] = 0; - $vararg_ptr8 = (($vararg_buffer) + 28|0); - HEAP32[$vararg_ptr8>>2] = 59; - $vararg_ptr9 = (($vararg_buffer) + 32|0); - HEAP32[$vararg_ptr9>>2] = 0; - $vararg_ptr10 = (($vararg_buffer) + 36|0); - HEAP32[$vararg_ptr10>>2] = $nMn; - $34 = (_getDigits($33,$vararg_buffer)|0); - $35 = ($34|0)!=(2); - if (!($35)) { - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 5|0); - HEAP32[$1>>2] = $37; - $38 = HEAP32[$sgn>>2]|0; - $39 = HEAP32[$nMn>>2]|0; - $40 = HEAP32[$nHr>>2]|0; - $41 = ($40*60)|0; - $42 = (($39) + ($41))|0; - $43 = Math_imul($38, $42)|0; - $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 28|0); - HEAP32[$45>>2] = $43; + $25 = HEAP32[$i>>2]|0; + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 44|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($25<<2)|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$pNext>>2] = $30; + while(1) { + $31 = HEAP32[$pNext>>2]|0; + HEAP32[$pPage>>2] = $31; + $32 = ($31|0)!=(0|0); + if (!($32)) { break; } - HEAP32[$0>>2] = 1; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); - } - } while(0); - while(1) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = (1224 + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = $51 & 1; - $53 = ($52|0)!=(0); - $54 = HEAP32[$1>>2]|0; - if (!($53)) { - break; + $33 = HEAP32[$pPage>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$nNew>>2]|0; + $37 = (($35>>>0) % ($36>>>0))&-1; + HEAP32[$h>>2] = $37; + $38 = HEAP32[$pPage>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$pNext>>2] = $40; + $41 = HEAP32[$h>>2]|0; + $42 = HEAP32[$apNew>>2]|0; + $43 = (($42) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$pPage>>2]|0; + $46 = ((($45)) + 16|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$pPage>>2]|0; + $48 = HEAP32[$h>>2]|0; + $49 = HEAP32[$apNew>>2]|0; + $50 = (($49) + ($48<<2)|0); + HEAP32[$50>>2] = $47; } - $55 = (($54) + 1|0); - HEAP32[$1>>2] = $55; + $51 = HEAP32[$i>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$i>>2] = $52; } - $56 = HEAP8[$54>>0]|0; - $57 = $56 << 24 >> 24; - $58 = ($57|0)!=(0); - $59 = $58&1; - HEAP32[$0>>2] = $59; + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 44|0); + $55 = HEAP32[$54>>2]|0; + _sqlite3_free($55); + $56 = HEAP32[$apNew>>2]|0; + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 44|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$nNew>>2]|0; $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + $61 = ((($60)) + 40|0); + HEAP32[$61>>2] = $59; + STACKTOP = sp;return; } -function _osLocaltime($t,$pTm) { - $t = $t|0; - $pTm = $pTm|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pX = 0, $rc = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; +function _pcache1AllocPage($pCache) { + $pCache = $pCache|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pPg = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; - $rc = sp + 4|0; - $pX = sp; - HEAP32[$0>>2] = $t; - HEAP32[$1>>2] = $pTm; - $2 = HEAP32[$0>>2]|0; - $3 = (_localtime(($2|0))|0); - HEAP32[$pX>>2] = $3; - $4 = HEAP32[((38640 + 264|0))>>2]|0; - $5 = ($4|0)!=(0); - $$ = $5 ? 0 : $3; - HEAP32[$pX>>2] = $$; - $6 = HEAP32[$pX>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$pX>>2]|0; - dest=$8+0|0; src=$9+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $p = sp + 4|0; + $pPg = sp; + HEAP32[$1>>2] = $pCache; + HEAP32[$p>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = (32 + ($4))|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($5) + ($8))|0; + $10 = (_pcache1Alloc($9)|0); + HEAP32[$pPg>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$pPg>>2]|0; + $15 = (($14) + ($13)|0); + HEAP32[$p>>2] = $15; + $16 = HEAP32[$pPg>>2]|0; + $17 = ($16|0)!=(0|0); + if (!($17)) { + HEAP32[$0>>2] = 0; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); } - $10 = HEAP32[$pX>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $11&1; - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($13|0); + $18 = HEAP32[$pPg>>2]|0; + $19 = HEAP32[$p>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$p>>2]|0; + $23 = ((($22)) + 4|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$1>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$30>>2] = $32; + } + $33 = HEAP32[$p>>2]|0; + HEAP32[$0>>2] = $33; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); } -function _parseYyyyMmDd($zDate,$p) { - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; - var $9 = 0, $D = 0, $M = 0, $Y = 0, $neg = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0; - var label = 0, sp = 0; +function _sqlite3HeapNearlyFull() { + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer = sp; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $Y = sp + 72|0; - $M = sp + 68|0; - $D = sp + 64|0; - $neg = sp + 60|0; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(45); - if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 1|0); - HEAP32[$1>>2] = $8; - HEAP32[$neg>>2] = 1; - } else { - HEAP32[$neg>>2] = 0; - } - $9 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = 4; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr2>>2] = 9999; - $vararg_ptr3 = (($vararg_buffer) + 12|0); - HEAP32[$vararg_ptr3>>2] = 45; - $vararg_ptr4 = (($vararg_buffer) + 16|0); - HEAP32[$vararg_ptr4>>2] = $Y; - $vararg_ptr5 = (($vararg_buffer) + 20|0); - HEAP32[$vararg_ptr5>>2] = 2; - $vararg_ptr6 = (($vararg_buffer) + 24|0); - HEAP32[$vararg_ptr6>>2] = 1; - $vararg_ptr7 = (($vararg_buffer) + 28|0); - HEAP32[$vararg_ptr7>>2] = 12; - $vararg_ptr8 = (($vararg_buffer) + 32|0); - HEAP32[$vararg_ptr8>>2] = 45; - $vararg_ptr9 = (($vararg_buffer) + 36|0); - HEAP32[$vararg_ptr9>>2] = $M; - $vararg_ptr10 = (($vararg_buffer) + 40|0); - HEAP32[$vararg_ptr10>>2] = 2; - $vararg_ptr11 = (($vararg_buffer) + 44|0); - HEAP32[$vararg_ptr11>>2] = 1; - $vararg_ptr12 = (($vararg_buffer) + 48|0); - HEAP32[$vararg_ptr12>>2] = 31; - $vararg_ptr13 = (($vararg_buffer) + 52|0); - HEAP32[$vararg_ptr13>>2] = 0; - $vararg_ptr14 = (($vararg_buffer) + 56|0); - HEAP32[$vararg_ptr14>>2] = $D; - $10 = (_getDigits($9,$vararg_buffer)|0); - $11 = ($10|0)!=(3); - if ($11) { - HEAP32[$0>>2] = 1; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 10|0); - HEAP32[$1>>2] = $13; - while(1) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (1224 + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 1; - $21 = ($20|0)!=(0); - if ($21) { - $60 = 1; - } else { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = (84)==($24|0); - $60 = $25; - } - $26 = HEAP32[$1>>2]|0; - if (!($60)) { - break; - } - $27 = (($26) + 1|0); - HEAP32[$1>>2] = $27; - } - $28 = HEAP32[$2>>2]|0; - $29 = (_parseHhMmSs($26,$28)|0); - $30 = ($29|0)==(0); - do { - if (!($30)) { - $31 = HEAP32[$1>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 41|0); - HEAP8[$36>>0] = 0; - break; - } - HEAP32[$0>>2] = 1; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - } while(0); - $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 42|0); - HEAP8[$38>>0] = 0; - $39 = HEAP32[$2>>2]|0; - $40 = (($39) + 40|0); - HEAP8[$40>>0] = 1; - $41 = HEAP32[$neg>>2]|0; - $42 = ($41|0)!=(0); - $43 = HEAP32[$Y>>2]|0; - $44 = (0 - ($43))|0; - $45 = $42 ? $44 : $43; - $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 8|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$M>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = (($49) + 12|0); - HEAP32[$50>>2] = $48; - $51 = HEAP32[$D>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 16|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 43|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)!=(0); - if ($57) { - $58 = HEAP32[$2>>2]|0; - _computeJD($58); - } - HEAP32[$0>>2] = 0; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $0 = HEAP32[(316)>>2]|0; + return ($0|0); } -function _sqlite3StmtCurrentTime($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0; - var $v = 0, label = 0, sp = 0; +function _sqlite3MemMalloc($nByte) { + $nByte = $nByte|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $p = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; $0 = sp + 8|0; - $v = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; + $p = sp + 4|0; + HEAP32[$0>>2] = $nByte; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$v>>2] = $3; - $4 = HEAP32[$v>>2]|0; - $5 = (($4) + 136|0); - $6 = $5; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)==(0); - $13 = ($11|0)==(0); - $14 = $12 & $13; - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$v>>2]|0; - $21 = (($20) + 136|0); - $22 = (_sqlite3OsCurrentTimeInt64($19,$21)|0); - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$v>>2]|0; - $26 = (($25) + 136|0); - $27 = $26; - $28 = $27; - HEAP32[$28>>2] = 0; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = 0; - } + $2 = (($1) + 7)|0; + $3 = $2 & -8; + HEAP32[$0>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = (($4) + 8)|0; + $6 = (_malloc($5)|0); + HEAP32[$p>>2] = $6; + $7 = HEAP32[$p>>2]|0; + $8 = ($7|0)!=(0|0); + $9 = HEAP32[$0>>2]|0; + if ($8) { + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = HEAP32[$p>>2]|0; + $13 = $12; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = HEAP32[$p>>2]|0; + $18 = ((($17)) + 8|0); + HEAP32[$p>>2] = $18; + $19 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($19|0); + } else { + HEAP32[$vararg_buffer>>2] = $9; + _sqlite3_log(7,18046,$vararg_buffer); + $19 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($19|0); } - $31 = HEAP32[$v>>2]|0; - $32 = (($31) + 136|0); - $33 = $32; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - tempRet0 = $38; - STACKTOP = sp;return ($35|0); + return (0)|0; } -function _sqlite3OsCurrentTimeInt64($pVfs,$pTimeOut) { - $pVfs = $pVfs|0; - $pTimeOut = $pTimeOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3MemFree($pPrior) { + $pPrior = $pPrior|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $r = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $pTimeOut; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>=(2); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 72|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 72|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (FUNCTION_TABLE_iii[$11 & 63]($12,$13)|0); - HEAP32[$rc>>2] = $14; - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); - } - } - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 64|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (FUNCTION_TABLE_iii[$17 & 63]($18,$r)|0); - HEAP32[$rc>>2] = $19; - $20 = +HEAPF64[$r>>3]; - $21 = $20 * 8.64E+7; - $22 = (~~$21)>>>0; - $23 = +Math_abs($21) >= 1.0 ? $21 > 0.0 ? (Math_min(+Math_floor($21 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($21 - +(~~$21 >>> 0)) / 4294967296.0) >>> 0 : 0; - $24 = HEAP32[$1>>2]|0; - $25 = $24; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $23; - $29 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($29|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pPrior; + $1 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $1; + $2 = HEAP32[$p>>2]|0; + $3 = ((($2)) + -8|0); + HEAP32[$p>>2] = $3; + $4 = HEAP32[$p>>2]|0; + _free($4); + STACKTOP = sp;return; } -function _sqlite3Utf8CharLen($zIn,$nByte) { - $zIn = $zIn|0; +function _sqlite3MemRealloc($pPrior,$nByte) { + $pPrior = $pPrior|0; $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, $z = 0, $zTerm = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; $0 = sp + 16|0; $1 = sp + 12|0; - $r = sp + 8|0; - $z = sp + 4|0; - $zTerm = sp; - HEAP32[$0>>2] = $zIn; + $p = sp + 8|0; + HEAP32[$0>>2] = $pPrior; HEAP32[$1>>2] = $nByte; - HEAP32[$r>>2] = 0; $2 = HEAP32[$0>>2]|0; - HEAP32[$z>>2] = $2; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)>=(0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$z>>2]|0; - $7 = (($6) + ($5)|0); - HEAP32[$zTerm>>2] = $7; + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ((($3)) + -8|0); + HEAP32[$p>>2] = $4; + $5 = HEAP32[$p>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = (($6) + 8)|0; + $8 = (_realloc($5,$7)|0); + HEAP32[$p>>2] = $8; + $9 = HEAP32[$p>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = ($11|0)<(0); + $13 = $12 << 31 >> 31; + $14 = HEAP32[$p>>2]|0; + $15 = $14; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $13; + $19 = HEAP32[$p>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$p>>2] = $20; + $24 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($24|0); } else { - HEAP32[$zTerm>>2] = (-1); - } - while(1) { - $8 = HEAP32[$z>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - if (!($11)) { - label = 10; - break; - } - $12 = HEAP32[$z>>2]|0; - $13 = HEAP32[$zTerm>>2]|0; - $14 = ($12>>>0)<($13>>>0); - if (!($14)) { - label = 10; - break; - } - $15 = HEAP32[$z>>2]|0; - $16 = (($15) + 1|0); - HEAP32[$z>>2] = $16; - $17 = HEAP8[$15>>0]|0; - $18 = $17&255; - $19 = ($18|0)>=(192); - L8: do { - if ($19) { - while(1) { - $20 = HEAP32[$z>>2]|0; - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = $22 & 192; - $24 = ($23|0)==(128); - if (!($24)) { - break L8; - } - $25 = HEAP32[$z>>2]|0; - $26 = (($25) + 1|0); - HEAP32[$z>>2] = $26; - } - } - } while(0); - $27 = HEAP32[$r>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$r>>2] = $28; - } - if ((label|0) == 10) { - $29 = HEAP32[$r>>2]|0; - STACKTOP = sp;return ($29|0); - } - return 0|0; -} -function _sqlite3Utf8Read($pz) { - $pz = $pz|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $c = sp; - HEAP32[$0>>2] = $pz; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 1|0); - HEAP32[$1>>2] = $3; - $4 = HEAP8[$2>>0]|0; - $5 = $4&255; - HEAP32[$c>>2] = $5; - $6 = HEAP32[$c>>2]|0; - $7 = ($6>>>0)>=(192); - if (!($7)) { - $35 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($35|0); - } - $8 = HEAP32[$c>>2]|0; - $9 = (($8) - 192)|0; - $10 = (4984 + ($9)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - HEAP32[$c>>2] = $12; - while(1) { - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 & 192; - $18 = ($17|0)==(128); - $19 = HEAP32[$c>>2]|0; - if (!($18)) { - break; - } - $20 = $19 << 6; $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + 1|0); - HEAP32[$21>>2] = $23; - $24 = HEAP8[$22>>0]|0; - $25 = $24&255; - $26 = 63 & $25; - $27 = (($20) + ($26))|0; - HEAP32[$c>>2] = $27; - } - $28 = ($19>>>0)<(128); - if (!($28)) { - $29 = HEAP32[$c>>2]|0; - $30 = $29 & -2048; - $31 = ($30|0)==(55296); - if (!($31)) { - $32 = HEAP32[$c>>2]|0; - $33 = $32 & -2; - $34 = ($33|0)==(65534); - if (!($34)) { - $35 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($35|0); - } - } + $22 = (_sqlite3MemSize($21)|0); + $23 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = $22; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $23; + _sqlite3_log(7,18010,$vararg_buffer); + $24 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($24|0); } - HEAP32[$c>>2] = 65533; - $35 = HEAP32[$c>>2]|0; - STACKTOP = sp;return ($35|0); + return (0)|0; } -function _sqlite3StrAccumAppend($p,$z,$N) { - $p = $p|0; - $z = $z|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3MemSize($pPrior) { + $pPrior = $pPrior|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $N; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (($5) + ($6))|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7|0)>=($10|0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - _enlargeAndAppend($12,$13,$14); - STACKTOP = sp;return; + $p = sp; + HEAP32[$1>>2] = $pPrior; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + HEAP32[$0>>2] = 0; + $14 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($14|0); } else { - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15))|0; - HEAP32[$17>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (($22) - ($23))|0; - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24)|0); - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$2>>2]|0; - _memcpy(($28|0),($29|0),($30|0))|0; - STACKTOP = sp;return; + $4 = HEAP32[$1>>2]|0; + HEAP32[$p>>2] = $4; + $5 = HEAP32[$p>>2]|0; + $6 = ((($5)) + -8|0); + HEAP32[$p>>2] = $6; + $7 = HEAP32[$p>>2]|0; + $8 = $7; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + HEAP32[$0>>2] = $10; + $14 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($14|0); } + return (0)|0; } -function _enlargeAndAppend($p,$z,$N) { - $p = $p|0; - $z = $z|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3MemRoundup($n) { + $n = $n|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $z; - HEAP32[$2>>2] = $N; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = (_sqlite3StrAccumEnlarge($3,$4)|0); - HEAP32[$2>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)>(0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($10)|0); - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$2>>2]|0; - _memcpy(($14|0),($15|0),($16|0))|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($17))|0; - HEAP32[$19>>2] = $21; - STACKTOP = sp;return; + $0 = sp; + HEAP32[$0>>2] = $n; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + 7)|0; + $3 = $2 & -8; + STACKTOP = sp;return ($3|0); } -function _sqlite3StrAccumEnlarge($p,$N) { - $p = $p|0; - $N = $N|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $szNew = 0, $zNew = 0, $zOld = 0, label = 0, sp = 0; +function _sqlite3MemInit($NotUsed) { + $NotUsed = $NotUsed|0; + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $zNew = sp + 12|0; - $zOld = sp + 8|0; - $szNew = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $N; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 25|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 24|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - $11 = HEAP32[$1>>2]|0; - if (!($10)) { - $12 = (($11) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($13) - ($16))|0; - $18 = (($17) - 1)|0; - HEAP32[$2>>2] = $18; - $19 = HEAP32[$1>>2]|0; - _setStrAccumError($19,2); - $20 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $20; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } - $21 = (($11) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($22|0)==($25|0); - if ($26) { - $30 = 0; - } else { - $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = $29; - } - HEAP32[$zOld>>2] = $30; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)<(0); - $35 = $34 << 31 >> 31; - $36 = $szNew; - $37 = $36; - HEAP32[$37>>2] = $33; - $38 = (($36) + 4)|0; - $39 = $38; - HEAP32[$39>>2] = $35; - $40 = HEAP32[$2>>2]|0; - $41 = (($40) + 1)|0; - $42 = ($41|0)<(0); - $43 = $42 << 31 >> 31; - $44 = $szNew; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (_i64Add(($46|0),($49|0),($41|0),($43|0))|0); - $51 = tempRet0; - $52 = $szNew; - $53 = $52; - HEAP32[$53>>2] = $50; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $51; - $56 = $szNew; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = ($61|0)>($66|0); - $68 = ($58>>>0)>($64>>>0); - $69 = ($61|0)==($66|0); - $70 = $69 & $68; - $71 = $67 | $70; - if ($71) { - $72 = HEAP32[$1>>2]|0; - _sqlite3StrAccumReset($72); - $73 = HEAP32[$1>>2]|0; - _setStrAccumError($73,2); - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } - $74 = $szNew; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 16|0); - HEAP32[$81>>2] = $76; - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 24|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = ($85|0)==(1); - if ($86) { - $87 = HEAP32[$1>>2]|0; - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$zOld>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = (($90) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)<(0); - $94 = $93 << 31 >> 31; - $95 = (_sqlite3DbRealloc($88,$89,$92,$94)|0); - HEAP32[$zNew>>2] = $95; - } else { - $96 = HEAP32[$zOld>>2]|0; - $97 = HEAP32[$1>>2]|0; - $98 = (($97) + 16|0); - $99 = HEAP32[$98>>2]|0; - $100 = (_sqlite3_realloc($96,$99)|0); - HEAP32[$zNew>>2] = $100; - } - $101 = HEAP32[$zNew>>2]|0; - $102 = ($101|0)!=(0|0); - if (!($102)) { - $120 = HEAP32[$1>>2]|0; - _sqlite3StrAccumReset($120); - $121 = HEAP32[$1>>2]|0; - _setStrAccumError($121,1); - HEAP32[$0>>2] = 0; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); - } - $103 = HEAP32[$zOld>>2]|0; - $104 = ($103|0)==(0|0); - if ($104) { - $105 = HEAP32[$1>>2]|0; - $106 = (($105) + 12|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)>(0); - if ($108) { - $109 = HEAP32[$zNew>>2]|0; - $110 = HEAP32[$1>>2]|0; - $111 = (($110) + 8|0); - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = (($113) + 12|0); - $115 = HEAP32[$114>>2]|0; - _memcpy(($109|0),($112|0),($115|0))|0; - } - } - $116 = HEAP32[$zNew>>2]|0; - $117 = HEAP32[$1>>2]|0; - $118 = (($117) + 8|0); - HEAP32[$118>>2] = $116; - $119 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $119; - $122 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($122|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $NotUsed; + STACKTOP = sp;return 0; } -function _setStrAccumError($p,$eError) { - $p = $p|0; - $eError = $eError|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _sqlite3MemShutdown($NotUsed) { + $NotUsed = $NotUsed|0; + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - $1 = sp + 4|0; - HEAP32[$0>>2] = $p; - HEAP8[$1>>0] = $eError; - $2 = HEAP8[$1>>0]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 25|0); - HEAP8[$4>>0] = $2; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 16|0); - HEAP32[$6>>2] = 0; + HEAP32[$0>>2] = $NotUsed; STACKTOP = sp;return; } -function _sqlite3StrAccumReset($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _sqlite3ParserAlloc($mallocProc) { + $mallocProc = $mallocProc|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pParser = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; + $0 = sp + 4|0; + $pParser = sp; + HEAP32[$0>>2] = $mallocProc; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)!=($6|0); - do { - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 24|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(1); - $13 = HEAP32[$0>>2]|0; - if ($12) { - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 8|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3DbFree($14,$17); - break; - } else { - $18 = (($13) + 8|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3_free($19); - break; - } - } - } while(0); - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 8|0); - HEAP32[$21>>2] = 0; - STACKTOP = sp;return; + $2 = (FUNCTION_TABLE_iii[$1 & 63](1612,0)|0); + HEAP32[$pParser>>2] = $2; + $3 = HEAP32[$pParser>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + $6 = HEAP32[$pParser>>2]|0; + STACKTOP = sp;return ($6|0); + } + $5 = HEAP32[$pParser>>2]|0; + HEAP32[$5>>2] = -1; + $6 = HEAP32[$pParser>>2]|0; + STACKTOP = sp;return ($6|0); } -function _sqlite3AddInt64($pA,$0,$1) { - $pA = $pA|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $iA = 0, label = 0, sp = 0; +function _sqlite3GetToken($z,$tokenType) { + $z = $z|0; + $tokenType = $tokenType|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; + var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; + var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; + var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; + var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $delim = 0, $i = 0, $n = 0, $or$cond = 0, $or$cond7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 8|0; - $iA = sp; - HEAP32[$3>>2] = $pA; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = $9; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $iA; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = $4; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + 4)|0; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - $27 = ($22>>>0)>=(0); - $28 = ($25|0)==(0); - $29 = $28 & $27; - $30 = $26 | $29; - $31 = $iA; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - if ($30) { - $37 = ($36|0)>(0); - $38 = ($33>>>0)>(0); - $39 = ($36|0)==(0); - $40 = $39 & $38; - $41 = $37 | $40; - if ($41) { - $42 = $iA; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (_i64Subtract(-1,2147483647,($44|0),($47|0))|0); - $49 = tempRet0; - $50 = $4; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = ($49|0)<($55|0); - $57 = ($48>>>0)<($52>>>0); - $58 = ($49|0)==($55|0); - $59 = $58 & $57; - $60 = $56 | $59; - if ($60) { - HEAP32[$2>>2] = 1; - $104 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($104|0); + $i = sp + 24|0; + $c = sp + 4|0; + $delim = sp; + $n = sp + 12|0; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $tokenType; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + do { + switch ($5|0) { + case 13: case 12: case 10: case 9: case 32: { + HEAP32[$i>>2] = 1; + while(1) { + $6 = HEAP32[$i>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = (($7) + ($6)|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = (14426 + ($10)|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 & 1; + $15 = ($14|0)!=(0); + if (!($15)) { + break; + } + $16 = HEAP32[$i>>2]|0; + $17 = (($16) + 1)|0; + HEAP32[$i>>2] = $17; } + $18 = HEAP32[$2>>2]|0; + HEAP32[$18>>2] = 151; + $19 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $19; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; } - } else { - $61 = ($36|0)<(0); - if ($61) { - $62 = $iA; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (($62) + 4)|0; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (_i64Add(($64|0),($67|0),-1,2147483647)|0); - $69 = tempRet0; - $70 = (_i64Subtract(0,0,($68|0),($69|0))|0); - $71 = tempRet0; - $72 = $4; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (_i64Add(($74|0),($77|0),1,0)|0); - $79 = tempRet0; - $80 = ($71|0)>($79|0); - $81 = ($70>>>0)>($78>>>0); - $82 = ($71|0)==($79|0); - $83 = $82 & $81; - $84 = $80 | $83; - if ($84) { - HEAP32[$2>>2] = 1; - $104 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($104|0); + case 45: { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(45); + if (!($24)) { + $38 = HEAP32[$2>>2]|0; + HEAP32[$38>>2] = 90; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + HEAP32[$i>>2] = 2; + while(1) { + $25 = HEAP32[$i>>2]|0; + $26 = HEAP32[$1>>2]|0; + $27 = (($26) + ($25)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + HEAP32[$c>>2] = $29; + $30 = ($29|0)!=(0); + $31 = HEAP32[$c>>2]|0; + $32 = ($31|0)!=(10); + $33 = $30 ? $32 : 0; + if (!($33)) { + break; + } + $34 = HEAP32[$i>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$i>>2] = $35; } + $36 = HEAP32[$2>>2]|0; + HEAP32[$36>>2] = 151; + $37 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $37; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; } - } - $85 = $4; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$3>>2]|0; - $92 = $91; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (_i64Add(($94|0),($97|0),($87|0),($90|0))|0); - $99 = tempRet0; - $100 = $91; - $101 = $100; - HEAP32[$101>>2] = $98; - $102 = (($100) + 4)|0; - $103 = $102; - HEAP32[$103>>2] = $99; - HEAP32[$2>>2] = 0; - $104 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($104|0); -} -function _contextMalloc($context,$0,$1) { - $context = $context|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $z = sp + 12|0; - $db = sp + 8|0; - HEAP32[$2>>2] = $context; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3_context_db_handle($8)|0); - HEAP32[$db>>2] = $9; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$db>>2]|0; - $17 = (($16) + 88|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)<(0); - $20 = $19 << 31 >> 31; - $21 = ($15|0)>($20|0); - $22 = ($12>>>0)>($18>>>0); - $23 = ($15|0)==($20|0); - $24 = $23 & $22; - $25 = $21 | $24; - if ($25) { - $26 = HEAP32[$2>>2]|0; - _sqlite3_result_error_toobig($26); - HEAP32[$z>>2] = 0; - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); - } - $27 = $3; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3Malloc($29,$32)|0); - HEAP32[$z>>2] = $33; - $34 = HEAP32[$z>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); - } - $36 = HEAP32[$2>>2]|0; - _sqlite3_result_error_nomem($36); - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); -} -function _sqlite3GetFuncCollSeq($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pOp = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) - 1)|0; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($4*20)|0)|0); - HEAP32[$pOp>>2] = $10; - $11 = HEAP32[$pOp>>2]|0; - $12 = (($11) + 16|0); - $13 = HEAP32[$12>>2]|0; - STACKTOP = sp;return ($13|0); -} -function _sqlite3MemCompare($pMem1,$pMem2,$pColl) { - $pMem1 = $pMem1|0; - $pMem2 = $pMem2|0; - $pColl = $pColl|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $combined_flags = 0, $f1 = 0, $f2 = 0, $r1 = 0, $r2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $f1 = sp + 24|0; - $f2 = sp + 20|0; - $combined_flags = sp + 16|0; - $r1 = sp + 8|0; - $r2 = sp; - HEAP32[$1>>2] = $pMem1; - HEAP32[$2>>2] = $pMem2; - HEAP32[$3>>2] = $pColl; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 8|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - HEAP32[$f1>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 8|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - HEAP32[$f2>>2] = $11; - $12 = HEAP32[$f1>>2]|0; - $13 = HEAP32[$f2>>2]|0; - $14 = $12 | $13; - HEAP32[$combined_flags>>2] = $14; - $15 = HEAP32[$combined_flags>>2]|0; - $16 = $15 & 1; - $17 = ($16|0)!=(0); - L1: do { - if ($17) { - $18 = HEAP32[$f2>>2]|0; - $19 = $18 & 1; - $20 = HEAP32[$f1>>2]|0; - $21 = $20 & 1; - $22 = (($19) - ($21))|0; - HEAP32[$0>>2] = $22; - } else { - $23 = HEAP32[$combined_flags>>2]|0; - $24 = $23 & 12; - $25 = ($24|0)!=(0); - if (!($25)) { - $107 = HEAP32[$combined_flags>>2]|0; - $108 = $107 & 2; - $109 = ($108|0)!=(0); - if ($109) { - $110 = HEAP32[$f1>>2]|0; - $111 = $110 & 2; - $112 = ($111|0)==(0); - if ($112) { - HEAP32[$0>>2] = 1; - break; + case 40: { + $39 = HEAP32[$2>>2]|0; + HEAP32[$39>>2] = 22; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 41: { + $40 = HEAP32[$2>>2]|0; + HEAP32[$40>>2] = 23; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 59: { + $41 = HEAP32[$2>>2]|0; + HEAP32[$41>>2] = 1; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 43: { + $42 = HEAP32[$2>>2]|0; + HEAP32[$42>>2] = 89; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 42: { + $43 = HEAP32[$2>>2]|0; + HEAP32[$43>>2] = 91; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 47: { + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 1|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($47|0)!=(42); + if (!($48)) { + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 2|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ($52|0)==(0); + if (!($53)) { + HEAP32[$i>>2] = 3; + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + HEAP32[$c>>2] = $58; + while(1) { + $59 = HEAP32[$c>>2]|0; + $60 = ($59|0)!=(42); + if (!($60)) { + $61 = HEAP32[$i>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = (($62) + ($61)|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = ($65|0)!=(47); + if (!($66)) { + break; + } + } + $67 = HEAP32[$i>>2]|0; + $68 = HEAP32[$1>>2]|0; + $69 = (($68) + ($67)|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70&255; + HEAP32[$c>>2] = $71; + $72 = ($71|0)!=(0); + if (!($72)) { + break; + } + $73 = HEAP32[$i>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$i>>2] = $74; } - $113 = HEAP32[$f2>>2]|0; - $114 = $113 & 2; - $115 = ($114|0)==(0); - if ($115) { - HEAP32[$0>>2] = -1; - break; + $75 = HEAP32[$c>>2]|0; + $76 = ($75|0)!=(0); + if ($76) { + $77 = HEAP32[$i>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$i>>2] = $78; } - $116 = HEAP32[$3>>2]|0; - $117 = ($116|0)!=(0|0); - if ($117) { - $118 = HEAP32[$1>>2]|0; - $119 = HEAP32[$2>>2]|0; - $120 = HEAP32[$3>>2]|0; - $121 = (_vdbeCompareMemString($118,$119,$120,0)|0); - HEAP32[$0>>2] = $121; + $79 = HEAP32[$2>>2]|0; + HEAP32[$79>>2] = 151; + $80 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $80; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + } + $54 = HEAP32[$2>>2]|0; + HEAP32[$54>>2] = 92; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 37: { + $81 = HEAP32[$2>>2]|0; + HEAP32[$81>>2] = 93; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 61: { + $82 = HEAP32[$2>>2]|0; + HEAP32[$82>>2] = 79; + $83 = HEAP32[$1>>2]|0; + $84 = ((($83)) + 1|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = ($86|0)==(61); + $88 = $87&1; + $89 = (1 + ($88))|0; + HEAP32[$0>>2] = $89; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 60: { + $90 = HEAP32[$1>>2]|0; + $91 = ((($90)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + HEAP32[$c>>2] = $93; + $94 = ($93|0)==(61); + if ($94) { + $95 = HEAP32[$2>>2]|0; + HEAP32[$95>>2] = 81; + HEAP32[$0>>2] = 2; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + $96 = HEAP32[$c>>2]|0; + $97 = ($96|0)==(62); + if ($97) { + $98 = HEAP32[$2>>2]|0; + HEAP32[$98>>2] = 78; + HEAP32[$0>>2] = 2; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + $99 = HEAP32[$c>>2]|0; + $100 = ($99|0)==(60); + $101 = HEAP32[$2>>2]|0; + if ($100) { + HEAP32[$101>>2] = 87; + HEAP32[$0>>2] = 2; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } else { + HEAP32[$101>>2] = 82; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + break; + } + case 62: { + $102 = HEAP32[$1>>2]|0; + $103 = ((($102)) + 1|0); + $104 = HEAP8[$103>>0]|0; + $105 = $104&255; + HEAP32[$c>>2] = $105; + $106 = ($105|0)==(61); + if ($106) { + $107 = HEAP32[$2>>2]|0; + HEAP32[$107>>2] = 83; + HEAP32[$0>>2] = 2; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + $108 = HEAP32[$c>>2]|0; + $109 = ($108|0)==(62); + $110 = HEAP32[$2>>2]|0; + if ($109) { + HEAP32[$110>>2] = 88; + HEAP32[$0>>2] = 2; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } else { + HEAP32[$110>>2] = 80; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + break; + } + case 33: { + $111 = HEAP32[$1>>2]|0; + $112 = ((($111)) + 1|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $115 = ($114|0)!=(61); + $116 = HEAP32[$2>>2]|0; + if ($115) { + HEAP32[$116>>2] = 150; + HEAP32[$0>>2] = 2; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } else { + HEAP32[$116>>2] = 78; + HEAP32[$0>>2] = 2; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + break; + } + case 124: { + $117 = HEAP32[$1>>2]|0; + $118 = ((($117)) + 1|0); + $119 = HEAP8[$118>>0]|0; + $120 = $119&255; + $121 = ($120|0)!=(124); + $122 = HEAP32[$2>>2]|0; + if ($121) { + HEAP32[$122>>2] = 86; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } else { + HEAP32[$122>>2] = 94; + HEAP32[$0>>2] = 2; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + break; + } + case 44: { + $123 = HEAP32[$2>>2]|0; + HEAP32[$123>>2] = 26; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 38: { + $124 = HEAP32[$2>>2]|0; + HEAP32[$124>>2] = 85; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 126: { + $125 = HEAP32[$2>>2]|0; + HEAP32[$125>>2] = 96; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 34: case 39: case 96: { + $126 = HEAP32[$1>>2]|0; + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + HEAP32[$delim>>2] = $128; + HEAP32[$i>>2] = 1; + while(1) { + $129 = HEAP32[$i>>2]|0; + $130 = HEAP32[$1>>2]|0; + $131 = (($130) + ($129)|0); + $132 = HEAP8[$131>>0]|0; + $133 = $132&255; + HEAP32[$c>>2] = $133; + $134 = ($133|0)!=(0); + if (!($134)) { + break; + } + $135 = HEAP32[$c>>2]|0; + $136 = HEAP32[$delim>>2]|0; + $137 = ($135|0)==($136|0); + if ($137) { + $138 = HEAP32[$i>>2]|0; + $139 = (($138) + 1)|0; + $140 = HEAP32[$1>>2]|0; + $141 = (($140) + ($139)|0); + $142 = HEAP8[$141>>0]|0; + $143 = $142&255; + $144 = HEAP32[$delim>>2]|0; + $145 = ($143|0)==($144|0); + if (!($145)) { break; } + $146 = HEAP32[$i>>2]|0; + $147 = (($146) + 1)|0; + HEAP32[$i>>2] = $147; } - $122 = HEAP32[$1>>2]|0; - $123 = HEAP32[$2>>2]|0; - $124 = (_sqlite3BlobCompare($122,$123)|0); - HEAP32[$0>>2] = $124; - break; + $148 = HEAP32[$i>>2]|0; + $149 = (($148) + 1)|0; + HEAP32[$i>>2] = $149; } - $26 = HEAP32[$f1>>2]|0; - $27 = HEAP32[$f2>>2]|0; - $28 = $26 & $27; - $29 = $28 & 4; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = $31; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = $38; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (($39) + 4)|0; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = ($37|0)<($44|0); - $46 = ($34>>>0)<($41>>>0); - $47 = ($37|0)==($44|0); - $48 = $47 & $46; - $49 = $45 | $48; - if ($49) { - HEAP32[$0>>2] = -1; + $150 = HEAP32[$c>>2]|0; + $151 = ($150|0)==(39); + if ($151) { + $152 = HEAP32[$2>>2]|0; + HEAP32[$152>>2] = 97; + $153 = HEAP32[$i>>2]|0; + $154 = (($153) + 1)|0; + HEAP32[$0>>2] = $154; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + $155 = HEAP32[$c>>2]|0; + $156 = ($155|0)!=(0); + $157 = HEAP32[$2>>2]|0; + if ($156) { + HEAP32[$157>>2] = 27; + $158 = HEAP32[$i>>2]|0; + $159 = (($158) + 1)|0; + HEAP32[$0>>2] = $159; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } else { + HEAP32[$157>>2] = 150; + $160 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $160; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + break; + } + case 46: { + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 1|0); + $163 = HEAP8[$162>>0]|0; + $164 = $163&255; + $165 = (14426 + ($164)|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = $167 & 4; + $169 = ($168|0)!=(0); + if (!($169)) { + $170 = HEAP32[$2>>2]|0; + HEAP32[$170>>2] = 122; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + break; + } + case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: { + break; + } + case 91: { + HEAP32[$i>>2] = 1; + $316 = HEAP32[$1>>2]|0; + $317 = HEAP8[$316>>0]|0; + $318 = $317&255; + HEAP32[$c>>2] = $318; + while(1) { + $319 = HEAP32[$c>>2]|0; + $320 = ($319|0)!=(93); + if (!($320)) { break; } - $50 = HEAP32[$1>>2]|0; - $51 = $50; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = $57; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = ($56|0)>($63|0); - $65 = ($53>>>0)>($60>>>0); - $66 = ($56|0)==($63|0); - $67 = $66 & $65; - $68 = $64 | $67; - if ($68) { - HEAP32[$0>>2] = 1; + $321 = HEAP32[$i>>2]|0; + $322 = HEAP32[$1>>2]|0; + $323 = (($322) + ($321)|0); + $324 = HEAP8[$323>>0]|0; + $325 = $324&255; + HEAP32[$c>>2] = $325; + $326 = ($325|0)!=(0); + if (!($326)) { break; - } else { - HEAP32[$0>>2] = 0; + } + $327 = HEAP32[$i>>2]|0; + $328 = (($327) + 1)|0; + HEAP32[$i>>2] = $328; + } + $329 = HEAP32[$c>>2]|0; + $330 = ($329|0)==(93); + $331 = $330 ? 27 : 150; + $332 = HEAP32[$2>>2]|0; + HEAP32[$332>>2] = $331; + $333 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $333; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 63: { + $334 = HEAP32[$2>>2]|0; + HEAP32[$334>>2] = 135; + HEAP32[$i>>2] = 1; + while(1) { + $335 = HEAP32[$i>>2]|0; + $336 = HEAP32[$1>>2]|0; + $337 = (($336) + ($335)|0); + $338 = HEAP8[$337>>0]|0; + $339 = $338&255; + $340 = (14426 + ($339)|0); + $341 = HEAP8[$340>>0]|0; + $342 = $341&255; + $343 = $342 & 4; + $344 = ($343|0)!=(0); + $345 = HEAP32[$i>>2]|0; + if (!($344)) { break; } + $346 = (($345) + 1)|0; + HEAP32[$i>>2] = $346; } - $69 = HEAP32[$f1>>2]|0; - $70 = $69 & 8; - $71 = ($70|0)!=(0); - do { - if ($71) { - $72 = HEAP32[$1>>2]|0; - $73 = +HEAPF64[$72>>3]; - HEAPF64[$r1>>3] = $73; + HEAP32[$0>>2] = $345; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 58: case 35: case 64: case 36: { + HEAP32[$n>>2] = 0; + $347 = HEAP32[$2>>2]|0; + HEAP32[$347>>2] = 135; + HEAP32[$i>>2] = 1; + while(1) { + $348 = HEAP32[$i>>2]|0; + $349 = HEAP32[$1>>2]|0; + $350 = (($349) + ($348)|0); + $351 = HEAP8[$350>>0]|0; + $352 = $351&255; + HEAP32[$c>>2] = $352; + $353 = ($352|0)!=(0); + if (!($353)) { + break; + } + $354 = HEAP32[$c>>2]|0; + $355 = $354&255; + $356 = $355&255; + $357 = (14426 + ($356)|0); + $358 = HEAP8[$357>>0]|0; + $359 = $358&255; + $360 = $359 & 70; + $361 = ($360|0)!=(0); + if ($361) { + $362 = HEAP32[$n>>2]|0; + $363 = (($362) + 1)|0; + HEAP32[$n>>2] = $363; } else { - $74 = HEAP32[$f1>>2]|0; - $75 = $74 & 4; - $76 = ($75|0)!=(0); - if ($76) { - $77 = HEAP32[$1>>2]|0; - $78 = $77; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (+($80>>>0)) + (4294967296.0*(+($83|0))); - HEAPF64[$r1>>3] = $84; + $364 = HEAP32[$c>>2]|0; + $365 = ($364|0)==(40); + $366 = HEAP32[$n>>2]|0; + $367 = ($366|0)>(0); + $or$cond = $365 & $367; + if ($or$cond) { + label = 107; + break; + } + $391 = HEAP32[$c>>2]|0; + $392 = ($391|0)==(58); + if (!($392)) { break; - } else { - HEAP32[$0>>2] = 1; - break L1; } + $393 = HEAP32[$i>>2]|0; + $394 = (($393) + 1)|0; + $395 = HEAP32[$1>>2]|0; + $396 = (($395) + ($394)|0); + $397 = HEAP8[$396>>0]|0; + $398 = $397&255; + $399 = ($398|0)==(58); + if (!($399)) { + break; + } + $400 = HEAP32[$i>>2]|0; + $401 = (($400) + 1)|0; + HEAP32[$i>>2] = $401; } - } while(0); - $85 = HEAP32[$f2>>2]|0; - $86 = $85 & 8; - $87 = ($86|0)!=(0); + $402 = HEAP32[$i>>2]|0; + $403 = (($402) + 1)|0; + HEAP32[$i>>2] = $403; + } do { - if ($87) { - $88 = HEAP32[$2>>2]|0; - $89 = +HEAPF64[$88>>3]; - HEAPF64[$r2>>3] = $89; - } else { - $90 = HEAP32[$f2>>2]|0; - $91 = $90 & 4; - $92 = ($91|0)!=(0); - if ($92) { - $93 = HEAP32[$2>>2]|0; - $94 = $93; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (+($96>>>0)) + (4294967296.0*(+($99|0))); - HEAPF64[$r2>>3] = $100; + if ((label|0) == 107) { + while(1) { + label = 0; + $368 = HEAP32[$i>>2]|0; + $369 = (($368) + 1)|0; + HEAP32[$i>>2] = $369; + $370 = HEAP32[$i>>2]|0; + $371 = HEAP32[$1>>2]|0; + $372 = (($371) + ($370)|0); + $373 = HEAP8[$372>>0]|0; + $374 = $373&255; + HEAP32[$c>>2] = $374; + $375 = ($374|0)!=(0); + if (!($375)) { + break; + } + $376 = HEAP32[$c>>2]|0; + $377 = $376&255; + $378 = $377&255; + $379 = (14426 + ($378)|0); + $380 = HEAP8[$379>>0]|0; + $381 = $380&255; + $382 = $381 & 1; + $383 = ($382|0)==(0); + $384 = HEAP32[$c>>2]|0; + $385 = ($384|0)!=(41); + $or$cond7 = $383 & $385; + if ($or$cond7) { + label = 107; + } else { + break; + } + } + $386 = HEAP32[$c>>2]|0; + $387 = ($386|0)==(41); + if ($387) { + $388 = HEAP32[$i>>2]|0; + $389 = (($388) + 1)|0; + HEAP32[$i>>2] = $389; break; } else { - HEAP32[$0>>2] = -1; - break L1; + $390 = HEAP32[$2>>2]|0; + HEAP32[$390>>2] = 150; + break; } } } while(0); - $101 = +HEAPF64[$r1>>3]; - $102 = +HEAPF64[$r2>>3]; - $103 = $101 < $102; - if ($103) { - HEAP32[$0>>2] = -1; - break; + $404 = HEAP32[$n>>2]|0; + $405 = ($404|0)==(0); + if ($405) { + $406 = HEAP32[$2>>2]|0; + HEAP32[$406>>2] = 150; } - $104 = +HEAPF64[$r1>>3]; - $105 = +HEAPF64[$r2>>3]; - $106 = $104 > $105; - if ($106) { - HEAP32[$0>>2] = 1; - break; + $407 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $407; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + break; + } + case 88: case 120: { + $408 = HEAP32[$1>>2]|0; + $409 = ((($408)) + 1|0); + $410 = HEAP8[$409>>0]|0; + $411 = $410&255; + $412 = ($411|0)==(39); + if ($412) { + $413 = HEAP32[$2>>2]|0; + HEAP32[$413>>2] = 134; + HEAP32[$i>>2] = 2; + while(1) { + $414 = HEAP32[$i>>2]|0; + $415 = HEAP32[$1>>2]|0; + $416 = (($415) + ($414)|0); + $417 = HEAP8[$416>>0]|0; + $418 = $417&255; + $419 = (14426 + ($418)|0); + $420 = HEAP8[$419>>0]|0; + $421 = $420&255; + $422 = $421 & 8; + $423 = ($422|0)!=(0); + $424 = HEAP32[$i>>2]|0; + if (!($423)) { + break; + } + $425 = (($424) + 1)|0; + HEAP32[$i>>2] = $425; + } + $426 = HEAP32[$1>>2]|0; + $427 = (($426) + ($424)|0); + $428 = HEAP8[$427>>0]|0; + $429 = $428&255; + $430 = ($429|0)!=(39); + if ($430) { + label = 125; + } else { + $431 = HEAP32[$i>>2]|0; + $432 = (($431|0) % 2)&-1; + $433 = ($432|0)!=(0); + if ($433) { + label = 125; + } + } + L157: do { + if ((label|0) == 125) { + $434 = HEAP32[$2>>2]|0; + HEAP32[$434>>2] = 150; + while(1) { + $435 = HEAP32[$i>>2]|0; + $436 = HEAP32[$1>>2]|0; + $437 = (($436) + ($435)|0); + $438 = HEAP8[$437>>0]|0; + $439 = $438&255; + $440 = ($439|0)!=(0); + if (!($440)) { + break L157; + } + $441 = HEAP32[$i>>2]|0; + $442 = HEAP32[$1>>2]|0; + $443 = (($442) + ($441)|0); + $444 = HEAP8[$443>>0]|0; + $445 = $444&255; + $446 = ($445|0)!=(39); + if (!($446)) { + break L157; + } + $447 = HEAP32[$i>>2]|0; + $448 = (($447) + 1)|0; + HEAP32[$i>>2] = $448; + } + } + } while(0); + $449 = HEAP32[$i>>2]|0; + $450 = HEAP32[$1>>2]|0; + $451 = (($450) + ($449)|0); + $452 = HEAP8[$451>>0]|0; + $453 = ($452<<24>>24)!=(0); + if ($453) { + $454 = HEAP32[$i>>2]|0; + $455 = (($454) + 1)|0; + HEAP32[$i>>2] = $455; + } + $456 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $456; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); } else { - HEAP32[$0>>2] = 0; + label = 132; + } + break; + } + default: { + label = 132; + } + } + } while(0); + if ((label|0) == 132) { + $457 = HEAP32[$1>>2]|0; + $458 = HEAP8[$457>>0]|0; + $459 = $458&255; + $460 = (14426 + ($459)|0); + $461 = HEAP8[$460>>0]|0; + $462 = $461&255; + $463 = $462 & 70; + $464 = ($463|0)!=(0); + if (!($464)) { + $482 = HEAP32[$2>>2]|0; + HEAP32[$482>>2] = 150; + HEAP32[$0>>2] = 1; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + HEAP32[$i>>2] = 1; + while(1) { + $465 = HEAP32[$i>>2]|0; + $466 = HEAP32[$1>>2]|0; + $467 = (($466) + ($465)|0); + $468 = HEAP8[$467>>0]|0; + $469 = $468&255; + $470 = (14426 + ($469)|0); + $471 = HEAP8[$470>>0]|0; + $472 = $471&255; + $473 = $472 & 70; + $474 = ($473|0)!=(0); + if (!($474)) { break; } + $475 = HEAP32[$i>>2]|0; + $476 = (($475) + 1)|0; + HEAP32[$i>>2] = $476; + } + $477 = HEAP32[$1>>2]|0; + $478 = HEAP32[$i>>2]|0; + $479 = (_keywordCode($477,$478)|0); + $480 = HEAP32[$2>>2]|0; + HEAP32[$480>>2] = $479; + $481 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $481; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } + $171 = HEAP32[$2>>2]|0; + HEAP32[$171>>2] = 132; + $172 = HEAP32[$1>>2]|0; + $173 = HEAP8[$172>>0]|0; + $174 = $173&255; + $175 = ($174|0)==(48); + do { + if ($175) { + $176 = HEAP32[$1>>2]|0; + $177 = ((($176)) + 1|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178&255; + $180 = ($179|0)==(120); + if (!($180)) { + $181 = HEAP32[$1>>2]|0; + $182 = ((($181)) + 1|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $185 = ($184|0)==(88); + if (!($185)) { + break; + } + } + $186 = HEAP32[$1>>2]|0; + $187 = ((($186)) + 2|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (14426 + ($189)|0); + $191 = HEAP8[$190>>0]|0; + $192 = $191&255; + $193 = $192 & 8; + $194 = ($193|0)!=(0); + if ($194) { + HEAP32[$i>>2] = 3; + while(1) { + $195 = HEAP32[$i>>2]|0; + $196 = HEAP32[$1>>2]|0; + $197 = (($196) + ($195)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = (14426 + ($199)|0); + $201 = HEAP8[$200>>0]|0; + $202 = $201&255; + $203 = $202 & 8; + $204 = ($203|0)!=(0); + $205 = HEAP32[$i>>2]|0; + if (!($204)) { + break; + } + $206 = (($205) + 1)|0; + HEAP32[$i>>2] = $206; + } + HEAP32[$0>>2] = $205; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); + } } } while(0); - $125 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($125|0); -} -function _vdbeCompareMemString($pMem1,$pMem2,$pColl,$prcErr) { - $pMem1 = $pMem1|0; - $pMem2 = $pMem2|0; - $pColl = $pColl|0; - $prcErr = $prcErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $c1 = 0; - var $c2 = 0, $n1 = 0, $n2 = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $v1 = 0, $v2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $4 = sp + 100|0; - $rc = sp + 96|0; - $v1 = sp + 92|0; - $v2 = sp + 88|0; - $n1 = sp + 84|0; - $n2 = sp + 80|0; - $c1 = sp + 40|0; - $c2 = sp; - HEAP32[$1>>2] = $pMem1; - HEAP32[$2>>2] = $pMem2; - HEAP32[$3>>2] = $pColl; - HEAP32[$4>>2] = $prcErr; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 10|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = HEAP32[$3>>2]|0; - $10 = (($9) + 4|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($8|0)==($12|0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = (($14) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = (($17) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = (($26) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = (FUNCTION_TABLE_iiiiii[$16 & 15]($19,$22,$25,$28,$31)|0); - HEAP32[$0>>2] = $32; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); - } - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 32|0); - $35 = HEAP32[$34>>2]|0; - _sqlite3VdbeMemInit($c1,$35,1); - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 32|0); - $38 = HEAP32[$37>>2]|0; - _sqlite3VdbeMemInit($c2,$38,1); - $39 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemShallowCopy($c1,$39,4096); - $40 = HEAP32[$2>>2]|0; - _sqlite3VdbeMemShallowCopy($c2,$40,4096); - $41 = HEAP32[$3>>2]|0; - $42 = (($41) + 4|0); - $43 = HEAP8[$42>>0]|0; - $44 = (_sqlite3ValueText($c1,$43)|0); - HEAP32[$v1>>2] = $44; - $45 = HEAP32[$v1>>2]|0; - $46 = ($45|0)==(0|0); - if ($46) { - $49 = 0; - } else { - $47 = (($c1) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = $48; - } - HEAP32[$n1>>2] = $49; - $50 = HEAP32[$3>>2]|0; - $51 = (($50) + 4|0); - $52 = HEAP8[$51>>0]|0; - $53 = (_sqlite3ValueText($c2,$52)|0); - HEAP32[$v2>>2] = $53; - $54 = HEAP32[$v2>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $58 = 0; - } else { - $56 = (($c2) + 12|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57; - } - HEAP32[$n2>>2] = $58; - $59 = HEAP32[$3>>2]|0; - $60 = (($59) + 12|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$3>>2]|0; - $63 = (($62) + 8|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$n1>>2]|0; - $66 = HEAP32[$v1>>2]|0; - $67 = HEAP32[$n2>>2]|0; - $68 = HEAP32[$v2>>2]|0; - $69 = (FUNCTION_TABLE_iiiiii[$61 & 15]($64,$65,$66,$67,$68)|0); - HEAP32[$rc>>2] = $69; - _sqlite3VdbeMemRelease($c1); - _sqlite3VdbeMemRelease($c2); - $70 = HEAP32[$v1>>2]|0; - $71 = ($70|0)==(0|0); - $72 = HEAP32[$v2>>2]|0; - $73 = ($72|0)==(0|0); - $or$cond = $71 | $73; - $74 = HEAP32[$4>>2]|0; - $75 = ($74|0)!=(0|0); - $or$cond3 = $or$cond & $75; - if ($or$cond3) { - $76 = HEAP32[$4>>2]|0; - HEAP8[$76>>0] = 7; - } - $77 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $77; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); -} -function _sqlite3BlobCompare($pB1,$pB2) { - $pB1 = $pB1|0; - $pB2 = $pB2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $c = sp; - HEAP32[$1>>2] = $pB1; - HEAP32[$2>>2] = $pB2; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = (($12) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($11|0)>($14|0); - if ($15) { - $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - $22 = $18; - } else { - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = $21; + HEAP32[$i>>2] = 0; + while(1) { + $207 = HEAP32[$i>>2]|0; + $208 = HEAP32[$1>>2]|0; + $209 = (($208) + ($207)|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = (14426 + ($211)|0); + $213 = HEAP8[$212>>0]|0; + $214 = $213&255; + $215 = $214 & 4; + $216 = ($215|0)!=(0); + $217 = HEAP32[$i>>2]|0; + if (!($216)) { + break; + } + $218 = (($217) + 1)|0; + HEAP32[$i>>2] = $218; } - $23 = (_memcmp($5,$8,$22)|0); - HEAP32[$c>>2] = $23; - $24 = HEAP32[$c>>2]|0; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[$c>>2]|0; - HEAP32[$0>>2] = $26; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); + $219 = HEAP32[$1>>2]|0; + $220 = (($219) + ($217)|0); + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $223 = ($222|0)==(46); + if ($223) { + $224 = HEAP32[$i>>2]|0; + $225 = (($224) + 1)|0; + HEAP32[$i>>2] = $225; + while(1) { + $226 = HEAP32[$i>>2]|0; + $227 = HEAP32[$1>>2]|0; + $228 = (($227) + ($226)|0); + $229 = HEAP8[$228>>0]|0; + $230 = $229&255; + $231 = (14426 + ($230)|0); + $232 = HEAP8[$231>>0]|0; + $233 = $232&255; + $234 = $233 & 4; + $235 = ($234|0)!=(0); + if (!($235)) { + break; + } + $236 = HEAP32[$i>>2]|0; + $237 = (($236) + 1)|0; + HEAP32[$i>>2] = $237; + } + $238 = HEAP32[$2>>2]|0; + HEAP32[$238>>2] = 133; + } + $239 = HEAP32[$i>>2]|0; + $240 = HEAP32[$1>>2]|0; + $241 = (($240) + ($239)|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $244 = ($243|0)==(101); + if ($244) { + label = 82; } else { - $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = (($30) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) - ($32))|0; - HEAP32[$0>>2] = $33; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); - } - return 0|0; -} -function _sqlite3VdbeMemInit($pMem,$db,$flags) { - $pMem = $pMem|0; - $db = $db|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 8|0; - HEAP32[$0>>2] = $pMem; - HEAP32[$1>>2] = $db; - HEAP16[$2>>1] = $flags; - $3 = HEAP16[$2>>1]|0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); - HEAP16[$5>>1] = $3; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 32|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 24|0); - HEAP32[$10>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3VdbeMemShallowCopy($pTo,$pFrom,$srcType) { - $pTo = $pTo|0; - $pFrom = $pFrom|0; - $srcType = $srcType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pTo; - HEAP32[$1>>2] = $pFrom; - HEAP32[$2>>2] = $srcType; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 9312; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - _vdbeMemClearExternAndSetNull($9); - } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - ;HEAP32[$10+0>>2]=HEAP32[$11+0>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$10+16>>2]=HEAP32[$11+16>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15 & 2048; - $17 = ($16|0)==(0); - if (!($17)) { - STACKTOP = sp;return; - } - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = $21 & -7169; - $23 = $22&65535; - HEAP16[$19>>1] = $23; - $24 = HEAP32[$2>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 8|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = $28 | $24; - $30 = $29&65535; - HEAP16[$26>>1] = $30; - STACKTOP = sp;return; -} -function _vdbeMemClearExternAndSetNull($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFrame = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pFrame = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 8192; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - (_sqlite3VdbeMemFinalize($7,$9)|0); + $245 = HEAP32[$i>>2]|0; + $246 = HEAP32[$1>>2]|0; + $247 = (($246) + ($245)|0); + $248 = HEAP8[$247>>0]|0; + $249 = $248&255; + $250 = ($249|0)==(69); + if ($250) { + label = 82; + } } - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 & 1024; - $15 = ($14|0)!=(0); - $16 = HEAP32[$0>>2]|0; do { - if ($15) { - $17 = (($16) + 36|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 16|0); - $21 = HEAP32[$20>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($21); - } else { - $22 = (($16) + 8|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = $24 & 32; - $26 = ($25|0)!=(0); - $27 = HEAP32[$0>>2]|0; - if ($26) { - $28 = HEAP32[$27>>2]|0; - _sqlite3RowSetClear($28); - break; + if ((label|0) == 82) { + $251 = HEAP32[$i>>2]|0; + $252 = (($251) + 1)|0; + $253 = HEAP32[$1>>2]|0; + $254 = (($253) + ($252)|0); + $255 = HEAP8[$254>>0]|0; + $256 = $255&255; + $257 = (14426 + ($256)|0); + $258 = HEAP8[$257>>0]|0; + $259 = $258&255; + $260 = $259 & 4; + $261 = ($260|0)!=(0); + if (!($261)) { + $262 = HEAP32[$i>>2]|0; + $263 = (($262) + 1)|0; + $264 = HEAP32[$1>>2]|0; + $265 = (($264) + ($263)|0); + $266 = HEAP8[$265>>0]|0; + $267 = $266&255; + $268 = ($267|0)==(43); + if (!($268)) { + $269 = HEAP32[$i>>2]|0; + $270 = (($269) + 1)|0; + $271 = HEAP32[$1>>2]|0; + $272 = (($271) + ($270)|0); + $273 = HEAP8[$272>>0]|0; + $274 = $273&255; + $275 = ($274|0)==(45); + if (!($275)) { + break; + } + } + $276 = HEAP32[$i>>2]|0; + $277 = (($276) + 2)|0; + $278 = HEAP32[$1>>2]|0; + $279 = (($278) + ($277)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (14426 + ($281)|0); + $283 = HEAP8[$282>>0]|0; + $284 = $283&255; + $285 = $284 & 4; + $286 = ($285|0)!=(0); + if (!($286)) { + break; + } } - $29 = (($27) + 8|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = $31 & 64; - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$34>>2]|0; - HEAP32[$pFrame>>2] = $35; - $36 = HEAP32[$pFrame>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + 180|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pFrame>>2]|0; - $41 = (($40) + 4|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pFrame>>2]|0; - $43 = HEAP32[$pFrame>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + 180|0); - HEAP32[$45>>2] = $42; + $287 = HEAP32[$i>>2]|0; + $288 = (($287) + 2)|0; + HEAP32[$i>>2] = $288; + while(1) { + $289 = HEAP32[$i>>2]|0; + $290 = HEAP32[$1>>2]|0; + $291 = (($290) + ($289)|0); + $292 = HEAP8[$291>>0]|0; + $293 = $292&255; + $294 = (14426 + ($293)|0); + $295 = HEAP8[$294>>0]|0; + $296 = $295&255; + $297 = $296 & 4; + $298 = ($297|0)!=(0); + if (!($298)) { + break; + } + $299 = HEAP32[$i>>2]|0; + $300 = (($299) + 1)|0; + HEAP32[$i>>2] = $300; } + $301 = HEAP32[$2>>2]|0; + HEAP32[$301>>2] = 133; } } while(0); - $46 = HEAP32[$0>>2]|0; - $47 = (($46) + 8|0); - HEAP16[$47>>1] = 1; - STACKTOP = sp;return; -} -function _sqlite3VdbeMemFinalize($pMem,$pFunc) { - $pMem = $pMem|0; - $pFunc = $pFunc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0, $rc = 0, $t = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $rc = sp + 68|0; - $ctx = sp + 40|0; - $t = sp; - HEAP32[$0>>2] = $pMem; - HEAP32[$1>>2] = $pFunc; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); - } - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); - } - ;HEAP32[$ctx+0>>2]=0|0;HEAP32[$ctx+4>>2]=0|0;HEAP32[$ctx+8>>2]=0|0;HEAP32[$ctx+12>>2]=0|0;HEAP32[$ctx+16>>2]=0|0;HEAP32[$ctx+20>>2]=0|0;HEAP32[$ctx+24>>2]=0|0; - dest=$t+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $8 = (($t) + 8|0); - HEAP16[$8>>1] = 1; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($t) + 32|0); - HEAP32[$12>>2] = $11; - HEAP32[$ctx>>2] = $t; - $13 = HEAP32[$0>>2]|0; - $14 = (($ctx) + 8|0); - HEAP32[$14>>2] = $13; - $15 = HEAP32[$1>>2]|0; - $16 = (($ctx) + 4|0); - HEAP32[$16>>2] = $15; - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 20|0); - $19 = HEAP32[$18>>2]|0; - FUNCTION_TABLE_vi[$19 & 31]($ctx); - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 24|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)>(0); - if ($23) { - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 32|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 20|0); - $29 = HEAP32[$28>>2]|0; - _sqlite3DbFree($26,$29); - } - $30 = HEAP32[$0>>2]|0; - dest=$30+0|0; src=$t+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $31 = (($ctx) + 20|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($33|0); -} -function _sqlite3RowSetClear($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pChunk = 0, $pNextChunk = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pChunk = sp + 4|0; - $pNextChunk = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$pChunk>>2] = $2; while(1) { - $3 = HEAP32[$pChunk>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $302 = HEAP32[$i>>2]|0; + $303 = HEAP32[$1>>2]|0; + $304 = (($303) + ($302)|0); + $305 = HEAP8[$304>>0]|0; + $306 = $305&255; + $307 = (14426 + ($306)|0); + $308 = HEAP8[$307>>0]|0; + $309 = $308&255; + $310 = $309 & 70; + $311 = ($310|0)!=(0); + if (!($311)) { break; } - $5 = HEAP32[$pChunk>>2]|0; - $6 = HEAP32[$5>>2]|0; - HEAP32[$pNextChunk>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$pChunk>>2]|0; - _sqlite3DbFree($9,$10); - $11 = HEAP32[$pNextChunk>>2]|0; - HEAP32[$pChunk>>2] = $11; - } - $12 = HEAP32[$0>>2]|0; - HEAP32[$12>>2] = 0; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 24|0); - HEAP16[$14>>1] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 8|0); - HEAP32[$16>>2] = 0; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 12|0); - HEAP32[$18>>2] = 0; - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 20|0); - HEAP32[$20>>2] = 0; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 26|0); - HEAP16[$22>>1] = 1; - STACKTOP = sp;return; -} -function _sqlite3XPrintf($p,$bFlags,$zFormat,$varargs) { - $p = $p|0; - $bFlags = $bFlags|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ap = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $ap = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $bFlags; - HEAP32[$2>>2] = $zFormat; - HEAP32[$ap>>2] = $varargs; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - _sqlite3VXPrintf($3,$4,$5,$ap); - STACKTOP = sp;return; -} -function _sqlite3SkipAccumulatorLoad($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 24|0); - HEAP8[$2>>0] = 1; - STACKTOP = sp;return; -} -function _sqlite3ParserAlloc($mallocProc) { - $mallocProc = $mallocProc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pParser = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pParser = sp; - HEAP32[$0>>2] = $mallocProc; - $1 = HEAP32[$0>>2]|0; - $2 = (FUNCTION_TABLE_iii[$1 & 63](1612,0)|0); - HEAP32[$pParser>>2] = $2; - $3 = HEAP32[$pParser>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $6 = HEAP32[$pParser>>2]|0; - STACKTOP = sp;return ($6|0); + $312 = HEAP32[$2>>2]|0; + HEAP32[$312>>2] = 150; + $313 = HEAP32[$i>>2]|0; + $314 = (($313) + 1)|0; + HEAP32[$i>>2] = $314; } - $5 = HEAP32[$pParser>>2]|0; - HEAP32[$5>>2] = -1; - $6 = HEAP32[$pParser>>2]|0; - STACKTOP = sp;return ($6|0); + $315 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $315; + $483 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($483|0); } function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { $yyp = $yyp|0; @@ -59868,13 +58854,13 @@ function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yyact = 0, $yyminorunion = 0, $yyminorunion$byval_copy = 0, $yypParser = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $yyminorunion$byval_copy = sp + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $yyminorunion = sp + 8|0; - $yyact = sp + 4|0; - $yypParser = sp; + $yyminorunion$byval_copy = sp + 16|0; + $0 = sp + 32|0; + $1 = sp + 36|0; + $2 = sp + 40|0; + $yyminorunion = sp + 4|0; + $yyact = sp; + $yypParser = sp + 28|0; HEAP32[$0>>2] = $yyp; HEAP32[$1>>2] = $yymajor; HEAP32[$2>>2] = $pParse; @@ -59887,20 +58873,20 @@ function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { $7 = HEAP32[$yypParser>>2]|0; HEAP32[$7>>2] = 0; $8 = HEAP32[$yypParser>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); HEAP32[$9>>2] = -1; $10 = HEAP32[$yypParser>>2]|0; - $11 = (($10) + 12|0); + $11 = ((($10)) + 12|0); HEAP16[$11>>1] = 0; $12 = HEAP32[$yypParser>>2]|0; - $13 = (($12) + 12|0); - $14 = (($13) + 2|0); + $13 = ((($12)) + 12|0); + $14 = ((($13)) + 2|0); HEAP8[$14>>0] = 0; } - ;HEAP32[$yyminorunion+0>>2]=HEAP32[$yyminor+0>>2]|0;HEAP32[$yyminorunion+4>>2]=HEAP32[$yyminor+4>>2]|0; + ;HEAP32[$yyminorunion>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminorunion+4>>2]=HEAP32[$yyminor+4>>2]|0; $15 = HEAP32[$2>>2]|0; $16 = HEAP32[$yypParser>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); HEAP32[$17>>2] = $15; while(1) { $18 = HEAP32[$yypParser>>2]|0; @@ -59917,7 +58903,7 @@ function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { $26 = HEAP32[$1>>2]|0; _yy_shift($24,$25,$26,$yyminorunion); $27 = HEAP32[$yypParser>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + -1)|0; HEAP32[$28>>2] = $30; @@ -59933,7 +58919,7 @@ function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { break; } else { $36 = HEAP32[$1>>2]|0; - ;HEAP32[$yyminorunion$byval_copy+0>>2]=HEAP32[$yyminorunion+0>>2]|0;HEAP32[$yyminorunion$byval_copy+4>>2]=HEAP32[$yyminorunion+4>>2]|0;HEAP32[$yyminorunion$byval_copy+8>>2]=HEAP32[$yyminorunion+8>>2]|0; + ;HEAP32[$yyminorunion$byval_copy>>2]=HEAP32[$yyminorunion>>2]|0;HEAP32[$yyminorunion$byval_copy+4>>2]=HEAP32[$yyminorunion+4>>2]|0;HEAP32[$yyminorunion$byval_copy+8>>2]=HEAP32[$yyminorunion+8>>2]|0; _yy_syntax_error($33,$36,$yyminorunion$byval_copy); $37 = HEAP32[$yypParser>>2]|0; $38 = HEAP32[$1>>2]|0; @@ -60046,39 +59032,39 @@ function _sqlite3VdbeDelete($p) { $6 = HEAP32[$0>>2]|0; _sqlite3VdbeClearObject($5,$6); $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 48|0); + $8 = ((($7)) + 48|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 52|0); + $12 = ((($11)) + 52|0); $13 = HEAP32[$12>>2]|0; if ($10) { $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 48|0); + $15 = ((($14)) + 48|0); $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 52|0); + $17 = ((($16)) + 52|0); HEAP32[$17>>2] = $13; } else { $18 = HEAP32[$db>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); HEAP32[$19>>2] = $13; } $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 52|0); + $21 = ((($20)) + 52|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); if ($23) { $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 48|0); + $25 = ((($24)) + 48|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 52|0); + $28 = ((($27)) + 52|0); $29 = HEAP32[$28>>2]|0; - $30 = (($29) + 48|0); + $30 = ((($29)) + 48|0); HEAP32[$30>>2] = $26; } $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 40|0); + $32 = ((($31)) + 40|0); HEAP32[$32>>2] = -1241070648; $33 = HEAP32[$0>>2]|0; HEAP32[$33>>2] = 0; @@ -60116,17 +59102,17 @@ function _sqlite3WithDelete($db,$pWith) { } $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = (($10) + ($8<<4)|0); HEAP32[$pCte>>2] = $11; $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$pCte>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; _sqlite3ExprListDelete($12,$15); $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$pCte>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; _sqlite3SelectDelete($16,$19); $20 = HEAP32[$0>>2]|0; @@ -60161,7 +59147,7 @@ function _sqlite3ExprListDelete($db,$pList) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pItem>>2] = $6; HEAP32[$i>>2] = 0; @@ -60179,23 +59165,23 @@ function _sqlite3ExprListDelete($db,$pList) { _sqlite3ExprDelete($11,$13); $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$pItem>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; _sqlite3DbFree($14,$17); $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$pItem>>2]|0; - $20 = (($19) + 8|0); + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; _sqlite3DbFree($18,$21); $22 = HEAP32[$i>>2]|0; $23 = (($22) + 1)|0; HEAP32[$i>>2] = $23; $24 = HEAP32[$pItem>>2]|0; - $25 = (($24) + 20|0); + $25 = ((($24)) + 20|0); HEAP32[$pItem>>2] = $25; } $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; _sqlite3DbFree($11,$28); $29 = HEAP32[$0>>2]|0; @@ -60244,47 +59230,47 @@ function _clearSelect($db,$p) { _sqlite3ExprListDelete($2,$4); $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 32|0); + $7 = ((($6)) + 32|0); $8 = HEAP32[$7>>2]|0; _sqlite3SrcListDelete($5,$8); $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 36|0); + $11 = ((($10)) + 36|0); $12 = HEAP32[$11>>2]|0; _sqlite3ExprDelete($9,$12); $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 40|0); + $15 = ((($14)) + 40|0); $16 = HEAP32[$15>>2]|0; _sqlite3ExprListDelete($13,$16); $17 = HEAP32[$0>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 44|0); + $19 = ((($18)) + 44|0); $20 = HEAP32[$19>>2]|0; _sqlite3ExprDelete($17,$20); $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 48|0); + $23 = ((($22)) + 48|0); $24 = HEAP32[$23>>2]|0; _sqlite3ExprListDelete($21,$24); $25 = HEAP32[$0>>2]|0; $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 52|0); + $27 = ((($26)) + 52|0); $28 = HEAP32[$27>>2]|0; _sqlite3SelectDelete($25,$28); $29 = HEAP32[$0>>2]|0; $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 60|0); + $31 = ((($30)) + 60|0); $32 = HEAP32[$31>>2]|0; _sqlite3ExprDelete($29,$32); $33 = HEAP32[$0>>2]|0; $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 64|0); + $35 = ((($34)) + 64|0); $36 = HEAP32[$35>>2]|0; _sqlite3ExprDelete($33,$36); $37 = HEAP32[$0>>2]|0; $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 68|0); + $39 = ((($38)) + 68|0); $40 = HEAP32[$39>>2]|0; _sqlite3WithDelete($37,$40); STACKTOP = sp;return; @@ -60309,7 +59295,7 @@ function _sqlite3SrcListDelete($db,$pList) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); HEAP32[$pItem>>2] = $5; HEAP32[$i>>2] = 0; while(1) { @@ -60322,49 +59308,49 @@ function _sqlite3SrcListDelete($db,$pList) { break; } $11 = HEAP32[$pItem>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); $13 = HEAP32[$12>>2]|0; _sqlite3DbFree($10,$13); $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$pItem>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; _sqlite3DbFree($14,$17); $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$pItem>>2]|0; - $20 = (($19) + 12|0); + $20 = ((($19)) + 12|0); $21 = HEAP32[$20>>2]|0; _sqlite3DbFree($18,$21); $22 = HEAP32[$0>>2]|0; $23 = HEAP32[$pItem>>2]|0; - $24 = (($23) + 64|0); + $24 = ((($23)) + 64|0); $25 = HEAP32[$24>>2]|0; _sqlite3DbFree($22,$25); $26 = HEAP32[$0>>2]|0; $27 = HEAP32[$pItem>>2]|0; - $28 = (($27) + 16|0); + $28 = ((($27)) + 16|0); $29 = HEAP32[$28>>2]|0; _sqlite3DeleteTable($26,$29); $30 = HEAP32[$0>>2]|0; $31 = HEAP32[$pItem>>2]|0; - $32 = (($31) + 20|0); + $32 = ((($31)) + 20|0); $33 = HEAP32[$32>>2]|0; _sqlite3SelectDelete($30,$33); $34 = HEAP32[$0>>2]|0; $35 = HEAP32[$pItem>>2]|0; - $36 = (($35) + 44|0); + $36 = ((($35)) + 44|0); $37 = HEAP32[$36>>2]|0; _sqlite3ExprDelete($34,$37); $38 = HEAP32[$0>>2]|0; $39 = HEAP32[$pItem>>2]|0; - $40 = (($39) + 48|0); + $40 = ((($39)) + 48|0); $41 = HEAP32[$40>>2]|0; _sqlite3IdListDelete($38,$41); $42 = HEAP32[$i>>2]|0; $43 = (($42) + 1)|0; HEAP32[$i>>2] = $43; $44 = HEAP32[$pItem>>2]|0; - $45 = (($44) + 72|0); + $45 = ((($44)) + 72|0); HEAP32[$pItem>>2] = $45; } $46 = HEAP32[$1>>2]|0; @@ -60389,7 +59375,7 @@ function _sqlite3ExprDelete($db,$p) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = $6 & 16384; $8 = ($7|0)!=(0); @@ -60397,34 +59383,34 @@ function _sqlite3ExprDelete($db,$p) { if (!($8)) { $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 12|0); + $11 = ((($10)) + 12|0); $12 = HEAP32[$11>>2]|0; _sqlite3ExprDelete($9,$12); $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; _sqlite3ExprDelete($13,$16); $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = $19 & 65536; $21 = ($20|0)!=(0); if ($21) { $22 = HEAP32[$0>>2]|0; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; _sqlite3DbFree($22,$25); } $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; $29 = $28 & 2048; $30 = ($29|0)!=(0); $31 = HEAP32[$0>>2]|0; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 20|0); + $33 = ((($32)) + 20|0); if ($30) { $34 = HEAP32[$33>>2]|0; _sqlite3SelectDelete($31,$34); @@ -60437,7 +59423,7 @@ function _sqlite3ExprDelete($db,$p) { } } while(0); $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 4|0); + $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; $39 = $38 & 32768; $40 = ($39|0)!=(0); @@ -60470,7 +59456,7 @@ function _sqlite3IdListDelete($db,$pList) { while(1) { $4 = HEAP32[$i>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ($4|0)<($7|0); $9 = HEAP32[$0>>2]|0; @@ -60513,7 +59499,7 @@ function _sqlite3VMPrintf($db,$zFormat,$ap) { HEAP32[$1>>2] = $zFormat; HEAP32[$2>>2] = $ap; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 88|0); + $4 = ((($3)) + 88|0); $5 = HEAP32[$4>>2]|0; _sqlite3StrAccumInit($acc,$zBase,70,$5); $6 = HEAP32[$0>>2]|0; @@ -60523,7 +59509,7 @@ function _sqlite3VMPrintf($db,$zFormat,$ap) { _sqlite3VXPrintf($acc,1,$7,$8); $9 = (_sqlite3StrAccumFinish($acc)|0); HEAP32[$z>>2] = $9; - $10 = (($acc) + 25|0); + $10 = ((($acc)) + 25|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($12|0)==(1); @@ -60532,7 +59518,7 @@ function _sqlite3VMPrintf($db,$zFormat,$ap) { STACKTOP = sp;return ($16|0); } $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 64|0); + $15 = ((($14)) + 64|0); HEAP8[$15>>0] = 1; $16 = HEAP32[$z>>2]|0; STACKTOP = sp;return ($16|0); @@ -60551,7 +59537,7 @@ function _yy_pop_parser_stack($pParser) { $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 12|0); + $5 = ((($4)) + 12|0); $6 = (($5) + ($3<<4)|0); HEAP32[$yytos>>2] = $6; $7 = HEAP32[$1>>2]|0; @@ -60563,13 +59549,13 @@ function _yy_pop_parser_stack($pParser) { STACKTOP = sp;return ($22|0); } else { $10 = HEAP32[$yytos>>2]|0; - $11 = (($10) + 2|0); + $11 = ((($10)) + 2|0); $12 = HEAP8[$11>>0]|0; HEAP8[$yymajor>>0] = $12; $13 = HEAP32[$1>>2]|0; $14 = HEAP8[$yymajor>>0]|0; $15 = HEAP32[$yytos>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); _yy_destructor($13,$14,$16); $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$17>>2]|0; @@ -60581,7 +59567,7 @@ function _yy_pop_parser_stack($pParser) { $22 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($22|0); } - return 0|0; + return (0)|0; } function _yy_destructor($yypParser,$yymajor,$yypminor) { $yypParser = $yypParser|0; @@ -60600,22 +59586,13 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { HEAP8[$1>>0] = $yymajor; HEAP32[$2>>2] = $yypminor; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pParse>>2] = $5; $6 = HEAP8[$1>>0]|0; $7 = $6&255; do { switch ($7|0) { - case 252: case 197: { - $24 = HEAP32[$pParse>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = HEAP32[$26>>2]|0; - _sqlite3WithDelete($25,$27); - STACKTOP = sp;return; - break; - } case 207: case 196: case 195: case 163: { $8 = HEAP32[$pParse>>2]|0; $9 = HEAP32[$8>>2]|0; @@ -60625,6 +59602,15 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } + case 175: case 174: { + $12 = HEAP32[$pParse>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + _sqlite3ExprDelete($13,$15); + STACKTOP = sp;return; + break; + } case 228: case 221: case 220: case 210: case 209: case 208: case 205: case 203: case 200: case 188: case 179: { $16 = HEAP32[$pParse>>2]|0; $17 = HEAP32[$16>>2]|0; @@ -60634,12 +59620,30 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 239: case 234: { - $36 = HEAP32[$pParse>>2]|0; - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$38>>2]|0; - _sqlite3DeleteTriggerStep($37,$39); + case 213: case 212: case 201: case 194: { + $20 = HEAP32[$pParse>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + _sqlite3SrcListDelete($21,$23); + STACKTOP = sp;return; + break; + } + case 252: case 197: { + $24 = HEAP32[$pParse>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = HEAP32[$26>>2]|0; + _sqlite3WithDelete($25,$27); + STACKTOP = sp;return; + break; + } + case 243: case 238: case 229: case 227: case 216: case 204: case 202: { + $28 = HEAP32[$pParse>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$30>>2]|0; + _sqlite3ExprDelete($29,$31); STACKTOP = sp;return; break; } @@ -60652,43 +59656,25 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } + case 239: case 234: { + $36 = HEAP32[$pParse>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$38>>2]|0; + _sqlite3DeleteTriggerStep($37,$39); + STACKTOP = sp;return; + break; + } case 236: { $40 = HEAP32[$pParse>>2]|0; $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$2>>2]|0; - $43 = (($42) + 4|0); + $43 = ((($42)) + 4|0); $44 = HEAP32[$43>>2]|0; _sqlite3IdListDelete($41,$44); STACKTOP = sp;return; break; } - case 175: case 174: { - $12 = HEAP32[$pParse>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - _sqlite3ExprDelete($13,$15); - STACKTOP = sp;return; - break; - } - case 213: case 212: case 201: case 194: { - $20 = HEAP32[$pParse>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - _sqlite3SrcListDelete($21,$23); - STACKTOP = sp;return; - break; - } - case 243: case 238: case 229: case 227: case 216: case 204: case 202: { - $28 = HEAP32[$pParse>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$30>>2]|0; - _sqlite3ExprDelete($29,$31); - STACKTOP = sp;return; - break; - } default: { STACKTOP = sp;return; } @@ -60716,27 +59702,27 @@ function _sqlite3DeleteTriggerStep($db,$pTriggerStep) { $4 = HEAP32[$1>>2]|0; HEAP32[$pTmp>>2] = $4; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 32|0); + $6 = ((($5)) + 32|0); $7 = HEAP32[$6>>2]|0; HEAP32[$1>>2] = $7; $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$pTmp>>2]|0; - $10 = (($9) + 20|0); + $10 = ((($9)) + 20|0); $11 = HEAP32[$10>>2]|0; _sqlite3ExprDelete($8,$11); $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$pTmp>>2]|0; - $14 = (($13) + 24|0); + $14 = ((($13)) + 24|0); $15 = HEAP32[$14>>2]|0; _sqlite3ExprListDelete($12,$15); $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$pTmp>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; _sqlite3SelectDelete($16,$19); $20 = HEAP32[$0>>2]|0; $21 = HEAP32[$pTmp>>2]|0; - $22 = (($21) + 28|0); + $22 = ((($21)) + 28|0); $23 = HEAP32[$22>>2]|0; _sqlite3IdListDelete($20,$23); $24 = HEAP32[$0>>2]|0; @@ -60755,19 +59741,19 @@ function _yy_find_shift_action($pParser,$iLookAhead) { var $stateno = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 21|0; - $i = sp + 8|0; - $stateno = sp + 4|0; - $iFallback = sp + 20|0; - $j = sp; + $0 = sp; + $1 = sp + 8|0; + $2 = sp + 20|0; + $i = sp + 16|0; + $stateno = sp + 12|0; + $iFallback = sp + 21|0; + $j = sp + 4|0; HEAP32[$1>>2] = $pParser; HEAP8[$2>>0] = $iLookAhead; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 12|0); + $6 = ((($5)) + 12|0); $7 = (($6) + ($4<<4)|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; @@ -60776,7 +59762,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { $11 = ($10|0)>(429); if (!($11)) { $12 = HEAP32[$stateno>>2]|0; - $13 = (27208 + ($12<<1)|0); + $13 = (11688 + ($12<<1)|0); $14 = HEAP16[$13>>1]|0; $15 = $14 << 16 >> 16; HEAP32[$i>>2] = $15; @@ -60794,7 +59780,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { $or$cond = $26 | $28; if (!($or$cond)) { $29 = HEAP32[$i>>2]|0; - $30 = (29360 + ($29)|0); + $30 = (29229 + ($29)|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $33 = HEAP8[$2>>0]|0; @@ -60802,7 +59788,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { $35 = ($32|0)!=($34|0); if (!($35)) { $71 = HEAP32[$i>>2]|0; - $72 = (11720 + ($71<<1)|0); + $72 = (8664 + ($71<<1)|0); $73 = HEAP16[$72>>1]|0; $74 = $73&65535; HEAP32[$0>>2] = $74; @@ -60820,7 +59806,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { if ($41) { $42 = HEAP8[$2>>0]|0; $43 = $42&255; - $44 = (30864 + ($43)|0); + $44 = (30726 + ($43)|0); $45 = HEAP8[$44>>0]|0; HEAP8[$iFallback>>0] = $45; $46 = $45&255; @@ -60844,13 +59830,13 @@ function _yy_find_shift_action($pParser,$iLookAhead) { $57 = ($56|0)>=(0); if ($57) { $58 = HEAP32[$j>>2]|0; - $59 = (29360 + ($58)|0); + $59 = (29229 + ($58)|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = ($61|0)==(70); if ($62) { $63 = HEAP32[$j>>2]|0; - $64 = (11720 + ($63<<1)|0); + $64 = (8664 + ($63<<1)|0); $65 = HEAP16[$64>>1]|0; $66 = $65&65535; HEAP32[$0>>2] = $66; @@ -60860,7 +59846,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { } } $67 = HEAP32[$stateno>>2]|0; - $68 = (28072 + ($67<<1)|0); + $68 = (12548 + ($67<<1)|0); $69 = HEAP16[$68>>1]|0; $70 = $69&65535; HEAP32[$0>>2] = $70; @@ -60869,7 +59855,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { } } $17 = HEAP32[$stateno>>2]|0; - $18 = (28072 + ($17<<1)|0); + $18 = (12548 + ($17<<1)|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; HEAP32[$0>>2] = $20; @@ -60909,7 +59895,7 @@ function _yy_shift($yypParser,$yyNewState,$yyMajor,$yypMinor) { } else { $12 = HEAP32[$10>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); $15 = (($14) + ($12<<4)|0); HEAP32[$yytos>>2] = $15; $16 = HEAP32[$1>>2]|0; @@ -60919,12 +59905,12 @@ function _yy_shift($yypParser,$yyNewState,$yyMajor,$yypMinor) { $19 = HEAP32[$2>>2]|0; $20 = $19&255; $21 = HEAP32[$yytos>>2]|0; - $22 = (($21) + 2|0); + $22 = ((($21)) + 2|0); HEAP8[$22>>0] = $20; $23 = HEAP32[$yytos>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$3>>2]|0; - ;HEAP32[$24+0>>2]=HEAP32[$25+0>>2]|0;HEAP32[$24+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$24+8>>2]=HEAP32[$25+8>>2]|0; + ;HEAP32[$24>>2]=HEAP32[$25>>2]|0;HEAP32[$24+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$24+8>>2]=HEAP32[$25+8>>2]|0; STACKTOP = sp;return; } } @@ -61052,195 +60038,83 @@ function _yy_reduce($yypParser,$yyruleno) { var $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0; var $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0; var $all = 0, $cnt = 0, $dest = 0, $mxSelect = 0, $p = 0, $p10 = 0, $p2 = 0, $p8 = 0, $p9 = 0, $pDot = 0, $pFrom = 0, $pLeft = 0, $pList = 0, $pList6 = 0, $pList7 = 0, $pLoop = 0, $pNew = 0, $pNext = 0, $pOld = 0, $pParse = 0; - var $pRHS = 0, $pRhs = 0, $pRight = 0, $pRight3 = 0, $pSrc = 0, $pSubquery = 0, $temp1 = 0, $temp14 = 0, $temp2 = 0, $temp25 = 0, $temp3 = 0, $temp4 = 0, $v = 0, $v1 = 0, $vararg_buffer14 = 0, $vararg_ptr1 = 0, $x = 0, $yyact = 0, $yygoto = 0, $yygotominor = 0; - var $yymsp = 0, $yysize = 0, label = 0, sp = 0; + var $pRHS = 0, $pRhs = 0, $pRight = 0, $pRight3 = 0, $pSrc = 0, $pSubquery = 0, $temp1 = 0, $temp14 = 0, $temp2 = 0, $temp25 = 0, $temp3 = 0, $temp4 = 0, $v = 0, $v1 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer14 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0; + var $vararg_buffer7 = 0, $vararg_ptr1 = 0, $x = 0, $yyact = 0, $yygoto = 0, $yygotominor = 0, $yymsp = 0, $yysize = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $vararg_buffer14 = sp; - $0 = sp + 220|0; - $1 = sp + 216|0; - $yygoto = sp + 212|0; - $yyact = sp + 208|0; - $yygotominor = sp + 196|0; - $yymsp = sp + 192|0; - $yysize = sp + 188|0; - $pParse = sp + 184|0; - $v = sp + 172|0; - $v1 = sp + 160|0; - $dest = sp + 140|0; - $p = sp + 136|0; - $pNext = sp + 132|0; - $pLoop = sp + 128|0; - $cnt = sp + 124|0; - $mxSelect = sp + 120|0; - $pRhs = sp + 116|0; - $pFrom = sp + 112|0; - $x = sp + 104|0; - $pRight = sp + 100|0; - $p2 = sp + 96|0; - $pRight3 = sp + 92|0; - $pLeft = sp + 88|0; - $pDot = sp + 84|0; - $pNew = sp + 80|0; - $pOld = sp + 76|0; - $pSubquery = sp + 72|0; - $temp1 = sp + 68|0; - $temp2 = sp + 64|0; - $temp14 = sp + 60|0; - $temp25 = sp + 56|0; - $temp3 = sp + 52|0; - $temp4 = sp + 48|0; - $pList = sp + 44|0; - $pList6 = sp + 40|0; - $pList7 = sp + 36|0; - $pRHS = sp + 32|0; - $pSrc = sp + 28|0; - $p8 = sp + 24|0; - $p9 = sp + 20|0; - $p10 = sp + 16|0; - $all = sp + 8|0; + STACKTOP = STACKTOP + 272|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer12 = sp + 16|0; + $vararg_buffer10 = sp + 8|0; + $vararg_buffer7 = sp; + $vararg_buffer4 = sp + 32|0; + $vararg_buffer2 = sp + 48|0; + $vararg_buffer = sp + 24|0; + $0 = sp + 52|0; + $1 = sp + 140|0; + $yygoto = sp + 96|0; + $yyact = sp + 88|0; + $yygotominor = sp + 68|0; + $yymsp = sp + 56|0; + $yysize = sp + 60|0; + $pParse = sp + 64|0; + $v = sp + 196|0; + $v1 = sp + 144|0; + $dest = sp + 120|0; + $p = sp + 104|0; + $pNext = sp + 92|0; + $pLoop = sp + 236|0; + $cnt = sp + 244|0; + $mxSelect = sp + 252|0; + $pRhs = sp + 260|0; + $pFrom = sp + 108|0; + $x = sp + 112|0; + $pRight = sp + 240|0; + $p2 = sp + 248|0; + $pRight3 = sp + 256|0; + $pLeft = sp + 156|0; + $pDot = sp + 160|0; + $pNew = sp + 192|0; + $pOld = sp + 164|0; + $pSubquery = sp + 168|0; + $temp1 = sp + 172|0; + $temp2 = sp + 176|0; + $temp14 = sp + 180|0; + $temp25 = sp + 184|0; + $temp3 = sp + 188|0; + $temp4 = sp + 232|0; + $pList = sp + 212|0; + $pList6 = sp + 264|0; + $pList7 = sp + 268|0; + $pRHS = sp + 84|0; + $pSrc = sp + 216|0; + $p8 = sp + 208|0; + $p9 = sp + 80|0; + $p10 = sp + 100|0; + $all = sp + 224|0; HEAP32[$0>>2] = $yypParser; HEAP32[$1>>2] = $yyruleno; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pParse>>2] = $4; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 12|0); + $8 = ((($7)) + 12|0); $9 = (($8) + ($6<<4)|0); HEAP32[$yymsp>>2] = $9; - ;HEAP32[$yygotominor+0>>2]=HEAP32[27168+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[27168+4>>2]|0;HEAP32[$yygotominor+8>>2]=HEAP32[27168+8>>2]|0; + ;HEAP32[$yygotominor>>2]=HEAP32[2244>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[2244+4>>2]|0;HEAP32[$yygotominor+8>>2]=HEAP32[2244+8>>2]|0; $10 = HEAP32[$1>>2]|0; L1: do { switch ($10|0) { - case 56: { - $192 = HEAP32[$pParse>>2]|0; - $193 = HEAP32[$yymsp>>2]|0; - $194 = (($193) + -16|0); - $195 = (($194) + 4|0); - _sqlite3AddDefaultValue($192,$195); - break; - } - case 62: { - $220 = HEAP32[$pParse>>2]|0; - $221 = HEAP32[$yymsp>>2]|0; - $222 = (($221) + -16|0); - $223 = (($222) + 4|0); - $224 = HEAP32[$223>>2]|0; - $225 = HEAP32[$yymsp>>2]|0; - $226 = (($225) + 4|0); - $227 = HEAP32[$226>>2]|0; - $228 = HEAP32[$yymsp>>2]|0; - $229 = (($228) + -32|0); - $230 = (($229) + 4|0); - $231 = HEAP32[$230>>2]|0; - _sqlite3AddPrimaryKey($220,0,$224,$227,$231); - break; - } - case 111: { - ;HEAP32[$dest+0>>2]=HEAP32[10032+0>>2]|0;HEAP32[$dest+4>>2]=HEAP32[10032+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[10032+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[10032+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[10032+16>>2]|0; - $379 = HEAP32[$pParse>>2]|0; - $380 = HEAP32[$yymsp>>2]|0; - $381 = (($380) + 4|0); - $382 = HEAP32[$381>>2]|0; - (_sqlite3Select($379,$382,$dest)|0); - $383 = HEAP32[$pParse>>2]|0; - $384 = HEAP32[$383>>2]|0; - $385 = HEAP32[$yymsp>>2]|0; - $386 = (($385) + 4|0); - $387 = HEAP32[$386>>2]|0; - _sqlite3SelectDelete($384,$387); - break; - } - case 112: { - $388 = HEAP32[$yymsp>>2]|0; - $389 = (($388) + 4|0); - $390 = HEAP32[$389>>2]|0; - HEAP32[$p>>2] = $390; - $391 = HEAP32[$p>>2]|0; - $392 = ($391|0)!=(0|0); - if ($392) { - HEAP32[$cnt>>2] = 0; - $393 = HEAP32[$yymsp>>2]|0; - $394 = (($393) + -16|0); - $395 = (($394) + 4|0); - $396 = HEAP32[$395>>2]|0; - $397 = HEAP32[$p>>2]|0; - $398 = (($397) + 68|0); - HEAP32[$398>>2] = $396; - $399 = HEAP32[$p>>2]|0; - $400 = (($399) + 52|0); - $401 = HEAP32[$400>>2]|0; - $402 = ($401|0)!=(0|0); - if ($402) { - HEAP32[$pNext>>2] = 0; - $403 = HEAP32[$p>>2]|0; - HEAP32[$pLoop>>2] = $403; - while(1) { - $404 = HEAP32[$pLoop>>2]|0; - $405 = ($404|0)!=(0|0); - if (!($405)) { - break; - } - $406 = HEAP32[$pNext>>2]|0; - $407 = HEAP32[$pLoop>>2]|0; - $408 = (($407) + 56|0); - HEAP32[$408>>2] = $406; - $409 = HEAP32[$pLoop>>2]|0; - $410 = (($409) + 6|0); - $411 = HEAP16[$410>>1]|0; - $412 = $411&65535; - $413 = $412 | 64; - $414 = $413&65535; - HEAP16[$410>>1] = $414; - $415 = HEAP32[$pLoop>>2]|0; - HEAP32[$pNext>>2] = $415; - $416 = HEAP32[$pLoop>>2]|0; - $417 = (($416) + 52|0); - $418 = HEAP32[$417>>2]|0; - HEAP32[$pLoop>>2] = $418; - $419 = HEAP32[$cnt>>2]|0; - $420 = (($419) + 1)|0; - HEAP32[$cnt>>2] = $420; - } - $421 = HEAP32[$pParse>>2]|0; - $422 = HEAP32[$421>>2]|0; - $423 = (($422) + 88|0); - $424 = (($423) + 16|0); - $425 = HEAP32[$424>>2]|0; - HEAP32[$mxSelect>>2] = $425; - $426 = HEAP32[$mxSelect>>2]|0; - $427 = ($426|0)!=(0); - if ($427) { - $428 = HEAP32[$cnt>>2]|0; - $429 = HEAP32[$mxSelect>>2]|0; - $430 = ($428|0)>($429|0); - if ($430) { - $431 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($431,10056,$vararg_buffer14); - } - } - } - } else { - $432 = HEAP32[$pParse>>2]|0; - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[$yymsp>>2]|0; - $435 = (($434) + -16|0); - $436 = (($435) + 4|0); - $437 = HEAP32[$436>>2]|0; - _sqlite3WithDelete($433,$437); - } - $438 = HEAP32[$p>>2]|0; - HEAP32[$yygotominor>>2] = $438; + case 5: { + $11 = HEAP32[$pParse>>2]|0; + _sqlite3BeginParse($11,0); break; } - case 24: { - $32 = HEAP32[$pParse>>2]|0; - $33 = HEAP32[$yymsp>>2]|0; - $34 = (($33) + 4|0); - _sqlite3Savepoint($32,2,$34); + case 6: { + $12 = HEAP32[$pParse>>2]|0; + _sqlite3BeginParse($12,1); break; } case 7: { @@ -61248,623 +60122,584 @@ function _yy_reduce($yypParser,$yyruleno) { _sqlite3BeginParse($13,2); break; } - case 5: { - $11 = HEAP32[$pParse>>2]|0; - _sqlite3BeginParse($11,0); + case 8: { + $14 = HEAP32[$pParse>>2]|0; + _sqlite3FinishCoding($14); break; } - case 19: { - $25 = HEAP32[$pParse>>2]|0; - _sqlite3RollbackTransaction($25); + case 9: { + $15 = HEAP32[$pParse>>2]|0; + $16 = HEAP32[$yymsp>>2]|0; + $17 = ((($16)) + -16|0); + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3BeginTransaction($15,$19); break; } - case 279: case 263: case 262: case 261: case 260: case 259: case 258: case 257: case 256: case 247: case 150: case 141: case 131: case 130: case 48: case 45: case 42: case 41: case 40: { - $120 = HEAP32[$yymsp>>2]|0; - $121 = (($120) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$121+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$121+4>>2]|0; + case 13: { + HEAP32[$yygotominor>>2] = 7; break; } - case 44: { - $122 = HEAP32[$pParse>>2]|0; - $123 = HEAP32[$yymsp>>2]|0; - $124 = (($123) + 4|0); - _sqlite3AddColumnType($122,$124); + case 117: case 115: case 16: case 15: case 14: { + $20 = HEAP32[$yymsp>>2]|0; + $21 = ((($20)) + 2|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + HEAP32[$yygotominor>>2] = $23; break; } - case 119: case 113: { - $439 = HEAP32[$yymsp>>2]|0; - $440 = (($439) + 4|0); - $441 = HEAP32[$440>>2]|0; - HEAP32[$yygotominor>>2] = $441; + case 18: case 17: { + $24 = HEAP32[$pParse>>2]|0; + _sqlite3CommitTransaction($24); break; } - case 114: { - $442 = HEAP32[$yymsp>>2]|0; - $443 = (($442) + 4|0); - $444 = HEAP32[$443>>2]|0; - HEAP32[$pRhs>>2] = $444; - $445 = HEAP32[$pRhs>>2]|0; - $446 = ($445|0)!=(0|0); - if ($446) { - $447 = HEAP32[$pRhs>>2]|0; - $448 = (($447) + 52|0); - $449 = HEAP32[$448>>2]|0; - $450 = ($449|0)!=(0|0); - if ($450) { - $451 = (($x) + 4|0); - HEAP32[$451>>2] = 0; - $452 = HEAP32[$pParse>>2]|0; - $453 = HEAP32[$pRhs>>2]|0; - $454 = (_sqlite3SrcListAppendFromTerm($452,0,0,0,$x,$453,0,0)|0); - HEAP32[$pFrom>>2] = $454; - $455 = HEAP32[$pParse>>2]|0; - $456 = HEAP32[$pFrom>>2]|0; - $457 = (_sqlite3SelectNew($455,0,$456,0,0,0,0,0,0,0)|0); - HEAP32[$pRhs>>2] = $457; - } - } - $458 = HEAP32[$pRhs>>2]|0; - $459 = ($458|0)!=(0|0); - if ($459) { - $460 = HEAP32[$yymsp>>2]|0; - $461 = (($460) + -16|0); - $462 = (($461) + 4|0); - $463 = HEAP32[$462>>2]|0; - $464 = $463&255; - $465 = HEAP32[$pRhs>>2]|0; - $466 = (($465) + 4|0); - HEAP8[$466>>0] = $464; - $467 = HEAP32[$yymsp>>2]|0; - $468 = (($467) + -32|0); - $469 = (($468) + 4|0); - $470 = HEAP32[$469>>2]|0; - $471 = HEAP32[$pRhs>>2]|0; - $472 = (($471) + 52|0); - HEAP32[$472>>2] = $470; - $473 = HEAP32[$yymsp>>2]|0; - $474 = (($473) + -16|0); - $475 = (($474) + 4|0); - $476 = HEAP32[$475>>2]|0; - $477 = ($476|0)!=(116); - if ($477) { - $478 = HEAP32[$pParse>>2]|0; - $479 = (($478) + 22|0); - HEAP8[$479>>0] = 1; - } - } else { - $480 = HEAP32[$pParse>>2]|0; - $481 = HEAP32[$480>>2]|0; - $482 = HEAP32[$yymsp>>2]|0; - $483 = (($482) + -32|0); - $484 = (($483) + 4|0); - $485 = HEAP32[$484>>2]|0; - _sqlite3SelectDelete($481,$485); - } - $486 = HEAP32[$pRhs>>2]|0; - HEAP32[$yygotominor>>2] = $486; + case 19: { + $25 = HEAP32[$pParse>>2]|0; + _sqlite3RollbackTransaction($25); break; } case 22: { $26 = HEAP32[$pParse>>2]|0; $27 = HEAP32[$yymsp>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); _sqlite3Savepoint($26,0,$28); break; } - case 58: { - $196 = HEAP32[$pParse>>2]|0; - $197 = HEAP32[$yymsp>>2]|0; - $198 = (($197) + 4|0); - $199 = HEAP32[$198>>2]|0; - $200 = (_sqlite3PExpr($196,157,$199,0,0)|0); - HEAP32[$v>>2] = $200; - $201 = HEAP32[$yymsp>>2]|0; - $202 = (($201) + -16|0); - $203 = (($202) + 4|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($v) + 4|0); - HEAP32[$205>>2] = $204; - $206 = HEAP32[$yymsp>>2]|0; - $207 = (($206) + 4|0); - $208 = (($207) + 8|0); - $209 = HEAP32[$208>>2]|0; - $210 = (($v) + 8|0); - HEAP32[$210>>2] = $209; - $211 = HEAP32[$pParse>>2]|0; - _sqlite3AddDefaultValue($211,$v); - break; - } - case 59: { - $212 = HEAP32[$pParse>>2]|0; - $213 = HEAP32[$yymsp>>2]|0; - $214 = (($213) + 4|0); - _spanExpr($v1,$212,97,$214); - $215 = HEAP32[$pParse>>2]|0; - _sqlite3AddDefaultValue($215,$v1); - break; - } - case 221: case 218: case 108: case 97: case 85: case 83: case 81: case 68: case 31: case 28: { - HEAP32[$yygotominor>>2] = 0; - break; - } case 23: { $29 = HEAP32[$pParse>>2]|0; $30 = HEAP32[$yymsp>>2]|0; - $31 = (($30) + 4|0); + $31 = ((($30)) + 4|0); _sqlite3Savepoint($29,1,$31); break; } - case 66: { - $252 = HEAP32[$pParse>>2]|0; - $253 = HEAP32[$yymsp>>2]|0; - $254 = (($253) + 4|0); - $255 = HEAP32[$254>>2]|0; - _sqlite3DeferForeignKey($252,$255); + case 24: { + $32 = HEAP32[$pParse>>2]|0; + $33 = HEAP32[$yymsp>>2]|0; + $34 = ((($33)) + 4|0); + _sqlite3Savepoint($32,2,$34); break; } - case 67: { - $256 = HEAP32[$pParse>>2]|0; - $257 = HEAP32[$yymsp>>2]|0; - $258 = (($257) + 4|0); - _sqlite3AddCollateType($256,$258); + case 26: { + $35 = HEAP32[$pParse>>2]|0; + $36 = HEAP32[$yymsp>>2]|0; + $37 = ((($36)) + -16|0); + $38 = ((($37)) + 4|0); + $39 = HEAP32[$yymsp>>2]|0; + $40 = ((($39)) + 4|0); + $41 = HEAP32[$yymsp>>2]|0; + $42 = ((($41)) + -64|0); + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$yymsp>>2]|0; + $46 = ((($45)) + -32|0); + $47 = ((($46)) + 4|0); + $48 = HEAP32[$47>>2]|0; + _sqlite3StartTable($35,$38,$40,$44,0,0,$48); break; } - case 70: { - HEAP32[$yygotominor>>2] = 0; + case 27: { + $49 = HEAP32[$pParse>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = ((($50)) + 248|0); + $52 = ((($51)) + 2|0); + HEAP8[$52>>0] = 0; + $53 = HEAP32[$yymsp>>2]|0; + $54 = ((($53)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$54>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$54+4>>2]|0; break; } - case 71: { - $259 = HEAP32[$yymsp>>2]|0; - $260 = (($259) + -16|0); - $261 = (($260) + 4|0); - $262 = HEAP32[$261>>2]|0; - $263 = HEAP32[$yymsp>>2]|0; - $264 = (($263) + 4|0); - $265 = (($264) + 4|0); - $266 = HEAP32[$265>>2]|0; - $267 = $266 ^ -1; - $268 = $262 & $267; - $269 = HEAP32[$yymsp>>2]|0; - $270 = (($269) + 4|0); - $271 = HEAP32[$270>>2]|0; - $272 = $268 | $271; - HEAP32[$yygotominor>>2] = $272; + case 221: case 218: case 108: case 97: case 85: case 83: case 81: case 68: case 31: case 28: { + HEAP32[$yygotominor>>2] = 0; break; } - case 73: case 72: { - HEAP32[$yygotominor>>2] = 0; - $273 = (($yygotominor) + 4|0); - HEAP32[$273>>2] = 0; + case 222: case 219: case 107: case 84: case 69: case 30: case 29: { + HEAP32[$yygotominor>>2] = 1; break; } - case 8: { - $14 = HEAP32[$pParse>>2]|0; - _sqlite3FinishCoding($14); + case 32: { + $55 = HEAP32[$pParse>>2]|0; + $56 = HEAP32[$yymsp>>2]|0; + $57 = ((($56)) + -32|0); + $58 = ((($57)) + 4|0); + $59 = HEAP32[$yymsp>>2]|0; + $60 = ((($59)) + -16|0); + $61 = ((($60)) + 4|0); + $62 = HEAP32[$yymsp>>2]|0; + $63 = ((($62)) + 4|0); + $64 = HEAP8[$63>>0]|0; + _sqlite3EndTable($55,$58,$61,$64,0); break; } case 33: { $65 = HEAP32[$pParse>>2]|0; $66 = HEAP32[$yymsp>>2]|0; - $67 = (($66) + 4|0); + $67 = ((($66)) + 4|0); $68 = HEAP32[$67>>2]|0; _sqlite3EndTable($65,0,0,0,$68); $69 = HEAP32[$pParse>>2]|0; $70 = HEAP32[$69>>2]|0; $71 = HEAP32[$yymsp>>2]|0; - $72 = (($71) + 4|0); + $72 = ((($71)) + 4|0); $73 = HEAP32[$72>>2]|0; _sqlite3SelectDelete($70,$73); break; } - case 13: { - HEAP32[$yygotominor>>2] = 7; + case 34: { + HEAP8[$yygotominor>>0] = 0; break; } - case 103: case 100: case 98: case 82: { - $283 = HEAP32[$yymsp>>2]|0; - $284 = (($283) + 4|0); - $285 = HEAP32[$284>>2]|0; - HEAP32[$yygotominor>>2] = $285; + case 35: { + $74 = HEAP32[$yymsp>>2]|0; + $75 = ((($74)) + 4|0); + $76 = ((($75)) + 4|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($77|0)==(5); + if ($78) { + $79 = HEAP32[$yymsp>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = (_sqlite3_strnicmp($81,18143,5)|0); + $83 = ($82|0)==(0); + if ($83) { + HEAP8[$yygotominor>>0] = 32; + break L1; + } + } + HEAP8[$yygotominor>>0] = 0; + $84 = HEAP32[$pParse>>2]|0; + $85 = HEAP32[$yymsp>>2]|0; + $86 = ((($85)) + 4|0); + $87 = ((($86)) + 4|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$yymsp>>2]|0; + $90 = ((($89)) + 4|0); + $91 = HEAP32[$90>>2]|0; + HEAP32[$vararg_buffer>>2] = $88; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $91; + _sqlite3ErrorMsg($84,18149,$vararg_buffer); break; } - case 86: { - $286 = (($yygotominor) + 4|0); - HEAP32[$286>>2] = 0; - HEAP32[$yygotominor>>2] = 0; + case 38: { + $92 = HEAP32[$yymsp>>2]|0; + $93 = ((($92)) + -32|0); + $94 = ((($93)) + 4|0); + $95 = HEAP32[$94>>2]|0; + HEAP32[$yygotominor>>2] = $95; + $96 = HEAP32[$pParse>>2]|0; + $97 = ((($96)) + 504|0); + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$yymsp>>2]|0; + $100 = ((($99)) + -32|0); + $101 = ((($100)) + 4|0); + $102 = HEAP32[$101>>2]|0; + $103 = $98; + $104 = $102; + $105 = (($103) - ($104))|0; + $106 = HEAP32[$pParse>>2]|0; + $107 = ((($106)) + 504|0); + $108 = ((($107)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = (($105) + ($109))|0; + $111 = ((($yygotominor)) + 4|0); + HEAP32[$111>>2] = $110; + break; + } + case 39: { + $112 = HEAP32[$pParse>>2]|0; + $113 = HEAP32[$yymsp>>2]|0; + $114 = ((($113)) + 4|0); + _sqlite3AddColumn($112,$114); + $115 = HEAP32[$yymsp>>2]|0; + $116 = ((($115)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$116>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$116+4>>2]|0; + $117 = HEAP32[$pParse>>2]|0; + $118 = ((($117)) + 320|0); + $119 = ((($118)) + 4|0); + HEAP32[$119>>2] = 0; + break; + } + case 279: case 263: case 262: case 261: case 260: case 259: case 258: case 257: case 256: case 247: case 150: case 141: case 131: case 130: case 48: case 45: case 42: case 41: case 40: { + $120 = HEAP32[$yymsp>>2]|0; + $121 = ((($120)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$121>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$121+4>>2]|0; + break; + } + case 44: { + $122 = HEAP32[$pParse>>2]|0; + $123 = HEAP32[$yymsp>>2]|0; + $124 = ((($123)) + 4|0); + _sqlite3AddColumnType($122,$124); + break; + } + case 46: { + $125 = HEAP32[$yymsp>>2]|0; + $126 = ((($125)) + -48|0); + $127 = ((($126)) + 4|0); + $128 = HEAP32[$127>>2]|0; + HEAP32[$yygotominor>>2] = $128; + $129 = HEAP32[$yymsp>>2]|0; + $130 = ((($129)) + 4|0); + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$yymsp>>2]|0; + $134 = ((($133)) + 4|0); + $135 = HEAP32[$134>>2]|0; + $136 = (($135) + ($132)|0); + $137 = HEAP32[$yymsp>>2]|0; + $138 = ((($137)) + -48|0); + $139 = ((($138)) + 4|0); + $140 = HEAP32[$139>>2]|0; + $141 = $136; + $142 = $140; + $143 = (($141) - ($142))|0; + $144 = ((($yygotominor)) + 4|0); + HEAP32[$144>>2] = $143; break; } case 47: { $145 = HEAP32[$yymsp>>2]|0; - $146 = (($145) + -80|0); - $147 = (($146) + 4|0); + $146 = ((($145)) + -80|0); + $147 = ((($146)) + 4|0); $148 = HEAP32[$147>>2]|0; HEAP32[$yygotominor>>2] = $148; $149 = HEAP32[$yymsp>>2]|0; - $150 = (($149) + 4|0); - $151 = (($150) + 4|0); + $150 = ((($149)) + 4|0); + $151 = ((($150)) + 4|0); $152 = HEAP32[$151>>2]|0; $153 = HEAP32[$yymsp>>2]|0; - $154 = (($153) + 4|0); + $154 = ((($153)) + 4|0); $155 = HEAP32[$154>>2]|0; $156 = (($155) + ($152)|0); $157 = HEAP32[$yymsp>>2]|0; - $158 = (($157) + -80|0); - $159 = (($158) + 4|0); + $158 = ((($157)) + -80|0); + $159 = ((($158)) + 4|0); $160 = HEAP32[$159>>2]|0; $161 = $156; $162 = $160; $163 = (($161) - ($162))|0; - $164 = (($yygotominor) + 4|0); + $164 = ((($yygotominor)) + 4|0); HEAP32[$164>>2] = $163; break; } - case 116: { - HEAP32[$yygotominor>>2] = 116; + case 49: { + $165 = HEAP32[$yymsp>>2]|0; + $166 = ((($165)) + -16|0); + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + HEAP32[$yygotominor>>2] = $168; + $169 = HEAP32[$yymsp>>2]|0; + $170 = ((($169)) + 4|0); + $171 = ((($170)) + 4|0); + $172 = HEAP32[$171>>2]|0; + $173 = HEAP32[$yymsp>>2]|0; + $174 = ((($173)) + 4|0); + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$yymsp>>2]|0; + $177 = ((($176)) + -16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = $175; + $181 = $179; + $182 = (($180) - ($181))|0; + $183 = (($172) + ($182))|0; + $184 = ((($yygotominor)) + 4|0); + HEAP32[$184>>2] = $183; break; } - case 109: { - $350 = HEAP32[$pParse>>2]|0; - $351 = HEAP32[$yymsp>>2]|0; - $352 = (($351) + -112|0); - $353 = (($352) + 4|0); - $354 = HEAP32[$yymsp>>2]|0; - $355 = (($354) + -48|0); - $356 = (($355) + 4|0); - $357 = HEAP32[$yymsp>>2]|0; - $358 = (($357) + -32|0); - $359 = (($358) + 4|0); - $360 = HEAP32[$yymsp>>2]|0; - $361 = (($360) + 4|0); - $362 = HEAP32[$361>>2]|0; - $363 = HEAP32[$yymsp>>2]|0; - $364 = (($363) + -96|0); - $365 = (($364) + 4|0); - $366 = HEAP32[$365>>2]|0; - $367 = HEAP32[$yymsp>>2]|0; - $368 = (($367) + -64|0); - $369 = (($368) + 4|0); - $370 = HEAP32[$369>>2]|0; - _sqlite3CreateView($350,$353,$356,$359,$362,$366,$370); + case 92: case 54: { + $185 = HEAP32[$pParse>>2]|0; + $186 = ((($185)) + 320|0); + $187 = HEAP32[$yymsp>>2]|0; + $188 = ((($187)) + 4|0); + ;HEAP32[$186>>2]=HEAP32[$188>>2]|0;HEAP32[$186+4>>2]=HEAP32[$188+4>>2]|0; + break; + } + case 57: case 55: { + $189 = HEAP32[$pParse>>2]|0; + $190 = HEAP32[$yymsp>>2]|0; + $191 = ((($190)) + 4|0); + _sqlite3AddDefaultValue($189,$191); + break; + } + case 56: { + $192 = HEAP32[$pParse>>2]|0; + $193 = HEAP32[$yymsp>>2]|0; + $194 = ((($193)) + -16|0); + $195 = ((($194)) + 4|0); + _sqlite3AddDefaultValue($192,$195); + break; + } + case 58: { + $196 = HEAP32[$pParse>>2]|0; + $197 = HEAP32[$yymsp>>2]|0; + $198 = ((($197)) + 4|0); + $199 = HEAP32[$198>>2]|0; + $200 = (_sqlite3PExpr($196,157,$199,0,0)|0); + HEAP32[$v>>2] = $200; + $201 = HEAP32[$yymsp>>2]|0; + $202 = ((($201)) + -16|0); + $203 = ((($202)) + 4|0); + $204 = HEAP32[$203>>2]|0; + $205 = ((($v)) + 4|0); + HEAP32[$205>>2] = $204; + $206 = HEAP32[$yymsp>>2]|0; + $207 = ((($206)) + 4|0); + $208 = ((($207)) + 8|0); + $209 = HEAP32[$208>>2]|0; + $210 = ((($v)) + 8|0); + HEAP32[$210>>2] = $209; + $211 = HEAP32[$pParse>>2]|0; + _sqlite3AddDefaultValue($211,$v); + break; + } + case 59: { + $212 = HEAP32[$pParse>>2]|0; + $213 = HEAP32[$yymsp>>2]|0; + $214 = ((($213)) + 4|0); + _spanExpr($v1,$212,97,$214); + $215 = HEAP32[$pParse>>2]|0; + _sqlite3AddDefaultValue($215,$v1); + break; + } + case 61: { + $216 = HEAP32[$pParse>>2]|0; + $217 = HEAP32[$yymsp>>2]|0; + $218 = ((($217)) + 4|0); + $219 = HEAP32[$218>>2]|0; + _sqlite3AddNotNull($216,$219); + break; + } + case 62: { + $220 = HEAP32[$pParse>>2]|0; + $221 = HEAP32[$yymsp>>2]|0; + $222 = ((($221)) + -16|0); + $223 = ((($222)) + 4|0); + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$yymsp>>2]|0; + $226 = ((($225)) + 4|0); + $227 = HEAP32[$226>>2]|0; + $228 = HEAP32[$yymsp>>2]|0; + $229 = ((($228)) + -32|0); + $230 = ((($229)) + 4|0); + $231 = HEAP32[$230>>2]|0; + _sqlite3AddPrimaryKey($220,0,$224,$227,$231); break; } case 63: { $232 = HEAP32[$pParse>>2]|0; $233 = HEAP32[$yymsp>>2]|0; - $234 = (($233) + 4|0); + $234 = ((($233)) + 4|0); $235 = HEAP32[$234>>2]|0; (_sqlite3CreateIndex($232,0,0,0,0,$235,0,0,0,0)|0); break; } - case 121: { - $530 = HEAP32[$pParse>>2]|0; - $531 = HEAP32[$yymsp>>2]|0; - $532 = (($531) + -16|0); - $533 = (($532) + 4|0); - $534 = HEAP32[$533>>2]|0; - $535 = (_sqlite3SelectNew($530,$534,0,0,0,0,0,128,0,0)|0); - HEAP32[$pRight>>2] = $535; - $536 = HEAP32[$pRight>>2]|0; - $537 = ($536|0)!=(0|0); - if ($537) { - $538 = HEAP32[$pRight>>2]|0; - $539 = (($538) + 4|0); - HEAP8[$539>>0] = 116; - $540 = HEAP32[$yymsp>>2]|0; - $541 = (($540) + -64|0); - $542 = (($541) + 4|0); - $543 = HEAP32[$542>>2]|0; - $544 = HEAP32[$pRight>>2]|0; - $545 = (($544) + 52|0); - HEAP32[$545>>2] = $543; - $546 = HEAP32[$pRight>>2]|0; - HEAP32[$yygotominor>>2] = $546; - break L1; - } else { - $547 = HEAP32[$yymsp>>2]|0; - $548 = (($547) + -64|0); - $549 = (($548) + 4|0); - $550 = HEAP32[$549>>2]|0; - HEAP32[$yygotominor>>2] = $550; - break L1; - } + case 64: { + $236 = HEAP32[$pParse>>2]|0; + $237 = HEAP32[$yymsp>>2]|0; + $238 = ((($237)) + -16|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + _sqlite3AddCheckConstraint($236,$240); break; } - case 122: { - HEAP16[$yygotominor>>1] = 1; + case 65: { + $241 = HEAP32[$pParse>>2]|0; + $242 = HEAP32[$yymsp>>2]|0; + $243 = ((($242)) + -32|0); + $244 = ((($243)) + 4|0); + $245 = HEAP32[$yymsp>>2]|0; + $246 = ((($245)) + -16|0); + $247 = ((($246)) + 4|0); + $248 = HEAP32[$247>>2]|0; + $249 = HEAP32[$yymsp>>2]|0; + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; + _sqlite3CreateForeignKey($241,0,$244,$248,$251); break; } - case 124: case 123: { - HEAP16[$yygotominor>>1] = 0; + case 66: { + $252 = HEAP32[$pParse>>2]|0; + $253 = HEAP32[$yymsp>>2]|0; + $254 = ((($253)) + 4|0); + $255 = HEAP32[$254>>2]|0; + _sqlite3DeferForeignKey($252,$255); break; } - case 243: case 125: { - $551 = HEAP32[$yymsp>>2]|0; - $552 = (($551) + -16|0); - $553 = (($552) + 4|0); - $554 = HEAP32[$553>>2]|0; - HEAP32[$yygotominor>>2] = $554; + case 67: { + $256 = HEAP32[$pParse>>2]|0; + $257 = HEAP32[$yymsp>>2]|0; + $258 = ((($257)) + 4|0); + _sqlite3AddCollateType($256,$258); break; } - case 93: { - $293 = HEAP32[$pParse>>2]|0; - $294 = HEAP32[$yymsp>>2]|0; - $295 = (($294) + -48|0); - $296 = (($295) + 4|0); - $297 = HEAP32[$296>>2]|0; - $298 = HEAP32[$yymsp>>2]|0; - $299 = (($298) + 4|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[$yymsp>>2]|0; - $302 = (($301) + -32|0); - $303 = (($302) + 4|0); - $304 = HEAP32[$303>>2]|0; - _sqlite3AddPrimaryKey($293,$297,$300,$304,0); + case 70: { + HEAP32[$yygotominor>>2] = 0; break; } - case 26: { - $35 = HEAP32[$pParse>>2]|0; - $36 = HEAP32[$yymsp>>2]|0; - $37 = (($36) + -16|0); - $38 = (($37) + 4|0); - $39 = HEAP32[$yymsp>>2]|0; - $40 = (($39) + 4|0); - $41 = HEAP32[$yymsp>>2]|0; - $42 = (($41) + -64|0); - $43 = (($42) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$yymsp>>2]|0; - $46 = (($45) + -32|0); - $47 = (($46) + 4|0); - $48 = HEAP32[$47>>2]|0; - _sqlite3StartTable($35,$38,$40,$44,0,0,$48); + case 71: { + $259 = HEAP32[$yymsp>>2]|0; + $260 = ((($259)) + -16|0); + $261 = ((($260)) + 4|0); + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$yymsp>>2]|0; + $264 = ((($263)) + 4|0); + $265 = ((($264)) + 4|0); + $266 = HEAP32[$265>>2]|0; + $267 = $266 ^ -1; + $268 = $262 & $267; + $269 = HEAP32[$yymsp>>2]|0; + $270 = ((($269)) + 4|0); + $271 = HEAP32[$270>>2]|0; + $272 = $268 | $271; + HEAP32[$yygotominor>>2] = $272; break; } - case 27: { - $49 = HEAP32[$pParse>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 248|0); - $52 = (($51) + 2|0); - HEAP8[$52>>0] = 0; - $53 = HEAP32[$yymsp>>2]|0; - $54 = (($53) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$54+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$54+4>>2]|0; + case 73: case 72: { + HEAP32[$yygotominor>>2] = 0; + $273 = ((($yygotominor)) + 4|0); + HEAP32[$273>>2] = 0; break; } - case 118: { - $487 = HEAP32[$pParse>>2]|0; - $488 = HEAP32[$yymsp>>2]|0; - $489 = (($488) + -96|0); - $490 = (($489) + 4|0); - $491 = HEAP32[$490>>2]|0; - $492 = HEAP32[$yymsp>>2]|0; - $493 = (($492) + -80|0); - $494 = (($493) + 4|0); - $495 = HEAP32[$494>>2]|0; - $496 = HEAP32[$yymsp>>2]|0; - $497 = (($496) + -64|0); - $498 = (($497) + 4|0); - $499 = HEAP32[$498>>2]|0; - $500 = HEAP32[$yymsp>>2]|0; - $501 = (($500) + -48|0); - $502 = (($501) + 4|0); - $503 = HEAP32[$502>>2]|0; - $504 = HEAP32[$yymsp>>2]|0; - $505 = (($504) + -32|0); - $506 = (($505) + 4|0); - $507 = HEAP32[$506>>2]|0; - $508 = HEAP32[$yymsp>>2]|0; - $509 = (($508) + -16|0); - $510 = (($509) + 4|0); - $511 = HEAP32[$510>>2]|0; - $512 = HEAP32[$yymsp>>2]|0; - $513 = (($512) + -112|0); - $514 = (($513) + 4|0); - $515 = HEAP16[$514>>1]|0; - $516 = HEAP32[$yymsp>>2]|0; - $517 = (($516) + 4|0); - $518 = HEAP32[$517>>2]|0; - $519 = HEAP32[$yymsp>>2]|0; - $520 = (($519) + 4|0); - $521 = (($520) + 4|0); - $522 = HEAP32[$521>>2]|0; - $523 = (_sqlite3SelectNew($487,$491,$495,$499,$503,$507,$511,$515,$518,$522)|0); - HEAP32[$yygotominor>>2] = $523; + case 74: { + $274 = HEAP32[$yymsp>>2]|0; + $275 = ((($274)) + 4|0); + $276 = HEAP32[$275>>2]|0; + HEAP32[$yygotominor>>2] = $276; + $277 = ((($yygotominor)) + 4|0); + HEAP32[$277>>2] = 255; break; } - case 120: { - $524 = HEAP32[$pParse>>2]|0; - $525 = HEAP32[$yymsp>>2]|0; - $526 = (($525) + -16|0); - $527 = (($526) + 4|0); - $528 = HEAP32[$527>>2]|0; - $529 = (_sqlite3SelectNew($524,$528,0,0,0,0,0,128,0,0)|0); - HEAP32[$yygotominor>>2] = $529; + case 75: { + $278 = HEAP32[$yymsp>>2]|0; + $279 = ((($278)) + 4|0); + $280 = HEAP32[$279>>2]|0; + $281 = $280 << 8; + HEAP32[$yygotominor>>2] = $281; + $282 = ((($yygotominor)) + 4|0); + HEAP32[$282>>2] = 65280; break; } - case 134: { - $613 = HEAP32[$yymsp>>2]|0; - $614 = (($613) + 4|0); - $615 = HEAP32[$614>>2]|0; - HEAP32[$yygotominor>>2] = $615; - $616 = HEAP32[$yygotominor>>2]|0; - _sqlite3SrcListShiftJoinType($616); + case 76: { + HEAP32[$yygotominor>>2] = 7; break; } - case 135: { - $617 = HEAP32[$yymsp>>2]|0; - $618 = (($617) + -16|0); - $619 = (($618) + 4|0); - $620 = HEAP32[$619>>2]|0; - HEAP32[$yygotominor>>2] = $620; - $621 = HEAP32[$yygotominor>>2]|0; - $622 = ($621|0)!=(0|0); - if ($622) { - $623 = HEAP32[$yygotominor>>2]|0; - $624 = HEAP32[$623>>2]|0; - $625 = ($624|0)>(0); - if ($625) { - $626 = HEAP32[$yymsp>>2]|0; - $627 = (($626) + 4|0); - $628 = HEAP32[$627>>2]|0; - $629 = $628&255; - $630 = HEAP32[$yygotominor>>2]|0; - $631 = HEAP32[$630>>2]|0; - $632 = (($631) - 1)|0; - $633 = HEAP32[$yygotominor>>2]|0; - $634 = (($633) + 8|0); - $635 = (($634) + (($632*72)|0)|0); - $636 = (($635) + 36|0); - HEAP8[$636>>0] = $629; - } - } + case 77: { + HEAP32[$yygotominor>>2] = 8; break; } - case 136: { + case 78: { + HEAP32[$yygotominor>>2] = 9; + break; + } + case 79: { + HEAP32[$yygotominor>>2] = 6; + break; + } + case 80: { HEAP32[$yygotominor>>2] = 0; break; } - case 39: { - $112 = HEAP32[$pParse>>2]|0; - $113 = HEAP32[$yymsp>>2]|0; - $114 = (($113) + 4|0); - _sqlite3AddColumn($112,$114); - $115 = HEAP32[$yymsp>>2]|0; - $116 = (($115) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$116+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$116+4>>2]|0; - $117 = HEAP32[$pParse>>2]|0; - $118 = (($117) + 320|0); - $119 = (($118) + 4|0); - HEAP32[$119>>2] = 0; + case 103: case 100: case 98: case 82: { + $283 = HEAP32[$yymsp>>2]|0; + $284 = ((($283)) + 4|0); + $285 = HEAP32[$284>>2]|0; + HEAP32[$yygotominor>>2] = $285; break; } - case 106: { - $342 = HEAP32[$pParse>>2]|0; - $343 = HEAP32[$yymsp>>2]|0; - $344 = (($343) + 4|0); - $345 = HEAP32[$344>>2]|0; - $346 = HEAP32[$yymsp>>2]|0; - $347 = (($346) + -16|0); - $348 = (($347) + 4|0); - $349 = HEAP32[$348>>2]|0; - _sqlite3DropTable($342,$345,0,$349); + case 86: { + $286 = ((($yygotominor)) + 4|0); + HEAP32[$286>>2] = 0; + HEAP32[$yygotominor>>2] = 0; break; } - case 61: { - $216 = HEAP32[$pParse>>2]|0; - $217 = HEAP32[$yymsp>>2]|0; - $218 = (($217) + 4|0); - $219 = HEAP32[$218>>2]|0; - _sqlite3AddNotNull($216,$219); + case 87: { + $287 = HEAP32[$yymsp>>2]|0; + $288 = ((($287)) + -16|0); + $289 = ((($288)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$289>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$289+4>>2]|0; break; } - case 38: { - $92 = HEAP32[$yymsp>>2]|0; - $93 = (($92) + -32|0); - $94 = (($93) + 4|0); - $95 = HEAP32[$94>>2]|0; - HEAP32[$yygotominor>>2] = $95; - $96 = HEAP32[$pParse>>2]|0; - $97 = (($96) + 504|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$yymsp>>2]|0; - $100 = (($99) + -32|0); - $101 = (($100) + 4|0); - $102 = HEAP32[$101>>2]|0; - $103 = $98; - $104 = $102; - $105 = (($103) - ($104))|0; - $106 = HEAP32[$pParse>>2]|0; - $107 = (($106) + 504|0); - $108 = (($107) + 4|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($105) + ($109))|0; - $111 = (($yygotominor) + 4|0); - HEAP32[$111>>2] = $110; + case 90: { + $290 = HEAP32[$pParse>>2]|0; + $291 = ((($290)) + 320|0); + $292 = ((($291)) + 4|0); + HEAP32[$292>>2] = 0; break; } - case 99: { - HEAP32[$yygotominor>>2] = 10; + case 93: { + $293 = HEAP32[$pParse>>2]|0; + $294 = HEAP32[$yymsp>>2]|0; + $295 = ((($294)) + -48|0); + $296 = ((($295)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = HEAP32[$yymsp>>2]|0; + $299 = ((($298)) + 4|0); + $300 = HEAP32[$299>>2]|0; + $301 = HEAP32[$yymsp>>2]|0; + $302 = ((($301)) + -32|0); + $303 = ((($302)) + 4|0); + $304 = HEAP32[$303>>2]|0; + _sqlite3AddPrimaryKey($293,$297,$300,$304,0); break; } - case 101: { - HEAP8[$yygotominor>>0] = 10; + case 94: { + $305 = HEAP32[$pParse>>2]|0; + $306 = HEAP32[$yymsp>>2]|0; + $307 = ((($306)) + -32|0); + $308 = ((($307)) + 4|0); + $309 = HEAP32[$308>>2]|0; + $310 = HEAP32[$yymsp>>2]|0; + $311 = ((($310)) + 4|0); + $312 = HEAP32[$311>>2]|0; + (_sqlite3CreateIndex($305,0,0,0,$309,$312,0,0,0,0)|0); + break; + } + case 95: { + $313 = HEAP32[$pParse>>2]|0; + $314 = HEAP32[$yymsp>>2]|0; + $315 = ((($314)) + -32|0); + $316 = ((($315)) + 4|0); + $317 = HEAP32[$316>>2]|0; + _sqlite3AddCheckConstraint($313,$317); break; } case 96: { $318 = HEAP32[$pParse>>2]|0; $319 = HEAP32[$yymsp>>2]|0; - $320 = (($319) + -96|0); - $321 = (($320) + 4|0); + $320 = ((($319)) + -96|0); + $321 = ((($320)) + 4|0); $322 = HEAP32[$321>>2]|0; $323 = HEAP32[$yymsp>>2]|0; - $324 = (($323) + -48|0); - $325 = (($324) + 4|0); + $324 = ((($323)) + -48|0); + $325 = ((($324)) + 4|0); $326 = HEAP32[$yymsp>>2]|0; - $327 = (($326) + -32|0); - $328 = (($327) + 4|0); + $327 = ((($326)) + -32|0); + $328 = ((($327)) + 4|0); $329 = HEAP32[$328>>2]|0; $330 = HEAP32[$yymsp>>2]|0; - $331 = (($330) + -16|0); - $332 = (($331) + 4|0); + $331 = ((($330)) + -16|0); + $332 = ((($331)) + 4|0); $333 = HEAP32[$332>>2]|0; _sqlite3CreateForeignKey($318,$322,$325,$329,$333); $334 = HEAP32[$pParse>>2]|0; $335 = HEAP32[$yymsp>>2]|0; - $336 = (($335) + 4|0); + $336 = ((($335)) + 4|0); $337 = HEAP32[$336>>2]|0; _sqlite3DeferForeignKey($334,$337); break; } - case 65: { - $241 = HEAP32[$pParse>>2]|0; - $242 = HEAP32[$yymsp>>2]|0; - $243 = (($242) + -32|0); - $244 = (($243) + 4|0); - $245 = HEAP32[$yymsp>>2]|0; - $246 = (($245) + -16|0); - $247 = (($246) + 4|0); - $248 = HEAP32[$247>>2]|0; - $249 = HEAP32[$yymsp>>2]|0; - $250 = (($249) + 4|0); - $251 = HEAP32[$250>>2]|0; - _sqlite3CreateForeignKey($241,0,$244,$248,$251); - break; - } - case 49: { - $165 = HEAP32[$yymsp>>2]|0; - $166 = (($165) + -16|0); - $167 = (($166) + 4|0); - $168 = HEAP32[$167>>2]|0; - HEAP32[$yygotominor>>2] = $168; - $169 = HEAP32[$yymsp>>2]|0; - $170 = (($169) + 4|0); - $171 = (($170) + 4|0); - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$yymsp>>2]|0; - $174 = (($173) + 4|0); - $175 = HEAP32[$174>>2]|0; - $176 = HEAP32[$yymsp>>2]|0; - $177 = (($176) + -16|0); - $178 = (($177) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = $175; - $181 = $179; - $182 = (($180) - ($181))|0; - $183 = (($172) + ($182))|0; - $184 = (($yygotominor) + 4|0); - HEAP32[$184>>2] = $183; + case 99: { + HEAP32[$yygotominor>>2] = 10; break; } - case 57: case 55: { - $189 = HEAP32[$pParse>>2]|0; - $190 = HEAP32[$yymsp>>2]|0; - $191 = (($190) + 4|0); - _sqlite3AddDefaultValue($189,$191); + case 101: { + HEAP8[$yygotominor>>0] = 10; break; } case 102: { $338 = HEAP32[$yymsp>>2]|0; - $339 = (($338) + 4|0); + $339 = ((($338)) + 4|0); $340 = HEAP32[$339>>2]|0; $341 = $340&255; HEAP8[$yygotominor>>0] = $341; @@ -61878,50 +60713,330 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = 5; break; } - case 95: { - $313 = HEAP32[$pParse>>2]|0; - $314 = HEAP32[$yymsp>>2]|0; - $315 = (($314) + -32|0); - $316 = (($315) + 4|0); - $317 = HEAP32[$316>>2]|0; - _sqlite3AddCheckConstraint($313,$317); - break; - } - case 64: { - $236 = HEAP32[$pParse>>2]|0; - $237 = HEAP32[$yymsp>>2]|0; - $238 = (($237) + -16|0); - $239 = (($238) + 4|0); - $240 = HEAP32[$239>>2]|0; - _sqlite3AddCheckConstraint($236,$240); - break; - } - case 87: { - $287 = HEAP32[$yymsp>>2]|0; - $288 = (($287) + -16|0); - $289 = (($288) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$289+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$289+4>>2]|0; + case 106: { + $342 = HEAP32[$pParse>>2]|0; + $343 = HEAP32[$yymsp>>2]|0; + $344 = ((($343)) + 4|0); + $345 = HEAP32[$344>>2]|0; + $346 = HEAP32[$yymsp>>2]|0; + $347 = ((($346)) + -16|0); + $348 = ((($347)) + 4|0); + $349 = HEAP32[$348>>2]|0; + _sqlite3DropTable($342,$345,0,$349); break; } - case 90: { - $290 = HEAP32[$pParse>>2]|0; - $291 = (($290) + 320|0); - $292 = (($291) + 4|0); - HEAP32[$292>>2] = 0; + case 109: { + $350 = HEAP32[$pParse>>2]|0; + $351 = HEAP32[$yymsp>>2]|0; + $352 = ((($351)) + -112|0); + $353 = ((($352)) + 4|0); + $354 = HEAP32[$yymsp>>2]|0; + $355 = ((($354)) + -48|0); + $356 = ((($355)) + 4|0); + $357 = HEAP32[$yymsp>>2]|0; + $358 = ((($357)) + -32|0); + $359 = ((($358)) + 4|0); + $360 = HEAP32[$yymsp>>2]|0; + $361 = ((($360)) + 4|0); + $362 = HEAP32[$361>>2]|0; + $363 = HEAP32[$yymsp>>2]|0; + $364 = ((($363)) + -96|0); + $365 = ((($364)) + 4|0); + $366 = HEAP32[$365>>2]|0; + $367 = HEAP32[$yymsp>>2]|0; + $368 = ((($367)) + -64|0); + $369 = ((($368)) + 4|0); + $370 = HEAP32[$369>>2]|0; + _sqlite3CreateView($350,$353,$356,$359,$362,$366,$370); break; } case 110: { $371 = HEAP32[$pParse>>2]|0; $372 = HEAP32[$yymsp>>2]|0; - $373 = (($372) + 4|0); + $373 = ((($372)) + 4|0); $374 = HEAP32[$373>>2]|0; $375 = HEAP32[$yymsp>>2]|0; - $376 = (($375) + -16|0); - $377 = (($376) + 4|0); + $376 = ((($375)) + -16|0); + $377 = ((($376)) + 4|0); $378 = HEAP32[$377>>2]|0; _sqlite3DropTable($371,$374,1,$378); break; } + case 111: { + ;HEAP32[$dest>>2]=HEAP32[2256>>2]|0;HEAP32[$dest+4>>2]=HEAP32[2256+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[2256+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[2256+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[2256+16>>2]|0; + $379 = HEAP32[$pParse>>2]|0; + $380 = HEAP32[$yymsp>>2]|0; + $381 = ((($380)) + 4|0); + $382 = HEAP32[$381>>2]|0; + (_sqlite3Select($379,$382,$dest)|0); + $383 = HEAP32[$pParse>>2]|0; + $384 = HEAP32[$383>>2]|0; + $385 = HEAP32[$yymsp>>2]|0; + $386 = ((($385)) + 4|0); + $387 = HEAP32[$386>>2]|0; + _sqlite3SelectDelete($384,$387); + break; + } + case 112: { + $388 = HEAP32[$yymsp>>2]|0; + $389 = ((($388)) + 4|0); + $390 = HEAP32[$389>>2]|0; + HEAP32[$p>>2] = $390; + $391 = HEAP32[$p>>2]|0; + $392 = ($391|0)!=(0|0); + if ($392) { + HEAP32[$cnt>>2] = 0; + $393 = HEAP32[$yymsp>>2]|0; + $394 = ((($393)) + -16|0); + $395 = ((($394)) + 4|0); + $396 = HEAP32[$395>>2]|0; + $397 = HEAP32[$p>>2]|0; + $398 = ((($397)) + 68|0); + HEAP32[$398>>2] = $396; + $399 = HEAP32[$p>>2]|0; + $400 = ((($399)) + 52|0); + $401 = HEAP32[$400>>2]|0; + $402 = ($401|0)!=(0|0); + if ($402) { + HEAP32[$pNext>>2] = 0; + $403 = HEAP32[$p>>2]|0; + HEAP32[$pLoop>>2] = $403; + while(1) { + $404 = HEAP32[$pLoop>>2]|0; + $405 = ($404|0)!=(0|0); + if (!($405)) { + break; + } + $406 = HEAP32[$pNext>>2]|0; + $407 = HEAP32[$pLoop>>2]|0; + $408 = ((($407)) + 56|0); + HEAP32[$408>>2] = $406; + $409 = HEAP32[$pLoop>>2]|0; + $410 = ((($409)) + 6|0); + $411 = HEAP16[$410>>1]|0; + $412 = $411&65535; + $413 = $412 | 64; + $414 = $413&65535; + HEAP16[$410>>1] = $414; + $415 = HEAP32[$pLoop>>2]|0; + HEAP32[$pNext>>2] = $415; + $416 = HEAP32[$pLoop>>2]|0; + $417 = ((($416)) + 52|0); + $418 = HEAP32[$417>>2]|0; + HEAP32[$pLoop>>2] = $418; + $419 = HEAP32[$cnt>>2]|0; + $420 = (($419) + 1)|0; + HEAP32[$cnt>>2] = $420; + } + $421 = HEAP32[$pParse>>2]|0; + $422 = HEAP32[$421>>2]|0; + $423 = ((($422)) + 88|0); + $424 = ((($423)) + 16|0); + $425 = HEAP32[$424>>2]|0; + HEAP32[$mxSelect>>2] = $425; + $426 = HEAP32[$mxSelect>>2]|0; + $427 = ($426|0)!=(0); + if ($427) { + $428 = HEAP32[$cnt>>2]|0; + $429 = HEAP32[$mxSelect>>2]|0; + $430 = ($428|0)>($429|0); + if ($430) { + $431 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($431,18176,$vararg_buffer2); + } + } + } + } else { + $432 = HEAP32[$pParse>>2]|0; + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[$yymsp>>2]|0; + $435 = ((($434)) + -16|0); + $436 = ((($435)) + 4|0); + $437 = HEAP32[$436>>2]|0; + _sqlite3WithDelete($433,$437); + } + $438 = HEAP32[$p>>2]|0; + HEAP32[$yygotominor>>2] = $438; + break; + } + case 119: case 113: { + $439 = HEAP32[$yymsp>>2]|0; + $440 = ((($439)) + 4|0); + $441 = HEAP32[$440>>2]|0; + HEAP32[$yygotominor>>2] = $441; + break; + } + case 114: { + $442 = HEAP32[$yymsp>>2]|0; + $443 = ((($442)) + 4|0); + $444 = HEAP32[$443>>2]|0; + HEAP32[$pRhs>>2] = $444; + $445 = HEAP32[$pRhs>>2]|0; + $446 = ($445|0)!=(0|0); + if ($446) { + $447 = HEAP32[$pRhs>>2]|0; + $448 = ((($447)) + 52|0); + $449 = HEAP32[$448>>2]|0; + $450 = ($449|0)!=(0|0); + if ($450) { + $451 = ((($x)) + 4|0); + HEAP32[$451>>2] = 0; + $452 = HEAP32[$pParse>>2]|0; + $453 = HEAP32[$pRhs>>2]|0; + $454 = (_sqlite3SrcListAppendFromTerm($452,0,0,0,$x,$453,0,0)|0); + HEAP32[$pFrom>>2] = $454; + $455 = HEAP32[$pParse>>2]|0; + $456 = HEAP32[$pFrom>>2]|0; + $457 = (_sqlite3SelectNew($455,0,$456,0,0,0,0,0,0,0)|0); + HEAP32[$pRhs>>2] = $457; + } + } + $458 = HEAP32[$pRhs>>2]|0; + $459 = ($458|0)!=(0|0); + if ($459) { + $460 = HEAP32[$yymsp>>2]|0; + $461 = ((($460)) + -16|0); + $462 = ((($461)) + 4|0); + $463 = HEAP32[$462>>2]|0; + $464 = $463&255; + $465 = HEAP32[$pRhs>>2]|0; + $466 = ((($465)) + 4|0); + HEAP8[$466>>0] = $464; + $467 = HEAP32[$yymsp>>2]|0; + $468 = ((($467)) + -32|0); + $469 = ((($468)) + 4|0); + $470 = HEAP32[$469>>2]|0; + $471 = HEAP32[$pRhs>>2]|0; + $472 = ((($471)) + 52|0); + HEAP32[$472>>2] = $470; + $473 = HEAP32[$yymsp>>2]|0; + $474 = ((($473)) + -16|0); + $475 = ((($474)) + 4|0); + $476 = HEAP32[$475>>2]|0; + $477 = ($476|0)!=(116); + if ($477) { + $478 = HEAP32[$pParse>>2]|0; + $479 = ((($478)) + 22|0); + HEAP8[$479>>0] = 1; + } + } else { + $480 = HEAP32[$pParse>>2]|0; + $481 = HEAP32[$480>>2]|0; + $482 = HEAP32[$yymsp>>2]|0; + $483 = ((($482)) + -32|0); + $484 = ((($483)) + 4|0); + $485 = HEAP32[$484>>2]|0; + _sqlite3SelectDelete($481,$485); + } + $486 = HEAP32[$pRhs>>2]|0; + HEAP32[$yygotominor>>2] = $486; + break; + } + case 116: { + HEAP32[$yygotominor>>2] = 116; + break; + } + case 118: { + $487 = HEAP32[$pParse>>2]|0; + $488 = HEAP32[$yymsp>>2]|0; + $489 = ((($488)) + -96|0); + $490 = ((($489)) + 4|0); + $491 = HEAP32[$490>>2]|0; + $492 = HEAP32[$yymsp>>2]|0; + $493 = ((($492)) + -80|0); + $494 = ((($493)) + 4|0); + $495 = HEAP32[$494>>2]|0; + $496 = HEAP32[$yymsp>>2]|0; + $497 = ((($496)) + -64|0); + $498 = ((($497)) + 4|0); + $499 = HEAP32[$498>>2]|0; + $500 = HEAP32[$yymsp>>2]|0; + $501 = ((($500)) + -48|0); + $502 = ((($501)) + 4|0); + $503 = HEAP32[$502>>2]|0; + $504 = HEAP32[$yymsp>>2]|0; + $505 = ((($504)) + -32|0); + $506 = ((($505)) + 4|0); + $507 = HEAP32[$506>>2]|0; + $508 = HEAP32[$yymsp>>2]|0; + $509 = ((($508)) + -16|0); + $510 = ((($509)) + 4|0); + $511 = HEAP32[$510>>2]|0; + $512 = HEAP32[$yymsp>>2]|0; + $513 = ((($512)) + -112|0); + $514 = ((($513)) + 4|0); + $515 = HEAP16[$514>>1]|0; + $516 = HEAP32[$yymsp>>2]|0; + $517 = ((($516)) + 4|0); + $518 = HEAP32[$517>>2]|0; + $519 = HEAP32[$yymsp>>2]|0; + $520 = ((($519)) + 4|0); + $521 = ((($520)) + 4|0); + $522 = HEAP32[$521>>2]|0; + $523 = (_sqlite3SelectNew($487,$491,$495,$499,$503,$507,$511,$515,$518,$522)|0); + HEAP32[$yygotominor>>2] = $523; + break; + } + case 120: { + $524 = HEAP32[$pParse>>2]|0; + $525 = HEAP32[$yymsp>>2]|0; + $526 = ((($525)) + -16|0); + $527 = ((($526)) + 4|0); + $528 = HEAP32[$527>>2]|0; + $529 = (_sqlite3SelectNew($524,$528,0,0,0,0,0,128,0,0)|0); + HEAP32[$yygotominor>>2] = $529; + break; + } + case 121: { + $530 = HEAP32[$pParse>>2]|0; + $531 = HEAP32[$yymsp>>2]|0; + $532 = ((($531)) + -16|0); + $533 = ((($532)) + 4|0); + $534 = HEAP32[$533>>2]|0; + $535 = (_sqlite3SelectNew($530,$534,0,0,0,0,0,128,0,0)|0); + HEAP32[$pRight>>2] = $535; + $536 = HEAP32[$pRight>>2]|0; + $537 = ($536|0)!=(0|0); + if ($537) { + $538 = HEAP32[$pRight>>2]|0; + $539 = ((($538)) + 4|0); + HEAP8[$539>>0] = 116; + $540 = HEAP32[$yymsp>>2]|0; + $541 = ((($540)) + -64|0); + $542 = ((($541)) + 4|0); + $543 = HEAP32[$542>>2]|0; + $544 = HEAP32[$pRight>>2]|0; + $545 = ((($544)) + 52|0); + HEAP32[$545>>2] = $543; + $546 = HEAP32[$pRight>>2]|0; + HEAP32[$yygotominor>>2] = $546; + break L1; + } else { + $547 = HEAP32[$yymsp>>2]|0; + $548 = ((($547)) + -64|0); + $549 = ((($548)) + 4|0); + $550 = HEAP32[$549>>2]|0; + HEAP32[$yygotominor>>2] = $550; + break L1; + } + break; + } + case 122: { + HEAP16[$yygotominor>>1] = 1; + break; + } + case 124: case 123: { + HEAP16[$yygotominor>>1] = 0; + break; + } + case 243: case 125: { + $551 = HEAP32[$yymsp>>2]|0; + $552 = ((($551)) + -16|0); + $553 = ((($552)) + 4|0); + $554 = HEAP32[$553>>2]|0; + HEAP32[$yygotominor>>2] = $554; + break; + } case 242: case 236: case 161: case 154: case 126: { HEAP32[$yygotominor>>2] = 0; break; @@ -61929,32 +61044,32 @@ function _yy_reduce($yypParser,$yyruleno) { case 127: { $555 = HEAP32[$pParse>>2]|0; $556 = HEAP32[$yymsp>>2]|0; - $557 = (($556) + -32|0); - $558 = (($557) + 4|0); + $557 = ((($556)) + -32|0); + $558 = ((($557)) + 4|0); $559 = HEAP32[$558>>2]|0; $560 = HEAP32[$yymsp>>2]|0; - $561 = (($560) + -16|0); - $562 = (($561) + 4|0); + $561 = ((($560)) + -16|0); + $562 = ((($561)) + 4|0); $563 = HEAP32[$562>>2]|0; $564 = (_sqlite3ExprListAppend($555,$559,$563)|0); HEAP32[$yygotominor>>2] = $564; $565 = HEAP32[$yymsp>>2]|0; - $566 = (($565) + 4|0); - $567 = (($566) + 4|0); + $566 = ((($565)) + 4|0); + $567 = ((($566)) + 4|0); $568 = HEAP32[$567>>2]|0; $569 = ($568>>>0)>(0); if ($569) { $570 = HEAP32[$pParse>>2]|0; $571 = HEAP32[$yygotominor>>2]|0; $572 = HEAP32[$yymsp>>2]|0; - $573 = (($572) + 4|0); + $573 = ((($572)) + 4|0); _sqlite3ExprListSetName($570,$571,$573,1); } $574 = HEAP32[$pParse>>2]|0; $575 = HEAP32[$yygotominor>>2]|0; $576 = HEAP32[$yymsp>>2]|0; - $577 = (($576) + -16|0); - $578 = (($577) + 4|0); + $577 = ((($576)) + -16|0); + $578 = ((($577)) + 4|0); _sqlite3ExprListSetSpan($574,$575,$578); break; } @@ -61965,29 +61080,24 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$p2>>2] = $581; $582 = HEAP32[$pParse>>2]|0; $583 = HEAP32[$yymsp>>2]|0; - $584 = (($583) + -16|0); - $585 = (($584) + 4|0); + $584 = ((($583)) + -16|0); + $585 = ((($584)) + 4|0); $586 = HEAP32[$585>>2]|0; $587 = HEAP32[$p2>>2]|0; $588 = (_sqlite3ExprListAppend($582,$586,$587)|0); HEAP32[$yygotominor>>2] = $588; break; } - case 132: { - $609 = (($yygotominor) + 4|0); - HEAP32[$609>>2] = 0; - break; - } case 129: { $589 = HEAP32[$pParse>>2]|0; $590 = HEAP32[$yymsp>>2]|0; - $591 = (($590) + 4|0); + $591 = ((($590)) + 4|0); $592 = (_sqlite3PExpr($589,116,0,0,$591)|0); HEAP32[$pRight3>>2] = $592; $593 = HEAP32[$pParse>>2]|0; $594 = HEAP32[$yymsp>>2]|0; - $595 = (($594) + -32|0); - $596 = (($595) + 4|0); + $595 = ((($594)) + -32|0); + $596 = ((($595)) + 4|0); $597 = (_sqlite3PExpr($593,27,0,0,$596)|0); HEAP32[$pLeft>>2] = $597; $598 = HEAP32[$pParse>>2]|0; @@ -61997,14 +61107,19 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$pDot>>2] = $601; $602 = HEAP32[$pParse>>2]|0; $603 = HEAP32[$yymsp>>2]|0; - $604 = (($603) + -48|0); - $605 = (($604) + 4|0); + $604 = ((($603)) + -48|0); + $605 = ((($604)) + 4|0); $606 = HEAP32[$605>>2]|0; $607 = HEAP32[$pDot>>2]|0; $608 = (_sqlite3ExprListAppend($602,$606,$607)|0); HEAP32[$yygotominor>>2] = $608; break; } + case 132: { + $609 = ((($yygotominor)) + 4|0); + HEAP32[$609>>2] = 0; + break; + } case 133: { $610 = HEAP32[$pParse>>2]|0; $611 = HEAP32[$610>>2]|0; @@ -62012,57 +61127,99 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = $612; break; } + case 134: { + $613 = HEAP32[$yymsp>>2]|0; + $614 = ((($613)) + 4|0); + $615 = HEAP32[$614>>2]|0; + HEAP32[$yygotominor>>2] = $615; + $616 = HEAP32[$yygotominor>>2]|0; + _sqlite3SrcListShiftJoinType($616); + break; + } + case 135: { + $617 = HEAP32[$yymsp>>2]|0; + $618 = ((($617)) + -16|0); + $619 = ((($618)) + 4|0); + $620 = HEAP32[$619>>2]|0; + HEAP32[$yygotominor>>2] = $620; + $621 = HEAP32[$yygotominor>>2]|0; + $622 = ($621|0)!=(0|0); + if ($622) { + $623 = HEAP32[$yygotominor>>2]|0; + $624 = HEAP32[$623>>2]|0; + $625 = ($624|0)>(0); + if ($625) { + $626 = HEAP32[$yymsp>>2]|0; + $627 = ((($626)) + 4|0); + $628 = HEAP32[$627>>2]|0; + $629 = $628&255; + $630 = HEAP32[$yygotominor>>2]|0; + $631 = HEAP32[$630>>2]|0; + $632 = (($631) - 1)|0; + $633 = HEAP32[$yygotominor>>2]|0; + $634 = ((($633)) + 8|0); + $635 = (($634) + (($632*72)|0)|0); + $636 = ((($635)) + 36|0); + HEAP8[$636>>0] = $629; + } + } + break; + } + case 136: { + HEAP32[$yygotominor>>2] = 0; + break; + } case 137: { $637 = HEAP32[$pParse>>2]|0; $638 = HEAP32[$yymsp>>2]|0; - $639 = (($638) + -96|0); - $640 = (($639) + 4|0); + $639 = ((($638)) + -96|0); + $640 = ((($639)) + 4|0); $641 = HEAP32[$640>>2]|0; $642 = HEAP32[$yymsp>>2]|0; - $643 = (($642) + -80|0); - $644 = (($643) + 4|0); + $643 = ((($642)) + -80|0); + $644 = ((($643)) + 4|0); $645 = HEAP32[$yymsp>>2]|0; - $646 = (($645) + -64|0); - $647 = (($646) + 4|0); + $646 = ((($645)) + -64|0); + $647 = ((($646)) + 4|0); $648 = HEAP32[$yymsp>>2]|0; - $649 = (($648) + -48|0); - $650 = (($649) + 4|0); + $649 = ((($648)) + -48|0); + $650 = ((($649)) + 4|0); $651 = HEAP32[$yymsp>>2]|0; - $652 = (($651) + -16|0); - $653 = (($652) + 4|0); + $652 = ((($651)) + -16|0); + $653 = ((($652)) + 4|0); $654 = HEAP32[$653>>2]|0; $655 = HEAP32[$yymsp>>2]|0; - $656 = (($655) + 4|0); + $656 = ((($655)) + 4|0); $657 = HEAP32[$656>>2]|0; $658 = (_sqlite3SrcListAppendFromTerm($637,$641,$644,$647,$650,0,$654,$657)|0); HEAP32[$yygotominor>>2] = $658; $659 = HEAP32[$pParse>>2]|0; $660 = HEAP32[$yygotominor>>2]|0; $661 = HEAP32[$yymsp>>2]|0; - $662 = (($661) + -32|0); - $663 = (($662) + 4|0); + $662 = ((($661)) + -32|0); + $663 = ((($662)) + 4|0); _sqlite3SrcListIndexedBy($659,$660,$663); break; } case 138: { $664 = HEAP32[$pParse>>2]|0; $665 = HEAP32[$yymsp>>2]|0; - $666 = (($665) + -96|0); - $667 = (($666) + 4|0); + $666 = ((($665)) + -96|0); + $667 = ((($666)) + 4|0); $668 = HEAP32[$667>>2]|0; $669 = HEAP32[$yymsp>>2]|0; - $670 = (($669) + -32|0); - $671 = (($670) + 4|0); + $670 = ((($669)) + -32|0); + $671 = ((($670)) + 4|0); $672 = HEAP32[$yymsp>>2]|0; - $673 = (($672) + -64|0); - $674 = (($673) + 4|0); + $673 = ((($672)) + -64|0); + $674 = ((($673)) + 4|0); $675 = HEAP32[$674>>2]|0; $676 = HEAP32[$yymsp>>2]|0; - $677 = (($676) + -16|0); - $678 = (($677) + 4|0); + $677 = ((($676)) + -16|0); + $678 = ((($677)) + 4|0); $679 = HEAP32[$678>>2]|0; $680 = HEAP32[$yymsp>>2]|0; - $681 = (($680) + 4|0); + $681 = ((($680)) + 4|0); $682 = HEAP32[$681>>2]|0; $683 = (_sqlite3SrcListAppendFromTerm($664,$668,0,0,$671,$675,$679,$682)|0); HEAP32[$yygotominor>>2] = $683; @@ -62070,32 +61227,32 @@ function _yy_reduce($yypParser,$yyruleno) { } case 139: { $684 = HEAP32[$yymsp>>2]|0; - $685 = (($684) + -96|0); - $686 = (($685) + 4|0); + $685 = ((($684)) + -96|0); + $686 = ((($685)) + 4|0); $687 = HEAP32[$686>>2]|0; $688 = ($687|0)==(0|0); if ($688) { $689 = HEAP32[$yymsp>>2]|0; - $690 = (($689) + -32|0); - $691 = (($690) + 4|0); - $692 = (($691) + 4|0); + $690 = ((($689)) + -32|0); + $691 = ((($690)) + 4|0); + $692 = ((($691)) + 4|0); $693 = HEAP32[$692>>2]|0; $694 = ($693|0)==(0); if ($694) { $695 = HEAP32[$yymsp>>2]|0; - $696 = (($695) + -16|0); - $697 = (($696) + 4|0); + $696 = ((($695)) + -16|0); + $697 = ((($696)) + 4|0); $698 = HEAP32[$697>>2]|0; $699 = ($698|0)==(0|0); if ($699) { $700 = HEAP32[$yymsp>>2]|0; - $701 = (($700) + 4|0); + $701 = ((($700)) + 4|0); $702 = HEAP32[$701>>2]|0; $703 = ($702|0)==(0|0); if ($703) { $704 = HEAP32[$yymsp>>2]|0; - $705 = (($704) + -64|0); - $706 = (($705) + 4|0); + $705 = ((($704)) + -64|0); + $706 = ((($705)) + 4|0); $707 = HEAP32[$706>>2]|0; HEAP32[$yygotominor>>2] = $707; break L1; @@ -62104,39 +61261,39 @@ function _yy_reduce($yypParser,$yyruleno) { } } $708 = HEAP32[$yymsp>>2]|0; - $709 = (($708) + -64|0); - $710 = (($709) + 4|0); + $709 = ((($708)) + -64|0); + $710 = ((($709)) + 4|0); $711 = HEAP32[$710>>2]|0; $712 = HEAP32[$711>>2]|0; $713 = ($712|0)==(1); if (!($713)) { $770 = HEAP32[$yymsp>>2]|0; - $771 = (($770) + -64|0); - $772 = (($771) + 4|0); + $771 = ((($770)) + -64|0); + $772 = ((($771)) + 4|0); $773 = HEAP32[$772>>2]|0; _sqlite3SrcListShiftJoinType($773); $774 = HEAP32[$pParse>>2]|0; $775 = HEAP32[$yymsp>>2]|0; - $776 = (($775) + -64|0); - $777 = (($776) + 4|0); + $776 = ((($775)) + -64|0); + $777 = ((($776)) + 4|0); $778 = HEAP32[$777>>2]|0; $779 = (_sqlite3SelectNew($774,0,$778,0,0,0,0,512,0,0)|0); HEAP32[$pSubquery>>2] = $779; $780 = HEAP32[$pParse>>2]|0; $781 = HEAP32[$yymsp>>2]|0; - $782 = (($781) + -96|0); - $783 = (($782) + 4|0); + $782 = ((($781)) + -96|0); + $783 = ((($782)) + 4|0); $784 = HEAP32[$783>>2]|0; $785 = HEAP32[$yymsp>>2]|0; - $786 = (($785) + -32|0); - $787 = (($786) + 4|0); + $786 = ((($785)) + -32|0); + $787 = ((($786)) + 4|0); $788 = HEAP32[$pSubquery>>2]|0; $789 = HEAP32[$yymsp>>2]|0; - $790 = (($789) + -16|0); - $791 = (($790) + 4|0); + $790 = ((($789)) + -16|0); + $791 = ((($790)) + 4|0); $792 = HEAP32[$791>>2]|0; $793 = HEAP32[$yymsp>>2]|0; - $794 = (($793) + 4|0); + $794 = ((($793)) + 4|0); $795 = HEAP32[$794>>2]|0; $796 = (_sqlite3SrcListAppendFromTerm($780,$784,0,0,$787,$788,$792,$795)|0); HEAP32[$yygotominor>>2] = $796; @@ -62144,18 +61301,18 @@ function _yy_reduce($yypParser,$yyruleno) { } $714 = HEAP32[$pParse>>2]|0; $715 = HEAP32[$yymsp>>2]|0; - $716 = (($715) + -96|0); - $717 = (($716) + 4|0); + $716 = ((($715)) + -96|0); + $717 = ((($716)) + 4|0); $718 = HEAP32[$717>>2]|0; $719 = HEAP32[$yymsp>>2]|0; - $720 = (($719) + -32|0); - $721 = (($720) + 4|0); + $720 = ((($719)) + -32|0); + $721 = ((($720)) + 4|0); $722 = HEAP32[$yymsp>>2]|0; - $723 = (($722) + -16|0); - $724 = (($723) + 4|0); + $723 = ((($722)) + -16|0); + $724 = ((($723)) + 4|0); $725 = HEAP32[$724>>2]|0; $726 = HEAP32[$yymsp>>2]|0; - $727 = (($726) + 4|0); + $727 = ((($726)) + 4|0); $728 = HEAP32[$727>>2]|0; $729 = (_sqlite3SrcListAppendFromTerm($714,$718,0,0,$721,0,$725,$728)|0); HEAP32[$yygotominor>>2] = $729; @@ -62166,63 +61323,79 @@ function _yy_reduce($yypParser,$yyruleno) { $733 = HEAP32[$732>>2]|0; $734 = (($733) - 1)|0; $735 = HEAP32[$yygotominor>>2]|0; - $736 = (($735) + 8|0); + $736 = ((($735)) + 8|0); $737 = (($736) + (($734*72)|0)|0); HEAP32[$pNew>>2] = $737; $738 = HEAP32[$yymsp>>2]|0; - $739 = (($738) + -64|0); - $740 = (($739) + 4|0); + $739 = ((($738)) + -64|0); + $740 = ((($739)) + 4|0); $741 = HEAP32[$740>>2]|0; - $742 = (($741) + 8|0); + $742 = ((($741)) + 8|0); HEAP32[$pOld>>2] = $742; $743 = HEAP32[$pOld>>2]|0; - $744 = (($743) + 8|0); + $744 = ((($743)) + 8|0); $745 = HEAP32[$744>>2]|0; $746 = HEAP32[$pNew>>2]|0; - $747 = (($746) + 8|0); + $747 = ((($746)) + 8|0); HEAP32[$747>>2] = $745; $748 = HEAP32[$pOld>>2]|0; - $749 = (($748) + 4|0); + $749 = ((($748)) + 4|0); $750 = HEAP32[$749>>2]|0; $751 = HEAP32[$pNew>>2]|0; - $752 = (($751) + 4|0); + $752 = ((($751)) + 4|0); HEAP32[$752>>2] = $750; $753 = HEAP32[$pOld>>2]|0; - $754 = (($753) + 20|0); + $754 = ((($753)) + 20|0); $755 = HEAP32[$754>>2]|0; $756 = HEAP32[$pNew>>2]|0; - $757 = (($756) + 20|0); + $757 = ((($756)) + 20|0); HEAP32[$757>>2] = $755; $758 = HEAP32[$pOld>>2]|0; - $759 = (($758) + 4|0); + $759 = ((($758)) + 4|0); HEAP32[$759>>2] = 0; $760 = HEAP32[$pOld>>2]|0; - $761 = (($760) + 8|0); + $761 = ((($760)) + 8|0); HEAP32[$761>>2] = 0; $762 = HEAP32[$pOld>>2]|0; - $763 = (($762) + 20|0); + $763 = ((($762)) + 20|0); HEAP32[$763>>2] = 0; } $764 = HEAP32[$pParse>>2]|0; $765 = HEAP32[$764>>2]|0; $766 = HEAP32[$yymsp>>2]|0; - $767 = (($766) + -64|0); - $768 = (($767) + 4|0); + $767 = ((($766)) + -64|0); + $768 = ((($767)) + 4|0); $769 = HEAP32[$768>>2]|0; _sqlite3SrcListDelete($765,$769); break; } case 149: case 140: { HEAP32[$yygotominor>>2] = 0; - $797 = (($yygotominor) + 4|0); + $797 = ((($yygotominor)) + 4|0); HEAP32[$797>>2] = 0; break; } + case 142: { + $798 = HEAP32[$pParse>>2]|0; + $799 = HEAP32[$798>>2]|0; + $800 = HEAP32[$yymsp>>2]|0; + $801 = ((($800)) + -16|0); + $802 = ((($801)) + 4|0); + $803 = HEAP32[$yymsp>>2]|0; + $804 = ((($803)) + 4|0); + $805 = (_sqlite3SrcListAppend($799,0,$802,$804)|0); + HEAP32[$yygotominor>>2] = $805; + break; + } + case 143: { + HEAP32[$yygotominor>>2] = 1; + break; + } case 144: { $806 = HEAP32[$pParse>>2]|0; $807 = HEAP32[$yymsp>>2]|0; - $808 = (($807) + -16|0); - $809 = (($808) + 4|0); + $808 = ((($807)) + -16|0); + $809 = ((($808)) + 4|0); $810 = (_sqlite3JoinType($806,$809,0,0)|0); HEAP32[$yygotominor>>2] = $810; break; @@ -62230,11 +61403,11 @@ function _yy_reduce($yypParser,$yyruleno) { case 145: { $811 = HEAP32[$pParse>>2]|0; $812 = HEAP32[$yymsp>>2]|0; - $813 = (($812) + -32|0); - $814 = (($813) + 4|0); + $813 = ((($812)) + -32|0); + $814 = ((($813)) + 4|0); $815 = HEAP32[$yymsp>>2]|0; - $816 = (($815) + -16|0); - $817 = (($816) + 4|0); + $816 = ((($815)) + -16|0); + $817 = ((($816)) + 4|0); $818 = (_sqlite3JoinType($811,$814,$817,0)|0); HEAP32[$yygotominor>>2] = $818; break; @@ -62242,38 +61415,39 @@ function _yy_reduce($yypParser,$yyruleno) { case 146: { $819 = HEAP32[$pParse>>2]|0; $820 = HEAP32[$yymsp>>2]|0; - $821 = (($820) + -48|0); - $822 = (($821) + 4|0); + $821 = ((($820)) + -48|0); + $822 = ((($821)) + 4|0); $823 = HEAP32[$yymsp>>2]|0; - $824 = (($823) + -32|0); - $825 = (($824) + 4|0); + $824 = ((($823)) + -32|0); + $825 = ((($824)) + 4|0); $826 = HEAP32[$yymsp>>2]|0; - $827 = (($826) + -16|0); - $828 = (($827) + 4|0); + $827 = ((($826)) + -16|0); + $828 = ((($827)) + 4|0); $829 = (_sqlite3JoinType($819,$822,$825,$828)|0); HEAP32[$yygotominor>>2] = $829; break; } - case 143: { - HEAP32[$yygotominor>>2] = 1; + case 233: case 231: case 171: case 164: case 147: { + $830 = HEAP32[$yymsp>>2]|0; + $831 = ((($830)) + 4|0); + $832 = HEAP32[$831>>2]|0; + HEAP32[$yygotominor>>2] = $832; break; } - case 142: { - $798 = HEAP32[$pParse>>2]|0; - $799 = HEAP32[$798>>2]|0; - $800 = HEAP32[$yymsp>>2]|0; - $801 = (($800) + -16|0); - $802 = (($801) + 4|0); - $803 = HEAP32[$yymsp>>2]|0; - $804 = (($803) + 4|0); - $805 = (_sqlite3SrcListAppend($799,0,$802,$804)|0); - HEAP32[$yygotominor>>2] = $805; + case 234: case 232: case 170: case 163: case 148: { + HEAP32[$yygotominor>>2] = 0; + break; + } + case 151: { + HEAP32[$yygotominor>>2] = 0; + $833 = ((($yygotominor)) + 4|0); + HEAP32[$833>>2] = 1; break; } case 180: case 152: { $834 = HEAP32[$yymsp>>2]|0; - $835 = (($834) + -16|0); - $836 = (($835) + 4|0); + $835 = ((($834)) + -16|0); + $836 = ((($835)) + 4|0); $837 = HEAP32[$836>>2]|0; HEAP32[$yygotominor>>2] = $837; break; @@ -62284,7 +61458,7 @@ function _yy_reduce($yypParser,$yyruleno) { } case 235: case 162: case 155: { $838 = HEAP32[$yymsp>>2]|0; - $839 = (($838) + 4|0); + $839 = ((($838)) + 4|0); $840 = HEAP32[$839>>2]|0; HEAP32[$yygotominor>>2] = $840; break; @@ -62292,12 +61466,12 @@ function _yy_reduce($yypParser,$yyruleno) { case 156: { $841 = HEAP32[$pParse>>2]|0; $842 = HEAP32[$yymsp>>2]|0; - $843 = (($842) + -48|0); - $844 = (($843) + 4|0); + $843 = ((($842)) + -48|0); + $844 = ((($843)) + 4|0); $845 = HEAP32[$844>>2]|0; $846 = HEAP32[$yymsp>>2]|0; - $847 = (($846) + -16|0); - $848 = (($847) + 4|0); + $847 = ((($846)) + -16|0); + $848 = ((($847)) + 4|0); $849 = HEAP32[$848>>2]|0; $850 = (_sqlite3ExprListAppend($841,$845,$849)|0); HEAP32[$yygotominor>>2] = $850; @@ -62305,36 +61479,48 @@ function _yy_reduce($yypParser,$yyruleno) { $852 = ($851|0)!=(0|0); if ($852) { $853 = HEAP32[$yymsp>>2]|0; - $854 = (($853) + 4|0); + $854 = ((($853)) + 4|0); $855 = HEAP32[$854>>2]|0; $856 = $855&255; $857 = HEAP32[$yygotominor>>2]|0; $858 = HEAP32[$857>>2]|0; $859 = (($858) - 1)|0; $860 = HEAP32[$yygotominor>>2]|0; - $861 = (($860) + 4|0); + $861 = ((($860)) + 4|0); $862 = HEAP32[$861>>2]|0; $863 = (($862) + (($859*20)|0)|0); - $864 = (($863) + 12|0); + $864 = ((($863)) + 12|0); HEAP8[$864>>0] = $856; } break; } - case 233: case 231: case 171: case 164: case 147: { - $830 = HEAP32[$yymsp>>2]|0; - $831 = (($830) + 4|0); - $832 = HEAP32[$831>>2]|0; - HEAP32[$yygotominor>>2] = $832; - break; - } - case 234: case 232: case 170: case 163: case 148: { - HEAP32[$yygotominor>>2] = 0; - break; - } - case 151: { - HEAP32[$yygotominor>>2] = 0; - $833 = (($yygotominor) + 4|0); - HEAP32[$833>>2] = 1; + case 157: { + $865 = HEAP32[$pParse>>2]|0; + $866 = HEAP32[$yymsp>>2]|0; + $867 = ((($866)) + -16|0); + $868 = ((($867)) + 4|0); + $869 = HEAP32[$868>>2]|0; + $870 = (_sqlite3ExprListAppend($865,0,$869)|0); + HEAP32[$yygotominor>>2] = $870; + $871 = HEAP32[$yygotominor>>2]|0; + $872 = ($871|0)!=(0|0); + if ($872) { + $873 = HEAP32[$yygotominor>>2]|0; + $874 = ((($873)) + 4|0); + $875 = HEAP32[$874>>2]|0; + $876 = ($875|0)!=(0|0); + if ($876) { + $877 = HEAP32[$yymsp>>2]|0; + $878 = ((($877)) + 4|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879&255; + $881 = HEAP32[$yygotominor>>2]|0; + $882 = ((($881)) + 4|0); + $883 = HEAP32[$882>>2]|0; + $884 = ((($883)) + 12|0); + HEAP8[$884>>0] = $880; + } + } break; } case 160: case 158: { @@ -62347,98 +61533,41 @@ function _yy_reduce($yypParser,$yyruleno) { } case 165: { HEAP32[$yygotominor>>2] = 0; - $885 = (($yygotominor) + 4|0); + $885 = ((($yygotominor)) + 4|0); HEAP32[$885>>2] = 0; break; } case 166: { $886 = HEAP32[$yymsp>>2]|0; - $887 = (($886) + 4|0); + $887 = ((($886)) + 4|0); $888 = HEAP32[$887>>2]|0; HEAP32[$yygotominor>>2] = $888; - $889 = (($yygotominor) + 4|0); + $889 = ((($yygotominor)) + 4|0); HEAP32[$889>>2] = 0; break; } case 167: { $890 = HEAP32[$yymsp>>2]|0; - $891 = (($890) + -32|0); - $892 = (($891) + 4|0); + $891 = ((($890)) + -32|0); + $892 = ((($891)) + 4|0); $893 = HEAP32[$892>>2]|0; HEAP32[$yygotominor>>2] = $893; $894 = HEAP32[$yymsp>>2]|0; - $895 = (($894) + 4|0); + $895 = ((($894)) + 4|0); $896 = HEAP32[$895>>2]|0; - $897 = (($yygotominor) + 4|0); + $897 = ((($yygotominor)) + 4|0); HEAP32[$897>>2] = $896; break; } - case 157: { - $865 = HEAP32[$pParse>>2]|0; - $866 = HEAP32[$yymsp>>2]|0; - $867 = (($866) + -16|0); - $868 = (($867) + 4|0); - $869 = HEAP32[$868>>2]|0; - $870 = (_sqlite3ExprListAppend($865,0,$869)|0); - HEAP32[$yygotominor>>2] = $870; - $871 = HEAP32[$yygotominor>>2]|0; - $872 = ($871|0)!=(0|0); - if ($872) { - $873 = HEAP32[$yygotominor>>2]|0; - $874 = (($873) + 4|0); - $875 = HEAP32[$874>>2]|0; - $876 = ($875|0)!=(0|0); - if ($876) { - $877 = HEAP32[$yymsp>>2]|0; - $878 = (($877) + 4|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879&255; - $881 = HEAP32[$yygotominor>>2]|0; - $882 = (($881) + 4|0); - $883 = HEAP32[$882>>2]|0; - $884 = (($883) + 12|0); - HEAP8[$884>>0] = $880; - } - } - break; - } - case 181: { - $1030 = HEAP32[$pParse>>2]|0; - $1031 = HEAP32[$1030>>2]|0; - $1032 = HEAP32[$yymsp>>2]|0; - $1033 = (($1032) + -32|0); - $1034 = (($1033) + 4|0); - $1035 = HEAP32[$1034>>2]|0; - $1036 = HEAP32[$yymsp>>2]|0; - $1037 = (($1036) + 4|0); - $1038 = (_sqlite3IdListAppend($1031,$1035,$1037)|0); - HEAP32[$yygotominor>>2] = $1038; - break; - } - case 182: { - $1039 = HEAP32[$pParse>>2]|0; - $1040 = HEAP32[$1039>>2]|0; - $1041 = HEAP32[$yymsp>>2]|0; - $1042 = (($1041) + 4|0); - $1043 = (_sqlite3IdListAppend($1040,0,$1042)|0); - HEAP32[$yygotominor>>2] = $1043; - break; - } - case 183: { - $1044 = HEAP32[$yymsp>>2]|0; - $1045 = (($1044) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$1045+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1045+4>>2]|0;HEAP32[$yygotominor+8>>2]=HEAP32[$1045+8>>2]|0; - break; - } case 168: { $898 = HEAP32[$yymsp>>2]|0; - $899 = (($898) + -32|0); - $900 = (($899) + 4|0); + $899 = ((($898)) + -32|0); + $900 = ((($899)) + 4|0); $901 = HEAP32[$900>>2]|0; - $902 = (($yygotominor) + 4|0); + $902 = ((($yygotominor)) + 4|0); HEAP32[$902>>2] = $901; $903 = HEAP32[$yymsp>>2]|0; - $904 = (($903) + 4|0); + $904 = ((($903)) + 4|0); $905 = HEAP32[$904>>2]|0; HEAP32[$yygotominor>>2] = $905; break; @@ -62446,232 +61575,67 @@ function _yy_reduce($yypParser,$yyruleno) { case 169: { $906 = HEAP32[$pParse>>2]|0; $907 = HEAP32[$yymsp>>2]|0; - $908 = (($907) + -80|0); - $909 = (($908) + 4|0); + $908 = ((($907)) + -80|0); + $909 = ((($908)) + 4|0); $910 = HEAP32[$909>>2]|0; _sqlite3WithPush($906,$910,1); $911 = HEAP32[$pParse>>2]|0; $912 = HEAP32[$yymsp>>2]|0; - $913 = (($912) + -32|0); - $914 = (($913) + 4|0); + $913 = ((($912)) + -32|0); + $914 = ((($913)) + 4|0); $915 = HEAP32[$914>>2]|0; $916 = HEAP32[$yymsp>>2]|0; - $917 = (($916) + -16|0); - $918 = (($917) + 4|0); + $917 = ((($916)) + -16|0); + $918 = ((($917)) + 4|0); _sqlite3SrcListIndexedBy($911,$915,$918); $919 = HEAP32[$pParse>>2]|0; $920 = HEAP32[$yymsp>>2]|0; - $921 = (($920) + -32|0); - $922 = (($921) + 4|0); + $921 = ((($920)) + -32|0); + $922 = ((($921)) + 4|0); $923 = HEAP32[$922>>2]|0; $924 = HEAP32[$yymsp>>2]|0; - $925 = (($924) + 4|0); + $925 = ((($924)) + 4|0); $926 = HEAP32[$925>>2]|0; _sqlite3DeleteFrom($919,$923,$926); break; } - case 35: { - $74 = HEAP32[$yymsp>>2]|0; - $75 = (($74) + 4|0); - $76 = (($75) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==(5); - if ($78) { - $79 = HEAP32[$yymsp>>2]|0; - $80 = (($79) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = (_sqlite3_strnicmp($81,9992,5)|0); - $83 = ($82|0)==(0); - if ($83) { - HEAP8[$yygotominor>>0] = 32; - break L1; - } - } - HEAP8[$yygotominor>>0] = 0; - $84 = HEAP32[$pParse>>2]|0; - $85 = HEAP32[$yymsp>>2]|0; - $86 = (($85) + 4|0); - $87 = (($86) + 4|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$yymsp>>2]|0; - $90 = (($89) + 4|0); - $91 = HEAP32[$90>>2]|0; - HEAP32[$vararg_buffer14>>2] = $88; - $vararg_ptr1 = (($vararg_buffer14) + 4|0); - HEAP32[$vararg_ptr1>>2] = $91; - _sqlite3ErrorMsg($84,10000,$vararg_buffer14); - break; - } - case 117: case 115: case 16: case 15: case 14: { - $20 = HEAP32[$yymsp>>2]|0; - $21 = (($20) + 2|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - HEAP32[$yygotominor>>2] = $23; - break; - } - case 32: { - $55 = HEAP32[$pParse>>2]|0; - $56 = HEAP32[$yymsp>>2]|0; - $57 = (($56) + -32|0); - $58 = (($57) + 4|0); - $59 = HEAP32[$yymsp>>2]|0; - $60 = (($59) + -16|0); - $61 = (($60) + 4|0); - $62 = HEAP32[$yymsp>>2]|0; - $63 = (($62) + 4|0); - $64 = HEAP8[$63>>0]|0; - _sqlite3EndTable($55,$58,$61,$64,0); - break; - } - case 222: case 219: case 107: case 84: case 69: case 30: case 29: { - HEAP32[$yygotominor>>2] = 1; - break; - } - case 18: case 17: { - $24 = HEAP32[$pParse>>2]|0; - _sqlite3CommitTransaction($24); - break; - } - case 75: { - $278 = HEAP32[$yymsp>>2]|0; - $279 = (($278) + 4|0); - $280 = HEAP32[$279>>2]|0; - $281 = $280 << 8; - HEAP32[$yygotominor>>2] = $281; - $282 = (($yygotominor) + 4|0); - HEAP32[$282>>2] = 65280; - break; - } - case 76: { - HEAP32[$yygotominor>>2] = 7; - break; - } - case 77: { - HEAP32[$yygotominor>>2] = 8; - break; - } - case 78: { - HEAP32[$yygotominor>>2] = 9; - break; - } - case 79: { - HEAP32[$yygotominor>>2] = 6; - break; - } - case 80: { - HEAP32[$yygotominor>>2] = 0; - break; - } - case 6: { - $12 = HEAP32[$pParse>>2]|0; - _sqlite3BeginParse($12,1); - break; - } - case 74: { - $274 = HEAP32[$yymsp>>2]|0; - $275 = (($274) + 4|0); - $276 = HEAP32[$275>>2]|0; - HEAP32[$yygotominor>>2] = $276; - $277 = (($yygotominor) + 4|0); - HEAP32[$277>>2] = 255; - break; - } - case 9: { - $15 = HEAP32[$pParse>>2]|0; - $16 = HEAP32[$yymsp>>2]|0; - $17 = (($16) + -16|0); - $18 = (($17) + 4|0); - $19 = HEAP32[$18>>2]|0; - _sqlite3BeginTransaction($15,$19); - break; - } - case 46: { - $125 = HEAP32[$yymsp>>2]|0; - $126 = (($125) + -48|0); - $127 = (($126) + 4|0); - $128 = HEAP32[$127>>2]|0; - HEAP32[$yygotominor>>2] = $128; - $129 = HEAP32[$yymsp>>2]|0; - $130 = (($129) + 4|0); - $131 = (($130) + 4|0); - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$yymsp>>2]|0; - $134 = (($133) + 4|0); - $135 = HEAP32[$134>>2]|0; - $136 = (($135) + ($132)|0); - $137 = HEAP32[$yymsp>>2]|0; - $138 = (($137) + -48|0); - $139 = (($138) + 4|0); - $140 = HEAP32[$139>>2]|0; - $141 = $136; - $142 = $140; - $143 = (($141) - ($142))|0; - $144 = (($yygotominor) + 4|0); - HEAP32[$144>>2] = $143; - break; - } - case 34: { - HEAP8[$yygotominor>>0] = 0; - break; - } - case 92: case 54: { - $185 = HEAP32[$pParse>>2]|0; - $186 = (($185) + 320|0); - $187 = HEAP32[$yymsp>>2]|0; - $188 = (($187) + 4|0); - ;HEAP32[$186+0>>2]=HEAP32[$188+0>>2]|0;HEAP32[$186+4>>2]=HEAP32[$188+4>>2]|0; - break; - } - case 94: { - $305 = HEAP32[$pParse>>2]|0; - $306 = HEAP32[$yymsp>>2]|0; - $307 = (($306) + -32|0); - $308 = (($307) + 4|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[$yymsp>>2]|0; - $311 = (($310) + 4|0); - $312 = HEAP32[$311>>2]|0; - (_sqlite3CreateIndex($305,0,0,0,$309,$312,0,0,0,0)|0); - break; - } case 172: { $927 = HEAP32[$pParse>>2]|0; $928 = HEAP32[$yymsp>>2]|0; - $929 = (($928) + -112|0); - $930 = (($929) + 4|0); + $929 = ((($928)) + -112|0); + $930 = ((($929)) + 4|0); $931 = HEAP32[$930>>2]|0; _sqlite3WithPush($927,$931,1); $932 = HEAP32[$pParse>>2]|0; $933 = HEAP32[$yymsp>>2]|0; - $934 = (($933) + -64|0); - $935 = (($934) + 4|0); + $934 = ((($933)) + -64|0); + $935 = ((($934)) + 4|0); $936 = HEAP32[$935>>2]|0; $937 = HEAP32[$yymsp>>2]|0; - $938 = (($937) + -48|0); - $939 = (($938) + 4|0); + $938 = ((($937)) + -48|0); + $939 = ((($938)) + 4|0); _sqlite3SrcListIndexedBy($932,$936,$939); $940 = HEAP32[$pParse>>2]|0; $941 = HEAP32[$yymsp>>2]|0; - $942 = (($941) + -16|0); - $943 = (($942) + 4|0); + $942 = ((($941)) + -16|0); + $943 = ((($942)) + 4|0); $944 = HEAP32[$943>>2]|0; - _sqlite3ExprListCheckLength($940,$944,10096); + _sqlite3ExprListCheckLength($940,$944,18210); $945 = HEAP32[$pParse>>2]|0; $946 = HEAP32[$yymsp>>2]|0; - $947 = (($946) + -64|0); - $948 = (($947) + 4|0); + $947 = ((($946)) + -64|0); + $948 = ((($947)) + 4|0); $949 = HEAP32[$948>>2]|0; $950 = HEAP32[$yymsp>>2]|0; - $951 = (($950) + -16|0); - $952 = (($951) + 4|0); + $951 = ((($950)) + -16|0); + $952 = ((($951)) + 4|0); $953 = HEAP32[$952>>2]|0; $954 = HEAP32[$yymsp>>2]|0; - $955 = (($954) + 4|0); + $955 = ((($954)) + 4|0); $956 = HEAP32[$955>>2]|0; $957 = HEAP32[$yymsp>>2]|0; - $958 = (($957) + -80|0); - $959 = (($958) + 4|0); + $958 = ((($957)) + -80|0); + $959 = ((($958)) + 4|0); $960 = HEAP8[$959>>0]|0; $961 = $960&255; _sqlite3Update($945,$949,$953,$956,$961); @@ -62680,59 +61644,59 @@ function _yy_reduce($yypParser,$yyruleno) { case 173: { $962 = HEAP32[$pParse>>2]|0; $963 = HEAP32[$yymsp>>2]|0; - $964 = (($963) + -64|0); - $965 = (($964) + 4|0); + $964 = ((($963)) + -64|0); + $965 = ((($964)) + 4|0); $966 = HEAP32[$965>>2]|0; $967 = HEAP32[$yymsp>>2]|0; - $968 = (($967) + 4|0); + $968 = ((($967)) + 4|0); $969 = HEAP32[$968>>2]|0; $970 = (_sqlite3ExprListAppend($962,$966,$969)|0); HEAP32[$yygotominor>>2] = $970; $971 = HEAP32[$pParse>>2]|0; $972 = HEAP32[$yygotominor>>2]|0; $973 = HEAP32[$yymsp>>2]|0; - $974 = (($973) + -32|0); - $975 = (($974) + 4|0); + $974 = ((($973)) + -32|0); + $975 = ((($974)) + 4|0); _sqlite3ExprListSetName($971,$972,$975,1); break; } case 174: { $976 = HEAP32[$pParse>>2]|0; $977 = HEAP32[$yymsp>>2]|0; - $978 = (($977) + 4|0); + $978 = ((($977)) + 4|0); $979 = HEAP32[$978>>2]|0; $980 = (_sqlite3ExprListAppend($976,0,$979)|0); HEAP32[$yygotominor>>2] = $980; $981 = HEAP32[$pParse>>2]|0; $982 = HEAP32[$yygotominor>>2]|0; $983 = HEAP32[$yymsp>>2]|0; - $984 = (($983) + -32|0); - $985 = (($984) + 4|0); + $984 = ((($983)) + -32|0); + $985 = ((($984)) + 4|0); _sqlite3ExprListSetName($981,$982,$985,1); break; } case 175: { $986 = HEAP32[$pParse>>2]|0; $987 = HEAP32[$yymsp>>2]|0; - $988 = (($987) + -80|0); - $989 = (($988) + 4|0); + $988 = ((($987)) + -80|0); + $989 = ((($988)) + 4|0); $990 = HEAP32[$989>>2]|0; _sqlite3WithPush($986,$990,1); $991 = HEAP32[$pParse>>2]|0; $992 = HEAP32[$yymsp>>2]|0; - $993 = (($992) + -32|0); - $994 = (($993) + 4|0); + $993 = ((($992)) + -32|0); + $994 = ((($993)) + 4|0); $995 = HEAP32[$994>>2]|0; $996 = HEAP32[$yymsp>>2]|0; - $997 = (($996) + 4|0); + $997 = ((($996)) + 4|0); $998 = HEAP32[$997>>2]|0; $999 = HEAP32[$yymsp>>2]|0; - $1000 = (($999) + -16|0); - $1001 = (($1000) + 4|0); + $1000 = ((($999)) + -16|0); + $1001 = ((($1000)) + 4|0); $1002 = HEAP32[$1001>>2]|0; $1003 = HEAP32[$yymsp>>2]|0; - $1004 = (($1003) + -64|0); - $1005 = (($1004) + 4|0); + $1004 = ((($1003)) + -64|0); + $1005 = ((($1004)) + 4|0); $1006 = HEAP8[$1005>>0]|0; $1007 = $1006&255; _sqlite3Insert($991,$995,$998,$1002,$1007); @@ -62741,22 +61705,22 @@ function _yy_reduce($yypParser,$yyruleno) { case 176: { $1008 = HEAP32[$pParse>>2]|0; $1009 = HEAP32[$yymsp>>2]|0; - $1010 = (($1009) + -96|0); - $1011 = (($1010) + 4|0); + $1010 = ((($1009)) + -96|0); + $1011 = ((($1010)) + 4|0); $1012 = HEAP32[$1011>>2]|0; _sqlite3WithPush($1008,$1012,1); $1013 = HEAP32[$pParse>>2]|0; $1014 = HEAP32[$yymsp>>2]|0; - $1015 = (($1014) + -48|0); - $1016 = (($1015) + 4|0); + $1015 = ((($1014)) + -48|0); + $1016 = ((($1015)) + 4|0); $1017 = HEAP32[$1016>>2]|0; $1018 = HEAP32[$yymsp>>2]|0; - $1019 = (($1018) + -32|0); - $1020 = (($1019) + 4|0); + $1019 = ((($1018)) + -32|0); + $1020 = ((($1019)) + 4|0); $1021 = HEAP32[$1020>>2]|0; $1022 = HEAP32[$yymsp>>2]|0; - $1023 = (($1022) + -80|0); - $1024 = (($1023) + 4|0); + $1023 = ((($1022)) + -80|0); + $1024 = ((($1023)) + 4|0); $1025 = HEAP8[$1024>>0]|0; $1026 = $1025&255; _sqlite3Insert($1013,$1017,0,$1021,$1026); @@ -62764,7 +61728,7 @@ function _yy_reduce($yypParser,$yyruleno) { } case 177: { $1027 = HEAP32[$yymsp>>2]|0; - $1028 = (($1027) + 4|0); + $1028 = ((($1027)) + 4|0); $1029 = HEAP8[$1028>>0]|0; HEAP8[$yygotominor>>0] = $1029; break; @@ -62773,48 +61737,76 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP8[$yygotominor>>0] = 5; break; } + case 181: { + $1030 = HEAP32[$pParse>>2]|0; + $1031 = HEAP32[$1030>>2]|0; + $1032 = HEAP32[$yymsp>>2]|0; + $1033 = ((($1032)) + -32|0); + $1034 = ((($1033)) + 4|0); + $1035 = HEAP32[$1034>>2]|0; + $1036 = HEAP32[$yymsp>>2]|0; + $1037 = ((($1036)) + 4|0); + $1038 = (_sqlite3IdListAppend($1031,$1035,$1037)|0); + HEAP32[$yygotominor>>2] = $1038; + break; + } + case 182: { + $1039 = HEAP32[$pParse>>2]|0; + $1040 = HEAP32[$1039>>2]|0; + $1041 = HEAP32[$yymsp>>2]|0; + $1042 = ((($1041)) + 4|0); + $1043 = (_sqlite3IdListAppend($1040,0,$1042)|0); + HEAP32[$yygotominor>>2] = $1043; + break; + } + case 183: { + $1044 = HEAP32[$yymsp>>2]|0; + $1045 = ((($1044)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$1045>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1045+4>>2]|0;HEAP32[$yygotominor+8>>2]=HEAP32[$1045+8>>2]|0; + break; + } case 184: { $1046 = HEAP32[$yymsp>>2]|0; - $1047 = (($1046) + -16|0); - $1048 = (($1047) + 4|0); + $1047 = ((($1046)) + -16|0); + $1048 = ((($1047)) + 4|0); $1049 = HEAP32[$1048>>2]|0; HEAP32[$yygotominor>>2] = $1049; $1050 = HEAP32[$yymsp>>2]|0; - $1051 = (($1050) + -32|0); - $1052 = (($1051) + 4|0); + $1051 = ((($1050)) + -32|0); + $1052 = ((($1051)) + 4|0); $1053 = HEAP32[$yymsp>>2]|0; - $1054 = (($1053) + 4|0); + $1054 = ((($1053)) + 4|0); _spanSet($yygotominor,$1052,$1054); break; } case 191: case 190: case 185: { $1055 = HEAP32[$pParse>>2]|0; $1056 = HEAP32[$yymsp>>2]|0; - $1057 = (($1056) + 2|0); + $1057 = ((($1056)) + 2|0); $1058 = HEAP8[$1057>>0]|0; $1059 = $1058&255; $1060 = HEAP32[$yymsp>>2]|0; - $1061 = (($1060) + 4|0); + $1061 = ((($1060)) + 4|0); _spanExpr($yygotominor,$1055,$1059,$1061); break; } case 187: case 186: { $1062 = HEAP32[$pParse>>2]|0; $1063 = HEAP32[$yymsp>>2]|0; - $1064 = (($1063) + 4|0); + $1064 = ((($1063)) + 4|0); _spanExpr($yygotominor,$1062,27,$1064); break; } case 188: { $1065 = HEAP32[$pParse>>2]|0; $1066 = HEAP32[$yymsp>>2]|0; - $1067 = (($1066) + -32|0); - $1068 = (($1067) + 4|0); + $1067 = ((($1066)) + -32|0); + $1068 = ((($1067)) + 4|0); $1069 = (_sqlite3PExpr($1065,27,0,0,$1068)|0); HEAP32[$temp1>>2] = $1069; $1070 = HEAP32[$pParse>>2]|0; $1071 = HEAP32[$yymsp>>2]|0; - $1072 = (($1071) + 4|0); + $1072 = ((($1071)) + 4|0); $1073 = (_sqlite3PExpr($1070,27,0,0,$1072)|0); HEAP32[$temp2>>2] = $1073; $1074 = HEAP32[$pParse>>2]|0; @@ -62823,29 +61815,29 @@ function _yy_reduce($yypParser,$yyruleno) { $1077 = (_sqlite3PExpr($1074,122,$1075,$1076,0)|0); HEAP32[$yygotominor>>2] = $1077; $1078 = HEAP32[$yymsp>>2]|0; - $1079 = (($1078) + -32|0); - $1080 = (($1079) + 4|0); + $1079 = ((($1078)) + -32|0); + $1080 = ((($1079)) + 4|0); $1081 = HEAP32[$yymsp>>2]|0; - $1082 = (($1081) + 4|0); + $1082 = ((($1081)) + 4|0); _spanSet($yygotominor,$1080,$1082); break; } case 189: { $1083 = HEAP32[$pParse>>2]|0; $1084 = HEAP32[$yymsp>>2]|0; - $1085 = (($1084) + -64|0); - $1086 = (($1085) + 4|0); + $1085 = ((($1084)) + -64|0); + $1086 = ((($1085)) + 4|0); $1087 = (_sqlite3PExpr($1083,27,0,0,$1086)|0); HEAP32[$temp14>>2] = $1087; $1088 = HEAP32[$pParse>>2]|0; $1089 = HEAP32[$yymsp>>2]|0; - $1090 = (($1089) + -32|0); - $1091 = (($1090) + 4|0); + $1090 = ((($1089)) + -32|0); + $1091 = ((($1090)) + 4|0); $1092 = (_sqlite3PExpr($1088,27,0,0,$1091)|0); HEAP32[$temp25>>2] = $1092; $1093 = HEAP32[$pParse>>2]|0; $1094 = HEAP32[$yymsp>>2]|0; - $1095 = (($1094) + 4|0); + $1095 = ((($1094)) + 4|0); $1096 = (_sqlite3PExpr($1093,27,0,0,$1095)|0); HEAP32[$temp3>>2] = $1096; $1097 = HEAP32[$pParse>>2]|0; @@ -62859,51 +61851,51 @@ function _yy_reduce($yypParser,$yyruleno) { $1104 = (_sqlite3PExpr($1101,122,$1102,$1103,0)|0); HEAP32[$yygotominor>>2] = $1104; $1105 = HEAP32[$yymsp>>2]|0; - $1106 = (($1105) + -64|0); - $1107 = (($1106) + 4|0); + $1106 = ((($1105)) + -64|0); + $1107 = ((($1106)) + 4|0); $1108 = HEAP32[$yymsp>>2]|0; - $1109 = (($1108) + 4|0); + $1109 = ((($1108)) + 4|0); _spanSet($yygotominor,$1107,$1109); break; } case 192: { $1110 = HEAP32[$yymsp>>2]|0; - $1111 = (($1110) + 4|0); - $1112 = (($1111) + 4|0); + $1111 = ((($1110)) + 4|0); + $1112 = ((($1111)) + 4|0); $1113 = HEAP32[$1112>>2]|0; $1114 = ($1113>>>0)>=(2); do { if ($1114) { $1115 = HEAP32[$yymsp>>2]|0; - $1116 = (($1115) + 4|0); + $1116 = ((($1115)) + 4|0); $1117 = HEAP32[$1116>>2]|0; $1118 = HEAP8[$1117>>0]|0; $1119 = $1118 << 24 >> 24; $1120 = ($1119|0)==(35); if ($1120) { $1121 = HEAP32[$yymsp>>2]|0; - $1122 = (($1121) + 4|0); + $1122 = ((($1121)) + 4|0); $1123 = HEAP32[$1122>>2]|0; - $1124 = (($1123) + 1|0); + $1124 = ((($1123)) + 1|0); $1125 = HEAP8[$1124>>0]|0; $1126 = $1125&255; - $1127 = (1224 + ($1126)|0); + $1127 = (14426 + ($1126)|0); $1128 = HEAP8[$1127>>0]|0; $1129 = $1128&255; $1130 = $1129 & 4; $1131 = ($1130|0)!=(0); if ($1131) { $1132 = HEAP32[$pParse>>2]|0; - $1133 = (($1132) + 18|0); + $1133 = ((($1132)) + 18|0); $1134 = HEAP8[$1133>>0]|0; $1135 = $1134&255; $1136 = ($1135|0)==(0); $1137 = HEAP32[$pParse>>2]|0; $1138 = HEAP32[$yymsp>>2]|0; - $1139 = (($1138) + 4|0); + $1139 = ((($1138)) + 4|0); if ($1136) { - HEAP32[$vararg_buffer14>>2] = $1139; - _sqlite3ErrorMsg($1137,9968,$vararg_buffer14); + HEAP32[$vararg_buffer4>>2] = $1139; + _sqlite3ErrorMsg($1137,18119,$vararg_buffer4); HEAP32[$yygotominor>>2] = 0; break; } @@ -62913,11 +61905,11 @@ function _yy_reduce($yypParser,$yyruleno) { $1142 = ($1141|0)!=(0|0); if ($1142) { $1143 = HEAP32[$yymsp>>2]|0; - $1144 = (($1143) + 4|0); + $1144 = ((($1143)) + 4|0); $1145 = HEAP32[$1144>>2]|0; - $1146 = (($1145) + 1|0); + $1146 = ((($1145)) + 1|0); $1147 = HEAP32[$yygotominor>>2]|0; - $1148 = (($1147) + 28|0); + $1148 = ((($1147)) + 28|0); (_sqlite3GetInt32($1146,$1148)|0); } } else { @@ -62933,113 +61925,113 @@ function _yy_reduce($yypParser,$yyruleno) { if ((label|0) == 170) { $1149 = HEAP32[$pParse>>2]|0; $1150 = HEAP32[$yymsp>>2]|0; - $1151 = (($1150) + 4|0); + $1151 = ((($1150)) + 4|0); _spanExpr($yygotominor,$1149,135,$1151); $1152 = HEAP32[$pParse>>2]|0; $1153 = HEAP32[$yygotominor>>2]|0; _sqlite3ExprAssignVarNumber($1152,$1153); } $1154 = HEAP32[$yymsp>>2]|0; - $1155 = (($1154) + 4|0); + $1155 = ((($1154)) + 4|0); $1156 = HEAP32[$yymsp>>2]|0; - $1157 = (($1156) + 4|0); + $1157 = ((($1156)) + 4|0); _spanSet($yygotominor,$1155,$1157); break; } case 193: { $1158 = HEAP32[$pParse>>2]|0; $1159 = HEAP32[$yymsp>>2]|0; - $1160 = (($1159) + -32|0); - $1161 = (($1160) + 4|0); + $1160 = ((($1159)) + -32|0); + $1161 = ((($1160)) + 4|0); $1162 = HEAP32[$1161>>2]|0; $1163 = HEAP32[$yymsp>>2]|0; - $1164 = (($1163) + 4|0); + $1164 = ((($1163)) + 4|0); $1165 = (_sqlite3ExprAddCollateToken($1158,$1162,$1164)|0); HEAP32[$yygotominor>>2] = $1165; $1166 = HEAP32[$yymsp>>2]|0; - $1167 = (($1166) + -32|0); - $1168 = (($1167) + 4|0); - $1169 = (($1168) + 4|0); + $1167 = ((($1166)) + -32|0); + $1168 = ((($1167)) + 4|0); + $1169 = ((($1168)) + 4|0); $1170 = HEAP32[$1169>>2]|0; - $1171 = (($yygotominor) + 4|0); + $1171 = ((($yygotominor)) + 4|0); HEAP32[$1171>>2] = $1170; $1172 = HEAP32[$yymsp>>2]|0; - $1173 = (($1172) + 4|0); - $1174 = (($1173) + 4|0); + $1173 = ((($1172)) + 4|0); + $1174 = ((($1173)) + 4|0); $1175 = HEAP32[$1174>>2]|0; $1176 = HEAP32[$yymsp>>2]|0; - $1177 = (($1176) + 4|0); + $1177 = ((($1176)) + 4|0); $1178 = HEAP32[$1177>>2]|0; $1179 = (($1178) + ($1175)|0); - $1180 = (($yygotominor) + 8|0); + $1180 = ((($yygotominor)) + 8|0); HEAP32[$1180>>2] = $1179; break; } case 194: { $1181 = HEAP32[$pParse>>2]|0; $1182 = HEAP32[$yymsp>>2]|0; - $1183 = (($1182) + -48|0); - $1184 = (($1183) + 4|0); + $1183 = ((($1182)) + -48|0); + $1184 = ((($1183)) + 4|0); $1185 = HEAP32[$1184>>2]|0; $1186 = HEAP32[$yymsp>>2]|0; - $1187 = (($1186) + -16|0); - $1188 = (($1187) + 4|0); + $1187 = ((($1186)) + -16|0); + $1188 = ((($1187)) + 4|0); $1189 = (_sqlite3PExpr($1181,38,$1185,0,$1188)|0); HEAP32[$yygotominor>>2] = $1189; $1190 = HEAP32[$yymsp>>2]|0; - $1191 = (($1190) + -80|0); - $1192 = (($1191) + 4|0); + $1191 = ((($1190)) + -80|0); + $1192 = ((($1191)) + 4|0); $1193 = HEAP32[$yymsp>>2]|0; - $1194 = (($1193) + 4|0); + $1194 = ((($1193)) + 4|0); _spanSet($yygotominor,$1192,$1194); break; } case 195: { $1195 = HEAP32[$yymsp>>2]|0; - $1196 = (($1195) + -16|0); - $1197 = (($1196) + 4|0); + $1196 = ((($1195)) + -16|0); + $1197 = ((($1196)) + 4|0); $1198 = HEAP32[$1197>>2]|0; $1199 = ($1198|0)!=(0|0); if ($1199) { $1200 = HEAP32[$yymsp>>2]|0; - $1201 = (($1200) + -16|0); - $1202 = (($1201) + 4|0); + $1201 = ((($1200)) + -16|0); + $1202 = ((($1201)) + 4|0); $1203 = HEAP32[$1202>>2]|0; $1204 = HEAP32[$1203>>2]|0; $1205 = HEAP32[$pParse>>2]|0; $1206 = HEAP32[$1205>>2]|0; - $1207 = (($1206) + 88|0); - $1208 = (($1207) + 24|0); + $1207 = ((($1206)) + 88|0); + $1208 = ((($1207)) + 24|0); $1209 = HEAP32[$1208>>2]|0; $1210 = ($1204|0)>($1209|0); if ($1210) { $1211 = HEAP32[$pParse>>2]|0; $1212 = HEAP32[$yymsp>>2]|0; - $1213 = (($1212) + -64|0); - $1214 = (($1213) + 4|0); - HEAP32[$vararg_buffer14>>2] = $1214; - _sqlite3ErrorMsg($1211,10112,$vararg_buffer14); + $1213 = ((($1212)) + -64|0); + $1214 = ((($1213)) + 4|0); + HEAP32[$vararg_buffer7>>2] = $1214; + _sqlite3ErrorMsg($1211,18219,$vararg_buffer7); } } $1215 = HEAP32[$pParse>>2]|0; $1216 = HEAP32[$yymsp>>2]|0; - $1217 = (($1216) + -16|0); - $1218 = (($1217) + 4|0); + $1217 = ((($1216)) + -16|0); + $1218 = ((($1217)) + 4|0); $1219 = HEAP32[$1218>>2]|0; $1220 = HEAP32[$yymsp>>2]|0; - $1221 = (($1220) + -64|0); - $1222 = (($1221) + 4|0); + $1221 = ((($1220)) + -64|0); + $1222 = ((($1221)) + 4|0); $1223 = (_sqlite3ExprFunction($1215,$1219,$1222)|0); HEAP32[$yygotominor>>2] = $1223; $1224 = HEAP32[$yymsp>>2]|0; - $1225 = (($1224) + -64|0); - $1226 = (($1225) + 4|0); + $1225 = ((($1224)) + -64|0); + $1226 = ((($1225)) + 4|0); $1227 = HEAP32[$yymsp>>2]|0; - $1228 = (($1227) + 4|0); + $1228 = ((($1227)) + 4|0); _spanSet($yygotominor,$1226,$1228); $1229 = HEAP32[$yymsp>>2]|0; - $1230 = (($1229) + -32|0); - $1231 = (($1230) + 4|0); + $1230 = ((($1229)) + -32|0); + $1231 = ((($1230)) + 4|0); $1232 = HEAP16[$1231>>1]|0; $1233 = $1232&65535; $1234 = ($1233|0)!=(0); @@ -63048,7 +62040,7 @@ function _yy_reduce($yypParser,$yyruleno) { $1236 = ($1235|0)!=(0|0); if ($1236) { $1237 = HEAP32[$yygotominor>>2]|0; - $1238 = (($1237) + 4|0); + $1238 = ((($1237)) + 4|0); $1239 = HEAP32[$1238>>2]|0; $1240 = $1239 | 16; HEAP32[$1238>>2] = $1240; @@ -63059,88 +62051,88 @@ function _yy_reduce($yypParser,$yyruleno) { case 196: { $1241 = HEAP32[$pParse>>2]|0; $1242 = HEAP32[$yymsp>>2]|0; - $1243 = (($1242) + -48|0); - $1244 = (($1243) + 4|0); + $1243 = ((($1242)) + -48|0); + $1244 = ((($1243)) + 4|0); $1245 = (_sqlite3ExprFunction($1241,0,$1244)|0); HEAP32[$yygotominor>>2] = $1245; $1246 = HEAP32[$yymsp>>2]|0; - $1247 = (($1246) + -48|0); - $1248 = (($1247) + 4|0); + $1247 = ((($1246)) + -48|0); + $1248 = ((($1247)) + 4|0); $1249 = HEAP32[$yymsp>>2]|0; - $1250 = (($1249) + 4|0); + $1250 = ((($1249)) + 4|0); _spanSet($yygotominor,$1248,$1250); break; } case 197: { $1251 = HEAP32[$pParse>>2]|0; $1252 = HEAP32[$yymsp>>2]|0; - $1253 = (($1252) + 4|0); + $1253 = ((($1252)) + 4|0); $1254 = (_sqlite3ExprFunction($1251,0,$1253)|0); HEAP32[$yygotominor>>2] = $1254; $1255 = HEAP32[$yymsp>>2]|0; - $1256 = (($1255) + 4|0); + $1256 = ((($1255)) + 4|0); $1257 = HEAP32[$yymsp>>2]|0; - $1258 = (($1257) + 4|0); + $1258 = ((($1257)) + 4|0); _spanSet($yygotominor,$1256,$1258); break; } case 205: case 204: case 203: case 202: case 201: case 200: case 199: case 198: { $1259 = HEAP32[$pParse>>2]|0; $1260 = HEAP32[$yymsp>>2]|0; - $1261 = (($1260) + -16|0); - $1262 = (($1261) + 2|0); + $1261 = ((($1260)) + -16|0); + $1262 = ((($1261)) + 2|0); $1263 = HEAP8[$1262>>0]|0; $1264 = $1263&255; $1265 = HEAP32[$yymsp>>2]|0; - $1266 = (($1265) + -32|0); - $1267 = (($1266) + 4|0); + $1266 = ((($1265)) + -32|0); + $1267 = ((($1266)) + 4|0); $1268 = HEAP32[$yymsp>>2]|0; - $1269 = (($1268) + 4|0); + $1269 = ((($1268)) + 4|0); _spanBinaryExpr($yygotominor,$1259,$1264,$1267,$1269); break; } case 206: { $1270 = HEAP32[$yymsp>>2]|0; - $1271 = (($1270) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$1271+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1271+4>>2]|0; - $1272 = (($yygotominor) + 8|0); + $1271 = ((($1270)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$1271>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1271+4>>2]|0; + $1272 = ((($yygotominor)) + 8|0); HEAP32[$1272>>2] = 0; break; } case 207: { $1273 = HEAP32[$yymsp>>2]|0; - $1274 = (($1273) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$1274+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1274+4>>2]|0; - $1275 = (($yygotominor) + 8|0); + $1274 = ((($1273)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$1274>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1274+4>>2]|0; + $1275 = ((($yygotominor)) + 8|0); HEAP32[$1275>>2] = 1; break; } case 208: { $1276 = HEAP32[$pParse>>2]|0; $1277 = HEAP32[$yymsp>>2]|0; - $1278 = (($1277) + 4|0); + $1278 = ((($1277)) + 4|0); $1279 = HEAP32[$1278>>2]|0; $1280 = (_sqlite3ExprListAppend($1276,0,$1279)|0); HEAP32[$pList>>2] = $1280; $1281 = HEAP32[$pParse>>2]|0; $1282 = HEAP32[$pList>>2]|0; $1283 = HEAP32[$yymsp>>2]|0; - $1284 = (($1283) + -32|0); - $1285 = (($1284) + 4|0); + $1284 = ((($1283)) + -32|0); + $1285 = ((($1284)) + 4|0); $1286 = HEAP32[$1285>>2]|0; $1287 = (_sqlite3ExprListAppend($1281,$1282,$1286)|0); HEAP32[$pList>>2] = $1287; $1288 = HEAP32[$pParse>>2]|0; $1289 = HEAP32[$pList>>2]|0; $1290 = HEAP32[$yymsp>>2]|0; - $1291 = (($1290) + -16|0); - $1292 = (($1291) + 4|0); + $1291 = ((($1290)) + -16|0); + $1292 = ((($1291)) + 4|0); $1293 = (_sqlite3ExprFunction($1288,$1289,$1292)|0); HEAP32[$yygotominor>>2] = $1293; $1294 = HEAP32[$yymsp>>2]|0; - $1295 = (($1294) + -16|0); - $1296 = (($1295) + 4|0); - $1297 = (($1296) + 8|0); + $1295 = ((($1294)) + -16|0); + $1296 = ((($1295)) + 4|0); + $1297 = ((($1296)) + 8|0); $1298 = HEAP32[$1297>>2]|0; $1299 = ($1298|0)!=(0); if ($1299) { @@ -63150,23 +62142,23 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = $1302; } $1303 = HEAP32[$yymsp>>2]|0; - $1304 = (($1303) + -32|0); - $1305 = (($1304) + 4|0); - $1306 = (($1305) + 4|0); + $1304 = ((($1303)) + -32|0); + $1305 = ((($1304)) + 4|0); + $1306 = ((($1305)) + 4|0); $1307 = HEAP32[$1306>>2]|0; - $1308 = (($yygotominor) + 4|0); + $1308 = ((($yygotominor)) + 4|0); HEAP32[$1308>>2] = $1307; $1309 = HEAP32[$yymsp>>2]|0; - $1310 = (($1309) + 4|0); - $1311 = (($1310) + 8|0); + $1310 = ((($1309)) + 4|0); + $1311 = ((($1310)) + 8|0); $1312 = HEAP32[$1311>>2]|0; - $1313 = (($yygotominor) + 8|0); + $1313 = ((($yygotominor)) + 8|0); HEAP32[$1313>>2] = $1312; $1314 = HEAP32[$yygotominor>>2]|0; $1315 = ($1314|0)!=(0|0); if ($1315) { $1316 = HEAP32[$yygotominor>>2]|0; - $1317 = (($1316) + 4|0); + $1317 = ((($1316)) + 4|0); $1318 = HEAP32[$1317>>2]|0; $1319 = $1318 | 128; HEAP32[$1317>>2] = $1319; @@ -63176,37 +62168,37 @@ function _yy_reduce($yypParser,$yyruleno) { case 209: { $1320 = HEAP32[$pParse>>2]|0; $1321 = HEAP32[$yymsp>>2]|0; - $1322 = (($1321) + -32|0); - $1323 = (($1322) + 4|0); + $1322 = ((($1321)) + -32|0); + $1323 = ((($1322)) + 4|0); $1324 = HEAP32[$1323>>2]|0; $1325 = (_sqlite3ExprListAppend($1320,0,$1324)|0); HEAP32[$pList6>>2] = $1325; $1326 = HEAP32[$pParse>>2]|0; $1327 = HEAP32[$pList6>>2]|0; $1328 = HEAP32[$yymsp>>2]|0; - $1329 = (($1328) + -64|0); - $1330 = (($1329) + 4|0); + $1329 = ((($1328)) + -64|0); + $1330 = ((($1329)) + 4|0); $1331 = HEAP32[$1330>>2]|0; $1332 = (_sqlite3ExprListAppend($1326,$1327,$1331)|0); HEAP32[$pList6>>2] = $1332; $1333 = HEAP32[$pParse>>2]|0; $1334 = HEAP32[$pList6>>2]|0; $1335 = HEAP32[$yymsp>>2]|0; - $1336 = (($1335) + 4|0); + $1336 = ((($1335)) + 4|0); $1337 = HEAP32[$1336>>2]|0; $1338 = (_sqlite3ExprListAppend($1333,$1334,$1337)|0); HEAP32[$pList6>>2] = $1338; $1339 = HEAP32[$pParse>>2]|0; $1340 = HEAP32[$pList6>>2]|0; $1341 = HEAP32[$yymsp>>2]|0; - $1342 = (($1341) + -48|0); - $1343 = (($1342) + 4|0); + $1342 = ((($1341)) + -48|0); + $1343 = ((($1342)) + 4|0); $1344 = (_sqlite3ExprFunction($1339,$1340,$1343)|0); HEAP32[$yygotominor>>2] = $1344; $1345 = HEAP32[$yymsp>>2]|0; - $1346 = (($1345) + -48|0); - $1347 = (($1346) + 4|0); - $1348 = (($1347) + 8|0); + $1346 = ((($1345)) + -48|0); + $1347 = ((($1346)) + 4|0); + $1348 = ((($1347)) + 8|0); $1349 = HEAP32[$1348>>2]|0; $1350 = ($1349|0)!=(0); if ($1350) { @@ -63216,208 +62208,64 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = $1353; } $1354 = HEAP32[$yymsp>>2]|0; - $1355 = (($1354) + -64|0); - $1356 = (($1355) + 4|0); - $1357 = (($1356) + 4|0); + $1355 = ((($1354)) + -64|0); + $1356 = ((($1355)) + 4|0); + $1357 = ((($1356)) + 4|0); $1358 = HEAP32[$1357>>2]|0; - $1359 = (($yygotominor) + 4|0); + $1359 = ((($yygotominor)) + 4|0); HEAP32[$1359>>2] = $1358; $1360 = HEAP32[$yymsp>>2]|0; - $1361 = (($1360) + 4|0); - $1362 = (($1361) + 8|0); + $1361 = ((($1360)) + 4|0); + $1362 = ((($1361)) + 8|0); $1363 = HEAP32[$1362>>2]|0; - $1364 = (($yygotominor) + 8|0); + $1364 = ((($yygotominor)) + 8|0); HEAP32[$1364>>2] = $1363; $1365 = HEAP32[$yygotominor>>2]|0; $1366 = ($1365|0)!=(0|0); if ($1366) { $1367 = HEAP32[$yygotominor>>2]|0; - $1368 = (($1367) + 4|0); + $1368 = ((($1367)) + 4|0); $1369 = HEAP32[$1368>>2]|0; $1370 = $1369 | 128; HEAP32[$1368>>2] = $1370; } break; } - case 223: { - $1477 = HEAP32[$yymsp>>2]|0; - $1478 = (($1477) + -16|0); - $1479 = (($1478) + 4|0); - $1480 = HEAP32[$1479>>2]|0; - $1481 = ($1480|0)==(0|0); - do { - if ($1481) { - $1482 = HEAP32[$pParse>>2]|0; - $1483 = HEAP32[$yymsp>>2]|0; - $1484 = (($1483) + -48|0); - $1485 = (($1484) + 4|0); - $1486 = HEAP32[$1485>>2]|0; - $1487 = (10152 + ($1486<<3)|0); - $1488 = (_sqlite3PExpr($1482,132,0,0,$1487)|0); - HEAP32[$yygotominor>>2] = $1488; - $1489 = HEAP32[$pParse>>2]|0; - $1490 = HEAP32[$1489>>2]|0; - $1491 = HEAP32[$yymsp>>2]|0; - $1492 = (($1491) + -64|0); - $1493 = (($1492) + 4|0); - $1494 = HEAP32[$1493>>2]|0; - _sqlite3ExprDelete($1490,$1494); - } else { - $1495 = HEAP32[$yymsp>>2]|0; - $1496 = (($1495) + -16|0); - $1497 = (($1496) + 4|0); - $1498 = HEAP32[$1497>>2]|0; - $1499 = HEAP32[$1498>>2]|0; - $1500 = ($1499|0)==(1); - if ($1500) { - $1501 = HEAP32[$yymsp>>2]|0; - $1502 = (($1501) + -16|0); - $1503 = (($1502) + 4|0); - $1504 = HEAP32[$1503>>2]|0; - $1505 = (($1504) + 4|0); - $1506 = HEAP32[$1505>>2]|0; - $1507 = HEAP32[$1506>>2]|0; - HEAP32[$pRHS>>2] = $1507; - $1508 = HEAP32[$yymsp>>2]|0; - $1509 = (($1508) + -16|0); - $1510 = (($1509) + 4|0); - $1511 = HEAP32[$1510>>2]|0; - $1512 = (($1511) + 4|0); - $1513 = HEAP32[$1512>>2]|0; - HEAP32[$1513>>2] = 0; - $1514 = HEAP32[$pParse>>2]|0; - $1515 = HEAP32[$1514>>2]|0; - $1516 = HEAP32[$yymsp>>2]|0; - $1517 = (($1516) + -16|0); - $1518 = (($1517) + 4|0); - $1519 = HEAP32[$1518>>2]|0; - _sqlite3ExprListDelete($1515,$1519); - $1520 = HEAP32[$pRHS>>2]|0; - $1521 = ($1520|0)!=(0|0); - if ($1521) { - $1522 = HEAP32[$pRHS>>2]|0; - $1523 = (($1522) + 4|0); - $1524 = HEAP32[$1523>>2]|0; - $1525 = $1524 & -257; - HEAP32[$1523>>2] = $1525; - $1526 = HEAP32[$pRHS>>2]|0; - $1527 = (($1526) + 4|0); - $1528 = HEAP32[$1527>>2]|0; - $1529 = $1528 | 512; - HEAP32[$1527>>2] = $1529; - } - $1530 = HEAP32[$pParse>>2]|0; - $1531 = HEAP32[$yymsp>>2]|0; - $1532 = (($1531) + -48|0); - $1533 = (($1532) + 4|0); - $1534 = HEAP32[$1533>>2]|0; - $1535 = ($1534|0)!=(0); - $1536 = $1535 ? 78 : 79; - $1537 = HEAP32[$yymsp>>2]|0; - $1538 = (($1537) + -64|0); - $1539 = (($1538) + 4|0); - $1540 = HEAP32[$1539>>2]|0; - $1541 = HEAP32[$pRHS>>2]|0; - $1542 = (_sqlite3PExpr($1530,$1536,$1540,$1541,0)|0); - HEAP32[$yygotominor>>2] = $1542; - break; - } - $1543 = HEAP32[$pParse>>2]|0; - $1544 = HEAP32[$yymsp>>2]|0; - $1545 = (($1544) + -64|0); - $1546 = (($1545) + 4|0); - $1547 = HEAP32[$1546>>2]|0; - $1548 = (_sqlite3PExpr($1543,75,$1547,0,0)|0); - HEAP32[$yygotominor>>2] = $1548; - $1549 = HEAP32[$yygotominor>>2]|0; - $1550 = ($1549|0)!=(0|0); - if ($1550) { - $1551 = HEAP32[$yymsp>>2]|0; - $1552 = (($1551) + -16|0); - $1553 = (($1552) + 4|0); - $1554 = HEAP32[$1553>>2]|0; - $1555 = HEAP32[$yygotominor>>2]|0; - $1556 = (($1555) + 20|0); - HEAP32[$1556>>2] = $1554; - $1557 = HEAP32[$pParse>>2]|0; - $1558 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprSetHeight($1557,$1558); - } else { - $1559 = HEAP32[$pParse>>2]|0; - $1560 = HEAP32[$1559>>2]|0; - $1561 = HEAP32[$yymsp>>2]|0; - $1562 = (($1561) + -16|0); - $1563 = (($1562) + 4|0); - $1564 = HEAP32[$1563>>2]|0; - _sqlite3ExprListDelete($1560,$1564); - } - $1565 = HEAP32[$yymsp>>2]|0; - $1566 = (($1565) + -48|0); - $1567 = (($1566) + 4|0); - $1568 = HEAP32[$1567>>2]|0; - $1569 = ($1568|0)!=(0); - if ($1569) { - $1570 = HEAP32[$pParse>>2]|0; - $1571 = HEAP32[$yygotominor>>2]|0; - $1572 = (_sqlite3PExpr($1570,19,$1571,0,0)|0); - HEAP32[$yygotominor>>2] = $1572; - } - } - } while(0); - $1573 = HEAP32[$yymsp>>2]|0; - $1574 = (($1573) + -64|0); - $1575 = (($1574) + 4|0); - $1576 = (($1575) + 4|0); - $1577 = HEAP32[$1576>>2]|0; - $1578 = (($yygotominor) + 4|0); - HEAP32[$1578>>2] = $1577; - $1579 = HEAP32[$yymsp>>2]|0; - $1580 = (($1579) + 4|0); - $1581 = (($1580) + 4|0); - $1582 = HEAP32[$1581>>2]|0; - $1583 = HEAP32[$yymsp>>2]|0; - $1584 = (($1583) + 4|0); - $1585 = HEAP32[$1584>>2]|0; - $1586 = (($1585) + ($1582)|0); - $1587 = (($yygotominor) + 8|0); - HEAP32[$1587>>2] = $1586; - break; - } case 210: { $1371 = HEAP32[$pParse>>2]|0; $1372 = HEAP32[$yymsp>>2]|0; - $1373 = (($1372) + 2|0); + $1373 = ((($1372)) + 2|0); $1374 = HEAP8[$1373>>0]|0; $1375 = $1374&255; $1376 = HEAP32[$yymsp>>2]|0; - $1377 = (($1376) + -16|0); - $1378 = (($1377) + 4|0); + $1377 = ((($1376)) + -16|0); + $1378 = ((($1377)) + 4|0); $1379 = HEAP32[$yymsp>>2]|0; - $1380 = (($1379) + 4|0); + $1380 = ((($1379)) + 4|0); _spanUnaryPostfix($yygotominor,$1371,$1375,$1378,$1380); break; } case 211: { $1381 = HEAP32[$pParse>>2]|0; $1382 = HEAP32[$yymsp>>2]|0; - $1383 = (($1382) + -32|0); - $1384 = (($1383) + 4|0); + $1383 = ((($1382)) + -32|0); + $1384 = ((($1383)) + 4|0); $1385 = HEAP32[$yymsp>>2]|0; - $1386 = (($1385) + 4|0); + $1386 = ((($1385)) + 4|0); _spanUnaryPostfix($yygotominor,$1381,77,$1384,$1386); break; } case 212: { $1387 = HEAP32[$pParse>>2]|0; $1388 = HEAP32[$yymsp>>2]|0; - $1389 = (($1388) + -32|0); - $1390 = (($1389) + 4|0); + $1389 = ((($1388)) + -32|0); + $1390 = ((($1389)) + 4|0); $1391 = HEAP32[$yymsp>>2]|0; - $1392 = (($1391) + 4|0); + $1392 = ((($1391)) + 4|0); _spanBinaryExpr($yygotominor,$1387,73,$1390,$1392); $1393 = HEAP32[$pParse>>2]|0; $1394 = HEAP32[$yymsp>>2]|0; - $1395 = (($1394) + 4|0); + $1395 = ((($1394)) + 4|0); $1396 = HEAP32[$1395>>2]|0; $1397 = HEAP32[$yygotominor>>2]|0; _binaryToUnaryIfNull($1393,$1396,$1397,76); @@ -63426,14 +62274,14 @@ function _yy_reduce($yypParser,$yyruleno) { case 213: { $1398 = HEAP32[$pParse>>2]|0; $1399 = HEAP32[$yymsp>>2]|0; - $1400 = (($1399) + -48|0); - $1401 = (($1400) + 4|0); + $1400 = ((($1399)) + -48|0); + $1401 = ((($1400)) + 4|0); $1402 = HEAP32[$yymsp>>2]|0; - $1403 = (($1402) + 4|0); + $1403 = ((($1402)) + 4|0); _spanBinaryExpr($yygotominor,$1398,148,$1401,$1403); $1404 = HEAP32[$pParse>>2]|0; $1405 = HEAP32[$yymsp>>2]|0; - $1406 = (($1405) + 4|0); + $1406 = ((($1405)) + 4|0); $1407 = HEAP32[$1406>>2]|0; $1408 = HEAP32[$yygotominor>>2]|0; _binaryToUnaryIfNull($1404,$1407,$1408,77); @@ -63442,57 +62290,57 @@ function _yy_reduce($yypParser,$yyruleno) { case 215: case 214: { $1409 = HEAP32[$pParse>>2]|0; $1410 = HEAP32[$yymsp>>2]|0; - $1411 = (($1410) + -16|0); - $1412 = (($1411) + 2|0); + $1411 = ((($1410)) + -16|0); + $1412 = ((($1411)) + 2|0); $1413 = HEAP8[$1412>>0]|0; $1414 = $1413&255; $1415 = HEAP32[$yymsp>>2]|0; - $1416 = (($1415) + 4|0); + $1416 = ((($1415)) + 4|0); $1417 = HEAP32[$yymsp>>2]|0; - $1418 = (($1417) + -16|0); - $1419 = (($1418) + 4|0); + $1418 = ((($1417)) + -16|0); + $1419 = ((($1418)) + 4|0); _spanUnaryPrefix($yygotominor,$1409,$1414,$1416,$1419); break; } case 216: { $1420 = HEAP32[$pParse>>2]|0; $1421 = HEAP32[$yymsp>>2]|0; - $1422 = (($1421) + 4|0); + $1422 = ((($1421)) + 4|0); $1423 = HEAP32[$yymsp>>2]|0; - $1424 = (($1423) + -16|0); - $1425 = (($1424) + 4|0); + $1424 = ((($1423)) + -16|0); + $1425 = ((($1424)) + 4|0); _spanUnaryPrefix($yygotominor,$1420,157,$1422,$1425); break; } case 217: { $1426 = HEAP32[$pParse>>2]|0; $1427 = HEAP32[$yymsp>>2]|0; - $1428 = (($1427) + 4|0); + $1428 = ((($1427)) + 4|0); $1429 = HEAP32[$yymsp>>2]|0; - $1430 = (($1429) + -16|0); - $1431 = (($1430) + 4|0); + $1430 = ((($1429)) + -16|0); + $1431 = ((($1430)) + 4|0); _spanUnaryPrefix($yygotominor,$1426,158,$1428,$1431); break; } case 220: { $1432 = HEAP32[$pParse>>2]|0; $1433 = HEAP32[$yymsp>>2]|0; - $1434 = (($1433) + -32|0); - $1435 = (($1434) + 4|0); + $1434 = ((($1433)) + -32|0); + $1435 = ((($1434)) + 4|0); $1436 = HEAP32[$1435>>2]|0; $1437 = (_sqlite3ExprListAppend($1432,0,$1436)|0); HEAP32[$pList7>>2] = $1437; $1438 = HEAP32[$pParse>>2]|0; $1439 = HEAP32[$pList7>>2]|0; $1440 = HEAP32[$yymsp>>2]|0; - $1441 = (($1440) + 4|0); + $1441 = ((($1440)) + 4|0); $1442 = HEAP32[$1441>>2]|0; $1443 = (_sqlite3ExprListAppend($1438,$1439,$1442)|0); HEAP32[$pList7>>2] = $1443; $1444 = HEAP32[$pParse>>2]|0; $1445 = HEAP32[$yymsp>>2]|0; - $1446 = (($1445) + -64|0); - $1447 = (($1446) + 4|0); + $1446 = ((($1445)) + -64|0); + $1447 = ((($1446)) + 4|0); $1448 = HEAP32[$1447>>2]|0; $1449 = (_sqlite3PExpr($1444,74,$1448,0,0)|0); HEAP32[$yygotominor>>2] = $1449; @@ -63501,7 +62349,7 @@ function _yy_reduce($yypParser,$yyruleno) { if ($1451) { $1452 = HEAP32[$pList7>>2]|0; $1453 = HEAP32[$yygotominor>>2]|0; - $1454 = (($1453) + 20|0); + $1454 = ((($1453)) + 20|0); HEAP32[$1454>>2] = $1452; } else { $1455 = HEAP32[$pParse>>2]|0; @@ -63510,8 +62358,8 @@ function _yy_reduce($yypParser,$yyruleno) { _sqlite3ExprListDelete($1456,$1457); } $1458 = HEAP32[$yymsp>>2]|0; - $1459 = (($1458) + -48|0); - $1460 = (($1459) + 4|0); + $1459 = ((($1458)) + -48|0); + $1460 = ((($1459)) + 4|0); $1461 = HEAP32[$1460>>2]|0; $1462 = ($1461|0)!=(0); if ($1462) { @@ -63521,20 +62369,164 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = $1465; } $1466 = HEAP32[$yymsp>>2]|0; - $1467 = (($1466) + -64|0); - $1468 = (($1467) + 4|0); - $1469 = (($1468) + 4|0); + $1467 = ((($1466)) + -64|0); + $1468 = ((($1467)) + 4|0); + $1469 = ((($1468)) + 4|0); $1470 = HEAP32[$1469>>2]|0; - $1471 = (($yygotominor) + 4|0); + $1471 = ((($yygotominor)) + 4|0); HEAP32[$1471>>2] = $1470; $1472 = HEAP32[$yymsp>>2]|0; - $1473 = (($1472) + 4|0); - $1474 = (($1473) + 8|0); + $1473 = ((($1472)) + 4|0); + $1474 = ((($1473)) + 8|0); $1475 = HEAP32[$1474>>2]|0; - $1476 = (($yygotominor) + 8|0); + $1476 = ((($yygotominor)) + 8|0); HEAP32[$1476>>2] = $1475; break; } + case 223: { + $1477 = HEAP32[$yymsp>>2]|0; + $1478 = ((($1477)) + -16|0); + $1479 = ((($1478)) + 4|0); + $1480 = HEAP32[$1479>>2]|0; + $1481 = ($1480|0)==(0|0); + do { + if ($1481) { + $1482 = HEAP32[$pParse>>2]|0; + $1483 = HEAP32[$yymsp>>2]|0; + $1484 = ((($1483)) + -48|0); + $1485 = ((($1484)) + 4|0); + $1486 = HEAP32[$1485>>2]|0; + $1487 = (2276 + ($1486<<3)|0); + $1488 = (_sqlite3PExpr($1482,132,0,0,$1487)|0); + HEAP32[$yygotominor>>2] = $1488; + $1489 = HEAP32[$pParse>>2]|0; + $1490 = HEAP32[$1489>>2]|0; + $1491 = HEAP32[$yymsp>>2]|0; + $1492 = ((($1491)) + -64|0); + $1493 = ((($1492)) + 4|0); + $1494 = HEAP32[$1493>>2]|0; + _sqlite3ExprDelete($1490,$1494); + } else { + $1495 = HEAP32[$yymsp>>2]|0; + $1496 = ((($1495)) + -16|0); + $1497 = ((($1496)) + 4|0); + $1498 = HEAP32[$1497>>2]|0; + $1499 = HEAP32[$1498>>2]|0; + $1500 = ($1499|0)==(1); + if ($1500) { + $1501 = HEAP32[$yymsp>>2]|0; + $1502 = ((($1501)) + -16|0); + $1503 = ((($1502)) + 4|0); + $1504 = HEAP32[$1503>>2]|0; + $1505 = ((($1504)) + 4|0); + $1506 = HEAP32[$1505>>2]|0; + $1507 = HEAP32[$1506>>2]|0; + HEAP32[$pRHS>>2] = $1507; + $1508 = HEAP32[$yymsp>>2]|0; + $1509 = ((($1508)) + -16|0); + $1510 = ((($1509)) + 4|0); + $1511 = HEAP32[$1510>>2]|0; + $1512 = ((($1511)) + 4|0); + $1513 = HEAP32[$1512>>2]|0; + HEAP32[$1513>>2] = 0; + $1514 = HEAP32[$pParse>>2]|0; + $1515 = HEAP32[$1514>>2]|0; + $1516 = HEAP32[$yymsp>>2]|0; + $1517 = ((($1516)) + -16|0); + $1518 = ((($1517)) + 4|0); + $1519 = HEAP32[$1518>>2]|0; + _sqlite3ExprListDelete($1515,$1519); + $1520 = HEAP32[$pRHS>>2]|0; + $1521 = ($1520|0)!=(0|0); + if ($1521) { + $1522 = HEAP32[$pRHS>>2]|0; + $1523 = ((($1522)) + 4|0); + $1524 = HEAP32[$1523>>2]|0; + $1525 = $1524 & -257; + HEAP32[$1523>>2] = $1525; + $1526 = HEAP32[$pRHS>>2]|0; + $1527 = ((($1526)) + 4|0); + $1528 = HEAP32[$1527>>2]|0; + $1529 = $1528 | 512; + HEAP32[$1527>>2] = $1529; + } + $1530 = HEAP32[$pParse>>2]|0; + $1531 = HEAP32[$yymsp>>2]|0; + $1532 = ((($1531)) + -48|0); + $1533 = ((($1532)) + 4|0); + $1534 = HEAP32[$1533>>2]|0; + $1535 = ($1534|0)!=(0); + $1536 = $1535 ? 78 : 79; + $1537 = HEAP32[$yymsp>>2]|0; + $1538 = ((($1537)) + -64|0); + $1539 = ((($1538)) + 4|0); + $1540 = HEAP32[$1539>>2]|0; + $1541 = HEAP32[$pRHS>>2]|0; + $1542 = (_sqlite3PExpr($1530,$1536,$1540,$1541,0)|0); + HEAP32[$yygotominor>>2] = $1542; + break; + } + $1543 = HEAP32[$pParse>>2]|0; + $1544 = HEAP32[$yymsp>>2]|0; + $1545 = ((($1544)) + -64|0); + $1546 = ((($1545)) + 4|0); + $1547 = HEAP32[$1546>>2]|0; + $1548 = (_sqlite3PExpr($1543,75,$1547,0,0)|0); + HEAP32[$yygotominor>>2] = $1548; + $1549 = HEAP32[$yygotominor>>2]|0; + $1550 = ($1549|0)!=(0|0); + if ($1550) { + $1551 = HEAP32[$yymsp>>2]|0; + $1552 = ((($1551)) + -16|0); + $1553 = ((($1552)) + 4|0); + $1554 = HEAP32[$1553>>2]|0; + $1555 = HEAP32[$yygotominor>>2]|0; + $1556 = ((($1555)) + 20|0); + HEAP32[$1556>>2] = $1554; + $1557 = HEAP32[$pParse>>2]|0; + $1558 = HEAP32[$yygotominor>>2]|0; + _sqlite3ExprSetHeight($1557,$1558); + } else { + $1559 = HEAP32[$pParse>>2]|0; + $1560 = HEAP32[$1559>>2]|0; + $1561 = HEAP32[$yymsp>>2]|0; + $1562 = ((($1561)) + -16|0); + $1563 = ((($1562)) + 4|0); + $1564 = HEAP32[$1563>>2]|0; + _sqlite3ExprListDelete($1560,$1564); + } + $1565 = HEAP32[$yymsp>>2]|0; + $1566 = ((($1565)) + -48|0); + $1567 = ((($1566)) + 4|0); + $1568 = HEAP32[$1567>>2]|0; + $1569 = ($1568|0)!=(0); + if ($1569) { + $1570 = HEAP32[$pParse>>2]|0; + $1571 = HEAP32[$yygotominor>>2]|0; + $1572 = (_sqlite3PExpr($1570,19,$1571,0,0)|0); + HEAP32[$yygotominor>>2] = $1572; + } + } + } while(0); + $1573 = HEAP32[$yymsp>>2]|0; + $1574 = ((($1573)) + -64|0); + $1575 = ((($1574)) + 4|0); + $1576 = ((($1575)) + 4|0); + $1577 = HEAP32[$1576>>2]|0; + $1578 = ((($yygotominor)) + 4|0); + HEAP32[$1578>>2] = $1577; + $1579 = HEAP32[$yymsp>>2]|0; + $1580 = ((($1579)) + 4|0); + $1581 = ((($1580)) + 4|0); + $1582 = HEAP32[$1581>>2]|0; + $1583 = HEAP32[$yymsp>>2]|0; + $1584 = ((($1583)) + 4|0); + $1585 = HEAP32[$1584>>2]|0; + $1586 = (($1585) + ($1582)|0); + $1587 = ((($yygotominor)) + 8|0); + HEAP32[$1587>>2] = $1586; + break; + } case 224: { $1588 = HEAP32[$pParse>>2]|0; $1589 = (_sqlite3PExpr($1588,119,0,0,0)|0); @@ -63543,14 +62535,14 @@ function _yy_reduce($yypParser,$yyruleno) { $1591 = ($1590|0)!=(0|0); if ($1591) { $1592 = HEAP32[$yymsp>>2]|0; - $1593 = (($1592) + -16|0); - $1594 = (($1593) + 4|0); + $1593 = ((($1592)) + -16|0); + $1594 = ((($1593)) + 4|0); $1595 = HEAP32[$1594>>2]|0; $1596 = HEAP32[$yygotominor>>2]|0; - $1597 = (($1596) + 20|0); + $1597 = ((($1596)) + 20|0); HEAP32[$1597>>2] = $1595; $1598 = HEAP32[$yygotominor>>2]|0; - $1599 = (($1598) + 4|0); + $1599 = ((($1598)) + 4|0); $1600 = HEAP32[$1599>>2]|0; $1601 = $1600 | 2048; HEAP32[$1599>>2] = $1601; @@ -63561,34 +62553,34 @@ function _yy_reduce($yypParser,$yyruleno) { $1604 = HEAP32[$pParse>>2]|0; $1605 = HEAP32[$1604>>2]|0; $1606 = HEAP32[$yymsp>>2]|0; - $1607 = (($1606) + -16|0); - $1608 = (($1607) + 4|0); + $1607 = ((($1606)) + -16|0); + $1608 = ((($1607)) + 4|0); $1609 = HEAP32[$1608>>2]|0; _sqlite3SelectDelete($1605,$1609); } $1610 = HEAP32[$yymsp>>2]|0; - $1611 = (($1610) + -32|0); - $1612 = (($1611) + 4|0); + $1611 = ((($1610)) + -32|0); + $1612 = ((($1611)) + 4|0); $1613 = HEAP32[$1612>>2]|0; - $1614 = (($yygotominor) + 4|0); + $1614 = ((($yygotominor)) + 4|0); HEAP32[$1614>>2] = $1613; $1615 = HEAP32[$yymsp>>2]|0; - $1616 = (($1615) + 4|0); - $1617 = (($1616) + 4|0); + $1616 = ((($1615)) + 4|0); + $1617 = ((($1616)) + 4|0); $1618 = HEAP32[$1617>>2]|0; $1619 = HEAP32[$yymsp>>2]|0; - $1620 = (($1619) + 4|0); + $1620 = ((($1619)) + 4|0); $1621 = HEAP32[$1620>>2]|0; $1622 = (($1621) + ($1618)|0); - $1623 = (($yygotominor) + 8|0); + $1623 = ((($yygotominor)) + 8|0); HEAP32[$1623>>2] = $1622; break; } case 225: { $1624 = HEAP32[$pParse>>2]|0; $1625 = HEAP32[$yymsp>>2]|0; - $1626 = (($1625) + -64|0); - $1627 = (($1626) + 4|0); + $1626 = ((($1625)) + -64|0); + $1627 = ((($1626)) + 4|0); $1628 = HEAP32[$1627>>2]|0; $1629 = (_sqlite3PExpr($1624,75,$1628,0,0)|0); HEAP32[$yygotominor>>2] = $1629; @@ -63596,14 +62588,14 @@ function _yy_reduce($yypParser,$yyruleno) { $1631 = ($1630|0)!=(0|0); if ($1631) { $1632 = HEAP32[$yymsp>>2]|0; - $1633 = (($1632) + -16|0); - $1634 = (($1633) + 4|0); + $1633 = ((($1632)) + -16|0); + $1634 = ((($1633)) + 4|0); $1635 = HEAP32[$1634>>2]|0; $1636 = HEAP32[$yygotominor>>2]|0; - $1637 = (($1636) + 20|0); + $1637 = ((($1636)) + 20|0); HEAP32[$1637>>2] = $1635; $1638 = HEAP32[$yygotominor>>2]|0; - $1639 = (($1638) + 4|0); + $1639 = ((($1638)) + 4|0); $1640 = HEAP32[$1639>>2]|0; $1641 = $1640 | 2048; HEAP32[$1639>>2] = $1641; @@ -63614,14 +62606,14 @@ function _yy_reduce($yypParser,$yyruleno) { $1644 = HEAP32[$pParse>>2]|0; $1645 = HEAP32[$1644>>2]|0; $1646 = HEAP32[$yymsp>>2]|0; - $1647 = (($1646) + -16|0); - $1648 = (($1647) + 4|0); + $1647 = ((($1646)) + -16|0); + $1648 = ((($1647)) + 4|0); $1649 = HEAP32[$1648>>2]|0; _sqlite3SelectDelete($1645,$1649); } $1650 = HEAP32[$yymsp>>2]|0; - $1651 = (($1650) + -48|0); - $1652 = (($1651) + 4|0); + $1651 = ((($1650)) + -48|0); + $1652 = ((($1651)) + 4|0); $1653 = HEAP32[$1652>>2]|0; $1654 = ($1653|0)!=(0); if ($1654) { @@ -63631,21 +62623,21 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = $1657; } $1658 = HEAP32[$yymsp>>2]|0; - $1659 = (($1658) + -64|0); - $1660 = (($1659) + 4|0); - $1661 = (($1660) + 4|0); + $1659 = ((($1658)) + -64|0); + $1660 = ((($1659)) + 4|0); + $1661 = ((($1660)) + 4|0); $1662 = HEAP32[$1661>>2]|0; - $1663 = (($yygotominor) + 4|0); + $1663 = ((($yygotominor)) + 4|0); HEAP32[$1663>>2] = $1662; $1664 = HEAP32[$yymsp>>2]|0; - $1665 = (($1664) + 4|0); - $1666 = (($1665) + 4|0); + $1665 = ((($1664)) + 4|0); + $1666 = ((($1665)) + 4|0); $1667 = HEAP32[$1666>>2]|0; $1668 = HEAP32[$yymsp>>2]|0; - $1669 = (($1668) + 4|0); + $1669 = ((($1668)) + 4|0); $1670 = HEAP32[$1669>>2]|0; $1671 = (($1670) + ($1667)|0); - $1672 = (($yygotominor) + 8|0); + $1672 = ((($yygotominor)) + 8|0); HEAP32[$1672>>2] = $1671; break; } @@ -63653,16 +62645,16 @@ function _yy_reduce($yypParser,$yyruleno) { $1673 = HEAP32[$pParse>>2]|0; $1674 = HEAP32[$1673>>2]|0; $1675 = HEAP32[$yymsp>>2]|0; - $1676 = (($1675) + -16|0); - $1677 = (($1676) + 4|0); + $1676 = ((($1675)) + -16|0); + $1677 = ((($1676)) + 4|0); $1678 = HEAP32[$yymsp>>2]|0; - $1679 = (($1678) + 4|0); + $1679 = ((($1678)) + 4|0); $1680 = (_sqlite3SrcListAppend($1674,0,$1677,$1679)|0); HEAP32[$pSrc>>2] = $1680; $1681 = HEAP32[$pParse>>2]|0; $1682 = HEAP32[$yymsp>>2]|0; - $1683 = (($1682) + -48|0); - $1684 = (($1683) + 4|0); + $1683 = ((($1682)) + -48|0); + $1684 = ((($1683)) + 4|0); $1685 = HEAP32[$1684>>2]|0; $1686 = (_sqlite3PExpr($1681,75,$1685,0,0)|0); HEAP32[$yygotominor>>2] = $1686; @@ -63673,10 +62665,10 @@ function _yy_reduce($yypParser,$yyruleno) { $1690 = HEAP32[$pSrc>>2]|0; $1691 = (_sqlite3SelectNew($1689,0,$1690,0,0,0,0,0,0,0)|0); $1692 = HEAP32[$yygotominor>>2]|0; - $1693 = (($1692) + 20|0); + $1693 = ((($1692)) + 20|0); HEAP32[$1693>>2] = $1691; $1694 = HEAP32[$yygotominor>>2]|0; - $1695 = (($1694) + 4|0); + $1695 = ((($1694)) + 4|0); $1696 = HEAP32[$1695>>2]|0; $1697 = $1696 | 2048; HEAP32[$1695>>2] = $1697; @@ -63689,8 +62681,8 @@ function _yy_reduce($yypParser,$yyruleno) { _sqlite3SrcListDelete($1700,$1701); } $1702 = HEAP32[$yymsp>>2]|0; - $1703 = (($1702) + -32|0); - $1704 = (($1703) + 4|0); + $1703 = ((($1702)) + -32|0); + $1704 = ((($1703)) + 4|0); $1705 = HEAP32[$1704>>2]|0; $1706 = ($1705|0)!=(0); if ($1706) { @@ -63700,39 +62692,39 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = $1709; } $1710 = HEAP32[$yymsp>>2]|0; - $1711 = (($1710) + -48|0); - $1712 = (($1711) + 4|0); - $1713 = (($1712) + 4|0); + $1711 = ((($1710)) + -48|0); + $1712 = ((($1711)) + 4|0); + $1713 = ((($1712)) + 4|0); $1714 = HEAP32[$1713>>2]|0; - $1715 = (($yygotominor) + 4|0); + $1715 = ((($yygotominor)) + 4|0); HEAP32[$1715>>2] = $1714; $1716 = HEAP32[$yymsp>>2]|0; - $1717 = (($1716) + 4|0); + $1717 = ((($1716)) + 4|0); $1718 = HEAP32[$1717>>2]|0; $1719 = ($1718|0)!=(0|0); $1720 = HEAP32[$yymsp>>2]|0; if ($1719) { - $1721 = (($1720) + 4|0); - $1722 = (($1721) + 4|0); + $1721 = ((($1720)) + 4|0); + $1722 = ((($1721)) + 4|0); $1723 = HEAP32[$1722>>2]|0; $1724 = HEAP32[$yymsp>>2]|0; - $1725 = (($1724) + 4|0); + $1725 = ((($1724)) + 4|0); $1726 = HEAP32[$1725>>2]|0; $1727 = (($1726) + ($1723)|0); $1738 = $1727; } else { - $1728 = (($1720) + -16|0); - $1729 = (($1728) + 4|0); - $1730 = (($1729) + 4|0); + $1728 = ((($1720)) + -16|0); + $1729 = ((($1728)) + 4|0); + $1730 = ((($1729)) + 4|0); $1731 = HEAP32[$1730>>2]|0; $1732 = HEAP32[$yymsp>>2]|0; - $1733 = (($1732) + -16|0); - $1734 = (($1733) + 4|0); + $1733 = ((($1732)) + -16|0); + $1734 = ((($1733)) + 4|0); $1735 = HEAP32[$1734>>2]|0; $1736 = (($1735) + ($1731)|0); $1738 = $1736; } - $1737 = (($yygotominor) + 8|0); + $1737 = ((($yygotominor)) + 8|0); HEAP32[$1737>>2] = $1738; break; } @@ -63745,14 +62737,14 @@ function _yy_reduce($yypParser,$yyruleno) { $1742 = ($1741|0)!=(0|0); if ($1742) { $1743 = HEAP32[$yymsp>>2]|0; - $1744 = (($1743) + -16|0); - $1745 = (($1744) + 4|0); + $1744 = ((($1743)) + -16|0); + $1745 = ((($1744)) + 4|0); $1746 = HEAP32[$1745>>2]|0; $1747 = HEAP32[$p8>>2]|0; - $1748 = (($1747) + 20|0); + $1748 = ((($1747)) + 20|0); HEAP32[$1748>>2] = $1746; $1749 = HEAP32[$p8>>2]|0; - $1750 = (($1749) + 4|0); + $1750 = ((($1749)) + 4|0); $1751 = HEAP32[$1750>>2]|0; $1752 = $1751 | 2048; HEAP32[$1750>>2] = $1752; @@ -63763,34 +62755,34 @@ function _yy_reduce($yypParser,$yyruleno) { $1755 = HEAP32[$pParse>>2]|0; $1756 = HEAP32[$1755>>2]|0; $1757 = HEAP32[$yymsp>>2]|0; - $1758 = (($1757) + -16|0); - $1759 = (($1758) + 4|0); + $1758 = ((($1757)) + -16|0); + $1759 = ((($1758)) + 4|0); $1760 = HEAP32[$1759>>2]|0; _sqlite3SelectDelete($1756,$1760); } $1761 = HEAP32[$yymsp>>2]|0; - $1762 = (($1761) + -48|0); - $1763 = (($1762) + 4|0); + $1762 = ((($1761)) + -48|0); + $1763 = ((($1762)) + 4|0); $1764 = HEAP32[$1763>>2]|0; - $1765 = (($yygotominor) + 4|0); + $1765 = ((($yygotominor)) + 4|0); HEAP32[$1765>>2] = $1764; $1766 = HEAP32[$yymsp>>2]|0; - $1767 = (($1766) + 4|0); - $1768 = (($1767) + 4|0); + $1767 = ((($1766)) + 4|0); + $1768 = ((($1767)) + 4|0); $1769 = HEAP32[$1768>>2]|0; $1770 = HEAP32[$yymsp>>2]|0; - $1771 = (($1770) + 4|0); + $1771 = ((($1770)) + 4|0); $1772 = HEAP32[$1771>>2]|0; $1773 = (($1772) + ($1769)|0); - $1774 = (($yygotominor) + 8|0); + $1774 = ((($yygotominor)) + 8|0); HEAP32[$1774>>2] = $1773; break; } case 228: { $1775 = HEAP32[$pParse>>2]|0; $1776 = HEAP32[$yymsp>>2]|0; - $1777 = (($1776) + -48|0); - $1778 = (($1777) + 4|0); + $1777 = ((($1776)) + -48|0); + $1778 = ((($1777)) + 4|0); $1779 = HEAP32[$1778>>2]|0; $1780 = (_sqlite3PExpr($1775,136,$1779,0,0)|0); HEAP32[$yygotominor>>2] = $1780; @@ -63798,31 +62790,31 @@ function _yy_reduce($yypParser,$yyruleno) { $1782 = ($1781|0)!=(0|0); if ($1782) { $1783 = HEAP32[$yymsp>>2]|0; - $1784 = (($1783) + -16|0); - $1785 = (($1784) + 4|0); + $1784 = ((($1783)) + -16|0); + $1785 = ((($1784)) + 4|0); $1786 = HEAP32[$1785>>2]|0; $1787 = ($1786|0)!=(0|0); if ($1787) { $1788 = HEAP32[$pParse>>2]|0; $1789 = HEAP32[$yymsp>>2]|0; - $1790 = (($1789) + -32|0); - $1791 = (($1790) + 4|0); + $1790 = ((($1789)) + -32|0); + $1791 = ((($1790)) + 4|0); $1792 = HEAP32[$1791>>2]|0; $1793 = HEAP32[$yymsp>>2]|0; - $1794 = (($1793) + -16|0); - $1795 = (($1794) + 4|0); + $1794 = ((($1793)) + -16|0); + $1795 = ((($1794)) + 4|0); $1796 = HEAP32[$1795>>2]|0; $1797 = (_sqlite3ExprListAppend($1788,$1792,$1796)|0); $1804 = $1797; } else { $1798 = HEAP32[$yymsp>>2]|0; - $1799 = (($1798) + -32|0); - $1800 = (($1799) + 4|0); + $1799 = ((($1798)) + -32|0); + $1800 = ((($1799)) + 4|0); $1801 = HEAP32[$1800>>2]|0; $1804 = $1801; } $1802 = HEAP32[$yygotominor>>2]|0; - $1803 = (($1802) + 20|0); + $1803 = ((($1802)) + 20|0); HEAP32[$1803>>2] = $1804; $1805 = HEAP32[$pParse>>2]|0; $1806 = HEAP32[$yygotominor>>2]|0; @@ -63831,61 +62823,52 @@ function _yy_reduce($yypParser,$yyruleno) { $1807 = HEAP32[$pParse>>2]|0; $1808 = HEAP32[$1807>>2]|0; $1809 = HEAP32[$yymsp>>2]|0; - $1810 = (($1809) + -32|0); - $1811 = (($1810) + 4|0); + $1810 = ((($1809)) + -32|0); + $1811 = ((($1810)) + 4|0); $1812 = HEAP32[$1811>>2]|0; _sqlite3ExprListDelete($1808,$1812); $1813 = HEAP32[$pParse>>2]|0; $1814 = HEAP32[$1813>>2]|0; $1815 = HEAP32[$yymsp>>2]|0; - $1816 = (($1815) + -16|0); - $1817 = (($1816) + 4|0); + $1816 = ((($1815)) + -16|0); + $1817 = ((($1816)) + 4|0); $1818 = HEAP32[$1817>>2]|0; _sqlite3ExprDelete($1814,$1818); } $1819 = HEAP32[$yymsp>>2]|0; - $1820 = (($1819) + -64|0); - $1821 = (($1820) + 4|0); + $1820 = ((($1819)) + -64|0); + $1821 = ((($1820)) + 4|0); $1822 = HEAP32[$1821>>2]|0; - $1823 = (($yygotominor) + 4|0); + $1823 = ((($yygotominor)) + 4|0); HEAP32[$1823>>2] = $1822; $1824 = HEAP32[$yymsp>>2]|0; - $1825 = (($1824) + 4|0); - $1826 = (($1825) + 4|0); + $1825 = ((($1824)) + 4|0); + $1826 = ((($1825)) + 4|0); $1827 = HEAP32[$1826>>2]|0; $1828 = HEAP32[$yymsp>>2]|0; - $1829 = (($1828) + 4|0); + $1829 = ((($1828)) + 4|0); $1830 = HEAP32[$1829>>2]|0; $1831 = (($1830) + ($1827)|0); - $1832 = (($yygotominor) + 8|0); + $1832 = ((($yygotominor)) + 8|0); HEAP32[$1832>>2] = $1831; break; } - case 238: { - $1870 = HEAP32[$pParse>>2]|0; - $1871 = HEAP32[$yymsp>>2]|0; - $1872 = (($1871) + 4|0); - $1873 = HEAP32[$1872>>2]|0; - $1874 = (_sqlite3ExprListAppend($1870,0,$1873)|0); - HEAP32[$yygotominor>>2] = $1874; - break; - } case 229: { $1833 = HEAP32[$pParse>>2]|0; $1834 = HEAP32[$yymsp>>2]|0; - $1835 = (($1834) + -64|0); - $1836 = (($1835) + 4|0); + $1835 = ((($1834)) + -64|0); + $1836 = ((($1835)) + 4|0); $1837 = HEAP32[$1836>>2]|0; $1838 = HEAP32[$yymsp>>2]|0; - $1839 = (($1838) + -32|0); - $1840 = (($1839) + 4|0); + $1839 = ((($1838)) + -32|0); + $1840 = ((($1839)) + 4|0); $1841 = HEAP32[$1840>>2]|0; $1842 = (_sqlite3ExprListAppend($1833,$1837,$1841)|0); HEAP32[$yygotominor>>2] = $1842; $1843 = HEAP32[$pParse>>2]|0; $1844 = HEAP32[$yygotominor>>2]|0; $1845 = HEAP32[$yymsp>>2]|0; - $1846 = (($1845) + 4|0); + $1846 = ((($1845)) + 4|0); $1847 = HEAP32[$1846>>2]|0; $1848 = (_sqlite3ExprListAppend($1843,$1844,$1847)|0); HEAP32[$yygotominor>>2] = $1848; @@ -63894,15 +62877,15 @@ function _yy_reduce($yypParser,$yyruleno) { case 230: { $1849 = HEAP32[$pParse>>2]|0; $1850 = HEAP32[$yymsp>>2]|0; - $1851 = (($1850) + -32|0); - $1852 = (($1851) + 4|0); + $1851 = ((($1850)) + -32|0); + $1852 = ((($1851)) + 4|0); $1853 = HEAP32[$1852>>2]|0; $1854 = (_sqlite3ExprListAppend($1849,0,$1853)|0); HEAP32[$yygotominor>>2] = $1854; $1855 = HEAP32[$pParse>>2]|0; $1856 = HEAP32[$yygotominor>>2]|0; $1857 = HEAP32[$yymsp>>2]|0; - $1858 = (($1857) + 4|0); + $1858 = ((($1857)) + 4|0); $1859 = HEAP32[$1858>>2]|0; $1860 = (_sqlite3ExprListAppend($1855,$1856,$1859)|0); HEAP32[$yygotominor>>2] = $1860; @@ -63911,110 +62894,79 @@ function _yy_reduce($yypParser,$yyruleno) { case 237: { $1861 = HEAP32[$pParse>>2]|0; $1862 = HEAP32[$yymsp>>2]|0; - $1863 = (($1862) + -32|0); - $1864 = (($1863) + 4|0); + $1863 = ((($1862)) + -32|0); + $1864 = ((($1863)) + 4|0); $1865 = HEAP32[$1864>>2]|0; $1866 = HEAP32[$yymsp>>2]|0; - $1867 = (($1866) + 4|0); + $1867 = ((($1866)) + 4|0); $1868 = HEAP32[$1867>>2]|0; $1869 = (_sqlite3ExprListAppend($1861,$1865,$1868)|0); HEAP32[$yygotominor>>2] = $1869; break; } - case 248: { - $1969 = HEAP32[$pParse>>2]|0; - $1970 = HEAP32[$yymsp>>2]|0; - $1971 = (($1970) + 4|0); - $1972 = HEAP32[$1971>>2]|0; - $1973 = HEAP32[$yymsp>>2]|0; - $1974 = (($1973) + -16|0); - $1975 = (($1974) + 4|0); - $1976 = HEAP32[$1975>>2]|0; - _sqlite3DropIndex($1969,$1972,$1976); - break; - } - case 250: case 249: { - $1977 = HEAP32[$pParse>>2]|0; - _sqlite3Vacuum($1977); - break; - } - case 251: { - $1978 = HEAP32[$pParse>>2]|0; - $1979 = HEAP32[$yymsp>>2]|0; - $1980 = (($1979) + -16|0); - $1981 = (($1980) + 4|0); - $1982 = HEAP32[$yymsp>>2]|0; - $1983 = (($1982) + 4|0); - _sqlite3Pragma($1978,$1981,$1983,0,0); - break; - } - case 252: { - $1984 = HEAP32[$pParse>>2]|0; - $1985 = HEAP32[$yymsp>>2]|0; - $1986 = (($1985) + -48|0); - $1987 = (($1986) + 4|0); - $1988 = HEAP32[$yymsp>>2]|0; - $1989 = (($1988) + -32|0); - $1990 = (($1989) + 4|0); - $1991 = HEAP32[$yymsp>>2]|0; - $1992 = (($1991) + 4|0); - _sqlite3Pragma($1984,$1987,$1990,$1992,0); - break; - } - case 291: case 240: { - HEAP32[$yygotominor>>2] = 2; - break; - } - case 241: { - HEAP32[$yygotominor>>2] = 0; + case 238: { + $1870 = HEAP32[$pParse>>2]|0; + $1871 = HEAP32[$yymsp>>2]|0; + $1872 = ((($1871)) + 4|0); + $1873 = HEAP32[$1872>>2]|0; + $1874 = (_sqlite3ExprListAppend($1870,0,$1873)|0); + HEAP32[$yygotominor>>2] = $1874; break; } case 239: { $1875 = HEAP32[$pParse>>2]|0; $1876 = HEAP32[$yymsp>>2]|0; - $1877 = (($1876) + -112|0); - $1878 = (($1877) + 4|0); + $1877 = ((($1876)) + -112|0); + $1878 = ((($1877)) + 4|0); $1879 = HEAP32[$yymsp>>2]|0; - $1880 = (($1879) + -96|0); - $1881 = (($1880) + 4|0); + $1880 = ((($1879)) + -96|0); + $1881 = ((($1880)) + 4|0); $1882 = HEAP32[$pParse>>2]|0; $1883 = HEAP32[$1882>>2]|0; $1884 = HEAP32[$yymsp>>2]|0; - $1885 = (($1884) + -64|0); - $1886 = (($1885) + 4|0); + $1885 = ((($1884)) + -64|0); + $1886 = ((($1885)) + 4|0); $1887 = (_sqlite3SrcListAppend($1883,0,$1886,0)|0); $1888 = HEAP32[$yymsp>>2]|0; - $1889 = (($1888) + -32|0); - $1890 = (($1889) + 4|0); + $1889 = ((($1888)) + -32|0); + $1890 = ((($1889)) + 4|0); $1891 = HEAP32[$1890>>2]|0; $1892 = HEAP32[$yymsp>>2]|0; - $1893 = (($1892) + -160|0); - $1894 = (($1893) + 4|0); + $1893 = ((($1892)) + -160|0); + $1894 = ((($1893)) + 4|0); $1895 = HEAP32[$1894>>2]|0; $1896 = HEAP32[$yymsp>>2]|0; - $1897 = (($1896) + -176|0); - $1898 = (($1897) + 4|0); + $1897 = ((($1896)) + -176|0); + $1898 = ((($1897)) + 4|0); $1899 = HEAP32[$yymsp>>2]|0; - $1900 = (($1899) + 4|0); + $1900 = ((($1899)) + 4|0); $1901 = HEAP32[$1900>>2]|0; $1902 = HEAP32[$yymsp>>2]|0; - $1903 = (($1902) + -128|0); - $1904 = (($1903) + 4|0); + $1903 = ((($1902)) + -128|0); + $1904 = ((($1903)) + 4|0); $1905 = HEAP32[$1904>>2]|0; (_sqlite3CreateIndex($1875,$1878,$1881,$1887,$1891,$1895,$1898,$1901,0,$1905)|0); break; } + case 291: case 240: { + HEAP32[$yygotominor>>2] = 2; + break; + } + case 241: { + HEAP32[$yygotominor>>2] = 0; + break; + } case 244: { $1906 = HEAP32[$pParse>>2]|0; $1907 = HEAP32[$yymsp>>2]|0; - $1908 = (($1907) + -16|0); - $1909 = (($1908) + 4|0); + $1908 = ((($1907)) + -16|0); + $1909 = ((($1908)) + 4|0); $1910 = (_sqlite3ExprAddCollateToken($1906,0,$1909)|0); HEAP32[$p9>>2] = $1910; $1911 = HEAP32[$pParse>>2]|0; $1912 = HEAP32[$yymsp>>2]|0; - $1913 = (($1912) + -64|0); - $1914 = (($1913) + 4|0); + $1913 = ((($1912)) + -64|0); + $1914 = ((($1913)) + 4|0); $1915 = HEAP32[$1914>>2]|0; $1916 = HEAP32[$p9>>2]|0; $1917 = (_sqlite3ExprListAppend($1911,$1915,$1916)|0); @@ -64022,27 +62974,27 @@ function _yy_reduce($yypParser,$yyruleno) { $1918 = HEAP32[$pParse>>2]|0; $1919 = HEAP32[$yygotominor>>2]|0; $1920 = HEAP32[$yymsp>>2]|0; - $1921 = (($1920) + -32|0); - $1922 = (($1921) + 4|0); + $1921 = ((($1920)) + -32|0); + $1922 = ((($1921)) + 4|0); _sqlite3ExprListSetName($1918,$1919,$1922,1); $1923 = HEAP32[$pParse>>2]|0; $1924 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprListCheckLength($1923,$1924,10168); + _sqlite3ExprListCheckLength($1923,$1924,18253); $1925 = HEAP32[$yygotominor>>2]|0; $1926 = ($1925|0)!=(0|0); if ($1926) { $1927 = HEAP32[$yymsp>>2]|0; - $1928 = (($1927) + 4|0); + $1928 = ((($1927)) + 4|0); $1929 = HEAP32[$1928>>2]|0; $1930 = $1929&255; $1931 = HEAP32[$yygotominor>>2]|0; $1932 = HEAP32[$1931>>2]|0; $1933 = (($1932) - 1)|0; $1934 = HEAP32[$yygotominor>>2]|0; - $1935 = (($1934) + 4|0); + $1935 = ((($1934)) + 4|0); $1936 = HEAP32[$1935>>2]|0; $1937 = (($1936) + (($1933*20)|0)|0); - $1938 = (($1937) + 12|0); + $1938 = ((($1937)) + 12|0); HEAP8[$1938>>0] = $1930; } break; @@ -64050,8 +63002,8 @@ function _yy_reduce($yypParser,$yyruleno) { case 245: { $1939 = HEAP32[$pParse>>2]|0; $1940 = HEAP32[$yymsp>>2]|0; - $1941 = (($1940) + -16|0); - $1942 = (($1941) + 4|0); + $1941 = ((($1940)) + -16|0); + $1942 = ((($1941)) + 4|0); $1943 = (_sqlite3ExprAddCollateToken($1939,0,$1942)|0); HEAP32[$p10>>2] = $1943; $1944 = HEAP32[$pParse>>2]|0; @@ -64061,135 +63013,145 @@ function _yy_reduce($yypParser,$yyruleno) { $1947 = HEAP32[$pParse>>2]|0; $1948 = HEAP32[$yygotominor>>2]|0; $1949 = HEAP32[$yymsp>>2]|0; - $1950 = (($1949) + -32|0); - $1951 = (($1950) + 4|0); + $1950 = ((($1949)) + -32|0); + $1951 = ((($1950)) + 4|0); _sqlite3ExprListSetName($1947,$1948,$1951,1); $1952 = HEAP32[$pParse>>2]|0; $1953 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprListCheckLength($1952,$1953,10168); + _sqlite3ExprListCheckLength($1952,$1953,18253); $1954 = HEAP32[$yygotominor>>2]|0; $1955 = ($1954|0)!=(0|0); if ($1955) { $1956 = HEAP32[$yymsp>>2]|0; - $1957 = (($1956) + 4|0); + $1957 = ((($1956)) + 4|0); $1958 = HEAP32[$1957>>2]|0; $1959 = $1958&255; $1960 = HEAP32[$yygotominor>>2]|0; $1961 = HEAP32[$1960>>2]|0; $1962 = (($1961) - 1)|0; $1963 = HEAP32[$yygotominor>>2]|0; - $1964 = (($1963) + 4|0); + $1964 = ((($1963)) + 4|0); $1965 = HEAP32[$1964>>2]|0; $1966 = (($1965) + (($1962*20)|0)|0); - $1967 = (($1966) + 12|0); + $1967 = ((($1966)) + 12|0); HEAP8[$1967>>0] = $1959; } break; } case 246: { HEAP32[$yygotominor>>2] = 0; - $1968 = (($yygotominor) + 4|0); + $1968 = ((($yygotominor)) + 4|0); HEAP32[$1968>>2] = 0; break; } - case 271: case 270: { - $2093 = HEAP32[$yymsp>>2]|0; - $2094 = (($2093) + 2|0); - $2095 = HEAP8[$2094>>0]|0; - $2096 = $2095&255; - HEAP32[$yygotominor>>2] = $2096; - $2097 = (($yygotominor) + 4|0); - HEAP32[$2097>>2] = 0; + case 248: { + $1969 = HEAP32[$pParse>>2]|0; + $1970 = HEAP32[$yymsp>>2]|0; + $1971 = ((($1970)) + 4|0); + $1972 = HEAP32[$1971>>2]|0; + $1973 = HEAP32[$yymsp>>2]|0; + $1974 = ((($1973)) + -16|0); + $1975 = ((($1974)) + 4|0); + $1976 = HEAP32[$1975>>2]|0; + _sqlite3DropIndex($1969,$1972,$1976); break; } - case 296: case 275: { - HEAP32[$yygotominor>>2] = 0; + case 250: case 249: { + $1977 = HEAP32[$pParse>>2]|0; + _sqlite3Vacuum($1977); break; } - case 272: { - HEAP32[$yygotominor>>2] = 110; - $2098 = HEAP32[$yymsp>>2]|0; - $2099 = (($2098) + 4|0); - $2100 = HEAP32[$2099>>2]|0; - $2101 = (($yygotominor) + 4|0); - HEAP32[$2101>>2] = $2100; + case 251: { + $1978 = HEAP32[$pParse>>2]|0; + $1979 = HEAP32[$yymsp>>2]|0; + $1980 = ((($1979)) + -16|0); + $1981 = ((($1980)) + 4|0); + $1982 = HEAP32[$yymsp>>2]|0; + $1983 = ((($1982)) + 4|0); + _sqlite3Pragma($1978,$1981,$1983,0,0); break; } - case 297: case 276: { - $2102 = HEAP32[$yymsp>>2]|0; - $2103 = (($2102) + 4|0); - $2104 = HEAP32[$2103>>2]|0; - HEAP32[$yygotominor>>2] = $2104; + case 252: { + $1984 = HEAP32[$pParse>>2]|0; + $1985 = HEAP32[$yymsp>>2]|0; + $1986 = ((($1985)) + -48|0); + $1987 = ((($1986)) + 4|0); + $1988 = HEAP32[$yymsp>>2]|0; + $1989 = ((($1988)) + -32|0); + $1990 = ((($1989)) + 4|0); + $1991 = HEAP32[$yymsp>>2]|0; + $1992 = ((($1991)) + 4|0); + _sqlite3Pragma($1984,$1987,$1990,$1992,0); break; } case 253: { $1993 = HEAP32[$pParse>>2]|0; $1994 = HEAP32[$yymsp>>2]|0; - $1995 = (($1994) + -64|0); - $1996 = (($1995) + 4|0); + $1995 = ((($1994)) + -64|0); + $1996 = ((($1995)) + 4|0); $1997 = HEAP32[$yymsp>>2]|0; - $1998 = (($1997) + -48|0); - $1999 = (($1998) + 4|0); + $1998 = ((($1997)) + -48|0); + $1999 = ((($1998)) + 4|0); $2000 = HEAP32[$yymsp>>2]|0; - $2001 = (($2000) + -16|0); - $2002 = (($2001) + 4|0); + $2001 = ((($2000)) + -16|0); + $2002 = ((($2001)) + 4|0); _sqlite3Pragma($1993,$1996,$1999,$2002,0); break; } case 254: { $2003 = HEAP32[$pParse>>2]|0; $2004 = HEAP32[$yymsp>>2]|0; - $2005 = (($2004) + -48|0); - $2006 = (($2005) + 4|0); + $2005 = ((($2004)) + -48|0); + $2006 = ((($2005)) + 4|0); $2007 = HEAP32[$yymsp>>2]|0; - $2008 = (($2007) + -32|0); - $2009 = (($2008) + 4|0); + $2008 = ((($2007)) + -32|0); + $2009 = ((($2008)) + 4|0); $2010 = HEAP32[$yymsp>>2]|0; - $2011 = (($2010) + 4|0); + $2011 = ((($2010)) + 4|0); _sqlite3Pragma($2003,$2006,$2009,$2011,1); break; } case 255: { $2012 = HEAP32[$pParse>>2]|0; $2013 = HEAP32[$yymsp>>2]|0; - $2014 = (($2013) + -64|0); - $2015 = (($2014) + 4|0); + $2014 = ((($2013)) + -64|0); + $2015 = ((($2014)) + 4|0); $2016 = HEAP32[$yymsp>>2]|0; - $2017 = (($2016) + -48|0); - $2018 = (($2017) + 4|0); + $2017 = ((($2016)) + -48|0); + $2018 = ((($2017)) + 4|0); $2019 = HEAP32[$yymsp>>2]|0; - $2020 = (($2019) + -16|0); - $2021 = (($2020) + 4|0); + $2020 = ((($2019)) + -16|0); + $2021 = ((($2020)) + 4|0); _sqlite3Pragma($2012,$2015,$2018,$2021,1); break; } case 264: { $2022 = HEAP32[$yymsp>>2]|0; - $2023 = (($2022) + -48|0); - $2024 = (($2023) + 4|0); + $2023 = ((($2022)) + -48|0); + $2024 = ((($2023)) + 4|0); $2025 = HEAP32[$2024>>2]|0; HEAP32[$all>>2] = $2025; $2026 = HEAP32[$yymsp>>2]|0; - $2027 = (($2026) + 4|0); + $2027 = ((($2026)) + 4|0); $2028 = HEAP32[$2027>>2]|0; $2029 = HEAP32[$yymsp>>2]|0; - $2030 = (($2029) + -48|0); - $2031 = (($2030) + 4|0); + $2030 = ((($2029)) + -48|0); + $2031 = ((($2030)) + 4|0); $2032 = HEAP32[$2031>>2]|0; $2033 = $2028; $2034 = $2032; $2035 = (($2033) - ($2034))|0; $2036 = HEAP32[$yymsp>>2]|0; - $2037 = (($2036) + 4|0); - $2038 = (($2037) + 4|0); + $2037 = ((($2036)) + 4|0); + $2038 = ((($2037)) + 4|0); $2039 = HEAP32[$2038>>2]|0; $2040 = (($2035) + ($2039))|0; - $2041 = (($all) + 4|0); + $2041 = ((($all)) + 4|0); HEAP32[$2041>>2] = $2040; $2042 = HEAP32[$pParse>>2]|0; $2043 = HEAP32[$yymsp>>2]|0; - $2044 = (($2043) + -16|0); - $2045 = (($2044) + 4|0); + $2044 = ((($2043)) + -16|0); + $2045 = ((($2044)) + 4|0); $2046 = HEAP32[$2045>>2]|0; _sqlite3FinishTrigger($2042,$2046,$all); break; @@ -64197,56 +63159,56 @@ function _yy_reduce($yypParser,$yyruleno) { case 265: { $2047 = HEAP32[$pParse>>2]|0; $2048 = HEAP32[$yymsp>>2]|0; - $2049 = (($2048) + -112|0); - $2050 = (($2049) + 4|0); + $2049 = ((($2048)) + -112|0); + $2050 = ((($2049)) + 4|0); $2051 = HEAP32[$yymsp>>2]|0; - $2052 = (($2051) + -96|0); - $2053 = (($2052) + 4|0); + $2052 = ((($2051)) + -96|0); + $2053 = ((($2052)) + 4|0); $2054 = HEAP32[$yymsp>>2]|0; - $2055 = (($2054) + -80|0); - $2056 = (($2055) + 4|0); + $2055 = ((($2054)) + -80|0); + $2056 = ((($2055)) + 4|0); $2057 = HEAP32[$2056>>2]|0; $2058 = HEAP32[$yymsp>>2]|0; - $2059 = (($2058) + -64|0); - $2060 = (($2059) + 4|0); + $2059 = ((($2058)) + -64|0); + $2060 = ((($2059)) + 4|0); $2061 = HEAP32[$2060>>2]|0; $2062 = HEAP32[$yymsp>>2]|0; - $2063 = (($2062) + -64|0); - $2064 = (($2063) + 4|0); - $2065 = (($2064) + 4|0); + $2063 = ((($2062)) + -64|0); + $2064 = ((($2063)) + 4|0); + $2065 = ((($2064)) + 4|0); $2066 = HEAP32[$2065>>2]|0; $2067 = HEAP32[$yymsp>>2]|0; - $2068 = (($2067) + -32|0); - $2069 = (($2068) + 4|0); + $2068 = ((($2067)) + -32|0); + $2069 = ((($2068)) + 4|0); $2070 = HEAP32[$2069>>2]|0; $2071 = HEAP32[$yymsp>>2]|0; - $2072 = (($2071) + 4|0); + $2072 = ((($2071)) + 4|0); $2073 = HEAP32[$2072>>2]|0; $2074 = HEAP32[$yymsp>>2]|0; - $2075 = (($2074) + -160|0); - $2076 = (($2075) + 4|0); + $2075 = ((($2074)) + -160|0); + $2076 = ((($2075)) + 4|0); $2077 = HEAP32[$2076>>2]|0; $2078 = HEAP32[$yymsp>>2]|0; - $2079 = (($2078) + -128|0); - $2080 = (($2079) + 4|0); + $2079 = ((($2078)) + -128|0); + $2080 = ((($2079)) + 4|0); $2081 = HEAP32[$2080>>2]|0; _sqlite3BeginTrigger($2047,$2050,$2053,$2057,$2061,$2066,$2070,$2073,$2077,$2081); $2082 = HEAP32[$yymsp>>2]|0; - $2083 = (($2082) + -96|0); - $2084 = (($2083) + 4|0); - $2085 = (($2084) + 4|0); + $2083 = ((($2082)) + -96|0); + $2084 = ((($2083)) + 4|0); + $2085 = ((($2084)) + 4|0); $2086 = HEAP32[$2085>>2]|0; $2087 = ($2086|0)==(0); $2088 = HEAP32[$yymsp>>2]|0; if ($2087) { - $2089 = (($2088) + -112|0); - $2090 = (($2089) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$2090+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2090+4>>2]|0; + $2089 = ((($2088)) + -112|0); + $2090 = ((($2089)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$2090>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2090+4>>2]|0; break L1; } else { - $2091 = (($2088) + -96|0); - $2092 = (($2091) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$2092+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2092+4>>2]|0; + $2091 = ((($2088)) + -96|0); + $2092 = ((($2091)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$2092>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2092+4>>2]|0; break L1; } break; @@ -64263,98 +63225,162 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = 49; break; } - case 283: { - $2146 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2146,10360,$vararg_buffer14); + case 271: case 270: { + $2093 = HEAP32[$yymsp>>2]|0; + $2094 = ((($2093)) + 2|0); + $2095 = HEAP8[$2094>>0]|0; + $2096 = $2095&255; + HEAP32[$yygotominor>>2] = $2096; + $2097 = ((($yygotominor)) + 4|0); + HEAP32[$2097>>2] = 0; break; } - case 284: { - $2147 = HEAP32[$pParse>>2]|0; - $2148 = HEAP32[$2147>>2]|0; - $2149 = HEAP32[$yymsp>>2]|0; - $2150 = (($2149) + -64|0); - $2151 = (($2150) + 4|0); - $2152 = HEAP32[$yymsp>>2]|0; - $2153 = (($2152) + -16|0); - $2154 = (($2153) + 4|0); - $2155 = HEAP32[$2154>>2]|0; - $2156 = HEAP32[$yymsp>>2]|0; - $2157 = (($2156) + 4|0); - $2158 = HEAP32[$2157>>2]|0; - $2159 = HEAP32[$yymsp>>2]|0; - $2160 = (($2159) + -80|0); - $2161 = (($2160) + 4|0); - $2162 = HEAP8[$2161>>0]|0; - $2163 = (_sqlite3TriggerUpdateStep($2148,$2151,$2155,$2158,$2162)|0); - HEAP32[$yygotominor>>2] = $2163; + case 272: { + HEAP32[$yygotominor>>2] = 110; + $2098 = HEAP32[$yymsp>>2]|0; + $2099 = ((($2098)) + 4|0); + $2100 = HEAP32[$2099>>2]|0; + $2101 = ((($yygotominor)) + 4|0); + HEAP32[$2101>>2] = $2100; + break; + } + case 296: case 275: { + HEAP32[$yygotominor>>2] = 0; + break; + } + case 297: case 276: { + $2102 = HEAP32[$yymsp>>2]|0; + $2103 = ((($2102)) + 4|0); + $2104 = HEAP32[$2103>>2]|0; + HEAP32[$yygotominor>>2] = $2104; break; } case 277: { $2105 = HEAP32[$yymsp>>2]|0; - $2106 = (($2105) + -16|0); - $2107 = (($2106) + 4|0); + $2106 = ((($2105)) + -16|0); + $2107 = ((($2106)) + 4|0); $2108 = HEAP32[$2107>>2]|0; $2109 = HEAP32[$yymsp>>2]|0; - $2110 = (($2109) + -32|0); - $2111 = (($2110) + 4|0); + $2110 = ((($2109)) + -32|0); + $2111 = ((($2110)) + 4|0); $2112 = HEAP32[$2111>>2]|0; - $2113 = (($2112) + 36|0); + $2113 = ((($2112)) + 36|0); $2114 = HEAP32[$2113>>2]|0; - $2115 = (($2114) + 32|0); + $2115 = ((($2114)) + 32|0); HEAP32[$2115>>2] = $2108; $2116 = HEAP32[$yymsp>>2]|0; - $2117 = (($2116) + -16|0); - $2118 = (($2117) + 4|0); + $2117 = ((($2116)) + -16|0); + $2118 = ((($2117)) + 4|0); $2119 = HEAP32[$2118>>2]|0; $2120 = HEAP32[$yymsp>>2]|0; - $2121 = (($2120) + -32|0); - $2122 = (($2121) + 4|0); + $2121 = ((($2120)) + -32|0); + $2122 = ((($2121)) + 4|0); $2123 = HEAP32[$2122>>2]|0; - $2124 = (($2123) + 36|0); + $2124 = ((($2123)) + 36|0); HEAP32[$2124>>2] = $2119; $2125 = HEAP32[$yymsp>>2]|0; - $2126 = (($2125) + -32|0); - $2127 = (($2126) + 4|0); + $2126 = ((($2125)) + -32|0); + $2127 = ((($2126)) + 4|0); $2128 = HEAP32[$2127>>2]|0; HEAP32[$yygotominor>>2] = $2128; break; } case 278: { $2129 = HEAP32[$yymsp>>2]|0; - $2130 = (($2129) + -16|0); - $2131 = (($2130) + 4|0); + $2130 = ((($2129)) + -16|0); + $2131 = ((($2130)) + 4|0); $2132 = HEAP32[$2131>>2]|0; $2133 = HEAP32[$yymsp>>2]|0; - $2134 = (($2133) + -16|0); - $2135 = (($2134) + 4|0); + $2134 = ((($2133)) + -16|0); + $2135 = ((($2134)) + 4|0); $2136 = HEAP32[$2135>>2]|0; - $2137 = (($2136) + 36|0); + $2137 = ((($2136)) + 36|0); HEAP32[$2137>>2] = $2132; $2138 = HEAP32[$yymsp>>2]|0; - $2139 = (($2138) + -16|0); - $2140 = (($2139) + 4|0); + $2139 = ((($2138)) + -16|0); + $2140 = ((($2139)) + 4|0); $2141 = HEAP32[$2140>>2]|0; HEAP32[$yygotominor>>2] = $2141; break; } + case 280: { + $2142 = HEAP32[$yymsp>>2]|0; + $2143 = ((($2142)) + 4|0); + ;HEAP32[$yygotominor>>2]=HEAP32[$2143>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2143+4>>2]|0; + $2144 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($2144,18259,$vararg_buffer10); + break; + } case 282: { $2145 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2145,10272,$vararg_buffer14); + _sqlite3ErrorMsg($2145,18354,$vararg_buffer12); break; } - case 280: { - $2142 = HEAP32[$yymsp>>2]|0; - $2143 = (($2142) + 4|0); - ;HEAP32[$yygotominor+0>>2]=HEAP32[$2143+0>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2143+4>>2]|0; - $2144 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2144,10176,$vararg_buffer14); + case 283: { + $2146 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($2146,18438,$vararg_buffer14); + break; + } + case 284: { + $2147 = HEAP32[$pParse>>2]|0; + $2148 = HEAP32[$2147>>2]|0; + $2149 = HEAP32[$yymsp>>2]|0; + $2150 = ((($2149)) + -64|0); + $2151 = ((($2150)) + 4|0); + $2152 = HEAP32[$yymsp>>2]|0; + $2153 = ((($2152)) + -16|0); + $2154 = ((($2153)) + 4|0); + $2155 = HEAP32[$2154>>2]|0; + $2156 = HEAP32[$yymsp>>2]|0; + $2157 = ((($2156)) + 4|0); + $2158 = HEAP32[$2157>>2]|0; + $2159 = HEAP32[$yymsp>>2]|0; + $2160 = ((($2159)) + -80|0); + $2161 = ((($2160)) + 4|0); + $2162 = HEAP8[$2161>>0]|0; + $2163 = (_sqlite3TriggerUpdateStep($2148,$2151,$2155,$2158,$2162)|0); + HEAP32[$yygotominor>>2] = $2163; + break; + } + case 285: { + $2164 = HEAP32[$pParse>>2]|0; + $2165 = HEAP32[$2164>>2]|0; + $2166 = HEAP32[$yymsp>>2]|0; + $2167 = ((($2166)) + -32|0); + $2168 = ((($2167)) + 4|0); + $2169 = HEAP32[$yymsp>>2]|0; + $2170 = ((($2169)) + -16|0); + $2171 = ((($2170)) + 4|0); + $2172 = HEAP32[$2171>>2]|0; + $2173 = HEAP32[$yymsp>>2]|0; + $2174 = ((($2173)) + 4|0); + $2175 = HEAP32[$2174>>2]|0; + $2176 = HEAP32[$yymsp>>2]|0; + $2177 = ((($2176)) + -64|0); + $2178 = ((($2177)) + 4|0); + $2179 = HEAP8[$2178>>0]|0; + $2180 = (_sqlite3TriggerInsertStep($2165,$2168,$2172,$2175,$2179)|0); + HEAP32[$yygotominor>>2] = $2180; + break; + } + case 286: { + $2181 = HEAP32[$pParse>>2]|0; + $2182 = HEAP32[$2181>>2]|0; + $2183 = HEAP32[$yymsp>>2]|0; + $2184 = ((($2183)) + -32|0); + $2185 = ((($2184)) + 4|0); + $2186 = HEAP32[$yymsp>>2]|0; + $2187 = ((($2186)) + 4|0); + $2188 = HEAP32[$2187>>2]|0; + $2189 = (_sqlite3TriggerDeleteStep($2182,$2185,$2188)|0); + HEAP32[$yygotominor>>2] = $2189; break; } case 287: { $2190 = HEAP32[$pParse>>2]|0; $2191 = HEAP32[$2190>>2]|0; $2192 = HEAP32[$yymsp>>2]|0; - $2193 = (($2192) + 4|0); + $2193 = ((($2192)) + 4|0); $2194 = HEAP32[$2193>>2]|0; $2195 = (_sqlite3TriggerSelectStep($2191,$2194)|0); HEAP32[$yygotominor>>2] = $2195; @@ -64368,69 +63394,80 @@ function _yy_reduce($yypParser,$yyruleno) { $2199 = ($2198|0)!=(0|0); if ($2199) { $2200 = HEAP32[$yygotominor>>2]|0; - $2201 = (($2200) + 1|0); + $2201 = ((($2200)) + 1|0); HEAP8[$2201>>0] = 4; } $2202 = HEAP32[$yymsp>>2]|0; - $2203 = (($2202) + -48|0); - $2204 = (($2203) + 4|0); + $2203 = ((($2202)) + -48|0); + $2204 = ((($2203)) + 4|0); $2205 = HEAP32[$2204>>2]|0; - $2206 = (($yygotominor) + 4|0); + $2206 = ((($yygotominor)) + 4|0); HEAP32[$2206>>2] = $2205; $2207 = HEAP32[$yymsp>>2]|0; - $2208 = (($2207) + 4|0); - $2209 = (($2208) + 4|0); + $2208 = ((($2207)) + 4|0); + $2209 = ((($2208)) + 4|0); $2210 = HEAP32[$2209>>2]|0; $2211 = HEAP32[$yymsp>>2]|0; - $2212 = (($2211) + 4|0); + $2212 = ((($2211)) + 4|0); $2213 = HEAP32[$2212>>2]|0; $2214 = (($2213) + ($2210)|0); - $2215 = (($yygotominor) + 8|0); + $2215 = ((($yygotominor)) + 8|0); HEAP32[$2215>>2] = $2214; break; } - case 285: { - $2164 = HEAP32[$pParse>>2]|0; - $2165 = HEAP32[$2164>>2]|0; - $2166 = HEAP32[$yymsp>>2]|0; - $2167 = (($2166) + -32|0); - $2168 = (($2167) + 4|0); - $2169 = HEAP32[$yymsp>>2]|0; - $2170 = (($2169) + -16|0); - $2171 = (($2170) + 4|0); - $2172 = HEAP32[$2171>>2]|0; - $2173 = HEAP32[$yymsp>>2]|0; - $2174 = (($2173) + 4|0); - $2175 = HEAP32[$2174>>2]|0; - $2176 = HEAP32[$yymsp>>2]|0; - $2177 = (($2176) + -64|0); - $2178 = (($2177) + 4|0); - $2179 = HEAP8[$2178>>0]|0; - $2180 = (_sqlite3TriggerInsertStep($2165,$2168,$2172,$2175,$2179)|0); - HEAP32[$yygotominor>>2] = $2180; + case 289: { + $2216 = HEAP32[$pParse>>2]|0; + $2217 = HEAP32[$yymsp>>2]|0; + $2218 = ((($2217)) + -16|0); + $2219 = ((($2218)) + 4|0); + $2220 = (_sqlite3PExpr($2216,57,0,0,$2219)|0); + HEAP32[$yygotominor>>2] = $2220; + $2221 = HEAP32[$yygotominor>>2]|0; + $2222 = ($2221|0)!=(0|0); + if ($2222) { + $2223 = HEAP32[$yymsp>>2]|0; + $2224 = ((($2223)) + -48|0); + $2225 = ((($2224)) + 4|0); + $2226 = HEAP32[$2225>>2]|0; + $2227 = $2226&255; + $2228 = HEAP32[$yygotominor>>2]|0; + $2229 = ((($2228)) + 1|0); + HEAP8[$2229>>0] = $2227; + } + $2230 = HEAP32[$yymsp>>2]|0; + $2231 = ((($2230)) + -80|0); + $2232 = ((($2231)) + 4|0); + $2233 = HEAP32[$2232>>2]|0; + $2234 = ((($yygotominor)) + 4|0); + HEAP32[$2234>>2] = $2233; + $2235 = HEAP32[$yymsp>>2]|0; + $2236 = ((($2235)) + 4|0); + $2237 = ((($2236)) + 4|0); + $2238 = HEAP32[$2237>>2]|0; + $2239 = HEAP32[$yymsp>>2]|0; + $2240 = ((($2239)) + 4|0); + $2241 = HEAP32[$2240>>2]|0; + $2242 = (($2241) + ($2238)|0); + $2243 = ((($yygotominor)) + 8|0); + HEAP32[$2243>>2] = $2242; break; } - case 286: { - $2181 = HEAP32[$pParse>>2]|0; - $2182 = HEAP32[$2181>>2]|0; - $2183 = HEAP32[$yymsp>>2]|0; - $2184 = (($2183) + -32|0); - $2185 = (($2184) + 4|0); - $2186 = HEAP32[$yymsp>>2]|0; - $2187 = (($2186) + 4|0); - $2188 = HEAP32[$2187>>2]|0; - $2189 = (_sqlite3TriggerDeleteStep($2182,$2185,$2188)|0); - HEAP32[$yygotominor>>2] = $2189; + case 290: { + HEAP32[$yygotominor>>2] = 1; + break; + } + case 292: { + HEAP32[$yygotominor>>2] = 3; break; } case 293: { $2244 = HEAP32[$pParse>>2]|0; $2245 = HEAP32[$yymsp>>2]|0; - $2246 = (($2245) + 4|0); + $2246 = ((($2245)) + 4|0); $2247 = HEAP32[$2246>>2]|0; $2248 = HEAP32[$yymsp>>2]|0; - $2249 = (($2248) + -16|0); - $2250 = (($2249) + 4|0); + $2249 = ((($2248)) + -16|0); + $2250 = ((($2249)) + 4|0); $2251 = HEAP32[$2250>>2]|0; _sqlite3DropTrigger($2244,$2247,$2251); break; @@ -64438,15 +63475,15 @@ function _yy_reduce($yypParser,$yyruleno) { case 294: { $2252 = HEAP32[$pParse>>2]|0; $2253 = HEAP32[$yymsp>>2]|0; - $2254 = (($2253) + -48|0); - $2255 = (($2254) + 4|0); + $2254 = ((($2253)) + -48|0); + $2255 = ((($2254)) + 4|0); $2256 = HEAP32[$2255>>2]|0; $2257 = HEAP32[$yymsp>>2]|0; - $2258 = (($2257) + -16|0); - $2259 = (($2258) + 4|0); + $2258 = ((($2257)) + -16|0); + $2259 = ((($2258)) + 4|0); $2260 = HEAP32[$2259>>2]|0; $2261 = HEAP32[$yymsp>>2]|0; - $2262 = (($2261) + 4|0); + $2262 = ((($2261)) + 4|0); $2263 = HEAP32[$2262>>2]|0; _sqlite3Attach($2252,$2256,$2260,$2263); break; @@ -64454,7 +63491,7 @@ function _yy_reduce($yypParser,$yyruleno) { case 295: { $2264 = HEAP32[$pParse>>2]|0; $2265 = HEAP32[$yymsp>>2]|0; - $2266 = (($2265) + 4|0); + $2266 = ((($2265)) + 4|0); $2267 = HEAP32[$2266>>2]|0; _sqlite3Detach($2264,$2267); break; @@ -64464,127 +63501,87 @@ function _yy_reduce($yypParser,$yyruleno) { _sqlite3Reindex($2268,0,0); break; } - case 289: { - $2216 = HEAP32[$pParse>>2]|0; - $2217 = HEAP32[$yymsp>>2]|0; - $2218 = (($2217) + -16|0); - $2219 = (($2218) + 4|0); - $2220 = (_sqlite3PExpr($2216,57,0,0,$2219)|0); - HEAP32[$yygotominor>>2] = $2220; - $2221 = HEAP32[$yygotominor>>2]|0; - $2222 = ($2221|0)!=(0|0); - if ($2222) { - $2223 = HEAP32[$yymsp>>2]|0; - $2224 = (($2223) + -48|0); - $2225 = (($2224) + 4|0); - $2226 = HEAP32[$2225>>2]|0; - $2227 = $2226&255; - $2228 = HEAP32[$yygotominor>>2]|0; - $2229 = (($2228) + 1|0); - HEAP8[$2229>>0] = $2227; - } - $2230 = HEAP32[$yymsp>>2]|0; - $2231 = (($2230) + -80|0); - $2232 = (($2231) + 4|0); - $2233 = HEAP32[$2232>>2]|0; - $2234 = (($yygotominor) + 4|0); - HEAP32[$2234>>2] = $2233; - $2235 = HEAP32[$yymsp>>2]|0; - $2236 = (($2235) + 4|0); - $2237 = (($2236) + 4|0); - $2238 = HEAP32[$2237>>2]|0; - $2239 = HEAP32[$yymsp>>2]|0; - $2240 = (($2239) + 4|0); - $2241 = HEAP32[$2240>>2]|0; - $2242 = (($2241) + ($2238)|0); - $2243 = (($yygotominor) + 8|0); - HEAP32[$2243>>2] = $2242; - break; - } - case 290: { - HEAP32[$yygotominor>>2] = 1; + case 301: { + $2269 = HEAP32[$pParse>>2]|0; + $2270 = HEAP32[$yymsp>>2]|0; + $2271 = ((($2270)) + -16|0); + $2272 = ((($2271)) + 4|0); + $2273 = HEAP32[$yymsp>>2]|0; + $2274 = ((($2273)) + 4|0); + _sqlite3Reindex($2269,$2272,$2274); break; } - case 292: { - HEAP32[$yygotominor>>2] = 3; + case 302: { + $2275 = HEAP32[$pParse>>2]|0; + _sqlite3Analyze($2275,0,0); break; } case 303: { $2276 = HEAP32[$pParse>>2]|0; $2277 = HEAP32[$yymsp>>2]|0; - $2278 = (($2277) + -16|0); - $2279 = (($2278) + 4|0); + $2278 = ((($2277)) + -16|0); + $2279 = ((($2278)) + 4|0); $2280 = HEAP32[$yymsp>>2]|0; - $2281 = (($2280) + 4|0); + $2281 = ((($2280)) + 4|0); _sqlite3Analyze($2276,$2279,$2281); break; } case 304: { $2282 = HEAP32[$pParse>>2]|0; $2283 = HEAP32[$yymsp>>2]|0; - $2284 = (($2283) + -48|0); - $2285 = (($2284) + 4|0); + $2284 = ((($2283)) + -48|0); + $2285 = ((($2284)) + 4|0); $2286 = HEAP32[$2285>>2]|0; $2287 = HEAP32[$yymsp>>2]|0; - $2288 = (($2287) + 4|0); + $2288 = ((($2287)) + 4|0); _sqlite3AlterRenameTable($2282,$2286,$2288); break; } case 305: { $2289 = HEAP32[$pParse>>2]|0; $2290 = HEAP32[$yymsp>>2]|0; - $2291 = (($2290) + 4|0); + $2291 = ((($2290)) + 4|0); _sqlite3AlterFinishAddColumn($2289,$2291); break; } case 306: { $2292 = HEAP32[$pParse>>2]|0; $2293 = HEAP32[$2292>>2]|0; - $2294 = (($2293) + 248|0); - $2295 = (($2294) + 2|0); + $2294 = ((($2293)) + 248|0); + $2295 = ((($2294)) + 2|0); HEAP8[$2295>>0] = 0; $2296 = HEAP32[$pParse>>2]|0; $2297 = HEAP32[$yymsp>>2]|0; - $2298 = (($2297) + 4|0); + $2298 = ((($2297)) + 4|0); $2299 = HEAP32[$2298>>2]|0; _sqlite3AlterBeginAddColumn($2296,$2299); break; } - case 301: { - $2269 = HEAP32[$pParse>>2]|0; - $2270 = HEAP32[$yymsp>>2]|0; - $2271 = (($2270) + -16|0); - $2272 = (($2271) + 4|0); - $2273 = HEAP32[$yymsp>>2]|0; - $2274 = (($2273) + 4|0); - _sqlite3Reindex($2269,$2272,$2274); - break; - } - case 302: { - $2275 = HEAP32[$pParse>>2]|0; - _sqlite3Analyze($2275,0,0); + case 309: { + $2300 = HEAP32[$pParse>>2]|0; + _sqlite3VtabFinishParse($2300,0); break; } case 310: { $2301 = HEAP32[$pParse>>2]|0; $2302 = HEAP32[$yymsp>>2]|0; - $2303 = (($2302) + 4|0); + $2303 = ((($2302)) + 4|0); _sqlite3VtabFinishParse($2301,$2303); break; } case 311: { $2304 = HEAP32[$pParse>>2]|0; $2305 = HEAP32[$yymsp>>2]|0; - $2306 = (($2305) + -48|0); - $2307 = (($2306) + 4|0); + $2306 = ((($2305)) + -48|0); + $2307 = ((($2306)) + 4|0); $2308 = HEAP32[$yymsp>>2]|0; - $2309 = (($2308) + -32|0); - $2310 = (($2309) + 4|0); + $2309 = ((($2308)) + -32|0); + $2310 = ((($2309)) + 4|0); $2311 = HEAP32[$yymsp>>2]|0; - $2312 = (($2311) + 4|0); + $2312 = ((($2311)) + 4|0); $2313 = HEAP32[$yymsp>>2]|0; - $2314 = (($2313) + -64|0); - $2315 = (($2314) + 4|0); + $2314 = ((($2313)) + -64|0); + $2315 = ((($2314)) + 4|0); $2316 = HEAP32[$2315>>2]|0; _sqlite3VtabBeginParse($2304,$2307,$2310,$2312,$2316); break; @@ -64597,7 +63594,7 @@ function _yy_reduce($yypParser,$yyruleno) { case 318: case 317: case 316: { $2318 = HEAP32[$pParse>>2]|0; $2319 = HEAP32[$yymsp>>2]|0; - $2320 = (($2319) + 4|0); + $2320 = ((($2319)) + 4|0); _sqlite3VtabArgExtend($2318,$2320); break; } @@ -64605,14 +63602,9 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$yygotominor>>2] = 0; break; } - case 309: { - $2300 = HEAP32[$pParse>>2]|0; - _sqlite3VtabFinishParse($2300,0); - break; - } case 324: case 323: { $2321 = HEAP32[$yymsp>>2]|0; - $2322 = (($2321) + 4|0); + $2322 = ((($2321)) + 4|0); $2323 = HEAP32[$2322>>2]|0; HEAP32[$yygotominor>>2] = $2323; break; @@ -64620,15 +63612,15 @@ function _yy_reduce($yypParser,$yyruleno) { case 325: { $2324 = HEAP32[$pParse>>2]|0; $2325 = HEAP32[$yymsp>>2]|0; - $2326 = (($2325) + -80|0); - $2327 = (($2326) + 4|0); + $2326 = ((($2325)) + -80|0); + $2327 = ((($2326)) + 4|0); $2328 = HEAP32[$yymsp>>2]|0; - $2329 = (($2328) + -64|0); - $2330 = (($2329) + 4|0); + $2329 = ((($2328)) + -64|0); + $2330 = ((($2329)) + 4|0); $2331 = HEAP32[$2330>>2]|0; $2332 = HEAP32[$yymsp>>2]|0; - $2333 = (($2332) + -16|0); - $2334 = (($2333) + 4|0); + $2333 = ((($2332)) + -16|0); + $2334 = ((($2333)) + 4|0); $2335 = HEAP32[$2334>>2]|0; $2336 = (_sqlite3WithAdd($2324,0,$2327,$2331,$2335)|0); HEAP32[$yygotominor>>2] = $2336; @@ -64637,19 +63629,19 @@ function _yy_reduce($yypParser,$yyruleno) { case 326: { $2337 = HEAP32[$pParse>>2]|0; $2338 = HEAP32[$yymsp>>2]|0; - $2339 = (($2338) + -112|0); - $2340 = (($2339) + 4|0); + $2339 = ((($2338)) + -112|0); + $2340 = ((($2339)) + 4|0); $2341 = HEAP32[$2340>>2]|0; $2342 = HEAP32[$yymsp>>2]|0; - $2343 = (($2342) + -80|0); - $2344 = (($2343) + 4|0); + $2343 = ((($2342)) + -80|0); + $2344 = ((($2343)) + 4|0); $2345 = HEAP32[$yymsp>>2]|0; - $2346 = (($2345) + -64|0); - $2347 = (($2346) + 4|0); + $2346 = ((($2345)) + -64|0); + $2347 = ((($2346)) + 4|0); $2348 = HEAP32[$2347>>2]|0; $2349 = HEAP32[$yymsp>>2]|0; - $2350 = (($2349) + -16|0); - $2351 = (($2350) + 4|0); + $2350 = ((($2349)) + -16|0); + $2351 = ((($2350)) + 4|0); $2352 = HEAP32[$2351>>2]|0; $2353 = (_sqlite3WithAdd($2337,$2341,$2344,$2348,$2352)|0); HEAP32[$yygotominor>>2] = $2353; @@ -64660,13 +63652,13 @@ function _yy_reduce($yypParser,$yyruleno) { } } while(0); $2354 = HEAP32[$1>>2]|0; - $2355 = (10448 + ($2354<<1)|0); + $2355 = (18523 + ($2354<<1)|0); $2356 = HEAP8[$2355>>0]|0; $2357 = $2356&255; HEAP32[$yygoto>>2] = $2357; $2358 = HEAP32[$1>>2]|0; - $2359 = (10448 + ($2358<<1)|0); - $2360 = (($2359) + 1|0); + $2359 = (18523 + ($2358<<1)|0); + $2360 = ((($2359)) + 1|0); $2361 = HEAP8[$2360>>0]|0; $2362 = $2361&255; HEAP32[$yysize>>2] = $2362; @@ -64712,11 +63704,11 @@ function _yy_reduce($yypParser,$yyruleno) { $2391 = HEAP32[$yygoto>>2]|0; $2392 = $2391&255; $2393 = HEAP32[$yymsp>>2]|0; - $2394 = (($2393) + 2|0); + $2394 = ((($2393)) + 2|0); HEAP8[$2394>>0] = $2392; $2395 = HEAP32[$yymsp>>2]|0; - $2396 = (($2395) + 4|0); - ;HEAP32[$2396+0>>2]=HEAP32[$yygotominor+0>>2]|0;HEAP32[$2396+4>>2]=HEAP32[$yygotominor+4>>2]|0;HEAP32[$2396+8>>2]=HEAP32[$yygotominor+8>>2]|0; + $2396 = ((($2395)) + 4|0); + ;HEAP32[$2396>>2]=HEAP32[$yygotominor>>2]|0;HEAP32[$2396+4>>2]=HEAP32[$yygotominor+4>>2]|0;HEAP32[$2396+8>>2]=HEAP32[$yygotominor+8>>2]|0; STACKTOP = sp;return; } else { $2397 = HEAP32[$yyact>>2]|0; @@ -64739,15 +63731,15 @@ function _yy_syntax_error($yypParser,$yymajor,$yyminor) { HEAP32[$0>>2] = $yypParser; HEAP32[$1>>2] = $yymajor; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pParse>>2] = $4; $5 = HEAP32[$pParse>>2]|0; HEAP32[$vararg_buffer>>2] = $yyminor; - _sqlite3ErrorMsg($5,9968,$vararg_buffer); + _sqlite3ErrorMsg($5,18119,$vararg_buffer); $6 = HEAP32[$pParse>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); HEAP32[$8>>2] = $6; STACKTOP = sp;return; } @@ -64764,10 +63756,10 @@ function _sqlite3BeginParse($pParse,$explainFlag) { $2 = HEAP32[$1>>2]|0; $3 = $2&255; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 450|0); + $5 = ((($4)) + 450|0); HEAP8[$5>>0] = $3; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 440|0); + $7 = ((($6)) + 440|0); HEAP32[$7>>2] = 0; STACKTOP = sp;return; } @@ -64785,33 +63777,33 @@ function _sqlite3FinishCoding($pParse) { var $vtab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $db = sp + 20|0; - $v = sp + 16|0; - $iDb = sp + 12|0; - $i = sp + 8|0; - $vtab = sp + 4|0; - $pEL = sp; + $0 = sp + 8|0; + $db = sp + 16|0; + $v = sp + 20|0; + $iDb = sp + 24|0; + $i = sp + 4|0; + $vtab = sp; + $pEL = sp + 12|0; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; HEAP32[$db>>2] = $2; $3 = HEAP32[$db>>2]|0; - $4 = (($3) + 64|0); + $4 = ((($3)) + 64|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); if ($6) { STACKTOP = sp;return; } $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 18|0); + $8 = ((($7)) + 18|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); if ($10) { STACKTOP = sp;return; } $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 64|0); + $12 = ((($11)) + 64|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)!=(0); if ($14) { @@ -64835,18 +63827,18 @@ function _sqlite3FinishCoding($pParse) { $22 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp0($22,24)|0); $23 = HEAP32[$db>>2]|0; - $24 = (($23) + 64|0); + $24 = ((($23)) + 64|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; $27 = ($26|0)==(0); if ($27) { $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 332|0); + $29 = ((($28)) + 332|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)!=(0); if (!($31)) { $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 316|0); + $33 = ((($32)) + 316|0); $34 = HEAP32[$33>>2]|0; $35 = ($34|0)!=(0|0); if (!($35)) { @@ -64859,14 +63851,14 @@ function _sqlite3FinishCoding($pParse) { while(1) { $37 = HEAP32[$iDb>>2]|0; $38 = HEAP32[$db>>2]|0; - $39 = (($38) + 20|0); + $39 = ((($38)) + 20|0); $40 = HEAP32[$39>>2]|0; $41 = ($37|0)<($40|0); if (!($41)) { break; } $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 332|0); + $43 = ((($42)) + 332|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$iDb>>2]|0; $46 = 1 << $45; @@ -64881,7 +63873,7 @@ function _sqlite3FinishCoding($pParse) { $53 = HEAP32[$v>>2]|0; $54 = HEAP32[$iDb>>2]|0; $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 328|0); + $56 = ((($55)) + 328|0); $57 = HEAP32[$56>>2]|0; $58 = HEAP32[$iDb>>2]|0; $59 = 1 << $58; @@ -64890,22 +63882,22 @@ function _sqlite3FinishCoding($pParse) { $62 = $61&1; $63 = HEAP32[$iDb>>2]|0; $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 336|0); + $65 = ((($64)) + 336|0); $66 = (($65) + ($63<<2)|0); $67 = HEAP32[$66>>2]|0; $68 = HEAP32[$iDb>>2]|0; $69 = HEAP32[$db>>2]|0; - $70 = (($69) + 16|0); + $70 = ((($69)) + 16|0); $71 = HEAP32[$70>>2]|0; $72 = (($71) + ($68<<4)|0); - $73 = (($72) + 12|0); + $73 = ((($72)) + 12|0); $74 = HEAP32[$73>>2]|0; - $75 = (($74) + 4|0); + $75 = ((($74)) + 4|0); $76 = HEAP32[$75>>2]|0; (_sqlite3VdbeAddOp4Int($53,4,$54,$62,$67,$76)|0); $77 = HEAP32[$db>>2]|0; - $78 = (($77) + 140|0); - $79 = (($78) + 5|0); + $78 = ((($77)) + 140|0); + $79 = ((($78)) + 5|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = ($81|0)==(0); @@ -64922,7 +63914,7 @@ function _sqlite3FinishCoding($pParse) { while(1) { $86 = HEAP32[$i>>2]|0; $87 = HEAP32[$0>>2]|0; - $88 = (($87) + 452|0); + $88 = ((($87)) + 452|0); $89 = HEAP32[$88>>2]|0; $90 = ($86|0)<($89|0); if (!($90)) { @@ -64931,7 +63923,7 @@ function _sqlite3FinishCoding($pParse) { $91 = HEAP32[$db>>2]|0; $92 = HEAP32[$i>>2]|0; $93 = HEAP32[$0>>2]|0; - $94 = (($93) + 520|0); + $94 = ((($93)) + 520|0); $95 = HEAP32[$94>>2]|0; $96 = (($95) + ($92<<2)|0); $97 = HEAP32[$96>>2]|0; @@ -64945,24 +63937,24 @@ function _sqlite3FinishCoding($pParse) { HEAP32[$i>>2] = $102; } $103 = HEAP32[$0>>2]|0; - $104 = (($103) + 452|0); + $104 = ((($103)) + 452|0); HEAP32[$104>>2] = 0; $105 = HEAP32[$0>>2]|0; _codeTableLocks($105); $106 = HEAP32[$0>>2]|0; _sqlite3AutoincrementBegin($106); $107 = HEAP32[$0>>2]|0; - $108 = (($107) + 316|0); + $108 = ((($107)) + 316|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)!=(0|0); L30: do { if ($110) { $111 = HEAP32[$0>>2]|0; - $112 = (($111) + 316|0); + $112 = ((($111)) + 316|0); $113 = HEAP32[$112>>2]|0; HEAP32[$pEL>>2] = $113; $114 = HEAP32[$0>>2]|0; - $115 = (($114) + 23|0); + $115 = ((($114)) + 23|0); HEAP8[$115>>0] = 0; HEAP32[$i>>2] = 0; while(1) { @@ -64976,16 +63968,16 @@ function _sqlite3FinishCoding($pParse) { $120 = HEAP32[$0>>2]|0; $121 = HEAP32[$i>>2]|0; $122 = HEAP32[$pEL>>2]|0; - $123 = (($122) + 4|0); + $123 = ((($122)) + 4|0); $124 = HEAP32[$123>>2]|0; $125 = (($124) + (($121*20)|0)|0); $126 = HEAP32[$125>>2]|0; $127 = HEAP32[$i>>2]|0; $128 = HEAP32[$pEL>>2]|0; - $129 = (($128) + 4|0); + $129 = ((($128)) + 4|0); $130 = HEAP32[$129>>2]|0; $131 = (($130) + (($127*20)|0)|0); - $132 = (($131) + 16|0); + $132 = ((($131)) + 16|0); $133 = HEAP32[$132>>2]|0; _sqlite3ExprCode($120,$126,$133); $134 = HEAP32[$i>>2]|0; @@ -65003,29 +63995,29 @@ function _sqlite3FinishCoding($pParse) { $138 = ($137|0)!=(0|0); if ($138) { $139 = HEAP32[$0>>2]|0; - $140 = (($139) + 64|0); + $140 = ((($139)) + 64|0); $141 = HEAP32[$140>>2]|0; $142 = ($141|0)==(0); if ($142) { $143 = HEAP32[$db>>2]|0; - $144 = (($143) + 64|0); + $144 = ((($143)) + 64|0); $145 = HEAP8[$144>>0]|0; $146 = ($145<<24>>24)!=(0); if ($146) { label = 30; } else { $147 = HEAP32[$0>>2]|0; - $148 = (($147) + 404|0); + $148 = ((($147)) + 404|0); $149 = HEAP32[$148>>2]|0; $150 = ($149|0)!=(0|0); if ($150) { $151 = HEAP32[$0>>2]|0; - $152 = (($151) + 68|0); + $152 = ((($151)) + 68|0); $153 = HEAP32[$152>>2]|0; $154 = ($153|0)==(0); if ($154) { $155 = HEAP32[$0>>2]|0; - $156 = (($155) + 68|0); + $156 = ((($155)) + 68|0); HEAP32[$156>>2] = 1; } } @@ -65033,10 +64025,10 @@ function _sqlite3FinishCoding($pParse) { $158 = HEAP32[$0>>2]|0; _sqlite3VdbeMakeReady($157,$158); $159 = HEAP32[$0>>2]|0; - $160 = (($159) + 12|0); + $160 = ((($159)) + 12|0); HEAP32[$160>>2] = 101; $161 = HEAP32[$0>>2]|0; - $162 = (($161) + 16|0); + $162 = ((($161)) + 16|0); HEAP8[$162>>0] = 0; } } else { @@ -65047,23 +64039,23 @@ function _sqlite3FinishCoding($pParse) { } if ((label|0) == 30) { $163 = HEAP32[$0>>2]|0; - $164 = (($163) + 12|0); + $164 = ((($163)) + 12|0); HEAP32[$164>>2] = 1; } $165 = HEAP32[$0>>2]|0; - $166 = (($165) + 68|0); + $166 = ((($165)) + 68|0); HEAP32[$166>>2] = 0; $167 = HEAP32[$0>>2]|0; - $168 = (($167) + 72|0); + $168 = ((($167)) + 72|0); HEAP32[$168>>2] = 0; $169 = HEAP32[$0>>2]|0; - $170 = (($169) + 76|0); + $170 = ((($169)) + 76|0); HEAP32[$170>>2] = 0; $171 = HEAP32[$0>>2]|0; - $172 = (($171) + 440|0); + $172 = ((($171)) + 440|0); HEAP32[$172>>2] = 0; $173 = HEAP32[$0>>2]|0; - $174 = (($173) + 332|0); + $174 = ((($173)) + 332|0); HEAP32[$174>>2] = 0; STACKTOP = sp;return; } @@ -65085,7 +64077,7 @@ function _sqlite3BeginTransaction($pParse,$type) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3AuthCheck($4,22,27128,0,0)|0); + $5 = (_sqlite3AuthCheck($4,22,29177,0,0)|0); $6 = ($5|0)!=(0); if ($6) { STACKTOP = sp;return; @@ -65106,7 +64098,7 @@ function _sqlite3BeginTransaction($pParse,$type) { while(1) { $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$db>>2]|0; - $15 = (($14) + 20|0); + $15 = ((($14)) + 20|0); $16 = HEAP32[$15>>2]|0; $17 = ($13|0)<($16|0); if (!($17)) { @@ -65141,7 +64133,7 @@ function _sqlite3CommitTransaction($pParse) { $v = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3AuthCheck($1,22,27160,0,0)|0); + $2 = (_sqlite3AuthCheck($1,22,29200,0,0)|0); $3 = ($2|0)!=(0); if ($3) { STACKTOP = sp;return; @@ -65167,7 +64159,7 @@ function _sqlite3RollbackTransaction($pParse) { $v = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3AuthCheck($1,22,27144,0,0)|0); + $2 = (_sqlite3AuthCheck($1,22,29191,0,0)|0); $3 = ($2|0)!=(0); if ($3) { STACKTOP = sp;return; @@ -65218,7 +64210,7 @@ function _sqlite3Savepoint($pParse,$op,$pName) { if ($12) { $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (27112 + ($14<<2)|0); + $15 = (3308 + ($14<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$zName>>2]|0; $18 = (_sqlite3AuthCheck($13,32,$16,$17,0)|0); @@ -65257,31 +64249,33 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code = 0, $db = 0, $fileFormat = 0, $iDb = 0, $j1 = 0, $or$cond = 0, $or$cond3 = 0, $pName = 0; - var $pTable = 0, $reg1 = 0, $reg2 = 0, $reg3 = 0, $v = 0, $vararg_buffer6 = 0, $zDb = 0, $zDb1 = 0, $zName = 0, label = 0, sp = 0; + var $pTable = 0, $reg1 = 0, $reg2 = 0, $reg3 = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $zDb = 0, $zDb1 = 0, $zName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer6 = sp; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $5 = sp + 64|0; - $6 = sp + 60|0; - $pTable = sp + 56|0; - $zName = sp + 52|0; - $db = sp + 48|0; - $v = sp + 44|0; - $iDb = sp + 40|0; - $pName = sp + 36|0; - $code = sp + 32|0; - $zDb = sp + 28|0; - $zDb1 = sp + 24|0; - $j1 = sp + 20|0; - $fileFormat = sp + 16|0; - $reg1 = sp + 12|0; - $reg2 = sp + 8|0; - $reg3 = sp + 4|0; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer6 = sp + 16|0; + $vararg_buffer4 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 68|0; + $1 = sp + 28|0; + $2 = sp + 20|0; + $3 = sp + 40|0; + $4 = sp + 64|0; + $5 = sp + 56|0; + $6 = sp + 36|0; + $pTable = sp + 32|0; + $zName = sp + 24|0; + $db = sp + 44|0; + $v = sp + 48|0; + $iDb = sp + 52|0; + $pName = sp + 60|0; + $code = sp + 72|0; + $zDb = sp + 76|0; + $zDb1 = sp + 80|0; + $j1 = sp + 84|0; + $fileFormat = sp + 88|0; + $reg1 = sp + 92|0; + $reg2 = sp + 96|0; + $reg3 = sp + 100|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName1; HEAP32[$2>>2] = $pName2; @@ -65307,7 +64301,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $16 = ($15|0)!=(0); if ($16) { $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = ($19>>>0)>(0); $21 = HEAP32[$iDb>>2]|0; @@ -65315,7 +64309,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $or$cond = $20 & $22; if ($or$cond) { $23 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($23,27000,$vararg_buffer6); + _sqlite3ErrorMsg($23,29077,$vararg_buffer); STACKTOP = sp;return; } } @@ -65325,9 +64319,9 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ HEAP32[$iDb>>2] = 1; } $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 496|0); + $27 = ((($26)) + 496|0); $28 = HEAP32[$pName>>2]|0; - ;HEAP32[$27+0>>2]=HEAP32[$28+0>>2]|0;HEAP32[$27+4>>2]=HEAP32[$28+4>>2]|0; + ;HEAP32[$27>>2]=HEAP32[$28>>2]|0;HEAP32[$27+4>>2]=HEAP32[$28+4>>2]|0; $29 = HEAP32[$db>>2]|0; $30 = HEAP32[$pName>>2]|0; $31 = (_sqlite3NameFromToken($29,$30)|0); @@ -65344,8 +64338,8 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ L15: do { if (!($37)) { $38 = HEAP32[$db>>2]|0; - $39 = (($38) + 140|0); - $40 = (($39) + 4|0); + $39 = ((($38)) + 140|0); + $40 = ((($39)) + 4|0); $41 = HEAP8[$40>>0]|0; $42 = $41&255; $43 = ($42|0)==(1); @@ -65354,7 +64348,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ } $44 = HEAP32[$iDb>>2]|0; $45 = HEAP32[$db>>2]|0; - $46 = (($45) + 16|0); + $46 = ((($45)) + 16|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + ($44<<4)|0); $49 = HEAP32[$48>>2]|0; @@ -65362,7 +64356,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $50 = HEAP32[$0>>2]|0; $51 = HEAP32[$3>>2]|0; $52 = ($51|0)==(1); - $53 = $52 ? 14904 : 14928; + $53 = $52 ? 19269 : 19288; $54 = HEAP32[$zDb>>2]|0; $55 = (_sqlite3AuthCheck($50,18,$53,0,$54)|0); $56 = ($55|0)!=(0); @@ -65404,14 +64398,14 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ } } $69 = HEAP32[$0>>2]|0; - $70 = (($69) + 451|0); + $70 = ((($69)) + 451|0); $71 = HEAP8[$70>>0]|0; $72 = ($71<<24>>24)!=(0); do { if (!($72)) { $73 = HEAP32[$iDb>>2]|0; $74 = HEAP32[$db>>2]|0; - $75 = (($74) + 16|0); + $75 = ((($74)) + 16|0); $76 = HEAP32[$75>>2]|0; $77 = (($76) + ($73<<4)|0); $78 = HEAP32[$77>>2]|0; @@ -65441,7 +64435,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $98 = HEAP32[$0>>2]|0; $99 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer6>>2] = $99; - _sqlite3ErrorMsg($98,27072,$vararg_buffer6); + _sqlite3ErrorMsg($98,29142,$vararg_buffer6); break L15; } $88 = HEAP32[$6>>2]|0; @@ -65453,8 +64447,8 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ break L15; } else { $91 = HEAP32[$pName>>2]|0; - HEAP32[$vararg_buffer6>>2] = $91; - _sqlite3ErrorMsg($90,27048,$vararg_buffer6); + HEAP32[$vararg_buffer4>>2] = $91; + _sqlite3ErrorMsg($90,29118,$vararg_buffer4); break L15; } } @@ -65466,13 +64460,13 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $103 = ($102|0)==(0|0); if ($103) { $104 = HEAP32[$db>>2]|0; - $105 = (($104) + 64|0); + $105 = ((($104)) + 64|0); HEAP8[$105>>0] = 1; $106 = HEAP32[$0>>2]|0; - $107 = (($106) + 12|0); + $107 = ((($106)) + 12|0); HEAP32[$107>>2] = 7; $108 = HEAP32[$0>>2]|0; - $109 = (($108) + 64|0); + $109 = ((($108)) + 64|0); $110 = HEAP32[$109>>2]|0; $111 = (($110) + 1)|0; HEAP32[$109>>2] = $111; @@ -65482,48 +64476,48 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $113 = HEAP32[$pTable>>2]|0; HEAP32[$113>>2] = $112; $114 = HEAP32[$pTable>>2]|0; - $115 = (($114) + 36|0); + $115 = ((($114)) + 36|0); HEAP16[$115>>1] = -1; $116 = HEAP32[$iDb>>2]|0; $117 = HEAP32[$db>>2]|0; - $118 = (($117) + 16|0); + $118 = ((($117)) + 16|0); $119 = HEAP32[$118>>2]|0; $120 = (($119) + ($116<<4)|0); - $121 = (($120) + 12|0); + $121 = ((($120)) + 12|0); $122 = HEAP32[$121>>2]|0; $123 = HEAP32[$pTable>>2]|0; - $124 = (($123) + 68|0); + $124 = ((($123)) + 68|0); HEAP32[$124>>2] = $122; $125 = HEAP32[$pTable>>2]|0; - $126 = (($125) + 40|0); + $126 = ((($125)) + 40|0); HEAP16[$126>>1] = 1; $127 = HEAP32[$pTable>>2]|0; - $128 = (($127) + 28|0); + $128 = ((($127)) + 28|0); HEAP16[$128>>1] = 200; $129 = HEAP32[$pTable>>2]|0; $130 = HEAP32[$0>>2]|0; - $131 = (($130) + 484|0); + $131 = ((($130)) + 484|0); HEAP32[$131>>2] = $129; $132 = HEAP32[$0>>2]|0; - $133 = (($132) + 18|0); + $133 = ((($132)) + 18|0); $134 = HEAP8[$133>>0]|0; $135 = ($134<<24>>24)!=(0); if (!($135)) { $136 = HEAP32[$zName>>2]|0; - $137 = (_strcmp($136,16152)|0); + $137 = (_strcmp($136,20543)|0); $138 = ($137|0)==(0); if ($138) { $139 = HEAP32[$pTable>>2]|0; $140 = HEAP32[$pTable>>2]|0; - $141 = (($140) + 68|0); + $141 = ((($140)) + 68|0); $142 = HEAP32[$141>>2]|0; - $143 = (($142) + 72|0); + $143 = ((($142)) + 72|0); HEAP32[$143>>2] = $139; } } $144 = HEAP32[$db>>2]|0; - $145 = (($144) + 140|0); - $146 = (($145) + 5|0); + $145 = ((($144)) + 140|0); + $146 = ((($145)) + 5|0); $147 = HEAP8[$146>>0]|0; $148 = ($147<<24>>24)!=(0); if ($148) { @@ -65546,25 +64540,25 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ (_sqlite3VdbeAddOp0($156,144)|0); } $157 = HEAP32[$0>>2]|0; - $158 = (($157) + 72|0); + $158 = ((($157)) + 72|0); $159 = HEAP32[$158>>2]|0; $160 = (($159) + 1)|0; HEAP32[$158>>2] = $160; $161 = HEAP32[$0>>2]|0; - $162 = (($161) + 384|0); + $162 = ((($161)) + 384|0); HEAP32[$162>>2] = $160; HEAP32[$reg1>>2] = $160; $163 = HEAP32[$0>>2]|0; - $164 = (($163) + 72|0); + $164 = ((($163)) + 72|0); $165 = HEAP32[$164>>2]|0; $166 = (($165) + 1)|0; HEAP32[$164>>2] = $166; $167 = HEAP32[$0>>2]|0; - $168 = (($167) + 388|0); + $168 = ((($167)) + 388|0); HEAP32[$168>>2] = $166; HEAP32[$reg2>>2] = $166; $169 = HEAP32[$0>>2]|0; - $170 = (($169) + 72|0); + $170 = ((($169)) + 72|0); $171 = HEAP32[$170>>2]|0; $172 = (($171) + 1)|0; HEAP32[$170>>2] = $172; @@ -65581,7 +64575,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $180 = (_sqlite3VdbeAddOp1($178,45,$179)|0); HEAP32[$j1>>2] = $180; $181 = HEAP32[$db>>2]|0; - $182 = (($181) + 24|0); + $182 = ((($181)) + 24|0); $183 = HEAP32[$182>>2]|0; $184 = $183 & 32768; $185 = ($184|0)!=(0); @@ -65597,11 +64591,11 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ (_sqlite3VdbeAddOp3($190,52,$191,2,$192)|0); $193 = HEAP32[$v>>2]|0; $194 = HEAP32[$db>>2]|0; - $195 = (($194) + 16|0); + $195 = ((($194)) + 16|0); $196 = HEAP32[$195>>2]|0; - $197 = (($196) + 12|0); + $197 = ((($196)) + 12|0); $198 = HEAP32[$197>>2]|0; - $199 = (($198) + 77|0); + $199 = ((($198)) + 77|0); $200 = HEAP8[$199>>0]|0; $201 = $200&255; $202 = HEAP32[$reg3>>2]|0; @@ -65627,7 +64621,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $215 = HEAP32[$reg2>>2]|0; $216 = (_sqlite3VdbeAddOp2($212,121,$214,$215)|0); $217 = HEAP32[$0>>2]|0; - $218 = (($217) + 416|0); + $218 = ((($217)) + 416|0); HEAP32[$218>>2] = $216; } $219 = HEAP32[$0>>2]|0; @@ -65676,33 +64670,38 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $dest = 0, $iDb = 0, $n = 0, $nName = 0, $or$cond = 0, $p = 0, $pDb = 0, $pEnd2 = 0; - var $pIdx = 0, $pOld = 0, $pSchema = 0, $pSelTab = 0, $v = 0, $vararg_buffer22 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zName = 0, $zStmt = 0, $zType = 0, $zType2 = 0, label = 0; - var sp = 0; + var $pIdx = 0, $pOld = 0, $pSchema = 0, $pSelTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0; + var $zName = 0, $zStmt = 0, $zType = 0, $zType2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer22 = sp; - $0 = sp + 128|0; + STACKTOP = STACKTOP + 192|0; + $vararg_buffer22 = sp + 16|0; + $vararg_buffer19 = sp + 64|0; + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp; + $vararg_buffer2 = sp + 72|0; + $vararg_buffer = sp + 24|0; + $0 = sp + 76|0; $1 = sp + 124|0; - $2 = sp + 120|0; - $3 = sp + 132|0; - $4 = sp + 116|0; - $p = sp + 112|0; - $db = sp + 108|0; - $iDb = sp + 104|0; - $pIdx = sp + 100|0; - $n = sp + 96|0; - $v = sp + 92|0; - $zType = sp + 88|0; - $zType2 = sp + 84|0; - $zStmt = sp + 80|0; - $dest = sp + 60|0; - $pSelTab = sp + 56|0; - $pEnd2 = sp + 52|0; - $pDb = sp + 48|0; - $pOld = sp + 44|0; - $pSchema = sp + 40|0; - $zName = sp + 36|0; - $nName = sp + 32|0; + $2 = sp + 112|0; + $3 = sp + 176|0; + $4 = sp + 100|0; + $p = sp + 80|0; + $db = sp + 88|0; + $iDb = sp + 168|0; + $pIdx = sp + 96|0; + $n = sp + 120|0; + $v = sp + 116|0; + $zType = sp + 108|0; + $zType2 = sp + 104|0; + $zStmt = sp + 128|0; + $dest = sp + 132|0; + $pSelTab = sp + 152|0; + $pEnd2 = sp + 156|0; + $pDb = sp + 160|0; + $pOld = sp + 164|0; + $pSchema = sp + 84|0; + $zName = sp + 92|0; + $nName = sp + 172|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pCons; HEAP32[$2>>2] = $pEnd; @@ -65720,7 +64719,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 64|0); + $12 = ((($11)) + 64|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = ($14|0)!=(0); @@ -65728,7 +64727,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 484|0); + $17 = ((($16)) + 484|0); $18 = HEAP32[$17>>2]|0; HEAP32[$p>>2] = $18; $19 = HEAP32[$p>>2]|0; @@ -65737,16 +64736,16 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $21 = HEAP32[$db>>2]|0; - $22 = (($21) + 140|0); - $23 = (($22) + 5|0); + $22 = ((($21)) + 140|0); + $23 = ((($22)) + 5|0); $24 = HEAP8[$23>>0]|0; $25 = ($24<<24>>24)!=(0); if ($25) { $26 = HEAP32[$db>>2]|0; - $27 = (($26) + 140|0); + $27 = ((($26)) + 140|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$p>>2]|0; - $30 = (($29) + 32|0); + $30 = ((($29)) + 32|0); HEAP32[$30>>2] = $28; } $31 = HEAP8[$3>>0]|0; @@ -65756,18 +64755,18 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { do { if ($34) { $35 = HEAP32[$p>>2]|0; - $36 = (($35) + 44|0); + $36 = ((($35)) + 44|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = $38 & 8; $40 = ($39|0)!=(0); if ($40) { $41 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($41,26608,$vararg_buffer22); + _sqlite3ErrorMsg($41,28756,$vararg_buffer); STACKTOP = sp;return; } $42 = HEAP32[$p>>2]|0; - $43 = (($42) + 44|0); + $43 = ((($42)) + 44|0); $44 = HEAP8[$43>>0]|0; $45 = $44&255; $46 = $45 & 4; @@ -65776,12 +64775,12 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $48 = HEAP32[$0>>2]|0; $49 = HEAP32[$p>>2]|0; $50 = HEAP32[$49>>2]|0; - HEAP32[$vararg_buffer22>>2] = $50; - _sqlite3ErrorMsg($48,26664,$vararg_buffer22); + HEAP32[$vararg_buffer2>>2] = $50; + _sqlite3ErrorMsg($48,28806,$vararg_buffer2); break; } else { $51 = HEAP32[$p>>2]|0; - $52 = (($51) + 44|0); + $52 = ((($51)) + 44|0); $53 = HEAP8[$52>>0]|0; $54 = $53&255; $55 = $54 | 32; @@ -65796,26 +64795,26 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { } while(0); $59 = HEAP32[$db>>2]|0; $60 = HEAP32[$p>>2]|0; - $61 = (($60) + 68|0); + $61 = ((($60)) + 68|0); $62 = HEAP32[$61>>2]|0; $63 = (_sqlite3SchemaToIndex($59,$62)|0); HEAP32[$iDb>>2] = $63; $64 = HEAP32[$p>>2]|0; - $65 = (($64) + 24|0); + $65 = ((($64)) + 24|0); $66 = HEAP32[$65>>2]|0; $67 = ($66|0)!=(0|0); if ($67) { $68 = HEAP32[$0>>2]|0; $69 = HEAP32[$p>>2]|0; $70 = HEAP32[$p>>2]|0; - $71 = (($70) + 24|0); + $71 = ((($70)) + 24|0); $72 = HEAP32[$71>>2]|0; _sqlite3ResolveSelfReference($68,$69,4,0,$72); } $73 = HEAP32[$p>>2]|0; _estimateTableWidth($73); $74 = HEAP32[$p>>2]|0; - $75 = (($74) + 8|0); + $75 = ((($74)) + 8|0); $76 = HEAP32[$75>>2]|0; HEAP32[$pIdx>>2] = $76; while(1) { @@ -65827,13 +64826,13 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $79 = HEAP32[$pIdx>>2]|0; _estimateIndexWidth($79); $80 = HEAP32[$pIdx>>2]|0; - $81 = (($80) + 20|0); + $81 = ((($80)) + 20|0); $82 = HEAP32[$81>>2]|0; HEAP32[$pIdx>>2] = $82; } $83 = HEAP32[$db>>2]|0; - $84 = (($83) + 140|0); - $85 = (($84) + 5|0); + $84 = ((($83)) + 140|0); + $85 = ((($84)) + 5|0); $86 = HEAP8[$85>>0]|0; $87 = ($86<<24>>24)!=(0); if (!($87)) { @@ -65848,15 +64847,15 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $92 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp1($92,61,0)|0); $93 = HEAP32[$p>>2]|0; - $94 = (($93) + 12|0); + $94 = ((($93)) + 12|0); $95 = HEAP32[$94>>2]|0; $96 = ($95|0)==(0|0); if ($96) { - HEAP32[$zType>>2] = 21400; - HEAP32[$zType2>>2] = 26696; + HEAP32[$zType>>2] = 24336; + HEAP32[$zType2>>2] = 28838; } else { - HEAP32[$zType>>2] = 25504; - HEAP32[$zType2>>2] = 26704; + HEAP32[$zType>>2] = 27745; + HEAP32[$zType2>>2] = 28844; } $97 = HEAP32[$4>>2]|0; $98 = ($97|0)!=(0|0); @@ -65864,14 +64863,14 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { if ($98) { $99 = HEAP32[$v>>2]|0; $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 388|0); + $101 = ((($100)) + 388|0); $102 = HEAP32[$101>>2]|0; $103 = HEAP32[$iDb>>2]|0; (_sqlite3VdbeAddOp3($99,55,1,$102,$103)|0); $104 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($104,2); $105 = HEAP32[$0>>2]|0; - $106 = (($105) + 68|0); + $106 = ((($105)) + 68|0); HEAP32[$106>>2] = 2; _sqlite3SelectDestInit($dest,14,1); $107 = HEAP32[$0>>2]|0; @@ -65880,7 +64879,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $109 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp1($109,61,1)|0); $110 = HEAP32[$0>>2]|0; - $111 = (($110) + 64|0); + $111 = ((($110)) + 64|0); $112 = HEAP32[$111>>2]|0; $113 = ($112|0)==(0); if ($113) { @@ -65894,22 +64893,22 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } else { $119 = HEAP32[$pSelTab>>2]|0; - $120 = (($119) + 38|0); + $120 = ((($119)) + 38|0); $121 = HEAP16[$120>>1]|0; $122 = HEAP32[$p>>2]|0; - $123 = (($122) + 38|0); + $123 = ((($122)) + 38|0); HEAP16[$123>>1] = $121; $124 = HEAP32[$pSelTab>>2]|0; - $125 = (($124) + 4|0); + $125 = ((($124)) + 4|0); $126 = HEAP32[$125>>2]|0; $127 = HEAP32[$p>>2]|0; - $128 = (($127) + 4|0); + $128 = ((($127)) + 4|0); HEAP32[$128>>2] = $126; $129 = HEAP32[$pSelTab>>2]|0; - $130 = (($129) + 38|0); + $130 = ((($129)) + 38|0); HEAP16[$130>>1] = 0; $131 = HEAP32[$pSelTab>>2]|0; - $132 = (($131) + 4|0); + $132 = ((($131)) + 4|0); HEAP32[$132>>2] = 0; $133 = HEAP32[$db>>2]|0; $134 = HEAP32[$pSelTab>>2]|0; @@ -65930,19 +64929,15 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $140 = HEAP8[$3>>0]|0; $141 = $140&255; $142 = ($141|0)!=(0); - if ($142) { - $143 = HEAP32[$0>>2]|0; - $144 = (($143) + 504|0); - $146 = $144; - } else { - $145 = HEAP32[$2>>2]|0; - $146 = $145; - } + $143 = HEAP32[$0>>2]|0; + $144 = ((($143)) + 504|0); + $145 = HEAP32[$2>>2]|0; + $146 = $142 ? $144 : $145; HEAP32[$pEnd2>>2] = $146; $147 = HEAP32[$pEnd2>>2]|0; $148 = HEAP32[$147>>2]|0; $149 = HEAP32[$0>>2]|0; - $150 = (($149) + 496|0); + $150 = ((($149)) + 496|0); $151 = HEAP32[$150>>2]|0; $152 = $148; $153 = $151; @@ -65955,7 +64950,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $159 = ($158|0)!=(59); if ($159) { $160 = HEAP32[$pEnd2>>2]|0; - $161 = (($160) + 4|0); + $161 = ((($160)) + 4|0); $162 = HEAP32[$161>>2]|0; $163 = HEAP32[$n>>2]|0; $164 = (($163) + ($162))|0; @@ -65965,54 +64960,54 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $166 = HEAP32[$zType2>>2]|0; $167 = HEAP32[$n>>2]|0; $168 = HEAP32[$0>>2]|0; - $169 = (($168) + 496|0); + $169 = ((($168)) + 496|0); $170 = HEAP32[$169>>2]|0; - HEAP32[$vararg_buffer22>>2] = $166; - $vararg_ptr7 = (($vararg_buffer22) + 4|0); + HEAP32[$vararg_buffer4>>2] = $166; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $167; - $vararg_ptr8 = (($vararg_buffer22) + 8|0); + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $170; - $171 = (_sqlite3MPrintf($165,26712,$vararg_buffer22)|0); + $171 = (_sqlite3MPrintf($165,28849,$vararg_buffer4)|0); HEAP32[$zStmt>>2] = $171; } $172 = HEAP32[$0>>2]|0; $173 = HEAP32[$iDb>>2]|0; $174 = HEAP32[$db>>2]|0; - $175 = (($174) + 16|0); + $175 = ((($174)) + 16|0); $176 = HEAP32[$175>>2]|0; $177 = (($176) + ($173<<4)|0); $178 = HEAP32[$177>>2]|0; $179 = HEAP32[$iDb>>2]|0; $180 = ($179|0)==(1); - $181 = $180 ? 14904 : 14928; + $181 = $180 ? 19269 : 19288; $182 = HEAP32[$zType>>2]|0; $183 = HEAP32[$p>>2]|0; $184 = HEAP32[$183>>2]|0; $185 = HEAP32[$p>>2]|0; $186 = HEAP32[$185>>2]|0; $187 = HEAP32[$0>>2]|0; - $188 = (($187) + 388|0); + $188 = ((($187)) + 388|0); $189 = HEAP32[$188>>2]|0; $190 = HEAP32[$zStmt>>2]|0; $191 = HEAP32[$0>>2]|0; - $192 = (($191) + 384|0); + $192 = ((($191)) + 384|0); $193 = HEAP32[$192>>2]|0; - HEAP32[$vararg_buffer22>>2] = $178; - $vararg_ptr12 = (($vararg_buffer22) + 4|0); + HEAP32[$vararg_buffer9>>2] = $178; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); HEAP32[$vararg_ptr12>>2] = $181; - $vararg_ptr13 = (($vararg_buffer22) + 8|0); + $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); HEAP32[$vararg_ptr13>>2] = $182; - $vararg_ptr14 = (($vararg_buffer22) + 12|0); + $vararg_ptr14 = ((($vararg_buffer9)) + 12|0); HEAP32[$vararg_ptr14>>2] = $184; - $vararg_ptr15 = (($vararg_buffer22) + 16|0); + $vararg_ptr15 = ((($vararg_buffer9)) + 16|0); HEAP32[$vararg_ptr15>>2] = $186; - $vararg_ptr16 = (($vararg_buffer22) + 20|0); + $vararg_ptr16 = ((($vararg_buffer9)) + 20|0); HEAP32[$vararg_ptr16>>2] = $189; - $vararg_ptr17 = (($vararg_buffer22) + 24|0); + $vararg_ptr17 = ((($vararg_buffer9)) + 24|0); HEAP32[$vararg_ptr17>>2] = $190; - $vararg_ptr18 = (($vararg_buffer22) + 28|0); + $vararg_ptr18 = ((($vararg_buffer9)) + 28|0); HEAP32[$vararg_ptr18>>2] = $193; - _sqlite3NestedParse($172,26728,$vararg_buffer22); + _sqlite3NestedParse($172,28864,$vararg_buffer9); $194 = HEAP32[$db>>2]|0; $195 = HEAP32[$zStmt>>2]|0; _sqlite3DbFree($194,$195); @@ -66020,7 +65015,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $197 = HEAP32[$iDb>>2]|0; _sqlite3ChangeCookie($196,$197); $198 = HEAP32[$p>>2]|0; - $199 = (($198) + 44|0); + $199 = ((($198)) + 44|0); $200 = HEAP8[$199>>0]|0; $201 = $200&255; $202 = $201 & 8; @@ -66028,22 +65023,22 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { if ($203) { $204 = HEAP32[$iDb>>2]|0; $205 = HEAP32[$db>>2]|0; - $206 = (($205) + 16|0); + $206 = ((($205)) + 16|0); $207 = HEAP32[$206>>2]|0; $208 = (($207) + ($204<<4)|0); HEAP32[$pDb>>2] = $208; $209 = HEAP32[$pDb>>2]|0; - $210 = (($209) + 12|0); + $210 = ((($209)) + 12|0); $211 = HEAP32[$210>>2]|0; - $212 = (($211) + 72|0); + $212 = ((($211)) + 72|0); $213 = HEAP32[$212>>2]|0; $214 = ($213|0)==(0|0); if ($214) { $215 = HEAP32[$0>>2]|0; $216 = HEAP32[$pDb>>2]|0; $217 = HEAP32[$216>>2]|0; - HEAP32[$vararg_buffer22>>2] = $217; - _sqlite3NestedParse($215,26816,$vararg_buffer22); + HEAP32[$vararg_buffer19>>2] = $217; + _sqlite3NestedParse($215,28951,$vararg_buffer19); } } $218 = HEAP32[$v>>2]|0; @@ -66052,23 +65047,23 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $221 = HEAP32[$p>>2]|0; $222 = HEAP32[$221>>2]|0; HEAP32[$vararg_buffer22>>2] = $222; - $223 = (_sqlite3MPrintf($220,26864,$vararg_buffer22)|0); + $223 = (_sqlite3MPrintf($220,28993,$vararg_buffer22)|0); _sqlite3VdbeAddParseSchemaOp($218,$219,$223); } $224 = HEAP32[$db>>2]|0; - $225 = (($224) + 140|0); - $226 = (($225) + 5|0); + $225 = ((($224)) + 140|0); + $226 = ((($225)) + 5|0); $227 = HEAP8[$226>>0]|0; $228 = ($227<<24>>24)!=(0); if (!($228)) { STACKTOP = sp;return; } $229 = HEAP32[$p>>2]|0; - $230 = (($229) + 68|0); + $230 = ((($229)) + 68|0); $231 = HEAP32[$230>>2]|0; HEAP32[$pSchema>>2] = $231; $232 = HEAP32[$pSchema>>2]|0; - $233 = (($232) + 8|0); + $233 = ((($232)) + 8|0); $234 = HEAP32[$p>>2]|0; $235 = HEAP32[$234>>2]|0; $236 = HEAP32[$p>>2]|0; @@ -66078,27 +65073,27 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $239 = ($238|0)!=(0|0); if ($239) { $240 = HEAP32[$db>>2]|0; - $241 = (($240) + 64|0); + $241 = ((($240)) + 64|0); HEAP8[$241>>0] = 1; STACKTOP = sp;return; } $242 = HEAP32[$0>>2]|0; - $243 = (($242) + 484|0); + $243 = ((($242)) + 484|0); HEAP32[$243>>2] = 0; $244 = HEAP32[$db>>2]|0; - $245 = (($244) + 24|0); + $245 = ((($244)) + 24|0); $246 = HEAP32[$245>>2]|0; $247 = $246 | 2; HEAP32[$245>>2] = $247; $248 = HEAP32[$p>>2]|0; - $249 = (($248) + 12|0); + $249 = ((($248)) + 12|0); $250 = HEAP32[$249>>2]|0; $251 = ($250|0)!=(0|0); if ($251) { STACKTOP = sp;return; } $252 = HEAP32[$0>>2]|0; - $253 = (($252) + 496|0); + $253 = ((($252)) + 496|0); $254 = HEAP32[$253>>2]|0; HEAP32[$zName>>2] = $254; $255 = HEAP32[$1>>2]|0; @@ -66120,7 +65115,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $267 = (_sqlite3Utf8CharLen($265,$266)|0); $268 = (13 + ($267))|0; $269 = HEAP32[$p>>2]|0; - $270 = (($269) + 48|0); + $270 = ((($269)) + 48|0); HEAP32[$270>>2] = $268; STACKTOP = sp;return; } @@ -66132,25 +65127,26 @@ function _sqlite3AddColumn($pParse,$pName) { var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $db = 0, $i = 0, $p = 0, $pCol = 0, $vararg_buffer1 = 0, $z = 0, label = 0, sp = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $db = 0, $i = 0, $p = 0, $pCol = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $vararg_buffer1 = sp; - $0 = sp + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 16|0; $1 = sp + 28|0; $p = sp + 24|0; - $i = sp + 20|0; - $z = sp + 16|0; - $pCol = sp + 12|0; - $db = sp + 8|0; - $aNew = sp + 4|0; + $i = sp + 12|0; + $z = sp + 20|0; + $pCol = sp + 32|0; + $db = sp + 36|0; + $aNew = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 484|0); + $5 = ((($4)) + 484|0); $6 = HEAP32[$5>>2]|0; HEAP32[$p>>2] = $6; $7 = ($6|0)==(0|0); @@ -66158,21 +65154,21 @@ function _sqlite3AddColumn($pParse,$pName) { STACKTOP = sp;return; } $8 = HEAP32[$p>>2]|0; - $9 = (($8) + 38|0); + $9 = ((($8)) + 38|0); $10 = HEAP16[$9>>1]|0; $11 = $10 << 16 >> 16; $12 = (($11) + 1)|0; $13 = HEAP32[$db>>2]|0; - $14 = (($13) + 88|0); - $15 = (($14) + 8|0); + $14 = ((($13)) + 88|0); + $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; $17 = ($12|0)>($16|0); if ($17) { $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$p>>2]|0; $20 = HEAP32[$19>>2]|0; - HEAP32[$vararg_buffer1>>2] = $20; - _sqlite3ErrorMsg($18,26552,$vararg_buffer1); + HEAP32[$vararg_buffer>>2] = $20; + _sqlite3ErrorMsg($18,28707,$vararg_buffer); STACKTOP = sp;return; } $21 = HEAP32[$db>>2]|0; @@ -66188,7 +65184,7 @@ function _sqlite3AddColumn($pParse,$pName) { while(1) { $26 = HEAP32[$i>>2]|0; $27 = HEAP32[$p>>2]|0; - $28 = (($27) + 38|0); + $28 = ((($27)) + 38|0); $29 = HEAP16[$28>>1]|0; $30 = $29 << 16 >> 16; $31 = ($26|0)<($30|0); @@ -66198,31 +65194,31 @@ function _sqlite3AddColumn($pParse,$pName) { $32 = HEAP32[$z>>2]|0; $33 = HEAP8[$32>>0]|0; $34 = $33&255; - $35 = (440 + ($34)|0); + $35 = (13848 + ($34)|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = HEAP32[$i>>2]|0; $39 = HEAP32[$p>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; $42 = (($41) + (($38*24)|0)|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP8[$43>>0]|0; $45 = $44&255; - $46 = (440 + ($45)|0); + $46 = (13848 + ($45)|0); $47 = HEAP8[$46>>0]|0; $48 = $47&255; $49 = ($37|0)==($48|0); if ($49) { $50 = HEAP32[$z>>2]|0; - $51 = (($50) + 1|0); + $51 = ((($50)) + 1|0); $52 = HEAP32[$i>>2]|0; $53 = HEAP32[$p>>2]|0; - $54 = (($53) + 4|0); + $54 = ((($53)) + 4|0); $55 = HEAP32[$54>>2]|0; $56 = (($55) + (($52*24)|0)|0); $57 = HEAP32[$56>>2]|0; - $58 = (($57) + 1|0); + $58 = ((($57)) + 1|0); $59 = (_sqlite3_stricmp($51,$58)|0); $60 = ($59|0)==(0); if ($60) { @@ -66238,14 +65234,14 @@ function _sqlite3AddColumn($pParse,$pName) { $61 = HEAP32[$0>>2]|0; $62 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer1>>2] = $62; - _sqlite3ErrorMsg($61,26576,$vararg_buffer1); + _sqlite3ErrorMsg($61,28730,$vararg_buffer1); $63 = HEAP32[$db>>2]|0; $64 = HEAP32[$z>>2]|0; _sqlite3DbFree($63,$64); STACKTOP = sp;return; } $67 = HEAP32[$p>>2]|0; - $68 = (($67) + 38|0); + $68 = ((($67)) + 38|0); $69 = HEAP16[$68>>1]|0; $70 = $69 << 16 >> 16; $71 = $70 & 7; @@ -66254,10 +65250,10 @@ function _sqlite3AddColumn($pParse,$pName) { if ($72) { $73 = HEAP32[$db>>2]|0; $74 = HEAP32[$p>>2]|0; - $75 = (($74) + 4|0); + $75 = ((($74)) + 4|0); $76 = HEAP32[$75>>2]|0; $77 = HEAP32[$p>>2]|0; - $78 = (($77) + 38|0); + $78 = ((($77)) + 38|0); $79 = HEAP16[$78>>1]|0; $80 = $79 << 16 >> 16; $81 = (($80) + 8)|0; @@ -66269,7 +65265,7 @@ function _sqlite3AddColumn($pParse,$pName) { if (!($85)) { $88 = HEAP32[$aNew>>2]|0; $89 = HEAP32[$p>>2]|0; - $90 = (($89) + 4|0); + $90 = ((($89)) + 4|0); HEAP32[$90>>2] = $88; break; } @@ -66280,27 +65276,27 @@ function _sqlite3AddColumn($pParse,$pName) { } } while(0); $91 = HEAP32[$p>>2]|0; - $92 = (($91) + 38|0); + $92 = ((($91)) + 38|0); $93 = HEAP16[$92>>1]|0; $94 = $93 << 16 >> 16; $95 = HEAP32[$p>>2]|0; - $96 = (($95) + 4|0); + $96 = ((($95)) + 4|0); $97 = HEAP32[$96>>2]|0; $98 = (($97) + (($94*24)|0)|0); HEAP32[$pCol>>2] = $98; $99 = HEAP32[$pCol>>2]|0; - ;HEAP32[$99+0>>2]=0|0;HEAP32[$99+4>>2]=0|0;HEAP32[$99+8>>2]=0|0;HEAP32[$99+12>>2]=0|0;HEAP32[$99+16>>2]=0|0;HEAP32[$99+20>>2]=0|0; + ;HEAP32[$99>>2]=0|0;HEAP32[$99+4>>2]=0|0;HEAP32[$99+8>>2]=0|0;HEAP32[$99+12>>2]=0|0;HEAP32[$99+16>>2]=0|0;HEAP32[$99+20>>2]=0|0; $100 = HEAP32[$z>>2]|0; $101 = HEAP32[$pCol>>2]|0; HEAP32[$101>>2] = $100; $102 = HEAP32[$pCol>>2]|0; - $103 = (($102) + 21|0); + $103 = ((($102)) + 21|0); HEAP8[$103>>0] = 65; $104 = HEAP32[$pCol>>2]|0; - $105 = (($104) + 22|0); + $105 = ((($104)) + 22|0); HEAP8[$105>>0] = 1; $106 = HEAP32[$p>>2]|0; - $107 = (($106) + 38|0); + $107 = ((($106)) + 38|0); $108 = HEAP16[$107>>1]|0; $109 = (($108) + 1)<<16>>16; HEAP16[$107>>1] = $109; @@ -66320,7 +65316,7 @@ function _sqlite3AddColumnType($pParse,$pType) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pType; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 484|0); + $3 = ((($2)) + 484|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$p>>2]|0; @@ -66329,7 +65325,7 @@ function _sqlite3AddColumnType($pParse,$pType) { STACKTOP = sp;return; } $7 = HEAP32[$p>>2]|0; - $8 = (($7) + 38|0); + $8 = ((($7)) + 38|0); $9 = HEAP16[$8>>1]|0; $10 = $9 << 16 >> 16; $11 = ($10|0)<(1); @@ -66337,12 +65333,12 @@ function _sqlite3AddColumnType($pParse,$pType) { STACKTOP = sp;return; } $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 38|0); + $13 = ((($12)) + 38|0); $14 = HEAP16[$13>>1]|0; $15 = $14 << 16 >> 16; $16 = (($15) - 1)|0; $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + (($16*24)|0)|0); HEAP32[$pCol>>2] = $20; @@ -66351,16 +65347,16 @@ function _sqlite3AddColumnType($pParse,$pType) { $23 = HEAP32[$1>>2]|0; $24 = (_sqlite3NameFromToken($22,$23)|0); $25 = HEAP32[$pCol>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); HEAP32[$26>>2] = $24; $27 = HEAP32[$pCol>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$pCol>>2]|0; - $31 = (($30) + 22|0); + $31 = ((($30)) + 22|0); $32 = (_sqlite3AffinityType($29,$31)|0); $33 = HEAP32[$pCol>>2]|0; - $34 = (($33) + 21|0); + $34 = ((($33)) + 21|0); HEAP8[$34>>0] = $32; STACKTOP = sp;return; } @@ -66385,7 +65381,7 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 484|0); + $5 = ((($4)) + 484|0); $6 = HEAP32[$5>>2]|0; HEAP32[$p>>2] = $6; $7 = HEAP32[$p>>2]|0; @@ -66398,27 +65394,27 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { STACKTOP = sp;return; } $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 38|0); + $10 = ((($9)) + 38|0); $11 = HEAP16[$10>>1]|0; $12 = $11 << 16 >> 16; $13 = (($12) - 1)|0; $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + (($13*24)|0)|0); HEAP32[$pCol>>2] = $17; $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$db>>2]|0; - $21 = (($20) + 140|0); - $22 = (($21) + 5|0); + $21 = ((($20)) + 140|0); + $22 = ((($21)) + 5|0); $23 = HEAP8[$22>>0]|0; $24 = (_sqlite3ExprIsConstantOrFunction($19,$23)|0); $25 = ($24|0)!=(0); if ($25) { $29 = HEAP32[$db>>2]|0; $30 = HEAP32[$pCol>>2]|0; - $31 = (($30) + 4|0); + $31 = ((($30)) + 4|0); $32 = HEAP32[$31>>2]|0; _sqlite3ExprDelete($29,$32); $33 = HEAP32[$db>>2]|0; @@ -66426,22 +65422,22 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $35 = HEAP32[$34>>2]|0; $36 = (_sqlite3ExprDup($33,$35,1)|0); $37 = HEAP32[$pCol>>2]|0; - $38 = (($37) + 4|0); + $38 = ((($37)) + 4|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$db>>2]|0; $40 = HEAP32[$pCol>>2]|0; - $41 = (($40) + 8|0); + $41 = ((($40)) + 8|0); $42 = HEAP32[$41>>2]|0; _sqlite3DbFree($39,$42); $43 = HEAP32[$db>>2]|0; $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 4|0); + $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; $53 = $49; $54 = $52; @@ -66450,7 +65446,7 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $57 = $56 << 31 >> 31; $58 = (_sqlite3DbStrNDup($43,$46,$55,$57)|0); $59 = HEAP32[$pCol>>2]|0; - $60 = (($59) + 8|0); + $60 = ((($59)) + 8|0); HEAP32[$60>>2] = $58; $61 = HEAP32[$db>>2]|0; $62 = HEAP32[$1>>2]|0; @@ -66462,7 +65458,7 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $27 = HEAP32[$pCol>>2]|0; $28 = HEAP32[$27>>2]|0; HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($26,26504,$vararg_buffer); + _sqlite3ErrorMsg($26,28662,$vararg_buffer); $61 = HEAP32[$db>>2]|0; $62 = HEAP32[$1>>2]|0; $63 = HEAP32[$62>>2]|0; @@ -66526,7 +65522,7 @@ function _sqlite3PExpr($pParse,$op,$pLeft,$pRight,$pToken) { } $26 = HEAP32[$0>>2]|0; $27 = HEAP32[$p>>2]|0; - $28 = (($27) + 24|0); + $28 = ((($27)) + 24|0); $29 = HEAP32[$28>>2]|0; (_sqlite3ExprCheckHeight($26,$29)|0); $30 = HEAP32[$p>>2]|0; @@ -66558,16 +65554,16 @@ function _spanExpr($pOut,$pParse,$op,$pValue) { $9 = HEAP32[$3>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); HEAP32[$12>>2] = $10; $13 = HEAP32[$3>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$3>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($15)|0); $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 8|0); + $20 = ((($19)) + 8|0); HEAP32[$20>>2] = $18; STACKTOP = sp;return; } @@ -66584,7 +65580,7 @@ function _sqlite3AddNotNull($pParse,$onError) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $onError; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 484|0); + $3 = ((($2)) + 484|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$p>>2]|0; @@ -66593,7 +65589,7 @@ function _sqlite3AddNotNull($pParse,$onError) { STACKTOP = sp;return; } $7 = HEAP32[$p>>2]|0; - $8 = (($7) + 38|0); + $8 = ((($7)) + 38|0); $9 = HEAP16[$8>>1]|0; $10 = $9 << 16 >> 16; $11 = ($10|0)<(1); @@ -66603,15 +65599,15 @@ function _sqlite3AddNotNull($pParse,$onError) { $12 = HEAP32[$1>>2]|0; $13 = $12&255; $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 38|0); + $15 = ((($14)) + 38|0); $16 = HEAP16[$15>>1]|0; $17 = $16 << 16 >> 16; $18 = (($17) - 1)|0; $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + (($18*24)|0)|0); - $23 = (($22) + 20|0); + $23 = ((($22)) + 20|0); HEAP8[$23>>0] = $13; STACKTOP = sp;return; } @@ -66629,29 +65625,30 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCol = 0, $nTerm = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pTab = 0, $v = 0, $vararg_buffer4 = 0, $zType = 0, label = 0, sp = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCol = 0, $nTerm = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $zType = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $vararg_buffer4 = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 16|0; + $1 = sp + 32|0; + $2 = sp + 12|0; + $3 = sp + 20|0; + $4 = sp + 24|0; $pTab = sp + 28|0; - $zType = sp + 24|0; - $iCol = sp + 20|0; - $i = sp + 16|0; - $nTerm = sp + 12|0; - $v = sp + 8|0; - $p = sp + 4|0; + $zType = sp + 36|0; + $iCol = sp + 40|0; + $i = sp + 44|0; + $nTerm = sp + 48|0; + $v = sp + 52|0; + $p = sp + 56|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pList; HEAP32[$2>>2] = $onError; HEAP32[$3>>2] = $autoInc; HEAP32[$4>>2] = $sortOrder; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 484|0); + $6 = ((($5)) + 484|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pTab>>2] = $7; HEAP32[$zType>>2] = 0; @@ -66666,7 +65663,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { STACKTOP = sp;return; } $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 451|0); + $11 = ((($10)) + 451|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = ($13|0)!=(0); @@ -66678,7 +65675,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { STACKTOP = sp;return; } $15 = HEAP32[$pTab>>2]|0; - $16 = (($15) + 44|0); + $16 = ((($15)) + 44|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 & 4; @@ -66687,8 +65684,8 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$pTab>>2]|0; $23 = HEAP32[$22>>2]|0; - HEAP32[$vararg_buffer4>>2] = $23; - _sqlite3ErrorMsg($21,26400,$vararg_buffer4); + HEAP32[$vararg_buffer>>2] = $23; + _sqlite3ErrorMsg($21,28565,$vararg_buffer); $163 = HEAP32[$0>>2]|0; $164 = HEAP32[$163>>2]|0; $165 = HEAP32[$1>>2]|0; @@ -66696,7 +65693,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { STACKTOP = sp;return; } $24 = HEAP32[$pTab>>2]|0; - $25 = (($24) + 44|0); + $25 = ((($24)) + 44|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; $28 = $27 | 4; @@ -66707,17 +65704,17 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { L11: do { if ($31) { $32 = HEAP32[$pTab>>2]|0; - $33 = (($32) + 38|0); + $33 = ((($32)) + 38|0); $34 = HEAP16[$33>>1]|0; $35 = $34 << 16 >> 16; $36 = (($35) - 1)|0; HEAP32[$iCol>>2] = $36; $37 = HEAP32[$iCol>>2]|0; $38 = HEAP32[$pTab>>2]|0; - $39 = (($38) + 4|0); + $39 = ((($38)) + 4|0); $40 = HEAP32[$39>>2]|0; $41 = (($40) + (($37*24)|0)|0); - $42 = (($41) + 23|0); + $42 = ((($41)) + 23|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = $44 | 1; @@ -66725,10 +65722,10 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { HEAP8[$42>>0] = $46; $47 = HEAP32[$iCol>>2]|0; $48 = HEAP32[$pTab>>2]|0; - $49 = (($48) + 4|0); + $49 = ((($48)) + 4|0); $50 = HEAP32[$49>>2]|0; $51 = (($50) + (($47*24)|0)|0); - $52 = (($51) + 12|0); + $52 = ((($51)) + 12|0); $53 = HEAP32[$52>>2]|0; HEAP32[$zType>>2] = $53; HEAP32[$nTerm>>2] = 1; @@ -66748,7 +65745,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { while(1) { $59 = HEAP32[$iCol>>2]|0; $60 = HEAP32[$pTab>>2]|0; - $61 = (($60) + 38|0); + $61 = ((($60)) + 38|0); $62 = HEAP16[$61>>1]|0; $63 = $62 << 16 >> 16; $64 = ($59|0)<($63|0); @@ -66757,14 +65754,14 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { } $65 = HEAP32[$i>>2]|0; $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 4|0); + $67 = ((($66)) + 4|0); $68 = HEAP32[$67>>2]|0; $69 = (($68) + (($65*20)|0)|0); - $70 = (($69) + 4|0); + $70 = ((($69)) + 4|0); $71 = HEAP32[$70>>2]|0; $72 = HEAP32[$iCol>>2]|0; $73 = HEAP32[$pTab>>2]|0; - $74 = (($73) + 4|0); + $74 = ((($73)) + 4|0); $75 = HEAP32[$74>>2]|0; $76 = (($75) + (($72*24)|0)|0); $77 = HEAP32[$76>>2]|0; @@ -66781,10 +65778,10 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { if ((label|0) == 12) { label = 0; $81 = HEAP32[$pTab>>2]|0; - $82 = (($81) + 4|0); + $82 = ((($81)) + 4|0); $83 = HEAP32[$82>>2]|0; $84 = (($83) + (($80*24)|0)|0); - $85 = (($84) + 23|0); + $85 = ((($84)) + 23|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; $88 = $87 | 1; @@ -66792,10 +65789,10 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { HEAP8[$85>>0] = $89; $90 = HEAP32[$iCol>>2]|0; $91 = HEAP32[$pTab>>2]|0; - $92 = (($91) + 4|0); + $92 = ((($91)) + 4|0); $93 = HEAP32[$92>>2]|0; $94 = (($93) + (($90*24)|0)|0); - $95 = (($94) + 12|0); + $95 = ((($94)) + 12|0); $96 = HEAP32[$95>>2]|0; HEAP32[$zType>>2] = $96; } @@ -66812,7 +65809,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $or$cond = $101 & $103; if ($or$cond) { $104 = HEAP32[$zType>>2]|0; - $105 = (_sqlite3_stricmp($104,16416)|0); + $105 = (_sqlite3_stricmp($104,20773)|0); $106 = ($105|0)==(0); $107 = HEAP32[$4>>2]|0; $108 = ($107|0)==(0); @@ -66821,17 +65818,17 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $109 = HEAP32[$iCol>>2]|0; $110 = $109&65535; $111 = HEAP32[$pTab>>2]|0; - $112 = (($111) + 36|0); + $112 = ((($111)) + 36|0); HEAP16[$112>>1] = $110; $113 = HEAP32[$2>>2]|0; $114 = $113&255; $115 = HEAP32[$pTab>>2]|0; - $116 = (($115) + 45|0); + $116 = ((($115)) + 45|0); HEAP8[$116>>0] = $114; $117 = HEAP32[$3>>2]|0; $118 = $117<<3; $119 = HEAP32[$pTab>>2]|0; - $120 = (($119) + 44|0); + $120 = ((($119)) + 44|0); $121 = HEAP8[$120>>0]|0; $122 = $121&255; $123 = $122 | $118; @@ -66847,12 +65844,12 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { STACKTOP = sp;return; } $127 = HEAP32[$1>>2]|0; - $128 = (($127) + 4|0); + $128 = ((($127)) + 4|0); $129 = HEAP32[$128>>2]|0; - $130 = (($129) + 12|0); + $130 = ((($129)) + 12|0); $131 = HEAP8[$130>>0]|0; $132 = HEAP32[$0>>2]|0; - $133 = (($132) + 448|0); + $133 = ((($132)) + 448|0); HEAP8[$133>>0] = $131; $163 = HEAP32[$0>>2]|0; $164 = HEAP32[$163>>2]|0; @@ -66865,14 +65862,14 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $135 = ($134|0)!=(0); $136 = HEAP32[$0>>2]|0; if ($135) { - _sqlite3ErrorMsg($136,26448,$vararg_buffer4); + _sqlite3ErrorMsg($136,28606,$vararg_buffer4); $163 = HEAP32[$0>>2]|0; $164 = HEAP32[$163>>2]|0; $165 = HEAP32[$1>>2]|0; _sqlite3ExprListDelete($164,$165); STACKTOP = sp;return; } - $137 = (($136) + 8|0); + $137 = ((($136)) + 8|0); $138 = HEAP32[$137>>2]|0; HEAP32[$v>>2] = $138; $139 = HEAP32[$v>>2]|0; @@ -66881,7 +65878,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $141 = HEAP32[$v>>2]|0; $142 = (_sqlite3VdbeAddOp0($141,154)|0); $143 = HEAP32[$0>>2]|0; - $144 = (($143) + 420|0); + $144 = ((($143)) + 420|0); HEAP32[$144>>2] = $142; } $145 = HEAP32[$0>>2]|0; @@ -66894,7 +65891,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $151 = ($150|0)!=(0|0); if ($151) { $152 = HEAP32[$p>>2]|0; - $153 = (($152) + 55|0); + $153 = ((($152)) + 55|0); $154 = HEAP8[$153>>0]|0; $155 = $154 & -4; $156 = $155 | 2; @@ -66904,7 +65901,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { if ($158) { $159 = HEAP32[$v>>2]|0; $160 = HEAP32[$0>>2]|0; - $161 = (($160) + 420|0); + $161 = ((($160)) + 420|0); $162 = HEAP32[$161>>2]|0; _sqlite3VdbeJumpHere($159,$162); } @@ -66970,59 +65967,70 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ var $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iDb = 0, $iMem = 0, $j = 0, $k = 0, $n = 0, $n1 = 0, $nColl = 0, $nExtra = 0; var $nExtraCol = 0, $nName = 0, $or$cond = 0, $or$cond4 = 0, $or$cond6 = 0, $p = 0, $pDb = 0, $pExpr = 0, $pIdx = 0, $pIndex = 0, $pListItem = 0, $pLoop = 0, $pName = 0, $pOther = 0, $pPk = 0, $pRet = 0, $pTab = 0, $pTabCol = 0, $requestedSortOrder = 0, $sFix = 0; - var $sortOrderMask = 0, $v = 0, $vararg_buffer44 = 0, $vararg_ptr23 = 0, $vararg_ptr27 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $x = 0, $z1 = 0, $z2 = 0, $zColName = 0, $zColl = 0, $zDb = 0, $zExtra = 0, $zName = 0; - var $zStmt = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $vararg_buffer44 = sp; - $0 = sp + 232|0; - $1 = sp + 228|0; - $2 = sp + 224|0; - $3 = sp + 220|0; - $4 = sp + 216|0; - $5 = sp + 212|0; - $6 = sp + 208|0; + var $sortOrderMask = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer28 = 0, $vararg_buffer31 = 0, $vararg_buffer36 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr23 = 0, $vararg_ptr27 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0; + var $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $x = 0, $z1 = 0, $z2 = 0, $zColName = 0, $zColl = 0, $zDb = 0, $zExtra = 0, $zName = 0, $zStmt = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; + $vararg_buffer44 = sp + 8|0; + $vararg_buffer36 = sp + 96|0; + $vararg_buffer31 = sp + 48|0; + $vararg_buffer28 = sp + 40|0; + $vararg_buffer24 = sp + 64|0; + $vararg_buffer20 = sp; + $vararg_buffer17 = sp + 24|0; + $vararg_buffer14 = sp + 32|0; + $vararg_buffer12 = sp + 80|0; + $vararg_buffer10 = sp + 16|0; + $vararg_buffer7 = sp + 72|0; + $vararg_buffer = sp + 88|0; + $0 = sp + 132|0; + $1 = sp + 124|0; + $2 = sp + 120|0; + $3 = sp + 276|0; + $4 = sp + 260|0; + $5 = sp + 220|0; + $6 = sp + 212|0; $7 = sp + 204|0; - $8 = sp + 200|0; - $9 = sp + 196|0; - $pRet = sp + 192|0; - $pTab = sp + 188|0; - $pIndex = sp + 184|0; - $zName = sp + 180|0; - $nName = sp + 176|0; - $i = sp + 172|0; - $j = sp + 168|0; - $sFix = sp + 144|0; - $sortOrderMask = sp + 140|0; - $db = sp + 136|0; - $pDb = sp + 132|0; - $iDb = sp + 128|0; - $pName = sp + 124|0; - $pListItem = sp + 120|0; - $pTabCol = sp + 116|0; - $nExtra = sp + 112|0; - $nExtraCol = sp + 108|0; - $zExtra = sp + 104|0; - $pPk = sp + 100|0; - $n = sp + 96|0; - $pLoop = sp + 92|0; - $zDb = sp + 88|0; - $pExpr = sp + 84|0; - $zColName = sp + 80|0; - $requestedSortOrder = sp + 76|0; - $zColl = sp + 72|0; - $nColl = sp + 68|0; - $x = sp + 64|0; - $pIdx = sp + 60|0; - $k = sp + 56|0; - $z1 = sp + 52|0; - $z2 = sp + 48|0; - $p = sp + 44|0; - $v = sp + 40|0; - $zStmt = sp + 36|0; - $iMem = sp + 32|0; - $n1 = sp + 28|0; - $pOther = sp + 24|0; + $8 = sp + 196|0; + $9 = sp + 164|0; + $pRet = sp + 156|0; + $pTab = sp + 136|0; + $pIndex = sp + 152|0; + $zName = sp + 292|0; + $nName = sp + 300|0; + $i = sp + 308|0; + $j = sp + 316|0; + $sFix = sp + 168|0; + $sortOrderMask = sp + 192|0; + $db = sp + 272|0; + $pDb = sp + 296|0; + $iDb = sp + 304|0; + $pName = sp + 256|0; + $pListItem = sp + 312|0; + $pTabCol = sp + 216|0; + $nExtra = sp + 224|0; + $nExtraCol = sp + 228|0; + $zExtra = sp + 200|0; + $pPk = sp + 232|0; + $n = sp + 236|0; + $pLoop = sp + 240|0; + $zDb = sp + 160|0; + $pExpr = sp + 244|0; + $zColName = sp + 248|0; + $requestedSortOrder = sp + 252|0; + $zColl = sp + 148|0; + $nColl = sp + 264|0; + $x = sp + 268|0; + $pIdx = sp + 320|0; + $k = sp + 324|0; + $z1 = sp + 328|0; + $z2 = sp + 144|0; + $p = sp + 280|0; + $v = sp + 128|0; + $zStmt = sp + 140|0; + $iMem = sp + 288|0; + $n1 = sp + 208|0; + $pOther = sp + 284|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName1; HEAP32[$2>>2] = $pName2; @@ -67045,14 +66053,14 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ HEAP32[$zExtra>>2] = 0; HEAP32[$pPk>>2] = 0; $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 64|0); + $13 = ((($12)) + 64|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = ($15|0)!=(0); L1: do { if (!($16)) { $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 451|0); + $18 = ((($17)) + 451|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20|0)!=(0); @@ -67075,8 +66083,8 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $33 = HEAP32[$db>>2]|0; - $34 = (($33) + 140|0); - $35 = (($34) + 5|0); + $34 = ((($33)) + 140|0); + $35 = ((($34)) + 5|0); $36 = HEAP8[$35>>0]|0; $37 = ($36<<24>>24)!=(0); if (!($37)) { @@ -67085,7 +66093,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $40 = (_sqlite3SrcListLookup($38,$39)|0); HEAP32[$pTab>>2] = $40; $41 = HEAP32[$2>>2]|0; - $42 = (($41) + 4|0); + $42 = ((($41)) + 4|0); $43 = HEAP32[$42>>2]|0; $44 = ($43|0)==(0); $45 = HEAP32[$pTab>>2]|0; @@ -67093,13 +66101,13 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $or$cond = $44 & $46; if ($or$cond) { $47 = HEAP32[$pTab>>2]|0; - $48 = (($47) + 68|0); + $48 = ((($47)) + 68|0); $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$db>>2]|0; - $51 = (($50) + 16|0); + $51 = ((($50)) + 16|0); $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 16|0); - $54 = (($53) + 12|0); + $53 = ((($52)) + 16|0); + $54 = ((($53)) + 12|0); $55 = HEAP32[$54>>2]|0; $56 = ($49|0)==($55|0); if ($56) { @@ -67110,12 +66118,12 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $57 = HEAP32[$0>>2]|0; $58 = HEAP32[$iDb>>2]|0; $59 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$57,$58,10168,$59); + _sqlite3FixInit($sFix,$57,$58,18253,$59); $60 = HEAP32[$3>>2]|0; (_sqlite3FixSrcList($sFix,$60)|0); $61 = HEAP32[$0>>2]|0; $62 = HEAP32[$3>>2]|0; - $63 = (($62) + 8|0); + $63 = ((($62)) + 8|0); $64 = (_sqlite3LocateTableItem($61,0,$63)|0); HEAP32[$pTab>>2] = $64; $65 = HEAP32[$pTab>>2]|0; @@ -67128,26 +66136,26 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ if ($68) { $69 = HEAP32[$iDb>>2]|0; $70 = HEAP32[$db>>2]|0; - $71 = (($70) + 16|0); + $71 = ((($70)) + 16|0); $72 = HEAP32[$71>>2]|0; $73 = (($72) + ($69<<4)|0); - $74 = (($73) + 12|0); + $74 = ((($73)) + 12|0); $75 = HEAP32[$74>>2]|0; $76 = HEAP32[$pTab>>2]|0; - $77 = (($76) + 68|0); + $77 = ((($76)) + 68|0); $78 = HEAP32[$77>>2]|0; $79 = ($75|0)!=($78|0); if ($79) { $80 = HEAP32[$0>>2]|0; $81 = HEAP32[$pTab>>2]|0; $82 = HEAP32[$81>>2]|0; - HEAP32[$vararg_buffer44>>2] = $82; - _sqlite3ErrorMsg($80,25944,$vararg_buffer44); + HEAP32[$vararg_buffer>>2] = $82; + _sqlite3ErrorMsg($80,28160,$vararg_buffer); break; } } $83 = HEAP32[$pTab>>2]|0; - $84 = (($83) + 44|0); + $84 = ((($83)) + 44|0); $85 = HEAP8[$84>>0]|0; $86 = $85&255; $87 = $86 & 32; @@ -67158,7 +66166,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ HEAP32[$pPk>>2] = $90; } } else { - $91 = (($27) + 484|0); + $91 = ((($27)) + 484|0); $92 = HEAP32[$91>>2]|0; HEAP32[$pTab>>2] = $92; $93 = HEAP32[$pTab>>2]|0; @@ -67168,62 +66176,62 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } $95 = HEAP32[$db>>2]|0; $96 = HEAP32[$pTab>>2]|0; - $97 = (($96) + 68|0); + $97 = ((($96)) + 68|0); $98 = HEAP32[$97>>2]|0; $99 = (_sqlite3SchemaToIndex($95,$98)|0); HEAP32[$iDb>>2] = $99; } $100 = HEAP32[$iDb>>2]|0; $101 = HEAP32[$db>>2]|0; - $102 = (($101) + 16|0); + $102 = ((($101)) + 16|0); $103 = HEAP32[$102>>2]|0; $104 = (($103) + ($100<<4)|0); HEAP32[$pDb>>2] = $104; $105 = HEAP32[$pTab>>2]|0; $106 = HEAP32[$105>>2]|0; - $107 = (_sqlite3_strnicmp($106,15144,7)|0); + $107 = (_sqlite3_strnicmp($106,19570,7)|0); $108 = ($107|0)==(0); if ($108) { $109 = HEAP32[$db>>2]|0; - $110 = (($109) + 140|0); - $111 = (($110) + 5|0); + $110 = ((($109)) + 140|0); + $111 = ((($110)) + 5|0); $112 = HEAP8[$111>>0]|0; $113 = $112&255; $114 = ($113|0)==(0); if ($114) { $115 = HEAP32[$pTab>>2]|0; $116 = HEAP32[$115>>2]|0; - $117 = (($116) + 7|0); - $118 = (_sqlite3_strnicmp($117,26000,9)|0); + $117 = ((($116)) + 7|0); + $118 = (_sqlite3_strnicmp($117,28210,9)|0); $119 = ($118|0)!=(0); if ($119) { $120 = HEAP32[$0>>2]|0; $121 = HEAP32[$pTab>>2]|0; $122 = HEAP32[$121>>2]|0; - HEAP32[$vararg_buffer44>>2] = $122; - _sqlite3ErrorMsg($120,26016,$vararg_buffer44); + HEAP32[$vararg_buffer7>>2] = $122; + _sqlite3ErrorMsg($120,28220,$vararg_buffer7); break; } } } $123 = HEAP32[$pTab>>2]|0; - $124 = (($123) + 12|0); + $124 = ((($123)) + 12|0); $125 = HEAP32[$124>>2]|0; $126 = ($125|0)!=(0|0); if ($126) { $127 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($127,26048,$vararg_buffer44); + _sqlite3ErrorMsg($127,28248,$vararg_buffer10); break; } $128 = HEAP32[$pTab>>2]|0; - $129 = (($128) + 44|0); + $129 = ((($128)) + 44|0); $130 = HEAP8[$129>>0]|0; $131 = $130&255; $132 = $131 & 16; $133 = ($132|0)!=(0); if ($133) { $134 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($134,26080,$vararg_buffer44); + _sqlite3ErrorMsg($134,28273,$vararg_buffer12); break; } $135 = HEAP32[$pName>>2]|0; @@ -67246,8 +66254,8 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $146 = HEAP32[$db>>2]|0; - $147 = (($146) + 140|0); - $148 = (($147) + 5|0); + $147 = ((($146)) + 140|0); + $148 = ((($147)) + 5|0); $149 = HEAP8[$148>>0]|0; $150 = ($149<<24>>24)!=(0); if (!($150)) { @@ -67258,8 +66266,8 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ if ($154) { $155 = HEAP32[$0>>2]|0; $156 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer44>>2] = $156; - _sqlite3ErrorMsg($155,26120,$vararg_buffer44); + HEAP32[$vararg_buffer14>>2] = $156; + _sqlite3ErrorMsg($155,28307,$vararg_buffer14); break; } } @@ -67279,14 +66287,14 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } else { $166 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer44>>2] = $166; - _sqlite3ErrorMsg($165,26160,$vararg_buffer44); + HEAP32[$vararg_buffer17>>2] = $166; + _sqlite3ErrorMsg($165,28341,$vararg_buffer17); break; } } } else { $168 = HEAP32[$pTab>>2]|0; - $169 = (($168) + 8|0); + $169 = ((($168)) + 8|0); $170 = HEAP32[$169>>2]|0; HEAP32[$pLoop>>2] = $170; HEAP32[$n>>2] = 1; @@ -67297,7 +66305,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $173 = HEAP32[$pLoop>>2]|0; - $174 = (($173) + 20|0); + $174 = ((($173)) + 20|0); $175 = HEAP32[$174>>2]|0; HEAP32[$pLoop>>2] = $175; $176 = HEAP32[$n>>2]|0; @@ -67308,10 +66316,10 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $179 = HEAP32[$pTab>>2]|0; $180 = HEAP32[$179>>2]|0; $181 = HEAP32[$n>>2]|0; - HEAP32[$vararg_buffer44>>2] = $180; - $vararg_ptr23 = (($vararg_buffer44) + 4|0); + HEAP32[$vararg_buffer20>>2] = $180; + $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); HEAP32[$vararg_ptr23>>2] = $181; - $182 = (_sqlite3MPrintf($178,26184,$vararg_buffer44)|0); + $182 = (_sqlite3MPrintf($178,28365,$vararg_buffer20)|0); HEAP32[$zName>>2] = $182; $183 = HEAP32[$zName>>2]|0; $184 = ($183|0)==(0|0); @@ -67325,7 +66333,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $187 = HEAP32[$0>>2]|0; $188 = HEAP32[$iDb>>2]|0; $189 = ($188|0)==(1); - $190 = $189 ? 14904 : 14928; + $190 = $189 ? 19269 : 19288; $191 = HEAP32[$zDb>>2]|0; $192 = (_sqlite3AuthCheck($187,18,$190,0,$191)|0); $193 = ($192|0)!=(0); @@ -67358,27 +66366,27 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $210 = HEAP32[$0>>2]|0; $211 = HEAP32[$210>>2]|0; $212 = HEAP32[$pTab>>2]|0; - $213 = (($212) + 38|0); + $213 = ((($212)) + 38|0); $214 = HEAP16[$213>>1]|0; $215 = $214 << 16 >> 16; $216 = (($215) - 1)|0; $217 = HEAP32[$pTab>>2]|0; - $218 = (($217) + 4|0); + $218 = ((($217)) + 4|0); $219 = HEAP32[$218>>2]|0; $220 = (($219) + (($216*24)|0)|0); $221 = HEAP32[$220>>2]|0; $222 = (_sqlite3DbStrDup($211,$221)|0); $223 = HEAP32[$4>>2]|0; - $224 = (($223) + 4|0); + $224 = ((($223)) + 4|0); $225 = HEAP32[$224>>2]|0; - $226 = (($225) + 4|0); + $226 = ((($225)) + 4|0); HEAP32[$226>>2] = $222; $227 = HEAP32[$8>>2]|0; $228 = $227&255; $229 = HEAP32[$4>>2]|0; - $230 = (($229) + 4|0); + $230 = ((($229)) + 4|0); $231 = HEAP32[$230>>2]|0; - $232 = (($231) + 12|0); + $232 = ((($231)) + 12|0); HEAP8[$232>>0] = $228; } HEAP32[$i>>2] = 0; @@ -67392,7 +66400,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } $237 = HEAP32[$i>>2]|0; $238 = HEAP32[$4>>2]|0; - $239 = (($238) + 4|0); + $239 = ((($238)) + 4|0); $240 = HEAP32[$239>>2]|0; $241 = (($240) + (($237*20)|0)|0); $242 = HEAP32[$241>>2]|0; @@ -67401,7 +66409,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $244 = ($243|0)!=(0|0); if ($244) { $245 = HEAP32[$pExpr>>2]|0; - $246 = (($245) + 8|0); + $246 = ((($245)) + 8|0); $247 = HEAP32[$246>>2]|0; $248 = (_sqlite3Strlen30($247)|0); $249 = (1 + ($248))|0; @@ -67420,7 +66428,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $257 = ($256|0)!=(0|0); if ($257) { $258 = HEAP32[$pPk>>2]|0; - $259 = (($258) + 50|0); + $259 = ((($258)) + 50|0); $260 = HEAP16[$259>>1]|0; $261 = $260&65535; $262 = $261; @@ -67441,7 +66449,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $273 = (_sqlite3AllocateIndexObject($263,$268,$272,$zExtra)|0); HEAP32[$pIndex>>2] = $273; $274 = HEAP32[$db>>2]|0; - $275 = (($274) + 64|0); + $275 = ((($274)) + 64|0); $276 = HEAP8[$275>>0]|0; $277 = ($276<<24>>24)!=(0); if (!($277)) { @@ -67461,18 +66469,18 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ _memcpy(($285|0),($286|0),($288|0))|0; $289 = HEAP32[$pTab>>2]|0; $290 = HEAP32[$pIndex>>2]|0; - $291 = (($290) + 12|0); + $291 = ((($290)) + 12|0); HEAP32[$291>>2] = $289; $292 = HEAP32[$5>>2]|0; $293 = $292&255; $294 = HEAP32[$pIndex>>2]|0; - $295 = (($294) + 54|0); + $295 = ((($294)) + 54|0); HEAP8[$295>>0] = $293; $296 = HEAP32[$5>>2]|0; $297 = ($296|0)!=(0); $298 = $297&1; $299 = HEAP32[$pIndex>>2]|0; - $300 = (($299) + 55|0); + $300 = ((($299)) + 55|0); $301 = $298&255; $302 = HEAP8[$300>>0]|0; $303 = $301 & 1; @@ -67484,7 +66492,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $308 = ($307|0)!=(0|0); $309 = $308 ? 0 : 1; $310 = HEAP32[$pIndex>>2]|0; - $311 = (($310) + 55|0); + $311 = ((($310)) + 55|0); $312 = $309&255; $313 = HEAP8[$311>>0]|0; $314 = $312 & 3; @@ -67493,19 +66501,19 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ HEAP8[$311>>0] = $316; $317 = HEAP32[$iDb>>2]|0; $318 = HEAP32[$db>>2]|0; - $319 = (($318) + 16|0); + $319 = ((($318)) + 16|0); $320 = HEAP32[$319>>2]|0; $321 = (($320) + ($317<<4)|0); - $322 = (($321) + 12|0); + $322 = ((($321)) + 12|0); $323 = HEAP32[$322>>2]|0; $324 = HEAP32[$pIndex>>2]|0; - $325 = (($324) + 24|0); + $325 = ((($324)) + 24|0); HEAP32[$325>>2] = $323; $326 = HEAP32[$4>>2]|0; $327 = HEAP32[$326>>2]|0; $328 = $327&65535; $329 = HEAP32[$pIndex>>2]|0; - $330 = (($329) + 50|0); + $330 = ((($329)) + 50|0); HEAP16[$330>>1] = $328; $331 = HEAP32[$7>>2]|0; $332 = ($331|0)!=(0|0); @@ -67516,14 +66524,14 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ _sqlite3ResolveSelfReference($333,$334,16,$335,0); $336 = HEAP32[$7>>2]|0; $337 = HEAP32[$pIndex>>2]|0; - $338 = (($337) + 36|0); + $338 = ((($337)) + 36|0); HEAP32[$338>>2] = $336; HEAP32[$7>>2] = 0; } $339 = HEAP32[$pDb>>2]|0; - $340 = (($339) + 12|0); + $340 = ((($339)) + 12|0); $341 = HEAP32[$340>>2]|0; - $342 = (($341) + 76|0); + $342 = ((($341)) + 76|0); $343 = HEAP8[$342>>0]|0; $344 = $343&255; $345 = ($344|0)>=(4); @@ -67534,7 +66542,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } HEAP32[$i>>2] = 0; $346 = HEAP32[$4>>2]|0; - $347 = (($346) + 4|0); + $347 = ((($346)) + 4|0); $348 = HEAP32[$347>>2]|0; HEAP32[$pListItem>>2] = $348; while(1) { @@ -67546,18 +66554,18 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $353 = HEAP32[$pListItem>>2]|0; - $354 = (($353) + 4|0); + $354 = ((($353)) + 4|0); $355 = HEAP32[$354>>2]|0; HEAP32[$zColName>>2] = $355; HEAP32[$j>>2] = 0; $356 = HEAP32[$pTab>>2]|0; - $357 = (($356) + 4|0); + $357 = ((($356)) + 4|0); $358 = HEAP32[$357>>2]|0; HEAP32[$pTabCol>>2] = $358; while(1) { $359 = HEAP32[$j>>2]|0; $360 = HEAP32[$pTab>>2]|0; - $361 = (($360) + 38|0); + $361 = ((($360)) + 38|0); $362 = HEAP16[$361>>1]|0; $363 = $362 << 16 >> 16; $364 = ($359|0)<($363|0); @@ -67576,12 +66584,12 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $371 = (($370) + 1)|0; HEAP32[$j>>2] = $371; $372 = HEAP32[$pTabCol>>2]|0; - $373 = (($372) + 24|0); + $373 = ((($372)) + 24|0); HEAP32[$pTabCol>>2] = $373; } $374 = HEAP32[$j>>2]|0; $375 = HEAP32[$pTab>>2]|0; - $376 = (($375) + 38|0); + $376 = ((($375)) + 38|0); $377 = HEAP16[$376>>1]|0; $378 = $377 << 16 >> 16; $379 = ($374|0)>=($378|0); @@ -67593,7 +66601,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $387 = $386&65535; $388 = HEAP32[$i>>2]|0; $389 = HEAP32[$pIndex>>2]|0; - $390 = (($389) + 4|0); + $390 = ((($389)) + 4|0); $391 = HEAP32[$390>>2]|0; $392 = (($391) + ($388<<1)|0); HEAP16[$392>>1] = $387; @@ -67603,7 +66611,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ if ($395) { $396 = HEAP32[$pListItem>>2]|0; $397 = HEAP32[$396>>2]|0; - $398 = (($397) + 8|0); + $398 = ((($397)) + 8|0); $399 = HEAP32[$398>>2]|0; HEAP32[$zColl>>2] = $399; $400 = HEAP32[$zColl>>2]|0; @@ -67627,20 +66635,20 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } else { $413 = HEAP32[$j>>2]|0; $414 = HEAP32[$pTab>>2]|0; - $415 = (($414) + 4|0); + $415 = ((($414)) + 4|0); $416 = HEAP32[$415>>2]|0; $417 = (($416) + (($413*24)|0)|0); - $418 = (($417) + 16|0); + $418 = ((($417)) + 16|0); $419 = HEAP32[$418>>2]|0; HEAP32[$zColl>>2] = $419; $420 = HEAP32[$zColl>>2]|0; $421 = ($420|0)!=(0|0); - $$2 = $421 ? $419 : 3320; + $$2 = $421 ? $419 : 15963; HEAP32[$zColl>>2] = $$2; } $422 = HEAP32[$db>>2]|0; - $423 = (($422) + 140|0); - $424 = (($423) + 5|0); + $423 = ((($422)) + 140|0); + $424 = ((($423)) + 5|0); $425 = HEAP8[$424>>0]|0; $426 = ($425<<24>>24)!=(0); if (!($426)) { @@ -67655,12 +66663,12 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $431 = HEAP32[$zColl>>2]|0; $432 = HEAP32[$i>>2]|0; $433 = HEAP32[$pIndex>>2]|0; - $434 = (($433) + 32|0); + $434 = ((($433)) + 32|0); $435 = HEAP32[$434>>2]|0; $436 = (($435) + ($432<<2)|0); HEAP32[$436>>2] = $431; $437 = HEAP32[$pListItem>>2]|0; - $438 = (($437) + 12|0); + $438 = ((($437)) + 12|0); $439 = HEAP8[$438>>0]|0; $440 = $439&255; $441 = HEAP32[$sortOrderMask>>2]|0; @@ -67670,22 +66678,22 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $444 = $443&255; $445 = HEAP32[$i>>2]|0; $446 = HEAP32[$pIndex>>2]|0; - $447 = (($446) + 28|0); + $447 = ((($446)) + 28|0); $448 = HEAP32[$447>>2]|0; $449 = (($448) + ($445)|0); HEAP8[$449>>0] = $444; $450 = HEAP32[$j>>2]|0; $451 = HEAP32[$pTab>>2]|0; - $452 = (($451) + 4|0); + $452 = ((($451)) + 4|0); $453 = HEAP32[$452>>2]|0; $454 = (($453) + (($450*24)|0)|0); - $455 = (($454) + 20|0); + $455 = ((($454)) + 20|0); $456 = HEAP8[$455>>0]|0; $457 = $456&255; $458 = ($457|0)==(0); if ($458) { $459 = HEAP32[$pIndex>>2]|0; - $460 = (($459) + 55|0); + $460 = ((($459)) + 55|0); $461 = HEAP8[$460>>0]|0; $462 = $461 & -9; HEAP8[$460>>0] = $462; @@ -67694,7 +66702,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $464 = (($463) + 1)|0; HEAP32[$i>>2] = $464; $465 = HEAP32[$pListItem>>2]|0; - $466 = (($465) + 20|0); + $466 = ((($465)) + 20|0); HEAP32[$pListItem>>2] = $466; } if ((label|0) == 65) { @@ -67702,12 +66710,12 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $381 = HEAP32[$pTab>>2]|0; $382 = HEAP32[$381>>2]|0; $383 = HEAP32[$zColName>>2]|0; - HEAP32[$vararg_buffer44>>2] = $382; - $vararg_ptr27 = (($vararg_buffer44) + 4|0); + HEAP32[$vararg_buffer24>>2] = $382; + $vararg_ptr27 = ((($vararg_buffer24)) + 4|0); HEAP32[$vararg_ptr27>>2] = $383; - _sqlite3ErrorMsg($380,26208,$vararg_buffer44); + _sqlite3ErrorMsg($380,28388,$vararg_buffer24); $384 = HEAP32[$0>>2]|0; - $385 = (($384) + 17|0); + $385 = ((($384)) + 17|0); HEAP8[$385>>0] = 1; break; } @@ -67719,7 +66727,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ while(1) { $469 = HEAP32[$j>>2]|0; $470 = HEAP32[$pPk>>2]|0; - $471 = (($470) + 50|0); + $471 = ((($470)) + 50|0); $472 = HEAP16[$471>>1]|0; $473 = $472&65535; $474 = ($469|0)<($473|0); @@ -67728,17 +66736,17 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } $475 = HEAP32[$j>>2]|0; $476 = HEAP32[$pPk>>2]|0; - $477 = (($476) + 4|0); + $477 = ((($476)) + 4|0); $478 = HEAP32[$477>>2]|0; $479 = (($478) + ($475<<1)|0); $480 = HEAP16[$479>>1]|0; $481 = $480 << 16 >> 16; HEAP32[$x>>2] = $481; $482 = HEAP32[$pIndex>>2]|0; - $483 = (($482) + 4|0); + $483 = ((($482)) + 4|0); $484 = HEAP32[$483>>2]|0; $485 = HEAP32[$pIndex>>2]|0; - $486 = (($485) + 50|0); + $486 = ((($485)) + 50|0); $487 = HEAP16[$486>>1]|0; $488 = $487&65535; $489 = HEAP32[$x>>2]|0; @@ -67746,7 +66754,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $491 = ($490|0)!=(0); if ($491) { $492 = HEAP32[$pIndex>>2]|0; - $493 = (($492) + 52|0); + $493 = ((($492)) + 52|0); $494 = HEAP16[$493>>1]|0; $495 = (($494) + -1)<<16>>16; HEAP16[$493>>1] = $495; @@ -67755,31 +66763,31 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $497 = $496&65535; $498 = HEAP32[$i>>2]|0; $499 = HEAP32[$pIndex>>2]|0; - $500 = (($499) + 4|0); + $500 = ((($499)) + 4|0); $501 = HEAP32[$500>>2]|0; $502 = (($501) + ($498<<1)|0); HEAP16[$502>>1] = $497; $503 = HEAP32[$j>>2]|0; $504 = HEAP32[$pPk>>2]|0; - $505 = (($504) + 32|0); + $505 = ((($504)) + 32|0); $506 = HEAP32[$505>>2]|0; $507 = (($506) + ($503<<2)|0); $508 = HEAP32[$507>>2]|0; $509 = HEAP32[$i>>2]|0; $510 = HEAP32[$pIndex>>2]|0; - $511 = (($510) + 32|0); + $511 = ((($510)) + 32|0); $512 = HEAP32[$511>>2]|0; $513 = (($512) + ($509<<2)|0); HEAP32[$513>>2] = $508; $514 = HEAP32[$j>>2]|0; $515 = HEAP32[$pPk>>2]|0; - $516 = (($515) + 28|0); + $516 = ((($515)) + 28|0); $517 = HEAP32[$516>>2]|0; $518 = (($517) + ($514)|0); $519 = HEAP8[$518>>0]|0; $520 = HEAP32[$i>>2]|0; $521 = HEAP32[$pIndex>>2]|0; - $522 = (($521) + 28|0); + $522 = ((($521)) + 28|0); $523 = HEAP32[$522>>2]|0; $524 = (($523) + ($520)|0); HEAP8[$524>>0] = $519; @@ -67794,22 +66802,22 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } else { $529 = HEAP32[$i>>2]|0; $530 = HEAP32[$pIndex>>2]|0; - $531 = (($530) + 4|0); + $531 = ((($530)) + 4|0); $532 = HEAP32[$531>>2]|0; $533 = (($532) + ($529<<1)|0); HEAP16[$533>>1] = -1; $534 = HEAP32[$i>>2]|0; $535 = HEAP32[$pIndex>>2]|0; - $536 = (($535) + 32|0); + $536 = ((($535)) + 32|0); $537 = HEAP32[$536>>2]|0; $538 = (($537) + ($534<<2)|0); - HEAP32[$538>>2] = 3320; + HEAP32[$538>>2] = 15963; } } while(0); $539 = HEAP32[$pIndex>>2]|0; _sqlite3DefaultRowEst($539); $540 = HEAP32[$0>>2]|0; - $541 = (($540) + 484|0); + $541 = ((($540)) + 484|0); $542 = HEAP32[$541>>2]|0; $543 = ($542|0)==(0|0); if ($543) { @@ -67818,13 +66826,13 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } $545 = HEAP32[$pTab>>2]|0; $546 = HEAP32[$0>>2]|0; - $547 = (($546) + 484|0); + $547 = ((($546)) + 484|0); $548 = HEAP32[$547>>2]|0; $549 = ($545|0)==($548|0); L111: do { if ($549) { $550 = HEAP32[$pTab>>2]|0; - $551 = (($550) + 8|0); + $551 = ((($550)) + 8|0); $552 = HEAP32[$551>>2]|0; HEAP32[$pIdx>>2] = $552; while(1) { @@ -67834,11 +66842,11 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break L111; } $555 = HEAP32[$pIdx>>2]|0; - $556 = (($555) + 50|0); + $556 = ((($555)) + 50|0); $557 = HEAP16[$556>>1]|0; $558 = $557&65535; $559 = HEAP32[$pIndex>>2]|0; - $560 = (($559) + 50|0); + $560 = ((($559)) + 50|0); $561 = HEAP16[$560>>1]|0; $562 = $561&65535; $563 = ($558|0)!=($562|0); @@ -67847,7 +66855,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ while(1) { $564 = HEAP32[$k>>2]|0; $565 = HEAP32[$pIdx>>2]|0; - $566 = (($565) + 50|0); + $566 = ((($565)) + 50|0); $567 = HEAP16[$566>>1]|0; $568 = $567&65535; $569 = ($564|0)<($568|0); @@ -67856,14 +66864,14 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } $570 = HEAP32[$k>>2]|0; $571 = HEAP32[$pIdx>>2]|0; - $572 = (($571) + 4|0); + $572 = ((($571)) + 4|0); $573 = HEAP32[$572>>2]|0; $574 = (($573) + ($570<<1)|0); $575 = HEAP16[$574>>1]|0; $576 = $575 << 16 >> 16; $577 = HEAP32[$k>>2]|0; $578 = HEAP32[$pIndex>>2]|0; - $579 = (($578) + 4|0); + $579 = ((($578)) + 4|0); $580 = HEAP32[$579>>2]|0; $581 = (($580) + ($577<<1)|0); $582 = HEAP16[$581>>1]|0; @@ -67874,14 +66882,14 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } $585 = HEAP32[$k>>2]|0; $586 = HEAP32[$pIdx>>2]|0; - $587 = (($586) + 32|0); + $587 = ((($586)) + 32|0); $588 = HEAP32[$587>>2]|0; $589 = (($588) + ($585<<2)|0); $590 = HEAP32[$589>>2]|0; HEAP32[$z1>>2] = $590; $591 = HEAP32[$k>>2]|0; $592 = HEAP32[$pIndex>>2]|0; - $593 = (($592) + 32|0); + $593 = ((($592)) + 32|0); $594 = HEAP32[$593>>2]|0; $595 = (($594) + ($591<<2)|0); $596 = HEAP32[$595>>2]|0; @@ -67904,7 +66912,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } $606 = HEAP32[$k>>2]|0; $607 = HEAP32[$pIdx>>2]|0; - $608 = (($607) + 50|0); + $608 = ((($607)) + 50|0); $609 = HEAP16[$608>>1]|0; $610 = $609&65535; $611 = ($606|0)==($610|0); @@ -67913,16 +66921,16 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } } $642 = HEAP32[$pIdx>>2]|0; - $643 = (($642) + 20|0); + $643 = ((($642)) + 20|0); $644 = HEAP32[$643>>2]|0; HEAP32[$pIdx>>2] = $644; } $612 = HEAP32[$pIdx>>2]|0; - $613 = (($612) + 54|0); + $613 = ((($612)) + 54|0); $614 = HEAP8[$613>>0]|0; $615 = $614&255; $616 = HEAP32[$pIndex>>2]|0; - $617 = (($616) + 54|0); + $617 = ((($616)) + 54|0); $618 = HEAP8[$617>>0]|0; $619 = $618&255; $620 = ($615|0)!=($619|0); @@ -67930,14 +66938,14 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break L1; } $621 = HEAP32[$pIdx>>2]|0; - $622 = (($621) + 54|0); + $622 = ((($621)) + 54|0); $623 = HEAP8[$622>>0]|0; $624 = $623&255; $625 = ($624|0)==(10); do { if (!($625)) { $626 = HEAP32[$pIndex>>2]|0; - $627 = (($626) + 54|0); + $627 = ((($626)) + 54|0); $628 = HEAP8[$627>>0]|0; $629 = $628&255; $630 = ($629|0)==(10); @@ -67945,12 +66953,12 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $631 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer44>>2] = 0; - _sqlite3ErrorMsg($631,26240,$vararg_buffer44); + HEAP32[$vararg_buffer28>>2] = 0; + _sqlite3ErrorMsg($631,28420,$vararg_buffer28); } } while(0); $632 = HEAP32[$pIdx>>2]|0; - $633 = (($632) + 54|0); + $633 = ((($632)) + 54|0); $634 = HEAP8[$633>>0]|0; $635 = $634&255; $636 = ($635|0)==(10); @@ -67958,25 +66966,25 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break L1; } $637 = HEAP32[$pIndex>>2]|0; - $638 = (($637) + 54|0); + $638 = ((($637)) + 54|0); $639 = HEAP8[$638>>0]|0; $640 = HEAP32[$pIdx>>2]|0; - $641 = (($640) + 54|0); + $641 = ((($640)) + 54|0); HEAP8[$641>>0] = $639; break L1; } } while(0); $645 = HEAP32[$db>>2]|0; - $646 = (($645) + 140|0); - $647 = (($646) + 5|0); + $646 = ((($645)) + 140|0); + $647 = ((($646)) + 5|0); $648 = HEAP8[$647>>0]|0; $649 = ($648<<24>>24)!=(0); do { if ($649) { $650 = HEAP32[$pIndex>>2]|0; - $651 = (($650) + 24|0); + $651 = ((($650)) + 24|0); $652 = HEAP32[$651>>2]|0; - $653 = (($652) + 24|0); + $653 = ((($652)) + 24|0); $654 = HEAP32[$pIndex>>2]|0; $655 = HEAP32[$654>>2]|0; $656 = HEAP32[$pIndex>>2]|0; @@ -67986,11 +66994,11 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $659 = ($658|0)!=(0|0); $660 = HEAP32[$db>>2]|0; if ($659) { - $661 = (($660) + 64|0); + $661 = ((($660)) + 64|0); HEAP8[$661>>0] = 1; break L1; } - $662 = (($660) + 24|0); + $662 = ((($660)) + 24|0); $663 = HEAP32[$662>>2]|0; $664 = $663 | 2; HEAP32[$662>>2] = $664; @@ -68000,21 +67008,21 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $667 = HEAP32[$db>>2]|0; - $668 = (($667) + 140|0); + $668 = ((($667)) + 140|0); $669 = HEAP32[$668>>2]|0; $670 = HEAP32[$pIndex>>2]|0; - $671 = (($670) + 44|0); + $671 = ((($670)) + 44|0); HEAP32[$671>>2] = $669; } else { $672 = HEAP32[$0>>2]|0; - $673 = (($672) + 64|0); + $673 = ((($672)) + 64|0); $674 = HEAP32[$673>>2]|0; $675 = ($674|0)==(0); if (!($675)) { break; } $676 = HEAP32[$pTab>>2]|0; - $677 = (($676) + 44|0); + $677 = ((($676)) + 44|0); $678 = HEAP8[$677>>0]|0; $679 = $678&255; $680 = $679 & 32; @@ -68026,7 +67034,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $684 = HEAP32[$0>>2]|0; - $685 = (($684) + 72|0); + $685 = ((($684)) + 72|0); $686 = HEAP32[$685>>2]|0; $687 = (($686) + 1)|0; HEAP32[$685>>2] = $687; @@ -68050,7 +67058,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $698 = ($697|0)!=(0|0); if ($698) { $699 = HEAP32[$0>>2]|0; - $700 = (($699) + 504|0); + $700 = ((($699)) + 504|0); $701 = HEAP32[$700>>2]|0; $702 = HEAP32[$pName>>2]|0; $703 = HEAP32[$702>>2]|0; @@ -68058,8 +67066,8 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $705 = $703; $706 = (($704) - ($705))|0; $707 = HEAP32[$0>>2]|0; - $708 = (($707) + 504|0); - $709 = (($708) + 4|0); + $708 = ((($707)) + 504|0); + $709 = ((($708)) + 4|0); $710 = HEAP32[$709>>2]|0; $711 = (($706) + ($710))|0; HEAP32[$n1>>2] = $711; @@ -68079,16 +67087,16 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $722 = HEAP32[$db>>2]|0; $723 = HEAP32[$5>>2]|0; $724 = ($723|0)==(0); - $725 = $724 ? 1216 : 26312; + $725 = $724 ? 14425 : 28462; $726 = HEAP32[$n1>>2]|0; $727 = HEAP32[$pName>>2]|0; $728 = HEAP32[$727>>2]|0; - HEAP32[$vararg_buffer44>>2] = $725; - $vararg_ptr34 = (($vararg_buffer44) + 4|0); + HEAP32[$vararg_buffer31>>2] = $725; + $vararg_ptr34 = ((($vararg_buffer31)) + 4|0); HEAP32[$vararg_ptr34>>2] = $726; - $vararg_ptr35 = (($vararg_buffer44) + 8|0); + $vararg_ptr35 = ((($vararg_buffer31)) + 8|0); HEAP32[$vararg_ptr35>>2] = $728; - $729 = (_sqlite3MPrintf($722,26288,$vararg_buffer44)|0); + $729 = (_sqlite3MPrintf($722,28470,$vararg_buffer31)|0); HEAP32[$zStmt>>2] = $729; } else { HEAP32[$zStmt>>2] = 0; @@ -68096,31 +67104,31 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $730 = HEAP32[$0>>2]|0; $731 = HEAP32[$iDb>>2]|0; $732 = HEAP32[$db>>2]|0; - $733 = (($732) + 16|0); + $733 = ((($732)) + 16|0); $734 = HEAP32[$733>>2]|0; $735 = (($734) + ($731<<4)|0); $736 = HEAP32[$735>>2]|0; $737 = HEAP32[$iDb>>2]|0; $738 = ($737|0)==(1); - $739 = $738 ? 14904 : 14928; + $739 = $738 ? 19269 : 19288; $740 = HEAP32[$pIndex>>2]|0; $741 = HEAP32[$740>>2]|0; $742 = HEAP32[$pTab>>2]|0; $743 = HEAP32[$742>>2]|0; $744 = HEAP32[$iMem>>2]|0; $745 = HEAP32[$zStmt>>2]|0; - HEAP32[$vararg_buffer44>>2] = $736; - $vararg_ptr39 = (($vararg_buffer44) + 4|0); + HEAP32[$vararg_buffer36>>2] = $736; + $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); HEAP32[$vararg_ptr39>>2] = $739; - $vararg_ptr40 = (($vararg_buffer44) + 8|0); + $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $741; - $vararg_ptr41 = (($vararg_buffer44) + 12|0); + $vararg_ptr41 = ((($vararg_buffer36)) + 12|0); HEAP32[$vararg_ptr41>>2] = $743; - $vararg_ptr42 = (($vararg_buffer44) + 16|0); + $vararg_ptr42 = ((($vararg_buffer36)) + 16|0); HEAP32[$vararg_ptr42>>2] = $744; - $vararg_ptr43 = (($vararg_buffer44) + 20|0); + $vararg_ptr43 = ((($vararg_buffer36)) + 20|0); HEAP32[$vararg_ptr43>>2] = $745; - _sqlite3NestedParse($730,26320,$vararg_buffer44); + _sqlite3NestedParse($730,28490,$vararg_buffer36); $746 = HEAP32[$db>>2]|0; $747 = HEAP32[$zStmt>>2]|0; _sqlite3DbFree($746,$747); @@ -68142,15 +67150,15 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $758 = HEAP32[$pIndex>>2]|0; $759 = HEAP32[$758>>2]|0; HEAP32[$vararg_buffer44>>2] = $759; - $760 = (_sqlite3MPrintf($757,26368,$vararg_buffer44)|0); + $760 = (_sqlite3MPrintf($757,28538,$vararg_buffer44)|0); _sqlite3VdbeAddParseSchemaOp($755,$756,$760); $761 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp1($761,142,0)|0); } } while(0); $762 = HEAP32[$db>>2]|0; - $763 = (($762) + 140|0); - $764 = (($763) + 5|0); + $763 = ((($762)) + 140|0); + $764 = ((($763)) + 5|0); $765 = HEAP8[$764>>0]|0; $766 = $765&255; $767 = ($766|0)!=(0); @@ -68167,7 +67175,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ label = 121; } else { $772 = HEAP32[$pTab>>2]|0; - $773 = (($772) + 8|0); + $773 = ((($772)) + 8|0); $774 = HEAP32[$773>>2]|0; $775 = ($774|0)==(0|0); if ($775) { @@ -68175,9 +67183,9 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $776 = HEAP32[$pTab>>2]|0; - $777 = (($776) + 8|0); + $777 = ((($776)) + 8|0); $778 = HEAP32[$777>>2]|0; - $779 = (($778) + 54|0); + $779 = ((($778)) + 54|0); $780 = HEAP8[$779>>0]|0; $781 = $780&255; $782 = ($781|0)==(5); @@ -68186,19 +67194,19 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $791 = HEAP32[$pTab>>2]|0; - $792 = (($791) + 8|0); + $792 = ((($791)) + 8|0); $793 = HEAP32[$792>>2]|0; HEAP32[$pOther>>2] = $793; while(1) { $794 = HEAP32[$pOther>>2]|0; - $795 = (($794) + 20|0); + $795 = ((($794)) + 20|0); $796 = HEAP32[$795>>2]|0; $797 = ($796|0)!=(0|0); if ($797) { $798 = HEAP32[$pOther>>2]|0; - $799 = (($798) + 20|0); + $799 = ((($798)) + 20|0); $800 = HEAP32[$799>>2]|0; - $801 = (($800) + 54|0); + $801 = ((($800)) + 54|0); $802 = HEAP8[$801>>0]|0; $803 = $802&255; $804 = ($803|0)!=(5); @@ -68207,7 +67215,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $827 = 0; } $805 = HEAP32[$pOther>>2]|0; - $806 = (($805) + 20|0); + $806 = ((($805)) + 20|0); $807 = HEAP32[$806>>2]|0; if (!($827)) { break; @@ -68215,24 +67223,24 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ HEAP32[$pOther>>2] = $807; } $808 = HEAP32[$pIndex>>2]|0; - $809 = (($808) + 20|0); + $809 = ((($808)) + 20|0); HEAP32[$809>>2] = $807; $810 = HEAP32[$pIndex>>2]|0; $811 = HEAP32[$pOther>>2]|0; - $812 = (($811) + 20|0); + $812 = ((($811)) + 20|0); HEAP32[$812>>2] = $810; } } while(0); if ((label|0) == 121) { $783 = HEAP32[$pTab>>2]|0; - $784 = (($783) + 8|0); + $784 = ((($783)) + 8|0); $785 = HEAP32[$784>>2]|0; $786 = HEAP32[$pIndex>>2]|0; - $787 = (($786) + 20|0); + $787 = ((($786)) + 20|0); HEAP32[$787>>2] = $785; $788 = HEAP32[$pIndex>>2]|0; $789 = HEAP32[$pTab>>2]|0; - $790 = (($789) + 8|0); + $790 = ((($789)) + 8|0); HEAP32[$790>>2] = $788; } $813 = HEAP32[$pIndex>>2]|0; @@ -68296,7 +67304,7 @@ function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pCheckExpr; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 484|0); + $3 = ((($2)) + 484|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pTab>>2] = $4; $5 = HEAP32[$0>>2]|0; @@ -68306,36 +67314,36 @@ function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { $8 = ($7|0)!=(0|0); if ($8) { $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 451|0); + $10 = ((($9)) + 451|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); if (!($12)) { $13 = HEAP32[$db>>2]|0; - $14 = (($13) + 140|0); - $15 = (($14) + 4|0); + $14 = ((($13)) + 140|0); + $15 = ((($14)) + 4|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = HEAP32[$db>>2]|0; - $19 = (($18) + 16|0); + $19 = ((($18)) + 16|0); $20 = HEAP32[$19>>2]|0; $21 = (($20) + ($17<<4)|0); - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = (_sqlite3BtreeIsReadonly($23)|0); $25 = ($24|0)!=(0); if (!($25)) { $26 = HEAP32[$0>>2]|0; $27 = HEAP32[$pTab>>2]|0; - $28 = (($27) + 24|0); + $28 = ((($27)) + 24|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$1>>2]|0; $31 = (_sqlite3ExprListAppend($26,$29,$30)|0); $32 = HEAP32[$pTab>>2]|0; - $33 = (($32) + 24|0); + $33 = ((($32)) + 24|0); HEAP32[$33>>2] = $31; $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 320|0); - $36 = (($35) + 4|0); + $35 = ((($34)) + 320|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = ($37|0)!=(0); if (!($38)) { @@ -68343,10 +67351,10 @@ function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { } $39 = HEAP32[$0>>2]|0; $40 = HEAP32[$pTab>>2]|0; - $41 = (($40) + 24|0); + $41 = ((($40)) + 24|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 320|0); + $44 = ((($43)) + 320|0); _sqlite3ExprListSetName($39,$42,$44,1); STACKTOP = sp;return; } @@ -68377,26 +67385,28 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iCol = 0, $j = 0; - var $n = 0, $nByte = 0, $nCol = 0, $p = 0, $pFKey = 0, $pNextTo = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $z = 0, label = 0, sp = 0; + var $n = 0, $nByte = 0, $nCol = 0, $p = 0, $pFKey = 0, $pNextTo = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 96|0; $vararg_buffer4 = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $4 = sp + 52|0; - $db = sp + 48|0; - $pFKey = sp + 44|0; - $pNextTo = sp + 40|0; - $p = sp + 36|0; - $nByte = sp + 32|0; - $i = sp + 28|0; - $nCol = sp + 24|0; - $z = sp + 20|0; - $iCol = sp + 16|0; - $j = sp + 12|0; - $n = sp + 8|0; + $vararg_buffer2 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 20|0; + $1 = sp + 48|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 44|0; + $db = sp + 40|0; + $pFKey = sp + 32|0; + $pNextTo = sp + 36|0; + $p = sp + 52|0; + $nByte = sp + 56|0; + $i = sp + 60|0; + $nCol = sp + 64|0; + $z = sp + 68|0; + $iCol = sp + 72|0; + $j = sp + 76|0; + $n = sp + 80|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pFromCol; HEAP32[$2>>2] = $pTo; @@ -68407,7 +67417,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { HEAP32[$db>>2] = $6; HEAP32[$pFKey>>2] = 0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 484|0); + $8 = ((($7)) + 484|0); $9 = HEAP32[$8>>2]|0; HEAP32[$p>>2] = $9; $10 = HEAP32[$p>>2]|0; @@ -68415,7 +67425,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { L1: do { if (!($11)) { $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 451|0); + $13 = ((($12)) + 451|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = ($15|0)!=(0); @@ -68424,7 +67434,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $18 = ($17|0)==(0|0); if ($18) { $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 38|0); + $20 = ((($19)) + 38|0); $21 = HEAP16[$20>>1]|0; $22 = $21 << 16 >> 16; $23 = (($22) - 1)|0; @@ -68444,15 +67454,15 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $31 = HEAP32[$0>>2]|0; $32 = HEAP32[$iCol>>2]|0; $33 = HEAP32[$p>>2]|0; - $34 = (($33) + 4|0); + $34 = ((($33)) + 4|0); $35 = HEAP32[$34>>2]|0; $36 = (($35) + (($32*24)|0)|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer4>>2] = $37; - $vararg_ptr1 = (($vararg_buffer4) + 4|0); + HEAP32[$vararg_buffer>>2] = $37; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $38; - _sqlite3ErrorMsg($31,25736,$vararg_buffer4); + _sqlite3ErrorMsg($31,27957,$vararg_buffer); break; } } @@ -68468,7 +67478,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $45 = ($42|0)!=($44|0); if ($45) { $46 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($46,25800,$vararg_buffer4); + _sqlite3ErrorMsg($46,28020,$vararg_buffer2); break; } } @@ -68481,7 +67491,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $51 = $50<<3; $52 = (44 + ($51))|0; $53 = HEAP32[$2>>2]|0; - $54 = (($53) + 4|0); + $54 = ((($53)) + 4|0); $55 = HEAP32[$54>>2]|0; $56 = (($52) + ($55))|0; $57 = (($56) + 1)|0; @@ -68501,10 +67511,10 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { } $64 = HEAP32[$i>>2]|0; $65 = HEAP32[$3>>2]|0; - $66 = (($65) + 4|0); + $66 = ((($65)) + 4|0); $67 = HEAP32[$66>>2]|0; $68 = (($67) + (($64*20)|0)|0); - $69 = (($68) + 4|0); + $69 = ((($68)) + 4|0); $70 = HEAP32[$69>>2]|0; $71 = (_sqlite3Strlen30($70)|0); $72 = (($71) + 1)|0; @@ -68530,29 +67540,29 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $85 = HEAP32[$pFKey>>2]|0; HEAP32[$85>>2] = $84; $86 = HEAP32[$p>>2]|0; - $87 = (($86) + 16|0); + $87 = ((($86)) + 16|0); $88 = HEAP32[$87>>2]|0; $89 = HEAP32[$pFKey>>2]|0; - $90 = (($89) + 4|0); + $90 = ((($89)) + 4|0); HEAP32[$90>>2] = $88; $91 = HEAP32[$nCol>>2]|0; $92 = HEAP32[$pFKey>>2]|0; - $93 = (($92) + 36|0); + $93 = ((($92)) + 36|0); $94 = (($93) + ($91<<3)|0); HEAP32[$z>>2] = $94; $95 = HEAP32[$z>>2]|0; $96 = HEAP32[$pFKey>>2]|0; - $97 = (($96) + 8|0); + $97 = ((($96)) + 8|0); HEAP32[$97>>2] = $95; $98 = HEAP32[$z>>2]|0; $99 = HEAP32[$2>>2]|0; $100 = HEAP32[$99>>2]|0; $101 = HEAP32[$2>>2]|0; - $102 = (($101) + 4|0); + $102 = ((($101)) + 4|0); $103 = HEAP32[$102>>2]|0; _memcpy(($98|0),($100|0),($103|0))|0; $104 = HEAP32[$2>>2]|0; - $105 = (($104) + 4|0); + $105 = ((($104)) + 4|0); $106 = HEAP32[$105>>2]|0; $107 = HEAP32[$z>>2]|0; $108 = (($107) + ($106)|0); @@ -68560,7 +67570,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $109 = HEAP32[$z>>2]|0; (_sqlite3Dequote($109)|0); $110 = HEAP32[$2>>2]|0; - $111 = (($110) + 4|0); + $111 = ((($110)) + 4|0); $112 = HEAP32[$111>>2]|0; $113 = (($112) + 1)|0; $114 = HEAP32[$z>>2]|0; @@ -68568,19 +67578,19 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { HEAP32[$z>>2] = $115; $116 = HEAP32[$nCol>>2]|0; $117 = HEAP32[$pFKey>>2]|0; - $118 = (($117) + 20|0); + $118 = ((($117)) + 20|0); HEAP32[$118>>2] = $116; $119 = HEAP32[$1>>2]|0; $120 = ($119|0)==(0|0); L24: do { if ($120) { $121 = HEAP32[$p>>2]|0; - $122 = (($121) + 38|0); + $122 = ((($121)) + 38|0); $123 = HEAP16[$122>>1]|0; $124 = $123 << 16 >> 16; $125 = (($124) - 1)|0; $126 = HEAP32[$pFKey>>2]|0; - $127 = (($126) + 36|0); + $127 = ((($126)) + 36|0); HEAP32[$127>>2] = $125; } else { HEAP32[$i>>2] = 0; @@ -68595,7 +67605,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { while(1) { $131 = HEAP32[$j>>2]|0; $132 = HEAP32[$p>>2]|0; - $133 = (($132) + 38|0); + $133 = ((($132)) + 38|0); $134 = HEAP16[$133>>1]|0; $135 = $134 << 16 >> 16; $136 = ($131|0)<($135|0); @@ -68604,16 +67614,16 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { } $137 = HEAP32[$j>>2]|0; $138 = HEAP32[$p>>2]|0; - $139 = (($138) + 4|0); + $139 = ((($138)) + 4|0); $140 = HEAP32[$139>>2]|0; $141 = (($140) + (($137*24)|0)|0); $142 = HEAP32[$141>>2]|0; $143 = HEAP32[$i>>2]|0; $144 = HEAP32[$1>>2]|0; - $145 = (($144) + 4|0); + $145 = ((($144)) + 4|0); $146 = HEAP32[$145>>2]|0; $147 = (($146) + (($143*20)|0)|0); - $148 = (($147) + 4|0); + $148 = ((($147)) + 4|0); $149 = HEAP32[$148>>2]|0; $150 = (_sqlite3_stricmp($142,$149)|0); $151 = ($150|0)==(0); @@ -68629,13 +67639,13 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { label = 0; $153 = HEAP32[$i>>2]|0; $154 = HEAP32[$pFKey>>2]|0; - $155 = (($154) + 36|0); + $155 = ((($154)) + 36|0); $156 = (($155) + ($153<<3)|0); HEAP32[$156>>2] = $152; } $158 = HEAP32[$j>>2]|0; $159 = HEAP32[$p>>2]|0; - $160 = (($159) + 38|0); + $160 = ((($159)) + 38|0); $161 = HEAP16[$160>>1]|0; $162 = $161 << 16 >> 16; $163 = ($158|0)>=($162|0); @@ -68649,13 +67659,13 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $164 = HEAP32[$0>>2]|0; $165 = HEAP32[$i>>2]|0; $166 = HEAP32[$1>>2]|0; - $167 = (($166) + 4|0); + $167 = ((($166)) + 4|0); $168 = HEAP32[$167>>2]|0; $169 = (($168) + (($165*20)|0)|0); - $170 = (($169) + 4|0); + $170 = ((($169)) + 4|0); $171 = HEAP32[$170>>2]|0; HEAP32[$vararg_buffer4>>2] = $171; - _sqlite3ErrorMsg($164,25896,$vararg_buffer4); + _sqlite3ErrorMsg($164,28114,$vararg_buffer4); break L1; } } while(0); @@ -68673,27 +67683,27 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { } $179 = HEAP32[$i>>2]|0; $180 = HEAP32[$3>>2]|0; - $181 = (($180) + 4|0); + $181 = ((($180)) + 4|0); $182 = HEAP32[$181>>2]|0; $183 = (($182) + (($179*20)|0)|0); - $184 = (($183) + 4|0); + $184 = ((($183)) + 4|0); $185 = HEAP32[$184>>2]|0; $186 = (_sqlite3Strlen30($185)|0); HEAP32[$n>>2] = $186; $187 = HEAP32[$z>>2]|0; $188 = HEAP32[$i>>2]|0; $189 = HEAP32[$pFKey>>2]|0; - $190 = (($189) + 36|0); + $190 = ((($189)) + 36|0); $191 = (($190) + ($188<<3)|0); - $192 = (($191) + 4|0); + $192 = ((($191)) + 4|0); HEAP32[$192>>2] = $187; $193 = HEAP32[$z>>2]|0; $194 = HEAP32[$i>>2]|0; $195 = HEAP32[$3>>2]|0; - $196 = (($195) + 4|0); + $196 = ((($195)) + 4|0); $197 = HEAP32[$196>>2]|0; $198 = (($197) + (($194*20)|0)|0); - $199 = (($198) + 4|0); + $199 = ((($198)) + 4|0); $200 = HEAP32[$199>>2]|0; $201 = HEAP32[$n>>2]|0; _memcpy(($193|0),($200|0),($201|0))|0; @@ -68713,28 +67723,28 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { } } while(0); $211 = HEAP32[$pFKey>>2]|0; - $212 = (($211) + 24|0); + $212 = ((($211)) + 24|0); HEAP8[$212>>0] = 0; $213 = HEAP32[$4>>2]|0; $214 = $213 & 255; $215 = $214&255; $216 = HEAP32[$pFKey>>2]|0; - $217 = (($216) + 25|0); + $217 = ((($216)) + 25|0); HEAP8[$217>>0] = $215; $218 = HEAP32[$4>>2]|0; $219 = $218 >> 8; $220 = $219 & 255; $221 = $220&255; $222 = HEAP32[$pFKey>>2]|0; - $223 = (($222) + 25|0); - $224 = (($223) + 1|0); + $223 = ((($222)) + 25|0); + $224 = ((($223)) + 1|0); HEAP8[$224>>0] = $221; $225 = HEAP32[$p>>2]|0; - $226 = (($225) + 68|0); + $226 = ((($225)) + 68|0); $227 = HEAP32[$226>>2]|0; - $228 = (($227) + 56|0); + $228 = ((($227)) + 56|0); $229 = HEAP32[$pFKey>>2]|0; - $230 = (($229) + 8|0); + $230 = ((($229)) + 8|0); $231 = HEAP32[$230>>2]|0; $232 = HEAP32[$pFKey>>2]|0; $233 = (_sqlite3HashInsert($228,$231,$232)|0); @@ -68744,7 +67754,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $236 = ($234|0)==($235|0); if ($236) { $237 = HEAP32[$db>>2]|0; - $238 = (($237) + 64|0); + $238 = ((($237)) + 64|0); HEAP8[$238>>0] = 1; break; } @@ -68753,16 +67763,16 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { if ($240) { $241 = HEAP32[$pNextTo>>2]|0; $242 = HEAP32[$pFKey>>2]|0; - $243 = (($242) + 12|0); + $243 = ((($242)) + 12|0); HEAP32[$243>>2] = $241; $244 = HEAP32[$pFKey>>2]|0; $245 = HEAP32[$pNextTo>>2]|0; - $246 = (($245) + 16|0); + $246 = ((($245)) + 16|0); HEAP32[$246>>2] = $244; } $247 = HEAP32[$pFKey>>2]|0; $248 = HEAP32[$p>>2]|0; - $249 = (($248) + 16|0); + $249 = ((($248)) + 16|0); HEAP32[$249>>2] = $247; HEAP32[$pFKey>>2] = 0; } @@ -68793,7 +67803,7 @@ function _sqlite3DeferForeignKey($pParse,$isDeferred) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $isDeferred; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 484|0); + $3 = ((($2)) + 484|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pTab>>2] = $4; $5 = ($4|0)==(0|0); @@ -68801,7 +67811,7 @@ function _sqlite3DeferForeignKey($pParse,$isDeferred) { STACKTOP = sp;return; } $6 = HEAP32[$pTab>>2]|0; - $7 = (($6) + 16|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pFKey>>2] = $8; $9 = ($8|0)==(0|0); @@ -68811,7 +67821,7 @@ function _sqlite3DeferForeignKey($pParse,$isDeferred) { $10 = HEAP32[$1>>2]|0; $11 = $10&255; $12 = HEAP32[$pFKey>>2]|0; - $13 = (($12) + 24|0); + $13 = ((($12)) + 24|0); HEAP8[$13>>0] = $11; STACKTOP = sp;return; } @@ -68824,17 +67834,17 @@ function _sqlite3AddCollateType($pParse,$pToken) { var $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $p = 0, $pIdx = 0, $zColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $p = sp + 16|0; - $i = sp + 12|0; - $zColl = sp + 8|0; - $db = sp + 4|0; - $pIdx = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $p = sp + 20|0; + $i = sp + 24|0; + $zColl = sp + 4|0; + $db = sp; + $pIdx = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pToken; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 484|0); + $3 = ((($2)) + 484|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = ($4|0)==(0|0); @@ -68842,7 +67852,7 @@ function _sqlite3AddCollateType($pParse,$pToken) { STACKTOP = sp;return; } $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 38|0); + $7 = ((($6)) + 38|0); $8 = HEAP16[$7>>1]|0; $9 = $8 << 16 >> 16; $10 = (($9) - 1)|0; @@ -68871,22 +67881,22 @@ function _sqlite3AddCollateType($pParse,$pToken) { } $23 = HEAP32[$i>>2]|0; $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 4|0); + $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + (($23*24)|0)|0); - $28 = (($27) + 16|0); + $28 = ((($27)) + 16|0); $29 = HEAP32[$28>>2]|0; _sqlite3DbFree($22,$29); $30 = HEAP32[$zColl>>2]|0; $31 = HEAP32[$i>>2]|0; $32 = HEAP32[$p>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + (($31*24)|0)|0); - $36 = (($35) + 16|0); + $36 = ((($35)) + 16|0); HEAP32[$36>>2] = $30; $37 = HEAP32[$p>>2]|0; - $38 = (($37) + 8|0); + $38 = ((($37)) + 8|0); $39 = HEAP32[$38>>2]|0; HEAP32[$pIdx>>2] = $39; while(1) { @@ -68896,7 +67906,7 @@ function _sqlite3AddCollateType($pParse,$pToken) { break; } $42 = HEAP32[$pIdx>>2]|0; - $43 = (($42) + 4|0); + $43 = ((($42)) + 4|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP16[$44>>1]|0; $46 = $45 << 16 >> 16; @@ -68905,18 +67915,18 @@ function _sqlite3AddCollateType($pParse,$pToken) { if ($48) { $49 = HEAP32[$i>>2]|0; $50 = HEAP32[$p>>2]|0; - $51 = (($50) + 4|0); + $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + (($49*24)|0)|0); - $54 = (($53) + 16|0); + $54 = ((($53)) + 16|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$pIdx>>2]|0; - $57 = (($56) + 32|0); + $57 = ((($56)) + 32|0); $58 = HEAP32[$57>>2]|0; HEAP32[$58>>2] = $55; } $59 = HEAP32[$pIdx>>2]|0; - $60 = (($59) + 20|0); + $60 = ((($59)) + 20|0); $61 = HEAP32[$60>>2]|0; HEAP32[$pIdx>>2] = $61; } @@ -68934,22 +67944,24 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code = 0, $db = 0, $iDb = 0, $pTab = 0, $v = 0, $vararg_buffer4 = 0, $zArg2 = 0, $zDb = 0, $zTab = 0, label = 0, sp = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code = 0, $db = 0, $iDb = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $zArg2 = 0, $zDb = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 80|0; $vararg_buffer4 = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $pTab = sp + 32|0; - $v = sp + 28|0; - $db = sp + 24|0; - $iDb = sp + 20|0; - $code = sp + 16|0; - $zTab = sp + 12|0; - $zDb = sp + 8|0; - $zArg2 = sp + 4|0; + $vararg_buffer1 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 20|0; + $1 = sp + 40|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $pTab = sp + 36|0; + $v = sp + 32|0; + $db = sp + 44|0; + $iDb = sp + 48|0; + $code = sp + 52|0; + $zTab = sp + 56|0; + $zDb = sp + 60|0; + $zArg2 = sp + 64|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName; HEAP32[$2>>2] = $isView; @@ -68958,7 +67970,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$db>>2]|0; - $7 = (($6) + 64|0); + $7 = ((($6)) + 64|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(0); do { @@ -68967,7 +67979,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $11 = ($10|0)!=(0); if ($11) { $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 67|0); + $13 = ((($12)) + 67|0); $14 = HEAP8[$13>>0]|0; $15 = (($14) + 1)<<24>>24; HEAP8[$13>>0] = $15; @@ -68975,14 +67987,14 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$2>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = (_sqlite3LocateTableItem($16,$17,$19)|0); HEAP32[$pTab>>2] = $20; $21 = HEAP32[$3>>2]|0; $22 = ($21|0)!=(0); if ($22) { $23 = HEAP32[$db>>2]|0; - $24 = (($23) + 67|0); + $24 = ((($23)) + 67|0); $25 = HEAP8[$24>>0]|0; $26 = (($25) + -1)<<24>>24; HEAP8[$24>>0] = $26; @@ -68997,20 +68009,20 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { } $31 = HEAP32[$0>>2]|0; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 8|0); - $34 = (($33) + 4|0); + $33 = ((($32)) + 8|0); + $34 = ((($33)) + 4|0); $35 = HEAP32[$34>>2]|0; _sqlite3CodeVerifyNamedSchema($31,$35); break; } $36 = HEAP32[$db>>2]|0; $37 = HEAP32[$pTab>>2]|0; - $38 = (($37) + 68|0); + $38 = ((($37)) + 68|0); $39 = HEAP32[$38>>2]|0; $40 = (_sqlite3SchemaToIndex($36,$39)|0); HEAP32[$iDb>>2] = $40; $41 = HEAP32[$pTab>>2]|0; - $42 = (($41) + 44|0); + $42 = ((($41)) + 44|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = $44 & 16; @@ -69026,11 +68038,11 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { } $51 = HEAP32[$iDb>>2]|0; $52 = ($51|0)==(1); - $53 = $52 ? 14904 : 14928; + $53 = $52 ? 19269 : 19288; HEAP32[$zTab>>2] = $53; $54 = HEAP32[$iDb>>2]|0; $55 = HEAP32[$db>>2]|0; - $56 = (($55) + 16|0); + $56 = ((($55)) + 16|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + ($54<<4)|0); $59 = HEAP32[$58>>2]|0; @@ -69057,7 +68069,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { } } else { $69 = HEAP32[$pTab>>2]|0; - $70 = (($69) + 44|0); + $70 = ((($69)) + 44|0); $71 = HEAP8[$70>>0]|0; $72 = $71&255; $73 = $72 & 16; @@ -69067,9 +68079,9 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $75 = HEAP32[$db>>2]|0; $76 = HEAP32[$pTab>>2]|0; $77 = (_sqlite3GetVTable($75,$76)|0); - $78 = (($77) + 4|0); + $78 = ((($77)) + 4|0); $79 = HEAP32[$78>>2]|0; - $80 = (($79) + 4|0); + $80 = ((($79)) + 4|0); $81 = HEAP32[$80>>2]|0; HEAP32[$zArg2>>2] = $81; break; @@ -69103,19 +68115,19 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { if (!($97)) { $98 = HEAP32[$pTab>>2]|0; $99 = HEAP32[$98>>2]|0; - $100 = (_sqlite3_strnicmp($99,15144,7)|0); + $100 = (_sqlite3_strnicmp($99,19570,7)|0); $101 = ($100|0)==(0); if ($101) { $102 = HEAP32[$pTab>>2]|0; $103 = HEAP32[$102>>2]|0; - $104 = (_sqlite3_strnicmp($103,25512,11)|0); + $104 = (_sqlite3_strnicmp($103,27750,11)|0); $105 = ($104|0)!=(0); if ($105) { $106 = HEAP32[$0>>2]|0; $107 = HEAP32[$pTab>>2]|0; $108 = HEAP32[$107>>2]|0; - HEAP32[$vararg_buffer4>>2] = $108; - _sqlite3ErrorMsg($106,25528,$vararg_buffer4); + HEAP32[$vararg_buffer>>2] = $108; + _sqlite3ErrorMsg($106,27762,$vararg_buffer); break; } } @@ -69123,15 +68135,15 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $110 = ($109|0)!=(0); if ($110) { $111 = HEAP32[$pTab>>2]|0; - $112 = (($111) + 12|0); + $112 = ((($111)) + 12|0); $113 = HEAP32[$112>>2]|0; $114 = ($113|0)==(0|0); if ($114) { $115 = HEAP32[$0>>2]|0; $116 = HEAP32[$pTab>>2]|0; $117 = HEAP32[$116>>2]|0; - HEAP32[$vararg_buffer4>>2] = $117; - _sqlite3ErrorMsg($115,25560,$vararg_buffer4); + HEAP32[$vararg_buffer1>>2] = $117; + _sqlite3ErrorMsg($115,27790,$vararg_buffer1); break; } } @@ -69139,7 +68151,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $119 = ($118|0)!=(0); if (!($119)) { $120 = HEAP32[$pTab>>2]|0; - $121 = (($120) + 12|0); + $121 = ((($120)) + 12|0); $122 = HEAP32[$121>>2]|0; $123 = ($122|0)!=(0|0); if ($123) { @@ -69147,7 +68159,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $125 = HEAP32[$pTab>>2]|0; $126 = HEAP32[$125>>2]|0; HEAP32[$vararg_buffer4>>2] = $126; - _sqlite3ErrorMsg($124,25600,$vararg_buffer4); + _sqlite3ErrorMsg($124,27824,$vararg_buffer4); break; } } @@ -69164,7 +68176,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $134 = HEAP32[$iDb>>2]|0; $135 = HEAP32[$pTab>>2]|0; $136 = HEAP32[$135>>2]|0; - _sqlite3ClearStatTables($133,$134,18168,$136); + _sqlite3ClearStatTables($133,$134,22335,$136); $137 = HEAP32[$0>>2]|0; $138 = HEAP32[$1>>2]|0; $139 = HEAP32[$pTab>>2]|0; @@ -69202,21 +68214,21 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer = sp; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $5 = sp + 64|0; - $6 = sp + 60|0; - $p = sp + 56|0; - $n = sp + 52|0; - $z = sp + 48|0; - $sEnd = sp + 40|0; - $sFix = sp + 16|0; - $pName = sp + 12|0; - $iDb = sp + 8|0; - $db = sp + 4|0; + $0 = sp + 16|0; + $1 = sp + 24|0; + $2 = sp + 4|0; + $3 = sp + 28|0; + $4 = sp + 8|0; + $5 = sp + 12|0; + $6 = sp + 20|0; + $p = sp + 32|0; + $n = sp + 36|0; + $z = sp + 40|0; + $sEnd = sp + 48|0; + $sFix = sp + 56|0; + $pName = sp + 80|0; + $iDb = sp + 84|0; + $db = sp + 88|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pBegin; HEAP32[$2>>2] = $pName1; @@ -69229,12 +68241,12 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no $8 = HEAP32[$7>>2]|0; HEAP32[$db>>2] = $8; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 440|0); + $10 = ((($9)) + 440|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)>(0); $13 = HEAP32[$0>>2]|0; if ($12) { - _sqlite3ErrorMsg($13,25464,$vararg_buffer); + _sqlite3ErrorMsg($13,27709,$vararg_buffer); $14 = HEAP32[$db>>2]|0; $15 = HEAP32[$4>>2]|0; _sqlite3SelectDelete($14,$15); @@ -69246,14 +68258,14 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no $19 = HEAP32[$6>>2]|0; _sqlite3StartTable($13,$16,$17,$18,1,0,$19); $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 484|0); + $21 = ((($20)) + 484|0); $22 = HEAP32[$21>>2]|0; HEAP32[$p>>2] = $22; $23 = HEAP32[$p>>2]|0; $24 = ($23|0)==(0|0); if (!($24)) { $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 64|0); + $26 = ((($25)) + 64|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0); if (!($28)) { @@ -69263,14 +68275,14 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no (_sqlite3TwoPartName($31,$32,$33,$pName)|0); $34 = HEAP32[$db>>2]|0; $35 = HEAP32[$p>>2]|0; - $36 = (($35) + 68|0); + $36 = ((($35)) + 68|0); $37 = HEAP32[$36>>2]|0; $38 = (_sqlite3SchemaToIndex($34,$37)|0); HEAP32[$iDb>>2] = $38; $39 = HEAP32[$0>>2]|0; $40 = HEAP32[$iDb>>2]|0; $41 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$39,$40,25504,$41); + _sqlite3FixInit($sFix,$39,$40,27745,$41); $42 = HEAP32[$4>>2]|0; $43 = (_sqlite3FixSelect($sFix,$42)|0); $44 = ($43|0)!=(0); @@ -69282,21 +68294,21 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no } $47 = (_sqlite3SelectDup($45,$46,1)|0); $48 = HEAP32[$p>>2]|0; - $49 = (($48) + 12|0); + $49 = ((($48)) + 12|0); HEAP32[$49>>2] = $47; $50 = HEAP32[$db>>2]|0; $51 = HEAP32[$4>>2]|0; _sqlite3SelectDelete($50,$51); $52 = HEAP32[$db>>2]|0; - $53 = (($52) + 64|0); + $53 = ((($52)) + 64|0); $54 = HEAP8[$53>>0]|0; $55 = ($54<<24>>24)!=(0); if ($55) { STACKTOP = sp;return; } $56 = HEAP32[$db>>2]|0; - $57 = (($56) + 140|0); - $58 = (($57) + 5|0); + $57 = ((($56)) + 140|0); + $58 = ((($57)) + 5|0); $59 = HEAP8[$58>>0]|0; $60 = ($59<<24>>24)!=(0); if (!($60)) { @@ -69305,8 +68317,8 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no (_sqlite3ViewGetColumnNames($61,$62)|0); } $63 = HEAP32[$0>>2]|0; - $64 = (($63) + 504|0); - ;HEAP32[$sEnd+0>>2]=HEAP32[$64+0>>2]|0;HEAP32[$sEnd+4>>2]=HEAP32[$64+4>>2]|0; + $64 = ((($63)) + 504|0); + ;HEAP32[$sEnd>>2]=HEAP32[$64>>2]|0;HEAP32[$sEnd+4>>2]=HEAP32[$64+4>>2]|0; $65 = HEAP32[$sEnd>>2]|0; $66 = HEAP8[$65>>0]|0; $67 = $66 << 24 >> 24; @@ -69317,14 +68329,14 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no $71 = $70 << 24 >> 24; $72 = ($71|0)!=(59); if ($72) { - $73 = (($sEnd) + 4|0); + $73 = ((($sEnd)) + 4|0); $74 = HEAP32[$73>>2]|0; $75 = HEAP32[$sEnd>>2]|0; $76 = (($75) + ($74)|0); HEAP32[$sEnd>>2] = $76; } } - $77 = (($sEnd) + 4|0); + $77 = ((($sEnd)) + 4|0); HEAP32[$77>>2] = 0; $78 = HEAP32[$sEnd>>2]|0; $79 = HEAP32[$1>>2]|0; @@ -69346,7 +68358,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no $91 = (($90) + ($89)|0); $92 = HEAP8[$91>>0]|0; $93 = $92&255; - $94 = (1224 + ($93)|0); + $94 = (14426 + ($93)|0); $95 = HEAP8[$94>>0]|0; $96 = $95&255; $97 = $96 & 1; @@ -69366,7 +68378,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pSelect,$isTemp,$no $102 = HEAP32[$z>>2]|0; $103 = (($102) + ($101)|0); HEAP32[$sEnd>>2] = $103; - $104 = (($sEnd) + 4|0); + $104 = ((($sEnd)) + 4|0); HEAP32[$104>>2] = 1; $105 = HEAP32[$0>>2]|0; _sqlite3EndTable($105,0,$sEnd,0,0); @@ -69446,90 +68458,90 @@ function _sqlite3Select($pParse,$p,$pDest) { var $r2 = 0, $rc = 0, $regBase = 0, $regOutputRow = 0, $regRecord = 0, $regReset = 0, $retAddr = 0, $sAggInfo = 0, $sDistinct = 0, $sNC = 0, $sSort = 0, $sortOut = 0, $sortPTab = 0, $topAddr = 0, $v = 0, $wctrlFlags = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 400|0; - $0 = sp + 384|0; - $1 = sp + 380|0; - $2 = sp + 376|0; - $3 = sp + 372|0; - $i = sp + 368|0; - $j = sp + 364|0; - $pWInfo = sp + 360|0; - $v = sp + 356|0; - $isAgg = sp + 352|0; - $pEList = sp + 348|0; - $pTabList = sp + 344|0; - $pWhere = sp + 340|0; - $pGroupBy = sp + 336|0; - $pHaving = sp + 332|0; - $rc = sp + 328|0; - $sDistinct = sp + 316|0; - $sSort = sp + 288|0; - $sAggInfo = sp + 240|0; - $iEnd = sp + 236|0; - $db = sp + 232|0; - $iRestoreSelectId = sp + 228|0; - $pItem = sp + 224|0; - $dest = sp + 204|0; - $pSub = sp + 200|0; - $isAggSub = sp + 196|0; - $addrTop = sp + 192|0; - $topAddr = sp + 188|0; - $onceAddr = sp + 184|0; - $retAddr = sp + 180|0; - $pKeyInfo = sp + 176|0; - $wctrlFlags = sp + 388|0; - $sNC = sp + 144|0; - $iAMem = sp + 140|0; - $iBMem = sp + 136|0; - $iUseFlag = sp + 132|0; - $iAbortFlag = sp + 128|0; - $groupBySort = sp + 124|0; - $addrEnd = sp + 120|0; - $sortPTab = sp + 116|0; - $sortOut = sp + 112|0; - $orderByGrp = sp + 108|0; - $k = sp + 104|0; - $pItem1 = sp + 100|0; - $pKeyInfo2 = sp + 96|0; - $j1 = sp + 92|0; - $addrOutputRow = sp + 88|0; - $regOutputRow = sp + 84|0; - $addrSetAbort = sp + 80|0; - $addrTopOfLoop = sp + 76|0; - $addrSortingIdx = sp + 72|0; - $addrReset = sp + 68|0; - $regReset = sp + 64|0; - $regBase = sp + 60|0; - $regRecord = sp + 56|0; - $nCol = sp + 52|0; - $nGroupBy = sp + 48|0; - $pCol = sp + 44|0; - $r1 = sp + 40|0; - $r2 = sp + 36|0; - $pDel = sp + 32|0; - $pTab = sp + 28|0; - $iDb = sp + 24|0; - $iCsr = sp + 20|0; - $pIdx = sp + 16|0; - $pKeyInfo3 = sp + 12|0; - $pBest = sp + 8|0; - $iRoot = sp + 4|0; - $pMinMax = sp; - $flag = sp + 390|0; + $0 = sp + 196|0; + $1 = sp + 188|0; + $2 = sp + 280|0; + $3 = sp + 328|0; + $i = sp + 336|0; + $j = sp + 376|0; + $pWInfo = sp + 184|0; + $v = sp + 296|0; + $isAgg = sp + 16|0; + $pEList = sp + 20|0; + $pTabList = sp + 24|0; + $pWhere = sp + 28|0; + $pGroupBy = sp + 32|0; + $pHaving = sp + 36|0; + $rc = sp + 40|0; + $sDistinct = sp + 284|0; + $sSort = sp + 44|0; + $sAggInfo = sp + 72|0; + $iEnd = sp + 120|0; + $db = sp + 124|0; + $iRestoreSelectId = sp + 128|0; + $pItem = sp + 132|0; + $dest = sp + 136|0; + $pSub = sp + 156|0; + $isAggSub = sp + 160|0; + $addrTop = sp + 164|0; + $topAddr = sp + 168|0; + $onceAddr = sp + 172|0; + $retAddr = sp + 316|0; + $pKeyInfo = sp + 324|0; + $wctrlFlags = sp + 392|0; + $sNC = sp + 344|0; + $iAMem = sp + 380|0; + $iBMem = sp + 384|0; + $iUseFlag = sp + 388|0; + $iAbortFlag = sp + 200|0; + $groupBySort = sp + 204|0; + $addrEnd = sp + 208|0; + $sortPTab = sp + 212|0; + $sortOut = sp + 216|0; + $orderByGrp = sp + 220|0; + $k = sp + 224|0; + $pItem1 = sp + 228|0; + $pKeyInfo2 = sp + 232|0; + $j1 = sp + 236|0; + $addrOutputRow = sp + 240|0; + $regOutputRow = sp + 244|0; + $addrSetAbort = sp + 248|0; + $addrTopOfLoop = sp + 252|0; + $addrSortingIdx = sp + 256|0; + $addrReset = sp + 260|0; + $regReset = sp + 264|0; + $regBase = sp + 268|0; + $regRecord = sp + 272|0; + $nCol = sp + 276|0; + $nGroupBy = sp + 12|0; + $pCol = sp + 8|0; + $r1 = sp + 308|0; + $r2 = sp + 176|0; + $pDel = sp + 312|0; + $pTab = sp + 4|0; + $iDb = sp + 304|0; + $iCsr = sp + 180|0; + $pIdx = sp + 320|0; + $pKeyInfo3 = sp + 300|0; + $pBest = sp; + $iRoot = sp + 192|0; + $pMinMax = sp + 332|0; + $flag = sp + 394|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $pDest; HEAP32[$rc>>2] = 1; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 464|0); + $5 = ((($4)) + 464|0); $6 = HEAP32[$5>>2]|0; HEAP32[$iRestoreSelectId>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 468|0); + $8 = ((($7)) + 468|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + 1)|0; HEAP32[$8>>2] = $10; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 464|0); + $12 = ((($11)) + 464|0); HEAP32[$12>>2] = $9; $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$13>>2]|0; @@ -69538,13 +68550,13 @@ function _sqlite3Select($pParse,$p,$pDest) { $16 = ($15|0)==(0|0); if (!($16)) { $17 = HEAP32[$db>>2]|0; - $18 = (($17) + 64|0); + $18 = ((($17)) + 64|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20|0)!=(0); if (!($21)) { $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 64|0); + $23 = ((($22)) + 64|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(0); if (!($25)) { @@ -69556,7 +68568,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $1169 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($1169|0); } - dest=$sAggInfo+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$sAggInfo; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $29 = HEAP32[$3>>2]|0; $30 = HEAP8[$29>>0]|0; $31 = $30&255; @@ -69564,14 +68576,14 @@ function _sqlite3Select($pParse,$p,$pDest) { if ($32) { $33 = HEAP32[$db>>2]|0; $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 48|0); + $35 = ((($34)) + 48|0); $36 = HEAP32[$35>>2]|0; _sqlite3ExprListDelete($33,$36); $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 48|0); + $38 = ((($37)) + 48|0); HEAP32[$38>>2] = 0; $39 = HEAP32[$2>>2]|0; - $40 = (($39) + 6|0); + $40 = ((($39)) + 6|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; $43 = $42 & -2; @@ -69581,32 +68593,32 @@ function _sqlite3Select($pParse,$p,$pDest) { $45 = HEAP32[$1>>2]|0; $46 = HEAP32[$2>>2]|0; _sqlite3SelectPrep($45,$46,0); - ;HEAP32[$sSort+0>>2]=0|0;HEAP32[$sSort+4>>2]=0|0;HEAP32[$sSort+8>>2]=0|0;HEAP32[$sSort+12>>2]=0|0;HEAP32[$sSort+16>>2]=0|0;HEAP32[$sSort+20>>2]=0|0;HEAP32[$sSort+24>>2]=0|0; + ;HEAP32[$sSort>>2]=0|0;HEAP32[$sSort+4>>2]=0|0;HEAP32[$sSort+8>>2]=0|0;HEAP32[$sSort+12>>2]=0|0;HEAP32[$sSort+16>>2]=0|0;HEAP32[$sSort+20>>2]=0|0;HEAP32[$sSort+24>>2]=0|0; $47 = HEAP32[$2>>2]|0; - $48 = (($47) + 48|0); + $48 = ((($47)) + 48|0); $49 = HEAP32[$48>>2]|0; HEAP32[$sSort>>2] = $49; $50 = HEAP32[$2>>2]|0; - $51 = (($50) + 32|0); + $51 = ((($50)) + 32|0); $52 = HEAP32[$51>>2]|0; HEAP32[$pTabList>>2] = $52; $53 = HEAP32[$2>>2]|0; $54 = HEAP32[$53>>2]|0; HEAP32[$pEList>>2] = $54; $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 64|0); + $56 = ((($55)) + 64|0); $57 = HEAP32[$56>>2]|0; $58 = ($57|0)!=(0); L12: do { if (!($58)) { $59 = HEAP32[$db>>2]|0; - $60 = (($59) + 64|0); + $60 = ((($59)) + 64|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62|0)!=(0); if (!($63)) { $64 = HEAP32[$2>>2]|0; - $65 = (($64) + 6|0); + $65 = ((($64)) + 6|0); $66 = HEAP16[$65>>1]|0; $67 = $66&65535; $68 = $67 & 4; @@ -69629,7 +68641,7 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$i>>2] = 0; while(1) { $81 = HEAP32[$2>>2]|0; - $82 = (($81) + 52|0); + $82 = ((($81)) + 52|0); $83 = HEAP32[$82>>2]|0; $84 = ($83|0)!=(0|0); if ($84) { @@ -69644,11 +68656,11 @@ function _sqlite3Select($pParse,$p,$pDest) { } $89 = HEAP32[$i>>2]|0; $90 = HEAP32[$pTabList>>2]|0; - $91 = (($90) + 8|0); + $91 = ((($90)) + 8|0); $92 = (($91) + (($89*72)|0)|0); HEAP32[$pItem>>2] = $92; $93 = HEAP32[$pItem>>2]|0; - $94 = (($93) + 20|0); + $94 = ((($93)) + 20|0); $95 = HEAP32[$94>>2]|0; HEAP32[$pSub>>2] = $95; $96 = HEAP32[$pSub>>2]|0; @@ -69656,12 +68668,12 @@ function _sqlite3Select($pParse,$p,$pDest) { do { if (!($97)) { $98 = HEAP32[$pItem>>2]|0; - $99 = (($98) + 24|0); + $99 = ((($98)) + 24|0); $100 = HEAP32[$99>>2]|0; $101 = ($100|0)!=(0); if ($101) { $102 = HEAP32[$pItem>>2]|0; - $103 = (($102) + 37|0); + $103 = ((($102)) + 37|0); $104 = HEAP8[$103>>0]|0; $105 = ($104&255) >>> 2; $106 = $105 & 1; @@ -69672,10 +68684,10 @@ function _sqlite3Select($pParse,$p,$pDest) { } $109 = HEAP32[$v>>2]|0; $110 = HEAP32[$pItem>>2]|0; - $111 = (($110) + 28|0); + $111 = ((($110)) + 28|0); $112 = HEAP32[$111>>2]|0; $113 = HEAP32[$pItem>>2]|0; - $114 = (($113) + 24|0); + $114 = ((($113)) + 24|0); $115 = HEAP32[$114>>2]|0; (_sqlite3VdbeAddOp2($109,17,$112,$115)|0); break; @@ -69683,12 +68695,12 @@ function _sqlite3Select($pParse,$p,$pDest) { $116 = HEAP32[$2>>2]|0; $117 = (_sqlite3SelectExprHeight($116)|0); $118 = HEAP32[$1>>2]|0; - $119 = (($118) + 460|0); + $119 = ((($118)) + 460|0); $120 = HEAP32[$119>>2]|0; $121 = (($120) + ($117))|0; HEAP32[$119>>2] = $121; $122 = HEAP32[$pSub>>2]|0; - $123 = (($122) + 6|0); + $123 = ((($122)) + 6|0); $124 = HEAP16[$123>>1]|0; $125 = $124&65535; $126 = $125 & 4; @@ -69709,7 +68721,7 @@ function _sqlite3Select($pParse,$p,$pDest) { if ($137) { HEAP32[$isAgg>>2] = 1; $138 = HEAP32[$2>>2]|0; - $139 = (($138) + 6|0); + $139 = ((($138)) + 6|0); $140 = HEAP16[$139>>1]|0; $141 = $140&65535; $142 = $141 | 4; @@ -69724,7 +68736,7 @@ function _sqlite3Select($pParse,$p,$pDest) { do { if ($146) { $147 = HEAP32[$db>>2]|0; - $148 = (($147) + 60|0); + $148 = ((($147)) + 60|0); $149 = HEAP16[$148>>1]|0; $150 = $149&65535; $151 = $150 & 256; @@ -69737,39 +68749,39 @@ function _sqlite3Select($pParse,$p,$pDest) { $155 = (($154) + 1)|0; HEAP32[$addrTop>>2] = $155; $156 = HEAP32[$1>>2]|0; - $157 = (($156) + 72|0); + $157 = ((($156)) + 72|0); $158 = HEAP32[$157>>2]|0; $159 = (($158) + 1)|0; HEAP32[$157>>2] = $159; $160 = HEAP32[$pItem>>2]|0; - $161 = (($160) + 28|0); + $161 = ((($160)) + 28|0); HEAP32[$161>>2] = $159; $162 = HEAP32[$v>>2]|0; $163 = HEAP32[$pItem>>2]|0; - $164 = (($163) + 28|0); + $164 = ((($163)) + 28|0); $165 = HEAP32[$164>>2]|0; $166 = HEAP32[$addrTop>>2]|0; (_sqlite3VdbeAddOp3($162,20,$165,0,$166)|0); $167 = HEAP32[$addrTop>>2]|0; $168 = HEAP32[$pItem>>2]|0; - $169 = (($168) + 24|0); + $169 = ((($168)) + 24|0); HEAP32[$169>>2] = $167; $170 = HEAP32[$pItem>>2]|0; - $171 = (($170) + 28|0); + $171 = ((($170)) + 28|0); $172 = HEAP32[$171>>2]|0; _sqlite3SelectDestInit($dest,13,$172); $173 = HEAP32[$1>>2]|0; - $174 = (($173) + 468|0); + $174 = ((($173)) + 468|0); $175 = HEAP32[$174>>2]|0; $176 = $175&255; $177 = HEAP32[$pItem>>2]|0; - $178 = (($177) + 38|0); + $178 = ((($177)) + 38|0); HEAP8[$178>>0] = $176; $179 = HEAP32[$1>>2]|0; $180 = HEAP32[$pSub>>2]|0; (_sqlite3Select($179,$180,$dest)|0); $181 = HEAP32[$pSub>>2]|0; - $182 = (($181) + 24|0); + $182 = ((($181)) + 24|0); $183 = $182; $184 = $183; $185 = HEAP32[$184>>2]|0; @@ -69778,24 +68790,24 @@ function _sqlite3Select($pParse,$p,$pDest) { $188 = HEAP32[$187>>2]|0; $189 = (_sqlite3LogEst($185,$188)|0); $190 = HEAP32[$pItem>>2]|0; - $191 = (($190) + 16|0); + $191 = ((($190)) + 16|0); $192 = HEAP32[$191>>2]|0; - $193 = (($192) + 28|0); + $193 = ((($192)) + 28|0); HEAP16[$193>>1] = $189; $194 = HEAP32[$pItem>>2]|0; - $195 = (($194) + 37|0); + $195 = ((($194)) + 37|0); $196 = HEAP8[$195>>0]|0; $197 = $196 & -5; $198 = $197 | 4; HEAP8[$195>>0] = $198; - $199 = (($dest) + 8|0); + $199 = ((($dest)) + 8|0); $200 = HEAP32[$199>>2]|0; $201 = HEAP32[$pItem>>2]|0; - $202 = (($201) + 32|0); + $202 = ((($201)) + 32|0); HEAP32[$202>>2] = $200; $203 = HEAP32[$v>>2]|0; $204 = HEAP32[$pItem>>2]|0; - $205 = (($204) + 28|0); + $205 = ((($204)) + 28|0); $206 = HEAP32[$205>>2]|0; (_sqlite3VdbeAddOp1($203,21,$206)|0); $207 = HEAP32[$v>>2]|0; @@ -69809,26 +68821,26 @@ function _sqlite3Select($pParse,$p,$pDest) { } while(0); HEAP32[$onceAddr>>2] = 0; $211 = HEAP32[$1>>2]|0; - $212 = (($211) + 72|0); + $212 = ((($211)) + 72|0); $213 = HEAP32[$212>>2]|0; $214 = (($213) + 1)|0; HEAP32[$212>>2] = $214; $215 = HEAP32[$pItem>>2]|0; - $216 = (($215) + 28|0); + $216 = ((($215)) + 28|0); HEAP32[$216>>2] = $214; $217 = HEAP32[$v>>2]|0; $218 = HEAP32[$pItem>>2]|0; - $219 = (($218) + 28|0); + $219 = ((($218)) + 28|0); $220 = HEAP32[$219>>2]|0; $221 = (_sqlite3VdbeAddOp2($217,25,0,$220)|0); HEAP32[$topAddr>>2] = $221; $222 = HEAP32[$topAddr>>2]|0; $223 = (($222) + 1)|0; $224 = HEAP32[$pItem>>2]|0; - $225 = (($224) + 24|0); + $225 = ((($224)) + 24|0); HEAP32[$225>>2] = $223; $226 = HEAP32[$pItem>>2]|0; - $227 = (($226) + 37|0); + $227 = ((($226)) + 37|0); $228 = HEAP8[$227>>0]|0; $229 = ($228&255) >>> 1; $230 = $229 & 1; @@ -69840,21 +68852,21 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$onceAddr>>2] = $234; } $235 = HEAP32[$pItem>>2]|0; - $236 = (($235) + 40|0); + $236 = ((($235)) + 40|0); $237 = HEAP32[$236>>2]|0; _sqlite3SelectDestInit($dest,12,$237); $238 = HEAP32[$1>>2]|0; - $239 = (($238) + 468|0); + $239 = ((($238)) + 468|0); $240 = HEAP32[$239>>2]|0; $241 = $240&255; $242 = HEAP32[$pItem>>2]|0; - $243 = (($242) + 38|0); + $243 = ((($242)) + 38|0); HEAP8[$243>>0] = $241; $244 = HEAP32[$1>>2]|0; $245 = HEAP32[$pSub>>2]|0; (_sqlite3Select($244,$245,$dest)|0); $246 = HEAP32[$pSub>>2]|0; - $247 = (($246) + 24|0); + $247 = ((($246)) + 24|0); $248 = $247; $249 = $248; $250 = HEAP32[$249>>2]|0; @@ -69863,9 +68875,9 @@ function _sqlite3Select($pParse,$p,$pDest) { $253 = HEAP32[$252>>2]|0; $254 = (_sqlite3LogEst($250,$253)|0); $255 = HEAP32[$pItem>>2]|0; - $256 = (($255) + 16|0); + $256 = ((($255)) + 16|0); $257 = HEAP32[$256>>2]|0; - $258 = (($257) + 28|0); + $258 = ((($257)) + 28|0); HEAP16[$258>>1] = $254; $259 = HEAP32[$onceAddr>>2]|0; $260 = ($259|0)!=(0); @@ -69876,7 +68888,7 @@ function _sqlite3Select($pParse,$p,$pDest) { } $263 = HEAP32[$v>>2]|0; $264 = HEAP32[$pItem>>2]|0; - $265 = (($264) + 28|0); + $265 = ((($264)) + 28|0); $266 = HEAP32[$265>>2]|0; $267 = (_sqlite3VdbeAddOp1($263,18,$266)|0); HEAP32[$retAddr>>2] = $267; @@ -69889,7 +68901,7 @@ function _sqlite3Select($pParse,$p,$pDest) { } } while(0); $272 = HEAP32[$db>>2]|0; - $273 = (($272) + 64|0); + $273 = ((($272)) + 64|0); $274 = HEAP8[$273>>0]|0; $275 = ($274<<24>>24)!=(0); if ($275) { @@ -69898,12 +68910,12 @@ function _sqlite3Select($pParse,$p,$pDest) { $276 = HEAP32[$2>>2]|0; $277 = (_sqlite3SelectExprHeight($276)|0); $278 = HEAP32[$1>>2]|0; - $279 = (($278) + 460|0); + $279 = ((($278)) + 460|0); $280 = HEAP32[$279>>2]|0; $281 = (($280) - ($277))|0; HEAP32[$279>>2] = $281; $282 = HEAP32[$2>>2]|0; - $283 = (($282) + 32|0); + $283 = ((($282)) + 32|0); $284 = HEAP32[$283>>2]|0; HEAP32[$pTabList>>2] = $284; $285 = HEAP32[$3>>2]|0; @@ -69912,7 +68924,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $288 = ($287|0)<=(8); if (!($288)) { $289 = HEAP32[$2>>2]|0; - $290 = (($289) + 48|0); + $290 = ((($289)) + 48|0); $291 = HEAP32[$290>>2]|0; HEAP32[$sSort>>2] = $291; } @@ -69926,19 +68938,19 @@ function _sqlite3Select($pParse,$p,$pDest) { $295 = HEAP32[$294>>2]|0; HEAP32[$pEList>>2] = $295; $296 = HEAP32[$2>>2]|0; - $297 = (($296) + 36|0); + $297 = ((($296)) + 36|0); $298 = HEAP32[$297>>2]|0; HEAP32[$pWhere>>2] = $298; $299 = HEAP32[$2>>2]|0; - $300 = (($299) + 40|0); + $300 = ((($299)) + 40|0); $301 = HEAP32[$300>>2]|0; HEAP32[$pGroupBy>>2] = $301; $302 = HEAP32[$2>>2]|0; - $303 = (($302) + 44|0); + $303 = ((($302)) + 44|0); $304 = HEAP32[$303>>2]|0; HEAP32[$pHaving>>2] = $304; $305 = HEAP32[$2>>2]|0; - $306 = (($305) + 6|0); + $306 = ((($305)) + 6|0); $307 = HEAP16[$306>>1]|0; $308 = $307&65535; $309 = $308 & 1; @@ -69947,7 +68959,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $312 = $311&255; HEAP8[$sDistinct>>0] = $312; $313 = HEAP32[$2>>2]|0; - $314 = (($313) + 52|0); + $314 = ((($313)) + 52|0); $315 = HEAP32[$314>>2]|0; $316 = ($315|0)!=(0|0); if ($316) { @@ -69958,7 +68970,7 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$rc>>2] = $320; $321 = HEAP32[$iRestoreSelectId>>2]|0; $322 = HEAP32[$1>>2]|0; - $323 = (($322) + 464|0); + $323 = ((($322)) + 464|0); HEAP32[$323>>2] = $321; $324 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $324; @@ -69966,7 +68978,7 @@ function _sqlite3Select($pParse,$p,$pDest) { STACKTOP = sp;return ($1169|0); } $325 = HEAP32[$2>>2]|0; - $326 = (($325) + 6|0); + $326 = ((($325)) + 6|0); $327 = HEAP16[$326>>1]|0; $328 = $327&65535; $329 = $328 & 5; @@ -69979,7 +68991,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $335 = ($334|0)==(0); if ($335) { $336 = HEAP32[$2>>2]|0; - $337 = (($336) + 6|0); + $337 = ((($336)) + 6|0); $338 = HEAP16[$337>>1]|0; $339 = $338&65535; $340 = $339 & -2; @@ -69990,10 +69002,10 @@ function _sqlite3Select($pParse,$p,$pDest) { $344 = HEAP32[$343>>2]|0; $345 = (_sqlite3ExprListDup($342,$344,0)|0); $346 = HEAP32[$2>>2]|0; - $347 = (($346) + 40|0); + $347 = ((($346)) + 40|0); HEAP32[$347>>2] = $345; $348 = HEAP32[$2>>2]|0; - $349 = (($348) + 40|0); + $349 = ((($348)) + 40|0); $350 = HEAP32[$349>>2]|0; HEAP32[$pGroupBy>>2] = $350; HEAP32[$sSort>>2] = 0; @@ -70007,14 +69019,14 @@ function _sqlite3Select($pParse,$p,$pDest) { $355 = (_keyInfoFromExprList($353,$354,0,0)|0); HEAP32[$pKeyInfo>>2] = $355; $356 = HEAP32[$1>>2]|0; - $357 = (($356) + 68|0); + $357 = ((($356)) + 68|0); $358 = HEAP32[$357>>2]|0; $359 = (($358) + 1)|0; HEAP32[$357>>2] = $359; - $360 = (($sSort) + 8|0); + $360 = ((($sSort)) + 8|0); HEAP32[$360>>2] = $358; $361 = HEAP32[$v>>2]|0; - $362 = (($sSort) + 8|0); + $362 = ((($sSort)) + 8|0); $363 = HEAP32[$362>>2]|0; $364 = HEAP32[$sSort>>2]|0; $365 = HEAP32[$364>>2]|0; @@ -70024,10 +69036,10 @@ function _sqlite3Select($pParse,$p,$pDest) { $369 = (($366) + ($368))|0; $370 = HEAP32[$pKeyInfo>>2]|0; $371 = (_sqlite3VdbeAddOp4($361,57,$363,$369,0,$370,-6)|0); - $372 = (($sSort) + 20|0); + $372 = ((($sSort)) + 20|0); HEAP32[$372>>2] = $371; } else { - $373 = (($sSort) + 20|0); + $373 = ((($sSort)) + 20|0); HEAP32[$373>>2] = -1; } $374 = HEAP32[$3>>2]|0; @@ -70037,7 +69049,7 @@ function _sqlite3Select($pParse,$p,$pDest) { if ($377) { $378 = HEAP32[$v>>2]|0; $379 = HEAP32[$3>>2]|0; - $380 = (($379) + 4|0); + $380 = ((($379)) + 4|0); $381 = HEAP32[$380>>2]|0; $382 = HEAP32[$pEList>>2]|0; $383 = HEAP32[$382>>2]|0; @@ -70047,7 +69059,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $385 = (_sqlite3VdbeMakeLabel($384)|0); HEAP32[$iEnd>>2] = $385; $386 = HEAP32[$2>>2]|0; - $387 = (($386) + 24|0); + $387 = ((($386)) + 24|0); $388 = $387; $389 = $388; HEAP32[$389>>2] = -1; @@ -70059,20 +69071,20 @@ function _sqlite3Select($pParse,$p,$pDest) { $394 = HEAP32[$iEnd>>2]|0; _computeLimitRegisters($392,$393,$394); $395 = HEAP32[$2>>2]|0; - $396 = (($395) + 8|0); + $396 = ((($395)) + 8|0); $397 = HEAP32[$396>>2]|0; $398 = ($397|0)==(0); if ($398) { - $399 = (($sSort) + 20|0); + $399 = ((($sSort)) + 20|0); $400 = HEAP32[$399>>2]|0; $401 = ($400|0)>=(0); if ($401) { $402 = HEAP32[$v>>2]|0; - $403 = (($sSort) + 20|0); + $403 = ((($sSort)) + 20|0); $404 = HEAP32[$403>>2]|0; $405 = (_sqlite3VdbeGetOp($402,$404)|0); HEAP8[$405>>0] = 58; - $406 = (($sSort) + 24|0); + $406 = ((($sSort)) + 24|0); $407 = HEAP8[$406>>0]|0; $408 = $407&255; $409 = $408 | 1; @@ -70081,35 +69093,35 @@ function _sqlite3Select($pParse,$p,$pDest) { } } $411 = HEAP32[$2>>2]|0; - $412 = (($411) + 6|0); + $412 = ((($411)) + 6|0); $413 = HEAP16[$412>>1]|0; $414 = $413&65535; $415 = $414 & 1; $416 = ($415|0)!=(0); if ($416) { $417 = HEAP32[$1>>2]|0; - $418 = (($417) + 68|0); + $418 = ((($417)) + 68|0); $419 = HEAP32[$418>>2]|0; $420 = (($419) + 1)|0; HEAP32[$418>>2] = $420; - $421 = (($sDistinct) + 4|0); + $421 = ((($sDistinct)) + 4|0); HEAP32[$421>>2] = $419; $422 = HEAP32[$v>>2]|0; - $423 = (($sDistinct) + 4|0); + $423 = ((($sDistinct)) + 4|0); $424 = HEAP32[$423>>2]|0; $425 = HEAP32[$1>>2]|0; $426 = HEAP32[$2>>2]|0; $427 = HEAP32[$426>>2]|0; $428 = (_keyInfoFromExprList($425,$427,0,0)|0); $429 = (_sqlite3VdbeAddOp4($422,57,$424,0,0,$428,-6)|0); - $430 = (($sDistinct) + 8|0); + $430 = ((($sDistinct)) + 8|0); HEAP32[$430>>2] = $429; $431 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($431,8); - $432 = (($sDistinct) + 1|0); + $432 = ((($sDistinct)) + 1|0); HEAP8[$432>>0] = 3; } else { - $433 = (($sDistinct) + 1|0); + $433 = ((($sDistinct)) + 1|0); HEAP8[$433>>0] = 0; } $434 = HEAP32[$isAgg>>2]|0; @@ -70142,7 +69154,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $454 = (_sqlite3WhereOutputRowCount($453)|0); $455 = tempRet0; $456 = HEAP32[$2>>2]|0; - $457 = (($456) + 24|0); + $457 = ((($456)) + 24|0); $458 = $457; $459 = $458; $460 = HEAP32[$459>>2]|0; @@ -70159,7 +69171,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $470 = (_sqlite3WhereOutputRowCount($469)|0); $471 = tempRet0; $472 = HEAP32[$2>>2]|0; - $473 = (($472) + 24|0); + $473 = ((($472)) + 24|0); $474 = $473; $475 = $474; HEAP32[$475>>2] = $470; @@ -70181,7 +69193,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $484 = HEAP32[$pWInfo>>2]|0; $485 = (_sqlite3WhereIsDistinct($484)|0); $486 = $485&255; - $487 = (($sDistinct) + 1|0); + $487 = ((($sDistinct)) + 1|0); HEAP8[$487>>0] = $486; } } while(0); @@ -70191,9 +69203,9 @@ function _sqlite3Select($pParse,$p,$pDest) { if ($489) { $490 = HEAP32[$pWInfo>>2]|0; $491 = (_sqlite3WhereIsOrdered($490)|0); - $492 = (($sSort) + 4|0); + $492 = ((($sSort)) + 4|0); HEAP32[$492>>2] = $491; - $493 = (($sSort) + 4|0); + $493 = ((($sSort)) + 4|0); $494 = HEAP32[$493>>2]|0; $495 = HEAP32[$sSort>>2]|0; $496 = HEAP32[$495>>2]|0; @@ -70204,7 +69216,7 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$sSort>>2] = 0; } } while(0); - $498 = (($sSort) + 20|0); + $498 = ((($sSort)) + 20|0); $499 = HEAP32[$498>>2]|0; $500 = ($499|0)>=(0); do { @@ -70215,7 +69227,7 @@ function _sqlite3Select($pParse,$p,$pDest) { break; } $503 = HEAP32[$v>>2]|0; - $504 = (($sSort) + 20|0); + $504 = ((($sSort)) + 20|0); $505 = HEAP32[$504>>2]|0; _sqlite3VdbeChangeToNoop($503,$505); } @@ -70245,7 +69257,7 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$k>>2] = $519; $520 = HEAP32[$2>>2]|0; $521 = HEAP32[$520>>2]|0; - $522 = (($521) + 4|0); + $522 = ((($521)) + 4|0); $523 = HEAP32[$522>>2]|0; HEAP32[$pItem1>>2] = $523; while(1) { @@ -70255,21 +69267,21 @@ function _sqlite3Select($pParse,$p,$pDest) { break; } $526 = HEAP32[$pItem1>>2]|0; - $527 = (($526) + 16|0); - $528 = (($527) + 2|0); + $527 = ((($526)) + 16|0); + $528 = ((($527)) + 2|0); HEAP16[$528>>1] = 0; $529 = HEAP32[$k>>2]|0; $530 = (($529) + -1)|0; HEAP32[$k>>2] = $530; $531 = HEAP32[$pItem1>>2]|0; - $532 = (($531) + 20|0); + $532 = ((($531)) + 20|0); HEAP32[$pItem1>>2] = $532; } $533 = HEAP32[$pGroupBy>>2]|0; $534 = HEAP32[$533>>2]|0; HEAP32[$k>>2] = $534; $535 = HEAP32[$pGroupBy>>2]|0; - $536 = (($535) + 4|0); + $536 = ((($535)) + 4|0); $537 = HEAP32[$536>>2]|0; HEAP32[$pItem1>>2] = $537; while(1) { @@ -70279,18 +69291,18 @@ function _sqlite3Select($pParse,$p,$pDest) { break; } $540 = HEAP32[$pItem1>>2]|0; - $541 = (($540) + 16|0); - $542 = (($541) + 2|0); + $541 = ((($540)) + 16|0); + $542 = ((($541)) + 2|0); HEAP16[$542>>1] = 0; $543 = HEAP32[$k>>2]|0; $544 = (($543) + -1)|0; HEAP32[$k>>2] = $544; $545 = HEAP32[$pItem1>>2]|0; - $546 = (($545) + 20|0); + $546 = ((($545)) + 20|0); HEAP32[$pItem1>>2] = $546; } $547 = HEAP32[$2>>2]|0; - $548 = (($547) + 24|0); + $548 = ((($547)) + 24|0); $549 = $548; $550 = $549; $551 = HEAP32[$550>>2]|0; @@ -70306,7 +69318,7 @@ function _sqlite3Select($pParse,$p,$pDest) { break; } $560 = HEAP32[$2>>2]|0; - $561 = (($560) + 24|0); + $561 = ((($560)) + 24|0); $562 = $561; $563 = $562; HEAP32[$563>>2] = 100; @@ -70314,7 +69326,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $565 = $564; HEAP32[$565>>2] = 0; } else { - $566 = (($517) + 24|0); + $566 = ((($517)) + 24|0); $567 = $566; $568 = $567; HEAP32[$568>>2] = 1; @@ -70333,19 +69345,19 @@ function _sqlite3Select($pParse,$p,$pDest) { $575 = HEAP32[$v>>2]|0; $576 = (_sqlite3VdbeMakeLabel($575)|0); HEAP32[$addrEnd>>2] = $576; - ;HEAP32[$sNC+0>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $577 = HEAP32[$1>>2]|0; HEAP32[$sNC>>2] = $577; $578 = HEAP32[$pTabList>>2]|0; - $579 = (($sNC) + 4|0); + $579 = ((($sNC)) + 4|0); HEAP32[$579>>2] = $578; - $580 = (($sNC) + 12|0); + $580 = ((($sNC)) + 12|0); HEAP32[$580>>2] = $sAggInfo; $581 = HEAP32[$1>>2]|0; - $582 = (($581) + 72|0); + $582 = ((($581)) + 72|0); $583 = HEAP32[$582>>2]|0; $584 = (($583) + 1)|0; - $585 = (($sAggInfo) + 16|0); + $585 = ((($sAggInfo)) + 16|0); HEAP32[$585>>2] = $584; $586 = HEAP32[$pGroupBy>>2]|0; $587 = ($586|0)!=(0|0); @@ -70356,10 +69368,10 @@ function _sqlite3Select($pParse,$p,$pDest) { } else { $591 = 0; } - $590 = (($sAggInfo) + 12|0); + $590 = ((($sAggInfo)) + 12|0); HEAP32[$590>>2] = $591; $592 = HEAP32[$pGroupBy>>2]|0; - $593 = (($sAggInfo) + 24|0); + $593 = ((($sAggInfo)) + 24|0); HEAP32[$593>>2] = $592; $594 = HEAP32[$pEList>>2]|0; _sqlite3ExprAnalyzeAggList($sNC,$594); @@ -70371,34 +69383,34 @@ function _sqlite3Select($pParse,$p,$pDest) { $598 = HEAP32[$pHaving>>2]|0; _sqlite3ExprAnalyzeAggregates($sNC,$598); } - $599 = (($sAggInfo) + 32|0); + $599 = ((($sAggInfo)) + 32|0); $600 = HEAP32[$599>>2]|0; - $601 = (($sAggInfo) + 36|0); + $601 = ((($sAggInfo)) + 36|0); HEAP32[$601>>2] = $600; HEAP32[$i>>2] = 0; while(1) { $602 = HEAP32[$i>>2]|0; - $603 = (($sAggInfo) + 44|0); + $603 = ((($sAggInfo)) + 44|0); $604 = HEAP32[$603>>2]|0; $605 = ($602|0)<($604|0); if (!($605)) { break; } - $606 = (($sNC) + 28|0); + $606 = ((($sNC)) + 28|0); $607 = HEAP16[$606>>1]|0; $608 = $607&65535; $609 = $608 | 8; $610 = $609&65535; HEAP16[$606>>1] = $610; $611 = HEAP32[$i>>2]|0; - $612 = (($sAggInfo) + 40|0); + $612 = ((($sAggInfo)) + 40|0); $613 = HEAP32[$612>>2]|0; $614 = (($613) + ($611<<4)|0); $615 = HEAP32[$614>>2]|0; - $616 = (($615) + 20|0); + $616 = ((($615)) + 20|0); $617 = HEAP32[$616>>2]|0; _sqlite3ExprAnalyzeAggList($sNC,$617); - $618 = (($sNC) + 28|0); + $618 = ((($sNC)) + 28|0); $619 = HEAP16[$618>>1]|0; $620 = $619&65535; $621 = $620 & -9; @@ -70409,12 +69421,12 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$i>>2] = $624; } $625 = HEAP32[$1>>2]|0; - $626 = (($625) + 72|0); + $626 = ((($625)) + 72|0); $627 = HEAP32[$626>>2]|0; - $628 = (($sAggInfo) + 20|0); + $628 = ((($sAggInfo)) + 20|0); HEAP32[$628>>2] = $627; $629 = HEAP32[$db>>2]|0; - $630 = (($629) + 64|0); + $630 = ((($629)) + 64|0); $631 = HEAP8[$630>>0]|0; $632 = ($631<<24>>24)!=(0); if ($632) { @@ -70424,38 +69436,38 @@ function _sqlite3Select($pParse,$p,$pDest) { $634 = ($633|0)!=(0|0); if ($634) { $635 = HEAP32[$1>>2]|0; - $636 = (($635) + 68|0); + $636 = ((($635)) + 68|0); $637 = HEAP32[$636>>2]|0; $638 = (($637) + 1)|0; HEAP32[$636>>2] = $638; - $639 = (($sAggInfo) + 4|0); + $639 = ((($sAggInfo)) + 4|0); HEAP32[$639>>2] = $637; $640 = HEAP32[$1>>2]|0; $641 = HEAP32[$pGroupBy>>2]|0; $642 = (_keyInfoFromExprList($640,$641,0,0)|0); HEAP32[$pKeyInfo2>>2] = $642; $643 = HEAP32[$v>>2]|0; - $644 = (($sAggInfo) + 4|0); + $644 = ((($sAggInfo)) + 4|0); $645 = HEAP32[$644>>2]|0; - $646 = (($sAggInfo) + 12|0); + $646 = ((($sAggInfo)) + 12|0); $647 = HEAP32[$646>>2]|0; $648 = HEAP32[$pKeyInfo2>>2]|0; $649 = (_sqlite3VdbeAddOp4($643,58,$645,$647,0,$648,-6)|0); HEAP32[$addrSortingIdx>>2] = $649; $650 = HEAP32[$1>>2]|0; - $651 = (($650) + 72|0); + $651 = ((($650)) + 72|0); $652 = HEAP32[$651>>2]|0; $653 = (($652) + 1)|0; HEAP32[$651>>2] = $653; HEAP32[$iUseFlag>>2] = $653; $654 = HEAP32[$1>>2]|0; - $655 = (($654) + 72|0); + $655 = ((($654)) + 72|0); $656 = HEAP32[$655>>2]|0; $657 = (($656) + 1)|0; HEAP32[$655>>2] = $657; HEAP32[$iAbortFlag>>2] = $657; $658 = HEAP32[$1>>2]|0; - $659 = (($658) + 72|0); + $659 = ((($658)) + 72|0); $660 = HEAP32[$659>>2]|0; $661 = (($660) + 1)|0; HEAP32[$659>>2] = $661; @@ -70464,7 +69476,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $663 = (_sqlite3VdbeMakeLabel($662)|0); HEAP32[$addrOutputRow>>2] = $663; $664 = HEAP32[$1>>2]|0; - $665 = (($664) + 72|0); + $665 = ((($664)) + 72|0); $666 = HEAP32[$665>>2]|0; $667 = (($666) + 1)|0; HEAP32[$665>>2] = $667; @@ -70473,26 +69485,26 @@ function _sqlite3Select($pParse,$p,$pDest) { $669 = (_sqlite3VdbeMakeLabel($668)|0); HEAP32[$addrReset>>2] = $669; $670 = HEAP32[$1>>2]|0; - $671 = (($670) + 72|0); + $671 = ((($670)) + 72|0); $672 = HEAP32[$671>>2]|0; $673 = (($672) + 1)|0; HEAP32[$iAMem>>2] = $673; $674 = HEAP32[$pGroupBy>>2]|0; $675 = HEAP32[$674>>2]|0; $676 = HEAP32[$1>>2]|0; - $677 = (($676) + 72|0); + $677 = ((($676)) + 72|0); $678 = HEAP32[$677>>2]|0; $679 = (($678) + ($675))|0; HEAP32[$677>>2] = $679; $680 = HEAP32[$1>>2]|0; - $681 = (($680) + 72|0); + $681 = ((($680)) + 72|0); $682 = HEAP32[$681>>2]|0; $683 = (($682) + 1)|0; HEAP32[$iBMem>>2] = $683; $684 = HEAP32[$pGroupBy>>2]|0; $685 = HEAP32[$684>>2]|0; $686 = HEAP32[$1>>2]|0; - $687 = (($686) + 72|0); + $687 = ((($686)) + 72|0); $688 = HEAP32[$687>>2]|0; $689 = (($688) + ($685))|0; HEAP32[$687>>2] = $689; @@ -70544,7 +69556,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $724 = ($723|0)!=(0); if ($724) { $725 = HEAP32[$2>>2]|0; - $726 = (($725) + 6|0); + $726 = ((($725)) + 6|0); $727 = HEAP16[$726>>1]|0; $728 = $727&65535; $729 = $728 & 1; @@ -70553,7 +69565,7 @@ function _sqlite3Select($pParse,$p,$pDest) { } else { $732 = 0; } - $731 = $732 ? 24832 : 24848; + $731 = $732 ? 27145 : 27154; _explainTempTable($721,$731); HEAP32[$groupBySort>>2] = 1; $733 = HEAP32[$pGroupBy>>2]|0; @@ -70566,17 +69578,17 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$i>>2] = 0; while(1) { $737 = HEAP32[$i>>2]|0; - $738 = (($sAggInfo) + 32|0); + $738 = ((($sAggInfo)) + 32|0); $739 = HEAP32[$738>>2]|0; $740 = ($737|0)<($739|0); if (!($740)) { break; } $741 = HEAP32[$i>>2]|0; - $742 = (($sAggInfo) + 28|0); + $742 = ((($sAggInfo)) + 28|0); $743 = HEAP32[$742>>2]|0; $744 = (($743) + (($741*24)|0)|0); - $745 = (($744) + 12|0); + $745 = ((($744)) + 12|0); $746 = HEAP32[$745>>2]|0; $747 = HEAP32[$j>>2]|0; $748 = ($746|0)>=($747|0); @@ -70607,19 +69619,19 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$i>>2] = 0; while(1) { $763 = HEAP32[$i>>2]|0; - $764 = (($sAggInfo) + 32|0); + $764 = ((($sAggInfo)) + 32|0); $765 = HEAP32[$764>>2]|0; $766 = ($763|0)<($765|0); if (!($766)) { break; } $767 = HEAP32[$i>>2]|0; - $768 = (($sAggInfo) + 28|0); + $768 = ((($sAggInfo)) + 28|0); $769 = HEAP32[$768>>2]|0; $770 = (($769) + (($767*24)|0)|0); HEAP32[$pCol>>2] = $770; $771 = HEAP32[$pCol>>2]|0; - $772 = (($771) + 12|0); + $772 = ((($771)) + 12|0); $773 = HEAP32[$772>>2]|0; $774 = HEAP32[$j>>2]|0; $775 = ($773|0)>=($774|0); @@ -70632,10 +69644,10 @@ function _sqlite3Select($pParse,$p,$pDest) { $780 = HEAP32[$pCol>>2]|0; $781 = HEAP32[$780>>2]|0; $782 = HEAP32[$pCol>>2]|0; - $783 = (($782) + 8|0); + $783 = ((($782)) + 8|0); $784 = HEAP32[$783>>2]|0; $785 = HEAP32[$pCol>>2]|0; - $786 = (($785) + 4|0); + $786 = ((($785)) + 4|0); $787 = HEAP32[$786>>2]|0; $788 = HEAP32[$r1>>2]|0; $789 = (_sqlite3ExprCodeGetColumn($779,$781,$784,$787,$788,0)|0); @@ -70666,7 +69678,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $805 = HEAP32[$regRecord>>2]|0; (_sqlite3VdbeAddOp3($802,49,$803,$804,$805)|0); $806 = HEAP32[$v>>2]|0; - $807 = (($sAggInfo) + 4|0); + $807 = ((($sAggInfo)) + 4|0); $808 = HEAP32[$807>>2]|0; $809 = HEAP32[$regRecord>>2]|0; (_sqlite3VdbeAddOp2($806,109,$808,$809)|0); @@ -70680,12 +69692,12 @@ function _sqlite3Select($pParse,$p,$pDest) { $815 = HEAP32[$pWInfo>>2]|0; _sqlite3WhereEnd($815); $816 = HEAP32[$1>>2]|0; - $817 = (($816) + 68|0); + $817 = ((($816)) + 68|0); $818 = HEAP32[$817>>2]|0; $819 = (($818) + 1)|0; HEAP32[$817>>2] = $819; HEAP32[$sortPTab>>2] = $818; - $820 = (($sAggInfo) + 8|0); + $820 = ((($sAggInfo)) + 8|0); HEAP32[$820>>2] = $818; $821 = HEAP32[$1>>2]|0; $822 = (_sqlite3GetTempReg($821)|0); @@ -70696,11 +69708,11 @@ function _sqlite3Select($pParse,$p,$pDest) { $826 = HEAP32[$nCol>>2]|0; (_sqlite3VdbeAddOp3($823,60,$824,$825,$826)|0); $827 = HEAP32[$v>>2]|0; - $828 = (($sAggInfo) + 4|0); + $828 = ((($sAggInfo)) + 4|0); $829 = HEAP32[$828>>2]|0; $830 = HEAP32[$addrEnd>>2]|0; (_sqlite3VdbeAddOp2($827,106,$829,$830)|0); - $831 = (($sAggInfo) + 1|0); + $831 = ((($sAggInfo)) + 1|0); HEAP8[$831>>0] = 1; $832 = HEAP32[$1>>2]|0; _sqlite3ExprCacheClear($832); @@ -70710,7 +69722,7 @@ function _sqlite3Select($pParse,$p,$pDest) { do { if ($834) { $835 = HEAP32[$db>>2]|0; - $836 = (($835) + 60|0); + $836 = ((($835)) + 60|0); $837 = HEAP16[$836>>1]|0; $838 = $837&65535; $839 = $838 & 4; @@ -70730,7 +69742,7 @@ function _sqlite3Select($pParse,$p,$pDest) { } HEAP32[$sSort>>2] = 0; $846 = HEAP32[$v>>2]|0; - $847 = (($sSort) + 20|0); + $847 = ((($sSort)) + 20|0); $848 = HEAP32[$847>>2]|0; _sqlite3VdbeChangeToNoop($846,$848); } @@ -70744,7 +69756,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $853 = ($852|0)!=(0); if ($853) { $854 = HEAP32[$v>>2]|0; - $855 = (($sAggInfo) + 4|0); + $855 = ((($sAggInfo)) + 4|0); $856 = HEAP32[$855>>2]|0; $857 = HEAP32[$sortOut>>2]|0; $858 = HEAP32[$sortPTab>>2]|0; @@ -70774,7 +69786,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $871 = HEAP32[$1>>2]|0; $872 = HEAP32[$j>>2]|0; $873 = HEAP32[$pGroupBy>>2]|0; - $874 = (($873) + 4|0); + $874 = ((($873)) + 4|0); $875 = HEAP32[$874>>2]|0; $876 = (($875) + (($872*20)|0)|0); $877 = HEAP32[$876>>2]|0; @@ -70834,7 +69846,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $917 = ($916|0)!=(0); if ($917) { $918 = HEAP32[$v>>2]|0; - $919 = (($sAggInfo) + 4|0); + $919 = ((($sAggInfo)) + 4|0); $920 = HEAP32[$919>>2]|0; $921 = HEAP32[$addrTopOfLoop>>2]|0; (_sqlite3VdbeAddOp2($918,5,$920,$921)|0); @@ -70912,12 +69924,12 @@ function _sqlite3Select($pParse,$p,$pDest) { $969 = HEAP32[$1>>2]|0; $970 = HEAP32[$969>>2]|0; $971 = HEAP32[$pTab>>2]|0; - $972 = (($971) + 68|0); + $972 = ((($971)) + 68|0); $973 = HEAP32[$972>>2]|0; $974 = (_sqlite3SchemaToIndex($970,$973)|0); HEAP32[$iDb>>2] = $974; $975 = HEAP32[$1>>2]|0; - $976 = (($975) + 68|0); + $976 = ((($975)) + 68|0); $977 = HEAP32[$976>>2]|0; $978 = (($977) + 1)|0; HEAP32[$976>>2] = $978; @@ -70925,7 +69937,7 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$pKeyInfo3>>2] = 0; HEAP32[$pBest>>2] = 0; $979 = HEAP32[$pTab>>2]|0; - $980 = (($979) + 32|0); + $980 = ((($979)) + 32|0); $981 = HEAP32[$980>>2]|0; HEAP32[$iRoot>>2] = $981; $982 = HEAP32[$1>>2]|0; @@ -70934,13 +69946,13 @@ function _sqlite3Select($pParse,$p,$pDest) { $984 = HEAP32[$1>>2]|0; $985 = HEAP32[$iDb>>2]|0; $986 = HEAP32[$pTab>>2]|0; - $987 = (($986) + 32|0); + $987 = ((($986)) + 32|0); $988 = HEAP32[$987>>2]|0; $989 = HEAP32[$pTab>>2]|0; $990 = HEAP32[$989>>2]|0; _sqlite3TableLock($984,$985,$988,0,$990); $991 = HEAP32[$pTab>>2]|0; - $992 = (($991) + 44|0); + $992 = ((($991)) + 44|0); $993 = HEAP8[$992>>0]|0; $994 = $993&255; $995 = $994 & 32; @@ -70951,7 +69963,7 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$pBest>>2] = $998; } $999 = HEAP32[$pTab>>2]|0; - $1000 = (($999) + 8|0); + $1000 = ((($999)) + 8|0); $1001 = HEAP32[$1000>>2]|0; HEAP32[$pIdx>>2] = $1001; while(1) { @@ -70961,7 +69973,7 @@ function _sqlite3Select($pParse,$p,$pDest) { break; } $1004 = HEAP32[$pIdx>>2]|0; - $1005 = (($1004) + 55|0); + $1005 = ((($1004)) + 55|0); $1006 = HEAP8[$1005>>0]|0; $1007 = ($1006&255) >>> 2; $1008 = $1007 & 1; @@ -70970,11 +69982,11 @@ function _sqlite3Select($pParse,$p,$pDest) { do { if ($1010) { $1011 = HEAP32[$pIdx>>2]|0; - $1012 = (($1011) + 48|0); + $1012 = ((($1011)) + 48|0); $1013 = HEAP16[$1012>>1]|0; $1014 = $1013 << 16 >> 16; $1015 = HEAP32[$pTab>>2]|0; - $1016 = (($1015) + 42|0); + $1016 = ((($1015)) + 42|0); $1017 = HEAP16[$1016>>1]|0; $1018 = $1017 << 16 >> 16; $1019 = ($1014|0)<($1018|0); @@ -70982,7 +69994,7 @@ function _sqlite3Select($pParse,$p,$pDest) { break; } $1020 = HEAP32[$pIdx>>2]|0; - $1021 = (($1020) + 36|0); + $1021 = ((($1020)) + 36|0); $1022 = HEAP32[$1021>>2]|0; $1023 = ($1022|0)==(0|0); if (!($1023)) { @@ -70992,11 +70004,11 @@ function _sqlite3Select($pParse,$p,$pDest) { $1025 = ($1024|0)!=(0|0); if ($1025) { $1026 = HEAP32[$pIdx>>2]|0; - $1027 = (($1026) + 48|0); + $1027 = ((($1026)) + 48|0); $1028 = HEAP16[$1027>>1]|0; $1029 = $1028 << 16 >> 16; $1030 = HEAP32[$pBest>>2]|0; - $1031 = (($1030) + 48|0); + $1031 = ((($1030)) + 48|0); $1032 = HEAP16[$1031>>1]|0; $1033 = $1032 << 16 >> 16; $1034 = ($1029|0)<($1033|0); @@ -71009,7 +70021,7 @@ function _sqlite3Select($pParse,$p,$pDest) { } } while(0); $1036 = HEAP32[$pIdx>>2]|0; - $1037 = (($1036) + 20|0); + $1037 = ((($1036)) + 20|0); $1038 = HEAP32[$1037>>2]|0; HEAP32[$pIdx>>2] = $1038; } @@ -71017,7 +70029,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $1040 = ($1039|0)!=(0|0); if ($1040) { $1041 = HEAP32[$pBest>>2]|0; - $1042 = (($1041) + 44|0); + $1042 = ((($1041)) + 44|0); $1043 = HEAP32[$1042>>2]|0; HEAP32[$iRoot>>2] = $1043; $1044 = HEAP32[$1>>2]|0; @@ -71039,9 +70051,9 @@ function _sqlite3Select($pParse,$p,$pDest) { } $1055 = HEAP32[$v>>2]|0; $1056 = HEAP32[$iCsr>>2]|0; - $1057 = (($sAggInfo) + 40|0); + $1057 = ((($sAggInfo)) + 40|0); $1058 = HEAP32[$1057>>2]|0; - $1059 = (($1058) + 8|0); + $1059 = ((($1058)) + 8|0); $1060 = HEAP32[$1059>>2]|0; (_sqlite3VdbeAddOp2($1055,50,$1056,$1060)|0); $1061 = HEAP32[$v>>2]|0; @@ -71055,7 +70067,7 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$pMinMax>>2] = 0; HEAP8[$flag>>0] = 0; $1066 = HEAP32[$2>>2]|0; - $1067 = (($1066) + 44|0); + $1067 = ((($1066)) + 44|0); $1068 = HEAP32[$1067>>2]|0; $1069 = ($1068|0)==(0|0); if ($1069) { @@ -71078,7 +70090,7 @@ function _sqlite3Select($pParse,$p,$pDest) { break; } $1079 = HEAP32[$db>>2]|0; - $1080 = (($1079) + 64|0); + $1080 = ((($1079)) + 64|0); $1081 = HEAP8[$1080>>0]|0; $1082 = ($1081<<24>>24)!=(0); if ($1082) { @@ -71090,12 +70102,12 @@ function _sqlite3Select($pParse,$p,$pDest) { $1086 = $1085 ? 1 : 0; $1087 = $1086&255; $1088 = HEAP32[$pMinMax>>2]|0; - $1089 = (($1088) + 4|0); + $1089 = ((($1088)) + 4|0); $1090 = HEAP32[$1089>>2]|0; - $1091 = (($1090) + 12|0); + $1091 = ((($1090)) + 12|0); HEAP8[$1091>>0] = $1087; $1092 = HEAP32[$pMinMax>>2]|0; - $1093 = (($1092) + 4|0); + $1093 = ((($1092)) + 4|0); $1094 = HEAP32[$1093>>2]|0; $1095 = HEAP32[$1094>>2]|0; HEAP8[$1095>>0] = -102; @@ -71156,22 +70168,22 @@ function _sqlite3Select($pParse,$p,$pDest) { $1130 = HEAP32[$addrEnd>>2]|0; _sqlite3VdbeResolveLabel($1129,$1130); } - $1131 = (($sDistinct) + 1|0); + $1131 = ((($sDistinct)) + 1|0); $1132 = HEAP8[$1131>>0]|0; $1133 = $1132&255; $1134 = ($1133|0)==(3); if ($1134) { $1135 = HEAP32[$1>>2]|0; - _explainTempTable($1135,24832); + _explainTempTable($1135,27145); } $1136 = HEAP32[$sSort>>2]|0; $1137 = ($1136|0)!=(0|0); if ($1137) { $1138 = HEAP32[$1>>2]|0; - $1139 = (($sSort) + 4|0); + $1139 = ((($sSort)) + 4|0); $1140 = HEAP32[$1139>>2]|0; $1141 = ($1140|0)>(0); - $1142 = $1141 ? 24864 : 24888; + $1142 = $1141 ? 27163 : 27186; _explainTempTable($1138,$1142); $1143 = HEAP32[$1>>2]|0; $1144 = HEAP32[$2>>2]|0; @@ -71191,7 +70203,7 @@ function _sqlite3Select($pParse,$p,$pDest) { } while(0); $1150 = HEAP32[$iRestoreSelectId>>2]|0; $1151 = HEAP32[$1>>2]|0; - $1152 = (($1151) + 464|0); + $1152 = ((($1151)) + 464|0); HEAP32[$1152>>2] = $1150; $1153 = HEAP32[$rc>>2]|0; $1154 = ($1153|0)==(0); @@ -71208,11 +70220,11 @@ function _sqlite3Select($pParse,$p,$pDest) { } } $1162 = HEAP32[$db>>2]|0; - $1163 = (($sAggInfo) + 28|0); + $1163 = ((($sAggInfo)) + 28|0); $1164 = HEAP32[$1163>>2]|0; _sqlite3DbFree($1162,$1164); $1165 = HEAP32[$db>>2]|0; - $1166 = (($sAggInfo) + 40|0); + $1166 = ((($sAggInfo)) + 40|0); $1167 = HEAP32[$1166>>2]|0; _sqlite3DbFree($1165,$1167); $1168 = HEAP32[$rc>>2]|0; @@ -71242,17 +70254,17 @@ function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pS sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $7 = sp + 16|0; - $8 = sp + 12|0; - $pItem = sp + 8|0; - $db = sp + 4|0; + $0 = sp + 24|0; + $1 = sp + 8|0; + $2 = sp + 12|0; + $3 = sp + 20|0; + $4 = sp + 16|0; + $5 = sp + 4|0; + $6 = sp + 28|0; + $7 = sp + 32|0; + $8 = sp + 36|0; + $pItem = sp + 40|0; + $db = sp + 44|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $pTable; @@ -71278,9 +70290,9 @@ function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pS $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$7>>2]|0; $19 = ($18|0)!=(0|0); - $20 = $19 ? 24816 : 24824; + $20 = $19 ? 27100 : 27103; HEAP32[$vararg_buffer>>2] = $20; - _sqlite3ErrorMsg($17,24776,$vararg_buffer); + _sqlite3ErrorMsg($17,27109,$vararg_buffer); } else { label = 4; } @@ -71303,11 +70315,11 @@ function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pS $32 = HEAP32[$31>>2]|0; $33 = (($32) - 1)|0; $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); $36 = (($35) + (($33*72)|0)|0); HEAP32[$pItem>>2] = $36; $37 = HEAP32[$5>>2]|0; - $38 = (($37) + 4|0); + $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; $40 = ($39|0)!=(0); if ($40) { @@ -71315,20 +70327,20 @@ function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pS $42 = HEAP32[$5>>2]|0; $43 = (_sqlite3NameFromToken($41,$42)|0); $44 = HEAP32[$pItem>>2]|0; - $45 = (($44) + 12|0); + $45 = ((($44)) + 12|0); HEAP32[$45>>2] = $43; } $46 = HEAP32[$6>>2]|0; $47 = HEAP32[$pItem>>2]|0; - $48 = (($47) + 20|0); + $48 = ((($47)) + 20|0); HEAP32[$48>>2] = $46; $49 = HEAP32[$7>>2]|0; $50 = HEAP32[$pItem>>2]|0; - $51 = (($50) + 44|0); + $51 = ((($50)) + 44|0); HEAP32[$51>>2] = $49; $52 = HEAP32[$8>>2]|0; $53 = HEAP32[$pItem>>2]|0; - $54 = (($53) + 48|0); + $54 = ((($53)) + 48|0); HEAP32[$54>>2] = $52; $55 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $55; @@ -71367,19 +70379,19 @@ function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOr var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $db = 0, $pNew = 0, $standin = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; - $0 = sp + 112|0; - $1 = sp + 108|0; - $2 = sp + 104|0; - $3 = sp + 100|0; - $4 = sp + 96|0; - $5 = sp + 92|0; - $6 = sp + 88|0; + $0 = sp + 72|0; + $1 = sp + 80|0; + $2 = sp + 88|0; + $3 = sp + 76|0; + $4 = sp + 92|0; + $5 = sp + 84|0; + $6 = sp + 112|0; $7 = sp + 116|0; - $8 = sp + 84|0; - $9 = sp + 80|0; - $pNew = sp + 76|0; + $8 = sp + 100|0; + $9 = sp + 104|0; + $pNew = sp + 108|0; $standin = sp; - $db = sp + 72|0; + $db = sp + 96|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pEList; HEAP32[$2>>2] = $pSrc; @@ -71401,7 +70413,7 @@ function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOr if ($15) { HEAP32[$pNew>>2] = $standin; $16 = HEAP32[$pNew>>2]|0; - dest=$16+0|0; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$16; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); } $17 = HEAP32[$1>>2]|0; $18 = ($17|0)==(0|0); @@ -71424,48 +70436,48 @@ function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOr } $29 = HEAP32[$2>>2]|0; $30 = HEAP32[$pNew>>2]|0; - $31 = (($30) + 32|0); + $31 = ((($30)) + 32|0); HEAP32[$31>>2] = $29; $32 = HEAP32[$3>>2]|0; $33 = HEAP32[$pNew>>2]|0; - $34 = (($33) + 36|0); + $34 = ((($33)) + 36|0); HEAP32[$34>>2] = $32; $35 = HEAP32[$4>>2]|0; $36 = HEAP32[$pNew>>2]|0; - $37 = (($36) + 40|0); + $37 = ((($36)) + 40|0); HEAP32[$37>>2] = $35; $38 = HEAP32[$5>>2]|0; $39 = HEAP32[$pNew>>2]|0; - $40 = (($39) + 44|0); + $40 = ((($39)) + 44|0); HEAP32[$40>>2] = $38; $41 = HEAP32[$6>>2]|0; $42 = HEAP32[$pNew>>2]|0; - $43 = (($42) + 48|0); + $43 = ((($42)) + 48|0); HEAP32[$43>>2] = $41; $44 = HEAP16[$7>>1]|0; $45 = HEAP32[$pNew>>2]|0; - $46 = (($45) + 6|0); + $46 = ((($45)) + 6|0); HEAP16[$46>>1] = $44; $47 = HEAP32[$pNew>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); HEAP8[$48>>0] = 119; $49 = HEAP32[$8>>2]|0; $50 = HEAP32[$pNew>>2]|0; - $51 = (($50) + 60|0); + $51 = ((($50)) + 60|0); HEAP32[$51>>2] = $49; $52 = HEAP32[$9>>2]|0; $53 = HEAP32[$pNew>>2]|0; - $54 = (($53) + 64|0); + $54 = ((($53)) + 64|0); HEAP32[$54>>2] = $52; $55 = HEAP32[$pNew>>2]|0; - $56 = (($55) + 16|0); + $56 = ((($55)) + 16|0); HEAP32[$56>>2] = -1; $57 = HEAP32[$pNew>>2]|0; - $58 = (($57) + 16|0); - $59 = (($58) + 4|0); + $58 = ((($57)) + 16|0); + $59 = ((($58)) + 4|0); HEAP32[$59>>2] = -1; $60 = HEAP32[$db>>2]|0; - $61 = (($60) + 64|0); + $61 = ((($60)) + 64|0); $62 = HEAP8[$61>>0]|0; $63 = ($62<<24>>24)!=(0); if (!($63)) { @@ -71496,13 +70508,13 @@ function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $db = sp + 8|0; - $a = sp + 4|0; - $pItem = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $db = sp + 4|0; + $a = sp; + $pItem = sp + 12|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pList; HEAP32[$3>>2] = $pExpr; @@ -71523,10 +70535,10 @@ function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { $12 = HEAP32[$db>>2]|0; $13 = (_sqlite3DbMallocRaw($12,20,0)|0); $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); HEAP32[$15>>2] = $13; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)==(0|0); if ($19) { @@ -71546,7 +70558,7 @@ function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { if ($26) { $27 = HEAP32[$db>>2]|0; $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$2>>2]|0; $32 = HEAP32[$31>>2]|0; @@ -71561,7 +70573,7 @@ function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { } else { $38 = HEAP32[$a>>2]|0; $39 = HEAP32[$2>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); HEAP32[$40>>2] = $38; label = 7; } @@ -71575,12 +70587,12 @@ function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { $43 = (($42) + 1)|0; HEAP32[$41>>2] = $43; $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = (($46) + (($42*20)|0)|0); HEAP32[$pItem>>2] = $47; $48 = HEAP32[$pItem>>2]|0; - ;HEAP32[$48+0>>2]=0|0;HEAP32[$48+4>>2]=0|0;HEAP32[$48+8>>2]=0|0;HEAP32[$48+12>>2]=0|0;HEAP32[$48+16>>2]=0|0; + ;HEAP32[$48>>2]=0|0;HEAP32[$48+4>>2]=0|0;HEAP32[$48+8>>2]=0|0;HEAP32[$48+12>>2]=0|0;HEAP32[$48+16>>2]=0|0; $49 = HEAP32[$3>>2]|0; $50 = HEAP32[$pItem>>2]|0; HEAP32[$50>>2] = $49; @@ -71600,7 +70612,7 @@ function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { $56 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($56|0); } - return 0|0; + return (0)|0; } function _sqlite3ExprListSetName($pParse,$pList,$pName,$dequote) { $pParse = $pParse|0; @@ -71629,7 +70641,7 @@ function _sqlite3ExprListSetName($pParse,$pList,$pName,$dequote) { $7 = HEAP32[$6>>2]|0; $8 = (($7) - 1)|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + (($8*20)|0)|0); HEAP32[$pItem>>2] = $12; @@ -71638,11 +70650,11 @@ function _sqlite3ExprListSetName($pParse,$pList,$pName,$dequote) { $15 = HEAP32[$2>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = (_sqlite3DbStrNDup($14,$16,$19,0)|0); $21 = HEAP32[$pItem>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); HEAP32[$22>>2] = $20; $23 = HEAP32[$3>>2]|0; $24 = ($23|0)!=(0); @@ -71650,14 +70662,14 @@ function _sqlite3ExprListSetName($pParse,$pList,$pName,$dequote) { STACKTOP = sp;return; } $25 = HEAP32[$pItem>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0|0); if (!($28)) { STACKTOP = sp;return; } $29 = HEAP32[$pItem>>2]|0; - $30 = (($29) + 4|0); + $30 = ((($29)) + 4|0); $31 = HEAP32[$30>>2]|0; (_sqlite3Dequote($31)|0); STACKTOP = sp;return; @@ -71690,24 +70702,24 @@ function _sqlite3ExprListSetSpan($pParse,$pList,$pSpan) { $8 = HEAP32[$7>>2]|0; $9 = (($8) - 1)|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + (($9*20)|0)|0); HEAP32[$pItem>>2] = $13; $14 = HEAP32[$db>>2]|0; $15 = HEAP32[$pItem>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; _sqlite3DbFree($14,$17); $18 = HEAP32[$db>>2]|0; $19 = HEAP32[$2>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 8|0); + $23 = ((($22)) + 8|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = $24; $29 = $27; @@ -71716,7 +70728,7 @@ function _sqlite3ExprListSetSpan($pParse,$pList,$pSpan) { $32 = $31 << 31 >> 31; $33 = (_sqlite3DbStrNDup($18,$21,$30,$32)|0); $34 = HEAP32[$pItem>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); HEAP32[$35>>2] = $33; STACKTOP = sp;return; } @@ -71745,7 +70757,7 @@ function _sqlite3Expr($db,$op,$zToken) { } else { $9 = 0; } - $8 = (($x) + 4|0); + $8 = ((($x)) + 4|0); HEAP32[$8>>2] = $9; $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$1>>2]|0; @@ -71779,23 +70791,23 @@ function _sqlite3SrcListShiftJoinType($p) { $8 = HEAP32[$i>>2]|0; $9 = (($8) - 1)|0; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = (($11) + (($9*72)|0)|0); - $13 = (($12) + 36|0); + $13 = ((($12)) + 36|0); $14 = HEAP8[$13>>0]|0; $15 = HEAP32[$i>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); $18 = (($17) + (($15*72)|0)|0); - $19 = (($18) + 36|0); + $19 = ((($18)) + 36|0); HEAP8[$19>>0] = $14; $20 = HEAP32[$i>>2]|0; $21 = (($20) + -1)|0; HEAP32[$i>>2] = $21; } $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 8|0); - $24 = (($23) + 36|0); + $23 = ((($22)) + 8|0); + $24 = ((($23)) + 36|0); HEAP8[$24>>0] = 0; STACKTOP = sp;return; } @@ -71829,11 +70841,11 @@ function _sqlite3SrcListIndexedBy($pParse,$p,$pIndexedBy) { $9 = HEAP32[$8>>2]|0; $10 = (($9) - 1)|0; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = (($12) + (($10*72)|0)|0); HEAP32[$pItem>>2] = $13; $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==(1); if ($17) { @@ -71842,7 +70854,7 @@ function _sqlite3SrcListIndexedBy($pParse,$p,$pIndexedBy) { $20 = ($19|0)!=(0|0); if (!($20)) { $21 = HEAP32[$pItem>>2]|0; - $22 = (($21) + 37|0); + $22 = ((($21)) + 37|0); $23 = HEAP8[$22>>0]|0; $24 = $23 & -2; $25 = $24 | 1; @@ -71855,7 +70867,7 @@ function _sqlite3SrcListIndexedBy($pParse,$p,$pIndexedBy) { $28 = HEAP32[$2>>2]|0; $29 = (_sqlite3NameFromToken($27,$28)|0); $30 = HEAP32[$pItem>>2]|0; - $31 = (($30) + 64|0); + $31 = ((($30)) + 64|0); HEAP32[$31>>2] = $29; STACKTOP = sp;return; } @@ -71869,13 +70881,13 @@ function _sqlite3SrcListAppend($db,$pList,$pTable,$pDatabase) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pItem = 0, $pTemp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $pItem = sp + 4|0; - $pTemp = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $pItem = sp; + $pTemp = sp + 12|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pList; HEAP32[$3>>2] = $pTable; @@ -71891,7 +70903,7 @@ function _sqlite3SrcListAppend($db,$pList,$pTable,$pDatabase) { $10 = ($9|0)==(0|0); if (!($10)) { $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); HEAP32[$12>>2] = 1; break; } @@ -71907,7 +70919,7 @@ function _sqlite3SrcListAppend($db,$pList,$pTable,$pDatabase) { $17 = (_sqlite3SrcListEnlarge($13,$14,1,$16)|0); HEAP32[$2>>2] = $17; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 64|0); + $19 = ((($18)) + 64|0); $20 = HEAP8[$19>>0]|0; $21 = ($20<<24>>24)!=(0); if ($21) { @@ -71922,7 +70934,7 @@ function _sqlite3SrcListAppend($db,$pList,$pTable,$pDatabase) { $25 = HEAP32[$24>>2]|0; $26 = (($25) - 1)|0; $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 8|0); + $28 = ((($27)) + 8|0); $29 = (($28) + (($26*72)|0)|0); HEAP32[$pItem>>2] = $29; $30 = HEAP32[$4>>2]|0; @@ -71949,13 +70961,13 @@ function _sqlite3SrcListAppend($db,$pList,$pTable,$pDatabase) { $41 = HEAP32[$3>>2]|0; $42 = (_sqlite3NameFromToken($40,$41)|0); $43 = HEAP32[$pItem>>2]|0; - $44 = (($43) + 8|0); + $44 = ((($43)) + 8|0); HEAP32[$44>>2] = $42; $45 = HEAP32[$1>>2]|0; $46 = HEAP32[$4>>2]|0; $47 = (_sqlite3NameFromToken($45,$46)|0); $48 = HEAP32[$pItem>>2]|0; - $49 = (($48) + 4|0); + $49 = ((($48)) + 4|0); HEAP32[$49>>2] = $47; $50 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $50; @@ -71971,20 +70983,21 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $apAll = 0; - var $i = 0, $j = 0, $jointype = 0, $p = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zSp = 0, label = 0, sp = 0; + var $i = 0, $j = 0, $jointype = 0, $p = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zSp = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer4 = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $jointype = sp + 44|0; - $apAll = sp + 32|0; - $p = sp + 28|0; - $i = sp + 24|0; - $j = sp + 20|0; - $zSp = sp + 16|0; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $0 = sp + 20|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $3 = sp + 24|0; + $jointype = sp + 28|0; + $apAll = sp + 40|0; + $p = sp + 52|0; + $i = sp + 56|0; + $j = sp + 60|0; + $zSp = sp + 64|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pA; HEAP32[$2>>2] = $pB; @@ -71993,10 +71006,10 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { $4 = HEAP32[$1>>2]|0; HEAP32[$apAll>>2] = $4; $5 = HEAP32[$2>>2]|0; - $6 = (($apAll) + 4|0); + $6 = ((($apAll)) + 4|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$3>>2]|0; - $8 = (($apAll) + 8|0); + $8 = ((($apAll)) + 8|0); HEAP32[$8>>2] = $7; HEAP32[$i>>2] = 0; while(1) { @@ -72024,11 +71037,11 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { break; } $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 4|0); + $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$j>>2]|0; - $24 = (24648 + (($23*3)|0)|0); - $25 = (($24) + 1|0); + $24 = (26944 + (($23*3)|0)|0); + $25 = ((($24)) + 1|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; $28 = ($22|0)==($27|0); @@ -72036,12 +71049,12 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { $29 = HEAP32[$p>>2]|0; $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$j>>2]|0; - $32 = (24648 + (($31*3)|0)|0); + $32 = (26944 + (($31*3)|0)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; - $35 = (24608 + ($34)|0); + $35 = (26965 + ($34)|0); $36 = HEAP32[$p>>2]|0; - $37 = (($36) + 4|0); + $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; $39 = (_sqlite3_strnicmp($30,$35,$38)|0); $40 = ($39|0)==(0); @@ -72057,8 +71070,8 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { if ((label|0) == 8) { label = 0; $41 = HEAP32[$j>>2]|0; - $42 = (24648 + (($41*3)|0)|0); - $43 = (($42) + 2|0); + $42 = (26944 + (($41*3)|0)|0); + $43 = ((($42)) + 2|0); $44 = HEAP8[$43>>0]|0; $45 = $44&255; $46 = HEAP32[$jointype>>2]|0; @@ -72103,18 +71116,18 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { STACKTOP = sp;return ($78|0); } $77 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($77,24720,$vararg_buffer4); + _sqlite3ErrorMsg($77,27045,$vararg_buffer4); HEAP32[$jointype>>2] = 1; $78 = HEAP32[$jointype>>2]|0; STACKTOP = sp;return ($78|0); } } - HEAP32[$zSp>>2] = 9912; + HEAP32[$zSp>>2] = 26999; $62 = HEAP32[$3>>2]|0; $63 = ($62|0)==(0|0); if ($63) { $64 = HEAP32[$zSp>>2]|0; - $65 = (($64) + 1|0); + $65 = ((($64)) + 1|0); HEAP32[$zSp>>2] = $65; } $66 = HEAP32[$0>>2]|0; @@ -72122,14 +71135,14 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { $68 = HEAP32[$2>>2]|0; $69 = HEAP32[$zSp>>2]|0; $70 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $67; - $vararg_ptr1 = (($vararg_buffer4) + 4|0); + HEAP32[$vararg_buffer>>2] = $67; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $68; - $vararg_ptr2 = (($vararg_buffer4) + 8|0); + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $69; - $vararg_ptr3 = (($vararg_buffer4) + 12|0); + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $70; - _sqlite3ErrorMsg($66,24672,$vararg_buffer4); + _sqlite3ErrorMsg($66,27001,$vararg_buffer); HEAP32[$jointype>>2] = 1; $78 = HEAP32[$jointype>>2]|0; STACKTOP = sp;return ($78|0); @@ -72153,18 +71166,18 @@ function _sqlite3WithPush($pParse,$pWith,$bFree) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 532|0); + $6 = ((($5)) + 532|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); HEAP32[$9>>2] = $7; $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 532|0); + $12 = ((($11)) + 532|0); HEAP32[$12>>2] = $10; $13 = HEAP8[$2>>0]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 449|0); + $15 = ((($14)) + 449|0); HEAP8[$15>>0] = $13; STACKTOP = sp;return; } @@ -72200,43 +71213,43 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { var $pPk = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $pWInfo = 0, $rcauth = 0, $sContext = 0, $sNC = 0, $v = 0, $zDb = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; - $0 = sp + 172|0; - $1 = sp + 168|0; - $2 = sp + 164|0; - $v = sp + 160|0; - $pTab = sp + 156|0; - $zDb = sp + 152|0; - $i = sp + 148|0; - $pWInfo = sp + 144|0; - $pIdx = sp + 140|0; - $iTabCur = sp + 136|0; - $iDataCur = sp + 132|0; - $iIdxCur = sp + 128|0; - $nIdx = sp + 124|0; - $db = sp + 120|0; - $sContext = sp + 112|0; - $sNC = sp + 80|0; - $iDb = sp + 76|0; - $memCnt = sp + 72|0; - $rcauth = sp + 68|0; - $okOnePass = sp + 64|0; - $aiCurOnePass = sp + 56|0; - $aToOpen = sp + 52|0; - $pPk = sp + 48|0; - $iPk = sp + 44|0; - $nPk = sp + 178|0; - $iKey = sp + 40|0; - $nKey = sp + 176|0; - $iEphCur = sp + 36|0; - $iRowSet = sp + 32|0; - $addrBypass = sp + 28|0; - $addrLoop = sp + 24|0; - $addrDelete = sp + 20|0; - $addrEphOpen = sp + 16|0; - $isView = sp + 12|0; - $pTrigger = sp + 8|0; + $0 = sp + 68|0; + $1 = sp + 56|0; + $2 = sp + 8|0; + $v = sp + 116|0; + $pTab = sp + 168|0; + $zDb = sp + 16|0; + $i = sp + 20|0; + $pWInfo = sp + 24|0; + $pIdx = sp + 28|0; + $iTabCur = sp + 32|0; + $iDataCur = sp + 36|0; + $iIdxCur = sp + 40|0; + $nIdx = sp + 44|0; + $db = sp + 112|0; + $sContext = sp + 120|0; + $sNC = sp + 136|0; + $iDb = sp + 172|0; + $memCnt = sp + 176|0; + $rcauth = sp + 180|0; + $okOnePass = sp + 72|0; + $aiCurOnePass = sp + 80|0; + $aToOpen = sp + 88|0; + $pPk = sp + 92|0; + $iPk = sp + 96|0; + $nPk = sp + 184|0; + $iKey = sp + 12|0; + $nKey = sp + 186|0; + $iEphCur = sp; + $iRowSet = sp + 104|0; + $addrBypass = sp + 48|0; + $addrLoop = sp + 108|0; + $addrDelete = sp + 52|0; + $addrEphOpen = sp + 128|0; + $isView = sp + 60|0; + $pTrigger = sp + 64|0; $pVTab = sp + 4|0; - $count = sp; + $count = sp + 100|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTabList; HEAP32[$2>>2] = $pWhere; @@ -72250,18 +71263,18 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { HEAP32[$addrLoop>>2] = 0; HEAP32[$addrDelete>>2] = 0; HEAP32[$addrEphOpen>>2] = 0; - ;HEAP32[$sContext+0>>2]=0|0;HEAP32[$sContext+4>>2]=0|0; + ;HEAP32[$sContext>>2]=0|0;HEAP32[$sContext+4>>2]=0|0; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 64|0); + $6 = ((($5)) + 64|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0); L1: do { if (!($8)) { $9 = HEAP32[$db>>2]|0; - $10 = (($9) + 64|0); + $10 = ((($9)) + 64|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($12|0)!=(0); @@ -72278,7 +71291,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $21 = (_sqlite3TriggersExist($19,$20,109,0,0)|0); HEAP32[$pTrigger>>2] = $21; $22 = HEAP32[$pTab>>2]|0; - $23 = (($22) + 12|0); + $23 = ((($22)) + 12|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(0|0); $26 = $25&1; @@ -72298,13 +71311,13 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { if (!($37)) { $38 = HEAP32[$db>>2]|0; $39 = HEAP32[$pTab>>2]|0; - $40 = (($39) + 68|0); + $40 = ((($39)) + 68|0); $41 = HEAP32[$40>>2]|0; $42 = (_sqlite3SchemaToIndex($38,$41)|0); HEAP32[$iDb>>2] = $42; $43 = HEAP32[$iDb>>2]|0; $44 = HEAP32[$db>>2]|0; - $45 = (($44) + 16|0); + $45 = ((($44)) + 16|0); $46 = HEAP32[$45>>2]|0; $47 = (($46) + ($43<<4)|0); $48 = HEAP32[$47>>2]|0; @@ -72319,18 +71332,18 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $55 = ($54|0)==(1); if (!($55)) { $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 68|0); + $57 = ((($56)) + 68|0); $58 = HEAP32[$57>>2]|0; $59 = (($58) + 1)|0; HEAP32[$57>>2] = $59; $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 8|0); - $62 = (($61) + 40|0); + $61 = ((($60)) + 8|0); + $62 = ((($61)) + 40|0); HEAP32[$62>>2] = $58; HEAP32[$iTabCur>>2] = $58; HEAP32[$nIdx>>2] = 0; $63 = HEAP32[$pTab>>2]|0; - $64 = (($63) + 8|0); + $64 = ((($63)) + 8|0); $65 = HEAP32[$64>>2]|0; HEAP32[$pIdx>>2] = $65; while(1) { @@ -72340,12 +71353,12 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { break; } $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 68|0); + $69 = ((($68)) + 68|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + 1)|0; HEAP32[$69>>2] = $71; $72 = HEAP32[$pIdx>>2]|0; - $73 = (($72) + 20|0); + $73 = ((($72)) + 20|0); $74 = HEAP32[$73>>2]|0; HEAP32[$pIdx>>2] = $74; $75 = HEAP32[$nIdx>>2]|0; @@ -72367,7 +71380,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $85 = ($84|0)==(0|0); if (!($85)) { $86 = HEAP32[$0>>2]|0; - $87 = (($86) + 18|0); + $87 = ((($86)) + 18|0); $88 = HEAP8[$87>>0]|0; $89 = $88&255; $90 = ($89|0)==(0); @@ -72390,24 +71403,24 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { HEAP32[$iIdxCur>>2] = $100; HEAP32[$iDataCur>>2] = $100; } - ;HEAP32[$sNC+0>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $101 = HEAP32[$0>>2]|0; HEAP32[$sNC>>2] = $101; $102 = HEAP32[$1>>2]|0; - $103 = (($sNC) + 4|0); + $103 = ((($sNC)) + 4|0); HEAP32[$103>>2] = $102; $104 = HEAP32[$2>>2]|0; $105 = (_sqlite3ResolveExprNames($sNC,$104)|0); $106 = ($105|0)!=(0); if (!($106)) { $107 = HEAP32[$db>>2]|0; - $108 = (($107) + 24|0); + $108 = ((($107)) + 24|0); $109 = HEAP32[$108>>2]|0; $110 = $109 & 128; $111 = ($110|0)!=(0); if ($111) { $112 = HEAP32[$0>>2]|0; - $113 = (($112) + 72|0); + $113 = ((($112)) + 72|0); $114 = HEAP32[$113>>2]|0; $115 = (($114) + 1)|0; HEAP32[$113>>2] = $115; @@ -72430,7 +71443,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { label = 28; } else { $124 = HEAP32[$pTab>>2]|0; - $125 = (($124) + 44|0); + $125 = ((($124)) + 44|0); $126 = HEAP8[$125>>0]|0; $127 = $126&255; $128 = $127 & 16; @@ -72446,13 +71459,13 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $134 = HEAP32[$0>>2]|0; $135 = HEAP32[$iDb>>2]|0; $136 = HEAP32[$pTab>>2]|0; - $137 = (($136) + 32|0); + $137 = ((($136)) + 32|0); $138 = HEAP32[$137>>2]|0; $139 = HEAP32[$pTab>>2]|0; $140 = HEAP32[$139>>2]|0; _sqlite3TableLock($134,$135,$138,1,$140); $141 = HEAP32[$pTab>>2]|0; - $142 = (($141) + 44|0); + $142 = ((($141)) + 44|0); $143 = HEAP8[$142>>0]|0; $144 = $143&255; $145 = $144 & 32; @@ -72460,7 +71473,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { if ($146) { $147 = HEAP32[$v>>2]|0; $148 = HEAP32[$pTab>>2]|0; - $149 = (($148) + 32|0); + $149 = ((($148)) + 32|0); $150 = HEAP32[$149>>2]|0; $151 = HEAP32[$iDb>>2]|0; $152 = HEAP32[$memCnt>>2]|0; @@ -72469,7 +71482,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { (_sqlite3VdbeAddOp4($147,118,$150,$151,$152,$154,-2)|0); } $155 = HEAP32[$pTab>>2]|0; - $156 = (($155) + 8|0); + $156 = ((($155)) + 8|0); $157 = HEAP32[$156>>2]|0; HEAP32[$pIdx>>2] = $157; while(1) { @@ -72480,12 +71493,12 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { } $160 = HEAP32[$v>>2]|0; $161 = HEAP32[$pIdx>>2]|0; - $162 = (($161) + 44|0); + $162 = ((($161)) + 44|0); $163 = HEAP32[$162>>2]|0; $164 = HEAP32[$iDb>>2]|0; (_sqlite3VdbeAddOp2($160,118,$163,$164)|0); $165 = HEAP32[$pIdx>>2]|0; - $166 = (($165) + 20|0); + $166 = ((($165)) + 20|0); $167 = HEAP32[$166>>2]|0; HEAP32[$pIdx>>2] = $167; } @@ -72498,7 +71511,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { L36: do { if ((label|0) == 28) { $168 = HEAP32[$pTab>>2]|0; - $169 = (($168) + 44|0); + $169 = ((($168)) + 44|0); $170 = HEAP8[$169>>0]|0; $171 = $170&255; $172 = $171 & 32; @@ -72507,7 +71520,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { HEAP32[$pPk>>2] = 0; HEAP16[$nPk>>1] = 1; $174 = HEAP32[$0>>2]|0; - $175 = (($174) + 72|0); + $175 = ((($174)) + 72|0); $176 = HEAP32[$175>>2]|0; $177 = (($176) + 1)|0; HEAP32[$175>>2] = $177; @@ -72520,23 +71533,23 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $181 = (_sqlite3PrimaryKeyIndex($180)|0); HEAP32[$pPk>>2] = $181; $182 = HEAP32[$pPk>>2]|0; - $183 = (($182) + 50|0); + $183 = ((($182)) + 50|0); $184 = HEAP16[$183>>1]|0; HEAP16[$nPk>>1] = $184; $185 = HEAP32[$0>>2]|0; - $186 = (($185) + 72|0); + $186 = ((($185)) + 72|0); $187 = HEAP32[$186>>2]|0; $188 = (($187) + 1)|0; HEAP32[$iPk>>2] = $188; $189 = HEAP16[$nPk>>1]|0; $190 = $189 << 16 >> 16; $191 = HEAP32[$0>>2]|0; - $192 = (($191) + 72|0); + $192 = ((($191)) + 72|0); $193 = HEAP32[$192>>2]|0; $194 = (($193) + ($190))|0; HEAP32[$192>>2] = $194; $195 = HEAP32[$0>>2]|0; - $196 = (($195) + 68|0); + $196 = ((($195)) + 68|0); $197 = HEAP32[$196>>2]|0; $198 = (($197) + 1)|0; HEAP32[$196>>2] = $198; @@ -72567,7 +71580,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $215 = (_sqlite3WhereOkOnePass($214,$aiCurOnePass)|0); HEAP32[$okOnePass>>2] = $215; $216 = HEAP32[$db>>2]|0; - $217 = (($216) + 24|0); + $217 = ((($216)) + 24|0); $218 = HEAP32[$217>>2]|0; $219 = $218 & 128; $220 = ($219|0)!=(0); @@ -72594,7 +71607,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $231 = HEAP32[$iTabCur>>2]|0; $232 = HEAP32[$i>>2]|0; $233 = HEAP32[$pPk>>2]|0; - $234 = (($233) + 4|0); + $234 = ((($233)) + 4|0); $235 = HEAP32[$234>>2]|0; $236 = (($235) + ($232<<1)|0); $237 = HEAP16[$236>>1]|0; @@ -72611,7 +71624,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { HEAP32[$iKey>>2] = $244; } else { $245 = HEAP32[$0>>2]|0; - $246 = (($245) + 72|0); + $246 = ((($245)) + 72|0); $247 = HEAP32[$246>>2]|0; $248 = (($247) + 1)|0; HEAP32[$iKey>>2] = $248; @@ -72623,7 +71636,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { HEAP32[$iKey>>2] = $253; $254 = HEAP32[$iKey>>2]|0; $255 = HEAP32[$0>>2]|0; - $256 = (($255) + 72|0); + $256 = ((($255)) + 72|0); $257 = HEAP32[$256>>2]|0; $258 = ($254|0)>($257|0); if (!($258)) { @@ -72631,7 +71644,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { } $259 = HEAP32[$iKey>>2]|0; $260 = HEAP32[$0>>2]|0; - $261 = (($260) + 72|0); + $261 = ((($260)) + 72|0); HEAP32[$261>>2] = $259; } } while(0); @@ -72674,11 +71687,11 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $287 = (($286) + ($285)|0); HEAP8[$287>>0] = 0; } - $288 = (($aiCurOnePass) + 4|0); + $288 = ((($aiCurOnePass)) + 4|0); $289 = HEAP32[$288>>2]|0; $290 = ($289|0)>=(0); if ($290) { - $291 = (($aiCurOnePass) + 4|0); + $291 = ((($aiCurOnePass)) + 4|0); $292 = HEAP32[$291>>2]|0; $293 = HEAP32[$iTabCur>>2]|0; $294 = (($292) - ($293))|0; @@ -72701,7 +71714,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $304 = ($303|0)!=(0|0); if ($304) { $305 = HEAP32[$0>>2]|0; - $306 = (($305) + 72|0); + $306 = ((($305)) + 72|0); $307 = HEAP32[$306>>2]|0; $308 = (($307) + 1)|0; HEAP32[$306>>2] = $308; @@ -72801,7 +71814,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { } } while(0); $366 = HEAP32[$pTab>>2]|0; - $367 = (($366) + 44|0); + $367 = ((($366)) + 44|0); $368 = HEAP8[$367>>0]|0; $369 = $368&255; $370 = $369 & 16; @@ -72824,7 +71837,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { _sqlite3MayAbort($381); } else { $382 = HEAP32[$0>>2]|0; - $383 = (($382) + 18|0); + $383 = ((($382)) + 18|0); $384 = HEAP8[$383>>0]|0; $385 = $384&255; $386 = ($385|0)==(0); @@ -72879,7 +71892,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { break; } $416 = HEAP32[$pTab>>2]|0; - $417 = (($416) + 44|0); + $417 = ((($416)) + 44|0); $418 = HEAP8[$417>>0]|0; $419 = $418&255; $420 = $419 & 16; @@ -72896,7 +71909,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { } HEAP32[$i>>2] = 0; $426 = HEAP32[$pTab>>2]|0; - $427 = (($426) + 8|0); + $427 = ((($426)) + 8|0); $428 = HEAP32[$427>>2]|0; HEAP32[$pIdx>>2] = $428; while(1) { @@ -72914,20 +71927,20 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $436 = (($435) + 1)|0; HEAP32[$i>>2] = $436; $437 = HEAP32[$pIdx>>2]|0; - $438 = (($437) + 20|0); + $438 = ((($437)) + 20|0); $439 = HEAP32[$438>>2]|0; HEAP32[$pIdx>>2] = $439; } } } while(0); $440 = HEAP32[$0>>2]|0; - $441 = (($440) + 18|0); + $441 = ((($440)) + 18|0); $442 = HEAP8[$441>>0]|0; $443 = $442&255; $444 = ($443|0)==(0); if ($444) { $445 = HEAP32[$0>>2]|0; - $446 = (($445) + 412|0); + $446 = ((($445)) + 412|0); $447 = HEAP32[$446>>2]|0; $448 = ($447|0)==(0|0); if ($448) { @@ -72936,18 +71949,18 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { } } $450 = HEAP32[$db>>2]|0; - $451 = (($450) + 24|0); + $451 = ((($450)) + 24|0); $452 = HEAP32[$451>>2]|0; $453 = $452 & 128; $454 = ($453|0)!=(0); if ($454) { $455 = HEAP32[$0>>2]|0; - $456 = (($455) + 18|0); + $456 = ((($455)) + 18|0); $457 = HEAP8[$456>>0]|0; $458 = ($457<<24>>24)!=(0); if (!($458)) { $459 = HEAP32[$0>>2]|0; - $460 = (($459) + 412|0); + $460 = ((($459)) + 412|0); $461 = HEAP32[$460>>2]|0; $462 = ($461|0)!=(0|0); if (!($462)) { @@ -72957,7 +71970,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $465 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($465,1); $466 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($466,0,0,24592,0)|0); + (_sqlite3VdbeSetColName($466,0,0,26931,0)|0); } } } @@ -72999,8 +72012,8 @@ function _sqlite3ExprListCheckLength($pParse,$pEList,$zObject) { HEAP32[$2>>2] = $zObject; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 88|0); - $6 = (($5) + 8|0); + $5 = ((($4)) + 88|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$mx>>2] = $7; $8 = HEAP32[$1>>2]|0; @@ -73018,7 +72031,7 @@ function _sqlite3ExprListCheckLength($pParse,$pEList,$zObject) { $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $15; - _sqlite3ErrorMsg($14,24568,$vararg_buffer); + _sqlite3ErrorMsg($14,26908,$vararg_buffer); STACKTOP = sp;return; } function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { @@ -73083,60 +72096,60 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { sp = STACKTOP; STACKTOP = STACKTOP + 256|0; $vararg_buffer = sp; - $0 = sp + 244|0; - $1 = sp + 240|0; - $2 = sp + 236|0; - $3 = sp + 232|0; - $4 = sp + 228|0; - $i = sp + 224|0; - $j = sp + 220|0; - $pTab = sp + 216|0; - $addrTop = sp + 212|0; - $pWInfo = sp + 208|0; - $v = sp + 204|0; - $pIdx = sp + 200|0; - $pPk = sp + 196|0; - $nIdx = sp + 192|0; - $iBaseCur = sp + 188|0; - $iDataCur = sp + 184|0; - $iIdxCur = sp + 180|0; - $db = sp + 176|0; - $aRegIdx = sp + 172|0; - $aXRef = sp + 168|0; - $aToOpen = sp + 164|0; - $chngPk = sp + 252|0; + $0 = sp + 76|0; + $1 = sp + 68|0; + $2 = sp + 180|0; + $3 = sp + 204|0; + $4 = sp + 196|0; + $i = sp + 12|0; + $j = sp + 164|0; + $pTab = sp + 44|0; + $addrTop = sp + 20|0; + $pWInfo = sp + 24|0; + $v = sp + 28|0; + $pIdx = sp + 32|0; + $pPk = sp + 36|0; + $nIdx = sp + 40|0; + $iBaseCur = sp + 160|0; + $iDataCur = sp + 96|0; + $iIdxCur = sp + 48|0; + $db = sp + 52|0; + $aRegIdx = sp + 56|0; + $aXRef = sp + 60|0; + $aToOpen = sp + 184|0; + $chngPk = sp + 250|0; $chngRowid = sp + 251|0; - $chngKey = sp + 250|0; - $pRowidExpr = sp + 160|0; - $sContext = sp + 152|0; - $sNC = sp + 120|0; - $iDb = sp + 112|0; - $okOnePass = sp + 108|0; - $hasFK = sp + 104|0; - $labelBreak = sp + 100|0; - $labelContinue = sp + 96|0; - $isView = sp + 92|0; - $pTrigger = sp + 88|0; - $tmask = sp + 84|0; - $newmask = sp + 80|0; - $iEph = sp + 76|0; - $nKey = sp + 72|0; - $aiCurOnePass = sp + 64|0; - $regRowCount = sp + 56|0; - $regOldRowid = sp + 52|0; - $regNewRowid = sp + 48|0; - $regNew = sp + 44|0; - $regOld = sp + 40|0; - $regRowSet = sp + 36|0; - $regKey = sp + 32|0; - $rc = sp + 28|0; - $reg = sp + 24|0; - $iPk = sp + 20|0; + $chngKey = sp + 252|0; + $pRowidExpr = sp + 212|0; + $sContext = sp + 88|0; + $sNC = sp + 216|0; + $iDb = sp + 100|0; + $okOnePass = sp + 104|0; + $hasFK = sp + 108|0; + $labelBreak = sp + 156|0; + $labelContinue = sp + 112|0; + $isView = sp + 116|0; + $pTrigger = sp + 120|0; + $tmask = sp + 124|0; + $newmask = sp + 128|0; + $iEph = sp + 132|0; + $nKey = sp + 136|0; + $aiCurOnePass = sp + 144|0; + $regRowCount = sp + 152|0; + $regOldRowid = sp + 8|0; + $regNewRowid = sp + 168|0; + $regNew = sp + 172|0; + $regOld = sp + 4|0; + $regRowSet = sp + 16|0; + $regKey = sp + 176|0; + $rc = sp + 64|0; + $reg = sp + 188|0; + $iPk = sp + 72|0; $nPk = sp + 248|0; - $addrOpen = sp + 16|0; - $oldmask = sp + 12|0; - $j1 = sp + 8|0; - $bReplace = sp + 4|0; + $addrOpen = sp + 80|0; + $oldmask = sp + 208|0; + $j1 = sp + 200|0; + $bReplace = sp + 192|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTabList; HEAP32[$2>>2] = $pChanges; @@ -73152,12 +72165,12 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { HEAP32[$regOld>>2] = 0; HEAP32[$regRowSet>>2] = 0; HEAP32[$regKey>>2] = 0; - ;HEAP32[$sContext+0>>2]=0|0;HEAP32[$sContext+4>>2]=0|0; + ;HEAP32[$sContext>>2]=0|0;HEAP32[$sContext+4>>2]=0|0; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 64|0); + $8 = ((($7)) + 64|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0); if ($10) { @@ -73177,7 +72190,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 64|0); + $12 = ((($11)) + 64|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = ($14|0)!=(0); @@ -73222,7 +72235,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$pTab>>2]|0; - $24 = (($23) + 68|0); + $24 = ((($23)) + 68|0); $25 = HEAP32[$24>>2]|0; $26 = (_sqlite3SchemaToIndex($22,$25)|0); HEAP32[$iDb>>2] = $26; @@ -73232,7 +72245,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $30 = (_sqlite3TriggersExist($27,$28,110,$29,$tmask)|0); HEAP32[$pTrigger>>2] = $30; $31 = HEAP32[$pTab>>2]|0; - $32 = (($31) + 12|0); + $32 = ((($31)) + 12|0); $33 = HEAP32[$32>>2]|0; $34 = ($33|0)!=(0|0); $35 = $34&1; @@ -73279,21 +72292,21 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 68|0); + $46 = ((($45)) + 68|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + 1)|0; HEAP32[$46>>2] = $48; HEAP32[$iDataCur>>2] = $47; HEAP32[$iBaseCur>>2] = $47; $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 8|0); - $51 = (($50) + 40|0); + $50 = ((($49)) + 8|0); + $51 = ((($50)) + 40|0); HEAP32[$51>>2] = $47; $52 = HEAP32[$iDataCur>>2]|0; $53 = (($52) + 1)|0; HEAP32[$iIdxCur>>2] = $53; $54 = HEAP32[$pTab>>2]|0; - $55 = (($54) + 44|0); + $55 = ((($54)) + 44|0); $56 = HEAP8[$55>>0]|0; $57 = $56&255; $58 = $57 & 32; @@ -73308,7 +72321,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { HEAP32[$pPk>>2] = $62; HEAP32[$nIdx>>2] = 0; $63 = HEAP32[$pTab>>2]|0; - $64 = (($63) + 8|0); + $64 = ((($63)) + 8|0); $65 = HEAP32[$64>>2]|0; HEAP32[$pIdx>>2] = $65; while(1) { @@ -73318,7 +72331,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { break; } $68 = HEAP32[$pIdx>>2]|0; - $69 = (($68) + 55|0); + $69 = ((($68)) + 55|0); $70 = HEAP8[$69>>0]|0; $71 = $70 & 3; $72 = $71&255; @@ -73328,22 +72341,22 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $or$cond = $73 & $75; if ($or$cond) { $76 = HEAP32[$0>>2]|0; - $77 = (($76) + 68|0); + $77 = ((($76)) + 68|0); $78 = HEAP32[$77>>2]|0; HEAP32[$iDataCur>>2] = $78; $79 = HEAP32[$iDataCur>>2]|0; $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 8|0); - $82 = (($81) + 40|0); + $81 = ((($80)) + 8|0); + $82 = ((($81)) + 40|0); HEAP32[$82>>2] = $79; } $83 = HEAP32[$0>>2]|0; - $84 = (($83) + 68|0); + $84 = ((($83)) + 68|0); $85 = HEAP32[$84>>2]|0; $86 = (($85) + 1)|0; HEAP32[$84>>2] = $86; $87 = HEAP32[$pIdx>>2]|0; - $88 = (($87) + 20|0); + $88 = ((($87)) + 20|0); $89 = HEAP32[$88>>2]|0; HEAP32[$pIdx>>2] = $89; $90 = HEAP32[$nIdx>>2]|0; @@ -73352,7 +72365,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $92 = HEAP32[$db>>2]|0; $93 = HEAP32[$pTab>>2]|0; - $94 = (($93) + 38|0); + $94 = ((($93)) + 38|0); $95 = HEAP16[$94>>1]|0; $96 = $95 << 16 >> 16; $97 = HEAP32[$nIdx>>2]|0; @@ -73383,7 +72396,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $106 = HEAP32[$aXRef>>2]|0; $107 = HEAP32[$pTab>>2]|0; - $108 = (($107) + 38|0); + $108 = ((($107)) + 38|0); $109 = HEAP16[$108>>1]|0; $110 = $109 << 16 >> 16; $111 = (($106) + ($110<<2)|0); @@ -73405,7 +72418,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { while(1) { $122 = HEAP32[$i>>2]|0; $123 = HEAP32[$pTab>>2]|0; - $124 = (($123) + 38|0); + $124 = ((($123)) + 38|0); $125 = HEAP16[$124>>1]|0; $126 = $125 << 16 >> 16; $127 = ($122|0)<($126|0); @@ -73420,11 +72433,11 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $132 = (($131) + 1)|0; HEAP32[$i>>2] = $132; } - ;HEAP32[$sNC+0>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $133 = HEAP32[$0>>2]|0; HEAP32[$sNC>>2] = $133; $134 = HEAP32[$1>>2]|0; - $135 = (($sNC) + 4|0); + $135 = ((($sNC)) + 4|0); HEAP32[$135>>2] = $134; HEAP8[$chngPk>>0] = 0; HEAP8[$chngRowid>>0] = 0; @@ -73440,7 +72453,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $140 = HEAP32[$i>>2]|0; $141 = HEAP32[$2>>2]|0; - $142 = (($141) + 4|0); + $142 = ((($141)) + 4|0); $143 = HEAP32[$142>>2]|0; $144 = (($143) + (($140*20)|0)|0); $145 = HEAP32[$144>>2]|0; @@ -73454,7 +72467,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { while(1) { $148 = HEAP32[$j>>2]|0; $149 = HEAP32[$pTab>>2]|0; - $150 = (($149) + 38|0); + $150 = ((($149)) + 38|0); $151 = HEAP16[$150>>1]|0; $152 = $151 << 16 >> 16; $153 = ($148|0)<($152|0); @@ -73463,16 +72476,16 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $154 = HEAP32[$j>>2]|0; $155 = HEAP32[$pTab>>2]|0; - $156 = (($155) + 4|0); + $156 = ((($155)) + 4|0); $157 = HEAP32[$156>>2]|0; $158 = (($157) + (($154*24)|0)|0); $159 = HEAP32[$158>>2]|0; $160 = HEAP32[$i>>2]|0; $161 = HEAP32[$2>>2]|0; - $162 = (($161) + 4|0); + $162 = ((($161)) + 4|0); $163 = HEAP32[$162>>2]|0; $164 = (($163) + (($160*20)|0)|0); - $165 = (($164) + 4|0); + $165 = ((($164)) + 4|0); $166 = HEAP32[$165>>2]|0; $167 = (_sqlite3_stricmp($159,$166)|0); $168 = ($167|0)==(0); @@ -73487,7 +72500,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { if ((label|0) == 23) { label = 0; $170 = HEAP32[$pTab>>2]|0; - $171 = (($170) + 36|0); + $171 = ((($170)) + 36|0); $172 = HEAP16[$171>>1]|0; $173 = $172 << 16 >> 16; $174 = ($169|0)==($173|0); @@ -73495,7 +72508,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { HEAP8[$chngRowid>>0] = 1; $175 = HEAP32[$i>>2]|0; $176 = HEAP32[$2>>2]|0; - $177 = (($176) + 4|0); + $177 = ((($176)) + 4|0); $178 = HEAP32[$177>>2]|0; $179 = (($178) + (($175*20)|0)|0); $180 = HEAP32[$179>>2]|0; @@ -73506,10 +72519,10 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { if ($182) { $183 = HEAP32[$j>>2]|0; $184 = HEAP32[$pTab>>2]|0; - $185 = (($184) + 4|0); + $185 = ((($184)) + 4|0); $186 = HEAP32[$185>>2]|0; $187 = (($186) + (($183*24)|0)|0); - $188 = (($187) + 23|0); + $188 = ((($187)) + 23|0); $189 = HEAP8[$188>>0]|0; $190 = $189&255; $191 = $190 & 1; @@ -73527,7 +72540,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $198 = HEAP32[$j>>2]|0; $199 = HEAP32[$pTab>>2]|0; - $200 = (($199) + 38|0); + $200 = ((($199)) + 38|0); $201 = HEAP16[$200>>1]|0; $202 = $201 << 16 >> 16; $203 = ($198|0)>=($202|0); @@ -73540,10 +72553,10 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $206 = HEAP32[$i>>2]|0; $207 = HEAP32[$2>>2]|0; - $208 = (($207) + 4|0); + $208 = ((($207)) + 4|0); $209 = HEAP32[$208>>2]|0; $210 = (($209) + (($206*20)|0)|0); - $211 = (($210) + 4|0); + $211 = ((($210)) + 4|0); $212 = HEAP32[$211>>2]|0; $213 = (_sqlite3IsRowid($212)|0); $214 = ($213|0)!=(0); @@ -73555,7 +72568,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { HEAP8[$chngRowid>>0] = 1; $215 = HEAP32[$i>>2]|0; $216 = HEAP32[$2>>2]|0; - $217 = (($216) + 4|0); + $217 = ((($216)) + 4|0); $218 = HEAP32[$217>>2]|0; $219 = (($218) + (($215*20)|0)|0); $220 = HEAP32[$219>>2]|0; @@ -73567,11 +72580,11 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $234 = HEAP32[$j>>2]|0; $235 = ($234|0)<(0); if ($235) { - $248 = 17288; + $248 = 21560; } else { $236 = HEAP32[$j>>2]|0; $237 = HEAP32[$pTab>>2]|0; - $238 = (($237) + 4|0); + $238 = ((($237)) + 4|0); $239 = HEAP32[$238>>2]|0; $240 = (($239) + (($236*24)|0)|0); $241 = HEAP32[$240>>2]|0; @@ -73579,7 +72592,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $242 = HEAP32[$iDb>>2]|0; $243 = HEAP32[$db>>2]|0; - $244 = (($243) + 16|0); + $244 = ((($243)) + 16|0); $245 = HEAP32[$244>>2]|0; $246 = (($245) + ($242<<4)|0); $247 = HEAP32[$246>>2]|0; @@ -73607,15 +72620,15 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $221 = HEAP32[$0>>2]|0; $222 = HEAP32[$i>>2]|0; $223 = HEAP32[$2>>2]|0; - $224 = (($223) + 4|0); + $224 = ((($223)) + 4|0); $225 = HEAP32[$224>>2]|0; $226 = (($225) + (($222*20)|0)|0); - $227 = (($226) + 4|0); + $227 = ((($226)) + 4|0); $228 = HEAP32[$227>>2]|0; HEAP32[$vararg_buffer>>2] = $228; - _sqlite3ErrorMsg($221,24520,$vararg_buffer); + _sqlite3ErrorMsg($221,26868,$vararg_buffer); $229 = HEAP32[$0>>2]|0; - $230 = (($229) + 17|0); + $230 = ((($229)) + 17|0); HEAP8[$230>>0] = 1; _sqlite3AuthContextPop($sContext); $983 = HEAP32[$db>>2]|0; @@ -73641,8 +72654,8 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $264 = $263&255; HEAP8[$chngKey>>0] = $264; $265 = HEAP32[$1>>2]|0; - $266 = (($265) + 8|0); - $267 = (($266) + 56|0); + $266 = ((($265)) + 8|0); + $267 = ((($266)) + 56|0); $268 = $267; $269 = $268; HEAP32[$269>>2] = 0; @@ -73658,7 +72671,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { HEAP32[$hasFK>>2] = $277; HEAP32[$j>>2] = 0; $278 = HEAP32[$pTab>>2]|0; - $279 = (($278) + 8|0); + $279 = ((($278)) + 8|0); $280 = HEAP32[$279>>2]|0; HEAP32[$pIdx>>2] = $280; while(1) { @@ -73673,12 +72686,12 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $286 = HEAP32[$hasFK>>2]|0; $287 = ($286|0)!=(0); $or$cond3 = $285 | $287; - L69: do { + L67: do { if ($or$cond3) { label = 46; } else { $288 = HEAP32[$pIdx>>2]|0; - $289 = (($288) + 36|0); + $289 = ((($288)) + 36|0); $290 = HEAP32[$289>>2]|0; $291 = ($290|0)!=(0|0); if ($291) { @@ -73695,16 +72708,16 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { while(1) { $299 = HEAP32[$i>>2]|0; $300 = HEAP32[$pIdx>>2]|0; - $301 = (($300) + 50|0); + $301 = ((($300)) + 50|0); $302 = HEAP16[$301>>1]|0; $303 = $302&65535; $304 = ($299|0)<($303|0); if (!($304)) { - break L69; + break L67; } $305 = HEAP32[$i>>2]|0; $306 = HEAP32[$pIdx>>2]|0; - $307 = (($306) + 4|0); + $307 = ((($306)) + 4|0); $308 = HEAP32[$307>>2]|0; $309 = (($308) + ($305<<1)|0); $310 = HEAP16[$309>>1]|0; @@ -73721,7 +72734,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { HEAP32[$i>>2] = $321; } $316 = HEAP32[$0>>2]|0; - $317 = (($316) + 72|0); + $317 = ((($316)) + 72|0); $318 = HEAP32[$317>>2]|0; $319 = (($318) + 1)|0; HEAP32[$317>>2] = $319; @@ -73733,7 +72746,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { if ((label|0) == 46) { label = 0; $295 = HEAP32[$0>>2]|0; - $296 = (($295) + 72|0); + $296 = ((($295)) + 72|0); $297 = HEAP32[$296>>2]|0; $298 = (($297) + 1)|0; HEAP32[$296>>2] = $298; @@ -73754,7 +72767,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $331 = (($330) + ($329<<2)|0); HEAP32[$331>>2] = $328; $332 = HEAP32[$pIdx>>2]|0; - $333 = (($332) + 20|0); + $333 = ((($332)) + 20|0); $334 = HEAP32[$333>>2]|0; HEAP32[$pIdx>>2] = $334; $335 = HEAP32[$j>>2]|0; @@ -73783,7 +72796,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $341 = HEAP32[$0>>2]|0; - $342 = (($341) + 18|0); + $342 = ((($341)) + 18|0); $343 = HEAP8[$342>>0]|0; $344 = $343&255; $345 = ($344|0)==(0); @@ -73795,7 +72808,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $348 = HEAP32[$iDb>>2]|0; _sqlite3BeginWriteOperation($347,1,$348); $349 = HEAP32[$pTab>>2]|0; - $350 = (($349) + 44|0); + $350 = ((($349)) + 44|0); $351 = HEAP8[$350>>0]|0; $352 = $351&255; $353 = $352 & 16; @@ -73827,13 +72840,13 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { _sqlite3ExprDelete($989,$990); STACKTOP = sp;return; } - $363 = (($355) + 72|0); + $363 = ((($355)) + 72|0); $364 = HEAP32[$363>>2]|0; $365 = (($364) + 1)|0; HEAP32[$363>>2] = $365; HEAP32[$regRowSet>>2] = $365; $366 = HEAP32[$0>>2]|0; - $367 = (($366) + 72|0); + $367 = ((($366)) + 72|0); $368 = HEAP32[$367>>2]|0; $369 = (($368) + 1)|0; HEAP32[$367>>2] = $369; @@ -73850,16 +72863,16 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $or$cond7 = $or$cond5 | $376; if ($or$cond7) { $377 = HEAP32[$0>>2]|0; - $378 = (($377) + 72|0); + $378 = ((($377)) + 72|0); $379 = HEAP32[$378>>2]|0; $380 = (($379) + 1)|0; HEAP32[$regOld>>2] = $380; $381 = HEAP32[$pTab>>2]|0; - $382 = (($381) + 38|0); + $382 = ((($381)) + 38|0); $383 = HEAP16[$382>>1]|0; $384 = $383 << 16 >> 16; $385 = HEAP32[$0>>2]|0; - $386 = (($385) + 72|0); + $386 = ((($385)) + 72|0); $387 = HEAP32[$386>>2]|0; $388 = (($387) + ($384))|0; HEAP32[$386>>2] = $388; @@ -73875,23 +72888,23 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $or$cond11 = $or$cond9 | $395; if ($or$cond11) { $396 = HEAP32[$0>>2]|0; - $397 = (($396) + 72|0); + $397 = ((($396)) + 72|0); $398 = HEAP32[$397>>2]|0; $399 = (($398) + 1)|0; HEAP32[$397>>2] = $399; HEAP32[$regNewRowid>>2] = $399; } $400 = HEAP32[$0>>2]|0; - $401 = (($400) + 72|0); + $401 = ((($400)) + 72|0); $402 = HEAP32[$401>>2]|0; $403 = (($402) + 1)|0; HEAP32[$regNew>>2] = $403; $404 = HEAP32[$pTab>>2]|0; - $405 = (($404) + 38|0); + $405 = ((($404)) + 38|0); $406 = HEAP16[$405>>1]|0; $407 = $406 << 16 >> 16; $408 = HEAP32[$0>>2]|0; - $409 = (($408) + 72|0); + $409 = ((($408)) + 72|0); $410 = HEAP32[$409>>2]|0; $411 = (($410) + ($407))|0; HEAP32[$409>>2] = $411; @@ -73932,7 +72945,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $426 = HEAP32[$pTab>>2]|0; - $427 = (($426) + 44|0); + $427 = ((($426)) + 44|0); $428 = HEAP8[$427>>0]|0; $429 = $428&255; $430 = $429 & 32; @@ -73985,29 +72998,29 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { _sqlite3WhereEnd($452); } else { $453 = HEAP32[$pPk>>2]|0; - $454 = (($453) + 50|0); + $454 = ((($453)) + 50|0); $455 = HEAP16[$454>>1]|0; HEAP16[$nPk>>1] = $455; $456 = HEAP32[$0>>2]|0; - $457 = (($456) + 72|0); + $457 = ((($456)) + 72|0); $458 = HEAP32[$457>>2]|0; $459 = (($458) + 1)|0; HEAP32[$iPk>>2] = $459; $460 = HEAP16[$nPk>>1]|0; $461 = $460 << 16 >> 16; $462 = HEAP32[$0>>2]|0; - $463 = (($462) + 72|0); + $463 = ((($462)) + 72|0); $464 = HEAP32[$463>>2]|0; $465 = (($464) + ($461))|0; HEAP32[$463>>2] = $465; $466 = HEAP32[$0>>2]|0; - $467 = (($466) + 72|0); + $467 = ((($466)) + 72|0); $468 = HEAP32[$467>>2]|0; $469 = (($468) + 1)|0; HEAP32[$467>>2] = $469; HEAP32[$regKey>>2] = $469; $470 = HEAP32[$0>>2]|0; - $471 = (($470) + 68|0); + $471 = ((($470)) + 68|0); $472 = HEAP32[$471>>2]|0; $473 = (($472) + 1)|0; HEAP32[$471>>2] = $473; @@ -74065,7 +73078,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $498 = HEAP32[$iDataCur>>2]|0; $499 = HEAP32[$i>>2]|0; $500 = HEAP32[$pPk>>2]|0; - $501 = (($500) + 4|0); + $501 = ((($500)) + 4|0); $502 = HEAP32[$501>>2]|0; $503 = (($502) + ($499<<1)|0); $504 = HEAP16[$503>>1]|0; @@ -74109,18 +73122,18 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { _sqlite3WhereEnd($530); } $531 = HEAP32[$db>>2]|0; - $532 = (($531) + 24|0); + $532 = ((($531)) + 24|0); $533 = HEAP32[$532>>2]|0; $534 = $533 & 128; $535 = ($534|0)!=(0); if ($535) { $536 = HEAP32[$0>>2]|0; - $537 = (($536) + 412|0); + $537 = ((($536)) + 412|0); $538 = HEAP32[$537>>2]|0; $539 = ($538|0)!=(0|0); if (!($539)) { $540 = HEAP32[$0>>2]|0; - $541 = (($540) + 72|0); + $541 = ((($540)) + 72|0); $542 = HEAP32[$541>>2]|0; $543 = (($542) + 1)|0; HEAP32[$541>>2] = $543; @@ -74138,7 +73151,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { if (!($549)) { $550 = HEAP32[$4>>2]|0; $551 = ($550|0)==(5); - L137: do { + L135: do { if ($551) { $552 = HEAP32[$aToOpen>>2]|0; $553 = HEAP32[$nIdx>>2]|0; @@ -74146,17 +73159,17 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { _memset(($552|0),1,($554|0))|0; } else { $555 = HEAP32[$pTab>>2]|0; - $556 = (($555) + 8|0); + $556 = ((($555)) + 8|0); $557 = HEAP32[$556>>2]|0; HEAP32[$pIdx>>2] = $557; while(1) { $558 = HEAP32[$pIdx>>2]|0; $559 = ($558|0)!=(0|0); if (!($559)) { - break L137; + break L135; } $560 = HEAP32[$pIdx>>2]|0; - $561 = (($560) + 54|0); + $561 = ((($560)) + 54|0); $562 = HEAP8[$561>>0]|0; $563 = $562&255; $564 = ($563|0)==(5); @@ -74164,7 +73177,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { break; } $568 = HEAP32[$pIdx>>2]|0; - $569 = (($568) + 20|0); + $569 = ((($568)) + 20|0); $570 = HEAP32[$569>>2]|0; HEAP32[$pIdx>>2] = $570; } @@ -74188,13 +73201,13 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $579 = (($578) + ($577)|0); HEAP8[$579>>0] = 0; } - $580 = (($aiCurOnePass) + 4|0); + $580 = ((($aiCurOnePass)) + 4|0); $581 = HEAP32[$580>>2]|0; $582 = ($581|0)>=(0); if (!($582)) { break; } - $583 = (($aiCurOnePass) + 4|0); + $583 = ((($aiCurOnePass)) + 4|0); $584 = HEAP32[$583>>2]|0; $585 = HEAP32[$iBaseCur>>2]|0; $586 = (($584) - ($585))|0; @@ -74325,7 +73338,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { while(1) { $669 = HEAP32[$i>>2]|0; $670 = HEAP32[$pTab>>2]|0; - $671 = (($670) + 38|0); + $671 = ((($670)) + 38|0); $672 = HEAP16[$671>>1]|0; $673 = $672 << 16 >> 16; $674 = ($669|0)<($673|0); @@ -74353,10 +73366,10 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $684 = HEAP32[$i>>2]|0; $685 = HEAP32[$pTab>>2]|0; - $686 = (($685) + 4|0); + $686 = ((($685)) + 4|0); $687 = HEAP32[$686>>2]|0; $688 = (($687) + (($684*24)|0)|0); - $689 = (($688) + 23|0); + $689 = ((($688)) + 23|0); $690 = HEAP8[$689>>0]|0; $691 = $690&255; $692 = $691 & 1; @@ -74413,7 +73426,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { while(1) { $721 = HEAP32[$i>>2]|0; $722 = HEAP32[$pTab>>2]|0; - $723 = (($722) + 38|0); + $723 = ((($722)) + 38|0); $724 = HEAP16[$723>>1]|0; $725 = $724 << 16 >> 16; $726 = ($721|0)<($725|0); @@ -74422,11 +73435,11 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $727 = HEAP32[$i>>2]|0; $728 = HEAP32[$pTab>>2]|0; - $729 = (($728) + 36|0); + $729 = ((($728)) + 36|0); $730 = HEAP16[$729>>1]|0; $731 = $730 << 16 >> 16; $732 = ($727|0)==($731|0); - L190: do { + L188: do { if ($732) { $733 = HEAP32[$v>>2]|0; $734 = HEAP32[$regNew>>2]|0; @@ -74445,7 +73458,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $743 = HEAP32[$0>>2]|0; $744 = HEAP32[$j>>2]|0; $745 = HEAP32[$2>>2]|0; - $746 = (($745) + 4|0); + $746 = ((($745)) + 4|0); $747 = HEAP32[$746>>2]|0; $748 = (($747) + (($744*20)|0)|0); $749 = HEAP32[$748>>2]|0; @@ -74476,7 +73489,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $772 = HEAP32[$i>>2]|0; $773 = (($771) + ($772))|0; (_sqlite3VdbeAddOp2($770,28,0,$773)|0); - break L190; + break L188; } } while(0); $763 = HEAP32[$v>>2]|0; @@ -74496,7 +73509,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $776 = HEAP32[$tmask>>2]|0; $777 = $776 & 1; $778 = ($777|0)!=(0); - L202: do { + L200: do { if ($778) { $779 = HEAP32[$v>>2]|0; $780 = HEAP32[$pTab>>2]|0; @@ -74527,12 +73540,12 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { while(1) { $797 = HEAP32[$i>>2]|0; $798 = HEAP32[$pTab>>2]|0; - $799 = (($798) + 38|0); + $799 = ((($798)) + 38|0); $800 = HEAP16[$799>>1]|0; $801 = $800 << 16 >> 16; $802 = ($797|0)<($801|0); if (!($802)) { - break L202; + break L200; } $803 = HEAP32[$i>>2]|0; $804 = HEAP32[$aXRef>>2]|0; @@ -74543,7 +73556,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { if ($807) { $808 = HEAP32[$i>>2]|0; $809 = HEAP32[$pTab>>2]|0; - $810 = (($809) + 36|0); + $810 = ((($809)) + 36|0); $811 = HEAP16[$810>>1]|0; $812 = $811 << 16 >> 16; $813 = ($808|0)!=($812|0); @@ -74704,14 +73717,14 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } } while(0); $902 = HEAP32[$db>>2]|0; - $903 = (($902) + 24|0); + $903 = ((($902)) + 24|0); $904 = HEAP32[$903>>2]|0; $905 = $904 & 128; $906 = ($905|0)!=(0); do { if ($906) { $907 = HEAP32[$0>>2]|0; - $908 = (($907) + 412|0); + $908 = ((($907)) + 412|0); $909 = HEAP32[$908>>2]|0; $910 = ($909|0)!=(0|0); if ($910) { @@ -74756,7 +73769,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { _sqlite3VdbeResolveLabel($929,$930); HEAP32[$i>>2] = 0; $931 = HEAP32[$pTab>>2]|0; - $932 = (($931) + 8|0); + $932 = ((($931)) + 8|0); $933 = HEAP32[$932>>2]|0; HEAP32[$pIdx>>2] = $933; while(1) { @@ -74779,7 +73792,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { (_sqlite3VdbeAddOp2($942,61,$945,0)|0); } $946 = HEAP32[$pIdx>>2]|0; - $947 = (($946) + 20|0); + $947 = ((($946)) + 20|0); $948 = HEAP32[$947>>2]|0; HEAP32[$pIdx>>2] = $948; $949 = HEAP32[$i>>2]|0; @@ -74795,14 +73808,14 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { (_sqlite3VdbeAddOp2($954,61,$955,0)|0); } $956 = HEAP32[$0>>2]|0; - $957 = (($956) + 18|0); + $957 = ((($956)) + 18|0); $958 = HEAP8[$957>>0]|0; $959 = $958&255; $960 = ($959|0)==(0); do { if ($960) { $961 = HEAP32[$0>>2]|0; - $962 = (($961) + 412|0); + $962 = ((($961)) + 412|0); $963 = HEAP32[$962>>2]|0; $964 = ($963|0)==(0|0); if (!($964)) { @@ -74813,7 +73826,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } } while(0); $966 = HEAP32[$db>>2]|0; - $967 = (($966) + 24|0); + $967 = ((($966)) + 24|0); $968 = HEAP32[$967>>2]|0; $969 = $968 & 128; $970 = ($969|0)!=(0); @@ -74834,7 +73847,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $971 = HEAP32[$0>>2]|0; - $972 = (($971) + 412|0); + $972 = ((($971)) + 412|0); $973 = HEAP32[$972>>2]|0; $974 = ($973|0)!=(0|0); if ($974) { @@ -74854,7 +73867,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $975 = HEAP32[$0>>2]|0; - $976 = (($975) + 18|0); + $976 = ((($975)) + 18|0); $977 = HEAP8[$976>>0]|0; $978 = ($977<<24>>24)!=(0); if ($978) { @@ -74879,7 +73892,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $981 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($981,1); $982 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($982,0,0,24544,0)|0); + (_sqlite3VdbeSetColName($982,0,0,26887,0)|0); _sqlite3AuthContextPop($sContext); $983 = HEAP32[$db>>2]|0; $984 = HEAP32[$aXRef>>2]|0; @@ -74967,66 +73980,69 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { var $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aRegIdx = 0, $addrCont = 0, $addrInsTop = 0, $addrL = 0, $addrTop = 0, $appendFlag = 0, $bIdListInOrder = 0; var $db = 0, $dest = 0, $endOfLoop = 0, $i = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iRegStore = 0, $idx = 0, $ipkColumn = 0, $isReplace = 0, $isView = 0, $j = 0, $j1 = 0, $j11 = 0, $nColumn = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0; var $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pDb = 0, $pIdx = 0, $pList = 0, $pOp = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $rc = 0, $regAutoinc = 0, $regCols = 0, $regData = 0, $regFromSelect = 0, $regIns = 0, $regRec = 0, $regRowCount = 0, $regRowid = 0; - var $regTempRowid = 0, $regYield = 0, $sNC = 0, $srcTab = 0, $tmask = 0, $useTempTable = 0, $v = 0, $vararg_buffer20 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $withoutRowid = 0, $zDb = 0, $zTab = 0, label = 0, sp = 0; + var $regTempRowid = 0, $regYield = 0, $sNC = 0, $srcTab = 0, $tmask = 0, $useTempTable = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer20 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $withoutRowid = 0, $zDb = 0, $zTab = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; + STACKTOP = STACKTOP + 304|0; $vararg_buffer20 = sp; - $0 = sp + 264|0; - $1 = sp + 260|0; - $2 = sp + 256|0; + $vararg_buffer14 = sp + 24|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 52|0; + $1 = sp + 152|0; + $2 = sp + 244|0; $3 = sp + 252|0; - $4 = sp + 248|0; - $db = sp + 244|0; - $pTab = sp + 240|0; - $zTab = sp + 236|0; - $zDb = sp + 232|0; - $i = sp + 228|0; - $j = sp + 224|0; - $idx = sp + 220|0; - $v = sp + 216|0; - $pIdx = sp + 212|0; - $nColumn = sp + 208|0; - $nHidden = sp + 204|0; - $iDataCur = sp + 200|0; - $iIdxCur = sp + 196|0; - $ipkColumn = sp + 192|0; - $endOfLoop = sp + 188|0; - $srcTab = sp + 184|0; - $addrInsTop = sp + 180|0; - $addrCont = sp + 176|0; - $dest = sp + 156|0; - $iDb = sp + 152|0; - $pDb = sp + 148|0; - $useTempTable = sp + 271|0; - $appendFlag = sp + 270|0; - $withoutRowid = sp + 269|0; - $bIdListInOrder = sp + 268|0; - $pList = sp + 144|0; - $regFromSelect = sp + 140|0; - $regAutoinc = sp + 136|0; - $regRowCount = sp + 132|0; - $regIns = sp + 128|0; - $regRowid = sp + 124|0; - $regData = sp + 120|0; - $aRegIdx = sp + 116|0; - $isView = sp + 112|0; - $pTrigger = sp + 108|0; - $tmask = sp + 104|0; - $regYield = sp + 100|0; - $addrTop = sp + 96|0; - $rc = sp + 92|0; - $regRec = sp + 88|0; - $regTempRowid = sp + 84|0; - $addrL = sp + 80|0; - $sNC = sp + 48|0; - $nIdx = sp + 44|0; - $regCols = sp + 40|0; - $j1 = sp + 36|0; - $pOp = sp + 32|0; - $j11 = sp + 28|0; - $iRegStore = sp + 24|0; - $pVTab = sp + 20|0; - $isReplace = sp + 16|0; + $4 = sp + 124|0; + $db = sp + 56|0; + $pTab = sp + 60|0; + $zTab = sp + 64|0; + $zDb = sp + 68|0; + $i = sp + 72|0; + $j = sp + 76|0; + $idx = sp + 80|0; + $v = sp + 112|0; + $pIdx = sp + 84|0; + $nColumn = sp + 92|0; + $nHidden = sp + 96|0; + $iDataCur = sp + 100|0; + $iIdxCur = sp + 104|0; + $ipkColumn = sp + 108|0; + $endOfLoop = sp + 288|0; + $srcTab = sp + 240|0; + $addrInsTop = sp + 248|0; + $addrCont = sp + 256|0; + $dest = sp + 264|0; + $iDb = sp + 284|0; + $pDb = sp + 136|0; + $useTempTable = sp + 292|0; + $appendFlag = sp + 293|0; + $withoutRowid = sp + 294|0; + $bIdListInOrder = sp + 295|0; + $pList = sp + 156|0; + $regFromSelect = sp + 160|0; + $regAutoinc = sp + 164|0; + $regRowCount = sp + 168|0; + $regIns = sp + 172|0; + $regRowid = sp + 176|0; + $regData = sp + 180|0; + $aRegIdx = sp + 184|0; + $isView = sp + 188|0; + $pTrigger = sp + 192|0; + $tmask = sp + 196|0; + $regYield = sp + 200|0; + $addrTop = sp + 44|0; + $rc = sp + 40|0; + $regRec = sp + 148|0; + $regTempRowid = sp + 204|0; + $addrL = sp + 116|0; + $sNC = sp + 208|0; + $nIdx = sp + 120|0; + $regCols = sp + 48|0; + $j1 = sp + 128|0; + $pOp = sp + 132|0; + $j11 = sp + 260|0; + $iRegStore = sp + 88|0; + $pVTab = sp + 144|0; + $isReplace = sp + 140|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTabList; HEAP32[$2>>2] = $pSelect; @@ -75050,15 +74066,15 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; - ;HEAP32[$dest+0>>2]=0|0;HEAP32[$dest+4>>2]=0|0;HEAP32[$dest+8>>2]=0|0;HEAP32[$dest+12>>2]=0|0;HEAP32[$dest+16>>2]=0|0; + ;HEAP32[$dest>>2]=0|0;HEAP32[$dest+4>>2]=0|0;HEAP32[$dest+8>>2]=0|0;HEAP32[$dest+12>>2]=0|0;HEAP32[$dest+16>>2]=0|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 64|0); + $8 = ((($7)) + 64|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0); L1: do { if (!($10)) { $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 64|0); + $12 = ((($11)) + 64|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = ($14|0)!=(0); @@ -75067,14 +74083,14 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $17 = ($16|0)!=(0|0); if ($17) { $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 6|0); + $19 = ((($18)) + 6|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = $21 & 128; $23 = ($22|0)!=(0); if ($23) { $24 = HEAP32[$2>>2]|0; - $25 = (($24) + 52|0); + $25 = ((($24)) + 52|0); $26 = HEAP32[$25>>2]|0; $27 = ($26|0)==(0|0); if ($27) { @@ -75091,8 +74107,8 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 8|0); - $35 = (($34) + 8|0); + $34 = ((($33)) + 8|0); + $35 = ((($34)) + 8|0); $36 = HEAP32[$35>>2]|0; HEAP32[$zTab>>2] = $36; $37 = HEAP32[$zTab>>2]|0; @@ -75107,13 +74123,13 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { if (!($43)) { $44 = HEAP32[$db>>2]|0; $45 = HEAP32[$pTab>>2]|0; - $46 = (($45) + 68|0); + $46 = ((($45)) + 68|0); $47 = HEAP32[$46>>2]|0; $48 = (_sqlite3SchemaToIndex($44,$47)|0); HEAP32[$iDb>>2] = $48; $49 = HEAP32[$iDb>>2]|0; $50 = HEAP32[$db>>2]|0; - $51 = (($50) + 16|0); + $51 = ((($50)) + 16|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + ($49<<4)|0); HEAP32[$pDb>>2] = $53; @@ -75128,7 +74144,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $61 = ($60|0)!=(0); if (!($61)) { $62 = HEAP32[$pTab>>2]|0; - $63 = (($62) + 44|0); + $63 = ((($62)) + 44|0); $64 = HEAP8[$63>>0]|0; $65 = $64&255; $66 = $65 & 32; @@ -75142,7 +74158,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $73 = (_sqlite3TriggersExist($71,$72,108,0,$tmask)|0); HEAP32[$pTrigger>>2] = $73; $74 = HEAP32[$pTab>>2]|0; - $75 = (($74) + 12|0); + $75 = ((($74)) + 12|0); $76 = HEAP32[$75>>2]|0; $77 = ($76|0)!=(0|0); $78 = $77&1; @@ -75165,7 +74181,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $91 = ($90|0)==(0|0); if (!($91)) { $92 = HEAP32[$0>>2]|0; - $93 = (($92) + 18|0); + $93 = ((($92)) + 18|0); $94 = HEAP8[$93>>0]|0; $95 = $94&255; $96 = ($95|0)==(0); @@ -75176,16 +74192,12 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $98 = HEAP32[$0>>2]|0; $99 = HEAP32[$2>>2]|0; $100 = ($99|0)!=(0|0); - if ($100) { - $104 = 1; - } else { - $101 = HEAP32[$pTrigger>>2]|0; - $102 = ($101|0)!=(0|0); - $104 = $102; - } - $103 = $104&1; + $101 = HEAP32[$pTrigger>>2]|0; + $102 = ($101|0)!=(0|0); + $103 = $100 ? 1 : $102; + $104 = $103&1; $105 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($98,$103,$105); + _sqlite3BeginWriteOperation($98,$104,$105); $106 = HEAP32[$3>>2]|0; $107 = ($106|0)==(0|0); if ($107) { @@ -75197,36 +74209,36 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $113 = (_xferOptimization($108,$109,$110,$111,$112)|0); $114 = ($113|0)!=(0); if (!($114)) { - label = 19; + label = 17; } } else { - label = 19; + label = 17; } - L23: do { - if ((label|0) == 19) { + L20: do { + if ((label|0) == 17) { $115 = HEAP32[$0>>2]|0; $116 = HEAP32[$iDb>>2]|0; $117 = HEAP32[$pTab>>2]|0; $118 = (_autoIncBegin($115,$116,$117)|0); HEAP32[$regAutoinc>>2] = $118; $119 = HEAP32[$0>>2]|0; - $120 = (($119) + 72|0); + $120 = ((($119)) + 72|0); $121 = HEAP32[$120>>2]|0; $122 = (($121) + 1)|0; HEAP32[$regIns>>2] = $122; HEAP32[$regRowid>>2] = $122; $123 = HEAP32[$pTab>>2]|0; - $124 = (($123) + 38|0); + $124 = ((($123)) + 38|0); $125 = HEAP16[$124>>1]|0; $126 = $125 << 16 >> 16; $127 = (($126) + 1)|0; $128 = HEAP32[$0>>2]|0; - $129 = (($128) + 72|0); + $129 = ((($128)) + 72|0); $130 = HEAP32[$129>>2]|0; $131 = (($130) + ($127))|0; HEAP32[$129>>2] = $131; $132 = HEAP32[$pTab>>2]|0; - $133 = (($132) + 44|0); + $133 = ((($132)) + 44|0); $134 = HEAP8[$133>>0]|0; $135 = $134&255; $136 = $135 & 16; @@ -75236,7 +74248,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $139 = (($138) + 1)|0; HEAP32[$regRowid>>2] = $139; $140 = HEAP32[$0>>2]|0; - $141 = (($140) + 72|0); + $141 = ((($140)) + 72|0); $142 = HEAP32[$141>>2]|0; $143 = (($142) + 1)|0; HEAP32[$141>>2] = $143; @@ -75246,13 +74258,13 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { HEAP32[$regData>>2] = $145; $146 = HEAP32[$3>>2]|0; $147 = ($146|0)!=(0|0); - L28: do { + L25: do { if ($147) { HEAP32[$i>>2] = 0; while(1) { $148 = HEAP32[$i>>2]|0; $149 = HEAP32[$3>>2]|0; - $150 = (($149) + 4|0); + $150 = ((($149)) + 4|0); $151 = HEAP32[$150>>2]|0; $152 = ($148|0)<($151|0); if (!($152)) { @@ -75262,7 +74274,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $154 = HEAP32[$3>>2]|0; $155 = HEAP32[$154>>2]|0; $156 = (($155) + ($153<<3)|0); - $157 = (($156) + 4|0); + $157 = ((($156)) + 4|0); HEAP32[$157>>2] = -1; $158 = HEAP32[$i>>2]|0; $159 = (($158) + 1)|0; @@ -75272,17 +74284,17 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { while(1) { $160 = HEAP32[$i>>2]|0; $161 = HEAP32[$3>>2]|0; - $162 = (($161) + 4|0); + $162 = ((($161)) + 4|0); $163 = HEAP32[$162>>2]|0; $164 = ($160|0)<($163|0); if (!($164)) { - break L28; + break L25; } HEAP32[$j>>2] = 0; while(1) { $165 = HEAP32[$j>>2]|0; $166 = HEAP32[$pTab>>2]|0; - $167 = (($166) + 38|0); + $167 = ((($166)) + 38|0); $168 = HEAP16[$167>>1]|0; $169 = $168 << 16 >> 16; $170 = ($165|0)<($169|0); @@ -75296,7 +74308,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $175 = HEAP32[$174>>2]|0; $176 = HEAP32[$j>>2]|0; $177 = HEAP32[$pTab>>2]|0; - $178 = (($177) + 4|0); + $178 = ((($177)) + 4|0); $179 = HEAP32[$178>>2]|0; $180 = (($179) + (($176*24)|0)|0); $181 = HEAP32[$180>>2]|0; @@ -75304,20 +74316,20 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $183 = ($182|0)==(0); $184 = HEAP32[$j>>2]|0; if ($183) { - label = 30; + label = 28; break; } $200 = (($184) + 1)|0; HEAP32[$j>>2] = $200; } do { - if ((label|0) == 30) { + if ((label|0) == 28) { label = 0; $185 = HEAP32[$i>>2]|0; $186 = HEAP32[$3>>2]|0; $187 = HEAP32[$186>>2]|0; $188 = (($187) + ($185<<3)|0); - $189 = (($188) + 4|0); + $189 = ((($188)) + 4|0); HEAP32[$189>>2] = $184; $190 = HEAP32[$i>>2]|0; $191 = HEAP32[$j>>2]|0; @@ -75327,7 +74339,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } $193 = HEAP32[$j>>2]|0; $194 = HEAP32[$pTab>>2]|0; - $195 = (($194) + 36|0); + $195 = ((($194)) + 36|0); $196 = HEAP16[$195>>1]|0; $197 = $196 << 16 >> 16; $198 = ($193|0)==($197|0); @@ -75340,7 +74352,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } while(0); $201 = HEAP32[$j>>2]|0; $202 = HEAP32[$pTab>>2]|0; - $203 = (($202) + 38|0); + $203 = ((($202)) + 38|0); $204 = HEAP16[$203>>1]|0; $205 = $204 << 16 >> 16; $206 = ($201|0)>=($205|0); @@ -75373,24 +74385,24 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $221 = HEAP32[$220>>2]|0; $222 = (($221) + ($219<<3)|0); $223 = HEAP32[$222>>2]|0; - HEAP32[$vararg_buffer20>>2] = $218; - $vararg_ptr12 = (($vararg_buffer20) + 4|0); + HEAP32[$vararg_buffer>>2] = $218; + $vararg_ptr12 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr12>>2] = 0; - $vararg_ptr13 = (($vararg_buffer20) + 8|0); + $vararg_ptr13 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr13>>2] = $223; - _sqlite3ErrorMsg($217,23432,$vararg_buffer20); + _sqlite3ErrorMsg($217,25996,$vararg_buffer); $224 = HEAP32[$0>>2]|0; - $225 = (($224) + 17|0); + $225 = ((($224)) + 17|0); HEAP8[$225>>0] = 1; break L1; } } while(0); $228 = HEAP32[$2>>2]|0; $229 = ($228|0)!=(0|0); - L54: do { + L51: do { if ($229) { $230 = HEAP32[$0>>2]|0; - $231 = (($230) + 72|0); + $231 = ((($230)) + 72|0); $232 = HEAP32[$231>>2]|0; $233 = (($232) + 1)|0; HEAP32[$231>>2] = $233; @@ -75410,19 +74422,19 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $243 = ($242|0)!=(0); $244 = HEAP32[$regData>>2]|0; $245 = $243 ? $244 : 0; - $246 = (($dest) + 8|0); + $246 = ((($dest)) + 8|0); HEAP32[$246>>2] = $245; $247 = HEAP32[$pTab>>2]|0; - $248 = (($247) + 38|0); + $248 = ((($247)) + 38|0); $249 = HEAP16[$248>>1]|0; $250 = $249 << 16 >> 16; - $251 = (($dest) + 12|0); + $251 = ((($dest)) + 12|0); HEAP32[$251>>2] = $250; $252 = HEAP32[$0>>2]|0; $253 = HEAP32[$2>>2]|0; $254 = (_sqlite3Select($252,$253,$dest)|0); HEAP32[$rc>>2] = $254; - $255 = (($dest) + 8|0); + $255 = ((($dest)) + 8|0); $256 = HEAP32[$255>>2]|0; HEAP32[$regFromSelect>>2] = $256; $257 = HEAP32[$rc>>2]|0; @@ -75431,7 +74443,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { break L1; } $259 = HEAP32[$db>>2]|0; - $260 = (($259) + 64|0); + $260 = ((($259)) + 64|0); $261 = HEAP8[$260>>0]|0; $262 = $261&255; $263 = ($262|0)!=(0); @@ -75452,7 +74464,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $272 = HEAP32[$pTrigger>>2]|0; $273 = ($272|0)!=(0|0); if ($273) { - label = 45; + label = 43; } else { $274 = HEAP32[$0>>2]|0; $275 = HEAP32[$iDb>>2]|0; @@ -75460,10 +74472,10 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $277 = (_readsTable($274,$275,$276)|0); $278 = ($277|0)!=(0); if ($278) { - label = 45; + label = 43; } } - if ((label|0) == 45) { + if ((label|0) == 43) { HEAP8[$useTempTable>>0] = 1; } $279 = HEAP8[$useTempTable>>0]|0; @@ -75472,7 +74484,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { break; } $281 = HEAP32[$0>>2]|0; - $282 = (($281) + 68|0); + $282 = ((($281)) + 68|0); $283 = HEAP32[$282>>2]|0; $284 = (($283) + 1)|0; HEAP32[$282>>2] = $284; @@ -75488,7 +74500,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $291 = HEAP32[$nColumn>>2]|0; (_sqlite3VdbeAddOp2($289,57,$290,$291)|0); $292 = HEAP32[$v>>2]|0; - $293 = (($dest) + 4|0); + $293 = ((($dest)) + 4|0); $294 = HEAP32[$293>>2]|0; $295 = (_sqlite3VdbeAddOp1($292,22,$294)|0); HEAP32[$addrL>>2] = $295; @@ -75519,7 +74531,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $314 = HEAP32[$regTempRowid>>2]|0; _sqlite3ReleaseTempReg($313,$314); } else { - ;HEAP32[$sNC+0>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $315 = HEAP32[$0>>2]|0; HEAP32[$sNC>>2] = $315; HEAP32[$srcTab>>2] = -1; @@ -75539,11 +74551,11 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $322 = HEAP32[$nColumn>>2]|0; $323 = ($321|0)<($322|0); if (!($323)) { - break L54; + break L51; } $324 = HEAP32[$i>>2]|0; $325 = HEAP32[$pList>>2]|0; - $326 = (($325) + 4|0); + $326 = ((($325)) + 4|0); $327 = HEAP32[$326>>2]|0; $328 = (($327) + (($324*20)|0)|0); $329 = HEAP32[$328>>2]|0; @@ -75565,36 +74577,36 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $or$cond3 = $335 & $337; if ($or$cond3) { $338 = HEAP32[$pTab>>2]|0; - $339 = (($338) + 36|0); + $339 = ((($338)) + 36|0); $340 = HEAP16[$339>>1]|0; $341 = $340 << 16 >> 16; HEAP32[$ipkColumn>>2] = $341; } $342 = HEAP32[$pTab>>2]|0; - $343 = (($342) + 44|0); + $343 = ((($342)) + 44|0); $344 = HEAP8[$343>>0]|0; $345 = $344&255; $346 = $345 & 16; $347 = ($346|0)!=(0); - L76: do { + L73: do { if ($347) { HEAP32[$i>>2] = 0; while(1) { $348 = HEAP32[$i>>2]|0; $349 = HEAP32[$pTab>>2]|0; - $350 = (($349) + 38|0); + $350 = ((($349)) + 38|0); $351 = HEAP16[$350>>1]|0; $352 = $351 << 16 >> 16; $353 = ($348|0)<($352|0); if (!($353)) { - break L76; + break L73; } $354 = HEAP32[$i>>2]|0; $355 = HEAP32[$pTab>>2]|0; - $356 = (($355) + 4|0); + $356 = ((($355)) + 4|0); $357 = HEAP32[$356>>2]|0; $358 = (($357) + (($354*24)|0)|0); - $359 = (($358) + 23|0); + $359 = ((($358)) + 23|0); $360 = HEAP8[$359>>0]|0; $361 = $360&255; $362 = $361 & 2; @@ -75618,7 +74630,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { if ($or$cond5) { $373 = HEAP32[$nColumn>>2]|0; $374 = HEAP32[$pTab>>2]|0; - $375 = (($374) + 38|0); + $375 = ((($374)) + 38|0); $376 = HEAP16[$375>>1]|0; $377 = $376 << 16 >> 16; $378 = HEAP32[$nHidden>>2]|0; @@ -75630,20 +74642,20 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $381 = HEAP32[$0>>2]|0; $382 = HEAP32[$1>>2]|0; $383 = HEAP32[$pTab>>2]|0; - $384 = (($383) + 38|0); + $384 = ((($383)) + 38|0); $385 = HEAP16[$384>>1]|0; $386 = $385 << 16 >> 16; $387 = HEAP32[$nHidden>>2]|0; $388 = (($386) - ($387))|0; $389 = HEAP32[$nColumn>>2]|0; - HEAP32[$vararg_buffer20>>2] = $382; - $vararg_ptr17 = (($vararg_buffer20) + 4|0); + HEAP32[$vararg_buffer14>>2] = $382; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = 0; - $vararg_ptr18 = (($vararg_buffer20) + 8|0); + $vararg_ptr18 = ((($vararg_buffer14)) + 8|0); HEAP32[$vararg_ptr18>>2] = $388; - $vararg_ptr19 = (($vararg_buffer20) + 12|0); + $vararg_ptr19 = ((($vararg_buffer14)) + 12|0); HEAP32[$vararg_ptr19>>2] = $389; - _sqlite3ErrorMsg($381,23464,$vararg_buffer20); + _sqlite3ErrorMsg($381,26028,$vararg_buffer14); break L1; } } while(0); @@ -75653,7 +74665,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { if ($391) { $392 = HEAP32[$nColumn>>2]|0; $393 = HEAP32[$3>>2]|0; - $394 = (($393) + 4|0); + $394 = ((($393)) + 4|0); $395 = HEAP32[$394>>2]|0; $396 = ($392|0)!=($395|0); if (!($396)) { @@ -75662,23 +74674,23 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $397 = HEAP32[$0>>2]|0; $398 = HEAP32[$nColumn>>2]|0; $399 = HEAP32[$3>>2]|0; - $400 = (($399) + 4|0); + $400 = ((($399)) + 4|0); $401 = HEAP32[$400>>2]|0; HEAP32[$vararg_buffer20>>2] = $398; - $vararg_ptr23 = (($vararg_buffer20) + 4|0); + $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); HEAP32[$vararg_ptr23>>2] = $401; - _sqlite3ErrorMsg($397,23520,$vararg_buffer20); + _sqlite3ErrorMsg($397,26080,$vararg_buffer20); break L1; } } while(0); $402 = HEAP32[$db>>2]|0; - $403 = (($402) + 24|0); + $403 = ((($402)) + 24|0); $404 = HEAP32[$403>>2]|0; $405 = $404 & 128; $406 = ($405|0)!=(0); if ($406) { $407 = HEAP32[$0>>2]|0; - $408 = (($407) + 72|0); + $408 = ((($407)) + 72|0); $409 = HEAP32[$408>>2]|0; $410 = (($409) + 1)|0; HEAP32[$408>>2] = $410; @@ -75689,7 +74701,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } $413 = HEAP32[$isView>>2]|0; $414 = ($413|0)!=(0); - L93: do { + L90: do { if (!($414)) { $415 = HEAP32[$0>>2]|0; $416 = HEAP32[$pTab>>2]|0; @@ -75712,10 +74724,10 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $426 = HEAP32[$nIdx>>2]|0; $427 = ($425|0)<($426|0); if (!($427)) { - break L93; + break L90; } $428 = HEAP32[$0>>2]|0; - $429 = (($428) + 72|0); + $429 = ((($428)) + 72|0); $430 = HEAP32[$429>>2]|0; $431 = (($430) + 1)|0; HEAP32[$429>>2] = $431; @@ -75747,7 +74759,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { break; } $446 = HEAP32[$v>>2]|0; - $447 = (($dest) + 4|0); + $447 = ((($dest)) + 4|0); $448 = HEAP32[$447>>2]|0; $449 = (_sqlite3VdbeAddOp1($446,22,$448)|0); HEAP32[$addrCont>>2] = $449; @@ -75763,7 +74775,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { if ($454) { $455 = HEAP32[$0>>2]|0; $456 = HEAP32[$pTab>>2]|0; - $457 = (($456) + 38|0); + $457 = ((($456)) + 38|0); $458 = HEAP16[$457>>1]|0; $459 = $458 << 16 >> 16; $460 = (($459) + 1)|0; @@ -75788,7 +74800,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $472 = HEAP32[$0>>2]|0; $473 = HEAP32[$ipkColumn>>2]|0; $474 = HEAP32[$pList>>2]|0; - $475 = (($474) + 4|0); + $475 = ((($474)) + 4|0); $476 = HEAP32[$475>>2]|0; $477 = (($476) + (($473*20)|0)|0); $478 = HEAP32[$477>>2]|0; @@ -75813,7 +74825,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { while(1) { $489 = HEAP32[$i>>2]|0; $490 = HEAP32[$pTab>>2]|0; - $491 = (($490) + 38|0); + $491 = ((($490)) + 38|0); $492 = HEAP16[$491>>1]|0; $493 = $492 << 16 >> 16; $494 = ($489|0)<($493|0); @@ -75822,7 +74834,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } $495 = HEAP32[$3>>2]|0; $496 = ($495|0)==(0|0); - L118: do { + L115: do { if ($496) { $497 = HEAP32[$i>>2]|0; HEAP32[$j>>2] = $497; @@ -75831,22 +74843,22 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { while(1) { $498 = HEAP32[$j>>2]|0; $499 = HEAP32[$3>>2]|0; - $500 = (($499) + 4|0); + $500 = ((($499)) + 4|0); $501 = HEAP32[$500>>2]|0; $502 = ($498|0)<($501|0); if (!($502)) { - break L118; + break L115; } $503 = HEAP32[$j>>2]|0; $504 = HEAP32[$3>>2]|0; $505 = HEAP32[$504>>2]|0; $506 = (($505) + ($503<<3)|0); - $507 = (($506) + 4|0); + $507 = ((($506)) + 4|0); $508 = HEAP32[$507>>2]|0; $509 = HEAP32[$i>>2]|0; $510 = ($508|0)==($509|0); if ($510) { - break L118; + break L115; } $511 = HEAP32[$j>>2]|0; $512 = (($511) + 1)|0; @@ -75866,11 +74878,11 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { if ($518) { $519 = HEAP32[$j>>2]|0; $520 = HEAP32[$3>>2]|0; - $521 = (($520) + 4|0); + $521 = ((($520)) + 4|0); $522 = HEAP32[$521>>2]|0; $523 = ($519|0)>=($522|0); if ($523) { - label = 95; + label = 93; break; } } @@ -75890,7 +74902,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $545 = HEAP32[$0>>2]|0; $546 = HEAP32[$j>>2]|0; $547 = HEAP32[$pList>>2]|0; - $548 = (($547) + 4|0); + $548 = ((($547)) + 4|0); $549 = HEAP32[$548>>2]|0; $550 = (($549) + (($546*20)|0)|0); $551 = HEAP32[$550>>2]|0; @@ -75902,18 +74914,18 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { break; } } else { - label = 95; + label = 93; } } while(0); - if ((label|0) == 95) { + if ((label|0) == 93) { label = 0; $524 = HEAP32[$0>>2]|0; $525 = HEAP32[$i>>2]|0; $526 = HEAP32[$pTab>>2]|0; - $527 = (($526) + 4|0); + $527 = ((($526)) + 4|0); $528 = HEAP32[$527>>2]|0; $529 = (($528) + (($525*24)|0)|0); - $530 = (($529) + 4|0); + $530 = ((($529)) + 4|0); $531 = HEAP32[$530>>2]|0; $532 = HEAP32[$regCols>>2]|0; $533 = HEAP32[$i>>2]|0; @@ -75939,7 +74951,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $566 = HEAP32[$pTab>>2]|0; $567 = HEAP32[$regCols>>2]|0; $568 = HEAP32[$pTab>>2]|0; - $569 = (($568) + 38|0); + $569 = ((($568)) + 38|0); $570 = HEAP16[$569>>1]|0; $571 = $570 << 16 >> 16; $572 = (($567) - ($571))|0; @@ -75950,7 +74962,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $576 = HEAP32[$0>>2]|0; $577 = HEAP32[$regCols>>2]|0; $578 = HEAP32[$pTab>>2]|0; - $579 = (($578) + 38|0); + $579 = ((($578)) + 38|0); $580 = HEAP16[$579>>1]|0; $581 = $580 << 16 >> 16; $582 = (($581) + 1)|0; @@ -75961,7 +74973,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { do { if (!($584)) { $585 = HEAP32[$pTab>>2]|0; - $586 = (($585) + 44|0); + $586 = ((($585)) + 44|0); $587 = HEAP8[$586>>0]|0; $588 = $587&255; $589 = $588 & 16; @@ -75973,7 +74985,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } $593 = HEAP32[$ipkColumn>>2]|0; $594 = ($593|0)>=(0); - L147: do { + L144: do { if ($594) { $595 = HEAP8[$useTempTable>>0]|0; $596 = ($595<<24>>24)!=(0); @@ -75999,7 +75011,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $608 = HEAP32[$0>>2]|0; $609 = HEAP32[$ipkColumn>>2]|0; $610 = HEAP32[$pList>>2]|0; - $611 = (($610) + 4|0); + $611 = ((($610)) + 4|0); $612 = HEAP32[$611>>2]|0; $613 = (($612) + (($609*20)|0)|0); $614 = HEAP32[$613>>2]|0; @@ -76021,7 +75033,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { break; } $624 = HEAP32[$pTab>>2]|0; - $625 = (($624) + 44|0); + $625 = ((($624)) + 44|0); $626 = HEAP8[$625>>0]|0; $627 = $626&255; $628 = $627 & 16; @@ -76034,15 +75046,15 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { HEAP8[$630>>0] = 74; $631 = HEAP32[$iDataCur>>2]|0; $632 = HEAP32[$pOp>>2]|0; - $633 = (($632) + 4|0); + $633 = ((($632)) + 4|0); HEAP32[$633>>2] = $631; $634 = HEAP32[$regRowid>>2]|0; $635 = HEAP32[$pOp>>2]|0; - $636 = (($635) + 8|0); + $636 = ((($635)) + 8|0); HEAP32[$636>>2] = $634; $637 = HEAP32[$regAutoinc>>2]|0; $638 = HEAP32[$pOp>>2]|0; - $639 = (($638) + 12|0); + $639 = ((($638)) + 12|0); HEAP32[$639>>2] = $637; } } while(0); @@ -76052,7 +75064,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { break; } $642 = HEAP32[$pTab>>2]|0; - $643 = (($642) + 44|0); + $643 = ((($642)) + 44|0); $644 = HEAP8[$643>>0]|0; $645 = $644&255; $646 = $645 & 16; @@ -76084,7 +75096,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { (_sqlite3VdbeAddOp1($662,38,$663)|0); } else { $664 = HEAP32[$pTab>>2]|0; - $665 = (($664) + 44|0); + $665 = ((($664)) + 44|0); $666 = HEAP8[$665>>0]|0; $667 = $666&255; $668 = $667 & 16; @@ -76103,7 +75115,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $678 = HEAP32[$regAutoinc>>2]|0; (_sqlite3VdbeAddOp3($675,74,$676,$677,$678)|0); HEAP8[$appendFlag>>0] = 1; - break L147; + break L144; } } while(0); $673 = HEAP32[$v>>2]|0; @@ -76120,7 +75132,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { while(1) { $682 = HEAP32[$i>>2]|0; $683 = HEAP32[$pTab>>2]|0; - $684 = (($683) + 38|0); + $684 = ((($683)) + 38|0); $685 = HEAP16[$684>>1]|0; $686 = $685 << 16 >> 16; $687 = ($682|0)<($686|0); @@ -76134,11 +75146,11 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { HEAP32[$iRegStore>>2] = $691; $692 = HEAP32[$i>>2]|0; $693 = HEAP32[$pTab>>2]|0; - $694 = (($693) + 36|0); + $694 = ((($693)) + 36|0); $695 = HEAP16[$694>>1]|0; $696 = $695 << 16 >> 16; $697 = ($692|0)==($696|0); - L173: do { + L170: do { if ($697) { $698 = HEAP32[$v>>2]|0; $699 = HEAP32[$iRegStore>>2]|0; @@ -76146,14 +75158,14 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } else { $700 = HEAP32[$3>>2]|0; $701 = ($700|0)==(0|0); - L176: do { + L173: do { if ($701) { $702 = HEAP32[$i>>2]|0; $703 = HEAP32[$pTab>>2]|0; - $704 = (($703) + 4|0); + $704 = ((($703)) + 4|0); $705 = HEAP32[$704>>2]|0; $706 = (($705) + (($702*24)|0)|0); - $707 = (($706) + 23|0); + $707 = ((($706)) + 23|0); $708 = HEAP8[$707>>0]|0; $709 = $708&255; $710 = $709 & 2; @@ -76176,22 +75188,22 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { while(1) { $717 = HEAP32[$j>>2]|0; $718 = HEAP32[$3>>2]|0; - $719 = (($718) + 4|0); + $719 = ((($718)) + 4|0); $720 = HEAP32[$719>>2]|0; $721 = ($717|0)<($720|0); if (!($721)) { - break L176; + break L173; } $722 = HEAP32[$j>>2]|0; $723 = HEAP32[$3>>2]|0; $724 = HEAP32[$723>>2]|0; $725 = (($724) + ($722<<3)|0); - $726 = (($725) + 4|0); + $726 = ((($725)) + 4|0); $727 = HEAP32[$726>>2]|0; $728 = HEAP32[$i>>2]|0; $729 = ($727|0)==($728|0); if ($729) { - break L176; + break L173; } $730 = HEAP32[$j>>2]|0; $731 = (($730) + 1)|0; @@ -76211,7 +75223,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { if ($737) { $738 = HEAP32[$j>>2]|0; $739 = HEAP32[$3>>2]|0; - $740 = (($739) + 4|0); + $740 = ((($739)) + 4|0); $741 = HEAP32[$740>>2]|0; $742 = ($738|0)>=($741|0); if ($742) { @@ -76226,7 +75238,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $756 = HEAP32[$j>>2]|0; $757 = HEAP32[$iRegStore>>2]|0; (_sqlite3VdbeAddOp3($754,47,$755,$756,$757)|0); - break L173; + break L170; } $758 = HEAP32[$2>>2]|0; $759 = ($758|0)!=(0|0); @@ -76234,19 +75246,19 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $768 = HEAP32[$0>>2]|0; $769 = HEAP32[$j>>2]|0; $770 = HEAP32[$pList>>2]|0; - $771 = (($770) + 4|0); + $771 = ((($770)) + 4|0); $772 = HEAP32[$771>>2]|0; $773 = (($772) + (($769*20)|0)|0); $774 = HEAP32[$773>>2]|0; $775 = HEAP32[$iRegStore>>2]|0; _sqlite3ExprCode($768,$774,$775); - break L173; + break L170; } $760 = HEAP32[$regFromSelect>>2]|0; $761 = HEAP32[$regData>>2]|0; $762 = ($760|0)!=($761|0); if (!($762)) { - break L173; + break L170; } $763 = HEAP32[$v>>2]|0; $764 = HEAP32[$regFromSelect>>2]|0; @@ -76254,16 +75266,16 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $766 = (($764) + ($765))|0; $767 = HEAP32[$iRegStore>>2]|0; (_sqlite3VdbeAddOp2($763,34,$766,$767)|0); - break L173; + break L170; } } while(0); $743 = HEAP32[$0>>2]|0; $744 = HEAP32[$i>>2]|0; $745 = HEAP32[$pTab>>2]|0; - $746 = (($745) + 4|0); + $746 = ((($745)) + 4|0); $747 = HEAP32[$746>>2]|0; $748 = (($747) + (($744*24)|0)|0); - $749 = (($748) + 4|0); + $749 = ((($748)) + 4|0); $750 = HEAP32[$749>>2]|0; $751 = HEAP32[$iRegStore>>2]|0; _sqlite3ExprCodeFactorable($743,$750,$751); @@ -76274,7 +75286,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { HEAP32[$i>>2] = $777; } $778 = HEAP32[$pTab>>2]|0; - $779 = (($778) + 44|0); + $779 = ((($778)) + 44|0); $780 = HEAP8[$779>>0]|0; $781 = $780&255; $782 = $781 & 16; @@ -76289,7 +75301,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { _sqlite3VtabMakeWritable($787,$788); $789 = HEAP32[$v>>2]|0; $790 = HEAP32[$pTab>>2]|0; - $791 = (($790) + 38|0); + $791 = ((($790)) + 38|0); $792 = HEAP16[$791>>1]|0; $793 = $792 << 16 >> 16; $794 = (($793) + 2)|0; @@ -76342,7 +75354,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } while(0); $831 = HEAP32[$db>>2]|0; - $832 = (($831) + 24|0); + $832 = ((($831)) + 24|0); $833 = HEAP32[$832>>2]|0; $834 = $833 & 128; $835 = ($834|0)!=(0); @@ -76360,7 +75372,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $843 = HEAP32[$regData>>2]|0; $844 = (($843) - 2)|0; $845 = HEAP32[$pTab>>2]|0; - $846 = (($845) + 38|0); + $846 = ((($845)) + 38|0); $847 = HEAP16[$846>>1]|0; $848 = $847 << 16 >> 16; $849 = (($844) - ($848))|0; @@ -76400,7 +75412,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } while(0); $869 = HEAP32[$pTab>>2]|0; - $870 = (($869) + 44|0); + $870 = ((($869)) + 44|0); $871 = HEAP8[$870>>0]|0; $872 = $871&255; $873 = $872 & 16; @@ -76421,14 +75433,14 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } HEAP32[$idx>>2] = 0; $882 = HEAP32[$pTab>>2]|0; - $883 = (($882) + 8|0); + $883 = ((($882)) + 8|0); $884 = HEAP32[$883>>2]|0; HEAP32[$pIdx>>2] = $884; while(1) { $885 = HEAP32[$pIdx>>2]|0; $886 = ($885|0)!=(0|0); if (!($886)) { - break L23; + break L20; } $887 = HEAP32[$v>>2]|0; $888 = HEAP32[$idx>>2]|0; @@ -76436,7 +75448,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $890 = (($888) + ($889))|0; (_sqlite3VdbeAddOp1($887,61,$890)|0); $891 = HEAP32[$pIdx>>2]|0; - $892 = (($891) + 20|0); + $892 = ((($891)) + 20|0); $893 = HEAP32[$892>>2]|0; HEAP32[$pIdx>>2] = $893; $894 = HEAP32[$idx>>2]|0; @@ -76446,13 +75458,13 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } while(0); $896 = HEAP32[$0>>2]|0; - $897 = (($896) + 18|0); + $897 = ((($896)) + 18|0); $898 = HEAP8[$897>>0]|0; $899 = $898&255; $900 = ($899|0)==(0); if ($900) { $901 = HEAP32[$0>>2]|0; - $902 = (($901) + 412|0); + $902 = ((($901)) + 412|0); $903 = HEAP32[$902>>2]|0; $904 = ($903|0)==(0|0); if ($904) { @@ -76461,18 +75473,18 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } $906 = HEAP32[$db>>2]|0; - $907 = (($906) + 24|0); + $907 = ((($906)) + 24|0); $908 = HEAP32[$907>>2]|0; $909 = $908 & 128; $910 = ($909|0)!=(0); if ($910) { $911 = HEAP32[$0>>2]|0; - $912 = (($911) + 18|0); + $912 = ((($911)) + 18|0); $913 = HEAP8[$912>>0]|0; $914 = ($913<<24>>24)!=(0); if (!($914)) { $915 = HEAP32[$0>>2]|0; - $916 = (($915) + 412|0); + $916 = ((($915)) + 412|0); $917 = HEAP32[$916>>2]|0; $918 = ($917|0)!=(0|0); if (!($918)) { @@ -76482,7 +75494,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $921 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($921,1); $922 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($922,0,0,23552,0)|0); + (_sqlite3VdbeSetColName($922,0,0,26105,0)|0); } } } @@ -76546,7 +75558,7 @@ function _sqlite3IdListAppend($db,$pList,$pToken) { $11 = HEAP32[$2>>2]|0; $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = (_sqlite3ArrayAllocate($10,$12,8,$14,$i)|0); $16 = HEAP32[$2>>2]|0; HEAP32[$16>>2] = $15; @@ -76572,7 +75584,7 @@ function _sqlite3IdListAppend($db,$pList,$pToken) { $28 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($28|0); } - return 0|0; + return (0)|0; } function _spanSet($pOut,$pStart,$pEnd) { $pOut = $pOut|0; @@ -76590,16 +75602,16 @@ function _spanSet($pOut,$pStart,$pEnd) { $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); HEAP32[$6>>2] = $4; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$2>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = (($11) + ($9)|0); $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); HEAP32[$14>>2] = $12; STACKTOP = sp;return; } @@ -76617,20 +75629,22 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $bOk = 0, $db = 0, $i = 0, $i1 = 0, $n = 0, $or$cond = 0, $vararg_buffer2 = 0, $x = 0, $z = 0, label = 0, sp = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $bOk = 0, $db = 0, $i = 0, $i1 = 0, $n = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $x = 0, $z = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer2 = sp + 8|0; - $0 = sp + 36|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer2 = sp; + $vararg_buffer = sp + 16|0; + $0 = sp + 28|0; $1 = sp + 32|0; - $db = sp + 28|0; - $z = sp + 24|0; - $x = sp + 42|0; - $n = sp + 20|0; - $i = sp; - $bOk = sp + 16|0; - $i1 = sp + 40|0; - $a = sp + 12|0; + $db = sp + 40|0; + $z = sp + 20|0; + $x = sp + 48|0; + $n = sp + 36|0; + $i = sp + 8|0; + $bOk = sp + 24|0; + $i1 = sp + 50|0; + $a = sp + 44|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; $2 = HEAP32[$0>>2]|0; @@ -76642,24 +75656,24 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { STACKTOP = sp;return; } $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; HEAP32[$z>>2] = $8; $9 = HEAP32[$z>>2]|0; - $10 = (($9) + 1|0); + $10 = ((($9)) + 1|0); $11 = HEAP8[$10>>0]|0; $12 = $11 << 24 >> 24; $13 = ($12|0)==(0); do { if ($13) { $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 440|0); + $15 = ((($14)) + 440|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + 1)|0; HEAP32[$15>>2] = $17; $18 = $17&65535; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 32|0); + $20 = ((($19)) + 32|0); HEAP16[$20>>1] = $18; } else { HEAP16[$x>>1] = 0; @@ -76672,7 +75686,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $26 = ($25|0)==(63); if ($26) { $27 = HEAP32[$z>>2]|0; - $28 = (($27) + 1|0); + $28 = ((($27)) + 1|0); $29 = HEAP32[$n>>2]|0; $30 = (($29) - 1)|0; $31 = (_sqlite3Atoi64($28,$i,$30,1)|0); @@ -76688,7 +75702,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $40 = $36&65535; HEAP16[$x>>1] = $40; $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 32|0); + $42 = ((($41)) + 32|0); HEAP16[$42>>1] = $40; $43 = HEAP32[$bOk>>2]|0; $44 = ($43|0)==(0); @@ -76714,8 +75728,8 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $60 = $59; $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$db>>2]|0; - $63 = (($62) + 88|0); - $64 = (($63) + 36|0); + $63 = ((($62)) + 88|0); + $64 = ((($63)) + 36|0); $65 = HEAP32[$64>>2]|0; $66 = ($65|0)<(0); $67 = $66 << 31 >> 31; @@ -76731,11 +75745,11 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { if ((label|0) == 7) { $73 = HEAP32[$0>>2]|0; $74 = HEAP32[$db>>2]|0; - $75 = (($74) + 88|0); - $76 = (($75) + 36|0); + $75 = ((($74)) + 88|0); + $76 = ((($75)) + 36|0); $77 = HEAP32[$76>>2]|0; - HEAP32[$vararg_buffer2>>2] = $77; - _sqlite3ErrorMsg($73,23360,$vararg_buffer2); + HEAP32[$vararg_buffer>>2] = $77; + _sqlite3ErrorMsg($73,25930,$vararg_buffer); HEAP16[$x>>1] = 0; } $78 = $i; @@ -76745,7 +75759,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $82 = $81; $83 = HEAP32[$82>>2]|0; $84 = HEAP32[$0>>2]|0; - $85 = (($84) + 440|0); + $85 = ((($84)) + 440|0); $86 = HEAP32[$85>>2]|0; $87 = ($86|0)<(0); $88 = $87 << 31 >> 31; @@ -76762,7 +75776,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $98 = $97; $99 = HEAP32[$98>>2]|0; $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 440|0); + $101 = ((($100)) + 440|0); HEAP32[$101>>2] = $96; } } else { @@ -76771,7 +75785,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $102 = HEAP16[$i1>>1]|0; $103 = $102 << 16 >> 16; $104 = HEAP32[$0>>2]|0; - $105 = (($104) + 444|0); + $105 = ((($104)) + 444|0); $106 = HEAP32[$105>>2]|0; $107 = ($103|0)<($106|0); if (!($107)) { @@ -76780,7 +75794,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $108 = HEAP16[$i1>>1]|0; $109 = $108 << 16 >> 16; $110 = HEAP32[$0>>2]|0; - $111 = (($110) + 472|0); + $111 = ((($110)) + 472|0); $112 = HEAP32[$111>>2]|0; $113 = (($112) + ($109<<2)|0); $114 = HEAP32[$113>>2]|0; @@ -76789,7 +75803,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $116 = HEAP16[$i1>>1]|0; $117 = $116 << 16 >> 16; $118 = HEAP32[$0>>2]|0; - $119 = (($118) + 472|0); + $119 = ((($118)) + 472|0); $120 = HEAP32[$119>>2]|0; $121 = (($120) + ($117<<2)|0); $122 = HEAP32[$121>>2]|0; @@ -76812,7 +75826,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $129 = $128&65535; HEAP16[$x>>1] = $129; $130 = HEAP32[$1>>2]|0; - $131 = (($130) + 32|0); + $131 = ((($130)) + 32|0); HEAP16[$131>>1] = $129; } $134 = HEAP16[$x>>1]|0; @@ -76820,13 +75834,13 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $136 = ($135|0)==(0); if ($136) { $137 = HEAP32[$0>>2]|0; - $138 = (($137) + 440|0); + $138 = ((($137)) + 440|0); $139 = HEAP32[$138>>2]|0; $140 = (($139) + 1)|0; HEAP32[$138>>2] = $140; $141 = $140&65535; $142 = HEAP32[$1>>2]|0; - $143 = (($142) + 32|0); + $143 = ((($142)) + 32|0); HEAP16[$143>>1] = $141; HEAP16[$x>>1] = $141; } @@ -76838,14 +75852,14 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $147 = HEAP16[$x>>1]|0; $148 = $147 << 16 >> 16; $149 = HEAP32[$0>>2]|0; - $150 = (($149) + 444|0); + $150 = ((($149)) + 444|0); $151 = HEAP32[$150>>2]|0; $152 = ($148|0)>($151|0); do { if ($152) { $153 = HEAP32[$db>>2]|0; $154 = HEAP32[$0>>2]|0; - $155 = (($154) + 472|0); + $155 = ((($154)) + 472|0); $156 = HEAP32[$155>>2]|0; $157 = HEAP16[$x>>1]|0; $158 = $157 << 16 >> 16; @@ -76859,17 +75873,17 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { } else { $163 = HEAP32[$a>>2]|0; $164 = HEAP32[$0>>2]|0; - $165 = (($164) + 472|0); + $165 = ((($164)) + 472|0); HEAP32[$165>>2] = $163; $166 = HEAP32[$0>>2]|0; - $167 = (($166) + 444|0); + $167 = ((($166)) + 444|0); $168 = HEAP32[$167>>2]|0; $169 = HEAP32[$a>>2]|0; $170 = (($169) + ($168<<2)|0); $171 = HEAP16[$x>>1]|0; $172 = $171 << 16 >> 16; $173 = HEAP32[$0>>2]|0; - $174 = (($173) + 444|0); + $174 = ((($173)) + 444|0); $175 = HEAP32[$174>>2]|0; $176 = (($172) - ($175))|0; $177 = $176<<2; @@ -76877,7 +75891,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $178 = HEAP16[$x>>1]|0; $179 = $178 << 16 >> 16; $180 = HEAP32[$0>>2]|0; - $181 = (($180) + 444|0); + $181 = ((($180)) + 444|0); HEAP32[$181>>2] = $179; break; } @@ -76892,7 +75906,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $187 = $186 << 16 >> 16; $188 = (($187) - 1)|0; $189 = HEAP32[$0>>2]|0; - $190 = (($189) + 472|0); + $190 = ((($189)) + 472|0); $191 = HEAP32[$190>>2]|0; $192 = (($191) + ($188<<2)|0); $193 = HEAP32[$192>>2]|0; @@ -76906,7 +75920,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $197 = $196 << 16 >> 16; $198 = (($197) - 1)|0; $199 = HEAP32[$0>>2]|0; - $200 = (($199) + 472|0); + $200 = ((($199)) + 472|0); $201 = HEAP32[$200>>2]|0; $202 = (($201) + ($198<<2)|0); $203 = HEAP32[$202>>2]|0; @@ -76919,7 +75933,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $209 = $208 << 16 >> 16; $210 = (($209) - 1)|0; $211 = HEAP32[$0>>2]|0; - $212 = (($211) + 472|0); + $212 = ((($211)) + 472|0); $213 = HEAP32[$212>>2]|0; $214 = (($213) + ($210<<2)|0); HEAP32[$214>>2] = $207; @@ -76927,25 +75941,25 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { } } while(0); $215 = HEAP32[$0>>2]|0; - $216 = (($215) + 64|0); + $216 = ((($215)) + 64|0); $217 = HEAP32[$216>>2]|0; $218 = ($217|0)!=(0); if ($218) { STACKTOP = sp;return; } $219 = HEAP32[$0>>2]|0; - $220 = (($219) + 440|0); + $220 = ((($219)) + 440|0); $221 = HEAP32[$220>>2]|0; $222 = HEAP32[$db>>2]|0; - $223 = (($222) + 88|0); - $224 = (($223) + 36|0); + $223 = ((($222)) + 88|0); + $224 = ((($223)) + 36|0); $225 = HEAP32[$224>>2]|0; $226 = ($221|0)>($225|0); if (!($226)) { STACKTOP = sp;return; } $227 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($227,23408,$vararg_buffer2); + _sqlite3ErrorMsg($227,25973,$vararg_buffer2); STACKTOP = sp;return; } function _sqlite3ExprAddCollateToken($pParse,$pExpr,$pCollName) { @@ -76964,7 +75978,7 @@ function _sqlite3ExprAddCollateToken($pParse,$pExpr,$pCollName) { HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $pCollName; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = ($5>>>0)>(0); if (!($6)) { @@ -76984,10 +75998,10 @@ function _sqlite3ExprAddCollateToken($pParse,$pExpr,$pCollName) { } $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$pNew>>2]|0; - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); HEAP32[$15>>2] = $13; $16 = HEAP32[$pNew>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = $18 | 4352; HEAP32[$17>>2] = $19; @@ -77032,7 +76046,7 @@ function _sqlite3ExprFunction($pParse,$pList,$pToken) { } else { $13 = HEAP32[$2>>2]|0; $14 = HEAP32[$pNew>>2]|0; - $15 = (($14) + 20|0); + $15 = ((($14)) + 20|0); HEAP32[$15>>2] = $13; $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$pNew>>2]|0; @@ -77042,7 +76056,7 @@ function _sqlite3ExprFunction($pParse,$pList,$pToken) { $19 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($19|0); } - return 0|0; + return (0)|0; } function _spanBinaryExpr($pOut,$pParse,$op,$pLeft,$pRight) { $pOut = $pOut|0; @@ -77074,16 +76088,16 @@ function _spanBinaryExpr($pOut,$pParse,$op,$pLeft,$pRight) { $12 = HEAP32[$0>>2]|0; HEAP32[$12>>2] = $11; $13 = HEAP32[$3>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); HEAP32[$17>>2] = $15; $18 = HEAP32[$4>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 8|0); + $22 = ((($21)) + 8|0); HEAP32[$22>>2] = $20; STACKTOP = sp;return; } @@ -77115,19 +76129,19 @@ function _spanUnaryPostfix($pOut,$pParse,$op,$pOperand,$pPostOp) { $10 = HEAP32[$0>>2]|0; HEAP32[$10>>2] = $9; $11 = HEAP32[$3>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); HEAP32[$15>>2] = $13; $16 = HEAP32[$4>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$4>>2]|0; $20 = HEAP32[$19>>2]|0; $21 = (($20) + ($18)|0); $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 8|0); + $23 = ((($22)) + 8|0); HEAP32[$23>>2] = $21; STACKTOP = sp;return; } @@ -77173,11 +76187,11 @@ function _binaryToUnaryIfNull($pParse,$pY,$pA,$op) { HEAP8[$16>>0] = $15; $17 = HEAP32[$db>>2]|0; $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 16|0); + $19 = ((($18)) + 16|0); $20 = HEAP32[$19>>2]|0; _sqlite3ExprDelete($17,$20); $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 16|0); + $22 = ((($21)) + 16|0); HEAP32[$22>>2] = 0; STACKTOP = sp;return; } @@ -77211,13 +76225,13 @@ function _spanUnaryPrefix($pOut,$pParse,$op,$pOperand,$pPreOp) { $11 = HEAP32[$4>>2]|0; $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); HEAP32[$19>>2] = $17; STACKTOP = sp;return; } @@ -77235,7 +76249,7 @@ function _sqlite3ExprSetHeight($pParse,$p) { _exprSetHeight($2); $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 24|0); + $5 = ((($4)) + 24|0); $6 = HEAP32[$5>>2]|0; (_sqlite3ExprCheckHeight($3,$6)|0); STACKTOP = sp;return; @@ -77249,22 +76263,24 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code = 0, $db = 0, $iDb = 0, $pIndex = 0, $pTab = 0, $v = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zDb = 0, $zTab = 0; - var label = 0, sp = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code = 0, $db = 0, $iDb = 0, $pIndex = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0; + var $zDb = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer5 = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $pIndex = sp + 40|0; - $v = sp + 36|0; - $db = sp + 32|0; - $iDb = sp + 28|0; - $code = sp + 24|0; - $pTab = sp + 20|0; - $zDb = sp + 16|0; - $zTab = sp + 12|0; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer2 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 36|0; + $1 = sp + 44|0; + $2 = sp + 28|0; + $pIndex = sp + 32|0; + $v = sp + 40|0; + $db = sp + 48|0; + $iDb = sp + 52|0; + $code = sp + 56|0; + $pTab = sp + 60|0; + $zDb = sp + 64|0; + $zTab = sp + 68|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName; HEAP32[$2>>2] = $ifExists; @@ -77272,7 +76288,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; - $6 = (($5) + 64|0); + $6 = ((($5)) + 64|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if ($8) { @@ -77292,12 +76308,12 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { } $12 = HEAP32[$db>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 8|0); - $15 = (($14) + 8|0); + $14 = ((($13)) + 8|0); + $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 8|0); - $19 = (($18) + 4|0); + $18 = ((($17)) + 8|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3FindIndex($12,$16,$20)|0); HEAP32[$pIndex>>2] = $21; @@ -77309,18 +76325,18 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { $26 = HEAP32[$0>>2]|0; $27 = HEAP32[$1>>2]|0; if ($25) { - $28 = (($27) + 8|0); - $29 = (($28) + 4|0); + $28 = ((($27)) + 8|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; _sqlite3CodeVerifyNamedSchema($26,$30); } else { - HEAP32[$vararg_buffer5>>2] = $27; - $vararg_ptr1 = (($vararg_buffer5) + 4|0); + HEAP32[$vararg_buffer>>2] = $27; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($26,23120,$vararg_buffer5); + _sqlite3ErrorMsg($26,25718,$vararg_buffer); } $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 17|0); + $32 = ((($31)) + 17|0); HEAP8[$32>>0] = 1; $106 = HEAP32[$db>>2]|0; $107 = HEAP32[$1>>2]|0; @@ -77328,15 +76344,15 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { STACKTOP = sp;return; } $33 = HEAP32[$pIndex>>2]|0; - $34 = (($33) + 55|0); + $34 = ((($33)) + 55|0); $35 = HEAP8[$34>>0]|0; $36 = $35 & 3; $37 = $36&255; $38 = ($37|0)!=(0); if ($38) { $39 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer5>>2] = 0; - _sqlite3ErrorMsg($39,23144,$vararg_buffer5); + HEAP32[$vararg_buffer2>>2] = 0; + _sqlite3ErrorMsg($39,25736,$vararg_buffer2); $106 = HEAP32[$db>>2]|0; $107 = HEAP32[$1>>2]|0; _sqlite3SrcListDelete($106,$107); @@ -77344,25 +76360,25 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { } $40 = HEAP32[$db>>2]|0; $41 = HEAP32[$pIndex>>2]|0; - $42 = (($41) + 24|0); + $42 = ((($41)) + 24|0); $43 = HEAP32[$42>>2]|0; $44 = (_sqlite3SchemaToIndex($40,$43)|0); HEAP32[$iDb>>2] = $44; HEAP32[$code>>2] = 10; $45 = HEAP32[$pIndex>>2]|0; - $46 = (($45) + 12|0); + $46 = ((($45)) + 12|0); $47 = HEAP32[$46>>2]|0; HEAP32[$pTab>>2] = $47; $48 = HEAP32[$iDb>>2]|0; $49 = HEAP32[$db>>2]|0; - $50 = (($49) + 16|0); + $50 = ((($49)) + 16|0); $51 = HEAP32[$50>>2]|0; $52 = (($51) + ($48<<4)|0); $53 = HEAP32[$52>>2]|0; HEAP32[$zDb>>2] = $53; $54 = HEAP32[$iDb>>2]|0; $55 = ($54|0)==(1); - $56 = $55 ? 14904 : 14928; + $56 = $55 ? 19269 : 19288; HEAP32[$zTab>>2] = $56; $57 = HEAP32[$0>>2]|0; $58 = HEAP32[$zTab>>2]|0; @@ -77412,32 +76428,32 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { $79 = HEAP32[$0>>2]|0; $80 = HEAP32[$iDb>>2]|0; $81 = HEAP32[$db>>2]|0; - $82 = (($81) + 16|0); + $82 = ((($81)) + 16|0); $83 = HEAP32[$82>>2]|0; $84 = (($83) + ($80<<4)|0); $85 = HEAP32[$84>>2]|0; $86 = HEAP32[$iDb>>2]|0; $87 = ($86|0)==(1); - $88 = $87 ? 14904 : 14928; + $88 = $87 ? 19269 : 19288; $89 = HEAP32[$pIndex>>2]|0; $90 = HEAP32[$89>>2]|0; HEAP32[$vararg_buffer5>>2] = $85; - $vararg_ptr8 = (($vararg_buffer5) + 4|0); + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); HEAP32[$vararg_ptr8>>2] = $88; - $vararg_ptr9 = (($vararg_buffer5) + 8|0); + $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); HEAP32[$vararg_ptr9>>2] = $90; - _sqlite3NestedParse($79,23224,$vararg_buffer5); + _sqlite3NestedParse($79,25809,$vararg_buffer5); $91 = HEAP32[$0>>2]|0; $92 = HEAP32[$iDb>>2]|0; $93 = HEAP32[$pIndex>>2]|0; $94 = HEAP32[$93>>2]|0; - _sqlite3ClearStatTables($91,$92,18160,$94); + _sqlite3ClearStatTables($91,$92,22331,$94); $95 = HEAP32[$0>>2]|0; $96 = HEAP32[$iDb>>2]|0; _sqlite3ChangeCookie($95,$96); $97 = HEAP32[$0>>2]|0; $98 = HEAP32[$pIndex>>2]|0; - $99 = (($98) + 44|0); + $99 = ((($98)) + 44|0); $100 = HEAP32[$99>>2]|0; $101 = HEAP32[$iDb>>2]|0; _destroyRootPage($97,$100,$101); @@ -77533,187 +76549,194 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { var $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0; var $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0; var $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0; - var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; - var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; - var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; - var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; - var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; - var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; - var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0; - var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0; - var $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0; - var $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0; - var $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0; - var $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; - var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; - var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; - var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; - var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; - var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; - var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0; - var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0; - var $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0; - var $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0; - var $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0; - var $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0; - var $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0; - var $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0; - var $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0; - var $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0; - var $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0; - var $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0; - var $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0; - var $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0; - var $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0; - var $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0; - var $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0; - var $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0; - var $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0; - var $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0; - var $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0; - var $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0; - var $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0; - var $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0; - var $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0; - var $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0; - var $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0; - var $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $N = 0, $N44 = 0, $aFcntl = 0, $addr = 0, $addr31 = 0; - var $addr40 = 0, $addr41 = 0, $addr9 = 0, $addrOk = 0, $addrTop = 0, $aiCols = 0, $b = 0, $ckUniq = 0, $cnt = 0, $cnum = 0, $db = 0, $eAuto = 0, $eMode = 0, $eMode4 = 0, $eMode43 = 0, $i = 0, $i11 = 0, $i15 = 0, $i18 = 0, $i19 = 0; - var $i20 = 0, $i22 = 0, $i26 = 0, $i29 = 0, $i42 = 0, $iAddr = 0, $iBt = 0, $iCol = 0, $iCookie = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iKey = 0, $iLimit = 0, $iLimit8 = 0, $iReg = 0, $ii = 0, $ii3 = 0, $ii5 = 0, $isQuick = 0; - var $j = 0, $j27 = 0, $j30 = 0, $jmp2 = 0, $jmp238 = 0, $jmp3 = 0, $jmp339 = 0, $jmp4 = 0, $jmp5 = 0, $jmp6 = 0, $k = 0, $k28 = 0, $kk = 0, $loopTop = 0, $lwr = 0, $mask = 0, $mem = 0, $mid = 0, $mxErr = 0, $n = 0; - var $nHidden = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $p = 0, $pBt = 0, $pBt2 = 0, $pBt7 = 0, $pCol = 0, $pColl = 0, $pDb = 0, $pEnc = 0, $pFK = 0, $pFK23 = 0; + var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0; + var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0; + var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0; + var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0; + var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0; + var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; + var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; + var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; + var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; + var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0; + var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0; + var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0; + var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0; + var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0; + var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0; + var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0; + var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0; + var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0; + var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0; + var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0; + var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0; + var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0; + var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0; + var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0; + var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0; + var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0; + var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0; + var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0; + var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0; + var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0; + var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0; + var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0; + var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0; + var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0; + var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0; + var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0; + var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0; + var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0; + var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0; + var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $N = 0, $N44 = 0, $aFcntl = 0, $addr = 0; + var $addr31 = 0, $addr40 = 0, $addr41 = 0, $addr9 = 0, $addrOk = 0, $addrTop = 0, $aiCols = 0, $b = 0, $ckUniq = 0, $cnt = 0, $cnum = 0, $db = 0, $eAuto = 0, $eMode = 0, $eMode4 = 0, $eMode43 = 0, $i = 0, $i11 = 0, $i15 = 0, $i18 = 0; + var $i19 = 0, $i20 = 0, $i22 = 0, $i26 = 0, $i29 = 0, $i42 = 0, $iAddr = 0, $iBt = 0, $iCol = 0, $iCookie = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iKey = 0, $iLimit = 0, $iLimit8 = 0, $iReg = 0, $ii = 0, $ii3 = 0, $ii5 = 0; + var $isQuick = 0, $j = 0, $j27 = 0, $j30 = 0, $jmp2 = 0, $jmp238 = 0, $jmp3 = 0, $jmp339 = 0, $jmp4 = 0, $jmp5 = 0, $jmp6 = 0, $k = 0, $k28 = 0, $kk = 0, $loopTop = 0, $lwr = 0, $mask = 0, $mem = 0, $mid = 0, $mxErr = 0; + var $n = 0, $nHidden = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $p = 0, $pBt = 0, $pBt2 = 0, $pBt7 = 0, $pCol = 0, $pColl = 0, $pDb = 0, $pEnc = 0, $pFK = 0, $pFK23 = 0; var $pId = 0, $pIdx = 0, $pIdx13 = 0, $pIdx16 = 0, $pIdx25 = 0, $pIdx34 = 0, $pIdx36 = 0, $pPager = 0, $pPager6 = 0, $pParent = 0, $pPk = 0, $pPk37 = 0, $pPrior = 0, $pTab = 0, $pTab12 = 0, $pTab14 = 0, $pTab17 = 0, $pTab21 = 0, $pTab24 = 0, $pTab33 = 0; - var $pTab35 = 0, $pTbls = 0, $r1 = 0, $rc = 0, $regKey = 0, $regResult = 0, $regRow = 0, $res = 0, $size = 0, $size1 = 0, $size10 = 0, $sz = 0, $uniqOk = 0, $upr = 0, $v = 0, $vararg_buffer35 = 0, $vararg_ptr34 = 0, $x = 0, $x32 = 0, $zCol = 0; - var $zDb = 0, $zErr = 0, $zLeft = 0, $zMode = 0, $zOnDelete = 0, $zOnUpdate = 0, $zOpt = 0, $zRet = 0, $zRight = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; - $vararg_buffer35 = sp + 32|0; - $0 = sp + 544|0; - $1 = sp + 540|0; - $2 = sp + 536|0; - $3 = sp + 532|0; - $4 = sp + 528|0; - $zLeft = sp + 524|0; - $zRight = sp + 520|0; - $zDb = sp + 516|0; - $pId = sp + 512|0; - $aFcntl = sp + 496|0; - $iDb = sp + 488|0; - $lwr = sp + 484|0; - $upr = sp + 480|0; - $mid = sp + 476|0; - $rc = sp + 472|0; - $db = sp + 468|0; - $pDb = sp + 464|0; - $v = sp + 460|0; - $mem = sp + 456|0; - $addr = sp + 452|0; - $size = sp + 448|0; - $pBt = sp + 444|0; - $size1 = sp + 440|0; - $pBt2 = sp + 436|0; - $b = sp + 432|0; - $ii = sp + 428|0; - $iReg = sp + 424|0; - $zRet = sp + 420|0; - $eMode = sp + 416|0; - $pPager = sp + 412|0; - $ii3 = sp + 408|0; - $eMode4 = sp + 404|0; - $ii5 = sp + 400|0; - $zMode = sp + 396|0; - $n = sp + 392|0; - $pPager6 = sp + 388|0; - $iLimit = sp + 24|0; - $pBt7 = sp + 384|0; - $eAuto = sp + 380|0; - $iAddr = sp + 376|0; - $iLimit8 = sp + 372|0; - $addr9 = sp + 368|0; - $size10 = sp + 364|0; + var $pTab35 = 0, $pTbls = 0, $r1 = 0, $rc = 0, $regKey = 0, $regResult = 0, $regRow = 0, $res = 0, $size = 0, $size1 = 0, $size10 = 0, $sz = 0, $uniqOk = 0, $upr = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer17 = 0, $vararg_buffer20 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0; + var $vararg_buffer27 = 0, $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_ptr33 = 0, $x = 0, $x32 = 0, $zCol = 0, $zDb = 0, $zErr = 0, $zLeft = 0, $zMode = 0, $zOnDelete = 0, $zOnUpdate = 0, $zOpt = 0, $zRet = 0, $zRight = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; + $vararg_buffer34 = sp + 24|0; + $vararg_buffer30 = sp + 80|0; + $vararg_buffer27 = sp + 56|0; + $vararg_buffer25 = sp + 32|0; + $vararg_buffer22 = sp + 88|0; + $vararg_buffer20 = sp + 64|0; + $vararg_buffer17 = sp + 48|0; + $vararg_buffer = sp + 40|0; + $0 = sp + 272|0; + $1 = sp + 268|0; + $2 = sp + 112|0; + $3 = sp + 524|0; + $4 = sp + 104|0; + $zLeft = sp + 96|0; + $zRight = sp + 92|0; + $zDb = sp + 520|0; + $pId = sp + 392|0; + $aFcntl = sp + 296|0; + $iDb = sp + 284|0; + $lwr = sp + 168|0; + $upr = sp + 164|0; + $mid = sp + 156|0; + $rc = sp + 152|0; + $db = sp + 120|0; + $pDb = sp + 124|0; + $v = sp + 128|0; + $mem = sp + 132|0; + $addr = sp + 136|0; + $size = sp + 140|0; + $pBt = sp + 144|0; + $size1 = sp + 148|0; + $pBt2 = sp + 516|0; + $b = sp + 492|0; + $ii = sp + 388|0; + $iReg = sp + 360|0; + $zRet = sp + 292|0; + $eMode = sp + 288|0; + $pPager = sp + 280|0; + $ii3 = sp + 276|0; + $eMode4 = sp + 180|0; + $ii5 = sp + 184|0; + $zMode = sp + 188|0; + $n = sp + 192|0; + $pPager6 = sp + 196|0; + $iLimit = sp + 72|0; + $pBt7 = sp + 204|0; + $eAuto = sp + 208|0; + $iAddr = sp + 212|0; + $iLimit8 = sp + 216|0; + $addr9 = sp + 220|0; + $size10 = sp + 224|0; $sz = sp + 16|0; - $res = sp + 360|0; - $mask = sp + 356|0; - $pTab = sp + 352|0; - $i = sp + 348|0; - $k = sp + 344|0; - $nHidden = sp + 340|0; - $pCol = sp + 336|0; - $pPk = sp + 332|0; - $pIdx = sp + 328|0; - $i11 = sp + 324|0; - $pTab12 = sp + 320|0; - $pIdx13 = sp + 316|0; - $pTab14 = sp + 312|0; - $i15 = sp + 308|0; - $cnum = sp + 548|0; - $pIdx16 = sp + 304|0; - $pTab17 = sp + 300|0; - $i18 = sp + 296|0; - $i19 = sp + 292|0; - $i20 = sp + 288|0; - $p = sp + 284|0; - $pColl = sp + 280|0; - $pFK = sp + 276|0; - $pTab21 = sp + 272|0; - $i22 = sp + 268|0; - $j = sp + 264|0; - $zCol = sp + 260|0; - $zOnDelete = sp + 256|0; - $zOnUpdate = sp + 252|0; - $pFK23 = sp + 248|0; - $pTab24 = sp + 244|0; - $pParent = sp + 240|0; - $pIdx25 = sp + 236|0; - $i26 = sp + 232|0; - $j27 = sp + 228|0; - $k28 = sp + 224|0; - $x = sp + 220|0; - $regResult = sp + 216|0; - $regKey = sp + 212|0; - $regRow = sp + 208|0; - $addrTop = sp + 204|0; - $addrOk = sp + 200|0; - $aiCols = sp + 196|0; - $iKey = sp + 192|0; - $i29 = sp + 188|0; - $j30 = sp + 184|0; - $addr31 = sp + 180|0; - $mxErr = sp + 176|0; - $isQuick = sp + 172|0; - $x32 = sp + 168|0; - $pTbls = sp + 164|0; - $cnt = sp + 160|0; - $pTab33 = sp + 156|0; - $pIdx34 = sp + 152|0; - $pTab35 = sp + 148|0; - $pIdx36 = sp + 144|0; - $pPk37 = sp + 140|0; - $pPrior = sp + 136|0; - $loopTop = sp + 132|0; - $iDataCur = sp + 128|0; - $iIdxCur = sp + 124|0; - $r1 = sp + 120|0; - $zErr = sp + 116|0; - $jmp2 = sp + 112|0; - $jmp3 = sp + 108|0; - $jmp238 = sp + 104|0; - $jmp339 = sp + 100|0; - $jmp4 = sp + 96|0; - $jmp5 = sp + 92|0; - $ckUniq = sp + 88|0; - $uniqOk = sp + 84|0; - $jmp6 = sp + 80|0; - $kk = sp + 76|0; - $iCol = sp + 72|0; - $pEnc = sp + 68|0; - $iCookie = sp + 64|0; - $addr40 = sp + 60|0; - $addr41 = sp + 56|0; - $i42 = sp + 52|0; - $zOpt = sp + 48|0; - $iBt = sp + 44|0; - $eMode43 = sp + 40|0; + $res = sp + 232|0; + $mask = sp + 236|0; + $pTab = sp + 240|0; + $i = sp + 244|0; + $k = sp + 248|0; + $nHidden = sp + 252|0; + $pCol = sp + 256|0; + $pPk = sp + 260|0; + $pIdx = sp + 264|0; + $i11 = sp + 544|0; + $pTab12 = sp + 552|0; + $pIdx13 = sp + 560|0; + $pTab14 = sp + 568|0; + $i15 = sp + 576|0; + $cnum = sp + 596|0; + $pIdx16 = sp + 384|0; + $pTab17 = sp + 368|0; + $i18 = sp + 356|0; + $i19 = sp + 352|0; + $i20 = sp + 316|0; + $p = sp + 320|0; + $pColl = sp + 324|0; + $pFK = sp + 328|0; + $pTab21 = sp + 332|0; + $i22 = sp + 336|0; + $j = sp + 340|0; + $zCol = sp + 556|0; + $zOnDelete = sp + 348|0; + $zOnUpdate = sp + 564|0; + $pFK23 = sp + 572|0; + $pTab24 = sp + 584|0; + $pParent = sp + 588|0; + $pIdx25 = sp + 364|0; + $i26 = sp + 592|0; + $j27 = sp + 372|0; + $k28 = sp + 376|0; + $x = sp + 380|0; + $regResult = sp + 200|0; + $regKey = sp + 396|0; + $regRow = sp + 400|0; + $addrTop = sp + 404|0; + $addrOk = sp + 408|0; + $aiCols = sp + 412|0; + $iKey = sp + 416|0; + $i29 = sp + 420|0; + $j30 = sp + 424|0; + $addr31 = sp + 428|0; + $mxErr = sp + 432|0; + $isQuick = sp + 436|0; + $x32 = sp + 440|0; + $pTbls = sp + 444|0; + $cnt = sp + 228|0; + $pTab33 = sp + 448|0; + $pIdx34 = sp + 452|0; + $pTab35 = sp + 456|0; + $pIdx36 = sp + 460|0; + $pPk37 = sp + 464|0; + $pPrior = sp + 468|0; + $loopTop = sp + 472|0; + $iDataCur = sp + 476|0; + $iIdxCur = sp + 480|0; + $r1 = sp + 484|0; + $zErr = sp + 488|0; + $jmp2 = sp + 580|0; + $jmp3 = sp + 496|0; + $jmp238 = sp + 500|0; + $jmp339 = sp + 504|0; + $jmp4 = sp + 508|0; + $jmp5 = sp + 512|0; + $ckUniq = sp + 312|0; + $uniqOk = sp + 176|0; + $jmp6 = sp + 528|0; + $kk = sp + 116|0; + $iCol = sp + 100|0; + $pEnc = sp + 532|0; + $iCookie = sp + 172|0; + $addr40 = sp + 160|0; + $addr41 = sp + 540|0; + $i42 = sp + 108|0; + $zOpt = sp + 536|0; + $iBt = sp + 548|0; + $eMode43 = sp + 344|0; $N = sp + 8|0; $N44 = sp; HEAP32[$0>>2] = $pParse; @@ -77738,7 +76761,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $11 = HEAP32[$v>>2]|0; _sqlite3VdbeRunOnlyOnce($11); $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 72|0); + $13 = ((($12)) + 72|0); HEAP32[$13>>2] = 2; $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$1>>2]|0; @@ -77752,7 +76775,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } $20 = HEAP32[$iDb>>2]|0; $21 = HEAP32[$db>>2]|0; - $22 = (($21) + 16|0); + $22 = ((($21)) + 16|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + ($20<<4)|0); HEAP32[$pDb>>2] = $24; @@ -77780,15 +76803,15 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $37 = HEAP32[$db>>2]|0; $38 = HEAP32[$3>>2]|0; if ($36) { - HEAP32[$vararg_buffer35>>2] = $38; - $39 = (_sqlite3MPrintf($37,20296,$vararg_buffer35)|0); + HEAP32[$vararg_buffer>>2] = $38; + $39 = (_sqlite3MPrintf($37,23988,$vararg_buffer)|0); HEAP32[$zRight>>2] = $39; } else { $40 = (_sqlite3NameFromToken($37,$38)|0); HEAP32[$zRight>>2] = $40; } $41 = HEAP32[$2>>2]|0; - $42 = (($41) + 4|0); + $42 = ((($41)) + 4|0); $43 = HEAP32[$42>>2]|0; $44 = ($43>>>0)>(0); if ($44) { @@ -77809,16 +76832,16 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if (!($53)) { HEAP32[$aFcntl>>2] = 0; $54 = HEAP32[$zLeft>>2]|0; - $55 = (($aFcntl) + 4|0); + $55 = ((($aFcntl)) + 4|0); HEAP32[$55>>2] = $54; $56 = HEAP32[$zRight>>2]|0; - $57 = (($aFcntl) + 8|0); + $57 = ((($aFcntl)) + 8|0); HEAP32[$57>>2] = $56; - $58 = (($aFcntl) + 12|0); + $58 = ((($aFcntl)) + 12|0); HEAP32[$58>>2] = 0; $59 = HEAP32[$db>>2]|0; - $60 = (($59) + 444|0); - $61 = (($60) + 8|0); + $60 = ((($59)) + 444|0); + $61 = ((($60)) + 8|0); HEAP32[$61>>2] = 0; $62 = HEAP32[$db>>2]|0; $63 = HEAP32[$zDb>>2]|0; @@ -77833,7 +76856,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break; } $69 = HEAP32[$0>>2]|0; - $70 = (($69) + 72|0); + $70 = ((($69)) + 72|0); $71 = HEAP32[$70>>2]|0; $72 = (($71) + 1)|0; HEAP32[$70>>2] = $72; @@ -77845,7 +76868,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $76 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($76,1); $77 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($77,0,0,20304,0)|0); + (_sqlite3VdbeSetColName($77,0,0,23992,0)|0); $78 = HEAP32[$v>>2]|0; $79 = HEAP32[$mem>>2]|0; (_sqlite3VdbeAddOp2($78,35,$79,1)|0); @@ -77861,19 +76884,19 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if ($84) { $85 = HEAP32[$0>>2]|0; $86 = HEAP32[$aFcntl>>2]|0; - HEAP32[$vararg_buffer35>>2] = $86; - _sqlite3ErrorMsg($85,1200,$vararg_buffer35); + HEAP32[$vararg_buffer17>>2] = $86; + _sqlite3ErrorMsg($85,14418,$vararg_buffer17); $87 = HEAP32[$aFcntl>>2]|0; _sqlite3_free($87); } $88 = HEAP32[$0>>2]|0; - $89 = (($88) + 64|0); + $89 = ((($88)) + 64|0); $90 = HEAP32[$89>>2]|0; $91 = (($90) + 1)|0; HEAP32[$89>>2] = $91; $92 = HEAP32[$rc>>2]|0; $93 = HEAP32[$0>>2]|0; - $94 = (($93) + 12|0); + $94 = ((($93)) + 12|0); HEAP32[$94>>2] = $92; break; } @@ -77893,7 +76916,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$mid>>2] = $101; $102 = HEAP32[$zLeft>>2]|0; $103 = HEAP32[$mid>>2]|0; - $104 = (20312 + (($103*12)|0)|0); + $104 = (2516 + (($103*12)|0)|0); $105 = HEAP32[$104>>2]|0; $106 = (_sqlite3_stricmp($102,$105)|0); HEAP32[$rc>>2] = $106; @@ -77920,8 +76943,8 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $116 = ($114|0)>($115|0); if (!($116)) { $117 = HEAP32[$mid>>2]|0; - $118 = (20312 + (($117*12)|0)|0); - $119 = (($118) + 5|0); + $118 = (2516 + (($117*12)|0)|0); + $119 = ((($118)) + 5|0); $120 = HEAP8[$119>>0]|0; $121 = $120&255; $122 = $121 & 1; @@ -77935,297 +76958,81 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } } $127 = HEAP32[$mid>>2]|0; - $128 = (20312 + (($127*12)|0)|0); - $129 = (($128) + 4|0); + $128 = (2516 + (($127*12)|0)|0); + $129 = ((($128)) + 4|0); $130 = HEAP8[$129>>0]|0; $131 = $130&255; do { switch ($131|0) { - case 1: { - $414 = HEAP32[$pDb>>2]|0; - $415 = (($414) + 4|0); - $416 = HEAP32[$415>>2]|0; - HEAP32[$pBt7>>2] = $416; - $417 = HEAP32[$zRight>>2]|0; - $418 = ($417|0)!=(0|0); - if (!($418)) { - $419 = HEAP32[$0>>2]|0; - $420 = HEAP32[$pBt7>>2]|0; - $421 = (_sqlite3BtreeGetAutoVacuum($420)|0); - $422 = ($421|0)<(0); - $423 = $422 << 31 >> 31; - _returnSingleInt($419,21144,$421,$423); - break L21; - } - $424 = HEAP32[$zRight>>2]|0; - $425 = (_getAutoVacuum($424)|0); - HEAP32[$eAuto>>2] = $425; - $426 = HEAP32[$eAuto>>2]|0; - $427 = $426&255; - $428 = HEAP32[$db>>2]|0; - $429 = (($428) + 66|0); - HEAP8[$429>>0] = $427; - $430 = HEAP32[$pBt7>>2]|0; - $431 = HEAP32[$eAuto>>2]|0; - $432 = (_sqlite3BtreeSetAutoVacuum($430,$431)|0); - HEAP32[$rc>>2] = $432; - $433 = HEAP32[$rc>>2]|0; - $434 = ($433|0)==(0); - if (!($434)) { - break L21; - } - $435 = HEAP32[$eAuto>>2]|0; - $436 = ($435|0)==(1); - $437 = HEAP32[$eAuto>>2]|0; - $438 = ($437|0)==(2); - $or$cond5 = $436 | $438; - if (!($or$cond5)) { + case 10: { + $132 = HEAP32[$v>>2]|0; + $133 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeUsesBtree($132,$133); + $134 = HEAP32[$zRight>>2]|0; + $135 = ($134|0)!=(0|0); + if ($135) { + $154 = HEAP32[$zRight>>2]|0; + $155 = (_sqlite3Atoi($154)|0); + $156 = (_sqlite3AbsInt32($155)|0); + HEAP32[$size>>2] = $156; + $157 = HEAP32[$0>>2]|0; + $158 = HEAP32[$iDb>>2]|0; + _sqlite3BeginWriteOperation($157,0,$158); + $159 = HEAP32[$v>>2]|0; + $160 = HEAP32[$size>>2]|0; + (_sqlite3VdbeAddOp2($159,25,$160,1)|0); + $161 = HEAP32[$v>>2]|0; + $162 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp3($161,52,$162,3,1)|0); + $163 = HEAP32[$size>>2]|0; + $164 = HEAP32[$pDb>>2]|0; + $165 = ((($164)) + 12|0); + $166 = HEAP32[$165>>2]|0; + $167 = ((($166)) + 80|0); + HEAP32[$167>>2] = $163; + $168 = HEAP32[$pDb>>2]|0; + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$pDb>>2]|0; + $172 = ((($171)) + 12|0); + $173 = HEAP32[$172>>2]|0; + $174 = ((($173)) + 80|0); + $175 = HEAP32[$174>>2]|0; + (_sqlite3BtreeSetCacheSize($170,$175)|0); break L21; - } - $439 = HEAP32[$v>>2]|0; - $440 = (_sqlite3VdbeAddOpList($439,6,21160,0)|0); - HEAP32[$iAddr>>2] = $440; - $441 = HEAP32[$v>>2]|0; - $442 = HEAP32[$iAddr>>2]|0; - $443 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($441,$442,$443); - $444 = HEAP32[$v>>2]|0; - $445 = HEAP32[$iAddr>>2]|0; - $446 = (($445) + 1)|0; - $447 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($444,$446,$447); - $448 = HEAP32[$v>>2]|0; - $449 = HEAP32[$iAddr>>2]|0; - $450 = (($449) + 2)|0; - $451 = HEAP32[$iAddr>>2]|0; - $452 = (($451) + 4)|0; - _sqlite3VdbeChangeP2($448,$450,$452); - $453 = HEAP32[$v>>2]|0; - $454 = HEAP32[$iAddr>>2]|0; - $455 = (($454) + 4)|0; - $456 = HEAP32[$eAuto>>2]|0; - $457 = (($456) - 1)|0; - _sqlite3VdbeChangeP1($453,$455,$457); - $458 = HEAP32[$v>>2]|0; - $459 = HEAP32[$iAddr>>2]|0; - $460 = (($459) + 5)|0; - $461 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($458,$460,$461); - $462 = HEAP32[$v>>2]|0; - $463 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($462,$463); - break L21; - break; - } - case 19: { - $368 = HEAP32[$pDb>>2]|0; - $369 = (($368) + 4|0); - $370 = HEAP32[$369>>2]|0; - $371 = (_sqlite3BtreePager($370)|0); - HEAP32[$pPager6>>2] = $371; - $372 = $iLimit; - $373 = $372; - HEAP32[$373>>2] = -2; - $374 = (($372) + 4)|0; - $375 = $374; - HEAP32[$375>>2] = -1; - $376 = HEAP32[$zRight>>2]|0; - $377 = ($376|0)!=(0|0); - if ($377) { - $378 = HEAP32[$zRight>>2]|0; - (_sqlite3DecOrHexToI64($378,$iLimit)|0); - $379 = $iLimit; - $380 = $379; - $381 = HEAP32[$380>>2]|0; - $382 = (($379) + 4)|0; - $383 = $382; - $384 = HEAP32[$383>>2]|0; - $385 = ($384|0)<(-1); - $386 = ($381>>>0)<(4294967295); - $387 = ($384|0)==(-1); - $388 = $387 & $386; - $389 = $385 | $388; - if ($389) { - $390 = $iLimit; - $391 = $390; - HEAP32[$391>>2] = -1; - $392 = (($390) + 4)|0; - $393 = $392; - HEAP32[$393>>2] = -1; - } - } - $394 = HEAP32[$pPager6>>2]|0; - $395 = $iLimit; - $396 = $395; - $397 = HEAP32[$396>>2]|0; - $398 = (($395) + 4)|0; - $399 = $398; - $400 = HEAP32[$399>>2]|0; - $401 = (_sqlite3PagerJournalSizeLimit($394,$397,$400)|0); - $402 = tempRet0; - $403 = $iLimit; - $404 = $403; - HEAP32[$404>>2] = $401; - $405 = (($403) + 4)|0; - $406 = $405; - HEAP32[$406>>2] = $402; - $407 = HEAP32[$0>>2]|0; - $408 = $iLimit; - $409 = $408; - $410 = HEAP32[$409>>2]|0; - $411 = (($408) + 4)|0; - $412 = $411; - $413 = HEAP32[$412>>2]|0; - _returnSingleInt($407,21120,$410,$413); - break L21; - break; - } - case 18: { - $313 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($313,1); - $314 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($314,0,0,21104,0)|0); - $315 = HEAP32[$zRight>>2]|0; - $316 = ($315|0)==(0|0); - if ($316) { - HEAP32[$eMode4>>2] = -1; } else { - $317 = HEAP32[$zRight>>2]|0; - $318 = (_sqlite3Strlen30($317)|0); - HEAP32[$n>>2] = $318; - HEAP32[$eMode4>>2] = 0; - while(1) { - $319 = HEAP32[$eMode4>>2]|0; - $320 = (_sqlite3JournalModename($319)|0); - HEAP32[$zMode>>2] = $320; - $321 = ($320|0)!=(0|0); - if (!($321)) { - break; - } - $322 = HEAP32[$zRight>>2]|0; - $323 = HEAP32[$zMode>>2]|0; - $324 = HEAP32[$n>>2]|0; - $325 = (_sqlite3_strnicmp($322,$323,$324)|0); - $326 = ($325|0)==(0); - if ($326) { - break; - } - $327 = HEAP32[$eMode4>>2]|0; - $328 = (($327) + 1)|0; - HEAP32[$eMode4>>2] = $328; - } - $329 = HEAP32[$zMode>>2]|0; - $330 = ($329|0)!=(0|0); - if (!($330)) { - HEAP32[$eMode4>>2] = -1; - } - } - $331 = HEAP32[$eMode4>>2]|0; - $332 = ($331|0)==(-1); - if ($332) { - $333 = HEAP32[$2>>2]|0; - $334 = (($333) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = ($335|0)==(0); - if ($336) { - HEAP32[$iDb>>2] = 0; - $337 = HEAP32[$2>>2]|0; - $338 = (($337) + 4|0); - HEAP32[$338>>2] = 1; - } - } - $339 = HEAP32[$db>>2]|0; - $340 = (($339) + 20|0); - $341 = HEAP32[$340>>2]|0; - $342 = (($341) - 1)|0; - HEAP32[$ii5>>2] = $342; - while(1) { - $343 = HEAP32[$ii5>>2]|0; - $344 = ($343|0)>=(0); - if (!($344)) { - break; - } - $345 = HEAP32[$ii5>>2]|0; - $346 = HEAP32[$db>>2]|0; - $347 = (($346) + 16|0); - $348 = HEAP32[$347>>2]|0; - $349 = (($348) + ($345<<4)|0); - $350 = (($349) + 4|0); - $351 = HEAP32[$350>>2]|0; - $352 = ($351|0)!=(0|0); - do { - if ($352) { - $353 = HEAP32[$ii5>>2]|0; - $354 = HEAP32[$iDb>>2]|0; - $355 = ($353|0)==($354|0); - if (!($355)) { - $356 = HEAP32[$2>>2]|0; - $357 = (($356) + 4|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358|0)==(0); - if (!($359)) { - break; - } - } - $360 = HEAP32[$v>>2]|0; - $361 = HEAP32[$ii5>>2]|0; - _sqlite3VdbeUsesBtree($360,$361); - $362 = HEAP32[$v>>2]|0; - $363 = HEAP32[$ii5>>2]|0; - $364 = HEAP32[$eMode4>>2]|0; - (_sqlite3VdbeAddOp3($362,12,$363,1,$364)|0); - } - } while(0); - $365 = HEAP32[$ii5>>2]|0; - $366 = (($365) + -1)|0; - HEAP32[$ii5>>2] = $366; - } - $367 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($367,35,1,1)|0); - break L21; - break; - } - case 23: { - $509 = $sz; - $510 = $509; - HEAP32[$510>>2] = 0; - $511 = (($509) + 4)|0; - $512 = $511; - HEAP32[$512>>2] = 0; - HEAP32[$rc>>2] = 0; - $513 = HEAP32[$rc>>2]|0; - $514 = ($513|0)==(0); - if ($514) { - $515 = HEAP32[$0>>2]|0; - $516 = $sz; - $517 = $516; - $518 = HEAP32[$517>>2]|0; - $519 = (($516) + 4)|0; - $520 = $519; - $521 = HEAP32[$520>>2]|0; - _returnSingleInt($515,21184,$518,$521); - break L21; - } - $522 = HEAP32[$rc>>2]|0; - $523 = ($522|0)!=(12); - if (!($523)) { + $136 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($136,1); + $137 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($137,0,0,23999,0)|0); + $138 = HEAP32[$0>>2]|0; + $139 = ((($138)) + 72|0); + $140 = HEAP32[$139>>2]|0; + $141 = (($140) + 2)|0; + HEAP32[$139>>2] = $141; + $142 = HEAP32[$v>>2]|0; + $143 = (_sqlite3VdbeAddOpList($142,9,24010,0)|0); + HEAP32[$addr>>2] = $143; + $144 = HEAP32[$v>>2]|0; + $145 = HEAP32[$addr>>2]|0; + $146 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($144,$145,$146); + $147 = HEAP32[$v>>2]|0; + $148 = HEAP32[$addr>>2]|0; + $149 = (($148) + 1)|0; + $150 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($147,$149,$150); + $151 = HEAP32[$v>>2]|0; + $152 = HEAP32[$addr>>2]|0; + $153 = (($152) + 6)|0; + _sqlite3VdbeChangeP1($151,$153,2000); break L21; } - $524 = HEAP32[$0>>2]|0; - $525 = (($524) + 64|0); - $526 = HEAP32[$525>>2]|0; - $527 = (($526) + 1)|0; - HEAP32[$525>>2] = $527; - $528 = HEAP32[$rc>>2]|0; - $529 = HEAP32[$0>>2]|0; - $530 = (($529) + 12|0); - HEAP32[$530>>2] = $528; - break L21; break; } case 24: { $176 = HEAP32[$pDb>>2]|0; - $177 = (($176) + 4|0); + $177 = ((($176)) + 4|0); $178 = HEAP32[$177>>2]|0; HEAP32[$pBt>>2] = $178; $179 = HEAP32[$zRight>>2]|0; @@ -78234,11 +77041,11 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $190 = HEAP32[$zRight>>2]|0; $191 = (_sqlite3Atoi($190)|0); $192 = HEAP32[$db>>2]|0; - $193 = (($192) + 72|0); + $193 = ((($192)) + 72|0); HEAP32[$193>>2] = $191; $194 = HEAP32[$pBt>>2]|0; $195 = HEAP32[$db>>2]|0; - $196 = (($195) + 72|0); + $196 = ((($195)) + 72|0); $197 = HEAP32[$196>>2]|0; $198 = (_sqlite3BtreeSetPageSize($194,$197,-1,0)|0); $199 = (7)==($198|0); @@ -78246,7 +77053,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } $200 = HEAP32[$db>>2]|0; - $201 = (($200) + 64|0); + $201 = ((($200)) + 64|0); HEAP8[$201>>0] = 1; break L21; } @@ -78264,158 +77071,116 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $187 = HEAP32[$size1>>2]|0; $188 = ($187|0)<(0); $189 = $188 << 31 >> 31; - _returnSingleInt($186,21032,$187,$189); + _returnSingleInt($186,24046,$187,$189); break L21; break; } - case 2: { - $595 = HEAP32[$zRight>>2]|0; - $596 = ($595|0)==(0|0); - if ($596) { - $597 = HEAP32[$0>>2]|0; - $598 = HEAP32[$mid>>2]|0; - $599 = (20312 + (($598*12)|0)|0); - $600 = HEAP32[$599>>2]|0; - $601 = HEAP32[$db>>2]|0; - $602 = (($601) + 24|0); - $603 = HEAP32[$602>>2]|0; - $604 = HEAP32[$mid>>2]|0; - $605 = (20312 + (($604*12)|0)|0); - $606 = (($605) + 8|0); - $607 = HEAP32[$606>>2]|0; - $608 = $603 & $607; - $609 = ($608|0)!=(0); - $610 = $609&1; - $611 = ($610|0)<(0); - $612 = $611 << 31 >> 31; - _returnSingleInt($597,$600,$610,$612); - break L21; - } - $613 = HEAP32[$mid>>2]|0; - $614 = (20312 + (($613*12)|0)|0); - $615 = (($614) + 8|0); - $616 = HEAP32[$615>>2]|0; - HEAP32[$mask>>2] = $616; - $617 = HEAP32[$db>>2]|0; - $618 = (($617) + 62|0); - $619 = HEAP8[$618>>0]|0; - $620 = $619&255; - $621 = ($620|0)==(0); - if ($621) { - $622 = HEAP32[$mask>>2]|0; - $623 = $622 & -524289; - HEAP32[$mask>>2] = $623; + case 25: { + $202 = HEAP32[$pDb>>2]|0; + $203 = ((($202)) + 4|0); + $204 = HEAP32[$203>>2]|0; + HEAP32[$pBt2>>2] = $204; + HEAP32[$b>>2] = -1; + $205 = HEAP32[$zRight>>2]|0; + $206 = ($205|0)!=(0|0); + if ($206) { + $207 = HEAP32[$zRight>>2]|0; + $208 = (_sqlite3GetBoolean($207,0)|0); + $209 = $208&255; + HEAP32[$b>>2] = $209; } - $624 = HEAP32[$zRight>>2]|0; - $625 = (_sqlite3GetBoolean($624,0)|0); - $626 = ($625<<24>>24)!=(0); - $627 = HEAP32[$mask>>2]|0; - if ($626) { - $628 = HEAP32[$db>>2]|0; - $629 = (($628) + 24|0); - $630 = HEAP32[$629>>2]|0; - $631 = $630 | $627; - HEAP32[$629>>2] = $631; - } else { - $632 = $627 ^ -1; - $633 = HEAP32[$db>>2]|0; - $634 = (($633) + 24|0); - $635 = HEAP32[$634>>2]|0; - $636 = $635 & $632; - HEAP32[$634>>2] = $636; - $637 = HEAP32[$mask>>2]|0; - $638 = ($637|0)==(16777216); - if ($638) { - $639 = HEAP32[$db>>2]|0; - $640 = (($639) + 512|0); - $641 = $640; - $642 = $641; - HEAP32[$642>>2] = 0; - $643 = (($641) + 4)|0; - $644 = $643; - HEAP32[$644>>2] = 0; + $210 = HEAP32[$2>>2]|0; + $211 = ((($210)) + 4|0); + $212 = HEAP32[$211>>2]|0; + $213 = ($212|0)==(0); + $214 = HEAP32[$b>>2]|0; + $215 = ($214|0)>=(0); + $or$cond = $213 & $215; + L66: do { + if ($or$cond) { + HEAP32[$ii>>2] = 0; + while(1) { + $216 = HEAP32[$ii>>2]|0; + $217 = HEAP32[$db>>2]|0; + $218 = ((($217)) + 20|0); + $219 = HEAP32[$218>>2]|0; + $220 = ($216|0)<($219|0); + if (!($220)) { + break L66; + } + $221 = HEAP32[$ii>>2]|0; + $222 = HEAP32[$db>>2]|0; + $223 = ((($222)) + 16|0); + $224 = HEAP32[$223>>2]|0; + $225 = (($224) + ($221<<4)|0); + $226 = ((($225)) + 4|0); + $227 = HEAP32[$226>>2]|0; + $228 = HEAP32[$b>>2]|0; + (_sqlite3BtreeSecureDelete($227,$228)|0); + $229 = HEAP32[$ii>>2]|0; + $230 = (($229) + 1)|0; + HEAP32[$ii>>2] = $230; + } } - } - $645 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($645,142,0,0)|0); - $646 = HEAP32[$db>>2]|0; - _setAllPagerFlags($646); + } while(0); + $231 = HEAP32[$pBt2>>2]|0; + $232 = HEAP32[$b>>2]|0; + $233 = (_sqlite3BtreeSecureDelete($231,$232)|0); + HEAP32[$b>>2] = $233; + $234 = HEAP32[$0>>2]|0; + $235 = HEAP32[$b>>2]|0; + $236 = ($235|0)<(0); + $237 = $236 << 31 >> 31; + _returnSingleInt($234,24056,$235,$237); break L21; break; } - case 10: { - $132 = HEAP32[$v>>2]|0; - $133 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($132,$133); - $134 = HEAP32[$zRight>>2]|0; - $135 = ($134|0)!=(0|0); - if ($135) { - $154 = HEAP32[$zRight>>2]|0; - $155 = (_sqlite3Atoi($154)|0); - $156 = (_sqlite3AbsInt32($155)|0); - HEAP32[$size>>2] = $156; - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($157,0,$158); - $159 = HEAP32[$v>>2]|0; - $160 = HEAP32[$size>>2]|0; - (_sqlite3VdbeAddOp2($159,25,$160,1)|0); - $161 = HEAP32[$v>>2]|0; - $162 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($161,52,$162,3,1)|0); - $163 = HEAP32[$size>>2]|0; - $164 = HEAP32[$pDb>>2]|0; - $165 = (($164) + 12|0); - $166 = HEAP32[$165>>2]|0; - $167 = (($166) + 80|0); - HEAP32[$167>>2] = $163; - $168 = HEAP32[$pDb>>2]|0; - $169 = (($168) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = HEAP32[$pDb>>2]|0; - $172 = (($171) + 12|0); - $173 = HEAP32[$172>>2]|0; - $174 = (($173) + 80|0); - $175 = HEAP32[$174>>2]|0; - (_sqlite3BtreeSetCacheSize($170,$175)|0); - break L21; + case 22: { + $238 = HEAP32[$0>>2]|0; + $239 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($238,$239); + $240 = HEAP32[$0>>2]|0; + $241 = ((($240)) + 72|0); + $242 = HEAP32[$241>>2]|0; + $243 = (($242) + 1)|0; + HEAP32[$241>>2] = $243; + HEAP32[$iReg>>2] = $243; + $244 = HEAP32[$zLeft>>2]|0; + $245 = HEAP8[$244>>0]|0; + $246 = $245&255; + $247 = (13848 + ($246)|0); + $248 = HEAP8[$247>>0]|0; + $249 = $248&255; + $250 = ($249|0)==(112); + $251 = HEAP32[$v>>2]|0; + $252 = HEAP32[$iDb>>2]|0; + $253 = HEAP32[$iReg>>2]|0; + if ($250) { + (_sqlite3VdbeAddOp2($251,151,$252,$253)|0); } else { - $136 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($136,1); - $137 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($137,0,0,21016,0)|0); - $138 = HEAP32[$0>>2]|0; - $139 = (($138) + 72|0); - $140 = HEAP32[$139>>2]|0; - $141 = (($140) + 2)|0; - HEAP32[$139>>2] = $141; - $142 = HEAP32[$v>>2]|0; - $143 = (_sqlite3VdbeAddOpList($142,9,20976,0)|0); - HEAP32[$addr>>2] = $143; - $144 = HEAP32[$v>>2]|0; - $145 = HEAP32[$addr>>2]|0; - $146 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($144,$145,$146); - $147 = HEAP32[$v>>2]|0; - $148 = HEAP32[$addr>>2]|0; - $149 = (($148) + 1)|0; - $150 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($147,$149,$150); - $151 = HEAP32[$v>>2]|0; - $152 = HEAP32[$addr>>2]|0; - $153 = (($152) + 6)|0; - _sqlite3VdbeChangeP1($151,$153,2000); - break L21; + $254 = HEAP32[$zRight>>2]|0; + $255 = (_sqlite3Atoi($254)|0); + $256 = (_sqlite3AbsInt32($255)|0); + (_sqlite3VdbeAddOp3($251,152,$252,$253,$256)|0); } + $257 = HEAP32[$v>>2]|0; + $258 = HEAP32[$iReg>>2]|0; + (_sqlite3VdbeAddOp2($257,35,$258,1)|0); + $259 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($259,1); + $260 = HEAP32[$v>>2]|0; + $261 = HEAP32[$zLeft>>2]|0; + (_sqlite3VdbeSetColName($260,0,0,$261,(-1))|0); + break L21; break; } case 21: { - HEAP32[$zRet>>2] = 21064; + HEAP32[$zRet>>2] = 24070; $262 = HEAP32[$zRight>>2]|0; $263 = (_getLockingMode($262)|0); HEAP32[$eMode>>2] = $263; $264 = HEAP32[$2>>2]|0; - $265 = (($264) + 4|0); + $265 = ((($264)) + 4|0); $266 = HEAP32[$265>>2]|0; $267 = ($266|0)==(0); $268 = HEAP32[$eMode>>2]|0; @@ -78423,13 +77188,13 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $or$cond3 = $267 & $269; if ($or$cond3) { $270 = HEAP32[$db>>2]|0; - $271 = (($270) + 65|0); + $271 = ((($270)) + 65|0); $272 = HEAP8[$271>>0]|0; $273 = $272&255; HEAP32[$eMode>>2] = $273; } else { $274 = HEAP32[$2>>2]|0; - $275 = (($274) + 4|0); + $275 = ((($274)) + 4|0); $276 = HEAP32[$275>>2]|0; $277 = ($276|0)==(0); if ($277) { @@ -78437,7 +77202,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { while(1) { $278 = HEAP32[$ii3>>2]|0; $279 = HEAP32[$db>>2]|0; - $280 = (($279) + 20|0); + $280 = ((($279)) + 20|0); $281 = HEAP32[$280>>2]|0; $282 = ($278|0)<($281|0); if (!($282)) { @@ -78445,10 +77210,10 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } $283 = HEAP32[$ii3>>2]|0; $284 = HEAP32[$db>>2]|0; - $285 = (($284) + 16|0); + $285 = ((($284)) + 16|0); $286 = HEAP32[$285>>2]|0; $287 = (($286) + ($283<<4)|0); - $288 = (($287) + 4|0); + $288 = ((($287)) + 4|0); $289 = HEAP32[$288>>2]|0; $290 = (_sqlite3BtreePager($289)|0); HEAP32[$pPager>>2] = $290; @@ -78462,11 +77227,11 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $295 = HEAP32[$eMode>>2]|0; $296 = $295&255; $297 = HEAP32[$db>>2]|0; - $298 = (($297) + 65|0); + $298 = ((($297)) + 65|0); HEAP8[$298>>0] = $296; } $299 = HEAP32[$pDb>>2]|0; - $300 = (($299) + 4|0); + $300 = ((($299)) + 4|0); $301 = HEAP32[$300>>2]|0; $302 = (_sqlite3BtreePager($301)|0); HEAP32[$pPager>>2] = $302; @@ -78478,12 +77243,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $306 = HEAP32[$eMode>>2]|0; $307 = ($306|0)==(1); if ($307) { - HEAP32[$zRet>>2] = 21072; + HEAP32[$zRet>>2] = 24077; } $308 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($308,1); $309 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($309,0,0,21088,0)|0); + (_sqlite3VdbeSetColName($309,0,0,24087,0)|0); $310 = HEAP32[$v>>2]|0; $311 = HEAP32[$zRet>>2]|0; (_sqlite3VdbeAddOp4($310,97,0,1,0,$311,0)|0); @@ -78492,42 +77257,247 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; break; } - case 22: { - $238 = HEAP32[$0>>2]|0; - $239 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($238,$239); - $240 = HEAP32[$0>>2]|0; - $241 = (($240) + 72|0); - $242 = HEAP32[$241>>2]|0; - $243 = (($242) + 1)|0; - HEAP32[$241>>2] = $243; - HEAP32[$iReg>>2] = $243; - $244 = HEAP32[$zLeft>>2]|0; - $245 = HEAP8[$244>>0]|0; - $246 = $245&255; - $247 = (440 + ($246)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = ($249|0)==(112); - $251 = HEAP32[$v>>2]|0; - $252 = HEAP32[$iDb>>2]|0; - $253 = HEAP32[$iReg>>2]|0; - if ($250) { - (_sqlite3VdbeAddOp2($251,151,$252,$253)|0); + case 18: { + $313 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($313,1); + $314 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($314,0,0,24100,0)|0); + $315 = HEAP32[$zRight>>2]|0; + $316 = ($315|0)==(0|0); + if ($316) { + HEAP32[$eMode4>>2] = -1; } else { - $254 = HEAP32[$zRight>>2]|0; - $255 = (_sqlite3Atoi($254)|0); - $256 = (_sqlite3AbsInt32($255)|0); - (_sqlite3VdbeAddOp3($251,152,$252,$253,$256)|0); + $317 = HEAP32[$zRight>>2]|0; + $318 = (_sqlite3Strlen30($317)|0); + HEAP32[$n>>2] = $318; + HEAP32[$eMode4>>2] = 0; + while(1) { + $319 = HEAP32[$eMode4>>2]|0; + $320 = (_sqlite3JournalModename($319)|0); + HEAP32[$zMode>>2] = $320; + $321 = ($320|0)!=(0|0); + if (!($321)) { + break; + } + $322 = HEAP32[$zRight>>2]|0; + $323 = HEAP32[$zMode>>2]|0; + $324 = HEAP32[$n>>2]|0; + $325 = (_sqlite3_strnicmp($322,$323,$324)|0); + $326 = ($325|0)==(0); + if ($326) { + break; + } + $327 = HEAP32[$eMode4>>2]|0; + $328 = (($327) + 1)|0; + HEAP32[$eMode4>>2] = $328; + } + $329 = HEAP32[$zMode>>2]|0; + $330 = ($329|0)!=(0|0); + if (!($330)) { + HEAP32[$eMode4>>2] = -1; + } } - $257 = HEAP32[$v>>2]|0; - $258 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($257,35,$258,1)|0); - $259 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($259,1); - $260 = HEAP32[$v>>2]|0; - $261 = HEAP32[$zLeft>>2]|0; - (_sqlite3VdbeSetColName($260,0,0,$261,(-1))|0); + $331 = HEAP32[$eMode4>>2]|0; + $332 = ($331|0)==(-1); + if ($332) { + $333 = HEAP32[$2>>2]|0; + $334 = ((($333)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = ($335|0)==(0); + if ($336) { + HEAP32[$iDb>>2] = 0; + $337 = HEAP32[$2>>2]|0; + $338 = ((($337)) + 4|0); + HEAP32[$338>>2] = 1; + } + } + $339 = HEAP32[$db>>2]|0; + $340 = ((($339)) + 20|0); + $341 = HEAP32[$340>>2]|0; + $342 = (($341) - 1)|0; + HEAP32[$ii5>>2] = $342; + while(1) { + $343 = HEAP32[$ii5>>2]|0; + $344 = ($343|0)>=(0); + if (!($344)) { + break; + } + $345 = HEAP32[$ii5>>2]|0; + $346 = HEAP32[$db>>2]|0; + $347 = ((($346)) + 16|0); + $348 = HEAP32[$347>>2]|0; + $349 = (($348) + ($345<<4)|0); + $350 = ((($349)) + 4|0); + $351 = HEAP32[$350>>2]|0; + $352 = ($351|0)!=(0|0); + do { + if ($352) { + $353 = HEAP32[$ii5>>2]|0; + $354 = HEAP32[$iDb>>2]|0; + $355 = ($353|0)==($354|0); + if (!($355)) { + $356 = HEAP32[$2>>2]|0; + $357 = ((($356)) + 4|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358|0)==(0); + if (!($359)) { + break; + } + } + $360 = HEAP32[$v>>2]|0; + $361 = HEAP32[$ii5>>2]|0; + _sqlite3VdbeUsesBtree($360,$361); + $362 = HEAP32[$v>>2]|0; + $363 = HEAP32[$ii5>>2]|0; + $364 = HEAP32[$eMode4>>2]|0; + (_sqlite3VdbeAddOp3($362,12,$363,1,$364)|0); + } + } while(0); + $365 = HEAP32[$ii5>>2]|0; + $366 = (($365) + -1)|0; + HEAP32[$ii5>>2] = $366; + } + $367 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($367,35,1,1)|0); + break L21; + break; + } + case 19: { + $368 = HEAP32[$pDb>>2]|0; + $369 = ((($368)) + 4|0); + $370 = HEAP32[$369>>2]|0; + $371 = (_sqlite3BtreePager($370)|0); + HEAP32[$pPager6>>2] = $371; + $372 = $iLimit; + $373 = $372; + HEAP32[$373>>2] = -2; + $374 = (($372) + 4)|0; + $375 = $374; + HEAP32[$375>>2] = -1; + $376 = HEAP32[$zRight>>2]|0; + $377 = ($376|0)!=(0|0); + if ($377) { + $378 = HEAP32[$zRight>>2]|0; + (_sqlite3DecOrHexToI64($378,$iLimit)|0); + $379 = $iLimit; + $380 = $379; + $381 = HEAP32[$380>>2]|0; + $382 = (($379) + 4)|0; + $383 = $382; + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)<(-1); + $386 = ($381>>>0)<(4294967295); + $387 = ($384|0)==(-1); + $388 = $387 & $386; + $389 = $385 | $388; + if ($389) { + $390 = $iLimit; + $391 = $390; + HEAP32[$391>>2] = -1; + $392 = (($390) + 4)|0; + $393 = $392; + HEAP32[$393>>2] = -1; + } + } + $394 = HEAP32[$pPager6>>2]|0; + $395 = $iLimit; + $396 = $395; + $397 = HEAP32[$396>>2]|0; + $398 = (($395) + 4)|0; + $399 = $398; + $400 = HEAP32[$399>>2]|0; + $401 = (_sqlite3PagerJournalSizeLimit($394,$397,$400)|0); + $402 = tempRet0; + $403 = $iLimit; + $404 = $403; + HEAP32[$404>>2] = $401; + $405 = (($403) + 4)|0; + $406 = $405; + HEAP32[$406>>2] = $402; + $407 = HEAP32[$0>>2]|0; + $408 = $iLimit; + $409 = $408; + $410 = HEAP32[$409>>2]|0; + $411 = (($408) + 4)|0; + $412 = $411; + $413 = HEAP32[$412>>2]|0; + _returnSingleInt($407,24113,$410,$413); + break L21; + break; + } + case 1: { + $414 = HEAP32[$pDb>>2]|0; + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + HEAP32[$pBt7>>2] = $416; + $417 = HEAP32[$zRight>>2]|0; + $418 = ($417|0)!=(0|0); + if (!($418)) { + $419 = HEAP32[$0>>2]|0; + $420 = HEAP32[$pBt7>>2]|0; + $421 = (_sqlite3BtreeGetAutoVacuum($420)|0); + $422 = ($421|0)<(0); + $423 = $422 << 31 >> 31; + _returnSingleInt($419,24132,$421,$423); + break L21; + } + $424 = HEAP32[$zRight>>2]|0; + $425 = (_getAutoVacuum($424)|0); + HEAP32[$eAuto>>2] = $425; + $426 = HEAP32[$eAuto>>2]|0; + $427 = $426&255; + $428 = HEAP32[$db>>2]|0; + $429 = ((($428)) + 66|0); + HEAP8[$429>>0] = $427; + $430 = HEAP32[$pBt7>>2]|0; + $431 = HEAP32[$eAuto>>2]|0; + $432 = (_sqlite3BtreeSetAutoVacuum($430,$431)|0); + HEAP32[$rc>>2] = $432; + $433 = HEAP32[$rc>>2]|0; + $434 = ($433|0)==(0); + if (!($434)) { + break L21; + } + $435 = HEAP32[$eAuto>>2]|0; + $436 = ($435|0)==(1); + $437 = HEAP32[$eAuto>>2]|0; + $438 = ($437|0)==(2); + $or$cond5 = $436 | $438; + if (!($or$cond5)) { + break L21; + } + $439 = HEAP32[$v>>2]|0; + $440 = (_sqlite3VdbeAddOpList($439,6,24144,0)|0); + HEAP32[$iAddr>>2] = $440; + $441 = HEAP32[$v>>2]|0; + $442 = HEAP32[$iAddr>>2]|0; + $443 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($441,$442,$443); + $444 = HEAP32[$v>>2]|0; + $445 = HEAP32[$iAddr>>2]|0; + $446 = (($445) + 1)|0; + $447 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($444,$446,$447); + $448 = HEAP32[$v>>2]|0; + $449 = HEAP32[$iAddr>>2]|0; + $450 = (($449) + 2)|0; + $451 = HEAP32[$iAddr>>2]|0; + $452 = (($451) + 4)|0; + _sqlite3VdbeChangeP2($448,$450,$452); + $453 = HEAP32[$v>>2]|0; + $454 = HEAP32[$iAddr>>2]|0; + $455 = (($454) + 4)|0; + $456 = HEAP32[$eAuto>>2]|0; + $457 = (($456) - 1)|0; + _sqlite3VdbeChangeP1($453,$455,$457); + $458 = HEAP32[$v>>2]|0; + $459 = HEAP32[$iAddr>>2]|0; + $460 = (($459) + 5)|0; + $461 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($458,$460,$461); + $462 = HEAP32[$v>>2]|0; + $463 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeUsesBtree($462,$463); break L21; break; } @@ -78573,80 +77543,79 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; break; } - case 15: { - $817 = HEAP32[$zRight>>2]|0; - $818 = ($817|0)!=(0|0); - if (!($818)) { + case 4: { + $484 = HEAP32[$zRight>>2]|0; + $485 = ($484|0)!=(0|0); + if ($485) { + $494 = HEAP32[$zRight>>2]|0; + $495 = (_sqlite3Atoi($494)|0); + HEAP32[$size10>>2] = $495; + $496 = HEAP32[$size10>>2]|0; + $497 = HEAP32[$pDb>>2]|0; + $498 = ((($497)) + 12|0); + $499 = HEAP32[$498>>2]|0; + $500 = ((($499)) + 80|0); + HEAP32[$500>>2] = $496; + $501 = HEAP32[$pDb>>2]|0; + $502 = ((($501)) + 4|0); + $503 = HEAP32[$502>>2]|0; + $504 = HEAP32[$pDb>>2]|0; + $505 = ((($504)) + 12|0); + $506 = HEAP32[$505>>2]|0; + $507 = ((($506)) + 80|0); + $508 = HEAP32[$507>>2]|0; + (_sqlite3BtreeSetCacheSize($503,$508)|0); + break L21; + } else { + $486 = HEAP32[$0>>2]|0; + $487 = HEAP32[$pDb>>2]|0; + $488 = ((($487)) + 12|0); + $489 = HEAP32[$488>>2]|0; + $490 = ((($489)) + 80|0); + $491 = HEAP32[$490>>2]|0; + $492 = ($491|0)<(0); + $493 = $492 << 31 >> 31; + _returnSingleInt($486,23999,$491,$493); break L21; } - $819 = HEAP32[$db>>2]|0; - $820 = HEAP32[$zRight>>2]|0; - $821 = HEAP32[$zDb>>2]|0; - $822 = (_sqlite3FindIndex($819,$820,$821)|0); - HEAP32[$pIdx13>>2] = $822; - $823 = HEAP32[$pIdx13>>2]|0; - $824 = ($823|0)!=(0|0); - if (!($824)) { + break; + } + case 23: { + $509 = $sz; + $510 = $509; + HEAP32[$510>>2] = 0; + $511 = (($509) + 4)|0; + $512 = $511; + HEAP32[$512>>2] = 0; + HEAP32[$rc>>2] = 0; + $513 = HEAP32[$rc>>2]|0; + $514 = ($513|0)==(0); + if ($514) { + $515 = HEAP32[$0>>2]|0; + $516 = $sz; + $517 = $516; + $518 = HEAP32[$517>>2]|0; + $519 = (($516) + 4)|0; + $520 = $519; + $521 = HEAP32[$520>>2]|0; + _returnSingleInt($515,24168,$518,$521); break L21; } - $825 = HEAP32[$pIdx13>>2]|0; - $826 = (($825) + 12|0); - $827 = HEAP32[$826>>2]|0; - HEAP32[$pTab14>>2] = $827; - $828 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($828,3); - $829 = HEAP32[$0>>2]|0; - $830 = (($829) + 72|0); - HEAP32[$830>>2] = 3; - $831 = HEAP32[$0>>2]|0; - $832 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($831,$832); - $833 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($833,0,0,21424,0)|0); - $834 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($834,1,0,21344,0)|0); - $835 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($835,2,0,21352,0)|0); - HEAP32[$i15>>2] = 0; - while(1) { - $836 = HEAP32[$i15>>2]|0; - $837 = HEAP32[$pIdx13>>2]|0; - $838 = (($837) + 50|0); - $839 = HEAP16[$838>>1]|0; - $840 = $839&65535; - $841 = ($836|0)<($840|0); - if (!($841)) { - break L21; - } - $842 = HEAP32[$i15>>2]|0; - $843 = HEAP32[$pIdx13>>2]|0; - $844 = (($843) + 4|0); - $845 = HEAP32[$844>>2]|0; - $846 = (($845) + ($842<<1)|0); - $847 = HEAP16[$846>>1]|0; - HEAP16[$cnum>>1] = $847; - $848 = HEAP32[$v>>2]|0; - $849 = HEAP32[$i15>>2]|0; - (_sqlite3VdbeAddOp2($848,25,$849,1)|0); - $850 = HEAP32[$v>>2]|0; - $851 = HEAP16[$cnum>>1]|0; - $852 = $851 << 16 >> 16; - (_sqlite3VdbeAddOp2($850,25,$852,2)|0); - $853 = HEAP32[$v>>2]|0; - $854 = HEAP16[$cnum>>1]|0; - $855 = $854 << 16 >> 16; - $856 = HEAP32[$pTab14>>2]|0; - $857 = (($856) + 4|0); - $858 = HEAP32[$857>>2]|0; - $859 = (($858) + (($855*24)|0)|0); - $860 = HEAP32[$859>>2]|0; - (_sqlite3VdbeAddOp4($853,97,0,3,0,$860,0)|0); - $861 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($861,35,1,3)|0); - $862 = HEAP32[$i15>>2]|0; - $863 = (($862) + 1)|0; - HEAP32[$i15>>2] = $863; + $522 = HEAP32[$rc>>2]|0; + $523 = ($522|0)!=(12); + if (!($523)) { + break L21; } + $524 = HEAP32[$0>>2]|0; + $525 = ((($524)) + 64|0); + $526 = HEAP32[$525>>2]|0; + $527 = (($526) + 1)|0; + HEAP32[$525>>2] = $527; + $528 = HEAP32[$rc>>2]|0; + $529 = HEAP32[$0>>2]|0; + $530 = ((($529)) + 12|0); + HEAP32[$530>>2] = $528; + break L21; break; } case 31: { @@ -78659,10 +77628,10 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } else { $534 = HEAP32[$db>>2]|0; - $535 = (($534) + 63|0); + $535 = ((($534)) + 63|0); $536 = HEAP8[$535>>0]|0; $537 = $536&255; - _returnSingleInt($533,21200,$537,0); + _returnSingleInt($533,24178,$537,0); break L21; } break; @@ -78671,7 +77640,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $539 = HEAP32[$zRight>>2]|0; $540 = ($539|0)!=(0|0); if (!($540)) { - $541 = HEAP32[1568>>2]|0; + $541 = HEAP32[360>>2]|0; $542 = ($541|0)!=(0|0); if (!($542)) { break L21; @@ -78679,9 +77648,9 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $543 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($543,1); $544 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($544,0,0,21216,0)|0); + (_sqlite3VdbeSetColName($544,0,0,24189,0)|0); $545 = HEAP32[$v>>2]|0; - $546 = HEAP32[1568>>2]|0; + $546 = HEAP32[360>>2]|0; (_sqlite3VdbeAddOp4($545,97,0,1,0,$546,0)|0); $547 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp2($547,35,1,1)|0); @@ -78703,12 +77672,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $or$cond9 = $556 | $558; if ($or$cond9) { $559 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($559,21240,$vararg_buffer35); + _sqlite3ErrorMsg($559,24210,$vararg_buffer20); break L21; } } $560 = HEAP32[$db>>2]|0; - $561 = (($560) + 63|0); + $561 = ((($560)) + 63|0); $562 = HEAP8[$561>>0]|0; $563 = $562&255; $564 = ($563|0)<=(1); @@ -78716,264 +77685,306 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $565 = HEAP32[$0>>2]|0; (_invalidateTempStorage($565)|0); } - $566 = HEAP32[1568>>2]|0; + $566 = HEAP32[360>>2]|0; _sqlite3_free($566); $567 = HEAP32[$zRight>>2]|0; $568 = HEAP8[$567>>0]|0; $569 = ($568<<24>>24)!=(0); if ($569) { $570 = HEAP32[$zRight>>2]|0; - HEAP32[$vararg_buffer35>>2] = $570; - $571 = (_sqlite3_mprintf(1200,$vararg_buffer35)|0); - HEAP32[1568>>2] = $571; + HEAP32[$vararg_buffer22>>2] = $570; + $571 = (_sqlite3_mprintf(14418,$vararg_buffer22)|0); + HEAP32[360>>2] = $571; break L21; } else { - HEAP32[1568>>2] = 0; + HEAP32[360>>2] = 0; break L21; } break; } - case 9: { - $905 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($905,3); - $906 = HEAP32[$0>>2]|0; - $907 = (($906) + 72|0); - HEAP32[$907>>2] = 3; - $908 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($908,0,0,21432,0)|0); - $909 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($909,1,0,21352,0)|0); - $910 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($910,2,0,21448,0)|0); - HEAP32[$i19>>2] = 0; - while(1) { - $911 = HEAP32[$i19>>2]|0; - $912 = HEAP32[$db>>2]|0; - $913 = (($912) + 20|0); - $914 = HEAP32[$913>>2]|0; - $915 = ($911|0)<($914|0); - if (!($915)) { - break L21; - } - $916 = HEAP32[$i19>>2]|0; - $917 = HEAP32[$db>>2]|0; - $918 = (($917) + 16|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($919) + ($916<<4)|0); - $921 = (($920) + 4|0); - $922 = HEAP32[$921>>2]|0; - $923 = ($922|0)==(0|0); - if (!($923)) { - $924 = HEAP32[$v>>2]|0; - $925 = HEAP32[$i19>>2]|0; - (_sqlite3VdbeAddOp2($924,25,$925,1)|0); - $926 = HEAP32[$v>>2]|0; - $927 = HEAP32[$i19>>2]|0; - $928 = HEAP32[$db>>2]|0; - $929 = (($928) + 16|0); - $930 = HEAP32[$929>>2]|0; - $931 = (($930) + ($927<<4)|0); - $932 = HEAP32[$931>>2]|0; - (_sqlite3VdbeAddOp4($926,97,0,2,0,$932,0)|0); - $933 = HEAP32[$v>>2]|0; - $934 = HEAP32[$i19>>2]|0; - $935 = HEAP32[$db>>2]|0; - $936 = (($935) + 16|0); - $937 = HEAP32[$936>>2]|0; - $938 = (($937) + ($934<<4)|0); - $939 = (($938) + 4|0); - $940 = HEAP32[$939>>2]|0; - $941 = (_sqlite3BtreeGetFilename($940)|0); - (_sqlite3VdbeAddOp4($933,97,0,3,0,$941,0)|0); - $942 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($942,35,1,3)|0); - } - $943 = HEAP32[$i19>>2]|0; - $944 = (($943) + 1)|0; - HEAP32[$i19>>2] = $944; + case 29: { + $572 = HEAP32[$zRight>>2]|0; + $573 = ($572|0)!=(0|0); + if (!($573)) { + $574 = HEAP32[$0>>2]|0; + $575 = HEAP32[$pDb>>2]|0; + $576 = ((($575)) + 8|0); + $577 = HEAP8[$576>>0]|0; + $578 = $577&255; + $579 = (($578) - 1)|0; + $580 = ($579|0)<(0); + $581 = $580 << 31 >> 31; + _returnSingleInt($574,24235,$579,$581); + break L21; + } + $582 = HEAP32[$db>>2]|0; + $583 = ((($582)) + 62|0); + $584 = HEAP8[$583>>0]|0; + $585 = ($584<<24>>24)!=(0); + if ($585) { + $587 = HEAP32[$zRight>>2]|0; + $588 = (_getSafetyLevel($587,0,1)|0); + $589 = $588&255; + $590 = (($589) + 1)|0; + $591 = $590&255; + $592 = HEAP32[$pDb>>2]|0; + $593 = ((($592)) + 8|0); + HEAP8[$593>>0] = $591; + $594 = HEAP32[$db>>2]|0; + _setAllPagerFlags($594); + break L21; + } else { + $586 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($586,24247,$vararg_buffer25); + break L21; } break; } - case 13: { - $968 = HEAP32[$zRight>>2]|0; - $969 = ($968|0)!=(0|0); - if (!($969)) { + case 2: { + $595 = HEAP32[$zRight>>2]|0; + $596 = ($595|0)==(0|0); + if ($596) { + $597 = HEAP32[$0>>2]|0; + $598 = HEAP32[$mid>>2]|0; + $599 = (2516 + (($598*12)|0)|0); + $600 = HEAP32[$599>>2]|0; + $601 = HEAP32[$db>>2]|0; + $602 = ((($601)) + 24|0); + $603 = HEAP32[$602>>2]|0; + $604 = HEAP32[$mid>>2]|0; + $605 = (2516 + (($604*12)|0)|0); + $606 = ((($605)) + 8|0); + $607 = HEAP32[$606>>2]|0; + $608 = $603 & $607; + $609 = ($608|0)!=(0); + $610 = $609&1; + $611 = ($610|0)<(0); + $612 = $611 << 31 >> 31; + _returnSingleInt($597,$600,$610,$612); break L21; } - $970 = HEAP32[$db>>2]|0; - $971 = HEAP32[$zRight>>2]|0; - $972 = HEAP32[$zDb>>2]|0; - $973 = (_sqlite3FindTable($970,$971,$972)|0); - HEAP32[$pTab21>>2] = $973; - $974 = HEAP32[$pTab21>>2]|0; - $975 = ($974|0)!=(0|0); - if (!($975)) { + $613 = HEAP32[$mid>>2]|0; + $614 = (2516 + (($613*12)|0)|0); + $615 = ((($614)) + 8|0); + $616 = HEAP32[$615>>2]|0; + HEAP32[$mask>>2] = $616; + $617 = HEAP32[$db>>2]|0; + $618 = ((($617)) + 62|0); + $619 = HEAP8[$618>>0]|0; + $620 = $619&255; + $621 = ($620|0)==(0); + if ($621) { + $622 = HEAP32[$mask>>2]|0; + $623 = $622 & -524289; + HEAP32[$mask>>2] = $623; + } + $624 = HEAP32[$zRight>>2]|0; + $625 = (_sqlite3GetBoolean($624,0)|0); + $626 = ($625<<24>>24)!=(0); + $627 = HEAP32[$mask>>2]|0; + if ($626) { + $628 = HEAP32[$db>>2]|0; + $629 = ((($628)) + 24|0); + $630 = HEAP32[$629>>2]|0; + $631 = $630 | $627; + HEAP32[$629>>2] = $631; + } else { + $632 = $627 ^ -1; + $633 = HEAP32[$db>>2]|0; + $634 = ((($633)) + 24|0); + $635 = HEAP32[$634>>2]|0; + $636 = $635 & $632; + HEAP32[$634>>2] = $636; + $637 = HEAP32[$mask>>2]|0; + $638 = ($637|0)==(16777216); + if ($638) { + $639 = HEAP32[$db>>2]|0; + $640 = ((($639)) + 512|0); + $641 = $640; + $642 = $641; + HEAP32[$642>>2] = 0; + $643 = (($641) + 4)|0; + $644 = $643; + HEAP32[$644>>2] = 0; + } + } + $645 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($645,142,0,0)|0); + $646 = HEAP32[$db>>2]|0; + _setAllPagerFlags($646); + break L21; + break; + } + case 30: { + $647 = HEAP32[$zRight>>2]|0; + $648 = ($647|0)!=(0|0); + if (!($648)) { break L21; } - $976 = HEAP32[$0>>2]|0; - $977 = (_sqlite3GetVdbe($976)|0); - HEAP32[$v>>2] = $977; - $978 = HEAP32[$pTab21>>2]|0; - $979 = (($978) + 16|0); - $980 = HEAP32[$979>>2]|0; - HEAP32[$pFK>>2] = $980; - $981 = HEAP32[$pFK>>2]|0; - $982 = ($981|0)!=(0|0); - if (!($982)) { + $649 = HEAP32[$db>>2]|0; + $650 = HEAP32[$zRight>>2]|0; + $651 = HEAP32[$zDb>>2]|0; + $652 = (_sqlite3FindTable($649,$650,$651)|0); + HEAP32[$pTab>>2] = $652; + $653 = HEAP32[$pTab>>2]|0; + $654 = ($653|0)!=(0|0); + if (!($654)) { break L21; } - HEAP32[$i22>>2] = 0; - $983 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($983,8); - $984 = HEAP32[$0>>2]|0; - $985 = (($984) + 72|0); - HEAP32[$985>>2] = 8; - $986 = HEAP32[$0>>2]|0; - $987 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($986,$987); - $988 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($988,0,0,21456,0)|0); - $989 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($989,1,0,21432,0)|0); - $990 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($990,2,0,21400,0)|0); - $991 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($991,3,0,21464,0)|0); - $992 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($992,4,0,21472,0)|0); - $993 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($993,5,0,21480,0)|0); - $994 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($994,6,0,21496,0)|0); - $995 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($995,7,0,21512,0)|0); + HEAP32[$nHidden>>2] = 0; + $655 = HEAP32[$pTab>>2]|0; + $656 = (_sqlite3PrimaryKeyIndex($655)|0); + HEAP32[$pPk>>2] = $656; + $657 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($657,6); + $658 = HEAP32[$0>>2]|0; + $659 = ((($658)) + 72|0); + HEAP32[$659>>2] = 6; + $660 = HEAP32[$0>>2]|0; + $661 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($660,$661); + $662 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($662,0,0,24300,0)|0); + $663 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($663,1,0,24304,0)|0); + $664 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($664,2,0,24309,0)|0); + $665 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($665,3,0,24314,0)|0); + $666 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($666,4,0,24322,0)|0); + $667 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($667,5,0,24333,0)|0); + $668 = HEAP32[$0>>2]|0; + $669 = HEAP32[$pTab>>2]|0; + (_sqlite3ViewGetColumnNames($668,$669)|0); + HEAP32[$i>>2] = 0; + $670 = HEAP32[$pTab>>2]|0; + $671 = ((($670)) + 4|0); + $672 = HEAP32[$671>>2]|0; + HEAP32[$pCol>>2] = $672; while(1) { - $996 = HEAP32[$pFK>>2]|0; - $997 = ($996|0)!=(0|0); - if (!($997)) { + $673 = HEAP32[$i>>2]|0; + $674 = HEAP32[$pTab>>2]|0; + $675 = ((($674)) + 38|0); + $676 = HEAP16[$675>>1]|0; + $677 = $676 << 16 >> 16; + $678 = ($673|0)<($677|0); + if (!($678)) { break L21; } - HEAP32[$j>>2] = 0; - while(1) { - $998 = HEAP32[$j>>2]|0; - $999 = HEAP32[$pFK>>2]|0; - $1000 = (($999) + 20|0); - $1001 = HEAP32[$1000>>2]|0; - $1002 = ($998|0)<($1001|0); - if (!($1002)) { - break; + $679 = HEAP32[$pCol>>2]|0; + $680 = ((($679)) + 23|0); + $681 = HEAP8[$680>>0]|0; + $682 = $681&255; + $683 = $682 & 2; + $684 = ($683|0)!=(0); + if ($684) { + $685 = HEAP32[$nHidden>>2]|0; + $686 = (($685) + 1)|0; + HEAP32[$nHidden>>2] = $686; + } else { + $687 = HEAP32[$v>>2]|0; + $688 = HEAP32[$i>>2]|0; + $689 = HEAP32[$nHidden>>2]|0; + $690 = (($688) - ($689))|0; + (_sqlite3VdbeAddOp2($687,25,$690,1)|0); + $691 = HEAP32[$v>>2]|0; + $692 = HEAP32[$pCol>>2]|0; + $693 = HEAP32[$692>>2]|0; + (_sqlite3VdbeAddOp4($691,97,0,2,0,$693,0)|0); + $694 = HEAP32[$v>>2]|0; + $695 = HEAP32[$pCol>>2]|0; + $696 = ((($695)) + 12|0); + $697 = HEAP32[$696>>2]|0; + $698 = ($697|0)!=(0|0); + if ($698) { + $699 = HEAP32[$pCol>>2]|0; + $700 = ((($699)) + 12|0); + $701 = HEAP32[$700>>2]|0; + $702 = $701; + } else { + $702 = 14425; } - $1003 = HEAP32[$j>>2]|0; - $1004 = HEAP32[$pFK>>2]|0; - $1005 = (($1004) + 36|0); - $1006 = (($1005) + ($1003<<3)|0); - $1007 = (($1006) + 4|0); - $1008 = HEAP32[$1007>>2]|0; - HEAP32[$zCol>>2] = $1008; - $1009 = HEAP32[$pFK>>2]|0; - $1010 = (($1009) + 25|0); - $1011 = HEAP8[$1010>>0]|0; - $1012 = (_actionName($1011)|0); - HEAP32[$zOnDelete>>2] = $1012; - $1013 = HEAP32[$pFK>>2]|0; - $1014 = (($1013) + 25|0); - $1015 = (($1014) + 1|0); - $1016 = HEAP8[$1015>>0]|0; - $1017 = (_actionName($1016)|0); - HEAP32[$zOnUpdate>>2] = $1017; - $1018 = HEAP32[$v>>2]|0; - $1019 = HEAP32[$i22>>2]|0; - (_sqlite3VdbeAddOp2($1018,25,$1019,1)|0); - $1020 = HEAP32[$v>>2]|0; - $1021 = HEAP32[$j>>2]|0; - (_sqlite3VdbeAddOp2($1020,25,$1021,2)|0); - $1022 = HEAP32[$v>>2]|0; - $1023 = HEAP32[$pFK>>2]|0; - $1024 = (($1023) + 8|0); - $1025 = HEAP32[$1024>>2]|0; - (_sqlite3VdbeAddOp4($1022,97,0,3,0,$1025,0)|0); - $1026 = HEAP32[$v>>2]|0; - $1027 = HEAP32[$j>>2]|0; - $1028 = HEAP32[$pFK>>2]|0; - $1029 = (($1028) + 36|0); - $1030 = (($1029) + ($1027<<3)|0); - $1031 = HEAP32[$1030>>2]|0; - $1032 = HEAP32[$pTab21>>2]|0; - $1033 = (($1032) + 4|0); - $1034 = HEAP32[$1033>>2]|0; - $1035 = (($1034) + (($1031*24)|0)|0); - $1036 = HEAP32[$1035>>2]|0; - (_sqlite3VdbeAddOp4($1026,97,0,4,0,$1036,0)|0); - $1037 = HEAP32[$v>>2]|0; - $1038 = HEAP32[$zCol>>2]|0; - $1039 = ($1038|0)!=(0|0); - $1040 = $1039 ? 97 : 28; - $1041 = HEAP32[$zCol>>2]|0; - (_sqlite3VdbeAddOp4($1037,$1040,0,5,0,$1041,0)|0); - $1042 = HEAP32[$v>>2]|0; - $1043 = HEAP32[$zOnUpdate>>2]|0; - (_sqlite3VdbeAddOp4($1042,97,0,6,0,$1043,0)|0); - $1044 = HEAP32[$v>>2]|0; - $1045 = HEAP32[$zOnDelete>>2]|0; - (_sqlite3VdbeAddOp4($1044,97,0,7,0,$1045,0)|0); - $1046 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp4($1046,97,0,8,0,21520,0)|0); - $1047 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1047,35,1,8)|0); - $1048 = HEAP32[$j>>2]|0; - $1049 = (($1048) + 1)|0; - HEAP32[$j>>2] = $1049; - } - $1050 = HEAP32[$i22>>2]|0; - $1051 = (($1050) + 1)|0; - HEAP32[$i22>>2] = $1051; - $1052 = HEAP32[$pFK>>2]|0; - $1053 = (($1052) + 4|0); - $1054 = HEAP32[$1053>>2]|0; - HEAP32[$pFK>>2] = $1054; - } - break; - } - case 6: { - HEAP32[$i20>>2] = 0; - $945 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($945,2); - $946 = HEAP32[$0>>2]|0; - $947 = (($946) + 72|0); - HEAP32[$947>>2] = 2; - $948 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($948,0,0,21432,0)|0); - $949 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($949,1,0,21352,0)|0); - $950 = HEAP32[$db>>2]|0; - $951 = (($950) + 428|0); - $952 = (($951) + 8|0); - $953 = HEAP32[$952>>2]|0; - HEAP32[$p>>2] = $953; - while(1) { - $954 = HEAP32[$p>>2]|0; - $955 = ($954|0)!=(0|0); - if (!($955)) { - break L21; + (_sqlite3VdbeAddOp4($694,97,0,3,0,$702,0)|0); + $703 = HEAP32[$v>>2]|0; + $704 = HEAP32[$pCol>>2]|0; + $705 = ((($704)) + 20|0); + $706 = HEAP8[$705>>0]|0; + $707 = $706&255; + $708 = ($707|0)!=(0); + $709 = $708 ? 1 : 0; + (_sqlite3VdbeAddOp2($703,25,$709,4)|0); + $710 = HEAP32[$pCol>>2]|0; + $711 = ((($710)) + 8|0); + $712 = HEAP32[$711>>2]|0; + $713 = ($712|0)!=(0|0); + $714 = HEAP32[$v>>2]|0; + if ($713) { + $715 = HEAP32[$pCol>>2]|0; + $716 = ((($715)) + 8|0); + $717 = HEAP32[$716>>2]|0; + (_sqlite3VdbeAddOp4($714,97,0,5,0,$717,0)|0); + } else { + (_sqlite3VdbeAddOp2($714,28,0,5)|0); + } + $718 = HEAP32[$pCol>>2]|0; + $719 = ((($718)) + 23|0); + $720 = HEAP8[$719>>0]|0; + $721 = $720&255; + $722 = $721 & 1; + $723 = ($722|0)==(0); + L197: do { + if ($723) { + HEAP32[$k>>2] = 0; + } else { + $724 = HEAP32[$pPk>>2]|0; + $725 = ($724|0)==(0|0); + HEAP32[$k>>2] = 1; + if ($725) { + break; + } + while(1) { + $726 = HEAP32[$k>>2]|0; + $727 = HEAP32[$pTab>>2]|0; + $728 = ((($727)) + 38|0); + $729 = HEAP16[$728>>1]|0; + $730 = $729 << 16 >> 16; + $731 = ($726|0)<=($730|0); + if (!($731)) { + break L197; + } + $732 = HEAP32[$k>>2]|0; + $733 = (($732) - 1)|0; + $734 = HEAP32[$pPk>>2]|0; + $735 = ((($734)) + 4|0); + $736 = HEAP32[$735>>2]|0; + $737 = (($736) + ($733<<1)|0); + $738 = HEAP16[$737>>1]|0; + $739 = $738 << 16 >> 16; + $740 = HEAP32[$i>>2]|0; + $741 = ($739|0)!=($740|0); + if (!($741)) { + break L197; + } + $742 = HEAP32[$k>>2]|0; + $743 = (($742) + 1)|0; + HEAP32[$k>>2] = $743; + } + } + } while(0); + $744 = HEAP32[$v>>2]|0; + $745 = HEAP32[$k>>2]|0; + (_sqlite3VdbeAddOp2($744,25,$745,6)|0); + $746 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($746,35,1,6)|0); } - $956 = HEAP32[$p>>2]|0; - $957 = (($956) + 8|0); - $958 = HEAP32[$957>>2]|0; - HEAP32[$pColl>>2] = $958; - $959 = HEAP32[$v>>2]|0; - $960 = HEAP32[$i20>>2]|0; - $961 = (($960) + 1)|0; - HEAP32[$i20>>2] = $961; - (_sqlite3VdbeAddOp2($959,25,$960,1)|0); - $962 = HEAP32[$v>>2]|0; - $963 = HEAP32[$pColl>>2]|0; - $964 = HEAP32[$963>>2]|0; - (_sqlite3VdbeAddOp4($962,97,0,2,0,$964,0)|0); - $965 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($965,35,1,2)|0); - $966 = HEAP32[$p>>2]|0; - $967 = HEAP32[$966>>2]|0; - HEAP32[$p>>2] = $967; + $747 = HEAP32[$i>>2]|0; + $748 = (($747) + 1)|0; + HEAP32[$i>>2] = $748; + $749 = HEAP32[$pCol>>2]|0; + $750 = ((($749)) + 24|0); + HEAP32[$pCol>>2] = $750; } break; } @@ -78984,24 +77995,24 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $753 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($753,4); $754 = HEAP32[$0>>2]|0; - $755 = (($754) + 72|0); + $755 = ((($754)) + 72|0); HEAP32[$755>>2] = 4; $756 = HEAP32[$0>>2]|0; $757 = HEAP32[$iDb>>2]|0; _sqlite3CodeVerifySchema($756,$757); $758 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($758,0,0,21400,0)|0); + (_sqlite3VdbeSetColName($758,0,0,24336,0)|0); $759 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($759,1,0,10168,0)|0); + (_sqlite3VdbeSetColName($759,1,0,18253,0)|0); $760 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($760,2,0,21408,0)|0); + (_sqlite3VdbeSetColName($760,2,0,24342,0)|0); $761 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($761,3,0,21416,0)|0); + (_sqlite3VdbeSetColName($761,3,0,24348,0)|0); $762 = HEAP32[$pDb>>2]|0; - $763 = (($762) + 12|0); + $763 = ((($762)) + 12|0); $764 = HEAP32[$763>>2]|0; - $765 = (($764) + 8|0); - $766 = (($765) + 8|0); + $765 = ((($764)) + 8|0); + $766 = ((($765)) + 8|0); $767 = HEAP32[$766>>2]|0; HEAP32[$i11>>2] = $767; while(1) { @@ -79011,7 +78022,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } $770 = HEAP32[$i11>>2]|0; - $771 = (($770) + 8|0); + $771 = ((($770)) + 8|0); $772 = HEAP32[$771>>2]|0; HEAP32[$pTab12>>2] = $772; $773 = HEAP32[$v>>2]|0; @@ -79022,14 +78033,14 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { (_sqlite3VdbeAddOp2($776,28,0,2)|0); $777 = HEAP32[$v>>2]|0; $778 = HEAP32[$pTab12>>2]|0; - $779 = (($778) + 42|0); + $779 = ((($778)) + 42|0); $780 = HEAP16[$779>>1]|0; $781 = (_sqlite3LogEstToInt($780)|0); $782 = tempRet0; (_sqlite3VdbeAddOp2($777,25,$781,3)|0); $783 = HEAP32[$v>>2]|0; $784 = HEAP32[$pTab12>>2]|0; - $785 = (($784) + 28|0); + $785 = ((($784)) + 28|0); $786 = HEAP16[$785>>1]|0; $787 = (_sqlite3LogEstToInt($786)|0); $788 = tempRet0; @@ -79037,7 +78048,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $789 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp2($789,35,1,4)|0); $790 = HEAP32[$pTab12>>2]|0; - $791 = (($790) + 8|0); + $791 = ((($790)) + 8|0); $792 = HEAP32[$791>>2]|0; HEAP32[$pIdx>>2] = $792; while(1) { @@ -79052,14 +78063,14 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { (_sqlite3VdbeAddOp4($795,97,0,2,0,$797,0)|0); $798 = HEAP32[$v>>2]|0; $799 = HEAP32[$pIdx>>2]|0; - $800 = (($799) + 48|0); + $800 = ((($799)) + 48|0); $801 = HEAP16[$800>>1]|0; $802 = (_sqlite3LogEstToInt($801)|0); $803 = tempRet0; (_sqlite3VdbeAddOp2($798,25,$802,3)|0); $804 = HEAP32[$v>>2]|0; $805 = HEAP32[$pIdx>>2]|0; - $806 = (($805) + 8|0); + $806 = ((($805)) + 8|0); $807 = HEAP32[$806>>2]|0; $808 = HEAP16[$807>>1]|0; $809 = (_sqlite3LogEstToInt($808)|0); @@ -79068,7 +78079,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $811 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp2($811,35,1,4)|0); $812 = HEAP32[$pIdx>>2]|0; - $813 = (($812) + 20|0); + $813 = ((($812)) + 20|0); $814 = HEAP32[$813>>2]|0; HEAP32[$pIdx>>2] = $814; } @@ -79078,122 +78089,416 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } break; } - case 4: { - $484 = HEAP32[$zRight>>2]|0; - $485 = ($484|0)!=(0|0); - if ($485) { - $494 = HEAP32[$zRight>>2]|0; - $495 = (_sqlite3Atoi($494)|0); - HEAP32[$size10>>2] = $495; - $496 = HEAP32[$size10>>2]|0; - $497 = HEAP32[$pDb>>2]|0; - $498 = (($497) + 12|0); - $499 = HEAP32[$498>>2]|0; - $500 = (($499) + 80|0); - HEAP32[$500>>2] = $496; - $501 = HEAP32[$pDb>>2]|0; - $502 = (($501) + 4|0); - $503 = HEAP32[$502>>2]|0; - $504 = HEAP32[$pDb>>2]|0; - $505 = (($504) + 12|0); - $506 = HEAP32[$505>>2]|0; - $507 = (($506) + 80|0); - $508 = HEAP32[$507>>2]|0; - (_sqlite3BtreeSetCacheSize($503,$508)|0); - break L21; - } else { - $486 = HEAP32[$0>>2]|0; - $487 = HEAP32[$pDb>>2]|0; - $488 = (($487) + 12|0); - $489 = HEAP32[$488>>2]|0; - $490 = (($489) + 80|0); - $491 = HEAP32[$490>>2]|0; - $492 = ($491|0)<(0); - $493 = $492 << 31 >> 31; - _returnSingleInt($486,21016,$491,$493); + case 15: { + $817 = HEAP32[$zRight>>2]|0; + $818 = ($817|0)!=(0|0); + if (!($818)) { break L21; } - break; - } - case 25: { - $202 = HEAP32[$pDb>>2]|0; - $203 = (($202) + 4|0); - $204 = HEAP32[$203>>2]|0; - HEAP32[$pBt2>>2] = $204; - HEAP32[$b>>2] = -1; - $205 = HEAP32[$zRight>>2]|0; - $206 = ($205|0)!=(0|0); - if ($206) { - $207 = HEAP32[$zRight>>2]|0; - $208 = (_sqlite3GetBoolean($207,0)|0); - $209 = $208&255; - HEAP32[$b>>2] = $209; + $819 = HEAP32[$db>>2]|0; + $820 = HEAP32[$zRight>>2]|0; + $821 = HEAP32[$zDb>>2]|0; + $822 = (_sqlite3FindIndex($819,$820,$821)|0); + HEAP32[$pIdx13>>2] = $822; + $823 = HEAP32[$pIdx13>>2]|0; + $824 = ($823|0)!=(0|0); + if (!($824)) { + break L21; } - $210 = HEAP32[$2>>2]|0; - $211 = (($210) + 4|0); - $212 = HEAP32[$211>>2]|0; - $213 = ($212|0)==(0); - $214 = HEAP32[$b>>2]|0; - $215 = ($214|0)>=(0); - $or$cond = $213 & $215; - L200: do { - if ($or$cond) { - HEAP32[$ii>>2] = 0; - while(1) { - $216 = HEAP32[$ii>>2]|0; - $217 = HEAP32[$db>>2]|0; - $218 = (($217) + 20|0); - $219 = HEAP32[$218>>2]|0; - $220 = ($216|0)<($219|0); - if (!($220)) { - break L200; - } - $221 = HEAP32[$ii>>2]|0; - $222 = HEAP32[$db>>2]|0; - $223 = (($222) + 16|0); - $224 = HEAP32[$223>>2]|0; - $225 = (($224) + ($221<<4)|0); - $226 = (($225) + 4|0); - $227 = HEAP32[$226>>2]|0; - $228 = HEAP32[$b>>2]|0; - (_sqlite3BtreeSecureDelete($227,$228)|0); - $229 = HEAP32[$ii>>2]|0; - $230 = (($229) + 1)|0; - HEAP32[$ii>>2] = $230; + $825 = HEAP32[$pIdx13>>2]|0; + $826 = ((($825)) + 12|0); + $827 = HEAP32[$826>>2]|0; + HEAP32[$pTab14>>2] = $827; + $828 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($828,3); + $829 = HEAP32[$0>>2]|0; + $830 = ((($829)) + 72|0); + HEAP32[$830>>2] = 3; + $831 = HEAP32[$0>>2]|0; + $832 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($831,$832); + $833 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($833,0,0,24355,0)|0); + $834 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($834,1,0,24300,0)|0); + $835 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($835,2,0,24304,0)|0); + HEAP32[$i15>>2] = 0; + while(1) { + $836 = HEAP32[$i15>>2]|0; + $837 = HEAP32[$pIdx13>>2]|0; + $838 = ((($837)) + 50|0); + $839 = HEAP16[$838>>1]|0; + $840 = $839&65535; + $841 = ($836|0)<($840|0); + if (!($841)) { + break L21; + } + $842 = HEAP32[$i15>>2]|0; + $843 = HEAP32[$pIdx13>>2]|0; + $844 = ((($843)) + 4|0); + $845 = HEAP32[$844>>2]|0; + $846 = (($845) + ($842<<1)|0); + $847 = HEAP16[$846>>1]|0; + HEAP16[$cnum>>1] = $847; + $848 = HEAP32[$v>>2]|0; + $849 = HEAP32[$i15>>2]|0; + (_sqlite3VdbeAddOp2($848,25,$849,1)|0); + $850 = HEAP32[$v>>2]|0; + $851 = HEAP16[$cnum>>1]|0; + $852 = $851 << 16 >> 16; + (_sqlite3VdbeAddOp2($850,25,$852,2)|0); + $853 = HEAP32[$v>>2]|0; + $854 = HEAP16[$cnum>>1]|0; + $855 = $854 << 16 >> 16; + $856 = HEAP32[$pTab14>>2]|0; + $857 = ((($856)) + 4|0); + $858 = HEAP32[$857>>2]|0; + $859 = (($858) + (($855*24)|0)|0); + $860 = HEAP32[$859>>2]|0; + (_sqlite3VdbeAddOp4($853,97,0,3,0,$860,0)|0); + $861 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($861,35,1,3)|0); + $862 = HEAP32[$i15>>2]|0; + $863 = (($862) + 1)|0; + HEAP32[$i15>>2] = $863; + } + break; + } + case 16: { + $864 = HEAP32[$zRight>>2]|0; + $865 = ($864|0)!=(0|0); + if (!($865)) { + break L21; + } + $866 = HEAP32[$db>>2]|0; + $867 = HEAP32[$zRight>>2]|0; + $868 = HEAP32[$zDb>>2]|0; + $869 = (_sqlite3FindTable($866,$867,$868)|0); + HEAP32[$pTab17>>2] = $869; + $870 = HEAP32[$pTab17>>2]|0; + $871 = ($870|0)!=(0|0); + if (!($871)) { + break L21; + } + $872 = HEAP32[$0>>2]|0; + $873 = (_sqlite3GetVdbe($872)|0); + HEAP32[$v>>2] = $873; + $874 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($874,3); + $875 = HEAP32[$0>>2]|0; + $876 = ((($875)) + 72|0); + HEAP32[$876>>2] = 3; + $877 = HEAP32[$0>>2]|0; + $878 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($877,$878); + $879 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($879,0,0,24361,0)|0); + $880 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($880,1,0,24304,0)|0); + $881 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($881,2,0,24365,0)|0); + $882 = HEAP32[$pTab17>>2]|0; + $883 = ((($882)) + 8|0); + $884 = HEAP32[$883>>2]|0; + HEAP32[$pIdx16>>2] = $884; + HEAP32[$i18>>2] = 0; + while(1) { + $885 = HEAP32[$pIdx16>>2]|0; + $886 = ($885|0)!=(0|0); + if (!($886)) { + break L21; + } + $887 = HEAP32[$v>>2]|0; + $888 = HEAP32[$i18>>2]|0; + (_sqlite3VdbeAddOp2($887,25,$888,1)|0); + $889 = HEAP32[$v>>2]|0; + $890 = HEAP32[$pIdx16>>2]|0; + $891 = HEAP32[$890>>2]|0; + (_sqlite3VdbeAddOp4($889,97,0,2,0,$891,0)|0); + $892 = HEAP32[$v>>2]|0; + $893 = HEAP32[$pIdx16>>2]|0; + $894 = ((($893)) + 54|0); + $895 = HEAP8[$894>>0]|0; + $896 = $895&255; + $897 = ($896|0)!=(0); + $898 = $897&1; + (_sqlite3VdbeAddOp2($892,25,$898,3)|0); + $899 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($899,35,1,3)|0); + $900 = HEAP32[$pIdx16>>2]|0; + $901 = ((($900)) + 20|0); + $902 = HEAP32[$901>>2]|0; + HEAP32[$pIdx16>>2] = $902; + $903 = HEAP32[$i18>>2]|0; + $904 = (($903) + 1)|0; + HEAP32[$i18>>2] = $904; + } + break; + } + case 9: { + $905 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($905,3); + $906 = HEAP32[$0>>2]|0; + $907 = ((($906)) + 72|0); + HEAP32[$907>>2] = 3; + $908 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($908,0,0,24361,0)|0); + $909 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($909,1,0,24304,0)|0); + $910 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($910,2,0,24372,0)|0); + HEAP32[$i19>>2] = 0; + while(1) { + $911 = HEAP32[$i19>>2]|0; + $912 = HEAP32[$db>>2]|0; + $913 = ((($912)) + 20|0); + $914 = HEAP32[$913>>2]|0; + $915 = ($911|0)<($914|0); + if (!($915)) { + break L21; + } + $916 = HEAP32[$i19>>2]|0; + $917 = HEAP32[$db>>2]|0; + $918 = ((($917)) + 16|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($919) + ($916<<4)|0); + $921 = ((($920)) + 4|0); + $922 = HEAP32[$921>>2]|0; + $923 = ($922|0)==(0|0); + if (!($923)) { + $924 = HEAP32[$v>>2]|0; + $925 = HEAP32[$i19>>2]|0; + (_sqlite3VdbeAddOp2($924,25,$925,1)|0); + $926 = HEAP32[$v>>2]|0; + $927 = HEAP32[$i19>>2]|0; + $928 = HEAP32[$db>>2]|0; + $929 = ((($928)) + 16|0); + $930 = HEAP32[$929>>2]|0; + $931 = (($930) + ($927<<4)|0); + $932 = HEAP32[$931>>2]|0; + (_sqlite3VdbeAddOp4($926,97,0,2,0,$932,0)|0); + $933 = HEAP32[$v>>2]|0; + $934 = HEAP32[$i19>>2]|0; + $935 = HEAP32[$db>>2]|0; + $936 = ((($935)) + 16|0); + $937 = HEAP32[$936>>2]|0; + $938 = (($937) + ($934<<4)|0); + $939 = ((($938)) + 4|0); + $940 = HEAP32[$939>>2]|0; + $941 = (_sqlite3BtreeGetFilename($940)|0); + (_sqlite3VdbeAddOp4($933,97,0,3,0,$941,0)|0); + $942 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($942,35,1,3)|0); + } + $943 = HEAP32[$i19>>2]|0; + $944 = (($943) + 1)|0; + HEAP32[$i19>>2] = $944; + } + break; + } + case 6: { + HEAP32[$i20>>2] = 0; + $945 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($945,2); + $946 = HEAP32[$0>>2]|0; + $947 = ((($946)) + 72|0); + HEAP32[$947>>2] = 2; + $948 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($948,0,0,24361,0)|0); + $949 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($949,1,0,24304,0)|0); + $950 = HEAP32[$db>>2]|0; + $951 = ((($950)) + 428|0); + $952 = ((($951)) + 8|0); + $953 = HEAP32[$952>>2]|0; + HEAP32[$p>>2] = $953; + while(1) { + $954 = HEAP32[$p>>2]|0; + $955 = ($954|0)!=(0|0); + if (!($955)) { + break L21; + } + $956 = HEAP32[$p>>2]|0; + $957 = ((($956)) + 8|0); + $958 = HEAP32[$957>>2]|0; + HEAP32[$pColl>>2] = $958; + $959 = HEAP32[$v>>2]|0; + $960 = HEAP32[$i20>>2]|0; + $961 = (($960) + 1)|0; + HEAP32[$i20>>2] = $961; + (_sqlite3VdbeAddOp2($959,25,$960,1)|0); + $962 = HEAP32[$v>>2]|0; + $963 = HEAP32[$pColl>>2]|0; + $964 = HEAP32[$963>>2]|0; + (_sqlite3VdbeAddOp4($962,97,0,2,0,$964,0)|0); + $965 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($965,35,1,2)|0); + $966 = HEAP32[$p>>2]|0; + $967 = HEAP32[$966>>2]|0; + HEAP32[$p>>2] = $967; + } + break; + } + case 13: { + $968 = HEAP32[$zRight>>2]|0; + $969 = ($968|0)!=(0|0); + if (!($969)) { + break L21; + } + $970 = HEAP32[$db>>2]|0; + $971 = HEAP32[$zRight>>2]|0; + $972 = HEAP32[$zDb>>2]|0; + $973 = (_sqlite3FindTable($970,$971,$972)|0); + HEAP32[$pTab21>>2] = $973; + $974 = HEAP32[$pTab21>>2]|0; + $975 = ($974|0)!=(0|0); + if (!($975)) { + break L21; + } + $976 = HEAP32[$0>>2]|0; + $977 = (_sqlite3GetVdbe($976)|0); + HEAP32[$v>>2] = $977; + $978 = HEAP32[$pTab21>>2]|0; + $979 = ((($978)) + 16|0); + $980 = HEAP32[$979>>2]|0; + HEAP32[$pFK>>2] = $980; + $981 = HEAP32[$pFK>>2]|0; + $982 = ($981|0)!=(0|0); + if (!($982)) { + break L21; + } + HEAP32[$i22>>2] = 0; + $983 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($983,8); + $984 = HEAP32[$0>>2]|0; + $985 = ((($984)) + 72|0); + HEAP32[$985>>2] = 8; + $986 = HEAP32[$0>>2]|0; + $987 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($986,$987); + $988 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($988,0,0,24377,0)|0); + $989 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($989,1,0,24361,0)|0); + $990 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($990,2,0,24336,0)|0); + $991 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($991,3,0,24380,0)|0); + $992 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($992,4,0,24385,0)|0); + $993 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($993,5,0,24388,0)|0); + $994 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($994,6,0,24398,0)|0); + $995 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($995,7,0,24408,0)|0); + while(1) { + $996 = HEAP32[$pFK>>2]|0; + $997 = ($996|0)!=(0|0); + if (!($997)) { + break L21; + } + HEAP32[$j>>2] = 0; + while(1) { + $998 = HEAP32[$j>>2]|0; + $999 = HEAP32[$pFK>>2]|0; + $1000 = ((($999)) + 20|0); + $1001 = HEAP32[$1000>>2]|0; + $1002 = ($998|0)<($1001|0); + if (!($1002)) { + break; } + $1003 = HEAP32[$j>>2]|0; + $1004 = HEAP32[$pFK>>2]|0; + $1005 = ((($1004)) + 36|0); + $1006 = (($1005) + ($1003<<3)|0); + $1007 = ((($1006)) + 4|0); + $1008 = HEAP32[$1007>>2]|0; + HEAP32[$zCol>>2] = $1008; + $1009 = HEAP32[$pFK>>2]|0; + $1010 = ((($1009)) + 25|0); + $1011 = HEAP8[$1010>>0]|0; + $1012 = (_actionName($1011)|0); + HEAP32[$zOnDelete>>2] = $1012; + $1013 = HEAP32[$pFK>>2]|0; + $1014 = ((($1013)) + 25|0); + $1015 = ((($1014)) + 1|0); + $1016 = HEAP8[$1015>>0]|0; + $1017 = (_actionName($1016)|0); + HEAP32[$zOnUpdate>>2] = $1017; + $1018 = HEAP32[$v>>2]|0; + $1019 = HEAP32[$i22>>2]|0; + (_sqlite3VdbeAddOp2($1018,25,$1019,1)|0); + $1020 = HEAP32[$v>>2]|0; + $1021 = HEAP32[$j>>2]|0; + (_sqlite3VdbeAddOp2($1020,25,$1021,2)|0); + $1022 = HEAP32[$v>>2]|0; + $1023 = HEAP32[$pFK>>2]|0; + $1024 = ((($1023)) + 8|0); + $1025 = HEAP32[$1024>>2]|0; + (_sqlite3VdbeAddOp4($1022,97,0,3,0,$1025,0)|0); + $1026 = HEAP32[$v>>2]|0; + $1027 = HEAP32[$j>>2]|0; + $1028 = HEAP32[$pFK>>2]|0; + $1029 = ((($1028)) + 36|0); + $1030 = (($1029) + ($1027<<3)|0); + $1031 = HEAP32[$1030>>2]|0; + $1032 = HEAP32[$pTab21>>2]|0; + $1033 = ((($1032)) + 4|0); + $1034 = HEAP32[$1033>>2]|0; + $1035 = (($1034) + (($1031*24)|0)|0); + $1036 = HEAP32[$1035>>2]|0; + (_sqlite3VdbeAddOp4($1026,97,0,4,0,$1036,0)|0); + $1037 = HEAP32[$v>>2]|0; + $1038 = HEAP32[$zCol>>2]|0; + $1039 = ($1038|0)!=(0|0); + $1040 = $1039 ? 97 : 28; + $1041 = HEAP32[$zCol>>2]|0; + (_sqlite3VdbeAddOp4($1037,$1040,0,5,0,$1041,0)|0); + $1042 = HEAP32[$v>>2]|0; + $1043 = HEAP32[$zOnUpdate>>2]|0; + (_sqlite3VdbeAddOp4($1042,97,0,6,0,$1043,0)|0); + $1044 = HEAP32[$v>>2]|0; + $1045 = HEAP32[$zOnDelete>>2]|0; + (_sqlite3VdbeAddOp4($1044,97,0,7,0,$1045,0)|0); + $1046 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp4($1046,97,0,8,0,24414,0)|0); + $1047 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1047,35,1,8)|0); + $1048 = HEAP32[$j>>2]|0; + $1049 = (($1048) + 1)|0; + HEAP32[$j>>2] = $1049; } - } while(0); - $231 = HEAP32[$pBt2>>2]|0; - $232 = HEAP32[$b>>2]|0; - $233 = (_sqlite3BtreeSecureDelete($231,$232)|0); - HEAP32[$b>>2] = $233; - $234 = HEAP32[$0>>2]|0; - $235 = HEAP32[$b>>2]|0; - $236 = ($235|0)<(0); - $237 = $236 << 31 >> 31; - _returnSingleInt($234,21048,$235,$237); - break L21; + $1050 = HEAP32[$i22>>2]|0; + $1051 = (($1050) + 1)|0; + HEAP32[$i22>>2] = $1051; + $1052 = HEAP32[$pFK>>2]|0; + $1053 = ((($1052)) + 4|0); + $1054 = HEAP32[$1053>>2]|0; + HEAP32[$pFK>>2] = $1054; + } break; } case 12: { $1055 = HEAP32[$0>>2]|0; - $1056 = (($1055) + 72|0); + $1056 = ((($1055)) + 72|0); $1057 = HEAP32[$1056>>2]|0; $1058 = (($1057) + 1)|0; HEAP32[$regResult>>2] = $1058; $1059 = HEAP32[$0>>2]|0; - $1060 = (($1059) + 72|0); + $1060 = ((($1059)) + 72|0); $1061 = HEAP32[$1060>>2]|0; $1062 = (($1061) + 4)|0; HEAP32[$1060>>2] = $1062; $1063 = HEAP32[$0>>2]|0; - $1064 = (($1063) + 72|0); + $1064 = ((($1063)) + 72|0); $1065 = HEAP32[$1064>>2]|0; $1066 = (($1065) + 1)|0; HEAP32[$1064>>2] = $1066; HEAP32[$regKey>>2] = $1066; $1067 = HEAP32[$0>>2]|0; - $1068 = (($1067) + 72|0); + $1068 = ((($1067)) + 72|0); $1069 = HEAP32[$1068>>2]|0; $1070 = (($1069) + 1)|0; HEAP32[$1068>>2] = $1070; @@ -79204,25 +78509,25 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1073 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($1073,4); $1074 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1074,0,0,21400,0)|0); + (_sqlite3VdbeSetColName($1074,0,0,24336,0)|0); $1075 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1075,1,0,9992,0)|0); + (_sqlite3VdbeSetColName($1075,1,0,18143,0)|0); $1076 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1076,2,0,21528,0)|0); + (_sqlite3VdbeSetColName($1076,2,0,24419,0)|0); $1077 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1077,3,0,21536,0)|0); + (_sqlite3VdbeSetColName($1077,3,0,24426,0)|0); $1078 = HEAP32[$0>>2]|0; $1079 = HEAP32[$iDb>>2]|0; _sqlite3CodeVerifySchema($1078,$1079); $1080 = HEAP32[$iDb>>2]|0; $1081 = HEAP32[$db>>2]|0; - $1082 = (($1081) + 16|0); + $1082 = ((($1081)) + 16|0); $1083 = HEAP32[$1082>>2]|0; $1084 = (($1083) + ($1080<<4)|0); - $1085 = (($1084) + 12|0); + $1085 = ((($1084)) + 12|0); $1086 = HEAP32[$1085>>2]|0; - $1087 = (($1086) + 8|0); - $1088 = (($1087) + 8|0); + $1087 = ((($1086)) + 8|0); + $1088 = ((($1087)) + 8|0); $1089 = HEAP32[$1088>>2]|0; HEAP32[$k28>>2] = $1089; while(1) { @@ -79242,7 +78547,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$k28>>2] = 0; } else { $1098 = HEAP32[$k28>>2]|0; - $1099 = (($1098) + 8|0); + $1099 = ((($1098)) + 8|0); $1100 = HEAP32[$1099>>2]|0; HEAP32[$pTab24>>2] = $1100; $1101 = HEAP32[$k28>>2]|0; @@ -79255,7 +78560,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { continue; } $1105 = HEAP32[$pTab24>>2]|0; - $1106 = (($1105) + 16|0); + $1106 = ((($1105)) + 16|0); $1107 = HEAP32[$1106>>2]|0; $1108 = ($1107|0)==(0|0); if ($1108) { @@ -79264,30 +78569,30 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1109 = HEAP32[$0>>2]|0; $1110 = HEAP32[$iDb>>2]|0; $1111 = HEAP32[$pTab24>>2]|0; - $1112 = (($1111) + 32|0); + $1112 = ((($1111)) + 32|0); $1113 = HEAP32[$1112>>2]|0; $1114 = HEAP32[$pTab24>>2]|0; $1115 = HEAP32[$1114>>2]|0; _sqlite3TableLock($1109,$1110,$1113,0,$1115); $1116 = HEAP32[$pTab24>>2]|0; - $1117 = (($1116) + 38|0); + $1117 = ((($1116)) + 38|0); $1118 = HEAP16[$1117>>1]|0; $1119 = $1118 << 16 >> 16; $1120 = HEAP32[$regRow>>2]|0; $1121 = (($1119) + ($1120))|0; $1122 = HEAP32[$0>>2]|0; - $1123 = (($1122) + 72|0); + $1123 = ((($1122)) + 72|0); $1124 = HEAP32[$1123>>2]|0; $1125 = ($1121|0)>($1124|0); if ($1125) { $1126 = HEAP32[$pTab24>>2]|0; - $1127 = (($1126) + 38|0); + $1127 = ((($1126)) + 38|0); $1128 = HEAP16[$1127>>1]|0; $1129 = $1128 << 16 >> 16; $1130 = HEAP32[$regRow>>2]|0; $1131 = (($1129) + ($1130))|0; $1132 = HEAP32[$0>>2]|0; - $1133 = (($1132) + 72|0); + $1133 = ((($1132)) + 72|0); HEAP32[$1133>>2] = $1131; } $1134 = HEAP32[$0>>2]|0; @@ -79301,10 +78606,10 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { (_sqlite3VdbeAddOp4($1137,97,0,$1138,0,$1140,0)|0); HEAP32[$i26>>2] = 1; $1141 = HEAP32[$pTab24>>2]|0; - $1142 = (($1141) + 16|0); + $1142 = ((($1141)) + 16|0); $1143 = HEAP32[$1142>>2]|0; HEAP32[$pFK23>>2] = $1143; - L219: while(1) { + L261: while(1) { $1144 = HEAP32[$pFK23>>2]|0; $1145 = ($1144|0)!=(0|0); if (!($1145)) { @@ -79312,7 +78617,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } $1146 = HEAP32[$db>>2]|0; $1147 = HEAP32[$pFK23>>2]|0; - $1148 = (($1147) + 8|0); + $1148 = ((($1147)) + 8|0); $1149 = HEAP32[$1148>>2]|0; $1150 = HEAP32[$zDb>>2]|0; $1151 = (_sqlite3FindTable($1146,$1149,$1150)|0); @@ -79325,7 +78630,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1154 = HEAP32[$0>>2]|0; $1155 = HEAP32[$iDb>>2]|0; $1156 = HEAP32[$pParent>>2]|0; - $1157 = (($1156) + 32|0); + $1157 = ((($1156)) + 32|0); $1158 = HEAP32[$1157>>2]|0; $1159 = HEAP32[$pParent>>2]|0; $1160 = HEAP32[$1159>>2]|0; @@ -79339,7 +78644,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1166 = ($1165|0)==(0); if (!($1166)) { label = 195; - break L219; + break L261; } $1167 = HEAP32[$pIdx25>>2]|0; $1168 = ($1167|0)==(0|0); @@ -79354,7 +78659,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1173 = HEAP32[$v>>2]|0; $1174 = HEAP32[$i26>>2]|0; $1175 = HEAP32[$pIdx25>>2]|0; - $1176 = (($1175) + 44|0); + $1176 = ((($1175)) + 44|0); $1177 = HEAP32[$1176>>2]|0; $1178 = HEAP32[$iDb>>2]|0; (_sqlite3VdbeAddOp3($1173,54,$1174,$1177,$1178)|0); @@ -79369,7 +78674,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1182 = (($1181) + 1)|0; HEAP32[$i26>>2] = $1182; $1183 = HEAP32[$pFK23>>2]|0; - $1184 = (($1183) + 4|0); + $1184 = ((($1183)) + 4|0); $1185 = HEAP32[$1184>>2]|0; HEAP32[$pFK23>>2] = $1185; } @@ -79383,14 +78688,14 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } $1188 = HEAP32[$0>>2]|0; - $1189 = (($1188) + 68|0); + $1189 = ((($1188)) + 68|0); $1190 = HEAP32[$1189>>2]|0; $1191 = HEAP32[$i26>>2]|0; $1192 = ($1190|0)<($1191|0); if ($1192) { $1193 = HEAP32[$i26>>2]|0; $1194 = HEAP32[$0>>2]|0; - $1195 = (($1194) + 68|0); + $1195 = ((($1194)) + 68|0); HEAP32[$1195>>2] = $1193; } $1196 = HEAP32[$v>>2]|0; @@ -79398,7 +78703,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$addrTop>>2] = $1197; HEAP32[$i26>>2] = 1; $1198 = HEAP32[$pTab24>>2]|0; - $1199 = (($1198) + 16|0); + $1199 = ((($1198)) + 16|0); $1200 = HEAP32[$1199>>2]|0; HEAP32[$pFK23>>2] = $1200; while(1) { @@ -79409,7 +78714,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } $1203 = HEAP32[$db>>2]|0; $1204 = HEAP32[$pFK23>>2]|0; - $1205 = (($1204) + 8|0); + $1205 = ((($1204)) + 8|0); $1206 = HEAP32[$1205>>2]|0; $1207 = HEAP32[$zDb>>2]|0; $1208 = (_sqlite3FindTable($1203,$1206,$1207)|0); @@ -79436,12 +78741,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { do { if ($or$cond11) { $1221 = HEAP32[$pFK23>>2]|0; - $1222 = (($1221) + 36|0); + $1222 = ((($1221)) + 36|0); $1223 = HEAP32[$1222>>2]|0; HEAP32[$iKey>>2] = $1223; $1224 = HEAP32[$iKey>>2]|0; $1225 = HEAP32[$pTab24>>2]|0; - $1226 = (($1225) + 36|0); + $1226 = ((($1225)) + 36|0); $1227 = HEAP16[$1226>>1]|0; $1228 = $1227 << 16 >> 16; $1229 = ($1224|0)!=($1228|0); @@ -79486,7 +78791,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { while(1) { $1255 = HEAP32[$j27>>2]|0; $1256 = HEAP32[$pFK23>>2]|0; - $1257 = (($1256) + 20|0); + $1257 = ((($1256)) + 20|0); $1258 = HEAP32[$1257>>2]|0; $1259 = ($1255|0)<($1258|0); if (!($1259)) { @@ -79504,7 +78809,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1275 = $1267; } else { $1268 = HEAP32[$pFK23>>2]|0; - $1269 = (($1268) + 36|0); + $1269 = ((($1268)) + 36|0); $1270 = (($1269) + ($1264<<3)|0); $1271 = HEAP32[$1270>>2]|0; $1275 = $1271; @@ -79531,14 +78836,14 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1285 = HEAP32[$v>>2]|0; $1286 = HEAP32[$regRow>>2]|0; $1287 = HEAP32[$pFK23>>2]|0; - $1288 = (($1287) + 20|0); + $1288 = ((($1287)) + 20|0); $1289 = HEAP32[$1288>>2]|0; $1290 = HEAP32[$regKey>>2]|0; $1291 = HEAP32[$v>>2]|0; $1292 = HEAP32[$pIdx25>>2]|0; $1293 = (_sqlite3IndexAffinityStr($1291,$1292)|0); $1294 = HEAP32[$pFK23>>2]|0; - $1295 = (($1294) + 20|0); + $1295 = ((($1294)) + 20|0); $1296 = HEAP32[$1295>>2]|0; (_sqlite3VdbeAddOp4($1285,49,$1286,$1289,$1290,$1293,$1296)|0); $1297 = HEAP32[$v>>2]|0; @@ -79556,7 +78861,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1305 = HEAP32[$regResult>>2]|0; $1306 = (($1305) + 2)|0; $1307 = HEAP32[$pFK23>>2]|0; - $1308 = (($1307) + 8|0); + $1308 = ((($1307)) + 8|0); $1309 = HEAP32[$1308>>2]|0; (_sqlite3VdbeAddOp4($1304,97,0,$1306,0,$1309,0)|0); $1310 = HEAP32[$v>>2]|0; @@ -79578,7 +78883,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1322 = (($1321) + 1)|0; HEAP32[$i26>>2] = $1322; $1323 = HEAP32[$pFK23>>2]|0; - $1324 = (($1323) + 4|0); + $1324 = ((($1323)) + 4|0); $1325 = HEAP32[$1324>>2]|0; HEAP32[$pFK23>>2] = $1325; } @@ -79592,11 +78897,25 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } break; } + case 5: { + $1331 = HEAP32[$zRight>>2]|0; + $1332 = ($1331|0)!=(0|0); + if (!($1332)) { + break L21; + } + $1333 = HEAP32[$db>>2]|0; + $1334 = HEAP32[$zRight>>2]|0; + $1335 = (_sqlite3GetBoolean($1334,0)|0); + $1336 = $1335&255; + _sqlite3RegisterLikeFunctions($1333,$1336); + break L21; + break; + } case 17: { $1337 = HEAP32[$zLeft>>2]|0; $1338 = HEAP8[$1337>>0]|0; $1339 = $1338&255; - $1340 = (440 + ($1339)|0); + $1340 = (13848 + ($1339)|0); $1341 = HEAP8[$1340>>0]|0; $1342 = $1341&255; $1343 = ($1342|0)==(113); @@ -79609,12 +78928,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$iDb>>2] = -1; } $1348 = HEAP32[$0>>2]|0; - $1349 = (($1348) + 72|0); + $1349 = ((($1348)) + 72|0); HEAP32[$1349>>2] = 6; $1350 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($1350,1); $1351 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1351,0,0,21560,0)|0); + (_sqlite3VdbeSetColName($1351,0,0,24431,0)|0); HEAP32[$mxErr>>2] = 100; $1352 = HEAP32[$zRight>>2]|0; $1353 = ($1352|0)!=(0|0); @@ -79634,7 +78953,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { while(1) { $1359 = HEAP32[$i29>>2]|0; $1360 = HEAP32[$db>>2]|0; - $1361 = (($1360) + 20|0); + $1361 = ((($1360)) + 20|0); $1362 = HEAP32[$1361>>2]|0; $1363 = ($1359|0)<($1362|0); if (!($1363)) { @@ -79653,7 +78972,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } else { label = 230; } - L273: do { + L317: do { if ((label|0) == 230) { label = 0; $1369 = HEAP32[$0>>2]|0; @@ -79669,15 +78988,15 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { _sqlite3VdbeJumpHere($1374,$1375); $1376 = HEAP32[$i29>>2]|0; $1377 = HEAP32[$db>>2]|0; - $1378 = (($1377) + 16|0); + $1378 = ((($1377)) + 16|0); $1379 = HEAP32[$1378>>2]|0; $1380 = (($1379) + ($1376<<4)|0); - $1381 = (($1380) + 12|0); + $1381 = ((($1380)) + 12|0); $1382 = HEAP32[$1381>>2]|0; - $1383 = (($1382) + 8|0); + $1383 = ((($1382)) + 8|0); HEAP32[$pTbls>>2] = $1383; $1384 = HEAP32[$pTbls>>2]|0; - $1385 = (($1384) + 8|0); + $1385 = ((($1384)) + 8|0); $1386 = HEAP32[$1385>>2]|0; HEAP32[$x32>>2] = $1386; while(1) { @@ -79687,11 +79006,11 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break; } $1389 = HEAP32[$x32>>2]|0; - $1390 = (($1389) + 8|0); + $1390 = ((($1389)) + 8|0); $1391 = HEAP32[$1390>>2]|0; HEAP32[$pTab33>>2] = $1391; $1392 = HEAP32[$pTab33>>2]|0; - $1393 = (($1392) + 44|0); + $1393 = ((($1392)) + 44|0); $1394 = HEAP8[$1393>>0]|0; $1395 = $1394&255; $1396 = $1395 & 32; @@ -79699,7 +79018,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if ($1397) { $1398 = HEAP32[$v>>2]|0; $1399 = HEAP32[$pTab33>>2]|0; - $1400 = (($1399) + 32|0); + $1400 = ((($1399)) + 32|0); $1401 = HEAP32[$1400>>2]|0; $1402 = HEAP32[$cnt>>2]|0; $1403 = (2 + ($1402))|0; @@ -79709,7 +79028,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$cnt>>2] = $1405; } $1406 = HEAP32[$pTab33>>2]|0; - $1407 = (($1406) + 8|0); + $1407 = ((($1406)) + 8|0); $1408 = HEAP32[$1407>>2]|0; HEAP32[$pIdx34>>2] = $1408; while(1) { @@ -79720,7 +79039,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } $1411 = HEAP32[$v>>2]|0; $1412 = HEAP32[$pIdx34>>2]|0; - $1413 = (($1412) + 44|0); + $1413 = ((($1412)) + 44|0); $1414 = HEAP32[$1413>>2]|0; $1415 = HEAP32[$cnt>>2]|0; $1416 = (2 + ($1415))|0; @@ -79729,7 +79048,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1418 = (($1417) + 1)|0; HEAP32[$cnt>>2] = $1418; $1419 = HEAP32[$pIdx34>>2]|0; - $1420 = (($1419) + 20|0); + $1420 = ((($1419)) + 20|0); $1421 = HEAP32[$1420>>2]|0; HEAP32[$pIdx34>>2] = $1421; } @@ -79738,14 +79057,14 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$x32>>2] = $1423; } $1424 = HEAP32[$0>>2]|0; - $1425 = (($1424) + 72|0); + $1425 = ((($1424)) + 72|0); $1426 = HEAP32[$1425>>2]|0; $1427 = HEAP32[$cnt>>2]|0; $1428 = (($1427) + 8)|0; $1429 = ($1426|0)>($1428|0); if ($1429) { $1430 = HEAP32[$0>>2]|0; - $1431 = (($1430) + 72|0); + $1431 = ((($1430)) + 72|0); $1432 = HEAP32[$1431>>2]|0; $1437 = $1432; } else { @@ -79754,7 +79073,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1437 = $1434; } $1435 = HEAP32[$0>>2]|0; - $1436 = (($1435) + 72|0); + $1436 = ((($1435)) + 72|0); HEAP32[$1436>>2] = $1437; $1438 = HEAP32[$v>>2]|0; $1439 = HEAP32[$cnt>>2]|0; @@ -79770,12 +79089,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1446 = HEAP32[$db>>2]|0; $1447 = HEAP32[$i29>>2]|0; $1448 = HEAP32[$db>>2]|0; - $1449 = (($1448) + 16|0); + $1449 = ((($1448)) + 16|0); $1450 = HEAP32[$1449>>2]|0; $1451 = (($1450) + ($1447<<4)|0); $1452 = HEAP32[$1451>>2]|0; - HEAP32[$vararg_buffer35>>2] = $1452; - $1453 = (_sqlite3MPrintf($1446,21576,$vararg_buffer35)|0); + HEAP32[$vararg_buffer27>>2] = $1452; + $1453 = (_sqlite3MPrintf($1446,24447,$vararg_buffer27)|0); (_sqlite3VdbeAddOp4($1445,97,0,3,0,$1453,-1)|0); $1454 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp3($1454,32,2,4,1)|0); @@ -79787,590 +79106,579 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1458 = HEAP32[$addr31>>2]|0; _sqlite3VdbeJumpHere($1457,$1458); $1459 = HEAP32[$pTbls>>2]|0; - $1460 = (($1459) + 8|0); + $1460 = ((($1459)) + 8|0); $1461 = HEAP32[$1460>>2]|0; HEAP32[$x32>>2] = $1461; while(1) { $1462 = HEAP32[$x32>>2]|0; - $1463 = ($1462|0)==(0|0); + $1463 = ($1462|0)!=(0|0); + if (!($1463)) { + break L317; + } $1464 = HEAP32[$isQuick>>2]|0; $1465 = ($1464|0)!=(0); - $or$cond13 = $1463 | $1465; - if ($or$cond13) { - break L273; + $1466 = $1465 ^ 1; + if (!($1466)) { + break L317; } - $1466 = HEAP32[$x32>>2]|0; - $1467 = (($1466) + 8|0); - $1468 = HEAP32[$1467>>2]|0; - HEAP32[$pTab35>>2] = $1468; + $1467 = HEAP32[$x32>>2]|0; + $1468 = ((($1467)) + 8|0); + $1469 = HEAP32[$1468>>2]|0; + HEAP32[$pTab35>>2] = $1469; HEAP32[$pPrior>>2] = 0; HEAP32[$r1>>2] = -1; - $1469 = HEAP32[$pTab35>>2]|0; - $1470 = (($1469) + 8|0); - $1471 = HEAP32[$1470>>2]|0; - $1472 = ($1471|0)==(0|0); - L293: do { - if (!($1472)) { - $1473 = HEAP32[$pTab35>>2]|0; - $1474 = (($1473) + 44|0); - $1475 = HEAP8[$1474>>0]|0; - $1476 = $1475&255; - $1477 = $1476 & 32; - $1478 = ($1477|0)==(0); - if ($1478) { - $1481 = 0; + $1470 = HEAP32[$pTab35>>2]|0; + $1471 = ((($1470)) + 8|0); + $1472 = HEAP32[$1471>>2]|0; + $1473 = ($1472|0)==(0|0); + L338: do { + if (!($1473)) { + $1474 = HEAP32[$pTab35>>2]|0; + $1475 = ((($1474)) + 44|0); + $1476 = HEAP8[$1475>>0]|0; + $1477 = $1476&255; + $1478 = $1477 & 32; + $1479 = ($1478|0)==(0); + if ($1479) { + $1482 = 0; } else { - $1479 = HEAP32[$pTab35>>2]|0; - $1480 = (_sqlite3PrimaryKeyIndex($1479)|0); - $1481 = $1480; + $1480 = HEAP32[$pTab35>>2]|0; + $1481 = (_sqlite3PrimaryKeyIndex($1480)|0); + $1482 = $1481; } - HEAP32[$pPk37>>2] = $1481; - $1482 = HEAP32[$v>>2]|0; - $1483 = (_sqlite3VdbeAddOp1($1482,137,1)|0); - HEAP32[$addr31>>2] = $1483; - $1484 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1484,24,0,0)|0); + HEAP32[$pPk37>>2] = $1482; + $1483 = HEAP32[$v>>2]|0; + $1484 = (_sqlite3VdbeAddOp1($1483,137,1)|0); + HEAP32[$addr31>>2] = $1484; $1485 = HEAP32[$v>>2]|0; - $1486 = HEAP32[$addr31>>2]|0; - _sqlite3VdbeJumpHere($1485,$1486); - $1487 = HEAP32[$0>>2]|0; - _sqlite3ExprCacheClear($1487); + (_sqlite3VdbeAddOp2($1485,24,0,0)|0); + $1486 = HEAP32[$v>>2]|0; + $1487 = HEAP32[$addr31>>2]|0; + _sqlite3VdbeJumpHere($1486,$1487); $1488 = HEAP32[$0>>2]|0; - $1489 = HEAP32[$pTab35>>2]|0; - (_sqlite3OpenTableAndIndices($1488,$1489,54,1,0,$iDataCur,$iIdxCur)|0); - $1490 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1490,25,0,7)|0); + _sqlite3ExprCacheClear($1488); + $1489 = HEAP32[$0>>2]|0; + $1490 = HEAP32[$pTab35>>2]|0; + (_sqlite3OpenTableAndIndices($1489,$1490,54,1,0,$iDataCur,$iIdxCur)|0); + $1491 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1491,25,0,7)|0); HEAP32[$j30>>2] = 0; - $1491 = HEAP32[$pTab35>>2]|0; - $1492 = (($1491) + 8|0); - $1493 = HEAP32[$1492>>2]|0; - HEAP32[$pIdx36>>2] = $1493; + $1492 = HEAP32[$pTab35>>2]|0; + $1493 = ((($1492)) + 8|0); + $1494 = HEAP32[$1493>>2]|0; + HEAP32[$pIdx36>>2] = $1494; while(1) { - $1494 = HEAP32[$pIdx36>>2]|0; - $1495 = ($1494|0)!=(0|0); - if (!($1495)) { + $1495 = HEAP32[$pIdx36>>2]|0; + $1496 = ($1495|0)!=(0|0); + if (!($1496)) { break; } - $1496 = HEAP32[$v>>2]|0; - $1497 = HEAP32[$j30>>2]|0; - $1498 = (8 + ($1497))|0; - (_sqlite3VdbeAddOp2($1496,25,0,$1498)|0); - $1499 = HEAP32[$pIdx36>>2]|0; - $1500 = (($1499) + 20|0); - $1501 = HEAP32[$1500>>2]|0; - HEAP32[$pIdx36>>2] = $1501; - $1502 = HEAP32[$j30>>2]|0; - $1503 = (($1502) + 1)|0; - HEAP32[$j30>>2] = $1503; + $1497 = HEAP32[$v>>2]|0; + $1498 = HEAP32[$j30>>2]|0; + $1499 = (8 + ($1498))|0; + (_sqlite3VdbeAddOp2($1497,25,0,$1499)|0); + $1500 = HEAP32[$pIdx36>>2]|0; + $1501 = ((($1500)) + 20|0); + $1502 = HEAP32[$1501>>2]|0; + HEAP32[$pIdx36>>2] = $1502; + $1503 = HEAP32[$j30>>2]|0; + $1504 = (($1503) + 1)|0; + HEAP32[$j30>>2] = $1504; } - $1504 = HEAP32[$0>>2]|0; - $1505 = (($1504) + 72|0); - $1506 = HEAP32[$1505>>2]|0; - $1507 = HEAP32[$j30>>2]|0; - $1508 = (8 + ($1507))|0; - $1509 = ($1506|0)>($1508|0); - if ($1509) { - $1510 = HEAP32[$0>>2]|0; - $1511 = (($1510) + 72|0); - $1512 = HEAP32[$1511>>2]|0; - $1517 = $1512; + $1505 = HEAP32[$0>>2]|0; + $1506 = ((($1505)) + 72|0); + $1507 = HEAP32[$1506>>2]|0; + $1508 = HEAP32[$j30>>2]|0; + $1509 = (8 + ($1508))|0; + $1510 = ($1507|0)>($1509|0); + if ($1510) { + $1511 = HEAP32[$0>>2]|0; + $1512 = ((($1511)) + 72|0); + $1513 = HEAP32[$1512>>2]|0; + $1518 = $1513; } else { - $1513 = HEAP32[$j30>>2]|0; - $1514 = (8 + ($1513))|0; - $1517 = $1514; + $1514 = HEAP32[$j30>>2]|0; + $1515 = (8 + ($1514))|0; + $1518 = $1515; } - $1515 = HEAP32[$0>>2]|0; - $1516 = (($1515) + 72|0); - HEAP32[$1516>>2] = $1517; - $1518 = HEAP32[$v>>2]|0; - $1519 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp2($1518,108,$1519,0)|0); - $1520 = HEAP32[$v>>2]|0; - $1521 = (_sqlite3VdbeAddOp2($1520,37,7,1)|0); - HEAP32[$loopTop>>2] = $1521; + $1516 = HEAP32[$0>>2]|0; + $1517 = ((($1516)) + 72|0); + HEAP32[$1517>>2] = $1518; + $1519 = HEAP32[$v>>2]|0; + $1520 = HEAP32[$iDataCur>>2]|0; + (_sqlite3VdbeAddOp2($1519,108,$1520,0)|0); + $1521 = HEAP32[$v>>2]|0; + $1522 = (_sqlite3VdbeAddOp2($1521,37,7,1)|0); + HEAP32[$loopTop>>2] = $1522; HEAP32[$j30>>2] = 0; while(1) { - $1522 = HEAP32[$j30>>2]|0; - $1523 = HEAP32[$pTab35>>2]|0; - $1524 = (($1523) + 38|0); - $1525 = HEAP16[$1524>>1]|0; - $1526 = $1525 << 16 >> 16; - $1527 = ($1522|0)<($1526|0); - if (!($1527)) { + $1523 = HEAP32[$j30>>2]|0; + $1524 = HEAP32[$pTab35>>2]|0; + $1525 = ((($1524)) + 38|0); + $1526 = HEAP16[$1525>>1]|0; + $1527 = $1526 << 16 >> 16; + $1528 = ($1523|0)<($1527|0); + if (!($1528)) { break; } - $1528 = HEAP32[$j30>>2]|0; - $1529 = HEAP32[$pTab35>>2]|0; - $1530 = (($1529) + 36|0); - $1531 = HEAP16[$1530>>1]|0; - $1532 = $1531 << 16 >> 16; - $1533 = ($1528|0)==($1532|0); + $1529 = HEAP32[$j30>>2]|0; + $1530 = HEAP32[$pTab35>>2]|0; + $1531 = ((($1530)) + 36|0); + $1532 = HEAP16[$1531>>1]|0; + $1533 = $1532 << 16 >> 16; + $1534 = ($1529|0)==($1533|0); do { - if (!($1533)) { - $1534 = HEAP32[$j30>>2]|0; - $1535 = HEAP32[$pTab35>>2]|0; - $1536 = (($1535) + 4|0); - $1537 = HEAP32[$1536>>2]|0; - $1538 = (($1537) + (($1534*24)|0)|0); - $1539 = (($1538) + 20|0); - $1540 = HEAP8[$1539>>0]|0; - $1541 = $1540&255; - $1542 = ($1541|0)==(0); - if ($1542) { + if (!($1534)) { + $1535 = HEAP32[$j30>>2]|0; + $1536 = HEAP32[$pTab35>>2]|0; + $1537 = ((($1536)) + 4|0); + $1538 = HEAP32[$1537>>2]|0; + $1539 = (($1538) + (($1535*24)|0)|0); + $1540 = ((($1539)) + 20|0); + $1541 = HEAP8[$1540>>0]|0; + $1542 = $1541&255; + $1543 = ($1542|0)==(0); + if ($1543) { break; } - $1543 = HEAP32[$v>>2]|0; - $1544 = HEAP32[$pTab35>>2]|0; - $1545 = HEAP32[$iDataCur>>2]|0; - $1546 = HEAP32[$j30>>2]|0; - _sqlite3ExprCodeGetColumnOfTable($1543,$1544,$1545,$1546,3); - $1547 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1547,-128); + $1544 = HEAP32[$v>>2]|0; + $1545 = HEAP32[$pTab35>>2]|0; + $1546 = HEAP32[$iDataCur>>2]|0; + $1547 = HEAP32[$j30>>2]|0; + _sqlite3ExprCodeGetColumnOfTable($1544,$1545,$1546,$1547,3); $1548 = HEAP32[$v>>2]|0; - $1549 = (_sqlite3VdbeAddOp1($1548,77,3)|0); - HEAP32[$jmp2>>2] = $1549; - $1550 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1550,37,1,-1)|0); - $1551 = HEAP32[$db>>2]|0; - $1552 = HEAP32[$pTab35>>2]|0; - $1553 = HEAP32[$1552>>2]|0; - $1554 = HEAP32[$j30>>2]|0; - $1555 = HEAP32[$pTab35>>2]|0; - $1556 = (($1555) + 4|0); - $1557 = HEAP32[$1556>>2]|0; - $1558 = (($1557) + (($1554*24)|0)|0); - $1559 = HEAP32[$1558>>2]|0; - HEAP32[$vararg_buffer35>>2] = $1553; - $vararg_ptr34 = (($vararg_buffer35) + 4|0); - HEAP32[$vararg_ptr34>>2] = $1559; - $1560 = (_sqlite3MPrintf($1551,21600,$vararg_buffer35)|0); - HEAP32[$zErr>>2] = $1560; - $1561 = HEAP32[$v>>2]|0; - $1562 = HEAP32[$zErr>>2]|0; - (_sqlite3VdbeAddOp4($1561,97,0,3,0,$1562,-1)|0); - $1563 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1563,35,3,1)|0); + _sqlite3VdbeChangeP5($1548,-128); + $1549 = HEAP32[$v>>2]|0; + $1550 = (_sqlite3VdbeAddOp1($1549,77,3)|0); + HEAP32[$jmp2>>2] = $1550; + $1551 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1551,37,1,-1)|0); + $1552 = HEAP32[$db>>2]|0; + $1553 = HEAP32[$pTab35>>2]|0; + $1554 = HEAP32[$1553>>2]|0; + $1555 = HEAP32[$j30>>2]|0; + $1556 = HEAP32[$pTab35>>2]|0; + $1557 = ((($1556)) + 4|0); + $1558 = HEAP32[$1557>>2]|0; + $1559 = (($1558) + (($1555*24)|0)|0); + $1560 = HEAP32[$1559>>2]|0; + HEAP32[$vararg_buffer30>>2] = $1554; + $vararg_ptr33 = ((($vararg_buffer30)) + 4|0); + HEAP32[$vararg_ptr33>>2] = $1560; + $1561 = (_sqlite3MPrintf($1552,24471,$vararg_buffer30)|0); + HEAP32[$zErr>>2] = $1561; + $1562 = HEAP32[$v>>2]|0; + $1563 = HEAP32[$zErr>>2]|0; + (_sqlite3VdbeAddOp4($1562,97,0,3,0,$1563,-1)|0); $1564 = HEAP32[$v>>2]|0; - $1565 = (_sqlite3VdbeAddOp1($1564,137,1)|0); - HEAP32[$jmp3>>2] = $1565; - $1566 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($1566,24)|0); + (_sqlite3VdbeAddOp2($1564,35,3,1)|0); + $1565 = HEAP32[$v>>2]|0; + $1566 = (_sqlite3VdbeAddOp1($1565,137,1)|0); + HEAP32[$jmp3>>2] = $1566; $1567 = HEAP32[$v>>2]|0; - $1568 = HEAP32[$jmp2>>2]|0; - _sqlite3VdbeJumpHere($1567,$1568); - $1569 = HEAP32[$v>>2]|0; - $1570 = HEAP32[$jmp3>>2]|0; - _sqlite3VdbeJumpHere($1569,$1570); + (_sqlite3VdbeAddOp0($1567,24)|0); + $1568 = HEAP32[$v>>2]|0; + $1569 = HEAP32[$jmp2>>2]|0; + _sqlite3VdbeJumpHere($1568,$1569); + $1570 = HEAP32[$v>>2]|0; + $1571 = HEAP32[$jmp3>>2]|0; + _sqlite3VdbeJumpHere($1570,$1571); } } while(0); - $1571 = HEAP32[$j30>>2]|0; - $1572 = (($1571) + 1)|0; - HEAP32[$j30>>2] = $1572; + $1572 = HEAP32[$j30>>2]|0; + $1573 = (($1572) + 1)|0; + HEAP32[$j30>>2] = $1573; } HEAP32[$j30>>2] = 0; - $1573 = HEAP32[$pTab35>>2]|0; - $1574 = (($1573) + 8|0); - $1575 = HEAP32[$1574>>2]|0; - HEAP32[$pIdx36>>2] = $1575; + $1574 = HEAP32[$pTab35>>2]|0; + $1575 = ((($1574)) + 8|0); + $1576 = HEAP32[$1575>>2]|0; + HEAP32[$pIdx36>>2] = $1576; while(1) { - $1576 = HEAP32[$pIdx36>>2]|0; - $1577 = ($1576|0)!=(0|0); - $1578 = HEAP32[$v>>2]|0; - if (!($1577)) { + $1577 = HEAP32[$pIdx36>>2]|0; + $1578 = ($1577|0)!=(0|0); + $1579 = HEAP32[$v>>2]|0; + if (!($1578)) { break; } - $1579 = (_sqlite3VdbeMakeLabel($1578)|0); - HEAP32[$ckUniq>>2] = $1579; - $1580 = HEAP32[$pPk37>>2]|0; - $1581 = HEAP32[$pIdx36>>2]|0; - $1582 = ($1580|0)==($1581|0); - if (!($1582)) { - $1583 = HEAP32[$0>>2]|0; - $1584 = HEAP32[$pIdx36>>2]|0; - $1585 = HEAP32[$iDataCur>>2]|0; - $1586 = HEAP32[$pPrior>>2]|0; - $1587 = HEAP32[$r1>>2]|0; - $1588 = (_sqlite3GenerateIndexKey($1583,$1584,$1585,0,0,$jmp339,$1586,$1587)|0); - HEAP32[$r1>>2] = $1588; - $1589 = HEAP32[$pIdx36>>2]|0; - HEAP32[$pPrior>>2] = $1589; - $1590 = HEAP32[$v>>2]|0; - $1591 = HEAP32[$j30>>2]|0; - $1592 = (8 + ($1591))|0; - (_sqlite3VdbeAddOp2($1590,37,$1592,1)|0); - $1593 = HEAP32[$v>>2]|0; - $1594 = HEAP32[$iIdxCur>>2]|0; - $1595 = HEAP32[$j30>>2]|0; - $1596 = (($1594) + ($1595))|0; - $1597 = HEAP32[$ckUniq>>2]|0; - $1598 = HEAP32[$r1>>2]|0; - $1599 = HEAP32[$pIdx36>>2]|0; - $1600 = (($1599) + 52|0); - $1601 = HEAP16[$1600>>1]|0; - $1602 = $1601&65535; - $1603 = (_sqlite3VdbeAddOp4Int($1593,69,$1596,$1597,$1598,$1602)|0); - HEAP32[$jmp238>>2] = $1603; - $1604 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1604,37,1,-1)|0); + $1580 = (_sqlite3VdbeMakeLabel($1579)|0); + HEAP32[$ckUniq>>2] = $1580; + $1581 = HEAP32[$pPk37>>2]|0; + $1582 = HEAP32[$pIdx36>>2]|0; + $1583 = ($1581|0)==($1582|0); + if (!($1583)) { + $1584 = HEAP32[$0>>2]|0; + $1585 = HEAP32[$pIdx36>>2]|0; + $1586 = HEAP32[$iDataCur>>2]|0; + $1587 = HEAP32[$pPrior>>2]|0; + $1588 = HEAP32[$r1>>2]|0; + $1589 = (_sqlite3GenerateIndexKey($1584,$1585,$1586,0,0,$jmp339,$1587,$1588)|0); + HEAP32[$r1>>2] = $1589; + $1590 = HEAP32[$pIdx36>>2]|0; + HEAP32[$pPrior>>2] = $1590; + $1591 = HEAP32[$v>>2]|0; + $1592 = HEAP32[$j30>>2]|0; + $1593 = (8 + ($1592))|0; + (_sqlite3VdbeAddOp2($1591,37,$1593,1)|0); + $1594 = HEAP32[$v>>2]|0; + $1595 = HEAP32[$iIdxCur>>2]|0; + $1596 = HEAP32[$j30>>2]|0; + $1597 = (($1595) + ($1596))|0; + $1598 = HEAP32[$ckUniq>>2]|0; + $1599 = HEAP32[$r1>>2]|0; + $1600 = HEAP32[$pIdx36>>2]|0; + $1601 = ((($1600)) + 52|0); + $1602 = HEAP16[$1601>>1]|0; + $1603 = $1602&65535; + $1604 = (_sqlite3VdbeAddOp4Int($1594,69,$1597,$1598,$1599,$1603)|0); + HEAP32[$jmp238>>2] = $1604; $1605 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp4($1605,97,0,3,0,21624,-2)|0); + (_sqlite3VdbeAddOp2($1605,37,1,-1)|0); $1606 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1606,94,7,3,3)|0); + (_sqlite3VdbeAddOp4($1606,97,0,3,0,24491,-2)|0); $1607 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp4($1607,97,0,4,0,21632,-2)|0); + (_sqlite3VdbeAddOp3($1607,94,7,3,3)|0); $1608 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1608,94,4,3,3)|0); + (_sqlite3VdbeAddOp4($1608,97,0,4,0,24496,-2)|0); $1609 = HEAP32[$v>>2]|0; - $1610 = HEAP32[$pIdx36>>2]|0; - $1611 = HEAP32[$1610>>2]|0; - $1612 = (_sqlite3VdbeAddOp4($1609,97,0,4,0,$1611,0)|0); - HEAP32[$jmp5>>2] = $1612; - $1613 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1613,94,4,3,3)|0); + (_sqlite3VdbeAddOp3($1609,94,4,3,3)|0); + $1610 = HEAP32[$v>>2]|0; + $1611 = HEAP32[$pIdx36>>2]|0; + $1612 = HEAP32[$1611>>2]|0; + $1613 = (_sqlite3VdbeAddOp4($1610,97,0,4,0,$1612,0)|0); + HEAP32[$jmp5>>2] = $1613; $1614 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1614,35,3,1)|0); + (_sqlite3VdbeAddOp3($1614,94,4,3,3)|0); $1615 = HEAP32[$v>>2]|0; - $1616 = (_sqlite3VdbeAddOp1($1615,137,1)|0); - HEAP32[$jmp4>>2] = $1616; - $1617 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($1617,24)|0); + (_sqlite3VdbeAddOp2($1615,35,3,1)|0); + $1616 = HEAP32[$v>>2]|0; + $1617 = (_sqlite3VdbeAddOp1($1616,137,1)|0); + HEAP32[$jmp4>>2] = $1617; $1618 = HEAP32[$v>>2]|0; - $1619 = HEAP32[$jmp238>>2]|0; - _sqlite3VdbeJumpHere($1618,$1619); - $1620 = HEAP32[$pIdx36>>2]|0; - $1621 = (($1620) + 54|0); - $1622 = HEAP8[$1621>>0]|0; - $1623 = $1622&255; - $1624 = ($1623|0)!=(0); - if ($1624) { - $1625 = HEAP32[$v>>2]|0; - $1626 = (_sqlite3VdbeMakeLabel($1625)|0); - HEAP32[$uniqOk>>2] = $1626; + (_sqlite3VdbeAddOp0($1618,24)|0); + $1619 = HEAP32[$v>>2]|0; + $1620 = HEAP32[$jmp238>>2]|0; + _sqlite3VdbeJumpHere($1619,$1620); + $1621 = HEAP32[$pIdx36>>2]|0; + $1622 = ((($1621)) + 54|0); + $1623 = HEAP8[$1622>>0]|0; + $1624 = $1623&255; + $1625 = ($1624|0)!=(0); + if ($1625) { + $1626 = HEAP32[$v>>2]|0; + $1627 = (_sqlite3VdbeMakeLabel($1626)|0); + HEAP32[$uniqOk>>2] = $1627; HEAP32[$kk>>2] = 0; while(1) { - $1627 = HEAP32[$kk>>2]|0; - $1628 = HEAP32[$pIdx36>>2]|0; - $1629 = (($1628) + 50|0); - $1630 = HEAP16[$1629>>1]|0; - $1631 = $1630&65535; - $1632 = ($1627|0)<($1631|0); - if (!($1632)) { + $1628 = HEAP32[$kk>>2]|0; + $1629 = HEAP32[$pIdx36>>2]|0; + $1630 = ((($1629)) + 50|0); + $1631 = HEAP16[$1630>>1]|0; + $1632 = $1631&65535; + $1633 = ($1628|0)<($1632|0); + if (!($1633)) { break; } - $1633 = HEAP32[$kk>>2]|0; - $1634 = HEAP32[$pIdx36>>2]|0; - $1635 = (($1634) + 4|0); - $1636 = HEAP32[$1635>>2]|0; - $1637 = (($1636) + ($1633<<1)|0); - $1638 = HEAP16[$1637>>1]|0; - $1639 = $1638 << 16 >> 16; - HEAP32[$iCol>>2] = $1639; - $1640 = HEAP32[$iCol>>2]|0; - $1641 = HEAP32[$pTab35>>2]|0; - $1642 = (($1641) + 4|0); - $1643 = HEAP32[$1642>>2]|0; - $1644 = (($1643) + (($1640*24)|0)|0); - $1645 = (($1644) + 20|0); - $1646 = HEAP8[$1645>>0]|0; - $1647 = ($1646<<24>>24)!=(0); - if (!($1647)) { - $1648 = HEAP32[$v>>2]|0; - $1649 = HEAP32[$r1>>2]|0; - $1650 = HEAP32[$kk>>2]|0; - $1651 = (($1649) + ($1650))|0; - $1652 = HEAP32[$uniqOk>>2]|0; - (_sqlite3VdbeAddOp2($1648,76,$1651,$1652)|0); + $1634 = HEAP32[$kk>>2]|0; + $1635 = HEAP32[$pIdx36>>2]|0; + $1636 = ((($1635)) + 4|0); + $1637 = HEAP32[$1636>>2]|0; + $1638 = (($1637) + ($1634<<1)|0); + $1639 = HEAP16[$1638>>1]|0; + $1640 = $1639 << 16 >> 16; + HEAP32[$iCol>>2] = $1640; + $1641 = HEAP32[$iCol>>2]|0; + $1642 = HEAP32[$pTab35>>2]|0; + $1643 = ((($1642)) + 4|0); + $1644 = HEAP32[$1643>>2]|0; + $1645 = (($1644) + (($1641*24)|0)|0); + $1646 = ((($1645)) + 20|0); + $1647 = HEAP8[$1646>>0]|0; + $1648 = ($1647<<24>>24)!=(0); + if (!($1648)) { + $1649 = HEAP32[$v>>2]|0; + $1650 = HEAP32[$r1>>2]|0; + $1651 = HEAP32[$kk>>2]|0; + $1652 = (($1650) + ($1651))|0; + $1653 = HEAP32[$uniqOk>>2]|0; + (_sqlite3VdbeAddOp2($1649,76,$1652,$1653)|0); } - $1653 = HEAP32[$kk>>2]|0; - $1654 = (($1653) + 1)|0; - HEAP32[$kk>>2] = $1654; + $1654 = HEAP32[$kk>>2]|0; + $1655 = (($1654) + 1)|0; + HEAP32[$kk>>2] = $1655; } - $1655 = HEAP32[$v>>2]|0; - $1656 = HEAP32[$iIdxCur>>2]|0; - $1657 = HEAP32[$j30>>2]|0; - $1658 = (($1656) + ($1657))|0; - $1659 = (_sqlite3VdbeAddOp1($1655,9,$1658)|0); - HEAP32[$jmp6>>2] = $1659; - $1660 = HEAP32[$v>>2]|0; - $1661 = HEAP32[$uniqOk>>2]|0; - (_sqlite3VdbeAddOp2($1660,16,0,$1661)|0); - $1662 = HEAP32[$v>>2]|0; - $1663 = HEAP32[$jmp6>>2]|0; - _sqlite3VdbeJumpHere($1662,$1663); - $1664 = HEAP32[$v>>2]|0; - $1665 = HEAP32[$iIdxCur>>2]|0; - $1666 = HEAP32[$j30>>2]|0; - $1667 = (($1665) + ($1666))|0; - $1668 = HEAP32[$uniqOk>>2]|0; - $1669 = HEAP32[$r1>>2]|0; - $1670 = HEAP32[$pIdx36>>2]|0; - $1671 = (($1670) + 50|0); - $1672 = HEAP16[$1671>>1]|0; - $1673 = $1672&65535; - (_sqlite3VdbeAddOp4Int($1664,114,$1667,$1668,$1669,$1673)|0); - $1674 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1674,37,1,-1)|0); + $1656 = HEAP32[$v>>2]|0; + $1657 = HEAP32[$iIdxCur>>2]|0; + $1658 = HEAP32[$j30>>2]|0; + $1659 = (($1657) + ($1658))|0; + $1660 = (_sqlite3VdbeAddOp1($1656,9,$1659)|0); + HEAP32[$jmp6>>2] = $1660; + $1661 = HEAP32[$v>>2]|0; + $1662 = HEAP32[$uniqOk>>2]|0; + (_sqlite3VdbeAddOp2($1661,16,0,$1662)|0); + $1663 = HEAP32[$v>>2]|0; + $1664 = HEAP32[$jmp6>>2]|0; + _sqlite3VdbeJumpHere($1663,$1664); + $1665 = HEAP32[$v>>2]|0; + $1666 = HEAP32[$iIdxCur>>2]|0; + $1667 = HEAP32[$j30>>2]|0; + $1668 = (($1666) + ($1667))|0; + $1669 = HEAP32[$uniqOk>>2]|0; + $1670 = HEAP32[$r1>>2]|0; + $1671 = HEAP32[$pIdx36>>2]|0; + $1672 = ((($1671)) + 50|0); + $1673 = HEAP16[$1672>>1]|0; + $1674 = $1673&65535; + (_sqlite3VdbeAddOp4Int($1665,114,$1668,$1669,$1670,$1674)|0); $1675 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp4($1675,97,0,3,0,21656,-2)|0); + (_sqlite3VdbeAddOp2($1675,37,1,-1)|0); $1676 = HEAP32[$v>>2]|0; - $1677 = HEAP32[$jmp5>>2]|0; - (_sqlite3VdbeAddOp2($1676,16,0,$1677)|0); - $1678 = HEAP32[$v>>2]|0; - $1679 = HEAP32[$uniqOk>>2]|0; - _sqlite3VdbeResolveLabel($1678,$1679); + (_sqlite3VdbeAddOp4($1676,97,0,3,0,24517,-2)|0); + $1677 = HEAP32[$v>>2]|0; + $1678 = HEAP32[$jmp5>>2]|0; + (_sqlite3VdbeAddOp2($1677,16,0,$1678)|0); + $1679 = HEAP32[$v>>2]|0; + $1680 = HEAP32[$uniqOk>>2]|0; + _sqlite3VdbeResolveLabel($1679,$1680); } - $1680 = HEAP32[$v>>2]|0; - $1681 = HEAP32[$jmp4>>2]|0; - _sqlite3VdbeJumpHere($1680,$1681); - $1682 = HEAP32[$0>>2]|0; - $1683 = HEAP32[$jmp339>>2]|0; - _sqlite3ResolvePartIdxLabel($1682,$1683); + $1681 = HEAP32[$v>>2]|0; + $1682 = HEAP32[$jmp4>>2]|0; + _sqlite3VdbeJumpHere($1681,$1682); + $1683 = HEAP32[$0>>2]|0; + $1684 = HEAP32[$jmp339>>2]|0; + _sqlite3ResolvePartIdxLabel($1683,$1684); } - $1684 = HEAP32[$pIdx36>>2]|0; - $1685 = (($1684) + 20|0); - $1686 = HEAP32[$1685>>2]|0; - HEAP32[$pIdx36>>2] = $1686; - $1687 = HEAP32[$j30>>2]|0; - $1688 = (($1687) + 1)|0; - HEAP32[$j30>>2] = $1688; + $1685 = HEAP32[$pIdx36>>2]|0; + $1686 = ((($1685)) + 20|0); + $1687 = HEAP32[$1686>>2]|0; + HEAP32[$pIdx36>>2] = $1687; + $1688 = HEAP32[$j30>>2]|0; + $1689 = (($1688) + 1)|0; + HEAP32[$j30>>2] = $1689; } - $1689 = HEAP32[$iDataCur>>2]|0; - $1690 = HEAP32[$loopTop>>2]|0; - (_sqlite3VdbeAddOp2($1578,9,$1689,$1690)|0); - $1691 = HEAP32[$v>>2]|0; - $1692 = HEAP32[$loopTop>>2]|0; - $1693 = (($1692) - 1)|0; - _sqlite3VdbeJumpHere($1691,$1693); - $1694 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp4($1694,97,0,2,0,21688,-2)|0); + $1690 = HEAP32[$iDataCur>>2]|0; + $1691 = HEAP32[$loopTop>>2]|0; + (_sqlite3VdbeAddOp2($1579,9,$1690,$1691)|0); + $1692 = HEAP32[$v>>2]|0; + $1693 = HEAP32[$loopTop>>2]|0; + $1694 = (($1693) - 1)|0; + _sqlite3VdbeJumpHere($1692,$1694); + $1695 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp4($1695,97,0,2,0,24544,-2)|0); HEAP32[$j30>>2] = 0; - $1695 = HEAP32[$pTab35>>2]|0; - $1696 = (($1695) + 8|0); - $1697 = HEAP32[$1696>>2]|0; - HEAP32[$pIdx36>>2] = $1697; + $1696 = HEAP32[$pTab35>>2]|0; + $1697 = ((($1696)) + 8|0); + $1698 = HEAP32[$1697>>2]|0; + HEAP32[$pIdx36>>2] = $1698; while(1) { - $1698 = HEAP32[$pIdx36>>2]|0; - $1699 = ($1698|0)!=(0|0); - if (!($1699)) { - break L293; + $1699 = HEAP32[$pIdx36>>2]|0; + $1700 = ($1699|0)!=(0|0); + if (!($1700)) { + break L338; } - $1700 = HEAP32[$pPk37>>2]|0; - $1701 = HEAP32[$pIdx36>>2]|0; - $1702 = ($1700|0)==($1701|0); - if (!($1702)) { - $1703 = HEAP32[$v>>2]|0; - $1704 = (_sqlite3VdbeCurrentAddr($1703)|0); - HEAP32[$addr31>>2] = $1704; - $1705 = HEAP32[$v>>2]|0; - $1706 = HEAP32[$addr31>>2]|0; - $1707 = (($1706) + 2)|0; - (_sqlite3VdbeAddOp2($1705,137,1,$1707)|0); - $1708 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1708,24,0,0)|0); + $1701 = HEAP32[$pPk37>>2]|0; + $1702 = HEAP32[$pIdx36>>2]|0; + $1703 = ($1701|0)==($1702|0); + if (!($1703)) { + $1704 = HEAP32[$v>>2]|0; + $1705 = (_sqlite3VdbeCurrentAddr($1704)|0); + HEAP32[$addr31>>2] = $1705; + $1706 = HEAP32[$v>>2]|0; + $1707 = HEAP32[$addr31>>2]|0; + $1708 = (($1707) + 2)|0; + (_sqlite3VdbeAddOp2($1706,137,1,$1708)|0); $1709 = HEAP32[$v>>2]|0; - $1710 = HEAP32[$iIdxCur>>2]|0; - $1711 = HEAP32[$j30>>2]|0; - $1712 = (($1710) + ($1711))|0; - (_sqlite3VdbeAddOp2($1709,50,$1712,3)|0); - $1713 = HEAP32[$v>>2]|0; - $1714 = HEAP32[$j30>>2]|0; - $1715 = (8 + ($1714))|0; - $1716 = HEAP32[$addr31>>2]|0; - $1717 = (($1716) + 8)|0; - (_sqlite3VdbeAddOp3($1713,79,$1715,$1717,3)|0); - $1718 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1718,-112); + (_sqlite3VdbeAddOp2($1709,24,0,0)|0); + $1710 = HEAP32[$v>>2]|0; + $1711 = HEAP32[$iIdxCur>>2]|0; + $1712 = HEAP32[$j30>>2]|0; + $1713 = (($1711) + ($1712))|0; + (_sqlite3VdbeAddOp2($1710,50,$1713,3)|0); + $1714 = HEAP32[$v>>2]|0; + $1715 = HEAP32[$j30>>2]|0; + $1716 = (8 + ($1715))|0; + $1717 = HEAP32[$addr31>>2]|0; + $1718 = (($1717) + 8)|0; + (_sqlite3VdbeAddOp3($1714,79,$1716,$1718,3)|0); $1719 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1719,37,1,-1)|0); + _sqlite3VdbeChangeP5($1719,-112); $1720 = HEAP32[$v>>2]|0; - $1721 = HEAP32[$pIdx36>>2]|0; - $1722 = HEAP32[$1721>>2]|0; - (_sqlite3VdbeAddOp4($1720,97,0,3,0,$1722,0)|0); - $1723 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1723,94,3,2,7)|0); + (_sqlite3VdbeAddOp2($1720,37,1,-1)|0); + $1721 = HEAP32[$v>>2]|0; + $1722 = HEAP32[$pIdx36>>2]|0; + $1723 = HEAP32[$1722>>2]|0; + (_sqlite3VdbeAddOp4($1721,97,0,3,0,$1723,0)|0); $1724 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1724,35,7,1)|0); + (_sqlite3VdbeAddOp3($1724,94,3,2,7)|0); + $1725 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1725,35,7,1)|0); } - $1725 = HEAP32[$pIdx36>>2]|0; - $1726 = (($1725) + 20|0); - $1727 = HEAP32[$1726>>2]|0; - HEAP32[$pIdx36>>2] = $1727; - $1728 = HEAP32[$j30>>2]|0; - $1729 = (($1728) + 1)|0; - HEAP32[$j30>>2] = $1729; + $1726 = HEAP32[$pIdx36>>2]|0; + $1727 = ((($1726)) + 20|0); + $1728 = HEAP32[$1727>>2]|0; + HEAP32[$pIdx36>>2] = $1728; + $1729 = HEAP32[$j30>>2]|0; + $1730 = (($1729) + 1)|0; + HEAP32[$j30>>2] = $1730; } } } while(0); - $1730 = HEAP32[$x32>>2]|0; - $1731 = HEAP32[$1730>>2]|0; - HEAP32[$x32>>2] = $1731; + $1731 = HEAP32[$x32>>2]|0; + $1732 = HEAP32[$1731>>2]|0; + HEAP32[$x32>>2] = $1732; } } } while(0); - $1732 = HEAP32[$i29>>2]|0; - $1733 = (($1732) + 1)|0; - HEAP32[$i29>>2] = $1733; - } - $1734 = HEAP32[$v>>2]|0; - $1735 = (_sqlite3VdbeAddOpList($1734,3,21544,0)|0); - HEAP32[$addr31>>2] = $1735; - $1736 = HEAP32[$v>>2]|0; - $1737 = HEAP32[$addr31>>2]|0; - $1738 = HEAP32[$mxErr>>2]|0; - $1739 = (0 - ($1738))|0; - _sqlite3VdbeChangeP3($1736,$1737,$1739); - $1740 = HEAP32[$v>>2]|0; - $1741 = HEAP32[$addr31>>2]|0; - _sqlite3VdbeJumpHere($1740,$1741); - $1742 = HEAP32[$v>>2]|0; - $1743 = HEAP32[$addr31>>2]|0; - $1744 = (($1743) + 1)|0; - _sqlite3VdbeChangeP4($1742,$1744,21720,-2); - break L21; - break; - } - case 5: { - $1331 = HEAP32[$zRight>>2]|0; - $1332 = ($1331|0)!=(0|0); - if (!($1332)) { - break L21; - } - $1333 = HEAP32[$db>>2]|0; - $1334 = HEAP32[$zRight>>2]|0; - $1335 = (_sqlite3GetBoolean($1334,0)|0); - $1336 = $1335&255; - _sqlite3RegisterLikeFunctions($1333,$1336); + $1733 = HEAP32[$i29>>2]|0; + $1734 = (($1733) + 1)|0; + HEAP32[$i29>>2] = $1734; + } + $1735 = HEAP32[$v>>2]|0; + $1736 = (_sqlite3VdbeAddOpList($1735,3,24573,0)|0); + HEAP32[$addr31>>2] = $1736; + $1737 = HEAP32[$v>>2]|0; + $1738 = HEAP32[$addr31>>2]|0; + $1739 = HEAP32[$mxErr>>2]|0; + $1740 = (0 - ($1739))|0; + _sqlite3VdbeChangeP3($1737,$1738,$1740); + $1741 = HEAP32[$v>>2]|0; + $1742 = HEAP32[$addr31>>2]|0; + _sqlite3VdbeJumpHere($1741,$1742); + $1743 = HEAP32[$v>>2]|0; + $1744 = HEAP32[$addr31>>2]|0; + $1745 = (($1744) + 1)|0; + _sqlite3VdbeChangeP4($1743,$1745,24585,-2); break L21; break; } case 11: { - $1745 = HEAP32[$zRight>>2]|0; - $1746 = ($1745|0)!=(0|0); - if (!($1746)) { - $1747 = HEAP32[$0>>2]|0; - $1748 = (_sqlite3ReadSchema($1747)|0); - $1749 = ($1748|0)!=(0); - if ($1749) { + $1746 = HEAP32[$zRight>>2]|0; + $1747 = ($1746|0)!=(0|0); + if (!($1747)) { + $1748 = HEAP32[$0>>2]|0; + $1749 = (_sqlite3ReadSchema($1748)|0); + $1750 = ($1749|0)!=(0); + if ($1750) { break L21; } - $1750 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($1750,1); $1751 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1751,0,0,21880,0)|0); + _sqlite3VdbeSetNumCols($1751,1); $1752 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1752,97,0,1)|0); + (_sqlite3VdbeSetColName($1752,0,0,24588,0)|0); $1753 = HEAP32[$v>>2]|0; - $1754 = HEAP32[$0>>2]|0; - $1755 = HEAP32[$1754>>2]|0; - $1756 = (($1755) + 16|0); - $1757 = HEAP32[$1756>>2]|0; - $1758 = (($1757) + 12|0); - $1759 = HEAP32[$1758>>2]|0; - $1760 = (($1759) + 77|0); - $1761 = HEAP8[$1760>>0]|0; - $1762 = $1761&255; - $1763 = (21728 + ($1762<<3)|0); - $1764 = HEAP32[$1763>>2]|0; - _sqlite3VdbeChangeP4($1753,-1,$1764,-2); - $1765 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1765,35,1,1)|0); + (_sqlite3VdbeAddOp2($1753,97,0,1)|0); + $1754 = HEAP32[$v>>2]|0; + $1755 = HEAP32[$0>>2]|0; + $1756 = HEAP32[$1755>>2]|0; + $1757 = ((($1756)) + 16|0); + $1758 = HEAP32[$1757>>2]|0; + $1759 = ((($1758)) + 12|0); + $1760 = HEAP32[$1759>>2]|0; + $1761 = ((($1760)) + 77|0); + $1762 = HEAP8[$1761>>0]|0; + $1763 = $1762&255; + $1764 = (3176 + ($1763<<3)|0); + $1765 = HEAP32[$1764>>2]|0; + _sqlite3VdbeChangeP4($1754,-1,$1765,-2); + $1766 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1766,35,1,1)|0); break L21; } - $1766 = HEAP32[$db>>2]|0; - $1767 = (($1766) + 16|0); - $1768 = HEAP32[$1767>>2]|0; - $1769 = (($1768) + 12|0); - $1770 = HEAP32[$1769>>2]|0; - $1771 = (($1770) + 78|0); - $1772 = HEAP16[$1771>>1]|0; - $1773 = $1772&65535; - $1774 = $1773 & 1; - $1775 = ($1774|0)==(1); - if ($1775) { - $1776 = HEAP32[$db>>2]|0; - $1777 = (($1776) + 16|0); - $1778 = HEAP32[$1777>>2]|0; - $1779 = (($1778) + 12|0); - $1780 = HEAP32[$1779>>2]|0; - $1781 = (($1780) + 78|0); - $1782 = HEAP16[$1781>>1]|0; - $1783 = $1782&65535; - $1784 = $1783 & 4; - $1785 = ($1784|0)==(4); - if (!($1785)) { + $1767 = HEAP32[$db>>2]|0; + $1768 = ((($1767)) + 16|0); + $1769 = HEAP32[$1768>>2]|0; + $1770 = ((($1769)) + 12|0); + $1771 = HEAP32[$1770>>2]|0; + $1772 = ((($1771)) + 78|0); + $1773 = HEAP16[$1772>>1]|0; + $1774 = $1773&65535; + $1775 = $1774 & 1; + $1776 = ($1775|0)==(1); + if ($1776) { + $1777 = HEAP32[$db>>2]|0; + $1778 = ((($1777)) + 16|0); + $1779 = HEAP32[$1778>>2]|0; + $1780 = ((($1779)) + 12|0); + $1781 = HEAP32[$1780>>2]|0; + $1782 = ((($1781)) + 78|0); + $1783 = HEAP16[$1782>>1]|0; + $1784 = $1783&65535; + $1785 = $1784 & 4; + $1786 = ($1785|0)==(4); + if (!($1786)) { break L21; } } - HEAP32[$pEnc>>2] = 21728; + HEAP32[$pEnc>>2] = 3176; while(1) { - $1786 = HEAP32[$pEnc>>2]|0; - $1787 = HEAP32[$1786>>2]|0; - $1788 = ($1787|0)!=(0|0); - if (!($1788)) { + $1787 = HEAP32[$pEnc>>2]|0; + $1788 = HEAP32[$1787>>2]|0; + $1789 = ($1788|0)!=(0|0); + if (!($1789)) { break; } - $1789 = HEAP32[$zRight>>2]|0; - $1790 = HEAP32[$pEnc>>2]|0; - $1791 = HEAP32[$1790>>2]|0; - $1792 = (_sqlite3_stricmp($1789,$1791)|0); - $1793 = (0)==($1792|0); - $1794 = HEAP32[$pEnc>>2]|0; - if ($1793) { - label = 286; + $1790 = HEAP32[$zRight>>2]|0; + $1791 = HEAP32[$pEnc>>2]|0; + $1792 = HEAP32[$1791>>2]|0; + $1793 = (_sqlite3_stricmp($1790,$1792)|0); + $1794 = (0)==($1793|0); + $1795 = HEAP32[$pEnc>>2]|0; + if ($1794) { + label = 287; break; } - $1816 = (($1794) + 8|0); - HEAP32[$pEnc>>2] = $1816; - } - if ((label|0) == 286) { - $1795 = (($1794) + 4|0); - $1796 = HEAP8[$1795>>0]|0; - $1797 = $1796&255; - $1798 = ($1797|0)!=(0); - if ($1798) { - $1799 = HEAP32[$pEnc>>2]|0; - $1800 = (($1799) + 4|0); - $1801 = HEAP8[$1800>>0]|0; - $1802 = $1801&255; - $1808 = $1802; + $1817 = ((($1795)) + 8|0); + HEAP32[$pEnc>>2] = $1817; + } + if ((label|0) == 287) { + $1796 = ((($1795)) + 4|0); + $1797 = HEAP8[$1796>>0]|0; + $1798 = $1797&255; + $1799 = ($1798|0)!=(0); + if ($1799) { + $1800 = HEAP32[$pEnc>>2]|0; + $1801 = ((($1800)) + 4|0); + $1802 = HEAP8[$1801>>0]|0; + $1803 = $1802&255; + $1809 = $1803; } else { - $1803 = HEAP8[1136>>0]|0; - $1804 = $1803 << 24 >> 24; - $1805 = ($1804|0)==(0); - $1806 = $1805 ? 3 : 2; - $1808 = $1806; - } - $1807 = $1808&255; - $1809 = HEAP32[$0>>2]|0; - $1810 = HEAP32[$1809>>2]|0; - $1811 = (($1810) + 16|0); - $1812 = HEAP32[$1811>>2]|0; - $1813 = (($1812) + 12|0); - $1814 = HEAP32[$1813>>2]|0; - $1815 = (($1814) + 77|0); - HEAP8[$1815>>0] = $1807; - } - $1817 = HEAP32[$pEnc>>2]|0; - $1818 = HEAP32[$1817>>2]|0; - $1819 = ($1818|0)!=(0|0); - if ($1819) { + $1804 = HEAP8[920>>0]|0; + $1805 = $1804 << 24 >> 24; + $1806 = ($1805|0)==(0); + $1807 = $1806 ? 3 : 2; + $1809 = $1807; + } + $1808 = $1809&255; + $1810 = HEAP32[$0>>2]|0; + $1811 = HEAP32[$1810>>2]|0; + $1812 = ((($1811)) + 16|0); + $1813 = HEAP32[$1812>>2]|0; + $1814 = ((($1813)) + 12|0); + $1815 = HEAP32[$1814>>2]|0; + $1816 = ((($1815)) + 77|0); + HEAP8[$1816>>0] = $1808; + } + $1818 = HEAP32[$pEnc>>2]|0; + $1819 = HEAP32[$1818>>2]|0; + $1820 = ($1819|0)!=(0|0); + if ($1820) { break L21; } - $1820 = HEAP32[$0>>2]|0; - $1821 = HEAP32[$zRight>>2]|0; - HEAP32[$vararg_buffer35>>2] = $1821; - _sqlite3ErrorMsg($1820,21896,$vararg_buffer35); + $1821 = HEAP32[$0>>2]|0; + $1822 = HEAP32[$zRight>>2]|0; + HEAP32[$vararg_buffer34>>2] = $1822; + _sqlite3ErrorMsg($1821,24597,$vararg_buffer34); break L21; break; } case 0: { - $1822 = HEAP32[$v>>2]|0; - $1823 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($1822,$1823); - $1824 = HEAP32[$zLeft>>2]|0; - $1825 = HEAP8[$1824>>0]|0; - $1826 = $1825 << 24 >> 24; - switch ($1826|0) { + $1823 = HEAP32[$v>>2]|0; + $1824 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeUsesBtree($1823,$1824); + $1825 = HEAP32[$zLeft>>2]|0; + $1826 = HEAP8[$1825>>0]|0; + $1827 = $1826 << 24 >> 24; + switch ($1827|0) { case 65: case 97: { HEAP32[$iCookie>>2] = 8; break; @@ -80387,534 +79695,252 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$iCookie>>2] = 6; } } - $1827 = HEAP32[$zRight>>2]|0; - $1828 = ($1827|0)!=(0|0); - $1829 = HEAP32[$iCookie>>2]|0; - $1830 = ($1829|0)!=(0); - $or$cond15 = $1828 & $1830; - $1831 = HEAP32[$v>>2]|0; - if ($or$cond15) { - $1832 = (_sqlite3VdbeAddOpList($1831,3,21928,0)|0); - HEAP32[$addr40>>2] = $1832; - $1833 = HEAP32[$v>>2]|0; - $1834 = HEAP32[$addr40>>2]|0; - $1835 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($1833,$1834,$1835); - $1836 = HEAP32[$v>>2]|0; - $1837 = HEAP32[$addr40>>2]|0; - $1838 = (($1837) + 1)|0; - $1839 = HEAP32[$zRight>>2]|0; - $1840 = (_sqlite3Atoi($1839)|0); - _sqlite3VdbeChangeP1($1836,$1838,$1840); - $1841 = HEAP32[$v>>2]|0; - $1842 = HEAP32[$addr40>>2]|0; - $1843 = (($1842) + 2)|0; - $1844 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($1841,$1843,$1844); - $1845 = HEAP32[$v>>2]|0; - $1846 = HEAP32[$addr40>>2]|0; - $1847 = (($1846) + 2)|0; - $1848 = HEAP32[$iCookie>>2]|0; - _sqlite3VdbeChangeP2($1845,$1847,$1848); + $1828 = HEAP32[$zRight>>2]|0; + $1829 = ($1828|0)!=(0|0); + $1830 = HEAP32[$iCookie>>2]|0; + $1831 = ($1830|0)!=(0); + $or$cond14 = $1829 & $1831; + $1832 = HEAP32[$v>>2]|0; + if ($or$cond14) { + $1833 = (_sqlite3VdbeAddOpList($1832,3,24622,0)|0); + HEAP32[$addr40>>2] = $1833; + $1834 = HEAP32[$v>>2]|0; + $1835 = HEAP32[$addr40>>2]|0; + $1836 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($1834,$1835,$1836); + $1837 = HEAP32[$v>>2]|0; + $1838 = HEAP32[$addr40>>2]|0; + $1839 = (($1838) + 1)|0; + $1840 = HEAP32[$zRight>>2]|0; + $1841 = (_sqlite3Atoi($1840)|0); + _sqlite3VdbeChangeP1($1837,$1839,$1841); + $1842 = HEAP32[$v>>2]|0; + $1843 = HEAP32[$addr40>>2]|0; + $1844 = (($1843) + 2)|0; + $1845 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($1842,$1844,$1845); + $1846 = HEAP32[$v>>2]|0; + $1847 = HEAP32[$addr40>>2]|0; + $1848 = (($1847) + 2)|0; + $1849 = HEAP32[$iCookie>>2]|0; + _sqlite3VdbeChangeP2($1846,$1848,$1849); break L21; } else { - $1849 = (_sqlite3VdbeAddOpList($1831,3,21944,0)|0); - HEAP32[$addr41>>2] = $1849; - $1850 = HEAP32[$v>>2]|0; - $1851 = HEAP32[$addr41>>2]|0; - $1852 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($1850,$1851,$1852); - $1853 = HEAP32[$v>>2]|0; - $1854 = HEAP32[$addr41>>2]|0; - $1855 = (($1854) + 1)|0; - $1856 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeChangeP1($1853,$1855,$1856); - $1857 = HEAP32[$v>>2]|0; - $1858 = HEAP32[$addr41>>2]|0; - $1859 = (($1858) + 1)|0; - $1860 = HEAP32[$iCookie>>2]|0; - _sqlite3VdbeChangeP3($1857,$1859,$1860); - $1861 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($1861,1); + $1850 = (_sqlite3VdbeAddOpList($1832,3,24634,0)|0); + HEAP32[$addr41>>2] = $1850; + $1851 = HEAP32[$v>>2]|0; + $1852 = HEAP32[$addr41>>2]|0; + $1853 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($1851,$1852,$1853); + $1854 = HEAP32[$v>>2]|0; + $1855 = HEAP32[$addr41>>2]|0; + $1856 = (($1855) + 1)|0; + $1857 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeChangeP1($1854,$1856,$1857); + $1858 = HEAP32[$v>>2]|0; + $1859 = HEAP32[$addr41>>2]|0; + $1860 = (($1859) + 1)|0; + $1861 = HEAP32[$iCookie>>2]|0; + _sqlite3VdbeChangeP3($1858,$1860,$1861); $1862 = HEAP32[$v>>2]|0; - $1863 = HEAP32[$zLeft>>2]|0; - (_sqlite3VdbeSetColName($1862,0,0,$1863,(-1))|0); + _sqlite3VdbeSetNumCols($1862,1); + $1863 = HEAP32[$v>>2]|0; + $1864 = HEAP32[$zLeft>>2]|0; + (_sqlite3VdbeSetColName($1863,0,0,$1864,(-1))|0); break L21; } break; } + case 7: { + HEAP32[$i42>>2] = 0; + $1865 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($1865,1); + $1866 = HEAP32[$0>>2]|0; + $1867 = ((($1866)) + 72|0); + HEAP32[$1867>>2] = 1; + $1868 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($1868,0,0,24646,0)|0); + while(1) { + $1869 = HEAP32[$i42>>2]|0; + $1870 = (($1869) + 1)|0; + HEAP32[$i42>>2] = $1870; + $1871 = (_sqlite3_compileoption_get($1869)|0); + HEAP32[$zOpt>>2] = $1871; + $1872 = ($1871|0)!=(0|0); + if (!($1872)) { + break L21; + } + $1873 = HEAP32[$v>>2]|0; + $1874 = HEAP32[$zOpt>>2]|0; + (_sqlite3VdbeAddOp4($1873,97,0,1,0,$1874,0)|0); + $1875 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1875,35,1,1)|0); + } + break; + } case 35: { - $1875 = HEAP32[$2>>2]|0; - $1876 = HEAP32[$1875>>2]|0; - $1877 = ($1876|0)!=(0|0); - $1878 = HEAP32[$iDb>>2]|0; - $1879 = $1877 ? $1878 : 10; - HEAP32[$iBt>>2] = $1879; + $1876 = HEAP32[$2>>2]|0; + $1877 = HEAP32[$1876>>2]|0; + $1878 = ($1877|0)!=(0|0); + $1879 = HEAP32[$iDb>>2]|0; + $1880 = $1878 ? $1879 : 10; + HEAP32[$iBt>>2] = $1880; HEAP32[$eMode43>>2] = 0; - $1880 = HEAP32[$zRight>>2]|0; - $1881 = ($1880|0)!=(0|0); + $1881 = HEAP32[$zRight>>2]|0; + $1882 = ($1881|0)!=(0|0); do { - if ($1881) { - $1882 = HEAP32[$zRight>>2]|0; - $1883 = (_sqlite3_stricmp($1882,21976)|0); - $1884 = ($1883|0)==(0); - if ($1884) { + if ($1882) { + $1883 = HEAP32[$zRight>>2]|0; + $1884 = (_sqlite3_stricmp($1883,24661)|0); + $1885 = ($1884|0)==(0); + if ($1885) { HEAP32[$eMode43>>2] = 1; break; } - $1885 = HEAP32[$zRight>>2]|0; - $1886 = (_sqlite3_stricmp($1885,21984)|0); - $1887 = ($1886|0)==(0); - if ($1887) { + $1886 = HEAP32[$zRight>>2]|0; + $1887 = (_sqlite3_stricmp($1886,24666)|0); + $1888 = ($1887|0)==(0); + if ($1888) { HEAP32[$eMode43>>2] = 2; } } } while(0); - $1888 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($1888,3); - $1889 = HEAP32[$0>>2]|0; - $1890 = (($1889) + 72|0); - HEAP32[$1890>>2] = 3; - $1891 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1891,0,0,21992,0)|0); + $1889 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($1889,3); + $1890 = HEAP32[$0>>2]|0; + $1891 = ((($1890)) + 72|0); + HEAP32[$1891>>2] = 3; $1892 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1892,1,0,22000,0)|0); + (_sqlite3VdbeSetColName($1892,0,0,24674,0)|0); $1893 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1893,2,0,22008,0)|0); + (_sqlite3VdbeSetColName($1893,1,0,24679,0)|0); $1894 = HEAP32[$v>>2]|0; - $1895 = HEAP32[$iBt>>2]|0; - $1896 = HEAP32[$eMode43>>2]|0; - (_sqlite3VdbeAddOp3($1894,11,$1895,$1896,1)|0); - $1897 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1897,35,1,3)|0); + (_sqlite3VdbeSetColName($1894,2,0,24683,0)|0); + $1895 = HEAP32[$v>>2]|0; + $1896 = HEAP32[$iBt>>2]|0; + $1897 = HEAP32[$eMode43>>2]|0; + (_sqlite3VdbeAddOp3($1895,11,$1896,$1897,1)|0); + $1898 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1898,35,1,3)|0); break L21; break; } - case 7: { - HEAP32[$i42>>2] = 0; - $1864 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($1864,1); - $1865 = HEAP32[$0>>2]|0; - $1866 = (($1865) + 72|0); - HEAP32[$1866>>2] = 1; - $1867 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1867,0,0,21960,0)|0); - while(1) { - $1868 = HEAP32[$i42>>2]|0; - $1869 = (($1868) + 1)|0; - HEAP32[$i42>>2] = $1869; - $1870 = (_sqlite3_compileoption_get($1868)|0); - HEAP32[$zOpt>>2] = $1870; - $1871 = ($1870|0)!=(0|0); - if (!($1871)) { - break L21; - } - $1872 = HEAP32[$v>>2]|0; - $1873 = HEAP32[$zOpt>>2]|0; - (_sqlite3VdbeAddOp4($1872,97,0,1,0,$1873,0)|0); - $1874 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1874,35,1,1)|0); + case 34: { + $1899 = HEAP32[$zRight>>2]|0; + $1900 = ($1899|0)!=(0|0); + if ($1900) { + $1901 = HEAP32[$db>>2]|0; + $1902 = HEAP32[$zRight>>2]|0; + $1903 = (_sqlite3Atoi($1902)|0); + (_sqlite3_wal_autocheckpoint($1901,$1903)|0); + } + $1904 = HEAP32[$0>>2]|0; + $1905 = HEAP32[$db>>2]|0; + $1906 = ((($1905)) + 212|0); + $1907 = HEAP32[$1906>>2]|0; + $1908 = ($1907|0)==(6|0); + if ($1908) { + $1909 = HEAP32[$db>>2]|0; + $1910 = ((($1909)) + 216|0); + $1911 = HEAP32[$1910>>2]|0; + $1912 = $1911; + $1914 = $1912; + } else { + $1914 = 0; } - break; - } - case 26: { - $1915 = HEAP32[$db>>2]|0; - (_sqlite3_db_release_memory($1915)|0); + $1913 = ($1914|0)<(0); + $1915 = $1913 << 31 >> 31; + _returnSingleInt($1904,24696,$1914,$1915); break L21; break; } - case 34: { - $1898 = HEAP32[$zRight>>2]|0; - $1899 = ($1898|0)!=(0|0); - if ($1899) { - $1900 = HEAP32[$db>>2]|0; - $1901 = HEAP32[$zRight>>2]|0; - $1902 = (_sqlite3Atoi($1901)|0); - (_sqlite3_wal_autocheckpoint($1900,$1902)|0); - } - $1903 = HEAP32[$0>>2]|0; - $1904 = HEAP32[$db>>2]|0; - $1905 = (($1904) + 212|0); - $1906 = HEAP32[$1905>>2]|0; - $1907 = ($1906|0)==(5|0); - if ($1907) { - $1908 = HEAP32[$db>>2]|0; - $1909 = (($1908) + 216|0); - $1910 = HEAP32[$1909>>2]|0; - $1911 = $1910; - $1913 = $1911; - } else { - $1913 = 0; - } - $1912 = ($1913|0)<(0); - $1914 = $1912 << 31 >> 31; - _returnSingleInt($1903,22024,$1913,$1914); + case 26: { + $1916 = HEAP32[$db>>2]|0; + (_sqlite3_db_release_memory($1916)|0); break L21; break; } case 27: { - $1927 = HEAP32[$zRight>>2]|0; - $1928 = ($1927|0)!=(0|0); - if ($1928) { - $1929 = HEAP32[$zRight>>2]|0; - $1930 = (_sqlite3DecOrHexToI64($1929,$N)|0); - $1931 = ($1930|0)==(0); - if ($1931) { - $1932 = $N; - $1933 = $1932; - $1934 = HEAP32[$1933>>2]|0; - $1935 = (($1932) + 4)|0; - $1936 = $1935; - $1937 = HEAP32[$1936>>2]|0; - (_sqlite3_soft_heap_limit64($1934,$1937)|0); - $1938 = tempRet0; - } - } - $1939 = HEAP32[$0>>2]|0; - $1940 = (_sqlite3_soft_heap_limit64(-1,-1)|0); - $1941 = tempRet0; - _returnSingleInt($1939,22056,$1940,$1941); + $1928 = HEAP32[$zRight>>2]|0; + $1929 = ($1928|0)!=(0|0); + if ($1929) { + $1930 = HEAP32[$zRight>>2]|0; + $1931 = (_sqlite3DecOrHexToI64($1930,$N)|0); + $1932 = ($1931|0)==(0); + if ($1932) { + $1933 = $N; + $1934 = $1933; + $1935 = HEAP32[$1934>>2]|0; + $1936 = (($1933) + 4)|0; + $1937 = $1936; + $1938 = HEAP32[$1937>>2]|0; + (_sqlite3_soft_heap_limit64($1935,$1938)|0); + $1939 = tempRet0; + } + } + $1940 = HEAP32[$0>>2]|0; + $1941 = (_sqlite3_soft_heap_limit64(-1,-1)|0); + $1942 = tempRet0; + _returnSingleInt($1940,24723,$1941,$1942); break L21; break; } case 33: { - $1942 = HEAP32[$zRight>>2]|0; - $1943 = ($1942|0)!=(0|0); - if ($1943) { - $1944 = HEAP32[$zRight>>2]|0; - $1945 = (_sqlite3DecOrHexToI64($1944,$N44)|0); - $1946 = ($1945|0)==(0); - $1947 = $N44; - $1948 = $1947; - $1949 = HEAP32[$1948>>2]|0; - $1950 = (($1947) + 4)|0; - $1951 = $1950; - $1952 = HEAP32[$1951>>2]|0; - $1953 = ($1952|0)>(0); - $1954 = ($1949>>>0)>=(0); - $1955 = ($1952|0)==(0); - $1956 = $1955 & $1954; - $1957 = $1953 | $1956; - $or$cond17 = $1946 & $1957; - if ($or$cond17) { - $1958 = HEAP32[$db>>2]|0; - $1959 = $N44; - $1960 = $1959; - $1961 = HEAP32[$1960>>2]|0; - $1962 = (($1959) + 4)|0; - $1963 = $1962; - $1964 = HEAP32[$1963>>2]|0; - $1965 = $1961 & 2147483647; - (_sqlite3_limit($1958,11,$1965)|0); - } - } - $1966 = HEAP32[$0>>2]|0; - $1967 = HEAP32[$db>>2]|0; - $1968 = (_sqlite3_limit($1967,11,-1)|0); - $1969 = ($1968|0)<(0); - $1970 = $1969 << 31 >> 31; - _returnSingleInt($1966,22072,$1968,$1970); + $1943 = HEAP32[$zRight>>2]|0; + $1944 = ($1943|0)!=(0|0); + if ($1944) { + $1945 = HEAP32[$zRight>>2]|0; + $1946 = (_sqlite3DecOrHexToI64($1945,$N44)|0); + $1947 = ($1946|0)==(0); + $1948 = $N44; + $1949 = $1948; + $1950 = HEAP32[$1949>>2]|0; + $1951 = (($1948) + 4)|0; + $1952 = $1951; + $1953 = HEAP32[$1952>>2]|0; + $1954 = ($1953|0)>(0); + $1955 = ($1950>>>0)>=(0); + $1956 = ($1953|0)==(0); + $1957 = $1956 & $1955; + $1958 = $1954 | $1957; + $or$cond16 = $1947 & $1958; + if ($or$cond16) { + $1959 = HEAP32[$db>>2]|0; + $1960 = $N44; + $1961 = $1960; + $1962 = HEAP32[$1961>>2]|0; + $1963 = (($1960) + 4)|0; + $1964 = $1963; + $1965 = HEAP32[$1964>>2]|0; + $1966 = $1962 & 2147483647; + (_sqlite3_limit($1959,11,$1966)|0); + } + } + $1967 = HEAP32[$0>>2]|0; + $1968 = HEAP32[$db>>2]|0; + $1969 = (_sqlite3_limit($1968,11,-1)|0); + $1970 = ($1969|0)<(0); + $1971 = $1970 << 31 >> 31; + _returnSingleInt($1967,24739,$1969,$1971); break L21; break; } - case 29: { - $572 = HEAP32[$zRight>>2]|0; - $573 = ($572|0)!=(0|0); - if (!($573)) { - $574 = HEAP32[$0>>2]|0; - $575 = HEAP32[$pDb>>2]|0; - $576 = (($575) + 8|0); - $577 = HEAP8[$576>>0]|0; - $578 = $577&255; - $579 = (($578) - 1)|0; - $580 = ($579|0)<(0); - $581 = $580 << 31 >> 31; - _returnSingleInt($574,21272,$579,$581); - break L21; - } - $582 = HEAP32[$db>>2]|0; - $583 = (($582) + 62|0); - $584 = HEAP8[$583>>0]|0; - $585 = ($584<<24>>24)!=(0); - if ($585) { - $587 = HEAP32[$zRight>>2]|0; - $588 = (_getSafetyLevel($587,0,1)|0); - $589 = $588&255; - $590 = (($589) + 1)|0; - $591 = $590&255; - $592 = HEAP32[$pDb>>2]|0; - $593 = (($592) + 8|0); - HEAP8[$593>>0] = $591; - $594 = HEAP32[$db>>2]|0; - _setAllPagerFlags($594); - break L21; - } else { - $586 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($586,21288,$vararg_buffer35); - break L21; - } - break; - } - case 30: { - $647 = HEAP32[$zRight>>2]|0; - $648 = ($647|0)!=(0|0); - if (!($648)) { - break L21; - } - $649 = HEAP32[$db>>2]|0; - $650 = HEAP32[$zRight>>2]|0; - $651 = HEAP32[$zDb>>2]|0; - $652 = (_sqlite3FindTable($649,$650,$651)|0); - HEAP32[$pTab>>2] = $652; - $653 = HEAP32[$pTab>>2]|0; - $654 = ($653|0)!=(0|0); - if (!($654)) { - break L21; - } - HEAP32[$nHidden>>2] = 0; - $655 = HEAP32[$pTab>>2]|0; - $656 = (_sqlite3PrimaryKeyIndex($655)|0); - HEAP32[$pPk>>2] = $656; - $657 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($657,6); - $658 = HEAP32[$0>>2]|0; - $659 = (($658) + 72|0); - HEAP32[$659>>2] = 6; - $660 = HEAP32[$0>>2]|0; - $661 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($660,$661); - $662 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($662,0,0,21344,0)|0); - $663 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($663,1,0,21352,0)|0); - $664 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($664,2,0,21360,0)|0); - $665 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($665,3,0,21368,0)|0); - $666 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($666,4,0,21376,0)|0); - $667 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($667,5,0,21392,0)|0); - $668 = HEAP32[$0>>2]|0; - $669 = HEAP32[$pTab>>2]|0; - (_sqlite3ViewGetColumnNames($668,$669)|0); - HEAP32[$i>>2] = 0; - $670 = HEAP32[$pTab>>2]|0; - $671 = (($670) + 4|0); - $672 = HEAP32[$671>>2]|0; - HEAP32[$pCol>>2] = $672; - while(1) { - $673 = HEAP32[$i>>2]|0; - $674 = HEAP32[$pTab>>2]|0; - $675 = (($674) + 38|0); - $676 = HEAP16[$675>>1]|0; - $677 = $676 << 16 >> 16; - $678 = ($673|0)<($677|0); - if (!($678)) { - break L21; - } - $679 = HEAP32[$pCol>>2]|0; - $680 = (($679) + 23|0); - $681 = HEAP8[$680>>0]|0; - $682 = $681&255; - $683 = $682 & 2; - $684 = ($683|0)!=(0); - if ($684) { - $685 = HEAP32[$nHidden>>2]|0; - $686 = (($685) + 1)|0; - HEAP32[$nHidden>>2] = $686; - } else { - $687 = HEAP32[$v>>2]|0; - $688 = HEAP32[$i>>2]|0; - $689 = HEAP32[$nHidden>>2]|0; - $690 = (($688) - ($689))|0; - (_sqlite3VdbeAddOp2($687,25,$690,1)|0); - $691 = HEAP32[$v>>2]|0; - $692 = HEAP32[$pCol>>2]|0; - $693 = HEAP32[$692>>2]|0; - (_sqlite3VdbeAddOp4($691,97,0,2,0,$693,0)|0); - $694 = HEAP32[$v>>2]|0; - $695 = HEAP32[$pCol>>2]|0; - $696 = (($695) + 12|0); - $697 = HEAP32[$696>>2]|0; - $698 = ($697|0)!=(0|0); - if ($698) { - $699 = HEAP32[$pCol>>2]|0; - $700 = (($699) + 12|0); - $701 = HEAP32[$700>>2]|0; - $702 = $701; - } else { - $702 = 1216; - } - (_sqlite3VdbeAddOp4($694,97,0,3,0,$702,0)|0); - $703 = HEAP32[$v>>2]|0; - $704 = HEAP32[$pCol>>2]|0; - $705 = (($704) + 20|0); - $706 = HEAP8[$705>>0]|0; - $707 = $706&255; - $708 = ($707|0)!=(0); - $709 = $708 ? 1 : 0; - (_sqlite3VdbeAddOp2($703,25,$709,4)|0); - $710 = HEAP32[$pCol>>2]|0; - $711 = (($710) + 8|0); - $712 = HEAP32[$711>>2]|0; - $713 = ($712|0)!=(0|0); - $714 = HEAP32[$v>>2]|0; - if ($713) { - $715 = HEAP32[$pCol>>2]|0; - $716 = (($715) + 8|0); - $717 = HEAP32[$716>>2]|0; - (_sqlite3VdbeAddOp4($714,97,0,5,0,$717,0)|0); - } else { - (_sqlite3VdbeAddOp2($714,28,0,5)|0); - } - $718 = HEAP32[$pCol>>2]|0; - $719 = (($718) + 23|0); - $720 = HEAP8[$719>>0]|0; - $721 = $720&255; - $722 = $721 & 1; - $723 = ($722|0)==(0); - L429: do { - if ($723) { - HEAP32[$k>>2] = 0; - } else { - $724 = HEAP32[$pPk>>2]|0; - $725 = ($724|0)==(0|0); - HEAP32[$k>>2] = 1; - if ($725) { - break; - } - while(1) { - $726 = HEAP32[$k>>2]|0; - $727 = HEAP32[$pTab>>2]|0; - $728 = (($727) + 38|0); - $729 = HEAP16[$728>>1]|0; - $730 = $729 << 16 >> 16; - $731 = ($726|0)<=($730|0); - if (!($731)) { - break L429; - } - $732 = HEAP32[$k>>2]|0; - $733 = (($732) - 1)|0; - $734 = HEAP32[$pPk>>2]|0; - $735 = (($734) + 4|0); - $736 = HEAP32[$735>>2]|0; - $737 = (($736) + ($733<<1)|0); - $738 = HEAP16[$737>>1]|0; - $739 = $738 << 16 >> 16; - $740 = HEAP32[$i>>2]|0; - $741 = ($739|0)!=($740|0); - if (!($741)) { - break L429; - } - $742 = HEAP32[$k>>2]|0; - $743 = (($742) + 1)|0; - HEAP32[$k>>2] = $743; - } - } - } while(0); - $744 = HEAP32[$v>>2]|0; - $745 = HEAP32[$k>>2]|0; - (_sqlite3VdbeAddOp2($744,25,$745,6)|0); - $746 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($746,35,1,6)|0); - } - $747 = HEAP32[$i>>2]|0; - $748 = (($747) + 1)|0; - HEAP32[$i>>2] = $748; - $749 = HEAP32[$pCol>>2]|0; - $750 = (($749) + 24|0); - HEAP32[$pCol>>2] = $750; - } - break; - } - case 16: { - $864 = HEAP32[$zRight>>2]|0; - $865 = ($864|0)!=(0|0); - if (!($865)) { - break L21; - } - $866 = HEAP32[$db>>2]|0; - $867 = HEAP32[$zRight>>2]|0; - $868 = HEAP32[$zDb>>2]|0; - $869 = (_sqlite3FindTable($866,$867,$868)|0); - HEAP32[$pTab17>>2] = $869; - $870 = HEAP32[$pTab17>>2]|0; - $871 = ($870|0)!=(0|0); - if (!($871)) { - break L21; - } - $872 = HEAP32[$0>>2]|0; - $873 = (_sqlite3GetVdbe($872)|0); - HEAP32[$v>>2] = $873; - $874 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($874,3); - $875 = HEAP32[$0>>2]|0; - $876 = (($875) + 72|0); - HEAP32[$876>>2] = 3; - $877 = HEAP32[$0>>2]|0; - $878 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($877,$878); - $879 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($879,0,0,21432,0)|0); - $880 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($880,1,0,21352,0)|0); - $881 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($881,2,0,21440,0)|0); - $882 = HEAP32[$pTab17>>2]|0; - $883 = (($882) + 8|0); - $884 = HEAP32[$883>>2]|0; - HEAP32[$pIdx16>>2] = $884; - HEAP32[$i18>>2] = 0; - while(1) { - $885 = HEAP32[$pIdx16>>2]|0; - $886 = ($885|0)!=(0|0); - if (!($886)) { - break L21; - } - $887 = HEAP32[$v>>2]|0; - $888 = HEAP32[$i18>>2]|0; - (_sqlite3VdbeAddOp2($887,25,$888,1)|0); - $889 = HEAP32[$v>>2]|0; - $890 = HEAP32[$pIdx16>>2]|0; - $891 = HEAP32[$890>>2]|0; - (_sqlite3VdbeAddOp4($889,97,0,2,0,$891,0)|0); - $892 = HEAP32[$v>>2]|0; - $893 = HEAP32[$pIdx16>>2]|0; - $894 = (($893) + 54|0); - $895 = HEAP8[$894>>0]|0; - $896 = $895&255; - $897 = ($896|0)!=(0); - $898 = $897&1; - (_sqlite3VdbeAddOp2($892,25,$898,3)|0); - $899 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($899,35,1,3)|0); - $900 = HEAP32[$pIdx16>>2]|0; - $901 = (($900) + 20|0); - $902 = HEAP32[$901>>2]|0; - HEAP32[$pIdx16>>2] = $902; - $903 = HEAP32[$i18>>2]|0; - $904 = (($903) + 1)|0; - HEAP32[$i18>>2] = $904; - } - break; - } default: { - $1916 = HEAP32[$zRight>>2]|0; - $1917 = ($1916|0)!=(0|0); - if ($1917) { - $1918 = HEAP32[$db>>2]|0; - $1919 = HEAP32[$zRight>>2]|0; - $1920 = (_sqlite3Atoi($1919)|0); - (_sqlite3_busy_timeout($1918,$1920)|0); - } - $1921 = HEAP32[$0>>2]|0; - $1922 = HEAP32[$db>>2]|0; - $1923 = (($1922) + 492|0); - $1924 = HEAP32[$1923>>2]|0; - $1925 = ($1924|0)<(0); - $1926 = $1925 << 31 >> 31; - _returnSingleInt($1921,22048,$1924,$1926); + $1917 = HEAP32[$zRight>>2]|0; + $1918 = ($1917|0)!=(0|0); + if ($1918) { + $1919 = HEAP32[$db>>2]|0; + $1920 = HEAP32[$zRight>>2]|0; + $1921 = (_sqlite3Atoi($1920)|0); + (_sqlite3_busy_timeout($1919,$1921)|0); + } + $1922 = HEAP32[$0>>2]|0; + $1923 = HEAP32[$db>>2]|0; + $1924 = ((($1923)) + 492|0); + $1925 = HEAP32[$1924>>2]|0; + $1926 = ($1925|0)<(0); + $1927 = $1926 << 31 >> 31; + _returnSingleInt($1922,24715,$1925,$1927); break L21; } } @@ -80922,12 +79948,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } } } while(0); - $1971 = HEAP32[$db>>2]|0; - $1972 = HEAP32[$zLeft>>2]|0; - _sqlite3DbFree($1971,$1972); - $1973 = HEAP32[$db>>2]|0; - $1974 = HEAP32[$zRight>>2]|0; - _sqlite3DbFree($1973,$1974); + $1972 = HEAP32[$db>>2]|0; + $1973 = HEAP32[$zLeft>>2]|0; + _sqlite3DbFree($1972,$1973); + $1974 = HEAP32[$db>>2]|0; + $1975 = HEAP32[$zRight>>2]|0; + _sqlite3DbFree($1974,$1975); STACKTOP = sp;return; } function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { @@ -80941,40 +79967,41 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $db = 0, $iDb = 0, $nameToken = 0, $or$cond = 0, $pHash = 0, $pLink = 0, $pTab = 0, $pTrig = 0, $sFix = 0, $v = 0, $vararg_buffer6 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $z = 0, $zName = 0, label = 0; - var sp = 0; + var $98 = 0, $99 = 0, $db = 0, $iDb = 0, $nameToken = 0, $or$cond = 0, $pHash = 0, $pLink = 0, $pTab = 0, $pTrig = 0, $sFix = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $z = 0, $zName = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer6 = sp; - $0 = sp + 100|0; - $1 = sp + 96|0; - $2 = sp + 92|0; - $pTrig = sp + 88|0; - $zName = sp + 84|0; - $db = sp + 80|0; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 28|0; + $1 = sp + 32|0; + $2 = sp + 36|0; + $pTrig = sp + 48|0; + $zName = sp + 40|0; + $db = sp + 44|0; $sFix = sp + 56|0; - $iDb = sp + 48|0; - $nameToken = sp + 40|0; - $v = sp + 36|0; - $z = sp + 32|0; - $pLink = sp + 28|0; - $pHash = sp + 24|0; - $pTab = sp + 20|0; + $iDb = sp + 80|0; + $nameToken = sp + 88|0; + $v = sp + 96|0; + $z = sp + 100|0; + $pLink = sp + 104|0; + $pHash = sp + 108|0; + $pTab = sp + 112|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pStepList; HEAP32[$2>>2] = $pAll; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 488|0); + $4 = ((($3)) + 488|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pTrig>>2] = $5; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 488|0); + $9 = ((($8)) + 488|0); HEAP32[$9>>2] = 0; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 64|0); + $11 = ((($10)) + 64|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0); $14 = HEAP32[$pTrig>>2]|0; @@ -80988,13 +80015,13 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$pTrig>>2]|0; - $21 = (($20) + 20|0); + $21 = ((($20)) + 20|0); $22 = HEAP32[$21>>2]|0; $23 = (_sqlite3SchemaToIndex($19,$22)|0); HEAP32[$iDb>>2] = $23; $24 = HEAP32[$1>>2]|0; $25 = HEAP32[$pTrig>>2]|0; - $26 = (($25) + 28|0); + $26 = ((($25)) + 28|0); HEAP32[$26>>2] = $24; while(1) { $27 = HEAP32[$1>>2]|0; @@ -81004,10 +80031,10 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { break; } $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 4|0); + $31 = ((($30)) + 4|0); HEAP32[$31>>2] = $29; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 32|0); + $33 = ((($32)) + 32|0); $34 = HEAP32[$33>>2]|0; HEAP32[$1>>2] = $34; } @@ -81015,26 +80042,26 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { HEAP32[$nameToken>>2] = $35; $36 = HEAP32[$nameToken>>2]|0; $37 = (_sqlite3Strlen30($36)|0); - $38 = (($nameToken) + 4|0); + $38 = ((($nameToken)) + 4|0); HEAP32[$38>>2] = $37; $39 = HEAP32[$0>>2]|0; $40 = HEAP32[$iDb>>2]|0; - _sqlite3FixInit($sFix,$39,$40,1488,$nameToken); + _sqlite3FixInit($sFix,$39,$40,14687,$nameToken); $41 = HEAP32[$pTrig>>2]|0; - $42 = (($41) + 28|0); + $42 = ((($41)) + 28|0); $43 = HEAP32[$42>>2]|0; $44 = (_sqlite3FixTriggerStep($sFix,$43)|0); $45 = ($44|0)!=(0); if (!($45)) { $46 = HEAP32[$pTrig>>2]|0; - $47 = (($46) + 12|0); + $47 = ((($46)) + 12|0); $48 = HEAP32[$47>>2]|0; $49 = (_sqlite3FixExpr($sFix,$48)|0); $50 = ($49|0)!=(0); if (!($50)) { $51 = HEAP32[$db>>2]|0; - $52 = (($51) + 140|0); - $53 = (($52) + 5|0); + $52 = ((($51)) + 140|0); + $53 = ((($52)) + 5|0); $54 = HEAP8[$53>>0]|0; $55 = ($54<<24>>24)!=(0); if (!($55)) { @@ -81053,35 +80080,35 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $63 = HEAP32[$2>>2]|0; $64 = HEAP32[$63>>2]|0; $65 = HEAP32[$2>>2]|0; - $66 = (($65) + 4|0); + $66 = ((($65)) + 4|0); $67 = HEAP32[$66>>2]|0; $68 = (_sqlite3DbStrNDup($62,$64,$67,0)|0); HEAP32[$z>>2] = $68; $69 = HEAP32[$0>>2]|0; $70 = HEAP32[$iDb>>2]|0; $71 = HEAP32[$db>>2]|0; - $72 = (($71) + 16|0); + $72 = ((($71)) + 16|0); $73 = HEAP32[$72>>2]|0; $74 = (($73) + ($70<<4)|0); $75 = HEAP32[$74>>2]|0; $76 = HEAP32[$iDb>>2]|0; $77 = ($76|0)==(1); - $78 = $77 ? 14904 : 14928; + $78 = $77 ? 19269 : 19288; $79 = HEAP32[$zName>>2]|0; $80 = HEAP32[$pTrig>>2]|0; - $81 = (($80) + 4|0); + $81 = ((($80)) + 4|0); $82 = HEAP32[$81>>2]|0; $83 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer6>>2] = $75; - $vararg_ptr2 = (($vararg_buffer6) + 4|0); + HEAP32[$vararg_buffer>>2] = $75; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $78; - $vararg_ptr3 = (($vararg_buffer6) + 8|0); + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr3>>2] = $79; - $vararg_ptr4 = (($vararg_buffer6) + 12|0); + $vararg_ptr4 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr4>>2] = $82; - $vararg_ptr5 = (($vararg_buffer6) + 16|0); + $vararg_ptr5 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr5>>2] = $83; - _sqlite3NestedParse($69,20200,$vararg_buffer6); + _sqlite3NestedParse($69,23895,$vararg_buffer); $84 = HEAP32[$db>>2]|0; $85 = HEAP32[$z>>2]|0; _sqlite3DbFree($84,$85); @@ -81093,12 +80120,12 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $90 = HEAP32[$db>>2]|0; $91 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer6>>2] = $91; - $92 = (_sqlite3MPrintf($90,20264,$vararg_buffer6)|0); + $92 = (_sqlite3MPrintf($90,23959,$vararg_buffer6)|0); _sqlite3VdbeAddParseSchemaOp($88,$89,$92); } $93 = HEAP32[$db>>2]|0; - $94 = (($93) + 140|0); - $95 = (($94) + 5|0); + $94 = ((($93)) + 140|0); + $95 = ((($94)) + 5|0); $96 = HEAP8[$95>>0]|0; $97 = ($96<<24>>24)!=(0); if ($97) { @@ -81106,12 +80133,12 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { HEAP32[$pLink>>2] = $98; $99 = HEAP32[$iDb>>2]|0; $100 = HEAP32[$db>>2]|0; - $101 = (($100) + 16|0); + $101 = ((($100)) + 16|0); $102 = HEAP32[$101>>2]|0; $103 = (($102) + ($99<<4)|0); - $104 = (($103) + 12|0); + $104 = ((($103)) + 12|0); $105 = HEAP32[$104>>2]|0; - $106 = (($105) + 40|0); + $106 = ((($105)) + 40|0); HEAP32[$pHash>>2] = $106; $107 = HEAP32[$pHash>>2]|0; $108 = HEAP32[$zName>>2]|0; @@ -81122,36 +80149,36 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $112 = ($111|0)!=(0|0); if ($112) { $113 = HEAP32[$db>>2]|0; - $114 = (($113) + 64|0); + $114 = ((($113)) + 64|0); HEAP8[$114>>0] = 1; break; } $115 = HEAP32[$pLink>>2]|0; - $116 = (($115) + 20|0); + $116 = ((($115)) + 20|0); $117 = HEAP32[$116>>2]|0; $118 = HEAP32[$pLink>>2]|0; - $119 = (($118) + 24|0); + $119 = ((($118)) + 24|0); $120 = HEAP32[$119>>2]|0; $121 = ($117|0)==($120|0); if ($121) { $122 = HEAP32[$pLink>>2]|0; - $123 = (($122) + 24|0); + $123 = ((($122)) + 24|0); $124 = HEAP32[$123>>2]|0; - $125 = (($124) + 8|0); + $125 = ((($124)) + 8|0); $126 = HEAP32[$pLink>>2]|0; - $127 = (($126) + 4|0); + $127 = ((($126)) + 4|0); $128 = HEAP32[$127>>2]|0; $129 = (_sqlite3HashFind($125,$128)|0); HEAP32[$pTab>>2] = $129; $130 = HEAP32[$pTab>>2]|0; - $131 = (($130) + 64|0); + $131 = ((($130)) + 64|0); $132 = HEAP32[$131>>2]|0; $133 = HEAP32[$pLink>>2]|0; - $134 = (($133) + 32|0); + $134 = ((($133)) + 32|0); HEAP32[$134>>2] = $132; $135 = HEAP32[$pLink>>2]|0; $136 = HEAP32[$pTab>>2]|0; - $137 = (($136) + 64|0); + $137 = ((($136)) + 64|0); HEAP32[$137>>2] = $135; } } @@ -81192,31 +80219,36 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code = 0, $db = 0, $iDb = 0, $iTabDb = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pName = 0, $pTab = 0, $pTrigger = 0, $sFix = 0; - var $vararg_buffer23 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $zDb = 0, $zDbTrig = 0, $zName = 0, label = 0, sp = 0; + var $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $zDb = 0, $zDbTrig = 0, $zName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer23 = sp; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $4 = sp + 100|0; - $5 = sp + 96|0; - $6 = sp + 92|0; - $7 = sp + 88|0; - $8 = sp + 84|0; - $9 = sp + 80|0; - $pTrigger = sp + 76|0; - $pTab = sp + 72|0; - $zName = sp + 68|0; - $db = sp + 64|0; - $iDb = sp + 60|0; - $pName = sp + 56|0; - $sFix = sp + 32|0; - $iTabDb = sp + 24|0; - $code = sp + 20|0; - $zDb = sp + 16|0; - $zDbTrig = sp + 12|0; + STACKTOP = STACKTOP + 160|0; + $vararg_buffer23 = sp + 16|0; + $vararg_buffer18 = sp; + $vararg_buffer16 = sp + 24|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer12 = sp + 40|0; + $vararg_buffer = sp + 32|0; + $0 = sp + 52|0; + $1 = sp + 100|0; + $2 = sp + 72|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 76|0; + $8 = sp + 80|0; + $9 = sp + 88|0; + $pTrigger = sp + 84|0; + $pTab = sp + 92|0; + $zName = sp + 96|0; + $db = sp + 104|0; + $iDb = sp + 108|0; + $pName = sp + 112|0; + $sFix = sp + 120|0; + $iTabDb = sp + 144|0; + $code = sp + 148|0; + $zDb = sp + 152|0; + $zDbTrig = sp + 156|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName1; HEAP32[$2>>2] = $pName2; @@ -81237,12 +80269,12 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab do { if ($13) { $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = ($16>>>0)>(0); if ($17) { $18 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($18,19856,$vararg_buffer23); + _sqlite3ErrorMsg($18,23578,$vararg_buffer); break; } else { HEAP32[$iDb>>2] = 1; @@ -81276,14 +80308,14 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab do { if ((label|0) == 6) { $28 = HEAP32[$db>>2]|0; - $29 = (($28) + 64|0); + $29 = ((($28)) + 64|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = ($31|0)!=(0); if (!($32)) { $33 = HEAP32[$db>>2]|0; - $34 = (($33) + 140|0); - $35 = (($34) + 5|0); + $34 = ((($33)) + 140|0); + $35 = ((($34)) + 5|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = ($37|0)!=(0); @@ -81293,13 +80325,13 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab if ($or$cond) { $41 = HEAP32[$db>>2]|0; $42 = HEAP32[$6>>2]|0; - $43 = (($42) + 8|0); - $44 = (($43) + 4|0); + $43 = ((($42)) + 8|0); + $44 = ((($43)) + 4|0); $45 = HEAP32[$44>>2]|0; _sqlite3DbFree($41,$45); $46 = HEAP32[$6>>2]|0; - $47 = (($46) + 8|0); - $48 = (($47) + 4|0); + $47 = ((($46)) + 8|0); + $48 = ((($47)) + 4|0); HEAP32[$48>>2] = 0; } $49 = HEAP32[$0>>2]|0; @@ -81307,14 +80339,14 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $51 = (_sqlite3SrcListLookup($49,$50)|0); HEAP32[$pTab>>2] = $51; $52 = HEAP32[$db>>2]|0; - $53 = (($52) + 140|0); - $54 = (($53) + 5|0); + $53 = ((($52)) + 140|0); + $54 = ((($53)) + 5|0); $55 = HEAP8[$54>>0]|0; $56 = $55&255; $57 = ($56|0)==(0); if ($57) { $58 = HEAP32[$2>>2]|0; - $59 = (($58) + 4|0); + $59 = ((($58)) + 4|0); $60 = HEAP32[$59>>2]|0; $61 = ($60|0)==(0); $62 = HEAP32[$pTab>>2]|0; @@ -81322,13 +80354,13 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $or$cond3 = $61 & $63; if ($or$cond3) { $64 = HEAP32[$pTab>>2]|0; - $65 = (($64) + 68|0); + $65 = ((($64)) + 68|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$db>>2]|0; - $68 = (($67) + 16|0); + $68 = ((($67)) + 16|0); $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 16|0); - $71 = (($70) + 12|0); + $70 = ((($69)) + 16|0); + $71 = ((($70)) + 12|0); $72 = HEAP32[$71>>2]|0; $73 = ($66|0)==($72|0); if ($73) { @@ -81337,14 +80369,14 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab } } $74 = HEAP32[$db>>2]|0; - $75 = (($74) + 64|0); + $75 = ((($74)) + 64|0); $76 = HEAP8[$75>>0]|0; $77 = ($76<<24>>24)!=(0); if (!($77)) { $78 = HEAP32[$0>>2]|0; $79 = HEAP32[$iDb>>2]|0; $80 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$78,$79,1488,$80); + _sqlite3FixInit($sFix,$78,$79,14687,$80); $81 = HEAP32[$6>>2]|0; $82 = (_sqlite3FixSrcList($sFix,$81)|0); $83 = ($82|0)!=(0); @@ -81357,8 +80389,8 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $88 = ($87|0)!=(0|0); if (!($88)) { $89 = HEAP32[$db>>2]|0; - $90 = (($89) + 140|0); - $91 = (($90) + 4|0); + $90 = ((($89)) + 140|0); + $91 = ((($90)) + 4|0); $92 = HEAP8[$91>>0]|0; $93 = $92&255; $94 = ($93|0)==(1); @@ -81366,20 +80398,20 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab break; } $95 = HEAP32[$db>>2]|0; - $96 = (($95) + 140|0); - $97 = (($96) + 6|0); + $96 = ((($95)) + 140|0); + $97 = ((($96)) + 6|0); HEAP8[$97>>0] = 1; break; } $98 = HEAP32[$pTab>>2]|0; - $99 = (($98) + 44|0); + $99 = ((($98)) + 44|0); $100 = HEAP8[$99>>0]|0; $101 = $100&255; $102 = $101 & 16; $103 = ($102|0)!=(0); if ($103) { $104 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($104,19904,$vararg_buffer23); + _sqlite3ErrorMsg($104,23624,$vararg_buffer12); break; } $105 = HEAP32[$db>>2]|0; @@ -81396,12 +80428,12 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab if (!($113)) { $114 = HEAP32[$iDb>>2]|0; $115 = HEAP32[$db>>2]|0; - $116 = (($115) + 16|0); + $116 = ((($115)) + 16|0); $117 = HEAP32[$116>>2]|0; $118 = (($117) + ($114<<4)|0); - $119 = (($118) + 12|0); + $119 = ((($118)) + 12|0); $120 = HEAP32[$119>>2]|0; - $121 = (($120) + 40|0); + $121 = ((($120)) + 40|0); $122 = HEAP32[$zName>>2]|0; $123 = (_sqlite3HashFind($121,$122)|0); $124 = ($123|0)!=(0|0); @@ -81415,27 +80447,27 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab break; } else { $128 = HEAP32[$pName>>2]|0; - HEAP32[$vararg_buffer23>>2] = $128; - _sqlite3ErrorMsg($127,19952,$vararg_buffer23); + HEAP32[$vararg_buffer14>>2] = $128; + _sqlite3ErrorMsg($127,23665,$vararg_buffer14); break; } } $130 = HEAP32[$pTab>>2]|0; $131 = HEAP32[$130>>2]|0; - $132 = (_sqlite3_strnicmp($131,15144,7)|0); + $132 = (_sqlite3_strnicmp($131,19570,7)|0); $133 = ($132|0)==(0); if ($133) { $134 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($134,19984,$vararg_buffer23); + _sqlite3ErrorMsg($134,23691,$vararg_buffer16); $135 = HEAP32[$0>>2]|0; - $136 = (($135) + 64|0); + $136 = ((($135)) + 64|0); $137 = HEAP32[$136>>2]|0; $138 = (($137) + 1)|0; HEAP32[$136>>2] = $138; break; } $139 = HEAP32[$pTab>>2]|0; - $140 = (($139) + 12|0); + $140 = ((($139)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = ($141|0)!=(0|0); $143 = HEAP32[$3>>2]|0; @@ -81445,18 +80477,18 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $145 = HEAP32[$0>>2]|0; $146 = HEAP32[$3>>2]|0; $147 = ($146|0)==(35); - $148 = $147 ? 20064 : 20072; + $148 = $147 ? 23729 : 23736; $149 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer23>>2] = $148; - $vararg_ptr21 = (($vararg_buffer23) + 4|0); + HEAP32[$vararg_buffer18>>2] = $148; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $149; - $vararg_ptr22 = (($vararg_buffer23) + 8|0); + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); HEAP32[$vararg_ptr22>>2] = 0; - _sqlite3ErrorMsg($145,20024,$vararg_buffer23); + _sqlite3ErrorMsg($145,23742,$vararg_buffer18); break; } $150 = HEAP32[$pTab>>2]|0; - $151 = (($150) + 12|0); + $151 = ((($150)) + 12|0); $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); $154 = HEAP32[$3>>2]|0; @@ -81466,21 +80498,21 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $156 = HEAP32[$0>>2]|0; $157 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer23>>2] = $157; - $vararg_ptr26 = (($vararg_buffer23) + 4|0); + $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); HEAP32[$vararg_ptr26>>2] = 0; - _sqlite3ErrorMsg($156,20080,$vararg_buffer23); + _sqlite3ErrorMsg($156,23779,$vararg_buffer23); break; } $158 = HEAP32[$db>>2]|0; $159 = HEAP32[$pTab>>2]|0; - $160 = (($159) + 68|0); + $160 = ((($159)) + 68|0); $161 = HEAP32[$160>>2]|0; $162 = (_sqlite3SchemaToIndex($158,$161)|0); HEAP32[$iTabDb>>2] = $162; HEAP32[$code>>2] = 7; $163 = HEAP32[$iTabDb>>2]|0; $164 = HEAP32[$db>>2]|0; - $165 = (($164) + 16|0); + $165 = ((($164)) + 16|0); $166 = HEAP32[$165>>2]|0; $167 = (($166) + ($163<<4)|0); $168 = HEAP32[$167>>2]|0; @@ -81489,9 +80521,9 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $170 = ($169|0)!=(0); if ($170) { $171 = HEAP32[$db>>2]|0; - $172 = (($171) + 16|0); + $172 = ((($171)) + 16|0); $173 = HEAP32[$172>>2]|0; - $174 = (($173) + 16|0); + $174 = ((($173)) + 16|0); $175 = HEAP32[$174>>2]|0; $177 = $175; } else { @@ -81519,7 +80551,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $190 = HEAP32[$0>>2]|0; $191 = HEAP32[$iTabDb>>2]|0; $192 = ($191|0)==(1); - $193 = $192 ? 14904 : 14928; + $193 = $192 ? 19269 : 19288; $194 = HEAP32[$zDb>>2]|0; $195 = (_sqlite3AuthCheck($190,18,$193,0,$194)|0); $196 = ($195|0)!=(0); @@ -81543,56 +80575,56 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab HEAP32[$zName>>2] = 0; $205 = HEAP32[$db>>2]|0; $206 = HEAP32[$6>>2]|0; - $207 = (($206) + 8|0); - $208 = (($207) + 8|0); + $207 = ((($206)) + 8|0); + $208 = ((($207)) + 8|0); $209 = HEAP32[$208>>2]|0; $210 = (_sqlite3DbStrDup($205,$209)|0); $211 = HEAP32[$pTrigger>>2]|0; - $212 = (($211) + 4|0); + $212 = ((($211)) + 4|0); HEAP32[$212>>2] = $210; $213 = HEAP32[$iDb>>2]|0; $214 = HEAP32[$db>>2]|0; - $215 = (($214) + 16|0); + $215 = ((($214)) + 16|0); $216 = HEAP32[$215>>2]|0; $217 = (($216) + ($213<<4)|0); - $218 = (($217) + 12|0); + $218 = ((($217)) + 12|0); $219 = HEAP32[$218>>2]|0; $220 = HEAP32[$pTrigger>>2]|0; - $221 = (($220) + 20|0); + $221 = ((($220)) + 20|0); HEAP32[$221>>2] = $219; $222 = HEAP32[$pTab>>2]|0; - $223 = (($222) + 68|0); + $223 = ((($222)) + 68|0); $224 = HEAP32[$223>>2]|0; $225 = HEAP32[$pTrigger>>2]|0; - $226 = (($225) + 24|0); + $226 = ((($225)) + 24|0); HEAP32[$226>>2] = $224; $227 = HEAP32[$4>>2]|0; $228 = $227&255; $229 = HEAP32[$pTrigger>>2]|0; - $230 = (($229) + 8|0); + $230 = ((($229)) + 8|0); HEAP8[$230>>0] = $228; $231 = HEAP32[$3>>2]|0; $232 = ($231|0)==(35); $233 = $232 ? 1 : 2; $234 = $233&255; $235 = HEAP32[$pTrigger>>2]|0; - $236 = (($235) + 9|0); + $236 = ((($235)) + 9|0); HEAP8[$236>>0] = $234; $237 = HEAP32[$db>>2]|0; $238 = HEAP32[$7>>2]|0; $239 = (_sqlite3ExprDup($237,$238,1)|0); $240 = HEAP32[$pTrigger>>2]|0; - $241 = (($240) + 12|0); + $241 = ((($240)) + 12|0); HEAP32[$241>>2] = $239; $242 = HEAP32[$db>>2]|0; $243 = HEAP32[$5>>2]|0; $244 = (_sqlite3IdListDup($242,$243)|0); $245 = HEAP32[$pTrigger>>2]|0; - $246 = (($245) + 16|0); + $246 = ((($245)) + 16|0); HEAP32[$246>>2] = $244; $247 = HEAP32[$pTrigger>>2]|0; $248 = HEAP32[$0>>2]|0; - $249 = (($248) + 488|0); + $249 = ((($248)) + 488|0); HEAP32[$249>>2] = $247; } } @@ -81616,7 +80648,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $257 = HEAP32[$7>>2]|0; _sqlite3ExprDelete($256,$257); $258 = HEAP32[$0>>2]|0; - $259 = (($258) + 488|0); + $259 = ((($258)) + 488|0); $260 = HEAP32[$259>>2]|0; $261 = ($260|0)!=(0|0); if ($261) { @@ -81659,17 +80691,17 @@ function _sqlite3TriggerUpdateStep($db,$pTableName,$pEList,$pWhere,$orconf) { $11 = HEAP32[$2>>2]|0; $12 = (_sqlite3ExprListDup($10,$11,1)|0); $13 = HEAP32[$pTriggerStep>>2]|0; - $14 = (($13) + 24|0); + $14 = ((($13)) + 24|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$0>>2]|0; $16 = HEAP32[$3>>2]|0; $17 = (_sqlite3ExprDup($15,$16,1)|0); $18 = HEAP32[$pTriggerStep>>2]|0; - $19 = (($18) + 20|0); + $19 = ((($18)) + 20|0); HEAP32[$19>>2] = $17; $20 = HEAP8[$4>>0]|0; $21 = HEAP32[$pTriggerStep>>2]|0; - $22 = (($21) + 1|0); + $22 = ((($21)) + 1|0); HEAP8[$22>>0] = $20; } $23 = HEAP32[$0>>2]|0; @@ -81713,15 +80745,15 @@ function _sqlite3TriggerInsertStep($db,$pTableName,$pColumn,$pSelect,$orconf) { $11 = HEAP32[$3>>2]|0; $12 = (_sqlite3SelectDup($10,$11,1)|0); $13 = HEAP32[$pTriggerStep>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$2>>2]|0; $16 = HEAP32[$pTriggerStep>>2]|0; - $17 = (($16) + 28|0); + $17 = ((($16)) + 28|0); HEAP32[$17>>2] = $15; $18 = HEAP8[$4>>0]|0; $19 = HEAP32[$pTriggerStep>>2]|0; - $20 = (($19) + 1|0); + $20 = ((($19)) + 1|0); HEAP8[$20>>0] = $18; $22 = HEAP32[$0>>2]|0; $23 = HEAP32[$3>>2]|0; @@ -81737,7 +80769,7 @@ function _sqlite3TriggerInsertStep($db,$pTableName,$pColumn,$pSelect,$orconf) { $24 = HEAP32[$pTriggerStep>>2]|0; STACKTOP = sp;return ($24|0); } - return 0|0; + return (0)|0; } function _sqlite3TriggerDeleteStep($db,$pTableName,$pWhere) { $db = $db|0; @@ -81765,10 +80797,10 @@ function _sqlite3TriggerDeleteStep($db,$pTableName,$pWhere) { $9 = HEAP32[$2>>2]|0; $10 = (_sqlite3ExprDup($8,$9,1)|0); $11 = HEAP32[$pTriggerStep>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); HEAP32[$12>>2] = $10; $13 = HEAP32[$pTriggerStep>>2]|0; - $14 = (($13) + 1|0); + $14 = ((($13)) + 1|0); HEAP8[$14>>0] = 10; } $15 = HEAP32[$0>>2]|0; @@ -81806,17 +80838,17 @@ function _sqlite3TriggerSelectStep($db,$pSelect) { HEAP8[$9>>0] = 119; $10 = HEAP32[$2>>2]|0; $11 = HEAP32[$pTriggerStep>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); HEAP32[$12>>2] = $10; $13 = HEAP32[$pTriggerStep>>2]|0; - $14 = (($13) + 1|0); + $14 = ((($13)) + 1|0); HEAP8[$14>>0] = 10; $15 = HEAP32[$pTriggerStep>>2]|0; HEAP32[$0>>2] = $15; $16 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($16|0); } - return 0|0; + return (0)|0; } function _sqlite3DropTrigger($pParse,$pName,$noErr) { $pParse = $pParse|0; @@ -81829,15 +80861,15 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $pTrigger = sp + 28|0; - $i = sp + 24|0; - $zDb = sp + 20|0; - $zName = sp + 16|0; - $db = sp + 12|0; - $j = sp + 8|0; + $0 = sp + 20|0; + $1 = sp + 24|0; + $2 = sp + 28|0; + $pTrigger = sp + 12|0; + $i = sp + 8|0; + $zDb = sp + 16|0; + $zName = sp + 32|0; + $db = sp + 36|0; + $j = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName; HEAP32[$2>>2] = $noErr; @@ -81846,7 +80878,7 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; - $6 = (($5) + 64|0); + $6 = ((($5)) + 64|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if ($8) { @@ -81865,20 +80897,20 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { STACKTOP = sp;return; } $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8|0); - $14 = (($13) + 4|0); + $13 = ((($12)) + 8|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; HEAP32[$zDb>>2] = $15; $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 8|0); - $18 = (($17) + 8|0); + $17 = ((($16)) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; HEAP32[$zName>>2] = $19; HEAP32[$i>>2] = 0; while(1) { $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$db>>2]|0; - $22 = (($21) + 20|0); + $22 = ((($21)) + 20|0); $23 = HEAP32[$22>>2]|0; $24 = ($20|0)<($23|0); if (!($24)) { @@ -81895,7 +80927,7 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { if ($31) { $32 = HEAP32[$j>>2]|0; $33 = HEAP32[$db>>2]|0; - $34 = (($33) + 16|0); + $34 = ((($33)) + 16|0); $35 = HEAP32[$34>>2]|0; $36 = (($35) + ($32<<4)|0); $37 = HEAP32[$36>>2]|0; @@ -81912,12 +80944,12 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { label = 0; $41 = HEAP32[$j>>2]|0; $42 = HEAP32[$db>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); $44 = HEAP32[$43>>2]|0; $45 = (($44) + ($41<<4)|0); - $46 = (($45) + 12|0); + $46 = ((($45)) + 12|0); $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 40|0); + $48 = ((($47)) + 40|0); $49 = HEAP32[$zName>>2]|0; $50 = (_sqlite3HashFind($48,$49)|0); HEAP32[$pTrigger>>2] = $50; @@ -81951,12 +80983,12 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { } else { $60 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $60; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($59,19792,$vararg_buffer); + _sqlite3ErrorMsg($59,23522,$vararg_buffer); } $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 17|0); + $63 = ((($62)) + 17|0); HEAP8[$63>>0] = 1; $66 = HEAP32[$db>>2]|0; $67 = HEAP32[$1>>2]|0; @@ -81984,7 +81016,7 @@ function _sqlite3Attach($pParse,$p,$pDbname,$pKey) { $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$2>>2]|0; $8 = HEAP32[$3>>2]|0; - _codeAttach($4,24,19552,$5,$6,$7,$8); + _codeAttach($4,24,2480,$5,$6,$7,$8); STACKTOP = sp;return; } function _sqlite3Detach($pParse,$pDbname) { @@ -82000,7 +81032,7 @@ function _sqlite3Detach($pParse,$pDbname) { $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$1>>2]|0; - _codeAttach($2,25,19368,$3,0,0,$4); + _codeAttach($2,25,2444,$3,0,0,$4); STACKTOP = sp;return; } function _sqlite3Reindex($pParse,$pName1,$pName2) { @@ -82015,18 +81047,18 @@ function _sqlite3Reindex($pParse,$pName1,$pName2) { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $pColl = sp + 36|0; - $z = sp + 32|0; - $zDb = sp + 28|0; - $pTab = sp + 24|0; - $pIndex = sp + 20|0; - $iDb = sp + 16|0; - $db = sp + 12|0; - $pObjName = sp + 8|0; - $zColl = sp + 4|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $pColl = sp + 24|0; + $z = sp + 8|0; + $zDb = sp + 12|0; + $pTab = sp + 28|0; + $pIndex = sp + 32|0; + $iDb = sp + 36|0; + $db = sp + 40|0; + $pObjName = sp + 44|0; + $zColl = sp + 48|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName1; HEAP32[$2>>2] = $pName2; @@ -82072,11 +81104,11 @@ function _sqlite3Reindex($pParse,$pName1,$pName2) { } $22 = HEAP32[$db>>2]|0; $23 = HEAP32[$db>>2]|0; - $24 = (($23) + 16|0); + $24 = ((($23)) + 16|0); $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 77|0); + $28 = ((($27)) + 77|0); $29 = HEAP8[$28>>0]|0; $30 = HEAP32[$zColl>>2]|0; $31 = (_sqlite3FindCollSeq($22,$29,$30,0)|0); @@ -82119,7 +81151,7 @@ function _sqlite3Reindex($pParse,$pName1,$pName2) { } $51 = HEAP32[$iDb>>2]|0; $52 = HEAP32[$db>>2]|0; - $53 = (($52) + 16|0); + $53 = ((($52)) + 16|0); $54 = HEAP32[$53>>2]|0; $55 = (($54) + ($51<<4)|0); $56 = HEAP32[$55>>2]|0; @@ -82159,7 +81191,7 @@ function _sqlite3Reindex($pParse,$pName1,$pName2) { _sqlite3RefillIndex($77,$78,-1); STACKTOP = sp;return; } else { - _sqlite3ErrorMsg($75,19064,$vararg_buffer); + _sqlite3ErrorMsg($75,22975,$vararg_buffer); STACKTOP = sp;return; } } @@ -82175,18 +81207,18 @@ function _sqlite3Analyze($pParse,$pName1,$pName2) { var $z = 0, $zDb = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; + $0 = sp; + $1 = sp + 8|0; $2 = sp + 36|0; - $db = sp + 32|0; - $iDb = sp + 28|0; - $i = sp + 24|0; - $z = sp + 20|0; - $zDb = sp + 16|0; - $pTab = sp + 12|0; - $pIdx = sp + 8|0; + $db = sp + 16|0; + $iDb = sp + 32|0; + $i = sp + 40|0; + $z = sp + 44|0; + $zDb = sp + 24|0; + $pTab = sp + 20|0; + $pIdx = sp + 12|0; $pTableName = sp + 4|0; - $v = sp; + $v = sp + 28|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName1; HEAP32[$2>>2] = $pName2; @@ -82207,7 +81239,7 @@ function _sqlite3Analyze($pParse,$pName1,$pName2) { while(1) { $10 = HEAP32[$i>>2]|0; $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); $13 = HEAP32[$12>>2]|0; $14 = ($10|0)<($13|0); if (!($14)) { @@ -82226,7 +81258,7 @@ function _sqlite3Analyze($pParse,$pName1,$pName2) { } } else { $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = ($23|0)==(0); if (!($24)) { @@ -82242,7 +81274,7 @@ function _sqlite3Analyze($pParse,$pName1,$pName2) { } $59 = HEAP32[$iDb>>2]|0; $60 = HEAP32[$db>>2]|0; - $61 = (($60) + 16|0); + $61 = ((($60)) + 16|0); $62 = HEAP32[$61>>2]|0; $63 = (($62) + ($59<<4)|0); $64 = HEAP32[$63>>2]|0; @@ -82265,7 +81297,7 @@ function _sqlite3Analyze($pParse,$pName1,$pName2) { $75 = HEAP32[$0>>2]|0; if ($74) { $76 = HEAP32[$pIdx>>2]|0; - $77 = (($76) + 12|0); + $77 = ((($76)) + 12|0); $78 = HEAP32[$77>>2]|0; $79 = HEAP32[$pIdx>>2]|0; _analyzeTable($75,$78,$79); @@ -82313,7 +81345,7 @@ function _sqlite3Analyze($pParse,$pName1,$pName2) { $41 = HEAP32[$0>>2]|0; if ($40) { $42 = HEAP32[$pIdx>>2]|0; - $43 = (($42) + 12|0); + $43 = ((($42)) + 12|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$pIdx>>2]|0; _analyzeTable($41,$44,$45); @@ -82360,28 +81392,33 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $db = 0, $i = 0, $iDb = 0, $nTabName = 0, $p = 0, $pFrom = 0, $pTab = 0, $pVTab = 0, $savedDbFlags = 0, $v = 0, $vararg_buffer27 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0; - var $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr26 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zDb = 0, $zName = 0, $zTabName = 0, $zWhere = 0, label = 0, sp = 0; + var $98 = 0, $99 = 0, $db = 0, $i = 0, $iDb = 0, $nTabName = 0, $p = 0, $pFrom = 0, $pTab = 0, $pVTab = 0, $savedDbFlags = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer22 = 0, $vararg_buffer27 = 0, $vararg_buffer4 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0; + var $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr26 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zDb = 0, $zName = 0, $zTabName = 0, $zWhere = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer27 = sp; - $0 = sp + 100|0; - $1 = sp + 96|0; - $2 = sp + 92|0; - $iDb = sp + 88|0; - $zDb = sp + 84|0; - $pTab = sp + 80|0; - $zName = sp + 76|0; - $db = sp + 72|0; - $nTabName = sp + 68|0; - $zTabName = sp + 64|0; - $v = sp + 60|0; - $zWhere = sp + 56|0; - $pVTab = sp + 52|0; - $savedDbFlags = sp + 48|0; - $i = sp + 44|0; - $p = sp + 40|0; - $pFrom = sp + 36|0; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer27 = sp + 8|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer11 = sp + 24|0; + $vararg_buffer4 = sp + 88|0; + $vararg_buffer1 = sp + 80|0; + $vararg_buffer = sp; + $0 = sp + 108|0; + $1 = sp + 140|0; + $2 = sp + 136|0; + $iDb = sp + 132|0; + $zDb = sp + 128|0; + $pTab = sp + 116|0; + $zName = sp + 112|0; + $db = sp + 120|0; + $nTabName = sp + 124|0; + $zTabName = sp + 144|0; + $v = sp + 148|0; + $zWhere = sp + 152|0; + $pVTab = sp + 156|0; + $savedDbFlags = sp + 160|0; + $i = sp + 164|0; + $p = sp + 168|0; + $pFrom = sp + 172|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSrc; HEAP32[$2>>2] = $pName; @@ -82392,18 +81429,18 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$zWhere>>2] = 0; HEAP32[$pVTab>>2] = 0; $5 = HEAP32[$db>>2]|0; - $6 = (($5) + 24|0); + $6 = ((($5)) + 24|0); $7 = HEAP32[$6>>2]|0; HEAP32[$savedDbFlags>>2] = $7; $8 = HEAP32[$db>>2]|0; - $9 = (($8) + 64|0); + $9 = ((($8)) + 64|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)!=(0); do { if (!($11)) { $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = (_sqlite3LocateTableItem($12,0,$14)|0); HEAP32[$pTab>>2] = $15; $16 = HEAP32[$pTab>>2]|0; @@ -82412,19 +81449,19 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$pTab>>2]|0; - $21 = (($20) + 68|0); + $21 = ((($20)) + 68|0); $22 = HEAP32[$21>>2]|0; $23 = (_sqlite3SchemaToIndex($19,$22)|0); HEAP32[$iDb>>2] = $23; $24 = HEAP32[$iDb>>2]|0; $25 = HEAP32[$db>>2]|0; - $26 = (($25) + 16|0); + $26 = ((($25)) + 16|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + ($24<<4)|0); $29 = HEAP32[$28>>2]|0; HEAP32[$zDb>>2] = $29; $30 = HEAP32[$db>>2]|0; - $31 = (($30) + 24|0); + $31 = ((($30)) + 24|0); $32 = HEAP32[$31>>2]|0; $33 = $32 | 2097152; HEAP32[$31>>2] = $33; @@ -82463,15 +81500,15 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { break; } $60 = HEAP32[$pTab>>2]|0; - $61 = (($60) + 12|0); + $61 = ((($60)) + 12|0); $62 = HEAP32[$61>>2]|0; $63 = ($62|0)!=(0|0); $64 = HEAP32[$0>>2]|0; if ($63) { $65 = HEAP32[$pTab>>2]|0; $66 = HEAP32[$65>>2]|0; - HEAP32[$vararg_buffer27>>2] = $66; - _sqlite3ErrorMsg($64,15664,$vararg_buffer27); + HEAP32[$vararg_buffer1>>2] = $66; + _sqlite3ErrorMsg($64,20063,$vararg_buffer1); break; } $67 = HEAP32[$zDb>>2]|0; @@ -82490,7 +81527,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { break; } $76 = HEAP32[$pTab>>2]|0; - $77 = (($76) + 44|0); + $77 = ((($76)) + 44|0); $78 = HEAP8[$77>>0]|0; $79 = $78&255; $80 = $79 & 16; @@ -82501,10 +81538,10 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $84 = (_sqlite3GetVTable($82,$83)|0); HEAP32[$pVTab>>2] = $84; $85 = HEAP32[$pVTab>>2]|0; - $86 = (($85) + 8|0); + $86 = ((($85)) + 8|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[$87>>2]|0; - $89 = (($88) + 76|0); + $89 = ((($88)) + 76|0); $90 = HEAP32[$89>>2]|0; $91 = ($90|0)==(0|0); if ($91) { @@ -82532,7 +81569,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $104 = ($103|0)!=(0|0); if ($104) { $105 = HEAP32[$0>>2]|0; - $106 = (($105) + 72|0); + $106 = ((($105)) + 72|0); $107 = HEAP32[$106>>2]|0; $108 = (($107) + 1)|0; HEAP32[$106>>2] = $108; @@ -82555,7 +81592,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $119 = (_sqlite3Utf8CharLen($118,-1)|0); HEAP32[$nTabName>>2] = $119; $120 = HEAP32[$db>>2]|0; - $121 = (($120) + 24|0); + $121 = ((($120)) + 24|0); $122 = HEAP32[$121>>2]|0; $123 = $122 & 524288; $124 = ($123|0)!=(0); @@ -82570,20 +81607,20 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $130 = HEAP32[$zDb>>2]|0; $131 = HEAP32[$iDb>>2]|0; $132 = ($131|0)==(1); - $133 = $132 ? 14904 : 14928; + $133 = $132 ? 19269 : 19288; $134 = HEAP32[$zTabName>>2]|0; $135 = HEAP32[$zName>>2]|0; $136 = HEAP32[$zWhere>>2]|0; - HEAP32[$vararg_buffer27>>2] = $130; - $vararg_ptr7 = (($vararg_buffer27) + 4|0); + HEAP32[$vararg_buffer4>>2] = $130; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $133; - $vararg_ptr8 = (($vararg_buffer27) + 8|0); + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $134; - $vararg_ptr9 = (($vararg_buffer27) + 12|0); + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $135; - $vararg_ptr10 = (($vararg_buffer27) + 16|0); + $vararg_ptr10 = ((($vararg_buffer4)) + 16|0); HEAP32[$vararg_ptr10>>2] = $136; - _sqlite3NestedParse($129,15696,$vararg_buffer27); + _sqlite3NestedParse($129,20090,$vararg_buffer4); $137 = HEAP32[$db>>2]|0; $138 = HEAP32[$zWhere>>2]|0; _sqlite3DbFree($137,$138); @@ -82593,7 +81630,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $140 = HEAP32[$zDb>>2]|0; $141 = HEAP32[$iDb>>2]|0; $142 = ($141|0)==(1); - $143 = $142 ? 14904 : 14928; + $143 = $142 ? 19269 : 19288; $144 = HEAP32[$zName>>2]|0; $145 = HEAP32[$zName>>2]|0; $146 = HEAP32[$zName>>2]|0; @@ -82601,27 +81638,27 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $148 = HEAP32[$zName>>2]|0; $149 = HEAP32[$nTabName>>2]|0; $150 = HEAP32[$zTabName>>2]|0; - HEAP32[$vararg_buffer27>>2] = $140; - $vararg_ptr14 = (($vararg_buffer27) + 4|0); + HEAP32[$vararg_buffer11>>2] = $140; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $143; - $vararg_ptr15 = (($vararg_buffer27) + 8|0); + $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $144; - $vararg_ptr16 = (($vararg_buffer27) + 12|0); + $vararg_ptr16 = ((($vararg_buffer11)) + 12|0); HEAP32[$vararg_ptr16>>2] = $145; - $vararg_ptr17 = (($vararg_buffer27) + 16|0); + $vararg_ptr17 = ((($vararg_buffer11)) + 16|0); HEAP32[$vararg_ptr17>>2] = $146; - $vararg_ptr18 = (($vararg_buffer27) + 20|0); + $vararg_ptr18 = ((($vararg_buffer11)) + 20|0); HEAP32[$vararg_ptr18>>2] = $147; - $vararg_ptr19 = (($vararg_buffer27) + 24|0); + $vararg_ptr19 = ((($vararg_buffer11)) + 24|0); HEAP32[$vararg_ptr19>>2] = $148; - $vararg_ptr20 = (($vararg_buffer27) + 28|0); + $vararg_ptr20 = ((($vararg_buffer11)) + 28|0); HEAP32[$vararg_ptr20>>2] = $149; - $vararg_ptr21 = (($vararg_buffer27) + 32|0); + $vararg_ptr21 = ((($vararg_buffer11)) + 32|0); HEAP32[$vararg_ptr21>>2] = $150; - _sqlite3NestedParse($139,15768,$vararg_buffer27); + _sqlite3NestedParse($139,20159,$vararg_buffer11); $151 = HEAP32[$db>>2]|0; $152 = HEAP32[$zDb>>2]|0; - $153 = (_sqlite3FindTable($151,16152,$152)|0); + $153 = (_sqlite3FindTable($151,20543,$152)|0); $154 = ($153|0)!=(0|0); if ($154) { $155 = HEAP32[$0>>2]|0; @@ -82629,12 +81666,12 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $157 = HEAP32[$zName>>2]|0; $158 = HEAP32[$pTab>>2]|0; $159 = HEAP32[$158>>2]|0; - HEAP32[$vararg_buffer27>>2] = $156; - $vararg_ptr25 = (($vararg_buffer27) + 4|0); + HEAP32[$vararg_buffer22>>2] = $156; + $vararg_ptr25 = ((($vararg_buffer22)) + 4|0); HEAP32[$vararg_ptr25>>2] = $157; - $vararg_ptr26 = (($vararg_buffer27) + 8|0); + $vararg_ptr26 = ((($vararg_buffer22)) + 8|0); HEAP32[$vararg_ptr26>>2] = $159; - _sqlite3NestedParse($155,16168,$vararg_buffer27); + _sqlite3NestedParse($155,20559,$vararg_buffer22); } $160 = HEAP32[$0>>2]|0; $161 = HEAP32[$pTab>>2]|0; @@ -82647,17 +81684,17 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $166 = HEAP32[$zName>>2]|0; $167 = HEAP32[$zWhere>>2]|0; HEAP32[$vararg_buffer27>>2] = $165; - $vararg_ptr30 = (($vararg_buffer27) + 4|0); + $vararg_ptr30 = ((($vararg_buffer27)) + 4|0); HEAP32[$vararg_ptr30>>2] = $166; - $vararg_ptr31 = (($vararg_buffer27) + 8|0); + $vararg_ptr31 = ((($vararg_buffer27)) + 8|0); HEAP32[$vararg_ptr31>>2] = $167; - _sqlite3NestedParse($164,16232,$vararg_buffer27); + _sqlite3NestedParse($164,20617,$vararg_buffer27); $168 = HEAP32[$db>>2]|0; $169 = HEAP32[$zWhere>>2]|0; _sqlite3DbFree($168,$169); } $170 = HEAP32[$db>>2]|0; - $171 = (($170) + 24|0); + $171 = ((($170)) + 24|0); $172 = HEAP32[$171>>2]|0; $173 = $172 & 524288; $174 = ($173|0)!=(0); @@ -82687,7 +81724,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { _reloadTableSchema($184,$186,$188); } $189 = HEAP32[$p>>2]|0; - $190 = (($189) + 12|0); + $190 = ((($189)) + 12|0); $191 = HEAP32[$190>>2]|0; HEAP32[$p>>2] = $191; } @@ -82702,8 +81739,8 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { } $49 = HEAP32[$0>>2]|0; $50 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer27>>2] = $50; - _sqlite3ErrorMsg($49,15600,$vararg_buffer27); + HEAP32[$vararg_buffer>>2] = $50; + _sqlite3ErrorMsg($49,20004,$vararg_buffer); } } } @@ -82716,7 +81753,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { _sqlite3DbFree($197,$198); $199 = HEAP32[$savedDbFlags>>2]|0; $200 = HEAP32[$db>>2]|0; - $201 = (($200) + 24|0); + $201 = ((($200)) + 24|0); HEAP32[$201>>2] = $199; STACKTOP = sp;return; } @@ -82731,39 +81768,44 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $or$cond = 0, $or$cond3 = 0, $pCol = 0, $pDflt = 0, $pNew = 0, $pTab = 0, $pVal = 0, $savedDbFlags = 0, $vararg_buffer13 = 0; - var $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $zCol = 0, $zDb = 0, $zEnd = 0, $zTab = 0, label = 0, sp = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $or$cond = 0, $or$cond3 = 0, $pCol = 0, $pDflt = 0, $pNew = 0, $pTab = 0, $pVal = 0, $savedDbFlags = 0, $vararg_buffer = 0; + var $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $zCol = 0, $zDb = 0, $zEnd = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 128|0; $vararg_buffer13 = sp; - $0 = sp + 76|0; - $1 = sp + 72|0; - $pNew = sp + 68|0; - $pTab = sp + 64|0; - $iDb = sp + 60|0; - $zDb = sp + 56|0; - $zTab = sp + 52|0; - $zCol = sp + 48|0; - $pCol = sp + 44|0; - $pDflt = sp + 40|0; - $db = sp + 36|0; - $pVal = sp + 32|0; - $zEnd = sp + 28|0; - $savedDbFlags = sp + 24|0; + $vararg_buffer11 = sp + 56|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer7 = sp + 48|0; + $vararg_buffer5 = sp + 32|0; + $vararg_buffer = sp + 40|0; + $0 = sp + 60|0; + $1 = sp + 80|0; + $pNew = sp + 76|0; + $pTab = sp + 72|0; + $iDb = sp + 68|0; + $zDb = sp + 64|0; + $zTab = sp + 84|0; + $zCol = sp + 88|0; + $pCol = sp + 92|0; + $pDflt = sp + 96|0; + $db = sp + 100|0; + $pVal = sp + 104|0; + $zEnd = sp + 108|0; + $savedDbFlags = sp + 112|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pColDef; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 64|0); + $5 = ((($4)) + 64|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0); if ($7) { STACKTOP = sp;return; } $8 = HEAP32[$db>>2]|0; - $9 = (($8) + 64|0); + $9 = ((($8)) + 64|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = ($11|0)!=(0); @@ -82771,38 +81813,38 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { STACKTOP = sp;return; } $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 484|0); + $14 = ((($13)) + 484|0); $15 = HEAP32[$14>>2]|0; HEAP32[$pNew>>2] = $15; $16 = HEAP32[$db>>2]|0; $17 = HEAP32[$pNew>>2]|0; - $18 = (($17) + 68|0); + $18 = ((($17)) + 68|0); $19 = HEAP32[$18>>2]|0; $20 = (_sqlite3SchemaToIndex($16,$19)|0); HEAP32[$iDb>>2] = $20; $21 = HEAP32[$iDb>>2]|0; $22 = HEAP32[$db>>2]|0; - $23 = (($22) + 16|0); + $23 = ((($22)) + 16|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + ($21<<4)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$zDb>>2] = $26; $27 = HEAP32[$pNew>>2]|0; $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); HEAP32[$zTab>>2] = $29; $30 = HEAP32[$pNew>>2]|0; - $31 = (($30) + 38|0); + $31 = ((($30)) + 38|0); $32 = HEAP16[$31>>1]|0; $33 = $32 << 16 >> 16; $34 = (($33) - 1)|0; $35 = HEAP32[$pNew>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + (($34*24)|0)|0); HEAP32[$pCol>>2] = $38; $39 = HEAP32[$pCol>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; HEAP32[$pDflt>>2] = $41; $42 = HEAP32[$db>>2]|0; @@ -82831,33 +81873,33 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { } } $58 = HEAP32[$pCol>>2]|0; - $59 = (($58) + 23|0); + $59 = ((($58)) + 23|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = $61 & 1; $63 = ($62|0)!=(0); if ($63) { $64 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($64,15184,$vararg_buffer13); + _sqlite3ErrorMsg($64,19606,$vararg_buffer); STACKTOP = sp;return; } $65 = HEAP32[$pNew>>2]|0; - $66 = (($65) + 8|0); + $66 = ((($65)) + 8|0); $67 = HEAP32[$66>>2]|0; $68 = ($67|0)!=(0|0); if ($68) { $69 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($69,15216,$vararg_buffer13); + _sqlite3ErrorMsg($69,19638,$vararg_buffer5); STACKTOP = sp;return; } $70 = HEAP32[$db>>2]|0; - $71 = (($70) + 24|0); + $71 = ((($70)) + 24|0); $72 = HEAP32[$71>>2]|0; $73 = $72 & 524288; $74 = ($73|0)!=(0); if ($74) { $75 = HEAP32[$pNew>>2]|0; - $76 = (($75) + 16|0); + $76 = ((($75)) + 16|0); $77 = HEAP32[$76>>2]|0; $78 = ($77|0)!=(0|0); $79 = HEAP32[$pDflt>>2]|0; @@ -82865,12 +81907,12 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $or$cond = $78 & $80; if ($or$cond) { $81 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($81,15248,$vararg_buffer13); + _sqlite3ErrorMsg($81,19665,$vararg_buffer7); STACKTOP = sp;return; } } $82 = HEAP32[$pCol>>2]|0; - $83 = (($82) + 20|0); + $83 = ((($82)) + 20|0); $84 = HEAP8[$83>>0]|0; $85 = $84&255; $86 = ($85|0)==(0); @@ -82879,7 +81921,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $or$cond3 = $86 | $88; if (!($or$cond3)) { $89 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($89,15312,$vararg_buffer13); + _sqlite3ErrorMsg($89,19724,$vararg_buffer9); STACKTOP = sp;return; } $90 = HEAP32[$pDflt>>2]|0; @@ -82893,7 +81935,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $95 = ($94|0)!=(0); if ($95) { $96 = HEAP32[$db>>2]|0; - $97 = (($96) + 64|0); + $97 = ((($96)) + 64|0); HEAP8[$97>>0] = 1; STACKTOP = sp;return; } @@ -82905,7 +81947,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { break; } $100 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($100,15368,$vararg_buffer13); + _sqlite3ErrorMsg($100,19777,$vararg_buffer11); STACKTOP = sp;return; } } while(0); @@ -82913,7 +81955,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $103 = HEAP32[$1>>2]|0; $104 = HEAP32[$103>>2]|0; $105 = HEAP32[$1>>2]|0; - $106 = (($105) + 4|0); + $106 = ((($105)) + 4|0); $107 = HEAP32[$106>>2]|0; $108 = (_sqlite3DbStrNDup($102,$104,$107,0)|0); HEAP32[$zCol>>2] = $108; @@ -82921,14 +81963,14 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $110 = ($109|0)!=(0|0); if ($110) { $111 = HEAP32[$1>>2]|0; - $112 = (($111) + 4|0); + $112 = ((($111)) + 4|0); $113 = HEAP32[$112>>2]|0; $114 = (($113) - 1)|0; $115 = HEAP32[$zCol>>2]|0; $116 = (($115) + ($114)|0); HEAP32[$zEnd>>2] = $116; $117 = HEAP32[$db>>2]|0; - $118 = (($117) + 24|0); + $118 = ((($117)) + 24|0); $119 = HEAP32[$118>>2]|0; HEAP32[$savedDbFlags>>2] = $119; while(1) { @@ -82946,7 +81988,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $127 = HEAP32[$zEnd>>2]|0; $128 = HEAP8[$127>>0]|0; $129 = $128&255; - $130 = (1224 + ($129)|0); + $130 = (14426 + ($129)|0); $131 = HEAP8[$130>>0]|0; $132 = $131&255; $133 = $132 & 1; @@ -82956,12 +81998,12 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { } } $135 = HEAP32[$zEnd>>2]|0; - $136 = (($135) + -1|0); + $136 = ((($135)) + -1|0); HEAP32[$zEnd>>2] = $136; HEAP8[$135>>0] = 0; } $137 = HEAP32[$db>>2]|0; - $138 = (($137) + 24|0); + $138 = ((($137)) + 24|0); $139 = HEAP32[$138>>2]|0; $140 = $139 | 2097152; HEAP32[$138>>2] = $140; @@ -82969,34 +82011,34 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $142 = HEAP32[$zDb>>2]|0; $143 = HEAP32[$iDb>>2]|0; $144 = ($143|0)==(1); - $145 = $144 ? 14904 : 14928; + $145 = $144 ? 19269 : 19288; $146 = HEAP32[$pNew>>2]|0; - $147 = (($146) + 48|0); + $147 = ((($146)) + 48|0); $148 = HEAP32[$147>>2]|0; $149 = HEAP32[$zCol>>2]|0; $150 = HEAP32[$pNew>>2]|0; - $151 = (($150) + 48|0); + $151 = ((($150)) + 48|0); $152 = HEAP32[$151>>2]|0; $153 = (($152) + 1)|0; $154 = HEAP32[$zTab>>2]|0; HEAP32[$vararg_buffer13>>2] = $142; - $vararg_ptr15 = (($vararg_buffer13) + 4|0); + $vararg_ptr15 = ((($vararg_buffer13)) + 4|0); HEAP32[$vararg_ptr15>>2] = $145; - $vararg_ptr16 = (($vararg_buffer13) + 8|0); + $vararg_ptr16 = ((($vararg_buffer13)) + 8|0); HEAP32[$vararg_ptr16>>2] = $148; - $vararg_ptr17 = (($vararg_buffer13) + 12|0); + $vararg_ptr17 = ((($vararg_buffer13)) + 12|0); HEAP32[$vararg_ptr17>>2] = $149; - $vararg_ptr18 = (($vararg_buffer13) + 16|0); + $vararg_ptr18 = ((($vararg_buffer13)) + 16|0); HEAP32[$vararg_ptr18>>2] = $153; - $vararg_ptr19 = (($vararg_buffer13) + 20|0); + $vararg_ptr19 = ((($vararg_buffer13)) + 20|0); HEAP32[$vararg_ptr19>>2] = $154; - _sqlite3NestedParse($141,15416,$vararg_buffer13); + _sqlite3NestedParse($141,19823,$vararg_buffer13); $155 = HEAP32[$db>>2]|0; $156 = HEAP32[$zCol>>2]|0; _sqlite3DbFree($155,$156); $157 = HEAP32[$savedDbFlags>>2]|0; $158 = HEAP32[$db>>2]|0; - $159 = (($158) + 24|0); + $159 = ((($158)) + 24|0); HEAP32[$159>>2] = $157; } $160 = HEAP32[$0>>2]|0; @@ -83022,27 +82064,29 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $db = 0, $i = 0, $iDb = 0, $nAlloc = 0, $pCol = 0, $pNew = 0, $pTab = 0, $v = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + var $db = 0, $i = 0, $iDb = 0, $nAlloc = 0, $pCol = 0, $pNew = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 64|0; $vararg_buffer3 = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; + $vararg_buffer1 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 28|0; + $1 = sp + 20|0; $pNew = sp + 32|0; - $pTab = sp + 28|0; - $v = sp + 24|0; - $iDb = sp + 20|0; - $i = sp + 16|0; - $nAlloc = sp + 12|0; - $db = sp + 8|0; - $pCol = sp + 4|0; + $pTab = sp + 24|0; + $v = sp + 36|0; + $iDb = sp + 40|0; + $i = sp + 44|0; + $nAlloc = sp + 48|0; + $db = sp + 52|0; + $pCol = sp + 56|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSrc; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = (($4) + 64|0); + $5 = ((($4)) + 64|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); if ($7) { @@ -83053,7 +82097,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { } $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = (_sqlite3LocateTableItem($8,0,$10)|0); HEAP32[$pTab>>2] = $11; $12 = HEAP32[$pTab>>2]|0; @@ -83065,26 +82109,26 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { STACKTOP = sp;return; } $14 = HEAP32[$pTab>>2]|0; - $15 = (($14) + 44|0); + $15 = ((($14)) + 44|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = $17 & 16; $19 = ($18|0)!=(0); if ($19) { $20 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($20,14976,$vararg_buffer3); + _sqlite3ErrorMsg($20,19417,$vararg_buffer); $138 = HEAP32[$db>>2]|0; $139 = HEAP32[$1>>2]|0; _sqlite3SrcListDelete($138,$139); STACKTOP = sp;return; } $21 = HEAP32[$pTab>>2]|0; - $22 = (($21) + 12|0); + $22 = ((($21)) + 12|0); $23 = HEAP32[$22>>2]|0; $24 = ($23|0)!=(0|0); $25 = HEAP32[$0>>2]|0; if ($24) { - _sqlite3ErrorMsg($25,15016,$vararg_buffer3); + _sqlite3ErrorMsg($25,19451,$vararg_buffer1); $138 = HEAP32[$db>>2]|0; $139 = HEAP32[$1>>2]|0; _sqlite3SrcListDelete($138,$139); @@ -83102,7 +82146,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { } $30 = HEAP32[$db>>2]|0; $31 = HEAP32[$pTab>>2]|0; - $32 = (($31) + 68|0); + $32 = ((($31)) + 68|0); $33 = HEAP32[$32>>2]|0; $34 = (_sqlite3SchemaToIndex($30,$33)|0); HEAP32[$iDb>>2] = $34; @@ -83119,19 +82163,19 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { } $39 = HEAP32[$pNew>>2]|0; $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 484|0); + $41 = ((($40)) + 484|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$pNew>>2]|0; - $43 = (($42) + 40|0); + $43 = ((($42)) + 40|0); HEAP16[$43>>1] = 1; $44 = HEAP32[$pTab>>2]|0; - $45 = (($44) + 38|0); + $45 = ((($44)) + 38|0); $46 = HEAP16[$45>>1]|0; $47 = HEAP32[$pNew>>2]|0; - $48 = (($47) + 38|0); + $48 = ((($47)) + 38|0); HEAP16[$48>>1] = $46; $49 = HEAP32[$pNew>>2]|0; - $50 = (($49) + 38|0); + $50 = ((($49)) + 38|0); $51 = HEAP16[$50>>1]|0; $52 = $51 << 16 >> 16; $53 = (($52) - 1)|0; @@ -83144,17 +82188,17 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $59 = ($58*24)|0; $60 = (_sqlite3DbMallocZero($57,$59,0)|0); $61 = HEAP32[$pNew>>2]|0; - $62 = (($61) + 4|0); + $62 = ((($61)) + 4|0); HEAP32[$62>>2] = $60; $63 = HEAP32[$db>>2]|0; $64 = HEAP32[$pTab>>2]|0; $65 = HEAP32[$64>>2]|0; HEAP32[$vararg_buffer3>>2] = $65; - $66 = (_sqlite3MPrintf($63,15048,$vararg_buffer3)|0); + $66 = (_sqlite3MPrintf($63,19481,$vararg_buffer3)|0); $67 = HEAP32[$pNew>>2]|0; HEAP32[$67>>2] = $66; $68 = HEAP32[$pNew>>2]|0; - $69 = (($68) + 4|0); + $69 = ((($68)) + 4|0); $70 = HEAP32[$69>>2]|0; $71 = ($70|0)!=(0|0); if ($71) { @@ -83163,13 +82207,13 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $74 = ($73|0)!=(0|0); if ($74) { $77 = HEAP32[$pNew>>2]|0; - $78 = (($77) + 4|0); + $78 = ((($77)) + 4|0); $79 = HEAP32[$78>>2]|0; $80 = HEAP32[$pTab>>2]|0; - $81 = (($80) + 4|0); + $81 = ((($80)) + 4|0); $82 = HEAP32[$81>>2]|0; $83 = HEAP32[$pNew>>2]|0; - $84 = (($83) + 38|0); + $84 = ((($83)) + 38|0); $85 = HEAP16[$84>>1]|0; $86 = $85 << 16 >> 16; $87 = ($86*24)|0; @@ -83178,7 +82222,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { while(1) { $88 = HEAP32[$i>>2]|0; $89 = HEAP32[$pNew>>2]|0; - $90 = (($89) + 38|0); + $90 = ((($89)) + 38|0); $91 = HEAP16[$90>>1]|0; $92 = $91 << 16 >> 16; $93 = ($88|0)<($92|0); @@ -83187,7 +82231,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { } $94 = HEAP32[$i>>2]|0; $95 = HEAP32[$pNew>>2]|0; - $96 = (($95) + 4|0); + $96 = ((($95)) + 4|0); $97 = HEAP32[$96>>2]|0; $98 = (($97) + (($94*24)|0)|0); HEAP32[$pCol>>2] = $98; @@ -83198,16 +82242,16 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $103 = HEAP32[$pCol>>2]|0; HEAP32[$103>>2] = $102; $104 = HEAP32[$pCol>>2]|0; - $105 = (($104) + 16|0); + $105 = ((($104)) + 16|0); HEAP32[$105>>2] = 0; $106 = HEAP32[$pCol>>2]|0; - $107 = (($106) + 12|0); + $107 = ((($106)) + 12|0); HEAP32[$107>>2] = 0; $108 = HEAP32[$pCol>>2]|0; - $109 = (($108) + 4|0); + $109 = ((($108)) + 4|0); HEAP32[$109>>2] = 0; $110 = HEAP32[$pCol>>2]|0; - $111 = (($110) + 8|0); + $111 = ((($110)) + 8|0); HEAP32[$111>>2] = 0; $112 = HEAP32[$i>>2]|0; $113 = (($112) + 1)|0; @@ -83215,22 +82259,22 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { } $114 = HEAP32[$iDb>>2]|0; $115 = HEAP32[$db>>2]|0; - $116 = (($115) + 16|0); + $116 = ((($115)) + 16|0); $117 = HEAP32[$116>>2]|0; $118 = (($117) + ($114<<4)|0); - $119 = (($118) + 12|0); + $119 = ((($118)) + 12|0); $120 = HEAP32[$119>>2]|0; $121 = HEAP32[$pNew>>2]|0; - $122 = (($121) + 68|0); + $122 = ((($121)) + 68|0); HEAP32[$122>>2] = $120; $123 = HEAP32[$pTab>>2]|0; - $124 = (($123) + 48|0); + $124 = ((($123)) + 48|0); $125 = HEAP32[$124>>2]|0; $126 = HEAP32[$pNew>>2]|0; - $127 = (($126) + 48|0); + $127 = ((($126)) + 48|0); HEAP32[$127>>2] = $125; $128 = HEAP32[$pNew>>2]|0; - $129 = (($128) + 40|0); + $129 = ((($128)) + 40|0); HEAP16[$129>>1] = 1; $130 = HEAP32[$0>>2]|0; $131 = HEAP32[$iDb>>2]|0; @@ -83256,7 +82300,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { } } $75 = HEAP32[$db>>2]|0; - $76 = (($75) + 64|0); + $76 = ((($75)) + 64|0); HEAP8[$76>>0] = 1; $138 = HEAP32[$db>>2]|0; $139 = HEAP32[$1>>2]|0; @@ -83271,25 +82315,28 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $pOld = 0, $pSchema = 0, $pTab = 0, $v = 0, $vararg_buffer9 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zName = 0, $zStmt = 0, $zWhere = 0, label = 0, sp = 0; + var $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $pOld = 0, $pSchema = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer9 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zName = 0, $zStmt = 0, $zWhere = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $vararg_buffer9 = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $pTab = sp + 56|0; - $db = sp + 52|0; + $vararg_buffer9 = sp + 32|0; + $vararg_buffer1 = sp; + $vararg_buffer = sp + 24|0; + $0 = sp + 44|0; + $1 = sp + 52|0; + $pTab = sp + 36|0; + $db = sp + 40|0; $zStmt = sp + 48|0; - $zWhere = sp + 44|0; - $iDb = sp + 40|0; - $v = sp + 36|0; - $pOld = sp + 32|0; - $pSchema = sp + 28|0; - $zName = sp + 24|0; + $zWhere = sp + 56|0; + $iDb = sp + 60|0; + $v = sp + 64|0; + $pOld = sp + 68|0; + $pSchema = sp + 72|0; + $zName = sp + 76|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pEnd; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 484|0); + $3 = ((($2)) + 484|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pTab>>2] = $4; $5 = HEAP32[$0>>2]|0; @@ -83303,18 +82350,18 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $9 = HEAP32[$0>>2]|0; _addArgumentToVtab($9); $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 512|0); + $11 = ((($10)) + 512|0); HEAP32[$11>>2] = 0; $12 = HEAP32[$pTab>>2]|0; - $13 = (($12) + 52|0); + $13 = ((($12)) + 52|0); $14 = HEAP32[$13>>2]|0; $15 = ($14|0)<(1); if ($15) { STACKTOP = sp;return; } $16 = HEAP32[$db>>2]|0; - $17 = (($16) + 140|0); - $18 = (($17) + 5|0); + $17 = ((($16)) + 140|0); + $18 = ((($17)) + 5|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)!=(0); if (!($20)) { @@ -83324,62 +82371,62 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 496|0); + $26 = ((($25)) + 496|0); $27 = HEAP32[$26>>2]|0; $28 = $24; $29 = $27; $30 = (($28) - ($29))|0; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 4|0); + $32 = ((($31)) + 4|0); $33 = HEAP32[$32>>2]|0; $34 = (($30) + ($33))|0; $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 496|0); - $37 = (($36) + 4|0); + $36 = ((($35)) + 496|0); + $37 = ((($36)) + 4|0); HEAP32[$37>>2] = $34; } $38 = HEAP32[$db>>2]|0; $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 496|0); - HEAP32[$vararg_buffer9>>2] = $40; - $41 = (_sqlite3MPrintf($38,14792,$vararg_buffer9)|0); + $40 = ((($39)) + 496|0); + HEAP32[$vararg_buffer>>2] = $40; + $41 = (_sqlite3MPrintf($38,19245,$vararg_buffer)|0); HEAP32[$zStmt>>2] = $41; $42 = HEAP32[$db>>2]|0; $43 = HEAP32[$pTab>>2]|0; - $44 = (($43) + 68|0); + $44 = ((($43)) + 68|0); $45 = HEAP32[$44>>2]|0; $46 = (_sqlite3SchemaToIndex($42,$45)|0); HEAP32[$iDb>>2] = $46; $47 = HEAP32[$0>>2]|0; $48 = HEAP32[$iDb>>2]|0; $49 = HEAP32[$db>>2]|0; - $50 = (($49) + 16|0); + $50 = ((($49)) + 16|0); $51 = HEAP32[$50>>2]|0; $52 = (($51) + ($48<<4)|0); $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$iDb>>2]|0; $55 = ($54|0)==(1); - $56 = $55 ? 14904 : 14928; + $56 = $55 ? 19269 : 19288; $57 = HEAP32[$pTab>>2]|0; $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$pTab>>2]|0; $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$zStmt>>2]|0; $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 384|0); + $63 = ((($62)) + 384|0); $64 = HEAP32[$63>>2]|0; - HEAP32[$vararg_buffer9>>2] = $53; - $vararg_ptr4 = (($vararg_buffer9) + 4|0); + HEAP32[$vararg_buffer1>>2] = $53; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $56; - $vararg_ptr5 = (($vararg_buffer9) + 8|0); + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); HEAP32[$vararg_ptr5>>2] = $58; - $vararg_ptr6 = (($vararg_buffer9) + 12|0); + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $60; - $vararg_ptr7 = (($vararg_buffer9) + 16|0); + $vararg_ptr7 = ((($vararg_buffer1)) + 16|0); HEAP32[$vararg_ptr7>>2] = $61; - $vararg_ptr8 = (($vararg_buffer9) + 20|0); + $vararg_ptr8 = ((($vararg_buffer1)) + 20|0); HEAP32[$vararg_ptr8>>2] = $64; - _sqlite3NestedParse($47,14816,$vararg_buffer9); + _sqlite3NestedParse($47,19302,$vararg_buffer1); $65 = HEAP32[$db>>2]|0; $66 = HEAP32[$zStmt>>2]|0; _sqlite3DbFree($65,$66); @@ -83395,7 +82442,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $73 = HEAP32[$pTab>>2]|0; $74 = HEAP32[$73>>2]|0; HEAP32[$vararg_buffer9>>2] = $74; - $75 = (_sqlite3MPrintf($72,14944,$vararg_buffer9)|0); + $75 = (_sqlite3MPrintf($72,19390,$vararg_buffer9)|0); HEAP32[$zWhere>>2] = $75; $76 = HEAP32[$v>>2]|0; $77 = HEAP32[$iDb>>2]|0; @@ -83413,14 +82460,14 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { STACKTOP = sp;return; } $87 = HEAP32[$pTab>>2]|0; - $88 = (($87) + 68|0); + $88 = ((($87)) + 68|0); $89 = HEAP32[$88>>2]|0; HEAP32[$pSchema>>2] = $89; $90 = HEAP32[$pTab>>2]|0; $91 = HEAP32[$90>>2]|0; HEAP32[$zName>>2] = $91; $92 = HEAP32[$pSchema>>2]|0; - $93 = (($92) + 8|0); + $93 = ((($92)) + 8|0); $94 = HEAP32[$zName>>2]|0; $95 = HEAP32[$pTab>>2]|0; $96 = (_sqlite3HashInsert($93,$94,$95)|0); @@ -83429,12 +82476,12 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $98 = ($97|0)!=(0|0); if ($98) { $99 = HEAP32[$db>>2]|0; - $100 = (($99) + 64|0); + $100 = ((($99)) + 64|0); HEAP8[$100>>0] = 1; STACKTOP = sp;return; } else { $101 = HEAP32[$0>>2]|0; - $102 = (($101) + 484|0); + $102 = ((($101)) + 484|0); HEAP32[$102>>2] = 0; STACKTOP = sp;return; } @@ -83451,14 +82498,14 @@ function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExist var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $pTable = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $iDb = sp + 8|0; - $pTable = sp + 4|0; - $db = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $iDb = sp; + $pTable = sp + 12|0; + $db = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName1; HEAP32[$2>>2] = $pName2; @@ -83470,7 +82517,7 @@ function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExist $8 = HEAP32[$4>>2]|0; _sqlite3StartTable($5,$6,$7,0,0,1,$8); $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 484|0); + $10 = ((($9)) + 484|0); $11 = HEAP32[$10>>2]|0; HEAP32[$pTable>>2] = $11; $12 = HEAP32[$pTable>>2]|0; @@ -83483,19 +82530,19 @@ function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExist HEAP32[$db>>2] = $15; $16 = HEAP32[$db>>2]|0; $17 = HEAP32[$pTable>>2]|0; - $18 = (($17) + 68|0); + $18 = ((($17)) + 68|0); $19 = HEAP32[$18>>2]|0; $20 = (_sqlite3SchemaToIndex($16,$19)|0); HEAP32[$iDb>>2] = $20; $21 = HEAP32[$pTable>>2]|0; - $22 = (($21) + 44|0); + $22 = ((($21)) + 44|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = $24 | 16; $26 = $25&255; HEAP8[$22>>0] = $26; $27 = HEAP32[$pTable>>2]|0; - $28 = (($27) + 52|0); + $28 = ((($27)) + 52|0); HEAP32[$28>>2] = 0; $29 = HEAP32[$db>>2]|0; $30 = HEAP32[$pTable>>2]|0; @@ -83514,7 +82561,7 @@ function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExist $41 = (_sqlite3DbStrDup($38,$40)|0); _addModuleArgument($36,$37,$41); $42 = HEAP32[$3>>2]|0; - $43 = (($42) + 4|0); + $43 = ((($42)) + 4|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$3>>2]|0; $46 = HEAP32[$45>>2]|0; @@ -83525,11 +82572,11 @@ function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExist $51 = $49; $52 = (($50) - ($51))|0; $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 496|0); - $55 = (($54) + 4|0); + $54 = ((($53)) + 496|0); + $55 = ((($54)) + 4|0); HEAP32[$55>>2] = $52; $56 = HEAP32[$pTable>>2]|0; - $57 = (($56) + 56|0); + $57 = ((($56)) + 56|0); $58 = HEAP32[$57>>2]|0; $59 = ($58|0)!=(0|0); if (!($59)) { @@ -83539,13 +82586,13 @@ function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExist $61 = HEAP32[$pTable>>2]|0; $62 = HEAP32[$61>>2]|0; $63 = HEAP32[$pTable>>2]|0; - $64 = (($63) + 56|0); + $64 = ((($63)) + 56|0); $65 = HEAP32[$64>>2]|0; $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$iDb>>2]|0; $68 = HEAP32[$0>>2]|0; $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 16|0); + $70 = ((($69)) + 16|0); $71 = HEAP32[$70>>2]|0; $72 = (($71) + ($67<<4)|0); $73 = HEAP32[$72>>2]|0; @@ -83562,11 +82609,11 @@ function _sqlite3VtabArgInit($pParse) { $1 = HEAP32[$0>>2]|0; _addArgumentToVtab($1); $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 512|0); + $3 = ((($2)) + 512|0); HEAP32[$3>>2] = 0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 512|0); - $6 = (($5) + 4|0); + $5 = ((($4)) + 512|0); + $6 = ((($5)) + 4|0); HEAP32[$6>>2] = 0; STACKTOP = sp;return; } @@ -83583,7 +82630,7 @@ function _sqlite3VtabArgExtend($pParse,$p) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 512|0); + $3 = ((($2)) + 512|0); HEAP32[$pArg>>2] = $3; $4 = HEAP32[$pArg>>2]|0; $5 = HEAP32[$4>>2]|0; @@ -83594,14 +82641,14 @@ function _sqlite3VtabArgExtend($pParse,$p) { $9 = HEAP32[$pArg>>2]|0; HEAP32[$9>>2] = $8; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$pArg>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); HEAP32[$14>>2] = $12; STACKTOP = sp;return; } else { - $15 = (($7) + 4|0); + $15 = ((($7)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$17>>2]|0; @@ -83612,7 +82659,7 @@ function _sqlite3VtabArgExtend($pParse,$p) { $23 = $21; $24 = (($22) - ($23))|0; $25 = HEAP32[$pArg>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); HEAP32[$26>>2] = $24; STACKTOP = sp;return; } @@ -83631,16 +82678,16 @@ function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $db = sp + 20|0; - $pNew = sp + 16|0; - $zName = sp + 12|0; - $i = sp + 8|0; - $nByte = sp + 4|0; + $0 = sp + 8|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $db = sp + 12|0; + $pNew = sp + 28|0; + $zName = sp + 32|0; + $i = sp + 36|0; + $nByte = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pWith; HEAP32[$2>>2] = $pName; @@ -83673,7 +82720,7 @@ function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { $19 = HEAP32[$zName>>2]|0; $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 8|0); + $22 = ((($21)) + 8|0); $23 = (($22) + ($20<<4)|0); $24 = HEAP32[$23>>2]|0; $25 = (_sqlite3_stricmp($19,$24)|0); @@ -83682,7 +82729,7 @@ function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($27,14720,$vararg_buffer); + _sqlite3ErrorMsg($27,19177,$vararg_buffer); } $29 = HEAP32[$i>>2]|0; $30 = (($29) + 1)|0; @@ -83731,31 +82778,31 @@ function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { $55 = HEAP32[$pNew>>2]|0; $56 = HEAP32[$55>>2]|0; $57 = HEAP32[$pNew>>2]|0; - $58 = (($57) + 8|0); + $58 = ((($57)) + 8|0); $59 = (($58) + ($56<<4)|0); - $60 = (($59) + 8|0); + $60 = ((($59)) + 8|0); HEAP32[$60>>2] = $54; $61 = HEAP32[$3>>2]|0; $62 = HEAP32[$pNew>>2]|0; $63 = HEAP32[$62>>2]|0; $64 = HEAP32[$pNew>>2]|0; - $65 = (($64) + 8|0); + $65 = ((($64)) + 8|0); $66 = (($65) + ($63<<4)|0); - $67 = (($66) + 4|0); + $67 = ((($66)) + 4|0); HEAP32[$67>>2] = $61; $68 = HEAP32[$zName>>2]|0; $69 = HEAP32[$pNew>>2]|0; $70 = HEAP32[$69>>2]|0; $71 = HEAP32[$pNew>>2]|0; - $72 = (($71) + 8|0); + $72 = ((($71)) + 8|0); $73 = (($72) + ($70<<4)|0); HEAP32[$73>>2] = $68; $74 = HEAP32[$pNew>>2]|0; $75 = HEAP32[$74>>2]|0; $76 = HEAP32[$pNew>>2]|0; - $77 = (($76) + 8|0); + $77 = ((($76)) + 8|0); $78 = (($77) + ($75<<4)|0); - $79 = (($78) + 12|0); + $79 = ((($78)) + 12|0); HEAP32[$79>>2] = 0; $80 = HEAP32[$pNew>>2]|0; $81 = HEAP32[$80>>2]|0; @@ -83764,7 +82811,7 @@ function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { $83 = HEAP32[$pNew>>2]|0; STACKTOP = sp;return ($83|0); } - return 0|0; + return (0)|0; } function _yy_find_reduce_action($stateno,$iLookAhead) { $stateno = $stateno|0; @@ -83778,7 +82825,7 @@ function _yy_find_reduce_action($stateno,$iLookAhead) { HEAP32[$0>>2] = $stateno; HEAP8[$1>>0] = $iLookAhead; $2 = HEAP32[$0>>2]|0; - $3 = (11104 + ($2<<1)|0); + $3 = (8052 + ($2<<1)|0); $4 = HEAP16[$3>>1]|0; $5 = $4 << 16 >> 16; HEAP32[$i>>2] = $5; @@ -83788,7 +82835,7 @@ function _yy_find_reduce_action($stateno,$iLookAhead) { $9 = (($8) + ($7))|0; HEAP32[$i>>2] = $9; $10 = HEAP32[$i>>2]|0; - $11 = (11720 + ($10<<1)|0); + $11 = (8664 + ($10<<1)|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; STACKTOP = sp;return ($13|0); @@ -83802,7 +82849,7 @@ function _yy_accept($yypParser) { $pParse = sp; HEAP32[$0>>2] = $yypParser; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; HEAP32[$pParse>>2] = $3; while(1) { @@ -83817,7 +82864,7 @@ function _yy_accept($yypParser) { } $8 = HEAP32[$pParse>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); HEAP32[$10>>2] = $8; STACKTOP = sp;return; } @@ -83839,7 +82886,7 @@ function _sqlite3NameFromToken($db,$pName) { $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = (_sqlite3DbStrNDup($4,$6,$9,0)|0); HEAP32[$zName>>2] = $10; @@ -83852,7 +82899,172 @@ function _sqlite3NameFromToken($db,$pName) { $12 = HEAP32[$zName>>2]|0; STACKTOP = sp;return ($12|0); } - return 0|0; + return (0)|0; +} +function _sqlite3DbStrNDup($db,$z,$0,$1) { + $db = $db|0; + $z = $z|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $zNew = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp; + $zNew = sp + 8|0; + HEAP32[$3>>2] = $db; + HEAP32[$4>>2] = $z; + $6 = $5; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + $10 = HEAP32[$4>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + HEAP32[$2>>2] = 0; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = $5; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (_i64Add(($15|0),($18|0),1,0)|0); + $20 = tempRet0; + $21 = (_sqlite3DbMallocRaw($12,$19,$20)|0); + HEAP32[$zNew>>2] = $21; + $22 = HEAP32[$zNew>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$zNew>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = $5; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + _memcpy(($24|0),($25|0),($28|0))|0; + $32 = $5; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$zNew>>2]|0; + $39 = (($38) + ($34)|0); + HEAP8[$39>>0] = 0; + } + $40 = HEAP32[$zNew>>2]|0; + HEAP32[$2>>2] = $40; + $41 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($41|0); +} +function _sqlite3Dequote($z) { + $z = $z|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $quote = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $quote = sp + 16|0; + $i = sp + 4|0; + $j = sp; + HEAP32[$1>>2] = $z; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + HEAP32[$0>>2] = -1; + $45 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($45|0); + } + $4 = HEAP32[$1>>2]|0; + $5 = HEAP8[$4>>0]|0; + HEAP8[$quote>>0] = $5; + $6 = HEAP8[$quote>>0]|0; + $7 = $6 << 24 >> 24; + switch ($7|0) { + case 96: case 34: case 39: { + break; + } + case 91: { + HEAP8[$quote>>0] = 93; + break; + } + default: { + HEAP32[$0>>2] = -1; + $45 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($45|0); + } + } + HEAP32[$i>>2] = 1; + HEAP32[$j>>2] = 0; + while(1) { + $8 = HEAP32[$i>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = (($9) + ($8)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = HEAP8[$quote>>0]|0; + $14 = $13 << 24 >> 24; + $15 = ($12|0)==($14|0); + $16 = HEAP32[$i>>2]|0; + if ($15) { + $17 = (($16) + 1)|0; + $18 = HEAP32[$1>>2]|0; + $19 = (($18) + ($17)|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = HEAP8[$quote>>0]|0; + $23 = $22 << 24 >> 24; + $24 = ($21|0)==($23|0); + if (!($24)) { + break; + } + $25 = HEAP8[$quote>>0]|0; + $26 = HEAP32[$j>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[$j>>2] = $27; + $28 = HEAP32[$1>>2]|0; + $29 = (($28) + ($26)|0); + HEAP8[$29>>0] = $25; + $30 = HEAP32[$i>>2]|0; + $31 = (($30) + 1)|0; + HEAP32[$i>>2] = $31; + } else { + $32 = HEAP32[$1>>2]|0; + $33 = (($32) + ($16)|0); + $34 = HEAP8[$33>>0]|0; + $35 = HEAP32[$j>>2]|0; + $36 = (($35) + 1)|0; + HEAP32[$j>>2] = $36; + $37 = HEAP32[$1>>2]|0; + $38 = (($37) + ($35)|0); + HEAP8[$38>>0] = $34; + } + $39 = HEAP32[$i>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$i>>2] = $40; + } + $41 = HEAP32[$j>>2]|0; + $42 = HEAP32[$1>>2]|0; + $43 = (($42) + ($41)|0); + HEAP8[$43>>0] = 0; + $44 = HEAP32[$j>>2]|0; + HEAP32[$0>>2] = $44; + $45 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($45|0); } function _addArgumentToVtab($pParse) { $pParse = $pParse|0; @@ -83866,26 +83078,26 @@ function _addArgumentToVtab($pParse) { $db = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 512|0); + $2 = ((($1)) + 512|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 484|0); + $6 = ((($5)) + 484|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); if (!($8)) { STACKTOP = sp;return; } $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 512|0); + $10 = ((($9)) + 512|0); $11 = HEAP32[$10>>2]|0; HEAP32[$z>>2] = $11; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 512|0); - $14 = (($13) + 4|0); + $13 = ((($12)) + 512|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; HEAP32[$n>>2] = $15; $16 = HEAP32[$0>>2]|0; @@ -83893,7 +83105,7 @@ function _addArgumentToVtab($pParse) { HEAP32[$db>>2] = $17; $18 = HEAP32[$db>>2]|0; $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 484|0); + $20 = ((($19)) + 484|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$db>>2]|0; $23 = HEAP32[$z>>2]|0; @@ -83913,31 +83125,31 @@ function _addModuleArgument($db,$pTable,$zArg) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $azModuleArg = 0, $i = 0, $j = 0, $nBytes = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $i = sp + 12|0; - $nBytes = sp + 8|0; - $azModuleArg = sp + 4|0; - $j = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $i = sp + 24|0; + $nBytes = sp + 4|0; + $azModuleArg = sp; + $j = sp + 12|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $pTable; HEAP32[$2>>2] = $zArg; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 52|0); + $4 = ((($3)) + 52|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + 1)|0; HEAP32[$4>>2] = $6; HEAP32[$i>>2] = $5; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 52|0); + $8 = ((($7)) + 52|0); $9 = HEAP32[$8>>2]|0; $10 = (1 + ($9))|0; $11 = $10<<2; HEAP32[$nBytes>>2] = $11; $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 56|0); + $14 = ((($13)) + 56|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$nBytes>>2]|0; $17 = ($16|0)<(0); @@ -83959,7 +83171,7 @@ function _addModuleArgument($db,$pTable,$zArg) { HEAP32[$48>>2] = 0; $49 = HEAP32[$azModuleArg>>2]|0; $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 56|0); + $51 = ((($50)) + 56|0); HEAP32[$51>>2] = $49; STACKTOP = sp;return; } @@ -83974,7 +83186,7 @@ function _addModuleArgument($db,$pTable,$zArg) { } $26 = HEAP32[$j>>2]|0; $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 56|0); + $28 = ((($27)) + 56|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + ($26<<2)|0); $31 = HEAP32[$30>>2]|0; @@ -83987,15 +83199,15 @@ function _addModuleArgument($db,$pTable,$zArg) { _sqlite3DbFree($25,$34); $35 = HEAP32[$0>>2]|0; $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 56|0); + $37 = ((($36)) + 56|0); $38 = HEAP32[$37>>2]|0; _sqlite3DbFree($35,$38); $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 52|0); + $40 = ((($39)) + 52|0); HEAP32[$40>>2] = 0; $49 = HEAP32[$azModuleArg>>2]|0; $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 56|0); + $51 = ((($50)) + 56|0); HEAP32[$51>>2] = $49; STACKTOP = sp;return; } @@ -84011,14 +83223,14 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 8|0; + $3 = sp + 16|0; + $4 = sp + 4|0; $5 = sp + 12|0; - $db = sp + 8|0; - $rc = sp + 4|0; + $db = sp + 28|0; + $rc = sp + 32|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $code; HEAP32[$3>>2] = $zArg1; @@ -84028,20 +83240,20 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$db>>2]|0; - $9 = (($8) + 140|0); - $10 = (($9) + 5|0); + $9 = ((($8)) + 140|0); + $10 = ((($9)) + 5|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($12|0)!=(0); if (!($13)) { $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 451|0); + $15 = ((($14)) + 451|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = ($17|0)!=(0); if (!($18)) { $19 = HEAP32[$db>>2]|0; - $20 = (($19) + 284|0); + $20 = ((($19)) + 284|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)==(0|0); if ($22) { @@ -84050,27 +83262,27 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { STACKTOP = sp;return ($48|0); } $23 = HEAP32[$db>>2]|0; - $24 = (($23) + 284|0); + $24 = ((($23)) + 284|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$db>>2]|0; - $27 = (($26) + 288|0); + $27 = ((($26)) + 288|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$2>>2]|0; $30 = HEAP32[$3>>2]|0; $31 = HEAP32[$4>>2]|0; $32 = HEAP32[$5>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 492|0); + $34 = ((($33)) + 492|0); $35 = HEAP32[$34>>2]|0; - $36 = (FUNCTION_TABLE_iiiiiii[$25 & 1]($28,$29,$30,$31,$32,$35)|0); + $36 = (FUNCTION_TABLE_iiiiiii[$25 & 3]($28,$29,$30,$31,$32,$35)|0); HEAP32[$rc>>2] = $36; $37 = HEAP32[$rc>>2]|0; $38 = ($37|0)==(1); if ($38) { $39 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($39,14752,$vararg_buffer); + _sqlite3ErrorMsg($39,19207,$vararg_buffer); $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 12|0); + $41 = ((($40)) + 12|0); HEAP32[$41>>2] = 23; } else { $42 = HEAP32[$rc>>2]|0; @@ -84103,9 +83315,9 @@ function _sqliteAuthBadReturnCode($pParse) { $0 = sp + 4|0; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($1,14768,$vararg_buffer); + _sqlite3ErrorMsg($1,19222,$vararg_buffer); $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 12|0); + $3 = ((($2)) + 12|0); HEAP32[$3>>2] = 1; STACKTOP = sp;return; } @@ -84118,12 +83330,12 @@ function _sqlite3NestedParse($pParse,$zFormat,$varargs) { var sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp + 4|0; + $1 = sp + 12|0; $ap = sp + 16|0; - $zSql = sp + 8|0; - $zErrMsg = sp + 4|0; - $db = sp; + $zSql = sp + 32|0; + $zErrMsg = sp; + $db = sp + 8|0; $saveBuf = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $zFormat; @@ -84132,7 +83344,7 @@ function _sqlite3NestedParse($pParse,$zFormat,$varargs) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 64|0); + $5 = ((($4)) + 64|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0); if ($7) { @@ -84149,16 +83361,16 @@ function _sqlite3NestedParse($pParse,$zFormat,$varargs) { STACKTOP = sp;return; } $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 18|0); + $14 = ((($13)) + 18|0); $15 = HEAP8[$14>>0]|0; $16 = (($15) + 1)<<24>>24; HEAP8[$14>>0] = $16; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 440|0); - dest=$saveBuf+0|0; src=$18+0|0; stop=dest+96|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $18 = ((($17)) + 440|0); + dest=$saveBuf; src=$18; stop=dest+96|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 440|0); - dest=$20+0|0; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $20 = ((($19)) + 440|0); + dest=$20; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$zSql>>2]|0; (_sqlite3RunParser($21,$22,$zErrMsg)|0); @@ -84169,10 +83381,10 @@ function _sqlite3NestedParse($pParse,$zFormat,$varargs) { $26 = HEAP32[$zSql>>2]|0; _sqlite3DbFree($25,$26); $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 440|0); - dest=$28+0|0; src=$saveBuf+0|0; stop=dest+96|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $28 = ((($27)) + 440|0); + dest=$28; src=$saveBuf; stop=dest+96|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 18|0); + $30 = ((($29)) + 18|0); $31 = HEAP8[$30>>0]|0; $32 = (($31) + -1)<<24>>24; HEAP8[$30>>0] = $32; @@ -84188,7 +83400,7 @@ function _sqlite3GetVdbe($pParse) { $v = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; HEAP32[$v>>2] = $3; $4 = HEAP32[$v>>2]|0; @@ -84197,7 +83409,7 @@ function _sqlite3GetVdbe($pParse) { $6 = HEAP32[$0>>2]|0; $7 = (_sqlite3VdbeCreate($6)|0); $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); HEAP32[$9>>2] = $7; HEAP32[$v>>2] = $7; $10 = HEAP32[$v>>2]|0; @@ -84207,20 +83419,20 @@ function _sqlite3GetVdbe($pParse) { (_sqlite3VdbeAddOp0($12,153)|0); } $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 408|0); + $14 = ((($13)) + 408|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)==(0|0); if ($16) { $17 = HEAP32[$0>>2]|0; $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 60|0); + $19 = ((($18)) + 60|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = $21 & 8; $23 = ($22|0)==(0); if ($23) { $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 23|0); + $25 = ((($24)) + 23|0); HEAP8[$25>>0] = 1; } } @@ -84249,16 +83461,16 @@ function _sqlite3ChangeCookie($pParse,$iDb) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; HEAP32[$v>>2] = $8; $9 = HEAP32[$v>>2]|0; $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 16|0); + $12 = ((($11)) + 16|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + ($10<<4)|0); - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = (($17) + 1)|0; @@ -84325,7 +83537,7 @@ function _sqlite3VdbeAddParseSchemaOp($p,$iDb,$zWhere) { $9 = HEAP32[$j>>2]|0; $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); $13 = HEAP32[$12>>2]|0; $14 = ($9|0)<($13|0); if (!($14)) { @@ -84352,14 +83564,14 @@ function _sqlite3VdbeAddOp4($p,$op,$p1,$p2,$p3,$zP4,$p4type) { var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $6 = sp + 4|0; - $addr = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $5 = sp; + $6 = sp + 12|0; + $addr = sp + 24|0; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $op; HEAP32[$2>>2] = $p1; @@ -84393,27 +83605,27 @@ function _sqlite3VdbeAddOp3($p,$op,$p1,$p2,$p3) { var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pOp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $i = sp + 4|0; - $pOp = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $5 = sp; + $i = sp + 12|0; + $pOp = sp + 24|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $op; HEAP32[$3>>2] = $p1; HEAP32[$4>>2] = $p2; HEAP32[$5>>2] = $p3; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 32|0); + $7 = ((($6)) + 32|0); $8 = HEAP32[$7>>2]|0; HEAP32[$i>>2] = $8; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 24|0); + $10 = ((($9)) + 24|0); $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 84|0); + $12 = ((($11)) + 84|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$i>>2]|0; $15 = ($13|0)<=($14|0); @@ -84428,13 +83640,13 @@ function _sqlite3VdbeAddOp3($p,$op,$p1,$p2,$p3) { } } $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 32|0); + $20 = ((($19)) + 32|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + 1)|0; HEAP32[$20>>2] = $22; $23 = HEAP32[$i>>2]|0; $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 4|0); + $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + (($23*20)|0)|0); HEAP32[$pOp>>2] = $27; @@ -84443,25 +83655,25 @@ function _sqlite3VdbeAddOp3($p,$op,$p1,$p2,$p3) { $30 = HEAP32[$pOp>>2]|0; HEAP8[$30>>0] = $29; $31 = HEAP32[$pOp>>2]|0; - $32 = (($31) + 3|0); + $32 = ((($31)) + 3|0); HEAP8[$32>>0] = 0; $33 = HEAP32[$3>>2]|0; $34 = HEAP32[$pOp>>2]|0; - $35 = (($34) + 4|0); + $35 = ((($34)) + 4|0); HEAP32[$35>>2] = $33; $36 = HEAP32[$4>>2]|0; $37 = HEAP32[$pOp>>2]|0; - $38 = (($37) + 8|0); + $38 = ((($37)) + 8|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$5>>2]|0; $40 = HEAP32[$pOp>>2]|0; - $41 = (($40) + 12|0); + $41 = ((($40)) + 12|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$pOp>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); HEAP32[$43>>2] = 0; $44 = HEAP32[$pOp>>2]|0; - $45 = (($44) + 1|0); + $45 = ((($44)) + 1|0); HEAP8[$45>>0] = 0; $46 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $46; @@ -84484,16 +83696,16 @@ function _growOpArray($v,$nOp) { HEAP32[$0>>2] = $v; HEAP32[$1>>2] = $nOp; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 24|0); + $3 = ((($2)) + 24|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 84|0); + $6 = ((($5)) + 84|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0); if ($8) { $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 84|0); + $10 = ((($9)) + 84|0); $11 = HEAP32[$10>>2]|0; $12 = $11<<1; $13 = $12; @@ -84504,7 +83716,7 @@ function _growOpArray($v,$nOp) { $14 = HEAP32[$p>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$nNew>>2]|0; $20 = ($19*20)|0; @@ -84524,11 +83736,11 @@ function _growOpArray($v,$nOp) { $27 = (_sqlite3DbMallocSize($25,$26)|0); $28 = (($27>>>0) / 20)&-1; $29 = HEAP32[$p>>2]|0; - $30 = (($29) + 84|0); + $30 = ((($29)) + 84|0); HEAP32[$30>>2] = $28; $31 = HEAP32[$pNew>>2]|0; $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); HEAP32[$33>>2] = $31; $34 = HEAP32[$pNew>>2]|0; $35 = ($34|0)!=(0|0); @@ -84545,13 +83757,13 @@ function _sqlite3GetTempReg($pParse) { $1 = sp; HEAP32[$1>>2] = $pParse; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 19|0); + $3 = ((($2)) + 19|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==(0); $7 = HEAP32[$1>>2]|0; if ($6) { - $8 = (($7) + 72|0); + $8 = ((($7)) + 72|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + 1)|0; HEAP32[$8>>2] = $10; @@ -84559,20 +83771,20 @@ function _sqlite3GetTempReg($pParse) { $19 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($19|0); } else { - $11 = (($7) + 19|0); + $11 = ((($7)) + 19|0); $12 = HEAP8[$11>>0]|0; $13 = (($12) + -1)<<24>>24; HEAP8[$11>>0] = $13; $14 = $13&255; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 24|0); + $16 = ((($15)) + 24|0); $17 = (($16) + ($14<<2)|0); $18 = HEAP32[$17>>2]|0; HEAP32[$0>>2] = $18; $19 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($19|0); } - return 0|0; + return (0)|0; } function _sqlite3ReleaseTempReg($pParse,$iReg) { $pParse = $pParse|0; @@ -84593,7 +83805,7 @@ function _sqlite3ReleaseTempReg($pParse,$iReg) { STACKTOP = sp;return; } $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 19|0); + $5 = ((($4)) + 19|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = ($7|0)<(8); @@ -84602,7 +83814,7 @@ function _sqlite3ReleaseTempReg($pParse,$iReg) { } HEAP32[$i>>2] = 0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 116|0); + $10 = ((($9)) + 116|0); HEAP32[$p>>2] = $10; while(1) { $11 = HEAP32[$i>>2]|0; @@ -84612,7 +83824,7 @@ function _sqlite3ReleaseTempReg($pParse,$iReg) { break; } $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$1>>2]|0; $17 = ($15|0)==($16|0); @@ -84624,25 +83836,25 @@ function _sqlite3ReleaseTempReg($pParse,$iReg) { $21 = (($20) + 1)|0; HEAP32[$i>>2] = $21; $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 20|0); + $23 = ((($22)) + 20|0); HEAP32[$p>>2] = $23; } if ((label|0) == 6) { $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 6|0); + $19 = ((($18)) + 6|0); HEAP8[$19>>0] = 1; STACKTOP = sp;return; } else if ((label|0) == 8) { $24 = HEAP32[$1>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 19|0); + $26 = ((($25)) + 19|0); $27 = HEAP8[$26>>0]|0; $28 = (($27) + 1)<<24>>24; HEAP8[$26>>0] = $28; $29 = $27&255; $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 24|0); + $31 = ((($30)) + 24|0); $32 = (($31) + ($29<<2)|0); HEAP32[$32>>2] = $24; STACKTOP = sp;return; @@ -84692,21 +83904,21 @@ function _sqlite3LocateTableItem($pParse,$isView,$p) { $11 = HEAP32[$iDb>>2]|0; $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 16|0); + $14 = ((($13)) + 16|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + ($11<<4)|0); $17 = HEAP32[$16>>2]|0; HEAP32[$zDb>>2] = $17; } else { $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; HEAP32[$zDb>>2] = $20; } $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$zDb>>2]|0; $27 = (_sqlite3LocateTable($21,$22,$25,$26)|0); @@ -84729,13 +83941,13 @@ function _isSystemTable($pParse,$zName) { $5 = ($4|0)>(6); if ($5) { $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3_strnicmp($6,15144,7)|0); + $7 = (_sqlite3_strnicmp($6,19570,7)|0); $8 = (0)==($7|0); if ($8) { $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $10; - _sqlite3ErrorMsg($9,15152,$vararg_buffer); + _sqlite3ErrorMsg($9,19578,$vararg_buffer); HEAP32[$0>>2] = 1; $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); @@ -84761,12 +83973,12 @@ function _sqlite3BeginWriteOperation($pParse,$setStatement,$iDb) { HEAP32[$1>>2] = $setStatement; HEAP32[$2>>2] = $iDb; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 408|0); + $4 = ((($3)) + 408|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); $7 = HEAP32[$0>>2]|0; if ($6) { - $8 = (($7) + 408|0); + $8 = ((($7)) + 408|0); $9 = HEAP32[$8>>2]|0; $10 = $9; } else { @@ -84779,13 +83991,13 @@ function _sqlite3BeginWriteOperation($pParse,$setStatement,$iDb) { $13 = HEAP32[$2>>2]|0; $14 = 1 << $13; $15 = HEAP32[$pToplevel>>2]|0; - $16 = (($15) + 328|0); + $16 = ((($15)) + 328|0); $17 = HEAP32[$16>>2]|0; $18 = $17 | $14; HEAP32[$16>>2] = $18; $19 = HEAP32[$1>>2]|0; $20 = HEAP32[$pToplevel>>2]|0; - $21 = (($20) + 20|0); + $21 = ((($20)) + 20|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $23 | $19; @@ -84808,12 +84020,12 @@ function _sqlite3CodeVerifySchema($pParse,$iDb) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iDb; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 408|0); + $3 = ((($2)) + 408|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); $6 = HEAP32[$0>>2]|0; if ($5) { - $7 = (($6) + 408|0); + $7 = ((($6)) + 408|0); $8 = HEAP32[$7>>2]|0; $9 = $8; } else { @@ -84824,7 +84036,7 @@ function _sqlite3CodeVerifySchema($pParse,$iDb) { $11 = HEAP32[$10>>2]|0; HEAP32[$db>>2] = $11; $12 = HEAP32[$pToplevel>>2]|0; - $13 = (($12) + 332|0); + $13 = ((($12)) + 332|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$1>>2]|0; $16 = 1 << $15; @@ -84838,21 +84050,21 @@ function _sqlite3CodeVerifySchema($pParse,$iDb) { $21 = HEAP32[$1>>2]|0; $22 = 1 << $21; $23 = HEAP32[$pToplevel>>2]|0; - $24 = (($23) + 332|0); + $24 = ((($23)) + 332|0); $25 = HEAP32[$24>>2]|0; $26 = $25 | $22; HEAP32[$24>>2] = $26; $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$db>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + ($27<<4)|0); - $32 = (($31) + 12|0); + $32 = ((($31)) + 12|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$1>>2]|0; $36 = HEAP32[$pToplevel>>2]|0; - $37 = (($36) + 336|0); + $37 = ((($36)) + 336|0); $38 = (($37) + ($35<<2)|0); HEAP32[$38>>2] = $34; $39 = HEAP32[$1>>2]|0; @@ -84882,15 +84094,15 @@ function _sqlite3OpenTempDatabase($pParse) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 16|0); - $8 = (($7) + 4|0); + $7 = ((($6)) + 16|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if ($10) { $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 450|0); + $12 = ((($11)) + 450|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)!=(0); if (!($14)) { @@ -84903,10 +84115,10 @@ function _sqlite3OpenTempDatabase($pParse) { $20 = ($19|0)!=(0); if ($20) { $21 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($21,15072,$vararg_buffer); + _sqlite3ErrorMsg($21,19500,$vararg_buffer); $22 = HEAP32[$rc>>2]|0; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 12|0); + $24 = ((($23)) + 12|0); HEAP32[$24>>2] = $22; HEAP32[$0>>2] = 1; $39 = HEAP32[$0>>2]|0; @@ -84914,20 +84126,20 @@ function _sqlite3OpenTempDatabase($pParse) { } $25 = HEAP32[$pBt>>2]|0; $26 = HEAP32[$db>>2]|0; - $27 = (($26) + 16|0); + $27 = ((($26)) + 16|0); $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 16|0); - $30 = (($29) + 4|0); + $29 = ((($28)) + 16|0); + $30 = ((($29)) + 4|0); HEAP32[$30>>2] = $25; $31 = HEAP32[$pBt>>2]|0; $32 = HEAP32[$db>>2]|0; - $33 = (($32) + 72|0); + $33 = ((($32)) + 72|0); $34 = HEAP32[$33>>2]|0; $35 = (_sqlite3BtreeSetPageSize($31,$34,-1,0)|0); $36 = (7)==($35|0); if ($36) { $37 = HEAP32[$db>>2]|0; - $38 = (($37) + 64|0); + $38 = ((($37)) + 64|0); HEAP8[$38>>0] = 1; HEAP32[$0>>2] = 1; $39 = HEAP32[$0>>2]|0; @@ -84962,7 +84174,7 @@ function _sqlite3FindTable($db,$zName,$zDatabase) { while(1) { $3 = HEAP32[$i>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 20|0); + $5 = ((($4)) + 20|0); $6 = HEAP32[$5>>2]|0; $7 = ($3|0)<($6|0); if (!($7)) { @@ -84981,7 +84193,7 @@ function _sqlite3FindTable($db,$zName,$zDatabase) { $15 = HEAP32[$2>>2]|0; $16 = HEAP32[$j>>2]|0; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 16|0); + $18 = ((($17)) + 16|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + ($16<<4)|0); $21 = HEAP32[$20>>2]|0; @@ -84997,12 +84209,12 @@ function _sqlite3FindTable($db,$zName,$zDatabase) { label = 0; $24 = HEAP32[$j>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 16|0); + $26 = ((($25)) + 16|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + ($24<<4)|0); - $29 = (($28) + 12|0); + $29 = ((($28)) + 12|0); $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = HEAP32[$1>>2]|0; $33 = (_sqlite3HashFind($31,$32)|0); HEAP32[$p>>2] = $33; @@ -85021,7 +84233,7 @@ function _sqlite3FindTable($db,$zName,$zDatabase) { $38 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($38|0); } - return 0|0; + return (0)|0; } function _sqlite3ValueFromExpr($db,$pExpr,$enc,$affinity,$ppVal) { $db = $db|0; @@ -85058,13 +84270,13 @@ function _sqlite3MinimumFileFormat($pParse,$iDb,$minFormat) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j1 = 0, $r1 = 0, $r2 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $v = sp + 12|0; - $r1 = sp + 8|0; - $r2 = sp + 4|0; - $j1 = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $v = sp + 24|0; + $r1 = sp + 4|0; + $r2 = sp; + $j1 = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iDb; HEAP32[$2>>2] = $minFormat; @@ -85125,14 +84337,14 @@ function _reloadTableSchema($pParse,$pTab,$zName) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $v = sp + 20|0; - $zWhere = sp + 16|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 8|0; + $v = sp + 16|0; + $zWhere = sp + 4|0; $iDb = sp + 12|0; - $pTrig = sp + 8|0; - $iTrigDb = sp + 4|0; + $pTrig = sp + 28|0; + $iTrigDb = sp + 32|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $zName; @@ -85147,7 +84359,7 @@ function _reloadTableSchema($pParse,$pTab,$zName) { $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 68|0); + $10 = ((($9)) + 68|0); $11 = HEAP32[$10>>2]|0; $12 = (_sqlite3SchemaToIndex($8,$11)|0); HEAP32[$iDb>>2] = $12; @@ -85164,7 +84376,7 @@ function _reloadTableSchema($pParse,$pTab,$zName) { $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$pTrig>>2]|0; - $21 = (($20) + 20|0); + $21 = ((($20)) + 20|0); $22 = HEAP32[$21>>2]|0; $23 = (_sqlite3SchemaToIndex($19,$22)|0); HEAP32[$iTrigDb>>2] = $23; @@ -85174,7 +84386,7 @@ function _reloadTableSchema($pParse,$pTab,$zName) { $27 = HEAP32[$26>>2]|0; (_sqlite3VdbeAddOp4($24,126,$25,0,0,$27,0)|0); $28 = HEAP32[$pTrig>>2]|0; - $29 = (($28) + 32|0); + $29 = ((($28)) + 32|0); $30 = HEAP32[$29>>2]|0; HEAP32[$pTrig>>2] = $30; } @@ -85187,7 +84399,7 @@ function _reloadTableSchema($pParse,$pTab,$zName) { $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3MPrintf($36,15528,$vararg_buffer)|0); + $38 = (_sqlite3MPrintf($36,19932,$vararg_buffer)|0); HEAP32[$zWhere>>2] = $38; $39 = HEAP32[$zWhere>>2]|0; $40 = ($39|0)!=(0|0); @@ -85220,26 +84432,26 @@ function _sqlite3TriggerList($pParse,$pTab) { var $8 = 0, $9 = 0, $p = 0, $pList = 0, $pTmpSchema = 0, $pTrig = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pTmpSchema = sp + 12|0; - $pList = sp + 8|0; - $p = sp + 4|0; - $pTrig = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $pTmpSchema = sp + 24|0; + $pList = sp + 4|0; + $p = sp; + $pTrig = sp + 12|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTab; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 16|0); - $8 = (($7) + 12|0); + $7 = ((($6)) + 16|0); + $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; HEAP32[$pTmpSchema>>2] = $9; HEAP32[$pList>>2] = 0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 438|0); + $11 = ((($10)) + 438|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)!=(0); if ($13) { @@ -85249,14 +84461,14 @@ function _sqlite3TriggerList($pParse,$pTab) { } $14 = HEAP32[$pTmpSchema>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 68|0); + $16 = ((($15)) + 68|0); $17 = HEAP32[$16>>2]|0; $18 = ($14|0)!=($17|0); L5: do { if ($18) { $19 = HEAP32[$pTmpSchema>>2]|0; - $20 = (($19) + 40|0); - $21 = (($20) + 8|0); + $20 = ((($19)) + 40|0); + $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; HEAP32[$p>>2] = $22; while(1) { @@ -85266,19 +84478,19 @@ function _sqlite3TriggerList($pParse,$pTab) { break L5; } $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); $27 = HEAP32[$26>>2]|0; HEAP32[$pTrig>>2] = $27; $28 = HEAP32[$pTrig>>2]|0; - $29 = (($28) + 24|0); + $29 = ((($28)) + 24|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$2>>2]|0; - $32 = (($31) + 68|0); + $32 = ((($31)) + 68|0); $33 = HEAP32[$32>>2]|0; $34 = ($30|0)==($33|0); if ($34) { $35 = HEAP32[$pTrig>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$38>>2]|0; @@ -85292,12 +84504,12 @@ function _sqlite3TriggerList($pParse,$pTab) { $50 = $44; } else { $45 = HEAP32[$2>>2]|0; - $46 = (($45) + 64|0); + $46 = ((($45)) + 64|0); $47 = HEAP32[$46>>2]|0; $50 = $47; } $48 = HEAP32[$pTrig>>2]|0; - $49 = (($48) + 32|0); + $49 = ((($48)) + 32|0); HEAP32[$49>>2] = $50; $51 = HEAP32[$pTrig>>2]|0; HEAP32[$pList>>2] = $51; @@ -85316,7 +84528,7 @@ function _sqlite3TriggerList($pParse,$pTab) { $60 = $56; } else { $57 = HEAP32[$2>>2]|0; - $58 = (($57) + 64|0); + $58 = ((($57)) + 64|0); $59 = HEAP32[$58>>2]|0; $60 = $59; } @@ -85333,26 +84545,26 @@ function _whereTempTriggers($pParse,$pTab) { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $pTrig = sp + 20|0; - $zWhere = sp + 16|0; - $pTempSchema = sp + 12|0; - $db = sp + 8|0; - $zNew = sp + 4|0; + $0 = sp + 8|0; + $1 = sp + 20|0; + $pTrig = sp + 16|0; + $zWhere = sp + 24|0; + $pTempSchema = sp + 4|0; + $db = sp + 12|0; + $zNew = sp + 28|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$zWhere>>2] = 0; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 16|0); + $4 = ((($3)) + 16|0); $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 16|0); - $7 = (($6) + 12|0); + $6 = ((($5)) + 16|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pTempSchema>>2] = $8; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 68|0); + $10 = ((($9)) + 68|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$pTempSchema>>2]|0; $13 = ($11|0)!=($12|0); @@ -85372,7 +84584,7 @@ function _whereTempTriggers($pParse,$pTab) { break L1; } $21 = HEAP32[$pTrig>>2]|0; - $22 = (($21) + 20|0); + $22 = ((($21)) + 20|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$pTempSchema>>2]|0; $25 = ($23|0)==($24|0); @@ -85385,7 +84597,7 @@ function _whereTempTriggers($pParse,$pTab) { HEAP32[$zWhere>>2] = $30; } $31 = HEAP32[$pTrig>>2]|0; - $32 = (($31) + 32|0); + $32 = ((($31)) + 32|0); $33 = HEAP32[$32>>2]|0; HEAP32[$pTrig>>2] = $33; } @@ -85401,7 +84613,7 @@ function _whereTempTriggers($pParse,$pTab) { $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$zWhere>>2]|0; HEAP32[$vararg_buffer>>2] = $38; - $39 = (_sqlite3MPrintf($37,15544,$vararg_buffer)|0); + $39 = (_sqlite3MPrintf($37,19944,$vararg_buffer)|0); HEAP32[$zNew>>2] = $39; $40 = HEAP32[$0>>2]|0; $41 = HEAP32[$40>>2]|0; @@ -85416,14 +84628,15 @@ function _whereOrName($db,$zWhere,$zConstant) { $db = $db|0; $zWhere = $zWhere|0; $zConstant = $zConstant|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $zNew = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $zNew = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $zNew = sp + 8|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $zNew = sp + 16|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $zWhere; HEAP32[$2>>2] = $zConstant; @@ -85434,9 +84647,9 @@ function _whereOrName($db,$zWhere,$zConstant) { $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer1>>2] = $8; - $vararg_ptr4 = (($vararg_buffer1) + 4|0); + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; - $10 = (_sqlite3MPrintf($5,15576,$vararg_buffer1)|0); + $10 = (_sqlite3MPrintf($5,19976,$vararg_buffer1)|0); HEAP32[$zNew>>2] = $10; $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$1>>2]|0; @@ -85445,13 +84658,13 @@ function _whereOrName($db,$zWhere,$zConstant) { STACKTOP = sp;return ($13|0); } else { $6 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer1>>2] = $6; - $7 = (_sqlite3MPrintf($5,15568,$vararg_buffer1)|0); + HEAP32[$vararg_buffer>>2] = $6; + $7 = (_sqlite3MPrintf($5,19968,$vararg_buffer)|0); HEAP32[$zNew>>2] = $7; $13 = HEAP32[$zNew>>2]|0; STACKTOP = sp;return ($13|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeJumpHere($p,$addr) { $p = $p|0; @@ -85466,17 +84679,17 @@ function _sqlite3VdbeJumpHere($p,$addr) { $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 32|0); + $5 = ((($4)) + 32|0); $6 = HEAP32[$5>>2]|0; _sqlite3VdbeChangeP2($2,$3,$6); $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 32|0); + $8 = ((($7)) + 32|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) - 1)|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 24|0); + $12 = ((($11)) + 24|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 88|0); + $14 = ((($13)) + 88|0); HEAP32[$14>>2] = $10; STACKTOP = sp;return; } @@ -85503,21 +84716,21 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 58|0; - $4 = sp + 57|0; - $5 = sp + 40|0; - $6 = sp + 36|0; - $op = sp + 32|0; - $zVal = sp + 28|0; - $pVal = sp + 24|0; - $negInt = sp + 20|0; + $0 = sp + 8|0; + $1 = sp + 40|0; + $2 = sp + 20|0; + $3 = sp + 56|0; + $4 = sp + 58|0; + $5 = sp + 48|0; + $6 = sp + 32|0; + $op = sp + 36|0; + $zVal = sp + 12|0; + $pVal = sp + 28|0; + $negInt = sp + 24|0; $zNeg = sp + 16|0; - $rc = sp + 12|0; - $aff = sp + 56|0; - $nVal = sp + 8|0; + $rc = sp + 44|0; + $aff = sp + 57|0; + $nVal = sp + 52|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pExpr; HEAP8[$3>>0] = $enc; @@ -85527,7 +84740,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { HEAP32[$zVal>>2] = 0; HEAP32[$pVal>>2] = 0; HEAP32[$negInt>>2] = 1; - HEAP32[$zNeg>>2] = 1216; + HEAP32[$zNeg>>2] = 14425; HEAP32[$rc>>2] = 0; $7 = HEAP32[$2>>2]|0; $8 = ($7|0)!=(0|0); @@ -85548,7 +84761,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { break; } $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; HEAP32[$2>>2] = $16; } @@ -85556,7 +84769,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $18 = ($17|0)==(159); if ($18) { $19 = HEAP32[$2>>2]|0; - $20 = (($19) + 38|0); + $20 = ((($19)) + 38|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; HEAP32[$op>>2] = $22; @@ -85565,13 +84778,13 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $24 = ($23|0)==(38); if ($24) { $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); $27 = HEAP32[$26>>2]|0; $28 = (_sqlite3AffinityType($27,0)|0); HEAP8[$aff>>0] = $28; $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$2>>2]|0; - $31 = (($30) + 12|0); + $31 = ((($30)) + 12|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP8[$3>>0]|0; $34 = HEAP8[$aff>>0]|0; @@ -85602,14 +84815,14 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { do { if ($49) { $50 = HEAP32[$2>>2]|0; - $51 = (($50) + 12|0); + $51 = ((($50)) + 12|0); $52 = HEAP32[$51>>2]|0; $53 = HEAP8[$52>>0]|0; $54 = $53&255; $55 = ($54|0)==(132); if (!($55)) { $56 = HEAP32[$2>>2]|0; - $57 = (($56) + 12|0); + $57 = ((($56)) + 12|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP8[$58>>0]|0; $60 = $59&255; @@ -85619,7 +84832,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { } } $62 = HEAP32[$2>>2]|0; - $63 = (($62) + 12|0); + $63 = ((($62)) + 12|0); $64 = HEAP32[$63>>2]|0; HEAP32[$2>>2] = $64; $65 = HEAP32[$2>>2]|0; @@ -85627,7 +84840,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $67 = $66&255; HEAP32[$op>>2] = $67; HEAP32[$negInt>>2] = -1; - HEAP32[$zNeg>>2] = 15592; + HEAP32[$zNeg>>2] = 19990; } } while(0); $68 = HEAP32[$op>>2]|0; @@ -85650,14 +84863,14 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { label = 43; } else { $79 = HEAP32[$2>>2]|0; - $80 = (($79) + 4|0); + $80 = ((($79)) + 4|0); $81 = HEAP32[$80>>2]|0; $82 = $81 & 1024; $83 = ($82|0)!=(0); if ($83) { $84 = HEAP32[$pVal>>2]|0; $85 = HEAP32[$2>>2]|0; - $86 = (($85) + 8|0); + $86 = ((($85)) + 8|0); $87 = HEAP32[$86>>2]|0; $88 = ($87|0)<(0); $89 = $88 << 31 >> 31; @@ -85671,12 +84884,12 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $95 = HEAP32[$1>>2]|0; $96 = HEAP32[$zNeg>>2]|0; $97 = HEAP32[$2>>2]|0; - $98 = (($97) + 8|0); + $98 = ((($97)) + 8|0); $99 = HEAP32[$98>>2]|0; HEAP32[$vararg_buffer>>2] = $96; - $vararg_ptr8 = (($vararg_buffer) + 4|0); + $vararg_ptr8 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr8>>2] = $99; - $100 = (_sqlite3MPrintf($95,8992,$vararg_buffer)|0); + $100 = (_sqlite3MPrintf($95,19992,$vararg_buffer)|0); HEAP32[$zVal>>2] = $100; $101 = HEAP32[$zVal>>2]|0; $102 = ($101|0)==(0|0); @@ -85686,7 +84899,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { } $103 = HEAP32[$pVal>>2]|0; $104 = HEAP32[$zVal>>2]|0; - _sqlite3ValueSetStr($103,-1,$104,1,16); + _sqlite3ValueSetStr($103,-1,$104,1,23); } $105 = HEAP32[$op>>2]|0; $106 = ($105|0)==(132); @@ -85712,14 +84925,14 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { _sqlite3ValueApplyAffinity($113,$114,1); } $115 = HEAP32[$pVal>>2]|0; - $116 = (($115) + 8|0); + $116 = ((($115)) + 8|0); $117 = HEAP16[$116>>1]|0; $118 = $117&65535; $119 = $118 & 12; $120 = ($119|0)!=(0); if ($120) { $121 = HEAP32[$pVal>>2]|0; - $122 = (($121) + 8|0); + $122 = ((($121)) + 8|0); $123 = HEAP16[$122>>1]|0; $124 = $123&65535; $125 = $124 & -3; @@ -85778,9 +84991,9 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { break; } $206 = HEAP32[$2>>2]|0; - $207 = (($206) + 8|0); + $207 = ((($206)) + 8|0); $208 = HEAP32[$207>>2]|0; - $209 = (($208) + 2|0); + $209 = ((($208)) + 2|0); HEAP32[$zVal>>2] = $209; $210 = HEAP32[$zVal>>2]|0; $211 = (_sqlite3Strlen30($210)|0); @@ -85793,13 +85006,13 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $217 = (_sqlite3HexToBlob($214,$215,$216)|0); $218 = HEAP32[$nVal>>2]|0; $219 = (($218|0) / 2)&-1; - (_sqlite3VdbeMemSetStr($213,$217,$219,0,16)|0); + (_sqlite3VdbeMemSetStr($213,$217,$219,0,23)|0); label = 42; break; } $136 = HEAP32[$1>>2]|0; $137 = HEAP32[$2>>2]|0; - $138 = (($137) + 12|0); + $138 = ((($137)) + 12|0); $139 = HEAP32[$138>>2]|0; $140 = HEAP8[$3>>0]|0; $141 = HEAP8[$4>>0]|0; @@ -85812,7 +85025,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $146 = HEAP32[$pVal>>2]|0; (_sqlite3VdbeMemNumerify($146)|0); $147 = HEAP32[$pVal>>2]|0; - $148 = (($147) + 8|0); + $148 = ((($147)) + 8|0); $149 = HEAP16[$148>>1]|0; $150 = $149&65535; $151 = $150 & 8; @@ -85838,14 +85051,14 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { if ($165) { HEAPF64[$166>>3] = 9.2233720368547758E+18; $167 = HEAP32[$pVal>>2]|0; - $168 = (($167) + 8|0); + $168 = ((($167)) + 8|0); $169 = HEAP16[$168>>1]|0; $170 = $169&65535; $171 = $170 & -16896; $172 = $171 | 8; $173 = $172&65535; $174 = HEAP32[$pVal>>2]|0; - $175 = (($174) + 8|0); + $175 = ((($174)) + 8|0); HEAP16[$175>>1] = $173; break; } else { @@ -85889,7 +85102,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { } else if ((label|0) == 43) { $223 = HEAP32[$1>>2]|0; - $224 = (($223) + 64|0); + $224 = ((($223)) + 64|0); HEAP8[$224>>0] = 1; $225 = HEAP32[$1>>2]|0; $226 = HEAP32[$zVal>>2]|0; @@ -85900,7 +85113,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $228 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($228|0); } - return 0|0; + return (0)|0; } function _sqlite3AffinityType($zIn,$pszEst) { $zIn = $zIn|0; @@ -85912,12 +85125,12 @@ function _sqlite3AffinityType($zIn,$pszEst) { var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $aff = 0, $h = 0, $v = 0, $zChar = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 21|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $h = sp + 8|0; - $aff = sp + 20|0; - $zChar = sp + 4|0; + $0 = sp + 20|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $h = sp + 16|0; + $aff = sp + 21|0; + $zChar = sp + 12|0; $v = sp; HEAP32[$1>>2] = $zIn; HEAP32[$2>>2] = $pszEst; @@ -85945,13 +85158,13 @@ function _sqlite3AffinityType($zIn,$pszEst) { $12 = HEAP8[$11>>0]|0; $13 = $12 << 24 >> 24; $14 = $13 & 255; - $15 = (440 + ($14)|0); + $15 = (13848 + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (($10) + ($17))|0; HEAP32[$h>>2] = $18; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 1|0); + $20 = ((($19)) + 1|0); HEAP32[$1>>2] = $20; $21 = HEAP32[$h>>2]|0; $22 = ($21|0)==(1667785074); @@ -86072,7 +85285,7 @@ function _sqlite3AffinityType($zIn,$pszEst) { $70 = HEAP32[$zChar>>2]|0; $71 = HEAP8[$70>>0]|0; $72 = $71&255; - $73 = (1224 + ($72)|0); + $73 = (14426 + ($72)|0); $74 = HEAP8[$73>>0]|0; $75 = $74&255; $76 = $75 & 4; @@ -86081,7 +85294,7 @@ function _sqlite3AffinityType($zIn,$pszEst) { break; } $87 = HEAP32[$zChar>>2]|0; - $88 = (($87) + 1|0); + $88 = ((($87)) + 1|0); HEAP32[$zChar>>2] = $88; } HEAP32[$v>>2] = 0; @@ -86123,7 +85336,7 @@ function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { HEAP8[$1>>0] = $aff; HEAP8[$2>>0] = $encoding; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = $6 & 1; @@ -86133,9 +85346,10 @@ function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { } $9 = HEAP8[$1>>0]|0; $10 = $9&255; - if ((($10|0) == 65)) { + switch ($10|0) { + case 65: { $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = $14 & 16; @@ -86145,18 +85359,18 @@ function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { $18 = HEAP8[$2>>0]|0; _sqlite3ValueApplyAffinity($17,66,$18); $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 8|0); + $20 = ((($19)) + 8|0); $21 = HEAP16[$20>>1]|0; $22 = $21&65535; $23 = $22 & -16896; $24 = $23 | 16; $25 = $24&65535; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 8|0); + $27 = ((($26)) + 8|0); HEAP16[$27>>1] = $25; STACKTOP = sp;return; } else { - $28 = (($17) + 8|0); + $28 = ((($17)) + 8|0); $29 = HEAP16[$28>>1]|0; $30 = $29&65535; $31 = $30 & -496; @@ -86164,27 +85378,35 @@ function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { HEAP16[$28>>1] = $32; STACKTOP = sp;return; } - } else if ((($10|0) == 69)) { - $35 = HEAP32[$0>>2]|0; - (_sqlite3VdbeMemRealify($35)|0); + break; + } + case 67: { + $33 = HEAP32[$0>>2]|0; + (_sqlite3VdbeMemNumerify($33)|0); STACKTOP = sp;return; - } else if ((($10|0) == 68)) { + break; + } + case 68: { $34 = HEAP32[$0>>2]|0; (_sqlite3VdbeMemIntegerify($34)|0); STACKTOP = sp;return; - } else if ((($10|0) == 67)) { - $33 = HEAP32[$0>>2]|0; - (_sqlite3VdbeMemNumerify($33)|0); + break; + } + case 69: { + $35 = HEAP32[$0>>2]|0; + (_sqlite3VdbeMemRealify($35)|0); STACKTOP = sp;return; - } else { + break; + } + default: { $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = HEAP16[$37>>1]|0; $39 = $38&65535; $40 = $39 & 16; $41 = $40 >> 3; $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 8|0); + $43 = ((($42)) + 8|0); $44 = HEAP16[$43>>1]|0; $45 = $44&65535; $46 = $45 | $41; @@ -86194,7 +85416,7 @@ function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { $49 = HEAP8[$2>>0]|0; _sqlite3ValueApplyAffinity($48,66,$49); $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 8|0); + $51 = ((($50)) + 8|0); $52 = HEAP16[$51>>1]|0; $53 = $52&65535; $54 = $53 & -16413; @@ -86202,6 +85424,7 @@ function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { HEAP16[$51>>1] = $55; STACKTOP = sp;return; } + } } function _sqlite3ValueApplyAffinity($pVal,$affinity,$enc) { $pVal = $pVal|0; @@ -86246,7 +85469,7 @@ function _sqlite3VdbeMemNumerify($pMem) { $0 = sp; HEAP32[$0>>2] = $pMem; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = $4 & 13; @@ -86254,27 +85477,27 @@ function _sqlite3VdbeMemNumerify($pMem) { do { if ($6) { $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 16|0); + $8 = ((($7)) + 16|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 10|0); + $15 = ((($14)) + 10|0); $16 = HEAP8[$15>>0]|0; $17 = (_sqlite3Atoi64($9,$10,$13,$16)|0); $18 = (0)==($17|0); $19 = HEAP32[$0>>2]|0; if ($18) { - $20 = (($19) + 8|0); + $20 = ((($19)) + 8|0); $21 = HEAP16[$20>>1]|0; $22 = $21&65535; $23 = $22 & -16896; $24 = $23 | 4; $25 = $24&65535; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 8|0); + $27 = ((($26)) + 8|0); HEAP16[$27>>1] = $25; break; } else { @@ -86282,14 +85505,14 @@ function _sqlite3VdbeMemNumerify($pMem) { $29 = HEAP32[$0>>2]|0; HEAPF64[$29>>3] = $28; $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = HEAP16[$31>>1]|0; $33 = $32&65535; $34 = $33 & -16896; $35 = $34 | 8; $36 = $35&65535; $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 8|0); + $38 = ((($37)) + 8|0); HEAP16[$38>>1] = $36; $39 = HEAP32[$0>>2]|0; _sqlite3VdbeIntegerAffinity($39); @@ -86298,7 +85521,7 @@ function _sqlite3VdbeMemNumerify($pMem) { } } while(0); $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 8|0); + $41 = ((($40)) + 8|0); $42 = HEAP16[$41>>1]|0; $43 = $42&65535; $44 = $43 & -19; @@ -86454,14 +85677,14 @@ function _sqlite3VdbeIntegerAffinity($pMem) { $51 = $50; HEAP32[$51>>2] = $46; $52 = HEAP32[$0>>2]|0; - $53 = (($52) + 8|0); + $53 = ((($52)) + 8|0); $54 = HEAP16[$53>>1]|0; $55 = $54&65535; $56 = $55 & -16896; $57 = $56 | 4; $58 = $57&65535; $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 8|0); + $60 = ((($59)) + 8|0); HEAP16[$60>>1] = $58; STACKTOP = sp;return; } @@ -86498,7 +85721,7 @@ function _doubleToInt64($r) { } else { $14 = +HEAPF64[$1>>3]; $15 = (~~$14)>>>0; - $16 = +Math_abs($14) >= 1.0 ? $14 > 0.0 ? (Math_min(+Math_floor($14 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($14 - +(~~$14 >>> 0)) / 4294967296.0) >>> 0 : 0; + $16 = +Math_abs($14) >= 1.0 ? $14 > 0.0 ? (~~+Math_min(+Math_floor($14 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($14 - +(~~$14 >>> 0)) / 4294967296.0) >>> 0 : 0; $17 = $0; $18 = $17; HEAP32[$18>>2] = $15; @@ -86515,7 +85738,7 @@ function _doubleToInt64($r) { $24 = (($21) + 4)|0; $25 = $24; $26 = HEAP32[$25>>2]|0; - tempRet0 = $26; + tempRet0 = ($26); STACKTOP = sp;return ($23|0); } function _applyAffinity($pRec,$affinity,$enc) { @@ -86544,7 +85767,7 @@ function _applyAffinity($pRec,$affinity,$enc) { STACKTOP = sp;return; } $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 8|0); + $29 = ((($28)) + 8|0); $30 = HEAP16[$29>>1]|0; $31 = $30&65535; $32 = $31 & 2; @@ -86553,7 +85776,7 @@ function _applyAffinity($pRec,$affinity,$enc) { STACKTOP = sp;return; } $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); $36 = HEAP16[$35>>1]|0; $37 = $36&65535; $38 = $37 & 12; @@ -86567,7 +85790,7 @@ function _applyAffinity($pRec,$affinity,$enc) { STACKTOP = sp;return; } $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = $9 & 4; @@ -86576,7 +85799,7 @@ function _applyAffinity($pRec,$affinity,$enc) { STACKTOP = sp;return; } $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = $15 & 8; @@ -86586,7 +85809,7 @@ function _applyAffinity($pRec,$affinity,$enc) { _sqlite3VdbeIntegerAffinity($18); STACKTOP = sp;return; } - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = $21 & 2; @@ -86604,21 +85827,23 @@ function _sqlite3VdbeMemStringify($pMem,$enc,$bForce) { $bForce = $bForce|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fg = 0, $nByte = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fg = 0, $nByte = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 48|0; $vararg_buffer1 = sp; + $vararg_buffer = sp + 8|0; $0 = sp + 20|0; $1 = sp + 16|0; - $2 = sp + 25|0; - $3 = sp + 24|0; - $fg = sp + 12|0; - $nByte = sp + 8|0; + $2 = sp + 32|0; + $3 = sp + 33|0; + $fg = sp + 24|0; + $nByte = sp + 28|0; HEAP32[$1>>2] = $pMem; HEAP8[$2>>0] = $enc; HEAP8[$3>>0] = $bForce; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; HEAP32[$fg>>2] = $7; @@ -86635,7 +85860,7 @@ function _sqlite3VdbeMemStringify($pMem,$enc,$bForce) { $12 = $11 & 4; $13 = ($12|0)!=(0); $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$1>>2]|0; if ($13) { @@ -86645,30 +85870,30 @@ function _sqlite3VdbeMemStringify($pMem,$enc,$bForce) { $21 = (($18) + 4)|0; $22 = $21; $23 = HEAP32[$22>>2]|0; - $24 = $vararg_buffer1; + $24 = $vararg_buffer; $25 = $24; HEAP32[$25>>2] = $20; $26 = (($24) + 4)|0; $27 = $26; HEAP32[$27>>2] = $23; - (_sqlite3_snprintf(32,$16,9456,$vararg_buffer1)|0); + (_sqlite3_snprintf(32,$16,17289,$vararg_buffer)|0); } else { $28 = +HEAPF64[$17>>3]; - HEAPF64[tempDoublePtr>>3]=$28;HEAP32[$vararg_buffer1>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer1+4>>2]=HEAP32[tempDoublePtr+4>>2]; - (_sqlite3_snprintf(32,$16,9808,$vararg_buffer1)|0); + HEAPF64[$vararg_buffer1>>3] = $28; + (_sqlite3_snprintf(32,$16,19997,$vararg_buffer1)|0); } $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 16|0); + $30 = ((($29)) + 16|0); $31 = HEAP32[$30>>2]|0; $32 = (_sqlite3Strlen30($31)|0); $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 12|0); + $34 = ((($33)) + 12|0); HEAP32[$34>>2] = $32; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 10|0); + $36 = ((($35)) + 10|0); HEAP8[$36>>0] = 1; $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 8|0); + $38 = ((($37)) + 8|0); $39 = HEAP16[$38>>1]|0; $40 = $39&65535; $41 = $40 | 514; @@ -86678,7 +85903,7 @@ function _sqlite3VdbeMemStringify($pMem,$enc,$bForce) { $44 = ($43<<24>>24)!=(0); if ($44) { $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 8|0); + $46 = ((($45)) + 8|0); $47 = HEAP16[$46>>1]|0; $48 = $47&65535; $49 = $48 & -13; @@ -86706,7 +85931,7 @@ function _sqlite3VdbeMemClearAndResize($pMem,$szNew) { HEAP32[$1>>2] = $pMem; HEAP32[$2>>2] = $szNew; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 24|0); + $4 = ((($3)) + 24|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$2>>2]|0; $7 = ($5|0)<($6|0); @@ -86718,13 +85943,13 @@ function _sqlite3VdbeMemClearAndResize($pMem,$szNew) { $21 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($21|0); } else { - $11 = (($8) + 20|0); + $11 = ((($8)) + 20|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 16|0); + $14 = ((($13)) + 16|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP16[$16>>1]|0; $18 = $17&65535; $19 = $18 & 13; @@ -86734,7 +85959,7 @@ function _sqlite3VdbeMemClearAndResize($pMem,$szNew) { $21 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($21|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeMemIntegerify($pMem) { $pMem = $pMem|0; @@ -86754,14 +85979,14 @@ function _sqlite3VdbeMemIntegerify($pMem) { $8 = $7; HEAP32[$8>>2] = $3; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = $12 & -16896; $14 = $13 | 4; $15 = $14&65535; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); HEAP16[$17>>1] = $15; STACKTOP = sp;return 0; } @@ -86777,14 +86002,14 @@ function _sqlite3VdbeMemRealify($pMem) { $3 = HEAP32[$0>>2]|0; HEAPF64[$3>>3] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7 & -16896; $9 = $8 | 8; $10 = $9&65535; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); HEAP16[$12>>1] = $10; STACKTOP = sp;return 0; } @@ -86797,13 +86022,13 @@ function _sqlite3FindIndex($db,$zName,$zDb) { var $i = 0, $j = 0, $p = 0, $pSchema = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $p = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $pSchema = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $p = sp + 24|0; + $i = sp + 4|0; + $j = sp; + $pSchema = sp + 12|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $zName; HEAP32[$2>>2] = $zDb; @@ -86812,7 +86037,7 @@ function _sqlite3FindIndex($db,$zName,$zDb) { while(1) { $3 = HEAP32[$i>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 20|0); + $5 = ((($4)) + 20|0); $6 = HEAP32[$5>>2]|0; $7 = ($3|0)<($6|0); if (!($7)) { @@ -86827,10 +86052,10 @@ function _sqlite3FindIndex($db,$zName,$zDb) { HEAP32[$j>>2] = $12; $13 = HEAP32[$j>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + ($13<<4)|0); - $18 = (($17) + 12|0); + $18 = ((($17)) + 12|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pSchema>>2] = $19; $20 = HEAP32[$2>>2]|0; @@ -86839,7 +86064,7 @@ function _sqlite3FindIndex($db,$zName,$zDb) { $22 = HEAP32[$2>>2]|0; $23 = HEAP32[$j>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 16|0); + $25 = ((($24)) + 16|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + ($23<<4)|0); $28 = HEAP32[$27>>2]|0; @@ -86854,7 +86079,7 @@ function _sqlite3FindIndex($db,$zName,$zDb) { if ((label|0) == 5) { label = 0; $31 = HEAP32[$pSchema>>2]|0; - $32 = (($31) + 24|0); + $32 = ((($31)) + 24|0); $33 = HEAP32[$1>>2]|0; $34 = (_sqlite3HashFind($32,$33)|0); HEAP32[$p>>2] = $34; @@ -86873,7 +86098,7 @@ function _sqlite3FindIndex($db,$zName,$zDb) { $39 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($39|0); } - return 0|0; + return (0)|0; } function _sqlite3CheckObjectName($pParse,$zName) { $pParse = $pParse|0; @@ -86890,32 +86115,32 @@ function _sqlite3CheckObjectName($pParse,$zName) { HEAP32[$2>>2] = $zName; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 140|0); - $6 = (($5) + 5|0); + $5 = ((($4)) + 140|0); + $6 = ((($5)) + 5|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if (!($8)) { $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 18|0); + $10 = ((($9)) + 18|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($12|0)==(0); if ($13) { $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 24|0); + $16 = ((($15)) + 24|0); $17 = HEAP32[$16>>2]|0; $18 = $17 & 2048; $19 = ($18|0)==(0); if ($19) { $20 = HEAP32[$2>>2]|0; - $21 = (_sqlite3_strnicmp($20,15144,7)|0); + $21 = (_sqlite3_strnicmp($20,19570,7)|0); $22 = (0)==($21|0); if ($22) { $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $24; - _sqlite3ErrorMsg($23,18064,$vararg_buffer); + _sqlite3ErrorMsg($23,22252,$vararg_buffer); HEAP32[$0>>2] = 1; $25 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($25|0); @@ -86939,15 +86164,15 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $pSelTab = sp + 24|0; - $pSel = sp + 20|0; - $nErr = sp + 16|0; - $n = sp + 12|0; - $db = sp + 8|0; - $xAuth = sp + 4|0; + $0 = sp + 16|0; + $1 = sp + 28|0; + $2 = sp + 4|0; + $pSelTab = sp + 32|0; + $pSel = sp + 36|0; + $nErr = sp + 12|0; + $n = sp + 24|0; + $db = sp + 20|0; + $xAuth = sp + 8|0; $enableLookaside = sp + 40|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTable; @@ -86965,7 +86190,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { STACKTOP = sp;return ($104|0); } $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 44|0); + $10 = ((($9)) + 44|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = $12 & 16; @@ -86976,7 +86201,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { STACKTOP = sp;return ($104|0); } $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 38|0); + $16 = ((($15)) + 38|0); $17 = HEAP16[$16>>1]|0; $18 = $17 << 16 >> 16; $19 = ($18|0)>(0); @@ -86986,7 +86211,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { STACKTOP = sp;return ($104|0); } $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 38|0); + $21 = ((($20)) + 38|0); $22 = HEAP16[$21>>1]|0; $23 = $22 << 16 >> 16; $24 = ($23|0)<(0); @@ -86995,14 +86220,14 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { $26 = HEAP32[$2>>2]|0; $27 = HEAP32[$26>>2]|0; HEAP32[$vararg_buffer>>2] = $27; - _sqlite3ErrorMsg($25,16328,$vararg_buffer); + _sqlite3ErrorMsg($25,20709,$vararg_buffer); HEAP32[$0>>2] = 1; $104 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($104|0); } $28 = HEAP32[$db>>2]|0; $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = (_sqlite3SelectDup($28,$31,0)|0); HEAP32[$pSel>>2] = $32; @@ -87010,32 +86235,32 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { $34 = ($33|0)!=(0|0); if ($34) { $35 = HEAP32[$db>>2]|0; - $36 = (($35) + 248|0); - $37 = (($36) + 2|0); + $36 = ((($35)) + 248|0); + $37 = ((($36)) + 2|0); $38 = HEAP8[$37>>0]|0; HEAP8[$enableLookaside>>0] = $38; $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 68|0); + $40 = ((($39)) + 68|0); $41 = HEAP32[$40>>2]|0; HEAP32[$n>>2] = $41; $42 = HEAP32[$1>>2]|0; $43 = HEAP32[$pSel>>2]|0; - $44 = (($43) + 32|0); + $44 = ((($43)) + 32|0); $45 = HEAP32[$44>>2]|0; _sqlite3SrcListAssignCursors($42,$45); $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 38|0); + $47 = ((($46)) + 38|0); HEAP16[$47>>1] = -1; $48 = HEAP32[$db>>2]|0; - $49 = (($48) + 248|0); - $50 = (($49) + 2|0); + $49 = ((($48)) + 248|0); + $50 = ((($49)) + 2|0); HEAP8[$50>>0] = 0; $51 = HEAP32[$db>>2]|0; - $52 = (($51) + 284|0); + $52 = ((($51)) + 284|0); $53 = HEAP32[$52>>2]|0; HEAP32[$xAuth>>2] = $53; $54 = HEAP32[$db>>2]|0; - $55 = (($54) + 284|0); + $55 = ((($54)) + 284|0); HEAP32[$55>>2] = 0; $56 = HEAP32[$1>>2]|0; $57 = HEAP32[$pSel>>2]|0; @@ -87043,45 +86268,45 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { HEAP32[$pSelTab>>2] = $58; $59 = HEAP32[$xAuth>>2]|0; $60 = HEAP32[$db>>2]|0; - $61 = (($60) + 284|0); + $61 = ((($60)) + 284|0); HEAP32[$61>>2] = $59; $62 = HEAP8[$enableLookaside>>0]|0; $63 = HEAP32[$db>>2]|0; - $64 = (($63) + 248|0); - $65 = (($64) + 2|0); + $64 = ((($63)) + 248|0); + $65 = ((($64)) + 2|0); HEAP8[$65>>0] = $62; $66 = HEAP32[$n>>2]|0; $67 = HEAP32[$1>>2]|0; - $68 = (($67) + 68|0); + $68 = ((($67)) + 68|0); HEAP32[$68>>2] = $66; $69 = HEAP32[$pSelTab>>2]|0; $70 = ($69|0)!=(0|0); if ($70) { $71 = HEAP32[$pSelTab>>2]|0; - $72 = (($71) + 38|0); + $72 = ((($71)) + 38|0); $73 = HEAP16[$72>>1]|0; $74 = HEAP32[$2>>2]|0; - $75 = (($74) + 38|0); + $75 = ((($74)) + 38|0); HEAP16[$75>>1] = $73; $76 = HEAP32[$pSelTab>>2]|0; - $77 = (($76) + 4|0); + $77 = ((($76)) + 4|0); $78 = HEAP32[$77>>2]|0; $79 = HEAP32[$2>>2]|0; - $80 = (($79) + 4|0); + $80 = ((($79)) + 4|0); HEAP32[$80>>2] = $78; $81 = HEAP32[$pSelTab>>2]|0; - $82 = (($81) + 38|0); + $82 = ((($81)) + 38|0); HEAP16[$82>>1] = 0; $83 = HEAP32[$pSelTab>>2]|0; - $84 = (($83) + 4|0); + $84 = ((($83)) + 4|0); HEAP32[$84>>2] = 0; $85 = HEAP32[$db>>2]|0; $86 = HEAP32[$pSelTab>>2]|0; _sqlite3DeleteTable($85,$86); $87 = HEAP32[$2>>2]|0; - $88 = (($87) + 68|0); + $88 = ((($87)) + 68|0); $89 = HEAP32[$88>>2]|0; - $90 = (($89) + 78|0); + $90 = ((($89)) + 78|0); $91 = HEAP16[$90>>1]|0; $92 = $91&65535; $93 = $92 | 2; @@ -87089,7 +86314,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { HEAP16[$90>>1] = $94; } else { $95 = HEAP32[$2>>2]|0; - $96 = (($95) + 38|0); + $96 = ((($95)) + 38|0); HEAP16[$96>>1] = 0; $97 = HEAP32[$nErr>>2]|0; $98 = (($97) + 1)|0; @@ -87120,7 +86345,7 @@ function _sqlite3GetVTable($db,$pTab) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $pTab; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 60|0); + $3 = ((($2)) + 60|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pVtab>>2] = $4; while(1) { @@ -87139,7 +86364,7 @@ function _sqlite3GetVTable($db,$pTab) { break; } $11 = HEAP32[$pVtab>>2]|0; - $12 = (($11) + 24|0); + $12 = ((($11)) + 24|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pVtab>>2] = $13; } @@ -87147,7 +86372,7 @@ function _sqlite3GetVTable($db,$pTab) { $14 = HEAP32[$pVtab>>2]|0; STACKTOP = sp;return ($14|0); } - return 0|0; + return (0)|0; } function _sqlite3MayAbort($pParse) { $pParse = $pParse|0; @@ -87158,12 +86383,12 @@ function _sqlite3MayAbort($pParse) { $pToplevel = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 408|0); + $2 = ((($1)) + 408|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); $5 = HEAP32[$0>>2]|0; if ($4) { - $6 = (($5) + 408|0); + $6 = ((($5)) + 408|0); $7 = HEAP32[$6>>2]|0; $8 = $7; } else { @@ -87171,10 +86396,86 @@ function _sqlite3MayAbort($pParse) { } HEAP32[$pToplevel>>2] = $8; $9 = HEAP32[$pToplevel>>2]|0; - $10 = (($9) + 21|0); + $10 = ((($9)) + 21|0); HEAP8[$10>>0] = 1; STACKTOP = sp;return; } +function _sqlite3Utf8CharLen($zIn,$nByte) { + $zIn = $zIn|0; + $nByte = $nByte|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, $z = 0, $zTerm = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $r = sp + 8|0; + $z = sp + 4|0; + $zTerm = sp; + HEAP32[$0>>2] = $zIn; + HEAP32[$1>>2] = $nByte; + HEAP32[$r>>2] = 0; + $2 = HEAP32[$0>>2]|0; + HEAP32[$z>>2] = $2; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)>=(0); + if ($4) { + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$z>>2]|0; + $7 = (($6) + ($5)|0); + HEAP32[$zTerm>>2] = $7; + } else { + HEAP32[$zTerm>>2] = (-1); + } + while(1) { + $8 = HEAP32[$z>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(0); + if (!($11)) { + label = 10; + break; + } + $12 = HEAP32[$z>>2]|0; + $13 = HEAP32[$zTerm>>2]|0; + $14 = ($12>>>0)<($13>>>0); + if (!($14)) { + label = 10; + break; + } + $15 = HEAP32[$z>>2]|0; + $16 = ((($15)) + 1|0); + HEAP32[$z>>2] = $16; + $17 = HEAP8[$15>>0]|0; + $18 = $17&255; + $19 = ($18|0)>=(192); + L8: do { + if ($19) { + while(1) { + $20 = HEAP32[$z>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = $22 & 192; + $24 = ($23|0)==(128); + if (!($24)) { + break L8; + } + $25 = HEAP32[$z>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$z>>2] = $26; + } + } + } while(0); + $27 = HEAP32[$r>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$r>>2] = $28; + } + if ((label|0) == 10) { + $29 = HEAP32[$r>>2]|0; + STACKTOP = sp;return ($29|0); + } + return (0)|0; +} function _whereForeignKeys($pParse,$pTab) { $pParse = $pParse|0; $pTab = $pTab|0; @@ -87207,7 +86508,7 @@ function _whereForeignKeys($pParse,$pTab) { $12 = (_whereOrName($7,$8,$11)|0); HEAP32[$zWhere>>2] = $12; $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; HEAP32[$p>>2] = $15; } @@ -87222,9 +86523,9 @@ function _sqlite3FkReferences($pTab) { $0 = sp; HEAP32[$0>>2] = $pTab; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 68|0); + $2 = ((($1)) + 68|0); $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 56|0); + $4 = ((($3)) + 56|0); $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; $7 = (_sqlite3HashFind($4,$6)|0); @@ -87235,26 +86536,27 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $pTab = $pTab|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pMod = 0, $rc = 0, $vararg_buffer1 = 0, $zErr = 0, $zMod = 0, $zModule = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $pMod = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $zErr = 0, $zMod = 0, $zModule = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer1 = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $db = sp + 24|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 24|0; + $1 = sp + 28|0; + $2 = sp + 16|0; + $db = sp + 12|0; $zMod = sp + 20|0; - $pMod = sp + 16|0; - $rc = sp + 12|0; - $zModule = sp + 8|0; - $zErr = sp + 4|0; + $pMod = sp + 32|0; + $rc = sp + 36|0; + $zModule = sp + 40|0; + $zErr = sp + 44|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTab; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$2>>2]|0; - $6 = (($5) + 44|0); + $6 = ((($5)) + 44|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $8 & 16; @@ -87266,12 +86568,12 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $14 = ($13|0)!=(0|0); if (!($14)) { $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 56|0); + $16 = ((($15)) + 56|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$17>>2]|0; HEAP32[$zMod>>2] = $18; $19 = HEAP32[$db>>2]|0; - $20 = (($19) + 308|0); + $20 = ((($19)) + 308|0); $21 = HEAP32[$zMod>>2]|0; $22 = (_sqlite3HashFind($20,$21)|0); HEAP32[$pMod>>2] = $22; @@ -87284,7 +86586,7 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $33 = HEAP32[$pMod>>2]|0; $34 = HEAP32[$pMod>>2]|0; $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 8|0); + $36 = ((($35)) + 8|0); $37 = HEAP32[$36>>2]|0; $38 = (_vtabCallConstructor($31,$32,$33,$37,$zErr)|0); HEAP32[$rc>>2] = $38; @@ -87294,21 +86596,21 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer1>>2] = $42; - _sqlite3ErrorMsg($41,1200,$vararg_buffer1); + _sqlite3ErrorMsg($41,14418,$vararg_buffer1); } $43 = HEAP32[$db>>2]|0; $44 = HEAP32[$zErr>>2]|0; _sqlite3DbFree($43,$44); } else { $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 56|0); + $26 = ((($25)) + 56|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$27>>2]|0; HEAP32[$zModule>>2] = $28; $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$zModule>>2]|0; - HEAP32[$vararg_buffer1>>2] = $30; - _sqlite3ErrorMsg($29,17944,$vararg_buffer1); + HEAP32[$vararg_buffer>>2] = $30; + _sqlite3ErrorMsg($29,22142,$vararg_buffer); HEAP32[$rc>>2] = 1; } $45 = HEAP32[$rc>>2]|0; @@ -87369,118 +86671,118 @@ function _sqlite3SelectDup($db,$p,$flags) { HEAP32[$15>>2] = $14; $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 32|0); + $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$3>>2]|0; $21 = (_sqlite3SrcListDup($16,$19,$20)|0); $22 = HEAP32[$pNew>>2]|0; - $23 = (($22) + 32|0); + $23 = ((($22)) + 32|0); HEAP32[$23>>2] = $21; $24 = HEAP32[$1>>2]|0; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 36|0); + $26 = ((($25)) + 36|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$3>>2]|0; $29 = (_sqlite3ExprDup($24,$27,$28)|0); $30 = HEAP32[$pNew>>2]|0; - $31 = (($30) + 36|0); + $31 = ((($30)) + 36|0); HEAP32[$31>>2] = $29; $32 = HEAP32[$1>>2]|0; $33 = HEAP32[$2>>2]|0; - $34 = (($33) + 40|0); + $34 = ((($33)) + 40|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[$3>>2]|0; $37 = (_sqlite3ExprListDup($32,$35,$36)|0); $38 = HEAP32[$pNew>>2]|0; - $39 = (($38) + 40|0); + $39 = ((($38)) + 40|0); HEAP32[$39>>2] = $37; $40 = HEAP32[$1>>2]|0; $41 = HEAP32[$2>>2]|0; - $42 = (($41) + 44|0); + $42 = ((($41)) + 44|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$3>>2]|0; $45 = (_sqlite3ExprDup($40,$43,$44)|0); $46 = HEAP32[$pNew>>2]|0; - $47 = (($46) + 44|0); + $47 = ((($46)) + 44|0); HEAP32[$47>>2] = $45; $48 = HEAP32[$1>>2]|0; $49 = HEAP32[$2>>2]|0; - $50 = (($49) + 48|0); + $50 = ((($49)) + 48|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$3>>2]|0; $53 = (_sqlite3ExprListDup($48,$51,$52)|0); $54 = HEAP32[$pNew>>2]|0; - $55 = (($54) + 48|0); + $55 = ((($54)) + 48|0); HEAP32[$55>>2] = $53; $56 = HEAP32[$2>>2]|0; - $57 = (($56) + 4|0); + $57 = ((($56)) + 4|0); $58 = HEAP8[$57>>0]|0; $59 = HEAP32[$pNew>>2]|0; - $60 = (($59) + 4|0); + $60 = ((($59)) + 4|0); HEAP8[$60>>0] = $58; $61 = HEAP32[$1>>2]|0; $62 = HEAP32[$2>>2]|0; - $63 = (($62) + 52|0); + $63 = ((($62)) + 52|0); $64 = HEAP32[$63>>2]|0; $65 = HEAP32[$3>>2]|0; $66 = (_sqlite3SelectDup($61,$64,$65)|0); HEAP32[$pPrior>>2] = $66; $67 = HEAP32[$pNew>>2]|0; - $68 = (($67) + 52|0); + $68 = ((($67)) + 52|0); HEAP32[$68>>2] = $66; $69 = HEAP32[$pPrior>>2]|0; $70 = ($69|0)!=(0|0); if ($70) { $71 = HEAP32[$pNew>>2]|0; $72 = HEAP32[$pPrior>>2]|0; - $73 = (($72) + 56|0); + $73 = ((($72)) + 56|0); HEAP32[$73>>2] = $71; } $74 = HEAP32[$pNew>>2]|0; - $75 = (($74) + 56|0); + $75 = ((($74)) + 56|0); HEAP32[$75>>2] = 0; $76 = HEAP32[$1>>2]|0; $77 = HEAP32[$2>>2]|0; - $78 = (($77) + 60|0); + $78 = ((($77)) + 60|0); $79 = HEAP32[$78>>2]|0; $80 = HEAP32[$3>>2]|0; $81 = (_sqlite3ExprDup($76,$79,$80)|0); $82 = HEAP32[$pNew>>2]|0; - $83 = (($82) + 60|0); + $83 = ((($82)) + 60|0); HEAP32[$83>>2] = $81; $84 = HEAP32[$1>>2]|0; $85 = HEAP32[$2>>2]|0; - $86 = (($85) + 64|0); + $86 = ((($85)) + 64|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[$3>>2]|0; $89 = (_sqlite3ExprDup($84,$87,$88)|0); $90 = HEAP32[$pNew>>2]|0; - $91 = (($90) + 64|0); + $91 = ((($90)) + 64|0); HEAP32[$91>>2] = $89; $92 = HEAP32[$pNew>>2]|0; - $93 = (($92) + 8|0); + $93 = ((($92)) + 8|0); HEAP32[$93>>2] = 0; $94 = HEAP32[$pNew>>2]|0; - $95 = (($94) + 12|0); + $95 = ((($94)) + 12|0); HEAP32[$95>>2] = 0; $96 = HEAP32[$2>>2]|0; - $97 = (($96) + 6|0); + $97 = ((($96)) + 6|0); $98 = HEAP16[$97>>1]|0; $99 = $98&65535; $100 = $99 & -9; $101 = $100&65535; $102 = HEAP32[$pNew>>2]|0; - $103 = (($102) + 6|0); + $103 = ((($102)) + 6|0); HEAP16[$103>>1] = $101; $104 = HEAP32[$pNew>>2]|0; - $105 = (($104) + 16|0); + $105 = ((($104)) + 16|0); HEAP32[$105>>2] = -1; $106 = HEAP32[$pNew>>2]|0; - $107 = (($106) + 16|0); - $108 = (($107) + 4|0); + $107 = ((($106)) + 16|0); + $108 = ((($107)) + 4|0); HEAP32[$108>>2] = -1; $109 = HEAP32[$2>>2]|0; - $110 = (($109) + 24|0); + $110 = ((($109)) + 24|0); $111 = $110; $112 = $111; $113 = HEAP32[$112>>2]|0; @@ -87488,7 +86790,7 @@ function _sqlite3SelectDup($db,$p,$flags) { $115 = $114; $116 = HEAP32[$115>>2]|0; $117 = HEAP32[$pNew>>2]|0; - $118 = (($117) + 24|0); + $118 = ((($117)) + 24|0); $119 = $118; $120 = $119; HEAP32[$120>>2] = $113; @@ -87497,11 +86799,11 @@ function _sqlite3SelectDup($db,$p,$flags) { HEAP32[$122>>2] = $116; $123 = HEAP32[$1>>2]|0; $124 = HEAP32[$2>>2]|0; - $125 = (($124) + 68|0); + $125 = ((($124)) + 68|0); $126 = HEAP32[$125>>2]|0; $127 = (_withDup($123,$126)|0); $128 = HEAP32[$pNew>>2]|0; - $129 = (($128) + 68|0); + $129 = ((($128)) + 68|0); HEAP32[$129>>2] = $127; $130 = HEAP32[$pNew>>2]|0; HEAP32[$0>>2] = $130; @@ -87528,7 +86830,7 @@ function _sqlite3SrcListAssignCursors($pParse,$pList) { } HEAP32[$i>>2] = 0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); HEAP32[$pItem>>2] = $5; while(1) { $6 = HEAP32[$i>>2]|0; @@ -87540,7 +86842,7 @@ function _sqlite3SrcListAssignCursors($pParse,$pList) { break; } $10 = HEAP32[$pItem>>2]|0; - $11 = (($10) + 40|0); + $11 = ((($10)) + 40|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)>=(0); if ($13) { @@ -87548,23 +86850,23 @@ function _sqlite3SrcListAssignCursors($pParse,$pList) { break; } $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 68|0); + $15 = ((($14)) + 68|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + 1)|0; HEAP32[$15>>2] = $17; $18 = HEAP32[$pItem>>2]|0; - $19 = (($18) + 40|0); + $19 = ((($18)) + 40|0); HEAP32[$19>>2] = $16; $20 = HEAP32[$pItem>>2]|0; - $21 = (($20) + 20|0); + $21 = ((($20)) + 20|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); if ($23) { $24 = HEAP32[$0>>2]|0; $25 = HEAP32[$pItem>>2]|0; - $26 = (($25) + 20|0); + $26 = ((($25)) + 20|0); $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 32|0); + $28 = ((($27)) + 32|0); $29 = HEAP32[$28>>2]|0; _sqlite3SrcListAssignCursors($24,$29); } @@ -87572,7 +86874,7 @@ function _sqlite3SrcListAssignCursors($pParse,$pList) { $31 = (($30) + 1)|0; HEAP32[$i>>2] = $31; $32 = HEAP32[$pItem>>2]|0; - $33 = (($32) + 72|0); + $33 = ((($32)) + 72|0); HEAP32[$pItem>>2] = $33; } if ((label|0) == 8) { @@ -87600,16 +86902,16 @@ function _sqlite3ResultSetOfSelect($pParse,$pSelect) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; - $6 = (($5) + 24|0); + $6 = ((($5)) + 24|0); $7 = HEAP32[$6>>2]|0; HEAP32[$savedFlags>>2] = $7; $8 = HEAP32[$db>>2]|0; - $9 = (($8) + 24|0); + $9 = ((($8)) + 24|0); $10 = HEAP32[$9>>2]|0; $11 = $10 & -33; HEAP32[$9>>2] = $11; $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 24|0); + $13 = ((($12)) + 24|0); $14 = HEAP32[$13>>2]|0; $15 = $14 | 64; HEAP32[$13>>2] = $15; @@ -87617,7 +86919,7 @@ function _sqlite3ResultSetOfSelect($pParse,$pSelect) { $17 = HEAP32[$2>>2]|0; _sqlite3SelectPrep($16,$17,0); $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 64|0); + $19 = ((($18)) + 64|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)!=(0); if ($21) { @@ -87627,20 +86929,20 @@ function _sqlite3ResultSetOfSelect($pParse,$pSelect) { } while(1) { $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 52|0); + $23 = ((($22)) + 52|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(0|0); if (!($25)) { break; } $26 = HEAP32[$2>>2]|0; - $27 = (($26) + 52|0); + $27 = ((($26)) + 52|0); $28 = HEAP32[$27>>2]|0; HEAP32[$2>>2] = $28; } $29 = HEAP32[$savedFlags>>2]|0; $30 = HEAP32[$db>>2]|0; - $31 = (($30) + 24|0); + $31 = ((($30)) + 24|0); HEAP32[$31>>2] = $29; $32 = HEAP32[$db>>2]|0; $33 = (_sqlite3DbMallocZero($32,76,0)|0); @@ -87653,30 +86955,30 @@ function _sqlite3ResultSetOfSelect($pParse,$pSelect) { STACKTOP = sp;return ($60|0); } $36 = HEAP32[$pTab>>2]|0; - $37 = (($36) + 40|0); + $37 = ((($36)) + 40|0); HEAP16[$37>>1] = 1; $38 = HEAP32[$pTab>>2]|0; HEAP32[$38>>2] = 0; $39 = HEAP32[$pTab>>2]|0; - $40 = (($39) + 28|0); + $40 = ((($39)) + 28|0); HEAP16[$40>>1] = 200; $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$2>>2]|0; $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$pTab>>2]|0; - $45 = (($44) + 38|0); + $45 = ((($44)) + 38|0); $46 = HEAP32[$pTab>>2]|0; - $47 = (($46) + 4|0); + $47 = ((($46)) + 4|0); (_selectColumnsFromExprList($41,$43,$45,$47)|0); $48 = HEAP32[$1>>2]|0; $49 = HEAP32[$pTab>>2]|0; $50 = HEAP32[$2>>2]|0; _selectAddColumnTypeAndCollation($48,$49,$50); $51 = HEAP32[$pTab>>2]|0; - $52 = (($51) + 36|0); + $52 = ((($51)) + 36|0); HEAP16[$52>>1] = -1; $53 = HEAP32[$db>>2]|0; - $54 = (($53) + 64|0); + $54 = ((($53)) + 64|0); $55 = HEAP8[$54>>0]|0; $56 = ($55<<24>>24)!=(0); if ($56) { @@ -87692,7 +86994,7 @@ function _sqlite3ResultSetOfSelect($pParse,$pSelect) { $60 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($60|0); } - return 0|0; + return (0)|0; } function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $pParse = $pParse|0; @@ -87719,14 +87021,14 @@ function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$db>>2]|0; - $8 = (($7) + 64|0); + $8 = ((($7)) + 64|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); if ($10) { STACKTOP = sp;return; } $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 6|0); + $12 = ((($11)) + 6|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = $14 & 32; @@ -87738,14 +87040,14 @@ function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $18 = HEAP32[$1>>2]|0; _sqlite3SelectExpand($17,$18); $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 64|0); + $20 = ((($19)) + 64|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)!=(0); if ($22) { STACKTOP = sp;return; } $23 = HEAP32[$db>>2]|0; - $24 = (($23) + 64|0); + $24 = ((($23)) + 64|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; $27 = ($26|0)!=(0); @@ -87757,14 +87059,14 @@ function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $30 = HEAP32[$2>>2]|0; _sqlite3ResolveSelectNames($28,$29,$30); $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 64|0); + $32 = ((($31)) + 64|0); $33 = HEAP32[$32>>2]|0; $34 = ($33|0)!=(0); if ($34) { STACKTOP = sp;return; } $35 = HEAP32[$db>>2]|0; - $36 = (($35) + 64|0); + $36 = ((($35)) + 64|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = ($38|0)!=(0); @@ -87790,30 +87092,34 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $aCol = 0, $cnt = 0, $db = 0, $i = 0, $iCol = 0, $j = 0, $k = 0, $nCol = 0, $nName = 0, $p = 0, $pCol = 0, $pColExpr = 0, $pTab = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $zName = 0, $zNewName = 0, label = 0, sp = 0; + var $aCol = 0, $cnt = 0, $db = 0, $i = 0, $iCol = 0, $j = 0, $k = 0, $nCol = 0, $nName = 0, $p = 0, $pCol = 0, $pColExpr = 0, $pTab = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $zName = 0, $zNewName = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 112|0; $vararg_buffer7 = sp; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 28|0; + $1 = sp + 60|0; + $2 = sp + 36|0; $3 = sp + 72|0; - $4 = sp + 68|0; - $db = sp + 64|0; - $i = sp + 60|0; - $j = sp + 56|0; - $cnt = sp + 52|0; + $4 = sp + 64|0; + $db = sp + 56|0; + $i = sp + 40|0; + $j = sp + 32|0; + $cnt = sp + 44|0; $aCol = sp + 48|0; - $pCol = sp + 44|0; - $nCol = sp + 40|0; - $p = sp + 36|0; - $zName = sp + 32|0; - $nName = sp + 28|0; - $pColExpr = sp + 24|0; - $pTab = sp + 20|0; - $iCol = sp + 16|0; - $zNewName = sp + 12|0; - $k = sp + 8|0; + $pCol = sp + 52|0; + $nCol = sp + 68|0; + $p = sp + 76|0; + $zName = sp + 80|0; + $nName = sp + 84|0; + $pColExpr = sp + 88|0; + $pTab = sp + 92|0; + $iCol = sp + 96|0; + $zNewName = sp + 100|0; + $k = sp + 104|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pEList; HEAP32[$3>>2] = $pnCol; @@ -87855,7 +87161,7 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { } $24 = HEAP32[$i>>2]|0; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + (($24*20)|0)|0); $29 = HEAP32[$28>>2]|0; @@ -87863,10 +87169,10 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { HEAP32[$p>>2] = $30; $31 = HEAP32[$i>>2]|0; $32 = HEAP32[$2>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + (($31*20)|0)|0); - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; HEAP32[$zName>>2] = $37; $38 = ($37|0)!=(0|0); @@ -87888,7 +87194,7 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { if (!($46)) { break; } - $48 = (($47) + 16|0); + $48 = ((($47)) + 16|0); $49 = HEAP32[$48>>2]|0; HEAP32[$pColExpr>>2] = $49; } @@ -87897,24 +87203,24 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $52 = ($51|0)==(154); if ($52) { $53 = HEAP32[$pColExpr>>2]|0; - $54 = (($53) + 44|0); + $54 = ((($53)) + 44|0); $55 = HEAP32[$54>>2]|0; $56 = ($55|0)!=(0|0); if ($56) { $57 = HEAP32[$pColExpr>>2]|0; - $58 = (($57) + 32|0); + $58 = ((($57)) + 32|0); $59 = HEAP16[$58>>1]|0; $60 = $59 << 16 >> 16; HEAP32[$iCol>>2] = $60; $61 = HEAP32[$pColExpr>>2]|0; - $62 = (($61) + 44|0); + $62 = ((($61)) + 44|0); $63 = HEAP32[$62>>2]|0; HEAP32[$pTab>>2] = $63; $64 = HEAP32[$iCol>>2]|0; $65 = ($64|0)<(0); if ($65) { $66 = HEAP32[$pTab>>2]|0; - $67 = (($66) + 36|0); + $67 = ((($66)) + 36|0); $68 = HEAP16[$67>>1]|0; $69 = $68 << 16 >> 16; HEAP32[$iCol>>2] = $69; @@ -87925,16 +87231,16 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { if ($72) { $73 = HEAP32[$iCol>>2]|0; $74 = HEAP32[$pTab>>2]|0; - $75 = (($74) + 4|0); + $75 = ((($74)) + 4|0); $76 = HEAP32[$75>>2]|0; $77 = (($76) + (($73*24)|0)|0); $78 = HEAP32[$77>>2]|0; $79 = $78; } else { - $79 = 9992; + $79 = 18143; } - HEAP32[$vararg_buffer7>>2] = $79; - $80 = (_sqlite3MPrintf($70,1200,$vararg_buffer7)|0); + HEAP32[$vararg_buffer>>2] = $79; + $80 = (_sqlite3MPrintf($70,14418,$vararg_buffer)|0); HEAP32[$zName>>2] = $80; break; } @@ -87946,29 +87252,29 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $85 = HEAP32[$db>>2]|0; if ($84) { $86 = HEAP32[$pColExpr>>2]|0; - $87 = (($86) + 8|0); + $87 = ((($86)) + 8|0); $88 = HEAP32[$87>>2]|0; - HEAP32[$vararg_buffer7>>2] = $88; - $89 = (_sqlite3MPrintf($85,1200,$vararg_buffer7)|0); + HEAP32[$vararg_buffer1>>2] = $88; + $89 = (_sqlite3MPrintf($85,14418,$vararg_buffer1)|0); HEAP32[$zName>>2] = $89; break; } else { $90 = HEAP32[$i>>2]|0; $91 = HEAP32[$2>>2]|0; - $92 = (($91) + 4|0); + $92 = ((($91)) + 4|0); $93 = HEAP32[$92>>2]|0; $94 = (($93) + (($90*20)|0)|0); - $95 = (($94) + 8|0); + $95 = ((($94)) + 8|0); $96 = HEAP32[$95>>2]|0; - HEAP32[$vararg_buffer7>>2] = $96; - $97 = (_sqlite3MPrintf($85,1200,$vararg_buffer7)|0); + HEAP32[$vararg_buffer4>>2] = $96; + $97 = (_sqlite3MPrintf($85,14418,$vararg_buffer4)|0); HEAP32[$zName>>2] = $97; break; } } } while(0); $98 = HEAP32[$db>>2]|0; - $99 = (($98) + 64|0); + $99 = ((($98)) + 64|0); $100 = HEAP8[$99>>0]|0; $101 = ($100<<24>>24)!=(0); if ($101) { @@ -88009,7 +87315,7 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $122 = (($121) + ($120)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; - $125 = (1224 + ($124)|0); + $125 = (14426 + ($124)|0); $126 = HEAP8[$125>>0]|0; $127 = $126&255; $128 = $127 & 4; @@ -88045,9 +87351,9 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $147 = (($146) + 1)|0; HEAP32[$cnt>>2] = $147; HEAP32[$vararg_buffer7>>2] = $145; - $vararg_ptr10 = (($vararg_buffer7) + 4|0); + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $147; - $148 = (_sqlite3MPrintf($144,16424,$vararg_buffer7)|0); + $148 = (_sqlite3MPrintf($144,20781,$vararg_buffer7)|0); HEAP32[$zNewName>>2] = $148; $149 = HEAP32[$db>>2]|0; $150 = HEAP32[$zName>>2]|0; @@ -88072,7 +87378,7 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $159 = (($158) + 1)|0; HEAP32[$i>>2] = $159; $160 = HEAP32[$pCol>>2]|0; - $161 = (($160) + 24|0); + $161 = ((($160)) + 24|0); HEAP32[$pCol>>2] = $161; } if ((label|0) == 22) { @@ -88081,7 +87387,7 @@ function _selectColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { _sqlite3DbFree($102,$103); } $162 = HEAP32[$db>>2]|0; - $163 = (($162) + 64|0); + $163 = ((($162)) + 64|0); $164 = HEAP8[$163>>0]|0; $165 = ($164<<24>>24)!=(0); if (!($165)) { @@ -88129,16 +87435,16 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { var $pColl = 0, $sNC = 0, $szAll = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $db = sp + 64|0; + $0 = sp + 8|0; + $1 = sp + 12|0; + $2 = sp + 24|0; + $db = sp + 20|0; $sNC = sp + 32|0; - $pCol = sp + 24|0; - $pColl = sp + 20|0; - $i = sp + 16|0; - $p = sp + 12|0; - $a = sp + 8|0; + $pCol = sp + 76|0; + $pColl = sp + 16|0; + $i = sp + 64|0; + $p = sp + 68|0; + $a = sp + 72|0; $szAll = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; @@ -88153,32 +87459,32 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { $8 = $7; HEAP32[$8>>2] = 0; $9 = HEAP32[$db>>2]|0; - $10 = (($9) + 64|0); + $10 = ((($9)) + 64|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); if ($12) { STACKTOP = sp;return; } - ;HEAP32[$sNC+0>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 32|0); + $14 = ((($13)) + 32|0); $15 = HEAP32[$14>>2]|0; - $16 = (($sNC) + 4|0); + $16 = ((($sNC)) + 4|0); HEAP32[$16>>2] = $15; $17 = HEAP32[$2>>2]|0; $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; HEAP32[$a>>2] = $20; HEAP32[$i>>2] = 0; $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; HEAP32[$pCol>>2] = $23; while(1) { $24 = HEAP32[$i>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 38|0); + $26 = ((($25)) + 38|0); $27 = HEAP16[$26>>1]|0; $28 = $27 << 16 >> 16; $29 = ($24|0)<($28|0); @@ -88193,14 +87499,14 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { $34 = HEAP32[$db>>2]|0; $35 = HEAP32[$p>>2]|0; $36 = HEAP32[$pCol>>2]|0; - $37 = (($36) + 22|0); + $37 = ((($36)) + 22|0); $38 = (_columnTypeImpl($sNC,$35,$37)|0); $39 = (_sqlite3DbStrDup($34,$38)|0); $40 = HEAP32[$pCol>>2]|0; - $41 = (($40) + 12|0); + $41 = ((($40)) + 12|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$pCol>>2]|0; - $43 = (($42) + 22|0); + $43 = ((($42)) + 22|0); $44 = HEAP8[$43>>0]|0; $45 = $44&255; $46 = $szAll; @@ -88220,16 +87526,16 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { $58 = HEAP32[$p>>2]|0; $59 = (_sqlite3ExprAffinity($58)|0); $60 = HEAP32[$pCol>>2]|0; - $61 = (($60) + 21|0); + $61 = ((($60)) + 21|0); HEAP8[$61>>0] = $59; $62 = HEAP32[$pCol>>2]|0; - $63 = (($62) + 21|0); + $63 = ((($62)) + 21|0); $64 = HEAP8[$63>>0]|0; $65 = $64 << 24 >> 24; $66 = ($65|0)==(0); if ($66) { $67 = HEAP32[$pCol>>2]|0; - $68 = (($67) + 21|0); + $68 = ((($67)) + 21|0); HEAP8[$68>>0] = 65; } $69 = HEAP32[$0>>2]|0; @@ -88244,14 +87550,14 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { $76 = HEAP32[$75>>2]|0; $77 = (_sqlite3DbStrDup($74,$76)|0); $78 = HEAP32[$pCol>>2]|0; - $79 = (($78) + 16|0); + $79 = ((($78)) + 16|0); HEAP32[$79>>2] = $77; } $80 = HEAP32[$i>>2]|0; $81 = (($80) + 1)|0; HEAP32[$i>>2] = $81; $82 = HEAP32[$pCol>>2]|0; - $83 = (($82) + 24|0); + $83 = ((($82)) + 24|0); HEAP32[$pCol>>2] = $83; } $84 = $szAll; @@ -88264,7 +87570,7 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { $91 = tempRet0; $92 = (_sqlite3LogEst($90,$91)|0); $93 = HEAP32[$1>>2]|0; - $94 = (($93) + 42|0); + $94 = ((($93)) + 42|0); HEAP16[$94>>1] = $92; STACKTOP = sp;return; } @@ -88282,22 +87588,22 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { var $j = 0, $p = 0, $p3 = 0, $pS = 0, $pS2 = 0, $pTab = 0, $pTabList = 0, $sNC = 0, $sNC1 = 0, $zType = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $zType = sp + 100|0; + $0 = sp; + $1 = sp + 40|0; + $2 = sp + 100|0; + $3 = sp + 92|0; + $zType = sp + 88|0; $j = sp + 96|0; - $estWidth = sp + 120|0; - $pTab = sp + 92|0; - $pS = sp + 88|0; - $iCol = sp + 84|0; - $pTabList = sp + 80|0; - $sNC = sp + 48|0; - $p = sp + 40|0; + $estWidth = sp + 116|0; + $pTab = sp + 108|0; + $pS = sp + 112|0; + $iCol = sp + 52|0; + $pTabList = sp + 4|0; + $sNC = sp + 56|0; + $p = sp + 48|0; $sNC1 = sp + 8|0; - $pS2 = sp + 4|0; - $p3 = sp; + $pS2 = sp + 44|0; + $p3 = sp + 104|0; HEAP32[$1>>2] = $pNC; HEAP32[$2>>2] = $pExpr; HEAP32[$3>>2] = $pEstWidth; @@ -88307,19 +87613,20 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $5 = ($4|0)==(0|0); if (!($5)) { $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if (!($9)) { $10 = HEAP32[$2>>2]|0; $11 = HEAP8[$10>>0]|0; $12 = $11&255; - do { - if ((($12|0) == 154) | (($12|0) == 156)) { + L4: do { + switch ($12|0) { + case 154: case 156: { HEAP32[$pTab>>2] = 0; HEAP32[$pS>>2] = 0; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 32|0); + $14 = ((($13)) + 32|0); $15 = HEAP16[$14>>1]|0; $16 = $15 << 16 >> 16; HEAP32[$iCol>>2] = $16; @@ -88336,7 +87643,7 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { break; } $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; HEAP32[$pTabList>>2] = $24; HEAP32[$j>>2] = 0; @@ -88350,12 +87657,12 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { } $29 = HEAP32[$j>>2]|0; $30 = HEAP32[$pTabList>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = (($31) + (($29*72)|0)|0); - $33 = (($32) + 40|0); + $33 = ((($32)) + 40|0); $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 28|0); + $36 = ((($35)) + 28|0); $37 = HEAP32[$36>>2]|0; $38 = ($34|0)!=($37|0); if (!($38)) { @@ -88372,22 +87679,22 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { if ($44) { $45 = HEAP32[$j>>2]|0; $46 = HEAP32[$pTabList>>2]|0; - $47 = (($46) + 8|0); + $47 = ((($46)) + 8|0); $48 = (($47) + (($45*72)|0)|0); - $49 = (($48) + 16|0); + $49 = ((($48)) + 16|0); $50 = HEAP32[$49>>2]|0; HEAP32[$pTab>>2] = $50; $51 = HEAP32[$j>>2]|0; $52 = HEAP32[$pTabList>>2]|0; - $53 = (($52) + 8|0); + $53 = ((($52)) + 8|0); $54 = (($53) + (($51*72)|0)|0); - $55 = (($54) + 20|0); + $55 = ((($54)) + 20|0); $56 = HEAP32[$55>>2]|0; HEAP32[$pS>>2] = $56; continue; } else { $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 16|0); + $58 = ((($57)) + 16|0); $59 = HEAP32[$58>>2]|0; HEAP32[$1>>2] = $59; continue; @@ -88402,7 +87709,7 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $64 = HEAP32[$iCol>>2]|0; $65 = ($64|0)>=(0); if (!($65)) { - break; + break L4; } $66 = HEAP32[$iCol>>2]|0; $67 = HEAP32[$pS>>2]|0; @@ -88410,23 +87717,23 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $69 = HEAP32[$68>>2]|0; $70 = ($66|0)<($69|0); if (!($70)) { - break; + break L4; } $71 = HEAP32[$iCol>>2]|0; $72 = HEAP32[$pS>>2]|0; $73 = HEAP32[$72>>2]|0; - $74 = (($73) + 4|0); + $74 = ((($73)) + 4|0); $75 = HEAP32[$74>>2]|0; $76 = (($75) + (($71*20)|0)|0); $77 = HEAP32[$76>>2]|0; HEAP32[$p>>2] = $77; $78 = HEAP32[$pS>>2]|0; - $79 = (($78) + 32|0); + $79 = ((($78)) + 32|0); $80 = HEAP32[$79>>2]|0; - $81 = (($sNC) + 4|0); + $81 = ((($sNC)) + 4|0); HEAP32[$81>>2] = $80; $82 = HEAP32[$1>>2]|0; - $83 = (($sNC) + 16|0); + $83 = ((($sNC)) + 16|0); HEAP32[$83>>2] = $82; $84 = HEAP32[$1>>2]|0; $85 = HEAP32[$84>>2]|0; @@ -88434,10 +87741,10 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $86 = HEAP32[$p>>2]|0; $87 = (_columnTypeImpl($sNC,$86,$estWidth)|0); HEAP32[$zType>>2] = $87; - break; + break L4; } $88 = HEAP32[$pTab>>2]|0; - $89 = (($88) + 68|0); + $89 = ((($88)) + 68|0); $90 = HEAP32[$89>>2]|0; $91 = ($90|0)!=(0|0); if ($91) { @@ -88445,7 +87752,7 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $93 = ($92|0)<(0); if ($93) { $94 = HEAP32[$pTab>>2]|0; - $95 = (($94) + 36|0); + $95 = ((($94)) + 36|0); $96 = HEAP16[$95>>1]|0; $97 = $96 << 16 >> 16; HEAP32[$iCol>>2] = $97; @@ -88453,47 +87760,49 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $98 = HEAP32[$iCol>>2]|0; $99 = ($98|0)<(0); if ($99) { - HEAP32[$zType>>2] = 16416; - break; + HEAP32[$zType>>2] = 20773; + break L4; } else { $100 = HEAP32[$iCol>>2]|0; $101 = HEAP32[$pTab>>2]|0; - $102 = (($101) + 4|0); + $102 = ((($101)) + 4|0); $103 = HEAP32[$102>>2]|0; $104 = (($103) + (($100*24)|0)|0); - $105 = (($104) + 12|0); + $105 = ((($104)) + 12|0); $106 = HEAP32[$105>>2]|0; HEAP32[$zType>>2] = $106; $107 = HEAP32[$iCol>>2]|0; $108 = HEAP32[$pTab>>2]|0; - $109 = (($108) + 4|0); + $109 = ((($108)) + 4|0); $110 = HEAP32[$109>>2]|0; $111 = (($110) + (($107*24)|0)|0); - $112 = (($111) + 22|0); + $112 = ((($111)) + 22|0); $113 = HEAP8[$112>>0]|0; HEAP8[$estWidth>>0] = $113; - break; + break L4; } } } - } else if ((($12|0) == 119)) { + break; + } + case 119: { $114 = HEAP32[$2>>2]|0; - $115 = (($114) + 20|0); + $115 = ((($114)) + 20|0); $116 = HEAP32[$115>>2]|0; HEAP32[$pS2>>2] = $116; $117 = HEAP32[$pS2>>2]|0; $118 = HEAP32[$117>>2]|0; - $119 = (($118) + 4|0); + $119 = ((($118)) + 4|0); $120 = HEAP32[$119>>2]|0; $121 = HEAP32[$120>>2]|0; HEAP32[$p3>>2] = $121; $122 = HEAP32[$pS2>>2]|0; - $123 = (($122) + 32|0); + $123 = ((($122)) + 32|0); $124 = HEAP32[$123>>2]|0; - $125 = (($sNC1) + 4|0); + $125 = ((($sNC1)) + 4|0); HEAP32[$125>>2] = $124; $126 = HEAP32[$1>>2]|0; - $127 = (($sNC1) + 16|0); + $127 = ((($sNC1)) + 16|0); HEAP32[$127>>2] = $126; $128 = HEAP32[$1>>2]|0; $129 = HEAP32[$128>>2]|0; @@ -88501,6 +87810,10 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $130 = HEAP32[$p3>>2]|0; $131 = (_columnTypeImpl($sNC1,$130,$estWidth)|0); HEAP32[$zType>>2] = $131; + break; + } + default: { + } } } while(0); $132 = HEAP32[$3>>2]|0; @@ -88537,7 +87850,7 @@ function _sqlite3ExprAffinity($pExpr) { $3 = (_sqlite3ExprSkipCollate($2)|0); HEAP32[$1>>2] = $3; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = $6 & 512; $8 = ($7|0)!=(0); @@ -88554,10 +87867,10 @@ function _sqlite3ExprAffinity($pExpr) { $13 = ($12|0)==(119); if ($13) { $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 20|0); + $15 = ((($14)) + 20|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3ExprAffinity($20)|0); @@ -88569,7 +87882,7 @@ function _sqlite3ExprAffinity($pExpr) { $23 = ($22|0)==(38); if ($23) { $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 8|0); + $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; $27 = (_sqlite3AffinityType($26,0)|0); HEAP8[$0>>0] = $27; @@ -88586,12 +87899,12 @@ function _sqlite3ExprAffinity($pExpr) { $or$cond3 = $or$cond | $33; if ($or$cond3) { $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 44|0); + $35 = ((($34)) + 44|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)!=(0|0); if ($37) { $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 32|0); + $39 = ((($38)) + 32|0); $40 = HEAP16[$39>>1]|0; $41 = $40 << 16 >> 16; HEAP32[$j>>2] = $41; @@ -88604,12 +87917,12 @@ function _sqlite3ExprAffinity($pExpr) { } else { $44 = HEAP32[$j>>2]|0; $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 44|0); + $46 = ((($45)) + 44|0); $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); $49 = HEAP32[$48>>2]|0; $50 = (($49) + (($44*24)|0)|0); - $51 = (($50) + 21|0); + $51 = ((($50)) + 21|0); $52 = HEAP8[$51>>0]|0; HEAP8[$0>>0] = $52; $56 = HEAP8[$0>>0]|0; @@ -88618,7 +87931,7 @@ function _sqlite3ExprAffinity($pExpr) { } } $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 1|0); + $54 = ((($53)) + 1|0); $55 = HEAP8[$54>>0]|0; HEAP8[$0>>0] = $55; $56 = HEAP8[$0>>0]|0; @@ -88635,14 +87948,14 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $j = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $p = 0, $pColl = 0, $zColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $db = sp + 20|0; - $pColl = sp + 16|0; - $p = sp + 12|0; - $op = sp + 8|0; - $j = sp + 4|0; - $zColl = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $db = sp + 8|0; + $pColl = sp + 20|0; + $p = sp + 28|0; + $op = sp; + $j = sp + 12|0; + $zColl = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; $2 = HEAP32[$0>>2]|0; @@ -88662,7 +87975,7 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { $9 = $8&255; HEAP32[$op>>2] = $9; $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = $12 & 512; $14 = ($13|0)!=(0); @@ -88676,7 +87989,7 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { $or$cond = $16 | $18; if ($or$cond) { $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 12|0); + $20 = ((($19)) + 12|0); $21 = HEAP32[$20>>2]|0; HEAP32[$p>>2] = $21; continue; @@ -88691,7 +88004,7 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { $25 = ($24|0)==(159); if ($25) { $26 = HEAP32[$p>>2]|0; - $27 = (($26) + 38|0); + $27 = ((($26)) + 38|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = ($29|0)==(95); @@ -88701,7 +88014,7 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { } } $43 = HEAP32[$p>>2]|0; - $44 = (($43) + 44|0); + $44 = ((($43)) + 44|0); $45 = HEAP32[$44>>2]|0; $46 = ($45|0)!=(0|0); if ($46) { @@ -88722,7 +88035,7 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { } } $80 = HEAP32[$p>>2]|0; - $81 = (($80) + 4|0); + $81 = ((($80)) + 4|0); $82 = HEAP32[$81>>2]|0; $83 = $82 & 256; $84 = ($83|0)!=(0); @@ -88730,48 +88043,48 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { break; } $85 = HEAP32[$p>>2]|0; - $86 = (($85) + 12|0); + $86 = ((($85)) + 12|0); $87 = HEAP32[$86>>2]|0; $88 = ($87|0)!=(0|0); if ($88) { $89 = HEAP32[$p>>2]|0; - $90 = (($89) + 12|0); + $90 = ((($89)) + 12|0); $91 = HEAP32[$90>>2]|0; - $92 = (($91) + 4|0); + $92 = ((($91)) + 4|0); $93 = HEAP32[$92>>2]|0; $94 = $93 & 256; $95 = ($94|0)!=(0); if ($95) { $96 = HEAP32[$p>>2]|0; - $97 = (($96) + 12|0); + $97 = ((($96)) + 12|0); $98 = HEAP32[$97>>2]|0; HEAP32[$p>>2] = $98; continue; } } $99 = HEAP32[$p>>2]|0; - $100 = (($99) + 16|0); + $100 = ((($99)) + 16|0); $101 = HEAP32[$100>>2]|0; HEAP32[$p>>2] = $101; } if ((label|0) == 9) { $31 = HEAP32[$0>>2]|0; $32 = HEAP32[$db>>2]|0; - $33 = (($32) + 16|0); + $33 = ((($32)) + 16|0); $34 = HEAP32[$33>>2]|0; - $35 = (($34) + 12|0); + $35 = ((($34)) + 12|0); $36 = HEAP32[$35>>2]|0; - $37 = (($36) + 77|0); + $37 = ((($36)) + 77|0); $38 = HEAP8[$37>>0]|0; $39 = HEAP32[$p>>2]|0; - $40 = (($39) + 8|0); + $40 = ((($39)) + 8|0); $41 = HEAP32[$40>>2]|0; $42 = (_sqlite3GetCollSeq($31,$38,0,$41)|0); HEAP32[$pColl>>2] = $42; } else if ((label|0) == 12) { $55 = HEAP32[$p>>2]|0; - $56 = (($55) + 32|0); + $56 = ((($55)) + 32|0); $57 = HEAP16[$56>>1]|0; $58 = $57 << 16 >> 16; HEAP32[$j>>2] = $58; @@ -88780,21 +88093,21 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { if ($60) { $61 = HEAP32[$j>>2]|0; $62 = HEAP32[$p>>2]|0; - $63 = (($62) + 44|0); + $63 = ((($62)) + 44|0); $64 = HEAP32[$63>>2]|0; - $65 = (($64) + 4|0); + $65 = ((($64)) + 4|0); $66 = HEAP32[$65>>2]|0; $67 = (($66) + (($61*24)|0)|0); - $68 = (($67) + 16|0); + $68 = ((($67)) + 16|0); $69 = HEAP32[$68>>2]|0; HEAP32[$zColl>>2] = $69; $70 = HEAP32[$db>>2]|0; $71 = HEAP32[$db>>2]|0; - $72 = (($71) + 16|0); + $72 = ((($71)) + 16|0); $73 = HEAP32[$72>>2]|0; - $74 = (($73) + 12|0); + $74 = ((($73)) + 12|0); $75 = HEAP32[$74>>2]|0; - $76 = (($75) + 77|0); + $76 = ((($75)) + 77|0); $77 = HEAP8[$76>>0]|0; $78 = HEAP32[$zColl>>2]|0; $79 = (_sqlite3FindCollSeq($70,$77,$78,0)|0); @@ -88980,7 +88293,7 @@ function _sqlite3LogEst($0,$1) { $115 = $114; $116 = HEAP32[$115>>2]|0; $117 = $113 & 7; - $118 = (16360 + ($117<<1)|0); + $118 = (11658 + ($117<<1)|0); $119 = HEAP16[$118>>1]|0; $120 = $119 << 16 >> 16; $121 = HEAP16[$y>>1]|0; @@ -89003,12 +88316,12 @@ function _sqlite3GetCollSeq($pParse,$enc,$pColl,$zName) { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 20|0; + $0 = sp + 12|0; $1 = sp + 24|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $p = sp + 8|0; - $db = sp + 4|0; + $2 = sp + 20|0; + $3 = sp + 4|0; + $p = sp + 16|0; + $db = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP8[$1>>0] = $enc; HEAP32[$2>>2] = $pColl; @@ -89031,7 +88344,7 @@ function _sqlite3GetCollSeq($pParse,$enc,$pColl,$zName) { $14 = ($13|0)!=(0|0); if ($14) { $15 = HEAP32[$p>>2]|0; - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)!=(0|0); if (!($18)) { @@ -89056,7 +88369,7 @@ function _sqlite3GetCollSeq($pParse,$enc,$pColl,$zName) { $28 = ($27|0)!=(0|0); if ($28) { $29 = HEAP32[$p>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = ($31|0)!=(0|0); if (!($32)) { @@ -89078,7 +88391,7 @@ function _sqlite3GetCollSeq($pParse,$enc,$pColl,$zName) { $39 = HEAP32[$0>>2]|0; $40 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $40; - _sqlite3ErrorMsg($39,16376,$vararg_buffer); + _sqlite3ErrorMsg($39,20739,$vararg_buffer); $41 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($41|0); } @@ -89108,11 +88421,11 @@ function _sqlite3CheckCollSeq($pParse,$pColl) { HEAP32[$db>>2] = $8; $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$db>>2]|0; - $11 = (($10) + 16|0); + $11 = ((($10)) + 16|0); $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 12|0); + $13 = ((($12)) + 12|0); $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 77|0); + $15 = ((($14)) + 77|0); $16 = HEAP8[$15>>0]|0; $17 = HEAP32[$2>>2]|0; $18 = HEAP32[$zName>>2]|0; @@ -89150,7 +88463,7 @@ function _callCollNeeded($db,$enc,$zName) { HEAP32[$1>>2] = $enc; HEAP32[$2>>2] = $zName; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 220|0); + $4 = ((($3)) + 220|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); do { @@ -89163,10 +88476,10 @@ function _callCollNeeded($db,$enc,$zName) { $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 220|0); + $13 = ((($12)) + 220|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 228|0); + $16 = ((($15)) + 228|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$1>>2]|0; @@ -89182,7 +88495,7 @@ function _callCollNeeded($db,$enc,$zName) { } } while(0); $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 224|0); + $24 = ((($23)) + 224|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0|0); if (!($26)) { @@ -89195,7 +88508,7 @@ function _callCollNeeded($db,$enc,$zName) { $30 = HEAP32[$2>>2]|0; _sqlite3ValueSetStr($29,-1,$30,1,0); $31 = HEAP32[$pTmp>>2]|0; - $32 = HEAP8[1136>>0]|0; + $32 = HEAP8[920>>0]|0; $33 = $32 << 24 >> 24; $34 = ($33|0)==(0); $35 = $34 ? 3 : 2; @@ -89206,18 +88519,18 @@ function _callCollNeeded($db,$enc,$zName) { $39 = ($38|0)!=(0|0); if ($39) { $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 224|0); + $41 = ((($40)) + 224|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 228|0); + $44 = ((($43)) + 228|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$0>>2]|0; $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 16|0); + $48 = ((($47)) + 16|0); $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 12|0); + $50 = ((($49)) + 12|0); $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 77|0); + $52 = ((($51)) + 77|0); $53 = HEAP8[$52>>0]|0; $54 = $53&255; $55 = HEAP32[$zExternal1>>2]|0; @@ -89255,13 +88568,13 @@ function _synthCollSeq($db,$pColl) { } $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$i>>2]|0; - $9 = (16408 + ($8)|0); + $9 = (20770 + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = HEAP32[$z>>2]|0; $12 = (_sqlite3FindCollSeq($7,$10,$11,0)|0); HEAP32[$pColl2>>2] = $12; $13 = HEAP32[$pColl2>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)!=(0|0); if ($16) { @@ -89275,9 +88588,9 @@ function _synthCollSeq($db,$pColl) { if ((label|0) == 4) { $17 = HEAP32[$2>>2]|0; $18 = HEAP32[$pColl2>>2]|0; - ;HEAP32[$17+0>>2]=HEAP32[$18+0>>2]|0;HEAP32[$17+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$17+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$17+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$17+16>>2]=HEAP32[$18+16>>2]|0; + ;HEAP32[$17>>2]=HEAP32[$18>>2]|0;HEAP32[$17+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$17+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$17+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$17+16>>2]=HEAP32[$18+16>>2]|0; $19 = HEAP32[$2>>2]|0; - $20 = (($19) + 16|0); + $20 = ((($19)) + 16|0); HEAP32[$20>>2] = 0; HEAP32[$0>>2] = 0; $23 = HEAP32[$0>>2]|0; @@ -89288,7 +88601,7 @@ function _synthCollSeq($db,$pColl) { $23 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($23|0); } - return 0|0; + return (0)|0; } function _sqlite3ExprSkipCollate($pExpr) { $pExpr = $pExpr|0; @@ -89303,7 +88616,7 @@ function _sqlite3ExprSkipCollate($pExpr) { $2 = ($1|0)!=(0|0); if ($2) { $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = $5 & 4096; $7 = ($6|0)!=(0); @@ -89315,21 +88628,21 @@ function _sqlite3ExprSkipCollate($pExpr) { if (!($21)) { break; } - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = $10 & 262144; $12 = ($11|0)!=(0); $13 = HEAP32[$0>>2]|0; if ($12) { - $14 = (($13) + 20|0); + $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$17>>2]|0; HEAP32[$0>>2] = $18; continue; } else { - $19 = (($13) + 12|0); + $19 = ((($13)) + 12|0); $20 = HEAP32[$19>>2]|0; HEAP32[$0>>2] = $20; continue; @@ -89348,24 +88661,24 @@ function _sqlite3SelectExpand($pParse,$pSelect) { $w = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSelect; - ;HEAP32[$w+0>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; - HEAP32[$w>>2] = 37; + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; + HEAP32[$w>>2] = 41; $2 = HEAP32[$0>>2]|0; - $3 = (($w) + 12|0); + $3 = ((($w)) + 12|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 22|0); + $5 = ((($4)) + 22|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); if ($7) { - $8 = (($w) + 4|0); - HEAP32[$8>>2] = 38; + $8 = ((($w)) + 4|0); + HEAP32[$8>>2] = 42; $9 = HEAP32[$1>>2]|0; (_sqlite3WalkSelect($w,$9)|0); } - $10 = (($w) + 4|0); - HEAP32[$10>>2] = 39; - $11 = (($w) + 8|0); + $10 = ((($w)) + 4|0); + HEAP32[$10>>2] = 43; + $11 = ((($w)) + 8|0); HEAP32[$11>>2] = 3; $12 = HEAP32[$1>>2]|0; (_sqlite3WalkSelect($w,$12)|0); @@ -89385,15 +88698,15 @@ function _sqlite3ResolveSelectNames($pParse,$p,$pOuterNC) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pOuterNC; - ;HEAP32[$w+0>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; - HEAP32[$w>>2] = 40; - $3 = (($w) + 4|0); - HEAP32[$3>>2] = 41; + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; + HEAP32[$w>>2] = 44; + $3 = ((($w)) + 4|0); + HEAP32[$3>>2] = 45; $4 = HEAP32[$0>>2]|0; - $5 = (($w) + 12|0); + $5 = ((($w)) + 12|0); HEAP32[$5>>2] = $4; $6 = HEAP32[$2>>2]|0; - $7 = (($w) + 20|0); + $7 = ((($w)) + 20|0); HEAP32[$7>>2] = $6; $8 = HEAP32[$1>>2]|0; (_sqlite3WalkSelect($w,$8)|0); @@ -89410,12 +88723,12 @@ function _sqlite3SelectAddTypeInfo($pParse,$pSelect) { $w = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSelect; - ;HEAP32[$w+0>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; - $2 = (($w) + 8|0); + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; + $2 = ((($w)) + 8|0); HEAP32[$2>>2] = 4; - HEAP32[$w>>2] = 37; + HEAP32[$w>>2] = 41; $3 = HEAP32[$0>>2]|0; - $4 = (($w) + 12|0); + $4 = ((($w)) + 12|0); HEAP32[$4>>2] = $3; $5 = HEAP32[$1>>2]|0; (_sqlite3WalkSelect($w,$5)|0); @@ -89430,18 +88743,18 @@ function _selectAddSubqueryTypeInfo($pWalker,$p) { var $pTab = 0, $pTabList = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $pParse = sp + 20|0; - $i = sp + 16|0; - $pTabList = sp + 12|0; - $pFrom = sp + 8|0; - $pTab = sp + 4|0; - $pSel = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $pParse = sp + 8|0; + $i = sp + 20|0; + $pTabList = sp + 28|0; + $pFrom = sp; + $pTab = sp + 12|0; + $pSel = sp + 24|0; HEAP32[$0>>2] = $pWalker; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 6|0); + $3 = ((($2)) + 6|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = $5 & 32; @@ -89450,23 +88763,23 @@ function _selectAddSubqueryTypeInfo($pWalker,$p) { STACKTOP = sp;return; } $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 6|0); + $9 = ((($8)) + 6|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = $11 | 32; $13 = $12&65535; HEAP16[$9>>1] = $13; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pParse>>2] = $16; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 32|0); + $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pTabList>>2] = $19; HEAP32[$i>>2] = 0; $20 = HEAP32[$pTabList>>2]|0; - $21 = (($20) + 8|0); + $21 = ((($20)) + 8|0); HEAP32[$pFrom>>2] = $21; while(1) { $22 = HEAP32[$i>>2]|0; @@ -89477,21 +88790,21 @@ function _selectAddSubqueryTypeInfo($pWalker,$p) { break; } $26 = HEAP32[$pFrom>>2]|0; - $27 = (($26) + 16|0); + $27 = ((($26)) + 16|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pTab>>2] = $28; $29 = HEAP32[$pTab>>2]|0; $30 = ($29|0)!=(0|0); if ($30) { $31 = HEAP32[$pTab>>2]|0; - $32 = (($31) + 44|0); + $32 = ((($31)) + 44|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = $34 & 2; $36 = ($35|0)!=(0); if ($36) { $37 = HEAP32[$pFrom>>2]|0; - $38 = (($37) + 20|0); + $38 = ((($37)) + 20|0); $39 = HEAP32[$38>>2]|0; HEAP32[$pSel>>2] = $39; $40 = HEAP32[$pSel>>2]|0; @@ -89499,14 +88812,14 @@ function _selectAddSubqueryTypeInfo($pWalker,$p) { if ($41) { while(1) { $42 = HEAP32[$pSel>>2]|0; - $43 = (($42) + 52|0); + $43 = ((($42)) + 52|0); $44 = HEAP32[$43>>2]|0; $45 = ($44|0)!=(0|0); if (!($45)) { break; } $46 = HEAP32[$pSel>>2]|0; - $47 = (($46) + 52|0); + $47 = ((($46)) + 52|0); $48 = HEAP32[$47>>2]|0; HEAP32[$pSel>>2] = $48; } @@ -89521,7 +88834,7 @@ function _selectAddSubqueryTypeInfo($pWalker,$p) { $53 = (($52) + 1)|0; HEAP32[$i>>2] = $53; $54 = HEAP32[$pFrom>>2]|0; - $55 = (($54) + 72|0); + $55 = ((($54)) + 72|0); HEAP32[$pFrom>>2] = $55; } STACKTOP = sp;return; @@ -89558,12 +88871,12 @@ function _sqlite3WalkSelect($pWalker,$p) { do { if (!($4)) { $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0|0); if ($8) { $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0|0); if ($12) { @@ -89572,7 +88885,7 @@ function _sqlite3WalkSelect($pWalker,$p) { } HEAP32[$rc>>2] = 0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 16|0); + $14 = ((($13)) + 16|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + 1)|0; HEAP32[$14>>2] = $16; @@ -89584,12 +88897,12 @@ function _sqlite3WalkSelect($pWalker,$p) { break; } $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)!=(0|0); if ($22) { $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$1>>2]|0; $27 = HEAP32[$2>>2]|0; @@ -89619,25 +88932,25 @@ function _sqlite3WalkSelect($pWalker,$p) { break; } $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 8|0); + $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; $46 = ($45|0)!=(0|0); if ($46) { $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$1>>2]|0; $51 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vii[$49 & 7]($50,$51); } $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 52|0); + $53 = ((($52)) + 52|0); $54 = HEAP32[$53>>2]|0; HEAP32[$2>>2] = $54; } if ((label|0) == 11) { $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 16|0); + $40 = ((($39)) + 16|0); $41 = HEAP32[$40>>2]|0; $42 = (($41) + -1)|0; HEAP32[$40>>2] = $42; @@ -89647,7 +88960,7 @@ function _sqlite3WalkSelect($pWalker,$p) { } else if ((label|0) == 15) { $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 16|0); + $56 = ((($55)) + 16|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + -1)|0; HEAP32[$56>>2] = $58; @@ -89687,7 +89000,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } else { $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 36|0); + $10 = ((($9)) + 36|0); $11 = HEAP32[$10>>2]|0; $12 = (_sqlite3WalkExpr($8,$11)|0); $13 = ($12|0)!=(0); @@ -89697,7 +89010,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 40|0); + $16 = ((($15)) + 40|0); $17 = HEAP32[$16>>2]|0; $18 = (_sqlite3WalkExprList($14,$17)|0); $19 = ($18|0)!=(0); @@ -89707,7 +89020,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 44|0); + $22 = ((($21)) + 44|0); $23 = HEAP32[$22>>2]|0; $24 = (_sqlite3WalkExpr($20,$23)|0); $25 = ($24|0)!=(0); @@ -89717,7 +89030,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $26 = HEAP32[$1>>2]|0; $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 48|0); + $28 = ((($27)) + 48|0); $29 = HEAP32[$28>>2]|0; $30 = (_sqlite3WalkExprList($26,$29)|0); $31 = ($30|0)!=(0); @@ -89727,7 +89040,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $32 = HEAP32[$1>>2]|0; $33 = HEAP32[$2>>2]|0; - $34 = (($33) + 60|0); + $34 = ((($33)) + 60|0); $35 = HEAP32[$34>>2]|0; $36 = (_sqlite3WalkExpr($32,$35)|0); $37 = ($36|0)!=(0); @@ -89737,7 +89050,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $38 = HEAP32[$1>>2]|0; $39 = HEAP32[$2>>2]|0; - $40 = (($39) + 64|0); + $40 = ((($39)) + 64|0); $41 = HEAP32[$40>>2]|0; $42 = (_sqlite3WalkExpr($38,$41)|0); $43 = ($42|0)!=(0); @@ -89769,7 +89082,7 @@ function _sqlite3WalkSelectFrom($pWalker,$p) { HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 32|0); + $4 = ((($3)) + 32|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSrc>>2] = $5; $6 = HEAP32[$pSrc>>2]|0; @@ -89780,7 +89093,7 @@ function _sqlite3WalkSelectFrom($pWalker,$p) { $9 = HEAP32[$8>>2]|0; HEAP32[$i>>2] = $9; $10 = HEAP32[$pSrc>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); HEAP32[$pItem>>2] = $11; while(1) { $12 = HEAP32[$i>>2]|0; @@ -89790,7 +89103,7 @@ function _sqlite3WalkSelectFrom($pWalker,$p) { } $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$pItem>>2]|0; - $16 = (($15) + 20|0); + $16 = ((($15)) + 20|0); $17 = HEAP32[$16>>2]|0; $18 = (_sqlite3WalkSelect($14,$17)|0); $19 = ($18|0)!=(0); @@ -89801,7 +89114,7 @@ function _sqlite3WalkSelectFrom($pWalker,$p) { $21 = (($20) + -1)|0; HEAP32[$i>>2] = $21; $22 = HEAP32[$pItem>>2]|0; - $23 = (($22) + 72|0); + $23 = ((($22)) + 72|0); HEAP32[$pItem>>2] = $23; } HEAP32[$0>>2] = 2; @@ -89835,7 +89148,7 @@ function _sqlite3WalkExprList($pWalker,$p) { $6 = HEAP32[$5>>2]|0; HEAP32[$i>>2] = $6; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; HEAP32[$pItem>>2] = $9; while(1) { @@ -89856,7 +89169,7 @@ function _sqlite3WalkExprList($pWalker,$p) { $18 = (($17) + -1)|0; HEAP32[$i>>2] = $18; $19 = HEAP32[$pItem>>2]|0; - $20 = (($19) + 20|0); + $20 = ((($19)) + 20|0); HEAP32[$pItem>>2] = $20; } HEAP32[$0>>2] = 2; @@ -89899,14 +89212,14 @@ function _sqlite3WalkExpr($pWalker,$pExpr) { do { if ($11) { $12 = HEAP32[$2>>2]|0; - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; $15 = $14 & 16384; $16 = ($15|0)!=(0); if (!($16)) { $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3WalkExpr($17,$20)|0); $22 = ($21|0)!=(0); @@ -89916,7 +89229,7 @@ function _sqlite3WalkExpr($pWalker,$pExpr) { } $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$2>>2]|0; - $25 = (($24) + 16|0); + $25 = ((($24)) + 16|0); $26 = HEAP32[$25>>2]|0; $27 = (_sqlite3WalkExpr($23,$26)|0); $28 = ($27|0)!=(0); @@ -89925,13 +89238,13 @@ function _sqlite3WalkExpr($pWalker,$pExpr) { break L1; } $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 4|0); + $30 = ((($29)) + 4|0); $31 = HEAP32[$30>>2]|0; $32 = $31 & 2048; $33 = ($32|0)!=(0); $34 = HEAP32[$1>>2]|0; $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 20|0); + $36 = ((($35)) + 20|0); if ($33) { $37 = HEAP32[$36>>2]|0; $38 = (_sqlite3WalkSelect($34,$37)|0); @@ -89981,42 +89294,46 @@ function _resolveExprStep($pWalker,$pExpr) { var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $auth = 0, $enc = 0, $is_agg = 0, $n = 0, $nId = 0, $nRef = 0, $no_such_func = 0, $pDef = 0, $pList = 0, $pNC = 0, $pNC2 = 0; - var $pParse = 0, $pRight = 0, $vararg_buffer11 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr6 = 0, $wrong_num_args = 0, $zColumn = 0, $zDb = 0, $zId = 0, $zTable = 0, label = 0, sp = 0; + var $pParse = 0, $pRight = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr6 = 0, $wrong_num_args = 0, $zColumn = 0, $zDb = 0, $zId = 0, $zTable = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer11 = sp; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer11 = sp + 24|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer3 = sp; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 48|0; + $1 = sp + 40|0; + $2 = sp + 84|0; $pNC = sp + 72|0; $pParse = sp + 68|0; $zColumn = sp + 64|0; - $zTable = sp + 60|0; - $zDb = sp + 56|0; - $pRight = sp + 52|0; - $pList = sp + 48|0; - $n = sp + 44|0; - $no_such_func = sp + 40|0; - $wrong_num_args = sp + 36|0; - $is_agg = sp + 32|0; - $auth = sp + 28|0; - $nId = sp + 24|0; - $zId = sp + 20|0; - $pDef = sp + 16|0; - $enc = sp + 88|0; - $pNC2 = sp + 12|0; - $nRef = sp + 8|0; + $zTable = sp + 44|0; + $zDb = sp + 112|0; + $pRight = sp + 56|0; + $pList = sp + 60|0; + $n = sp + 80|0; + $no_such_func = sp + 76|0; + $wrong_num_args = sp + 88|0; + $is_agg = sp + 92|0; + $auth = sp + 96|0; + $nId = sp + 100|0; + $zId = sp + 104|0; + $pDef = sp + 108|0; + $enc = sp + 120|0; + $pNC2 = sp + 52|0; + $nRef = sp + 116|0; HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $pExpr; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 20|0); + $4 = ((($3)) + 20|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pNC>>2] = $5; $6 = HEAP32[$pNC>>2]|0; $7 = HEAP32[$6>>2]|0; HEAP32[$pParse>>2] = $7; $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = $10 & 4; $12 = ($11|0)!=(0); @@ -90026,7 +89343,7 @@ function _resolveExprStep($pWalker,$pExpr) { STACKTOP = sp;return ($308|0); } $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = $15 | 4; HEAP32[$14>>2] = $16; @@ -90034,56 +89351,10 @@ function _resolveExprStep($pWalker,$pExpr) { $18 = HEAP8[$17>>0]|0; $19 = $18&255; switch ($19|0) { - case 135: { - $292 = HEAP32[$pParse>>2]|0; - $293 = HEAP32[$pNC>>2]|0; - _notValidCheckConstraint($292,$293,17056); - $294 = HEAP32[$pParse>>2]|0; - $295 = HEAP32[$pNC>>2]|0; - _notValidPartIdxWhere($294,$295,17056); - break; - } - case 75: case 20: case 119: { - $267 = HEAP32[$2>>2]|0; - $268 = (($267) + 4|0); - $269 = HEAP32[$268>>2]|0; - $270 = $269 & 2048; - $271 = ($270|0)!=(0); - if ($271) { - $272 = HEAP32[$pNC>>2]|0; - $273 = (($272) + 20|0); - $274 = HEAP32[$273>>2]|0; - HEAP32[$nRef>>2] = $274; - $275 = HEAP32[$pParse>>2]|0; - $276 = HEAP32[$pNC>>2]|0; - _notValidCheckConstraint($275,$276,17040); - $277 = HEAP32[$pParse>>2]|0; - $278 = HEAP32[$pNC>>2]|0; - _notValidPartIdxWhere($277,$278,17040); - $279 = HEAP32[$1>>2]|0; - $280 = HEAP32[$2>>2]|0; - $281 = (($280) + 20|0); - $282 = HEAP32[$281>>2]|0; - (_sqlite3WalkSelect($279,$282)|0); - $283 = HEAP32[$nRef>>2]|0; - $284 = HEAP32[$pNC>>2]|0; - $285 = (($284) + 20|0); - $286 = HEAP32[$285>>2]|0; - $287 = ($283|0)!=($286|0); - if ($287) { - $288 = HEAP32[$2>>2]|0; - $289 = (($288) + 4|0); - $290 = HEAP32[$289>>2]|0; - $291 = $290 | 32; - HEAP32[$289>>2] = $291; - } - } - break; - } case 27: { $20 = HEAP32[$pParse>>2]|0; $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 8|0); + $22 = ((($21)) + 8|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$pNC>>2]|0; $25 = HEAP32[$2>>2]|0; @@ -90095,7 +89366,7 @@ function _resolveExprStep($pWalker,$pExpr) { } case 122: { $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 16|0); + $28 = ((($27)) + 16|0); $29 = HEAP32[$28>>2]|0; HEAP32[$pRight>>2] = $29; $30 = HEAP32[$pRight>>2]|0; @@ -90105,32 +89376,32 @@ function _resolveExprStep($pWalker,$pExpr) { if ($33) { HEAP32[$zDb>>2] = 0; $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 12|0); + $35 = ((($34)) + 12|0); $36 = HEAP32[$35>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = HEAP32[$37>>2]|0; HEAP32[$zTable>>2] = $38; $39 = HEAP32[$pRight>>2]|0; - $40 = (($39) + 8|0); + $40 = ((($39)) + 8|0); $41 = HEAP32[$40>>2]|0; HEAP32[$zColumn>>2] = $41; } else { $42 = HEAP32[$2>>2]|0; - $43 = (($42) + 12|0); + $43 = ((($42)) + 12|0); $44 = HEAP32[$43>>2]|0; - $45 = (($44) + 8|0); + $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; HEAP32[$zDb>>2] = $46; $47 = HEAP32[$pRight>>2]|0; - $48 = (($47) + 12|0); + $48 = ((($47)) + 12|0); $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 8|0); + $50 = ((($49)) + 8|0); $51 = HEAP32[$50>>2]|0; HEAP32[$zTable>>2] = $51; $52 = HEAP32[$pRight>>2]|0; - $53 = (($52) + 16|0); + $53 = ((($52)) + 16|0); $54 = HEAP32[$53>>2]|0; - $55 = (($54) + 8|0); + $55 = ((($54)) + 8|0); $56 = HEAP32[$55>>2]|0; HEAP32[$zColumn>>2] = $56; } @@ -90148,7 +89419,7 @@ function _resolveExprStep($pWalker,$pExpr) { } case 153: { $64 = HEAP32[$2>>2]|0; - $65 = (($64) + 20|0); + $65 = ((($64)) + 20|0); $66 = HEAP32[$65>>2]|0; HEAP32[$pList>>2] = $66; $67 = HEAP32[$pList>>2]|0; @@ -90166,18 +89437,18 @@ function _resolveExprStep($pWalker,$pExpr) { HEAP32[$is_agg>>2] = 0; $72 = HEAP32[$pParse>>2]|0; $73 = HEAP32[$72>>2]|0; - $74 = (($73) + 16|0); + $74 = ((($73)) + 16|0); $75 = HEAP32[$74>>2]|0; - $76 = (($75) + 12|0); + $76 = ((($75)) + 12|0); $77 = HEAP32[$76>>2]|0; - $78 = (($77) + 77|0); + $78 = ((($77)) + 77|0); $79 = HEAP8[$78>>0]|0; HEAP8[$enc>>0] = $79; $80 = HEAP32[$pParse>>2]|0; $81 = HEAP32[$pNC>>2]|0; - _notValidPartIdxWhere($80,$81,16800); + _notValidPartIdxWhere($80,$81,21132); $82 = HEAP32[$2>>2]|0; - $83 = (($82) + 8|0); + $83 = ((($82)) + 8|0); $84 = HEAP32[$83>>2]|0; HEAP32[$zId>>2] = $84; $85 = HEAP32[$zId>>2]|0; @@ -90213,13 +89484,13 @@ function _resolveExprStep($pWalker,$pExpr) { } } else { $104 = HEAP32[$pDef>>2]|0; - $105 = (($104) + 12|0); + $105 = ((($104)) + 12|0); $106 = HEAP32[$105>>2]|0; $107 = ($106|0)==(0|0); $108 = $107&1; HEAP32[$is_agg>>2] = $108; $109 = HEAP32[$pDef>>2]|0; - $110 = (($109) + 2|0); + $110 = ((($109)) + 2|0); $111 = HEAP16[$110>>1]|0; $112 = $111&65535; $113 = $112 & 1024; @@ -90227,7 +89498,7 @@ function _resolveExprStep($pWalker,$pExpr) { do { if ($114) { $115 = HEAP32[$2>>2]|0; - $116 = (($115) + 4|0); + $116 = ((($115)) + 4|0); $117 = HEAP32[$116>>2]|0; $118 = $117 | 266240; HEAP32[$116>>2] = $118; @@ -90235,35 +89506,35 @@ function _resolveExprStep($pWalker,$pExpr) { $120 = ($119|0)==(2); if (!($120)) { $138 = HEAP32[$pDef>>2]|0; - $139 = (($138) + 24|0); + $139 = ((($138)) + 24|0); $140 = HEAP32[$139>>2]|0; $141 = HEAP8[$140>>0]|0; $142 = $141 << 24 >> 24; $143 = ($142|0)==(117); $144 = $143 ? 62 : 938; $145 = HEAP32[$2>>2]|0; - $146 = (($145) + 28|0); + $146 = ((($145)) + 28|0); HEAP32[$146>>2] = $144; break; } $121 = HEAP32[$pList>>2]|0; - $122 = (($121) + 4|0); + $122 = ((($121)) + 4|0); $123 = HEAP32[$122>>2]|0; - $124 = (($123) + 20|0); + $124 = ((($123)) + 20|0); $125 = HEAP32[$124>>2]|0; $126 = (_exprProbability($125)|0); $127 = HEAP32[$2>>2]|0; - $128 = (($127) + 28|0); + $128 = ((($127)) + 28|0); HEAP32[$128>>2] = $126; $129 = HEAP32[$2>>2]|0; - $130 = (($129) + 28|0); + $130 = ((($129)) + 28|0); $131 = HEAP32[$130>>2]|0; $132 = ($131|0)<(0); if ($132) { $133 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($133,16816,$vararg_buffer11); + _sqlite3ErrorMsg($133,21142,$vararg_buffer); $134 = HEAP32[$pNC>>2]|0; - $135 = (($134) + 24|0); + $135 = ((($134)) + 24|0); $136 = HEAP32[$135>>2]|0; $137 = (($136) + 1)|0; HEAP32[$135>>2] = $137; @@ -90272,7 +89543,7 @@ function _resolveExprStep($pWalker,$pExpr) { } while(0); $147 = HEAP32[$pParse>>2]|0; $148 = HEAP32[$pDef>>2]|0; - $149 = (($148) + 24|0); + $149 = ((($148)) + 24|0); $150 = HEAP32[$149>>2]|0; $151 = (_sqlite3AuthCheck($147,31,0,$150,0)|0); HEAP32[$auth>>2] = $151; @@ -90280,7 +89551,7 @@ function _resolveExprStep($pWalker,$pExpr) { $153 = ($152|0)!=(0); if (!($153)) { $165 = HEAP32[$pDef>>2]|0; - $166 = (($165) + 2|0); + $166 = ((($165)) + 2|0); $167 = HEAP16[$166>>1]|0; $168 = $167&65535; $169 = $168 & 2048; @@ -90289,7 +89560,7 @@ function _resolveExprStep($pWalker,$pExpr) { break; } $171 = HEAP32[$2>>2]|0; - $172 = (($171) + 4|0); + $172 = ((($171)) + 4|0); $173 = HEAP32[$172>>2]|0; $174 = $173 | 524288; HEAP32[$172>>2] = $174; @@ -90300,12 +89571,12 @@ function _resolveExprStep($pWalker,$pExpr) { if ($155) { $156 = HEAP32[$pParse>>2]|0; $157 = HEAP32[$pDef>>2]|0; - $158 = (($157) + 24|0); + $158 = ((($157)) + 24|0); $159 = HEAP32[$158>>2]|0; - HEAP32[$vararg_buffer11>>2] = $159; - _sqlite3ErrorMsg($156,16888,$vararg_buffer11); + HEAP32[$vararg_buffer1>>2] = $159; + _sqlite3ErrorMsg($156,21213,$vararg_buffer1); $160 = HEAP32[$pNC>>2]|0; - $161 = (($160) + 24|0); + $161 = ((($160)) + 24|0); $162 = HEAP32[$161>>2]|0; $163 = (($162) + 1)|0; HEAP32[$161>>2] = $163; @@ -90321,7 +89592,7 @@ function _resolveExprStep($pWalker,$pExpr) { $176 = ($175|0)!=(0); if ($176) { $177 = HEAP32[$pNC>>2]|0; - $178 = (($177) + 28|0); + $178 = ((($177)) + 28|0); $179 = HEAP16[$178>>1]|0; $180 = $179&65535; $181 = $180 & 1; @@ -90330,12 +89601,12 @@ function _resolveExprStep($pWalker,$pExpr) { $183 = HEAP32[$pParse>>2]|0; $184 = HEAP32[$nId>>2]|0; $185 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer11>>2] = $184; - $vararg_ptr6 = (($vararg_buffer11) + 4|0); + HEAP32[$vararg_buffer3>>2] = $184; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $185; - _sqlite3ErrorMsg($183,16928,$vararg_buffer11); + _sqlite3ErrorMsg($183,21248,$vararg_buffer3); $186 = HEAP32[$pNC>>2]|0; - $187 = (($186) + 24|0); + $187 = ((($186)) + 24|0); $188 = HEAP32[$187>>2]|0; $189 = (($188) + 1)|0; HEAP32[$187>>2] = $189; @@ -90353,8 +89624,8 @@ function _resolveExprStep($pWalker,$pExpr) { if ($191) { $192 = HEAP32[$pParse>>2]|0; $193 = HEAP32[$192>>2]|0; - $194 = (($193) + 140|0); - $195 = (($194) + 5|0); + $194 = ((($193)) + 140|0); + $195 = ((($194)) + 5|0); $196 = HEAP8[$195>>0]|0; $197 = $196&255; $198 = ($197|0)==(0); @@ -90362,12 +89633,12 @@ function _resolveExprStep($pWalker,$pExpr) { $199 = HEAP32[$pParse>>2]|0; $200 = HEAP32[$nId>>2]|0; $201 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer11>>2] = $200; - $vararg_ptr10 = (($vararg_buffer11) + 4|0); + HEAP32[$vararg_buffer7>>2] = $200; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $201; - _sqlite3ErrorMsg($199,16968,$vararg_buffer11); + _sqlite3ErrorMsg($199,21284,$vararg_buffer7); $202 = HEAP32[$pNC>>2]|0; - $203 = (($202) + 24|0); + $203 = ((($202)) + 24|0); $204 = HEAP32[$203>>2]|0; $205 = (($204) + 1)|0; HEAP32[$203>>2] = $205; @@ -90381,11 +89652,11 @@ function _resolveExprStep($pWalker,$pExpr) { $209 = HEAP32[$nId>>2]|0; $210 = HEAP32[$zId>>2]|0; HEAP32[$vararg_buffer11>>2] = $209; - $vararg_ptr14 = (($vararg_buffer11) + 4|0); + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $210; - _sqlite3ErrorMsg($208,16992,$vararg_buffer11); + _sqlite3ErrorMsg($208,21307,$vararg_buffer11); $211 = HEAP32[$pNC>>2]|0; - $212 = (($211) + 24|0); + $212 = ((($211)) + 24|0); $213 = HEAP32[$212>>2]|0; $214 = (($213) + 1)|0; HEAP32[$212>>2] = $214; @@ -90396,7 +89667,7 @@ function _resolveExprStep($pWalker,$pExpr) { $216 = ($215|0)!=(0); if ($216) { $217 = HEAP32[$pNC>>2]|0; - $218 = (($217) + 28|0); + $218 = ((($217)) + 28|0); $219 = HEAP16[$218>>1]|0; $220 = $219&65535; $221 = $220 & -2; @@ -90414,7 +89685,7 @@ function _resolveExprStep($pWalker,$pExpr) { $228 = HEAP32[$2>>2]|0; HEAP8[$228>>0] = -101; $229 = HEAP32[$2>>2]|0; - $230 = (($229) + 38|0); + $230 = ((($229)) + 38|0); HEAP8[$230>>0] = 0; while(1) { $231 = HEAP32[$pNC2>>2]|0; @@ -90424,7 +89695,7 @@ function _resolveExprStep($pWalker,$pExpr) { } $233 = HEAP32[$2>>2]|0; $234 = HEAP32[$pNC2>>2]|0; - $235 = (($234) + 4|0); + $235 = ((($234)) + 4|0); $236 = HEAP32[$235>>2]|0; $237 = (_sqlite3FunctionUsesThisSrc($233,$236)|0); $238 = ($237|0)!=(0); @@ -90433,12 +89704,12 @@ function _resolveExprStep($pWalker,$pExpr) { break; } $240 = HEAP32[$2>>2]|0; - $241 = (($240) + 38|0); + $241 = ((($240)) + 38|0); $242 = HEAP8[$241>>0]|0; $243 = (($242) + 1)<<24>>24; HEAP8[$241>>0] = $243; $244 = HEAP32[$pNC2>>2]|0; - $245 = (($244) + 16|0); + $245 = ((($244)) + 16|0); $246 = HEAP32[$245>>2]|0; HEAP32[$pNC2>>2] = $246; } @@ -90446,13 +89717,13 @@ function _resolveExprStep($pWalker,$pExpr) { $248 = ($247|0)!=(0|0); if ($248) { $249 = HEAP32[$pDef>>2]|0; - $250 = (($249) + 2|0); + $250 = ((($249)) + 2|0); $251 = HEAP16[$250>>1]|0; $252 = $251&65535; $253 = $252 & 4096; $254 = 2 | $253; $255 = HEAP32[$pNC2>>2]|0; - $256 = (($255) + 28|0); + $256 = ((($255)) + 28|0); $257 = HEAP16[$256>>1]|0; $258 = $257&65535; $259 = $258 | $254; @@ -90460,7 +89731,7 @@ function _resolveExprStep($pWalker,$pExpr) { HEAP16[$256>>1] = $260; } $261 = HEAP32[$pNC>>2]|0; - $262 = (($261) + 28|0); + $262 = ((($261)) + 28|0); $263 = HEAP16[$262>>1]|0; $264 = $263&65535; $265 = $264 | 1; @@ -90472,11 +89743,57 @@ function _resolveExprStep($pWalker,$pExpr) { STACKTOP = sp;return ($308|0); break; } + case 75: case 20: case 119: { + $267 = HEAP32[$2>>2]|0; + $268 = ((($267)) + 4|0); + $269 = HEAP32[$268>>2]|0; + $270 = $269 & 2048; + $271 = ($270|0)!=(0); + if ($271) { + $272 = HEAP32[$pNC>>2]|0; + $273 = ((($272)) + 20|0); + $274 = HEAP32[$273>>2]|0; + HEAP32[$nRef>>2] = $274; + $275 = HEAP32[$pParse>>2]|0; + $276 = HEAP32[$pNC>>2]|0; + _notValidCheckConstraint($275,$276,21352); + $277 = HEAP32[$pParse>>2]|0; + $278 = HEAP32[$pNC>>2]|0; + _notValidPartIdxWhere($277,$278,21352); + $279 = HEAP32[$1>>2]|0; + $280 = HEAP32[$2>>2]|0; + $281 = ((($280)) + 20|0); + $282 = HEAP32[$281>>2]|0; + (_sqlite3WalkSelect($279,$282)|0); + $283 = HEAP32[$nRef>>2]|0; + $284 = HEAP32[$pNC>>2]|0; + $285 = ((($284)) + 20|0); + $286 = HEAP32[$285>>2]|0; + $287 = ($283|0)!=($286|0); + if ($287) { + $288 = HEAP32[$2>>2]|0; + $289 = ((($288)) + 4|0); + $290 = HEAP32[$289>>2]|0; + $291 = $290 | 32; + HEAP32[$289>>2] = $291; + } + } + break; + } + case 135: { + $292 = HEAP32[$pParse>>2]|0; + $293 = HEAP32[$pNC>>2]|0; + _notValidCheckConstraint($292,$293,21363); + $294 = HEAP32[$pParse>>2]|0; + $295 = HEAP32[$pNC>>2]|0; + _notValidPartIdxWhere($294,$295,21363); + break; + } default: { } } $296 = HEAP32[$pParse>>2]|0; - $297 = (($296) + 64|0); + $297 = ((($296)) + 64|0); $298 = HEAP32[$297>>2]|0; $299 = ($298|0)!=(0); if ($299) { @@ -90484,7 +89801,7 @@ function _resolveExprStep($pWalker,$pExpr) { } else { $300 = HEAP32[$pParse>>2]|0; $301 = HEAP32[$300>>2]|0; - $302 = (($301) + 64|0); + $302 = ((($301)) + 64|0); $303 = HEAP8[$302>>0]|0; $304 = $303&255; $305 = ($304|0)!=(0); @@ -90512,33 +89829,34 @@ function _resolveSelectStep($pWalker,$p) { var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $isCompound = 0, $nCompound = 0, $nRef = 0, $or$cond = 0, $pEList = 0, $pGroupBy = 0, $pItem = 0; - var $pItem1 = 0, $pLeftmost = 0, $pNC = 0, $pOuterNC = 0, $pParse = 0, $pX = 0, $sNC = 0, $vararg_buffer2 = 0, $zSavedContext = 0, label = 0, sp = 0; + var $pItem1 = 0, $pLeftmost = 0, $pNC = 0, $pOuterNC = 0, $pParse = 0, $pX = 0, $sNC = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $zSavedContext = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; + STACKTOP = STACKTOP + 128|0; $vararg_buffer2 = sp; - $0 = sp + 108|0; - $1 = sp + 104|0; - $2 = sp + 100|0; - $pOuterNC = sp + 96|0; - $sNC = sp + 64|0; - $isCompound = sp + 56|0; - $nCompound = sp + 52|0; - $pParse = sp + 48|0; - $pEList = sp + 44|0; - $i = sp + 40|0; - $pGroupBy = sp + 36|0; - $pLeftmost = sp + 32|0; - $db = sp + 28|0; - $pItem = sp + 24|0; - $pNC = sp + 20|0; - $nRef = sp + 16|0; - $zSavedContext = sp + 12|0; - $pX = sp + 8|0; - $pItem1 = sp + 4|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 56|0; + $1 = sp + 84|0; + $2 = sp + 16|0; + $pOuterNC = sp + 12|0; + $sNC = sp + 24|0; + $isCompound = sp + 80|0; + $nCompound = sp + 76|0; + $pParse = sp + 60|0; + $pEList = sp + 64|0; + $i = sp + 68|0; + $pGroupBy = sp + 72|0; + $pLeftmost = sp + 88|0; + $db = sp + 92|0; + $pItem = sp + 96|0; + $pNC = sp + 100|0; + $nRef = sp + 104|0; + $zSavedContext = sp + 108|0; + $pX = sp + 112|0; + $pItem1 = sp + 116|0; HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 6|0); + $4 = ((($3)) + 6|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = $6 & 2; @@ -90549,18 +89867,18 @@ function _resolveSelectStep($pWalker,$p) { STACKTOP = sp;return ($270|0); } $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 20|0); + $10 = ((($9)) + 20|0); $11 = HEAP32[$10>>2]|0; HEAP32[$pOuterNC>>2] = $11; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 12|0); + $13 = ((($12)) + 12|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pParse>>2] = $14; $15 = HEAP32[$pParse>>2]|0; $16 = HEAP32[$15>>2]|0; HEAP32[$db>>2] = $16; $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 6|0); + $18 = ((($17)) + 6|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; $21 = $20 & 16; @@ -90571,14 +89889,14 @@ function _resolveSelectStep($pWalker,$p) { $25 = HEAP32[$pOuterNC>>2]|0; _sqlite3SelectPrep($23,$24,$25); $26 = HEAP32[$pParse>>2]|0; - $27 = (($26) + 64|0); + $27 = ((($26)) + 64|0); $28 = HEAP32[$27>>2]|0; $29 = ($28|0)!=(0); if ($29) { $36 = 1; } else { $30 = HEAP32[$db>>2]|0; - $31 = (($30) + 64|0); + $31 = ((($30)) + 64|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = ($33|0)!=(0); @@ -90590,7 +89908,7 @@ function _resolveSelectStep($pWalker,$p) { STACKTOP = sp;return ($270|0); } $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 52|0); + $38 = ((($37)) + 52|0); $39 = HEAP32[$38>>2]|0; $40 = ($39|0)!=(0|0); $41 = $40&1; @@ -90606,17 +89924,17 @@ function _resolveSelectStep($pWalker,$p) { break; } $45 = HEAP32[$2>>2]|0; - $46 = (($45) + 6|0); + $46 = ((($45)) + 6|0); $47 = HEAP16[$46>>1]|0; $48 = $47&65535; $49 = $48 | 2; $50 = $49&65535; HEAP16[$46>>1] = $50; - ;HEAP32[$sNC+0>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $51 = HEAP32[$pParse>>2]|0; HEAP32[$sNC>>2] = $51; $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 60|0); + $53 = ((($52)) + 60|0); $54 = HEAP32[$53>>2]|0; $55 = (_sqlite3ResolveExprNames($sNC,$54)|0); $56 = ($55|0)!=(0); @@ -90625,7 +89943,7 @@ function _resolveSelectStep($pWalker,$p) { break; } $57 = HEAP32[$2>>2]|0; - $58 = (($57) + 64|0); + $58 = ((($57)) + 64|0); $59 = HEAP32[$58>>2]|0; $60 = (_sqlite3ResolveExprNames($sNC,$59)|0); $61 = ($60|0)!=(0); @@ -90637,7 +89955,7 @@ function _resolveSelectStep($pWalker,$p) { while(1) { $62 = HEAP32[$i>>2]|0; $63 = HEAP32[$2>>2]|0; - $64 = (($63) + 32|0); + $64 = ((($63)) + 32|0); $65 = HEAP32[$64>>2]|0; $66 = HEAP32[$65>>2]|0; $67 = ($62|0)<($66|0); @@ -90646,19 +89964,19 @@ function _resolveSelectStep($pWalker,$p) { } $68 = HEAP32[$i>>2]|0; $69 = HEAP32[$2>>2]|0; - $70 = (($69) + 32|0); + $70 = ((($69)) + 32|0); $71 = HEAP32[$70>>2]|0; - $72 = (($71) + 8|0); + $72 = ((($71)) + 8|0); $73 = (($72) + (($68*72)|0)|0); HEAP32[$pItem>>2] = $73; $74 = HEAP32[$pItem>>2]|0; - $75 = (($74) + 20|0); + $75 = ((($74)) + 20|0); $76 = HEAP32[$75>>2]|0; $77 = ($76|0)!=(0|0); if ($77) { HEAP32[$nRef>>2] = 0; $78 = HEAP32[$pParse>>2]|0; - $79 = (($78) + 492|0); + $79 = ((($78)) + 492|0); $80 = HEAP32[$79>>2]|0; HEAP32[$zSavedContext>>2] = $80; $81 = HEAP32[$pOuterNC>>2]|0; @@ -90670,40 +89988,40 @@ function _resolveSelectStep($pWalker,$p) { break; } $84 = HEAP32[$pNC>>2]|0; - $85 = (($84) + 20|0); + $85 = ((($84)) + 20|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$nRef>>2]|0; $88 = (($87) + ($86))|0; HEAP32[$nRef>>2] = $88; $89 = HEAP32[$pNC>>2]|0; - $90 = (($89) + 16|0); + $90 = ((($89)) + 16|0); $91 = HEAP32[$90>>2]|0; HEAP32[$pNC>>2] = $91; } $92 = HEAP32[$pItem>>2]|0; - $93 = (($92) + 8|0); + $93 = ((($92)) + 8|0); $94 = HEAP32[$93>>2]|0; $95 = ($94|0)!=(0|0); if ($95) { $96 = HEAP32[$pItem>>2]|0; - $97 = (($96) + 8|0); + $97 = ((($96)) + 8|0); $98 = HEAP32[$97>>2]|0; $99 = HEAP32[$pParse>>2]|0; - $100 = (($99) + 492|0); + $100 = ((($99)) + 492|0); HEAP32[$100>>2] = $98; } $101 = HEAP32[$pParse>>2]|0; $102 = HEAP32[$pItem>>2]|0; - $103 = (($102) + 20|0); + $103 = ((($102)) + 20|0); $104 = HEAP32[$103>>2]|0; $105 = HEAP32[$pOuterNC>>2]|0; _sqlite3ResolveSelectNames($101,$104,$105); $106 = HEAP32[$zSavedContext>>2]|0; $107 = HEAP32[$pParse>>2]|0; - $108 = (($107) + 492|0); + $108 = ((($107)) + 492|0); HEAP32[$108>>2] = $106; $109 = HEAP32[$pParse>>2]|0; - $110 = (($109) + 64|0); + $110 = ((($109)) + 64|0); $111 = HEAP32[$110>>2]|0; $112 = ($111|0)!=(0); if ($112) { @@ -90711,7 +90029,7 @@ function _resolveSelectStep($pWalker,$p) { break L12; } $113 = HEAP32[$db>>2]|0; - $114 = (($113) + 64|0); + $114 = ((($113)) + 64|0); $115 = HEAP8[$114>>0]|0; $116 = $115&255; $117 = ($116|0)!=(0); @@ -90728,13 +90046,13 @@ function _resolveSelectStep($pWalker,$p) { break; } $121 = HEAP32[$pNC>>2]|0; - $122 = (($121) + 20|0); + $122 = ((($121)) + 20|0); $123 = HEAP32[$122>>2]|0; $124 = HEAP32[$nRef>>2]|0; $125 = (($124) - ($123))|0; HEAP32[$nRef>>2] = $125; $126 = HEAP32[$pNC>>2]|0; - $127 = (($126) + 16|0); + $127 = ((($126)) + 16|0); $128 = HEAP32[$127>>2]|0; HEAP32[$pNC>>2] = $128; } @@ -90742,7 +90060,7 @@ function _resolveSelectStep($pWalker,$p) { $130 = ($129|0)!=(0); $131 = $130&1; $132 = HEAP32[$pItem>>2]|0; - $133 = (($132) + 37|0); + $133 = ((($132)) + 37|0); $134 = $131&255; $135 = HEAP8[$133>>0]|0; $136 = $134 & 1; @@ -90755,15 +90073,15 @@ function _resolveSelectStep($pWalker,$p) { $141 = (($140) + 1)|0; HEAP32[$i>>2] = $141; } - $142 = (($sNC) + 28|0); + $142 = ((($sNC)) + 28|0); HEAP16[$142>>1] = 1; $143 = HEAP32[$2>>2]|0; - $144 = (($143) + 32|0); + $144 = ((($143)) + 32|0); $145 = HEAP32[$144>>2]|0; - $146 = (($sNC) + 4|0); + $146 = ((($sNC)) + 4|0); HEAP32[$146>>2] = $145; $147 = HEAP32[$pOuterNC>>2]|0; - $148 = (($sNC) + 16|0); + $148 = ((($sNC)) + 16|0); HEAP32[$148>>2] = $147; $149 = HEAP32[$2>>2]|0; $150 = HEAP32[$149>>2]|0; @@ -90779,7 +90097,7 @@ function _resolveSelectStep($pWalker,$p) { } $155 = HEAP32[$i>>2]|0; $156 = HEAP32[$pEList>>2]|0; - $157 = (($156) + 4|0); + $157 = ((($156)) + 4|0); $158 = HEAP32[$157>>2]|0; $159 = (($158) + (($155*20)|0)|0); $160 = HEAP32[$159>>2]|0; @@ -90796,7 +90114,7 @@ function _resolveSelectStep($pWalker,$p) { HEAP32[$i>>2] = $165; } $166 = HEAP32[$2>>2]|0; - $167 = (($166) + 40|0); + $167 = ((($166)) + 40|0); $168 = HEAP32[$167>>2]|0; HEAP32[$pGroupBy>>2] = $168; $169 = HEAP32[$pGroupBy>>2]|0; @@ -90804,7 +90122,7 @@ function _resolveSelectStep($pWalker,$p) { if ($170) { label = 35; } else { - $171 = (($sNC) + 28|0); + $171 = ((($sNC)) + 28|0); $172 = HEAP16[$171>>1]|0; $173 = $172&65535; $174 = $173 & 2; @@ -90812,7 +90130,7 @@ function _resolveSelectStep($pWalker,$p) { if ($175) { label = 35; } else { - $187 = (($sNC) + 28|0); + $187 = ((($sNC)) + 28|0); $188 = HEAP16[$187>>1]|0; $189 = $188&65535; $190 = $189 & -2; @@ -90822,13 +90140,13 @@ function _resolveSelectStep($pWalker,$p) { } if ((label|0) == 35) { label = 0; - $176 = (($sNC) + 28|0); + $176 = ((($sNC)) + 28|0); $177 = HEAP16[$176>>1]|0; $178 = $177&65535; $179 = $178 & 4096; $180 = 4 | $179; $181 = HEAP32[$2>>2]|0; - $182 = (($181) + 6|0); + $182 = ((($181)) + 6|0); $183 = HEAP16[$182>>1]|0; $184 = $183&65535; $185 = $184 | $180; @@ -90836,7 +90154,7 @@ function _resolveSelectStep($pWalker,$p) { HEAP16[$182>>1] = $186; } $192 = HEAP32[$2>>2]|0; - $193 = (($192) + 44|0); + $193 = ((($192)) + 44|0); $194 = HEAP32[$193>>2]|0; $195 = ($194|0)==(0|0); $196 = HEAP32[$pGroupBy>>2]|0; @@ -90848,10 +90166,10 @@ function _resolveSelectStep($pWalker,$p) { } $199 = HEAP32[$2>>2]|0; $200 = HEAP32[$199>>2]|0; - $201 = (($sNC) + 8|0); + $201 = ((($sNC)) + 8|0); HEAP32[$201>>2] = $200; $202 = HEAP32[$2>>2]|0; - $203 = (($202) + 44|0); + $203 = ((($202)) + 44|0); $204 = HEAP32[$203>>2]|0; $205 = (_sqlite3ResolveExprNames($sNC,$204)|0); $206 = ($205|0)!=(0); @@ -90860,7 +90178,7 @@ function _resolveSelectStep($pWalker,$p) { break; } $207 = HEAP32[$2>>2]|0; - $208 = (($207) + 36|0); + $208 = ((($207)) + 36|0); $209 = HEAP32[$208>>2]|0; $210 = (_sqlite3ResolveExprNames($sNC,$209)|0); $211 = ($210|0)!=(0); @@ -90868,9 +90186,9 @@ function _resolveSelectStep($pWalker,$p) { label = 42; break; } - $212 = (($sNC) + 16|0); + $212 = ((($sNC)) + 16|0); HEAP32[$212>>2] = 0; - $213 = (($sNC) + 28|0); + $213 = ((($sNC)) + 28|0); $214 = HEAP16[$213>>1]|0; $215 = $214&65535; $216 = $215 | 1; @@ -90881,9 +90199,9 @@ function _resolveSelectStep($pWalker,$p) { if (!($219)) { $220 = HEAP32[$2>>2]|0; $221 = HEAP32[$2>>2]|0; - $222 = (($221) + 48|0); + $222 = ((($221)) + 48|0); $223 = HEAP32[$222>>2]|0; - $224 = (_resolveOrderGroupBy($sNC,$220,$223,16480)|0); + $224 = (_resolveOrderGroupBy($sNC,$220,$223,20831)|0); $225 = ($224|0)!=(0); if ($225) { label = 45; @@ -90891,7 +90209,7 @@ function _resolveSelectStep($pWalker,$p) { } } $226 = HEAP32[$db>>2]|0; - $227 = (($226) + 64|0); + $227 = ((($226)) + 64|0); $228 = HEAP8[$227>>0]|0; $229 = ($228<<24>>24)!=(0); if ($229) { @@ -90904,14 +90222,14 @@ function _resolveSelectStep($pWalker,$p) { if ($231) { $232 = HEAP32[$2>>2]|0; $233 = HEAP32[$pGroupBy>>2]|0; - $234 = (_resolveOrderGroupBy($sNC,$232,$233,16488)|0); + $234 = (_resolveOrderGroupBy($sNC,$232,$233,20837)|0); $235 = ($234|0)!=(0); if ($235) { label = 51; break L12; } $236 = HEAP32[$db>>2]|0; - $237 = (($236) + 64|0); + $237 = ((($236)) + 64|0); $238 = HEAP8[$237>>0]|0; $239 = $238&255; $240 = ($239|0)!=(0); @@ -90921,7 +90239,7 @@ function _resolveSelectStep($pWalker,$p) { } HEAP32[$i>>2] = 0; $241 = HEAP32[$pGroupBy>>2]|0; - $242 = (($241) + 4|0); + $242 = ((($241)) + 4|0); $243 = HEAP32[$242>>2]|0; HEAP32[$pItem1>>2] = $243; while(1) { @@ -90934,7 +90252,7 @@ function _resolveSelectStep($pWalker,$p) { } $248 = HEAP32[$pItem1>>2]|0; $249 = HEAP32[$248>>2]|0; - $250 = (($249) + 4|0); + $250 = ((($249)) + 4|0); $251 = HEAP32[$250>>2]|0; $252 = $251 & 2; $253 = ($252|0)!=(0); @@ -90946,13 +90264,13 @@ function _resolveSelectStep($pWalker,$p) { $256 = (($255) + 1)|0; HEAP32[$i>>2] = $256; $257 = HEAP32[$pItem1>>2]|0; - $258 = (($257) + 20|0); + $258 = ((($257)) + 20|0); HEAP32[$pItem1>>2] = $258; } } } while(0); $259 = HEAP32[$2>>2]|0; - $260 = (($259) + 52|0); + $260 = ((($259)) + 52|0); $261 = HEAP32[$260>>2]|0; HEAP32[$2>>2] = $261; $262 = HEAP32[$nCompound>>2]|0; @@ -90980,7 +90298,7 @@ function _resolveSelectStep($pWalker,$p) { } case 38: { $198 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($198,16432,$vararg_buffer2); + _sqlite3ErrorMsg($198,20787,$vararg_buffer); HEAP32[$0>>2] = 2; $270 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($270|0); @@ -91018,7 +90336,7 @@ function _resolveSelectStep($pWalker,$p) { } case 55: { $254 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($254,16496,$vararg_buffer2); + _sqlite3ErrorMsg($254,20843,$vararg_buffer2); HEAP32[$0>>2] = 2; $270 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($270|0); @@ -91044,7 +90362,7 @@ function _resolveSelectStep($pWalker,$p) { break; } } - return 0|0; + return (0)|0; } function _sqlite3ResolveExprNames($pNC,$pExpr) { $pNC = $pNC|0; @@ -91076,11 +90394,11 @@ function _sqlite3ResolveExprNames($pNC,$pExpr) { HEAP32[$pParse>>2] = $6; $7 = HEAP32[$pParse>>2]|0; $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 24|0); + $9 = ((($8)) + 24|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 460|0); + $13 = ((($12)) + 460|0); $14 = HEAP32[$13>>2]|0; $15 = (($10) + ($14))|0; $16 = (_sqlite3ExprCheckHeight($7,$15)|0); @@ -91091,59 +90409,59 @@ function _sqlite3ResolveExprNames($pNC,$pExpr) { STACKTOP = sp;return ($89|0); } $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 24|0); + $19 = ((($18)) + 24|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$pParse>>2]|0; - $22 = (($21) + 460|0); + $22 = ((($21)) + 460|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + ($20))|0; HEAP32[$22>>2] = $24; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 28|0); + $26 = ((($25)) + 28|0); $27 = HEAP16[$26>>1]|0; $28 = $27&65535; $29 = $28 & 4098; $30 = $29&65535; HEAP16[$savedHasAgg>>1] = $30; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 28|0); + $32 = ((($31)) + 28|0); $33 = HEAP16[$32>>1]|0; $34 = $33&65535; $35 = $34 & -4099; $36 = $35&65535; HEAP16[$32>>1] = $36; - ;HEAP32[$w+0>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; - HEAP32[$w>>2] = 40; - $37 = (($w) + 4|0); - HEAP32[$37>>2] = 41; + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; + HEAP32[$w>>2] = 44; + $37 = ((($w)) + 4|0); + HEAP32[$37>>2] = 45; $38 = HEAP32[$1>>2]|0; $39 = HEAP32[$38>>2]|0; - $40 = (($w) + 12|0); + $40 = ((($w)) + 12|0); HEAP32[$40>>2] = $39; $41 = HEAP32[$1>>2]|0; - $42 = (($w) + 20|0); + $42 = ((($w)) + 20|0); HEAP32[$42>>2] = $41; $43 = HEAP32[$2>>2]|0; (_sqlite3WalkExpr($w,$43)|0); $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 24|0); + $45 = ((($44)) + 24|0); $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$1>>2]|0; $48 = HEAP32[$47>>2]|0; - $49 = (($48) + 460|0); + $49 = ((($48)) + 460|0); $50 = HEAP32[$49>>2]|0; $51 = (($50) - ($46))|0; HEAP32[$49>>2] = $51; $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 24|0); + $53 = ((($52)) + 24|0); $54 = HEAP32[$53>>2]|0; $55 = ($54|0)>(0); if ($55) { label = 7; } else { - $56 = (($w) + 12|0); + $56 = ((($w)) + 12|0); $57 = HEAP32[$56>>2]|0; - $58 = (($57) + 64|0); + $58 = ((($57)) + 64|0); $59 = HEAP32[$58>>2]|0; $60 = ($59|0)>(0); if ($60) { @@ -91152,20 +90470,20 @@ function _sqlite3ResolveExprNames($pNC,$pExpr) { } if ((label|0) == 7) { $61 = HEAP32[$2>>2]|0; - $62 = (($61) + 4|0); + $62 = ((($61)) + 4|0); $63 = HEAP32[$62>>2]|0; $64 = $63 | 8; HEAP32[$62>>2] = $64; } $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 28|0); + $66 = ((($65)) + 28|0); $67 = HEAP16[$66>>1]|0; $68 = $67&65535; $69 = $68 & 2; $70 = ($69|0)!=(0); if ($70) { $71 = HEAP32[$2>>2]|0; - $72 = (($71) + 4|0); + $72 = ((($71)) + 4|0); $73 = HEAP32[$72>>2]|0; $74 = $73 | 2; HEAP32[$72>>2] = $74; @@ -91173,14 +90491,14 @@ function _sqlite3ResolveExprNames($pNC,$pExpr) { $75 = HEAP16[$savedHasAgg>>1]|0; $76 = $75&65535; $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 28|0); + $78 = ((($77)) + 28|0); $79 = HEAP16[$78>>1]|0; $80 = $79&65535; $81 = $80 | $76; $82 = $81&65535; HEAP16[$78>>1] = $82; $83 = HEAP32[$2>>2]|0; - $84 = (($83) + 4|0); + $84 = ((($83)) + 4|0); $85 = HEAP32[$84>>2]|0; $86 = $85 & 8; $87 = ($86|0)!=(0); @@ -91202,19 +90520,19 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { var $pParse = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; + $0 = sp + 44|0; + $1 = sp + 36|0; + $2 = sp + 12|0; + $3 = sp + 8|0; $4 = sp + 32|0; - $i = sp + 28|0; - $j = sp + 24|0; - $iCol = sp + 20|0; - $pItem = sp + 16|0; - $pParse = sp + 12|0; - $nResult = sp + 8|0; - $pE = sp + 4|0; - $pE2 = sp; + $i = sp + 40|0; + $j = sp + 48|0; + $iCol = sp + 16|0; + $pItem = sp; + $pParse = sp + 24|0; + $nResult = sp + 4|0; + $pE = sp + 28|0; + $pE2 = sp + 20|0; HEAP32[$1>>2] = $pNC; HEAP32[$2>>2] = $pSelect; HEAP32[$3>>2] = $pOrderBy; @@ -91235,7 +90553,7 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { HEAP32[$pParse>>2] = $11; HEAP32[$i>>2] = 0; $12 = HEAP32[$3>>2]|0; - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pItem>>2] = $14; L5: while(1) { @@ -91270,7 +90588,7 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { $34 = HEAP32[$iCol>>2]|0; $35 = $34&65535; $36 = HEAP32[$pItem>>2]|0; - $37 = (($36) + 16|0); + $37 = ((($36)) + 16|0); HEAP16[$37>>1] = $35; } else { label = 8; @@ -91297,12 +90615,12 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { $50 = HEAP32[$iCol>>2]|0; $51 = $50&65535; $52 = HEAP32[$pItem>>2]|0; - $53 = (($52) + 16|0); + $53 = ((($52)) + 16|0); HEAP16[$53>>1] = $51; break; } $54 = HEAP32[$pItem>>2]|0; - $55 = (($54) + 16|0); + $55 = ((($54)) + 16|0); HEAP16[$55>>1] = 0; $56 = HEAP32[$1>>2]|0; $57 = HEAP32[$pE>>2]|0; @@ -91326,7 +90644,7 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { $66 = HEAP32[$j>>2]|0; $67 = HEAP32[$2>>2]|0; $68 = HEAP32[$67>>2]|0; - $69 = (($68) + 4|0); + $69 = ((($68)) + 4|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + (($66*20)|0)|0); $72 = HEAP32[$71>>2]|0; @@ -91337,7 +90655,7 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { $76 = (($75) + 1)|0; $77 = $76&65535; $78 = HEAP32[$pItem>>2]|0; - $79 = (($78) + 16|0); + $79 = ((($78)) + 16|0); HEAP16[$79>>1] = $77; } $80 = HEAP32[$j>>2]|0; @@ -91350,7 +90668,7 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { $83 = (($82) + 1)|0; HEAP32[$i>>2] = $83; $84 = HEAP32[$pItem>>2]|0; - $85 = (($84) + 20|0); + $85 = ((($84)) + 20|0); HEAP32[$pItem>>2] = $85; } if ((label|0) == 10) { @@ -91379,7 +90697,7 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { $91 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($91|0); } - return 0|0; + return (0)|0; } function _resolveCompoundOrderBy($pParse,$pSelect) { $pParse = $pParse|0; @@ -91387,41 +90705,42 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $db = 0, $i = 0, $iCol = 0, $moreToDo = 0, $or$cond = 0, $pDup = 0, $pE = 0, $pEList = 0, $pItem = 0, $pNew = 0, $pOrderBy = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $db = 0, $i = 0, $iCol = 0, $moreToDo = 0, $pDup = 0, $pE = 0, $pEList = 0, $pItem = 0, $pNew = 0, $pOrderBy = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $vararg_buffer2 = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $i = sp + 40|0; - $pOrderBy = sp + 36|0; + $vararg_buffer1 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 16|0; + $1 = sp + 36|0; + $2 = sp + 12|0; + $i = sp + 24|0; + $pOrderBy = sp + 20|0; $pEList = sp + 32|0; $db = sp + 28|0; - $moreToDo = sp + 24|0; - $pItem = sp + 20|0; - $iCol = sp + 16|0; - $pE = sp + 12|0; - $pDup = sp + 8|0; - $pNew = sp + 4|0; + $moreToDo = sp + 40|0; + $pItem = sp + 44|0; + $iCol = sp + 48|0; + $pE = sp + 52|0; + $pDup = sp + 56|0; + $pNew = sp + 60|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pSelect; HEAP32[$moreToDo>>2] = 1; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 48|0); + $4 = ((($3)) + 48|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pOrderBy>>2] = $5; $6 = HEAP32[$pOrderBy>>2]|0; $7 = ($6|0)==(0|0); if ($7) { HEAP32[$0>>2] = 0; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$8>>2]|0; @@ -91429,16 +90748,16 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $10 = HEAP32[$pOrderBy>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 88|0); - $14 = (($13) + 8|0); + $13 = ((($12)) + 88|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = ($11|0)>($15|0); if ($16) { $17 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($17,16560,$vararg_buffer2); + _sqlite3ErrorMsg($17,20902,$vararg_buffer); HEAP32[$0>>2] = 1; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } HEAP32[$i>>2] = 0; while(1) { @@ -91451,10 +90770,10 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { } $22 = HEAP32[$i>>2]|0; $23 = HEAP32[$pOrderBy>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + (($22*20)|0)|0); - $27 = (($26) + 13|0); + $27 = ((($26)) + 13|0); $28 = HEAP8[$27>>0]|0; $29 = $28 & -2; HEAP8[$27>>0] = $29; @@ -91463,11 +90782,11 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { HEAP32[$i>>2] = $31; } $32 = HEAP32[$2>>2]|0; - $33 = (($32) + 56|0); + $33 = ((($32)) + 56|0); HEAP32[$33>>2] = 0; while(1) { $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 52|0); + $35 = ((($34)) + 52|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)!=(0|0); if (!($37)) { @@ -91475,12 +90794,12 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { } $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$2>>2]|0; - $40 = (($39) + 52|0); + $40 = ((($39)) + 52|0); $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 56|0); + $42 = ((($41)) + 56|0); HEAP32[$42>>2] = $38; $43 = HEAP32[$2>>2]|0; - $44 = (($43) + 52|0); + $44 = ((($43)) + 52|0); $45 = HEAP32[$44>>2]|0; HEAP32[$2>>2] = $45; } @@ -91489,215 +90808,215 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $47 = ($46|0)!=(0|0); $48 = HEAP32[$moreToDo>>2]|0; $49 = ($48|0)!=(0); - $or$cond = $47 & $49; - if (!($or$cond)) { + $50 = $47 ? $49 : 0; + if (!($50)) { label = 33; break; } HEAP32[$moreToDo>>2] = 0; - $50 = HEAP32[$2>>2]|0; - $51 = HEAP32[$50>>2]|0; - HEAP32[$pEList>>2] = $51; + $51 = HEAP32[$2>>2]|0; + $52 = HEAP32[$51>>2]|0; + HEAP32[$pEList>>2] = $52; HEAP32[$i>>2] = 0; - $52 = HEAP32[$pOrderBy>>2]|0; - $53 = (($52) + 4|0); - $54 = HEAP32[$53>>2]|0; - HEAP32[$pItem>>2] = $54; + $53 = HEAP32[$pOrderBy>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$pItem>>2] = $55; while(1) { - $55 = HEAP32[$i>>2]|0; - $56 = HEAP32[$pOrderBy>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = ($55|0)<($57|0); - if (!($58)) { + $56 = HEAP32[$i>>2]|0; + $57 = HEAP32[$pOrderBy>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = ($56|0)<($58|0); + if (!($59)) { break; } HEAP32[$iCol>>2] = -1; - $59 = HEAP32[$pItem>>2]|0; - $60 = (($59) + 13|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61 & 1; - $63 = $62&255; - $64 = ($63|0)!=(0); + $60 = HEAP32[$pItem>>2]|0; + $61 = ((($60)) + 13|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62 & 1; + $64 = $63&255; + $65 = ($64|0)!=(0); do { - if (!($64)) { - $65 = HEAP32[$pItem>>2]|0; - $66 = HEAP32[$65>>2]|0; - $67 = (_sqlite3ExprSkipCollate($66)|0); - HEAP32[$pE>>2] = $67; - $68 = HEAP32[$pE>>2]|0; - $69 = (_sqlite3ExprIsInteger($68,$iCol)|0); - $70 = ($69|0)!=(0); - if ($70) { - $71 = HEAP32[$iCol>>2]|0; - $72 = ($71|0)<=(0); - if ($72) { + if (!($65)) { + $66 = HEAP32[$pItem>>2]|0; + $67 = HEAP32[$66>>2]|0; + $68 = (_sqlite3ExprSkipCollate($67)|0); + HEAP32[$pE>>2] = $68; + $69 = HEAP32[$pE>>2]|0; + $70 = (_sqlite3ExprIsInteger($69,$iCol)|0); + $71 = ($70|0)!=(0); + if ($71) { + $72 = HEAP32[$iCol>>2]|0; + $73 = ($72|0)<=(0); + if ($73) { label = 18; break L16; } - $73 = HEAP32[$iCol>>2]|0; - $74 = HEAP32[$pEList>>2]|0; - $75 = HEAP32[$74>>2]|0; - $76 = ($73|0)>($75|0); - if ($76) { + $74 = HEAP32[$iCol>>2]|0; + $75 = HEAP32[$pEList>>2]|0; + $76 = HEAP32[$75>>2]|0; + $77 = ($74|0)>($76|0); + if ($77) { label = 18; break L16; } } else { - $82 = HEAP32[$1>>2]|0; - $83 = HEAP32[$pEList>>2]|0; - $84 = HEAP32[$pE>>2]|0; - $85 = (_resolveAsName($82,$83,$84)|0); - HEAP32[$iCol>>2] = $85; - $86 = HEAP32[$iCol>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$db>>2]|0; - $89 = HEAP32[$pE>>2]|0; - $90 = (_sqlite3ExprDup($88,$89,0)|0); - HEAP32[$pDup>>2] = $90; - $91 = HEAP32[$db>>2]|0; - $92 = (($91) + 64|0); - $93 = HEAP8[$92>>0]|0; - $94 = ($93<<24>>24)!=(0); - if (!($94)) { - $95 = HEAP32[$1>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = HEAP32[$pDup>>2]|0; - $98 = (_resolveOrderByTermToExprList($95,$96,$97)|0); - HEAP32[$iCol>>2] = $98; - } - $99 = HEAP32[$db>>2]|0; - $100 = HEAP32[$pDup>>2]|0; - _sqlite3ExprDelete($99,$100); - } - } - $101 = HEAP32[$iCol>>2]|0; - $102 = ($101|0)>(0); - if (!($102)) { + $83 = HEAP32[$1>>2]|0; + $84 = HEAP32[$pEList>>2]|0; + $85 = HEAP32[$pE>>2]|0; + $86 = (_resolveAsName($83,$84,$85)|0); + HEAP32[$iCol>>2] = $86; + $87 = HEAP32[$iCol>>2]|0; + $88 = ($87|0)==(0); + if ($88) { + $89 = HEAP32[$db>>2]|0; + $90 = HEAP32[$pE>>2]|0; + $91 = (_sqlite3ExprDup($89,$90,0)|0); + HEAP32[$pDup>>2] = $91; + $92 = HEAP32[$db>>2]|0; + $93 = ((($92)) + 64|0); + $94 = HEAP8[$93>>0]|0; + $95 = ($94<<24>>24)!=(0); + if (!($95)) { + $96 = HEAP32[$1>>2]|0; + $97 = HEAP32[$2>>2]|0; + $98 = HEAP32[$pDup>>2]|0; + $99 = (_resolveOrderByTermToExprList($96,$97,$98)|0); + HEAP32[$iCol>>2] = $99; + } + $100 = HEAP32[$db>>2]|0; + $101 = HEAP32[$pDup>>2]|0; + _sqlite3ExprDelete($100,$101); + } + } + $102 = HEAP32[$iCol>>2]|0; + $103 = ($102|0)>(0); + if (!($103)) { HEAP32[$moreToDo>>2] = 1; break; } - $103 = HEAP32[$db>>2]|0; - $104 = (_sqlite3Expr($103,132,0)|0); - HEAP32[$pNew>>2] = $104; - $105 = HEAP32[$pNew>>2]|0; - $106 = ($105|0)==(0|0); - if ($106) { + $104 = HEAP32[$db>>2]|0; + $105 = (_sqlite3Expr($104,132,0)|0); + HEAP32[$pNew>>2] = $105; + $106 = HEAP32[$pNew>>2]|0; + $107 = ($106|0)==(0|0); + if ($107) { label = 25; break L16; } - $107 = HEAP32[$pNew>>2]|0; - $108 = (($107) + 4|0); - $109 = HEAP32[$108>>2]|0; - $110 = $109 | 1024; - HEAP32[$108>>2] = $110; - $111 = HEAP32[$iCol>>2]|0; - $112 = HEAP32[$pNew>>2]|0; - $113 = (($112) + 8|0); - HEAP32[$113>>2] = $111; - $114 = HEAP32[$pItem>>2]|0; - $115 = HEAP32[$114>>2]|0; - $116 = HEAP32[$pE>>2]|0; - $117 = ($115|0)==($116|0); - $118 = HEAP32[$pNew>>2]|0; - $119 = HEAP32[$pItem>>2]|0; - if ($117) { - HEAP32[$119>>2] = $118; + $108 = HEAP32[$pNew>>2]|0; + $109 = ((($108)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 | 1024; + HEAP32[$109>>2] = $111; + $112 = HEAP32[$iCol>>2]|0; + $113 = HEAP32[$pNew>>2]|0; + $114 = ((($113)) + 8|0); + HEAP32[$114>>2] = $112; + $115 = HEAP32[$pItem>>2]|0; + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$pE>>2]|0; + $118 = ($116|0)==($117|0); + $119 = HEAP32[$pNew>>2]|0; + $120 = HEAP32[$pItem>>2]|0; + if ($118) { + HEAP32[$120>>2] = $119; } else { - $120 = HEAP32[$119>>2]|0; - $121 = (($120) + 12|0); - HEAP32[$121>>2] = $118; + $121 = HEAP32[$120>>2]|0; + $122 = ((($121)) + 12|0); + HEAP32[$122>>2] = $119; } - $122 = HEAP32[$db>>2]|0; - $123 = HEAP32[$pE>>2]|0; - _sqlite3ExprDelete($122,$123); - $124 = HEAP32[$iCol>>2]|0; - $125 = $124&65535; - $126 = HEAP32[$pItem>>2]|0; - $127 = (($126) + 16|0); - HEAP16[$127>>1] = $125; - $128 = HEAP32[$pItem>>2]|0; - $129 = (($128) + 13|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 & -2; - $132 = $131 | 1; - HEAP8[$129>>0] = $132; + $123 = HEAP32[$db>>2]|0; + $124 = HEAP32[$pE>>2]|0; + _sqlite3ExprDelete($123,$124); + $125 = HEAP32[$iCol>>2]|0; + $126 = $125&65535; + $127 = HEAP32[$pItem>>2]|0; + $128 = ((($127)) + 16|0); + HEAP16[$128>>1] = $126; + $129 = HEAP32[$pItem>>2]|0; + $130 = ((($129)) + 13|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131 & -2; + $133 = $132 | 1; + HEAP8[$130>>0] = $133; } } while(0); - $133 = HEAP32[$i>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[$i>>2] = $134; - $135 = HEAP32[$pItem>>2]|0; - $136 = (($135) + 20|0); - HEAP32[$pItem>>2] = $136; + $134 = HEAP32[$i>>2]|0; + $135 = (($134) + 1)|0; + HEAP32[$i>>2] = $135; + $136 = HEAP32[$pItem>>2]|0; + $137 = ((($136)) + 20|0); + HEAP32[$pItem>>2] = $137; } - $137 = HEAP32[$2>>2]|0; - $138 = (($137) + 56|0); - $139 = HEAP32[$138>>2]|0; - HEAP32[$2>>2] = $139; + $138 = HEAP32[$2>>2]|0; + $139 = ((($138)) + 56|0); + $140 = HEAP32[$139>>2]|0; + HEAP32[$2>>2] = $140; } if ((label|0) == 18) { - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$i>>2]|0; - $79 = (($78) + 1)|0; - $80 = HEAP32[$pEList>>2]|0; - $81 = HEAP32[$80>>2]|0; - _resolveOutOfRangeError($77,16480,$79,$81); + $78 = HEAP32[$1>>2]|0; + $79 = HEAP32[$i>>2]|0; + $80 = (($79) + 1)|0; + $81 = HEAP32[$pEList>>2]|0; + $82 = HEAP32[$81>>2]|0; + _resolveOutOfRangeError($78,20831,$80,$82); HEAP32[$0>>2] = 1; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } else if ((label|0) == 25) { HEAP32[$0>>2] = 1; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } else if ((label|0) == 33) { HEAP32[$i>>2] = 0; while(1) { - $140 = HEAP32[$i>>2]|0; - $141 = HEAP32[$pOrderBy>>2]|0; - $142 = HEAP32[$141>>2]|0; - $143 = ($140|0)<($142|0); - if (!($143)) { + $141 = HEAP32[$i>>2]|0; + $142 = HEAP32[$pOrderBy>>2]|0; + $143 = HEAP32[$142>>2]|0; + $144 = ($141|0)<($143|0); + if (!($144)) { label = 38; break; } - $144 = HEAP32[$i>>2]|0; - $145 = HEAP32[$pOrderBy>>2]|0; - $146 = (($145) + 4|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($147) + (($144*20)|0)|0); - $149 = (($148) + 13|0); - $150 = HEAP8[$149>>0]|0; - $151 = $150 & 1; - $152 = $151&255; - $153 = ($152|0)==(0); - if ($153) { + $145 = HEAP32[$i>>2]|0; + $146 = HEAP32[$pOrderBy>>2]|0; + $147 = ((($146)) + 4|0); + $148 = HEAP32[$147>>2]|0; + $149 = (($148) + (($145*20)|0)|0); + $150 = ((($149)) + 13|0); + $151 = HEAP8[$150>>0]|0; + $152 = $151 & 1; + $153 = $152&255; + $154 = ($153|0)==(0); + if ($154) { label = 36; break; } - $157 = HEAP32[$i>>2]|0; - $158 = (($157) + 1)|0; - HEAP32[$i>>2] = $158; + $158 = HEAP32[$i>>2]|0; + $159 = (($158) + 1)|0; + HEAP32[$i>>2] = $159; } if ((label|0) == 36) { - $154 = HEAP32[$1>>2]|0; - $155 = HEAP32[$i>>2]|0; - $156 = (($155) + 1)|0; - HEAP32[$vararg_buffer2>>2] = $156; - _sqlite3ErrorMsg($154,16600,$vararg_buffer2); + $155 = HEAP32[$1>>2]|0; + $156 = HEAP32[$i>>2]|0; + $157 = (($156) + 1)|0; + HEAP32[$vararg_buffer1>>2] = $157; + _sqlite3ErrorMsg($155,20936,$vararg_buffer1); HEAP32[$0>>2] = 1; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } else if ((label|0) == 38) { HEAP32[$0>>2] = 0; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } } - return 0|0; + return (0)|0; } function _sqlite3ExprIsInteger($p,$pValue) { $p = $p|0; @@ -91715,13 +91034,13 @@ function _sqlite3ExprIsInteger($p,$pValue) { HEAP32[$2>>2] = $pValue; HEAP32[$rc>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = $5 & 1024; $7 = ($6|0)!=(0); $8 = HEAP32[$1>>2]|0; if ($7) { - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$2>>2]|0; HEAP32[$11>>2] = $10; @@ -91731,16 +91050,19 @@ function _sqlite3ExprIsInteger($p,$pValue) { } $12 = HEAP8[$8>>0]|0; $13 = $12&255; - if ((($13|0) == 158)) { + switch ($13|0) { + case 158: { $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$2>>2]|0; $18 = (_sqlite3ExprIsInteger($16,$17)|0); HEAP32[$rc>>2] = $18; - } else if ((($13|0) == 157)) { + break; + } + case 157: { $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 12|0); + $20 = ((($19)) + 12|0); $21 = HEAP32[$20>>2]|0; $22 = (_sqlite3ExprIsInteger($21,$v)|0); $23 = ($22|0)!=(0); @@ -91751,6 +91073,10 @@ function _sqlite3ExprIsInteger($p,$pValue) { HEAP32[$26>>2] = $25; HEAP32[$rc>>2] = 1; } + break; + } + default: { + } } $27 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $27; @@ -91779,11 +91105,11 @@ function _resolveOutOfRangeError($pParse,$zType,$i,$mx) { $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $6; - $vararg_ptr2 = (($vararg_buffer) + 8|0); + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $7; - _sqlite3ErrorMsg($4,16664,$vararg_buffer); + _sqlite3ErrorMsg($4,20997,$vararg_buffer); STACKTOP = sp;return; } function _resolveAsName($pParse,$pEList,$pE) { @@ -91794,13 +91120,13 @@ function _resolveAsName($pParse,$pEList,$pE) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $zAs = 0, $zCol = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $i = sp + 8|0; - $zCol = sp + 4|0; - $zAs = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $i = sp + 4|0; + $zCol = sp; + $zAs = sp + 12|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pEList; HEAP32[$3>>2] = $pE; @@ -91811,7 +91137,7 @@ function _resolveAsName($pParse,$pEList,$pE) { L1: do { if ($7) { $8 = HEAP32[$3>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; HEAP32[$zCol>>2] = $10; HEAP32[$i>>2] = 0; @@ -91825,10 +91151,10 @@ function _resolveAsName($pParse,$pEList,$pE) { } $15 = HEAP32[$i>>2]|0; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + (($15*20)|0)|0); - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; HEAP32[$zAs>>2] = $21; $22 = HEAP32[$zAs>>2]|0; @@ -91885,53 +91211,53 @@ function _resolveOrderByTermToExprList($pParse,$pSelect,$pE) { var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $nc = 0, $pEList = 0, $rc = 0, $savedSuppErr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $i = sp + 44|0; - $pEList = sp + 40|0; - $nc = sp + 8|0; - $db = sp + 4|0; - $rc = sp; - $savedSuppErr = sp + 64|0; + $0 = sp + 64|0; + $1 = sp + 48|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $i = sp + 60|0; + $pEList = sp; + $nc = sp + 16|0; + $db = sp + 56|0; + $rc = sp + 52|0; + $savedSuppErr = sp + 68|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pSelect; HEAP32[$3>>2] = $pE; $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$4>>2]|0; HEAP32[$pEList>>2] = $5; - ;HEAP32[$nc+0>>2]=0|0;HEAP32[$nc+4>>2]=0|0;HEAP32[$nc+8>>2]=0|0;HEAP32[$nc+12>>2]=0|0;HEAP32[$nc+16>>2]=0|0;HEAP32[$nc+20>>2]=0|0;HEAP32[$nc+24>>2]=0|0;HEAP32[$nc+28>>2]=0|0; + ;HEAP32[$nc>>2]=0|0;HEAP32[$nc+4>>2]=0|0;HEAP32[$nc+8>>2]=0|0;HEAP32[$nc+12>>2]=0|0;HEAP32[$nc+16>>2]=0|0;HEAP32[$nc+20>>2]=0|0;HEAP32[$nc+24>>2]=0|0;HEAP32[$nc+28>>2]=0|0; $6 = HEAP32[$1>>2]|0; HEAP32[$nc>>2] = $6; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 32|0); + $8 = ((($7)) + 32|0); $9 = HEAP32[$8>>2]|0; - $10 = (($nc) + 4|0); + $10 = ((($nc)) + 4|0); HEAP32[$10>>2] = $9; $11 = HEAP32[$pEList>>2]|0; - $12 = (($nc) + 8|0); + $12 = ((($nc)) + 8|0); HEAP32[$12>>2] = $11; - $13 = (($nc) + 28|0); + $13 = ((($nc)) + 28|0); HEAP16[$13>>1] = 1; - $14 = (($nc) + 24|0); + $14 = ((($nc)) + 24|0); HEAP32[$14>>2] = 0; $15 = HEAP32[$1>>2]|0; $16 = HEAP32[$15>>2]|0; HEAP32[$db>>2] = $16; $17 = HEAP32[$db>>2]|0; - $18 = (($17) + 67|0); + $18 = ((($17)) + 67|0); $19 = HEAP8[$18>>0]|0; HEAP8[$savedSuppErr>>0] = $19; $20 = HEAP32[$db>>2]|0; - $21 = (($20) + 67|0); + $21 = ((($20)) + 67|0); HEAP8[$21>>0] = 1; $22 = HEAP32[$3>>2]|0; $23 = (_sqlite3ResolveExprNames($nc,$22)|0); HEAP32[$rc>>2] = $23; $24 = HEAP8[$savedSuppErr>>0]|0; $25 = HEAP32[$db>>2]|0; - $26 = (($25) + 67|0); + $26 = ((($25)) + 67|0); HEAP8[$26>>0] = $24; $27 = HEAP32[$rc>>2]|0; $28 = ($27|0)!=(0); @@ -91952,7 +91278,7 @@ function _resolveOrderByTermToExprList($pParse,$pSelect,$pE) { } $33 = HEAP32[$i>>2]|0; $34 = HEAP32[$pEList>>2]|0; - $35 = (($34) + 4|0); + $35 = ((($34)) + 4|0); $36 = HEAP32[$35>>2]|0; $37 = (($36) + (($33*20)|0)|0); $38 = HEAP32[$37>>2]|0; @@ -91977,7 +91303,7 @@ function _resolveOrderByTermToExprList($pParse,$pSelect,$pE) { $44 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($44|0); } - return 0|0; + return (0)|0; } function _sqlite3ExprCompare($pA,$pB,$iTab) { $pA = $pA|0; @@ -92017,10 +91343,10 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { STACKTOP = sp;return ($158|0); } $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = $14 | $17; HEAP32[$combinedFlags>>2] = $18; @@ -92029,20 +91355,20 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { $21 = ($20|0)!=(0); $22 = HEAP32[$1>>2]|0; if ($21) { - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = $24 & $27; $29 = $28 & 1024; $30 = ($29|0)!=(0); if ($30) { $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 8|0); + $32 = ((($31)) + 8|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); $36 = HEAP32[$35>>2]|0; $37 = ($33|0)==($36|0); if ($37) { @@ -92068,7 +91394,7 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { $47 = ($46|0)==(95); if ($47) { $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 12|0); + $49 = ((($48)) + 12|0); $50 = HEAP32[$49>>2]|0; $51 = HEAP32[$2>>2]|0; $52 = HEAP32[$3>>2]|0; @@ -92087,7 +91413,7 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { if ($58) { $59 = HEAP32[$1>>2]|0; $60 = HEAP32[$2>>2]|0; - $61 = (($60) + 12|0); + $61 = ((($60)) + 12|0); $62 = HEAP32[$61>>2]|0; $63 = HEAP32[$3>>2]|0; $64 = (_sqlite3ExprCompare($59,$62,$63)|0); @@ -92110,15 +91436,15 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { $70 = ($69|0)!=(156); if ($70) { $71 = HEAP32[$1>>2]|0; - $72 = (($71) + 8|0); + $72 = ((($71)) + 8|0); $73 = HEAP32[$72>>2]|0; $74 = ($73|0)!=(0|0); if ($74) { $75 = HEAP32[$1>>2]|0; - $76 = (($75) + 8|0); + $76 = ((($75)) + 8|0); $77 = HEAP32[$76>>2]|0; $78 = HEAP32[$2>>2]|0; - $79 = (($78) + 8|0); + $79 = ((($78)) + 8|0); $80 = HEAP32[$79>>2]|0; $81 = (_strcmp($77,$80)|0); $82 = ($81|0)!=(0); @@ -92136,11 +91462,11 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { } } $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 4|0); + $89 = ((($88)) + 4|0); $90 = HEAP32[$89>>2]|0; $91 = $90 & 16; $92 = HEAP32[$2>>2]|0; - $93 = (($92) + 4|0); + $93 = ((($92)) + 4|0); $94 = HEAP32[$93>>2]|0; $95 = $94 & 16; $96 = ($91|0)!=($95|0); @@ -92163,10 +91489,10 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { STACKTOP = sp;return ($158|0); } $103 = HEAP32[$1>>2]|0; - $104 = (($103) + 12|0); + $104 = ((($103)) + 12|0); $105 = HEAP32[$104>>2]|0; $106 = HEAP32[$2>>2]|0; - $107 = (($106) + 12|0); + $107 = ((($106)) + 12|0); $108 = HEAP32[$107>>2]|0; $109 = HEAP32[$3>>2]|0; $110 = (_sqlite3ExprCompare($105,$108,$109)|0); @@ -92177,10 +91503,10 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { STACKTOP = sp;return ($158|0); } $112 = HEAP32[$1>>2]|0; - $113 = (($112) + 16|0); + $113 = ((($112)) + 16|0); $114 = HEAP32[$113>>2]|0; $115 = HEAP32[$2>>2]|0; - $116 = (($115) + 16|0); + $116 = ((($115)) + 16|0); $117 = HEAP32[$116>>2]|0; $118 = HEAP32[$3>>2]|0; $119 = (_sqlite3ExprCompare($114,$117,$118)|0); @@ -92191,10 +91517,10 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { STACKTOP = sp;return ($158|0); } $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 20|0); + $122 = ((($121)) + 20|0); $123 = HEAP32[$122>>2]|0; $124 = HEAP32[$2>>2]|0; - $125 = (($124) + 20|0); + $125 = ((($124)) + 20|0); $126 = HEAP32[$125>>2]|0; $127 = HEAP32[$3>>2]|0; $128 = (_sqlite3ExprListCompare($123,$126,$127)|0); @@ -92209,11 +91535,11 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { $132 = ($131|0)==(0); if ($132) { $133 = HEAP32[$1>>2]|0; - $134 = (($133) + 32|0); + $134 = ((($133)) + 32|0); $135 = HEAP16[$134>>1]|0; $136 = $135 << 16 >> 16; $137 = HEAP32[$2>>2]|0; - $138 = (($137) + 32|0); + $138 = ((($137)) + 32|0); $139 = HEAP16[$138>>1]|0; $140 = $139 << 16 >> 16; $141 = ($136|0)!=($140|0); @@ -92223,21 +91549,21 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { STACKTOP = sp;return ($158|0); } $142 = HEAP32[$1>>2]|0; - $143 = (($142) + 28|0); + $143 = ((($142)) + 28|0); $144 = HEAP32[$143>>2]|0; $145 = HEAP32[$2>>2]|0; - $146 = (($145) + 28|0); + $146 = ((($145)) + 28|0); $147 = HEAP32[$146>>2]|0; $148 = ($144|0)!=($147|0); if ($148) { $149 = HEAP32[$1>>2]|0; - $150 = (($149) + 28|0); + $150 = ((($149)) + 28|0); $151 = HEAP32[$150>>2]|0; $152 = HEAP32[$3>>2]|0; $153 = ($151|0)!=($152|0); if (!($153)) { $154 = HEAP32[$2>>2]|0; - $155 = (($154) + 28|0); + $155 = ((($154)) + 28|0); $156 = HEAP32[$155>>2]|0; $157 = ($156|0)>=(0); if (!($157)) { @@ -92265,13 +91591,13 @@ function _sqlite3ExprListCompare($pA,$pB,$iTab) { var $or$cond3 = 0, $pExprA = 0, $pExprB = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $i = sp + 8|0; - $pExprA = sp + 4|0; - $pExprB = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $i = sp + 4|0; + $pExprA = sp; + $pExprB = sp + 12|0; HEAP32[$1>>2] = $pA; HEAP32[$2>>2] = $pB; HEAP32[$3>>2] = $iTab; @@ -92317,32 +91643,32 @@ function _sqlite3ExprListCompare($pA,$pB,$iTab) { } $21 = HEAP32[$i>>2]|0; $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + (($21*20)|0)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$pExprA>>2] = $26; $27 = HEAP32[$i>>2]|0; $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + (($27*20)|0)|0); $32 = HEAP32[$31>>2]|0; HEAP32[$pExprB>>2] = $32; $33 = HEAP32[$i>>2]|0; $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 4|0); + $35 = ((($34)) + 4|0); $36 = HEAP32[$35>>2]|0; $37 = (($36) + (($33*20)|0)|0); - $38 = (($37) + 12|0); + $38 = ((($37)) + 12|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = HEAP32[$i>>2]|0; $42 = HEAP32[$2>>2]|0; - $43 = (($42) + 4|0); + $43 = ((($42)) + 4|0); $44 = HEAP32[$43>>2]|0; $45 = (($44) + (($41*20)|0)|0); - $46 = (($45) + 12|0); + $46 = ((($45)) + 12|0); $47 = HEAP8[$46>>0]|0; $48 = $47&255; $49 = ($40|0)!=($48|0); @@ -92378,7 +91704,7 @@ function _sqlite3ExprListCompare($pA,$pB,$iTab) { $57 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($57|0); } - return 0|0; + return (0)|0; } function _exprDup($db,$p,$flags,$pzBuffer) { $db = $db|0; @@ -92396,18 +91722,18 @@ function _exprDup($db,$p,$flags,$pzBuffer) { var $98 = 0, $99 = 0, $isReduced = 0, $nNewSize = 0, $nSize = 0, $nStructSize = 0, $nToken = 0, $pNew = 0, $staticFlag = 0, $zAlloc = 0, $zToken = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; + $0 = sp + 44|0; + $1 = sp + 36|0; + $2 = sp + 20|0; + $3 = sp + 16|0; $pNew = sp + 32|0; - $isReduced = sp + 28|0; - $zAlloc = sp + 24|0; - $staticFlag = sp + 20|0; - $nStructSize = sp + 16|0; - $nNewSize = sp + 12|0; - $nToken = sp + 8|0; - $nSize = sp + 4|0; + $isReduced = sp + 40|0; + $zAlloc = sp + 48|0; + $staticFlag = sp + 8|0; + $nStructSize = sp + 4|0; + $nNewSize = sp + 24|0; + $nToken = sp + 12|0; + $nSize = sp + 28|0; $zToken = sp; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p; @@ -92457,7 +91783,7 @@ function _exprDup($db,$p,$flags,$pzBuffer) { $26 = $25 & 4095; HEAP32[$nNewSize>>2] = $26; $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = $29 & 1024; $31 = ($30|0)!=(0); @@ -92465,12 +91791,12 @@ function _exprDup($db,$p,$flags,$pzBuffer) { label = 9; } else { $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 8|0); + $33 = ((($32)) + 8|0); $34 = HEAP32[$33>>2]|0; $35 = ($34|0)!=(0|0); if ($35) { $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = HEAP32[$37>>2]|0; $39 = (_sqlite3Strlen30($38)|0); $40 = (($39) + 1)|0; @@ -92505,20 +91831,20 @@ function _exprDup($db,$p,$flags,$pzBuffer) { _memset(($53|0),0,($55|0))|0; } $56 = HEAP32[$pNew>>2]|0; - $57 = (($56) + 4|0); + $57 = ((($56)) + 4|0); $58 = HEAP32[$57>>2]|0; $59 = $58 & -122881; HEAP32[$57>>2] = $59; $60 = HEAP32[$nStructSize>>2]|0; $61 = $60 & 24576; $62 = HEAP32[$pNew>>2]|0; - $63 = (($62) + 4|0); + $63 = ((($62)) + 4|0); $64 = HEAP32[$63>>2]|0; $65 = $64 | $61; HEAP32[$63>>2] = $65; $66 = HEAP32[$staticFlag>>2]|0; $67 = HEAP32[$pNew>>2]|0; - $68 = (($67) + 4|0); + $68 = ((($67)) + 4|0); $69 = HEAP32[$68>>2]|0; $70 = $69 | $66; HEAP32[$68>>2] = $70; @@ -92529,21 +91855,21 @@ function _exprDup($db,$p,$flags,$pzBuffer) { $74 = HEAP32[$zAlloc>>2]|0; $75 = (($74) + ($73)|0); $76 = HEAP32[$pNew>>2]|0; - $77 = (($76) + 8|0); + $77 = ((($76)) + 8|0); HEAP32[$77>>2] = $75; HEAP32[$zToken>>2] = $75; $78 = HEAP32[$zToken>>2]|0; $79 = HEAP32[$1>>2]|0; - $80 = (($79) + 8|0); + $80 = ((($79)) + 8|0); $81 = HEAP32[$80>>2]|0; $82 = HEAP32[$nToken>>2]|0; _memcpy(($78|0),($81|0),($82|0))|0; } $83 = HEAP32[$1>>2]|0; - $84 = (($83) + 4|0); + $84 = ((($83)) + 4|0); $85 = HEAP32[$84>>2]|0; $86 = HEAP32[$pNew>>2]|0; - $87 = (($86) + 4|0); + $87 = ((($86)) + 4|0); $88 = HEAP32[$87>>2]|0; $89 = $85 | $88; $90 = $89 & 16384; @@ -92551,19 +91877,19 @@ function _exprDup($db,$p,$flags,$pzBuffer) { do { if ($91) { $92 = HEAP32[$1>>2]|0; - $93 = (($92) + 4|0); + $93 = ((($92)) + 4|0); $94 = HEAP32[$93>>2]|0; $95 = $94 & 2048; $96 = ($95|0)!=(0); $97 = HEAP32[$0>>2]|0; $98 = HEAP32[$1>>2]|0; - $99 = (($98) + 20|0); + $99 = ((($98)) + 20|0); if ($96) { $100 = HEAP32[$99>>2]|0; $101 = HEAP32[$isReduced>>2]|0; $102 = (_sqlite3SelectDup($97,$100,$101)|0); $103 = HEAP32[$pNew>>2]|0; - $104 = (($103) + 20|0); + $104 = ((($103)) + 20|0); HEAP32[$104>>2] = $102; break; } else { @@ -92571,20 +91897,20 @@ function _exprDup($db,$p,$flags,$pzBuffer) { $106 = HEAP32[$isReduced>>2]|0; $107 = (_sqlite3ExprListDup($97,$105,$106)|0); $108 = HEAP32[$pNew>>2]|0; - $109 = (($108) + 20|0); + $109 = ((($108)) + 20|0); HEAP32[$109>>2] = $107; break; } } } while(0); $110 = HEAP32[$pNew>>2]|0; - $111 = (($110) + 4|0); + $111 = ((($110)) + 4|0); $112 = HEAP32[$111>>2]|0; $113 = $112 & 24576; $114 = ($113|0)!=(0); $115 = HEAP32[$1>>2]|0; if (!($114)) { - $143 = (($115) + 4|0); + $143 = ((($115)) + 4|0); $144 = HEAP32[$143>>2]|0; $145 = $144 & 16384; $146 = ($145|0)!=(0); @@ -92594,19 +91920,19 @@ function _exprDup($db,$p,$flags,$pzBuffer) { } $147 = HEAP32[$0>>2]|0; $148 = HEAP32[$1>>2]|0; - $149 = (($148) + 12|0); + $149 = ((($148)) + 12|0); $150 = HEAP32[$149>>2]|0; $151 = (_sqlite3ExprDup($147,$150,0)|0); $152 = HEAP32[$pNew>>2]|0; - $153 = (($152) + 12|0); + $153 = ((($152)) + 12|0); HEAP32[$153>>2] = $151; $154 = HEAP32[$0>>2]|0; $155 = HEAP32[$1>>2]|0; - $156 = (($155) + 16|0); + $156 = ((($155)) + 16|0); $157 = HEAP32[$156>>2]|0; $158 = (_sqlite3ExprDup($154,$157,0)|0); $159 = HEAP32[$pNew>>2]|0; - $160 = (($159) + 16|0); + $160 = ((($159)) + 16|0); HEAP32[$160>>2] = $158; $161 = HEAP32[$pNew>>2]|0; STACKTOP = sp;return ($161|0); @@ -92617,26 +91943,26 @@ function _exprDup($db,$p,$flags,$pzBuffer) { $119 = (($118) + ($117)|0); HEAP32[$zAlloc>>2] = $119; $120 = HEAP32[$pNew>>2]|0; - $121 = (($120) + 4|0); + $121 = ((($120)) + 4|0); $122 = HEAP32[$121>>2]|0; $123 = $122 & 8192; $124 = ($123|0)!=(0); if ($124) { $125 = HEAP32[$0>>2]|0; $126 = HEAP32[$1>>2]|0; - $127 = (($126) + 12|0); + $127 = ((($126)) + 12|0); $128 = HEAP32[$127>>2]|0; $129 = (_exprDup($125,$128,1,$zAlloc)|0); $130 = HEAP32[$pNew>>2]|0; - $131 = (($130) + 12|0); + $131 = ((($130)) + 12|0); HEAP32[$131>>2] = $129; $132 = HEAP32[$0>>2]|0; $133 = HEAP32[$1>>2]|0; - $134 = (($133) + 16|0); + $134 = ((($133)) + 16|0); $135 = HEAP32[$134>>2]|0; $136 = (_exprDup($132,$135,1,$zAlloc)|0); $137 = HEAP32[$pNew>>2]|0; - $138 = (($137) + 16|0); + $138 = ((($137)) + 16|0); HEAP32[$138>>2] = $136; } $139 = HEAP32[$3>>2]|0; @@ -92682,12 +92008,12 @@ function _dupedExprSize($p,$flags) { STACKTOP = sp;return ($23|0); } $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 12|0); + $11 = ((($10)) + 12|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$1>>2]|0; $14 = (_dupedExprSize($12,$13)|0); $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 16|0); + $16 = ((($15)) + 16|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$1>>2]|0; $19 = (_dupedExprSize($17,$18)|0); @@ -92717,12 +92043,12 @@ function _dupedExprStructSize($p,$flags) { HEAP32[$nSize>>2] = 48; } else { $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 12|0); + $6 = ((($5)) + 12|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); if (!($8)) { $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 20|0); + $10 = ((($9)) + 20|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)!=(0|0); if (!($12)) { @@ -92745,7 +92071,7 @@ function _exprStructSize($p) { $1 = sp; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = $4 & 16384; $6 = ($5|0)!=(0); @@ -92754,7 +92080,7 @@ function _exprStructSize($p) { HEAP32[$0>>2] = 12; } else { $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = $9 & 8192; $11 = ($10|0)!=(0); @@ -92782,15 +92108,15 @@ function _sqlite3ExprListDup($db,$p,$flags) { var $pOldItem = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pNew = sp + 16|0; - $pItem = sp + 12|0; - $pOldItem = sp + 8|0; - $i = sp + 4|0; - $pOldExpr = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $pNew = sp + 32|0; + $pItem = sp; + $pOldItem = sp + 12|0; + $i = sp + 24|0; + $pOldExpr = sp + 20|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $flags; @@ -92843,7 +92169,7 @@ function _sqlite3ExprListDup($db,$p,$flags) { $26 = (_sqlite3DbMallocRaw($23,$25,0)|0); HEAP32[$pItem>>2] = $26; $27 = HEAP32[$pNew>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); HEAP32[$28>>2] = $26; $29 = HEAP32[$pItem>>2]|0; $30 = ($29|0)==(0|0); @@ -92856,7 +92182,7 @@ function _sqlite3ExprListDup($db,$p,$flags) { STACKTOP = sp;return ($95|0); } $33 = HEAP32[$2>>2]|0; - $34 = (($33) + 4|0); + $34 = ((($33)) + 4|0); $35 = HEAP32[$34>>2]|0; HEAP32[$pOldItem>>2] = $35; HEAP32[$i>>2] = 0; @@ -92879,39 +92205,39 @@ function _sqlite3ExprListDup($db,$p,$flags) { HEAP32[$46>>2] = $45; $47 = HEAP32[$1>>2]|0; $48 = HEAP32[$pOldItem>>2]|0; - $49 = (($48) + 4|0); + $49 = ((($48)) + 4|0); $50 = HEAP32[$49>>2]|0; $51 = (_sqlite3DbStrDup($47,$50)|0); $52 = HEAP32[$pItem>>2]|0; - $53 = (($52) + 4|0); + $53 = ((($52)) + 4|0); HEAP32[$53>>2] = $51; $54 = HEAP32[$1>>2]|0; $55 = HEAP32[$pOldItem>>2]|0; - $56 = (($55) + 8|0); + $56 = ((($55)) + 8|0); $57 = HEAP32[$56>>2]|0; $58 = (_sqlite3DbStrDup($54,$57)|0); $59 = HEAP32[$pItem>>2]|0; - $60 = (($59) + 8|0); + $60 = ((($59)) + 8|0); HEAP32[$60>>2] = $58; $61 = HEAP32[$pOldItem>>2]|0; - $62 = (($61) + 12|0); + $62 = ((($61)) + 12|0); $63 = HEAP8[$62>>0]|0; $64 = HEAP32[$pItem>>2]|0; - $65 = (($64) + 12|0); + $65 = ((($64)) + 12|0); HEAP8[$65>>0] = $63; $66 = HEAP32[$pItem>>2]|0; - $67 = (($66) + 13|0); + $67 = ((($66)) + 13|0); $68 = HEAP8[$67>>0]|0; $69 = $68 & -2; HEAP8[$67>>0] = $69; $70 = HEAP32[$pOldItem>>2]|0; - $71 = (($70) + 13|0); + $71 = ((($70)) + 13|0); $72 = HEAP8[$71>>0]|0; $73 = ($72&255) >>> 1; $74 = $73 & 1; $75 = $74&255; $76 = HEAP32[$pItem>>2]|0; - $77 = (($76) + 13|0); + $77 = ((($76)) + 13|0); $78 = $75&255; $79 = HEAP8[$77>>0]|0; $80 = $78 & 1; @@ -92920,18 +92246,18 @@ function _sqlite3ExprListDup($db,$p,$flags) { $83 = $82 | $81; HEAP8[$77>>0] = $83; $84 = HEAP32[$pItem>>2]|0; - $85 = (($84) + 16|0); + $85 = ((($84)) + 16|0); $86 = HEAP32[$pOldItem>>2]|0; - $87 = (($86) + 16|0); - ;HEAP32[$85+0>>2]=HEAP32[$87+0>>2]|0; + $87 = ((($86)) + 16|0); + ;HEAP32[$85>>2]=HEAP32[$87>>2]|0; $88 = HEAP32[$i>>2]|0; $89 = (($88) + 1)|0; HEAP32[$i>>2] = $89; $90 = HEAP32[$pItem>>2]|0; - $91 = (($90) + 20|0); + $91 = ((($90)) + 20|0); HEAP32[$pItem>>2] = $91; $92 = HEAP32[$pOldItem>>2]|0; - $93 = (($92) + 20|0); + $93 = ((($92)) + 20|0); HEAP32[$pOldItem>>2] = $93; } $94 = HEAP32[$pNew>>2]|0; @@ -92957,18 +92283,18 @@ function _dupedExprNodeSize($p,$flags) { $5 = $4 & 4095; HEAP32[$nByte>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = $8 & 1024; $10 = ($9|0)!=(0); if (!($10)) { $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)!=(0|0); if ($14) { $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; $18 = (_sqlite3Strlen30($17)|0); $19 = (($18) + 1)|0; @@ -92994,15 +92320,15 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $i = sp + 16|0; - $db = sp + 12|0; - $pEList = sp + 8|0; - $pItem = sp + 4|0; + $0 = sp + 16|0; + $1 = sp + 20|0; + $2 = sp + 24|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $i = sp + 12|0; + $db = sp + 28|0; + $pEList = sp + 32|0; + $pItem = sp + 36|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pSelect; HEAP32[$3>>2] = $pOrderBy; @@ -93015,7 +92341,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { if (!($8)) { $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 64|0); + $11 = ((($10)) + 64|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = ($13|0)!=(0); @@ -93023,15 +92349,15 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { $15 = HEAP32[$3>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$db>>2]|0; - $18 = (($17) + 88|0); - $19 = (($18) + 8|0); + $18 = ((($17)) + 88|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = ($16|0)>($20|0); if ($21) { $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer>>2] = $23; - _sqlite3ErrorMsg($22,16720,$vararg_buffer); + _sqlite3ErrorMsg($22,21053,$vararg_buffer); HEAP32[$0>>2] = 1; $63 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($63|0); @@ -93041,7 +92367,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { HEAP32[$pEList>>2] = $25; HEAP32[$i>>2] = 0; $26 = HEAP32[$3>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pItem>>2] = $28; while(1) { @@ -93054,12 +92380,12 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { break; } $33 = HEAP32[$pItem>>2]|0; - $34 = (($33) + 16|0); + $34 = ((($33)) + 16|0); $35 = HEAP16[$34>>1]|0; $36 = ($35<<16>>16)!=(0); if ($36) { $37 = HEAP32[$pItem>>2]|0; - $38 = (($37) + 16|0); + $38 = ((($37)) + 16|0); $39 = HEAP16[$38>>1]|0; $40 = $39&65535; $41 = HEAP32[$pEList>>2]|0; @@ -93072,7 +92398,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { } $50 = HEAP32[$pEList>>2]|0; $51 = HEAP32[$pItem>>2]|0; - $52 = (($51) + 16|0); + $52 = ((($51)) + 16|0); $53 = HEAP16[$52>>1]|0; $54 = $53&65535; $55 = (($54) - 1)|0; @@ -93085,7 +92411,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { $60 = (($59) + 1)|0; HEAP32[$i>>2] = $60; $61 = HEAP32[$pItem>>2]|0; - $62 = (($61) + 20|0); + $62 = ((($61)) + 20|0); HEAP32[$pItem>>2] = $62; } if ((label|0) == 10) { @@ -93125,15 +92451,15 @@ function _resolveAlias($pParse,$pEList,$iCol,$pExpr,$zType,$nSubquery) { var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $pDup = 0, $pOrig = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $pOrig = sp + 8|0; - $pDup = sp + 4|0; - $db = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $5 = sp; + $pOrig = sp + 12|0; + $pDup = sp + 24|0; + $db = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pEList; HEAP32[$2>>2] = $iCol; @@ -93142,7 +92468,7 @@ function _resolveAlias($pParse,$pEList,$iCol,$pExpr,$zType,$nSubquery) { HEAP32[$5>>2] = $nSubquery; $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + (($6*20)|0)|0); $11 = HEAP32[$10>>2]|0; @@ -93182,47 +92508,47 @@ function _resolveAlias($pParse,$pEList,$iCol,$pExpr,$zType,$nSubquery) { STACKTOP = sp;return; } $34 = HEAP32[$pDup>>2]|0; - $35 = (($34) + 4|0); + $35 = ((($34)) + 4|0); $36 = HEAP32[$35>>2]|0; $37 = $36 | 4096; HEAP32[$35>>2] = $37; $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; $42 = (($41) + (($38*20)|0)|0); - $43 = (($42) + 16|0); - $44 = (($43) + 2|0); + $43 = ((($42)) + 16|0); + $44 = ((($43)) + 2|0); $45 = HEAP16[$44>>1]|0; $46 = $45&65535; $47 = ($46|0)==(0); if ($47) { $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 456|0); + $49 = ((($48)) + 456|0); $50 = HEAP32[$49>>2]|0; $51 = (($50) + 1)|0; HEAP32[$49>>2] = $51; $52 = $51&65535; $53 = HEAP32[$2>>2]|0; $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 4|0); + $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; $57 = (($56) + (($53*20)|0)|0); - $58 = (($57) + 16|0); - $59 = (($58) + 2|0); + $58 = ((($57)) + 16|0); + $59 = ((($58)) + 2|0); HEAP16[$59>>1] = $52; } $60 = HEAP32[$2>>2]|0; $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 4|0); + $62 = ((($61)) + 4|0); $63 = HEAP32[$62>>2]|0; $64 = (($63) + (($60*20)|0)|0); - $65 = (($64) + 16|0); - $66 = (($65) + 2|0); + $65 = ((($64)) + 16|0); + $66 = ((($65)) + 2|0); $67 = HEAP16[$66>>1]|0; $68 = $67&65535; $69 = HEAP32[$pDup>>2]|0; - $70 = (($69) + 28|0); + $70 = ((($69)) + 28|0); HEAP32[$70>>2] = $68; } } @@ -93234,13 +92560,13 @@ function _resolveAlias($pParse,$pEList,$iCol,$pExpr,$zType,$nSubquery) { $75 = HEAP32[$0>>2]|0; $76 = HEAP32[$pDup>>2]|0; $77 = HEAP32[$3>>2]|0; - $78 = (($77) + 8|0); + $78 = ((($77)) + 8|0); $79 = HEAP32[$78>>2]|0; $80 = (_sqlite3ExprAddCollateString($75,$76,$79)|0); HEAP32[$pDup>>2] = $80; } $81 = HEAP32[$3>>2]|0; - $82 = (($81) + 4|0); + $82 = ((($81)) + 4|0); $83 = HEAP32[$82>>2]|0; $84 = $83 | 32768; HEAP32[$82>>2] = $84; @@ -93249,28 +92575,28 @@ function _resolveAlias($pParse,$pEList,$iCol,$pExpr,$zType,$nSubquery) { _sqlite3ExprDelete($85,$86); $87 = HEAP32[$3>>2]|0; $88 = HEAP32[$pDup>>2]|0; - dest=$87+0|0; src=$88+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$87; src=$88; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $89 = HEAP32[$3>>2]|0; - $90 = (($89) + 4|0); + $90 = ((($89)) + 4|0); $91 = HEAP32[$90>>2]|0; $92 = $91 & 1024; $93 = ($92|0)!=(0); if (!($93)) { $94 = HEAP32[$3>>2]|0; - $95 = (($94) + 8|0); + $95 = ((($94)) + 8|0); $96 = HEAP32[$95>>2]|0; $97 = ($96|0)!=(0|0); if ($97) { $98 = HEAP32[$db>>2]|0; $99 = HEAP32[$3>>2]|0; - $100 = (($99) + 8|0); + $100 = ((($99)) + 8|0); $101 = HEAP32[$100>>2]|0; $102 = (_sqlite3DbStrDup($98,$101)|0); $103 = HEAP32[$3>>2]|0; - $104 = (($103) + 8|0); + $104 = ((($103)) + 8|0); HEAP32[$104>>2] = $102; $105 = HEAP32[$3>>2]|0; - $106 = (($105) + 4|0); + $106 = ((($105)) + 4|0); $107 = HEAP32[$106>>2]|0; $108 = $107 | 65536; HEAP32[$106>>2] = $108; @@ -93297,10 +92623,10 @@ function _incrAggFunctionDepth($pExpr,$N) { if (!($3)) { STACKTOP = sp;return; } - ;HEAP32[$w+0>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; - HEAP32[$w>>2] = 42; + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; + HEAP32[$w>>2] = 46; $4 = HEAP32[$1>>2]|0; - $5 = (($w) + 20|0); + $5 = ((($w)) + 20|0); HEAP32[$5>>2] = $4; $6 = HEAP32[$0>>2]|0; (_sqlite3WalkExpr($w,$6)|0); @@ -93324,7 +92650,7 @@ function _sqlite3ExprAddCollateString($pParse,$pExpr,$zC) { HEAP32[$s>>2] = $3; $4 = HEAP32[$s>>2]|0; $5 = (_sqlite3Strlen30($4)|0); - $6 = (($s) + 4|0); + $6 = ((($s)) + 4|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$1>>2]|0; @@ -93349,10 +92675,10 @@ function _incrAggDepth($pWalker,$pExpr) { STACKTOP = sp;return 0; } $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 20|0); + $7 = ((($6)) + 20|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 38|0); + $10 = ((($9)) + 38|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = (($12) + ($8))|0; @@ -93376,8 +92702,8 @@ function _sqlite3ExprCheckHeight($pParse,$nHeight) { HEAP32[$rc>>2] = 0; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 88|0); - $5 = (($4) + 12|0); + $4 = ((($3)) + 88|0); + $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; HEAP32[$mxHeight>>2] = $6; $7 = HEAP32[$1>>2]|0; @@ -93390,7 +92716,7 @@ function _sqlite3ExprCheckHeight($pParse,$nHeight) { $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$mxHeight>>2]|0; HEAP32[$vararg_buffer>>2] = $11; - _sqlite3ErrorMsg($10,16752,$vararg_buffer); + _sqlite3ErrorMsg($10,21084,$vararg_buffer); HEAP32[$rc>>2] = 1; $12 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($12|0); @@ -93425,44 +92751,47 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cnt = 0, $cntTab = 0, $db = 0; - var $hit = 0, $i = 0, $iCol = 0, $isTrigger = 0, $j = 0, $n = 0, $nSubquery = 0, $op = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pCol = 0, $pEList = 0; - var $pItem = 0, $pMatch = 0, $pOrig = 0, $pSchema = 0, $pSrcList = 0, $pTab = 0, $pTopNC = 0, $vararg_buffer31 = 0, $vararg_ptr23 = 0, $vararg_ptr24 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0, $vararg_ptr34 = 0, $zAs = 0, $zErr = 0, $zTabName = 0, label = 0, sp = 0; + var $511 = 0, $512 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cnt = 0, $cntTab = 0, $db = 0, $hit = 0, $i = 0, $iCol = 0; + var $isTrigger = 0, $j = 0, $n = 0, $nSubquery = 0, $op = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pCol = 0, $pEList = 0, $pItem = 0, $pMatch = 0, $pOrig = 0, $pSchema = 0; + var $pSrcList = 0, $pTab = 0, $pTopNC = 0, $vararg_buffer = 0, $vararg_buffer18 = 0, $vararg_buffer24 = 0, $vararg_buffer29 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr23 = 0, $vararg_ptr27 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0, $zAs = 0, $zErr = 0, $zTabName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer31 = sp; - $0 = sp + 132|0; - $1 = sp + 128|0; - $2 = sp + 124|0; - $3 = sp + 120|0; - $4 = sp + 116|0; - $5 = sp + 112|0; - $6 = sp + 108|0; - $i = sp + 104|0; - $j = sp + 100|0; - $cnt = sp + 96|0; - $cntTab = sp + 92|0; - $nSubquery = sp + 88|0; - $db = sp + 84|0; - $pItem = sp + 80|0; - $pMatch = sp + 76|0; - $pTopNC = sp + 72|0; - $pSchema = sp + 68|0; - $isTrigger = sp + 64|0; - $pTab = sp + 60|0; - $pCol = sp + 56|0; - $pEList = sp + 52|0; - $pSrcList = sp + 48|0; - $hit = sp + 44|0; - $zTabName = sp + 40|0; - $op = sp + 36|0; - $iCol = sp + 32|0; - $zAs = sp + 28|0; - $pOrig = sp + 24|0; - $zErr = sp + 20|0; - $n = sp + 16|0; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer29 = sp + 40|0; + $vararg_buffer24 = sp + 16|0; + $vararg_buffer18 = sp; + $vararg_buffer = sp + 32|0; + $0 = sp + 84|0; + $1 = sp + 56|0; + $2 = sp + 48|0; + $3 = sp + 124|0; + $4 = sp + 112|0; + $5 = sp + 80|0; + $6 = sp + 76|0; + $i = sp + 52|0; + $j = sp + 64|0; + $cnt = sp + 68|0; + $cntTab = sp + 72|0; + $nSubquery = sp + 120|0; + $db = sp + 116|0; + $pItem = sp + 108|0; + $pMatch = sp + 104|0; + $pTopNC = sp + 88|0; + $pSchema = sp + 92|0; + $isTrigger = sp + 96|0; + $pTab = sp + 100|0; + $pCol = sp + 60|0; + $pEList = sp + 128|0; + $pSrcList = sp + 132|0; + $hit = sp + 136|0; + $zTabName = sp + 140|0; + $op = sp + 144|0; + $iCol = sp + 148|0; + $zAs = sp + 152|0; + $pOrig = sp + 156|0; + $zErr = sp + 160|0; + $n = sp + 164|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $zDb; HEAP32[$3>>2] = $zTab; @@ -93482,17 +92811,17 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { HEAP32[$isTrigger>>2] = 0; HEAP32[$pTab>>2] = 0; $10 = HEAP32[$6>>2]|0; - $11 = (($10) + 28|0); + $11 = ((($10)) + 28|0); HEAP32[$11>>2] = -1; $12 = HEAP32[$6>>2]|0; - $13 = (($12) + 44|0); + $13 = ((($12)) + 44|0); HEAP32[$13>>2] = 0; $14 = HEAP32[$2>>2]|0; $15 = ($14|0)!=(0|0); L1: do { if ($15) { $16 = HEAP32[$5>>2]|0; - $17 = (($16) + 28|0); + $17 = ((($16)) + 28|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = $19 & 20; @@ -93505,7 +92834,7 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { while(1) { $22 = HEAP32[$i>>2]|0; $23 = HEAP32[$db>>2]|0; - $24 = (($23) + 20|0); + $24 = ((($23)) + 20|0); $25 = HEAP32[$24>>2]|0; $26 = ($22|0)<($25|0); if (!($26)) { @@ -93513,7 +92842,7 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { } $27 = HEAP32[$i>>2]|0; $28 = HEAP32[$db>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + ($27<<4)|0); $32 = HEAP32[$31>>2]|0; @@ -93528,10 +92857,10 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { HEAP32[$i>>2] = $43; } $37 = HEAP32[$db>>2]|0; - $38 = (($37) + 16|0); + $38 = ((($37)) + 16|0); $39 = HEAP32[$38>>2]|0; $40 = (($39) + ($36<<4)|0); - $41 = (($40) + 12|0); + $41 = ((($40)) + 12|0); $42 = HEAP32[$41>>2]|0; HEAP32[$pSchema>>2] = $42; } @@ -93541,98 +92870,98 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $45 = ($44|0)!=(0|0); $46 = HEAP32[$cnt>>2]|0; $47 = ($46|0)==(0); - $or$cond19 = $45 & $47; - if (!($or$cond19)) { - label = 92; + $48 = $45 ? $47 : 0; + if (!($48)) { + label = 88; break; } - $48 = HEAP32[$5>>2]|0; - $49 = (($48) + 4|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$pSrcList>>2] = $50; - $51 = HEAP32[$pSrcList>>2]|0; - $52 = ($51|0)!=(0|0); - if ($52) { + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$pSrcList>>2] = $51; + $52 = HEAP32[$pSrcList>>2]|0; + $53 = ($52|0)!=(0|0); + if ($53) { HEAP32[$i>>2] = 0; - $53 = HEAP32[$pSrcList>>2]|0; - $54 = (($53) + 8|0); - HEAP32[$pItem>>2] = $54; + $54 = HEAP32[$pSrcList>>2]|0; + $55 = ((($54)) + 8|0); + HEAP32[$pItem>>2] = $55; while(1) { - $55 = HEAP32[$i>>2]|0; - $56 = HEAP32[$pSrcList>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = ($55|0)<($57|0); - if (!($58)) { + $56 = HEAP32[$i>>2]|0; + $57 = HEAP32[$pSrcList>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = ($56|0)<($58|0); + if (!($59)) { break; } - $59 = HEAP32[$pItem>>2]|0; - $60 = (($59) + 16|0); - $61 = HEAP32[$60>>2]|0; - HEAP32[$pTab>>2] = $61; - $62 = HEAP32[$pItem>>2]|0; - $63 = (($62) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)!=(0|0); - if ($65) { - $66 = HEAP32[$pItem>>2]|0; - $67 = (($66) + 20|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + 6|0); - $70 = HEAP16[$69>>1]|0; - $71 = $70&65535; - $72 = $71 & 512; - $73 = ($72|0)!=(0); - if ($73) { + $60 = HEAP32[$pItem>>2]|0; + $61 = ((($60)) + 16|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$pTab>>2] = $62; + $63 = HEAP32[$pItem>>2]|0; + $64 = ((($63)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)!=(0|0); + if ($66) { + $67 = HEAP32[$pItem>>2]|0; + $68 = ((($67)) + 20|0); + $69 = HEAP32[$68>>2]|0; + $70 = ((($69)) + 6|0); + $71 = HEAP16[$70>>1]|0; + $72 = $71&65535; + $73 = $72 & 512; + $74 = ($73|0)!=(0); + if ($74) { HEAP32[$hit>>2] = 0; - $74 = HEAP32[$pItem>>2]|0; - $75 = (($74) + 20|0); - $76 = HEAP32[$75>>2]|0; + $75 = HEAP32[$pItem>>2]|0; + $76 = ((($75)) + 20|0); $77 = HEAP32[$76>>2]|0; - HEAP32[$pEList>>2] = $77; + $78 = HEAP32[$77>>2]|0; + HEAP32[$pEList>>2] = $78; HEAP32[$j>>2] = 0; while(1) { - $78 = HEAP32[$j>>2]|0; - $79 = HEAP32[$pEList>>2]|0; - $80 = HEAP32[$79>>2]|0; - $81 = ($78|0)<($80|0); - if (!($81)) { + $79 = HEAP32[$j>>2]|0; + $80 = HEAP32[$pEList>>2]|0; + $81 = HEAP32[$80>>2]|0; + $82 = ($79|0)<($81|0); + if (!($82)) { break; } - $82 = HEAP32[$j>>2]|0; - $83 = HEAP32[$pEList>>2]|0; - $84 = (($83) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = (($85) + (($82*20)|0)|0); - $87 = (($86) + 8|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$4>>2]|0; - $90 = HEAP32[$3>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = (_sqlite3MatchSpanName($88,$89,$90,$91)|0); - $93 = ($92|0)!=(0); - if ($93) { - $94 = HEAP32[$cnt>>2]|0; - $95 = (($94) + 1)|0; - HEAP32[$cnt>>2] = $95; + $83 = HEAP32[$j>>2]|0; + $84 = HEAP32[$pEList>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($86) + (($83*20)|0)|0); + $88 = ((($87)) + 8|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$4>>2]|0; + $91 = HEAP32[$3>>2]|0; + $92 = HEAP32[$2>>2]|0; + $93 = (_sqlite3MatchSpanName($89,$90,$91,$92)|0); + $94 = ($93|0)!=(0); + if ($94) { + $95 = HEAP32[$cnt>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$cnt>>2] = $96; HEAP32[$cntTab>>2] = 2; - $96 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $96; - $97 = HEAP32[$j>>2]|0; - $98 = $97&65535; - $99 = HEAP32[$6>>2]|0; - $100 = (($99) + 32|0); - HEAP16[$100>>1] = $98; + $97 = HEAP32[$pItem>>2]|0; + HEAP32[$pMatch>>2] = $97; + $98 = HEAP32[$j>>2]|0; + $99 = $98&65535; + $100 = HEAP32[$6>>2]|0; + $101 = ((($100)) + 32|0); + HEAP16[$101>>1] = $99; HEAP32[$hit>>2] = 1; } - $101 = HEAP32[$j>>2]|0; - $102 = (($101) + 1)|0; - HEAP32[$j>>2] = $102; + $102 = HEAP32[$j>>2]|0; + $103 = (($102) + 1)|0; + HEAP32[$j>>2] = $103; } - $103 = HEAP32[$hit>>2]|0; - $104 = ($103|0)!=(0); - $105 = HEAP32[$3>>2]|0; - $106 = ($105|0)==(0|0); - $or$cond = $104 | $106; + $104 = HEAP32[$hit>>2]|0; + $105 = ($104|0)!=(0); + $106 = HEAP32[$3>>2]|0; + $107 = ($106|0)==(0|0); + $or$cond = $105 | $107; if (!($or$cond)) { label = 21; } @@ -93645,204 +92974,204 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { L29: do { if ((label|0) == 21) { label = 0; - $107 = HEAP32[$2>>2]|0; - $108 = ($107|0)!=(0|0); - if ($108) { - $109 = HEAP32[$pTab>>2]|0; - $110 = (($109) + 68|0); - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$pSchema>>2]|0; - $113 = ($111|0)!=($112|0); - if ($113) { + $108 = HEAP32[$2>>2]|0; + $109 = ($108|0)!=(0|0); + if ($109) { + $110 = HEAP32[$pTab>>2]|0; + $111 = ((($110)) + 68|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$pSchema>>2]|0; + $114 = ($112|0)!=($113|0); + if ($114) { break; } } - $114 = HEAP32[$3>>2]|0; - $115 = ($114|0)!=(0|0); - if ($115) { - $116 = HEAP32[$pItem>>2]|0; - $117 = (($116) + 12|0); - $118 = HEAP32[$117>>2]|0; - $119 = ($118|0)!=(0|0); - if ($119) { - $120 = HEAP32[$pItem>>2]|0; - $121 = (($120) + 12|0); - $122 = HEAP32[$121>>2]|0; - $125 = $122; + $115 = HEAP32[$3>>2]|0; + $116 = ($115|0)!=(0|0); + if ($116) { + $117 = HEAP32[$pItem>>2]|0; + $118 = ((($117)) + 12|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)!=(0|0); + if ($120) { + $121 = HEAP32[$pItem>>2]|0; + $122 = ((($121)) + 12|0); + $123 = HEAP32[$122>>2]|0; + $126 = $123; } else { - $123 = HEAP32[$pTab>>2]|0; - $124 = HEAP32[$123>>2]|0; - $125 = $124; + $124 = HEAP32[$pTab>>2]|0; + $125 = HEAP32[$124>>2]|0; + $126 = $125; } - HEAP32[$zTabName>>2] = $125; - $126 = HEAP32[$zTabName>>2]|0; - $127 = HEAP32[$3>>2]|0; - $128 = (_sqlite3_stricmp($126,$127)|0); - $129 = ($128|0)!=(0); - if ($129) { + HEAP32[$zTabName>>2] = $126; + $127 = HEAP32[$zTabName>>2]|0; + $128 = HEAP32[$3>>2]|0; + $129 = (_sqlite3_stricmp($127,$128)|0); + $130 = ($129|0)!=(0); + if ($130) { break; } } - $130 = HEAP32[$cntTab>>2]|0; - $131 = (($130) + 1)|0; - HEAP32[$cntTab>>2] = $131; - $132 = (0)==($130|0); - if ($132) { - $133 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $133; + $131 = HEAP32[$cntTab>>2]|0; + $132 = (($131) + 1)|0; + HEAP32[$cntTab>>2] = $132; + $133 = (0)==($131|0); + if ($133) { + $134 = HEAP32[$pItem>>2]|0; + HEAP32[$pMatch>>2] = $134; } HEAP32[$j>>2] = 0; - $134 = HEAP32[$pTab>>2]|0; - $135 = (($134) + 4|0); - $136 = HEAP32[$135>>2]|0; - HEAP32[$pCol>>2] = $136; + $135 = HEAP32[$pTab>>2]|0; + $136 = ((($135)) + 4|0); + $137 = HEAP32[$136>>2]|0; + HEAP32[$pCol>>2] = $137; while(1) { - $137 = HEAP32[$j>>2]|0; - $138 = HEAP32[$pTab>>2]|0; - $139 = (($138) + 38|0); - $140 = HEAP16[$139>>1]|0; - $141 = $140 << 16 >> 16; - $142 = ($137|0)<($141|0); - if (!($142)) { + $138 = HEAP32[$j>>2]|0; + $139 = HEAP32[$pTab>>2]|0; + $140 = ((($139)) + 38|0); + $141 = HEAP16[$140>>1]|0; + $142 = $141 << 16 >> 16; + $143 = ($138|0)<($142|0); + if (!($143)) { break L29; } - $143 = HEAP32[$pCol>>2]|0; - $144 = HEAP32[$143>>2]|0; - $145 = HEAP32[$4>>2]|0; - $146 = (_sqlite3_stricmp($144,$145)|0); - $147 = ($146|0)==(0); - if ($147) { - $148 = HEAP32[$cnt>>2]|0; - $149 = ($148|0)==(1); - if (!($149)) { + $144 = HEAP32[$pCol>>2]|0; + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$4>>2]|0; + $147 = (_sqlite3_stricmp($145,$146)|0); + $148 = ($147|0)==(0); + if ($148) { + $149 = HEAP32[$cnt>>2]|0; + $150 = ($149|0)==(1); + if (!($150)) { break; } - $150 = HEAP32[$pItem>>2]|0; - $151 = (($150) + 36|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = $153 & 4; - $155 = ($154|0)!=(0); - if (!($155)) { - $156 = HEAP32[$pItem>>2]|0; - $157 = (($156) + 48|0); - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$4>>2]|0; - $160 = (_nameInUsingClause($158,$159)|0); - $161 = ($160|0)!=(0); - if (!($161)) { + $151 = HEAP32[$pItem>>2]|0; + $152 = ((($151)) + 36|0); + $153 = HEAP8[$152>>0]|0; + $154 = $153&255; + $155 = $154 & 4; + $156 = ($155|0)!=(0); + if (!($156)) { + $157 = HEAP32[$pItem>>2]|0; + $158 = ((($157)) + 48|0); + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$4>>2]|0; + $161 = (_nameInUsingClause($159,$160)|0); + $162 = ($161|0)!=(0); + if (!($162)) { break; } } } - $178 = HEAP32[$j>>2]|0; - $179 = (($178) + 1)|0; - HEAP32[$j>>2] = $179; - $180 = HEAP32[$pCol>>2]|0; - $181 = (($180) + 24|0); - HEAP32[$pCol>>2] = $181; + $179 = HEAP32[$j>>2]|0; + $180 = (($179) + 1)|0; + HEAP32[$j>>2] = $180; + $181 = HEAP32[$pCol>>2]|0; + $182 = ((($181)) + 24|0); + HEAP32[$pCol>>2] = $182; } - $162 = HEAP32[$cnt>>2]|0; - $163 = (($162) + 1)|0; - HEAP32[$cnt>>2] = $163; - $164 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $164; - $165 = HEAP32[$j>>2]|0; - $166 = HEAP32[$pTab>>2]|0; - $167 = (($166) + 36|0); - $168 = HEAP16[$167>>1]|0; - $169 = $168 << 16 >> 16; - $170 = ($165|0)==($169|0); - if ($170) { - $175 = -1; + $163 = HEAP32[$cnt>>2]|0; + $164 = (($163) + 1)|0; + HEAP32[$cnt>>2] = $164; + $165 = HEAP32[$pItem>>2]|0; + HEAP32[$pMatch>>2] = $165; + $166 = HEAP32[$j>>2]|0; + $167 = HEAP32[$pTab>>2]|0; + $168 = ((($167)) + 36|0); + $169 = HEAP16[$168>>1]|0; + $170 = $169 << 16 >> 16; + $171 = ($166|0)==($170|0); + if ($171) { + $176 = -1; } else { - $171 = HEAP32[$j>>2]|0; - $172 = $171&65535; - $173 = $172 << 16 >> 16; - $175 = $173; + $172 = HEAP32[$j>>2]|0; + $173 = $172&65535; + $174 = $173 << 16 >> 16; + $176 = $174; } - $174 = $175&65535; - $176 = HEAP32[$6>>2]|0; - $177 = (($176) + 32|0); - HEAP16[$177>>1] = $174; + $175 = $176&65535; + $177 = HEAP32[$6>>2]|0; + $178 = ((($177)) + 32|0); + HEAP16[$178>>1] = $175; } } while(0); - $182 = HEAP32[$i>>2]|0; - $183 = (($182) + 1)|0; - HEAP32[$i>>2] = $183; - $184 = HEAP32[$pItem>>2]|0; - $185 = (($184) + 72|0); - HEAP32[$pItem>>2] = $185; - } - $186 = HEAP32[$pMatch>>2]|0; - $187 = ($186|0)!=(0|0); - if ($187) { - $188 = HEAP32[$pMatch>>2]|0; - $189 = (($188) + 40|0); - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$6>>2]|0; - $192 = (($191) + 28|0); - HEAP32[$192>>2] = $190; - $193 = HEAP32[$pMatch>>2]|0; - $194 = (($193) + 16|0); - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$6>>2]|0; - $197 = (($196) + 44|0); - HEAP32[$197>>2] = $195; - $198 = HEAP32[$pMatch>>2]|0; - $199 = (($198) + 36|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200&255; - $202 = $201 & 8; - $203 = ($202|0)!=(0); - if ($203) { - $204 = HEAP32[$6>>2]|0; - $205 = (($204) + 4|0); - $206 = HEAP32[$205>>2]|0; - $207 = $206 | 1048576; - HEAP32[$205>>2] = $207; - } - $208 = HEAP32[$6>>2]|0; - $209 = (($208) + 44|0); - $210 = HEAP32[$209>>2]|0; - $211 = (($210) + 68|0); - $212 = HEAP32[$211>>2]|0; - HEAP32[$pSchema>>2] = $212; - } - } - $213 = HEAP32[$2>>2]|0; - $214 = ($213|0)==(0|0); - $215 = HEAP32[$3>>2]|0; - $216 = ($215|0)!=(0|0); - $or$cond3 = $214 & $216; - $217 = HEAP32[$cntTab>>2]|0; - $218 = ($217|0)==(0); - $or$cond5 = $or$cond3 & $218; + $183 = HEAP32[$i>>2]|0; + $184 = (($183) + 1)|0; + HEAP32[$i>>2] = $184; + $185 = HEAP32[$pItem>>2]|0; + $186 = ((($185)) + 72|0); + HEAP32[$pItem>>2] = $186; + } + $187 = HEAP32[$pMatch>>2]|0; + $188 = ($187|0)!=(0|0); + if ($188) { + $189 = HEAP32[$pMatch>>2]|0; + $190 = ((($189)) + 40|0); + $191 = HEAP32[$190>>2]|0; + $192 = HEAP32[$6>>2]|0; + $193 = ((($192)) + 28|0); + HEAP32[$193>>2] = $191; + $194 = HEAP32[$pMatch>>2]|0; + $195 = ((($194)) + 16|0); + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$6>>2]|0; + $198 = ((($197)) + 44|0); + HEAP32[$198>>2] = $196; + $199 = HEAP32[$pMatch>>2]|0; + $200 = ((($199)) + 36|0); + $201 = HEAP8[$200>>0]|0; + $202 = $201&255; + $203 = $202 & 8; + $204 = ($203|0)!=(0); + if ($204) { + $205 = HEAP32[$6>>2]|0; + $206 = ((($205)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = $207 | 1048576; + HEAP32[$206>>2] = $208; + } + $209 = HEAP32[$6>>2]|0; + $210 = ((($209)) + 44|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($211)) + 68|0); + $213 = HEAP32[$212>>2]|0; + HEAP32[$pSchema>>2] = $213; + } + } + $214 = HEAP32[$2>>2]|0; + $215 = ($214|0)==(0|0); + $216 = HEAP32[$3>>2]|0; + $217 = ($216|0)!=(0|0); + $or$cond3 = $215 & $217; + $218 = HEAP32[$cntTab>>2]|0; + $219 = ($218|0)==(0); + $or$cond5 = $or$cond3 & $219; if ($or$cond5) { - $219 = HEAP32[$1>>2]|0; - $220 = (($219) + 412|0); - $221 = HEAP32[$220>>2]|0; - $222 = ($221|0)!=(0|0); - if ($222) { - $223 = HEAP32[$1>>2]|0; - $224 = (($223) + 436|0); - $225 = HEAP8[$224>>0]|0; - $226 = $225&255; - HEAP32[$op>>2] = $226; - $227 = HEAP32[$op>>2]|0; - $228 = ($227|0)!=(109); - if ($228) { - $229 = HEAP32[$3>>2]|0; - $230 = (_sqlite3_stricmp(17160,$229)|0); - $231 = ($230|0)==(0); - if ($231) { - $232 = HEAP32[$6>>2]|0; - $233 = (($232) + 28|0); - HEAP32[$233>>2] = 1; - $234 = HEAP32[$1>>2]|0; - $235 = (($234) + 412|0); - $236 = HEAP32[$235>>2]|0; - HEAP32[$pTab>>2] = $236; + $220 = HEAP32[$1>>2]|0; + $221 = ((($220)) + 412|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)!=(0|0); + if ($223) { + $224 = HEAP32[$1>>2]|0; + $225 = ((($224)) + 436|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + HEAP32[$op>>2] = $227; + $228 = HEAP32[$op>>2]|0; + $229 = ($228|0)!=(109); + if ($229) { + $230 = HEAP32[$3>>2]|0; + $231 = (_sqlite3_stricmp(21454,$230)|0); + $232 = ($231|0)==(0); + if ($232) { + $233 = HEAP32[$6>>2]|0; + $234 = ((($233)) + 28|0); + HEAP32[$234>>2] = 1; + $235 = HEAP32[$1>>2]|0; + $236 = ((($235)) + 412|0); + $237 = HEAP32[$236>>2]|0; + HEAP32[$pTab>>2] = $237; } else { label = 50; } @@ -93852,482 +93181,470 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { do { if ((label|0) == 50) { label = 0; - $237 = HEAP32[$op>>2]|0; - $238 = ($237|0)!=(108); - if ($238) { - $239 = HEAP32[$3>>2]|0; - $240 = (_sqlite3_stricmp(17168,$239)|0); - $241 = ($240|0)==(0); - if ($241) { - $242 = HEAP32[$6>>2]|0; - $243 = (($242) + 28|0); - HEAP32[$243>>2] = 0; - $244 = HEAP32[$1>>2]|0; - $245 = (($244) + 412|0); - $246 = HEAP32[$245>>2]|0; - HEAP32[$pTab>>2] = $246; + $238 = HEAP32[$op>>2]|0; + $239 = ($238|0)!=(108); + if ($239) { + $240 = HEAP32[$3>>2]|0; + $241 = (_sqlite3_stricmp(21458,$240)|0); + $242 = ($241|0)==(0); + if ($242) { + $243 = HEAP32[$6>>2]|0; + $244 = ((($243)) + 28|0); + HEAP32[$244>>2] = 0; + $245 = HEAP32[$1>>2]|0; + $246 = ((($245)) + 412|0); + $247 = HEAP32[$246>>2]|0; + HEAP32[$pTab>>2] = $247; break; } } HEAP32[$pTab>>2] = 0; } } while(0); - $247 = HEAP32[$pTab>>2]|0; - $248 = ($247|0)!=(0|0); - if ($248) { - $249 = HEAP32[$pTab>>2]|0; - $250 = (($249) + 68|0); - $251 = HEAP32[$250>>2]|0; - HEAP32[$pSchema>>2] = $251; - $252 = HEAP32[$cntTab>>2]|0; - $253 = (($252) + 1)|0; - HEAP32[$cntTab>>2] = $253; + $248 = HEAP32[$pTab>>2]|0; + $249 = ($248|0)!=(0|0); + if ($249) { + $250 = HEAP32[$pTab>>2]|0; + $251 = ((($250)) + 68|0); + $252 = HEAP32[$251>>2]|0; + HEAP32[$pSchema>>2] = $252; + $253 = HEAP32[$cntTab>>2]|0; + $254 = (($253) + 1)|0; + HEAP32[$cntTab>>2] = $254; HEAP32[$iCol>>2] = 0; - $254 = HEAP32[$pTab>>2]|0; - $255 = (($254) + 4|0); - $256 = HEAP32[$255>>2]|0; - HEAP32[$pCol>>2] = $256; + $255 = HEAP32[$pTab>>2]|0; + $256 = ((($255)) + 4|0); + $257 = HEAP32[$256>>2]|0; + HEAP32[$pCol>>2] = $257; while(1) { - $257 = HEAP32[$iCol>>2]|0; - $258 = HEAP32[$pTab>>2]|0; - $259 = (($258) + 38|0); - $260 = HEAP16[$259>>1]|0; - $261 = $260 << 16 >> 16; - $262 = ($257|0)<($261|0); - if (!($262)) { + $258 = HEAP32[$iCol>>2]|0; + $259 = HEAP32[$pTab>>2]|0; + $260 = ((($259)) + 38|0); + $261 = HEAP16[$260>>1]|0; + $262 = $261 << 16 >> 16; + $263 = ($258|0)<($262|0); + if (!($263)) { break; } - $263 = HEAP32[$pCol>>2]|0; - $264 = HEAP32[$263>>2]|0; - $265 = HEAP32[$4>>2]|0; - $266 = (_sqlite3_stricmp($264,$265)|0); - $267 = ($266|0)==(0); - $268 = HEAP32[$iCol>>2]|0; - if ($267) { + $264 = HEAP32[$pCol>>2]|0; + $265 = HEAP32[$264>>2]|0; + $266 = HEAP32[$4>>2]|0; + $267 = (_sqlite3_stricmp($265,$266)|0); + $268 = ($267|0)==(0); + $269 = HEAP32[$iCol>>2]|0; + if ($268) { label = 58; break; } - $274 = (($268) + 1)|0; - HEAP32[$iCol>>2] = $274; - $275 = HEAP32[$pCol>>2]|0; - $276 = (($275) + 24|0); - HEAP32[$pCol>>2] = $276; + $275 = (($269) + 1)|0; + HEAP32[$iCol>>2] = $275; + $276 = HEAP32[$pCol>>2]|0; + $277 = ((($276)) + 24|0); + HEAP32[$pCol>>2] = $277; } if ((label|0) == 58) { label = 0; - $269 = HEAP32[$pTab>>2]|0; - $270 = (($269) + 36|0); - $271 = HEAP16[$270>>1]|0; - $272 = $271 << 16 >> 16; - $273 = ($268|0)==($272|0); - if ($273) { + $270 = HEAP32[$pTab>>2]|0; + $271 = ((($270)) + 36|0); + $272 = HEAP16[$271>>1]|0; + $273 = $272 << 16 >> 16; + $274 = ($269|0)==($273|0); + if ($274) { HEAP32[$iCol>>2] = -1; } } - $277 = HEAP32[$iCol>>2]|0; - $278 = HEAP32[$pTab>>2]|0; - $279 = (($278) + 38|0); - $280 = HEAP16[$279>>1]|0; - $281 = $280 << 16 >> 16; - $282 = ($277|0)>=($281|0); - if ($282) { - $283 = HEAP32[$4>>2]|0; - $284 = (_sqlite3IsRowid($283)|0); - $285 = ($284|0)!=(0); - if ($285) { - $286 = HEAP32[$pTab>>2]|0; - $287 = (($286) + 44|0); - $288 = HEAP8[$287>>0]|0; - $289 = $288&255; - $290 = $289 & 32; - $291 = ($290|0)==(0); - if ($291) { + $278 = HEAP32[$iCol>>2]|0; + $279 = HEAP32[$pTab>>2]|0; + $280 = ((($279)) + 38|0); + $281 = HEAP16[$280>>1]|0; + $282 = $281 << 16 >> 16; + $283 = ($278|0)>=($282|0); + if ($283) { + $284 = HEAP32[$4>>2]|0; + $285 = (_sqlite3IsRowid($284)|0); + $286 = ($285|0)!=(0); + if ($286) { + $287 = HEAP32[$pTab>>2]|0; + $288 = ((($287)) + 44|0); + $289 = HEAP8[$288>>0]|0; + $290 = $289&255; + $291 = $290 & 32; + $292 = ($291|0)==(0); + if ($292) { HEAP32[$iCol>>2] = -1; } } } - $292 = HEAP32[$iCol>>2]|0; - $293 = HEAP32[$pTab>>2]|0; - $294 = (($293) + 38|0); - $295 = HEAP16[$294>>1]|0; - $296 = $295 << 16 >> 16; - $297 = ($292|0)<($296|0); - if ($297) { - $298 = HEAP32[$cnt>>2]|0; - $299 = (($298) + 1)|0; - HEAP32[$cnt>>2] = $299; - $300 = HEAP32[$iCol>>2]|0; - $301 = ($300|0)<(0); - $302 = HEAP32[$6>>2]|0; + $293 = HEAP32[$iCol>>2]|0; + $294 = HEAP32[$pTab>>2]|0; + $295 = ((($294)) + 38|0); + $296 = HEAP16[$295>>1]|0; + $297 = $296 << 16 >> 16; + $298 = ($293|0)<($297|0); + if ($298) { + $299 = HEAP32[$cnt>>2]|0; + $300 = (($299) + 1)|0; + HEAP32[$cnt>>2] = $300; + $301 = HEAP32[$iCol>>2]|0; + $302 = ($301|0)<(0); + $303 = HEAP32[$6>>2]|0; do { - if ($301) { - $303 = (($302) + 1|0); - HEAP8[$303>>0] = 68; + if ($302) { + $304 = ((($303)) + 1|0); + HEAP8[$304>>0] = 68; } else { - $304 = (($302) + 28|0); - $305 = HEAP32[$304>>2]|0; - $306 = ($305|0)==(0); - $307 = HEAP32[$iCol>>2]|0; - $308 = ($307|0)>=(32); - if ($306) { - if ($308) { - $315 = -1; - } else { - $309 = HEAP32[$iCol>>2]|0; - $310 = 1 << $309; - $315 = $310; - } - $311 = HEAP32[$1>>2]|0; - $312 = (($311) + 428|0); - $313 = HEAP32[$312>>2]|0; - $314 = $313 | $315; - HEAP32[$312>>2] = $314; + $305 = ((($303)) + 28|0); + $306 = HEAP32[$305>>2]|0; + $307 = ($306|0)==(0); + $308 = HEAP32[$iCol>>2]|0; + $309 = ($308|0)>=(32); + $310 = HEAP32[$iCol>>2]|0; + $311 = 1 << $310; + $312 = $309 ? -1 : $311; + $313 = HEAP32[$1>>2]|0; + if ($307) { + $314 = ((($313)) + 428|0); + $315 = HEAP32[$314>>2]|0; + $316 = $315 | $312; + HEAP32[$314>>2] = $316; break; } else { - if ($308) { - $322 = -1; - } else { - $316 = HEAP32[$iCol>>2]|0; - $317 = 1 << $316; - $322 = $317; - } - $318 = HEAP32[$1>>2]|0; - $319 = (($318) + 432|0); - $320 = HEAP32[$319>>2]|0; - $321 = $320 | $322; - HEAP32[$319>>2] = $321; + $317 = ((($313)) + 432|0); + $318 = HEAP32[$317>>2]|0; + $319 = $318 | $312; + HEAP32[$317>>2] = $319; break; } } } while(0); - $323 = HEAP32[$iCol>>2]|0; - $324 = $323&65535; + $320 = HEAP32[$iCol>>2]|0; + $321 = $320&65535; + $322 = HEAP32[$6>>2]|0; + $323 = ((($322)) + 32|0); + HEAP16[$323>>1] = $321; + $324 = HEAP32[$pTab>>2]|0; $325 = HEAP32[$6>>2]|0; - $326 = (($325) + 32|0); - HEAP16[$326>>1] = $324; - $327 = HEAP32[$pTab>>2]|0; - $328 = HEAP32[$6>>2]|0; - $329 = (($328) + 44|0); - HEAP32[$329>>2] = $327; + $326 = ((($325)) + 44|0); + HEAP32[$326>>2] = $324; HEAP32[$isTrigger>>2] = 1; } } } } - $330 = HEAP32[$cnt>>2]|0; - $331 = ($330|0)==(0); - $332 = HEAP32[$cntTab>>2]|0; - $333 = ($332|0)==(1); - $or$cond7 = $331 & $333; - $334 = HEAP32[$pMatch>>2]|0; - $335 = ($334|0)!=(0|0); - $or$cond9 = $or$cond7 & $335; + $327 = HEAP32[$cnt>>2]|0; + $328 = ($327|0)==(0); + $329 = HEAP32[$cntTab>>2]|0; + $330 = ($329|0)==(1); + $or$cond7 = $328 & $330; + $331 = HEAP32[$pMatch>>2]|0; + $332 = ($331|0)!=(0|0); + $or$cond9 = $or$cond7 & $332; if ($or$cond9) { - $336 = HEAP32[$4>>2]|0; - $337 = (_sqlite3IsRowid($336)|0); - $338 = ($337|0)!=(0); - if ($338) { - $339 = HEAP32[$pMatch>>2]|0; - $340 = (($339) + 16|0); - $341 = HEAP32[$340>>2]|0; - $342 = (($341) + 44|0); - $343 = HEAP8[$342>>0]|0; - $344 = $343&255; - $345 = $344 & 32; - $346 = ($345|0)==(0); - if ($346) { + $333 = HEAP32[$4>>2]|0; + $334 = (_sqlite3IsRowid($333)|0); + $335 = ($334|0)!=(0); + if ($335) { + $336 = HEAP32[$pMatch>>2]|0; + $337 = ((($336)) + 16|0); + $338 = HEAP32[$337>>2]|0; + $339 = ((($338)) + 44|0); + $340 = HEAP8[$339>>0]|0; + $341 = $340&255; + $342 = $341 & 32; + $343 = ($342|0)==(0); + if ($343) { HEAP32[$cnt>>2] = 1; - $347 = HEAP32[$6>>2]|0; - $348 = (($347) + 32|0); - HEAP16[$348>>1] = -1; - $349 = HEAP32[$6>>2]|0; - $350 = (($349) + 1|0); - HEAP8[$350>>0] = 68; - } - } - } - $351 = HEAP32[$5>>2]|0; - $352 = (($351) + 8|0); - $353 = HEAP32[$352>>2]|0; - HEAP32[$pEList>>2] = $353; - $354 = ($353|0)!=(0|0); - $355 = HEAP32[$3>>2]|0; - $356 = ($355|0)==(0|0); - $or$cond11 = $354 & $356; - $357 = HEAP32[$cnt>>2]|0; - $358 = ($357|0)==(0); - $or$cond13 = $or$cond11 & $358; - L110: do { + $344 = HEAP32[$6>>2]|0; + $345 = ((($344)) + 32|0); + HEAP16[$345>>1] = -1; + $346 = HEAP32[$6>>2]|0; + $347 = ((($346)) + 1|0); + HEAP8[$347>>0] = 68; + } + } + } + $348 = HEAP32[$5>>2]|0; + $349 = ((($348)) + 8|0); + $350 = HEAP32[$349>>2]|0; + HEAP32[$pEList>>2] = $350; + $351 = ($350|0)!=(0|0); + $352 = HEAP32[$3>>2]|0; + $353 = ($352|0)==(0|0); + $or$cond11 = $351 & $353; + $354 = HEAP32[$cnt>>2]|0; + $355 = ($354|0)==(0); + $or$cond13 = $or$cond11 & $355; + L104: do { if ($or$cond13) { HEAP32[$j>>2] = 0; while(1) { - $359 = HEAP32[$j>>2]|0; - $360 = HEAP32[$pEList>>2]|0; - $361 = HEAP32[$360>>2]|0; - $362 = ($359|0)<($361|0); - if (!($362)) { - break L110; - } - $363 = HEAP32[$j>>2]|0; - $364 = HEAP32[$pEList>>2]|0; - $365 = (($364) + 4|0); + $356 = HEAP32[$j>>2]|0; + $357 = HEAP32[$pEList>>2]|0; + $358 = HEAP32[$357>>2]|0; + $359 = ($356|0)<($358|0); + if (!($359)) { + break L104; + } + $360 = HEAP32[$j>>2]|0; + $361 = HEAP32[$pEList>>2]|0; + $362 = ((($361)) + 4|0); + $363 = HEAP32[$362>>2]|0; + $364 = (($363) + (($360*20)|0)|0); + $365 = ((($364)) + 4|0); $366 = HEAP32[$365>>2]|0; - $367 = (($366) + (($363*20)|0)|0); - $368 = (($367) + 4|0); - $369 = HEAP32[$368>>2]|0; - HEAP32[$zAs>>2] = $369; - $370 = HEAP32[$zAs>>2]|0; - $371 = ($370|0)!=(0|0); - if ($371) { - $372 = HEAP32[$zAs>>2]|0; - $373 = HEAP32[$4>>2]|0; - $374 = (_sqlite3_stricmp($372,$373)|0); - $375 = ($374|0)==(0); - if ($375) { - label = 85; + HEAP32[$zAs>>2] = $366; + $367 = HEAP32[$zAs>>2]|0; + $368 = ($367|0)!=(0|0); + if ($368) { + $369 = HEAP32[$zAs>>2]|0; + $370 = HEAP32[$4>>2]|0; + $371 = (_sqlite3_stricmp($369,$370)|0); + $372 = ($371|0)==(0); + if ($372) { + label = 81; break L11; } } - $400 = HEAP32[$j>>2]|0; - $401 = (($400) + 1)|0; - HEAP32[$j>>2] = $401; + $397 = HEAP32[$j>>2]|0; + $398 = (($397) + 1)|0; + HEAP32[$j>>2] = $398; } } } while(0); - $402 = HEAP32[$cnt>>2]|0; - $403 = ($402|0)==(0); - if (!($403)) { + $399 = HEAP32[$cnt>>2]|0; + $400 = ($399|0)==(0); + if (!($400)) { continue; } - $404 = HEAP32[$5>>2]|0; - $405 = (($404) + 16|0); - $406 = HEAP32[$405>>2]|0; - HEAP32[$5>>2] = $406; - $407 = HEAP32[$nSubquery>>2]|0; - $408 = (($407) + 1)|0; - HEAP32[$nSubquery>>2] = $408; - } - if ((label|0) == 85) { - $376 = HEAP32[$j>>2]|0; - $377 = HEAP32[$pEList>>2]|0; - $378 = (($377) + 4|0); - $379 = HEAP32[$378>>2]|0; - $380 = (($379) + (($376*20)|0)|0); - $381 = HEAP32[$380>>2]|0; - HEAP32[$pOrig>>2] = $381; - $382 = HEAP32[$5>>2]|0; - $383 = (($382) + 28|0); - $384 = HEAP16[$383>>1]|0; - $385 = $384&65535; - $386 = $385 & 1; - $387 = ($386|0)==(0); - if ($387) { - $388 = HEAP32[$pOrig>>2]|0; - $389 = (($388) + 4|0); - $390 = HEAP32[$389>>2]|0; - $391 = $390 & 2; - $392 = ($391|0)!=(0); - if ($392) { - $393 = HEAP32[$1>>2]|0; - $394 = HEAP32[$zAs>>2]|0; - HEAP32[$vararg_buffer31>>2] = $394; - _sqlite3ErrorMsg($393,17176,$vararg_buffer31); + $401 = HEAP32[$5>>2]|0; + $402 = ((($401)) + 16|0); + $403 = HEAP32[$402>>2]|0; + HEAP32[$5>>2] = $403; + $404 = HEAP32[$nSubquery>>2]|0; + $405 = (($404) + 1)|0; + HEAP32[$nSubquery>>2] = $405; + } + if ((label|0) == 81) { + $373 = HEAP32[$j>>2]|0; + $374 = HEAP32[$pEList>>2]|0; + $375 = ((($374)) + 4|0); + $376 = HEAP32[$375>>2]|0; + $377 = (($376) + (($373*20)|0)|0); + $378 = HEAP32[$377>>2]|0; + HEAP32[$pOrig>>2] = $378; + $379 = HEAP32[$5>>2]|0; + $380 = ((($379)) + 28|0); + $381 = HEAP16[$380>>1]|0; + $382 = $381&65535; + $383 = $382 & 1; + $384 = ($383|0)==(0); + if ($384) { + $385 = HEAP32[$pOrig>>2]|0; + $386 = ((($385)) + 4|0); + $387 = HEAP32[$386>>2]|0; + $388 = $387 & 2; + $389 = ($388|0)!=(0); + if ($389) { + $390 = HEAP32[$1>>2]|0; + $391 = HEAP32[$zAs>>2]|0; + HEAP32[$vararg_buffer>>2] = $391; + _sqlite3ErrorMsg($390,21462,$vararg_buffer); HEAP32[$0>>2] = 2; - $515 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($515|0); + $512 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($512|0); } } - $395 = HEAP32[$1>>2]|0; - $396 = HEAP32[$pEList>>2]|0; - $397 = HEAP32[$j>>2]|0; - $398 = HEAP32[$6>>2]|0; - $399 = HEAP32[$nSubquery>>2]|0; - _resolveAlias($395,$396,$397,$398,1216,$399); + $392 = HEAP32[$1>>2]|0; + $393 = HEAP32[$pEList>>2]|0; + $394 = HEAP32[$j>>2]|0; + $395 = HEAP32[$6>>2]|0; + $396 = HEAP32[$nSubquery>>2]|0; + _resolveAlias($392,$393,$394,$395,14425,$396); HEAP32[$cnt>>2] = 1; HEAP32[$pMatch>>2] = 0; } - else if ((label|0) == 92) { - $409 = HEAP32[$cnt>>2]|0; - $410 = ($409|0)==(0); - $411 = HEAP32[$3>>2]|0; - $412 = ($411|0)==(0|0); - $or$cond15 = $410 & $412; + else if ((label|0) == 88) { + $406 = HEAP32[$cnt>>2]|0; + $407 = ($406|0)==(0); + $408 = HEAP32[$3>>2]|0; + $409 = ($408|0)==(0|0); + $or$cond15 = $407 & $409; if ($or$cond15) { - $413 = HEAP32[$6>>2]|0; - $414 = (($413) + 4|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 & 64; - $417 = ($416|0)!=(0); - if ($417) { - $418 = HEAP32[$6>>2]|0; - HEAP8[$418>>0] = 97; - $419 = HEAP32[$6>>2]|0; - $420 = (($419) + 44|0); - HEAP32[$420>>2] = 0; + $410 = HEAP32[$6>>2]|0; + $411 = ((($410)) + 4|0); + $412 = HEAP32[$411>>2]|0; + $413 = $412 & 64; + $414 = ($413|0)!=(0); + if ($414) { + $415 = HEAP32[$6>>2]|0; + HEAP8[$415>>0] = 97; + $416 = HEAP32[$6>>2]|0; + $417 = ((($416)) + 44|0); + HEAP32[$417>>2] = 0; HEAP32[$0>>2] = 1; - $515 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($515|0); + $512 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($512|0); } } - $421 = HEAP32[$cnt>>2]|0; - $422 = ($421|0)!=(1); - if ($422) { - $423 = HEAP32[$cnt>>2]|0; - $424 = ($423|0)==(0); - $425 = $424 ? 17208 : 17224; - HEAP32[$zErr>>2] = $425; - $426 = HEAP32[$2>>2]|0; - $427 = ($426|0)!=(0|0); + $418 = HEAP32[$cnt>>2]|0; + $419 = ($418|0)!=(1); + if ($419) { + $420 = HEAP32[$cnt>>2]|0; + $421 = ($420|0)==(0); + $422 = $421 ? 21493 : 21508; + HEAP32[$zErr>>2] = $422; + $423 = HEAP32[$2>>2]|0; + $424 = ($423|0)!=(0|0); do { - if ($427) { - $428 = HEAP32[$1>>2]|0; - $429 = HEAP32[$zErr>>2]|0; - $430 = HEAP32[$2>>2]|0; - $431 = HEAP32[$3>>2]|0; - $432 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer31>>2] = $429; - $vararg_ptr23 = (($vararg_buffer31) + 4|0); - HEAP32[$vararg_ptr23>>2] = $430; - $vararg_ptr24 = (($vararg_buffer31) + 8|0); - HEAP32[$vararg_ptr24>>2] = $431; - $vararg_ptr25 = (($vararg_buffer31) + 12|0); - HEAP32[$vararg_ptr25>>2] = $432; - _sqlite3ErrorMsg($428,17248,$vararg_buffer31); + if ($424) { + $425 = HEAP32[$1>>2]|0; + $426 = HEAP32[$zErr>>2]|0; + $427 = HEAP32[$2>>2]|0; + $428 = HEAP32[$3>>2]|0; + $429 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer18>>2] = $426; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $427; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = $428; + $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); + HEAP32[$vararg_ptr23>>2] = $429; + _sqlite3ErrorMsg($425,21530,$vararg_buffer18); } else { - $433 = HEAP32[$3>>2]|0; - $434 = ($433|0)!=(0|0); - $435 = HEAP32[$1>>2]|0; - $436 = HEAP32[$zErr>>2]|0; - if ($434) { - $437 = HEAP32[$3>>2]|0; - $438 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer31>>2] = $436; - $vararg_ptr29 = (($vararg_buffer31) + 4|0); - HEAP32[$vararg_ptr29>>2] = $437; - $vararg_ptr30 = (($vararg_buffer31) + 8|0); - HEAP32[$vararg_ptr30>>2] = $438; - _sqlite3ErrorMsg($435,17264,$vararg_buffer31); + $430 = HEAP32[$3>>2]|0; + $431 = ($430|0)!=(0|0); + $432 = HEAP32[$1>>2]|0; + $433 = HEAP32[$zErr>>2]|0; + if ($431) { + $434 = HEAP32[$3>>2]|0; + $435 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer24>>2] = $433; + $vararg_ptr27 = ((($vararg_buffer24)) + 4|0); + HEAP32[$vararg_ptr27>>2] = $434; + $vararg_ptr28 = ((($vararg_buffer24)) + 8|0); + HEAP32[$vararg_ptr28>>2] = $435; + _sqlite3ErrorMsg($432,21543,$vararg_buffer24); break; } else { - $439 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer31>>2] = $436; - $vararg_ptr34 = (($vararg_buffer31) + 4|0); - HEAP32[$vararg_ptr34>>2] = $439; - _sqlite3ErrorMsg($435,17280,$vararg_buffer31); + $436 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer29>>2] = $433; + $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); + HEAP32[$vararg_ptr32>>2] = $436; + _sqlite3ErrorMsg($432,21553,$vararg_buffer29); break; } } } while(0); - $440 = HEAP32[$1>>2]|0; - $441 = (($440) + 17|0); - HEAP8[$441>>0] = 1; - $442 = HEAP32[$pTopNC>>2]|0; - $443 = (($442) + 24|0); - $444 = HEAP32[$443>>2]|0; - $445 = (($444) + 1)|0; - HEAP32[$443>>2] = $445; - } - $446 = HEAP32[$6>>2]|0; - $447 = (($446) + 32|0); - $448 = HEAP16[$447>>1]|0; - $449 = $448 << 16 >> 16; - $450 = ($449|0)>=(0); - $451 = HEAP32[$pMatch>>2]|0; - $452 = ($451|0)!=(0|0); - $or$cond17 = $450 & $452; + $437 = HEAP32[$1>>2]|0; + $438 = ((($437)) + 17|0); + HEAP8[$438>>0] = 1; + $439 = HEAP32[$pTopNC>>2]|0; + $440 = ((($439)) + 24|0); + $441 = HEAP32[$440>>2]|0; + $442 = (($441) + 1)|0; + HEAP32[$440>>2] = $442; + } + $443 = HEAP32[$6>>2]|0; + $444 = ((($443)) + 32|0); + $445 = HEAP16[$444>>1]|0; + $446 = $445 << 16 >> 16; + $447 = ($446|0)>=(0); + $448 = HEAP32[$pMatch>>2]|0; + $449 = ($448|0)!=(0|0); + $or$cond17 = $447 & $449; if ($or$cond17) { - $453 = HEAP32[$6>>2]|0; - $454 = (($453) + 32|0); - $455 = HEAP16[$454>>1]|0; - $456 = $455 << 16 >> 16; - HEAP32[$n>>2] = $456; - $457 = HEAP32[$n>>2]|0; - $458 = ($457|0)>=(64); - $$ = $458 ? 63 : $456; + $450 = HEAP32[$6>>2]|0; + $451 = ((($450)) + 32|0); + $452 = HEAP16[$451>>1]|0; + $453 = $452 << 16 >> 16; + HEAP32[$n>>2] = $453; + $454 = HEAP32[$n>>2]|0; + $455 = ($454|0)>=(64); + $$ = $455 ? 63 : $453; HEAP32[$n>>2] = $$; - $459 = HEAP32[$n>>2]|0; - $460 = (_bitshift64Shl(1,0,($459|0))|0); - $461 = tempRet0; - $462 = HEAP32[$pMatch>>2]|0; - $463 = (($462) + 56|0); - $464 = $463; + $456 = HEAP32[$n>>2]|0; + $457 = (_bitshift64Shl(1,0,($456|0))|0); + $458 = tempRet0; + $459 = HEAP32[$pMatch>>2]|0; + $460 = ((($459)) + 56|0); + $461 = $460; + $462 = $461; + $463 = HEAP32[$462>>2]|0; + $464 = (($461) + 4)|0; $465 = $464; $466 = HEAP32[$465>>2]|0; - $467 = (($464) + 4)|0; - $468 = $467; - $469 = HEAP32[$468>>2]|0; - $470 = $466 | $460; - $471 = $469 | $461; - $472 = $463; - $473 = $472; - HEAP32[$473>>2] = $470; - $474 = (($472) + 4)|0; - $475 = $474; - HEAP32[$475>>2] = $471; - } - $476 = HEAP32[$db>>2]|0; + $467 = $463 | $457; + $468 = $466 | $458; + $469 = $460; + $470 = $469; + HEAP32[$470>>2] = $467; + $471 = (($469) + 4)|0; + $472 = $471; + HEAP32[$472>>2] = $468; + } + $473 = HEAP32[$db>>2]|0; + $474 = HEAP32[$6>>2]|0; + $475 = ((($474)) + 12|0); + $476 = HEAP32[$475>>2]|0; + _sqlite3ExprDelete($473,$476); $477 = HEAP32[$6>>2]|0; - $478 = (($477) + 12|0); - $479 = HEAP32[$478>>2]|0; - _sqlite3ExprDelete($476,$479); + $478 = ((($477)) + 12|0); + HEAP32[$478>>2] = 0; + $479 = HEAP32[$db>>2]|0; $480 = HEAP32[$6>>2]|0; - $481 = (($480) + 12|0); - HEAP32[$481>>2] = 0; - $482 = HEAP32[$db>>2]|0; + $481 = ((($480)) + 16|0); + $482 = HEAP32[$481>>2]|0; + _sqlite3ExprDelete($479,$482); $483 = HEAP32[$6>>2]|0; - $484 = (($483) + 16|0); - $485 = HEAP32[$484>>2]|0; - _sqlite3ExprDelete($482,$485); - $486 = HEAP32[$6>>2]|0; - $487 = (($486) + 16|0); - HEAP32[$487>>2] = 0; - $488 = HEAP32[$isTrigger>>2]|0; - $489 = ($488|0)!=(0); - $490 = $489 ? 62 : 154; - $491 = $490&255; - $492 = HEAP32[$6>>2]|0; - HEAP8[$492>>0] = $491; - } - $493 = HEAP32[$cnt>>2]|0; - $494 = ($493|0)==(1); - if (!($494)) { + $484 = ((($483)) + 16|0); + HEAP32[$484>>2] = 0; + $485 = HEAP32[$isTrigger>>2]|0; + $486 = ($485|0)!=(0); + $487 = $486 ? 62 : 154; + $488 = $487&255; + $489 = HEAP32[$6>>2]|0; + HEAP8[$489>>0] = $488; + } + $490 = HEAP32[$cnt>>2]|0; + $491 = ($490|0)==(1); + if (!($491)) { HEAP32[$0>>2] = 2; - $515 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($515|0); - } - $495 = HEAP32[$6>>2]|0; - $496 = HEAP8[$495>>0]|0; - $497 = $496&255; - $498 = ($497|0)!=(24); - if ($498) { - $499 = HEAP32[$1>>2]|0; - $500 = HEAP32[$6>>2]|0; - $501 = HEAP32[$pSchema>>2]|0; - $502 = HEAP32[$5>>2]|0; - $503 = (($502) + 4|0); - $504 = HEAP32[$503>>2]|0; - _sqlite3AuthRead($499,$500,$501,$504); + $512 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($512|0); + } + $492 = HEAP32[$6>>2]|0; + $493 = HEAP8[$492>>0]|0; + $494 = $493&255; + $495 = ($494|0)!=(24); + if ($495) { + $496 = HEAP32[$1>>2]|0; + $497 = HEAP32[$6>>2]|0; + $498 = HEAP32[$pSchema>>2]|0; + $499 = HEAP32[$5>>2]|0; + $500 = ((($499)) + 4|0); + $501 = HEAP32[$500>>2]|0; + _sqlite3AuthRead($496,$497,$498,$501); } while(1) { - $505 = HEAP32[$pTopNC>>2]|0; - $506 = (($505) + 20|0); - $507 = HEAP32[$506>>2]|0; - $508 = (($507) + 1)|0; - HEAP32[$506>>2] = $508; - $509 = HEAP32[$pTopNC>>2]|0; - $510 = HEAP32[$5>>2]|0; - $511 = ($509|0)==($510|0); - if ($511) { + $502 = HEAP32[$pTopNC>>2]|0; + $503 = ((($502)) + 20|0); + $504 = HEAP32[$503>>2]|0; + $505 = (($504) + 1)|0; + HEAP32[$503>>2] = $505; + $506 = HEAP32[$pTopNC>>2]|0; + $507 = HEAP32[$5>>2]|0; + $508 = ($506|0)==($507|0); + if ($508) { break; } - $512 = HEAP32[$pTopNC>>2]|0; - $513 = (($512) + 16|0); - $514 = HEAP32[$513>>2]|0; - HEAP32[$pTopNC>>2] = $514; + $509 = HEAP32[$pTopNC>>2]|0; + $510 = ((($509)) + 16|0); + $511 = HEAP32[$510>>2]|0; + HEAP32[$pTopNC>>2] = $511; } HEAP32[$0>>2] = 1; - $515 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($515|0); + $512 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($512|0); } function _notValidPartIdxWhere($pParse,$pNC,$zMsg) { $pParse = $pParse|0; @@ -94344,7 +93661,7 @@ function _notValidPartIdxWhere($pParse,$pNC,$zMsg) { HEAP32[$1>>2] = $pNC; HEAP32[$2>>2] = $zMsg; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 28|0); + $4 = ((($3)) + 28|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = $6 & 16; @@ -94355,7 +93672,7 @@ function _notValidPartIdxWhere($pParse,$pNC,$zMsg) { $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $10; - _sqlite3ErrorMsg($9,17112,$vararg_buffer); + _sqlite3ErrorMsg($9,21409,$vararg_buffer); STACKTOP = sp;return; } function _exprProbability($p) { @@ -94379,10 +93696,10 @@ function _exprProbability($p) { STACKTOP = sp;return ($18|0); } $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = (_sqlite3Strlen30($11)|0); (_sqlite3AtoF($8,$r,$12,1)|0); @@ -94400,7 +93717,7 @@ function _exprProbability($p) { $18 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($18|0); } - return 0|0; + return (0)|0; } function _sqlite3FunctionUsesThisSrc($pExpr,$pSrcList) { $pExpr = $pExpr|0; @@ -94415,34 +93732,29 @@ function _sqlite3FunctionUsesThisSrc($pExpr,$pSrcList) { $cnt = sp; HEAP32[$0>>2] = $pExpr; HEAP32[$1>>2] = $pSrcList; - ;HEAP32[$w+0>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; - HEAP32[$w>>2] = 43; - $2 = (($w) + 20|0); + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; + HEAP32[$w>>2] = 47; + $2 = ((($w)) + 20|0); HEAP32[$2>>2] = $cnt; $3 = HEAP32[$1>>2]|0; HEAP32[$cnt>>2] = $3; - $4 = (($cnt) + 4|0); + $4 = ((($cnt)) + 4|0); HEAP32[$4>>2] = 0; - $5 = (($cnt) + 8|0); + $5 = ((($cnt)) + 8|0); HEAP32[$5>>2] = 0; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 20|0); + $7 = ((($6)) + 20|0); $8 = HEAP32[$7>>2]|0; (_sqlite3WalkExprList($w,$8)|0); - $9 = (($cnt) + 4|0); + $9 = ((($cnt)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)>(0); - if ($11) { - $16 = 1; - $15 = $16&1; - STACKTOP = sp;return ($15|0); - } - $12 = (($cnt) + 8|0); + $12 = ((($cnt)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(0); - $16 = $14; - $15 = $16&1; - STACKTOP = sp;return ($15|0); + $15 = $11 ? 1 : $14; + $16 = $15&1; + STACKTOP = sp;return ($16|0); } function _notValidCheckConstraint($pParse,$pNC,$zMsg) { $pParse = $pParse|0; @@ -94459,7 +93771,7 @@ function _notValidCheckConstraint($pParse,$pNC,$zMsg) { HEAP32[$1>>2] = $pNC; HEAP32[$2>>2] = $zMsg; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 28|0); + $4 = ((($3)) + 28|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = $6 & 4; @@ -94470,7 +93782,7 @@ function _notValidCheckConstraint($pParse,$pNC,$zMsg) { $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $10; - _sqlite3ErrorMsg($9,17072,$vararg_buffer); + _sqlite3ErrorMsg($9,21374,$vararg_buffer); STACKTOP = sp;return; } function _exprSrcCount($pWalker,$pExpr) { @@ -94502,7 +93814,7 @@ function _exprSrcCount($pWalker,$pExpr) { } } $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 20|0); + $11 = ((($10)) + 20|0); $12 = HEAP32[$11>>2]|0; HEAP32[$p>>2] = $12; $13 = HEAP32[$p>>2]|0; @@ -94518,13 +93830,13 @@ function _exprSrcCount($pWalker,$pExpr) { break; } $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 28|0); + $20 = ((($19)) + 28|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$i>>2]|0; $23 = HEAP32[$pSrc>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); $25 = (($24) + (($22*72)|0)|0); - $26 = (($25) + 40|0); + $26 = ((($25)) + 40|0); $27 = HEAP32[$26>>2]|0; $28 = ($21|0)==($27|0); if ($28) { @@ -94540,19 +93852,828 @@ function _exprSrcCount($pWalker,$pExpr) { $34 = ($31|0)<($33|0); $35 = HEAP32[$p>>2]|0; if ($34) { - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + 1)|0; HEAP32[$36>>2] = $38; STACKTOP = sp;return 0; } else { - $39 = (($35) + 8|0); + $39 = ((($35)) + 8|0); $40 = HEAP32[$39>>2]|0; $41 = (($40) + 1)|0; HEAP32[$39>>2] = $41; STACKTOP = sp;return 0; } - return 0|0; + return (0)|0; +} +function _sqlite3AtoF($z,$pResult,$length,$enc) { + $z = $z|0; + $pResult = $pResult|0; + $length = $length|0; + $enc = $enc|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0.0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0.0, $41 = 0, $410 = 0.0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0.0; + var $422 = 0.0, $423 = 0.0, $424 = 0.0, $425 = 0.0, $426 = 0.0, $427 = 0.0, $428 = 0.0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0.0, $44 = 0; + var $440 = 0.0, $441 = 0.0, $442 = 0, $443 = 0, $444 = 0, $445 = 0.0, $446 = 0.0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0.0, $452 = 0.0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; + var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0.0, $464 = 0.0, $465 = 0.0, $466 = 0.0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0.0, $474 = 0.0, $475 = 0, $476 = 0; + var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d = 0, $e = 0, $eValid = 0, $esign = 0, $i = 0, $incr = 0, $nDigits = 0, $nonNum = 0, $or$cond = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0; + var $or$cond19 = 0, $or$cond21 = 0, $result = 0, $s = 0, $scale = 0, $sign = 0, $zEnd = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 48|0; + $1 = sp + 40|0; + $2 = sp + 44|0; + $3 = sp + 64|0; + $4 = sp + 80|0; + $incr = sp + 36|0; + $zEnd = sp + 24|0; + $sign = sp + 68|0; + $s = sp; + $d = sp + 76|0; + $esign = sp + 52|0; + $e = sp + 56|0; + $eValid = sp + 60|0; + $result = sp + 16|0; + $nDigits = sp + 32|0; + $nonNum = sp + 72|0; + $i = sp + 28|0; + $scale = sp + 8|0; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $pResult; + HEAP32[$3>>2] = $length; + HEAP8[$4>>0] = $enc; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$3>>2]|0; + $7 = (($5) + ($6)|0); + HEAP32[$zEnd>>2] = $7; + HEAP32[$sign>>2] = 1; + $8 = $s; + $9 = $8; + HEAP32[$9>>2] = 0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = 0; + HEAP32[$d>>2] = 0; + HEAP32[$esign>>2] = 1; + HEAP32[$e>>2] = 0; + HEAP32[$eValid>>2] = 1; + HEAP32[$nDigits>>2] = 0; + HEAP32[$nonNum>>2] = 0; + $12 = HEAP32[$2>>2]|0; + HEAPF64[$12>>3] = 0.0; + $13 = HEAP8[$4>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$incr>>2] = 1; + } else { + HEAP32[$incr>>2] = 2; + $16 = HEAP8[$4>>0]|0; + $17 = $16&255; + $18 = (3 - ($17))|0; + HEAP32[$i>>2] = $18; + while(1) { + $19 = HEAP32[$i>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = ($19|0)<($20|0); + if (!($21)) { + break; + } + $22 = HEAP32[$i>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + ($22)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = ($26|0)==(0); + if (!($27)) { + break; + } + $28 = HEAP32[$i>>2]|0; + $29 = (($28) + 2)|0; + HEAP32[$i>>2] = $29; + } + $30 = HEAP32[$i>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = ($30|0)<($31|0); + $33 = $32&1; + HEAP32[$nonNum>>2] = $33; + $34 = HEAP32[$1>>2]|0; + $35 = HEAP32[$i>>2]|0; + $36 = (($34) + ($35)|0); + $37 = HEAP8[$4>>0]|0; + $38 = $37&255; + $39 = (($36) + ($38)|0); + $40 = ((($39)) + -3|0); + HEAP32[$zEnd>>2] = $40; + $41 = HEAP8[$4>>0]|0; + $42 = $41&255; + $43 = $42 & 1; + $44 = HEAP32[$1>>2]|0; + $45 = (($44) + ($43)|0); + HEAP32[$1>>2] = $45; + } + while(1) { + $46 = HEAP32[$1>>2]|0; + $47 = HEAP32[$zEnd>>2]|0; + $48 = ($46>>>0)<($47>>>0); + if (!($48)) { + break; + } + $49 = HEAP32[$1>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = (14426 + ($51)|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = $54 & 1; + $56 = ($55|0)!=(0); + if (!($56)) { + break; + } + $57 = HEAP32[$incr>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = (($58) + ($57)|0); + HEAP32[$1>>2] = $59; + } + $60 = HEAP32[$1>>2]|0; + $61 = HEAP32[$zEnd>>2]|0; + $62 = ($60>>>0)>=($61>>>0); + if ($62) { + HEAP32[$0>>2] = 0; + $487 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($487|0); + } + $63 = HEAP32[$1>>2]|0; + $64 = HEAP8[$63>>0]|0; + $65 = $64 << 24 >> 24; + $66 = ($65|0)==(45); + if ($66) { + HEAP32[$sign>>2] = -1; + $67 = HEAP32[$incr>>2]|0; + $68 = HEAP32[$1>>2]|0; + $69 = (($68) + ($67)|0); + HEAP32[$1>>2] = $69; + } else { + $70 = HEAP32[$1>>2]|0; + $71 = HEAP8[$70>>0]|0; + $72 = $71 << 24 >> 24; + $73 = ($72|0)==(43); + if ($73) { + $74 = HEAP32[$incr>>2]|0; + $75 = HEAP32[$1>>2]|0; + $76 = (($75) + ($74)|0); + HEAP32[$1>>2] = $76; + } + } + while(1) { + $77 = HEAP32[$1>>2]|0; + $78 = HEAP32[$zEnd>>2]|0; + $79 = ($77>>>0)<($78>>>0); + if (!($79)) { + break; + } + $80 = HEAP32[$1>>2]|0; + $81 = HEAP8[$80>>0]|0; + $82 = $81 << 24 >> 24; + $83 = ($82|0)==(48); + if (!($83)) { + break; + } + $84 = HEAP32[$incr>>2]|0; + $85 = HEAP32[$1>>2]|0; + $86 = (($85) + ($84)|0); + HEAP32[$1>>2] = $86; + $87 = HEAP32[$nDigits>>2]|0; + $88 = (($87) + 1)|0; + HEAP32[$nDigits>>2] = $88; + } + while(1) { + $89 = HEAP32[$1>>2]|0; + $90 = HEAP32[$zEnd>>2]|0; + $91 = ($89>>>0)<($90>>>0); + if (!($91)) { + break; + } + $92 = HEAP32[$1>>2]|0; + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = (14426 + ($94)|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $97 & 4; + $99 = ($98|0)!=(0); + $100 = $s; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = ($105|0)<(214748364); + $107 = ($102>>>0)<(3435973835); + $108 = ($105|0)==(214748364); + $109 = $108 & $107; + $110 = $106 | $109; + $or$cond19 = $99 & $110; + if (!($or$cond19)) { + break; + } + $111 = $s; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (___muldi3(($113|0),($116|0),10,0)|0); + $118 = tempRet0; + $119 = HEAP32[$1>>2]|0; + $120 = HEAP8[$119>>0]|0; + $121 = $120 << 24 >> 24; + $122 = (($121) - 48)|0; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = (_i64Add(($117|0),($118|0),($122|0),($124|0))|0); + $126 = tempRet0; + $127 = $s; + $128 = $127; + HEAP32[$128>>2] = $125; + $129 = (($127) + 4)|0; + $130 = $129; + HEAP32[$130>>2] = $126; + $131 = HEAP32[$incr>>2]|0; + $132 = HEAP32[$1>>2]|0; + $133 = (($132) + ($131)|0); + HEAP32[$1>>2] = $133; + $134 = HEAP32[$nDigits>>2]|0; + $135 = (($134) + 1)|0; + HEAP32[$nDigits>>2] = $135; + } + while(1) { + $136 = HEAP32[$1>>2]|0; + $137 = HEAP32[$zEnd>>2]|0; + $138 = ($136>>>0)<($137>>>0); + if (!($138)) { + break; + } + $139 = HEAP32[$1>>2]|0; + $140 = HEAP8[$139>>0]|0; + $141 = $140&255; + $142 = (14426 + ($141)|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $145 = $144 & 4; + $146 = ($145|0)!=(0); + if (!($146)) { + break; + } + $147 = HEAP32[$incr>>2]|0; + $148 = HEAP32[$1>>2]|0; + $149 = (($148) + ($147)|0); + HEAP32[$1>>2] = $149; + $150 = HEAP32[$nDigits>>2]|0; + $151 = (($150) + 1)|0; + HEAP32[$nDigits>>2] = $151; + $152 = HEAP32[$d>>2]|0; + $153 = (($152) + 1)|0; + HEAP32[$d>>2] = $153; + } + $154 = HEAP32[$1>>2]|0; + $155 = HEAP32[$zEnd>>2]|0; + $156 = ($154>>>0)>=($155>>>0); + L35: do { + if (!($156)) { + $157 = HEAP32[$1>>2]|0; + $158 = HEAP8[$157>>0]|0; + $159 = $158 << 24 >> 24; + $160 = ($159|0)==(46); + L37: do { + if ($160) { + $161 = HEAP32[$incr>>2]|0; + $162 = HEAP32[$1>>2]|0; + $163 = (($162) + ($161)|0); + HEAP32[$1>>2] = $163; + while(1) { + $164 = HEAP32[$1>>2]|0; + $165 = HEAP32[$zEnd>>2]|0; + $166 = ($164>>>0)<($165>>>0); + if (!($166)) { + break; + } + $167 = HEAP32[$1>>2]|0; + $168 = HEAP8[$167>>0]|0; + $169 = $168&255; + $170 = (14426 + ($169)|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171&255; + $173 = $172 & 4; + $174 = ($173|0)!=(0); + $175 = $s; + $176 = $175; + $177 = HEAP32[$176>>2]|0; + $178 = (($175) + 4)|0; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)<(214748364); + $182 = ($177>>>0)<(3435973835); + $183 = ($180|0)==(214748364); + $184 = $183 & $182; + $185 = $181 | $184; + $or$cond21 = $174 & $185; + if (!($or$cond21)) { + break; + } + $186 = $s; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = (___muldi3(($188|0),($191|0),10,0)|0); + $193 = tempRet0; + $194 = HEAP32[$1>>2]|0; + $195 = HEAP8[$194>>0]|0; + $196 = $195 << 24 >> 24; + $197 = (($196) - 48)|0; + $198 = ($197|0)<(0); + $199 = $198 << 31 >> 31; + $200 = (_i64Add(($192|0),($193|0),($197|0),($199|0))|0); + $201 = tempRet0; + $202 = $s; + $203 = $202; + HEAP32[$203>>2] = $200; + $204 = (($202) + 4)|0; + $205 = $204; + HEAP32[$205>>2] = $201; + $206 = HEAP32[$incr>>2]|0; + $207 = HEAP32[$1>>2]|0; + $208 = (($207) + ($206)|0); + HEAP32[$1>>2] = $208; + $209 = HEAP32[$nDigits>>2]|0; + $210 = (($209) + 1)|0; + HEAP32[$nDigits>>2] = $210; + $211 = HEAP32[$d>>2]|0; + $212 = (($211) + -1)|0; + HEAP32[$d>>2] = $212; + } + while(1) { + $213 = HEAP32[$1>>2]|0; + $214 = HEAP32[$zEnd>>2]|0; + $215 = ($213>>>0)<($214>>>0); + if (!($215)) { + break L37; + } + $216 = HEAP32[$1>>2]|0; + $217 = HEAP8[$216>>0]|0; + $218 = $217&255; + $219 = (14426 + ($218)|0); + $220 = HEAP8[$219>>0]|0; + $221 = $220&255; + $222 = $221 & 4; + $223 = ($222|0)!=(0); + if (!($223)) { + break L37; + } + $224 = HEAP32[$incr>>2]|0; + $225 = HEAP32[$1>>2]|0; + $226 = (($225) + ($224)|0); + HEAP32[$1>>2] = $226; + $227 = HEAP32[$nDigits>>2]|0; + $228 = (($227) + 1)|0; + HEAP32[$nDigits>>2] = $228; + } + } + } while(0); + $229 = HEAP32[$1>>2]|0; + $230 = HEAP32[$zEnd>>2]|0; + $231 = ($229>>>0)>=($230>>>0); + if (!($231)) { + $232 = HEAP32[$1>>2]|0; + $233 = HEAP8[$232>>0]|0; + $234 = $233 << 24 >> 24; + $235 = ($234|0)==(101); + if ($235) { + label = 38; + } else { + $236 = HEAP32[$1>>2]|0; + $237 = HEAP8[$236>>0]|0; + $238 = $237 << 24 >> 24; + $239 = ($238|0)==(69); + if ($239) { + label = 38; + } + } + L51: do { + if ((label|0) == 38) { + $240 = HEAP32[$incr>>2]|0; + $241 = HEAP32[$1>>2]|0; + $242 = (($241) + ($240)|0); + HEAP32[$1>>2] = $242; + HEAP32[$eValid>>2] = 0; + $243 = HEAP32[$1>>2]|0; + $244 = HEAP32[$zEnd>>2]|0; + $245 = ($243>>>0)>=($244>>>0); + if ($245) { + break L35; + } + $246 = HEAP32[$1>>2]|0; + $247 = HEAP8[$246>>0]|0; + $248 = $247 << 24 >> 24; + $249 = ($248|0)==(45); + if ($249) { + HEAP32[$esign>>2] = -1; + $250 = HEAP32[$incr>>2]|0; + $251 = HEAP32[$1>>2]|0; + $252 = (($251) + ($250)|0); + HEAP32[$1>>2] = $252; + } else { + $253 = HEAP32[$1>>2]|0; + $254 = HEAP8[$253>>0]|0; + $255 = $254 << 24 >> 24; + $256 = ($255|0)==(43); + if ($256) { + $257 = HEAP32[$incr>>2]|0; + $258 = HEAP32[$1>>2]|0; + $259 = (($258) + ($257)|0); + HEAP32[$1>>2] = $259; + } + } + while(1) { + $260 = HEAP32[$1>>2]|0; + $261 = HEAP32[$zEnd>>2]|0; + $262 = ($260>>>0)<($261>>>0); + if (!($262)) { + break L51; + } + $263 = HEAP32[$1>>2]|0; + $264 = HEAP8[$263>>0]|0; + $265 = $264&255; + $266 = (14426 + ($265)|0); + $267 = HEAP8[$266>>0]|0; + $268 = $267&255; + $269 = $268 & 4; + $270 = ($269|0)!=(0); + if (!($270)) { + break L51; + } + $271 = HEAP32[$e>>2]|0; + $272 = ($271|0)<(10000); + if ($272) { + $273 = HEAP32[$e>>2]|0; + $274 = ($273*10)|0; + $275 = HEAP32[$1>>2]|0; + $276 = HEAP8[$275>>0]|0; + $277 = $276 << 24 >> 24; + $278 = (($277) - 48)|0; + $279 = (($274) + ($278))|0; + $280 = $279; + } else { + $280 = 10000; + } + HEAP32[$e>>2] = $280; + $281 = HEAP32[$incr>>2]|0; + $282 = HEAP32[$1>>2]|0; + $283 = (($282) + ($281)|0); + HEAP32[$1>>2] = $283; + HEAP32[$eValid>>2] = 1; + } + } + } while(0); + $284 = HEAP32[$nDigits>>2]|0; + $285 = ($284|0)!=(0); + $286 = HEAP32[$eValid>>2]|0; + $287 = ($286|0)!=(0); + $or$cond = $285 & $287; + if ($or$cond) { + while(1) { + $288 = HEAP32[$1>>2]|0; + $289 = HEAP32[$zEnd>>2]|0; + $290 = ($288>>>0)<($289>>>0); + if (!($290)) { + break L35; + } + $291 = HEAP32[$1>>2]|0; + $292 = HEAP8[$291>>0]|0; + $293 = $292&255; + $294 = (14426 + ($293)|0); + $295 = HEAP8[$294>>0]|0; + $296 = $295&255; + $297 = $296 & 1; + $298 = ($297|0)!=(0); + if (!($298)) { + break L35; + } + $299 = HEAP32[$incr>>2]|0; + $300 = HEAP32[$1>>2]|0; + $301 = (($300) + ($299)|0); + HEAP32[$1>>2] = $301; + } + } + } + } + } while(0); + $302 = HEAP32[$e>>2]|0; + $303 = HEAP32[$esign>>2]|0; + $304 = Math_imul($302, $303)|0; + $305 = HEAP32[$d>>2]|0; + $306 = (($304) + ($305))|0; + HEAP32[$e>>2] = $306; + $307 = HEAP32[$e>>2]|0; + $308 = ($307|0)<(0); + if ($308) { + HEAP32[$esign>>2] = -1; + $309 = HEAP32[$e>>2]|0; + $310 = Math_imul($309, -1)|0; + HEAP32[$e>>2] = $310; + } else { + HEAP32[$esign>>2] = 1; + } + $311 = $s; + $312 = $311; + $313 = HEAP32[$312>>2]|0; + $314 = (($311) + 4)|0; + $315 = $314; + $316 = HEAP32[$315>>2]|0; + $317 = ($313|0)!=(0); + $318 = ($316|0)!=(0); + $319 = $317 | $318; + do { + if ($319) { + $326 = HEAP32[$esign>>2]|0; + $327 = ($326|0)>(0); + L77: do { + if ($327) { + while(1) { + $328 = $s; + $329 = $328; + $330 = HEAP32[$329>>2]|0; + $331 = (($328) + 4)|0; + $332 = $331; + $333 = HEAP32[$332>>2]|0; + $334 = ($333|0)<(214748364); + $335 = ($330>>>0)<(3435973836); + $336 = ($333|0)==(214748364); + $337 = $336 & $335; + $338 = $334 | $337; + $339 = HEAP32[$e>>2]|0; + $340 = ($339|0)>(0); + $341 = $338 ? $340 : 0; + if (!($341)) { + break L77; + } + $342 = HEAP32[$e>>2]|0; + $343 = (($342) + -1)|0; + HEAP32[$e>>2] = $343; + $344 = $s; + $345 = $344; + $346 = HEAP32[$345>>2]|0; + $347 = (($344) + 4)|0; + $348 = $347; + $349 = HEAP32[$348>>2]|0; + $350 = (___muldi3(($346|0),($349|0),10,0)|0); + $351 = tempRet0; + $352 = $s; + $353 = $352; + HEAP32[$353>>2] = $350; + $354 = (($352) + 4)|0; + $355 = $354; + HEAP32[$355>>2] = $351; + } + } else { + while(1) { + $356 = $s; + $357 = $356; + $358 = HEAP32[$357>>2]|0; + $359 = (($356) + 4)|0; + $360 = $359; + $361 = HEAP32[$360>>2]|0; + $362 = (___remdi3(($358|0),($361|0),10,0)|0); + $363 = tempRet0; + $364 = ($362|0)!=(0); + $365 = ($363|0)!=(0); + $366 = $364 | $365; + $367 = HEAP32[$e>>2]|0; + $368 = ($367|0)>(0); + $369 = $366 ? 0 : $368; + if (!($369)) { + break L77; + } + $370 = HEAP32[$e>>2]|0; + $371 = (($370) + -1)|0; + HEAP32[$e>>2] = $371; + $372 = $s; + $373 = $372; + $374 = HEAP32[$373>>2]|0; + $375 = (($372) + 4)|0; + $376 = $375; + $377 = HEAP32[$376>>2]|0; + $378 = (___divdi3(($374|0),($377|0),10,0)|0); + $379 = tempRet0; + $380 = $s; + $381 = $380; + HEAP32[$381>>2] = $378; + $382 = (($380) + 4)|0; + $383 = $382; + HEAP32[$383>>2] = $379; + } + } + } while(0); + $384 = HEAP32[$sign>>2]|0; + $385 = ($384|0)<(0); + $386 = $s; + $387 = $386; + $388 = HEAP32[$387>>2]|0; + $389 = (($386) + 4)|0; + $390 = $389; + $391 = HEAP32[$390>>2]|0; + $392 = (_i64Subtract(0,0,($388|0),($391|0))|0); + $393 = tempRet0; + $394 = $385 ? $392 : $388; + $395 = $385 ? $393 : $391; + $396 = $s; + $397 = $396; + HEAP32[$397>>2] = $394; + $398 = (($396) + 4)|0; + $399 = $398; + HEAP32[$399>>2] = $395; + $400 = HEAP32[$e>>2]|0; + $401 = ($400|0)!=(0); + if (!($401)) { + $467 = $s; + $468 = $467; + $469 = HEAP32[$468>>2]|0; + $470 = (($467) + 4)|0; + $471 = $470; + $472 = HEAP32[$471>>2]|0; + $473 = (+($469>>>0)) + (4294967296.0*(+($472|0))); + HEAPF64[$result>>3] = $473; + break; + } + HEAPF64[$scale>>3] = 1.0; + $402 = HEAP32[$e>>2]|0; + $403 = ($402|0)>(307); + $404 = HEAP32[$e>>2]|0; + $405 = ($404|0)<(342); + $or$cond13 = $403 & $405; + if ($or$cond13) { + while(1) { + $406 = HEAP32[$e>>2]|0; + $407 = (($406|0) % 308)&-1; + $408 = ($407|0)!=(0); + if (!($408)) { + break; + } + $409 = +HEAPF64[$scale>>3]; + $410 = $409 * 10.0; + HEAPF64[$scale>>3] = $410; + $411 = HEAP32[$e>>2]|0; + $412 = (($411) - 1)|0; + HEAP32[$e>>2] = $412; + } + $413 = HEAP32[$esign>>2]|0; + $414 = ($413|0)<(0); + $415 = $s; + $416 = $415; + $417 = HEAP32[$416>>2]|0; + $418 = (($415) + 4)|0; + $419 = $418; + $420 = HEAP32[$419>>2]|0; + $421 = (+($417>>>0)) + (4294967296.0*(+($420|0))); + $422 = +HEAPF64[$scale>>3]; + if ($414) { + $423 = $421 / $422; + HEAPF64[$result>>3] = $423; + $424 = +HEAPF64[$result>>3]; + $425 = $424 / 1.0E+308; + HEAPF64[$result>>3] = $425; + break; + } else { + $426 = $421 * $422; + HEAPF64[$result>>3] = $426; + $427 = +HEAPF64[$result>>3]; + $428 = $427 * 1.0E+308; + HEAPF64[$result>>3] = $428; + break; + } + } + $429 = HEAP32[$e>>2]|0; + $430 = ($429|0)>=(342); + if ($430) { + $431 = HEAP32[$esign>>2]|0; + $432 = ($431|0)<(0); + $433 = $s; + $434 = $433; + $435 = HEAP32[$434>>2]|0; + $436 = (($433) + 4)|0; + $437 = $436; + $438 = HEAP32[$437>>2]|0; + $439 = (+($435>>>0)) + (4294967296.0*(+($438|0))); + if ($432) { + $440 = 0.0 * $439; + HEAPF64[$result>>3] = $440; + break; + } else { + $441 = inf * $439; + HEAPF64[$result>>3] = $441; + break; + } + } + while(1) { + $442 = HEAP32[$e>>2]|0; + $443 = (($442|0) % 22)&-1; + $444 = ($443|0)!=(0); + if (!($444)) { + break; + } + $445 = +HEAPF64[$scale>>3]; + $446 = $445 * 10.0; + HEAPF64[$scale>>3] = $446; + $447 = HEAP32[$e>>2]|0; + $448 = (($447) - 1)|0; + HEAP32[$e>>2] = $448; + } + while(1) { + $449 = HEAP32[$e>>2]|0; + $450 = ($449|0)>(0); + if (!($450)) { + break; + } + $451 = +HEAPF64[$scale>>3]; + $452 = $451 * 1.0E+22; + HEAPF64[$scale>>3] = $452; + $453 = HEAP32[$e>>2]|0; + $454 = (($453) - 22)|0; + HEAP32[$e>>2] = $454; + } + $455 = HEAP32[$esign>>2]|0; + $456 = ($455|0)<(0); + $457 = $s; + $458 = $457; + $459 = HEAP32[$458>>2]|0; + $460 = (($457) + 4)|0; + $461 = $460; + $462 = HEAP32[$461>>2]|0; + $463 = (+($459>>>0)) + (4294967296.0*(+($462|0))); + $464 = +HEAPF64[$scale>>3]; + if ($456) { + $465 = $463 / $464; + HEAPF64[$result>>3] = $465; + break; + } else { + $466 = $463 * $464; + HEAPF64[$result>>3] = $466; + break; + } + } else { + $320 = HEAP32[$sign>>2]|0; + $321 = ($320|0)<(0); + $322 = HEAP32[$nDigits>>2]|0; + $323 = ($322|0)!=(0); + $324 = $321 ? $323 : 0; + $325 = $324 ? -0.0 : 0.0; + HEAPF64[$result>>3] = $325; + } + } while(0); + $474 = +HEAPF64[$result>>3]; + $475 = HEAP32[$2>>2]|0; + HEAPF64[$475>>3] = $474; + $476 = HEAP32[$1>>2]|0; + $477 = HEAP32[$zEnd>>2]|0; + $478 = ($476>>>0)>=($477>>>0); + $479 = HEAP32[$nDigits>>2]|0; + $480 = ($479|0)>(0); + $or$cond15 = $478 & $480; + $481 = HEAP32[$eValid>>2]|0; + $482 = ($481|0)!=(0); + $or$cond17 = $or$cond15 & $482; + if ($or$cond17) { + $483 = HEAP32[$nonNum>>2]|0; + $484 = ($483|0)==(0); + $486 = $484; + } else { + $486 = 0; + } + $485 = $486&1; + HEAP32[$0>>2] = $485; + $487 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($487|0); } function _sqlite3MatchSpanName($zSpan,$zCol,$zTab,$zDb) { $zSpan = $zSpan|0; @@ -94721,7 +94842,7 @@ function _nameInUsingClause($pUsing,$zCol) { while(1) { $5 = HEAP32[$k>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = ($5|0)<($8|0); if (!($9)) { @@ -94760,21 +94881,21 @@ function _sqlite3IsRowid($z) { $1 = sp; HEAP32[$1>>2] = $z; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_stricmp($2,17368)|0); + $3 = (_sqlite3_stricmp($2,21629)|0); $4 = ($3|0)==(0); do { if ($4) { HEAP32[$0>>2] = 1; } else { $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3_stricmp($5,17288)|0); + $6 = (_sqlite3_stricmp($5,21560)|0); $7 = ($6|0)==(0); if ($7) { HEAP32[$0>>2] = 1; break; } $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3_stricmp($8,17376)|0); + $9 = (_sqlite3_stricmp($8,21637)|0); $10 = ($9|0)==(0); if ($10) { HEAP32[$0>>2] = 1; @@ -94800,16 +94921,16 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { var $db = 0, $iCol = 0, $iDb = 0, $iSrc = 0, $pTab = 0, $zCol = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $db = sp + 20|0; - $pTab = sp + 16|0; + $3 = sp + 4|0; + $db = sp + 32|0; + $pTab = sp + 36|0; $zCol = sp + 12|0; - $iSrc = sp + 8|0; - $iDb = sp + 4|0; - $iCol = sp; + $iSrc = sp + 24|0; + $iDb = sp + 20|0; + $iCol = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $pSchema; @@ -94819,7 +94940,7 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { HEAP32[$db>>2] = $5; HEAP32[$pTab>>2] = 0; $6 = HEAP32[$db>>2]|0; - $7 = (($6) + 284|0); + $7 = ((($6)) + 284|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if ($9) { @@ -94842,7 +94963,7 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { L7: do { if ($19) { $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 412|0); + $21 = ((($20)) + 412|0); $22 = HEAP32[$21>>2]|0; HEAP32[$pTab>>2] = $22; } else { @@ -94856,13 +94977,13 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { break L7; } $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 28|0); + $28 = ((($27)) + 28|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$iSrc>>2]|0; $31 = HEAP32[$3>>2]|0; - $32 = (($31) + 8|0); + $32 = ((($31)) + 8|0); $33 = (($32) + (($30*72)|0)|0); - $34 = (($33) + 40|0); + $34 = ((($33)) + 40|0); $35 = HEAP32[$34>>2]|0; $36 = ($29|0)==($35|0); $37 = HEAP32[$iSrc>>2]|0; @@ -94873,15 +94994,15 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { HEAP32[$iSrc>>2] = $43; } $38 = HEAP32[$3>>2]|0; - $39 = (($38) + 8|0); + $39 = ((($38)) + 8|0); $40 = (($39) + (($37*72)|0)|0); - $41 = (($40) + 16|0); + $41 = ((($40)) + 16|0); $42 = HEAP32[$41>>2]|0; HEAP32[$pTab>>2] = $42; } } while(0); $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 32|0); + $45 = ((($44)) + 32|0); $46 = HEAP16[$45>>1]|0; $47 = $46 << 16 >> 16; HEAP32[$iCol>>2] = $47; @@ -94896,31 +95017,31 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { if ($51) { $52 = HEAP32[$iCol>>2]|0; $53 = HEAP32[$pTab>>2]|0; - $54 = (($53) + 4|0); + $54 = ((($53)) + 4|0); $55 = HEAP32[$54>>2]|0; $56 = (($55) + (($52*24)|0)|0); $57 = HEAP32[$56>>2]|0; HEAP32[$zCol>>2] = $57; } else { $58 = HEAP32[$pTab>>2]|0; - $59 = (($58) + 36|0); + $59 = ((($58)) + 36|0); $60 = HEAP16[$59>>1]|0; $61 = $60 << 16 >> 16; $62 = ($61|0)>=(0); if ($62) { $63 = HEAP32[$pTab>>2]|0; - $64 = (($63) + 36|0); + $64 = ((($63)) + 36|0); $65 = HEAP16[$64>>1]|0; $66 = $65 << 16 >> 16; $67 = HEAP32[$pTab>>2]|0; - $68 = (($67) + 4|0); + $68 = ((($67)) + 4|0); $69 = HEAP32[$68>>2]|0; $70 = (($69) + (($66*24)|0)|0); $71 = HEAP32[$70>>2]|0; HEAP32[$zCol>>2] = $71; break; } else { - HEAP32[$zCol>>2] = 17288; + HEAP32[$zCol>>2] = 21560; break; } } @@ -94946,17 +95067,18 @@ function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { $iDb = $iDb|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $vararg_buffer6 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, $zDb = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, $zDb = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer6 = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $db = sp + 20|0; - $zDb = sp + 16|0; - $rc = sp + 12|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 32|0; + $1 = sp + 36|0; + $2 = sp + 24|0; + $3 = sp + 20|0; + $db = sp + 28|0; + $zDb = sp + 40|0; + $rc = sp + 44|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $zTab; HEAP32[$2>>2] = $zCol; @@ -94966,24 +95088,24 @@ function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { HEAP32[$db>>2] = $5; $6 = HEAP32[$3>>2]|0; $7 = HEAP32[$db>>2]|0; - $8 = (($7) + 16|0); + $8 = ((($7)) + 16|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($6<<4)|0); $11 = HEAP32[$10>>2]|0; HEAP32[$zDb>>2] = $11; $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 284|0); + $13 = ((($12)) + 284|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$db>>2]|0; - $16 = (($15) + 288|0); + $16 = ((($15)) + 288|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$2>>2]|0; $20 = HEAP32[$zDb>>2]|0; $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 492|0); + $22 = ((($21)) + 492|0); $23 = HEAP32[$22>>2]|0; - $24 = (FUNCTION_TABLE_iiiiiii[$14 & 1]($17,20,$18,$19,$20,$23)|0); + $24 = (FUNCTION_TABLE_iiiiiii[$14 & 3]($17,20,$18,$19,$20,$23)|0); HEAP32[$rc>>2] = $24; $25 = HEAP32[$rc>>2]|0; $26 = ($25|0)==(1); @@ -95003,7 +95125,7 @@ function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { STACKTOP = sp;return ($46|0); } $27 = HEAP32[$db>>2]|0; - $28 = (($27) + 20|0); + $28 = ((($27)) + 20|0); $29 = HEAP32[$28>>2]|0; $30 = ($29|0)>(2); $31 = HEAP32[$3>>2]|0; @@ -95014,22 +95136,22 @@ function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { $34 = HEAP32[$zDb>>2]|0; $35 = HEAP32[$1>>2]|0; $36 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer6>>2] = $34; - $vararg_ptr4 = (($vararg_buffer6) + 4|0); + HEAP32[$vararg_buffer>>2] = $34; + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr4>>2] = $35; - $vararg_ptr5 = (($vararg_buffer6) + 8|0); + $vararg_ptr5 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr5>>2] = $36; - _sqlite3ErrorMsg($33,17296,$vararg_buffer6); + _sqlite3ErrorMsg($33,21566,$vararg_buffer); } else { $37 = HEAP32[$1>>2]|0; $38 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer6>>2] = $37; - $vararg_ptr9 = (($vararg_buffer6) + 4|0); + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); HEAP32[$vararg_ptr9>>2] = $38; - _sqlite3ErrorMsg($33,17336,$vararg_buffer6); + _sqlite3ErrorMsg($33,21599,$vararg_buffer6); } $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 12|0); + $40 = ((($39)) + 12|0); HEAP32[$40>>2] = 23; $46 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($46|0); @@ -95044,22 +95166,22 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $db = 0, $dummy = 0, $i = 0, $pNew = 0, $pNewSrc = 0, $pParse = 0, $pX = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 64|0; $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $i = sp + 32|0; - $pNew = sp + 28|0; - $pX = sp + 24|0; + $1 = sp + 24|0; + $2 = sp; + $i = sp + 36|0; + $pNew = sp + 40|0; + $pX = sp + 48|0; $db = sp + 20|0; - $a = sp + 16|0; - $pNewSrc = sp + 12|0; - $pParse = sp + 8|0; - $dummy = sp; + $a = sp + 32|0; + $pNewSrc = sp + 28|0; + $pParse = sp + 16|0; + $dummy = sp + 8|0; HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 52|0); + $4 = ((($3)) + 52|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if ($6) { @@ -95068,7 +95190,7 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { STACKTOP = sp;return ($106|0); } $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 48|0); + $8 = ((($7)) + 48|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if ($10) { @@ -95085,13 +95207,13 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { break; } $14 = HEAP32[$pX>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = ($17|0)==(116); if (!($18)) { $19 = HEAP32[$pX>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = ($22|0)==(119); @@ -95100,7 +95222,7 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { } } $24 = HEAP32[$pX>>2]|0; - $25 = (($24) + 52|0); + $25 = ((($24)) + 52|0); $26 = HEAP32[$25>>2]|0; HEAP32[$pX>>2] = $26; } @@ -95112,13 +95234,13 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { STACKTOP = sp;return ($106|0); } $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 48|0); + $30 = ((($29)) + 48|0); $31 = HEAP32[$30>>2]|0; - $32 = (($31) + 4|0); + $32 = ((($31)) + 4|0); $33 = HEAP32[$32>>2]|0; HEAP32[$a>>2] = $33; $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 48|0); + $35 = ((($34)) + 48|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$36>>2]|0; $38 = (($37) - 1)|0; @@ -95133,7 +95255,7 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { $42 = HEAP32[$a>>2]|0; $43 = (($42) + (($41*20)|0)|0); $44 = HEAP32[$43>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = $46 & 256; $48 = ($47|0)!=(0); @@ -95152,7 +95274,7 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { STACKTOP = sp;return ($106|0); } $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 12|0); + $54 = ((($53)) + 12|0); $55 = HEAP32[$54>>2]|0; HEAP32[$pParse>>2] = $55; $56 = HEAP32[$pParse>>2]|0; @@ -95168,7 +95290,7 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { $106 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($106|0); } - ;HEAP32[$dummy+0>>2]=0|0;HEAP32[$dummy+4>>2]=0|0; + ;HEAP32[$dummy>>2]=0|0;HEAP32[$dummy+4>>2]=0|0; $62 = HEAP32[$pParse>>2]|0; $63 = HEAP32[$pNew>>2]|0; $64 = (_sqlite3SrcListAppendFromTerm($62,0,0,0,$dummy,$63,0,0)|0); @@ -95182,10 +95304,10 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { } else { $67 = HEAP32[$pNew>>2]|0; $68 = HEAP32[$2>>2]|0; - dest=$67+0|0; src=$68+0|0; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$67; src=$68; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $69 = HEAP32[$pNewSrc>>2]|0; $70 = HEAP32[$2>>2]|0; - $71 = (($70) + 32|0); + $71 = ((($70)) + 32|0); HEAP32[$71>>2] = $69; $72 = HEAP32[$pParse>>2]|0; $73 = HEAP32[$db>>2]|0; @@ -95194,28 +95316,28 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { $76 = HEAP32[$2>>2]|0; HEAP32[$76>>2] = $75; $77 = HEAP32[$2>>2]|0; - $78 = (($77) + 4|0); + $78 = ((($77)) + 4|0); HEAP8[$78>>0] = 119; $79 = HEAP32[$2>>2]|0; - $80 = (($79) + 36|0); + $80 = ((($79)) + 36|0); HEAP32[$80>>2] = 0; $81 = HEAP32[$pNew>>2]|0; - $82 = (($81) + 40|0); + $82 = ((($81)) + 40|0); HEAP32[$82>>2] = 0; $83 = HEAP32[$pNew>>2]|0; - $84 = (($83) + 44|0); + $84 = ((($83)) + 44|0); HEAP32[$84>>2] = 0; $85 = HEAP32[$pNew>>2]|0; - $86 = (($85) + 48|0); + $86 = ((($85)) + 48|0); HEAP32[$86>>2] = 0; $87 = HEAP32[$2>>2]|0; - $88 = (($87) + 52|0); + $88 = ((($87)) + 52|0); HEAP32[$88>>2] = 0; $89 = HEAP32[$2>>2]|0; - $90 = (($89) + 56|0); + $90 = ((($89)) + 56|0); HEAP32[$90>>2] = 0; $91 = HEAP32[$2>>2]|0; - $92 = (($91) + 6|0); + $92 = ((($91)) + 6|0); $93 = HEAP16[$92>>1]|0; $94 = $93&65535; $95 = $94 & -65; @@ -95223,21 +95345,21 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { HEAP16[$92>>1] = $96; $97 = HEAP32[$pNew>>2]|0; $98 = HEAP32[$pNew>>2]|0; - $99 = (($98) + 52|0); + $99 = ((($98)) + 52|0); $100 = HEAP32[$99>>2]|0; - $101 = (($100) + 56|0); + $101 = ((($100)) + 56|0); HEAP32[$101>>2] = $97; $102 = HEAP32[$pNew>>2]|0; - $103 = (($102) + 60|0); + $103 = ((($102)) + 60|0); HEAP32[$103>>2] = 0; $104 = HEAP32[$pNew>>2]|0; - $105 = (($104) + 64|0); + $105 = ((($104)) + 64|0); HEAP32[$105>>2] = 0; HEAP32[$0>>2] = 0; $106 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($106|0); } - return 0|0; + return (0)|0; } function _selectExpander($pWalker,$p) { $pWalker = $pWalker|0; @@ -95269,67 +95391,73 @@ function _selectExpander($pWalker,$p) { var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; var $97 = 0, $98 = 0, $99 = 0, $a = 0, $db = 0, $flags = 0, $i = 0, $iDb = 0, $j = 0, $k = 0, $longNames = 0, $or$cond = 0, $or$cond3 = 0, $pE = 0, $pEList = 0, $pExpr = 0, $pFrom = 0, $pLeft = 0, $pNew = 0, $pParse = 0; - var $pRight = 0, $pSel = 0, $pSub = 0, $pTab = 0, $pTab1 = 0, $pTabList = 0, $pX = 0, $sColname = 0, $selFlags = 0, $tableSeen = 0, $vararg_buffer21 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $zColname = 0, $zName = 0, $zSchemaName = 0, $zTName = 0, $zTabName = 0, $zToFree = 0; - var label = 0, sp = 0; + var $pRight = 0, $pSel = 0, $pSub = 0, $pTab = 0, $pTab1 = 0, $pTabList = 0, $pX = 0, $sColname = 0, $selFlags = 0, $tableSeen = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0; + var $zColname = 0, $zName = 0, $zSchemaName = 0, $zTName = 0, $zTabName = 0, $zToFree = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $vararg_buffer21 = sp; - $0 = sp + 148|0; - $1 = sp + 144|0; - $2 = sp + 140|0; - $pParse = sp + 136|0; - $i = sp + 132|0; - $j = sp + 128|0; - $k = sp + 124|0; - $pTabList = sp + 120|0; - $pEList = sp + 116|0; - $pFrom = sp + 112|0; - $db = sp + 108|0; - $pE = sp + 104|0; - $pRight = sp + 100|0; - $pExpr = sp + 96|0; - $selFlags = sp + 152|0; - $pTab = sp + 92|0; - $pSel = sp + 88|0; - $a = sp + 84|0; - $pNew = sp + 80|0; - $flags = sp + 76|0; - $longNames = sp + 72|0; - $tableSeen = sp + 68|0; - $zTName = sp + 64|0; - $pTab1 = sp + 60|0; - $pSub = sp + 56|0; - $zTabName = sp + 52|0; - $zSchemaName = sp + 48|0; - $iDb = sp + 44|0; - $zName = sp + 40|0; - $zColname = sp + 36|0; - $zToFree = sp + 32|0; - $sColname = sp + 24|0; - $pLeft = sp + 16|0; - $pX = sp + 12|0; + STACKTOP = STACKTOP + 208|0; + $vararg_buffer21 = sp + 48|0; + $vararg_buffer19 = sp + 16|0; + $vararg_buffer16 = sp + 24|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer7 = sp + 56|0; + $vararg_buffer4 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 176|0; + $1 = sp + 168|0; + $2 = sp + 160|0; + $pParse = sp + 108|0; + $i = sp + 104|0; + $j = sp + 72|0; + $k = sp + 76|0; + $pTabList = sp + 148|0; + $pEList = sp + 80|0; + $pFrom = sp + 84|0; + $db = sp + 88|0; + $pE = sp + 92|0; + $pRight = sp + 192|0; + $pExpr = sp + 172|0; + $selFlags = sp + 200|0; + $pTab = sp + 144|0; + $pSel = sp + 112|0; + $a = sp + 116|0; + $pNew = sp + 120|0; + $flags = sp + 124|0; + $longNames = sp + 128|0; + $tableSeen = sp + 132|0; + $zTName = sp + 136|0; + $pTab1 = sp + 140|0; + $pSub = sp + 68|0; + $zTabName = sp + 64|0; + $zSchemaName = sp + 156|0; + $iDb = sp + 152|0; + $zName = sp + 196|0; + $zColname = sp + 184|0; + $zToFree = sp + 188|0; + $sColname = sp + 96|0; + $pLeft = sp + 164|0; + $pX = sp + 180|0; HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $p; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pParse>>2] = $5; $6 = HEAP32[$pParse>>2]|0; $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 6|0); + $9 = ((($8)) + 6|0); $10 = HEAP16[$9>>1]|0; HEAP16[$selFlags>>1] = $10; $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 6|0); + $12 = ((($11)) + 6|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = $14 | 16; $16 = $15&65535; HEAP16[$12>>1] = $16; $17 = HEAP32[$db>>2]|0; - $18 = (($17) + 64|0); + $18 = ((($17)) + 64|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)!=(0); if ($20) { @@ -95338,7 +95466,7 @@ function _selectExpander($pWalker,$p) { STACKTOP = sp;return ($522|0); } $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 32|0); + $22 = ((($21)) + 32|0); $23 = HEAP32[$22>>2]|0; $24 = ($23|0)==(0|0); if (!($24)) { @@ -95348,7 +95476,7 @@ function _selectExpander($pWalker,$p) { $28 = ($27|0)!=(0); if (!($28)) { $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 32|0); + $30 = ((($29)) + 32|0); $31 = HEAP32[$30>>2]|0; HEAP32[$pTabList>>2] = $31; $32 = HEAP32[$2>>2]|0; @@ -95357,7 +95485,7 @@ function _selectExpander($pWalker,$p) { $34 = HEAP32[$pParse>>2]|0; $35 = HEAP32[$2>>2]|0; $36 = (_findRightmost($35)|0); - $37 = (($36) + 68|0); + $37 = ((($36)) + 68|0); $38 = HEAP32[$37>>2]|0; _sqlite3WithPush($34,$38,0); $39 = HEAP32[$pParse>>2]|0; @@ -95365,7 +95493,7 @@ function _selectExpander($pWalker,$p) { _sqlite3SrcListAssignCursors($39,$40); HEAP32[$i>>2] = 0; $41 = HEAP32[$pTabList>>2]|0; - $42 = (($41) + 8|0); + $42 = ((($41)) + 8|0); HEAP32[$pFrom>>2] = $42; L8: while(1) { $43 = HEAP32[$i>>2]|0; @@ -95377,7 +95505,7 @@ function _selectExpander($pWalker,$p) { break; } $47 = HEAP32[$pFrom>>2]|0; - $48 = (($47) + 37|0); + $48 = ((($47)) + 37|0); $49 = HEAP8[$48>>0]|0; $50 = ($49&255) >>> 3; $51 = $50 & 1; @@ -95385,7 +95513,7 @@ function _selectExpander($pWalker,$p) { $53 = ($52|0)!=(0); if (!($53)) { $54 = HEAP32[$pFrom>>2]|0; - $55 = (($54) + 16|0); + $55 = ((($54)) + 16|0); $56 = HEAP32[$55>>2]|0; $57 = ($56|0)!=(0|0); $58 = HEAP32[$1>>2]|0; @@ -95401,18 +95529,18 @@ function _selectExpander($pWalker,$p) { break; } $63 = HEAP32[$pFrom>>2]|0; - $64 = (($63) + 16|0); + $64 = ((($63)) + 16|0); $65 = HEAP32[$64>>2]|0; $66 = ($65|0)!=(0|0); do { if (!($66)) { $67 = HEAP32[$pFrom>>2]|0; - $68 = (($67) + 8|0); + $68 = ((($67)) + 8|0); $69 = HEAP32[$68>>2]|0; $70 = ($69|0)==(0|0); if ($70) { $71 = HEAP32[$pFrom>>2]|0; - $72 = (($71) + 20|0); + $72 = ((($71)) + 20|0); $73 = HEAP32[$72>>2]|0; HEAP32[$pSel>>2] = $73; $74 = HEAP32[$1>>2]|0; @@ -95422,7 +95550,7 @@ function _selectExpander($pWalker,$p) { $77 = (_sqlite3DbMallocZero($76,76,0)|0); HEAP32[$pTab>>2] = $77; $78 = HEAP32[$pFrom>>2]|0; - $79 = (($78) + 16|0); + $79 = ((($78)) + 16|0); HEAP32[$79>>2] = $77; $80 = HEAP32[$pTab>>2]|0; $81 = ($80|0)==(0|0); @@ -95431,24 +95559,24 @@ function _selectExpander($pWalker,$p) { break L8; } $82 = HEAP32[$pTab>>2]|0; - $83 = (($82) + 40|0); + $83 = ((($82)) + 40|0); HEAP16[$83>>1] = 1; $84 = HEAP32[$db>>2]|0; $85 = HEAP32[$pTab>>2]|0; - HEAP32[$vararg_buffer21>>2] = $85; - $86 = (_sqlite3MPrintf($84,17384,$vararg_buffer21)|0); + HEAP32[$vararg_buffer>>2] = $85; + $86 = (_sqlite3MPrintf($84,21641,$vararg_buffer)|0); $87 = HEAP32[$pTab>>2]|0; HEAP32[$87>>2] = $86; while(1) { $88 = HEAP32[$pSel>>2]|0; - $89 = (($88) + 52|0); + $89 = ((($88)) + 52|0); $90 = HEAP32[$89>>2]|0; $91 = ($90|0)!=(0|0); if (!($91)) { break; } $92 = HEAP32[$pSel>>2]|0; - $93 = (($92) + 52|0); + $93 = ((($92)) + 52|0); $94 = HEAP32[$93>>2]|0; HEAP32[$pSel>>2] = $94; } @@ -95456,18 +95584,18 @@ function _selectExpander($pWalker,$p) { $96 = HEAP32[$pSel>>2]|0; $97 = HEAP32[$96>>2]|0; $98 = HEAP32[$pTab>>2]|0; - $99 = (($98) + 38|0); + $99 = ((($98)) + 38|0); $100 = HEAP32[$pTab>>2]|0; - $101 = (($100) + 4|0); + $101 = ((($100)) + 4|0); (_selectColumnsFromExprList($95,$97,$99,$101)|0); $102 = HEAP32[$pTab>>2]|0; - $103 = (($102) + 36|0); + $103 = ((($102)) + 36|0); HEAP16[$103>>1] = -1; $104 = HEAP32[$pTab>>2]|0; - $105 = (($104) + 28|0); + $105 = ((($104)) + 28|0); HEAP16[$105>>1] = 200; $106 = HEAP32[$pTab>>2]|0; - $107 = (($106) + 44|0); + $107 = ((($106)) + 44|0); $108 = HEAP8[$107>>0]|0; $109 = $108&255; $110 = $109 | 2; @@ -95480,7 +95608,7 @@ function _selectExpander($pWalker,$p) { $114 = (_sqlite3LocateTableItem($112,0,$113)|0); HEAP32[$pTab>>2] = $114; $115 = HEAP32[$pFrom>>2]|0; - $116 = (($115) + 16|0); + $116 = ((($115)) + 16|0); HEAP32[$116>>2] = $114; $117 = HEAP32[$pTab>>2]|0; $118 = ($117|0)==(0|0); @@ -95489,7 +95617,7 @@ function _selectExpander($pWalker,$p) { break L8; } $119 = HEAP32[$pTab>>2]|0; - $120 = (($119) + 40|0); + $120 = ((($119)) + 40|0); $121 = HEAP16[$120>>1]|0; $122 = $121&65535; $123 = ($122|0)==(65535); @@ -95498,17 +95626,17 @@ function _selectExpander($pWalker,$p) { break L8; } $129 = HEAP32[$pTab>>2]|0; - $130 = (($129) + 40|0); + $130 = ((($129)) + 40|0); $131 = HEAP16[$130>>1]|0; $132 = (($131) + 1)<<16>>16; HEAP16[$130>>1] = $132; $133 = HEAP32[$pTab>>2]|0; - $134 = (($133) + 12|0); + $134 = ((($133)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = ($135|0)!=(0|0); if (!($136)) { $137 = HEAP32[$pTab>>2]|0; - $138 = (($137) + 44|0); + $138 = ((($137)) + 44|0); $139 = HEAP8[$138>>0]|0; $140 = $139&255; $141 = $140 & 16; @@ -95527,15 +95655,15 @@ function _selectExpander($pWalker,$p) { } $147 = HEAP32[$db>>2]|0; $148 = HEAP32[$pTab>>2]|0; - $149 = (($148) + 12|0); + $149 = ((($148)) + 12|0); $150 = HEAP32[$149>>2]|0; $151 = (_sqlite3SelectDup($147,$150,0)|0); $152 = HEAP32[$pFrom>>2]|0; - $153 = (($152) + 20|0); + $153 = ((($152)) + 20|0); HEAP32[$153>>2] = $151; $154 = HEAP32[$1>>2]|0; $155 = HEAP32[$pFrom>>2]|0; - $156 = (($155) + 20|0); + $156 = ((($155)) + 20|0); $157 = HEAP32[$156>>2]|0; (_sqlite3WalkSelect($154,$157)|0); } @@ -95553,7 +95681,7 @@ function _selectExpander($pWalker,$p) { $163 = (($162) + 1)|0; HEAP32[$i>>2] = $163; $164 = HEAP32[$pFrom>>2]|0; - $165 = (($164) + 72|0); + $165 = ((($164)) + 72|0); HEAP32[$pFrom>>2] = $165; } if ((label|0) == 10) { @@ -95582,10 +95710,10 @@ function _selectExpander($pWalker,$p) { $124 = HEAP32[$pParse>>2]|0; $125 = HEAP32[$pTab>>2]|0; $126 = HEAP32[$125>>2]|0; - HEAP32[$vararg_buffer21>>2] = $126; - _sqlite3ErrorMsg($124,17400,$vararg_buffer21); + HEAP32[$vararg_buffer4>>2] = $126; + _sqlite3ErrorMsg($124,21654,$vararg_buffer4); $127 = HEAP32[$pFrom>>2]|0; - $128 = (($127) + 16|0); + $128 = ((($127)) + 16|0); HEAP32[$128>>2] = 0; HEAP32[$0>>2] = 2; $522 = HEAP32[$0>>2]|0; @@ -95603,7 +95731,7 @@ function _selectExpander($pWalker,$p) { } else if ((label|0) == 33) { $166 = HEAP32[$db>>2]|0; - $167 = (($166) + 64|0); + $167 = ((($166)) + 64|0); $168 = HEAP8[$167>>0]|0; $169 = $168&255; $170 = ($169|0)!=(0); @@ -95624,7 +95752,7 @@ function _selectExpander($pWalker,$p) { } $179 = HEAP32[$k>>2]|0; $180 = HEAP32[$pEList>>2]|0; - $181 = (($180) + 4|0); + $181 = ((($180)) + 4|0); $182 = HEAP32[$181>>2]|0; $183 = (($182) + (($179*20)|0)|0); $184 = HEAP32[$183>>2]|0; @@ -95642,7 +95770,7 @@ function _selectExpander($pWalker,$p) { $192 = ($191|0)==(122); if ($192) { $193 = HEAP32[$pE>>2]|0; - $194 = (($193) + 16|0); + $194 = ((($193)) + 16|0); $195 = HEAP32[$194>>2]|0; $196 = HEAP8[$195>>0]|0; $197 = $196&255; @@ -95661,13 +95789,13 @@ function _selectExpander($pWalker,$p) { $204 = ($201|0)<($203|0); if ($204) { $205 = HEAP32[$pEList>>2]|0; - $206 = (($205) + 4|0); + $206 = ((($205)) + 4|0); $207 = HEAP32[$206>>2]|0; HEAP32[$a>>2] = $207; HEAP32[$pNew>>2] = 0; $208 = HEAP32[$pParse>>2]|0; $209 = HEAP32[$208>>2]|0; - $210 = (($209) + 24|0); + $210 = ((($209)) + 24|0); $211 = HEAP32[$210>>2]|0; HEAP32[$flags>>2] = $211; $212 = HEAP32[$flags>>2]|0; @@ -95698,7 +95826,7 @@ function _selectExpander($pWalker,$p) { $227 = HEAP32[$226>>2]|0; HEAP32[$pE>>2] = $227; $228 = HEAP32[$pE>>2]|0; - $229 = (($228) + 16|0); + $229 = ((($228)) + 16|0); $230 = HEAP32[$229>>2]|0; HEAP32[$pRight>>2] = $230; $231 = HEAP32[$pE>>2]|0; @@ -95735,40 +95863,40 @@ function _selectExpander($pWalker,$p) { $252 = HEAP32[$k>>2]|0; $253 = HEAP32[$a>>2]|0; $254 = (($253) + (($252*20)|0)|0); - $255 = (($254) + 4|0); + $255 = ((($254)) + 4|0); $256 = HEAP32[$255>>2]|0; $257 = HEAP32[$pNew>>2]|0; $258 = HEAP32[$257>>2]|0; $259 = (($258) - 1)|0; $260 = HEAP32[$pNew>>2]|0; - $261 = (($260) + 4|0); + $261 = ((($260)) + 4|0); $262 = HEAP32[$261>>2]|0; $263 = (($262) + (($259*20)|0)|0); - $264 = (($263) + 4|0); + $264 = ((($263)) + 4|0); HEAP32[$264>>2] = $256; $265 = HEAP32[$k>>2]|0; $266 = HEAP32[$a>>2]|0; $267 = (($266) + (($265*20)|0)|0); - $268 = (($267) + 8|0); + $268 = ((($267)) + 8|0); $269 = HEAP32[$268>>2]|0; $270 = HEAP32[$pNew>>2]|0; $271 = HEAP32[$270>>2]|0; $272 = (($271) - 1)|0; $273 = HEAP32[$pNew>>2]|0; - $274 = (($273) + 4|0); + $274 = ((($273)) + 4|0); $275 = HEAP32[$274>>2]|0; $276 = (($275) + (($272*20)|0)|0); - $277 = (($276) + 8|0); + $277 = ((($276)) + 8|0); HEAP32[$277>>2] = $269; $278 = HEAP32[$k>>2]|0; $279 = HEAP32[$a>>2]|0; $280 = (($279) + (($278*20)|0)|0); - $281 = (($280) + 4|0); + $281 = ((($280)) + 4|0); HEAP32[$281>>2] = 0; $282 = HEAP32[$k>>2]|0; $283 = HEAP32[$a>>2]|0; $284 = (($283) + (($282*20)|0)|0); - $285 = (($284) + 8|0); + $285 = ((($284)) + 8|0); HEAP32[$285>>2] = 0; } $286 = HEAP32[$k>>2]|0; @@ -95790,15 +95918,15 @@ function _selectExpander($pWalker,$p) { $292 = ($291|0)==(122); if ($292) { $293 = HEAP32[$pE>>2]|0; - $294 = (($293) + 12|0); + $294 = ((($293)) + 12|0); $295 = HEAP32[$294>>2]|0; - $296 = (($295) + 8|0); + $296 = ((($295)) + 8|0); $297 = HEAP32[$296>>2]|0; HEAP32[$zTName>>2] = $297; } HEAP32[$i>>2] = 0; $298 = HEAP32[$pTabList>>2]|0; - $299 = (($298) + 8|0); + $299 = ((($298)) + 8|0); HEAP32[$pFrom>>2] = $299; while(1) { $300 = HEAP32[$i>>2]|0; @@ -95809,15 +95937,15 @@ function _selectExpander($pWalker,$p) { break; } $304 = HEAP32[$pFrom>>2]|0; - $305 = (($304) + 16|0); + $305 = ((($304)) + 16|0); $306 = HEAP32[$305>>2]|0; HEAP32[$pTab1>>2] = $306; $307 = HEAP32[$pFrom>>2]|0; - $308 = (($307) + 20|0); + $308 = ((($307)) + 20|0); $309 = HEAP32[$308>>2]|0; HEAP32[$pSub>>2] = $309; $310 = HEAP32[$pFrom>>2]|0; - $311 = (($310) + 12|0); + $311 = ((($310)) + 12|0); $312 = HEAP32[$311>>2]|0; HEAP32[$zTabName>>2] = $312; HEAP32[$zSchemaName>>2] = 0; @@ -95829,7 +95957,7 @@ function _selectExpander($pWalker,$p) { HEAP32[$zTabName>>2] = $316; } $317 = HEAP32[$db>>2]|0; - $318 = (($317) + 64|0); + $318 = ((($317)) + 64|0); $319 = HEAP8[$318>>0]|0; $320 = ($319<<24>>24)!=(0); if ($320) { @@ -95841,7 +95969,7 @@ function _selectExpander($pWalker,$p) { label = 62; } else { $323 = HEAP32[$pSub>>2]|0; - $324 = (($323) + 6|0); + $324 = ((($323)) + 6|0); $325 = HEAP16[$324>>1]|0; $326 = $325&65535; $327 = $326 & 512; @@ -95869,7 +95997,7 @@ function _selectExpander($pWalker,$p) { } $335 = HEAP32[$db>>2]|0; $336 = HEAP32[$pTab1>>2]|0; - $337 = (($336) + 68|0); + $337 = ((($336)) + 68|0); $338 = HEAP32[$337>>2]|0; $339 = (_sqlite3SchemaToIndex($335,$338)|0); HEAP32[$iDb>>2] = $339; @@ -95878,35 +96006,35 @@ function _selectExpander($pWalker,$p) { if ($341) { $342 = HEAP32[$iDb>>2]|0; $343 = HEAP32[$db>>2]|0; - $344 = (($343) + 16|0); + $344 = ((($343)) + 16|0); $345 = HEAP32[$344>>2]|0; $346 = (($345) + ($342<<4)|0); $347 = HEAP32[$346>>2]|0; $348 = $347; } else { - $348 = 17440; + $348 = 21693; } HEAP32[$zSchemaName>>2] = $348; label = 67; } } while(0); - L98: do { + L84: do { if ((label|0) == 67) { label = 0; HEAP32[$j>>2] = 0; while(1) { $349 = HEAP32[$j>>2]|0; $350 = HEAP32[$pTab1>>2]|0; - $351 = (($350) + 38|0); + $351 = ((($350)) + 38|0); $352 = HEAP16[$351>>1]|0; $353 = $352 << 16 >> 16; $354 = ($349|0)<($353|0); if (!($354)) { - break L98; + break L84; } $355 = HEAP32[$j>>2]|0; $356 = HEAP32[$pTab1>>2]|0; - $357 = (($356) + 4|0); + $357 = ((($356)) + 4|0); $358 = HEAP32[$357>>2]|0; $359 = (($358) + (($355*24)|0)|0); $360 = HEAP32[$359>>2]|0; @@ -95920,10 +96048,10 @@ function _selectExpander($pWalker,$p) { $365 = HEAP32[$j>>2]|0; $366 = HEAP32[$pSub>>2]|0; $367 = HEAP32[$366>>2]|0; - $368 = (($367) + 4|0); + $368 = ((($367)) + 4|0); $369 = HEAP32[$368>>2]|0; $370 = (($369) + (($365*20)|0)|0); - $371 = (($370) + 8|0); + $371 = ((($370)) + 8|0); $372 = HEAP32[$371>>2]|0; $373 = HEAP32[$zTName>>2]|0; $374 = (_sqlite3MatchSpanName($372,0,$373,0)|0); @@ -95939,10 +96067,10 @@ function _selectExpander($pWalker,$p) { label = 0; $376 = HEAP32[$j>>2]|0; $377 = HEAP32[$pTab1>>2]|0; - $378 = (($377) + 4|0); + $378 = ((($377)) + 4|0); $379 = HEAP32[$378>>2]|0; $380 = (($379) + (($376*24)|0)|0); - $381 = (($380) + 23|0); + $381 = ((($380)) + 23|0); $382 = HEAP8[$381>>0]|0; $383 = $382&255; $384 = $383 & 2; @@ -95958,7 +96086,7 @@ function _selectExpander($pWalker,$p) { $or$cond3 = $387 & $389; if ($or$cond3) { $390 = HEAP32[$pFrom>>2]|0; - $391 = (($390) + 36|0); + $391 = ((($390)) + 36|0); $392 = HEAP8[$391>>0]|0; $393 = $392&255; $394 = $393 & 4; @@ -95974,7 +96102,7 @@ function _selectExpander($pWalker,$p) { } } $401 = HEAP32[$pFrom>>2]|0; - $402 = (($401) + 48|0); + $402 = ((($401)) + 48|0); $403 = HEAP32[$402>>2]|0; $404 = HEAP32[$zName>>2]|0; $405 = (_sqlite3IdListIndex($403,$404)|0); @@ -96040,10 +96168,10 @@ function _selectExpander($pWalker,$p) { $434 = HEAP32[$db>>2]|0; $435 = HEAP32[$zTabName>>2]|0; $436 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer21>>2] = $435; - $vararg_ptr10 = (($vararg_buffer21) + 4|0); + HEAP32[$vararg_buffer7>>2] = $435; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $436; - $437 = (_sqlite3MPrintf($434,17448,$vararg_buffer21)|0); + $437 = (_sqlite3MPrintf($434,21695,$vararg_buffer7)|0); HEAP32[$zColname>>2] = $437; $438 = HEAP32[$zColname>>2]|0; HEAP32[$zToFree>>2] = $438; @@ -96058,7 +96186,7 @@ function _selectExpander($pWalker,$p) { HEAP32[$sColname>>2] = $444; $445 = HEAP32[$zColname>>2]|0; $446 = (_sqlite3Strlen30($445)|0); - $447 = (($sColname) + 4|0); + $447 = ((($sColname)) + 4|0); HEAP32[$447>>2] = $446; $448 = HEAP32[$pParse>>2]|0; $449 = HEAP32[$pNew>>2]|0; @@ -96068,7 +96196,7 @@ function _selectExpander($pWalker,$p) { do { if ($451) { $452 = HEAP32[$2>>2]|0; - $453 = (($452) + 6|0); + $453 = ((($452)) + 6|0); $454 = HEAP16[$453>>1]|0; $455 = $454&65535; $456 = $455 & 512; @@ -96080,7 +96208,7 @@ function _selectExpander($pWalker,$p) { $459 = HEAP32[$458>>2]|0; $460 = (($459) - 1)|0; $461 = HEAP32[$pNew>>2]|0; - $462 = (($461) + 4|0); + $462 = ((($461)) + 4|0); $463 = HEAP32[$462>>2]|0; $464 = (($463) + (($460*20)|0)|0); HEAP32[$pX>>2] = $464; @@ -96091,31 +96219,31 @@ function _selectExpander($pWalker,$p) { $468 = HEAP32[$j>>2]|0; $469 = HEAP32[$pSub>>2]|0; $470 = HEAP32[$469>>2]|0; - $471 = (($470) + 4|0); + $471 = ((($470)) + 4|0); $472 = HEAP32[$471>>2]|0; $473 = (($472) + (($468*20)|0)|0); - $474 = (($473) + 8|0); + $474 = ((($473)) + 8|0); $475 = HEAP32[$474>>2]|0; $476 = (_sqlite3DbStrDup($467,$475)|0); $477 = HEAP32[$pX>>2]|0; - $478 = (($477) + 8|0); + $478 = ((($477)) + 8|0); HEAP32[$478>>2] = $476; } else { $479 = HEAP32[$zSchemaName>>2]|0; $480 = HEAP32[$zTabName>>2]|0; $481 = HEAP32[$zColname>>2]|0; - HEAP32[$vararg_buffer21>>2] = $479; - $vararg_ptr14 = (($vararg_buffer21) + 4|0); + HEAP32[$vararg_buffer11>>2] = $479; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $480; - $vararg_ptr15 = (($vararg_buffer21) + 8|0); + $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $481; - $482 = (_sqlite3MPrintf($467,17456,$vararg_buffer21)|0); + $482 = (_sqlite3MPrintf($467,21701,$vararg_buffer11)|0); $483 = HEAP32[$pX>>2]|0; - $484 = (($483) + 8|0); + $484 = ((($483)) + 8|0); HEAP32[$484>>2] = $482; } $485 = HEAP32[$pX>>2]|0; - $486 = (($485) + 13|0); + $486 = ((($485)) + 13|0); $487 = HEAP8[$486>>0]|0; $488 = $487 & -3; $489 = $488 | 2; @@ -96137,7 +96265,7 @@ function _selectExpander($pWalker,$p) { $495 = (($494) + 1)|0; HEAP32[$i>>2] = $495; $496 = HEAP32[$pFrom>>2]|0; - $497 = (($496) + 72|0); + $497 = ((($496)) + 72|0); HEAP32[$pFrom>>2] = $497; } $498 = HEAP32[$tableSeen>>2]|0; @@ -96148,11 +96276,11 @@ function _selectExpander($pWalker,$p) { $502 = HEAP32[$pParse>>2]|0; if ($501) { $503 = HEAP32[$zTName>>2]|0; - HEAP32[$vararg_buffer21>>2] = $503; - _sqlite3ErrorMsg($502,17472,$vararg_buffer21); + HEAP32[$vararg_buffer16>>2] = $503; + _sqlite3ErrorMsg($502,21710,$vararg_buffer16); break; } else { - _sqlite3ErrorMsg($502,17496,$vararg_buffer21); + _sqlite3ErrorMsg($502,21728,$vararg_buffer19); break; } } @@ -96177,13 +96305,13 @@ function _selectExpander($pWalker,$p) { $514 = HEAP32[$513>>2]|0; $515 = HEAP32[$514>>2]|0; $516 = HEAP32[$db>>2]|0; - $517 = (($516) + 88|0); - $518 = (($517) + 8|0); + $517 = ((($516)) + 88|0); + $518 = ((($517)) + 8|0); $519 = HEAP32[$518>>2]|0; $520 = ($515|0)>($519|0); if ($520) { $521 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($521,17520,$vararg_buffer21); + _sqlite3ErrorMsg($521,21748,$vararg_buffer21); } } HEAP32[$0>>2] = 0; @@ -96214,12 +96342,12 @@ function _selectPopWith($pWalker,$p) { HEAP32[$0>>2] = $pWalker; HEAP32[$1>>2] = $p; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 12|0); + $3 = ((($2)) + 12|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pParse>>2] = $4; $5 = HEAP32[$1>>2]|0; $6 = (_findRightmost($5)|0); - $7 = (($6) + 68|0); + $7 = ((($6)) + 68|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pWith>>2] = $8; $9 = HEAP32[$pWith>>2]|0; @@ -96228,10 +96356,10 @@ function _selectPopWith($pWalker,$p) { STACKTOP = sp;return; } $11 = HEAP32[$pWith>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$pParse>>2]|0; - $15 = (($14) + 532|0); + $15 = ((($14)) + 532|0); HEAP32[$15>>2] = $13; STACKTOP = sp;return; } @@ -96244,14 +96372,14 @@ function _findRightmost($p) { HEAP32[$0>>2] = $p; while(1) { $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 56|0); + $2 = ((($1)) + 56|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); $5 = HEAP32[$0>>2]|0; if (!($4)) { break; } - $6 = (($5) + 56|0); + $6 = ((($5)) + 56|0); $7 = HEAP32[$6>>2]|0; HEAP32[$0>>2] = $7; } @@ -96270,38 +96398,40 @@ function _withExpand($pWalker,$pFrom) { var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bMayRecursive = 0, $db = 0, $i = 0, $pCte = 0, $pEList = 0, $pItem = 0, $pLeft = 0, $pParse = 0, $pSavedWith = 0, $pSel = 0, $pSrc = 0, $pTab = 0, $pWith = 0, $vararg_buffer4 = 0; - var $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bMayRecursive = 0, $db = 0, $i = 0, $pCte = 0, $pEList = 0, $pItem = 0, $pLeft = 0, $pParse = 0, $pSavedWith = 0, $pSel = 0, $pSrc = 0, $pTab = 0, $pWith = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 96|0; $vararg_buffer4 = sp; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $pParse = sp + 60|0; - $db = sp + 56|0; - $pCte = sp + 52|0; - $pWith = sp + 48|0; + $vararg_buffer1 = sp + 24|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 28|0; + $1 = sp + 56|0; + $2 = sp + 36|0; + $pParse = sp + 32|0; + $db = sp + 52|0; + $pCte = sp + 48|0; + $pWith = sp + 40|0; $pTab = sp + 44|0; - $pEList = sp + 40|0; - $pSel = sp + 36|0; - $pLeft = sp + 32|0; - $bMayRecursive = sp + 28|0; - $pSavedWith = sp + 24|0; - $i = sp + 20|0; - $pSrc = sp + 16|0; - $pItem = sp + 12|0; + $pEList = sp + 60|0; + $pSel = sp + 64|0; + $pLeft = sp + 68|0; + $bMayRecursive = sp + 72|0; + $pSavedWith = sp + 76|0; + $i = sp + 80|0; + $pSrc = sp + 84|0; + $pItem = sp + 88|0; HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $pFrom; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pParse>>2] = $5; $6 = HEAP32[$pParse>>2]|0; $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$pParse>>2]|0; - $9 = (($8) + 532|0); + $9 = ((($8)) + 532|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$2>>2]|0; $12 = (_searchWith($10,$11,$pWith)|0); @@ -96310,18 +96440,18 @@ function _withExpand($pWalker,$pFrom) { $14 = ($13|0)!=(0|0); if ($14) { $15 = HEAP32[$pCte>>2]|0; - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)!=(0|0); if ($18) { $19 = HEAP32[$pParse>>2]|0; $20 = HEAP32[$pCte>>2]|0; - $21 = (($20) + 12|0); + $21 = ((($20)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$pCte>>2]|0; $24 = HEAP32[$23>>2]|0; - HEAP32[$vararg_buffer4>>2] = $24; - _sqlite3ErrorMsg($19,$22,$vararg_buffer4); + HEAP32[$vararg_buffer>>2] = $24; + _sqlite3ErrorMsg($19,$22,$vararg_buffer); HEAP32[$0>>2] = 1; $205 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($205|0); @@ -96330,7 +96460,7 @@ function _withExpand($pWalker,$pFrom) { $26 = (_sqlite3DbMallocZero($25,76,0)|0); HEAP32[$pTab>>2] = $26; $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 16|0); + $28 = ((($27)) + 16|0); HEAP32[$28>>2] = $26; $29 = HEAP32[$pTab>>2]|0; $30 = ($29|0)==(0|0); @@ -96340,7 +96470,7 @@ function _withExpand($pWalker,$pFrom) { STACKTOP = sp;return ($205|0); } $31 = HEAP32[$pTab>>2]|0; - $32 = (($31) + 40|0); + $32 = ((($31)) + 40|0); HEAP16[$32>>1] = 1; $33 = HEAP32[$db>>2]|0; $34 = HEAP32[$pCte>>2]|0; @@ -96349,13 +96479,13 @@ function _withExpand($pWalker,$pFrom) { $37 = HEAP32[$pTab>>2]|0; HEAP32[$37>>2] = $36; $38 = HEAP32[$pTab>>2]|0; - $39 = (($38) + 36|0); + $39 = ((($38)) + 36|0); HEAP16[$39>>1] = -1; $40 = HEAP32[$pTab>>2]|0; - $41 = (($40) + 28|0); + $41 = ((($40)) + 28|0); HEAP16[$41>>1] = 200; $42 = HEAP32[$pTab>>2]|0; - $43 = (($42) + 44|0); + $43 = ((($42)) + 44|0); $44 = HEAP8[$43>>0]|0; $45 = $44&255; $46 = $45 | 2; @@ -96363,14 +96493,14 @@ function _withExpand($pWalker,$pFrom) { HEAP8[$43>>0] = $47; $48 = HEAP32[$db>>2]|0; $49 = HEAP32[$pCte>>2]|0; - $50 = (($49) + 8|0); + $50 = ((($49)) + 8|0); $51 = HEAP32[$50>>2]|0; $52 = (_sqlite3SelectDup($48,$51,0)|0); $53 = HEAP32[$2>>2]|0; - $54 = (($53) + 20|0); + $54 = ((($53)) + 20|0); HEAP32[$54>>2] = $52; $55 = HEAP32[$db>>2]|0; - $56 = (($55) + 64|0); + $56 = ((($55)) + 64|0); $57 = HEAP8[$56>>0]|0; $58 = ($57<<24>>24)!=(0); if ($58) { @@ -96379,11 +96509,11 @@ function _withExpand($pWalker,$pFrom) { STACKTOP = sp;return ($205|0); } $59 = HEAP32[$2>>2]|0; - $60 = (($59) + 20|0); + $60 = ((($59)) + 20|0); $61 = HEAP32[$60>>2]|0; HEAP32[$pSel>>2] = $61; $62 = HEAP32[$pSel>>2]|0; - $63 = (($62) + 4|0); + $63 = ((($62)) + 4|0); $64 = HEAP8[$63>>0]|0; $65 = $64&255; $66 = ($65|0)==(116); @@ -96391,7 +96521,7 @@ function _withExpand($pWalker,$pFrom) { $73 = 1; } else { $67 = HEAP32[$pSel>>2]|0; - $68 = (($67) + 4|0); + $68 = ((($67)) + 4|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; $71 = ($70|0)==(115); @@ -96404,9 +96534,9 @@ function _withExpand($pWalker,$pFrom) { L18: do { if ($75) { $76 = HEAP32[$2>>2]|0; - $77 = (($76) + 20|0); + $77 = ((($76)) + 20|0); $78 = HEAP32[$77>>2]|0; - $79 = (($78) + 32|0); + $79 = ((($78)) + 32|0); $80 = HEAP32[$79>>2]|0; HEAP32[$pSrc>>2] = $80; HEAP32[$i>>2] = 0; @@ -96420,21 +96550,21 @@ function _withExpand($pWalker,$pFrom) { } $85 = HEAP32[$i>>2]|0; $86 = HEAP32[$pSrc>>2]|0; - $87 = (($86) + 8|0); + $87 = ((($86)) + 8|0); $88 = (($87) + (($85*72)|0)|0); HEAP32[$pItem>>2] = $88; $89 = HEAP32[$pItem>>2]|0; - $90 = (($89) + 4|0); + $90 = ((($89)) + 4|0); $91 = HEAP32[$90>>2]|0; $92 = ($91|0)==(0|0); if ($92) { $93 = HEAP32[$pItem>>2]|0; - $94 = (($93) + 8|0); + $94 = ((($93)) + 8|0); $95 = HEAP32[$94>>2]|0; $96 = ($95|0)!=(0|0); if ($96) { $97 = HEAP32[$pItem>>2]|0; - $98 = (($97) + 8|0); + $98 = ((($97)) + 8|0); $99 = HEAP32[$98>>2]|0; $100 = HEAP32[$pCte>>2]|0; $101 = HEAP32[$100>>2]|0; @@ -96443,21 +96573,21 @@ function _withExpand($pWalker,$pFrom) { if ($103) { $104 = HEAP32[$pTab>>2]|0; $105 = HEAP32[$pItem>>2]|0; - $106 = (($105) + 16|0); + $106 = ((($105)) + 16|0); HEAP32[$106>>2] = $104; $107 = HEAP32[$pItem>>2]|0; - $108 = (($107) + 37|0); + $108 = ((($107)) + 37|0); $109 = HEAP8[$108>>0]|0; $110 = $109 & -9; $111 = $110 | 8; HEAP8[$108>>0] = $111; $112 = HEAP32[$pTab>>2]|0; - $113 = (($112) + 40|0); + $113 = ((($112)) + 40|0); $114 = HEAP16[$113>>1]|0; $115 = (($114) + 1)<<16>>16; HEAP16[$113>>1] = $115; $116 = HEAP32[$pSel>>2]|0; - $117 = (($116) + 6|0); + $117 = ((($116)) + 6|0); $118 = HEAP16[$117>>1]|0; $119 = $118&65535; $120 = $119 | 2048; @@ -96473,7 +96603,7 @@ function _withExpand($pWalker,$pFrom) { } } while(0); $124 = HEAP32[$pTab>>2]|0; - $125 = (($124) + 40|0); + $125 = ((($124)) + 40|0); $126 = HEAP16[$125>>1]|0; $127 = $126&65535; $128 = ($127|0)>(2); @@ -96481,29 +96611,29 @@ function _withExpand($pWalker,$pFrom) { $129 = HEAP32[$pParse>>2]|0; $130 = HEAP32[$pCte>>2]|0; $131 = HEAP32[$130>>2]|0; - HEAP32[$vararg_buffer4>>2] = $131; - _sqlite3ErrorMsg($129,17752,$vararg_buffer4); + HEAP32[$vararg_buffer1>>2] = $131; + _sqlite3ErrorMsg($129,21966,$vararg_buffer1); HEAP32[$0>>2] = 1; $205 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($205|0); } $132 = HEAP32[$pCte>>2]|0; - $133 = (($132) + 12|0); - HEAP32[$133>>2] = 17800; + $133 = ((($132)) + 12|0); + HEAP32[$133>>2] = 22009; $134 = HEAP32[$pParse>>2]|0; - $135 = (($134) + 532|0); + $135 = ((($134)) + 532|0); $136 = HEAP32[$135>>2]|0; HEAP32[$pSavedWith>>2] = $136; $137 = HEAP32[$pWith>>2]|0; $138 = HEAP32[$pParse>>2]|0; - $139 = (($138) + 532|0); + $139 = ((($138)) + 532|0); HEAP32[$139>>2] = $137; $140 = HEAP32[$1>>2]|0; $141 = HEAP32[$bMayRecursive>>2]|0; $142 = ($141|0)!=(0); $143 = HEAP32[$pSel>>2]|0; if ($142) { - $144 = (($143) + 52|0); + $144 = ((($143)) + 52|0); $145 = HEAP32[$144>>2]|0; $146 = $145; } else { @@ -96514,21 +96644,21 @@ function _withExpand($pWalker,$pFrom) { HEAP32[$pLeft>>2] = $147; while(1) { $148 = HEAP32[$pLeft>>2]|0; - $149 = (($148) + 52|0); + $149 = ((($148)) + 52|0); $150 = HEAP32[$149>>2]|0; $151 = ($150|0)!=(0|0); $152 = HEAP32[$pLeft>>2]|0; if (!($151)) { break; } - $153 = (($152) + 52|0); + $153 = ((($152)) + 52|0); $154 = HEAP32[$153>>2]|0; HEAP32[$pLeft>>2] = $154; } $155 = HEAP32[$152>>2]|0; HEAP32[$pEList>>2] = $155; $156 = HEAP32[$pCte>>2]|0; - $157 = (($156) + 4|0); + $157 = ((($156)) + 4|0); $158 = HEAP32[$157>>2]|0; $159 = ($158|0)!=(0|0); do { @@ -96536,13 +96666,13 @@ function _withExpand($pWalker,$pFrom) { $160 = HEAP32[$pEList>>2]|0; $161 = HEAP32[$160>>2]|0; $162 = HEAP32[$pCte>>2]|0; - $163 = (($162) + 4|0); + $163 = ((($162)) + 4|0); $164 = HEAP32[$163>>2]|0; $165 = HEAP32[$164>>2]|0; $166 = ($161|0)!=($165|0); if (!($166)) { $179 = HEAP32[$pCte>>2]|0; - $180 = (($179) + 4|0); + $180 = ((($179)) + 4|0); $181 = HEAP32[$180>>2]|0; HEAP32[$pEList>>2] = $181; break; @@ -96553,18 +96683,18 @@ function _withExpand($pWalker,$pFrom) { $170 = HEAP32[$pEList>>2]|0; $171 = HEAP32[$170>>2]|0; $172 = HEAP32[$pCte>>2]|0; - $173 = (($172) + 4|0); + $173 = ((($172)) + 4|0); $174 = HEAP32[$173>>2]|0; $175 = HEAP32[$174>>2]|0; HEAP32[$vararg_buffer4>>2] = $169; - $vararg_ptr7 = (($vararg_buffer4) + 4|0); + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $171; - $vararg_ptr8 = (($vararg_buffer4) + 8|0); + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $175; - _sqlite3ErrorMsg($167,17824,$vararg_buffer4); + _sqlite3ErrorMsg($167,22032,$vararg_buffer4); $176 = HEAP32[$pSavedWith>>2]|0; $177 = HEAP32[$pParse>>2]|0; - $178 = (($177) + 532|0); + $178 = ((($177)) + 532|0); HEAP32[$178>>2] = $176; HEAP32[$0>>2] = 1; $205 = HEAP32[$0>>2]|0; @@ -96574,36 +96704,36 @@ function _withExpand($pWalker,$pFrom) { $182 = HEAP32[$pParse>>2]|0; $183 = HEAP32[$pEList>>2]|0; $184 = HEAP32[$pTab>>2]|0; - $185 = (($184) + 38|0); + $185 = ((($184)) + 38|0); $186 = HEAP32[$pTab>>2]|0; - $187 = (($186) + 4|0); + $187 = ((($186)) + 4|0); (_selectColumnsFromExprList($182,$183,$185,$187)|0); $188 = HEAP32[$bMayRecursive>>2]|0; $189 = ($188|0)!=(0); if ($189) { $190 = HEAP32[$pSel>>2]|0; - $191 = (($190) + 6|0); + $191 = ((($190)) + 6|0); $192 = HEAP16[$191>>1]|0; $193 = $192&65535; $194 = $193 & 2048; $195 = ($194|0)!=(0); $196 = HEAP32[$pCte>>2]|0; - $197 = (($196) + 12|0); + $197 = ((($196)) + 12|0); if ($195) { - HEAP32[$197>>2] = 17864; + HEAP32[$197>>2] = 22070; } else { - HEAP32[$197>>2] = 17904; + HEAP32[$197>>2] = 22104; } $198 = HEAP32[$1>>2]|0; $199 = HEAP32[$pSel>>2]|0; (_sqlite3WalkSelect($198,$199)|0); } $200 = HEAP32[$pCte>>2]|0; - $201 = (($200) + 12|0); + $201 = ((($200)) + 12|0); HEAP32[$201>>2] = 0; $202 = HEAP32[$pSavedWith>>2]|0; $203 = HEAP32[$pParse>>2]|0; - $204 = (($203) + 532|0); + $204 = ((($203)) + 532|0); HEAP32[$204>>2] = $202; } HEAP32[$0>>2] = 0; @@ -96619,35 +96749,35 @@ function _sqlite3IndexedByLookup($pParse,$pFrom) { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 28|0; + $0 = sp + 20|0; $1 = sp + 24|0; - $2 = sp + 20|0; - $pTab = sp + 16|0; - $zIndex = sp + 12|0; - $pIdx = sp + 8|0; + $2 = sp + 28|0; + $pTab = sp + 12|0; + $zIndex = sp + 8|0; + $pIdx = sp + 16|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pFrom; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 16|0); + $4 = ((($3)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); do { if ($6) { $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 64|0); + $8 = ((($7)) + 64|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); if ($10) { $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 16|0); + $12 = ((($11)) + 16|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pTab>>2] = $13; $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 64|0); + $15 = ((($14)) + 64|0); $16 = HEAP32[$15>>2]|0; HEAP32[$zIndex>>2] = $16; $17 = HEAP32[$pTab>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pIdx>>2] = $19; while(1) { @@ -96665,7 +96795,7 @@ function _sqlite3IndexedByLookup($pParse,$pFrom) { break; } $27 = HEAP32[$pIdx>>2]|0; - $28 = (($27) + 20|0); + $28 = ((($27)) + 20|0); $29 = HEAP32[$28>>2]|0; HEAP32[$pIdx>>2] = $29; } @@ -96674,18 +96804,18 @@ function _sqlite3IndexedByLookup($pParse,$pFrom) { if ($31) { $36 = HEAP32[$pIdx>>2]|0; $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 68|0); + $38 = ((($37)) + 68|0); HEAP32[$38>>2] = $36; break; } $32 = HEAP32[$1>>2]|0; $33 = HEAP32[$zIndex>>2]|0; HEAP32[$vararg_buffer>>2] = $33; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($32,17728,$vararg_buffer); + _sqlite3ErrorMsg($32,21948,$vararg_buffer); $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 17|0); + $35 = ((($34)) + 17|0); HEAP8[$35>>0] = 1; HEAP32[$0>>2] = 1; $39 = HEAP32[$0>>2]|0; @@ -96708,40 +96838,43 @@ function _sqliteProcessJoin($pParse,$p) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $i = 0, $iLeft = 0, $iLeft2 = 0, $iLeftCol = 0, $iLeftCol3 = 0, $iRightCol = 0, $isOuter = 0, $j = 0, $or$cond = 0, $pLeft = 0, $pLeftTab = 0, $pList = 0, $pRight = 0, $pRightTab = 0, $pSrc = 0, $vararg_buffer4 = 0, $zName = 0, $zName1 = 0, label = 0, sp = 0; + var $i = 0, $iLeft = 0, $iLeft2 = 0, $iLeftCol = 0, $iLeftCol3 = 0, $iRightCol = 0, $isOuter = 0, $j = 0, $or$cond = 0, $pLeft = 0, $pLeftTab = 0, $pList = 0, $pRight = 0, $pRightTab = 0, $pSrc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $zName = 0, $zName1 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer4 = sp; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $pSrc = sp + 64|0; - $i = sp + 60|0; - $j = sp + 56|0; - $pLeft = sp + 52|0; - $pRight = sp + 48|0; - $pLeftTab = sp + 44|0; - $pRightTab = sp + 40|0; - $isOuter = sp + 36|0; - $zName = sp + 32|0; - $iLeft = sp + 28|0; - $iLeftCol = sp + 24|0; - $pList = sp + 20|0; - $zName1 = sp + 16|0; - $iLeft2 = sp + 12|0; - $iLeftCol3 = sp + 8|0; - $iRightCol = sp + 4|0; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer2 = sp; + $vararg_buffer = sp + 16|0; + $0 = sp + 20|0; + $1 = sp + 60|0; + $2 = sp + 32|0; + $pSrc = sp + 28|0; + $i = sp + 48|0; + $j = sp + 36|0; + $pLeft = sp + 40|0; + $pRight = sp + 44|0; + $pLeftTab = sp + 24|0; + $pRightTab = sp + 52|0; + $isOuter = sp + 56|0; + $zName = sp + 64|0; + $iLeft = sp + 68|0; + $iLeftCol = sp + 72|0; + $pList = sp + 76|0; + $zName1 = sp + 80|0; + $iLeft2 = sp + 84|0; + $iLeftCol3 = sp + 88|0; + $iRightCol = sp + 92|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 32|0); + $4 = ((($3)) + 32|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSrc>>2] = $5; $6 = HEAP32[$pSrc>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); HEAP32[$pLeft>>2] = $7; $8 = HEAP32[$pLeft>>2]|0; - $9 = (($8) + 72|0); + $9 = ((($8)) + 72|0); HEAP32[$pRight>>2] = $9; HEAP32[$i>>2] = 0; L1: while(1) { @@ -96755,11 +96888,11 @@ function _sqliteProcessJoin($pParse,$p) { break; } $15 = HEAP32[$pLeft>>2]|0; - $16 = (($15) + 16|0); + $16 = ((($15)) + 16|0); $17 = HEAP32[$16>>2]|0; HEAP32[$pLeftTab>>2] = $17; $18 = HEAP32[$pRight>>2]|0; - $19 = (($18) + 16|0); + $19 = ((($18)) + 16|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pRightTab>>2] = $20; $21 = HEAP32[$pLeftTab>>2]|0; @@ -96770,7 +96903,7 @@ function _sqliteProcessJoin($pParse,$p) { L4: do { if (!($or$cond)) { $25 = HEAP32[$pRight>>2]|0; - $26 = (($25) + 36|0); + $26 = ((($25)) + 36|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; $29 = $28 & 32; @@ -96778,7 +96911,7 @@ function _sqliteProcessJoin($pParse,$p) { $31 = $30&1; HEAP32[$isOuter>>2] = $31; $32 = HEAP32[$pRight>>2]|0; - $33 = (($32) + 36|0); + $33 = ((($32)) + 36|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; $36 = $35 & 4; @@ -96786,7 +96919,7 @@ function _sqliteProcessJoin($pParse,$p) { L6: do { if ($37) { $38 = HEAP32[$pRight>>2]|0; - $39 = (($38) + 44|0); + $39 = ((($38)) + 44|0); $40 = HEAP32[$39>>2]|0; $41 = ($40|0)!=(0|0); if ($41) { @@ -96794,7 +96927,7 @@ function _sqliteProcessJoin($pParse,$p) { break L1; } $42 = HEAP32[$pRight>>2]|0; - $43 = (($42) + 48|0); + $43 = ((($42)) + 48|0); $44 = HEAP32[$43>>2]|0; $45 = ($44|0)!=(0|0); if ($45) { @@ -96805,7 +96938,7 @@ function _sqliteProcessJoin($pParse,$p) { while(1) { $47 = HEAP32[$j>>2]|0; $48 = HEAP32[$pRightTab>>2]|0; - $49 = (($48) + 38|0); + $49 = ((($48)) + 38|0); $50 = HEAP16[$49>>1]|0; $51 = $50 << 16 >> 16; $52 = ($47|0)<($51|0); @@ -96814,7 +96947,7 @@ function _sqliteProcessJoin($pParse,$p) { } $53 = HEAP32[$j>>2]|0; $54 = HEAP32[$pRightTab>>2]|0; - $55 = (($54) + 4|0); + $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; $57 = (($56) + (($53*24)|0)|0); $58 = HEAP32[$57>>2]|0; @@ -96835,7 +96968,7 @@ function _sqliteProcessJoin($pParse,$p) { $71 = HEAP32[$j>>2]|0; $72 = HEAP32[$isOuter>>2]|0; $73 = HEAP32[$2>>2]|0; - $74 = (($73) + 36|0); + $74 = ((($73)) + 36|0); _addWhereTerm($65,$66,$67,$68,$70,$71,$72,$74); } $75 = HEAP32[$j>>2]|0; @@ -96845,12 +96978,12 @@ function _sqliteProcessJoin($pParse,$p) { } } while(0); $77 = HEAP32[$pRight>>2]|0; - $78 = (($77) + 44|0); + $78 = ((($77)) + 44|0); $79 = HEAP32[$78>>2]|0; $80 = ($79|0)!=(0|0); if ($80) { $81 = HEAP32[$pRight>>2]|0; - $82 = (($81) + 48|0); + $82 = ((($81)) + 48|0); $83 = HEAP32[$82>>2]|0; $84 = ($83|0)!=(0|0); if ($84) { @@ -96859,7 +96992,7 @@ function _sqliteProcessJoin($pParse,$p) { } } $86 = HEAP32[$pRight>>2]|0; - $87 = (($86) + 44|0); + $87 = ((($86)) + 44|0); $88 = HEAP32[$87>>2]|0; $89 = ($88|0)!=(0|0); if ($89) { @@ -96867,43 +97000,43 @@ function _sqliteProcessJoin($pParse,$p) { $91 = ($90|0)!=(0); if ($91) { $92 = HEAP32[$pRight>>2]|0; - $93 = (($92) + 44|0); + $93 = ((($92)) + 44|0); $94 = HEAP32[$93>>2]|0; $95 = HEAP32[$pRight>>2]|0; - $96 = (($95) + 40|0); + $96 = ((($95)) + 40|0); $97 = HEAP32[$96>>2]|0; _setJoinExpr($94,$97); } $98 = HEAP32[$1>>2]|0; $99 = HEAP32[$98>>2]|0; $100 = HEAP32[$2>>2]|0; - $101 = (($100) + 36|0); + $101 = ((($100)) + 36|0); $102 = HEAP32[$101>>2]|0; $103 = HEAP32[$pRight>>2]|0; - $104 = (($103) + 44|0); + $104 = ((($103)) + 44|0); $105 = HEAP32[$104>>2]|0; $106 = (_sqlite3ExprAnd($99,$102,$105)|0); $107 = HEAP32[$2>>2]|0; - $108 = (($107) + 36|0); + $108 = ((($107)) + 36|0); HEAP32[$108>>2] = $106; $109 = HEAP32[$pRight>>2]|0; - $110 = (($109) + 44|0); + $110 = ((($109)) + 44|0); HEAP32[$110>>2] = 0; } $111 = HEAP32[$pRight>>2]|0; - $112 = (($111) + 48|0); + $112 = ((($111)) + 48|0); $113 = HEAP32[$112>>2]|0; $114 = ($113|0)!=(0|0); if ($114) { $115 = HEAP32[$pRight>>2]|0; - $116 = (($115) + 48|0); + $116 = ((($115)) + 48|0); $117 = HEAP32[$116>>2]|0; HEAP32[$pList>>2] = $117; HEAP32[$j>>2] = 0; while(1) { $118 = HEAP32[$j>>2]|0; $119 = HEAP32[$pList>>2]|0; - $120 = (($119) + 4|0); + $120 = ((($119)) + 4|0); $121 = HEAP32[$120>>2]|0; $122 = ($118|0)<($121|0); if (!($122)) { @@ -96944,7 +97077,7 @@ function _sqliteProcessJoin($pParse,$p) { $147 = HEAP32[$iRightCol>>2]|0; $148 = HEAP32[$isOuter>>2]|0; $149 = HEAP32[$2>>2]|0; - $150 = (($149) + 36|0); + $150 = ((($149)) + 36|0); _addWhereTerm($141,$142,$143,$144,$146,$147,$148,$150); $151 = HEAP32[$j>>2]|0; $152 = (($151) + 1)|0; @@ -96957,23 +97090,23 @@ function _sqliteProcessJoin($pParse,$p) { $154 = (($153) + 1)|0; HEAP32[$i>>2] = $154; $155 = HEAP32[$pRight>>2]|0; - $156 = (($155) + 72|0); + $156 = ((($155)) + 72|0); HEAP32[$pRight>>2] = $156; $157 = HEAP32[$pLeft>>2]|0; - $158 = (($157) + 72|0); + $158 = ((($157)) + 72|0); HEAP32[$pLeft>>2] = $158; } if ((label|0) == 7) { $46 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer4>>2] = 0; - _sqlite3ErrorMsg($46,17552,$vararg_buffer4); + HEAP32[$vararg_buffer>>2] = 0; + _sqlite3ErrorMsg($46,21779,$vararg_buffer); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); } else if ((label|0) == 15) { $85 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($85,17608,$vararg_buffer4); + _sqlite3ErrorMsg($85,21829,$vararg_buffer2); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); @@ -96982,7 +97115,7 @@ function _sqliteProcessJoin($pParse,$p) { $139 = HEAP32[$1>>2]|0; $140 = HEAP32[$zName1>>2]|0; HEAP32[$vararg_buffer4>>2] = $140; - _sqlite3ErrorMsg($139,17664,$vararg_buffer4); + _sqlite3ErrorMsg($139,21884,$vararg_buffer4); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); @@ -96992,7 +97125,7 @@ function _sqliteProcessJoin($pParse,$p) { $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); } - return 0|0; + return (0)|0; } function _tableAndColumnIndex($pSrc,$N,$zCol,$piTab,$piCol) { $pSrc = $pSrc|0; @@ -97004,14 +97137,14 @@ function _tableAndColumnIndex($pSrc,$N,$zCol,$piTab,$piCol) { var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iCol = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $i = sp + 4|0; - $iCol = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $5 = sp; + $i = sp + 12|0; + $iCol = sp + 24|0; HEAP32[$1>>2] = $pSrc; HEAP32[$2>>2] = $N; HEAP32[$3>>2] = $zCol; @@ -97028,9 +97161,9 @@ function _tableAndColumnIndex($pSrc,$N,$zCol,$piTab,$piCol) { } $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = (($11) + (($9*72)|0)|0); - $13 = (($12) + 16|0); + $13 = ((($12)) + 16|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$3>>2]|0; $16 = (_columnIndex($14,$15)|0); @@ -97087,7 +97220,7 @@ function _sqlite3IdListIndex($pList,$zName) { while(1) { $5 = HEAP32[$i>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = ($5|0)<($8|0); if (!($9)) { @@ -97120,7 +97253,7 @@ function _sqlite3IdListIndex($pList,$zName) { $20 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($20|0); } - return 0|0; + return (0)|0; } function _columnIndex($pTab,$zCol) { $pTab = $pTab|0; @@ -97139,7 +97272,7 @@ function _columnIndex($pTab,$zCol) { while(1) { $3 = HEAP32[$i>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 38|0); + $5 = ((($4)) + 38|0); $6 = HEAP16[$5>>1]|0; $7 = $6 << 16 >> 16; $8 = ($3|0)<($7|0); @@ -97149,7 +97282,7 @@ function _columnIndex($pTab,$zCol) { } $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + (($9*24)|0)|0); $14 = HEAP32[$13>>2]|0; @@ -97174,7 +97307,7 @@ function _columnIndex($pTab,$zCol) { $20 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($20|0); } - return 0|0; + return (0)|0; } function _addWhereTerm($pParse,$pSrc,$iLeft,$iColLeft,$iRight,$iColRight,$isOuterJoin,$ppWhere) { $pParse = $pParse|0; @@ -97190,18 +97323,18 @@ function _addWhereTerm($pParse,$pSrc,$iLeft,$iColLeft,$iRight,$iColRight,$isOute var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $pE1 = 0, $pE2 = 0, $pEq = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; + $0 = sp; + $1 = sp + 8|0; $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $7 = sp + 16|0; - $db = sp + 12|0; - $pE1 = sp + 8|0; + $3 = sp + 16|0; + $4 = sp + 32|0; + $5 = sp + 40|0; + $6 = sp + 44|0; + $7 = sp + 24|0; + $db = sp + 20|0; + $pE1 = sp + 12|0; $pE2 = sp + 4|0; - $pEq = sp; + $pEq = sp + 28|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSrc; HEAP32[$2>>2] = $iLeft; @@ -97246,16 +97379,16 @@ function _addWhereTerm($pParse,$pSrc,$iLeft,$iColLeft,$iRight,$iColRight,$isOute STACKTOP = sp;return; } $28 = HEAP32[$pEq>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = $30 | 1; HEAP32[$29>>2] = $31; $32 = HEAP32[$pE2>>2]|0; - $33 = (($32) + 28|0); + $33 = ((($32)) + 28|0); $34 = HEAP32[$33>>2]|0; $35 = $34&65535; $36 = HEAP32[$pEq>>2]|0; - $37 = (($36) + 36|0); + $37 = ((($36)) + 36|0); HEAP16[$37>>1] = $35; $38 = HEAP32[$db>>2]|0; $39 = HEAP32[$7>>2]|0; @@ -97284,22 +97417,22 @@ function _setJoinExpr($p,$iTable) { break; } $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = $6 | 1; HEAP32[$5>>2] = $7; $8 = HEAP32[$1>>2]|0; $9 = $8&65535; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 36|0); + $11 = ((($10)) + 36|0); HEAP16[$11>>1] = $9; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 12|0); + $13 = ((($12)) + 12|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$1>>2]|0; _setJoinExpr($14,$15); $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 16|0); + $17 = ((($16)) + 16|0); $18 = HEAP32[$17>>2]|0; HEAP32[$0>>2] = $18; } @@ -97364,7 +97497,7 @@ function _sqlite3ExprAnd($db,$pLeft,$pRight) { $17 = HEAP32[$3>>2]|0; _sqlite3ExprDelete($16,$17); $18 = HEAP32[$1>>2]|0; - $19 = (_sqlite3ExprAlloc($18,132,10152,0)|0); + $19 = (_sqlite3ExprAlloc($18,132,2276,0)|0); HEAP32[$0>>2] = $19; $27 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($27|0); @@ -97380,7 +97513,7 @@ function _exprAlwaysFalse($p) { HEAP32[$1>>2] = $p; HEAP32[$v>>2] = 0; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = $4 & 1; $6 = ($5|0)!=(0); @@ -97418,14 +97551,14 @@ function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $c = 0, $iValue = 0, $nExtra = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pNew = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $pNew = sp + 12|0; - $nExtra = sp + 8|0; - $iValue = sp + 4|0; - $c = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $pNew = sp + 28|0; + $nExtra = sp; + $iValue = sp + 12|0; + $c = sp + 24|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $op; HEAP32[$2>>2] = $pToken; @@ -97453,7 +97586,7 @@ function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { } } $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + 1)|0; HEAP32[$nExtra>>2] = $18; @@ -97475,7 +97608,7 @@ function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { $27 = HEAP32[$pNew>>2]|0; HEAP8[$27>>0] = $26; $28 = HEAP32[$pNew>>2]|0; - $29 = (($28) + 34|0); + $29 = ((($28)) + 34|0); HEAP16[$29>>1] = -1; $30 = HEAP32[$2>>2]|0; $31 = ($30|0)!=(0|0); @@ -97485,40 +97618,40 @@ function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { $33 = ($32|0)==(0); $34 = HEAP32[$pNew>>2]|0; if ($33) { - $35 = (($34) + 4|0); + $35 = ((($34)) + 4|0); $36 = HEAP32[$35>>2]|0; $37 = $36 | 1024; HEAP32[$35>>2] = $37; $38 = HEAP32[$iValue>>2]|0; $39 = HEAP32[$pNew>>2]|0; - $40 = (($39) + 8|0); + $40 = ((($39)) + 8|0); HEAP32[$40>>2] = $38; break; } - $41 = (($34) + 48|0); + $41 = ((($34)) + 48|0); $42 = HEAP32[$pNew>>2]|0; - $43 = (($42) + 8|0); + $43 = ((($42)) + 8|0); HEAP32[$43>>2] = $41; $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = ($46|0)!=(0); if ($47) { $48 = HEAP32[$pNew>>2]|0; - $49 = (($48) + 8|0); + $49 = ((($48)) + 8|0); $50 = HEAP32[$49>>2]|0; $51 = HEAP32[$2>>2]|0; $52 = HEAP32[$51>>2]|0; $53 = HEAP32[$2>>2]|0; - $54 = (($53) + 4|0); + $54 = ((($53)) + 4|0); $55 = HEAP32[$54>>2]|0; _memcpy(($50|0),($52|0),($55|0))|0; } $56 = HEAP32[$2>>2]|0; - $57 = (($56) + 4|0); + $57 = ((($56)) + 4|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$pNew>>2]|0; - $60 = (($59) + 8|0); + $60 = ((($59)) + 8|0); $61 = HEAP32[$60>>2]|0; $62 = (($61) + ($58)|0); HEAP8[$62>>0] = 0; @@ -97545,14 +97678,14 @@ function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { $or$cond7 = $or$cond5 | $77; if ($or$cond7) { $78 = HEAP32[$pNew>>2]|0; - $79 = (($78) + 8|0); + $79 = ((($78)) + 8|0); $80 = HEAP32[$79>>2]|0; (_sqlite3Dequote($80)|0); $81 = HEAP32[$c>>2]|0; $82 = ($81|0)==(34); if ($82) { $83 = HEAP32[$pNew>>2]|0; - $84 = (($83) + 4|0); + $84 = ((($83)) + 4|0); $85 = HEAP32[$84>>2]|0; $86 = $85 | 64; HEAP32[$84>>2] = $86; @@ -97562,7 +97695,7 @@ function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { } } while(0); $87 = HEAP32[$pNew>>2]|0; - $88 = (($87) + 24|0); + $88 = ((($87)) + 24|0); HEAP32[$88>>2] = 1; $89 = HEAP32[$pNew>>2]|0; STACKTOP = sp;return ($89|0); @@ -97600,14 +97733,14 @@ function _sqlite3ExprAttachSubtrees($db,$pRoot,$pLeft,$pRight) { if ($11) { $12 = HEAP32[$3>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 16|0); + $14 = ((($13)) + 16|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = 256 & $17; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; $22 = $21 | $18; HEAP32[$20>>2] = $22; @@ -97617,14 +97750,14 @@ function _sqlite3ExprAttachSubtrees($db,$pRoot,$pLeft,$pRight) { if ($24) { $25 = HEAP32[$2>>2]|0; $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 12|0); + $27 = ((($26)) + 12|0); HEAP32[$27>>2] = $25; $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = 256 & $30; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = $34 | $31; HEAP32[$33>>2] = $35; @@ -97644,20 +97777,20 @@ function _exprSetHeight($p) { HEAP32[$0>>2] = $p; HEAP32[$nHeight>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); + $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; _heightOfExpr($3,$nHeight); $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; _heightOfExpr($6,$nHeight); $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = $9 & 2048; $11 = ($10|0)!=(0); $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 20|0); + $13 = ((($12)) + 20|0); if ($11) { $14 = HEAP32[$13>>2]|0; _heightOfSelect($14,$nHeight); @@ -97668,7 +97801,7 @@ function _exprSetHeight($p) { $16 = HEAP32[$nHeight>>2]|0; $17 = (($16) + 1)|0; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 24|0); + $19 = ((($18)) + 24|0); HEAP32[$19>>2] = $17; STACKTOP = sp;return; } @@ -97688,7 +97821,7 @@ function _heightOfExpr($p,$pnHeight) { STACKTOP = sp;return; } $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 24|0); + $5 = ((($4)) + 24|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$7>>2]|0; @@ -97697,7 +97830,7 @@ function _heightOfExpr($p,$pnHeight) { STACKTOP = sp;return; } $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 24|0); + $11 = ((($10)) + 24|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$1>>2]|0; HEAP32[$13>>2] = $12; @@ -97720,22 +97853,22 @@ function _heightOfSelect($p,$pnHeight) { STACKTOP = sp;return; } $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 36|0); + $5 = ((($4)) + 36|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$1>>2]|0; _heightOfExpr($6,$7); $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 44|0); + $9 = ((($8)) + 44|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$1>>2]|0; _heightOfExpr($10,$11); $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 60|0); + $13 = ((($12)) + 60|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$1>>2]|0; _heightOfExpr($14,$15); $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 64|0); + $17 = ((($16)) + 64|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$1>>2]|0; _heightOfExpr($18,$19); @@ -97744,17 +97877,17 @@ function _heightOfSelect($p,$pnHeight) { $22 = HEAP32[$1>>2]|0; _heightOfExprList($21,$22); $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 40|0); + $24 = ((($23)) + 40|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$1>>2]|0; _heightOfExprList($25,$26); $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 48|0); + $28 = ((($27)) + 48|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$1>>2]|0; _heightOfExprList($29,$30); $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 52|0); + $32 = ((($31)) + 52|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$1>>2]|0; _heightOfSelect($33,$34); @@ -97787,7 +97920,7 @@ function _heightOfExprList($p,$pnHeight) { } $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + (($8*20)|0)|0); $13 = HEAP32[$12>>2]|0; @@ -97831,38 +97964,38 @@ function _sqlite3CreateColumnExpr($db,$pSrc,$iSrc,$iCol) { } $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = (($10) + (($8*72)|0)|0); HEAP32[$pItem>>2] = $11; $12 = HEAP32[$pItem>>2]|0; - $13 = (($12) + 16|0); + $13 = ((($12)) + 16|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$p>>2]|0; - $16 = (($15) + 44|0); + $16 = ((($15)) + 44|0); HEAP32[$16>>2] = $14; $17 = HEAP32[$pItem>>2]|0; - $18 = (($17) + 40|0); + $18 = ((($17)) + 40|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 28|0); + $21 = ((($20)) + 28|0); HEAP32[$21>>2] = $19; $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 44|0); + $23 = ((($22)) + 44|0); $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 36|0); + $25 = ((($24)) + 36|0); $26 = HEAP16[$25>>1]|0; $27 = $26 << 16 >> 16; $28 = HEAP32[$3>>2]|0; $29 = ($27|0)==($28|0); if ($29) { $30 = HEAP32[$p>>2]|0; - $31 = (($30) + 32|0); + $31 = ((($30)) + 32|0); HEAP16[$31>>1] = -1; } else { $32 = HEAP32[$3>>2]|0; $33 = $32&65535; $34 = HEAP32[$p>>2]|0; - $35 = (($34) + 32|0); + $35 = ((($34)) + 32|0); HEAP16[$35>>1] = $33; $36 = HEAP32[$3>>2]|0; $37 = ($36|0)>=(64); @@ -97871,7 +98004,7 @@ function _sqlite3CreateColumnExpr($db,$pSrc,$iSrc,$iCol) { $40 = (_bitshift64Shl(1,0,($39|0))|0); $41 = tempRet0; $42 = HEAP32[$pItem>>2]|0; - $43 = (($42) + 56|0); + $43 = ((($42)) + 56|0); $44 = $43; $45 = $44; $46 = HEAP32[$45>>2]|0; @@ -97888,7 +98021,7 @@ function _sqlite3CreateColumnExpr($db,$pSrc,$iSrc,$iCol) { HEAP32[$55>>2] = $51; } $56 = HEAP32[$p>>2]|0; - $57 = (($56) + 4|0); + $57 = ((($56)) + 4|0); $58 = HEAP32[$57>>2]|0; $59 = $58 | 4; HEAP32[$57>>2] = $59; @@ -97904,24 +98037,24 @@ function _searchWith($pWith,$pItem,$ppContext) { var $p = 0, $zName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $zName = sp + 8|0; - $p = sp + 4|0; - $i = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $zName = sp + 4|0; + $p = sp; + $i = sp + 12|0; HEAP32[$1>>2] = $pWith; HEAP32[$2>>2] = $pItem; HEAP32[$3>>2] = $ppContext; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); L1: do { if ($7) { $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; HEAP32[$zName>>2] = $10; $11 = ($10|0)!=(0|0); @@ -97946,7 +98079,7 @@ function _searchWith($pWith,$pItem,$ppContext) { $19 = HEAP32[$zName>>2]|0; $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 8|0); + $22 = ((($21)) + 8|0); $23 = (($22) + ($20<<4)|0); $24 = HEAP32[$23>>2]|0; $25 = (_sqlite3_stricmp($19,$24)|0); @@ -97959,7 +98092,7 @@ function _searchWith($pWith,$pItem,$ppContext) { HEAP32[$i>>2] = $34; } $35 = HEAP32[$p>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; HEAP32[$p>>2] = $37; } @@ -97968,7 +98101,7 @@ function _searchWith($pWith,$pItem,$ppContext) { HEAP32[$28>>2] = $27; $29 = HEAP32[$i>>2]|0; $30 = HEAP32[$p>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = (($31) + ($29<<4)|0); HEAP32[$0>>2] = $32; $38 = HEAP32[$0>>2]|0; @@ -97997,16 +98130,16 @@ function _sqlite3SrcListDup($db,$p,$flags) { var $99 = 0, $i = 0, $nByte = 0, $pNew = 0, $pNewItem = 0, $pOldItem = 0, $pTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $pNew = sp + 20|0; - $i = sp + 16|0; + $3 = sp + 4|0; + $pNew = sp + 32|0; + $i = sp + 36|0; $nByte = sp + 12|0; - $pNewItem = sp + 8|0; - $pOldItem = sp + 4|0; - $pTab = sp; + $pNewItem = sp + 24|0; + $pOldItem = sp + 20|0; + $pTab = sp + 8|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $flags; @@ -98047,7 +98180,7 @@ function _sqlite3SrcListDup($db,$p,$flags) { $22 = HEAP32[$2>>2]|0; $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$pNew>>2]|0; - $25 = (($24) + 4|0); + $25 = ((($24)) + 4|0); HEAP32[$25>>2] = $23; $26 = HEAP32[$pNew>>2]|0; HEAP32[$26>>2] = $23; @@ -98062,12 +98195,12 @@ function _sqlite3SrcListDup($db,$p,$flags) { } $31 = HEAP32[$i>>2]|0; $32 = HEAP32[$pNew>>2]|0; - $33 = (($32) + 8|0); + $33 = ((($32)) + 8|0); $34 = (($33) + (($31*72)|0)|0); HEAP32[$pNewItem>>2] = $34; $35 = HEAP32[$i>>2]|0; $36 = HEAP32[$2>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = (($37) + (($35*72)|0)|0); HEAP32[$pOldItem>>2] = $38; $39 = HEAP32[$pOldItem>>2]|0; @@ -98076,60 +98209,60 @@ function _sqlite3SrcListDup($db,$p,$flags) { HEAP32[$41>>2] = $40; $42 = HEAP32[$1>>2]|0; $43 = HEAP32[$pOldItem>>2]|0; - $44 = (($43) + 4|0); + $44 = ((($43)) + 4|0); $45 = HEAP32[$44>>2]|0; $46 = (_sqlite3DbStrDup($42,$45)|0); $47 = HEAP32[$pNewItem>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); HEAP32[$48>>2] = $46; $49 = HEAP32[$1>>2]|0; $50 = HEAP32[$pOldItem>>2]|0; - $51 = (($50) + 8|0); + $51 = ((($50)) + 8|0); $52 = HEAP32[$51>>2]|0; $53 = (_sqlite3DbStrDup($49,$52)|0); $54 = HEAP32[$pNewItem>>2]|0; - $55 = (($54) + 8|0); + $55 = ((($54)) + 8|0); HEAP32[$55>>2] = $53; $56 = HEAP32[$1>>2]|0; $57 = HEAP32[$pOldItem>>2]|0; - $58 = (($57) + 12|0); + $58 = ((($57)) + 12|0); $59 = HEAP32[$58>>2]|0; $60 = (_sqlite3DbStrDup($56,$59)|0); $61 = HEAP32[$pNewItem>>2]|0; - $62 = (($61) + 12|0); + $62 = ((($61)) + 12|0); HEAP32[$62>>2] = $60; $63 = HEAP32[$pOldItem>>2]|0; - $64 = (($63) + 36|0); + $64 = ((($63)) + 36|0); $65 = HEAP8[$64>>0]|0; $66 = HEAP32[$pNewItem>>2]|0; - $67 = (($66) + 36|0); + $67 = ((($66)) + 36|0); HEAP8[$67>>0] = $65; $68 = HEAP32[$pOldItem>>2]|0; - $69 = (($68) + 40|0); + $69 = ((($68)) + 40|0); $70 = HEAP32[$69>>2]|0; $71 = HEAP32[$pNewItem>>2]|0; - $72 = (($71) + 40|0); + $72 = ((($71)) + 40|0); HEAP32[$72>>2] = $70; $73 = HEAP32[$pOldItem>>2]|0; - $74 = (($73) + 24|0); + $74 = ((($73)) + 24|0); $75 = HEAP32[$74>>2]|0; $76 = HEAP32[$pNewItem>>2]|0; - $77 = (($76) + 24|0); + $77 = ((($76)) + 24|0); HEAP32[$77>>2] = $75; $78 = HEAP32[$pOldItem>>2]|0; - $79 = (($78) + 28|0); + $79 = ((($78)) + 28|0); $80 = HEAP32[$79>>2]|0; $81 = HEAP32[$pNewItem>>2]|0; - $82 = (($81) + 28|0); + $82 = ((($81)) + 28|0); HEAP32[$82>>2] = $80; $83 = HEAP32[$pOldItem>>2]|0; - $84 = (($83) + 37|0); + $84 = ((($83)) + 37|0); $85 = HEAP8[$84>>0]|0; $86 = ($85&255) >>> 1; $87 = $86 & 1; $88 = $87&255; $89 = HEAP32[$pNewItem>>2]|0; - $90 = (($89) + 37|0); + $90 = ((($89)) + 37|0); $91 = $88&255; $92 = HEAP8[$90>>0]|0; $93 = $91 & 1; @@ -98138,13 +98271,13 @@ function _sqlite3SrcListDup($db,$p,$flags) { $96 = $95 | $94; HEAP8[$90>>0] = $96; $97 = HEAP32[$pOldItem>>2]|0; - $98 = (($97) + 37|0); + $98 = ((($97)) + 37|0); $99 = HEAP8[$98>>0]|0; $100 = ($99&255) >>> 2; $101 = $100 & 1; $102 = $101&255; $103 = HEAP32[$pNewItem>>2]|0; - $104 = (($103) + 37|0); + $104 = ((($103)) + 37|0); $105 = $102&255; $106 = HEAP8[$104>>0]|0; $107 = $105 & 1; @@ -98153,13 +98286,13 @@ function _sqlite3SrcListDup($db,$p,$flags) { $110 = $109 | $108; HEAP8[$104>>0] = $110; $111 = HEAP32[$pOldItem>>2]|0; - $112 = (($111) + 37|0); + $112 = ((($111)) + 37|0); $113 = HEAP8[$112>>0]|0; $114 = ($113&255) >>> 3; $115 = $114 & 1; $116 = $115&255; $117 = HEAP32[$pNewItem>>2]|0; - $118 = (($117) + 37|0); + $118 = ((($117)) + 37|0); $119 = $116&255; $120 = HEAP8[$118>>0]|0; $121 = $119 & 1; @@ -98169,19 +98302,19 @@ function _sqlite3SrcListDup($db,$p,$flags) { HEAP8[$118>>0] = $124; $125 = HEAP32[$1>>2]|0; $126 = HEAP32[$pOldItem>>2]|0; - $127 = (($126) + 64|0); + $127 = ((($126)) + 64|0); $128 = HEAP32[$127>>2]|0; $129 = (_sqlite3DbStrDup($125,$128)|0); $130 = HEAP32[$pNewItem>>2]|0; - $131 = (($130) + 64|0); + $131 = ((($130)) + 64|0); HEAP32[$131>>2] = $129; $132 = HEAP32[$pOldItem>>2]|0; - $133 = (($132) + 37|0); + $133 = ((($132)) + 37|0); $134 = HEAP8[$133>>0]|0; $135 = $134 & 1; $136 = $135&255; $137 = HEAP32[$pNewItem>>2]|0; - $138 = (($137) + 37|0); + $138 = ((($137)) + 37|0); $139 = $136&255; $140 = HEAP8[$138>>0]|0; $141 = $139 & 1; @@ -98189,55 +98322,55 @@ function _sqlite3SrcListDup($db,$p,$flags) { $143 = $142 | $141; HEAP8[$138>>0] = $143; $144 = HEAP32[$pOldItem>>2]|0; - $145 = (($144) + 68|0); + $145 = ((($144)) + 68|0); $146 = HEAP32[$145>>2]|0; $147 = HEAP32[$pNewItem>>2]|0; - $148 = (($147) + 68|0); + $148 = ((($147)) + 68|0); HEAP32[$148>>2] = $146; $149 = HEAP32[$pOldItem>>2]|0; - $150 = (($149) + 16|0); + $150 = ((($149)) + 16|0); $151 = HEAP32[$150>>2]|0; $152 = HEAP32[$pNewItem>>2]|0; - $153 = (($152) + 16|0); + $153 = ((($152)) + 16|0); HEAP32[$153>>2] = $151; HEAP32[$pTab>>2] = $151; $154 = HEAP32[$pTab>>2]|0; $155 = ($154|0)!=(0|0); if ($155) { $156 = HEAP32[$pTab>>2]|0; - $157 = (($156) + 40|0); + $157 = ((($156)) + 40|0); $158 = HEAP16[$157>>1]|0; $159 = (($158) + 1)<<16>>16; HEAP16[$157>>1] = $159; } $160 = HEAP32[$1>>2]|0; $161 = HEAP32[$pOldItem>>2]|0; - $162 = (($161) + 20|0); + $162 = ((($161)) + 20|0); $163 = HEAP32[$162>>2]|0; $164 = HEAP32[$3>>2]|0; $165 = (_sqlite3SelectDup($160,$163,$164)|0); $166 = HEAP32[$pNewItem>>2]|0; - $167 = (($166) + 20|0); + $167 = ((($166)) + 20|0); HEAP32[$167>>2] = $165; $168 = HEAP32[$1>>2]|0; $169 = HEAP32[$pOldItem>>2]|0; - $170 = (($169) + 44|0); + $170 = ((($169)) + 44|0); $171 = HEAP32[$170>>2]|0; $172 = HEAP32[$3>>2]|0; $173 = (_sqlite3ExprDup($168,$171,$172)|0); $174 = HEAP32[$pNewItem>>2]|0; - $175 = (($174) + 44|0); + $175 = ((($174)) + 44|0); HEAP32[$175>>2] = $173; $176 = HEAP32[$1>>2]|0; $177 = HEAP32[$pOldItem>>2]|0; - $178 = (($177) + 48|0); + $178 = ((($177)) + 48|0); $179 = HEAP32[$178>>2]|0; $180 = (_sqlite3IdListDup($176,$179)|0); $181 = HEAP32[$pNewItem>>2]|0; - $182 = (($181) + 48|0); + $182 = ((($181)) + 48|0); HEAP32[$182>>2] = $180; $183 = HEAP32[$pOldItem>>2]|0; - $184 = (($183) + 56|0); + $184 = ((($183)) + 56|0); $185 = $184; $186 = $185; $187 = HEAP32[$186>>2]|0; @@ -98245,7 +98378,7 @@ function _sqlite3SrcListDup($db,$p,$flags) { $189 = $188; $190 = HEAP32[$189>>2]|0; $191 = HEAP32[$pNewItem>>2]|0; - $192 = (($191) + 56|0); + $192 = ((($191)) + 56|0); $193 = $192; $194 = $193; HEAP32[$194>>2] = $187; @@ -98318,41 +98451,41 @@ function _withDup($db,$p) { $23 = HEAP32[$0>>2]|0; $24 = HEAP32[$i>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); $27 = (($26) + ($24<<4)|0); - $28 = (($27) + 8|0); + $28 = ((($27)) + 8|0); $29 = HEAP32[$28>>2]|0; $30 = (_sqlite3SelectDup($23,$29,0)|0); $31 = HEAP32[$i>>2]|0; $32 = HEAP32[$pRet>>2]|0; - $33 = (($32) + 8|0); + $33 = ((($32)) + 8|0); $34 = (($33) + ($31<<4)|0); - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); HEAP32[$35>>2] = $30; $36 = HEAP32[$0>>2]|0; $37 = HEAP32[$i>>2]|0; $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 8|0); + $39 = ((($38)) + 8|0); $40 = (($39) + ($37<<4)|0); - $41 = (($40) + 4|0); + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; $43 = (_sqlite3ExprListDup($36,$42,0)|0); $44 = HEAP32[$i>>2]|0; $45 = HEAP32[$pRet>>2]|0; - $46 = (($45) + 8|0); + $46 = ((($45)) + 8|0); $47 = (($46) + ($44<<4)|0); - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); HEAP32[$48>>2] = $43; $49 = HEAP32[$0>>2]|0; $50 = HEAP32[$i>>2]|0; $51 = HEAP32[$1>>2]|0; - $52 = (($51) + 8|0); + $52 = ((($51)) + 8|0); $53 = (($52) + ($50<<4)|0); $54 = HEAP32[$53>>2]|0; $55 = (_sqlite3DbStrDup($49,$54)|0); $56 = HEAP32[$i>>2]|0; $57 = HEAP32[$pRet>>2]|0; - $58 = (($57) + 8|0); + $58 = ((($57)) + 8|0); $59 = (($58) + ($56<<4)|0); HEAP32[$59>>2] = $55; $60 = HEAP32[$i>>2]|0; @@ -98370,13 +98503,13 @@ function _sqlite3IdListDup($db,$p) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pNew = 0, $pNewItem = 0, $pOldItem = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pNew = sp + 12|0; - $i = sp + 8|0; - $pNewItem = sp + 4|0; - $pOldItem = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $pNew = sp + 24|0; + $i = sp + 4|0; + $pNewItem = sp; + $pOldItem = sp + 12|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; @@ -98397,14 +98530,14 @@ function _sqlite3IdListDup($db,$p) { STACKTOP = sp;return ($52|0); } $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$pNew>>2]|0; - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); HEAP32[$13>>2] = $11; $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = $17<<3; $19 = (_sqlite3DbMallocRaw($14,$18,0)|0); @@ -98425,7 +98558,7 @@ function _sqlite3IdListDup($db,$p) { while(1) { $26 = HEAP32[$i>>2]|0; $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = ($26|0)<($29|0); if (!($30)) { @@ -98448,10 +98581,10 @@ function _sqlite3IdListDup($db,$p) { $43 = HEAP32[$pNewItem>>2]|0; HEAP32[$43>>2] = $42; $44 = HEAP32[$pOldItem>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$pNewItem>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); HEAP32[$48>>2] = $46; $49 = HEAP32[$i>>2]|0; $50 = (($49) + 1)|0; @@ -98480,51 +98613,54 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $azArg = 0, $i = 0, $iCol = 0, $iDb = 0, $j = 0, $nArg = 0, $nDel = 0, $nType = 0, $or$cond = 0, $pPriorCtx = 0, $pVTable = 0, $rc = 0, $sCtx = 0; - var $vararg_buffer8 = 0, $zErr = 0, $zFormat = 0, $zModuleName = 0, $zType = 0, label = 0, sp = 0; + var $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $zErr = 0, $zFormat = 0, $zModuleName = 0, $zType = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer8 = sp; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $4 = sp + 76|0; - $5 = sp + 72|0; - $sCtx = sp + 64|0; - $pPriorCtx = sp + 60|0; - $pVTable = sp + 56|0; - $rc = sp + 52|0; - $azArg = sp + 48|0; - $nArg = sp + 44|0; - $zErr = sp + 40|0; - $zModuleName = sp + 36|0; - $iDb = sp + 32|0; - $zFormat = sp + 28|0; - $iCol = sp + 24|0; - $zType = sp + 20|0; - $nType = sp + 16|0; - $i = sp + 12|0; - $j = sp + 8|0; - $nDel = sp + 4|0; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer8 = sp + 8|0; + $vararg_buffer5 = sp; + $vararg_buffer2 = sp + 24|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 44|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $3 = sp + 84|0; + $4 = sp + 56|0; + $5 = sp + 40|0; + $sCtx = sp + 48|0; + $pPriorCtx = sp + 28|0; + $pVTable = sp + 60|0; + $rc = sp + 64|0; + $azArg = sp + 68|0; + $nArg = sp + 76|0; + $zErr = sp + 72|0; + $zModuleName = sp + 80|0; + $iDb = sp + 88|0; + $zFormat = sp + 92|0; + $iCol = sp + 96|0; + $zType = sp + 100|0; + $nType = sp + 104|0; + $i = sp + 108|0; + $j = sp + 112|0; + $nDel = sp + 116|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pTab; HEAP32[$3>>2] = $pMod; HEAP32[$4>>2] = $xConstruct; HEAP32[$5>>2] = $pzErr; $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 56|0); + $7 = ((($6)) + 56|0); $8 = HEAP32[$7>>2]|0; HEAP32[$azArg>>2] = $8; $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 52|0); + $10 = ((($9)) + 52|0); $11 = HEAP32[$10>>2]|0; HEAP32[$nArg>>2] = $11; HEAP32[$zErr>>2] = 0; $12 = HEAP32[$1>>2]|0; $13 = HEAP32[$2>>2]|0; $14 = HEAP32[$13>>2]|0; - HEAP32[$vararg_buffer8>>2] = $14; - $15 = (_sqlite3MPrintf($12,1200,$vararg_buffer8)|0); + HEAP32[$vararg_buffer>>2] = $14; + $15 = (_sqlite3MPrintf($12,14418,$vararg_buffer)|0); HEAP32[$zModuleName>>2] = $15; $16 = HEAP32[$zModuleName>>2]|0; $17 = ($16|0)!=(0|0); @@ -98550,57 +98686,57 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { HEAP32[$24>>2] = $22; $25 = HEAP32[$3>>2]|0; $26 = HEAP32[$pVTable>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); HEAP32[$27>>2] = $25; $28 = HEAP32[$1>>2]|0; $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 68|0); + $30 = ((($29)) + 68|0); $31 = HEAP32[$30>>2]|0; $32 = (_sqlite3SchemaToIndex($28,$31)|0); HEAP32[$iDb>>2] = $32; $33 = HEAP32[$iDb>>2]|0; $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 16|0); + $35 = ((($34)) + 16|0); $36 = HEAP32[$35>>2]|0; $37 = (($36) + ($33<<4)|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$2>>2]|0; - $40 = (($39) + 56|0); + $40 = ((($39)) + 56|0); $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 4|0); + $42 = ((($41)) + 4|0); HEAP32[$42>>2] = $38; $43 = HEAP32[$2>>2]|0; - $44 = (($sCtx) + 4|0); + $44 = ((($sCtx)) + 4|0); HEAP32[$44>>2] = $43; $45 = HEAP32[$pVTable>>2]|0; HEAP32[$sCtx>>2] = $45; $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 324|0); + $47 = ((($46)) + 324|0); $48 = HEAP32[$47>>2]|0; HEAP32[$pPriorCtx>>2] = $48; $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 324|0); + $50 = ((($49)) + 324|0); HEAP32[$50>>2] = $sCtx; $51 = HEAP32[$4>>2]|0; $52 = HEAP32[$1>>2]|0; $53 = HEAP32[$3>>2]|0; - $54 = (($53) + 8|0); + $54 = ((($53)) + 8|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$nArg>>2]|0; $57 = HEAP32[$azArg>>2]|0; $58 = HEAP32[$pVTable>>2]|0; - $59 = (($58) + 8|0); - $60 = (FUNCTION_TABLE_iiiiiii[$51 & 1]($52,$55,$56,$57,$59,$zErr)|0); + $59 = ((($58)) + 8|0); + $60 = (FUNCTION_TABLE_iiiiiii[$51 & 3]($52,$55,$56,$57,$59,$zErr)|0); HEAP32[$rc>>2] = $60; $61 = HEAP32[$pPriorCtx>>2]|0; $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 324|0); + $63 = ((($62)) + 324|0); HEAP32[$63>>2] = $61; $64 = HEAP32[$rc>>2]|0; $65 = ($64|0)==(7); if ($65) { $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 64|0); + $67 = ((($66)) + 64|0); HEAP8[$67>>0] = 1; } $68 = HEAP32[$rc>>2]|0; @@ -98612,14 +98748,14 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $72 = HEAP32[$1>>2]|0; if ($71) { $73 = HEAP32[$zModuleName>>2]|0; - HEAP32[$vararg_buffer8>>2] = $73; - $74 = (_sqlite3MPrintf($72,17968,$vararg_buffer8)|0); + HEAP32[$vararg_buffer2>>2] = $73; + $74 = (_sqlite3MPrintf($72,22161,$vararg_buffer2)|0); $75 = HEAP32[$5>>2]|0; HEAP32[$75>>2] = $74; } else { $76 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer8>>2] = $76; - $77 = (_sqlite3MPrintf($72,1200,$vararg_buffer8)|0); + HEAP32[$vararg_buffer5>>2] = $76; + $77 = (_sqlite3MPrintf($72,14418,$vararg_buffer5)|0); $78 = HEAP32[$5>>2]|0; HEAP32[$78>>2] = $77; $79 = HEAP32[$zErr>>2]|0; @@ -98630,28 +98766,28 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { _sqlite3DbFree($80,$81); } else { $82 = HEAP32[$pVTable>>2]|0; - $83 = (($82) + 8|0); + $83 = ((($82)) + 8|0); $84 = HEAP32[$83>>2]|0; $85 = ($84|0)!=(0|0); if ($85) { $86 = HEAP32[$pVTable>>2]|0; - $87 = (($86) + 8|0); + $87 = ((($86)) + 8|0); $88 = HEAP32[$87>>2]|0; - ;HEAP32[$88+0>>2]=0|0;HEAP32[$88+4>>2]=0|0;HEAP32[$88+8>>2]=0|0; + ;HEAP32[$88>>2]=0|0;HEAP32[$88+4>>2]=0|0;HEAP32[$88+8>>2]=0|0; $89 = HEAP32[$3>>2]|0; $90 = HEAP32[$89>>2]|0; $91 = HEAP32[$pVTable>>2]|0; - $92 = (($91) + 8|0); + $92 = ((($91)) + 8|0); $93 = HEAP32[$92>>2]|0; HEAP32[$93>>2] = $90; $94 = HEAP32[$pVTable>>2]|0; - $95 = (($94) + 12|0); + $95 = ((($94)) + 12|0); HEAP32[$95>>2] = 1; - $96 = (($sCtx) + 4|0); + $96 = ((($sCtx)) + 4|0); $97 = HEAP32[$96>>2]|0; $98 = ($97|0)!=(0|0); if ($98) { - HEAP32[$zFormat>>2] = 18000; + HEAP32[$zFormat>>2] = 22191; $99 = HEAP32[$1>>2]|0; $100 = HEAP32[$zFormat>>2]|0; $101 = HEAP32[$2>>2]|0; @@ -98666,20 +98802,20 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { break; } $106 = HEAP32[$2>>2]|0; - $107 = (($106) + 60|0); + $107 = ((($106)) + 60|0); $108 = HEAP32[$107>>2]|0; $109 = HEAP32[$pVTable>>2]|0; - $110 = (($109) + 24|0); + $110 = ((($109)) + 24|0); HEAP32[$110>>2] = $108; $111 = HEAP32[$pVTable>>2]|0; $112 = HEAP32[$2>>2]|0; - $113 = (($112) + 60|0); + $113 = ((($112)) + 60|0); HEAP32[$113>>2] = $111; HEAP32[$iCol>>2] = 0; while(1) { $114 = HEAP32[$iCol>>2]|0; $115 = HEAP32[$2>>2]|0; - $116 = (($115) + 38|0); + $116 = ((($115)) + 38|0); $117 = HEAP16[$116>>1]|0; $118 = $117 << 16 >> 16; $119 = ($114|0)<($118|0); @@ -98688,10 +98824,10 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { } $120 = HEAP32[$iCol>>2]|0; $121 = HEAP32[$2>>2]|0; - $122 = (($121) + 4|0); + $122 = ((($121)) + 4|0); $123 = HEAP32[$122>>2]|0; $124 = (($123) + (($120*24)|0)|0); - $125 = (($124) + 12|0); + $125 = ((($124)) + 12|0); $126 = HEAP32[$125>>2]|0; HEAP32[$zType>>2] = $126; HEAP32[$i>>2] = 0; @@ -98702,19 +98838,19 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $130 = (_sqlite3Strlen30($129)|0); HEAP32[$nType>>2] = $130; $131 = HEAP32[$zType>>2]|0; - $132 = (_sqlite3_strnicmp(18048,$131,6)|0); + $132 = (_sqlite3_strnicmp(22237,$131,6)|0); $133 = ($132|0)!=(0); if ($133) { label = 21; } else { $134 = HEAP32[$zType>>2]|0; - $135 = (($134) + 6|0); + $135 = ((($134)) + 6|0); $136 = HEAP8[$135>>0]|0; $137 = $136 << 24 >> 24; $138 = ($137|0)!=(0); if ($138) { $139 = HEAP32[$zType>>2]|0; - $140 = (($139) + 6|0); + $140 = ((($139)) + 6|0); $141 = HEAP8[$140>>0]|0; $142 = $141 << 24 >> 24; $143 = ($142|0)!=(32); @@ -98723,7 +98859,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { } } } - L26: do { + L31: do { if ((label|0) == 21) { label = 0; HEAP32[$i>>2] = 0; @@ -98732,12 +98868,12 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $145 = HEAP32[$nType>>2]|0; $146 = ($144|0)<($145|0); if (!($146)) { - break L26; + break L31; } $147 = HEAP32[$i>>2]|0; $148 = HEAP32[$zType>>2]|0; $149 = (($148) + ($147)|0); - $150 = (_sqlite3_strnicmp(18056,$149,7)|0); + $150 = (_sqlite3_strnicmp(22244,$149,7)|0); $151 = (0)==($150|0); if ($151) { $152 = HEAP32[$i>>2]|0; @@ -98827,10 +98963,10 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { } $211 = HEAP32[$iCol>>2]|0; $212 = HEAP32[$2>>2]|0; - $213 = (($212) + 4|0); + $213 = ((($212)) + 4|0); $214 = HEAP32[$213>>2]|0; $215 = (($214) + (($211*24)|0)|0); - $216 = (($215) + 23|0); + $216 = ((($215)) + 23|0); $217 = HEAP8[$216>>0]|0; $218 = $217&255; $219 = $218 | 2; @@ -98868,14 +99004,14 @@ function _sqlite3ReadSchema($pParse) { $2 = HEAP32[$1>>2]|0; HEAP32[$db>>2] = $2; $3 = HEAP32[$db>>2]|0; - $4 = (($3) + 140|0); - $5 = (($4) + 5|0); + $4 = ((($3)) + 140|0); + $5 = ((($4)) + 5|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); if (!($7)) { $8 = HEAP32[$db>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = (_sqlite3Init($8,$10)|0); HEAP32[$rc>>2] = $11; } @@ -98887,10 +99023,10 @@ function _sqlite3ReadSchema($pParse) { } $14 = HEAP32[$rc>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); HEAP32[$16>>2] = $14; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 64|0); + $18 = ((($17)) + 64|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + 1)|0; HEAP32[$18>>2] = $20; @@ -98905,15 +99041,15 @@ function _analyzeDatabase($pParse,$iDb) { var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iMem = 0, $iStatCur = 0, $iTab = 0, $k = 0, $pSchema = 0, $pTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $db = sp + 24|0; - $pSchema = sp + 20|0; - $k = sp + 16|0; - $iStatCur = sp + 12|0; - $iMem = sp + 8|0; - $iTab = sp + 4|0; - $pTab = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $db = sp + 4|0; + $pSchema = sp + 8|0; + $k = sp + 32|0; + $iStatCur = sp; + $iMem = sp + 12|0; + $iTab = sp + 24|0; + $pTab = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iDb; $2 = HEAP32[$0>>2]|0; @@ -98921,21 +99057,21 @@ function _analyzeDatabase($pParse,$iDb) { HEAP32[$db>>2] = $3; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$db>>2]|0; - $6 = (($5) + 16|0); + $6 = ((($5)) + 16|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + ($4<<4)|0); - $9 = (($8) + 12|0); + $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; HEAP32[$pSchema>>2] = $10; $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$1>>2]|0; _sqlite3BeginWriteOperation($11,0,$12); $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 68|0); + $14 = ((($13)) + 68|0); $15 = HEAP32[$14>>2]|0; HEAP32[$iStatCur>>2] = $15; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 68|0); + $17 = ((($16)) + 68|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + 3)|0; HEAP32[$17>>2] = $19; @@ -98944,17 +99080,17 @@ function _analyzeDatabase($pParse,$iDb) { $22 = HEAP32[$iStatCur>>2]|0; _openStatTable($20,$21,$22,0,0); $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 72|0); + $24 = ((($23)) + 72|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + 1)|0; HEAP32[$iMem>>2] = $26; $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 68|0); + $28 = ((($27)) + 68|0); $29 = HEAP32[$28>>2]|0; HEAP32[$iTab>>2] = $29; $30 = HEAP32[$pSchema>>2]|0; - $31 = (($30) + 8|0); - $32 = (($31) + 8|0); + $31 = ((($30)) + 8|0); + $32 = ((($31)) + 8|0); $33 = HEAP32[$32>>2]|0; HEAP32[$k>>2] = $33; while(1) { @@ -98964,7 +99100,7 @@ function _analyzeDatabase($pParse,$iDb) { break; } $36 = HEAP32[$k>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = HEAP32[$37>>2]|0; HEAP32[$pTab>>2] = $38; $39 = HEAP32[$0>>2]|0; @@ -99028,7 +99164,7 @@ function _analyzeTable($pParse,$pTab,$pOnlyIdx) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 68|0); + $6 = ((($5)) + 68|0); $7 = HEAP32[$6>>2]|0; $8 = (_sqlite3SchemaToIndex($4,$7)|0); HEAP32[$iDb>>2] = $8; @@ -99036,11 +99172,11 @@ function _analyzeTable($pParse,$pTab,$pOnlyIdx) { $10 = HEAP32[$iDb>>2]|0; _sqlite3BeginWriteOperation($9,0,$10); $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 68|0); + $12 = ((($11)) + 68|0); $13 = HEAP32[$12>>2]|0; HEAP32[$iStatCur>>2] = $13; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 68|0); + $15 = ((($14)) + 68|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + 3)|0; HEAP32[$15>>2] = $17; @@ -99052,22 +99188,22 @@ function _analyzeTable($pParse,$pTab,$pOnlyIdx) { if ($19) { $23 = HEAP32[$2>>2]|0; $24 = HEAP32[$23>>2]|0; - _openStatTable($20,$21,$22,$24,18160); + _openStatTable($20,$21,$22,$24,22331); } else { $25 = HEAP32[$1>>2]|0; $26 = HEAP32[$25>>2]|0; - _openStatTable($20,$21,$22,$26,18168); + _openStatTable($20,$21,$22,$26,22335); } $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$1>>2]|0; $29 = HEAP32[$2>>2]|0; $30 = HEAP32[$iStatCur>>2]|0; $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 72|0); + $32 = ((($31)) + 72|0); $33 = HEAP32[$32>>2]|0; $34 = (($33) + 1)|0; $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 68|0); + $36 = ((($35)) + 68|0); $37 = HEAP32[$36>>2]|0; _analyzeOneTable($27,$28,$29,$30,$34,$37); $38 = HEAP32[$0>>2]|0; @@ -99082,17 +99218,18 @@ function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { $pUnqual = $pUnqual|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 48|0; $vararg_buffer1 = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $iDb = sp + 8|0; - $db = sp + 4|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 24|0; + $1 = sp + 28|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 20|0; + $iDb = sp + 32|0; + $db = sp + 36|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pName1; HEAP32[$3>>2] = $pName2; @@ -99104,20 +99241,20 @@ function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { $8 = ($7|0)!=(0|0); if ($8) { $9 = HEAP32[$3>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = ($11>>>0)>(0); if ($12) { $13 = HEAP32[$db>>2]|0; - $14 = (($13) + 140|0); - $15 = (($14) + 5|0); + $14 = ((($13)) + 140|0); + $15 = ((($14)) + 5|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)!=(0); if ($17) { $18 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($18,18112,$vararg_buffer1); + _sqlite3ErrorMsg($18,22294,$vararg_buffer); $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 64|0); + $20 = ((($19)) + 64|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + 1)|0; HEAP32[$20>>2] = $22; @@ -99138,9 +99275,9 @@ function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { $30 = HEAP32[$1>>2]|0; $31 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer1>>2] = $31; - _sqlite3ErrorMsg($30,18136,$vararg_buffer1); + _sqlite3ErrorMsg($30,22311,$vararg_buffer1); $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 64|0); + $33 = ((($32)) + 64|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + 1)|0; HEAP32[$33>>2] = $35; @@ -99156,8 +99293,8 @@ function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { } if ((label|0) == 7) { $36 = HEAP32[$db>>2]|0; - $37 = (($36) + 140|0); - $38 = (($37) + 4|0); + $37 = ((($36)) + 140|0); + $38 = ((($37)) + 4|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; HEAP32[$iDb>>2] = $40; @@ -99181,23 +99318,24 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $aCreateTbl = 0, $aRoot = 0, $db = 0, $i = 0, $pDb = 0, $pStat = 0; - var $v = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zTab = 0, label = 0, sp = 0; + var $v = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 96|0; $vararg_buffer3 = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $4 = sp + 52|0; - $i = sp + 48|0; - $db = sp + 44|0; - $pDb = sp + 40|0; - $v = sp + 36|0; - $aRoot = sp + 24|0; - $aCreateTbl = sp + 72|0; - $zTab = sp + 20|0; - $pStat = sp + 16|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 28|0; + $1 = sp + 48|0; + $2 = sp + 32|0; + $3 = sp + 40|0; + $4 = sp + 76|0; + $i = sp + 44|0; + $db = sp + 52|0; + $pDb = sp + 56|0; + $v = sp + 60|0; + $aRoot = sp + 64|0; + $aCreateTbl = sp + 84|0; + $zTab = sp + 36|0; + $pStat = sp + 80|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iDb; HEAP32[$2>>2] = $iStatCur; @@ -99216,7 +99354,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { } $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 16|0); + $13 = ((($12)) + 16|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + ($11<<4)|0); HEAP32[$pDb>>2] = $15; @@ -99228,7 +99366,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { break; } $18 = HEAP32[$i>>2]|0; - $19 = (18368 + ($18<<3)|0); + $19 = (2400 + ($18<<3)|0); $20 = HEAP32[$19>>2]|0; HEAP32[$zTab>>2] = $20; $21 = HEAP32[$db>>2]|0; @@ -99241,8 +99379,8 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { do { if ($26) { $27 = HEAP32[$i>>2]|0; - $28 = (18368 + ($27<<3)|0); - $29 = (($28) + 4|0); + $28 = (2400 + ($27<<3)|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)!=(0|0); if ($31) { @@ -99251,17 +99389,17 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$zTab>>2]|0; $36 = HEAP32[$i>>2]|0; - $37 = (18368 + ($36<<3)|0); - $38 = (($37) + 4|0); + $37 = (2400 + ($36<<3)|0); + $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; - HEAP32[$vararg_buffer3>>2] = $34; - $vararg_ptr1 = (($vararg_buffer3) + 4|0); + HEAP32[$vararg_buffer>>2] = $34; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $35; - $vararg_ptr2 = (($vararg_buffer3) + 8|0); + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $39; - _sqlite3NestedParse($32,18456,$vararg_buffer3); + _sqlite3NestedParse($32,22383,$vararg_buffer); $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 388|0); + $41 = ((($40)) + 388|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$i>>2]|0; $44 = (($aRoot) + ($43<<2)|0); @@ -99272,7 +99410,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { } } else { $47 = HEAP32[$pStat>>2]|0; - $48 = (($47) + 32|0); + $48 = ((($47)) + 32|0); $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$i>>2]|0; $51 = (($aRoot) + ($50<<2)|0); @@ -99297,13 +99435,13 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { $66 = HEAP32[$4>>2]|0; $67 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer3>>2] = $64; - $vararg_ptr6 = (($vararg_buffer3) + 4|0); + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $65; - $vararg_ptr7 = (($vararg_buffer3) + 8|0); + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); HEAP32[$vararg_ptr7>>2] = $66; - $vararg_ptr8 = (($vararg_buffer3) + 12|0); + $vararg_ptr8 = ((($vararg_buffer3)) + 12|0); HEAP32[$vararg_ptr8>>2] = $67; - _sqlite3NestedParse($62,18480,$vararg_buffer3); + _sqlite3NestedParse($62,22406,$vararg_buffer3); break; } else { $68 = HEAP32[$v>>2]|0; @@ -99323,8 +99461,8 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { HEAP32[$i>>2] = 0; while(1) { $75 = HEAP32[$i>>2]|0; - $76 = (18368 + ($75<<3)|0); - $77 = (($76) + 4|0); + $76 = (2400 + ($75<<3)|0); + $77 = ((($76)) + 4|0); $78 = HEAP32[$77>>2]|0; $79 = ($78|0)!=(0|0); if (!($79)) { @@ -99378,37 +99516,37 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { var $regStat4 = 0, $regTabname = 0, $regTemp = 0, $v = 0, $zIdxName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $4 = sp + 100|0; - $5 = sp + 96|0; - $db = sp + 92|0; - $pIdx = sp + 88|0; - $iIdxCur = sp + 84|0; - $iTabCur = sp + 80|0; - $v = sp + 76|0; - $i = sp + 72|0; - $jZeroRows = sp + 68|0; - $iDb = sp + 64|0; + $0 = sp + 68|0; + $1 = sp + 100|0; + $2 = sp + 32|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $5 = sp + 8|0; + $db = sp + 12|0; + $pIdx = sp + 72|0; + $iIdxCur = sp + 16|0; + $iTabCur = sp + 20|0; + $v = sp + 24|0; + $i = sp + 88|0; + $jZeroRows = sp + 96|0; + $iDb = sp + 104|0; $needTableCnt = sp + 120|0; - $regNewRowid = sp + 60|0; - $regStat4 = sp + 56|0; - $regChng = sp + 52|0; - $regTemp = sp + 48|0; - $regTabname = sp + 44|0; - $regIdxname = sp + 40|0; - $regStat1 = sp + 36|0; - $regPrev = sp + 32|0; - $nCol = sp + 28|0; - $addrRewind = sp + 24|0; - $addrNextRow = sp + 20|0; - $zIdxName = sp + 16|0; - $nColTest = sp + 12|0; - $endDistinctTest = sp + 8|0; - $aGotoChng = sp + 4|0; - $pColl = sp; + $regNewRowid = sp + 116|0; + $regStat4 = sp + 44|0; + $regChng = sp + 48|0; + $regTemp = sp + 52|0; + $regTabname = sp + 56|0; + $regIdxname = sp + 60|0; + $regStat1 = sp + 64|0; + $regPrev = sp + 4|0; + $nCol = sp + 76|0; + $addrRewind = sp + 80|0; + $addrNextRow = sp; + $zIdxName = sp + 84|0; + $nColTest = sp + 28|0; + $endDistinctTest = sp + 92|0; + $aGotoChng = sp + 108|0; + $pColl = sp + 112|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $pOnlyIdx; @@ -99451,13 +99589,13 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $22 = HEAP32[$4>>2]|0; HEAP32[$regPrev>>2] = $22; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 72|0); + $24 = ((($23)) + 72|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$4>>2]|0; $27 = ($25|0)>($26|0); if ($27) { $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 72|0); + $29 = ((($28)) + 72|0); $30 = HEAP32[$29>>2]|0; $34 = $30; } else { @@ -99465,7 +99603,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $34 = $31; } $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 72|0); + $33 = ((($32)) + 72|0); HEAP32[$33>>2] = $34; $35 = HEAP32[$0>>2]|0; $36 = (_sqlite3GetVdbe($35)|0); @@ -99479,7 +99617,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { STACKTOP = sp;return; } $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 32|0); + $42 = ((($41)) + 32|0); $43 = HEAP32[$42>>2]|0; $44 = ($43|0)==(0); if ($44) { @@ -99487,14 +99625,14 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { } $45 = HEAP32[$1>>2]|0; $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3_strnicmp($46,15144,7)|0); + $47 = (_sqlite3_strnicmp($46,19570,7)|0); $48 = ($47|0)==(0); if ($48) { STACKTOP = sp;return; } $49 = HEAP32[$db>>2]|0; $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 68|0); + $51 = ((($50)) + 68|0); $52 = HEAP32[$51>>2]|0; $53 = (_sqlite3SchemaToIndex($49,$52)|0); HEAP32[$iDb>>2] = $53; @@ -99503,7 +99641,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $56 = HEAP32[$55>>2]|0; $57 = HEAP32[$iDb>>2]|0; $58 = HEAP32[$db>>2]|0; - $59 = (($58) + 16|0); + $59 = ((($58)) + 16|0); $60 = HEAP32[$59>>2]|0; $61 = (($60) + ($57<<4)|0); $62 = HEAP32[$61>>2]|0; @@ -99515,7 +99653,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $65 = HEAP32[$0>>2]|0; $66 = HEAP32[$iDb>>2]|0; $67 = HEAP32[$1>>2]|0; - $68 = (($67) + 32|0); + $68 = ((($67)) + 32|0); $69 = HEAP32[$68>>2]|0; $70 = HEAP32[$1>>2]|0; $71 = HEAP32[$70>>2]|0; @@ -99529,13 +99667,13 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { HEAP32[$5>>2] = $75; HEAP32[$iIdxCur>>2] = $74; $76 = HEAP32[$0>>2]|0; - $77 = (($76) + 68|0); + $77 = ((($76)) + 68|0); $78 = HEAP32[$77>>2]|0; $79 = HEAP32[$5>>2]|0; $80 = ($78|0)>($79|0); if ($80) { $81 = HEAP32[$0>>2]|0; - $82 = (($81) + 68|0); + $82 = ((($81)) + 68|0); $83 = HEAP32[$82>>2]|0; $87 = $83; } else { @@ -99543,7 +99681,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $87 = $84; } $85 = HEAP32[$0>>2]|0; - $86 = (($85) + 68|0); + $86 = ((($85)) + 68|0); HEAP32[$86>>2] = $87; $88 = HEAP32[$0>>2]|0; $89 = HEAP32[$iTabCur>>2]|0; @@ -99556,7 +99694,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $95 = HEAP32[$94>>2]|0; (_sqlite3VdbeAddOp4($92,97,0,$93,0,$95,0)|0); $96 = HEAP32[$1>>2]|0; - $97 = (($96) + 8|0); + $97 = ((($96)) + 8|0); $98 = HEAP32[$97>>2]|0; HEAP32[$pIdx>>2] = $98; while(1) { @@ -99581,14 +99719,14 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { if ((label|0) == 15) { label = 0; $106 = HEAP32[$pIdx>>2]|0; - $107 = (($106) + 36|0); + $107 = ((($106)) + 36|0); $108 = HEAP32[$107>>2]|0; $109 = ($108|0)==(0|0); if ($109) { HEAP8[$needTableCnt>>0] = 0; } $110 = HEAP32[$1>>2]|0; - $111 = (($110) + 44|0); + $111 = ((($110)) + 44|0); $112 = HEAP8[$111>>0]|0; $113 = $112&255; $114 = $113 & 32; @@ -99597,14 +99735,14 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { label = 20; } else { $116 = HEAP32[$pIdx>>2]|0; - $117 = (($116) + 55|0); + $117 = ((($116)) + 55|0); $118 = HEAP8[$117>>0]|0; $119 = $118 & 3; $120 = $119&255; $121 = ($120|0)==(2); if ($121) { $122 = HEAP32[$pIdx>>2]|0; - $123 = (($122) + 50|0); + $123 = ((($122)) + 50|0); $124 = HEAP16[$123>>1]|0; $125 = $124&65535; HEAP32[$nCol>>2] = $125; @@ -99621,7 +99759,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { if ((label|0) == 20) { label = 0; $130 = HEAP32[$pIdx>>2]|0; - $131 = (($130) + 52|0); + $131 = ((($130)) + 52|0); $132 = HEAP16[$131>>1]|0; $133 = $132&65535; HEAP32[$nCol>>2] = $133; @@ -99629,7 +99767,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $135 = HEAP32[$134>>2]|0; HEAP32[$zIdxName>>2] = $135; $136 = HEAP32[$pIdx>>2]|0; - $137 = (($136) + 55|0); + $137 = ((($136)) + 55|0); $138 = HEAP8[$137>>0]|0; $139 = ($138&255) >>> 3; $140 = $139 & 1; @@ -99637,7 +99775,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $142 = ($141|0)!=(0); if ($142) { $143 = HEAP32[$pIdx>>2]|0; - $144 = (($143) + 50|0); + $144 = ((($143)) + 50|0); $145 = HEAP16[$144>>1]|0; $146 = $145&65535; $$sink = $146; @@ -99653,7 +99791,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $151 = HEAP32[$zIdxName>>2]|0; (_sqlite3VdbeAddOp4($149,97,0,$150,0,$151,0)|0); $152 = HEAP32[$0>>2]|0; - $153 = (($152) + 72|0); + $153 = ((($152)) + 72|0); $154 = HEAP32[$153>>2]|0; $155 = HEAP32[$regPrev>>2]|0; $156 = HEAP32[$nColTest>>2]|0; @@ -99661,7 +99799,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $158 = ($154|0)>($157|0); if ($158) { $159 = HEAP32[$0>>2]|0; - $160 = (($159) + 72|0); + $160 = ((($159)) + 72|0); $161 = HEAP32[$160>>2]|0; $167 = $161; } else { @@ -99671,12 +99809,12 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $167 = $164; } $165 = HEAP32[$0>>2]|0; - $166 = (($165) + 72|0); + $166 = ((($165)) + 72|0); HEAP32[$166>>2] = $167; $168 = HEAP32[$v>>2]|0; $169 = HEAP32[$iIdxCur>>2]|0; $170 = HEAP32[$pIdx>>2]|0; - $171 = (($170) + 44|0); + $171 = ((($170)) + 44|0); $172 = HEAP32[$171>>2]|0; $173 = HEAP32[$iDb>>2]|0; (_sqlite3VdbeAddOp3($168,54,$169,$172,$173)|0); @@ -99690,7 +99828,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { (_sqlite3VdbeAddOp2($176,25,$177,$179)|0); $180 = HEAP32[$v>>2]|0; $181 = HEAP32[$pIdx>>2]|0; - $182 = (($181) + 50|0); + $182 = ((($181)) + 50|0); $183 = HEAP16[$182>>1]|0; $184 = $183&65535; $185 = HEAP32[$regStat4>>2]|0; @@ -99702,7 +99840,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $190 = HEAP32[$regStat4>>2]|0; (_sqlite3VdbeAddOp3($187,1,0,$189,$190)|0); $191 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP4($191,-1,18176,-5); + _sqlite3VdbeChangeP4($191,-1,2292,-5); $192 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($192,2); $193 = HEAP32[$v>>2]|0; @@ -99740,13 +99878,13 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $214 = ($213|0)==(1); if ($214) { $215 = HEAP32[$pIdx>>2]|0; - $216 = (($215) + 50|0); + $216 = ((($215)) + 50|0); $217 = HEAP16[$216>>1]|0; $218 = $217&65535; $219 = ($218|0)==(1); if ($219) { $220 = HEAP32[$pIdx>>2]|0; - $221 = (($220) + 54|0); + $221 = ((($220)) + 54|0); $222 = HEAP8[$221>>0]|0; $223 = $222&255; $224 = ($223|0)!=(0); @@ -99769,7 +99907,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $231 = HEAP32[$0>>2]|0; $232 = HEAP32[$i>>2]|0; $233 = HEAP32[$pIdx>>2]|0; - $234 = (($233) + 32|0); + $234 = ((($233)) + 32|0); $235 = HEAP32[$234>>2]|0; $236 = (($235) + ($232<<2)|0); $237 = HEAP32[$236>>2]|0; @@ -99848,7 +99986,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $288 = HEAP32[$regTemp>>2]|0; (_sqlite3VdbeAddOp3($286,1,1,$287,$288)|0); $289 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP4($289,-1,18216,-5); + _sqlite3VdbeChangeP4($289,-1,2328,-5); $290 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($290,2); $291 = HEAP32[$v>>2]|0; @@ -99862,7 +100000,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $297 = HEAP32[$v>>2]|0; $298 = HEAP32[$regTabname>>2]|0; $299 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($297,49,$298,3,$299,18256,0)|0); + (_sqlite3VdbeAddOp4($297,49,$298,3,$299,22339,0)|0); $300 = HEAP32[$v>>2]|0; $301 = HEAP32[$3>>2]|0; $302 = HEAP32[$regNewRowid>>2]|0; @@ -99880,7 +100018,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { } } while(0); $310 = HEAP32[$pIdx>>2]|0; - $311 = (($310) + 20|0); + $311 = ((($310)) + 20|0); $312 = HEAP32[$311>>2]|0; HEAP32[$pIdx>>2] = $312; } @@ -99908,7 +100046,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $325 = HEAP32[$v>>2]|0; $326 = HEAP32[$regTabname>>2]|0; $327 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($325,49,$326,3,$327,18256,0)|0); + (_sqlite3VdbeAddOp4($325,49,$326,3,$327,22339,0)|0); $328 = HEAP32[$v>>2]|0; $329 = HEAP32[$3>>2]|0; $330 = HEAP32[$regNewRowid>>2]|0; @@ -99981,27 +100119,27 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $i = 0, $nBytes = 0, $p = 0, $pToplevel = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; + $0 = sp + 4|0; + $1 = sp + 16|0; $2 = sp + 20|0; $3 = sp + 32|0; - $4 = sp + 16|0; - $pToplevel = sp + 12|0; - $i = sp + 8|0; - $nBytes = sp + 4|0; - $p = sp; + $4 = sp + 28|0; + $pToplevel = sp; + $i = sp + 12|0; + $nBytes = sp + 8|0; + $p = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iDb; HEAP32[$2>>2] = $iTab; HEAP8[$3>>0] = $isWriteLock; HEAP32[$4>>2] = $zName; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 408|0); + $6 = ((($5)) + 408|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); $9 = HEAP32[$0>>2]|0; if ($8) { - $10 = (($9) + 408|0); + $10 = ((($9)) + 408|0); $11 = HEAP32[$10>>2]|0; $12 = $11; } else { @@ -100012,7 +100150,7 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { while(1) { $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$pToplevel>>2]|0; - $15 = (($14) + 396|0); + $15 = ((($14)) + 396|0); $16 = HEAP32[$15>>2]|0; $17 = ($13|0)<($16|0); if (!($17)) { @@ -100020,7 +100158,7 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { } $18 = HEAP32[$i>>2]|0; $19 = HEAP32[$pToplevel>>2]|0; - $20 = (($19) + 400|0); + $20 = ((($19)) + 400|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + ($18<<4)|0); HEAP32[$p>>2] = $22; @@ -100030,7 +100168,7 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { $26 = ($24|0)==($25|0); if ($26) { $27 = HEAP32[$p>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$2>>2]|0; $31 = ($29|0)==($30|0); @@ -100045,7 +100183,7 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { } if ((label|0) == 7) { $32 = HEAP32[$p>>2]|0; - $33 = (($32) + 8|0); + $33 = ((($32)) + 8|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; $36 = ($35|0)!=(0); @@ -100060,12 +100198,12 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { $40 = $41&1; $42 = $40&255; $43 = HEAP32[$p>>2]|0; - $44 = (($43) + 8|0); + $44 = ((($43)) + 8|0); HEAP8[$44>>0] = $42; STACKTOP = sp;return; } $47 = HEAP32[$pToplevel>>2]|0; - $48 = (($47) + 396|0); + $48 = ((($47)) + 396|0); $49 = HEAP32[$48>>2]|0; $50 = (($49) + 1)|0; $51 = $50<<4; @@ -100073,27 +100211,27 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { $52 = HEAP32[$pToplevel>>2]|0; $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$pToplevel>>2]|0; - $55 = (($54) + 400|0); + $55 = ((($54)) + 400|0); $56 = HEAP32[$55>>2]|0; $57 = HEAP32[$nBytes>>2]|0; $58 = ($57|0)<(0); $59 = $58 << 31 >> 31; $60 = (_sqlite3DbReallocOrFree($53,$56,$57,$59)|0); $61 = HEAP32[$pToplevel>>2]|0; - $62 = (($61) + 400|0); + $62 = ((($61)) + 400|0); HEAP32[$62>>2] = $60; $63 = HEAP32[$pToplevel>>2]|0; - $64 = (($63) + 400|0); + $64 = ((($63)) + 400|0); $65 = HEAP32[$64>>2]|0; $66 = ($65|0)!=(0|0); $67 = HEAP32[$pToplevel>>2]|0; - $68 = (($67) + 396|0); + $68 = ((($67)) + 396|0); if ($66) { $69 = HEAP32[$68>>2]|0; $70 = (($69) + 1)|0; HEAP32[$68>>2] = $70; $71 = HEAP32[$pToplevel>>2]|0; - $72 = (($71) + 400|0); + $72 = ((($71)) + 400|0); $73 = HEAP32[$72>>2]|0; $74 = (($73) + ($69<<4)|0); HEAP32[$p>>2] = $74; @@ -100102,22 +100240,22 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { HEAP32[$76>>2] = $75; $77 = HEAP32[$2>>2]|0; $78 = HEAP32[$p>>2]|0; - $79 = (($78) + 4|0); + $79 = ((($78)) + 4|0); HEAP32[$79>>2] = $77; $80 = HEAP8[$3>>0]|0; $81 = HEAP32[$p>>2]|0; - $82 = (($81) + 8|0); + $82 = ((($81)) + 8|0); HEAP8[$82>>0] = $80; $83 = HEAP32[$4>>2]|0; $84 = HEAP32[$p>>2]|0; - $85 = (($84) + 12|0); + $85 = ((($84)) + 12|0); HEAP32[$85>>2] = $83; STACKTOP = sp;return; } else { HEAP32[$68>>2] = 0; $86 = HEAP32[$pToplevel>>2]|0; $87 = HEAP32[$86>>2]|0; - $88 = (($87) + 64|0); + $88 = ((($87)) + 64|0); HEAP8[$88>>0] = 1; STACKTOP = sp;return; } @@ -100133,13 +100271,13 @@ function _sqlite3OpenTable($pParse,$iCur,$iDb,$pTab,$opcode) { var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPk = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $v = sp + 4|0; - $pPk = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $v = sp; + $pPk = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iCur; HEAP32[$2>>2] = $iDb; @@ -100151,7 +100289,7 @@ function _sqlite3OpenTable($pParse,$iCur,$iDb,$pTab,$opcode) { $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$3>>2]|0; - $10 = (($9) + 32|0); + $10 = ((($9)) + 32|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$4>>2]|0; $13 = ($12|0)==(55); @@ -100161,7 +100299,7 @@ function _sqlite3OpenTable($pParse,$iCur,$iDb,$pTab,$opcode) { $17 = HEAP32[$16>>2]|0; _sqlite3TableLock($7,$8,$11,$15,$17); $18 = HEAP32[$3>>2]|0; - $19 = (($18) + 44|0); + $19 = ((($18)) + 44|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = $21 & 32; @@ -100171,11 +100309,11 @@ function _sqlite3OpenTable($pParse,$iCur,$iDb,$pTab,$opcode) { $25 = HEAP32[$4>>2]|0; $26 = HEAP32[$1>>2]|0; $27 = HEAP32[$3>>2]|0; - $28 = (($27) + 32|0); + $28 = ((($27)) + 32|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$2>>2]|0; $31 = HEAP32[$3>>2]|0; - $32 = (($31) + 38|0); + $32 = ((($31)) + 38|0); $33 = HEAP16[$32>>1]|0; $34 = $33 << 16 >> 16; (_sqlite3VdbeAddOp4Int($24,$25,$26,$29,$30,$34)|0); @@ -100188,7 +100326,7 @@ function _sqlite3OpenTable($pParse,$iCur,$iDb,$pTab,$opcode) { $38 = HEAP32[$4>>2]|0; $39 = HEAP32[$1>>2]|0; $40 = HEAP32[$pPk>>2]|0; - $41 = (($40) + 44|0); + $41 = ((($40)) + 44|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$2>>2]|0; (_sqlite3VdbeAddOp3($37,$38,$39,$42,$43)|0); @@ -100210,7 +100348,7 @@ function _sqlite3VdbeSetP4KeyInfo($pParse,$pIdx) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pIdx; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; HEAP32[$v>>2] = $4; $5 = HEAP32[$v>>2]|0; @@ -100228,7 +100366,7 @@ function _sqlite3VdbeCurrentAddr($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 32|0); + $2 = ((($1)) + 32|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -100243,11 +100381,11 @@ function _sqlite3VdbeMakeLabel($v) { $i = sp; HEAP32[$0>>2] = $v; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 24|0); + $2 = ((($1)) + 24|0); $3 = HEAP32[$2>>2]|0; HEAP32[$p>>2] = $3; $4 = HEAP32[$p>>2]|0; - $5 = (($4) + 108|0); + $5 = ((($4)) + 108|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + 1)|0; HEAP32[$5>>2] = $7; @@ -100261,7 +100399,7 @@ function _sqlite3VdbeMakeLabel($v) { $13 = HEAP32[$p>>2]|0; $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$p>>2]|0; - $16 = (($15) + 112|0); + $16 = ((($15)) + 112|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$i>>2]|0; $19 = $18<<1; @@ -100269,11 +100407,11 @@ function _sqlite3VdbeMakeLabel($v) { $21 = $20<<2; $22 = (_sqlite3DbReallocOrFree($14,$17,$21,0)|0); $23 = HEAP32[$p>>2]|0; - $24 = (($23) + 112|0); + $24 = ((($23)) + 112|0); HEAP32[$24>>2] = $22; } $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 112|0); + $26 = ((($25)) + 112|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0|0); if (!($28)) { @@ -100283,7 +100421,7 @@ function _sqlite3VdbeMakeLabel($v) { } $29 = HEAP32[$i>>2]|0; $30 = HEAP32[$p>>2]|0; - $31 = (($30) + 112|0); + $31 = ((($30)) + 112|0); $32 = HEAP32[$31>>2]|0; $33 = (($32) + ($29<<2)|0); HEAP32[$33>>2] = -1; @@ -100311,16 +100449,16 @@ function _sqlite3LocateCollSeq($pParse,$zName) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 77|0); + $9 = ((($8)) + 77|0); $10 = HEAP8[$9>>0]|0; HEAP8[$enc>>0] = $10; $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 140|0); - $13 = (($12) + 5|0); + $12 = ((($11)) + 140|0); + $13 = ((($12)) + 5|0); $14 = HEAP8[$13>>0]|0; HEAP8[$initbusy>>0] = $14; $15 = HEAP32[$db>>2]|0; @@ -100340,7 +100478,7 @@ function _sqlite3LocateCollSeq($pParse,$zName) { $24 = ($23|0)!=(0|0); if ($24) { $25 = HEAP32[$pColl>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0|0); if ($28) { @@ -100371,7 +100509,7 @@ function _sqlite3VdbeResolveLabel($v,$x) { HEAP32[$0>>2] = $v; HEAP32[$1>>2] = $x; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 24|0); + $3 = ((($2)) + 24|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$1>>2]|0; @@ -100381,27 +100519,27 @@ function _sqlite3VdbeResolveLabel($v,$x) { $8 = ($7|0)>=(0); if ($8) { $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 112|0); + $10 = ((($9)) + 112|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)!=(0|0); if ($12) { $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 32|0); + $14 = ((($13)) + 32|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$j>>2]|0; $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 112|0); + $18 = ((($17)) + 112|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + ($16<<2)|0); HEAP32[$20>>2] = $15; } } $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 32|0); + $22 = ((($21)) + 32|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) - 1)|0; $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 88|0); + $26 = ((($25)) + 88|0); HEAP32[$26>>2] = $24; STACKTOP = sp;return; } @@ -100426,7 +100564,7 @@ function _callStatGet($v,$regStat4,$iParam,$regOut) { $6 = HEAP32[$3>>2]|0; (_sqlite3VdbeAddOp3($4,1,0,$5,$6)|0); $7 = HEAP32[$0>>2]|0; - _sqlite3VdbeChangeP4($7,-1,18264,-5); + _sqlite3VdbeChangeP4($7,-1,2364,-5); $8 = HEAP32[$0>>2]|0; _sqlite3VdbeChangeP5($8,1); STACKTOP = sp;return; @@ -100439,18 +100577,19 @@ function _statGet($context,$argc,$argv) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $i = 0, $iVal = 0, $nDistinct = 0, $p = 0, $vararg_buffer1 = 0, $z = 0, $zRet = 0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $i = 0, $iVal = 0, $nDistinct = 0, $p = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $z = 0, $zRet = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $vararg_buffer1 = sp + 16|0; - $0 = sp + 48|0; - $1 = sp + 44|0; + $vararg_buffer1 = sp + 24|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 44|0; + $1 = sp + 32|0; $2 = sp + 40|0; - $p = sp + 36|0; - $z = sp + 32|0; - $i = sp + 28|0; - $zRet = sp + 24|0; - $nDistinct = sp + 8|0; + $p = sp + 48|0; + $z = sp + 52|0; + $i = sp + 56|0; + $zRet = sp + 36|0; + $nDistinct = sp + 16|0; $iVal = sp; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; @@ -100460,7 +100599,7 @@ function _statGet($context,$argc,$argv) { $5 = (_sqlite3_value_blob($4)|0); HEAP32[$p>>2] = $5; $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + 1)|0; $10 = ($9*25)|0; @@ -100478,13 +100617,13 @@ function _statGet($context,$argc,$argv) { $17 = HEAP32[$zRet>>2]|0; $18 = HEAP32[$p>>2]|0; $19 = HEAP32[$18>>2]|0; - $20 = $vararg_buffer1; + $20 = $vararg_buffer; $21 = $20; HEAP32[$21>>2] = $19; $22 = (($20) + 4)|0; $23 = $22; HEAP32[$23>>2] = 0; - (_sqlite3_snprintf(24,$17,18320,$vararg_buffer1)|0); + (_sqlite3_snprintf(24,$17,22352,$vararg_buffer)|0); $24 = HEAP32[$zRet>>2]|0; $25 = HEAP32[$zRet>>2]|0; $26 = (_sqlite3Strlen30($25)|0); @@ -100494,7 +100633,7 @@ function _statGet($context,$argc,$argv) { while(1) { $28 = HEAP32[$i>>2]|0; $29 = HEAP32[$p>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = ($28|0)<($31|0); if (!($32)) { @@ -100502,8 +100641,8 @@ function _statGet($context,$argc,$argv) { } $33 = HEAP32[$i>>2]|0; $34 = HEAP32[$p>>2]|0; - $35 = (($34) + 20|0); - $36 = (($35) + 4|0); + $35 = ((($34)) + 20|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + ($33<<2)|0); $39 = HEAP32[$38>>2]|0; @@ -100553,7 +100692,7 @@ function _statGet($context,$argc,$argv) { $78 = (($76) + 4)|0; $79 = $78; HEAP32[$79>>2] = $75; - (_sqlite3_snprintf(24,$69,18328,$vararg_buffer1)|0); + (_sqlite3_snprintf(24,$69,22357,$vararg_buffer1)|0); $80 = HEAP32[$z>>2]|0; $81 = (_sqlite3Strlen30($80)|0); $82 = HEAP32[$z>>2]|0; @@ -100592,7 +100731,7 @@ function _statPush($context,$argc,$argv) { $5 = (_sqlite3_value_blob($4)|0); HEAP32[$p>>2] = $5; $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = (_sqlite3_value_int($8)|0); HEAP32[$iChng>>2] = $9; @@ -100604,7 +100743,7 @@ function _statPush($context,$argc,$argv) { while(1) { $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 8|0); + $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; $17 = ($13|0)<($16|0); if (!($17)) { @@ -100612,7 +100751,7 @@ function _statPush($context,$argc,$argv) { } $18 = HEAP32[$i>>2]|0; $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 20|0); + $20 = ((($19)) + 20|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + ($18<<2)|0); HEAP32[$22>>2] = 1; @@ -100639,7 +100778,7 @@ function _statPush($context,$argc,$argv) { } $30 = HEAP32[$i>>2]|0; $31 = HEAP32[$p>>2]|0; - $32 = (($31) + 20|0); + $32 = ((($31)) + 20|0); $33 = HEAP32[$32>>2]|0; $34 = (($33) + ($30<<2)|0); $35 = HEAP32[$34>>2]|0; @@ -100654,7 +100793,7 @@ function _statPush($context,$argc,$argv) { while(1) { $40 = HEAP32[$i>>2]|0; $41 = HEAP32[$p>>2]|0; - $42 = (($41) + 8|0); + $42 = ((($41)) + 8|0); $43 = HEAP32[$42>>2]|0; $44 = ($40|0)<($43|0); if (!($44)) { @@ -100662,8 +100801,8 @@ function _statPush($context,$argc,$argv) { } $45 = HEAP32[$i>>2]|0; $46 = HEAP32[$p>>2]|0; - $47 = (($46) + 20|0); - $48 = (($47) + 4|0); + $47 = ((($46)) + 20|0); + $48 = ((($47)) + 4|0); $49 = HEAP32[$48>>2]|0; $50 = (($49) + ($45<<2)|0); $51 = HEAP32[$50>>2]|0; @@ -100671,7 +100810,7 @@ function _statPush($context,$argc,$argv) { HEAP32[$50>>2] = $52; $53 = HEAP32[$i>>2]|0; $54 = HEAP32[$p>>2]|0; - $55 = (($54) + 20|0); + $55 = ((($54)) + 20|0); $56 = HEAP32[$55>>2]|0; $57 = (($56) + ($53<<2)|0); HEAP32[$57>>2] = 1; @@ -100707,15 +100846,15 @@ function _statInit($context,$argc,$argv) { var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $p = sp + 20|0; - $nCol = sp + 16|0; - $nKeyCol = sp + 12|0; - $nColUp = sp + 8|0; - $n = sp + 4|0; - $db = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $p = sp + 8|0; + $nCol = sp + 32|0; + $nKeyCol = sp; + $nColUp = sp + 12|0; + $n = sp + 24|0; + $db = sp + 20|0; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; @@ -100728,7 +100867,7 @@ function _statInit($context,$argc,$argv) { $8 = $7 & -2; HEAP32[$nColUp>>2] = $8; $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = (_sqlite3_value_int($11)|0); HEAP32[$nKeyCol>>2] = $12; @@ -100757,32 +100896,32 @@ function _statInit($context,$argc,$argv) { } else { $29 = HEAP32[$db>>2]|0; $30 = HEAP32[$p>>2]|0; - $31 = (($30) + 52|0); + $31 = ((($30)) + 52|0); HEAP32[$31>>2] = $29; $32 = HEAP32[$p>>2]|0; HEAP32[$32>>2] = 0; $33 = HEAP32[$nCol>>2]|0; $34 = HEAP32[$p>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); HEAP32[$35>>2] = $33; $36 = HEAP32[$nKeyCol>>2]|0; $37 = HEAP32[$p>>2]|0; - $38 = (($37) + 12|0); + $38 = ((($37)) + 12|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$p>>2]|0; - $40 = (($39) + 56|0); + $40 = ((($39)) + 56|0); $41 = HEAP32[$p>>2]|0; - $42 = (($41) + 20|0); - $43 = (($42) + 4|0); + $42 = ((($41)) + 20|0); + $43 = ((($42)) + 4|0); HEAP32[$43>>2] = $40; $44 = HEAP32[$nColUp>>2]|0; $45 = HEAP32[$p>>2]|0; - $46 = (($45) + 20|0); - $47 = (($46) + 4|0); + $46 = ((($45)) + 20|0); + $47 = ((($46)) + 4|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + ($44<<2)|0); $50 = HEAP32[$p>>2]|0; - $51 = (($50) + 20|0); + $51 = ((($50)) + 20|0); HEAP32[$51>>2] = $49; $52 = HEAP32[$0>>2]|0; $53 = HEAP32[$p>>2]|0; @@ -100801,7 +100940,7 @@ function _stat4Destructor($pOld) { $1 = HEAP32[$0>>2]|0; HEAP32[$p>>2] = $1; $2 = HEAP32[$p>>2]|0; - $3 = (($2) + 52|0); + $3 = ((($2)) + 52|0); $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$p>>2]|0; _sqlite3DbFree($4,$5); @@ -100818,18 +100957,18 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { var $nCol = 0, $nKey = 0, $pKey = 0, $zColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $i = sp + 16|0; - $nCol = sp + 12|0; - $nKey = sp + 8|0; - $pKey = sp + 4|0; - $zColl = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $i = sp + 20|0; + $nCol = sp + 28|0; + $nKey = sp; + $pKey = sp + 12|0; + $zColl = sp + 24|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pIdx; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 64|0); + $4 = ((($3)) + 64|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0); if ($6) { @@ -100838,46 +100977,46 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { STACKTOP = sp;return ($98|0); } $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 40|0); + $8 = ((($7)) + 40|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); if ($10) { $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 40|0); + $12 = ((($11)) + 40|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = ($15|0)!=($17|0); if ($18) { $19 = HEAP32[$2>>2]|0; - $20 = (($19) + 40|0); + $20 = ((($19)) + 40|0); $21 = HEAP32[$20>>2]|0; _sqlite3KeyInfoUnref($21); $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 40|0); + $23 = ((($22)) + 40|0); HEAP32[$23>>2] = 0; } } $24 = HEAP32[$2>>2]|0; - $25 = (($24) + 40|0); + $25 = ((($24)) + 40|0); $26 = HEAP32[$25>>2]|0; $27 = ($26|0)==(0|0); do { if ($27) { $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 52|0); + $29 = ((($28)) + 52|0); $30 = HEAP16[$29>>1]|0; $31 = $30&65535; HEAP32[$nCol>>2] = $31; $32 = HEAP32[$2>>2]|0; - $33 = (($32) + 50|0); + $33 = ((($32)) + 50|0); $34 = HEAP16[$33>>1]|0; $35 = $34&65535; HEAP32[$nKey>>2] = $35; $36 = HEAP32[$2>>2]|0; - $37 = (($36) + 55|0); + $37 = ((($36)) + 55|0); $38 = HEAP8[$37>>0]|0; $39 = ($38&255) >>> 3; $40 = $39 & 1; @@ -100910,13 +101049,13 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { } $57 = HEAP32[$i>>2]|0; $58 = HEAP32[$2>>2]|0; - $59 = (($58) + 32|0); + $59 = ((($58)) + 32|0); $60 = HEAP32[$59>>2]|0; $61 = (($60) + ($57<<2)|0); $62 = HEAP32[$61>>2]|0; HEAP32[$zColl>>2] = $62; $63 = HEAP32[$zColl>>2]|0; - $64 = (_strcmp($63,3320)|0); + $64 = (_strcmp($63,15963)|0); $65 = ($64|0)==(0); if ($65) { $73 = 0; @@ -100928,18 +101067,18 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { } $69 = HEAP32[$i>>2]|0; $70 = HEAP32[$pKey>>2]|0; - $71 = (($70) + 20|0); + $71 = ((($70)) + 20|0); $72 = (($71) + ($69<<2)|0); HEAP32[$72>>2] = $73; $74 = HEAP32[$i>>2]|0; $75 = HEAP32[$2>>2]|0; - $76 = (($75) + 28|0); + $76 = ((($75)) + 28|0); $77 = HEAP32[$76>>2]|0; $78 = (($77) + ($74)|0); $79 = HEAP8[$78>>0]|0; $80 = HEAP32[$i>>2]|0; $81 = HEAP32[$pKey>>2]|0; - $82 = (($81) + 16|0); + $82 = ((($81)) + 16|0); $83 = HEAP32[$82>>2]|0; $84 = (($83) + ($80)|0); HEAP8[$84>>0] = $79; @@ -100948,7 +101087,7 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { HEAP32[$i>>2] = $86; } $87 = HEAP32[$1>>2]|0; - $88 = (($87) + 64|0); + $88 = ((($87)) + 64|0); $89 = HEAP32[$88>>2]|0; $90 = ($89|0)!=(0); $91 = HEAP32[$pKey>>2]|0; @@ -100957,7 +101096,7 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { break; } else { $92 = HEAP32[$2>>2]|0; - $93 = (($92) + 40|0); + $93 = ((($92)) + 40|0); HEAP32[$93>>2] = $91; break; } @@ -100965,7 +101104,7 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { } } while(0); $94 = HEAP32[$2>>2]|0; - $95 = (($94) + 40|0); + $95 = ((($94)) + 40|0); $96 = HEAP32[$95>>2]|0; $97 = (_sqlite3KeyInfoRef($96)|0); HEAP32[$0>>2] = $97; @@ -101002,34 +101141,34 @@ function _sqlite3KeyInfoAlloc($db,$N,$X) { $12 = HEAP32[$2>>2]|0; $13 = (($11) + ($12))|0; $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 20|0); + $15 = ((($14)) + 20|0); $16 = (($15) + ($13<<2)|0); $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 16|0); + $18 = ((($17)) + 16|0); HEAP32[$18>>2] = $16; $19 = HEAP32[$1>>2]|0; $20 = $19&65535; $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 6|0); + $22 = ((($21)) + 6|0); HEAP16[$22>>1] = $20; $23 = HEAP32[$2>>2]|0; $24 = $23&65535; $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); HEAP16[$26>>1] = $24; $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 16|0); + $28 = ((($27)) + 16|0); $29 = HEAP32[$28>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; - $32 = (($31) + 77|0); + $32 = ((($31)) + 77|0); $33 = HEAP8[$32>>0]|0; $34 = HEAP32[$p>>2]|0; - $35 = (($34) + 4|0); + $35 = ((($34)) + 4|0); HEAP8[$35>>0] = $33; $36 = HEAP32[$0>>2]|0; $37 = HEAP32[$p>>2]|0; - $38 = (($37) + 12|0); + $38 = ((($37)) + 12|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$p>>2]|0; HEAP32[$39>>2] = 1; @@ -101037,12 +101176,12 @@ function _sqlite3KeyInfoAlloc($db,$N,$X) { STACKTOP = sp;return ($42|0); } else { $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 64|0); + $41 = ((($40)) + 64|0); HEAP8[$41>>0] = 1; $42 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($42|0); } - return 0|0; + return (0)|0; } function _sqlite3KeyInfoRef($p) { $p = $p|0; @@ -101064,14 +101203,14 @@ function _sqlite3KeyInfoRef($p) { } function _sqlite3PrimaryKeyIndex($pTab) { $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $p = sp; HEAP32[$0>>2] = $pTab; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; HEAP32[$p>>2] = $3; while(1) { @@ -101082,25 +101221,26 @@ function _sqlite3PrimaryKeyIndex($pTab) { break; } $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 55|0); + $7 = ((($6)) + 55|0); $8 = HEAP8[$7>>0]|0; $9 = $8 & 3; $10 = $9&255; $11 = ($10|0)==(2); - if ($11) { + $12 = $11 ^ 1; + if (!($12)) { label = 5; break; } - $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 20|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$p>>2] = $14; + $13 = HEAP32[$p>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$p>>2] = $15; } if ((label|0) == 5) { - $15 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($15|0); + $16 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($16|0); } - return 0|0; + return (0)|0; } function _sqlite3Init($db,$pzErrMsg) { $db = $db|0; @@ -101119,7 +101259,7 @@ function _sqlite3Init($db,$pzErrMsg) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $pzErrMsg; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 24|0); + $3 = ((($2)) + 24|0); $4 = HEAP32[$3>>2]|0; $5 = $4 & 2; $6 = ($5|0)!=(0); @@ -101128,8 +101268,8 @@ function _sqlite3Init($db,$pzErrMsg) { HEAP32[$commit_internal>>2] = $8; HEAP32[$rc>>2] = 0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 140|0); - $11 = (($10) + 5|0); + $10 = ((($9)) + 140|0); + $11 = ((($10)) + 5|0); HEAP8[$11>>0] = 1; HEAP32[$i>>2] = 0; while(1) { @@ -101140,7 +101280,7 @@ function _sqlite3Init($db,$pzErrMsg) { } $14 = HEAP32[$i>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 20|0); + $16 = ((($15)) + 20|0); $17 = HEAP32[$16>>2]|0; $18 = ($14|0)<($17|0); if (!($18)) { @@ -101148,12 +101288,12 @@ function _sqlite3Init($db,$pzErrMsg) { } $19 = HEAP32[$i>>2]|0; $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 16|0); + $21 = ((($20)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + ($19<<4)|0); - $24 = (($23) + 12|0); + $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 78|0); + $26 = ((($25)) + 78|0); $27 = HEAP16[$26>>1]|0; $28 = $27&65535; $29 = $28 & 1; @@ -101183,12 +101323,12 @@ function _sqlite3Init($db,$pzErrMsg) { $44 = ($43|0)==(0); if ($44) { $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 16|0); + $46 = ((($45)) + 16|0); $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 16|0); - $49 = (($48) + 12|0); + $48 = ((($47)) + 16|0); + $49 = ((($48)) + 12|0); $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 78|0); + $51 = ((($50)) + 78|0); $52 = HEAP16[$51>>1]|0; $53 = $52&65535; $54 = $53 & 1; @@ -101207,8 +101347,8 @@ function _sqlite3Init($db,$pzErrMsg) { } } $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 140|0); - $64 = (($63) + 5|0); + $63 = ((($62)) + 140|0); + $64 = ((($63)) + 5|0); HEAP8[$64>>0] = 0; $65 = HEAP32[$rc>>2]|0; $66 = ($65|0)==(0); @@ -101242,28 +101382,32 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $azArg = 0, $encoding = 0, $i = 0, $initData = 0, $meta = 0, $openedTransaction = 0, $or$cond = 0, $pDb = 0, $pTab = 0, $rc = 0, $size = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $xAuth = 0, $zMasterName = 0, $zMasterSchema = 0, $zSql = 0, label = 0, sp = 0; + var $azArg = 0, $encoding = 0, $i = 0, $initData = 0, $meta = 0, $openedTransaction = 0, $or$cond = 0, $pDb = 0, $pTab = 0, $rc = 0, $size = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $xAuth = 0, $zMasterName = 0, $zMasterSchema = 0, $zSql = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer7 = sp; - $0 = sp + 120|0; - $1 = sp + 116|0; - $2 = sp + 112|0; - $3 = sp + 108|0; - $rc = sp + 104|0; - $i = sp + 100|0; - $size = sp + 96|0; - $pTab = sp + 92|0; - $pDb = sp + 88|0; - $azArg = sp + 72|0; - $meta = sp + 48|0; - $initData = sp + 32|0; - $zMasterSchema = sp + 24|0; - $zMasterName = sp + 20|0; - $openedTransaction = sp + 16|0; - $encoding = sp + 124|0; - $zSql = sp + 12|0; - $xAuth = sp + 8|0; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer7 = sp + 8|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer3 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 36|0; + $1 = sp + 52|0; + $2 = sp + 28|0; + $3 = sp + 60|0; + $rc = sp + 56|0; + $i = sp + 48|0; + $size = sp + 132|0; + $pTab = sp + 32|0; + $pDb = sp + 44|0; + $azArg = sp + 64|0; + $meta = sp + 80|0; + $initData = sp + 104|0; + $zMasterSchema = sp + 120|0; + $zMasterName = sp + 124|0; + $openedTransaction = sp + 128|0; + $encoding = sp + 140|0; + $zSql = sp + 40|0; + $xAuth = sp + 136|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $iDb; HEAP32[$3>>2] = $pzErrMsg; @@ -101271,39 +101415,39 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(1); if ($5) { - HEAP32[$zMasterSchema>>2] = 18616; + HEAP32[$zMasterSchema>>2] = 22488; } else { - HEAP32[$zMasterSchema>>2] = 18512; + HEAP32[$zMasterSchema>>2] = 22602; } $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(1); - $8 = $7 ? 14904 : 14928; + $8 = $7 ? 19269 : 19288; HEAP32[$zMasterName>>2] = $8; $9 = HEAP32[$zMasterName>>2]|0; HEAP32[$azArg>>2] = $9; - $10 = (($azArg) + 4|0); - HEAP32[$10>>2] = 18736; + $10 = ((($azArg)) + 4|0); + HEAP32[$10>>2] = 22706; $11 = HEAP32[$zMasterSchema>>2]|0; - $12 = (($azArg) + 8|0); + $12 = ((($azArg)) + 8|0); HEAP32[$12>>2] = $11; - $13 = (($azArg) + 12|0); + $13 = ((($azArg)) + 12|0); HEAP32[$13>>2] = 0; $14 = HEAP32[$1>>2]|0; HEAP32[$initData>>2] = $14; $15 = HEAP32[$2>>2]|0; - $16 = (($initData) + 8|0); + $16 = ((($initData)) + 8|0); HEAP32[$16>>2] = $15; - $17 = (($initData) + 12|0); + $17 = ((($initData)) + 12|0); HEAP32[$17>>2] = 0; $18 = HEAP32[$3>>2]|0; - $19 = (($initData) + 4|0); + $19 = ((($initData)) + 4|0); HEAP32[$19>>2] = $18; (_sqlite3InitCallback($initData,3,$azArg,0)|0); - $20 = (($initData) + 12|0); + $20 = ((($initData)) + 12|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)!=(0); if ($22) { - $23 = (($initData) + 12|0); + $23 = ((($initData)) + 12|0); $24 = HEAP32[$23>>2]|0; HEAP32[$rc>>2] = $24; } else { @@ -101311,7 +101455,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $26 = HEAP32[$zMasterName>>2]|0; $27 = HEAP32[$2>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + ($27<<4)|0); $32 = HEAP32[$31>>2]|0; @@ -101321,7 +101465,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $35 = ($34|0)!=(0|0); if ($35) { $36 = HEAP32[$pTab>>2]|0; - $37 = (($36) + 44|0); + $37 = ((($36)) + 44|0); $38 = HEAP8[$37>>0]|0; $39 = $38&255; $40 = $39 | 1; @@ -101330,12 +101474,12 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { } $42 = HEAP32[$2>>2]|0; $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 16|0); + $44 = ((($43)) + 16|0); $45 = HEAP32[$44>>2]|0; $46 = (($45) + ($42<<4)|0); HEAP32[$pDb>>2] = $46; $47 = HEAP32[$pDb>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); $49 = HEAP32[$48>>2]|0; $50 = ($49|0)==(0|0); if ($50) { @@ -101343,12 +101487,12 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $52 = ($51|0)==(1); if ($52) { $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 16|0); + $54 = ((($53)) + 16|0); $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 16|0); - $57 = (($56) + 12|0); + $56 = ((($55)) + 16|0); + $57 = ((($56)) + 12|0); $58 = HEAP32[$57>>2]|0; - $59 = (($58) + 78|0); + $59 = ((($58)) + 78|0); $60 = HEAP16[$59>>1]|0; $61 = $60&65535; $62 = $61 | 1; @@ -101360,11 +101504,11 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { STACKTOP = sp;return ($277|0); } $64 = HEAP32[$pDb>>2]|0; - $65 = (($64) + 4|0); + $65 = ((($64)) + 4|0); $66 = HEAP32[$65>>2]|0; _sqlite3BtreeEnter($66); $67 = HEAP32[$pDb>>2]|0; - $68 = (($67) + 4|0); + $68 = ((($67)) + 4|0); $69 = HEAP32[$68>>2]|0; $70 = (_sqlite3BtreeIsInReadTrans($69)|0); $71 = ($70|0)!=(0); @@ -101373,7 +101517,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { label = 16; } else { $72 = HEAP32[$pDb>>2]|0; - $73 = (($72) + 4|0); + $73 = ((($72)) + 4|0); $74 = HEAP32[$73>>2]|0; $75 = (_sqlite3BtreeBeginTrans($74,0)|0); HEAP32[$rc>>2] = $75; @@ -101384,8 +101528,8 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $79 = HEAP32[$1>>2]|0; $80 = HEAP32[$rc>>2]|0; $81 = (_sqlite3ErrStr($80)|0); - HEAP32[$vararg_buffer7>>2] = $81; - _sqlite3SetString($78,$79,1200,$vararg_buffer7); + HEAP32[$vararg_buffer>>2] = $81; + _sqlite3SetString($78,$79,14418,$vararg_buffer); break; } else { HEAP32[$openedTransaction>>2] = 1; @@ -101394,7 +101538,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { } } } while(0); - L22: do { + L23: do { if ((label|0) == 16) { HEAP32[$i>>2] = 0; while(1) { @@ -101404,7 +101548,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { break; } $84 = HEAP32[$pDb>>2]|0; - $85 = (($84) + 4|0); + $85 = ((($84)) + 4|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$i>>2]|0; $88 = (($87) + 1)|0; @@ -101417,17 +101561,17 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { } $93 = HEAP32[$meta>>2]|0; $94 = HEAP32[$pDb>>2]|0; - $95 = (($94) + 12|0); + $95 = ((($94)) + 12|0); $96 = HEAP32[$95>>2]|0; HEAP32[$96>>2] = $93; - $97 = (($meta) + 16|0); + $97 = ((($meta)) + 16|0); $98 = HEAP32[$97>>2]|0; $99 = ($98|0)!=(0); $100 = HEAP32[$2>>2]|0; do { if ($99) { $101 = ($100|0)==(0); - $102 = (($meta) + 16|0); + $102 = ((($meta)) + 16|0); $103 = HEAP32[$102>>2]|0; if ($101) { $104 = $103&255; @@ -101442,38 +101586,38 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP8[$encoding>>0] = $$; $111 = HEAP8[$encoding>>0]|0; $112 = HEAP32[$1>>2]|0; - $113 = (($112) + 16|0); + $113 = ((($112)) + 16|0); $114 = HEAP32[$113>>2]|0; - $115 = (($114) + 12|0); + $115 = ((($114)) + 12|0); $116 = HEAP32[$115>>2]|0; - $117 = (($116) + 77|0); + $117 = ((($116)) + 77|0); HEAP8[$117>>0] = $111; break; } $118 = HEAP32[$1>>2]|0; - $119 = (($118) + 16|0); + $119 = ((($118)) + 16|0); $120 = HEAP32[$119>>2]|0; - $121 = (($120) + 12|0); + $121 = ((($120)) + 12|0); $122 = HEAP32[$121>>2]|0; - $123 = (($122) + 77|0); + $123 = ((($122)) + 77|0); $124 = HEAP8[$123>>0]|0; $125 = $124&255; $126 = ($103|0)!=($125|0); if ($126) { $127 = HEAP32[$3>>2]|0; $128 = HEAP32[$1>>2]|0; - _sqlite3SetString($127,$128,18744,$vararg_buffer7); + _sqlite3SetString($127,$128,22708,$vararg_buffer3); HEAP32[$rc>>2] = 1; - break L22; + break L23; } } else { $129 = HEAP32[$1>>2]|0; - $130 = (($129) + 16|0); + $130 = ((($129)) + 16|0); $131 = HEAP32[$130>>2]|0; $132 = (($131) + ($100<<4)|0); - $133 = (($132) + 12|0); + $133 = ((($132)) + 12|0); $134 = HEAP32[$133>>2]|0; - $135 = (($134) + 78|0); + $135 = ((($134)) + 78|0); $136 = HEAP16[$135>>1]|0; $137 = $136&65535; $138 = $137 | 4; @@ -101482,25 +101626,25 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { } } while(0); $140 = HEAP32[$1>>2]|0; - $141 = (($140) + 16|0); + $141 = ((($140)) + 16|0); $142 = HEAP32[$141>>2]|0; - $143 = (($142) + 12|0); + $143 = ((($142)) + 12|0); $144 = HEAP32[$143>>2]|0; - $145 = (($144) + 77|0); + $145 = ((($144)) + 77|0); $146 = HEAP8[$145>>0]|0; $147 = HEAP32[$pDb>>2]|0; - $148 = (($147) + 12|0); + $148 = ((($147)) + 12|0); $149 = HEAP32[$148>>2]|0; - $150 = (($149) + 77|0); + $150 = ((($149)) + 77|0); HEAP8[$150>>0] = $146; $151 = HEAP32[$pDb>>2]|0; - $152 = (($151) + 12|0); + $152 = ((($151)) + 12|0); $153 = HEAP32[$152>>2]|0; - $154 = (($153) + 80|0); + $154 = ((($153)) + 80|0); $155 = HEAP32[$154>>2]|0; $156 = ($155|0)==(0); if ($156) { - $157 = (($meta) + 8|0); + $157 = ((($meta)) + 8|0); $158 = HEAP32[$157>>2]|0; $159 = (_sqlite3AbsInt32($158)|0); HEAP32[$size>>2] = $159; @@ -101510,65 +101654,65 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP32[$size>>2] = $$1; $162 = HEAP32[$size>>2]|0; $163 = HEAP32[$pDb>>2]|0; - $164 = (($163) + 12|0); + $164 = ((($163)) + 12|0); $165 = HEAP32[$164>>2]|0; - $166 = (($165) + 80|0); + $166 = ((($165)) + 80|0); HEAP32[$166>>2] = $162; $167 = HEAP32[$pDb>>2]|0; - $168 = (($167) + 4|0); + $168 = ((($167)) + 4|0); $169 = HEAP32[$168>>2]|0; $170 = HEAP32[$pDb>>2]|0; - $171 = (($170) + 12|0); + $171 = ((($170)) + 12|0); $172 = HEAP32[$171>>2]|0; - $173 = (($172) + 80|0); + $173 = ((($172)) + 80|0); $174 = HEAP32[$173>>2]|0; (_sqlite3BtreeSetCacheSize($169,$174)|0); } - $175 = (($meta) + 4|0); + $175 = ((($meta)) + 4|0); $176 = HEAP32[$175>>2]|0; $177 = $176&255; $178 = HEAP32[$pDb>>2]|0; - $179 = (($178) + 12|0); + $179 = ((($178)) + 12|0); $180 = HEAP32[$179>>2]|0; - $181 = (($180) + 76|0); + $181 = ((($180)) + 76|0); HEAP8[$181>>0] = $177; $182 = HEAP32[$pDb>>2]|0; - $183 = (($182) + 12|0); + $183 = ((($182)) + 12|0); $184 = HEAP32[$183>>2]|0; - $185 = (($184) + 76|0); + $185 = ((($184)) + 76|0); $186 = HEAP8[$185>>0]|0; $187 = $186&255; $188 = ($187|0)==(0); if ($188) { $189 = HEAP32[$pDb>>2]|0; - $190 = (($189) + 12|0); + $190 = ((($189)) + 12|0); $191 = HEAP32[$190>>2]|0; - $192 = (($191) + 76|0); + $192 = ((($191)) + 76|0); HEAP8[$192>>0] = 1; } $193 = HEAP32[$pDb>>2]|0; - $194 = (($193) + 12|0); + $194 = ((($193)) + 12|0); $195 = HEAP32[$194>>2]|0; - $196 = (($195) + 76|0); + $196 = ((($195)) + 76|0); $197 = HEAP8[$196>>0]|0; $198 = $197&255; $199 = ($198|0)>(4); if ($199) { $200 = HEAP32[$3>>2]|0; $201 = HEAP32[$1>>2]|0; - _sqlite3SetString($200,$201,18816,$vararg_buffer7); + _sqlite3SetString($200,$201,22776,$vararg_buffer5); HEAP32[$rc>>2] = 1; break; } $202 = HEAP32[$2>>2]|0; $203 = ($202|0)==(0); if ($203) { - $204 = (($meta) + 4|0); + $204 = ((($meta)) + 4|0); $205 = HEAP32[$204>>2]|0; $206 = ($205|0)>=(4); if ($206) { $207 = HEAP32[$1>>2]|0; - $208 = (($207) + 24|0); + $208 = ((($207)) + 24|0); $209 = HEAP32[$208>>2]|0; $210 = $209 & -32769; HEAP32[$208>>2] = $210; @@ -101577,35 +101721,35 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $211 = HEAP32[$1>>2]|0; $212 = HEAP32[$2>>2]|0; $213 = HEAP32[$1>>2]|0; - $214 = (($213) + 16|0); + $214 = ((($213)) + 16|0); $215 = HEAP32[$214>>2]|0; $216 = (($215) + ($212<<4)|0); $217 = HEAP32[$216>>2]|0; $218 = HEAP32[$zMasterName>>2]|0; HEAP32[$vararg_buffer7>>2] = $217; - $vararg_ptr10 = (($vararg_buffer7) + 4|0); + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $218; - $219 = (_sqlite3MPrintf($211,18840,$vararg_buffer7)|0); + $219 = (_sqlite3MPrintf($211,22800,$vararg_buffer7)|0); HEAP32[$zSql>>2] = $219; $220 = HEAP32[$1>>2]|0; - $221 = (($220) + 284|0); + $221 = ((($220)) + 284|0); $222 = HEAP32[$221>>2]|0; HEAP32[$xAuth>>2] = $222; $223 = HEAP32[$1>>2]|0; - $224 = (($223) + 284|0); + $224 = ((($223)) + 284|0); HEAP32[$224>>2] = 0; $225 = HEAP32[$1>>2]|0; $226 = HEAP32[$zSql>>2]|0; - $227 = (_sqlite3_exec($225,$226,6,$initData,0)|0); + $227 = (_sqlite3_exec($225,$226,7,$initData,0)|0); HEAP32[$rc>>2] = $227; $228 = HEAP32[$xAuth>>2]|0; $229 = HEAP32[$1>>2]|0; - $230 = (($229) + 284|0); + $230 = ((($229)) + 284|0); HEAP32[$230>>2] = $228; $231 = HEAP32[$rc>>2]|0; $232 = ($231|0)==(0); if ($232) { - $233 = (($initData) + 12|0); + $233 = ((($initData)) + 12|0); $234 = HEAP32[$233>>2]|0; HEAP32[$rc>>2] = $234; } @@ -101620,7 +101764,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { (_sqlite3AnalysisLoad($239,$240)|0); } $241 = HEAP32[$1>>2]|0; - $242 = (($241) + 64|0); + $242 = ((($241)) + 64|0); $243 = HEAP8[$242>>0]|0; $244 = ($243<<24>>24)!=(0); if ($244) { @@ -101632,7 +101776,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $247 = ($246|0)==(0); if (!($247)) { $248 = HEAP32[$1>>2]|0; - $249 = (($248) + 24|0); + $249 = ((($248)) + 24|0); $250 = HEAP32[$249>>2]|0; $251 = $250 & 65536; $252 = ($251|0)!=(0); @@ -101642,12 +101786,12 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { } $253 = HEAP32[$2>>2]|0; $254 = HEAP32[$1>>2]|0; - $255 = (($254) + 16|0); + $255 = ((($254)) + 16|0); $256 = HEAP32[$255>>2]|0; $257 = (($256) + ($253<<4)|0); - $258 = (($257) + 12|0); + $258 = ((($257)) + 12|0); $259 = HEAP32[$258>>2]|0; - $260 = (($259) + 78|0); + $260 = ((($259)) + 78|0); $261 = HEAP16[$260>>1]|0; $262 = $261&65535; $263 = $262 | 1; @@ -101660,7 +101804,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $266 = ($265|0)!=(0); if ($266) { $267 = HEAP32[$pDb>>2]|0; - $268 = (($267) + 4|0); + $268 = ((($267)) + 4|0); $269 = HEAP32[$268>>2]|0; (_sqlite3BtreeCommit($269)|0); } @@ -101672,7 +101816,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $or$cond = $271 | $273; if ($or$cond) { $274 = HEAP32[$1>>2]|0; - $275 = (($274) + 64|0); + $275 = ((($274)) + 64|0); HEAP8[$275>>0] = 1; } $276 = HEAP32[$rc>>2]|0; @@ -101694,12 +101838,12 @@ function _sqlite3ResetOneSchema($db,$iDb) { HEAP32[$1>>2] = $iDb; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 16|0); + $4 = ((($3)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + ($2<<4)|0); HEAP32[$pDb>>2] = $6; $7 = HEAP32[$pDb>>2]|0; - $8 = (($7) + 12|0); + $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; _sqlite3SchemaClear($9); $10 = HEAP32[$1>>2]|0; @@ -101708,12 +101852,12 @@ function _sqlite3ResetOneSchema($db,$iDb) { STACKTOP = sp;return; } $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 16|0); + $13 = ((($12)) + 16|0); $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); HEAP32[$pDb>>2] = $15; $16 = HEAP32[$pDb>>2]|0; - $17 = (($16) + 12|0); + $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; _sqlite3SchemaClear($18); STACKTOP = sp;return; @@ -101726,7 +101870,7 @@ function _sqlite3CommitInternalChanges($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 24|0); + $2 = ((($1)) + 24|0); $3 = HEAP32[$2>>2]|0; $4 = $3 & -3; HEAP32[$2>>2] = $4; @@ -101746,17 +101890,17 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $pData = 0, $pIndex = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp; $3 = sp + 28|0; - $4 = sp + 24|0; - $pData = sp + 20|0; - $db = sp + 16|0; - $iDb = sp + 12|0; - $rc = sp + 8|0; - $pStmt = sp + 4|0; - $pIndex = sp; + $4 = sp + 32|0; + $pData = sp + 40|0; + $db = sp + 12|0; + $iDb = sp + 24|0; + $rc = sp + 20|0; + $pStmt = sp + 8|0; + $pIndex = sp + 4|0; HEAP32[$1>>2] = $pInit; HEAP32[$2>>2] = $argc; HEAP32[$3>>2] = $argv; @@ -101767,24 +101911,24 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$pData>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; HEAP32[$iDb>>2] = $10; $11 = HEAP32[$iDb>>2]|0; $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 16|0); + $13 = ((($12)) + 16|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + ($11<<4)|0); - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 78|0); + $18 = ((($17)) + 78|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; $21 = $20 & -5; $22 = $21&65535; HEAP16[$18>>1] = $22; $23 = HEAP32[$db>>2]|0; - $24 = (($23) + 64|0); + $24 = ((($23)) + 64|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)!=(0); if ($26) { @@ -101804,7 +101948,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { STACKTOP = sp;return ($124|0); } $32 = HEAP32[$3>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = ($34|0)==(0|0); do { @@ -101815,12 +101959,12 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { _corruptSchema($36,$38,0); } else { $39 = HEAP32[$3>>2]|0; - $40 = (($39) + 8|0); + $40 = ((($39)) + 8|0); $41 = HEAP32[$40>>2]|0; $42 = ($41|0)!=(0|0); if ($42) { $43 = HEAP32[$3>>2]|0; - $44 = (($43) + 8|0); + $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP8[$45>>0]|0; $47 = $46 << 24 >> 24; @@ -101829,52 +101973,52 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $49 = HEAP32[$iDb>>2]|0; $50 = $49&255; $51 = HEAP32[$db>>2]|0; - $52 = (($51) + 140|0); - $53 = (($52) + 4|0); + $52 = ((($51)) + 140|0); + $53 = ((($52)) + 4|0); HEAP8[$53>>0] = $50; $54 = HEAP32[$3>>2]|0; - $55 = (($54) + 4|0); + $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; $57 = (_sqlite3Atoi($56)|0); $58 = HEAP32[$db>>2]|0; - $59 = (($58) + 140|0); + $59 = ((($58)) + 140|0); HEAP32[$59>>2] = $57; $60 = HEAP32[$db>>2]|0; - $61 = (($60) + 140|0); - $62 = (($61) + 6|0); + $61 = ((($60)) + 140|0); + $62 = ((($61)) + 6|0); HEAP8[$62>>0] = 0; $63 = HEAP32[$db>>2]|0; $64 = HEAP32[$3>>2]|0; - $65 = (($64) + 8|0); + $65 = ((($64)) + 8|0); $66 = HEAP32[$65>>2]|0; (_sqlite3_prepare($63,$66,-1,$pStmt,0)|0); $67 = HEAP32[$db>>2]|0; - $68 = (($67) + 52|0); + $68 = ((($67)) + 52|0); $69 = HEAP32[$68>>2]|0; HEAP32[$rc>>2] = $69; $70 = HEAP32[$db>>2]|0; - $71 = (($70) + 140|0); - $72 = (($71) + 4|0); + $71 = ((($70)) + 140|0); + $72 = ((($71)) + 4|0); HEAP8[$72>>0] = 0; $73 = HEAP32[$rc>>2]|0; $74 = (0)!=($73|0); do { if ($74) { $75 = HEAP32[$db>>2]|0; - $76 = (($75) + 140|0); - $77 = (($76) + 6|0); + $76 = ((($75)) + 140|0); + $77 = ((($76)) + 6|0); $78 = HEAP8[$77>>0]|0; $79 = ($78<<24>>24)!=(0); if (!($79)) { $80 = HEAP32[$rc>>2]|0; $81 = HEAP32[$pData>>2]|0; - $82 = (($81) + 12|0); + $82 = ((($81)) + 12|0); HEAP32[$82>>2] = $80; $83 = HEAP32[$rc>>2]|0; $84 = ($83|0)==(7); if ($84) { $85 = HEAP32[$db>>2]|0; - $86 = (($85) + 64|0); + $86 = ((($85)) + 64|0); HEAP8[$86>>0] = 1; break; } @@ -101914,7 +102058,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $104 = HEAP32[$103>>2]|0; $105 = HEAP32[$iDb>>2]|0; $106 = HEAP32[$db>>2]|0; - $107 = (($106) + 16|0); + $107 = ((($106)) + 16|0); $108 = HEAP32[$107>>2]|0; $109 = (($108) + ($105<<4)|0); $110 = HEAP32[$109>>2]|0; @@ -101924,17 +102068,17 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $113 = ($112|0)==(0|0); if (!($113)) { $114 = HEAP32[$3>>2]|0; - $115 = (($114) + 4|0); + $115 = ((($114)) + 4|0); $116 = HEAP32[$115>>2]|0; $117 = HEAP32[$pIndex>>2]|0; - $118 = (($117) + 44|0); + $118 = ((($117)) + 44|0); $119 = (_sqlite3GetInt32($116,$118)|0); $120 = ($119|0)==(0); if ($120) { $121 = HEAP32[$pData>>2]|0; $122 = HEAP32[$3>>2]|0; $123 = HEAP32[$122>>2]|0; - _corruptSchema($121,$123,18992); + _corruptSchema($121,$123,22917); } } } @@ -101985,7 +102129,7 @@ function _sqlite3BtreeSetCacheSize($p,$mxPage) { HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $mxPage; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pBt>>2] = $4; $5 = HEAP32[$0>>2]|0; @@ -102005,25 +102149,25 @@ function _sqlite3AnalysisLoad($db,$iDb) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $sInfo = sp + 24|0; - $i = sp + 16|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 8|0; + $sInfo = sp + 16|0; + $i = sp + 4|0; $zSql = sp + 12|0; - $rc = sp + 8|0; - $pIdx = sp + 4|0; + $rc = sp + 32|0; + $pIdx = sp + 36|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $iDb; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + ($3<<4)|0); - $8 = (($7) + 12|0); + $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 24|0); - $11 = (($10) + 8|0); + $10 = ((($9)) + 24|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; HEAP32[$i>>2] = $12; while(1) { @@ -102033,7 +102177,7 @@ function _sqlite3AnalysisLoad($db,$iDb) { break; } $15 = HEAP32[$i>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; HEAP32[$pIdx>>2] = $17; $18 = HEAP32[$pIdx>>2]|0; @@ -102046,16 +102190,16 @@ function _sqlite3AnalysisLoad($db,$iDb) { HEAP32[$sInfo>>2] = $21; $22 = HEAP32[$2>>2]|0; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 16|0); + $24 = ((($23)) + 16|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + ($22<<4)|0); $27 = HEAP32[$26>>2]|0; - $28 = (($sInfo) + 4|0); + $28 = ((($sInfo)) + 4|0); HEAP32[$28>>2] = $27; $29 = HEAP32[$1>>2]|0; - $30 = (($sInfo) + 4|0); + $30 = ((($sInfo)) + 4|0); $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3FindTable($29,18392,$31)|0); + $32 = (_sqlite3FindTable($29,22436,$31)|0); $33 = ($32|0)==(0|0); if ($33) { HEAP32[$0>>2] = 1; @@ -102063,10 +102207,10 @@ function _sqlite3AnalysisLoad($db,$iDb) { STACKTOP = sp;return ($50|0); } $34 = HEAP32[$1>>2]|0; - $35 = (($sInfo) + 4|0); + $35 = ((($sInfo)) + 4|0); $36 = HEAP32[$35>>2]|0; HEAP32[$vararg_buffer>>2] = $36; - $37 = (_sqlite3MPrintf($34,18896,$vararg_buffer)|0); + $37 = (_sqlite3MPrintf($34,22855,$vararg_buffer)|0); HEAP32[$zSql>>2] = $37; $38 = HEAP32[$zSql>>2]|0; $39 = ($38|0)==(0|0); @@ -102075,7 +102219,7 @@ function _sqlite3AnalysisLoad($db,$iDb) { } else { $40 = HEAP32[$1>>2]|0; $41 = HEAP32[$zSql>>2]|0; - $42 = (_sqlite3_exec($40,$41,7,$sInfo,0)|0); + $42 = (_sqlite3_exec($40,$41,8,$sInfo,0)|0); HEAP32[$rc>>2] = $42; $43 = HEAP32[$1>>2]|0; $44 = HEAP32[$zSql>>2]|0; @@ -102085,7 +102229,7 @@ function _sqlite3AnalysisLoad($db,$iDb) { $46 = ($45|0)==(7); if ($46) { $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 64|0); + $48 = ((($47)) + 64|0); HEAP8[$48>>0] = 1; } $49 = HEAP32[$rc>>2]|0; @@ -102131,13 +102275,13 @@ function _sqlite3DefaultRowEst($pIdx) { $nCopy = sp + 4|0; $i = sp; HEAP32[$0>>2] = $pIdx; - ;HEAP16[$aVal+0>>1]=HEAP16[18976+0>>1]|0;HEAP16[$aVal+2>>1]=HEAP16[18976+2>>1]|0;HEAP16[$aVal+4>>1]=HEAP16[18976+4>>1]|0;HEAP16[$aVal+6>>1]=HEAP16[18976+6>>1]|0;HEAP16[$aVal+8>>1]=HEAP16[18976+8>>1]|0; + ;HEAP16[$aVal>>1]=HEAP16[11674>>1]|0;HEAP16[$aVal+2>>1]=HEAP16[11674+2>>1]|0;HEAP16[$aVal+4>>1]=HEAP16[11674+4>>1]|0;HEAP16[$aVal+6>>1]=HEAP16[11674+6>>1]|0;HEAP16[$aVal+8>>1]=HEAP16[11674+8>>1]|0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; HEAP32[$a>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 50|0); + $5 = ((($4)) + 50|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = (5)<($7|0); @@ -102145,16 +102289,16 @@ function _sqlite3DefaultRowEst($pIdx) { $13 = 5; } else { $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 50|0); + $10 = ((($9)) + 50|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = $12; } HEAP32[$nCopy>>2] = $13; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 28|0); + $17 = ((($16)) + 28|0); $18 = HEAP16[$17>>1]|0; $19 = HEAP32[$a>>2]|0; HEAP16[$19>>1] = $18; @@ -102167,7 +102311,7 @@ function _sqlite3DefaultRowEst($pIdx) { HEAP16[$24>>1] = 33; } $25 = HEAP32[$a>>2]|0; - $26 = (($25) + 2|0); + $26 = ((($25)) + 2|0); $27 = HEAP32[$nCopy>>2]|0; $28 = $27<<1; _memcpy(($26|0),($aVal|0),($28|0))|0; @@ -102177,7 +102321,7 @@ function _sqlite3DefaultRowEst($pIdx) { while(1) { $31 = HEAP32[$i>>2]|0; $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 50|0); + $33 = ((($32)) + 50|0); $34 = HEAP16[$33>>1]|0; $35 = $34&65535; $36 = ($31|0)<=($35|0); @@ -102193,7 +102337,7 @@ function _sqlite3DefaultRowEst($pIdx) { HEAP32[$i>>2] = $41; } $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 54|0); + $43 = ((($42)) + 54|0); $44 = HEAP8[$43>>0]|0; $45 = $44&255; $46 = ($45|0)!=(0); @@ -102201,7 +102345,7 @@ function _sqlite3DefaultRowEst($pIdx) { STACKTOP = sp;return; } $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 50|0); + $48 = ((($47)) + 50|0); $49 = HEAP16[$48>>1]|0; $50 = $49&65535; $51 = HEAP32[$a>>2]|0; @@ -102221,18 +102365,18 @@ function _analysisLoader($pData,$argc,$argv,$NotUsed) { var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $aiRowEst = 0, $fakeIdx = 0, $nCol = 0, $pIndex = 0, $pInfo = 0, $pTable = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $pInfo = sp + 76|0; - $pIndex = sp + 72|0; - $pTable = sp + 68|0; - $z = sp + 64|0; - $nCol = sp + 60|0; - $aiRowEst = sp + 56|0; - $fakeIdx = sp; + $0 = sp; + $1 = sp + 8|0; + $2 = sp + 92|0; + $3 = sp + 16|0; + $4 = sp + 88|0; + $pInfo = sp + 96|0; + $pIndex = sp + 100|0; + $pTable = sp + 24|0; + $z = sp + 20|0; + $nCol = sp + 12|0; + $aiRowEst = sp + 4|0; + $fakeIdx = sp + 32|0; HEAP32[$1>>2] = $pData; HEAP32[$2>>2] = $argc; HEAP32[$3>>2] = $argv; @@ -102247,7 +102391,7 @@ function _analysisLoader($pData,$argc,$argv,$NotUsed) { $10 = ($9|0)==(0|0); if (!($10)) { $11 = HEAP32[$3>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(0|0); if (!($14)) { @@ -102256,7 +102400,7 @@ function _analysisLoader($pData,$argc,$argv,$NotUsed) { $17 = HEAP32[$3>>2]|0; $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$pInfo>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; $22 = (_sqlite3FindTable($16,$18,$21)|0); HEAP32[$pTable>>2] = $22; @@ -102268,7 +102412,7 @@ function _analysisLoader($pData,$argc,$argv,$NotUsed) { STACKTOP = sp;return ($89|0); } $25 = HEAP32[$3>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); do { @@ -102278,7 +102422,7 @@ function _analysisLoader($pData,$argc,$argv,$NotUsed) { $29 = HEAP32[$3>>2]|0; $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$3>>2]|0; - $32 = (($31) + 4|0); + $32 = ((($31)) + 4|0); $33 = HEAP32[$32>>2]|0; $34 = (_sqlite3_stricmp($30,$33)|0); $35 = ($34|0)==(0); @@ -102291,10 +102435,10 @@ function _analysisLoader($pData,$argc,$argv,$NotUsed) { $38 = HEAP32[$pInfo>>2]|0; $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$3>>2]|0; - $41 = (($40) + 4|0); + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$pInfo>>2]|0; - $44 = (($43) + 4|0); + $44 = ((($43)) + 4|0); $45 = HEAP32[$44>>2]|0; $46 = (_sqlite3FindIndex($39,$42,$45)|0); HEAP32[$pIndex>>2] = $46; @@ -102303,21 +102447,21 @@ function _analysisLoader($pData,$argc,$argv,$NotUsed) { } } while(0); $47 = HEAP32[$3>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; HEAP32[$z>>2] = $49; $50 = HEAP32[$pIndex>>2]|0; $51 = ($50|0)!=(0|0); if ($51) { $52 = HEAP32[$pIndex>>2]|0; - $53 = (($52) + 50|0); + $53 = ((($52)) + 50|0); $54 = HEAP16[$53>>1]|0; $55 = $54&65535; $56 = (($55) + 1)|0; HEAP32[$nCol>>2] = $56; HEAP32[$aiRowEst>>2] = 0; $57 = HEAP32[$pIndex>>2]|0; - $58 = (($57) + 55|0); + $58 = ((($57)) + 55|0); $59 = HEAP8[$58>>0]|0; $60 = $59 & -5; HEAP8[$58>>0] = $60; @@ -102325,37 +102469,37 @@ function _analysisLoader($pData,$argc,$argv,$NotUsed) { $62 = HEAP32[$nCol>>2]|0; $63 = HEAP32[$aiRowEst>>2]|0; $64 = HEAP32[$pIndex>>2]|0; - $65 = (($64) + 8|0); + $65 = ((($64)) + 8|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$pIndex>>2]|0; _decodeIntArray($61,$62,$63,$66,$67); $68 = HEAP32[$pIndex>>2]|0; - $69 = (($68) + 36|0); + $69 = ((($68)) + 36|0); $70 = HEAP32[$69>>2]|0; $71 = ($70|0)==(0|0); if ($71) { $72 = HEAP32[$pIndex>>2]|0; - $73 = (($72) + 8|0); + $73 = ((($72)) + 8|0); $74 = HEAP32[$73>>2]|0; $75 = HEAP16[$74>>1]|0; $76 = HEAP32[$pTable>>2]|0; - $77 = (($76) + 28|0); + $77 = ((($76)) + 28|0); HEAP16[$77>>1] = $75; } } else { $78 = HEAP32[$pTable>>2]|0; - $79 = (($78) + 42|0); + $79 = ((($78)) + 42|0); $80 = HEAP16[$79>>1]|0; - $81 = (($fakeIdx) + 48|0); + $81 = ((($fakeIdx)) + 48|0); HEAP16[$81>>1] = $80; $82 = HEAP32[$z>>2]|0; $83 = HEAP32[$pTable>>2]|0; - $84 = (($83) + 28|0); + $84 = ((($83)) + 28|0); _decodeIntArray($82,1,0,$84,$fakeIdx); - $85 = (($fakeIdx) + 48|0); + $85 = ((($fakeIdx)) + 48|0); $86 = HEAP16[$85>>1]|0; $87 = HEAP32[$pTable>>2]|0; - $88 = (($87) + 42|0); + $88 = ((($87)) + 42|0); HEAP16[$88>>1] = $86; } HEAP32[$0>>2] = 0; @@ -102377,19 +102521,19 @@ function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $or$cond = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0; var $v = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $z = sp + 12|0; - $c = sp + 8|0; - $i = sp + 4|0; - $v = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $z = sp; + $c = sp + 12|0; + $i = sp + 24|0; + $v = sp + 20|0; HEAP32[$0>>2] = $zIntArray; HEAP32[$1>>2] = $nOut; HEAP32[$2>>2] = $aOut; @@ -102421,102 +102565,102 @@ function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { $16 = ($15|0)>=(48); $17 = HEAP32[$c>>2]|0; $18 = ($17|0)<=(57); - $or$cond = $16 & $18; - if (!($or$cond)) { + $19 = $16 ? $18 : 0; + if (!($19)) { break; } - $19 = HEAP32[$v>>2]|0; - $20 = ($19*10)|0; - $21 = HEAP32[$c>>2]|0; - $22 = (($20) + ($21))|0; - $23 = (($22) - 48)|0; - HEAP32[$v>>2] = $23; - $24 = HEAP32[$z>>2]|0; - $25 = (($24) + 1|0); - HEAP32[$z>>2] = $25; - } - $26 = HEAP32[$v>>2]|0; - $27 = (_sqlite3LogEst($26,0)|0); - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$3>>2]|0; - $30 = (($29) + ($28<<1)|0); - HEAP16[$30>>1] = $27; - $31 = HEAP32[$z>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($33|0)==(32); - if ($34) { - $35 = HEAP32[$z>>2]|0; - $36 = (($35) + 1|0); - HEAP32[$z>>2] = $36; + $20 = HEAP32[$v>>2]|0; + $21 = ($20*10)|0; + $22 = HEAP32[$c>>2]|0; + $23 = (($21) + ($22))|0; + $24 = (($23) - 48)|0; + HEAP32[$v>>2] = $24; + $25 = HEAP32[$z>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$z>>2] = $26; + } + $27 = HEAP32[$v>>2]|0; + $28 = (_sqlite3LogEst($27,0)|0); + $29 = HEAP32[$i>>2]|0; + $30 = HEAP32[$3>>2]|0; + $31 = (($30) + ($29<<1)|0); + HEAP16[$31>>1] = $28; + $32 = HEAP32[$z>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)==(32); + if ($35) { + $36 = HEAP32[$z>>2]|0; + $37 = ((($36)) + 1|0); + HEAP32[$z>>2] = $37; } - $37 = HEAP32[$i>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$i>>2] = $38; + $38 = HEAP32[$i>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$i>>2] = $39; } L12: while(1) { - $39 = HEAP32[$z>>2]|0; - $40 = HEAP8[$39>>0]|0; - $41 = ($40<<24>>24)!=(0); - if (!($41)) { + $40 = HEAP32[$z>>2]|0; + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)!=(0); + if (!($42)) { break; } - $42 = HEAP32[$z>>2]|0; - $43 = (_sqlite3_strglob(18944,$42)|0); - $44 = ($43|0)==(0); - if ($44) { - $45 = HEAP32[$4>>2]|0; - $46 = (($45) + 55|0); - $47 = HEAP8[$46>>0]|0; - $48 = $47 & -5; - $49 = $48 | 4; - HEAP8[$46>>0] = $49; + $43 = HEAP32[$z>>2]|0; + $44 = (_sqlite3_strglob(22896,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + $46 = HEAP32[$4>>2]|0; + $47 = ((($46)) + 55|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48 & -5; + $50 = $49 | 4; + HEAP8[$47>>0] = $50; } else { - $50 = HEAP32[$z>>2]|0; - $51 = (_sqlite3_strglob(18960,$50)|0); - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$z>>2]|0; - $54 = (($53) + 3|0); - $55 = (_sqlite3Atoi($54)|0); - $56 = ($55|0)<(0); - $57 = $56 << 31 >> 31; - $58 = (_sqlite3LogEst($55,$57)|0); - $59 = HEAP32[$4>>2]|0; - $60 = (($59) + 48|0); - HEAP16[$60>>1] = $58; + $51 = HEAP32[$z>>2]|0; + $52 = (_sqlite3_strglob(22907,$51)|0); + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$z>>2]|0; + $55 = ((($54)) + 3|0); + $56 = (_sqlite3Atoi($55)|0); + $57 = ($56|0)<(0); + $58 = $57 << 31 >> 31; + $59 = (_sqlite3LogEst($56,$58)|0); + $60 = HEAP32[$4>>2]|0; + $61 = ((($60)) + 48|0); + HEAP16[$61>>1] = $59; } } while(1) { - $61 = HEAP32[$z>>2]|0; - $62 = HEAP8[$61>>0]|0; - $63 = $62 << 24 >> 24; - $64 = ($63|0)!=(0); - if (!($64)) { + $62 = HEAP32[$z>>2]|0; + $63 = HEAP8[$62>>0]|0; + $64 = $63 << 24 >> 24; + $65 = ($64|0)!=(0); + if (!($65)) { break; } - $65 = HEAP32[$z>>2]|0; - $66 = HEAP8[$65>>0]|0; - $67 = $66 << 24 >> 24; - $68 = ($67|0)!=(32); - if (!($68)) { + $66 = HEAP32[$z>>2]|0; + $67 = HEAP8[$66>>0]|0; + $68 = $67 << 24 >> 24; + $69 = ($68|0)!=(32); + if (!($69)) { break; } - $69 = HEAP32[$z>>2]|0; - $70 = (($69) + 1|0); - HEAP32[$z>>2] = $70; + $70 = HEAP32[$z>>2]|0; + $71 = ((($70)) + 1|0); + HEAP32[$z>>2] = $71; } while(1) { - $71 = HEAP32[$z>>2]|0; - $72 = HEAP8[$71>>0]|0; - $73 = $72 << 24 >> 24; - $74 = ($73|0)==(32); - if (!($74)) { + $72 = HEAP32[$z>>2]|0; + $73 = HEAP8[$72>>0]|0; + $74 = $73 << 24 >> 24; + $75 = ($74|0)==(32); + if (!($75)) { continue L12; } - $75 = HEAP32[$z>>2]|0; - $76 = (($75) + 1|0); - HEAP32[$z>>2] = $76; + $76 = HEAP32[$z>>2]|0; + $77 = ((($76)) + 1|0); + HEAP32[$z>>2] = $77; } } STACKTOP = sp;return; @@ -102527,14 +102671,15 @@ function _corruptSchema($pData,$zObj,$zExtra) { $zExtra = $zExtra|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $db = sp + 8|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $db = sp + 16|0; HEAP32[$0>>2] = $pData; HEAP32[$1>>2] = $zObj; HEAP32[$2>>2] = $zExtra; @@ -102542,12 +102687,12 @@ function _corruptSchema($pData,$zObj,$zExtra) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; - $6 = (($5) + 64|0); + $6 = ((($5)) + 64|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if (!($8)) { $9 = HEAP32[$db>>2]|0; - $10 = (($9) + 24|0); + $10 = ((($9)) + 24|0); $11 = HEAP32[$10>>2]|0; $12 = $11 & 65536; $13 = ($12|0)==(0); @@ -102555,55 +102700,55 @@ function _corruptSchema($pData,$zObj,$zExtra) { $14 = HEAP32[$1>>2]|0; $15 = ($14|0)==(0|0); if ($15) { - HEAP32[$1>>2] = 19016; + HEAP32[$1>>2] = 22934; } $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$db>>2]|0; $20 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer1>>2] = $20; - _sqlite3SetString($18,$19,19024,$vararg_buffer1); + HEAP32[$vararg_buffer>>2] = $20; + _sqlite3SetString($18,$19,22936,$vararg_buffer); $21 = HEAP32[$2>>2]|0; $22 = ($21|0)!=(0|0); if ($22) { $23 = HEAP32[$db>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 4|0); + $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$30>>2]|0; $32 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer1>>2] = $31; - $vararg_ptr4 = (($vararg_buffer1) + 4|0); + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $32; - $33 = (_sqlite3MAppendf($23,$27,19056,$vararg_buffer1)|0); + $33 = (_sqlite3MAppendf($23,$27,22967,$vararg_buffer1)|0); $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 4|0); + $35 = ((($34)) + 4|0); $36 = HEAP32[$35>>2]|0; HEAP32[$36>>2] = $33; } } } $37 = HEAP32[$db>>2]|0; - $38 = (($37) + 64|0); + $38 = ((($37)) + 64|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = ($40|0)!=(0); if ($41) { $45 = 7; $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 12|0); + $44 = ((($43)) + 12|0); HEAP32[$44>>2] = $45; STACKTOP = sp;return; } $42 = (_sqlite3CorruptError(103217)|0); $45 = $42; $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 12|0); + $44 = ((($43)) + 12|0); HEAP32[$44>>2] = $45; STACKTOP = sp;return; } @@ -102641,13 +102786,13 @@ function _reindexDatabases($pParse,$zColl) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $k = 0, $pDb = 0, $pTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $pDb = sp + 16|0; - $iDb = sp + 12|0; - $db = sp + 8|0; - $k = sp + 4|0; - $pTab = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $pDb = sp + 20|0; + $iDb = sp + 24|0; + $db = sp + 4|0; + $k = sp; + $pTab = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $zColl; $2 = HEAP32[$0>>2]|0; @@ -102655,23 +102800,23 @@ function _reindexDatabases($pParse,$zColl) { HEAP32[$db>>2] = $3; HEAP32[$iDb>>2] = 0; $4 = HEAP32[$db>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pDb>>2] = $6; while(1) { $7 = HEAP32[$iDb>>2]|0; $8 = HEAP32[$db>>2]|0; - $9 = (($8) + 20|0); + $9 = ((($8)) + 20|0); $10 = HEAP32[$9>>2]|0; $11 = ($7|0)<($10|0); if (!($11)) { break; } $12 = HEAP32[$pDb>>2]|0; - $13 = (($12) + 12|0); + $13 = ((($12)) + 12|0); $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 8|0); - $16 = (($15) + 8|0); + $15 = ((($14)) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; HEAP32[$k>>2] = $17; while(1) { @@ -102681,7 +102826,7 @@ function _reindexDatabases($pParse,$zColl) { break; } $20 = HEAP32[$k>>2]|0; - $21 = (($20) + 8|0); + $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; HEAP32[$pTab>>2] = $22; $23 = HEAP32[$0>>2]|0; @@ -102696,7 +102841,7 @@ function _reindexDatabases($pParse,$zColl) { $29 = (($28) + 1)|0; HEAP32[$iDb>>2] = $29; $30 = HEAP32[$pDb>>2]|0; - $31 = (($30) + 16|0); + $31 = ((($30)) + 16|0); HEAP32[$pDb>>2] = $31; } STACKTOP = sp;return; @@ -102718,7 +102863,7 @@ function _reindexTable($pParse,$pTab,$zColl) { HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $zColl; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pIndex>>2] = $5; while(1) { @@ -102745,7 +102890,7 @@ function _reindexTable($pParse,$pTab,$zColl) { $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 68|0); + $17 = ((($16)) + 68|0); $18 = HEAP32[$17>>2]|0; $19 = (_sqlite3SchemaToIndex($15,$18)|0); HEAP32[$iDb>>2] = $19; @@ -102757,7 +102902,7 @@ function _reindexTable($pParse,$pTab,$zColl) { _sqlite3RefillIndex($22,$23,-1); } $24 = HEAP32[$pIndex>>2]|0; - $25 = (($24) + 20|0); + $25 = ((($24)) + 20|0); $26 = HEAP32[$25>>2]|0; HEAP32[$pIndex>>2] = $26; } @@ -102778,38 +102923,38 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { var $j2 = 0, $or$cond = 0, $pKey = 0, $pTab = 0, $regRecord = 0, $tnum = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $pTab = sp + 52|0; - $iTab = sp + 48|0; - $iIdx = sp + 44|0; - $iSorter = sp + 40|0; - $addr1 = sp + 36|0; - $addr2 = sp + 32|0; - $tnum = sp + 28|0; - $iPartIdxLabel = sp + 24|0; - $v = sp + 20|0; - $pKey = sp + 16|0; - $regRecord = sp + 12|0; - $db = sp + 8|0; - $iDb = sp + 4|0; - $j2 = sp; + $0 = sp + 60|0; + $1 = sp + 44|0; + $2 = sp + 20|0; + $pTab = sp + 16|0; + $iTab = sp + 4|0; + $iIdx = sp + 40|0; + $iSorter = sp + 48|0; + $addr1 = sp + 56|0; + $addr2 = sp + 64|0; + $tnum = sp + 24|0; + $iPartIdxLabel = sp; + $v = sp + 32|0; + $pKey = sp + 28|0; + $regRecord = sp + 8|0; + $db = sp + 36|0; + $iDb = sp + 12|0; + $j2 = sp + 52|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pIndex; HEAP32[$2>>2] = $memRootPage; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pTab>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 68|0); + $7 = ((($6)) + 68|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + 1)|0; HEAP32[$7>>2] = $9; HEAP32[$iTab>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 68|0); + $11 = ((($10)) + 68|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + 1)|0; HEAP32[$11>>2] = $13; @@ -102819,7 +102964,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { HEAP32[$db>>2] = $15; $16 = HEAP32[$db>>2]|0; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 24|0); + $18 = ((($17)) + 24|0); $19 = HEAP32[$18>>2]|0; $20 = (_sqlite3SchemaToIndex($16,$19)|0); HEAP32[$iDb>>2] = $20; @@ -102828,7 +102973,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$iDb>>2]|0; $25 = HEAP32[$db>>2]|0; - $26 = (($25) + 16|0); + $26 = ((($25)) + 16|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + ($24<<4)|0); $29 = HEAP32[$28>>2]|0; @@ -102840,7 +102985,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $32 = HEAP32[$0>>2]|0; $33 = HEAP32[$iDb>>2]|0; $34 = HEAP32[$pTab>>2]|0; - $35 = (($34) + 32|0); + $35 = ((($34)) + 32|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$pTab>>2]|0; $38 = HEAP32[$37>>2]|0; @@ -102860,7 +103005,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { HEAP32[$tnum>>2] = $45; } else { $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 44|0); + $47 = ((($46)) + 44|0); $48 = HEAP32[$47>>2]|0; HEAP32[$tnum>>2] = $48; } @@ -102869,7 +103014,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $51 = (_sqlite3KeyInfoOfIndex($49,$50)|0); HEAP32[$pKey>>2] = $51; $52 = HEAP32[$0>>2]|0; - $53 = (($52) + 68|0); + $53 = ((($52)) + 68|0); $54 = HEAP32[$53>>2]|0; $55 = (($54) + 1)|0; HEAP32[$53>>2] = $55; @@ -102877,7 +103022,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $56 = HEAP32[$v>>2]|0; $57 = HEAP32[$iSorter>>2]|0; $58 = HEAP32[$1>>2]|0; - $59 = (($58) + 50|0); + $59 = ((($58)) + 50|0); $60 = HEAP16[$59>>1]|0; $61 = $60&65535; $62 = HEAP32[$pKey>>2]|0; @@ -102941,7 +103086,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $106 = (_sqlite3VdbeAddOp2($104,106,$105,0)|0); HEAP32[$addr1>>2] = $106; $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 54|0); + $108 = ((($107)) + 54|0); $109 = HEAP8[$108>>0]|0; $110 = $109&255; $111 = ($110|0)!=(0); @@ -102964,7 +103109,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $123 = HEAP32[$j2>>2]|0; $124 = HEAP32[$regRecord>>2]|0; $125 = HEAP32[$1>>2]|0; - $126 = (($125) + 50|0); + $126 = ((($125)) + 50|0); $127 = HEAP16[$126>>1]|0; $128 = $127&65535; (_sqlite3VdbeAddOp4Int($121,99,$122,$123,$124,$128)|0); @@ -103023,19 +103168,19 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $j = 0, $nCol = 0, $pTab = 0, $regBase = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; + $0 = sp + 44|0; + $1 = sp + 36|0; + $2 = sp + 12|0; + $3 = sp + 8|0; $4 = sp + 32|0; - $5 = sp + 28|0; - $6 = sp + 24|0; - $7 = sp + 20|0; - $v = sp + 16|0; - $j = sp + 12|0; - $pTab = sp + 8|0; - $regBase = sp + 4|0; - $nCol = sp; + $5 = sp + 40|0; + $6 = sp + 48|0; + $7 = sp + 16|0; + $v = sp; + $j = sp + 24|0; + $pTab = sp + 4|0; + $regBase = sp + 28|0; + $nCol = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pIdx; HEAP32[$2>>2] = $iDataCur; @@ -103045,11 +103190,11 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p HEAP32[$6>>2] = $pPrior; HEAP32[$7>>2] = $regPrior; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; HEAP32[$v>>2] = $10; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pTab>>2] = $13; $14 = HEAP32[$5>>2]|0; @@ -103057,7 +103202,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p do { if ($15) { $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 36|0); + $17 = ((($16)) + 36|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)!=(0|0); if ($19) { @@ -103067,13 +103212,13 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p HEAP32[$22>>2] = $21; $23 = HEAP32[$2>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 96|0); + $25 = ((($24)) + 96|0); HEAP32[$25>>2] = $23; $26 = HEAP32[$0>>2]|0; _sqlite3ExprCachePush($26); $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 36|0); + $29 = ((($28)) + 36|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$5>>2]|0; $32 = HEAP32[$31>>2]|0; @@ -103090,7 +103235,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p $35 = ($34|0)!=(0); if ($35) { $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 55|0); + $37 = ((($36)) + 55|0); $38 = HEAP8[$37>>0]|0; $39 = ($38&255) >>> 3; $40 = $39 & 1; @@ -103098,7 +103243,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p $42 = ($41|0)!=(0); if ($42) { $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 50|0); + $44 = ((($43)) + 50|0); $45 = HEAP16[$44>>1]|0; $$sink = $45; } else { @@ -103109,7 +103254,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p } if ((label|0) == 8) { $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 52|0); + $47 = ((($46)) + 52|0); $48 = HEAP16[$47>>1]|0; $$sink = $48; } @@ -103128,7 +103273,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p $57 = ($55|0)!=($56|0); if (!($57)) { $58 = HEAP32[$6>>2]|0; - $59 = (($58) + 36|0); + $59 = ((($58)) + 36|0); $60 = HEAP32[$59>>2]|0; $61 = ($60|0)!=(0|0); if (!($61)) { @@ -103151,14 +103296,14 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p if ($66) { $67 = HEAP32[$j>>2]|0; $68 = HEAP32[$6>>2]|0; - $69 = (($68) + 4|0); + $69 = ((($68)) + 4|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + ($67<<1)|0); $72 = HEAP16[$71>>1]|0; $73 = $72 << 16 >> 16; $74 = HEAP32[$j>>2]|0; $75 = HEAP32[$1>>2]|0; - $76 = (($75) + 4|0); + $76 = ((($75)) + 4|0); $77 = HEAP32[$76>>2]|0; $78 = (($77) + ($74<<1)|0); $79 = HEAP16[$78>>1]|0; @@ -103177,7 +103322,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p $84 = HEAP32[$2>>2]|0; $85 = HEAP32[$j>>2]|0; $86 = HEAP32[$1>>2]|0; - $87 = (($86) + 4|0); + $87 = ((($86)) + 4|0); $88 = HEAP32[$87>>2]|0; $89 = (($88) + ($85<<1)|0); $90 = HEAP16[$89>>1]|0; @@ -103231,7 +103376,7 @@ function _sqlite3ResolvePartIdxLabel($pParse,$iLabel) { STACKTOP = sp;return; } $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$1>>2]|0; _sqlite3VdbeResolveLabel($6,$7); @@ -103248,19 +103393,19 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $errMsg = 0, $j = 0, $pTab = 0, $zCol = 0, $zErr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $zErr = sp + 40|0; - $j = sp + 36|0; - $errMsg = sp + 8|0; - $pTab = sp + 4|0; - $zCol = sp; + $0 = sp + 28|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $zErr = sp + 44|0; + $j = sp + 52|0; + $errMsg = sp; + $pTab = sp + 36|0; + $zCol = sp + 48|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $onError; HEAP32[$2>>2] = $pIdx; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pTab>>2] = $5; _sqlite3StrAccumInit($errMsg,0,0,200); @@ -103271,7 +103416,7 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { while(1) { $8 = HEAP32[$j>>2]|0; $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 50|0); + $10 = ((($9)) + 50|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = ($8|0)<($12|0); @@ -103280,13 +103425,13 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { } $14 = HEAP32[$j>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($14<<1)|0); $19 = HEAP16[$18>>1]|0; $20 = $19 << 16 >> 16; $21 = HEAP32[$pTab>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + (($20*24)|0)|0); $25 = HEAP32[$24>>2]|0; @@ -103294,12 +103439,12 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { $26 = HEAP32[$j>>2]|0; $27 = ($26|0)!=(0); if ($27) { - _sqlite3StrAccumAppend($errMsg,19112,2); + _sqlite3StrAccumAppend($errMsg,23021,2); } $28 = HEAP32[$pTab>>2]|0; $29 = HEAP32[$28>>2]|0; _sqlite3StrAccumAppendAll($errMsg,$29); - _sqlite3StrAccumAppend($errMsg,19120,1); + _sqlite3StrAccumAppend($errMsg,23024,1); $30 = HEAP32[$zCol>>2]|0; _sqlite3StrAccumAppendAll($errMsg,$30); $31 = HEAP32[$j>>2]|0; @@ -103310,7 +103455,7 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { HEAP32[$zErr>>2] = $33; $34 = HEAP32[$0>>2]|0; $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 55|0); + $36 = ((($35)) + 55|0); $37 = HEAP8[$36>>0]|0; $38 = $37 & 3; $39 = $38&255; @@ -103321,6 +103466,57 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { _sqlite3HaltConstraint($34,$41,$42,$43,-1,2); STACKTOP = sp;return; } +function _sqlite3StrAccumAppend($p,$z,$N) { + $p = $p|0; + $z = $z|0; + $N = $N|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $N; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = (($5) + ($6))|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)>=($10|0); + if ($11) { + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$2>>2]|0; + _enlargeAndAppend($12,$13,$14); + STACKTOP = sp;return; + } else { + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($15))|0; + HEAP32[$17>>2] = $19; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = (($22) - ($23))|0; + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($24)|0); + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$2>>2]|0; + _memcpy(($28|0),($29|0),($30|0))|0; + STACKTOP = sp;return; + } +} function _sqlite3StrAccumAppendAll($p,$z) { $p = $p|0; $z = $z|0; @@ -103349,13 +103545,13 @@ function _sqlite3HaltConstraint($pParse,$errCode,$onError,$p4,$p4type,$p5Errmsg) var $9 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp + 21|0; - $5 = sp + 20|0; - $v = sp; + $0 = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp + 16|0; + $4 = sp + 20|0; + $5 = sp + 21|0; + $v = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $errCode; HEAP32[$2>>2] = $onError; @@ -103388,6 +103584,299 @@ function _sqlite3HaltConstraint($pParse,$errCode,$onError,$p4,$p4type,$p5Errmsg) _sqlite3VdbeChangeP5($19,$20); STACKTOP = sp;return; } +function _enlargeAndAppend($p,$z,$N) { + $p = $p|0; + $z = $z|0; + $N = $N|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $N; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = (_sqlite3StrAccumEnlarge($3,$4)|0); + HEAP32[$2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)>(0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($10)|0); + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$2>>2]|0; + _memcpy(($14|0),($15|0),($16|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($17))|0; + HEAP32[$19>>2] = $21; + STACKTOP = sp;return; +} +function _sqlite3StrAccumEnlarge($p,$N) { + $p = $p|0; + $N = $N|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $szNew = 0, $zNew = 0, $zOld = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $zNew = sp + 12|0; + $zOld = sp + 8|0; + $szNew = sp; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $N; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 25|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)!=(0); + if ($6) { + HEAP32[$0>>2] = 0; + $122 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($122|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 24|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + $11 = HEAP32[$1>>2]|0; + if (!($10)) { + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($13) - ($16))|0; + $18 = (($17) - 1)|0; + HEAP32[$2>>2] = $18; + $19 = HEAP32[$1>>2]|0; + _setStrAccumError($19,2); + $20 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $20; + $122 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($122|0); + } + $21 = ((($11)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($22|0)==($25|0); + if ($26) { + $30 = 0; + } else { + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = $29; + } + HEAP32[$zOld>>2] = $30; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)<(0); + $35 = $34 << 31 >> 31; + $36 = $szNew; + $37 = $36; + HEAP32[$37>>2] = $33; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = $35; + $40 = HEAP32[$2>>2]|0; + $41 = (($40) + 1)|0; + $42 = ($41|0)<(0); + $43 = $42 << 31 >> 31; + $44 = $szNew; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (_i64Add(($46|0),($49|0),($41|0),($43|0))|0); + $51 = tempRet0; + $52 = $szNew; + $53 = $52; + HEAP32[$53>>2] = $50; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $56 = $szNew; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = ($61|0)>($66|0); + $68 = ($58>>>0)>($64>>>0); + $69 = ($61|0)==($66|0); + $70 = $69 & $68; + $71 = $67 | $70; + if ($71) { + $72 = HEAP32[$1>>2]|0; + _sqlite3StrAccumReset($72); + $73 = HEAP32[$1>>2]|0; + _setStrAccumError($73,2); + HEAP32[$0>>2] = 0; + $122 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($122|0); + } + $74 = $szNew; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 16|0); + HEAP32[$81>>2] = $76; + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 24|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = ($85|0)==(1); + if ($86) { + $87 = HEAP32[$1>>2]|0; + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$zOld>>2]|0; + $90 = HEAP32[$1>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)<(0); + $94 = $93 << 31 >> 31; + $95 = (_sqlite3DbRealloc($88,$89,$92,$94)|0); + HEAP32[$zNew>>2] = $95; + } else { + $96 = HEAP32[$zOld>>2]|0; + $97 = HEAP32[$1>>2]|0; + $98 = ((($97)) + 16|0); + $99 = HEAP32[$98>>2]|0; + $100 = (_sqlite3_realloc($96,$99)|0); + HEAP32[$zNew>>2] = $100; + } + $101 = HEAP32[$zNew>>2]|0; + $102 = ($101|0)!=(0|0); + if (!($102)) { + $120 = HEAP32[$1>>2]|0; + _sqlite3StrAccumReset($120); + $121 = HEAP32[$1>>2]|0; + _setStrAccumError($121,1); + HEAP32[$0>>2] = 0; + $122 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($122|0); + } + $103 = HEAP32[$zOld>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $105 = HEAP32[$1>>2]|0; + $106 = ((($105)) + 12|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)>(0); + if ($108) { + $109 = HEAP32[$zNew>>2]|0; + $110 = HEAP32[$1>>2]|0; + $111 = ((($110)) + 8|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$1>>2]|0; + $114 = ((($113)) + 12|0); + $115 = HEAP32[$114>>2]|0; + _memcpy(($109|0),($112|0),($115|0))|0; + } + } + $116 = HEAP32[$zNew>>2]|0; + $117 = HEAP32[$1>>2]|0; + $118 = ((($117)) + 8|0); + HEAP32[$118>>2] = $116; + $119 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $119; + $122 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($122|0); +} +function _setStrAccumError($p,$eError) { + $p = $p|0; + $eError = $eError|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + $1 = sp + 4|0; + HEAP32[$0>>2] = $p; + HEAP8[$1>>0] = $eError; + $2 = HEAP8[$1>>0]|0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 25|0); + HEAP8[$4>>0] = $2; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3StrAccumReset($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($3|0)!=($6|0); + do { + if ($7) { + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(1); + $13 = HEAP32[$0>>2]|0; + if ($12) { + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3DbFree($14,$17); + break; + } else { + $18 = ((($13)) + 8|0); + $19 = HEAP32[$18>>2]|0; + _sqlite3_free($19); + break; + } + } + } while(0); + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 8|0); + HEAP32[$21>>2] = 0; + STACKTOP = sp;return; +} function _sqlite3ExprCachePop($pParse) { $pParse = $pParse|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; @@ -103399,13 +103888,13 @@ function _sqlite3ExprCachePop($pParse) { $p = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 100|0); + $2 = ((($1)) + 100|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + -1)|0; HEAP32[$2>>2] = $4; HEAP32[$i>>2] = 0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 116|0); + $6 = ((($5)) + 116|0); HEAP32[$p>>2] = $6; while(1) { $7 = HEAP32[$i>>2]|0; @@ -103414,15 +103903,15 @@ function _sqlite3ExprCachePop($pParse) { break; } $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 12|0); + $10 = ((($9)) + 12|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)!=(0); if ($12) { $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 100|0); + $17 = ((($16)) + 100|0); $18 = HEAP32[$17>>2]|0; $19 = ($15|0)>($18|0); if ($19) { @@ -103430,7 +103919,7 @@ function _sqlite3ExprCachePop($pParse) { $21 = HEAP32[$p>>2]|0; _cacheEntryClear($20,$21); $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 12|0); + $23 = ((($22)) + 12|0); HEAP32[$23>>2] = 0; } } @@ -103438,7 +103927,7 @@ function _sqlite3ExprCachePop($pParse) { $25 = (($24) + 1)|0; HEAP32[$i>>2] = $25; $26 = HEAP32[$p>>2]|0; - $27 = (($26) + 20|0); + $27 = ((($26)) + 20|0); HEAP32[$p>>2] = $27; } STACKTOP = sp;return; @@ -103455,34 +103944,34 @@ function _cacheEntryClear($pParse,$p) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 6|0); + $3 = ((($2)) + 6|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)!=(0); if (!($5)) { STACKTOP = sp;return; } $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 19|0); + $7 = ((($6)) + 19|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)<(8); if ($10) { $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 19|0); + $15 = ((($14)) + 19|0); $16 = HEAP8[$15>>0]|0; $17 = (($16) + 1)<<24>>24; HEAP8[$15>>0] = $17; $18 = $16&255; $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 24|0); + $20 = ((($19)) + 24|0); $21 = (($20) + ($18<<2)|0); HEAP32[$21>>2] = $13; } $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 6|0); + $23 = ((($22)) + 6|0); HEAP8[$23>>0] = 0; STACKTOP = sp;return; } @@ -103494,7 +103983,7 @@ function _sqlite3ExprCachePush($pParse) { $0 = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 100|0); + $2 = ((($1)) + 100|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + 1)|0; HEAP32[$2>>2] = $4; @@ -103516,24 +104005,24 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { var $r2 = 0, $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; + $0 = sp; + $1 = sp + 8|0; $2 = sp + 36|0; - $3 = sp + 32|0; - $v = sp + 28|0; - $op = sp + 24|0; - $regFree1 = sp + 20|0; - $regFree2 = sp + 16|0; - $r1 = sp + 12|0; - $r2 = sp + 8|0; + $3 = sp + 16|0; + $v = sp + 32|0; + $op = sp + 40|0; + $regFree1 = sp + 44|0; + $regFree2 = sp + 24|0; + $r1 = sp + 20|0; + $r2 = sp + 12|0; $d2 = sp + 4|0; - $destIfNull = sp; + $destIfNull = sp + 28|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $dest; HEAP32[$3>>2] = $jumpIfNull; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; HEAP32[$v>>2] = $6; HEAP32[$op>>2] = 0; @@ -103559,38 +104048,10 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { $19 = $18&255; L4: do { switch ($19|0) { - case 79: case 78: case 83: case 80: case 81: case 82: { - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3ExprCodeTemp($59,$62,$regFree1)|0); - HEAP32[$r1>>2] = $63; - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3ExprCodeTemp($64,$67,$regFree2)|0); - HEAP32[$r2>>2] = $68; - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = (($70) + 12|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 16|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$op>>2]|0; - $77 = HEAP32[$r1>>2]|0; - $78 = HEAP32[$r2>>2]|0; - $79 = HEAP32[$2>>2]|0; - $80 = HEAP32[$3>>2]|0; - (_codeCompare($69,$72,$75,$76,$77,$78,$79,$80)|0); - break; - } case 72: { $20 = HEAP32[$0>>2]|0; $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 12|0); + $22 = ((($21)) + 12|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$2>>2]|0; $25 = HEAP32[$3>>2]|0; @@ -103599,7 +104060,7 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { _sqlite3ExprCachePush($26); $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$2>>2]|0; $32 = HEAP32[$3>>2]|0; @@ -103614,7 +104075,7 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { HEAP32[$d2>>2] = $35; $36 = HEAP32[$0>>2]|0; $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 12|0); + $38 = ((($37)) + 12|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$d2>>2]|0; $41 = HEAP32[$3>>2]|0; @@ -103624,7 +104085,7 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { _sqlite3ExprCachePush($43); $44 = HEAP32[$0>>2]|0; $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 16|0); + $46 = ((($45)) + 16|0); $47 = HEAP32[$46>>2]|0; $48 = HEAP32[$2>>2]|0; $49 = HEAP32[$3>>2]|0; @@ -103636,10 +104097,81 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { _sqlite3ExprCachePop($52); break; } + case 19: { + $53 = HEAP32[$0>>2]|0; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$2>>2]|0; + $58 = HEAP32[$3>>2]|0; + _sqlite3ExprIfTrue($53,$56,$57,$58); + break; + } + case 79: case 78: case 83: case 80: case 81: case 82: { + $59 = HEAP32[$0>>2]|0; + $60 = HEAP32[$1>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (_sqlite3ExprCodeTemp($59,$62,$regFree1)|0); + HEAP32[$r1>>2] = $63; + $64 = HEAP32[$0>>2]|0; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_sqlite3ExprCodeTemp($64,$67,$regFree2)|0); + HEAP32[$r2>>2] = $68; + $69 = HEAP32[$0>>2]|0; + $70 = HEAP32[$1>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 16|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$op>>2]|0; + $77 = HEAP32[$r1>>2]|0; + $78 = HEAP32[$r2>>2]|0; + $79 = HEAP32[$2>>2]|0; + $80 = HEAP32[$3>>2]|0; + (_codeCompare($69,$72,$75,$76,$77,$78,$79,$80)|0); + break; + } + case 148: case 73: { + $81 = HEAP32[$0>>2]|0; + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 12|0); + $84 = HEAP32[$83>>2]|0; + $85 = (_sqlite3ExprCodeTemp($81,$84,$regFree1)|0); + HEAP32[$r1>>2] = $85; + $86 = HEAP32[$0>>2]|0; + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 16|0); + $89 = HEAP32[$88>>2]|0; + $90 = (_sqlite3ExprCodeTemp($86,$89,$regFree2)|0); + HEAP32[$r2>>2] = $90; + $91 = HEAP32[$1>>2]|0; + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ($93|0)==(73); + $95 = $94 ? 78 : 79; + HEAP32[$op>>2] = $95; + $96 = HEAP32[$0>>2]|0; + $97 = HEAP32[$1>>2]|0; + $98 = ((($97)) + 12|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 16|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$op>>2]|0; + $104 = HEAP32[$r1>>2]|0; + $105 = HEAP32[$r2>>2]|0; + $106 = HEAP32[$2>>2]|0; + (_codeCompare($96,$99,$102,$103,$104,$105,$106,128)|0); + break; + } case 77: case 76: { $107 = HEAP32[$0>>2]|0; $108 = HEAP32[$1>>2]|0; - $109 = (($108) + 12|0); + $109 = ((($108)) + 12|0); $110 = HEAP32[$109>>2]|0; $111 = (_sqlite3ExprCodeTemp($107,$110,$regFree1)|0); HEAP32[$r1>>2] = $111; @@ -103684,49 +104216,6 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { } break; } - case 148: case 73: { - $81 = HEAP32[$0>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 12|0); - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3ExprCodeTemp($81,$84,$regFree1)|0); - HEAP32[$r1>>2] = $85; - $86 = HEAP32[$0>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = (($87) + 16|0); - $89 = HEAP32[$88>>2]|0; - $90 = (_sqlite3ExprCodeTemp($86,$89,$regFree2)|0); - HEAP32[$r2>>2] = $90; - $91 = HEAP32[$1>>2]|0; - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ($93|0)==(73); - $95 = $94 ? 78 : 79; - HEAP32[$op>>2] = $95; - $96 = HEAP32[$0>>2]|0; - $97 = HEAP32[$1>>2]|0; - $98 = (($97) + 12|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = (($100) + 16|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$op>>2]|0; - $104 = HEAP32[$r1>>2]|0; - $105 = HEAP32[$r2>>2]|0; - $106 = HEAP32[$2>>2]|0; - (_codeCompare($96,$99,$102,$103,$104,$105,$106,128)|0); - break; - } - case 19: { - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 12|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$2>>2]|0; - $58 = HEAP32[$3>>2]|0; - _sqlite3ExprIfTrue($53,$56,$57,$58); - break; - } default: { $134 = HEAP32[$1>>2]|0; $135 = (_exprAlwaysFalse($134)|0); @@ -103778,11 +104267,11 @@ function _sqlite3GetTempRange($pParse,$nReg) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $nReg; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 60|0); + $3 = ((($2)) + 60|0); $4 = HEAP32[$3>>2]|0; HEAP32[$i>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 56|0); + $6 = ((($5)) + 56|0); $7 = HEAP32[$6>>2]|0; HEAP32[$n>>2] = $7; $8 = HEAP32[$1>>2]|0; @@ -103791,13 +104280,13 @@ function _sqlite3GetTempRange($pParse,$nReg) { if ($10) { $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 60|0); + $13 = ((($12)) + 60|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + ($11))|0; HEAP32[$13>>2] = $15; $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 56|0); + $18 = ((($17)) + 56|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) - ($16))|0; HEAP32[$18>>2] = $20; @@ -103805,20 +104294,20 @@ function _sqlite3GetTempRange($pParse,$nReg) { STACKTOP = sp;return ($30|0); } else { $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 72|0); + $22 = ((($21)) + 72|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + 1)|0; HEAP32[$i>>2] = $24; $25 = HEAP32[$1>>2]|0; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 72|0); + $27 = ((($26)) + 72|0); $28 = HEAP32[$27>>2]|0; $29 = (($28) + ($25))|0; HEAP32[$27>>2] = $29; $30 = HEAP32[$i>>2]|0; STACKTOP = sp;return ($30|0); } - return 0|0; + return (0)|0; } function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { $v = $v|0; @@ -103831,13 +104320,13 @@ function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $op = sp + 4|0; - $x = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $op = sp; + $x = sp + 12|0; HEAP32[$0>>2] = $v; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $iTabCur; @@ -103850,7 +104339,7 @@ function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { } else { $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 36|0); + $9 = ((($8)) + 36|0); $10 = HEAP16[$9>>1]|0; $11 = $10 << 16 >> 16; $12 = ($7|0)==($11|0); @@ -103858,7 +104347,7 @@ function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { label = 3; } else { $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 44|0); + $17 = ((($16)) + 44|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = $19 & 16; @@ -103868,7 +104357,7 @@ function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { $23 = HEAP32[$3>>2]|0; HEAP32[$x>>2] = $23; $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 44|0); + $25 = ((($24)) + 44|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; $28 = $27 & 32; @@ -103921,22 +104410,22 @@ function _sqlite3VdbeDeletePriorOpcode($p,$op) { HEAP32[$1>>2] = $p; HEAP8[$2>>0] = $op; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 32|0); + $4 = ((($3)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) - 1)|0; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 24|0); + $8 = ((($7)) + 24|0); $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 88|0); + $10 = ((($9)) + 88|0); $11 = HEAP32[$10>>2]|0; $12 = ($6|0)>($11|0); if ($12) { $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 32|0); + $14 = ((($13)) + 32|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) - 1)|0; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + (($16*20)|0)|0); $21 = HEAP8[$20>>0]|0; @@ -103947,7 +104436,7 @@ function _sqlite3VdbeDeletePriorOpcode($p,$op) { if ($25) { $26 = HEAP32[$1>>2]|0; $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 32|0); + $28 = ((($27)) + 32|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) - 1)|0; _sqlite3VdbeChangeToNoop($26,$30); @@ -103979,7 +104468,7 @@ function _sqlite3ReleaseTempRange($pParse,$iReg,$nReg) { _sqlite3ExprCacheRemove($3,$4,$5); $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 56|0); + $8 = ((($7)) + 56|0); $9 = HEAP32[$8>>2]|0; $10 = ($6|0)>($9|0); if (!($10)) { @@ -103987,11 +104476,11 @@ function _sqlite3ReleaseTempRange($pParse,$iReg,$nReg) { } $11 = HEAP32[$2>>2]|0; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 56|0); + $13 = ((($12)) + 56|0); HEAP32[$13>>2] = $11; $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 60|0); + $16 = ((($15)) + 60|0); HEAP32[$16>>2] = $14; STACKTOP = sp;return; } @@ -104003,13 +104492,13 @@ function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iLast = 0, $p = 0, $r = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $i = sp + 12|0; - $iLast = sp + 8|0; - $p = sp + 4|0; - $r = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $i = sp + 24|0; + $iLast = sp + 4|0; + $p = sp; + $r = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iReg; HEAP32[$2>>2] = $nReg; @@ -104020,7 +104509,7 @@ function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { HEAP32[$iLast>>2] = $6; HEAP32[$i>>2] = 0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 116|0); + $8 = ((($7)) + 116|0); HEAP32[$p>>2] = $8; while(1) { $9 = HEAP32[$i>>2]|0; @@ -104029,7 +104518,7 @@ function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { break; } $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; HEAP32[$r>>2] = $13; $14 = HEAP32[$r>>2]|0; @@ -104044,7 +104533,7 @@ function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { $21 = HEAP32[$p>>2]|0; _cacheEntryClear($20,$21); $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 12|0); + $23 = ((($22)) + 12|0); HEAP32[$23>>2] = 0; } } @@ -104052,7 +104541,7 @@ function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { $25 = (($24) + 1)|0; HEAP32[$i>>2] = $25; $26 = HEAP32[$p>>2]|0; - $27 = (($26) + 20|0); + $27 = ((($26)) + 20|0); HEAP32[$p>>2] = $27; } STACKTOP = sp;return; @@ -104074,7 +104563,7 @@ function _sqlite3ColumnOfIndex($pIdx,$iCol) { while(1) { $3 = HEAP32[$i>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 52|0); + $5 = ((($4)) + 52|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = ($3|0)<($7|0); @@ -104086,7 +104575,7 @@ function _sqlite3ColumnOfIndex($pIdx,$iCol) { $10 = $9 << 16 >> 16; $11 = HEAP32[$i>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + ($11<<1)|0); $16 = HEAP16[$15>>1]|0; @@ -104111,7 +104600,7 @@ function _sqlite3ColumnOfIndex($pIdx,$iCol) { $22 = HEAP16[$0>>1]|0; STACKTOP = sp;return ($22|0); } - return 0|0; + return (0)|0; } function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { $v = $v|0; @@ -104123,19 +104612,19 @@ function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $enc = 0, $pCol = 0, $pValue = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pValue = sp + 4|0; + $0 = sp + 4|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $pValue = sp; $enc = sp + 24|0; - $pCol = sp; + $pCol = sp + 16|0; HEAP32[$0>>2] = $v; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $i; HEAP32[$3>>2] = $iReg; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 12|0); + $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0|0); if ($7) { @@ -104144,27 +104633,27 @@ function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { HEAP32[$pValue>>2] = 0; $8 = HEAP32[$0>>2]|0; $9 = (_sqlite3VdbeDb($8)|0); - $10 = (($9) + 16|0); + $10 = ((($9)) + 16|0); $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 77|0); + $14 = ((($13)) + 77|0); $15 = HEAP8[$14>>0]|0; HEAP8[$enc>>0] = $15; $16 = HEAP32[$2>>2]|0; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + (($16*24)|0)|0); HEAP32[$pCol>>2] = $20; $21 = HEAP32[$0>>2]|0; $22 = (_sqlite3VdbeDb($21)|0); $23 = HEAP32[$pCol>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP8[$enc>>0]|0; $27 = HEAP32[$pCol>>2]|0; - $28 = (($27) + 21|0); + $28 = ((($27)) + 21|0); $29 = HEAP8[$28>>0]|0; (_sqlite3ValueFromExpr($22,$25,$26,$29,$pValue)|0); $30 = HEAP32[$pValue>>2]|0; @@ -104176,10 +104665,10 @@ function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { } $34 = HEAP32[$2>>2]|0; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + (($34*24)|0)|0); - $39 = (($38) + 21|0); + $39 = ((($38)) + 21|0); $40 = HEAP8[$39>>0]|0; $41 = $40 << 24 >> 24; $42 = ($41|0)==(69); @@ -104218,25 +104707,25 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; + $0 = sp + 44|0; + $1 = sp + 36|0; + $2 = sp + 12|0; + $3 = sp + 8|0; $v = sp + 32|0; - $op = sp + 28|0; - $regFree1 = sp + 24|0; - $regFree2 = sp + 20|0; - $r1 = sp + 16|0; - $r2 = sp + 12|0; - $d2 = sp + 8|0; - $destIfFalse = sp + 4|0; - $destIfNull = sp; + $op = sp + 40|0; + $regFree1 = sp + 48|0; + $regFree2 = sp + 16|0; + $r1 = sp; + $r2 = sp + 24|0; + $d2 = sp + 4|0; + $destIfFalse = sp + 28|0; + $destIfNull = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $dest; HEAP32[$3>>2] = $jumpIfNull; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; HEAP32[$v>>2] = $6; HEAP32[$op>>2] = 0; @@ -104263,7 +104752,7 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { HEAP32[$d2>>2] = $16; $17 = HEAP32[$0>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$d2>>2]|0; $22 = HEAP32[$3>>2]|0; @@ -104273,7 +104762,7 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { _sqlite3ExprCachePush($24); $25 = HEAP32[$0>>2]|0; $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 16|0); + $27 = ((($26)) + 16|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$2>>2]|0; $30 = HEAP32[$3>>2]|0; @@ -104288,7 +104777,7 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { case 71: { $34 = HEAP32[$0>>2]|0; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$3>>2]|0; @@ -104297,7 +104786,7 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { _sqlite3ExprCachePush($40); $41 = HEAP32[$0>>2]|0; $42 = HEAP32[$1>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$2>>2]|0; $46 = HEAP32[$3>>2]|0; @@ -104306,47 +104795,54 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { _sqlite3ExprCachePop($47); break; } - case 74: { - $109 = HEAP32[$0>>2]|0; - $110 = HEAP32[$1>>2]|0; - $111 = HEAP32[$2>>2]|0; - $112 = HEAP32[$3>>2]|0; - _exprCodeBetween($109,$110,$111,1,$112); + case 19: { + $48 = HEAP32[$0>>2]|0; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$3>>2]|0; + _sqlite3ExprIfFalse($48,$51,$52,$53); break; } - case 75: { - $113 = HEAP32[$v>>2]|0; - $114 = (_sqlite3VdbeMakeLabel($113)|0); - HEAP32[$destIfFalse>>2] = $114; - $115 = HEAP32[$3>>2]|0; - $116 = ($115|0)!=(0); - $117 = HEAP32[$2>>2]|0; - $118 = HEAP32[$destIfFalse>>2]|0; - $119 = $116 ? $117 : $118; - HEAP32[$destIfNull>>2] = $119; - $120 = HEAP32[$0>>2]|0; - $121 = HEAP32[$1>>2]|0; - $122 = HEAP32[$destIfFalse>>2]|0; - $123 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($120,$121,$122,$123); - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($124,16,0,$125)|0); - $126 = HEAP32[$v>>2]|0; - $127 = HEAP32[$destIfFalse>>2]|0; - _sqlite3VdbeResolveLabel($126,$127); + case 79: case 78: case 83: case 80: case 81: case 82: { + $54 = HEAP32[$0>>2]|0; + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 12|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_sqlite3ExprCodeTemp($54,$57,$regFree1)|0); + HEAP32[$r1>>2] = $58; + $59 = HEAP32[$0>>2]|0; + $60 = HEAP32[$1>>2]|0; + $61 = ((($60)) + 16|0); + $62 = HEAP32[$61>>2]|0; + $63 = (_sqlite3ExprCodeTemp($59,$62,$regFree2)|0); + HEAP32[$r2>>2] = $63; + $64 = HEAP32[$0>>2]|0; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 12|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 16|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$op>>2]|0; + $72 = HEAP32[$r1>>2]|0; + $73 = HEAP32[$r2>>2]|0; + $74 = HEAP32[$2>>2]|0; + $75 = HEAP32[$3>>2]|0; + (_codeCompare($64,$67,$70,$71,$72,$73,$74,$75)|0); break; } case 148: case 73: { $76 = HEAP32[$0>>2]|0; $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 12|0); + $78 = ((($77)) + 12|0); $79 = HEAP32[$78>>2]|0; $80 = (_sqlite3ExprCodeTemp($76,$79,$regFree1)|0); HEAP32[$r1>>2] = $80; $81 = HEAP32[$0>>2]|0; $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 16|0); + $83 = ((($82)) + 16|0); $84 = HEAP32[$83>>2]|0; $85 = (_sqlite3ExprCodeTemp($81,$84,$regFree2)|0); HEAP32[$r2>>2] = $85; @@ -104356,10 +104852,10 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { HEAP32[$op>>2] = $88; $89 = HEAP32[$0>>2]|0; $90 = HEAP32[$1>>2]|0; - $91 = (($90) + 12|0); + $91 = ((($90)) + 12|0); $92 = HEAP32[$91>>2]|0; $93 = HEAP32[$1>>2]|0; - $94 = (($93) + 16|0); + $94 = ((($93)) + 16|0); $95 = HEAP32[$94>>2]|0; $96 = HEAP32[$op>>2]|0; $97 = HEAP32[$r1>>2]|0; @@ -104368,38 +104864,10 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { (_codeCompare($89,$92,$95,$96,$97,$98,$99,128)|0); break; } - case 79: case 78: case 83: case 80: case 81: case 82: { - $54 = HEAP32[$0>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 12|0); - $57 = HEAP32[$56>>2]|0; - $58 = (_sqlite3ExprCodeTemp($54,$57,$regFree1)|0); - HEAP32[$r1>>2] = $58; - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 16|0); - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3ExprCodeTemp($59,$62,$regFree2)|0); - HEAP32[$r2>>2] = $63; - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 12|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$op>>2]|0; - $72 = HEAP32[$r1>>2]|0; - $73 = HEAP32[$r2>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = HEAP32[$3>>2]|0; - (_codeCompare($64,$67,$70,$71,$72,$73,$74,$75)|0); - break; - } case 77: case 76: { $100 = HEAP32[$0>>2]|0; $101 = HEAP32[$1>>2]|0; - $102 = (($101) + 12|0); + $102 = ((($101)) + 12|0); $103 = HEAP32[$102>>2]|0; $104 = (_sqlite3ExprCodeTemp($100,$103,$regFree1)|0); HEAP32[$r1>>2] = $104; @@ -104410,14 +104878,35 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { (_sqlite3VdbeAddOp2($105,$106,$107,$108)|0); break; } - case 19: { - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$3>>2]|0; - _sqlite3ExprIfFalse($48,$51,$52,$53); + case 74: { + $109 = HEAP32[$0>>2]|0; + $110 = HEAP32[$1>>2]|0; + $111 = HEAP32[$2>>2]|0; + $112 = HEAP32[$3>>2]|0; + _exprCodeBetween($109,$110,$111,1,$112); + break; + } + case 75: { + $113 = HEAP32[$v>>2]|0; + $114 = (_sqlite3VdbeMakeLabel($113)|0); + HEAP32[$destIfFalse>>2] = $114; + $115 = HEAP32[$3>>2]|0; + $116 = ($115|0)!=(0); + $117 = HEAP32[$2>>2]|0; + $118 = HEAP32[$destIfFalse>>2]|0; + $119 = $116 ? $117 : $118; + HEAP32[$destIfNull>>2] = $119; + $120 = HEAP32[$0>>2]|0; + $121 = HEAP32[$1>>2]|0; + $122 = HEAP32[$destIfFalse>>2]|0; + $123 = HEAP32[$destIfNull>>2]|0; + _sqlite3ExprCodeIN($120,$121,$122,$123); + $124 = HEAP32[$v>>2]|0; + $125 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($124,16,0,$125)|0); + $126 = HEAP32[$v>>2]|0; + $127 = HEAP32[$destIfFalse>>2]|0; + _sqlite3VdbeResolveLabel($126,$127); break; } default: { @@ -104467,15 +104956,15 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pItem = 0, $r1 = 0, $r2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $r2 = sp + 16|0; - $p = sp + 12|0; - $i = sp + 8|0; - $pItem = sp + 4|0; - $r1 = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $r2 = sp + 32|0; + $p = sp; + $i = sp + 12|0; + $pItem = sp + 24|0; + $r1 = sp + 20|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pExpr; HEAP32[$3>>2] = $pReg; @@ -104483,7 +104972,7 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { $5 = (_sqlite3ExprSkipCollate($4)|0); HEAP32[$2>>2] = $5; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 23|0); + $7 = ((($6)) + 23|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)!=(0); @@ -104498,7 +104987,7 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { $17 = ($16|0)!=(0); if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 316|0); + $19 = ((($18)) + 316|0); $20 = HEAP32[$19>>2]|0; HEAP32[$p>>2] = $20; $21 = HEAP32[$3>>2]|0; @@ -104508,7 +104997,7 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { L5: do { if ($23) { $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 4|0); + $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; HEAP32[$pItem>>2] = $26; $27 = HEAP32[$p>>2]|0; @@ -104521,7 +105010,7 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { break L5; } $31 = HEAP32[$pItem>>2]|0; - $32 = (($31) + 13|0); + $32 = ((($31)) + 13|0); $33 = HEAP8[$32>>0]|0; $34 = ($33&255) >>> 2; $35 = $34 & 1; @@ -104538,14 +105027,14 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { } } $46 = HEAP32[$pItem>>2]|0; - $47 = (($46) + 20|0); + $47 = ((($46)) + 20|0); HEAP32[$pItem>>2] = $47; $48 = HEAP32[$i>>2]|0; $49 = (($48) + -1)|0; HEAP32[$i>>2] = $49; } $43 = HEAP32[$pItem>>2]|0; - $44 = (($43) + 16|0); + $44 = ((($43)) + 16|0); $45 = HEAP32[$44>>2]|0; HEAP32[$0>>2] = $45; $72 = HEAP32[$0>>2]|0; @@ -104553,7 +105042,7 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { } } while(0); $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 72|0); + $51 = ((($50)) + 72|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + 1)|0; HEAP32[$51>>2] = $53; @@ -104617,17 +105106,17 @@ function _codeCompare($pParse,$pLeft,$pRight,$opcode,$in1,$in2,$dest,$jumpIfNull var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr = 0, $p4 = 0, $p5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp; $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; - $6 = sp + 16|0; - $7 = sp + 12|0; - $p5 = sp + 8|0; - $addr = sp + 4|0; - $p4 = sp; + $4 = sp + 32|0; + $5 = sp + 40|0; + $6 = sp + 12|0; + $7 = sp + 24|0; + $p5 = sp + 20|0; + $addr = sp + 8|0; + $p4 = sp + 4|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pLeft; HEAP32[$2>>2] = $pRight; @@ -104648,7 +105137,7 @@ function _codeCompare($pParse,$pLeft,$pRight,$opcode,$in1,$in2,$dest,$jumpIfNull $16 = $15&255; HEAP32[$p5>>2] = $16; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$3>>2]|0; $21 = HEAP32[$5>>2]|0; @@ -104658,7 +105147,7 @@ function _codeCompare($pParse,$pLeft,$pRight,$opcode,$in1,$in2,$dest,$jumpIfNull $25 = (_sqlite3VdbeAddOp4($19,$20,$21,$22,$23,$24,-4)|0); HEAP32[$addr>>2] = $25; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 8|0); + $27 = ((($26)) + 8|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$p5>>2]|0; $30 = $29&255; @@ -104677,16 +105166,16 @@ function _exprCodeBetween($pParse,$pExpr,$dest,$jumpIfTrue,$jumpIfNull) { var $regFree1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; - $0 = sp + 216|0; - $1 = sp + 212|0; - $2 = sp + 208|0; - $3 = sp + 204|0; - $4 = sp + 200|0; - $exprAnd = sp + 152|0; - $compLeft = sp + 104|0; - $compRight = sp + 56|0; - $exprX = sp + 8|0; - $regFree1 = sp; + $0 = sp; + $1 = sp + 64|0; + $2 = sp + 168|0; + $3 = sp + 4|0; + $4 = sp + 172|0; + $exprAnd = sp + 176|0; + $compLeft = sp + 16|0; + $compRight = sp + 120|0; + $exprX = sp + 72|0; + $regFree1 = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $dest; @@ -104694,36 +105183,36 @@ function _exprCodeBetween($pParse,$pExpr,$dest,$jumpIfTrue,$jumpIfNull) { HEAP32[$4>>2] = $jumpIfNull; HEAP32[$regFree1>>2] = 0; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 12|0); + $6 = ((($5)) + 12|0); $7 = HEAP32[$6>>2]|0; - dest=$exprX+0|0; src=$7+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$exprX; src=$7; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); HEAP8[$exprAnd>>0] = 72; - $8 = (($exprAnd) + 12|0); + $8 = ((($exprAnd)) + 12|0); HEAP32[$8>>2] = $compLeft; - $9 = (($exprAnd) + 16|0); + $9 = ((($exprAnd)) + 16|0); HEAP32[$9>>2] = $compRight; HEAP8[$compLeft>>0] = 83; - $10 = (($compLeft) + 12|0); + $10 = ((($compLeft)) + 12|0); HEAP32[$10>>2] = $exprX; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; - $17 = (($compLeft) + 16|0); + $17 = ((($compLeft)) + 16|0); HEAP32[$17>>2] = $16; HEAP8[$compRight>>0] = 81; - $18 = (($compRight) + 12|0); + $18 = ((($compRight)) + 12|0); HEAP32[$18>>2] = $exprX; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 20|0); + $20 = ((($19)) + 20|0); $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 20|0); + $24 = ((($23)) + 20|0); $25 = HEAP32[$24>>2]|0; - $26 = (($compRight) + 16|0); + $26 = ((($compRight)) + 16|0); HEAP32[$26>>2] = $25; $27 = HEAP32[$0>>2]|0; $28 = (_sqlite3ExprCodeTemp($27,$exprX,$regFree1)|0); @@ -104763,31 +105252,31 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { var $98 = 0, $99 = 0, $addr1 = 0, $affinity = 0, $eType = 0, $ii = 0, $j1 = 0, $labelOk = 0, $pColl = 0, $pList = 0, $r1 = 0, $r2 = 0, $rRhsHasNull = 0, $regCkNull = 0, $regToFree = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 44|0; $3 = sp + 52|0; - $rRhsHasNull = sp + 48|0; + $rRhsHasNull = sp + 4|0; $affinity = sp + 68|0; - $eType = sp + 44|0; - $r1 = sp + 40|0; - $v = sp + 36|0; - $pList = sp + 32|0; - $pColl = sp + 28|0; - $labelOk = sp + 24|0; - $r2 = sp + 20|0; - $regToFree = sp + 16|0; - $regCkNull = sp + 12|0; - $ii = sp + 8|0; - $addr1 = sp + 4|0; - $j1 = sp; + $eType = sp + 48|0; + $r1 = sp + 56|0; + $v = sp + 60|0; + $pList = sp + 64|0; + $pColl = sp; + $labelOk = sp + 32|0; + $r2 = sp + 28|0; + $regToFree = sp + 8|0; + $regCkNull = sp + 36|0; + $ii = sp + 12|0; + $addr1 = sp + 16|0; + $j1 = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $destIfFalse; HEAP32[$3>>2] = $destIfNull; HEAP32[$rRhsHasNull>>2] = 0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; HEAP32[$v>>2] = $6; $7 = HEAP32[$0>>2]|0; @@ -104808,7 +105297,7 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { HEAP32[$r1>>2] = $17; $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 12|0); + $20 = ((($19)) + 12|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$r1>>2]|0; _sqlite3ExprCode($18,$21,$22); @@ -104816,7 +105305,7 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { $24 = ($23|0)==(5); $25 = HEAP32[$1>>2]|0; if (!($24)) { - $110 = (($25) + 12|0); + $110 = ((($25)) + 12|0); $111 = HEAP32[$110>>2]|0; $112 = (_sqlite3ExprCanBeNull($111)|0); $113 = ($112|0)!=(0); @@ -104836,7 +105325,7 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { HEAP32[$addr1>>2] = $120; $121 = HEAP32[$v>>2]|0; $122 = HEAP32[$1>>2]|0; - $123 = (($122) + 28|0); + $123 = ((($122)) + 28|0); $124 = HEAP32[$123>>2]|0; $125 = HEAP32[$2>>2]|0; (_sqlite3VdbeAddOp2($121,108,$124,$125)|0); @@ -104859,7 +105348,7 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { (_sqlite3VdbeAddOp2($132,38,$133,$134)|0); $135 = HEAP32[$v>>2]|0; $136 = HEAP32[$1>>2]|0; - $137 = (($136) + 28|0); + $137 = ((($136)) + 28|0); $138 = HEAP32[$137>>2]|0; $139 = HEAP32[$2>>2]|0; $140 = HEAP32[$r1>>2]|0; @@ -104876,7 +105365,7 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { $142 = ($141|0)==(0); $143 = HEAP32[$v>>2]|0; $144 = HEAP32[$1>>2]|0; - $145 = (($144) + 28|0); + $145 = ((($144)) + 28|0); $146 = HEAP32[$145>>2]|0; if ($142) { $147 = HEAP32[$2>>2]|0; @@ -104910,12 +105399,12 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { STACKTOP = sp;return; } } - $26 = (($25) + 20|0); + $26 = ((($25)) + 20|0); $27 = HEAP32[$26>>2]|0; HEAP32[$pList>>2] = $27; $28 = HEAP32[$0>>2]|0; $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = (_sqlite3ExprCollSeq($28,$31)|0); HEAP32[$pColl>>2] = $32; @@ -104948,7 +105437,7 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { $48 = HEAP32[$0>>2]|0; $49 = HEAP32[$ii>>2]|0; $50 = HEAP32[$pList>>2]|0; - $51 = (($50) + 4|0); + $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + (($49*20)|0)|0); $54 = HEAP32[$53>>2]|0; @@ -104959,7 +105448,7 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { if ($57) { $58 = HEAP32[$ii>>2]|0; $59 = HEAP32[$pList>>2]|0; - $60 = (($59) + 4|0); + $60 = ((($59)) + 4|0); $61 = HEAP32[$60>>2]|0; $62 = (($61) + (($58*20)|0)|0); $63 = HEAP32[$62>>2]|0; @@ -105055,7 +105544,7 @@ function _exprAlwaysTrue($p) { HEAP32[$1>>2] = $p; HEAP32[$v>>2] = 0; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = $4 & 1; $6 = ($5|0)!=(0); @@ -105101,34 +105590,34 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { var $iAddr1 = 0, $iCol = 0, $iDb = 0, $iTab = 0, $mustBeUnique = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pExpr = 0, $pIdx = 0, $pReq = 0, $pTab = 0, $rMayHaveNull = 0, $savedNQueryLoop = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; + $0 = sp + 24|0; + $1 = sp + 28|0; + $2 = sp + 44|0; $3 = sp + 60|0; - $p = sp + 56|0; - $eType = sp + 52|0; + $p = sp + 4|0; + $eType = sp + 8|0; $iTab = sp + 48|0; - $mustBeUnique = sp + 44|0; - $v = sp + 40|0; - $db = sp + 36|0; - $pTab = sp + 32|0; - $pExpr = sp + 28|0; - $iCol = sp + 78|0; - $iDb = sp + 76|0; - $iAddr = sp + 24|0; - $pIdx = sp + 20|0; - $pReq = sp + 16|0; - $affinity_ok = sp + 12|0; - $iAddr1 = sp + 8|0; - $savedNQueryLoop = sp + 4|0; - $rMayHaveNull = sp; + $mustBeUnique = sp + 56|0; + $v = sp + 64|0; + $db = sp + 68|0; + $pTab = sp + 72|0; + $pExpr = sp + 32|0; + $iCol = sp + 76|0; + $iDb = sp + 78|0; + $iAddr = sp + 40|0; + $pIdx = sp + 12|0; + $pReq = sp + 52|0; + $affinity_ok = sp + 16|0; + $iAddr1 = sp + 20|0; + $savedNQueryLoop = sp; + $rMayHaveNull = sp + 36|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pX; HEAP32[$2>>2] = $inFlags; HEAP32[$3>>2] = $prRhsHasNull; HEAP32[$eType>>2] = 0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 68|0); + $5 = ((($4)) + 68|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + 1)|0; HEAP32[$5>>2] = $7; @@ -105142,13 +105631,13 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $13 = $12&1; HEAP32[$mustBeUnique>>2] = $13; $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = $16 & 2048; $18 = ($17|0)!=(0); if ($18) { $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 20|0); + $20 = ((($19)) + 20|0); $21 = HEAP32[$20>>2]|0; $22 = $21; } else { @@ -105156,7 +105645,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { } HEAP32[$p>>2] = $22; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 64|0); + $24 = ((($23)) + 64|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)==(0); L4: do { @@ -105169,25 +105658,25 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $31 = HEAP32[$30>>2]|0; HEAP32[$db>>2] = $31; $32 = HEAP32[$p>>2]|0; - $33 = (($32) + 32|0); + $33 = ((($32)) + 32|0); $34 = HEAP32[$33>>2]|0; - $35 = (($34) + 8|0); - $36 = (($35) + 16|0); + $35 = ((($34)) + 8|0); + $36 = ((($35)) + 16|0); $37 = HEAP32[$36>>2]|0; HEAP32[$pTab>>2] = $37; $38 = HEAP32[$p>>2]|0; $39 = HEAP32[$38>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$41>>2]|0; HEAP32[$pExpr>>2] = $42; $43 = HEAP32[$pExpr>>2]|0; - $44 = (($43) + 32|0); + $44 = ((($43)) + 32|0); $45 = HEAP16[$44>>1]|0; HEAP16[$iCol>>1] = $45; $46 = HEAP32[$db>>2]|0; $47 = HEAP32[$pTab>>2]|0; - $48 = (($47) + 68|0); + $48 = ((($47)) + 68|0); $49 = HEAP32[$48>>2]|0; $50 = (_sqlite3SchemaToIndex($46,$49)|0); $51 = $50&65535; @@ -105200,7 +105689,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $56 = HEAP16[$iDb>>1]|0; $57 = $56 << 16 >> 16; $58 = HEAP32[$pTab>>2]|0; - $59 = (($58) + 32|0); + $59 = ((($58)) + 32|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$pTab>>2]|0; $62 = HEAP32[$61>>2]|0; @@ -105225,7 +105714,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { break; } $75 = HEAP32[$1>>2]|0; - $76 = (($75) + 12|0); + $76 = ((($75)) + 12|0); $77 = HEAP32[$76>>2]|0; $78 = HEAP32[$pExpr>>2]|0; $79 = (_sqlite3BinaryCompareCollSeq($66,$77,$78)|0); @@ -105234,15 +105723,15 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $81 = HEAP16[$iCol>>1]|0; $82 = $81 << 16 >> 16; $83 = HEAP32[$pTab>>2]|0; - $84 = (($83) + 4|0); + $84 = ((($83)) + 4|0); $85 = HEAP32[$84>>2]|0; $86 = (($85) + (($82*24)|0)|0); - $87 = (($86) + 21|0); + $87 = ((($86)) + 21|0); $88 = HEAP8[$87>>0]|0; $89 = (_sqlite3IndexAffinityOk($80,$88)|0); HEAP32[$affinity_ok>>2] = $89; $90 = HEAP32[$pTab>>2]|0; - $91 = (($90) + 8|0); + $91 = ((($90)) + 8|0); $92 = HEAP32[$91>>2]|0; HEAP32[$pIdx>>2] = $92; while(1) { @@ -105258,7 +105747,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { break L4; } $99 = HEAP32[$pIdx>>2]|0; - $100 = (($99) + 4|0); + $100 = ((($99)) + 4|0); $101 = HEAP32[$100>>2]|0; $102 = HEAP16[$101>>1]|0; $103 = $102 << 16 >> 16; @@ -105269,14 +105758,14 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { if ($106) { $107 = HEAP32[$db>>2]|0; $108 = HEAP32[$db>>2]|0; - $109 = (($108) + 16|0); + $109 = ((($108)) + 16|0); $110 = HEAP32[$109>>2]|0; - $111 = (($110) + 12|0); + $111 = ((($110)) + 12|0); $112 = HEAP32[$111>>2]|0; - $113 = (($112) + 77|0); + $113 = ((($112)) + 77|0); $114 = HEAP8[$113>>0]|0; $115 = HEAP32[$pIdx>>2]|0; - $116 = (($115) + 32|0); + $116 = ((($115)) + 32|0); $117 = HEAP32[$116>>2]|0; $118 = HEAP32[$117>>2]|0; $119 = (_sqlite3FindCollSeq($107,$114,$118,0)|0); @@ -105287,7 +105776,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $123 = ($122|0)!=(0); if ($123) { $124 = HEAP32[$pIdx>>2]|0; - $125 = (($124) + 50|0); + $125 = ((($124)) + 50|0); $126 = HEAP16[$125>>1]|0; $127 = $126&65535; $128 = ($127|0)==(1); @@ -105295,7 +105784,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { break; } $129 = HEAP32[$pIdx>>2]|0; - $130 = (($129) + 54|0); + $130 = ((($129)) + 54|0); $131 = HEAP8[$130>>0]|0; $132 = $131&255; $133 = ($132|0)!=(0); @@ -105309,7 +105798,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $136 = HEAP32[$v>>2]|0; $137 = HEAP32[$iTab>>2]|0; $138 = HEAP32[$pIdx>>2]|0; - $139 = (($138) + 44|0); + $139 = ((($138)) + 44|0); $140 = HEAP32[$139>>2]|0; $141 = HEAP16[$iDb>>1]|0; $142 = $141 << 16 >> 16; @@ -105318,7 +105807,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $144 = HEAP32[$pIdx>>2]|0; _sqlite3VdbeSetP4KeyInfo($143,$144); $145 = HEAP32[$pIdx>>2]|0; - $146 = (($145) + 28|0); + $146 = ((($145)) + 28|0); $147 = HEAP32[$146>>2]|0; $148 = HEAP8[$147>>0]|0; $149 = $148&255; @@ -105330,15 +105819,15 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $153 = HEAP16[$iCol>>1]|0; $154 = $153 << 16 >> 16; $155 = HEAP32[$pTab>>2]|0; - $156 = (($155) + 4|0); + $156 = ((($155)) + 4|0); $157 = HEAP32[$156>>2]|0; $158 = (($157) + (($154*24)|0)|0); - $159 = (($158) + 20|0); + $159 = ((($158)) + 20|0); $160 = HEAP8[$159>>0]|0; $161 = ($160<<24>>24)!=(0); if (!($161)) { $162 = HEAP32[$0>>2]|0; - $163 = (($162) + 72|0); + $163 = ((($162)) + 72|0); $164 = HEAP32[$163>>2]|0; $165 = (($164) + 1)|0; HEAP32[$163>>2] = $165; @@ -105358,7 +105847,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { } } while(0); $173 = HEAP32[$pIdx>>2]|0; - $174 = (($173) + 20|0); + $174 = ((($173)) + 20|0); $175 = HEAP32[$174>>2]|0; HEAP32[$pIdx>>2] = $175; } @@ -105374,7 +105863,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $180 = ($179|0)!=(0); if ($180) { $181 = HEAP32[$1>>2]|0; - $182 = (($181) + 4|0); + $182 = ((($181)) + 4|0); $183 = HEAP32[$182>>2]|0; $184 = $183 & 2048; $185 = ($184|0)!=(0); @@ -105384,7 +105873,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $188 = ($187|0)!=(0); if ($188) { $189 = HEAP32[$1>>2]|0; - $190 = (($189) + 20|0); + $190 = ((($189)) + 20|0); $191 = HEAP32[$190>>2]|0; $192 = HEAP32[$191>>2]|0; $193 = ($192|0)<=(2); @@ -105402,13 +105891,13 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { if (!($195)) { $232 = HEAP32[$iTab>>2]|0; $233 = HEAP32[$1>>2]|0; - $234 = (($233) + 28|0); + $234 = ((($233)) + 28|0); HEAP32[$234>>2] = $232; $235 = HEAP32[$eType>>2]|0; STACKTOP = sp;return ($235|0); } $196 = HEAP32[$0>>2]|0; - $197 = (($196) + 424|0); + $197 = ((($196)) + 424|0); $198 = HEAP32[$197>>2]|0; HEAP32[$savedNQueryLoop>>2] = $198; HEAP32[$rMayHaveNull>>2] = 0; @@ -105418,18 +105907,18 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $201 = ($200|0)!=(0); if ($201) { $202 = HEAP32[$0>>2]|0; - $203 = (($202) + 424|0); + $203 = ((($202)) + 424|0); HEAP32[$203>>2] = 0; $204 = HEAP32[$1>>2]|0; - $205 = (($204) + 12|0); + $205 = ((($204)) + 12|0); $206 = HEAP32[$205>>2]|0; - $207 = (($206) + 32|0); + $207 = ((($206)) + 32|0); $208 = HEAP16[$207>>1]|0; $209 = $208 << 16 >> 16; $210 = ($209|0)<(0); if ($210) { $211 = HEAP32[$1>>2]|0; - $212 = (($211) + 4|0); + $212 = ((($211)) + 4|0); $213 = HEAP32[$212>>2]|0; $214 = $213 & 2048; $215 = ($214|0)!=(0); @@ -105442,7 +105931,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $217 = ($216|0)!=(0|0); if ($217) { $218 = HEAP32[$0>>2]|0; - $219 = (($218) + 72|0); + $219 = ((($218)) + 72|0); $220 = HEAP32[$219>>2]|0; $221 = (($220) + 1)|0; HEAP32[$219>>2] = $221; @@ -105460,7 +105949,7 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { (_sqlite3CodeSubselect($223,$224,$225,$228)|0); $229 = HEAP32[$savedNQueryLoop>>2]|0; $230 = HEAP32[$0>>2]|0; - $231 = (($230) + 424|0); + $231 = ((($230)) + 424|0); HEAP32[$231>>2] = $229; $235 = HEAP32[$eType>>2]|0; STACKTOP = sp;return ($235|0); @@ -105475,17 +105964,17 @@ function _comparisonAffinity($pExpr) { $aff = sp + 4|0; HEAP32[$0>>2] = $pExpr; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); + $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; $4 = (_sqlite3ExprAffinity($3)|0); HEAP8[$aff>>0] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 16|0); + $6 = ((($5)) + 16|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); $9 = HEAP32[$0>>2]|0; if ($8) { - $10 = (($9) + 16|0); + $10 = ((($9)) + 16|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP8[$aff>>0]|0; $13 = (_sqlite3CompareAffinity($11,$12)|0); @@ -105493,16 +105982,16 @@ function _comparisonAffinity($pExpr) { $29 = HEAP8[$aff>>0]|0; STACKTOP = sp;return ($29|0); } - $14 = (($9) + 4|0); + $14 = ((($9)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = $15 & 2048; $17 = ($16|0)!=(0); if ($17) { $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 20|0); + $19 = ((($18)) + 20|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$23>>2]|0; $25 = HEAP8[$aff>>0]|0; @@ -105545,10 +106034,10 @@ function _sqlite3ExprCode($pParse,$pExpr,$target) { $8 = ($7|0)==(159); if ($8) { $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 28|0); + $13 = ((($12)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; (_sqlite3VdbeAddOp2($11,33,$14,$15)|0); @@ -105567,14 +106056,14 @@ function _sqlite3ExprCode($pParse,$pExpr,$target) { STACKTOP = sp;return; } $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0|0); if (!($26)) { STACKTOP = sp;return; } $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 8|0); + $28 = ((($27)) + 8|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$inReg>>2]|0; $31 = HEAP32[$2>>2]|0; @@ -105610,7 +106099,7 @@ function _sqlite3ExprCanBeNull($p) { if (!($49)) { break; } - $11 = (($10) + 12|0); + $11 = ((($10)) + 12|0); $12 = HEAP32[$11>>2]|0; HEAP32[$1>>2] = $12; } @@ -105621,7 +106110,7 @@ function _sqlite3ExprCanBeNull($p) { $16 = ($15|0)==(159); if ($16) { $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 38|0); + $18 = ((($17)) + 38|0); $19 = HEAP8[$18>>0]|0; HEAP8[$op>>0] = $19; } @@ -105636,7 +106125,7 @@ function _sqlite3ExprCanBeNull($p) { } case 154: { $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = $24 & 1048576; $26 = ($25|0)!=(0); @@ -105644,22 +106133,22 @@ function _sqlite3ExprCanBeNull($p) { $47 = 1; } else { $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 32|0); + $28 = ((($27)) + 32|0); $29 = HEAP16[$28>>1]|0; $30 = $29 << 16 >> 16; $31 = ($30|0)>=(0); if ($31) { $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 32|0); + $33 = ((($32)) + 32|0); $34 = HEAP16[$33>>1]|0; $35 = $34 << 16 >> 16; $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 44|0); + $37 = ((($36)) + 44|0); $38 = HEAP32[$37>>2]|0; - $39 = (($38) + 4|0); + $39 = ((($38)) + 4|0); $40 = HEAP32[$39>>2]|0; $41 = (($40) + (($35*24)|0)|0); - $42 = (($41) + 20|0); + $42 = ((($41)) + 20|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = ($44|0)==(0); @@ -105680,7 +106169,7 @@ function _sqlite3ExprCanBeNull($p) { STACKTOP = sp;return ($48|0); } } - return 0|0; + return (0)|0; } function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $pParse = $pParse|0; @@ -105725,67 +106214,69 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aListelem = 0, $addr = 0, $constMask = 0, $db = 0, $destIfFalse = 0, $destIfNull = 0, $enc = 0, $endCoalesce = 0, $endLabel = 0, $exprOp = 0, $i = 0, $i2 = 0, $iTab = 0; var $inReg = 0, $n = 0, $nExpr = 0, $nFarg = 0, $nId = 0, $nextCase = 0, $op = 0, $opCompare = 0, $or$cond = 0, $or$cond3 = 0, $p1 = 0, $pAggInfo = 0, $pCol = 0, $pColl = 0, $pDef = 0, $pEList = 0, $pFarg = 0, $pInfo = 0, $pLItem = 0, $pLeft = 0; - var $pLeft1 = 0, $pRight = 0, $pTab = 0, $pTest = 0, $pX = 0, $r1 = 0, $r2 = 0, $r3 = 0, $r4 = 0, $regFree1 = 0, $regFree2 = 0, $tempX = 0, $v = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $z = 0, $zBlob = 0, $zId = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; + var $pLeft1 = 0, $pRight = 0, $pTab = 0, $pTest = 0, $pX = 0, $r1 = 0, $r2 = 0, $r3 = 0, $r4 = 0, $regFree1 = 0, $regFree2 = 0, $tempX = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $z = 0, $zBlob = 0, $zId = 0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; - $vararg_buffer8 = sp; - $0 = sp + 292|0; - $1 = sp + 288|0; - $2 = sp + 284|0; - $3 = sp + 280|0; - $v = sp + 276|0; - $op = sp + 272|0; - $inReg = sp + 268|0; - $regFree1 = sp + 264|0; - $regFree2 = sp + 260|0; - $r1 = sp + 256|0; - $r2 = sp + 252|0; - $r3 = sp + 248|0; - $r4 = sp + 244|0; - $db = sp + 240|0; - $tempX = sp + 192|0; - $pAggInfo = sp + 184|0; - $pCol = sp + 180|0; - $iTab = sp + 176|0; - $n = sp + 172|0; - $z = sp + 168|0; - $zBlob = sp + 164|0; - $pLeft = sp + 160|0; - $addr = sp + 156|0; - $pInfo = sp + 152|0; - $pFarg = sp + 148|0; - $nFarg = sp + 144|0; - $pDef = sp + 140|0; - $nId = sp + 136|0; - $zId = sp + 132|0; - $constMask = sp + 128|0; - $i = sp + 124|0; - $enc = sp + 297|0; - $pColl = sp + 120|0; - $endCoalesce = sp + 116|0; - $exprOp = sp + 296|0; - $destIfFalse = sp + 112|0; - $destIfNull = sp + 108|0; - $pLeft1 = sp + 104|0; - $pLItem = sp + 100|0; - $pRight = sp + 96|0; - $pTab = sp + 92|0; - $p1 = sp + 88|0; - $endLabel = sp + 84|0; - $nextCase = sp + 80|0; - $nExpr = sp + 76|0; - $i2 = sp + 72|0; - $pEList = sp + 68|0; - $aListelem = sp + 64|0; - $opCompare = sp + 16|0; - $pX = sp + 12|0; - $pTest = sp + 8|0; + STACKTOP = STACKTOP + 320|0; + $vararg_buffer8 = sp + 16|0; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 236|0; + $1 = sp + 72|0; + $2 = sp + 156|0; + $3 = sp + 80|0; + $v = sp + 76|0; + $op = sp + 136|0; + $inReg = sp + 52|0; + $regFree1 = sp + 32|0; + $regFree2 = sp + 36|0; + $r1 = sp + 40|0; + $r2 = sp + 44|0; + $r3 = sp + 48|0; + $r4 = sp + 204|0; + $db = sp + 144|0; + $tempX = sp + 88|0; + $pAggInfo = sp + 60|0; + $pCol = sp + 64|0; + $iTab = sp + 68|0; + $n = sp + 224|0; + $z = sp + 232|0; + $zBlob = sp + 240|0; + $pLeft = sp + 248|0; + $addr = sp + 304|0; + $pInfo = sp + 140|0; + $pFarg = sp + 308|0; + $nFarg = sp + 148|0; + $pDef = sp + 152|0; + $nId = sp + 244|0; + $zId = sp + 200|0; + $constMask = sp + 160|0; + $i = sp + 164|0; + $enc = sp + 312|0; + $pColl = sp + 172|0; + $endCoalesce = sp + 176|0; + $exprOp = sp + 313|0; + $destIfFalse = sp + 184|0; + $destIfNull = sp + 188|0; + $pLeft1 = sp + 192|0; + $pLItem = sp + 196|0; + $pRight = sp + 24|0; + $pTab = sp + 212|0; + $p1 = sp + 28|0; + $endLabel = sp + 216|0; + $nextCase = sp + 56|0; + $nExpr = sp + 220|0; + $i2 = sp + 228|0; + $pEList = sp + 20|0; + $aListelem = sp + 208|0; + $opCompare = sp + 256|0; + $pX = sp + 180|0; + $pTest = sp + 168|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pExpr; HEAP32[$3>>2] = $target; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; HEAP32[$v>>2] = $6; $7 = HEAP32[$3>>2]|0; @@ -105815,107 +106306,207 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $17 = HEAP32[$op>>2]|0; L9: do { switch ($17|0) { - case 19: case 96: { - $261 = HEAP32[$1>>2]|0; - $262 = HEAP32[$2>>2]|0; - $263 = (($262) + 12|0); - $264 = HEAP32[$263>>2]|0; - $265 = (_sqlite3ExprCodeTemp($261,$264,$regFree1)|0); - HEAP32[$r1>>2] = $265; - $266 = HEAP32[$3>>2]|0; - HEAP32[$inReg>>2] = $266; - $267 = HEAP32[$v>>2]|0; - $268 = HEAP32[$op>>2]|0; - $269 = HEAP32[$r1>>2]|0; - $270 = HEAP32[$inReg>>2]|0; - (_sqlite3VdbeAddOp2($267,$268,$269,$270)|0); + case 156: { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 40|0); + $20 = HEAP32[$19>>2]|0; + HEAP32[$pAggInfo>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 34|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23 << 16 >> 16; + $25 = HEAP32[$pAggInfo>>2]|0; + $26 = ((($25)) + 28|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + (($24*24)|0)|0); + HEAP32[$pCol>>2] = $28; + $29 = HEAP32[$pAggInfo>>2]|0; + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)!=(0); + if (!($31)) { + $32 = HEAP32[$pCol>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$inReg>>2] = $34; + break L9; + } + $35 = HEAP32[$pAggInfo>>2]|0; + $36 = ((($35)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)!=(0); + if ($38) { + $39 = HEAP32[$v>>2]|0; + $40 = HEAP32[$pAggInfo>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$pCol>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp3($39,47,$42,$45,$46)|0); + } else { + label = 11; + } break; } - case 157: { - $228 = HEAP32[$2>>2]|0; - $229 = (($228) + 12|0); - $230 = HEAP32[$229>>2]|0; - HEAP32[$pLeft>>2] = $230; - $231 = HEAP32[$pLeft>>2]|0; - $232 = HEAP8[$231>>0]|0; - $233 = $232&255; - $234 = ($233|0)==(132); - do { - if ($234) { - $235 = HEAP32[$1>>2]|0; - $236 = HEAP32[$pLeft>>2]|0; - $237 = HEAP32[$3>>2]|0; - _codeInteger($235,$236,1,$237); - } else { - $238 = HEAP32[$pLeft>>2]|0; - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240|0)==(133); - if ($241) { - $242 = HEAP32[$v>>2]|0; - $243 = HEAP32[$pLeft>>2]|0; - $244 = (($243) + 8|0); - $245 = HEAP32[$244>>2]|0; - $246 = HEAP32[$3>>2]|0; - _codeReal($242,$245,1,$246); - break; - } else { - HEAP8[$tempX>>0] = -124; - $247 = (($tempX) + 4|0); - HEAP32[$247>>2] = 17408; - $248 = (($tempX) + 8|0); - HEAP32[$248>>2] = 0; - $249 = HEAP32[$1>>2]|0; - $250 = (_sqlite3ExprCodeTemp($249,$tempX,$regFree1)|0); - HEAP32[$r1>>2] = $250; - $251 = HEAP32[$1>>2]|0; - $252 = HEAP32[$2>>2]|0; - $253 = (($252) + 12|0); - $254 = HEAP32[$253>>2]|0; - $255 = (_sqlite3ExprCodeTemp($251,$254,$regFree2)|0); - HEAP32[$r2>>2] = $255; - $256 = HEAP32[$v>>2]|0; - $257 = HEAP32[$r2>>2]|0; - $258 = HEAP32[$r1>>2]|0; - $259 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($256,90,$257,$258,$259)|0); - break; - } - } - } while(0); - $260 = HEAP32[$3>>2]|0; - HEAP32[$inReg>>2] = $260; + case 154: { + label = 11; + break; + } + case 132: { + $81 = HEAP32[$1>>2]|0; + $82 = HEAP32[$2>>2]|0; + $83 = HEAP32[$3>>2]|0; + _codeInteger($81,$82,0,$83); + break; + } + case 133: { + $84 = HEAP32[$v>>2]|0; + $85 = HEAP32[$2>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$3>>2]|0; + _codeReal($84,$87,0,$88); + break; + } + case 97: { + $89 = HEAP32[$v>>2]|0; + $90 = HEAP32[$3>>2]|0; + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + 8|0); + $93 = HEAP32[$92>>2]|0; + (_sqlite3VdbeAddOp4($89,97,0,$90,0,$93,0)|0); + break; + } + case 101: { + $94 = HEAP32[$v>>2]|0; + $95 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($94,28,0,$95)|0); + break; + } + case 134: { + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = ((($98)) + 2|0); + HEAP32[$z>>2] = $99; + $100 = HEAP32[$z>>2]|0; + $101 = (_sqlite3Strlen30($100)|0); + $102 = (($101) - 1)|0; + HEAP32[$n>>2] = $102; + $103 = HEAP32[$v>>2]|0; + $104 = (_sqlite3VdbeDb($103)|0); + $105 = HEAP32[$z>>2]|0; + $106 = HEAP32[$n>>2]|0; + $107 = (_sqlite3HexToBlob($104,$105,$106)|0); + HEAP32[$zBlob>>2] = $107; + $108 = HEAP32[$v>>2]|0; + $109 = HEAP32[$n>>2]|0; + $110 = (($109|0) / 2)&-1; + $111 = HEAP32[$3>>2]|0; + $112 = HEAP32[$zBlob>>2]|0; + (_sqlite3VdbeAddOp4($108,30,$110,$111,0,$112,-1)|0); + break; + } + case 135: { + $113 = HEAP32[$v>>2]|0; + $114 = HEAP32[$2>>2]|0; + $115 = ((($114)) + 32|0); + $116 = HEAP16[$115>>1]|0; + $117 = $116 << 16 >> 16; + $118 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($113,31,$117,$118)|0); + $119 = HEAP32[$2>>2]|0; + $120 = ((($119)) + 8|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($121)) + 1|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123 << 24 >> 24; + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$v>>2]|0; + $127 = HEAP32[$2>>2]|0; + $128 = ((($127)) + 32|0); + $129 = HEAP16[$128>>1]|0; + $130 = $129 << 16 >> 16; + $131 = (($130) - 1)|0; + $132 = HEAP32[$1>>2]|0; + $133 = ((($132)) + 472|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($134) + ($131<<2)|0); + $136 = HEAP32[$135>>2]|0; + _sqlite3VdbeChangeP4($126,-1,$136,-2); + } + break; + } + case 159: { + $137 = HEAP32[$2>>2]|0; + $138 = ((($137)) + 28|0); + $139 = HEAP32[$138>>2]|0; + HEAP32[$inReg>>2] = $139; break; } case 24: { $140 = HEAP32[$1>>2]|0; $141 = HEAP32[$2>>2]|0; - $142 = (($141) + 12|0); + $142 = ((($141)) + 12|0); $143 = HEAP32[$142>>2]|0; $144 = HEAP32[$3>>2]|0; $145 = (_sqlite3ExprCodeTarget($140,$143,$144)|0); HEAP32[$inReg>>2] = $145; break; } + case 38: { + $146 = HEAP32[$1>>2]|0; + $147 = HEAP32[$2>>2]|0; + $148 = ((($147)) + 12|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP32[$3>>2]|0; + $151 = (_sqlite3ExprCodeTarget($146,$149,$150)|0); + HEAP32[$inReg>>2] = $151; + $152 = HEAP32[$inReg>>2]|0; + $153 = HEAP32[$3>>2]|0; + $154 = ($152|0)!=($153|0); + if ($154) { + $155 = HEAP32[$v>>2]|0; + $156 = HEAP32[$inReg>>2]|0; + $157 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($155,34,$156,$157)|0); + $158 = HEAP32[$3>>2]|0; + HEAP32[$inReg>>2] = $158; + } + $159 = HEAP32[$v>>2]|0; + $160 = HEAP32[$3>>2]|0; + $161 = HEAP32[$2>>2]|0; + $162 = ((($161)) + 8|0); + $163 = HEAP32[$162>>2]|0; + $164 = (_sqlite3AffinityType($163,0)|0); + $165 = $164 << 24 >> 24; + (_sqlite3VdbeAddOp2($159,40,$160,$165)|0); + $166 = HEAP32[$1>>2]|0; + $167 = HEAP32[$inReg>>2]|0; + _sqlite3ExprCacheAffinityChange($166,$167,1); + break; + } case 79: case 78: case 83: case 80: case 81: case 82: { $168 = HEAP32[$1>>2]|0; $169 = HEAP32[$2>>2]|0; - $170 = (($169) + 12|0); + $170 = ((($169)) + 12|0); $171 = HEAP32[$170>>2]|0; $172 = (_sqlite3ExprCodeTemp($168,$171,$regFree1)|0); HEAP32[$r1>>2] = $172; $173 = HEAP32[$1>>2]|0; $174 = HEAP32[$2>>2]|0; - $175 = (($174) + 16|0); + $175 = ((($174)) + 16|0); $176 = HEAP32[$175>>2]|0; $177 = (_sqlite3ExprCodeTemp($173,$176,$regFree2)|0); HEAP32[$r2>>2] = $177; $178 = HEAP32[$1>>2]|0; $179 = HEAP32[$2>>2]|0; - $180 = (($179) + 12|0); + $180 = ((($179)) + 12|0); $181 = HEAP32[$180>>2]|0; $182 = HEAP32[$2>>2]|0; - $183 = (($182) + 16|0); + $183 = ((($182)) + 16|0); $184 = HEAP32[$183>>2]|0; $185 = HEAP32[$op>>2]|0; $186 = HEAP32[$r1>>2]|0; @@ -105927,13 +106518,13 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { case 148: case 73: { $189 = HEAP32[$1>>2]|0; $190 = HEAP32[$2>>2]|0; - $191 = (($190) + 12|0); + $191 = ((($190)) + 12|0); $192 = HEAP32[$191>>2]|0; $193 = (_sqlite3ExprCodeTemp($189,$192,$regFree1)|0); HEAP32[$r1>>2] = $193; $194 = HEAP32[$1>>2]|0; $195 = HEAP32[$2>>2]|0; - $196 = (($195) + 16|0); + $196 = ((($195)) + 16|0); $197 = HEAP32[$196>>2]|0; $198 = (_sqlite3ExprCodeTemp($194,$197,$regFree2)|0); HEAP32[$r2>>2] = $198; @@ -105943,10 +106534,10 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { HEAP32[$op>>2] = $201; $202 = HEAP32[$1>>2]|0; $203 = HEAP32[$2>>2]|0; - $204 = (($203) + 12|0); + $204 = ((($203)) + 12|0); $205 = HEAP32[$204>>2]|0; $206 = HEAP32[$2>>2]|0; - $207 = (($206) + 16|0); + $207 = ((($206)) + 16|0); $208 = HEAP32[$207>>2]|0; $209 = HEAP32[$op>>2]|0; $210 = HEAP32[$r1>>2]|0; @@ -105955,19 +106546,166 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { (_codeCompare($202,$205,$208,$209,$210,$211,$212,160)|0); break; } + case 94: case 88: case 87: case 92: case 86: case 85: case 93: case 90: case 91: case 89: case 71: case 72: { + $213 = HEAP32[$1>>2]|0; + $214 = HEAP32[$2>>2]|0; + $215 = ((($214)) + 12|0); + $216 = HEAP32[$215>>2]|0; + $217 = (_sqlite3ExprCodeTemp($213,$216,$regFree1)|0); + HEAP32[$r1>>2] = $217; + $218 = HEAP32[$1>>2]|0; + $219 = HEAP32[$2>>2]|0; + $220 = ((($219)) + 16|0); + $221 = HEAP32[$220>>2]|0; + $222 = (_sqlite3ExprCodeTemp($218,$221,$regFree2)|0); + HEAP32[$r2>>2] = $222; + $223 = HEAP32[$v>>2]|0; + $224 = HEAP32[$op>>2]|0; + $225 = HEAP32[$r2>>2]|0; + $226 = HEAP32[$r1>>2]|0; + $227 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp3($223,$224,$225,$226,$227)|0); + break; + } + case 157: { + $228 = HEAP32[$2>>2]|0; + $229 = ((($228)) + 12|0); + $230 = HEAP32[$229>>2]|0; + HEAP32[$pLeft>>2] = $230; + $231 = HEAP32[$pLeft>>2]|0; + $232 = HEAP8[$231>>0]|0; + $233 = $232&255; + $234 = ($233|0)==(132); + do { + if ($234) { + $235 = HEAP32[$1>>2]|0; + $236 = HEAP32[$pLeft>>2]|0; + $237 = HEAP32[$3>>2]|0; + _codeInteger($235,$236,1,$237); + } else { + $238 = HEAP32[$pLeft>>2]|0; + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240|0)==(133); + if ($241) { + $242 = HEAP32[$v>>2]|0; + $243 = HEAP32[$pLeft>>2]|0; + $244 = ((($243)) + 8|0); + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[$3>>2]|0; + _codeReal($242,$245,1,$246); + break; + } else { + HEAP8[$tempX>>0] = -124; + $247 = ((($tempX)) + 4|0); + HEAP32[$247>>2] = 17408; + $248 = ((($tempX)) + 8|0); + HEAP32[$248>>2] = 0; + $249 = HEAP32[$1>>2]|0; + $250 = (_sqlite3ExprCodeTemp($249,$tempX,$regFree1)|0); + HEAP32[$r1>>2] = $250; + $251 = HEAP32[$1>>2]|0; + $252 = HEAP32[$2>>2]|0; + $253 = ((($252)) + 12|0); + $254 = HEAP32[$253>>2]|0; + $255 = (_sqlite3ExprCodeTemp($251,$254,$regFree2)|0); + HEAP32[$r2>>2] = $255; + $256 = HEAP32[$v>>2]|0; + $257 = HEAP32[$r2>>2]|0; + $258 = HEAP32[$r1>>2]|0; + $259 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp3($256,90,$257,$258,$259)|0); + break; + } + } + } while(0); + $260 = HEAP32[$3>>2]|0; + HEAP32[$inReg>>2] = $260; + break; + } + case 19: case 96: { + $261 = HEAP32[$1>>2]|0; + $262 = HEAP32[$2>>2]|0; + $263 = ((($262)) + 12|0); + $264 = HEAP32[$263>>2]|0; + $265 = (_sqlite3ExprCodeTemp($261,$264,$regFree1)|0); + HEAP32[$r1>>2] = $265; + $266 = HEAP32[$3>>2]|0; + HEAP32[$inReg>>2] = $266; + $267 = HEAP32[$v>>2]|0; + $268 = HEAP32[$op>>2]|0; + $269 = HEAP32[$r1>>2]|0; + $270 = HEAP32[$inReg>>2]|0; + (_sqlite3VdbeAddOp2($267,$268,$269,$270)|0); + break; + } + case 77: case 76: { + $271 = HEAP32[$v>>2]|0; + $272 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($271,25,1,$272)|0); + $273 = HEAP32[$1>>2]|0; + $274 = HEAP32[$2>>2]|0; + $275 = ((($274)) + 12|0); + $276 = HEAP32[$275>>2]|0; + $277 = (_sqlite3ExprCodeTemp($273,$276,$regFree1)|0); + HEAP32[$r1>>2] = $277; + $278 = HEAP32[$v>>2]|0; + $279 = HEAP32[$op>>2]|0; + $280 = HEAP32[$r1>>2]|0; + $281 = (_sqlite3VdbeAddOp1($278,$279,$280)|0); + HEAP32[$addr>>2] = $281; + $282 = HEAP32[$v>>2]|0; + $283 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($282,25,0,$283)|0); + $284 = HEAP32[$v>>2]|0; + $285 = HEAP32[$addr>>2]|0; + _sqlite3VdbeJumpHere($284,$285); + break; + } + case 155: { + $286 = HEAP32[$2>>2]|0; + $287 = ((($286)) + 40|0); + $288 = HEAP32[$287>>2]|0; + HEAP32[$pInfo>>2] = $288; + $289 = HEAP32[$pInfo>>2]|0; + $290 = ($289|0)==(0|0); + if ($290) { + $291 = HEAP32[$1>>2]|0; + $292 = HEAP32[$2>>2]|0; + $293 = ((($292)) + 8|0); + $294 = HEAP32[$293>>2]|0; + HEAP32[$vararg_buffer>>2] = $294; + _sqlite3ErrorMsg($291,23026,$vararg_buffer); + break L9; + } else { + $295 = HEAP32[$2>>2]|0; + $296 = ((($295)) + 34|0); + $297 = HEAP16[$296>>1]|0; + $298 = $297 << 16 >> 16; + $299 = HEAP32[$pInfo>>2]|0; + $300 = ((($299)) + 40|0); + $301 = HEAP32[$300>>2]|0; + $302 = (($301) + ($298<<4)|0); + $303 = ((($302)) + 8|0); + $304 = HEAP32[$303>>2]|0; + HEAP32[$inReg>>2] = $304; + break L9; + } + break; + } case 153: { HEAP32[$constMask>>2] = 0; $305 = HEAP32[$db>>2]|0; - $306 = (($305) + 16|0); + $306 = ((($305)) + 16|0); $307 = HEAP32[$306>>2]|0; - $308 = (($307) + 12|0); + $308 = ((($307)) + 12|0); $309 = HEAP32[$308>>2]|0; - $310 = (($309) + 77|0); + $310 = ((($309)) + 77|0); $311 = HEAP8[$310>>0]|0; HEAP8[$enc>>0] = $311; HEAP32[$pColl>>2] = 0; $312 = HEAP32[$2>>2]|0; - $313 = (($312) + 4|0); + $313 = ((($312)) + 4|0); $314 = HEAP32[$313>>2]|0; $315 = $314 & 16384; $316 = ($315|0)!=(0); @@ -105975,7 +106713,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { HEAP32[$pFarg>>2] = 0; } else { $317 = HEAP32[$2>>2]|0; - $318 = (($317) + 20|0); + $318 = ((($317)) + 20|0); $319 = HEAP32[$318>>2]|0; HEAP32[$pFarg>>2] = $319; } @@ -105990,7 +106728,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { } HEAP32[$nFarg>>2] = $324; $325 = HEAP32[$2>>2]|0; - $326 = (($325) + 8|0); + $326 = ((($325)) + 8|0); $327 = HEAP32[$326>>2]|0; HEAP32[$zId>>2] = $327; $328 = HEAP32[$zId>>2]|0; @@ -106007,12 +106745,12 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $337 = ($336|0)==(0|0); if (!($337)) { $338 = HEAP32[$pDef>>2]|0; - $339 = (($338) + 12|0); + $339 = ((($338)) + 12|0); $340 = HEAP32[$339>>2]|0; $341 = ($340|0)==(0|0); if (!($341)) { $345 = HEAP32[$pDef>>2]|0; - $346 = (($345) + 2|0); + $346 = ((($345)) + 2|0); $347 = HEAP16[$346>>1]|0; $348 = $347&65535; $349 = $348 & 512; @@ -106023,7 +106761,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { HEAP32[$endCoalesce>>2] = $352; $353 = HEAP32[$1>>2]|0; $354 = HEAP32[$pFarg>>2]|0; - $355 = (($354) + 4|0); + $355 = ((($354)) + 4|0); $356 = HEAP32[$355>>2]|0; $357 = HEAP32[$356>>2]|0; $358 = HEAP32[$3>>2]|0; @@ -106048,7 +106786,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $368 = HEAP32[$1>>2]|0; $369 = HEAP32[$i>>2]|0; $370 = HEAP32[$pFarg>>2]|0; - $371 = (($370) + 4|0); + $371 = ((($370)) + 4|0); $372 = HEAP32[$371>>2]|0; $373 = (($372) + (($369*20)|0)|0); $374 = HEAP32[$373>>2]|0; @@ -106065,7 +106803,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { break L9; } $380 = HEAP32[$pDef>>2]|0; - $381 = (($380) + 2|0); + $381 = ((($380)) + 2|0); $382 = HEAP16[$381>>1]|0; $383 = $382&65535; $384 = $383 & 1024; @@ -106073,7 +106811,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { if ($385) { $386 = HEAP32[$1>>2]|0; $387 = HEAP32[$pFarg>>2]|0; - $388 = (($387) + 4|0); + $388 = ((($387)) + 4|0); $389 = HEAP32[$388>>2]|0; $390 = HEAP32[$389>>2]|0; $391 = HEAP32[$3>>2]|0; @@ -106093,7 +106831,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { if ($396) { $397 = HEAP32[$i>>2]|0; $398 = HEAP32[$pFarg>>2]|0; - $399 = (($398) + 4|0); + $399 = ((($398)) + 4|0); $400 = HEAP32[$399>>2]|0; $401 = (($400) + (($397*20)|0)|0); $402 = HEAP32[$401>>2]|0; @@ -106108,7 +106846,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { } } $409 = HEAP32[$pDef>>2]|0; - $410 = (($409) + 2|0); + $410 = ((($409)) + 2|0); $411 = HEAP16[$410>>1]|0; $412 = $411&65535; $413 = $412 & 32; @@ -106120,7 +106858,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $417 = HEAP32[$1>>2]|0; $418 = HEAP32[$i>>2]|0; $419 = HEAP32[$pFarg>>2]|0; - $420 = (($419) + 4|0); + $420 = ((($419)) + 4|0); $421 = HEAP32[$420>>2]|0; $422 = (($421) + (($418*20)|0)|0); $423 = HEAP32[$422>>2]|0; @@ -106138,13 +106876,13 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $430 = ($429|0)!=(0); $431 = HEAP32[$1>>2]|0; if ($430) { - $432 = (($431) + 72|0); + $432 = ((($431)) + 72|0); $433 = HEAP32[$432>>2]|0; $434 = (($433) + 1)|0; HEAP32[$r1>>2] = $434; $435 = HEAP32[$nFarg>>2]|0; $436 = HEAP32[$1>>2]|0; - $437 = (($436) + 72|0); + $437 = ((($436)) + 72|0); $438 = HEAP32[$437>>2]|0; $439 = (($438) + ($435))|0; HEAP32[$437>>2] = $439; @@ -106154,7 +106892,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { HEAP32[$r1>>2] = $441; } $442 = HEAP32[$pDef>>2]|0; - $443 = (($442) + 2|0); + $443 = ((($442)) + 2|0); $444 = HEAP16[$443>>1]|0; $445 = $444&65535; $446 = $445 & 192; @@ -106162,7 +106900,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { do { if ($447) { $448 = HEAP32[$pFarg>>2]|0; - $449 = (($448) + 4|0); + $449 = ((($448)) + 4|0); $450 = HEAP32[$449>>2]|0; $451 = HEAP32[$450>>2]|0; $452 = HEAP8[$451>>0]|0; @@ -106179,16 +106917,16 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { } } $459 = HEAP32[$pDef>>2]|0; - $460 = (($459) + 2|0); + $460 = ((($459)) + 2|0); $461 = HEAP16[$460>>1]|0; $462 = $461&65535; $463 = $462 & 192; $464 = $463&255; $465 = HEAP32[$pFarg>>2]|0; - $466 = (($465) + 4|0); + $466 = ((($465)) + 4|0); $467 = HEAP32[$466>>2]|0; $468 = HEAP32[$467>>2]|0; - $469 = (($468) + 38|0); + $469 = ((($468)) + 38|0); HEAP8[$469>>0] = $464; } } while(0); @@ -106207,7 +106945,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $476 = ($475|0)>=(2); if ($476) { $477 = HEAP32[$2>>2]|0; - $478 = (($477) + 4|0); + $478 = ((($477)) + 4|0); $479 = HEAP32[$478>>2]|0; $480 = $479 & 128; $481 = ($480|0)!=(0); @@ -106216,9 +106954,9 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $483 = HEAP32[$pDef>>2]|0; $484 = HEAP32[$nFarg>>2]|0; $485 = HEAP32[$pFarg>>2]|0; - $486 = (($485) + 4|0); + $486 = ((($485)) + 4|0); $487 = HEAP32[$486>>2]|0; - $488 = (($487) + 20|0); + $488 = ((($487)) + 20|0); $489 = HEAP32[$488>>2]|0; $490 = (_sqlite3VtabOverloadFunction($482,$483,$484,$489)|0); HEAP32[$pDef>>2] = $490; @@ -106236,7 +106974,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $494 = HEAP32[$pDef>>2]|0; $495 = HEAP32[$nFarg>>2]|0; $496 = HEAP32[$pFarg>>2]|0; - $497 = (($496) + 4|0); + $497 = ((($496)) + 4|0); $498 = HEAP32[$497>>2]|0; $499 = HEAP32[$498>>2]|0; $500 = (_sqlite3VtabOverloadFunction($493,$494,$495,$499)|0); @@ -106244,7 +106982,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { } } $501 = HEAP32[$pDef>>2]|0; - $502 = (($501) + 2|0); + $502 = ((($501)) + 2|0); $503 = HEAP16[$502>>1]|0; $504 = $503&65535; $505 = $504 & 32; @@ -106254,7 +106992,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $508 = ($507|0)!=(0|0); if (!($508)) { $509 = HEAP32[$db>>2]|0; - $510 = (($509) + 8|0); + $510 = ((($509)) + 8|0); $511 = HEAP32[$510>>2]|0; HEAP32[$pColl>>2] = $511; } @@ -106290,169 +107028,17 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $342 = HEAP32[$1>>2]|0; $343 = HEAP32[$nId>>2]|0; $344 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer8>>2] = $343; - $vararg_ptr7 = (($vararg_buffer8) + 4|0); + HEAP32[$vararg_buffer4>>2] = $343; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $344; - _sqlite3ErrorMsg($342,19160,$vararg_buffer8); - break; - } - case 38: { - $146 = HEAP32[$1>>2]|0; - $147 = HEAP32[$2>>2]|0; - $148 = (($147) + 12|0); - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$3>>2]|0; - $151 = (_sqlite3ExprCodeTarget($146,$149,$150)|0); - HEAP32[$inReg>>2] = $151; - $152 = HEAP32[$inReg>>2]|0; - $153 = HEAP32[$3>>2]|0; - $154 = ($152|0)!=($153|0); - if ($154) { - $155 = HEAP32[$v>>2]|0; - $156 = HEAP32[$inReg>>2]|0; - $157 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($155,34,$156,$157)|0); - $158 = HEAP32[$3>>2]|0; - HEAP32[$inReg>>2] = $158; - } - $159 = HEAP32[$v>>2]|0; - $160 = HEAP32[$3>>2]|0; - $161 = HEAP32[$2>>2]|0; - $162 = (($161) + 8|0); - $163 = HEAP32[$162>>2]|0; - $164 = (_sqlite3AffinityType($163,0)|0); - $165 = $164 << 24 >> 24; - (_sqlite3VdbeAddOp2($159,40,$160,$165)|0); - $166 = HEAP32[$1>>2]|0; - $167 = HEAP32[$inReg>>2]|0; - _sqlite3ExprCacheAffinityChange($166,$167,1); + _sqlite3ErrorMsg($342,23052,$vararg_buffer4); break; } - case 101: { - $94 = HEAP32[$v>>2]|0; - $95 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($94,28,0,$95)|0); - break; - } - case 159: { - $137 = HEAP32[$2>>2]|0; - $138 = (($137) + 28|0); - $139 = HEAP32[$138>>2]|0; - HEAP32[$inReg>>2] = $139; - break; - } - case 135: { - $113 = HEAP32[$v>>2]|0; - $114 = HEAP32[$2>>2]|0; - $115 = (($114) + 32|0); - $116 = HEAP16[$115>>1]|0; - $117 = $116 << 16 >> 16; - $118 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($113,31,$117,$118)|0); - $119 = HEAP32[$2>>2]|0; - $120 = (($119) + 8|0); - $121 = HEAP32[$120>>2]|0; - $122 = (($121) + 1|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123 << 24 >> 24; - $125 = ($124|0)!=(0); - if ($125) { - $126 = HEAP32[$v>>2]|0; - $127 = HEAP32[$2>>2]|0; - $128 = (($127) + 32|0); - $129 = HEAP16[$128>>1]|0; - $130 = $129 << 16 >> 16; - $131 = (($130) - 1)|0; - $132 = HEAP32[$1>>2]|0; - $133 = (($132) + 472|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) + ($131<<2)|0); - $136 = HEAP32[$135>>2]|0; - _sqlite3VdbeChangeP4($126,-1,$136,-2); - } - break; - } - case 97: { - $89 = HEAP32[$v>>2]|0; - $90 = HEAP32[$3>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = (($91) + 8|0); - $93 = HEAP32[$92>>2]|0; - (_sqlite3VdbeAddOp4($89,97,0,$90,0,$93,0)|0); - break; - } - case 133: { - $84 = HEAP32[$v>>2]|0; - $85 = HEAP32[$2>>2]|0; - $86 = (($85) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$3>>2]|0; - _codeReal($84,$87,0,$88); - break; - } - case 132: { - $81 = HEAP32[$1>>2]|0; - $82 = HEAP32[$2>>2]|0; - $83 = HEAP32[$3>>2]|0; - _codeInteger($81,$82,0,$83); - break; - } - case 155: { - $286 = HEAP32[$2>>2]|0; - $287 = (($286) + 40|0); - $288 = HEAP32[$287>>2]|0; - HEAP32[$pInfo>>2] = $288; - $289 = HEAP32[$pInfo>>2]|0; - $290 = ($289|0)==(0|0); - if ($290) { - $291 = HEAP32[$1>>2]|0; - $292 = HEAP32[$2>>2]|0; - $293 = (($292) + 8|0); - $294 = HEAP32[$293>>2]|0; - HEAP32[$vararg_buffer8>>2] = $294; - _sqlite3ErrorMsg($291,19128,$vararg_buffer8); - break L9; - } else { - $295 = HEAP32[$2>>2]|0; - $296 = (($295) + 34|0); - $297 = HEAP16[$296>>1]|0; - $298 = $297 << 16 >> 16; - $299 = HEAP32[$pInfo>>2]|0; - $300 = (($299) + 40|0); - $301 = HEAP32[$300>>2]|0; - $302 = (($301) + ($298<<4)|0); - $303 = (($302) + 8|0); - $304 = HEAP32[$303>>2]|0; - HEAP32[$inReg>>2] = $304; - break L9; - } - break; - } - case 77: case 76: { - $271 = HEAP32[$v>>2]|0; - $272 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($271,25,1,$272)|0); - $273 = HEAP32[$1>>2]|0; - $274 = HEAP32[$2>>2]|0; - $275 = (($274) + 12|0); - $276 = HEAP32[$275>>2]|0; - $277 = (_sqlite3ExprCodeTemp($273,$276,$regFree1)|0); - HEAP32[$r1>>2] = $277; - $278 = HEAP32[$v>>2]|0; - $279 = HEAP32[$op>>2]|0; - $280 = HEAP32[$r1>>2]|0; - $281 = (_sqlite3VdbeAddOp1($278,$279,$280)|0); - HEAP32[$addr>>2] = $281; - $282 = HEAP32[$v>>2]|0; - $283 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($282,25,0,$283)|0); - $284 = HEAP32[$v>>2]|0; - $285 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($284,$285); - break; - } - case 154: { - label = 11; + case 119: case 20: { + $529 = HEAP32[$1>>2]|0; + $530 = HEAP32[$2>>2]|0; + $531 = (_sqlite3CodeSubselect($529,$530,0,0)|0); + HEAP32[$inReg>>2] = $531; break; } case 75: { @@ -106484,96 +107070,15 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { _sqlite3VdbeResolveLabel($548,$549); break; } - case 119: case 20: { - $529 = HEAP32[$1>>2]|0; - $530 = HEAP32[$2>>2]|0; - $531 = (_sqlite3CodeSubselect($529,$530,0,0)|0); - HEAP32[$inReg>>2] = $531; - break; - } - case 156: { - $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 40|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pAggInfo>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 34|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23 << 16 >> 16; - $25 = HEAP32[$pAggInfo>>2]|0; - $26 = (($25) + 28|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + (($24*24)|0)|0); - HEAP32[$pCol>>2] = $28; - $29 = HEAP32[$pAggInfo>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)!=(0); - if (!($31)) { - $32 = HEAP32[$pCol>>2]|0; - $33 = (($32) + 16|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$inReg>>2] = $34; - break L9; - } - $35 = HEAP32[$pAggInfo>>2]|0; - $36 = (($35) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)!=(0); - if ($38) { - $39 = HEAP32[$v>>2]|0; - $40 = HEAP32[$pAggInfo>>2]|0; - $41 = (($40) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$pCol>>2]|0; - $44 = (($43) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($39,47,$42,$45,$46)|0); - } else { - label = 11; - } - break; - } - case 94: case 88: case 87: case 92: case 86: case 85: case 93: case 90: case 91: case 89: case 71: case 72: { - $213 = HEAP32[$1>>2]|0; - $214 = HEAP32[$2>>2]|0; - $215 = (($214) + 12|0); - $216 = HEAP32[$215>>2]|0; - $217 = (_sqlite3ExprCodeTemp($213,$216,$regFree1)|0); - HEAP32[$r1>>2] = $217; - $218 = HEAP32[$1>>2]|0; - $219 = HEAP32[$2>>2]|0; - $220 = (($219) + 16|0); - $221 = HEAP32[$220>>2]|0; - $222 = (_sqlite3ExprCodeTemp($218,$221,$regFree2)|0); - HEAP32[$r2>>2] = $222; - $223 = HEAP32[$v>>2]|0; - $224 = HEAP32[$op>>2]|0; - $225 = HEAP32[$r2>>2]|0; - $226 = HEAP32[$r1>>2]|0; - $227 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($223,$224,$225,$226,$227)|0); - break; - } - case 158: case 95: { - $599 = HEAP32[$1>>2]|0; - $600 = HEAP32[$2>>2]|0; - $601 = (($600) + 12|0); - $602 = HEAP32[$601>>2]|0; - $603 = HEAP32[$3>>2]|0; - $604 = (_sqlite3ExprCodeTarget($599,$602,$603)|0); - HEAP32[$inReg>>2] = $604; - break; - } case 74: { $550 = HEAP32[$2>>2]|0; - $551 = (($550) + 12|0); + $551 = ((($550)) + 12|0); $552 = HEAP32[$551>>2]|0; HEAP32[$pLeft1>>2] = $552; $553 = HEAP32[$2>>2]|0; - $554 = (($553) + 20|0); + $554 = ((($553)) + 20|0); $555 = HEAP32[$554>>2]|0; - $556 = (($555) + 4|0); + $556 = ((($555)) + 4|0); $557 = HEAP32[$556>>2]|0; HEAP32[$pLItem>>2] = $557; $558 = HEAP32[$pLItem>>2]|0; @@ -106601,7 +107106,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $575 = HEAP32[$r3>>2]|0; (_codeCompare($570,$571,$572,83,$573,$574,$575,32)|0); $576 = HEAP32[$pLItem>>2]|0; - $577 = (($576) + 20|0); + $577 = ((($576)) + 20|0); HEAP32[$pLItem>>2] = $577; $578 = HEAP32[$pLItem>>2]|0; $579 = HEAP32[$578>>2]|0; @@ -106633,23 +107138,33 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { _sqlite3ReleaseTempReg($597,$598); break; } + case 158: case 95: { + $599 = HEAP32[$1>>2]|0; + $600 = HEAP32[$2>>2]|0; + $601 = ((($600)) + 12|0); + $602 = HEAP32[$601>>2]|0; + $603 = HEAP32[$3>>2]|0; + $604 = (_sqlite3ExprCodeTarget($599,$602,$603)|0); + HEAP32[$inReg>>2] = $604; + break; + } case 62: { $605 = HEAP32[$2>>2]|0; - $606 = (($605) + 44|0); + $606 = ((($605)) + 44|0); $607 = HEAP32[$606>>2]|0; HEAP32[$pTab>>2] = $607; $608 = HEAP32[$2>>2]|0; - $609 = (($608) + 28|0); + $609 = ((($608)) + 28|0); $610 = HEAP32[$609>>2]|0; $611 = HEAP32[$pTab>>2]|0; - $612 = (($611) + 38|0); + $612 = ((($611)) + 38|0); $613 = HEAP16[$612>>1]|0; $614 = $613 << 16 >> 16; $615 = (($614) + 1)|0; $616 = Math_imul($610, $615)|0; $617 = (($616) + 1)|0; $618 = HEAP32[$2>>2]|0; - $619 = (($618) + 32|0); + $619 = ((($618)) + 32|0); $620 = HEAP16[$619>>1]|0; $621 = $620 << 16 >> 16; $622 = (($617) + ($621))|0; @@ -106659,20 +107174,20 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $625 = HEAP32[$3>>2]|0; (_sqlite3VdbeAddOp2($623,132,$624,$625)|0); $626 = HEAP32[$2>>2]|0; - $627 = (($626) + 32|0); + $627 = ((($626)) + 32|0); $628 = HEAP16[$627>>1]|0; $629 = $628 << 16 >> 16; $630 = ($629|0)>=(0); if ($630) { $631 = HEAP32[$2>>2]|0; - $632 = (($631) + 32|0); + $632 = ((($631)) + 32|0); $633 = HEAP16[$632>>1]|0; $634 = $633 << 16 >> 16; $635 = HEAP32[$pTab>>2]|0; - $636 = (($635) + 4|0); + $636 = ((($635)) + 4|0); $637 = HEAP32[$636>>2]|0; $638 = (($637) + (($634*24)|0)|0); - $639 = (($638) + 21|0); + $639 = ((($638)) + 21|0); $640 = HEAP8[$639>>0]|0; $641 = $640 << 24 >> 24; $642 = ($641|0)==(69); @@ -106684,44 +107199,20 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { } break; } - case 134: { - $96 = HEAP32[$2>>2]|0; - $97 = (($96) + 8|0); - $98 = HEAP32[$97>>2]|0; - $99 = (($98) + 2|0); - HEAP32[$z>>2] = $99; - $100 = HEAP32[$z>>2]|0; - $101 = (_sqlite3Strlen30($100)|0); - $102 = (($101) - 1)|0; - HEAP32[$n>>2] = $102; - $103 = HEAP32[$v>>2]|0; - $104 = (_sqlite3VdbeDb($103)|0); - $105 = HEAP32[$z>>2]|0; - $106 = HEAP32[$n>>2]|0; - $107 = (_sqlite3HexToBlob($104,$105,$106)|0); - HEAP32[$zBlob>>2] = $107; - $108 = HEAP32[$v>>2]|0; - $109 = HEAP32[$n>>2]|0; - $110 = (($109|0) / 2)&-1; - $111 = HEAP32[$3>>2]|0; - $112 = HEAP32[$zBlob>>2]|0; - (_sqlite3VdbeAddOp4($108,30,$110,$111,0,$112,-1)|0); - break; - } case 57: { $713 = HEAP32[$1>>2]|0; - $714 = (($713) + 412|0); + $714 = ((($713)) + 412|0); $715 = HEAP32[$714>>2]|0; $716 = ($715|0)!=(0|0); if (!($716)) { $717 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($717,19192,$vararg_buffer8); + _sqlite3ErrorMsg($717,23077,$vararg_buffer8); HEAP32[$0>>2] = 0; $746 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($746|0); } $718 = HEAP32[$2>>2]|0; - $719 = (($718) + 1|0); + $719 = ((($718)) + 1|0); $720 = HEAP8[$719>>0]|0; $721 = $720 << 24 >> 24; $722 = ($721|0)==(2); @@ -106730,25 +107221,25 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { _sqlite3MayAbort($723); } $724 = HEAP32[$2>>2]|0; - $725 = (($724) + 1|0); + $725 = ((($724)) + 1|0); $726 = HEAP8[$725>>0]|0; $727 = $726 << 24 >> 24; $728 = ($727|0)==(4); if ($728) { $729 = HEAP32[$v>>2]|0; $730 = HEAP32[$2>>2]|0; - $731 = (($730) + 8|0); + $731 = ((($730)) + 8|0); $732 = HEAP32[$731>>2]|0; (_sqlite3VdbeAddOp4($729,24,0,4,0,$732,0)|0); break L9; } else { $733 = HEAP32[$1>>2]|0; $734 = HEAP32[$2>>2]|0; - $735 = (($734) + 1|0); + $735 = ((($734)) + 1|0); $736 = HEAP8[$735>>0]|0; $737 = $736 << 24 >> 24; $738 = HEAP32[$2>>2]|0; - $739 = (($738) + 8|0); + $739 = ((($738)) + 8|0); $740 = HEAP32[$739>>2]|0; _sqlite3HaltConstraint($733,1811,$737,$740,0,0); break L9; @@ -106758,11 +107249,11 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { default: { HEAP32[$pTest>>2] = 0; $645 = HEAP32[$2>>2]|0; - $646 = (($645) + 20|0); + $646 = ((($645)) + 20|0); $647 = HEAP32[$646>>2]|0; HEAP32[$pEList>>2] = $647; $648 = HEAP32[$pEList>>2]|0; - $649 = (($648) + 4|0); + $649 = ((($648)) + 4|0); $650 = HEAP32[$649>>2]|0; HEAP32[$aListelem>>2] = $650; $651 = HEAP32[$pEList>>2]|0; @@ -106772,19 +107263,19 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $654 = (_sqlite3VdbeMakeLabel($653)|0); HEAP32[$endLabel>>2] = $654; $655 = HEAP32[$2>>2]|0; - $656 = (($655) + 12|0); + $656 = ((($655)) + 12|0); $657 = HEAP32[$656>>2]|0; HEAP32[$pX>>2] = $657; $658 = ($657|0)!=(0|0); if ($658) { $659 = HEAP32[$pX>>2]|0; - dest=$tempX+0|0; src=$659+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$tempX; src=$659; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $660 = HEAP32[$1>>2]|0; $661 = HEAP32[$pX>>2]|0; $662 = (_sqlite3ExprCodeTemp($660,$661,$regFree1)|0); _exprToRegister($tempX,$662); HEAP8[$opCompare>>0] = 79; - $663 = (($opCompare) + 12|0); + $663 = ((($opCompare)) + 12|0); HEAP32[$663>>2] = $tempX; HEAP32[$pTest>>2] = $opCompare; HEAP32[$regFree1>>2] = 0; @@ -106807,7 +107298,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $673 = (($672) + (($671*20)|0)|0); $674 = HEAP32[$673>>2]|0; if ($670) { - $675 = (($opCompare) + 16|0); + $675 = ((($opCompare)) + 16|0); HEAP32[$675>>2] = $674; } else { HEAP32[$pTest>>2] = $674; @@ -106849,7 +107340,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $700 = HEAP32[$nExpr>>2]|0; $701 = (($700) - 1)|0; $702 = HEAP32[$pEList>>2]|0; - $703 = (($702) + 4|0); + $703 = ((($702)) + 4|0); $704 = HEAP32[$703>>2]|0; $705 = (($704) + (($701*20)|0)|0); $706 = HEAP32[$705>>2]|0; @@ -106871,7 +107362,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { L140: do { if ((label|0) == 11) { $47 = HEAP32[$2>>2]|0; - $48 = (($47) + 28|0); + $48 = ((($47)) + 28|0); $49 = HEAP32[$48>>2]|0; HEAP32[$iTab>>2] = $49; $50 = HEAP32[$iTab>>2]|0; @@ -106879,23 +107370,23 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { do { if ($51) { $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 92|0); + $53 = ((($52)) + 92|0); $54 = HEAP32[$53>>2]|0; $55 = ($54|0)>(0); if ($55) { $56 = HEAP32[$2>>2]|0; - $57 = (($56) + 32|0); + $57 = ((($56)) + 32|0); $58 = HEAP16[$57>>1]|0; $59 = $58 << 16 >> 16; $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 92|0); + $61 = ((($60)) + 92|0); $62 = HEAP32[$61>>2]|0; $63 = (($59) + ($62))|0; HEAP32[$inReg>>2] = $63; break L140; } else { $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 96|0); + $65 = ((($64)) + 96|0); $66 = HEAP32[$65>>2]|0; HEAP32[$iTab>>2] = $66; break; @@ -106904,16 +107395,16 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { } while(0); $67 = HEAP32[$1>>2]|0; $68 = HEAP32[$2>>2]|0; - $69 = (($68) + 44|0); + $69 = ((($68)) + 44|0); $70 = HEAP32[$69>>2]|0; $71 = HEAP32[$2>>2]|0; - $72 = (($71) + 32|0); + $72 = ((($71)) + 32|0); $73 = HEAP16[$72>>1]|0; $74 = $73 << 16 >> 16; $75 = HEAP32[$iTab>>2]|0; $76 = HEAP32[$3>>2]|0; $77 = HEAP32[$2>>2]|0; - $78 = (($77) + 38|0); + $78 = ((($77)) + 38|0); $79 = HEAP8[$78>>0]|0; $80 = (_sqlite3ExprCodeGetColumn($67,$70,$74,$75,$76,$79)|0); HEAP32[$inReg>>2] = $80; @@ -106943,16 +107434,16 @@ function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { var $i = 0, $p = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; + $0 = sp; + $1 = sp + 16|0; + $2 = sp + 8|0; $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; + $4 = sp + 28|0; + $5 = sp + 32|0; $6 = sp + 36|0; - $v = sp + 8|0; + $v = sp + 24|0; $i = sp + 4|0; - $p = sp; + $p = sp + 12|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTab; HEAP32[$3>>2] = $iColumn; @@ -106960,12 +107451,12 @@ function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { HEAP32[$5>>2] = $iReg; HEAP8[$6>>0] = $p5; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; HEAP32[$v>>2] = $9; HEAP32[$i>>2] = 0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 116|0); + $11 = ((($10)) + 116|0); HEAP32[$p>>2] = $11; while(1) { $12 = HEAP32[$i>>2]|0; @@ -106974,7 +107465,7 @@ function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { break; } $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)>(0); if ($17) { @@ -106984,7 +107475,7 @@ function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { $21 = ($19|0)==($20|0); if ($21) { $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP16[$23>>1]|0; $25 = $24 << 16 >> 16; $26 = HEAP32[$3>>2]|0; @@ -106999,25 +107490,25 @@ function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { $42 = (($41) + 1)|0; HEAP32[$i>>2] = $42; $43 = HEAP32[$p>>2]|0; - $44 = (($43) + 20|0); + $44 = ((($43)) + 20|0); HEAP32[$p>>2] = $44; } if ((label|0) == 6) { $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 104|0); + $29 = ((($28)) + 104|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + 1)|0; HEAP32[$29>>2] = $31; $32 = HEAP32[$p>>2]|0; - $33 = (($32) + 16|0); + $33 = ((($32)) + 16|0); HEAP32[$33>>2] = $30; $34 = HEAP32[$1>>2]|0; $35 = HEAP32[$p>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = HEAP32[$36>>2]|0; _sqlite3ExprCachePinRegister($34,$37); $38 = HEAP32[$p>>2]|0; - $39 = (($38) + 12|0); + $39 = ((($38)) + 12|0); $40 = HEAP32[$39>>2]|0; HEAP32[$0>>2] = $40; $59 = HEAP32[$0>>2]|0; @@ -107059,31 +107550,31 @@ function _codeInteger($pParse,$pExpr,$negFlag,$iMem) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp + 8|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $v = sp + 28|0; - $i = sp + 24|0; - $c = sp + 20|0; + $0 = sp + 28|0; + $1 = sp + 20|0; + $2 = sp + 32|0; + $3 = sp + 24|0; + $v = sp + 36|0; + $i = sp + 16|0; + $c = sp + 12|0; $value = sp; - $z = sp + 16|0; - $zV = sp + 12|0; + $z = sp + 40|0; + $zV = sp + 44|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $negFlag; HEAP32[$3>>2] = $iMem; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; HEAP32[$v>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = $9 & 1024; $11 = ($10|0)!=(0); $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); if ($11) { $14 = HEAP32[$13>>2]|0; HEAP32[$i>>2] = $14; @@ -107115,13 +107606,13 @@ function _codeInteger($pParse,$pExpr,$negFlag,$iMem) { $or$cond = $28 & $30; if (!($or$cond)) { $54 = HEAP32[$z>>2]|0; - $55 = (_sqlite3_strnicmp($54,19336,2)|0); + $55 = (_sqlite3_strnicmp($54,23176,2)|0); $56 = ($55|0)==(0); if ($56) { $57 = HEAP32[$0>>2]|0; $58 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer>>2] = $58; - _sqlite3ErrorMsg($57,19344,$vararg_buffer); + _sqlite3ErrorMsg($57,23179,$vararg_buffer); STACKTOP = sp;return; } else { $59 = HEAP32[$v>>2]|0; @@ -107138,25 +107629,22 @@ function _codeInteger($pParse,$pExpr,$negFlag,$iMem) { if ($32) { $33 = HEAP32[$c>>2]|0; $34 = ($33|0)==(2); - if ($34) { - $45 = 0;$48 = -2147483648; - } else { - $35 = $value; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (_i64Subtract(0,0,($37|0),($40|0))|0); - $42 = tempRet0; - $45 = $41;$48 = $42; - } - $43 = $value; - $44 = $43; - HEAP32[$44>>2] = $45; - $46 = (($43) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $48; + $35 = $value; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (_i64Subtract(0,0,($37|0),($40|0))|0); + $42 = tempRet0; + $43 = $34 ? 0 : $41; + $44 = $34 ? -2147483648 : $42; + $45 = $value; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; } $49 = HEAP32[$v>>2]|0; $50 = (_dup8bytes($49,$value)|0); @@ -107254,18 +107742,18 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$flags) { var $copyOp = 0, $i = 0, $inReg = 0, $n = 0, $pExpr = 0, $pItem = 0, $pOp = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 41|0; - $pItem = sp + 24|0; - $i = sp + 20|0; - $n = sp + 16|0; - $copyOp = sp + 40|0; - $pExpr = sp + 12|0; - $inReg = sp + 8|0; - $pOp = sp + 4|0; - $v = sp; + $0 = sp + 12|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 40|0; + $pItem = sp + 32|0; + $i = sp; + $n = sp + 36|0; + $copyOp = sp + 41|0; + $pExpr = sp + 20|0; + $inReg = sp + 28|0; + $pOp = sp + 24|0; + $v = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pList; HEAP32[$2>>2] = $target; @@ -107281,7 +107769,7 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$flags) { $11 = HEAP32[$10>>2]|0; HEAP32[$n>>2] = $11; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 23|0); + $13 = ((($12)) + 23|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)!=(0); if (!($15)) { @@ -107292,7 +107780,7 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$flags) { HEAP8[$3>>0] = $19; } $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 4|0); + $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; HEAP32[$pItem>>2] = $22; HEAP32[$i>>2] = 0; @@ -107344,7 +107832,7 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$flags) { $50 = ($46|0)!=($49|0); if ($50) { $51 = HEAP32[$0>>2]|0; - $52 = (($51) + 8|0); + $52 = ((($51)) + 8|0); $53 = HEAP32[$52>>2]|0; HEAP32[$v>>2] = $53; $54 = HEAP8[$copyOp>>0]|0; @@ -107359,10 +107847,10 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$flags) { $61 = ($60|0)==(33); if ($61) { $62 = HEAP32[$pOp>>2]|0; - $63 = (($62) + 4|0); + $63 = ((($62)) + 4|0); $64 = HEAP32[$63>>2]|0; $65 = HEAP32[$pOp>>2]|0; - $66 = (($65) + 12|0); + $66 = ((($65)) + 12|0); $67 = HEAP32[$66>>2]|0; $68 = (($64) + ($67))|0; $69 = (($68) + 1)|0; @@ -107370,10 +107858,10 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$flags) { $71 = ($69|0)==($70|0); if ($71) { $72 = HEAP32[$pOp>>2]|0; - $73 = (($72) + 8|0); + $73 = ((($72)) + 8|0); $74 = HEAP32[$73>>2]|0; $75 = HEAP32[$pOp>>2]|0; - $76 = (($75) + 12|0); + $76 = ((($75)) + 12|0); $77 = HEAP32[$76>>2]|0; $78 = (($74) + ($77))|0; $79 = (($78) + 1)|0; @@ -107383,7 +107871,7 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$flags) { $83 = ($79|0)==($82|0); if ($83) { $84 = HEAP32[$pOp>>2]|0; - $85 = (($84) + 12|0); + $85 = ((($84)) + 12|0); $86 = HEAP32[$85>>2]|0; $87 = (($86) + 1)|0; HEAP32[$85>>2] = $87; @@ -107407,7 +107895,7 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$flags) { $96 = (($95) + 1)|0; HEAP32[$i>>2] = $96; $97 = HEAP32[$pItem>>2]|0; - $98 = (($97) + 20|0); + $98 = ((($97)) + 20|0); HEAP32[$pItem>>2] = $98; } $99 = HEAP32[$n>>2]|0; @@ -107427,21 +107915,21 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { var $z = 0, $zLowerName = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $pTab = sp + 36|0; - $pVtab = sp + 32|0; - $pMod = sp + 28|0; - $xFunc = sp + 24|0; - $pArg = sp + 20|0; - $pNew = sp + 16|0; - $rc = sp + 12|0; - $zLowerName = sp + 8|0; - $z = sp + 4|0; - $5 = sp; + $0 = sp + 52|0; + $1 = sp + 44|0; + $2 = sp + 20|0; + $3 = sp + 12|0; + $4 = sp + 4|0; + $pTab = sp + 40|0; + $pVtab = sp + 48|0; + $pMod = sp + 56|0; + $xFunc = sp + 16|0; + $pArg = sp + 24|0; + $pNew = sp; + $rc = sp + 32|0; + $zLowerName = sp + 28|0; + $z = sp + 8|0; + $5 = sp + 36|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pDef; HEAP32[$3>>2] = $nArg; @@ -107468,7 +107956,7 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { STACKTOP = sp;return ($112|0); } $14 = HEAP32[$4>>2]|0; - $15 = (($14) + 44|0); + $15 = ((($14)) + 44|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pTab>>2] = $16; $17 = HEAP32[$pTab>>2]|0; @@ -107480,7 +107968,7 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { STACKTOP = sp;return ($112|0); } $20 = HEAP32[$pTab>>2]|0; - $21 = (($20) + 44|0); + $21 = ((($20)) + 44|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $23 & 16; @@ -107494,14 +107982,14 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$pTab>>2]|0; $29 = (_sqlite3GetVTable($27,$28)|0); - $30 = (($29) + 8|0); + $30 = ((($29)) + 8|0); $31 = HEAP32[$30>>2]|0; HEAP32[$pVtab>>2] = $31; $32 = HEAP32[$pVtab>>2]|0; $33 = HEAP32[$32>>2]|0; HEAP32[$pMod>>2] = $33; $34 = HEAP32[$pMod>>2]|0; - $35 = (($34) + 72|0); + $35 = ((($34)) + 72|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)==(0|0); if ($37) { @@ -107512,7 +108000,7 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { } $39 = HEAP32[$1>>2]|0; $40 = HEAP32[$2>>2]|0; - $41 = (($40) + 24|0); + $41 = ((($40)) + 24|0); $42 = HEAP32[$41>>2]|0; $43 = (_sqlite3DbStrDup($39,$42)|0); HEAP32[$zLowerName>>2] = $43; @@ -107531,16 +108019,16 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { $50 = HEAP32[$z>>2]|0; $51 = HEAP8[$50>>0]|0; $52 = $51&255; - $53 = (440 + ($52)|0); + $53 = (13848 + ($52)|0); $54 = HEAP8[$53>>0]|0; $55 = HEAP32[$z>>2]|0; HEAP8[$55>>0] = $54; $56 = HEAP32[$z>>2]|0; - $57 = (($56) + 1|0); + $57 = ((($56)) + 1|0); HEAP32[$z>>2] = $57; } $58 = HEAP32[$pMod>>2]|0; - $59 = (($58) + 72|0); + $59 = ((($58)) + 72|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$pVtab>>2]|0; $62 = HEAP32[$3>>2]|0; @@ -107563,7 +108051,7 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { } $71 = HEAP32[$1>>2]|0; $72 = HEAP32[$2>>2]|0; - $73 = (($72) + 24|0); + $73 = ((($72)) + 24|0); $74 = HEAP32[$73>>2]|0; $75 = (_sqlite3Strlen30($74)|0); $76 = (36 + ($75))|0; @@ -107580,34 +108068,34 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { } else { $82 = HEAP32[$pNew>>2]|0; $83 = HEAP32[$2>>2]|0; - dest=$82+0|0; src=$83+0|0; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$82; src=$83; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $84 = HEAP32[$pNew>>2]|0; - $85 = (($84) + 36|0); + $85 = ((($84)) + 36|0); $86 = HEAP32[$pNew>>2]|0; - $87 = (($86) + 24|0); + $87 = ((($86)) + 24|0); HEAP32[$87>>2] = $85; $88 = HEAP32[$pNew>>2]|0; - $89 = (($88) + 24|0); + $89 = ((($88)) + 24|0); $90 = HEAP32[$89>>2]|0; $91 = HEAP32[$2>>2]|0; - $92 = (($91) + 24|0); + $92 = ((($91)) + 24|0); $93 = HEAP32[$92>>2]|0; $94 = HEAP32[$2>>2]|0; - $95 = (($94) + 24|0); + $95 = ((($94)) + 24|0); $96 = HEAP32[$95>>2]|0; $97 = (_sqlite3Strlen30($96)|0); $98 = (($97) + 1)|0; _memcpy(($90|0),($93|0),($98|0))|0; $99 = HEAP32[$xFunc>>2]|0; $100 = HEAP32[$pNew>>2]|0; - $101 = (($100) + 12|0); + $101 = ((($100)) + 12|0); HEAP32[$101>>2] = $99; $102 = HEAP32[$pArg>>2]|0; $103 = HEAP32[$pNew>>2]|0; - $104 = (($103) + 4|0); + $104 = ((($103)) + 4|0); HEAP32[$104>>2] = $102; $105 = HEAP32[$pNew>>2]|0; - $106 = (($105) + 2|0); + $106 = ((($105)) + 2|0); $107 = HEAP16[$106>>1]|0; $108 = $107&65535; $109 = $108 | 16; @@ -107618,7 +108106,7 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { $112 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($112|0); } - return 0|0; + return (0)|0; } function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $pParse = $pParse|0; @@ -107642,32 +108130,32 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $vararg_buffer = sp; - $0 = sp + 140|0; - $1 = sp + 136|0; - $2 = sp + 132|0; - $3 = sp + 128|0; - $4 = sp + 124|0; - $jmpIfDynamic = sp + 120|0; - $rReg = sp + 116|0; - $v = sp + 112|0; - $zMsg = sp + 108|0; + $0 = sp + 108|0; + $1 = sp + 36|0; + $2 = sp + 40|0; + $3 = sp + 12|0; + $4 = sp + 16|0; + $jmpIfDynamic = sp + 20|0; + $rReg = sp + 80|0; + $v = sp + 32|0; + $zMsg = sp + 96|0; $affinity = sp + 144|0; - $addr = sp + 104|0; - $pLeft = sp + 100|0; - $pKeyInfo = sp + 96|0; - $pSelect = sp + 92|0; - $dest = sp + 72|0; - $pEList = sp + 68|0; - $i = sp + 64|0; - $pList = sp + 60|0; - $pItem = sp + 56|0; - $r1 = sp + 52|0; - $r2 = sp + 48|0; - $r3 = sp + 44|0; - $pE2 = sp + 40|0; - $iValToIns = sp + 36|0; - $pSel = sp + 32|0; - $dest1 = sp + 12|0; + $addr = sp + 112|0; + $pLeft = sp + 120|0; + $pKeyInfo = sp + 44|0; + $pSelect = sp + 48|0; + $dest = sp + 60|0; + $pEList = sp + 52|0; + $i = sp + 56|0; + $pList = sp + 84|0; + $pItem = sp + 100|0; + $r1 = sp + 104|0; + $r2 = sp + 28|0; + $r3 = sp + 24|0; + $pE2 = sp + 92|0; + $iValToIns = sp + 88|0; + $pSel = sp + 116|0; + $dest1 = sp + 124|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pExpr; HEAP32[$3>>2] = $rHasNullFlag; @@ -107687,7 +108175,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $9 = HEAP32[$1>>2]|0; _sqlite3ExprCachePush($9); $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = $12 & 32; $14 = ($13|0)!=(0); @@ -107697,7 +108185,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { HEAP32[$jmpIfDynamic>>2] = $16; } $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 450|0); + $18 = ((($17)) + 450|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20|0)==(2); @@ -107706,25 +108194,25 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$jmpIfDynamic>>2]|0; $25 = ($24|0)>=(0); - $26 = $25 ? 1216 : 19280; + $26 = $25 ? 14425 : 23127; $27 = HEAP32[$2>>2]|0; $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = ($29|0)==(75); - $31 = $30 ? 19296 : 19304; + $31 = $30 ? 23139 : 23144; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 468|0); + $33 = ((($32)) + 468|0); $34 = HEAP32[$33>>2]|0; HEAP32[$vararg_buffer>>2] = $26; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $31; - $vararg_ptr2 = (($vararg_buffer) + 8|0); + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $34; - $35 = (_sqlite3MPrintf($23,19248,$vararg_buffer)|0); + $35 = (_sqlite3MPrintf($23,23151,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $35; $36 = HEAP32[$v>>2]|0; $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 464|0); + $38 = ((($37)) + 464|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$zMsg>>2]|0; (_sqlite3VdbeAddOp4($36,155,$39,0,0,$40,-1)|0); @@ -107736,7 +108224,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $44 = HEAP32[$2>>2]|0; do { if ($cond) { - $45 = (($44) + 12|0); + $45 = ((($44)) + 12|0); $46 = HEAP32[$45>>2]|0; HEAP32[$pLeft>>2] = $46; HEAP32[$pKeyInfo>>2] = 0; @@ -107744,16 +108232,16 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $48 = (_sqlite3ExprAffinity($47)|0); HEAP8[$affinity>>0] = $48; $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 68|0); + $50 = ((($49)) + 68|0); $51 = HEAP32[$50>>2]|0; $52 = (($51) + 1)|0; HEAP32[$50>>2] = $52; $53 = HEAP32[$2>>2]|0; - $54 = (($53) + 28|0); + $54 = ((($53)) + 28|0); HEAP32[$54>>2] = $51; $55 = HEAP32[$v>>2]|0; $56 = HEAP32[$2>>2]|0; - $57 = (($56) + 28|0); + $57 = ((($56)) + 28|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$4>>2]|0; $60 = ($59|0)!=(0); @@ -107773,25 +108261,25 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { } HEAP32[$pKeyInfo>>2] = $69; $70 = HEAP32[$2>>2]|0; - $71 = (($70) + 4|0); + $71 = ((($70)) + 4|0); $72 = HEAP32[$71>>2]|0; $73 = $72 & 2048; $74 = ($73|0)!=(0); $75 = HEAP32[$2>>2]|0; - $76 = (($75) + 20|0); + $76 = ((($75)) + 20|0); do { if ($74) { $77 = HEAP32[$76>>2]|0; HEAP32[$pSelect>>2] = $77; $78 = HEAP32[$2>>2]|0; - $79 = (($78) + 28|0); + $79 = ((($78)) + 28|0); $80 = HEAP32[$79>>2]|0; _sqlite3SelectDestInit($dest,11,$80); $81 = HEAP8[$affinity>>0]|0; - $82 = (($dest) + 1|0); + $82 = ((($dest)) + 1|0); HEAP8[$82>>0] = $81; $83 = HEAP32[$pSelect>>2]|0; - $84 = (($83) + 8|0); + $84 = ((($83)) + 8|0); HEAP32[$84>>2] = 0; $85 = HEAP32[$1>>2]|0; $86 = HEAP32[$pSelect>>2]|0; @@ -107803,15 +108291,15 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { HEAP32[$pEList>>2] = $91; $92 = HEAP32[$1>>2]|0; $93 = HEAP32[$2>>2]|0; - $94 = (($93) + 12|0); + $94 = ((($93)) + 12|0); $95 = HEAP32[$94>>2]|0; $96 = HEAP32[$pEList>>2]|0; - $97 = (($96) + 4|0); + $97 = ((($96)) + 4|0); $98 = HEAP32[$97>>2]|0; $99 = HEAP32[$98>>2]|0; $100 = (_sqlite3BinaryCompareCollSeq($92,$95,$99)|0); $101 = HEAP32[$pKeyInfo>>2]|0; - $102 = (($101) + 20|0); + $102 = ((($101)) + 20|0); HEAP32[$102>>2] = $100; break; } @@ -107825,7 +108313,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $104 = ($103|0)!=(0|0); if ($104) { $105 = HEAP32[$2>>2]|0; - $106 = (($105) + 20|0); + $106 = ((($105)) + 20|0); $107 = HEAP32[$106>>2]|0; HEAP32[$pList>>2] = $107; $108 = HEAP8[$affinity>>0]|0; @@ -107838,11 +108326,11 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { if ($111) { $112 = HEAP32[$1>>2]|0; $113 = HEAP32[$2>>2]|0; - $114 = (($113) + 12|0); + $114 = ((($113)) + 12|0); $115 = HEAP32[$114>>2]|0; $116 = (_sqlite3ExprCollSeq($112,$115)|0); $117 = HEAP32[$pKeyInfo>>2]|0; - $118 = (($117) + 20|0); + $118 = ((($117)) + 20|0); HEAP32[$118>>2] = $116; } $119 = HEAP32[$1>>2]|0; @@ -107862,7 +108350,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $128 = HEAP32[$127>>2]|0; HEAP32[$i>>2] = $128; $129 = HEAP32[$pList>>2]|0; - $130 = (($129) + 4|0); + $130 = ((($129)) + 4|0); $131 = HEAP32[$130>>2]|0; HEAP32[$pItem>>2] = $131; while(1) { @@ -107896,7 +108384,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { if ($147) { $148 = HEAP32[$v>>2]|0; $149 = HEAP32[$2>>2]|0; - $150 = (($149) + 28|0); + $150 = ((($149)) + 28|0); $151 = HEAP32[$150>>2]|0; $152 = HEAP32[$r2>>2]|0; $153 = HEAP32[$iValToIns>>2]|0; @@ -107926,7 +108414,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { (_sqlite3VdbeAddOp2($160,38,$161,$164)|0); $165 = HEAP32[$v>>2]|0; $166 = HEAP32[$2>>2]|0; - $167 = (($166) + 28|0); + $167 = ((($166)) + 28|0); $168 = HEAP32[$167>>2]|0; $169 = HEAP32[$r2>>2]|0; $170 = HEAP32[$r3>>2]|0; @@ -107940,7 +108428,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { _sqlite3ExprCacheAffinityChange($172,$173,1); $174 = HEAP32[$v>>2]|0; $175 = HEAP32[$2>>2]|0; - $176 = (($175) + 28|0); + $176 = ((($175)) + 28|0); $177 = HEAP32[$176>>2]|0; $178 = HEAP32[$r2>>2]|0; (_sqlite3VdbeAddOp2($174,110,$177,$178)|0); @@ -107952,7 +108440,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $180 = (($179) + -1)|0; HEAP32[$i>>2] = $180; $181 = HEAP32[$pItem>>2]|0; - $182 = (($181) + 20|0); + $182 = ((($181)) + 20|0); HEAP32[$pItem>>2] = $182; } $183 = HEAP32[$1>>2]|0; @@ -107973,11 +108461,11 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { _sqlite3VdbeChangeP4($189,$190,$191,-6); } } else { - $192 = (($44) + 20|0); + $192 = ((($44)) + 20|0); $193 = HEAP32[$192>>2]|0; HEAP32[$pSel>>2] = $193; $194 = HEAP32[$1>>2]|0; - $195 = (($194) + 72|0); + $195 = ((($194)) + 72|0); $196 = HEAP32[$195>>2]|0; $197 = (($196) + 1)|0; HEAP32[$195>>2] = $197; @@ -107988,41 +108476,41 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $201 = ($200|0)==(119); if ($201) { HEAP8[$dest1>>0] = 10; - $202 = (($dest1) + 4|0); + $202 = ((($dest1)) + 4|0); $203 = HEAP32[$202>>2]|0; - $204 = (($dest1) + 8|0); + $204 = ((($dest1)) + 8|0); HEAP32[$204>>2] = $203; $205 = HEAP32[$v>>2]|0; - $206 = (($dest1) + 4|0); + $206 = ((($dest1)) + 4|0); $207 = HEAP32[$206>>2]|0; (_sqlite3VdbeAddOp2($205,28,0,$207)|0); } else { HEAP8[$dest1>>0] = 3; $208 = HEAP32[$v>>2]|0; - $209 = (($dest1) + 4|0); + $209 = ((($dest1)) + 4|0); $210 = HEAP32[$209>>2]|0; (_sqlite3VdbeAddOp2($208,25,0,$210)|0); } $211 = HEAP32[$1>>2]|0; $212 = HEAP32[$211>>2]|0; $213 = HEAP32[$pSel>>2]|0; - $214 = (($213) + 60|0); + $214 = ((($213)) + 60|0); $215 = HEAP32[$214>>2]|0; _sqlite3ExprDelete($212,$215); $216 = HEAP32[$1>>2]|0; - $217 = (_sqlite3PExpr($216,132,0,0,((10152 + 8|0)))|0); + $217 = (_sqlite3PExpr($216,132,0,0,(2284))|0); $218 = HEAP32[$pSel>>2]|0; - $219 = (($218) + 60|0); + $219 = ((($218)) + 60|0); HEAP32[$219>>2] = $217; $220 = HEAP32[$pSel>>2]|0; - $221 = (($220) + 8|0); + $221 = ((($220)) + 8|0); HEAP32[$221>>2] = 0; $222 = HEAP32[$1>>2]|0; $223 = HEAP32[$pSel>>2]|0; $224 = (_sqlite3Select($222,$223,$dest1)|0); $225 = ($224|0)!=(0); if (!($225)) { - $226 = (($dest1) + 4|0); + $226 = ((($dest1)) + 4|0); $227 = HEAP32[$226>>2]|0; HEAP32[$rReg>>2] = $227; break; @@ -108037,7 +108525,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { if ($229) { $230 = HEAP32[$v>>2]|0; $231 = HEAP32[$2>>2]|0; - $232 = (($231) + 28|0); + $232 = ((($231)) + 28|0); $233 = HEAP32[$232>>2]|0; $234 = HEAP32[$3>>2]|0; _sqlite3SetHasNullFlag($230,$233,$234); @@ -108069,16 +108557,16 @@ function _exprToRegister($p,$iReg) { $2 = HEAP32[$0>>2]|0; $3 = HEAP8[$2>>0]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 38|0); + $5 = ((($4)) + 38|0); HEAP8[$5>>0] = $3; $6 = HEAP32[$0>>2]|0; HEAP8[$6>>0] = -97; $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 28|0); + $9 = ((($8)) + 28|0); HEAP32[$9>>2] = $7; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = $12 & -4097; HEAP32[$11>>2] = $13; @@ -108097,7 +108585,7 @@ function _sqlite3CodeOnce($pParse) { HEAP32[$v>>2] = $2; $3 = HEAP32[$v>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 80|0); + $5 = ((($4)) + 80|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + 1)|0; HEAP32[$5>>2] = $7; @@ -108123,16 +108611,16 @@ function _sqlite3SelectDestInit($pDest,$eDest,$iParm) { HEAP8[$5>>0] = $4; $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 1|0); + $10 = ((($9)) + 1|0); HEAP8[$10>>0] = 0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); HEAP32[$12>>2] = 0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); HEAP32[$14>>2] = 0; STACKTOP = sp;return; } @@ -108152,7 +108640,7 @@ function _sqlite3BinaryCompareCollSeq($pParse,$pLeft,$pRight) { HEAP32[$1>>2] = $pLeft; HEAP32[$2>>2] = $pRight; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = $5 & 256; $7 = ($6|0)!=(0); @@ -108168,7 +108656,7 @@ function _sqlite3BinaryCompareCollSeq($pParse,$pLeft,$pRight) { $12 = ($11|0)!=(0|0); if ($12) { $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = $15 & 256; $17 = ($16|0)!=(0); @@ -108251,7 +108739,7 @@ function _sqlite3ExprCodeAtInit($pParse,$pExpr,$regDest,$reusable) { HEAP32[$2>>2] = $regDest; HEAP8[$3>>0] = $reusable; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 316|0); + $5 = ((($4)) + 316|0); $6 = HEAP32[$5>>2]|0; HEAP32[$p>>2] = $6; $7 = HEAP32[$0>>2]|0; @@ -108269,7 +108757,7 @@ function _sqlite3ExprCodeAtInit($pParse,$pExpr,$regDest,$reusable) { if (!($16)) { $37 = HEAP32[$p>>2]|0; $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 316|0); + $39 = ((($38)) + 316|0); HEAP32[$39>>2] = $37; STACKTOP = sp;return; } @@ -108277,18 +108765,18 @@ function _sqlite3ExprCodeAtInit($pParse,$pExpr,$regDest,$reusable) { $18 = HEAP32[$17>>2]|0; $19 = (($18) - 1)|0; $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 4|0); + $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + (($19*20)|0)|0); HEAP32[$pItem>>2] = $23; $24 = HEAP32[$2>>2]|0; $25 = HEAP32[$pItem>>2]|0; - $26 = (($25) + 16|0); + $26 = ((($25)) + 16|0); HEAP32[$26>>2] = $24; $27 = HEAP8[$3>>0]|0; $28 = $27&255; $29 = HEAP32[$pItem>>2]|0; - $30 = (($29) + 13|0); + $30 = ((($29)) + 13|0); $31 = $28&255; $32 = HEAP8[$30>>0]|0; $33 = $31 & 1; @@ -108298,7 +108786,7 @@ function _sqlite3ExprCodeAtInit($pParse,$pExpr,$regDest,$reusable) { HEAP8[$30>>0] = $36; $37 = HEAP32[$p>>2]|0; $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 316|0); + $39 = ((($38)) + 316|0); HEAP32[$39>>2] = $37; STACKTOP = sp;return; } @@ -108318,31 +108806,31 @@ function _sqlite3VdbeGetOp($p,$addr) { $4 = ($3|0)<(0); if ($4) { $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 32|0); + $6 = ((($5)) + 32|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) - 1)|0; HEAP32[$2>>2] = $8; } $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 64|0); + $11 = ((($10)) + 64|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)!=(0); if ($13) { - HEAP32[$0>>2] = 19312; + HEAP32[$0>>2] = 2424; $19 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($19|0); } else { $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + (($14*20)|0)|0); HEAP32[$0>>2] = $18; $19 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($19|0); } - return 0|0; + return (0)|0; } function _exprIsConst($p,$initFlag) { $p = $p|0; @@ -108355,16 +108843,16 @@ function _exprIsConst($p,$initFlag) { $w = sp; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $initFlag; - ;HEAP32[$w+0>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; $2 = HEAP32[$1>>2]|0; - $3 = (($w) + 20|0); + $3 = ((($w)) + 20|0); HEAP32[$3>>2] = $2; - HEAP32[$w>>2] = 44; - $4 = (($w) + 4|0); - HEAP32[$4>>2] = 45; + HEAP32[$w>>2] = 48; + $4 = ((($w)) + 4|0); + HEAP32[$4>>2] = 49; $5 = HEAP32[$0>>2]|0; (_sqlite3WalkExpr($w,$5)|0); - $6 = (($w) + 20|0); + $6 = ((($w)) + 20|0); $7 = HEAP32[$6>>2]|0; STACKTOP = sp;return ($7|0); } @@ -108382,18 +108870,18 @@ function _exprNodeIsConstant($pWalker,$pExpr) { HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $pExpr; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 20|0); + $4 = ((($3)) + 20|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(2); if ($6) { $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = $9 & 1; $11 = ($10|0)!=(0); if ($11) { $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 20|0); + $13 = ((($12)) + 20|0); HEAP32[$13>>2] = 0; HEAP32[$0>>2] = 2; $39 = HEAP32[$0>>2]|0; @@ -108405,9 +108893,34 @@ function _exprNodeIsConstant($pWalker,$pExpr) { $16 = $15&255; L6: do { switch ($16|0) { + case 153: { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)>=(3); + if (!($20)) { + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = $23 & 524288; + $25 = ($24|0)!=(0); + if (!($25)) { + label = 8; + break L6; + } + } + HEAP32[$0>>2] = 0; + $39 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($39|0); + break; + } + case 156: case 155: case 154: case 27: { + label = 8; + break; + } case 135: { $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 20|0); + $29 = ((($28)) + 20|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(4); if ($31) { @@ -108417,12 +108930,12 @@ function _exprNodeIsConstant($pWalker,$pExpr) { break L6; } $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 20|0); + $34 = ((($33)) + 20|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)==(3); if ($36) { $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 20|0); + $38 = ((($37)) + 20|0); HEAP32[$38>>2] = 0; HEAP32[$0>>2] = 2; $39 = HEAP32[$0>>2]|0; @@ -108432,31 +108945,6 @@ function _exprNodeIsConstant($pWalker,$pExpr) { } break; } - case 153: { - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>=(3); - if (!($20)) { - $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = $23 & 524288; - $25 = ($24|0)!=(0); - if (!($25)) { - label = 8; - break L6; - } - } - HEAP32[$0>>2] = 0; - $39 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($39|0); - break; - } - case 156: case 155: case 154: case 27: { - label = 8; - break; - } default: { label = 13; } @@ -108464,7 +108952,7 @@ function _exprNodeIsConstant($pWalker,$pExpr) { } while(0); if ((label|0) == 8) { $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 20|0); + $27 = ((($26)) + 20|0); HEAP32[$27>>2] = 0; HEAP32[$0>>2] = 2; $39 = HEAP32[$0>>2]|0; @@ -108475,7 +108963,7 @@ function _exprNodeIsConstant($pWalker,$pExpr) { $39 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($39|0); } - return 0|0; + return (0)|0; } function _selectNodeIsConstant($pWalker,$NotUsed) { $pWalker = $pWalker|0; @@ -108488,7 +108976,7 @@ function _selectNodeIsConstant($pWalker,$NotUsed) { HEAP32[$0>>2] = $pWalker; HEAP32[$1>>2] = $NotUsed; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 20|0); + $3 = ((($2)) + 20|0); HEAP32[$3>>2] = 0; STACKTOP = sp;return 2; } @@ -108515,7 +109003,7 @@ function _dup8bytes($v,$in) { } $7 = HEAP32[$out>>2]|0; $8 = HEAP32[$1>>2]|0; - ;HEAP8[$7+0>>0]=HEAP8[$8+0>>0]|0;HEAP8[$7+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$7+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$7+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$7+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$7+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$7+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$7+7>>0]=HEAP8[$8+7>>0]|0; + ;HEAP8[$7>>0]=HEAP8[$8>>0]|0;HEAP8[$7+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$7+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$7+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$7+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$7+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$7+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$7+7>>0]=HEAP8[$8+7>>0]|0; $9 = HEAP32[$out>>2]|0; STACKTOP = sp;return ($9|0); } @@ -108534,7 +109022,7 @@ function _sqlite3ExprCachePinRegister($pParse,$iReg) { HEAP32[$1>>2] = $iReg; HEAP32[$i>>2] = 0; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 116|0); + $3 = ((($2)) + 116|0); HEAP32[$p>>2] = $3; while(1) { $4 = HEAP32[$i>>2]|0; @@ -108543,20 +109031,20 @@ function _sqlite3ExprCachePinRegister($pParse,$iReg) { break; } $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$1>>2]|0; $10 = ($8|0)==($9|0); if ($10) { $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 6|0); + $12 = ((($11)) + 6|0); HEAP8[$12>>0] = 0; } $13 = HEAP32[$i>>2]|0; $14 = (($13) + 1)|0; HEAP32[$i>>2] = $14; $15 = HEAP32[$p>>2]|0; - $16 = (($15) + 20|0); + $16 = ((($15)) + 20|0); HEAP32[$p>>2] = $16; } STACKTOP = sp;return; @@ -108573,21 +109061,21 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $i = 0, $idxLru = 0, $minLru = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $i = sp + 12|0; - $minLru = sp + 8|0; - $idxLru = sp + 4|0; - $p = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $i = sp + 28|0; + $minLru = sp; + $idxLru = sp + 12|0; + $p = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iTab; HEAP32[$2>>2] = $iCol; HEAP32[$3>>2] = $iReg; $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 60|0); + $6 = ((($5)) + 60|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = $8 & 2; @@ -108597,7 +109085,7 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { } HEAP32[$i>>2] = 0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 116|0); + $12 = ((($11)) + 116|0); HEAP32[$p>>2] = $12; while(1) { $13 = HEAP32[$i>>2]|0; @@ -108606,7 +109094,7 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { break; } $15 = HEAP32[$p>>2]|0; - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(0); if ($18) { @@ -108617,15 +109105,15 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { $42 = (($41) + 1)|0; HEAP32[$i>>2] = $42; $43 = HEAP32[$p>>2]|0; - $44 = (($43) + 20|0); + $44 = ((($43)) + 20|0); HEAP32[$p>>2] = $44; } if ((label|0) == 5) { $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 100|0); + $20 = ((($19)) + 100|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 8|0); + $23 = ((($22)) + 8|0); HEAP32[$23>>2] = $21; $24 = HEAP32[$1>>2]|0; $25 = HEAP32[$p>>2]|0; @@ -108633,22 +109121,22 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { $26 = HEAP32[$2>>2]|0; $27 = $26&65535; $28 = HEAP32[$p>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); HEAP16[$29>>1] = $27; $30 = HEAP32[$3>>2]|0; $31 = HEAP32[$p>>2]|0; - $32 = (($31) + 12|0); + $32 = ((($31)) + 12|0); HEAP32[$32>>2] = $30; $33 = HEAP32[$p>>2]|0; - $34 = (($33) + 6|0); + $34 = ((($33)) + 6|0); HEAP8[$34>>0] = 0; $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 104|0); + $36 = ((($35)) + 104|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + 1)|0; HEAP32[$36>>2] = $38; $39 = HEAP32[$p>>2]|0; - $40 = (($39) + 16|0); + $40 = ((($39)) + 16|0); HEAP32[$40>>2] = $37; STACKTOP = sp;return; } @@ -108656,7 +109144,7 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { HEAP32[$idxLru>>2] = -1; HEAP32[$i>>2] = 0; $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 116|0); + $46 = ((($45)) + 116|0); HEAP32[$p>>2] = $46; while(1) { $47 = HEAP32[$i>>2]|0; @@ -108665,7 +109153,7 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { break; } $49 = HEAP32[$p>>2]|0; - $50 = (($49) + 16|0); + $50 = ((($49)) + 16|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$minLru>>2]|0; $53 = ($51|0)<($52|0); @@ -108673,7 +109161,7 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { $54 = HEAP32[$i>>2]|0; HEAP32[$idxLru>>2] = $54; $55 = HEAP32[$p>>2]|0; - $56 = (($55) + 16|0); + $56 = ((($55)) + 16|0); $57 = HEAP32[$56>>2]|0; HEAP32[$minLru>>2] = $57; } @@ -108681,7 +109169,7 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { $59 = (($58) + 1)|0; HEAP32[$i>>2] = $59; $60 = HEAP32[$p>>2]|0; - $61 = (($60) + 20|0); + $61 = ((($60)) + 20|0); HEAP32[$p>>2] = $61; } $62 = HEAP32[$idxLru>>2]|0; @@ -108691,14 +109179,14 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { } $64 = HEAP32[$idxLru>>2]|0; $65 = HEAP32[$0>>2]|0; - $66 = (($65) + 116|0); + $66 = ((($65)) + 116|0); $67 = (($66) + (($64*20)|0)|0); HEAP32[$p>>2] = $67; $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 100|0); + $69 = ((($68)) + 100|0); $70 = HEAP32[$69>>2]|0; $71 = HEAP32[$p>>2]|0; - $72 = (($71) + 8|0); + $72 = ((($71)) + 8|0); HEAP32[$72>>2] = $70; $73 = HEAP32[$1>>2]|0; $74 = HEAP32[$p>>2]|0; @@ -108706,22 +109194,22 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { $75 = HEAP32[$2>>2]|0; $76 = $75&65535; $77 = HEAP32[$p>>2]|0; - $78 = (($77) + 4|0); + $78 = ((($77)) + 4|0); HEAP16[$78>>1] = $76; $79 = HEAP32[$3>>2]|0; $80 = HEAP32[$p>>2]|0; - $81 = (($80) + 12|0); + $81 = ((($80)) + 12|0); HEAP32[$81>>2] = $79; $82 = HEAP32[$p>>2]|0; - $83 = (($82) + 6|0); + $83 = ((($82)) + 6|0); HEAP8[$83>>0] = 0; $84 = HEAP32[$0>>2]|0; - $85 = (($84) + 104|0); + $85 = ((($84)) + 104|0); $86 = HEAP32[$85>>2]|0; $87 = (($86) + 1)|0; HEAP32[$85>>2] = $87; $88 = HEAP32[$p>>2]|0; - $89 = (($88) + 16|0); + $89 = ((($88)) + 16|0); HEAP32[$89>>2] = $86; STACKTOP = sp;return; } @@ -108787,7 +109275,7 @@ function _sqlite3CompareAffinity($pExpr,$aff2) { $27 = HEAP8[$0>>0]|0; STACKTOP = sp;return ($27|0); } - return 0|0; + return (0)|0; } function _isCandidateForInOpt($p) { $p = $p|0; @@ -108810,7 +109298,7 @@ function _isCandidateForInOpt($p) { HEAP32[$0>>2] = 0; } else { $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 52|0); + $5 = ((($4)) + 52|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0|0); if ($7) { @@ -108818,7 +109306,7 @@ function _isCandidateForInOpt($p) { break; } $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 6|0); + $9 = ((($8)) + 6|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = $11 & 5; @@ -108828,7 +109316,7 @@ function _isCandidateForInOpt($p) { break; } $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 60|0); + $15 = ((($14)) + 60|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)!=(0|0); if ($17) { @@ -108836,7 +109324,7 @@ function _isCandidateForInOpt($p) { break; } $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 36|0); + $19 = ((($18)) + 36|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)!=(0|0); if ($21) { @@ -108844,7 +109332,7 @@ function _isCandidateForInOpt($p) { break; } $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 32|0); + $23 = ((($22)) + 32|0); $24 = HEAP32[$23>>2]|0; HEAP32[$pSrc>>2] = $24; $25 = HEAP32[$pSrc>>2]|0; @@ -108855,8 +109343,8 @@ function _isCandidateForInOpt($p) { break; } $28 = HEAP32[$pSrc>>2]|0; - $29 = (($28) + 8|0); - $30 = (($29) + 20|0); + $29 = ((($28)) + 8|0); + $30 = ((($29)) + 20|0); $31 = HEAP32[$30>>2]|0; $32 = ($31|0)!=(0|0); if ($32) { @@ -108864,8 +109352,8 @@ function _isCandidateForInOpt($p) { break; } $33 = HEAP32[$pSrc>>2]|0; - $34 = (($33) + 8|0); - $35 = (($34) + 16|0); + $34 = ((($33)) + 8|0); + $35 = ((($34)) + 16|0); $36 = HEAP32[$35>>2]|0; HEAP32[$pTab>>2] = $36; $37 = HEAP32[$pTab>>2]|0; @@ -108875,7 +109363,7 @@ function _isCandidateForInOpt($p) { break; } $39 = HEAP32[$pTab>>2]|0; - $40 = (($39) + 44|0); + $40 = ((($39)) + 44|0); $41 = HEAP8[$40>>0]|0; $42 = $41&255; $43 = $42 & 16; @@ -108895,7 +109383,7 @@ function _isCandidateForInOpt($p) { break; } $50 = HEAP32[$pEList>>2]|0; - $51 = (($50) + 4|0); + $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; $53 = HEAP32[$52>>2]|0; $54 = HEAP8[$53>>0]|0; @@ -108930,21 +109418,27 @@ function _sqlite3IndexAffinityOk($pExpr,$idx_affinity) { HEAP8[$aff>>0] = $4; $5 = HEAP8[$aff>>0]|0; $6 = $5 << 24 >> 24; - if ((($6|0) == 66)) { + switch ($6|0) { + case 65: { + HEAP32[$0>>2] = 1; + break; + } + case 66: { $7 = HEAP8[$2>>0]|0; $8 = $7 << 24 >> 24; $9 = ($8|0)==(66); $10 = $9&1; HEAP32[$0>>2] = $10; - } else if ((($6|0) == 65)) { - HEAP32[$0>>2] = 1; - } else { + break; + } + default: { $11 = HEAP8[$2>>0]|0; $12 = $11 << 24 >> 24; $13 = ($12|0)>=(67); $14 = $13&1; HEAP32[$0>>2] = $14; } + } $15 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($15|0); } @@ -108958,18 +109452,18 @@ function _sqlite3InRhsIsConstant($pIn) { $res = sp; HEAP32[$0>>2] = $pIn; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); + $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; HEAP32[$pLHS>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 12|0); + $5 = ((($4)) + 12|0); HEAP32[$5>>2] = 0; $6 = HEAP32[$0>>2]|0; $7 = (_sqlite3ExprIsConstant($6)|0); HEAP32[$res>>2] = $7; $8 = HEAP32[$pLHS>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 12|0); + $10 = ((($9)) + 12|0); HEAP32[$10>>2] = $8; $11 = HEAP32[$res>>2]|0; STACKTOP = sp;return ($11|0); @@ -109033,7 +109527,7 @@ function _collationMatch($zColl,$pIndex) { while(1) { $3 = HEAP32[$i>>2]|0; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 52|0); + $5 = ((($4)) + 52|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = ($3|0)<($7|0); @@ -109043,14 +109537,14 @@ function _collationMatch($zColl,$pIndex) { } $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 32|0); + $11 = ((($10)) + 32|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + ($9<<2)|0); $14 = HEAP32[$13>>2]|0; HEAP32[$z>>2] = $14; $15 = HEAP32[$i>>2]|0; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + ($15<<1)|0); $20 = HEAP16[$19>>1]|0; @@ -109080,139 +109574,7 @@ function _collationMatch($zColl,$pIndex) { $29 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($29|0); } - return 0|0; -} -function _detachFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $pDb = 0, $vararg_buffer6 = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $vararg_buffer6 = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $zName = sp + 16|0; - $db = sp + 12|0; - $i = sp + 8|0; - $pDb = sp + 4|0; - $zErr = sp + 32|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zName>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3_context_db_handle($6)|0); - HEAP32[$db>>2] = $7; - HEAP32[$pDb>>2] = 0; - $8 = HEAP32[$zName>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$zName>>2] = 1216; - } - HEAP32[$i>>2] = 0; - while(1) { - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($10|0)<($13|0); - if (!($14)) { - break; - } - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$db>>2]|0; - $17 = (($16) + 16|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($15<<4)|0); - HEAP32[$pDb>>2] = $19; - $20 = HEAP32[$pDb>>2]|0; - $21 = (($20) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0|0); - if (!($23)) { - $24 = HEAP32[$pDb>>2]|0; - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$zName>>2]|0; - $27 = (_sqlite3_stricmp($25,$26)|0); - $28 = ($27|0)==(0); - if ($28) { - break; - } - } - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; - } - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$db>>2]|0; - $33 = (($32) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($31|0)>=($34|0); - do { - if ($35) { - $36 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer6>>2] = $36; - (_sqlite3_snprintf(128,$zErr,19424,$vararg_buffer6)|0); - } else { - $37 = HEAP32[$i>>2]|0; - $38 = ($37|0)<(2); - if ($38) { - $39 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer6>>2] = $39; - (_sqlite3_snprintf(128,$zErr,19448,$vararg_buffer6)|0); - break; - } - $40 = HEAP32[$db>>2]|0; - $41 = (($40) + 62|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)!=(0); - if (!($43)) { - (_sqlite3_snprintf(128,$zErr,19480,$vararg_buffer6)|0); - break; - } - $44 = HEAP32[$pDb>>2]|0; - $45 = (($44) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3BtreeIsInReadTrans($46)|0); - $48 = ($47|0)!=(0); - if (!($48)) { - $49 = HEAP32[$pDb>>2]|0; - $50 = (($49) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = (_sqlite3BtreeIsInBackup($51)|0); - $53 = ($52|0)!=(0); - if (!($53)) { - $55 = HEAP32[$pDb>>2]|0; - $56 = (($55) + 4|0); - $57 = HEAP32[$56>>2]|0; - (_sqlite3BtreeClose($57)|0); - $58 = HEAP32[$pDb>>2]|0; - $59 = (($58) + 4|0); - HEAP32[$59>>2] = 0; - $60 = HEAP32[$pDb>>2]|0; - $61 = (($60) + 12|0); - HEAP32[$61>>2] = 0; - $62 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($62); - STACKTOP = sp;return; - } - } - $54 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer6>>2] = $54; - (_sqlite3_snprintf(128,$zErr,19528,$vararg_buffer6)|0); - } - } while(0); - $63 = HEAP32[$0>>2]|0; - _sqlite3_result_error($63,$zErr,-1); - STACKTOP = sp;return; + return (0)|0; } function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { $pParse = $pParse|0; @@ -109229,19 +109591,19 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { var $db = 0, $rc = 0, $regArgs = 0, $sName = 0, $v = 0, $zAuthArg = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; + $0 = sp + 72|0; + $1 = sp + 64|0; + $2 = sp + 40|0; + $3 = sp + 36|0; $4 = sp + 60|0; - $5 = sp + 56|0; - $6 = sp + 52|0; - $rc = sp + 48|0; - $sName = sp + 16|0; - $v = sp + 12|0; - $db = sp + 8|0; - $regArgs = sp + 4|0; - $zAuthArg = sp; + $5 = sp + 68|0; + $6 = sp + 76|0; + $rc = sp + 44|0; + $sName = sp; + $v = sp + 52|0; + $db = sp + 32|0; + $regArgs = sp + 56|0; + $zAuthArg = sp + 48|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $type; HEAP32[$2>>2] = $pFunc; @@ -109252,7 +109614,7 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$7>>2]|0; HEAP32[$db>>2] = $8; - ;HEAP32[$sName+0>>2]=0|0;HEAP32[$sName+4>>2]=0|0;HEAP32[$sName+8>>2]=0|0;HEAP32[$sName+12>>2]=0|0;HEAP32[$sName+16>>2]=0|0;HEAP32[$sName+20>>2]=0|0;HEAP32[$sName+24>>2]=0|0;HEAP32[$sName+28>>2]=0|0; + ;HEAP32[$sName>>2]=0|0;HEAP32[$sName+4>>2]=0|0;HEAP32[$sName+8>>2]=0|0;HEAP32[$sName+12>>2]=0|0;HEAP32[$sName+16>>2]=0|0;HEAP32[$sName+20>>2]=0|0;HEAP32[$sName+24>>2]=0|0;HEAP32[$sName+28>>2]=0|0; $9 = HEAP32[$0>>2]|0; HEAP32[$sName>>2] = $9; $10 = HEAP32[$4>>2]|0; @@ -109286,7 +109648,7 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { $28 = ($27|0)==(97); if ($28) { $29 = HEAP32[$3>>2]|0; - $30 = (($29) + 8|0); + $30 = ((($29)) + 8|0); $31 = HEAP32[$30>>2]|0; HEAP32[$zAuthArg>>2] = $31; } else { @@ -109356,7 +109718,7 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { } while(0); if ((label|0) == 4) { $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 64|0); + $20 = ((($19)) + 64|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + 1)|0; HEAP32[$20>>2] = $22; @@ -109408,6 +109770,501 @@ function _resolveAttachExpr($pName,$pExpr) { $12 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($12|0); } +function _detachFunc($context,$NotUsed,$argv) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $i = 0, $pDb = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; + $vararg_buffer6 = sp + 8|0; + $vararg_buffer4 = sp; + $vararg_buffer1 = sp + 24|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 36|0; + $1 = sp + 28|0; + $2 = sp + 52|0; + $zName = sp + 40|0; + $db = sp + 44|0; + $i = sp + 48|0; + $pDb = sp + 32|0; + $zErr = sp + 56|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zName>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = (_sqlite3_context_db_handle($6)|0); + HEAP32[$db>>2] = $7; + HEAP32[$pDb>>2] = 0; + $8 = HEAP32[$zName>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + HEAP32[$zName>>2] = 14425; + } + HEAP32[$i>>2] = 0; + while(1) { + $10 = HEAP32[$i>>2]|0; + $11 = HEAP32[$db>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)<($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$i>>2]|0; + $16 = HEAP32[$db>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($15<<4)|0); + HEAP32[$pDb>>2] = $19; + $20 = HEAP32[$pDb>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$pDb>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$zName>>2]|0; + $27 = (_sqlite3_stricmp($25,$26)|0); + $28 = ($27|0)==(0); + if ($28) { + break; + } + } + $29 = HEAP32[$i>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$i>>2] = $30; + } + $31 = HEAP32[$i>>2]|0; + $32 = HEAP32[$db>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($31|0)>=($34|0); + do { + if ($35) { + $36 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer>>2] = $36; + (_sqlite3_snprintf(128,$zErr,23217,$vararg_buffer)|0); + } else { + $37 = HEAP32[$i>>2]|0; + $38 = ($37|0)<(2); + if ($38) { + $39 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer1>>2] = $39; + (_sqlite3_snprintf(128,$zErr,23238,$vararg_buffer1)|0); + break; + } + $40 = HEAP32[$db>>2]|0; + $41 = ((($40)) + 62|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)!=(0); + if (!($43)) { + (_sqlite3_snprintf(128,$zErr,23264,$vararg_buffer4)|0); + break; + } + $44 = HEAP32[$pDb>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3BtreeIsInReadTrans($46)|0); + $48 = ($47|0)!=(0); + if (!($48)) { + $49 = HEAP32[$pDb>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3BtreeIsInBackup($51)|0); + $53 = ($52|0)!=(0); + if (!($53)) { + $55 = HEAP32[$pDb>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + (_sqlite3BtreeClose($57)|0); + $58 = HEAP32[$pDb>>2]|0; + $59 = ((($58)) + 4|0); + HEAP32[$59>>2] = 0; + $60 = HEAP32[$pDb>>2]|0; + $61 = ((($60)) + 12|0); + HEAP32[$61>>2] = 0; + $62 = HEAP32[$db>>2]|0; + _sqlite3ResetAllSchemasOfConnection($62); + STACKTOP = sp;return; + } + } + $54 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer6>>2] = $54; + (_sqlite3_snprintf(128,$zErr,23306,$vararg_buffer6)|0); + } + } while(0); + $63 = HEAP32[$0>>2]|0; + _sqlite3_result_error($63,$zErr,-1); + STACKTOP = sp;return; +} +function _sqlite3BtreeClose($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $pBt = 0, $pCur = 0, $pTmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $pBt = sp + 8|0; + $pCur = sp + 4|0; + $pTmp = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pBt>>2] = $3; + $4 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($4); + $5 = HEAP32[$pBt>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$pCur>>2] = $7; + while(1) { + $8 = HEAP32[$pCur>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + break; + } + $10 = HEAP32[$pCur>>2]|0; + HEAP32[$pTmp>>2] = $10; + $11 = HEAP32[$pCur>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pCur>>2] = $13; + $14 = HEAP32[$pTmp>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$0>>2]|0; + $17 = ($15|0)==($16|0); + if (!($17)) { + continue; + } + $18 = HEAP32[$pTmp>>2]|0; + (_sqlite3BtreeCloseCursor($18)|0); + } + $19 = HEAP32[$0>>2]|0; + (_sqlite3BtreeRollback($19,0,0)|0); + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 9|0); + $22 = HEAP8[$21>>0]|0; + $23 = ($22<<24>>24)!=(0); + if ($23) { + $24 = HEAP32[$pBt>>2]|0; + $25 = (_removeFromSharingList($24)|0); + $26 = ($25|0)!=(0); + if ($26) { + label = 7; + } + } else { + label = 7; + } + if ((label|0) == 7) { + $27 = HEAP32[$pBt>>2]|0; + $28 = HEAP32[$27>>2]|0; + (_sqlite3PagerClose($28)|0); + $29 = HEAP32[$pBt>>2]|0; + $30 = ((($29)) + 52|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)!=(0|0); + if ($32) { + $33 = HEAP32[$pBt>>2]|0; + $34 = ((($33)) + 48|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0|0); + if ($36) { + $37 = HEAP32[$pBt>>2]|0; + $38 = ((($37)) + 52|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$pBt>>2]|0; + $41 = ((($40)) + 48|0); + $42 = HEAP32[$41>>2]|0; + FUNCTION_TABLE_vi[$39 & 31]($42); + } + } + $43 = HEAP32[$pBt>>2]|0; + $44 = ((($43)) + 48|0); + $45 = HEAP32[$44>>2]|0; + _sqlite3DbFree(0,$45); + $46 = HEAP32[$pBt>>2]|0; + _freeTempSpace($46); + $47 = HEAP32[$pBt>>2]|0; + _sqlite3_free($47); + } + $48 = HEAP32[$0>>2]|0; + $49 = ((($48)) + 24|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)!=(0|0); + if ($51) { + $52 = HEAP32[$0>>2]|0; + $53 = ((($52)) + 20|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$0>>2]|0; + $56 = ((($55)) + 24|0); + $57 = HEAP32[$56>>2]|0; + $58 = ((($57)) + 20|0); + HEAP32[$58>>2] = $54; + } + $59 = HEAP32[$0>>2]|0; + $60 = ((($59)) + 20|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)!=(0|0); + if (!($62)) { + $70 = HEAP32[$0>>2]|0; + _sqlite3_free($70); + STACKTOP = sp;return 0; + } + $63 = HEAP32[$0>>2]|0; + $64 = ((($63)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 20|0); + $68 = HEAP32[$67>>2]|0; + $69 = ((($68)) + 24|0); + HEAP32[$69>>2] = $65; + $70 = HEAP32[$0>>2]|0; + _sqlite3_free($70); + STACKTOP = sp;return 0; +} +function _sqlite3BtreeCloseCursor($pCur) { + $pCur = $pCur|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pBt = 0, $pBtree = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $pBtree = sp + 8|0; + $i = sp + 4|0; + $pBt = sp; + HEAP32[$0>>2] = $pCur; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$pBtree>>2] = $2; + $3 = HEAP32[$pBtree>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return 0; + } + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$pBt>>2] = $7; + $8 = HEAP32[$pBtree>>2]|0; + _sqlite3BtreeEnter($8); + $9 = HEAP32[$0>>2]|0; + _sqlite3BtreeClearCursor($9); + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0|0); + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + if ($13) { + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 8|0); + HEAP32[$20>>2] = $16; + } else { + $21 = HEAP32[$pBt>>2]|0; + $22 = ((($21)) + 8|0); + HEAP32[$22>>2] = $16; + } + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 12|0); + HEAP32[$33>>2] = $29; + } + HEAP32[$i>>2] = 0; + while(1) { + $34 = HEAP32[$i>>2]|0; + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 76|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37 << 16 >> 16; + $39 = ($34|0)<=($38|0); + if (!($39)) { + break; + } + $40 = HEAP32[$i>>2]|0; + $41 = HEAP32[$0>>2]|0; + $42 = ((($41)) + 120|0); + $43 = (($42) + ($40<<2)|0); + $44 = HEAP32[$43>>2]|0; + _releasePage($44); + $45 = HEAP32[$i>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$i>>2] = $46; + } + $47 = HEAP32[$pBt>>2]|0; + _unlockBtreeIfUnused($47); + $48 = HEAP32[$pBtree>>2]|0; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$0>>2]|0; + $51 = ((($50)) + 20|0); + $52 = HEAP32[$51>>2]|0; + _sqlite3DbFree($49,$52); + STACKTOP = sp;return 0; +} +function _removeFromSharingList($pBt) { + $pBt = $pBt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pList = 0, $removed = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pList = sp + 4|0; + $removed = sp; + HEAP32[$0>>2] = $pBt; + HEAP32[$removed>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 64|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + -1)|0; + HEAP32[$2>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 64|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<=(0); + if (!($8)) { + $32 = HEAP32[$removed>>2]|0; + STACKTOP = sp;return ($32|0); + } + $9 = HEAP32[2016>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ($9|0)==($10|0); + if ($11) { + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 68|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[2016>>2] = $14; + } else { + $15 = HEAP32[2016>>2]|0; + HEAP32[$pList>>2] = $15; + while(1) { + $16 = HEAP32[$pList>>2]|0; + $17 = ($16|0)!=(0|0); + if ($17) { + $18 = HEAP32[$pList>>2]|0; + $19 = ((($18)) + 68|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$0>>2]|0; + $22 = ($20|0)!=($21|0); + $33 = $22; + } else { + $33 = 0; + } + $23 = HEAP32[$pList>>2]|0; + if (!($33)) { + break; + } + $24 = ((($23)) + 68|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$pList>>2] = $25; + } + $26 = ($23|0)!=(0|0); + if ($26) { + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 68|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$pList>>2]|0; + $31 = ((($30)) + 68|0); + HEAP32[$31>>2] = $29; + } + } + HEAP32[$removed>>2] = 1; + $32 = HEAP32[$removed>>2]|0; + STACKTOP = sp;return ($32|0); +} +function _sqlite3BtreeClearCursor($pCur) { + $pCur = $pCur|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pCur; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 56|0); + $3 = HEAP32[$2>>2]|0; + _sqlite3_free($3); + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 56|0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 73|0); + HEAP8[$7>>0] = 0; + STACKTOP = sp;return; +} +function _releasePage($pPage) { + $pPage = $pPage|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPage; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + STACKTOP = sp;return; + } + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 68|0); + $5 = HEAP32[$4>>2]|0; + _sqlite3PagerUnrefNotNull($5); + STACKTOP = sp;return; +} +function _unlockBtreeIfUnused($pBt) { + $pBt = $pBt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPage1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pPage1 = sp; + HEAP32[$0>>2] = $pBt; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 20|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)==(0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)!=(0|0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$pPage1>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 12|0); + HEAP32[$14>>2] = 0; + $15 = HEAP32[$pPage1>>2]|0; + _releasePage($15); + STACKTOP = sp;return; +} function _attachFunc($context,$NotUsed,$argv) { $context = $context|0; $NotUsed = $NotUsed|0; @@ -109425,28 +110282,34 @@ function _attachFunc($context,$NotUsed,$argv) { var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $db = 0, $flags = 0, $i = 0, $iDb = 0, $or$cond = 0, $pPager = 0, $pVfs = 0, $rc = 0, $vararg_buffer13 = 0, $z = 0; - var $zErr = 0, $zErrDyn = 0, $zFile = 0, $zName = 0, $zPath = 0, label = 0, sp = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $db = 0, $flags = 0, $i = 0, $iDb = 0, $or$cond = 0, $pPager = 0, $pVfs = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer11 = 0; + var $vararg_buffer13 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $z = 0, $zErr = 0, $zErrDyn = 0, $zFile = 0, $zName = 0, $zPath = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer13 = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $i = sp + 56|0; - $rc = sp + 52|0; - $db = sp + 48|0; - $zName = sp + 44|0; - $zFile = sp + 40|0; - $zPath = sp + 36|0; - $zErr = sp + 32|0; - $flags = sp + 28|0; - $aNew = sp + 24|0; - $zErrDyn = sp + 20|0; - $pVfs = sp + 16|0; - $z = sp + 12|0; - $pPager = sp + 8|0; - $iDb = sp + 4|0; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer13 = sp + 16|0; + $vararg_buffer11 = sp + 40|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer7 = sp + 8|0; + $vararg_buffer4 = sp + 48|0; + $vararg_buffer2 = sp + 32|0; + $vararg_buffer = sp; + $0 = sp + 84|0; + $1 = sp + 76|0; + $2 = sp + 72|0; + $i = sp + 68|0; + $rc = sp + 60|0; + $db = sp + 56|0; + $zName = sp + 52|0; + $zFile = sp + 64|0; + $zPath = sp + 80|0; + $zErr = sp + 88|0; + $flags = sp + 92|0; + $aNew = sp + 96|0; + $zErrDyn = sp + 100|0; + $pVfs = sp + 104|0; + $z = sp + 108|0; + $pPager = sp + 112|0; + $iDb = sp + 116|0; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $NotUsed; HEAP32[$2>>2] = $argv; @@ -109462,26 +110325,26 @@ function _attachFunc($context,$NotUsed,$argv) { $7 = (_sqlite3_value_text($6)|0); HEAP32[$zFile>>2] = $7; $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = (_sqlite3_value_text($10)|0); HEAP32[$zName>>2] = $11; $12 = HEAP32[$zFile>>2]|0; $13 = ($12|0)==(0|0); if ($13) { - HEAP32[$zFile>>2] = 1216; + HEAP32[$zFile>>2] = 14425; } $14 = HEAP32[$zName>>2]|0; $15 = ($14|0)==(0|0); if ($15) { - HEAP32[$zName>>2] = 1216; + HEAP32[$zName>>2] = 14425; } $16 = HEAP32[$db>>2]|0; - $17 = (($16) + 20|0); + $17 = ((($16)) + 20|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$db>>2]|0; - $20 = (($19) + 88|0); - $21 = (($20) + 28|0); + $20 = ((($19)) + 88|0); + $21 = ((($20)) + 28|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + 2)|0; $24 = ($18|0)>=($23|0); @@ -109489,19 +110352,19 @@ function _attachFunc($context,$NotUsed,$argv) { do { if ($24) { $26 = HEAP32[$db>>2]|0; - $27 = (($26) + 88|0); - $28 = (($27) + 28|0); + $27 = ((($26)) + 88|0); + $28 = ((($27)) + 28|0); $29 = HEAP32[$28>>2]|0; - HEAP32[$vararg_buffer13>>2] = $29; - $30 = (_sqlite3MPrintf($25,19608,$vararg_buffer13)|0); + HEAP32[$vararg_buffer>>2] = $29; + $30 = (_sqlite3MPrintf($25,23342,$vararg_buffer)|0); HEAP32[$zErrDyn>>2] = $30; } else { - $31 = (($25) + 62|0); + $31 = ((($25)) + 62|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)!=(0); if (!($33)) { $34 = HEAP32[$db>>2]|0; - $35 = (_sqlite3MPrintf($34,19648,$vararg_buffer13)|0); + $35 = (_sqlite3MPrintf($34,23379,$vararg_buffer2)|0); HEAP32[$zErrDyn>>2] = $35; break; } @@ -109509,7 +110372,7 @@ function _attachFunc($context,$NotUsed,$argv) { while(1) { $36 = HEAP32[$i>>2]|0; $37 = HEAP32[$db>>2]|0; - $38 = (($37) + 20|0); + $38 = ((($37)) + 20|0); $39 = HEAP32[$38>>2]|0; $40 = ($36|0)<($39|0); if (!($40)) { @@ -109517,7 +110380,7 @@ function _attachFunc($context,$NotUsed,$argv) { } $41 = HEAP32[$i>>2]|0; $42 = HEAP32[$db>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); $44 = HEAP32[$43>>2]|0; $45 = (($44) + ($41<<4)|0); $46 = HEAP32[$45>>2]|0; @@ -109537,16 +110400,16 @@ function _attachFunc($context,$NotUsed,$argv) { if ((label|0) == 12) { $51 = HEAP32[$db>>2]|0; $52 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer13>>2] = $52; - $53 = (_sqlite3MPrintf($51,19696,$vararg_buffer13)|0); + HEAP32[$vararg_buffer4>>2] = $52; + $53 = (_sqlite3MPrintf($51,23421,$vararg_buffer4)|0); HEAP32[$zErrDyn>>2] = $53; break; } $56 = HEAP32[$db>>2]|0; - $57 = (($56) + 16|0); + $57 = ((($56)) + 16|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$db>>2]|0; - $60 = (($59) + 456|0); + $60 = ((($59)) + 456|0); $61 = ($58|0)==($60|0); $62 = HEAP32[$db>>2]|0; do { @@ -109560,17 +110423,17 @@ function _attachFunc($context,$NotUsed,$argv) { } else { $66 = HEAP32[$aNew>>2]|0; $67 = HEAP32[$db>>2]|0; - $68 = (($67) + 16|0); + $68 = ((($67)) + 16|0); $69 = HEAP32[$68>>2]|0; - ;HEAP32[$66+0>>2]=HEAP32[$69+0>>2]|0;HEAP32[$66+4>>2]=HEAP32[$69+4>>2]|0;HEAP32[$66+8>>2]=HEAP32[$69+8>>2]|0;HEAP32[$66+12>>2]=HEAP32[$69+12>>2]|0;HEAP32[$66+16>>2]=HEAP32[$69+16>>2]|0;HEAP32[$66+20>>2]=HEAP32[$69+20>>2]|0;HEAP32[$66+24>>2]=HEAP32[$69+24>>2]|0;HEAP32[$66+28>>2]=HEAP32[$69+28>>2]|0; + ;HEAP32[$66>>2]=HEAP32[$69>>2]|0;HEAP32[$66+4>>2]=HEAP32[$69+4>>2]|0;HEAP32[$66+8>>2]=HEAP32[$69+8>>2]|0;HEAP32[$66+12>>2]=HEAP32[$69+12>>2]|0;HEAP32[$66+16>>2]=HEAP32[$69+16>>2]|0;HEAP32[$66+20>>2]=HEAP32[$69+20>>2]|0;HEAP32[$66+24>>2]=HEAP32[$69+24>>2]|0;HEAP32[$66+28>>2]=HEAP32[$69+28>>2]|0; break; } } else { $70 = HEAP32[$db>>2]|0; - $71 = (($70) + 16|0); + $71 = ((($70)) + 16|0); $72 = HEAP32[$71>>2]|0; $73 = HEAP32[$db>>2]|0; - $74 = (($73) + 20|0); + $74 = ((($73)) + 20|0); $75 = HEAP32[$74>>2]|0; $76 = (($75) + 1)|0; $77 = $76<<4; @@ -109585,25 +110448,25 @@ function _attachFunc($context,$NotUsed,$argv) { } while(0); $81 = HEAP32[$aNew>>2]|0; $82 = HEAP32[$db>>2]|0; - $83 = (($82) + 16|0); + $83 = ((($82)) + 16|0); HEAP32[$83>>2] = $81; $84 = HEAP32[$db>>2]|0; - $85 = (($84) + 20|0); + $85 = ((($84)) + 20|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$db>>2]|0; - $88 = (($87) + 16|0); + $88 = ((($87)) + 16|0); $89 = HEAP32[$88>>2]|0; $90 = (($89) + ($86<<4)|0); HEAP32[$aNew>>2] = $90; $91 = HEAP32[$aNew>>2]|0; - ;HEAP32[$91+0>>2]=0|0;HEAP32[$91+4>>2]=0|0;HEAP32[$91+8>>2]=0|0;HEAP32[$91+12>>2]=0|0; + ;HEAP32[$91>>2]=0|0;HEAP32[$91+4>>2]=0|0;HEAP32[$91+8>>2]=0|0;HEAP32[$91+12>>2]=0|0; $92 = HEAP32[$db>>2]|0; - $93 = (($92) + 48|0); + $93 = ((($92)) + 48|0); $94 = HEAP32[$93>>2]|0; HEAP32[$flags>>2] = $94; $95 = HEAP32[$db>>2]|0; $96 = HEAP32[$95>>2]|0; - $97 = (($96) + 16|0); + $97 = ((($96)) + 16|0); $98 = HEAP32[$97>>2]|0; $99 = HEAP32[$zFile>>2]|0; $100 = (_sqlite3ParseUri($98,$99,$flags,$pVfs,$zPath,$zErr)|0); @@ -109615,7 +110478,7 @@ function _attachFunc($context,$NotUsed,$argv) { $104 = ($103|0)==(7); if ($104) { $105 = HEAP32[$db>>2]|0; - $106 = (($105) + 64|0); + $106 = ((($105)) + 64|0); HEAP8[$106>>0] = 1; } $107 = HEAP32[$0>>2]|0; @@ -109632,14 +110495,14 @@ function _attachFunc($context,$NotUsed,$argv) { $113 = HEAP32[$zPath>>2]|0; $114 = HEAP32[$db>>2]|0; $115 = HEAP32[$aNew>>2]|0; - $116 = (($115) + 4|0); + $116 = ((($115)) + 4|0); $117 = HEAP32[$flags>>2]|0; $118 = (_sqlite3BtreeOpen($112,$113,$114,$116,0,$117)|0); HEAP32[$rc>>2] = $118; $119 = HEAP32[$zPath>>2]|0; _sqlite3_free($119); $120 = HEAP32[$db>>2]|0; - $121 = (($120) + 20|0); + $121 = ((($120)) + 20|0); $122 = HEAP32[$121>>2]|0; $123 = (($122) + 1)|0; HEAP32[$121>>2] = $123; @@ -109648,7 +110511,7 @@ function _attachFunc($context,$NotUsed,$argv) { if ($125) { HEAP32[$rc>>2] = 1; $126 = HEAP32[$db>>2]|0; - $127 = (_sqlite3MPrintf($126,19728,$vararg_buffer13)|0); + $127 = (_sqlite3MPrintf($126,23451,$vararg_buffer7)|0); HEAP32[$zErrDyn>>2] = $127; } else { $128 = HEAP32[$rc>>2]|0; @@ -109656,43 +110519,43 @@ function _attachFunc($context,$NotUsed,$argv) { if ($129) { $130 = HEAP32[$db>>2]|0; $131 = HEAP32[$aNew>>2]|0; - $132 = (($131) + 4|0); + $132 = ((($131)) + 4|0); $133 = HEAP32[$132>>2]|0; $134 = (_sqlite3SchemaGet($130,$133)|0); $135 = HEAP32[$aNew>>2]|0; - $136 = (($135) + 12|0); + $136 = ((($135)) + 12|0); HEAP32[$136>>2] = $134; $137 = HEAP32[$aNew>>2]|0; - $138 = (($137) + 12|0); + $138 = ((($137)) + 12|0); $139 = HEAP32[$138>>2]|0; $140 = ($139|0)!=(0|0); if ($140) { $141 = HEAP32[$aNew>>2]|0; - $142 = (($141) + 12|0); + $142 = ((($141)) + 12|0); $143 = HEAP32[$142>>2]|0; - $144 = (($143) + 76|0); + $144 = ((($143)) + 76|0); $145 = HEAP8[$144>>0]|0; $146 = $145&255; $147 = ($146|0)!=(0); if ($147) { $148 = HEAP32[$aNew>>2]|0; - $149 = (($148) + 12|0); + $149 = ((($148)) + 12|0); $150 = HEAP32[$149>>2]|0; - $151 = (($150) + 77|0); + $151 = ((($150)) + 77|0); $152 = HEAP8[$151>>0]|0; $153 = $152&255; $154 = HEAP32[$db>>2]|0; - $155 = (($154) + 16|0); + $155 = ((($154)) + 16|0); $156 = HEAP32[$155>>2]|0; - $157 = (($156) + 12|0); + $157 = ((($156)) + 12|0); $158 = HEAP32[$157>>2]|0; - $159 = (($158) + 77|0); + $159 = ((($158)) + 77|0); $160 = HEAP8[$159>>0]|0; $161 = $160&255; $162 = ($153|0)!=($161|0); if ($162) { $163 = HEAP32[$db>>2]|0; - $164 = (_sqlite3MPrintf($163,18744,$vararg_buffer13)|0); + $164 = (_sqlite3MPrintf($163,22708,$vararg_buffer9)|0); HEAP32[$zErrDyn>>2] = $164; HEAP32[$rc>>2] = 1; } @@ -109701,31 +110564,31 @@ function _attachFunc($context,$NotUsed,$argv) { HEAP32[$rc>>2] = 7; } $165 = HEAP32[$aNew>>2]|0; - $166 = (($165) + 4|0); + $166 = ((($165)) + 4|0); $167 = HEAP32[$166>>2]|0; $168 = (_sqlite3BtreePager($167)|0); HEAP32[$pPager>>2] = $168; $169 = HEAP32[$pPager>>2]|0; $170 = HEAP32[$db>>2]|0; - $171 = (($170) + 65|0); + $171 = ((($170)) + 65|0); $172 = HEAP8[$171>>0]|0; $173 = $172&255; (_sqlite3PagerLockingMode($169,$173)|0); $174 = HEAP32[$aNew>>2]|0; - $175 = (($174) + 4|0); + $175 = ((($174)) + 4|0); $176 = HEAP32[$175>>2]|0; $177 = HEAP32[$db>>2]|0; - $178 = (($177) + 16|0); + $178 = ((($177)) + 16|0); $179 = HEAP32[$178>>2]|0; - $180 = (($179) + 4|0); + $180 = ((($179)) + 4|0); $181 = HEAP32[$180>>2]|0; $182 = (_sqlite3BtreeSecureDelete($181,-1)|0); (_sqlite3BtreeSecureDelete($176,$182)|0); $183 = HEAP32[$aNew>>2]|0; - $184 = (($183) + 4|0); + $184 = ((($183)) + 4|0); $185 = HEAP32[$184>>2]|0; $186 = HEAP32[$db>>2]|0; - $187 = (($186) + 24|0); + $187 = ((($186)) + 24|0); $188 = HEAP32[$187>>2]|0; $189 = $188 & 28; $190 = 3 | $189; @@ -109733,7 +110596,7 @@ function _attachFunc($context,$NotUsed,$argv) { } } $191 = HEAP32[$aNew>>2]|0; - $192 = (($191) + 8|0); + $192 = ((($191)) + 8|0); HEAP8[$192>>0] = 3; $193 = HEAP32[$db>>2]|0; $194 = HEAP32[$zName>>2]|0; @@ -109765,47 +110628,47 @@ function _attachFunc($context,$NotUsed,$argv) { STACKTOP = sp;return; } $209 = HEAP32[$db>>2]|0; - $210 = (($209) + 20|0); + $210 = ((($209)) + 20|0); $211 = HEAP32[$210>>2]|0; $212 = (($211) - 1)|0; HEAP32[$iDb>>2] = $212; $213 = HEAP32[$iDb>>2]|0; $214 = HEAP32[$db>>2]|0; - $215 = (($214) + 16|0); + $215 = ((($214)) + 16|0); $216 = HEAP32[$215>>2]|0; $217 = (($216) + ($213<<4)|0); - $218 = (($217) + 4|0); + $218 = ((($217)) + 4|0); $219 = HEAP32[$218>>2]|0; $220 = ($219|0)!=(0|0); if ($220) { $221 = HEAP32[$iDb>>2]|0; $222 = HEAP32[$db>>2]|0; - $223 = (($222) + 16|0); + $223 = ((($222)) + 16|0); $224 = HEAP32[$223>>2]|0; $225 = (($224) + ($221<<4)|0); - $226 = (($225) + 4|0); + $226 = ((($225)) + 4|0); $227 = HEAP32[$226>>2]|0; (_sqlite3BtreeClose($227)|0); $228 = HEAP32[$iDb>>2]|0; $229 = HEAP32[$db>>2]|0; - $230 = (($229) + 16|0); + $230 = ((($229)) + 16|0); $231 = HEAP32[$230>>2]|0; $232 = (($231) + ($228<<4)|0); - $233 = (($232) + 4|0); + $233 = ((($232)) + 4|0); HEAP32[$233>>2] = 0; $234 = HEAP32[$iDb>>2]|0; $235 = HEAP32[$db>>2]|0; - $236 = (($235) + 16|0); + $236 = ((($235)) + 16|0); $237 = HEAP32[$236>>2]|0; $238 = (($237) + ($234<<4)|0); - $239 = (($238) + 12|0); + $239 = ((($238)) + 12|0); HEAP32[$239>>2] = 0; } $240 = HEAP32[$db>>2]|0; _sqlite3ResetAllSchemasOfConnection($240); $241 = HEAP32[$iDb>>2]|0; $242 = HEAP32[$db>>2]|0; - $243 = (($242) + 20|0); + $243 = ((($242)) + 20|0); HEAP32[$243>>2] = $241; $244 = HEAP32[$rc>>2]|0; $245 = ($244|0)==(7); @@ -109814,13 +110677,13 @@ function _attachFunc($context,$NotUsed,$argv) { $or$cond = $245 | $247; if ($or$cond) { $248 = HEAP32[$db>>2]|0; - $249 = (($248) + 64|0); + $249 = ((($248)) + 64|0); HEAP8[$249>>0] = 1; $250 = HEAP32[$db>>2]|0; $251 = HEAP32[$zErrDyn>>2]|0; _sqlite3DbFree($250,$251); $252 = HEAP32[$db>>2]|0; - $253 = (_sqlite3MPrintf($252,5400,$vararg_buffer13)|0); + $253 = (_sqlite3MPrintf($252,23480,$vararg_buffer11)|0); HEAP32[$zErrDyn>>2] = $253; break; } @@ -109830,7 +110693,7 @@ function _attachFunc($context,$NotUsed,$argv) { $256 = HEAP32[$db>>2]|0; $257 = HEAP32[$zFile>>2]|0; HEAP32[$vararg_buffer13>>2] = $257; - $258 = (_sqlite3MPrintf($256,19760,$vararg_buffer13)|0); + $258 = (_sqlite3MPrintf($256,23494,$vararg_buffer13)|0); HEAP32[$zErrDyn>>2] = $258; } } @@ -109870,12 +110733,12 @@ function _sqlite3PagerLockingMode($pPager,$eMode) { $3 = ($2|0)>=(0); if ($3) { $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 12|0); + $5 = ((($4)) + 12|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); if (!($7)) { $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 208|0); + $9 = ((($8)) + 208|0); $10 = HEAP32[$9>>2]|0; $11 = (_sqlite3WalHeapMemory($10)|0); $12 = ($11|0)!=(0); @@ -109883,13 +110746,13 @@ function _sqlite3PagerLockingMode($pPager,$eMode) { $13 = HEAP32[$1>>2]|0; $14 = $13&255; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); HEAP8[$16>>0] = $14; } } } $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; STACKTOP = sp;return ($20|0); @@ -109920,9 +110783,9 @@ function _sqlite3BtreeSecureDelete($p,$newFlag) { $7 = ($6|0)>=(0); if ($7) { $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 22|0); + $11 = ((($10)) + 22|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = $13 & -5; @@ -109932,9 +110795,9 @@ function _sqlite3BtreeSecureDelete($p,$newFlag) { $17 = ($16|0)!=(0); if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 22|0); + $21 = ((($20)) + 22|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = $23 | 4; @@ -109943,9 +110806,9 @@ function _sqlite3BtreeSecureDelete($p,$newFlag) { } } $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 22|0); + $29 = ((($28)) + 22|0); $30 = HEAP16[$29>>1]|0; $31 = $30&65535; $32 = $31 & 4; @@ -109969,7 +110832,7 @@ function _sqlite3BtreeSetPagerFlags($p,$pgFlags) { HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $pgFlags; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pBt>>2] = $4; $5 = HEAP32[$0>>2]|0; @@ -110003,7 +110866,7 @@ function _sqlite3PagerSetFlags($pPager,$pgFlags) { $12 = 1; } else { $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)!=(0); @@ -110012,13 +110875,13 @@ function _sqlite3PagerSetFlags($pPager,$pgFlags) { $11 = $12 ? 1 : 0; $13 = $11&255; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 7|0); + $15 = ((($14)) + 7|0); HEAP8[$15>>0] = $13; $16 = HEAP32[$level>>2]|0; $17 = ($16|0)==(3); if ($17) { $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); $20 = HEAP8[$19>>0]|0; $21 = ($20<<24>>24)!=(0); $22 = $21 ^ 1; @@ -110029,19 +110892,19 @@ function _sqlite3PagerSetFlags($pPager,$pgFlags) { $23 = $24 ? 1 : 0; $25 = $23&255; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 8|0); + $27 = ((($26)) + 8|0); HEAP8[$27>>0] = $25; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 7|0); + $29 = ((($28)) + 7|0); $30 = HEAP8[$29>>0]|0; $31 = ($30<<24>>24)!=(0); do { if ($31) { $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 11|0); + $33 = ((($32)) + 11|0); HEAP8[$33>>0] = 0; $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 9|0); + $35 = ((($34)) + 9|0); HEAP8[$35>>0] = 0; } else { $36 = HEAP32[$1>>2]|0; @@ -110049,10 +110912,10 @@ function _sqlite3PagerSetFlags($pPager,$pgFlags) { $38 = ($37|0)!=(0); if ($38) { $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 11|0); + $40 = ((($39)) + 11|0); HEAP8[$40>>0] = 3; $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 9|0); + $42 = ((($41)) + 9|0); HEAP8[$42>>0] = 3; break; } @@ -110060,10 +110923,10 @@ function _sqlite3PagerSetFlags($pPager,$pgFlags) { $44 = $43 & 8; $45 = ($44|0)!=(0); $46 = HEAP32[$0>>2]|0; - $47 = (($46) + 11|0); + $47 = ((($46)) + 11|0); HEAP8[$47>>0] = 2; $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 9|0); + $49 = ((($48)) + 9|0); if ($45) { HEAP8[$49>>0] = 3; break; @@ -110074,18 +110937,18 @@ function _sqlite3PagerSetFlags($pPager,$pgFlags) { } } while(0); $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 11|0); + $51 = ((($50)) + 11|0); $52 = HEAP8[$51>>0]|0; $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 10|0); + $54 = ((($53)) + 10|0); HEAP8[$54>>0] = $52; $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 8|0); + $56 = ((($55)) + 8|0); $57 = HEAP8[$56>>0]|0; $58 = ($57<<24>>24)!=(0); if ($58) { $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 10|0); + $60 = ((($59)) + 10|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = $62 | 32; @@ -110096,7 +110959,7 @@ function _sqlite3PagerSetFlags($pPager,$pgFlags) { $66 = $65 & 16; $67 = ($66|0)!=(0); $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 20|0); + $69 = ((($68)) + 20|0); $70 = HEAP8[$69>>0]|0; $71 = $70&255; if ($67) { @@ -110126,7 +110989,7 @@ function _sqlite3WalHeapMemory($pWal) { STACKTOP = sp;return ($8|0); } $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 43|0); + $4 = ((($3)) + 43|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)==(2); @@ -110155,7 +111018,7 @@ function _sqlite3CodeVerifyNamedSchema($pParse,$zDb) { while(1) { $4 = HEAP32[$i>>2]|0; $5 = HEAP32[$db>>2]|0; - $6 = (($5) + 20|0); + $6 = ((($5)) + 20|0); $7 = HEAP32[$6>>2]|0; $8 = ($4|0)<($7|0); if (!($8)) { @@ -110163,12 +111026,12 @@ function _sqlite3CodeVerifyNamedSchema($pParse,$zDb) { } $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$db>>2]|0; - $11 = (($10) + 16|0); + $11 = ((($10)) + 16|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + ($9<<4)|0); HEAP32[$pDb>>2] = $13; $14 = HEAP32[$pDb>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)!=(0|0); do { @@ -110205,16 +111068,16 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $base = 0, $code = 0, $db = 0, $iDb = 0, $pTable = 0, $v = 0, $zDb = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $pTable = sp + 28|0; - $v = sp + 24|0; - $db = sp + 20|0; - $iDb = sp + 16|0; + $v = sp + 4|0; + $db = sp + 32|0; + $iDb = sp + 36|0; $code = sp + 12|0; - $zDb = sp + 8|0; - $zTab = sp + 4|0; - $base = sp; + $zDb = sp + 24|0; + $zTab = sp + 20|0; + $base = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTrigger; $2 = HEAP32[$0>>2]|0; @@ -110223,7 +111086,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 20|0); + $7 = ((($6)) + 20|0); $8 = HEAP32[$7>>2]|0; $9 = (_sqlite3SchemaToIndex($5,$8)|0); HEAP32[$iDb>>2] = $9; @@ -110233,14 +111096,14 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { HEAP32[$code>>2] = 16; $12 = HEAP32[$iDb>>2]|0; $13 = HEAP32[$db>>2]|0; - $14 = (($13) + 16|0); + $14 = ((($13)) + 16|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + ($12<<4)|0); $17 = HEAP32[$16>>2]|0; HEAP32[$zDb>>2] = $17; $18 = HEAP32[$iDb>>2]|0; $19 = ($18|0)==(1); - $20 = $19 ? 14904 : 14928; + $20 = $19 ? 19269 : 19288; HEAP32[$zTab>>2] = $20; $21 = HEAP32[$iDb>>2]|0; $22 = ($21|0)==(1); @@ -110281,7 +111144,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { $43 = HEAP32[$iDb>>2]|0; _sqlite3OpenMasterTable($42,$43); $44 = HEAP32[$v>>2]|0; - $45 = (_sqlite3VdbeAddOpList($44,9,19816,0)|0); + $45 = (_sqlite3VdbeAddOpList($44,9,23542,0)|0); HEAP32[$base>>2] = $45; $46 = HEAP32[$v>>2]|0; $47 = HEAP32[$base>>2]|0; @@ -110292,7 +111155,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { $51 = HEAP32[$v>>2]|0; $52 = HEAP32[$base>>2]|0; $53 = (($52) + 4)|0; - _sqlite3VdbeChangeP4($51,$53,1488,-2); + _sqlite3VdbeChangeP4($51,$53,14687,-2); $54 = HEAP32[$0>>2]|0; $55 = HEAP32[$iDb>>2]|0; _sqlite3ChangeCookie($54,$55); @@ -110304,14 +111167,14 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { $60 = HEAP32[$59>>2]|0; (_sqlite3VdbeAddOp4($57,126,$58,0,0,$60,0)|0); $61 = HEAP32[$0>>2]|0; - $62 = (($61) + 72|0); + $62 = ((($61)) + 72|0); $63 = HEAP32[$62>>2]|0; $64 = ($63|0)<(3); if (!($64)) { STACKTOP = sp;return; } $65 = HEAP32[$0>>2]|0; - $66 = (($65) + 72|0); + $66 = ((($65)) + 72|0); HEAP32[$66>>2] = 3; STACKTOP = sp;return; } @@ -110323,11 +111186,11 @@ function _tableOfTrigger($pTrigger) { $0 = sp; HEAP32[$0>>2] = $pTrigger; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 24|0); + $2 = ((($1)) + 24|0); $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = (_sqlite3HashFind($4,$7)|0); STACKTOP = sp;return ($8|0); @@ -110350,20 +111213,20 @@ function _sqlite3OpenMasterTable($p,$iDb) { $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(1); - $8 = $7 ? 14904 : 14928; + $8 = $7 ? 19269 : 19288; _sqlite3TableLock($4,$5,1,1,$8); $9 = HEAP32[$v>>2]|0; $10 = HEAP32[$1>>2]|0; (_sqlite3VdbeAddOp4Int($9,55,0,1,$10,5)|0); $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 68|0); + $12 = ((($11)) + 68|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(0); if (!($14)) { STACKTOP = sp;return; } $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 68|0); + $16 = ((($15)) + 68|0); HEAP32[$16>>2] = 1; STACKTOP = sp;return; } @@ -110385,7 +111248,7 @@ function _triggerStepAllocate($db,$op,$pName) { HEAP32[$2>>2] = $pName; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = (40 + ($6))|0; $8 = (_sqlite3DbMallocZero($3,$7,0)|0); @@ -110397,25 +111260,25 @@ function _triggerStepAllocate($db,$op,$pName) { STACKTOP = sp;return ($30|0); } $11 = HEAP32[$pTriggerStep>>2]|0; - $12 = (($11) + 40|0); + $12 = ((($11)) + 40|0); HEAP32[$z>>2] = $12; $13 = HEAP32[$z>>2]|0; $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; _memcpy(($13|0),($15|0),($18|0))|0; $19 = HEAP32[$z>>2]|0; $20 = HEAP32[$pTriggerStep>>2]|0; - $21 = (($20) + 12|0); + $21 = ((($20)) + 12|0); HEAP32[$21>>2] = $19; $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$pTriggerStep>>2]|0; - $26 = (($25) + 12|0); - $27 = (($26) + 4|0); + $26 = ((($25)) + 12|0); + $27 = ((($26)) + 4|0); HEAP32[$27>>2] = $24; $28 = HEAP8[$1>>0]|0; $29 = HEAP32[$pTriggerStep>>2]|0; @@ -110437,7 +111300,7 @@ function _sqlite3SrcListLookup($pParse,$pSrc) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSrc; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); HEAP32[$pItem>>2] = $3; $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$pItem>>2]|0; @@ -110446,18 +111309,18 @@ function _sqlite3SrcListLookup($pParse,$pSrc) { $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$pItem>>2]|0; - $10 = (($9) + 16|0); + $10 = ((($9)) + 16|0); $11 = HEAP32[$10>>2]|0; _sqlite3DeleteTable($8,$11); $12 = HEAP32[$pTab>>2]|0; $13 = HEAP32[$pItem>>2]|0; - $14 = (($13) + 16|0); + $14 = ((($13)) + 16|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$pTab>>2]|0; $16 = ($15|0)!=(0|0); if ($16) { $17 = HEAP32[$pTab>>2]|0; - $18 = (($17) + 40|0); + $18 = ((($17)) + 40|0); $19 = HEAP16[$18>>1]|0; $20 = (($19) + 1)<<16>>16; HEAP16[$18>>1] = $20; @@ -110503,36 +111366,36 @@ function _sqlite3FixInit($pFix,$pParse,$iDb,$zType,$pName) { HEAP32[$8>>2] = $7; $9 = HEAP32[$2>>2]|0; $10 = HEAP32[$db>>2]|0; - $11 = (($10) + 16|0); + $11 = ((($10)) + 16|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + ($9<<4)|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); HEAP32[$16>>2] = $14; $17 = HEAP32[$2>>2]|0; $18 = HEAP32[$db>>2]|0; - $19 = (($18) + 16|0); + $19 = ((($18)) + 16|0); $20 = HEAP32[$19>>2]|0; $21 = (($20) + ($17<<4)|0); - $22 = (($21) + 12|0); + $22 = ((($21)) + 12|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 4|0); + $25 = ((($24)) + 4|0); HEAP32[$25>>2] = $23; $26 = HEAP32[$3>>2]|0; $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 16|0); + $28 = ((($27)) + 16|0); HEAP32[$28>>2] = $26; $29 = HEAP32[$4>>2]|0; $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 20|0); + $31 = ((($30)) + 20|0); HEAP32[$31>>2] = $29; $32 = HEAP32[$2>>2]|0; $33 = ($32|0)==(1); $34 = $33&1; $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 8|0); + $36 = ((($35)) + 8|0); HEAP32[$36>>2] = $34; STACKTOP = sp;return; } @@ -110546,12 +111409,12 @@ function _sqlite3FixSrcList($pFix,$pList) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 32|0; + $0 = sp + 24|0; $1 = sp + 28|0; - $2 = sp + 24|0; - $i = sp + 20|0; - $zDb = sp + 16|0; - $pItem = sp + 12|0; + $2 = sp + 32|0; + $i = sp + 16|0; + $zDb = sp + 12|0; + $pItem = sp + 20|0; HEAP32[$1>>2] = $pFix; HEAP32[$2>>2] = $pList; $3 = HEAP32[$2>>2]|0; @@ -110562,12 +111425,12 @@ function _sqlite3FixSrcList($pFix,$pList) { STACKTOP = sp;return ($67|0); } $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 12|0); + $6 = ((($5)) + 12|0); $7 = HEAP32[$6>>2]|0; HEAP32[$zDb>>2] = $7; HEAP32[$i>>2] = 0; $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); HEAP32[$pItem>>2] = $9; while(1) { $10 = HEAP32[$i>>2]|0; @@ -110579,17 +111442,17 @@ function _sqlite3FixSrcList($pFix,$pList) { break; } $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 8|0); + $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==(0); if ($17) { $18 = HEAP32[$pItem>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)!=(0|0); if ($21) { $22 = HEAP32[$pItem>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$zDb>>2]|0; $26 = (_sqlite3_stricmp($24,$25)|0); @@ -110603,21 +111466,21 @@ function _sqlite3FixSrcList($pFix,$pList) { $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$pItem>>2]|0; - $43 = (($42) + 4|0); + $43 = ((($42)) + 4|0); $44 = HEAP32[$43>>2]|0; _sqlite3DbFree($41,$44); $45 = HEAP32[$pItem>>2]|0; - $46 = (($45) + 4|0); + $46 = ((($45)) + 4|0); HEAP32[$46>>2] = 0; $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$pItem>>2]|0; HEAP32[$50>>2] = $49; } $51 = HEAP32[$1>>2]|0; $52 = HEAP32[$pItem>>2]|0; - $53 = (($52) + 20|0); + $53 = ((($52)) + 20|0); $54 = HEAP32[$53>>2]|0; $55 = (_sqlite3FixSelect($51,$54)|0); $56 = ($55|0)!=(0); @@ -110627,7 +111490,7 @@ function _sqlite3FixSrcList($pFix,$pList) { } $57 = HEAP32[$1>>2]|0; $58 = HEAP32[$pItem>>2]|0; - $59 = (($58) + 44|0); + $59 = ((($58)) + 44|0); $60 = HEAP32[$59>>2]|0; $61 = (_sqlite3FixExpr($57,$60)|0); $62 = ($61|0)!=(0); @@ -110639,27 +111502,27 @@ function _sqlite3FixSrcList($pFix,$pList) { $64 = (($63) + 1)|0; HEAP32[$i>>2] = $64; $65 = HEAP32[$pItem>>2]|0; - $66 = (($65) + 72|0); + $66 = ((($65)) + 72|0); HEAP32[$pItem>>2] = $66; } if ((label|0) == 8) { $28 = HEAP32[$1>>2]|0; $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 16|0); + $31 = ((($30)) + 16|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 20|0); + $34 = ((($33)) + 20|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[$pItem>>2]|0; - $37 = (($36) + 4|0); + $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; HEAP32[$vararg_buffer>>2] = $32; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $35; - $vararg_ptr2 = (($vararg_buffer) + 8|0); + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $38; - _sqlite3ErrorMsg($29,20128,$vararg_buffer); + _sqlite3ErrorMsg($29,23825,$vararg_buffer); HEAP32[$0>>2] = 1; $67 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($67|0); @@ -110679,7 +111542,7 @@ function _sqlite3FixSrcList($pFix,$pList) { $67 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($67|0); } - return 0|0; + return (0)|0; } function _sqlite3FixSelect($pFix,$pSelect) { $pFix = $pFix|0; @@ -110712,7 +111575,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 32|0); + $12 = ((($11)) + 32|0); $13 = HEAP32[$12>>2]|0; $14 = (_sqlite3FixSrcList($10,$13)|0); $15 = ($14|0)!=(0); @@ -110722,7 +111585,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 36|0); + $18 = ((($17)) + 36|0); $19 = HEAP32[$18>>2]|0; $20 = (_sqlite3FixExpr($16,$19)|0); $21 = ($20|0)!=(0); @@ -110732,7 +111595,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 40|0); + $24 = ((($23)) + 40|0); $25 = HEAP32[$24>>2]|0; $26 = (_sqlite3FixExprList($22,$25)|0); $27 = ($26|0)!=(0); @@ -110742,7 +111605,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $28 = HEAP32[$1>>2]|0; $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 44|0); + $30 = ((($29)) + 44|0); $31 = HEAP32[$30>>2]|0; $32 = (_sqlite3FixExpr($28,$31)|0); $33 = ($32|0)!=(0); @@ -110752,7 +111615,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $34 = HEAP32[$1>>2]|0; $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 48|0); + $36 = ((($35)) + 48|0); $37 = HEAP32[$36>>2]|0; $38 = (_sqlite3FixExprList($34,$37)|0); $39 = ($38|0)!=(0); @@ -110762,7 +111625,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $40 = HEAP32[$1>>2]|0; $41 = HEAP32[$2>>2]|0; - $42 = (($41) + 60|0); + $42 = ((($41)) + 60|0); $43 = HEAP32[$42>>2]|0; $44 = (_sqlite3FixExpr($40,$43)|0); $45 = ($44|0)!=(0); @@ -110772,7 +111635,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $46 = HEAP32[$1>>2]|0; $47 = HEAP32[$2>>2]|0; - $48 = (($47) + 64|0); + $48 = ((($47)) + 64|0); $49 = HEAP32[$48>>2]|0; $50 = (_sqlite3FixExpr($46,$49)|0); $51 = ($50|0)!=(0); @@ -110781,7 +111644,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { break; } $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 52|0); + $53 = ((($52)) + 52|0); $54 = HEAP32[$53>>2]|0; HEAP32[$2>>2] = $54; } @@ -110844,8 +111707,8 @@ function _sqlite3FixExpr($pFix,$pExpr) { $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 140|0); - $13 = (($12) + 5|0); + $12 = ((($11)) + 140|0); + $13 = ((($12)) + 5|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)!=(0); if (!($15)) { @@ -110856,7 +111719,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { HEAP8[$16>>0] = 101; } $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = $24 & 16384; $26 = ($25|0)!=(0); @@ -110865,13 +111728,13 @@ function _sqlite3FixExpr($pFix,$pExpr) { break; } $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = $29 & 2048; $31 = ($30|0)!=(0); $32 = HEAP32[$1>>2]|0; $33 = HEAP32[$2>>2]|0; - $34 = (($33) + 20|0); + $34 = ((($33)) + 20|0); if ($31) { $35 = HEAP32[$34>>2]|0; $36 = (_sqlite3FixSelect($32,$35)|0); @@ -110891,7 +111754,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { } $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$2>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); $44 = HEAP32[$43>>2]|0; $45 = (_sqlite3FixExpr($41,$44)|0); $46 = ($45|0)!=(0); @@ -110900,7 +111763,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { break; } $47 = HEAP32[$2>>2]|0; - $48 = (($47) + 12|0); + $48 = ((($47)) + 12|0); $49 = HEAP32[$48>>2]|0; HEAP32[$2>>2] = $49; } @@ -110908,10 +111771,10 @@ function _sqlite3FixExpr($pFix,$pExpr) { $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 16|0); + $20 = ((($19)) + 16|0); $21 = HEAP32[$20>>2]|0; HEAP32[$vararg_buffer>>2] = $21; - _sqlite3ErrorMsg($18,20176,$vararg_buffer); + _sqlite3ErrorMsg($18,23871,$vararg_buffer); HEAP32[$0>>2] = 1; $50 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($50|0); @@ -110936,7 +111799,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { $50 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($50|0); } - return 0|0; + return (0)|0; } function _sqlite3FixExprList($pFix,$pList) { $pFix = $pFix|0; @@ -110961,7 +111824,7 @@ function _sqlite3FixExprList($pFix,$pList) { } HEAP32[$i>>2] = 0; $5 = HEAP32[$2>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pItem>>2] = $7; while(1) { @@ -110986,7 +111849,7 @@ function _sqlite3FixExprList($pFix,$pList) { $18 = (($17) + 1)|0; HEAP32[$i>>2] = $18; $19 = HEAP32[$pItem>>2]|0; - $20 = (($19) + 20|0); + $20 = ((($19)) + 20|0); HEAP32[$pItem>>2] = $20; } if ((label|0) == 6) { @@ -110999,7 +111862,7 @@ function _sqlite3FixExprList($pFix,$pList) { $21 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($21|0); } - return 0|0; + return (0)|0; } function _sqlite3FixTriggerStep($pFix,$pStep) { $pFix = $pFix|0; @@ -111022,7 +111885,7 @@ function _sqlite3FixTriggerStep($pFix,$pStep) { } $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = (_sqlite3FixSelect($5,$8)|0); $10 = ($9|0)!=(0); @@ -111032,7 +111895,7 @@ function _sqlite3FixTriggerStep($pFix,$pStep) { } $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$2>>2]|0; - $13 = (($12) + 20|0); + $13 = ((($12)) + 20|0); $14 = HEAP32[$13>>2]|0; $15 = (_sqlite3FixExpr($11,$14)|0); $16 = ($15|0)!=(0); @@ -111042,7 +111905,7 @@ function _sqlite3FixTriggerStep($pFix,$pStep) { } $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 24|0); + $19 = ((($18)) + 24|0); $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3FixExprList($17,$20)|0); $22 = ($21|0)!=(0); @@ -111051,7 +111914,7 @@ function _sqlite3FixTriggerStep($pFix,$pStep) { break; } $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 32|0); + $24 = ((($23)) + 32|0); $25 = HEAP32[$24>>2]|0; HEAP32[$2>>2] = $25; } @@ -111078,7 +111941,7 @@ function _sqlite3VdbeRunOnlyOnce($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 88|0); + $2 = ((($1)) + 88|0); $3 = HEAP16[$2>>1]|0; $4 = $3 & -65; $5 = $4 | 64; @@ -111104,17 +111967,17 @@ function _sqlite3VdbeSetNumCols($p,$nResColumn) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 84|0); + $8 = ((($7)) + 84|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = $10<<1; _releaseMemArray($6,$11); $12 = HEAP32[$db>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 16|0); + $14 = ((($13)) + 16|0); $15 = HEAP32[$14>>2]|0; _sqlite3DbFree($12,$15); $16 = HEAP32[$1>>2]|0; @@ -111123,7 +111986,7 @@ function _sqlite3VdbeSetNumCols($p,$nResColumn) { $18 = HEAP32[$1>>2]|0; $19 = $18&65535; $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 84|0); + $21 = ((($20)) + 84|0); HEAP16[$21>>1] = $19; $22 = HEAP32[$db>>2]|0; $23 = HEAP32[$n>>2]|0; @@ -111131,10 +111994,10 @@ function _sqlite3VdbeSetNumCols($p,$nResColumn) { $25 = (_sqlite3DbMallocZero($22,$24,0)|0); HEAP32[$pColName>>2] = $25; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 16|0); + $27 = ((($26)) + 16|0); HEAP32[$27>>2] = $25; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0|0); if ($31) { @@ -111149,15 +112012,15 @@ function _sqlite3VdbeSetNumCols($p,$nResColumn) { break; } $35 = HEAP32[$pColName>>2]|0; - $36 = (($35) + 8|0); + $36 = ((($35)) + 8|0); HEAP16[$36>>1] = 1; $37 = HEAP32[$0>>2]|0; $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$pColName>>2]|0; - $40 = (($39) + 32|0); + $40 = ((($39)) + 32|0); HEAP32[$40>>2] = $38; $41 = HEAP32[$pColName>>2]|0; - $42 = (($41) + 40|0); + $42 = ((($41)) + 40|0); HEAP32[$pColName>>2] = $42; } STACKTOP = sp;return; @@ -111172,14 +112035,14 @@ function _sqlite3VdbeSetColName($p,$idx,$var,$zName,$xDel) { var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pColName = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $rc = sp + 4|0; - $pColName = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $5 = sp; + $rc = sp + 12|0; + $pColName = sp + 24|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $idx; HEAP32[$3>>2] = $var; @@ -111187,7 +112050,7 @@ function _sqlite3VdbeSetColName($p,$idx,$var,$zName,$xDel) { HEAP32[$5>>2] = $xDel; $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$6>>2]|0; - $8 = (($7) + 64|0); + $8 = ((($7)) + 64|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); if ($10) { @@ -111198,13 +112061,13 @@ function _sqlite3VdbeSetColName($p,$idx,$var,$zName,$xDel) { $11 = HEAP32[$2>>2]|0; $12 = HEAP32[$3>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 84|0); + $14 = ((($13)) + 84|0); $15 = HEAP16[$14>>1]|0; $16 = $15&65535; $17 = Math_imul($12, $16)|0; $18 = (($11) + ($17))|0; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 16|0); + $20 = ((($19)) + 16|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + (($18*40)|0)|0); HEAP32[$pColName>>2] = $22; @@ -111218,7 +112081,7 @@ function _sqlite3VdbeSetColName($p,$idx,$var,$zName,$xDel) { $28 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($28|0); } - return 0|0; + return (0)|0; } function _returnSingleInt($pParse,$zLabel,$0,$1) { $pParse = $pParse|0; @@ -111247,7 +112110,7 @@ function _returnSingleInt($pParse,$zLabel,$0,$1) { $10 = (_sqlite3GetVdbe($9)|0); HEAP32[$v>>2] = $10; $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 72|0); + $12 = ((($11)) + 72|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + 1)|0; HEAP32[$12>>2] = $14; @@ -111260,7 +112123,7 @@ function _returnSingleInt($pParse,$zLabel,$0,$1) { $19 = ($18|0)!=(0|0); if ($19) { $20 = HEAP32[$pI64>>2]|0; - ;HEAP32[$20+0>>2]=HEAP32[$4+0>>2]|0;HEAP32[$20+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$20>>2]=HEAP32[$4>>2]|0;HEAP32[$20+4>>2]=HEAP32[$4+4>>2]|0; } $21 = HEAP32[$v>>2]|0; $22 = HEAP32[$mem>>2]|0; @@ -111289,14 +112152,14 @@ function _getLockingMode($z) { do { if ($3) { $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3_stricmp($4,21072)|0); + $5 = (_sqlite3_stricmp($4,24077)|0); $6 = (0)==($5|0); if ($6) { HEAP32[$0>>2] = 1; break; } $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3_stricmp($7,21064)|0); + $8 = (_sqlite3_stricmp($7,24070)|0); $9 = (0)==($8|0); if ($9) { HEAP32[$0>>2] = 0; @@ -111327,7 +112190,7 @@ function _sqlite3JournalModename($eMode) { HEAP32[$0>>2] = 0; } else { $4 = HEAP32[$1>>2]|0; - $5 = (22296 + ($4<<2)|0); + $5 = (3248 + ($4<<2)|0); $6 = HEAP32[$5>>2]|0; HEAP32[$0>>2] = $6; } @@ -111363,51 +112226,41 @@ function _sqlite3PagerJournalSizeLimit($pPager,$0,$1) { $16 = ($13|0)==(-1); $17 = $16 & $15; $18 = $14 | $17; - if (!($18)) { - $40 = HEAP32[$2>>2]|0; - $41 = (($40) + 160|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - tempRet0 = $47; - STACKTOP = sp;return ($44|0); + if ($18) { + $19 = $3; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 160|0); + $27 = $26; + $28 = $27; + HEAP32[$28>>2] = $21; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = $24; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 208|0); + $33 = HEAP32[$32>>2]|0; + $34 = $3; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + _sqlite3WalLimit($33,$36,$39); } - $19 = $3; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 160|0); - $27 = $26; - $28 = $27; - HEAP32[$28>>2] = $21; - $29 = (($27) + 4)|0; - $30 = $29; - HEAP32[$30>>2] = $24; - $31 = HEAP32[$2>>2]|0; - $32 = (($31) + 208|0); - $33 = HEAP32[$32>>2]|0; - $34 = $3; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - _sqlite3WalLimit($33,$36,$39); $40 = HEAP32[$2>>2]|0; - $41 = (($40) + 160|0); + $41 = ((($40)) + 160|0); $42 = $41; $43 = $42; $44 = HEAP32[$43>>2]|0; $45 = (($42) + 4)|0; $46 = $45; $47 = HEAP32[$46>>2]|0; - tempRet0 = $47; + tempRet0 = ($47); STACKTOP = sp;return ($44|0); } function _sqlite3BtreeGetAutoVacuum($p) { @@ -111422,9 +112275,9 @@ function _sqlite3BtreeGetAutoVacuum($p) { $1 = HEAP32[$0>>2]|0; _sqlite3BtreeEnter($1); $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 17|0); + $5 = ((($4)) + 17|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); if (!($7)) { @@ -111434,9 +112287,9 @@ function _sqlite3BtreeGetAutoVacuum($p) { STACKTOP = sp;return ($17|0); } $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 18|0); + $11 = ((($10)) + 18|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)!=(0); $14 = $13 ^ 1; @@ -111457,21 +112310,21 @@ function _getAutoVacuum($z) { $i = sp; HEAP32[$1>>2] = $z; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_stricmp($2,22272)|0); + $3 = (_sqlite3_stricmp($2,25056)|0); $4 = (0)==($3|0); do { if ($4) { HEAP32[$0>>2] = 0; } else { $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3_stricmp($5,21976)|0); + $6 = (_sqlite3_stricmp($5,24661)|0); $7 = (0)==($6|0); if ($7) { HEAP32[$0>>2] = 1; break; } $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3_stricmp($8,22280)|0); + $9 = (_sqlite3_stricmp($8,25061)|0); $10 = (0)==($9|0); if ($10) { HEAP32[$0>>2] = 2; @@ -111513,7 +112366,7 @@ function _sqlite3BtreeSetAutoVacuum($p,$autoVacuum) { HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $autoVacuum; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pBt>>2] = $4; HEAP32[$rc>>2] = 0; @@ -111523,7 +112376,7 @@ function _sqlite3BtreeSetAutoVacuum($p,$autoVacuum) { $7 = HEAP32[$0>>2]|0; _sqlite3BtreeEnter($7); $8 = HEAP32[$pBt>>2]|0; - $9 = (($8) + 22|0); + $9 = ((($8)) + 22|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = $11 & 2; @@ -111534,7 +112387,7 @@ function _sqlite3BtreeSetAutoVacuum($p,$autoVacuum) { $16 = ($15|0)!=(0); $17 = $16 ? 1 : 0; $18 = HEAP32[$pBt>>2]|0; - $19 = (($18) + 17|0); + $19 = ((($18)) + 17|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = ($17|0)!=($21|0); @@ -111550,7 +112403,7 @@ function _sqlite3BtreeSetAutoVacuum($p,$autoVacuum) { $26 = $25 ? 1 : 0; $27 = $26&255; $28 = HEAP32[$pBt>>2]|0; - $29 = (($28) + 17|0); + $29 = ((($28)) + 17|0); HEAP8[$29>>0] = $27; $30 = HEAP8[$av>>0]|0; $31 = $30&255; @@ -111558,7 +112411,7 @@ function _sqlite3BtreeSetAutoVacuum($p,$autoVacuum) { $33 = $32 ? 1 : 0; $34 = $33&255; $35 = HEAP32[$pBt>>2]|0; - $36 = (($35) + 18|0); + $36 = ((($35)) + 18|0); HEAP8[$36>>0] = $34; $37 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($37|0); @@ -111584,7 +112437,7 @@ function _changeTempStorage($pParse,$zStorageType) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$db>>2]|0; - $8 = (($7) + 63|0); + $8 = ((($7)) + 63|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = HEAP32[$ts>>2]|0; @@ -111605,13 +112458,13 @@ function _changeTempStorage($pParse,$zStorageType) { $16 = HEAP32[$ts>>2]|0; $17 = $16&255; $18 = HEAP32[$db>>2]|0; - $19 = (($18) + 63|0); + $19 = ((($18)) + 63|0); HEAP8[$19>>0] = $17; HEAP32[$0>>2] = 0; $20 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($20|0); } - return 0|0; + return (0)|0; } function _invalidateTempStorage($pParse) { $pParse = $pParse|0; @@ -111629,40 +112482,40 @@ function _invalidateTempStorage($pParse) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 16|0); - $8 = (($7) + 4|0); + $7 = ((($6)) + 16|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); do { if ($10) { $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 62|0); + $12 = ((($11)) + 62|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)!=(0); if ($14) { $15 = HEAP32[$db>>2]|0; - $16 = (($15) + 16|0); + $16 = ((($15)) + 16|0); $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 16|0); - $19 = (($18) + 4|0); + $18 = ((($17)) + 16|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3BtreeIsInReadTrans($20)|0); $22 = ($21|0)!=(0); if (!($22)) { $24 = HEAP32[$db>>2]|0; - $25 = (($24) + 16|0); + $25 = ((($24)) + 16|0); $26 = HEAP32[$25>>2]|0; - $27 = (($26) + 16|0); - $28 = (($27) + 4|0); + $27 = ((($26)) + 16|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; (_sqlite3BtreeClose($29)|0); $30 = HEAP32[$db>>2]|0; - $31 = (($30) + 16|0); + $31 = ((($30)) + 16|0); $32 = HEAP32[$31>>2]|0; - $33 = (($32) + 16|0); - $34 = (($33) + 4|0); + $33 = ((($32)) + 16|0); + $34 = ((($33)) + 4|0); HEAP32[$34>>2] = 0; $35 = HEAP32[$db>>2]|0; _sqlite3ResetAllSchemasOfConnection($35); @@ -111670,7 +112523,7 @@ function _invalidateTempStorage($pParse) { } } $23 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($23,22208,$vararg_buffer); + _sqlite3ErrorMsg($23,24994,$vararg_buffer); HEAP32[$0>>2] = 1; $36 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($36|0); @@ -111691,18 +112544,18 @@ function _setAllPagerFlags($db) { $n = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 62|0); + $2 = ((($1)) + 62|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)!=(0); if (!($4)) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 16|0); + $6 = ((($5)) + 16|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pDb>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 20|0); + $9 = ((($8)) + 20|0); $10 = HEAP32[$9>>2]|0; HEAP32[$n>>2] = $10; while(1) { @@ -111714,26 +112567,26 @@ function _setAllPagerFlags($db) { break; } $14 = HEAP32[$pDb>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)!=(0|0); if ($17) { $18 = HEAP32[$pDb>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$pDb>>2]|0; - $22 = (($21) + 8|0); + $22 = ((($21)) + 8|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 24|0); + $26 = ((($25)) + 24|0); $27 = HEAP32[$26>>2]|0; $28 = $27 & 28; $29 = $24 | $28; (_sqlite3BtreeSetPagerFlags($20,$29)|0); } $30 = HEAP32[$pDb>>2]|0; - $31 = (($30) + 16|0); + $31 = ((($30)) + 16|0); HEAP32[$pDb>>2] = $31; } STACKTOP = sp;return; @@ -111768,7 +112621,7 @@ function _sqlite3LogEstToInt($x) { $107 = (($104) + 4)|0; $108 = $107; $109 = HEAP32[$108>>2]|0; - tempRet0 = $109; + tempRet0 = ($109); STACKTOP = sp;return ($106|0); } $9 = HEAP16[$1>>1]|0; @@ -111865,7 +112718,7 @@ function _sqlite3LogEstToInt($x) { $107 = (($104) + 4)|0; $108 = $107; $109 = HEAP32[$108>>2]|0; - tempRet0 = $109; + tempRet0 = ($109); STACKTOP = sp;return ($106|0); } $65 = HEAP16[$1>>1]|0; @@ -111901,7 +112754,7 @@ function _sqlite3LogEstToInt($x) { $107 = (($104) + 4)|0; $108 = $107; $109 = HEAP32[$108>>2]|0; - tempRet0 = $109; + tempRet0 = ($109); STACKTOP = sp;return ($106|0); } function _actionName($action) { @@ -111914,16 +112767,26 @@ function _actionName($action) { HEAP8[$0>>0] = $action; $1 = HEAP8[$0>>0]|0; $2 = $1&255; - if ((($2|0) == 9)) { - HEAP32[$zName>>2] = 22168; - } else if ((($2|0) == 7)) { - HEAP32[$zName>>2] = 22136; - } else if ((($2|0) == 8)) { - HEAP32[$zName>>2] = 22152; - } else if ((($2|0) == 6)) { - HEAP32[$zName>>2] = 22176; - } else { - HEAP32[$zName>>2] = 22192; + switch ($2|0) { + case 7: { + HEAP32[$zName>>2] = 24946; + break; + } + case 8: { + HEAP32[$zName>>2] = 24955; + break; + } + case 9: { + HEAP32[$zName>>2] = 24967; + break; + } + case 6: { + HEAP32[$zName>>2] = 24975; + break; + } + default: { + HEAP32[$zName>>2] = 24984; + } } $3 = HEAP32[$zName>>2]|0; STACKTOP = sp;return ($3|0); @@ -111947,22 +112810,22 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $5 = sp + 44|0; - $pIdx = sp + 40|0; + $0 = sp + 32|0; + $1 = sp + 8|0; + $2 = sp + 28|0; + $3 = sp + 20|0; + $4 = sp + 12|0; + $5 = sp + 16|0; + $pIdx = sp + 60|0; $aiCol = sp + 36|0; - $nCol = sp + 32|0; - $zKey = sp + 28|0; - $i = sp + 24|0; - $i1 = sp + 20|0; - $j = sp + 16|0; + $nCol = sp + 40|0; + $zKey = sp + 44|0; + $i = sp + 48|0; + $i1 = sp + 52|0; + $j = sp + 56|0; $iCol = sp + 68|0; - $zDfltColl = sp + 12|0; - $zIdxCol = sp + 8|0; + $zDfltColl = sp + 24|0; + $zIdxCol = sp + 64|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pParent; HEAP32[$3>>2] = $pFKey; @@ -111971,12 +112834,12 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { HEAP32[$pIdx>>2] = 0; HEAP32[$aiCol>>2] = 0; $6 = HEAP32[$3>>2]|0; - $7 = (($6) + 20|0); + $7 = ((($6)) + 20|0); $8 = HEAP32[$7>>2]|0; HEAP32[$nCol>>2] = $8; $9 = HEAP32[$3>>2]|0; - $10 = (($9) + 36|0); - $11 = (($10) + 4|0); + $10 = ((($9)) + 36|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; HEAP32[$zKey>>2] = $12; $13 = HEAP32[$nCol>>2]|0; @@ -111984,7 +112847,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { do { if ($14) { $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 36|0); + $16 = ((($15)) + 36|0); $17 = HEAP16[$16>>1]|0; $18 = $17 << 16 >> 16; $19 = ($18|0)>=(0); @@ -111997,11 +112860,11 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { STACKTOP = sp;return ($172|0); } $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 36|0); + $23 = ((($22)) + 36|0); $24 = HEAP16[$23>>1]|0; $25 = $24 << 16 >> 16; $26 = HEAP32[$2>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; $29 = (($28) + (($25*24)|0)|0); $30 = HEAP32[$29>>2]|0; @@ -112039,7 +112902,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { } } while(0); $45 = HEAP32[$2>>2]|0; - $46 = (($45) + 8|0); + $46 = ((($45)) + 8|0); $47 = HEAP32[$46>>2]|0; HEAP32[$pIdx>>2] = $47; L17: while(1) { @@ -112049,7 +112912,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { break; } $50 = HEAP32[$pIdx>>2]|0; - $51 = (($50) + 50|0); + $51 = ((($50)) + 50|0); $52 = HEAP16[$51>>1]|0; $53 = $52&65535; $54 = HEAP32[$nCol>>2]|0; @@ -112057,7 +112920,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { do { if ($55) { $56 = HEAP32[$pIdx>>2]|0; - $57 = (($56) + 54|0); + $57 = ((($56)) + 54|0); $58 = HEAP8[$57>>0]|0; $59 = $58&255; $60 = ($59|0)!=(0); @@ -112066,7 +112929,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $62 = ($61|0)==(0|0); if ($62) { $63 = HEAP32[$pIdx>>2]|0; - $64 = (($63) + 55|0); + $64 = ((($63)) + 55|0); $65 = HEAP8[$64>>0]|0; $66 = $65 & 3; $67 = $66&255; @@ -112088,7 +112951,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { } $87 = HEAP32[$i1>>2]|0; $88 = HEAP32[$pIdx>>2]|0; - $89 = (($88) + 4|0); + $89 = ((($88)) + 4|0); $90 = HEAP32[$89>>2]|0; $91 = (($90) + ($87<<1)|0); $92 = HEAP16[$91>>1]|0; @@ -112096,19 +112959,19 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $93 = HEAP16[$iCol>>1]|0; $94 = $93 << 16 >> 16; $95 = HEAP32[$2>>2]|0; - $96 = (($95) + 4|0); + $96 = ((($95)) + 4|0); $97 = HEAP32[$96>>2]|0; $98 = (($97) + (($94*24)|0)|0); - $99 = (($98) + 16|0); + $99 = ((($98)) + 16|0); $100 = HEAP32[$99>>2]|0; HEAP32[$zDfltColl>>2] = $100; $101 = HEAP32[$zDfltColl>>2]|0; $102 = ($101|0)!=(0|0); - $$ = $102 ? $100 : 3320; + $$ = $102 ? $100 : 15963; HEAP32[$zDfltColl>>2] = $$; $103 = HEAP32[$i1>>2]|0; $104 = HEAP32[$pIdx>>2]|0; - $105 = (($104) + 32|0); + $105 = ((($104)) + 32|0); $106 = HEAP32[$105>>2]|0; $107 = (($106) + ($103<<2)|0); $108 = HEAP32[$107>>2]|0; @@ -112121,7 +112984,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $112 = HEAP16[$iCol>>1]|0; $113 = $112 << 16 >> 16; $114 = HEAP32[$2>>2]|0; - $115 = (($114) + 4|0); + $115 = ((($114)) + 4|0); $116 = HEAP32[$115>>2]|0; $117 = (($116) + (($113*24)|0)|0); $118 = HEAP32[$117>>2]|0; @@ -112136,9 +112999,9 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { } $122 = HEAP32[$j>>2]|0; $123 = HEAP32[$3>>2]|0; - $124 = (($123) + 36|0); + $124 = ((($123)) + 36|0); $125 = (($124) + ($122<<3)|0); - $126 = (($125) + 4|0); + $126 = ((($125)) + 4|0); $127 = HEAP32[$126>>2]|0; $128 = HEAP32[$zIdxCol>>2]|0; $129 = (_sqlite3_stricmp($127,$128)|0); @@ -112158,7 +113021,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { if ($132) { $133 = HEAP32[$j>>2]|0; $134 = HEAP32[$3>>2]|0; - $135 = (($134) + 36|0); + $135 = ((($134)) + 36|0); $136 = (($135) + ($133<<3)|0); $137 = HEAP32[$136>>2]|0; $138 = HEAP32[$i1>>2]|0; @@ -112187,7 +113050,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { } } while(0); $151 = HEAP32[$pIdx>>2]|0; - $152 = (($151) + 20|0); + $152 = ((($151)) + 20|0); $153 = HEAP32[$152>>2]|0; HEAP32[$pIdx>>2] = $153; } @@ -112206,7 +113069,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { } $74 = HEAP32[$i>>2]|0; $75 = HEAP32[$3>>2]|0; - $76 = (($75) + 36|0); + $76 = ((($75)) + 36|0); $77 = (($76) + ($74<<3)|0); $78 = HEAP32[$77>>2]|0; $79 = HEAP32[$i>>2]|0; @@ -112231,7 +113094,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { STACKTOP = sp;return ($172|0); } $156 = HEAP32[$1>>2]|0; - $157 = (($156) + 438|0); + $157 = ((($156)) + 438|0); $158 = HEAP8[$157>>0]|0; $159 = ($158<<24>>24)!=(0); if (!($159)) { @@ -112240,12 +113103,12 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $162 = HEAP32[$161>>2]|0; $163 = HEAP32[$162>>2]|0; $164 = HEAP32[$3>>2]|0; - $165 = (($164) + 8|0); + $165 = ((($164)) + 8|0); $166 = HEAP32[$165>>2]|0; HEAP32[$vararg_buffer>>2] = $163; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $166; - _sqlite3ErrorMsg($160,22088,$vararg_buffer); + _sqlite3ErrorMsg($160,24901,$vararg_buffer); } $167 = HEAP32[$1>>2]|0; $168 = HEAP32[$167>>2]|0; @@ -112264,29 +113127,29 @@ function _sqlite3IndexAffinityStr($v,$pIdx) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $pTab = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $n = sp + 8|0; - $pTab = sp + 4|0; - $db = sp; + $0 = sp + 4|0; + $1 = sp + 12|0; + $2 = sp + 16|0; + $n = sp + 20|0; + $pTab = sp; + $db = sp + 8|0; $x = sp + 24|0; HEAP32[$1>>2] = $v; HEAP32[$2>>2] = $pIdx; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 16|0); + $4 = ((($3)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); if (!($6)) { $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 12|0); + $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; HEAP32[$pTab>>2] = $9; $10 = HEAP32[$1>>2]|0; $11 = (_sqlite3VdbeDb($10)|0); HEAP32[$db>>2] = $11; $12 = HEAP32[$2>>2]|0; - $13 = (($12) + 52|0); + $13 = ((($12)) + 52|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = (($15) + 1)|0; @@ -112294,15 +113157,15 @@ function _sqlite3IndexAffinityStr($v,$pIdx) { $18 = $17 << 31 >> 31; $19 = (_sqlite3DbMallocRaw(0,$16,$18)|0); $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 16|0); + $21 = ((($20)) + 16|0); HEAP32[$21>>2] = $19; $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 16|0); + $23 = ((($22)) + 16|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(0|0); if (!($25)) { $26 = HEAP32[$db>>2]|0; - $27 = (($26) + 64|0); + $27 = ((($26)) + 64|0); HEAP8[$27>>0] = 1; HEAP32[$0>>2] = 0; $67 = HEAP32[$0>>2]|0; @@ -112312,7 +113175,7 @@ function _sqlite3IndexAffinityStr($v,$pIdx) { while(1) { $28 = HEAP32[$n>>2]|0; $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 52|0); + $30 = ((($29)) + 52|0); $31 = HEAP16[$30>>1]|0; $32 = $31&65535; $33 = ($28|0)<($32|0); @@ -112321,7 +113184,7 @@ function _sqlite3IndexAffinityStr($v,$pIdx) { if (!($33)) { break; } - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + ($34<<1)|0); $39 = HEAP16[$38>>1]|0; @@ -112335,10 +113198,10 @@ function _sqlite3IndexAffinityStr($v,$pIdx) { $43 = HEAP16[$x>>1]|0; $44 = $43 << 16 >> 16; $45 = HEAP32[$pTab>>2]|0; - $46 = (($45) + 4|0); + $46 = ((($45)) + 4|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + (($44*24)|0)|0); - $49 = (($48) + 21|0); + $49 = ((($48)) + 21|0); $50 = HEAP8[$49>>0]|0; $51 = $50 << 24 >> 24; $53 = $51; @@ -112346,7 +113209,7 @@ function _sqlite3IndexAffinityStr($v,$pIdx) { $52 = $53&255; $54 = HEAP32[$n>>2]|0; $55 = HEAP32[$2>>2]|0; - $56 = (($55) + 16|0); + $56 = ((($55)) + 16|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + ($54)|0); HEAP8[$58>>0] = $52; @@ -112354,13 +113217,13 @@ function _sqlite3IndexAffinityStr($v,$pIdx) { $60 = (($59) + 1)|0; HEAP32[$n>>2] = $60; } - $61 = (($35) + 16|0); + $61 = ((($35)) + 16|0); $62 = HEAP32[$61>>2]|0; $63 = (($62) + ($34)|0); HEAP8[$63>>0] = 0; } $64 = HEAP32[$2>>2]|0; - $65 = (($64) + 16|0); + $65 = ((($64)) + 16|0); $66 = HEAP32[$65>>2]|0; HEAP32[$0>>2] = $66; $67 = HEAP32[$0>>2]|0; @@ -112380,26 +113243,26 @@ function _sqlite3RegisterLikeFunctions($db,$caseSensitive) { $2 = HEAP32[$1>>2]|0; $3 = ($2|0)!=(0); if ($3) { - HEAP32[$pInfo>>2] = 22080; + HEAP32[$pInfo>>2] = 24805; } else { - HEAP32[$pInfo>>2] = 8776; + HEAP32[$pInfo>>2] = 24809; } $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$pInfo>>2]|0; - (_sqlite3CreateFunc($4,8784,2,1,$5,34,0,0,0)|0); + (_sqlite3CreateFunc($4,24813,2,1,$5,39,0,0,0)|0); $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$pInfo>>2]|0; - (_sqlite3CreateFunc($6,8784,3,1,$7,34,0,0,0)|0); + (_sqlite3CreateFunc($6,24813,3,1,$7,39,0,0,0)|0); $8 = HEAP32[$0>>2]|0; - (_sqlite3CreateFunc($8,8768,2,1,1208,34,0,0,0)|0); + (_sqlite3CreateFunc($8,24818,2,1,14421,39,0,0,0)|0); $9 = HEAP32[$0>>2]|0; - _setLikeOptFlag($9,8768,12); + _setLikeOptFlag($9,24818,12); $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$1>>2]|0; $12 = ($11|0)!=(0); $13 = $12 ? 12 : 4; $14 = $13&255; - _setLikeOptFlag($10,8784,$14); + _setLikeOptFlag($10,24813,$14); STACKTOP = sp;return; } function _sqlite3ExprCacheClear($pParse) { @@ -112414,7 +113277,7 @@ function _sqlite3ExprCacheClear($pParse) { HEAP32[$0>>2] = $pParse; HEAP32[$i>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 116|0); + $2 = ((($1)) + 116|0); HEAP32[$p>>2] = $2; while(1) { $3 = HEAP32[$i>>2]|0; @@ -112423,7 +113286,7 @@ function _sqlite3ExprCacheClear($pParse) { break; } $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 12|0); + $6 = ((($5)) + 12|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0); if ($8) { @@ -112431,14 +113294,14 @@ function _sqlite3ExprCacheClear($pParse) { $10 = HEAP32[$p>>2]|0; _cacheEntryClear($9,$10); $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); HEAP32[$12>>2] = 0; } $13 = HEAP32[$i>>2]|0; $14 = (($13) + 1)|0; HEAP32[$i>>2] = $14; $15 = HEAP32[$p>>2]|0; - $16 = (($15) + 20|0); + $16 = ((($15)) + 20|0); HEAP32[$p>>2] = $16; } STACKTOP = sp;return; @@ -112460,20 +113323,20 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu var $i = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $or$cond = 0, $pIdx = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; + $0 = sp + 16|0; + $1 = sp + 12|0; $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $6 = sp + 28|0; - $7 = sp + 24|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 40|0; + $6 = sp + 48|0; + $7 = sp + 52|0; $i = sp + 20|0; - $iDb = sp + 16|0; - $iDataCur = sp + 12|0; - $pIdx = sp + 8|0; - $v = sp + 4|0; - $iIdxCur = sp; + $iDb = sp; + $iDataCur = sp + 28|0; + $pIdx = sp + 4|0; + $v = sp + 24|0; + $iIdxCur = sp + 8|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTab; HEAP32[$3>>2] = $op; @@ -112482,7 +113345,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu HEAP32[$6>>2] = $piDataCur; HEAP32[$7>>2] = $piIdxCur; $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 44|0); + $9 = ((($8)) + 44|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 & 16; @@ -112495,7 +113358,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 68|0); + $17 = ((($16)) + 68|0); $18 = HEAP32[$17>>2]|0; $19 = (_sqlite3SchemaToIndex($15,$18)|0); HEAP32[$iDb>>2] = $19; @@ -112506,7 +113369,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu $23 = ($22|0)<(0); if ($23) { $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 68|0); + $25 = ((($24)) + 68|0); $26 = HEAP32[$25>>2]|0; HEAP32[$4>>2] = $26; } @@ -112522,7 +113385,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu HEAP32[$32>>2] = $31; } $33 = HEAP32[$2>>2]|0; - $34 = (($33) + 44|0); + $34 = ((($33)) + 44|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = $36 & 32; @@ -112555,7 +113418,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu $50 = HEAP32[$1>>2]|0; $51 = HEAP32[$iDb>>2]|0; $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 32|0); + $53 = ((($52)) + 32|0); $54 = HEAP32[$53>>2]|0; $55 = HEAP32[$3>>2]|0; $56 = ($55|0)==(55); @@ -112574,7 +113437,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu } HEAP32[$i>>2] = 0; $65 = HEAP32[$2>>2]|0; - $66 = (($65) + 8|0); + $66 = ((($65)) + 8|0); $67 = HEAP32[$66>>2]|0; HEAP32[$pIdx>>2] = $67; while(1) { @@ -112588,14 +113451,14 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu HEAP32[$4>>2] = $71; HEAP32[$iIdxCur>>2] = $70; $72 = HEAP32[$pIdx>>2]|0; - $73 = (($72) + 55|0); + $73 = ((($72)) + 55|0); $74 = HEAP8[$73>>0]|0; $75 = $74 & 3; $76 = $75&255; $77 = ($76|0)==(2); if ($77) { $78 = HEAP32[$2>>2]|0; - $79 = (($78) + 44|0); + $79 = ((($78)) + 44|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 & 32; @@ -112631,7 +113494,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu $98 = HEAP32[$3>>2]|0; $99 = HEAP32[$iIdxCur>>2]|0; $100 = HEAP32[$pIdx>>2]|0; - $101 = (($100) + 44|0); + $101 = ((($100)) + 44|0); $102 = HEAP32[$101>>2]|0; $103 = HEAP32[$iDb>>2]|0; (_sqlite3VdbeAddOp3($97,$98,$99,$102,$103)|0); @@ -112640,7 +113503,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu _sqlite3VdbeSetP4KeyInfo($104,$105); } $106 = HEAP32[$pIdx>>2]|0; - $107 = (($106) + 20|0); + $107 = ((($106)) + 20|0); $108 = HEAP32[$107>>2]|0; HEAP32[$pIdx>>2] = $108; $109 = HEAP32[$i>>2]|0; @@ -112648,13 +113511,13 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu HEAP32[$i>>2] = $110; } $111 = HEAP32[$1>>2]|0; - $112 = (($111) + 68|0); + $112 = ((($111)) + 68|0); $113 = HEAP32[$112>>2]|0; $114 = ($70|0)>($113|0); if ($114) { $115 = HEAP32[$4>>2]|0; $116 = HEAP32[$1>>2]|0; - $117 = (($116) + 68|0); + $117 = ((($116)) + 68|0); HEAP32[$117>>2] = $115; } $118 = HEAP32[$i>>2]|0; @@ -112662,6 +113525,103 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$iBase,$aToOpen,$piDataCu $119 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($119|0); } +function _likeFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $escape = 0, $nPat = 0, $or$cond = 0, $pInfo = 0, $zA = 0, $zB = 0, $zEsc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp; + $1 = sp + 16|0; + $2 = sp + 28|0; + $zA = sp + 4|0; + $zB = sp + 32|0; + $escape = sp + 36|0; + $nPat = sp + 12|0; + $db = sp + 24|0; + $zEsc = sp + 20|0; + $pInfo = sp + 8|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$escape>>2] = 0; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3_value_text($6)|0); + HEAP32[$zB>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3_value_text($10)|0); + HEAP32[$zA>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_bytes($13)|0); + HEAP32[$nPat>>2] = $14; + $15 = HEAP32[$nPat>>2]|0; + $16 = HEAP32[$db>>2]|0; + $17 = ((($16)) + 88|0); + $18 = ((($17)) + 32|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($15|0)>($19|0); + if ($20) { + $21 = HEAP32[$0>>2]|0; + _sqlite3_result_error($21,24823,-1); + STACKTOP = sp;return; + } + $22 = HEAP32[$1>>2]|0; + $23 = ($22|0)==(3); + do { + if ($23) { + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_text($26)|0); + HEAP32[$zEsc>>2] = $27; + $28 = HEAP32[$zEsc>>2]|0; + $29 = ($28|0)==(0|0); + if ($29) { + STACKTOP = sp;return; + } + $30 = HEAP32[$zEsc>>2]|0; + $31 = (_sqlite3Utf8CharLen($30,-1)|0); + $32 = ($31|0)!=(1); + if (!($32)) { + $34 = (_sqlite3Utf8Read($zEsc)|0); + HEAP32[$escape>>2] = $34; + break; + } + $33 = HEAP32[$0>>2]|0; + _sqlite3_result_error($33,24856,-1); + STACKTOP = sp;return; + } + } while(0); + $35 = HEAP32[$zA>>2]|0; + $36 = ($35|0)!=(0|0); + $37 = HEAP32[$zB>>2]|0; + $38 = ($37|0)!=(0|0); + $or$cond = $36 & $38; + if (!($or$cond)) { + STACKTOP = sp;return; + } + $39 = HEAP32[$0>>2]|0; + $40 = (_sqlite3_user_data($39)|0); + HEAP32[$pInfo>>2] = $40; + $41 = HEAP32[$0>>2]|0; + $42 = HEAP32[$zB>>2]|0; + $43 = HEAP32[$zA>>2]|0; + $44 = HEAP32[$pInfo>>2]|0; + $45 = HEAP32[$escape>>2]|0; + $46 = (_patternCompare($42,$43,$44,$45)|0); + _sqlite3_result_int($41,$46); + STACKTOP = sp;return; +} function _setLikeOptFlag($db,$zName,$flagVal) { $db = $db|0; $zName = $zName|0; @@ -112691,7 +113651,7 @@ function _setLikeOptFlag($db,$zName,$flagVal) { $10 = HEAP8[$2>>0]|0; $11 = $10&255; $12 = HEAP32[$pDef>>2]|0; - $13 = (($12) + 2|0); + $13 = ((($12)) + 2|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = $15 | $11; @@ -112699,6 +113659,75 @@ function _setLikeOptFlag($db,$zName,$flagVal) { HEAP16[$13>>1] = $17; STACKTOP = sp;return; } +function _sqlite3Utf8Read($pz) { + $pz = $pz|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $c = sp; + HEAP32[$0>>2] = $pz; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 1|0); + HEAP32[$1>>2] = $3; + $4 = HEAP8[$2>>0]|0; + $5 = $4&255; + HEAP32[$c>>2] = $5; + $6 = HEAP32[$c>>2]|0; + $7 = ($6>>>0)>=(192); + if (!($7)) { + $35 = HEAP32[$c>>2]|0; + STACKTOP = sp;return ($35|0); + } + $8 = HEAP32[$c>>2]|0; + $9 = (($8) - 192)|0; + $10 = (17815 + ($9)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + HEAP32[$c>>2] = $12; + while(1) { + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 & 192; + $18 = ($17|0)==(128); + $19 = HEAP32[$c>>2]|0; + if (!($18)) { + break; + } + $20 = $19 << 6; + $21 = HEAP32[$0>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 1|0); + HEAP32[$21>>2] = $23; + $24 = HEAP8[$22>>0]|0; + $25 = $24&255; + $26 = 63 & $25; + $27 = (($20) + ($26))|0; + HEAP32[$c>>2] = $27; + } + $28 = ($19>>>0)<(128); + if (!($28)) { + $29 = HEAP32[$c>>2]|0; + $30 = $29 & -2048; + $31 = ($30|0)==(55296); + if (!($31)) { + $32 = HEAP32[$c>>2]|0; + $33 = $32 & -2; + $34 = ($33|0)==(65534); + if (!($34)) { + $35 = HEAP32[$c>>2]|0; + STACKTOP = sp;return ($35|0); + } + } + } + HEAP32[$c>>2] = 65533; + $35 = HEAP32[$c>>2]|0; + STACKTOP = sp;return ($35|0); +} function _getTempStore($z) { $z = $z|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; @@ -112732,14 +113761,14 @@ function _getTempStore($z) { do { if ((label|0) == 4) { $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3_stricmp($14,21448)|0); + $15 = (_sqlite3_stricmp($14,24372)|0); $16 = ($15|0)==(0); if ($16) { HEAP32[$0>>2] = 1; break; } $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3_stricmp($17,4792)|0); + $18 = (_sqlite3_stricmp($17,17742)|0); $19 = ($18|0)==(0); if ($19) { HEAP32[$0>>2] = 2; @@ -112782,7 +113811,7 @@ function _sqlite3WalLimit($pWal,$0,$1) { $14 = $13; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 16|0); + $17 = ((($16)) + 16|0); $18 = $17; $19 = $18; HEAP32[$19>>2] = $12; @@ -112820,32 +113849,32 @@ function _releaseMemArray($p,$N) { $8 = (($7) + (($6*40)|0)|0); HEAP32[$pEnd>>2] = $8; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 32|0); + $10 = ((($9)) + 32|0); $11 = HEAP32[$10>>2]|0; HEAP32[$db>>2] = $11; $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 64|0); + $13 = ((($12)) + 64|0); $14 = HEAP8[$13>>0]|0; HEAP8[$malloc_failed>>0] = $14; $15 = HEAP32[$db>>2]|0; - $16 = (($15) + 520|0); + $16 = ((($15)) + 520|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)!=(0|0); if ($18) { while(1) { $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 24|0); + $20 = ((($19)) + 24|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)!=(0); if ($22) { $23 = HEAP32[$db>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 20|0); + $25 = ((($24)) + 20|0); $26 = HEAP32[$25>>2]|0; _sqlite3DbFree($23,$26); } $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 40|0); + $28 = ((($27)) + 40|0); HEAP32[$0>>2] = $28; $29 = HEAP32[$pEnd>>2]|0; $30 = ($28>>>0)<($29>>>0); @@ -112857,7 +113886,7 @@ function _releaseMemArray($p,$N) { } while(1) { $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 8|0); + $32 = ((($31)) + 8|0); $33 = HEAP16[$32>>1]|0; $34 = $33&65535; $35 = $34 & 9312; @@ -112866,25 +113895,25 @@ function _releaseMemArray($p,$N) { if ($36) { _sqlite3VdbeMemRelease($37); } else { - $38 = (($37) + 24|0); + $38 = ((($37)) + 24|0); $39 = HEAP32[$38>>2]|0; $40 = ($39|0)!=(0); if ($40) { $41 = HEAP32[$db>>2]|0; $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 20|0); + $43 = ((($42)) + 20|0); $44 = HEAP32[$43>>2]|0; _sqlite3DbFree($41,$44); $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 24|0); + $46 = ((($45)) + 24|0); HEAP32[$46>>2] = 0; } } $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); HEAP16[$48>>1] = 128; $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 40|0); + $50 = ((($49)) + 40|0); HEAP32[$0>>2] = $50; $51 = HEAP32[$pEnd>>2]|0; $52 = ($50>>>0)<($51>>>0); @@ -112894,7 +113923,7 @@ function _releaseMemArray($p,$N) { } $53 = HEAP8[$malloc_failed>>0]|0; $54 = HEAP32[$db>>2]|0; - $55 = (($54) + 64|0); + $55 = ((($54)) + 64|0); HEAP8[$55>>0] = $53; STACKTOP = sp;return; } @@ -112904,17 +113933,18 @@ function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { $zType = $zType|0; $zName = $zName|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $zDbName = 0, $zTab = 0, label = 0, sp = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $zDbName = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 80|0; $vararg_buffer1 = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $i = sp + 20|0; - $zDbName = sp + 16|0; - $zTab = sp + 40|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 32|0; + $1 = sp + 28|0; + $2 = sp + 40|0; + $3 = sp + 20|0; + $i = sp + 24|0; + $zDbName = sp + 36|0; + $zTab = sp + 48|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iDb; HEAP32[$2>>2] = $zType; @@ -112922,7 +113952,7 @@ function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 16|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($4<<4)|0); $10 = HEAP32[$9>>2]|0; @@ -112935,8 +113965,8 @@ function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { break; } $13 = HEAP32[$i>>2]|0; - HEAP32[$vararg_buffer1>>2] = $13; - (_sqlite3_snprintf(24,$zTab,23336,$vararg_buffer1)|0); + HEAP32[$vararg_buffer>>2] = $13; + (_sqlite3_snprintf(24,$zTab,25914,$vararg_buffer)|0); $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$zDbName>>2]|0; @@ -112948,13 +113978,13 @@ function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { $21 = HEAP32[$2>>2]|0; $22 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer1>>2] = $20; - $vararg_ptr4 = (($vararg_buffer1) + 4|0); + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $zTab; - $vararg_ptr5 = (($vararg_buffer1) + 8|0); + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); HEAP32[$vararg_ptr5>>2] = $21; - $vararg_ptr6 = (($vararg_buffer1) + 12|0); + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $22; - _sqlite3NestedParse($19,18480,$vararg_buffer1); + _sqlite3NestedParse($19,22406,$vararg_buffer1); } $23 = HEAP32[$i>>2]|0; $24 = (($23) + 1)|0; @@ -112996,26 +114026,26 @@ function _destroyRootPage($pParse,$iTable,$iDb) { $13 = HEAP32[$2>>2]|0; $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 16|0); + $16 = ((($15)) + 16|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($13<<4)|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$2>>2]|0; $21 = ($20|0)==(1); - $22 = $21 ? 14904 : 14928; + $22 = $21 ? 19269 : 19288; $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$r1>>2]|0; $25 = HEAP32[$r1>>2]|0; HEAP32[$vararg_buffer>>2] = $19; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $22; - $vararg_ptr2 = (($vararg_buffer) + 8|0); + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $23; - $vararg_ptr3 = (($vararg_buffer) + 12|0); + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $24; - $vararg_ptr4 = (($vararg_buffer) + 16|0); + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr4>>2] = $25; - _sqlite3NestedParse($12,23280,$vararg_buffer); + _sqlite3NestedParse($12,25858,$vararg_buffer); $26 = HEAP32[$0>>2]|0; $27 = HEAP32[$r1>>2]|0; _sqlite3ReleaseTempReg($26,$27); @@ -113032,16 +114062,16 @@ function _sqlite3ArrayAllocate($db,$pArray,$szEntry,$pnEntry,$pIdx) { var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $pNew = 0, $sz = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; + $3 = sp + 4|0; + $4 = sp + 32|0; + $5 = sp + 36|0; $z = sp + 12|0; - $n = sp + 8|0; - $sz = sp + 4|0; - $pNew = sp; + $n = sp + 24|0; + $sz = sp + 20|0; + $pNew = sp + 8|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pArray; HEAP32[$3>>2] = $szEntry; @@ -113059,13 +114089,9 @@ function _sqlite3ArrayAllocate($db,$pArray,$szEntry,$pnEntry,$pIdx) { if ($12) { $13 = HEAP32[$n>>2]|0; $14 = ($13|0)==(0); - if ($14) { - $17 = 1; - } else { - $15 = HEAP32[$n>>2]|0; - $16 = $15<<1; - $17 = $16; - } + $15 = HEAP32[$n>>2]|0; + $16 = $15<<1; + $17 = $14 ? 1 : $16; HEAP32[$sz>>2] = $17; $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$2>>2]|0; @@ -113123,14 +114149,14 @@ function _sqlite3TriggersExist($pParse,$pTab,$op,$pChanges,$pMask) { var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mask = 0, $p = 0, $pList = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $mask = sp + 8|0; - $pList = sp + 4|0; - $p = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $mask = sp; + $pList = sp + 12|0; + $p = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $op; @@ -113140,7 +114166,7 @@ function _sqlite3TriggersExist($pParse,$pTab,$op,$pChanges,$pMask) { HEAP32[$pList>>2] = 0; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 24|0); + $7 = ((($6)) + 24|0); $8 = HEAP32[$7>>2]|0; $9 = $8 & 8388608; $10 = ($9|0)!=(0); @@ -113159,21 +114185,21 @@ function _sqlite3TriggersExist($pParse,$pTab,$op,$pChanges,$pMask) { break; } $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = HEAP32[$2>>2]|0; $22 = ($20|0)==($21|0); if ($22) { $23 = HEAP32[$p>>2]|0; - $24 = (($23) + 16|0); + $24 = ((($23)) + 16|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$3>>2]|0; $27 = (_checkColumnOverlap($25,$26)|0); $28 = ($27|0)!=(0); if ($28) { $29 = HEAP32[$p>>2]|0; - $30 = (($29) + 9|0); + $30 = ((($29)) + 9|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $33 = HEAP32[$mask>>2]|0; @@ -113182,7 +114208,7 @@ function _sqlite3TriggersExist($pParse,$pTab,$op,$pChanges,$pMask) { } } $35 = HEAP32[$p>>2]|0; - $36 = (($35) + 32|0); + $36 = ((($35)) + 32|0); $37 = HEAP32[$36>>2]|0; HEAP32[$p>>2] = $37; } @@ -113210,19 +114236,20 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $viewOk = $viewOk|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTab; HEAP32[$3>>2] = $viewOk; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 44|0); + $5 = ((($4)) + 44|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = $7 & 16; @@ -113232,10 +114259,10 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$2>>2]|0; $13 = (_sqlite3GetVTable($11,$12)|0); - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 52|0); + $17 = ((($16)) + 52|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)==(0|0); if (!($19)) { @@ -113247,7 +114274,7 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { do { if ((label|0) == 3) { $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 44|0); + $21 = ((($20)) + 44|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $23 & 1; @@ -113255,13 +114282,13 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { if ($25) { $26 = HEAP32[$1>>2]|0; $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 24|0); + $28 = ((($27)) + 24|0); $29 = HEAP32[$28>>2]|0; $30 = $29 & 2048; $31 = ($30|0)==(0); if ($31) { $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 18|0); + $33 = ((($32)) + 18|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; $36 = ($35|0)==(0); @@ -113274,7 +114301,7 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $41 = ($40|0)!=(0); if (!($41)) { $42 = HEAP32[$2>>2]|0; - $43 = (($42) + 12|0); + $43 = ((($42)) + 12|0); $44 = HEAP32[$43>>2]|0; $45 = ($44|0)!=(0|0); if ($45) { @@ -113282,7 +114309,7 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $47 = HEAP32[$2>>2]|0; $48 = HEAP32[$47>>2]|0; HEAP32[$vararg_buffer1>>2] = $48; - _sqlite3ErrorMsg($46,24480,$vararg_buffer1); + _sqlite3ErrorMsg($46,26830,$vararg_buffer1); HEAP32[$0>>2] = 1; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -113296,8 +114323,8 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $37 = HEAP32[$1>>2]|0; $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$38>>2]|0; - HEAP32[$vararg_buffer1>>2] = $39; - _sqlite3ErrorMsg($37,24448,$vararg_buffer1); + HEAP32[$vararg_buffer>>2] = $39; + _sqlite3ErrorMsg($37,26801,$vararg_buffer); HEAP32[$0>>2] = 1; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -113310,7 +114337,7 @@ function _sqlite3VdbeCountChanges($v) { $0 = sp; HEAP32[$0>>2] = $v; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 88|0); + $2 = ((($1)) + 88|0); $3 = HEAP16[$2>>1]|0; $4 = $3 & -17; $5 = $4 | 16; @@ -113350,31 +114377,31 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { var $or$cond4 = 0, $pDestCol = 0, $pDestIdx = 0, $pEList = 0, $pItem = 0, $pSrc = 0, $pSrcCol = 0, $pSrcIdx = 0, $regAutoinc = 0, $regData = 0, $regRowid = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; - $0 = sp + 100|0; - $1 = sp + 96|0; - $2 = sp + 92|0; - $3 = sp + 88|0; - $4 = sp + 84|0; - $5 = sp + 80|0; - $pEList = sp + 76|0; - $pSrc = sp + 72|0; - $pSrcIdx = sp + 68|0; - $pDestIdx = sp + 64|0; - $pItem = sp + 60|0; - $i = sp + 56|0; - $iDbSrc = sp + 52|0; - $iSrc = sp + 48|0; - $iDest = sp + 44|0; - $addr1 = sp + 40|0; - $addr2 = sp + 36|0; - $emptyDestTest = sp + 32|0; - $emptySrcTest = sp + 28|0; - $v = sp + 24|0; - $regAutoinc = sp + 20|0; - $destHasUniqueIdx = sp + 16|0; - $regData = sp + 12|0; - $regRowid = sp + 8|0; - $pDestCol = sp + 4|0; + $0 = sp + 36|0; + $1 = sp + 32|0; + $2 = sp + 84|0; + $3 = sp + 92|0; + $4 = sp + 28|0; + $5 = sp + 8|0; + $pEList = sp + 12|0; + $pSrc = sp + 56|0; + $pSrcIdx = sp + 16|0; + $pDestIdx = sp + 72|0; + $pItem = sp + 80|0; + $i = sp + 88|0; + $iDbSrc = sp + 96|0; + $iSrc = sp + 100|0; + $iDest = sp + 40|0; + $addr1 = sp + 52|0; + $addr2 = sp + 44|0; + $emptyDestTest = sp + 48|0; + $emptySrcTest = sp + 60|0; + $v = sp + 4|0; + $regAutoinc = sp + 68|0; + $destHasUniqueIdx = sp + 20|0; + $regData = sp + 24|0; + $regRowid = sp + 76|0; + $pDestCol = sp + 64|0; $pSrcCol = sp; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pDest; @@ -113392,12 +114419,12 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 532|0); + $9 = ((($8)) + 532|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if (!($11)) { $12 = HEAP32[$3>>2]|0; - $13 = (($12) + 68|0); + $13 = ((($12)) + 68|0); $14 = HEAP32[$13>>2]|0; $15 = ($14|0)!=(0|0); if (!($15)) { @@ -113411,7 +114438,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 44|0); + $21 = ((($20)) + 44|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $23 & 16; @@ -113425,13 +114452,13 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $27 = ($26|0)==(10); if ($27) { $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 36|0); + $29 = ((($28)) + 36|0); $30 = HEAP16[$29>>1]|0; $31 = $30 << 16 >> 16; $32 = ($31|0)>=(0); if ($32) { $33 = HEAP32[$2>>2]|0; - $34 = (($33) + 45|0); + $34 = ((($33)) + 45|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; HEAP32[$4>>2] = $36; @@ -113443,7 +114470,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } } $39 = HEAP32[$3>>2]|0; - $40 = (($39) + 32|0); + $40 = ((($39)) + 32|0); $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$41>>2]|0; $43 = ($42|0)!=(1); @@ -113453,10 +114480,10 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $44 = HEAP32[$3>>2]|0; - $45 = (($44) + 32|0); + $45 = ((($44)) + 32|0); $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 8|0); - $48 = (($47) + 20|0); + $47 = ((($46)) + 8|0); + $48 = ((($47)) + 20|0); $49 = HEAP32[$48>>2]|0; $50 = ($49|0)!=(0|0); if ($50) { @@ -113465,7 +114492,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $51 = HEAP32[$3>>2]|0; - $52 = (($51) + 36|0); + $52 = ((($51)) + 36|0); $53 = HEAP32[$52>>2]|0; $54 = ($53|0)!=(0|0); if ($54) { @@ -113474,7 +114501,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $55 = HEAP32[$3>>2]|0; - $56 = (($55) + 48|0); + $56 = ((($55)) + 48|0); $57 = HEAP32[$56>>2]|0; $58 = ($57|0)!=(0|0); if ($58) { @@ -113483,7 +114510,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $59 = HEAP32[$3>>2]|0; - $60 = (($59) + 40|0); + $60 = ((($59)) + 40|0); $61 = HEAP32[$60>>2]|0; $62 = ($61|0)!=(0|0); if ($62) { @@ -113492,7 +114519,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $63 = HEAP32[$3>>2]|0; - $64 = (($63) + 60|0); + $64 = ((($63)) + 60|0); $65 = HEAP32[$64>>2]|0; $66 = ($65|0)!=(0|0); if ($66) { @@ -113501,7 +114528,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $67 = HEAP32[$3>>2]|0; - $68 = (($67) + 52|0); + $68 = ((($67)) + 52|0); $69 = HEAP32[$68>>2]|0; $70 = ($69|0)!=(0|0); if ($70) { @@ -113510,7 +114537,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $71 = HEAP32[$3>>2]|0; - $72 = (($71) + 6|0); + $72 = ((($71)) + 6|0); $73 = HEAP16[$72>>1]|0; $74 = $73&65535; $75 = $74 & 1; @@ -113532,7 +114559,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $82 = HEAP32[$pEList>>2]|0; - $83 = (($82) + 4|0); + $83 = ((($82)) + 4|0); $84 = HEAP32[$83>>2]|0; $85 = HEAP32[$84>>2]|0; $86 = HEAP8[$85>>0]|0; @@ -113544,9 +114571,9 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $89 = HEAP32[$3>>2]|0; - $90 = (($89) + 32|0); + $90 = ((($89)) + 32|0); $91 = HEAP32[$90>>2]|0; - $92 = (($91) + 8|0); + $92 = ((($91)) + 8|0); HEAP32[$pItem>>2] = $92; $93 = HEAP32[$1>>2]|0; $94 = HEAP32[$pItem>>2]|0; @@ -113568,14 +114595,14 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $101 = HEAP32[$2>>2]|0; - $102 = (($101) + 44|0); + $102 = ((($101)) + 44|0); $103 = HEAP8[$102>>0]|0; $104 = $103&255; $105 = $104 & 32; $106 = ($105|0)==(0); $107 = $106&1; $108 = HEAP32[$pSrc>>2]|0; - $109 = (($108) + 44|0); + $109 = ((($108)) + 44|0); $110 = HEAP8[$109>>0]|0; $111 = $110&255; $112 = $111 & 32; @@ -113588,7 +114615,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $116 = HEAP32[$pSrc>>2]|0; - $117 = (($116) + 44|0); + $117 = ((($116)) + 44|0); $118 = HEAP8[$117>>0]|0; $119 = $118&255; $120 = $119 & 16; @@ -113599,7 +114626,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $122 = HEAP32[$pSrc>>2]|0; - $123 = (($122) + 12|0); + $123 = ((($122)) + 12|0); $124 = HEAP32[$123>>2]|0; $125 = ($124|0)!=(0|0); if ($125) { @@ -113608,11 +114635,11 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $126 = HEAP32[$2>>2]|0; - $127 = (($126) + 38|0); + $127 = ((($126)) + 38|0); $128 = HEAP16[$127>>1]|0; $129 = $128 << 16 >> 16; $130 = HEAP32[$pSrc>>2]|0; - $131 = (($130) + 38|0); + $131 = ((($130)) + 38|0); $132 = HEAP16[$131>>1]|0; $133 = $132 << 16 >> 16; $134 = ($129|0)!=($133|0); @@ -113622,11 +114649,11 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $135 = HEAP32[$2>>2]|0; - $136 = (($135) + 36|0); + $136 = ((($135)) + 36|0); $137 = HEAP16[$136>>1]|0; $138 = $137 << 16 >> 16; $139 = HEAP32[$pSrc>>2]|0; - $140 = (($139) + 36|0); + $140 = ((($139)) + 36|0); $141 = HEAP16[$140>>1]|0; $142 = $141 << 16 >> 16; $143 = ($138|0)!=($142|0); @@ -113639,7 +114666,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { L91: while(1) { $144 = HEAP32[$i>>2]|0; $145 = HEAP32[$2>>2]|0; - $146 = (($145) + 38|0); + $146 = ((($145)) + 38|0); $147 = HEAP16[$146>>1]|0; $148 = $147 << 16 >> 16; $149 = ($144|0)<($148|0); @@ -113649,22 +114676,22 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } $150 = HEAP32[$i>>2]|0; $151 = HEAP32[$2>>2]|0; - $152 = (($151) + 4|0); + $152 = ((($151)) + 4|0); $153 = HEAP32[$152>>2]|0; $154 = (($153) + (($150*24)|0)|0); HEAP32[$pDestCol>>2] = $154; $155 = HEAP32[$i>>2]|0; $156 = HEAP32[$pSrc>>2]|0; - $157 = (($156) + 4|0); + $157 = ((($156)) + 4|0); $158 = HEAP32[$157>>2]|0; $159 = (($158) + (($155*24)|0)|0); HEAP32[$pSrcCol>>2] = $159; $160 = HEAP32[$pDestCol>>2]|0; - $161 = (($160) + 21|0); + $161 = ((($160)) + 21|0); $162 = HEAP8[$161>>0]|0; $163 = $162 << 24 >> 24; $164 = HEAP32[$pSrcCol>>2]|0; - $165 = (($164) + 21|0); + $165 = ((($164)) + 21|0); $166 = HEAP8[$165>>0]|0; $167 = $166 << 24 >> 24; $168 = ($163|0)!=($167|0); @@ -113673,10 +114700,10 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } $169 = HEAP32[$pDestCol>>2]|0; - $170 = (($169) + 16|0); + $170 = ((($169)) + 16|0); $171 = HEAP32[$170>>2]|0; $172 = HEAP32[$pSrcCol>>2]|0; - $173 = (($172) + 16|0); + $173 = ((($172)) + 16|0); $174 = HEAP32[$173>>2]|0; $175 = (_xferCompatibleCollation($171,$174)|0); $176 = ($175|0)!=(0); @@ -113685,13 +114712,13 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } $177 = HEAP32[$pDestCol>>2]|0; - $178 = (($177) + 20|0); + $178 = ((($177)) + 20|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180|0)!=(0); if ($181) { $182 = HEAP32[$pSrcCol>>2]|0; - $183 = (($182) + 20|0); + $183 = ((($182)) + 20|0); $184 = HEAP8[$183>>0]|0; $185 = ($184<<24>>24)!=(0); if (!($185)) { @@ -113704,12 +114731,12 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { do { if ($187) { $188 = HEAP32[$pDestCol>>2]|0; - $189 = (($188) + 8|0); + $189 = ((($188)) + 8|0); $190 = HEAP32[$189>>2]|0; $191 = ($190|0)==(0|0); $192 = $191&1; $193 = HEAP32[$pSrcCol>>2]|0; - $194 = (($193) + 8|0); + $194 = ((($193)) + 8|0); $195 = HEAP32[$194>>2]|0; $196 = ($195|0)==(0|0); $197 = $196&1; @@ -113719,17 +114746,17 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break L91; } $199 = HEAP32[$pDestCol>>2]|0; - $200 = (($199) + 8|0); + $200 = ((($199)) + 8|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)!=(0|0); if (!($202)) { break; } $203 = HEAP32[$pDestCol>>2]|0; - $204 = (($203) + 8|0); + $204 = ((($203)) + 8|0); $205 = HEAP32[$204>>2]|0; $206 = HEAP32[$pSrcCol>>2]|0; - $207 = (($206) + 8|0); + $207 = ((($206)) + 8|0); $208 = HEAP32[$207>>2]|0; $209 = (_strcmp($205,$208)|0); $210 = ($209|0)!=(0); @@ -113765,7 +114792,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } else if ((label|0) == 64) { $213 = HEAP32[$2>>2]|0; - $214 = (($213) + 8|0); + $214 = ((($213)) + 8|0); $215 = HEAP32[$214>>2]|0; HEAP32[$pDestIdx>>2] = $215; while(1) { @@ -113775,7 +114802,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } $218 = HEAP32[$pDestIdx>>2]|0; - $219 = (($218) + 54|0); + $219 = ((($218)) + 54|0); $220 = HEAP8[$219>>0]|0; $221 = $220&255; $222 = ($221|0)!=(0); @@ -113783,7 +114810,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { HEAP32[$destHasUniqueIdx>>2] = 1; } $223 = HEAP32[$pSrc>>2]|0; - $224 = (($223) + 8|0); + $224 = ((($223)) + 8|0); $225 = HEAP32[$224>>2]|0; HEAP32[$pSrcIdx>>2] = $225; while(1) { @@ -113800,7 +114827,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } $232 = HEAP32[$pSrcIdx>>2]|0; - $233 = (($232) + 20|0); + $233 = ((($232)) + 20|0); $234 = HEAP32[$233>>2]|0; HEAP32[$pSrcIdx>>2] = $234; } @@ -113811,7 +114838,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } $237 = HEAP32[$pDestIdx>>2]|0; - $238 = (($237) + 20|0); + $238 = ((($237)) + 20|0); $239 = HEAP32[$238>>2]|0; HEAP32[$pDestIdx>>2] = $239; } @@ -113821,16 +114848,16 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { STACKTOP = sp;return ($467|0); } $240 = HEAP32[$2>>2]|0; - $241 = (($240) + 24|0); + $241 = ((($240)) + 24|0); $242 = HEAP32[$241>>2]|0; $243 = ($242|0)!=(0|0); do { if ($243) { $244 = HEAP32[$pSrc>>2]|0; - $245 = (($244) + 24|0); + $245 = ((($244)) + 24|0); $246 = HEAP32[$245>>2]|0; $247 = HEAP32[$2>>2]|0; - $248 = (($247) + 24|0); + $248 = ((($247)) + 24|0); $249 = HEAP32[$248>>2]|0; $250 = (_sqlite3ExprListCompare($246,$249,-1)|0); $251 = ($250|0)!=(0); @@ -113844,14 +114871,14 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } while(0); $252 = HEAP32[$1>>2]|0; $253 = HEAP32[$252>>2]|0; - $254 = (($253) + 24|0); + $254 = ((($253)) + 24|0); $255 = HEAP32[$254>>2]|0; $256 = $255 & 524288; $257 = ($256|0)!=(0); do { if ($257) { $258 = HEAP32[$2>>2]|0; - $259 = (($258) + 16|0); + $259 = ((($258)) + 16|0); $260 = HEAP32[$259>>2]|0; $261 = ($260|0)!=(0|0); if (!($261)) { @@ -113864,7 +114891,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } while(0); $262 = HEAP32[$1>>2]|0; $263 = HEAP32[$262>>2]|0; - $264 = (($263) + 24|0); + $264 = ((($263)) + 24|0); $265 = HEAP32[$264>>2]|0; $266 = $265 & 128; $267 = ($266|0)!=(0); @@ -113876,7 +114903,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $268 = HEAP32[$1>>2]|0; $269 = HEAP32[$268>>2]|0; $270 = HEAP32[$pSrc>>2]|0; - $271 = (($270) + 68|0); + $271 = ((($270)) + 68|0); $272 = HEAP32[$271>>2]|0; $273 = (_sqlite3SchemaToIndex($269,$272)|0); HEAP32[$iDbSrc>>2] = $273; @@ -113887,13 +114914,13 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $277 = HEAP32[$iDbSrc>>2]|0; _sqlite3CodeVerifySchema($276,$277); $278 = HEAP32[$1>>2]|0; - $279 = (($278) + 68|0); + $279 = ((($278)) + 68|0); $280 = HEAP32[$279>>2]|0; $281 = (($280) + 1)|0; HEAP32[$279>>2] = $281; HEAP32[$iSrc>>2] = $280; $282 = HEAP32[$1>>2]|0; - $283 = (($282) + 68|0); + $283 = ((($282)) + 68|0); $284 = HEAP32[$283>>2]|0; $285 = (($284) + 1)|0; HEAP32[$283>>2] = $285; @@ -113915,13 +114942,13 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $297 = HEAP32[$2>>2]|0; _sqlite3OpenTable($294,$295,$296,$297,55); $298 = HEAP32[$2>>2]|0; - $299 = (($298) + 36|0); + $299 = ((($298)) + 36|0); $300 = HEAP16[$299>>1]|0; $301 = $300 << 16 >> 16; $302 = ($301|0)<(0); if ($302) { $303 = HEAP32[$2>>2]|0; - $304 = (($303) + 8|0); + $304 = ((($303)) + 8|0); $305 = HEAP32[$304>>2]|0; $306 = ($305|0)!=(0|0); $307 = HEAP32[$destHasUniqueIdx>>2]|0; @@ -113964,7 +114991,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { _sqlite3VdbeJumpHere($318,$319); } $320 = HEAP32[$pSrc>>2]|0; - $321 = (($320) + 44|0); + $321 = ((($320)) + 44|0); $322 = HEAP8[$321>>0]|0; $323 = $322&255; $324 = $323 & 32; @@ -113980,7 +115007,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $332 = (_sqlite3VdbeAddOp2($330,108,$331,0)|0); HEAP32[$emptySrcTest>>2] = $332; $333 = HEAP32[$2>>2]|0; - $334 = (($333) + 36|0); + $334 = ((($333)) + 36|0); $335 = HEAP16[$334>>1]|0; $336 = $335 << 16 >> 16; $337 = ($336|0)>=(0); @@ -114009,7 +115036,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { _autoIncStep($351,$352,$353); } else { $354 = HEAP32[$2>>2]|0; - $355 = (($354) + 8|0); + $355 = ((($354)) + 8|0); $356 = HEAP32[$355>>2]|0; $357 = ($356|0)==(0|0); $358 = HEAP32[$v>>2]|0; @@ -114056,7 +115083,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } else { $383 = HEAP32[$5>>2]|0; $384 = HEAP32[$2>>2]|0; - $385 = (($384) + 32|0); + $385 = ((($384)) + 32|0); $386 = HEAP32[$385>>2]|0; $387 = HEAP32[$2>>2]|0; $388 = HEAP32[$387>>2]|0; @@ -114064,14 +115091,14 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $389 = HEAP32[$1>>2]|0; $390 = HEAP32[$iDbSrc>>2]|0; $391 = HEAP32[$pSrc>>2]|0; - $392 = (($391) + 32|0); + $392 = ((($391)) + 32|0); $393 = HEAP32[$392>>2]|0; $394 = HEAP32[$pSrc>>2]|0; $395 = HEAP32[$394>>2]|0; _sqlite3TableLock($389,$390,$393,0,$395); } $396 = HEAP32[$2>>2]|0; - $397 = (($396) + 8|0); + $397 = ((($396)) + 8|0); $398 = HEAP32[$397>>2]|0; HEAP32[$pDestIdx>>2] = $398; while(1) { @@ -114081,7 +115108,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } $401 = HEAP32[$pSrc>>2]|0; - $402 = (($401) + 8|0); + $402 = ((($401)) + 8|0); $403 = HEAP32[$402>>2]|0; HEAP32[$pSrcIdx>>2] = $403; while(1) { @@ -114098,14 +115125,14 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } $410 = HEAP32[$pSrcIdx>>2]|0; - $411 = (($410) + 20|0); + $411 = ((($410)) + 20|0); $412 = HEAP32[$411>>2]|0; HEAP32[$pSrcIdx>>2] = $412; } $413 = HEAP32[$v>>2]|0; $414 = HEAP32[$iSrc>>2]|0; $415 = HEAP32[$pSrcIdx>>2]|0; - $416 = (($415) + 44|0); + $416 = ((($415)) + 44|0); $417 = HEAP32[$416>>2]|0; $418 = HEAP32[$iDbSrc>>2]|0; (_sqlite3VdbeAddOp3($413,54,$414,$417,$418)|0); @@ -114115,7 +115142,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $421 = HEAP32[$v>>2]|0; $422 = HEAP32[$iDest>>2]|0; $423 = HEAP32[$pDestIdx>>2]|0; - $424 = (($423) + 44|0); + $424 = ((($423)) + 44|0); $425 = HEAP32[$424>>2]|0; $426 = HEAP32[$5>>2]|0; (_sqlite3VdbeAddOp3($421,55,$422,$425,$426)|0); @@ -114151,7 +115178,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $448 = HEAP32[$iDest>>2]|0; (_sqlite3VdbeAddOp2($447,61,$448,0)|0); $449 = HEAP32[$pDestIdx>>2]|0; - $450 = (($449) + 20|0); + $450 = ((($449)) + 20|0); $451 = HEAP32[$450>>2]|0; HEAP32[$pDestIdx>>2] = $451; } @@ -114204,31 +115231,31 @@ function _autoIncBegin($pParse,$iDb,$pTab) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $memId = 0, $pInfo = 0, $pToplevel = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $memId = sp + 8|0; - $pToplevel = sp + 4|0; - $pInfo = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $memId = sp + 4|0; + $pToplevel = sp; + $pInfo = sp + 12|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $iDb; HEAP32[$3>>2] = $pTab; HEAP32[$memId>>2] = 0; $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 44|0); + $5 = ((($4)) + 44|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = $7 & 8; $9 = ($8|0)!=(0); if ($9) { $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 408|0); + $11 = ((($10)) + 408|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)!=(0|0); $14 = HEAP32[$1>>2]|0; if ($13) { - $15 = (($14) + 408|0); + $15 = ((($14)) + 408|0); $16 = HEAP32[$15>>2]|0; $17 = $16; } else { @@ -114236,7 +115263,7 @@ function _autoIncBegin($pParse,$iDb,$pTab) { } HEAP32[$pToplevel>>2] = $17; $18 = HEAP32[$pToplevel>>2]|0; - $19 = (($18) + 404|0); + $19 = ((($18)) + 404|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pInfo>>2] = $20; while(1) { @@ -114244,7 +115271,7 @@ function _autoIncBegin($pParse,$iDb,$pTab) { $22 = ($21|0)!=(0|0); if ($22) { $23 = HEAP32[$pInfo>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$3>>2]|0; $27 = ($25|0)!=($26|0); @@ -114270,37 +115297,37 @@ function _autoIncBegin($pParse,$iDb,$pTab) { $35 = ($34|0)==(0|0); if (!($35)) { $36 = HEAP32[$pToplevel>>2]|0; - $37 = (($36) + 404|0); + $37 = ((($36)) + 404|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$pInfo>>2]|0; HEAP32[$39>>2] = $38; $40 = HEAP32[$pInfo>>2]|0; $41 = HEAP32[$pToplevel>>2]|0; - $42 = (($41) + 404|0); + $42 = ((($41)) + 404|0); HEAP32[$42>>2] = $40; $43 = HEAP32[$3>>2]|0; $44 = HEAP32[$pInfo>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); HEAP32[$45>>2] = $43; $46 = HEAP32[$2>>2]|0; $47 = HEAP32[$pInfo>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); HEAP32[$48>>2] = $46; $49 = HEAP32[$pToplevel>>2]|0; - $50 = (($49) + 72|0); + $50 = ((($49)) + 72|0); $51 = HEAP32[$50>>2]|0; $52 = (($51) + 1)|0; HEAP32[$50>>2] = $52; $53 = HEAP32[$pToplevel>>2]|0; - $54 = (($53) + 72|0); + $54 = ((($53)) + 72|0); $55 = HEAP32[$54>>2]|0; $56 = (($55) + 1)|0; HEAP32[$54>>2] = $56; $57 = HEAP32[$pInfo>>2]|0; - $58 = (($57) + 12|0); + $58 = ((($57)) + 12|0); HEAP32[$58>>2] = $56; $59 = HEAP32[$pToplevel>>2]|0; - $60 = (($59) + 72|0); + $60 = ((($59)) + 72|0); $61 = HEAP32[$60>>2]|0; $62 = (($61) + 1)|0; HEAP32[$60>>2] = $62; @@ -114312,7 +115339,7 @@ function _autoIncBegin($pParse,$iDb,$pTab) { } } while(0); $63 = HEAP32[$pInfo>>2]|0; - $64 = (($63) + 12|0); + $64 = ((($63)) + 12|0); $65 = HEAP32[$64>>2]|0; HEAP32[$memId>>2] = $65; } @@ -114331,17 +115358,17 @@ function _readsTable($p,$iDb,$pTab) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iEnd = 0, $pIndex = 0, $pOp = 0, $pVTab = 0, $tnum = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp; $3 = sp + 28|0; - $v = sp + 24|0; - $i = sp + 20|0; - $iEnd = sp + 16|0; - $pVTab = sp + 12|0; - $pOp = sp + 8|0; - $pIndex = sp + 4|0; - $tnum = sp; + $v = sp + 32|0; + $i = sp + 40|0; + $iEnd = sp + 12|0; + $pVTab = sp + 24|0; + $pOp = sp + 20|0; + $pIndex = sp + 8|0; + $tnum = sp + 4|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $iDb; HEAP32[$3>>2] = $pTab; @@ -114352,7 +115379,7 @@ function _readsTable($p,$iDb,$pTab) { $7 = (_sqlite3VdbeCurrentAddr($6)|0); HEAP32[$iEnd>>2] = $7; $8 = HEAP32[$3>>2]|0; - $9 = (($8) + 44|0); + $9 = ((($8)) + 44|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 & 16; @@ -114387,18 +115414,18 @@ function _readsTable($p,$iDb,$pTab) { L7: do { if ($28) { $29 = HEAP32[$pOp>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = HEAP32[$2>>2]|0; $33 = ($31|0)==($32|0); if ($33) { $34 = HEAP32[$pOp>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); $36 = HEAP32[$35>>2]|0; HEAP32[$tnum>>2] = $36; $37 = HEAP32[$tnum>>2]|0; $38 = HEAP32[$3>>2]|0; - $39 = (($38) + 32|0); + $39 = ((($38)) + 32|0); $40 = HEAP32[$39>>2]|0; $41 = ($37|0)==($40|0); if ($41) { @@ -114406,7 +115433,7 @@ function _readsTable($p,$iDb,$pTab) { break L4; } $42 = HEAP32[$3>>2]|0; - $43 = (($42) + 8|0); + $43 = ((($42)) + 8|0); $44 = HEAP32[$43>>2]|0; HEAP32[$pIndex>>2] = $44; while(1) { @@ -114417,7 +115444,7 @@ function _readsTable($p,$iDb,$pTab) { } $47 = HEAP32[$tnum>>2]|0; $48 = HEAP32[$pIndex>>2]|0; - $49 = (($48) + 44|0); + $49 = ((($48)) + 44|0); $50 = HEAP32[$49>>2]|0; $51 = ($47|0)==($50|0); if ($51) { @@ -114425,7 +115452,7 @@ function _readsTable($p,$iDb,$pTab) { break L4; } $52 = HEAP32[$pIndex>>2]|0; - $53 = (($52) + 20|0); + $53 = ((($52)) + 20|0); $54 = HEAP32[$53>>2]|0; HEAP32[$pIndex>>2] = $54; } @@ -114438,7 +115465,7 @@ function _readsTable($p,$iDb,$pTab) { $58 = ($57|0)==(147); if ($58) { $59 = HEAP32[$pOp>>2]|0; - $60 = (($59) + 16|0); + $60 = ((($59)) + 16|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$pVTab>>2]|0; $63 = ($61|0)==($62|0); @@ -114471,7 +115498,7 @@ function _readsTable($p,$iDb,$pTab) { $66 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($66|0); } - return 0|0; + return (0)|0; } function _sqlite3ExprCodeAndCache($pParse,$pExpr,$target) { $pParse = $pParse|0; @@ -114490,7 +115517,7 @@ function _sqlite3ExprCodeAndCache($pParse,$pExpr,$target) { HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $target; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$v>>2] = $5; $6 = HEAP32[$0>>2]|0; @@ -114498,7 +115525,7 @@ function _sqlite3ExprCodeAndCache($pParse,$pExpr,$target) { $8 = HEAP32[$2>>2]|0; _sqlite3ExprCode($6,$7,$8); $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 72|0); + $10 = ((($9)) + 72|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + 1)|0; HEAP32[$10>>2] = $12; @@ -114532,7 +115559,7 @@ function _sqlite3TableAffinity($v,$pTab,$iReg) { HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $iReg; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 20|0); + $4 = ((($3)) + 20|0); $5 = HEAP32[$4>>2]|0; HEAP32[$zColAff>>2] = $5; $6 = HEAP32[$zColAff>>2]|0; @@ -114542,7 +115569,7 @@ function _sqlite3TableAffinity($v,$pTab,$iReg) { $9 = (_sqlite3VdbeDb($8)|0); HEAP32[$db>>2] = $9; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 38|0); + $11 = ((($10)) + 38|0); $12 = HEAP16[$11>>1]|0; $13 = $12 << 16 >> 16; $14 = (($13) + 1)|0; @@ -114554,7 +115581,7 @@ function _sqlite3TableAffinity($v,$pTab,$iReg) { $19 = ($18|0)!=(0|0); if (!($19)) { $20 = HEAP32[$db>>2]|0; - $21 = (($20) + 64|0); + $21 = ((($20)) + 64|0); HEAP8[$21>>0] = 1; STACKTOP = sp;return; } @@ -114562,7 +115589,7 @@ function _sqlite3TableAffinity($v,$pTab,$iReg) { while(1) { $22 = HEAP32[$i>>2]|0; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 38|0); + $24 = ((($23)) + 38|0); $25 = HEAP16[$24>>1]|0; $26 = $25 << 16 >> 16; $27 = ($22|0)<($26|0); @@ -114571,10 +115598,10 @@ function _sqlite3TableAffinity($v,$pTab,$iReg) { } $28 = HEAP32[$i>>2]|0; $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 4|0); + $30 = ((($29)) + 4|0); $31 = HEAP32[$30>>2]|0; $32 = (($31) + (($28*24)|0)|0); - $33 = (($32) + 21|0); + $33 = ((($32)) + 21|0); $34 = HEAP8[$33>>0]|0; $35 = HEAP32[$i>>2]|0; $36 = HEAP32[$zColAff>>2]|0; @@ -114608,7 +115635,7 @@ function _sqlite3TableAffinity($v,$pTab,$iReg) { } $52 = HEAP32[$zColAff>>2]|0; $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 20|0); + $54 = ((($53)) + 20|0); HEAP32[$54>>2] = $52; } $55 = HEAP32[$zColAff>>2]|0; @@ -114651,16 +115678,16 @@ function _sqlite3CodeRowTrigger($pParse,$pTrigger,$op,$pChanges,$tr_tm,$pTab,$re var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; + $3 = sp + 4|0; + $4 = sp + 32|0; + $5 = sp + 36|0; $6 = sp + 12|0; - $7 = sp + 8|0; - $8 = sp + 4|0; - $p = sp; + $7 = sp + 24|0; + $8 = sp + 20|0; + $p = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTrigger; HEAP32[$2>>2] = $op; @@ -114679,21 +115706,21 @@ function _sqlite3CodeRowTrigger($pParse,$pTrigger,$op,$pChanges,$tr_tm,$pTab,$re break; } $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = HEAP32[$2>>2]|0; $17 = ($15|0)==($16|0); if ($17) { $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 9|0); + $19 = ((($18)) + 9|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = HEAP32[$4>>2]|0; $23 = ($21|0)==($22|0); if ($23) { $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 16|0); + $25 = ((($24)) + 16|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$3>>2]|0; $28 = (_checkColumnOverlap($26,$27)|0); @@ -114710,7 +115737,7 @@ function _sqlite3CodeRowTrigger($pParse,$pTrigger,$op,$pChanges,$tr_tm,$pTab,$re } } $36 = HEAP32[$p>>2]|0; - $37 = (($36) + 32|0); + $37 = ((($36)) + 32|0); $38 = HEAP32[$37>>2]|0; HEAP32[$p>>2] = $38; } @@ -114735,7 +115762,7 @@ function _autoIncStep($pParse,$memId,$regRowid) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$2>>2]|0; @@ -114756,7 +115783,7 @@ function _sqlite3ExprCodeFactorable($pParse,$pExpr,$target) { HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $target; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 23|0); + $4 = ((($3)) + 23|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)!=(0); @@ -114795,12 +115822,12 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 408|0); + $3 = ((($2)) + 408|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); $6 = HEAP32[$0>>2]|0; if ($5) { - $7 = (($6) + 408|0); + $7 = ((($6)) + 408|0); $8 = HEAP32[$7>>2]|0; $9 = $8; } else { @@ -114811,7 +115838,7 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { while(1) { $10 = HEAP32[$i>>2]|0; $11 = HEAP32[$pToplevel>>2]|0; - $12 = (($11) + 452|0); + $12 = ((($11)) + 452|0); $13 = HEAP32[$12>>2]|0; $14 = ($10|0)<($13|0); if (!($14)) { @@ -114820,7 +115847,7 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { $15 = HEAP32[$1>>2]|0; $16 = HEAP32[$i>>2]|0; $17 = HEAP32[$pToplevel>>2]|0; - $18 = (($17) + 520|0); + $18 = ((($17)) + 520|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + ($16<<2)|0); $21 = HEAP32[$20>>2]|0; @@ -114837,13 +115864,13 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { STACKTOP = sp;return; } $25 = HEAP32[$pToplevel>>2]|0; - $26 = (($25) + 452|0); + $26 = ((($25)) + 452|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + 1)|0; $29 = $28<<2; HEAP32[$n>>2] = $29; $30 = HEAP32[$pToplevel>>2]|0; - $31 = (($30) + 520|0); + $31 = ((($30)) + 520|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$n>>2]|0; $34 = (_sqlite3_realloc($32,$33)|0); @@ -114853,16 +115880,16 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { if ($36) { $37 = HEAP32[$apVtabLock>>2]|0; $38 = HEAP32[$pToplevel>>2]|0; - $39 = (($38) + 520|0); + $39 = ((($38)) + 520|0); HEAP32[$39>>2] = $37; $40 = HEAP32[$1>>2]|0; $41 = HEAP32[$pToplevel>>2]|0; - $42 = (($41) + 452|0); + $42 = ((($41)) + 452|0); $43 = HEAP32[$42>>2]|0; $44 = (($43) + 1)|0; HEAP32[$42>>2] = $44; $45 = HEAP32[$pToplevel>>2]|0; - $46 = (($45) + 520|0); + $46 = ((($45)) + 520|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + ($43<<2)|0); HEAP32[$48>>2] = $40; @@ -114870,7 +115897,7 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { } else { $49 = HEAP32[$pToplevel>>2]|0; $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 64|0); + $51 = ((($50)) + 64|0); HEAP8[$51>>0] = 1; STACKTOP = sp;return; } @@ -114922,51 +115949,51 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx sp = STACKTOP; STACKTOP = STACKTOP + 176|0; $vararg_buffer = sp; - $0 = sp + 168|0; - $1 = sp + 164|0; - $2 = sp + 160|0; - $3 = sp + 156|0; - $4 = sp + 152|0; - $5 = sp + 148|0; - $6 = sp + 144|0; - $7 = sp + 175|0; - $8 = sp + 174|0; - $9 = sp + 140|0; - $10 = sp + 136|0; - $v = sp + 132|0; - $pIdx = sp + 128|0; - $pPk = sp + 124|0; - $db = sp + 120|0; - $i = sp + 116|0; - $ix = sp + 112|0; - $nCol = sp + 108|0; - $onError = sp + 104|0; - $j1 = sp + 100|0; - $seenReplace = sp + 96|0; - $nPkField = sp + 92|0; - $ipkTop = sp + 88|0; - $ipkBottom = sp + 84|0; - $isUpdate = sp + 173|0; - $bAffinityDone = sp + 172|0; - $regRowid = sp + 80|0; - $zMsg = sp + 76|0; - $pCheck = sp + 72|0; - $allOk = sp + 68|0; - $zName = sp + 64|0; - $addrRowidOk = sp + 60|0; - $pTrigger = sp + 56|0; - $regIdx = sp + 52|0; - $regR = sp + 48|0; - $iThisCur = sp + 44|0; - $addrUniqueOk = sp + 40|0; - $iField = sp + 36|0; - $x = sp + 32|0; - $x1 = sp + 28|0; - $addrJump = sp + 24|0; - $op = sp + 20|0; - $regCmp = sp + 16|0; - $p4 = sp + 12|0; - $pTrigger2 = sp + 8|0; + $0 = sp + 152|0; + $1 = sp + 8|0; + $2 = sp + 60|0; + $3 = sp + 64|0; + $4 = sp + 120|0; + $5 = sp + 16|0; + $6 = sp + 116|0; + $7 = sp + 172|0; + $8 = sp + 173|0; + $9 = sp + 28|0; + $10 = sp + 32|0; + $v = sp + 36|0; + $pIdx = sp + 40|0; + $pPk = sp + 44|0; + $db = sp + 112|0; + $i = sp + 132|0; + $ix = sp + 140|0; + $nCol = sp + 148|0; + $onError = sp + 156|0; + $j1 = sp + 164|0; + $seenReplace = sp + 68|0; + $nPkField = sp + 72|0; + $ipkTop = sp + 168|0; + $ipkBottom = sp + 80|0; + $isUpdate = sp + 174|0; + $bAffinityDone = sp + 175|0; + $regRowid = sp + 92|0; + $zMsg = sp + 96|0; + $pCheck = sp + 100|0; + $allOk = sp + 104|0; + $zName = sp + 108|0; + $addrRowidOk = sp + 20|0; + $pTrigger = sp + 128|0; + $regIdx = sp + 76|0; + $regR = sp + 12|0; + $iThisCur = sp + 52|0; + $addrUniqueOk = sp + 136|0; + $iField = sp + 56|0; + $x = sp + 144|0; + $x1 = sp + 124|0; + $addrJump = sp + 160|0; + $op = sp + 88|0; + $regCmp = sp + 84|0; + $p4 = sp + 24|0; + $pTrigger2 = sp + 48|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $aRegIdx; @@ -114996,12 +116023,12 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $18 = (_sqlite3GetVdbe($17)|0); HEAP32[$v>>2] = $18; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 38|0); + $20 = ((($19)) + 38|0); $21 = HEAP16[$20>>1]|0; $22 = $21 << 16 >> 16; HEAP32[$nCol>>2] = $22; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 44|0); + $24 = ((($23)) + 44|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; $27 = $26 & 32; @@ -115014,7 +116041,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $30 = (_sqlite3PrimaryKeyIndex($29)|0); HEAP32[$pPk>>2] = $30; $31 = HEAP32[$pPk>>2]|0; - $32 = (($31) + 50|0); + $32 = ((($31)) + 50|0); $33 = HEAP16[$32>>1]|0; $34 = $33&65535; HEAP32[$nPkField>>2] = $34; @@ -115029,18 +116056,18 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } $38 = HEAP32[$i>>2]|0; $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 36|0); + $40 = ((($39)) + 36|0); $41 = HEAP16[$40>>1]|0; $42 = $41 << 16 >> 16; $43 = ($38|0)==($42|0); - do { + L8: do { if (!($43)) { $44 = HEAP32[$i>>2]|0; $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 4|0); + $46 = ((($45)) + 4|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + (($44*24)|0)|0); - $49 = (($48) + 20|0); + $49 = ((($48)) + 20|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; HEAP32[$onError>>2] = $51; @@ -115066,10 +116093,10 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx if ($62) { $63 = HEAP32[$i>>2]|0; $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 4|0); + $65 = ((($64)) + 4|0); $66 = HEAP32[$65>>2]|0; $67 = (($66) + (($63*24)|0)|0); - $68 = (($67) + 4|0); + $68 = ((($67)) + 4|0); $69 = HEAP32[$68>>2]|0; $70 = ($69|0)==(0|0); if ($70) { @@ -115077,7 +116104,16 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } } $71 = HEAP32[$onError>>2]|0; - if ((($71|0) == 4)) { + switch ($71|0) { + case 2: { + $72 = HEAP32[$0>>2]|0; + _sqlite3MayAbort($72); + break; + } + case 3: case 1: { + break; + } + case 4: { $91 = HEAP32[$v>>2]|0; $92 = HEAP32[$5>>2]|0; $93 = (($92) + 1)|0; @@ -115085,11 +116121,10 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $95 = (($93) + ($94))|0; $96 = HEAP32[$9>>2]|0; (_sqlite3VdbeAddOp2($91,76,$95,$96)|0); + break L8; break; - } else if ((($71|0) == 2)) { - $72 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($72); - } else if (!((($71|0) == 3) | (($71|0) == 1))) { + } + default: { $97 = HEAP32[$v>>2]|0; $98 = HEAP32[$5>>2]|0; $99 = (($98) + 1)|0; @@ -115100,10 +116135,10 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $103 = HEAP32[$0>>2]|0; $104 = HEAP32[$i>>2]|0; $105 = HEAP32[$1>>2]|0; - $106 = (($105) + 4|0); + $106 = ((($105)) + 4|0); $107 = HEAP32[$106>>2]|0; $108 = (($107) + (($104*24)|0)|0); - $109 = (($108) + 4|0); + $109 = ((($108)) + 4|0); $110 = HEAP32[$109>>2]|0; $111 = HEAP32[$5>>2]|0; $112 = (($111) + 1)|0; @@ -115113,21 +116148,22 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $115 = HEAP32[$v>>2]|0; $116 = HEAP32[$j1>>2]|0; _sqlite3VdbeJumpHere($115,$116); - break; + break L8; + } } $73 = HEAP32[$db>>2]|0; $74 = HEAP32[$1>>2]|0; $75 = HEAP32[$74>>2]|0; $76 = HEAP32[$i>>2]|0; $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 4|0); + $78 = ((($77)) + 4|0); $79 = HEAP32[$78>>2]|0; $80 = (($79) + (($76*24)|0)|0); $81 = HEAP32[$80>>2]|0; HEAP32[$vararg_buffer>>2] = $75; - $vararg_ptr4 = (($vararg_buffer) + 4|0); + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr4>>2] = $81; - $82 = (_sqlite3MPrintf($73,17448,$vararg_buffer)|0); + $82 = (_sqlite3MPrintf($73,21695,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $82; $83 = HEAP32[$v>>2]|0; $84 = HEAP32[$onError>>2]|0; @@ -115147,36 +116183,32 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx HEAP32[$i>>2] = $118; } $119 = HEAP32[$1>>2]|0; - $120 = (($119) + 24|0); + $120 = ((($119)) + 24|0); $121 = HEAP32[$120>>2]|0; $122 = ($121|0)!=(0|0); L27: do { if ($122) { $123 = HEAP32[$db>>2]|0; - $124 = (($123) + 24|0); + $124 = ((($123)) + 24|0); $125 = HEAP32[$124>>2]|0; $126 = $125 & 8192; $127 = ($126|0)==(0); if ($127) { $128 = HEAP32[$1>>2]|0; - $129 = (($128) + 24|0); + $129 = ((($128)) + 24|0); $130 = HEAP32[$129>>2]|0; HEAP32[$pCheck>>2] = $130; $131 = HEAP32[$5>>2]|0; $132 = (($131) + 1)|0; $133 = HEAP32[$0>>2]|0; - $134 = (($133) + 92|0); + $134 = ((($133)) + 92|0); HEAP32[$134>>2] = $132; $135 = HEAP8[$8>>0]|0; $136 = $135&255; $137 = ($136|0)!=(10); - if ($137) { - $138 = HEAP8[$8>>0]|0; - $139 = $138&255; - $140 = $139; - } else { - $140 = 2; - } + $138 = HEAP8[$8>>0]|0; + $139 = $138&255; + $140 = $137 ? $139 : 2; HEAP32[$onError>>2] = $140; HEAP32[$i>>2] = 0; while(1) { @@ -115193,7 +116225,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $147 = HEAP32[$0>>2]|0; $148 = HEAP32[$i>>2]|0; $149 = HEAP32[$pCheck>>2]|0; - $150 = (($149) + 4|0); + $150 = ((($149)) + 4|0); $151 = HEAP32[$150>>2]|0; $152 = (($151) + (($148*20)|0)|0); $153 = HEAP32[$152>>2]|0; @@ -115208,10 +116240,10 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } else { $159 = HEAP32[$i>>2]|0; $160 = HEAP32[$pCheck>>2]|0; - $161 = (($160) + 4|0); + $161 = ((($160)) + 4|0); $162 = HEAP32[$161>>2]|0; $163 = (($162) + (($159*20)|0)|0); - $164 = (($163) + 4|0); + $164 = ((($163)) + 4|0); $165 = HEAP32[$164>>2]|0; HEAP32[$zName>>2] = $165; $166 = HEAP32[$zName>>2]|0; @@ -115252,7 +116284,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $185 = (_sqlite3VdbeMakeLabel($184)|0); HEAP32[$addrRowidOk>>2] = $185; $186 = HEAP32[$1>>2]|0; - $187 = (($186) + 45|0); + $187 = ((($186)) + 45|0); $188 = HEAP8[$187>>0]|0; $189 = $188&255; HEAP32[$onError>>2] = $189; @@ -115283,24 +116315,24 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } $204 = HEAP32[$onError>>2]|0; $205 = ($204|0)==(5); - L57: do { + L54: do { if ($205) { $206 = HEAP8[$8>>0]|0; $207 = $206&255; $208 = ($207|0)!=(5); if ($208) { $209 = HEAP32[$1>>2]|0; - $210 = (($209) + 8|0); + $210 = ((($209)) + 8|0); $211 = HEAP32[$210>>2]|0; HEAP32[$pIdx>>2] = $211; while(1) { $212 = HEAP32[$pIdx>>2]|0; $213 = ($212|0)!=(0|0); if (!($213)) { - break L57; + break L54; } $214 = HEAP32[$pIdx>>2]|0; - $215 = (($214) + 54|0); + $215 = ((($214)) + 54|0); $216 = HEAP8[$215>>0]|0; $217 = $216&255; $218 = ($217|0)==(4); @@ -115308,7 +116340,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx break; } $219 = HEAP32[$pIdx>>2]|0; - $220 = (($219) + 54|0); + $220 = ((($219)) + 54|0); $221 = HEAP8[$220>>0]|0; $222 = $221&255; $223 = ($222|0)==(3); @@ -115316,7 +116348,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx break; } $226 = HEAP32[$pIdx>>2]|0; - $227 = (($226) + 20|0); + $227 = ((($226)) + 20|0); $228 = HEAP32[$227>>2]|0; HEAP32[$pIdx>>2] = $228; } @@ -115333,10 +116365,14 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx (_sqlite3VdbeAddOp3($229,70,$230,$231,$232)|0); $233 = HEAP32[$onError>>2]|0; switch ($233|0) { + case 3: case 2: case 1: { + label = 50; + break; + } case 5: { HEAP32[$pTrigger>>2] = 0; $237 = HEAP32[$db>>2]|0; - $238 = (($237) + 24|0); + $238 = ((($237)) + 24|0); $239 = HEAP32[$238>>2]|0; $240 = $239 & 262144; $241 = ($240|0)!=(0); @@ -115349,17 +116385,17 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $245 = HEAP32[$pTrigger>>2]|0; $246 = ($245|0)!=(0|0); if ($246) { - label = 57; + label = 55; } else { $247 = HEAP32[$0>>2]|0; $248 = HEAP32[$1>>2]|0; $249 = (_sqlite3FkRequired($247,$248,0,0)|0); $250 = ($249|0)!=(0); if ($250) { - label = 57; + label = 55; } else { $258 = HEAP32[$1>>2]|0; - $259 = (($258) + 8|0); + $259 = ((($258)) + 8|0); $260 = HEAP32[$259>>2]|0; $261 = ($260|0)!=(0|0); if ($261) { @@ -115373,7 +116409,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } } } - if ((label|0) == 57) { + if ((label|0) == 55) { $251 = HEAP32[$0>>2]|0; _sqlite3MultiWrite($251); $252 = HEAP32[$0>>2]|0; @@ -115387,10 +116423,6 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx HEAP32[$seenReplace>>2] = 1; break; } - case 3: case 2: case 1: { - label = 52; - break; - } case 4: { $267 = HEAP32[$v>>2]|0; $268 = HEAP32[$9>>2]|0; @@ -115399,10 +116431,10 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } default: { HEAP32[$onError>>2] = 2; - label = 52; + label = 50; } } - if ((label|0) == 52) { + if ((label|0) == 50) { $234 = HEAP32[$0>>2]|0; $235 = HEAP32[$onError>>2]|0; $236 = HEAP32[$1>>2]|0; @@ -115424,7 +116456,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } HEAP32[$ix>>2] = 0; $277 = HEAP32[$1>>2]|0; - $278 = (($277) + 8|0); + $278 = ((($277)) + 8|0); $279 = HEAP32[$278>>2]|0; HEAP32[$pIdx>>2] = $279; while(1) { @@ -115459,7 +116491,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $298 = (_sqlite3VdbeMakeLabel($297)|0); HEAP32[$addrUniqueOk>>2] = $298; $299 = HEAP32[$pIdx>>2]|0; - $300 = (($299) + 36|0); + $300 = ((($299)) + 36|0); $301 = HEAP32[$300>>2]|0; $302 = ($301|0)!=(0|0); if ($302) { @@ -115472,21 +116504,21 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $308 = HEAP32[$5>>2]|0; $309 = (($308) + 1)|0; $310 = HEAP32[$0>>2]|0; - $311 = (($310) + 92|0); + $311 = ((($310)) + 92|0); HEAP32[$311>>2] = $309; $312 = HEAP32[$0>>2]|0; $313 = HEAP32[$pIdx>>2]|0; - $314 = (($313) + 36|0); + $314 = ((($313)) + 36|0); $315 = HEAP32[$314>>2]|0; $316 = HEAP32[$addrUniqueOk>>2]|0; _sqlite3ExprIfFalse($312,$315,$316,16); $317 = HEAP32[$0>>2]|0; - $318 = (($317) + 92|0); + $318 = ((($317)) + 92|0); HEAP32[$318>>2] = 0; } $319 = HEAP32[$0>>2]|0; $320 = HEAP32[$pIdx>>2]|0; - $321 = (($320) + 52|0); + $321 = ((($320)) + 52|0); $322 = HEAP16[$321>>1]|0; $323 = $322&65535; $324 = (_sqlite3GetTempRange($319,$323)|0); @@ -115495,7 +116527,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx while(1) { $325 = HEAP32[$i>>2]|0; $326 = HEAP32[$pIdx>>2]|0; - $327 = (($326) + 52|0); + $327 = ((($326)) + 52|0); $328 = HEAP16[$327>>1]|0; $329 = $328&65535; $330 = ($325|0)<($329|0); @@ -115504,7 +116536,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } $331 = HEAP32[$i>>2]|0; $332 = HEAP32[$pIdx>>2]|0; - $333 = (($332) + 4|0); + $333 = ((($332)) + 4|0); $334 = HEAP32[$333>>2]|0; $335 = (($334) + ($331<<1)|0); $336 = HEAP16[$335>>1]|0; @@ -115513,26 +116545,26 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $338 = HEAP32[$iField>>2]|0; $339 = ($338|0)<(0); if ($339) { - label = 75; + label = 73; } else { $340 = HEAP32[$iField>>2]|0; $341 = HEAP32[$1>>2]|0; - $342 = (($341) + 36|0); + $342 = ((($341)) + 36|0); $343 = HEAP16[$342>>1]|0; $344 = $343 << 16 >> 16; $345 = ($340|0)==($344|0); if ($345) { - label = 75; + label = 73; } else { $360 = HEAP32[$iField>>2]|0; $361 = HEAP32[$5>>2]|0; $362 = (($360) + ($361))|0; $363 = (($362) + 1)|0; HEAP32[$x>>2] = $363; - label = 80; + label = 78; } } - if ((label|0) == 75) { + if ((label|0) == 73) { label = 0; $346 = HEAP32[$regRowid>>2]|0; $347 = HEAP32[$regIdx>>2]|0; @@ -115543,7 +116575,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $351 = HEAP32[$5>>2]|0; HEAP32[$x>>2] = $351; $352 = HEAP32[$pIdx>>2]|0; - $353 = (($352) + 36|0); + $353 = ((($352)) + 36|0); $354 = HEAP32[$353>>2]|0; $355 = ($354|0)!=(0|0); if ($355) { @@ -115555,10 +116587,10 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $359 = $358; } HEAP32[$regRowid>>2] = $359; - label = 80; + label = 78; } } - if ((label|0) == 80) { + if ((label|0) == 78) { label = 0; $364 = HEAP32[$v>>2]|0; $365 = HEAP32[$x>>2]|0; @@ -115574,7 +116606,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $371 = HEAP32[$v>>2]|0; $372 = HEAP32[$regIdx>>2]|0; $373 = HEAP32[$pIdx>>2]|0; - $374 = (($373) + 52|0); + $374 = ((($373)) + 52|0); $375 = HEAP16[$374>>1]|0; $376 = $375&65535; $377 = HEAP32[$ix>>2]|0; @@ -115585,7 +116617,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $381 = HEAP32[$0>>2]|0; $382 = HEAP32[$regIdx>>2]|0; $383 = HEAP32[$pIdx>>2]|0; - $384 = (($383) + 52|0); + $384 = ((($383)) + 52|0); $385 = HEAP16[$384>>1]|0; $386 = $385&65535; _sqlite3ExprCacheAffinityChange($381,$382,$386); @@ -115609,7 +116641,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } } $398 = HEAP32[$pIdx>>2]|0; - $399 = (($398) + 54|0); + $399 = ((($398)) + 54|0); $400 = HEAP8[$399>>0]|0; $401 = $400&255; HEAP32[$onError>>2] = $401; @@ -115619,7 +116651,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $404 = HEAP32[$0>>2]|0; $405 = HEAP32[$regIdx>>2]|0; $406 = HEAP32[$pIdx>>2]|0; - $407 = (($406) + 52|0); + $407 = ((($406)) + 52|0); $408 = HEAP16[$407>>1]|0; $409 = $408&65535; _sqlite3ReleaseTempRange($404,$405,$409); @@ -115647,7 +116679,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $421 = HEAP32[$addrUniqueOk>>2]|0; $422 = HEAP32[$regIdx>>2]|0; $423 = HEAP32[$pIdx>>2]|0; - $424 = (($423) + 50|0); + $424 = ((($423)) + 50|0); $425 = HEAP16[$424>>1]|0; $426 = $425&65535; (_sqlite3VdbeAddOp4Int($419,67,$420,$421,$422,$426)|0); @@ -115670,10 +116702,10 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $438 = HEAP32[$onError>>2]|0; $439 = ($438|0)==(5); $or$cond3 = $437 | $439; - L130: do { + L127: do { if ($or$cond3) { $440 = HEAP32[$1>>2]|0; - $441 = (($440) + 44|0); + $441 = ((($440)) + 44|0); $442 = HEAP8[$441>>0]|0; $443 = $442&255; $444 = $443 & 32; @@ -115700,23 +116732,23 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $456 = HEAP32[$pIdx>>2]|0; $457 = HEAP32[$pPk>>2]|0; $458 = ($456|0)!=($457|0); - L136: do { + L133: do { if ($458) { HEAP32[$i>>2] = 0; while(1) { $459 = HEAP32[$i>>2]|0; $460 = HEAP32[$pPk>>2]|0; - $461 = (($460) + 50|0); + $461 = ((($460)) + 50|0); $462 = HEAP16[$461>>1]|0; $463 = $462&65535; $464 = ($459|0)<($463|0); if (!($464)) { - break L136; + break L133; } $465 = HEAP32[$pIdx>>2]|0; $466 = HEAP32[$i>>2]|0; $467 = HEAP32[$pPk>>2]|0; - $468 = (($467) + 4|0); + $468 = ((($467)) + 4|0); $469 = HEAP32[$468>>2]|0; $470 = (($469) + ($466<<1)|0); $471 = HEAP16[$470>>1]|0; @@ -115742,14 +116774,14 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $484 = HEAP32[$v>>2]|0; $485 = (_sqlite3VdbeCurrentAddr($484)|0); $486 = HEAP32[$pPk>>2]|0; - $487 = (($486) + 50|0); + $487 = ((($486)) + 50|0); $488 = HEAP16[$487>>1]|0; $489 = $488&65535; $490 = (($485) + ($489))|0; HEAP32[$addrJump>>2] = $490; HEAP32[$op>>2] = 78; $491 = HEAP32[$pIdx>>2]|0; - $492 = (($491) + 55|0); + $492 = ((($491)) + 55|0); $493 = HEAP8[$492>>0]|0; $494 = $493 & 3; $495 = $494&255; @@ -115762,17 +116794,17 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx while(1) { $500 = HEAP32[$i>>2]|0; $501 = HEAP32[$pPk>>2]|0; - $502 = (($501) + 50|0); + $502 = ((($501)) + 50|0); $503 = HEAP16[$502>>1]|0; $504 = $503&65535; $505 = ($500|0)<($504|0); if (!($505)) { - break L130; + break L127; } $506 = HEAP32[$0>>2]|0; $507 = HEAP32[$i>>2]|0; $508 = HEAP32[$pPk>>2]|0; - $509 = (($508) + 32|0); + $509 = ((($508)) + 32|0); $510 = HEAP32[$509>>2]|0; $511 = (($510) + ($507<<2)|0); $512 = HEAP32[$511>>2]|0; @@ -115780,7 +116812,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx HEAP32[$p4>>2] = $513; $514 = HEAP32[$i>>2]|0; $515 = HEAP32[$pPk>>2]|0; - $516 = (($515) + 4|0); + $516 = ((($515)) + 4|0); $517 = HEAP32[$516>>2]|0; $518 = (($517) + ($514<<1)|0); $519 = HEAP16[$518>>1]|0; @@ -115788,7 +116820,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx HEAP32[$x1>>2] = $520; $521 = HEAP32[$i>>2]|0; $522 = HEAP32[$pPk>>2]|0; - $523 = (($522) + 50|0); + $523 = ((($522)) + 50|0); $524 = HEAP16[$523>>1]|0; $525 = $524&65535; $526 = (($525) - 1)|0; @@ -115820,21 +116852,26 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } } while(0); $543 = HEAP32[$onError>>2]|0; - if ((($543|0) == 4)) { - $547 = HEAP32[$v>>2]|0; - $548 = HEAP32[$9>>2]|0; - (_sqlite3VdbeAddOp2($547,16,0,$548)|0); - } else if ((($543|0) == 3) | (($543|0) == 2) | (($543|0) == 1)) { + switch ($543|0) { + case 3: case 2: case 1: { $544 = HEAP32[$0>>2]|0; $545 = HEAP32[$onError>>2]|0; $546 = HEAP32[$pIdx>>2]|0; _sqlite3UniqueConstraint($544,$545,$546); - } else { + break; + } + case 4: { + $547 = HEAP32[$v>>2]|0; + $548 = HEAP32[$9>>2]|0; + (_sqlite3VdbeAddOp2($547,16,0,$548)|0); + break; + } + default: { HEAP32[$pTrigger2>>2] = 0; $549 = HEAP32[$0>>2]|0; _sqlite3MultiWrite($549); $550 = HEAP32[$db>>2]|0; - $551 = (($550) + 24|0); + $551 = ((($550)) + 24|0); $552 = HEAP32[$551>>2]|0; $553 = $552 & 262144; $554 = ($553|0)!=(0); @@ -115860,13 +116897,14 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx _sqlite3GenerateRowDelete($558,$559,$560,$561,$562,$563,$565,0,5,$570); HEAP32[$seenReplace>>2] = 1; } + } $571 = HEAP32[$v>>2]|0; $572 = HEAP32[$addrUniqueOk>>2]|0; _sqlite3VdbeResolveLabel($571,$572); $573 = HEAP32[$0>>2]|0; $574 = HEAP32[$regIdx>>2]|0; $575 = HEAP32[$pIdx>>2]|0; - $576 = (($575) + 52|0); + $576 = ((($575)) + 52|0); $577 = HEAP16[$576>>1]|0; $578 = $577&65535; _sqlite3ReleaseTempRange($573,$574,$578); @@ -115882,7 +116920,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx } } while(0); $585 = HEAP32[$pIdx>>2]|0; - $586 = (($585) + 20|0); + $586 = ((($585)) + 20|0); $587 = HEAP32[$586>>2]|0; HEAP32[$pIdx>>2] = $587; $588 = HEAP32[$ix>>2]|0; @@ -115935,33 +116973,33 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $3 = sp + 92|0; - $4 = sp + 88|0; - $5 = sp + 84|0; - $db = sp + 80|0; - $pFKey = sp + 76|0; - $iDb = sp + 72|0; - $zDb = sp + 68|0; - $isIgnoreErrors = sp + 64|0; - $pTo = sp + 60|0; - $pIdx = sp + 56|0; - $aiFree = sp + 52|0; - $aiCol = sp + 48|0; - $iCol = sp + 44|0; - $i = sp + 40|0; - $isIgnore = sp + 36|0; - $v = sp + 32|0; - $iJump = sp + 28|0; - $iReg = sp + 24|0; - $rcauth = sp + 20|0; - $zCol = sp + 16|0; - $pIdx1 = sp + 12|0; - $pSrc = sp + 8|0; - $aiCol2 = sp + 4|0; - $pItem = sp; + $0 = sp + 100|0; + $1 = sp + 92|0; + $2 = sp + 32|0; + $3 = sp + 36|0; + $4 = sp + 84|0; + $5 = sp + 8|0; + $db = sp + 12|0; + $pFKey = sp + 60|0; + $iDb = sp + 16|0; + $zDb = sp + 20|0; + $isIgnoreErrors = sp + 80|0; + $pTo = sp + 88|0; + $pIdx = sp + 96|0; + $aiFree = sp + 104|0; + $aiCol = sp + 40|0; + $iCol = sp + 56|0; + $i = sp + 44|0; + $isIgnore = sp + 48|0; + $v = sp + 52|0; + $iJump = sp + 4|0; + $iReg = sp + 64|0; + $rcauth = sp + 72|0; + $zCol = sp + 24|0; + $pIdx1 = sp + 76|0; + $pSrc = sp; + $aiCol2 = sp + 68|0; + $pItem = sp + 28|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $regOld; @@ -115972,12 +117010,12 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 438|0); + $9 = ((($8)) + 438|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; HEAP32[$isIgnoreErrors>>2] = $11; $12 = HEAP32[$db>>2]|0; - $13 = (($12) + 24|0); + $13 = ((($12)) + 24|0); $14 = HEAP32[$13>>2]|0; $15 = $14 & 524288; $16 = ($15|0)==(0); @@ -115986,19 +117024,19 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { } $17 = HEAP32[$db>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 68|0); + $19 = ((($18)) + 68|0); $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3SchemaToIndex($17,$20)|0); HEAP32[$iDb>>2] = $21; $22 = HEAP32[$iDb>>2]|0; $23 = HEAP32[$db>>2]|0; - $24 = (($23) + 16|0); + $24 = ((($23)) + 16|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + ($22<<4)|0); $27 = HEAP32[$26>>2]|0; HEAP32[$zDb>>2] = $27; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; HEAP32[$pFKey>>2] = $30; L4: while(1) { @@ -116017,7 +117055,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $35 = HEAP32[$1>>2]|0; $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$pFKey>>2]|0; - $38 = (($37) + 8|0); + $38 = ((($37)) + 8|0); $39 = HEAP32[$38>>2]|0; $40 = (_sqlite3_stricmp($36,$39)|0); $41 = ($40|0)!=(0); @@ -116041,13 +117079,13 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { if ((label|0) == 7) { label = 0; $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 438|0); + $49 = ((($48)) + 438|0); $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)!=(0); if ($51) { $52 = HEAP32[$db>>2]|0; $53 = HEAP32[$pFKey>>2]|0; - $54 = (($53) + 8|0); + $54 = ((($53)) + 8|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$zDb>>2]|0; $57 = (_sqlite3FindTable($52,$55,$56)|0); @@ -116055,7 +117093,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { } else { $58 = HEAP32[$0>>2]|0; $59 = HEAP32[$pFKey>>2]|0; - $60 = (($59) + 8|0); + $60 = ((($59)) + 8|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$zDb>>2]|0; $63 = (_sqlite3LocateTable($58,0,$61,$62)|0); @@ -116077,7 +117115,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { HEAP32[$aiCol>>2] = $114; } else { $115 = HEAP32[$pFKey>>2]|0; - $116 = (($115) + 36|0); + $116 = ((($115)) + 36|0); $117 = HEAP32[$116>>2]|0; HEAP32[$iCol>>2] = $117; HEAP32[$aiCol>>2] = $iCol; @@ -116086,7 +117124,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { while(1) { $118 = HEAP32[$i>>2]|0; $119 = HEAP32[$pFKey>>2]|0; - $120 = (($119) + 20|0); + $120 = ((($119)) + 20|0); $121 = HEAP32[$120>>2]|0; $122 = ($118|0)<($121|0); if (!($122)) { @@ -116097,7 +117135,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $125 = (($124) + ($123<<2)|0); $126 = HEAP32[$125>>2]|0; $127 = HEAP32[$1>>2]|0; - $128 = (($127) + 36|0); + $128 = ((($127)) + 36|0); $129 = HEAP16[$128>>1]|0; $130 = $129 << 16 >> 16; $131 = ($126|0)==($130|0); @@ -116108,7 +117146,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { HEAP32[$134>>2] = -1; } $135 = HEAP32[$db>>2]|0; - $136 = (($135) + 284|0); + $136 = ((($135)) + 284|0); $137 = HEAP32[$136>>2]|0; $138 = ($137|0)!=(0|0); if ($138) { @@ -116117,20 +117155,20 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { if ($140) { $141 = HEAP32[$i>>2]|0; $142 = HEAP32[$pIdx>>2]|0; - $143 = (($142) + 4|0); + $143 = ((($142)) + 4|0); $144 = HEAP32[$143>>2]|0; $145 = (($144) + ($141<<1)|0); $146 = HEAP16[$145>>1]|0; $$sink = $146; } else { $147 = HEAP32[$pTo>>2]|0; - $148 = (($147) + 36|0); + $148 = ((($147)) + 36|0); $149 = HEAP16[$148>>1]|0; $$sink = $149; } $150 = $$sink << 16 >> 16; $151 = HEAP32[$pTo>>2]|0; - $152 = (($151) + 4|0); + $152 = ((($151)) + 4|0); $153 = HEAP32[$152>>2]|0; $154 = (($153) + (($150*24)|0)|0); $155 = HEAP32[$154>>2]|0; @@ -116154,13 +117192,13 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $167 = HEAP32[$0>>2]|0; $168 = HEAP32[$iDb>>2]|0; $169 = HEAP32[$pTo>>2]|0; - $170 = (($169) + 32|0); + $170 = ((($169)) + 32|0); $171 = HEAP32[$170>>2]|0; $172 = HEAP32[$pTo>>2]|0; $173 = HEAP32[$172>>2]|0; _sqlite3TableLock($167,$168,$171,0,$173); $174 = HEAP32[$0>>2]|0; - $175 = (($174) + 68|0); + $175 = ((($174)) + 68|0); $176 = HEAP32[$175>>2]|0; $177 = (($176) + 1)|0; HEAP32[$175>>2] = $177; @@ -116203,7 +117241,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { break L4; } $73 = HEAP32[$db>>2]|0; - $74 = (($73) + 64|0); + $74 = ((($73)) + 64|0); $75 = HEAP8[$74>>0]|0; $76 = $75&255; $77 = ($76|0)!=(0); @@ -116220,7 +117258,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $82 = HEAP32[$v>>2]|0; $83 = (_sqlite3VdbeCurrentAddr($82)|0); $84 = HEAP32[$pFKey>>2]|0; - $85 = (($84) + 20|0); + $85 = ((($84)) + 20|0); $86 = HEAP32[$85>>2]|0; $87 = (($83) + ($86))|0; $88 = (($87) + 1)|0; @@ -116229,7 +117267,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { while(1) { $89 = HEAP32[$i>>2]|0; $90 = HEAP32[$pFKey>>2]|0; - $91 = (($90) + 20|0); + $91 = ((($90)) + 20|0); $92 = HEAP32[$91>>2]|0; $93 = ($89|0)<($92|0); if (!($93)) { @@ -116237,7 +117275,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { } $94 = HEAP32[$i>>2]|0; $95 = HEAP32[$pFKey>>2]|0; - $96 = (($95) + 36|0); + $96 = ((($95)) + 36|0); $97 = (($96) + ($94<<3)|0); $98 = HEAP32[$97>>2]|0; $99 = HEAP32[$2>>2]|0; @@ -116254,7 +117292,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { } $107 = HEAP32[$v>>2]|0; $108 = HEAP32[$pFKey>>2]|0; - $109 = (($108) + 24|0); + $109 = ((($108)) + 24|0); $110 = HEAP8[$109>>0]|0; $111 = $110&255; (_sqlite3VdbeAddOp2($107,134,$111,-1)|0); @@ -116262,7 +117300,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { } } while(0); $200 = HEAP32[$pFKey>>2]|0; - $201 = (($200) + 4|0); + $201 = ((($200)) + 4|0); $202 = HEAP32[$201>>2]|0; HEAP32[$pFKey>>2] = $202; } @@ -116270,7 +117308,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $203 = HEAP32[$1>>2]|0; $204 = (_sqlite3FkReferences($203)|0); HEAP32[$pFKey>>2] = $204; - L56: while(1) { + L54: while(1) { $205 = HEAP32[$pFKey>>2]|0; $206 = ($205|0)!=(0|0); if (!($206)) { @@ -116298,23 +117336,23 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { if ((label|0) == 42) { label = 0; $215 = HEAP32[$pFKey>>2]|0; - $216 = (($215) + 24|0); + $216 = ((($215)) + 24|0); $217 = HEAP8[$216>>0]|0; $218 = ($217<<24>>24)!=(0); if (!($218)) { $219 = HEAP32[$db>>2]|0; - $220 = (($219) + 24|0); + $220 = ((($219)) + 24|0); $221 = HEAP32[$220>>2]|0; $222 = $221 & 16777216; $223 = ($222|0)!=(0); if (!($223)) { $224 = HEAP32[$0>>2]|0; - $225 = (($224) + 408|0); + $225 = ((($224)) + 408|0); $226 = HEAP32[$225>>2]|0; $227 = ($226|0)!=(0|0); if (!($227)) { $228 = HEAP32[$0>>2]|0; - $229 = (($228) + 20|0); + $229 = ((($228)) + 20|0); $230 = HEAP8[$229>>0]|0; $231 = ($230<<24>>24)!=(0); if (!($231)) { @@ -116333,16 +117371,16 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $238 = ($237|0)!=(0); if (!($238)) { label = 57; - break L56; + break L54; } $239 = HEAP32[$db>>2]|0; - $240 = (($239) + 64|0); + $240 = ((($239)) + 64|0); $241 = HEAP8[$240>>0]|0; $242 = $241&255; $243 = ($242|0)!=(0); if ($243) { label = 57; - break L56; + break L54; } else { break; } @@ -116354,33 +117392,33 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $247 = ($246|0)!=(0|0); if ($247) { $248 = HEAP32[$pSrc>>2]|0; - $249 = (($248) + 8|0); + $249 = ((($248)) + 8|0); HEAP32[$pItem>>2] = $249; $250 = HEAP32[$pFKey>>2]|0; $251 = HEAP32[$250>>2]|0; $252 = HEAP32[$pItem>>2]|0; - $253 = (($252) + 16|0); + $253 = ((($252)) + 16|0); HEAP32[$253>>2] = $251; $254 = HEAP32[$pFKey>>2]|0; $255 = HEAP32[$254>>2]|0; $256 = HEAP32[$255>>2]|0; $257 = HEAP32[$pItem>>2]|0; - $258 = (($257) + 8|0); + $258 = ((($257)) + 8|0); HEAP32[$258>>2] = $256; $259 = HEAP32[$pItem>>2]|0; - $260 = (($259) + 16|0); + $260 = ((($259)) + 16|0); $261 = HEAP32[$260>>2]|0; - $262 = (($261) + 40|0); + $262 = ((($261)) + 40|0); $263 = HEAP16[$262>>1]|0; $264 = (($263) + 1)<<16>>16; HEAP16[$262>>1] = $264; $265 = HEAP32[$0>>2]|0; - $266 = (($265) + 68|0); + $266 = ((($265)) + 68|0); $267 = HEAP32[$266>>2]|0; $268 = (($267) + 1)|0; HEAP32[$266>>2] = $268; $269 = HEAP32[$pItem>>2]|0; - $270 = (($269) + 40|0); + $270 = ((($269)) + 40|0); HEAP32[$270>>2] = $267; $271 = HEAP32[$3>>2]|0; $272 = ($271|0)!=(0); @@ -116407,7 +117445,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { _fkScanChildren($282,$283,$284,$285,$286,$287,$288,1); } $289 = HEAP32[$pItem>>2]|0; - $290 = (($289) + 8|0); + $290 = ((($289)) + 8|0); HEAP32[$290>>2] = 0; $291 = HEAP32[$db>>2]|0; $292 = HEAP32[$pSrc>>2]|0; @@ -116419,7 +117457,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { } } while(0); $295 = HEAP32[$pFKey>>2]|0; - $296 = (($295) + 12|0); + $296 = ((($295)) + 12|0); $297 = HEAP32[$296>>2]|0; HEAP32[$pFKey>>2] = $297; } @@ -116452,20 +117490,20 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $6 = sp + 28|0; + $1 = sp + 36|0; + $2 = sp + 4|0; + $3 = sp + 16|0; + $4 = sp + 32|0; + $5 = sp + 40|0; + $6 = sp + 48|0; $7 = sp + 24|0; $8 = sp + 20|0; - $v = sp + 16|0; + $v = sp + 8|0; $pIdx = sp + 12|0; $pik_flags = sp + 57|0; - $regData = sp + 8|0; - $regRec = sp + 4|0; - $i = sp; + $regData = sp; + $regRec = sp + 44|0; + $i = sp + 28|0; $bAffinityDone = sp + 56|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; @@ -116482,7 +117520,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, HEAP32[$v>>2] = $10; HEAP32[$i>>2] = 0; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pIdx>>2] = $13; while(1) { @@ -116499,7 +117537,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, if (!($20)) { HEAP8[$bAffinityDone>>0] = 1; $21 = HEAP32[$pIdx>>2]|0; - $22 = (($21) + 36|0); + $22 = ((($21)) + 36|0); $23 = HEAP32[$22>>2]|0; $24 = ($23|0)!=(0|0); if ($24) { @@ -116528,14 +117566,14 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, $$ = $42 ? 16 : 0; HEAP8[$pik_flags>>0] = $$; $43 = HEAP32[$pIdx>>2]|0; - $44 = (($43) + 55|0); + $44 = ((($43)) + 55|0); $45 = HEAP8[$44>>0]|0; $46 = $45 & 3; $47 = $46&255; $48 = ($47|0)==(2); if ($48) { $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 44|0); + $50 = ((($49)) + 44|0); $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = $52 & 32; @@ -116557,7 +117595,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, } } $63 = HEAP32[$pIdx>>2]|0; - $64 = (($63) + 20|0); + $64 = ((($63)) + 20|0); $65 = HEAP32[$64>>2]|0; HEAP32[$pIdx>>2] = $65; $66 = HEAP32[$i>>2]|0; @@ -116565,7 +117603,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, HEAP32[$i>>2] = $67; } $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 44|0); + $69 = ((($68)) + 44|0); $70 = HEAP8[$69>>0]|0; $71 = $70&255; $72 = $71 & 32; @@ -116582,7 +117620,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, $78 = HEAP32[$v>>2]|0; $79 = HEAP32[$regData>>2]|0; $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 38|0); + $81 = ((($80)) + 38|0); $82 = HEAP16[$81>>1]|0; $83 = $82 << 16 >> 16; $84 = HEAP32[$regRec>>2]|0; @@ -116597,12 +117635,12 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, $89 = HEAP32[$0>>2]|0; $90 = HEAP32[$regData>>2]|0; $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 38|0); + $92 = ((($91)) + 38|0); $93 = HEAP16[$92>>1]|0; $94 = $93 << 16 >> 16; _sqlite3ExprCacheAffinityChange($89,$90,$94); $95 = HEAP32[$0>>2]|0; - $96 = (($95) + 18|0); + $96 = ((($95)) + 18|0); $97 = HEAP8[$96>>0]|0; $98 = ($97<<24>>24)!=(0); if ($98) { @@ -116642,7 +117680,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, $121 = HEAP32[$4>>2]|0; (_sqlite3VdbeAddOp3($118,75,$119,$120,$121)|0); $122 = HEAP32[$0>>2]|0; - $123 = (($122) + 18|0); + $123 = ((($122)) + 18|0); $124 = HEAP8[$123>>0]|0; $125 = ($124<<24>>24)!=(0); if (!($125)) { @@ -116664,24 +117702,24 @@ function _sqlite3AutoincrementEnd($pParse) { var $pDb = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $p = sp + 24|0; - $v = sp + 20|0; - $db = sp + 16|0; - $pDb = sp + 12|0; - $j1 = sp + 8|0; - $iRec = sp + 4|0; - $memId = sp; + $0 = sp + 4|0; + $p = sp + 16|0; + $v = sp + 8|0; + $db = sp + 20|0; + $pDb = sp + 28|0; + $j1 = sp; + $iRec = sp + 12|0; + $memId = sp + 24|0; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; HEAP32[$v>>2] = $3; $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 404|0); + $7 = ((($6)) + 404|0); $8 = HEAP32[$7>>2]|0; HEAP32[$p>>2] = $8; while(1) { @@ -116691,15 +117729,15 @@ function _sqlite3AutoincrementEnd($pParse) { break; } $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$db>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + ($13<<4)|0); HEAP32[$pDb>>2] = $17; $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; HEAP32[$memId>>2] = $20; $21 = HEAP32[$0>>2]|0; @@ -116707,12 +117745,12 @@ function _sqlite3AutoincrementEnd($pParse) { HEAP32[$iRec>>2] = $22; $23 = HEAP32[$0>>2]|0; $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 8|0); + $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$pDb>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; - $30 = (($29) + 72|0); + $30 = ((($29)) + 72|0); $31 = HEAP32[$30>>2]|0; _sqlite3OpenTable($23,0,$26,$31,55); $32 = HEAP32[$v>>2]|0; @@ -116759,13 +117797,13 @@ function _fkChildIsModified($pTab,$p,$aChange,$bChngRowid) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iChildKey = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $i = sp + 4|0; - $iChildKey = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $i = sp; + $iChildKey = sp + 12|0; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $aChange; @@ -116774,7 +117812,7 @@ function _fkChildIsModified($pTab,$p,$aChange,$bChngRowid) { while(1) { $5 = HEAP32[$i>>2]|0; $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 20|0); + $7 = ((($6)) + 20|0); $8 = HEAP32[$7>>2]|0; $9 = ($5|0)<($8|0); if (!($9)) { @@ -116783,7 +117821,7 @@ function _fkChildIsModified($pTab,$p,$aChange,$bChngRowid) { } $10 = HEAP32[$i>>2]|0; $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 36|0); + $12 = ((($11)) + 36|0); $13 = (($12) + ($10<<3)|0); $14 = HEAP32[$13>>2]|0; HEAP32[$iChildKey>>2] = $14; @@ -116798,7 +117836,7 @@ function _fkChildIsModified($pTab,$p,$aChange,$bChngRowid) { } $20 = HEAP32[$iChildKey>>2]|0; $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 36|0); + $22 = ((($21)) + 36|0); $23 = HEAP16[$22>>1]|0; $24 = $23 << 16 >> 16; $25 = ($20|0)==($24|0); @@ -116828,7 +117866,7 @@ function _fkChildIsModified($pTab,$p,$aChange,$bChngRowid) { $30 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($30|0); } - return 0|0; + return (0)|0; } function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr,$isIgnore) { $pParse = $pParse|0; @@ -116855,28 +117893,28 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, var $iReg = 0, $nCol = 0, $or$cond = 0, $or$cond3 = 0, $regRec = 0, $regTemp = 0, $regTemp1 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $5 = sp + 64|0; - $6 = sp + 60|0; + $0 = sp + 40|0; + $1 = sp + 52|0; + $2 = sp + 4|0; + $3 = sp + 76|0; + $4 = sp + 36|0; + $5 = sp + 16|0; + $6 = sp + 20|0; $7 = sp + 56|0; - $8 = sp + 52|0; - $i = sp + 48|0; - $v = sp + 44|0; - $iCur = sp + 40|0; - $iOk = sp + 36|0; - $iReg = sp + 32|0; - $iMustBeInt = sp + 28|0; - $regTemp = sp + 24|0; - $nCol = sp + 20|0; - $regTemp1 = sp + 16|0; - $regRec = sp + 12|0; - $iJump = sp + 8|0; - $iChild = sp + 4|0; - $iParent = sp; + $8 = sp + 64|0; + $i = sp + 72|0; + $v = sp + 80|0; + $iCur = sp + 84|0; + $iOk = sp + 44|0; + $iReg = sp + 48|0; + $iMustBeInt = sp + 8|0; + $regTemp = sp; + $nCol = sp + 24|0; + $regTemp1 = sp + 28|0; + $regRec = sp + 60|0; + $iJump = sp + 12|0; + $iChild = sp + 32|0; + $iParent = sp + 68|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iDb; HEAP32[$2>>2] = $pTab; @@ -116890,7 +117928,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $10 = (_sqlite3GetVdbe($9)|0); HEAP32[$v>>2] = $10; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 68|0); + $12 = ((($11)) + 68|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) - 1)|0; HEAP32[$iCur>>2] = $14; @@ -116902,7 +117940,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, if ($18) { $19 = HEAP32[$v>>2]|0; $20 = HEAP32[$4>>2]|0; - $21 = (($20) + 24|0); + $21 = ((($20)) + 24|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = HEAP32[$iOk>>2]|0; @@ -116912,7 +117950,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, while(1) { $25 = HEAP32[$i>>2]|0; $26 = HEAP32[$4>>2]|0; - $27 = (($26) + 20|0); + $27 = ((($26)) + 20|0); $28 = HEAP32[$27>>2]|0; $29 = ($25|0)<($28|0); if (!($29)) { @@ -116998,7 +118036,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, break; } $86 = HEAP32[$4>>2]|0; - $87 = (($86) + 20|0); + $87 = ((($86)) + 20|0); $88 = HEAP32[$87>>2]|0; HEAP32[$nCol>>2] = $88; $89 = HEAP32[$0>>2]|0; @@ -117011,7 +118049,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $94 = HEAP32[$v>>2]|0; $95 = HEAP32[$iCur>>2]|0; $96 = HEAP32[$3>>2]|0; - $97 = (($96) + 44|0); + $97 = ((($96)) + 44|0); $98 = HEAP32[$97>>2]|0; $99 = HEAP32[$1>>2]|0; (_sqlite3VdbeAddOp3($94,54,$95,$98,$99)|0); @@ -117074,7 +118112,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, HEAP32[$iChild>>2] = $138; $139 = HEAP32[$i>>2]|0; $140 = HEAP32[$3>>2]|0; - $141 = (($140) + 4|0); + $141 = ((($140)) + 4|0); $142 = HEAP32[$141>>2]|0; $143 = (($142) + ($139<<1)|0); $144 = HEAP16[$143>>1]|0; @@ -117085,13 +118123,13 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, HEAP32[$iParent>>2] = $148; $149 = HEAP32[$i>>2]|0; $150 = HEAP32[$3>>2]|0; - $151 = (($150) + 4|0); + $151 = ((($150)) + 4|0); $152 = HEAP32[$151>>2]|0; $153 = (($152) + ($149<<1)|0); $154 = HEAP16[$153>>1]|0; $155 = $154 << 16 >> 16; $156 = HEAP32[$2>>2]|0; - $157 = (($156) + 36|0); + $157 = ((($156)) + 36|0); $158 = HEAP16[$157>>1]|0; $159 = $158 << 16 >> 16; $160 = ($155|0)==($159|0); @@ -117138,24 +118176,24 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, } } while(0); $188 = HEAP32[$4>>2]|0; - $189 = (($188) + 24|0); + $189 = ((($188)) + 24|0); $190 = HEAP8[$189>>0]|0; $191 = ($190<<24>>24)!=(0); if (!($191)) { $192 = HEAP32[$0>>2]|0; $193 = HEAP32[$192>>2]|0; - $194 = (($193) + 24|0); + $194 = ((($193)) + 24|0); $195 = HEAP32[$194>>2]|0; $196 = $195 & 16777216; $197 = ($196|0)!=(0); if (!($197)) { $198 = HEAP32[$0>>2]|0; - $199 = (($198) + 408|0); + $199 = ((($198)) + 408|0); $200 = HEAP32[$199>>2]|0; $201 = ($200|0)!=(0|0); if (!($201)) { $202 = HEAP32[$0>>2]|0; - $203 = (($202) + 20|0); + $203 = ((($202)) + 20|0); $204 = HEAP8[$203>>0]|0; $205 = ($204<<24>>24)!=(0); if (!($205)) { @@ -117176,30 +118214,30 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $208 = ($207|0)>(0); if ($208) { $209 = HEAP32[$4>>2]|0; - $210 = (($209) + 24|0); + $210 = ((($209)) + 24|0); $211 = HEAP8[$210>>0]|0; $212 = $211&255; $213 = ($212|0)==(0); if ($213) { $214 = HEAP32[$0>>2]|0; - $215 = (($214) + 408|0); + $215 = ((($214)) + 408|0); $216 = HEAP32[$215>>2]|0; $217 = ($216|0)!=(0|0); $218 = HEAP32[$0>>2]|0; if ($217) { - $219 = (($218) + 408|0); + $219 = ((($218)) + 408|0); $220 = HEAP32[$219>>2]|0; $222 = $220; } else { $222 = $218; } - $221 = (($222) + 21|0); + $221 = ((($222)) + 21|0); HEAP8[$221>>0] = 1; } } $223 = HEAP32[$v>>2]|0; $224 = HEAP32[$4>>2]|0; - $225 = (($224) + 24|0); + $225 = ((($224)) + 24|0); $226 = HEAP8[$225>>0]|0; $227 = $226&255; $228 = HEAP32[$7>>2]|0; @@ -117223,15 +118261,15 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { var $pCol = 0, $zKey = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $i = sp + 12|0; - $zKey = sp + 8|0; - $iKey = sp + 4|0; - $pCol = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $i = sp; + $zKey = sp + 12|0; + $iKey = sp + 24|0; + $pCol = sp + 20|0; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $aChange; @@ -117240,7 +118278,7 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { L1: while(1) { $5 = HEAP32[$i>>2]|0; $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 20|0); + $7 = ((($6)) + 20|0); $8 = HEAP32[$7>>2]|0; $9 = ($5|0)<($8|0); if (!($9)) { @@ -117249,16 +118287,16 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { } $10 = HEAP32[$i>>2]|0; $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 36|0); + $12 = ((($11)) + 36|0); $13 = (($12) + ($10<<3)|0); - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; HEAP32[$zKey>>2] = $15; HEAP32[$iKey>>2] = 0; while(1) { $16 = HEAP32[$iKey>>2]|0; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 38|0); + $18 = ((($17)) + 38|0); $19 = HEAP16[$18>>1]|0; $20 = $19 << 16 >> 16; $21 = ($16|0)<($20|0); @@ -117275,7 +118313,7 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { } else { $27 = HEAP32[$iKey>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 36|0); + $29 = ((($28)) + 36|0); $30 = HEAP16[$29>>1]|0; $31 = $30 << 16 >> 16; $32 = ($27|0)==($31|0); @@ -117291,7 +118329,7 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { label = 0; $35 = HEAP32[$iKey>>2]|0; $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 4|0); + $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; $39 = (($38) + (($35*24)|0)|0); HEAP32[$pCol>>2] = $39; @@ -117310,7 +118348,7 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { break; } } else { - $47 = (($42) + 23|0); + $47 = ((($42)) + 23|0); $48 = HEAP8[$47>>0]|0; $49 = $48&255; $50 = $49 & 1; @@ -117347,7 +118385,7 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { $56 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($56|0); } - return 0|0; + return (0)|0; } function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr) { $pParse = $pParse|0; @@ -117371,33 +118409,33 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr var $sNameContext = 0, $v = 0, $zCol = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; - $0 = sp + 128|0; - $1 = sp + 124|0; - $2 = sp + 120|0; - $3 = sp + 116|0; - $4 = sp + 112|0; - $5 = sp + 108|0; - $6 = sp + 104|0; - $7 = sp + 100|0; - $db = sp + 96|0; - $i = sp + 92|0; - $pWhere = sp + 88|0; - $sNameContext = sp + 56|0; - $pWInfo = sp + 48|0; - $iFkIfZero = sp + 44|0; + $0 = sp + 124|0; + $1 = sp + 28|0; + $2 = sp + 60|0; + $3 = sp + 84|0; + $4 = sp; + $5 = sp + 8|0; + $6 = sp + 12|0; + $7 = sp + 52|0; + $db = sp + 16|0; + $i = sp + 72|0; + $pWhere = sp + 80|0; + $sNameContext = sp + 88|0; + $pWInfo = sp + 120|0; + $iFkIfZero = sp + 36|0; $v = sp + 40|0; - $pLeft = sp + 36|0; - $pRight = sp + 32|0; - $pEq = sp + 28|0; - $iCol = sp + 134|0; - $zCol = sp + 24|0; + $pLeft = sp + 48|0; + $pRight = sp + 44|0; + $pEq = sp + 56|0; + $iCol = sp + 130|0; + $zCol = sp + 4|0; $pNe = sp + 20|0; - $pLeft1 = sp + 16|0; - $pRight2 = sp + 12|0; - $pEq3 = sp + 8|0; - $pAll = sp + 4|0; - $pPk = sp; - $iCol4 = sp + 132|0; + $pLeft1 = sp + 68|0; + $pRight2 = sp + 24|0; + $pEq3 = sp + 76|0; + $pAll = sp + 32|0; + $pPk = sp + 64|0; + $iCol4 = sp + 128|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSrc; HEAP32[$2>>2] = $pTab; @@ -117419,7 +118457,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr if ($13) { $14 = HEAP32[$v>>2]|0; $15 = HEAP32[$4>>2]|0; - $16 = (($15) + 24|0); + $16 = ((($15)) + 24|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = (_sqlite3VdbeAddOp2($14,135,$18,0)|0); @@ -117429,7 +118467,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr while(1) { $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$4>>2]|0; - $22 = (($21) + 20|0); + $22 = ((($21)) + 20|0); $23 = HEAP32[$22>>2]|0; $24 = ($20|0)<($23|0); if (!($24)) { @@ -117440,7 +118478,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr if ($26) { $27 = HEAP32[$i>>2]|0; $28 = HEAP32[$3>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + ($27<<1)|0); $32 = HEAP16[$31>>1]|0; @@ -117467,7 +118505,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $51 = $46; } else { $47 = HEAP32[$4>>2]|0; - $48 = (($47) + 36|0); + $48 = ((($47)) + 36|0); $49 = HEAP32[$48>>2]|0; $51 = $49; } @@ -117477,7 +118515,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $53 = $52 << 16 >> 16; $54 = HEAP32[$4>>2]|0; $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 4|0); + $56 = ((($55)) + 4|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + (($53*24)|0)|0); $59 = HEAP32[$58>>2]|0; @@ -117509,7 +118547,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $or$cond = $76 & $78; if ($or$cond) { $79 = HEAP32[$2>>2]|0; - $80 = (($79) + 44|0); + $80 = ((($79)) + 44|0); $81 = HEAP8[$80>>0]|0; $82 = $81&255; $83 = $82 & 32; @@ -117523,8 +118561,8 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $89 = HEAP32[$db>>2]|0; $90 = HEAP32[$2>>2]|0; $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 8|0); - $93 = (($92) + 40|0); + $92 = ((($91)) + 8|0); + $93 = ((($92)) + 40|0); $94 = HEAP32[$93>>2]|0; $95 = (_exprTableColumn($89,$90,$94,-1)|0); HEAP32[$pRight2>>2] = $95; @@ -117542,7 +118580,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr while(1) { $102 = HEAP32[$i>>2]|0; $103 = HEAP32[$pPk>>2]|0; - $104 = (($103) + 50|0); + $104 = ((($103)) + 50|0); $105 = HEAP16[$104>>1]|0; $106 = $105&65535; $107 = ($102|0)<($106|0); @@ -117551,7 +118589,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr } $108 = HEAP32[$i>>2]|0; $109 = HEAP32[$3>>2]|0; - $110 = (($109) + 4|0); + $110 = ((($109)) + 4|0); $111 = HEAP32[$110>>2]|0; $112 = (($111) + ($108<<1)|0); $113 = HEAP16[$112>>1]|0; @@ -117565,8 +118603,8 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $119 = HEAP32[$db>>2]|0; $120 = HEAP32[$2>>2]|0; $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 8|0); - $123 = (($122) + 40|0); + $122 = ((($121)) + 8|0); + $123 = ((($122)) + 40|0); $124 = HEAP32[$123>>2]|0; $125 = HEAP16[$iCol4>>1]|0; $126 = (_exprTableColumn($119,$120,$124,$125)|0); @@ -117596,9 +118634,9 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $143 = (_sqlite3ExprAnd($140,$141,$142)|0); HEAP32[$pWhere>>2] = $143; } - ;HEAP32[$sNameContext+0>>2]=0|0;HEAP32[$sNameContext+4>>2]=0|0;HEAP32[$sNameContext+8>>2]=0|0;HEAP32[$sNameContext+12>>2]=0|0;HEAP32[$sNameContext+16>>2]=0|0;HEAP32[$sNameContext+20>>2]=0|0;HEAP32[$sNameContext+24>>2]=0|0;HEAP32[$sNameContext+28>>2]=0|0; + ;HEAP32[$sNameContext>>2]=0|0;HEAP32[$sNameContext+4>>2]=0|0;HEAP32[$sNameContext+8>>2]=0|0;HEAP32[$sNameContext+12>>2]=0|0;HEAP32[$sNameContext+16>>2]=0|0;HEAP32[$sNameContext+20>>2]=0|0;HEAP32[$sNameContext+24>>2]=0|0;HEAP32[$sNameContext+28>>2]=0|0; $144 = HEAP32[$1>>2]|0; - $145 = (($sNameContext) + 4|0); + $145 = ((($sNameContext)) + 4|0); HEAP32[$145>>2] = $144; $146 = HEAP32[$0>>2]|0; HEAP32[$sNameContext>>2] = $146; @@ -117613,30 +118651,30 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $153 = ($152|0)>(0); if ($153) { $154 = HEAP32[$4>>2]|0; - $155 = (($154) + 24|0); + $155 = ((($154)) + 24|0); $156 = HEAP8[$155>>0]|0; $157 = $156&255; $158 = ($157|0)==(0); if ($158) { $159 = HEAP32[$0>>2]|0; - $160 = (($159) + 408|0); + $160 = ((($159)) + 408|0); $161 = HEAP32[$160>>2]|0; $162 = ($161|0)!=(0|0); $163 = HEAP32[$0>>2]|0; if ($162) { - $164 = (($163) + 408|0); + $164 = ((($163)) + 408|0); $165 = HEAP32[$164>>2]|0; $167 = $165; } else { $167 = $163; } - $166 = (($167) + 21|0); + $166 = ((($167)) + 21|0); HEAP8[$166>>0] = 1; } } $168 = HEAP32[$v>>2]|0; $169 = HEAP32[$4>>2]|0; - $170 = (($169) + 24|0); + $170 = ((($169)) + 24|0); $171 = HEAP8[$170>>0]|0; $172 = $171&255; $173 = HEAP32[$7>>2]|0; @@ -117671,14 +118709,14 @@ function _exprTableRegister($pParse,$pTab,$regBase,$iCol) { var $zColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 12|0; $3 = sp + 28|0; - $pExpr = sp + 12|0; - $pCol = sp + 8|0; - $zColl = sp + 4|0; - $db = sp; + $pExpr = sp + 24|0; + $pCol = sp; + $zColl = sp + 20|0; + $db = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $regBase; @@ -117702,7 +118740,7 @@ function _exprTableRegister($pParse,$pTab,$regBase,$iCol) { $13 = HEAP16[$3>>1]|0; $14 = $13 << 16 >> 16; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 36|0); + $16 = ((($15)) + 36|0); $17 = HEAP16[$16>>1]|0; $18 = $17 << 16 >> 16; $19 = ($14|0)!=($18|0); @@ -117710,7 +118748,7 @@ function _exprTableRegister($pParse,$pTab,$regBase,$iCol) { $20 = HEAP16[$3>>1]|0; $21 = $20 << 16 >> 16; $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + (($21*24)|0)|0); HEAP32[$pCol>>2] = $25; @@ -117720,23 +118758,23 @@ function _exprTableRegister($pParse,$pTab,$regBase,$iCol) { $29 = (($26) + ($28))|0; $30 = (($29) + 1)|0; $31 = HEAP32[$pExpr>>2]|0; - $32 = (($31) + 28|0); + $32 = ((($31)) + 28|0); HEAP32[$32>>2] = $30; $33 = HEAP32[$pCol>>2]|0; - $34 = (($33) + 21|0); + $34 = ((($33)) + 21|0); $35 = HEAP8[$34>>0]|0; $36 = HEAP32[$pExpr>>2]|0; - $37 = (($36) + 1|0); + $37 = ((($36)) + 1|0); HEAP8[$37>>0] = $35; $38 = HEAP32[$pCol>>2]|0; - $39 = (($38) + 16|0); + $39 = ((($38)) + 16|0); $40 = HEAP32[$39>>2]|0; HEAP32[$zColl>>2] = $40; $41 = HEAP32[$zColl>>2]|0; $42 = ($41|0)==(0|0); if ($42) { $43 = HEAP32[$db>>2]|0; - $44 = (($43) + 8|0); + $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$45>>2]|0; HEAP32[$zColl>>2] = $46; @@ -117752,10 +118790,10 @@ function _exprTableRegister($pParse,$pTab,$regBase,$iCol) { } $51 = HEAP32[$2>>2]|0; $52 = HEAP32[$pExpr>>2]|0; - $53 = (($52) + 28|0); + $53 = ((($52)) + 28|0); HEAP32[$53>>2] = $51; $54 = HEAP32[$pExpr>>2]|0; - $55 = (($54) + 1|0); + $55 = ((($54)) + 1|0); HEAP8[$55>>0] = 68; $56 = HEAP32[$pExpr>>2]|0; STACKTOP = sp;return ($56|0); @@ -117789,15 +118827,15 @@ function _exprTableColumn($db,$pTab,$iCursor,$iCol) { } $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$pExpr>>2]|0; - $10 = (($9) + 44|0); + $10 = ((($9)) + 44|0); HEAP32[$10>>2] = $8; $11 = HEAP32[$2>>2]|0; $12 = HEAP32[$pExpr>>2]|0; - $13 = (($12) + 28|0); + $13 = ((($12)) + 28|0); HEAP32[$13>>2] = $11; $14 = HEAP16[$3>>1]|0; $15 = HEAP32[$pExpr>>2]|0; - $16 = (($15) + 32|0); + $16 = ((($15)) + 32|0); HEAP16[$16>>1] = $14; $17 = HEAP32[$pExpr>>2]|0; STACKTOP = sp;return ($17|0); @@ -117854,42 +118892,42 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct var $pWInfo = 0, $rc = 0, $sWLB = 0, $tabUsed = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 24|0; - $0 = sp + 164|0; - $1 = sp + 160|0; - $2 = sp + 156|0; - $3 = sp + 152|0; - $4 = sp + 148|0; - $5 = sp + 144|0; - $6 = sp + 168|0; - $7 = sp + 140|0; - $nByteWInfo = sp + 136|0; - $nTabList = sp + 132|0; - $pWInfo = sp + 128|0; - $v = sp + 124|0; - $notReady = sp + 16|0; - $sWLB = sp + 104|0; - $pMaskSet = sp + 100|0; - $pLevel = sp + 96|0; - $pLoop = sp + 92|0; - $ii = sp + 88|0; - $db = sp + 84|0; - $rc = sp + 80|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 132|0; + $1 = sp + 64|0; + $2 = sp + 112|0; + $3 = sp + 156|0; + $4 = sp + 36|0; + $5 = sp + 32|0; + $6 = sp + 172|0; + $7 = sp + 40|0; + $nByteWInfo = sp + 48|0; + $nTabList = sp + 52|0; + $pWInfo = sp + 56|0; + $v = sp + 60|0; + $notReady = sp; + $sWLB = sp + 68|0; + $pMaskSet = sp + 152|0; + $pLevel = sp + 160|0; + $pLoop = sp + 164|0; + $ii = sp + 100|0; + $db = sp + 104|0; + $rc = sp + 108|0; $tabUsed = sp + 8|0; - $pTerm = sp + 76|0; - $pEnd = sp + 72|0; - $pTab = sp + 68|0; - $iDb = sp + 64|0; - $pTabItem = sp + 60|0; - $pVTab = sp + 56|0; - $iCur = sp + 52|0; - $op = sp + 48|0; - $b = sp; - $n = sp + 44|0; - $pIx = sp + 40|0; - $iIndexCur = sp + 36|0; - $op1 = sp + 32|0; - $pJ = sp + 28|0; + $pTerm = sp + 116|0; + $pEnd = sp + 120|0; + $pTab = sp + 124|0; + $iDb = sp + 128|0; + $pTabItem = sp + 44|0; + $pVTab = sp + 140|0; + $iCur = sp + 144|0; + $op = sp + 148|0; + $b = sp + 24|0; + $n = sp + 88|0; + $pIx = sp + 136|0; + $iIndexCur = sp + 92|0; + $op1 = sp + 96|0; + $pJ = sp + 168|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTabList; HEAP32[$3>>2] = $pWhere; @@ -117898,13 +118936,13 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct HEAP16[$6>>1] = $wctrlFlags; HEAP32[$7>>2] = $iIdxCur; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; HEAP32[$v>>2] = $10; $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$11>>2]|0; HEAP32[$db>>2] = $12; - ;HEAP32[$sWLB+0>>2]=0|0;HEAP32[$sWLB+4>>2]=0|0;HEAP32[$sWLB+8>>2]=0|0;HEAP32[$sWLB+12>>2]=0|0;HEAP32[$sWLB+16>>2]=0|0; + ;HEAP32[$sWLB>>2]=0|0;HEAP32[$sWLB+4>>2]=0|0;HEAP32[$sWLB+8>>2]=0|0;HEAP32[$sWLB+12>>2]=0|0;HEAP32[$sWLB+16>>2]=0|0; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); if ($14) { @@ -117916,10 +118954,10 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } } $18 = HEAP32[$4>>2]|0; - $19 = (($sWLB) + 8|0); + $19 = ((($sWLB)) + 8|0); HEAP32[$19>>2] = $18; $20 = HEAP32[$db>>2]|0; - $21 = (($20) + 60|0); + $21 = ((($20)) + 60|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = $23 & 32; @@ -117937,7 +118975,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct if ($32) { $33 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = 64; - _sqlite3ErrorMsg($33,23568,$vararg_buffer); + _sqlite3ErrorMsg($33,26119,$vararg_buffer); HEAP32[$0>>2] = 0; $796 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($796|0); @@ -117967,7 +119005,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $50 = (_sqlite3DbMallocZero($47,$49,0)|0); HEAP32[$pWInfo>>2] = $50; $51 = HEAP32[$db>>2]|0; - $52 = (($51) + 64|0); + $52 = ((($51)) + 64|0); $53 = HEAP8[$52>>0]|0; $54 = ($53<<24>>24)!=(0); L15: do { @@ -117978,83 +119016,83 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct HEAP32[$pWInfo>>2] = 0; } else { $57 = HEAP32[$pWInfo>>2]|0; - $58 = (($57) + 60|0); - $59 = (($58) + 4|0); + $58 = ((($57)) + 60|0); + $59 = ((($58)) + 4|0); HEAP32[$59>>2] = -1; $60 = HEAP32[$pWInfo>>2]|0; - $61 = (($60) + 60|0); + $61 = ((($60)) + 60|0); HEAP32[$61>>2] = -1; $62 = HEAP32[$nTabList>>2]|0; $63 = $62&255; $64 = HEAP32[$pWInfo>>2]|0; - $65 = (($64) + 41|0); + $65 = ((($64)) + 41|0); HEAP8[$65>>0] = $63; $66 = HEAP32[$1>>2]|0; $67 = HEAP32[$pWInfo>>2]|0; HEAP32[$67>>2] = $66; $68 = HEAP32[$2>>2]|0; $69 = HEAP32[$pWInfo>>2]|0; - $70 = (($69) + 4|0); + $70 = ((($69)) + 4|0); HEAP32[$70>>2] = $68; $71 = HEAP32[$4>>2]|0; $72 = HEAP32[$pWInfo>>2]|0; - $73 = (($72) + 8|0); + $73 = ((($72)) + 8|0); HEAP32[$73>>2] = $71; $74 = HEAP32[$5>>2]|0; $75 = HEAP32[$pWInfo>>2]|0; - $76 = (($75) + 12|0); + $76 = ((($75)) + 12|0); HEAP32[$76>>2] = $74; $77 = HEAP32[$v>>2]|0; $78 = (_sqlite3VdbeMakeLabel($77)|0); $79 = HEAP32[$pWInfo>>2]|0; - $80 = (($79) + 48|0); + $80 = ((($79)) + 48|0); HEAP32[$80>>2] = $78; $81 = HEAP32[$pWInfo>>2]|0; - $82 = (($81) + 52|0); + $82 = ((($81)) + 52|0); HEAP32[$82>>2] = $78; $83 = HEAP16[$6>>1]|0; $84 = HEAP32[$pWInfo>>2]|0; - $85 = (($84) + 34|0); + $85 = ((($84)) + 34|0); HEAP16[$85>>1] = $83; $86 = HEAP32[$1>>2]|0; - $87 = (($86) + 424|0); + $87 = ((($86)) + 424|0); $88 = HEAP32[$87>>2]|0; $89 = HEAP32[$pWInfo>>2]|0; - $90 = (($89) + 56|0); + $90 = ((($89)) + 56|0); HEAP32[$90>>2] = $88; $91 = HEAP32[$pWInfo>>2]|0; - $92 = (($91) + 68|0); + $92 = ((($91)) + 68|0); HEAP32[$pMaskSet>>2] = $92; $93 = HEAP32[$pWInfo>>2]|0; HEAP32[$sWLB>>2] = $93; $94 = HEAP32[$pWInfo>>2]|0; - $95 = (($94) + 328|0); - $96 = (($sWLB) + 4|0); + $95 = ((($94)) + 328|0); + $96 = ((($sWLB)) + 4|0); HEAP32[$96>>2] = $95; $97 = HEAP32[$pWInfo>>2]|0; $98 = HEAP32[$nByteWInfo>>2]|0; $99 = (($97) + ($98)|0); - $100 = (($sWLB) + 12|0); + $100 = ((($sWLB)) + 12|0); HEAP32[$100>>2] = $99; - $101 = (($sWLB) + 12|0); + $101 = ((($sWLB)) + 12|0); $102 = HEAP32[$101>>2]|0; _whereLoopInit($102); $103 = HEAP32[$pMaskSet>>2]|0; HEAP32[$103>>2] = 0; $104 = HEAP32[$pWInfo>>2]|0; - $105 = (($104) + 328|0); + $105 = ((($104)) + 328|0); $106 = HEAP32[$pWInfo>>2]|0; _whereClauseInit($105,$106); $107 = HEAP32[$pWInfo>>2]|0; - $108 = (($107) + 328|0); + $108 = ((($107)) + 328|0); $109 = HEAP32[$3>>2]|0; _whereSplit($108,$109,72); HEAP32[$ii>>2] = 0; while(1) { $110 = HEAP32[$ii>>2]|0; - $111 = (($sWLB) + 4|0); + $111 = ((($sWLB)) + 4|0); $112 = HEAP32[$111>>2]|0; - $113 = (($112) + 12|0); + $113 = ((($112)) + 12|0); $114 = HEAP32[$113>>2]|0; $115 = ($110|0)<($114|0); $116 = HEAP32[$nTabList>>2]|0; @@ -118066,9 +119104,9 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct label = 16; } else { $118 = HEAP32[$ii>>2]|0; - $119 = (($sWLB) + 4|0); + $119 = ((($sWLB)) + 4|0); $120 = HEAP32[$119>>2]|0; - $121 = (($120) + 20|0); + $121 = ((($120)) + 20|0); $122 = HEAP32[$121>>2]|0; $123 = (($122) + (($118*48)|0)|0); $124 = HEAP32[$123>>2]|0; @@ -118082,23 +119120,23 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct label = 0; $127 = HEAP32[$1>>2]|0; $128 = HEAP32[$ii>>2]|0; - $129 = (($sWLB) + 4|0); + $129 = ((($sWLB)) + 4|0); $130 = HEAP32[$129>>2]|0; - $131 = (($130) + 20|0); + $131 = ((($130)) + 20|0); $132 = HEAP32[$131>>2]|0; $133 = (($132) + (($128*48)|0)|0); $134 = HEAP32[$133>>2]|0; $135 = HEAP32[$pWInfo>>2]|0; - $136 = (($135) + 52|0); + $136 = ((($135)) + 52|0); $137 = HEAP32[$136>>2]|0; _sqlite3ExprIfFalse($127,$134,$137,16); $138 = HEAP32[$ii>>2]|0; - $139 = (($sWLB) + 4|0); + $139 = ((($sWLB)) + 4|0); $140 = HEAP32[$139>>2]|0; - $141 = (($140) + 20|0); + $141 = ((($140)) + 20|0); $142 = HEAP32[$141>>2]|0; $143 = (($142) + (($138*48)|0)|0); - $144 = (($143) + 20|0); + $144 = ((($143)) + 20|0); $145 = HEAP8[$144>>0]|0; $146 = $145&255; $147 = $146 | 4; @@ -118117,7 +119155,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $154 = HEAP32[$153>>2]|0; $155 = $154&255; $156 = HEAP32[$pWInfo>>2]|0; - $157 = (($156) + 36|0); + $157 = ((($156)) + 36|0); HEAP8[$157>>0] = $155; } $158 = HEAP16[$6>>1]|0; @@ -118126,7 +119164,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $161 = ($160|0)!=(0); if ($161) { $162 = HEAP32[$pWInfo>>2]|0; - $163 = (($162) + 40|0); + $163 = ((($162)) + 40|0); HEAP8[$163>>0] = 1; } } @@ -118142,9 +119180,9 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $168 = HEAP32[$pMaskSet>>2]|0; $169 = HEAP32[$ii>>2]|0; $170 = HEAP32[$2>>2]|0; - $171 = (($170) + 8|0); + $171 = ((($170)) + 8|0); $172 = (($171) + (($169*72)|0)|0); - $173 = (($172) + 40|0); + $173 = ((($172)) + 40|0); $174 = HEAP32[$173>>2]|0; _createMask($168,$174); $175 = HEAP32[$ii>>2]|0; @@ -118153,10 +119191,10 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } $177 = HEAP32[$2>>2]|0; $178 = HEAP32[$pWInfo>>2]|0; - $179 = (($178) + 328|0); + $179 = ((($178)) + 328|0); _exprAnalyzeAll($177,$179); $180 = HEAP32[$db>>2]|0; - $181 = (($180) + 64|0); + $181 = ((($180)) + 64|0); $182 = HEAP8[$181>>0]|0; $183 = ($182<<24>>24)!=(0); if (!($183)) { @@ -118169,13 +119207,13 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $188 = HEAP32[$1>>2]|0; $189 = HEAP32[$2>>2]|0; $190 = HEAP32[$pWInfo>>2]|0; - $191 = (($190) + 328|0); + $191 = ((($190)) + 328|0); $192 = HEAP32[$5>>2]|0; $193 = (_isDistinctRedundant($188,$189,$191,$192)|0); $194 = ($193|0)!=(0); if ($194) { $195 = HEAP32[$pWInfo>>2]|0; - $196 = (($195) + 40|0); + $196 = ((($195)) + 40|0); HEAP8[$196>>0] = 1; break; } @@ -118183,7 +119221,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $198 = ($197|0)==(0|0); if ($198) { $199 = HEAP32[$pWInfo>>2]|0; - $200 = (($199) + 34|0); + $200 = ((($199)) + 34|0); $201 = HEAP16[$200>>1]|0; $202 = $201&65535; $203 = $202 | 512; @@ -118191,7 +119229,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct HEAP16[$200>>1] = $204; $205 = HEAP32[$5>>2]|0; $206 = HEAP32[$pWInfo>>2]|0; - $207 = (($206) + 8|0); + $207 = ((($206)) + 8|0); HEAP32[$207>>2] = $205; } } @@ -118218,27 +119256,27 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $215 = HEAP32[$pWInfo>>2]|0; (_wherePathSolver($215,0)|0); $216 = HEAP32[$db>>2]|0; - $217 = (($216) + 64|0); + $217 = ((($216)) + 64|0); $218 = HEAP8[$217>>0]|0; $219 = ($218<<24>>24)!=(0); if ($219) { break; } $220 = HEAP32[$pWInfo>>2]|0; - $221 = (($220) + 8|0); + $221 = ((($220)) + 8|0); $222 = HEAP32[$221>>2]|0; $223 = ($222|0)!=(0|0); if ($223) { $224 = HEAP32[$pWInfo>>2]|0; $225 = HEAP32[$pWInfo>>2]|0; - $226 = (($225) + 32|0); + $226 = ((($225)) + 32|0); $227 = HEAP16[$226>>1]|0; $228 = $227 << 16 >> 16; $229 = (($228) + 1)|0; $230 = $229&65535; (_wherePathSolver($224,$230)|0); $231 = HEAP32[$db>>2]|0; - $232 = (($231) + 64|0); + $232 = ((($231)) + 64|0); $233 = HEAP8[$232>>0]|0; $234 = ($233<<24>>24)!=(0); if ($234) { @@ -118247,18 +119285,18 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } } $235 = HEAP32[$pWInfo>>2]|0; - $236 = (($235) + 8|0); + $236 = ((($235)) + 8|0); $237 = HEAP32[$236>>2]|0; $238 = ($237|0)==(0|0); if ($238) { $239 = HEAP32[$db>>2]|0; - $240 = (($239) + 24|0); + $240 = ((($239)) + 24|0); $241 = HEAP32[$240>>2]|0; $242 = $241 & 131072; $243 = ($242|0)!=(0); if ($243) { $244 = HEAP32[$pWInfo>>2]|0; - $245 = (($244) + 24|0); + $245 = ((($244)) + 24|0); $246 = $245; $247 = $246; HEAP32[$247>>2] = -1; @@ -118268,18 +119306,18 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } } $250 = HEAP32[$1>>2]|0; - $251 = (($250) + 64|0); + $251 = ((($250)) + 64|0); $252 = HEAP32[$251>>2]|0; $253 = ($252|0)!=(0); if (!($253)) { $254 = HEAP32[$db>>2]|0; - $255 = (($254) + 64|0); + $255 = ((($254)) + 64|0); $256 = HEAP8[$255>>0]|0; $257 = $256&255; $258 = ($257|0)!=(0); if (!($258)) { $259 = HEAP32[$pWInfo>>2]|0; - $260 = (($259) + 41|0); + $260 = ((($259)) + 41|0); $261 = HEAP8[$260>>0]|0; $262 = $261&255; $263 = ($262|0)>=(2); @@ -118289,7 +119327,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct L60: do { if ($or$cond) { $266 = HEAP32[$db>>2]|0; - $267 = (($266) + 60|0); + $267 = ((($266)) + 60|0); $268 = HEAP16[$267>>1]|0; $269 = $268&65535; $270 = $269 & 1024; @@ -118305,12 +119343,12 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $278 = (($276) + 4)|0; $279 = $278; HEAP32[$279>>2] = $275; - $280 = (($sWLB) + 8|0); + $280 = ((($sWLB)) + 8|0); $281 = HEAP32[$280>>2]|0; $282 = ($281|0)!=(0|0); if ($282) { $283 = HEAP32[$pMaskSet>>2]|0; - $284 = (($sWLB) + 8|0); + $284 = ((($sWLB)) + 8|0); $285 = HEAP32[$284>>2]|0; $286 = (_exprListTableUsage($283,$285)|0); $287 = tempRet0; @@ -118331,7 +119369,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } while(1) { $300 = HEAP32[$pWInfo>>2]|0; - $301 = (($300) + 41|0); + $301 = ((($300)) + 41|0); $302 = HEAP8[$301>>0]|0; $303 = $302&255; $304 = ($303|0)>=(2); @@ -118339,26 +119377,26 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break L60; } $305 = HEAP32[$pWInfo>>2]|0; - $306 = (($305) + 41|0); + $306 = ((($305)) + 41|0); $307 = HEAP8[$306>>0]|0; $308 = $307&255; $309 = (($308) - 1)|0; $310 = HEAP32[$pWInfo>>2]|0; - $311 = (($310) + 736|0); + $311 = ((($310)) + 736|0); $312 = (($311) + (($309*72)|0)|0); - $313 = (($312) + 56|0); + $313 = ((($312)) + 56|0); $314 = HEAP32[$313>>2]|0; HEAP32[$pLoop>>2] = $314; $315 = HEAP32[$pLoop>>2]|0; - $316 = (($315) + 16|0); + $316 = ((($315)) + 16|0); $317 = HEAP8[$316>>0]|0; $318 = $317&255; $319 = HEAP32[$pWInfo>>2]|0; - $320 = (($319) + 4|0); + $320 = ((($319)) + 4|0); $321 = HEAP32[$320>>2]|0; - $322 = (($321) + 8|0); + $322 = ((($321)) + 8|0); $323 = (($322) + (($318*72)|0)|0); - $324 = (($323) + 36|0); + $324 = ((($323)) + 36|0); $325 = HEAP8[$324>>0]|0; $326 = $325&255; $327 = $326 & 8; @@ -118372,7 +119410,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $332 = ($331|0)==(0); if ($332) { $333 = HEAP32[$pLoop>>2]|0; - $334 = (($333) + 36|0); + $334 = ((($333)) + 36|0); $335 = HEAP32[$334>>2]|0; $336 = $335 & 4096; $337 = ($336|0)==(0); @@ -118387,7 +119425,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $342 = $341; $343 = HEAP32[$342>>2]|0; $344 = HEAP32[$pLoop>>2]|0; - $345 = (($344) + 8|0); + $345 = ((($344)) + 8|0); $346 = $345; $347 = $346; $348 = HEAP32[$347>>2]|0; @@ -118402,19 +119440,19 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct if ($356) { break L60; } - $357 = (($sWLB) + 4|0); + $357 = ((($sWLB)) + 4|0); $358 = HEAP32[$357>>2]|0; - $359 = (($358) + 20|0); + $359 = ((($358)) + 20|0); $360 = HEAP32[$359>>2]|0; - $361 = (($sWLB) + 4|0); + $361 = ((($sWLB)) + 4|0); $362 = HEAP32[$361>>2]|0; - $363 = (($362) + 12|0); + $363 = ((($362)) + 12|0); $364 = HEAP32[$363>>2]|0; $365 = (($360) + (($364*48)|0)|0); HEAP32[$pEnd>>2] = $365; - $366 = (($sWLB) + 4|0); + $366 = ((($sWLB)) + 4|0); $367 = HEAP32[$366>>2]|0; - $368 = (($367) + 20|0); + $368 = ((($367)) + 20|0); $369 = HEAP32[$368>>2]|0; HEAP32[$pTerm>>2] = $369; while(1) { @@ -118425,7 +119463,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break; } $373 = HEAP32[$pTerm>>2]|0; - $374 = (($373) + 40|0); + $374 = ((($373)) + 40|0); $375 = $374; $376 = $375; $377 = HEAP32[$376>>2]|0; @@ -118433,7 +119471,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $379 = $378; $380 = HEAP32[$379>>2]|0; $381 = HEAP32[$pLoop>>2]|0; - $382 = (($381) + 8|0); + $382 = ((($381)) + 8|0); $383 = $382; $384 = $383; $385 = HEAP32[$384>>2]|0; @@ -118448,7 +119486,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct if ($393) { $394 = HEAP32[$pTerm>>2]|0; $395 = HEAP32[$394>>2]|0; - $396 = (($395) + 4|0); + $396 = ((($395)) + 4|0); $397 = HEAP32[$396>>2]|0; $398 = $397 & 1; $399 = ($398|0)!=(0); @@ -118457,7 +119495,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } } $400 = HEAP32[$pTerm>>2]|0; - $401 = (($400) + 48|0); + $401 = ((($400)) + 48|0); HEAP32[$pTerm>>2] = $401; } $402 = HEAP32[$pTerm>>2]|0; @@ -118467,7 +119505,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break L60; } $405 = HEAP32[$pWInfo>>2]|0; - $406 = (($405) + 41|0); + $406 = ((($405)) + 41|0); $407 = HEAP8[$406>>0]|0; $408 = (($407) + -1)<<24>>24; HEAP8[$406>>0] = $408; @@ -118479,12 +119517,12 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } } while(0); $411 = HEAP32[$pWInfo>>2]|0; - $412 = (($411) + 32|0); + $412 = ((($411)) + 32|0); $413 = HEAP16[$412>>1]|0; $414 = $413 << 16 >> 16; $415 = HEAP32[$pWInfo>>2]|0; $416 = HEAP32[$415>>2]|0; - $417 = (($416) + 424|0); + $417 = ((($416)) + 424|0); $418 = HEAP32[$417>>2]|0; $419 = (($418) + ($414))|0; HEAP32[$417>>2] = $419; @@ -118494,32 +119532,32 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $423 = ($422|0)!=(0); if ($423) { $424 = HEAP32[$pWInfo>>2]|0; - $425 = (($424) + 736|0); - $426 = (($425) + 56|0); + $425 = ((($424)) + 736|0); + $426 = ((($425)) + 56|0); $427 = HEAP32[$426>>2]|0; - $428 = (($427) + 36|0); + $428 = ((($427)) + 36|0); $429 = HEAP32[$428>>2]|0; $430 = $429 & 4096; $431 = ($430|0)!=(0); if ($431) { $432 = HEAP32[$pWInfo>>2]|0; - $433 = (($432) + 38|0); + $433 = ((($432)) + 38|0); HEAP8[$433>>0] = 1; $434 = HEAP32[$2>>2]|0; - $435 = (($434) + 8|0); - $436 = (($435) + 16|0); + $435 = ((($434)) + 8|0); + $436 = ((($435)) + 16|0); $437 = HEAP32[$436>>2]|0; - $438 = (($437) + 44|0); + $438 = ((($437)) + 44|0); $439 = HEAP8[$438>>0]|0; $440 = $439&255; $441 = $440 & 32; $442 = ($441|0)==(0); if ($442) { $443 = HEAP32[$pWInfo>>2]|0; - $444 = (($443) + 736|0); - $445 = (($444) + 56|0); + $444 = ((($443)) + 736|0); + $445 = ((($444)) + 56|0); $446 = HEAP32[$445>>2]|0; - $447 = (($446) + 36|0); + $447 = ((($446)) + 36|0); $448 = HEAP32[$447>>2]|0; $449 = $448 & -65; HEAP32[$447>>2] = $449; @@ -118534,7 +119572,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct HEAP32[$453>>2] = -1; HEAP32[$ii>>2] = 0; $454 = HEAP32[$pWInfo>>2]|0; - $455 = (($454) + 736|0); + $455 = ((($454)) + 736|0); HEAP32[$pLevel>>2] = $455; while(1) { $456 = HEAP32[$ii>>2]|0; @@ -118544,29 +119582,29 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break; } $459 = HEAP32[$pLevel>>2]|0; - $460 = (($459) + 36|0); + $460 = ((($459)) + 36|0); $461 = HEAP8[$460>>0]|0; $462 = $461&255; $463 = HEAP32[$2>>2]|0; - $464 = (($463) + 8|0); + $464 = ((($463)) + 8|0); $465 = (($464) + (($462*72)|0)|0); HEAP32[$pTabItem>>2] = $465; $466 = HEAP32[$pTabItem>>2]|0; - $467 = (($466) + 16|0); + $467 = ((($466)) + 16|0); $468 = HEAP32[$467>>2]|0; HEAP32[$pTab>>2] = $468; $469 = HEAP32[$db>>2]|0; $470 = HEAP32[$pTab>>2]|0; - $471 = (($470) + 68|0); + $471 = ((($470)) + 68|0); $472 = HEAP32[$471>>2]|0; $473 = (_sqlite3SchemaToIndex($469,$472)|0); HEAP32[$iDb>>2] = $473; $474 = HEAP32[$pLevel>>2]|0; - $475 = (($474) + 56|0); + $475 = ((($474)) + 56|0); $476 = HEAP32[$475>>2]|0; HEAP32[$pLoop>>2] = $476; $477 = HEAP32[$pTab>>2]|0; - $478 = (($477) + 44|0); + $478 = ((($477)) + 44|0); $479 = HEAP8[$478>>0]|0; $480 = $479&255; $481 = $480 & 2; @@ -118574,12 +119612,12 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct L90: do { if (!($482)) { $483 = HEAP32[$pTab>>2]|0; - $484 = (($483) + 12|0); + $484 = ((($483)) + 12|0); $485 = HEAP32[$484>>2]|0; $486 = ($485|0)!=(0|0); if (!($486)) { $487 = HEAP32[$pLoop>>2]|0; - $488 = (($487) + 36|0); + $488 = ((($487)) + 36|0); $489 = HEAP32[$488>>2]|0; $490 = $489 & 1024; $491 = ($490|0)!=(0); @@ -118589,7 +119627,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $494 = (_sqlite3GetVTable($492,$493)|0); HEAP32[$pVTab>>2] = $494; $495 = HEAP32[$pTabItem>>2]|0; - $496 = (($495) + 40|0); + $496 = ((($495)) + 40|0); $497 = HEAP32[$496>>2]|0; HEAP32[$iCur>>2] = $497; $498 = HEAP32[$v>>2]|0; @@ -118599,7 +119637,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break; } $501 = HEAP32[$pTab>>2]|0; - $502 = (($501) + 44|0); + $502 = ((($501)) + 44|0); $503 = HEAP8[$502>>0]|0; $504 = $503&255; $505 = $504 & 16; @@ -118608,7 +119646,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break; } $507 = HEAP32[$pLoop>>2]|0; - $508 = (($507) + 36|0); + $508 = ((($507)) + 36|0); $509 = HEAP32[$508>>2]|0; $510 = $509 & 64; $511 = ($510|0)==(0); @@ -118623,35 +119661,35 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } HEAP32[$op>>2] = 54; $516 = HEAP32[$pWInfo>>2]|0; - $517 = (($516) + 38|0); + $517 = ((($516)) + 38|0); $518 = HEAP8[$517>>0]|0; $519 = ($518<<24>>24)!=(0); if ($519) { HEAP32[$op>>2] = 55; $520 = HEAP32[$pTabItem>>2]|0; - $521 = (($520) + 40|0); + $521 = ((($520)) + 40|0); $522 = HEAP32[$521>>2]|0; $523 = HEAP32[$pWInfo>>2]|0; - $524 = (($523) + 60|0); + $524 = ((($523)) + 60|0); HEAP32[$524>>2] = $522; } $525 = HEAP32[$1>>2]|0; $526 = HEAP32[$pTabItem>>2]|0; - $527 = (($526) + 40|0); + $527 = ((($526)) + 40|0); $528 = HEAP32[$527>>2]|0; $529 = HEAP32[$iDb>>2]|0; $530 = HEAP32[$pTab>>2]|0; $531 = HEAP32[$op>>2]|0; _sqlite3OpenTable($525,$528,$529,$530,$531); $532 = HEAP32[$pWInfo>>2]|0; - $533 = (($532) + 38|0); + $533 = ((($532)) + 38|0); $534 = HEAP8[$533>>0]|0; $535 = ($534<<24>>24)!=(0); if ($535) { break L90; } $536 = HEAP32[$pTab>>2]|0; - $537 = (($536) + 38|0); + $537 = ((($536)) + 38|0); $538 = HEAP16[$537>>1]|0; $539 = $538 << 16 >> 16; $540 = ($539|0)<(64); @@ -118659,7 +119697,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break L90; } $541 = HEAP32[$pTab>>2]|0; - $542 = (($541) + 44|0); + $542 = ((($541)) + 44|0); $543 = HEAP8[$542>>0]|0; $544 = $543&255; $545 = $544 & 32; @@ -118668,7 +119706,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break L90; } $547 = HEAP32[$pTabItem>>2]|0; - $548 = (($547) + 56|0); + $548 = ((($547)) + 56|0); $549 = $548; $550 = $549; $551 = HEAP32[$550>>2]|0; @@ -118726,7 +119764,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $588 = HEAP32[$1>>2]|0; $589 = HEAP32[$iDb>>2]|0; $590 = HEAP32[$pTab>>2]|0; - $591 = (($590) + 32|0); + $591 = ((($590)) + 32|0); $592 = HEAP32[$591>>2]|0; $593 = HEAP32[$pTab>>2]|0; $594 = HEAP32[$593>>2]|0; @@ -118735,20 +119773,20 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } } while(0); $595 = HEAP32[$pLoop>>2]|0; - $596 = (($595) + 36|0); + $596 = ((($595)) + 36|0); $597 = HEAP32[$596>>2]|0; $598 = $597 & 512; $599 = ($598|0)!=(0); do { if ($599) { $600 = HEAP32[$pLoop>>2]|0; - $601 = (($600) + 24|0); - $602 = (($601) + 4|0); + $601 = ((($600)) + 24|0); + $602 = ((($601)) + 4|0); $603 = HEAP32[$602>>2]|0; HEAP32[$pIx>>2] = $603; HEAP32[$op1>>2] = 54; $604 = HEAP32[$pTab>>2]|0; - $605 = (($604) + 44|0); + $605 = ((($604)) + 44|0); $606 = HEAP8[$605>>0]|0; $607 = $606&255; $608 = $607 & 32; @@ -118758,7 +119796,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct label = 87; } else { $610 = HEAP32[$pIx>>2]|0; - $611 = (($610) + 55|0); + $611 = ((($610)) + 55|0); $612 = HEAP8[$611>>0]|0; $613 = $612 & 3; $614 = $613&255; @@ -118776,7 +119814,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct break; } $620 = HEAP32[$pLevel>>2]|0; - $621 = (($620) + 4|0); + $621 = ((($620)) + 4|0); $622 = HEAP32[$621>>2]|0; HEAP32[$iIndexCur>>2] = $622; HEAP32[$op1>>2] = 0; @@ -118786,14 +119824,14 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct if ((label|0) == 87) { label = 0; $623 = HEAP32[$pWInfo>>2]|0; - $624 = (($623) + 38|0); + $624 = ((($623)) + 38|0); $625 = HEAP8[$624>>0]|0; $626 = ($625<<24>>24)!=(0); if ($626) { $627 = HEAP32[$pTabItem>>2]|0; - $628 = (($627) + 16|0); + $628 = ((($627)) + 16|0); $629 = HEAP32[$628>>2]|0; - $630 = (($629) + 8|0); + $630 = ((($629)) + 8|0); $631 = HEAP32[$630>>2]|0; HEAP32[$pJ>>2] = $631; $632 = HEAP32[$7>>2]|0; @@ -118814,15 +119852,15 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $639 = (($638) + 1)|0; HEAP32[$iIndexCur>>2] = $639; $640 = HEAP32[$pJ>>2]|0; - $641 = (($640) + 20|0); + $641 = ((($640)) + 20|0); $642 = HEAP32[$641>>2]|0; HEAP32[$pJ>>2] = $642; } HEAP32[$op1>>2] = 55; $643 = HEAP32[$iIndexCur>>2]|0; $644 = HEAP32[$pWInfo>>2]|0; - $645 = (($644) + 60|0); - $646 = (($645) + 4|0); + $645 = ((($644)) + 60|0); + $646 = ((($645)) + 4|0); HEAP32[$646>>2] = $643; break; } else { @@ -118851,7 +119889,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } } while(0); $658 = HEAP32[$1>>2]|0; - $659 = (($658) + 68|0); + $659 = ((($658)) + 68|0); $660 = HEAP32[$659>>2]|0; $661 = (($660) + 1)|0; HEAP32[$659>>2] = $661; @@ -118862,7 +119900,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } while(0); $662 = HEAP32[$iIndexCur>>2]|0; $663 = HEAP32[$pLevel>>2]|0; - $664 = (($663) + 8|0); + $664 = ((($663)) + 8|0); HEAP32[$664>>2] = $662; $665 = HEAP32[$op1>>2]|0; $666 = ($665|0)!=(0); @@ -118873,7 +119911,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $668 = HEAP32[$op1>>2]|0; $669 = HEAP32[$iIndexCur>>2]|0; $670 = HEAP32[$pIx>>2]|0; - $671 = (($670) + 44|0); + $671 = ((($670)) + 44|0); $672 = HEAP32[$671>>2]|0; $673 = HEAP32[$iDb>>2]|0; (_sqlite3VdbeAddOp3($667,$668,$669,$672,$673)|0); @@ -118890,9 +119928,9 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct _sqlite3CodeVerifySchema($678,$679); } $680 = HEAP32[$pWInfo>>2]|0; - $681 = (($680) + 68|0); + $681 = ((($680)) + 68|0); $682 = HEAP32[$pTabItem>>2]|0; - $683 = (($682) + 40|0); + $683 = ((($682)) + 40|0); $684 = HEAP32[$683>>2]|0; $685 = (_getMask($681,$684)|0); $686 = tempRet0; @@ -118916,16 +119954,16 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $702 = (($701) + 1)|0; HEAP32[$ii>>2] = $702; $703 = HEAP32[$pLevel>>2]|0; - $704 = (($703) + 72|0); + $704 = ((($703)) + 72|0); HEAP32[$pLevel>>2] = $704; } $705 = HEAP32[$v>>2]|0; $706 = (_sqlite3VdbeCurrentAddr($705)|0); $707 = HEAP32[$pWInfo>>2]|0; - $708 = (($707) + 44|0); + $708 = ((($707)) + 44|0); HEAP32[$708>>2] = $706; $709 = HEAP32[$db>>2]|0; - $710 = (($709) + 64|0); + $710 = ((($709)) + 64|0); $711 = HEAP8[$710>>0]|0; $712 = ($711<<24>>24)!=(0); if (!($712)) { @@ -118945,26 +119983,26 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct } $720 = HEAP32[$ii>>2]|0; $721 = HEAP32[$pWInfo>>2]|0; - $722 = (($721) + 736|0); + $722 = ((($721)) + 736|0); $723 = (($722) + (($720*72)|0)|0); HEAP32[$pLevel>>2] = $723; $724 = HEAP32[$pLevel>>2]|0; - $725 = (($724) + 56|0); + $725 = ((($724)) + 56|0); $726 = HEAP32[$725>>2]|0; - $727 = (($726) + 36|0); + $727 = ((($726)) + 36|0); $728 = HEAP32[$727>>2]|0; $729 = $728 & 16384; $730 = ($729|0)!=(0); if ($730) { $731 = HEAP32[$1>>2]|0; $732 = HEAP32[$pWInfo>>2]|0; - $733 = (($732) + 328|0); + $733 = ((($732)) + 328|0); $734 = HEAP32[$pLevel>>2]|0; - $735 = (($734) + 36|0); + $735 = ((($734)) + 36|0); $736 = HEAP8[$735>>0]|0; $737 = $736&255; $738 = HEAP32[$2>>2]|0; - $739 = (($738) + 8|0); + $739 = ((($738)) + 8|0); $740 = (($739) + (($737*72)|0)|0); $741 = $notReady; $742 = $741; @@ -118975,7 +120013,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $747 = HEAP32[$pLevel>>2]|0; _constructAutomaticIndex($731,$733,$740,$743,$746,$747); $748 = HEAP32[$db>>2]|0; - $749 = (($748) + 64|0); + $749 = ((($748)) + 64|0); $750 = HEAP8[$749>>0]|0; $751 = ($750<<24>>24)!=(0); if ($751) { @@ -118987,7 +120025,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $754 = HEAP32[$pLevel>>2]|0; $755 = HEAP32[$ii>>2]|0; $756 = HEAP32[$pLevel>>2]|0; - $757 = (($756) + 36|0); + $757 = ((($756)) + 36|0); $758 = HEAP8[$757>>0]|0; $759 = $758&255; $760 = HEAP16[$6>>1]|0; @@ -118995,7 +120033,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $761 = HEAP32[$v>>2]|0; $762 = (_sqlite3VdbeCurrentAddr($761)|0); $763 = HEAP32[$pLevel>>2]|0; - $764 = (($763) + 32|0); + $764 = ((($763)) + 32|0); HEAP32[$764>>2] = $762; $765 = HEAP32[$pWInfo>>2]|0; $766 = HEAP32[$ii>>2]|0; @@ -119014,10 +120052,10 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $778 = $777; HEAP32[$778>>2] = $774; $779 = HEAP32[$pLevel>>2]|0; - $780 = (($779) + 24|0); + $780 = ((($779)) + 24|0); $781 = HEAP32[$780>>2]|0; $782 = HEAP32[$pWInfo>>2]|0; - $783 = (($782) + 48|0); + $783 = ((($782)) + 48|0); HEAP32[$783>>2] = $781; $784 = HEAP32[$ii>>2]|0; $785 = (($784) + 1)|0; @@ -119037,10 +120075,10 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $788 = ($787|0)!=(0|0); if ($788) { $789 = HEAP32[$pWInfo>>2]|0; - $790 = (($789) + 56|0); + $790 = ((($789)) + 56|0); $791 = HEAP32[$790>>2]|0; $792 = HEAP32[$1>>2]|0; - $793 = (($792) + 424|0); + $793 = ((($792)) + 424|0); HEAP32[$793>>2] = $791; $794 = HEAP32[$db>>2]|0; $795 = HEAP32[$pWInfo>>2]|0; @@ -119076,36 +120114,36 @@ function _sqlite3WhereEnd($pWInfo) { var $pLoop = 0, $pOp = 0, $pParse = 0, $pPk = 0, $pTab = 0, $pTabItem = 0, $pTabList = 0, $v = 0, $ws = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $pParse = sp + 72|0; - $v = sp + 68|0; - $i = sp + 64|0; - $pLevel = sp + 60|0; - $pLoop = sp + 56|0; - $pTabList = sp + 52|0; - $db = sp + 48|0; - $addr = sp + 44|0; - $pIn = sp + 40|0; - $j = sp + 36|0; - $k = sp + 32|0; - $last = sp + 28|0; - $pOp = sp + 24|0; - $pIdx = sp + 20|0; - $pTabItem = sp + 16|0; - $pTab = sp + 12|0; - $ws = sp + 8|0; - $x = sp + 4|0; - $pPk = sp; + $0 = sp + 36|0; + $pParse = sp + 24|0; + $v = sp + 20|0; + $i = sp + 68|0; + $pLevel = sp + 32|0; + $pLoop = sp + 16|0; + $pTabList = sp + 48|0; + $db = sp + 56|0; + $addr = sp + 64|0; + $pIn = sp + 72|0; + $j = sp + 76|0; + $k = sp + 40|0; + $last = sp + 8|0; + $pOp = sp; + $pIdx = sp + 4|0; + $pTabItem = sp + 44|0; + $pTab = sp + 52|0; + $ws = sp + 28|0; + $x = sp + 60|0; + $pPk = sp + 12|0; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; HEAP32[$pParse>>2] = $2; $3 = HEAP32[$pParse>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$v>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pTabList>>2] = $8; $9 = HEAP32[$pParse>>2]|0; @@ -119114,7 +120152,7 @@ function _sqlite3WhereEnd($pWInfo) { $11 = HEAP32[$pParse>>2]|0; _sqlite3ExprCacheClear($11); $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 41|0); + $13 = ((($12)) + 41|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = (($15) - 1)|0; @@ -119127,71 +120165,71 @@ function _sqlite3WhereEnd($pWInfo) { } $19 = HEAP32[$i>>2]|0; $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 736|0); + $21 = ((($20)) + 736|0); $22 = (($21) + (($19*72)|0)|0); HEAP32[$pLevel>>2] = $22; $23 = HEAP32[$pLevel>>2]|0; - $24 = (($23) + 56|0); + $24 = ((($23)) + 56|0); $25 = HEAP32[$24>>2]|0; HEAP32[$pLoop>>2] = $25; $26 = HEAP32[$v>>2]|0; $27 = HEAP32[$pLevel>>2]|0; - $28 = (($27) + 24|0); + $28 = ((($27)) + 24|0); $29 = HEAP32[$28>>2]|0; _sqlite3VdbeResolveLabel($26,$29); $30 = HEAP32[$pLevel>>2]|0; - $31 = (($30) + 37|0); + $31 = ((($30)) + 37|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = ($33|0)!=(154); if ($34) { $35 = HEAP32[$v>>2]|0; $36 = HEAP32[$pLevel>>2]|0; - $37 = (($36) + 37|0); + $37 = ((($36)) + 37|0); $38 = HEAP8[$37>>0]|0; $39 = $38&255; $40 = HEAP32[$pLevel>>2]|0; - $41 = (($40) + 40|0); + $41 = ((($40)) + 40|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$pLevel>>2]|0; - $44 = (($43) + 44|0); + $44 = ((($43)) + 44|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$pLevel>>2]|0; - $47 = (($46) + 38|0); + $47 = ((($46)) + 38|0); $48 = HEAP8[$47>>0]|0; $49 = $48&255; (_sqlite3VdbeAddOp3($35,$39,$42,$45,$49)|0); $50 = HEAP32[$v>>2]|0; $51 = HEAP32[$pLevel>>2]|0; - $52 = (($51) + 39|0); + $52 = ((($51)) + 39|0); $53 = HEAP8[$52>>0]|0; _sqlite3VdbeChangeP5($50,$53); } $54 = HEAP32[$pLoop>>2]|0; - $55 = (($54) + 36|0); + $55 = ((($54)) + 36|0); $56 = HEAP32[$55>>2]|0; $57 = $56 & 2048; $58 = ($57|0)!=(0); if ($58) { $59 = HEAP32[$pLevel>>2]|0; - $60 = (($59) + 48|0); + $60 = ((($59)) + 48|0); $61 = HEAP32[$60>>2]|0; $62 = ($61|0)>(0); if ($62) { $63 = HEAP32[$v>>2]|0; $64 = HEAP32[$pLevel>>2]|0; - $65 = (($64) + 16|0); + $65 = ((($64)) + 16|0); $66 = HEAP32[$65>>2]|0; _sqlite3VdbeResolveLabel($63,$66); $67 = HEAP32[$pLevel>>2]|0; - $68 = (($67) + 48|0); + $68 = ((($67)) + 48|0); $69 = HEAP32[$68>>2]|0; HEAP32[$j>>2] = $69; $70 = HEAP32[$j>>2]|0; $71 = (($70) - 1)|0; $72 = HEAP32[$pLevel>>2]|0; - $73 = (($72) + 48|0); - $74 = (($73) + 4|0); + $73 = ((($72)) + 48|0); + $74 = ((($73)) + 4|0); $75 = HEAP32[$74>>2]|0; $76 = (($75) + (($71*12)|0)|0); HEAP32[$pIn>>2] = $76; @@ -119203,24 +120241,24 @@ function _sqlite3WhereEnd($pWInfo) { } $79 = HEAP32[$v>>2]|0; $80 = HEAP32[$pIn>>2]|0; - $81 = (($80) + 4|0); + $81 = ((($80)) + 4|0); $82 = HEAP32[$81>>2]|0; $83 = (($82) + 1)|0; _sqlite3VdbeJumpHere($79,$83); $84 = HEAP32[$v>>2]|0; $85 = HEAP32[$pIn>>2]|0; - $86 = (($85) + 8|0); + $86 = ((($85)) + 8|0); $87 = HEAP8[$86>>0]|0; $88 = $87&255; $89 = HEAP32[$pIn>>2]|0; $90 = HEAP32[$89>>2]|0; $91 = HEAP32[$pIn>>2]|0; - $92 = (($91) + 4|0); + $92 = ((($91)) + 4|0); $93 = HEAP32[$92>>2]|0; (_sqlite3VdbeAddOp2($84,$88,$90,$93)|0); $94 = HEAP32[$v>>2]|0; $95 = HEAP32[$pIn>>2]|0; - $96 = (($95) + 4|0); + $96 = ((($95)) + 4|0); $97 = HEAP32[$96>>2]|0; $98 = (($97) - 1)|0; _sqlite3VdbeJumpHere($94,$98); @@ -119228,40 +120266,40 @@ function _sqlite3WhereEnd($pWInfo) { $100 = (($99) + -1)|0; HEAP32[$j>>2] = $100; $101 = HEAP32[$pIn>>2]|0; - $102 = (($101) + -12|0); + $102 = ((($101)) + -12|0); HEAP32[$pIn>>2] = $102; } $103 = HEAP32[$db>>2]|0; $104 = HEAP32[$pLevel>>2]|0; - $105 = (($104) + 48|0); - $106 = (($105) + 4|0); + $105 = ((($104)) + 48|0); + $106 = ((($105)) + 4|0); $107 = HEAP32[$106>>2]|0; _sqlite3DbFree($103,$107); } } $108 = HEAP32[$v>>2]|0; $109 = HEAP32[$pLevel>>2]|0; - $110 = (($109) + 12|0); + $110 = ((($109)) + 12|0); $111 = HEAP32[$110>>2]|0; _sqlite3VdbeResolveLabel($108,$111); $112 = HEAP32[$pLevel>>2]|0; - $113 = (($112) + 20|0); + $113 = ((($112)) + 20|0); $114 = HEAP32[$113>>2]|0; $115 = ($114|0)!=(0); if ($115) { $116 = HEAP32[$v>>2]|0; $117 = HEAP32[$pLevel>>2]|0; - $118 = (($117) + 20|0); + $118 = ((($117)) + 20|0); $119 = HEAP32[$118>>2]|0; (_sqlite3VdbeAddOp2($116,16,0,$119)|0); $120 = HEAP32[$v>>2]|0; $121 = HEAP32[$pLevel>>2]|0; - $122 = (($121) + 20|0); + $122 = ((($121)) + 20|0); $123 = HEAP32[$122>>2]|0; _sqlite3VdbeJumpHere($120,$123); $124 = HEAP32[$v>>2]|0; $125 = HEAP32[$pLevel>>2]|0; - $126 = (($125) + 20|0); + $126 = ((($125)) + 20|0); $127 = HEAP32[$126>>2]|0; $128 = (($127) - 2)|0; _sqlite3VdbeJumpHere($124,$128); @@ -119276,7 +120314,7 @@ function _sqlite3WhereEnd($pWInfo) { $135 = (_sqlite3VdbeAddOp1($132,137,$134)|0); HEAP32[$addr>>2] = $135; $136 = HEAP32[$pLoop>>2]|0; - $137 = (($136) + 36|0); + $137 = ((($136)) + 36|0); $138 = HEAP32[$137>>2]|0; $139 = $138 & 64; $140 = ($139|0)==(0); @@ -119284,40 +120322,40 @@ function _sqlite3WhereEnd($pWInfo) { $141 = HEAP32[$v>>2]|0; $142 = HEAP32[$i>>2]|0; $143 = HEAP32[$pTabList>>2]|0; - $144 = (($143) + 8|0); + $144 = ((($143)) + 8|0); $145 = (($144) + (($142*72)|0)|0); - $146 = (($145) + 40|0); + $146 = ((($145)) + 40|0); $147 = HEAP32[$146>>2]|0; (_sqlite3VdbeAddOp1($141,104,$147)|0); } $148 = HEAP32[$pLoop>>2]|0; - $149 = (($148) + 36|0); + $149 = ((($148)) + 36|0); $150 = HEAP32[$149>>2]|0; $151 = $150 & 512; $152 = ($151|0)!=(0); if ($152) { $153 = HEAP32[$v>>2]|0; $154 = HEAP32[$pLevel>>2]|0; - $155 = (($154) + 8|0); + $155 = ((($154)) + 8|0); $156 = HEAP32[$155>>2]|0; (_sqlite3VdbeAddOp1($153,104,$156)|0); } $157 = HEAP32[$pLevel>>2]|0; - $158 = (($157) + 37|0); + $158 = ((($157)) + 37|0); $159 = HEAP8[$158>>0]|0; $160 = $159&255; $161 = ($160|0)==(18); $162 = HEAP32[$v>>2]|0; $163 = HEAP32[$pLevel>>2]|0; if ($161) { - $164 = (($163) + 40|0); + $164 = ((($163)) + 40|0); $165 = HEAP32[$164>>2]|0; $166 = HEAP32[$pLevel>>2]|0; - $167 = (($166) + 28|0); + $167 = ((($166)) + 28|0); $168 = HEAP32[$167>>2]|0; (_sqlite3VdbeAddOp2($162,17,$165,$168)|0); } else { - $169 = (($163) + 28|0); + $169 = ((($163)) + 28|0); $170 = HEAP32[$169>>2]|0; (_sqlite3VdbeAddOp2($162,16,0,$170)|0); } @@ -119331,17 +120369,17 @@ function _sqlite3WhereEnd($pWInfo) { } $175 = HEAP32[$v>>2]|0; $176 = HEAP32[$0>>2]|0; - $177 = (($176) + 52|0); + $177 = ((($176)) + 52|0); $178 = HEAP32[$177>>2]|0; _sqlite3VdbeResolveLabel($175,$178); HEAP32[$i>>2] = 0; $179 = HEAP32[$0>>2]|0; - $180 = (($179) + 736|0); + $180 = ((($179)) + 736|0); HEAP32[$pLevel>>2] = $180; while(1) { $181 = HEAP32[$i>>2]|0; $182 = HEAP32[$0>>2]|0; - $183 = (($182) + 41|0); + $183 = ((($182)) + 41|0); $184 = HEAP8[$183>>0]|0; $185 = $184&255; $186 = ($181|0)<($185|0); @@ -119350,23 +120388,23 @@ function _sqlite3WhereEnd($pWInfo) { } HEAP32[$pIdx>>2] = 0; $187 = HEAP32[$pLevel>>2]|0; - $188 = (($187) + 36|0); + $188 = ((($187)) + 36|0); $189 = HEAP8[$188>>0]|0; $190 = $189&255; $191 = HEAP32[$pTabList>>2]|0; - $192 = (($191) + 8|0); + $192 = ((($191)) + 8|0); $193 = (($192) + (($190*72)|0)|0); HEAP32[$pTabItem>>2] = $193; $194 = HEAP32[$pTabItem>>2]|0; - $195 = (($194) + 16|0); + $195 = ((($194)) + 16|0); $196 = HEAP32[$195>>2]|0; HEAP32[$pTab>>2] = $196; $197 = HEAP32[$pLevel>>2]|0; - $198 = (($197) + 56|0); + $198 = ((($197)) + 56|0); $199 = HEAP32[$198>>2]|0; HEAP32[$pLoop>>2] = $199; $200 = HEAP32[$pTabItem>>2]|0; - $201 = (($200) + 37|0); + $201 = ((($200)) + 37|0); $202 = HEAP8[$201>>0]|0; $203 = ($202&255) >>> 2; $204 = $203 & 1; @@ -119375,7 +120413,7 @@ function _sqlite3WhereEnd($pWInfo) { L35: do { if ($206) { $207 = HEAP32[$db>>2]|0; - $208 = (($207) + 64|0); + $208 = ((($207)) + 64|0); $209 = HEAP8[$208>>0]|0; $210 = ($209<<24>>24)!=(0); if ($210) { @@ -119385,7 +120423,7 @@ function _sqlite3WhereEnd($pWInfo) { $212 = (_sqlite3VdbeCurrentAddr($211)|0); HEAP32[$last>>2] = $212; $213 = HEAP32[$pLevel>>2]|0; - $214 = (($213) + 32|0); + $214 = ((($213)) + 32|0); $215 = HEAP32[$214>>2]|0; HEAP32[$k>>2] = $215; $216 = HEAP32[$v>>2]|0; @@ -119400,10 +120438,10 @@ function _sqlite3WhereEnd($pWInfo) { break L35; } $222 = HEAP32[$pOp>>2]|0; - $223 = (($222) + 4|0); + $223 = ((($222)) + 4|0); $224 = HEAP32[$223>>2]|0; $225 = HEAP32[$pLevel>>2]|0; - $226 = (($225) + 4|0); + $226 = ((($225)) + 4|0); $227 = HEAP32[$226>>2]|0; $228 = ($224|0)!=($227|0); do { @@ -119416,23 +120454,23 @@ function _sqlite3WhereEnd($pWInfo) { if ($232) { HEAP8[$233>>0] = 33; $234 = HEAP32[$pOp>>2]|0; - $235 = (($234) + 8|0); + $235 = ((($234)) + 8|0); $236 = HEAP32[$235>>2]|0; $237 = HEAP32[$pTabItem>>2]|0; - $238 = (($237) + 32|0); + $238 = ((($237)) + 32|0); $239 = HEAP32[$238>>2]|0; $240 = (($236) + ($239))|0; $241 = HEAP32[$pOp>>2]|0; - $242 = (($241) + 4|0); + $242 = ((($241)) + 4|0); HEAP32[$242>>2] = $240; $243 = HEAP32[$pOp>>2]|0; - $244 = (($243) + 12|0); + $244 = ((($243)) + 12|0); $245 = HEAP32[$244>>2]|0; $246 = HEAP32[$pOp>>2]|0; - $247 = (($246) + 8|0); + $247 = ((($246)) + 8|0); HEAP32[$247>>2] = $245; $248 = HEAP32[$pOp>>2]|0; - $249 = (($248) + 12|0); + $249 = ((($248)) + 12|0); HEAP32[$249>>2] = 0; break; } @@ -119443,10 +120481,10 @@ function _sqlite3WhereEnd($pWInfo) { $253 = HEAP32[$pOp>>2]|0; HEAP8[$253>>0] = 28; $254 = HEAP32[$pOp>>2]|0; - $255 = (($254) + 4|0); + $255 = ((($254)) + 4|0); HEAP32[$255>>2] = 0; $256 = HEAP32[$pOp>>2]|0; - $257 = (($256) + 12|0); + $257 = ((($256)) + 12|0); HEAP32[$257>>2] = 0; } } @@ -119455,7 +120493,7 @@ function _sqlite3WhereEnd($pWInfo) { $259 = (($258) + 1)|0; HEAP32[$k>>2] = $259; $260 = HEAP32[$pOp>>2]|0; - $261 = (($260) + 20|0); + $261 = ((($260)) + 20|0); HEAP32[$pOp>>2] = $261; } } @@ -119467,30 +120505,30 @@ function _sqlite3WhereEnd($pWInfo) { if ((label|0) == 35) { label = 0; $262 = HEAP32[$pTab>>2]|0; - $263 = (($262) + 44|0); + $263 = ((($262)) + 44|0); $264 = HEAP8[$263>>0]|0; $265 = $264&255; $266 = $265 & 2; $267 = ($266|0)==(0); if ($267) { $268 = HEAP32[$pTab>>2]|0; - $269 = (($268) + 12|0); + $269 = ((($268)) + 12|0); $270 = HEAP32[$269>>2]|0; $271 = ($270|0)==(0|0); if ($271) { $272 = HEAP32[$0>>2]|0; - $273 = (($272) + 34|0); + $273 = ((($272)) + 34|0); $274 = HEAP16[$273>>1]|0; $275 = $274&65535; $276 = $275 & 16; $277 = ($276|0)==(0); if ($277) { $278 = HEAP32[$pLoop>>2]|0; - $279 = (($278) + 36|0); + $279 = ((($278)) + 36|0); $280 = HEAP32[$279>>2]|0; HEAP32[$ws>>2] = $280; $281 = HEAP32[$0>>2]|0; - $282 = (($281) + 38|0); + $282 = ((($281)) + 38|0); $283 = HEAP8[$282>>0]|0; $284 = ($283<<24>>24)!=(0); if (!($284)) { @@ -119500,7 +120538,7 @@ function _sqlite3WhereEnd($pWInfo) { if ($287) { $288 = HEAP32[$v>>2]|0; $289 = HEAP32[$pTabItem>>2]|0; - $290 = (($289) + 40|0); + $290 = ((($289)) + 40|0); $291 = HEAP32[$290>>2]|0; (_sqlite3VdbeAddOp1($288,61,$291)|0); } @@ -119514,17 +120552,17 @@ function _sqlite3WhereEnd($pWInfo) { $297 = ($296|0)==(0); if ($297) { $298 = HEAP32[$pLevel>>2]|0; - $299 = (($298) + 8|0); + $299 = ((($298)) + 8|0); $300 = HEAP32[$299>>2]|0; $301 = HEAP32[$0>>2]|0; - $302 = (($301) + 60|0); - $303 = (($302) + 4|0); + $302 = ((($301)) + 60|0); + $303 = ((($302)) + 4|0); $304 = HEAP32[$303>>2]|0; $305 = ($300|0)!=($304|0); if ($305) { $306 = HEAP32[$v>>2]|0; $307 = HEAP32[$pLevel>>2]|0; - $308 = (($307) + 8|0); + $308 = ((($307)) + 8|0); $309 = HEAP32[$308>>2]|0; (_sqlite3VdbeAddOp1($306,61,$309)|0); } @@ -119534,24 +120572,24 @@ function _sqlite3WhereEnd($pWInfo) { } } $310 = HEAP32[$pLoop>>2]|0; - $311 = (($310) + 36|0); + $311 = ((($310)) + 36|0); $312 = HEAP32[$311>>2]|0; $313 = $312 & 576; $314 = ($313|0)!=(0); $315 = HEAP32[$pLoop>>2]|0; if ($314) { - $316 = (($315) + 24|0); - $317 = (($316) + 4|0); + $316 = ((($315)) + 24|0); + $317 = ((($316)) + 4|0); $318 = HEAP32[$317>>2]|0; HEAP32[$pIdx>>2] = $318; } else { - $319 = (($315) + 36|0); + $319 = ((($315)) + 36|0); $320 = HEAP32[$319>>2]|0; $321 = $320 & 8192; $322 = ($321|0)!=(0); if ($322) { $323 = HEAP32[$pLevel>>2]|0; - $324 = (($323) + 48|0); + $324 = ((($323)) + 48|0); $325 = HEAP32[$324>>2]|0; HEAP32[$pIdx>>2] = $325; } @@ -119560,7 +120598,7 @@ function _sqlite3WhereEnd($pWInfo) { $327 = ($326|0)!=(0|0); if ($327) { $328 = HEAP32[$db>>2]|0; - $329 = (($328) + 64|0); + $329 = ((($328)) + 64|0); $330 = HEAP8[$329>>0]|0; $331 = ($330<<24>>24)!=(0); if (!($331)) { @@ -119568,7 +120606,7 @@ function _sqlite3WhereEnd($pWInfo) { $333 = (_sqlite3VdbeCurrentAddr($332)|0); HEAP32[$last>>2] = $333; $334 = HEAP32[$pLevel>>2]|0; - $335 = (($334) + 32|0); + $335 = ((($334)) + 32|0); $336 = HEAP32[$335>>2]|0; HEAP32[$k>>2] = $336; $337 = HEAP32[$v>>2]|0; @@ -119583,10 +120621,10 @@ function _sqlite3WhereEnd($pWInfo) { break L48; } $343 = HEAP32[$pOp>>2]|0; - $344 = (($343) + 4|0); + $344 = ((($343)) + 4|0); $345 = HEAP32[$344>>2]|0; $346 = HEAP32[$pLevel>>2]|0; - $347 = (($346) + 4|0); + $347 = ((($346)) + 4|0); $348 = HEAP32[$347>>2]|0; $349 = ($345|0)!=($348|0); do { @@ -119604,20 +120642,20 @@ function _sqlite3WhereEnd($pWInfo) { break; } $390 = HEAP32[$pLevel>>2]|0; - $391 = (($390) + 8|0); + $391 = ((($390)) + 8|0); $392 = HEAP32[$391>>2]|0; $393 = HEAP32[$pOp>>2]|0; - $394 = (($393) + 4|0); + $394 = ((($393)) + 4|0); HEAP32[$394>>2] = $392; $395 = HEAP32[$pOp>>2]|0; HEAP8[$395>>0] = 112; break; } - $355 = (($354) + 8|0); + $355 = ((($354)) + 8|0); $356 = HEAP32[$355>>2]|0; HEAP32[$x>>2] = $356; $357 = HEAP32[$pTab>>2]|0; - $358 = (($357) + 44|0); + $358 = ((($357)) + 44|0); $359 = HEAP8[$358>>0]|0; $360 = $359&255; $361 = $360 & 32; @@ -119628,7 +120666,7 @@ function _sqlite3WhereEnd($pWInfo) { HEAP32[$pPk>>2] = $364; $365 = HEAP32[$x>>2]|0; $366 = HEAP32[$pPk>>2]|0; - $367 = (($366) + 4|0); + $367 = ((($366)) + 4|0); $368 = HEAP32[$367>>2]|0; $369 = (($368) + ($365<<1)|0); $370 = HEAP16[$369>>1]|0; @@ -119646,13 +120684,13 @@ function _sqlite3WhereEnd($pWInfo) { if ($378) { $379 = HEAP32[$x>>2]|0; $380 = HEAP32[$pOp>>2]|0; - $381 = (($380) + 8|0); + $381 = ((($380)) + 8|0); HEAP32[$381>>2] = $379; $382 = HEAP32[$pLevel>>2]|0; - $383 = (($382) + 8|0); + $383 = ((($382)) + 8|0); $384 = HEAP32[$383>>2]|0; $385 = HEAP32[$pOp>>2]|0; - $386 = (($385) + 4|0); + $386 = ((($385)) + 4|0); HEAP32[$386>>2] = $384; } } @@ -119661,7 +120699,7 @@ function _sqlite3WhereEnd($pWInfo) { $397 = (($396) + 1)|0; HEAP32[$k>>2] = $397; $398 = HEAP32[$pOp>>2]|0; - $399 = (($398) + 20|0); + $399 = ((($398)) + 20|0); HEAP32[$pOp>>2] = $399; } } @@ -119672,14 +120710,14 @@ function _sqlite3WhereEnd($pWInfo) { $401 = (($400) + 1)|0; HEAP32[$i>>2] = $401; $402 = HEAP32[$pLevel>>2]|0; - $403 = (($402) + 72|0); + $403 = ((($402)) + 72|0); HEAP32[$pLevel>>2] = $403; } $404 = HEAP32[$0>>2]|0; - $405 = (($404) + 56|0); + $405 = ((($404)) + 56|0); $406 = HEAP32[$405>>2]|0; $407 = HEAP32[$pParse>>2]|0; - $408 = (($407) + 424|0); + $408 = ((($407)) + 424|0); HEAP32[$408>>2] = $406; $409 = HEAP32[$db>>2]|0; $410 = HEAP32[$0>>2]|0; @@ -119704,25 +120742,25 @@ function _whereInfoFree($db,$pWInfo) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 328|0); + $5 = ((($4)) + 328|0); _whereClauseClear($5); while(1) { $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 16|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)!=(0|0); if (!($9)) { break; } $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 16|0); + $11 = ((($10)) + 16|0); $12 = HEAP32[$11>>2]|0; HEAP32[$p>>2] = $12; $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 48|0); + $14 = ((($13)) + 48|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 16|0); + $17 = ((($16)) + 16|0); HEAP32[$17>>2] = $15; $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$p>>2]|0; @@ -119752,12 +120790,12 @@ function _whereClauseClear($pWC) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 12|0); + $6 = ((($5)) + 12|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) - 1)|0; HEAP32[$i>>2] = $8; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 20|0); + $10 = ((($9)) + 20|0); $11 = HEAP32[$10>>2]|0; HEAP32[$a>>2] = $11; while(1) { @@ -119767,7 +120805,7 @@ function _whereClauseClear($pWC) { break; } $14 = HEAP32[$a>>2]|0; - $15 = (($14) + 20|0); + $15 = ((($14)) + 20|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = $17 & 1; @@ -119779,7 +120817,7 @@ function _whereClauseClear($pWC) { _sqlite3ExprDelete($20,$22); } $23 = HEAP32[$a>>2]|0; - $24 = (($23) + 20|0); + $24 = ((($23)) + 20|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; $27 = $26 & 16; @@ -119787,12 +120825,12 @@ function _whereClauseClear($pWC) { if ($28) { $29 = HEAP32[$db>>2]|0; $30 = HEAP32[$a>>2]|0; - $31 = (($30) + 12|0); + $31 = ((($30)) + 12|0); $32 = HEAP32[$31>>2]|0; _whereOrInfoDelete($29,$32); } else { $33 = HEAP32[$a>>2]|0; - $34 = (($33) + 20|0); + $34 = ((($33)) + 20|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = $36 & 32; @@ -119800,7 +120838,7 @@ function _whereClauseClear($pWC) { if ($38) { $39 = HEAP32[$db>>2]|0; $40 = HEAP32[$a>>2]|0; - $41 = (($40) + 12|0); + $41 = ((($40)) + 12|0); $42 = HEAP32[$41>>2]|0; _whereAndInfoDelete($39,$42); } @@ -119809,21 +120847,21 @@ function _whereClauseClear($pWC) { $44 = (($43) + -1)|0; HEAP32[$i>>2] = $44; $45 = HEAP32[$a>>2]|0; - $46 = (($45) + 48|0); + $46 = ((($45)) + 48|0); HEAP32[$a>>2] = $46; } $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 20|0); + $48 = ((($47)) + 20|0); $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 24|0); + $51 = ((($50)) + 24|0); $52 = ($49|0)!=($51|0); if (!($52)) { STACKTOP = sp;return; } $53 = HEAP32[$db>>2]|0; $54 = HEAP32[$0>>2]|0; - $55 = (($54) + 20|0); + $55 = ((($54)) + 20|0); $56 = HEAP32[$55>>2]|0; _sqlite3DbFree($53,$56); STACKTOP = sp;return; @@ -119857,15 +120895,15 @@ function _whereLoopClear($db,$p) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 44|0); + $3 = ((($2)) + 44|0); $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 52|0); + $6 = ((($5)) + 52|0); $7 = ($4|0)!=($6|0); if ($7) { $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 44|0); + $10 = ((($9)) + 44|0); $11 = HEAP32[$10>>2]|0; _sqlite3DbFree($8,$11); } @@ -119890,7 +120928,7 @@ function _whereLoopClearUnion($db,$p) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 36|0); + $3 = ((($2)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = $4 & 17408; $6 = ($5|0)!=(0); @@ -119898,36 +120936,36 @@ function _whereLoopClearUnion($db,$p) { STACKTOP = sp;return; } $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 36|0); + $8 = ((($7)) + 36|0); $9 = HEAP32[$8>>2]|0; $10 = $9 & 1024; $11 = ($10|0)!=(0); if ($11) { $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 24|0); - $14 = (($13) + 4|0); + $13 = ((($12)) + 24|0); + $14 = ((($13)) + 4|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = ($16|0)!=(0); if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 24|0); - $20 = (($19) + 8|0); + $19 = ((($18)) + 24|0); + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; _sqlite3_free($21); $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 24|0); - $24 = (($23) + 4|0); + $23 = ((($22)) + 24|0); + $24 = ((($23)) + 4|0); HEAP8[$24>>0] = 0; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 24|0); - $27 = (($26) + 8|0); + $26 = ((($25)) + 24|0); + $27 = ((($26)) + 8|0); HEAP32[$27>>2] = 0; STACKTOP = sp;return; } } $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 36|0); + $29 = ((($28)) + 36|0); $30 = HEAP32[$29>>2]|0; $31 = $30 & 16384; $32 = ($31|0)!=(0); @@ -119935,8 +120973,8 @@ function _whereLoopClearUnion($db,$p) { STACKTOP = sp;return; } $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 24|0); - $35 = (($34) + 4|0); + $34 = ((($33)) + 24|0); + $35 = ((($34)) + 4|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)!=(0|0); if (!($37)) { @@ -119944,28 +120982,28 @@ function _whereLoopClearUnion($db,$p) { } $38 = HEAP32[$0>>2]|0; $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 24|0); - $41 = (($40) + 4|0); + $40 = ((($39)) + 24|0); + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); $44 = HEAP32[$43>>2]|0; _sqlite3DbFree($38,$44); $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 24|0); - $47 = (($46) + 4|0); + $46 = ((($45)) + 24|0); + $47 = ((($46)) + 4|0); $48 = HEAP32[$47>>2]|0; - $49 = (($48) + 40|0); + $49 = ((($48)) + 40|0); $50 = HEAP32[$49>>2]|0; _sqlite3KeyInfoUnref($50); $51 = HEAP32[$0>>2]|0; $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 24|0); - $54 = (($53) + 4|0); + $53 = ((($52)) + 24|0); + $54 = ((($53)) + 4|0); $55 = HEAP32[$54>>2]|0; _sqlite3DbFree($51,$55); $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 24|0); - $58 = (($57) + 4|0); + $57 = ((($56)) + 24|0); + $58 = ((($57)) + 4|0); HEAP32[$58>>2] = 0; STACKTOP = sp;return; } @@ -119977,18 +121015,18 @@ function _whereLoopInit($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 52|0); + $2 = ((($1)) + 52|0); $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 44|0); + $4 = ((($3)) + 44|0); HEAP32[$4>>2] = $2; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 40|0); + $6 = ((($5)) + 40|0); HEAP16[$6>>1] = 0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 42|0); + $8 = ((($7)) + 42|0); HEAP16[$8>>1] = 4; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 36|0); + $10 = ((($9)) + 36|0); HEAP32[$10>>2] = 0; STACKTOP = sp;return; } @@ -120040,18 +121078,18 @@ function _whereClauseInit($pWC,$pWInfo) { $3 = HEAP32[$0>>2]|0; HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); HEAP32[$5>>2] = 0; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); HEAP32[$7>>2] = 0; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 16|0); + $9 = ((($8)) + 16|0); HEAP32[$9>>2] = 8; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 24|0); + $11 = ((($10)) + 24|0); $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 20|0); + $13 = ((($12)) + 20|0); HEAP32[$13>>2] = $11; STACKTOP = sp;return; } @@ -120071,7 +121109,7 @@ function _whereSplit($pWC,$pExpr,$op) { HEAP8[$2>>0] = $op; $3 = HEAP8[$2>>0]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); HEAP8[$5>>0] = $3; $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0|0); @@ -120090,13 +121128,13 @@ function _whereSplit($pWC,$pExpr,$op) { (_whereClauseInsert($14,$15,0)|0); STACKTOP = sp;return; } else { - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP8[$2>>0]|0; _whereSplit($14,$17,$18); $19 = HEAP32[$0>>2]|0; $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 16|0); + $21 = ((($20)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP8[$2>>0]|0; _whereSplit($19,$22,$23); @@ -120119,7 +121157,7 @@ function _createMask($pMaskSet,$iCursor) { $5 = (($4) + 1)|0; HEAP32[$3>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = (($7) + ($4<<2)|0); HEAP32[$8>>2] = $2; STACKTOP = sp;return; @@ -120136,7 +121174,7 @@ function _exprAnalyzeAll($pTabList,$pWC) { HEAP32[$0>>2] = $pTabList; HEAP32[$1>>2] = $pWC; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 12|0); + $3 = ((($2)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = (($4) - 1)|0; HEAP32[$i>>2] = $5; @@ -120169,16 +121207,16 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { var $98 = 0, $99 = 0, $i = 0, $iBase = 0, $iCol = 0, $iIdxCol = 0, $p = 0, $pIdx = 0, $pTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $pTab = sp + 20|0; - $pIdx = sp + 16|0; - $i = sp + 12|0; - $iBase = sp + 8|0; - $p = sp + 4|0; + $0 = sp + 12|0; + $1 = sp + 16|0; + $2 = sp + 28|0; + $3 = sp + 4|0; + $4 = sp + 32|0; + $pTab = sp + 36|0; + $pIdx = sp + 40|0; + $i = sp + 24|0; + $iBase = sp + 20|0; + $p = sp + 8|0; $iCol = sp + 44|0; $iIdxCol = sp; HEAP32[$1>>2] = $pParse; @@ -120194,13 +121232,13 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { STACKTOP = sp;return ($101|0); } $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 8|0); - $10 = (($9) + 40|0); + $9 = ((($8)) + 8|0); + $10 = ((($9)) + 40|0); $11 = HEAP32[$10>>2]|0; HEAP32[$iBase>>2] = $11; $12 = HEAP32[$2>>2]|0; - $13 = (($12) + 8|0); - $14 = (($13) + 16|0); + $13 = ((($12)) + 8|0); + $14 = ((($13)) + 16|0); $15 = HEAP32[$14>>2]|0; HEAP32[$pTab>>2] = $15; HEAP32[$i>>2] = 0; @@ -120214,7 +121252,7 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { } $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$4>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + (($20*20)|0)|0); $25 = HEAP32[$24>>2]|0; @@ -120226,13 +121264,13 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { $30 = ($29|0)==(154); if ($30) { $31 = HEAP32[$p>>2]|0; - $32 = (($31) + 28|0); + $32 = ((($31)) + 28|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$iBase>>2]|0; $35 = ($33|0)==($34|0); if ($35) { $36 = HEAP32[$p>>2]|0; - $37 = (($36) + 32|0); + $37 = ((($36)) + 32|0); $38 = HEAP16[$37>>1]|0; $39 = $38 << 16 >> 16; $40 = ($39|0)<(0); @@ -120252,7 +121290,7 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { STACKTOP = sp;return ($101|0); } $43 = HEAP32[$pTab>>2]|0; - $44 = (($43) + 8|0); + $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; HEAP32[$pIdx>>2] = $45; while(1) { @@ -120263,7 +121301,7 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { break; } $48 = HEAP32[$pIdx>>2]|0; - $49 = (($48) + 54|0); + $49 = ((($48)) + 54|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; $52 = ($51|0)!=(0); @@ -120272,7 +121310,7 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { while(1) { $53 = HEAP32[$i>>2]|0; $54 = HEAP32[$pIdx>>2]|0; - $55 = (($54) + 50|0); + $55 = ((($54)) + 50|0); $56 = HEAP16[$55>>1]|0; $57 = $56&65535; $58 = ($53|0)<($57|0); @@ -120281,7 +121319,7 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { } $59 = HEAP32[$i>>2]|0; $60 = HEAP32[$pIdx>>2]|0; - $61 = (($60) + 4|0); + $61 = ((($60)) + 4|0); $62 = HEAP32[$61>>2]|0; $63 = (($62) + ($59<<1)|0); $64 = HEAP16[$63>>1]|0; @@ -120309,10 +121347,10 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { $80 = HEAP16[$iCol>>1]|0; $81 = $80 << 16 >> 16; $82 = HEAP32[$pTab>>2]|0; - $83 = (($82) + 4|0); + $83 = ((($82)) + 4|0); $84 = HEAP32[$83>>2]|0; $85 = (($84) + (($81*24)|0)|0); - $86 = (($85) + 20|0); + $86 = ((($85)) + 20|0); $87 = HEAP8[$86>>0]|0; $88 = $87&255; $89 = ($88|0)==(0); @@ -120326,7 +121364,7 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { } $92 = HEAP32[$i>>2]|0; $93 = HEAP32[$pIdx>>2]|0; - $94 = (($93) + 50|0); + $94 = ((($93)) + 50|0); $95 = HEAP16[$94>>1]|0; $96 = $95&65535; $97 = ($92|0)==($96|0); @@ -120336,7 +121374,7 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { } } $98 = HEAP32[$pIdx>>2]|0; - $99 = (($98) + 20|0); + $99 = ((($98)) + 20|0); $100 = HEAP32[$99>>2]|0; HEAP32[$pIdx>>2] = $100; } @@ -120350,7 +121388,7 @@ function _isDistinctRedundant($pParse,$pTabList,$pWC,$pDistinct) { $101 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($101|0); } - return 0|0; + return (0)|0; } function _whereShortCut($pBuilder) { $pBuilder = $pBuilder|0; @@ -120367,23 +121405,23 @@ function _whereShortCut($pBuilder) { var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iCur = 0, $j = 0, $pIdx = 0, $pItem = 0, $pLoop = 0, $pTab = 0, $pTerm = 0, $pWC = 0, $pWInfo = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $pWInfo = sp + 32|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $pWInfo = sp; $pItem = sp + 28|0; - $pWC = sp + 24|0; - $pTerm = sp + 20|0; - $pLoop = sp + 16|0; - $iCur = sp + 12|0; - $j = sp + 8|0; - $pTab = sp + 4|0; - $pIdx = sp; + $pWC = sp + 32|0; + $pTerm = sp + 40|0; + $pLoop = sp + 12|0; + $iCur = sp + 24|0; + $j = sp + 20|0; + $pTab = sp + 8|0; + $pIdx = sp + 4|0; HEAP32[$1>>2] = $pBuilder; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; HEAP32[$pWInfo>>2] = $3; $4 = HEAP32[$pWInfo>>2]|0; - $5 = (($4) + 34|0); + $5 = ((($4)) + 34|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7 & 32; @@ -120394,16 +121432,16 @@ function _whereShortCut($pBuilder) { STACKTOP = sp;return ($203|0); } $10 = HEAP32[$pWInfo>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); HEAP32[$pItem>>2] = $13; $14 = HEAP32[$pItem>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pTab>>2] = $16; $17 = HEAP32[$pTab>>2]|0; - $18 = (($17) + 44|0); + $18 = ((($17)) + 44|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = $20 & 16; @@ -120414,7 +121452,7 @@ function _whereShortCut($pBuilder) { STACKTOP = sp;return ($203|0); } $23 = HEAP32[$pItem>>2]|0; - $24 = (($23) + 64|0); + $24 = ((($23)) + 64|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0|0); if ($26) { @@ -120423,22 +121461,22 @@ function _whereShortCut($pBuilder) { STACKTOP = sp;return ($203|0); } $27 = HEAP32[$pItem>>2]|0; - $28 = (($27) + 40|0); + $28 = ((($27)) + 40|0); $29 = HEAP32[$28>>2]|0; HEAP32[$iCur>>2] = $29; $30 = HEAP32[$pWInfo>>2]|0; - $31 = (($30) + 328|0); + $31 = ((($30)) + 328|0); HEAP32[$pWC>>2] = $31; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 12|0); + $33 = ((($32)) + 12|0); $34 = HEAP32[$33>>2]|0; HEAP32[$pLoop>>2] = $34; $35 = HEAP32[$pLoop>>2]|0; - $36 = (($35) + 36|0); + $36 = ((($35)) + 36|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$pLoop>>2]|0; - $38 = (($37) + 24|0); - $39 = (($38) + 2|0); + $38 = ((($37)) + 24|0); + $39 = ((($38)) + 2|0); HEAP16[$39>>1] = 0; $40 = HEAP32[$pWC>>2]|0; $41 = HEAP32[$iCur>>2]|0; @@ -120449,25 +121487,25 @@ function _whereShortCut($pBuilder) { L13: do { if ($44) { $45 = HEAP32[$pLoop>>2]|0; - $46 = (($45) + 36|0); + $46 = ((($45)) + 36|0); HEAP32[$46>>2] = 4353; $47 = HEAP32[$pTerm>>2]|0; $48 = HEAP32[$pLoop>>2]|0; - $49 = (($48) + 44|0); + $49 = ((($48)) + 44|0); $50 = HEAP32[$49>>2]|0; HEAP32[$50>>2] = $47; $51 = HEAP32[$pLoop>>2]|0; - $52 = (($51) + 40|0); + $52 = ((($51)) + 40|0); HEAP16[$52>>1] = 1; $53 = HEAP32[$pLoop>>2]|0; - $54 = (($53) + 24|0); + $54 = ((($53)) + 24|0); HEAP16[$54>>1] = 1; $55 = HEAP32[$pLoop>>2]|0; - $56 = (($55) + 20|0); + $56 = ((($55)) + 20|0); HEAP16[$56>>1] = 33; } else { $57 = HEAP32[$pTab>>2]|0; - $58 = (($57) + 8|0); + $58 = ((($57)) + 8|0); $59 = HEAP32[$58>>2]|0; HEAP32[$pIdx>>2] = $59; while(1) { @@ -120477,18 +121515,18 @@ function _whereShortCut($pBuilder) { break L13; } $62 = HEAP32[$pIdx>>2]|0; - $63 = (($62) + 54|0); + $63 = ((($62)) + 54|0); $64 = HEAP8[$63>>0]|0; $65 = $64&255; $66 = ($65|0)!=(0); if ($66) { $67 = HEAP32[$pIdx>>2]|0; - $68 = (($67) + 36|0); + $68 = ((($67)) + 36|0); $69 = HEAP32[$68>>2]|0; $70 = ($69|0)!=(0|0); if (!($70)) { $71 = HEAP32[$pIdx>>2]|0; - $72 = (($71) + 50|0); + $72 = ((($71)) + 50|0); $73 = HEAP16[$72>>1]|0; $74 = $73&65535; $75 = ($74|0)>(4); @@ -120497,7 +121535,7 @@ function _whereShortCut($pBuilder) { while(1) { $76 = HEAP32[$j>>2]|0; $77 = HEAP32[$pIdx>>2]|0; - $78 = (($77) + 50|0); + $78 = ((($77)) + 50|0); $79 = HEAP16[$78>>1]|0; $80 = $79&65535; $81 = ($76|0)<($80|0); @@ -120508,7 +121546,7 @@ function _whereShortCut($pBuilder) { $83 = HEAP32[$iCur>>2]|0; $84 = HEAP32[$j>>2]|0; $85 = HEAP32[$pIdx>>2]|0; - $86 = (($85) + 4|0); + $86 = ((($85)) + 4|0); $87 = HEAP32[$86>>2]|0; $88 = (($87) + ($84<<1)|0); $89 = HEAP16[$88>>1]|0; @@ -120524,7 +121562,7 @@ function _whereShortCut($pBuilder) { $95 = HEAP32[$pTerm>>2]|0; $96 = HEAP32[$j>>2]|0; $97 = HEAP32[$pLoop>>2]|0; - $98 = (($97) + 44|0); + $98 = ((($97)) + 44|0); $99 = HEAP32[$98>>2]|0; $100 = (($99) + ($96<<2)|0); HEAP32[$100>>2] = $95; @@ -120534,7 +121572,7 @@ function _whereShortCut($pBuilder) { } $103 = HEAP32[$j>>2]|0; $104 = HEAP32[$pIdx>>2]|0; - $105 = (($104) + 50|0); + $105 = ((($104)) + 50|0); $106 = HEAP16[$105>>1]|0; $107 = $106&65535; $108 = ($103|0)!=($107|0); @@ -120545,15 +121583,15 @@ function _whereShortCut($pBuilder) { } } $154 = HEAP32[$pIdx>>2]|0; - $155 = (($154) + 20|0); + $155 = ((($154)) + 20|0); $156 = HEAP32[$155>>2]|0; HEAP32[$pIdx>>2] = $156; } $109 = HEAP32[$pLoop>>2]|0; - $110 = (($109) + 36|0); + $110 = ((($109)) + 36|0); HEAP32[$110>>2] = 4609; $111 = HEAP32[$pIdx>>2]|0; - $112 = (($111) + 55|0); + $112 = ((($111)) + 55|0); $113 = HEAP8[$112>>0]|0; $114 = ($113&255) >>> 5; $115 = $114 & 1; @@ -120563,7 +121601,7 @@ function _whereShortCut($pBuilder) { label = 21; } else { $118 = HEAP32[$pItem>>2]|0; - $119 = (($118) + 56|0); + $119 = ((($118)) + 56|0); $120 = $119; $121 = $120; $122 = HEAP32[$121>>2]|0; @@ -120586,7 +121624,7 @@ function _whereShortCut($pBuilder) { } if ((label|0) == 21) { $136 = HEAP32[$pLoop>>2]|0; - $137 = (($136) + 36|0); + $137 = ((($136)) + 36|0); $138 = HEAP32[$137>>2]|0; $139 = $138 | 64; HEAP32[$137>>2] = $139; @@ -120594,25 +121632,25 @@ function _whereShortCut($pBuilder) { $140 = HEAP32[$j>>2]|0; $141 = $140&65535; $142 = HEAP32[$pLoop>>2]|0; - $143 = (($142) + 40|0); + $143 = ((($142)) + 40|0); HEAP16[$143>>1] = $141; $144 = HEAP32[$j>>2]|0; $145 = $144&65535; $146 = HEAP32[$pLoop>>2]|0; - $147 = (($146) + 24|0); + $147 = ((($146)) + 24|0); HEAP16[$147>>1] = $145; $148 = HEAP32[$pIdx>>2]|0; $149 = HEAP32[$pLoop>>2]|0; - $150 = (($149) + 24|0); - $151 = (($150) + 4|0); + $150 = ((($149)) + 24|0); + $151 = ((($150)) + 4|0); HEAP32[$151>>2] = $148; $152 = HEAP32[$pLoop>>2]|0; - $153 = (($152) + 20|0); + $153 = ((($152)) + 20|0); HEAP16[$153>>1] = 39; } } while(0); $157 = HEAP32[$pLoop>>2]|0; - $158 = (($157) + 36|0); + $158 = ((($157)) + 36|0); $159 = HEAP32[$158>>2]|0; $160 = ($159|0)!=(0); if (!($160)) { @@ -120621,20 +121659,20 @@ function _whereShortCut($pBuilder) { STACKTOP = sp;return ($203|0); } $161 = HEAP32[$pLoop>>2]|0; - $162 = (($161) + 22|0); + $162 = ((($161)) + 22|0); HEAP16[$162>>1] = 1; $163 = HEAP32[$pLoop>>2]|0; $164 = HEAP32[$pWInfo>>2]|0; - $165 = (($164) + 736|0); - $166 = (($165) + 56|0); + $165 = ((($164)) + 736|0); + $166 = ((($165)) + 56|0); HEAP32[$166>>2] = $163; $167 = HEAP32[$pWInfo>>2]|0; - $168 = (($167) + 68|0); + $168 = ((($167)) + 68|0); $169 = HEAP32[$iCur>>2]|0; $170 = (_getMask($168,$169)|0); $171 = tempRet0; $172 = HEAP32[$pLoop>>2]|0; - $173 = (($172) + 8|0); + $173 = ((($172)) + 8|0); $174 = $173; $175 = $174; HEAP32[$175>>2] = $170; @@ -120643,35 +121681,35 @@ function _whereShortCut($pBuilder) { HEAP32[$177>>2] = $171; $178 = HEAP32[$iCur>>2]|0; $179 = HEAP32[$pWInfo>>2]|0; - $180 = (($179) + 736|0); - $181 = (($180) + 4|0); + $180 = ((($179)) + 736|0); + $181 = ((($180)) + 4|0); HEAP32[$181>>2] = $178; $182 = HEAP32[$pWInfo>>2]|0; - $183 = (($182) + 32|0); + $183 = ((($182)) + 32|0); HEAP16[$183>>1] = 1; $184 = HEAP32[$pWInfo>>2]|0; - $185 = (($184) + 8|0); + $185 = ((($184)) + 8|0); $186 = HEAP32[$185>>2]|0; $187 = ($186|0)!=(0|0); if ($187) { $188 = HEAP32[$pWInfo>>2]|0; - $189 = (($188) + 8|0); + $189 = ((($188)) + 8|0); $190 = HEAP32[$189>>2]|0; $191 = HEAP32[$190>>2]|0; $192 = $191&255; $193 = HEAP32[$pWInfo>>2]|0; - $194 = (($193) + 36|0); + $194 = ((($193)) + 36|0); HEAP8[$194>>0] = $192; } $195 = HEAP32[$pWInfo>>2]|0; - $196 = (($195) + 34|0); + $196 = ((($195)) + 34|0); $197 = HEAP16[$196>>1]|0; $198 = $197&65535; $199 = $198 & 1024; $200 = ($199|0)!=(0); if ($200) { $201 = HEAP32[$pWInfo>>2]|0; - $202 = (($201) + 40|0); + $202 = ((($201)) + 40|0); HEAP8[$202>>0] = 1; } HEAP32[$0>>2] = 1; @@ -120690,15 +121728,15 @@ function _whereLoopAddAll($pBuilder) { var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $pWInfo = sp + 44|0; - $mExtra = sp + 8|0; - $mPrior = sp; - $iTab = sp + 40|0; - $pTabList = sp + 36|0; - $pItem = sp + 32|0; - $db = sp + 28|0; - $nTabList = sp + 24|0; + $0 = sp + 24|0; + $pWInfo = sp + 28|0; + $mExtra = sp; + $mPrior = sp + 8|0; + $iTab = sp + 32|0; + $pTabList = sp + 44|0; + $pItem = sp + 48|0; + $db = sp + 36|0; + $nTabList = sp + 40|0; $rc = sp + 20|0; $priorJoinType = sp + 52|0; $pNew = sp + 16|0; @@ -120719,7 +121757,7 @@ function _whereLoopAddAll($pBuilder) { $10 = $9; HEAP32[$10>>2] = 0; $11 = HEAP32[$pWInfo>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pTabList>>2] = $13; $14 = HEAP32[$pWInfo>>2]|0; @@ -120727,21 +121765,21 @@ function _whereLoopAddAll($pBuilder) { $16 = HEAP32[$15>>2]|0; HEAP32[$db>>2] = $16; $17 = HEAP32[$pWInfo>>2]|0; - $18 = (($17) + 41|0); + $18 = ((($17)) + 41|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; HEAP32[$nTabList>>2] = $20; HEAP32[$rc>>2] = 0; HEAP8[$priorJoinType>>0] = 0; $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 12|0); + $22 = ((($21)) + 12|0); $23 = HEAP32[$22>>2]|0; HEAP32[$pNew>>2] = $23; $24 = HEAP32[$pNew>>2]|0; _whereLoopInit($24); HEAP32[$iTab>>2] = 0; $25 = HEAP32[$pTabList>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); HEAP32[$pItem>>2] = $26; while(1) { $27 = HEAP32[$iTab>>2]|0; @@ -120754,17 +121792,17 @@ function _whereLoopAddAll($pBuilder) { $30 = HEAP32[$iTab>>2]|0; $31 = $30&255; $32 = HEAP32[$pNew>>2]|0; - $33 = (($32) + 16|0); + $33 = ((($32)) + 16|0); HEAP8[$33>>0] = $31; $34 = HEAP32[$pWInfo>>2]|0; - $35 = (($34) + 68|0); + $35 = ((($34)) + 68|0); $36 = HEAP32[$pItem>>2]|0; - $37 = (($36) + 40|0); + $37 = ((($36)) + 40|0); $38 = HEAP32[$37>>2]|0; $39 = (_getMask($35,$38)|0); $40 = tempRet0; $41 = HEAP32[$pNew>>2]|0; - $42 = (($41) + 8|0); + $42 = ((($41)) + 8|0); $43 = $42; $44 = $43; HEAP32[$44>>2] = $39; @@ -120772,7 +121810,7 @@ function _whereLoopAddAll($pBuilder) { $46 = $45; HEAP32[$46>>2] = $40; $47 = HEAP32[$pItem>>2]|0; - $48 = (($47) + 36|0); + $48 = ((($47)) + 36|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = HEAP8[$priorJoinType>>0]|0; @@ -120795,13 +121833,13 @@ function _whereLoopAddAll($pBuilder) { HEAP32[$65>>2] = $61; } $66 = HEAP32[$pItem>>2]|0; - $67 = (($66) + 36|0); + $67 = ((($66)) + 36|0); $68 = HEAP8[$67>>0]|0; HEAP8[$priorJoinType>>0] = $68; $69 = HEAP32[$pItem>>2]|0; - $70 = (($69) + 16|0); + $70 = ((($69)) + 16|0); $71 = HEAP32[$70>>2]|0; - $72 = (($71) + 44|0); + $72 = ((($71)) + 44|0); $73 = HEAP8[$72>>0]|0; $74 = $73&255; $75 = $74 & 16; @@ -120834,7 +121872,7 @@ function _whereLoopAddAll($pBuilder) { HEAP32[$rc>>2] = $95; } $96 = HEAP32[$pNew>>2]|0; - $97 = (($96) + 8|0); + $97 = ((($96)) + 8|0); $98 = $97; $99 = $98; $100 = HEAP32[$99>>2]|0; @@ -120862,7 +121900,7 @@ function _whereLoopAddAll($pBuilder) { break; } $118 = HEAP32[$db>>2]|0; - $119 = (($118) + 64|0); + $119 = ((($118)) + 64|0); $120 = HEAP8[$119>>0]|0; $121 = $120&255; $122 = ($121|0)!=(0); @@ -120874,7 +121912,7 @@ function _whereLoopAddAll($pBuilder) { $124 = (($123) + 1)|0; HEAP32[$iTab>>2] = $124; $125 = HEAP32[$pItem>>2]|0; - $126 = (($125) + 72|0); + $126 = ((($125)) + 72|0); HEAP32[$pItem>>2] = $126; } if ((label|0) == 13) { @@ -120884,7 +121922,7 @@ function _whereLoopAddAll($pBuilder) { $129 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($129|0); } - return 0|0; + return (0)|0; } function _wherePathSolver($pWInfo,$nRowEst) { $pWInfo = $pWInfo|0; @@ -120927,43 +121965,43 @@ function _wherePathSolver($pWInfo,$nRowEst) { var $pLevel = 0, $pParse = 0, $pSpace = 0, $pTo = 0, $pWLoop = 0, $pX = 0, $rCost = 0, $rUnsorted = 0, $rc = 0, $revMask = 0, $revMask1 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; - $vararg_buffer = sp + 32|0; - $0 = sp + 132|0; - $1 = sp + 128|0; - $2 = sp + 146|0; - $mxChoice = sp + 124|0; - $nLoop = sp + 120|0; - $pParse = sp + 116|0; - $db = sp + 112|0; - $iLoop = sp + 108|0; - $ii = sp + 104|0; - $jj = sp + 100|0; - $mxI = sp + 96|0; - $nOrderBy = sp + 92|0; - $mxCost = sp + 144|0; - $mxUnsorted = sp + 142|0; - $nTo = sp + 88|0; - $nFrom = sp + 84|0; - $aFrom = sp + 80|0; + $vararg_buffer = sp; + $0 = sp + 116|0; + $1 = sp + 108|0; + $2 = sp + 142|0; + $mxChoice = sp + 104|0; + $nLoop = sp + 72|0; + $pParse = sp + 68|0; + $db = sp + 40|0; + $iLoop = sp + 124|0; + $ii = sp + 96|0; + $jj = sp + 48|0; + $mxI = sp + 52|0; + $nOrderBy = sp + 88|0; + $mxCost = sp + 148|0; + $mxUnsorted = sp + 140|0; + $nTo = sp + 120|0; + $nFrom = sp + 128|0; + $aFrom = sp + 132|0; $aTo = sp + 76|0; - $pFrom = sp + 72|0; - $pTo = sp + 68|0; - $pWLoop = sp + 64|0; - $pX = sp + 60|0; + $pFrom = sp + 80|0; + $pTo = sp + 84|0; + $pWLoop = sp + 92|0; + $pX = sp + 100|0; $aSortCost = sp + 56|0; - $pSpace = sp + 52|0; - $nSpace = sp + 48|0; - $nOut = sp + 140|0; - $rCost = sp + 138|0; - $rUnsorted = sp + 136|0; - $isOrdered = sp + 148|0; - $maskNew = sp + 24|0; + $pSpace = sp + 44|0; + $nSpace = sp + 60|0; + $nOut = sp + 150|0; + $rCost = sp + 144|0; + $rUnsorted = sp + 146|0; + $isOrdered = sp + 152|0; + $maskNew = sp + 32|0; $revMask = sp + 16|0; - $pLevel = sp + 44|0; + $pLevel = sp + 64|0; $notUsed = sp + 8|0; - $rc = sp + 40|0; - $revMask1 = sp; - $nOrder = sp + 36|0; + $rc = sp + 112|0; + $revMask1 = sp + 24|0; + $nOrder = sp + 136|0; HEAP32[$1>>2] = $pWInfo; HEAP16[$2>>1] = $nRowEst; HEAP32[$mxI>>2] = 0; @@ -120977,7 +122015,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 41|0); + $8 = ((($7)) + 41|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; HEAP32[$nLoop>>2] = $10; @@ -120993,7 +122031,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { } HEAP32[$mxChoice>>2] = $16; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; $20 = ($19|0)==(0|0); if ($20) { @@ -121006,7 +122044,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { label = 5; } else { $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 8|0); + $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$26>>2]|0; HEAP32[$nOrderBy>>2] = $27; @@ -121047,7 +122085,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $48 = (($46) + ($47<<5)|0); HEAP32[$aFrom>>2] = $48; $49 = HEAP32[$aFrom>>2]|0; - ;HEAP32[$49+0>>2]=0|0;HEAP32[$49+4>>2]=0|0;HEAP32[$49+8>>2]=0|0;HEAP32[$49+12>>2]=0|0;HEAP32[$49+16>>2]=0|0;HEAP32[$49+20>>2]=0|0;HEAP32[$49+24>>2]=0|0;HEAP32[$49+28>>2]=0|0; + ;HEAP32[$49>>2]=0|0;HEAP32[$49+4>>2]=0|0;HEAP32[$49+8>>2]=0|0;HEAP32[$49+12>>2]=0|0;HEAP32[$49+16>>2]=0|0;HEAP32[$49+20>>2]=0|0;HEAP32[$49+24>>2]=0|0;HEAP32[$49+28>>2]=0|0; $50 = HEAP32[$aFrom>>2]|0; $51 = HEAP32[$mxChoice>>2]|0; $52 = (($50) + ($51<<5)|0); @@ -121065,13 +122103,13 @@ function _wherePathSolver($pWInfo,$nRowEst) { } $58 = HEAP32[$pX>>2]|0; $59 = HEAP32[$pFrom>>2]|0; - $60 = (($59) + 24|0); + $60 = ((($59)) + 24|0); HEAP32[$60>>2] = $58; $61 = HEAP32[$ii>>2]|0; $62 = (($61) + -1)|0; HEAP32[$ii>>2] = $62; $63 = HEAP32[$pFrom>>2]|0; - $64 = (($63) + 32|0); + $64 = ((($63)) + 32|0); HEAP32[$pFrom>>2] = $64; $65 = HEAP32[$nLoop>>2]|0; $66 = HEAP32[$pX>>2]|0; @@ -121089,12 +122127,12 @@ function _wherePathSolver($pWInfo,$nRowEst) { _memset(($71|0),0,($73|0))|0; } $74 = HEAP32[$pParse>>2]|0; - $75 = (($74) + 424|0); + $75 = ((($74)) + 424|0); $76 = HEAP32[$75>>2]|0; $77 = ($76>>>0)<(46); if ($77) { $78 = HEAP32[$pParse>>2]|0; - $79 = (($78) + 424|0); + $79 = ((($78)) + 424|0); $80 = HEAP32[$79>>2]|0; $82 = $80; } else { @@ -121102,7 +122140,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { } $81 = $82&65535; $83 = HEAP32[$aFrom>>2]|0; - $84 = (($83) + 16|0); + $84 = ((($83)) + 16|0); HEAP16[$84>>1] = $81; HEAP32[$nFrom>>2] = 1; $85 = HEAP32[$nOrderBy>>2]|0; @@ -121114,7 +122152,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $90 = $88 ? -1 : $89; $91 = $90&255; $92 = HEAP32[$aFrom>>2]|0; - $93 = (($92) + 22|0); + $93 = ((($92)) + 22|0); HEAP8[$93>>0] = $91; } HEAP32[$iLoop>>2] = 0; @@ -121137,7 +122175,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { break; } $101 = HEAP32[$1>>2]|0; - $102 = (($101) + 16|0); + $102 = ((($101)) + 16|0); $103 = HEAP32[$102>>2]|0; HEAP32[$pWLoop>>2] = $103; while(1) { @@ -121147,7 +122185,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { break; } $106 = HEAP32[$pFrom>>2]|0; - $107 = (($106) + 22|0); + $107 = ((($106)) + 22|0); $108 = HEAP8[$107>>0]|0; HEAP8[$isOrdered>>0] = $108; $109 = $revMask; @@ -121180,7 +122218,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { L36: do { if (!($133)) { $134 = HEAP32[$pWLoop>>2]|0; - $135 = (($134) + 8|0); + $135 = ((($134)) + 8|0); $136 = $135; $137 = $136; $138 = HEAP32[$137>>2]|0; @@ -121201,14 +122239,14 @@ function _wherePathSolver($pWInfo,$nRowEst) { $153 = $151 | $152; if (!($153)) { $154 = HEAP32[$pWLoop>>2]|0; - $155 = (($154) + 18|0); + $155 = ((($154)) + 18|0); $156 = HEAP16[$155>>1]|0; $157 = HEAP32[$pWLoop>>2]|0; - $158 = (($157) + 20|0); + $158 = ((($157)) + 20|0); $159 = HEAP16[$158>>1]|0; $160 = $159 << 16 >> 16; $161 = HEAP32[$pFrom>>2]|0; - $162 = (($161) + 16|0); + $162 = ((($161)) + 16|0); $163 = HEAP16[$162>>1]|0; $164 = $163 << 16 >> 16; $165 = (($160) + ($164))|0; @@ -121217,16 +122255,16 @@ function _wherePathSolver($pWInfo,$nRowEst) { HEAP16[$rUnsorted>>1] = $167; $168 = HEAP16[$rUnsorted>>1]|0; $169 = HEAP32[$pFrom>>2]|0; - $170 = (($169) + 20|0); + $170 = ((($169)) + 20|0); $171 = HEAP16[$170>>1]|0; $172 = (_sqlite3LogEstAdd($168,$171)|0); HEAP16[$rUnsorted>>1] = $172; $173 = HEAP32[$pFrom>>2]|0; - $174 = (($173) + 16|0); + $174 = ((($173)) + 16|0); $175 = HEAP16[$174>>1]|0; $176 = $175 << 16 >> 16; $177 = HEAP32[$pWLoop>>2]|0; - $178 = (($177) + 22|0); + $178 = ((($177)) + 22|0); $179 = HEAP16[$178>>1]|0; $180 = $179 << 16 >> 16; $181 = (($176) + ($180))|0; @@ -121240,7 +122278,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $188 = $187; $189 = HEAP32[$188>>2]|0; $190 = HEAP32[$pWLoop>>2]|0; - $191 = (($190) + 8|0); + $191 = ((($190)) + 8|0); $192 = $191; $193 = $192; $194 = HEAP32[$193>>2]|0; @@ -121261,11 +122299,11 @@ function _wherePathSolver($pWInfo,$nRowEst) { if ($206) { $207 = HEAP32[$1>>2]|0; $208 = HEAP32[$1>>2]|0; - $209 = (($208) + 8|0); + $209 = ((($208)) + 8|0); $210 = HEAP32[$209>>2]|0; $211 = HEAP32[$pFrom>>2]|0; $212 = HEAP32[$1>>2]|0; - $213 = (($212) + 34|0); + $213 = ((($212)) + 34|0); $214 = HEAP16[$213>>1]|0; $215 = HEAP32[$iLoop>>2]|0; $216 = $215&65535; @@ -121274,7 +122312,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { HEAP8[$isOrdered>>0] = $218; } else { $219 = HEAP32[$pFrom>>2]|0; - $220 = (($219) + 8|0); + $220 = ((($219)) + 8|0); $221 = $220; $222 = $221; $223 = HEAP32[$222>>2]|0; @@ -121364,7 +122402,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $282 = $280 & $281; if ($282) { $283 = HEAP32[$pTo>>2]|0; - $284 = (($283) + 22|0); + $284 = ((($283)) + 22|0); $285 = HEAP8[$284>>0]|0; $286 = $285 << 24 >> 24; $287 = HEAP8[$isOrdered>>0]|0; @@ -121380,7 +122418,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $293 = (($292) + 1)|0; HEAP32[$jj>>2] = $293; $294 = HEAP32[$pTo>>2]|0; - $295 = (($294) + 32|0); + $295 = ((($294)) + 32|0); HEAP32[$pTo>>2] = $295; } $296 = HEAP32[$jj>>2]|0; @@ -121437,7 +122475,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { HEAP32[$pTo>>2] = $325; } else { $326 = HEAP32[$pTo>>2]|0; - $327 = (($326) + 18|0); + $327 = ((($326)) + 18|0); $328 = HEAP16[$327>>1]|0; $329 = $328 << 16 >> 16; $330 = HEAP16[$rCost>>1]|0; @@ -121447,7 +122485,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { break L36; } $333 = HEAP32[$pTo>>2]|0; - $334 = (($333) + 18|0); + $334 = ((($333)) + 18|0); $335 = HEAP16[$334>>1]|0; $336 = $335 << 16 >> 16; $337 = HEAP16[$rCost>>1]|0; @@ -121457,7 +122495,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { break; } $340 = HEAP32[$pTo>>2]|0; - $341 = (($340) + 16|0); + $341 = ((($340)) + 16|0); $342 = HEAP16[$341>>1]|0; $343 = $342 << 16 >> 16; $344 = HEAP16[$nOut>>1]|0; @@ -121476,7 +122514,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $352 = $351; $353 = HEAP32[$352>>2]|0; $354 = HEAP32[$pWLoop>>2]|0; - $355 = (($354) + 8|0); + $355 = ((($354)) + 8|0); $356 = $355; $357 = $356; $358 = HEAP32[$357>>2]|0; @@ -121499,7 +122537,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $373 = $372; $374 = HEAP32[$373>>2]|0; $375 = HEAP32[$pTo>>2]|0; - $376 = (($375) + 8|0); + $376 = ((($375)) + 8|0); $377 = $376; $378 = $377; HEAP32[$378>>2] = $371; @@ -121508,25 +122546,25 @@ function _wherePathSolver($pWInfo,$nRowEst) { HEAP32[$380>>2] = $374; $381 = HEAP16[$nOut>>1]|0; $382 = HEAP32[$pTo>>2]|0; - $383 = (($382) + 16|0); + $383 = ((($382)) + 16|0); HEAP16[$383>>1] = $381; $384 = HEAP16[$rCost>>1]|0; $385 = HEAP32[$pTo>>2]|0; - $386 = (($385) + 18|0); + $386 = ((($385)) + 18|0); HEAP16[$386>>1] = $384; $387 = HEAP16[$rUnsorted>>1]|0; $388 = HEAP32[$pTo>>2]|0; - $389 = (($388) + 20|0); + $389 = ((($388)) + 20|0); HEAP16[$389>>1] = $387; $390 = HEAP8[$isOrdered>>0]|0; $391 = HEAP32[$pTo>>2]|0; - $392 = (($391) + 22|0); + $392 = ((($391)) + 22|0); HEAP8[$392>>0] = $390; $393 = HEAP32[$pTo>>2]|0; - $394 = (($393) + 24|0); + $394 = ((($393)) + 24|0); $395 = HEAP32[$394>>2]|0; $396 = HEAP32[$pFrom>>2]|0; - $397 = (($396) + 24|0); + $397 = ((($396)) + 24|0); $398 = HEAP32[$397>>2]|0; $399 = HEAP32[$iLoop>>2]|0; $400 = $399<<2; @@ -121534,7 +122572,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $401 = HEAP32[$pWLoop>>2]|0; $402 = HEAP32[$iLoop>>2]|0; $403 = HEAP32[$pTo>>2]|0; - $404 = (($403) + 24|0); + $404 = ((($403)) + 24|0); $405 = HEAP32[$404>>2]|0; $406 = (($405) + ($402<<2)|0); HEAP32[$406>>2] = $401; @@ -121544,16 +122582,16 @@ function _wherePathSolver($pWInfo,$nRowEst) { if ($409) { HEAP32[$mxI>>2] = 0; $410 = HEAP32[$aTo>>2]|0; - $411 = (($410) + 18|0); + $411 = ((($410)) + 18|0); $412 = HEAP16[$411>>1]|0; HEAP16[$mxCost>>1] = $412; $413 = HEAP32[$aTo>>2]|0; - $414 = (($413) + 16|0); + $414 = ((($413)) + 16|0); $415 = HEAP16[$414>>1]|0; HEAP16[$mxUnsorted>>1] = $415; HEAP32[$jj>>2] = 1; $416 = HEAP32[$aTo>>2]|0; - $417 = (($416) + 32|0); + $417 = ((($416)) + 32|0); HEAP32[$pTo>>2] = $417; while(1) { $418 = HEAP32[$jj>>2]|0; @@ -121563,7 +122601,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { break L36; } $421 = HEAP32[$pTo>>2]|0; - $422 = (($421) + 18|0); + $422 = ((($421)) + 18|0); $423 = HEAP16[$422>>1]|0; $424 = $423 << 16 >> 16; $425 = HEAP16[$mxCost>>1]|0; @@ -121574,7 +122612,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { label = 58; } else { $428 = HEAP32[$pTo>>2]|0; - $429 = (($428) + 18|0); + $429 = ((($428)) + 18|0); $430 = HEAP16[$429>>1]|0; $431 = $430 << 16 >> 16; $432 = HEAP16[$mxCost>>1]|0; @@ -121584,7 +122622,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { break; } $435 = HEAP32[$pTo>>2]|0; - $436 = (($435) + 20|0); + $436 = ((($435)) + 20|0); $437 = HEAP16[$436>>1]|0; $438 = $437 << 16 >> 16; $439 = HEAP16[$mxUnsorted>>1]|0; @@ -121598,11 +122636,11 @@ function _wherePathSolver($pWInfo,$nRowEst) { if ((label|0) == 58) { label = 0; $442 = HEAP32[$pTo>>2]|0; - $443 = (($442) + 18|0); + $443 = ((($442)) + 18|0); $444 = HEAP16[$443>>1]|0; HEAP16[$mxCost>>1] = $444; $445 = HEAP32[$pTo>>2]|0; - $446 = (($445) + 20|0); + $446 = ((($445)) + 20|0); $447 = HEAP16[$446>>1]|0; HEAP16[$mxUnsorted>>1] = $447; $448 = HEAP32[$jj>>2]|0; @@ -121612,7 +122650,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $450 = (($449) + 1)|0; HEAP32[$jj>>2] = $450; $451 = HEAP32[$pTo>>2]|0; - $452 = (($451) + 32|0); + $452 = ((($451)) + 32|0); HEAP32[$pTo>>2] = $452; } } @@ -121620,7 +122658,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { } } while(0); $453 = HEAP32[$pWLoop>>2]|0; - $454 = (($453) + 48|0); + $454 = ((($453)) + 48|0); $455 = HEAP32[$454>>2]|0; HEAP32[$pWLoop>>2] = $455; } @@ -121628,7 +122666,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $457 = (($456) + 1)|0; HEAP32[$ii>>2] = $457; $458 = HEAP32[$pFrom>>2]|0; - $459 = (($458) + 32|0); + $459 = ((($458)) + 32|0); HEAP32[$pFrom>>2] = $459; } $460 = HEAP32[$aTo>>2]|0; @@ -121647,7 +122685,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $467 = ($466|0)==(0); if ($467) { $468 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($468,24032,$vararg_buffer); + _sqlite3ErrorMsg($468,26450,$vararg_buffer); $469 = HEAP32[$db>>2]|0; $470 = HEAP32[$pSpace>>2]|0; _sqlite3DbFree($469,$470); @@ -121666,13 +122704,13 @@ function _wherePathSolver($pWInfo,$nRowEst) { break; } $475 = HEAP32[$pFrom>>2]|0; - $476 = (($475) + 18|0); + $476 = ((($475)) + 18|0); $477 = HEAP16[$476>>1]|0; $478 = $477 << 16 >> 16; $479 = HEAP32[$ii>>2]|0; $480 = HEAP32[$aFrom>>2]|0; $481 = (($480) + ($479<<5)|0); - $482 = (($481) + 18|0); + $482 = ((($481)) + 18|0); $483 = HEAP16[$482>>1]|0; $484 = $483 << 16 >> 16; $485 = ($478|0)>($484|0); @@ -121695,59 +122733,59 @@ function _wherePathSolver($pWInfo,$nRowEst) { if (!($493)) { break; } - $495 = (($494) + 736|0); + $495 = ((($494)) + 736|0); $496 = HEAP32[$iLoop>>2]|0; $497 = (($495) + (($496*72)|0)|0); HEAP32[$pLevel>>2] = $497; $498 = HEAP32[$iLoop>>2]|0; $499 = HEAP32[$pFrom>>2]|0; - $500 = (($499) + 24|0); + $500 = ((($499)) + 24|0); $501 = HEAP32[$500>>2]|0; $502 = (($501) + ($498<<2)|0); $503 = HEAP32[$502>>2]|0; HEAP32[$pWLoop>>2] = $503; $504 = HEAP32[$pLevel>>2]|0; - $505 = (($504) + 56|0); + $505 = ((($504)) + 56|0); HEAP32[$505>>2] = $503; $506 = HEAP32[$pWLoop>>2]|0; - $507 = (($506) + 16|0); + $507 = ((($506)) + 16|0); $508 = HEAP8[$507>>0]|0; $509 = HEAP32[$pLevel>>2]|0; - $510 = (($509) + 36|0); + $510 = ((($509)) + 36|0); HEAP8[$510>>0] = $508; $511 = HEAP32[$pLevel>>2]|0; - $512 = (($511) + 36|0); + $512 = ((($511)) + 36|0); $513 = HEAP8[$512>>0]|0; $514 = $513&255; $515 = HEAP32[$1>>2]|0; - $516 = (($515) + 4|0); + $516 = ((($515)) + 4|0); $517 = HEAP32[$516>>2]|0; - $518 = (($517) + 8|0); + $518 = ((($517)) + 8|0); $519 = (($518) + (($514*72)|0)|0); - $520 = (($519) + 40|0); + $520 = ((($519)) + 40|0); $521 = HEAP32[$520>>2]|0; $522 = HEAP32[$pLevel>>2]|0; - $523 = (($522) + 4|0); + $523 = ((($522)) + 4|0); HEAP32[$523>>2] = $521; $524 = HEAP32[$iLoop>>2]|0; $525 = (($524) + 1)|0; HEAP32[$iLoop>>2] = $525; } - $526 = (($494) + 34|0); + $526 = ((($494)) + 34|0); $527 = HEAP16[$526>>1]|0; $528 = $527&65535; $529 = $528 & 1024; $530 = ($529|0)!=(0); if ($530) { $531 = HEAP32[$1>>2]|0; - $532 = (($531) + 34|0); + $532 = ((($531)) + 34|0); $533 = HEAP16[$532>>1]|0; $534 = $533&65535; $535 = $534 & 512; $536 = ($535|0)==(0); if ($536) { $537 = HEAP32[$1>>2]|0; - $538 = (($537) + 40|0); + $538 = ((($537)) + 40|0); $539 = HEAP8[$538>>0]|0; $540 = $539&255; $541 = ($540|0)==(0); @@ -121758,7 +122796,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { if ($544) { $545 = HEAP32[$1>>2]|0; $546 = HEAP32[$1>>2]|0; - $547 = (($546) + 12|0); + $547 = ((($546)) + 12|0); $548 = HEAP32[$547>>2]|0; $549 = HEAP32[$pFrom>>2]|0; $550 = HEAP32[$nLoop>>2]|0; @@ -121767,7 +122805,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $553 = HEAP32[$nLoop>>2]|0; $554 = (($553) - 1)|0; $555 = HEAP32[$pFrom>>2]|0; - $556 = (($555) + 24|0); + $556 = ((($555)) + 24|0); $557 = HEAP32[$556>>2]|0; $558 = (($557) + ($554<<2)|0); $559 = HEAP32[$558>>2]|0; @@ -121776,13 +122814,13 @@ function _wherePathSolver($pWInfo,$nRowEst) { HEAP32[$rc>>2] = $561; $562 = HEAP32[$rc>>2]|0; $563 = HEAP32[$1>>2]|0; - $564 = (($563) + 12|0); + $564 = ((($563)) + 12|0); $565 = HEAP32[$564>>2]|0; $566 = HEAP32[$565>>2]|0; $567 = ($562|0)==($566|0); if ($567) { $568 = HEAP32[$1>>2]|0; - $569 = (($568) + 40|0); + $569 = ((($568)) + 40|0); HEAP8[$569>>0] = 2; } } @@ -121790,47 +122828,47 @@ function _wherePathSolver($pWInfo,$nRowEst) { } } $570 = HEAP32[$1>>2]|0; - $571 = (($570) + 8|0); + $571 = ((($570)) + 8|0); $572 = HEAP32[$571>>2]|0; $573 = ($572|0)!=(0|0); if ($573) { $574 = HEAP32[$1>>2]|0; - $575 = (($574) + 34|0); + $575 = ((($574)) + 34|0); $576 = HEAP16[$575>>1]|0; $577 = $576&65535; $578 = $577 & 512; $579 = ($578|0)!=(0); $580 = HEAP32[$pFrom>>2]|0; - $581 = (($580) + 22|0); + $581 = ((($580)) + 22|0); $582 = HEAP8[$581>>0]|0; if ($579) { $583 = $582 << 24 >> 24; $584 = HEAP32[$1>>2]|0; - $585 = (($584) + 8|0); + $585 = ((($584)) + 8|0); $586 = HEAP32[$585>>2]|0; $587 = HEAP32[$586>>2]|0; $588 = ($583|0)==($587|0); if ($588) { $589 = HEAP32[$1>>2]|0; - $590 = (($589) + 40|0); + $590 = ((($589)) + 40|0); HEAP8[$590>>0] = 2; } } else { $591 = HEAP32[$1>>2]|0; - $592 = (($591) + 36|0); + $592 = ((($591)) + 36|0); HEAP8[$592>>0] = $582; $593 = HEAP32[$1>>2]|0; - $594 = (($593) + 36|0); + $594 = ((($593)) + 36|0); $595 = HEAP8[$594>>0]|0; $596 = $595 << 24 >> 24; $597 = ($596|0)<(0); if ($597) { $598 = HEAP32[$1>>2]|0; - $599 = (($598) + 36|0); + $599 = ((($598)) + 36|0); HEAP8[$599>>0] = 0; } $600 = HEAP32[$pFrom>>2]|0; - $601 = (($600) + 8|0); + $601 = ((($600)) + 8|0); $602 = $601; $603 = $602; $604 = HEAP32[$603>>2]|0; @@ -121838,7 +122876,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $606 = $605; $607 = HEAP32[$606>>2]|0; $608 = HEAP32[$1>>2]|0; - $609 = (($608) + 24|0); + $609 = ((($608)) + 24|0); $610 = $609; $611 = $610; HEAP32[$611>>2] = $604; @@ -121847,18 +122885,18 @@ function _wherePathSolver($pWInfo,$nRowEst) { HEAP32[$613>>2] = $607; } $614 = HEAP32[$1>>2]|0; - $615 = (($614) + 34|0); + $615 = ((($614)) + 34|0); $616 = HEAP16[$615>>1]|0; $617 = $616&65535; $618 = $617 & 2048; $619 = ($618|0)!=(0); if ($619) { $620 = HEAP32[$1>>2]|0; - $621 = (($620) + 36|0); + $621 = ((($620)) + 36|0); $622 = HEAP8[$621>>0]|0; $623 = $622 << 24 >> 24; $624 = HEAP32[$1>>2]|0; - $625 = (($624) + 8|0); + $625 = ((($624)) + 8|0); $626 = HEAP32[$625>>2]|0; $627 = HEAP32[$626>>2]|0; $628 = ($623|0)==($627|0); @@ -121871,7 +122909,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { HEAP32[$632>>2] = 0; $633 = HEAP32[$1>>2]|0; $634 = HEAP32[$1>>2]|0; - $635 = (($634) + 8|0); + $635 = ((($634)) + 8|0); $636 = HEAP32[$635>>2]|0; $637 = HEAP32[$pFrom>>2]|0; $638 = HEAP32[$nLoop>>2]|0; @@ -121880,7 +122918,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $641 = HEAP32[$nLoop>>2]|0; $642 = (($641) - 1)|0; $643 = HEAP32[$pFrom>>2]|0; - $644 = (($643) + 24|0); + $644 = ((($643)) + 24|0); $645 = HEAP32[$644>>2]|0; $646 = (($645) + ($642<<2)|0); $647 = HEAP32[$646>>2]|0; @@ -121889,13 +122927,13 @@ function _wherePathSolver($pWInfo,$nRowEst) { HEAP32[$nOrder>>2] = $649; $650 = HEAP32[$nOrder>>2]|0; $651 = HEAP32[$1>>2]|0; - $652 = (($651) + 8|0); + $652 = ((($651)) + 8|0); $653 = HEAP32[$652>>2]|0; $654 = HEAP32[$653>>2]|0; $655 = ($650|0)==($654|0); if ($655) { $656 = HEAP32[$1>>2]|0; - $657 = (($656) + 37|0); + $657 = ((($656)) + 37|0); HEAP8[$657>>0] = 1; $658 = $revMask1; $659 = $658; @@ -121904,7 +122942,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $662 = $661; $663 = HEAP32[$662>>2]|0; $664 = HEAP32[$1>>2]|0; - $665 = (($664) + 24|0); + $665 = ((($664)) + 24|0); $666 = $665; $667 = $666; HEAP32[$667>>2] = $660; @@ -121916,10 +122954,10 @@ function _wherePathSolver($pWInfo,$nRowEst) { } } $670 = HEAP32[$pFrom>>2]|0; - $671 = (($670) + 16|0); + $671 = ((($670)) + 16|0); $672 = HEAP16[$671>>1]|0; $673 = HEAP32[$1>>2]|0; - $674 = (($673) + 32|0); + $674 = ((($673)) + 32|0); HEAP16[$674>>1] = $672; $675 = HEAP32[$db>>2]|0; $676 = HEAP32[$pSpace>>2]|0; @@ -121957,7 +122995,7 @@ function _exprListTableUsage($pMaskSet,$pList) { $38 = (($35) + 4)|0; $39 = $38; $40 = HEAP32[$39>>2]|0; - tempRet0 = $40; + tempRet0 = ($40); STACKTOP = sp;return ($37|0); } HEAP32[$i>>2] = 0; @@ -121972,7 +123010,7 @@ function _exprListTableUsage($pMaskSet,$pList) { $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + (($13*20)|0)|0); $18 = HEAP32[$17>>2]|0; @@ -122002,7 +123040,7 @@ function _exprListTableUsage($pMaskSet,$pList) { $38 = (($35) + 4)|0; $39 = $38; $40 = HEAP32[$39>>2]|0; - tempRet0 = $40; + tempRet0 = ($40); STACKTOP = sp;return ($37|0); } function _getMask($pMaskSet,$iCursor) { @@ -122030,7 +123068,7 @@ function _getMask($pMaskSet,$iCursor) { } $7 = HEAP32[$i>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = (($9) + ($7<<2)|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$2>>2]|0; @@ -122058,7 +123096,7 @@ function _getMask($pMaskSet,$iCursor) { $29 = (($26) + 4)|0; $30 = $29; $31 = HEAP32[$30>>2]|0; - tempRet0 = $31; + tempRet0 = ($31); STACKTOP = sp;return ($28|0); } else if ((label|0) == 6) { @@ -122074,10 +123112,10 @@ function _getMask($pMaskSet,$iCursor) { $29 = (($26) + 4)|0; $30 = $29; $31 = HEAP32[$30>>2]|0; - tempRet0 = $31; + tempRet0 = ($31); STACKTOP = sp;return ($28|0); } - return 0|0; + return (0)|0; } function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $pParse = $pParse|0; @@ -122112,35 +123150,35 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { var $nKeyCol = 0, $pColl = 0, $pIdx = 0, $pLoop = 0, $pTable = 0, $pTerm = 0, $pWCEnd = 0, $pX = 0, $regRecord = 0, $sentWarning = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zNotUsed = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; - $vararg_buffer = sp + 40|0; - $2 = sp + 132|0; - $3 = sp + 128|0; - $4 = sp + 124|0; - $5 = sp + 32|0; - $6 = sp + 120|0; - $nKeyCol = sp + 116|0; - $pTerm = sp + 112|0; - $pWCEnd = sp + 108|0; - $pIdx = sp + 104|0; - $v = sp + 100|0; - $addrInit = sp + 96|0; - $pTable = sp + 92|0; - $addrTop = sp + 88|0; - $regRecord = sp + 84|0; - $n = sp + 80|0; - $i = sp + 76|0; - $mxBitCol = sp + 72|0; - $pColl = sp + 68|0; - $pLoop = sp + 64|0; - $zNotUsed = sp + 60|0; - $idxCols = sp + 24|0; - $extraCols = sp + 16|0; + $vararg_buffer = sp + 8|0; + $2 = sp + 96|0; + $3 = sp + 64|0; + $4 = sp + 52|0; + $5 = sp + 40|0; + $6 = sp + 104|0; + $nKeyCol = sp + 72|0; + $pTerm = sp + 48|0; + $pWCEnd = sp + 100|0; + $pIdx = sp + 116|0; + $v = sp + 68|0; + $addrInit = sp + 56|0; + $pTable = sp + 60|0; + $addrTop = sp + 92|0; + $regRecord = sp + 112|0; + $n = sp + 120|0; + $i = sp + 124|0; + $mxBitCol = sp + 76|0; + $pColl = sp + 80|0; + $pLoop = sp + 84|0; + $zNotUsed = sp + 88|0; + $idxCols = sp + 32|0; + $extraCols = sp; $sentWarning = sp + 136|0; - $iCol = sp + 56|0; - $cMask = sp + 8|0; - $iCol1 = sp + 52|0; - $cMask2 = sp; - $pX = sp + 48|0; + $iCol = sp + 108|0; + $cMask = sp + 16|0; + $iCol1 = sp + 128|0; + $cMask2 = sp + 24|0; + $pX = sp + 132|0; HEAP32[$2>>2] = $pParse; HEAP32[$3>>2] = $pWC; HEAP32[$4>>2] = $pSrc; @@ -122153,7 +123191,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { HEAP32[$6>>2] = $pLevel; HEAP8[$sentWarning>>0] = 0; $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; HEAP32[$v>>2] = $13; $14 = HEAP32[$2>>2]|0; @@ -122161,19 +123199,19 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { HEAP32[$addrInit>>2] = $15; HEAP32[$nKeyCol>>2] = 0; $16 = HEAP32[$4>>2]|0; - $17 = (($16) + 16|0); + $17 = ((($16)) + 16|0); $18 = HEAP32[$17>>2]|0; HEAP32[$pTable>>2] = $18; $19 = HEAP32[$3>>2]|0; - $20 = (($19) + 12|0); + $20 = ((($19)) + 12|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$3>>2]|0; - $23 = (($22) + 20|0); + $23 = ((($22)) + 20|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + (($21*48)|0)|0); HEAP32[$pWCEnd>>2] = $25; $26 = HEAP32[$6>>2]|0; - $27 = (($26) + 56|0); + $27 = ((($26)) + 56|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pLoop>>2] = $28; $29 = $idxCols; @@ -122183,7 +123221,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $32 = $31; HEAP32[$32>>2] = 0; $33 = HEAP32[$3>>2]|0; - $34 = (($33) + 20|0); + $34 = ((($33)) + 20|0); $35 = HEAP32[$34>>2]|0; HEAP32[$pTerm>>2] = $35; while(1) { @@ -122205,7 +123243,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $48 = ($47|0)!=(0); if ($48) { $49 = HEAP32[$pTerm>>2]|0; - $50 = (($49) + 12|0); + $50 = ((($49)) + 12|0); $51 = HEAP32[$50>>2]|0; HEAP32[$iCol>>2] = $51; $52 = HEAP32[$iCol>>2]|0; @@ -122231,14 +123269,14 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$iCol>>2]|0; $68 = HEAP32[$pTable>>2]|0; - $69 = (($68) + 4|0); + $69 = ((($68)) + 4|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + (($67*24)|0)|0); $72 = HEAP32[$71>>2]|0; HEAP32[$vararg_buffer>>2] = $66; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $72; - _sqlite3_log(284,23984,$vararg_buffer); + _sqlite3_log(284,26413,$vararg_buffer); HEAP8[$sentWarning>>0] = 1; } $73 = $idxCols; @@ -122275,7 +123313,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $99 = (($98) + 1)|0; HEAP32[$nKeyCol>>2] = $99; $100 = HEAP32[$pLoop>>2]|0; - $101 = (($100) + 44|0); + $101 = ((($100)) + 44|0); $102 = HEAP32[$101>>2]|0; $103 = (($102) + ($98<<2)|0); HEAP32[$103>>2] = $97; @@ -122302,7 +123340,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { } } $122 = HEAP32[$pTerm>>2]|0; - $123 = (($122) + 48|0); + $123 = ((($122)) + 48|0); HEAP32[$pTerm>>2] = $123; } if ((label|0) == 42) { @@ -122311,16 +123349,16 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $124 = HEAP32[$nKeyCol>>2]|0; $125 = $124&65535; $126 = HEAP32[$pLoop>>2]|0; - $127 = (($126) + 40|0); + $127 = ((($126)) + 40|0); HEAP16[$127>>1] = $125; $128 = HEAP32[$pLoop>>2]|0; - $129 = (($128) + 24|0); + $129 = ((($128)) + 24|0); HEAP16[$129>>1] = $125; $130 = HEAP32[$pLoop>>2]|0; - $131 = (($130) + 36|0); + $131 = ((($130)) + 36|0); HEAP32[$131>>2] = 16961; $132 = HEAP32[$4>>2]|0; - $133 = (($132) + 56|0); + $133 = ((($132)) + 56|0); $134 = $133; $135 = $134; $136 = HEAP32[$135>>2]|0; @@ -122345,7 +123383,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $154 = $153; HEAP32[$154>>2] = $150; $155 = HEAP32[$pTable>>2]|0; - $156 = (($155) + 38|0); + $156 = ((($155)) + 38|0); $157 = HEAP16[$156>>1]|0; $158 = $157 << 16 >> 16; $159 = ($158|0)>=(63); @@ -122353,7 +123391,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $164 = 63; } else { $160 = HEAP32[$pTable>>2]|0; - $161 = (($160) + 38|0); + $161 = ((($160)) + 38|0); $162 = HEAP16[$161>>1]|0; $163 = $162 << 16 >> 16; $164 = $163; @@ -122391,7 +123429,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { HEAP32[$i>>2] = $185; } $186 = HEAP32[$4>>2]|0; - $187 = (($186) + 56|0); + $187 = ((($186)) + 56|0); $188 = $187; $189 = $188; $190 = HEAP32[$189>>2]|0; @@ -122404,7 +123442,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $197 = $195 | $196; if ($197) { $198 = HEAP32[$pTable>>2]|0; - $199 = (($198) + 38|0); + $199 = ((($198)) + 38|0); $200 = HEAP16[$199>>1]|0; $201 = $200 << 16 >> 16; $202 = (($201) - 64)|0; @@ -122414,7 +123452,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { HEAP32[$nKeyCol>>2] = $205; } $206 = HEAP32[$pLoop>>2]|0; - $207 = (($206) + 36|0); + $207 = ((($206)) + 36|0); $208 = HEAP32[$207>>2]|0; $209 = $208 | 65; HEAP32[$207>>2] = $209; @@ -122432,14 +123470,14 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { } $218 = HEAP32[$pIdx>>2]|0; $219 = HEAP32[$pLoop>>2]|0; - $220 = (($219) + 24|0); - $221 = (($220) + 4|0); + $220 = ((($219)) + 24|0); + $221 = ((($220)) + 4|0); HEAP32[$221>>2] = $218; $222 = HEAP32[$pIdx>>2]|0; - HEAP32[$222>>2] = 24016; + HEAP32[$222>>2] = 26439; $223 = HEAP32[$pTable>>2]|0; $224 = HEAP32[$pIdx>>2]|0; - $225 = (($224) + 12|0); + $225 = ((($224)) + 12|0); HEAP32[$225>>2] = $223; HEAP32[$n>>2] = 0; $226 = $idxCols; @@ -122449,7 +123487,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $229 = $228; HEAP32[$229>>2] = 0; $230 = HEAP32[$3>>2]|0; - $231 = (($230) + 20|0); + $231 = ((($230)) + 20|0); $232 = HEAP32[$231>>2]|0; HEAP32[$pTerm>>2] = $232; while(1) { @@ -122471,7 +123509,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $245 = ($244|0)!=(0); if ($245) { $246 = HEAP32[$pTerm>>2]|0; - $247 = (($246) + 12|0); + $247 = ((($246)) + 12|0); $248 = HEAP32[$247>>2]|0; HEAP32[$iCol1>>2] = $248; $249 = HEAP32[$iCol1>>2]|0; @@ -122532,21 +123570,21 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $296 = $295; HEAP32[$296>>2] = $292; $297 = HEAP32[$pTerm>>2]|0; - $298 = (($297) + 12|0); + $298 = ((($297)) + 12|0); $299 = HEAP32[$298>>2]|0; $300 = $299&65535; $301 = HEAP32[$n>>2]|0; $302 = HEAP32[$pIdx>>2]|0; - $303 = (($302) + 4|0); + $303 = ((($302)) + 4|0); $304 = HEAP32[$303>>2]|0; $305 = (($304) + ($301<<1)|0); HEAP16[$305>>1] = $300; $306 = HEAP32[$2>>2]|0; $307 = HEAP32[$pX>>2]|0; - $308 = (($307) + 12|0); + $308 = ((($307)) + 12|0); $309 = HEAP32[$308>>2]|0; $310 = HEAP32[$pX>>2]|0; - $311 = (($310) + 16|0); + $311 = ((($310)) + 16|0); $312 = HEAP32[$311>>2]|0; $313 = (_sqlite3BinaryCompareCollSeq($306,$309,$312)|0); HEAP32[$pColl>>2] = $313; @@ -122557,11 +123595,11 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $317 = HEAP32[$316>>2]|0; $323 = $317; } else { - $323 = 3320; + $323 = 15963; } $318 = HEAP32[$n>>2]|0; $319 = HEAP32[$pIdx>>2]|0; - $320 = (($319) + 32|0); + $320 = ((($319)) + 32|0); $321 = HEAP32[$320>>2]|0; $322 = (($321) + ($318<<2)|0); HEAP32[$322>>2] = $323; @@ -122571,7 +123609,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { } } $326 = HEAP32[$pTerm>>2]|0; - $327 = (($326) + 48|0); + $327 = ((($326)) + 48|0); HEAP32[$pTerm>>2] = $327; } HEAP32[$i>>2] = 0; @@ -122601,16 +123639,16 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $346 = $345&65535; $347 = HEAP32[$n>>2]|0; $348 = HEAP32[$pIdx>>2]|0; - $349 = (($348) + 4|0); + $349 = ((($348)) + 4|0); $350 = HEAP32[$349>>2]|0; $351 = (($350) + ($347<<1)|0); HEAP16[$351>>1] = $346; $352 = HEAP32[$n>>2]|0; $353 = HEAP32[$pIdx>>2]|0; - $354 = (($353) + 32|0); + $354 = ((($353)) + 32|0); $355 = HEAP32[$354>>2]|0; $356 = (($355) + ($352<<2)|0); - HEAP32[$356>>2] = 3320; + HEAP32[$356>>2] = 15963; $357 = HEAP32[$n>>2]|0; $358 = (($357) + 1)|0; HEAP32[$n>>2] = $358; @@ -122620,7 +123658,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { HEAP32[$i>>2] = $360; } $361 = HEAP32[$4>>2]|0; - $362 = (($361) + 56|0); + $362 = ((($361)) + 56|0); $363 = $362; $364 = $363; $365 = HEAP32[$364>>2]|0; @@ -122637,7 +123675,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { while(1) { $373 = HEAP32[$i>>2]|0; $374 = HEAP32[$pTable>>2]|0; - $375 = (($374) + 38|0); + $375 = ((($374)) + 38|0); $376 = HEAP16[$375>>1]|0; $377 = $376 << 16 >> 16; $378 = ($373|0)<($377|0); @@ -122648,16 +123686,16 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $380 = $379&65535; $381 = HEAP32[$n>>2]|0; $382 = HEAP32[$pIdx>>2]|0; - $383 = (($382) + 4|0); + $383 = ((($382)) + 4|0); $384 = HEAP32[$383>>2]|0; $385 = (($384) + ($381<<1)|0); HEAP16[$385>>1] = $380; $386 = HEAP32[$n>>2]|0; $387 = HEAP32[$pIdx>>2]|0; - $388 = (($387) + 32|0); + $388 = ((($387)) + 32|0); $389 = HEAP32[$388>>2]|0; $390 = (($389) + ($386<<2)|0); - HEAP32[$390>>2] = 3320; + HEAP32[$390>>2] = 15963; $391 = HEAP32[$n>>2]|0; $392 = (($391) + 1)|0; HEAP32[$n>>2] = $392; @@ -122669,27 +123707,27 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { } while(0); $395 = HEAP32[$n>>2]|0; $396 = HEAP32[$pIdx>>2]|0; - $397 = (($396) + 4|0); + $397 = ((($396)) + 4|0); $398 = HEAP32[$397>>2]|0; $399 = (($398) + ($395<<1)|0); HEAP16[$399>>1] = -1; $400 = HEAP32[$n>>2]|0; $401 = HEAP32[$pIdx>>2]|0; - $402 = (($401) + 32|0); + $402 = ((($401)) + 32|0); $403 = HEAP32[$402>>2]|0; $404 = (($403) + ($400<<2)|0); - HEAP32[$404>>2] = 3320; + HEAP32[$404>>2] = 15963; $405 = HEAP32[$2>>2]|0; - $406 = (($405) + 68|0); + $406 = ((($405)) + 68|0); $407 = HEAP32[$406>>2]|0; $408 = (($407) + 1)|0; HEAP32[$406>>2] = $408; $409 = HEAP32[$6>>2]|0; - $410 = (($409) + 8|0); + $410 = ((($409)) + 8|0); HEAP32[$410>>2] = $407; $411 = HEAP32[$v>>2]|0; $412 = HEAP32[$6>>2]|0; - $413 = (($412) + 8|0); + $413 = ((($412)) + 8|0); $414 = HEAP32[$413>>2]|0; $415 = HEAP32[$nKeyCol>>2]|0; $416 = (($415) + 1)|0; @@ -122699,7 +123737,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { _sqlite3VdbeSetP4KeyInfo($417,$418); $419 = HEAP32[$v>>2]|0; $420 = HEAP32[$6>>2]|0; - $421 = (($420) + 4|0); + $421 = ((($420)) + 4|0); $422 = HEAP32[$421>>2]|0; $423 = (_sqlite3VdbeAddOp1($419,108,$422)|0); HEAP32[$addrTop>>2] = $423; @@ -122709,13 +123747,13 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $426 = HEAP32[$2>>2]|0; $427 = HEAP32[$pIdx>>2]|0; $428 = HEAP32[$6>>2]|0; - $429 = (($428) + 4|0); + $429 = ((($428)) + 4|0); $430 = HEAP32[$429>>2]|0; $431 = HEAP32[$regRecord>>2]|0; (_sqlite3GenerateIndexKey($426,$427,$430,$431,0,0,0,0)|0); $432 = HEAP32[$v>>2]|0; $433 = HEAP32[$6>>2]|0; - $434 = (($433) + 8|0); + $434 = ((($433)) + 8|0); $435 = HEAP32[$434>>2]|0; $436 = HEAP32[$regRecord>>2]|0; (_sqlite3VdbeAddOp2($432,110,$435,$436)|0); @@ -122723,7 +123761,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { _sqlite3VdbeChangeP5($437,16); $438 = HEAP32[$v>>2]|0; $439 = HEAP32[$6>>2]|0; - $440 = (($439) + 4|0); + $440 = ((($439)) + 4|0); $441 = HEAP32[$440>>2]|0; $442 = HEAP32[$addrTop>>2]|0; $443 = (($442) + 1)|0; @@ -122755,30 +123793,34 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $flags = 0, $iId = 0, $isSearch = 0, $pIdx = 0, $pItem = 0, $pLoop = 0, $str = 0, $v = 0, $vararg_buffer10 = 0, $vararg_ptr13 = 0, $zBuf = 0, $zFmt = 0; - var $zMsg = 0, $zRange = 0, label = 0, sp = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $flags = 0, $iId = 0, $isSearch = 0, $pIdx = 0, $pItem = 0, $pLoop = 0, $str = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0; + var $vararg_buffer7 = 0, $vararg_ptr13 = 0, $zBuf = 0, $zFmt = 0, $zMsg = 0, $zRange = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $vararg_buffer10 = sp; - $0 = sp + 96|0; - $1 = sp + 92|0; - $2 = sp + 88|0; - $3 = sp + 84|0; - $4 = sp + 80|0; - $5 = sp + 100|0; - $pItem = sp + 76|0; - $v = sp + 72|0; - $db = sp + 68|0; - $iId = sp + 64|0; - $isSearch = sp + 60|0; - $pLoop = sp + 56|0; - $flags = sp + 52|0; - $zMsg = sp + 48|0; - $str = sp + 20|0; - $zBuf = sp + 104|0; - $zFmt = sp + 16|0; - $pIdx = sp + 12|0; - $zRange = sp + 8|0; + STACKTOP = STACKTOP + 240|0; + $vararg_buffer10 = sp + 24|0; + $vararg_buffer7 = sp + 8|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 32|0; + $vararg_buffer = sp; + $0 = sp + 112|0; + $1 = sp + 104|0; + $2 = sp + 84|0; + $3 = sp + 72|0; + $4 = sp + 40|0; + $5 = sp + 128|0; + $pItem = sp + 108|0; + $v = sp + 116|0; + $db = sp + 76|0; + $iId = sp + 80|0; + $isSearch = sp + 88|0; + $pLoop = sp + 36|0; + $flags = sp + 92|0; + $zMsg = sp + 96|0; + $str = sp + 44|0; + $zBuf = sp + 132|0; + $zFmt = sp + 100|0; + $pIdx = sp + 120|0; + $zRange = sp + 124|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTabList; HEAP32[$2>>2] = $pLevel; @@ -122786,7 +123828,7 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { HEAP32[$4>>2] = $iFrom; HEAP16[$5>>1] = $wctrlFlags; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 450|0); + $7 = ((($6)) + 450|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)==(2); @@ -122794,30 +123836,30 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { STACKTOP = sp;return; } $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 36|0); + $12 = ((($11)) + 36|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = (($16) + (($14*72)|0)|0); HEAP32[$pItem>>2] = $17; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; HEAP32[$v>>2] = $20; $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$21>>2]|0; HEAP32[$db>>2] = $22; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 464|0); + $24 = ((($23)) + 464|0); $25 = HEAP32[$24>>2]|0; HEAP32[$iId>>2] = $25; $26 = HEAP32[$2>>2]|0; - $27 = (($26) + 56|0); + $27 = ((($26)) + 56|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pLoop>>2] = $28; $29 = HEAP32[$pLoop>>2]|0; - $30 = (($29) + 36|0); + $30 = ((($29)) + 36|0); $31 = HEAP32[$30>>2]|0; HEAP32[$flags>>2] = $31; $32 = HEAP32[$flags>>2]|0; @@ -122845,7 +123887,7 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { $44 = ($43|0)==(0); if ($44) { $45 = HEAP32[$pLoop>>2]|0; - $46 = (($45) + 24|0); + $46 = ((($45)) + 24|0); $47 = HEAP16[$46>>1]|0; $48 = $47&65535; $49 = ($48|0)>(0); @@ -122868,35 +123910,35 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { HEAP32[$str>>2] = $56; $57 = HEAP32[$isSearch>>2]|0; $58 = ($57|0)!=(0); - $59 = $58 ? 23640 : 23648; + $59 = $58 ? 26167 : 26174; _sqlite3StrAccumAppendAll($str,$59); $60 = HEAP32[$pItem>>2]|0; - $61 = (($60) + 20|0); + $61 = ((($60)) + 20|0); $62 = HEAP32[$61>>2]|0; $63 = ($62|0)!=(0|0); $64 = HEAP32[$pItem>>2]|0; if ($63) { - $65 = (($64) + 38|0); + $65 = ((($64)) + 38|0); $66 = HEAP8[$65>>0]|0; $67 = $66&255; - HEAP32[$vararg_buffer10>>2] = $67; - _sqlite3XPrintf($str,0,23656,$vararg_buffer10); + HEAP32[$vararg_buffer>>2] = $67; + _sqlite3XPrintf($str,0,26179,$vararg_buffer); } else { - $68 = (($64) + 8|0); + $68 = ((($64)) + 8|0); $69 = HEAP32[$68>>2]|0; - HEAP32[$vararg_buffer10>>2] = $69; - _sqlite3XPrintf($str,0,23672,$vararg_buffer10); + HEAP32[$vararg_buffer1>>2] = $69; + _sqlite3XPrintf($str,0,26192,$vararg_buffer1); } $70 = HEAP32[$pItem>>2]|0; - $71 = (($70) + 12|0); + $71 = ((($70)) + 12|0); $72 = HEAP32[$71>>2]|0; $73 = ($72|0)!=(0|0); if ($73) { $74 = HEAP32[$pItem>>2]|0; - $75 = (($74) + 12|0); + $75 = ((($74)) + 12|0); $76 = HEAP32[$75>>2]|0; - HEAP32[$vararg_buffer10>>2] = $76; - _sqlite3XPrintf($str,0,23688,$vararg_buffer10); + HEAP32[$vararg_buffer4>>2] = $76; + _sqlite3XPrintf($str,0,26202,$vararg_buffer4); } $77 = HEAP32[$flags>>2]|0; $78 = $77 & 1280; @@ -122905,14 +123947,14 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { if ($79) { HEAP32[$zFmt>>2] = 0; $80 = HEAP32[$pLoop>>2]|0; - $81 = (($80) + 24|0); - $82 = (($81) + 4|0); + $81 = ((($80)) + 24|0); + $82 = ((($81)) + 4|0); $83 = HEAP32[$82>>2]|0; HEAP32[$pIdx>>2] = $83; $84 = HEAP32[$pItem>>2]|0; - $85 = (($84) + 16|0); + $85 = ((($84)) + 16|0); $86 = HEAP32[$85>>2]|0; - $87 = (($86) + 44|0); + $87 = ((($86)) + 44|0); $88 = HEAP8[$87>>0]|0; $89 = $88&255; $90 = $89 & 32; @@ -122921,7 +123963,7 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { label = 18; } else { $92 = HEAP32[$pIdx>>2]|0; - $93 = (($92) + 55|0); + $93 = ((($92)) + 55|0); $94 = HEAP8[$93>>0]|0; $95 = $94 & 3; $96 = $95&255; @@ -122930,7 +123972,7 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { $98 = HEAP32[$isSearch>>2]|0; $99 = ($98|0)!=(0); if ($99) { - HEAP32[$zFmt>>2] = 23696; + HEAP32[$zFmt>>2] = 26209; } } else { label = 18; @@ -122942,17 +123984,17 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { $101 = $100 & 16384; $102 = ($101|0)!=(0); if ($102) { - HEAP32[$zFmt>>2] = 23712; + HEAP32[$zFmt>>2] = 26221; break; } $103 = HEAP32[$flags>>2]|0; $104 = $103 & 64; $105 = ($104|0)!=(0); if ($105) { - HEAP32[$zFmt>>2] = 23744; + HEAP32[$zFmt>>2] = 26246; break; } else { - HEAP32[$zFmt>>2] = 23768; + HEAP32[$zFmt>>2] = 26264; break; } } @@ -122960,15 +124002,15 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { $106 = HEAP32[$zFmt>>2]|0; $107 = ($106|0)!=(0|0); if ($107) { - _sqlite3StrAccumAppend($str,23784,7); + _sqlite3StrAccumAppend($str,26273,7); $108 = HEAP32[$zFmt>>2]|0; $109 = HEAP32[$pIdx>>2]|0; $110 = HEAP32[$109>>2]|0; - HEAP32[$vararg_buffer10>>2] = $110; - _sqlite3XPrintf($str,0,$108,$vararg_buffer10); + HEAP32[$vararg_buffer7>>2] = $110; + _sqlite3XPrintf($str,0,$108,$vararg_buffer7); $111 = HEAP32[$pLoop>>2]|0; $112 = HEAP32[$pItem>>2]|0; - $113 = (($112) + 16|0); + $113 = ((($112)) + 16|0); $114 = HEAP32[$113>>2]|0; _explainIndexRange($str,$111,$114); } @@ -122986,28 +124028,28 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { $123 = ($122|0)!=(0); do { if ($123) { - HEAP32[$zRange>>2] = 23792; + HEAP32[$zRange>>2] = 26281; } else { $124 = HEAP32[$flags>>2]|0; $125 = $124 & 48; $126 = ($125|0)==(48); if ($126) { - HEAP32[$zRange>>2] = 23808; + HEAP32[$zRange>>2] = 26291; break; } $127 = HEAP32[$flags>>2]|0; $128 = $127 & 32; $129 = ($128|0)!=(0); if ($129) { - HEAP32[$zRange>>2] = 23832; + HEAP32[$zRange>>2] = 26313; break; } else { - HEAP32[$zRange>>2] = 23848; + HEAP32[$zRange>>2] = 26323; break; } } } while(0); - _sqlite3StrAccumAppendAll($str,23864); + _sqlite3StrAccumAppendAll($str,26333); $130 = HEAP32[$zRange>>2]|0; _sqlite3StrAccumAppendAll($str,$130); break; @@ -123018,16 +124060,16 @@ function _explainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$wctrlFlags) { $133 = ($132|0)!=(0); if ($133) { $134 = HEAP32[$pLoop>>2]|0; - $135 = (($134) + 24|0); + $135 = ((($134)) + 24|0); $136 = HEAP32[$135>>2]|0; $137 = HEAP32[$pLoop>>2]|0; - $138 = (($137) + 24|0); - $139 = (($138) + 8|0); + $138 = ((($137)) + 24|0); + $139 = ((($138)) + 8|0); $140 = HEAP32[$139>>2]|0; HEAP32[$vararg_buffer10>>2] = $136; - $vararg_ptr13 = (($vararg_buffer10) + 4|0); + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $140; - _sqlite3XPrintf($str,0,23896,$vararg_buffer10); + _sqlite3XPrintf($str,0,26361,$vararg_buffer10); } } } while(0); @@ -123074,152 +124116,152 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { var $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0; var $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0; var $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0; - var $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; - var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; - var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0; - var $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0; - var $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0; - var $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0; - var $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0; - var $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0; - var $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0; - var $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0; - var $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0; - var $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0; - var $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0; - var $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0; - var $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0; - var $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0; - var $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0; - var $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0; - var $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0; - var $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0; - var $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0; - var $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0; - var $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0; - var $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0; - var $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0; - var $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0; - var $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0; - var $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0; - var $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0; - var $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0; - var $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0; - var $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0; - var $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0; - var $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0; - var $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0; - var $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addrBrk = 0, $addrCont = 0, $addrNotFound = 0, $addrNxt = 0, $bRev = 0, $bSeekPastNull = 0, $bStopAtNull = 0, $cEndAff = 0, $db = 0, $endEq = 0, $iCol = 0, $iCovCur = 0; - var $iCur = 0, $iIdxCur = 0, $iLoopBody = 0, $iPk = 0, $iReg = 0, $iReleaseReg = 0, $iRetInit = 0, $iRowidReg = 0, $iSet = 0, $iTarget = 0, $iTerm = 0, $ii = 0, $j = 0, $j1 = 0, $k = 0, $memEndValue = 0, $nConstraint = 0, $nConstraint2 = 0, $nEq = 0, $nExtraReg = 0; - var $nNotReady = 0, $nPk = 0, $omitTable = 0, $op = 0, $or$cond = 0, $origSrc = 0, $pAlt = 0, $pAndExpr = 0, $pCov = 0, $pE = 0, $pE7 = 0, $pEAlt = 0, $pEnd = 0, $pExpr = 0, $pIdx = 0, $pLevel = 0, $pLoop = 0, $pOrExpr = 0, $pOrTab = 0, $pOrTerm = 0; + var $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0; + var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; + var $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0; + var $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0; + var $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0; + var $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0; + var $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0; + var $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0; + var $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0; + var $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0; + var $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0; + var $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0; + var $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0; + var $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0; + var $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0; + var $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0; + var $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0; + var $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0; + var $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0; + var $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0; + var $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0; + var $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0; + var $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0; + var $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0; + var $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0; + var $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0; + var $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0; + var $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0; + var $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0; + var $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0; + var $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0; + var $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0; + var $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0; + var $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0; + var $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0; + var $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0; + var $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0; + var $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0; + var $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0; + var $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addrBrk = 0, $addrCont = 0, $addrNotFound = 0, $addrNxt = 0, $bRev = 0, $bSeekPastNull = 0, $bStopAtNull = 0, $cEndAff = 0, $db = 0, $endEq = 0, $iCol = 0; + var $iCovCur = 0, $iCur = 0, $iIdxCur = 0, $iLoopBody = 0, $iPk = 0, $iReg = 0, $iReleaseReg = 0, $iRetInit = 0, $iRowidReg = 0, $iSet = 0, $iTarget = 0, $iTerm = 0, $ii = 0, $j = 0, $j1 = 0, $k = 0, $memEndValue = 0, $nConstraint = 0, $nConstraint2 = 0, $nEq = 0; + var $nExtraReg = 0, $nNotReady = 0, $nPk = 0, $omitTable = 0, $op = 0, $origSrc = 0, $pAlt = 0, $pAndExpr = 0, $pCov = 0, $pE = 0, $pE7 = 0, $pEAlt = 0, $pEnd = 0, $pExpr = 0, $pIdx = 0, $pLevel = 0, $pLoop = 0, $pOrExpr = 0, $pOrTab = 0, $pOrTerm = 0; var $pOrWc = 0, $pParse = 0, $pPk = 0, $pPk5 = 0, $pPk6 = 0, $pRangeEnd = 0, $pRangeStart = 0, $pRight = 0, $pRight4 = 0, $pStart = 0, $pSubLoop = 0, $pSubWInfo = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pWC = 0, $pX = 0, $pX1 = 0, $r = 0, $r1 = 0; var $rTemp = 0, $regBase = 0, $regReturn = 0, $regRowid = 0, $regRowset = 0, $regYield = 0, $start = 0, $startEq = 0, $start_constraints = 0, $t = 0, $t3 = 0, $testOp = 0, $untestedTerms = 0, $v = 0, $wctrlFlags = 0, $zStartAff = 0, dest = 0, label = 0, sp = 0, src = 0; var stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 368|0; $2 = sp + 8|0; - $3 = sp + 344|0; - $4 = sp + 340|0; + $3 = sp + 188|0; + $4 = sp + 136|0; $5 = sp; - $j = sp + 336|0; - $k = sp + 332|0; - $iCur = sp + 328|0; - $addrNxt = sp + 324|0; - $omitTable = sp + 320|0; - $bRev = sp + 316|0; - $pLevel = sp + 312|0; - $pLoop = sp + 308|0; - $pWC = sp + 304|0; - $pTerm = sp + 300|0; - $pParse = sp + 296|0; - $db = sp + 292|0; - $v = sp + 288|0; - $pTabItem = sp + 284|0; - $addrBrk = sp + 280|0; - $addrCont = sp + 276|0; - $iRowidReg = sp + 272|0; - $iReleaseReg = sp + 268|0; - $regYield = sp + 264|0; - $iReg = sp + 260|0; - $addrNotFound = sp + 256|0; - $nConstraint = sp + 252|0; - $iTarget = sp + 248|0; - $testOp = sp + 244|0; - $start = sp + 240|0; - $memEndValue = sp + 236|0; - $pStart = sp + 232|0; - $pEnd = sp + 228|0; - $pX = sp + 224|0; - $r1 = sp + 220|0; - $rTemp = sp + 216|0; - $pX1 = sp + 212|0; - $nEq = sp + 350|0; - $regBase = sp + 208|0; - $pRangeStart = sp + 204|0; - $pRangeEnd = sp + 200|0; - $startEq = sp + 196|0; - $endEq = sp + 192|0; - $start_constraints = sp + 188|0; - $nConstraint2 = sp + 184|0; - $pIdx = sp + 180|0; - $iIdxCur = sp + 176|0; - $nExtraReg = sp + 172|0; - $op = sp + 168|0; - $zStartAff = sp + 164|0; - $cEndAff = sp + 355|0; - $bSeekPastNull = sp + 354|0; - $bStopAtNull = sp + 353|0; - $t = sp + 160|0; - $t3 = sp + 352|0; - $pRight = sp + 156|0; - $pRight4 = sp + 152|0; - $pPk = sp + 148|0; - $pOrWc = sp + 144|0; - $pOrTab = sp + 140|0; - $pCov = sp + 136|0; - $iCovCur = sp + 132|0; - $regReturn = sp + 128|0; - $regRowset = sp + 124|0; - $regRowid = sp + 120|0; - $iLoopBody = sp + 116|0; - $iRetInit = sp + 112|0; - $untestedTerms = sp + 108|0; - $ii = sp + 104|0; - $wctrlFlags = sp + 348|0; - $pAndExpr = sp + 100|0; - $pTab = sp + 96|0; - $nNotReady = sp + 92|0; - $origSrc = sp + 88|0; - $pPk5 = sp + 84|0; - $iTerm = sp + 80|0; - $pExpr = sp + 76|0; - $pOrTerm = sp + 72|0; - $pSubWInfo = sp + 68|0; - $pOrExpr = sp + 64|0; - $j1 = sp + 60|0; - $pSubLoop = sp + 56|0; - $r = sp + 52|0; - $iSet = sp + 48|0; - $pPk6 = sp + 44|0; - $nPk = sp + 40|0; - $iPk = sp + 36|0; - $iCol = sp + 32|0; - $pE = sp + 28|0; - $pE7 = sp + 24|0; - $pEAlt = sp + 20|0; - $pAlt = sp + 16|0; + $j = sp + 28|0; + $k = sp + 288|0; + $iCur = sp + 296|0; + $addrNxt = sp + 16|0; + $omitTable = sp + 56|0; + $bRev = sp + 32|0; + $pLevel = sp + 36|0; + $pLoop = sp + 40|0; + $pWC = sp + 44|0; + $pTerm = sp + 48|0; + $pParse = sp + 52|0; + $db = sp + 280|0; + $v = sp + 116|0; + $pTabItem = sp + 60|0; + $addrBrk = sp + 64|0; + $addrCont = sp + 68|0; + $iRowidReg = sp + 72|0; + $iReleaseReg = sp + 76|0; + $regYield = sp + 80|0; + $iReg = sp + 84|0; + $addrNotFound = sp + 88|0; + $nConstraint = sp + 92|0; + $iTarget = sp + 96|0; + $testOp = sp + 100|0; + $start = sp + 104|0; + $memEndValue = sp + 108|0; + $pStart = sp + 112|0; + $pEnd = sp + 276|0; + $pX = sp + 164|0; + $r1 = sp + 120|0; + $rTemp = sp + 124|0; + $pX1 = sp + 128|0; + $nEq = sp + 348|0; + $regBase = sp + 304|0; + $pRangeStart = sp + 312|0; + $pRangeEnd = sp + 320|0; + $startEq = sp + 328|0; + $endEq = sp + 336|0; + $start_constraints = sp + 340|0; + $nConstraint2 = sp + 156|0; + $pIdx = sp + 160|0; + $iIdxCur = sp + 344|0; + $nExtraReg = sp + 168|0; + $op = sp + 172|0; + $zStartAff = sp + 176|0; + $cEndAff = sp + 352|0; + $bSeekPastNull = sp + 353|0; + $bStopAtNull = sp + 354|0; + $t = sp + 192|0; + $t3 = sp + 355|0; + $pRight = sp + 200|0; + $pRight4 = sp + 204|0; + $pPk = sp + 208|0; + $pOrWc = sp + 212|0; + $pOrTab = sp + 216|0; + $pCov = sp + 220|0; + $iCovCur = sp + 224|0; + $regReturn = sp + 228|0; + $regRowset = sp + 232|0; + $regRowid = sp + 272|0; + $iLoopBody = sp + 236|0; + $iRetInit = sp + 240|0; + $untestedTerms = sp + 244|0; + $ii = sp + 248|0; + $wctrlFlags = sp + 350|0; + $pAndExpr = sp + 256|0; + $pTab = sp + 260|0; + $nNotReady = sp + 264|0; + $origSrc = sp + 268|0; + $pPk5 = sp + 24|0; + $iTerm = sp + 292|0; + $pExpr = sp + 20|0; + $pOrTerm = sp + 300|0; + $pSubWInfo = sp + 140|0; + $pOrExpr = sp + 308|0; + $j1 = sp + 284|0; + $pSubLoop = sp + 144|0; + $r = sp + 316|0; + $iSet = sp + 148|0; + $pPk6 = sp + 324|0; + $nPk = sp + 152|0; + $iPk = sp + 252|0; + $iCol = sp + 196|0; + $pE = sp + 332|0; + $pE7 = sp + 184|0; + $pEAlt = sp + 180|0; + $pAlt = sp + 132|0; HEAP32[$3>>2] = $pWInfo; HEAP32[$4>>2] = $iLevel; $6 = $5; @@ -123234,36 +124276,36 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $11 = HEAP32[$10>>2]|0; HEAP32[$pParse>>2] = $11; $12 = HEAP32[$pParse>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); $14 = HEAP32[$13>>2]|0; HEAP32[$v>>2] = $14; $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 328|0); + $16 = ((($15)) + 328|0); HEAP32[$pWC>>2] = $16; $17 = HEAP32[$pParse>>2]|0; $18 = HEAP32[$17>>2]|0; HEAP32[$db>>2] = $18; $19 = HEAP32[$4>>2]|0; $20 = HEAP32[$3>>2]|0; - $21 = (($20) + 736|0); + $21 = ((($20)) + 736|0); $22 = (($21) + (($19*72)|0)|0); HEAP32[$pLevel>>2] = $22; $23 = HEAP32[$pLevel>>2]|0; - $24 = (($23) + 56|0); + $24 = ((($23)) + 56|0); $25 = HEAP32[$24>>2]|0; HEAP32[$pLoop>>2] = $25; $26 = HEAP32[$pLevel>>2]|0; - $27 = (($26) + 36|0); + $27 = ((($26)) + 36|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = HEAP32[$3>>2]|0; - $31 = (($30) + 4|0); + $31 = ((($30)) + 4|0); $32 = HEAP32[$31>>2]|0; - $33 = (($32) + 8|0); + $33 = ((($32)) + 8|0); $34 = (($33) + (($29*72)|0)|0); HEAP32[$pTabItem>>2] = $34; $35 = HEAP32[$pTabItem>>2]|0; - $36 = (($35) + 40|0); + $36 = ((($35)) + 40|0); $37 = HEAP32[$36>>2]|0; HEAP32[$iCur>>2] = $37; $38 = $5; @@ -123273,7 +124315,7 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $42 = $41; $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$3>>2]|0; - $45 = (($44) + 68|0); + $45 = ((($44)) + 68|0); $46 = HEAP32[$iCur>>2]|0; $47 = (_getMask($45,$46)|0); $48 = tempRet0; @@ -123282,7 +124324,7 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $51 = $40 & $49; $52 = $43 & $50; $53 = HEAP32[$pLevel>>2]|0; - $54 = (($53) + 64|0); + $54 = ((($53)) + 64|0); $55 = $54; $56 = $55; HEAP32[$56>>2] = $51; @@ -123290,7 +124332,7 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $58 = $57; HEAP32[$58>>2] = $52; $59 = HEAP32[$3>>2]|0; - $60 = (($59) + 24|0); + $60 = ((($59)) + 24|0); $61 = $60; $62 = $61; $63 = HEAP32[$62>>2]|0; @@ -123303,13 +124345,13 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $70 = $68 & 1; HEAP32[$bRev>>2] = $70; $71 = HEAP32[$pLoop>>2]|0; - $72 = (($71) + 36|0); + $72 = ((($71)) + 36|0); $73 = HEAP32[$72>>2]|0; $74 = $73 & 64; $75 = ($74|0)!=(0); if ($75) { $76 = HEAP32[$3>>2]|0; - $77 = (($76) + 34|0); + $77 = ((($76)) + 34|0); $78 = HEAP16[$77>>1]|0; $79 = $78&65535; $80 = $79 & 32; @@ -123323,33 +124365,33 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $84 = HEAP32[$v>>2]|0; $85 = (_sqlite3VdbeMakeLabel($84)|0); $86 = HEAP32[$pLevel>>2]|0; - $87 = (($86) + 16|0); + $87 = ((($86)) + 16|0); HEAP32[$87>>2] = $85; $88 = HEAP32[$pLevel>>2]|0; - $89 = (($88) + 12|0); + $89 = ((($88)) + 12|0); HEAP32[$89>>2] = $85; HEAP32[$addrBrk>>2] = $85; $90 = HEAP32[$v>>2]|0; $91 = (_sqlite3VdbeMakeLabel($90)|0); $92 = HEAP32[$pLevel>>2]|0; - $93 = (($92) + 24|0); + $93 = ((($92)) + 24|0); HEAP32[$93>>2] = $91; HEAP32[$addrCont>>2] = $91; $94 = HEAP32[$pLevel>>2]|0; - $95 = (($94) + 36|0); + $95 = ((($94)) + 36|0); $96 = HEAP8[$95>>0]|0; $97 = $96&255; $98 = ($97|0)>(0); if ($98) { $99 = HEAP32[$pTabItem>>2]|0; - $100 = (($99) + 36|0); + $100 = ((($99)) + 36|0); $101 = HEAP8[$100>>0]|0; $102 = $101&255; $103 = $102 & 8; $104 = ($103|0)!=(0); if ($104) { $105 = HEAP32[$pParse>>2]|0; - $106 = (($105) + 72|0); + $106 = ((($105)) + 72|0); $107 = HEAP32[$106>>2]|0; $108 = (($107) + 1)|0; HEAP32[$106>>2] = $108; @@ -123362,7 +124404,7 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { } } $113 = HEAP32[$pTabItem>>2]|0; - $114 = (($113) + 37|0); + $114 = ((($113)) + 37|0); $115 = HEAP8[$114>>0]|0; $116 = ($115&255) >>> 2; $117 = $116 & 1; @@ -123371,13 +124413,13 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { do { if ($119) { $120 = HEAP32[$pTabItem>>2]|0; - $121 = (($120) + 28|0); + $121 = ((($120)) + 28|0); $122 = HEAP32[$121>>2]|0; HEAP32[$regYield>>2] = $122; $123 = HEAP32[$v>>2]|0; $124 = HEAP32[$regYield>>2]|0; $125 = HEAP32[$pTabItem>>2]|0; - $126 = (($125) + 24|0); + $126 = ((($125)) + 24|0); $127 = HEAP32[$126>>2]|0; (_sqlite3VdbeAddOp3($123,20,$124,0,$127)|0); $128 = HEAP32[$v>>2]|0; @@ -123385,20 +124427,20 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $130 = HEAP32[$addrBrk>>2]|0; $131 = (_sqlite3VdbeAddOp2($128,22,$129,$130)|0); $132 = HEAP32[$pLevel>>2]|0; - $133 = (($132) + 44|0); + $133 = ((($132)) + 44|0); HEAP32[$133>>2] = $131; $134 = HEAP32[$pLevel>>2]|0; - $135 = (($134) + 37|0); + $135 = ((($134)) + 37|0); HEAP8[$135>>0] = 16; } else { $136 = HEAP32[$pLoop>>2]|0; - $137 = (($136) + 36|0); + $137 = ((($136)) + 36|0); $138 = HEAP32[$137>>2]|0; $139 = $138 & 1024; $140 = ($139|0)!=(0); $141 = HEAP32[$pLoop>>2]|0; if ($140) { - $142 = (($141) + 40|0); + $142 = ((($141)) + 40|0); $143 = HEAP16[$142>>1]|0; $144 = $143&65535; HEAP32[$nConstraint>>2] = $144; @@ -123410,7 +124452,7 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $149 = (_sqlite3GetTempRange($146,$148)|0); HEAP32[$iReg>>2] = $149; $150 = HEAP32[$pLevel>>2]|0; - $151 = (($150) + 12|0); + $151 = ((($150)) + 12|0); $152 = HEAP32[$151>>2]|0; HEAP32[$addrNotFound>>2] = $152; HEAP32[$j>>2] = 0; @@ -123428,7 +124470,7 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { HEAP32[$iTarget>>2] = $159; $160 = HEAP32[$j>>2]|0; $161 = HEAP32[$pLoop>>2]|0; - $162 = (($161) + 44|0); + $162 = ((($161)) + 44|0); $163 = HEAP32[$162>>2]|0; $164 = (($163) + ($160<<2)|0); $165 = HEAP32[$164>>2]|0; @@ -123438,7 +124480,7 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { do { if (!($167)) { $168 = HEAP32[$pTerm>>2]|0; - $169 = (($168) + 18|0); + $169 = ((($168)) + 18|0); $170 = HEAP16[$169>>1]|0; $171 = $170&65535; $172 = $171 & 1; @@ -123452,13 +124494,13 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $179 = HEAP32[$iTarget>>2]|0; (_codeEqualityTerm($174,$175,$176,$177,$178,$179)|0); $180 = HEAP32[$pLevel>>2]|0; - $181 = (($180) + 16|0); + $181 = ((($180)) + 16|0); $182 = HEAP32[$181>>2]|0; HEAP32[$addrNotFound>>2] = $182; break; } else { $183 = HEAP32[$175>>2]|0; - $184 = (($183) + 16|0); + $184 = ((($183)) + 16|0); $185 = HEAP32[$184>>2]|0; $186 = HEAP32[$iTarget>>2]|0; _sqlite3ExprCode($174,$185,$186); @@ -123472,7 +124514,7 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { } $189 = HEAP32[$v>>2]|0; $190 = HEAP32[$pLoop>>2]|0; - $191 = (($190) + 24|0); + $191 = ((($190)) + 24|0); $192 = HEAP32[$191>>2]|0; $193 = HEAP32[$iReg>>2]|0; (_sqlite3VdbeAddOp2($189,25,$192,$193)|0); @@ -123486,20 +124528,20 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $200 = HEAP32[$addrNotFound>>2]|0; $201 = HEAP32[$iReg>>2]|0; $202 = HEAP32[$pLoop>>2]|0; - $203 = (($202) + 24|0); - $204 = (($203) + 8|0); + $203 = ((($202)) + 24|0); + $204 = ((($203)) + 8|0); $205 = HEAP32[$204>>2]|0; $206 = HEAP32[$pLoop>>2]|0; - $207 = (($206) + 24|0); - $208 = (($207) + 4|0); + $207 = ((($206)) + 24|0); + $208 = ((($207)) + 4|0); $209 = HEAP8[$208>>0]|0; $210 = $209&255; $211 = ($210|0)!=(0); $212 = $211 ? -11 : -2; (_sqlite3VdbeAddOp4($198,14,$199,$200,$201,$205,$212)|0); $213 = HEAP32[$pLoop>>2]|0; - $214 = (($213) + 24|0); - $215 = (($214) + 4|0); + $214 = ((($213)) + 24|0); + $215 = ((($214)) + 4|0); HEAP8[$215>>0] = 0; HEAP32[$j>>2] = 0; while(1) { @@ -123508,473 +124550,473 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { $218 = ($216|0)<($217|0); $219 = HEAP32[$j>>2]|0; $220 = ($219|0)<(16); - $or$cond = $218 & $220; - if (!($or$cond)) { + $221 = $218 ? $220 : 0; + if (!($221)) { break; } - $221 = HEAP32[$pLoop>>2]|0; - $222 = (($221) + 24|0); - $223 = (($222) + 6|0); - $224 = HEAP16[$223>>1]|0; - $225 = $224&65535; - $226 = HEAP32[$j>>2]|0; - $227 = $225 >> $226; - $228 = $227 & 1; - $229 = ($228|0)!=(0); - if ($229) { - $230 = HEAP32[$pLevel>>2]|0; - $231 = HEAP32[$j>>2]|0; - $232 = HEAP32[$pLoop>>2]|0; - $233 = (($232) + 44|0); - $234 = HEAP32[$233>>2]|0; - $235 = (($234) + ($231<<2)|0); - $236 = HEAP32[$235>>2]|0; - _disableTerm($230,$236); - } - $237 = HEAP32[$j>>2]|0; - $238 = (($237) + 1)|0; - HEAP32[$j>>2] = $238; - } - $239 = HEAP32[$pLevel>>2]|0; - $240 = (($239) + 37|0); - HEAP8[$240>>0] = -107; - $241 = HEAP32[$iCur>>2]|0; - $242 = HEAP32[$pLevel>>2]|0; - $243 = (($242) + 40|0); - HEAP32[$243>>2] = $241; - $244 = HEAP32[$v>>2]|0; - $245 = (_sqlite3VdbeCurrentAddr($244)|0); - $246 = HEAP32[$pLevel>>2]|0; - $247 = (($246) + 44|0); - HEAP32[$247>>2] = $245; - $248 = HEAP32[$pParse>>2]|0; - $249 = HEAP32[$iReg>>2]|0; - $250 = HEAP32[$nConstraint>>2]|0; - $251 = (($250) + 2)|0; - _sqlite3ReleaseTempRange($248,$249,$251); - $252 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCachePop($252); - break; - } - $253 = (($141) + 36|0); - $254 = HEAP32[$253>>2]|0; - $255 = $254 & 256; - $256 = ($255|0)!=(0); - if ($256) { - $257 = HEAP32[$pLoop>>2]|0; - $258 = (($257) + 36|0); - $259 = HEAP32[$258>>2]|0; - $260 = $259 & 5; - $261 = ($260|0)!=(0); - if ($261) { - $262 = HEAP32[$pLoop>>2]|0; - $263 = (($262) + 44|0); - $264 = HEAP32[$263>>2]|0; + $222 = HEAP32[$pLoop>>2]|0; + $223 = ((($222)) + 24|0); + $224 = ((($223)) + 6|0); + $225 = HEAP16[$224>>1]|0; + $226 = $225&65535; + $227 = HEAP32[$j>>2]|0; + $228 = $226 >> $227; + $229 = $228 & 1; + $230 = ($229|0)!=(0); + if ($230) { + $231 = HEAP32[$pLevel>>2]|0; + $232 = HEAP32[$j>>2]|0; + $233 = HEAP32[$pLoop>>2]|0; + $234 = ((($233)) + 44|0); + $235 = HEAP32[$234>>2]|0; + $236 = (($235) + ($232<<2)|0); + $237 = HEAP32[$236>>2]|0; + _disableTerm($231,$237); + } + $238 = HEAP32[$j>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$j>>2] = $239; + } + $240 = HEAP32[$pLevel>>2]|0; + $241 = ((($240)) + 37|0); + HEAP8[$241>>0] = -107; + $242 = HEAP32[$iCur>>2]|0; + $243 = HEAP32[$pLevel>>2]|0; + $244 = ((($243)) + 40|0); + HEAP32[$244>>2] = $242; + $245 = HEAP32[$v>>2]|0; + $246 = (_sqlite3VdbeCurrentAddr($245)|0); + $247 = HEAP32[$pLevel>>2]|0; + $248 = ((($247)) + 44|0); + HEAP32[$248>>2] = $246; + $249 = HEAP32[$pParse>>2]|0; + $250 = HEAP32[$iReg>>2]|0; + $251 = HEAP32[$nConstraint>>2]|0; + $252 = (($251) + 2)|0; + _sqlite3ReleaseTempRange($249,$250,$252); + $253 = HEAP32[$pParse>>2]|0; + _sqlite3ExprCachePop($253); + break; + } + $254 = ((($141)) + 36|0); + $255 = HEAP32[$254>>2]|0; + $256 = $255 & 256; + $257 = ($256|0)!=(0); + if ($257) { + $258 = HEAP32[$pLoop>>2]|0; + $259 = ((($258)) + 36|0); + $260 = HEAP32[$259>>2]|0; + $261 = $260 & 5; + $262 = ($261|0)!=(0); + if ($262) { + $263 = HEAP32[$pLoop>>2]|0; + $264 = ((($263)) + 44|0); $265 = HEAP32[$264>>2]|0; - HEAP32[$pTerm>>2] = $265; - $266 = HEAP32[$pParse>>2]|0; - $267 = (($266) + 72|0); - $268 = HEAP32[$267>>2]|0; - $269 = (($268) + 1)|0; - HEAP32[$267>>2] = $269; - HEAP32[$iReleaseReg>>2] = $269; - $270 = HEAP32[$pParse>>2]|0; - $271 = HEAP32[$pTerm>>2]|0; - $272 = HEAP32[$pLevel>>2]|0; - $273 = HEAP32[$bRev>>2]|0; - $274 = HEAP32[$iReleaseReg>>2]|0; - $275 = (_codeEqualityTerm($270,$271,$272,0,$273,$274)|0); - HEAP32[$iRowidReg>>2] = $275; - $276 = HEAP32[$iRowidReg>>2]|0; - $277 = HEAP32[$iReleaseReg>>2]|0; - $278 = ($276|0)!=($277|0); - if ($278) { - $279 = HEAP32[$pParse>>2]|0; - $280 = HEAP32[$iReleaseReg>>2]|0; - _sqlite3ReleaseTempReg($279,$280); - } - $281 = HEAP32[$pLevel>>2]|0; - $282 = (($281) + 16|0); - $283 = HEAP32[$282>>2]|0; - HEAP32[$addrNxt>>2] = $283; - $284 = HEAP32[$v>>2]|0; - $285 = HEAP32[$iRowidReg>>2]|0; - $286 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($284,38,$285,$286)|0); - $287 = HEAP32[$v>>2]|0; - $288 = HEAP32[$iCur>>2]|0; - $289 = HEAP32[$addrNxt>>2]|0; - $290 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($287,70,$288,$289,$290)|0); - $291 = HEAP32[$pParse>>2]|0; - $292 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheAffinityChange($291,$292,1); - $293 = HEAP32[$pParse>>2]|0; - $294 = HEAP32[$iCur>>2]|0; - $295 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($293,$294,-1,$295); - $296 = HEAP32[$pLevel>>2]|0; - $297 = (($296) + 37|0); - HEAP8[$297>>0] = -102; + $266 = HEAP32[$265>>2]|0; + HEAP32[$pTerm>>2] = $266; + $267 = HEAP32[$pParse>>2]|0; + $268 = ((($267)) + 72|0); + $269 = HEAP32[$268>>2]|0; + $270 = (($269) + 1)|0; + HEAP32[$268>>2] = $270; + HEAP32[$iReleaseReg>>2] = $270; + $271 = HEAP32[$pParse>>2]|0; + $272 = HEAP32[$pTerm>>2]|0; + $273 = HEAP32[$pLevel>>2]|0; + $274 = HEAP32[$bRev>>2]|0; + $275 = HEAP32[$iReleaseReg>>2]|0; + $276 = (_codeEqualityTerm($271,$272,$273,0,$274,$275)|0); + HEAP32[$iRowidReg>>2] = $276; + $277 = HEAP32[$iRowidReg>>2]|0; + $278 = HEAP32[$iReleaseReg>>2]|0; + $279 = ($277|0)!=($278|0); + if ($279) { + $280 = HEAP32[$pParse>>2]|0; + $281 = HEAP32[$iReleaseReg>>2]|0; + _sqlite3ReleaseTempReg($280,$281); + } + $282 = HEAP32[$pLevel>>2]|0; + $283 = ((($282)) + 16|0); + $284 = HEAP32[$283>>2]|0; + HEAP32[$addrNxt>>2] = $284; + $285 = HEAP32[$v>>2]|0; + $286 = HEAP32[$iRowidReg>>2]|0; + $287 = HEAP32[$addrNxt>>2]|0; + (_sqlite3VdbeAddOp2($285,38,$286,$287)|0); + $288 = HEAP32[$v>>2]|0; + $289 = HEAP32[$iCur>>2]|0; + $290 = HEAP32[$addrNxt>>2]|0; + $291 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp3($288,70,$289,$290,$291)|0); + $292 = HEAP32[$pParse>>2]|0; + $293 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheAffinityChange($292,$293,1); + $294 = HEAP32[$pParse>>2]|0; + $295 = HEAP32[$iCur>>2]|0; + $296 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheStore($294,$295,-1,$296); + $297 = HEAP32[$pLevel>>2]|0; + $298 = ((($297)) + 37|0); + HEAP8[$298>>0] = -102; break; } } - $298 = HEAP32[$pLoop>>2]|0; - $299 = (($298) + 36|0); - $300 = HEAP32[$299>>2]|0; - $301 = $300 & 256; - $302 = ($301|0)!=(0); - if ($302) { - $303 = HEAP32[$pLoop>>2]|0; - $304 = (($303) + 36|0); - $305 = HEAP32[$304>>2]|0; - $306 = $305 & 2; - $307 = ($306|0)!=(0); - if ($307) { + $299 = HEAP32[$pLoop>>2]|0; + $300 = ((($299)) + 36|0); + $301 = HEAP32[$300>>2]|0; + $302 = $301 & 256; + $303 = ($302|0)!=(0); + if ($303) { + $304 = HEAP32[$pLoop>>2]|0; + $305 = ((($304)) + 36|0); + $306 = HEAP32[$305>>2]|0; + $307 = $306 & 2; + $308 = ($307|0)!=(0); + if ($308) { HEAP32[$testOp>>2] = 154; HEAP32[$memEndValue>>2] = 0; HEAP32[$j>>2] = 0; HEAP32[$pEnd>>2] = 0; HEAP32[$pStart>>2] = 0; - $308 = HEAP32[$pLoop>>2]|0; - $309 = (($308) + 36|0); - $310 = HEAP32[$309>>2]|0; - $311 = $310 & 32; - $312 = ($311|0)!=(0); - if ($312) { - $313 = HEAP32[$j>>2]|0; - $314 = (($313) + 1)|0; - HEAP32[$j>>2] = $314; - $315 = HEAP32[$pLoop>>2]|0; - $316 = (($315) + 44|0); - $317 = HEAP32[$316>>2]|0; - $318 = (($317) + ($313<<2)|0); - $319 = HEAP32[$318>>2]|0; - HEAP32[$pStart>>2] = $319; - } - $320 = HEAP32[$pLoop>>2]|0; - $321 = (($320) + 36|0); - $322 = HEAP32[$321>>2]|0; - $323 = $322 & 16; - $324 = ($323|0)!=(0); - if ($324) { - $325 = HEAP32[$j>>2]|0; - $326 = (($325) + 1)|0; - HEAP32[$j>>2] = $326; - $327 = HEAP32[$pLoop>>2]|0; - $328 = (($327) + 44|0); - $329 = HEAP32[$328>>2]|0; - $330 = (($329) + ($325<<2)|0); - $331 = HEAP32[$330>>2]|0; - HEAP32[$pEnd>>2] = $331; - } - $332 = HEAP32[$bRev>>2]|0; - $333 = ($332|0)!=(0); - if ($333) { - $334 = HEAP32[$pStart>>2]|0; - HEAP32[$pTerm>>2] = $334; - $335 = HEAP32[$pEnd>>2]|0; - HEAP32[$pStart>>2] = $335; - $336 = HEAP32[$pTerm>>2]|0; - HEAP32[$pEnd>>2] = $336; - } - $337 = HEAP32[$pStart>>2]|0; - $338 = ($337|0)!=(0|0); - if ($338) { - $339 = HEAP32[$pStart>>2]|0; - $340 = HEAP32[$339>>2]|0; - HEAP32[$pX>>2] = $340; - $341 = HEAP32[$pParse>>2]|0; - $342 = HEAP32[$pX>>2]|0; - $343 = (($342) + 16|0); - $344 = HEAP32[$343>>2]|0; - $345 = (_sqlite3ExprCodeTemp($341,$344,$rTemp)|0); - HEAP32[$r1>>2] = $345; - $346 = HEAP32[$v>>2]|0; - $347 = HEAP32[$pX>>2]|0; - $348 = HEAP8[$347>>0]|0; - $349 = $348&255; - $350 = (($349) - 80)|0; - $351 = (23600 + ($350)|0); - $352 = HEAP8[$351>>0]|0; - $353 = $352&255; - $354 = HEAP32[$iCur>>2]|0; - $355 = HEAP32[$addrBrk>>2]|0; - $356 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($346,$353,$354,$355,$356)|0); - $357 = HEAP32[$pParse>>2]|0; - $358 = HEAP32[$r1>>2]|0; - _sqlite3ExprCacheAffinityChange($357,$358,1); - $359 = HEAP32[$pParse>>2]|0; - $360 = HEAP32[$rTemp>>2]|0; - _sqlite3ReleaseTempReg($359,$360); - $361 = HEAP32[$pLevel>>2]|0; - $362 = HEAP32[$pStart>>2]|0; - _disableTerm($361,$362); + $309 = HEAP32[$pLoop>>2]|0; + $310 = ((($309)) + 36|0); + $311 = HEAP32[$310>>2]|0; + $312 = $311 & 32; + $313 = ($312|0)!=(0); + if ($313) { + $314 = HEAP32[$j>>2]|0; + $315 = (($314) + 1)|0; + HEAP32[$j>>2] = $315; + $316 = HEAP32[$pLoop>>2]|0; + $317 = ((($316)) + 44|0); + $318 = HEAP32[$317>>2]|0; + $319 = (($318) + ($314<<2)|0); + $320 = HEAP32[$319>>2]|0; + HEAP32[$pStart>>2] = $320; + } + $321 = HEAP32[$pLoop>>2]|0; + $322 = ((($321)) + 36|0); + $323 = HEAP32[$322>>2]|0; + $324 = $323 & 16; + $325 = ($324|0)!=(0); + if ($325) { + $326 = HEAP32[$j>>2]|0; + $327 = (($326) + 1)|0; + HEAP32[$j>>2] = $327; + $328 = HEAP32[$pLoop>>2]|0; + $329 = ((($328)) + 44|0); + $330 = HEAP32[$329>>2]|0; + $331 = (($330) + ($326<<2)|0); + $332 = HEAP32[$331>>2]|0; + HEAP32[$pEnd>>2] = $332; + } + $333 = HEAP32[$bRev>>2]|0; + $334 = ($333|0)!=(0); + if ($334) { + $335 = HEAP32[$pStart>>2]|0; + HEAP32[$pTerm>>2] = $335; + $336 = HEAP32[$pEnd>>2]|0; + HEAP32[$pStart>>2] = $336; + $337 = HEAP32[$pTerm>>2]|0; + HEAP32[$pEnd>>2] = $337; + } + $338 = HEAP32[$pStart>>2]|0; + $339 = ($338|0)!=(0|0); + if ($339) { + $340 = HEAP32[$pStart>>2]|0; + $341 = HEAP32[$340>>2]|0; + HEAP32[$pX>>2] = $341; + $342 = HEAP32[$pParse>>2]|0; + $343 = HEAP32[$pX>>2]|0; + $344 = ((($343)) + 16|0); + $345 = HEAP32[$344>>2]|0; + $346 = (_sqlite3ExprCodeTemp($342,$345,$rTemp)|0); + HEAP32[$r1>>2] = $346; + $347 = HEAP32[$v>>2]|0; + $348 = HEAP32[$pX>>2]|0; + $349 = HEAP8[$348>>0]|0; + $350 = $349&255; + $351 = (($350) - 80)|0; + $352 = (26147 + ($351)|0); + $353 = HEAP8[$352>>0]|0; + $354 = $353&255; + $355 = HEAP32[$iCur>>2]|0; + $356 = HEAP32[$addrBrk>>2]|0; + $357 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp3($347,$354,$355,$356,$357)|0); + $358 = HEAP32[$pParse>>2]|0; + $359 = HEAP32[$r1>>2]|0; + _sqlite3ExprCacheAffinityChange($358,$359,1); + $360 = HEAP32[$pParse>>2]|0; + $361 = HEAP32[$rTemp>>2]|0; + _sqlite3ReleaseTempReg($360,$361); + $362 = HEAP32[$pLevel>>2]|0; + $363 = HEAP32[$pStart>>2]|0; + _disableTerm($362,$363); } else { - $363 = HEAP32[$v>>2]|0; - $364 = HEAP32[$bRev>>2]|0; - $365 = ($364|0)!=(0); - $366 = $365 ? 105 : 108; - $367 = HEAP32[$iCur>>2]|0; - $368 = HEAP32[$addrBrk>>2]|0; - (_sqlite3VdbeAddOp2($363,$366,$367,$368)|0); - } - $369 = HEAP32[$pEnd>>2]|0; - $370 = ($369|0)!=(0|0); - if ($370) { - $371 = HEAP32[$pEnd>>2]|0; - $372 = HEAP32[$371>>2]|0; - HEAP32[$pX1>>2] = $372; - $373 = HEAP32[$pParse>>2]|0; - $374 = (($373) + 72|0); - $375 = HEAP32[$374>>2]|0; - $376 = (($375) + 1)|0; - HEAP32[$374>>2] = $376; - HEAP32[$memEndValue>>2] = $376; - $377 = HEAP32[$pParse>>2]|0; - $378 = HEAP32[$pX1>>2]|0; - $379 = (($378) + 16|0); - $380 = HEAP32[$379>>2]|0; - $381 = HEAP32[$memEndValue>>2]|0; - _sqlite3ExprCode($377,$380,$381); - $382 = HEAP32[$pX1>>2]|0; - $383 = HEAP8[$382>>0]|0; - $384 = $383&255; - $385 = ($384|0)==(82); - if ($385) { + $364 = HEAP32[$v>>2]|0; + $365 = HEAP32[$bRev>>2]|0; + $366 = ($365|0)!=(0); + $367 = $366 ? 105 : 108; + $368 = HEAP32[$iCur>>2]|0; + $369 = HEAP32[$addrBrk>>2]|0; + (_sqlite3VdbeAddOp2($364,$367,$368,$369)|0); + } + $370 = HEAP32[$pEnd>>2]|0; + $371 = ($370|0)!=(0|0); + if ($371) { + $372 = HEAP32[$pEnd>>2]|0; + $373 = HEAP32[$372>>2]|0; + HEAP32[$pX1>>2] = $373; + $374 = HEAP32[$pParse>>2]|0; + $375 = ((($374)) + 72|0); + $376 = HEAP32[$375>>2]|0; + $377 = (($376) + 1)|0; + HEAP32[$375>>2] = $377; + HEAP32[$memEndValue>>2] = $377; + $378 = HEAP32[$pParse>>2]|0; + $379 = HEAP32[$pX1>>2]|0; + $380 = ((($379)) + 16|0); + $381 = HEAP32[$380>>2]|0; + $382 = HEAP32[$memEndValue>>2]|0; + _sqlite3ExprCode($378,$381,$382); + $383 = HEAP32[$pX1>>2]|0; + $384 = HEAP8[$383>>0]|0; + $385 = $384&255; + $386 = ($385|0)==(82); + if ($386) { label = 41; } else { - $386 = HEAP32[$pX1>>2]|0; - $387 = HEAP8[$386>>0]|0; - $388 = $387&255; - $389 = ($388|0)==(80); - if ($389) { + $387 = HEAP32[$pX1>>2]|0; + $388 = HEAP8[$387>>0]|0; + $389 = $388&255; + $390 = ($389|0)==(80); + if ($390) { label = 41; } else { - $393 = HEAP32[$bRev>>2]|0; - $394 = ($393|0)!=(0); - $395 = $394 ? 82 : 80; - HEAP32[$testOp>>2] = $395; + $394 = HEAP32[$bRev>>2]|0; + $395 = ($394|0)!=(0); + $396 = $395 ? 82 : 80; + HEAP32[$testOp>>2] = $396; } } if ((label|0) == 41) { - $390 = HEAP32[$bRev>>2]|0; - $391 = ($390|0)!=(0); - $392 = $391 ? 81 : 83; - HEAP32[$testOp>>2] = $392; - } - $396 = HEAP32[$pLevel>>2]|0; - $397 = HEAP32[$pEnd>>2]|0; - _disableTerm($396,$397); - } - $398 = HEAP32[$v>>2]|0; - $399 = (_sqlite3VdbeCurrentAddr($398)|0); - HEAP32[$start>>2] = $399; - $400 = HEAP32[$bRev>>2]|0; - $401 = ($400|0)!=(0); - $402 = $401 ? 8 : 9; - $403 = $402&255; - $404 = HEAP32[$pLevel>>2]|0; - $405 = (($404) + 37|0); - HEAP8[$405>>0] = $403; - $406 = HEAP32[$iCur>>2]|0; - $407 = HEAP32[$pLevel>>2]|0; - $408 = (($407) + 40|0); - HEAP32[$408>>2] = $406; - $409 = HEAP32[$start>>2]|0; - $410 = HEAP32[$pLevel>>2]|0; - $411 = (($410) + 44|0); - HEAP32[$411>>2] = $409; - $412 = HEAP32[$testOp>>2]|0; - $413 = ($412|0)!=(154); - if (!($413)) { + $391 = HEAP32[$bRev>>2]|0; + $392 = ($391|0)!=(0); + $393 = $392 ? 81 : 83; + HEAP32[$testOp>>2] = $393; + } + $397 = HEAP32[$pLevel>>2]|0; + $398 = HEAP32[$pEnd>>2]|0; + _disableTerm($397,$398); + } + $399 = HEAP32[$v>>2]|0; + $400 = (_sqlite3VdbeCurrentAddr($399)|0); + HEAP32[$start>>2] = $400; + $401 = HEAP32[$bRev>>2]|0; + $402 = ($401|0)!=(0); + $403 = $402 ? 8 : 9; + $404 = $403&255; + $405 = HEAP32[$pLevel>>2]|0; + $406 = ((($405)) + 37|0); + HEAP8[$406>>0] = $404; + $407 = HEAP32[$iCur>>2]|0; + $408 = HEAP32[$pLevel>>2]|0; + $409 = ((($408)) + 40|0); + HEAP32[$409>>2] = $407; + $410 = HEAP32[$start>>2]|0; + $411 = HEAP32[$pLevel>>2]|0; + $412 = ((($411)) + 44|0); + HEAP32[$412>>2] = $410; + $413 = HEAP32[$testOp>>2]|0; + $414 = ($413|0)!=(154); + if (!($414)) { break; } - $414 = HEAP32[$pParse>>2]|0; - $415 = (($414) + 72|0); - $416 = HEAP32[$415>>2]|0; - $417 = (($416) + 1)|0; - HEAP32[$415>>2] = $417; - HEAP32[$iRowidReg>>2] = $417; - $418 = HEAP32[$v>>2]|0; - $419 = HEAP32[$iCur>>2]|0; - $420 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($418,103,$419,$420)|0); - $421 = HEAP32[$pParse>>2]|0; - $422 = HEAP32[$iCur>>2]|0; - $423 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($421,$422,-1,$423); - $424 = HEAP32[$v>>2]|0; - $425 = HEAP32[$testOp>>2]|0; - $426 = HEAP32[$memEndValue>>2]|0; - $427 = HEAP32[$addrBrk>>2]|0; - $428 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($424,$425,$426,$427,$428)|0); - $429 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($429,83); + $415 = HEAP32[$pParse>>2]|0; + $416 = ((($415)) + 72|0); + $417 = HEAP32[$416>>2]|0; + $418 = (($417) + 1)|0; + HEAP32[$416>>2] = $418; + HEAP32[$iRowidReg>>2] = $418; + $419 = HEAP32[$v>>2]|0; + $420 = HEAP32[$iCur>>2]|0; + $421 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp2($419,103,$420,$421)|0); + $422 = HEAP32[$pParse>>2]|0; + $423 = HEAP32[$iCur>>2]|0; + $424 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheStore($422,$423,-1,$424); + $425 = HEAP32[$v>>2]|0; + $426 = HEAP32[$testOp>>2]|0; + $427 = HEAP32[$memEndValue>>2]|0; + $428 = HEAP32[$addrBrk>>2]|0; + $429 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp3($425,$426,$427,$428,$429)|0); + $430 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($430,83); break; } } - $430 = HEAP32[$pLoop>>2]|0; - $431 = (($430) + 36|0); - $432 = HEAP32[$431>>2]|0; - $433 = $432 & 512; - $434 = ($433|0)!=(0); - $435 = HEAP32[$pLoop>>2]|0; - if ($434) { - $436 = (($435) + 24|0); - $437 = HEAP16[$436>>1]|0; - HEAP16[$nEq>>1] = $437; + $431 = HEAP32[$pLoop>>2]|0; + $432 = ((($431)) + 36|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 & 512; + $435 = ($434|0)!=(0); + $436 = HEAP32[$pLoop>>2]|0; + if ($435) { + $437 = ((($436)) + 24|0); + $438 = HEAP16[$437>>1]|0; + HEAP16[$nEq>>1] = $438; HEAP32[$pRangeStart>>2] = 0; HEAP32[$pRangeEnd>>2] = 0; HEAP32[$nExtraReg>>2] = 0; HEAP8[$cEndAff>>0] = 0; HEAP8[$bSeekPastNull>>0] = 0; HEAP8[$bStopAtNull>>0] = 0; - $438 = HEAP32[$pLoop>>2]|0; - $439 = (($438) + 24|0); - $440 = (($439) + 4|0); - $441 = HEAP32[$440>>2]|0; - HEAP32[$pIdx>>2] = $441; - $442 = HEAP32[$pLevel>>2]|0; - $443 = (($442) + 8|0); - $444 = HEAP32[$443>>2]|0; - HEAP32[$iIdxCur>>2] = $444; - $445 = HEAP32[$3>>2]|0; - $446 = (($445) + 34|0); - $447 = HEAP16[$446>>1]|0; - $448 = $447&65535; - $449 = $448 & 1; - $450 = ($449|0)!=(0); - if ($450) { - $451 = HEAP32[$3>>2]|0; - $452 = (($451) + 36|0); - $453 = HEAP8[$452>>0]|0; - $454 = $453 << 24 >> 24; - $455 = ($454|0)>(0); - if ($455) { - $456 = HEAP32[$pIdx>>2]|0; - $457 = (($456) + 50|0); - $458 = HEAP16[$457>>1]|0; - $459 = $458&65535; - $460 = HEAP16[$nEq>>1]|0; - $461 = $460&65535; - $462 = ($459|0)>($461|0); - if ($462) { + $439 = HEAP32[$pLoop>>2]|0; + $440 = ((($439)) + 24|0); + $441 = ((($440)) + 4|0); + $442 = HEAP32[$441>>2]|0; + HEAP32[$pIdx>>2] = $442; + $443 = HEAP32[$pLevel>>2]|0; + $444 = ((($443)) + 8|0); + $445 = HEAP32[$444>>2]|0; + HEAP32[$iIdxCur>>2] = $445; + $446 = HEAP32[$3>>2]|0; + $447 = ((($446)) + 34|0); + $448 = HEAP16[$447>>1]|0; + $449 = $448&65535; + $450 = $449 & 1; + $451 = ($450|0)!=(0); + if ($451) { + $452 = HEAP32[$3>>2]|0; + $453 = ((($452)) + 36|0); + $454 = HEAP8[$453>>0]|0; + $455 = $454 << 24 >> 24; + $456 = ($455|0)>(0); + if ($456) { + $457 = HEAP32[$pIdx>>2]|0; + $458 = ((($457)) + 50|0); + $459 = HEAP16[$458>>1]|0; + $460 = $459&65535; + $461 = HEAP16[$nEq>>1]|0; + $462 = $461&65535; + $463 = ($460|0)>($462|0); + if ($463) { HEAP8[$bSeekPastNull>>0] = 1; HEAP32[$nExtraReg>>2] = 1; } } } - $463 = HEAP16[$nEq>>1]|0; - $464 = $463&65535; - HEAP32[$j>>2] = $464; - $465 = HEAP32[$pLoop>>2]|0; - $466 = (($465) + 36|0); - $467 = HEAP32[$466>>2]|0; - $468 = $467 & 32; - $469 = ($468|0)!=(0); - if ($469) { - $470 = HEAP32[$j>>2]|0; - $471 = (($470) + 1)|0; - HEAP32[$j>>2] = $471; - $472 = HEAP32[$pLoop>>2]|0; - $473 = (($472) + 44|0); - $474 = HEAP32[$473>>2]|0; - $475 = (($474) + ($470<<2)|0); - $476 = HEAP32[$475>>2]|0; - HEAP32[$pRangeStart>>2] = $476; + $464 = HEAP16[$nEq>>1]|0; + $465 = $464&65535; + HEAP32[$j>>2] = $465; + $466 = HEAP32[$pLoop>>2]|0; + $467 = ((($466)) + 36|0); + $468 = HEAP32[$467>>2]|0; + $469 = $468 & 32; + $470 = ($469|0)!=(0); + if ($470) { + $471 = HEAP32[$j>>2]|0; + $472 = (($471) + 1)|0; + HEAP32[$j>>2] = $472; + $473 = HEAP32[$pLoop>>2]|0; + $474 = ((($473)) + 44|0); + $475 = HEAP32[$474>>2]|0; + $476 = (($475) + ($471<<2)|0); + $477 = HEAP32[$476>>2]|0; + HEAP32[$pRangeStart>>2] = $477; HEAP32[$nExtraReg>>2] = 1; } - $477 = HEAP32[$pLoop>>2]|0; - $478 = (($477) + 36|0); - $479 = HEAP32[$478>>2]|0; - $480 = $479 & 16; - $481 = ($480|0)!=(0); - if ($481) { - $482 = HEAP32[$j>>2]|0; - $483 = (($482) + 1)|0; - HEAP32[$j>>2] = $483; - $484 = HEAP32[$pLoop>>2]|0; - $485 = (($484) + 44|0); - $486 = HEAP32[$485>>2]|0; - $487 = (($486) + ($482<<2)|0); - $488 = HEAP32[$487>>2]|0; - HEAP32[$pRangeEnd>>2] = $488; + $478 = HEAP32[$pLoop>>2]|0; + $479 = ((($478)) + 36|0); + $480 = HEAP32[$479>>2]|0; + $481 = $480 & 16; + $482 = ($481|0)!=(0); + if ($482) { + $483 = HEAP32[$j>>2]|0; + $484 = (($483) + 1)|0; + HEAP32[$j>>2] = $484; + $485 = HEAP32[$pLoop>>2]|0; + $486 = ((($485)) + 44|0); + $487 = HEAP32[$486>>2]|0; + $488 = (($487) + ($483<<2)|0); + $489 = HEAP32[$488>>2]|0; + HEAP32[$pRangeEnd>>2] = $489; HEAP32[$nExtraReg>>2] = 1; - $489 = HEAP32[$pRangeStart>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - $491 = HEAP16[$nEq>>1]|0; - $492 = $491&65535; - $493 = HEAP32[$pIdx>>2]|0; - $494 = (($493) + 4|0); - $495 = HEAP32[$494>>2]|0; - $496 = (($495) + ($492<<1)|0); - $497 = HEAP16[$496>>1]|0; - $498 = $497 << 16 >> 16; - HEAP32[$j>>2] = $498; - $499 = ($498|0)>=(0); - if ($499) { - $500 = HEAP32[$j>>2]|0; - $501 = HEAP32[$pIdx>>2]|0; - $502 = (($501) + 12|0); - $503 = HEAP32[$502>>2]|0; - $504 = (($503) + 4|0); - $505 = HEAP32[$504>>2]|0; - $506 = (($505) + (($500*24)|0)|0); - $507 = (($506) + 20|0); - $508 = HEAP8[$507>>0]|0; - $509 = $508&255; - $510 = ($509|0)==(0); - if ($510) { + $490 = HEAP32[$pRangeStart>>2]|0; + $491 = ($490|0)==(0|0); + if ($491) { + $492 = HEAP16[$nEq>>1]|0; + $493 = $492&65535; + $494 = HEAP32[$pIdx>>2]|0; + $495 = ((($494)) + 4|0); + $496 = HEAP32[$495>>2]|0; + $497 = (($496) + ($493<<1)|0); + $498 = HEAP16[$497>>1]|0; + $499 = $498 << 16 >> 16; + HEAP32[$j>>2] = $499; + $500 = ($499|0)>=(0); + if ($500) { + $501 = HEAP32[$j>>2]|0; + $502 = HEAP32[$pIdx>>2]|0; + $503 = ((($502)) + 12|0); + $504 = HEAP32[$503>>2]|0; + $505 = ((($504)) + 4|0); + $506 = HEAP32[$505>>2]|0; + $507 = (($506) + (($501*24)|0)|0); + $508 = ((($507)) + 20|0); + $509 = HEAP8[$508>>0]|0; + $510 = $509&255; + $511 = ($510|0)==(0); + if ($511) { HEAP8[$bSeekPastNull>>0] = 1; } } } } - $511 = HEAP32[$pParse>>2]|0; - $512 = HEAP32[$pLevel>>2]|0; - $513 = HEAP32[$bRev>>2]|0; - $514 = HEAP32[$nExtraReg>>2]|0; - $515 = (_codeAllEqualityTerms($511,$512,$513,$514,$zStartAff)|0); - HEAP32[$regBase>>2] = $515; - $516 = HEAP32[$zStartAff>>2]|0; - $517 = ($516|0)!=(0|0); - if ($517) { - $518 = HEAP16[$nEq>>1]|0; - $519 = $518&65535; - $520 = HEAP32[$zStartAff>>2]|0; - $521 = (($520) + ($519)|0); - $522 = HEAP8[$521>>0]|0; - HEAP8[$cEndAff>>0] = $522; - } - $523 = HEAP32[$pLevel>>2]|0; - $524 = (($523) + 16|0); - $525 = HEAP32[$524>>2]|0; - HEAP32[$addrNxt>>2] = $525; - $526 = HEAP16[$nEq>>1]|0; - $527 = $526&65535; - $528 = HEAP32[$pIdx>>2]|0; - $529 = (($528) + 50|0); - $530 = HEAP16[$529>>1]|0; - $531 = $530&65535; - $532 = ($527|0)<($531|0); - if ($532) { - $533 = HEAP32[$bRev>>2]|0; - $534 = HEAP16[$nEq>>1]|0; - $535 = $534&65535; - $536 = HEAP32[$pIdx>>2]|0; - $537 = (($536) + 28|0); - $538 = HEAP32[$537>>2]|0; - $539 = (($538) + ($535)|0); - $540 = HEAP8[$539>>0]|0; - $541 = $540&255; - $542 = ($541|0)==(0); - $543 = $542&1; - $544 = ($533|0)==($543|0); - if ($544) { + $512 = HEAP32[$pParse>>2]|0; + $513 = HEAP32[$pLevel>>2]|0; + $514 = HEAP32[$bRev>>2]|0; + $515 = HEAP32[$nExtraReg>>2]|0; + $516 = (_codeAllEqualityTerms($512,$513,$514,$515,$zStartAff)|0); + HEAP32[$regBase>>2] = $516; + $517 = HEAP32[$zStartAff>>2]|0; + $518 = ($517|0)!=(0|0); + if ($518) { + $519 = HEAP16[$nEq>>1]|0; + $520 = $519&65535; + $521 = HEAP32[$zStartAff>>2]|0; + $522 = (($521) + ($520)|0); + $523 = HEAP8[$522>>0]|0; + HEAP8[$cEndAff>>0] = $523; + } + $524 = HEAP32[$pLevel>>2]|0; + $525 = ((($524)) + 16|0); + $526 = HEAP32[$525>>2]|0; + HEAP32[$addrNxt>>2] = $526; + $527 = HEAP16[$nEq>>1]|0; + $528 = $527&65535; + $529 = HEAP32[$pIdx>>2]|0; + $530 = ((($529)) + 50|0); + $531 = HEAP16[$530>>1]|0; + $532 = $531&65535; + $533 = ($528|0)<($532|0); + if ($533) { + $534 = HEAP32[$bRev>>2]|0; + $535 = HEAP16[$nEq>>1]|0; + $536 = $535&65535; + $537 = HEAP32[$pIdx>>2]|0; + $538 = ((($537)) + 28|0); + $539 = HEAP32[$538>>2]|0; + $540 = (($539) + ($536)|0); + $541 = HEAP8[$540>>0]|0; + $542 = $541&255; + $543 = ($542|0)==(0); + $544 = $543&1; + $545 = ($534|0)==($544|0); + if ($545) { label = 64; } else { label = 62; @@ -123983,1062 +125025,1062 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { label = 62; } if ((label|0) == 62) { - $545 = HEAP32[$bRev>>2]|0; - $546 = ($545|0)!=(0); - if ($546) { - $547 = HEAP32[$pIdx>>2]|0; - $548 = (($547) + 50|0); - $549 = HEAP16[$548>>1]|0; - $550 = $549&65535; - $551 = HEAP16[$nEq>>1]|0; - $552 = $551&65535; - $553 = ($550|0)==($552|0); - if ($553) { + $546 = HEAP32[$bRev>>2]|0; + $547 = ($546|0)!=(0); + if ($547) { + $548 = HEAP32[$pIdx>>2]|0; + $549 = ((($548)) + 50|0); + $550 = HEAP16[$549>>1]|0; + $551 = $550&65535; + $552 = HEAP16[$nEq>>1]|0; + $553 = $552&65535; + $554 = ($551|0)==($553|0); + if ($554) { label = 64; } } } if ((label|0) == 64) { - $554 = HEAP32[$pRangeEnd>>2]|0; - HEAP32[$t>>2] = $554; - $555 = HEAP32[$pRangeStart>>2]|0; - HEAP32[$pRangeEnd>>2] = $555; - $556 = HEAP32[$t>>2]|0; - HEAP32[$pRangeStart>>2] = $556; - $557 = HEAP8[$bSeekPastNull>>0]|0; - HEAP8[$t3>>0] = $557; - $558 = HEAP8[$bStopAtNull>>0]|0; - HEAP8[$bSeekPastNull>>0] = $558; - $559 = HEAP8[$t3>>0]|0; - HEAP8[$bStopAtNull>>0] = $559; - } - $560 = HEAP32[$pRangeStart>>2]|0; - $561 = ($560|0)!=(0|0); - if ($561) { - $562 = HEAP32[$pRangeStart>>2]|0; - $563 = (($562) + 18|0); - $564 = HEAP16[$563>>1]|0; - $565 = $564&65535; - $566 = $565 & 40; - $567 = ($566|0)!=(0); - $569 = $567; + $555 = HEAP32[$pRangeEnd>>2]|0; + HEAP32[$t>>2] = $555; + $556 = HEAP32[$pRangeStart>>2]|0; + HEAP32[$pRangeEnd>>2] = $556; + $557 = HEAP32[$t>>2]|0; + HEAP32[$pRangeStart>>2] = $557; + $558 = HEAP8[$bSeekPastNull>>0]|0; + HEAP8[$t3>>0] = $558; + $559 = HEAP8[$bStopAtNull>>0]|0; + HEAP8[$bSeekPastNull>>0] = $559; + $560 = HEAP8[$t3>>0]|0; + HEAP8[$bStopAtNull>>0] = $560; + } + $561 = HEAP32[$pRangeStart>>2]|0; + $562 = ($561|0)!=(0|0); + if ($562) { + $563 = HEAP32[$pRangeStart>>2]|0; + $564 = ((($563)) + 18|0); + $565 = HEAP16[$564>>1]|0; + $566 = $565&65535; + $567 = $566 & 40; + $568 = ($567|0)!=(0); + $570 = $568; } else { - $569 = 1; + $570 = 1; } - $568 = $569&1; - HEAP32[$startEq>>2] = $568; - $570 = HEAP32[$pRangeEnd>>2]|0; - $571 = ($570|0)!=(0|0); - if ($571) { - $572 = HEAP32[$pRangeEnd>>2]|0; - $573 = (($572) + 18|0); - $574 = HEAP16[$573>>1]|0; - $575 = $574&65535; - $576 = $575 & 40; - $577 = ($576|0)!=(0); - $579 = $577; + $569 = $570&1; + HEAP32[$startEq>>2] = $569; + $571 = HEAP32[$pRangeEnd>>2]|0; + $572 = ($571|0)!=(0|0); + if ($572) { + $573 = HEAP32[$pRangeEnd>>2]|0; + $574 = ((($573)) + 18|0); + $575 = HEAP16[$574>>1]|0; + $576 = $575&65535; + $577 = $576 & 40; + $578 = ($577|0)!=(0); + $580 = $578; } else { - $579 = 1; - } - $578 = $579&1; - HEAP32[$endEq>>2] = $578; - $580 = HEAP32[$pRangeStart>>2]|0; - $581 = ($580|0)!=(0|0); - if ($581) { - $586 = 1; + $580 = 1; + } + $579 = $580&1; + HEAP32[$endEq>>2] = $579; + $581 = HEAP32[$pRangeStart>>2]|0; + $582 = ($581|0)!=(0|0); + if ($582) { + $587 = 1; } else { - $582 = HEAP16[$nEq>>1]|0; - $583 = $582&65535; - $584 = ($583|0)>(0); - $586 = $584; - } - $585 = $586&1; - HEAP32[$start_constraints>>2] = $585; - $587 = HEAP16[$nEq>>1]|0; - $588 = $587&65535; - HEAP32[$nConstraint2>>2] = $588; - $589 = HEAP32[$pRangeStart>>2]|0; - $590 = ($589|0)!=(0|0); - if ($590) { - $591 = HEAP32[$pRangeStart>>2]|0; - $592 = HEAP32[$591>>2]|0; - $593 = (($592) + 16|0); - $594 = HEAP32[$593>>2]|0; - HEAP32[$pRight>>2] = $594; - $595 = HEAP32[$pParse>>2]|0; - $596 = HEAP32[$pRight>>2]|0; - $597 = HEAP32[$regBase>>2]|0; - $598 = HEAP16[$nEq>>1]|0; - $599 = $598&65535; - $600 = (($597) + ($599))|0; - _sqlite3ExprCode($595,$596,$600); - $601 = HEAP32[$pRangeStart>>2]|0; - $602 = (($601) + 20|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $605 = $604 & 0; - $606 = ($605|0)==(0); + $583 = HEAP16[$nEq>>1]|0; + $584 = $583&65535; + $585 = ($584|0)>(0); + $587 = $585; + } + $586 = $587&1; + HEAP32[$start_constraints>>2] = $586; + $588 = HEAP16[$nEq>>1]|0; + $589 = $588&65535; + HEAP32[$nConstraint2>>2] = $589; + $590 = HEAP32[$pRangeStart>>2]|0; + $591 = ($590|0)!=(0|0); + if ($591) { + $592 = HEAP32[$pRangeStart>>2]|0; + $593 = HEAP32[$592>>2]|0; + $594 = ((($593)) + 16|0); + $595 = HEAP32[$594>>2]|0; + HEAP32[$pRight>>2] = $595; + $596 = HEAP32[$pParse>>2]|0; + $597 = HEAP32[$pRight>>2]|0; + $598 = HEAP32[$regBase>>2]|0; + $599 = HEAP16[$nEq>>1]|0; + $600 = $599&65535; + $601 = (($598) + ($600))|0; + _sqlite3ExprCode($596,$597,$601); + $602 = HEAP32[$pRangeStart>>2]|0; + $603 = ((($602)) + 20|0); + $604 = HEAP8[$603>>0]|0; + $605 = $604&255; + $606 = $605 & 0; + $607 = ($606|0)==(0); do { - if ($606) { - $607 = HEAP32[$pRight>>2]|0; - $608 = (_sqlite3ExprCanBeNull($607)|0); - $609 = ($608|0)!=(0); - if (!($609)) { + if ($607) { + $608 = HEAP32[$pRight>>2]|0; + $609 = (_sqlite3ExprCanBeNull($608)|0); + $610 = ($609|0)!=(0); + if (!($610)) { break; } - $610 = HEAP32[$v>>2]|0; - $611 = HEAP32[$regBase>>2]|0; - $612 = HEAP16[$nEq>>1]|0; - $613 = $612&65535; - $614 = (($611) + ($613))|0; - $615 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($610,76,$614,$615)|0); + $611 = HEAP32[$v>>2]|0; + $612 = HEAP32[$regBase>>2]|0; + $613 = HEAP16[$nEq>>1]|0; + $614 = $613&65535; + $615 = (($612) + ($614))|0; + $616 = HEAP32[$addrNxt>>2]|0; + (_sqlite3VdbeAddOp2($611,76,$615,$616)|0); } } while(0); - $616 = HEAP32[$zStartAff>>2]|0; - $617 = ($616|0)!=(0|0); + $617 = HEAP32[$zStartAff>>2]|0; + $618 = ($617|0)!=(0|0); do { - if ($617) { - $618 = HEAP32[$pRight>>2]|0; - $619 = HEAP16[$nEq>>1]|0; - $620 = $619&65535; - $621 = HEAP32[$zStartAff>>2]|0; - $622 = (($621) + ($620)|0); - $623 = HEAP8[$622>>0]|0; - $624 = (_sqlite3CompareAffinity($618,$623)|0); - $625 = $624 << 24 >> 24; - $626 = ($625|0)==(65); - if ($626) { - $627 = HEAP16[$nEq>>1]|0; - $628 = $627&65535; - $629 = HEAP32[$zStartAff>>2]|0; - $630 = (($629) + ($628)|0); - HEAP8[$630>>0] = 65; - } - $631 = HEAP32[$pRight>>2]|0; - $632 = HEAP16[$nEq>>1]|0; - $633 = $632&65535; - $634 = HEAP32[$zStartAff>>2]|0; - $635 = (($634) + ($633)|0); - $636 = HEAP8[$635>>0]|0; - $637 = (_sqlite3ExprNeedsNoAffinityChange($631,$636)|0); - $638 = ($637|0)!=(0); - if (!($638)) { + if ($618) { + $619 = HEAP32[$pRight>>2]|0; + $620 = HEAP16[$nEq>>1]|0; + $621 = $620&65535; + $622 = HEAP32[$zStartAff>>2]|0; + $623 = (($622) + ($621)|0); + $624 = HEAP8[$623>>0]|0; + $625 = (_sqlite3CompareAffinity($619,$624)|0); + $626 = $625 << 24 >> 24; + $627 = ($626|0)==(65); + if ($627) { + $628 = HEAP16[$nEq>>1]|0; + $629 = $628&65535; + $630 = HEAP32[$zStartAff>>2]|0; + $631 = (($630) + ($629)|0); + HEAP8[$631>>0] = 65; + } + $632 = HEAP32[$pRight>>2]|0; + $633 = HEAP16[$nEq>>1]|0; + $634 = $633&65535; + $635 = HEAP32[$zStartAff>>2]|0; + $636 = (($635) + ($634)|0); + $637 = HEAP8[$636>>0]|0; + $638 = (_sqlite3ExprNeedsNoAffinityChange($632,$637)|0); + $639 = ($638|0)!=(0); + if (!($639)) { break; } - $639 = HEAP16[$nEq>>1]|0; - $640 = $639&65535; - $641 = HEAP32[$zStartAff>>2]|0; - $642 = (($641) + ($640)|0); - HEAP8[$642>>0] = 65; + $640 = HEAP16[$nEq>>1]|0; + $641 = $640&65535; + $642 = HEAP32[$zStartAff>>2]|0; + $643 = (($642) + ($641)|0); + HEAP8[$643>>0] = 65; } } while(0); - $643 = HEAP32[$nConstraint2>>2]|0; - $644 = (($643) + 1)|0; - HEAP32[$nConstraint2>>2] = $644; + $644 = HEAP32[$nConstraint2>>2]|0; + $645 = (($644) + 1)|0; + HEAP32[$nConstraint2>>2] = $645; } else { - $645 = HEAP8[$bSeekPastNull>>0]|0; - $646 = ($645<<24>>24)!=(0); - if ($646) { - $647 = HEAP32[$v>>2]|0; - $648 = HEAP32[$regBase>>2]|0; - $649 = HEAP16[$nEq>>1]|0; - $650 = $649&65535; - $651 = (($648) + ($650))|0; - (_sqlite3VdbeAddOp2($647,28,0,$651)|0); - $652 = HEAP32[$nConstraint2>>2]|0; - $653 = (($652) + 1)|0; - HEAP32[$nConstraint2>>2] = $653; + $646 = HEAP8[$bSeekPastNull>>0]|0; + $647 = ($646<<24>>24)!=(0); + if ($647) { + $648 = HEAP32[$v>>2]|0; + $649 = HEAP32[$regBase>>2]|0; + $650 = HEAP16[$nEq>>1]|0; + $651 = $650&65535; + $652 = (($649) + ($651))|0; + (_sqlite3VdbeAddOp2($648,28,0,$652)|0); + $653 = HEAP32[$nConstraint2>>2]|0; + $654 = (($653) + 1)|0; + HEAP32[$nConstraint2>>2] = $654; HEAP32[$startEq>>2] = 0; HEAP32[$start_constraints>>2] = 1; } } - $654 = HEAP32[$pParse>>2]|0; - $655 = HEAP32[$regBase>>2]|0; - $656 = HEAP32[$nConstraint2>>2]|0; - $657 = HEAP8[$bSeekPastNull>>0]|0; - $658 = $657&255; - $659 = (($656) - ($658))|0; - $660 = HEAP32[$zStartAff>>2]|0; - _codeApplyAffinity($654,$655,$659,$660); - $661 = HEAP32[$start_constraints>>2]|0; - $662 = $661 << 2; - $663 = HEAP32[$startEq>>2]|0; - $664 = $663 << 1; - $665 = (($662) + ($664))|0; - $666 = HEAP32[$bRev>>2]|0; - $667 = (($665) + ($666))|0; - $668 = (23608 + ($667)|0); - $669 = HEAP8[$668>>0]|0; - $670 = $669&255; - HEAP32[$op>>2] = $670; - $671 = HEAP32[$v>>2]|0; - $672 = HEAP32[$op>>2]|0; - $673 = HEAP32[$iIdxCur>>2]|0; - $674 = HEAP32[$addrNxt>>2]|0; - $675 = HEAP32[$regBase>>2]|0; - $676 = HEAP32[$nConstraint2>>2]|0; - (_sqlite3VdbeAddOp4Int($671,$672,$673,$674,$675,$676)|0); - $677 = HEAP16[$nEq>>1]|0; - $678 = $677&65535; - HEAP32[$nConstraint2>>2] = $678; - $679 = HEAP32[$pRangeEnd>>2]|0; - $680 = ($679|0)!=(0|0); + $655 = HEAP32[$pParse>>2]|0; + $656 = HEAP32[$regBase>>2]|0; + $657 = HEAP32[$nConstraint2>>2]|0; + $658 = HEAP8[$bSeekPastNull>>0]|0; + $659 = $658&255; + $660 = (($657) - ($659))|0; + $661 = HEAP32[$zStartAff>>2]|0; + _codeApplyAffinity($655,$656,$660,$661); + $662 = HEAP32[$start_constraints>>2]|0; + $663 = $662 << 2; + $664 = HEAP32[$startEq>>2]|0; + $665 = $664 << 1; + $666 = (($663) + ($665))|0; + $667 = HEAP32[$bRev>>2]|0; + $668 = (($666) + ($667))|0; + $669 = (26151 + ($668)|0); + $670 = HEAP8[$669>>0]|0; + $671 = $670&255; + HEAP32[$op>>2] = $671; + $672 = HEAP32[$v>>2]|0; + $673 = HEAP32[$op>>2]|0; + $674 = HEAP32[$iIdxCur>>2]|0; + $675 = HEAP32[$addrNxt>>2]|0; + $676 = HEAP32[$regBase>>2]|0; + $677 = HEAP32[$nConstraint2>>2]|0; + (_sqlite3VdbeAddOp4Int($672,$673,$674,$675,$676,$677)|0); + $678 = HEAP16[$nEq>>1]|0; + $679 = $678&65535; + HEAP32[$nConstraint2>>2] = $679; + $680 = HEAP32[$pRangeEnd>>2]|0; + $681 = ($680|0)!=(0|0); do { - if ($680) { - $681 = HEAP32[$pRangeEnd>>2]|0; - $682 = HEAP32[$681>>2]|0; - $683 = (($682) + 16|0); - $684 = HEAP32[$683>>2]|0; - HEAP32[$pRight4>>2] = $684; - $685 = HEAP32[$pParse>>2]|0; - $686 = HEAP32[$regBase>>2]|0; - $687 = HEAP16[$nEq>>1]|0; - $688 = $687&65535; - $689 = (($686) + ($688))|0; - _sqlite3ExprCacheRemove($685,$689,1); - $690 = HEAP32[$pParse>>2]|0; - $691 = HEAP32[$pRight4>>2]|0; - $692 = HEAP32[$regBase>>2]|0; - $693 = HEAP16[$nEq>>1]|0; - $694 = $693&65535; - $695 = (($692) + ($694))|0; - _sqlite3ExprCode($690,$691,$695); - $696 = HEAP32[$pRangeEnd>>2]|0; - $697 = (($696) + 20|0); - $698 = HEAP8[$697>>0]|0; - $699 = $698&255; - $700 = $699 & 0; - $701 = ($700|0)==(0); + if ($681) { + $682 = HEAP32[$pRangeEnd>>2]|0; + $683 = HEAP32[$682>>2]|0; + $684 = ((($683)) + 16|0); + $685 = HEAP32[$684>>2]|0; + HEAP32[$pRight4>>2] = $685; + $686 = HEAP32[$pParse>>2]|0; + $687 = HEAP32[$regBase>>2]|0; + $688 = HEAP16[$nEq>>1]|0; + $689 = $688&65535; + $690 = (($687) + ($689))|0; + _sqlite3ExprCacheRemove($686,$690,1); + $691 = HEAP32[$pParse>>2]|0; + $692 = HEAP32[$pRight4>>2]|0; + $693 = HEAP32[$regBase>>2]|0; + $694 = HEAP16[$nEq>>1]|0; + $695 = $694&65535; + $696 = (($693) + ($695))|0; + _sqlite3ExprCode($691,$692,$696); + $697 = HEAP32[$pRangeEnd>>2]|0; + $698 = ((($697)) + 20|0); + $699 = HEAP8[$698>>0]|0; + $700 = $699&255; + $701 = $700 & 0; + $702 = ($701|0)==(0); do { - if ($701) { - $702 = HEAP32[$pRight4>>2]|0; - $703 = (_sqlite3ExprCanBeNull($702)|0); - $704 = ($703|0)!=(0); - if (!($704)) { + if ($702) { + $703 = HEAP32[$pRight4>>2]|0; + $704 = (_sqlite3ExprCanBeNull($703)|0); + $705 = ($704|0)!=(0); + if (!($705)) { break; } - $705 = HEAP32[$v>>2]|0; - $706 = HEAP32[$regBase>>2]|0; - $707 = HEAP16[$nEq>>1]|0; - $708 = $707&65535; - $709 = (($706) + ($708))|0; - $710 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($705,76,$709,$710)|0); + $706 = HEAP32[$v>>2]|0; + $707 = HEAP32[$regBase>>2]|0; + $708 = HEAP16[$nEq>>1]|0; + $709 = $708&65535; + $710 = (($707) + ($709))|0; + $711 = HEAP32[$addrNxt>>2]|0; + (_sqlite3VdbeAddOp2($706,76,$710,$711)|0); } } while(0); - $711 = HEAP32[$pRight4>>2]|0; - $712 = HEAP8[$cEndAff>>0]|0; - $713 = (_sqlite3CompareAffinity($711,$712)|0); - $714 = $713 << 24 >> 24; - $715 = ($714|0)!=(65); + $712 = HEAP32[$pRight4>>2]|0; + $713 = HEAP8[$cEndAff>>0]|0; + $714 = (_sqlite3CompareAffinity($712,$713)|0); + $715 = $714 << 24 >> 24; + $716 = ($715|0)!=(65); do { - if ($715) { - $716 = HEAP32[$pRight4>>2]|0; - $717 = HEAP8[$cEndAff>>0]|0; - $718 = (_sqlite3ExprNeedsNoAffinityChange($716,$717)|0); - $719 = ($718|0)!=(0); - if ($719) { + if ($716) { + $717 = HEAP32[$pRight4>>2]|0; + $718 = HEAP8[$cEndAff>>0]|0; + $719 = (_sqlite3ExprNeedsNoAffinityChange($717,$718)|0); + $720 = ($719|0)!=(0); + if ($720) { break; } - $720 = HEAP32[$pParse>>2]|0; - $721 = HEAP32[$regBase>>2]|0; - $722 = HEAP16[$nEq>>1]|0; - $723 = $722&65535; - $724 = (($721) + ($723))|0; - _codeApplyAffinity($720,$724,1,$cEndAff); + $721 = HEAP32[$pParse>>2]|0; + $722 = HEAP32[$regBase>>2]|0; + $723 = HEAP16[$nEq>>1]|0; + $724 = $723&65535; + $725 = (($722) + ($724))|0; + _codeApplyAffinity($721,$725,1,$cEndAff); } } while(0); - $725 = HEAP32[$nConstraint2>>2]|0; - $726 = (($725) + 1)|0; - HEAP32[$nConstraint2>>2] = $726; + $726 = HEAP32[$nConstraint2>>2]|0; + $727 = (($726) + 1)|0; + HEAP32[$nConstraint2>>2] = $727; } else { - $727 = HEAP8[$bStopAtNull>>0]|0; - $728 = ($727<<24>>24)!=(0); - if (!($728)) { + $728 = HEAP8[$bStopAtNull>>0]|0; + $729 = ($728<<24>>24)!=(0); + if (!($729)) { break; } - $729 = HEAP32[$v>>2]|0; - $730 = HEAP32[$regBase>>2]|0; - $731 = HEAP16[$nEq>>1]|0; - $732 = $731&65535; - $733 = (($730) + ($732))|0; - (_sqlite3VdbeAddOp2($729,28,0,$733)|0); + $730 = HEAP32[$v>>2]|0; + $731 = HEAP32[$regBase>>2]|0; + $732 = HEAP16[$nEq>>1]|0; + $733 = $732&65535; + $734 = (($731) + ($733))|0; + (_sqlite3VdbeAddOp2($730,28,0,$734)|0); HEAP32[$endEq>>2] = 0; - $734 = HEAP32[$nConstraint2>>2]|0; - $735 = (($734) + 1)|0; - HEAP32[$nConstraint2>>2] = $735; + $735 = HEAP32[$nConstraint2>>2]|0; + $736 = (($735) + 1)|0; + HEAP32[$nConstraint2>>2] = $736; } } while(0); - $736 = HEAP32[$db>>2]|0; - $737 = HEAP32[$zStartAff>>2]|0; - _sqlite3DbFree($736,$737); - $738 = HEAP32[$v>>2]|0; - $739 = (_sqlite3VdbeCurrentAddr($738)|0); - $740 = HEAP32[$pLevel>>2]|0; - $741 = (($740) + 44|0); - HEAP32[$741>>2] = $739; - $742 = HEAP32[$nConstraint2>>2]|0; - $743 = ($742|0)!=(0); - if ($743) { - $744 = HEAP32[$bRev>>2]|0; - $745 = $744<<1; - $746 = HEAP32[$endEq>>2]|0; - $747 = (($745) + ($746))|0; - $748 = (23616 + ($747)|0); - $749 = HEAP8[$748>>0]|0; - $750 = $749&255; - HEAP32[$op>>2] = $750; - $751 = HEAP32[$v>>2]|0; - $752 = HEAP32[$op>>2]|0; - $753 = HEAP32[$iIdxCur>>2]|0; - $754 = HEAP32[$addrNxt>>2]|0; - $755 = HEAP32[$regBase>>2]|0; - $756 = HEAP32[$nConstraint2>>2]|0; - (_sqlite3VdbeAddOp4Int($751,$752,$753,$754,$755,$756)|0); - } - $757 = HEAP32[$pLevel>>2]|0; - $758 = HEAP32[$pRangeStart>>2]|0; - _disableTerm($757,$758); - $759 = HEAP32[$pLevel>>2]|0; - $760 = HEAP32[$pRangeEnd>>2]|0; - _disableTerm($759,$760); - $761 = HEAP32[$omitTable>>2]|0; - $762 = ($761|0)!=(0); + $737 = HEAP32[$db>>2]|0; + $738 = HEAP32[$zStartAff>>2]|0; + _sqlite3DbFree($737,$738); + $739 = HEAP32[$v>>2]|0; + $740 = (_sqlite3VdbeCurrentAddr($739)|0); + $741 = HEAP32[$pLevel>>2]|0; + $742 = ((($741)) + 44|0); + HEAP32[$742>>2] = $740; + $743 = HEAP32[$nConstraint2>>2]|0; + $744 = ($743|0)!=(0); + if ($744) { + $745 = HEAP32[$bRev>>2]|0; + $746 = $745<<1; + $747 = HEAP32[$endEq>>2]|0; + $748 = (($746) + ($747))|0; + $749 = (26159 + ($748)|0); + $750 = HEAP8[$749>>0]|0; + $751 = $750&255; + HEAP32[$op>>2] = $751; + $752 = HEAP32[$v>>2]|0; + $753 = HEAP32[$op>>2]|0; + $754 = HEAP32[$iIdxCur>>2]|0; + $755 = HEAP32[$addrNxt>>2]|0; + $756 = HEAP32[$regBase>>2]|0; + $757 = HEAP32[$nConstraint2>>2]|0; + (_sqlite3VdbeAddOp4Int($752,$753,$754,$755,$756,$757)|0); + } + $758 = HEAP32[$pLevel>>2]|0; + $759 = HEAP32[$pRangeStart>>2]|0; + _disableTerm($758,$759); + $760 = HEAP32[$pLevel>>2]|0; + $761 = HEAP32[$pRangeEnd>>2]|0; + _disableTerm($760,$761); + $762 = HEAP32[$omitTable>>2]|0; + $763 = ($762|0)!=(0); do { - if (!($762)) { - $763 = HEAP32[$pIdx>>2]|0; - $764 = (($763) + 12|0); - $765 = HEAP32[$764>>2]|0; - $766 = (($765) + 44|0); - $767 = HEAP8[$766>>0]|0; - $768 = $767&255; - $769 = $768 & 32; - $770 = ($769|0)==(0); - if ($770) { - $771 = HEAP32[$pParse>>2]|0; - $772 = (($771) + 72|0); - $773 = HEAP32[$772>>2]|0; - $774 = (($773) + 1)|0; - HEAP32[$772>>2] = $774; - HEAP32[$iRowidReg>>2] = $774; - $775 = HEAP32[$v>>2]|0; - $776 = HEAP32[$iIdxCur>>2]|0; - $777 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($775,112,$776,$777)|0); - $778 = HEAP32[$pParse>>2]|0; - $779 = HEAP32[$iCur>>2]|0; - $780 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($778,$779,-1,$780); - $781 = HEAP32[$v>>2]|0; - $782 = HEAP32[$iCur>>2]|0; - $783 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($781,66,$782,$783)|0); + if (!($763)) { + $764 = HEAP32[$pIdx>>2]|0; + $765 = ((($764)) + 12|0); + $766 = HEAP32[$765>>2]|0; + $767 = ((($766)) + 44|0); + $768 = HEAP8[$767>>0]|0; + $769 = $768&255; + $770 = $769 & 32; + $771 = ($770|0)==(0); + if ($771) { + $772 = HEAP32[$pParse>>2]|0; + $773 = ((($772)) + 72|0); + $774 = HEAP32[$773>>2]|0; + $775 = (($774) + 1)|0; + HEAP32[$773>>2] = $775; + HEAP32[$iRowidReg>>2] = $775; + $776 = HEAP32[$v>>2]|0; + $777 = HEAP32[$iIdxCur>>2]|0; + $778 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp2($776,112,$777,$778)|0); + $779 = HEAP32[$pParse>>2]|0; + $780 = HEAP32[$iCur>>2]|0; + $781 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheStore($779,$780,-1,$781); + $782 = HEAP32[$v>>2]|0; + $783 = HEAP32[$iCur>>2]|0; + $784 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp2($782,66,$783,$784)|0); break; } - $784 = HEAP32[$iCur>>2]|0; - $785 = HEAP32[$iIdxCur>>2]|0; - $786 = ($784|0)!=($785|0); - if (!($786)) { + $785 = HEAP32[$iCur>>2]|0; + $786 = HEAP32[$iIdxCur>>2]|0; + $787 = ($785|0)!=($786|0); + if (!($787)) { break; } - $787 = HEAP32[$pIdx>>2]|0; - $788 = (($787) + 12|0); - $789 = HEAP32[$788>>2]|0; - $790 = (_sqlite3PrimaryKeyIndex($789)|0); - HEAP32[$pPk>>2] = $790; - $791 = HEAP32[$pParse>>2]|0; - $792 = HEAP32[$pPk>>2]|0; - $793 = (($792) + 50|0); - $794 = HEAP16[$793>>1]|0; - $795 = $794&65535; - $796 = (_sqlite3GetTempRange($791,$795)|0); - HEAP32[$iRowidReg>>2] = $796; + $788 = HEAP32[$pIdx>>2]|0; + $789 = ((($788)) + 12|0); + $790 = HEAP32[$789>>2]|0; + $791 = (_sqlite3PrimaryKeyIndex($790)|0); + HEAP32[$pPk>>2] = $791; + $792 = HEAP32[$pParse>>2]|0; + $793 = HEAP32[$pPk>>2]|0; + $794 = ((($793)) + 50|0); + $795 = HEAP16[$794>>1]|0; + $796 = $795&65535; + $797 = (_sqlite3GetTempRange($792,$796)|0); + HEAP32[$iRowidReg>>2] = $797; HEAP32[$j>>2] = 0; while(1) { - $797 = HEAP32[$j>>2]|0; - $798 = HEAP32[$pPk>>2]|0; - $799 = (($798) + 50|0); - $800 = HEAP16[$799>>1]|0; - $801 = $800&65535; - $802 = ($797|0)<($801|0); - if (!($802)) { + $798 = HEAP32[$j>>2]|0; + $799 = HEAP32[$pPk>>2]|0; + $800 = ((($799)) + 50|0); + $801 = HEAP16[$800>>1]|0; + $802 = $801&65535; + $803 = ($798|0)<($802|0); + if (!($803)) { break; } - $803 = HEAP32[$pIdx>>2]|0; - $804 = HEAP32[$j>>2]|0; - $805 = HEAP32[$pPk>>2]|0; - $806 = (($805) + 4|0); - $807 = HEAP32[$806>>2]|0; - $808 = (($807) + ($804<<1)|0); - $809 = HEAP16[$808>>1]|0; - $810 = (_sqlite3ColumnOfIndex($803,$809)|0); - $811 = $810 << 16 >> 16; - HEAP32[$k>>2] = $811; - $812 = HEAP32[$v>>2]|0; - $813 = HEAP32[$iIdxCur>>2]|0; - $814 = HEAP32[$k>>2]|0; - $815 = HEAP32[$iRowidReg>>2]|0; - $816 = HEAP32[$j>>2]|0; - $817 = (($815) + ($816))|0; - (_sqlite3VdbeAddOp3($812,47,$813,$814,$817)|0); - $818 = HEAP32[$j>>2]|0; - $819 = (($818) + 1)|0; - HEAP32[$j>>2] = $819; - } - $820 = HEAP32[$v>>2]|0; - $821 = HEAP32[$iCur>>2]|0; - $822 = HEAP32[$addrCont>>2]|0; - $823 = HEAP32[$iRowidReg>>2]|0; - $824 = HEAP32[$pPk>>2]|0; - $825 = (($824) + 50|0); - $826 = HEAP16[$825>>1]|0; - $827 = $826&65535; - (_sqlite3VdbeAddOp4Int($820,68,$821,$822,$823,$827)|0); + $804 = HEAP32[$pIdx>>2]|0; + $805 = HEAP32[$j>>2]|0; + $806 = HEAP32[$pPk>>2]|0; + $807 = ((($806)) + 4|0); + $808 = HEAP32[$807>>2]|0; + $809 = (($808) + ($805<<1)|0); + $810 = HEAP16[$809>>1]|0; + $811 = (_sqlite3ColumnOfIndex($804,$810)|0); + $812 = $811 << 16 >> 16; + HEAP32[$k>>2] = $812; + $813 = HEAP32[$v>>2]|0; + $814 = HEAP32[$iIdxCur>>2]|0; + $815 = HEAP32[$k>>2]|0; + $816 = HEAP32[$iRowidReg>>2]|0; + $817 = HEAP32[$j>>2]|0; + $818 = (($816) + ($817))|0; + (_sqlite3VdbeAddOp3($813,47,$814,$815,$818)|0); + $819 = HEAP32[$j>>2]|0; + $820 = (($819) + 1)|0; + HEAP32[$j>>2] = $820; + } + $821 = HEAP32[$v>>2]|0; + $822 = HEAP32[$iCur>>2]|0; + $823 = HEAP32[$addrCont>>2]|0; + $824 = HEAP32[$iRowidReg>>2]|0; + $825 = HEAP32[$pPk>>2]|0; + $826 = ((($825)) + 50|0); + $827 = HEAP16[$826>>1]|0; + $828 = $827&65535; + (_sqlite3VdbeAddOp4Int($821,68,$822,$823,$824,$828)|0); } } while(0); - $828 = HEAP32[$pLoop>>2]|0; - $829 = (($828) + 36|0); - $830 = HEAP32[$829>>2]|0; - $831 = $830 & 4096; - $832 = ($831|0)!=(0); + $829 = HEAP32[$pLoop>>2]|0; + $830 = ((($829)) + 36|0); + $831 = HEAP32[$830>>2]|0; + $832 = $831 & 4096; + $833 = ($832|0)!=(0); do { - if ($832) { - $833 = HEAP32[$pLevel>>2]|0; - $834 = (($833) + 37|0); - HEAP8[$834>>0] = -102; + if ($833) { + $834 = HEAP32[$pLevel>>2]|0; + $835 = ((($834)) + 37|0); + HEAP8[$835>>0] = -102; } else { - $835 = HEAP32[$bRev>>2]|0; - $836 = ($835|0)!=(0); - $837 = HEAP32[$pLevel>>2]|0; - $838 = (($837) + 37|0); - if ($836) { - HEAP8[$838>>0] = 8; + $836 = HEAP32[$bRev>>2]|0; + $837 = ($836|0)!=(0); + $838 = HEAP32[$pLevel>>2]|0; + $839 = ((($838)) + 37|0); + if ($837) { + HEAP8[$839>>0] = 8; break; } else { - HEAP8[$838>>0] = 9; + HEAP8[$839>>0] = 9; break; } } } while(0); - $839 = HEAP32[$iIdxCur>>2]|0; - $840 = HEAP32[$pLevel>>2]|0; - $841 = (($840) + 40|0); - HEAP32[$841>>2] = $839; - $842 = HEAP32[$pLoop>>2]|0; - $843 = (($842) + 36|0); - $844 = HEAP32[$843>>2]|0; - $845 = $844 & 65536; - $846 = ($845|0)!=(0); - $847 = $846 ? 1 : 0; - $848 = $847&255; - $849 = HEAP32[$pLevel>>2]|0; - $850 = (($849) + 38|0); - HEAP8[$850>>0] = $848; - $851 = HEAP32[$pLoop>>2]|0; - $852 = (($851) + 36|0); - $853 = HEAP32[$852>>2]|0; - $854 = $853 & 15; - $855 = ($854|0)==(0); - if (!($855)) { + $840 = HEAP32[$iIdxCur>>2]|0; + $841 = HEAP32[$pLevel>>2]|0; + $842 = ((($841)) + 40|0); + HEAP32[$842>>2] = $840; + $843 = HEAP32[$pLoop>>2]|0; + $844 = ((($843)) + 36|0); + $845 = HEAP32[$844>>2]|0; + $846 = $845 & 65536; + $847 = ($846|0)!=(0); + $848 = $847 ? 1 : 0; + $849 = $848&255; + $850 = HEAP32[$pLevel>>2]|0; + $851 = ((($850)) + 38|0); + HEAP8[$851>>0] = $849; + $852 = HEAP32[$pLoop>>2]|0; + $853 = ((($852)) + 36|0); + $854 = HEAP32[$853>>2]|0; + $855 = $854 & 15; + $856 = ($855|0)==(0); + if (!($856)) { break; } - $856 = HEAP32[$pLevel>>2]|0; - $857 = (($856) + 39|0); - HEAP8[$857>>0] = 1; - break; - } - $858 = (($435) + 36|0); - $859 = HEAP32[$858>>2]|0; - $860 = $859 & 8192; - $861 = ($860|0)!=(0); - if (!($861)) { - $1272 = HEAP32[$pTabItem>>2]|0; - $1273 = (($1272) + 37|0); - $1274 = HEAP8[$1273>>0]|0; - $1275 = ($1274&255) >>> 3; - $1276 = $1275 & 1; - $1277 = $1276&255; - $1278 = ($1277|0)!=(0); - if ($1278) { - $1279 = HEAP32[$pLevel>>2]|0; - $1280 = (($1279) + 37|0); - HEAP8[$1280>>0] = -102; + $857 = HEAP32[$pLevel>>2]|0; + $858 = ((($857)) + 39|0); + HEAP8[$858>>0] = 1; + break; + } + $859 = ((($436)) + 36|0); + $860 = HEAP32[$859>>2]|0; + $861 = $860 & 8192; + $862 = ($861|0)!=(0); + if (!($862)) { + $1273 = HEAP32[$pTabItem>>2]|0; + $1274 = ((($1273)) + 37|0); + $1275 = HEAP8[$1274>>0]|0; + $1276 = ($1275&255) >>> 3; + $1277 = $1276 & 1; + $1278 = $1277&255; + $1279 = ($1278|0)!=(0); + if ($1279) { + $1280 = HEAP32[$pLevel>>2]|0; + $1281 = ((($1280)) + 37|0); + HEAP8[$1281>>0] = -102; break; } else { - $1281 = HEAP32[$bRev>>2]|0; - $1282 = (23624 + ($1281)|0); - $1283 = HEAP8[$1282>>0]|0; - $1284 = HEAP32[$pLevel>>2]|0; - $1285 = (($1284) + 37|0); - HEAP8[$1285>>0] = $1283; - $1286 = HEAP32[$iCur>>2]|0; - $1287 = HEAP32[$pLevel>>2]|0; - $1288 = (($1287) + 40|0); - HEAP32[$1288>>2] = $1286; - $1289 = HEAP32[$v>>2]|0; - $1290 = HEAP32[$bRev>>2]|0; - $1291 = (23632 + ($1290)|0); - $1292 = HEAP8[$1291>>0]|0; - $1293 = $1292&255; - $1294 = HEAP32[$iCur>>2]|0; - $1295 = HEAP32[$addrBrk>>2]|0; - $1296 = (_sqlite3VdbeAddOp2($1289,$1293,$1294,$1295)|0); - $1297 = (1 + ($1296))|0; - $1298 = HEAP32[$pLevel>>2]|0; - $1299 = (($1298) + 44|0); - HEAP32[$1299>>2] = $1297; - $1300 = HEAP32[$pLevel>>2]|0; - $1301 = (($1300) + 39|0); - HEAP8[$1301>>0] = 1; + $1282 = HEAP32[$bRev>>2]|0; + $1283 = (26163 + ($1282)|0); + $1284 = HEAP8[$1283>>0]|0; + $1285 = HEAP32[$pLevel>>2]|0; + $1286 = ((($1285)) + 37|0); + HEAP8[$1286>>0] = $1284; + $1287 = HEAP32[$iCur>>2]|0; + $1288 = HEAP32[$pLevel>>2]|0; + $1289 = ((($1288)) + 40|0); + HEAP32[$1289>>2] = $1287; + $1290 = HEAP32[$v>>2]|0; + $1291 = HEAP32[$bRev>>2]|0; + $1292 = (26165 + ($1291)|0); + $1293 = HEAP8[$1292>>0]|0; + $1294 = $1293&255; + $1295 = HEAP32[$iCur>>2]|0; + $1296 = HEAP32[$addrBrk>>2]|0; + $1297 = (_sqlite3VdbeAddOp2($1290,$1294,$1295,$1296)|0); + $1298 = (1 + ($1297))|0; + $1299 = HEAP32[$pLevel>>2]|0; + $1300 = ((($1299)) + 44|0); + HEAP32[$1300>>2] = $1298; + $1301 = HEAP32[$pLevel>>2]|0; + $1302 = ((($1301)) + 39|0); + HEAP8[$1302>>0] = 1; break; } } HEAP32[$pCov>>2] = 0; - $862 = HEAP32[$pParse>>2]|0; - $863 = (($862) + 68|0); - $864 = HEAP32[$863>>2]|0; - $865 = (($864) + 1)|0; - HEAP32[$863>>2] = $865; - HEAP32[$iCovCur>>2] = $864; - $866 = HEAP32[$pParse>>2]|0; - $867 = (($866) + 72|0); - $868 = HEAP32[$867>>2]|0; - $869 = (($868) + 1)|0; - HEAP32[$867>>2] = $869; - HEAP32[$regReturn>>2] = $869; + $863 = HEAP32[$pParse>>2]|0; + $864 = ((($863)) + 68|0); + $865 = HEAP32[$864>>2]|0; + $866 = (($865) + 1)|0; + HEAP32[$864>>2] = $866; + HEAP32[$iCovCur>>2] = $865; + $867 = HEAP32[$pParse>>2]|0; + $868 = ((($867)) + 72|0); + $869 = HEAP32[$868>>2]|0; + $870 = (($869) + 1)|0; + HEAP32[$868>>2] = $870; + HEAP32[$regReturn>>2] = $870; HEAP32[$regRowset>>2] = 0; HEAP32[$regRowid>>2] = 0; - $870 = HEAP32[$v>>2]|0; - $871 = (_sqlite3VdbeMakeLabel($870)|0); - HEAP32[$iLoopBody>>2] = $871; + $871 = HEAP32[$v>>2]|0; + $872 = (_sqlite3VdbeMakeLabel($871)|0); + HEAP32[$iLoopBody>>2] = $872; HEAP32[$untestedTerms>>2] = 0; HEAP32[$pAndExpr>>2] = 0; - $872 = HEAP32[$pTabItem>>2]|0; - $873 = (($872) + 16|0); - $874 = HEAP32[$873>>2]|0; - HEAP32[$pTab>>2] = $874; - $875 = HEAP32[$pLoop>>2]|0; - $876 = (($875) + 44|0); - $877 = HEAP32[$876>>2]|0; + $873 = HEAP32[$pTabItem>>2]|0; + $874 = ((($873)) + 16|0); + $875 = HEAP32[$874>>2]|0; + HEAP32[$pTab>>2] = $875; + $876 = HEAP32[$pLoop>>2]|0; + $877 = ((($876)) + 44|0); $878 = HEAP32[$877>>2]|0; - HEAP32[$pTerm>>2] = $878; - $879 = HEAP32[$pTerm>>2]|0; - $880 = (($879) + 12|0); - $881 = HEAP32[$880>>2]|0; - HEAP32[$pOrWc>>2] = $881; - $882 = HEAP32[$pLevel>>2]|0; - $883 = (($882) + 37|0); - HEAP8[$883>>0] = 18; - $884 = HEAP32[$regReturn>>2]|0; - $885 = HEAP32[$pLevel>>2]|0; - $886 = (($885) + 40|0); - HEAP32[$886>>2] = $884; - $887 = HEAP32[$3>>2]|0; - $888 = (($887) + 41|0); - $889 = HEAP8[$888>>0]|0; - $890 = $889&255; - $891 = ($890|0)>(1); - $892 = HEAP32[$3>>2]|0; + $879 = HEAP32[$878>>2]|0; + HEAP32[$pTerm>>2] = $879; + $880 = HEAP32[$pTerm>>2]|0; + $881 = ((($880)) + 12|0); + $882 = HEAP32[$881>>2]|0; + HEAP32[$pOrWc>>2] = $882; + $883 = HEAP32[$pLevel>>2]|0; + $884 = ((($883)) + 37|0); + HEAP8[$884>>0] = 18; + $885 = HEAP32[$regReturn>>2]|0; + $886 = HEAP32[$pLevel>>2]|0; + $887 = ((($886)) + 40|0); + HEAP32[$887>>2] = $885; + $888 = HEAP32[$3>>2]|0; + $889 = ((($888)) + 41|0); + $890 = HEAP8[$889>>0]|0; + $891 = $890&255; + $892 = ($891|0)>(1); + $893 = HEAP32[$3>>2]|0; L159: do { - if ($891) { - $893 = (($892) + 41|0); - $894 = HEAP8[$893>>0]|0; - $895 = $894&255; - $896 = HEAP32[$4>>2]|0; - $897 = (($895) - ($896))|0; - $898 = (($897) - 1)|0; - HEAP32[$nNotReady>>2] = $898; - $899 = HEAP32[$db>>2]|0; - $900 = HEAP32[$nNotReady>>2]|0; - $901 = ($900*72)|0; - $902 = (80 + ($901))|0; - $903 = (_sqlite3DbMallocRaw($899,$902,0)|0); - HEAP32[$pOrTab>>2] = $903; - $904 = HEAP32[$pOrTab>>2]|0; - $905 = ($904|0)==(0|0); - if ($905) { - $906 = $5; - $907 = $906; - $908 = HEAP32[$907>>2]|0; - $909 = (($906) + 4)|0; - $910 = $909; - $911 = HEAP32[$910>>2]|0; - $912 = $2; - $913 = $912; - HEAP32[$913>>2] = $908; - $914 = (($912) + 4)|0; - $915 = $914; - HEAP32[$915>>2] = $911; - $1504 = $2; - $1505 = $1504; - $1506 = HEAP32[$1505>>2]|0; - $1507 = (($1504) + 4)|0; - $1508 = $1507; - $1509 = HEAP32[$1508>>2]|0; - tempRet0 = $1509; - STACKTOP = sp;return ($1506|0); - } - $916 = HEAP32[$nNotReady>>2]|0; - $917 = (($916) + 1)|0; - $918 = $917&255; + if ($892) { + $894 = ((($893)) + 41|0); + $895 = HEAP8[$894>>0]|0; + $896 = $895&255; + $897 = HEAP32[$4>>2]|0; + $898 = (($896) - ($897))|0; + $899 = (($898) - 1)|0; + HEAP32[$nNotReady>>2] = $899; + $900 = HEAP32[$db>>2]|0; + $901 = HEAP32[$nNotReady>>2]|0; + $902 = ($901*72)|0; + $903 = (80 + ($902))|0; + $904 = (_sqlite3DbMallocRaw($900,$903,0)|0); + HEAP32[$pOrTab>>2] = $904; + $905 = HEAP32[$pOrTab>>2]|0; + $906 = ($905|0)==(0|0); + if ($906) { + $907 = $5; + $908 = $907; + $909 = HEAP32[$908>>2]|0; + $910 = (($907) + 4)|0; + $911 = $910; + $912 = HEAP32[$911>>2]|0; + $913 = $2; + $914 = $913; + HEAP32[$914>>2] = $909; + $915 = (($913) + 4)|0; + $916 = $915; + HEAP32[$916>>2] = $912; + $1505 = $2; + $1506 = $1505; + $1507 = HEAP32[$1506>>2]|0; + $1508 = (($1505) + 4)|0; + $1509 = $1508; + $1510 = HEAP32[$1509>>2]|0; + tempRet0 = ($1510); + STACKTOP = sp;return ($1507|0); + } + $917 = HEAP32[$nNotReady>>2]|0; + $918 = (($917) + 1)|0; $919 = $918&255; - $920 = HEAP32[$pOrTab>>2]|0; - $921 = (($920) + 4|0); - HEAP32[$921>>2] = $919; - $922 = HEAP32[$pOrTab>>2]|0; - $923 = (($922) + 4|0); - $924 = HEAP32[$923>>2]|0; - $925 = HEAP32[$pOrTab>>2]|0; - HEAP32[$925>>2] = $924; + $920 = $919&255; + $921 = HEAP32[$pOrTab>>2]|0; + $922 = ((($921)) + 4|0); + HEAP32[$922>>2] = $920; + $923 = HEAP32[$pOrTab>>2]|0; + $924 = ((($923)) + 4|0); + $925 = HEAP32[$924>>2]|0; $926 = HEAP32[$pOrTab>>2]|0; - $927 = (($926) + 8|0); - $928 = HEAP32[$pTabItem>>2]|0; - dest=$927+0|0; src=$928+0|0; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $929 = HEAP32[$3>>2]|0; - $930 = (($929) + 4|0); - $931 = HEAP32[$930>>2]|0; - $932 = (($931) + 8|0); - HEAP32[$origSrc>>2] = $932; + HEAP32[$926>>2] = $925; + $927 = HEAP32[$pOrTab>>2]|0; + $928 = ((($927)) + 8|0); + $929 = HEAP32[$pTabItem>>2]|0; + dest=$928; src=$929; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $930 = HEAP32[$3>>2]|0; + $931 = ((($930)) + 4|0); + $932 = HEAP32[$931>>2]|0; + $933 = ((($932)) + 8|0); + HEAP32[$origSrc>>2] = $933; HEAP32[$k>>2] = 1; while(1) { - $933 = HEAP32[$k>>2]|0; - $934 = HEAP32[$nNotReady>>2]|0; - $935 = ($933|0)<=($934|0); - if (!($935)) { + $934 = HEAP32[$k>>2]|0; + $935 = HEAP32[$nNotReady>>2]|0; + $936 = ($934|0)<=($935|0); + if (!($936)) { break L159; } - $936 = HEAP32[$k>>2]|0; - $937 = HEAP32[$pOrTab>>2]|0; - $938 = (($937) + 8|0); - $939 = (($938) + (($936*72)|0)|0); - $940 = HEAP32[$k>>2]|0; - $941 = HEAP32[$pLevel>>2]|0; - $942 = (($941) + (($940*72)|0)|0); - $943 = (($942) + 36|0); - $944 = HEAP8[$943>>0]|0; - $945 = $944&255; - $946 = HEAP32[$origSrc>>2]|0; - $947 = (($946) + (($945*72)|0)|0); - dest=$939+0|0; src=$947+0|0; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $948 = HEAP32[$k>>2]|0; - $949 = (($948) + 1)|0; - HEAP32[$k>>2] = $949; + $937 = HEAP32[$k>>2]|0; + $938 = HEAP32[$pOrTab>>2]|0; + $939 = ((($938)) + 8|0); + $940 = (($939) + (($937*72)|0)|0); + $941 = HEAP32[$k>>2]|0; + $942 = HEAP32[$pLevel>>2]|0; + $943 = (($942) + (($941*72)|0)|0); + $944 = ((($943)) + 36|0); + $945 = HEAP8[$944>>0]|0; + $946 = $945&255; + $947 = HEAP32[$origSrc>>2]|0; + $948 = (($947) + (($946*72)|0)|0); + dest=$940; src=$948; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $949 = HEAP32[$k>>2]|0; + $950 = (($949) + 1)|0; + HEAP32[$k>>2] = $950; } } else { - $950 = (($892) + 4|0); - $951 = HEAP32[$950>>2]|0; - HEAP32[$pOrTab>>2] = $951; + $951 = ((($893)) + 4|0); + $952 = HEAP32[$951>>2]|0; + HEAP32[$pOrTab>>2] = $952; } } while(0); - $952 = HEAP32[$3>>2]|0; - $953 = (($952) + 34|0); - $954 = HEAP16[$953>>1]|0; - $955 = $954&65535; - $956 = $955 & 8; - $957 = ($956|0)==(0); - if ($957) { - $958 = HEAP32[$pTab>>2]|0; - $959 = (($958) + 44|0); - $960 = HEAP8[$959>>0]|0; - $961 = $960&255; - $962 = $961 & 32; - $963 = ($962|0)==(0); - if ($963) { - $964 = HEAP32[$pParse>>2]|0; - $965 = (($964) + 72|0); - $966 = HEAP32[$965>>2]|0; - $967 = (($966) + 1)|0; - HEAP32[$965>>2] = $967; - HEAP32[$regRowset>>2] = $967; - $968 = HEAP32[$v>>2]|0; - $969 = HEAP32[$regRowset>>2]|0; - (_sqlite3VdbeAddOp2($968,28,0,$969)|0); + $953 = HEAP32[$3>>2]|0; + $954 = ((($953)) + 34|0); + $955 = HEAP16[$954>>1]|0; + $956 = $955&65535; + $957 = $956 & 8; + $958 = ($957|0)==(0); + if ($958) { + $959 = HEAP32[$pTab>>2]|0; + $960 = ((($959)) + 44|0); + $961 = HEAP8[$960>>0]|0; + $962 = $961&255; + $963 = $962 & 32; + $964 = ($963|0)==(0); + if ($964) { + $965 = HEAP32[$pParse>>2]|0; + $966 = ((($965)) + 72|0); + $967 = HEAP32[$966>>2]|0; + $968 = (($967) + 1)|0; + HEAP32[$966>>2] = $968; + HEAP32[$regRowset>>2] = $968; + $969 = HEAP32[$v>>2]|0; + $970 = HEAP32[$regRowset>>2]|0; + (_sqlite3VdbeAddOp2($969,28,0,$970)|0); } else { - $970 = HEAP32[$pTab>>2]|0; - $971 = (_sqlite3PrimaryKeyIndex($970)|0); - HEAP32[$pPk5>>2] = $971; - $972 = HEAP32[$pParse>>2]|0; - $973 = (($972) + 68|0); - $974 = HEAP32[$973>>2]|0; - $975 = (($974) + 1)|0; - HEAP32[$973>>2] = $975; - HEAP32[$regRowset>>2] = $974; - $976 = HEAP32[$v>>2]|0; - $977 = HEAP32[$regRowset>>2]|0; - $978 = HEAP32[$pPk5>>2]|0; - $979 = (($978) + 50|0); - $980 = HEAP16[$979>>1]|0; - $981 = $980&65535; - (_sqlite3VdbeAddOp2($976,57,$977,$981)|0); - $982 = HEAP32[$pParse>>2]|0; - $983 = HEAP32[$pPk5>>2]|0; - _sqlite3VdbeSetP4KeyInfo($982,$983); - } - $984 = HEAP32[$pParse>>2]|0; - $985 = (($984) + 72|0); - $986 = HEAP32[$985>>2]|0; - $987 = (($986) + 1)|0; - HEAP32[$985>>2] = $987; - HEAP32[$regRowid>>2] = $987; - } - $988 = HEAP32[$v>>2]|0; - $989 = HEAP32[$regReturn>>2]|0; - $990 = (_sqlite3VdbeAddOp2($988,25,0,$989)|0); - HEAP32[$iRetInit>>2] = $990; - $991 = HEAP32[$pWC>>2]|0; - $992 = (($991) + 12|0); - $993 = HEAP32[$992>>2]|0; - $994 = ($993|0)>(1); - if ($994) { + $971 = HEAP32[$pTab>>2]|0; + $972 = (_sqlite3PrimaryKeyIndex($971)|0); + HEAP32[$pPk5>>2] = $972; + $973 = HEAP32[$pParse>>2]|0; + $974 = ((($973)) + 68|0); + $975 = HEAP32[$974>>2]|0; + $976 = (($975) + 1)|0; + HEAP32[$974>>2] = $976; + HEAP32[$regRowset>>2] = $975; + $977 = HEAP32[$v>>2]|0; + $978 = HEAP32[$regRowset>>2]|0; + $979 = HEAP32[$pPk5>>2]|0; + $980 = ((($979)) + 50|0); + $981 = HEAP16[$980>>1]|0; + $982 = $981&65535; + (_sqlite3VdbeAddOp2($977,57,$978,$982)|0); + $983 = HEAP32[$pParse>>2]|0; + $984 = HEAP32[$pPk5>>2]|0; + _sqlite3VdbeSetP4KeyInfo($983,$984); + } + $985 = HEAP32[$pParse>>2]|0; + $986 = ((($985)) + 72|0); + $987 = HEAP32[$986>>2]|0; + $988 = (($987) + 1)|0; + HEAP32[$986>>2] = $988; + HEAP32[$regRowid>>2] = $988; + } + $989 = HEAP32[$v>>2]|0; + $990 = HEAP32[$regReturn>>2]|0; + $991 = (_sqlite3VdbeAddOp2($989,25,0,$990)|0); + HEAP32[$iRetInit>>2] = $991; + $992 = HEAP32[$pWC>>2]|0; + $993 = ((($992)) + 12|0); + $994 = HEAP32[$993>>2]|0; + $995 = ($994|0)>(1); + if ($995) { HEAP32[$iTerm>>2] = 0; while(1) { - $995 = HEAP32[$iTerm>>2]|0; - $996 = HEAP32[$pWC>>2]|0; - $997 = (($996) + 12|0); - $998 = HEAP32[$997>>2]|0; - $999 = ($995|0)<($998|0); - if (!($999)) { + $996 = HEAP32[$iTerm>>2]|0; + $997 = HEAP32[$pWC>>2]|0; + $998 = ((($997)) + 12|0); + $999 = HEAP32[$998>>2]|0; + $1000 = ($996|0)<($999|0); + if (!($1000)) { break; } - $1000 = HEAP32[$iTerm>>2]|0; - $1001 = HEAP32[$pWC>>2]|0; - $1002 = (($1001) + 20|0); - $1003 = HEAP32[$1002>>2]|0; - $1004 = (($1003) + (($1000*48)|0)|0); - $1005 = HEAP32[$1004>>2]|0; - HEAP32[$pExpr>>2] = $1005; - $1006 = HEAP32[$iTerm>>2]|0; - $1007 = HEAP32[$pWC>>2]|0; - $1008 = (($1007) + 20|0); - $1009 = HEAP32[$1008>>2]|0; - $1010 = (($1009) + (($1006*48)|0)|0); - $1011 = HEAP32[$pTerm>>2]|0; - $1012 = ($1010|0)==($1011|0); - if (!($1012)) { - $1013 = HEAP32[$pExpr>>2]|0; - $1014 = (($1013) + 4|0); - $1015 = HEAP32[$1014>>2]|0; - $1016 = $1015 & 1; - $1017 = ($1016|0)!=(0); - if (!($1017)) { - $1018 = HEAP32[$iTerm>>2]|0; - $1019 = HEAP32[$pWC>>2]|0; - $1020 = (($1019) + 20|0); - $1021 = HEAP32[$1020>>2]|0; - $1022 = (($1021) + (($1018*48)|0)|0); - $1023 = (($1022) + 20|0); - $1024 = HEAP8[$1023>>0]|0; - $1025 = $1024&255; - $1026 = $1025 & 18; - $1027 = ($1026|0)!=(0); - if (!($1027)) { - $1028 = HEAP32[$iTerm>>2]|0; - $1029 = HEAP32[$pWC>>2]|0; - $1030 = (($1029) + 20|0); - $1031 = HEAP32[$1030>>2]|0; - $1032 = (($1031) + (($1028*48)|0)|0); - $1033 = (($1032) + 18|0); - $1034 = HEAP16[$1033>>1]|0; - $1035 = $1034&65535; - $1036 = $1035 & 4095; - $1037 = ($1036|0)==(0); - if (!($1037)) { - $1038 = HEAP32[$db>>2]|0; - $1039 = HEAP32[$pExpr>>2]|0; - $1040 = (_sqlite3ExprDup($1038,$1039,0)|0); - HEAP32[$pExpr>>2] = $1040; - $1041 = HEAP32[$db>>2]|0; - $1042 = HEAP32[$pAndExpr>>2]|0; - $1043 = HEAP32[$pExpr>>2]|0; - $1044 = (_sqlite3ExprAnd($1041,$1042,$1043)|0); - HEAP32[$pAndExpr>>2] = $1044; - } - } - } - } - $1045 = HEAP32[$iTerm>>2]|0; - $1046 = (($1045) + 1)|0; - HEAP32[$iTerm>>2] = $1046; - } - $1047 = HEAP32[$pAndExpr>>2]|0; - $1048 = ($1047|0)!=(0|0); - if ($1048) { - $1049 = HEAP32[$pParse>>2]|0; - $1050 = HEAP32[$pAndExpr>>2]|0; - $1051 = (_sqlite3PExpr($1049,72,0,$1050,0)|0); - HEAP32[$pAndExpr>>2] = $1051; + $1001 = HEAP32[$iTerm>>2]|0; + $1002 = HEAP32[$pWC>>2]|0; + $1003 = ((($1002)) + 20|0); + $1004 = HEAP32[$1003>>2]|0; + $1005 = (($1004) + (($1001*48)|0)|0); + $1006 = HEAP32[$1005>>2]|0; + HEAP32[$pExpr>>2] = $1006; + $1007 = HEAP32[$iTerm>>2]|0; + $1008 = HEAP32[$pWC>>2]|0; + $1009 = ((($1008)) + 20|0); + $1010 = HEAP32[$1009>>2]|0; + $1011 = (($1010) + (($1007*48)|0)|0); + $1012 = HEAP32[$pTerm>>2]|0; + $1013 = ($1011|0)==($1012|0); + if (!($1013)) { + $1014 = HEAP32[$pExpr>>2]|0; + $1015 = ((($1014)) + 4|0); + $1016 = HEAP32[$1015>>2]|0; + $1017 = $1016 & 1; + $1018 = ($1017|0)!=(0); + if (!($1018)) { + $1019 = HEAP32[$iTerm>>2]|0; + $1020 = HEAP32[$pWC>>2]|0; + $1021 = ((($1020)) + 20|0); + $1022 = HEAP32[$1021>>2]|0; + $1023 = (($1022) + (($1019*48)|0)|0); + $1024 = ((($1023)) + 20|0); + $1025 = HEAP8[$1024>>0]|0; + $1026 = $1025&255; + $1027 = $1026 & 18; + $1028 = ($1027|0)!=(0); + if (!($1028)) { + $1029 = HEAP32[$iTerm>>2]|0; + $1030 = HEAP32[$pWC>>2]|0; + $1031 = ((($1030)) + 20|0); + $1032 = HEAP32[$1031>>2]|0; + $1033 = (($1032) + (($1029*48)|0)|0); + $1034 = ((($1033)) + 18|0); + $1035 = HEAP16[$1034>>1]|0; + $1036 = $1035&65535; + $1037 = $1036 & 4095; + $1038 = ($1037|0)==(0); + if (!($1038)) { + $1039 = HEAP32[$db>>2]|0; + $1040 = HEAP32[$pExpr>>2]|0; + $1041 = (_sqlite3ExprDup($1039,$1040,0)|0); + HEAP32[$pExpr>>2] = $1041; + $1042 = HEAP32[$db>>2]|0; + $1043 = HEAP32[$pAndExpr>>2]|0; + $1044 = HEAP32[$pExpr>>2]|0; + $1045 = (_sqlite3ExprAnd($1042,$1043,$1044)|0); + HEAP32[$pAndExpr>>2] = $1045; + } + } + } + } + $1046 = HEAP32[$iTerm>>2]|0; + $1047 = (($1046) + 1)|0; + HEAP32[$iTerm>>2] = $1047; + } + $1048 = HEAP32[$pAndExpr>>2]|0; + $1049 = ($1048|0)!=(0|0); + if ($1049) { + $1050 = HEAP32[$pParse>>2]|0; + $1051 = HEAP32[$pAndExpr>>2]|0; + $1052 = (_sqlite3PExpr($1050,72,0,$1051,0)|0); + HEAP32[$pAndExpr>>2] = $1052; } } HEAP16[$wctrlFlags>>1] = 112; HEAP32[$ii>>2] = 0; while(1) { - $1052 = HEAP32[$ii>>2]|0; - $1053 = HEAP32[$pOrWc>>2]|0; - $1054 = (($1053) + 12|0); - $1055 = HEAP32[$1054>>2]|0; - $1056 = ($1052|0)<($1055|0); - if (!($1056)) { + $1053 = HEAP32[$ii>>2]|0; + $1054 = HEAP32[$pOrWc>>2]|0; + $1055 = ((($1054)) + 12|0); + $1056 = HEAP32[$1055>>2]|0; + $1057 = ($1053|0)<($1056|0); + if (!($1057)) { break; } - $1057 = HEAP32[$ii>>2]|0; - $1058 = HEAP32[$pOrWc>>2]|0; - $1059 = (($1058) + 20|0); - $1060 = HEAP32[$1059>>2]|0; - $1061 = (($1060) + (($1057*48)|0)|0); - HEAP32[$pOrTerm>>2] = $1061; - $1062 = HEAP32[$pOrTerm>>2]|0; - $1063 = (($1062) + 8|0); - $1064 = HEAP32[$1063>>2]|0; - $1065 = HEAP32[$iCur>>2]|0; - $1066 = ($1064|0)==($1065|0); - if ($1066) { + $1058 = HEAP32[$ii>>2]|0; + $1059 = HEAP32[$pOrWc>>2]|0; + $1060 = ((($1059)) + 20|0); + $1061 = HEAP32[$1060>>2]|0; + $1062 = (($1061) + (($1058*48)|0)|0); + HEAP32[$pOrTerm>>2] = $1062; + $1063 = HEAP32[$pOrTerm>>2]|0; + $1064 = ((($1063)) + 8|0); + $1065 = HEAP32[$1064>>2]|0; + $1066 = HEAP32[$iCur>>2]|0; + $1067 = ($1065|0)==($1066|0); + if ($1067) { label = 138; } else { - $1067 = HEAP32[$pOrTerm>>2]|0; - $1068 = (($1067) + 18|0); - $1069 = HEAP16[$1068>>1]|0; - $1070 = $1069&65535; - $1071 = $1070 & 512; - $1072 = ($1071|0)!=(0); - if ($1072) { + $1068 = HEAP32[$pOrTerm>>2]|0; + $1069 = ((($1068)) + 18|0); + $1070 = HEAP16[$1069>>1]|0; + $1071 = $1070&65535; + $1072 = $1071 & 512; + $1073 = ($1072|0)!=(0); + if ($1073) { label = 138; } } if ((label|0) == 138) { label = 0; - $1073 = HEAP32[$pOrTerm>>2]|0; - $1074 = HEAP32[$1073>>2]|0; - HEAP32[$pOrExpr>>2] = $1074; + $1074 = HEAP32[$pOrTerm>>2]|0; + $1075 = HEAP32[$1074>>2]|0; + HEAP32[$pOrExpr>>2] = $1075; HEAP32[$j1>>2] = 0; - $1075 = HEAP32[$pAndExpr>>2]|0; - $1076 = ($1075|0)!=(0|0); - if ($1076) { - $1077 = HEAP32[$pOrExpr>>2]|0; - $1078 = (($1077) + 4|0); - $1079 = HEAP32[$1078>>2]|0; - $1080 = $1079 & 1; - $1081 = ($1080|0)!=(0); - if (!($1081)) { - $1082 = HEAP32[$pOrExpr>>2]|0; - $1083 = HEAP32[$pAndExpr>>2]|0; - $1084 = (($1083) + 12|0); - HEAP32[$1084>>2] = $1082; - $1085 = HEAP32[$pAndExpr>>2]|0; - HEAP32[$pOrExpr>>2] = $1085; - } - } - $1086 = HEAP32[$pParse>>2]|0; - $1087 = HEAP32[$pOrTab>>2]|0; - $1088 = HEAP32[$pOrExpr>>2]|0; - $1089 = HEAP16[$wctrlFlags>>1]|0; - $1090 = HEAP32[$iCovCur>>2]|0; - $1091 = (_sqlite3WhereBegin($1086,$1087,$1088,0,0,$1089,$1090)|0); - HEAP32[$pSubWInfo>>2] = $1091; - $1092 = HEAP32[$pSubWInfo>>2]|0; - $1093 = ($1092|0)!=(0|0); - if ($1093) { - $1094 = HEAP32[$pParse>>2]|0; - $1095 = HEAP32[$pOrTab>>2]|0; - $1096 = HEAP32[$pSubWInfo>>2]|0; - $1097 = (($1096) + 736|0); - $1098 = HEAP32[$4>>2]|0; - $1099 = HEAP32[$pLevel>>2]|0; - $1100 = (($1099) + 36|0); - $1101 = HEAP8[$1100>>0]|0; - $1102 = $1101&255; - _explainOneScan($1094,$1095,$1097,$1098,$1102,0); - $1103 = HEAP32[$3>>2]|0; - $1104 = (($1103) + 34|0); - $1105 = HEAP16[$1104>>1]|0; - $1106 = $1105&65535; - $1107 = $1106 & 8; - $1108 = ($1107|0)==(0); + $1076 = HEAP32[$pAndExpr>>2]|0; + $1077 = ($1076|0)!=(0|0); + if ($1077) { + $1078 = HEAP32[$pOrExpr>>2]|0; + $1079 = ((($1078)) + 4|0); + $1080 = HEAP32[$1079>>2]|0; + $1081 = $1080 & 1; + $1082 = ($1081|0)!=(0); + if (!($1082)) { + $1083 = HEAP32[$pOrExpr>>2]|0; + $1084 = HEAP32[$pAndExpr>>2]|0; + $1085 = ((($1084)) + 12|0); + HEAP32[$1085>>2] = $1083; + $1086 = HEAP32[$pAndExpr>>2]|0; + HEAP32[$pOrExpr>>2] = $1086; + } + } + $1087 = HEAP32[$pParse>>2]|0; + $1088 = HEAP32[$pOrTab>>2]|0; + $1089 = HEAP32[$pOrExpr>>2]|0; + $1090 = HEAP16[$wctrlFlags>>1]|0; + $1091 = HEAP32[$iCovCur>>2]|0; + $1092 = (_sqlite3WhereBegin($1087,$1088,$1089,0,0,$1090,$1091)|0); + HEAP32[$pSubWInfo>>2] = $1092; + $1093 = HEAP32[$pSubWInfo>>2]|0; + $1094 = ($1093|0)!=(0|0); + if ($1094) { + $1095 = HEAP32[$pParse>>2]|0; + $1096 = HEAP32[$pOrTab>>2]|0; + $1097 = HEAP32[$pSubWInfo>>2]|0; + $1098 = ((($1097)) + 736|0); + $1099 = HEAP32[$4>>2]|0; + $1100 = HEAP32[$pLevel>>2]|0; + $1101 = ((($1100)) + 36|0); + $1102 = HEAP8[$1101>>0]|0; + $1103 = $1102&255; + _explainOneScan($1095,$1096,$1098,$1099,$1103,0); + $1104 = HEAP32[$3>>2]|0; + $1105 = ((($1104)) + 34|0); + $1106 = HEAP16[$1105>>1]|0; + $1107 = $1106&65535; + $1108 = $1107 & 8; + $1109 = ($1108|0)==(0); do { - if ($1108) { - $1109 = HEAP32[$ii>>2]|0; - $1110 = HEAP32[$pOrWc>>2]|0; - $1111 = (($1110) + 12|0); - $1112 = HEAP32[$1111>>2]|0; - $1113 = (($1112) - 1)|0; - $1114 = ($1109|0)==($1113|0); - $1115 = HEAP32[$ii>>2]|0; - $1116 = $1114 ? -1 : $1115; - HEAP32[$iSet>>2] = $1116; - $1117 = HEAP32[$pTab>>2]|0; - $1118 = (($1117) + 44|0); - $1119 = HEAP8[$1118>>0]|0; - $1120 = $1119&255; - $1121 = $1120 & 32; - $1122 = ($1121|0)==(0); - if ($1122) { - $1123 = HEAP32[$pParse>>2]|0; - $1124 = HEAP32[$pTab>>2]|0; - $1125 = HEAP32[$iCur>>2]|0; - $1126 = HEAP32[$regRowid>>2]|0; - $1127 = (_sqlite3ExprCodeGetColumn($1123,$1124,-1,$1125,$1126,0)|0); - HEAP32[$r>>2] = $1127; - $1128 = HEAP32[$v>>2]|0; - $1129 = HEAP32[$regRowset>>2]|0; - $1130 = HEAP32[$r>>2]|0; - $1131 = HEAP32[$iSet>>2]|0; - $1132 = (_sqlite3VdbeAddOp4Int($1128,130,$1129,0,$1130,$1131)|0); - HEAP32[$j1>>2] = $1132; + if ($1109) { + $1110 = HEAP32[$ii>>2]|0; + $1111 = HEAP32[$pOrWc>>2]|0; + $1112 = ((($1111)) + 12|0); + $1113 = HEAP32[$1112>>2]|0; + $1114 = (($1113) - 1)|0; + $1115 = ($1110|0)==($1114|0); + $1116 = HEAP32[$ii>>2]|0; + $1117 = $1115 ? -1 : $1116; + HEAP32[$iSet>>2] = $1117; + $1118 = HEAP32[$pTab>>2]|0; + $1119 = ((($1118)) + 44|0); + $1120 = HEAP8[$1119>>0]|0; + $1121 = $1120&255; + $1122 = $1121 & 32; + $1123 = ($1122|0)==(0); + if ($1123) { + $1124 = HEAP32[$pParse>>2]|0; + $1125 = HEAP32[$pTab>>2]|0; + $1126 = HEAP32[$iCur>>2]|0; + $1127 = HEAP32[$regRowid>>2]|0; + $1128 = (_sqlite3ExprCodeGetColumn($1124,$1125,-1,$1126,$1127,0)|0); + HEAP32[$r>>2] = $1128; + $1129 = HEAP32[$v>>2]|0; + $1130 = HEAP32[$regRowset>>2]|0; + $1131 = HEAP32[$r>>2]|0; + $1132 = HEAP32[$iSet>>2]|0; + $1133 = (_sqlite3VdbeAddOp4Int($1129,130,$1130,0,$1131,$1132)|0); + HEAP32[$j1>>2] = $1133; break; } - $1133 = HEAP32[$pTab>>2]|0; - $1134 = (_sqlite3PrimaryKeyIndex($1133)|0); - HEAP32[$pPk6>>2] = $1134; - $1135 = HEAP32[$pPk6>>2]|0; - $1136 = (($1135) + 50|0); - $1137 = HEAP16[$1136>>1]|0; - $1138 = $1137&65535; - HEAP32[$nPk>>2] = $1138; - $1139 = HEAP32[$pParse>>2]|0; - $1140 = HEAP32[$nPk>>2]|0; - $1141 = (_sqlite3GetTempRange($1139,$1140)|0); - HEAP32[$r>>2] = $1141; + $1134 = HEAP32[$pTab>>2]|0; + $1135 = (_sqlite3PrimaryKeyIndex($1134)|0); + HEAP32[$pPk6>>2] = $1135; + $1136 = HEAP32[$pPk6>>2]|0; + $1137 = ((($1136)) + 50|0); + $1138 = HEAP16[$1137>>1]|0; + $1139 = $1138&65535; + HEAP32[$nPk>>2] = $1139; + $1140 = HEAP32[$pParse>>2]|0; + $1141 = HEAP32[$nPk>>2]|0; + $1142 = (_sqlite3GetTempRange($1140,$1141)|0); + HEAP32[$r>>2] = $1142; HEAP32[$iPk>>2] = 0; while(1) { - $1142 = HEAP32[$iPk>>2]|0; - $1143 = HEAP32[$nPk>>2]|0; - $1144 = ($1142|0)<($1143|0); - if (!($1144)) { + $1143 = HEAP32[$iPk>>2]|0; + $1144 = HEAP32[$nPk>>2]|0; + $1145 = ($1143|0)<($1144|0); + if (!($1145)) { break; } - $1145 = HEAP32[$iPk>>2]|0; - $1146 = HEAP32[$pPk6>>2]|0; - $1147 = (($1146) + 4|0); - $1148 = HEAP32[$1147>>2]|0; - $1149 = (($1148) + ($1145<<1)|0); - $1150 = HEAP16[$1149>>1]|0; - $1151 = $1150 << 16 >> 16; - HEAP32[$iCol>>2] = $1151; - $1152 = HEAP32[$pParse>>2]|0; - $1153 = HEAP32[$pTab>>2]|0; - $1154 = HEAP32[$iCol>>2]|0; - $1155 = HEAP32[$iCur>>2]|0; - $1156 = HEAP32[$r>>2]|0; - $1157 = HEAP32[$iPk>>2]|0; - $1158 = (($1156) + ($1157))|0; - (_sqlite3ExprCodeGetColumn($1152,$1153,$1154,$1155,$1158,0)|0); - $1159 = HEAP32[$iPk>>2]|0; - $1160 = (($1159) + 1)|0; - HEAP32[$iPk>>2] = $1160; - } - $1161 = HEAP32[$iSet>>2]|0; - $1162 = ($1161|0)!=(0); - if ($1162) { - $1163 = HEAP32[$v>>2]|0; - $1164 = HEAP32[$regRowset>>2]|0; - $1165 = HEAP32[$r>>2]|0; - $1166 = HEAP32[$nPk>>2]|0; - $1167 = (_sqlite3VdbeAddOp4Int($1163,69,$1164,0,$1165,$1166)|0); - HEAP32[$j1>>2] = $1167; - } - $1168 = HEAP32[$iSet>>2]|0; - $1169 = ($1168|0)>=(0); + $1146 = HEAP32[$iPk>>2]|0; + $1147 = HEAP32[$pPk6>>2]|0; + $1148 = ((($1147)) + 4|0); + $1149 = HEAP32[$1148>>2]|0; + $1150 = (($1149) + ($1146<<1)|0); + $1151 = HEAP16[$1150>>1]|0; + $1152 = $1151 << 16 >> 16; + HEAP32[$iCol>>2] = $1152; + $1153 = HEAP32[$pParse>>2]|0; + $1154 = HEAP32[$pTab>>2]|0; + $1155 = HEAP32[$iCol>>2]|0; + $1156 = HEAP32[$iCur>>2]|0; + $1157 = HEAP32[$r>>2]|0; + $1158 = HEAP32[$iPk>>2]|0; + $1159 = (($1157) + ($1158))|0; + (_sqlite3ExprCodeGetColumn($1153,$1154,$1155,$1156,$1159,0)|0); + $1160 = HEAP32[$iPk>>2]|0; + $1161 = (($1160) + 1)|0; + HEAP32[$iPk>>2] = $1161; + } + $1162 = HEAP32[$iSet>>2]|0; + $1163 = ($1162|0)!=(0); + if ($1163) { + $1164 = HEAP32[$v>>2]|0; + $1165 = HEAP32[$regRowset>>2]|0; + $1166 = HEAP32[$r>>2]|0; + $1167 = HEAP32[$nPk>>2]|0; + $1168 = (_sqlite3VdbeAddOp4Int($1164,69,$1165,0,$1166,$1167)|0); + HEAP32[$j1>>2] = $1168; + } + $1169 = HEAP32[$iSet>>2]|0; + $1170 = ($1169|0)>=(0); do { - if ($1169) { - $1170 = HEAP32[$v>>2]|0; - $1171 = HEAP32[$r>>2]|0; - $1172 = HEAP32[$nPk>>2]|0; - $1173 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($1170,49,$1171,$1172,$1173)|0); - $1174 = HEAP32[$v>>2]|0; - $1175 = HEAP32[$regRowset>>2]|0; - $1176 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($1174,110,$1175,$1176,0)|0); - $1177 = HEAP32[$iSet>>2]|0; - $1178 = ($1177|0)!=(0); - if (!($1178)) { + if ($1170) { + $1171 = HEAP32[$v>>2]|0; + $1172 = HEAP32[$r>>2]|0; + $1173 = HEAP32[$nPk>>2]|0; + $1174 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($1171,49,$1172,$1173,$1174)|0); + $1175 = HEAP32[$v>>2]|0; + $1176 = HEAP32[$regRowset>>2]|0; + $1177 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($1175,110,$1176,$1177,0)|0); + $1178 = HEAP32[$iSet>>2]|0; + $1179 = ($1178|0)!=(0); + if (!($1179)) { break; } - $1179 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1179,16); + $1180 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($1180,16); } } while(0); - $1180 = HEAP32[$pParse>>2]|0; - $1181 = HEAP32[$r>>2]|0; - $1182 = HEAP32[$nPk>>2]|0; - _sqlite3ReleaseTempRange($1180,$1181,$1182); + $1181 = HEAP32[$pParse>>2]|0; + $1182 = HEAP32[$r>>2]|0; + $1183 = HEAP32[$nPk>>2]|0; + _sqlite3ReleaseTempRange($1181,$1182,$1183); } } while(0); - $1183 = HEAP32[$v>>2]|0; - $1184 = HEAP32[$regReturn>>2]|0; - $1185 = HEAP32[$iLoopBody>>2]|0; - (_sqlite3VdbeAddOp2($1183,17,$1184,$1185)|0); - $1186 = HEAP32[$j1>>2]|0; - $1187 = ($1186|0)!=(0); - if ($1187) { - $1188 = HEAP32[$v>>2]|0; - $1189 = HEAP32[$j1>>2]|0; - _sqlite3VdbeJumpHere($1188,$1189); - } - $1190 = HEAP32[$pSubWInfo>>2]|0; - $1191 = (($1190) + 39|0); - $1192 = HEAP8[$1191>>0]|0; - $1193 = ($1192<<24>>24)!=(0); - if ($1193) { + $1184 = HEAP32[$v>>2]|0; + $1185 = HEAP32[$regReturn>>2]|0; + $1186 = HEAP32[$iLoopBody>>2]|0; + (_sqlite3VdbeAddOp2($1184,17,$1185,$1186)|0); + $1187 = HEAP32[$j1>>2]|0; + $1188 = ($1187|0)!=(0); + if ($1188) { + $1189 = HEAP32[$v>>2]|0; + $1190 = HEAP32[$j1>>2]|0; + _sqlite3VdbeJumpHere($1189,$1190); + } + $1191 = HEAP32[$pSubWInfo>>2]|0; + $1192 = ((($1191)) + 39|0); + $1193 = HEAP8[$1192>>0]|0; + $1194 = ($1193<<24>>24)!=(0); + if ($1194) { HEAP32[$untestedTerms>>2] = 1; } - $1194 = HEAP32[$pSubWInfo>>2]|0; - $1195 = (($1194) + 736|0); - $1196 = (($1195) + 56|0); - $1197 = HEAP32[$1196>>2]|0; - HEAP32[$pSubLoop>>2] = $1197; - $1198 = HEAP32[$pSubLoop>>2]|0; - $1199 = (($1198) + 36|0); - $1200 = HEAP32[$1199>>2]|0; - $1201 = $1200 & 512; - $1202 = ($1201|0)!=(0); + $1195 = HEAP32[$pSubWInfo>>2]|0; + $1196 = ((($1195)) + 736|0); + $1197 = ((($1196)) + 56|0); + $1198 = HEAP32[$1197>>2]|0; + HEAP32[$pSubLoop>>2] = $1198; + $1199 = HEAP32[$pSubLoop>>2]|0; + $1200 = ((($1199)) + 36|0); + $1201 = HEAP32[$1200>>2]|0; + $1202 = $1201 & 512; + $1203 = ($1202|0)!=(0); do { - if ($1202) { - $1203 = HEAP32[$ii>>2]|0; - $1204 = ($1203|0)==(0); - if (!($1204)) { - $1205 = HEAP32[$pSubLoop>>2]|0; - $1206 = (($1205) + 24|0); - $1207 = (($1206) + 4|0); - $1208 = HEAP32[$1207>>2]|0; - $1209 = HEAP32[$pCov>>2]|0; - $1210 = ($1208|0)==($1209|0); - if (!($1210)) { + if ($1203) { + $1204 = HEAP32[$ii>>2]|0; + $1205 = ($1204|0)==(0); + if (!($1205)) { + $1206 = HEAP32[$pSubLoop>>2]|0; + $1207 = ((($1206)) + 24|0); + $1208 = ((($1207)) + 4|0); + $1209 = HEAP32[$1208>>2]|0; + $1210 = HEAP32[$pCov>>2]|0; + $1211 = ($1209|0)==($1210|0); + if (!($1211)) { label = 164; break; } } - $1211 = HEAP32[$pTab>>2]|0; - $1212 = (($1211) + 44|0); - $1213 = HEAP8[$1212>>0]|0; - $1214 = $1213&255; - $1215 = $1214 & 32; - $1216 = ($1215|0)==(0); - if (!($1216)) { - $1217 = HEAP32[$pSubLoop>>2]|0; - $1218 = (($1217) + 24|0); - $1219 = (($1218) + 4|0); - $1220 = HEAP32[$1219>>2]|0; - $1221 = (($1220) + 55|0); - $1222 = HEAP8[$1221>>0]|0; - $1223 = $1222 & 3; - $1224 = $1223&255; - $1225 = ($1224|0)==(2); - if ($1225) { + $1212 = HEAP32[$pTab>>2]|0; + $1213 = ((($1212)) + 44|0); + $1214 = HEAP8[$1213>>0]|0; + $1215 = $1214&255; + $1216 = $1215 & 32; + $1217 = ($1216|0)==(0); + if (!($1217)) { + $1218 = HEAP32[$pSubLoop>>2]|0; + $1219 = ((($1218)) + 24|0); + $1220 = ((($1219)) + 4|0); + $1221 = HEAP32[$1220>>2]|0; + $1222 = ((($1221)) + 55|0); + $1223 = HEAP8[$1222>>0]|0; + $1224 = $1223 & 3; + $1225 = $1224&255; + $1226 = ($1225|0)==(2); + if ($1226) { label = 164; break; } } - $1226 = HEAP32[$pSubLoop>>2]|0; - $1227 = (($1226) + 24|0); - $1228 = (($1227) + 4|0); - $1229 = HEAP32[$1228>>2]|0; - HEAP32[$pCov>>2] = $1229; - $1230 = HEAP16[$wctrlFlags>>1]|0; - $1231 = $1230&65535; - $1232 = $1231 | 4096; - $1233 = $1232&65535; - HEAP16[$wctrlFlags>>1] = $1233; + $1227 = HEAP32[$pSubLoop>>2]|0; + $1228 = ((($1227)) + 24|0); + $1229 = ((($1228)) + 4|0); + $1230 = HEAP32[$1229>>2]|0; + HEAP32[$pCov>>2] = $1230; + $1231 = HEAP16[$wctrlFlags>>1]|0; + $1232 = $1231&65535; + $1233 = $1232 | 4096; + $1234 = $1233&65535; + HEAP16[$wctrlFlags>>1] = $1234; } else { label = 164; } @@ -125047,357 +126089,357 @@ function _codeOneLoopStart($pWInfo,$iLevel,$0,$1) { label = 0; HEAP32[$pCov>>2] = 0; } - $1234 = HEAP32[$pSubWInfo>>2]|0; - _sqlite3WhereEnd($1234); - } - } - $1235 = HEAP32[$ii>>2]|0; - $1236 = (($1235) + 1)|0; - HEAP32[$ii>>2] = $1236; - } - $1237 = HEAP32[$pCov>>2]|0; - $1238 = HEAP32[$pLevel>>2]|0; - $1239 = (($1238) + 48|0); - HEAP32[$1239>>2] = $1237; - $1240 = HEAP32[$pCov>>2]|0; - $1241 = ($1240|0)!=(0|0); - if ($1241) { - $1242 = HEAP32[$iCovCur>>2]|0; - $1243 = HEAP32[$pLevel>>2]|0; - $1244 = (($1243) + 8|0); - HEAP32[$1244>>2] = $1242; - } - $1245 = HEAP32[$pAndExpr>>2]|0; - $1246 = ($1245|0)!=(0|0); - if ($1246) { - $1247 = HEAP32[$pAndExpr>>2]|0; - $1248 = (($1247) + 12|0); - HEAP32[$1248>>2] = 0; - $1249 = HEAP32[$db>>2]|0; - $1250 = HEAP32[$pAndExpr>>2]|0; - _sqlite3ExprDelete($1249,$1250); - } - $1251 = HEAP32[$v>>2]|0; - $1252 = HEAP32[$iRetInit>>2]|0; - $1253 = HEAP32[$v>>2]|0; - $1254 = (_sqlite3VdbeCurrentAddr($1253)|0); - _sqlite3VdbeChangeP1($1251,$1252,$1254); - $1255 = HEAP32[$v>>2]|0; - $1256 = HEAP32[$pLevel>>2]|0; - $1257 = (($1256) + 12|0); - $1258 = HEAP32[$1257>>2]|0; - (_sqlite3VdbeAddOp2($1255,16,0,$1258)|0); - $1259 = HEAP32[$v>>2]|0; - $1260 = HEAP32[$iLoopBody>>2]|0; - _sqlite3VdbeResolveLabel($1259,$1260); - $1261 = HEAP32[$3>>2]|0; - $1262 = (($1261) + 41|0); - $1263 = HEAP8[$1262>>0]|0; - $1264 = $1263&255; - $1265 = ($1264|0)>(1); - if ($1265) { - $1266 = HEAP32[$db>>2]|0; - $1267 = HEAP32[$pOrTab>>2]|0; - _sqlite3DbFree($1266,$1267); - } - $1268 = HEAP32[$untestedTerms>>2]|0; - $1269 = ($1268|0)!=(0); - if (!($1269)) { - $1270 = HEAP32[$pLevel>>2]|0; - $1271 = HEAP32[$pTerm>>2]|0; - _disableTerm($1270,$1271); + $1235 = HEAP32[$pSubWInfo>>2]|0; + _sqlite3WhereEnd($1235); + } + } + $1236 = HEAP32[$ii>>2]|0; + $1237 = (($1236) + 1)|0; + HEAP32[$ii>>2] = $1237; + } + $1238 = HEAP32[$pCov>>2]|0; + $1239 = HEAP32[$pLevel>>2]|0; + $1240 = ((($1239)) + 48|0); + HEAP32[$1240>>2] = $1238; + $1241 = HEAP32[$pCov>>2]|0; + $1242 = ($1241|0)!=(0|0); + if ($1242) { + $1243 = HEAP32[$iCovCur>>2]|0; + $1244 = HEAP32[$pLevel>>2]|0; + $1245 = ((($1244)) + 8|0); + HEAP32[$1245>>2] = $1243; + } + $1246 = HEAP32[$pAndExpr>>2]|0; + $1247 = ($1246|0)!=(0|0); + if ($1247) { + $1248 = HEAP32[$pAndExpr>>2]|0; + $1249 = ((($1248)) + 12|0); + HEAP32[$1249>>2] = 0; + $1250 = HEAP32[$db>>2]|0; + $1251 = HEAP32[$pAndExpr>>2]|0; + _sqlite3ExprDelete($1250,$1251); + } + $1252 = HEAP32[$v>>2]|0; + $1253 = HEAP32[$iRetInit>>2]|0; + $1254 = HEAP32[$v>>2]|0; + $1255 = (_sqlite3VdbeCurrentAddr($1254)|0); + _sqlite3VdbeChangeP1($1252,$1253,$1255); + $1256 = HEAP32[$v>>2]|0; + $1257 = HEAP32[$pLevel>>2]|0; + $1258 = ((($1257)) + 12|0); + $1259 = HEAP32[$1258>>2]|0; + (_sqlite3VdbeAddOp2($1256,16,0,$1259)|0); + $1260 = HEAP32[$v>>2]|0; + $1261 = HEAP32[$iLoopBody>>2]|0; + _sqlite3VdbeResolveLabel($1260,$1261); + $1262 = HEAP32[$3>>2]|0; + $1263 = ((($1262)) + 41|0); + $1264 = HEAP8[$1263>>0]|0; + $1265 = $1264&255; + $1266 = ($1265|0)>(1); + if ($1266) { + $1267 = HEAP32[$db>>2]|0; + $1268 = HEAP32[$pOrTab>>2]|0; + _sqlite3DbFree($1267,$1268); + } + $1269 = HEAP32[$untestedTerms>>2]|0; + $1270 = ($1269|0)!=(0); + if (!($1270)) { + $1271 = HEAP32[$pLevel>>2]|0; + $1272 = HEAP32[$pTerm>>2]|0; + _disableTerm($1271,$1272); } } } while(0); - $1302 = HEAP32[$pWC>>2]|0; - $1303 = (($1302) + 20|0); - $1304 = HEAP32[$1303>>2]|0; - HEAP32[$pTerm>>2] = $1304; - $1305 = HEAP32[$pWC>>2]|0; - $1306 = (($1305) + 12|0); - $1307 = HEAP32[$1306>>2]|0; - HEAP32[$j>>2] = $1307; + $1303 = HEAP32[$pWC>>2]|0; + $1304 = ((($1303)) + 20|0); + $1305 = HEAP32[$1304>>2]|0; + HEAP32[$pTerm>>2] = $1305; + $1306 = HEAP32[$pWC>>2]|0; + $1307 = ((($1306)) + 12|0); + $1308 = HEAP32[$1307>>2]|0; + HEAP32[$j>>2] = $1308; while(1) { - $1308 = HEAP32[$j>>2]|0; - $1309 = ($1308|0)>(0); - if (!($1309)) { + $1309 = HEAP32[$j>>2]|0; + $1310 = ($1309|0)>(0); + if (!($1310)) { break; } - $1310 = HEAP32[$pTerm>>2]|0; - $1311 = (($1310) + 20|0); - $1312 = HEAP8[$1311>>0]|0; - $1313 = $1312&255; - $1314 = $1313 & 6; - $1315 = ($1314|0)!=(0); + $1311 = HEAP32[$pTerm>>2]|0; + $1312 = ((($1311)) + 20|0); + $1313 = HEAP8[$1312>>0]|0; + $1314 = $1313&255; + $1315 = $1314 & 6; + $1316 = ($1315|0)!=(0); do { - if (!($1315)) { - $1316 = HEAP32[$pTerm>>2]|0; - $1317 = (($1316) + 40|0); - $1318 = $1317; + if (!($1316)) { + $1317 = HEAP32[$pTerm>>2]|0; + $1318 = ((($1317)) + 40|0); $1319 = $1318; - $1320 = HEAP32[$1319>>2]|0; - $1321 = (($1318) + 4)|0; - $1322 = $1321; - $1323 = HEAP32[$1322>>2]|0; - $1324 = HEAP32[$pLevel>>2]|0; - $1325 = (($1324) + 64|0); - $1326 = $1325; + $1320 = $1319; + $1321 = HEAP32[$1320>>2]|0; + $1322 = (($1319) + 4)|0; + $1323 = $1322; + $1324 = HEAP32[$1323>>2]|0; + $1325 = HEAP32[$pLevel>>2]|0; + $1326 = ((($1325)) + 64|0); $1327 = $1326; - $1328 = HEAP32[$1327>>2]|0; - $1329 = (($1326) + 4)|0; - $1330 = $1329; - $1331 = HEAP32[$1330>>2]|0; - $1332 = $1320 & $1328; - $1333 = $1323 & $1331; - $1334 = ($1332|0)!=(0); + $1328 = $1327; + $1329 = HEAP32[$1328>>2]|0; + $1330 = (($1327) + 4)|0; + $1331 = $1330; + $1332 = HEAP32[$1331>>2]|0; + $1333 = $1321 & $1329; + $1334 = $1324 & $1332; $1335 = ($1333|0)!=(0); - $1336 = $1334 | $1335; - if ($1336) { - $1337 = HEAP32[$3>>2]|0; - $1338 = (($1337) + 39|0); - HEAP8[$1338>>0] = 1; + $1336 = ($1334|0)!=(0); + $1337 = $1335 | $1336; + if ($1337) { + $1338 = HEAP32[$3>>2]|0; + $1339 = ((($1338)) + 39|0); + HEAP8[$1339>>0] = 1; break; } - $1339 = HEAP32[$pTerm>>2]|0; - $1340 = HEAP32[$1339>>2]|0; - HEAP32[$pE>>2] = $1340; - $1341 = HEAP32[$pLevel>>2]|0; - $1342 = HEAP32[$1341>>2]|0; - $1343 = ($1342|0)!=(0); - if ($1343) { - $1344 = HEAP32[$pE>>2]|0; - $1345 = (($1344) + 4|0); - $1346 = HEAP32[$1345>>2]|0; - $1347 = $1346 & 1; - $1348 = ($1347|0)!=(0); - if (!($1348)) { + $1340 = HEAP32[$pTerm>>2]|0; + $1341 = HEAP32[$1340>>2]|0; + HEAP32[$pE>>2] = $1341; + $1342 = HEAP32[$pLevel>>2]|0; + $1343 = HEAP32[$1342>>2]|0; + $1344 = ($1343|0)!=(0); + if ($1344) { + $1345 = HEAP32[$pE>>2]|0; + $1346 = ((($1345)) + 4|0); + $1347 = HEAP32[$1346>>2]|0; + $1348 = $1347 & 1; + $1349 = ($1348|0)!=(0); + if (!($1349)) { break; } } - $1349 = HEAP32[$pParse>>2]|0; - $1350 = HEAP32[$pE>>2]|0; - $1351 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1349,$1350,$1351,16); - $1352 = HEAP32[$pTerm>>2]|0; - $1353 = (($1352) + 20|0); - $1354 = HEAP8[$1353>>0]|0; - $1355 = $1354&255; - $1356 = $1355 | 4; - $1357 = $1356&255; - HEAP8[$1353>>0] = $1357; + $1350 = HEAP32[$pParse>>2]|0; + $1351 = HEAP32[$pE>>2]|0; + $1352 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1350,$1351,$1352,16); + $1353 = HEAP32[$pTerm>>2]|0; + $1354 = ((($1353)) + 20|0); + $1355 = HEAP8[$1354>>0]|0; + $1356 = $1355&255; + $1357 = $1356 | 4; + $1358 = $1357&255; + HEAP8[$1354>>0] = $1358; } } while(0); - $1358 = HEAP32[$j>>2]|0; - $1359 = (($1358) + -1)|0; - HEAP32[$j>>2] = $1359; - $1360 = HEAP32[$pTerm>>2]|0; - $1361 = (($1360) + 48|0); - HEAP32[$pTerm>>2] = $1361; - } - $1362 = HEAP32[$pWC>>2]|0; - $1363 = (($1362) + 20|0); - $1364 = HEAP32[$1363>>2]|0; - HEAP32[$pTerm>>2] = $1364; - $1365 = HEAP32[$pWC>>2]|0; - $1366 = (($1365) + 12|0); - $1367 = HEAP32[$1366>>2]|0; - HEAP32[$j>>2] = $1367; + $1359 = HEAP32[$j>>2]|0; + $1360 = (($1359) + -1)|0; + HEAP32[$j>>2] = $1360; + $1361 = HEAP32[$pTerm>>2]|0; + $1362 = ((($1361)) + 48|0); + HEAP32[$pTerm>>2] = $1362; + } + $1363 = HEAP32[$pWC>>2]|0; + $1364 = ((($1363)) + 20|0); + $1365 = HEAP32[$1364>>2]|0; + HEAP32[$pTerm>>2] = $1365; + $1366 = HEAP32[$pWC>>2]|0; + $1367 = ((($1366)) + 12|0); + $1368 = HEAP32[$1367>>2]|0; + HEAP32[$j>>2] = $1368; while(1) { - $1368 = HEAP32[$j>>2]|0; - $1369 = ($1368|0)>(0); - if (!($1369)) { - break; - } - $1370 = HEAP32[$pTerm>>2]|0; - $1371 = (($1370) + 20|0); - $1372 = HEAP8[$1371>>0]|0; - $1373 = $1372&255; - $1374 = $1373 & 6; - $1375 = ($1374|0)!=(0); - if (!($1375)) { - $1376 = HEAP32[$pTerm>>2]|0; - $1377 = (($1376) + 18|0); - $1378 = HEAP16[$1377>>1]|0; - $1379 = $1378&65535; - $1380 = ($1379|0)!=(1026); - if (!($1380)) { - $1381 = HEAP32[$pTerm>>2]|0; - $1382 = (($1381) + 8|0); - $1383 = HEAP32[$1382>>2]|0; - $1384 = HEAP32[$iCur>>2]|0; - $1385 = ($1383|0)!=($1384|0); - if (!($1385)) { - $1386 = HEAP32[$pLevel>>2]|0; - $1387 = HEAP32[$1386>>2]|0; - $1388 = ($1387|0)!=(0); - if (!($1388)) { - $1389 = HEAP32[$pTerm>>2]|0; - $1390 = HEAP32[$1389>>2]|0; - HEAP32[$pE7>>2] = $1390; - $1391 = HEAP32[$pWC>>2]|0; - $1392 = HEAP32[$iCur>>2]|0; - $1393 = HEAP32[$pTerm>>2]|0; - $1394 = (($1393) + 12|0); - $1395 = HEAP32[$1394>>2]|0; - $1396 = $5; - $1397 = $1396; - $1398 = HEAP32[$1397>>2]|0; - $1399 = (($1396) + 4)|0; - $1400 = $1399; - $1401 = HEAP32[$1400>>2]|0; - $1402 = (_findTerm($1391,$1392,$1395,$1398,$1401,3,0)|0); - HEAP32[$pAlt>>2] = $1402; - $1403 = HEAP32[$pAlt>>2]|0; - $1404 = ($1403|0)==(0|0); - if (!($1404)) { - $1405 = HEAP32[$pAlt>>2]|0; - $1406 = (($1405) + 20|0); - $1407 = HEAP8[$1406>>0]|0; - $1408 = $1407&255; - $1409 = $1408 & 4; - $1410 = ($1409|0)!=(0); - if (!($1410)) { - $1411 = HEAP32[$db>>2]|0; - $1412 = (_sqlite3DbMallocRaw($1411,48,0)|0); - HEAP32[$pEAlt>>2] = $1412; - $1413 = HEAP32[$pEAlt>>2]|0; - $1414 = ($1413|0)!=(0|0); - if ($1414) { - $1415 = HEAP32[$pEAlt>>2]|0; - $1416 = HEAP32[$pAlt>>2]|0; - $1417 = HEAP32[$1416>>2]|0; - dest=$1415+0|0; src=$1417+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1418 = HEAP32[$pE7>>2]|0; - $1419 = (($1418) + 12|0); - $1420 = HEAP32[$1419>>2]|0; - $1421 = HEAP32[$pEAlt>>2]|0; - $1422 = (($1421) + 12|0); - HEAP32[$1422>>2] = $1420; - $1423 = HEAP32[$pParse>>2]|0; - $1424 = HEAP32[$pEAlt>>2]|0; - $1425 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1423,$1424,$1425,16); - $1426 = HEAP32[$db>>2]|0; - $1427 = HEAP32[$pEAlt>>2]|0; - _sqlite3DbFree($1426,$1427); - } - } - } - } - } - } - } - $1428 = HEAP32[$j>>2]|0; - $1429 = (($1428) + -1)|0; - HEAP32[$j>>2] = $1429; - $1430 = HEAP32[$pTerm>>2]|0; - $1431 = (($1430) + 48|0); - HEAP32[$pTerm>>2] = $1431; - } - $1432 = HEAP32[$pLevel>>2]|0; - $1433 = HEAP32[$1432>>2]|0; - $1434 = ($1433|0)!=(0); + $1369 = HEAP32[$j>>2]|0; + $1370 = ($1369|0)>(0); + if (!($1370)) { + break; + } + $1371 = HEAP32[$pTerm>>2]|0; + $1372 = ((($1371)) + 20|0); + $1373 = HEAP8[$1372>>0]|0; + $1374 = $1373&255; + $1375 = $1374 & 6; + $1376 = ($1375|0)!=(0); + if (!($1376)) { + $1377 = HEAP32[$pTerm>>2]|0; + $1378 = ((($1377)) + 18|0); + $1379 = HEAP16[$1378>>1]|0; + $1380 = $1379&65535; + $1381 = ($1380|0)!=(1026); + if (!($1381)) { + $1382 = HEAP32[$pTerm>>2]|0; + $1383 = ((($1382)) + 8|0); + $1384 = HEAP32[$1383>>2]|0; + $1385 = HEAP32[$iCur>>2]|0; + $1386 = ($1384|0)!=($1385|0); + if (!($1386)) { + $1387 = HEAP32[$pLevel>>2]|0; + $1388 = HEAP32[$1387>>2]|0; + $1389 = ($1388|0)!=(0); + if (!($1389)) { + $1390 = HEAP32[$pTerm>>2]|0; + $1391 = HEAP32[$1390>>2]|0; + HEAP32[$pE7>>2] = $1391; + $1392 = HEAP32[$pWC>>2]|0; + $1393 = HEAP32[$iCur>>2]|0; + $1394 = HEAP32[$pTerm>>2]|0; + $1395 = ((($1394)) + 12|0); + $1396 = HEAP32[$1395>>2]|0; + $1397 = $5; + $1398 = $1397; + $1399 = HEAP32[$1398>>2]|0; + $1400 = (($1397) + 4)|0; + $1401 = $1400; + $1402 = HEAP32[$1401>>2]|0; + $1403 = (_findTerm($1392,$1393,$1396,$1399,$1402,3,0)|0); + HEAP32[$pAlt>>2] = $1403; + $1404 = HEAP32[$pAlt>>2]|0; + $1405 = ($1404|0)==(0|0); + if (!($1405)) { + $1406 = HEAP32[$pAlt>>2]|0; + $1407 = ((($1406)) + 20|0); + $1408 = HEAP8[$1407>>0]|0; + $1409 = $1408&255; + $1410 = $1409 & 4; + $1411 = ($1410|0)!=(0); + if (!($1411)) { + $1412 = HEAP32[$db>>2]|0; + $1413 = (_sqlite3DbMallocRaw($1412,48,0)|0); + HEAP32[$pEAlt>>2] = $1413; + $1414 = HEAP32[$pEAlt>>2]|0; + $1415 = ($1414|0)!=(0|0); + if ($1415) { + $1416 = HEAP32[$pEAlt>>2]|0; + $1417 = HEAP32[$pAlt>>2]|0; + $1418 = HEAP32[$1417>>2]|0; + dest=$1416; src=$1418; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1419 = HEAP32[$pE7>>2]|0; + $1420 = ((($1419)) + 12|0); + $1421 = HEAP32[$1420>>2]|0; + $1422 = HEAP32[$pEAlt>>2]|0; + $1423 = ((($1422)) + 12|0); + HEAP32[$1423>>2] = $1421; + $1424 = HEAP32[$pParse>>2]|0; + $1425 = HEAP32[$pEAlt>>2]|0; + $1426 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1424,$1425,$1426,16); + $1427 = HEAP32[$db>>2]|0; + $1428 = HEAP32[$pEAlt>>2]|0; + _sqlite3DbFree($1427,$1428); + } + } + } + } + } + } + } + $1429 = HEAP32[$j>>2]|0; + $1430 = (($1429) + -1)|0; + HEAP32[$j>>2] = $1430; + $1431 = HEAP32[$pTerm>>2]|0; + $1432 = ((($1431)) + 48|0); + HEAP32[$pTerm>>2] = $1432; + } + $1433 = HEAP32[$pLevel>>2]|0; + $1434 = HEAP32[$1433>>2]|0; + $1435 = ($1434|0)!=(0); L276: do { - if ($1434) { - $1435 = HEAP32[$v>>2]|0; - $1436 = (_sqlite3VdbeCurrentAddr($1435)|0); - $1437 = HEAP32[$pLevel>>2]|0; - $1438 = (($1437) + 28|0); - HEAP32[$1438>>2] = $1436; - $1439 = HEAP32[$v>>2]|0; - $1440 = HEAP32[$pLevel>>2]|0; - $1441 = HEAP32[$1440>>2]|0; - (_sqlite3VdbeAddOp2($1439,25,1,$1441)|0); - $1442 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCacheClear($1442); - $1443 = HEAP32[$pWC>>2]|0; - $1444 = (($1443) + 20|0); - $1445 = HEAP32[$1444>>2]|0; - HEAP32[$pTerm>>2] = $1445; + if ($1435) { + $1436 = HEAP32[$v>>2]|0; + $1437 = (_sqlite3VdbeCurrentAddr($1436)|0); + $1438 = HEAP32[$pLevel>>2]|0; + $1439 = ((($1438)) + 28|0); + HEAP32[$1439>>2] = $1437; + $1440 = HEAP32[$v>>2]|0; + $1441 = HEAP32[$pLevel>>2]|0; + $1442 = HEAP32[$1441>>2]|0; + (_sqlite3VdbeAddOp2($1440,25,1,$1442)|0); + $1443 = HEAP32[$pParse>>2]|0; + _sqlite3ExprCacheClear($1443); + $1444 = HEAP32[$pWC>>2]|0; + $1445 = ((($1444)) + 20|0); + $1446 = HEAP32[$1445>>2]|0; + HEAP32[$pTerm>>2] = $1446; HEAP32[$j>>2] = 0; while(1) { - $1446 = HEAP32[$j>>2]|0; - $1447 = HEAP32[$pWC>>2]|0; - $1448 = (($1447) + 12|0); - $1449 = HEAP32[$1448>>2]|0; - $1450 = ($1446|0)<($1449|0); - if (!($1450)) { + $1447 = HEAP32[$j>>2]|0; + $1448 = HEAP32[$pWC>>2]|0; + $1449 = ((($1448)) + 12|0); + $1450 = HEAP32[$1449>>2]|0; + $1451 = ($1447|0)<($1450|0); + if (!($1451)) { break L276; } - $1451 = HEAP32[$pTerm>>2]|0; - $1452 = (($1451) + 20|0); - $1453 = HEAP8[$1452>>0]|0; - $1454 = $1453&255; - $1455 = $1454 & 6; - $1456 = ($1455|0)!=(0); - if (!($1456)) { - $1457 = HEAP32[$pTerm>>2]|0; - $1458 = (($1457) + 40|0); - $1459 = $1458; + $1452 = HEAP32[$pTerm>>2]|0; + $1453 = ((($1452)) + 20|0); + $1454 = HEAP8[$1453>>0]|0; + $1455 = $1454&255; + $1456 = $1455 & 6; + $1457 = ($1456|0)!=(0); + if (!($1457)) { + $1458 = HEAP32[$pTerm>>2]|0; + $1459 = ((($1458)) + 40|0); $1460 = $1459; - $1461 = HEAP32[$1460>>2]|0; - $1462 = (($1459) + 4)|0; - $1463 = $1462; - $1464 = HEAP32[$1463>>2]|0; - $1465 = HEAP32[$pLevel>>2]|0; - $1466 = (($1465) + 64|0); - $1467 = $1466; + $1461 = $1460; + $1462 = HEAP32[$1461>>2]|0; + $1463 = (($1460) + 4)|0; + $1464 = $1463; + $1465 = HEAP32[$1464>>2]|0; + $1466 = HEAP32[$pLevel>>2]|0; + $1467 = ((($1466)) + 64|0); $1468 = $1467; - $1469 = HEAP32[$1468>>2]|0; - $1470 = (($1467) + 4)|0; - $1471 = $1470; - $1472 = HEAP32[$1471>>2]|0; - $1473 = $1461 & $1469; - $1474 = $1464 & $1472; - $1475 = ($1473|0)!=(0); + $1469 = $1468; + $1470 = HEAP32[$1469>>2]|0; + $1471 = (($1468) + 4)|0; + $1472 = $1471; + $1473 = HEAP32[$1472>>2]|0; + $1474 = $1462 & $1470; + $1475 = $1465 & $1473; $1476 = ($1474|0)!=(0); - $1477 = $1475 | $1476; - if (!($1477)) { - $1478 = HEAP32[$pParse>>2]|0; - $1479 = HEAP32[$pTerm>>2]|0; - $1480 = HEAP32[$1479>>2]|0; - $1481 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1478,$1480,$1481,16); - $1482 = HEAP32[$pTerm>>2]|0; - $1483 = (($1482) + 20|0); - $1484 = HEAP8[$1483>>0]|0; - $1485 = $1484&255; - $1486 = $1485 | 4; - $1487 = $1486&255; - HEAP8[$1483>>0] = $1487; - } - } - $1488 = HEAP32[$j>>2]|0; - $1489 = (($1488) + 1)|0; - HEAP32[$j>>2] = $1489; - $1490 = HEAP32[$pTerm>>2]|0; - $1491 = (($1490) + 48|0); - HEAP32[$pTerm>>2] = $1491; + $1477 = ($1475|0)!=(0); + $1478 = $1476 | $1477; + if (!($1478)) { + $1479 = HEAP32[$pParse>>2]|0; + $1480 = HEAP32[$pTerm>>2]|0; + $1481 = HEAP32[$1480>>2]|0; + $1482 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1479,$1481,$1482,16); + $1483 = HEAP32[$pTerm>>2]|0; + $1484 = ((($1483)) + 20|0); + $1485 = HEAP8[$1484>>0]|0; + $1486 = $1485&255; + $1487 = $1486 | 4; + $1488 = $1487&255; + HEAP8[$1484>>0] = $1488; + } + } + $1489 = HEAP32[$j>>2]|0; + $1490 = (($1489) + 1)|0; + HEAP32[$j>>2] = $1490; + $1491 = HEAP32[$pTerm>>2]|0; + $1492 = ((($1491)) + 48|0); + HEAP32[$pTerm>>2] = $1492; } } } while(0); - $1492 = HEAP32[$pLevel>>2]|0; - $1493 = (($1492) + 64|0); - $1494 = $1493; + $1493 = HEAP32[$pLevel>>2]|0; + $1494 = ((($1493)) + 64|0); $1495 = $1494; - $1496 = HEAP32[$1495>>2]|0; - $1497 = (($1494) + 4)|0; - $1498 = $1497; - $1499 = HEAP32[$1498>>2]|0; - $1500 = $2; - $1501 = $1500; - HEAP32[$1501>>2] = $1496; - $1502 = (($1500) + 4)|0; - $1503 = $1502; - HEAP32[$1503>>2] = $1499; - $1504 = $2; - $1505 = $1504; - $1506 = HEAP32[$1505>>2]|0; - $1507 = (($1504) + 4)|0; - $1508 = $1507; - $1509 = HEAP32[$1508>>2]|0; - tempRet0 = $1509; - STACKTOP = sp;return ($1506|0); + $1496 = $1495; + $1497 = HEAP32[$1496>>2]|0; + $1498 = (($1495) + 4)|0; + $1499 = $1498; + $1500 = HEAP32[$1499>>2]|0; + $1501 = $2; + $1502 = $1501; + HEAP32[$1502>>2] = $1497; + $1503 = (($1501) + 4)|0; + $1504 = $1503; + HEAP32[$1504>>2] = $1500; + $1505 = $2; + $1506 = $1505; + $1507 = HEAP32[$1506>>2]|0; + $1508 = (($1505) + 4)|0; + $1509 = $1508; + $1510 = HEAP32[$1509>>2]|0; + tempRet0 = ($1510); + STACKTOP = sp;return ($1507|0); } function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { $pParse = $pParse|0; @@ -125416,19 +126458,19 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { var $eType = 0, $iReg = 0, $iTab = 0, $pIn = 0, $pLoop = 0, $pX = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; + $0 = sp + 44|0; + $1 = sp + 36|0; + $2 = sp + 12|0; + $3 = sp + 8|0; $4 = sp + 32|0; - $5 = sp + 28|0; - $pX = sp + 24|0; - $v = sp + 20|0; - $iReg = sp + 16|0; - $eType = sp + 12|0; - $iTab = sp + 8|0; - $pIn = sp + 4|0; - $pLoop = sp; + $5 = sp + 40|0; + $pX = sp + 48|0; + $v = sp + 16|0; + $iReg = sp; + $eType = sp + 24|0; + $iTab = sp + 4|0; + $pIn = sp + 28|0; + $pLoop = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTerm; HEAP32[$2>>2] = $pLevel; @@ -125439,7 +126481,7 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { $7 = HEAP32[$6>>2]|0; HEAP32[$pX>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; HEAP32[$v>>2] = $10; $11 = HEAP32[$pX>>2]|0; @@ -125449,7 +126491,7 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { if ($14) { $15 = HEAP32[$0>>2]|0; $16 = HEAP32[$pX>>2]|0; - $17 = (($16) + 16|0); + $17 = ((($16)) + 16|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$5>>2]|0; $20 = (_sqlite3ExprCodeTarget($15,$18,$19)|0); @@ -125477,27 +126519,27 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { STACKTOP = sp;return ($139|0); } $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 56|0); + $29 = ((($28)) + 56|0); $30 = HEAP32[$29>>2]|0; HEAP32[$pLoop>>2] = $30; $31 = HEAP32[$pLoop>>2]|0; - $32 = (($31) + 36|0); + $32 = ((($31)) + 36|0); $33 = HEAP32[$32>>2]|0; $34 = $33 & 1024; $35 = ($34|0)==(0); if ($35) { $36 = HEAP32[$pLoop>>2]|0; - $37 = (($36) + 24|0); - $38 = (($37) + 4|0); + $37 = ((($36)) + 24|0); + $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; $40 = ($39|0)!=(0|0); if ($40) { $41 = HEAP32[$3>>2]|0; $42 = HEAP32[$pLoop>>2]|0; - $43 = (($42) + 24|0); - $44 = (($43) + 4|0); + $43 = ((($42)) + 24|0); + $44 = ((($43)) + 4|0); $45 = HEAP32[$44>>2]|0; - $46 = (($45) + 28|0); + $46 = ((($45)) + 28|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + ($41)|0); $49 = HEAP8[$48>>0]|0; @@ -125528,7 +126570,7 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { HEAP32[$4>>2] = $65; } $66 = HEAP32[$pX>>2]|0; - $67 = (($66) + 28|0); + $67 = ((($66)) + 28|0); $68 = HEAP32[$67>>2]|0; HEAP32[$iTab>>2] = $68; $69 = HEAP32[$v>>2]|0; @@ -125538,50 +126580,50 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { $73 = HEAP32[$iTab>>2]|0; (_sqlite3VdbeAddOp2($69,$72,$73,0)|0); $74 = HEAP32[$pLoop>>2]|0; - $75 = (($74) + 36|0); + $75 = ((($74)) + 36|0); $76 = HEAP32[$75>>2]|0; $77 = $76 | 2048; HEAP32[$75>>2] = $77; $78 = HEAP32[$2>>2]|0; - $79 = (($78) + 48|0); + $79 = ((($78)) + 48|0); $80 = HEAP32[$79>>2]|0; $81 = ($80|0)==(0); if ($81) { $82 = HEAP32[$v>>2]|0; $83 = (_sqlite3VdbeMakeLabel($82)|0); $84 = HEAP32[$2>>2]|0; - $85 = (($84) + 16|0); + $85 = ((($84)) + 16|0); HEAP32[$85>>2] = $83; } $86 = HEAP32[$2>>2]|0; - $87 = (($86) + 48|0); + $87 = ((($86)) + 48|0); $88 = HEAP32[$87>>2]|0; $89 = (($88) + 1)|0; HEAP32[$87>>2] = $89; $90 = HEAP32[$0>>2]|0; $91 = HEAP32[$90>>2]|0; $92 = HEAP32[$2>>2]|0; - $93 = (($92) + 48|0); - $94 = (($93) + 4|0); + $93 = ((($92)) + 48|0); + $94 = ((($93)) + 4|0); $95 = HEAP32[$94>>2]|0; $96 = HEAP32[$2>>2]|0; - $97 = (($96) + 48|0); + $97 = ((($96)) + 48|0); $98 = HEAP32[$97>>2]|0; $99 = ($98*12)|0; $100 = (_sqlite3DbReallocOrFree($91,$95,$99,0)|0); $101 = HEAP32[$2>>2]|0; - $102 = (($101) + 48|0); - $103 = (($102) + 4|0); + $102 = ((($101)) + 48|0); + $103 = ((($102)) + 4|0); HEAP32[$103>>2] = $100; $104 = HEAP32[$2>>2]|0; - $105 = (($104) + 48|0); - $106 = (($105) + 4|0); + $105 = ((($104)) + 48|0); + $106 = ((($105)) + 4|0); $107 = HEAP32[$106>>2]|0; HEAP32[$pIn>>2] = $107; $108 = HEAP32[$pIn>>2]|0; $109 = ($108|0)!=(0|0); $110 = HEAP32[$2>>2]|0; - $111 = (($110) + 48|0); + $111 = ((($110)) + 48|0); if (!($109)) { HEAP32[$111>>2] = 0; $137 = HEAP32[$2>>2]|0; @@ -125606,12 +126648,12 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { if ($119) { $123 = (_sqlite3VdbeAddOp2($120,103,$121,$122)|0); $124 = HEAP32[$pIn>>2]|0; - $125 = (($124) + 4|0); + $125 = ((($124)) + 4|0); HEAP32[$125>>2] = $123; } else { $126 = (_sqlite3VdbeAddOp3($120,47,$121,0,$122)|0); $127 = HEAP32[$pIn>>2]|0; - $128 = (($127) + 4|0); + $128 = ((($127)) + 4|0); HEAP32[$128>>2] = $126; } $129 = HEAP32[$4>>2]|0; @@ -125619,7 +126661,7 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { $131 = $130 ? 6 : 7; $132 = $131&255; $133 = HEAP32[$pIn>>2]|0; - $134 = (($133) + 8|0); + $134 = ((($133)) + 8|0); HEAP8[$134>>0] = $132; $135 = HEAP32[$v>>2]|0; $136 = HEAP32[$iReg>>2]|0; @@ -125650,7 +126692,7 @@ function _disableTerm($pLevel,$pTerm) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 20|0); + $5 = ((($4)) + 20|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = $7 & 4; @@ -125664,7 +126706,7 @@ function _disableTerm($pLevel,$pTerm) { if (!($12)) { $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = $16 & 1; $18 = ($17|0)!=(0); @@ -125673,7 +126715,7 @@ function _disableTerm($pLevel,$pTerm) { } } $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 64|0); + $20 = ((($19)) + 64|0); $21 = $20; $22 = $21; $23 = HEAP32[$22>>2]|0; @@ -125681,7 +126723,7 @@ function _disableTerm($pLevel,$pTerm) { $25 = $24; $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 40|0); + $28 = ((($27)) + 40|0); $29 = $28; $30 = $29; $31 = HEAP32[$30>>2]|0; @@ -125697,31 +126739,31 @@ function _disableTerm($pLevel,$pTerm) { STACKTOP = sp;return; } $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 20|0); + $41 = ((($40)) + 20|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = $43 | 4; $45 = $44&255; HEAP8[$41>>0] = $45; $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 4|0); + $47 = ((($46)) + 4|0); $48 = HEAP32[$47>>2]|0; $49 = ($48|0)>=(0); if (!($49)) { STACKTOP = sp;return; } $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 4|0); + $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 24|0); + $54 = ((($53)) + 24|0); $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 20|0); + $56 = ((($55)) + 20|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + (($52*48)|0)|0); HEAP32[$pOther>>2] = $58; $59 = HEAP32[$pOther>>2]|0; - $60 = (($59) + 21|0); + $60 = ((($59)) + 21|0); $61 = HEAP8[$60>>0]|0; $62 = (($61) + -1)<<24>>24; HEAP8[$60>>0] = $62; @@ -125753,58 +126795,58 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { var $v = 0, $zAff = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $nEq = sp + 66|0; - $nSkip = sp + 64|0; - $v = sp + 40|0; - $pIdx = sp + 36|0; - $pTerm = sp + 32|0; + $0 = sp; + $1 = sp + 44|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 32|0; + $nEq = sp + 64|0; + $nSkip = sp + 66|0; + $v = sp + 56|0; + $pIdx = sp + 20|0; + $pTerm = sp + 60|0; $pLoop = sp + 28|0; - $j = sp + 24|0; - $regBase = sp + 20|0; - $nReg = sp + 16|0; - $zAff = sp + 12|0; - $iIdxCur = sp + 8|0; - $r1 = sp + 4|0; - $pRight = sp; + $j = sp + 4|0; + $regBase = sp + 24|0; + $nReg = sp + 8|0; + $zAff = sp + 36|0; + $iIdxCur = sp + 52|0; + $r1 = sp + 48|0; + $pRight = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pLevel; HEAP32[$2>>2] = $bRev; HEAP32[$3>>2] = $nExtraReg; HEAP32[$4>>2] = $pzAff; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$v>>2] = $7; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 56|0); + $9 = ((($8)) + 56|0); $10 = HEAP32[$9>>2]|0; HEAP32[$pLoop>>2] = $10; $11 = HEAP32[$pLoop>>2]|0; - $12 = (($11) + 24|0); + $12 = ((($11)) + 24|0); $13 = HEAP16[$12>>1]|0; HEAP16[$nEq>>1] = $13; $14 = HEAP32[$pLoop>>2]|0; - $15 = (($14) + 24|0); - $16 = (($15) + 2|0); + $15 = ((($14)) + 24|0); + $16 = ((($15)) + 2|0); $17 = HEAP16[$16>>1]|0; HEAP16[$nSkip>>1] = $17; $18 = HEAP32[$pLoop>>2]|0; - $19 = (($18) + 24|0); - $20 = (($19) + 4|0); + $19 = ((($18)) + 24|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; HEAP32[$pIdx>>2] = $21; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 72|0); + $23 = ((($22)) + 72|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + 1)|0; HEAP32[$regBase>>2] = $25; $26 = HEAP32[$pLoop>>2]|0; - $27 = (($26) + 24|0); + $27 = ((($26)) + 24|0); $28 = HEAP16[$27>>1]|0; $29 = $28&65535; $30 = HEAP32[$3>>2]|0; @@ -125812,7 +126854,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { HEAP32[$nReg>>2] = $31; $32 = HEAP32[$nReg>>2]|0; $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 72|0); + $34 = ((($33)) + 72|0); $35 = HEAP32[$34>>2]|0; $36 = (($35) + ($32))|0; HEAP32[$34>>2] = $36; @@ -125828,7 +126870,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { if (!($44)) { $45 = HEAP32[$0>>2]|0; $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 64|0); + $47 = ((($46)) + 64|0); HEAP8[$47>>0] = 1; } $48 = HEAP16[$nSkip>>1]|0; @@ -125836,7 +126878,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { L4: do { if ($49) { $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 8|0); + $51 = ((($50)) + 8|0); $52 = HEAP32[$51>>2]|0; HEAP32[$iIdxCur>>2] = $52; $53 = HEAP32[$v>>2]|0; @@ -125858,7 +126900,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { $67 = $66&65535; $68 = (_sqlite3VdbeAddOp4Int($60,$63,$64,0,$65,$67)|0); $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 20|0); + $70 = ((($69)) + 20|0); HEAP32[$70>>2] = $68; $71 = HEAP32[$v>>2]|0; $72 = HEAP32[$j>>2]|0; @@ -125898,7 +126940,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { } $91 = HEAP32[$j>>2]|0; $92 = HEAP32[$pLoop>>2]|0; - $93 = (($92) + 44|0); + $93 = ((($92)) + 44|0); $94 = HEAP32[$93>>2]|0; $95 = (($94) + ($91<<2)|0); $96 = HEAP32[$95>>2]|0; @@ -125941,7 +126983,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { } } while(0); $121 = HEAP32[$pTerm>>2]|0; - $122 = (($121) + 18|0); + $122 = ((($121)) + 18|0); $123 = HEAP16[$122>>1]|0; $124 = $123&65535; $125 = $124 & 129; @@ -125949,7 +126991,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { if ($126) { $127 = HEAP32[$pTerm>>2]|0; $128 = HEAP32[$127>>2]|0; - $129 = (($128) + 16|0); + $129 = ((($128)) + 16|0); $130 = HEAP32[$129>>2]|0; HEAP32[$pRight>>2] = $130; $131 = HEAP32[$pRight>>2]|0; @@ -125961,7 +127003,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { $136 = HEAP32[$j>>2]|0; $137 = (($135) + ($136))|0; $138 = HEAP32[$1>>2]|0; - $139 = (($138) + 12|0); + $139 = ((($138)) + 12|0); $140 = HEAP32[$139>>2]|0; (_sqlite3VdbeAddOp2($134,76,$137,$140)|0); } @@ -126047,7 +127089,7 @@ function _sqlite3ExprNeedsNoAffinityChange($p,$aff) { if (!($60)) { break; } - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; HEAP32[$1>>2] = $16; } @@ -126058,7 +127100,7 @@ function _sqlite3ExprNeedsNoAffinityChange($p,$aff) { $20 = ($19|0)==(159); if ($20) { $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 38|0); + $22 = ((($21)) + 38|0); $23 = HEAP8[$22>>0]|0; HEAP8[$op>>0] = $23; } @@ -126082,20 +127124,6 @@ function _sqlite3ExprNeedsNoAffinityChange($p,$aff) { break L1; break; } - case 97: { - $42 = HEAP8[$2>>0]|0; - $43 = $42 << 24 >> 24; - $44 = ($43|0)==(66); - $45 = $44&1; - HEAP32[$0>>2] = $45; - break L1; - break; - } - case 134: { - HEAP32[$0>>2] = 1; - break L1; - break; - } case 133: { $34 = HEAP8[$2>>0]|0; $35 = $34 << 24 >> 24; @@ -126113,9 +127141,23 @@ function _sqlite3ExprNeedsNoAffinityChange($p,$aff) { break L1; break; } + case 97: { + $42 = HEAP8[$2>>0]|0; + $43 = $42 << 24 >> 24; + $44 = ($43|0)==(66); + $45 = $44&1; + HEAP32[$0>>2] = $45; + break L1; + break; + } + case 134: { + HEAP32[$0>>2] = 1; + break L1; + break; + } case 154: { $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 32|0); + $47 = ((($46)) + 32|0); $48 = HEAP16[$47>>1]|0; $49 = $48 << 16 >> 16; $50 = ($49|0)<(0); @@ -126169,7 +127211,7 @@ function _codeApplyAffinity($pParse,$base,$n,$zAff) { HEAP32[$2>>2] = $n; HEAP32[$3>>2] = $zAff; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; HEAP32[$v>>2] = $6; $7 = HEAP32[$3>>2]|0; @@ -126197,7 +127239,7 @@ function _codeApplyAffinity($pParse,$base,$n,$zAff) { $18 = (($17) + 1)|0; HEAP32[$1>>2] = $18; $19 = HEAP32[$3>>2]|0; - $20 = (($19) + 1|0); + $20 = ((($19)) + 1|0); HEAP32[$3>>2] = $20; } while(1) { @@ -126254,16 +127296,16 @@ function _findTerm($pWC,$iCur,$iColumn,$0,$1,$op,$pIdx) { var $8 = 0, $9 = 0, $p = 0, $pResult = 0, $scan = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; - $2 = sp + 148|0; - $3 = sp + 144|0; - $4 = sp + 140|0; - $5 = sp + 136|0; + $2 = sp + 8|0; + $3 = sp + 132|0; + $4 = sp + 136|0; + $5 = sp + 140|0; $6 = sp; - $7 = sp + 132|0; + $7 = sp + 152|0; $8 = sp + 128|0; - $pResult = sp + 124|0; - $p = sp + 120|0; - $scan = sp + 8|0; + $pResult = sp + 144|0; + $p = sp + 148|0; + $scan = sp + 16|0; HEAP32[$3>>2] = $pWC; HEAP32[$4>>2] = $iCur; HEAP32[$5>>2] = $iColumn; @@ -126291,7 +127333,7 @@ function _findTerm($pWC,$iCur,$iColumn,$0,$1,$op,$pIdx) { break; } $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 32|0); + $22 = ((($21)) + 32|0); $23 = $22; $24 = $23; $25 = HEAP32[$24>>2]|0; @@ -126311,7 +127353,7 @@ function _findTerm($pWC,$iCur,$iColumn,$0,$1,$op,$pIdx) { $39 = $37 & $38; if ($39) { $40 = HEAP32[$p>>2]|0; - $41 = (($40) + 32|0); + $41 = ((($40)) + 32|0); $42 = $41; $43 = $42; $44 = HEAP32[$43>>2]|0; @@ -126323,7 +127365,7 @@ function _findTerm($pWC,$iCur,$iColumn,$0,$1,$op,$pIdx) { $50 = $48 & $49; if ($50) { $51 = HEAP32[$p>>2]|0; - $52 = (($51) + 18|0); + $52 = ((($51)) + 18|0); $53 = HEAP16[$52>>1]|0; $54 = $53&65535; $55 = $54 & 2; @@ -126355,7 +127397,7 @@ function _findTerm($pWC,$iCur,$iColumn,$0,$1,$op,$pIdx) { $63 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($63|0); } - return 0|0; + return (0)|0; } function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { $pScan = $pScan|0; @@ -126370,14 +127412,14 @@ function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $j = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $6 = sp + 4|0; - $j = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $5 = sp; + $6 = sp + 12|0; + $j = sp + 24|0; HEAP32[$1>>2] = $pScan; HEAP32[$2>>2] = $pWC; HEAP32[$3>>2] = $iCur; @@ -126389,7 +127431,7 @@ function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { HEAP32[$8>>2] = $7; $9 = HEAP32[$2>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); HEAP32[$11>>2] = $9; $12 = HEAP32[$6>>2]|0; $13 = ($12|0)!=(0|0); @@ -126400,21 +127442,21 @@ function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { if ($or$cond) { $16 = HEAP32[$4>>2]|0; $17 = HEAP32[$6>>2]|0; - $18 = (($17) + 12|0); + $18 = ((($17)) + 12|0); $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + (($16*24)|0)|0); - $23 = (($22) + 21|0); + $23 = ((($22)) + 21|0); $24 = HEAP8[$23>>0]|0; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); HEAP8[$26>>0] = $24; HEAP32[$j>>2] = 0; while(1) { $27 = HEAP32[$j>>2]|0; $28 = HEAP32[$6>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + ($27<<1)|0); $32 = HEAP16[$31>>1]|0; @@ -126427,7 +127469,7 @@ function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { label = 7; break; } - $38 = (($37) + 52|0); + $38 = ((($37)) + 52|0); $39 = HEAP16[$38>>1]|0; $40 = $39&65535; $41 = ($36|0)>($40|0); @@ -126439,12 +127481,12 @@ function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { HEAP32[$j>>2] = $43; } if ((label|0) == 7) { - $44 = (($37) + 32|0); + $44 = ((($37)) + 32|0); $45 = HEAP32[$44>>2]|0; $46 = (($45) + ($36<<2)|0); $47 = HEAP32[$46>>2]|0; $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 8|0); + $49 = ((($48)) + 8|0); HEAP32[$49>>2] = $47; break; } @@ -126453,34 +127495,34 @@ function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { STACKTOP = sp;return ($72|0); } else { $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 12|0); + $51 = ((($50)) + 12|0); HEAP8[$51>>0] = 0; $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 8|0); + $53 = ((($52)) + 8|0); HEAP32[$53>>2] = 0; } } while(0); $54 = HEAP32[$5>>2]|0; $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 16|0); + $56 = ((($55)) + 16|0); HEAP32[$56>>2] = $54; $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 20|0); + $58 = ((($57)) + 20|0); HEAP32[$58>>2] = 0; $59 = HEAP32[$3>>2]|0; $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 24|0); + $61 = ((($60)) + 24|0); HEAP32[$61>>2] = $59; $62 = HEAP32[$4>>2]|0; $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 24|0); - $65 = (($64) + 4|0); + $64 = ((($63)) + 24|0); + $65 = ((($64)) + 4|0); HEAP32[$65>>2] = $62; $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 13|0); + $67 = ((($66)) + 13|0); HEAP8[$67>>0] = 2; $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 14|0); + $69 = ((($68)) + 14|0); HEAP8[$69>>0] = 2; $70 = HEAP32[$1>>2]|0; $71 = (_whereScanNext($70)|0); @@ -126505,29 +127547,29 @@ function _whereScanNext($pScan) { var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iColumn = 0, $iCur = 0, $j = 0, $k = 0, $pColl = 0, $pParse = 0, $pTerm = 0, $pWC = 0, $pX = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $iCur = sp + 32|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $iCur = sp; $iColumn = sp + 28|0; - $pX = sp + 24|0; - $pWC = sp + 20|0; - $pTerm = sp + 16|0; - $k = sp + 12|0; - $j = sp + 8|0; - $pColl = sp + 4|0; - $pParse = sp; + $pX = sp + 32|0; + $pWC = sp + 40|0; + $pTerm = sp + 12|0; + $k = sp + 24|0; + $j = sp + 20|0; + $pColl = sp + 8|0; + $pParse = sp + 4|0; HEAP32[$1>>2] = $pScan; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 20|0); + $3 = ((($2)) + 20|0); $4 = HEAP32[$3>>2]|0; HEAP32[$k>>2] = $4; L1: while(1) { $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 14|0); + $6 = ((($5)) + 14|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 13|0); + $10 = ((($9)) + 13|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($8|0)<=($12|0); @@ -126536,28 +127578,28 @@ function _whereScanNext($pScan) { break; } $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 14|0); + $15 = ((($14)) + 14|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (($17) - 2)|0; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 24|0); + $20 = ((($19)) + 24|0); $21 = (($20) + ($18<<2)|0); $22 = HEAP32[$21>>2]|0; HEAP32[$iCur>>2] = $22; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 14|0); + $24 = ((($23)) + 14|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; $27 = (($26) - 1)|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 24|0); + $29 = ((($28)) + 24|0); $30 = (($29) + ($27<<2)|0); $31 = HEAP32[$30>>2]|0; HEAP32[$iColumn>>2] = $31; while(1) { $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; HEAP32[$pWC>>2] = $34; $35 = ($34|0)!=(0|0); @@ -126565,7 +127607,7 @@ function _whereScanNext($pScan) { break; } $36 = HEAP32[$pWC>>2]|0; - $37 = (($36) + 20|0); + $37 = ((($36)) + 20|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$k>>2]|0; $40 = (($38) + (($39*48)|0)|0); @@ -126573,34 +127615,34 @@ function _whereScanNext($pScan) { while(1) { $41 = HEAP32[$k>>2]|0; $42 = HEAP32[$pWC>>2]|0; - $43 = (($42) + 12|0); + $43 = ((($42)) + 12|0); $44 = HEAP32[$43>>2]|0; $45 = ($41|0)<($44|0); if (!($45)) { break; } $46 = HEAP32[$pTerm>>2]|0; - $47 = (($46) + 8|0); + $47 = ((($46)) + 8|0); $48 = HEAP32[$47>>2]|0; $49 = HEAP32[$iCur>>2]|0; $50 = ($48|0)==($49|0); do { if ($50) { $51 = HEAP32[$pTerm>>2]|0; - $52 = (($51) + 12|0); + $52 = ((($51)) + 12|0); $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$iColumn>>2]|0; $55 = ($53|0)==($54|0); if ($55) { $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 14|0); + $57 = ((($56)) + 14|0); $58 = HEAP8[$57>>0]|0; $59 = $58&255; $60 = ($59|0)<=(2); if (!($60)) { $61 = HEAP32[$pTerm>>2]|0; $62 = HEAP32[$61>>2]|0; - $63 = (($62) + 4|0); + $63 = ((($62)) + 4|0); $64 = HEAP32[$63>>2]|0; $65 = $64 & 1; $66 = ($65|0)!=(0); @@ -126609,21 +127651,21 @@ function _whereScanNext($pScan) { } } $67 = HEAP32[$pTerm>>2]|0; - $68 = (($67) + 18|0); + $68 = ((($67)) + 18|0); $69 = HEAP16[$68>>1]|0; $70 = $69&65535; $71 = $70 & 1024; $72 = ($71|0)!=(0); if ($72) { $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 13|0); + $74 = ((($73)) + 13|0); $75 = HEAP8[$74>>0]|0; $76 = $75&255; $77 = ($76|0)<(22); if ($77) { $78 = HEAP32[$pTerm>>2]|0; $79 = HEAP32[$78>>2]|0; - $80 = (($79) + 16|0); + $80 = ((($79)) + 16|0); $81 = HEAP32[$80>>2]|0; $82 = (_sqlite3ExprSkipCollate($81)|0); HEAP32[$pX>>2] = $82; @@ -126631,7 +127673,7 @@ function _whereScanNext($pScan) { while(1) { $83 = HEAP32[$j>>2]|0; $84 = HEAP32[$1>>2]|0; - $85 = (($84) + 13|0); + $85 = ((($84)) + 13|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; $88 = ($83|0)<($87|0); @@ -126640,22 +127682,22 @@ function _whereScanNext($pScan) { } $89 = HEAP32[$j>>2]|0; $90 = HEAP32[$1>>2]|0; - $91 = (($90) + 24|0); + $91 = ((($90)) + 24|0); $92 = (($91) + ($89<<2)|0); $93 = HEAP32[$92>>2]|0; $94 = HEAP32[$pX>>2]|0; - $95 = (($94) + 28|0); + $95 = ((($94)) + 28|0); $96 = HEAP32[$95>>2]|0; $97 = ($93|0)==($96|0); if ($97) { $98 = HEAP32[$j>>2]|0; $99 = (($98) + 1)|0; $100 = HEAP32[$1>>2]|0; - $101 = (($100) + 24|0); + $101 = ((($100)) + 24|0); $102 = (($101) + ($99<<2)|0); $103 = HEAP32[$102>>2]|0; $104 = HEAP32[$pX>>2]|0; - $105 = (($104) + 32|0); + $105 = ((($104)) + 32|0); $106 = HEAP16[$105>>1]|0; $107 = $106 << 16 >> 16; $108 = ($103|0)==($107|0); @@ -126669,31 +127711,31 @@ function _whereScanNext($pScan) { } $111 = HEAP32[$j>>2]|0; $112 = HEAP32[$1>>2]|0; - $113 = (($112) + 13|0); + $113 = ((($112)) + 13|0); $114 = HEAP8[$113>>0]|0; $115 = $114&255; $116 = ($111|0)==($115|0); if ($116) { $117 = HEAP32[$pX>>2]|0; - $118 = (($117) + 28|0); + $118 = ((($117)) + 28|0); $119 = HEAP32[$118>>2]|0; $120 = HEAP32[$j>>2]|0; $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 24|0); + $122 = ((($121)) + 24|0); $123 = (($122) + ($120<<2)|0); HEAP32[$123>>2] = $119; $124 = HEAP32[$pX>>2]|0; - $125 = (($124) + 32|0); + $125 = ((($124)) + 32|0); $126 = HEAP16[$125>>1]|0; $127 = $126 << 16 >> 16; $128 = HEAP32[$j>>2]|0; $129 = (($128) + 1)|0; $130 = HEAP32[$1>>2]|0; - $131 = (($130) + 24|0); + $131 = ((($130)) + 24|0); $132 = (($131) + ($129<<2)|0); HEAP32[$132>>2] = $127; $133 = HEAP32[$1>>2]|0; - $134 = (($133) + 13|0); + $134 = ((($133)) + 13|0); $135 = HEAP8[$134>>0]|0; $136 = $135&255; $137 = (($136) + 2)|0; @@ -126703,22 +127745,22 @@ function _whereScanNext($pScan) { } } $139 = HEAP32[$pTerm>>2]|0; - $140 = (($139) + 18|0); + $140 = ((($139)) + 18|0); $141 = HEAP16[$140>>1]|0; $142 = $141&65535; $143 = HEAP32[$1>>2]|0; - $144 = (($143) + 16|0); + $144 = ((($143)) + 16|0); $145 = HEAP32[$144>>2]|0; $146 = $142 & $145; $147 = ($146|0)!=(0); if ($147) { $148 = HEAP32[$1>>2]|0; - $149 = (($148) + 8|0); + $149 = ((($148)) + 8|0); $150 = HEAP32[$149>>2]|0; $151 = ($150|0)!=(0|0); if ($151) { $152 = HEAP32[$pTerm>>2]|0; - $153 = (($152) + 18|0); + $153 = ((($152)) + 18|0); $154 = HEAP16[$153>>1]|0; $155 = $154&65535; $156 = $155 & 128; @@ -126733,7 +127775,7 @@ function _whereScanNext($pScan) { HEAP32[$pX>>2] = $162; $163 = HEAP32[$pX>>2]|0; $164 = HEAP32[$1>>2]|0; - $165 = (($164) + 12|0); + $165 = ((($164)) + 12|0); $166 = HEAP8[$165>>0]|0; $167 = (_sqlite3IndexAffinityOk($163,$166)|0); $168 = ($167|0)!=(0); @@ -126742,10 +127784,10 @@ function _whereScanNext($pScan) { } $169 = HEAP32[$pParse>>2]|0; $170 = HEAP32[$pX>>2]|0; - $171 = (($170) + 12|0); + $171 = ((($170)) + 12|0); $172 = HEAP32[$171>>2]|0; $173 = HEAP32[$pX>>2]|0; - $174 = (($173) + 16|0); + $174 = ((($173)) + 16|0); $175 = HEAP32[$174>>2]|0; $176 = (_sqlite3BinaryCompareCollSeq($169,$172,$175)|0); HEAP32[$pColl>>2] = $176; @@ -126754,14 +127796,14 @@ function _whereScanNext($pScan) { if ($178) { $179 = HEAP32[$pParse>>2]|0; $180 = HEAP32[$179>>2]|0; - $181 = (($180) + 8|0); + $181 = ((($180)) + 8|0); $182 = HEAP32[$181>>2]|0; HEAP32[$pColl>>2] = $182; } $183 = HEAP32[$pColl>>2]|0; $184 = HEAP32[$183>>2]|0; $185 = HEAP32[$1>>2]|0; - $186 = (($185) + 8|0); + $186 = ((($185)) + 8|0); $187 = HEAP32[$186>>2]|0; $188 = (_sqlite3_stricmp($184,$187)|0); $189 = ($188|0)!=(0); @@ -126771,7 +127813,7 @@ function _whereScanNext($pScan) { } } $190 = HEAP32[$pTerm>>2]|0; - $191 = (($190) + 18|0); + $191 = ((($190)) + 18|0); $192 = HEAP16[$191>>1]|0; $193 = $192&65535; $194 = $193 & 2; @@ -126782,7 +127824,7 @@ function _whereScanNext($pScan) { } $196 = HEAP32[$pTerm>>2]|0; $197 = HEAP32[$196>>2]|0; - $198 = (($197) + 16|0); + $198 = ((($197)) + 16|0); $199 = HEAP32[$198>>2]|0; HEAP32[$pX>>2] = $199; $200 = HEAP8[$199>>0]|0; @@ -126793,10 +127835,10 @@ function _whereScanNext($pScan) { break L1; } $203 = HEAP32[$pX>>2]|0; - $204 = (($203) + 28|0); + $204 = ((($203)) + 28|0); $205 = HEAP32[$204>>2]|0; $206 = HEAP32[$1>>2]|0; - $207 = (($206) + 24|0); + $207 = ((($206)) + 24|0); $208 = HEAP32[$207>>2]|0; $209 = ($205|0)==($208|0); if (!($209)) { @@ -126804,12 +127846,12 @@ function _whereScanNext($pScan) { break L1; } $210 = HEAP32[$pX>>2]|0; - $211 = (($210) + 32|0); + $211 = ((($210)) + 32|0); $212 = HEAP16[$211>>1]|0; $213 = $212 << 16 >> 16; $214 = HEAP32[$1>>2]|0; - $215 = (($214) + 24|0); - $216 = (($215) + 4|0); + $215 = ((($214)) + 24|0); + $216 = ((($215)) + 4|0); $217 = HEAP32[$216>>2]|0; $218 = ($213|0)==($217|0); if (!($218)) { @@ -126824,27 +127866,27 @@ function _whereScanNext($pScan) { $225 = (($224) + 1)|0; HEAP32[$k>>2] = $225; $226 = HEAP32[$pTerm>>2]|0; - $227 = (($226) + 48|0); + $227 = ((($226)) + 48|0); HEAP32[$pTerm>>2] = $227; } $228 = HEAP32[$1>>2]|0; - $229 = (($228) + 4|0); + $229 = ((($228)) + 4|0); $230 = HEAP32[$229>>2]|0; - $231 = (($230) + 4|0); + $231 = ((($230)) + 4|0); $232 = HEAP32[$231>>2]|0; $233 = HEAP32[$1>>2]|0; - $234 = (($233) + 4|0); + $234 = ((($233)) + 4|0); HEAP32[$234>>2] = $232; HEAP32[$k>>2] = 0; } $235 = HEAP32[$1>>2]|0; $236 = HEAP32[$235>>2]|0; $237 = HEAP32[$1>>2]|0; - $238 = (($237) + 4|0); + $238 = ((($237)) + 4|0); HEAP32[$238>>2] = $236; HEAP32[$k>>2] = 0; $239 = HEAP32[$1>>2]|0; - $240 = (($239) + 14|0); + $240 = ((($239)) + 14|0); $241 = HEAP8[$240>>0]|0; $242 = $241&255; $243 = (($242) + 2)|0; @@ -126855,7 +127897,7 @@ function _whereScanNext($pScan) { $219 = HEAP32[$k>>2]|0; $220 = (($219) + 1)|0; $221 = HEAP32[$1>>2]|0; - $222 = (($221) + 20|0); + $222 = ((($221)) + 20|0); HEAP32[$222>>2] = $220; $223 = HEAP32[$pTerm>>2]|0; HEAP32[$0>>2] = $223; @@ -126867,7 +127909,29 @@ function _whereScanNext($pScan) { $245 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($245|0); } - return 0|0; + return (0)|0; +} +function _sqlite3XPrintf($p,$bFlags,$zFormat,$varargs) { + $p = $p|0; + $bFlags = $bFlags|0; + $zFormat = $zFormat|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ap = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $ap = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $bFlags; + HEAP32[$2>>2] = $zFormat; + HEAP32[$ap>>2] = $varargs; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + _sqlite3VXPrintf($3,$4,$5,$ap); + STACKTOP = sp;return; } function _explainIndexRange($pStr,$pLoop,$pTab) { $pStr = $pStr|0; @@ -126883,42 +127947,42 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer = sp; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 28|0; $pIndex = sp + 32|0; - $nEq = sp + 50|0; - $nSkip = sp + 48|0; - $i = sp + 28|0; - $j = sp + 24|0; - $aCol = sp + 20|0; - $aiColumn = sp + 16|0; - $z = sp + 12|0; - $z1 = sp + 8|0; - $z2 = sp + 4|0; + $nEq = sp + 48|0; + $nSkip = sp + 50|0; + $i = sp + 24|0; + $j = sp + 20|0; + $aCol = sp + 36|0; + $aiColumn = sp + 40|0; + $z = sp + 8|0; + $z1 = sp + 4|0; + $z2 = sp + 44|0; HEAP32[$0>>2] = $pStr; HEAP32[$1>>2] = $pLoop; HEAP32[$2>>2] = $pTab; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 24|0); - $5 = (($4) + 4|0); + $4 = ((($3)) + 24|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pIndex>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 24|0); + $8 = ((($7)) + 24|0); $9 = HEAP16[$8>>1]|0; HEAP16[$nEq>>1] = $9; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 24|0); - $12 = (($11) + 2|0); + $11 = ((($10)) + 24|0); + $12 = ((($11)) + 2|0); $13 = HEAP16[$12>>1]|0; HEAP16[$nSkip>>1] = $13; $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; HEAP32[$aCol>>2] = $16; $17 = HEAP32[$pIndex>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; HEAP32[$aiColumn>>2] = $19; $20 = HEAP16[$nEq>>1]|0; @@ -126926,7 +127990,7 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { $22 = ($21|0)==(0); if ($22) { $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 36|0); + $24 = ((($23)) + 36|0); $25 = HEAP32[$24>>2]|0; $26 = $25 & 48; $27 = ($26|0)==(0); @@ -126935,7 +127999,7 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { } } $28 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($28,23928,2); + _sqlite3StrAccumAppend($28,26388,2); HEAP32[$i>>2] = 0; while(1) { $29 = HEAP32[$i>>2]|0; @@ -126952,7 +128016,7 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { $37 = $36 << 16 >> 16; $38 = ($37|0)<(0); if ($38) { - $47 = 9992; + $47 = 18143; } else { $39 = HEAP32[$i>>2]|0; $40 = HEAP32[$aiColumn>>2]|0; @@ -126973,18 +128037,18 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { $52 = HEAP32[$0>>2]|0; $53 = HEAP32[$i>>2]|0; $54 = HEAP32[$z>>2]|0; - _explainAppendTerm($52,$53,$54,23936); + _explainAppendTerm($52,$53,$54,26391); } else { $55 = HEAP32[$i>>2]|0; $56 = ($55|0)!=(0); if ($56) { $57 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($57,23944,5); + _sqlite3StrAccumAppend($57,26393,5); } $58 = HEAP32[$0>>2]|0; $59 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer>>2] = $59; - _sqlite3XPrintf($58,0,23952,$vararg_buffer); + _sqlite3XPrintf($58,0,26399,$vararg_buffer); } $60 = HEAP32[$i>>2]|0; $61 = (($60) + 1)|0; @@ -126992,7 +128056,7 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { } HEAP32[$j>>2] = $33; $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 36|0); + $63 = ((($62)) + 36|0); $64 = HEAP32[$63>>2]|0; $65 = $64 & 32; $66 = ($65|0)!=(0); @@ -127004,7 +128068,7 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { $71 = $70 << 16 >> 16; $72 = ($71|0)<(0); if ($72) { - $81 = 9992; + $81 = 18143; } else { $73 = HEAP32[$j>>2]|0; $74 = HEAP32[$aiColumn>>2]|0; @@ -127022,10 +128086,10 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { $84 = (($83) + 1)|0; HEAP32[$i>>2] = $84; $85 = HEAP32[$z1>>2]|0; - _explainAppendTerm($82,$83,$85,23960); + _explainAppendTerm($82,$83,$85,26407); } $86 = HEAP32[$1>>2]|0; - $87 = (($86) + 36|0); + $87 = ((($86)) + 36|0); $88 = HEAP32[$87>>2]|0; $89 = $88 & 16; $90 = ($89|0)!=(0); @@ -127037,7 +128101,7 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { $95 = $94 << 16 >> 16; $96 = ($95|0)<(0); if ($96) { - $105 = 9992; + $105 = 18143; } else { $97 = HEAP32[$j>>2]|0; $98 = HEAP32[$aiColumn>>2]|0; @@ -127053,10 +128117,10 @@ function _explainIndexRange($pStr,$pLoop,$pTab) { $106 = HEAP32[$0>>2]|0; $107 = HEAP32[$i>>2]|0; $108 = HEAP32[$z2>>2]|0; - _explainAppendTerm($106,$107,$108,23968); + _explainAppendTerm($106,$107,$108,26409); } $109 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($109,23976,1); + _sqlite3StrAccumAppend($109,26411,1); STACKTOP = sp;return; } function _explainAppendTerm($pStr,$iTerm,$zColumn,$zOp) { @@ -127079,7 +128143,7 @@ function _explainAppendTerm($pStr,$iTerm,$zColumn,$zOp) { $5 = ($4|0)!=(0); if ($5) { $6 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($6,23944,5); + _sqlite3StrAccumAppend($6,26393,5); } $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$2>>2]|0; @@ -127088,7 +128152,7 @@ function _explainAppendTerm($pStr,$iTerm,$zColumn,$zOp) { $10 = HEAP32[$3>>2]|0; _sqlite3StrAccumAppend($9,$10,1); $11 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($11,19016,1); + _sqlite3StrAccumAppend($11,22934,1); STACKTOP = sp;return; } function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { @@ -127116,10 +128180,10 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { $9 = $8; HEAP32[$9>>2] = $1; $10 = HEAP32[$3>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$4>>2]|0; - $14 = (($13) + 40|0); + $14 = ((($13)) + 40|0); $15 = HEAP32[$14>>2]|0; $16 = ($12|0)!=($15|0); if ($16) { @@ -127128,7 +128192,7 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { STACKTOP = sp;return ($62|0); } $17 = HEAP32[$3>>2]|0; - $18 = (($17) + 18|0); + $18 = ((($17)) + 18|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; $21 = $20 & 2; @@ -127139,7 +128203,7 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { STACKTOP = sp;return ($62|0); } $23 = HEAP32[$3>>2]|0; - $24 = (($23) + 32|0); + $24 = ((($23)) + 32|0); $25 = $24; $26 = $25; $27 = HEAP32[$26>>2]|0; @@ -127163,7 +128227,7 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { STACKTOP = sp;return ($62|0); } $42 = HEAP32[$3>>2]|0; - $43 = (($42) + 12|0); + $43 = ((($42)) + 12|0); $44 = HEAP32[$43>>2]|0; $45 = ($44|0)<(0); if ($45) { @@ -127172,15 +128236,15 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { STACKTOP = sp;return ($62|0); } $46 = HEAP32[$3>>2]|0; - $47 = (($46) + 12|0); + $47 = ((($46)) + 12|0); $48 = HEAP32[$47>>2]|0; $49 = HEAP32[$4>>2]|0; - $50 = (($49) + 16|0); + $50 = ((($49)) + 16|0); $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 4|0); + $52 = ((($51)) + 4|0); $53 = HEAP32[$52>>2]|0; $54 = (($53) + (($48*24)|0)|0); - $55 = (($54) + 21|0); + $55 = ((($54)) + 21|0); $56 = HEAP8[$55>>0]|0; HEAP8[$aff>>0] = $56; $57 = HEAP32[$3>>2]|0; @@ -127197,7 +128261,7 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { $62 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($62|0); } - return 0|0; + return (0)|0; } function _whereLoopResize($db,$p,$n) { $db = $db|0; @@ -127217,7 +128281,7 @@ function _whereLoopResize($db,$p,$n) { HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $n; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 42|0); + $5 = ((($4)) + 42|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = HEAP32[$3>>2]|0; @@ -127245,35 +128309,35 @@ function _whereLoopResize($db,$p,$n) { } $19 = HEAP32[$paNew>>2]|0; $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 44|0); + $21 = ((($20)) + 44|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 42|0); + $24 = ((($23)) + 42|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = $26<<2; _memcpy(($19|0),($22|0),($27|0))|0; $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 44|0); + $29 = ((($28)) + 44|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$2>>2]|0; - $32 = (($31) + 52|0); + $32 = ((($31)) + 52|0); $33 = ($30|0)!=($32|0); if ($33) { $34 = HEAP32[$1>>2]|0; $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 44|0); + $36 = ((($35)) + 44|0); $37 = HEAP32[$36>>2]|0; _sqlite3DbFree($34,$37); } $38 = HEAP32[$paNew>>2]|0; $39 = HEAP32[$2>>2]|0; - $40 = (($39) + 44|0); + $40 = ((($39)) + 44|0); HEAP32[$40>>2] = $38; $41 = HEAP32[$3>>2]|0; $42 = $41&65535; $43 = HEAP32[$2>>2]|0; - $44 = (($43) + 42|0); + $44 = ((($43)) + 42|0); HEAP16[$44>>1] = $42; HEAP32[$0>>2] = 0; $45 = HEAP32[$0>>2]|0; @@ -127291,13 +128355,13 @@ function _sqlite3AllocateIndexObject($db,$nCol,$nExtra,$ppExtra) { var $nByte = 0, $p = 0, $pExtra = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; + $0 = sp + 4|0; $1 = sp + 24|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $p = sp + 8|0; - $nByte = sp + 4|0; - $pExtra = sp; + $2 = sp + 8|0; + $3 = sp + 20|0; + $p = sp; + $nByte = sp + 16|0; + $pExtra = sp + 12|0; HEAP32[$0>>2] = $db; HEAP16[$1>>1] = $nCol; HEAP32[$2>>2] = $nExtra; @@ -127339,11 +128403,11 @@ function _sqlite3AllocateIndexObject($db,$nCol,$nExtra,$ppExtra) { STACKTOP = sp;return ($79|0); } $34 = HEAP32[$p>>2]|0; - $35 = (($34) + 56|0); + $35 = ((($34)) + 56|0); HEAP32[$pExtra>>2] = $35; $36 = HEAP32[$pExtra>>2]|0; $37 = HEAP32[$p>>2]|0; - $38 = (($37) + 32|0); + $38 = ((($37)) + 32|0); HEAP32[$38>>2] = $36; $39 = HEAP16[$1>>1]|0; $40 = $39 << 16 >> 16; @@ -127355,7 +128419,7 @@ function _sqlite3AllocateIndexObject($db,$nCol,$nExtra,$ppExtra) { HEAP32[$pExtra>>2] = $45; $46 = HEAP32[$pExtra>>2]|0; $47 = HEAP32[$p>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); HEAP32[$48>>2] = $46; $49 = HEAP16[$1>>1]|0; $50 = $49 << 16 >> 16; @@ -127366,7 +128430,7 @@ function _sqlite3AllocateIndexObject($db,$nCol,$nExtra,$ppExtra) { HEAP32[$pExtra>>2] = $54; $55 = HEAP32[$pExtra>>2]|0; $56 = HEAP32[$p>>2]|0; - $57 = (($56) + 4|0); + $57 = ((($56)) + 4|0); HEAP32[$57>>2] = $55; $58 = HEAP16[$1>>1]|0; $59 = $58 << 16 >> 16; @@ -127376,18 +128440,18 @@ function _sqlite3AllocateIndexObject($db,$nCol,$nExtra,$ppExtra) { HEAP32[$pExtra>>2] = $62; $63 = HEAP32[$pExtra>>2]|0; $64 = HEAP32[$p>>2]|0; - $65 = (($64) + 28|0); + $65 = ((($64)) + 28|0); HEAP32[$65>>2] = $63; $66 = HEAP16[$1>>1]|0; $67 = HEAP32[$p>>2]|0; - $68 = (($67) + 52|0); + $68 = ((($67)) + 52|0); HEAP16[$68>>1] = $66; $69 = HEAP16[$1>>1]|0; $70 = $69 << 16 >> 16; $71 = (($70) - 1)|0; $72 = $71&65535; $73 = HEAP32[$p>>2]|0; - $74 = (($73) + 50|0); + $74 = ((($73)) + 50|0); HEAP16[$74>>1] = $72; $75 = HEAP32[$p>>2]|0; $76 = HEAP32[$nByte>>2]|0; @@ -127435,7 +128499,7 @@ function _exprTableUsage($pMaskSet,$p) { $114 = (($111) + 4)|0; $115 = $114; $116 = HEAP32[$115>>2]|0; - tempRet0 = $116; + tempRet0 = ($116); STACKTOP = sp;return ($113|0); } $13 = HEAP32[$2>>2]|0; @@ -127445,7 +128509,7 @@ function _exprTableUsage($pMaskSet,$p) { $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$2>>2]|0; if ($16) { - $19 = (($18) + 28|0); + $19 = ((($18)) + 28|0); $20 = HEAP32[$19>>2]|0; $21 = (_getMask($17,$20)|0); $22 = tempRet0; @@ -127473,10 +128537,10 @@ function _exprTableUsage($pMaskSet,$p) { $114 = (($111) + 4)|0; $115 = $114; $116 = HEAP32[$115>>2]|0; - tempRet0 = $116; + tempRet0 = ($116); STACKTOP = sp;return ($113|0); } - $37 = (($18) + 16|0); + $37 = ((($18)) + 16|0); $38 = HEAP32[$37>>2]|0; $39 = (_exprTableUsage($17,$38)|0); $40 = tempRet0; @@ -127488,7 +128552,7 @@ function _exprTableUsage($pMaskSet,$p) { HEAP32[$44>>2] = $40; $45 = HEAP32[$1>>2]|0; $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 12|0); + $47 = ((($46)) + 12|0); $48 = HEAP32[$47>>2]|0; $49 = (_exprTableUsage($45,$48)|0); $50 = tempRet0; @@ -127507,13 +128571,13 @@ function _exprTableUsage($pMaskSet,$p) { $62 = $61; HEAP32[$62>>2] = $58; $63 = HEAP32[$2>>2]|0; - $64 = (($63) + 4|0); + $64 = ((($63)) + 4|0); $65 = HEAP32[$64>>2]|0; $66 = $65 & 2048; $67 = ($66|0)!=(0); $68 = HEAP32[$1>>2]|0; $69 = HEAP32[$2>>2]|0; - $70 = (($69) + 20|0); + $70 = ((($69)) + 20|0); if ($67) { $71 = HEAP32[$70>>2]|0; $72 = (_exprSelectTableUsage($68,$71)|0); @@ -127569,7 +128633,7 @@ function _exprTableUsage($pMaskSet,$p) { $114 = (($111) + 4)|0; $115 = $114; $116 = HEAP32[$115>>2]|0; - tempRet0 = $116; + tempRet0 = ($116); STACKTOP = sp;return ($113|0); } function _exprSelectTableUsage($pMaskSet,$pS) { @@ -127606,7 +128670,7 @@ function _exprSelectTableUsage($pMaskSet,$pS) { break; } $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 32|0); + $9 = ((($8)) + 32|0); $10 = HEAP32[$9>>2]|0; HEAP32[$pSrc>>2] = $10; $11 = HEAP32[$0>>2]|0; @@ -127630,7 +128694,7 @@ function _exprSelectTableUsage($pMaskSet,$pS) { HEAP32[$27>>2] = $23; $28 = HEAP32[$0>>2]|0; $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 40|0); + $30 = ((($29)) + 40|0); $31 = HEAP32[$30>>2]|0; $32 = (_exprListTableUsage($28,$31)|0); $33 = tempRet0; @@ -127650,7 +128714,7 @@ function _exprSelectTableUsage($pMaskSet,$pS) { HEAP32[$45>>2] = $41; $46 = HEAP32[$0>>2]|0; $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 48|0); + $48 = ((($47)) + 48|0); $49 = HEAP32[$48>>2]|0; $50 = (_exprListTableUsage($46,$49)|0); $51 = tempRet0; @@ -127670,7 +128734,7 @@ function _exprSelectTableUsage($pMaskSet,$pS) { HEAP32[$63>>2] = $59; $64 = HEAP32[$0>>2]|0; $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 36|0); + $66 = ((($65)) + 36|0); $67 = HEAP32[$66>>2]|0; $68 = (_exprTableUsage($64,$67)|0); $69 = tempRet0; @@ -127690,7 +128754,7 @@ function _exprSelectTableUsage($pMaskSet,$pS) { HEAP32[$81>>2] = $77; $82 = HEAP32[$0>>2]|0; $83 = HEAP32[$1>>2]|0; - $84 = (($83) + 44|0); + $84 = ((($83)) + 44|0); $85 = HEAP32[$84>>2]|0; $86 = (_exprTableUsage($82,$85)|0); $87 = tempRet0; @@ -127724,9 +128788,9 @@ function _exprSelectTableUsage($pMaskSet,$pS) { $106 = HEAP32[$0>>2]|0; $107 = HEAP32[$i>>2]|0; $108 = HEAP32[$pSrc>>2]|0; - $109 = (($108) + 8|0); + $109 = ((($108)) + 8|0); $110 = (($109) + (($107*72)|0)|0); - $111 = (($110) + 20|0); + $111 = ((($110)) + 20|0); $112 = HEAP32[$111>>2]|0; $113 = (_exprSelectTableUsage($106,$112)|0); $114 = tempRet0; @@ -127747,9 +128811,9 @@ function _exprSelectTableUsage($pMaskSet,$pS) { $127 = HEAP32[$0>>2]|0; $128 = HEAP32[$i>>2]|0; $129 = HEAP32[$pSrc>>2]|0; - $130 = (($129) + 8|0); + $130 = ((($129)) + 8|0); $131 = (($130) + (($128*72)|0)|0); - $132 = (($131) + 44|0); + $132 = ((($131)) + 44|0); $133 = HEAP32[$132>>2]|0; $134 = (_exprTableUsage($127,$133)|0); $135 = tempRet0; @@ -127774,7 +128838,7 @@ function _exprSelectTableUsage($pMaskSet,$pS) { } } while(0); $150 = HEAP32[$1>>2]|0; - $151 = (($150) + 52|0); + $151 = ((($150)) + 52|0); $152 = HEAP32[$151>>2]|0; HEAP32[$1>>2] = $152; } @@ -127784,7 +128848,7 @@ function _exprSelectTableUsage($pMaskSet,$pS) { $156 = (($153) + 4)|0; $157 = $156; $158 = HEAP32[$157>>2]|0; - tempRet0 = $158; + tempRet0 = ($158); STACKTOP = sp;return ($155|0); } function _sqlite3LogEstAdd($a,$b) { @@ -127838,7 +128902,7 @@ function _sqlite3LogEstAdd($a,$b) { $26 = HEAP16[$2>>1]|0; $27 = $26 << 16 >> 16; $28 = (($25) - ($27))|0; - $29 = (24056 + ($28)|0); + $29 = (26468 + ($28)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = (($21) + ($31))|0; @@ -127879,7 +128943,7 @@ function _sqlite3LogEstAdd($a,$b) { $52 = HEAP16[$1>>1]|0; $53 = $52 << 16 >> 16; $54 = (($51) - ($53))|0; - $55 = (24056 + ($54)|0); + $55 = (26468 + ($54)|0); $56 = HEAP8[$55>>0]|0; $57 = $56&255; $58 = (($47) + ($57))|0; @@ -127889,7 +128953,7 @@ function _sqlite3LogEstAdd($a,$b) { STACKTOP = sp;return ($60|0); } } - return 0|0; + return (0)|0; } function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop,$pLast,$pRevMask) { $pWInfo = $pWInfo|0; @@ -127937,44 +129001,44 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, var $pColl = 0, $pIndex = 0, $pLoop = 0, $pOBExpr = 0, $pTerm = 0, $ready = 0, $rev = 0, $revIdx = 0, $revSet = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; - $0 = sp + 141|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $3 = sp + 112|0; - $4 = sp + 132|0; + $0 = sp + 138|0; + $1 = sp + 108|0; + $2 = sp + 96|0; + $3 = sp + 88|0; + $4 = sp + 124|0; $5 = sp + 130|0; - $6 = sp + 108|0; - $7 = sp + 104|0; - $revSet = sp + 140|0; - $rev = sp + 139|0; - $revIdx = sp + 138|0; - $isOrderDistinct = sp + 137|0; + $6 = sp + 76|0; + $7 = sp + 72|0; + $revSet = sp + 134|0; + $rev = sp + 140|0; + $revIdx = sp + 139|0; + $isOrderDistinct = sp + 141|0; $distinctColumns = sp + 136|0; - $isMatch = sp + 135|0; + $isMatch = sp + 137|0; $nKeyCol = sp + 128|0; - $nColumn = sp + 126|0; - $nOrderBy = sp + 124|0; - $iLoop = sp + 100|0; - $i = sp + 96|0; - $j = sp + 92|0; - $iCur = sp + 88|0; - $iColumn = sp + 84|0; - $pLoop = sp + 80|0; - $pTerm = sp + 76|0; - $pOBExpr = sp + 72|0; - $pColl = sp + 68|0; - $pIndex = sp + 64|0; - $db = sp + 60|0; - $obSat = sp + 40|0; - $obDone = sp + 32|0; - $orderDistinctMask = sp + 24|0; - $ready = sp + 16|0; - $z1 = sp + 56|0; - $z2 = sp + 52|0; - $bOnce = sp + 134|0; - $p = sp + 48|0; - $mTerm = sp + 8|0; - $m = sp; + $nColumn = sp + 132|0; + $nOrderBy = sp + 126|0; + $iLoop = sp + 52|0; + $i = sp + 48|0; + $j = sp + 120|0; + $iCur = sp + 64|0; + $iColumn = sp + 68|0; + $pLoop = sp + 112|0; + $pTerm = sp + 116|0; + $pOBExpr = sp + 104|0; + $pColl = sp + 84|0; + $pIndex = sp + 56|0; + $db = sp + 80|0; + $obSat = sp + 24|0; + $obDone = sp + 16|0; + $orderDistinctMask = sp + 8|0; + $ready = sp; + $z1 = sp + 60|0; + $z2 = sp + 100|0; + $bOnce = sp + 135|0; + $p = sp + 92|0; + $mTerm = sp + 32|0; + $m = sp + 40|0; HEAP32[$1>>2] = $pWInfo; HEAP32[$2>>2] = $pOrderBy; HEAP32[$3>>2] = $pPath; @@ -127998,7 +129062,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $17 = ($16|0)!=(0); if ($17) { $18 = HEAP32[$db>>2]|0; - $19 = (($18) + 60|0); + $19 = ((($18)) + 60|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = $21 & 128; @@ -128085,7 +129149,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $73 = ($72|0)>(0); if ($73) { $74 = HEAP32[$pLoop>>2]|0; - $75 = (($74) + 8|0); + $75 = ((($74)) + 8|0); $76 = $75; $77 = $76; $78 = HEAP32[$77>>2]|0; @@ -128114,7 +129178,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, if ($97) { $98 = HEAP32[$iLoop>>2]|0; $99 = HEAP32[$3>>2]|0; - $100 = (($99) + 24|0); + $100 = ((($99)) + 24|0); $101 = HEAP32[$100>>2]|0; $102 = (($101) + ($98<<2)|0); $103 = HEAP32[$102>>2]|0; @@ -128125,7 +129189,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, } HEAP32[$pLoop>>2] = $105; $106 = HEAP32[$pLoop>>2]|0; - $107 = (($106) + 36|0); + $107 = ((($106)) + 36|0); $108 = HEAP32[$107>>2]|0; $109 = $108 & 1024; $110 = ($109|0)!=(0); @@ -128134,15 +129198,15 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, label = 16; break; } - $126 = (($111) + 16|0); + $126 = ((($111)) + 16|0); $127 = HEAP8[$126>>0]|0; $128 = $127&255; $129 = HEAP32[$1>>2]|0; - $130 = (($129) + 4|0); + $130 = ((($129)) + 4|0); $131 = HEAP32[$130>>2]|0; - $132 = (($131) + 8|0); + $132 = ((($131)) + 8|0); $133 = (($132) + (($128*72)|0)|0); - $134 = (($133) + 40|0); + $134 = ((($133)) + 40|0); $135 = HEAP32[$134>>2]|0; HEAP32[$iCur>>2] = $135; HEAP32[$i>>2] = 0; @@ -128172,7 +129236,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, if (!($153)) { $154 = HEAP32[$i>>2]|0; $155 = HEAP32[$2>>2]|0; - $156 = (($155) + 4|0); + $156 = ((($155)) + 4|0); $157 = HEAP32[$156>>2]|0; $158 = (($157) + (($154*20)|0)|0); $159 = HEAP32[$158>>2]|0; @@ -128184,16 +129248,16 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $164 = ($163|0)!=(154); if (!($164)) { $165 = HEAP32[$pOBExpr>>2]|0; - $166 = (($165) + 28|0); + $166 = ((($165)) + 28|0); $167 = HEAP32[$166>>2]|0; $168 = HEAP32[$iCur>>2]|0; $169 = ($167|0)!=($168|0); if (!($169)) { $170 = HEAP32[$1>>2]|0; - $171 = (($170) + 328|0); + $171 = ((($170)) + 328|0); $172 = HEAP32[$iCur>>2]|0; $173 = HEAP32[$pOBExpr>>2]|0; - $174 = (($173) + 32|0); + $174 = ((($173)) + 32|0); $175 = HEAP16[$174>>1]|0; $176 = $175 << 16 >> 16; $177 = $ready; @@ -128210,14 +129274,14 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $187 = ($186|0)==(0|0); if (!($187)) { $188 = HEAP32[$pTerm>>2]|0; - $189 = (($188) + 18|0); + $189 = ((($188)) + 18|0); $190 = HEAP16[$189>>1]|0; $191 = $190&65535; $192 = $191 & 2; $193 = ($192|0)!=(0); if ($193) { $194 = HEAP32[$pOBExpr>>2]|0; - $195 = (($194) + 32|0); + $195 = ((($194)) + 32|0); $196 = HEAP16[$195>>1]|0; $197 = $196 << 16 >> 16; $198 = ($197|0)>=(0); @@ -128226,7 +129290,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $200 = HEAP32[$199>>2]|0; $201 = HEAP32[$i>>2]|0; $202 = HEAP32[$2>>2]|0; - $203 = (($202) + 4|0); + $203 = ((($202)) + 4|0); $204 = HEAP32[$203>>2]|0; $205 = (($204) + (($201*20)|0)|0); $206 = HEAP32[$205>>2]|0; @@ -128236,7 +129300,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $209 = ($208|0)!=(0|0); if (!($209)) { $210 = HEAP32[$db>>2]|0; - $211 = (($210) + 8|0); + $211 = ((($210)) + 8|0); $212 = HEAP32[$211>>2]|0; HEAP32[$pColl>>2] = $212; } @@ -128253,7 +129317,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $221 = ($220|0)!=(0|0); if (!($221)) { $222 = HEAP32[$db>>2]|0; - $223 = (($222) + 8|0); + $223 = ((($222)) + 8|0); $224 = HEAP32[$223>>2]|0; HEAP32[$pColl>>2] = $224; } @@ -128296,13 +129360,13 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, HEAP32[$i>>2] = $247; } $248 = HEAP32[$pLoop>>2]|0; - $249 = (($248) + 36|0); + $249 = ((($248)) + 36|0); $250 = HEAP32[$249>>2]|0; $251 = $250 & 4096; $252 = ($251|0)==(0); if ($252) { $253 = HEAP32[$pLoop>>2]|0; - $254 = (($253) + 36|0); + $254 = ((($253)) + 36|0); $255 = HEAP32[$254>>2]|0; $256 = $255 & 256; $257 = ($256|0)!=(0); @@ -128312,8 +129376,8 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, HEAP16[$nColumn>>1] = 1; } else { $258 = HEAP32[$pLoop>>2]|0; - $259 = (($258) + 24|0); - $260 = (($259) + 4|0); + $259 = ((($258)) + 24|0); + $260 = ((($259)) + 4|0); $261 = HEAP32[$260>>2]|0; HEAP32[$pIndex>>2] = $261; $262 = ($261|0)==(0|0); @@ -128322,7 +129386,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, break; } $263 = HEAP32[$pIndex>>2]|0; - $264 = (($263) + 55|0); + $264 = ((($263)) + 55|0); $265 = HEAP8[$264>>0]|0; $266 = ($265&255) >>> 2; $267 = $266 & 1; @@ -128333,15 +129397,15 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, break; } $270 = HEAP32[$pIndex>>2]|0; - $271 = (($270) + 50|0); + $271 = ((($270)) + 50|0); $272 = HEAP16[$271>>1]|0; HEAP16[$nKeyCol>>1] = $272; $273 = HEAP32[$pIndex>>2]|0; - $274 = (($273) + 52|0); + $274 = ((($273)) + 52|0); $275 = HEAP16[$274>>1]|0; HEAP16[$nColumn>>1] = $275; $276 = HEAP32[$pIndex>>2]|0; - $277 = (($276) + 54|0); + $277 = ((($276)) + 54|0); $278 = HEAP8[$277>>0]|0; $279 = $278&255; $280 = ($279|0)!=(0); @@ -128363,25 +129427,25 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, } $287 = HEAP32[$j>>2]|0; $288 = HEAP32[$pLoop>>2]|0; - $289 = (($288) + 24|0); + $289 = ((($288)) + 24|0); $290 = HEAP16[$289>>1]|0; $291 = $290&65535; $292 = ($287|0)<($291|0); if ($292) { $293 = HEAP32[$pLoop>>2]|0; - $294 = (($293) + 24|0); - $295 = (($294) + 2|0); + $294 = ((($293)) + 24|0); + $295 = ((($294)) + 2|0); $296 = HEAP16[$295>>1]|0; $297 = $296&65535; $298 = ($297|0)==(0); if ($298) { $299 = HEAP32[$j>>2]|0; $300 = HEAP32[$pLoop>>2]|0; - $301 = (($300) + 44|0); + $301 = ((($300)) + 44|0); $302 = HEAP32[$301>>2]|0; $303 = (($302) + ($299<<2)|0); $304 = HEAP32[$303>>2]|0; - $305 = (($304) + 18|0); + $305 = ((($304)) + 18|0); $306 = HEAP16[$305>>1]|0; $307 = $306&65535; HEAP32[$i>>2] = $307; @@ -128410,7 +129474,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, if ($314) { $315 = HEAP32[$j>>2]|0; $316 = HEAP32[$pIndex>>2]|0; - $317 = (($316) + 4|0); + $317 = ((($316)) + 4|0); $318 = HEAP32[$317>>2]|0; $319 = (($318) + ($315<<1)|0); $320 = HEAP16[$319>>1]|0; @@ -128418,16 +129482,16 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, HEAP32[$iColumn>>2] = $321; $322 = HEAP32[$j>>2]|0; $323 = HEAP32[$pIndex>>2]|0; - $324 = (($323) + 28|0); + $324 = ((($323)) + 28|0); $325 = HEAP32[$324>>2]|0; $326 = (($325) + ($322)|0); $327 = HEAP8[$326>>0]|0; HEAP8[$revIdx>>0] = $327; $328 = HEAP32[$iColumn>>2]|0; $329 = HEAP32[$pIndex>>2]|0; - $330 = (($329) + 12|0); + $330 = ((($329)) + 12|0); $331 = HEAP32[$330>>2]|0; - $332 = (($331) + 36|0); + $332 = ((($331)) + 36|0); $333 = HEAP16[$332>>1]|0; $334 = $333 << 16 >> 16; $335 = ($328|0)==($334|0); @@ -128448,19 +129512,19 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, if ($or$cond) { $341 = HEAP32[$j>>2]|0; $342 = HEAP32[$pLoop>>2]|0; - $343 = (($342) + 24|0); + $343 = ((($342)) + 24|0); $344 = HEAP16[$343>>1]|0; $345 = $344&65535; $346 = ($341|0)>=($345|0); if ($346) { $347 = HEAP32[$iColumn>>2]|0; $348 = HEAP32[$pIndex>>2]|0; - $349 = (($348) + 12|0); + $349 = ((($348)) + 12|0); $350 = HEAP32[$349>>2]|0; - $351 = (($350) + 4|0); + $351 = ((($350)) + 4|0); $352 = HEAP32[$351>>2]|0; $353 = (($352) + (($347*24)|0)|0); - $354 = (($353) + 20|0); + $354 = ((($353)) + 20|0); $355 = HEAP8[$354>>0]|0; $356 = $355&255; $357 = ($356|0)==(0); @@ -128506,7 +129570,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, if (!($378)) { $379 = HEAP32[$i>>2]|0; $380 = HEAP32[$2>>2]|0; - $381 = (($380) + 4|0); + $381 = ((($380)) + 4|0); $382 = HEAP32[$381>>2]|0; $383 = (($382) + (($379*20)|0)|0); $384 = HEAP32[$383>>2]|0; @@ -128527,7 +129591,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, break; } $394 = HEAP32[$pOBExpr>>2]|0; - $395 = (($394) + 28|0); + $395 = ((($394)) + 28|0); $396 = HEAP32[$395>>2]|0; $397 = HEAP32[$iCur>>2]|0; $398 = ($396|0)!=($397|0); @@ -128535,7 +129599,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, break; } $399 = HEAP32[$pOBExpr>>2]|0; - $400 = (($399) + 32|0); + $400 = ((($399)) + 32|0); $401 = HEAP16[$400>>1]|0; $402 = $401 << 16 >> 16; $403 = HEAP32[$iColumn>>2]|0; @@ -128553,7 +129617,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $408 = HEAP32[$407>>2]|0; $409 = HEAP32[$i>>2]|0; $410 = HEAP32[$2>>2]|0; - $411 = (($410) + 4|0); + $411 = ((($410)) + 4|0); $412 = HEAP32[$411>>2]|0; $413 = (($412) + (($409*20)|0)|0); $414 = HEAP32[$413>>2]|0; @@ -128563,7 +129627,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $417 = ($416|0)!=(0|0); if (!($417)) { $418 = HEAP32[$db>>2]|0; - $419 = (($418) + 8|0); + $419 = ((($418)) + 8|0); $420 = HEAP32[$419>>2]|0; HEAP32[$pColl>>2] = $420; } @@ -128571,7 +129635,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $422 = HEAP32[$421>>2]|0; $423 = HEAP32[$j>>2]|0; $424 = HEAP32[$pIndex>>2]|0; - $425 = (($424) + 32|0); + $425 = ((($424)) + 32|0); $426 = HEAP32[$425>>2]|0; $427 = (($426) + ($423<<2)|0); $428 = HEAP32[$427>>2]|0; @@ -128613,10 +129677,10 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $446 = $443 ^ $445; $447 = HEAP32[$i>>2]|0; $448 = HEAP32[$2>>2]|0; - $449 = (($448) + 4|0); + $449 = ((($448)) + 4|0); $450 = HEAP32[$449>>2]|0; $451 = (($450) + (($447*20)|0)|0); - $452 = (($451) + 12|0); + $452 = ((($451)) + 12|0); $453 = HEAP8[$452>>0]|0; $454 = $453&255; $455 = ($446|0)!=($454|0); @@ -128630,10 +129694,10 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $457 = $456&255; $458 = HEAP32[$i>>2]|0; $459 = HEAP32[$2>>2]|0; - $460 = (($459) + 4|0); + $460 = ((($459)) + 4|0); $461 = HEAP32[$460>>2]|0; $462 = (($461) + (($458*20)|0)|0); - $463 = (($462) + 12|0); + $463 = ((($462)) + 12|0); $464 = HEAP8[$463>>0]|0; $465 = $464&255; $466 = $457 ^ $465; @@ -128725,7 +129789,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, L115: do { if ($516) { $517 = HEAP32[$pLoop>>2]|0; - $518 = (($517) + 8|0); + $518 = ((($517)) + 8|0); $519 = $518; $520 = $519; $521 = HEAP32[$520>>2]|0; @@ -128773,13 +129837,13 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, if (!($554)) { $555 = HEAP32[$i>>2]|0; $556 = HEAP32[$2>>2]|0; - $557 = (($556) + 4|0); + $557 = ((($556)) + 4|0); $558 = HEAP32[$557>>2]|0; $559 = (($558) + (($555*20)|0)|0); $560 = HEAP32[$559>>2]|0; HEAP32[$p>>2] = $560; $561 = HEAP32[$1>>2]|0; - $562 = (($561) + 68|0); + $562 = ((($561)) + 68|0); $563 = HEAP32[$p>>2]|0; $564 = (_exprTableUsage($562,$563)|0); $565 = tempRet0; @@ -128857,8 +129921,8 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, HEAP32[$iLoop>>2] = $619; } if ((label|0) == 16) { - $112 = (($111) + 24|0); - $113 = (($112) + 5|0); + $112 = ((($111)) + 24|0); + $113 = ((($112)) + 5|0); $114 = HEAP8[$113>>0]|0; $115 = ($114<<24>>24)!=(0); if ($115) { @@ -128974,7 +130038,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $679 = HEAP8[$0>>0]|0; STACKTOP = sp;return ($679|0); } - return 0|0; + return (0)|0; } function _whereSortingCost($pWInfo,$nRow,$nOrderBy,$nSorted) { $pWInfo = $pWInfo|0; @@ -129022,7 +130086,7 @@ function _whereSortingCost($pWInfo,$nRow,$nOrderBy,$nSorted) { $26 = $25&65535; HEAP16[$rSortCost>>1] = $26; $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 34|0); + $28 = ((($27)) + 34|0); $29 = HEAP16[$28>>1]|0; $30 = $29&65535; $31 = $30 & 1024; @@ -129094,29 +130158,29 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $vararg_buffer = sp + 8|0; - $2 = sp + 96|0; - $3 = sp + 92|0; + $2 = sp + 12|0; + $3 = sp + 64|0; $4 = sp; - $pWInfo = sp + 88|0; - $pParse = sp + 84|0; - $pWC = sp + 80|0; - $pSrc = sp + 76|0; - $pTab = sp + 72|0; - $db = sp + 68|0; - $pIdxInfo = sp + 64|0; - $pIdxCons = sp + 60|0; - $pUsage = sp + 56|0; - $pTerm = sp + 52|0; + $pWInfo = sp + 24|0; + $pParse = sp + 16|0; + $pWC = sp + 20|0; + $pSrc = sp + 60|0; + $pTab = sp + 52|0; + $db = sp + 28|0; + $pIdxInfo = sp + 32|0; + $pIdxCons = sp + 36|0; + $pUsage = sp + 40|0; + $pTerm = sp + 44|0; $i = sp + 48|0; - $j = sp + 44|0; - $iTerm = sp + 40|0; - $mxTerm = sp + 36|0; - $nConstraint = sp + 32|0; - $seenIn = sp + 28|0; - $seenVar = sp + 24|0; - $iPhase = sp + 20|0; - $pNew = sp + 16|0; - $rc = sp + 12|0; + $j = sp + 56|0; + $iTerm = sp + 68|0; + $mxTerm = sp + 72|0; + $nConstraint = sp + 76|0; + $seenIn = sp + 80|0; + $seenVar = sp + 84|0; + $iPhase = sp + 88|0; + $pNew = sp + 92|0; + $rc = sp + 96|0; HEAP32[$3>>2] = $pBuilder; $5 = $4; $6 = $5; @@ -129137,32 +130201,32 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $14 = HEAP32[$13>>2]|0; HEAP32[$db>>2] = $14; $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; HEAP32[$pWC>>2] = $17; $18 = HEAP32[$3>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pNew>>2] = $20; $21 = HEAP32[$pNew>>2]|0; - $22 = (($21) + 16|0); + $22 = ((($21)) + 16|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = HEAP32[$pWInfo>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 8|0); + $28 = ((($27)) + 8|0); $29 = (($28) + (($24*72)|0)|0); HEAP32[$pSrc>>2] = $29; $30 = HEAP32[$pSrc>>2]|0; - $31 = (($30) + 16|0); + $31 = ((($30)) + 16|0); $32 = HEAP32[$31>>2]|0; HEAP32[$pTab>>2] = $32; $33 = HEAP32[$pParse>>2]|0; $34 = HEAP32[$pWC>>2]|0; $35 = HEAP32[$pSrc>>2]|0; $36 = HEAP32[$3>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = HEAP32[$37>>2]|0; $39 = (_allocateIndexInfo($33,$34,$35,$38)|0); HEAP32[$pIdxInfo>>2] = $39; @@ -129181,20 +130245,20 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $46 = $45; HEAP32[$46>>2] = 0; $47 = HEAP32[$pNew>>2]|0; - $48 = (($47) + 18|0); + $48 = ((($47)) + 18|0); HEAP16[$48>>1] = 0; $49 = HEAP32[$pNew>>2]|0; - $50 = (($49) + 36|0); + $50 = ((($49)) + 36|0); HEAP32[$50>>2] = 1024; $51 = HEAP32[$pNew>>2]|0; - $52 = (($51) + 40|0); + $52 = ((($51)) + 40|0); HEAP16[$52>>1] = 0; $53 = HEAP32[$pNew>>2]|0; - $54 = (($53) + 24|0); - $55 = (($54) + 4|0); + $54 = ((($53)) + 24|0); + $55 = ((($54)) + 4|0); HEAP8[$55>>0] = 0; $56 = HEAP32[$pIdxInfo>>2]|0; - $57 = (($56) + 16|0); + $57 = ((($56)) + 16|0); $58 = HEAP32[$57>>2]|0; HEAP32[$pUsage>>2] = $58; $59 = HEAP32[$pIdxInfo>>2]|0; @@ -129246,7 +130310,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { break; } $83 = HEAP32[$pIdxInfo>>2]|0; - $84 = (($83) + 4|0); + $84 = ((($83)) + 4|0); $85 = HEAP32[$84>>2]|0; HEAP32[$pIdxCons>>2] = $85; HEAP32[$i>>2] = 0; @@ -129259,35 +130323,24 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { break; } $90 = HEAP32[$pIdxCons>>2]|0; - $91 = (($90) + 8|0); + $91 = ((($90)) + 8|0); $92 = HEAP32[$91>>2]|0; HEAP32[$j>>2] = $92; $93 = HEAP32[$j>>2]|0; $94 = HEAP32[$pWC>>2]|0; - $95 = (($94) + 20|0); + $95 = ((($94)) + 20|0); $96 = HEAP32[$95>>2]|0; $97 = (($96) + (($93*48)|0)|0); HEAP32[$pTerm>>2] = $97; $98 = HEAP32[$iPhase>>2]|0; - do { - if ((($98|0) == 2)) { - $141 = HEAP32[$pTerm>>2]|0; - $142 = (($141) + 18|0); - $143 = HEAP16[$142>>1]|0; - $144 = $143&65535; - $145 = $144 & 1; - $146 = ($145|0)==(0); - $147 = $146&1; - $148 = $147&255; - $149 = HEAP32[$pIdxCons>>2]|0; - $150 = (($149) + 5|0); - HEAP8[$150>>0] = $148; - } else if ((($98|0) == 0)) { + L20: do { + switch ($98|0) { + case 0: { $99 = HEAP32[$pIdxCons>>2]|0; - $100 = (($99) + 5|0); + $100 = ((($99)) + 5|0); HEAP8[$100>>0] = 0; $101 = HEAP32[$pTerm>>2]|0; - $102 = (($101) + 18|0); + $102 = ((($101)) + 18|0); $103 = HEAP16[$102>>1]|0; $104 = $103&65535; $105 = $104 & 1; @@ -129296,7 +130349,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { HEAP32[$seenIn>>2] = 1; } $107 = HEAP32[$pTerm>>2]|0; - $108 = (($107) + 32|0); + $108 = ((($107)) + 32|0); $109 = $108; $110 = $109; $111 = HEAP32[$110>>2]|0; @@ -129308,22 +130361,24 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $117 = $115 | $116; if ($117) { HEAP32[$seenVar>>2] = 1; - break; + break L20; } $118 = HEAP32[$pTerm>>2]|0; - $119 = (($118) + 18|0); + $119 = ((($118)) + 18|0); $120 = HEAP16[$119>>1]|0; $121 = $120&65535; $122 = $121 & 1; $123 = ($122|0)==(0); if ($123) { $124 = HEAP32[$pIdxCons>>2]|0; - $125 = (($124) + 5|0); + $125 = ((($124)) + 5|0); HEAP8[$125>>0] = 1; } - } else if ((($98|0) == 1)) { + break; + } + case 1: { $126 = HEAP32[$pTerm>>2]|0; - $127 = (($126) + 32|0); + $127 = ((($126)) + 32|0); $128 = $127; $129 = $128; $130 = HEAP32[$129>>2]|0; @@ -129336,19 +130391,36 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $137 = $136&1; $138 = $137&255; $139 = HEAP32[$pIdxCons>>2]|0; - $140 = (($139) + 5|0); + $140 = ((($139)) + 5|0); HEAP8[$140>>0] = $138; - } else { + break; + } + case 2: { + $141 = HEAP32[$pTerm>>2]|0; + $142 = ((($141)) + 18|0); + $143 = HEAP16[$142>>1]|0; + $144 = $143&65535; + $145 = $144 & 1; + $146 = ($145|0)==(0); + $147 = $146&1; + $148 = $147&255; + $149 = HEAP32[$pIdxCons>>2]|0; + $150 = ((($149)) + 5|0); + HEAP8[$150>>0] = $148; + break; + } + default: { $151 = HEAP32[$pIdxCons>>2]|0; - $152 = (($151) + 5|0); + $152 = ((($151)) + 5|0); HEAP8[$152>>0] = 1; } + } } while(0); $153 = HEAP32[$i>>2]|0; $154 = (($153) + 1)|0; HEAP32[$i>>2] = $154; $155 = HEAP32[$pIdxCons>>2]|0; - $156 = (($155) + 12|0); + $156 = ((($155)) + 12|0); HEAP32[$pIdxCons>>2] = $156; } $157 = HEAP32[$pUsage>>2]|0; @@ -129357,32 +130429,32 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $160 = $159<<3; _memset(($157|0),0,($160|0))|0; $161 = HEAP32[$pIdxInfo>>2]|0; - $162 = (($161) + 28|0); + $162 = ((($161)) + 28|0); $163 = HEAP32[$162>>2]|0; $164 = ($163|0)!=(0); if ($164) { $165 = HEAP32[$pIdxInfo>>2]|0; - $166 = (($165) + 24|0); + $166 = ((($165)) + 24|0); $167 = HEAP32[$166>>2]|0; _sqlite3_free($167); } $168 = HEAP32[$pIdxInfo>>2]|0; - $169 = (($168) + 24|0); + $169 = ((($168)) + 24|0); HEAP32[$169>>2] = 0; $170 = HEAP32[$pIdxInfo>>2]|0; - $171 = (($170) + 20|0); + $171 = ((($170)) + 20|0); HEAP32[$171>>2] = 0; $172 = HEAP32[$pIdxInfo>>2]|0; - $173 = (($172) + 28|0); + $173 = ((($172)) + 28|0); HEAP32[$173>>2] = 0; $174 = HEAP32[$pIdxInfo>>2]|0; - $175 = (($174) + 32|0); + $175 = ((($174)) + 32|0); HEAP32[$175>>2] = 0; $176 = HEAP32[$pIdxInfo>>2]|0; - $177 = (($176) + 40|0); + $177 = ((($176)) + 40|0); HEAPF64[$177>>3] = 4.9999999999999998E+98; $178 = HEAP32[$pIdxInfo>>2]|0; - $179 = (($178) + 48|0); + $179 = ((($178)) + 48|0); $180 = $179; $181 = $180; HEAP32[$181>>2] = 25; @@ -129400,7 +130472,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { break; } $190 = HEAP32[$pIdxInfo>>2]|0; - $191 = (($190) + 4|0); + $191 = ((($190)) + 4|0); $192 = HEAP32[$191>>2]|0; HEAP32[$pIdxCons>>2] = $192; $193 = $4; @@ -129427,7 +130499,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { } $207 = HEAP32[$i>>2]|0; $208 = HEAP32[$pNew>>2]|0; - $209 = (($208) + 44|0); + $209 = ((($208)) + 44|0); $210 = HEAP32[$209>>2]|0; $211 = (($210) + ($207<<2)|0); HEAP32[$211>>2] = 0; @@ -129436,8 +130508,8 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { HEAP32[$i>>2] = $213; } $214 = HEAP32[$pNew>>2]|0; - $215 = (($214) + 24|0); - $216 = (($215) + 6|0); + $215 = ((($214)) + 24|0); + $216 = ((($215)) + 6|0); HEAP16[$216>>1] = 0; HEAP32[$i>>2] = 0; while(1) { @@ -129456,7 +130528,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $225 = ($224|0)>=(0); if ($225) { $226 = HEAP32[$pIdxCons>>2]|0; - $227 = (($226) + 8|0); + $227 = ((($226)) + 8|0); $228 = HEAP32[$227>>2]|0; HEAP32[$j>>2] = $228; $229 = HEAP32[$iTerm>>2]|0; @@ -129471,7 +130543,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { } $234 = HEAP32[$j>>2]|0; $235 = HEAP32[$pWC>>2]|0; - $236 = (($235) + 12|0); + $236 = ((($235)) + 12|0); $237 = HEAP32[$236>>2]|0; $238 = ($234|0)>=($237|0); if ($238) { @@ -129480,7 +130552,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { } $239 = HEAP32[$iTerm>>2]|0; $240 = HEAP32[$pNew>>2]|0; - $241 = (($240) + 44|0); + $241 = ((($240)) + 44|0); $242 = HEAP32[$241>>2]|0; $243 = (($242) + ($239<<2)|0); $244 = HEAP32[$243>>2]|0; @@ -129491,12 +130563,12 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { } $249 = HEAP32[$j>>2]|0; $250 = HEAP32[$pWC>>2]|0; - $251 = (($250) + 20|0); + $251 = ((($250)) + 20|0); $252 = HEAP32[$251>>2]|0; $253 = (($252) + (($249*48)|0)|0); HEAP32[$pTerm>>2] = $253; $254 = HEAP32[$pTerm>>2]|0; - $255 = (($254) + 32|0); + $255 = ((($254)) + 32|0); $256 = $255; $257 = $256; $258 = HEAP32[$257>>2]|0; @@ -129521,7 +130593,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $275 = HEAP32[$pTerm>>2]|0; $276 = HEAP32[$iTerm>>2]|0; $277 = HEAP32[$pNew>>2]|0; - $278 = (($277) + 44|0); + $278 = ((($277)) + 44|0); $279 = HEAP32[$278>>2]|0; $280 = (($279) + ($276<<2)|0); HEAP32[$280>>2] = $275; @@ -129538,7 +130610,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $287 = HEAP32[$i>>2]|0; $288 = HEAP32[$pUsage>>2]|0; $289 = (($288) + ($287<<3)|0); - $290 = (($289) + 4|0); + $290 = ((($289)) + 4|0); $291 = HEAP8[$290>>0]|0; $292 = $291&255; $293 = ($292|0)!=(0); @@ -129546,8 +130618,8 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $294 = HEAP32[$iTerm>>2]|0; $295 = 1 << $294; $296 = HEAP32[$pNew>>2]|0; - $297 = (($296) + 24|0); - $298 = (($297) + 6|0); + $297 = ((($296)) + 24|0); + $298 = ((($297)) + 6|0); $299 = HEAP16[$298>>1]|0; $300 = $299&65535; $301 = $300 | $295; @@ -129556,7 +130628,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { } } $303 = HEAP32[$pTerm>>2]|0; - $304 = (($303) + 18|0); + $304 = ((($303)) + 18|0); $305 = HEAP16[$304>>1]|0; $306 = $305&65535; $307 = $306 & 1; @@ -129565,7 +130637,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $309 = HEAP32[$i>>2]|0; $310 = HEAP32[$pUsage>>2]|0; $311 = (($310) + ($309<<3)|0); - $312 = (($311) + 4|0); + $312 = ((($311)) + 4|0); $313 = HEAP8[$312>>0]|0; $314 = $313&255; $315 = ($314|0)==(0); @@ -129573,7 +130645,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { break; } $316 = HEAP32[$pIdxInfo>>2]|0; - $317 = (($316) + 32|0); + $317 = ((($316)) + 32|0); HEAP32[$317>>2] = 0; } } @@ -129581,7 +130653,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $319 = (($318) + 1)|0; HEAP32[$i>>2] = $319; $320 = HEAP32[$pIdxCons>>2]|0; - $321 = (($320) + 12|0); + $321 = ((($320)) + 12|0); HEAP32[$pIdxCons>>2] = $321; } $322 = HEAP32[$i>>2]|0; @@ -129592,39 +130664,39 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $326 = (($325) + 1)|0; $327 = $326&65535; $328 = HEAP32[$pNew>>2]|0; - $329 = (($328) + 40|0); + $329 = ((($328)) + 40|0); HEAP16[$329>>1] = $327; $330 = HEAP32[$pIdxInfo>>2]|0; - $331 = (($330) + 20|0); + $331 = ((($330)) + 20|0); $332 = HEAP32[$331>>2]|0; $333 = HEAP32[$pNew>>2]|0; - $334 = (($333) + 24|0); + $334 = ((($333)) + 24|0); HEAP32[$334>>2] = $332; $335 = HEAP32[$pIdxInfo>>2]|0; - $336 = (($335) + 28|0); + $336 = ((($335)) + 28|0); $337 = HEAP32[$336>>2]|0; $338 = $337&255; $339 = HEAP32[$pNew>>2]|0; - $340 = (($339) + 24|0); - $341 = (($340) + 4|0); + $340 = ((($339)) + 24|0); + $341 = ((($340)) + 4|0); HEAP8[$341>>0] = $338; $342 = HEAP32[$pIdxInfo>>2]|0; - $343 = (($342) + 28|0); + $343 = ((($342)) + 28|0); HEAP32[$343>>2] = 0; $344 = HEAP32[$pIdxInfo>>2]|0; - $345 = (($344) + 24|0); + $345 = ((($344)) + 24|0); $346 = HEAP32[$345>>2]|0; $347 = HEAP32[$pNew>>2]|0; - $348 = (($347) + 24|0); - $349 = (($348) + 8|0); + $348 = ((($347)) + 24|0); + $349 = ((($348)) + 8|0); HEAP32[$349>>2] = $346; $350 = HEAP32[$pIdxInfo>>2]|0; - $351 = (($350) + 32|0); + $351 = ((($350)) + 32|0); $352 = HEAP32[$351>>2]|0; $353 = ($352|0)!=(0); if ($353) { $354 = HEAP32[$pIdxInfo>>2]|0; - $355 = (($354) + 8|0); + $355 = ((($354)) + 8|0); $356 = HEAP32[$355>>2]|0; $358 = $356; } else { @@ -129632,21 +130704,21 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { } $357 = $358&255; $359 = HEAP32[$pNew>>2]|0; - $360 = (($359) + 24|0); - $361 = (($360) + 5|0); + $360 = ((($359)) + 24|0); + $361 = ((($360)) + 5|0); HEAP8[$361>>0] = $357; $362 = HEAP32[$pNew>>2]|0; - $363 = (($362) + 18|0); + $363 = ((($362)) + 18|0); HEAP16[$363>>1] = 0; $364 = HEAP32[$pIdxInfo>>2]|0; - $365 = (($364) + 40|0); + $365 = ((($364)) + 40|0); $366 = +HEAPF64[$365>>3]; $367 = (_sqlite3LogEstFromDouble($366)|0); $368 = HEAP32[$pNew>>2]|0; - $369 = (($368) + 20|0); + $369 = ((($368)) + 20|0); HEAP16[$369>>1] = $367; $370 = HEAP32[$pIdxInfo>>2]|0; - $371 = (($370) + 48|0); + $371 = ((($370)) + 48|0); $372 = $371; $373 = $372; $374 = HEAP32[$373>>2]|0; @@ -129655,25 +130727,25 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $377 = HEAP32[$376>>2]|0; $378 = (_sqlite3LogEst($374,$377)|0); $379 = HEAP32[$pNew>>2]|0; - $380 = (($379) + 22|0); + $380 = ((($379)) + 22|0); HEAP16[$380>>1] = $378; $381 = HEAP32[$3>>2]|0; $382 = HEAP32[$pNew>>2]|0; (_whereLoopInsert($381,$382)|0); $383 = HEAP32[$pNew>>2]|0; - $384 = (($383) + 24|0); - $385 = (($384) + 4|0); + $384 = ((($383)) + 24|0); + $385 = ((($384)) + 4|0); $386 = HEAP8[$385>>0]|0; $387 = ($386<<24>>24)!=(0); if ($387) { $388 = HEAP32[$pNew>>2]|0; - $389 = (($388) + 24|0); - $390 = (($389) + 8|0); + $389 = ((($388)) + 24|0); + $390 = ((($389)) + 8|0); $391 = HEAP32[$390>>2]|0; _sqlite3_free($391); $392 = HEAP32[$pNew>>2]|0; - $393 = (($392) + 24|0); - $394 = (($393) + 4|0); + $393 = ((($392)) + 24|0); + $394 = ((($393)) + 4|0); HEAP8[$394>>0] = 0; } } @@ -129687,15 +130759,15 @@ function _whereLoopAddVirtual($pBuilder,$0,$1) { $247 = HEAP32[$pTab>>2]|0; $248 = HEAP32[$247>>2]|0; HEAP32[$vararg_buffer>>2] = $248; - _sqlite3ErrorMsg($246,24088,$vararg_buffer); + _sqlite3ErrorMsg($246,26500,$vararg_buffer); } $397 = HEAP32[$pIdxInfo>>2]|0; - $398 = (($397) + 28|0); + $398 = ((($397)) + 28|0); $399 = HEAP32[$398>>2]|0; $400 = ($399|0)!=(0); if ($400) { $401 = HEAP32[$pIdxInfo>>2]|0; - $402 = (($401) + 24|0); + $402 = ((($401)) + 24|0); $403 = HEAP32[$402>>2]|0; _sqlite3_free($403); } @@ -129732,33 +130804,33 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; - var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aiColumnPk = 0, $aiRowEstPk = 0, $b = 0, $iSortIdx = 0, $m = 0, $or$cond = 0, $pFirst = 0, $pNew = 0, $pProbe = 0, $pSrc = 0, $pTab = 0, $pTabList = 0, $pTerm = 0; - var $pWC = 0, $pWCEnd = 0, $pWInfo = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $sPk = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aiColumnPk = 0, $aiRowEstPk = 0, $b = 0, $iSortIdx = 0, $m = 0, $or$cond = 0, $pFirst = 0, $pNew = 0, $pProbe = 0, $pSrc = 0, $pTab = 0, $pTabList = 0; + var $pTerm = 0, $pWC = 0, $pWCEnd = 0, $pWInfo = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $sPk = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; - $2 = sp + 128|0; + $2 = sp + 24|0; $3 = sp + 8|0; - $pWInfo = sp + 124|0; - $pProbe = sp + 120|0; - $sPk = sp + 64|0; - $aiRowEstPk = sp + 140|0; + $pWInfo = sp + 16|0; + $pProbe = sp + 20|0; + $sPk = sp + 32|0; + $aiRowEstPk = sp + 132|0; $aiColumnPk = sp + 136|0; - $pTabList = sp + 56|0; - $pSrc = sp + 52|0; - $pNew = sp + 48|0; - $rc = sp + 44|0; - $iSortIdx = sp + 40|0; - $b = sp + 36|0; - $rSize = sp + 134|0; - $rLogSize = sp + 132|0; - $pWC = sp + 32|0; - $pTab = sp + 28|0; - $pFirst = sp + 24|0; - $pTerm = sp + 20|0; - $pWCEnd = sp + 16|0; + $pTabList = sp + 88|0; + $pSrc = sp + 124|0; + $pNew = sp + 96|0; + $rc = sp + 128|0; + $iSortIdx = sp + 108|0; + $b = sp + 112|0; + $rSize = sp + 138|0; + $rLogSize = sp + 140|0; + $pWC = sp + 100|0; + $pTab = sp + 92|0; + $pFirst = sp + 120|0; + $pTerm = sp + 116|0; + $pWCEnd = sp + 104|0; $m = sp; HEAP32[$2>>2] = $pBuilder; $4 = $3; @@ -129771,110 +130843,110 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { HEAP32[$rc>>2] = 0; HEAP32[$iSortIdx>>2] = 1; $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 12|0); + $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; HEAP32[$pNew>>2] = $10; $11 = HEAP32[$2>>2]|0; $12 = HEAP32[$11>>2]|0; HEAP32[$pWInfo>>2] = $12; $13 = HEAP32[$pWInfo>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; HEAP32[$pTabList>>2] = $15; $16 = HEAP32[$pTabList>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); $18 = HEAP32[$pNew>>2]|0; - $19 = (($18) + 16|0); + $19 = ((($18)) + 16|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = (($17) + (($21*72)|0)|0); HEAP32[$pSrc>>2] = $22; $23 = HEAP32[$pSrc>>2]|0; - $24 = (($23) + 16|0); + $24 = ((($23)) + 16|0); $25 = HEAP32[$24>>2]|0; HEAP32[$pTab>>2] = $25; $26 = HEAP32[$2>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pWC>>2] = $28; $29 = HEAP32[$pSrc>>2]|0; - $30 = (($29) + 68|0); + $30 = ((($29)) + 68|0); $31 = HEAP32[$30>>2]|0; $32 = ($31|0)!=(0|0); do { if ($32) { $33 = HEAP32[$pSrc>>2]|0; - $34 = (($33) + 68|0); + $34 = ((($33)) + 68|0); $35 = HEAP32[$34>>2]|0; HEAP32[$pProbe>>2] = $35; } else { $36 = HEAP32[$pTab>>2]|0; - $37 = (($36) + 44|0); + $37 = ((($36)) + 44|0); $38 = HEAP8[$37>>0]|0; $39 = $38&255; $40 = $39 & 32; $41 = ($40|0)==(0); if (!($41)) { $42 = HEAP32[$pTab>>2]|0; - $43 = (($42) + 8|0); + $43 = ((($42)) + 8|0); $44 = HEAP32[$43>>2]|0; HEAP32[$pProbe>>2] = $44; break; } - dest=$sPk+0|0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $45 = (($sPk) + 50|0); + dest=$sPk; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $45 = ((($sPk)) + 50|0); HEAP16[$45>>1] = 1; - $46 = (($sPk) + 52|0); + $46 = ((($sPk)) + 52|0); HEAP16[$46>>1] = 1; - $47 = (($sPk) + 4|0); + $47 = ((($sPk)) + 4|0); HEAP32[$47>>2] = $aiColumnPk; - $48 = (($sPk) + 8|0); + $48 = ((($sPk)) + 8|0); HEAP32[$48>>2] = $aiRowEstPk; - $49 = (($sPk) + 54|0); + $49 = ((($sPk)) + 54|0); HEAP8[$49>>0] = 5; $50 = HEAP32[$pTab>>2]|0; - $51 = (($sPk) + 12|0); + $51 = ((($sPk)) + 12|0); HEAP32[$51>>2] = $50; $52 = HEAP32[$pTab>>2]|0; - $53 = (($52) + 42|0); + $53 = ((($52)) + 42|0); $54 = HEAP16[$53>>1]|0; - $55 = (($sPk) + 48|0); + $55 = ((($sPk)) + 48|0); HEAP16[$55>>1] = $54; $56 = HEAP32[$pTab>>2]|0; - $57 = (($56) + 28|0); + $57 = ((($56)) + 28|0); $58 = HEAP16[$57>>1]|0; HEAP16[$aiRowEstPk>>1] = $58; - $59 = (($aiRowEstPk) + 2|0); + $59 = ((($aiRowEstPk)) + 2|0); HEAP16[$59>>1] = 0; $60 = HEAP32[$pSrc>>2]|0; - $61 = (($60) + 16|0); + $61 = ((($60)) + 16|0); $62 = HEAP32[$61>>2]|0; - $63 = (($62) + 8|0); + $63 = ((($62)) + 8|0); $64 = HEAP32[$63>>2]|0; HEAP32[$pFirst>>2] = $64; $65 = HEAP32[$pSrc>>2]|0; - $66 = (($65) + 37|0); + $66 = ((($65)) + 37|0); $67 = HEAP8[$66>>0]|0; $68 = $67 & 1; $69 = $68&255; $70 = ($69|0)==(0); if ($70) { $71 = HEAP32[$pFirst>>2]|0; - $72 = (($sPk) + 20|0); + $72 = ((($sPk)) + 20|0); HEAP32[$72>>2] = $71; } HEAP32[$pProbe>>2] = $sPk; } } while(0); $73 = HEAP32[$pTab>>2]|0; - $74 = (($73) + 28|0); + $74 = ((($73)) + 28|0); $75 = HEAP16[$74>>1]|0; HEAP16[$rSize>>1] = $75; $76 = HEAP16[$rSize>>1]|0; $77 = (_estLog($76)|0); HEAP16[$rLogSize>>1] = $77; $78 = HEAP32[$2>>2]|0; - $79 = (($78) + 16|0); + $79 = ((($78)) + 16|0); $80 = HEAP32[$79>>2]|0; $81 = ($80|0)!=(0|0); L11: do { @@ -129882,18 +130954,18 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $82 = HEAP32[$pWInfo>>2]|0; $83 = HEAP32[$82>>2]|0; $84 = HEAP32[$83>>2]|0; - $85 = (($84) + 24|0); + $85 = ((($84)) + 24|0); $86 = HEAP32[$85>>2]|0; $87 = $86 & 1048576; $88 = ($87|0)!=(0); if ($88) { $89 = HEAP32[$pSrc>>2]|0; - $90 = (($89) + 68|0); + $90 = ((($89)) + 68|0); $91 = HEAP32[$90>>2]|0; $92 = ($91|0)==(0|0); if ($92) { $93 = HEAP32[$pSrc>>2]|0; - $94 = (($93) + 37|0); + $94 = ((($93)) + 37|0); $95 = HEAP8[$94>>0]|0; $96 = ($95&255) >>> 2; $97 = $96 & 1; @@ -129901,21 +130973,21 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $99 = ($98|0)!=(0); if (!($99)) { $100 = HEAP32[$pSrc>>2]|0; - $101 = (($100) + 37|0); + $101 = ((($100)) + 37|0); $102 = HEAP8[$101>>0]|0; $103 = $102 & 1; $104 = $103&255; $105 = ($104|0)!=(0); if (!($105)) { $106 = HEAP32[$pTab>>2]|0; - $107 = (($106) + 44|0); + $107 = ((($106)) + 44|0); $108 = HEAP8[$107>>0]|0; $109 = $108&255; $110 = $109 & 32; $111 = ($110|0)==(0); if ($111) { $112 = HEAP32[$pSrc>>2]|0; - $113 = (($112) + 37|0); + $113 = ((($112)) + 37|0); $114 = HEAP8[$113>>0]|0; $115 = ($114&255) >>> 1; $116 = $115 & 1; @@ -129923,7 +130995,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $118 = ($117|0)!=(0); if (!($118)) { $119 = HEAP32[$pSrc>>2]|0; - $120 = (($119) + 37|0); + $120 = ((($119)) + 37|0); $121 = HEAP8[$120>>0]|0; $122 = ($121&255) >>> 3; $123 = $122 & 1; @@ -129931,15 +131003,15 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $125 = ($124|0)!=(0); if (!($125)) { $126 = HEAP32[$pWC>>2]|0; - $127 = (($126) + 20|0); + $127 = ((($126)) + 20|0); $128 = HEAP32[$127>>2]|0; $129 = HEAP32[$pWC>>2]|0; - $130 = (($129) + 12|0); + $130 = ((($129)) + 12|0); $131 = HEAP32[$130>>2]|0; $132 = (($128) + (($131*48)|0)|0); HEAP32[$pWCEnd>>2] = $132; $133 = HEAP32[$pWC>>2]|0; - $134 = (($133) + 20|0); + $134 = ((($133)) + 20|0); $135 = HEAP32[$134>>2]|0; HEAP32[$pTerm>>2] = $135; while(1) { @@ -129955,7 +131027,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { break L11; } $141 = HEAP32[$pTerm>>2]|0; - $142 = (($141) + 32|0); + $142 = ((($141)) + 32|0); $143 = $142; $144 = $143; $145 = HEAP32[$144>>2]|0; @@ -129963,7 +131035,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $147 = $146; $148 = HEAP32[$147>>2]|0; $149 = HEAP32[$pNew>>2]|0; - $150 = (($149) + 8|0); + $150 = ((($149)) + 8|0); $151 = $150; $152 = $151; $153 = HEAP32[$152>>2]|0; @@ -129982,22 +131054,22 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $165 = ($164|0)!=(0); if ($165) { $166 = HEAP32[$pNew>>2]|0; - $167 = (($166) + 24|0); + $167 = ((($166)) + 24|0); HEAP16[$167>>1] = 1; $168 = HEAP32[$pNew>>2]|0; - $169 = (($168) + 24|0); - $170 = (($169) + 2|0); + $169 = ((($168)) + 24|0); + $170 = ((($169)) + 2|0); HEAP16[$170>>1] = 0; $171 = HEAP32[$pNew>>2]|0; - $172 = (($171) + 24|0); - $173 = (($172) + 4|0); + $172 = ((($171)) + 24|0); + $173 = ((($172)) + 4|0); HEAP32[$173>>2] = 0; $174 = HEAP32[$pNew>>2]|0; - $175 = (($174) + 40|0); + $175 = ((($174)) + 40|0); HEAP16[$175>>1] = 1; $176 = HEAP32[$pTerm>>2]|0; $177 = HEAP32[$pNew>>2]|0; - $178 = (($177) + 44|0); + $178 = ((($177)) + 44|0); $179 = HEAP32[$178>>2]|0; HEAP32[$179>>2] = $176; $180 = HEAP16[$rLogSize>>1]|0; @@ -130008,22 +131080,22 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $185 = (($184) + 4)|0; $186 = $185&65535; $187 = HEAP32[$pNew>>2]|0; - $188 = (($187) + 18|0); + $188 = ((($187)) + 18|0); HEAP16[$188>>1] = $186; $189 = HEAP32[$pTab>>2]|0; - $190 = (($189) + 12|0); + $190 = ((($189)) + 12|0); $191 = HEAP32[$190>>2]|0; $192 = ($191|0)==(0|0); if ($192) { $193 = HEAP32[$pTab>>2]|0; - $194 = (($193) + 44|0); + $194 = ((($193)) + 44|0); $195 = HEAP8[$194>>0]|0; $196 = $195&255; $197 = $196 & 2; $198 = ($197|0)==(0); if ($198) { $199 = HEAP32[$pNew>>2]|0; - $200 = (($199) + 18|0); + $200 = ((($199)) + 18|0); $201 = HEAP16[$200>>1]|0; $202 = $201 << 16 >> 16; $203 = (($202) + 24)|0; @@ -130032,18 +131104,18 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { } } $205 = HEAP32[$pNew>>2]|0; - $206 = (($205) + 22|0); + $206 = ((($205)) + 22|0); HEAP16[$206>>1] = 43; $207 = HEAP16[$rLogSize>>1]|0; $208 = HEAP32[$pNew>>2]|0; - $209 = (($208) + 22|0); + $209 = ((($208)) + 22|0); $210 = HEAP16[$209>>1]|0; $211 = (_sqlite3LogEstAdd($207,$210)|0); $212 = HEAP32[$pNew>>2]|0; - $213 = (($212) + 20|0); + $213 = ((($212)) + 20|0); HEAP16[$213>>1] = $211; $214 = HEAP32[$pNew>>2]|0; - $215 = (($214) + 36|0); + $215 = ((($214)) + 36|0); HEAP32[$215>>2] = 16384; $216 = $3; $217 = $216; @@ -130052,7 +131124,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $220 = $219; $221 = HEAP32[$220>>2]|0; $222 = HEAP32[$pTerm>>2]|0; - $223 = (($222) + 32|0); + $223 = ((($222)) + 32|0); $224 = $223; $225 = $224; $226 = HEAP32[$225>>2]|0; @@ -130075,7 +131147,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { } } $240 = HEAP32[$pTerm>>2]|0; - $241 = (($240) + 48|0); + $241 = ((($240)) + 48|0); HEAP32[$pTerm>>2] = $241; } } @@ -130092,26 +131164,26 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $243 = ($242|0)==(0); $244 = HEAP32[$pProbe>>2]|0; $245 = ($244|0)!=(0|0); - $or$cond = $243 & $245; - if (!($or$cond)) { - label = 47; - break; - } - $246 = HEAP32[$pProbe>>2]|0; - $247 = (($246) + 36|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)!=(0|0); - if ($249) { - $250 = HEAP32[$pSrc>>2]|0; - $251 = (($250) + 40|0); - $252 = HEAP32[$251>>2]|0; - $253 = HEAP32[$pWC>>2]|0; - $254 = HEAP32[$pProbe>>2]|0; - $255 = (($254) + 36|0); - $256 = HEAP32[$255>>2]|0; - $257 = (_whereUsablePartialIndex($252,$253,$256)|0); - $258 = ($257|0)!=(0); - if ($258) { + $246 = $243 ? $245 : 0; + if (!($246)) { + label = 46; + break; + } + $247 = HEAP32[$pProbe>>2]|0; + $248 = ((($247)) + 36|0); + $249 = HEAP32[$248>>2]|0; + $250 = ($249|0)!=(0|0); + if ($250) { + $251 = HEAP32[$pSrc>>2]|0; + $252 = ((($251)) + 40|0); + $253 = HEAP32[$252>>2]|0; + $254 = HEAP32[$pWC>>2]|0; + $255 = HEAP32[$pProbe>>2]|0; + $256 = ((($255)) + 36|0); + $257 = HEAP32[$256>>2]|0; + $258 = (_whereUsablePartialIndex($253,$254,$257)|0); + $259 = ($258|0)!=(0); + if ($259) { label = 29; } } else { @@ -130119,318 +131191,316 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { } if ((label|0) == 29) { label = 0; - $259 = HEAP32[$pProbe>>2]|0; - $260 = (($259) + 8|0); - $261 = HEAP32[$260>>2]|0; - $262 = HEAP16[$261>>1]|0; - HEAP16[$rSize>>1] = $262; - $263 = HEAP32[$pNew>>2]|0; - $264 = (($263) + 24|0); - HEAP16[$264>>1] = 0; - $265 = HEAP32[$pNew>>2]|0; - $266 = (($265) + 24|0); - $267 = (($266) + 2|0); - HEAP16[$267>>1] = 0; - $268 = HEAP32[$pNew>>2]|0; - $269 = (($268) + 40|0); - HEAP16[$269>>1] = 0; - $270 = HEAP32[$pNew>>2]|0; - $271 = (($270) + 17|0); - HEAP8[$271>>0] = 0; - $272 = HEAP32[$pNew>>2]|0; - $273 = (($272) + 18|0); - HEAP16[$273>>1] = 0; - $274 = $3; - $275 = $274; - $276 = HEAP32[$275>>2]|0; - $277 = (($274) + 4)|0; - $278 = $277; - $279 = HEAP32[$278>>2]|0; - $280 = HEAP32[$pNew>>2]|0; - $281 = $280; + $260 = HEAP32[$pProbe>>2]|0; + $261 = ((($260)) + 8|0); + $262 = HEAP32[$261>>2]|0; + $263 = HEAP16[$262>>1]|0; + HEAP16[$rSize>>1] = $263; + $264 = HEAP32[$pNew>>2]|0; + $265 = ((($264)) + 24|0); + HEAP16[$265>>1] = 0; + $266 = HEAP32[$pNew>>2]|0; + $267 = ((($266)) + 24|0); + $268 = ((($267)) + 2|0); + HEAP16[$268>>1] = 0; + $269 = HEAP32[$pNew>>2]|0; + $270 = ((($269)) + 40|0); + HEAP16[$270>>1] = 0; + $271 = HEAP32[$pNew>>2]|0; + $272 = ((($271)) + 17|0); + HEAP8[$272>>0] = 0; + $273 = HEAP32[$pNew>>2]|0; + $274 = ((($273)) + 18|0); + HEAP16[$274>>1] = 0; + $275 = $3; + $276 = $275; + $277 = HEAP32[$276>>2]|0; + $278 = (($275) + 4)|0; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = HEAP32[$pNew>>2]|0; $282 = $281; - HEAP32[$282>>2] = $276; - $283 = (($281) + 4)|0; - $284 = $283; - HEAP32[$284>>2] = $279; - $285 = HEAP16[$rSize>>1]|0; - $286 = HEAP32[$pNew>>2]|0; - $287 = (($286) + 22|0); - HEAP16[$287>>1] = $285; - $288 = HEAP32[$pProbe>>2]|0; - $289 = HEAP32[$pNew>>2]|0; - $290 = (($289) + 24|0); - $291 = (($290) + 4|0); - HEAP32[$291>>2] = $288; - $292 = HEAP32[$2>>2]|0; - $293 = HEAP32[$pProbe>>2]|0; - $294 = HEAP32[$pSrc>>2]|0; - $295 = (($294) + 40|0); - $296 = HEAP32[$295>>2]|0; - $297 = (_indexMightHelpWithOrderBy($292,$293,$296)|0); - HEAP32[$b>>2] = $297; - $298 = HEAP32[$pProbe>>2]|0; - $299 = (($298) + 44|0); - $300 = HEAP32[$299>>2]|0; - $301 = ($300|0)<=(0); + $283 = $282; + HEAP32[$283>>2] = $277; + $284 = (($282) + 4)|0; + $285 = $284; + HEAP32[$285>>2] = $280; + $286 = HEAP16[$rSize>>1]|0; + $287 = HEAP32[$pNew>>2]|0; + $288 = ((($287)) + 22|0); + HEAP16[$288>>1] = $286; + $289 = HEAP32[$pProbe>>2]|0; + $290 = HEAP32[$pNew>>2]|0; + $291 = ((($290)) + 24|0); + $292 = ((($291)) + 4|0); + HEAP32[$292>>2] = $289; + $293 = HEAP32[$2>>2]|0; + $294 = HEAP32[$pProbe>>2]|0; + $295 = HEAP32[$pSrc>>2]|0; + $296 = ((($295)) + 40|0); + $297 = HEAP32[$296>>2]|0; + $298 = (_indexMightHelpWithOrderBy($293,$294,$297)|0); + HEAP32[$b>>2] = $298; + $299 = HEAP32[$pProbe>>2]|0; + $300 = ((($299)) + 44|0); + $301 = HEAP32[$300>>2]|0; + $302 = ($301|0)<=(0); do { - if ($301) { - $302 = HEAP32[$pNew>>2]|0; - $303 = (($302) + 36|0); - HEAP32[$303>>2] = 256; - $304 = HEAP32[$b>>2]|0; - $305 = ($304|0)!=(0); - $306 = HEAP32[$iSortIdx>>2]|0; - $307 = $305 ? $306 : 0; - $308 = $307&255; - $309 = HEAP32[$pNew>>2]|0; - $310 = (($309) + 17|0); - HEAP8[$310>>0] = $308; - $311 = HEAP16[$rSize>>1]|0; - $312 = $311 << 16 >> 16; - $313 = (($312) + 16)|0; - $314 = $313&65535; - $315 = HEAP32[$pNew>>2]|0; - $316 = (($315) + 20|0); - HEAP16[$316>>1] = $314; - $317 = HEAP32[$pWC>>2]|0; - $318 = HEAP32[$pNew>>2]|0; - $319 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($317,$318,$319); - $320 = HEAP32[$2>>2]|0; - $321 = HEAP32[$pNew>>2]|0; - $322 = (_whereLoopInsert($320,$321)|0); - HEAP32[$rc>>2] = $322; - $323 = HEAP16[$rSize>>1]|0; - $324 = HEAP32[$pNew>>2]|0; - $325 = (($324) + 22|0); - HEAP16[$325>>1] = $323; - $326 = HEAP32[$rc>>2]|0; - $327 = ($326|0)!=(0); - if ($327) { - label = 47; + if ($302) { + $303 = HEAP32[$pNew>>2]|0; + $304 = ((($303)) + 36|0); + HEAP32[$304>>2] = 256; + $305 = HEAP32[$b>>2]|0; + $306 = ($305|0)!=(0); + $307 = HEAP32[$iSortIdx>>2]|0; + $308 = $306 ? $307 : 0; + $309 = $308&255; + $310 = HEAP32[$pNew>>2]|0; + $311 = ((($310)) + 17|0); + HEAP8[$311>>0] = $309; + $312 = HEAP16[$rSize>>1]|0; + $313 = $312 << 16 >> 16; + $314 = (($313) + 16)|0; + $315 = $314&65535; + $316 = HEAP32[$pNew>>2]|0; + $317 = ((($316)) + 20|0); + HEAP16[$317>>1] = $315; + $318 = HEAP32[$pWC>>2]|0; + $319 = HEAP32[$pNew>>2]|0; + $320 = HEAP16[$rSize>>1]|0; + _whereLoopOutputAdjust($318,$319,$320); + $321 = HEAP32[$2>>2]|0; + $322 = HEAP32[$pNew>>2]|0; + $323 = (_whereLoopInsert($321,$322)|0); + HEAP32[$rc>>2] = $323; + $324 = HEAP16[$rSize>>1]|0; + $325 = HEAP32[$pNew>>2]|0; + $326 = ((($325)) + 22|0); + HEAP16[$326>>1] = $324; + $327 = HEAP32[$rc>>2]|0; + $328 = ($327|0)!=(0); + if ($328) { + label = 46; break L32; } } else { - $328 = HEAP32[$pProbe>>2]|0; - $329 = (($328) + 55|0); - $330 = HEAP8[$329>>0]|0; - $331 = ($330&255) >>> 5; - $332 = $331 & 1; - $333 = $332&255; - $334 = ($333|0)!=(0); - if ($334) { - $335 = HEAP32[$pNew>>2]|0; - $336 = (($335) + 36|0); - HEAP32[$336>>2] = 576; - $337 = $m; - $338 = $337; - HEAP32[$338>>2] = 0; - $339 = (($337) + 4)|0; - $340 = $339; - HEAP32[$340>>2] = 0; + $329 = HEAP32[$pProbe>>2]|0; + $330 = ((($329)) + 55|0); + $331 = HEAP8[$330>>0]|0; + $332 = ($331&255) >>> 5; + $333 = $332 & 1; + $334 = $333&255; + $335 = ($334|0)!=(0); + if ($335) { + $336 = HEAP32[$pNew>>2]|0; + $337 = ((($336)) + 36|0); + HEAP32[$337>>2] = 576; + $338 = $m; + $339 = $338; + HEAP32[$339>>2] = 0; + $340 = (($338) + 4)|0; + $341 = $340; + HEAP32[$341>>2] = 0; } else { - $341 = HEAP32[$pSrc>>2]|0; - $342 = (($341) + 56|0); - $343 = $342; + $342 = HEAP32[$pSrc>>2]|0; + $343 = ((($342)) + 56|0); $344 = $343; - $345 = HEAP32[$344>>2]|0; - $346 = (($343) + 4)|0; - $347 = $346; - $348 = HEAP32[$347>>2]|0; - $349 = HEAP32[$pProbe>>2]|0; - $350 = (_columnsInIndex($349)|0); - $351 = tempRet0; - $352 = $350 ^ -1; + $345 = $344; + $346 = HEAP32[$345>>2]|0; + $347 = (($344) + 4)|0; + $348 = $347; + $349 = HEAP32[$348>>2]|0; + $350 = HEAP32[$pProbe>>2]|0; + $351 = (_columnsInIndex($350)|0); + $352 = tempRet0; $353 = $351 ^ -1; - $354 = $345 & $352; - $355 = $348 & $353; - $356 = $m; - $357 = $356; - HEAP32[$357>>2] = $354; - $358 = (($356) + 4)|0; - $359 = $358; - HEAP32[$359>>2] = $355; - $360 = $m; - $361 = $360; - $362 = HEAP32[$361>>2]|0; - $363 = (($360) + 4)|0; - $364 = $363; - $365 = HEAP32[$364>>2]|0; - $366 = ($362|0)==(0); - $367 = ($365|0)==(0); - $368 = $366 & $367; - $369 = $368 ? 576 : 512; - $370 = HEAP32[$pNew>>2]|0; - $371 = (($370) + 36|0); - HEAP32[$371>>2] = $369; - } - $372 = HEAP32[$b>>2]|0; - $373 = ($372|0)!=(0); - if (!($373)) { - $374 = HEAP32[$pTab>>2]|0; - $375 = (($374) + 44|0); - $376 = HEAP8[$375>>0]|0; - $377 = $376&255; - $378 = $377 & 32; - $379 = ($378|0)==(0); - if ($379) { - $380 = $m; - $381 = $380; - $382 = HEAP32[$381>>2]|0; - $383 = (($380) + 4)|0; - $384 = $383; - $385 = HEAP32[$384>>2]|0; - $386 = ($382|0)==(0); - $387 = ($385|0)==(0); - $388 = $386 & $387; - if (!($388)) { - break; - } - $389 = HEAP32[$pProbe>>2]|0; - $390 = (($389) + 55|0); - $391 = HEAP8[$390>>0]|0; - $392 = ($391&255) >>> 2; - $393 = $392 & 1; - $394 = $393&255; - $395 = ($394|0)==(0); - if (!($395)) { + $354 = $352 ^ -1; + $355 = $346 & $353; + $356 = $349 & $354; + $357 = $m; + $358 = $357; + HEAP32[$358>>2] = $355; + $359 = (($357) + 4)|0; + $360 = $359; + HEAP32[$360>>2] = $356; + $361 = $m; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = (($361) + 4)|0; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = ($363|0)==(0); + $368 = ($366|0)==(0); + $369 = $367 & $368; + $370 = $369 ? 576 : 512; + $371 = HEAP32[$pNew>>2]|0; + $372 = ((($371)) + 36|0); + HEAP32[$372>>2] = $370; + } + $373 = HEAP32[$b>>2]|0; + $374 = ($373|0)!=(0); + if (!($374)) { + $375 = HEAP32[$pTab>>2]|0; + $376 = ((($375)) + 44|0); + $377 = HEAP8[$376>>0]|0; + $378 = $377&255; + $379 = $378 & 32; + $380 = ($379|0)==(0); + if ($380) { + $381 = $m; + $382 = $381; + $383 = HEAP32[$382>>2]|0; + $384 = (($381) + 4)|0; + $385 = $384; + $386 = HEAP32[$385>>2]|0; + $387 = ($383|0)==(0); + $388 = ($386|0)==(0); + $389 = $387 & $388; + if (!($389)) { break; } - $396 = HEAP32[$pProbe>>2]|0; - $397 = (($396) + 48|0); - $398 = HEAP16[$397>>1]|0; - $399 = $398 << 16 >> 16; - $400 = HEAP32[$pTab>>2]|0; - $401 = (($400) + 42|0); - $402 = HEAP16[$401>>1]|0; - $403 = $402 << 16 >> 16; - $404 = ($399|0)<($403|0); - if (!($404)) { + $390 = HEAP32[$pProbe>>2]|0; + $391 = ((($390)) + 55|0); + $392 = HEAP8[$391>>0]|0; + $393 = ($392&255) >>> 2; + $394 = $393 & 1; + $395 = $394&255; + $396 = ($395|0)==(0); + if (!($396)) { break; } - $405 = HEAP32[$pWInfo>>2]|0; - $406 = (($405) + 34|0); - $407 = HEAP16[$406>>1]|0; - $408 = $407&65535; - $409 = $408 & 4; - $410 = ($409|0)==(0); - if (!($410)) { + $397 = HEAP32[$pProbe>>2]|0; + $398 = ((($397)) + 48|0); + $399 = HEAP16[$398>>1]|0; + $400 = $399 << 16 >> 16; + $401 = HEAP32[$pTab>>2]|0; + $402 = ((($401)) + 42|0); + $403 = HEAP16[$402>>1]|0; + $404 = $403 << 16 >> 16; + $405 = ($400|0)<($404|0); + if (!($405)) { break; } - $411 = HEAP32[((38640 + 16|0))>>2]|0; - $412 = ($411|0)!=(0); - if (!($412)) { + $406 = HEAP32[$pWInfo>>2]|0; + $407 = ((($406)) + 34|0); + $408 = HEAP16[$407>>1]|0; + $409 = $408&65535; + $410 = $409 & 4; + $411 = ($410|0)==(0); + $412 = HEAP32[(24)>>2]|0; + $413 = ($412|0)!=(0); + $or$cond = $411 & $413; + if (!($or$cond)) { break; } - $413 = HEAP32[$pWInfo>>2]|0; - $414 = HEAP32[$413>>2]|0; + $414 = HEAP32[$pWInfo>>2]|0; $415 = HEAP32[$414>>2]|0; - $416 = (($415) + 60|0); - $417 = HEAP16[$416>>1]|0; - $418 = $417&65535; - $419 = $418 & 64; - $420 = ($419|0)==(0); - if (!($420)) { + $416 = HEAP32[$415>>2]|0; + $417 = ((($416)) + 60|0); + $418 = HEAP16[$417>>1]|0; + $419 = $418&65535; + $420 = $419 & 64; + $421 = ($420|0)==(0); + if (!($421)) { break; } } } - $421 = HEAP32[$b>>2]|0; - $422 = ($421|0)!=(0); - $423 = HEAP32[$iSortIdx>>2]|0; - $424 = $422 ? $423 : 0; - $425 = $424&255; - $426 = HEAP32[$pNew>>2]|0; - $427 = (($426) + 17|0); - HEAP8[$427>>0] = $425; - $428 = HEAP16[$rSize>>1]|0; - $429 = $428 << 16 >> 16; - $430 = (($429) + 1)|0; - $431 = HEAP32[$pProbe>>2]|0; - $432 = (($431) + 48|0); - $433 = HEAP16[$432>>1]|0; - $434 = $433 << 16 >> 16; - $435 = ($434*15)|0; - $436 = HEAP32[$pTab>>2]|0; - $437 = (($436) + 42|0); - $438 = HEAP16[$437>>1]|0; - $439 = $438 << 16 >> 16; - $440 = (($435|0) / ($439|0))&-1; - $441 = (($430) + ($440))|0; - $442 = $441&65535; - $443 = HEAP32[$pNew>>2]|0; - $444 = (($443) + 20|0); - HEAP16[$444>>1] = $442; - $445 = $m; - $446 = $445; - $447 = HEAP32[$446>>2]|0; - $448 = (($445) + 4)|0; - $449 = $448; - $450 = HEAP32[$449>>2]|0; - $451 = ($447|0)!=(0); - $452 = ($450|0)!=(0); - $453 = $451 | $452; - if ($453) { - $454 = HEAP32[$pNew>>2]|0; - $455 = (($454) + 20|0); - $456 = HEAP16[$455>>1]|0; - $457 = HEAP16[$rSize>>1]|0; - $458 = $457 << 16 >> 16; - $459 = (($458) + 16)|0; - $460 = $459&65535; - $461 = (_sqlite3LogEstAdd($456,$460)|0); - $462 = HEAP32[$pNew>>2]|0; - $463 = (($462) + 20|0); - HEAP16[$463>>1] = $461; - } - $464 = HEAP32[$pWC>>2]|0; - $465 = HEAP32[$pNew>>2]|0; - $466 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($464,$465,$466); - $467 = HEAP32[$2>>2]|0; - $468 = HEAP32[$pNew>>2]|0; - $469 = (_whereLoopInsert($467,$468)|0); - HEAP32[$rc>>2] = $469; - $470 = HEAP16[$rSize>>1]|0; - $471 = HEAP32[$pNew>>2]|0; - $472 = (($471) + 22|0); - HEAP16[$472>>1] = $470; - $473 = HEAP32[$rc>>2]|0; - $474 = ($473|0)!=(0); - if ($474) { - label = 47; + $422 = HEAP32[$b>>2]|0; + $423 = ($422|0)!=(0); + $424 = HEAP32[$iSortIdx>>2]|0; + $425 = $423 ? $424 : 0; + $426 = $425&255; + $427 = HEAP32[$pNew>>2]|0; + $428 = ((($427)) + 17|0); + HEAP8[$428>>0] = $426; + $429 = HEAP16[$rSize>>1]|0; + $430 = $429 << 16 >> 16; + $431 = (($430) + 1)|0; + $432 = HEAP32[$pProbe>>2]|0; + $433 = ((($432)) + 48|0); + $434 = HEAP16[$433>>1]|0; + $435 = $434 << 16 >> 16; + $436 = ($435*15)|0; + $437 = HEAP32[$pTab>>2]|0; + $438 = ((($437)) + 42|0); + $439 = HEAP16[$438>>1]|0; + $440 = $439 << 16 >> 16; + $441 = (($436|0) / ($440|0))&-1; + $442 = (($431) + ($441))|0; + $443 = $442&65535; + $444 = HEAP32[$pNew>>2]|0; + $445 = ((($444)) + 20|0); + HEAP16[$445>>1] = $443; + $446 = $m; + $447 = $446; + $448 = HEAP32[$447>>2]|0; + $449 = (($446) + 4)|0; + $450 = $449; + $451 = HEAP32[$450>>2]|0; + $452 = ($448|0)!=(0); + $453 = ($451|0)!=(0); + $454 = $452 | $453; + if ($454) { + $455 = HEAP32[$pNew>>2]|0; + $456 = ((($455)) + 20|0); + $457 = HEAP16[$456>>1]|0; + $458 = HEAP16[$rSize>>1]|0; + $459 = $458 << 16 >> 16; + $460 = (($459) + 16)|0; + $461 = $460&65535; + $462 = (_sqlite3LogEstAdd($457,$461)|0); + $463 = HEAP32[$pNew>>2]|0; + $464 = ((($463)) + 20|0); + HEAP16[$464>>1] = $462; + } + $465 = HEAP32[$pWC>>2]|0; + $466 = HEAP32[$pNew>>2]|0; + $467 = HEAP16[$rSize>>1]|0; + _whereLoopOutputAdjust($465,$466,$467); + $468 = HEAP32[$2>>2]|0; + $469 = HEAP32[$pNew>>2]|0; + $470 = (_whereLoopInsert($468,$469)|0); + HEAP32[$rc>>2] = $470; + $471 = HEAP16[$rSize>>1]|0; + $472 = HEAP32[$pNew>>2]|0; + $473 = ((($472)) + 22|0); + HEAP16[$473>>1] = $471; + $474 = HEAP32[$rc>>2]|0; + $475 = ($474|0)!=(0); + if ($475) { + label = 46; break L32; } } } while(0); - $475 = HEAP32[$2>>2]|0; - $476 = HEAP32[$pSrc>>2]|0; - $477 = HEAP32[$pProbe>>2]|0; - $478 = (_whereLoopAddBtreeIndex($475,$476,$477,0)|0); - HEAP32[$rc>>2] = $478; - $479 = HEAP32[$pSrc>>2]|0; - $480 = (($479) + 68|0); - $481 = HEAP32[$480>>2]|0; - $482 = ($481|0)!=(0|0); - if ($482) { - label = 47; - break; - } - } - $483 = HEAP32[$pProbe>>2]|0; - $484 = (($483) + 20|0); - $485 = HEAP32[$484>>2]|0; - HEAP32[$pProbe>>2] = $485; - $486 = HEAP32[$iSortIdx>>2]|0; - $487 = (($486) + 1)|0; - HEAP32[$iSortIdx>>2] = $487; + $476 = HEAP32[$2>>2]|0; + $477 = HEAP32[$pSrc>>2]|0; + $478 = HEAP32[$pProbe>>2]|0; + $479 = (_whereLoopAddBtreeIndex($476,$477,$478,0)|0); + HEAP32[$rc>>2] = $479; + $480 = HEAP32[$pSrc>>2]|0; + $481 = ((($480)) + 68|0); + $482 = HEAP32[$481>>2]|0; + $483 = ($482|0)!=(0|0); + if ($483) { + label = 46; + break; + } + } + $484 = HEAP32[$pProbe>>2]|0; + $485 = ((($484)) + 20|0); + $486 = HEAP32[$485>>2]|0; + HEAP32[$pProbe>>2] = $486; + $487 = HEAP32[$iSortIdx>>2]|0; + $488 = (($487) + 1)|0; + HEAP32[$iSortIdx>>2] = $488; } - if ((label|0) == 47) { - $488 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($488|0); + if ((label|0) == 46) { + $489 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($489|0); } - return 0|0; + return (0)|0; } function _whereLoopAddOr($pBuilder,$0,$1) { $pBuilder = $pBuilder|0; @@ -130444,35 +131514,35 @@ function _whereLoopAddOr($pBuilder,$0,$1) { var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCur = 0, $j = 0, $once = 0; - var $or$cond = 0, $pItem = 0, $pNew = 0, $pOrTerm = 0, $pOrWC = 0, $pOrWCEnd = 0, $pTerm = 0, $pWC = 0, $pWCEnd = 0, $pWInfo = 0, $rc = 0, $sCur = 0, $sPrev = 0, $sSubBuild = 0, $sSum = 0, $tempWC = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCur = 0, $j = 0; + var $once = 0, $pItem = 0, $pNew = 0, $pOrTerm = 0, $pOrWC = 0, $pOrWCEnd = 0, $pTerm = 0, $pWC = 0, $pWCEnd = 0, $pWInfo = 0, $rc = 0, $sCur = 0, $sPrev = 0, $sSubBuild = 0, $sSum = 0, $tempWC = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 672|0; - $2 = sp + 660|0; - $3 = sp + 576|0; - $pWInfo = sp + 656|0; - $pWC = sp + 652|0; - $pNew = sp + 648|0; - $pTerm = sp + 644|0; - $pWCEnd = sp + 640|0; - $rc = sp + 636|0; - $iCur = sp + 632|0; - $tempWC = sp + 168|0; - $sSubBuild = sp + 612|0; - $sSum = sp + 112|0; + $2 = sp + 624|0; + $3 = sp + 112|0; + $pWInfo = sp + 636|0; + $pWC = sp + 632|0; + $pNew = sp + 596|0; + $pTerm = sp + 608|0; + $pWCEnd = sp + 604|0; + $rc = sp + 628|0; + $iCur = sp + 620|0; + $tempWC = sp + 120|0; + $sSubBuild = sp + 644|0; + $sSum = sp; $sCur = sp + 56|0; - $pItem = sp + 608|0; - $pOrWC = sp + 604|0; - $pOrWCEnd = sp + 600|0; - $pOrTerm = sp + 596|0; - $once = sp + 592|0; - $i = sp + 588|0; - $j = sp + 584|0; - $sPrev = sp; + $pItem = sp + 612|0; + $pOrWC = sp + 592|0; + $pOrWCEnd = sp + 588|0; + $pOrTerm = sp + 616|0; + $once = sp + 584|0; + $i = sp + 600|0; + $j = sp + 640|0; + $sPrev = sp + 528|0; HEAP32[$2>>2] = $pBuilder; $4 = $3; $5 = $4; @@ -130485,38 +131555,38 @@ function _whereLoopAddOr($pBuilder,$0,$1) { HEAP32[$pWInfo>>2] = $9; HEAP32[$rc>>2] = 0; $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; HEAP32[$pWC>>2] = $12; $13 = HEAP32[$pWC>>2]|0; - $14 = (($13) + 20|0); + $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$pWC>>2]|0; - $17 = (($16) + 12|0); + $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; $19 = (($15) + (($18*48)|0)|0); HEAP32[$pWCEnd>>2] = $19; $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 12|0); + $21 = ((($20)) + 12|0); $22 = HEAP32[$21>>2]|0; HEAP32[$pNew>>2] = $22; - dest=$sSum+0|0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$sSum; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $23 = HEAP32[$pWInfo>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); $27 = HEAP32[$pNew>>2]|0; - $28 = (($27) + 16|0); + $28 = ((($27)) + 16|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = (($26) + (($30*72)|0)|0); HEAP32[$pItem>>2] = $31; $32 = HEAP32[$pItem>>2]|0; - $33 = (($32) + 40|0); + $33 = ((($32)) + 40|0); $34 = HEAP32[$33>>2]|0; HEAP32[$iCur>>2] = $34; $35 = HEAP32[$pWC>>2]|0; - $36 = (($35) + 20|0); + $36 = ((($35)) + 20|0); $37 = HEAP32[$36>>2]|0; HEAP32[$pTerm>>2] = $37; while(1) { @@ -130525,106 +131595,106 @@ function _whereLoopAddOr($pBuilder,$0,$1) { $40 = ($38>>>0)<($39>>>0); $41 = HEAP32[$rc>>2]|0; $42 = ($41|0)==(0); - $or$cond = $40 & $42; - if (!($or$cond)) { + $43 = $40 ? $42 : 0; + if (!($43)) { break; } - $43 = HEAP32[$pTerm>>2]|0; - $44 = (($43) + 18|0); - $45 = HEAP16[$44>>1]|0; - $46 = $45&65535; - $47 = $46 & 256; - $48 = ($47|0)!=(0); + $44 = HEAP32[$pTerm>>2]|0; + $45 = ((($44)) + 18|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = $47 & 256; + $49 = ($48|0)!=(0); L4: do { - if ($48) { - $49 = HEAP32[$pTerm>>2]|0; - $50 = (($49) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 408|0); - $53 = $52; + if ($49) { + $50 = HEAP32[$pTerm>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 408|0); $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$pNew>>2]|0; - $60 = (($59) + 8|0); - $61 = $60; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$pNew>>2]|0; + $61 = ((($60)) + 8|0); $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (($61) + 4)|0; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = $55 & $63; - $68 = $58 & $66; - $69 = ($67|0)!=(0); + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = $56 & $64; + $69 = $59 & $67; $70 = ($68|0)!=(0); - $71 = $69 | $70; - if ($71) { - $72 = HEAP32[$pTerm>>2]|0; - $73 = (($72) + 12|0); - $74 = HEAP32[$73>>2]|0; - HEAP32[$pOrWC>>2] = $74; - $75 = HEAP32[$pOrWC>>2]|0; - $76 = (($75) + 12|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$pOrWC>>2]|0; - $79 = (($78) + 20|0); - $80 = HEAP32[$79>>2]|0; - $81 = (($80) + (($77*48)|0)|0); - HEAP32[$pOrWCEnd>>2] = $81; + $71 = ($69|0)!=(0); + $72 = $70 | $71; + if ($72) { + $73 = HEAP32[$pTerm>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$pOrWC>>2] = $75; + $76 = HEAP32[$pOrWC>>2]|0; + $77 = ((($76)) + 12|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$pOrWC>>2]|0; + $80 = ((($79)) + 20|0); + $81 = HEAP32[$80>>2]|0; + $82 = (($81) + (($78*48)|0)|0); + HEAP32[$pOrWCEnd>>2] = $82; HEAP32[$once>>2] = 1; - $82 = HEAP32[$2>>2]|0; - ;HEAP32[$sSubBuild+0>>2]=HEAP32[$82+0>>2]|0;HEAP32[$sSubBuild+4>>2]=HEAP32[$82+4>>2]|0;HEAP32[$sSubBuild+8>>2]=HEAP32[$82+8>>2]|0;HEAP32[$sSubBuild+12>>2]=HEAP32[$82+12>>2]|0;HEAP32[$sSubBuild+16>>2]=HEAP32[$82+16>>2]|0; - $83 = (($sSubBuild) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($sSubBuild) + 16|0); - HEAP32[$84>>2] = $sCur; - $85 = HEAP32[$pOrWC>>2]|0; - $86 = (($85) + 20|0); - $87 = HEAP32[$86>>2]|0; - HEAP32[$pOrTerm>>2] = $87; + $83 = HEAP32[$2>>2]|0; + ;HEAP32[$sSubBuild>>2]=HEAP32[$83>>2]|0;HEAP32[$sSubBuild+4>>2]=HEAP32[$83+4>>2]|0;HEAP32[$sSubBuild+8>>2]=HEAP32[$83+8>>2]|0;HEAP32[$sSubBuild+12>>2]=HEAP32[$83+12>>2]|0;HEAP32[$sSubBuild+16>>2]=HEAP32[$83+16>>2]|0; + $84 = ((($sSubBuild)) + 8|0); + HEAP32[$84>>2] = 0; + $85 = ((($sSubBuild)) + 16|0); + HEAP32[$85>>2] = $sCur; + $86 = HEAP32[$pOrWC>>2]|0; + $87 = ((($86)) + 20|0); + $88 = HEAP32[$87>>2]|0; + HEAP32[$pOrTerm>>2] = $88; L7: while(1) { - $88 = HEAP32[$pOrTerm>>2]|0; - $89 = HEAP32[$pOrWCEnd>>2]|0; - $90 = ($88>>>0)<($89>>>0); - if (!($90)) { + $89 = HEAP32[$pOrTerm>>2]|0; + $90 = HEAP32[$pOrWCEnd>>2]|0; + $91 = ($89>>>0)<($90>>>0); + if (!($91)) { break; } - $91 = HEAP32[$pOrTerm>>2]|0; - $92 = (($91) + 18|0); - $93 = HEAP16[$92>>1]|0; - $94 = $93&65535; - $95 = $94 & 512; - $96 = ($95|0)!=(0); - $97 = HEAP32[$pOrTerm>>2]|0; - if ($96) { - $98 = (($97) + 12|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($sSubBuild) + 4|0); - HEAP32[$100>>2] = $99; + $92 = HEAP32[$pOrTerm>>2]|0; + $93 = ((($92)) + 18|0); + $94 = HEAP16[$93>>1]|0; + $95 = $94&65535; + $96 = $95 & 512; + $97 = ($96|0)!=(0); + $98 = HEAP32[$pOrTerm>>2]|0; + if ($97) { + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($sSubBuild)) + 4|0); + HEAP32[$101>>2] = $100; label = 11; } else { - $101 = (($97) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$iCur>>2]|0; - $104 = ($102|0)==($103|0); - if ($104) { - $105 = HEAP32[$pWC>>2]|0; - $106 = HEAP32[$105>>2]|0; - HEAP32[$tempWC>>2] = $106; - $107 = HEAP32[$pWC>>2]|0; - $108 = (($tempWC) + 4|0); - HEAP32[$108>>2] = $107; - $109 = (($tempWC) + 8|0); - HEAP8[$109>>0] = 72; - $110 = (($tempWC) + 12|0); - HEAP32[$110>>2] = 1; - $111 = HEAP32[$pOrTerm>>2]|0; - $112 = (($tempWC) + 20|0); - HEAP32[$112>>2] = $111; - $113 = (($sSubBuild) + 4|0); - HEAP32[$113>>2] = $tempWC; + $102 = ((($98)) + 8|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$iCur>>2]|0; + $105 = ($103|0)==($104|0); + if ($105) { + $106 = HEAP32[$pWC>>2]|0; + $107 = HEAP32[$106>>2]|0; + HEAP32[$tempWC>>2] = $107; + $108 = HEAP32[$pWC>>2]|0; + $109 = ((($tempWC)) + 4|0); + HEAP32[$109>>2] = $108; + $110 = ((($tempWC)) + 8|0); + HEAP8[$110>>0] = 72; + $111 = ((($tempWC)) + 12|0); + HEAP32[$111>>2] = 1; + $112 = HEAP32[$pOrTerm>>2]|0; + $113 = ((($tempWC)) + 20|0); + HEAP32[$113>>2] = $112; + $114 = ((($sSubBuild)) + 4|0); + HEAP32[$114>>2] = $tempWC; label = 11; } } @@ -130632,49 +131702,49 @@ function _whereLoopAddOr($pBuilder,$0,$1) { if ((label|0) == 11) { label = 0; HEAP16[$sCur>>1] = 0; - $114 = HEAP32[$pItem>>2]|0; - $115 = (($114) + 16|0); - $116 = HEAP32[$115>>2]|0; - $117 = (($116) + 44|0); - $118 = HEAP8[$117>>0]|0; - $119 = $118&255; - $120 = $119 & 16; - $121 = ($120|0)!=(0); - $122 = $3; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - if ($121) { - $128 = (_whereLoopAddVirtual($sSubBuild,$124,$127)|0); - HEAP32[$rc>>2] = $128; - } else { - $129 = (_whereLoopAddBtree($sSubBuild,$124,$127)|0); + $115 = HEAP32[$pItem>>2]|0; + $116 = ((($115)) + 16|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($117)) + 44|0); + $119 = HEAP8[$118>>0]|0; + $120 = $119&255; + $121 = $120 & 16; + $122 = ($121|0)!=(0); + $123 = $3; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + if ($122) { + $129 = (_whereLoopAddVirtual($sSubBuild,$125,$128)|0); HEAP32[$rc>>2] = $129; - } - $130 = HEAP32[$rc>>2]|0; - $131 = ($130|0)==(0); - if ($131) { - $132 = $3; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = (_whereLoopAddOr($sSubBuild,$134,$137)|0); - HEAP32[$rc>>2] = $138; - } - $139 = HEAP16[$sCur>>1]|0; - $140 = $139&65535; - $141 = ($140|0)==(0); - if ($141) { + } else { + $130 = (_whereLoopAddBtree($sSubBuild,$125,$128)|0); + HEAP32[$rc>>2] = $130; + } + $131 = HEAP32[$rc>>2]|0; + $132 = ($131|0)==(0); + if ($132) { + $133 = $3; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (_whereLoopAddOr($sSubBuild,$135,$138)|0); + HEAP32[$rc>>2] = $139; + } + $140 = HEAP16[$sCur>>1]|0; + $141 = $140&65535; + $142 = ($141|0)==(0); + if ($142) { label = 17; break L7; } - $142 = HEAP32[$once>>2]|0; - $143 = ($142|0)!=(0); - if ($143) { + $143 = HEAP32[$once>>2]|0; + $144 = ($143|0)!=(0); + if ($144) { _whereOrMove($sSum,$sCur); HEAP32[$once>>2] = 0; break; @@ -130683,168 +131753,168 @@ function _whereLoopAddOr($pBuilder,$0,$1) { HEAP16[$sSum>>1] = 0; HEAP32[$i>>2] = 0; while(1) { - $144 = HEAP32[$i>>2]|0; - $145 = HEAP16[$sPrev>>1]|0; - $146 = $145&65535; - $147 = ($144|0)<($146|0); - if (!($147)) { + $145 = HEAP32[$i>>2]|0; + $146 = HEAP16[$sPrev>>1]|0; + $147 = $146&65535; + $148 = ($145|0)<($147|0); + if (!($148)) { break L14; } HEAP32[$j>>2] = 0; while(1) { - $148 = HEAP32[$j>>2]|0; - $149 = HEAP16[$sCur>>1]|0; - $150 = $149&65535; - $151 = ($148|0)<($150|0); - $152 = HEAP32[$i>>2]|0; - if (!($151)) { + $149 = HEAP32[$j>>2]|0; + $150 = HEAP16[$sCur>>1]|0; + $151 = $150&65535; + $152 = ($149|0)<($151|0); + $153 = HEAP32[$i>>2]|0; + if (!($152)) { break; } - $153 = (($sPrev) + 8|0); - $154 = (($153) + ($152<<4)|0); - $155 = $154; + $154 = ((($sPrev)) + 8|0); + $155 = (($154) + ($153<<4)|0); $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = (($155) + 4)|0; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = HEAP32[$j>>2]|0; - $162 = (($sCur) + 8|0); - $163 = (($162) + ($161<<4)|0); - $164 = $163; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = (($156) + 4)|0; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$j>>2]|0; + $163 = ((($sCur)) + 8|0); + $164 = (($163) + ($162<<4)|0); $165 = $164; - $166 = HEAP32[$165>>2]|0; - $167 = (($164) + 4)|0; - $168 = $167; - $169 = HEAP32[$168>>2]|0; - $170 = $157 | $166; - $171 = $160 | $169; - $172 = HEAP32[$i>>2]|0; - $173 = (($sPrev) + 8|0); - $174 = (($173) + ($172<<4)|0); - $175 = (($174) + 8|0); - $176 = HEAP16[$175>>1]|0; - $177 = HEAP32[$j>>2]|0; - $178 = (($sCur) + 8|0); - $179 = (($178) + ($177<<4)|0); - $180 = (($179) + 8|0); - $181 = HEAP16[$180>>1]|0; - $182 = (_sqlite3LogEstAdd($176,$181)|0); - $183 = HEAP32[$i>>2]|0; - $184 = (($sPrev) + 8|0); - $185 = (($184) + ($183<<4)|0); - $186 = (($185) + 10|0); - $187 = HEAP16[$186>>1]|0; - $188 = HEAP32[$j>>2]|0; - $189 = (($sCur) + 8|0); - $190 = (($189) + ($188<<4)|0); - $191 = (($190) + 10|0); - $192 = HEAP16[$191>>1]|0; - $193 = (_sqlite3LogEstAdd($187,$192)|0); - (_whereOrInsert($sSum,$170,$171,$182,$193)|0); - $194 = HEAP32[$j>>2]|0; - $195 = (($194) + 1)|0; - HEAP32[$j>>2] = $195; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $171 = $158 | $167; + $172 = $161 | $170; + $173 = HEAP32[$i>>2]|0; + $174 = ((($sPrev)) + 8|0); + $175 = (($174) + ($173<<4)|0); + $176 = ((($175)) + 8|0); + $177 = HEAP16[$176>>1]|0; + $178 = HEAP32[$j>>2]|0; + $179 = ((($sCur)) + 8|0); + $180 = (($179) + ($178<<4)|0); + $181 = ((($180)) + 8|0); + $182 = HEAP16[$181>>1]|0; + $183 = (_sqlite3LogEstAdd($177,$182)|0); + $184 = HEAP32[$i>>2]|0; + $185 = ((($sPrev)) + 8|0); + $186 = (($185) + ($184<<4)|0); + $187 = ((($186)) + 10|0); + $188 = HEAP16[$187>>1]|0; + $189 = HEAP32[$j>>2]|0; + $190 = ((($sCur)) + 8|0); + $191 = (($190) + ($189<<4)|0); + $192 = ((($191)) + 10|0); + $193 = HEAP16[$192>>1]|0; + $194 = (_sqlite3LogEstAdd($188,$193)|0); + (_whereOrInsert($sSum,$171,$172,$183,$194)|0); + $195 = HEAP32[$j>>2]|0; + $196 = (($195) + 1)|0; + HEAP32[$j>>2] = $196; } - $196 = (($152) + 1)|0; - HEAP32[$i>>2] = $196; + $197 = (($153) + 1)|0; + HEAP32[$i>>2] = $197; } } } while(0); - $197 = HEAP32[$pOrTerm>>2]|0; - $198 = (($197) + 48|0); - HEAP32[$pOrTerm>>2] = $198; + $198 = HEAP32[$pOrTerm>>2]|0; + $199 = ((($198)) + 48|0); + HEAP32[$pOrTerm>>2] = $199; } if ((label|0) == 17) { label = 0; HEAP16[$sSum>>1] = 0; } - $199 = HEAP32[$pNew>>2]|0; - $200 = (($199) + 40|0); - HEAP16[$200>>1] = 1; - $201 = HEAP32[$pTerm>>2]|0; - $202 = HEAP32[$pNew>>2]|0; - $203 = (($202) + 44|0); - $204 = HEAP32[$203>>2]|0; - HEAP32[$204>>2] = $201; - $205 = HEAP32[$pNew>>2]|0; - $206 = (($205) + 36|0); - HEAP32[$206>>2] = 8192; - $207 = HEAP32[$pNew>>2]|0; - $208 = (($207) + 18|0); - HEAP16[$208>>1] = 0; - $209 = HEAP32[$pNew>>2]|0; - $210 = (($209) + 17|0); - HEAP8[$210>>0] = 0; - $211 = HEAP32[$pNew>>2]|0; - $212 = (($211) + 24|0); - ;HEAP32[$212+0>>2]=0|0;HEAP32[$212+4>>2]=0|0;HEAP32[$212+8>>2]=0|0; + $200 = HEAP32[$pNew>>2]|0; + $201 = ((($200)) + 40|0); + HEAP16[$201>>1] = 1; + $202 = HEAP32[$pTerm>>2]|0; + $203 = HEAP32[$pNew>>2]|0; + $204 = ((($203)) + 44|0); + $205 = HEAP32[$204>>2]|0; + HEAP32[$205>>2] = $202; + $206 = HEAP32[$pNew>>2]|0; + $207 = ((($206)) + 36|0); + HEAP32[$207>>2] = 8192; + $208 = HEAP32[$pNew>>2]|0; + $209 = ((($208)) + 18|0); + HEAP16[$209>>1] = 0; + $210 = HEAP32[$pNew>>2]|0; + $211 = ((($210)) + 17|0); + HEAP8[$211>>0] = 0; + $212 = HEAP32[$pNew>>2]|0; + $213 = ((($212)) + 24|0); + ;HEAP32[$213>>2]=0|0;HEAP32[$213+4>>2]=0|0;HEAP32[$213+8>>2]=0|0; HEAP32[$i>>2] = 0; while(1) { - $213 = HEAP32[$rc>>2]|0; - $214 = ($213|0)==(0); - if (!($214)) { + $214 = HEAP32[$rc>>2]|0; + $215 = ($214|0)==(0); + if (!($215)) { break L4; } - $215 = HEAP32[$i>>2]|0; - $216 = HEAP16[$sSum>>1]|0; - $217 = $216&65535; - $218 = ($215|0)<($217|0); - if (!($218)) { + $216 = HEAP32[$i>>2]|0; + $217 = HEAP16[$sSum>>1]|0; + $218 = $217&65535; + $219 = ($216|0)<($218|0); + if (!($219)) { break L4; } - $219 = HEAP32[$i>>2]|0; - $220 = (($sSum) + 8|0); - $221 = (($220) + ($219<<4)|0); - $222 = (($221) + 8|0); - $223 = HEAP16[$222>>1]|0; - $224 = $223 << 16 >> 16; - $225 = (($224) + 1)|0; - $226 = $225&65535; - $227 = HEAP32[$pNew>>2]|0; - $228 = (($227) + 20|0); - HEAP16[$228>>1] = $226; - $229 = HEAP32[$i>>2]|0; - $230 = (($sSum) + 8|0); - $231 = (($230) + ($229<<4)|0); - $232 = (($231) + 10|0); - $233 = HEAP16[$232>>1]|0; - $234 = HEAP32[$pNew>>2]|0; - $235 = (($234) + 22|0); - HEAP16[$235>>1] = $233; - $236 = HEAP32[$i>>2]|0; - $237 = (($sSum) + 8|0); - $238 = (($237) + ($236<<4)|0); - $239 = $238; + $220 = HEAP32[$i>>2]|0; + $221 = ((($sSum)) + 8|0); + $222 = (($221) + ($220<<4)|0); + $223 = ((($222)) + 8|0); + $224 = HEAP16[$223>>1]|0; + $225 = $224 << 16 >> 16; + $226 = (($225) + 1)|0; + $227 = $226&65535; + $228 = HEAP32[$pNew>>2]|0; + $229 = ((($228)) + 20|0); + HEAP16[$229>>1] = $227; + $230 = HEAP32[$i>>2]|0; + $231 = ((($sSum)) + 8|0); + $232 = (($231) + ($230<<4)|0); + $233 = ((($232)) + 10|0); + $234 = HEAP16[$233>>1]|0; + $235 = HEAP32[$pNew>>2]|0; + $236 = ((($235)) + 22|0); + HEAP16[$236>>1] = $234; + $237 = HEAP32[$i>>2]|0; + $238 = ((($sSum)) + 8|0); + $239 = (($238) + ($237<<4)|0); $240 = $239; - $241 = HEAP32[$240>>2]|0; - $242 = (($239) + 4)|0; - $243 = $242; - $244 = HEAP32[$243>>2]|0; - $245 = HEAP32[$pNew>>2]|0; - $246 = $245; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = (($240) + 4)|0; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[$pNew>>2]|0; $247 = $246; - HEAP32[$247>>2] = $241; - $248 = (($246) + 4)|0; - $249 = $248; - HEAP32[$249>>2] = $244; - $250 = HEAP32[$2>>2]|0; - $251 = HEAP32[$pNew>>2]|0; - $252 = (_whereLoopInsert($250,$251)|0); - HEAP32[$rc>>2] = $252; - $253 = HEAP32[$i>>2]|0; - $254 = (($253) + 1)|0; - HEAP32[$i>>2] = $254; + $248 = $247; + HEAP32[$248>>2] = $242; + $249 = (($247) + 4)|0; + $250 = $249; + HEAP32[$250>>2] = $245; + $251 = HEAP32[$2>>2]|0; + $252 = HEAP32[$pNew>>2]|0; + $253 = (_whereLoopInsert($251,$252)|0); + HEAP32[$rc>>2] = $253; + $254 = HEAP32[$i>>2]|0; + $255 = (($254) + 1)|0; + HEAP32[$i>>2] = $255; } } } } while(0); - $255 = HEAP32[$pTerm>>2]|0; - $256 = (($255) + 48|0); - HEAP32[$pTerm>>2] = $256; + $256 = HEAP32[$pTerm>>2]|0; + $257 = ((($256)) + 48|0); + HEAP32[$pTerm>>2] = $257; } - $257 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($257|0); + $258 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($258|0); } function _whereOrMove($pDest,$pSrc) { $pDest = $pDest|0; @@ -130861,9 +131931,9 @@ function _whereOrMove($pDest,$pSrc) { $4 = HEAP32[$0>>2]|0; HEAP16[$4>>1] = $3; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); $9 = HEAP32[$0>>2]|0; $10 = HEAP16[$9>>1]|0; $11 = $10&65535; @@ -130887,13 +131957,13 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 16|0; $4 = sp; $5 = sp + 24|0; $6 = sp + 22|0; $i = sp + 20|0; - $p = sp + 8|0; + $p = sp + 12|0; HEAP32[$3>>2] = $pSet; $7 = $4; $8 = $7; @@ -130907,7 +131977,7 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { $12 = HEAP16[$11>>1]|0; HEAP16[$i>>1] = $12; $13 = HEAP32[$3>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); HEAP32[$p>>2] = $14; while(1) { $15 = HEAP16[$i>>1]|0; @@ -130920,7 +131990,7 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { $18 = HEAP16[$5>>1]|0; $19 = $18 << 16 >> 16; $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 8|0); + $21 = ((($20)) + 8|0); $22 = HEAP16[$21>>1]|0; $23 = $22 << 16 >> 16; $24 = ($19|0)<=($23|0); @@ -130954,7 +132024,7 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { } } $49 = HEAP32[$p>>2]|0; - $50 = (($49) + 8|0); + $50 = ((($49)) + 8|0); $51 = HEAP16[$50>>1]|0; $52 = $51 << 16 >> 16; $53 = HEAP16[$5>>1]|0; @@ -130995,7 +132065,7 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { $82 = (($81) + -1)<<16>>16; HEAP16[$i>>1] = $82; $83 = HEAP32[$p>>2]|0; - $84 = (($83) + 16|0); + $84 = ((($83)) + 16|0); HEAP32[$p>>2] = $84; } if ((label|0) == 7) { @@ -131016,16 +132086,16 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { HEAP16[$89>>1] = $91; $92 = $90&65535; $93 = HEAP32[$3>>2]|0; - $94 = (($93) + 8|0); + $94 = ((($93)) + 8|0); $95 = (($94) + ($92<<4)|0); HEAP32[$p>>2] = $95; $96 = HEAP16[$6>>1]|0; $97 = HEAP32[$p>>2]|0; - $98 = (($97) + 10|0); + $98 = ((($97)) + 10|0); HEAP16[$98>>1] = $96; break; } - $99 = (($89) + 8|0); + $99 = ((($89)) + 8|0); HEAP32[$p>>2] = $99; HEAP16[$i>>1] = 1; while(1) { @@ -131036,7 +132106,7 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { $104 = $103&65535; $105 = ($101|0)<($104|0); $106 = HEAP32[$p>>2]|0; - $107 = (($106) + 8|0); + $107 = ((($106)) + 8|0); $108 = HEAP16[$107>>1]|0; $109 = $108 << 16 >> 16; if (!($105)) { @@ -131045,15 +132115,15 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { $110 = HEAP16[$i>>1]|0; $111 = $110&65535; $112 = HEAP32[$3>>2]|0; - $113 = (($112) + 8|0); + $113 = ((($112)) + 8|0); $114 = (($113) + ($111<<4)|0); - $115 = (($114) + 8|0); + $115 = ((($114)) + 8|0); $116 = HEAP16[$115>>1]|0; $117 = $116 << 16 >> 16; $118 = ($109|0)>($117|0); if ($118) { $119 = HEAP32[$3>>2]|0; - $120 = (($119) + 8|0); + $120 = ((($119)) + 8|0); $121 = HEAP16[$i>>1]|0; $122 = $121&65535; $123 = (($120) + ($122<<4)|0); @@ -131088,10 +132158,10 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { HEAP32[$139>>2] = $134; $140 = HEAP16[$5>>1]|0; $141 = HEAP32[$p>>2]|0; - $142 = (($141) + 8|0); + $142 = ((($141)) + 8|0); HEAP16[$142>>1] = $140; $143 = HEAP32[$p>>2]|0; - $144 = (($143) + 10|0); + $144 = ((($143)) + 10|0); $145 = HEAP16[$144>>1]|0; $146 = $145 << 16 >> 16; $147 = HEAP16[$6>>1]|0; @@ -131100,7 +132170,7 @@ function _whereOrInsert($pSet,$0,$1,$rRun,$nOut) { if ($149) { $150 = HEAP16[$6>>1]|0; $151 = HEAP32[$p>>2]|0; - $152 = (($151) + 10|0); + $152 = ((($151)) + 10|0); HEAP16[$152>>1] = $150; } HEAP32[$2>>2] = 1; @@ -131118,16 +132188,16 @@ function _whereLoopInsert($pBuilder,$pTemplate) { var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $ppPrev = sp + 24|0; - $p = sp + 20|0; - $pWInfo = sp + 16|0; + $ppPrev = sp + 4|0; + $p = sp + 32|0; + $pWInfo = sp + 36|0; $db = sp + 12|0; - $ppTail = sp + 8|0; - $pToDel = sp + 4|0; - $pIndex = sp; + $ppTail = sp + 24|0; + $pToDel = sp + 20|0; + $pIndex = sp + 8|0; HEAP32[$1>>2] = $pBuilder; HEAP32[$2>>2] = $pTemplate; $3 = HEAP32[$1>>2]|0; @@ -131138,12 +132208,12 @@ function _whereLoopInsert($pBuilder,$pTemplate) { $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 16|0); + $9 = ((($8)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 16|0); + $13 = ((($12)) + 16|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; $16 = $15; @@ -131153,10 +132223,10 @@ function _whereLoopInsert($pBuilder,$pTemplate) { $20 = $19; $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 20|0); + $23 = ((($22)) + 20|0); $24 = HEAP16[$23>>1]|0; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 22|0); + $26 = ((($25)) + 22|0); $27 = HEAP16[$26>>1]|0; (_whereOrInsert($14,$18,$21,$24,$27)|0); HEAP32[$0>>2] = 0; @@ -131164,12 +132234,12 @@ function _whereLoopInsert($pBuilder,$pTemplate) { STACKTOP = sp;return ($91|0); } $28 = HEAP32[$pWInfo>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$2>>2]|0; _whereLoopAdjustCost($30,$31); $32 = HEAP32[$pWInfo>>2]|0; - $33 = (($32) + 16|0); + $33 = ((($32)) + 16|0); $34 = HEAP32[$2>>2]|0; $35 = (_whereLoopFindLesser($33,$34)|0); HEAP32[$ppPrev>>2] = $35; @@ -131198,7 +132268,7 @@ function _whereLoopInsert($pBuilder,$pTemplate) { $47 = HEAP32[$p>>2]|0; _whereLoopInit($47); $48 = HEAP32[$p>>2]|0; - $49 = (($48) + 48|0); + $49 = ((($48)) + 48|0); HEAP32[$49>>2] = 0; break; } @@ -131207,7 +132277,7 @@ function _whereLoopInsert($pBuilder,$pTemplate) { STACKTOP = sp;return ($91|0); } else { $50 = HEAP32[$p>>2]|0; - $51 = (($50) + 48|0); + $51 = ((($50)) + 48|0); HEAP32[$ppTail>>2] = $51; while(1) { $52 = HEAP32[$ppTail>>2]|0; @@ -131234,7 +132304,7 @@ function _whereLoopInsert($pBuilder,$pTemplate) { break L9; } $64 = HEAP32[$pToDel>>2]|0; - $65 = (($64) + 48|0); + $65 = ((($64)) + 48|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$ppTail>>2]|0; HEAP32[$67>>2] = $66; @@ -131249,27 +132319,27 @@ function _whereLoopInsert($pBuilder,$pTemplate) { $72 = HEAP32[$2>>2]|0; (_whereLoopXfer($70,$71,$72)|0); $73 = HEAP32[$p>>2]|0; - $74 = (($73) + 36|0); + $74 = ((($73)) + 36|0); $75 = HEAP32[$74>>2]|0; $76 = $75 & 1024; $77 = ($76|0)==(0); if ($77) { $78 = HEAP32[$p>>2]|0; - $79 = (($78) + 24|0); - $80 = (($79) + 4|0); + $79 = ((($78)) + 24|0); + $80 = ((($79)) + 4|0); $81 = HEAP32[$80>>2]|0; HEAP32[$pIndex>>2] = $81; $82 = HEAP32[$pIndex>>2]|0; $83 = ($82|0)!=(0|0); if ($83) { $84 = HEAP32[$pIndex>>2]|0; - $85 = (($84) + 44|0); + $85 = ((($84)) + 44|0); $86 = HEAP32[$85>>2]|0; $87 = ($86|0)==(0); if ($87) { $88 = HEAP32[$p>>2]|0; - $89 = (($88) + 24|0); - $90 = (($89) + 4|0); + $89 = ((($88)) + 24|0); + $90 = ((($89)) + 4|0); HEAP32[$90>>2] = 0; } } @@ -131292,7 +132362,7 @@ function _whereLoopAdjustCost($p,$pTemplate) { HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $pTemplate; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 36|0); + $3 = ((($2)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = $4 & 512; $6 = ($5|0)==(0); @@ -131300,7 +132370,7 @@ function _whereLoopAdjustCost($p,$pTemplate) { STACKTOP = sp;return; } $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 36|0); + $8 = ((($7)) + 36|0); $9 = HEAP32[$8>>2]|0; $10 = $9 & 32768; $11 = ($10|0)==(0); @@ -131312,24 +132382,24 @@ function _whereLoopAdjustCost($p,$pTemplate) { } while(1) { $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 16|0); + $19 = ((($18)) + 16|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = ($17|0)!=($21|0); do { if (!($22)) { $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 36|0); + $24 = ((($23)) + 36|0); $25 = HEAP32[$24>>2]|0; $26 = $25 & 512; $27 = ($26|0)==(0); if (!($27)) { $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 36|0); + $29 = ((($28)) + 36|0); $30 = HEAP32[$29>>2]|0; $31 = $30 & 32768; $32 = ($31|0)!=(0); @@ -131340,19 +132410,19 @@ function _whereLoopAdjustCost($p,$pTemplate) { $36 = ($35|0)!=(0); if ($36) { $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 20|0); + $38 = ((($37)) + 20|0); $39 = HEAP16[$38>>1]|0; $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 20|0); + $41 = ((($40)) + 20|0); HEAP16[$41>>1] = $39; $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 22|0); + $43 = ((($42)) + 22|0); $44 = HEAP16[$43>>1]|0; $45 = $44 << 16 >> 16; $46 = (($45) - 1)|0; $47 = $46&65535; $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 22|0); + $49 = ((($48)) + 22|0); HEAP16[$49>>1] = $47; break; } @@ -131362,19 +132432,19 @@ function _whereLoopAdjustCost($p,$pTemplate) { $53 = ($52|0)!=(0); if ($53) { $54 = HEAP32[$0>>2]|0; - $55 = (($54) + 20|0); + $55 = ((($54)) + 20|0); $56 = HEAP16[$55>>1]|0; $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 20|0); + $58 = ((($57)) + 20|0); HEAP16[$58>>1] = $56; $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 22|0); + $60 = ((($59)) + 22|0); $61 = HEAP16[$60>>1]|0; $62 = $61 << 16 >> 16; $63 = (($62) + 1)|0; $64 = $63&65535; $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 22|0); + $66 = ((($65)) + 22|0); HEAP16[$66>>1] = $64; } } @@ -131382,7 +132452,7 @@ function _whereLoopAdjustCost($p,$pTemplate) { } } while(0); $67 = HEAP32[$0>>2]|0; - $68 = (($67) + 48|0); + $68 = ((($67)) + 48|0); $69 = HEAP32[$68>>2]|0; HEAP32[$0>>2] = $69; $$old = HEAP32[$0>>2]|0; @@ -131424,39 +132494,39 @@ function _whereLoopFindLesser($ppPrev,$pTemplate) { break; } $7 = HEAP32[$p>>2]|0; - $8 = (($7) + 16|0); + $8 = ((($7)) + 16|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 16|0); + $12 = ((($11)) + 16|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = ($10|0)!=($14|0); if (!($15)) { $16 = HEAP32[$p>>2]|0; - $17 = (($16) + 17|0); + $17 = ((($16)) + 17|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 17|0); + $21 = ((($20)) + 17|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = ($19|0)!=($23|0); if (!($24)) { $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 36|0); + $26 = ((($25)) + 36|0); $27 = HEAP32[$26>>2]|0; $28 = $27 & 16384; $29 = ($28|0)!=(0); if ($29) { $30 = HEAP32[$2>>2]|0; - $31 = (($30) + 36|0); + $31 = ((($30)) + 36|0); $32 = HEAP32[$31>>2]|0; $33 = $32 & 512; $34 = ($33|0)!=(0); if ($34) { $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 36|0); + $36 = ((($35)) + 36|0); $37 = HEAP32[$36>>2]|0; $38 = $37 & 1; $39 = ($38|0)!=(0); @@ -131522,31 +132592,31 @@ function _whereLoopFindLesser($ppPrev,$pTemplate) { $91 = $89 & $90; if ($91) { $92 = HEAP32[$p>>2]|0; - $93 = (($92) + 18|0); + $93 = ((($92)) + 18|0); $94 = HEAP16[$93>>1]|0; $95 = $94 << 16 >> 16; $96 = HEAP32[$2>>2]|0; - $97 = (($96) + 18|0); + $97 = ((($96)) + 18|0); $98 = HEAP16[$97>>1]|0; $99 = $98 << 16 >> 16; $100 = ($95|0)<=($99|0); if ($100) { $101 = HEAP32[$p>>2]|0; - $102 = (($101) + 20|0); + $102 = ((($101)) + 20|0); $103 = HEAP16[$102>>1]|0; $104 = $103 << 16 >> 16; $105 = HEAP32[$2>>2]|0; - $106 = (($105) + 20|0); + $106 = ((($105)) + 20|0); $107 = HEAP16[$106>>1]|0; $108 = $107 << 16 >> 16; $109 = ($104|0)<=($108|0); if ($109) { $110 = HEAP32[$p>>2]|0; - $111 = (($110) + 22|0); + $111 = ((($110)) + 22|0); $112 = HEAP16[$111>>1]|0; $113 = $112 << 16 >> 16; $114 = HEAP32[$2>>2]|0; - $115 = (($114) + 22|0); + $115 = ((($114)) + 22|0); $116 = HEAP16[$115>>1]|0; $117 = $116 << 16 >> 16; $118 = ($113|0)<=($117|0); @@ -131585,21 +132655,21 @@ function _whereLoopFindLesser($ppPrev,$pTemplate) { $144 = $142 & $143; if ($144) { $145 = HEAP32[$p>>2]|0; - $146 = (($145) + 20|0); + $146 = ((($145)) + 20|0); $147 = HEAP16[$146>>1]|0; $148 = $147 << 16 >> 16; $149 = HEAP32[$2>>2]|0; - $150 = (($149) + 20|0); + $150 = ((($149)) + 20|0); $151 = HEAP16[$150>>1]|0; $152 = $151 << 16 >> 16; $153 = ($148|0)>=($152|0); if ($153) { $154 = HEAP32[$p>>2]|0; - $155 = (($154) + 22|0); + $155 = ((($154)) + 22|0); $156 = HEAP16[$155>>1]|0; $157 = $156 << 16 >> 16; $158 = HEAP32[$2>>2]|0; - $159 = (($158) + 22|0); + $159 = ((($158)) + 22|0); $160 = HEAP16[$159>>1]|0; $161 = $160 << 16 >> 16; $162 = ($157|0)>=($161|0); @@ -131612,7 +132682,7 @@ function _whereLoopFindLesser($ppPrev,$pTemplate) { } } $163 = HEAP32[$p>>2]|0; - $164 = (($163) + 48|0); + $164 = ((($163)) + 48|0); HEAP32[$1>>2] = $164; $165 = HEAP32[$1>>2]|0; $166 = HEAP32[$165>>2]|0; @@ -131629,7 +132699,7 @@ function _whereLoopFindLesser($ppPrev,$pTemplate) { $168 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($168|0); } - return 0|0; + return (0)|0; } function _whereLoopXfer($db,$pTo,$pFrom) { $db = $db|0; @@ -131653,52 +132723,52 @@ function _whereLoopXfer($db,$pTo,$pFrom) { $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$2>>2]|0; $8 = HEAP32[$3>>2]|0; - $9 = (($8) + 40|0); + $9 = ((($8)) + 40|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = (_whereLoopResize($6,$7,$11)|0); $13 = ($12|0)!=(0); $14 = HEAP32[$2>>2]|0; if ($13) { - $15 = (($14) + 24|0); - ;HEAP32[$15+0>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0; + $15 = ((($14)) + 24|0); + ;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0; HEAP32[$0>>2] = 7; $43 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($43|0); } $16 = HEAP32[$3>>2]|0; - dest=$14+0|0; src=$16+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));HEAP16[$14+40>>1]=HEAP16[$16+40>>1]|0; + dest=$14; src=$16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));HEAP16[$14+40>>1]=HEAP16[$16+40>>1]|0; $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 44|0); + $18 = ((($17)) + 44|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$3>>2]|0; - $21 = (($20) + 44|0); + $21 = ((($20)) + 44|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 40|0); + $24 = ((($23)) + 40|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = $26<<2; _memcpy(($19|0),($22|0),($27|0))|0; $28 = HEAP32[$3>>2]|0; - $29 = (($28) + 36|0); + $29 = ((($28)) + 36|0); $30 = HEAP32[$29>>2]|0; $31 = $30 & 1024; $32 = ($31|0)!=(0); $33 = HEAP32[$3>>2]|0; if ($32) { - $34 = (($33) + 24|0); - $35 = (($34) + 4|0); + $34 = ((($33)) + 24|0); + $35 = ((($34)) + 4|0); HEAP8[$35>>0] = 0; } else { - $36 = (($33) + 36|0); + $36 = ((($33)) + 36|0); $37 = HEAP32[$36>>2]|0; $38 = $37 & 16384; $39 = ($38|0)!=(0); if ($39) { $40 = HEAP32[$3>>2]|0; - $41 = (($40) + 24|0); - $42 = (($41) + 4|0); + $41 = ((($40)) + 24|0); + $42 = ((($41)) + 4|0); HEAP32[$42>>2] = 0; } } @@ -131723,11 +132793,11 @@ function _whereLoopCheaperProperSubset($pX,$pY) { HEAP32[$1>>2] = $pX; HEAP32[$2>>2] = $pY; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 40|0); + $4 = ((($3)) + 40|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 40|0); + $8 = ((($7)) + 40|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = ($6|0)>=($10|0); @@ -131737,21 +132807,21 @@ function _whereLoopCheaperProperSubset($pX,$pY) { STACKTOP = sp;return ($72|0); } $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 20|0); + $13 = ((($12)) + 20|0); $14 = HEAP16[$13>>1]|0; $15 = $14 << 16 >> 16; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 20|0); + $17 = ((($16)) + 20|0); $18 = HEAP16[$17>>1]|0; $19 = $18 << 16 >> 16; $20 = ($15|0)>=($19|0); if ($20) { $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 20|0); + $22 = ((($21)) + 20|0); $23 = HEAP16[$22>>1]|0; $24 = $23 << 16 >> 16; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 20|0); + $26 = ((($25)) + 20|0); $27 = HEAP16[$26>>1]|0; $28 = $27 << 16 >> 16; $29 = ($24|0)>($28|0); @@ -131761,11 +132831,11 @@ function _whereLoopCheaperProperSubset($pX,$pY) { STACKTOP = sp;return ($72|0); } $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 22|0); + $31 = ((($30)) + 22|0); $32 = HEAP16[$31>>1]|0; $33 = $32 << 16 >> 16; $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 22|0); + $35 = ((($34)) + 22|0); $36 = HEAP16[$35>>1]|0; $37 = $36 << 16 >> 16; $38 = ($33|0)>($37|0); @@ -131776,7 +132846,7 @@ function _whereLoopCheaperProperSubset($pX,$pY) { } } $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 40|0); + $40 = ((($39)) + 40|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; $43 = (($42) - 1)|0; @@ -131789,7 +132859,7 @@ function _whereLoopCheaperProperSubset($pX,$pY) { break; } $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 40|0); + $47 = ((($46)) + 40|0); $48 = HEAP16[$47>>1]|0; $49 = $48&65535; $50 = (($49) - 1)|0; @@ -131802,13 +132872,13 @@ function _whereLoopCheaperProperSubset($pX,$pY) { } $53 = HEAP32[$j>>2]|0; $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 44|0); + $55 = ((($54)) + 44|0); $56 = HEAP32[$55>>2]|0; $57 = (($56) + ($53<<2)|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$i>>2]|0; $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 44|0); + $61 = ((($60)) + 44|0); $62 = HEAP32[$61>>2]|0; $63 = (($62) + ($59<<2)|0); $64 = HEAP32[$63>>2]|0; @@ -131840,7 +132910,7 @@ function _whereLoopCheaperProperSubset($pX,$pY) { $72 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($72|0); } - return 0|0; + return (0)|0; } function _whereUsablePartialIndex($iTab,$pWC,$pWhere) { $iTab = $iTab|0; @@ -131861,13 +132931,13 @@ function _whereUsablePartialIndex($iTab,$pWC,$pWhere) { HEAP32[$3>>2] = $pWhere; HEAP32[$i>>2] = 0; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 20|0); + $5 = ((($4)) + 20|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pTerm>>2] = $6; while(1) { $7 = HEAP32[$i>>2]|0; $8 = HEAP32[$2>>2]|0; - $9 = (($8) + 12|0); + $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; $11 = ($7|0)<($10|0); if (!($11)) { @@ -131888,7 +132958,7 @@ function _whereUsablePartialIndex($iTab,$pWC,$pWhere) { $19 = (($18) + 1)|0; HEAP32[$i>>2] = $19; $20 = HEAP32[$pTerm>>2]|0; - $21 = (($20) + 48|0); + $21 = ((($20)) + 48|0); HEAP32[$pTerm>>2] = $21; } if ((label|0) == 4) { @@ -131901,7 +132971,7 @@ function _whereUsablePartialIndex($iTab,$pWC,$pWhere) { $22 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($22|0); } - return 0|0; + return (0)|0; } function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { $pBuilder = $pBuilder|0; @@ -131913,19 +132983,19 @@ function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $ii = 0, $jj = 0, $pExpr = 0, $pOB = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $pOB = sp + 12|0; - $ii = sp + 8|0; - $jj = sp + 4|0; - $pExpr = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $pOB = sp + 28|0; + $ii = sp; + $jj = sp + 12|0; + $pExpr = sp + 24|0; HEAP32[$1>>2] = $pBuilder; HEAP32[$2>>2] = $pIndex; HEAP32[$3>>2] = $iCursor; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 55|0); + $5 = ((($4)) + 55|0); $6 = HEAP8[$5>>0]|0; $7 = ($6&255) >>> 2; $8 = $7 & 1; @@ -131938,7 +133008,7 @@ function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { } $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pOB>>2] = $14; $15 = ($14|0)==(0|0); @@ -131959,7 +133029,7 @@ function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { } $20 = HEAP32[$ii>>2]|0; $21 = HEAP32[$pOB>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + (($20*20)|0)|0); $25 = HEAP32[$24>>2]|0; @@ -131974,14 +133044,14 @@ function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { break; } $31 = HEAP32[$pExpr>>2]|0; - $32 = (($31) + 28|0); + $32 = ((($31)) + 28|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$3>>2]|0; $35 = ($33|0)==($34|0); L13: do { if ($35) { $36 = HEAP32[$pExpr>>2]|0; - $37 = (($36) + 32|0); + $37 = ((($36)) + 32|0); $38 = HEAP16[$37>>1]|0; $39 = $38 << 16 >> 16; $40 = ($39|0)<(0); @@ -131993,7 +133063,7 @@ function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { while(1) { $41 = HEAP32[$jj>>2]|0; $42 = HEAP32[$2>>2]|0; - $43 = (($42) + 50|0); + $43 = ((($42)) + 50|0); $44 = HEAP16[$43>>1]|0; $45 = $44&65535; $46 = ($41|0)<($45|0); @@ -132001,12 +133071,12 @@ function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { break L13; } $47 = HEAP32[$pExpr>>2]|0; - $48 = (($47) + 32|0); + $48 = ((($47)) + 32|0); $49 = HEAP16[$48>>1]|0; $50 = $49 << 16 >> 16; $51 = HEAP32[$jj>>2]|0; $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 4|0); + $53 = ((($52)) + 4|0); $54 = HEAP32[$53>>2]|0; $55 = (($54) + ($51<<1)|0); $56 = HEAP16[$55>>1]|0; @@ -132046,7 +133116,7 @@ function _indexMightHelpWithOrderBy($pBuilder,$pIndex,$iCursor) { $63 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($63|0); } - return 0|0; + return (0)|0; } function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $pWC = $pWC|0; @@ -132063,15 +133133,15 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { var $98 = 0, $99 = 0, $i = 0, $j = 0, $nEq = 0, $notAllowed = 0, $pTerm = 0, $pX = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; + $0 = sp + 8|0; + $1 = sp + 20|0; $2 = sp + 36|0; - $pTerm = sp + 24|0; - $pX = sp + 20|0; + $pTerm = sp + 28|0; + $pX = sp + 32|0; $notAllowed = sp; $i = sp + 16|0; $j = sp + 12|0; - $nEq = sp + 8|0; + $nEq = sp + 24|0; HEAP32[$0>>2] = $pWC; HEAP32[$1>>2] = $pLoop; HEAP16[$2>>1] = $nRow; @@ -132083,7 +133153,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = $11; $13 = $12; $14 = HEAP32[$13>>2]|0; @@ -132102,11 +133172,11 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { HEAP32[$25>>2] = $21; HEAP32[$nEq>>2] = 0; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 12|0); + $27 = ((($26)) + 12|0); $28 = HEAP32[$27>>2]|0; HEAP32[$i>>2] = $28; $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 20|0); + $30 = ((($29)) + 20|0); $31 = HEAP32[$30>>2]|0; HEAP32[$pTerm>>2] = $31; while(1) { @@ -132116,7 +133186,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { break; } $34 = HEAP32[$pTerm>>2]|0; - $35 = (($34) + 20|0); + $35 = ((($34)) + 20|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = $37 & 2; @@ -132125,7 +133195,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { break; } $40 = HEAP32[$pTerm>>2]|0; - $41 = (($40) + 40|0); + $41 = ((($40)) + 40|0); $42 = $41; $43 = $42; $44 = HEAP32[$43>>2]|0; @@ -132133,7 +133203,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $46 = $45; $47 = HEAP32[$46>>2]|0; $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 8|0); + $49 = ((($48)) + 8|0); $50 = $49; $51 = $50; $52 = HEAP32[$51>>2]|0; @@ -132148,7 +133218,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { do { if (!($60)) { $61 = HEAP32[$pTerm>>2]|0; - $62 = (($61) + 40|0); + $62 = ((($61)) + 40|0); $63 = $62; $64 = $63; $65 = HEAP32[$64>>2]|0; @@ -132168,7 +133238,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $79 = $77 | $78; if (!($79)) { $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 40|0); + $81 = ((($80)) + 40|0); $82 = HEAP16[$81>>1]|0; $83 = $82&65535; $84 = (($83) - 1)|0; @@ -132181,7 +133251,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { } $87 = HEAP32[$j>>2]|0; $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 44|0); + $89 = ((($88)) + 44|0); $90 = HEAP32[$89>>2]|0; $91 = (($90) + ($87<<2)|0); $92 = HEAP32[$91>>2]|0; @@ -132196,15 +133266,15 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { break; } $98 = HEAP32[$pX>>2]|0; - $99 = (($98) + 4|0); + $99 = ((($98)) + 4|0); $100 = HEAP32[$99>>2]|0; $101 = ($100|0)>=(0); if ($101) { $102 = HEAP32[$pX>>2]|0; - $103 = (($102) + 4|0); + $103 = ((($102)) + 4|0); $104 = HEAP32[$103>>2]|0; $105 = HEAP32[$0>>2]|0; - $106 = (($105) + 20|0); + $106 = ((($105)) + 20|0); $107 = HEAP32[$106>>2]|0; $108 = (($107) + (($104*48)|0)|0); $109 = HEAP32[$pTerm>>2]|0; @@ -132222,17 +133292,17 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $114 = ($113|0)<(0); if ($114) { $115 = HEAP32[$pTerm>>2]|0; - $116 = (($115) + 16|0); + $116 = ((($115)) + 16|0); $117 = HEAP16[$116>>1]|0; $118 = $117 << 16 >> 16; $119 = ($118|0)<=(0); if ($119) { $120 = HEAP32[$pTerm>>2]|0; - $121 = (($120) + 16|0); + $121 = ((($120)) + 16|0); $122 = HEAP16[$121>>1]|0; $123 = $122 << 16 >> 16; $124 = HEAP32[$1>>2]|0; - $125 = (($124) + 22|0); + $125 = ((($124)) + 22|0); $126 = HEAP16[$125>>1]|0; $127 = $126 << 16 >> 16; $128 = (($127) + ($123))|0; @@ -132241,12 +133311,12 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { break; } $130 = HEAP32[$1>>2]|0; - $131 = (($130) + 22|0); + $131 = ((($130)) + 22|0); $132 = HEAP16[$131>>1]|0; $133 = (($132) + -1)<<16>>16; HEAP16[$131>>1] = $133; $134 = HEAP32[$pTerm>>2]|0; - $135 = (($134) + 18|0); + $135 = ((($134)) + 18|0); $136 = HEAP16[$135>>1]|0; $137 = $136&65535; $138 = $137 & 2; @@ -132264,7 +133334,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $143 = (($142) + -1)|0; HEAP32[$i>>2] = $143; $144 = HEAP32[$pTerm>>2]|0; - $145 = (($144) + 48|0); + $145 = ((($144)) + 48|0); HEAP32[$pTerm>>2] = $145; } $146 = HEAP32[$nEq>>2]|0; @@ -132273,7 +133343,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { STACKTOP = sp;return; } $148 = HEAP32[$1>>2]|0; - $149 = (($148) + 22|0); + $149 = ((($148)) + 22|0); $150 = HEAP16[$149>>1]|0; $151 = $150 << 16 >> 16; $152 = HEAP16[$2>>1]|0; @@ -132288,7 +133358,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $158 = (($157) - 10)|0; $159 = $158&65535; $160 = HEAP32[$1>>2]|0; - $161 = (($160) + 22|0); + $161 = ((($160)) + 22|0); HEAP16[$161>>1] = $159; STACKTOP = sp;return; } @@ -132311,7 +133381,7 @@ function _columnsInIndex($pIdx) { $4 = $3; HEAP32[$4>>2] = 0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 52|0); + $6 = ((($5)) + 52|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = (($8) - 1)|0; @@ -132324,7 +133394,7 @@ function _columnsInIndex($pIdx) { } $12 = HEAP32[$j>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + ($12<<1)|0); $17 = HEAP16[$16>>1]|0; @@ -132364,7 +133434,7 @@ function _columnsInIndex($pIdx) { $43 = (($40) + 4)|0; $44 = $43; $45 = HEAP32[$44>>2]|0; - tempRet0 = $45; + tempRet0 = ($45); STACKTOP = sp;return ($42|0); } function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { @@ -132401,43 +133471,43 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $eOp = 0, $iCol = 0, $nEq = 0, $nIn = 0, $nIter = 0, $nOutUnadjusted = 0, $opMask = 0; - var $or$cond = 0, $or$cond3 = 0, $pBtm = 0, $pExpr = 0, $pNew = 0, $pParse = 0, $pTerm = 0, $pTop = 0, $pWInfo = 0, $rCostIdx = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $saved_nEq = 0, $saved_nLTerm = 0, $saved_nOut = 0, $saved_nSkip = 0, $saved_prereq = 0, $saved_wsFlags = 0, $scan = 0; + var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $eOp = 0, $iCol = 0, $nEq = 0, $nIn = 0, $nIter = 0, $nOutUnadjusted = 0; + var $opMask = 0, $or$cond = 0, $pBtm = 0, $pExpr = 0, $pNew = 0, $pParse = 0, $pTerm = 0, $pTop = 0, $pWInfo = 0, $rCostIdx = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $saved_nEq = 0, $saved_nLTerm = 0, $saved_nOut = 0, $saved_nSkip = 0, $saved_prereq = 0, $saved_wsFlags = 0, $scan = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; $0 = sp + 188|0; - $1 = sp + 184|0; - $2 = sp + 180|0; - $3 = sp + 176|0; - $4 = sp + 212|0; - $pWInfo = sp + 172|0; - $pParse = sp + 168|0; - $db = sp + 164|0; - $pNew = sp + 160|0; - $pTerm = sp + 156|0; - $opMask = sp + 152|0; - $scan = sp + 40|0; + $1 = sp + 16|0; + $2 = sp + 148|0; + $3 = sp + 24|0; + $4 = sp + 194|0; + $pWInfo = sp + 12|0; + $pParse = sp + 160|0; + $db = sp + 168|0; + $pNew = sp + 176|0; + $pTerm = sp + 184|0; + $opMask = sp + 28|0; + $scan = sp + 32|0; $saved_prereq = sp; - $saved_nLTerm = sp + 210|0; - $saved_nEq = sp + 208|0; + $saved_nLTerm = sp + 196|0; + $saved_nEq = sp + 202|0; $saved_nSkip = sp + 206|0; - $saved_wsFlags = sp + 36|0; - $saved_nOut = sp + 204|0; - $iCol = sp + 32|0; - $rc = sp + 28|0; - $rSize = sp + 202|0; + $saved_wsFlags = sp + 164|0; + $saved_nOut = sp + 192|0; + $iCol = sp + 172|0; + $rc = sp + 180|0; + $rSize = sp + 210|0; $rLogSize = sp + 200|0; - $pTop = sp + 24|0; - $pBtm = sp + 20|0; - $nIter = sp + 198|0; - $eOp = sp + 196|0; - $rCostIdx = sp + 194|0; - $nOutUnadjusted = sp + 192|0; - $nIn = sp + 16|0; - $pExpr = sp + 12|0; + $pTop = sp + 144|0; + $pBtm = sp + 152|0; + $nIter = sp + 208|0; + $eOp = sp + 212|0; + $rCostIdx = sp + 198|0; + $nOutUnadjusted = sp + 204|0; + $nIn = sp + 20|0; + $pExpr = sp + 156|0; $nEq = sp + 8|0; HEAP32[$1>>2] = $pBuilder; HEAP32[$2>>2] = $pSrc; @@ -132456,20 +133526,20 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { HEAP32[$pTop>>2] = 0; HEAP32[$pBtm>>2] = 0; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pNew>>2] = $13; $14 = HEAP32[$db>>2]|0; - $15 = (($14) + 64|0); + $15 = ((($14)) + 64|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)!=(0); if ($17) { HEAP32[$0>>2] = 7; - $631 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($631|0); + $632 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($632|0); } $18 = HEAP32[$pNew>>2]|0; - $19 = (($18) + 36|0); + $19 = ((($18)) + 36|0); $20 = HEAP32[$19>>2]|0; $21 = $20 & 32; $22 = ($21|0)!=(0); @@ -132478,12 +133548,12 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { HEAP32[$opMask>>2] = 24; } else { $23 = HEAP32[$3>>2]|0; - $24 = (($23) + 44|0); + $24 = ((($23)) + 44|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)<=(0); if (!($26)) { $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 36|0); + $28 = ((($27)) + 36|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = $30 & 8; @@ -132497,7 +133567,7 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { } } while(0); $33 = HEAP32[$3>>2]|0; - $34 = (($33) + 55|0); + $34 = ((($33)) + 55|0); $35 = HEAP8[$34>>0]|0; $36 = ($35&255) >>> 2; $37 = $36 & 1; @@ -132509,21 +133579,21 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { HEAP32[$opMask>>2] = $41; } $42 = HEAP32[$pNew>>2]|0; - $43 = (($42) + 24|0); + $43 = ((($42)) + 24|0); $44 = HEAP16[$43>>1]|0; $45 = $44&65535; $46 = HEAP32[$3>>2]|0; - $47 = (($46) + 4|0); + $47 = ((($46)) + 4|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + ($45<<1)|0); $50 = HEAP16[$49>>1]|0; $51 = $50 << 16 >> 16; HEAP32[$iCol>>2] = $51; $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 4|0); + $53 = ((($52)) + 4|0); $54 = HEAP32[$53>>2]|0; $55 = HEAP32[$2>>2]|0; - $56 = (($55) + 40|0); + $56 = ((($55)) + 40|0); $57 = HEAP32[$56>>2]|0; $58 = HEAP32[$iCol>>2]|0; $59 = HEAP32[$opMask>>2]|0; @@ -132531,20 +133601,20 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $61 = (_whereScanInit($scan,$54,$57,$58,$59,$60)|0); HEAP32[$pTerm>>2] = $61; $62 = HEAP32[$pNew>>2]|0; - $63 = (($62) + 24|0); + $63 = ((($62)) + 24|0); $64 = HEAP16[$63>>1]|0; HEAP16[$saved_nEq>>1] = $64; $65 = HEAP32[$pNew>>2]|0; - $66 = (($65) + 24|0); - $67 = (($66) + 2|0); + $66 = ((($65)) + 24|0); + $67 = ((($66)) + 2|0); $68 = HEAP16[$67>>1]|0; HEAP16[$saved_nSkip>>1] = $68; $69 = HEAP32[$pNew>>2]|0; - $70 = (($69) + 40|0); + $70 = ((($69)) + 40|0); $71 = HEAP16[$70>>1]|0; HEAP16[$saved_nLTerm>>1] = $71; $72 = HEAP32[$pNew>>2]|0; - $73 = (($72) + 36|0); + $73 = ((($72)) + 36|0); $74 = HEAP32[$73>>2]|0; HEAP32[$saved_wsFlags>>2] = $74; $75 = HEAP32[$pNew>>2]|0; @@ -132561,14 +133631,14 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $85 = $84; HEAP32[$85>>2] = $81; $86 = HEAP32[$pNew>>2]|0; - $87 = (($86) + 22|0); + $87 = ((($86)) + 22|0); $88 = HEAP16[$87>>1]|0; HEAP16[$saved_nOut>>1] = $88; $89 = HEAP32[$pNew>>2]|0; - $90 = (($89) + 18|0); + $90 = ((($89)) + 18|0); HEAP16[$90>>1] = 0; $91 = HEAP32[$3>>2]|0; - $92 = (($91) + 8|0); + $92 = ((($91)) + 8|0); $93 = HEAP32[$92>>2]|0; $94 = HEAP16[$93>>1]|0; HEAP16[$rSize>>1] = $94; @@ -132585,7 +133655,7 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $103 = $102&65535; $104 = (($103) + 1)|0; $105 = HEAP32[$3>>2]|0; - $106 = (($105) + 50|0); + $106 = ((($105)) + 50|0); $107 = HEAP16[$106>>1]|0; $108 = $107&65535; $109 = ($104|0)<($108|0); @@ -132594,7 +133664,7 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $111 = $110&65535; $112 = (($111) + 1)|0; $113 = HEAP32[$3>>2]|0; - $114 = (($113) + 8|0); + $114 = ((($113)) + 8|0); $115 = HEAP32[$114>>2]|0; $116 = (($115) + ($112<<1)|0); $117 = HEAP16[$116>>1]|0; @@ -132604,7 +133674,7 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $120 = HEAP32[$db>>2]|0; $121 = HEAP32[$pNew>>2]|0; $122 = HEAP32[$pNew>>2]|0; - $123 = (($122) + 40|0); + $123 = ((($122)) + 40|0); $124 = HEAP16[$123>>1]|0; $125 = $124&65535; $126 = (($125) + 1)|0; @@ -132613,36 +133683,36 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $128 = ($127|0)==(0); if ($128) { $129 = HEAP32[$pNew>>2]|0; - $130 = (($129) + 24|0); + $130 = ((($129)) + 24|0); $131 = HEAP16[$130>>1]|0; $132 = (($131) + 1)<<16>>16; HEAP16[$130>>1] = $132; $133 = HEAP32[$pNew>>2]|0; - $134 = (($133) + 24|0); - $135 = (($134) + 2|0); + $134 = ((($133)) + 24|0); + $135 = ((($134)) + 2|0); $136 = HEAP16[$135>>1]|0; $137 = (($136) + 1)<<16>>16; HEAP16[$135>>1] = $137; $138 = HEAP32[$pNew>>2]|0; - $139 = (($138) + 40|0); + $139 = ((($138)) + 40|0); $140 = HEAP16[$139>>1]|0; $141 = (($140) + 1)<<16>>16; HEAP16[$139>>1] = $141; $142 = $140&65535; $143 = HEAP32[$pNew>>2]|0; - $144 = (($143) + 44|0); + $144 = ((($143)) + 44|0); $145 = HEAP32[$144>>2]|0; $146 = (($145) + ($142<<2)|0); HEAP32[$146>>2] = 0; $147 = HEAP32[$pNew>>2]|0; - $148 = (($147) + 36|0); + $148 = ((($147)) + 36|0); $149 = HEAP32[$148>>2]|0; $150 = $149 | 32768; HEAP32[$148>>2] = $150; $151 = HEAP16[$saved_nEq>>1]|0; $152 = $151&65535; $153 = HEAP32[$3>>2]|0; - $154 = (($153) + 8|0); + $154 = ((($153)) + 8|0); $155 = HEAP32[$154>>2]|0; $156 = (($155) + ($152<<1)|0); $157 = HEAP16[$156>>1]|0; @@ -132651,7 +133721,7 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $160 = $159&65535; $161 = (($160) + 1)|0; $162 = HEAP32[$3>>2]|0; - $163 = (($162) + 8|0); + $163 = ((($162)) + 8|0); $164 = HEAP32[$163>>2]|0; $165 = (($164) + ($161<<1)|0); $166 = HEAP16[$165>>1]|0; @@ -132671,7 +133741,7 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $176 = HEAP16[$nIter>>1]|0; $177 = $176 << 16 >> 16; $178 = HEAP32[$pNew>>2]|0; - $179 = (($178) + 22|0); + $179 = ((($178)) + 22|0); $180 = HEAP16[$179>>1]|0; $181 = $180 << 16 >> 16; $182 = (($181) - ($177))|0; @@ -132694,16 +133764,16 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { (_whereLoopAddBtreeIndex($188,$189,$190,$196)|0); $197 = HEAP16[$saved_nOut>>1]|0; $198 = HEAP32[$pNew>>2]|0; - $199 = (($198) + 22|0); + $199 = ((($198)) + 22|0); HEAP16[$199>>1] = $197; $200 = HEAP16[$saved_nEq>>1]|0; $201 = HEAP32[$pNew>>2]|0; - $202 = (($201) + 24|0); + $202 = ((($201)) + 24|0); HEAP16[$202>>1] = $200; $203 = HEAP16[$saved_nSkip>>1]|0; $204 = HEAP32[$pNew>>2]|0; - $205 = (($204) + 24|0); - $206 = (($205) + 2|0); + $205 = ((($204)) + 24|0); + $206 = ((($205)) + 2|0); HEAP16[$206>>1] = $203; } } @@ -132714,28 +133784,28 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $208 = ($207|0)==(0); $209 = HEAP32[$pTerm>>2]|0; $210 = ($209|0)!=(0|0); - $or$cond = $208 & $210; - if (!($or$cond)) { + $211 = $208 ? $210 : 0; + if (!($211)) { break; } - $211 = HEAP32[$pTerm>>2]|0; - $212 = (($211) + 18|0); - $213 = HEAP16[$212>>1]|0; - HEAP16[$eOp>>1] = $213; + $212 = HEAP32[$pTerm>>2]|0; + $213 = ((($212)) + 18|0); + $214 = HEAP16[$213>>1]|0; + HEAP16[$eOp>>1] = $214; HEAP32[$nIn>>2] = 0; - $214 = HEAP16[$eOp>>1]|0; - $215 = $214&65535; - $216 = ($215|0)==(128); - if ($216) { + $215 = HEAP16[$eOp>>1]|0; + $216 = $215&65535; + $217 = ($216|0)==(128); + if ($217) { label = 21; } else { - $217 = HEAP32[$pTerm>>2]|0; - $218 = (($217) + 20|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = $220 & 0; - $222 = ($221|0)!=(0); - if ($222) { + $218 = HEAP32[$pTerm>>2]|0; + $219 = ((($218)) + 20|0); + $220 = HEAP8[$219>>0]|0; + $221 = $220&255; + $222 = $221 & 0; + $223 = ($222|0)!=(0); + if ($223) { label = 21; } else { label = 23; @@ -132743,540 +133813,540 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { } if ((label|0) == 21) { label = 0; - $223 = HEAP32[$iCol>>2]|0; - $224 = ($223|0)<(0); - if (!($224)) { - $225 = HEAP32[$iCol>>2]|0; - $226 = HEAP32[$2>>2]|0; - $227 = (($226) + 16|0); - $228 = HEAP32[$227>>2]|0; - $229 = (($228) + 4|0); - $230 = HEAP32[$229>>2]|0; - $231 = (($230) + (($225*24)|0)|0); - $232 = (($231) + 20|0); - $233 = HEAP8[$232>>0]|0; - $234 = $233&255; - $235 = ($234|0)!=(0); - if (!($235)) { + $224 = HEAP32[$iCol>>2]|0; + $225 = ($224|0)<(0); + if (!($225)) { + $226 = HEAP32[$iCol>>2]|0; + $227 = HEAP32[$2>>2]|0; + $228 = ((($227)) + 16|0); + $229 = HEAP32[$228>>2]|0; + $230 = ((($229)) + 4|0); + $231 = HEAP32[$230>>2]|0; + $232 = (($231) + (($226*24)|0)|0); + $233 = ((($232)) + 20|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = ($235|0)!=(0); + if (!($236)) { label = 23; } } } if ((label|0) == 23) { label = 0; - $236 = HEAP32[$pTerm>>2]|0; - $237 = (($236) + 32|0); - $238 = $237; + $237 = HEAP32[$pTerm>>2]|0; + $238 = ((($237)) + 32|0); $239 = $238; - $240 = HEAP32[$239>>2]|0; - $241 = (($238) + 4)|0; - $242 = $241; - $243 = HEAP32[$242>>2]|0; - $244 = HEAP32[$pNew>>2]|0; - $245 = (($244) + 8|0); - $246 = $245; + $240 = $239; + $241 = HEAP32[$240>>2]|0; + $242 = (($239) + 4)|0; + $243 = $242; + $244 = HEAP32[$243>>2]|0; + $245 = HEAP32[$pNew>>2]|0; + $246 = ((($245)) + 8|0); $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = (($246) + 4)|0; - $250 = $249; - $251 = HEAP32[$250>>2]|0; - $252 = $240 & $248; - $253 = $243 & $251; - $254 = ($252|0)!=(0); + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = (($247) + 4)|0; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = $241 & $249; + $254 = $244 & $252; $255 = ($253|0)!=(0); - $256 = $254 | $255; - if (!($256)) { - $257 = HEAP32[$saved_wsFlags>>2]|0; - $258 = HEAP32[$pNew>>2]|0; - $259 = (($258) + 36|0); - HEAP32[$259>>2] = $257; - $260 = HEAP16[$saved_nEq>>1]|0; - $261 = HEAP32[$pNew>>2]|0; - $262 = (($261) + 24|0); - HEAP16[$262>>1] = $260; - $263 = HEAP16[$saved_nLTerm>>1]|0; - $264 = HEAP32[$pNew>>2]|0; - $265 = (($264) + 40|0); - HEAP16[$265>>1] = $263; - $266 = HEAP32[$db>>2]|0; - $267 = HEAP32[$pNew>>2]|0; + $256 = ($254|0)!=(0); + $257 = $255 | $256; + if (!($257)) { + $258 = HEAP32[$saved_wsFlags>>2]|0; + $259 = HEAP32[$pNew>>2]|0; + $260 = ((($259)) + 36|0); + HEAP32[$260>>2] = $258; + $261 = HEAP16[$saved_nEq>>1]|0; + $262 = HEAP32[$pNew>>2]|0; + $263 = ((($262)) + 24|0); + HEAP16[$263>>1] = $261; + $264 = HEAP16[$saved_nLTerm>>1]|0; + $265 = HEAP32[$pNew>>2]|0; + $266 = ((($265)) + 40|0); + HEAP16[$266>>1] = $264; + $267 = HEAP32[$db>>2]|0; $268 = HEAP32[$pNew>>2]|0; - $269 = (($268) + 40|0); - $270 = HEAP16[$269>>1]|0; - $271 = $270&65535; - $272 = (($271) + 1)|0; - $273 = (_whereLoopResize($266,$267,$272)|0); - $274 = ($273|0)!=(0); - if ($274) { + $269 = HEAP32[$pNew>>2]|0; + $270 = ((($269)) + 40|0); + $271 = HEAP16[$270>>1]|0; + $272 = $271&65535; + $273 = (($272) + 1)|0; + $274 = (_whereLoopResize($267,$268,$273)|0); + $275 = ($274|0)!=(0); + if ($275) { break; } - $275 = HEAP32[$pTerm>>2]|0; - $276 = HEAP32[$pNew>>2]|0; - $277 = (($276) + 40|0); - $278 = HEAP16[$277>>1]|0; - $279 = (($278) + 1)<<16>>16; - HEAP16[$277>>1] = $279; - $280 = $278&65535; - $281 = HEAP32[$pNew>>2]|0; - $282 = (($281) + 44|0); - $283 = HEAP32[$282>>2]|0; - $284 = (($283) + ($280<<2)|0); - HEAP32[$284>>2] = $275; - $285 = $saved_prereq; - $286 = $285; - $287 = HEAP32[$286>>2]|0; - $288 = (($285) + 4)|0; - $289 = $288; - $290 = HEAP32[$289>>2]|0; - $291 = HEAP32[$pTerm>>2]|0; - $292 = (($291) + 32|0); - $293 = $292; + $276 = HEAP32[$pTerm>>2]|0; + $277 = HEAP32[$pNew>>2]|0; + $278 = ((($277)) + 40|0); + $279 = HEAP16[$278>>1]|0; + $280 = (($279) + 1)<<16>>16; + HEAP16[$278>>1] = $280; + $281 = $279&65535; + $282 = HEAP32[$pNew>>2]|0; + $283 = ((($282)) + 44|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($281<<2)|0); + HEAP32[$285>>2] = $276; + $286 = $saved_prereq; + $287 = $286; + $288 = HEAP32[$287>>2]|0; + $289 = (($286) + 4)|0; + $290 = $289; + $291 = HEAP32[$290>>2]|0; + $292 = HEAP32[$pTerm>>2]|0; + $293 = ((($292)) + 32|0); $294 = $293; - $295 = HEAP32[$294>>2]|0; - $296 = (($293) + 4)|0; - $297 = $296; - $298 = HEAP32[$297>>2]|0; - $299 = $287 | $295; - $300 = $290 | $298; - $301 = HEAP32[$pNew>>2]|0; - $302 = (($301) + 8|0); - $303 = $302; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = (($294) + 4)|0; + $298 = $297; + $299 = HEAP32[$298>>2]|0; + $300 = $288 | $296; + $301 = $291 | $299; + $302 = HEAP32[$pNew>>2]|0; + $303 = ((($302)) + 8|0); $304 = $303; - $305 = HEAP32[$304>>2]|0; - $306 = (($303) + 4)|0; - $307 = $306; - $308 = HEAP32[$307>>2]|0; - $309 = $305 ^ -1; - $310 = $308 ^ -1; - $311 = $299 & $309; + $305 = $304; + $306 = HEAP32[$305>>2]|0; + $307 = (($304) + 4)|0; + $308 = $307; + $309 = HEAP32[$308>>2]|0; + $310 = $306 ^ -1; + $311 = $309 ^ -1; $312 = $300 & $310; - $313 = HEAP32[$pNew>>2]|0; - $314 = $313; + $313 = $301 & $311; + $314 = HEAP32[$pNew>>2]|0; $315 = $314; - HEAP32[$315>>2] = $311; - $316 = (($314) + 4)|0; - $317 = $316; - HEAP32[$317>>2] = $312; - $318 = HEAP16[$eOp>>1]|0; - $319 = $318&65535; - $320 = $319 & 1; - $321 = ($320|0)!=(0); + $316 = $315; + HEAP32[$316>>2] = $312; + $317 = (($315) + 4)|0; + $318 = $317; + HEAP32[$318>>2] = $313; + $319 = HEAP16[$eOp>>1]|0; + $320 = $319&65535; + $321 = $320 & 1; + $322 = ($321|0)!=(0); do { - if ($321) { - $322 = HEAP32[$pTerm>>2]|0; - $323 = HEAP32[$322>>2]|0; - HEAP32[$pExpr>>2] = $323; - $324 = HEAP32[$pNew>>2]|0; - $325 = (($324) + 36|0); - $326 = HEAP32[$325>>2]|0; - $327 = $326 | 4; - HEAP32[$325>>2] = $327; - $328 = HEAP32[$pExpr>>2]|0; - $329 = (($328) + 4|0); - $330 = HEAP32[$329>>2]|0; - $331 = $330 & 2048; - $332 = ($331|0)!=(0); - if ($332) { + if ($322) { + $323 = HEAP32[$pTerm>>2]|0; + $324 = HEAP32[$323>>2]|0; + HEAP32[$pExpr>>2] = $324; + $325 = HEAP32[$pNew>>2]|0; + $326 = ((($325)) + 36|0); + $327 = HEAP32[$326>>2]|0; + $328 = $327 | 4; + HEAP32[$326>>2] = $328; + $329 = HEAP32[$pExpr>>2]|0; + $330 = ((($329)) + 4|0); + $331 = HEAP32[$330>>2]|0; + $332 = $331 & 2048; + $333 = ($332|0)!=(0); + if ($333) { HEAP32[$nIn>>2] = 46; break; } - $333 = HEAP32[$pExpr>>2]|0; - $334 = (($333) + 20|0); - $335 = HEAP32[$334>>2]|0; - $336 = ($335|0)!=(0|0); - if ($336) { - $337 = HEAP32[$pExpr>>2]|0; - $338 = (($337) + 20|0); - $339 = HEAP32[$338>>2]|0; + $334 = HEAP32[$pExpr>>2]|0; + $335 = ((($334)) + 20|0); + $336 = HEAP32[$335>>2]|0; + $337 = ($336|0)!=(0|0); + if ($337) { + $338 = HEAP32[$pExpr>>2]|0; + $339 = ((($338)) + 20|0); $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)!=(0); - if ($341) { - $342 = HEAP32[$pExpr>>2]|0; - $343 = (($342) + 20|0); - $344 = HEAP32[$343>>2]|0; + $341 = HEAP32[$340>>2]|0; + $342 = ($341|0)!=(0); + if ($342) { + $343 = HEAP32[$pExpr>>2]|0; + $344 = ((($343)) + 20|0); $345 = HEAP32[$344>>2]|0; - $346 = ($345|0)<(0); - $347 = $346 << 31 >> 31; - $348 = (_sqlite3LogEst($345,$347)|0); - $349 = $348 << 16 >> 16; - HEAP32[$nIn>>2] = $349; + $346 = HEAP32[$345>>2]|0; + $347 = ($346|0)<(0); + $348 = $347 << 31 >> 31; + $349 = (_sqlite3LogEst($346,$348)|0); + $350 = $349 << 16 >> 16; + HEAP32[$nIn>>2] = $350; } } } else { - $350 = HEAP16[$eOp>>1]|0; - $351 = $350&65535; - $352 = $351 & 2; - $353 = ($352|0)!=(0); - if ($353) { - $354 = HEAP32[$pNew>>2]|0; - $355 = (($354) + 36|0); - $356 = HEAP32[$355>>2]|0; - $357 = $356 | 1; - HEAP32[$355>>2] = $357; - $358 = HEAP32[$iCol>>2]|0; - $359 = ($358|0)<(0); - if (!($359)) { - $360 = HEAP16[$4>>1]|0; - $361 = $360 << 16 >> 16; - $362 = ($361|0)==(0); - if (!($362)) { + $351 = HEAP16[$eOp>>1]|0; + $352 = $351&65535; + $353 = $352 & 2; + $354 = ($353|0)!=(0); + if ($354) { + $355 = HEAP32[$pNew>>2]|0; + $356 = ((($355)) + 36|0); + $357 = HEAP32[$356>>2]|0; + $358 = $357 | 1; + HEAP32[$356>>2] = $358; + $359 = HEAP32[$iCol>>2]|0; + $360 = ($359|0)<(0); + if (!($360)) { + $361 = HEAP16[$4>>1]|0; + $362 = $361 << 16 >> 16; + $363 = ($362|0)==(0); + if (!($363)) { break; } - $363 = HEAP32[$pNew>>2]|0; - $364 = (($363) + 24|0); - $365 = HEAP16[$364>>1]|0; - $366 = $365&65535; - $367 = HEAP32[$3>>2]|0; - $368 = (($367) + 50|0); - $369 = HEAP16[$368>>1]|0; - $370 = $369&65535; - $371 = (($370) - 1)|0; - $372 = ($366|0)==($371|0); - if (!($372)) { + $364 = HEAP32[$pNew>>2]|0; + $365 = ((($364)) + 24|0); + $366 = HEAP16[$365>>1]|0; + $367 = $366&65535; + $368 = HEAP32[$3>>2]|0; + $369 = ((($368)) + 50|0); + $370 = HEAP16[$369>>1]|0; + $371 = $370&65535; + $372 = (($371) - 1)|0; + $373 = ($367|0)==($372|0); + if (!($373)) { break; } } - $373 = HEAP32[$iCol>>2]|0; - $374 = ($373|0)>=(0); - if ($374) { - $375 = HEAP32[$3>>2]|0; - $376 = (($375) + 54|0); - $377 = HEAP8[$376>>0]|0; - $378 = $377&255; - $379 = ($378|0)!=(0); - if (!($379)) { - $380 = HEAP32[$pNew>>2]|0; - $381 = (($380) + 36|0); - $382 = HEAP32[$381>>2]|0; - $383 = $382 | 65536; - HEAP32[$381>>2] = $383; + $374 = HEAP32[$iCol>>2]|0; + $375 = ($374|0)>=(0); + if ($375) { + $376 = HEAP32[$3>>2]|0; + $377 = ((($376)) + 54|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $380 = ($379|0)!=(0); + if (!($380)) { + $381 = HEAP32[$pNew>>2]|0; + $382 = ((($381)) + 36|0); + $383 = HEAP32[$382>>2]|0; + $384 = $383 | 65536; + HEAP32[$382>>2] = $384; break; } } - $384 = HEAP32[$pNew>>2]|0; - $385 = (($384) + 36|0); - $386 = HEAP32[$385>>2]|0; - $387 = $386 | 4096; - HEAP32[$385>>2] = $387; + $385 = HEAP32[$pNew>>2]|0; + $386 = ((($385)) + 36|0); + $387 = HEAP32[$386>>2]|0; + $388 = $387 | 4096; + HEAP32[$386>>2] = $388; break; } else { - $388 = HEAP16[$eOp>>1]|0; - $389 = $388&65535; - $390 = $389 & 128; - $391 = ($390|0)!=(0); - if ($391) { - $392 = HEAP32[$pNew>>2]|0; - $393 = (($392) + 36|0); - $394 = HEAP32[$393>>2]|0; - $395 = $394 | 8; - HEAP32[$393>>2] = $395; + $389 = HEAP16[$eOp>>1]|0; + $390 = $389&65535; + $391 = $390 & 128; + $392 = ($391|0)!=(0); + if ($392) { + $393 = HEAP32[$pNew>>2]|0; + $394 = ((($393)) + 36|0); + $395 = HEAP32[$394>>2]|0; + $396 = $395 | 8; + HEAP32[$394>>2] = $396; break; } - $396 = HEAP16[$eOp>>1]|0; - $397 = $396&65535; - $398 = $397 & 36; - $399 = ($398|0)!=(0); - $400 = HEAP32[$pNew>>2]|0; - $401 = (($400) + 36|0); - $402 = HEAP32[$401>>2]|0; - if ($399) { - $403 = $402 | 34; - HEAP32[$401>>2] = $403; - $404 = HEAP32[$pTerm>>2]|0; - HEAP32[$pBtm>>2] = $404; + $397 = HEAP16[$eOp>>1]|0; + $398 = $397&65535; + $399 = $398 & 36; + $400 = ($399|0)!=(0); + $401 = HEAP32[$pNew>>2]|0; + $402 = ((($401)) + 36|0); + $403 = HEAP32[$402>>2]|0; + if ($400) { + $404 = $403 | 34; + HEAP32[$402>>2] = $404; + $405 = HEAP32[$pTerm>>2]|0; + HEAP32[$pBtm>>2] = $405; HEAP32[$pTop>>2] = 0; break; } - $405 = $402 | 18; - HEAP32[$401>>2] = $405; - $406 = HEAP32[$pTerm>>2]|0; - HEAP32[$pTop>>2] = $406; - $407 = HEAP32[$pNew>>2]|0; - $408 = (($407) + 36|0); - $409 = HEAP32[$408>>2]|0; - $410 = $409 & 32; - $411 = ($410|0)!=(0); - if ($411) { - $412 = HEAP32[$pNew>>2]|0; - $413 = (($412) + 40|0); - $414 = HEAP16[$413>>1]|0; - $415 = $414&65535; - $416 = (($415) - 2)|0; - $417 = HEAP32[$pNew>>2]|0; - $418 = (($417) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = (($419) + ($416<<2)|0); - $421 = HEAP32[$420>>2]|0; - $422 = $421; + $406 = $403 | 18; + HEAP32[$402>>2] = $406; + $407 = HEAP32[$pTerm>>2]|0; + HEAP32[$pTop>>2] = $407; + $408 = HEAP32[$pNew>>2]|0; + $409 = ((($408)) + 36|0); + $410 = HEAP32[$409>>2]|0; + $411 = $410 & 32; + $412 = ($411|0)!=(0); + if ($412) { + $413 = HEAP32[$pNew>>2]|0; + $414 = ((($413)) + 40|0); + $415 = HEAP16[$414>>1]|0; + $416 = $415&65535; + $417 = (($416) - 2)|0; + $418 = HEAP32[$pNew>>2]|0; + $419 = ((($418)) + 44|0); + $420 = HEAP32[$419>>2]|0; + $421 = (($420) + ($417<<2)|0); + $422 = HEAP32[$421>>2]|0; + $423 = $422; } else { - $422 = 0; + $423 = 0; } - HEAP32[$pBtm>>2] = $422; + HEAP32[$pBtm>>2] = $423; break; } } } while(0); - $423 = HEAP32[$pNew>>2]|0; - $424 = (($423) + 36|0); - $425 = HEAP32[$424>>2]|0; - $426 = $425 & 2; - $427 = ($426|0)!=(0); + $424 = HEAP32[$pNew>>2]|0; + $425 = ((($424)) + 36|0); + $426 = HEAP32[$425>>2]|0; + $427 = $426 & 2; + $428 = ($427|0)!=(0); do { - if ($427) { - $428 = HEAP32[$pParse>>2]|0; - $429 = HEAP32[$1>>2]|0; - $430 = HEAP32[$pBtm>>2]|0; - $431 = HEAP32[$pTop>>2]|0; - $432 = HEAP32[$pNew>>2]|0; - (_whereRangeScanEst($428,$429,$430,$431,$432)|0); - } else { + if ($428) { + $429 = HEAP32[$pParse>>2]|0; + $430 = HEAP32[$1>>2]|0; + $431 = HEAP32[$pBtm>>2]|0; + $432 = HEAP32[$pTop>>2]|0; $433 = HEAP32[$pNew>>2]|0; - $434 = (($433) + 24|0); - $435 = HEAP16[$434>>1]|0; - $436 = (($435) + 1)<<16>>16; - HEAP16[$434>>1] = $436; - $437 = $436&65535; - HEAP32[$nEq>>2] = $437; - $438 = HEAP32[$pTerm>>2]|0; - $439 = (($438) + 16|0); - $440 = HEAP16[$439>>1]|0; - $441 = $440 << 16 >> 16; - $442 = ($441|0)<=(0); - $443 = HEAP32[$iCol>>2]|0; - $444 = ($443|0)>=(0); - $or$cond3 = $442 & $444; - if ($or$cond3) { - $445 = HEAP32[$pTerm>>2]|0; - $446 = (($445) + 16|0); - $447 = HEAP16[$446>>1]|0; - $448 = $447 << 16 >> 16; - $449 = HEAP32[$pNew>>2]|0; - $450 = (($449) + 22|0); - $451 = HEAP16[$450>>1]|0; - $452 = $451 << 16 >> 16; - $453 = (($452) + ($448))|0; - $454 = $453&65535; - HEAP16[$450>>1] = $454; - $455 = HEAP32[$nIn>>2]|0; - $456 = HEAP32[$pNew>>2]|0; - $457 = (($456) + 22|0); - $458 = HEAP16[$457>>1]|0; - $459 = $458 << 16 >> 16; - $460 = (($459) - ($455))|0; - $461 = $460&65535; - HEAP16[$457>>1] = $461; + (_whereRangeScanEst($429,$430,$431,$432,$433)|0); + } else { + $434 = HEAP32[$pNew>>2]|0; + $435 = ((($434)) + 24|0); + $436 = HEAP16[$435>>1]|0; + $437 = (($436) + 1)<<16>>16; + HEAP16[$435>>1] = $437; + $438 = $437&65535; + HEAP32[$nEq>>2] = $438; + $439 = HEAP32[$pTerm>>2]|0; + $440 = ((($439)) + 16|0); + $441 = HEAP16[$440>>1]|0; + $442 = $441 << 16 >> 16; + $443 = ($442|0)<=(0); + $444 = HEAP32[$iCol>>2]|0; + $445 = ($444|0)>=(0); + $or$cond = $443 & $445; + if ($or$cond) { + $446 = HEAP32[$pTerm>>2]|0; + $447 = ((($446)) + 16|0); + $448 = HEAP16[$447>>1]|0; + $449 = $448 << 16 >> 16; + $450 = HEAP32[$pNew>>2]|0; + $451 = ((($450)) + 22|0); + $452 = HEAP16[$451>>1]|0; + $453 = $452 << 16 >> 16; + $454 = (($453) + ($449))|0; + $455 = $454&65535; + HEAP16[$451>>1] = $455; + $456 = HEAP32[$nIn>>2]|0; + $457 = HEAP32[$pNew>>2]|0; + $458 = ((($457)) + 22|0); + $459 = HEAP16[$458>>1]|0; + $460 = $459 << 16 >> 16; + $461 = (($460) - ($456))|0; + $462 = $461&65535; + HEAP16[$458>>1] = $462; break; } - $462 = HEAP32[$nEq>>2]|0; - $463 = HEAP32[$3>>2]|0; - $464 = (($463) + 8|0); - $465 = HEAP32[$464>>2]|0; - $466 = (($465) + ($462<<1)|0); - $467 = HEAP16[$466>>1]|0; - $468 = $467 << 16 >> 16; - $469 = HEAP32[$nEq>>2]|0; - $470 = (($469) - 1)|0; - $471 = HEAP32[$3>>2]|0; - $472 = (($471) + 8|0); - $473 = HEAP32[$472>>2]|0; - $474 = (($473) + ($470<<1)|0); - $475 = HEAP16[$474>>1]|0; - $476 = $475 << 16 >> 16; - $477 = (($468) - ($476))|0; - $478 = HEAP32[$pNew>>2]|0; - $479 = (($478) + 22|0); - $480 = HEAP16[$479>>1]|0; - $481 = $480 << 16 >> 16; - $482 = (($481) + ($477))|0; - $483 = $482&65535; - HEAP16[$479>>1] = $483; - $484 = HEAP16[$eOp>>1]|0; - $485 = $484&65535; - $486 = $485 & 128; - $487 = ($486|0)!=(0); - if ($487) { - $488 = HEAP32[$pNew>>2]|0; - $489 = (($488) + 22|0); - $490 = HEAP16[$489>>1]|0; - $491 = $490 << 16 >> 16; - $492 = (($491) + 10)|0; - $493 = $492&65535; - HEAP16[$489>>1] = $493; + $463 = HEAP32[$nEq>>2]|0; + $464 = HEAP32[$3>>2]|0; + $465 = ((($464)) + 8|0); + $466 = HEAP32[$465>>2]|0; + $467 = (($466) + ($463<<1)|0); + $468 = HEAP16[$467>>1]|0; + $469 = $468 << 16 >> 16; + $470 = HEAP32[$nEq>>2]|0; + $471 = (($470) - 1)|0; + $472 = HEAP32[$3>>2]|0; + $473 = ((($472)) + 8|0); + $474 = HEAP32[$473>>2]|0; + $475 = (($474) + ($471<<1)|0); + $476 = HEAP16[$475>>1]|0; + $477 = $476 << 16 >> 16; + $478 = (($469) - ($477))|0; + $479 = HEAP32[$pNew>>2]|0; + $480 = ((($479)) + 22|0); + $481 = HEAP16[$480>>1]|0; + $482 = $481 << 16 >> 16; + $483 = (($482) + ($478))|0; + $484 = $483&65535; + HEAP16[$480>>1] = $484; + $485 = HEAP16[$eOp>>1]|0; + $486 = $485&65535; + $487 = $486 & 128; + $488 = ($487|0)!=(0); + if ($488) { + $489 = HEAP32[$pNew>>2]|0; + $490 = ((($489)) + 22|0); + $491 = HEAP16[$490>>1]|0; + $492 = $491 << 16 >> 16; + $493 = (($492) + 10)|0; + $494 = $493&65535; + HEAP16[$490>>1] = $494; } } } while(0); - $494 = HEAP32[$pNew>>2]|0; - $495 = (($494) + 22|0); - $496 = HEAP16[$495>>1]|0; - $497 = $496 << 16 >> 16; - $498 = (($497) + 1)|0; - $499 = HEAP32[$3>>2]|0; - $500 = (($499) + 48|0); - $501 = HEAP16[$500>>1]|0; - $502 = $501 << 16 >> 16; - $503 = ($502*15)|0; - $504 = HEAP32[$2>>2]|0; - $505 = (($504) + 16|0); - $506 = HEAP32[$505>>2]|0; - $507 = (($506) + 42|0); - $508 = HEAP16[$507>>1]|0; - $509 = $508 << 16 >> 16; - $510 = (($503|0) / ($509|0))&-1; - $511 = (($498) + ($510))|0; - $512 = $511&65535; - HEAP16[$rCostIdx>>1] = $512; - $513 = HEAP16[$rLogSize>>1]|0; - $514 = HEAP16[$rCostIdx>>1]|0; - $515 = (_sqlite3LogEstAdd($513,$514)|0); - $516 = HEAP32[$pNew>>2]|0; - $517 = (($516) + 20|0); - HEAP16[$517>>1] = $515; - $518 = HEAP32[$pNew>>2]|0; - $519 = (($518) + 36|0); - $520 = HEAP32[$519>>2]|0; - $521 = $520 & 320; - $522 = ($521|0)==(0); - if ($522) { - $523 = HEAP32[$pNew>>2]|0; - $524 = (($523) + 20|0); - $525 = HEAP16[$524>>1]|0; - $526 = HEAP32[$pNew>>2]|0; - $527 = (($526) + 22|0); - $528 = HEAP16[$527>>1]|0; - $529 = $528 << 16 >> 16; - $530 = (($529) + 16)|0; - $531 = $530&65535; - $532 = (_sqlite3LogEstAdd($525,$531)|0); - $533 = HEAP32[$pNew>>2]|0; - $534 = (($533) + 20|0); - HEAP16[$534>>1] = $532; - } - $535 = HEAP32[$pNew>>2]|0; - $536 = (($535) + 22|0); - $537 = HEAP16[$536>>1]|0; - HEAP16[$nOutUnadjusted>>1] = $537; - $538 = HEAP16[$4>>1]|0; - $539 = $538 << 16 >> 16; - $540 = HEAP32[$nIn>>2]|0; - $541 = (($539) + ($540))|0; - $542 = HEAP32[$pNew>>2]|0; - $543 = (($542) + 20|0); - $544 = HEAP16[$543>>1]|0; - $545 = $544 << 16 >> 16; - $546 = (($545) + ($541))|0; - $547 = $546&65535; - HEAP16[$543>>1] = $547; - $548 = HEAP16[$4>>1]|0; - $549 = $548 << 16 >> 16; - $550 = HEAP32[$nIn>>2]|0; - $551 = (($549) + ($550))|0; - $552 = HEAP32[$pNew>>2]|0; - $553 = (($552) + 22|0); - $554 = HEAP16[$553>>1]|0; - $555 = $554 << 16 >> 16; - $556 = (($555) + ($551))|0; - $557 = $556&65535; - HEAP16[$553>>1] = $557; - $558 = HEAP32[$1>>2]|0; - $559 = (($558) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = HEAP32[$pNew>>2]|0; - $562 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($560,$561,$562); - $563 = HEAP32[$1>>2]|0; - $564 = HEAP32[$pNew>>2]|0; - $565 = (_whereLoopInsert($563,$564)|0); - HEAP32[$rc>>2] = $565; - $566 = HEAP32[$pNew>>2]|0; - $567 = (($566) + 36|0); - $568 = HEAP32[$567>>2]|0; - $569 = $568 & 2; - $570 = ($569|0)!=(0); - if ($570) { - $571 = HEAP16[$saved_nOut>>1]|0; - $572 = HEAP32[$pNew>>2]|0; - $573 = (($572) + 22|0); - HEAP16[$573>>1] = $571; + $495 = HEAP32[$pNew>>2]|0; + $496 = ((($495)) + 22|0); + $497 = HEAP16[$496>>1]|0; + $498 = $497 << 16 >> 16; + $499 = (($498) + 1)|0; + $500 = HEAP32[$3>>2]|0; + $501 = ((($500)) + 48|0); + $502 = HEAP16[$501>>1]|0; + $503 = $502 << 16 >> 16; + $504 = ($503*15)|0; + $505 = HEAP32[$2>>2]|0; + $506 = ((($505)) + 16|0); + $507 = HEAP32[$506>>2]|0; + $508 = ((($507)) + 42|0); + $509 = HEAP16[$508>>1]|0; + $510 = $509 << 16 >> 16; + $511 = (($504|0) / ($510|0))&-1; + $512 = (($499) + ($511))|0; + $513 = $512&65535; + HEAP16[$rCostIdx>>1] = $513; + $514 = HEAP16[$rLogSize>>1]|0; + $515 = HEAP16[$rCostIdx>>1]|0; + $516 = (_sqlite3LogEstAdd($514,$515)|0); + $517 = HEAP32[$pNew>>2]|0; + $518 = ((($517)) + 20|0); + HEAP16[$518>>1] = $516; + $519 = HEAP32[$pNew>>2]|0; + $520 = ((($519)) + 36|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 & 320; + $523 = ($522|0)==(0); + if ($523) { + $524 = HEAP32[$pNew>>2]|0; + $525 = ((($524)) + 20|0); + $526 = HEAP16[$525>>1]|0; + $527 = HEAP32[$pNew>>2]|0; + $528 = ((($527)) + 22|0); + $529 = HEAP16[$528>>1]|0; + $530 = $529 << 16 >> 16; + $531 = (($530) + 16)|0; + $532 = $531&65535; + $533 = (_sqlite3LogEstAdd($526,$532)|0); + $534 = HEAP32[$pNew>>2]|0; + $535 = ((($534)) + 20|0); + HEAP16[$535>>1] = $533; + } + $536 = HEAP32[$pNew>>2]|0; + $537 = ((($536)) + 22|0); + $538 = HEAP16[$537>>1]|0; + HEAP16[$nOutUnadjusted>>1] = $538; + $539 = HEAP16[$4>>1]|0; + $540 = $539 << 16 >> 16; + $541 = HEAP32[$nIn>>2]|0; + $542 = (($540) + ($541))|0; + $543 = HEAP32[$pNew>>2]|0; + $544 = ((($543)) + 20|0); + $545 = HEAP16[$544>>1]|0; + $546 = $545 << 16 >> 16; + $547 = (($546) + ($542))|0; + $548 = $547&65535; + HEAP16[$544>>1] = $548; + $549 = HEAP16[$4>>1]|0; + $550 = $549 << 16 >> 16; + $551 = HEAP32[$nIn>>2]|0; + $552 = (($550) + ($551))|0; + $553 = HEAP32[$pNew>>2]|0; + $554 = ((($553)) + 22|0); + $555 = HEAP16[$554>>1]|0; + $556 = $555 << 16 >> 16; + $557 = (($556) + ($552))|0; + $558 = $557&65535; + HEAP16[$554>>1] = $558; + $559 = HEAP32[$1>>2]|0; + $560 = ((($559)) + 4|0); + $561 = HEAP32[$560>>2]|0; + $562 = HEAP32[$pNew>>2]|0; + $563 = HEAP16[$rSize>>1]|0; + _whereLoopOutputAdjust($561,$562,$563); + $564 = HEAP32[$1>>2]|0; + $565 = HEAP32[$pNew>>2]|0; + $566 = (_whereLoopInsert($564,$565)|0); + HEAP32[$rc>>2] = $566; + $567 = HEAP32[$pNew>>2]|0; + $568 = ((($567)) + 36|0); + $569 = HEAP32[$568>>2]|0; + $570 = $569 & 2; + $571 = ($570|0)!=(0); + if ($571) { + $572 = HEAP16[$saved_nOut>>1]|0; + $573 = HEAP32[$pNew>>2]|0; + $574 = ((($573)) + 22|0); + HEAP16[$574>>1] = $572; } else { - $574 = HEAP16[$nOutUnadjusted>>1]|0; - $575 = HEAP32[$pNew>>2]|0; - $576 = (($575) + 22|0); - HEAP16[$576>>1] = $574; - } - $577 = HEAP32[$pNew>>2]|0; - $578 = (($577) + 36|0); - $579 = HEAP32[$578>>2]|0; - $580 = $579 & 16; - $581 = ($580|0)==(0); - if ($581) { - $582 = HEAP32[$pNew>>2]|0; - $583 = (($582) + 24|0); - $584 = HEAP16[$583>>1]|0; - $585 = $584&65535; - $586 = HEAP32[$3>>2]|0; - $587 = (($586) + 52|0); - $588 = HEAP16[$587>>1]|0; - $589 = $588&65535; - $590 = ($585|0)<($589|0); - if ($590) { - $591 = HEAP32[$1>>2]|0; - $592 = HEAP32[$2>>2]|0; - $593 = HEAP32[$3>>2]|0; - $594 = HEAP16[$4>>1]|0; - $595 = $594 << 16 >> 16; - $596 = HEAP32[$nIn>>2]|0; - $597 = (($595) + ($596))|0; - $598 = $597&65535; - (_whereLoopAddBtreeIndex($591,$592,$593,$598)|0); - } - } - $599 = HEAP16[$saved_nOut>>1]|0; - $600 = HEAP32[$pNew>>2]|0; - $601 = (($600) + 22|0); - HEAP16[$601>>1] = $599; - } - } - $602 = (_whereScanNext($scan)|0); - HEAP32[$pTerm>>2] = $602; - } - $603 = $saved_prereq; - $604 = $603; - $605 = HEAP32[$604>>2]|0; - $606 = (($603) + 4)|0; - $607 = $606; - $608 = HEAP32[$607>>2]|0; - $609 = HEAP32[$pNew>>2]|0; - $610 = $609; + $575 = HEAP16[$nOutUnadjusted>>1]|0; + $576 = HEAP32[$pNew>>2]|0; + $577 = ((($576)) + 22|0); + HEAP16[$577>>1] = $575; + } + $578 = HEAP32[$pNew>>2]|0; + $579 = ((($578)) + 36|0); + $580 = HEAP32[$579>>2]|0; + $581 = $580 & 16; + $582 = ($581|0)==(0); + if ($582) { + $583 = HEAP32[$pNew>>2]|0; + $584 = ((($583)) + 24|0); + $585 = HEAP16[$584>>1]|0; + $586 = $585&65535; + $587 = HEAP32[$3>>2]|0; + $588 = ((($587)) + 52|0); + $589 = HEAP16[$588>>1]|0; + $590 = $589&65535; + $591 = ($586|0)<($590|0); + if ($591) { + $592 = HEAP32[$1>>2]|0; + $593 = HEAP32[$2>>2]|0; + $594 = HEAP32[$3>>2]|0; + $595 = HEAP16[$4>>1]|0; + $596 = $595 << 16 >> 16; + $597 = HEAP32[$nIn>>2]|0; + $598 = (($596) + ($597))|0; + $599 = $598&65535; + (_whereLoopAddBtreeIndex($592,$593,$594,$599)|0); + } + } + $600 = HEAP16[$saved_nOut>>1]|0; + $601 = HEAP32[$pNew>>2]|0; + $602 = ((($601)) + 22|0); + HEAP16[$602>>1] = $600; + } + } + $603 = (_whereScanNext($scan)|0); + HEAP32[$pTerm>>2] = $603; + } + $604 = $saved_prereq; + $605 = $604; + $606 = HEAP32[$605>>2]|0; + $607 = (($604) + 4)|0; + $608 = $607; + $609 = HEAP32[$608>>2]|0; + $610 = HEAP32[$pNew>>2]|0; $611 = $610; - HEAP32[$611>>2] = $605; - $612 = (($610) + 4)|0; - $613 = $612; - HEAP32[$613>>2] = $608; - $614 = HEAP16[$saved_nEq>>1]|0; - $615 = HEAP32[$pNew>>2]|0; - $616 = (($615) + 24|0); - HEAP16[$616>>1] = $614; - $617 = HEAP16[$saved_nSkip>>1]|0; - $618 = HEAP32[$pNew>>2]|0; - $619 = (($618) + 24|0); - $620 = (($619) + 2|0); - HEAP16[$620>>1] = $617; - $621 = HEAP32[$saved_wsFlags>>2]|0; - $622 = HEAP32[$pNew>>2]|0; - $623 = (($622) + 36|0); - HEAP32[$623>>2] = $621; - $624 = HEAP16[$saved_nOut>>1]|0; - $625 = HEAP32[$pNew>>2]|0; - $626 = (($625) + 22|0); - HEAP16[$626>>1] = $624; - $627 = HEAP16[$saved_nLTerm>>1]|0; - $628 = HEAP32[$pNew>>2]|0; - $629 = (($628) + 40|0); - HEAP16[$629>>1] = $627; - $630 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $630; - $631 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($631|0); + $612 = $611; + HEAP32[$612>>2] = $606; + $613 = (($611) + 4)|0; + $614 = $613; + HEAP32[$614>>2] = $609; + $615 = HEAP16[$saved_nEq>>1]|0; + $616 = HEAP32[$pNew>>2]|0; + $617 = ((($616)) + 24|0); + HEAP16[$617>>1] = $615; + $618 = HEAP16[$saved_nSkip>>1]|0; + $619 = HEAP32[$pNew>>2]|0; + $620 = ((($619)) + 24|0); + $621 = ((($620)) + 2|0); + HEAP16[$621>>1] = $618; + $622 = HEAP32[$saved_wsFlags>>2]|0; + $623 = HEAP32[$pNew>>2]|0; + $624 = ((($623)) + 36|0); + HEAP32[$624>>2] = $622; + $625 = HEAP16[$saved_nOut>>1]|0; + $626 = HEAP32[$pNew>>2]|0; + $627 = ((($626)) + 22|0); + HEAP16[$627>>1] = $625; + $628 = HEAP16[$saved_nLTerm>>1]|0; + $629 = HEAP32[$pNew>>2]|0; + $630 = ((($629)) + 40|0); + HEAP16[$630>>1] = $628; + $631 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $631; + $632 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($632|0); } function _whereRangeScanEst($pParse,$pBuilder,$pLower,$pUpper,$pLoop) { $pParse = $pParse|0; @@ -133290,12 +134360,12 @@ function _whereRangeScanEst($pParse,$pBuilder,$pLower,$pUpper,$pLoop) { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; + $1 = sp + 16|0; + $2 = sp + 20|0; $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $nOut = sp; + $4 = sp + 4|0; + $rc = sp; + $nOut = sp + 8|0; $nNew = sp + 28|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pBuilder; @@ -133304,7 +134374,7 @@ function _whereRangeScanEst($pParse,$pBuilder,$pLower,$pUpper,$pLoop) { HEAP32[$4>>2] = $pLoop; HEAP32[$rc>>2] = 0; $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 22|0); + $6 = ((($5)) + 22|0); $7 = HEAP16[$6>>1]|0; $8 = $7 << 16 >> 16; HEAP32[$nOut>>2] = $8; @@ -133353,7 +134423,7 @@ function _whereRangeScanEst($pParse,$pBuilder,$pLower,$pUpper,$pLoop) { $42 = HEAP32[$nOut>>2]|0; $43 = $42&65535; $44 = HEAP32[$4>>2]|0; - $45 = (($44) + 22|0); + $45 = ((($44)) + 22|0); HEAP16[$45>>1] = $43; $46 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($46|0); @@ -133364,7 +134434,7 @@ function _whereRangeScanEst($pParse,$pBuilder,$pLower,$pUpper,$pLoop) { $42 = HEAP32[$nOut>>2]|0; $43 = $42&65535; $44 = HEAP32[$4>>2]|0; - $45 = (($44) + 22|0); + $45 = ((($44)) + 22|0); HEAP16[$45>>1] = $43; $46 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($46|0); @@ -133388,13 +134458,13 @@ function _whereRangeAdjust($pTerm,$nNew) { do { if ($4) { $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 16|0); + $6 = ((($5)) + 16|0); $7 = HEAP16[$6>>1]|0; $8 = $7 << 16 >> 16; $9 = ($8|0)<=(0); $10 = HEAP32[$0>>2]|0; if ($9) { - $11 = (($10) + 16|0); + $11 = ((($10)) + 16|0); $12 = HEAP16[$11>>1]|0; $13 = $12 << 16 >> 16; $14 = HEAP16[$nRet>>1]|0; @@ -133404,7 +134474,7 @@ function _whereRangeAdjust($pTerm,$nNew) { HEAP16[$nRet>>1] = $17; break; } - $18 = (($10) + 20|0); + $18 = ((($10)) + 20|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = $20 & 0; @@ -133455,7 +134525,7 @@ function _sqlite3ExprImpliesExpr($pE1,$pE2,$iTab) { if ($12) { $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 12|0); + $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$3>>2]|0; $18 = (_sqlite3ExprImpliesExpr($13,$16,$17)|0); @@ -133463,7 +134533,7 @@ function _sqlite3ExprImpliesExpr($pE1,$pE2,$iTab) { if (!($19)) { $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 16|0); + $22 = ((($21)) + 16|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$3>>2]|0; $25 = (_sqlite3ExprImpliesExpr($20,$23,$24)|0); @@ -133483,10 +134553,10 @@ function _sqlite3ExprImpliesExpr($pE1,$pE2,$iTab) { $30 = ($29|0)==(77); if ($30) { $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 12|0); + $32 = ((($31)) + 12|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 12|0); + $35 = ((($34)) + 12|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$3>>2]|0; $38 = (_sqlite3ExprCompare($33,$36,$37)|0); @@ -133532,24 +134602,24 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $4 = sp + 52|0; - $i = sp + 48|0; - $j = sp + 44|0; - $nTerm = sp + 40|0; - $pIdxCons = sp + 36|0; - $pIdxOrderBy = sp + 32|0; - $pUsage = sp + 28|0; - $pTerm = sp + 24|0; - $nOrderBy = sp + 20|0; - $pIdxInfo = sp + 16|0; - $n = sp + 12|0; - $pExpr = sp + 8|0; + $0 = sp + 12|0; + $1 = sp + 4|0; + $2 = sp + 36|0; + $3 = sp + 24|0; + $4 = sp + 16|0; + $i = sp + 20|0; + $j = sp + 8|0; + $nTerm = sp + 28|0; + $pIdxCons = sp + 32|0; + $pIdxOrderBy = sp + 40|0; + $pUsage = sp + 44|0; + $pTerm = sp + 48|0; + $nOrderBy = sp + 52|0; + $pIdxInfo = sp + 56|0; + $n = sp + 60|0; + $pExpr = sp + 64|0; $op = sp + 72|0; - $pExpr1 = sp + 4|0; + $pExpr1 = sp + 68|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pWC; HEAP32[$3>>2] = $pSrc; @@ -133557,35 +134627,35 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { HEAP32[$nTerm>>2] = 0; HEAP32[$i>>2] = 0; $5 = HEAP32[$2>>2]|0; - $6 = (($5) + 20|0); + $6 = ((($5)) + 20|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pTerm>>2] = $7; while(1) { $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 12|0); + $10 = ((($9)) + 12|0); $11 = HEAP32[$10>>2]|0; $12 = ($8|0)<($11|0); if (!($12)) { break; } $13 = HEAP32[$pTerm>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 40|0); + $17 = ((($16)) + 40|0); $18 = HEAP32[$17>>2]|0; $19 = ($15|0)!=($18|0); if (!($19)) { $20 = HEAP32[$pTerm>>2]|0; - $21 = (($20) + 18|0); + $21 = ((($20)) + 18|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = $23 & -1153; $25 = ($24|0)==(0); if (!($25)) { $26 = HEAP32[$pTerm>>2]|0; - $27 = (($26) + 20|0); + $27 = ((($26)) + 20|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = $29 & 0; @@ -133601,7 +134671,7 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { $35 = (($34) + 1)|0; HEAP32[$i>>2] = $35; $36 = HEAP32[$pTerm>>2]|0; - $37 = (($36) + 48|0); + $37 = ((($36)) + 48|0); HEAP32[$pTerm>>2] = $37; } HEAP32[$nOrderBy>>2] = 0; @@ -133621,7 +134691,7 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { } $45 = HEAP32[$i>>2]|0; $46 = HEAP32[$4>>2]|0; - $47 = (($46) + 4|0); + $47 = ((($46)) + 4|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + (($45*20)|0)|0); $50 = HEAP32[$49>>2]|0; @@ -133634,10 +134704,10 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { break; } $55 = HEAP32[$pExpr>>2]|0; - $56 = (($55) + 28|0); + $56 = ((($55)) + 28|0); $57 = HEAP32[$56>>2]|0; $58 = HEAP32[$3>>2]|0; - $59 = (($58) + 40|0); + $59 = ((($58)) + 40|0); $60 = HEAP32[$59>>2]|0; $61 = ($57|0)!=($60|0); if ($61) { @@ -133669,13 +134739,13 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { $78 = ($77|0)==(0|0); if ($78) { $79 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($79,5400,$vararg_buffer); + _sqlite3ErrorMsg($79,23480,$vararg_buffer); HEAP32[$0>>2] = 0; $191 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($191|0); } $80 = HEAP32[$pIdxInfo>>2]|0; - $81 = (($80) + 56|0); + $81 = ((($80)) + 56|0); HEAP32[$pIdxCons>>2] = $81; $82 = HEAP32[$nTerm>>2]|0; $83 = HEAP32[$pIdxCons>>2]|0; @@ -133690,59 +134760,59 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { HEAP32[$89>>2] = $88; $90 = HEAP32[$nOrderBy>>2]|0; $91 = HEAP32[$pIdxInfo>>2]|0; - $92 = (($91) + 8|0); + $92 = ((($91)) + 8|0); HEAP32[$92>>2] = $90; $93 = HEAP32[$pIdxCons>>2]|0; $94 = HEAP32[$pIdxInfo>>2]|0; - $95 = (($94) + 4|0); + $95 = ((($94)) + 4|0); HEAP32[$95>>2] = $93; $96 = HEAP32[$pIdxOrderBy>>2]|0; $97 = HEAP32[$pIdxInfo>>2]|0; - $98 = (($97) + 12|0); + $98 = ((($97)) + 12|0); HEAP32[$98>>2] = $96; $99 = HEAP32[$pUsage>>2]|0; $100 = HEAP32[$pIdxInfo>>2]|0; - $101 = (($100) + 16|0); + $101 = ((($100)) + 16|0); HEAP32[$101>>2] = $99; HEAP32[$j>>2] = 0; HEAP32[$i>>2] = 0; $102 = HEAP32[$2>>2]|0; - $103 = (($102) + 20|0); + $103 = ((($102)) + 20|0); $104 = HEAP32[$103>>2]|0; HEAP32[$pTerm>>2] = $104; while(1) { $105 = HEAP32[$i>>2]|0; $106 = HEAP32[$2>>2]|0; - $107 = (($106) + 12|0); + $107 = ((($106)) + 12|0); $108 = HEAP32[$107>>2]|0; $109 = ($105|0)<($108|0); if (!($109)) { break; } $110 = HEAP32[$pTerm>>2]|0; - $111 = (($110) + 8|0); + $111 = ((($110)) + 8|0); $112 = HEAP32[$111>>2]|0; $113 = HEAP32[$3>>2]|0; - $114 = (($113) + 40|0); + $114 = ((($113)) + 40|0); $115 = HEAP32[$114>>2]|0; $116 = ($112|0)!=($115|0); if (!($116)) { $117 = HEAP32[$pTerm>>2]|0; - $118 = (($117) + 18|0); + $118 = ((($117)) + 18|0); $119 = HEAP16[$118>>1]|0; $120 = $119&65535; $121 = $120 & -1153; $122 = ($121|0)==(0); if (!($122)) { $123 = HEAP32[$pTerm>>2]|0; - $124 = (($123) + 20|0); + $124 = ((($123)) + 20|0); $125 = HEAP8[$124>>0]|0; $126 = $125&255; $127 = $126 & 0; $128 = ($127|0)!=(0); if (!($128)) { $129 = HEAP32[$pTerm>>2]|0; - $130 = (($129) + 12|0); + $130 = ((($129)) + 12|0); $131 = HEAP32[$130>>2]|0; $132 = HEAP32[$j>>2]|0; $133 = HEAP32[$pIdxCons>>2]|0; @@ -133752,10 +134822,10 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { $136 = HEAP32[$j>>2]|0; $137 = HEAP32[$pIdxCons>>2]|0; $138 = (($137) + (($136*12)|0)|0); - $139 = (($138) + 8|0); + $139 = ((($138)) + 8|0); HEAP32[$139>>2] = $135; $140 = HEAP32[$pTerm>>2]|0; - $141 = (($140) + 18|0); + $141 = ((($140)) + 18|0); $142 = HEAP16[$141>>1]|0; $143 = $142&255; $144 = $143&255; @@ -133771,7 +134841,7 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { $151 = HEAP32[$j>>2]|0; $152 = HEAP32[$pIdxCons>>2]|0; $153 = (($152) + (($151*12)|0)|0); - $154 = (($153) + 4|0); + $154 = ((($153)) + 4|0); HEAP8[$154>>0] = $150; $155 = HEAP32[$j>>2]|0; $156 = (($155) + 1)|0; @@ -133783,7 +134853,7 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { $158 = (($157) + 1)|0; HEAP32[$i>>2] = $158; $159 = HEAP32[$pTerm>>2]|0; - $160 = (($159) + 48|0); + $160 = ((($159)) + 48|0); HEAP32[$pTerm>>2] = $160; } HEAP32[$i>>2] = 0; @@ -133796,13 +134866,13 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { } $164 = HEAP32[$i>>2]|0; $165 = HEAP32[$4>>2]|0; - $166 = (($165) + 4|0); + $166 = ((($165)) + 4|0); $167 = HEAP32[$166>>2]|0; $168 = (($167) + (($164*20)|0)|0); $169 = HEAP32[$168>>2]|0; HEAP32[$pExpr1>>2] = $169; $170 = HEAP32[$pExpr1>>2]|0; - $171 = (($170) + 32|0); + $171 = ((($170)) + 32|0); $172 = HEAP16[$171>>1]|0; $173 = $172 << 16 >> 16; $174 = HEAP32[$i>>2]|0; @@ -133811,15 +134881,15 @@ function _allocateIndexInfo($pParse,$pWC,$pSrc,$pOrderBy) { HEAP32[$176>>2] = $173; $177 = HEAP32[$i>>2]|0; $178 = HEAP32[$4>>2]|0; - $179 = (($178) + 4|0); + $179 = ((($178)) + 4|0); $180 = HEAP32[$179>>2]|0; $181 = (($180) + (($177*20)|0)|0); - $182 = (($181) + 12|0); + $182 = ((($181)) + 12|0); $183 = HEAP8[$182>>0]|0; $184 = HEAP32[$i>>2]|0; $185 = HEAP32[$pIdxOrderBy>>2]|0; $186 = (($185) + ($184<<3)|0); - $187 = (($186) + 4|0); + $187 = ((($186)) + 4|0); HEAP8[$187>>0] = $183; $188 = HEAP32[$i>>2]|0; $189 = (($188) + 1)|0; @@ -133837,16 +134907,18 @@ function _vtabBestIndex($pParse,$pTab,$p) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pVtab = 0, $rc = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pVtab = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 48|0; $vararg_buffer4 = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pVtab = sp + 12|0; - $i = sp + 8|0; - $rc = sp + 4|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 32|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $pVtab = sp + 28|0; + $i = sp + 36|0; + $rc = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $p; @@ -133854,12 +134926,12 @@ function _vtabBestIndex($pParse,$pTab,$p) { $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$1>>2]|0; $6 = (_sqlite3GetVTable($4,$5)|0); - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pVtab>>2] = $8; $9 = HEAP32[$pVtab>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 12|0); + $11 = ((($10)) + 12|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$pVtab>>2]|0; $14 = HEAP32[$2>>2]|0; @@ -133874,37 +134946,37 @@ function _vtabBestIndex($pParse,$pTab,$p) { if ($19) { $20 = HEAP32[$0>>2]|0; $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 64|0); + $22 = ((($21)) + 64|0); HEAP8[$22>>0] = 1; break; } $23 = HEAP32[$pVtab>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0|0); $27 = HEAP32[$0>>2]|0; if ($26) { $30 = HEAP32[$pVtab>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = HEAP32[$31>>2]|0; - HEAP32[$vararg_buffer4>>2] = $32; - _sqlite3ErrorMsg($27,1200,$vararg_buffer4); + HEAP32[$vararg_buffer1>>2] = $32; + _sqlite3ErrorMsg($27,14418,$vararg_buffer1); break; } else { $28 = HEAP32[$rc>>2]|0; $29 = (_sqlite3ErrStr($28)|0); - HEAP32[$vararg_buffer4>>2] = $29; - _sqlite3ErrorMsg($27,1200,$vararg_buffer4); + HEAP32[$vararg_buffer>>2] = $29; + _sqlite3ErrorMsg($27,14418,$vararg_buffer); break; } } } while(0); $33 = HEAP32[$pVtab>>2]|0; - $34 = (($33) + 8|0); + $34 = ((($33)) + 8|0); $35 = HEAP32[$34>>2]|0; _sqlite3_free($35); $36 = HEAP32[$pVtab>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); HEAP32[$37>>2] = 0; HEAP32[$i>>2] = 0; while(1) { @@ -133917,16 +134989,16 @@ function _vtabBestIndex($pParse,$pTab,$p) { } $42 = HEAP32[$i>>2]|0; $43 = HEAP32[$2>>2]|0; - $44 = (($43) + 4|0); + $44 = ((($43)) + 4|0); $45 = HEAP32[$44>>2]|0; $46 = (($45) + (($42*12)|0)|0); - $47 = (($46) + 5|0); + $47 = ((($46)) + 5|0); $48 = HEAP8[$47>>0]|0; $49 = ($48<<24>>24)!=(0); if (!($49)) { $50 = HEAP32[$i>>2]|0; $51 = HEAP32[$2>>2]|0; - $52 = (($51) + 16|0); + $52 = ((($51)) + 16|0); $53 = HEAP32[$52>>2]|0; $54 = (($53) + ($50<<3)|0); $55 = HEAP32[$54>>2]|0; @@ -133936,7 +135008,7 @@ function _vtabBestIndex($pParse,$pTab,$p) { $58 = HEAP32[$1>>2]|0; $59 = HEAP32[$58>>2]|0; HEAP32[$vararg_buffer4>>2] = $59; - _sqlite3ErrorMsg($57,24120,$vararg_buffer4); + _sqlite3ErrorMsg($57,26528,$vararg_buffer4); } } $60 = HEAP32[$i>>2]|0; @@ -133944,7 +135016,7 @@ function _vtabBestIndex($pParse,$pTab,$p) { HEAP32[$i>>2] = $61; } $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 64|0); + $63 = ((($62)) + 64|0); $64 = HEAP32[$63>>2]|0; STACKTOP = sp;return ($64|0); } @@ -133971,13 +135043,13 @@ function _sqlite3LogEstFromDouble($x) { if ($5) { $6 = +HEAPF64[$1>>3]; $7 = (~~$6)>>>0; - $8 = +Math_abs($6) >= 1.0 ? $6 > 0.0 ? (Math_min(+Math_floor($6 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($6 - +(~~$6 >>> 0)) / 4294967296.0) >>> 0 : 0; + $8 = +Math_abs($6) >= 1.0 ? $6 > 0.0 ? (~~+Math_min(+Math_floor($6 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($6 - +(~~$6 >>> 0)) / 4294967296.0) >>> 0 : 0; $9 = (_sqlite3LogEst($7,$8)|0); HEAP16[$0>>1] = $9; $25 = HEAP16[$0>>1]|0; STACKTOP = sp;return ($25|0); } else { - ;HEAP32[$a+0>>2]=HEAP32[$1+0>>2]|0;HEAP32[$a+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$a>>2]=HEAP32[$1>>2]|0;HEAP32[$a+4>>2]=HEAP32[$1+4>>2]|0; $10 = $a; $11 = $10; $12 = HEAP32[$11>>2]|0; @@ -133998,7 +135070,7 @@ function _sqlite3LogEstFromDouble($x) { $25 = HEAP16[$0>>1]|0; STACKTOP = sp;return ($25|0); } - return 0|0; + return (0)|0; } function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { $pParse = $pParse|0; @@ -134012,16 +135084,16 @@ function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { var $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pColl = 0, $zColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; + $3 = sp + 4|0; + $4 = sp + 32|0; + $5 = sp + 36|0; $i = sp + 12|0; - $zColl = sp + 8|0; - $p = sp + 4|0; - $pColl = sp; + $zColl = sp + 24|0; + $p = sp + 20|0; + $pColl = sp + 8|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pList; HEAP32[$3>>2] = $iBase; @@ -134029,7 +135101,7 @@ function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { HEAP32[$5>>2] = $iCol; $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$4>>2]|0; - $8 = (($7) + 32|0); + $8 = ((($7)) + 32|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($6<<2)|0); $11 = HEAP32[$10>>2]|0; @@ -134046,7 +135118,7 @@ function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { } $16 = HEAP32[$i>>2]|0; $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + (($16*20)|0)|0); $21 = HEAP32[$20>>2]|0; @@ -134058,12 +135130,12 @@ function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { $26 = ($25|0)==(154); if ($26) { $27 = HEAP32[$p>>2]|0; - $28 = (($27) + 32|0); + $28 = ((($27)) + 32|0); $29 = HEAP16[$28>>1]|0; $30 = $29 << 16 >> 16; $31 = HEAP32[$5>>2]|0; $32 = HEAP32[$4>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + ($31<<1)|0); $36 = HEAP16[$35>>1]|0; @@ -134071,7 +135143,7 @@ function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { $38 = ($30|0)==($37|0); if ($38) { $39 = HEAP32[$p>>2]|0; - $40 = (($39) + 28|0); + $40 = ((($39)) + 28|0); $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$3>>2]|0; $43 = ($41|0)==($42|0); @@ -134079,7 +135151,7 @@ function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { $44 = HEAP32[$1>>2]|0; $45 = HEAP32[$i>>2]|0; $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 4|0); + $47 = ((($46)) + 4|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + (($45*20)|0)|0); $50 = HEAP32[$49>>2]|0; @@ -134116,7 +135188,7 @@ function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { $62 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($62|0); } - return 0|0; + return (0)|0; } function _exprAnalyze($pSrc,$pWC,$idxTerm) { $pSrc = $pSrc|0; @@ -134160,50 +135232,50 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { var $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 208|0; - $0 = sp + 188|0; - $1 = sp + 184|0; - $2 = sp + 180|0; - $pWInfo = sp + 176|0; - $pTerm = sp + 172|0; - $pMaskSet = sp + 168|0; - $pExpr = sp + 164|0; - $prereqLeft = sp + 40|0; - $prereqAll = sp + 32|0; - $extraRight = sp + 24|0; - $pStr1 = sp + 160|0; - $isComplete = sp + 156|0; - $noCase = sp + 152|0; - $op = sp + 148|0; - $pParse = sp + 144|0; - $db = sp + 140|0; + $0 = sp + 76|0; + $1 = sp + 152|0; + $2 = sp + 144|0; + $pWInfo = sp + 148|0; + $pTerm = sp + 176|0; + $pMaskSet = sp + 84|0; + $pExpr = sp + 140|0; + $prereqLeft = sp + 32|0; + $prereqAll = sp; + $extraRight = sp + 8|0; + $pStr1 = sp + 48|0; + $isComplete = sp + 56|0; + $noCase = sp + 60|0; + $op = sp + 136|0; + $pParse = sp + 64|0; + $db = sp + 68|0; $x = sp + 16|0; - $pLeft = sp + 136|0; - $pRight = sp + 132|0; - $opMask = sp + 194|0; - $pNew = sp + 128|0; - $pDup = sp + 124|0; - $eExtraOp = sp + 192|0; - $idxNew = sp + 120|0; - $pList = sp + 116|0; - $i = sp + 112|0; + $pLeft = sp + 188|0; + $pRight = sp + 172|0; + $opMask = sp + 192|0; + $pNew = sp + 184|0; + $pDup = sp + 132|0; + $eExtraOp = sp + 194|0; + $idxNew = sp + 96|0; + $pList = sp + 100|0; + $i = sp + 104|0; $pNewExpr = sp + 108|0; - $idxNew1 = sp + 104|0; - $pLeft2 = sp + 100|0; - $pStr2 = sp + 96|0; - $pNewExpr1 = sp + 92|0; - $pNewExpr2 = sp + 88|0; - $idxNew13 = sp + 84|0; - $idxNew2 = sp + 80|0; - $sCollSeqName = sp + 72|0; + $idxNew1 = sp + 112|0; + $pLeft2 = sp + 116|0; + $pStr2 = sp + 120|0; + $pNewExpr1 = sp + 124|0; + $pNewExpr2 = sp + 128|0; + $idxNew13 = sp + 52|0; + $idxNew2 = sp + 156|0; + $sCollSeqName = sp + 160|0; $c = sp + 196|0; - $pC = sp + 68|0; - $idxNew4 = sp + 64|0; - $pRight5 = sp + 60|0; - $pLeft6 = sp + 56|0; - $pNewTerm = sp + 52|0; - $prereqColumn = sp + 8|0; - $prereqExpr = sp; - $pNewExpr7 = sp + 48|0; + $pC = sp + 92|0; + $idxNew4 = sp + 72|0; + $pRight5 = sp + 80|0; + $pLeft6 = sp + 168|0; + $pNewTerm = sp + 88|0; + $prereqColumn = sp + 40|0; + $prereqExpr = sp + 24|0; + $pNewExpr7 = sp + 180|0; HEAP32[$0>>2] = $pSrc; HEAP32[$1>>2] = $pWC; HEAP32[$2>>2] = $idxTerm; @@ -134226,7 +135298,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $12 = HEAP32[$11>>2]|0; HEAP32[$db>>2] = $12; $13 = HEAP32[$db>>2]|0; - $14 = (($13) + 64|0); + $14 = ((($13)) + 64|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)!=(0); if ($16) { @@ -134234,19 +135306,19 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } $17 = HEAP32[$2>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 20|0); + $19 = ((($18)) + 20|0); $20 = HEAP32[$19>>2]|0; $21 = (($20) + (($17*48)|0)|0); HEAP32[$pTerm>>2] = $21; $22 = HEAP32[$pWInfo>>2]|0; - $23 = (($22) + 68|0); + $23 = ((($22)) + 68|0); HEAP32[$pMaskSet>>2] = $23; $24 = HEAP32[$pTerm>>2]|0; $25 = HEAP32[$24>>2]|0; HEAP32[$pExpr>>2] = $25; $26 = HEAP32[$pMaskSet>>2]|0; $27 = HEAP32[$pExpr>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; $30 = (_exprTableUsage($26,$29)|0); $31 = tempRet0; @@ -134265,19 +135337,19 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { do { if ($40) { $41 = HEAP32[$pExpr>>2]|0; - $42 = (($41) + 4|0); + $42 = ((($41)) + 4|0); $43 = HEAP32[$42>>2]|0; $44 = $43 & 2048; $45 = ($44|0)!=(0); $46 = HEAP32[$pMaskSet>>2]|0; $47 = HEAP32[$pExpr>>2]|0; - $48 = (($47) + 20|0); + $48 = ((($47)) + 20|0); if ($45) { $49 = HEAP32[$48>>2]|0; $50 = (_exprSelectTableUsage($46,$49)|0); $51 = tempRet0; $52 = HEAP32[$pTerm>>2]|0; - $53 = (($52) + 32|0); + $53 = ((($52)) + 32|0); $54 = $53; $55 = $54; HEAP32[$55>>2] = $50; @@ -134290,7 +135362,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $59 = (_exprListTableUsage($46,$58)|0); $60 = tempRet0; $61 = HEAP32[$pTerm>>2]|0; - $62 = (($61) + 32|0); + $62 = ((($61)) + 32|0); $63 = $62; $64 = $63; HEAP32[$64>>2] = $59; @@ -134304,7 +135376,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $68 = ($67|0)==(76); if ($68) { $69 = HEAP32[$pTerm>>2]|0; - $70 = (($69) + 32|0); + $70 = ((($69)) + 32|0); $71 = $70; $72 = $71; HEAP32[$72>>2] = 0; @@ -134315,12 +135387,12 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } else { $75 = HEAP32[$pMaskSet>>2]|0; $76 = HEAP32[$pExpr>>2]|0; - $77 = (($76) + 16|0); + $77 = ((($76)) + 16|0); $78 = HEAP32[$77>>2]|0; $79 = (_exprTableUsage($75,$78)|0); $80 = tempRet0; $81 = HEAP32[$pTerm>>2]|0; - $82 = (($81) + 32|0); + $82 = ((($81)) + 32|0); $83 = $82; $84 = $83; HEAP32[$84>>2] = $79; @@ -134342,14 +135414,14 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $94 = $93; HEAP32[$94>>2] = $90; $95 = HEAP32[$pExpr>>2]|0; - $96 = (($95) + 4|0); + $96 = ((($95)) + 4|0); $97 = HEAP32[$96>>2]|0; $98 = $97 & 1; $99 = ($98|0)!=(0); if ($99) { $100 = HEAP32[$pMaskSet>>2]|0; $101 = HEAP32[$pExpr>>2]|0; - $102 = (($101) + 36|0); + $102 = ((($101)) + 36|0); $103 = HEAP16[$102>>1]|0; $104 = $103 << 16 >> 16; $105 = (_getMask($100,$104)|0); @@ -134402,7 +135474,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $145 = $144; $146 = HEAP32[$145>>2]|0; $147 = HEAP32[$pTerm>>2]|0; - $148 = (($147) + 40|0); + $148 = ((($147)) + 40|0); $149 = $148; $150 = $149; HEAP32[$150>>2] = $143; @@ -134410,13 +135482,13 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $152 = $151; HEAP32[$152>>2] = $146; $153 = HEAP32[$pTerm>>2]|0; - $154 = (($153) + 8|0); + $154 = ((($153)) + 8|0); HEAP32[$154>>2] = -1; $155 = HEAP32[$pTerm>>2]|0; - $156 = (($155) + 4|0); + $156 = ((($155)) + 4|0); HEAP32[$156>>2] = -1; $157 = HEAP32[$pTerm>>2]|0; - $158 = (($157) + 18|0); + $158 = ((($157)) + 18|0); HEAP16[$158>>1] = 0; $159 = HEAP32[$op>>2]|0; $160 = (_allowedOp($159)|0); @@ -134424,17 +135496,17 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $162 = HEAP32[$pExpr>>2]|0; do { if ($161) { - $163 = (($162) + 12|0); + $163 = ((($162)) + 12|0); $164 = HEAP32[$163>>2]|0; $165 = (_sqlite3ExprSkipCollate($164)|0); HEAP32[$pLeft>>2] = $165; $166 = HEAP32[$pExpr>>2]|0; - $167 = (($166) + 16|0); + $167 = ((($166)) + 16|0); $168 = HEAP32[$167>>2]|0; $169 = (_sqlite3ExprSkipCollate($168)|0); HEAP32[$pRight>>2] = $169; $170 = HEAP32[$pTerm>>2]|0; - $171 = (($170) + 32|0); + $171 = ((($170)) + 32|0); $172 = $171; $173 = $172; $174 = HEAP32[$173>>2]|0; @@ -134461,17 +135533,17 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $194 = ($193|0)==(154); if ($194) { $195 = HEAP32[$pLeft>>2]|0; - $196 = (($195) + 28|0); + $196 = ((($195)) + 28|0); $197 = HEAP32[$196>>2]|0; $198 = HEAP32[$pTerm>>2]|0; - $199 = (($198) + 8|0); + $199 = ((($198)) + 8|0); HEAP32[$199>>2] = $197; $200 = HEAP32[$pLeft>>2]|0; - $201 = (($200) + 32|0); + $201 = ((($200)) + 32|0); $202 = HEAP16[$201>>1]|0; $203 = $202 << 16 >> 16; $204 = HEAP32[$pTerm>>2]|0; - $205 = (($204) + 12|0); + $205 = ((($204)) + 12|0); HEAP32[$205>>2] = $203; $206 = HEAP32[$op>>2]|0; $207 = (_operatorMask($206)|0); @@ -134481,7 +135553,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $211 = $208 & $210; $212 = $211&65535; $213 = HEAP32[$pTerm>>2]|0; - $214 = (($213) + 18|0); + $214 = ((($213)) + 18|0); HEAP16[$214>>1] = $212; } $215 = HEAP32[$pRight>>2]|0; @@ -134494,7 +135566,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { if ($220) { HEAP16[$eExtraOp>>1] = 0; $221 = HEAP32[$pTerm>>2]|0; - $222 = (($221) + 8|0); + $222 = ((($221)) + 8|0); $223 = HEAP32[$222>>2]|0; $224 = ($223|0)>=(0); if ($224) { @@ -134503,7 +135575,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $227 = (_sqlite3ExprDup($225,$226,0)|0); HEAP32[$pDup>>2] = $227; $228 = HEAP32[$db>>2]|0; - $229 = (($228) + 64|0); + $229 = ((($228)) + 64|0); $230 = HEAP8[$229>>0]|0; $231 = ($230<<24>>24)!=(0); if ($231) { @@ -134523,25 +135595,25 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } $239 = HEAP32[$idxNew>>2]|0; $240 = HEAP32[$1>>2]|0; - $241 = (($240) + 20|0); + $241 = ((($240)) + 20|0); $242 = HEAP32[$241>>2]|0; $243 = (($242) + (($239*48)|0)|0); HEAP32[$pNew>>2] = $243; $244 = HEAP32[$2>>2]|0; $245 = HEAP32[$pNew>>2]|0; - $246 = (($245) + 4|0); + $246 = ((($245)) + 4|0); HEAP32[$246>>2] = $244; $247 = HEAP32[$2>>2]|0; $248 = HEAP32[$1>>2]|0; - $249 = (($248) + 20|0); + $249 = ((($248)) + 20|0); $250 = HEAP32[$249>>2]|0; $251 = (($250) + (($247*48)|0)|0); HEAP32[$pTerm>>2] = $251; $252 = HEAP32[$pTerm>>2]|0; - $253 = (($252) + 21|0); + $253 = ((($252)) + 21|0); HEAP8[$253>>0] = 1; $254 = HEAP32[$pTerm>>2]|0; - $255 = (($254) + 20|0); + $255 = ((($254)) + 20|0); $256 = HEAP8[$255>>0]|0; $257 = $256&255; $258 = $257 | 8; @@ -134553,20 +135625,20 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $263 = ($262|0)==(79); if ($263) { $264 = HEAP32[$pExpr>>2]|0; - $265 = (($264) + 4|0); + $265 = ((($264)) + 4|0); $266 = HEAP32[$265>>2]|0; $267 = $266 & 1; $268 = ($267|0)!=(0); if (!($268)) { $269 = HEAP32[$db>>2]|0; - $270 = (($269) + 60|0); + $270 = ((($269)) + 60|0); $271 = HEAP16[$270>>1]|0; $272 = $271&65535; $273 = $272 & 512; $274 = ($273|0)==(0); if ($274) { $275 = HEAP32[$pTerm>>2]|0; - $276 = (($275) + 18|0); + $276 = ((($275)) + 18|0); $277 = HEAP16[$276>>1]|0; $278 = $277&65535; $279 = $278 | 1024; @@ -134586,22 +135658,22 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $284 = HEAP32[$pDup>>2]|0; _exprCommute($283,$284); $285 = HEAP32[$pDup>>2]|0; - $286 = (($285) + 12|0); + $286 = ((($285)) + 12|0); $287 = HEAP32[$286>>2]|0; $288 = (_sqlite3ExprSkipCollate($287)|0); HEAP32[$pLeft>>2] = $288; $289 = HEAP32[$pLeft>>2]|0; - $290 = (($289) + 28|0); + $290 = ((($289)) + 28|0); $291 = HEAP32[$290>>2]|0; $292 = HEAP32[$pNew>>2]|0; - $293 = (($292) + 8|0); + $293 = ((($292)) + 8|0); HEAP32[$293>>2] = $291; $294 = HEAP32[$pLeft>>2]|0; - $295 = (($294) + 32|0); + $295 = ((($294)) + 32|0); $296 = HEAP16[$295>>1]|0; $297 = $296 << 16 >> 16; $298 = HEAP32[$pNew>>2]|0; - $299 = (($298) + 12|0); + $299 = ((($298)) + 12|0); HEAP32[$299>>2] = $297; $300 = $prereqLeft; $301 = $300; @@ -134618,7 +135690,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $312 = $302 | $308; $313 = $305 | $311; $314 = HEAP32[$pNew>>2]|0; - $315 = (($314) + 32|0); + $315 = ((($314)) + 32|0); $316 = $315; $317 = $316; HEAP32[$317>>2] = $312; @@ -134632,7 +135704,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $324 = $323; $325 = HEAP32[$324>>2]|0; $326 = HEAP32[$pNew>>2]|0; - $327 = (($326) + 40|0); + $327 = ((($326)) + 40|0); $328 = $327; $329 = $328; HEAP32[$329>>2] = $322; @@ -134652,7 +135724,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $342 = $339 & $341; $343 = $342&65535; $344 = HEAP32[$pNew>>2]|0; - $345 = (($344) + 18|0); + $345 = ((($344)) + 18|0); HEAP16[$345>>1] = $343; } } @@ -134662,13 +135734,13 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $348 = ($347|0)==(74); if ($348) { $349 = HEAP32[$1>>2]|0; - $350 = (($349) + 8|0); + $350 = ((($349)) + 8|0); $351 = HEAP8[$350>>0]|0; $352 = $351&255; $353 = ($352|0)==(72); if ($353) { $354 = HEAP32[$pExpr>>2]|0; - $355 = (($354) + 20|0); + $355 = ((($354)) + 20|0); $356 = HEAP32[$355>>2]|0; HEAP32[$pList>>2] = $356; HEAP32[$i>>2] = 0; @@ -134680,18 +135752,18 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } $359 = HEAP32[$pParse>>2]|0; $360 = HEAP32[$i>>2]|0; - $361 = (24168 + ($360)|0); + $361 = (26574 + ($360)|0); $362 = HEAP8[$361>>0]|0; $363 = $362&255; $364 = HEAP32[$db>>2]|0; $365 = HEAP32[$pExpr>>2]|0; - $366 = (($365) + 12|0); + $366 = ((($365)) + 12|0); $367 = HEAP32[$366>>2]|0; $368 = (_sqlite3ExprDup($364,$367,0)|0); $369 = HEAP32[$db>>2]|0; $370 = HEAP32[$i>>2]|0; $371 = HEAP32[$pList>>2]|0; - $372 = (($371) + 4|0); + $372 = ((($371)) + 4|0); $373 = HEAP32[$372>>2]|0; $374 = (($373) + (($370*20)|0)|0); $375 = HEAP32[$374>>2]|0; @@ -134711,24 +135783,24 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { _exprAnalyze($383,$384,$385); $386 = HEAP32[$2>>2]|0; $387 = HEAP32[$1>>2]|0; - $388 = (($387) + 20|0); + $388 = ((($387)) + 20|0); $389 = HEAP32[$388>>2]|0; $390 = (($389) + (($386*48)|0)|0); HEAP32[$pTerm>>2] = $390; $391 = HEAP32[$2>>2]|0; $392 = HEAP32[$idxNew1>>2]|0; $393 = HEAP32[$1>>2]|0; - $394 = (($393) + 20|0); + $394 = ((($393)) + 20|0); $395 = HEAP32[$394>>2]|0; $396 = (($395) + (($392*48)|0)|0); - $397 = (($396) + 4|0); + $397 = ((($396)) + 4|0); HEAP32[$397>>2] = $391; $398 = HEAP32[$i>>2]|0; $399 = (($398) + 1)|0; HEAP32[$i>>2] = $399; } $400 = HEAP32[$pTerm>>2]|0; - $401 = (($400) + 21|0); + $401 = ((($400)) + 21|0); HEAP8[$401>>0] = 2; break; } @@ -134744,7 +135816,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { _exprAnalyzeOrTerm($406,$407,$408); $409 = HEAP32[$2>>2]|0; $410 = HEAP32[$1>>2]|0; - $411 = (($410) + 20|0); + $411 = ((($410)) + 20|0); $412 = HEAP32[$411>>2]|0; $413 = (($412) + (($409*48)|0)|0); HEAP32[$pTerm>>2] = $413; @@ -134752,7 +135824,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } } while(0); $414 = HEAP32[$1>>2]|0; - $415 = (($414) + 8|0); + $415 = ((($414)) + 8|0); $416 = HEAP8[$415>>0]|0; $417 = $416&255; $418 = ($417|0)==(72); @@ -134763,11 +135835,11 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $422 = ($421|0)!=(0); if ($422) { $423 = HEAP32[$pExpr>>2]|0; - $424 = (($423) + 20|0); + $424 = ((($423)) + 20|0); $425 = HEAP32[$424>>2]|0; - $426 = (($425) + 4|0); + $426 = ((($425)) + 4|0); $427 = HEAP32[$426>>2]|0; - $428 = (($427) + 20|0); + $428 = ((($427)) + 20|0); $429 = HEAP32[$428>>2]|0; HEAP32[$pLeft2>>2] = $429; $430 = HEAP32[$db>>2]|0; @@ -134775,17 +135847,17 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $432 = (_sqlite3ExprDup($430,$431,0)|0); HEAP32[$pStr2>>2] = $432; $433 = HEAP32[$db>>2]|0; - $434 = (($433) + 64|0); + $434 = ((($433)) + 64|0); $435 = HEAP8[$434>>0]|0; $436 = ($435<<24>>24)!=(0); if (!($436)) { $437 = HEAP32[$pStr2>>2]|0; - $438 = (($437) + 8|0); + $438 = ((($437)) + 8|0); $439 = HEAP32[$438>>2]|0; $440 = (_sqlite3Strlen30($439)|0); $441 = (($440) - 1)|0; $442 = HEAP32[$pStr2>>2]|0; - $443 = (($442) + 8|0); + $443 = ((($442)) + 8|0); $444 = HEAP32[$443>>2]|0; $445 = (($444) + ($441)|0); HEAP32[$pC>>2] = $445; @@ -134803,7 +135875,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } $453 = HEAP8[$c>>0]|0; $454 = $453&255; - $455 = (440 + ($454)|0); + $455 = (13848 + ($454)|0); $456 = HEAP8[$455>>0]|0; HEAP8[$c>>0] = $456; } @@ -134816,9 +135888,9 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } $462 = HEAP32[$noCase>>2]|0; $463 = ($462|0)!=(0); - $464 = $463 ? 3336 : 3320; + $464 = $463 ? 15976 : 15963; HEAP32[$sCollSeqName>>2] = $464; - $465 = (($sCollSeqName) + 4|0); + $465 = ((($sCollSeqName)) + 4|0); HEAP32[$465>>2] = 6; $466 = HEAP32[$db>>2]|0; $467 = HEAP32[$pLeft2>>2]|0; @@ -134866,7 +135938,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { _exprAnalyze($497,$498,$499); $500 = HEAP32[$2>>2]|0; $501 = HEAP32[$1>>2]|0; - $502 = (($501) + 20|0); + $502 = ((($501)) + 20|0); $503 = HEAP32[$502>>2]|0; $504 = (($503) + (($500*48)|0)|0); HEAP32[$pTerm>>2] = $504; @@ -134876,21 +135948,21 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $507 = HEAP32[$2>>2]|0; $508 = HEAP32[$idxNew13>>2]|0; $509 = HEAP32[$1>>2]|0; - $510 = (($509) + 20|0); + $510 = ((($509)) + 20|0); $511 = HEAP32[$510>>2]|0; $512 = (($511) + (($508*48)|0)|0); - $513 = (($512) + 4|0); + $513 = ((($512)) + 4|0); HEAP32[$513>>2] = $507; $514 = HEAP32[$2>>2]|0; $515 = HEAP32[$idxNew2>>2]|0; $516 = HEAP32[$1>>2]|0; - $517 = (($516) + 20|0); + $517 = ((($516)) + 20|0); $518 = HEAP32[$517>>2]|0; $519 = (($518) + (($515*48)|0)|0); - $520 = (($519) + 4|0); + $520 = ((($519)) + 4|0); HEAP32[$520>>2] = $514; $521 = HEAP32[$pTerm>>2]|0; - $522 = (($521) + 21|0); + $522 = ((($521)) + 21|0); HEAP8[$522>>0] = 2; } } @@ -134900,18 +135972,18 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $525 = ($524|0)!=(0); if ($525) { $526 = HEAP32[$pExpr>>2]|0; - $527 = (($526) + 20|0); + $527 = ((($526)) + 20|0); $528 = HEAP32[$527>>2]|0; - $529 = (($528) + 4|0); + $529 = ((($528)) + 4|0); $530 = HEAP32[$529>>2]|0; $531 = HEAP32[$530>>2]|0; HEAP32[$pRight5>>2] = $531; $532 = HEAP32[$pExpr>>2]|0; - $533 = (($532) + 20|0); + $533 = ((($532)) + 20|0); $534 = HEAP32[$533>>2]|0; - $535 = (($534) + 4|0); + $535 = ((($534)) + 4|0); $536 = HEAP32[$535>>2]|0; - $537 = (($536) + 20|0); + $537 = ((($536)) + 20|0); $538 = HEAP32[$537>>2]|0; HEAP32[$pLeft6>>2] = $538; $539 = HEAP32[$pMaskSet>>2]|0; @@ -134964,7 +136036,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { HEAP32[$idxNew4>>2] = $579; $580 = HEAP32[$idxNew4>>2]|0; $581 = HEAP32[$1>>2]|0; - $582 = (($581) + 20|0); + $582 = ((($581)) + 20|0); $583 = HEAP32[$582>>2]|0; $584 = (($583) + (($580*48)|0)|0); HEAP32[$pNewTerm>>2] = $584; @@ -134975,7 +136047,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $589 = $588; $590 = HEAP32[$589>>2]|0; $591 = HEAP32[$pNewTerm>>2]|0; - $592 = (($591) + 32|0); + $592 = ((($591)) + 32|0); $593 = $592; $594 = $593; HEAP32[$594>>2] = $587; @@ -134983,43 +136055,43 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $596 = $595; HEAP32[$596>>2] = $590; $597 = HEAP32[$pLeft6>>2]|0; - $598 = (($597) + 28|0); + $598 = ((($597)) + 28|0); $599 = HEAP32[$598>>2]|0; $600 = HEAP32[$pNewTerm>>2]|0; - $601 = (($600) + 8|0); + $601 = ((($600)) + 8|0); HEAP32[$601>>2] = $599; $602 = HEAP32[$pLeft6>>2]|0; - $603 = (($602) + 32|0); + $603 = ((($602)) + 32|0); $604 = HEAP16[$603>>1]|0; $605 = $604 << 16 >> 16; $606 = HEAP32[$pNewTerm>>2]|0; - $607 = (($606) + 12|0); + $607 = ((($606)) + 12|0); HEAP32[$607>>2] = $605; $608 = HEAP32[$pNewTerm>>2]|0; - $609 = (($608) + 18|0); + $609 = ((($608)) + 18|0); HEAP16[$609>>1] = 64; $610 = HEAP32[$2>>2]|0; $611 = HEAP32[$pNewTerm>>2]|0; - $612 = (($611) + 4|0); + $612 = ((($611)) + 4|0); HEAP32[$612>>2] = $610; $613 = HEAP32[$2>>2]|0; $614 = HEAP32[$1>>2]|0; - $615 = (($614) + 20|0); + $615 = ((($614)) + 20|0); $616 = HEAP32[$615>>2]|0; $617 = (($616) + (($613*48)|0)|0); HEAP32[$pTerm>>2] = $617; $618 = HEAP32[$pTerm>>2]|0; - $619 = (($618) + 21|0); + $619 = ((($618)) + 21|0); HEAP8[$619>>0] = 1; $620 = HEAP32[$pTerm>>2]|0; - $621 = (($620) + 20|0); + $621 = ((($620)) + 20|0); $622 = HEAP8[$621>>0]|0; $623 = $622&255; $624 = $623 | 8; $625 = $624&255; HEAP8[$621>>0] = $625; $626 = HEAP32[$pTerm>>2]|0; - $627 = (($626) + 40|0); + $627 = ((($626)) + 40|0); $628 = $627; $629 = $628; $630 = HEAP32[$629>>2]|0; @@ -135027,7 +136099,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $632 = $631; $633 = HEAP32[$632>>2]|0; $634 = HEAP32[$pNewTerm>>2]|0; - $635 = (($634) + 40|0); + $635 = ((($634)) + 40|0); $636 = $635; $637 = $636; HEAP32[$637>>2] = $630; @@ -135043,7 +136115,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $644 = $643; $645 = HEAP32[$644>>2]|0; $646 = HEAP32[$pTerm>>2]|0; - $647 = (($646) + 32|0); + $647 = ((($646)) + 32|0); $648 = $647; $649 = $648; $650 = HEAP32[$649>>2]|0; @@ -135132,28 +136204,28 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { var $97 = 0, $98 = 0, $99 = 0, $db = 0, $idx = 0, $pOld = 0, $pTerm = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 12|0; $3 = sp + 28|0; - $pTerm = sp + 12|0; - $idx = sp + 8|0; - $pOld = sp + 4|0; - $db = sp; + $pTerm = sp + 24|0; + $idx = sp; + $pOld = sp + 20|0; + $db = sp + 8|0; HEAP32[$1>>2] = $pWC; HEAP32[$2>>2] = $p; HEAP8[$3>>0] = $wtFlags; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 12|0); + $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 16|0); + $8 = ((($7)) + 16|0); $9 = HEAP32[$8>>2]|0; $10 = ($6|0)>=($9|0); do { if ($10) { $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pOld>>2] = $13; $14 = HEAP32[$1>>2]|0; @@ -135163,31 +136235,31 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { HEAP32[$db>>2] = $17; $18 = HEAP32[$db>>2]|0; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 16|0); + $20 = ((($19)) + 16|0); $21 = HEAP32[$20>>2]|0; $22 = ($21*48)|0; $23 = $22<<1; $24 = (_sqlite3DbMallocRaw($18,$23,0)|0); $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 20|0); + $26 = ((($25)) + 20|0); HEAP32[$26>>2] = $24; $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 20|0); + $28 = ((($27)) + 20|0); $29 = HEAP32[$28>>2]|0; $30 = ($29|0)==(0|0); if (!($30)) { $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 20|0); + $41 = ((($40)) + 20|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$pOld>>2]|0; $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 12|0); + $45 = ((($44)) + 12|0); $46 = HEAP32[$45>>2]|0; $47 = ($46*48)|0; _memcpy(($42|0),($43|0),($47|0))|0; $48 = HEAP32[$pOld>>2]|0; $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 24|0); + $50 = ((($49)) + 24|0); $51 = ($48|0)!=($50|0); if ($51) { $52 = HEAP32[$db>>2]|0; @@ -135196,12 +136268,12 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { } $54 = HEAP32[$db>>2]|0; $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 20|0); + $56 = ((($55)) + 20|0); $57 = HEAP32[$56>>2]|0; $58 = (_sqlite3DbMallocSize($54,$57)|0); $59 = (($58>>>0) / 48)&-1; $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 16|0); + $61 = ((($60)) + 16|0); HEAP32[$61>>2] = $59; break; } @@ -135216,7 +136288,7 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { } $37 = HEAP32[$pOld>>2]|0; $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 20|0); + $39 = ((($38)) + 20|0); HEAP32[$39>>2] = $37; HEAP32[$0>>2] = 0; $102 = HEAP32[$0>>2]|0; @@ -135224,13 +136296,13 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { } } while(0); $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 12|0); + $63 = ((($62)) + 12|0); $64 = HEAP32[$63>>2]|0; $65 = (($64) + 1)|0; HEAP32[$63>>2] = $65; HEAP32[$idx>>2] = $64; $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 20|0); + $67 = ((($66)) + 20|0); $68 = HEAP32[$67>>2]|0; $69 = (($68) + (($64*48)|0)|0); HEAP32[$pTerm>>2] = $69; @@ -135238,13 +136310,13 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { $71 = ($70|0)!=(0|0); if ($71) { $72 = HEAP32[$2>>2]|0; - $73 = (($72) + 4|0); + $73 = ((($72)) + 4|0); $74 = HEAP32[$73>>2]|0; $75 = $74 & 262144; $76 = ($75|0)!=(0); if ($76) { $77 = HEAP32[$2>>2]|0; - $78 = (($77) + 28|0); + $78 = ((($77)) + 28|0); $79 = HEAP32[$78>>2]|0; $80 = ($79|0)<(0); $81 = $80 << 31 >> 31; @@ -135253,7 +136325,7 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { $84 = (($83) - 99)|0; $85 = $84&65535; $86 = HEAP32[$pTerm>>2]|0; - $87 = (($86) + 16|0); + $87 = ((($86)) + 16|0); HEAP16[$87>>1] = $85; } else { label = 12; @@ -135263,7 +136335,7 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { } if ((label|0) == 12) { $88 = HEAP32[$pTerm>>2]|0; - $89 = (($88) + 16|0); + $89 = ((($88)) + 16|0); HEAP16[$89>>1] = 1; } $90 = HEAP32[$2>>2]|0; @@ -135272,14 +136344,14 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { HEAP32[$92>>2] = $91; $93 = HEAP8[$3>>0]|0; $94 = HEAP32[$pTerm>>2]|0; - $95 = (($94) + 20|0); + $95 = ((($94)) + 20|0); HEAP8[$95>>0] = $93; $96 = HEAP32[$1>>2]|0; $97 = HEAP32[$pTerm>>2]|0; - $98 = (($97) + 24|0); + $98 = ((($97)) + 24|0); HEAP32[$98>>2] = $96; $99 = HEAP32[$pTerm>>2]|0; - $100 = (($99) + 4|0); + $100 = ((($99)) + 4|0); HEAP32[$100>>2] = -1; $101 = HEAP32[$idx>>2]|0; HEAP32[$0>>2] = $101; @@ -135303,17 +136375,17 @@ function _exprCommute($pParse,$pExpr) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); + $3 = ((($2)) + 16|0); $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = $6 & 256; $8 = $7&65535; HEAP16[$expRight>>1] = $8; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 12|0); + $10 = ((($9)) + 12|0); $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); $13 = HEAP32[$12>>2]|0; $14 = $13 & 256; $15 = $14&65535; @@ -135329,9 +136401,9 @@ function _exprCommute($pParse,$pExpr) { $22 = ($21<<16>>16)!=(0); if ($22) { $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 16|0); + $24 = ((($23)) + 16|0); $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = $27 & -257; HEAP32[$26>>2] = $28; @@ -135339,15 +136411,15 @@ function _exprCommute($pParse,$pExpr) { } $29 = HEAP32[$0>>2]|0; $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 12|0); + $31 = ((($30)) + 12|0); $32 = HEAP32[$31>>2]|0; $33 = (_sqlite3ExprCollSeq($29,$32)|0); $34 = ($33|0)!=(0|0); if ($34) { $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = HEAP32[$36>>2]|0; - $38 = (($37) + 4|0); + $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; $40 = $39 | 256; HEAP32[$38>>2] = $40; @@ -135355,18 +136427,18 @@ function _exprCommute($pParse,$pExpr) { } } while(0); $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 16|0); + $42 = ((($41)) + 16|0); $43 = HEAP32[$42>>2]|0; HEAP32[$t>>2] = $43; $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 12|0); + $45 = ((($44)) + 12|0); $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 16|0); + $48 = ((($47)) + 16|0); HEAP32[$48>>2] = $46; $49 = HEAP32[$t>>2]|0; $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 12|0); + $51 = ((($50)) + 12|0); HEAP32[$51>>2] = $49; $52 = HEAP32[$1>>2]|0; $53 = HEAP8[$52>>0]|0; @@ -135402,19 +136474,19 @@ function _transferJoinMarkings($pDerived,$pBase) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = $6 & 1; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = $10 | $7; HEAP32[$9>>2] = $11; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 36|0); + $13 = ((($12)) + 36|0); $14 = HEAP16[$13>>1]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 36|0); + $16 = ((($15)) + 36|0); HEAP16[$16>>1] = $14; STACKTOP = sp;return; } @@ -135442,46 +136514,46 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affLeft = 0, $affRight = 0, $b = 0, $b1 = 0, $chngToIN = 0, $db = 0, $i = 0; - var $iColumn = 0, $iCursor = 0, $idxNew = 0, $indexable = 0, $j = 0, $j2 = 0, $okToChngToIN = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pAndInfo = 0, $pAndTerm = 0, $pAndWC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pList = 0, $pNew = 0, $pOrInfo = 0, $pOrTerm = 0; + var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affLeft = 0, $affRight = 0, $b = 0, $b1 = 0; + var $chngToIN = 0, $db = 0, $i = 0, $iColumn = 0, $iCursor = 0, $idxNew = 0, $indexable = 0, $j = 0, $j2 = 0, $okToChngToIN = 0, $pAndInfo = 0, $pAndTerm = 0, $pAndWC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pList = 0, $pNew = 0, $pOrInfo = 0, $pOrTerm = 0; var $pOrWc = 0, $pOther = 0, $pParse = 0, $pTerm = 0, $pWInfo = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; - $0 = sp + 140|0; - $1 = sp + 136|0; - $2 = sp + 132|0; - $pWInfo = sp + 128|0; - $pParse = sp + 124|0; - $db = sp + 120|0; - $pTerm = sp + 116|0; - $pExpr = sp + 112|0; - $i = sp + 108|0; - $pOrWc = sp + 104|0; - $pOrTerm = sp + 100|0; - $pOrInfo = sp + 96|0; + $0 = sp + 64|0; + $1 = sp + 72|0; + $2 = sp + 84|0; + $pWInfo = sp + 124|0; + $pParse = sp + 132|0; + $db = sp + 32|0; + $pTerm = sp + 36|0; + $pExpr = sp + 76|0; + $i = sp + 60|0; + $pOrWc = sp + 44|0; + $pOrTerm = sp + 52|0; + $pOrInfo = sp + 104|0; $chngToIN = sp + 24|0; $indexable = sp + 16|0; - $pAndInfo = sp + 92|0; - $pAndWC = sp + 88|0; - $pAndTerm = sp + 84|0; + $pAndInfo = sp + 128|0; + $pAndWC = sp + 136|0; + $pAndTerm = sp + 140|0; $j = sp + 80|0; $b = sp + 8|0; $b1 = sp; - $pOther = sp + 76|0; - $okToChngToIN = sp + 72|0; - $iColumn = sp + 68|0; - $iCursor = sp + 64|0; - $j2 = sp + 60|0; - $affLeft = sp + 56|0; - $affRight = sp + 52|0; - $pDup = sp + 48|0; - $pList = sp + 44|0; + $pOther = sp + 92|0; + $okToChngToIN = sp + 96|0; + $iColumn = sp + 48|0; + $iCursor = sp + 108|0; + $j2 = sp + 112|0; + $affLeft = sp + 116|0; + $affRight = sp + 120|0; + $pDup = sp + 56|0; + $pList = sp + 88|0; $pLeft = sp + 40|0; - $pNew = sp + 36|0; - $idxNew = sp + 32|0; + $pNew = sp + 100|0; + $idxNew = sp + 68|0; HEAP32[$0>>2] = $pSrc; HEAP32[$1>>2] = $pWC; HEAP32[$2>>2] = $idxTerm; @@ -135496,7 +136568,7 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { HEAP32[$db>>2] = $8; $9 = HEAP32[$2>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 20|0); + $11 = ((($10)) + 20|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + (($9*48)|0)|0); HEAP32[$pTerm>>2] = $13; @@ -135507,7 +136579,7 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { $17 = (_sqlite3DbMallocZero($16,416,0)|0); HEAP32[$pOrInfo>>2] = $17; $18 = HEAP32[$pTerm>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); HEAP32[$19>>2] = $17; $20 = HEAP32[$pOrInfo>>2]|0; $21 = ($20|0)==(0|0); @@ -135515,7 +136587,7 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { STACKTOP = sp;return; } $22 = HEAP32[$pTerm>>2]|0; - $23 = (($22) + 20|0); + $23 = ((($22)) + 20|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; $26 = $25 | 16; @@ -135533,7 +136605,7 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { $34 = HEAP32[$pOrWc>>2]|0; _exprAnalyzeAll($33,$34); $35 = HEAP32[$db>>2]|0; - $36 = (($35) + 64|0); + $36 = ((($35)) + 64|0); $37 = HEAP8[$36>>0]|0; $38 = ($37<<24>>24)!=(0); if ($38) { @@ -135552,12 +136624,12 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { $46 = $45; HEAP32[$46>>2] = -1; $47 = HEAP32[$pOrWc>>2]|0; - $48 = (($47) + 12|0); + $48 = ((($47)) + 12|0); $49 = HEAP32[$48>>2]|0; $50 = (($49) - 1)|0; HEAP32[$i>>2] = $50; $51 = HEAP32[$pOrWc>>2]|0; - $52 = (($51) + 20|0); + $52 = ((($51)) + 20|0); $53 = HEAP32[$52>>2]|0; HEAP32[$pOrTerm>>2] = $53; while(1) { @@ -135572,309 +136644,309 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { $62 = ($58|0)!=(0); $63 = ($61|0)!=(0); $64 = $62 | $63; - $or$cond = $55 & $64; - if (!($or$cond)) { + $65 = $55 ? $64 : 0; + if (!($65)) { break; } - $65 = HEAP32[$pOrTerm>>2]|0; - $66 = (($65) + 18|0); - $67 = HEAP16[$66>>1]|0; - $68 = $67&65535; - $69 = $68 & 255; - $70 = ($69|0)==(0); + $66 = HEAP32[$pOrTerm>>2]|0; + $67 = ((($66)) + 18|0); + $68 = HEAP16[$67>>1]|0; + $69 = $68&65535; + $70 = $69 & 255; + $71 = ($70|0)==(0); do { - if ($70) { - $71 = $chngToIN; - $72 = $71; - HEAP32[$72>>2] = 0; - $73 = (($71) + 4)|0; - $74 = $73; - HEAP32[$74>>2] = 0; - $75 = HEAP32[$db>>2]|0; - $76 = (_sqlite3DbMallocRaw($75,408,0)|0); - HEAP32[$pAndInfo>>2] = $76; - $77 = HEAP32[$pAndInfo>>2]|0; - $78 = ($77|0)!=(0|0); - if ($78) { - $79 = $b; - $80 = $79; - HEAP32[$80>>2] = 0; - $81 = (($79) + 4)|0; - $82 = $81; - HEAP32[$82>>2] = 0; - $83 = HEAP32[$pAndInfo>>2]|0; - $84 = HEAP32[$pOrTerm>>2]|0; - $85 = (($84) + 12|0); - HEAP32[$85>>2] = $83; - $86 = HEAP32[$pOrTerm>>2]|0; - $87 = (($86) + 20|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = $89 | 32; - $91 = $90&255; - HEAP8[$87>>0] = $91; - $92 = HEAP32[$pOrTerm>>2]|0; - $93 = (($92) + 18|0); - HEAP16[$93>>1] = 512; - $94 = HEAP32[$pAndInfo>>2]|0; - HEAP32[$pAndWC>>2] = $94; - $95 = HEAP32[$pAndWC>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = HEAP32[$96>>2]|0; - _whereClauseInit($95,$97); - $98 = HEAP32[$pAndWC>>2]|0; - $99 = HEAP32[$pOrTerm>>2]|0; - $100 = HEAP32[$99>>2]|0; - _whereSplit($98,$100,72); - $101 = HEAP32[$0>>2]|0; - $102 = HEAP32[$pAndWC>>2]|0; - _exprAnalyzeAll($101,$102); - $103 = HEAP32[$1>>2]|0; - $104 = HEAP32[$pAndWC>>2]|0; - $105 = (($104) + 4|0); - HEAP32[$105>>2] = $103; - $106 = HEAP32[$db>>2]|0; - $107 = (($106) + 64|0); - $108 = HEAP8[$107>>0]|0; - $109 = ($108<<24>>24)!=(0); - L21: do { - if (!($109)) { + if ($71) { + $72 = $chngToIN; + $73 = $72; + HEAP32[$73>>2] = 0; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = 0; + $76 = HEAP32[$db>>2]|0; + $77 = (_sqlite3DbMallocRaw($76,408,0)|0); + HEAP32[$pAndInfo>>2] = $77; + $78 = HEAP32[$pAndInfo>>2]|0; + $79 = ($78|0)!=(0|0); + if ($79) { + $80 = $b; + $81 = $80; + HEAP32[$81>>2] = 0; + $82 = (($80) + 4)|0; + $83 = $82; + HEAP32[$83>>2] = 0; + $84 = HEAP32[$pAndInfo>>2]|0; + $85 = HEAP32[$pOrTerm>>2]|0; + $86 = ((($85)) + 12|0); + HEAP32[$86>>2] = $84; + $87 = HEAP32[$pOrTerm>>2]|0; + $88 = ((($87)) + 20|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = $90 | 32; + $92 = $91&255; + HEAP8[$88>>0] = $92; + $93 = HEAP32[$pOrTerm>>2]|0; + $94 = ((($93)) + 18|0); + HEAP16[$94>>1] = 512; + $95 = HEAP32[$pAndInfo>>2]|0; + HEAP32[$pAndWC>>2] = $95; + $96 = HEAP32[$pAndWC>>2]|0; + $97 = HEAP32[$1>>2]|0; + $98 = HEAP32[$97>>2]|0; + _whereClauseInit($96,$98); + $99 = HEAP32[$pAndWC>>2]|0; + $100 = HEAP32[$pOrTerm>>2]|0; + $101 = HEAP32[$100>>2]|0; + _whereSplit($99,$101,72); + $102 = HEAP32[$0>>2]|0; + $103 = HEAP32[$pAndWC>>2]|0; + _exprAnalyzeAll($102,$103); + $104 = HEAP32[$1>>2]|0; + $105 = HEAP32[$pAndWC>>2]|0; + $106 = ((($105)) + 4|0); + HEAP32[$106>>2] = $104; + $107 = HEAP32[$db>>2]|0; + $108 = ((($107)) + 64|0); + $109 = HEAP8[$108>>0]|0; + $110 = ($109<<24>>24)!=(0); + L13: do { + if (!($110)) { HEAP32[$j>>2] = 0; - $110 = HEAP32[$pAndWC>>2]|0; - $111 = (($110) + 20|0); - $112 = HEAP32[$111>>2]|0; - HEAP32[$pAndTerm>>2] = $112; + $111 = HEAP32[$pAndWC>>2]|0; + $112 = ((($111)) + 20|0); + $113 = HEAP32[$112>>2]|0; + HEAP32[$pAndTerm>>2] = $113; while(1) { - $113 = HEAP32[$j>>2]|0; - $114 = HEAP32[$pAndWC>>2]|0; - $115 = (($114) + 12|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($113|0)<($116|0); - if (!($117)) { - break L21; + $114 = HEAP32[$j>>2]|0; + $115 = HEAP32[$pAndWC>>2]|0; + $116 = ((($115)) + 12|0); + $117 = HEAP32[$116>>2]|0; + $118 = ($114|0)<($117|0); + if (!($118)) { + break L13; } - $118 = HEAP32[$pAndTerm>>2]|0; - $119 = HEAP32[$118>>2]|0; - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_allowedOp($121)|0); - $123 = ($122|0)!=(0); - if ($123) { - $124 = HEAP32[$pWInfo>>2]|0; - $125 = (($124) + 68|0); - $126 = HEAP32[$pAndTerm>>2]|0; - $127 = (($126) + 8|0); - $128 = HEAP32[$127>>2]|0; - $129 = (_getMask($125,$128)|0); - $130 = tempRet0; - $131 = $b; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = $133 | $129; - $138 = $136 | $130; - $139 = $b; - $140 = $139; - HEAP32[$140>>2] = $137; - $141 = (($139) + 4)|0; - $142 = $141; - HEAP32[$142>>2] = $138; - } - $143 = HEAP32[$j>>2]|0; - $144 = (($143) + 1)|0; - HEAP32[$j>>2] = $144; - $145 = HEAP32[$pAndTerm>>2]|0; - $146 = (($145) + 48|0); - HEAP32[$pAndTerm>>2] = $146; + $119 = HEAP32[$pAndTerm>>2]|0; + $120 = HEAP32[$119>>2]|0; + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (_allowedOp($122)|0); + $124 = ($123|0)!=(0); + if ($124) { + $125 = HEAP32[$pWInfo>>2]|0; + $126 = ((($125)) + 68|0); + $127 = HEAP32[$pAndTerm>>2]|0; + $128 = ((($127)) + 8|0); + $129 = HEAP32[$128>>2]|0; + $130 = (_getMask($126,$129)|0); + $131 = tempRet0; + $132 = $b; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = $134 | $130; + $139 = $137 | $131; + $140 = $b; + $141 = $140; + HEAP32[$141>>2] = $138; + $142 = (($140) + 4)|0; + $143 = $142; + HEAP32[$143>>2] = $139; + } + $144 = HEAP32[$j>>2]|0; + $145 = (($144) + 1)|0; + HEAP32[$j>>2] = $145; + $146 = HEAP32[$pAndTerm>>2]|0; + $147 = ((($146)) + 48|0); + HEAP32[$pAndTerm>>2] = $147; } } } while(0); - $147 = $b; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = (($147) + 4)|0; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = $indexable; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = $155 & $149; - $160 = $158 & $152; - $161 = $indexable; - $162 = $161; - HEAP32[$162>>2] = $159; - $163 = (($161) + 4)|0; - $164 = $163; - HEAP32[$164>>2] = $160; + $148 = $b; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (($148) + 4)|0; + $152 = $151; + $153 = HEAP32[$152>>2]|0; + $154 = $indexable; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (($154) + 4)|0; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = $156 & $150; + $161 = $159 & $153; + $162 = $indexable; + $163 = $162; + HEAP32[$163>>2] = $160; + $164 = (($162) + 4)|0; + $165 = $164; + HEAP32[$165>>2] = $161; } } else { - $165 = HEAP32[$pOrTerm>>2]|0; - $166 = (($165) + 20|0); - $167 = HEAP8[$166>>0]|0; - $168 = $167&255; - $169 = $168 & 8; - $170 = ($169|0)!=(0); - if (!($170)) { - $171 = HEAP32[$pWInfo>>2]|0; - $172 = (($171) + 68|0); - $173 = HEAP32[$pOrTerm>>2]|0; - $174 = (($173) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = (_getMask($172,$175)|0); - $177 = tempRet0; - $178 = $b1; - $179 = $178; - HEAP32[$179>>2] = $176; - $180 = (($178) + 4)|0; - $181 = $180; - HEAP32[$181>>2] = $177; - $182 = HEAP32[$pOrTerm>>2]|0; - $183 = (($182) + 20|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184&255; - $186 = $185 & 2; - $187 = ($186|0)!=(0); - if ($187) { - $188 = HEAP32[$pOrTerm>>2]|0; - $189 = (($188) + 4|0); - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$pOrWc>>2]|0; - $192 = (($191) + 20|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + (($190*48)|0)|0); - HEAP32[$pOther>>2] = $194; - $195 = HEAP32[$pWInfo>>2]|0; - $196 = (($195) + 68|0); - $197 = HEAP32[$pOther>>2]|0; - $198 = (($197) + 8|0); - $199 = HEAP32[$198>>2]|0; - $200 = (_getMask($196,$199)|0); - $201 = tempRet0; - $202 = $b1; - $203 = $202; - $204 = HEAP32[$203>>2]|0; - $205 = (($202) + 4)|0; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = $204 | $200; - $209 = $207 | $201; - $210 = $b1; - $211 = $210; - HEAP32[$211>>2] = $208; - $212 = (($210) + 4)|0; - $213 = $212; - HEAP32[$213>>2] = $209; - } - $214 = $b1; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = (($214) + 4)|0; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = $indexable; - $221 = $220; - $222 = HEAP32[$221>>2]|0; - $223 = (($220) + 4)|0; - $224 = $223; - $225 = HEAP32[$224>>2]|0; - $226 = $222 & $216; - $227 = $225 & $219; - $228 = $indexable; - $229 = $228; - HEAP32[$229>>2] = $226; - $230 = (($228) + 4)|0; - $231 = $230; - HEAP32[$231>>2] = $227; - $232 = HEAP32[$pOrTerm>>2]|0; - $233 = (($232) + 18|0); - $234 = HEAP16[$233>>1]|0; - $235 = $234&65535; - $236 = $235 & 2; - $237 = ($236|0)==(0); - if ($237) { - $238 = $chngToIN; - $239 = $238; - HEAP32[$239>>2] = 0; - $240 = (($238) + 4)|0; - $241 = $240; - HEAP32[$241>>2] = 0; + $166 = HEAP32[$pOrTerm>>2]|0; + $167 = ((($166)) + 20|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168&255; + $170 = $169 & 8; + $171 = ($170|0)!=(0); + if (!($171)) { + $172 = HEAP32[$pWInfo>>2]|0; + $173 = ((($172)) + 68|0); + $174 = HEAP32[$pOrTerm>>2]|0; + $175 = ((($174)) + 8|0); + $176 = HEAP32[$175>>2]|0; + $177 = (_getMask($173,$176)|0); + $178 = tempRet0; + $179 = $b1; + $180 = $179; + HEAP32[$180>>2] = $177; + $181 = (($179) + 4)|0; + $182 = $181; + HEAP32[$182>>2] = $178; + $183 = HEAP32[$pOrTerm>>2]|0; + $184 = ((($183)) + 20|0); + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + $187 = $186 & 2; + $188 = ($187|0)!=(0); + if ($188) { + $189 = HEAP32[$pOrTerm>>2]|0; + $190 = ((($189)) + 4|0); + $191 = HEAP32[$190>>2]|0; + $192 = HEAP32[$pOrWc>>2]|0; + $193 = ((($192)) + 20|0); + $194 = HEAP32[$193>>2]|0; + $195 = (($194) + (($191*48)|0)|0); + HEAP32[$pOther>>2] = $195; + $196 = HEAP32[$pWInfo>>2]|0; + $197 = ((($196)) + 68|0); + $198 = HEAP32[$pOther>>2]|0; + $199 = ((($198)) + 8|0); + $200 = HEAP32[$199>>2]|0; + $201 = (_getMask($197,$200)|0); + $202 = tempRet0; + $203 = $b1; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (($203) + 4)|0; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = $205 | $201; + $210 = $208 | $202; + $211 = $b1; + $212 = $211; + HEAP32[$212>>2] = $209; + $213 = (($211) + 4)|0; + $214 = $213; + HEAP32[$214>>2] = $210; + } + $215 = $b1; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = (($215) + 4)|0; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = $indexable; + $222 = $221; + $223 = HEAP32[$222>>2]|0; + $224 = (($221) + 4)|0; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = $223 & $217; + $228 = $226 & $220; + $229 = $indexable; + $230 = $229; + HEAP32[$230>>2] = $227; + $231 = (($229) + 4)|0; + $232 = $231; + HEAP32[$232>>2] = $228; + $233 = HEAP32[$pOrTerm>>2]|0; + $234 = ((($233)) + 18|0); + $235 = HEAP16[$234>>1]|0; + $236 = $235&65535; + $237 = $236 & 2; + $238 = ($237|0)==(0); + if ($238) { + $239 = $chngToIN; + $240 = $239; + HEAP32[$240>>2] = 0; + $241 = (($239) + 4)|0; + $242 = $241; + HEAP32[$242>>2] = 0; break; } else { - $242 = $b1; - $243 = $242; - $244 = HEAP32[$243>>2]|0; - $245 = (($242) + 4)|0; - $246 = $245; - $247 = HEAP32[$246>>2]|0; - $248 = $chngToIN; - $249 = $248; - $250 = HEAP32[$249>>2]|0; - $251 = (($248) + 4)|0; - $252 = $251; - $253 = HEAP32[$252>>2]|0; - $254 = $250 & $244; - $255 = $253 & $247; - $256 = $chngToIN; - $257 = $256; - HEAP32[$257>>2] = $254; - $258 = (($256) + 4)|0; - $259 = $258; - HEAP32[$259>>2] = $255; + $243 = $b1; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = (($243) + 4)|0; + $247 = $246; + $248 = HEAP32[$247>>2]|0; + $249 = $chngToIN; + $250 = $249; + $251 = HEAP32[$250>>2]|0; + $252 = (($249) + 4)|0; + $253 = $252; + $254 = HEAP32[$253>>2]|0; + $255 = $251 & $245; + $256 = $254 & $248; + $257 = $chngToIN; + $258 = $257; + HEAP32[$258>>2] = $255; + $259 = (($257) + 4)|0; + $260 = $259; + HEAP32[$260>>2] = $256; break; } } } } while(0); - $260 = HEAP32[$i>>2]|0; - $261 = (($260) + -1)|0; - HEAP32[$i>>2] = $261; - $262 = HEAP32[$pOrTerm>>2]|0; - $263 = (($262) + 48|0); - HEAP32[$pOrTerm>>2] = $263; - } - $264 = $indexable; - $265 = $264; - $266 = HEAP32[$265>>2]|0; - $267 = (($264) + 4)|0; - $268 = $267; - $269 = HEAP32[$268>>2]|0; - $270 = HEAP32[$pOrInfo>>2]|0; - $271 = (($270) + 408|0); - $272 = $271; + $261 = HEAP32[$i>>2]|0; + $262 = (($261) + -1)|0; + HEAP32[$i>>2] = $262; + $263 = HEAP32[$pOrTerm>>2]|0; + $264 = ((($263)) + 48|0); + HEAP32[$pOrTerm>>2] = $264; + } + $265 = $indexable; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = (($265) + 4)|0; + $269 = $268; + $270 = HEAP32[$269>>2]|0; + $271 = HEAP32[$pOrInfo>>2]|0; + $272 = ((($271)) + 408|0); $273 = $272; - HEAP32[$273>>2] = $266; - $274 = (($272) + 4)|0; - $275 = $274; - HEAP32[$275>>2] = $269; - $276 = $indexable; - $277 = $276; - $278 = HEAP32[$277>>2]|0; - $279 = (($276) + 4)|0; - $280 = $279; - $281 = HEAP32[$280>>2]|0; - $282 = ($278|0)==(0); - $283 = ($281|0)==(0); - $284 = $282 & $283; - $285 = $284 ? 0 : 256; - $286 = $285&65535; - $287 = HEAP32[$pTerm>>2]|0; - $288 = (($287) + 18|0); - HEAP16[$288>>1] = $286; - $289 = $chngToIN; - $290 = $289; - $291 = HEAP32[$290>>2]|0; - $292 = (($289) + 4)|0; - $293 = $292; - $294 = HEAP32[$293>>2]|0; - $295 = ($291|0)!=(0); - $296 = ($294|0)!=(0); - $297 = $295 | $296; - if (!($297)) { + $274 = $273; + HEAP32[$274>>2] = $267; + $275 = (($273) + 4)|0; + $276 = $275; + HEAP32[$276>>2] = $270; + $277 = $indexable; + $278 = $277; + $279 = HEAP32[$278>>2]|0; + $280 = (($277) + 4)|0; + $281 = $280; + $282 = HEAP32[$281>>2]|0; + $283 = ($279|0)==(0); + $284 = ($282|0)==(0); + $285 = $283 & $284; + $286 = $285 ? 0 : 256; + $287 = $286&65535; + $288 = HEAP32[$pTerm>>2]|0; + $289 = ((($288)) + 18|0); + HEAP16[$289>>1] = $287; + $290 = $chngToIN; + $291 = $290; + $292 = HEAP32[$291>>2]|0; + $293 = (($290) + 4)|0; + $294 = $293; + $295 = HEAP32[$294>>2]|0; + $296 = ($292|0)!=(0); + $297 = ($295|0)!=(0); + $298 = $296 | $297; + if (!($298)) { STACKTOP = sp;return; } HEAP32[$okToChngToIN>>2] = 0; @@ -135883,272 +136955,275 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { HEAP32[$j2>>2] = 0; HEAP32[$j2>>2] = 0; while(1) { - $298 = HEAP32[$j2>>2]|0; - $299 = ($298|0)>=(2); - $300 = HEAP32[$okToChngToIN>>2]|0; - $301 = ($300|0)!=(0); - $or$cond3 = $299 | $301; - if ($or$cond3) { - break; - } - $302 = HEAP32[$pOrWc>>2]|0; - $303 = (($302) + 20|0); - $304 = HEAP32[$303>>2]|0; - HEAP32[$pOrTerm>>2] = $304; - $305 = HEAP32[$pOrWc>>2]|0; - $306 = (($305) + 12|0); - $307 = HEAP32[$306>>2]|0; - $308 = (($307) - 1)|0; - HEAP32[$i>>2] = $308; + $299 = HEAP32[$j2>>2]|0; + $300 = ($299|0)<(2); + if (!($300)) { + break; + } + $301 = HEAP32[$okToChngToIN>>2]|0; + $302 = ($301|0)!=(0); + $303 = $302 ^ 1; + if (!($303)) { + break; + } + $304 = HEAP32[$pOrWc>>2]|0; + $305 = ((($304)) + 20|0); + $306 = HEAP32[$305>>2]|0; + HEAP32[$pOrTerm>>2] = $306; + $307 = HEAP32[$pOrWc>>2]|0; + $308 = ((($307)) + 12|0); + $309 = HEAP32[$308>>2]|0; + $310 = (($309) - 1)|0; + HEAP32[$i>>2] = $310; while(1) { - $309 = HEAP32[$i>>2]|0; - $310 = ($309|0)>=(0); - if (!($310)) { + $311 = HEAP32[$i>>2]|0; + $312 = ($311|0)>=(0); + if (!($312)) { break; } - $311 = HEAP32[$pOrTerm>>2]|0; - $312 = (($311) + 20|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $315 = $314 & -65; + $313 = HEAP32[$pOrTerm>>2]|0; + $314 = ((($313)) + 20|0); + $315 = HEAP8[$314>>0]|0; $316 = $315&255; - HEAP8[$312>>0] = $316; - $317 = HEAP32[$pOrTerm>>2]|0; - $318 = (($317) + 8|0); - $319 = HEAP32[$318>>2]|0; - $320 = HEAP32[$iCursor>>2]|0; - $321 = ($319|0)==($320|0); - if (!($321)) { - $322 = $chngToIN; - $323 = $322; - $324 = HEAP32[$323>>2]|0; - $325 = (($322) + 4)|0; - $326 = $325; - $327 = HEAP32[$326>>2]|0; - $328 = HEAP32[$pWInfo>>2]|0; - $329 = (($328) + 68|0); - $330 = HEAP32[$pOrTerm>>2]|0; - $331 = (($330) + 8|0); - $332 = HEAP32[$331>>2]|0; - $333 = (_getMask($329,$332)|0); - $334 = tempRet0; - $335 = $324 & $333; - $336 = $327 & $334; - $337 = ($335|0)==(0); - $338 = ($336|0)==(0); - $339 = $337 & $338; - if (!($339)) { - label = 28; + $317 = $316 & -65; + $318 = $317&255; + HEAP8[$314>>0] = $318; + $319 = HEAP32[$pOrTerm>>2]|0; + $320 = ((($319)) + 8|0); + $321 = HEAP32[$320>>2]|0; + $322 = HEAP32[$iCursor>>2]|0; + $323 = ($321|0)==($322|0); + if (!($323)) { + $324 = $chngToIN; + $325 = $324; + $326 = HEAP32[$325>>2]|0; + $327 = (($324) + 4)|0; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $330 = HEAP32[$pWInfo>>2]|0; + $331 = ((($330)) + 68|0); + $332 = HEAP32[$pOrTerm>>2]|0; + $333 = ((($332)) + 8|0); + $334 = HEAP32[$333>>2]|0; + $335 = (_getMask($331,$334)|0); + $336 = tempRet0; + $337 = $326 & $335; + $338 = $329 & $336; + $339 = ($337|0)==(0); + $340 = ($338|0)==(0); + $341 = $339 & $340; + if (!($341)) { + label = 29; break; } } - $346 = HEAP32[$i>>2]|0; - $347 = (($346) + -1)|0; - HEAP32[$i>>2] = $347; - $348 = HEAP32[$pOrTerm>>2]|0; - $349 = (($348) + 48|0); - HEAP32[$pOrTerm>>2] = $349; + $348 = HEAP32[$i>>2]|0; + $349 = (($348) + -1)|0; + HEAP32[$i>>2] = $349; + $350 = HEAP32[$pOrTerm>>2]|0; + $351 = ((($350)) + 48|0); + HEAP32[$pOrTerm>>2] = $351; } - if ((label|0) == 28) { + if ((label|0) == 29) { label = 0; - $340 = HEAP32[$pOrTerm>>2]|0; - $341 = (($340) + 12|0); - $342 = HEAP32[$341>>2]|0; - HEAP32[$iColumn>>2] = $342; - $343 = HEAP32[$pOrTerm>>2]|0; - $344 = (($343) + 8|0); - $345 = HEAP32[$344>>2]|0; - HEAP32[$iCursor>>2] = $345; + $342 = HEAP32[$pOrTerm>>2]|0; + $343 = ((($342)) + 12|0); + $344 = HEAP32[$343>>2]|0; + HEAP32[$iColumn>>2] = $344; + $345 = HEAP32[$pOrTerm>>2]|0; + $346 = ((($345)) + 8|0); + $347 = HEAP32[$346>>2]|0; + HEAP32[$iCursor>>2] = $347; } - $350 = HEAP32[$i>>2]|0; - $351 = ($350|0)<(0); - if ($351) { + $352 = HEAP32[$i>>2]|0; + $353 = ($352|0)<(0); + if ($353) { break; } HEAP32[$okToChngToIN>>2] = 1; while(1) { - $352 = HEAP32[$i>>2]|0; - $353 = ($352|0)>=(0); - $354 = HEAP32[$okToChngToIN>>2]|0; - $355 = ($354|0)!=(0); - $or$cond5 = $353 & $355; - if (!($or$cond5)) { + $354 = HEAP32[$i>>2]|0; + $355 = ($354|0)>=(0); + $356 = HEAP32[$okToChngToIN>>2]|0; + $357 = ($356|0)!=(0); + $358 = $355 ? $357 : 0; + if (!($358)) { break; } - $356 = HEAP32[$pOrTerm>>2]|0; - $357 = (($356) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = HEAP32[$iCursor>>2]|0; - $360 = ($358|0)!=($359|0); - $361 = HEAP32[$pOrTerm>>2]|0; + $359 = HEAP32[$pOrTerm>>2]|0; + $360 = ((($359)) + 8|0); + $361 = HEAP32[$360>>2]|0; + $362 = HEAP32[$iCursor>>2]|0; + $363 = ($361|0)!=($362|0); + $364 = HEAP32[$pOrTerm>>2]|0; do { - if ($360) { - $362 = (($361) + 20|0); - $363 = HEAP8[$362>>0]|0; - $364 = $363&255; - $365 = $364 & -65; - $366 = $365&255; - HEAP8[$362>>0] = $366; + if ($363) { + $365 = ((($364)) + 20|0); + $366 = HEAP8[$365>>0]|0; + $367 = $366&255; + $368 = $367 & -65; + $369 = $368&255; + HEAP8[$365>>0] = $369; } else { - $367 = (($361) + 12|0); - $368 = HEAP32[$367>>2]|0; - $369 = HEAP32[$iColumn>>2]|0; - $370 = ($368|0)!=($369|0); - if ($370) { + $370 = ((($364)) + 12|0); + $371 = HEAP32[$370>>2]|0; + $372 = HEAP32[$iColumn>>2]|0; + $373 = ($371|0)!=($372|0); + if ($373) { HEAP32[$okToChngToIN>>2] = 0; break; } - $371 = HEAP32[$pOrTerm>>2]|0; - $372 = HEAP32[$371>>2]|0; - $373 = (($372) + 16|0); - $374 = HEAP32[$373>>2]|0; - $375 = (_sqlite3ExprAffinity($374)|0); - $376 = $375 << 24 >> 24; - HEAP32[$affRight>>2] = $376; - $377 = HEAP32[$pOrTerm>>2]|0; - $378 = HEAP32[$377>>2]|0; - $379 = (($378) + 12|0); - $380 = HEAP32[$379>>2]|0; - $381 = (_sqlite3ExprAffinity($380)|0); - $382 = $381 << 24 >> 24; - HEAP32[$affLeft>>2] = $382; - $383 = HEAP32[$affRight>>2]|0; - $384 = ($383|0)!=(0); - if ($384) { - $385 = HEAP32[$affRight>>2]|0; - $386 = HEAP32[$affLeft>>2]|0; - $387 = ($385|0)!=($386|0); - if ($387) { + $374 = HEAP32[$pOrTerm>>2]|0; + $375 = HEAP32[$374>>2]|0; + $376 = ((($375)) + 16|0); + $377 = HEAP32[$376>>2]|0; + $378 = (_sqlite3ExprAffinity($377)|0); + $379 = $378 << 24 >> 24; + HEAP32[$affRight>>2] = $379; + $380 = HEAP32[$pOrTerm>>2]|0; + $381 = HEAP32[$380>>2]|0; + $382 = ((($381)) + 12|0); + $383 = HEAP32[$382>>2]|0; + $384 = (_sqlite3ExprAffinity($383)|0); + $385 = $384 << 24 >> 24; + HEAP32[$affLeft>>2] = $385; + $386 = HEAP32[$affRight>>2]|0; + $387 = ($386|0)!=(0); + if ($387) { + $388 = HEAP32[$affRight>>2]|0; + $389 = HEAP32[$affLeft>>2]|0; + $390 = ($388|0)!=($389|0); + if ($390) { HEAP32[$okToChngToIN>>2] = 0; break; } } - $388 = HEAP32[$pOrTerm>>2]|0; - $389 = (($388) + 20|0); - $390 = HEAP8[$389>>0]|0; - $391 = $390&255; - $392 = $391 | 64; - $393 = $392&255; - HEAP8[$389>>0] = $393; + $391 = HEAP32[$pOrTerm>>2]|0; + $392 = ((($391)) + 20|0); + $393 = HEAP8[$392>>0]|0; + $394 = $393&255; + $395 = $394 | 64; + $396 = $395&255; + HEAP8[$392>>0] = $396; } } while(0); - $394 = HEAP32[$i>>2]|0; - $395 = (($394) + -1)|0; - HEAP32[$i>>2] = $395; - $396 = HEAP32[$pOrTerm>>2]|0; - $397 = (($396) + 48|0); - HEAP32[$pOrTerm>>2] = $397; - } - $398 = HEAP32[$j2>>2]|0; - $399 = (($398) + 1)|0; - HEAP32[$j2>>2] = $399; - } - $400 = HEAP32[$okToChngToIN>>2]|0; - $401 = ($400|0)!=(0); - if (!($401)) { + $397 = HEAP32[$i>>2]|0; + $398 = (($397) + -1)|0; + HEAP32[$i>>2] = $398; + $399 = HEAP32[$pOrTerm>>2]|0; + $400 = ((($399)) + 48|0); + HEAP32[$pOrTerm>>2] = $400; + } + $401 = HEAP32[$j2>>2]|0; + $402 = (($401) + 1)|0; + HEAP32[$j2>>2] = $402; + } + $403 = HEAP32[$okToChngToIN>>2]|0; + $404 = ($403|0)!=(0); + if (!($404)) { STACKTOP = sp;return; } HEAP32[$pList>>2] = 0; HEAP32[$pLeft>>2] = 0; - $402 = HEAP32[$pOrWc>>2]|0; - $403 = (($402) + 12|0); - $404 = HEAP32[$403>>2]|0; - $405 = (($404) - 1)|0; - HEAP32[$i>>2] = $405; - $406 = HEAP32[$pOrWc>>2]|0; - $407 = (($406) + 20|0); - $408 = HEAP32[$407>>2]|0; - HEAP32[$pOrTerm>>2] = $408; + $405 = HEAP32[$pOrWc>>2]|0; + $406 = ((($405)) + 12|0); + $407 = HEAP32[$406>>2]|0; + $408 = (($407) - 1)|0; + HEAP32[$i>>2] = $408; + $409 = HEAP32[$pOrWc>>2]|0; + $410 = ((($409)) + 20|0); + $411 = HEAP32[$410>>2]|0; + HEAP32[$pOrTerm>>2] = $411; while(1) { - $409 = HEAP32[$i>>2]|0; - $410 = ($409|0)>=(0); - if (!($410)) { - break; - } - $411 = HEAP32[$pOrTerm>>2]|0; - $412 = (($411) + 20|0); - $413 = HEAP8[$412>>0]|0; - $414 = $413&255; - $415 = $414 & 64; - $416 = ($415|0)==(0); - if (!($416)) { - $417 = HEAP32[$db>>2]|0; - $418 = HEAP32[$pOrTerm>>2]|0; - $419 = HEAP32[$418>>2]|0; - $420 = (($419) + 16|0); - $421 = HEAP32[$420>>2]|0; - $422 = (_sqlite3ExprDup($417,$421,0)|0); - HEAP32[$pDup>>2] = $422; - $423 = HEAP32[$pWInfo>>2]|0; + $412 = HEAP32[$i>>2]|0; + $413 = ($412|0)>=(0); + if (!($413)) { + break; + } + $414 = HEAP32[$pOrTerm>>2]|0; + $415 = ((($414)) + 20|0); + $416 = HEAP8[$415>>0]|0; + $417 = $416&255; + $418 = $417 & 64; + $419 = ($418|0)==(0); + if (!($419)) { + $420 = HEAP32[$db>>2]|0; + $421 = HEAP32[$pOrTerm>>2]|0; + $422 = HEAP32[$421>>2]|0; + $423 = ((($422)) + 16|0); $424 = HEAP32[$423>>2]|0; - $425 = HEAP32[$pList>>2]|0; - $426 = HEAP32[$pDup>>2]|0; - $427 = (_sqlite3ExprListAppend($424,$425,$426)|0); - HEAP32[$pList>>2] = $427; - $428 = HEAP32[$pOrTerm>>2]|0; - $429 = HEAP32[$428>>2]|0; - $430 = (($429) + 12|0); - $431 = HEAP32[$430>>2]|0; - HEAP32[$pLeft>>2] = $431; - } - $432 = HEAP32[$i>>2]|0; - $433 = (($432) + -1)|0; - HEAP32[$i>>2] = $433; - $434 = HEAP32[$pOrTerm>>2]|0; - $435 = (($434) + 48|0); - HEAP32[$pOrTerm>>2] = $435; - } - $436 = HEAP32[$db>>2]|0; - $437 = HEAP32[$pLeft>>2]|0; - $438 = (_sqlite3ExprDup($436,$437,0)|0); - HEAP32[$pDup>>2] = $438; - $439 = HEAP32[$pParse>>2]|0; - $440 = HEAP32[$pDup>>2]|0; - $441 = (_sqlite3PExpr($439,75,$440,0,0)|0); - HEAP32[$pNew>>2] = $441; - $442 = HEAP32[$pNew>>2]|0; - $443 = ($442|0)!=(0|0); - if ($443) { - $444 = HEAP32[$pNew>>2]|0; - $445 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($444,$445); - $446 = HEAP32[$pList>>2]|0; + $425 = (_sqlite3ExprDup($420,$424,0)|0); + HEAP32[$pDup>>2] = $425; + $426 = HEAP32[$pWInfo>>2]|0; + $427 = HEAP32[$426>>2]|0; + $428 = HEAP32[$pList>>2]|0; + $429 = HEAP32[$pDup>>2]|0; + $430 = (_sqlite3ExprListAppend($427,$428,$429)|0); + HEAP32[$pList>>2] = $430; + $431 = HEAP32[$pOrTerm>>2]|0; + $432 = HEAP32[$431>>2]|0; + $433 = ((($432)) + 12|0); + $434 = HEAP32[$433>>2]|0; + HEAP32[$pLeft>>2] = $434; + } + $435 = HEAP32[$i>>2]|0; + $436 = (($435) + -1)|0; + HEAP32[$i>>2] = $436; + $437 = HEAP32[$pOrTerm>>2]|0; + $438 = ((($437)) + 48|0); + HEAP32[$pOrTerm>>2] = $438; + } + $439 = HEAP32[$db>>2]|0; + $440 = HEAP32[$pLeft>>2]|0; + $441 = (_sqlite3ExprDup($439,$440,0)|0); + HEAP32[$pDup>>2] = $441; + $442 = HEAP32[$pParse>>2]|0; + $443 = HEAP32[$pDup>>2]|0; + $444 = (_sqlite3PExpr($442,75,$443,0,0)|0); + HEAP32[$pNew>>2] = $444; + $445 = HEAP32[$pNew>>2]|0; + $446 = ($445|0)!=(0|0); + if ($446) { $447 = HEAP32[$pNew>>2]|0; - $448 = (($447) + 20|0); - HEAP32[$448>>2] = $446; - $449 = HEAP32[$1>>2]|0; + $448 = HEAP32[$pExpr>>2]|0; + _transferJoinMarkings($447,$448); + $449 = HEAP32[$pList>>2]|0; $450 = HEAP32[$pNew>>2]|0; - $451 = (_whereClauseInsert($449,$450,3)|0); - HEAP32[$idxNew>>2] = $451; - $452 = HEAP32[$0>>2]|0; - $453 = HEAP32[$1>>2]|0; - $454 = HEAP32[$idxNew>>2]|0; - _exprAnalyze($452,$453,$454); - $455 = HEAP32[$2>>2]|0; + $451 = ((($450)) + 20|0); + HEAP32[$451>>2] = $449; + $452 = HEAP32[$1>>2]|0; + $453 = HEAP32[$pNew>>2]|0; + $454 = (_whereClauseInsert($452,$453,3)|0); + HEAP32[$idxNew>>2] = $454; + $455 = HEAP32[$0>>2]|0; $456 = HEAP32[$1>>2]|0; - $457 = (($456) + 20|0); - $458 = HEAP32[$457>>2]|0; - $459 = (($458) + (($455*48)|0)|0); - HEAP32[$pTerm>>2] = $459; - $460 = HEAP32[$2>>2]|0; - $461 = HEAP32[$idxNew>>2]|0; - $462 = HEAP32[$1>>2]|0; - $463 = (($462) + 20|0); - $464 = HEAP32[$463>>2]|0; - $465 = (($464) + (($461*48)|0)|0); - $466 = (($465) + 4|0); - HEAP32[$466>>2] = $460; - $467 = HEAP32[$pTerm>>2]|0; - $468 = (($467) + 21|0); - HEAP8[$468>>0] = 1; + $457 = HEAP32[$idxNew>>2]|0; + _exprAnalyze($455,$456,$457); + $458 = HEAP32[$2>>2]|0; + $459 = HEAP32[$1>>2]|0; + $460 = ((($459)) + 20|0); + $461 = HEAP32[$460>>2]|0; + $462 = (($461) + (($458*48)|0)|0); + HEAP32[$pTerm>>2] = $462; + $463 = HEAP32[$2>>2]|0; + $464 = HEAP32[$idxNew>>2]|0; + $465 = HEAP32[$1>>2]|0; + $466 = ((($465)) + 20|0); + $467 = HEAP32[$466>>2]|0; + $468 = (($467) + (($464*48)|0)|0); + $469 = ((($468)) + 4|0); + HEAP32[$469>>2] = $463; + $470 = HEAP32[$pTerm>>2]|0; + $471 = ((($470)) + 21|0); + HEAP8[$471>>0] = 1; } else { - $469 = HEAP32[$db>>2]|0; - $470 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($469,$470); + $472 = HEAP32[$db>>2]|0; + $473 = HEAP32[$pList>>2]|0; + _sqlite3ExprListDelete($472,$473); } - $471 = HEAP32[$pTerm>>2]|0; - $472 = (($471) + 18|0); - HEAP16[$472>>1] = 2048; + $474 = HEAP32[$pTerm>>2]|0; + $475 = ((($474)) + 18|0); + HEAP16[$475>>1] = 2048; STACKTOP = sp;return; } function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { @@ -136169,27 +137244,27 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { var $v = 0, $wc = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $5 = sp + 56|0; - $z = sp + 52|0; - $pRight = sp + 48|0; - $pLeft = sp + 44|0; - $pList = sp + 40|0; - $c = sp + 36|0; - $cnt = sp + 32|0; + $0 = sp + 24|0; + $1 = sp + 12|0; + $2 = sp + 32|0; + $3 = sp + 20|0; + $4 = sp + 4|0; + $5 = sp + 8|0; + $z = sp + 48|0; + $pRight = sp + 56|0; + $pLeft = sp + 64|0; + $pList = sp + 72|0; + $c = sp + 76|0; + $cnt = sp + 28|0; $wc = sp + 80|0; - $db = sp + 28|0; - $pVal = sp + 24|0; - $op = sp + 20|0; - $pReprepare = sp + 16|0; - $iCol = sp + 12|0; - $pPrefix = sp + 8|0; - $v = sp + 4|0; - $r1 = sp; + $db = sp + 40|0; + $pVal = sp; + $op = sp + 44|0; + $pReprepare = sp + 52|0; + $iCol = sp + 16|0; + $pPrefix = sp + 60|0; + $v = sp + 68|0; + $r1 = sp + 36|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pExpr; HEAP32[$3>>2] = $ppPrefix; @@ -136211,13 +137286,13 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { STACKTOP = sp;return ($166|0); } $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 20|0); + $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; HEAP32[$pList>>2] = $15; $16 = HEAP32[$pList>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 20|0); + $19 = ((($18)) + 20|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pLeft>>2] = $20; $21 = HEAP32[$pLeft>>2]|0; @@ -136231,16 +137306,16 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { $28 = ($27|0)!=(66); if (!($28)) { $29 = HEAP32[$pLeft>>2]|0; - $30 = (($29) + 44|0); + $30 = ((($29)) + 44|0); $31 = HEAP32[$30>>2]|0; - $32 = (($31) + 44|0); + $32 = ((($31)) + 44|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = $34 & 16; $36 = ($35|0)!=(0); if (!($36)) { $37 = HEAP32[$pList>>2]|0; - $38 = (($37) + 4|0); + $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$39>>2]|0; $41 = (_sqlite3ExprSkipCollate($40)|0); @@ -136253,11 +137328,11 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { $46 = ($45|0)==(135); if ($46) { $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 476|0); + $48 = ((($47)) + 476|0); $49 = HEAP32[$48>>2]|0; HEAP32[$pReprepare>>2] = $49; $50 = HEAP32[$pRight>>2]|0; - $51 = (($50) + 32|0); + $51 = ((($50)) + 32|0); $52 = HEAP16[$51>>1]|0; $53 = $52 << 16 >> 16; HEAP32[$iCol>>2] = $53; @@ -136278,7 +137353,7 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { } } $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 8|0); + $65 = ((($64)) + 8|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$iCol>>2]|0; _sqlite3VdbeSetVarmask($66,$67); @@ -136287,7 +137362,7 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { $69 = ($68|0)==(97); if ($69) { $70 = HEAP32[$pRight>>2]|0; - $71 = (($70) + 8|0); + $71 = ((($70)) + 8|0); $72 = HEAP32[$71>>2]|0; HEAP32[$z>>2] = $72; } @@ -136312,13 +137387,13 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { $84 = ($81|0)!=($83|0); if ($84) { $85 = HEAP32[$c>>2]|0; - $86 = (($wc) + 1|0); + $86 = ((($wc)) + 1|0); $87 = HEAP8[$86>>0]|0; $88 = $87 << 24 >> 24; $89 = ($85|0)!=($88|0); if ($89) { $90 = HEAP32[$c>>2]|0; - $91 = (($wc) + 2|0); + $91 = ((($wc)) + 2|0); $92 = HEAP8[$91>>0]|0; $93 = $92 << 24 >> 24; $94 = ($90|0)!=($93|0); @@ -136377,7 +137452,7 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { if ($123) { $124 = HEAP32[$cnt>>2]|0; $125 = HEAP32[$pPrefix>>2]|0; - $126 = (($125) + 8|0); + $126 = ((($125)) + 8|0); $127 = HEAP32[$126>>2]|0; $128 = (($127) + ($124)|0); HEAP8[$128>>0] = 0; @@ -136391,12 +137466,12 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { break; } $133 = HEAP32[$1>>2]|0; - $134 = (($133) + 8|0); + $134 = ((($133)) + 8|0); $135 = HEAP32[$134>>2]|0; HEAP32[$v>>2] = $135; $136 = HEAP32[$v>>2]|0; $137 = HEAP32[$pRight>>2]|0; - $138 = (($137) + 32|0); + $138 = ((($137)) + 32|0); $139 = HEAP16[$138>>1]|0; $140 = $139 << 16 >> 16; _sqlite3VdbeSetVarmask($136,$140); @@ -136407,9 +137482,9 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { break; } $144 = HEAP32[$pRight>>2]|0; - $145 = (($144) + 8|0); + $145 = ((($144)) + 8|0); $146 = HEAP32[$145>>2]|0; - $147 = (($146) + 1|0); + $147 = ((($146)) + 1|0); $148 = HEAP8[$147>>0]|0; $149 = $148 << 24 >> 24; $150 = ($149|0)!=(0); @@ -136471,16 +137546,16 @@ function _isMatchOfColumn($pExpr) { HEAP32[$0>>2] = 0; } else { $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_stricmp($8,21512)|0); + $9 = (_sqlite3_stricmp($8,24408)|0); $10 = ($9|0)!=(0); if ($10) { HEAP32[$0>>2] = 0; break; } $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pList>>2] = $13; $14 = HEAP32[$pList>>2]|0; @@ -136491,9 +137566,9 @@ function _isMatchOfColumn($pExpr) { break; } $17 = HEAP32[$pList>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 20|0); + $20 = ((($19)) + 20|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP8[$21>>0]|0; $23 = $22&255; @@ -136536,22 +137611,22 @@ function _sqlite3IsLikeFunction($db,$pExpr,$pIsNocase,$aWc) { $8 = ($7|0)!=(153); if (!($8)) { $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 20|0); + $10 = ((($9)) + 20|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)!=(0|0); if ($12) { $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 20|0); + $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = ($16|0)!=(2); if (!($17)) { $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$2>>2]|0; - $20 = (($19) + 8|0); + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 8|0); + $23 = ((($22)) + 8|0); $24 = HEAP32[$23>>2]|0; $25 = (_sqlite3Strlen30($24)|0); $26 = (_sqlite3FindFunction($18,$21,$25,2,1,0)|0); @@ -136560,7 +137635,7 @@ function _sqlite3IsLikeFunction($db,$pExpr,$pIsNocase,$aWc) { $28 = ($27|0)==(0|0); if (!($28)) { $29 = HEAP32[$pDef>>2]|0; - $30 = (($29) + 2|0); + $30 = ((($29)) + 2|0); $31 = HEAP16[$30>>1]|0; $32 = $31&65535; $33 = $32 & 4; @@ -136568,11 +137643,11 @@ function _sqlite3IsLikeFunction($db,$pExpr,$pIsNocase,$aWc) { if (!($34)) { $35 = HEAP32[$4>>2]|0; $36 = HEAP32[$pDef>>2]|0; - $37 = (($36) + 4|0); + $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; - ;HEAP8[$35+0>>0]=HEAP8[$38+0>>0]|0;HEAP8[$35+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$35+2>>0]=HEAP8[$38+2>>0]|0; + ;HEAP8[$35>>0]=HEAP8[$38>>0]|0;HEAP8[$35+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$35+2>>0]=HEAP8[$38+2>>0]|0; $39 = HEAP32[$pDef>>2]|0; - $40 = (($39) + 2|0); + $40 = ((($39)) + 2|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; $43 = $42 & 8; @@ -136618,12 +137693,12 @@ function _sqlite3VdbeGetBoundValue($v,$iVar,$aff) { $6 = HEAP32[$2>>2]|0; $7 = (($6) - 1)|0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 60|0); + $9 = ((($8)) + 60|0); $10 = HEAP32[$9>>2]|0; $11 = (($10) + (($7*40)|0)|0); HEAP32[$pMem>>2] = $11; $12 = HEAP32[$pMem>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = $15 & 1; @@ -136667,7 +137742,7 @@ function _sqlite3VdbeSetVarmask($v,$iVar) { $3 = ($2|0)>(32); if ($3) { $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 188|0); + $5 = ((($4)) + 188|0); HEAP32[$5>>2] = -1; STACKTOP = sp;return; } else { @@ -136675,7 +137750,7 @@ function _sqlite3VdbeSetVarmask($v,$iVar) { $7 = (($6) - 1)|0; $8 = 1 << $7; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 188|0); + $10 = ((($9)) + 188|0); $11 = HEAP32[$10>>2]|0; $12 = $11 | $8; HEAP32[$10>>2] = $12; @@ -136687,20 +137762,21 @@ function _sqlite3RowidConstraint($pParse,$onError,$pTab) { $onError = $onError|0; $pTab = $pTab|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $zMsg = 0, label = 0, sp = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $zMsg = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 48|0; $vararg_buffer2 = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $zMsg = sp + 12|0; - $rc = sp + 8|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 28|0; + $1 = sp + 32|0; + $2 = sp + 20|0; + $zMsg = sp + 16|0; + $rc = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $onError; HEAP32[$2>>2] = $pTab; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 36|0); + $4 = ((($3)) + 36|0); $5 = HEAP16[$4>>1]|0; $6 = $5 << 16 >> 16; $7 = ($6|0)>=(0); @@ -136710,18 +137786,18 @@ function _sqlite3RowidConstraint($pParse,$onError,$pTab) { $11 = HEAP32[$10>>2]|0; if ($7) { $12 = HEAP32[$2>>2]|0; - $13 = (($12) + 36|0); + $13 = ((($12)) + 36|0); $14 = HEAP16[$13>>1]|0; $15 = $14 << 16 >> 16; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + (($15*24)|0)|0); $20 = HEAP32[$19>>2]|0; - HEAP32[$vararg_buffer2>>2] = $11; - $vararg_ptr1 = (($vararg_buffer2) + 4|0); + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $20; - $21 = (_sqlite3MPrintf($9,17448,$vararg_buffer2)|0); + $21 = (_sqlite3MPrintf($9,21695,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $21; HEAP32[$rc>>2] = 1555; $23 = HEAP32[$0>>2]|0; @@ -136732,7 +137808,7 @@ function _sqlite3RowidConstraint($pParse,$onError,$pTab) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer2>>2] = $11; - $22 = (_sqlite3MPrintf($9,24432,$vararg_buffer2)|0); + $22 = (_sqlite3MPrintf($9,26792,$vararg_buffer2)|0); HEAP32[$zMsg>>2] = $22; HEAP32[$rc>>2] = 2579; $23 = HEAP32[$0>>2]|0; @@ -136765,7 +137841,7 @@ function _sqlite3FkRequired($pParse,$pTab,$aChange,$chngRowid) { HEAP32[$4>>2] = $chngRowid; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 24|0); + $7 = ((($6)) + 24|0); $8 = HEAP32[$7>>2]|0; $9 = $8 & 524288; $10 = ($9|0)!=(0); @@ -136781,7 +137857,7 @@ function _sqlite3FkRequired($pParse,$pTab,$aChange,$chngRowid) { $21 = 1; } else { $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 16|0); + $17 = ((($16)) + 16|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)!=(0|0); $21 = $19; @@ -136791,7 +137867,7 @@ function _sqlite3FkRequired($pParse,$pTab,$aChange,$chngRowid) { $47 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($47|0); } - $22 = (($13) + 16|0); + $22 = ((($13)) + 16|0); $23 = HEAP32[$22>>2]|0; HEAP32[$p>>2] = $23; while(1) { @@ -136811,7 +137887,7 @@ function _sqlite3FkRequired($pParse,$pTab,$aChange,$chngRowid) { break; } $32 = HEAP32[$p>>2]|0; - $33 = (($32) + 4|0); + $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; HEAP32[$p>>2] = $34; } @@ -136838,7 +137914,7 @@ function _sqlite3FkRequired($pParse,$pTab,$aChange,$chngRowid) { break; } $44 = HEAP32[$p>>2]|0; - $45 = (($44) + 12|0); + $45 = ((($44)) + 12|0); $46 = HEAP32[$45>>2]|0; HEAP32[$p>>2] = $46; } @@ -136860,12 +137936,12 @@ function _sqlite3MultiWrite($pParse) { $pToplevel = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 408|0); + $2 = ((($1)) + 408|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); $5 = HEAP32[$0>>2]|0; if ($4) { - $6 = (($5) + 408|0); + $6 = ((($5)) + 408|0); $7 = HEAP32[$6>>2]|0; $8 = $7; } else { @@ -136873,7 +137949,7 @@ function _sqlite3MultiWrite($pParse) { } HEAP32[$pToplevel>>2] = $8; $9 = HEAP32[$pToplevel>>2]|0; - $10 = (($9) + 20|0); + $10 = ((($9)) + 20|0); HEAP8[$10>>0] = 1; STACKTOP = sp;return; } @@ -136899,22 +137975,22 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; + $1 = sp + 16|0; + $2 = sp; + $3 = sp + 28|0; + $4 = sp + 32|0; + $5 = sp + 40|0; $6 = sp + 48|0; - $7 = sp + 53|0; - $8 = sp + 52|0; - $9 = sp + 51|0; - $v = sp + 20|0; - $iOld = sp + 16|0; - $iLabel = sp + 12|0; - $opSeek = sp + 50|0; - $mask = sp + 8|0; - $iCol = sp + 4|0; - $addrStart = sp; + $7 = sp + 50|0; + $8 = sp + 51|0; + $9 = sp + 53|0; + $v = sp + 4|0; + $iOld = sp + 36|0; + $iLabel = sp + 8|0; + $opSeek = sp + 52|0; + $mask = sp + 20|0; + $iCol = sp + 24|0; + $addrStart = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $pTrigger; @@ -136926,7 +138002,7 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i HEAP8[$8>>0] = $onconf; HEAP8[$9>>0] = $bNoSeek; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; HEAP32[$v>>2] = $12; HEAP32[$iOld>>2] = 0; @@ -136934,7 +138010,7 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i $14 = (_sqlite3VdbeMakeLabel($13)|0); HEAP32[$iLabel>>2] = $14; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 44|0); + $16 = ((($15)) + 44|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 & 32; @@ -136977,17 +138053,17 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i $49 = $48 | $47; HEAP32[$mask>>2] = $49; $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 72|0); + $51 = ((($50)) + 72|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + 1)|0; HEAP32[$iOld>>2] = $53; $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 38|0); + $55 = ((($54)) + 38|0); $56 = HEAP16[$55>>1]|0; $57 = $56 << 16 >> 16; $58 = (1 + ($57))|0; $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 72|0); + $60 = ((($59)) + 72|0); $61 = HEAP32[$60>>2]|0; $62 = (($61) + ($58))|0; HEAP32[$60>>2] = $62; @@ -136999,7 +138075,7 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i while(1) { $66 = HEAP32[$iCol>>2]|0; $67 = HEAP32[$1>>2]|0; - $68 = (($67) + 38|0); + $68 = ((($67)) + 38|0); $69 = HEAP16[$68>>1]|0; $70 = $69 << 16 >> 16; $71 = ($66|0)<($70|0); @@ -137072,7 +138148,7 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i _sqlite3FkCheck($112,$113,$114,0,0,0); } $115 = HEAP32[$1>>2]|0; - $116 = (($115) + 12|0); + $116 = ((($115)) + 12|0); $117 = HEAP32[$116>>2]|0; $118 = ($117|0)==(0|0); if (!($118)) { @@ -137158,18 +138234,18 @@ function _sqlite3GenerateRowIndexDelete($pParse,$pTab,$iDataCur,$iIdxCur,$aRegId var $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iPartIdxLabel = 0, $pIdx = 0, $pPk = 0, $pPrior = 0, $r1 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; + $0 = sp; + $1 = sp + 8|0; $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $i = sp + 24|0; - $r1 = sp + 20|0; - $iPartIdxLabel = sp + 16|0; - $pIdx = sp + 12|0; - $pPrior = sp + 8|0; + $3 = sp + 16|0; + $4 = sp + 32|0; + $i = sp + 40|0; + $r1 = sp + 44|0; + $iPartIdxLabel = sp + 24|0; + $pIdx = sp + 20|0; + $pPrior = sp + 12|0; $v = sp + 4|0; - $pPk = sp; + $pPk = sp + 28|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $iDataCur; @@ -137178,11 +138254,11 @@ function _sqlite3GenerateRowIndexDelete($pParse,$pTab,$iDataCur,$iIdxCur,$aRegId HEAP32[$r1>>2] = -1; HEAP32[$pPrior>>2] = 0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$v>>2] = $7; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 44|0); + $9 = ((($8)) + 44|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 & 32; @@ -137197,7 +138273,7 @@ function _sqlite3GenerateRowIndexDelete($pParse,$pTab,$iDataCur,$iIdxCur,$aRegId HEAP32[$pPk>>2] = $16; HEAP32[$i>>2] = 0; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pIdx>>2] = $19; while(1) { @@ -137239,7 +138315,7 @@ function _sqlite3GenerateRowIndexDelete($pParse,$pTab,$iDataCur,$iIdxCur,$aRegId $41 = (($39) + ($40))|0; $42 = HEAP32[$r1>>2]|0; $43 = HEAP32[$pIdx>>2]|0; - $44 = (($43) + 55|0); + $44 = ((($43)) + 55|0); $45 = HEAP8[$44>>0]|0; $46 = ($45&255) >>> 3; $47 = $46 & 1; @@ -137247,11 +138323,11 @@ function _sqlite3GenerateRowIndexDelete($pParse,$pTab,$iDataCur,$iIdxCur,$aRegId $49 = ($48|0)!=(0); $50 = HEAP32[$pIdx>>2]|0; if ($49) { - $51 = (($50) + 50|0); + $51 = ((($50)) + 50|0); $52 = HEAP16[$51>>1]|0; $$sink = $52; } else { - $53 = (($50) + 52|0); + $53 = ((($50)) + 52|0); $54 = HEAP16[$53>>1]|0; $$sink = $54; } @@ -137268,7 +138344,7 @@ function _sqlite3GenerateRowIndexDelete($pParse,$pTab,$iDataCur,$iIdxCur,$aRegId $60 = (($59) + 1)|0; HEAP32[$i>>2] = $60; $61 = HEAP32[$pIdx>>2]|0; - $62 = (($61) + 20|0); + $62 = ((($61)) + 20|0); $63 = HEAP32[$62>>2]|0; HEAP32[$pIdx>>2] = $63; } @@ -137287,17 +138363,17 @@ function _sqlite3TriggerColmask($pParse,$pTrigger,$pChanges,$isNew,$tr_tm,$pTab, var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mask = 0, $op = 0, $p = 0, $pPrg = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp; $3 = sp + 28|0; - $4 = sp + 24|0; - $5 = sp + 20|0; - $6 = sp + 16|0; - $op = sp + 12|0; - $mask = sp + 8|0; - $p = sp + 4|0; - $pPrg = sp; + $4 = sp + 32|0; + $5 = sp + 40|0; + $6 = sp + 12|0; + $op = sp + 24|0; + $mask = sp + 20|0; + $p = sp + 8|0; + $pPrg = sp + 4|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTrigger; HEAP32[$2>>2] = $pChanges; @@ -137319,7 +138395,7 @@ function _sqlite3TriggerColmask($pParse,$pTrigger,$pChanges,$isNew,$tr_tm,$pTab, break; } $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = HEAP32[$op>>2]|0; @@ -137327,14 +138403,14 @@ function _sqlite3TriggerColmask($pParse,$pTrigger,$pChanges,$isNew,$tr_tm,$pTab, if ($18) { $19 = HEAP32[$4>>2]|0; $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 9|0); + $21 = ((($20)) + 9|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $19 & $23; $25 = ($24|0)!=(0); if ($25) { $26 = HEAP32[$p>>2]|0; - $27 = (($26) + 16|0); + $27 = ((($26)) + 16|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$2>>2]|0; $30 = (_checkColumnOverlap($28,$29)|0); @@ -137351,7 +138427,7 @@ function _sqlite3TriggerColmask($pParse,$pTrigger,$pChanges,$isNew,$tr_tm,$pTab, if ($38) { $39 = HEAP32[$3>>2]|0; $40 = HEAP32[$pPrg>>2]|0; - $41 = (($40) + 16|0); + $41 = ((($40)) + 16|0); $42 = (($41) + ($39<<2)|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$mask>>2]|0; @@ -137362,7 +138438,7 @@ function _sqlite3TriggerColmask($pParse,$pTrigger,$pChanges,$isNew,$tr_tm,$pTab, } } $46 = HEAP32[$p>>2]|0; - $47 = (($46) + 32|0); + $47 = ((($46)) + 32|0); $48 = HEAP32[$47>>2]|0; HEAP32[$p>>2] = $48; } @@ -137390,7 +138466,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { HEAP32[$mask>>2] = 0; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 24|0); + $4 = ((($3)) + 24|0); $5 = HEAP32[$4>>2]|0; $6 = $5 & 524288; $7 = ($6|0)!=(0); @@ -137399,7 +138475,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { STACKTOP = sp;return ($77|0); } $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 16|0); + $9 = ((($8)) + 16|0); $10 = HEAP32[$9>>2]|0; HEAP32[$p>>2] = $10; while(1) { @@ -137412,7 +138488,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { while(1) { $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 20|0); + $15 = ((($14)) + 20|0); $16 = HEAP32[$15>>2]|0; $17 = ($13|0)<($16|0); if (!($17)) { @@ -137420,7 +138496,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { } $18 = HEAP32[$i>>2]|0; $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 36|0); + $20 = ((($19)) + 36|0); $21 = (($20) + ($18<<3)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)>(31); @@ -137429,7 +138505,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { } else { $24 = HEAP32[$i>>2]|0; $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 36|0); + $26 = ((($25)) + 36|0); $27 = (($26) + ($24<<3)|0); $28 = HEAP32[$27>>2]|0; $29 = 1 << $28; @@ -137443,7 +138519,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { HEAP32[$i>>2] = $34; } $35 = HEAP32[$p>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; HEAP32[$p>>2] = $37; } @@ -137469,7 +138545,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { while(1) { $47 = HEAP32[$i>>2]|0; $48 = HEAP32[$pIdx>>2]|0; - $49 = (($48) + 50|0); + $49 = ((($48)) + 50|0); $50 = HEAP16[$49>>1]|0; $51 = $50&65535; $52 = ($47|0)<($51|0); @@ -137478,7 +138554,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { } $53 = HEAP32[$i>>2]|0; $54 = HEAP32[$pIdx>>2]|0; - $55 = (($54) + 4|0); + $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; $57 = (($56) + ($53<<1)|0); $58 = HEAP16[$57>>1]|0; @@ -137489,7 +138565,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { } else { $61 = HEAP32[$i>>2]|0; $62 = HEAP32[$pIdx>>2]|0; - $63 = (($62) + 4|0); + $63 = ((($62)) + 4|0); $64 = HEAP32[$63>>2]|0; $65 = (($64) + ($61<<1)|0); $66 = HEAP16[$65>>1]|0; @@ -137507,7 +138583,7 @@ function _sqlite3FkOldmask($pParse,$pTab) { } } while(0); $74 = HEAP32[$p>>2]|0; - $75 = (($74) + 12|0); + $75 = ((($74)) + 12|0); $76 = HEAP32[$75>>2]|0; HEAP32[$p>>2] = $76; } @@ -137526,14 +138602,14 @@ function _sqlite3FkActions($pParse,$pTab,$pChanges,$regOld,$aChange,$bChngRowid) var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $pFKey = sp + 4|0; - $pAct = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $5 = sp; + $pFKey = sp + 12|0; + $pAct = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $pChanges; @@ -137542,7 +138618,7 @@ function _sqlite3FkActions($pParse,$pTab,$pChanges,$regOld,$aChange,$bChngRowid) HEAP32[$5>>2] = $bChngRowid; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$6>>2]|0; - $8 = (($7) + 24|0); + $8 = ((($7)) + 24|0); $9 = HEAP32[$8>>2]|0; $10 = $9 & 524288; $11 = ($10|0)!=(0); @@ -137592,7 +138668,7 @@ function _sqlite3FkActions($pParse,$pTab,$pChanges,$regOld,$aChange,$bChngRowid) } } $35 = HEAP32[$pFKey>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = HEAP32[$36>>2]|0; HEAP32[$pFKey>>2] = $37; } @@ -137620,37 +138696,37 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { var $99 = 0, $action = 0, $aiCol = 0, $db = 0, $enableLookaside = 0, $i = 0, $iAction = 0, $iFromCol = 0, $nFrom = 0, $or$cond = 0, $or$cond3 = 0, $pDflt = 0, $pEq = 0, $pIdx = 0, $pList = 0, $pNew = 0, $pRaise = 0, $pSelect = 0, $pStep = 0, $pTrigger = 0; var $pWhen = 0, $pWhere = 0, $tFrom = 0, $tFromCol = 0, $tNew = 0, $tOld = 0, $tToCol = 0, $zFrom = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 136|0; - $1 = sp + 132|0; - $2 = sp + 128|0; - $3 = sp + 124|0; + STACKTOP = STACKTOP + 160|0; + $0 = sp + 80|0; + $1 = sp + 44|0; + $2 = sp + 40|0; + $3 = sp + 128|0; $4 = sp + 120|0; - $db = sp + 116|0; - $action = sp + 112|0; - $pTrigger = sp + 108|0; - $iAction = sp + 104|0; - $enableLookaside = sp + 140|0; - $zFrom = sp + 100|0; - $nFrom = sp + 96|0; - $pIdx = sp + 92|0; - $aiCol = sp + 88|0; - $pStep = sp + 84|0; - $pWhere = sp + 80|0; - $pList = sp + 76|0; - $pSelect = sp + 72|0; - $i = sp + 68|0; - $pWhen = sp + 64|0; - $tOld = sp + 56|0; - $tNew = sp + 48|0; - $tFromCol = sp + 40|0; - $tToCol = sp + 32|0; - $iFromCol = sp + 28|0; - $pEq = sp + 24|0; - $pNew = sp + 20|0; - $pDflt = sp + 16|0; - $tFrom = sp + 8|0; - $pRaise = sp; + $db = sp + 16|0; + $action = sp + 20|0; + $pTrigger = sp + 84|0; + $iAction = sp + 24|0; + $enableLookaside = sp + 144|0; + $zFrom = sp + 32|0; + $nFrom = sp + 116|0; + $pIdx = sp + 124|0; + $aiCol = sp + 132|0; + $pStep = sp + 136|0; + $pWhere = sp + 140|0; + $pList = sp + 56|0; + $pSelect = sp + 60|0; + $i = sp + 64|0; + $pWhen = sp + 68|0; + $tOld = sp + 72|0; + $tNew = sp + 8|0; + $tFromCol = sp + 88|0; + $tToCol = sp + 104|0; + $iFromCol = sp; + $pEq = sp + 96|0; + $pNew = sp + 36|0; + $pDflt = sp + 112|0; + $tFrom = sp + 48|0; + $pRaise = sp + 28|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTab; HEAP32[$3>>2] = $pFKey; @@ -137664,14 +138740,14 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { HEAP32[$iAction>>2] = $9; $10 = HEAP32[$iAction>>2]|0; $11 = HEAP32[$3>>2]|0; - $12 = (($11) + 25|0); + $12 = ((($11)) + 25|0); $13 = (($12) + ($10)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; HEAP32[$action>>2] = $15; $16 = HEAP32[$iAction>>2]|0; $17 = HEAP32[$3>>2]|0; - $18 = (($17) + 28|0); + $18 = ((($17)) + 28|0); $19 = (($18) + ($16<<2)|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pTrigger>>2] = $20; @@ -137702,14 +138778,14 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { while(1) { $30 = HEAP32[$i>>2]|0; $31 = HEAP32[$3>>2]|0; - $32 = (($31) + 20|0); + $32 = ((($31)) + 20|0); $33 = HEAP32[$32>>2]|0; $34 = ($30|0)<($33|0); if (!($34)) { break; } - ;HEAP32[$tOld+0>>2]=HEAP32[24376+0>>2]|0;HEAP32[$tOld+4>>2]=HEAP32[24376+4>>2]|0; - ;HEAP32[$tNew+0>>2]=HEAP32[24384+0>>2]|0;HEAP32[$tNew+4>>2]=HEAP32[24384+4>>2]|0; + ;HEAP32[$tOld>>2]=HEAP32[3272>>2]|0;HEAP32[$tOld+4>>2]=HEAP32[3272+4>>2]|0; + ;HEAP32[$tNew>>2]=HEAP32[3280>>2]|0;HEAP32[$tNew+4>>2]=HEAP32[3280+4>>2]|0; $35 = HEAP32[$aiCol>>2]|0; $36 = ($35|0)!=(0|0); if ($36) { @@ -137720,7 +138796,7 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $44 = $40; } else { $41 = HEAP32[$3>>2]|0; - $42 = (($41) + 36|0); + $42 = ((($41)) + 36|0); $43 = HEAP32[$42>>2]|0; $44 = $43; } @@ -137730,36 +138806,36 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { if ($46) { $47 = HEAP32[$i>>2]|0; $48 = HEAP32[$pIdx>>2]|0; - $49 = (($48) + 4|0); + $49 = ((($48)) + 4|0); $50 = HEAP32[$49>>2]|0; $51 = (($50) + ($47<<1)|0); $52 = HEAP16[$51>>1]|0; $53 = $52 << 16 >> 16; $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 4|0); + $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; $57 = (($56) + (($53*24)|0)|0); $58 = HEAP32[$57>>2]|0; $59 = $58; } else { - $59 = 24392; + $59 = 26758; } HEAP32[$tToCol>>2] = $59; $60 = HEAP32[$iFromCol>>2]|0; $61 = HEAP32[$3>>2]|0; $62 = HEAP32[$61>>2]|0; - $63 = (($62) + 4|0); + $63 = ((($62)) + 4|0); $64 = HEAP32[$63>>2]|0; $65 = (($64) + (($60*24)|0)|0); $66 = HEAP32[$65>>2]|0; HEAP32[$tFromCol>>2] = $66; $67 = HEAP32[$tToCol>>2]|0; $68 = (_sqlite3Strlen30($67)|0); - $69 = (($tToCol) + 4|0); + $69 = ((($tToCol)) + 4|0); HEAP32[$69>>2] = $68; $70 = HEAP32[$tFromCol>>2]|0; $71 = (_sqlite3Strlen30($70)|0); - $72 = (($tFromCol) + 4|0); + $72 = ((($tFromCol)) + 4|0); HEAP32[$72>>2] = $71; $73 = HEAP32[$1>>2]|0; $74 = HEAP32[$1>>2]|0; @@ -137833,10 +138909,10 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $123 = HEAP32[$iFromCol>>2]|0; $124 = HEAP32[$3>>2]|0; $125 = HEAP32[$124>>2]|0; - $126 = (($125) + 4|0); + $126 = ((($125)) + 4|0); $127 = HEAP32[$126>>2]|0; $128 = (($127) + (($123*24)|0)|0); - $129 = (($128) + 4|0); + $129 = ((($128)) + 4|0); $130 = HEAP32[$129>>2]|0; HEAP32[$pDflt>>2] = $130; $131 = HEAP32[$pDflt>>2]|0; @@ -137885,16 +138961,16 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $157 = HEAP32[$zFrom>>2]|0; HEAP32[$tFrom>>2] = $157; $158 = HEAP32[$nFrom>>2]|0; - $159 = (($tFrom) + 4|0); + $159 = ((($tFrom)) + 4|0); HEAP32[$159>>2] = $158; $160 = HEAP32[$db>>2]|0; - $161 = (_sqlite3Expr($160,57,24400)|0); + $161 = (_sqlite3Expr($160,57,26762)|0); HEAP32[$pRaise>>2] = $161; $162 = HEAP32[$pRaise>>2]|0; $163 = ($162|0)!=(0|0); if ($163) { $164 = HEAP32[$pRaise>>2]|0; - $165 = (($164) + 1|0); + $165 = ((($164)) + 1|0); HEAP8[$165>>0] = 2; } $166 = HEAP32[$1>>2]|0; @@ -137909,13 +138985,13 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { HEAP32[$pWhere>>2] = 0; } $174 = HEAP32[$db>>2]|0; - $175 = (($174) + 248|0); - $176 = (($175) + 2|0); + $175 = ((($174)) + 248|0); + $176 = ((($175)) + 2|0); $177 = HEAP8[$176>>0]|0; HEAP8[$enableLookaside>>0] = $177; $178 = HEAP32[$db>>2]|0; - $179 = (($178) + 248|0); - $180 = (($179) + 2|0); + $179 = ((($178)) + 248|0); + $180 = ((($179)) + 2|0); HEAP8[$180>>0] = 0; $181 = HEAP32[$db>>2]|0; $182 = HEAP32[$nFrom>>2]|0; @@ -137927,23 +139003,23 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $187 = ($186|0)!=(0|0); if ($187) { $188 = HEAP32[$pTrigger>>2]|0; - $189 = (($188) + 36|0); + $189 = ((($188)) + 36|0); $190 = HEAP32[$pTrigger>>2]|0; - $191 = (($190) + 28|0); + $191 = ((($190)) + 28|0); HEAP32[$191>>2] = $189; HEAP32[$pStep>>2] = $189; $192 = HEAP32[$pStep>>2]|0; - $193 = (($192) + 40|0); + $193 = ((($192)) + 40|0); $194 = HEAP32[$pStep>>2]|0; - $195 = (($194) + 12|0); + $195 = ((($194)) + 12|0); HEAP32[$195>>2] = $193; $196 = HEAP32[$nFrom>>2]|0; $197 = HEAP32[$pStep>>2]|0; - $198 = (($197) + 12|0); - $199 = (($198) + 4|0); + $198 = ((($197)) + 12|0); + $199 = ((($198)) + 4|0); HEAP32[$199>>2] = $196; $200 = HEAP32[$pStep>>2]|0; - $201 = (($200) + 12|0); + $201 = ((($200)) + 12|0); $202 = HEAP32[$201>>2]|0; $203 = HEAP32[$zFrom>>2]|0; $204 = HEAP32[$nFrom>>2]|0; @@ -137952,19 +139028,19 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $206 = HEAP32[$pWhere>>2]|0; $207 = (_sqlite3ExprDup($205,$206,1)|0); $208 = HEAP32[$pStep>>2]|0; - $209 = (($208) + 20|0); + $209 = ((($208)) + 20|0); HEAP32[$209>>2] = $207; $210 = HEAP32[$db>>2]|0; $211 = HEAP32[$pList>>2]|0; $212 = (_sqlite3ExprListDup($210,$211,1)|0); $213 = HEAP32[$pStep>>2]|0; - $214 = (($213) + 24|0); + $214 = ((($213)) + 24|0); HEAP32[$214>>2] = $212; $215 = HEAP32[$db>>2]|0; $216 = HEAP32[$pSelect>>2]|0; $217 = (_sqlite3SelectDup($215,$216,1)|0); $218 = HEAP32[$pStep>>2]|0; - $219 = (($218) + 8|0); + $219 = ((($218)) + 8|0); HEAP32[$219>>2] = $217; $220 = HEAP32[$pWhen>>2]|0; $221 = ($220|0)!=(0|0); @@ -137977,14 +139053,14 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $226 = HEAP32[$pWhen>>2]|0; $227 = (_sqlite3ExprDup($225,$226,1)|0); $228 = HEAP32[$pTrigger>>2]|0; - $229 = (($228) + 12|0); + $229 = ((($228)) + 12|0); HEAP32[$229>>2] = $227; } } $230 = HEAP8[$enableLookaside>>0]|0; $231 = HEAP32[$db>>2]|0; - $232 = (($231) + 248|0); - $233 = (($232) + 2|0); + $232 = ((($231)) + 248|0); + $233 = ((($232)) + 2|0); HEAP8[$233>>0] = $230; $234 = HEAP32[$db>>2]|0; $235 = HEAP32[$pWhere>>2]|0; @@ -137999,7 +139075,7 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $241 = HEAP32[$pSelect>>2]|0; _sqlite3SelectDelete($240,$241); $242 = HEAP32[$db>>2]|0; - $243 = (($242) + 64|0); + $243 = ((($242)) + 64|0); $244 = HEAP8[$243>>0]|0; $245 = $244&255; $246 = ($245|0)==(1); @@ -138012,7 +139088,13 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { STACKTOP = sp;return ($280|0); } $249 = HEAP32[$action>>2]|0; - if ((($249|0) == 9)) { + switch ($249|0) { + case 6: { + $250 = HEAP32[$pStep>>2]|0; + HEAP8[$250>>0] = 119; + break; + } + case 9: { $251 = HEAP32[$4>>2]|0; $252 = ($251|0)!=(0|0); if ($252) { @@ -138021,36 +139103,36 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $253 = HEAP32[$pStep>>2]|0; HEAP8[$253>>0] = 109; } - } else if ((($249|0) == 6)) { - $250 = HEAP32[$pStep>>2]|0; - HEAP8[$250>>0] = 119; - } else { + break; + } + default: { label = 37; } + } if ((label|0) == 37) { $254 = HEAP32[$pStep>>2]|0; HEAP8[$254>>0] = 110; } $255 = HEAP32[$pTrigger>>2]|0; $256 = HEAP32[$pStep>>2]|0; - $257 = (($256) + 4|0); + $257 = ((($256)) + 4|0); HEAP32[$257>>2] = $255; $258 = HEAP32[$2>>2]|0; - $259 = (($258) + 68|0); + $259 = ((($258)) + 68|0); $260 = HEAP32[$259>>2]|0; $261 = HEAP32[$pTrigger>>2]|0; - $262 = (($261) + 20|0); + $262 = ((($261)) + 20|0); HEAP32[$262>>2] = $260; $263 = HEAP32[$2>>2]|0; - $264 = (($263) + 68|0); + $264 = ((($263)) + 68|0); $265 = HEAP32[$264>>2]|0; $266 = HEAP32[$pTrigger>>2]|0; - $267 = (($266) + 24|0); + $267 = ((($266)) + 24|0); HEAP32[$267>>2] = $265; $268 = HEAP32[$pTrigger>>2]|0; $269 = HEAP32[$iAction>>2]|0; $270 = HEAP32[$3>>2]|0; - $271 = (($270) + 28|0); + $271 = ((($270)) + 28|0); $272 = (($271) + ($269<<2)|0); HEAP32[$272>>2] = $268; $273 = HEAP32[$4>>2]|0; @@ -138058,7 +139140,7 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $275 = $274 ? 110 : 109; $276 = $275&255; $277 = HEAP32[$pTrigger>>2]|0; - $278 = (($277) + 8|0); + $278 = ((($277)) + 8|0); HEAP8[$278>>0] = $276; } $279 = HEAP32[$pTrigger>>2]|0; @@ -138078,15 +139160,15 @@ function _sqlite3CodeRowTriggerDirect($pParse,$p,$pTab,$reg,$orconf,$ignoreJump) var $bRecursive = 0, $pPrg = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $5 = sp + 12|0; - $v = sp + 8|0; - $pPrg = sp + 4|0; - $bRecursive = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $5 = sp; + $v = sp + 12|0; + $pPrg = sp + 24|0; + $bRecursive = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pTab; @@ -138113,7 +139195,7 @@ function _sqlite3CodeRowTriggerDirect($pParse,$p,$pTab,$reg,$orconf,$ignoreJump) if ($17) { $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$18>>2]|0; - $20 = (($19) + 24|0); + $20 = ((($19)) + 24|0); $21 = HEAP32[$20>>2]|0; $22 = $21 & 262144; $23 = (0)==($22|0); @@ -138127,14 +139209,14 @@ function _sqlite3CodeRowTriggerDirect($pParse,$p,$pTab,$reg,$orconf,$ignoreJump) $27 = HEAP32[$3>>2]|0; $28 = HEAP32[$5>>2]|0; $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 72|0); + $30 = ((($29)) + 72|0); $31 = HEAP32[$30>>2]|0; $32 = (($31) + 1)|0; HEAP32[$30>>2] = $32; (_sqlite3VdbeAddOp3($26,131,$27,$28,$32)|0); $33 = HEAP32[$v>>2]|0; $34 = HEAP32[$pPrg>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); $36 = HEAP32[$35>>2]|0; _sqlite3VdbeChangeP4($33,-1,$36,-18); $37 = HEAP32[$v>>2]|0; @@ -138164,12 +139246,12 @@ function _getRowTrigger($pParse,$pTrigger,$pTab,$orconf) { HEAP32[$2>>2] = $pTab; HEAP32[$3>>2] = $orconf; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 408|0); + $5 = ((($4)) + 408|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0|0); $8 = HEAP32[$0>>2]|0; if ($7) { - $9 = (($8) + 408|0); + $9 = ((($8)) + 408|0); $10 = HEAP32[$9>>2]|0; $11 = $10; } else { @@ -138177,7 +139259,7 @@ function _getRowTrigger($pParse,$pTrigger,$pTab,$orconf) { } HEAP32[$pRoot>>2] = $11; $12 = HEAP32[$pRoot>>2]|0; - $13 = (($12) + 528|0); + $13 = ((($12)) + 528|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pPrg>>2] = $14; while(1) { @@ -138192,7 +139274,7 @@ function _getRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $20 = ($18|0)!=($19|0); if (!($20)) { $21 = HEAP32[$pPrg>>2]|0; - $22 = (($21) + 12|0); + $22 = ((($21)) + 12|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$3>>2]|0; $25 = ($23|0)!=($24|0); @@ -138201,7 +139283,7 @@ function _getRowTrigger($pParse,$pTrigger,$pTab,$orconf) { } } $26 = HEAP32[$pPrg>>2]|0; - $27 = (($26) + 4|0); + $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pPrg>>2] = $28; } @@ -138237,31 +139319,31 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer = sp; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $pTop = sp + 64|0; - $db = sp + 60|0; - $pPrg = sp + 56|0; - $pWhen = sp + 52|0; - $v = sp + 48|0; - $sNC = sp + 16|0; - $pProgram = sp + 12|0; - $pSubParse = sp + 8|0; - $iEndTrigger = sp + 4|0; + $0 = sp + 28|0; + $1 = sp + 4|0; + $2 = sp + 16|0; + $3 = sp + 32|0; + $4 = sp + 8|0; + $pTop = sp + 12|0; + $db = sp + 24|0; + $pPrg = sp + 20|0; + $pWhen = sp + 36|0; + $v = sp + 40|0; + $sNC = sp + 48|0; + $pProgram = sp + 80|0; + $pSubParse = sp + 84|0; + $iEndTrigger = sp + 88|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pTrigger; HEAP32[$3>>2] = $pTab; HEAP32[$4>>2] = $orconf; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 408|0); + $6 = ((($5)) + 408|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); $9 = HEAP32[$1>>2]|0; if ($8) { - $10 = (($9) + 408|0); + $10 = ((($9)) + 408|0); $11 = HEAP32[$10>>2]|0; $12 = $11; } else { @@ -138285,20 +139367,20 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { STACKTOP = sp;return ($165|0); } $19 = HEAP32[$pTop>>2]|0; - $20 = (($19) + 528|0); + $20 = ((($19)) + 528|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$pPrg>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); HEAP32[$23>>2] = $21; $24 = HEAP32[$pPrg>>2]|0; $25 = HEAP32[$pTop>>2]|0; - $26 = (($25) + 528|0); + $26 = ((($25)) + 528|0); HEAP32[$26>>2] = $24; $27 = HEAP32[$db>>2]|0; $28 = (_sqlite3DbMallocZero($27,28,0)|0); HEAP32[$pProgram>>2] = $28; $29 = HEAP32[$pPrg>>2]|0; - $30 = (($29) + 8|0); + $30 = ((($29)) + 8|0); HEAP32[$30>>2] = $28; $31 = HEAP32[$pProgram>>2]|0; $32 = ($31|0)!=(0|0); @@ -138308,7 +139390,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { STACKTOP = sp;return ($165|0); } $33 = HEAP32[$pTop>>2]|0; - $34 = (($33) + 8|0); + $34 = ((($33)) + 8|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[$pProgram>>2]|0; _sqlite3VdbeLinkSubProgram($35,$36); @@ -138317,14 +139399,14 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { HEAP32[$38>>2] = $37; $39 = HEAP32[$4>>2]|0; $40 = HEAP32[$pPrg>>2]|0; - $41 = (($40) + 12|0); + $41 = ((($40)) + 12|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$pPrg>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); HEAP32[$43>>2] = -1; $44 = HEAP32[$pPrg>>2]|0; - $45 = (($44) + 16|0); - $46 = (($45) + 4|0); + $45 = ((($44)) + 16|0); + $46 = ((($45)) + 4|0); HEAP32[$46>>2] = -1; $47 = HEAP32[$db>>2]|0; $48 = (_sqlite3DbMallocZero($47,536,0)|0); @@ -138336,7 +139418,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $165 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($165|0); } - ;HEAP32[$sNC+0>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $51 = HEAP32[$pSubParse>>2]|0; HEAP32[$sNC>>2] = $51; $52 = HEAP32[$db>>2]|0; @@ -138344,28 +139426,28 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { HEAP32[$53>>2] = $52; $54 = HEAP32[$3>>2]|0; $55 = HEAP32[$pSubParse>>2]|0; - $56 = (($55) + 412|0); + $56 = ((($55)) + 412|0); HEAP32[$56>>2] = $54; $57 = HEAP32[$pTop>>2]|0; $58 = HEAP32[$pSubParse>>2]|0; - $59 = (($58) + 408|0); + $59 = ((($58)) + 408|0); HEAP32[$59>>2] = $57; $60 = HEAP32[$2>>2]|0; $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$pSubParse>>2]|0; - $63 = (($62) + 492|0); + $63 = ((($62)) + 492|0); HEAP32[$63>>2] = $61; $64 = HEAP32[$2>>2]|0; - $65 = (($64) + 8|0); + $65 = ((($64)) + 8|0); $66 = HEAP8[$65>>0]|0; $67 = HEAP32[$pSubParse>>2]|0; - $68 = (($67) + 436|0); + $68 = ((($67)) + 436|0); HEAP8[$68>>0] = $66; $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 424|0); + $70 = ((($69)) + 424|0); $71 = HEAP32[$70>>2]|0; $72 = HEAP32[$pSubParse>>2]|0; - $73 = (($72) + 424|0); + $73 = ((($72)) + 424|0); HEAP32[$73>>2] = $71; $74 = HEAP32[$pSubParse>>2]|0; $75 = (_sqlite3GetVdbe($74)|0); @@ -138378,16 +139460,16 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $80 = HEAP32[$2>>2]|0; $81 = HEAP32[$80>>2]|0; HEAP32[$vararg_buffer>>2] = $81; - $82 = (_sqlite3MPrintf($79,24176,$vararg_buffer)|0); + $82 = (_sqlite3MPrintf($79,26576,$vararg_buffer)|0); _sqlite3VdbeChangeP4($78,-1,$82,-1); $83 = HEAP32[$2>>2]|0; - $84 = (($83) + 12|0); + $84 = ((($83)) + 12|0); $85 = HEAP32[$84>>2]|0; $86 = ($85|0)!=(0|0); if ($86) { $87 = HEAP32[$db>>2]|0; $88 = HEAP32[$2>>2]|0; - $89 = (($88) + 12|0); + $89 = ((($88)) + 12|0); $90 = HEAP32[$89>>2]|0; $91 = (_sqlite3ExprDup($87,$90,0)|0); HEAP32[$pWhen>>2] = $91; @@ -138396,7 +139478,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $94 = (0)==($93|0); if ($94) { $95 = HEAP32[$db>>2]|0; - $96 = (($95) + 64|0); + $96 = ((($95)) + 64|0); $97 = HEAP8[$96>>0]|0; $98 = $97&255; $99 = ($98|0)==(0); @@ -138416,7 +139498,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { } $107 = HEAP32[$pSubParse>>2]|0; $108 = HEAP32[$2>>2]|0; - $109 = (($108) + 28|0); + $109 = ((($108)) + 28|0); $110 = HEAP32[$109>>2]|0; $111 = HEAP32[$4>>2]|0; (_codeTriggerProgram($107,$110,$111)|0); @@ -138433,54 +139515,54 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $118 = HEAP32[$pSubParse>>2]|0; _transferParseError($117,$118); $119 = HEAP32[$db>>2]|0; - $120 = (($119) + 64|0); + $120 = ((($119)) + 64|0); $121 = HEAP8[$120>>0]|0; $122 = $121&255; $123 = ($122|0)==(0); if ($123) { $124 = HEAP32[$v>>2]|0; $125 = HEAP32[$pProgram>>2]|0; - $126 = (($125) + 4|0); + $126 = ((($125)) + 4|0); $127 = HEAP32[$pTop>>2]|0; - $128 = (($127) + 392|0); + $128 = ((($127)) + 392|0); $129 = (_sqlite3VdbeTakeOpArray($124,$126,$128)|0); $130 = HEAP32[$pProgram>>2]|0; HEAP32[$130>>2] = $129; } $131 = HEAP32[$pSubParse>>2]|0; - $132 = (($131) + 72|0); + $132 = ((($131)) + 72|0); $133 = HEAP32[$132>>2]|0; $134 = HEAP32[$pProgram>>2]|0; - $135 = (($134) + 8|0); + $135 = ((($134)) + 8|0); HEAP32[$135>>2] = $133; $136 = HEAP32[$pSubParse>>2]|0; - $137 = (($136) + 68|0); + $137 = ((($136)) + 68|0); $138 = HEAP32[$137>>2]|0; $139 = HEAP32[$pProgram>>2]|0; - $140 = (($139) + 12|0); + $140 = ((($139)) + 12|0); HEAP32[$140>>2] = $138; $141 = HEAP32[$pSubParse>>2]|0; - $142 = (($141) + 80|0); + $142 = ((($141)) + 80|0); $143 = HEAP32[$142>>2]|0; $144 = HEAP32[$pProgram>>2]|0; - $145 = (($144) + 16|0); + $145 = ((($144)) + 16|0); HEAP32[$145>>2] = $143; $146 = HEAP32[$2>>2]|0; $147 = HEAP32[$pProgram>>2]|0; - $148 = (($147) + 20|0); + $148 = ((($147)) + 20|0); HEAP32[$148>>2] = $146; $149 = HEAP32[$pSubParse>>2]|0; - $150 = (($149) + 428|0); + $150 = ((($149)) + 428|0); $151 = HEAP32[$150>>2]|0; $152 = HEAP32[$pPrg>>2]|0; - $153 = (($152) + 16|0); + $153 = ((($152)) + 16|0); HEAP32[$153>>2] = $151; $154 = HEAP32[$pSubParse>>2]|0; - $155 = (($154) + 432|0); + $155 = ((($154)) + 432|0); $156 = HEAP32[$155>>2]|0; $157 = HEAP32[$pPrg>>2]|0; - $158 = (($157) + 16|0); - $159 = (($158) + 4|0); + $158 = ((($157)) + 16|0); + $159 = ((($158)) + 4|0); HEAP32[$159>>2] = $156; $160 = HEAP32[$v>>2]|0; _sqlite3VdbeDelete($160); @@ -138506,14 +139588,14 @@ function _sqlite3VdbeLinkSubProgram($pVdbe,$p) { HEAP32[$0>>2] = $pVdbe; HEAP32[$1>>2] = $p; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 192|0); + $3 = ((($2)) + 192|0); $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 24|0); + $6 = ((($5)) + 24|0); HEAP32[$6>>2] = $4; $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 192|0); + $9 = ((($8)) + 192|0); HEAP32[$9>>2] = $7; STACKTOP = sp;return; } @@ -138528,19 +139610,19 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $db = 0, $pSelect = 0, $pStep = 0, $sDest = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $pStep = sp + 32|0; - $v = sp + 28|0; - $db = sp + 24|0; - $sDest = sp + 4|0; - $pSelect = sp; + $0 = sp + 4|0; + $1 = sp + 32|0; + $2 = sp + 8|0; + $pStep = sp + 36|0; + $v = sp + 44|0; + $db = sp; + $sDest = sp + 12|0; + $pSelect = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pStepList; HEAP32[$2>>2] = $orconf; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$v>>2] = $5; $6 = HEAP32[$0>>2]|0; @@ -138558,7 +139640,7 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { $12 = ($11|0)==(10); if ($12) { $13 = HEAP32[$pStep>>2]|0; - $14 = (($13) + 1|0); + $14 = ((($13)) + 1|0); $15 = HEAP8[$14>>0]|0; $$sink = $15; } else { @@ -138569,66 +139651,73 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { $18 = $$sink&255; $19 = $18&255; $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 437|0); + $21 = ((($20)) + 437|0); HEAP8[$21>>0] = $19; $22 = HEAP32[$pStep>>2]|0; $23 = HEAP8[$22>>0]|0; $24 = $23&255; - if ((($24|0) == 109)) { - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$pStep>>2]|0; - $64 = (_targetSrcList($62,$63)|0); - $65 = HEAP32[$db>>2]|0; - $66 = HEAP32[$pStep>>2]|0; - $67 = (($66) + 20|0); - $68 = HEAP32[$67>>2]|0; - $69 = (_sqlite3ExprDup($65,$68,0)|0); - _sqlite3DeleteFrom($61,$64,$69); - } else if ((($24|0) == 108)) { - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$pStep>>2]|0; - $46 = (_targetSrcList($44,$45)|0); - $47 = HEAP32[$db>>2]|0; - $48 = HEAP32[$pStep>>2]|0; - $49 = (($48) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = (_sqlite3SelectDup($47,$50,0)|0); - $52 = HEAP32[$db>>2]|0; - $53 = HEAP32[$pStep>>2]|0; - $54 = (($53) + 28|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_sqlite3IdListDup($52,$55)|0); - $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 437|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - _sqlite3Insert($43,$46,$51,$56,$60); - } else if ((($24|0) == 110)) { + switch ($24|0) { + case 110: { $25 = HEAP32[$0>>2]|0; $26 = HEAP32[$0>>2]|0; $27 = HEAP32[$pStep>>2]|0; $28 = (_targetSrcList($26,$27)|0); $29 = HEAP32[$db>>2]|0; $30 = HEAP32[$pStep>>2]|0; - $31 = (($30) + 24|0); + $31 = ((($30)) + 24|0); $32 = HEAP32[$31>>2]|0; $33 = (_sqlite3ExprListDup($29,$32,0)|0); $34 = HEAP32[$db>>2]|0; $35 = HEAP32[$pStep>>2]|0; - $36 = (($35) + 20|0); + $36 = ((($35)) + 20|0); $37 = HEAP32[$36>>2]|0; $38 = (_sqlite3ExprDup($34,$37,0)|0); $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 437|0); + $40 = ((($39)) + 437|0); $41 = HEAP8[$40>>0]|0; $42 = $41&255; _sqlite3Update($25,$28,$33,$38,$42); - } else { + break; + } + case 108: { + $43 = HEAP32[$0>>2]|0; + $44 = HEAP32[$0>>2]|0; + $45 = HEAP32[$pStep>>2]|0; + $46 = (_targetSrcList($44,$45)|0); + $47 = HEAP32[$db>>2]|0; + $48 = HEAP32[$pStep>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = (_sqlite3SelectDup($47,$50,0)|0); + $52 = HEAP32[$db>>2]|0; + $53 = HEAP32[$pStep>>2]|0; + $54 = ((($53)) + 28|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_sqlite3IdListDup($52,$55)|0); + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 437|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + _sqlite3Insert($43,$46,$51,$56,$60); + break; + } + case 109: { + $61 = HEAP32[$0>>2]|0; + $62 = HEAP32[$0>>2]|0; + $63 = HEAP32[$pStep>>2]|0; + $64 = (_targetSrcList($62,$63)|0); + $65 = HEAP32[$db>>2]|0; + $66 = HEAP32[$pStep>>2]|0; + $67 = ((($66)) + 20|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3ExprDup($65,$68,0)|0); + _sqlite3DeleteFrom($61,$64,$69); + break; + } + default: { $70 = HEAP32[$db>>2]|0; $71 = HEAP32[$pStep>>2]|0; - $72 = (($71) + 8|0); + $72 = ((($71)) + 8|0); $73 = HEAP32[$72>>2]|0; $74 = (_sqlite3SelectDup($70,$73,0)|0); HEAP32[$pSelect>>2] = $74; @@ -138640,6 +139729,7 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { $78 = HEAP32[$pSelect>>2]|0; _sqlite3SelectDelete($77,$78); } + } $79 = HEAP32[$pStep>>2]|0; $80 = HEAP8[$79>>0]|0; $81 = $80&255; @@ -138649,7 +139739,7 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { (_sqlite3VdbeAddOp0($83,98)|0); } $84 = HEAP32[$pStep>>2]|0; - $85 = (($84) + 32|0); + $85 = ((($84)) + 32|0); $86 = HEAP32[$85>>2]|0; HEAP32[$pStep>>2] = $86; } @@ -138667,27 +139757,27 @@ function _transferParseError($pTo,$pFrom) { HEAP32[$0>>2] = $pTo; HEAP32[$1>>2] = $pFrom; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 64|0); + $3 = ((($2)) + 64|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0); $6 = HEAP32[$1>>2]|0; if ($5) { - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); HEAP32[$10>>2] = $8; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 64|0); + $12 = ((($11)) + 64|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 64|0); + $15 = ((($14)) + 64|0); HEAP32[$15>>2] = $13; STACKTOP = sp;return; } else { $16 = HEAP32[$6>>2]|0; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; _sqlite3DbFree($16,$19); STACKTOP = sp;return; @@ -138708,19 +139798,19 @@ function _sqlite3VdbeTakeOpArray($p,$pnOp,$pnMaxArg) { HEAP32[$1>>2] = $pnOp; HEAP32[$2>>2] = $pnMaxArg; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; HEAP32[$aOp>>2] = $5; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$2>>2]|0; _resolveP2Values($6,$7); $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 32|0); + $9 = ((($8)) + 32|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$1>>2]|0; HEAP32[$11>>2] = $10; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); HEAP32[$13>>2] = 0; $14 = HEAP32[$aOp>>2]|0; STACKTOP = sp;return ($14|0); @@ -138737,45 +139827,45 @@ function _resolveP2Values($p,$pMaxFuncArgs) { var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aLabel = 0, $i = 0, $n = 0, $nMaxArgs = 0, $opcode = 0, $pOp = 0, $pParse = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; + $0 = sp + 4|0; + $1 = sp + 16|0; $i = sp + 20|0; - $nMaxArgs = sp + 16|0; - $pOp = sp + 12|0; - $pParse = sp + 8|0; - $aLabel = sp + 4|0; + $nMaxArgs = sp + 24|0; + $pOp = sp + 28|0; + $pParse = sp; + $aLabel = sp + 12|0; $opcode = sp + 32|0; - $n = sp; + $n = sp + 8|0; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $pMaxFuncArgs; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; HEAP32[$nMaxArgs>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 24|0); + $5 = ((($4)) + 24|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pParse>>2] = $6; $7 = HEAP32[$pParse>>2]|0; - $8 = (($7) + 112|0); + $8 = ((($7)) + 112|0); $9 = HEAP32[$8>>2]|0; HEAP32[$aLabel>>2] = $9; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 88|0); + $11 = ((($10)) + 88|0); $12 = HEAP16[$11>>1]|0; $13 = $12 & -257; $14 = $13 | 256; HEAP16[$11>>1] = $14; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 88|0); + $16 = ((($15)) + 88|0); $17 = HEAP16[$16>>1]|0; $18 = $17 & -513; HEAP16[$16>>1] = $18; $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; HEAP32[$pOp>>2] = $21; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 32|0); + $23 = ((($22)) + 32|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) - 1)|0; HEAP32[$i>>2] = $25; @@ -138791,59 +139881,30 @@ function _resolveP2Values($p,$pMaxFuncArgs) { $30 = HEAP8[$opcode>>0]|0; $31 = $30&255; switch ($31|0) { - case 12: case 13: case 11: { - $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 88|0); - $57 = HEAP16[$56>>1]|0; - $58 = $57 & -257; - HEAP16[$56>>1] = $58; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 88|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61 & -513; - $63 = $62 | 512; - HEAP16[$60>>1] = $63; - break; - } case 10: case 1: { $32 = HEAP32[$pOp>>2]|0; - $33 = (($32) + 3|0); + $33 = ((($32)) + 3|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; $36 = HEAP32[$nMaxArgs>>2]|0; $37 = ($35|0)>($36|0); if ($37) { $38 = HEAP32[$pOp>>2]|0; - $39 = (($38) + 3|0); + $39 = ((($38)) + 3|0); $40 = HEAP8[$39>>0]|0; $41 = $40&255; HEAP32[$nMaxArgs>>2] = $41; } break; } - case 14: { - $72 = HEAP32[$pOp>>2]|0; - $73 = (($72) + -20|0); - $74 = (($73) + 4|0); - $75 = HEAP32[$74>>2]|0; - HEAP32[$n>>2] = $75; - $76 = HEAP32[$n>>2]|0; - $77 = HEAP32[$nMaxArgs>>2]|0; - $78 = ($76|0)>($77|0); - if ($78) { - $79 = HEAP32[$n>>2]|0; - HEAP32[$nMaxArgs>>2] = $79; - } - break; - } case 4: { $42 = HEAP32[$pOp>>2]|0; - $43 = (($42) + 8|0); + $43 = ((($42)) + 8|0); $44 = HEAP32[$43>>2]|0; $45 = ($44|0)!=(0); if ($45) { $46 = HEAP32[$0>>2]|0; - $47 = (($46) + 88|0); + $47 = ((($46)) + 88|0); $48 = HEAP16[$47>>1]|0; $49 = $48 & -257; HEAP16[$47>>1] = $49; @@ -138857,35 +139918,64 @@ function _resolveP2Values($p,$pMaxFuncArgs) { label = 8; break; } + case 12: case 13: case 11: { + $55 = HEAP32[$0>>2]|0; + $56 = ((($55)) + 88|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57 & -257; + HEAP16[$56>>1] = $58; + $59 = HEAP32[$0>>2]|0; + $60 = ((($59)) + 88|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61 & -513; + $63 = $62 | 512; + HEAP16[$60>>1] = $63; + break; + } case 15: { $64 = HEAP32[$pOp>>2]|0; - $65 = (($64) + 8|0); + $65 = ((($64)) + 8|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$nMaxArgs>>2]|0; $68 = ($66|0)>($67|0); if ($68) { $69 = HEAP32[$pOp>>2]|0; - $70 = (($69) + 8|0); + $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; HEAP32[$nMaxArgs>>2] = $71; } break; } + case 14: { + $72 = HEAP32[$pOp>>2]|0; + $73 = ((($72)) + -20|0); + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$n>>2] = $75; + $76 = HEAP32[$n>>2]|0; + $77 = HEAP32[$nMaxArgs>>2]|0; + $78 = ($76|0)>($77|0); + if ($78) { + $79 = HEAP32[$n>>2]|0; + HEAP32[$nMaxArgs>>2] = $79; + } + break; + } case 5: case 7: case 9: { $80 = HEAP32[$pOp>>2]|0; - $81 = (($80) + 16|0); - HEAP32[$81>>2] = 46; + $81 = ((($80)) + 16|0); + HEAP32[$81>>2] = 50; $82 = HEAP32[$pOp>>2]|0; - $83 = (($82) + 1|0); + $83 = ((($82)) + 1|0); HEAP8[$83>>0] = -19; break; } case 6: case 8: { $84 = HEAP32[$pOp>>2]|0; - $85 = (($84) + 16|0); - HEAP32[$85>>2] = 47; + $85 = ((($84)) + 16|0); + HEAP32[$85>>2] = 51; $86 = HEAP32[$pOp>>2]|0; - $87 = (($86) + 1|0); + $87 = ((($86)) + 1|0); HEAP8[$87>>0] = -19; break; } @@ -138895,7 +139985,7 @@ function _resolveP2Values($p,$pMaxFuncArgs) { if ((label|0) == 8) { label = 0; $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 88|0); + $51 = ((($50)) + 88|0); $52 = HEAP16[$51>>1]|0; $53 = $52 & -513; $54 = $53 | 512; @@ -138903,32 +139993,32 @@ function _resolveP2Values($p,$pMaxFuncArgs) { } $88 = HEAP8[$opcode>>0]|0; $89 = $88&255; - $90 = (24192 + ($89)|0); + $90 = (26590 + ($89)|0); $91 = HEAP8[$90>>0]|0; $92 = HEAP32[$pOp>>2]|0; - $93 = (($92) + 2|0); + $93 = ((($92)) + 2|0); HEAP8[$93>>0] = $91; $94 = HEAP32[$pOp>>2]|0; - $95 = (($94) + 2|0); + $95 = ((($94)) + 2|0); $96 = HEAP8[$95>>0]|0; $97 = $96&255; $98 = $97 & 1; $99 = ($98|0)!=(0); if ($99) { $100 = HEAP32[$pOp>>2]|0; - $101 = (($100) + 8|0); + $101 = ((($100)) + 8|0); $102 = HEAP32[$101>>2]|0; $103 = ($102|0)<(0); if ($103) { $104 = HEAP32[$pOp>>2]|0; - $105 = (($104) + 8|0); + $105 = ((($104)) + 8|0); $106 = HEAP32[$105>>2]|0; $107 = (-1 - ($106))|0; $108 = HEAP32[$aLabel>>2]|0; $109 = (($108) + ($107<<2)|0); $110 = HEAP32[$109>>2]|0; $111 = HEAP32[$pOp>>2]|0; - $112 = (($111) + 8|0); + $112 = ((($111)) + 8|0); HEAP32[$112>>2] = $110; } } @@ -138936,20 +140026,20 @@ function _resolveP2Values($p,$pMaxFuncArgs) { $114 = (($113) + -1)|0; HEAP32[$i>>2] = $114; $115 = HEAP32[$pOp>>2]|0; - $116 = (($115) + 20|0); + $116 = ((($115)) + 20|0); HEAP32[$pOp>>2] = $116; } $117 = HEAP32[$0>>2]|0; $118 = HEAP32[$117>>2]|0; $119 = HEAP32[$pParse>>2]|0; - $120 = (($119) + 112|0); + $120 = ((($119)) + 112|0); $121 = HEAP32[$120>>2]|0; _sqlite3DbFree($118,$121); $122 = HEAP32[$pParse>>2]|0; - $123 = (($122) + 112|0); + $123 = ((($122)) + 112|0); HEAP32[$123>>2] = 0; $124 = HEAP32[$pParse>>2]|0; - $125 = (($124) + 108|0); + $125 = ((($124)) + 108|0); HEAP32[$125>>2] = 0; $126 = HEAP32[$nMaxArgs>>2]|0; $127 = HEAP32[$1>>2]|0; @@ -138972,11 +140062,11 @@ function _sqlite3BtreeNext($pCur,$pRes) { HEAP32[$1>>2] = $pCur; HEAP32[$2>>2] = $pRes; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 24|0); - $5 = (($4) + 20|0); + $4 = ((($3)) + 24|0); + $5 = ((($4)) + 20|0); HEAP16[$5>>1] = 0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 72|0); + $7 = ((($6)) + 72|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = $9 & -7; @@ -138985,7 +140075,7 @@ function _sqlite3BtreeNext($pCur,$pRes) { $12 = HEAP32[$2>>2]|0; HEAP32[$12>>2] = 0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 73|0); + $14 = ((($13)) + 73|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = ($16|0)!=(1); @@ -138997,37 +140087,37 @@ function _sqlite3BtreeNext($pCur,$pRes) { $61 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($61|0); } - $21 = (($18) + 76|0); + $21 = ((($18)) + 76|0); $22 = HEAP16[$21>>1]|0; $23 = $22 << 16 >> 16; $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 120|0); + $25 = ((($24)) + 120|0); $26 = (($25) + ($23<<2)|0); $27 = HEAP32[$26>>2]|0; HEAP32[$pPage>>2] = $27; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 76|0); + $29 = ((($28)) + 76|0); $30 = HEAP16[$29>>1]|0; $31 = $30 << 16 >> 16; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 78|0); + $33 = ((($32)) + 78|0); $34 = (($33) + ($31<<1)|0); $35 = HEAP16[$34>>1]|0; $36 = (($35) + 1)<<16>>16; HEAP16[$34>>1] = $36; $37 = $36&65535; $38 = HEAP32[$pPage>>2]|0; - $39 = (($38) + 18|0); + $39 = ((($38)) + 18|0); $40 = HEAP16[$39>>1]|0; $41 = $40&65535; $42 = ($37|0)>=($41|0); if ($42) { $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 76|0); + $44 = ((($43)) + 76|0); $45 = HEAP16[$44>>1]|0; $46 = $45 << 16 >> 16; $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 78|0); + $48 = ((($47)) + 78|0); $49 = (($48) + ($46<<1)|0); $50 = HEAP16[$49>>1]|0; $51 = (($50) + -1)<<16>>16; @@ -139040,7 +140130,7 @@ function _sqlite3BtreeNext($pCur,$pRes) { STACKTOP = sp;return ($61|0); } $55 = HEAP32[$pPage>>2]|0; - $56 = (($55) + 5|0); + $56 = ((($55)) + 5|0); $57 = HEAP8[$56>>0]|0; $58 = ($57<<24>>24)!=(0); if ($58) { @@ -139054,7 +140144,7 @@ function _sqlite3BtreeNext($pCur,$pRes) { $61 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($61|0); } - return 0|0; + return (0)|0; } function _sqlite3BtreePrevious($pCur,$pRes) { $pCur = $pCur|0; @@ -139072,52 +140162,52 @@ function _sqlite3BtreePrevious($pCur,$pRes) { $3 = HEAP32[$2>>2]|0; HEAP32[$3>>2] = 0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 72|0); + $5 = ((($4)) + 72|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = $7 & -15; $9 = $8&255; HEAP8[$5>>0] = $9; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 24|0); - $12 = (($11) + 20|0); + $11 = ((($10)) + 24|0); + $12 = ((($11)) + 20|0); HEAP16[$12>>1] = 0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 73|0); + $14 = ((($13)) + 73|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = ($16|0)!=(1); if (!($17)) { $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 76|0); + $19 = ((($18)) + 76|0); $20 = HEAP16[$19>>1]|0; $21 = $20 << 16 >> 16; $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 78|0); + $23 = ((($22)) + 78|0); $24 = (($23) + ($21<<1)|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = ($26|0)==(0); if (!($27)) { $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 76|0); + $29 = ((($28)) + 76|0); $30 = HEAP16[$29>>1]|0; $31 = $30 << 16 >> 16; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 120|0); + $33 = ((($32)) + 120|0); $34 = (($33) + ($31<<2)|0); $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 5|0); + $36 = ((($35)) + 5|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = ($38|0)==(0); if (!($39)) { $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 76|0); + $44 = ((($43)) + 76|0); $45 = HEAP16[$44>>1]|0; $46 = $45 << 16 >> 16; $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 78|0); + $48 = ((($47)) + 78|0); $49 = (($48) + ($46<<1)|0); $50 = HEAP16[$49>>1]|0; $51 = (($50) + -1)<<16>>16; @@ -139157,13 +140247,13 @@ function _btreePrevious($pCur,$pRes) { HEAP32[$1>>2] = $pCur; HEAP32[$2>>2] = $pRes; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 73|0); + $4 = ((($3)) + 73|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)!=(1); if ($7) { $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 73|0); + $9 = ((($8)) + 73|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = ($11|0)>=(3); @@ -139184,7 +140274,7 @@ function _btreePrevious($pCur,$pRes) { STACKTOP = sp;return ($138|0); } $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 73|0); + $20 = ((($19)) + 73|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = (0)==($22|0); @@ -139196,19 +140286,19 @@ function _btreePrevious($pCur,$pRes) { STACKTOP = sp;return ($138|0); } $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 68|0); + $26 = ((($25)) + 68|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0); if ($28) { $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 73|0); + $30 = ((($29)) + 73|0); HEAP8[$30>>0] = 1; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 68|0); + $32 = ((($31)) + 68|0); $33 = HEAP32[$32>>2]|0; $34 = ($33|0)<(0); $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 68|0); + $36 = ((($35)) + 68|0); HEAP32[$36>>2] = 0; if ($34) { HEAP32[$0>>2] = 0; @@ -139218,33 +140308,33 @@ function _btreePrevious($pCur,$pRes) { } } $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 76|0); + $38 = ((($37)) + 76|0); $39 = HEAP16[$38>>1]|0; $40 = $39 << 16 >> 16; $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 120|0); + $42 = ((($41)) + 120|0); $43 = (($42) + ($40<<2)|0); $44 = HEAP32[$43>>2]|0; HEAP32[$pPage>>2] = $44; $45 = HEAP32[$pPage>>2]|0; - $46 = (($45) + 5|0); + $46 = ((($45)) + 5|0); $47 = HEAP8[$46>>0]|0; $48 = ($47<<24>>24)!=(0); do { if ($48) { while(1) { $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 76|0); + $95 = ((($94)) + 76|0); $96 = HEAP16[$95>>1]|0; $97 = $96 << 16 >> 16; $98 = HEAP32[$1>>2]|0; - $99 = (($98) + 78|0); + $99 = ((($98)) + 78|0); $100 = (($99) + ($97<<1)|0); $101 = HEAP16[$100>>1]|0; $102 = $101&65535; $103 = ($102|0)==(0); $104 = HEAP32[$1>>2]|0; - $105 = (($104) + 76|0); + $105 = ((($104)) + 76|0); $106 = HEAP16[$105>>1]|0; $107 = $106 << 16 >> 16; if (!($103)) { @@ -139259,7 +140349,7 @@ function _btreePrevious($pCur,$pRes) { _moveToParent($109); } if ((label|0) == 17) { - $110 = (($109) + 73|0); + $110 = ((($109)) + 73|0); HEAP8[$110>>0] = 0; $111 = HEAP32[$2>>2]|0; HEAP32[$111>>2] = 1; @@ -139268,28 +140358,28 @@ function _btreePrevious($pCur,$pRes) { STACKTOP = sp;return ($138|0); } $112 = HEAP32[$1>>2]|0; - $113 = (($112) + 78|0); + $113 = ((($112)) + 78|0); $114 = (($113) + ($107<<1)|0); $115 = HEAP16[$114>>1]|0; $116 = (($115) + -1)<<16>>16; HEAP16[$114>>1] = $116; $117 = HEAP32[$1>>2]|0; - $118 = (($117) + 76|0); + $118 = ((($117)) + 76|0); $119 = HEAP16[$118>>1]|0; $120 = $119 << 16 >> 16; $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 120|0); + $122 = ((($121)) + 120|0); $123 = (($122) + ($120<<2)|0); $124 = HEAP32[$123>>2]|0; HEAP32[$pPage>>2] = $124; $125 = HEAP32[$pPage>>2]|0; - $126 = (($125) + 2|0); + $126 = ((($125)) + 2|0); $127 = HEAP8[$126>>0]|0; $128 = $127&255; $129 = ($128|0)!=(0); if ($129) { $130 = HEAP32[$pPage>>2]|0; - $131 = (($130) + 5|0); + $131 = ((($130)) + 5|0); $132 = HEAP8[$131>>0]|0; $133 = ($132<<24>>24)!=(0); if (!($133)) { @@ -139303,27 +140393,27 @@ function _btreePrevious($pCur,$pRes) { HEAP32[$rc>>2] = 0; } else { $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 76|0); + $50 = ((($49)) + 76|0); $51 = HEAP16[$50>>1]|0; $52 = $51 << 16 >> 16; $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 78|0); + $54 = ((($53)) + 78|0); $55 = (($54) + ($52<<1)|0); $56 = HEAP16[$55>>1]|0; $57 = $56&65535; HEAP32[$idx>>2] = $57; $58 = HEAP32[$1>>2]|0; $59 = HEAP32[$pPage>>2]|0; - $60 = (($59) + 56|0); + $60 = ((($59)) + 56|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$pPage>>2]|0; - $63 = (($62) + 20|0); + $63 = ((($62)) + 20|0); $64 = HEAP16[$63>>1]|0; $65 = $64&65535; $66 = HEAP32[$idx>>2]|0; $67 = $66<<1; $68 = HEAP32[$pPage>>2]|0; - $69 = (($68) + 64|0); + $69 = ((($68)) + 64|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + ($67)|0); $72 = HEAP8[$71>>0]|0; @@ -139332,10 +140422,10 @@ function _btreePrevious($pCur,$pRes) { $75 = HEAP32[$idx>>2]|0; $76 = $75<<1; $77 = HEAP32[$pPage>>2]|0; - $78 = (($77) + 64|0); + $78 = ((($77)) + 64|0); $79 = HEAP32[$78>>2]|0; $80 = (($79) + ($76)|0); - $81 = (($80) + 1|0); + $81 = ((($80)) + 1|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $74 | $83; @@ -139375,26 +140465,26 @@ function _btreeRestoreCursorPosition($pCur) { $rc = sp; HEAP32[$1>>2] = $pCur; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 73|0); + $3 = ((($2)) + 73|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==(4); $7 = HEAP32[$1>>2]|0; if ($6) { - $8 = (($7) + 68|0); + $8 = ((($7)) + 68|0); $9 = HEAP32[$8>>2]|0; HEAP32[$0>>2] = $9; $45 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($45|0); } - $10 = (($7) + 73|0); + $10 = ((($7)) + 73|0); HEAP8[$10>>0] = 0; $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 56|0); + $13 = ((($12)) + 56|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 48|0); + $16 = ((($15)) + 48|0); $17 = $16; $18 = $17; $19 = HEAP32[$18>>2]|0; @@ -139402,32 +140492,32 @@ function _btreeRestoreCursorPosition($pCur) { $21 = $20; $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 68|0); + $24 = ((($23)) + 68|0); $25 = (_btreeMoveto($11,$14,$19,$22,0,$24)|0); HEAP32[$rc>>2] = $25; $26 = HEAP32[$rc>>2]|0; $27 = ($26|0)==(0); if ($27) { $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 56|0); + $29 = ((($28)) + 56|0); $30 = HEAP32[$29>>2]|0; _sqlite3_free($30); $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 56|0); + $32 = ((($31)) + 56|0); HEAP32[$32>>2] = 0; $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 68|0); + $34 = ((($33)) + 68|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)!=(0); if ($36) { $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 73|0); + $38 = ((($37)) + 73|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = ($40|0)==(1); if ($41) { $42 = HEAP32[$1>>2]|0; - $43 = (($42) + 73|0); + $43 = ((($42)) + 73|0); HEAP8[$43>>0] = 2; } } @@ -139446,26 +140536,26 @@ function _moveToChild($pCur,$newPgno) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i = 0, $pBt = 0, $pNewPage = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $i = sp + 8|0; - $pNewPage = sp + 4|0; - $pBt = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $rc = sp + 24|0; + $i = sp + 4|0; + $pNewPage = sp; + $pBt = sp + 12|0; HEAP32[$1>>2] = $pCur; HEAP32[$2>>2] = $newPgno; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 76|0); + $4 = ((($3)) + 76|0); $5 = HEAP16[$4>>1]|0; $6 = $5 << 16 >> 16; HEAP32[$i>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; HEAP32[$pBt>>2] = $9; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 76|0); + $11 = ((($10)) + 76|0); $12 = HEAP16[$11>>1]|0; $13 = $12 << 16 >> 16; $14 = ($13|0)>=(19); @@ -139478,7 +140568,7 @@ function _moveToChild($pCur,$newPgno) { $16 = HEAP32[$pBt>>2]|0; $17 = HEAP32[$2>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 72|0); + $19 = ((($18)) + 72|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = $21 & 1; @@ -139498,47 +140588,47 @@ function _moveToChild($pCur,$newPgno) { $30 = HEAP32[$i>>2]|0; $31 = (($30) + 1)|0; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 120|0); + $33 = ((($32)) + 120|0); $34 = (($33) + ($31<<2)|0); HEAP32[$34>>2] = $29; $35 = HEAP32[$i>>2]|0; $36 = (($35) + 1)|0; $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 78|0); + $38 = ((($37)) + 78|0); $39 = (($38) + ($36<<1)|0); HEAP16[$39>>1] = 0; $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 76|0); + $41 = ((($40)) + 76|0); $42 = HEAP16[$41>>1]|0; $43 = (($42) + 1)<<16>>16; HEAP16[$41>>1] = $43; $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 24|0); - $46 = (($45) + 20|0); + $45 = ((($44)) + 24|0); + $46 = ((($45)) + 20|0); HEAP16[$46>>1] = 0; $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 72|0); + $48 = ((($47)) + 72|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $50 & -7; $52 = $51&255; HEAP8[$48>>0] = $52; $53 = HEAP32[$pNewPage>>2]|0; - $54 = (($53) + 18|0); + $54 = ((($53)) + 18|0); $55 = HEAP16[$54>>1]|0; $56 = $55&65535; $57 = ($56|0)<(1); if (!($57)) { $58 = HEAP32[$pNewPage>>2]|0; - $59 = (($58) + 2|0); + $59 = ((($58)) + 2|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = HEAP32[$i>>2]|0; $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 120|0); + $64 = ((($63)) + 120|0); $65 = (($64) + ($62<<2)|0); $66 = HEAP32[$65>>2]|0; - $67 = (($66) + 2|0); + $67 = ((($66)) + 2|0); $68 = HEAP8[$67>>0]|0; $69 = $68&255; $70 = ($61|0)!=($69|0); @@ -139570,15 +140660,15 @@ function _moveToRightmost($pCur) { HEAP32[$pPage>>2] = 0; while(1) { $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 76|0); + $3 = ((($2)) + 76|0); $4 = HEAP16[$3>>1]|0; $5 = $4 << 16 >> 16; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 120|0); + $7 = ((($6)) + 120|0); $8 = (($7) + ($5<<2)|0); $9 = HEAP32[$8>>2]|0; HEAP32[$pPage>>2] = $9; - $10 = (($9) + 5|0); + $10 = ((($9)) + 5|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); $13 = $12 ^ 1; @@ -139587,25 +140677,25 @@ function _moveToRightmost($pCur) { label = 5; break; } - $15 = (($14) + 6|0); + $15 = ((($14)) + 6|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (($17) + 8)|0; $19 = HEAP32[$pPage>>2]|0; - $20 = (($19) + 56|0); + $20 = ((($19)) + 56|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + ($18)|0); $23 = (_sqlite3Get4byte($22)|0); HEAP32[$pgno>>2] = $23; $24 = HEAP32[$pPage>>2]|0; - $25 = (($24) + 18|0); + $25 = ((($24)) + 18|0); $26 = HEAP16[$25>>1]|0; $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 76|0); + $28 = ((($27)) + 76|0); $29 = HEAP16[$28>>1]|0; $30 = $29 << 16 >> 16; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 78|0); + $32 = ((($31)) + 78|0); $33 = (($32) + ($30<<1)|0); HEAP16[$33>>1] = $26; $34 = HEAP32[$1>>2]|0; @@ -139626,24 +140716,24 @@ function _moveToRightmost($pCur) { STACKTOP = sp;return ($52|0); } else if ((label|0) == 5) { - $40 = (($14) + 18|0); + $40 = ((($14)) + 18|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; $43 = (($42) - 1)|0; $44 = $43&65535; $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 76|0); + $46 = ((($45)) + 76|0); $47 = HEAP16[$46>>1]|0; $48 = $47 << 16 >> 16; $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 78|0); + $50 = ((($49)) + 78|0); $51 = (($50) + ($48<<1)|0); HEAP16[$51>>1] = $44; HEAP32[$0>>2] = 0; $52 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($52|0); } - return 0|0; + return (0)|0; } function _moveToParent($pCur) { $pCur = $pCur|0; @@ -139654,25 +140744,25 @@ function _moveToParent($pCur) { $0 = sp; HEAP32[$0>>2] = $pCur; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 76|0); + $2 = ((($1)) + 76|0); $3 = HEAP16[$2>>1]|0; $4 = $3 << 16 >> 16; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 120|0); + $6 = ((($5)) + 120|0); $7 = (($6) + ($4<<2)|0); $8 = HEAP32[$7>>2]|0; _releasePage($8); $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 76|0); + $10 = ((($9)) + 76|0); $11 = HEAP16[$10>>1]|0; $12 = (($11) + -1)<<16>>16; HEAP16[$10>>1] = $12; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 24|0); - $15 = (($14) + 20|0); + $14 = ((($13)) + 24|0); + $15 = ((($14)) + 20|0); HEAP16[$15>>1] = 0; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 72|0); + $17 = ((($16)) + 72|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = $19 & -7; @@ -139746,7 +140836,7 @@ function _btreePagecount($pBt) { $0 = sp; HEAP32[$0>>2] = $pBt; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 44|0); + $2 = ((($1)) + 44|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -139759,13 +140849,13 @@ function _btreeGetPage($pBt,$pgno,$ppPage,$flags) { var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $pDbPage = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $rc = sp; + $pDbPage = sp + 12|0; HEAP32[$1>>2] = $pBt; HEAP32[$2>>2] = $pgno; HEAP32[$3>>2] = $ppPage; @@ -139794,7 +140884,7 @@ function _btreeGetPage($pBt,$pgno,$ppPage,$flags) { $18 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($18|0); } - return 0|0; + return (0)|0; } function _btreePageFromDbPage($pDbPage,$pgno,$pBt) { $pDbPage = $pDbPage|0; @@ -139817,28 +140907,28 @@ function _btreePageFromDbPage($pDbPage,$pgno,$pBt) { $5 = HEAP32[$0>>2]|0; $6 = (_sqlite3PagerGetData($5)|0); $7 = HEAP32[$pPage>>2]|0; - $8 = (($7) + 56|0); + $8 = ((($7)) + 56|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$pPage>>2]|0; - $11 = (($10) + 68|0); + $11 = ((($10)) + 68|0); HEAP32[$11>>2] = $9; $12 = HEAP32[$2>>2]|0; $13 = HEAP32[$pPage>>2]|0; - $14 = (($13) + 52|0); + $14 = ((($13)) + 52|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$1>>2]|0; $16 = HEAP32[$pPage>>2]|0; - $17 = (($16) + 72|0); + $17 = ((($16)) + 72|0); HEAP32[$17>>2] = $15; $18 = HEAP32[$pPage>>2]|0; - $19 = (($18) + 72|0); + $19 = ((($18)) + 72|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(1); $22 = $21 ? 100 : 0; $23 = $22&255; $24 = HEAP32[$pPage>>2]|0; - $25 = (($24) + 6|0); + $25 = ((($24)) + 6|0); HEAP8[$25>>0] = $23; $26 = HEAP32[$pPage>>2]|0; STACKTOP = sp;return ($26|0); @@ -139856,16 +140946,16 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { var $8 = 0, $9 = 0, $aSpace = 0, $pFree = 0, $pIdxKey = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 240|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; + $2 = sp + 8|0; + $3 = sp + 24|0; + $4 = sp + 16|0; $5 = sp; - $6 = sp + 24|0; - $7 = sp + 20|0; - $rc = sp + 16|0; - $pIdxKey = sp + 12|0; + $6 = sp + 32|0; + $7 = sp + 36|0; + $rc = sp + 20|0; + $pIdxKey = sp + 28|0; $aSpace = sp + 40|0; - $pFree = sp + 8|0; + $pFree = sp + 12|0; HEAP32[$3>>2] = $pCur; HEAP32[$4>>2] = $pKey; $8 = $5; @@ -139881,7 +140971,7 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { $13 = ($12|0)!=(0|0); if ($13) { $14 = HEAP32[$3>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; $17 = (_sqlite3VdbeAllocUnpackedRecord($16,$aSpace,200,$pFree)|0); HEAP32[$pIdxKey>>2] = $17; @@ -139893,7 +140983,7 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { STACKTOP = sp;return ($63|0); } $20 = HEAP32[$3>>2]|0; - $21 = (($20) + 16|0); + $21 = ((($20)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = $5; $24 = $23; @@ -139905,15 +140995,15 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { $30 = HEAP32[$pIdxKey>>2]|0; _sqlite3VdbeRecordUnpack($22,$25,$29,$30); $31 = HEAP32[$pIdxKey>>2]|0; - $32 = (($31) + 4|0); + $32 = ((($31)) + 4|0); $33 = HEAP16[$32>>1]|0; $34 = $33&65535; $35 = ($34|0)==(0); if ($35) { $36 = HEAP32[$3>>2]|0; - $37 = (($36) + 16|0); + $37 = ((($36)) + 16|0); $38 = HEAP32[$37>>2]|0; - $39 = (($38) + 12|0); + $39 = ((($38)) + 12|0); $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$pFree>>2]|0; _sqlite3DbFree($40,$41); @@ -139941,9 +141031,9 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { $55 = ($54|0)!=(0|0); if ($55) { $56 = HEAP32[$3>>2]|0; - $57 = (($56) + 16|0); + $57 = ((($56)) + 16|0); $58 = HEAP32[$57>>2]|0; - $59 = (($58) + 12|0); + $59 = ((($58)) + 12|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$pFree>>2]|0; _sqlite3DbFree($60,$61); @@ -139963,14 +141053,14 @@ function _sqlite3VdbeAllocUnpackedRecord($pKeyInfo,$pSpace,$szSpace,$ppFree) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, $nOff = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $p = sp + 8|0; - $nOff = sp + 4|0; - $nByte = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $p = sp; + $nOff = sp + 12|0; + $nByte = sp + 24|0; HEAP32[$1>>2] = $pKeyInfo; HEAP32[$2>>2] = $pSpace; HEAP32[$3>>2] = $szSpace; @@ -139982,7 +141072,7 @@ function _sqlite3VdbeAllocUnpackedRecord($pKeyInfo,$pSpace,$szSpace,$ppFree) { $9 = $8 & 7; HEAP32[$nOff>>2] = $9; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 6|0); + $11 = ((($10)) + 6|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = (($13) + 1)|0; @@ -139996,7 +141086,7 @@ function _sqlite3VdbeAllocUnpackedRecord($pKeyInfo,$pSpace,$szSpace,$ppFree) { $21 = ($17|0)>($20|0); if ($21) { $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 12|0); + $23 = ((($22)) + 12|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$nByte>>2]|0; $26 = ($25|0)<(0); @@ -140022,21 +141112,21 @@ function _sqlite3VdbeAllocUnpackedRecord($pKeyInfo,$pSpace,$szSpace,$ppFree) { HEAP32[$36>>2] = 0; } $37 = HEAP32[$p>>2]|0; - $38 = (($37) + 24|0); + $38 = ((($37)) + 24|0); $39 = HEAP32[$p>>2]|0; - $40 = (($39) + 8|0); + $40 = ((($39)) + 8|0); HEAP32[$40>>2] = $38; $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$p>>2]|0; HEAP32[$42>>2] = $41; $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 6|0); + $44 = ((($43)) + 6|0); $45 = HEAP16[$44>>1]|0; $46 = $45&65535; $47 = (($46) + 1)|0; $48 = $47&65535; $49 = HEAP32[$p>>2]|0; - $50 = (($49) + 4|0); + $50 = ((($49)) + 4|0); HEAP16[$50>>1] = $48; $51 = HEAP32[$p>>2]|0; HEAP32[$0>>2] = $51; @@ -140055,17 +141145,17 @@ function _sqlite3VdbeRecordUnpack($pKeyInfo,$nKey,$pKey,$p) { var $aKey = 0, $d = 0, $idx = 0, $pMem = 0, $serial_type = 0, $szHdr = 0, $u = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $aKey = sp + 20|0; - $d = sp + 16|0; + $0 = sp; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $aKey = sp + 32|0; + $d = sp + 36|0; $idx = sp + 12|0; $u = sp + 40|0; - $szHdr = sp + 8|0; - $pMem = sp + 4|0; - $serial_type = sp; + $szHdr = sp + 20|0; + $pMem = sp + 28|0; + $serial_type = sp + 24|0; HEAP32[$0>>2] = $pKeyInfo; HEAP32[$1>>2] = $nKey; HEAP32[$2>>2] = $pKey; @@ -140073,11 +141163,11 @@ function _sqlite3VdbeRecordUnpack($pKeyInfo,$nKey,$pKey,$p) { $4 = HEAP32[$2>>2]|0; HEAP32[$aKey>>2] = $4; $5 = HEAP32[$3>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pMem>>2] = $7; $8 = HEAP32[$3>>2]|0; - $9 = (($8) + 6|0); + $9 = ((($8)) + 6|0); HEAP8[$9>>0] = 0; $10 = HEAP32[$aKey>>2]|0; $11 = HEAP8[$10>>0]|0; @@ -140140,19 +141230,19 @@ function _sqlite3VdbeRecordUnpack($pKeyInfo,$nKey,$pKey,$p) { $46 = (($45) + ($44))|0; HEAP32[$idx>>2] = $46; $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); $49 = HEAP8[$48>>0]|0; $50 = HEAP32[$pMem>>2]|0; - $51 = (($50) + 10|0); + $51 = ((($50)) + 10|0); HEAP8[$51>>0] = $49; $52 = HEAP32[$0>>2]|0; - $53 = (($52) + 12|0); + $53 = ((($52)) + 12|0); $54 = HEAP32[$53>>2]|0; $55 = HEAP32[$pMem>>2]|0; - $56 = (($55) + 32|0); + $56 = ((($55)) + 32|0); HEAP32[$56>>2] = $54; $57 = HEAP32[$pMem>>2]|0; - $58 = (($57) + 24|0); + $58 = ((($57)) + 24|0); HEAP32[$58>>2] = 0; $59 = HEAP32[$d>>2]|0; $60 = HEAP32[$aKey>>2]|0; @@ -140164,14 +141254,14 @@ function _sqlite3VdbeRecordUnpack($pKeyInfo,$nKey,$pKey,$p) { $66 = (($65) + ($64))|0; HEAP32[$d>>2] = $66; $67 = HEAP32[$pMem>>2]|0; - $68 = (($67) + 40|0); + $68 = ((($67)) + 40|0); HEAP32[$pMem>>2] = $68; $69 = HEAP16[$u>>1]|0; $70 = (($69) + 1)<<16>>16; HEAP16[$u>>1] = $70; $71 = $70&65535; $72 = HEAP32[$3>>2]|0; - $73 = (($72) + 4|0); + $73 = ((($72)) + 4|0); $74 = HEAP16[$73>>1]|0; $75 = $74&65535; $76 = ($71|0)>=($75|0); @@ -140183,7 +141273,7 @@ function _sqlite3VdbeRecordUnpack($pKeyInfo,$nKey,$pKey,$p) { if ((label|0) == 11) { $77 = HEAP16[$u>>1]|0; $78 = HEAP32[$3>>2]|0; - $79 = (($78) + 4|0); + $79 = ((($78)) + 4|0); HEAP16[$79>>1] = $77; STACKTOP = sp;return; } @@ -140222,25 +141312,25 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { var $c = 0, $chldPg = 0, $idx = 0, $lwr = 0, $nCell = 0, $nCellKey = 0, $pCell = 0, $pCellBody = 0, $pCellKey = 0, $pPage = 0, $rc = 0, $upr = 0, $xRecordCompare = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; + $2 = sp + 68|0; + $3 = sp + 40|0; + $4 = sp + 52|0; $5 = sp + 8|0; - $6 = sp + 68|0; - $7 = sp + 64|0; - $rc = sp + 60|0; + $6 = sp + 60|0; + $7 = sp + 24|0; + $rc = sp + 20|0; $xRecordCompare = sp + 56|0; - $lwr = sp + 52|0; - $upr = sp + 48|0; - $idx = sp + 44|0; - $c = sp + 40|0; - $chldPg = sp + 36|0; - $pPage = sp + 32|0; - $pCell = sp + 28|0; + $lwr = sp + 64|0; + $upr = sp + 80|0; + $idx = sp + 32|0; + $c = sp + 36|0; + $chldPg = sp + 44|0; + $pPage = sp + 16|0; + $pCell = sp + 48|0; $nCellKey = sp; - $nCell = sp + 24|0; - $pCellKey = sp + 20|0; - $pCellBody = sp + 16|0; + $nCell = sp + 72|0; + $pCellKey = sp + 76|0; + $pCellBody = sp + 28|0; HEAP32[$3>>2] = $pCur; HEAP32[$4>>2] = $pIdxKey; $8 = $5; @@ -140252,28 +141342,28 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { HEAP32[$6>>2] = $biasRight; HEAP32[$7>>2] = $pRes; $12 = HEAP32[$3>>2]|0; - $13 = (($12) + 73|0); + $13 = ((($12)) + 73|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = ($15|0)==(1); if ($16) { $17 = HEAP32[$3>>2]|0; - $18 = (($17) + 72|0); + $18 = ((($17)) + 72|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = $20 & 2; $22 = ($21|0)!=(0); if ($22) { $23 = HEAP32[$3>>2]|0; - $24 = (($23) + 120|0); + $24 = ((($23)) + 120|0); $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 2|0); + $26 = ((($25)) + 2|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; $29 = ($28|0)!=(0); if ($29) { $30 = HEAP32[$3>>2]|0; - $31 = (($30) + 24|0); + $31 = ((($30)) + 24|0); $32 = $31; $33 = $32; $34 = HEAP32[$33>>2]|0; @@ -140297,14 +141387,14 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { STACKTOP = sp;return ($481|0); } $48 = HEAP32[$3>>2]|0; - $49 = (($48) + 72|0); + $49 = ((($48)) + 72|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; $52 = $51 & 8; $53 = ($52|0)!=(0); if ($53) { $54 = HEAP32[$3>>2]|0; - $55 = (($54) + 24|0); + $55 = ((($54)) + 24|0); $56 = $55; $57 = $56; $58 = HEAP32[$57>>2]|0; @@ -140340,7 +141430,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $77 = (_sqlite3VdbeFindCompare($76)|0); HEAP32[$xRecordCompare>>2] = $77; $78 = HEAP32[$4>>2]|0; - $79 = (($78) + 7|0); + $79 = ((($78)) + 7|0); HEAP8[$79>>0] = 0; } else { HEAP32[$xRecordCompare>>2] = 0; @@ -140357,7 +141447,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { STACKTOP = sp;return ($481|0); } $85 = HEAP32[$3>>2]|0; - $86 = (($85) + 73|0); + $86 = ((($85)) + 73|0); $87 = HEAP8[$86>>0]|0; $88 = $87&255; $89 = ($88|0)==(0); @@ -140370,17 +141460,17 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { } L24: while(1) { $91 = HEAP32[$3>>2]|0; - $92 = (($91) + 76|0); + $92 = ((($91)) + 76|0); $93 = HEAP16[$92>>1]|0; $94 = $93 << 16 >> 16; $95 = HEAP32[$3>>2]|0; - $96 = (($95) + 120|0); + $96 = ((($95)) + 120|0); $97 = (($96) + ($94<<2)|0); $98 = HEAP32[$97>>2]|0; HEAP32[$pPage>>2] = $98; HEAP32[$lwr>>2] = 0; $99 = HEAP32[$pPage>>2]|0; - $100 = (($99) + 18|0); + $100 = ((($99)) + 18|0); $101 = HEAP16[$100>>1]|0; $102 = $101&65535; $103 = (($102) - 1)|0; @@ -140393,11 +141483,11 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $108 = HEAP32[$idx>>2]|0; $109 = $108&65535; $110 = HEAP32[$3>>2]|0; - $111 = (($110) + 76|0); + $111 = ((($110)) + 76|0); $112 = HEAP16[$111>>1]|0; $113 = $112 << 16 >> 16; $114 = HEAP32[$3>>2]|0; - $115 = (($114) + 78|0); + $115 = ((($114)) + 78|0); $116 = (($115) + ($113<<1)|0); HEAP16[$116>>1] = $109; $117 = HEAP32[$xRecordCompare>>2]|0; @@ -140406,16 +141496,16 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { if ($118) { while(1) { $119 = HEAP32[$pPage>>2]|0; - $120 = (($119) + 56|0); + $120 = ((($119)) + 56|0); $121 = HEAP32[$120>>2]|0; $122 = HEAP32[$pPage>>2]|0; - $123 = (($122) + 20|0); + $123 = ((($122)) + 20|0); $124 = HEAP16[$123>>1]|0; $125 = $124&65535; $126 = HEAP32[$idx>>2]|0; $127 = $126<<1; $128 = HEAP32[$pPage>>2]|0; - $129 = (($128) + 64|0); + $129 = ((($128)) + 64|0); $130 = HEAP32[$129>>2]|0; $131 = (($130) + ($127)|0); $132 = HEAP8[$131>>0]|0; @@ -140424,30 +141514,30 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $135 = HEAP32[$idx>>2]|0; $136 = $135<<1; $137 = HEAP32[$pPage>>2]|0; - $138 = (($137) + 64|0); + $138 = ((($137)) + 64|0); $139 = HEAP32[$138>>2]|0; $140 = (($139) + ($136)|0); - $141 = (($140) + 1|0); + $141 = ((($140)) + 1|0); $142 = HEAP8[$141>>0]|0; $143 = $142&255; $144 = $134 | $143; $145 = $125 & $144; $146 = (($121) + ($145)|0); $147 = HEAP32[$pPage>>2]|0; - $148 = (($147) + 7|0); + $148 = ((($147)) + 7|0); $149 = HEAP8[$148>>0]|0; $150 = $149&255; $151 = (($146) + ($150)|0); HEAP32[$pCell>>2] = $151; $152 = HEAP32[$pPage>>2]|0; - $153 = (($152) + 3|0); + $153 = ((($152)) + 3|0); $154 = HEAP8[$153>>0]|0; $155 = ($154<<24>>24)!=(0); L29: do { if ($155) { while(1) { $156 = HEAP32[$pCell>>2]|0; - $157 = (($156) + 1|0); + $157 = ((($156)) + 1|0); HEAP32[$pCell>>2] = $157; $158 = HEAP8[$156>>0]|0; $159 = $158&255; @@ -140457,7 +141547,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { } $161 = HEAP32[$pCell>>2]|0; $162 = HEAP32[$pPage>>2]|0; - $163 = (($162) + 60|0); + $163 = ((($162)) + 60|0); $164 = HEAP32[$163>>2]|0; $165 = ($161>>>0)>=($164>>>0); if ($165) { @@ -140551,7 +141641,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { else if ((label|0) == 27) { label = 0; $212 = HEAP32[$3>>2]|0; - $213 = (($212) + 72|0); + $213 = ((($212)) + 72|0); $214 = HEAP8[$213>>0]|0; $215 = $214&255; $216 = $215 | 2; @@ -140564,7 +141654,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $222 = $221; $223 = HEAP32[$222>>2]|0; $224 = HEAP32[$3>>2]|0; - $225 = (($224) + 24|0); + $225 = ((($224)) + 24|0); $226 = $225; $227 = $226; HEAP32[$227>>2] = $220; @@ -140574,15 +141664,15 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $230 = HEAP32[$idx>>2]|0; $231 = $230&65535; $232 = HEAP32[$3>>2]|0; - $233 = (($232) + 76|0); + $233 = ((($232)) + 76|0); $234 = HEAP16[$233>>1]|0; $235 = $234 << 16 >> 16; $236 = HEAP32[$3>>2]|0; - $237 = (($236) + 78|0); + $237 = ((($236)) + 78|0); $238 = (($237) + ($235<<1)|0); HEAP16[$238>>1] = $231; $239 = HEAP32[$pPage>>2]|0; - $240 = (($239) + 5|0); + $240 = ((($239)) + 5|0); $241 = HEAP8[$240>>0]|0; $242 = ($241<<24>>24)!=(0); if ($242) { @@ -140596,16 +141686,16 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { } else { while(1) { $249 = HEAP32[$pPage>>2]|0; - $250 = (($249) + 56|0); + $250 = ((($249)) + 56|0); $251 = HEAP32[$250>>2]|0; $252 = HEAP32[$pPage>>2]|0; - $253 = (($252) + 20|0); + $253 = ((($252)) + 20|0); $254 = HEAP16[$253>>1]|0; $255 = $254&65535; $256 = HEAP32[$idx>>2]|0; $257 = $256<<1; $258 = HEAP32[$pPage>>2]|0; - $259 = (($258) + 64|0); + $259 = ((($258)) + 64|0); $260 = HEAP32[$259>>2]|0; $261 = (($260) + ($257)|0); $262 = HEAP8[$261>>0]|0; @@ -140614,17 +141704,17 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $265 = HEAP32[$idx>>2]|0; $266 = $265<<1; $267 = HEAP32[$pPage>>2]|0; - $268 = (($267) + 64|0); + $268 = ((($267)) + 64|0); $269 = HEAP32[$268>>2]|0; $270 = (($269) + ($266)|0); - $271 = (($270) + 1|0); + $271 = ((($270)) + 1|0); $272 = HEAP8[$271>>0]|0; $273 = $272&255; $274 = $264 | $273; $275 = $255 & $274; $276 = (($251) + ($275)|0); $277 = HEAP32[$pPage>>2]|0; - $278 = (($277) + 7|0); + $278 = ((($277)) + 7|0); $279 = HEAP8[$278>>0]|0; $280 = $279&255; $281 = (($276) + ($280)|0); @@ -140635,7 +141725,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { HEAP32[$nCell>>2] = $284; $285 = HEAP32[$nCell>>2]|0; $286 = HEAP32[$pPage>>2]|0; - $287 = (($286) + 8|0); + $287 = ((($286)) + 8|0); $288 = HEAP8[$287>>0]|0; $289 = $288&255; $290 = ($285|0)<=($289|0); @@ -140644,13 +141734,13 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $291 = HEAP32[$xRecordCompare>>2]|0; $292 = HEAP32[$nCell>>2]|0; $293 = HEAP32[$pCell>>2]|0; - $294 = (($293) + 1|0); + $294 = ((($293)) + 1|0); $295 = HEAP32[$4>>2]|0; $296 = (FUNCTION_TABLE_iiii[$291 & 31]($292,$294,$295)|0); HEAP32[$c>>2] = $296; } else { $297 = HEAP32[$pCell>>2]|0; - $298 = (($297) + 1|0); + $298 = ((($297)) + 1|0); $299 = HEAP8[$298>>0]|0; $300 = $299&255; $301 = $300 & 128; @@ -140660,13 +141750,13 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $304 = $303 & 127; $305 = $304 << 7; $306 = HEAP32[$pCell>>2]|0; - $307 = (($306) + 1|0); + $307 = ((($306)) + 1|0); $308 = HEAP8[$307>>0]|0; $309 = $308&255; $310 = (($305) + ($309))|0; HEAP32[$nCell>>2] = $310; $311 = HEAP32[$pPage>>2]|0; - $312 = (($311) + 10|0); + $312 = ((($311)) + 10|0); $313 = HEAP16[$312>>1]|0; $314 = $313&65535; $315 = ($310|0)<=($314|0); @@ -140674,7 +141764,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $316 = HEAP32[$xRecordCompare>>2]|0; $317 = HEAP32[$nCell>>2]|0; $318 = HEAP32[$pCell>>2]|0; - $319 = (($318) + 2|0); + $319 = ((($318)) + 2|0); $320 = HEAP32[$4>>2]|0; $321 = (FUNCTION_TABLE_iiii[$316 & 31]($317,$319,$320)|0); HEAP32[$c>>2] = $321; @@ -140683,7 +141773,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { } $322 = HEAP32[$pCell>>2]|0; $323 = HEAP32[$pPage>>2]|0; - $324 = (($323) + 7|0); + $324 = ((($323)) + 7|0); $325 = HEAP8[$324>>0]|0; $326 = $325&255; $327 = (0 - ($326))|0; @@ -140692,10 +141782,10 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $329 = HEAP32[$pPage>>2]|0; $330 = HEAP32[$pCellBody>>2]|0; $331 = HEAP32[$3>>2]|0; - $332 = (($331) + 24|0); + $332 = ((($331)) + 24|0); _btreeParseCellPtr($329,$330,$332); $333 = HEAP32[$3>>2]|0; - $334 = (($333) + 24|0); + $334 = ((($333)) + 24|0); $335 = $334; $336 = $335; $337 = HEAP32[$336>>2]|0; @@ -140717,11 +141807,11 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $347 = HEAP32[$idx>>2]|0; $348 = $347&65535; $349 = HEAP32[$3>>2]|0; - $350 = (($349) + 76|0); + $350 = ((($349)) + 76|0); $351 = HEAP16[$350>>1]|0; $352 = $351 << 16 >> 16; $353 = HEAP32[$3>>2]|0; - $354 = (($353) + 78|0); + $354 = ((($353)) + 78|0); $355 = (($354) + ($352<<1)|0); HEAP16[$355>>1] = $348; $356 = HEAP32[$3>>2]|0; @@ -140780,7 +141870,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { if ((label|0) == 49) { label = 0; $398 = HEAP32[$pPage>>2]|0; - $399 = (($398) + 5|0); + $399 = ((($398)) + 5|0); $400 = HEAP8[$399>>0]|0; $401 = ($400<<24>>24)!=(0); if ($401) { @@ -140790,33 +141880,33 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { } $413 = HEAP32[$lwr>>2]|0; $414 = HEAP32[$pPage>>2]|0; - $415 = (($414) + 18|0); + $415 = ((($414)) + 18|0); $416 = HEAP16[$415>>1]|0; $417 = $416&65535; $418 = ($413|0)>=($417|0); $419 = HEAP32[$pPage>>2]|0; if ($418) { - $420 = (($419) + 6|0); + $420 = ((($419)) + 6|0); $421 = HEAP8[$420>>0]|0; $422 = $421&255; $423 = (($422) + 8)|0; $424 = HEAP32[$pPage>>2]|0; - $425 = (($424) + 56|0); + $425 = ((($424)) + 56|0); $426 = HEAP32[$425>>2]|0; $427 = (($426) + ($423)|0); $428 = (_sqlite3Get4byte($427)|0); HEAP32[$chldPg>>2] = $428; } else { - $429 = (($419) + 56|0); + $429 = ((($419)) + 56|0); $430 = HEAP32[$429>>2]|0; $431 = HEAP32[$pPage>>2]|0; - $432 = (($431) + 20|0); + $432 = ((($431)) + 20|0); $433 = HEAP16[$432>>1]|0; $434 = $433&65535; $435 = HEAP32[$lwr>>2]|0; $436 = $435<<1; $437 = HEAP32[$pPage>>2]|0; - $438 = (($437) + 64|0); + $438 = ((($437)) + 64|0); $439 = HEAP32[$438>>2]|0; $440 = (($439) + ($436)|0); $441 = HEAP8[$440>>0]|0; @@ -140825,10 +141915,10 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $444 = HEAP32[$lwr>>2]|0; $445 = $444<<1; $446 = HEAP32[$pPage>>2]|0; - $447 = (($446) + 64|0); + $447 = ((($446)) + 64|0); $448 = HEAP32[$447>>2]|0; $449 = (($448) + ($445)|0); - $450 = (($449) + 1|0); + $450 = ((($449)) + 1|0); $451 = HEAP8[$450>>0]|0; $452 = $451&255; $453 = $443 | $452; @@ -140840,11 +141930,11 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $457 = HEAP32[$lwr>>2]|0; $458 = $457&65535; $459 = HEAP32[$3>>2]|0; - $460 = (($459) + 76|0); + $460 = ((($459)) + 76|0); $461 = HEAP16[$460>>1]|0; $462 = $461 << 16 >> 16; $463 = HEAP32[$3>>2]|0; - $464 = (($463) + 78|0); + $464 = ((($463)) + 78|0); $465 = (($464) + ($462<<1)|0); HEAP16[$465>>1] = $458; $466 = HEAP32[$3>>2]|0; @@ -140882,15 +141972,15 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $378 = HEAP32[$idx>>2]|0; $379 = $378&65535; $380 = HEAP32[$3>>2]|0; - $381 = (($380) + 76|0); + $381 = ((($380)) + 76|0); $382 = HEAP16[$381>>1]|0; $383 = $382 << 16 >> 16; $384 = HEAP32[$3>>2]|0; - $385 = (($384) + 78|0); + $385 = ((($384)) + 78|0); $386 = (($385) + ($383<<1)|0); HEAP16[$386>>1] = $379; $387 = HEAP32[$4>>2]|0; - $388 = (($387) + 7|0); + $388 = ((($387)) + 7|0); $389 = HEAP8[$388>>0]|0; $390 = ($389<<24>>24)!=(0); if ($390) { @@ -140901,11 +141991,11 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { $402 = HEAP32[$idx>>2]|0; $403 = $402&65535; $404 = HEAP32[$3>>2]|0; - $405 = (($404) + 76|0); + $405 = ((($404)) + 76|0); $406 = HEAP16[$405>>1]|0; $407 = $406 << 16 >> 16; $408 = HEAP32[$3>>2]|0; - $409 = (($408) + 78|0); + $409 = ((($408)) + 78|0); $410 = (($409) + ($407<<1)|0); HEAP16[$410>>1] = $403; $411 = HEAP32[$c>>2]|0; @@ -140914,11 +142004,11 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { HEAP32[$rc>>2] = 0; } $471 = HEAP32[$3>>2]|0; - $472 = (($471) + 24|0); - $473 = (($472) + 20|0); + $472 = ((($471)) + 24|0); + $473 = ((($472)) + 20|0); HEAP16[$473>>1] = 0; $474 = HEAP32[$3>>2]|0; - $475 = (($474) + 72|0); + $475 = ((($474)) + 72|0); $476 = HEAP8[$475>>0]|0; $477 = $476&255; $478 = $477 & -7; @@ -140942,48 +142032,48 @@ function _sqlite3VdbeFindCompare($p) { HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 6|0); + $4 = ((($3)) + 6|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = (($6) + ($11))|0; $13 = ($12|0)<=(13); if ($13) { $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 8|0); + $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; HEAP32[$flags>>2] = $19; $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 16|0); + $22 = ((($21)) + 16|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP8[$23>>0]|0; $25 = ($24<<24>>24)!=(0); $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 12|0); + $27 = ((($26)) + 12|0); if ($25) { HEAP32[$27>>2] = 1; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); HEAP32[$29>>2] = -1; } else { HEAP32[$27>>2] = -1; $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 16|0); + $31 = ((($30)) + 16|0); HEAP32[$31>>2] = 1; } $32 = HEAP32[$flags>>2]|0; $33 = $32 & 4; $34 = ($33|0)!=(0); if ($34) { - HEAP32[$0>>2] = 15; + HEAP32[$0>>2] = 18; $43 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($43|0); } @@ -140993,17 +142083,17 @@ function _sqlite3VdbeFindCompare($p) { if ($37) { $38 = HEAP32[$1>>2]|0; $39 = HEAP32[$38>>2]|0; - $40 = (($39) + 20|0); + $40 = ((($39)) + 20|0); $41 = HEAP32[$40>>2]|0; $42 = ($41|0)==(0|0); if ($42) { - HEAP32[$0>>2] = 16; + HEAP32[$0>>2] = 19; $43 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($43|0); } } } - HEAP32[$0>>2] = 17; + HEAP32[$0>>2] = 20; $43 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($43|0); } @@ -141026,14 +142116,14 @@ function _moveToRoot($pCur) { HEAP32[$1>>2] = $pCur; HEAP32[$rc>>2] = 0; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 73|0); + $3 = ((($2)) + 73|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)>=(3); do { if ($6) { $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 73|0); + $8 = ((($7)) + 73|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = ($10|0)==(4); @@ -141042,7 +142132,7 @@ function _moveToRoot($pCur) { _sqlite3BtreeClearCursor($12); break; } - $13 = (($12) + 68|0); + $13 = ((($12)) + 68|0); $14 = HEAP32[$13>>2]|0; HEAP32[$0>>2] = $14; $124 = HEAP32[$0>>2]|0; @@ -141050,7 +142140,7 @@ function _moveToRoot($pCur) { } } while(0); $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 76|0); + $16 = ((($15)) + 76|0); $17 = HEAP16[$16>>1]|0; $18 = $17 << 16 >> 16; $19 = ($18|0)>=(0); @@ -141058,47 +142148,47 @@ function _moveToRoot($pCur) { if ($19) { while(1) { $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 76|0); + $21 = ((($20)) + 76|0); $22 = HEAP16[$21>>1]|0; $23 = ($22<<16>>16)!=(0); if (!($23)) { break L8; } $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 76|0); + $25 = ((($24)) + 76|0); $26 = HEAP16[$25>>1]|0; $27 = (($26) + -1)<<16>>16; HEAP16[$25>>1] = $27; $28 = $26 << 16 >> 16; $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 120|0); + $30 = ((($29)) + 120|0); $31 = (($30) + ($28<<2)|0); $32 = HEAP32[$31>>2]|0; _releasePage($32); } } else { $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 60|0); + $34 = ((($33)) + 60|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)==(0); $37 = HEAP32[$1>>2]|0; if ($36) { - $38 = (($37) + 73|0); + $38 = ((($37)) + 73|0); HEAP8[$38>>0] = 0; HEAP32[$0>>2] = 0; $124 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($124|0); } $39 = HEAP32[$37>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$1>>2]|0; - $43 = (($42) + 60|0); + $43 = ((($42)) + 60|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 120|0); + $46 = ((($45)) + 120|0); $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 72|0); + $48 = ((($47)) + 72|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $50 & 1; @@ -141110,11 +142200,11 @@ function _moveToRoot($pCur) { $56 = ($55|0)!=(0); $57 = HEAP32[$1>>2]|0; if (!($56)) { - $60 = (($57) + 76|0); + $60 = ((($57)) + 76|0); HEAP16[$60>>1] = 0; break; } - $58 = (($57) + 73|0); + $58 = ((($57)) + 73|0); HEAP8[$58>>0] = 0; $59 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $59; @@ -141123,7 +142213,7 @@ function _moveToRoot($pCur) { } } while(0); $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 120|0); + $62 = ((($61)) + 120|0); $63 = HEAP32[$62>>2]|0; HEAP32[$pRoot>>2] = $63; $64 = HEAP32[$pRoot>>2]|0; @@ -141132,69 +142222,69 @@ function _moveToRoot($pCur) { $67 = ($66|0)==(0); if (!($67)) { $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 16|0); + $69 = ((($68)) + 16|0); $70 = HEAP32[$69>>2]|0; $71 = ($70|0)==(0|0); $72 = $71&1; $73 = HEAP32[$pRoot>>2]|0; - $74 = (($73) + 2|0); + $74 = ((($73)) + 2|0); $75 = HEAP8[$74>>0]|0; $76 = $75&255; $77 = ($72|0)!=($76|0); if (!($77)) { $79 = HEAP32[$1>>2]|0; - $80 = (($79) + 78|0); + $80 = ((($79)) + 78|0); HEAP16[$80>>1] = 0; $81 = HEAP32[$1>>2]|0; - $82 = (($81) + 24|0); - $83 = (($82) + 20|0); + $82 = ((($81)) + 24|0); + $83 = ((($82)) + 20|0); HEAP16[$83>>1] = 0; $84 = HEAP32[$1>>2]|0; - $85 = (($84) + 72|0); + $85 = ((($84)) + 72|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; $88 = $87 & -15; $89 = $88&255; HEAP8[$85>>0] = $89; $90 = HEAP32[$pRoot>>2]|0; - $91 = (($90) + 18|0); + $91 = ((($90)) + 18|0); $92 = HEAP16[$91>>1]|0; $93 = $92&65535; $94 = ($93|0)>(0); do { if ($94) { $95 = HEAP32[$1>>2]|0; - $96 = (($95) + 73|0); + $96 = ((($95)) + 73|0); HEAP8[$96>>0] = 1; } else { $97 = HEAP32[$pRoot>>2]|0; - $98 = (($97) + 5|0); + $98 = ((($97)) + 5|0); $99 = HEAP8[$98>>0]|0; $100 = ($99<<24>>24)!=(0); if ($100) { $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 73|0); + $122 = ((($121)) + 73|0); HEAP8[$122>>0] = 0; break; } $101 = HEAP32[$pRoot>>2]|0; - $102 = (($101) + 72|0); + $102 = ((($101)) + 72|0); $103 = HEAP32[$102>>2]|0; $104 = ($103|0)!=(1); if (!($104)) { $106 = HEAP32[$pRoot>>2]|0; - $107 = (($106) + 6|0); + $107 = ((($106)) + 6|0); $108 = HEAP8[$107>>0]|0; $109 = $108&255; $110 = (($109) + 8)|0; $111 = HEAP32[$pRoot>>2]|0; - $112 = (($111) + 56|0); + $112 = ((($111)) + 56|0); $113 = HEAP32[$112>>2]|0; $114 = (($113) + ($110)|0); $115 = (_sqlite3Get4byte($114)|0); HEAP32[$subpage>>2] = $115; $116 = HEAP32[$1>>2]|0; - $117 = (($116) + 73|0); + $117 = ((($116)) + 73|0); HEAP8[$117>>0] = 1; $118 = HEAP32[$1>>2]|0; $119 = HEAP32[$subpage>>2]|0; @@ -141266,7 +142356,7 @@ function _sqlite3GetVarint($p,$v) { STACKTOP = sp;return ($242|0); } $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 1|0); + $16 = ((($15)) + 1|0); HEAP32[$1>>2] = $16; $17 = HEAP32[$1>>2]|0; $18 = HEAP8[$17>>0]|0; @@ -141299,7 +142389,7 @@ function _sqlite3GetVarint($p,$v) { STACKTOP = sp;return ($242|0); } $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 1|0); + $37 = ((($36)) + 1|0); HEAP32[$1>>2] = $37; $38 = HEAP32[$a>>2]|0; $39 = $38 << 14; @@ -141340,7 +142430,7 @@ function _sqlite3GetVarint($p,$v) { STACKTOP = sp;return ($242|0); } $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 1|0); + $64 = ((($63)) + 1|0); HEAP32[$1>>2] = $64; $65 = HEAP32[$b>>2]|0; $66 = $65 << 14; @@ -141379,7 +142469,7 @@ function _sqlite3GetVarint($p,$v) { } HEAP32[$s>>2] = $77; $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 1|0); + $89 = ((($88)) + 1|0); HEAP32[$1>>2] = $89; $90 = HEAP32[$a>>2]|0; $91 = $90 << 14; @@ -141425,7 +142515,7 @@ function _sqlite3GetVarint($p,$v) { $118 = $117 | $116; HEAP32[$s>>2] = $118; $119 = HEAP32[$1>>2]|0; - $120 = (($119) + 1|0); + $120 = ((($119)) + 1|0); HEAP32[$1>>2] = $120; $121 = HEAP32[$b>>2]|0; $122 = $121 << 14; @@ -141467,7 +142557,7 @@ function _sqlite3GetVarint($p,$v) { STACKTOP = sp;return ($242|0); } $147 = HEAP32[$1>>2]|0; - $148 = (($147) + 1|0); + $148 = ((($147)) + 1|0); HEAP32[$1>>2] = $148; $149 = HEAP32[$a>>2]|0; $150 = $149 << 14; @@ -141514,7 +142604,7 @@ function _sqlite3GetVarint($p,$v) { $177 = $159 & 2080895; HEAP32[$a>>2] = $177; $178 = HEAP32[$1>>2]|0; - $179 = (($178) + 1|0); + $179 = ((($178)) + 1|0); HEAP32[$1>>2] = $179; $180 = HEAP32[$b>>2]|0; $181 = $180 << 14; @@ -141530,7 +142620,7 @@ function _sqlite3GetVarint($p,$v) { $189 = ($188|0)!=(0); if ($189) { $206 = HEAP32[$1>>2]|0; - $207 = (($206) + 1|0); + $207 = ((($206)) + 1|0); HEAP32[$1>>2] = $207; $208 = HEAP32[$a>>2]|0; $209 = $208 << 15; @@ -141555,7 +142645,7 @@ function _sqlite3GetVarint($p,$v) { $223 = $222 << 4; HEAP32[$s>>2] = $223; $224 = HEAP32[$1>>2]|0; - $225 = (($224) + -4|0); + $225 = ((($224)) + -4|0); $226 = HEAP8[$225>>0]|0; $227 = $226&255; HEAP32[$b>>2] = $227; @@ -141608,7 +142698,7 @@ function _sqlite3GetVarint($p,$v) { $242 = HEAP8[$0>>0]|0; STACKTOP = sp;return ($242|0); } - return 0|0; + return (0)|0; } function _btreeParseCellPtr($pPage,$pCell,$pInfo) { $pPage = $pPage|0; @@ -141625,19 +142715,19 @@ function _btreeParseCellPtr($pPage,$pCell,$pInfo) { var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $maxLocal = 0, $minLocal = 0, $nPayload = 0, $pIter = 0, $surplus = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $pIter = sp + 16|0; - $nPayload = sp + 12|0; - $minLocal = sp + 8|0; - $maxLocal = sp + 4|0; - $surplus = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $pIter = sp + 20|0; + $nPayload = sp + 28|0; + $minLocal = sp; + $maxLocal = sp + 12|0; + $surplus = sp + 24|0; HEAP32[$0>>2] = $pPage; HEAP32[$1>>2] = $pCell; HEAP32[$2>>2] = $pInfo; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 3|0); + $4 = ((($3)) + 3|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); if ($6) { @@ -141670,36 +142760,36 @@ function _btreeParseCellPtr($pPage,$pCell,$pInfo) { HEAP32[$pIter>>2] = $26; } else { $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP8[$28>>0]|0; $30 = ($29<<24>>24)!=(0); $31 = HEAP32[$1>>2]|0; if ($30) { - $32 = (($31) + 4|0); + $32 = ((($31)) + 4|0); $33 = HEAP32[$2>>2]|0; $34 = (_sqlite3GetVarint($32,$33)|0); $35 = $34&255; $36 = (4 + ($35))|0; $37 = $36&65535; $38 = HEAP32[$2>>2]|0; - $39 = (($38) + 20|0); + $39 = ((($38)) + 20|0); HEAP16[$39>>1] = $37; $40 = HEAP32[$2>>2]|0; - $41 = (($40) + 12|0); + $41 = ((($40)) + 12|0); HEAP32[$41>>2] = 0; $42 = HEAP32[$2>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); HEAP16[$43>>1] = 0; $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 18|0); + $45 = ((($44)) + 18|0); HEAP16[$45>>1] = 0; $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 8|0); + $47 = ((($46)) + 8|0); HEAP32[$47>>2] = 0; STACKTOP = sp;return; } $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 7|0); + $49 = ((($48)) + 7|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; $52 = (($31) + ($51)|0); @@ -141735,15 +142825,15 @@ function _btreeParseCellPtr($pPage,$pCell,$pInfo) { } $73 = HEAP32[$nPayload>>2]|0; $74 = HEAP32[$2>>2]|0; - $75 = (($74) + 12|0); + $75 = ((($74)) + 12|0); HEAP32[$75>>2] = $73; $76 = HEAP32[$pIter>>2]|0; $77 = HEAP32[$2>>2]|0; - $78 = (($77) + 8|0); + $78 = ((($77)) + 8|0); HEAP32[$78>>2] = $76; $79 = HEAP32[$nPayload>>2]|0; $80 = HEAP32[$0>>2]|0; - $81 = (($80) + 10|0); + $81 = ((($80)) + 10|0); $82 = HEAP16[$81>>1]|0; $83 = $82&65535; $84 = ($79>>>0)<=($83>>>0); @@ -141759,35 +142849,35 @@ function _btreeParseCellPtr($pPage,$pCell,$pInfo) { $93 = (($85) + ($92))|0; $94 = $93&65535; $95 = HEAP32[$2>>2]|0; - $96 = (($95) + 20|0); + $96 = ((($95)) + 20|0); HEAP16[$96>>1] = $94; $97 = HEAP32[$2>>2]|0; - $98 = (($97) + 20|0); + $98 = ((($97)) + 20|0); $99 = HEAP16[$98>>1]|0; $100 = $99&65535; $101 = ($100|0)<(4); if ($101) { $102 = HEAP32[$2>>2]|0; - $103 = (($102) + 20|0); + $103 = ((($102)) + 20|0); HEAP16[$103>>1] = 4; } $104 = HEAP32[$nPayload>>2]|0; $105 = $104&65535; $106 = HEAP32[$2>>2]|0; - $107 = (($106) + 16|0); + $107 = ((($106)) + 16|0); HEAP16[$107>>1] = $105; $108 = HEAP32[$2>>2]|0; - $109 = (($108) + 18|0); + $109 = ((($108)) + 18|0); HEAP16[$109>>1] = 0; STACKTOP = sp;return; } $110 = HEAP32[$0>>2]|0; - $111 = (($110) + 12|0); + $111 = ((($110)) + 12|0); $112 = HEAP16[$111>>1]|0; $113 = $112&65535; HEAP32[$minLocal>>2] = $113; $114 = HEAP32[$0>>2]|0; - $115 = (($114) + 10|0); + $115 = ((($114)) + 10|0); $116 = HEAP16[$115>>1]|0; $117 = $116&65535; HEAP32[$maxLocal>>2] = $117; @@ -141796,9 +142886,9 @@ function _btreeParseCellPtr($pPage,$pCell,$pInfo) { $120 = HEAP32[$minLocal>>2]|0; $121 = (($119) - ($120))|0; $122 = HEAP32[$0>>2]|0; - $123 = (($122) + 52|0); + $123 = ((($122)) + 52|0); $124 = HEAP32[$123>>2]|0; - $125 = (($124) + 36|0); + $125 = ((($124)) + 36|0); $126 = HEAP32[$125>>2]|0; $127 = (($126) - 4)|0; $128 = (($121>>>0) % ($127>>>0))&-1; @@ -141811,21 +142901,21 @@ function _btreeParseCellPtr($pPage,$pCell,$pInfo) { $133 = HEAP32[$surplus>>2]|0; $134 = $133&65535; $135 = HEAP32[$2>>2]|0; - $136 = (($135) + 16|0); + $136 = ((($135)) + 16|0); HEAP16[$136>>1] = $134; } else { $137 = HEAP32[$minLocal>>2]|0; $138 = $137&65535; $139 = HEAP32[$2>>2]|0; - $140 = (($139) + 16|0); + $140 = ((($139)) + 16|0); HEAP16[$140>>1] = $138; } $141 = HEAP32[$2>>2]|0; - $142 = (($141) + 16|0); + $142 = ((($141)) + 16|0); $143 = HEAP16[$142>>1]|0; $144 = $143&65535; $145 = HEAP32[$2>>2]|0; - $146 = (($145) + 8|0); + $146 = ((($145)) + 8|0); $147 = HEAP32[$146>>2]|0; $148 = (($147) + ($144)|0); $149 = HEAP32[$1>>2]|0; @@ -141834,16 +142924,16 @@ function _btreeParseCellPtr($pPage,$pCell,$pInfo) { $152 = (($150) - ($151))|0; $153 = $152&65535; $154 = HEAP32[$2>>2]|0; - $155 = (($154) + 18|0); + $155 = ((($154)) + 18|0); HEAP16[$155>>1] = $153; $156 = HEAP32[$2>>2]|0; - $157 = (($156) + 18|0); + $157 = ((($156)) + 18|0); $158 = HEAP16[$157>>1]|0; $159 = $158&65535; $160 = (($159) + 4)|0; $161 = $160&65535; $162 = HEAP32[$2>>2]|0; - $163 = (($162) + 20|0); + $163 = ((($162)) + 20|0); HEAP16[$163>>1] = $161; STACKTOP = sp;return; } @@ -141872,25 +142962,25 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { var $ovflSize = 0, $pBt = 0, $pDbPage = 0, $pPage = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $3 = sp + 60|0; - $4 = sp + 56|0; - $5 = sp + 52|0; + $0 = sp + 68|0; + $1 = sp + 44|0; + $2 = sp + 28|0; + $3 = sp + 20|0; + $4 = sp + 4|0; + $5 = sp + 8|0; $aPayload = sp + 48|0; - $rc = sp + 44|0; - $iIdx = sp + 40|0; - $pPage = sp + 36|0; - $pBt = sp + 32|0; - $iPage = sp + 28|0; - $a = sp + 24|0; - $ovflSize = sp + 20|0; - $nextPage = sp + 16|0; + $rc = sp + 56|0; + $iIdx = sp + 64|0; + $pPage = sp + 72|0; + $pBt = sp + 24|0; + $iPage = sp + 32|0; + $a = sp + 36|0; + $ovflSize = sp; + $nextPage = sp + 40|0; $nOvfl = sp + 12|0; - $aNew = sp + 8|0; - $a1 = sp + 4|0; - $pDbPage = sp; + $aNew = sp + 52|0; + $a1 = sp + 16|0; + $pDbPage = sp + 60|0; HEAP32[$1>>2] = $pCur; HEAP32[$2>>2] = $offset; HEAP32[$3>>2] = $amt; @@ -141899,46 +142989,46 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { HEAP32[$rc>>2] = 0; HEAP32[$iIdx>>2] = 0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 76|0); + $7 = ((($6)) + 76|0); $8 = HEAP16[$7>>1]|0; $9 = $8 << 16 >> 16; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 120|0); + $11 = ((($10)) + 120|0); $12 = (($11) + ($9<<2)|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pPage>>2] = $13; $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pBt>>2] = $16; $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 24|0); - $19 = (($18) + 20|0); + $18 = ((($17)) + 24|0); + $19 = ((($18)) + 20|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = ($21|0)==(0); if ($22) { $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 76|0); + $24 = ((($23)) + 76|0); $25 = HEAP16[$24>>1]|0; $26 = $25 << 16 >> 16; HEAP32[$iPage>>2] = $26; $27 = HEAP32[$iPage>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 120|0); + $29 = ((($28)) + 120|0); $30 = (($29) + ($27<<2)|0); $31 = HEAP32[$30>>2]|0; $32 = HEAP32[$iPage>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 78|0); + $34 = ((($33)) + 78|0); $35 = (($34) + ($32<<1)|0); $36 = HEAP16[$35>>1]|0; $37 = $36&65535; $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 24|0); + $39 = ((($38)) + 24|0); _btreeParseCell($31,$37,$39); $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 72|0); + $41 = ((($40)) + 72|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = $43 | 2; @@ -141946,22 +143036,22 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { HEAP8[$41>>0] = $45; } $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 24|0); - $48 = (($47) + 8|0); + $47 = ((($46)) + 24|0); + $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; HEAP32[$aPayload>>2] = $49; $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 24|0); - $52 = (($51) + 16|0); + $51 = ((($50)) + 24|0); + $52 = ((($51)) + 16|0); $53 = HEAP16[$52>>1]|0; $54 = $53&65535; $55 = HEAP32[$aPayload>>2]|0; $56 = (($55) + ($54)|0); $57 = HEAP32[$pBt>>2]|0; - $58 = (($57) + 36|0); + $58 = ((($57)) + 36|0); $59 = HEAP32[$58>>2]|0; $60 = HEAP32[$pPage>>2]|0; - $61 = (($60) + 56|0); + $61 = ((($60)) + 56|0); $62 = HEAP32[$61>>2]|0; $63 = (($62) + ($59)|0); $64 = ($56>>>0)>($63>>>0); @@ -141973,8 +143063,8 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { } $66 = HEAP32[$2>>2]|0; $67 = HEAP32[$1>>2]|0; - $68 = (($67) + 24|0); - $69 = (($68) + 16|0); + $68 = ((($67)) + 24|0); + $69 = ((($68)) + 16|0); $70 = HEAP16[$69>>1]|0; $71 = $70&65535; $72 = ($66>>>0)<($71>>>0); @@ -141985,15 +143075,15 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $75 = HEAP32[$2>>2]|0; $76 = (($74) + ($75))|0; $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 24|0); - $79 = (($78) + 16|0); + $78 = ((($77)) + 24|0); + $79 = ((($78)) + 16|0); $80 = HEAP16[$79>>1]|0; $81 = $80&65535; $82 = ($76>>>0)>($81>>>0); if ($82) { $83 = HEAP32[$1>>2]|0; - $84 = (($83) + 24|0); - $85 = (($84) + 16|0); + $84 = ((($83)) + 24|0); + $85 = ((($84)) + 16|0); $86 = HEAP16[$85>>1]|0; $87 = $86&65535; $88 = HEAP32[$2>>2]|0; @@ -142008,7 +143098,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $95 = HEAP32[$5>>2]|0; $96 = $95 & 1; $97 = HEAP32[$pPage>>2]|0; - $98 = (($97) + 68|0); + $98 = ((($97)) + 68|0); $99 = HEAP32[$98>>2]|0; $100 = (_copyPayload($92,$93,$94,$96,$99)|0); HEAP32[$rc>>2] = $100; @@ -142023,8 +143113,8 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { HEAP32[$3>>2] = $106; } else { $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 24|0); - $109 = (($108) + 16|0); + $108 = ((($107)) + 24|0); + $109 = ((($108)) + 16|0); $110 = HEAP16[$109>>1]|0; $111 = $110&65535; $112 = HEAP32[$2>>2]|0; @@ -142039,13 +143129,13 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { L15: do { if ($or$cond) { $118 = HEAP32[$pBt>>2]|0; - $119 = (($118) + 36|0); + $119 = ((($118)) + 36|0); $120 = HEAP32[$119>>2]|0; $121 = (($120) - 4)|0; HEAP32[$ovflSize>>2] = $121; $122 = HEAP32[$1>>2]|0; - $123 = (($122) + 24|0); - $124 = (($123) + 16|0); + $123 = ((($122)) + 24|0); + $124 = ((($123)) + 16|0); $125 = HEAP16[$124>>1]|0; $126 = $125&65535; $127 = HEAP32[$aPayload>>2]|0; @@ -142056,19 +143146,19 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $131 = ($130|0)!=(2); if ($131) { $132 = HEAP32[$1>>2]|0; - $133 = (($132) + 72|0); + $133 = ((($132)) + 72|0); $134 = HEAP8[$133>>0]|0; $135 = $134&255; $136 = $135 & 4; $137 = ($136|0)==(0); if ($137) { $138 = HEAP32[$1>>2]|0; - $139 = (($138) + 24|0); - $140 = (($139) + 12|0); + $139 = ((($138)) + 24|0); + $140 = ((($139)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = HEAP32[$1>>2]|0; - $143 = (($142) + 24|0); - $144 = (($143) + 16|0); + $143 = ((($142)) + 24|0); + $144 = ((($143)) + 16|0); $145 = HEAP16[$144>>1]|0; $146 = $145&65535; $147 = (($141) - ($146))|0; @@ -142080,7 +143170,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { HEAP32[$nOvfl>>2] = $152; $153 = HEAP32[$nOvfl>>2]|0; $154 = HEAP32[$1>>2]|0; - $155 = (($154) + 64|0); + $155 = ((($154)) + 64|0); $156 = HEAP32[$155>>2]|0; $157 = ($153|0)>($156|0); do { @@ -142089,7 +143179,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $159 = HEAP32[$158>>2]|0; $160 = HEAP32[$159>>2]|0; $161 = HEAP32[$1>>2]|0; - $162 = (($161) + 20|0); + $162 = ((($161)) + 20|0); $163 = HEAP32[$162>>2]|0; $164 = HEAP32[$nOvfl>>2]|0; $165 = $164<<1; @@ -142105,11 +143195,11 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $170 = HEAP32[$nOvfl>>2]|0; $171 = $170<<1; $172 = HEAP32[$1>>2]|0; - $173 = (($172) + 64|0); + $173 = ((($172)) + 64|0); HEAP32[$173>>2] = $171; $174 = HEAP32[$aNew>>2]|0; $175 = HEAP32[$1>>2]|0; - $176 = (($175) + 20|0); + $176 = ((($175)) + 20|0); HEAP32[$176>>2] = $174; break; } @@ -142119,13 +143209,13 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $178 = ($177|0)==(0); if ($178) { $179 = HEAP32[$1>>2]|0; - $180 = (($179) + 20|0); + $180 = ((($179)) + 20|0); $181 = HEAP32[$180>>2]|0; $182 = HEAP32[$nOvfl>>2]|0; $183 = $182<<2; _memset(($181|0),0,($183|0))|0; $184 = HEAP32[$1>>2]|0; - $185 = (($184) + 72|0); + $185 = ((($184)) + 72|0); $186 = HEAP8[$185>>0]|0; $187 = $186&255; $188 = $187 | 4; @@ -142135,7 +143225,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { } } $190 = HEAP32[$1>>2]|0; - $191 = (($190) + 72|0); + $191 = ((($190)) + 72|0); $192 = HEAP8[$191>>0]|0; $193 = $192&255; $194 = $193 & 4; @@ -142145,7 +143235,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $197 = HEAP32[$ovflSize>>2]|0; $198 = (($196>>>0) / ($197>>>0))&-1; $199 = HEAP32[$1>>2]|0; - $200 = (($199) + 20|0); + $200 = ((($199)) + 20|0); $201 = HEAP32[$200>>2]|0; $202 = (($201) + ($198<<2)|0); $203 = HEAP32[$202>>2]|0; @@ -142157,7 +143247,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { HEAP32[$iIdx>>2] = $207; $208 = HEAP32[$iIdx>>2]|0; $209 = HEAP32[$1>>2]|0; - $210 = (($209) + 20|0); + $210 = ((($209)) + 20|0); $211 = HEAP32[$210>>2]|0; $212 = (($211) + ($208<<2)|0); $213 = HEAP32[$212>>2]|0; @@ -142176,12 +143266,12 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $or$cond3 = $218 & $220; $221 = HEAP32[$nextPage>>2]|0; $222 = ($221|0)!=(0); - $or$cond5 = $or$cond3 & $222; - if (!($or$cond5)) { + $or$cond7 = $or$cond3 & $222; + if (!($or$cond7)) { break L15; } $223 = HEAP32[$1>>2]|0; - $224 = (($223) + 72|0); + $224 = ((($223)) + 72|0); $225 = HEAP8[$224>>0]|0; $226 = $225&255; $227 = $226 & 4; @@ -142190,7 +143280,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $229 = HEAP32[$nextPage>>2]|0; $230 = HEAP32[$iIdx>>2]|0; $231 = HEAP32[$1>>2]|0; - $232 = (($231) + 20|0); + $232 = ((($231)) + 20|0); $233 = HEAP32[$232>>2]|0; $234 = (($233) + ($230<<2)|0); HEAP32[$234>>2] = $229; @@ -142202,7 +143292,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $238 = HEAP32[$iIdx>>2]|0; $239 = (($238) + 1)|0; $240 = HEAP32[$1>>2]|0; - $241 = (($240) + 20|0); + $241 = ((($240)) + 20|0); $242 = HEAP32[$241>>2]|0; $243 = (($242) + ($239<<2)|0); $244 = HEAP32[$243>>2]|0; @@ -142211,7 +143301,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $246 = HEAP32[$iIdx>>2]|0; $247 = (($246) + 1)|0; $248 = HEAP32[$1>>2]|0; - $249 = (($248) + 20|0); + $249 = ((($248)) + 20|0); $250 = HEAP32[$249>>2]|0; $251 = (($250) + ($247<<2)|0); $252 = HEAP32[$251>>2]|0; @@ -142292,8 +143382,8 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $302 = ($301|0)==(0); $303 = HEAP32[$3>>2]|0; $304 = ($303>>>0)>(0); - $or$cond7 = $302 & $304; - if ($or$cond7) { + $or$cond5 = $302 & $304; + if ($or$cond5) { $305 = (_sqlite3CorruptError(56431)|0); HEAP32[$0>>2] = $305; $307 = HEAP32[$0>>2]|0; @@ -142304,7 +143394,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $307 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($307|0); } - return 0|0; + return (0)|0; } function _btreeParseCell($pPage,$iCell,$pInfo) { $pPage = $pPage|0; @@ -142322,16 +143412,16 @@ function _btreeParseCell($pPage,$iCell,$pInfo) { HEAP32[$2>>2] = $pInfo; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 56|0); + $5 = ((($4)) + 56|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 20|0); + $8 = ((($7)) + 20|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = HEAP32[$1>>2]|0; $12 = $11<<1; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 64|0); + $14 = ((($13)) + 64|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + ($12)|0); $17 = HEAP8[$16>>0]|0; @@ -142340,10 +143430,10 @@ function _btreeParseCell($pPage,$iCell,$pInfo) { $20 = HEAP32[$1>>2]|0; $21 = $20<<1; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 64|0); + $23 = ((($22)) + 64|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + ($21)|0); - $26 = (($25) + 1|0); + $26 = ((($25)) + 1|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; $29 = $19 | $28; @@ -142363,13 +143453,13 @@ function _copyPayload($pPayload,$pBuf,$nByte,$eOp,$pDbPage) { var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $rc = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $5 = sp; + $rc = sp + 12|0; HEAP32[$1>>2] = $pPayload; HEAP32[$2>>2] = $pBuf; HEAP32[$3>>2] = $nByte; @@ -142418,14 +143508,14 @@ function _getOverflowPage($pBt,$ovfl,$ppPage,$pPgnoNext) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $next = sp + 16|0; - $pPage = sp + 12|0; - $rc = sp + 8|0; - $pgno = sp + 4|0; - $iGuess = sp; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $next = sp + 28|0; + $pPage = sp; + $rc = sp + 12|0; + $pgno = sp + 24|0; + $iGuess = sp + 20|0; $eType = sp + 36|0; HEAP32[$0>>2] = $pBt; HEAP32[$1>>2] = $ovfl; @@ -142435,7 +143525,7 @@ function _getOverflowPage($pBt,$ovfl,$ppPage,$pPgnoNext) { HEAP32[$pPage>>2] = 0; HEAP32[$rc>>2] = 0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 17|0); + $5 = ((($4)) + 17|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); if ($7) { @@ -142452,9 +143542,9 @@ function _getOverflowPage($pBt,$ovfl,$ppPage,$pPgnoNext) { $64 = 1; } else { $15 = HEAP32[$iGuess>>2]|0; - $16 = HEAP32[1128>>2]|0; + $16 = HEAP32[916>>2]|0; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 32|0); + $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; $20 = (($16>>>0) / ($19>>>0))&-1; $21 = (($20) + 1)|0; @@ -142509,7 +143599,7 @@ function _getOverflowPage($pBt,$ovfl,$ppPage,$pPgnoNext) { $49 = ($48|0)==(0); if ($49) { $50 = HEAP32[$pPage>>2]|0; - $51 = (($50) + 56|0); + $51 = ((($50)) + 56|0); $52 = HEAP32[$51>>2]|0; $53 = (_sqlite3Get4byte($52)|0); HEAP32[$next>>2] = $53; @@ -142537,7 +143627,7 @@ function _getOverflowPage($pBt,$ovfl,$ppPage,$pPgnoNext) { $63 = $61 ? 0 : $62; STACKTOP = sp;return ($63|0); } - return 0|0; + return (0)|0; } function _ptrmapPageno($pBt,$pgno) { $pBt = $pBt|0; @@ -142562,7 +143652,7 @@ function _ptrmapPageno($pBt,$pgno) { STACKTOP = sp;return ($29|0); } $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 36|0); + $6 = ((($5)) + 36|0); $7 = HEAP32[$6>>2]|0; $8 = (($7>>>0) / 5)&-1; $9 = (($8) + 1)|0; @@ -142578,9 +143668,9 @@ function _ptrmapPageno($pBt,$pgno) { $17 = (($16) + 2)|0; HEAP32[$ret>>2] = $17; $18 = HEAP32[$ret>>2]|0; - $19 = HEAP32[1128>>2]|0; + $19 = HEAP32[916>>2]|0; $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 32|0); + $21 = ((($20)) + 32|0); $22 = HEAP32[$21>>2]|0; $23 = (($19>>>0) / ($22>>>0))&-1; $24 = (($23) + 1)|0; @@ -142605,16 +143695,16 @@ function _ptrmapGet($pBt,$key,$pEType,$pPgno) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iPtrmap = 0, $offset = 0, $pDbPage = 0, $pPtrmap = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pDbPage = sp + 16|0; + $3 = sp + 4|0; + $4 = sp + 32|0; + $pDbPage = sp + 36|0; $iPtrmap = sp + 12|0; - $pPtrmap = sp + 8|0; - $offset = sp + 4|0; - $rc = sp; + $pPtrmap = sp + 24|0; + $offset = sp + 20|0; + $rc = sp + 8|0; HEAP32[$1>>2] = $pBt; HEAP32[$2>>2] = $key; HEAP32[$3>>2] = $pEType; @@ -142704,10 +143794,10 @@ function _sqlite3GetVarint32($p,$v) { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 25|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $a = sp + 12|0; - $b = sp + 8|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $a = sp + 20|0; + $b = sp + 16|0; $v64 = sp; $n = sp + 24|0; HEAP32[$1>>2] = $p; @@ -142717,7 +143807,7 @@ function _sqlite3GetVarint32($p,$v) { $5 = $4&255; HEAP32[$a>>2] = $5; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 1|0); + $7 = ((($6)) + 1|0); HEAP32[$1>>2] = $7; $8 = HEAP32[$1>>2]|0; $9 = HEAP8[$8>>0]|0; @@ -142743,7 +143833,7 @@ function _sqlite3GetVarint32($p,$v) { STACKTOP = sp;return ($72|0); } $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 1|0); + $23 = ((($22)) + 1|0); HEAP32[$1>>2] = $23; $24 = HEAP32[$a>>2]|0; $25 = $24 << 14; @@ -142777,7 +143867,7 @@ function _sqlite3GetVarint32($p,$v) { STACKTOP = sp;return ($72|0); } $44 = HEAP32[$1>>2]|0; - $45 = (($44) + -2|0); + $45 = ((($44)) + -2|0); HEAP32[$1>>2] = $45; $46 = HEAP32[$1>>2]|0; $47 = (_sqlite3GetVarint($46,$v64)|0); @@ -142836,17 +143926,17 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aKey = 0, $lhs = 0, $res = 0, $serial_type = 0, $v = 0, $x = 0, $y = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $aKey = sp + 36|0; - $serial_type = sp + 32|0; - $res = sp + 28|0; - $y = sp + 24|0; - $x = sp + 16|0; - $v = sp + 8|0; - $lhs = sp; + $0 = sp + 44|0; + $1 = sp + 40|0; + $2 = sp + 24|0; + $3 = sp + 36|0; + $aKey = sp + 32|0; + $serial_type = sp + 52|0; + $res = sp + 48|0; + $y = sp + 28|0; + $x = sp + 8|0; + $v = sp; + $lhs = sp + 16|0; HEAP32[$1>>2] = $nKey1; HEAP32[$2>>2] = $pKey1; HEAP32[$3>>2] = $pPKey2; @@ -142858,12 +143948,12 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { $9 = (($8) + ($7)|0); HEAP32[$aKey>>2] = $9; $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 1|0); + $11 = ((($10)) + 1|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; HEAP32[$serial_type>>2] = $13; $14 = HEAP32[$3>>2]|0; - $15 = (($14) + 8|0); + $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; $17 = $16; $18 = $17; @@ -142880,13 +143970,27 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { $27 = HEAP32[$serial_type>>2]|0; do { switch ($27|0) { + case 1: { + $28 = HEAP32[$aKey>>2]|0; + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)<(0); + $32 = $31 << 31 >> 31; + $33 = $lhs; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + break; + } case 2: { $37 = HEAP32[$aKey>>2]|0; $38 = HEAP8[$37>>0]|0; $39 = $38 << 24 >> 24; $40 = $39<<8; $41 = HEAP32[$aKey>>2]|0; - $42 = (($41) + 1|0); + $42 = ((($41)) + 1|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = $40 | $44; @@ -142906,13 +144010,13 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { $54 = $53 << 24 >> 24; $55 = $54<<16; $56 = HEAP32[$aKey>>2]|0; - $57 = (($56) + 1|0); + $57 = ((($56)) + 1|0); $58 = HEAP8[$57>>0]|0; $59 = $58&255; $60 = $59 << 8; $61 = $55 | $60; $62 = HEAP32[$aKey>>2]|0; - $63 = (($62) + 2|0); + $63 = ((($62)) + 2|0); $64 = HEAP8[$63>>0]|0; $65 = $64&255; $66 = $61 | $65; @@ -142926,35 +144030,25 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { HEAP32[$72>>2] = $68; break; } - case 7: case 0: { - $223 = HEAP32[$1>>2]|0; - $224 = HEAP32[$2>>2]|0; - $225 = HEAP32[$3>>2]|0; - $226 = (_sqlite3VdbeRecordCompare($223,$224,$225)|0); - HEAP32[$0>>2] = $226; - $284 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($284|0); - break; - } case 4: { $73 = HEAP32[$aKey>>2]|0; $74 = HEAP8[$73>>0]|0; $75 = $74&255; $76 = $75 << 24; $77 = HEAP32[$aKey>>2]|0; - $78 = (($77) + 1|0); + $78 = ((($77)) + 1|0); $79 = HEAP8[$78>>0]|0; $80 = $79&255; $81 = $80 << 16; $82 = $76 | $81; $83 = HEAP32[$aKey>>2]|0; - $84 = (($83) + 2|0); + $84 = ((($83)) + 2|0); $85 = HEAP8[$84>>0]|0; $86 = $85&255; $87 = $86 << 8; $88 = $82 | $87; $89 = HEAP32[$aKey>>2]|0; - $90 = (($89) + 3|0); + $90 = ((($89)) + 3|0); $91 = HEAP8[$90>>0]|0; $92 = $91&255; $93 = $88 | $92; @@ -142970,61 +144064,29 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { HEAP32[$100>>2] = $96; break; } - case 9: { - $219 = $lhs; - $220 = $219; - HEAP32[$220>>2] = 1; - $221 = (($219) + 4)|0; - $222 = $221; - HEAP32[$222>>2] = 0; - break; - } - case 8: { - $215 = $lhs; - $216 = $215; - HEAP32[$216>>2] = 0; - $217 = (($215) + 4)|0; - $218 = $217; - HEAP32[$218>>2] = 0; - break; - } - case 1: { - $28 = HEAP32[$aKey>>2]|0; - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = $lhs; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = $32; - break; - } case 5: { $101 = HEAP32[$aKey>>2]|0; - $102 = (($101) + 2|0); + $102 = ((($101)) + 2|0); $103 = HEAP8[$102>>0]|0; $104 = $103&255; $105 = $104 << 24; $106 = HEAP32[$aKey>>2]|0; - $107 = (($106) + 2|0); - $108 = (($107) + 1|0); + $107 = ((($106)) + 2|0); + $108 = ((($107)) + 1|0); $109 = HEAP8[$108>>0]|0; $110 = $109&255; $111 = $110 << 16; $112 = $105 | $111; $113 = HEAP32[$aKey>>2]|0; - $114 = (($113) + 2|0); - $115 = (($114) + 2|0); + $114 = ((($113)) + 2|0); + $115 = ((($114)) + 2|0); $116 = HEAP8[$115>>0]|0; $117 = $116&255; $118 = $117 << 8; $119 = $112 | $118; $120 = HEAP32[$aKey>>2]|0; - $121 = (($120) + 2|0); - $122 = (($121) + 3|0); + $121 = ((($120)) + 2|0); + $122 = ((($121)) + 3|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = $119 | $124; @@ -143033,7 +144095,7 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { $128 = $127 << 24 >> 24; $129 = $128<<8; $130 = HEAP32[$aKey>>2]|0; - $131 = (($130) + 1|0); + $131 = ((($130)) + 1|0); $132 = HEAP8[$131>>0]|0; $133 = $132&255; $134 = $129 | $133; @@ -143057,19 +144119,19 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { $147 = $146&255; $148 = $147 << 24; $149 = HEAP32[$aKey>>2]|0; - $150 = (($149) + 1|0); + $150 = ((($149)) + 1|0); $151 = HEAP8[$150>>0]|0; $152 = $151&255; $153 = $152 << 16; $154 = $148 | $153; $155 = HEAP32[$aKey>>2]|0; - $156 = (($155) + 2|0); + $156 = ((($155)) + 2|0); $157 = HEAP8[$156>>0]|0; $158 = $157&255; $159 = $158 << 8; $160 = $154 | $159; $161 = HEAP32[$aKey>>2]|0; - $162 = (($161) + 3|0); + $162 = ((($161)) + 3|0); $163 = HEAP8[$162>>0]|0; $164 = $163&255; $165 = $160 | $164; @@ -143086,27 +144148,27 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { $174 = $173; $175 = HEAP32[$174>>2]|0; $176 = HEAP32[$aKey>>2]|0; - $177 = (($176) + 4|0); + $177 = ((($176)) + 4|0); $178 = HEAP8[$177>>0]|0; $179 = $178&255; $180 = $179 << 24; $181 = HEAP32[$aKey>>2]|0; - $182 = (($181) + 4|0); - $183 = (($182) + 1|0); + $182 = ((($181)) + 4|0); + $183 = ((($182)) + 1|0); $184 = HEAP8[$183>>0]|0; $185 = $184&255; $186 = $185 << 16; $187 = $180 | $186; $188 = HEAP32[$aKey>>2]|0; - $189 = (($188) + 4|0); - $190 = (($189) + 2|0); + $189 = ((($188)) + 4|0); + $190 = ((($189)) + 2|0); $191 = HEAP8[$190>>0]|0; $192 = $191&255; $193 = $192 << 8; $194 = $187 | $193; $195 = HEAP32[$aKey>>2]|0; - $196 = (($195) + 4|0); - $197 = (($196) + 3|0); + $196 = ((($195)) + 4|0); + $197 = ((($196)) + 3|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = $194 | $199; @@ -143130,6 +144192,34 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { HEAP32[$214>>2] = $210; break; } + case 8: { + $215 = $lhs; + $216 = $215; + HEAP32[$216>>2] = 0; + $217 = (($215) + 4)|0; + $218 = $217; + HEAP32[$218>>2] = 0; + break; + } + case 9: { + $219 = $lhs; + $220 = $219; + HEAP32[$220>>2] = 1; + $221 = (($219) + 4)|0; + $222 = $221; + HEAP32[$222>>2] = 0; + break; + } + case 7: case 0: { + $223 = HEAP32[$1>>2]|0; + $224 = HEAP32[$2>>2]|0; + $225 = HEAP32[$3>>2]|0; + $226 = (_sqlite3VdbeRecordCompare($223,$224,$225)|0); + HEAP32[$0>>2] = $226; + $284 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($284|0); + break; + } default: { $227 = HEAP32[$1>>2]|0; $228 = HEAP32[$2>>2]|0; @@ -143161,7 +144251,7 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { do { if ($247) { $248 = HEAP32[$3>>2]|0; - $249 = (($248) + 12|0); + $249 = ((($248)) + 12|0); $250 = HEAP32[$249>>2]|0; HEAP32[$res>>2] = $250; } else { @@ -143184,12 +144274,12 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { $267 = $263 | $266; $268 = HEAP32[$3>>2]|0; if ($267) { - $269 = (($268) + 16|0); + $269 = ((($268)) + 16|0); $270 = HEAP32[$269>>2]|0; HEAP32[$res>>2] = $270; break; } - $271 = (($268) + 4|0); + $271 = ((($268)) + 4|0); $272 = HEAP16[$271>>1]|0; $273 = $272&65535; $274 = ($273|0)>(1); @@ -143202,7 +144292,7 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { break; } else { $279 = HEAP32[$3>>2]|0; - $280 = (($279) + 6|0); + $280 = ((($279)) + 6|0); $281 = HEAP8[$280>>0]|0; $282 = $281 << 24 >> 24; HEAP32[$res>>2] = $282; @@ -143227,28 +144317,28 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aKey1 = 0, $nCmp = 0, $nStr = 0, $res = 0, $serial_type = 0, $szHdr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $aKey1 = sp + 20|0; - $serial_type = sp + 16|0; + $3 = sp + 4|0; + $aKey1 = sp + 32|0; + $serial_type = sp + 36|0; $res = sp + 12|0; - $nCmp = sp + 8|0; - $nStr = sp + 4|0; - $szHdr = sp; + $nCmp = sp + 24|0; + $nStr = sp + 20|0; + $szHdr = sp + 8|0; HEAP32[$1>>2] = $nKey1; HEAP32[$2>>2] = $pKey1; HEAP32[$3>>2] = $pPKey2; $4 = HEAP32[$2>>2]|0; HEAP32[$aKey1>>2] = $4; $5 = HEAP32[$aKey1>>2]|0; - $6 = (($5) + 1|0); + $6 = ((($5)) + 1|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($8|0)<(128); $10 = HEAP32[$aKey1>>2]|0; - $11 = (($10) + 1|0); + $11 = ((($10)) + 1|0); if ($9) { $12 = HEAP8[$11>>0]|0; $13 = $12&255; @@ -143261,7 +144351,7 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { do { if ($15) { $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 12|0); + $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; HEAP32[$res>>2] = $18; } else { @@ -143270,7 +144360,7 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { $21 = ($20|0)!=(0); if (!($21)) { $22 = HEAP32[$3>>2]|0; - $23 = (($22) + 16|0); + $23 = ((($22)) + 16|0); $24 = HEAP32[$23>>2]|0; HEAP32[$res>>2] = $24; break; @@ -143292,24 +144382,24 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { $36 = (_sqlite3CorruptError(67026)|0); $37 = $36&255; $38 = HEAP32[$3>>2]|0; - $39 = (($38) + 7|0); + $39 = ((($38)) + 7|0); HEAP8[$39>>0] = $37; HEAP32[$0>>2] = 0; $103 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($103|0); } $40 = HEAP32[$3>>2]|0; - $41 = (($40) + 8|0); + $41 = ((($40)) + 8|0); $42 = HEAP32[$41>>2]|0; - $43 = (($42) + 12|0); + $43 = ((($42)) + 12|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$nStr>>2]|0; $46 = ($44|0)<($45|0); if ($46) { $47 = HEAP32[$3>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 12|0); + $50 = ((($49)) + 12|0); $51 = HEAP32[$50>>2]|0; $53 = $51; } else { @@ -143321,9 +144411,9 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { $55 = HEAP32[$aKey1>>2]|0; $56 = (($55) + ($54)|0); $57 = HEAP32[$3>>2]|0; - $58 = (($57) + 8|0); + $58 = ((($57)) + 8|0); $59 = HEAP32[$58>>2]|0; - $60 = (($59) + 16|0); + $60 = ((($59)) + 16|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$nCmp>>2]|0; $63 = (_memcmp($56,$61,$62)|0); @@ -143335,12 +144425,12 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { $96 = ($95|0)>(0); $97 = HEAP32[$3>>2]|0; if ($96) { - $98 = (($97) + 16|0); + $98 = ((($97)) + 16|0); $99 = HEAP32[$98>>2]|0; HEAP32[$res>>2] = $99; break; } else { - $100 = (($97) + 12|0); + $100 = ((($97)) + 12|0); $101 = HEAP32[$100>>2]|0; HEAP32[$res>>2] = $101; break; @@ -143348,9 +144438,9 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { } $66 = HEAP32[$nStr>>2]|0; $67 = HEAP32[$3>>2]|0; - $68 = (($67) + 8|0); + $68 = ((($67)) + 8|0); $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 12|0); + $70 = ((($69)) + 12|0); $71 = HEAP32[$70>>2]|0; $72 = (($66) - ($71))|0; HEAP32[$res>>2] = $72; @@ -143358,7 +144448,7 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { $74 = ($73|0)==(0); if ($74) { $75 = HEAP32[$3>>2]|0; - $76 = (($75) + 4|0); + $76 = ((($75)) + 4|0); $77 = HEAP16[$76>>1]|0; $78 = $77&65535; $79 = ($78|0)>(1); @@ -143371,7 +144461,7 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { break; } else { $84 = HEAP32[$3>>2]|0; - $85 = (($84) + 6|0); + $85 = ((($84)) + 6|0); $86 = HEAP8[$85>>0]|0; $87 = $86 << 24 >> 24; HEAP32[$res>>2] = $87; @@ -143382,12 +144472,12 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { $89 = ($88|0)>(0); $90 = HEAP32[$3>>2]|0; if ($89) { - $91 = (($90) + 16|0); + $91 = ((($90)) + 16|0); $92 = HEAP32[$91>>2]|0; HEAP32[$res>>2] = $92; break; } else { - $93 = (($90) + 12|0); + $93 = ((($90)) + 12|0); $94 = HEAP32[$93>>2]|0; HEAP32[$res>>2] = $94; break; @@ -143446,37 +144536,37 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { var $idx1 = 0, $lhs = 0, $lhs3 = 0, $mem1 = 0, $nCmp = 0, $nCmp4 = 0, $nStr = 0, $pKeyInfo = 0, $pRhs = 0, $rc = 0, $rhs = 0, $rhs1 = 0, $rhs2 = 0, $s1 = 0, $serial_type = 0, $szHdr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; - $0 = sp + 148|0; - $1 = sp + 144|0; - $2 = sp + 140|0; - $3 = sp + 136|0; - $4 = sp + 132|0; - $d1 = sp + 128|0; - $i = sp + 124|0; - $szHdr1 = sp + 120|0; - $idx1 = sp + 116|0; - $rc = sp + 112|0; - $pRhs = sp + 108|0; - $pKeyInfo = sp + 104|0; - $aKey1 = sp + 100|0; - $mem1 = sp + 40|0; + $0 = sp + 128|0; + $1 = sp + 88|0; + $2 = sp + 132|0; + $3 = sp + 140|0; + $4 = sp + 112|0; + $d1 = sp + 104|0; + $i = sp + 108|0; + $szHdr1 = sp + 92|0; + $idx1 = sp + 124|0; + $rc = sp + 120|0; + $pRhs = sp + 136|0; + $pKeyInfo = sp + 144|0; + $aKey1 = sp + 148|0; + $mem1 = sp + 32|0; $s1 = sp + 96|0; - $serial_type = sp + 92|0; - $rhs = sp + 32|0; - $lhs = sp + 24|0; + $serial_type = sp + 100|0; + $rhs = sp; + $lhs = sp + 8|0; $rhs1 = sp + 16|0; - $rhs2 = sp + 8|0; - $lhs3 = sp; - $nCmp = sp + 88|0; - $nStr = sp + 84|0; - $nCmp4 = sp + 80|0; + $rhs2 = sp + 24|0; + $lhs3 = sp + 72|0; + $nCmp = sp + 80|0; + $nStr = sp + 116|0; + $nCmp4 = sp + 84|0; HEAP32[$1>>2] = $nKey1; HEAP32[$2>>2] = $pKey1; HEAP32[$3>>2] = $pPKey2; HEAP32[$4>>2] = $bSkip; HEAP32[$rc>>2] = 0; $5 = HEAP32[$3>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pRhs>>2] = $7; $8 = HEAP32[$3>>2]|0; @@ -143489,12 +144579,12 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $13 = HEAP32[$aKey1>>2]|0; do { if ($12) { - $14 = (($13) + 1|0); + $14 = ((($13)) + 1|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = ($16|0)<(128); $18 = HEAP32[$aKey1>>2]|0; - $19 = (($18) + 1|0); + $19 = ((($18)) + 1|0); if ($17) { $20 = HEAP8[$19>>0]|0; $21 = $20&255; @@ -143520,7 +144610,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { HEAP32[$d1>>2] = $34; HEAP32[$i>>2] = 1; $35 = HEAP32[$pRhs>>2]|0; - $36 = (($35) + 40|0); + $36 = ((($35)) + 40|0); HEAP32[$pRhs>>2] = $36; } else { $37 = HEAP8[$13>>0]|0; @@ -143552,7 +144642,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $52 = (_sqlite3CorruptError(66745)|0); $53 = $52&255; $54 = HEAP32[$3>>2]|0; - $55 = (($54) + 7|0); + $55 = ((($54)) + 7|0); HEAP8[$55>>0] = $53; HEAP32[$0>>2] = 0; $376 = HEAP32[$0>>2]|0; @@ -143561,7 +144651,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } while(0); L16: while(1) { $56 = HEAP32[$pRhs>>2]|0; - $57 = (($56) + 8|0); + $57 = ((($56)) + 8|0); $58 = HEAP16[$57>>1]|0; $59 = $58&65535; $60 = $59 & 4; @@ -143690,7 +144780,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } } else { $146 = HEAP32[$pRhs>>2]|0; - $147 = (($146) + 8|0); + $147 = ((($146)) + 8|0); $148 = HEAP16[$147>>1]|0; $149 = $148&65535; $150 = $149 & 8; @@ -143754,14 +144844,14 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { break; } $183 = HEAP32[$pRhs>>2]|0; - $184 = (($183) + 8|0); + $184 = ((($183)) + 8|0); $185 = HEAP16[$184>>1]|0; $186 = $185&65535; $187 = $186 & 2; $188 = ($187|0)!=(0); if (!($188)) { $275 = HEAP32[$pRhs>>2]|0; - $276 = (($275) + 8|0); + $276 = ((($275)) + 8|0); $277 = HEAP16[$276>>1]|0; $278 = $277&65535; $279 = $278 & 16; @@ -143812,7 +144902,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } $309 = HEAP32[$nStr>>2]|0; $310 = HEAP32[$pRhs>>2]|0; - $311 = (($310) + 12|0); + $311 = ((($310)) + 12|0); $312 = HEAP32[$311>>2]|0; $313 = ($309|0)<($312|0); if ($313) { @@ -143820,7 +144910,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $318 = $314; } else { $315 = HEAP32[$pRhs>>2]|0; - $316 = (($315) + 12|0); + $316 = ((($315)) + 12|0); $317 = HEAP32[$316>>2]|0; $318 = $317; } @@ -143829,7 +144919,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $320 = HEAP32[$aKey1>>2]|0; $321 = (($320) + ($319)|0); $322 = HEAP32[$pRhs>>2]|0; - $323 = (($322) + 16|0); + $323 = ((($322)) + 16|0); $324 = HEAP32[$323>>2]|0; $325 = HEAP32[$nCmp4>>2]|0; $326 = (_memcmp($321,$324,$325)|0); @@ -143841,7 +144931,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } $329 = HEAP32[$nStr>>2]|0; $330 = HEAP32[$pRhs>>2]|0; - $331 = (($330) + 12|0); + $331 = ((($330)) + 12|0); $332 = HEAP32[$331>>2]|0; $333 = (($329) - ($332))|0; HEAP32[$rc>>2] = $333; @@ -143883,10 +144973,10 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $205 = HEAP32[$serial_type>>2]|0; $206 = (($205) - 12)|0; $207 = (($206>>>0) / 2)&-1; - $208 = (($mem1) + 12|0); + $208 = ((($mem1)) + 12|0); HEAP32[$208>>2] = $207; $209 = HEAP32[$d1>>2]|0; - $210 = (($mem1) + 12|0); + $210 = ((($mem1)) + 12|0); $211 = HEAP32[$210>>2]|0; $212 = (($209) + ($211))|0; $213 = HEAP32[$1>>2]|0; @@ -143897,53 +144987,53 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } $219 = HEAP32[$i>>2]|0; $220 = HEAP32[$pKeyInfo>>2]|0; - $221 = (($220) + 20|0); + $221 = ((($220)) + 20|0); $222 = (($221) + ($219<<2)|0); $223 = HEAP32[$222>>2]|0; $224 = ($223|0)!=(0|0); if ($224) { $225 = HEAP32[$pKeyInfo>>2]|0; - $226 = (($225) + 4|0); + $226 = ((($225)) + 4|0); $227 = HEAP8[$226>>0]|0; - $228 = (($mem1) + 10|0); + $228 = ((($mem1)) + 10|0); HEAP8[$228>>0] = $227; $229 = HEAP32[$pKeyInfo>>2]|0; - $230 = (($229) + 12|0); + $230 = ((($229)) + 12|0); $231 = HEAP32[$230>>2]|0; - $232 = (($mem1) + 32|0); + $232 = ((($mem1)) + 32|0); HEAP32[$232>>2] = $231; - $233 = (($mem1) + 8|0); + $233 = ((($mem1)) + 8|0); HEAP16[$233>>1] = 2; $234 = HEAP32[$d1>>2]|0; $235 = HEAP32[$aKey1>>2]|0; $236 = (($235) + ($234)|0); - $237 = (($mem1) + 16|0); + $237 = ((($mem1)) + 16|0); HEAP32[$237>>2] = $236; $238 = HEAP32[$pRhs>>2]|0; $239 = HEAP32[$i>>2]|0; $240 = HEAP32[$pKeyInfo>>2]|0; - $241 = (($240) + 20|0); + $241 = ((($240)) + 20|0); $242 = (($241) + ($239<<2)|0); $243 = HEAP32[$242>>2]|0; $244 = HEAP32[$3>>2]|0; - $245 = (($244) + 7|0); + $245 = ((($244)) + 7|0); $246 = (_vdbeCompareMemString($mem1,$238,$243,$245)|0); HEAP32[$rc>>2] = $246; break; } - $247 = (($mem1) + 12|0); + $247 = ((($mem1)) + 12|0); $248 = HEAP32[$247>>2]|0; $249 = HEAP32[$pRhs>>2]|0; - $250 = (($249) + 12|0); + $250 = ((($249)) + 12|0); $251 = HEAP32[$250>>2]|0; $252 = ($248|0)<($251|0); if ($252) { - $253 = (($mem1) + 12|0); + $253 = ((($mem1)) + 12|0); $254 = HEAP32[$253>>2]|0; $258 = $254; } else { $255 = HEAP32[$pRhs>>2]|0; - $256 = (($255) + 12|0); + $256 = ((($255)) + 12|0); $257 = HEAP32[$256>>2]|0; $258 = $257; } @@ -143952,7 +145042,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $260 = HEAP32[$aKey1>>2]|0; $261 = (($260) + ($259)|0); $262 = HEAP32[$pRhs>>2]|0; - $263 = (($262) + 16|0); + $263 = ((($262)) + 16|0); $264 = HEAP32[$263>>2]|0; $265 = HEAP32[$nCmp>>2]|0; $266 = (_memcmp($261,$264,$265)|0); @@ -143960,10 +145050,10 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $267 = HEAP32[$rc>>2]|0; $268 = ($267|0)==(0); if ($268) { - $269 = (($mem1) + 12|0); + $269 = ((($mem1)) + 12|0); $270 = HEAP32[$269>>2]|0; $271 = HEAP32[$pRhs>>2]|0; - $272 = (($271) + 12|0); + $272 = ((($271)) + 12|0); $273 = HEAP32[$272>>2]|0; $274 = (($270) - ($273))|0; HEAP32[$rc>>2] = $274; @@ -143980,7 +145070,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $349 = (($339) + 1)|0; HEAP32[$i>>2] = $349; $350 = HEAP32[$pRhs>>2]|0; - $351 = (($350) + 40|0); + $351 = ((($350)) + 40|0); HEAP32[$pRhs>>2] = $351; $352 = HEAP32[$serial_type>>2]|0; $353 = (_sqlite3VdbeSerialTypeLen($352)|0); @@ -144001,7 +145091,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } $363 = HEAP32[$i>>2]|0; $364 = HEAP32[$3>>2]|0; - $365 = (($364) + 4|0); + $365 = ((($364)) + 4|0); $366 = HEAP16[$365>>1]|0; $367 = $366&65535; $368 = ($363|0)<($367|0); @@ -144021,7 +145111,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $215 = (_sqlite3CorruptError(66824)|0); $216 = $215&255; $217 = HEAP32[$3>>2]|0; - $218 = (($217) + 7|0); + $218 = ((($217)) + 7|0); HEAP8[$218>>0] = $216; HEAP32[$0>>2] = 0; $376 = HEAP32[$0>>2]|0; @@ -144031,7 +145121,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $305 = (_sqlite3CorruptError(66853)|0); $306 = $305&255; $307 = HEAP32[$3>>2]|0; - $308 = (($307) + 7|0); + $308 = ((($307)) + 7|0); HEAP8[$308>>0] = $306; HEAP32[$0>>2] = 0; $376 = HEAP32[$0>>2]|0; @@ -144039,7 +145129,7 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } else if ((label|0) == 71) { $340 = HEAP32[$pKeyInfo>>2]|0; - $341 = (($340) + 16|0); + $341 = ((($340)) + 16|0); $342 = HEAP32[$341>>2]|0; $343 = (($342) + ($339)|0); $344 = HEAP8[$343>>0]|0; @@ -144056,14 +145146,14 @@ function _vdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } else if ((label|0) == 77) { $372 = HEAP32[$3>>2]|0; - $373 = (($372) + 6|0); + $373 = ((($372)) + 6|0); $374 = HEAP8[$373>>0]|0; $375 = $374 << 24 >> 24; HEAP32[$0>>2] = $375; $376 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($376|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeSerialTypeLen($serial_type) { $serial_type = $serial_type|0; @@ -144083,14 +145173,14 @@ function _sqlite3VdbeSerialTypeLen($serial_type) { $10 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($10|0); } else { - $7 = (24360 + ($4)|0); + $7 = (26746 + ($4)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; HEAP32[$0>>2] = $9; $10 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($10|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { $buf = $buf|0; @@ -144116,25 +145206,115 @@ function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { HEAP32[$3>>2] = $pMem; $4 = HEAP32[$2>>2]|0; switch ($4|0) { + case 0: case 11: case 10: { + $5 = HEAP32[$3>>2]|0; + $6 = ((($5)) + 8|0); + HEAP16[$6>>1] = 1; + HEAP32[$0>>2] = 0; + $168 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($168|0); + break; + } + case 1: { + $7 = HEAP32[$1>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = HEAP32[$3>>2]|0; + $13 = $12; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + HEAP16[$18>>1] = 4; + HEAP32[$0>>2] = 1; + $168 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($168|0); + break; + } + case 2: { + $19 = HEAP32[$1>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = $21<<8; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = $22 | $26; + $28 = ($27|0)<(0); + $29 = $28 << 31 >> 31; + $30 = HEAP32[$3>>2]|0; + $31 = $30; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = HEAP32[$3>>2]|0; + $36 = ((($35)) + 8|0); + HEAP16[$36>>1] = 4; + HEAP32[$0>>2] = 2; + $168 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($168|0); + break; + } + case 3: { + $37 = HEAP32[$1>>2]|0; + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = $39<<16; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 1|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = $44 << 8; + $46 = $40 | $45; + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 2|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = $46 | $50; + $52 = ($51|0)<(0); + $53 = $52 << 31 >> 31; + $54 = HEAP32[$3>>2]|0; + $55 = $54; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $53; + $59 = HEAP32[$3>>2]|0; + $60 = ((($59)) + 8|0); + HEAP16[$60>>1] = 4; + HEAP32[$0>>2] = 3; + $168 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($168|0); + break; + } case 4: { $61 = HEAP32[$1>>2]|0; $62 = HEAP8[$61>>0]|0; $63 = $62 << 24 >> 24; $64 = $63<<24; $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 1|0); + $66 = ((($65)) + 1|0); $67 = HEAP8[$66>>0]|0; $68 = $67&255; $69 = $68 << 16; $70 = $64 | $69; $71 = HEAP32[$1>>2]|0; - $72 = (($71) + 2|0); + $72 = ((($71)) + 2|0); $73 = HEAP8[$72>>0]|0; $74 = $73&255; $75 = $74 << 8; $76 = $70 | $75; $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 3|0); + $78 = ((($77)) + 3|0); $79 = HEAP8[$78>>0]|0; $80 = $79&255; $81 = $76 | $80; @@ -144148,106 +145328,36 @@ function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { $88 = $87; HEAP32[$88>>2] = $83; $89 = HEAP32[$3>>2]|0; - $90 = (($89) + 8|0); + $90 = ((($89)) + 8|0); HEAP16[$90>>1] = 4; HEAP32[$0>>2] = 4; $168 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($168|0); break; } - case 0: case 11: case 10: { - $5 = HEAP32[$3>>2]|0; - $6 = (($5) + 8|0); - HEAP16[$6>>1] = 1; - HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 9: case 8: { - $142 = HEAP32[$2>>2]|0; - $143 = (($142) - 8)|0; - $144 = HEAP32[$3>>2]|0; - $145 = $144; - $146 = $145; - HEAP32[$146>>2] = $143; - $147 = (($145) + 4)|0; - $148 = $147; - HEAP32[$148>>2] = 0; - $149 = HEAP32[$3>>2]|0; - $150 = (($149) + 8|0); - HEAP16[$150>>1] = 4; - HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 3: { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP8[$37>>0]|0; - $39 = $38 << 24 >> 24; - $40 = $39<<16; - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 1|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = $44 << 8; - $46 = $40 | $45; - $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 2|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - $51 = $46 | $50; - $52 = ($51|0)<(0); - $53 = $52 << 31 >> 31; - $54 = HEAP32[$3>>2]|0; - $55 = $54; - $56 = $55; - HEAP32[$56>>2] = $51; - $57 = (($55) + 4)|0; - $58 = $57; - HEAP32[$58>>2] = $53; - $59 = HEAP32[$3>>2]|0; - $60 = (($59) + 8|0); - HEAP16[$60>>1] = 4; - HEAP32[$0>>2] = 3; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } - case 7: case 6: { - $138 = HEAP32[$1>>2]|0; - $139 = HEAP32[$2>>2]|0; - $140 = HEAP32[$3>>2]|0; - $141 = (_serialGet($138,$139,$140)|0); - HEAP32[$0>>2] = $141; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); - break; - } case 5: { $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 2|0); + $92 = ((($91)) + 2|0); $93 = HEAP8[$92>>0]|0; $94 = $93&255; $95 = $94 << 24; $96 = HEAP32[$1>>2]|0; - $97 = (($96) + 2|0); - $98 = (($97) + 1|0); + $97 = ((($96)) + 2|0); + $98 = ((($97)) + 1|0); $99 = HEAP8[$98>>0]|0; $100 = $99&255; $101 = $100 << 16; $102 = $95 | $101; $103 = HEAP32[$1>>2]|0; - $104 = (($103) + 2|0); - $105 = (($104) + 2|0); + $104 = ((($103)) + 2|0); + $105 = ((($104)) + 2|0); $106 = HEAP8[$105>>0]|0; $107 = $106&255; $108 = $107 << 8; $109 = $102 | $108; $110 = HEAP32[$1>>2]|0; - $111 = (($110) + 2|0); - $112 = (($111) + 3|0); + $111 = ((($110)) + 2|0); + $112 = ((($111)) + 3|0); $113 = HEAP8[$112>>0]|0; $114 = $113&255; $115 = $109 | $114; @@ -144256,7 +145366,7 @@ function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { $118 = $117 << 24 >> 24; $119 = $118<<8; $120 = HEAP32[$1>>2]|0; - $121 = (($120) + 1|0); + $121 = ((($120)) + 1|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = $119 | $123; @@ -144274,57 +145384,37 @@ function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { $135 = $134; HEAP32[$135>>2] = $130; $136 = HEAP32[$3>>2]|0; - $137 = (($136) + 8|0); + $137 = ((($136)) + 8|0); HEAP16[$137>>1] = 4; HEAP32[$0>>2] = 6; $168 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($168|0); break; } - case 2: { - $19 = HEAP32[$1>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = $21<<8; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = $22 | $26; - $28 = ($27|0)<(0); - $29 = $28 << 31 >> 31; - $30 = HEAP32[$3>>2]|0; - $31 = $30; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $29; - $35 = HEAP32[$3>>2]|0; - $36 = (($35) + 8|0); - HEAP16[$36>>1] = 4; - HEAP32[$0>>2] = 2; + case 7: case 6: { + $138 = HEAP32[$1>>2]|0; + $139 = HEAP32[$2>>2]|0; + $140 = HEAP32[$3>>2]|0; + $141 = (_serialGet($138,$139,$140)|0); + HEAP32[$0>>2] = $141; $168 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($168|0); break; } - case 1: { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = HEAP32[$3>>2]|0; - $13 = $12; - $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = HEAP32[$3>>2]|0; - $18 = (($17) + 8|0); - HEAP16[$18>>1] = 4; - HEAP32[$0>>2] = 1; + case 9: case 8: { + $142 = HEAP32[$2>>2]|0; + $143 = (($142) - 8)|0; + $144 = HEAP32[$3>>2]|0; + $145 = $144; + $146 = $145; + HEAP32[$146>>2] = $143; + $147 = (($145) + 4)|0; + $148 = $147; + HEAP32[$148>>2] = 0; + $149 = HEAP32[$3>>2]|0; + $150 = ((($149)) + 8|0); + HEAP16[$150>>1] = 4; + HEAP32[$0>>2] = 0; $168 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($168|0); break; @@ -144332,30 +145422,30 @@ function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { default: { $151 = HEAP32[$1>>2]|0; $152 = HEAP32[$3>>2]|0; - $153 = (($152) + 16|0); + $153 = ((($152)) + 16|0); HEAP32[$153>>2] = $151; $154 = HEAP32[$2>>2]|0; $155 = (($154) - 12)|0; $156 = (($155>>>0) / 2)&-1; $157 = HEAP32[$3>>2]|0; - $158 = (($157) + 12|0); + $158 = ((($157)) + 12|0); HEAP32[$158>>2] = $156; $159 = HEAP32[$2>>2]|0; $160 = $159 & 1; - $161 = (24352 + ($160<<1)|0); + $161 = (11684 + ($160<<1)|0); $162 = HEAP16[$161>>1]|0; $163 = HEAP32[$3>>2]|0; - $164 = (($163) + 8|0); + $164 = ((($163)) + 8|0); HEAP16[$164>>1] = $162; $165 = HEAP32[$3>>2]|0; - $166 = (($165) + 12|0); + $166 = ((($165)) + 12|0); $167 = HEAP32[$166>>2]|0; HEAP32[$0>>2] = $167; $168 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($168|0); } } - return 0|0; + return (0)|0; } function _vdbeRecordDecodeInt($serial_type,$aKey) { $serial_type = $serial_type|0; @@ -144382,25 +145472,85 @@ function _vdbeRecordDecodeInt($serial_type,$aKey) { HEAP32[$2>>2] = $aKey; $3 = HEAP32[$1>>2]|0; switch ($3|0) { + case 1: case 0: { + $4 = HEAP32[$2>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $7 = ($6|0)<(0); + $8 = $7 << 31 >> 31; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $6; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $8; + break; + } + case 2: { + $13 = HEAP32[$2>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + $16 = $15<<8; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $16 | $20; + $22 = ($21|0)<(0); + $23 = $22 << 31 >> 31; + $24 = $0; + $25 = $24; + HEAP32[$25>>2] = $21; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + break; + } + case 3: { + $28 = HEAP32[$2>>2]|0; + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = $30<<16; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 1|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $35 << 8; + $37 = $31 | $36; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 2|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $37 | $41; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = $0; + $46 = $45; + HEAP32[$46>>2] = $42; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + break; + } case 4: { $49 = HEAP32[$2>>2]|0; $50 = HEAP8[$49>>0]|0; $51 = $50&255; $52 = $51 << 24; $53 = HEAP32[$2>>2]|0; - $54 = (($53) + 1|0); + $54 = ((($53)) + 1|0); $55 = HEAP8[$54>>0]|0; $56 = $55&255; $57 = $56 << 16; $58 = $52 | $57; $59 = HEAP32[$2>>2]|0; - $60 = (($59) + 2|0); + $60 = ((($59)) + 2|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = $62 << 8; $64 = $58 | $63; $65 = HEAP32[$2>>2]|0; - $66 = (($65) + 3|0); + $66 = ((($65)) + 3|0); $67 = HEAP8[$66>>0]|0; $68 = $67&255; $69 = $64 | $68; @@ -144416,50 +145566,53 @@ function _vdbeRecordDecodeInt($serial_type,$aKey) { HEAP32[$76>>2] = $72; break; } - case 3: { - $28 = HEAP32[$2>>2]|0; - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = $30<<16; - $32 = HEAP32[$2>>2]|0; - $33 = (($32) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = $35 << 8; - $37 = $31 | $36; - $38 = HEAP32[$2>>2]|0; - $39 = (($38) + 2|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $37 | $41; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = $0; - $46 = $45; - HEAP32[$46>>2] = $42; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - break; - } - case 2: { - $13 = HEAP32[$2>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = $15<<8; - $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $16 | $20; - $22 = ($21|0)<(0); - $23 = $22 << 31 >> 31; - $24 = $0; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $23; + case 5: { + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 2|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = $80 << 24; + $82 = HEAP32[$2>>2]|0; + $83 = ((($82)) + 2|0); + $84 = ((($83)) + 1|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = $86 << 16; + $88 = $81 | $87; + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 2|0); + $91 = ((($90)) + 2|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = $93 << 8; + $95 = $88 | $94; + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 2|0); + $98 = ((($97)) + 3|0); + $99 = HEAP8[$98>>0]|0; + $100 = $99&255; + $101 = $95 | $100; + $102 = HEAP32[$2>>2]|0; + $103 = HEAP8[$102>>0]|0; + $104 = $103 << 24 >> 24; + $105 = $104<<8; + $106 = HEAP32[$2>>2]|0; + $107 = ((($106)) + 1|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = $105 | $109; + $111 = ($110|0)<(0); + $112 = $111 << 31 >> 31; + $113 = (___muldi3(0,1,($110|0),($112|0))|0); + $114 = tempRet0; + $115 = (_i64Add(($101|0),0,($113|0),($114|0))|0); + $116 = tempRet0; + $117 = $0; + $118 = $117; + HEAP32[$118>>2] = $115; + $119 = (($117) + 4)|0; + $120 = $119; + HEAP32[$120>>2] = $116; break; } case 6: { @@ -144468,19 +145621,19 @@ function _vdbeRecordDecodeInt($serial_type,$aKey) { $123 = $122&255; $124 = $123 << 24; $125 = HEAP32[$2>>2]|0; - $126 = (($125) + 1|0); + $126 = ((($125)) + 1|0); $127 = HEAP8[$126>>0]|0; $128 = $127&255; $129 = $128 << 16; $130 = $124 | $129; $131 = HEAP32[$2>>2]|0; - $132 = (($131) + 2|0); + $132 = ((($131)) + 2|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = $134 << 8; $136 = $130 | $135; $137 = HEAP32[$2>>2]|0; - $138 = (($137) + 3|0); + $138 = ((($137)) + 3|0); $139 = HEAP8[$138>>0]|0; $140 = $139&255; $141 = $136 | $140; @@ -144497,27 +145650,27 @@ function _vdbeRecordDecodeInt($serial_type,$aKey) { $150 = $149; $151 = HEAP32[$150>>2]|0; $152 = HEAP32[$2>>2]|0; - $153 = (($152) + 4|0); + $153 = ((($152)) + 4|0); $154 = HEAP8[$153>>0]|0; $155 = $154&255; $156 = $155 << 24; $157 = HEAP32[$2>>2]|0; - $158 = (($157) + 4|0); - $159 = (($158) + 1|0); + $158 = ((($157)) + 4|0); + $159 = ((($158)) + 1|0); $160 = HEAP8[$159>>0]|0; $161 = $160&255; $162 = $161 << 16; $163 = $156 | $162; $164 = HEAP32[$2>>2]|0; - $165 = (($164) + 4|0); - $166 = (($165) + 2|0); + $165 = ((($164)) + 4|0); + $166 = ((($165)) + 2|0); $167 = HEAP8[$166>>0]|0; $168 = $167&255; $169 = $168 << 8; $170 = $163 | $169; $171 = HEAP32[$2>>2]|0; - $172 = (($171) + 4|0); - $173 = (($172) + 3|0); + $172 = ((($171)) + 4|0); + $173 = ((($172)) + 3|0); $174 = HEAP8[$173>>0]|0; $175 = $174&255; $176 = $170 | $175; @@ -144541,69 +145694,6 @@ function _vdbeRecordDecodeInt($serial_type,$aKey) { HEAP32[$190>>2] = $186; break; } - case 1: case 0: { - $4 = HEAP32[$2>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ($6|0)<(0); - $8 = $7 << 31 >> 31; - $9 = $0; - $10 = $9; - HEAP32[$10>>2] = $6; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $8; - break; - } - case 5: { - $77 = HEAP32[$2>>2]|0; - $78 = (($77) + 2|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = $80 << 24; - $82 = HEAP32[$2>>2]|0; - $83 = (($82) + 2|0); - $84 = (($83) + 1|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = $86 << 16; - $88 = $81 | $87; - $89 = HEAP32[$2>>2]|0; - $90 = (($89) + 2|0); - $91 = (($90) + 2|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = $93 << 8; - $95 = $88 | $94; - $96 = HEAP32[$2>>2]|0; - $97 = (($96) + 2|0); - $98 = (($97) + 3|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $101 = $95 | $100; - $102 = HEAP32[$2>>2]|0; - $103 = HEAP8[$102>>0]|0; - $104 = $103 << 24 >> 24; - $105 = $104<<8; - $106 = HEAP32[$2>>2]|0; - $107 = (($106) + 1|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = $105 | $109; - $111 = ($110|0)<(0); - $112 = $111 << 31 >> 31; - $113 = (___muldi3(0,1,($110|0),($112|0))|0); - $114 = tempRet0; - $115 = (_i64Add(($101|0),0,($113|0),($114|0))|0); - $116 = tempRet0; - $117 = $0; - $118 = $117; - HEAP32[$118>>2] = $115; - $119 = (($117) + 4)|0; - $120 = $119; - HEAP32[$120>>2] = $116; - break; - } default: { $191 = HEAP32[$1>>2]|0; $192 = (($191) - 8)|0; @@ -144621,14 +145711,140 @@ function _vdbeRecordDecodeInt($serial_type,$aKey) { $200 = (($197) + 4)|0; $201 = $200; $202 = HEAP32[$201>>2]|0; - tempRet0 = $202; + tempRet0 = ($202); STACKTOP = sp;return ($199|0); } +function _vdbeCompareMemString($pMem1,$pMem2,$pColl,$prcErr) { + $pMem1 = $pMem1|0; + $pMem2 = $pMem2|0; + $pColl = $pColl|0; + $prcErr = $prcErr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $c1 = 0; + var $c2 = 0, $n1 = 0, $n2 = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $v1 = 0, $v2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $0 = sp + 112|0; + $1 = sp + 84|0; + $2 = sp + 96|0; + $3 = sp + 100|0; + $4 = sp + 108|0; + $rc = sp + 88|0; + $v1 = sp + 116|0; + $v2 = sp + 80|0; + $n1 = sp + 92|0; + $n2 = sp + 104|0; + $c1 = sp; + $c2 = sp + 40|0; + HEAP32[$1>>2] = $pMem1; + HEAP32[$2>>2] = $pMem2; + HEAP32[$3>>2] = $pColl; + HEAP32[$4>>2] = $prcErr; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 10|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 4|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($8|0)==($12|0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = (FUNCTION_TABLE_iiiiii[$16 & 15]($19,$22,$25,$28,$31)|0); + HEAP32[$0>>2] = $32; + $78 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($78|0); + } + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 32|0); + $35 = HEAP32[$34>>2]|0; + _sqlite3VdbeMemInit($c1,$35,1); + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 32|0); + $38 = HEAP32[$37>>2]|0; + _sqlite3VdbeMemInit($c2,$38,1); + $39 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemShallowCopy($c1,$39,4096); + $40 = HEAP32[$2>>2]|0; + _sqlite3VdbeMemShallowCopy($c2,$40,4096); + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 4|0); + $43 = HEAP8[$42>>0]|0; + $44 = (_sqlite3ValueText($c1,$43)|0); + HEAP32[$v1>>2] = $44; + $45 = HEAP32[$v1>>2]|0; + $46 = ($45|0)==(0|0); + $47 = ((($c1)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = $46 ? 0 : $48; + HEAP32[$n1>>2] = $49; + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP8[$51>>0]|0; + $53 = (_sqlite3ValueText($c2,$52)|0); + HEAP32[$v2>>2] = $53; + $54 = HEAP32[$v2>>2]|0; + $55 = ($54|0)==(0|0); + $56 = ((($c2)) + 12|0); + $57 = HEAP32[$56>>2]|0; + $58 = $55 ? 0 : $57; + HEAP32[$n2>>2] = $58; + $59 = HEAP32[$3>>2]|0; + $60 = ((($59)) + 12|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP32[$3>>2]|0; + $63 = ((($62)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$n1>>2]|0; + $66 = HEAP32[$v1>>2]|0; + $67 = HEAP32[$n2>>2]|0; + $68 = HEAP32[$v2>>2]|0; + $69 = (FUNCTION_TABLE_iiiiii[$61 & 15]($64,$65,$66,$67,$68)|0); + HEAP32[$rc>>2] = $69; + _sqlite3VdbeMemRelease($c1); + _sqlite3VdbeMemRelease($c2); + $70 = HEAP32[$v1>>2]|0; + $71 = ($70|0)==(0|0); + $72 = HEAP32[$v2>>2]|0; + $73 = ($72|0)==(0|0); + $or$cond = $71 | $73; + $74 = HEAP32[$4>>2]|0; + $75 = ($74|0)!=(0|0); + $or$cond3 = $or$cond & $75; + if ($or$cond3) { + $76 = HEAP32[$4>>2]|0; + HEAP8[$76>>0] = 7; + } + $77 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $77; + $78 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($78|0); +} function _sqlite3VarintLen($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $or$cond = 0, label = 0, sp = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; @@ -144669,13 +145885,290 @@ function _sqlite3VarintLen($0,$1) { $29 = $27 | $28; $30 = HEAP32[$i>>2]|0; $31 = ($30|0)<(9); - $or$cond = $29 & $31; - if (!($or$cond)) { + $32 = $29 ? $31 : 0; + if (!($32)) { break; } } - $32 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($32|0); + $33 = HEAP32[$i>>2]|0; + STACKTOP = sp;return ($33|0); +} +function _sqlite3VdbeMemInit($pMem,$db,$flags) { + $pMem = $pMem|0; + $db = $db|0; + $flags = $flags|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + $2 = sp + 8|0; + HEAP32[$0>>2] = $pMem; + HEAP32[$1>>2] = $db; + HEAP16[$2>>1] = $flags; + $3 = HEAP16[$2>>1]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 8|0); + HEAP16[$5>>1] = $3; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 32|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 24|0); + HEAP32[$10>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3VdbeMemShallowCopy($pTo,$pFrom,$srcType) { + $pTo = $pTo|0; + $pFrom = $pFrom|0; + $srcType = $srcType|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $pTo; + HEAP32[$1>>2] = $pFrom; + HEAP32[$2>>2] = $srcType; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 9312; + $8 = ($7|0)!=(0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + _vdbeMemClearExternAndSetNull($9); + } + $10 = HEAP32[$0>>2]|0; + $11 = HEAP32[$1>>2]|0; + ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$10+16>>2]=HEAP32[$11+16>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = $15 & 2048; + $17 = ($16|0)==(0); + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + $22 = $21 & -7169; + $23 = $22&65535; + HEAP16[$19>>1] = $23; + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = $28 | $24; + $30 = $29&65535; + HEAP16[$26>>1] = $30; + STACKTOP = sp;return; +} +function _vdbeMemClearExternAndSetNull($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFrame = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pFrame = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & 8192; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$8>>2]|0; + (_sqlite3VdbeMemFinalize($7,$9)|0); + } + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13 & 1024; + $15 = ($14|0)!=(0); + $16 = HEAP32[$0>>2]|0; + do { + if ($15) { + $17 = ((($16)) + 36|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 16|0); + $21 = HEAP32[$20>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($21); + } else { + $22 = ((($16)) + 8|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = $24 & 32; + $26 = ($25|0)!=(0); + $27 = HEAP32[$0>>2]|0; + if ($26) { + $28 = HEAP32[$27>>2]|0; + _sqlite3RowSetClear($28); + break; + } + $29 = ((($27)) + 8|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $32 = $31 & 64; + $33 = ($32|0)!=(0); + if ($33) { + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$34>>2]|0; + HEAP32[$pFrame>>2] = $35; + $36 = HEAP32[$pFrame>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 180|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$pFrame>>2]|0; + $41 = ((($40)) + 4|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$pFrame>>2]|0; + $43 = HEAP32[$pFrame>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 180|0); + HEAP32[$45>>2] = $42; + } + } + } while(0); + $46 = HEAP32[$0>>2]|0; + $47 = ((($46)) + 8|0); + HEAP16[$47>>1] = 1; + STACKTOP = sp;return; +} +function _sqlite3VdbeMemFinalize($pMem,$pFunc) { + $pMem = $pMem|0; + $pFunc = $pFunc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0, $rc = 0, $t = 0, dest = 0, label = 0, sp = 0; + var src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $0 = sp + 76|0; + $1 = sp + 72|0; + $rc = sp + 68|0; + $ctx = sp + 40|0; + $t = sp; + HEAP32[$0>>2] = $pMem; + HEAP32[$1>>2] = $pFunc; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $33 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($33|0); + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + $33 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($33|0); + } + ;HEAP32[$ctx>>2]=0|0;HEAP32[$ctx+4>>2]=0|0;HEAP32[$ctx+8>>2]=0|0;HEAP32[$ctx+12>>2]=0|0;HEAP32[$ctx+16>>2]=0|0;HEAP32[$ctx+20>>2]=0|0;HEAP32[$ctx+24>>2]=0|0; + dest=$t; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $8 = ((($t)) + 8|0); + HEAP16[$8>>1] = 1; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 32|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($t)) + 32|0); + HEAP32[$12>>2] = $11; + HEAP32[$ctx>>2] = $t; + $13 = HEAP32[$0>>2]|0; + $14 = ((($ctx)) + 8|0); + HEAP32[$14>>2] = $13; + $15 = HEAP32[$1>>2]|0; + $16 = ((($ctx)) + 4|0); + HEAP32[$16>>2] = $15; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + FUNCTION_TABLE_vi[$19 & 31]($ctx); + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 24|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)>(0); + if ($23) { + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 32|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3DbFree($26,$29); + } + $30 = HEAP32[$0>>2]|0; + dest=$30; src=$t; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $31 = ((($ctx)) + 20|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$rc>>2] = $32; + $33 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($33|0); +} +function _sqlite3RowSetClear($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $pChunk = 0, $pNextChunk = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pChunk = sp + 4|0; + $pNextChunk = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$pChunk>>2] = $2; + while(1) { + $3 = HEAP32[$pChunk>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + break; + } + $5 = HEAP32[$pChunk>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$pNextChunk>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$pChunk>>2]|0; + _sqlite3DbFree($9,$10); + $11 = HEAP32[$pNextChunk>>2]|0; + HEAP32[$pChunk>>2] = $11; + } + $12 = HEAP32[$0>>2]|0; + HEAP32[$12>>2] = 0; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 24|0); + HEAP16[$14>>1] = 0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 8|0); + HEAP32[$16>>2] = 0; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 12|0); + HEAP32[$18>>2] = 0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 20|0); + HEAP32[$20>>2] = 0; + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 26|0); + HEAP16[$22>>1] = 1; + STACKTOP = sp;return; } function _serialGet($buf,$serial_type,$pMem) { $buf = $buf|0; @@ -144701,19 +146194,19 @@ function _serialGet($buf,$serial_type,$pMem) { $5 = $4&255; $6 = $5 << 24; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 1|0); + $8 = ((($7)) + 1|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $10 << 16; $12 = $6 | $11; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 2|0); + $14 = ((($13)) + 2|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $12 | $17; $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 3|0); + $20 = ((($19)) + 3|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = $18 | $22; @@ -144724,27 +146217,27 @@ function _serialGet($buf,$serial_type,$pMem) { $27 = $26; HEAP32[$27>>2] = 0; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = $31 << 24; $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 4|0); - $35 = (($34) + 1|0); + $34 = ((($33)) + 4|0); + $35 = ((($34)) + 1|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = $37 << 16; $39 = $32 | $38; $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 4|0); - $42 = (($41) + 2|0); + $41 = ((($40)) + 4|0); + $42 = ((($41)) + 2|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = $44 << 8; $46 = $39 | $45; $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 4|0); - $49 = (($48) + 3|0); + $48 = ((($47)) + 4|0); + $49 = ((($48)) + 3|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; $52 = $46 | $51; @@ -144781,12 +146274,12 @@ function _serialGet($buf,$serial_type,$pMem) { $78 = $77; HEAP32[$78>>2] = $73; $79 = HEAP32[$2>>2]|0; - $80 = (($79) + 8|0); + $80 = ((($79)) + 8|0); HEAP16[$80>>1] = 4; STACKTOP = sp;return 8; } else { $81 = HEAP32[$2>>2]|0; - ;HEAP32[$81+0>>2]=HEAP32[$x+0>>2]|0;HEAP32[$81+4>>2]=HEAP32[$x+4>>2]|0; + ;HEAP32[$81>>2]=HEAP32[$x>>2]|0;HEAP32[$81+4>>2]=HEAP32[$x+4>>2]|0; $82 = HEAP32[$2>>2]|0; $83 = +HEAPF64[$82>>3]; $84 = (_sqlite3IsNaN($83)|0); @@ -144794,11 +146287,11 @@ function _serialGet($buf,$serial_type,$pMem) { $86 = $85 ? 1 : 8; $87 = $86&65535; $88 = HEAP32[$2>>2]|0; - $89 = (($88) + 8|0); + $89 = ((($88)) + 8|0); HEAP16[$89>>1] = $87; STACKTOP = sp;return 8; } - return 0|0; + return (0)|0; } function _sqlite3IsNaN($x) { $x = +$x; @@ -144843,13 +146336,13 @@ function _btreeNext($pCur,$pRes) { HEAP32[$1>>2] = $pCur; HEAP32[$2>>2] = $pRes; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 73|0); + $4 = ((($3)) + 73|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)!=(1); if ($7) { $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 73|0); + $9 = ((($8)) + 73|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = ($11|0)>=(3); @@ -144870,7 +146363,7 @@ function _btreeNext($pCur,$pRes) { STACKTOP = sp;return ($122|0); } $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 73|0); + $20 = ((($19)) + 73|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = (0)==($22|0); @@ -144882,19 +146375,19 @@ function _btreeNext($pCur,$pRes) { STACKTOP = sp;return ($122|0); } $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 68|0); + $26 = ((($25)) + 68|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0); if ($28) { $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 73|0); + $30 = ((($29)) + 73|0); HEAP8[$30>>0] = 1; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 68|0); + $32 = ((($31)) + 68|0); $33 = HEAP32[$32>>2]|0; $34 = ($33|0)>(0); $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 68|0); + $36 = ((($35)) + 68|0); HEAP32[$36>>2] = 0; if ($34) { HEAP32[$0>>2] = 0; @@ -144904,20 +146397,20 @@ function _btreeNext($pCur,$pRes) { } } $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 76|0); + $38 = ((($37)) + 76|0); $39 = HEAP16[$38>>1]|0; $40 = $39 << 16 >> 16; $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 120|0); + $42 = ((($41)) + 120|0); $43 = (($42) + ($40<<2)|0); $44 = HEAP32[$43>>2]|0; HEAP32[$pPage>>2] = $44; $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 76|0); + $46 = ((($45)) + 76|0); $47 = HEAP16[$46>>1]|0; $48 = $47 << 16 >> 16; $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 78|0); + $50 = ((($49)) + 78|0); $51 = (($50) + ($48<<1)|0); $52 = HEAP16[$51>>1]|0; $53 = (($52) + 1)<<16>>16; @@ -144926,12 +146419,12 @@ function _btreeNext($pCur,$pRes) { HEAP32[$idx>>2] = $54; $55 = HEAP32[$idx>>2]|0; $56 = HEAP32[$pPage>>2]|0; - $57 = (($56) + 18|0); + $57 = ((($56)) + 18|0); $58 = HEAP16[$57>>1]|0; $59 = $58&65535; $60 = ($55|0)>=($59|0); $61 = HEAP32[$pPage>>2]|0; - $62 = (($61) + 5|0); + $62 = ((($61)) + 5|0); $63 = HEAP8[$62>>0]|0; $64 = ($63<<24>>24)!=(0); if (!($60)) { @@ -144950,12 +146443,12 @@ function _btreeNext($pCur,$pRes) { if (!($64)) { $65 = HEAP32[$1>>2]|0; $66 = HEAP32[$pPage>>2]|0; - $67 = (($66) + 6|0); + $67 = ((($66)) + 6|0); $68 = HEAP8[$67>>0]|0; $69 = $68&255; $70 = (($69) + 8)|0; $71 = HEAP32[$pPage>>2]|0; - $72 = (($71) + 56|0); + $72 = ((($71)) + 56|0); $73 = HEAP32[$72>>2]|0; $74 = (($73) + ($70)|0); $75 = (_sqlite3Get4byte($74)|0); @@ -144978,7 +146471,7 @@ function _btreeNext($pCur,$pRes) { } while(1) { $82 = HEAP32[$1>>2]|0; - $83 = (($82) + 76|0); + $83 = ((($82)) + 76|0); $84 = HEAP16[$83>>1]|0; $85 = $84 << 16 >> 16; $86 = ($85|0)==(0); @@ -144989,25 +146482,25 @@ function _btreeNext($pCur,$pRes) { $90 = HEAP32[$1>>2]|0; _moveToParent($90); $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 76|0); + $92 = ((($91)) + 76|0); $93 = HEAP16[$92>>1]|0; $94 = $93 << 16 >> 16; $95 = HEAP32[$1>>2]|0; - $96 = (($95) + 120|0); + $96 = ((($95)) + 120|0); $97 = (($96) + ($94<<2)|0); $98 = HEAP32[$97>>2]|0; HEAP32[$pPage>>2] = $98; $99 = HEAP32[$1>>2]|0; - $100 = (($99) + 76|0); + $100 = ((($99)) + 76|0); $101 = HEAP16[$100>>1]|0; $102 = $101 << 16 >> 16; $103 = HEAP32[$1>>2]|0; - $104 = (($103) + 78|0); + $104 = ((($103)) + 78|0); $105 = (($104) + ($102<<1)|0); $106 = HEAP16[$105>>1]|0; $107 = $106&65535; $108 = HEAP32[$pPage>>2]|0; - $109 = (($108) + 18|0); + $109 = ((($108)) + 18|0); $110 = HEAP16[$109>>1]|0; $111 = $110&65535; $112 = ($107|0)>=($111|0); @@ -145019,14 +146512,14 @@ function _btreeNext($pCur,$pRes) { $87 = HEAP32[$2>>2]|0; HEAP32[$87>>2] = 1; $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 73|0); + $89 = ((($88)) + 73|0); HEAP8[$89>>0] = 0; HEAP32[$0>>2] = 0; $122 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($122|0); } $113 = HEAP32[$pPage>>2]|0; - $114 = (($113) + 2|0); + $114 = ((($113)) + 2|0); $115 = HEAP8[$114>>0]|0; $116 = ($115<<24>>24)!=(0); if ($116) { @@ -145041,7 +146534,7 @@ function _btreeNext($pCur,$pRes) { $122 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($122|0); } - return 0|0; + return (0)|0; } function _moveToLeftmost($pCur) { $pCur = $pCur|0; @@ -145065,15 +146558,15 @@ function _moveToLeftmost($pCur) { break; } $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 76|0); + $4 = ((($3)) + 76|0); $5 = HEAP16[$4>>1]|0; $6 = $5 << 16 >> 16; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 120|0); + $8 = ((($7)) + 120|0); $9 = (($8) + ($6<<2)|0); $10 = HEAP32[$9>>2]|0; HEAP32[$pPage>>2] = $10; - $11 = (($10) + 5|0); + $11 = ((($10)) + 5|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)!=(0); $14 = $13 ^ 1; @@ -145082,44 +146575,44 @@ function _moveToLeftmost($pCur) { break; } $15 = HEAP32[$pPage>>2]|0; - $16 = (($15) + 56|0); + $16 = ((($15)) + 56|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$pPage>>2]|0; - $19 = (($18) + 20|0); + $19 = ((($18)) + 20|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 76|0); + $23 = ((($22)) + 76|0); $24 = HEAP16[$23>>1]|0; $25 = $24 << 16 >> 16; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 78|0); + $27 = ((($26)) + 78|0); $28 = (($27) + ($25<<1)|0); $29 = HEAP16[$28>>1]|0; $30 = $29&65535; $31 = $30<<1; $32 = HEAP32[$pPage>>2]|0; - $33 = (($32) + 64|0); + $33 = ((($32)) + 64|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + ($31)|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = $37 << 8; $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 76|0); + $40 = ((($39)) + 76|0); $41 = HEAP16[$40>>1]|0; $42 = $41 << 16 >> 16; $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 78|0); + $44 = ((($43)) + 78|0); $45 = (($44) + ($42<<1)|0); $46 = HEAP16[$45>>1]|0; $47 = $46&65535; $48 = $47<<1; $49 = HEAP32[$pPage>>2]|0; - $50 = (($49) + 64|0); + $50 = ((($49)) + 64|0); $51 = HEAP32[$50>>2]|0; $52 = (($51) + ($48)|0); - $53 = (($52) + 1|0); + $53 = ((($52)) + 1|0); $54 = HEAP8[$53>>0]|0; $55 = $54&255; $56 = $38 | $55; @@ -145136,7 +146629,7 @@ function _moveToLeftmost($pCur) { $63 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($63|0); } - return 0|0; + return (0)|0; } function _targetSrcList($pParse,$pStep) { $pParse = $pParse|0; @@ -145156,7 +146649,7 @@ function _targetSrcList($pParse,$pStep) { $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 12|0); + $5 = ((($4)) + 12|0); $6 = (_sqlite3SrcListAppend($3,0,$5,0)|0); HEAP32[$pSrc>>2] = $6; $7 = HEAP32[$pSrc>>2]|0; @@ -145168,9 +146661,9 @@ function _targetSrcList($pParse,$pStep) { $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 20|0); + $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; $16 = (_sqlite3SchemaToIndex($10,$15)|0); HEAP32[$iDb>>2] = $16; @@ -145189,7 +146682,7 @@ function _targetSrcList($pParse,$pStep) { $23 = HEAP32[$db>>2]|0; $24 = HEAP32[$iDb>>2]|0; $25 = HEAP32[$db>>2]|0; - $26 = (($25) + 16|0); + $26 = ((($25)) + 16|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + ($24<<4)|0); $29 = HEAP32[$28>>2]|0; @@ -145198,9 +146691,9 @@ function _targetSrcList($pParse,$pStep) { $32 = HEAP32[$31>>2]|0; $33 = (($32) - 1)|0; $34 = HEAP32[$pSrc>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); $36 = (($35) + (($33*72)|0)|0); - $37 = (($36) + 4|0); + $37 = ((($36)) + 4|0); HEAP32[$37>>2] = $30; $38 = HEAP32[$pSrc>>2]|0; STACKTOP = sp;return ($38|0); @@ -145223,27 +146716,27 @@ function _fkTriggerDelete($dbMem,$p) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 28|0); + $5 = ((($4)) + 28|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pStep>>2] = $6; $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$pStep>>2]|0; - $9 = (($8) + 20|0); + $9 = ((($8)) + 20|0); $10 = HEAP32[$9>>2]|0; _sqlite3ExprDelete($7,$10); $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$pStep>>2]|0; - $13 = (($12) + 24|0); + $13 = ((($12)) + 24|0); $14 = HEAP32[$13>>2]|0; _sqlite3ExprListDelete($11,$14); $15 = HEAP32[$0>>2]|0; $16 = HEAP32[$pStep>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; _sqlite3SelectDelete($15,$18); $19 = HEAP32[$0>>2]|0; $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 12|0); + $21 = ((($20)) + 12|0); $22 = HEAP32[$21>>2]|0; _sqlite3ExprDelete($19,$22); $23 = HEAP32[$0>>2]|0; @@ -145287,10 +146780,10 @@ function _checkColumnOverlap($pIdList,$pEList) { $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$e>>2]|0; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + (($12*20)|0)|0); - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = (_sqlite3IdListIndex($11,$18)|0); $20 = ($19|0)>=(0); @@ -145312,7 +146805,7 @@ function _checkColumnOverlap($pIdList,$pEList) { $23 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($23|0); } - return 0|0; + return (0)|0; } function _xferCompatibleCollation($z1,$z2) { $z1 = $z1|0; @@ -145368,11 +146861,11 @@ function _xferCompatibleIndex($pDest,$pSrc) { HEAP32[$1>>2] = $pDest; HEAP32[$2>>2] = $pSrc; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 50|0); + $4 = ((($3)) + 50|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 50|0); + $8 = ((($7)) + 50|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = ($6|0)!=($10|0); @@ -145382,11 +146875,11 @@ function _xferCompatibleIndex($pDest,$pSrc) { STACKTOP = sp;return ($81|0); } $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 54|0); + $13 = ((($12)) + 54|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 54|0); + $17 = ((($16)) + 54|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = ($15|0)!=($19|0); @@ -145399,7 +146892,7 @@ function _xferCompatibleIndex($pDest,$pSrc) { while(1) { $21 = HEAP32[$i>>2]|0; $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 50|0); + $23 = ((($22)) + 50|0); $24 = HEAP16[$23>>1]|0; $25 = $24&65535; $26 = ($21|0)<($25|0); @@ -145409,14 +146902,14 @@ function _xferCompatibleIndex($pDest,$pSrc) { } $27 = HEAP32[$i>>2]|0; $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + ($27<<1)|0); $32 = HEAP16[$31>>1]|0; $33 = $32 << 16 >> 16; $34 = HEAP32[$i>>2]|0; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + ($34<<1)|0); $39 = HEAP16[$38>>1]|0; @@ -145428,14 +146921,14 @@ function _xferCompatibleIndex($pDest,$pSrc) { } $42 = HEAP32[$i>>2]|0; $43 = HEAP32[$2>>2]|0; - $44 = (($43) + 28|0); + $44 = ((($43)) + 28|0); $45 = HEAP32[$44>>2]|0; $46 = (($45) + ($42)|0); $47 = HEAP8[$46>>0]|0; $48 = $47&255; $49 = HEAP32[$i>>2]|0; $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 28|0); + $51 = ((($50)) + 28|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + ($49)|0); $54 = HEAP8[$53>>0]|0; @@ -145447,13 +146940,13 @@ function _xferCompatibleIndex($pDest,$pSrc) { } $57 = HEAP32[$i>>2]|0; $58 = HEAP32[$2>>2]|0; - $59 = (($58) + 32|0); + $59 = ((($58)) + 32|0); $60 = HEAP32[$59>>2]|0; $61 = (($60) + ($57<<2)|0); $62 = HEAP32[$61>>2]|0; $63 = HEAP32[$i>>2]|0; $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 32|0); + $65 = ((($64)) + 32|0); $66 = HEAP32[$65>>2]|0; $67 = (($66) + ($63<<2)|0); $68 = HEAP32[$67>>2]|0; @@ -145484,10 +146977,10 @@ function _xferCompatibleIndex($pDest,$pSrc) { } else if ((label|0) == 14) { $73 = HEAP32[$2>>2]|0; - $74 = (($73) + 36|0); + $74 = ((($73)) + 36|0); $75 = HEAP32[$74>>2]|0; $76 = HEAP32[$1>>2]|0; - $77 = (($76) + 36|0); + $77 = ((($76)) + 36|0); $78 = HEAP32[$77>>2]|0; $79 = (_sqlite3ExprCompare($75,$78,-1)|0); $80 = ($79|0)!=(0); @@ -145501,7 +146994,7 @@ function _xferCompatibleIndex($pDest,$pSrc) { STACKTOP = sp;return ($81|0); } } - return 0|0; + return (0)|0; } function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWhere,$onError) { $pParse = $pParse|0; @@ -145523,25 +147016,25 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher var $db = 0, $dest = 0, $ephemTab = 0, $i = 0, $iReg = 0, $pEList = 0, $pExpr = 0, $pSelect = 0, $pVTab = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = sp + 64|0; - $7 = sp + 60|0; - $v = sp + 56|0; - $pEList = sp + 52|0; - $pSelect = sp + 48|0; - $pExpr = sp + 44|0; - $ephemTab = sp + 40|0; - $i = sp + 36|0; - $addr = sp + 32|0; - $iReg = sp + 28|0; - $db = sp + 24|0; - $pVTab = sp + 20|0; - $dest = sp; + $0 = sp + 84|0; + $1 = sp + 44|0; + $2 = sp + 28|0; + $3 = sp + 20|0; + $4 = sp + 4|0; + $5 = sp + 8|0; + $6 = sp + 48|0; + $7 = sp + 56|0; + $v = sp + 80|0; + $pEList = sp + 88|0; + $pSelect = sp + 24|0; + $pExpr = sp + 32|0; + $ephemTab = sp + 36|0; + $i = sp; + $addr = sp + 40|0; + $iReg = sp + 12|0; + $db = sp + 52|0; + $pVTab = sp + 16|0; + $dest = sp + 60|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSrc; HEAP32[$2>>2] = $pTab; @@ -145551,7 +147044,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher HEAP32[$6>>2] = $pWhere; HEAP32[$7>>2] = $onError; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; HEAP32[$v>>2] = $10; HEAP32[$pEList>>2] = 0; @@ -145565,7 +147058,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher HEAP32[$pVTab>>2] = $15; $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$db>>2]|0; - $18 = (_sqlite3Expr($17,27,24560)|0); + $18 = (_sqlite3Expr($17,27,26900)|0); $19 = (_sqlite3ExprListAppend($16,0,$18)|0); HEAP32[$pEList>>2] = $19; $20 = HEAP32[$4>>2]|0; @@ -145583,7 +147076,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher while(1) { $28 = HEAP32[$i>>2]|0; $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 38|0); + $30 = ((($29)) + 38|0); $31 = HEAP16[$30>>1]|0; $32 = $31 << 16 >> 16; $33 = ($28|0)<($32|0); @@ -145602,7 +147095,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $42 = (($41) + ($40<<2)|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$3>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = (($46) + (($43*20)|0)|0); $48 = HEAP32[$47>>2]|0; @@ -145610,7 +147103,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher HEAP32[$pExpr>>2] = $49; } else { $50 = HEAP32[$2>>2]|0; - $51 = (($50) + 4|0); + $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + (($40*24)|0)|0); $54 = HEAP32[$53>>2]|0; @@ -145633,7 +147126,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $66 = (_sqlite3SelectNew($62,$63,$64,$65,0,0,0,0,0,0)|0); HEAP32[$pSelect>>2] = $66; $67 = HEAP32[$0>>2]|0; - $68 = (($67) + 68|0); + $68 = ((($67)) + 68|0); $69 = HEAP32[$68>>2]|0; $70 = (($69) + 1)|0; HEAP32[$68>>2] = $70; @@ -145641,7 +147134,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $71 = HEAP32[$v>>2]|0; $72 = HEAP32[$ephemTab>>2]|0; $73 = HEAP32[$2>>2]|0; - $74 = (($73) + 38|0); + $74 = ((($73)) + 38|0); $75 = HEAP16[$74>>1]|0; $76 = $75 << 16 >> 16; $77 = (($76) + 1)|0; @@ -145658,18 +147151,18 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $85 = HEAP32[$pSelect>>2]|0; (_sqlite3Select($84,$85,$dest)|0); $86 = HEAP32[$0>>2]|0; - $87 = (($86) + 72|0); + $87 = ((($86)) + 72|0); $88 = HEAP32[$87>>2]|0; $89 = (($88) + 1)|0; HEAP32[$87>>2] = $89; HEAP32[$iReg>>2] = $89; $90 = HEAP32[$2>>2]|0; - $91 = (($90) + 38|0); + $91 = ((($90)) + 38|0); $92 = HEAP16[$91>>1]|0; $93 = $92 << 16 >> 16; $94 = (($93) + 1)|0; $95 = HEAP32[$0>>2]|0; - $96 = (($95) + 72|0); + $96 = ((($95)) + 72|0); $97 = HEAP32[$96>>2]|0; $98 = (($97) + ($94))|0; HEAP32[$96>>2] = $98; @@ -145693,7 +147186,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher while(1) { $112 = HEAP32[$i>>2]|0; $113 = HEAP32[$2>>2]|0; - $114 = (($113) + 38|0); + $114 = ((($113)) + 38|0); $115 = HEAP16[$114>>1]|0; $116 = $115 << 16 >> 16; $117 = ($112|0)<($116|0); @@ -145722,7 +147215,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher _sqlite3VtabMakeWritable($132,$133); $134 = HEAP32[$v>>2]|0; $135 = HEAP32[$2>>2]|0; - $136 = (($135) + 38|0); + $136 = ((($135)) + 38|0); $137 = HEAP16[$136>>1]|0; $138 = $137 << 16 >> 16; $139 = (($138) + 2)|0; @@ -145769,16 +147262,16 @@ function _sqlite3AuthContextPush($pParse,$pContext,$zContext) { HEAP32[$2>>2] = $zContext; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); HEAP32[$5>>2] = $3; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 492|0); + $7 = ((($6)) + 492|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$1>>2]|0; HEAP32[$9>>2] = $8; $10 = HEAP32[$2>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 492|0); + $12 = ((($11)) + 492|0); HEAP32[$12>>2] = $10; STACKTOP = sp;return; } @@ -145792,15 +147285,15 @@ function _sqlite3MaterializeView($pParse,$pView,$pWhere,$iCur) { var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $dest = 0, $iDb = 0, $pFrom = 0, $pSel = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $dest = sp + 16|0; - $pSel = sp + 12|0; - $pFrom = sp + 8|0; - $db = sp + 4|0; - $iDb = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $dest = sp + 32|0; + $pSel = sp; + $pFrom = sp + 12|0; + $db = sp + 24|0; + $iDb = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pView; HEAP32[$2>>2] = $pWhere; @@ -145810,7 +147303,7 @@ function _sqlite3MaterializeView($pParse,$pView,$pWhere,$iCur) { HEAP32[$db>>2] = $5; $6 = HEAP32[$db>>2]|0; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 68|0); + $8 = ((($7)) + 68|0); $9 = HEAP32[$8>>2]|0; $10 = (_sqlite3SchemaToIndex($6,$9)|0); HEAP32[$iDb>>2] = $10; @@ -145829,20 +147322,20 @@ function _sqlite3MaterializeView($pParse,$pView,$pWhere,$iCur) { $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3DbStrDup($18,$20)|0); $22 = HEAP32[$pFrom>>2]|0; - $23 = (($22) + 8|0); - $24 = (($23) + 8|0); + $23 = ((($22)) + 8|0); + $24 = ((($23)) + 8|0); HEAP32[$24>>2] = $21; $25 = HEAP32[$db>>2]|0; $26 = HEAP32[$iDb>>2]|0; $27 = HEAP32[$db>>2]|0; - $28 = (($27) + 16|0); + $28 = ((($27)) + 16|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + ($26<<4)|0); $31 = HEAP32[$30>>2]|0; $32 = (_sqlite3DbStrDup($25,$31)|0); $33 = HEAP32[$pFrom>>2]|0; - $34 = (($33) + 8|0); - $35 = (($34) + 4|0); + $34 = ((($33)) + 8|0); + $35 = ((($34)) + 4|0); HEAP32[$35>>2] = $32; } $36 = HEAP32[$0>>2]|0; @@ -145872,10 +147365,10 @@ function _sqlite3WhereOkOnePass($pWInfo,$aiCur) { HEAP32[$1>>2] = $aiCur; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 60|0); - ;HEAP32[$2+0>>2]=HEAP32[$4+0>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0; + $4 = ((($3)) + 60|0); + ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 38|0); + $6 = ((($5)) + 38|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; STACKTOP = sp;return ($8|0); @@ -145888,7 +147381,7 @@ function _sqlite3AuthContextPop($pContext) { $0 = sp; HEAP32[$0>>2] = $pContext; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); + $2 = ((($1)) + 4|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { @@ -145897,12 +147390,12 @@ function _sqlite3AuthContextPop($pContext) { $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 492|0); + $10 = ((($9)) + 492|0); HEAP32[$10>>2] = $6; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); HEAP32[$12>>2] = 0; STACKTOP = sp;return; } @@ -145918,15 +147411,15 @@ function _sqlite3SrcListEnlarge($db,$pSrc,$nExtra,$iStart) { var $i = 0, $nAlloc = 0, $nGot = 0, $pNew = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $4 = sp + 16|0; - $i = sp + 12|0; - $pNew = sp + 8|0; - $nAlloc = sp + 4|0; - $nGot = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $4 = sp + 32|0; + $i = sp; + $pNew = sp + 12|0; + $nAlloc = sp + 24|0; + $nGot = sp + 20|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pSrc; HEAP32[$3>>2] = $nExtra; @@ -145936,7 +147429,7 @@ function _sqlite3SrcListEnlarge($db,$pSrc,$nExtra,$iStart) { $7 = HEAP32[$3>>2]|0; $8 = (($6) + ($7))|0; $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = ($8>>>0)>($11>>>0); do { @@ -145968,7 +147461,7 @@ function _sqlite3SrcListEnlarge($db,$pSrc,$nExtra,$iStart) { HEAP32[$nGot>>2] = $33; $34 = HEAP32[$nGot>>2]|0; $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); HEAP32[$36>>2] = $34; break; } @@ -145993,13 +147486,13 @@ function _sqlite3SrcListEnlarge($db,$pSrc,$nExtra,$iStart) { $44 = HEAP32[$3>>2]|0; $45 = (($43) + ($44))|0; $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 8|0); + $47 = ((($46)) + 8|0); $48 = (($47) + (($45*72)|0)|0); $49 = HEAP32[$i>>2]|0; $50 = HEAP32[$2>>2]|0; - $51 = (($50) + 8|0); + $51 = ((($50)) + 8|0); $52 = (($51) + (($49*72)|0)|0); - dest=$48+0|0; src=$52+0|0; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$48; src=$52; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $53 = HEAP32[$i>>2]|0; $54 = (($53) + -1)|0; HEAP32[$i>>2] = $54; @@ -146011,7 +147504,7 @@ function _sqlite3SrcListEnlarge($db,$pSrc,$nExtra,$iStart) { HEAP32[$56>>2] = $58; $59 = HEAP32[$4>>2]|0; $60 = HEAP32[$2>>2]|0; - $61 = (($60) + 8|0); + $61 = ((($60)) + 8|0); $62 = (($61) + (($59*72)|0)|0); $63 = HEAP32[$3>>2]|0; $64 = ($63*72)|0; @@ -146029,9 +147522,9 @@ function _sqlite3SrcListEnlarge($db,$pSrc,$nExtra,$iStart) { } $71 = HEAP32[$i>>2]|0; $72 = HEAP32[$2>>2]|0; - $73 = (($72) + 8|0); + $73 = ((($72)) + 8|0); $74 = (($73) + (($71*72)|0)|0); - $75 = (($74) + 40|0); + $75 = ((($74)) + 40|0); HEAP32[$75>>2] = -1; $76 = HEAP32[$i>>2]|0; $77 = (($76) + 1)|0; @@ -146072,7 +147565,7 @@ function _checkForMultiColumnSelectError($pParse,$pDest,$nExpr) { $or$cond = $10 | $12; if ($or$cond) { $13 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($13,25392,$vararg_buffer); + _sqlite3ErrorMsg($13,27637,$vararg_buffer); HEAP32[$0>>2] = 1; $14 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($14|0); @@ -146137,50 +147630,50 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { var $zName = 0, $zSavedAuthContext = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; - $0 = sp + 112|0; - $1 = sp + 108|0; - $2 = sp + 104|0; + $0 = sp + 64|0; + $1 = sp + 36|0; + $2 = sp + 32|0; $3 = sp + 100|0; - $4 = sp + 96|0; - $5 = sp + 92|0; - $zSavedAuthContext = sp + 88|0; - $pParent = sp + 84|0; - $pSub = sp + 80|0; - $pSub1 = sp + 76|0; - $pSrc = sp + 72|0; - $pSubSrc = sp + 68|0; - $pList = sp + 64|0; - $iParent = sp + 60|0; - $i = sp + 56|0; - $pWhere = sp + 52|0; - $pSubitem = sp + 48|0; - $db = sp + 44|0; - $ii = sp + 40|0; - $pNew = sp + 36|0; - $pOrderBy = sp + 32|0; - $pLimit = sp + 28|0; - $pOffset = sp + 24|0; - $pPrior = sp + 20|0; - $pTabToDel = sp + 16|0; - $pToplevel = sp + 12|0; - $nSubSrc = sp + 8|0; + $4 = sp + 92|0; + $5 = sp + 8|0; + $zSavedAuthContext = sp + 12|0; + $pParent = sp + 68|0; + $pSub = sp + 16|0; + $pSub1 = sp + 20|0; + $pSrc = sp + 24|0; + $pSubSrc = sp + 88|0; + $pList = sp + 96|0; + $iParent = sp + 104|0; + $i = sp + 108|0; + $pWhere = sp + 112|0; + $pSubitem = sp + 44|0; + $db = sp + 48|0; + $ii = sp + 52|0; + $pNew = sp + 56|0; + $pOrderBy = sp + 60|0; + $pLimit = sp + 4|0; + $pOffset = sp + 72|0; + $pPrior = sp + 80|0; + $pTabToDel = sp; + $pToplevel = sp + 76|0; + $nSubSrc = sp + 28|0; $jointype = sp + 116|0; - $zName = sp + 4|0; - $pOrderBy1 = sp; + $zName = sp + 40|0; + $pOrderBy1 = sp + 84|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $iFrom; HEAP32[$4>>2] = $isAgg; HEAP32[$5>>2] = $subqueryIsAgg; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 492|0); + $7 = ((($6)) + 492|0); $8 = HEAP32[$7>>2]|0; HEAP32[$zSavedAuthContext>>2] = $8; $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$9>>2]|0; HEAP32[$db>>2] = $10; $11 = HEAP32[$db>>2]|0; - $12 = (($11) + 60|0); + $12 = ((($11)) + 60|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = $14 & 1; @@ -146191,20 +147684,20 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 32|0); + $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pSrc>>2] = $19; $20 = HEAP32[$3>>2]|0; $21 = HEAP32[$pSrc>>2]|0; - $22 = (($21) + 8|0); + $22 = ((($21)) + 8|0); $23 = (($22) + (($20*72)|0)|0); HEAP32[$pSubitem>>2] = $23; $24 = HEAP32[$pSubitem>>2]|0; - $25 = (($24) + 40|0); + $25 = ((($24)) + 40|0); $26 = HEAP32[$25>>2]|0; HEAP32[$iParent>>2] = $26; $27 = HEAP32[$pSubitem>>2]|0; - $28 = (($27) + 20|0); + $28 = ((($27)) + 20|0); $29 = HEAP32[$28>>2]|0; HEAP32[$pSub>>2] = $29; $30 = HEAP32[$4>>2]|0; @@ -146230,16 +147723,16 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } $39 = HEAP32[$pSub>>2]|0; - $40 = (($39) + 32|0); + $40 = ((($39)) + 32|0); $41 = HEAP32[$40>>2]|0; HEAP32[$pSubSrc>>2] = $41; $42 = HEAP32[$pSub>>2]|0; - $43 = (($42) + 60|0); + $43 = ((($42)) + 60|0); $44 = HEAP32[$43>>2]|0; $45 = ($44|0)!=(0|0); if ($45) { $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 60|0); + $47 = ((($46)) + 60|0); $48 = HEAP32[$47>>2]|0; $49 = ($48|0)!=(0|0); if ($49) { @@ -146249,7 +147742,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } $50 = HEAP32[$pSub>>2]|0; - $51 = (($50) + 64|0); + $51 = ((($50)) + 64|0); $52 = HEAP32[$51>>2]|0; $53 = ($52|0)!=(0|0); if ($53) { @@ -146258,14 +147751,14 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 6|0); + $55 = ((($54)) + 6|0); $56 = HEAP16[$55>>1]|0; $57 = $56&65535; $58 = $57 & 64; $59 = ($58|0)!=(0); if ($59) { $60 = HEAP32[$pSub>>2]|0; - $61 = (($60) + 60|0); + $61 = ((($60)) + 60|0); $62 = HEAP32[$61>>2]|0; $63 = ($62|0)!=(0|0); if ($63) { @@ -146283,7 +147776,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $67 = HEAP32[$pSub>>2]|0; - $68 = (($67) + 6|0); + $68 = ((($67)) + 6|0); $69 = HEAP16[$68>>1]|0; $70 = $69&65535; $71 = $70 & 1; @@ -146294,7 +147787,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $73 = HEAP32[$pSub>>2]|0; - $74 = (($73) + 60|0); + $74 = ((($73)) + 60|0); $75 = HEAP32[$74>>2]|0; $76 = ($75|0)!=(0|0); if ($76) { @@ -146311,7 +147804,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } $82 = HEAP32[$2>>2]|0; - $83 = (($82) + 6|0); + $83 = ((($82)) + 6|0); $84 = HEAP16[$83>>1]|0; $85 = $84&65535; $86 = $85 & 1; @@ -146325,12 +147818,12 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $90 = HEAP32[$2>>2]|0; - $91 = (($90) + 48|0); + $91 = ((($90)) + 48|0); $92 = HEAP32[$91>>2]|0; $93 = ($92|0)!=(0|0); if ($93) { $94 = HEAP32[$pSub>>2]|0; - $95 = (($94) + 48|0); + $95 = ((($94)) + 48|0); $96 = HEAP32[$95>>2]|0; $97 = ($96|0)!=(0|0); if ($97) { @@ -146343,7 +147836,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $99 = ($98|0)!=(0); if ($99) { $100 = HEAP32[$pSub>>2]|0; - $101 = (($100) + 48|0); + $101 = ((($100)) + 48|0); $102 = HEAP32[$101>>2]|0; $103 = ($102|0)!=(0|0); if ($103) { @@ -146353,12 +147846,12 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } $104 = HEAP32[$pSub>>2]|0; - $105 = (($104) + 60|0); + $105 = ((($104)) + 60|0); $106 = HEAP32[$105>>2]|0; $107 = ($106|0)!=(0|0); if ($107) { $108 = HEAP32[$2>>2]|0; - $109 = (($108) + 36|0); + $109 = ((($108)) + 36|0); $110 = HEAP32[$109>>2]|0; $111 = ($110|0)!=(0|0); if ($111) { @@ -146368,12 +147861,12 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } $112 = HEAP32[$pSub>>2]|0; - $113 = (($112) + 60|0); + $113 = ((($112)) + 60|0); $114 = HEAP32[$113>>2]|0; $115 = ($114|0)!=(0|0); if ($115) { $116 = HEAP32[$2>>2]|0; - $117 = (($116) + 6|0); + $117 = ((($116)) + 6|0); $118 = HEAP16[$117>>1]|0; $119 = $118&65535; $120 = $119 & 1; @@ -146385,7 +147878,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } $122 = HEAP32[$pSub>>2]|0; - $123 = (($122) + 6|0); + $123 = ((($122)) + 6|0); $124 = HEAP16[$123>>1]|0; $125 = $124&65535; $126 = $125 & 6144; @@ -146396,14 +147889,14 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $128 = HEAP32[$2>>2]|0; - $129 = (($128) + 6|0); + $129 = ((($128)) + 6|0); $130 = HEAP16[$129>>1]|0; $131 = $130&65535; $132 = $131 & 2048; $133 = ($132|0)!=(0); if ($133) { $134 = HEAP32[$pSub>>2]|0; - $135 = (($134) + 52|0); + $135 = ((($134)) + 52|0); $136 = HEAP32[$135>>2]|0; $137 = ($136|0)!=(0|0); if ($137) { @@ -146413,7 +147906,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } $138 = HEAP32[$pSubitem>>2]|0; - $139 = (($138) + 36|0); + $139 = ((($138)) + 36|0); $140 = HEAP8[$139>>0]|0; $141 = $140&255; $142 = $141 & 32; @@ -146424,13 +147917,13 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $144 = HEAP32[$pSub>>2]|0; - $145 = (($144) + 52|0); + $145 = ((($144)) + 52|0); $146 = HEAP32[$145>>2]|0; $147 = ($146|0)!=(0|0); L78: do { if ($147) { $148 = HEAP32[$pSub>>2]|0; - $149 = (($148) + 48|0); + $149 = ((($148)) + 48|0); $150 = HEAP32[$149>>2]|0; $151 = ($150|0)!=(0|0); if ($151) { @@ -146443,7 +147936,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { do { if (!($153)) { $154 = HEAP32[$2>>2]|0; - $155 = (($154) + 6|0); + $155 = ((($154)) + 6|0); $156 = HEAP16[$155>>1]|0; $157 = $156&65535; $158 = $157 & 1; @@ -146466,7 +147959,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { break; } $166 = HEAP32[$pSub1>>2]|0; - $167 = (($166) + 6|0); + $167 = ((($166)) + 6|0); $168 = HEAP16[$167>>1]|0; $169 = $168&65535; $170 = $169 & 5; @@ -146476,12 +147969,12 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { break; } $172 = HEAP32[$pSub1>>2]|0; - $173 = (($172) + 52|0); + $173 = ((($172)) + 52|0); $174 = HEAP32[$173>>2]|0; $175 = ($174|0)!=(0|0); if ($175) { $176 = HEAP32[$pSub1>>2]|0; - $177 = (($176) + 4|0); + $177 = ((($176)) + 4|0); $178 = HEAP8[$177>>0]|0; $179 = $178&255; $180 = ($179|0)!=(116); @@ -146491,7 +147984,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } $181 = HEAP32[$pSub1>>2]|0; - $182 = (($181) + 32|0); + $182 = ((($181)) + 32|0); $183 = HEAP32[$182>>2]|0; $184 = HEAP32[$183>>2]|0; $185 = ($184|0)<(1); @@ -146511,7 +148004,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { break; } $193 = HEAP32[$pSub1>>2]|0; - $194 = (($193) + 52|0); + $194 = ((($193)) + 52|0); $195 = HEAP32[$194>>2]|0; HEAP32[$pSub1>>2] = $195; } @@ -146521,7 +148014,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $196 = HEAP32[$2>>2]|0; - $197 = (($196) + 48|0); + $197 = ((($196)) + 48|0); $198 = HEAP32[$197>>2]|0; $199 = ($198|0)!=(0|0); if (!($199)) { @@ -146531,7 +148024,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { while(1) { $200 = HEAP32[$ii>>2]|0; $201 = HEAP32[$2>>2]|0; - $202 = (($201) + 48|0); + $202 = ((($201)) + 48|0); $203 = HEAP32[$202>>2]|0; $204 = HEAP32[$203>>2]|0; $205 = ($200|0)<($204|0); @@ -146540,12 +148033,12 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } $206 = HEAP32[$ii>>2]|0; $207 = HEAP32[$2>>2]|0; - $208 = (($207) + 48|0); + $208 = ((($207)) + 48|0); $209 = HEAP32[$208>>2]|0; - $210 = (($209) + 4|0); + $210 = ((($209)) + 4|0); $211 = HEAP32[$210>>2]|0; $212 = (($211) + (($206*20)|0)|0); - $213 = (($212) + 16|0); + $213 = ((($212)) + 16|0); $214 = HEAP16[$213>>1]|0; $215 = $214&65535; $216 = ($215|0)==(0); @@ -146567,19 +148060,19 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } while(0); $219 = HEAP32[$pSubitem>>2]|0; - $220 = (($219) + 8|0); + $220 = ((($219)) + 8|0); $221 = HEAP32[$220>>2]|0; $222 = HEAP32[$1>>2]|0; - $223 = (($222) + 492|0); + $223 = ((($222)) + 492|0); HEAP32[$223>>2] = $221; $224 = HEAP32[$1>>2]|0; (_sqlite3AuthCheck($224,21,0,0,0)|0); $225 = HEAP32[$zSavedAuthContext>>2]|0; $226 = HEAP32[$1>>2]|0; - $227 = (($226) + 492|0); + $227 = ((($226)) + 492|0); HEAP32[$227>>2] = $225; $228 = HEAP32[$pSub>>2]|0; - $229 = (($228) + 52|0); + $229 = ((($228)) + 52|0); $230 = HEAP32[$229>>2]|0; HEAP32[$pSub>>2] = $230; while(1) { @@ -146589,35 +148082,35 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { break; } $233 = HEAP32[$2>>2]|0; - $234 = (($233) + 48|0); + $234 = ((($233)) + 48|0); $235 = HEAP32[$234>>2]|0; HEAP32[$pOrderBy>>2] = $235; $236 = HEAP32[$2>>2]|0; - $237 = (($236) + 60|0); + $237 = ((($236)) + 60|0); $238 = HEAP32[$237>>2]|0; HEAP32[$pLimit>>2] = $238; $239 = HEAP32[$2>>2]|0; - $240 = (($239) + 64|0); + $240 = ((($239)) + 64|0); $241 = HEAP32[$240>>2]|0; HEAP32[$pOffset>>2] = $241; $242 = HEAP32[$2>>2]|0; - $243 = (($242) + 52|0); + $243 = ((($242)) + 52|0); $244 = HEAP32[$243>>2]|0; HEAP32[$pPrior>>2] = $244; $245 = HEAP32[$2>>2]|0; - $246 = (($245) + 48|0); + $246 = ((($245)) + 48|0); HEAP32[$246>>2] = 0; $247 = HEAP32[$2>>2]|0; - $248 = (($247) + 32|0); + $248 = ((($247)) + 32|0); HEAP32[$248>>2] = 0; $249 = HEAP32[$2>>2]|0; - $250 = (($249) + 52|0); + $250 = ((($249)) + 52|0); HEAP32[$250>>2] = 0; $251 = HEAP32[$2>>2]|0; - $252 = (($251) + 60|0); + $252 = ((($251)) + 60|0); HEAP32[$252>>2] = 0; $253 = HEAP32[$2>>2]|0; - $254 = (($253) + 64|0); + $254 = ((($253)) + 64|0); HEAP32[$254>>2] = 0; $255 = HEAP32[$db>>2]|0; $256 = HEAP32[$2>>2]|0; @@ -146625,53 +148118,53 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { HEAP32[$pNew>>2] = $257; $258 = HEAP32[$pOffset>>2]|0; $259 = HEAP32[$2>>2]|0; - $260 = (($259) + 64|0); + $260 = ((($259)) + 64|0); HEAP32[$260>>2] = $258; $261 = HEAP32[$pLimit>>2]|0; $262 = HEAP32[$2>>2]|0; - $263 = (($262) + 60|0); + $263 = ((($262)) + 60|0); HEAP32[$263>>2] = $261; $264 = HEAP32[$pOrderBy>>2]|0; $265 = HEAP32[$2>>2]|0; - $266 = (($265) + 48|0); + $266 = ((($265)) + 48|0); HEAP32[$266>>2] = $264; $267 = HEAP32[$pSrc>>2]|0; $268 = HEAP32[$2>>2]|0; - $269 = (($268) + 32|0); + $269 = ((($268)) + 32|0); HEAP32[$269>>2] = $267; $270 = HEAP32[$2>>2]|0; - $271 = (($270) + 4|0); + $271 = ((($270)) + 4|0); HEAP8[$271>>0] = 116; $272 = HEAP32[$pNew>>2]|0; $273 = ($272|0)==(0|0); $274 = HEAP32[$pPrior>>2]|0; if ($273) { $275 = HEAP32[$2>>2]|0; - $276 = (($275) + 52|0); + $276 = ((($275)) + 52|0); HEAP32[$276>>2] = $274; } else { $277 = HEAP32[$pNew>>2]|0; - $278 = (($277) + 52|0); + $278 = ((($277)) + 52|0); HEAP32[$278>>2] = $274; $279 = HEAP32[$pPrior>>2]|0; $280 = ($279|0)!=(0|0); if ($280) { $281 = HEAP32[$pNew>>2]|0; $282 = HEAP32[$pPrior>>2]|0; - $283 = (($282) + 56|0); + $283 = ((($282)) + 56|0); HEAP32[$283>>2] = $281; } $284 = HEAP32[$2>>2]|0; $285 = HEAP32[$pNew>>2]|0; - $286 = (($285) + 56|0); + $286 = ((($285)) + 56|0); HEAP32[$286>>2] = $284; $287 = HEAP32[$pNew>>2]|0; $288 = HEAP32[$2>>2]|0; - $289 = (($288) + 52|0); + $289 = ((($288)) + 52|0); HEAP32[$289>>2] = $287; } $290 = HEAP32[$db>>2]|0; - $291 = (($290) + 64|0); + $291 = ((($290)) + 64|0); $292 = HEAP8[$291>>0]|0; $293 = ($292<<24>>24)!=(0); if ($293) { @@ -146679,7 +148172,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { break; } $294 = HEAP32[$pSub>>2]|0; - $295 = (($294) + 52|0); + $295 = ((($294)) + 52|0); $296 = HEAP32[$295>>2]|0; HEAP32[$pSub>>2] = $296; } @@ -146689,59 +148182,59 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { STACKTOP = sp;return ($614|0); } $297 = HEAP32[$pSubitem>>2]|0; - $298 = (($297) + 20|0); + $298 = ((($297)) + 20|0); $299 = HEAP32[$298>>2]|0; HEAP32[$pSub1>>2] = $299; HEAP32[$pSub>>2] = $299; $300 = HEAP32[$db>>2]|0; $301 = HEAP32[$pSubitem>>2]|0; - $302 = (($301) + 4|0); + $302 = ((($301)) + 4|0); $303 = HEAP32[$302>>2]|0; _sqlite3DbFree($300,$303); $304 = HEAP32[$db>>2]|0; $305 = HEAP32[$pSubitem>>2]|0; - $306 = (($305) + 8|0); + $306 = ((($305)) + 8|0); $307 = HEAP32[$306>>2]|0; _sqlite3DbFree($304,$307); $308 = HEAP32[$db>>2]|0; $309 = HEAP32[$pSubitem>>2]|0; - $310 = (($309) + 12|0); + $310 = ((($309)) + 12|0); $311 = HEAP32[$310>>2]|0; _sqlite3DbFree($308,$311); $312 = HEAP32[$pSubitem>>2]|0; - $313 = (($312) + 4|0); + $313 = ((($312)) + 4|0); HEAP32[$313>>2] = 0; $314 = HEAP32[$pSubitem>>2]|0; - $315 = (($314) + 8|0); + $315 = ((($314)) + 8|0); HEAP32[$315>>2] = 0; $316 = HEAP32[$pSubitem>>2]|0; - $317 = (($316) + 12|0); + $317 = ((($316)) + 12|0); HEAP32[$317>>2] = 0; $318 = HEAP32[$pSubitem>>2]|0; - $319 = (($318) + 20|0); + $319 = ((($318)) + 20|0); HEAP32[$319>>2] = 0; $320 = HEAP32[$pSubitem>>2]|0; - $321 = (($320) + 16|0); + $321 = ((($320)) + 16|0); $322 = HEAP32[$321>>2]|0; $323 = ($322|0)!=(0|0); if ($323) { $324 = HEAP32[$pSubitem>>2]|0; - $325 = (($324) + 16|0); + $325 = ((($324)) + 16|0); $326 = HEAP32[$325>>2]|0; HEAP32[$pTabToDel>>2] = $326; $327 = HEAP32[$pTabToDel>>2]|0; - $328 = (($327) + 40|0); + $328 = ((($327)) + 40|0); $329 = HEAP16[$328>>1]|0; $330 = $329&65535; $331 = ($330|0)==(1); if ($331) { $332 = HEAP32[$1>>2]|0; - $333 = (($332) + 408|0); + $333 = ((($332)) + 408|0); $334 = HEAP32[$333>>2]|0; $335 = ($334|0)!=(0|0); $336 = HEAP32[$1>>2]|0; if ($335) { - $337 = (($336) + 408|0); + $337 = ((($336)) + 408|0); $338 = HEAP32[$337>>2]|0; $339 = $338; } else { @@ -146749,24 +148242,24 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } HEAP32[$pToplevel>>2] = $339; $340 = HEAP32[$pToplevel>>2]|0; - $341 = (($340) + 524|0); + $341 = ((($340)) + 524|0); $342 = HEAP32[$341>>2]|0; $343 = HEAP32[$pTabToDel>>2]|0; - $344 = (($343) + 72|0); + $344 = ((($343)) + 72|0); HEAP32[$344>>2] = $342; $345 = HEAP32[$pTabToDel>>2]|0; $346 = HEAP32[$pToplevel>>2]|0; - $347 = (($346) + 524|0); + $347 = ((($346)) + 524|0); HEAP32[$347>>2] = $345; } else { $348 = HEAP32[$pTabToDel>>2]|0; - $349 = (($348) + 40|0); + $349 = ((($348)) + 40|0); $350 = HEAP16[$349>>1]|0; $351 = (($350) + -1)<<16>>16; HEAP16[$349>>1] = $351; } $352 = HEAP32[$pSubitem>>2]|0; - $353 = (($352) + 16|0); + $353 = ((($352)) + 16|0); HEAP32[$353>>2] = 0; } $354 = HEAP32[$2>>2]|0; @@ -146779,28 +148272,28 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } HEAP8[$jointype>>0] = 0; $357 = HEAP32[$pSub>>2]|0; - $358 = (($357) + 32|0); + $358 = ((($357)) + 32|0); $359 = HEAP32[$358>>2]|0; HEAP32[$pSubSrc>>2] = $359; $360 = HEAP32[$pSubSrc>>2]|0; $361 = HEAP32[$360>>2]|0; HEAP32[$nSubSrc>>2] = $361; $362 = HEAP32[$pParent>>2]|0; - $363 = (($362) + 32|0); + $363 = ((($362)) + 32|0); $364 = HEAP32[$363>>2]|0; HEAP32[$pSrc>>2] = $364; $365 = HEAP32[$pSrc>>2]|0; $366 = ($365|0)!=(0|0); if ($366) { $367 = HEAP32[$pSubitem>>2]|0; - $368 = (($367) + 36|0); + $368 = ((($367)) + 36|0); $369 = HEAP8[$368>>0]|0; HEAP8[$jointype>>0] = $369; } else { $370 = HEAP32[$db>>2]|0; $371 = (_sqlite3SrcListAppend($370,0,0,0)|0); $372 = HEAP32[$pParent>>2]|0; - $373 = (($372) + 32|0); + $373 = ((($372)) + 32|0); HEAP32[$373>>2] = $371; HEAP32[$pSrc>>2] = $371; $374 = HEAP32[$pSrc>>2]|0; @@ -146821,10 +148314,10 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $384 = (_sqlite3SrcListEnlarge($378,$379,$381,$383)|0); HEAP32[$pSrc>>2] = $384; $385 = HEAP32[$pParent>>2]|0; - $386 = (($385) + 32|0); + $386 = ((($385)) + 32|0); HEAP32[$386>>2] = $384; $387 = HEAP32[$db>>2]|0; - $388 = (($387) + 64|0); + $388 = ((($387)) + 64|0); $389 = HEAP8[$388>>0]|0; $390 = ($389<<24>>24)!=(0); if ($390) { @@ -146844,27 +148337,27 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $396 = HEAP32[$3>>2]|0; $397 = (($395) + ($396))|0; $398 = HEAP32[$pSrc>>2]|0; - $399 = (($398) + 8|0); + $399 = ((($398)) + 8|0); $400 = (($399) + (($397*72)|0)|0); - $401 = (($400) + 48|0); + $401 = ((($400)) + 48|0); $402 = HEAP32[$401>>2]|0; _sqlite3IdListDelete($394,$402); $403 = HEAP32[$i>>2]|0; $404 = HEAP32[$3>>2]|0; $405 = (($403) + ($404))|0; $406 = HEAP32[$pSrc>>2]|0; - $407 = (($406) + 8|0); + $407 = ((($406)) + 8|0); $408 = (($407) + (($405*72)|0)|0); $409 = HEAP32[$i>>2]|0; $410 = HEAP32[$pSubSrc>>2]|0; - $411 = (($410) + 8|0); + $411 = ((($410)) + 8|0); $412 = (($411) + (($409*72)|0)|0); - dest=$408+0|0; src=$412+0|0; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$408; src=$412; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $413 = HEAP32[$i>>2]|0; $414 = HEAP32[$pSubSrc>>2]|0; - $415 = (($414) + 8|0); + $415 = ((($414)) + 8|0); $416 = (($415) + (($413*72)|0)|0); - dest=$416+0|0; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$416; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $417 = HEAP32[$i>>2]|0; $418 = (($417) + 1)|0; HEAP32[$i>>2] = $418; @@ -146872,9 +148365,9 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $419 = HEAP8[$jointype>>0]|0; $420 = HEAP32[$3>>2]|0; $421 = HEAP32[$pSrc>>2]|0; - $422 = (($421) + 8|0); + $422 = ((($421)) + 8|0); $423 = (($422) + (($420*72)|0)|0); - $424 = (($423) + 36|0); + $424 = ((($423)) + 36|0); HEAP8[$424>>0] = $419; $425 = HEAP32[$pParent>>2]|0; $426 = HEAP32[$425>>2]|0; @@ -146890,20 +148383,20 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } $431 = HEAP32[$i>>2]|0; $432 = HEAP32[$pList>>2]|0; - $433 = (($432) + 4|0); + $433 = ((($432)) + 4|0); $434 = HEAP32[$433>>2]|0; $435 = (($434) + (($431*20)|0)|0); - $436 = (($435) + 4|0); + $436 = ((($435)) + 4|0); $437 = HEAP32[$436>>2]|0; $438 = ($437|0)==(0|0); if ($438) { $439 = HEAP32[$db>>2]|0; $440 = HEAP32[$i>>2]|0; $441 = HEAP32[$pList>>2]|0; - $442 = (($441) + 4|0); + $442 = ((($441)) + 4|0); $443 = HEAP32[$442>>2]|0; $444 = (($443) + (($440*20)|0)|0); - $445 = (($444) + 8|0); + $445 = ((($444)) + 8|0); $446 = HEAP32[$445>>2]|0; $447 = (_sqlite3DbStrDup($439,$446)|0); HEAP32[$zName>>2] = $447; @@ -146912,10 +148405,10 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $449 = HEAP32[$zName>>2]|0; $450 = HEAP32[$i>>2]|0; $451 = HEAP32[$pList>>2]|0; - $452 = (($451) + 4|0); + $452 = ((($451)) + 4|0); $453 = HEAP32[$452>>2]|0; $454 = (($453) + (($450*20)|0)|0); - $455 = (($454) + 4|0); + $455 = ((($454)) + 4|0); HEAP32[$455>>2] = $449; } $456 = HEAP32[$i>>2]|0; @@ -146934,7 +148427,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { if ($465) { $466 = HEAP32[$db>>2]|0; $467 = HEAP32[$pParent>>2]|0; - $468 = (($467) + 40|0); + $468 = ((($467)) + 40|0); $469 = HEAP32[$468>>2]|0; $470 = HEAP32[$iParent>>2]|0; $471 = HEAP32[$pSub>>2]|0; @@ -146942,24 +148435,24 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { _substExprList($466,$469,$470,$472); $473 = HEAP32[$db>>2]|0; $474 = HEAP32[$pParent>>2]|0; - $475 = (($474) + 44|0); + $475 = ((($474)) + 44|0); $476 = HEAP32[$475>>2]|0; $477 = HEAP32[$iParent>>2]|0; $478 = HEAP32[$pSub>>2]|0; $479 = HEAP32[$478>>2]|0; $480 = (_substExpr($473,$476,$477,$479)|0); $481 = HEAP32[$pParent>>2]|0; - $482 = (($481) + 44|0); + $482 = ((($481)) + 44|0); HEAP32[$482>>2] = $480; } $483 = HEAP32[$pSub>>2]|0; - $484 = (($483) + 48|0); + $484 = ((($483)) + 48|0); $485 = HEAP32[$484>>2]|0; $486 = ($485|0)!=(0|0); do { if ($486) { $487 = HEAP32[$pSub>>2]|0; - $488 = (($487) + 48|0); + $488 = ((($487)) + 48|0); $489 = HEAP32[$488>>2]|0; HEAP32[$pOrderBy1>>2] = $489; HEAP32[$i>>2] = 0; @@ -146973,10 +148466,10 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } $494 = HEAP32[$i>>2]|0; $495 = HEAP32[$pOrderBy1>>2]|0; - $496 = (($495) + 4|0); + $496 = ((($495)) + 4|0); $497 = HEAP32[$496>>2]|0; $498 = (($497) + (($494*20)|0)|0); - $499 = (($498) + 16|0); + $499 = ((($498)) + 16|0); HEAP16[$499>>1] = 0; $500 = HEAP32[$i>>2]|0; $501 = (($500) + 1)|0; @@ -146984,14 +148477,14 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } $502 = HEAP32[$pOrderBy1>>2]|0; $503 = HEAP32[$pParent>>2]|0; - $504 = (($503) + 48|0); + $504 = ((($503)) + 48|0); HEAP32[$504>>2] = $502; $505 = HEAP32[$pSub>>2]|0; - $506 = (($505) + 48|0); + $506 = ((($505)) + 48|0); HEAP32[$506>>2] = 0; } else { $507 = HEAP32[$pParent>>2]|0; - $508 = (($507) + 48|0); + $508 = ((($507)) + 48|0); $509 = HEAP32[$508>>2]|0; $510 = ($509|0)!=(0|0); if (!($510)) { @@ -146999,7 +148492,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } $511 = HEAP32[$db>>2]|0; $512 = HEAP32[$pParent>>2]|0; - $513 = (($512) + 48|0); + $513 = ((($512)) + 48|0); $514 = HEAP32[$513>>2]|0; $515 = HEAP32[$iParent>>2]|0; $516 = HEAP32[$pSub>>2]|0; @@ -147008,13 +148501,13 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } while(0); $518 = HEAP32[$pSub>>2]|0; - $519 = (($518) + 36|0); + $519 = ((($518)) + 36|0); $520 = HEAP32[$519>>2]|0; $521 = ($520|0)!=(0|0); if ($521) { $522 = HEAP32[$db>>2]|0; $523 = HEAP32[$pSub>>2]|0; - $524 = (($523) + 36|0); + $524 = ((($523)) + 36|0); $525 = HEAP32[$524>>2]|0; $526 = (_sqlite3ExprDup($522,$525,0)|0); HEAP32[$pWhere>>2] = $526; @@ -147025,102 +148518,102 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $528 = ($527|0)!=(0); if ($528) { $529 = HEAP32[$pParent>>2]|0; - $530 = (($529) + 36|0); + $530 = ((($529)) + 36|0); $531 = HEAP32[$530>>2]|0; $532 = HEAP32[$pParent>>2]|0; - $533 = (($532) + 44|0); + $533 = ((($532)) + 44|0); HEAP32[$533>>2] = $531; $534 = HEAP32[$pWhere>>2]|0; $535 = HEAP32[$pParent>>2]|0; - $536 = (($535) + 36|0); + $536 = ((($535)) + 36|0); HEAP32[$536>>2] = $534; $537 = HEAP32[$db>>2]|0; $538 = HEAP32[$pParent>>2]|0; - $539 = (($538) + 44|0); + $539 = ((($538)) + 44|0); $540 = HEAP32[$539>>2]|0; $541 = HEAP32[$iParent>>2]|0; $542 = HEAP32[$pSub>>2]|0; $543 = HEAP32[$542>>2]|0; $544 = (_substExpr($537,$540,$541,$543)|0); $545 = HEAP32[$pParent>>2]|0; - $546 = (($545) + 44|0); + $546 = ((($545)) + 44|0); HEAP32[$546>>2] = $544; $547 = HEAP32[$db>>2]|0; $548 = HEAP32[$pParent>>2]|0; - $549 = (($548) + 44|0); + $549 = ((($548)) + 44|0); $550 = HEAP32[$549>>2]|0; $551 = HEAP32[$db>>2]|0; $552 = HEAP32[$pSub>>2]|0; - $553 = (($552) + 44|0); + $553 = ((($552)) + 44|0); $554 = HEAP32[$553>>2]|0; $555 = (_sqlite3ExprDup($551,$554,0)|0); $556 = (_sqlite3ExprAnd($547,$550,$555)|0); $557 = HEAP32[$pParent>>2]|0; - $558 = (($557) + 44|0); + $558 = ((($557)) + 44|0); HEAP32[$558>>2] = $556; $559 = HEAP32[$db>>2]|0; $560 = HEAP32[$pSub>>2]|0; - $561 = (($560) + 40|0); + $561 = ((($560)) + 40|0); $562 = HEAP32[$561>>2]|0; $563 = (_sqlite3ExprListDup($559,$562,0)|0); $564 = HEAP32[$pParent>>2]|0; - $565 = (($564) + 40|0); + $565 = ((($564)) + 40|0); HEAP32[$565>>2] = $563; } else { $566 = HEAP32[$db>>2]|0; $567 = HEAP32[$pParent>>2]|0; - $568 = (($567) + 36|0); + $568 = ((($567)) + 36|0); $569 = HEAP32[$568>>2]|0; $570 = HEAP32[$iParent>>2]|0; $571 = HEAP32[$pSub>>2]|0; $572 = HEAP32[$571>>2]|0; $573 = (_substExpr($566,$569,$570,$572)|0); $574 = HEAP32[$pParent>>2]|0; - $575 = (($574) + 36|0); + $575 = ((($574)) + 36|0); HEAP32[$575>>2] = $573; $576 = HEAP32[$db>>2]|0; $577 = HEAP32[$pParent>>2]|0; - $578 = (($577) + 36|0); + $578 = ((($577)) + 36|0); $579 = HEAP32[$578>>2]|0; $580 = HEAP32[$pWhere>>2]|0; $581 = (_sqlite3ExprAnd($576,$579,$580)|0); $582 = HEAP32[$pParent>>2]|0; - $583 = (($582) + 36|0); + $583 = ((($582)) + 36|0); HEAP32[$583>>2] = $581; } $584 = HEAP32[$pSub>>2]|0; - $585 = (($584) + 6|0); + $585 = ((($584)) + 6|0); $586 = HEAP16[$585>>1]|0; $587 = $586&65535; $588 = $587 & 1; $589 = HEAP32[$pParent>>2]|0; - $590 = (($589) + 6|0); + $590 = ((($589)) + 6|0); $591 = HEAP16[$590>>1]|0; $592 = $591&65535; $593 = $592 | $588; $594 = $593&65535; HEAP16[$590>>1] = $594; $595 = HEAP32[$pSub>>2]|0; - $596 = (($595) + 60|0); + $596 = ((($595)) + 60|0); $597 = HEAP32[$596>>2]|0; $598 = ($597|0)!=(0|0); if ($598) { $599 = HEAP32[$pSub>>2]|0; - $600 = (($599) + 60|0); + $600 = ((($599)) + 60|0); $601 = HEAP32[$600>>2]|0; $602 = HEAP32[$pParent>>2]|0; - $603 = (($602) + 60|0); + $603 = ((($602)) + 60|0); HEAP32[$603>>2] = $601; $604 = HEAP32[$pSub>>2]|0; - $605 = (($604) + 60|0); + $605 = ((($604)) + 60|0); HEAP32[$605>>2] = 0; } $606 = HEAP32[$pParent>>2]|0; - $607 = (($606) + 52|0); + $607 = ((($606)) + 52|0); $608 = HEAP32[$607>>2]|0; HEAP32[$pParent>>2] = $608; $609 = HEAP32[$pSub>>2]|0; - $610 = (($609) + 52|0); + $610 = ((($609)) + 52|0); $611 = HEAP32[$610>>2]|0; HEAP32[$pSub>>2] = $611; } @@ -147139,10 +148632,10 @@ function _sqlite3ClearTempRegCache($pParse) { $0 = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 19|0); + $2 = ((($1)) + 19|0); HEAP8[$2>>0] = 0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 56|0); + $4 = ((($3)) + 56|0); HEAP32[$4>>2] = 0; STACKTOP = sp;return; } @@ -147182,52 +148675,55 @@ function _multiSelect($pParse,$p,$pDest) { var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addr1 = 0, $addr7 = 0, $addr9 = 0, $apColl = 0, $db = 0, $dest = 0, $i = 0, $iBreak = 0, $iBreak3 = 0; var $iCont = 0, $iCont2 = 0, $iStart = 0, $iStart4 = 0, $iSub1 = 0, $iSub2 = 0, $intersectdest = 0, $nCol = 0, $nLimit = 0, $op = 0, $or$cond = 0, $pDelete = 0, $pFirst = 0, $pFirst8 = 0, $pKeyInfo = 0, $pLimit = 0, $pLimit5 = 0, $pLoop = 0, $pOffset = 0, $pOffset6 = 0; - var $pPrior = 0, $priorOp = 0, $r1 = 0, $rc = 0, $tab1 = 0, $tab2 = 0, $unionTab = 0, $uniondest = 0, $v = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + var $pPrior = 0, $priorOp = 0, $r1 = 0, $rc = 0, $tab1 = 0, $tab2 = 0, $unionTab = 0, $uniondest = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $vararg_buffer7 = sp; - $0 = sp + 212|0; - $1 = sp + 208|0; - $2 = sp + 204|0; - $3 = sp + 200|0; - $rc = sp + 196|0; - $pPrior = sp + 192|0; - $v = sp + 188|0; - $dest = sp + 168|0; - $pDelete = sp + 164|0; - $db = sp + 160|0; - $iSub1 = sp + 156|0; - $iSub2 = sp + 152|0; - $addr = sp + 148|0; - $nLimit = sp + 144|0; - $unionTab = sp + 140|0; - $op = sp + 216|0; - $priorOp = sp + 136|0; - $pLimit = sp + 132|0; - $pOffset = sp + 128|0; - $addr1 = sp + 124|0; + STACKTOP = STACKTOP + 256|0; + $vararg_buffer7 = sp + 8|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer2 = sp; + $vararg_buffer = sp + 16|0; + $0 = sp + 200|0; + $1 = sp + 36|0; + $2 = sp + 208|0; + $3 = sp + 84|0; + $rc = sp + 96|0; + $pPrior = sp + 76|0; + $v = sp + 72|0; + $dest = sp + 40|0; + $pDelete = sp + 60|0; + $db = sp + 64|0; + $iSub1 = sp + 68|0; + $iSub2 = sp + 164|0; + $addr = sp + 128|0; + $nLimit = sp + 92|0; + $unionTab = sp + 204|0; + $op = sp + 240|0; + $priorOp = sp + 220|0; + $pLimit = sp + 228|0; + $pOffset = sp + 232|0; + $addr1 = sp + 236|0; $uniondest = sp + 104|0; - $iCont = sp + 100|0; - $iBreak = sp + 96|0; - $iStart = sp + 92|0; - $pFirst = sp + 88|0; - $tab1 = sp + 84|0; - $tab2 = sp + 80|0; - $iCont2 = sp + 76|0; - $iBreak3 = sp + 72|0; - $iStart4 = sp + 68|0; - $pLimit5 = sp + 64|0; - $pOffset6 = sp + 60|0; - $addr7 = sp + 56|0; - $intersectdest = sp + 36|0; - $r1 = sp + 32|0; - $pFirst8 = sp + 28|0; - $i = sp + 24|0; - $pKeyInfo = sp + 20|0; - $pLoop = sp + 16|0; - $apColl = sp + 12|0; - $nCol = sp + 8|0; - $addr9 = sp + 4|0; + $iCont = sp + 124|0; + $iBreak = sp + 224|0; + $iStart = sp + 132|0; + $pFirst = sp + 136|0; + $tab1 = sp + 140|0; + $tab2 = sp + 144|0; + $iCont2 = sp + 160|0; + $iBreak3 = sp + 148|0; + $iStart4 = sp + 152|0; + $pLimit5 = sp + 156|0; + $pOffset6 = sp + 32|0; + $addr7 = sp + 80|0; + $intersectdest = sp + 180|0; + $r1 = sp + 88|0; + $pFirst8 = sp + 216|0; + $i = sp + 172|0; + $pKeyInfo = sp + 28|0; + $pLoop = sp + 176|0; + $apColl = sp + 168|0; + $nCol = sp + 100|0; + $addr9 = sp + 212|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $pDest; @@ -147239,40 +148735,40 @@ function _multiSelect($pParse,$p,$pDest) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 52|0); + $7 = ((($6)) + 52|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pPrior>>2] = $8; $9 = HEAP32[$3>>2]|0; - ;HEAP32[$dest+0>>2]=HEAP32[$9+0>>2]|0;HEAP32[$dest+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[$9+16>>2]|0; + ;HEAP32[$dest>>2]=HEAP32[$9>>2]|0;HEAP32[$dest+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[$9+16>>2]|0; $10 = HEAP32[$pPrior>>2]|0; - $11 = (($10) + 48|0); + $11 = ((($10)) + 48|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)!=(0|0); L1: do { if ($13) { $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = (_selectOpName($18)|0); - HEAP32[$vararg_buffer7>>2] = $19; - _sqlite3ErrorMsg($14,25048,$vararg_buffer7); + HEAP32[$vararg_buffer>>2] = $19; + _sqlite3ErrorMsg($14,27327,$vararg_buffer); HEAP32[$rc>>2] = 1; } else { $20 = HEAP32[$pPrior>>2]|0; - $21 = (($20) + 60|0); + $21 = ((($20)) + 60|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); $24 = HEAP32[$1>>2]|0; if ($23) { $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; $29 = (_selectOpName($28)|0); - HEAP32[$vararg_buffer7>>2] = $29; - _sqlite3ErrorMsg($24,25096,$vararg_buffer7); + HEAP32[$vararg_buffer2>>2] = $29; + _sqlite3ErrorMsg($24,27375,$vararg_buffer2); HEAP32[$rc>>2] = 1; break; } @@ -147283,7 +148779,7 @@ function _multiSelect($pParse,$p,$pDest) { $33 = ($32|0)==(12); if ($33) { $34 = HEAP32[$v>>2]|0; - $35 = (($dest) + 4|0); + $35 = ((($dest)) + 4|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$2>>2]|0; $38 = HEAP32[$37>>2]|0; @@ -147301,7 +148797,7 @@ function _multiSelect($pParse,$p,$pDest) { $46 = HEAP32[$45>>2]|0; $47 = ($43|0)!=($46|0); $48 = HEAP32[$2>>2]|0; - $49 = (($48) + 6|0); + $49 = ((($48)) + 6|0); $50 = HEAP16[$49>>1]|0; $51 = $50&65535; if ($47) { @@ -147309,29 +148805,29 @@ function _multiSelect($pParse,$p,$pDest) { $53 = ($52|0)!=(0); $54 = HEAP32[$1>>2]|0; if ($53) { - _sqlite3ErrorMsg($54,25144,$vararg_buffer7); + _sqlite3ErrorMsg($54,27420,$vararg_buffer5); } else { $55 = HEAP32[$2>>2]|0; - $56 = (($55) + 4|0); + $56 = ((($55)) + 4|0); $57 = HEAP8[$56>>0]|0; $58 = $57&255; $59 = (_selectOpName($58)|0); HEAP32[$vararg_buffer7>>2] = $59; - _sqlite3ErrorMsg($54,25192,$vararg_buffer7); + _sqlite3ErrorMsg($54,27466,$vararg_buffer7); } HEAP32[$rc>>2] = 1; break; } $60 = $51 & 2048; $61 = ($60|0)!=(0); - do { + L17: do { if ($61) { $62 = HEAP32[$1>>2]|0; $63 = HEAP32[$2>>2]|0; _generateWithRecursiveQuery($62,$63,$dest); } else { $64 = HEAP32[$2>>2]|0; - $65 = (($64) + 48|0); + $65 = ((($64)) + 48|0); $66 = HEAP32[$65>>2]|0; $67 = ($66|0)!=(0|0); if ($67) { @@ -147344,261 +148840,38 @@ function _multiSelect($pParse,$p,$pDest) { STACKTOP = sp;return ($609|0); } $72 = HEAP32[$2>>2]|0; - $73 = (($72) + 4|0); + $73 = ((($72)) + 4|0); $74 = HEAP8[$73>>0]|0; $75 = $74&255; - if ((($75|0) == 115) | (($75|0) == 117)) { - HEAP8[$op>>0] = 0; - HEAP32[$priorOp>>2] = 1; - $203 = HEAP8[$dest>>0]|0; - $204 = $203&255; - $205 = HEAP32[$priorOp>>2]|0; - $206 = ($204|0)==($205|0); - if ($206) { - $207 = (($dest) + 4|0); - $208 = HEAP32[$207>>2]|0; - HEAP32[$unionTab>>2] = $208; - } else { - $209 = HEAP32[$1>>2]|0; - $210 = (($209) + 68|0); - $211 = HEAP32[$210>>2]|0; - $212 = (($211) + 1)|0; - HEAP32[$210>>2] = $212; - HEAP32[$unionTab>>2] = $211; - $213 = HEAP32[$v>>2]|0; - $214 = HEAP32[$unionTab>>2]|0; - $215 = (_sqlite3VdbeAddOp2($213,57,$214,0)|0); - HEAP32[$addr1>>2] = $215; - $216 = HEAP32[$addr1>>2]|0; - $217 = HEAP32[$2>>2]|0; - $218 = (($217) + 16|0); - HEAP32[$218>>2] = $216; - $219 = HEAP32[$2>>2]|0; - $220 = (_findRightmost($219)|0); - $221 = (($220) + 6|0); - $222 = HEAP16[$221>>1]|0; - $223 = $222&65535; - $224 = $223 | 8; - $225 = $224&65535; - HEAP16[$221>>1] = $225; - } - $226 = HEAP32[$priorOp>>2]|0; - $227 = HEAP32[$unionTab>>2]|0; - _sqlite3SelectDestInit($uniondest,$226,$227); - $228 = HEAP32[$1>>2]|0; - $229 = (($228) + 468|0); - $230 = HEAP32[$229>>2]|0; - HEAP32[$iSub1>>2] = $230; - $231 = HEAP32[$1>>2]|0; - $232 = HEAP32[$pPrior>>2]|0; - $233 = (_sqlite3Select($231,$232,$uniondest)|0); - HEAP32[$rc>>2] = $233; - $234 = HEAP32[$rc>>2]|0; - $235 = ($234|0)!=(0); - if ($235) { - break L1; - } - $236 = HEAP32[$2>>2]|0; - $237 = (($236) + 4|0); - $238 = HEAP8[$237>>0]|0; - $239 = $238&255; - $240 = ($239|0)==(117); - if ($240) { - HEAP8[$op>>0] = 2; - } else { - HEAP8[$op>>0] = 1; - } - $241 = HEAP32[$2>>2]|0; - $242 = (($241) + 52|0); - HEAP32[$242>>2] = 0; - $243 = HEAP32[$2>>2]|0; - $244 = (($243) + 60|0); - $245 = HEAP32[$244>>2]|0; - HEAP32[$pLimit>>2] = $245; - $246 = HEAP32[$2>>2]|0; - $247 = (($246) + 60|0); - HEAP32[$247>>2] = 0; - $248 = HEAP32[$2>>2]|0; - $249 = (($248) + 64|0); - $250 = HEAP32[$249>>2]|0; - HEAP32[$pOffset>>2] = $250; - $251 = HEAP32[$2>>2]|0; - $252 = (($251) + 64|0); - HEAP32[$252>>2] = 0; - $253 = HEAP8[$op>>0]|0; - HEAP8[$uniondest>>0] = $253; - $254 = HEAP32[$1>>2]|0; - $255 = (($254) + 468|0); - $256 = HEAP32[$255>>2]|0; - HEAP32[$iSub2>>2] = $256; - $257 = HEAP32[$1>>2]|0; - $258 = HEAP32[$2>>2]|0; - $259 = (_sqlite3Select($257,$258,$uniondest)|0); - HEAP32[$rc>>2] = $259; - $260 = HEAP32[$db>>2]|0; - $261 = HEAP32[$2>>2]|0; - $262 = (($261) + 48|0); - $263 = HEAP32[$262>>2]|0; - _sqlite3ExprListDelete($260,$263); - $264 = HEAP32[$2>>2]|0; - $265 = (($264) + 52|0); - $266 = HEAP32[$265>>2]|0; - HEAP32[$pDelete>>2] = $266; - $267 = HEAP32[$pPrior>>2]|0; - $268 = HEAP32[$2>>2]|0; - $269 = (($268) + 52|0); - HEAP32[$269>>2] = $267; - $270 = HEAP32[$2>>2]|0; - $271 = (($270) + 48|0); - HEAP32[$271>>2] = 0; - $272 = HEAP32[$2>>2]|0; - $273 = (($272) + 4|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = ($275|0)==(115); - if ($276) { - $277 = HEAP32[$pPrior>>2]|0; - $278 = (($277) + 24|0); - $279 = $278; - $280 = $279; - $281 = HEAP32[$280>>2]|0; - $282 = (($279) + 4)|0; - $283 = $282; - $284 = HEAP32[$283>>2]|0; - $285 = HEAP32[$2>>2]|0; - $286 = (($285) + 24|0); - $287 = $286; - $288 = $287; - $289 = HEAP32[$288>>2]|0; - $290 = (($287) + 4)|0; - $291 = $290; - $292 = HEAP32[$291>>2]|0; - $293 = (_i64Add(($289|0),($292|0),($281|0),($284|0))|0); - $294 = tempRet0; - $295 = $286; - $296 = $295; - HEAP32[$296>>2] = $293; - $297 = (($295) + 4)|0; - $298 = $297; - HEAP32[$298>>2] = $294; - } - $299 = HEAP32[$db>>2]|0; - $300 = HEAP32[$2>>2]|0; - $301 = (($300) + 60|0); - $302 = HEAP32[$301>>2]|0; - _sqlite3ExprDelete($299,$302); - $303 = HEAP32[$pLimit>>2]|0; - $304 = HEAP32[$2>>2]|0; - $305 = (($304) + 60|0); - HEAP32[$305>>2] = $303; - $306 = HEAP32[$pOffset>>2]|0; - $307 = HEAP32[$2>>2]|0; - $308 = (($307) + 64|0); - HEAP32[$308>>2] = $306; - $309 = HEAP32[$2>>2]|0; - $310 = (($309) + 8|0); - HEAP32[$310>>2] = 0; - $311 = HEAP32[$2>>2]|0; - $312 = (($311) + 12|0); - HEAP32[$312>>2] = 0; - $313 = HEAP8[$dest>>0]|0; - $314 = $313&255; - $315 = HEAP32[$priorOp>>2]|0; - $316 = ($314|0)!=($315|0); - if (!($316)) { - break; - } - $317 = HEAP8[$dest>>0]|0; - $318 = $317&255; - $319 = ($318|0)==(9); - if ($319) { - $320 = HEAP32[$2>>2]|0; - HEAP32[$pFirst>>2] = $320; - while(1) { - $321 = HEAP32[$pFirst>>2]|0; - $322 = (($321) + 52|0); - $323 = HEAP32[$322>>2]|0; - $324 = ($323|0)!=(0|0); - if (!($324)) { - break; - } - $325 = HEAP32[$pFirst>>2]|0; - $326 = (($325) + 52|0); - $327 = HEAP32[$326>>2]|0; - HEAP32[$pFirst>>2] = $327; - } - $328 = HEAP32[$1>>2]|0; - $329 = HEAP32[$pFirst>>2]|0; - $330 = HEAP32[$329>>2]|0; - _generateColumnNames($328,0,$330); - } - $331 = HEAP32[$v>>2]|0; - $332 = (_sqlite3VdbeMakeLabel($331)|0); - HEAP32[$iBreak>>2] = $332; - $333 = HEAP32[$v>>2]|0; - $334 = (_sqlite3VdbeMakeLabel($333)|0); - HEAP32[$iCont>>2] = $334; - $335 = HEAP32[$1>>2]|0; - $336 = HEAP32[$2>>2]|0; - $337 = HEAP32[$iBreak>>2]|0; - _computeLimitRegisters($335,$336,$337); - $338 = HEAP32[$v>>2]|0; - $339 = HEAP32[$unionTab>>2]|0; - $340 = HEAP32[$iBreak>>2]|0; - (_sqlite3VdbeAddOp2($338,108,$339,$340)|0); - $341 = HEAP32[$v>>2]|0; - $342 = (_sqlite3VdbeCurrentAddr($341)|0); - HEAP32[$iStart>>2] = $342; - $343 = HEAP32[$1>>2]|0; - $344 = HEAP32[$2>>2]|0; - $345 = HEAP32[$2>>2]|0; - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$unionTab>>2]|0; - $348 = HEAP32[$iCont>>2]|0; - $349 = HEAP32[$iBreak>>2]|0; - _selectInnerLoop($343,$344,$346,$347,0,0,$dest,$348,$349); - $350 = HEAP32[$v>>2]|0; - $351 = HEAP32[$iCont>>2]|0; - _sqlite3VdbeResolveLabel($350,$351); - $352 = HEAP32[$v>>2]|0; - $353 = HEAP32[$unionTab>>2]|0; - $354 = HEAP32[$iStart>>2]|0; - (_sqlite3VdbeAddOp2($352,9,$353,$354)|0); - $355 = HEAP32[$v>>2]|0; - $356 = HEAP32[$iBreak>>2]|0; - _sqlite3VdbeResolveLabel($355,$356); - $357 = HEAP32[$v>>2]|0; - $358 = HEAP32[$unionTab>>2]|0; - (_sqlite3VdbeAddOp2($357,61,$358,0)|0); - break; - } else if ((($75|0) == 116)) { + switch ($75|0) { + case 116: { HEAP32[$addr>>2] = 0; $76 = HEAP32[$2>>2]|0; - $77 = (($76) + 8|0); + $77 = ((($76)) + 8|0); $78 = HEAP32[$77>>2]|0; $79 = HEAP32[$pPrior>>2]|0; - $80 = (($79) + 8|0); + $80 = ((($79)) + 8|0); HEAP32[$80>>2] = $78; $81 = HEAP32[$2>>2]|0; - $82 = (($81) + 12|0); + $82 = ((($81)) + 12|0); $83 = HEAP32[$82>>2]|0; $84 = HEAP32[$pPrior>>2]|0; - $85 = (($84) + 12|0); + $85 = ((($84)) + 12|0); HEAP32[$85>>2] = $83; $86 = HEAP32[$2>>2]|0; - $87 = (($86) + 60|0); + $87 = ((($86)) + 60|0); $88 = HEAP32[$87>>2]|0; $89 = HEAP32[$pPrior>>2]|0; - $90 = (($89) + 60|0); + $90 = ((($89)) + 60|0); HEAP32[$90>>2] = $88; $91 = HEAP32[$2>>2]|0; - $92 = (($91) + 64|0); + $92 = ((($91)) + 64|0); $93 = HEAP32[$92>>2]|0; $94 = HEAP32[$pPrior>>2]|0; - $95 = (($94) + 64|0); + $95 = ((($94)) + 64|0); HEAP32[$95>>2] = $93; $96 = HEAP32[$1>>2]|0; - $97 = (($96) + 468|0); + $97 = ((($96)) + 468|0); $98 = HEAP32[$97>>2]|0; HEAP32[$iSub1>>2] = $98; $99 = HEAP32[$1>>2]|0; @@ -147606,10 +148879,10 @@ function _multiSelect($pParse,$p,$pDest) { $101 = (_sqlite3Select($99,$100,$dest)|0); HEAP32[$rc>>2] = $101; $102 = HEAP32[$2>>2]|0; - $103 = (($102) + 60|0); + $103 = ((($102)) + 60|0); HEAP32[$103>>2] = 0; $104 = HEAP32[$2>>2]|0; - $105 = (($104) + 64|0); + $105 = ((($104)) + 64|0); HEAP32[$105>>2] = 0; $106 = HEAP32[$rc>>2]|0; $107 = ($106|0)!=(0); @@ -147617,34 +148890,34 @@ function _multiSelect($pParse,$p,$pDest) { break L1; } $108 = HEAP32[$2>>2]|0; - $109 = (($108) + 52|0); + $109 = ((($108)) + 52|0); HEAP32[$109>>2] = 0; $110 = HEAP32[$pPrior>>2]|0; - $111 = (($110) + 8|0); + $111 = ((($110)) + 8|0); $112 = HEAP32[$111>>2]|0; $113 = HEAP32[$2>>2]|0; - $114 = (($113) + 8|0); + $114 = ((($113)) + 8|0); HEAP32[$114>>2] = $112; $115 = HEAP32[$pPrior>>2]|0; - $116 = (($115) + 12|0); + $116 = ((($115)) + 12|0); $117 = HEAP32[$116>>2]|0; $118 = HEAP32[$2>>2]|0; - $119 = (($118) + 12|0); + $119 = ((($118)) + 12|0); HEAP32[$119>>2] = $117; $120 = HEAP32[$2>>2]|0; - $121 = (($120) + 8|0); + $121 = ((($120)) + 8|0); $122 = HEAP32[$121>>2]|0; $123 = ($122|0)!=(0); if ($123) { $124 = HEAP32[$v>>2]|0; $125 = HEAP32[$2>>2]|0; - $126 = (($125) + 8|0); + $126 = ((($125)) + 8|0); $127 = HEAP32[$126>>2]|0; $128 = (_sqlite3VdbeAddOp1($124,139,$127)|0); HEAP32[$addr>>2] = $128; } $129 = HEAP32[$1>>2]|0; - $130 = (($129) + 468|0); + $130 = ((($129)) + 468|0); $131 = HEAP32[$130>>2]|0; HEAP32[$iSub2>>2] = $131; $132 = HEAP32[$1>>2]|0; @@ -147652,15 +148925,15 @@ function _multiSelect($pParse,$p,$pDest) { $134 = (_sqlite3Select($132,$133,$dest)|0); HEAP32[$rc>>2] = $134; $135 = HEAP32[$2>>2]|0; - $136 = (($135) + 52|0); + $136 = ((($135)) + 52|0); $137 = HEAP32[$136>>2]|0; HEAP32[$pDelete>>2] = $137; $138 = HEAP32[$pPrior>>2]|0; $139 = HEAP32[$2>>2]|0; - $140 = (($139) + 52|0); + $140 = ((($139)) + 52|0); HEAP32[$140>>2] = $138; $141 = HEAP32[$pPrior>>2]|0; - $142 = (($141) + 24|0); + $142 = ((($141)) + 24|0); $143 = $142; $144 = $143; $145 = HEAP32[$144>>2]|0; @@ -147668,7 +148941,7 @@ function _multiSelect($pParse,$p,$pDest) { $147 = $146; $148 = HEAP32[$147>>2]|0; $149 = HEAP32[$2>>2]|0; - $150 = (($149) + 24|0); + $150 = ((($149)) + 24|0); $151 = $150; $152 = $151; $153 = HEAP32[$152>>2]|0; @@ -147684,12 +148957,12 @@ function _multiSelect($pParse,$p,$pDest) { $162 = $161; HEAP32[$162>>2] = $158; $163 = HEAP32[$pPrior>>2]|0; - $164 = (($163) + 60|0); + $164 = ((($163)) + 60|0); $165 = HEAP32[$164>>2]|0; $166 = ($165|0)!=(0|0); if ($166) { $167 = HEAP32[$pPrior>>2]|0; - $168 = (($167) + 60|0); + $168 = ((($167)) + 60|0); $169 = HEAP32[$168>>2]|0; $170 = (_sqlite3ExprIsInteger($169,$nLimit)|0); $171 = ($170|0)!=(0); @@ -147698,7 +148971,7 @@ function _multiSelect($pParse,$p,$pDest) { $or$cond = $171 & $173; if ($or$cond) { $174 = HEAP32[$2>>2]|0; - $175 = (($174) + 24|0); + $175 = ((($174)) + 24|0); $176 = $175; $177 = $176; $178 = HEAP32[$177>>2]|0; @@ -147718,7 +148991,7 @@ function _multiSelect($pParse,$p,$pDest) { $191 = ($190|0)<(0); $192 = $191 << 31 >> 31; $193 = HEAP32[$2>>2]|0; - $194 = (($193) + 24|0); + $194 = ((($193)) + 24|0); $195 = $194; $196 = $195; HEAP32[$196>>2] = $190; @@ -147731,21 +149004,249 @@ function _multiSelect($pParse,$p,$pDest) { $199 = HEAP32[$addr>>2]|0; $200 = ($199|0)!=(0); if (!($200)) { - break; + break L17; } $201 = HEAP32[$v>>2]|0; $202 = HEAP32[$addr>>2]|0; _sqlite3VdbeJumpHere($201,$202); + break L17; break; - } else { + } + case 115: case 117: { + HEAP8[$op>>0] = 0; + HEAP32[$priorOp>>2] = 1; + $203 = HEAP8[$dest>>0]|0; + $204 = $203&255; + $205 = HEAP32[$priorOp>>2]|0; + $206 = ($204|0)==($205|0); + if ($206) { + $207 = ((($dest)) + 4|0); + $208 = HEAP32[$207>>2]|0; + HEAP32[$unionTab>>2] = $208; + } else { + $209 = HEAP32[$1>>2]|0; + $210 = ((($209)) + 68|0); + $211 = HEAP32[$210>>2]|0; + $212 = (($211) + 1)|0; + HEAP32[$210>>2] = $212; + HEAP32[$unionTab>>2] = $211; + $213 = HEAP32[$v>>2]|0; + $214 = HEAP32[$unionTab>>2]|0; + $215 = (_sqlite3VdbeAddOp2($213,57,$214,0)|0); + HEAP32[$addr1>>2] = $215; + $216 = HEAP32[$addr1>>2]|0; + $217 = HEAP32[$2>>2]|0; + $218 = ((($217)) + 16|0); + HEAP32[$218>>2] = $216; + $219 = HEAP32[$2>>2]|0; + $220 = (_findRightmost($219)|0); + $221 = ((($220)) + 6|0); + $222 = HEAP16[$221>>1]|0; + $223 = $222&65535; + $224 = $223 | 8; + $225 = $224&65535; + HEAP16[$221>>1] = $225; + } + $226 = HEAP32[$priorOp>>2]|0; + $227 = HEAP32[$unionTab>>2]|0; + _sqlite3SelectDestInit($uniondest,$226,$227); + $228 = HEAP32[$1>>2]|0; + $229 = ((($228)) + 468|0); + $230 = HEAP32[$229>>2]|0; + HEAP32[$iSub1>>2] = $230; + $231 = HEAP32[$1>>2]|0; + $232 = HEAP32[$pPrior>>2]|0; + $233 = (_sqlite3Select($231,$232,$uniondest)|0); + HEAP32[$rc>>2] = $233; + $234 = HEAP32[$rc>>2]|0; + $235 = ($234|0)!=(0); + if ($235) { + break L1; + } + $236 = HEAP32[$2>>2]|0; + $237 = ((($236)) + 4|0); + $238 = HEAP8[$237>>0]|0; + $239 = $238&255; + $240 = ($239|0)==(117); + if ($240) { + HEAP8[$op>>0] = 2; + } else { + HEAP8[$op>>0] = 1; + } + $241 = HEAP32[$2>>2]|0; + $242 = ((($241)) + 52|0); + HEAP32[$242>>2] = 0; + $243 = HEAP32[$2>>2]|0; + $244 = ((($243)) + 60|0); + $245 = HEAP32[$244>>2]|0; + HEAP32[$pLimit>>2] = $245; + $246 = HEAP32[$2>>2]|0; + $247 = ((($246)) + 60|0); + HEAP32[$247>>2] = 0; + $248 = HEAP32[$2>>2]|0; + $249 = ((($248)) + 64|0); + $250 = HEAP32[$249>>2]|0; + HEAP32[$pOffset>>2] = $250; + $251 = HEAP32[$2>>2]|0; + $252 = ((($251)) + 64|0); + HEAP32[$252>>2] = 0; + $253 = HEAP8[$op>>0]|0; + HEAP8[$uniondest>>0] = $253; + $254 = HEAP32[$1>>2]|0; + $255 = ((($254)) + 468|0); + $256 = HEAP32[$255>>2]|0; + HEAP32[$iSub2>>2] = $256; + $257 = HEAP32[$1>>2]|0; + $258 = HEAP32[$2>>2]|0; + $259 = (_sqlite3Select($257,$258,$uniondest)|0); + HEAP32[$rc>>2] = $259; + $260 = HEAP32[$db>>2]|0; + $261 = HEAP32[$2>>2]|0; + $262 = ((($261)) + 48|0); + $263 = HEAP32[$262>>2]|0; + _sqlite3ExprListDelete($260,$263); + $264 = HEAP32[$2>>2]|0; + $265 = ((($264)) + 52|0); + $266 = HEAP32[$265>>2]|0; + HEAP32[$pDelete>>2] = $266; + $267 = HEAP32[$pPrior>>2]|0; + $268 = HEAP32[$2>>2]|0; + $269 = ((($268)) + 52|0); + HEAP32[$269>>2] = $267; + $270 = HEAP32[$2>>2]|0; + $271 = ((($270)) + 48|0); + HEAP32[$271>>2] = 0; + $272 = HEAP32[$2>>2]|0; + $273 = ((($272)) + 4|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = ($275|0)==(115); + if ($276) { + $277 = HEAP32[$pPrior>>2]|0; + $278 = ((($277)) + 24|0); + $279 = $278; + $280 = $279; + $281 = HEAP32[$280>>2]|0; + $282 = (($279) + 4)|0; + $283 = $282; + $284 = HEAP32[$283>>2]|0; + $285 = HEAP32[$2>>2]|0; + $286 = ((($285)) + 24|0); + $287 = $286; + $288 = $287; + $289 = HEAP32[$288>>2]|0; + $290 = (($287) + 4)|0; + $291 = $290; + $292 = HEAP32[$291>>2]|0; + $293 = (_i64Add(($289|0),($292|0),($281|0),($284|0))|0); + $294 = tempRet0; + $295 = $286; + $296 = $295; + HEAP32[$296>>2] = $293; + $297 = (($295) + 4)|0; + $298 = $297; + HEAP32[$298>>2] = $294; + } + $299 = HEAP32[$db>>2]|0; + $300 = HEAP32[$2>>2]|0; + $301 = ((($300)) + 60|0); + $302 = HEAP32[$301>>2]|0; + _sqlite3ExprDelete($299,$302); + $303 = HEAP32[$pLimit>>2]|0; + $304 = HEAP32[$2>>2]|0; + $305 = ((($304)) + 60|0); + HEAP32[$305>>2] = $303; + $306 = HEAP32[$pOffset>>2]|0; + $307 = HEAP32[$2>>2]|0; + $308 = ((($307)) + 64|0); + HEAP32[$308>>2] = $306; + $309 = HEAP32[$2>>2]|0; + $310 = ((($309)) + 8|0); + HEAP32[$310>>2] = 0; + $311 = HEAP32[$2>>2]|0; + $312 = ((($311)) + 12|0); + HEAP32[$312>>2] = 0; + $313 = HEAP8[$dest>>0]|0; + $314 = $313&255; + $315 = HEAP32[$priorOp>>2]|0; + $316 = ($314|0)!=($315|0); + if (!($316)) { + break L17; + } + $317 = HEAP8[$dest>>0]|0; + $318 = $317&255; + $319 = ($318|0)==(9); + if ($319) { + $320 = HEAP32[$2>>2]|0; + HEAP32[$pFirst>>2] = $320; + while(1) { + $321 = HEAP32[$pFirst>>2]|0; + $322 = ((($321)) + 52|0); + $323 = HEAP32[$322>>2]|0; + $324 = ($323|0)!=(0|0); + if (!($324)) { + break; + } + $325 = HEAP32[$pFirst>>2]|0; + $326 = ((($325)) + 52|0); + $327 = HEAP32[$326>>2]|0; + HEAP32[$pFirst>>2] = $327; + } + $328 = HEAP32[$1>>2]|0; + $329 = HEAP32[$pFirst>>2]|0; + $330 = HEAP32[$329>>2]|0; + _generateColumnNames($328,0,$330); + } + $331 = HEAP32[$v>>2]|0; + $332 = (_sqlite3VdbeMakeLabel($331)|0); + HEAP32[$iBreak>>2] = $332; + $333 = HEAP32[$v>>2]|0; + $334 = (_sqlite3VdbeMakeLabel($333)|0); + HEAP32[$iCont>>2] = $334; + $335 = HEAP32[$1>>2]|0; + $336 = HEAP32[$2>>2]|0; + $337 = HEAP32[$iBreak>>2]|0; + _computeLimitRegisters($335,$336,$337); + $338 = HEAP32[$v>>2]|0; + $339 = HEAP32[$unionTab>>2]|0; + $340 = HEAP32[$iBreak>>2]|0; + (_sqlite3VdbeAddOp2($338,108,$339,$340)|0); + $341 = HEAP32[$v>>2]|0; + $342 = (_sqlite3VdbeCurrentAddr($341)|0); + HEAP32[$iStart>>2] = $342; + $343 = HEAP32[$1>>2]|0; + $344 = HEAP32[$2>>2]|0; + $345 = HEAP32[$2>>2]|0; + $346 = HEAP32[$345>>2]|0; + $347 = HEAP32[$unionTab>>2]|0; + $348 = HEAP32[$iCont>>2]|0; + $349 = HEAP32[$iBreak>>2]|0; + _selectInnerLoop($343,$344,$346,$347,0,0,$dest,$348,$349); + $350 = HEAP32[$v>>2]|0; + $351 = HEAP32[$iCont>>2]|0; + _sqlite3VdbeResolveLabel($350,$351); + $352 = HEAP32[$v>>2]|0; + $353 = HEAP32[$unionTab>>2]|0; + $354 = HEAP32[$iStart>>2]|0; + (_sqlite3VdbeAddOp2($352,9,$353,$354)|0); + $355 = HEAP32[$v>>2]|0; + $356 = HEAP32[$iBreak>>2]|0; + _sqlite3VdbeResolveLabel($355,$356); + $357 = HEAP32[$v>>2]|0; + $358 = HEAP32[$unionTab>>2]|0; + (_sqlite3VdbeAddOp2($357,61,$358,0)|0); + break L17; + break; + } + default: { $359 = HEAP32[$1>>2]|0; - $360 = (($359) + 68|0); + $360 = ((($359)) + 68|0); $361 = HEAP32[$360>>2]|0; $362 = (($361) + 1)|0; HEAP32[$360>>2] = $362; HEAP32[$tab1>>2] = $361; $363 = HEAP32[$1>>2]|0; - $364 = (($363) + 68|0); + $364 = ((($363)) + 68|0); $365 = HEAP32[$364>>2]|0; $366 = (($365) + 1)|0; HEAP32[$364>>2] = $366; @@ -147756,11 +149257,11 @@ function _multiSelect($pParse,$p,$pDest) { HEAP32[$addr7>>2] = $369; $370 = HEAP32[$addr7>>2]|0; $371 = HEAP32[$2>>2]|0; - $372 = (($371) + 16|0); + $372 = ((($371)) + 16|0); HEAP32[$372>>2] = $370; $373 = HEAP32[$2>>2]|0; $374 = (_findRightmost($373)|0); - $375 = (($374) + 6|0); + $375 = ((($374)) + 6|0); $376 = HEAP16[$375>>1]|0; $377 = $376&65535; $378 = $377 | 8; @@ -147769,7 +149270,7 @@ function _multiSelect($pParse,$p,$pDest) { $380 = HEAP32[$tab1>>2]|0; _sqlite3SelectDestInit($intersectdest,1,$380); $381 = HEAP32[$1>>2]|0; - $382 = (($381) + 468|0); + $382 = ((($381)) + 468|0); $383 = HEAP32[$382>>2]|0; HEAP32[$iSub1>>2] = $383; $384 = HEAP32[$1>>2]|0; @@ -147787,31 +149288,31 @@ function _multiSelect($pParse,$p,$pDest) { HEAP32[$addr7>>2] = $391; $392 = HEAP32[$addr7>>2]|0; $393 = HEAP32[$2>>2]|0; - $394 = (($393) + 16|0); - $395 = (($394) + 4|0); + $394 = ((($393)) + 16|0); + $395 = ((($394)) + 4|0); HEAP32[$395>>2] = $392; $396 = HEAP32[$2>>2]|0; - $397 = (($396) + 52|0); + $397 = ((($396)) + 52|0); HEAP32[$397>>2] = 0; $398 = HEAP32[$2>>2]|0; - $399 = (($398) + 60|0); + $399 = ((($398)) + 60|0); $400 = HEAP32[$399>>2]|0; HEAP32[$pLimit5>>2] = $400; $401 = HEAP32[$2>>2]|0; - $402 = (($401) + 60|0); + $402 = ((($401)) + 60|0); HEAP32[$402>>2] = 0; $403 = HEAP32[$2>>2]|0; - $404 = (($403) + 64|0); + $404 = ((($403)) + 64|0); $405 = HEAP32[$404>>2]|0; HEAP32[$pOffset6>>2] = $405; $406 = HEAP32[$2>>2]|0; - $407 = (($406) + 64|0); + $407 = ((($406)) + 64|0); HEAP32[$407>>2] = 0; $408 = HEAP32[$tab2>>2]|0; - $409 = (($intersectdest) + 4|0); + $409 = ((($intersectdest)) + 4|0); HEAP32[$409>>2] = $408; $410 = HEAP32[$1>>2]|0; - $411 = (($410) + 468|0); + $411 = ((($410)) + 468|0); $412 = HEAP32[$411>>2]|0; HEAP32[$iSub2>>2] = $412; $413 = HEAP32[$1>>2]|0; @@ -147819,15 +149320,15 @@ function _multiSelect($pParse,$p,$pDest) { $415 = (_sqlite3Select($413,$414,$intersectdest)|0); HEAP32[$rc>>2] = $415; $416 = HEAP32[$2>>2]|0; - $417 = (($416) + 52|0); + $417 = ((($416)) + 52|0); $418 = HEAP32[$417>>2]|0; HEAP32[$pDelete>>2] = $418; $419 = HEAP32[$pPrior>>2]|0; $420 = HEAP32[$2>>2]|0; - $421 = (($420) + 52|0); + $421 = ((($420)) + 52|0); HEAP32[$421>>2] = $419; $422 = HEAP32[$2>>2]|0; - $423 = (($422) + 24|0); + $423 = ((($422)) + 24|0); $424 = $423; $425 = $424; $426 = HEAP32[$425>>2]|0; @@ -147835,7 +149336,7 @@ function _multiSelect($pParse,$p,$pDest) { $428 = $427; $429 = HEAP32[$428>>2]|0; $430 = HEAP32[$pPrior>>2]|0; - $431 = (($430) + 24|0); + $431 = ((($430)) + 24|0); $432 = $431; $433 = $432; $434 = HEAP32[$433>>2]|0; @@ -147849,7 +149350,7 @@ function _multiSelect($pParse,$p,$pDest) { $442 = $438 | $441; if ($442) { $443 = HEAP32[$pPrior>>2]|0; - $444 = (($443) + 24|0); + $444 = ((($443)) + 24|0); $445 = $444; $446 = $445; $447 = HEAP32[$446>>2]|0; @@ -147857,7 +149358,7 @@ function _multiSelect($pParse,$p,$pDest) { $449 = $448; $450 = HEAP32[$449>>2]|0; $451 = HEAP32[$2>>2]|0; - $452 = (($451) + 24|0); + $452 = ((($451)) + 24|0); $453 = $452; $454 = $453; HEAP32[$454>>2] = $447; @@ -147867,16 +149368,16 @@ function _multiSelect($pParse,$p,$pDest) { } $457 = HEAP32[$db>>2]|0; $458 = HEAP32[$2>>2]|0; - $459 = (($458) + 60|0); + $459 = ((($458)) + 60|0); $460 = HEAP32[$459>>2]|0; _sqlite3ExprDelete($457,$460); $461 = HEAP32[$pLimit5>>2]|0; $462 = HEAP32[$2>>2]|0; - $463 = (($462) + 60|0); + $463 = ((($462)) + 60|0); HEAP32[$463>>2] = $461; $464 = HEAP32[$pOffset6>>2]|0; $465 = HEAP32[$2>>2]|0; - $466 = (($465) + 64|0); + $466 = ((($465)) + 64|0); HEAP32[$466>>2] = $464; $467 = HEAP8[$dest>>0]|0; $468 = $467&255; @@ -147886,14 +149387,14 @@ function _multiSelect($pParse,$p,$pDest) { HEAP32[$pFirst8>>2] = $470; while(1) { $471 = HEAP32[$pFirst8>>2]|0; - $472 = (($471) + 52|0); + $472 = ((($471)) + 52|0); $473 = HEAP32[$472>>2]|0; $474 = ($473|0)!=(0|0); if (!($474)) { break; } $475 = HEAP32[$pFirst8>>2]|0; - $476 = (($475) + 52|0); + $476 = ((($475)) + 52|0); $477 = HEAP32[$476>>2]|0; HEAP32[$pFirst8>>2] = $477; } @@ -147956,26 +149457,27 @@ function _multiSelect($pParse,$p,$pDest) { $519 = HEAP32[$v>>2]|0; $520 = HEAP32[$tab1>>2]|0; (_sqlite3VdbeAddOp2($519,61,$520,0)|0); - break; + break L17; + } } } } while(0); $521 = HEAP32[$1>>2]|0; $522 = HEAP32[$2>>2]|0; - $523 = (($522) + 4|0); + $523 = ((($522)) + 4|0); $524 = HEAP8[$523>>0]|0; $525 = $524&255; $526 = HEAP32[$iSub1>>2]|0; $527 = HEAP32[$iSub2>>2]|0; $528 = HEAP32[$2>>2]|0; - $529 = (($528) + 4|0); + $529 = ((($528)) + 4|0); $530 = HEAP8[$529>>0]|0; $531 = $530&255; $532 = ($531|0)!=(116); $533 = $532&1; _explainComposite($521,$525,$526,$527,$533); $534 = HEAP32[$2>>2]|0; - $535 = (($534) + 6|0); + $535 = ((($534)) + 6|0); $536 = HEAP16[$535>>1]|0; $537 = $536&65535; $538 = $537 & 8; @@ -147997,7 +149499,7 @@ function _multiSelect($pParse,$p,$pDest) { } HEAP32[$i>>2] = 0; $548 = HEAP32[$pKeyInfo>>2]|0; - $549 = (($548) + 20|0); + $549 = ((($548)) + 20|0); HEAP32[$apColl>>2] = $549; while(1) { $550 = HEAP32[$i>>2]|0; @@ -148017,7 +149519,7 @@ function _multiSelect($pParse,$p,$pDest) { $560 = (0|0)==($559|0); if ($560) { $561 = HEAP32[$db>>2]|0; - $562 = (($561) + 8|0); + $562 = ((($561)) + 8|0); $563 = HEAP32[$562>>2]|0; $564 = HEAP32[$apColl>>2]|0; HEAP32[$564>>2] = $563; @@ -148026,7 +149528,7 @@ function _multiSelect($pParse,$p,$pDest) { $566 = (($565) + 1)|0; HEAP32[$i>>2] = $566; $567 = HEAP32[$apColl>>2]|0; - $568 = (($567) + 4|0); + $568 = ((($567)) + 4|0); HEAP32[$apColl>>2] = $568; } $569 = HEAP32[$2>>2]|0; @@ -148046,7 +149548,7 @@ function _multiSelect($pParse,$p,$pDest) { } $574 = HEAP32[$i>>2]|0; $575 = HEAP32[$pLoop>>2]|0; - $576 = (($575) + 16|0); + $576 = ((($575)) + 16|0); $577 = (($576) + ($574<<2)|0); $578 = HEAP32[$577>>2]|0; HEAP32[$addr9>>2] = $578; @@ -148066,7 +149568,7 @@ function _multiSelect($pParse,$p,$pDest) { _sqlite3VdbeChangeP4($584,$585,$587,-6); $588 = HEAP32[$i>>2]|0; $589 = HEAP32[$pLoop>>2]|0; - $590 = (($589) + 16|0); + $590 = ((($589)) + 16|0); $591 = (($590) + ($588<<2)|0); HEAP32[$591>>2] = -1; $592 = HEAP32[$i>>2]|0; @@ -148074,7 +149576,7 @@ function _multiSelect($pParse,$p,$pDest) { HEAP32[$i>>2] = $593; } $594 = HEAP32[$pLoop>>2]|0; - $595 = (($594) + 52|0); + $595 = ((($594)) + 52|0); $596 = HEAP32[$595>>2]|0; HEAP32[$pLoop>>2] = $596; } @@ -148083,15 +149585,15 @@ function _multiSelect($pParse,$p,$pDest) { } } } while(0); - $598 = (($dest) + 8|0); + $598 = ((($dest)) + 8|0); $599 = HEAP32[$598>>2]|0; $600 = HEAP32[$3>>2]|0; - $601 = (($600) + 8|0); + $601 = ((($600)) + 8|0); HEAP32[$601>>2] = $599; - $602 = (($dest) + 12|0); + $602 = ((($dest)) + 12|0); $603 = HEAP32[$602>>2]|0; $604 = HEAP32[$3>>2]|0; - $605 = (($604) + 12|0); + $605 = ((($604)) + 12|0); HEAP32[$605>>2] = $603; $606 = HEAP32[$db>>2]|0; $607 = HEAP32[$pDelete>>2]|0; @@ -148112,16 +149614,16 @@ function _keyInfoFromExprList($pParse,$pList,$iStart,$nExtra) { var $pColl = 0, $pInfo = 0, $pItem = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $nExpr = sp + 20|0; - $pInfo = sp + 16|0; + $3 = sp + 4|0; + $nExpr = sp + 32|0; + $pInfo = sp + 36|0; $pItem = sp + 12|0; - $db = sp + 8|0; - $i = sp + 4|0; - $pColl = sp; + $db = sp + 24|0; + $i = sp + 20|0; + $pColl = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pList; HEAP32[$2>>2] = $iStart; @@ -148149,7 +149651,7 @@ function _keyInfoFromExprList($pParse,$pList,$iStart,$nExtra) { $17 = HEAP32[$2>>2]|0; HEAP32[$i>>2] = $17; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$2>>2]|0; $22 = (($20) + (($21*20)|0)|0); @@ -148170,7 +149672,7 @@ function _keyInfoFromExprList($pParse,$pList,$iStart,$nExtra) { $31 = ($30|0)!=(0|0); if (!($31)) { $32 = HEAP32[$db>>2]|0; - $33 = (($32) + 8|0); + $33 = ((($32)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[$pColl>>2] = $34; } @@ -148179,17 +149681,17 @@ function _keyInfoFromExprList($pParse,$pList,$iStart,$nExtra) { $37 = HEAP32[$2>>2]|0; $38 = (($36) - ($37))|0; $39 = HEAP32[$pInfo>>2]|0; - $40 = (($39) + 20|0); + $40 = ((($39)) + 20|0); $41 = (($40) + ($38<<2)|0); HEAP32[$41>>2] = $35; $42 = HEAP32[$pItem>>2]|0; - $43 = (($42) + 12|0); + $43 = ((($42)) + 12|0); $44 = HEAP8[$43>>0]|0; $45 = HEAP32[$i>>2]|0; $46 = HEAP32[$2>>2]|0; $47 = (($45) - ($46))|0; $48 = HEAP32[$pInfo>>2]|0; - $49 = (($48) + 16|0); + $49 = ((($48)) + 16|0); $50 = HEAP32[$49>>2]|0; $51 = (($50) + ($47)|0); HEAP8[$51>>0] = $44; @@ -148197,7 +149699,7 @@ function _keyInfoFromExprList($pParse,$pList,$iStart,$nExtra) { $53 = (($52) + 1)|0; HEAP32[$i>>2] = $53; $54 = HEAP32[$pItem>>2]|0; - $55 = (($54) + 20|0); + $55 = ((($54)) + 20|0); HEAP32[$pItem>>2] = $55; } $56 = HEAP32[$pInfo>>2]|0; @@ -148215,21 +149717,21 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr1 = 0, $iLimit = 0, $iOffset = 0, $n = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $v = sp + 16|0; - $iLimit = sp + 12|0; - $iOffset = sp + 8|0; - $addr1 = sp + 4|0; - $n = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $v = sp + 20|0; + $iLimit = sp + 28|0; + $iOffset = sp; + $addr1 = sp + 12|0; + $n = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $iBreak; HEAP32[$v>>2] = 0; HEAP32[$iLimit>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0); if ($6) { @@ -148238,26 +149740,26 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { $7 = HEAP32[$0>>2]|0; _sqlite3ExprCacheClear($7); $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 60|0); + $9 = ((($8)) + 60|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if (!($11)) { STACKTOP = sp;return; } $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 72|0); + $13 = ((($12)) + 72|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + 1)|0; HEAP32[$13>>2] = $15; HEAP32[$iLimit>>2] = $15; $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); HEAP32[$17>>2] = $15; $18 = HEAP32[$0>>2]|0; $19 = (_sqlite3GetVdbe($18)|0); HEAP32[$v>>2] = $19; $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 60|0); + $21 = ((($20)) + 60|0); $22 = HEAP32[$21>>2]|0; $23 = (_sqlite3ExprIsInteger($22,$n)|0); $24 = ($23|0)!=(0); @@ -148279,7 +149781,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { $33 = ($32|0)>=(0); if ($33) { $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 24|0); + $35 = ((($34)) + 24|0); $36 = $35; $37 = $36; $38 = HEAP32[$37>>2]|0; @@ -148299,7 +149801,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { $51 = ($50|0)<(0); $52 = $51 << 31 >> 31; $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 24|0); + $54 = ((($53)) + 24|0); $55 = $54; $56 = $55; HEAP32[$56>>2] = $50; @@ -148311,7 +149813,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { } else { $59 = HEAP32[$0>>2]|0; $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 60|0); + $61 = ((($60)) + 60|0); $62 = HEAP32[$61>>2]|0; $63 = HEAP32[$iLimit>>2]|0; _sqlite3ExprCode($59,$62,$63); @@ -148325,29 +149827,29 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { } } while(0); $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 64|0); + $70 = ((($69)) + 64|0); $71 = HEAP32[$70>>2]|0; $72 = ($71|0)!=(0|0); if (!($72)) { STACKTOP = sp;return; } $73 = HEAP32[$0>>2]|0; - $74 = (($73) + 72|0); + $74 = ((($73)) + 72|0); $75 = HEAP32[$74>>2]|0; $76 = (($75) + 1)|0; HEAP32[$74>>2] = $76; HEAP32[$iOffset>>2] = $76; $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 12|0); + $78 = ((($77)) + 12|0); HEAP32[$78>>2] = $76; $79 = HEAP32[$0>>2]|0; - $80 = (($79) + 72|0); + $80 = ((($79)) + 72|0); $81 = HEAP32[$80>>2]|0; $82 = (($81) + 1)|0; HEAP32[$80>>2] = $82; $83 = HEAP32[$0>>2]|0; $84 = HEAP32[$1>>2]|0; - $85 = (($84) + 64|0); + $85 = ((($84)) + 64|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$iOffset>>2]|0; _sqlite3ExprCode($83,$86,$87); @@ -148391,11 +149893,11 @@ function _sqlite3WhereOutputRowCount($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 32|0); + $2 = ((($1)) + 32|0); $3 = HEAP16[$2>>1]|0; $4 = (_sqlite3LogEstToInt($3)|0); $5 = tempRet0; - tempRet0 = $5; + tempRet0 = ($5); STACKTOP = sp;return ($4|0); } function _sqlite3WhereIsDistinct($pWInfo) { @@ -148406,7 +149908,7 @@ function _sqlite3WhereIsDistinct($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 40|0); + $2 = ((($1)) + 40|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; STACKTOP = sp;return ($4|0); @@ -148419,11 +149921,35 @@ function _sqlite3WhereIsOrdered($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 36|0); + $2 = ((($1)) + 36|0); $3 = HEAP8[$2>>0]|0; $4 = $3 << 24 >> 24; STACKTOP = sp;return ($4|0); } +function _sqlite3WhereContinueLabel($pWInfo) { + $pWInfo = $pWInfo|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pWInfo; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 48|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _sqlite3WhereBreakLabel($pWInfo) { + $pWInfo = $pWInfo|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pWInfo; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 52|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$iContinue,$iBreak) { $pParse = $pParse|0; $p = $p|0; @@ -148459,38 +149985,38 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i var $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; - $0 = sp + 124|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $3 = sp + 112|0; - $4 = sp + 108|0; - $5 = sp + 104|0; - $6 = sp + 100|0; - $7 = sp + 96|0; - $8 = sp + 92|0; - $v = sp + 88|0; - $i = sp + 84|0; - $hasDistinct = sp + 80|0; - $regResult = sp + 76|0; - $eDest = sp + 72|0; - $iParm = sp + 68|0; - $nResultCol = sp + 64|0; - $nPrefixReg = sp + 60|0; - $pOp = sp + 56|0; + $0 = sp + 44|0; + $1 = sp + 68|0; + $2 = sp + 32|0; + $3 = sp + 108|0; + $4 = sp + 116|0; + $5 = sp + 8|0; + $6 = sp + 12|0; + $7 = sp + 72|0; + $8 = sp + 16|0; + $v = sp + 20|0; + $i = sp + 24|0; + $hasDistinct = sp + 88|0; + $regResult = sp + 96|0; + $eDest = sp + 104|0; + $iParm = sp + 112|0; + $nResultCol = sp + 120|0; + $nPrefixReg = sp + 124|0; + $pOp = sp + 48|0; $iJump = sp + 52|0; - $regPrev = sp + 48|0; - $pColl = sp + 44|0; - $r1 = sp + 40|0; - $r11 = sp + 36|0; - $addr = sp + 32|0; - $r2 = sp + 28|0; - $r12 = sp + 24|0; - $nKey = sp + 20|0; - $r13 = sp + 16|0; - $r24 = sp + 12|0; - $r3 = sp + 8|0; - $addrTest = sp + 4|0; - $pSO = sp; + $regPrev = sp + 56|0; + $pColl = sp + 60|0; + $r1 = sp + 64|0; + $r11 = sp + 4|0; + $addr = sp + 76|0; + $r2 = sp + 80|0; + $r12 = sp; + $nKey = sp + 84|0; + $r13 = sp + 28|0; + $r24 = sp + 92|0; + $r3 = sp + 36|0; + $addrTest = sp + 100|0; + $pSO = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pEList; @@ -148501,7 +150027,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i HEAP32[$7>>2] = $iContinue; HEAP32[$8>>2] = $iBreak; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; HEAP32[$v>>2] = $11; $12 = HEAP32[$6>>2]|0; @@ -148509,7 +150035,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $14 = $13&255; HEAP32[$eDest>>2] = $14; $15 = HEAP32[$6>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; HEAP32[$iParm>>2] = $17; HEAP32[$nPrefixReg>>2] = 0; @@ -148517,7 +150043,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $19 = ($18|0)!=(0|0); if ($19) { $20 = HEAP32[$5>>2]|0; - $21 = (($20) + 1|0); + $21 = ((($20)) + 1|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $23; @@ -148543,7 +150069,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i if (!($or$cond)) { $34 = HEAP32[$v>>2]|0; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$7>>2]|0; _codeOffset($34,$37,$38); @@ -148552,7 +150078,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $40 = HEAP32[$39>>2]|0; HEAP32[$nResultCol>>2] = $40; $41 = HEAP32[$6>>2]|0; - $42 = (($41) + 8|0); + $42 = ((($41)) + 8|0); $43 = HEAP32[$42>>2]|0; $44 = ($43|0)==(0); if ($44) { @@ -148564,7 +150090,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $49 = HEAP32[$48>>2]|0; HEAP32[$nPrefixReg>>2] = $49; $50 = HEAP32[$4>>2]|0; - $51 = (($50) + 24|0); + $51 = ((($50)) + 24|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; $54 = $53 & 1; @@ -148576,38 +150102,38 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i } $58 = HEAP32[$nPrefixReg>>2]|0; $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 72|0); + $60 = ((($59)) + 72|0); $61 = HEAP32[$60>>2]|0; $62 = (($61) + ($58))|0; HEAP32[$60>>2] = $62; } $63 = HEAP32[$0>>2]|0; - $64 = (($63) + 72|0); + $64 = ((($63)) + 72|0); $65 = HEAP32[$64>>2]|0; $66 = (($65) + 1)|0; $67 = HEAP32[$6>>2]|0; - $68 = (($67) + 8|0); + $68 = ((($67)) + 8|0); HEAP32[$68>>2] = $66; $69 = HEAP32[$nResultCol>>2]|0; $70 = HEAP32[$0>>2]|0; - $71 = (($70) + 72|0); + $71 = ((($70)) + 72|0); $72 = HEAP32[$71>>2]|0; $73 = (($72) + ($69))|0; HEAP32[$71>>2] = $73; } else { $74 = HEAP32[$6>>2]|0; - $75 = (($74) + 8|0); + $75 = ((($74)) + 8|0); $76 = HEAP32[$75>>2]|0; $77 = HEAP32[$nResultCol>>2]|0; $78 = (($76) + ($77))|0; $79 = HEAP32[$0>>2]|0; - $80 = (($79) + 72|0); + $80 = ((($79)) + 72|0); $81 = HEAP32[$80>>2]|0; $82 = ($78|0)>($81|0); if ($82) { $83 = HEAP32[$nResultCol>>2]|0; $84 = HEAP32[$0>>2]|0; - $85 = (($84) + 72|0); + $85 = ((($84)) + 72|0); $86 = HEAP32[$85>>2]|0; $87 = (($86) + ($83))|0; HEAP32[$85>>2] = $87; @@ -148615,10 +150141,10 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i } $88 = HEAP32[$nResultCol>>2]|0; $89 = HEAP32[$6>>2]|0; - $90 = (($89) + 12|0); + $90 = ((($89)) + 12|0); HEAP32[$90>>2] = $88; $91 = HEAP32[$6>>2]|0; - $92 = (($91) + 8|0); + $92 = ((($91)) + 8|0); $93 = HEAP32[$92>>2]|0; HEAP32[$regResult>>2] = $93; $94 = HEAP32[$3>>2]|0; @@ -148653,15 +150179,11 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $111 = HEAP32[$regResult>>2]|0; $112 = HEAP32[$eDest>>2]|0; $113 = ($112|0)==(9); - if ($113) { - $117 = 1; - } else { - $114 = HEAP32[$eDest>>2]|0; - $115 = ($114|0)==(13); - $117 = $115; - } - $116 = $117 ? 1 : 0; - $118 = $116&255; + $114 = HEAP32[$eDest>>2]|0; + $115 = ($114|0)==(13); + $116 = $113 ? 1 : $115; + $117 = $116 ? 1 : 0; + $118 = $117&255; (_sqlite3ExprCodeExprList($109,$110,$111,$118)|0); } } @@ -148670,46 +150192,41 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $120 = ($119|0)!=(0); if ($120) { $121 = HEAP32[$5>>2]|0; - $122 = (($121) + 1|0); + $122 = ((($121)) + 1|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; - if ((($124|0) == 1)) { - $190 = HEAP32[$v>>2]|0; - $191 = HEAP32[$5>>2]|0; - $192 = (($191) + 8|0); - $193 = HEAP32[$192>>2]|0; - _sqlite3VdbeChangeToNoop($190,$193); - } else if ((($124|0) == 2)) { + switch ($124|0) { + case 2: { $125 = HEAP32[$0>>2]|0; - $126 = (($125) + 72|0); + $126 = ((($125)) + 72|0); $127 = HEAP32[$126>>2]|0; $128 = (($127) + 1)|0; HEAP32[$regPrev>>2] = $128; $129 = HEAP32[$nResultCol>>2]|0; $130 = HEAP32[$0>>2]|0; - $131 = (($130) + 72|0); + $131 = ((($130)) + 72|0); $132 = HEAP32[$131>>2]|0; $133 = (($132) + ($129))|0; HEAP32[$131>>2] = $133; $134 = HEAP32[$v>>2]|0; $135 = HEAP32[$5>>2]|0; - $136 = (($135) + 8|0); + $136 = ((($135)) + 8|0); $137 = HEAP32[$136>>2]|0; _sqlite3VdbeChangeToNoop($134,$137); $138 = HEAP32[$v>>2]|0; $139 = HEAP32[$5>>2]|0; - $140 = (($139) + 8|0); + $140 = ((($139)) + 8|0); $141 = HEAP32[$140>>2]|0; $142 = (_sqlite3VdbeGetOp($138,$141)|0); HEAP32[$pOp>>2] = $142; $143 = HEAP32[$pOp>>2]|0; HEAP8[$143>>0] = 28; $144 = HEAP32[$pOp>>2]|0; - $145 = (($144) + 4|0); + $145 = ((($144)) + 4|0); HEAP32[$145>>2] = 1; $146 = HEAP32[$regPrev>>2]|0; $147 = HEAP32[$pOp>>2]|0; - $148 = (($147) + 8|0); + $148 = ((($147)) + 8|0); HEAP32[$148>>2] = $146; $149 = HEAP32[$v>>2]|0; $150 = (_sqlite3VdbeCurrentAddr($149)|0); @@ -148727,7 +150244,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $156 = HEAP32[$0>>2]|0; $157 = HEAP32[$i>>2]|0; $158 = HEAP32[$2>>2]|0; - $159 = (($158) + 4|0); + $159 = ((($158)) + 4|0); $160 = HEAP32[$159>>2]|0; $161 = (($160) + (($157*20)|0)|0); $162 = HEAP32[$161>>2]|0; @@ -148769,41 +150286,65 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $188 = HEAP32[$nResultCol>>2]|0; $189 = (($188) - 1)|0; (_sqlite3VdbeAddOp3($185,33,$186,$187,$189)|0); - } else { + break; + } + case 1: { + $190 = HEAP32[$v>>2]|0; + $191 = HEAP32[$5>>2]|0; + $192 = ((($191)) + 8|0); + $193 = HEAP32[$192>>2]|0; + _sqlite3VdbeChangeToNoop($190,$193); + break; + } + default: { $194 = HEAP32[$0>>2]|0; $195 = HEAP32[$5>>2]|0; - $196 = (($195) + 4|0); + $196 = ((($195)) + 4|0); $197 = HEAP32[$196>>2]|0; $198 = HEAP32[$7>>2]|0; $199 = HEAP32[$nResultCol>>2]|0; $200 = HEAP32[$regResult>>2]|0; _codeDistinct($194,$197,$198,$199,$200); } + } $201 = HEAP32[$4>>2]|0; $202 = ($201|0)==(0|0); if ($202) { $203 = HEAP32[$v>>2]|0; $204 = HEAP32[$1>>2]|0; - $205 = (($204) + 12|0); + $205 = ((($204)) + 12|0); $206 = HEAP32[$205>>2]|0; $207 = HEAP32[$7>>2]|0; _codeOffset($203,$206,$207); } } $208 = HEAP32[$eDest>>2]|0; - L50: do { + L47: do { switch ($208|0) { - case 10: { - $304 = HEAP32[$4>>2]|0; - $305 = ($304|0)!=(0|0); - if ($305) { - $306 = HEAP32[$0>>2]|0; - $307 = HEAP32[$4>>2]|0; - $308 = HEAP32[$1>>2]|0; - $309 = HEAP32[$regResult>>2]|0; - $310 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($306,$307,$308,$309,1,$310); - } + case 1: { + $209 = HEAP32[$0>>2]|0; + $210 = (_sqlite3GetTempReg($209)|0); + HEAP32[$r1>>2] = $210; + $211 = HEAP32[$v>>2]|0; + $212 = HEAP32[$regResult>>2]|0; + $213 = HEAP32[$nResultCol>>2]|0; + $214 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp3($211,49,$212,$213,$214)|0); + $215 = HEAP32[$v>>2]|0; + $216 = HEAP32[$iParm>>2]|0; + $217 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp2($215,110,$216,$217)|0); + $218 = HEAP32[$0>>2]|0; + $219 = HEAP32[$r1>>2]|0; + _sqlite3ReleaseTempReg($218,$219); + break; + } + case 2: { + $220 = HEAP32[$v>>2]|0; + $221 = HEAP32[$iParm>>2]|0; + $222 = HEAP32[$regResult>>2]|0; + $223 = HEAP32[$nResultCol>>2]|0; + (_sqlite3VdbeAddOp3($220,111,$221,$222,$223)|0); break; } case 12: case 14: case 6: case 5: { @@ -148876,15 +150417,15 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i } case 11: { $272 = HEAP32[$2>>2]|0; - $273 = (($272) + 4|0); + $273 = ((($272)) + 4|0); $274 = HEAP32[$273>>2]|0; $275 = HEAP32[$274>>2]|0; $276 = HEAP32[$6>>2]|0; - $277 = (($276) + 1|0); + $277 = ((($276)) + 1|0); $278 = HEAP8[$277>>0]|0; $279 = (_sqlite3CompareAffinity($275,$278)|0); $280 = HEAP32[$6>>2]|0; - $281 = (($280) + 1|0); + $281 = ((($280)) + 1|0); HEAP8[$281>>0] = $279; $282 = HEAP32[$4>>2]|0; $283 = ($282|0)!=(0|0); @@ -148895,7 +150436,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $287 = HEAP32[$regResult>>2]|0; $288 = HEAP32[$nPrefixReg>>2]|0; _pushOntoSorter($284,$285,$286,$287,1,$288); - break L50; + break L47; } else { $289 = (_sqlite3GetTempReg($284)|0); HEAP32[$r12>>2] = $289; @@ -148903,7 +150444,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $291 = HEAP32[$regResult>>2]|0; $292 = HEAP32[$r12>>2]|0; $293 = HEAP32[$6>>2]|0; - $294 = (($293) + 1|0); + $294 = ((($293)) + 1|0); (_sqlite3VdbeAddOp4($290,49,$291,1,$292,$294,1)|0); $295 = HEAP32[$0>>2]|0; $296 = HEAP32[$regResult>>2]|0; @@ -148915,7 +150456,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $300 = HEAP32[$0>>2]|0; $301 = HEAP32[$r12>>2]|0; _sqlite3ReleaseTempReg($300,$301); - break L50; + break L47; } break; } @@ -148925,10 +150466,57 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i (_sqlite3VdbeAddOp2($302,25,1,$303)|0); break; } + case 10: { + $304 = HEAP32[$4>>2]|0; + $305 = ($304|0)!=(0|0); + if ($305) { + $306 = HEAP32[$0>>2]|0; + $307 = HEAP32[$4>>2]|0; + $308 = HEAP32[$1>>2]|0; + $309 = HEAP32[$regResult>>2]|0; + $310 = HEAP32[$nPrefixReg>>2]|0; + _pushOntoSorter($306,$307,$308,$309,1,$310); + } + break; + } + case 9: case 13: { + $311 = HEAP32[$4>>2]|0; + $312 = ($311|0)!=(0|0); + if ($312) { + $313 = HEAP32[$0>>2]|0; + $314 = HEAP32[$4>>2]|0; + $315 = HEAP32[$1>>2]|0; + $316 = HEAP32[$regResult>>2]|0; + $317 = HEAP32[$nResultCol>>2]|0; + $318 = HEAP32[$nPrefixReg>>2]|0; + _pushOntoSorter($313,$314,$315,$316,$317,$318); + break L47; + } + $319 = HEAP32[$eDest>>2]|0; + $320 = ($319|0)==(13); + $321 = HEAP32[$v>>2]|0; + if ($320) { + $322 = HEAP32[$6>>2]|0; + $323 = ((($322)) + 4|0); + $324 = HEAP32[$323>>2]|0; + (_sqlite3VdbeAddOp1($321,22,$324)|0); + break L47; + } else { + $325 = HEAP32[$regResult>>2]|0; + $326 = HEAP32[$nResultCol>>2]|0; + (_sqlite3VdbeAddOp2($321,35,$325,$326)|0); + $327 = HEAP32[$0>>2]|0; + $328 = HEAP32[$regResult>>2]|0; + $329 = HEAP32[$nResultCol>>2]|0; + _sqlite3ExprCacheAffinityChange($327,$328,$329); + break L47; + } + break; + } case 7: case 8: { HEAP32[$addrTest>>2] = 0; $330 = HEAP32[$6>>2]|0; - $331 = (($330) + 16|0); + $331 = ((($330)) + 16|0); $332 = HEAP32[$331>>2]|0; HEAP32[$pSO>>2] = $332; $333 = HEAP32[$pSO>>2]|0; @@ -148986,10 +150574,10 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $368 = HEAP32[$regResult>>2]|0; $369 = HEAP32[$i>>2]|0; $370 = HEAP32[$pSO>>2]|0; - $371 = (($370) + 4|0); + $371 = ((($370)) + 4|0); $372 = HEAP32[$371>>2]|0; $373 = (($372) + (($369*20)|0)|0); - $374 = (($373) + 16|0); + $374 = ((($373)) + 16|0); $375 = HEAP16[$374>>1]|0; $376 = $375&65535; $377 = (($368) + ($376))|0; @@ -149034,66 +150622,6 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i _sqlite3ReleaseTempRange($402,$403,$405); break; } - case 9: case 13: { - $311 = HEAP32[$4>>2]|0; - $312 = ($311|0)!=(0|0); - if ($312) { - $313 = HEAP32[$0>>2]|0; - $314 = HEAP32[$4>>2]|0; - $315 = HEAP32[$1>>2]|0; - $316 = HEAP32[$regResult>>2]|0; - $317 = HEAP32[$nResultCol>>2]|0; - $318 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($313,$314,$315,$316,$317,$318); - break L50; - } - $319 = HEAP32[$eDest>>2]|0; - $320 = ($319|0)==(13); - $321 = HEAP32[$v>>2]|0; - if ($320) { - $322 = HEAP32[$6>>2]|0; - $323 = (($322) + 4|0); - $324 = HEAP32[$323>>2]|0; - (_sqlite3VdbeAddOp1($321,22,$324)|0); - break L50; - } else { - $325 = HEAP32[$regResult>>2]|0; - $326 = HEAP32[$nResultCol>>2]|0; - (_sqlite3VdbeAddOp2($321,35,$325,$326)|0); - $327 = HEAP32[$0>>2]|0; - $328 = HEAP32[$regResult>>2]|0; - $329 = HEAP32[$nResultCol>>2]|0; - _sqlite3ExprCacheAffinityChange($327,$328,$329); - break L50; - } - break; - } - case 2: { - $220 = HEAP32[$v>>2]|0; - $221 = HEAP32[$iParm>>2]|0; - $222 = HEAP32[$regResult>>2]|0; - $223 = HEAP32[$nResultCol>>2]|0; - (_sqlite3VdbeAddOp3($220,111,$221,$222,$223)|0); - break; - } - case 1: { - $209 = HEAP32[$0>>2]|0; - $210 = (_sqlite3GetTempReg($209)|0); - HEAP32[$r1>>2] = $210; - $211 = HEAP32[$v>>2]|0; - $212 = HEAP32[$regResult>>2]|0; - $213 = HEAP32[$nResultCol>>2]|0; - $214 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($211,49,$212,$213,$214)|0); - $215 = HEAP32[$v>>2]|0; - $216 = HEAP32[$iParm>>2]|0; - $217 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp2($215,110,$216,$217)|0); - $218 = HEAP32[$0>>2]|0; - $219 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($218,$219); - break; - } default: { } } @@ -149104,7 +150632,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i STACKTOP = sp;return; } $408 = HEAP32[$1>>2]|0; - $409 = (($408) + 8|0); + $409 = ((($408)) + 8|0); $410 = HEAP32[$409>>2]|0; $411 = ($410|0)!=(0); if (!($411)) { @@ -149112,36 +150640,12 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i } $412 = HEAP32[$v>>2]|0; $413 = HEAP32[$1>>2]|0; - $414 = (($413) + 8|0); + $414 = ((($413)) + 8|0); $415 = HEAP32[$414>>2]|0; $416 = HEAP32[$8>>2]|0; (_sqlite3VdbeAddOp3($412,139,$415,$416,-1)|0); STACKTOP = sp;return; } -function _sqlite3WhereContinueLabel($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 48|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _sqlite3WhereBreakLabel($pWInfo) { - $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pWInfo; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 52|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} function _sqlite3ExprAnalyzeAggList($pNC,$pList) { $pNC = $pNC|0; $pList = $pList|0; @@ -149161,7 +150665,7 @@ function _sqlite3ExprAnalyzeAggList($pNC,$pList) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pItem>>2] = $6; HEAP32[$i>>2] = 0; @@ -149181,7 +150685,7 @@ function _sqlite3ExprAnalyzeAggList($pNC,$pList) { $15 = (($14) + 1)|0; HEAP32[$i>>2] = $15; $16 = HEAP32[$pItem>>2]|0; - $17 = (($16) + 20|0); + $17 = ((($16)) + 20|0); HEAP32[$pItem>>2] = $17; } STACKTOP = sp;return; @@ -149197,12 +150701,12 @@ function _sqlite3ExprAnalyzeAggregates($pNC,$pExpr) { $w = sp; HEAP32[$0>>2] = $pNC; HEAP32[$1>>2] = $pExpr; - ;HEAP32[$w+0>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; - HEAP32[$w>>2] = 48; - $2 = (($w) + 4|0); - HEAP32[$2>>2] = 49; + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0; + HEAP32[$w>>2] = 52; + $2 = ((($w)) + 4|0); + HEAP32[$2>>2] = 53; $3 = HEAP32[$0>>2]|0; - $4 = (($w) + 20|0); + $4 = ((($w)) + 20|0); HEAP32[$4>>2] = $3; $5 = HEAP32[$1>>2]|0; (_sqlite3WalkExpr($w,$5)|0); @@ -149223,7 +150727,7 @@ function _explainTempTable($pParse,$zUsage) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $zUsage; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 450|0); + $3 = ((($2)) + 450|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==(2); @@ -149231,18 +150735,18 @@ function _explainTempTable($pParse,$zUsage) { STACKTOP = sp;return; } $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; HEAP32[$v>>2] = $9; $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $12; - $13 = (_sqlite3MPrintf($11,25024,$vararg_buffer)|0); + $13 = (_sqlite3MPrintf($11,27304,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $13; $14 = HEAP32[$v>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 464|0); + $16 = ((($15)) + 464|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$zMsg>>2]|0; (_sqlite3VdbeAddOp4($14,155,$17,0,0,$18,-1)|0); @@ -149256,7 +150760,7 @@ function _sqlite3WhereIsSorted($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 37|0); + $2 = ((($1)) + 37|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; STACKTOP = sp;return ($4|0); @@ -149278,7 +150782,7 @@ function _sqlite3ExprCodeMove($pParse,$iFrom,$iTo,$nReg) { HEAP32[$2>>2] = $iTo; HEAP32[$3>>2] = $nReg; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$2>>2]|0; @@ -149303,25 +150807,25 @@ function _updateAccumulator($pParse,$pAggInfo) { var $addrHitTest = 0, $addrNext = 0, $i = 0, $j = 0, $nArg = 0, $pC = 0, $pColl = 0, $pF = 0, $pItem = 0, $pList = 0, $regAgg = 0, $regHit = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $v = sp + 48|0; - $i = sp + 44|0; - $regHit = sp + 40|0; - $addrHitTest = sp + 36|0; - $pF = sp + 32|0; - $pC = sp + 28|0; - $nArg = sp + 24|0; - $addrNext = sp + 20|0; - $regAgg = sp + 16|0; - $pList = sp + 12|0; - $pColl = sp + 8|0; - $pItem = sp + 4|0; - $j = sp; + $0 = sp + 52|0; + $1 = sp + 44|0; + $v = sp + 20|0; + $i = sp + 12|0; + $regHit = sp + 4|0; + $addrHitTest = sp + 40|0; + $pF = sp + 48|0; + $pC = sp + 56|0; + $nArg = sp + 16|0; + $addrNext = sp + 24|0; + $regAgg = sp; + $pList = sp + 32|0; + $pColl = sp + 28|0; + $pItem = sp + 8|0; + $j = sp + 36|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pAggInfo; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; HEAP32[$v>>2] = $4; HEAP32[$regHit>>2] = 0; @@ -149330,13 +150834,13 @@ function _updateAccumulator($pParse,$pAggInfo) { HEAP8[$5>>0] = 1; HEAP32[$i>>2] = 0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 40|0); + $7 = ((($6)) + 40|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pF>>2] = $8; while(1) { $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 44|0); + $11 = ((($10)) + 44|0); $12 = HEAP32[$11>>2]|0; $13 = ($9|0)<($12|0); if (!($13)) { @@ -149345,7 +150849,7 @@ function _updateAccumulator($pParse,$pAggInfo) { HEAP32[$addrNext>>2] = 0; $14 = HEAP32[$pF>>2]|0; $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 20|0); + $16 = ((($15)) + 20|0); $17 = HEAP32[$16>>2]|0; HEAP32[$pList>>2] = $17; $18 = HEAP32[$pList>>2]|0; @@ -149367,7 +150871,7 @@ function _updateAccumulator($pParse,$pAggInfo) { HEAP32[$regAgg>>2] = 0; } $28 = HEAP32[$pF>>2]|0; - $29 = (($28) + 12|0); + $29 = ((($28)) + 12|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)>=(0); if ($31) { @@ -149376,16 +150880,16 @@ function _updateAccumulator($pParse,$pAggInfo) { HEAP32[$addrNext>>2] = $33; $34 = HEAP32[$0>>2]|0; $35 = HEAP32[$pF>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$addrNext>>2]|0; $39 = HEAP32[$regAgg>>2]|0; _codeDistinct($34,$37,$38,1,$39); } $40 = HEAP32[$pF>>2]|0; - $41 = (($40) + 4|0); + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; - $43 = (($42) + 2|0); + $43 = ((($42)) + 2|0); $44 = HEAP16[$43>>1]|0; $45 = $44&65535; $46 = $45 & 32; @@ -149394,7 +150898,7 @@ function _updateAccumulator($pParse,$pAggInfo) { HEAP32[$pColl>>2] = 0; HEAP32[$j>>2] = 0; $48 = HEAP32[$pList>>2]|0; - $49 = (($48) + 4|0); + $49 = ((($48)) + 4|0); $50 = HEAP32[$49>>2]|0; HEAP32[$pItem>>2] = $50; while(1) { @@ -149418,7 +150922,7 @@ function _updateAccumulator($pParse,$pAggInfo) { $61 = (($60) + 1)|0; HEAP32[$j>>2] = $61; $62 = HEAP32[$pItem>>2]|0; - $63 = (($62) + 20|0); + $63 = ((($62)) + 20|0); HEAP32[$pItem>>2] = $63; } $64 = HEAP32[$pColl>>2]|0; @@ -149426,7 +150930,7 @@ function _updateAccumulator($pParse,$pAggInfo) { if (!($65)) { $66 = HEAP32[$0>>2]|0; $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 8|0); + $68 = ((($67)) + 8|0); $69 = HEAP32[$68>>2]|0; HEAP32[$pColl>>2] = $69; } @@ -149434,12 +150938,12 @@ function _updateAccumulator($pParse,$pAggInfo) { $71 = ($70|0)==(0); if ($71) { $72 = HEAP32[$1>>2]|0; - $73 = (($72) + 36|0); + $73 = ((($72)) + 36|0); $74 = HEAP32[$73>>2]|0; $75 = ($74|0)!=(0); if ($75) { $76 = HEAP32[$0>>2]|0; - $77 = (($76) + 72|0); + $77 = ((($76)) + 72|0); $78 = HEAP32[$77>>2]|0; $79 = (($78) + 1)|0; HEAP32[$77>>2] = $79; @@ -149454,10 +150958,10 @@ function _updateAccumulator($pParse,$pAggInfo) { $83 = HEAP32[$v>>2]|0; $84 = HEAP32[$regAgg>>2]|0; $85 = HEAP32[$pF>>2]|0; - $86 = (($85) + 8|0); + $86 = ((($85)) + 8|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[$pF>>2]|0; - $89 = (($88) + 4|0); + $89 = ((($88)) + 4|0); $90 = HEAP32[$89>>2]|0; (_sqlite3VdbeAddOp4($83,10,0,$84,$87,$90,-5)|0); $91 = HEAP32[$v>>2]|0; @@ -149485,7 +150989,7 @@ function _updateAccumulator($pParse,$pAggInfo) { $106 = (($105) + 1)|0; HEAP32[$i>>2] = $106; $107 = HEAP32[$pF>>2]|0; - $108 = (($107) + 16|0); + $108 = ((($107)) + 16|0); HEAP32[$pF>>2] = $108; } $109 = HEAP32[$regHit>>2]|0; @@ -149500,13 +151004,13 @@ function _updateAccumulator($pParse,$pAggInfo) { _sqlite3ExprCacheClear($114); HEAP32[$i>>2] = 0; $115 = HEAP32[$1>>2]|0; - $116 = (($115) + 28|0); + $116 = ((($115)) + 28|0); $117 = HEAP32[$116>>2]|0; HEAP32[$pC>>2] = $117; while(1) { $118 = HEAP32[$i>>2]|0; $119 = HEAP32[$1>>2]|0; - $120 = (($119) + 36|0); + $120 = ((($119)) + 36|0); $121 = HEAP32[$120>>2]|0; $122 = ($118|0)<($121|0); if (!($122)) { @@ -149514,17 +151018,17 @@ function _updateAccumulator($pParse,$pAggInfo) { } $123 = HEAP32[$0>>2]|0; $124 = HEAP32[$pC>>2]|0; - $125 = (($124) + 20|0); + $125 = ((($124)) + 20|0); $126 = HEAP32[$125>>2]|0; $127 = HEAP32[$pC>>2]|0; - $128 = (($127) + 16|0); + $128 = ((($127)) + 16|0); $129 = HEAP32[$128>>2]|0; _sqlite3ExprCode($123,$126,$129); $130 = HEAP32[$i>>2]|0; $131 = (($130) + 1)|0; HEAP32[$i>>2] = $131; $132 = HEAP32[$pC>>2]|0; - $133 = (($132) + 24|0); + $133 = ((($132)) + 24|0); HEAP32[$pC>>2] = $133; } $134 = HEAP32[$1>>2]|0; @@ -149557,18 +151061,18 @@ function _finalizeAggFunctions($pParse,$pAggInfo) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pAggInfo; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; HEAP32[$v>>2] = $4; HEAP32[$i>>2] = 0; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 40|0); + $6 = ((($5)) + 40|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pF>>2] = $7; while(1) { $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 44|0); + $10 = ((($9)) + 44|0); $11 = HEAP32[$10>>2]|0; $12 = ($8|0)<($11|0); if (!($12)) { @@ -149576,12 +151080,12 @@ function _finalizeAggFunctions($pParse,$pAggInfo) { } $13 = HEAP32[$pF>>2]|0; $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 20|0); + $15 = ((($14)) + 20|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pList>>2] = $16; $17 = HEAP32[$v>>2]|0; $18 = HEAP32[$pF>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$pList>>2]|0; $22 = ($21|0)!=(0|0); @@ -149593,14 +151097,14 @@ function _finalizeAggFunctions($pParse,$pAggInfo) { $28 = 0; } $25 = HEAP32[$pF>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; (_sqlite3VdbeAddOp4($17,140,$20,$28,0,$27,-5)|0); $29 = HEAP32[$i>>2]|0; $30 = (($29) + 1)|0; HEAP32[$i>>2] = $30; $31 = HEAP32[$pF>>2]|0; - $32 = (($31) + 16|0); + $32 = ((($31)) + 16|0); HEAP32[$pF>>2] = $32; } STACKTOP = sp;return; @@ -149615,25 +151119,25 @@ function _resetAccumulator($pParse,$pAggInfo) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $v = sp + 24|0; - $i = sp + 20|0; - $pFunc = sp + 16|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $v = sp + 8|0; + $i = sp + 16|0; + $pFunc = sp + 4|0; $nReg = sp + 12|0; - $pE = sp + 8|0; - $pKeyInfo = sp + 4|0; + $pE = sp + 28|0; + $pKeyInfo = sp + 32|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pAggInfo; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; HEAP32[$v>>2] = $4; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 44|0); + $6 = ((($5)) + 44|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 32|0); + $9 = ((($8)) + 32|0); $10 = HEAP32[$9>>2]|0; $11 = (($7) + ($10))|0; HEAP32[$nReg>>2] = $11; @@ -149644,28 +151148,28 @@ function _resetAccumulator($pParse,$pAggInfo) { } $14 = HEAP32[$v>>2]|0; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 16|0); + $16 = ((($15)) + 16|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 20|0); + $19 = ((($18)) + 20|0); $20 = HEAP32[$19>>2]|0; (_sqlite3VdbeAddOp3($14,28,0,$17,$20)|0); $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 40|0); + $22 = ((($21)) + 40|0); $23 = HEAP32[$22>>2]|0; HEAP32[$pFunc>>2] = $23; HEAP32[$i>>2] = 0; while(1) { $24 = HEAP32[$i>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 44|0); + $26 = ((($25)) + 44|0); $27 = HEAP32[$26>>2]|0; $28 = ($24|0)<($27|0); if (!($28)) { break; } $29 = HEAP32[$pFunc>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = ($31|0)>=(0); do { @@ -149674,25 +151178,25 @@ function _resetAccumulator($pParse,$pAggInfo) { $34 = HEAP32[$33>>2]|0; HEAP32[$pE>>2] = $34; $35 = HEAP32[$pE>>2]|0; - $36 = (($35) + 20|0); + $36 = ((($35)) + 20|0); $37 = HEAP32[$36>>2]|0; $38 = ($37|0)==(0|0); if (!($38)) { $39 = HEAP32[$pE>>2]|0; - $40 = (($39) + 20|0); + $40 = ((($39)) + 20|0); $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$41>>2]|0; $43 = ($42|0)!=(1); if (!($43)) { $47 = HEAP32[$0>>2]|0; $48 = HEAP32[$pE>>2]|0; - $49 = (($48) + 20|0); + $49 = ((($48)) + 20|0); $50 = HEAP32[$49>>2]|0; $51 = (_keyInfoFromExprList($47,$50,0,0)|0); HEAP32[$pKeyInfo>>2] = $51; $52 = HEAP32[$v>>2]|0; $53 = HEAP32[$pFunc>>2]|0; - $54 = (($53) + 12|0); + $54 = ((($53)) + 12|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$pKeyInfo>>2]|0; (_sqlite3VdbeAddOp4($52,57,$55,0,0,$56,-6)|0); @@ -149700,9 +151204,9 @@ function _resetAccumulator($pParse,$pAggInfo) { } } $44 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($44,24968,$vararg_buffer); + _sqlite3ErrorMsg($44,27253,$vararg_buffer); $45 = HEAP32[$pFunc>>2]|0; - $46 = (($45) + 12|0); + $46 = ((($45)) + 12|0); HEAP32[$46>>2] = -1; } } while(0); @@ -149710,7 +151214,7 @@ function _resetAccumulator($pParse,$pAggInfo) { $58 = (($57) + 1)|0; HEAP32[$i>>2] = $58; $59 = HEAP32[$pFunc>>2]|0; - $60 = (($59) + 16|0); + $60 = ((($59)) + 16|0); HEAP32[$pFunc>>2] = $60; } STACKTOP = sp;return; @@ -149732,7 +151236,7 @@ function _isSimpleCount($p,$pAggInfo) { HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pAggInfo; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 36|0); + $4 = ((($3)) + 36|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); if (!($6)) { @@ -149742,34 +151246,34 @@ function _isSimpleCount($p,$pAggInfo) { $10 = ($9|0)!=(1); if (!($10)) { $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 32|0); + $12 = ((($11)) + 32|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$13>>2]|0; $15 = ($14|0)!=(1); if (!($15)) { $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 32|0); + $17 = ((($16)) + 32|0); $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 8|0); - $20 = (($19) + 20|0); + $19 = ((($18)) + 8|0); + $20 = ((($19)) + 20|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)!=(0|0); if (!($22)) { $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 32|0); + $24 = ((($23)) + 32|0); $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 8|0); - $27 = (($26) + 16|0); + $26 = ((($25)) + 8|0); + $27 = ((($26)) + 16|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pTab>>2] = $28; $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 4|0); + $31 = ((($30)) + 4|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$32>>2]|0; HEAP32[$pExpr>>2] = $33; $34 = HEAP32[$pTab>>2]|0; - $35 = (($34) + 44|0); + $35 = ((($34)) + 44|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = $37 & 16; @@ -149789,7 +151293,7 @@ function _isSimpleCount($p,$pAggInfo) { STACKTOP = sp;return ($64|0); } $44 = HEAP32[$2>>2]|0; - $45 = (($44) + 44|0); + $45 = ((($44)) + 44|0); $46 = HEAP32[$45>>2]|0; $47 = ($46|0)==(0); if ($47) { @@ -149798,11 +151302,11 @@ function _isSimpleCount($p,$pAggInfo) { STACKTOP = sp;return ($64|0); } $48 = HEAP32[$2>>2]|0; - $49 = (($48) + 40|0); + $49 = ((($48)) + 40|0); $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 4|0); + $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 2|0); + $53 = ((($52)) + 2|0); $54 = HEAP16[$53>>1]|0; $55 = $54&65535; $56 = $55 & 256; @@ -149813,7 +151317,7 @@ function _isSimpleCount($p,$pAggInfo) { STACKTOP = sp;return ($64|0); } $58 = HEAP32[$pExpr>>2]|0; - $59 = (($58) + 4|0); + $59 = ((($58)) + 4|0); $60 = HEAP32[$59>>2]|0; $61 = $60 & 16; $62 = ($61|0)!=(0); @@ -149854,7 +151358,7 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $pIdx; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 450|0); + $4 = ((($3)) + 450|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)==(2); @@ -149865,7 +151369,7 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { $9 = ($8|0)!=(0|0); if ($9) { $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 44|0); + $11 = ((($10)) + 44|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = $13 & 32; @@ -149874,7 +151378,7 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { $24 = 1; } else { $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 55|0); + $17 = ((($16)) + 55|0); $18 = HEAP8[$17>>0]|0; $19 = $18 & 3; $20 = $19&255; @@ -149893,7 +151397,7 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$bCover>>2]|0; $30 = ($29|0)!=(0); - $31 = $30 ? 24944 : 1216; + $31 = $30 ? 27212 : 14425; $32 = HEAP32[$bCover>>2]|0; $33 = ($32|0)!=(0); if ($33) { @@ -149901,20 +151405,20 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { $35 = HEAP32[$34>>2]|0; $36 = $35; } else { - $36 = 1216; + $36 = 14425; } HEAP32[$vararg_buffer>>2] = $28; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $31; - $vararg_ptr2 = (($vararg_buffer) + 8|0); + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $36; - $37 = (_sqlite3MPrintf($26,24920,$vararg_buffer)|0); + $37 = (_sqlite3MPrintf($26,27235,$vararg_buffer)|0); HEAP32[$zEqp>>2] = $37; $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 8|0); + $39 = ((($38)) + 8|0); $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 464|0); + $42 = ((($41)) + 464|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$zEqp>>2]|0; (_sqlite3VdbeAddOp4($40,155,$43,0,0,$44,-1)|0); @@ -149940,18 +151444,18 @@ function _minMaxQuery($pAggInfo,$ppMinMax) { $2 = HEAP32[$1>>2]|0; HEAP32[$2>>2] = 0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 44|0); + $4 = ((($3)) + 44|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(1); do { if ($6) { $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 40|0); + $8 = ((($7)) + 40|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$9>>2]|0; HEAP32[$pExpr>>2] = $10; $11 = HEAP32[$pExpr>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pEList>>2] = $13; $14 = HEAP32[$pEList>>2]|0; @@ -149962,7 +151466,7 @@ function _minMaxQuery($pAggInfo,$ppMinMax) { $18 = ($17|0)==(1); if ($18) { $19 = HEAP32[$pEList>>2]|0; - $20 = (($19) + 4|0); + $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$21>>2]|0; $23 = HEAP8[$22>>0]|0; @@ -149970,11 +151474,11 @@ function _minMaxQuery($pAggInfo,$ppMinMax) { $25 = ($24|0)==(156); if ($25) { $26 = HEAP32[$pExpr>>2]|0; - $27 = (($26) + 8|0); + $27 = ((($26)) + 8|0); $28 = HEAP32[$27>>2]|0; HEAP32[$zFunc>>2] = $28; $29 = HEAP32[$zFunc>>2]|0; - $30 = (_sqlite3_stricmp($29,8312)|0); + $30 = (_sqlite3_stricmp($29,27204)|0); $31 = ($30|0)==(0); if ($31) { HEAP32[$eRet>>2] = 1; @@ -149984,7 +151488,7 @@ function _minMaxQuery($pAggInfo,$ppMinMax) { break; } $34 = HEAP32[$zFunc>>2]|0; - $35 = (_sqlite3_stricmp($34,8320)|0); + $35 = (_sqlite3_stricmp($34,27208)|0); $36 = ($35|0)==(0); if ($36) { HEAP32[$eRet>>2] = 2; @@ -150020,35 +151524,35 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { var $iSortTab = 0, $iTab = 0, $nKey = 0, $nSortData = 0, $or$cond = 0, $pOrderBy = 0, $regRow = 0, $regRowid = 0, $regSortOut = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; - $0 = sp + 84|0; - $1 = sp + 80|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; - $v = sp + 64|0; - $addrBreak = sp + 60|0; + $0 = sp + 28|0; + $1 = sp + 52|0; + $2 = sp; + $3 = sp + 76|0; + $4 = sp + 24|0; + $v = sp + 8|0; + $addrBreak = sp + 12|0; $addrContinue = sp + 56|0; - $addr = sp + 52|0; - $addrOnce = sp + 48|0; - $iTab = sp + 44|0; - $pOrderBy = sp + 40|0; - $eDest = sp + 36|0; - $iParm = sp + 32|0; - $regRow = sp + 28|0; - $regRowid = sp + 24|0; - $nKey = sp + 20|0; + $addr = sp + 64|0; + $addrOnce = sp + 72|0; + $iTab = sp + 80|0; + $pOrderBy = sp + 84|0; + $eDest = sp + 32|0; + $iParm = sp + 36|0; + $regRow = sp + 44|0; + $regRowid = sp + 48|0; + $nKey = sp + 40|0; $iSortTab = sp + 16|0; - $nSortData = sp + 12|0; - $i = sp + 8|0; - $bSeq = sp + 4|0; - $regSortOut = sp; + $nSortData = sp + 60|0; + $i = sp + 4|0; + $bSeq = sp + 20|0; + $regSortOut = sp + 68|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pSort; HEAP32[$3>>2] = $nColumn; HEAP32[$4>>2] = $pDest; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$v>>2] = $7; $8 = HEAP32[$v>>2]|0; @@ -150066,20 +151570,20 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { $16 = $15&255; HEAP32[$eDest>>2] = $16; $17 = HEAP32[$4>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; HEAP32[$iParm>>2] = $19; $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 16|0); + $21 = ((($20)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0); if ($23) { $24 = HEAP32[$v>>2]|0; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$2>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; (_sqlite3VdbeAddOp2($24,17,$27,$30)|0); $31 = HEAP32[$v>>2]|0; @@ -150087,12 +151591,12 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { (_sqlite3VdbeAddOp2($31,16,0,$32)|0); $33 = HEAP32[$v>>2]|0; $34 = HEAP32[$2>>2]|0; - $35 = (($34) + 16|0); + $35 = ((($34)) + 16|0); $36 = HEAP32[$35>>2]|0; _sqlite3VdbeResolveLabel($33,$36); } $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 8|0); + $38 = ((($37)) + 8|0); $39 = HEAP32[$38>>2]|0; HEAP32[$iTab>>2] = $39; $40 = HEAP32[$eDest>>2]|0; @@ -150103,7 +151607,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { if ($or$cond) { HEAP32[$regRowid>>2] = 0; $44 = HEAP32[$4>>2]|0; - $45 = (($44) + 8|0); + $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; HEAP32[$regRow>>2] = $46; $47 = HEAP32[$3>>2]|0; @@ -150120,31 +151624,31 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { $52 = HEAP32[$pOrderBy>>2]|0; $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 4|0); + $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; $57 = (($53) - ($56))|0; HEAP32[$nKey>>2] = $57; $58 = HEAP32[$2>>2]|0; - $59 = (($58) + 24|0); + $59 = ((($58)) + 24|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = $61 & 1; $63 = ($62|0)!=(0); if ($63) { $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 72|0); + $65 = ((($64)) + 72|0); $66 = HEAP32[$65>>2]|0; $67 = (($66) + 1)|0; HEAP32[$65>>2] = $67; HEAP32[$regSortOut>>2] = $67; $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 68|0); + $69 = ((($68)) + 68|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + 1)|0; HEAP32[$69>>2] = $71; HEAP32[$iSortTab>>2] = $70; $72 = HEAP32[$2>>2]|0; - $73 = (($72) + 16|0); + $73 = ((($72)) + 16|0); $74 = HEAP32[$73>>2]|0; $75 = ($74|0)!=(0); if ($75) { @@ -150175,7 +151679,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { HEAP32[$addr>>2] = $93; $94 = HEAP32[$v>>2]|0; $95 = HEAP32[$1>>2]|0; - $96 = (($95) + 12|0); + $96 = ((($95)) + 12|0); $97 = HEAP32[$96>>2]|0; $98 = HEAP32[$addrContinue>>2]|0; _codeOffset($94,$97,$98); @@ -150194,7 +151698,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { HEAP32[$addr>>2] = $107; $108 = HEAP32[$v>>2]|0; $109 = HEAP32[$1>>2]|0; - $110 = (($109) + 12|0); + $110 = ((($109)) + 12|0); $111 = HEAP32[$110>>2]|0; $112 = HEAP32[$addrContinue>>2]|0; _codeOffset($108,$111,$112); @@ -150226,18 +151730,28 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { HEAP32[$i>>2] = $128; } $129 = HEAP32[$eDest>>2]|0; - do { - if ((($129|0) == 10)) { - $148 = HEAP32[$0>>2]|0; - $149 = HEAP32[$regRow>>2]|0; - $150 = HEAP32[$iParm>>2]|0; - _sqlite3ExprCodeMove($148,$149,$150,1); - } else if ((($129|0) == 11)) { + L22: do { + switch ($129|0) { + case 12: case 14: { + $130 = HEAP32[$v>>2]|0; + $131 = HEAP32[$iParm>>2]|0; + $132 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp2($130,74,$131,$132)|0); + $133 = HEAP32[$v>>2]|0; + $134 = HEAP32[$iParm>>2]|0; + $135 = HEAP32[$regRow>>2]|0; + $136 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($133,75,$134,$135,$136)|0); + $137 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($137,8); + break; + } + case 11: { $138 = HEAP32[$v>>2]|0; $139 = HEAP32[$regRow>>2]|0; $140 = HEAP32[$regRowid>>2]|0; $141 = HEAP32[$4>>2]|0; - $142 = (($141) + 1|0); + $142 = ((($141)) + 1|0); (_sqlite3VdbeAddOp4($138,49,$139,1,$140,$142,1)|0); $143 = HEAP32[$0>>2]|0; $144 = HEAP32[$regRow>>2]|0; @@ -150246,42 +151760,40 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { $146 = HEAP32[$iParm>>2]|0; $147 = HEAP32[$regRowid>>2]|0; (_sqlite3VdbeAddOp2($145,110,$146,$147)|0); - } else if ((($129|0) == 12) | (($129|0) == 14)) { - $130 = HEAP32[$v>>2]|0; - $131 = HEAP32[$iParm>>2]|0; - $132 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($130,74,$131,$132)|0); - $133 = HEAP32[$v>>2]|0; - $134 = HEAP32[$iParm>>2]|0; - $135 = HEAP32[$regRow>>2]|0; - $136 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($133,75,$134,$135,$136)|0); - $137 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($137,8); - } else { + break; + } + case 10: { + $148 = HEAP32[$0>>2]|0; + $149 = HEAP32[$regRow>>2]|0; + $150 = HEAP32[$iParm>>2]|0; + _sqlite3ExprCodeMove($148,$149,$150,1); + break; + } + default: { $151 = HEAP32[$eDest>>2]|0; $152 = ($151|0)==(9); $153 = HEAP32[$v>>2]|0; $154 = HEAP32[$4>>2]|0; if ($152) { - $155 = (($154) + 8|0); + $155 = ((($154)) + 8|0); $156 = HEAP32[$155>>2]|0; $157 = HEAP32[$3>>2]|0; (_sqlite3VdbeAddOp2($153,35,$156,$157)|0); $158 = HEAP32[$0>>2]|0; $159 = HEAP32[$4>>2]|0; - $160 = (($159) + 8|0); + $160 = ((($159)) + 8|0); $161 = HEAP32[$160>>2]|0; $162 = HEAP32[$3>>2]|0; _sqlite3ExprCacheAffinityChange($158,$161,$162); - break; + break L22; } else { - $163 = (($154) + 4|0); + $163 = ((($154)) + 4|0); $164 = HEAP32[$163>>2]|0; (_sqlite3VdbeAddOp1($153,22,$164)|0); - break; + break L22; } } + } } while(0); $165 = HEAP32[$regRowid>>2]|0; $166 = ($165|0)!=(0); @@ -150297,7 +151809,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { $172 = HEAP32[$addrContinue>>2]|0; _sqlite3VdbeResolveLabel($171,$172); $173 = HEAP32[$2>>2]|0; - $174 = (($173) + 24|0); + $174 = ((($173)) + 24|0); $175 = HEAP8[$174>>0]|0; $176 = $175&255; $177 = $176 & 1; @@ -150311,7 +151823,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { (_sqlite3VdbeAddOp2($179,9,$180,$181)|0); } $182 = HEAP32[$2>>2]|0; - $183 = (($182) + 12|0); + $183 = ((($182)) + 12|0); $184 = HEAP32[$183>>2]|0; $185 = ($184|0)!=(0); if (!($185)) { @@ -150322,7 +151834,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { } $186 = HEAP32[$v>>2]|0; $187 = HEAP32[$2>>2]|0; - $188 = (($187) + 12|0); + $188 = ((($187)) + 12|0); $189 = HEAP32[$188>>2]|0; (_sqlite3VdbeAddOp1($186,18,$189)|0); $190 = HEAP32[$v>>2]|0; @@ -150343,45 +151855,46 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $fullNames = 0, $i = 0, $iCol = 0, $j = 0; - var $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $p = 0, $pTab = 0, $shortNames = 0, $v = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $z = 0, $zCol = 0, $zName = 0, $zName1 = 0, label = 0, sp = 0; + var $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $p = 0, $pTab = 0, $shortNames = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $z = 0, $zCol = 0, $zName = 0, $zName1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer8 = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $v = sp + 56|0; - $i = sp + 52|0; - $j = sp + 48|0; - $db = sp + 44|0; - $fullNames = sp + 40|0; - $shortNames = sp + 36|0; - $p = sp + 32|0; - $zName = sp + 28|0; - $pTab = sp + 24|0; - $zCol = sp + 20|0; - $iCol = sp + 16|0; - $zName1 = sp + 12|0; - $z = sp + 8|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 44|0; + $v = sp + 20|0; + $i = sp + 24|0; + $j = sp + 40|0; + $db = sp + 36|0; + $fullNames = sp + 32|0; + $shortNames = sp + 48|0; + $p = sp + 52|0; + $zName = sp + 56|0; + $pTab = sp + 60|0; + $zCol = sp + 64|0; + $iCol = sp + 68|0; + $zName1 = sp + 72|0; + $z = sp + 76|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTabList; HEAP32[$2>>2] = $pEList; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$v>>2] = $5; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 450|0); + $9 = ((($8)) + 450|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)!=(0); if ($11) { STACKTOP = sp;return; } $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 16|0); + $13 = ((($12)) + 16|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = ($15|0)!=(0); @@ -150392,7 +151905,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { STACKTOP = sp;return; } $19 = HEAP32[$db>>2]|0; - $20 = (($19) + 64|0); + $20 = ((($19)) + 64|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = ($22|0)!=(0); @@ -150400,17 +151913,17 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { STACKTOP = sp;return; } $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 16|0); + $25 = ((($24)) + 16|0); HEAP8[$25>>0] = 1; $26 = HEAP32[$db>>2]|0; - $27 = (($26) + 24|0); + $27 = ((($26)) + 24|0); $28 = HEAP32[$27>>2]|0; $29 = $28 & 32; $30 = ($29|0)!=(0); $31 = $30&1; HEAP32[$fullNames>>2] = $31; $32 = HEAP32[$db>>2]|0; - $33 = (($32) + 24|0); + $33 = ((($32)) + 24|0); $34 = HEAP32[$33>>2]|0; $35 = $34 & 64; $36 = ($35|0)!=(0); @@ -150431,7 +151944,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { } $45 = HEAP32[$i>>2]|0; $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 4|0); + $47 = ((($46)) + 4|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + (($45*20)|0)|0); $50 = HEAP32[$49>>2]|0; @@ -150442,19 +151955,19 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { if (!($52)) { $53 = HEAP32[$i>>2]|0; $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 4|0); + $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; $57 = (($56) + (($53*20)|0)|0); - $58 = (($57) + 4|0); + $58 = ((($57)) + 4|0); $59 = HEAP32[$58>>2]|0; $60 = ($59|0)!=(0|0); if ($60) { $61 = HEAP32[$i>>2]|0; $62 = HEAP32[$2>>2]|0; - $63 = (($62) + 4|0); + $63 = ((($62)) + 4|0); $64 = HEAP32[$63>>2]|0; $65 = (($64) + (($61*20)|0)|0); - $66 = (($65) + 4|0); + $66 = ((($65)) + 4|0); $67 = HEAP32[$66>>2]|0; HEAP32[$zName>>2] = $67; $68 = HEAP32[$v>>2]|0; @@ -150489,10 +152002,10 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { label = 0; $149 = HEAP32[$i>>2]|0; $150 = HEAP32[$2>>2]|0; - $151 = (($150) + 4|0); + $151 = ((($150)) + 4|0); $152 = HEAP32[$151>>2]|0; $153 = (($152) + (($149*20)|0)|0); - $154 = (($153) + 8|0); + $154 = ((($153)) + 8|0); $155 = HEAP32[$154>>2]|0; HEAP32[$z>>2] = $155; $156 = HEAP32[$z>>2]|0; @@ -150502,7 +152015,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $159 = HEAP32[$i>>2]|0; $160 = (($159) + 1)|0; HEAP32[$vararg_buffer8>>2] = $160; - $161 = (_sqlite3MPrintf($158,24904,$vararg_buffer8)|0); + $161 = (_sqlite3MPrintf($158,27195,$vararg_buffer8)|0); $164 = $161; } else { $162 = HEAP32[$z>>2]|0; @@ -150513,11 +152026,11 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $165 = HEAP32[$v>>2]|0; $166 = HEAP32[$i>>2]|0; $167 = HEAP32[$z>>2]|0; - (_sqlite3VdbeSetColName($165,$166,0,$167,16)|0); + (_sqlite3VdbeSetColName($165,$166,0,$167,23)|0); break; } $81 = HEAP32[$p>>2]|0; - $82 = (($81) + 32|0); + $82 = ((($81)) + 32|0); $83 = HEAP16[$82>>1]|0; $84 = $83 << 16 >> 16; HEAP32[$iCol>>2] = $84; @@ -150532,12 +152045,12 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { } $89 = HEAP32[$j>>2]|0; $90 = HEAP32[$1>>2]|0; - $91 = (($90) + 8|0); + $91 = ((($90)) + 8|0); $92 = (($91) + (($89*72)|0)|0); - $93 = (($92) + 40|0); + $93 = ((($92)) + 40|0); $94 = HEAP32[$93>>2]|0; $95 = HEAP32[$p>>2]|0; - $96 = (($95) + 28|0); + $96 = ((($95)) + 28|0); $97 = HEAP32[$96>>2]|0; $98 = ($94|0)==($97|0); if ($98) { @@ -150549,16 +152062,16 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { } $101 = HEAP32[$j>>2]|0; $102 = HEAP32[$1>>2]|0; - $103 = (($102) + 8|0); + $103 = ((($102)) + 8|0); $104 = (($103) + (($101*72)|0)|0); - $105 = (($104) + 16|0); + $105 = ((($104)) + 16|0); $106 = HEAP32[$105>>2]|0; HEAP32[$pTab>>2] = $106; $107 = HEAP32[$iCol>>2]|0; $108 = ($107|0)<(0); if ($108) { $109 = HEAP32[$pTab>>2]|0; - $110 = (($109) + 36|0); + $110 = ((($109)) + 36|0); $111 = HEAP16[$110>>1]|0; $112 = $111 << 16 >> 16; HEAP32[$iCol>>2] = $112; @@ -150566,11 +152079,11 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $113 = HEAP32[$iCol>>2]|0; $114 = ($113|0)<(0); if ($114) { - HEAP32[$zCol>>2] = 9992; + HEAP32[$zCol>>2] = 18143; } else { $115 = HEAP32[$iCol>>2]|0; $116 = HEAP32[$pTab>>2]|0; - $117 = (($116) + 4|0); + $117 = ((($116)) + 4|0); $118 = HEAP32[$117>>2]|0; $119 = (($118) + (($115*24)|0)|0); $120 = HEAP32[$119>>2]|0; @@ -150587,13 +152100,13 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $127 = HEAP32[$db>>2]|0; $128 = HEAP32[$i>>2]|0; $129 = HEAP32[$2>>2]|0; - $130 = (($129) + 4|0); + $130 = ((($129)) + 4|0); $131 = HEAP32[$130>>2]|0; $132 = (($131) + (($128*20)|0)|0); - $133 = (($132) + 8|0); + $133 = ((($132)) + 8|0); $134 = HEAP32[$133>>2]|0; $135 = (_sqlite3DbStrDup($127,$134)|0); - (_sqlite3VdbeSetColName($125,$126,0,$135,16)|0); + (_sqlite3VdbeSetColName($125,$126,0,$135,23)|0); break; } $136 = HEAP32[$fullNames>>2]|0; @@ -150604,15 +152117,15 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $139 = HEAP32[$pTab>>2]|0; $140 = HEAP32[$139>>2]|0; $141 = HEAP32[$zCol>>2]|0; - HEAP32[$vararg_buffer8>>2] = $140; - $vararg_ptr7 = (($vararg_buffer8) + 4|0); + HEAP32[$vararg_buffer>>2] = $140; + $vararg_ptr7 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr7>>2] = $141; - $142 = (_sqlite3MPrintf($138,17448,$vararg_buffer8)|0); + $142 = (_sqlite3MPrintf($138,21695,$vararg_buffer)|0); HEAP32[$zName1>>2] = $142; $143 = HEAP32[$v>>2]|0; $144 = HEAP32[$i>>2]|0; $145 = HEAP32[$zName1>>2]|0; - (_sqlite3VdbeSetColName($143,$144,0,$145,16)|0); + (_sqlite3VdbeSetColName($143,$144,0,$145,23)|0); break; } else { $146 = HEAP32[$v>>2]|0; @@ -150641,23 +152154,23 @@ function _generateColumnTypes($pParse,$pTabList,$pEList) { var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $sNC = 0, $v = 0, $zType = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $v = sp + 44|0; - $i = sp + 40|0; - $sNC = sp + 8|0; - $p = sp + 4|0; - $zType = sp; + $0 = sp + 32|0; + $1 = sp + 44|0; + $2 = sp + 36|0; + $v = sp + 48|0; + $i = sp + 56|0; + $sNC = sp; + $p = sp + 40|0; + $zType = sp + 52|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTabList; HEAP32[$2>>2] = $pEList; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$v>>2] = $5; $6 = HEAP32[$1>>2]|0; - $7 = (($sNC) + 4|0); + $7 = ((($sNC)) + 4|0); HEAP32[$7>>2] = $6; $8 = HEAP32[$0>>2]|0; HEAP32[$sNC>>2] = $8; @@ -150672,7 +152185,7 @@ function _generateColumnTypes($pParse,$pTabList,$pEList) { } $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + (($13*20)|0)|0); $18 = HEAP32[$17>>2]|0; @@ -150731,20 +152244,20 @@ function _codeDistinct($pParse,$iTab,$addrRepeat,$N,$iMem) { var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r1 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $v = sp + 4|0; - $r1 = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $v = sp; + $r1 = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iTab; HEAP32[$2>>2] = $addrRepeat; HEAP32[$3>>2] = $N; HEAP32[$4>>2] = $iMem; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$v>>2] = $7; $8 = HEAP32[$0>>2]|0; @@ -150791,50 +152304,51 @@ function _analyzeAggregate($pWalker,$pExpr) { sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $i = sp + 52|0; - $pNC = sp + 48|0; - $pParse = sp + 44|0; - $pSrcList = sp + 40|0; - $pAggInfo = sp + 36|0; - $pItem = sp + 32|0; - $pCol = sp + 28|0; - $k = sp + 24|0; - $j = sp + 20|0; - $n = sp + 16|0; - $pGB = sp + 12|0; - $pTerm = sp + 8|0; - $pE = sp + 4|0; - $pItem1 = sp; + $1 = sp + 44|0; + $2 = sp + 20|0; + $i = sp + 16|0; + $pNC = sp + 4|0; + $pParse = sp + 40|0; + $pSrcList = sp + 48|0; + $pAggInfo = sp + 56|0; + $pItem = sp + 60|0; + $pCol = sp + 24|0; + $k = sp; + $j = sp + 32|0; + $n = sp + 28|0; + $pGB = sp + 8|0; + $pTerm = sp + 36|0; + $pE = sp + 12|0; + $pItem1 = sp + 52|0; $enc = sp + 68|0; HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $pExpr; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 20|0); + $4 = ((($3)) + 20|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pNC>>2] = $5; $6 = HEAP32[$pNC>>2]|0; $7 = HEAP32[$6>>2]|0; HEAP32[$pParse>>2] = $7; $8 = HEAP32[$pNC>>2]|0; - $9 = (($8) + 4|0); + $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; HEAP32[$pSrcList>>2] = $10; $11 = HEAP32[$pNC>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pAggInfo>>2] = $13; $14 = HEAP32[$2>>2]|0; $15 = HEAP8[$14>>0]|0; $16 = $15&255; - if ((($16|0) == 154) | (($16|0) == 156)) { + switch ($16|0) { + case 154: case 156: { $17 = HEAP32[$pSrcList>>2]|0; $18 = ($17|0)!=(0|0); - L3: do { + L5: do { if ($18) { $19 = HEAP32[$pSrcList>>2]|0; - $20 = (($19) + 8|0); + $20 = ((($19)) + 8|0); HEAP32[$pItem>>2] = $20; HEAP32[$i>>2] = 0; while(1) { @@ -150843,13 +152357,13 @@ function _analyzeAggregate($pWalker,$pExpr) { $23 = HEAP32[$22>>2]|0; $24 = ($21|0)<($23|0); if (!($24)) { - break L3; + break L5; } $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 28|0); + $26 = ((($25)) + 28|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$pItem>>2]|0; - $29 = (($28) + 40|0); + $29 = ((($28)) + 40|0); $30 = HEAP32[$29>>2]|0; $31 = ($27|0)==($30|0); if ($31) { @@ -150859,36 +152373,36 @@ function _analyzeAggregate($pWalker,$pExpr) { $163 = (($162) + 1)|0; HEAP32[$i>>2] = $163; $164 = HEAP32[$pItem>>2]|0; - $165 = (($164) + 72|0); + $165 = ((($164)) + 72|0); HEAP32[$pItem>>2] = $165; } $32 = HEAP32[$pAggInfo>>2]|0; - $33 = (($32) + 28|0); + $33 = ((($32)) + 28|0); $34 = HEAP32[$33>>2]|0; HEAP32[$pCol>>2] = $34; HEAP32[$k>>2] = 0; while(1) { $35 = HEAP32[$k>>2]|0; $36 = HEAP32[$pAggInfo>>2]|0; - $37 = (($36) + 32|0); + $37 = ((($36)) + 32|0); $38 = HEAP32[$37>>2]|0; $39 = ($35|0)<($38|0); if (!($39)) { break; } $40 = HEAP32[$pCol>>2]|0; - $41 = (($40) + 4|0); + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$2>>2]|0; - $44 = (($43) + 28|0); + $44 = ((($43)) + 28|0); $45 = HEAP32[$44>>2]|0; $46 = ($42|0)==($45|0); if ($46) { $47 = HEAP32[$pCol>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$2>>2]|0; - $51 = (($50) + 32|0); + $51 = ((($50)) + 32|0); $52 = HEAP16[$51>>1]|0; $53 = $52 << 16 >> 16; $54 = ($49|0)==($53|0); @@ -150900,12 +152414,12 @@ function _analyzeAggregate($pWalker,$pExpr) { $56 = (($55) + 1)|0; HEAP32[$k>>2] = $56; $57 = HEAP32[$pCol>>2]|0; - $58 = (($57) + 24|0); + $58 = ((($57)) + 24|0); HEAP32[$pCol>>2] = $58; } $59 = HEAP32[$k>>2]|0; $60 = HEAP32[$pAggInfo>>2]|0; - $61 = (($60) + 32|0); + $61 = ((($60)) + 32|0); $62 = HEAP32[$61>>2]|0; $63 = ($59|0)>=($62|0); if ($63) { @@ -150918,55 +152432,55 @@ function _analyzeAggregate($pWalker,$pExpr) { if ($68) { $69 = HEAP32[$k>>2]|0; $70 = HEAP32[$pAggInfo>>2]|0; - $71 = (($70) + 28|0); + $71 = ((($70)) + 28|0); $72 = HEAP32[$71>>2]|0; $73 = (($72) + (($69*24)|0)|0); HEAP32[$pCol>>2] = $73; $74 = HEAP32[$2>>2]|0; - $75 = (($74) + 44|0); + $75 = ((($74)) + 44|0); $76 = HEAP32[$75>>2]|0; $77 = HEAP32[$pCol>>2]|0; HEAP32[$77>>2] = $76; $78 = HEAP32[$2>>2]|0; - $79 = (($78) + 28|0); + $79 = ((($78)) + 28|0); $80 = HEAP32[$79>>2]|0; $81 = HEAP32[$pCol>>2]|0; - $82 = (($81) + 4|0); + $82 = ((($81)) + 4|0); HEAP32[$82>>2] = $80; $83 = HEAP32[$2>>2]|0; - $84 = (($83) + 32|0); + $84 = ((($83)) + 32|0); $85 = HEAP16[$84>>1]|0; $86 = $85 << 16 >> 16; $87 = HEAP32[$pCol>>2]|0; - $88 = (($87) + 8|0); + $88 = ((($87)) + 8|0); HEAP32[$88>>2] = $86; $89 = HEAP32[$pParse>>2]|0; - $90 = (($89) + 72|0); + $90 = ((($89)) + 72|0); $91 = HEAP32[$90>>2]|0; $92 = (($91) + 1)|0; HEAP32[$90>>2] = $92; $93 = HEAP32[$pCol>>2]|0; - $94 = (($93) + 16|0); + $94 = ((($93)) + 16|0); HEAP32[$94>>2] = $92; $95 = HEAP32[$pCol>>2]|0; - $96 = (($95) + 12|0); + $96 = ((($95)) + 12|0); HEAP32[$96>>2] = -1; $97 = HEAP32[$2>>2]|0; $98 = HEAP32[$pCol>>2]|0; - $99 = (($98) + 20|0); + $99 = ((($98)) + 20|0); HEAP32[$99>>2] = $97; $100 = HEAP32[$pAggInfo>>2]|0; - $101 = (($100) + 24|0); + $101 = ((($100)) + 24|0); $102 = HEAP32[$101>>2]|0; $103 = ($102|0)!=(0|0); - L20: do { + L22: do { if ($103) { $104 = HEAP32[$pAggInfo>>2]|0; - $105 = (($104) + 24|0); + $105 = ((($104)) + 24|0); $106 = HEAP32[$105>>2]|0; HEAP32[$pGB>>2] = $106; $107 = HEAP32[$pGB>>2]|0; - $108 = (($107) + 4|0); + $108 = ((($107)) + 4|0); $109 = HEAP32[$108>>2]|0; HEAP32[$pTerm>>2] = $109; $110 = HEAP32[$pGB>>2]|0; @@ -150978,7 +152492,7 @@ function _analyzeAggregate($pWalker,$pExpr) { $113 = HEAP32[$n>>2]|0; $114 = ($112|0)<($113|0); if (!($114)) { - break L20; + break L22; } $115 = HEAP32[$pTerm>>2]|0; $116 = HEAP32[$115>>2]|0; @@ -150989,19 +152503,19 @@ function _analyzeAggregate($pWalker,$pExpr) { $120 = ($119|0)==(154); if ($120) { $121 = HEAP32[$pE>>2]|0; - $122 = (($121) + 28|0); + $122 = ((($121)) + 28|0); $123 = HEAP32[$122>>2]|0; $124 = HEAP32[$2>>2]|0; - $125 = (($124) + 28|0); + $125 = ((($124)) + 28|0); $126 = HEAP32[$125>>2]|0; $127 = ($123|0)==($126|0); if ($127) { $128 = HEAP32[$pE>>2]|0; - $129 = (($128) + 32|0); + $129 = ((($128)) + 32|0); $130 = HEAP16[$129>>1]|0; $131 = $130 << 16 >> 16; $132 = HEAP32[$2>>2]|0; - $133 = (($132) + 32|0); + $133 = ((($132)) + 32|0); $134 = HEAP16[$133>>1]|0; $135 = $134 << 16 >> 16; $136 = ($131|0)==($135|0); @@ -151014,73 +152528,75 @@ function _analyzeAggregate($pWalker,$pExpr) { $141 = (($140) + 1)|0; HEAP32[$j>>2] = $141; $142 = HEAP32[$pTerm>>2]|0; - $143 = (($142) + 20|0); + $143 = ((($142)) + 20|0); HEAP32[$pTerm>>2] = $143; } $137 = HEAP32[$j>>2]|0; $138 = HEAP32[$pCol>>2]|0; - $139 = (($138) + 12|0); + $139 = ((($138)) + 12|0); HEAP32[$139>>2] = $137; } } while(0); $144 = HEAP32[$pCol>>2]|0; - $145 = (($144) + 12|0); + $145 = ((($144)) + 12|0); $146 = HEAP32[$145>>2]|0; $147 = ($146|0)<(0); if ($147) { $148 = HEAP32[$pAggInfo>>2]|0; - $149 = (($148) + 12|0); + $149 = ((($148)) + 12|0); $150 = HEAP32[$149>>2]|0; $151 = (($150) + 1)|0; HEAP32[$149>>2] = $151; $152 = HEAP32[$pCol>>2]|0; - $153 = (($152) + 12|0); + $153 = ((($152)) + 12|0); HEAP32[$153>>2] = $150; } } } $154 = HEAP32[$pAggInfo>>2]|0; $155 = HEAP32[$2>>2]|0; - $156 = (($155) + 40|0); + $156 = ((($155)) + 40|0); HEAP32[$156>>2] = $154; $157 = HEAP32[$2>>2]|0; HEAP8[$157>>0] = -100; $158 = HEAP32[$k>>2]|0; $159 = $158&65535; $160 = HEAP32[$2>>2]|0; - $161 = (($160) + 34|0); + $161 = ((($160)) + 34|0); HEAP16[$161>>1] = $159; } } while(0); HEAP32[$0>>2] = 1; $271 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($271|0); - } else if ((($16|0) == 155)) { + break; + } + case 155: { $166 = HEAP32[$pNC>>2]|0; - $167 = (($166) + 28|0); + $167 = ((($166)) + 28|0); $168 = HEAP16[$167>>1]|0; $169 = $168&65535; $170 = $169 & 8; $171 = ($170|0)==(0); if ($171) { $172 = HEAP32[$1>>2]|0; - $173 = (($172) + 16|0); + $173 = ((($172)) + 16|0); $174 = HEAP32[$173>>2]|0; $175 = HEAP32[$2>>2]|0; - $176 = (($175) + 38|0); + $176 = ((($175)) + 38|0); $177 = HEAP8[$176>>0]|0; $178 = $177&255; $179 = ($174|0)==($178|0); if ($179) { $180 = HEAP32[$pAggInfo>>2]|0; - $181 = (($180) + 40|0); + $181 = ((($180)) + 40|0); $182 = HEAP32[$181>>2]|0; HEAP32[$pItem1>>2] = $182; HEAP32[$i>>2] = 0; while(1) { $183 = HEAP32[$i>>2]|0; $184 = HEAP32[$pAggInfo>>2]|0; - $185 = (($184) + 44|0); + $185 = ((($184)) + 44|0); $186 = HEAP32[$185>>2]|0; $187 = ($183|0)<($186|0); if (!($187)) { @@ -151098,23 +152614,23 @@ function _analyzeAggregate($pWalker,$pExpr) { $194 = (($193) + 1)|0; HEAP32[$i>>2] = $194; $195 = HEAP32[$pItem1>>2]|0; - $196 = (($195) + 16|0); + $196 = ((($195)) + 16|0); HEAP32[$pItem1>>2] = $196; } $197 = HEAP32[$i>>2]|0; $198 = HEAP32[$pAggInfo>>2]|0; - $199 = (($198) + 44|0); + $199 = ((($198)) + 44|0); $200 = HEAP32[$199>>2]|0; $201 = ($197|0)>=($200|0); do { if ($201) { $202 = HEAP32[$pParse>>2]|0; $203 = HEAP32[$202>>2]|0; - $204 = (($203) + 16|0); + $204 = ((($203)) + 16|0); $205 = HEAP32[$204>>2]|0; - $206 = (($205) + 12|0); + $206 = ((($205)) + 12|0); $207 = HEAP32[$206>>2]|0; - $208 = (($207) + 77|0); + $208 = ((($207)) + 77|0); $209 = HEAP8[$208>>0]|0; HEAP8[$enc>>0] = $209; $210 = HEAP32[$pParse>>2]|0; @@ -151127,7 +152643,7 @@ function _analyzeAggregate($pWalker,$pExpr) { if ($215) { $216 = HEAP32[$i>>2]|0; $217 = HEAP32[$pAggInfo>>2]|0; - $218 = (($217) + 40|0); + $218 = ((($217)) + 40|0); $219 = HEAP32[$218>>2]|0; $220 = (($219) + ($216<<4)|0); HEAP32[$pItem1>>2] = $220; @@ -151135,29 +152651,29 @@ function _analyzeAggregate($pWalker,$pExpr) { $222 = HEAP32[$pItem1>>2]|0; HEAP32[$222>>2] = $221; $223 = HEAP32[$pParse>>2]|0; - $224 = (($223) + 72|0); + $224 = ((($223)) + 72|0); $225 = HEAP32[$224>>2]|0; $226 = (($225) + 1)|0; HEAP32[$224>>2] = $226; $227 = HEAP32[$pItem1>>2]|0; - $228 = (($227) + 8|0); + $228 = ((($227)) + 8|0); HEAP32[$228>>2] = $226; $229 = HEAP32[$pParse>>2]|0; $230 = HEAP32[$229>>2]|0; $231 = HEAP32[$2>>2]|0; - $232 = (($231) + 8|0); + $232 = ((($231)) + 8|0); $233 = HEAP32[$232>>2]|0; $234 = HEAP32[$2>>2]|0; - $235 = (($234) + 8|0); + $235 = ((($234)) + 8|0); $236 = HEAP32[$235>>2]|0; $237 = (_sqlite3Strlen30($236)|0); $238 = HEAP32[$2>>2]|0; - $239 = (($238) + 20|0); + $239 = ((($238)) + 20|0); $240 = HEAP32[$239>>2]|0; $241 = ($240|0)!=(0|0); if ($241) { $242 = HEAP32[$2>>2]|0; - $243 = (($242) + 20|0); + $243 = ((($242)) + 20|0); $244 = HEAP32[$243>>2]|0; $245 = HEAP32[$244>>2]|0; $247 = $245; @@ -151167,26 +152683,26 @@ function _analyzeAggregate($pWalker,$pExpr) { $246 = HEAP8[$enc>>0]|0; $248 = (_sqlite3FindFunction($230,$233,$237,$247,$246,0)|0); $249 = HEAP32[$pItem1>>2]|0; - $250 = (($249) + 4|0); + $250 = ((($249)) + 4|0); HEAP32[$250>>2] = $248; $251 = HEAP32[$2>>2]|0; - $252 = (($251) + 4|0); + $252 = ((($251)) + 4|0); $253 = HEAP32[$252>>2]|0; $254 = $253 & 16; $255 = ($254|0)!=(0); if ($255) { $256 = HEAP32[$pParse>>2]|0; - $257 = (($256) + 68|0); + $257 = ((($256)) + 68|0); $258 = HEAP32[$257>>2]|0; $259 = (($258) + 1)|0; HEAP32[$257>>2] = $259; $260 = HEAP32[$pItem1>>2]|0; - $261 = (($260) + 12|0); + $261 = ((($260)) + 12|0); HEAP32[$261>>2] = $258; break; } else { $262 = HEAP32[$pItem1>>2]|0; - $263 = (($262) + 12|0); + $263 = ((($262)) + 12|0); HEAP32[$263>>2] = -1; break; } @@ -151196,11 +152712,11 @@ function _analyzeAggregate($pWalker,$pExpr) { $264 = HEAP32[$i>>2]|0; $265 = $264&65535; $266 = HEAP32[$2>>2]|0; - $267 = (($266) + 34|0); + $267 = ((($266)) + 34|0); HEAP16[$267>>1] = $265; $268 = HEAP32[$pAggInfo>>2]|0; $269 = HEAP32[$2>>2]|0; - $270 = (($269) + 40|0); + $270 = ((($269)) + 40|0); HEAP32[$270>>2] = $268; HEAP32[$0>>2] = 1; $271 = HEAP32[$0>>2]|0; @@ -151210,12 +152726,15 @@ function _analyzeAggregate($pWalker,$pExpr) { HEAP32[$0>>2] = 0; $271 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($271|0); - } else { + break; + } + default: { HEAP32[$0>>2] = 0; $271 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($271|0); } - return 0|0; + } + return (0)|0; } function _analyzeAggregatesInSelect($pWalker,$pSelect) { $pWalker = $pWalker|0; @@ -151242,13 +152761,13 @@ function _addAggInfoColumn($db,$pInfo) { HEAP32[$1>>2] = $pInfo; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 28|0); + $4 = ((($3)) + 28|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 32|0); + $7 = ((($6)) + 32|0); $8 = (_sqlite3ArrayAllocate($2,$5,24,$7,$i)|0); $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 28|0); + $10 = ((($9)) + 28|0); HEAP32[$10>>2] = $8; $11 = HEAP32[$i>>2]|0; STACKTOP = sp;return ($11|0); @@ -151266,13 +152785,13 @@ function _addAggInfoFunc($db,$pInfo) { HEAP32[$1>>2] = $pInfo; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 40|0); + $4 = ((($3)) + 40|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 44|0); + $7 = ((($6)) + 44|0); $8 = (_sqlite3ArrayAllocate($2,$5,16,$7,$i)|0); $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 40|0); + $10 = ((($9)) + 40|0); HEAP32[$10>>2] = $8; $11 = HEAP32[$i>>2]|0; STACKTOP = sp;return ($11|0); @@ -151299,29 +152818,29 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { var $nKey = 0, $nOBSat = 0, $op = 0, $pKI = 0, $pOp = 0, $regBase = 0, $regPrevKey = 0, $regRecord = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $v = sp + 64|0; - $bSeq = sp + 60|0; - $nExpr = sp + 56|0; - $nBase = sp + 52|0; - $regBase = sp + 48|0; - $regRecord = sp + 44|0; - $nOBSat = sp + 40|0; + $0 = sp + 84|0; + $1 = sp + 52|0; + $2 = sp; + $3 = sp + 28|0; + $4 = sp + 76|0; + $5 = sp + 8|0; + $v = sp + 12|0; + $bSeq = sp + 44|0; + $nExpr = sp + 64|0; + $nBase = sp + 72|0; + $regBase = sp + 80|0; + $regRecord = sp + 88|0; + $nOBSat = sp + 32|0; $op = sp + 36|0; - $regPrevKey = sp + 32|0; - $addrFirst = sp + 28|0; - $addrJmp = sp + 24|0; - $pOp = sp + 20|0; - $nKey = sp + 16|0; - $pKI = sp + 12|0; - $addr1 = sp + 8|0; - $addr2 = sp + 4|0; - $iLimit = sp; + $regPrevKey = sp + 40|0; + $addrFirst = sp + 48|0; + $addrJmp = sp + 56|0; + $pOp = sp + 16|0; + $nKey = sp + 60|0; + $pKI = sp + 4|0; + $addr1 = sp + 20|0; + $addr2 = sp + 68|0; + $iLimit = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSort; HEAP32[$2>>2] = $pSelect; @@ -151329,11 +152848,11 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { HEAP32[$4>>2] = $nData; HEAP32[$5>>2] = $nPrefixReg; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; HEAP32[$v>>2] = $8; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 24|0); + $10 = ((($9)) + 24|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = $12 & 1; @@ -151351,13 +152870,13 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { $23 = (($21) + ($22))|0; HEAP32[$nBase>>2] = $23; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 72|0); + $25 = ((($24)) + 72|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + 1)|0; HEAP32[$25>>2] = $27; HEAP32[$regRecord>>2] = $27; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; HEAP32[$nOBSat>>2] = $30; $31 = HEAP32[$5>>2]|0; @@ -151371,13 +152890,13 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { HEAP32[$regBase>>2] = $37; } else { $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 72|0); + $39 = ((($38)) + 72|0); $40 = HEAP32[$39>>2]|0; $41 = (($40) + 1)|0; HEAP32[$regBase>>2] = $41; $42 = HEAP32[$nBase>>2]|0; $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 72|0); + $44 = ((($43)) + 72|0); $45 = HEAP32[$44>>2]|0; $46 = (($45) + ($42))|0; HEAP32[$44>>2] = $46; @@ -151392,7 +152911,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { if ($52) { $53 = HEAP32[$v>>2]|0; $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 8|0); + $55 = ((($54)) + 8|0); $56 = HEAP32[$55>>2]|0; $57 = HEAP32[$regBase>>2]|0; $58 = HEAP32[$nExpr>>2]|0; @@ -151426,21 +152945,21 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { do { if ($79) { $80 = HEAP32[$0>>2]|0; - $81 = (($80) + 72|0); + $81 = ((($80)) + 72|0); $82 = HEAP32[$81>>2]|0; $83 = (($82) + 1)|0; HEAP32[$regPrevKey>>2] = $83; $84 = HEAP32[$1>>2]|0; - $85 = (($84) + 4|0); + $85 = ((($84)) + 4|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$0>>2]|0; - $88 = (($87) + 72|0); + $88 = ((($87)) + 72|0); $89 = HEAP32[$88>>2]|0; $90 = (($89) + ($86))|0; HEAP32[$88>>2] = $90; $91 = HEAP32[$nExpr>>2]|0; $92 = HEAP32[$1>>2]|0; - $93 = (($92) + 4|0); + $93 = ((($92)) + 4|0); $94 = HEAP32[$93>>2]|0; $95 = (($91) - ($94))|0; $96 = HEAP32[$bSeq>>2]|0; @@ -151457,7 +152976,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { HEAP32[$addrFirst>>2] = $104; } else { $105 = HEAP32[$1>>2]|0; - $106 = (($105) + 8|0); + $106 = ((($105)) + 8|0); $107 = HEAP32[$106>>2]|0; $108 = (_sqlite3VdbeAddOp1($100,59,$107)|0); HEAP32[$addrFirst>>2] = $108; @@ -151466,18 +152985,18 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { $110 = HEAP32[$regPrevKey>>2]|0; $111 = HEAP32[$regBase>>2]|0; $112 = HEAP32[$1>>2]|0; - $113 = (($112) + 4|0); + $113 = ((($112)) + 4|0); $114 = HEAP32[$113>>2]|0; (_sqlite3VdbeAddOp3($109,42,$110,$111,$114)|0); $115 = HEAP32[$v>>2]|0; $116 = HEAP32[$1>>2]|0; - $117 = (($116) + 20|0); + $117 = ((($116)) + 20|0); $118 = HEAP32[$117>>2]|0; $119 = (_sqlite3VdbeGetOp($115,$118)|0); HEAP32[$pOp>>2] = $119; $120 = HEAP32[$0>>2]|0; $121 = HEAP32[$120>>2]|0; - $122 = (($121) + 64|0); + $122 = ((($121)) + 64|0); $123 = HEAP8[$122>>0]|0; $124 = ($123<<24>>24)!=(0); if ($124) { @@ -151487,17 +153006,17 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { $126 = HEAP32[$4>>2]|0; $127 = (($125) + ($126))|0; $128 = HEAP32[$pOp>>2]|0; - $129 = (($128) + 8|0); + $129 = ((($128)) + 8|0); HEAP32[$129>>2] = $127; $130 = HEAP32[$pOp>>2]|0; - $131 = (($130) + 16|0); + $131 = ((($130)) + 16|0); $132 = HEAP32[$131>>2]|0; HEAP32[$pKI>>2] = $132; $133 = HEAP32[$pKI>>2]|0; - $134 = (($133) + 16|0); + $134 = ((($133)) + 16|0); $135 = HEAP32[$134>>2]|0; $136 = HEAP32[$pKI>>2]|0; - $137 = (($136) + 6|0); + $137 = ((($136)) + 6|0); $138 = HEAP16[$137>>1]|0; $139 = $138&65535; _memset(($135|0),0,($139|0))|0; @@ -151510,7 +153029,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { $145 = HEAP32[$nOBSat>>2]|0; $146 = (_keyInfoFromExprList($142,$144,$145,1)|0); $147 = HEAP32[$pOp>>2]|0; - $148 = (($147) + 16|0); + $148 = ((($147)) + 16|0); HEAP32[$148>>2] = $146; $149 = HEAP32[$v>>2]|0; $150 = (_sqlite3VdbeCurrentAddr($149)|0); @@ -151524,27 +153043,27 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { $156 = HEAP32[$v>>2]|0; $157 = (_sqlite3VdbeMakeLabel($156)|0); $158 = HEAP32[$1>>2]|0; - $159 = (($158) + 16|0); + $159 = ((($158)) + 16|0); HEAP32[$159>>2] = $157; $160 = HEAP32[$0>>2]|0; - $161 = (($160) + 72|0); + $161 = ((($160)) + 72|0); $162 = HEAP32[$161>>2]|0; $163 = (($162) + 1)|0; HEAP32[$161>>2] = $163; $164 = HEAP32[$1>>2]|0; - $165 = (($164) + 12|0); + $165 = ((($164)) + 12|0); HEAP32[$165>>2] = $163; $166 = HEAP32[$v>>2]|0; $167 = HEAP32[$1>>2]|0; - $168 = (($167) + 12|0); + $168 = ((($167)) + 12|0); $169 = HEAP32[$168>>2]|0; $170 = HEAP32[$1>>2]|0; - $171 = (($170) + 16|0); + $171 = ((($170)) + 16|0); $172 = HEAP32[$171>>2]|0; (_sqlite3VdbeAddOp2($166,17,$169,$172)|0); $173 = HEAP32[$v>>2]|0; $174 = HEAP32[$1>>2]|0; - $175 = (($174) + 8|0); + $175 = ((($174)) + 8|0); $176 = HEAP32[$175>>2]|0; (_sqlite3VdbeAddOp1($173,119,$176)|0); $177 = HEAP32[$v>>2]|0; @@ -151554,7 +153073,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { $180 = HEAP32[$regBase>>2]|0; $181 = HEAP32[$regPrevKey>>2]|0; $182 = HEAP32[$1>>2]|0; - $183 = (($182) + 4|0); + $183 = ((($182)) + 4|0); $184 = HEAP32[$183>>2]|0; _sqlite3ExprCodeMove($179,$180,$181,$184); $185 = HEAP32[$v>>2]|0; @@ -151565,7 +153084,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { } } while(0); $187 = HEAP32[$1>>2]|0; - $188 = (($187) + 24|0); + $188 = ((($187)) + 24|0); $189 = HEAP8[$188>>0]|0; $190 = $189&255; $191 = $190 & 1; @@ -151578,29 +153097,29 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { $193 = HEAP32[$v>>2]|0; $194 = HEAP32[$op>>2]|0; $195 = HEAP32[$1>>2]|0; - $196 = (($195) + 8|0); + $196 = ((($195)) + 8|0); $197 = HEAP32[$196>>2]|0; $198 = HEAP32[$regRecord>>2]|0; (_sqlite3VdbeAddOp2($193,$194,$197,$198)|0); $199 = HEAP32[$2>>2]|0; - $200 = (($199) + 8|0); + $200 = ((($199)) + 8|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)!=(0); if (!($202)) { STACKTOP = sp;return; } $203 = HEAP32[$2>>2]|0; - $204 = (($203) + 12|0); + $204 = ((($203)) + 12|0); $205 = HEAP32[$204>>2]|0; $206 = ($205|0)!=(0); $207 = HEAP32[$2>>2]|0; if ($206) { - $208 = (($207) + 12|0); + $208 = ((($207)) + 12|0); $209 = HEAP32[$208>>2]|0; $210 = (($209) + 1)|0; HEAP32[$iLimit>>2] = $210; } else { - $211 = (($207) + 8|0); + $211 = ((($207)) + 8|0); $212 = HEAP32[$211>>2]|0; HEAP32[$iLimit>>2] = $212; } @@ -151619,12 +153138,12 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$nData,$nPrefixReg) { _sqlite3VdbeJumpHere($220,$221); $222 = HEAP32[$v>>2]|0; $223 = HEAP32[$1>>2]|0; - $224 = (($223) + 8|0); + $224 = ((($223)) + 8|0); $225 = HEAP32[$224>>2]|0; (_sqlite3VdbeAddOp1($222,105,$225)|0); $226 = HEAP32[$v>>2]|0; $227 = HEAP32[$1>>2]|0; - $228 = (($227) + 8|0); + $228 = ((($227)) + 8|0); $229 = HEAP32[$228>>2]|0; (_sqlite3VdbeAddOp1($226,95,$229)|0); $230 = HEAP32[$v>>2]|0; @@ -151641,14 +153160,22 @@ function _selectOpName($id) { $z = sp; HEAP32[$0>>2] = $id; $1 = HEAP32[$0>>2]|0; - if ((($1|0) == 118)) { - HEAP32[$z>>2] = 25360; - } else if ((($1|0) == 116)) { - HEAP32[$z>>2] = 25344; - } else if ((($1|0) == 117)) { - HEAP32[$z>>2] = 25376; - } else { - HEAP32[$z>>2] = 25384; + switch ($1|0) { + case 116: { + HEAP32[$z>>2] = 27604; + break; + } + case 118: { + HEAP32[$z>>2] = 27614; + break; + } + case 117: { + HEAP32[$z>>2] = 27624; + break; + } + default: { + HEAP32[$z>>2] = 27631; + } } $2 = HEAP32[$z>>2]|0; STACKTOP = sp;return ($2|0); @@ -151670,35 +153197,35 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { var $destQueue = 0, $eDest = 0, $i = 0, $iCurrent = 0, $iDistinct = 0, $iQueue = 0, $nCol = 0, $pKeyInfo = 0, $pLimit = 0, $pOffset = 0, $pOrderBy = 0, $pSetup = 0, $pSrc = 0, $rc = 0, $regCurrent = 0, $regLimit = 0, $regOffset = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; - $0 = sp + 108|0; - $1 = sp + 104|0; - $2 = sp + 100|0; - $pSrc = sp + 96|0; - $nCol = sp + 92|0; - $v = sp + 88|0; - $pSetup = sp + 84|0; - $addrTop = sp + 80|0; - $addrCont = sp + 76|0; - $addrBreak = sp + 72|0; - $iCurrent = sp + 68|0; - $regCurrent = sp + 64|0; - $iQueue = sp + 60|0; - $iDistinct = sp + 56|0; - $eDest = sp + 52|0; - $destQueue = sp + 32|0; - $i = sp + 28|0; - $rc = sp + 24|0; - $pOrderBy = sp + 20|0; - $pLimit = sp + 16|0; - $pOffset = sp + 12|0; - $regLimit = sp + 8|0; - $regOffset = sp + 4|0; - $pKeyInfo = sp; + $0 = sp + 32|0; + $1 = sp + 28|0; + $2 = sp; + $pSrc = sp + 100|0; + $nCol = sp + 72|0; + $v = sp + 8|0; + $pSetup = sp + 12|0; + $addrTop = sp + 64|0; + $addrCont = sp + 80|0; + $addrBreak = sp + 88|0; + $iCurrent = sp + 96|0; + $regCurrent = sp + 104|0; + $iQueue = sp + 108|0; + $iDistinct = sp + 36|0; + $eDest = sp + 40|0; + $destQueue = sp + 44|0; + $i = sp + 68|0; + $rc = sp + 76|0; + $pOrderBy = sp + 16|0; + $pLimit = sp + 4|0; + $pOffset = sp + 20|0; + $regLimit = sp + 84|0; + $regOffset = sp + 24|0; + $pKeyInfo = sp + 92|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pDest; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 32|0); + $4 = ((($3)) + 32|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSrc>>2] = $5; $6 = HEAP32[$1>>2]|0; @@ -151706,11 +153233,11 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $8 = HEAP32[$7>>2]|0; HEAP32[$nCol>>2] = $8; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; HEAP32[$v>>2] = $11; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 52|0); + $13 = ((($12)) + 52|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pSetup>>2] = $14; HEAP32[$iCurrent>>2] = 0; @@ -151730,35 +153257,35 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $22 = HEAP32[$addrBreak>>2]|0; _computeLimitRegisters($20,$21,$22); $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 60|0); + $24 = ((($23)) + 60|0); $25 = HEAP32[$24>>2]|0; HEAP32[$pLimit>>2] = $25; $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 64|0); + $27 = ((($26)) + 64|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pOffset>>2] = $28; $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 8|0); + $30 = ((($29)) + 8|0); $31 = HEAP32[$30>>2]|0; HEAP32[$regLimit>>2] = $31; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 12|0); + $33 = ((($32)) + 12|0); $34 = HEAP32[$33>>2]|0; HEAP32[$regOffset>>2] = $34; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 64|0); + $36 = ((($35)) + 64|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 60|0); + $38 = ((($37)) + 60|0); HEAP32[$38>>2] = 0; $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 12|0); + $40 = ((($39)) + 12|0); HEAP32[$40>>2] = 0; $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 8|0); + $42 = ((($41)) + 8|0); HEAP32[$42>>2] = 0; $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 48|0); + $44 = ((($43)) + 48|0); $45 = HEAP32[$44>>2]|0; HEAP32[$pOrderBy>>2] = $45; HEAP32[$i>>2] = 0; @@ -151772,9 +153299,9 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { } $50 = HEAP32[$i>>2]|0; $51 = HEAP32[$pSrc>>2]|0; - $52 = (($51) + 8|0); + $52 = ((($51)) + 8|0); $53 = (($52) + (($50*72)|0)|0); - $54 = (($53) + 37|0); + $54 = ((($53)) + 37|0); $55 = HEAP8[$54>>0]|0; $56 = ($55&255) >>> 3; $57 = $56 & 1; @@ -151790,20 +153317,20 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { } if ((label|0) == 5) { $61 = HEAP32[$pSrc>>2]|0; - $62 = (($61) + 8|0); + $62 = ((($61)) + 8|0); $63 = (($62) + (($60*72)|0)|0); - $64 = (($63) + 40|0); + $64 = ((($63)) + 40|0); $65 = HEAP32[$64>>2]|0; HEAP32[$iCurrent>>2] = $65; } $67 = HEAP32[$0>>2]|0; - $68 = (($67) + 68|0); + $68 = ((($67)) + 68|0); $69 = HEAP32[$68>>2]|0; $70 = (($69) + 1)|0; HEAP32[$68>>2] = $70; HEAP32[$iQueue>>2] = $69; $71 = HEAP32[$1>>2]|0; - $72 = (($71) + 4|0); + $72 = ((($71)) + 4|0); $73 = HEAP8[$72>>0]|0; $74 = $73&255; $75 = ($74|0)==(115); @@ -151813,7 +153340,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $78 = $77 ? 8 : 6; HEAP32[$eDest>>2] = $78; $79 = HEAP32[$0>>2]|0; - $80 = (($79) + 68|0); + $80 = ((($79)) + 68|0); $81 = HEAP32[$80>>2]|0; $82 = (($81) + 1)|0; HEAP32[$80>>2] = $82; @@ -151826,7 +153353,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $85 = HEAP32[$iQueue>>2]|0; _sqlite3SelectDestInit($destQueue,$84,$85); $86 = HEAP32[$0>>2]|0; - $87 = (($86) + 72|0); + $87 = ((($86)) + 72|0); $88 = HEAP32[$87>>2]|0; $89 = (($88) + 1)|0; HEAP32[$87>>2] = $89; @@ -151851,7 +153378,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $104 = HEAP32[$pKeyInfo>>2]|0; (_sqlite3VdbeAddOp4($99,57,$100,$103,0,$104,-6)|0); $105 = HEAP32[$pOrderBy>>2]|0; - $106 = (($destQueue) + 16|0); + $106 = ((($destQueue)) + 16|0); HEAP32[$106>>2] = $105; } else { $107 = HEAP32[$v>>2]|0; @@ -151866,10 +153393,10 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $113 = HEAP32[$iDistinct>>2]|0; $114 = (_sqlite3VdbeAddOp2($112,57,$113,0)|0); $115 = HEAP32[$1>>2]|0; - $116 = (($115) + 16|0); + $116 = ((($115)) + 16|0); HEAP32[$116>>2] = $114; $117 = HEAP32[$1>>2]|0; - $118 = (($117) + 6|0); + $118 = ((($117)) + 6|0); $119 = HEAP16[$118>>1]|0; $120 = $119&65535; $121 = $120 | 8; @@ -151877,10 +153404,10 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { HEAP16[$118>>1] = $122; } $123 = HEAP32[$1>>2]|0; - $124 = (($123) + 48|0); + $124 = ((($123)) + 48|0); HEAP32[$124>>2] = 0; $125 = HEAP32[$pSetup>>2]|0; - $126 = (($125) + 56|0); + $126 = ((($125)) + 56|0); HEAP32[$126>>2] = 0; $127 = HEAP32[$0>>2]|0; $128 = HEAP32[$pSetup>>2]|0; @@ -151888,7 +153415,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { HEAP32[$rc>>2] = $129; $130 = HEAP32[$1>>2]|0; $131 = HEAP32[$pSetup>>2]|0; - $132 = (($131) + 56|0); + $132 = ((($131)) + 56|0); HEAP32[$132>>2] = $130; $133 = HEAP32[$rc>>2]|0; $134 = ($133|0)!=(0); @@ -151946,14 +153473,14 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $171 = HEAP32[$addrCont>>2]|0; _sqlite3VdbeResolveLabel($170,$171); $172 = HEAP32[$1>>2]|0; - $173 = (($172) + 52|0); + $173 = ((($172)) + 52|0); HEAP32[$173>>2] = 0; $174 = HEAP32[$0>>2]|0; $175 = HEAP32[$1>>2]|0; (_sqlite3Select($174,$175,$destQueue)|0); $176 = HEAP32[$pSetup>>2]|0; $177 = HEAP32[$1>>2]|0; - $178 = (($177) + 52|0); + $178 = ((($177)) + 52|0); HEAP32[$178>>2] = $176; $179 = HEAP32[$v>>2]|0; $180 = HEAP32[$addrTop>>2]|0; @@ -151965,20 +153492,20 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $183 = HEAP32[$0>>2]|0; $184 = HEAP32[$183>>2]|0; $185 = HEAP32[$1>>2]|0; - $186 = (($185) + 48|0); + $186 = ((($185)) + 48|0); $187 = HEAP32[$186>>2]|0; _sqlite3ExprListDelete($184,$187); $188 = HEAP32[$pOrderBy>>2]|0; $189 = HEAP32[$1>>2]|0; - $190 = (($189) + 48|0); + $190 = ((($189)) + 48|0); HEAP32[$190>>2] = $188; $191 = HEAP32[$pLimit>>2]|0; $192 = HEAP32[$1>>2]|0; - $193 = (($192) + 60|0); + $193 = ((($192)) + 60|0); HEAP32[$193>>2] = $191; $194 = HEAP32[$pOffset>>2]|0; $195 = HEAP32[$1>>2]|0; - $196 = (($195) + 64|0); + $196 = ((($195)) + 64|0); HEAP32[$196>>2] = $194; STACKTOP = sp;return; } @@ -152016,52 +153543,52 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { var $savedOffset = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; - $0 = sp + 212|0; - $1 = sp + 208|0; - $2 = sp + 204|0; - $3 = sp + 200|0; - $i = sp + 196|0; - $j = sp + 192|0; - $pPrior = sp + 188|0; - $v = sp + 184|0; - $destA = sp + 164|0; - $destB = sp + 144|0; - $regAddrA = sp + 140|0; - $regAddrB = sp + 136|0; - $addrSelectA = sp + 132|0; - $addrSelectB = sp + 128|0; - $regOutA = sp + 124|0; - $regOutB = sp + 120|0; - $addrOutA = sp + 116|0; - $addrOutB = sp + 112|0; - $addrEofA = sp + 108|0; - $addrEofA_noB = sp + 104|0; - $addrEofB = sp + 100|0; - $addrAltB = sp + 96|0; - $addrAeqB = sp + 92|0; - $addrAgtB = sp + 88|0; - $regLimitA = sp + 84|0; - $regLimitB = sp + 80|0; - $regPrev = sp + 76|0; - $savedLimit = sp + 72|0; - $savedOffset = sp + 68|0; - $labelCmpr = sp + 64|0; - $labelEnd = sp + 60|0; - $j1 = sp + 56|0; - $op = sp + 52|0; - $pKeyDup = sp + 48|0; - $pKeyMerge = sp + 44|0; - $db = sp + 40|0; - $pOrderBy = sp + 36|0; - $nOrderBy = sp + 32|0; - $aPermute = sp + 28|0; - $iSub1 = sp + 24|0; - $iSub2 = sp + 20|0; - $pItem = sp + 16|0; - $pNew = sp + 12|0; - $pItem1 = sp + 8|0; - $nExpr = sp + 4|0; - $pFirst = sp; + $0 = sp + 104|0; + $1 = sp + 100|0; + $2 = sp + 96|0; + $3 = sp + 196|0; + $i = sp + 204|0; + $j = sp + 188|0; + $pPrior = sp + 12|0; + $v = sp + 160|0; + $destA = sp + 16|0; + $destB = sp + 36|0; + $regAddrA = sp + 56|0; + $regAddrB = sp + 60|0; + $addrSelectA = sp + 64|0; + $addrSelectB = sp + 68|0; + $regOutA = sp + 72|0; + $regOutB = sp + 156|0; + $addrOutA = sp + 76|0; + $addrOutB = sp + 80|0; + $addrEofA = sp + 176|0; + $addrEofA_noB = sp + 184|0; + $addrEofB = sp + 192|0; + $addrAltB = sp + 200|0; + $addrAeqB = sp + 208|0; + $addrAgtB = sp + 212|0; + $regLimitA = sp + 108|0; + $regLimitB = sp + 112|0; + $regPrev = sp + 116|0; + $savedLimit = sp + 120|0; + $savedOffset = sp + 124|0; + $labelCmpr = sp + 128|0; + $labelEnd = sp + 132|0; + $j1 = sp + 152|0; + $op = sp + 136|0; + $pKeyDup = sp + 140|0; + $pKeyMerge = sp + 144|0; + $db = sp + 148|0; + $pOrderBy = sp + 8|0; + $nOrderBy = sp + 4|0; + $aPermute = sp + 172|0; + $iSub1 = sp + 84|0; + $iSub2 = sp + 168|0; + $pItem = sp + 164|0; + $pNew = sp + 88|0; + $pItem1 = sp + 180|0; + $nExpr = sp; + $pFirst = sp + 92|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $pDest; @@ -152071,7 +153598,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; HEAP32[$v>>2] = $8; $9 = HEAP32[$v>>2]|0; @@ -152081,16 +153608,16 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $12 = (_sqlite3VdbeMakeLabel($11)|0); HEAP32[$labelCmpr>>2] = $12; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; HEAP32[$op>>2] = $16; $17 = HEAP32[$2>>2]|0; - $18 = (($17) + 52|0); + $18 = ((($17)) + 52|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pPrior>>2] = $19; $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 48|0); + $21 = ((($20)) + 48|0); $22 = HEAP32[$21>>2]|0; HEAP32[$pOrderBy>>2] = $22; $23 = HEAP32[$pOrderBy>>2]|0; @@ -152103,7 +153630,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { HEAP32[$i>>2] = 1; while(1) { $27 = HEAP32[$db>>2]|0; - $28 = (($27) + 64|0); + $28 = ((($27)) + 64|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = ($30|0)==(0); @@ -152120,7 +153647,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { } HEAP32[$j>>2] = 0; $37 = HEAP32[$pOrderBy>>2]|0; - $38 = (($37) + 4|0); + $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; HEAP32[$pItem>>2] = $39; while(1) { @@ -152131,7 +153658,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { break; } $43 = HEAP32[$pItem>>2]|0; - $44 = (($43) + 16|0); + $44 = ((($43)) + 16|0); $45 = HEAP16[$44>>1]|0; $46 = $45&65535; $47 = HEAP32[$i>>2]|0; @@ -152143,7 +153670,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $50 = (($49) + 1)|0; HEAP32[$j>>2] = $50; $51 = HEAP32[$pItem>>2]|0; - $52 = (($51) + 20|0); + $52 = ((($51)) + 20|0); HEAP32[$pItem>>2] = $52; } $53 = HEAP32[$j>>2]|0; @@ -152159,13 +153686,13 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { break; } $60 = HEAP32[$pNew>>2]|0; - $61 = (($60) + 4|0); + $61 = ((($60)) + 4|0); $62 = HEAP32[$61>>2]|0; $63 = $62 | 1024; HEAP32[$61>>2] = $63; $64 = HEAP32[$i>>2]|0; $65 = HEAP32[$pNew>>2]|0; - $66 = (($65) + 8|0); + $66 = ((($65)) + 8|0); HEAP32[$66>>2] = $64; $67 = HEAP32[$1>>2]|0; $68 = HEAP32[$pOrderBy>>2]|0; @@ -152181,10 +153708,10 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $76 = (($75) + 1)|0; HEAP32[$nOrderBy>>2] = $76; $77 = HEAP32[$pOrderBy>>2]|0; - $78 = (($77) + 4|0); + $78 = ((($77)) + 4|0); $79 = HEAP32[$78>>2]|0; $80 = (($79) + (($75*20)|0)|0); - $81 = (($80) + 16|0); + $81 = ((($80)) + 16|0); HEAP16[$81>>1] = $74; } } @@ -152207,7 +153734,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { if ($89) { HEAP32[$i>>2] = 0; $90 = HEAP32[$pOrderBy>>2]|0; - $91 = (($90) + 4|0); + $91 = ((($90)) + 4|0); $92 = HEAP32[$91>>2]|0; HEAP32[$pItem1>>2] = $92; while(1) { @@ -152218,7 +153745,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { break; } $96 = HEAP32[$pItem1>>2]|0; - $97 = (($96) + 16|0); + $97 = ((($96)) + 16|0); $98 = HEAP16[$97>>1]|0; $99 = $98&65535; $100 = (($99) - 1)|0; @@ -152230,7 +153757,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $105 = (($104) + 1)|0; HEAP32[$i>>2] = $105; $106 = HEAP32[$pItem1>>2]|0; - $107 = (($106) + 20|0); + $107 = ((($106)) + 20|0); HEAP32[$pItem1>>2] = $107; } $108 = HEAP32[$1>>2]|0; @@ -152242,14 +153769,14 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { } $111 = HEAP32[$pOrderBy>>2]|0; $112 = HEAP32[$2>>2]|0; - $113 = (($112) + 48|0); + $113 = ((($112)) + 48|0); HEAP32[$113>>2] = $111; $114 = HEAP32[$1>>2]|0; $115 = HEAP32[$114>>2]|0; $116 = HEAP32[$pOrderBy>>2]|0; $117 = (_sqlite3ExprListDup($115,$116,0)|0); $118 = HEAP32[$pPrior>>2]|0; - $119 = (($118) + 48|0); + $119 = ((($118)) + 48|0); HEAP32[$119>>2] = $117; $120 = HEAP32[$op>>2]|0; $121 = ($120|0)==(116); @@ -152262,14 +153789,14 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $124 = HEAP32[$123>>2]|0; HEAP32[$nExpr>>2] = $124; $125 = HEAP32[$1>>2]|0; - $126 = (($125) + 72|0); + $126 = ((($125)) + 72|0); $127 = HEAP32[$126>>2]|0; $128 = (($127) + 1)|0; HEAP32[$regPrev>>2] = $128; $129 = HEAP32[$nExpr>>2]|0; $130 = (($129) + 1)|0; $131 = HEAP32[$1>>2]|0; - $132 = (($131) + 72|0); + $132 = ((($131)) + 72|0); $133 = HEAP32[$132>>2]|0; $134 = (($133) + ($130))|0; HEAP32[$132>>2] = $134; @@ -152297,12 +153824,12 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $148 = (_multiSelectCollSeq($145,$146,$147)|0); $149 = HEAP32[$i>>2]|0; $150 = HEAP32[$pKeyDup>>2]|0; - $151 = (($150) + 20|0); + $151 = ((($150)) + 20|0); $152 = (($151) + ($149<<2)|0); HEAP32[$152>>2] = $148; $153 = HEAP32[$i>>2]|0; $154 = HEAP32[$pKeyDup>>2]|0; - $155 = (($154) + 16|0); + $155 = ((($154)) + 16|0); $156 = HEAP32[$155>>2]|0; $157 = (($156) + ($153)|0); HEAP8[$157>>0] = 0; @@ -152314,35 +153841,35 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { } } while(0); $160 = HEAP32[$2>>2]|0; - $161 = (($160) + 52|0); + $161 = ((($160)) + 52|0); HEAP32[$161>>2] = 0; $162 = HEAP32[$pPrior>>2]|0; - $163 = (($162) + 56|0); + $163 = ((($162)) + 56|0); HEAP32[$163>>2] = 0; $164 = HEAP32[$1>>2]|0; $165 = HEAP32[$2>>2]|0; $166 = HEAP32[$2>>2]|0; - $167 = (($166) + 48|0); + $167 = ((($166)) + 48|0); $168 = HEAP32[$167>>2]|0; - (_sqlite3ResolveOrderGroupBy($164,$165,$168,16480)|0); + (_sqlite3ResolveOrderGroupBy($164,$165,$168,20831)|0); $169 = HEAP32[$pPrior>>2]|0; - $170 = (($169) + 52|0); + $170 = ((($169)) + 52|0); $171 = HEAP32[$170>>2]|0; $172 = ($171|0)==(0|0); if ($172) { $173 = HEAP32[$1>>2]|0; $174 = HEAP32[$pPrior>>2]|0; $175 = HEAP32[$pPrior>>2]|0; - $176 = (($175) + 48|0); + $176 = ((($175)) + 48|0); $177 = HEAP32[$176>>2]|0; - (_sqlite3ResolveOrderGroupBy($173,$174,$177,16480)|0); + (_sqlite3ResolveOrderGroupBy($173,$174,$177,20831)|0); } $178 = HEAP32[$1>>2]|0; $179 = HEAP32[$2>>2]|0; $180 = HEAP32[$labelEnd>>2]|0; _computeLimitRegisters($178,$179,$180); $181 = HEAP32[$2>>2]|0; - $182 = (($181) + 8|0); + $182 = ((($181)) + 8|0); $183 = HEAP32[$182>>2]|0; $184 = ($183|0)!=(0); $185 = HEAP32[$op>>2]|0; @@ -152350,30 +153877,30 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $or$cond = $184 & $186; if ($or$cond) { $187 = HEAP32[$1>>2]|0; - $188 = (($187) + 72|0); + $188 = ((($187)) + 72|0); $189 = HEAP32[$188>>2]|0; $190 = (($189) + 1)|0; HEAP32[$188>>2] = $190; HEAP32[$regLimitA>>2] = $190; $191 = HEAP32[$1>>2]|0; - $192 = (($191) + 72|0); + $192 = ((($191)) + 72|0); $193 = HEAP32[$192>>2]|0; $194 = (($193) + 1)|0; HEAP32[$192>>2] = $194; HEAP32[$regLimitB>>2] = $194; $195 = HEAP32[$v>>2]|0; $196 = HEAP32[$2>>2]|0; - $197 = (($196) + 12|0); + $197 = ((($196)) + 12|0); $198 = HEAP32[$197>>2]|0; $199 = ($198|0)!=(0); $200 = HEAP32[$2>>2]|0; if ($199) { - $201 = (($200) + 12|0); + $201 = ((($200)) + 12|0); $202 = HEAP32[$201>>2]|0; $203 = (($202) + 1)|0; $207 = $203; } else { - $204 = (($200) + 8|0); + $204 = ((($200)) + 8|0); $205 = HEAP32[$204>>2]|0; $207 = $205; } @@ -152389,40 +153916,40 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { } $211 = HEAP32[$db>>2]|0; $212 = HEAP32[$2>>2]|0; - $213 = (($212) + 60|0); + $213 = ((($212)) + 60|0); $214 = HEAP32[$213>>2]|0; _sqlite3ExprDelete($211,$214); $215 = HEAP32[$2>>2]|0; - $216 = (($215) + 60|0); + $216 = ((($215)) + 60|0); HEAP32[$216>>2] = 0; $217 = HEAP32[$db>>2]|0; $218 = HEAP32[$2>>2]|0; - $219 = (($218) + 64|0); + $219 = ((($218)) + 64|0); $220 = HEAP32[$219>>2]|0; _sqlite3ExprDelete($217,$220); $221 = HEAP32[$2>>2]|0; - $222 = (($221) + 64|0); + $222 = ((($221)) + 64|0); HEAP32[$222>>2] = 0; $223 = HEAP32[$1>>2]|0; - $224 = (($223) + 72|0); + $224 = ((($223)) + 72|0); $225 = HEAP32[$224>>2]|0; $226 = (($225) + 1)|0; HEAP32[$224>>2] = $226; HEAP32[$regAddrA>>2] = $226; $227 = HEAP32[$1>>2]|0; - $228 = (($227) + 72|0); + $228 = ((($227)) + 72|0); $229 = HEAP32[$228>>2]|0; $230 = (($229) + 1)|0; HEAP32[$228>>2] = $230; HEAP32[$regAddrB>>2] = $230; $231 = HEAP32[$1>>2]|0; - $232 = (($231) + 72|0); + $232 = ((($231)) + 72|0); $233 = HEAP32[$232>>2]|0; $234 = (($233) + 1)|0; HEAP32[$232>>2] = $234; HEAP32[$regOutA>>2] = $234; $235 = HEAP32[$1>>2]|0; - $236 = (($235) + 72|0); + $236 = ((($235)) + 72|0); $237 = HEAP32[$236>>2]|0; $238 = (($237) + 1)|0; HEAP32[$236>>2] = $238; @@ -152442,10 +153969,10 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { HEAP32[$j1>>2] = $247; $248 = HEAP32[$regLimitA>>2]|0; $249 = HEAP32[$pPrior>>2]|0; - $250 = (($249) + 8|0); + $250 = ((($249)) + 8|0); HEAP32[$250>>2] = $248; $251 = HEAP32[$1>>2]|0; - $252 = (($251) + 468|0); + $252 = ((($251)) + 468|0); $253 = HEAP32[$252>>2]|0; HEAP32[$iSub1>>2] = $253; $254 = HEAP32[$1>>2]|0; @@ -152467,22 +153994,22 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $266 = (_sqlite3VdbeAddOp3($263,20,$264,0,$265)|0); HEAP32[$j1>>2] = $266; $267 = HEAP32[$2>>2]|0; - $268 = (($267) + 8|0); + $268 = ((($267)) + 8|0); $269 = HEAP32[$268>>2]|0; HEAP32[$savedLimit>>2] = $269; $270 = HEAP32[$2>>2]|0; - $271 = (($270) + 12|0); + $271 = ((($270)) + 12|0); $272 = HEAP32[$271>>2]|0; HEAP32[$savedOffset>>2] = $272; $273 = HEAP32[$regLimitB>>2]|0; $274 = HEAP32[$2>>2]|0; - $275 = (($274) + 8|0); + $275 = ((($274)) + 8|0); HEAP32[$275>>2] = $273; $276 = HEAP32[$2>>2]|0; - $277 = (($276) + 12|0); + $277 = ((($276)) + 12|0); HEAP32[$277>>2] = 0; $278 = HEAP32[$1>>2]|0; - $279 = (($278) + 468|0); + $279 = ((($278)) + 468|0); $280 = HEAP32[$279>>2]|0; HEAP32[$iSub2>>2] = $280; $281 = HEAP32[$1>>2]|0; @@ -152490,11 +154017,11 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { (_sqlite3Select($281,$282,$destB)|0); $283 = HEAP32[$savedLimit>>2]|0; $284 = HEAP32[$2>>2]|0; - $285 = (($284) + 8|0); + $285 = ((($284)) + 8|0); HEAP32[$285>>2] = $283; $286 = HEAP32[$savedOffset>>2]|0; $287 = HEAP32[$2>>2]|0; - $288 = (($287) + 12|0); + $288 = ((($287)) + 12|0); HEAP32[$288>>2] = $286; $289 = HEAP32[$v>>2]|0; $290 = HEAP32[$regAddrB>>2]|0; @@ -152550,7 +154077,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $326 = HEAP32[$addrEofA>>2]|0; (_sqlite3VdbeAddOp2($325,16,0,$326)|0); $327 = HEAP32[$pPrior>>2]|0; - $328 = (($327) + 24|0); + $328 = ((($327)) + 24|0); $329 = $328; $330 = $329; $331 = HEAP32[$330>>2]|0; @@ -152558,7 +154085,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $333 = $332; $334 = HEAP32[$333>>2]|0; $335 = HEAP32[$2>>2]|0; - $336 = (($335) + 24|0); + $336 = ((($335)) + 24|0); $337 = $336; $338 = $337; $339 = HEAP32[$338>>2]|0; @@ -152580,7 +154107,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $351 = HEAP32[$addrEofA>>2]|0; HEAP32[$addrEofB>>2] = $351; $352 = HEAP32[$2>>2]|0; - $353 = (($352) + 24|0); + $353 = ((($352)) + 24|0); $354 = $353; $355 = $354; $356 = HEAP32[$355>>2]|0; @@ -152588,7 +154115,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $358 = $357; $359 = HEAP32[$358>>2]|0; $360 = HEAP32[$pPrior>>2]|0; - $361 = (($360) + 24|0); + $361 = ((($360)) + 24|0); $362 = $361; $363 = $362; $364 = HEAP32[$363>>2]|0; @@ -152602,7 +154129,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $372 = $368 | $371; if ($372) { $373 = HEAP32[$pPrior>>2]|0; - $374 = (($373) + 24|0); + $374 = ((($373)) + 24|0); $375 = $374; $376 = $375; $377 = HEAP32[$376>>2]|0; @@ -152610,7 +154137,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $379 = $378; $380 = HEAP32[$379>>2]|0; $381 = HEAP32[$2>>2]|0; - $382 = (($381) + 24|0); + $382 = ((($381)) + 24|0); $383 = $382; $384 = $383; HEAP32[$384>>2] = $377; @@ -152712,9 +154239,9 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $444 = HEAP32[$aPermute>>2]|0; (_sqlite3VdbeAddOp4($443,41,0,0,0,$444,-15)|0); $445 = HEAP32[$v>>2]|0; - $446 = (($destA) + 8|0); + $446 = ((($destA)) + 8|0); $447 = HEAP32[$446>>2]|0; - $448 = (($destB) + 8|0); + $448 = ((($destB)) + 8|0); $449 = HEAP32[$448>>2]|0; $450 = HEAP32[$nOrderBy>>2]|0; $451 = HEAP32[$pKeyMerge>>2]|0; @@ -152738,14 +154265,14 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { HEAP32[$pFirst>>2] = $463; while(1) { $464 = HEAP32[$pFirst>>2]|0; - $465 = (($464) + 52|0); + $465 = ((($464)) + 52|0); $466 = HEAP32[$465>>2]|0; $467 = ($466|0)!=(0|0); if (!($467)) { break; } $468 = HEAP32[$pFirst>>2]|0; - $469 = (($468) + 52|0); + $469 = ((($468)) + 52|0); $470 = HEAP32[$469>>2]|0; HEAP32[$pFirst>>2] = $470; } @@ -152755,27 +154282,27 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { _generateColumnNames($471,0,$473); } $474 = HEAP32[$2>>2]|0; - $475 = (($474) + 52|0); + $475 = ((($474)) + 52|0); $476 = HEAP32[$475>>2]|0; $477 = ($476|0)!=(0|0); if ($477) { $478 = HEAP32[$db>>2]|0; $479 = HEAP32[$2>>2]|0; - $480 = (($479) + 52|0); + $480 = ((($479)) + 52|0); $481 = HEAP32[$480>>2]|0; _sqlite3SelectDelete($478,$481); } $482 = HEAP32[$pPrior>>2]|0; $483 = HEAP32[$2>>2]|0; - $484 = (($483) + 52|0); + $484 = ((($483)) + 52|0); HEAP32[$484>>2] = $482; $485 = HEAP32[$2>>2]|0; $486 = HEAP32[$pPrior>>2]|0; - $487 = (($486) + 56|0); + $487 = ((($486)) + 56|0); HEAP32[$487>>2] = $485; $488 = HEAP32[$1>>2]|0; $489 = HEAP32[$2>>2]|0; - $490 = (($489) + 4|0); + $490 = ((($489)) + 4|0); $491 = HEAP8[$490>>0]|0; $492 = $491&255; $493 = HEAP32[$iSub1>>2]|0; @@ -152796,20 +154323,20 @@ function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $v = sp + 20|0; - $zMsg = sp + 16|0; + $0 = sp + 20|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 36|0; + $4 = sp + 16|0; + $v = sp + 24|0; + $zMsg = sp + 40|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $op; HEAP32[$2>>2] = $iSub1; HEAP32[$3>>2] = $iSub2; HEAP32[$4>>2] = $bUseTmp; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 450|0); + $6 = ((($5)) + 450|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($8|0)==(2); @@ -152817,7 +154344,7 @@ function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { STACKTOP = sp;return; } $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; HEAP32[$v>>2] = $12; $13 = HEAP32[$0>>2]|0; @@ -152826,21 +154353,21 @@ function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { $16 = HEAP32[$3>>2]|0; $17 = HEAP32[$4>>2]|0; $18 = ($17|0)!=(0); - $19 = $18 ? 25320 : 1216; + $19 = $18 ? 27548 : 14425; $20 = HEAP32[$1>>2]|0; $21 = (_selectOpName($20)|0); HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = (($vararg_buffer) + 8|0); + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $19; - $vararg_ptr3 = (($vararg_buffer) + 12|0); + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $21; - $22 = (_sqlite3MPrintf($14,25280,$vararg_buffer)|0); + $22 = (_sqlite3MPrintf($14,27567,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $22; $23 = HEAP32[$v>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 464|0); + $25 = ((($24)) + 464|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$zMsg>>2]|0; (_sqlite3VdbeAddOp4($23,155,$26,0,0,$27,-1)|0); @@ -152862,13 +154389,13 @@ function _multiSelectCollSeq($pParse,$p,$iCol) { HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $iCol; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 52|0); + $4 = ((($3)) + 52|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); if ($6) { $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 52|0); + $9 = ((($8)) + 52|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$2>>2]|0; $12 = (_multiSelectCollSeq($7,$10,$11)|0); @@ -152895,7 +154422,7 @@ function _multiSelectCollSeq($pParse,$p,$iCol) { $21 = HEAP32[$2>>2]|0; $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + (($21*20)|0)|0); $27 = HEAP32[$26>>2]|0; @@ -152915,26 +154442,26 @@ function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { var $i = 0, $nOrderBy = 0, $pColl = 0, $pItem = 0, $pOrderBy = 0, $pRet = 0, $pTerm = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp; $pOrderBy = sp + 28|0; - $nOrderBy = sp + 24|0; - $db = sp + 20|0; - $pRet = sp + 16|0; - $i = sp + 12|0; - $pItem = sp + 8|0; - $pTerm = sp + 4|0; - $pColl = sp; + $nOrderBy = sp + 32|0; + $db = sp + 40|0; + $pRet = sp + 12|0; + $i = sp + 24|0; + $pItem = sp + 20|0; + $pTerm = sp + 8|0; + $pColl = sp + 4|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $nExtra; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 48|0); + $4 = ((($3)) + 48|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pOrderBy>>2] = $5; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 48|0); + $7 = ((($6)) + 48|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$8>>2]|0; HEAP32[$nOrderBy>>2] = $9; @@ -152963,7 +154490,7 @@ function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { } $22 = HEAP32[$i>>2]|0; $23 = HEAP32[$pOrderBy>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + (($22*20)|0)|0); HEAP32[$pItem>>2] = $26; @@ -152971,7 +154498,7 @@ function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { $28 = HEAP32[$27>>2]|0; HEAP32[$pTerm>>2] = $28; $29 = HEAP32[$pTerm>>2]|0; - $30 = (($29) + 4|0); + $30 = ((($29)) + 4|0); $31 = HEAP32[$30>>2]|0; $32 = $31 & 256; $33 = ($32|0)!=(0); @@ -152983,7 +154510,7 @@ function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { } else { $37 = HEAP32[$1>>2]|0; $38 = HEAP32[$pItem>>2]|0; - $39 = (($38) + 16|0); + $39 = ((($38)) + 16|0); $40 = HEAP16[$39>>1]|0; $41 = $40&65535; $42 = (($41) - 1)|0; @@ -152993,7 +154520,7 @@ function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { $45 = ($44|0)==(0|0); if ($45) { $46 = HEAP32[$db>>2]|0; - $47 = (($46) + 8|0); + $47 = ((($46)) + 8|0); $48 = HEAP32[$47>>2]|0; HEAP32[$pColl>>2] = $48; } @@ -153004,7 +154531,7 @@ function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { $53 = (_sqlite3ExprAddCollateString($49,$50,$52)|0); $54 = HEAP32[$i>>2]|0; $55 = HEAP32[$pOrderBy>>2]|0; - $56 = (($55) + 4|0); + $56 = ((($55)) + 4|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + (($54*20)|0)|0); HEAP32[$58>>2] = $53; @@ -153012,19 +154539,19 @@ function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { $59 = HEAP32[$pColl>>2]|0; $60 = HEAP32[$i>>2]|0; $61 = HEAP32[$pRet>>2]|0; - $62 = (($61) + 20|0); + $62 = ((($61)) + 20|0); $63 = (($62) + ($60<<2)|0); HEAP32[$63>>2] = $59; $64 = HEAP32[$i>>2]|0; $65 = HEAP32[$pOrderBy>>2]|0; - $66 = (($65) + 4|0); + $66 = ((($65)) + 4|0); $67 = HEAP32[$66>>2]|0; $68 = (($67) + (($64*20)|0)|0); - $69 = (($68) + 12|0); + $69 = ((($68)) + 12|0); $70 = HEAP8[$69>>0]|0; $71 = HEAP32[$i>>2]|0; $72 = HEAP32[$pRet>>2]|0; - $73 = (($72) + 16|0); + $73 = ((($72)) + 16|0); $74 = HEAP32[$73>>2]|0; $75 = (($74) + ($71)|0); HEAP8[$75>>0] = $70; @@ -153057,23 +154584,23 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $5 = sp + 44|0; - $6 = sp + 40|0; - $7 = sp + 36|0; - $8 = sp + 32|0; - $v = sp + 28|0; - $iContinue = sp + 24|0; - $addr = sp + 20|0; - $j1 = sp + 16|0; - $j2 = sp + 12|0; - $r1 = sp + 8|0; - $r2 = sp + 4|0; - $r11 = sp; + $0 = sp + 60|0; + $1 = sp + 44|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 4|0; + $5 = sp + 40|0; + $6 = sp + 48|0; + $7 = sp + 56|0; + $8 = sp + 64|0; + $v = sp + 24|0; + $iContinue = sp; + $addr = sp + 32|0; + $j1 = sp + 28|0; + $j2 = sp + 8|0; + $r1 = sp + 36|0; + $r2 = sp + 12|0; + $r11 = sp + 52|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $p; HEAP32[$3>>2] = $pIn; @@ -153083,7 +154610,7 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p HEAP32[$7>>2] = $pKeyInfo; HEAP32[$8>>2] = $iBreak; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; HEAP32[$v>>2] = $11; $12 = HEAP32[$v>>2]|0; @@ -153101,12 +154628,12 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p HEAP32[$j1>>2] = $20; $21 = HEAP32[$v>>2]|0; $22 = HEAP32[$3>>2]|0; - $23 = (($22) + 8|0); + $23 = ((($22)) + 8|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$6>>2]|0; $26 = (($25) + 1)|0; $27 = HEAP32[$3>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$7>>2]|0; $31 = (_sqlite3KeyInfoRef($30)|0); @@ -153124,12 +154651,12 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p _sqlite3VdbeJumpHere($39,$40); $41 = HEAP32[$v>>2]|0; $42 = HEAP32[$3>>2]|0; - $43 = (($42) + 8|0); + $43 = ((($42)) + 8|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$6>>2]|0; $46 = (($45) + 1)|0; $47 = HEAP32[$3>>2]|0; - $48 = (($47) + 12|0); + $48 = ((($47)) + 12|0); $49 = HEAP32[$48>>2]|0; $50 = (($49) - 1)|0; (_sqlite3VdbeAddOp3($41,33,$44,$46,$50)|0); @@ -153139,7 +154666,7 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p } $53 = HEAP32[$1>>2]|0; $54 = HEAP32[$53>>2]|0; - $55 = (($54) + 64|0); + $55 = ((($54)) + 64|0); $56 = HEAP8[$55>>0]|0; $57 = ($56<<24>>24)!=(0); if ($57) { @@ -153149,7 +154676,7 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p } $58 = HEAP32[$v>>2]|0; $59 = HEAP32[$2>>2]|0; - $60 = (($59) + 12|0); + $60 = ((($59)) + 12|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$iContinue>>2]|0; _codeOffset($58,$61,$62); @@ -153166,22 +154693,22 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p HEAP32[$r2>>2] = $69; $70 = HEAP32[$v>>2]|0; $71 = HEAP32[$3>>2]|0; - $72 = (($71) + 8|0); + $72 = ((($71)) + 8|0); $73 = HEAP32[$72>>2]|0; $74 = HEAP32[$3>>2]|0; - $75 = (($74) + 12|0); + $75 = ((($74)) + 12|0); $76 = HEAP32[$75>>2]|0; $77 = HEAP32[$r1>>2]|0; (_sqlite3VdbeAddOp3($70,49,$73,$76,$77)|0); $78 = HEAP32[$v>>2]|0; $79 = HEAP32[$4>>2]|0; - $80 = (($79) + 4|0); + $80 = ((($79)) + 4|0); $81 = HEAP32[$80>>2]|0; $82 = HEAP32[$r2>>2]|0; (_sqlite3VdbeAddOp2($78,74,$81,$82)|0); $83 = HEAP32[$v>>2]|0; $84 = HEAP32[$4>>2]|0; - $85 = (($84) + 4|0); + $85 = ((($84)) + 4|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$r1>>2]|0; $88 = HEAP32[$r2>>2]|0; @@ -153199,35 +154726,35 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p case 11: { $94 = HEAP32[$2>>2]|0; $95 = HEAP32[$94>>2]|0; - $96 = (($95) + 4|0); + $96 = ((($95)) + 4|0); $97 = HEAP32[$96>>2]|0; $98 = HEAP32[$97>>2]|0; $99 = HEAP32[$4>>2]|0; - $100 = (($99) + 1|0); + $100 = ((($99)) + 1|0); $101 = HEAP8[$100>>0]|0; $102 = (_sqlite3CompareAffinity($98,$101)|0); $103 = HEAP32[$4>>2]|0; - $104 = (($103) + 1|0); + $104 = ((($103)) + 1|0); HEAP8[$104>>0] = $102; $105 = HEAP32[$1>>2]|0; $106 = (_sqlite3GetTempReg($105)|0); HEAP32[$r11>>2] = $106; $107 = HEAP32[$v>>2]|0; $108 = HEAP32[$3>>2]|0; - $109 = (($108) + 8|0); + $109 = ((($108)) + 8|0); $110 = HEAP32[$109>>2]|0; $111 = HEAP32[$r11>>2]|0; $112 = HEAP32[$4>>2]|0; - $113 = (($112) + 1|0); + $113 = ((($112)) + 1|0); (_sqlite3VdbeAddOp4($107,49,$110,1,$111,$113,1)|0); $114 = HEAP32[$1>>2]|0; $115 = HEAP32[$3>>2]|0; - $116 = (($115) + 8|0); + $116 = ((($115)) + 8|0); $117 = HEAP32[$116>>2]|0; _sqlite3ExprCacheAffinityChange($114,$117,1); $118 = HEAP32[$v>>2]|0; $119 = HEAP32[$4>>2]|0; - $120 = (($119) + 4|0); + $120 = ((($119)) + 4|0); $121 = HEAP32[$120>>2]|0; $122 = HEAP32[$r11>>2]|0; (_sqlite3VdbeAddOp2($118,110,$121,$122)|0); @@ -153239,49 +154766,49 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p case 10: { $125 = HEAP32[$1>>2]|0; $126 = HEAP32[$3>>2]|0; - $127 = (($126) + 8|0); + $127 = ((($126)) + 8|0); $128 = HEAP32[$127>>2]|0; $129 = HEAP32[$4>>2]|0; - $130 = (($129) + 4|0); + $130 = ((($129)) + 4|0); $131 = HEAP32[$130>>2]|0; _sqlite3ExprCodeMove($125,$128,$131,1); break; } case 13: { $132 = HEAP32[$4>>2]|0; - $133 = (($132) + 8|0); + $133 = ((($132)) + 8|0); $134 = HEAP32[$133>>2]|0; $135 = ($134|0)==(0); if ($135) { $136 = HEAP32[$1>>2]|0; $137 = HEAP32[$3>>2]|0; - $138 = (($137) + 12|0); + $138 = ((($137)) + 12|0); $139 = HEAP32[$138>>2]|0; $140 = (_sqlite3GetTempRange($136,$139)|0); $141 = HEAP32[$4>>2]|0; - $142 = (($141) + 8|0); + $142 = ((($141)) + 8|0); HEAP32[$142>>2] = $140; $143 = HEAP32[$3>>2]|0; - $144 = (($143) + 12|0); + $144 = ((($143)) + 12|0); $145 = HEAP32[$144>>2]|0; $146 = HEAP32[$4>>2]|0; - $147 = (($146) + 12|0); + $147 = ((($146)) + 12|0); HEAP32[$147>>2] = $145; } $148 = HEAP32[$1>>2]|0; $149 = HEAP32[$3>>2]|0; - $150 = (($149) + 8|0); + $150 = ((($149)) + 8|0); $151 = HEAP32[$150>>2]|0; $152 = HEAP32[$4>>2]|0; - $153 = (($152) + 8|0); + $153 = ((($152)) + 8|0); $154 = HEAP32[$153>>2]|0; $155 = HEAP32[$4>>2]|0; - $156 = (($155) + 12|0); + $156 = ((($155)) + 12|0); $157 = HEAP32[$156>>2]|0; _sqlite3ExprCodeMove($148,$151,$154,$157); $158 = HEAP32[$v>>2]|0; $159 = HEAP32[$4>>2]|0; - $160 = (($159) + 4|0); + $160 = ((($159)) + 4|0); $161 = HEAP32[$160>>2]|0; (_sqlite3VdbeAddOp1($158,22,$161)|0); break; @@ -153289,30 +154816,30 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p default: { $162 = HEAP32[$v>>2]|0; $163 = HEAP32[$3>>2]|0; - $164 = (($163) + 8|0); + $164 = ((($163)) + 8|0); $165 = HEAP32[$164>>2]|0; $166 = HEAP32[$3>>2]|0; - $167 = (($166) + 12|0); + $167 = ((($166)) + 12|0); $168 = HEAP32[$167>>2]|0; (_sqlite3VdbeAddOp2($162,35,$165,$168)|0); $169 = HEAP32[$1>>2]|0; $170 = HEAP32[$3>>2]|0; - $171 = (($170) + 8|0); + $171 = ((($170)) + 8|0); $172 = HEAP32[$171>>2]|0; $173 = HEAP32[$3>>2]|0; - $174 = (($173) + 12|0); + $174 = ((($173)) + 12|0); $175 = HEAP32[$174>>2]|0; _sqlite3ExprCacheAffinityChange($169,$172,$175); } } $176 = HEAP32[$2>>2]|0; - $177 = (($176) + 8|0); + $177 = ((($176)) + 8|0); $178 = HEAP32[$177>>2]|0; $179 = ($178|0)!=(0); if ($179) { $180 = HEAP32[$v>>2]|0; $181 = HEAP32[$2>>2]|0; - $182 = (($181) + 8|0); + $182 = ((($181)) + 8|0); $183 = HEAP32[$182>>2]|0; $184 = HEAP32[$8>>2]|0; (_sqlite3VdbeAddOp3($180,139,$183,$184,-1)|0); @@ -153363,7 +154890,7 @@ function _substExprList($db,$pList,$iTable,$pEList) { $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$i>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + (($11*20)|0)|0); $16 = HEAP32[$15>>2]|0; @@ -153372,7 +154899,7 @@ function _substExprList($db,$pList,$iTable,$pEList) { $19 = (_substExpr($10,$16,$17,$18)|0); $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + (($20*20)|0)|0); HEAP32[$24>>2] = $19; @@ -153417,13 +154944,13 @@ function _substExpr($db,$pExpr,$iTable,$pEList) { do { if ($10) { $11 = HEAP32[$2>>2]|0; - $12 = (($11) + 28|0); + $12 = ((($11)) + 28|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$3>>2]|0; $15 = ($13|0)==($14|0); if ($15) { $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 32|0); + $17 = ((($16)) + 32|0); $18 = HEAP16[$17>>1]|0; $19 = $18 << 16 >> 16; $20 = ($19|0)<(0); @@ -153434,11 +154961,11 @@ function _substExpr($db,$pExpr,$iTable,$pEList) { } else { $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 32|0); + $24 = ((($23)) + 32|0); $25 = HEAP16[$24>>1]|0; $26 = $25 << 16 >> 16; $27 = HEAP32[$4>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + (($26*20)|0)|0); $31 = HEAP32[$30>>2]|0; @@ -153462,32 +154989,32 @@ function _substExpr($db,$pExpr,$iTable,$pEList) { if ((label|0) == 8) { $36 = HEAP32[$1>>2]|0; $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 12|0); + $38 = ((($37)) + 12|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$3>>2]|0; $41 = HEAP32[$4>>2]|0; $42 = (_substExpr($36,$39,$40,$41)|0); $43 = HEAP32[$2>>2]|0; - $44 = (($43) + 12|0); + $44 = ((($43)) + 12|0); HEAP32[$44>>2] = $42; $45 = HEAP32[$1>>2]|0; $46 = HEAP32[$2>>2]|0; - $47 = (($46) + 16|0); + $47 = ((($46)) + 16|0); $48 = HEAP32[$47>>2]|0; $49 = HEAP32[$3>>2]|0; $50 = HEAP32[$4>>2]|0; $51 = (_substExpr($45,$48,$49,$50)|0); $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 16|0); + $53 = ((($52)) + 16|0); HEAP32[$53>>2] = $51; $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 4|0); + $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; $57 = $56 & 2048; $58 = ($57|0)!=(0); $59 = HEAP32[$1>>2]|0; $60 = HEAP32[$2>>2]|0; - $61 = (($60) + 20|0); + $61 = ((($60)) + 20|0); if ($58) { $62 = HEAP32[$61>>2]|0; $63 = HEAP32[$3>>2]|0; @@ -153519,13 +155046,13 @@ function _substSelect($db,$p,$iTable,$pEList) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pItem = 0, $pSrc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $pSrc = sp + 8|0; - $pItem = sp + 4|0; - $i = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $pSrc = sp + 4|0; + $pItem = sp; + $i = sp + 12|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $iTable; @@ -153543,47 +155070,47 @@ function _substSelect($db,$p,$iTable,$pEList) { _substExprList($6,$8,$9,$10); $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 40|0); + $13 = ((($12)) + 40|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; $16 = HEAP32[$3>>2]|0; _substExprList($11,$14,$15,$16); $17 = HEAP32[$0>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 48|0); + $19 = ((($18)) + 48|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$2>>2]|0; $22 = HEAP32[$3>>2]|0; _substExprList($17,$20,$21,$22); $23 = HEAP32[$0>>2]|0; $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 44|0); + $25 = ((($24)) + 44|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$2>>2]|0; $28 = HEAP32[$3>>2]|0; $29 = (_substExpr($23,$26,$27,$28)|0); $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 44|0); + $31 = ((($30)) + 44|0); HEAP32[$31>>2] = $29; $32 = HEAP32[$0>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 36|0); + $34 = ((($33)) + 36|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[$2>>2]|0; $37 = HEAP32[$3>>2]|0; $38 = (_substExpr($32,$35,$36,$37)|0); $39 = HEAP32[$1>>2]|0; - $40 = (($39) + 36|0); + $40 = ((($39)) + 36|0); HEAP32[$40>>2] = $38; $41 = HEAP32[$0>>2]|0; $42 = HEAP32[$1>>2]|0; - $43 = (($42) + 52|0); + $43 = ((($42)) + 52|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$2>>2]|0; $46 = HEAP32[$3>>2]|0; _substSelect($41,$44,$45,$46); $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 32|0); + $48 = ((($47)) + 32|0); $49 = HEAP32[$48>>2]|0; HEAP32[$pSrc>>2] = $49; $50 = HEAP32[$pSrc>>2]|0; @@ -153595,7 +155122,7 @@ function _substSelect($db,$p,$iTable,$pEList) { $53 = HEAP32[$52>>2]|0; HEAP32[$i>>2] = $53; $54 = HEAP32[$pSrc>>2]|0; - $55 = (($54) + 8|0); + $55 = ((($54)) + 8|0); HEAP32[$pItem>>2] = $55; while(1) { $56 = HEAP32[$i>>2]|0; @@ -153605,7 +155132,7 @@ function _substSelect($db,$p,$iTable,$pEList) { } $58 = HEAP32[$0>>2]|0; $59 = HEAP32[$pItem>>2]|0; - $60 = (($59) + 20|0); + $60 = ((($59)) + 20|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$2>>2]|0; $63 = HEAP32[$3>>2]|0; @@ -153614,7 +155141,7 @@ function _substSelect($db,$p,$iTable,$pEList) { $65 = (($64) + -1)|0; HEAP32[$i>>2] = $65; $66 = HEAP32[$pItem>>2]|0; - $67 = (($66) + 72|0); + $67 = ((($66)) + 72|0); HEAP32[$pItem>>2] = $67; } STACKTOP = sp;return; @@ -153629,13 +155156,13 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $db = 0, $iSkip = 0, $p = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $db = sp + 12|0; - $iSkip = sp + 8|0; - $v = sp + 4|0; - $p = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $db = sp + 24|0; + $iSkip = sp + 4|0; + $v = sp; + $p = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName; HEAP32[$2>>2] = $pTab; @@ -153643,7 +155170,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; - $6 = (($5) + 24|0); + $6 = ((($5)) + 24|0); $7 = HEAP32[$6>>2]|0; $8 = $7 & 524288; $9 = ($8|0)!=(0); @@ -153651,7 +155178,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { STACKTOP = sp;return; } $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 44|0); + $11 = ((($10)) + 44|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = $13 & 16; @@ -153660,7 +155187,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { STACKTOP = sp;return; } $16 = HEAP32[$2>>2]|0; - $17 = (($16) + 12|0); + $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)!=(0|0); if ($19) { @@ -153676,7 +155203,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { do { if ($24) { $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 16|0); + $26 = ((($25)) + 16|0); $27 = HEAP32[$26>>2]|0; HEAP32[$p>>2] = $27; while(1) { @@ -153686,7 +155213,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { break; } $30 = HEAP32[$p>>2]|0; - $31 = (($30) + 24|0); + $31 = ((($30)) + 24|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = ($33|0)!=(0); @@ -153694,7 +155221,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { break; } $35 = HEAP32[$db>>2]|0; - $36 = (($35) + 24|0); + $36 = ((($35)) + 24|0); $37 = HEAP32[$36>>2]|0; $38 = $37 & 16777216; $39 = ($38|0)!=(0); @@ -153702,7 +155229,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { break; } $40 = HEAP32[$p>>2]|0; - $41 = (($40) + 4|0); + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; HEAP32[$p>>2] = $42; } @@ -153722,7 +155249,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { } } while(0); $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 438|0); + $50 = ((($49)) + 438|0); HEAP8[$50>>0] = 1; $51 = HEAP32[$0>>2]|0; $52 = HEAP32[$db>>2]|0; @@ -153730,10 +155257,10 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { $54 = (_sqlite3SrcListDup($52,$53,0)|0); _sqlite3DeleteFrom($51,$54,0); $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 438|0); + $56 = ((($55)) + 438|0); HEAP8[$56>>0] = 0; $57 = HEAP32[$db>>2]|0; - $58 = (($57) + 24|0); + $58 = ((($57)) + 24|0); $59 = HEAP32[$58>>2]|0; $60 = $59 & 16777216; $61 = ($60|0)==(0); @@ -153765,18 +155292,19 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $db = 0; - var $pDb = 0, $pTrigger = 0, $v = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + var $pDb = 0, $pTrigger = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer2 = sp; - $0 = sp + 40|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 24|0; $1 = sp + 36|0; $2 = sp + 32|0; - $3 = sp + 28|0; - $v = sp + 24|0; - $db = sp + 20|0; - $pTrigger = sp + 16|0; - $pDb = sp + 12|0; + $3 = sp + 20|0; + $v = sp + 28|0; + $db = sp + 40|0; + $pTrigger = sp + 44|0; + $pDb = sp + 48|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $iDb; @@ -153786,7 +155314,7 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { HEAP32[$db>>2] = $5; $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$db>>2]|0; - $8 = (($7) + 16|0); + $8 = ((($7)) + 16|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($6<<4)|0); HEAP32[$pDb>>2] = $10; @@ -153797,7 +155325,7 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { $14 = HEAP32[$2>>2]|0; _sqlite3BeginWriteOperation($13,1,$14); $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 44|0); + $16 = ((($15)) + 44|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 & 16; @@ -153820,12 +155348,12 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { $28 = HEAP32[$pTrigger>>2]|0; _sqlite3DropTriggerPtr($27,$28); $29 = HEAP32[$pTrigger>>2]|0; - $30 = (($29) + 32|0); + $30 = ((($29)) + 32|0); $31 = HEAP32[$30>>2]|0; HEAP32[$pTrigger>>2] = $31; } $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 44|0); + $33 = ((($32)) + 44|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; $36 = $35 & 8; @@ -153836,30 +155364,30 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$41>>2]|0; - HEAP32[$vararg_buffer2>>2] = $40; - $vararg_ptr1 = (($vararg_buffer2) + 4|0); + HEAP32[$vararg_buffer>>2] = $40; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $42; - _sqlite3NestedParse($38,25632,$vararg_buffer2); + _sqlite3NestedParse($38,27856,$vararg_buffer); } $43 = HEAP32[$0>>2]|0; $44 = HEAP32[$pDb>>2]|0; $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$2>>2]|0; $47 = ($46|0)==(1); - $48 = $47 ? 14904 : 14928; + $48 = $47 ? 19269 : 19288; $49 = HEAP32[$1>>2]|0; $50 = HEAP32[$49>>2]|0; HEAP32[$vararg_buffer2>>2] = $45; - $vararg_ptr5 = (($vararg_buffer2) + 4|0); + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); HEAP32[$vararg_ptr5>>2] = $48; - $vararg_ptr6 = (($vararg_buffer2) + 8|0); + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); HEAP32[$vararg_ptr6>>2] = $50; - _sqlite3NestedParse($43,25680,$vararg_buffer2); + _sqlite3NestedParse($43,27901,$vararg_buffer2); $51 = HEAP32[$3>>2]|0; $52 = ($51|0)!=(0); if (!($52)) { $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 44|0); + $54 = ((($53)) + 44|0); $55 = HEAP8[$54>>0]|0; $56 = $55&255; $57 = $56 & 16; @@ -153871,7 +155399,7 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { } } $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 44|0); + $62 = ((($61)) + 44|0); $63 = HEAP8[$62>>0]|0; $64 = $63&255; $65 = $64 & 16; @@ -153916,18 +155444,18 @@ function _destroyTable($pParse,$pTab) { var $7 = 0, $8 = 0, $9 = 0, $iDb = 0, $iDestroyed = 0, $iIdx = 0, $iLargest = 0, $iTab = 0, $pIdx = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $iTab = sp + 20|0; - $iDestroyed = sp + 16|0; - $pIdx = sp + 12|0; - $iLargest = sp + 8|0; - $iIdx = sp + 4|0; - $iDb = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $iTab = sp + 8|0; + $iDestroyed = sp + 20|0; + $pIdx = sp + 28|0; + $iLargest = sp; + $iIdx = sp + 12|0; + $iDb = sp + 24|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 32|0); + $3 = ((($2)) + 32|0); $4 = HEAP32[$3>>2]|0; HEAP32[$iTab>>2] = $4; HEAP32[$iDestroyed>>2] = 0; @@ -153951,7 +155479,7 @@ function _destroyTable($pParse,$pTab) { HEAP32[$iLargest>>2] = $10; } $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pIdx>>2] = $13; while(1) { @@ -153961,7 +155489,7 @@ function _destroyTable($pParse,$pTab) { break; } $16 = HEAP32[$pIdx>>2]|0; - $17 = (($16) + 44|0); + $17 = ((($16)) + 44|0); $18 = HEAP32[$17>>2]|0; HEAP32[$iIdx>>2] = $18; $19 = HEAP32[$iDestroyed>>2]|0; @@ -153987,7 +155515,7 @@ function _destroyTable($pParse,$pTab) { } } $28 = HEAP32[$pIdx>>2]|0; - $29 = (($28) + 20|0); + $29 = ((($28)) + 20|0); $30 = HEAP32[$29>>2]|0; HEAP32[$pIdx>>2] = $30; } @@ -153999,7 +155527,7 @@ function _destroyTable($pParse,$pTab) { $33 = HEAP32[$0>>2]|0; $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 68|0); + $36 = ((($35)) + 68|0); $37 = HEAP32[$36>>2]|0; $38 = (_sqlite3SchemaToIndex($34,$37)|0); HEAP32[$iDb>>2] = $38; @@ -154028,12 +155556,12 @@ function _sqliteViewResetAll($db,$idx) { HEAP32[$1>>2] = $idx; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 16|0); + $4 = ((($3)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + ($2<<4)|0); - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 78|0); + $9 = ((($8)) + 78|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = $11 & 2; @@ -154043,13 +155571,13 @@ function _sqliteViewResetAll($db,$idx) { } $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 16|0); + $16 = ((($15)) + 16|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($14<<4)|0); - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 8|0); - $22 = (($21) + 8|0); + $21 = ((($20)) + 8|0); + $22 = ((($21)) + 8|0); $23 = HEAP32[$22>>2]|0; HEAP32[$i>>2] = $23; while(1) { @@ -154059,11 +155587,11 @@ function _sqliteViewResetAll($db,$idx) { break; } $26 = HEAP32[$i>>2]|0; - $27 = (($26) + 8|0); + $27 = ((($26)) + 8|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pTab>>2] = $28; $29 = HEAP32[$pTab>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = ($31|0)!=(0|0); if ($32) { @@ -154071,10 +155599,10 @@ function _sqliteViewResetAll($db,$idx) { $34 = HEAP32[$pTab>>2]|0; _sqliteDeleteColumnNames($33,$34); $35 = HEAP32[$pTab>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$pTab>>2]|0; - $38 = (($37) + 38|0); + $38 = ((($37)) + 38|0); HEAP16[$38>>1] = 0; } $39 = HEAP32[$i>>2]|0; @@ -154083,12 +155611,12 @@ function _sqliteViewResetAll($db,$idx) { } $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); $44 = HEAP32[$43>>2]|0; $45 = (($44) + ($41<<4)|0); - $46 = (($45) + 12|0); + $46 = ((($45)) + 12|0); $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 78|0); + $48 = ((($47)) + 78|0); $49 = HEAP16[$48>>1]|0; $50 = $49&65535; $51 = $50 & -3; @@ -154111,7 +155639,7 @@ function _sqliteDeleteColumnNames($db,$pTable) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $pTable; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pCol>>2] = $4; $5 = ($4|0)!=(0|0); @@ -154122,7 +155650,7 @@ function _sqliteDeleteColumnNames($db,$pTable) { while(1) { $6 = HEAP32[$i>>2]|0; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 38|0); + $8 = ((($7)) + 38|0); $9 = HEAP16[$8>>1]|0; $10 = $9 << 16 >> 16; $11 = ($6|0)<($10|0); @@ -154135,33 +155663,33 @@ function _sqliteDeleteColumnNames($db,$pTable) { _sqlite3DbFree($12,$14); $15 = HEAP32[$0>>2]|0; $16 = HEAP32[$pCol>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; _sqlite3ExprDelete($15,$18); $19 = HEAP32[$0>>2]|0; $20 = HEAP32[$pCol>>2]|0; - $21 = (($20) + 8|0); + $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; _sqlite3DbFree($19,$22); $23 = HEAP32[$0>>2]|0; $24 = HEAP32[$pCol>>2]|0; - $25 = (($24) + 12|0); + $25 = ((($24)) + 12|0); $26 = HEAP32[$25>>2]|0; _sqlite3DbFree($23,$26); $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$pCol>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; _sqlite3DbFree($27,$30); $31 = HEAP32[$i>>2]|0; $32 = (($31) + 1)|0; HEAP32[$i>>2] = $32; $33 = HEAP32[$pCol>>2]|0; - $34 = (($33) + 24|0); + $34 = ((($33)) + 24|0); HEAP32[$pCol>>2] = $34; } $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; _sqlite3DbFree($12,$37); STACKTOP = sp;return; @@ -154177,41 +155705,41 @@ function _sqlite3ResolveSelfReference($pParse,$pTab,$type,$pExpr,$pList) { var $sNC = 0, $sSrc = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; - $0 = sp + 136|0; - $1 = sp + 132|0; - $2 = sp + 128|0; + $0 = sp + 80|0; + $1 = sp + 120|0; + $2 = sp + 84|0; $3 = sp + 124|0; - $4 = sp + 120|0; + $4 = sp + 132|0; $sSrc = sp; $sNC = sp + 88|0; - $i = sp + 80|0; + $i = sp + 128|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $type; HEAP32[$3>>2] = $pExpr; HEAP32[$4>>2] = $pList; - ;HEAP32[$sNC+0>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - dest=$sSrc+0|0; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + dest=$sSrc; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAP32[$sSrc>>2] = 1; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = (($sSrc) + 8|0); - $8 = (($7) + 8|0); + $7 = ((($sSrc)) + 8|0); + $8 = ((($7)) + 8|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$1>>2]|0; - $10 = (($sSrc) + 8|0); - $11 = (($10) + 16|0); + $10 = ((($sSrc)) + 8|0); + $11 = ((($10)) + 16|0); HEAP32[$11>>2] = $9; - $12 = (($sSrc) + 8|0); - $13 = (($12) + 40|0); + $12 = ((($sSrc)) + 8|0); + $13 = ((($12)) + 40|0); HEAP32[$13>>2] = -1; $14 = HEAP32[$0>>2]|0; HEAP32[$sNC>>2] = $14; - $15 = (($sNC) + 4|0); + $15 = ((($sNC)) + 4|0); HEAP32[$15>>2] = $sSrc; $16 = HEAP32[$2>>2]|0; $17 = $16&65535; - $18 = (($sNC) + 28|0); + $18 = ((($sNC)) + 28|0); HEAP16[$18>>1] = $17; $19 = HEAP32[$3>>2]|0; $20 = (_sqlite3ResolveExprNames($sNC,$19)|0); @@ -154234,7 +155762,7 @@ function _sqlite3ResolveSelfReference($pParse,$pTab,$type,$pExpr,$pList) { } $28 = HEAP32[$i>>2]|0; $29 = HEAP32[$4>>2]|0; - $30 = (($29) + 4|0); + $30 = ((($29)) + 4|0); $31 = HEAP32[$30>>2]|0; $32 = (($31) + (($28*20)|0)|0); $33 = HEAP32[$32>>2]|0; @@ -154277,7 +155805,7 @@ function _hasColumn($aiCol,$nCol,$x) { } $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 2|0); + $9 = ((($8)) + 2|0); HEAP32[$1>>2] = $9; $10 = HEAP16[$8>>1]|0; $11 = $10 << 16 >> 16; @@ -154297,7 +155825,7 @@ function _hasColumn($aiCol,$nCol,$x) { $13 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($13|0); } - return 0|0; + return (0)|0; } function _estimateIndexWidth($pIdx) { $pIdx = $pIdx|0; @@ -154314,16 +155842,16 @@ function _estimateIndexWidth($pIdx) { HEAP32[$0>>2] = $pIdx; HEAP32[$wIndex>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); + $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; HEAP32[$aCol>>2] = $5; HEAP32[$i>>2] = 0; while(1) { $6 = HEAP32[$i>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 52|0); + $8 = ((($7)) + 52|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = ($6|0)<($10|0); @@ -154332,7 +155860,7 @@ function _estimateIndexWidth($pIdx) { } $12 = HEAP32[$i>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 4|0); + $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + ($12<<1)|0); $17 = HEAP16[$16>>1]|0; @@ -154345,14 +155873,14 @@ function _estimateIndexWidth($pIdx) { } else { $21 = HEAP32[$i>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + ($21<<1)|0); $26 = HEAP16[$25>>1]|0; $27 = $26 << 16 >> 16; $28 = HEAP32[$aCol>>2]|0; $29 = (($28) + (($27*24)|0)|0); - $30 = (($29) + 22|0); + $30 = ((($29)) + 22|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $35 = $32; @@ -154368,7 +155896,7 @@ function _estimateIndexWidth($pIdx) { $39 = $38<<2; $40 = (_sqlite3LogEst($39,0)|0); $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 48|0); + $42 = ((($41)) + 48|0); HEAP16[$42>>1] = $40; STACKTOP = sp;return; } @@ -154392,7 +155920,7 @@ function _freeIndex($db,$p) { label = 3; } else { $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 520|0); + $7 = ((($6)) + 520|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if ($9) { @@ -154401,22 +155929,22 @@ function _freeIndex($db,$p) { } if ((label|0) == 3) { $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 40|0); + $11 = ((($10)) + 40|0); $12 = HEAP32[$11>>2]|0; _sqlite3KeyInfoUnref($12); } $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 36|0); + $15 = ((($14)) + 36|0); $16 = HEAP32[$15>>2]|0; _sqlite3ExprDelete($13,$16); $17 = HEAP32[$0>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 16|0); + $19 = ((($18)) + 16|0); $20 = HEAP32[$19>>2]|0; _sqlite3DbFree($17,$20); $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 55|0); + $22 = ((($21)) + 55|0); $23 = HEAP8[$22>>0]|0; $24 = ($23&255) >>> 4; $25 = $24 & 1; @@ -154430,7 +155958,7 @@ function _freeIndex($db,$p) { } $28 = HEAP32[$0>>2]|0; $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 32|0); + $30 = ((($29)) + 32|0); $31 = HEAP32[$30>>2]|0; _sqlite3DbFree($28,$31); $32 = HEAP32[$0>>2]|0; @@ -154486,52 +156014,52 @@ function _convertToWithoutRowidTable($pParse,$pTab) { var $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $n = 0, $nPk = 0, $pIdx = 0, $pList = 0, $pPk = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $pIdx = sp + 32|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $pIdx = sp; $pPk = sp + 28|0; - $nPk = sp + 24|0; - $i = sp + 20|0; - $j = sp + 16|0; - $db = sp + 12|0; - $v = sp + 8|0; - $pList = sp + 4|0; - $n = sp; + $nPk = sp + 32|0; + $i = sp + 40|0; + $j = sp + 12|0; + $db = sp + 24|0; + $v = sp + 20|0; + $pList = sp + 8|0; + $n = sp + 4|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; HEAP32[$v>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 416|0); + $8 = ((($7)) + 416|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0); if ($10) { $11 = HEAP32[$v>>2]|0; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 416|0); + $13 = ((($12)) + 416|0); $14 = HEAP32[$13>>2]|0; $15 = (_sqlite3VdbeGetOp($11,$14)|0); HEAP8[$15>>0] = 120; } $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 420|0); + $17 = ((($16)) + 420|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)!=(0); if ($19) { $20 = HEAP32[$v>>2]|0; $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 420|0); + $22 = ((($21)) + 420|0); $23 = HEAP32[$22>>2]|0; $24 = (_sqlite3VdbeGetOp($20,$23)|0); HEAP8[$24>>0] = 16; } $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 36|0); + $26 = ((($25)) + 36|0); $27 = HEAP16[$26>>1]|0; $28 = $27 << 16 >> 16; $29 = ($28|0)>=(0); @@ -154548,32 +156076,32 @@ function _convertToWithoutRowidTable($pParse,$pTab) { $34 = HEAP32[$0>>2]|0; $35 = HEAP32[$34>>2]|0; $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 36|0); + $37 = ((($36)) + 36|0); $38 = HEAP16[$37>>1]|0; $39 = $38 << 16 >> 16; $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 4|0); + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; $43 = (($42) + (($39*24)|0)|0); $44 = HEAP32[$43>>2]|0; $45 = (_sqlite3DbStrDup($35,$44)|0); $46 = HEAP32[$pList>>2]|0; - $47 = (($46) + 4|0); + $47 = ((($46)) + 4|0); $48 = HEAP32[$47>>2]|0; - $49 = (($48) + 4|0); + $49 = ((($48)) + 4|0); HEAP32[$49>>2] = $45; $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 448|0); + $51 = ((($50)) + 448|0); $52 = HEAP8[$51>>0]|0; $53 = HEAP32[$pList>>2]|0; - $54 = (($53) + 4|0); + $54 = ((($53)) + 4|0); $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 12|0); + $56 = ((($55)) + 12|0); HEAP8[$56>>0] = $52; $57 = HEAP32[$0>>2]|0; $58 = HEAP32[$pList>>2]|0; $59 = HEAP32[$1>>2]|0; - $60 = (($59) + 45|0); + $60 = ((($59)) + 45|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = (_sqlite3CreateIndex($57,0,0,0,$58,$62,0,0,0,0)|0); @@ -154584,13 +156112,13 @@ function _convertToWithoutRowidTable($pParse,$pTab) { STACKTOP = sp;return; } else { $66 = HEAP32[$pPk>>2]|0; - $67 = (($66) + 55|0); + $67 = ((($66)) + 55|0); $68 = HEAP8[$67>>0]|0; $69 = $68 & -4; $70 = $69 | 2; HEAP8[$67>>0] = $70; $71 = HEAP32[$1>>2]|0; - $72 = (($71) + 36|0); + $72 = ((($71)) + 36|0); HEAP16[$72>>1] = -1; break; } @@ -154601,13 +156129,13 @@ function _convertToWithoutRowidTable($pParse,$pTab) { } } while(0); $75 = HEAP32[$pPk>>2]|0; - $76 = (($75) + 55|0); + $76 = ((($75)) + 55|0); $77 = HEAP8[$76>>0]|0; $78 = $77 & -33; $79 = $78 | 32; HEAP8[$76>>0] = $79; $80 = HEAP32[$pPk>>2]|0; - $81 = (($80) + 50|0); + $81 = ((($80)) + 50|0); $82 = HEAP16[$81>>1]|0; $83 = $82&65535; HEAP32[$nPk>>2] = $83; @@ -154621,35 +156149,35 @@ function _convertToWithoutRowidTable($pParse,$pTab) { } $87 = HEAP32[$i>>2]|0; $88 = HEAP32[$pPk>>2]|0; - $89 = (($88) + 4|0); + $89 = ((($88)) + 4|0); $90 = HEAP32[$89>>2]|0; $91 = (($90) + ($87<<1)|0); $92 = HEAP16[$91>>1]|0; $93 = $92 << 16 >> 16; $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 4|0); + $95 = ((($94)) + 4|0); $96 = HEAP32[$95>>2]|0; $97 = (($96) + (($93*24)|0)|0); - $98 = (($97) + 20|0); + $98 = ((($97)) + 20|0); HEAP8[$98>>0] = 1; $99 = HEAP32[$i>>2]|0; $100 = (($99) + 1)|0; HEAP32[$i>>2] = $100; } $101 = HEAP32[$pPk>>2]|0; - $102 = (($101) + 55|0); + $102 = ((($101)) + 55|0); $103 = HEAP8[$102>>0]|0; $104 = $103 & -9; $105 = $104 | 8; HEAP8[$102>>0] = $105; $106 = HEAP32[$1>>2]|0; - $107 = (($106) + 32|0); + $107 = ((($106)) + 32|0); $108 = HEAP32[$107>>2]|0; $109 = HEAP32[$pPk>>2]|0; - $110 = (($109) + 44|0); + $110 = ((($109)) + 44|0); HEAP32[$110>>2] = $108; $111 = HEAP32[$1>>2]|0; - $112 = (($111) + 8|0); + $112 = ((($111)) + 8|0); $113 = HEAP32[$112>>2]|0; HEAP32[$pIdx>>2] = $113; L21: while(1) { @@ -154659,7 +156187,7 @@ function _convertToWithoutRowidTable($pParse,$pTab) { break; } $116 = HEAP32[$pIdx>>2]|0; - $117 = (($116) + 55|0); + $117 = ((($116)) + 55|0); $118 = HEAP8[$117>>0]|0; $119 = $118 & 3; $120 = $119&255; @@ -154676,15 +156204,15 @@ function _convertToWithoutRowidTable($pParse,$pTab) { break; } $125 = HEAP32[$pIdx>>2]|0; - $126 = (($125) + 4|0); + $126 = ((($125)) + 4|0); $127 = HEAP32[$126>>2]|0; $128 = HEAP32[$pIdx>>2]|0; - $129 = (($128) + 50|0); + $129 = ((($128)) + 50|0); $130 = HEAP16[$129>>1]|0; $131 = $130&65535; $132 = HEAP32[$i>>2]|0; $133 = HEAP32[$pPk>>2]|0; - $134 = (($133) + 4|0); + $134 = ((($133)) + 4|0); $135 = HEAP32[$134>>2]|0; $136 = (($135) + ($132<<1)|0); $137 = HEAP16[$136>>1]|0; @@ -154704,17 +156232,17 @@ function _convertToWithoutRowidTable($pParse,$pTab) { $146 = ($145|0)==(0); if ($146) { $147 = HEAP32[$pIdx>>2]|0; - $148 = (($147) + 50|0); + $148 = ((($147)) + 50|0); $149 = HEAP16[$148>>1]|0; $150 = HEAP32[$pIdx>>2]|0; - $151 = (($150) + 52|0); + $151 = ((($150)) + 52|0); HEAP16[$151>>1] = $149; break; } $152 = HEAP32[$db>>2]|0; $153 = HEAP32[$pIdx>>2]|0; $154 = HEAP32[$pIdx>>2]|0; - $155 = (($154) + 50|0); + $155 = ((($154)) + 50|0); $156 = HEAP16[$155>>1]|0; $157 = $156&65535; $158 = HEAP32[$n>>2]|0; @@ -154727,7 +156255,7 @@ function _convertToWithoutRowidTable($pParse,$pTab) { } HEAP32[$i>>2] = 0; $162 = HEAP32[$pIdx>>2]|0; - $163 = (($162) + 50|0); + $163 = ((($162)) + 50|0); $164 = HEAP16[$163>>1]|0; $165 = $164&65535; HEAP32[$j>>2] = $165; @@ -154739,15 +156267,15 @@ function _convertToWithoutRowidTable($pParse,$pTab) { break L24; } $169 = HEAP32[$pIdx>>2]|0; - $170 = (($169) + 4|0); + $170 = ((($169)) + 4|0); $171 = HEAP32[$170>>2]|0; $172 = HEAP32[$pIdx>>2]|0; - $173 = (($172) + 50|0); + $173 = ((($172)) + 50|0); $174 = HEAP16[$173>>1]|0; $175 = $174&65535; $176 = HEAP32[$i>>2]|0; $177 = HEAP32[$pPk>>2]|0; - $178 = (($177) + 4|0); + $178 = ((($177)) + 4|0); $179 = HEAP32[$178>>2]|0; $180 = (($179) + ($176<<1)|0); $181 = HEAP16[$180>>1]|0; @@ -154757,25 +156285,25 @@ function _convertToWithoutRowidTable($pParse,$pTab) { if (!($184)) { $185 = HEAP32[$i>>2]|0; $186 = HEAP32[$pPk>>2]|0; - $187 = (($186) + 4|0); + $187 = ((($186)) + 4|0); $188 = HEAP32[$187>>2]|0; $189 = (($188) + ($185<<1)|0); $190 = HEAP16[$189>>1]|0; $191 = HEAP32[$j>>2]|0; $192 = HEAP32[$pIdx>>2]|0; - $193 = (($192) + 4|0); + $193 = ((($192)) + 4|0); $194 = HEAP32[$193>>2]|0; $195 = (($194) + ($191<<1)|0); HEAP16[$195>>1] = $190; $196 = HEAP32[$i>>2]|0; $197 = HEAP32[$pPk>>2]|0; - $198 = (($197) + 32|0); + $198 = ((($197)) + 32|0); $199 = HEAP32[$198>>2]|0; $200 = (($199) + ($196<<2)|0); $201 = HEAP32[$200>>2]|0; $202 = HEAP32[$j>>2]|0; $203 = HEAP32[$pIdx>>2]|0; - $204 = (($203) + 32|0); + $204 = ((($203)) + 32|0); $205 = HEAP32[$204>>2]|0; $206 = (($205) + ($202<<2)|0); HEAP32[$206>>2] = $201; @@ -154790,7 +156318,7 @@ function _convertToWithoutRowidTable($pParse,$pTab) { } } while(0); $211 = HEAP32[$pIdx>>2]|0; - $212 = (($211) + 20|0); + $212 = ((($211)) + 20|0); $213 = HEAP32[$212>>2]|0; HEAP32[$pIdx>>2] = $213; } @@ -154799,23 +156327,23 @@ function _convertToWithoutRowidTable($pParse,$pTab) { } $214 = HEAP32[$nPk>>2]|0; $215 = HEAP32[$1>>2]|0; - $216 = (($215) + 38|0); + $216 = ((($215)) + 38|0); $217 = HEAP16[$216>>1]|0; $218 = $217 << 16 >> 16; $219 = ($214|0)<($218|0); if (!($219)) { $258 = HEAP32[$1>>2]|0; - $259 = (($258) + 38|0); + $259 = ((($258)) + 38|0); $260 = HEAP16[$259>>1]|0; $261 = HEAP32[$pPk>>2]|0; - $262 = (($261) + 52|0); + $262 = ((($261)) + 52|0); HEAP16[$262>>1] = $260; STACKTOP = sp;return; } $220 = HEAP32[$db>>2]|0; $221 = HEAP32[$pPk>>2]|0; $222 = HEAP32[$1>>2]|0; - $223 = (($222) + 38|0); + $223 = ((($222)) + 38|0); $224 = HEAP16[$223>>1]|0; $225 = $224 << 16 >> 16; $226 = (_resizeIndexObject($220,$221,$225)|0); @@ -154829,7 +156357,7 @@ function _convertToWithoutRowidTable($pParse,$pTab) { while(1) { $229 = HEAP32[$i>>2]|0; $230 = HEAP32[$1>>2]|0; - $231 = (($230) + 38|0); + $231 = ((($230)) + 38|0); $232 = HEAP16[$231>>1]|0; $233 = $232 << 16 >> 16; $234 = ($229|0)<($233|0); @@ -154837,7 +156365,7 @@ function _convertToWithoutRowidTable($pParse,$pTab) { break; } $235 = HEAP32[$pPk>>2]|0; - $236 = (($235) + 4|0); + $236 = ((($235)) + 4|0); $237 = HEAP32[$236>>2]|0; $238 = HEAP32[$j>>2]|0; $239 = HEAP32[$i>>2]|0; @@ -154848,16 +156376,16 @@ function _convertToWithoutRowidTable($pParse,$pTab) { $243 = $242&65535; $244 = HEAP32[$j>>2]|0; $245 = HEAP32[$pPk>>2]|0; - $246 = (($245) + 4|0); + $246 = ((($245)) + 4|0); $247 = HEAP32[$246>>2]|0; $248 = (($247) + ($244<<1)|0); HEAP16[$248>>1] = $243; $249 = HEAP32[$j>>2]|0; $250 = HEAP32[$pPk>>2]|0; - $251 = (($250) + 32|0); + $251 = ((($250)) + 32|0); $252 = HEAP32[$251>>2]|0; $253 = (($252) + ($249<<2)|0); - HEAP32[$253>>2] = 3320; + HEAP32[$253>>2] = 15963; $254 = HEAP32[$j>>2]|0; $255 = (($254) + 1)|0; HEAP32[$j>>2] = $255; @@ -154881,12 +156409,12 @@ function _estimateTableWidth($pTab) { HEAP32[$0>>2] = $pTab; HEAP32[$wTable>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 38|0); + $2 = ((($1)) + 38|0); $3 = HEAP16[$2>>1]|0; $4 = $3 << 16 >> 16; HEAP32[$i>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pTabCol>>2] = $7; while(1) { @@ -154896,7 +156424,7 @@ function _estimateTableWidth($pTab) { break; } $10 = HEAP32[$pTabCol>>2]|0; - $11 = (($10) + 22|0); + $11 = ((($10)) + 22|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = HEAP32[$wTable>>2]|0; @@ -154906,11 +156434,11 @@ function _estimateTableWidth($pTab) { $17 = (($16) + -1)|0; HEAP32[$i>>2] = $17; $18 = HEAP32[$pTabCol>>2]|0; - $19 = (($18) + 24|0); + $19 = ((($18)) + 24|0); HEAP32[$pTabCol>>2] = $19; } $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 36|0); + $21 = ((($20)) + 36|0); $22 = HEAP16[$21>>1]|0; $23 = $22 << 16 >> 16; $24 = ($23|0)<(0); @@ -154919,7 +156447,7 @@ function _estimateTableWidth($pTab) { $28 = $27<<2; $29 = (_sqlite3LogEst($28,0)|0); $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 42|0); + $31 = ((($30)) + 42|0); HEAP16[$31>>1] = $29; STACKTOP = sp;return; } @@ -154930,7 +156458,7 @@ function _estimateTableWidth($pTab) { $28 = $27<<2; $29 = (_sqlite3LogEst($28,0)|0); $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 42|0); + $31 = ((($30)) + 42|0); HEAP16[$31>>1] = $29; STACKTOP = sp;return; } @@ -154942,35 +156470,38 @@ function _createTableStmt($db,$p) { var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $k = 0, $len = 0, $n = 0, $pCol = 0, $vararg_buffer3 = 0, $zEnd = 0, $zSep = 0, $zSep2 = 0, $zStmt = 0, $zType = 0, label = 0, sp = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $k = 0, $len = 0, $n = 0, $pCol = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $zEnd = 0, $zSep = 0, $zSep2 = 0, $zStmt = 0, $zType = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer3 = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $i = sp + 40|0; - $k = sp + 36|0; - $n = sp + 32|0; - $zStmt = sp + 28|0; - $zSep = sp + 24|0; - $zSep2 = sp + 20|0; - $zEnd = sp + 16|0; - $pCol = sp + 12|0; - $len = sp + 8|0; - $zType = sp + 4|0; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 36|0; + $1 = sp + 28|0; + $2 = sp + 20|0; + $i = sp + 24|0; + $k = sp + 32|0; + $n = sp + 40|0; + $zStmt = sp + 44|0; + $zSep = sp + 48|0; + $zSep2 = sp + 52|0; + $zEnd = sp + 56|0; + $pCol = sp + 60|0; + $len = sp + 64|0; + $zType = sp + 68|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $p; HEAP32[$n>>2] = 0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pCol>>2] = $5; HEAP32[$i>>2] = 0; while(1) { $6 = HEAP32[$i>>2]|0; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 38|0); + $8 = ((($7)) + 38|0); $9 = HEAP16[$8>>1]|0; $10 = $9 << 16 >> 16; $11 = ($6|0)<($10|0); @@ -154988,7 +156519,7 @@ function _createTableStmt($db,$p) { $19 = (($18) + 1)|0; HEAP32[$i>>2] = $19; $20 = HEAP32[$pCol>>2]|0; - $21 = (($20) + 24|0); + $21 = ((($20)) + 24|0); HEAP32[$pCol>>2] = $21; } $22 = HEAP32[$2>>2]|0; @@ -155000,16 +156531,16 @@ function _createTableStmt($db,$p) { $27 = HEAP32[$n>>2]|0; $28 = ($27|0)<(50); if ($28) { - HEAP32[$zSep>>2] = 1216; - HEAP32[$zSep2>>2] = 9776; - HEAP32[$zEnd>>2] = 23976; + HEAP32[$zSep>>2] = 14425; + HEAP32[$zSep2>>2] = 29027; + HEAP32[$zEnd>>2] = 26411; } else { - HEAP32[$zSep>>2] = 26904; - HEAP32[$zSep2>>2] = 26912; - HEAP32[$zEnd>>2] = 26920; + HEAP32[$zSep>>2] = 29029; + HEAP32[$zSep2>>2] = 29033; + HEAP32[$zEnd>>2] = 29038; } $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 38|0); + $30 = ((($29)) + 38|0); $31 = HEAP16[$30>>1]|0; $32 = $31 << 16 >> 16; $33 = ($32*6)|0; @@ -155026,7 +156557,7 @@ function _createTableStmt($db,$p) { $42 = ($41|0)==(0|0); if ($42) { $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 64|0); + $44 = ((($43)) + 64|0); HEAP8[$44>>0] = 1; HEAP32[$0>>2] = 0; $105 = HEAP32[$0>>2]|0; @@ -155034,7 +156565,7 @@ function _createTableStmt($db,$p) { } $45 = HEAP32[$n>>2]|0; $46 = HEAP32[$zStmt>>2]|0; - (_sqlite3_snprintf($45,$46,26928,$vararg_buffer3)|0); + (_sqlite3_snprintf($45,$46,29041,$vararg_buffer)|0); $47 = HEAP32[$zStmt>>2]|0; $48 = (_sqlite3Strlen30($47)|0); HEAP32[$k>>2] = $48; @@ -155049,14 +156580,14 @@ function _createTableStmt($db,$p) { $55 = (($54) + ($52)|0); HEAP8[$55>>0] = 40; $56 = HEAP32[$2>>2]|0; - $57 = (($56) + 4|0); + $57 = ((($56)) + 4|0); $58 = HEAP32[$57>>2]|0; HEAP32[$pCol>>2] = $58; HEAP32[$i>>2] = 0; while(1) { $59 = HEAP32[$i>>2]|0; $60 = HEAP32[$2>>2]|0; - $61 = (($60) + 38|0); + $61 = ((($60)) + 38|0); $62 = HEAP16[$61>>1]|0; $63 = $62 << 16 >> 16; $64 = ($59|0)<($63|0); @@ -155070,7 +156601,7 @@ function _createTableStmt($db,$p) { break; } $71 = HEAP32[$zSep>>2]|0; - (_sqlite3_snprintf($67,$70,$71,$vararg_buffer3)|0); + (_sqlite3_snprintf($67,$70,$71,$vararg_buffer1)|0); $72 = HEAP32[$k>>2]|0; $73 = HEAP32[$zStmt>>2]|0; $74 = (($73) + ($72)|0); @@ -155085,11 +156616,11 @@ function _createTableStmt($db,$p) { $81 = HEAP32[$80>>2]|0; _identPut($79,$k,$81); $82 = HEAP32[$pCol>>2]|0; - $83 = (($82) + 21|0); + $83 = ((($82)) + 21|0); $84 = HEAP8[$83>>0]|0; $85 = $84 << 24 >> 24; $86 = (($85) - 65)|0; - $87 = (26944 + ($86<<2)|0); + $87 = (3288 + ($86<<2)|0); $88 = HEAP32[$87>>2]|0; HEAP32[$zType>>2] = $88; $89 = HEAP32[$zType>>2]|0; @@ -155109,12 +156640,12 @@ function _createTableStmt($db,$p) { $100 = (($99) + 1)|0; HEAP32[$i>>2] = $100; $101 = HEAP32[$pCol>>2]|0; - $102 = (($101) + 24|0); + $102 = ((($101)) + 24|0); HEAP32[$pCol>>2] = $102; } $103 = HEAP32[$zEnd>>2]|0; HEAP32[$vararg_buffer3>>2] = $103; - (_sqlite3_snprintf($67,$70,1200,$vararg_buffer3)|0); + (_sqlite3_snprintf($67,$70,14418,$vararg_buffer3)|0); $104 = HEAP32[$zStmt>>2]|0; HEAP32[$0>>2] = $104; $105 = HEAP32[$0>>2]|0; @@ -155149,7 +156680,7 @@ function _identLength($z) { $11 = (($10) + 1)|0; HEAP32[$n>>2] = $11; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 1|0); + $13 = ((($12)) + 1|0); HEAP32[$0>>2] = $13; } $14 = HEAP32[$n>>2]|0; @@ -155167,13 +156698,13 @@ function _identPut($z,$pIdx,$zSignedIdent) { var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $i = 0, $j = 0, $needQuote = 0, $zIdent = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $zIdent = sp + 12|0; - $i = sp + 8|0; - $j = sp + 4|0; - $needQuote = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $zIdent = sp + 24|0; + $i = sp + 4|0; + $j = sp; + $needQuote = sp + 12|0; HEAP32[$0>>2] = $z; HEAP32[$1>>2] = $pIdx; HEAP32[$2>>2] = $zSignedIdent; @@ -155197,7 +156728,7 @@ function _identPut($z,$pIdx,$zSignedIdent) { $13 = (($12) + ($11)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; - $16 = (1224 + ($15)|0); + $16 = (14426 + ($15)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 & 6; @@ -155220,7 +156751,7 @@ function _identPut($z,$pIdx,$zSignedIdent) { $29 = HEAP32[$zIdent>>2]|0; $30 = HEAP8[$29>>0]|0; $31 = $30&255; - $32 = (1224 + ($31)|0); + $32 = (14426 + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = $34 & 4; @@ -155347,7 +156878,7 @@ function _resizeIndexObject($db,$pIdx,$N) { HEAP32[$2>>2] = $pIdx; HEAP32[$3>>2] = $N; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 52|0); + $5 = ((($4)) + 52|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = HEAP32[$3>>2]|0; @@ -155375,17 +156906,17 @@ function _resizeIndexObject($db,$pIdx,$N) { } else { $19 = HEAP32[$zExtra>>2]|0; $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 32|0); + $21 = ((($20)) + 32|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 52|0); + $24 = ((($23)) + 52|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = $26<<2; _memcpy(($19|0),($22|0),($27|0))|0; $28 = HEAP32[$zExtra>>2]|0; $29 = HEAP32[$2>>2]|0; - $30 = (($29) + 32|0); + $30 = ((($29)) + 32|0); HEAP32[$30>>2] = $28; $31 = HEAP32[$3>>2]|0; $32 = $31<<2; @@ -155394,17 +156925,17 @@ function _resizeIndexObject($db,$pIdx,$N) { HEAP32[$zExtra>>2] = $34; $35 = HEAP32[$zExtra>>2]|0; $36 = HEAP32[$2>>2]|0; - $37 = (($36) + 4|0); + $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$2>>2]|0; - $40 = (($39) + 52|0); + $40 = ((($39)) + 52|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; $43 = $42<<1; _memcpy(($35|0),($38|0),($43|0))|0; $44 = HEAP32[$zExtra>>2]|0; $45 = HEAP32[$2>>2]|0; - $46 = (($45) + 4|0); + $46 = ((($45)) + 4|0); HEAP32[$46>>2] = $44; $47 = HEAP32[$3>>2]|0; $48 = $47<<1; @@ -155413,24 +156944,24 @@ function _resizeIndexObject($db,$pIdx,$N) { HEAP32[$zExtra>>2] = $50; $51 = HEAP32[$zExtra>>2]|0; $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 28|0); + $53 = ((($52)) + 28|0); $54 = HEAP32[$53>>2]|0; $55 = HEAP32[$2>>2]|0; - $56 = (($55) + 52|0); + $56 = ((($55)) + 52|0); $57 = HEAP16[$56>>1]|0; $58 = $57&65535; _memcpy(($51|0),($54|0),($58|0))|0; $59 = HEAP32[$zExtra>>2]|0; $60 = HEAP32[$2>>2]|0; - $61 = (($60) + 28|0); + $61 = ((($60)) + 28|0); HEAP32[$61>>2] = $59; $62 = HEAP32[$3>>2]|0; $63 = $62&65535; $64 = HEAP32[$2>>2]|0; - $65 = (($64) + 52|0); + $65 = ((($64)) + 52|0); HEAP16[$65>>1] = $63; $66 = HEAP32[$2>>2]|0; - $67 = (($66) + 55|0); + $67 = ((($66)) + 55|0); $68 = HEAP8[$67>>0]|0; $69 = $68 & -17; $70 = $69 | 16; @@ -155439,7 +156970,7 @@ function _resizeIndexObject($db,$pIdx,$N) { $71 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($71|0); } - return 0|0; + return (0)|0; } function _codeTableLocks($pParse) { $pParse = $pParse|0; @@ -155460,7 +156991,7 @@ function _codeTableLocks($pParse) { while(1) { $3 = HEAP32[$i>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 396|0); + $5 = ((($4)) + 396|0); $6 = HEAP32[$5>>2]|0; $7 = ($3|0)<($6|0); if (!($7)) { @@ -155468,7 +156999,7 @@ function _codeTableLocks($pParse) { } $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 400|0); + $10 = ((($9)) + 400|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + ($8<<4)|0); HEAP32[$p>>2] = $12; @@ -155478,14 +157009,14 @@ function _codeTableLocks($pParse) { $15 = HEAP32[$pVdbe>>2]|0; $16 = HEAP32[$p1>>2]|0; $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 8|0); + $21 = ((($20)) + 8|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 12|0); + $25 = ((($24)) + 12|0); $26 = HEAP32[$25>>2]|0; (_sqlite3VdbeAddOp4($15,143,$16,$19,$23,$26,-2)|0); $27 = HEAP32[$i>>2]|0; @@ -155502,23 +157033,23 @@ function _sqlite3AutoincrementBegin($pParse) { var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $addr = 0, $db = 0, $memId = 0, $p = 0, $pDb = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $p = sp + 20|0; - $db = sp + 16|0; - $pDb = sp + 12|0; - $memId = sp + 8|0; - $addr = sp + 4|0; - $v = sp; + $0 = sp + 8|0; + $p = sp + 16|0; + $db = sp + 20|0; + $pDb = sp + 24|0; + $memId = sp + 4|0; + $addr = sp; + $v = sp + 12|0; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; HEAP32[$db>>2] = $2; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$v>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 404|0); + $7 = ((($6)) + 404|0); $8 = HEAP32[$7>>2]|0; HEAP32[$p>>2] = $8; while(1) { @@ -155528,25 +157059,25 @@ function _sqlite3AutoincrementBegin($pParse) { break; } $11 = HEAP32[$p>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$db>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + ($13<<4)|0); HEAP32[$pDb>>2] = $17; $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; HEAP32[$memId>>2] = $20; $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 8|0); + $23 = ((($22)) + 8|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$pDb>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 72|0); + $28 = ((($27)) + 72|0); $29 = HEAP32[$28>>2]|0; _sqlite3OpenTable($21,0,$24,$29,54); $30 = HEAP32[$v>>2]|0; @@ -155561,7 +157092,7 @@ function _sqlite3AutoincrementBegin($pParse) { $37 = HEAP32[$memId>>2]|0; $38 = (($37) - 1)|0; $39 = HEAP32[$p>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$41>>2]|0; (_sqlite3VdbeAddOp4($36,97,0,$38,0,$42,0)|0); @@ -155620,7 +157151,7 @@ function _yyStackOverflow($yypParser,$yypMinor) { HEAP32[$0>>2] = $yypParser; HEAP32[$1>>2] = $yypMinor; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pParse>>2] = $4; $5 = HEAP32[$0>>2]|0; @@ -155638,13 +157169,26 @@ function _yyStackOverflow($yypParser,$yypMinor) { (_yy_pop_parser_stack($11)|0); } $12 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($12,27184,$vararg_buffer); + _sqlite3ErrorMsg($12,29207,$vararg_buffer); $13 = HEAP32[$pParse>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 8|0); + $15 = ((($14)) + 8|0); HEAP32[$15>>2] = $13; STACKTOP = sp;return; } +function _logBadConnection($zType) { + $zType = $zType|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + HEAP32[$0>>2] = $zType; + $1 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $1; + _sqlite3_log(21,30804,$vararg_buffer); + STACKTOP = sp;return; +} function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzTail) { $db = $db|0; $zSql = $zSql|0; @@ -155664,30 +157208,32 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iFirst = 0, $mx = 0, $mxLen = 0, $pBt = 0, $pParse = 0, $pT = 0, $pVdbe = 0, $rc = 0, $vararg_buffer3 = 0, $zDb = 0; - var $zErrMsg = 0, $zSqlCopy = 0, label = 0, sp = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iFirst = 0, $mx = 0, $mxLen = 0, $pBt = 0, $pParse = 0, $pT = 0, $pVdbe = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var $vararg_buffer3 = 0, $zDb = 0, $zErrMsg = 0, $zSqlCopy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 96|0; $vararg_buffer3 = sp; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = sp + 60|0; - $5 = sp + 56|0; - $6 = sp + 52|0; - $pParse = sp + 48|0; - $zErrMsg = sp + 44|0; - $rc = sp + 40|0; - $i = sp + 36|0; - $pBt = sp + 32|0; - $zDb = sp + 28|0; - $zSqlCopy = sp + 24|0; - $mxLen = sp + 20|0; - $iFirst = sp + 16|0; - $mx = sp + 12|0; - $pVdbe = sp + 8|0; - $pT = sp + 4|0; + $vararg_buffer1 = sp + 16|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 28|0; + $1 = sp + 60|0; + $2 = sp + 40|0; + $3 = sp + 20|0; + $4 = sp + 56|0; + $5 = sp + 52|0; + $6 = sp + 36|0; + $pParse = sp + 32|0; + $zErrMsg = sp + 24|0; + $rc = sp + 44|0; + $i = sp + 48|0; + $pBt = sp + 64|0; + $zDb = sp + 68|0; + $zSqlCopy = sp + 72|0; + $mxLen = sp + 76|0; + $iFirst = sp + 80|0; + $mx = sp + 84|0; + $pVdbe = sp + 88|0; + $pT = sp + 92|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $zSql; HEAP32[$2>>2] = $nBytes; @@ -155718,13 +157264,13 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } $11 = HEAP32[$4>>2]|0; $12 = HEAP32[$pParse>>2]|0; - $13 = (($12) + 476|0); + $13 = ((($12)) + 476|0); HEAP32[$13>>2] = $11; HEAP32[$i>>2] = 0; while(1) { $14 = HEAP32[$i>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 20|0); + $16 = ((($15)) + 20|0); $17 = HEAP32[$16>>2]|0; $18 = ($14|0)<($17|0); if (!($18)) { @@ -155732,10 +157278,10 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } $19 = HEAP32[$i>>2]|0; $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 16|0); + $21 = ((($20)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + ($19<<4)|0); - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; HEAP32[$pBt>>2] = $25; $26 = HEAP32[$pBt>>2]|0; @@ -155758,7 +157304,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT if ((label|0) == 7) { $32 = HEAP32[$i>>2]|0; $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 16|0); + $34 = ((($33)) + 16|0); $35 = HEAP32[$34>>2]|0; $36 = (($35) + ($32<<4)|0); $37 = HEAP32[$36>>2]|0; @@ -155766,8 +157312,8 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $38 = HEAP32[$0>>2]|0; $39 = HEAP32[$rc>>2]|0; $40 = HEAP32[$zDb>>2]|0; - HEAP32[$vararg_buffer3>>2] = $40; - _sqlite3ErrorWithMsg($38,$39,30936,$vararg_buffer3); + HEAP32[$vararg_buffer>>2] = $40; + _sqlite3ErrorWithMsg($38,$39,30849,$vararg_buffer); $222 = HEAP32[$pParse>>2]|0; _sqlite3ParserReset($222); $223 = HEAP32[$0>>2]|0; @@ -155786,7 +157332,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $45 = HEAP32[$pParse>>2]|0; HEAP32[$45>>2] = $44; $46 = HEAP32[$pParse>>2]|0; - $47 = (($46) + 424|0); + $47 = ((($46)) + 424|0); HEAP32[$47>>2] = 0; $48 = HEAP32[$2>>2]|0; $49 = ($48|0)>=(0); @@ -155808,8 +157354,8 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } } $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 88|0); - $61 = (($60) + 4|0); + $60 = ((($59)) + 88|0); + $61 = ((($60)) + 4|0); $62 = HEAP32[$61>>2]|0; HEAP32[$mxLen>>2] = $62; $63 = HEAP32[$2>>2]|0; @@ -155817,7 +157363,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $65 = ($63|0)>($64|0); $66 = HEAP32[$0>>2]|0; if ($65) { - _sqlite3ErrorWithMsg($66,18,30968,$vararg_buffer3); + _sqlite3ErrorWithMsg($66,18,30879,$vararg_buffer1); $67 = HEAP32[$0>>2]|0; $68 = (_sqlite3ApiExit($67,18)|0); HEAP32[$rc>>2] = $68; @@ -155849,7 +157395,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $79 = HEAP32[$zSqlCopy>>2]|0; _sqlite3DbFree($78,$79); $80 = HEAP32[$pParse>>2]|0; - $81 = (($80) + 480|0); + $81 = ((($80)) + 480|0); $82 = HEAP32[$81>>2]|0; $83 = HEAP32[$zSqlCopy>>2]|0; $84 = $82; @@ -155858,7 +157404,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $87 = HEAP32[$1>>2]|0; $88 = (($87) + ($86)|0); $89 = HEAP32[$pParse>>2]|0; - $90 = (($89) + 480|0); + $90 = ((($89)) + 480|0); HEAP32[$90>>2] = $88; break; } else { @@ -155866,7 +157412,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $92 = HEAP32[$1>>2]|0; $93 = (($92) + ($91)|0); $94 = HEAP32[$pParse>>2]|0; - $95 = (($94) + 480|0); + $95 = ((($94)) + 480|0); HEAP32[$95>>2] = $93; break; } @@ -155880,25 +157426,25 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT (_sqlite3RunParser($96,$97,$zErrMsg)|0); } $98 = HEAP32[$0>>2]|0; - $99 = (($98) + 64|0); + $99 = ((($98)) + 64|0); $100 = HEAP8[$99>>0]|0; $101 = ($100<<24>>24)!=(0); if ($101) { $102 = HEAP32[$pParse>>2]|0; - $103 = (($102) + 12|0); + $103 = ((($102)) + 12|0); HEAP32[$103>>2] = 7; } $104 = HEAP32[$pParse>>2]|0; - $105 = (($104) + 12|0); + $105 = ((($104)) + 12|0); $106 = HEAP32[$105>>2]|0; $107 = ($106|0)==(101); if ($107) { $108 = HEAP32[$pParse>>2]|0; - $109 = (($108) + 12|0); + $109 = ((($108)) + 12|0); HEAP32[$109>>2] = 0; } $110 = HEAP32[$pParse>>2]|0; - $111 = (($110) + 17|0); + $111 = ((($110)) + 17|0); $112 = HEAP8[$111>>0]|0; $113 = ($112<<24>>24)!=(0); if ($113) { @@ -155906,25 +157452,25 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT _schemaIsValid($114); } $115 = HEAP32[$0>>2]|0; - $116 = (($115) + 64|0); + $116 = ((($115)) + 64|0); $117 = HEAP8[$116>>0]|0; $118 = ($117<<24>>24)!=(0); if ($118) { $119 = HEAP32[$pParse>>2]|0; - $120 = (($119) + 12|0); + $120 = ((($119)) + 12|0); HEAP32[$120>>2] = 7; } $121 = HEAP32[$6>>2]|0; $122 = ($121|0)!=(0|0); if ($122) { $123 = HEAP32[$pParse>>2]|0; - $124 = (($123) + 480|0); + $124 = ((($123)) + 480|0); $125 = HEAP32[$124>>2]|0; $126 = HEAP32[$6>>2]|0; HEAP32[$126>>2] = $125; } $127 = HEAP32[$pParse>>2]|0; - $128 = (($127) + 12|0); + $128 = ((($127)) + 12|0); $129 = HEAP32[$128>>2]|0; HEAP32[$rc>>2] = $129; $130 = HEAP32[$rc>>2]|0; @@ -155932,23 +157478,23 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT L45: do { if ($131) { $132 = HEAP32[$pParse>>2]|0; - $133 = (($132) + 8|0); + $133 = ((($132)) + 8|0); $134 = HEAP32[$133>>2]|0; $135 = ($134|0)!=(0|0); if ($135) { $136 = HEAP32[$pParse>>2]|0; - $137 = (($136) + 450|0); + $137 = ((($136)) + 450|0); $138 = HEAP8[$137>>0]|0; $139 = $138&255; $140 = ($139|0)!=(0); if ($140) { $141 = HEAP32[$pParse>>2]|0; - $142 = (($141) + 450|0); + $142 = ((($141)) + 450|0); $143 = HEAP8[$142>>0]|0; $144 = $143&255; $145 = ($144|0)==(2); $146 = HEAP32[$pParse>>2]|0; - $147 = (($146) + 8|0); + $147 = ((($146)) + 8|0); $148 = HEAP32[$147>>2]|0; if ($145) { _sqlite3VdbeSetNumCols($148,4); @@ -155969,13 +157515,13 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT break L45; } $153 = HEAP32[$pParse>>2]|0; - $154 = (($153) + 8|0); + $154 = ((($153)) + 8|0); $155 = HEAP32[$154>>2]|0; $156 = HEAP32[$i>>2]|0; $157 = HEAP32[$iFirst>>2]|0; $158 = (($156) - ($157))|0; $159 = HEAP32[$i>>2]|0; - $160 = (30992 + ($159<<2)|0); + $160 = (3320 + ($159<<2)|0); $161 = HEAP32[$160>>2]|0; (_sqlite3VdbeSetColName($155,$158,0,$161,0)|0); $162 = HEAP32[$i>>2]|0; @@ -155987,20 +157533,20 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } } while(0); $164 = HEAP32[$0>>2]|0; - $165 = (($164) + 140|0); - $166 = (($165) + 5|0); + $165 = ((($164)) + 140|0); + $166 = ((($165)) + 5|0); $167 = HEAP8[$166>>0]|0; $168 = $167&255; $169 = ($168|0)==(0); if ($169) { $170 = HEAP32[$pParse>>2]|0; - $171 = (($170) + 8|0); + $171 = ((($170)) + 8|0); $172 = HEAP32[$171>>2]|0; HEAP32[$pVdbe>>2] = $172; $173 = HEAP32[$pVdbe>>2]|0; $174 = HEAP32[$1>>2]|0; $175 = HEAP32[$pParse>>2]|0; - $176 = (($175) + 480|0); + $176 = ((($175)) + 480|0); $177 = HEAP32[$176>>2]|0; $178 = HEAP32[$1>>2]|0; $179 = $177; @@ -156010,7 +157556,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT _sqlite3VdbeSetSql($173,$174,$181,$182); } $183 = HEAP32[$pParse>>2]|0; - $184 = (($183) + 8|0); + $184 = ((($183)) + 8|0); $185 = HEAP32[$184>>2]|0; $186 = ($185|0)!=(0|0); do { @@ -156019,7 +157565,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $188 = ($187|0)!=(0); if (!($188)) { $189 = HEAP32[$0>>2]|0; - $190 = (($189) + 64|0); + $190 = ((($189)) + 64|0); $191 = HEAP8[$190>>0]|0; $192 = $191&255; $193 = ($192|0)!=(0); @@ -156029,7 +157575,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } } $194 = HEAP32[$pParse>>2]|0; - $195 = (($194) + 8|0); + $195 = ((($194)) + 8|0); $196 = HEAP32[$195>>2]|0; (_sqlite3VdbeFinalize($196)|0); } else { @@ -156038,7 +157584,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } while(0); if ((label|0) == 43) { $197 = HEAP32[$pParse>>2]|0; - $198 = (($197) + 8|0); + $198 = ((($197)) + 8|0); $199 = HEAP32[$198>>2]|0; $200 = HEAP32[$5>>2]|0; HEAP32[$200>>2] = $199; @@ -156050,7 +157596,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT if ($202) { $205 = HEAP32[$zErrMsg>>2]|0; HEAP32[$vararg_buffer3>>2] = $205; - _sqlite3ErrorWithMsg($203,$204,1200,$vararg_buffer3); + _sqlite3ErrorWithMsg($203,$204,14418,$vararg_buffer3); $206 = HEAP32[$0>>2]|0; $207 = HEAP32[$zErrMsg>>2]|0; _sqlite3DbFree($206,$207); @@ -156059,21 +157605,21 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } while(1) { $208 = HEAP32[$pParse>>2]|0; - $209 = (($208) + 528|0); + $209 = ((($208)) + 528|0); $210 = HEAP32[$209>>2]|0; $211 = ($210|0)!=(0|0); if (!($211)) { break; } $212 = HEAP32[$pParse>>2]|0; - $213 = (($212) + 528|0); + $213 = ((($212)) + 528|0); $214 = HEAP32[$213>>2]|0; HEAP32[$pT>>2] = $214; $215 = HEAP32[$pT>>2]|0; - $216 = (($215) + 4|0); + $216 = ((($215)) + 4|0); $217 = HEAP32[$216>>2]|0; $218 = HEAP32[$pParse>>2]|0; - $219 = (($218) + 528|0); + $219 = ((($218)) + 528|0); HEAP32[$219>>2] = $217; $220 = HEAP32[$0>>2]|0; $221 = HEAP32[$pT>>2]|0; @@ -156114,13 +157660,13 @@ function _schemaIsValid($pParse) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cookie = 0, $db = 0, $iDb = 0, $openedTransaction = 0, $or$cond = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $db = sp + 20|0; - $iDb = sp + 16|0; - $rc = sp + 12|0; - $cookie = sp + 8|0; - $openedTransaction = sp + 4|0; - $pBt = sp; + $0 = sp + 8|0; + $db = sp + 16|0; + $iDb = sp + 20|0; + $rc = sp + 24|0; + $cookie = sp + 4|0; + $openedTransaction = sp; + $pBt = sp + 12|0; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; @@ -156129,7 +157675,7 @@ function _schemaIsValid($pParse) { while(1) { $3 = HEAP32[$iDb>>2]|0; $4 = HEAP32[$db>>2]|0; - $5 = (($4) + 20|0); + $5 = ((($4)) + 20|0); $6 = HEAP32[$5>>2]|0; $7 = ($3|0)<($6|0); if (!($7)) { @@ -156139,10 +157685,10 @@ function _schemaIsValid($pParse) { HEAP32[$openedTransaction>>2] = 0; $8 = HEAP32[$iDb>>2]|0; $9 = HEAP32[$db>>2]|0; - $10 = (($9) + 16|0); + $10 = ((($9)) + 16|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + ($8<<4)|0); - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pBt>>2] = $14; $15 = HEAP32[$pBt>>2]|0; @@ -156162,7 +157708,7 @@ function _schemaIsValid($pParse) { $or$cond = $23 | $25; if ($or$cond) { $26 = HEAP32[$db>>2]|0; - $27 = (($26) + 64|0); + $27 = ((($26)) + 64|0); HEAP8[$27>>0] = 1; } $28 = HEAP32[$rc>>2]|0; @@ -156178,10 +157724,10 @@ function _schemaIsValid($pParse) { $31 = HEAP32[$cookie>>2]|0; $32 = HEAP32[$iDb>>2]|0; $33 = HEAP32[$db>>2]|0; - $34 = (($33) + 16|0); + $34 = ((($33)) + 16|0); $35 = HEAP32[$34>>2]|0; $36 = (($35) + ($32<<4)|0); - $37 = (($36) + 12|0); + $37 = ((($36)) + 12|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$38>>2]|0; $40 = ($31|0)!=($39|0); @@ -156190,7 +157736,7 @@ function _schemaIsValid($pParse) { $42 = HEAP32[$iDb>>2]|0; _sqlite3ResetOneSchema($41,$42); $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 12|0); + $44 = ((($43)) + 12|0); HEAP32[$44>>2] = 17; } $45 = HEAP32[$openedTransaction>>2]|0; @@ -156238,13 +157784,13 @@ function _sqlite3VdbeSetSql($p,$z,$n,$isPrepareV2) { $11 = $10 << 31 >> 31; $12 = (_sqlite3DbStrNDup($7,$8,$9,$11)|0); $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 168|0); + $14 = ((($13)) + 168|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$3>>2]|0; $16 = $15&255; $17 = $16&255; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 88|0); + $19 = ((($18)) + 88|0); $20 = $17&65535; $21 = HEAP16[$19>>1]|0; $22 = $20 & 1; @@ -156273,11 +157819,11 @@ function _querySharedCacheTableLock($p,$iTab,$eLock) { HEAP32[$2>>2] = $iTab; HEAP8[$3>>0] = $eLock; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pBt>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 9|0); + $8 = ((($7)) + 9|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); if (!($10)) { @@ -156286,13 +157832,13 @@ function _querySharedCacheTableLock($p,$iTab,$eLock) { STACKTOP = sp;return ($55|0); } $11 = HEAP32[$pBt>>2]|0; - $12 = (($11) + 76|0); + $12 = ((($11)) + 76|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$1>>2]|0; $15 = ($13|0)!=($14|0); if ($15) { $16 = HEAP32[$pBt>>2]|0; - $17 = (($16) + 22|0); + $17 = ((($16)) + 22|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = $19 & 32; @@ -156304,7 +157850,7 @@ function _querySharedCacheTableLock($p,$iTab,$eLock) { } } $22 = HEAP32[$pBt>>2]|0; - $23 = (($22) + 72|0); + $23 = ((($22)) + 72|0); $24 = HEAP32[$23>>2]|0; HEAP32[$pIter>>2] = $24; while(1) { @@ -156320,13 +157866,13 @@ function _querySharedCacheTableLock($p,$iTab,$eLock) { $30 = ($28|0)!=($29|0); if ($30) { $31 = HEAP32[$pIter>>2]|0; - $32 = (($31) + 4|0); + $32 = ((($31)) + 4|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$2>>2]|0; $35 = ($33|0)==($34|0); if ($35) { $36 = HEAP32[$pIter>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = HEAP8[$37>>0]|0; $39 = $38&255; $40 = HEAP8[$3>>0]|0; @@ -156338,7 +157884,7 @@ function _querySharedCacheTableLock($p,$iTab,$eLock) { } } $52 = HEAP32[$pIter>>2]|0; - $53 = (($52) + 12|0); + $53 = ((($52)) + 12|0); $54 = HEAP32[$53>>2]|0; HEAP32[$pIter>>2] = $54; } @@ -156352,7 +157898,7 @@ function _querySharedCacheTableLock($p,$iTab,$eLock) { $45 = ($44|0)==(2); if ($45) { $46 = HEAP32[$pBt>>2]|0; - $47 = (($46) + 22|0); + $47 = ((($46)) + 22|0); $48 = HEAP16[$47>>1]|0; $49 = $48&65535; $50 = $49 | 64; @@ -156363,353 +157909,6 @@ function _querySharedCacheTableLock($p,$iTab,$eLock) { $55 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($55|0); } -function _sqlite3VdbeSwap($pA,$pB) { - $pA = $pA|0; - $pB = $pB|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, $tmp = 0, $zTmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $0 = sp + 220|0; - $1 = sp + 216|0; - $tmp = sp; - $pTmp = sp + 212|0; - $zTmp = sp + 208|0; - HEAP32[$0>>2] = $pA; - HEAP32[$1>>2] = $pB; - $2 = HEAP32[$0>>2]|0; - _memcpy(($tmp|0),($2|0),208)|0; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - _memcpy(($3|0),($4|0),208)|0; - $5 = HEAP32[$1>>2]|0; - _memcpy(($5|0),($tmp|0),208)|0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 52|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pTmp>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 52|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 52|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$pTmp>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 52|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 48|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pTmp>>2] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 48|0); - HEAP32[$24>>2] = $22; - $25 = HEAP32[$pTmp>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 48|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 168|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$zTmp>>2] = $30; - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 168|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 168|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$zTmp>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 168|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 88|0); - $41 = HEAP16[$40>>1]|0; - $42 = ($41&65535) >>> 10; - $43 = $42 & 1; - $44 = $43&65535; - $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 88|0); - $47 = $44&65535; - $48 = HEAP16[$46>>1]|0; - $49 = $47 & 1; - $50 = ($49 << 10)&65535; - $51 = $48 & -1025; - $52 = $51 | $50; - HEAP16[$46>>1] = $52; - STACKTOP = sp;return; -} -function _sqlite3VdbeResetStepResult($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 80|0); - HEAP32[$2>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3FkDelete($db,$pTab) { - $db = $db|0; - $pTab = $pTab|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pFKey = 0, $pNext = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pFKey = sp + 12|0; - $pNext = sp + 8|0; - $p = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pTab; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pFKey>>2] = $4; - while(1) { - $5 = HEAP32[$pFKey>>2]|0; - $6 = ($5|0)!=(0|0); - if (!($6)) { - break; - } - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 520|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if ($12) { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - label = 0; - $13 = HEAP32[$pFKey>>2]|0; - $14 = (($13) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - $17 = HEAP32[$pFKey>>2]|0; - $18 = (($17) + 12|0); - $19 = HEAP32[$18>>2]|0; - if ($16) { - $20 = HEAP32[$pFKey>>2]|0; - $21 = (($20) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + 12|0); - HEAP32[$23>>2] = $19; - } else { - HEAP32[$p>>2] = $19; - $24 = HEAP32[$p>>2]|0; - $25 = ($24|0)!=(0|0); - $26 = HEAP32[$pFKey>>2]|0; - if ($25) { - $27 = (($26) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 8|0); - $30 = HEAP32[$29>>2]|0; - $33 = $30; - } else { - $31 = (($26) + 8|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32; - } - HEAP32[$z>>2] = $33; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 68|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + 56|0); - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$p>>2]|0; - (_sqlite3HashInsert($37,$38,$39)|0); - } - $40 = HEAP32[$pFKey>>2]|0; - $41 = (($40) + 12|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)!=(0|0); - if ($43) { - $44 = HEAP32[$pFKey>>2]|0; - $45 = (($44) + 16|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$pFKey>>2]|0; - $48 = (($47) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 16|0); - HEAP32[$50>>2] = $46; - } - } - $51 = HEAP32[$0>>2]|0; - $52 = HEAP32[$pFKey>>2]|0; - $53 = (($52) + 28|0); - $54 = HEAP32[$53>>2]|0; - _fkTriggerDelete($51,$54); - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$pFKey>>2]|0; - $57 = (($56) + 28|0); - $58 = (($57) + 4|0); - $59 = HEAP32[$58>>2]|0; - _fkTriggerDelete($55,$59); - $60 = HEAP32[$pFKey>>2]|0; - $61 = (($60) + 4|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$pNext>>2] = $62; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$pFKey>>2]|0; - _sqlite3DbFree($63,$64); - $65 = HEAP32[$pNext>>2]|0; - HEAP32[$pFKey>>2] = $65; - } - STACKTOP = sp;return; -} -function _sqlite3VtabClear($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 520|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $8 = HEAP32[$1>>2]|0; - (_vtabDisconnectAll(0,$8)|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 56|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 52|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if (!($17)) { - break; - } - $18 = HEAP32[$i>>2]|0; - $19 = ($18|0)!=(1); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 56|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<2)|0); - $26 = HEAP32[$25>>2]|0; - _sqlite3DbFree($20,$26); - } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 56|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3DbFree($29,$32); - STACKTOP = sp;return; -} -function _vtabDisconnectAll($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db2 = 0, $pNext = 0, $pRet = 0, $pVTable = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pRet = sp + 12|0; - $pVTable = sp + 8|0; - $db2 = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$pRet>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 60|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pVTable>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 60|0); - HEAP32[$6>>2] = 0; - while(1) { - $7 = HEAP32[$pVTable>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - break; - } - $9 = HEAP32[$pVTable>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$db2>>2] = $10; - $11 = HEAP32[$pVTable>>2]|0; - $12 = (($11) + 24|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pNext>>2] = $13; - $14 = HEAP32[$db2>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ($14|0)==($15|0); - if ($16) { - $17 = HEAP32[$pVTable>>2]|0; - HEAP32[$pRet>>2] = $17; - $18 = HEAP32[$pRet>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 60|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$pRet>>2]|0; - $22 = (($21) + 24|0); - HEAP32[$22>>2] = 0; - } else { - $23 = HEAP32[$db2>>2]|0; - $24 = (($23) + 332|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pVTable>>2]|0; - $27 = (($26) + 24|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$pVTable>>2]|0; - $29 = HEAP32[$db2>>2]|0; - $30 = (($29) + 332|0); - HEAP32[$30>>2] = $28; - } - $31 = HEAP32[$pNext>>2]|0; - HEAP32[$pVTable>>2] = $31; - } - $32 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($32|0); -} function _saveAllCursors($pBt,$iRoot,$pExcept) { $pBt = $pBt|0; $iRoot = $iRoot|0; @@ -156726,7 +157925,7 @@ function _saveAllCursors($pBt,$iRoot,$pExcept) { HEAP32[$1>>2] = $iRoot; HEAP32[$2>>2] = $pExcept; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$p>>2] = $5; while(1) { @@ -156745,7 +157944,7 @@ function _saveAllCursors($pBt,$iRoot,$pExcept) { break; } $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 60|0); + $14 = ((($13)) + 60|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$1>>2]|0; $17 = ($15|0)==($16|0); @@ -156754,7 +157953,7 @@ function _saveAllCursors($pBt,$iRoot,$pExcept) { } } $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; HEAP32[$p>>2] = $20; } @@ -156797,7 +157996,7 @@ function _saveCursorsOnList($p,$iRoot,$pExcept) { $8 = (0)==($7|0); if (!($8)) { $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 60|0); + $10 = ((($9)) + 60|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$2>>2]|0; $13 = ($11|0)==($12|0); @@ -156806,7 +158005,7 @@ function _saveCursorsOnList($p,$iRoot,$pExcept) { } } $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 73|0); + $15 = ((($14)) + 73|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = ($17|0)==(1); @@ -156829,7 +158028,7 @@ function _saveCursorsOnList($p,$iRoot,$pExcept) { } } while(0); $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 8|0); + $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; HEAP32[$1>>2] = $26; $27 = HEAP32[$1>>2]|0; @@ -156850,7 +158049,7 @@ function _saveCursorsOnList($p,$iRoot,$pExcept) { $29 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($29|0); } - return 0|0; + return (0)|0; } function _saveCursorPosition($pCur) { $pCur = $pCur|0; @@ -156865,20 +158064,20 @@ function _saveCursorPosition($pCur) { HEAP32[$0>>2] = $pCur; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 48|0); + $3 = ((($2)) + 48|0); $4 = (_sqlite3BtreeKeySize($1,$3)|0); HEAP32[$rc>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 120|0); + $6 = ((($5)) + 120|0); $7 = HEAP32[$6>>2]|0; - $8 = (($7) + 2|0); + $8 = ((($7)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = (0)==($10|0); do { if ($11) { $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 48|0); + $13 = ((($12)) + 48|0); $14 = $13; $15 = $14; $16 = HEAP32[$15>>2]|0; @@ -156895,7 +158094,7 @@ function _saveCursorPosition($pCur) { } $23 = HEAP32[$0>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 48|0); + $25 = ((($24)) + 48|0); $26 = $25; $27 = $26; $28 = HEAP32[$27>>2]|0; @@ -156910,7 +158109,7 @@ function _saveCursorPosition($pCur) { $36 = HEAP32[$pKey>>2]|0; if ($35) { $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 56|0); + $38 = ((($37)) + 56|0); HEAP32[$38>>2] = $36; break; } else { @@ -156923,7 +158122,7 @@ function _saveCursorPosition($pCur) { $40 = ($39|0)==(0); if (!($40)) { $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 72|0); + $45 = ((($44)) + 72|0); $46 = HEAP8[$45>>0]|0; $47 = $46&255; $48 = $47 & -5; @@ -156935,10 +158134,10 @@ function _saveCursorPosition($pCur) { $41 = HEAP32[$0>>2]|0; _btreeReleaseAllCursorPages($41); $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 73|0); + $43 = ((($42)) + 73|0); HEAP8[$43>>0] = 3; $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 72|0); + $45 = ((($44)) + 72|0); $46 = HEAP8[$45>>0]|0; $47 = $46&255; $48 = $47 & -5; @@ -156960,7 +158159,7 @@ function _btreeReleaseAllCursorPages($pCur) { while(1) { $1 = HEAP32[$i>>2]|0; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 76|0); + $3 = ((($2)) + 76|0); $4 = HEAP16[$3>>1]|0; $5 = $4 << 16 >> 16; $6 = ($1|0)<=($5|0); @@ -156969,13 +158168,13 @@ function _btreeReleaseAllCursorPages($pCur) { } $7 = HEAP32[$i>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 120|0); + $9 = ((($8)) + 120|0); $10 = (($9) + ($7<<2)|0); $11 = HEAP32[$10>>2]|0; _releasePage($11); $12 = HEAP32[$i>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 120|0); + $14 = ((($13)) + 120|0); $15 = (($14) + ($12<<2)|0); HEAP32[$15>>2] = 0; $16 = HEAP32[$i>>2]|0; @@ -156983,7 +158182,7 @@ function _btreeReleaseAllCursorPages($pCur) { HEAP32[$i>>2] = $17; } $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 76|0); + $19 = ((($18)) + 76|0); HEAP16[$19>>1] = -1; STACKTOP = sp;return; } @@ -157001,33 +158200,33 @@ function _sqlite3BtreeKeySize($pCur,$pSize) { HEAP32[$0>>2] = $pCur; HEAP32[$1>>2] = $pSize; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 24|0); - $4 = (($3) + 20|0); + $3 = ((($2)) + 24|0); + $4 = ((($3)) + 20|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ($6|0)==(0); if ($7) { $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 76|0); + $9 = ((($8)) + 76|0); $10 = HEAP16[$9>>1]|0; $11 = $10 << 16 >> 16; HEAP32[$iPage>>2] = $11; $12 = HEAP32[$iPage>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 120|0); + $14 = ((($13)) + 120|0); $15 = (($14) + ($12<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$iPage>>2]|0; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 78|0); + $19 = ((($18)) + 78|0); $20 = (($19) + ($17<<1)|0); $21 = HEAP16[$20>>1]|0; $22 = $21&65535; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 24|0); + $24 = ((($23)) + 24|0); _btreeParseCell($16,$22,$24); $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 72|0); + $26 = ((($25)) + 72|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; $29 = $28 | 2; @@ -157035,7 +158234,7 @@ function _sqlite3BtreeKeySize($pCur,$pSize) { HEAP8[$26>>0] = $30; } $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 24|0); + $32 = ((($31)) + 24|0); $33 = $32; $34 = $33; $35 = HEAP32[$34>>2]|0; @@ -157152,98 +158351,96 @@ function _freeP4($db,$p4type,$p4) { HEAP32[$2>>2] = $p4; $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); - L1: do { - if ($4) { - $5 = HEAP32[$1>>2]|0; - switch ($5|0) { - case -10: { - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 520|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0|0); - if (!($38)) { - break L1; - } - $39 = HEAP32[$2>>2]|0; - _sqlite3VtabUnlock($39); - break L1; - break; - } - case -15: case -1: case -13: case -12: { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$2>>2]|0; - _sqlite3DbFree($6,$7); - break L1; - break; - } - case -5: { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$2>>2]|0; - _freeEphemeralFunction($18,$19); - break L1; - break; - } - case -8: { - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 520|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0|0); - $24 = HEAP32[$2>>2]|0; - if ($23) { - _sqlite3ValueFree($24); - break L1; - } - HEAP32[$p>>2] = $24; - $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 24|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = (($30) + 20|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3DbFree($29,$32); - } - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$p>>2]|0; - _sqlite3DbFree($33,$34); - break L1; - break; - } - case -6: { - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 520|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - break L1; - } - $12 = HEAP32[$2>>2]|0; - _sqlite3KeyInfoUnref($12); - break L1; - break; - } - case -11: { - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 520|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - break L1; - } - $17 = HEAP32[$2>>2]|0; - _sqlite3_free($17); - break L1; - break; - } - default: { - break L1; - } - } + if (!($4)) { + STACKTOP = sp;return; + } + $5 = HEAP32[$1>>2]|0; + switch ($5|0) { + case -15: case -1: case -13: case -12: { + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$2>>2]|0; + _sqlite3DbFree($6,$7); + STACKTOP = sp;return; + break; + } + case -6: { + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 520|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if (!($11)) { + STACKTOP = sp;return; } - } while(0); - STACKTOP = sp;return; + $12 = HEAP32[$2>>2]|0; + _sqlite3KeyInfoUnref($12); + STACKTOP = sp;return; + break; + } + case -11: { + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 520|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$2>>2]|0; + _sqlite3_free($17); + STACKTOP = sp;return; + break; + } + case -5: { + $18 = HEAP32[$0>>2]|0; + $19 = HEAP32[$2>>2]|0; + _freeEphemeralFunction($18,$19); + STACKTOP = sp;return; + break; + } + case -8: { + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 520|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0|0); + $24 = HEAP32[$2>>2]|0; + if ($23) { + _sqlite3ValueFree($24); + STACKTOP = sp;return; + } + HEAP32[$p>>2] = $24; + $25 = HEAP32[$p>>2]|0; + $26 = ((($25)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$p>>2]|0; + $31 = ((($30)) + 20|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3DbFree($29,$32); + } + $33 = HEAP32[$0>>2]|0; + $34 = HEAP32[$p>>2]|0; + _sqlite3DbFree($33,$34); + STACKTOP = sp;return; + break; + } + case -10: { + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 520|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0|0); + if (!($38)) { + STACKTOP = sp;return; + } + $39 = HEAP32[$2>>2]|0; + _sqlite3VtabUnlock($39); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } } function _freeEphemeralFunction($db,$pDef) { $db = $db|0; @@ -157261,7 +158458,7 @@ function _freeEphemeralFunction($db,$pDef) { STACKTOP = sp;return; } $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 2|0); + $5 = ((($4)) + 2|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7 & 16; @@ -157282,7 +158479,7 @@ function _sqlite3VtabLock($pVTab) { $0 = sp; HEAP32[$0>>2] = $pVTab; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); + $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + 1)|0; HEAP32[$2>>2] = $4; @@ -157302,19 +158499,165 @@ function _sqlite3VdbeMemMove($pTo,$pFrom) { _sqlite3VdbeMemRelease($2); $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; - dest=$3+0|0; src=$4+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=$4; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); HEAP16[$6>>1] = 1; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 24|0); + $8 = ((($7)) + 24|0); HEAP32[$8>>2] = 0; STACKTOP = sp;return; } function _columnNullValue() { var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = sp;return (31224|0); + return (320|0); +} +function _sqlite3VdbeSwap($pA,$pB) { + $pA = $pA|0; + $pB = $pB|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, $tmp = 0, $zTmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; + $0 = sp + 220|0; + $1 = sp + 216|0; + $tmp = sp; + $pTmp = sp + 212|0; + $zTmp = sp + 208|0; + HEAP32[$0>>2] = $pA; + HEAP32[$1>>2] = $pB; + $2 = HEAP32[$0>>2]|0; + _memcpy(($tmp|0),($2|0),208)|0; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + _memcpy(($3|0),($4|0),208)|0; + $5 = HEAP32[$1>>2]|0; + _memcpy(($5|0),($tmp|0),208)|0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 52|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$pTmp>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 52|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 52|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$pTmp>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 52|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 48|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$pTmp>>2] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 48|0); + HEAP32[$24>>2] = $22; + $25 = HEAP32[$pTmp>>2]|0; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 48|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$0>>2]|0; + $29 = ((($28)) + 168|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$zTmp>>2] = $30; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 168|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 168|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$zTmp>>2]|0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 168|0); + HEAP32[$38>>2] = $36; + $39 = HEAP32[$0>>2]|0; + $40 = ((($39)) + 88|0); + $41 = HEAP16[$40>>1]|0; + $42 = ($41&65535) >>> 10; + $43 = $42 & 1; + $44 = $43&65535; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 88|0); + $47 = $44&65535; + $48 = HEAP16[$46>>1]|0; + $49 = $47 & 1; + $50 = ($49 << 10)&65535; + $51 = $48 & -1025; + $52 = $51 | $50; + HEAP16[$46>>1] = $52; + STACKTOP = sp;return; +} +function _sqlite3VdbeResetStepResult($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3OsCurrentTimeInt64($pVfs,$pTimeOut) { + $pVfs = $pVfs|0; + $pTimeOut = $pTimeOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $rc = sp + 8|0; + $r = sp; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $pTimeOut; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>=(2); + if ($4) { + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 72|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 72|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = (FUNCTION_TABLE_iii[$11 & 63]($12,$13)|0); + HEAP32[$rc>>2] = $14; + $29 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($29|0); + } + } + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 64|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$0>>2]|0; + $19 = (FUNCTION_TABLE_iii[$17 & 63]($18,$r)|0); + HEAP32[$rc>>2] = $19; + $20 = +HEAPF64[$r>>3]; + $21 = $20 * 8.64E+7; + $22 = (~~$21)>>>0; + $23 = +Math_abs($21) >= 1.0 ? $21 > 0.0 ? (~~+Math_min(+Math_floor($21 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($21 - +(~~$21 >>> 0)) / 4294967296.0) >>> 0 : 0; + $24 = HEAP32[$1>>2]|0; + $25 = $24; + $26 = $25; + HEAP32[$26>>2] = $22; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $23; + $29 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($29|0); } function _sqlite3VdbeList($p) { $p = $p|0; @@ -157335,25 +158678,26 @@ function _sqlite3VdbeList($p) { var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $apSub = 0, $db = 0, $i = 0; - var $j = 0, $j1 = 0, $nByte = 0, $nRow = 0, $nSub = 0, $pMem = 0, $pOp = 0, $pSub = 0, $rc = 0, $vararg_buffer2 = 0, $zP4 = 0, label = 0, sp = 0; + var $j = 0, $j1 = 0, $nByte = 0, $nRow = 0, $nSub = 0, $pMem = 0, $pOp = 0, $pSub = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $zP4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 80|0; $vararg_buffer2 = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $nRow = sp + 52|0; - $nSub = sp + 48|0; - $apSub = sp + 44|0; - $pSub = sp + 40|0; - $db = sp + 36|0; - $i = sp + 32|0; - $rc = sp + 28|0; - $pMem = sp + 24|0; - $zP4 = sp + 20|0; - $pOp = sp + 16|0; - $j = sp + 12|0; - $nByte = sp + 8|0; - $j1 = sp + 4|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $nRow = sp + 24|0; + $nSub = sp + 12|0; + $apSub = sp + 20|0; + $pSub = sp + 32|0; + $db = sp + 28|0; + $i = sp + 40|0; + $rc = sp + 44|0; + $pMem = sp + 48|0; + $zP4 = sp + 52|0; + $pOp = sp + 56|0; + $j = sp + 60|0; + $nByte = sp + 64|0; + $j1 = sp + 68|0; HEAP32[$1>>2] = $p; HEAP32[$nSub>>2] = 0; HEAP32[$apSub>>2] = 0; @@ -157363,33 +158707,33 @@ function _sqlite3VdbeList($p) { HEAP32[$db>>2] = $3; HEAP32[$rc>>2] = 0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 40|0); + $7 = ((($6)) + 40|0); HEAP32[$pMem>>2] = $7; $8 = HEAP32[$pMem>>2]|0; _releaseMemArray($8,8); $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 20|0); + $10 = ((($9)) + 20|0); HEAP32[$10>>2] = 0; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 80|0); + $12 = ((($11)) + 80|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(7); if ($14) { $15 = HEAP32[$db>>2]|0; - $16 = (($15) + 64|0); + $16 = ((($15)) + 64|0); HEAP8[$16>>0] = 1; HEAP32[$0>>2] = 1; $336 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($336|0); } $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 32|0); + $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; HEAP32[$nRow>>2] = $19; $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 88|0); + $21 = ((($20)) + 88|0); $22 = HEAP16[$21>>1]|0; $23 = $22 & 3; $24 = $23&65535; @@ -157397,24 +158741,24 @@ function _sqlite3VdbeList($p) { L5: do { if ($25) { $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 8|0); + $27 = ((($26)) + 8|0); $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 360|0); + $29 = ((($28)) + 360|0); HEAP32[$pSub>>2] = $29; $30 = HEAP32[$pSub>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = HEAP16[$31>>1]|0; $33 = $32&65535; $34 = $33 & 16; $35 = ($34|0)!=(0); if ($35) { $36 = HEAP32[$pSub>>2]|0; - $37 = (($36) + 12|0); + $37 = ((($36)) + 12|0); $38 = HEAP32[$37>>2]|0; $39 = (($38>>>0) / 4)&-1; HEAP32[$nSub>>2] = $39; $40 = HEAP32[$pSub>>2]|0; - $41 = (($40) + 16|0); + $41 = ((($40)) + 16|0); $42 = HEAP32[$41>>2]|0; HEAP32[$apSub>>2] = $42; } @@ -157430,7 +158774,7 @@ function _sqlite3VdbeList($p) { $47 = HEAP32[$apSub>>2]|0; $48 = (($47) + ($46<<2)|0); $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 4|0); + $50 = ((($49)) + 4|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$nRow>>2]|0; $53 = (($52) + ($51))|0; @@ -157443,7 +158787,7 @@ function _sqlite3VdbeList($p) { } while(0); while(1) { $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 76|0); + $57 = ((($56)) + 76|0); $58 = HEAP32[$57>>2]|0; $59 = (($58) + 1)|0; HEAP32[$57>>2] = $59; @@ -157455,7 +158799,7 @@ function _sqlite3VdbeList($p) { break; } $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 88|0); + $64 = ((($63)) + 88|0); $65 = HEAP16[$64>>1]|0; $66 = $65 & 3; $67 = $66&65535; @@ -157465,7 +158809,7 @@ function _sqlite3VdbeList($p) { } $69 = HEAP32[$i>>2]|0; $70 = HEAP32[$1>>2]|0; - $71 = (($70) + 4|0); + $71 = ((($70)) + 4|0); $72 = HEAP32[$71>>2]|0; $73 = (($72) + (($69*20)|0)|0); $74 = HEAP8[$73>>0]|0; @@ -157481,45 +158825,45 @@ function _sqlite3VdbeList($p) { do { if ($79) { $80 = HEAP32[$1>>2]|0; - $81 = (($80) + 80|0); + $81 = ((($80)) + 80|0); HEAP32[$81>>2] = 0; HEAP32[$rc>>2] = 101; } else { $82 = HEAP32[$db>>2]|0; - $83 = (($82) + 240|0); + $83 = ((($82)) + 240|0); $84 = HEAP32[$83>>2]|0; $85 = ($84|0)!=(0); if ($85) { $86 = HEAP32[$1>>2]|0; - $87 = (($86) + 80|0); + $87 = ((($86)) + 80|0); HEAP32[$87>>2] = 9; HEAP32[$rc>>2] = 1; $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 44|0); + $89 = ((($88)) + 44|0); $90 = HEAP32[$db>>2]|0; $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 80|0); + $92 = ((($91)) + 80|0); $93 = HEAP32[$92>>2]|0; $94 = (_sqlite3ErrStr($93)|0); - HEAP32[$vararg_buffer2>>2] = $94; - _sqlite3SetString($89,$90,1200,$vararg_buffer2); + HEAP32[$vararg_buffer>>2] = $94; + _sqlite3SetString($89,$90,14418,$vararg_buffer); break; } $95 = HEAP32[$i>>2]|0; $96 = HEAP32[$1>>2]|0; - $97 = (($96) + 32|0); + $97 = ((($96)) + 32|0); $98 = HEAP32[$97>>2]|0; $99 = ($95|0)<($98|0); if ($99) { $100 = HEAP32[$i>>2]|0; $101 = HEAP32[$1>>2]|0; - $102 = (($101) + 4|0); + $102 = ((($101)) + 4|0); $103 = HEAP32[$102>>2]|0; $104 = (($103) + (($100*20)|0)|0); HEAP32[$pOp>>2] = $104; } else { $105 = HEAP32[$1>>2]|0; - $106 = (($105) + 32|0); + $106 = ((($105)) + 32|0); $107 = HEAP32[$106>>2]|0; $108 = HEAP32[$i>>2]|0; $109 = (($108) - ($107))|0; @@ -157531,7 +158875,7 @@ function _sqlite3VdbeList($p) { $112 = HEAP32[$apSub>>2]|0; $113 = (($112) + ($111<<2)|0); $114 = HEAP32[$113>>2]|0; - $115 = (($114) + 4|0); + $115 = ((($114)) + 4|0); $116 = HEAP32[$115>>2]|0; $117 = ($110|0)>=($116|0); if (!($117)) { @@ -157541,7 +158885,7 @@ function _sqlite3VdbeList($p) { $119 = HEAP32[$apSub>>2]|0; $120 = (($119) + ($118<<2)|0); $121 = HEAP32[$120>>2]|0; - $122 = (($121) + 4|0); + $122 = ((($121)) + 4|0); $123 = HEAP32[$122>>2]|0; $124 = HEAP32[$i>>2]|0; $125 = (($124) - ($123))|0; @@ -157560,14 +158904,14 @@ function _sqlite3VdbeList($p) { HEAP32[$pOp>>2] = $134; } $135 = HEAP32[$1>>2]|0; - $136 = (($135) + 88|0); + $136 = ((($135)) + 88|0); $137 = HEAP16[$136>>1]|0; $138 = $137 & 3; $139 = $138&65535; $140 = ($139|0)==(1); if ($140) { $141 = HEAP32[$pMem>>2]|0; - $142 = (($141) + 8|0); + $142 = ((($141)) + 8|0); HEAP16[$142>>1] = 4; $143 = HEAP32[$i>>2]|0; $144 = ($143|0)<(0); @@ -157580,33 +158924,33 @@ function _sqlite3VdbeList($p) { $150 = $149; HEAP32[$150>>2] = $145; $151 = HEAP32[$pMem>>2]|0; - $152 = (($151) + 40|0); + $152 = ((($151)) + 40|0); HEAP32[$pMem>>2] = $152; $153 = HEAP32[$pMem>>2]|0; - $154 = (($153) + 8|0); + $154 = ((($153)) + 8|0); HEAP16[$154>>1] = 2562; $155 = HEAP32[$pOp>>2]|0; $156 = HEAP8[$155>>0]|0; $157 = $156&255; $158 = (_sqlite3OpcodeName($157)|0); $159 = HEAP32[$pMem>>2]|0; - $160 = (($159) + 16|0); + $160 = ((($159)) + 16|0); HEAP32[$160>>2] = $158; $161 = HEAP32[$pMem>>2]|0; - $162 = (($161) + 16|0); + $162 = ((($161)) + 16|0); $163 = HEAP32[$162>>2]|0; $164 = (_sqlite3Strlen30($163)|0); $165 = HEAP32[$pMem>>2]|0; - $166 = (($165) + 12|0); + $166 = ((($165)) + 12|0); HEAP32[$166>>2] = $164; $167 = HEAP32[$pMem>>2]|0; - $168 = (($167) + 10|0); + $168 = ((($167)) + 10|0); HEAP8[$168>>0] = 1; $169 = HEAP32[$pMem>>2]|0; - $170 = (($169) + 40|0); + $170 = ((($169)) + 40|0); HEAP32[$pMem>>2] = $170; $171 = HEAP32[$pOp>>2]|0; - $172 = (($171) + 1|0); + $172 = ((($171)) + 1|0); $173 = HEAP8[$172>>0]|0; $174 = $173 << 24 >> 24; $175 = ($174|0)==(-18); @@ -157628,7 +158972,7 @@ function _sqlite3VdbeList($p) { $184 = (($183) + ($182<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = HEAP32[$pOp>>2]|0; - $187 = (($186) + 16|0); + $187 = ((($186)) + 16|0); $188 = HEAP32[$187>>2]|0; $189 = ($185|0)==($188|0); if ($189) { @@ -157651,11 +158995,11 @@ function _sqlite3VdbeList($p) { $201 = (0)==($200|0); if ($201) { $202 = HEAP32[$pSub>>2]|0; - $203 = (($202) + 16|0); + $203 = ((($202)) + 16|0); $204 = HEAP32[$203>>2]|0; HEAP32[$apSub>>2] = $204; $205 = HEAP32[$pOp>>2]|0; - $206 = (($205) + 16|0); + $206 = ((($205)) + 16|0); $207 = HEAP32[$206>>2]|0; $208 = HEAP32[$nSub>>2]|0; $209 = (($208) + 1)|0; @@ -157664,7 +159008,7 @@ function _sqlite3VdbeList($p) { $211 = (($210) + ($208<<2)|0); HEAP32[$211>>2] = $207; $212 = HEAP32[$pSub>>2]|0; - $213 = (($212) + 8|0); + $213 = ((($212)) + 8|0); $214 = HEAP16[$213>>1]|0; $215 = $214&65535; $216 = $215 | 16; @@ -157673,17 +159017,17 @@ function _sqlite3VdbeList($p) { $218 = HEAP32[$nSub>>2]|0; $219 = $218<<2; $220 = HEAP32[$pSub>>2]|0; - $221 = (($220) + 12|0); + $221 = ((($220)) + 12|0); HEAP32[$221>>2] = $219; } } } } $222 = HEAP32[$pMem>>2]|0; - $223 = (($222) + 8|0); + $223 = ((($222)) + 8|0); HEAP16[$223>>1] = 4; $224 = HEAP32[$pOp>>2]|0; - $225 = (($224) + 4|0); + $225 = ((($224)) + 4|0); $226 = HEAP32[$225>>2]|0; $227 = ($226|0)<(0); $228 = $227 << 31 >> 31; @@ -157695,13 +159039,13 @@ function _sqlite3VdbeList($p) { $233 = $232; HEAP32[$233>>2] = $228; $234 = HEAP32[$pMem>>2]|0; - $235 = (($234) + 40|0); + $235 = ((($234)) + 40|0); HEAP32[$pMem>>2] = $235; $236 = HEAP32[$pMem>>2]|0; - $237 = (($236) + 8|0); + $237 = ((($236)) + 8|0); HEAP16[$237>>1] = 4; $238 = HEAP32[$pOp>>2]|0; - $239 = (($238) + 8|0); + $239 = ((($238)) + 8|0); $240 = HEAP32[$239>>2]|0; $241 = ($240|0)<(0); $242 = $241 << 31 >> 31; @@ -157713,13 +159057,13 @@ function _sqlite3VdbeList($p) { $247 = $246; HEAP32[$247>>2] = $242; $248 = HEAP32[$pMem>>2]|0; - $249 = (($248) + 40|0); + $249 = ((($248)) + 40|0); HEAP32[$pMem>>2] = $249; $250 = HEAP32[$pMem>>2]|0; - $251 = (($250) + 8|0); + $251 = ((($250)) + 8|0); HEAP16[$251>>1] = 4; $252 = HEAP32[$pOp>>2]|0; - $253 = (($252) + 12|0); + $253 = ((($252)) + 12|0); $254 = HEAP32[$253>>2]|0; $255 = ($254|0)<(0); $256 = $255 << 31 >> 31; @@ -157731,7 +159075,7 @@ function _sqlite3VdbeList($p) { $261 = $260; HEAP32[$261>>2] = $256; $262 = HEAP32[$pMem>>2]|0; - $263 = (($262) + 40|0); + $263 = ((($262)) + 40|0); HEAP32[$pMem>>2] = $263; $264 = HEAP32[$pMem>>2]|0; $265 = (_sqlite3VdbeMemClearAndResize($264,32)|0); @@ -157742,17 +159086,17 @@ function _sqlite3VdbeList($p) { STACKTOP = sp;return ($336|0); } $267 = HEAP32[$pMem>>2]|0; - $268 = (($267) + 8|0); + $268 = ((($267)) + 8|0); HEAP16[$268>>1] = 514; $269 = HEAP32[$pOp>>2]|0; $270 = HEAP32[$pMem>>2]|0; - $271 = (($270) + 16|0); + $271 = ((($270)) + 16|0); $272 = HEAP32[$271>>2]|0; $273 = (_displayP4($269,$272,32)|0); HEAP32[$zP4>>2] = $273; $274 = HEAP32[$zP4>>2]|0; $275 = HEAP32[$pMem>>2]|0; - $276 = (($275) + 16|0); + $276 = ((($275)) + 16|0); $277 = HEAP32[$276>>2]|0; $278 = ($274|0)!=($277|0); $279 = HEAP32[$pMem>>2]|0; @@ -157760,21 +159104,21 @@ function _sqlite3VdbeList($p) { $280 = HEAP32[$zP4>>2]|0; (_sqlite3VdbeMemSetStr($279,$280,-1,1,0)|0); } else { - $281 = (($279) + 16|0); + $281 = ((($279)) + 16|0); $282 = HEAP32[$281>>2]|0; $283 = (_sqlite3Strlen30($282)|0); $284 = HEAP32[$pMem>>2]|0; - $285 = (($284) + 12|0); + $285 = ((($284)) + 12|0); HEAP32[$285>>2] = $283; $286 = HEAP32[$pMem>>2]|0; - $287 = (($286) + 10|0); + $287 = ((($286)) + 10|0); HEAP8[$287>>0] = 1; } $288 = HEAP32[$pMem>>2]|0; - $289 = (($288) + 40|0); + $289 = ((($288)) + 40|0); HEAP32[$pMem>>2] = $289; $290 = HEAP32[$1>>2]|0; - $291 = (($290) + 88|0); + $291 = ((($290)) + 88|0); $292 = HEAP16[$291>>1]|0; $293 = $292 & 3; $294 = $293&65535; @@ -157786,28 +159130,28 @@ function _sqlite3VdbeList($p) { $298 = ($297|0)!=(0); if (!($298)) { $299 = HEAP32[$pMem>>2]|0; - $300 = (($299) + 8|0); + $300 = ((($299)) + 8|0); HEAP16[$300>>1] = 514; $301 = HEAP32[$pMem>>2]|0; - $302 = (($301) + 12|0); + $302 = ((($301)) + 12|0); HEAP32[$302>>2] = 2; $303 = HEAP32[$pMem>>2]|0; - $304 = (($303) + 16|0); + $304 = ((($303)) + 16|0); $305 = HEAP32[$304>>2]|0; $306 = HEAP32[$pOp>>2]|0; - $307 = (($306) + 3|0); + $307 = ((($306)) + 3|0); $308 = HEAP8[$307>>0]|0; $309 = $308&255; HEAP32[$vararg_buffer2>>2] = $309; - (_sqlite3_snprintf(3,$305,34488,$vararg_buffer2)|0); + (_sqlite3_snprintf(3,$305,34046,$vararg_buffer2)|0); $310 = HEAP32[$pMem>>2]|0; - $311 = (($310) + 10|0); + $311 = ((($310)) + 10|0); HEAP8[$311>>0] = 1; $312 = HEAP32[$pMem>>2]|0; - $313 = (($312) + 40|0); + $313 = ((($312)) + 40|0); HEAP32[$pMem>>2] = $313; $314 = HEAP32[$pMem>>2]|0; - $315 = (($314) + 8|0); + $315 = ((($314)) + 8|0); HEAP16[$315>>1] = 1; break; } @@ -157817,7 +159161,7 @@ function _sqlite3VdbeList($p) { } } while(0); $316 = HEAP32[$1>>2]|0; - $317 = (($316) + 88|0); + $317 = ((($316)) + 88|0); $318 = HEAP16[$317>>1]|0; $319 = $318 & 3; $320 = $319&65535; @@ -157826,17 +159170,17 @@ function _sqlite3VdbeList($p) { $323 = (8 - ($322))|0; $324 = $323&65535; $325 = HEAP32[$1>>2]|0; - $326 = (($325) + 84|0); + $326 = ((($325)) + 84|0); HEAP16[$326>>1] = $324; $327 = HEAP32[$1>>2]|0; - $328 = (($327) + 8|0); + $328 = ((($327)) + 8|0); $329 = HEAP32[$328>>2]|0; - $330 = (($329) + 40|0); + $330 = ((($329)) + 40|0); $331 = HEAP32[$1>>2]|0; - $332 = (($331) + 20|0); + $332 = ((($331)) + 20|0); HEAP32[$332>>2] = $330; $333 = HEAP32[$1>>2]|0; - $334 = (($333) + 80|0); + $334 = ((($333)) + 80|0); HEAP32[$334>>2] = 0; HEAP32[$rc>>2] = 100; } @@ -158204,8 +159548,8 @@ function _sqlite3VdbeExec($p) { var $iB = 0, $iB5 = 0, $iCnt = 0, $iCompare = 0, $iCookie = 0, $iDb = 0, $iDb22 = 0, $iDb79 = 0, $iDb84 = 0, $iGen = 0, $iKey = 0, $iKey40 = 0, $iKey46 = 0, $iMeta = 0, $iMeta18 = 0, $iMoved = 0, $iQuery = 0, $iRollback = 0, $iSavepoint = 0, $iSet = 0; var $idx = 0, $ii = 0, $ii33 = 0, $initData = 0, $isSchemaChange = 0, $isTransaction = 0, $isWriteLock = 0, $j = 0, $j85 = 0, $lastRowid = 0, $len = 0, $len15 = 0, $n = 0, $n1 = 0, $n3 = 0, $n56 = 0, $n6 = 0, $n64 = 0, $n92 = 0, $nArg = 0; var $nArg126 = 0, $nByte = 0, $nByte12 = 0, $nByte86 = 0, $nChange = 0, $nChange$ = 0, $nData = 0, $nEntry = 0, $nErr = 0, $nField = 0, $nField19 = 0, $nField31 = 0, $nHdr = 0, $nKey = 0, $nKeyCol = 0, $nMem = 0, $nName = 0, $nProgressLimit = 0, $nRoot = 0, $nVarint = 0; - var $nVmStep = 0, $nZero = 0, $nZero48 = 0, $newMax = 0, $nullFlag = 0, $oc = 0, $offset = 0, $op = 0, $op49 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond18 = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond26 = 0, $or$cond3 = 0, $or$cond5 = 0; - var $or$cond7 = 0, $or$cond9 = 0, $p1 = 0, $p1104 = 0, $p117 = 0, $p18 = 0, $p2 = 0, $p210 = 0, $p221 = 0, $p29 = 0, $pArg = 0, $pArgc = 0, $pBt = 0, $pBt102 = 0, $pBt103 = 0, $pBt131 = 0, $pC = 0, $pC27 = 0, $pC30 = 0, $pC32 = 0; + var $nVmStep = 0, $nZero = 0, $nZero48 = 0, $newMax = 0, $nullFlag = 0, $oc = 0, $offset = 0, $op = 0, $op49 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond26 = 0, $or$cond28 = 0, $or$cond3 = 0; + var $or$cond6 = 0, $or$cond8 = 0, $p1 = 0, $p1104 = 0, $p117 = 0, $p18 = 0, $p2 = 0, $p210 = 0, $p221 = 0, $p29 = 0, $pArg = 0, $pArgc = 0, $pBt = 0, $pBt102 = 0, $pBt103 = 0, $pBt131 = 0, $pC = 0, $pC27 = 0, $pC30 = 0, $pC32 = 0; var $pC34 = 0, $pC37 = 0, $pC41 = 0, $pC47 = 0, $pC50 = 0, $pC51 = 0, $pC53 = 0, $pC54 = 0, $pC57 = 0, $pC59 = 0, $pC60 = 0, $pC63 = 0, $pC66 = 0, $pC68 = 0, $pC70 = 0, $pC75 = 0, $pC76 = 0, $pC80 = 0, $pCaller = 0, $pColl = 0; var $pCrsr = 0, $pCrsr16 = 0, $pCrsr38 = 0, $pCrsr55 = 0, $pCrsr61 = 0, $pCrsr64 = 0, $pCrsr69 = 0, $pCrsr71 = 0, $pCrsr74 = 0, $pCur = 0, $pCur106 = 0, $pCur112 = 0, $pCur118 = 0, $pCur122 = 0, $pCur23 = 0, $pCx = 0, $pCx26 = 0, $pCx28 = 0, $pData = 0, $pData0 = 0; var $pDb = 0, $pDb24 = 0, $pDb83 = 0, $pDest = 0, $pDest117 = 0, $pEnd = 0, $pFrame = 0, $pFrame45 = 0, $pFrame88 = 0, $pFrame90 = 0, $pFrame91 = 0, $pFree = 0, $pIdxKey = 0, $pIn = 0, $pIn1 = 0, $pIn2 = 0, $pIn3 = 0, $pKey = 0, $pKeyInfo = 0, $pKeyInfo20 = 0; @@ -158213,315 +159557,336 @@ function _sqlite3VdbeExec($p) { var $pQuery = 0, $pRec = 0, $pRec95 = 0, $pReg = 0, $pRt = 0, $pSavepoint = 0, $pTmp = 0, $pVTab = 0, $pVar = 0, $pVdbe = 0, $pVtab = 0, $pVtab107 = 0, $pVtab111 = 0, $pVtab115 = 0, $pVtab119 = 0, $pVtab123 = 0, $pVtab124 = 0, $pVtabCursor = 0, $pVtabCursor110 = 0, $pX = 0; var $pX130 = 0, $payloadSize64 = 0, $pc = 0, $pcDest = 0, $pgno = 0, $pgno81 = 0, $pnErr = 0, $r = 0, $r36 = 0, $r73 = 0, $r78 = 0, $rA = 0, $rB = 0, $rc = 0, $res = 0, $res113 = 0, $res121 = 0, $res29 = 0, $res35 = 0, $res39 = 0; var $res42 = 0, $res52 = 0, $res62 = 0, $res65 = 0, $res67 = 0, $res72 = 0, $res77 = 0, $resetSchemaOnFault = 0, $rowid = 0, $rowid128 = 0, $sContext = 0, $sMem = 0, $seekResult = 0, $serial_type = 0, $szField = 0, $t = 0, $t89 = 0, $t96 = 0, $turnOnAC = 0, $type1 = 0; - var $type2 = 0, $uA = 0, $v = 0, $v1 = 0, $v2 = 0, $v58 = 0, $val = 0, $vararg_buffer84 = 0, $vararg_ptr27 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr56 = 0, $vararg_ptr57 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vtabOnConflict = 0, $wrFlag = 0, $z = 0, $z105 = 0, $z132 = 0; + var $type2 = 0, $uA = 0, $v = 0, $v1 = 0, $v2 = 0, $v58 = 0, $val = 0, $vararg_buffer = 0, $vararg_buffer30 = 0, $vararg_buffer33 = 0, $vararg_buffer36 = 0, $vararg_buffer41 = 0, $vararg_buffer44 = 0, $vararg_buffer46 = 0, $vararg_buffer49 = 0, $vararg_buffer51 = 0, $vararg_buffer53 = 0, $vararg_buffer55 = 0, $vararg_buffer60 = 0, $vararg_buffer62 = 0; + var $vararg_buffer65 = 0, $vararg_buffer68 = 0, $vararg_buffer71 = 0, $vararg_buffer74 = 0, $vararg_buffer79 = 0, $vararg_buffer81 = 0, $vararg_buffer83 = 0, $vararg_buffer86 = 0, $vararg_ptr29 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr58 = 0, $vararg_ptr59 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vtabOnConflict = 0, $wrFlag = 0, $z = 0, $z105 = 0, $z132 = 0; var $zAffinity = 0, $zAffinity13 = 0, $zData = 0, $zDb = 0, $zEndHdr = 0, $zFilename = 0, $zHdr = 0, $zKey = 0, $zLogFmt = 0, $zMaster = 0, $zName = 0, $zNewRecord = 0, $zSql = 0, $zTbl = 0, $zTrace = 0, $zType = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 1696|0; - $vararg_buffer84 = sp + 256|0; - $0 = sp + 1464|0; - $pc = sp + 1460|0; - $aOp = sp + 1456|0; - $pOp = sp + 1452|0; - $rc = sp + 1448|0; - $db = sp + 1444|0; - $resetSchemaOnFault = sp + 1680|0; - $encoding = sp + 1679|0; - $iCompare = sp + 1440|0; - $nVmStep = sp + 1436|0; - $nProgressLimit = sp + 1432|0; - $aMem = sp + 1428|0; - $pIn1 = sp + 1424|0; - $pIn2 = sp + 1420|0; - $pIn3 = sp + 1416|0; - $pOut = sp + 1412|0; - $aPermute = sp + 1408|0; - $lastRowid = sp + 248|0; - $pCaller = sp + 1404|0; - $pcDest = sp + 1400|0; - $zType = sp + 1396|0; - $zLogFmt = sp + 1392|0; - $pFrame = sp + 1388|0; - $cnt = sp + 1384|0; - $nullFlag = sp + 1480|0; - $pVar = sp + 1380|0; - $n = sp + 1376|0; - $p1 = sp + 1372|0; - $p2 = sp + 1368|0; - $n1 = sp + 1364|0; - $pMem = sp + 1360|0; - $i = sp + 1356|0; - $nByte = sp + 240|0; - $bIntint = sp + 1678|0; - $flags = sp + 1478|0; - $type1 = sp + 1476|0; - $type2 = sp + 1474|0; - $iA = sp + 232|0; - $iB = sp + 224|0; - $rA = sp + 216|0; - $rB = sp + 208|0; - $i2 = sp + 1352|0; - $pArg = sp + 1348|0; - $ctx = sp + 1320|0; - $apVal = sp + 1316|0; - $n3 = sp + 1312|0; - $iA4 = sp + 200|0; - $uA = sp + 192|0; - $iB5 = sp + 184|0; - $op = sp + 1677|0; - $res = sp + 1308|0; - $affinity = sp + 1676|0; - $flags1 = sp + 1472|0; - $flags3 = sp + 1470|0; - $n6 = sp + 1304|0; - $i7 = sp + 1300|0; - $p18 = sp + 1296|0; - $p29 = sp + 1292|0; - $pKeyInfo = sp + 1288|0; - $idx = sp + 1284|0; - $pColl = sp + 1280|0; - $bRev = sp + 1276|0; - $v1 = sp + 1272|0; - $v2 = sp + 1268|0; - $c = sp + 1264|0; - $payloadSize64 = sp + 176|0; - $p210 = sp + 1260|0; - $pC = sp + 1256|0; - $pCrsr = sp + 1252|0; - $aOffset = sp + 1248|0; - $len = sp + 1244|0; - $i11 = sp + 1240|0; - $pDest = sp + 1236|0; - $sMem = sp + 136|0; - $zData = sp + 1232|0; - $zHdr = sp + 1228|0; - $zEndHdr = sp + 1224|0; - $offset = sp + 1220|0; - $szField = sp + 1216|0; - $avail = sp + 1212|0; - $t = sp + 1208|0; - $fx = sp + 1468|0; - $pReg = sp + 1204|0; - $zAffinity = sp + 1200|0; - $cAff = sp + 1675|0; - $zNewRecord = sp + 1196|0; - $pRec = sp + 1192|0; - $nData = sp + 128|0; - $nHdr = sp + 1188|0; - $nByte12 = sp + 120|0; - $nZero = sp + 1184|0; - $nVarint = sp + 1180|0; - $serial_type = sp + 1176|0; - $pData0 = sp + 1172|0; - $pLast = sp + 1168|0; - $nField = sp + 1164|0; - $zAffinity13 = sp + 1160|0; - $file_format = sp + 1156|0; - $i14 = sp + 1152|0; - $j = sp + 1148|0; - $len15 = sp + 1144|0; - $nEntry = sp + 112|0; - $pCrsr16 = sp + 1140|0; - $p117 = sp + 1136|0; - $zName = sp + 1132|0; - $nName = sp + 1128|0; - $pNew = sp + 1124|0; - $pSavepoint = sp + 1120|0; - $pTmp = sp + 1116|0; - $iSavepoint = sp + 1112|0; - $ii = sp + 1108|0; - $isTransaction = sp + 1104|0; - $isSchemaChange = sp + 1100|0; - $desiredAutoCommit = sp + 1096|0; - $iRollback = sp + 1092|0; - $turnOnAC = sp + 1088|0; - $pBt = sp + 1084|0; - $iMeta = sp + 1080|0; - $iGen = sp + 1076|0; - $iMeta18 = sp + 1072|0; - $iDb = sp + 1068|0; - $iCookie = sp + 1064|0; - $pDb = sp + 1060|0; - $pCur = sp + 1056|0; - $nField19 = sp + 1052|0; - $pKeyInfo20 = sp + 1048|0; - $p221 = sp + 1044|0; - $iDb22 = sp + 1040|0; - $wrFlag = sp + 1036|0; - $pX = sp + 1032|0; - $pCur23 = sp + 1028|0; - $pDb24 = sp + 1024|0; - $pCx = sp + 1020|0; - $pKeyInfo25 = sp + 1016|0; - $pgno = sp + 1012|0; - $pCx26 = sp + 1008|0; - $pC27 = sp + 1004|0; - $pCx28 = sp + 1000|0; - $res29 = sp + 996|0; - $oc = sp + 992|0; - $pC30 = sp + 988|0; - $r = sp + 968|0; - $nField31 = sp + 964|0; - $iKey = sp + 104|0; - $pC32 = sp + 960|0; - $alreadyExists = sp + 956|0; - $ii33 = sp + 952|0; + STACKTOP = STACKTOP + 1856|0; + $vararg_buffer86 = sp + 320|0; + $vararg_buffer83 = sp + 8|0; + $vararg_buffer81 = sp + 72|0; + $vararg_buffer79 = sp + 32|0; + $vararg_buffer74 = sp + 136|0; + $vararg_buffer71 = sp + 432|0; + $vararg_buffer68 = sp + 224|0; + $vararg_buffer65 = sp + 440|0; + $vararg_buffer62 = sp + 88|0; + $vararg_buffer60 = sp + 368|0; + $vararg_buffer55 = sp + 16|0; + $vararg_buffer53 = sp + 208|0; + $vararg_buffer51 = sp + 304|0; + $vararg_buffer49 = sp + 216|0; + $vararg_buffer46 = sp + 176|0; + $vararg_buffer44 = sp; + $vararg_buffer41 = sp + 160|0; + $vararg_buffer36 = sp + 288|0; + $vararg_buffer33 = sp + 112|0; + $vararg_buffer30 = sp + 280|0; + $vararg_buffer = sp + 104|0; + $0 = sp + 588|0; + $pc = sp + 576|0; + $aOp = sp + 556|0; + $pOp = sp + 540|0; + $rc = sp + 524|0; + $db = sp + 512|0; + $resetSchemaOnFault = sp + 1852|0; + $encoding = sp + 1851|0; + $iCompare = sp + 448|0; + $nVmStep = sp + 444|0; + $nProgressLimit = sp + 1560|0; + $aMem = sp + 1372|0; + $pIn1 = sp + 1260|0; + $pIn2 = sp + 1060|0; + $pIn3 = sp + 1008|0; + $pOut = sp + 900|0; + $aPermute = sp + 868|0; + $lastRowid = sp + 168|0; + $pCaller = sp + 832|0; + $pcDest = sp + 816|0; + $zType = sp + 804|0; + $zLogFmt = sp + 788|0; + $pFrame = sp + 584|0; + $cnt = sp + 580|0; + $nullFlag = sp + 1648|0; + $pVar = sp + 568|0; + $n = sp + 552|0; + $p1 = sp + 544|0; + $p2 = sp + 536|0; + $n1 = sp + 532|0; + $pMem = sp + 520|0; + $i = sp + 516|0; + $nByte = sp + 200|0; + $bIntint = sp + 1654|0; + $flags = sp + 1644|0; + $type1 = sp + 1642|0; + $type2 = sp + 1650|0; + $iA = sp + 336|0; + $iB = sp + 128|0; + $rA = sp + 120|0; + $rB = sp + 192|0; + $i2 = sp + 500|0; + $pArg = sp + 1556|0; + $ctx = sp + 1408|0; + $apVal = sp + 1368|0; + $n3 = sp + 1332|0; + $iA4 = sp + 352|0; + $uA = sp + 344|0; + $iB5 = sp + 56|0; + $op = sp + 1656|0; + $res = sp + 1004|0; + $affinity = sp + 1658|0; + $flags1 = sp + 1640|0; + $flags3 = sp + 1646|0; + $n6 = sp + 864|0; + $i7 = sp + 856|0; + $p18 = sp + 852|0; + $p29 = sp + 844|0; + $pKeyInfo = sp + 828|0; + $idx = sp + 820|0; + $pColl = sp + 812|0; + $bRev = sp + 808|0; + $v1 = sp + 800|0; + $v2 = sp + 792|0; + $c = sp + 784|0; + $payloadSize64 = sp + 80|0; + $p210 = sp + 620|0; + $pC = sp + 624|0; + $pCrsr = sp + 628|0; + $aOffset = sp + 632|0; + $len = sp + 636|0; + $i11 = sp + 640|0; + $pDest = sp + 644|0; + $sMem = sp + 240|0; + $zData = sp + 548|0; + $zHdr = sp + 656|0; + $zEndHdr = sp + 660|0; + $offset = sp + 664|0; + $szField = sp + 668|0; + $avail = sp + 672|0; + $t = sp + 676|0; + $fx = sp + 1652|0; + $pReg = sp + 684|0; + $zAffinity = sp + 688|0; + $cAff = sp + 1659|0; + $zNewRecord = sp + 696|0; + $pRec = sp + 508|0; + $nData = sp + 232|0; + $nHdr = sp + 708|0; + $nByte12 = sp + 152|0; + $nZero = sp + 716|0; + $nVarint = sp + 720|0; + $serial_type = sp + 724|0; + $pData0 = sp + 728|0; + $pLast = sp + 480|0; + $nField = sp + 736|0; + $zAffinity13 = sp + 484|0; + $file_format = sp + 744|0; + $i14 = sp + 488|0; + $j = sp + 752|0; + $len15 = sp + 492|0; + $nEntry = sp + 184|0; + $pCrsr16 = sp + 496|0; + $p117 = sp + 768|0; + $zName = sp + 772|0; + $nName = sp + 776|0; + $pNew = sp + 1552|0; + $pSavepoint = sp + 1544|0; + $pTmp = sp + 1404|0; + $iSavepoint = sp + 1376|0; + $ii = sp + 1364|0; + $isTransaction = sp + 1360|0; + $isSchemaChange = sp + 1328|0; + $desiredAutoCommit = sp + 1320|0; + $iRollback = sp + 1256|0; + $turnOnAC = sp + 1204|0; + $pBt = sp + 1160|0; + $iMeta = sp + 1148|0; + $iGen = sp + 1056|0; + $iMeta18 = sp + 1044|0; + $iDb = sp + 1036|0; + $iCookie = sp + 1032|0; + $pDb = sp + 1000|0; + $pCur = sp + 996|0; + $nField19 = sp + 1580|0; + $pKeyInfo20 = sp + 940|0; + $p221 = sp + 1596|0; + $iDb22 = sp + 1604|0; + $wrFlag = sp + 1612|0; + $pX = sp + 1620|0; + $pCur23 = sp + 1628|0; + $pDb24 = sp + 1632|0; + $pCx = sp + 872|0; + $pKeyInfo25 = sp + 876|0; + $pgno = sp + 848|0; + $pCx26 = sp + 884|0; + $pC27 = sp + 888|0; + $pCx28 = sp + 892|0; + $res29 = sp + 824|0; + $oc = sp + 1636|0; + $pC30 = sp + 904|0; + $r = sp + 908|0; + $nField31 = sp + 928|0; + $iKey = sp + 312|0; + $pC32 = sp + 932|0; + $alreadyExists = sp + 936|0; + $ii33 = sp + 796|0; $pC34 = sp + 948|0; - $res35 = sp + 944|0; - $pFree = sp + 940|0; - $pIdxKey = sp + 936|0; - $r36 = sp + 916|0; - $aTempRec = sp + 1484|0; - $pC37 = sp + 912|0; - $pCrsr38 = sp + 908|0; - $res39 = sp + 904|0; - $iKey40 = sp + 96|0; - $v = sp + 88|0; - $pC41 = sp + 900|0; - $res42 = sp + 896|0; - $cnt43 = sp + 892|0; - $pMem44 = sp + 888|0; - $pFrame45 = sp + 884|0; - $pData = sp + 880|0; - $pKey = sp + 876|0; - $iKey46 = sp + 80|0; - $pC47 = sp + 872|0; - $nZero48 = sp + 868|0; - $seekResult = sp + 864|0; - $zDb = sp + 860|0; - $zTbl = sp + 856|0; - $op49 = sp + 852|0; - $pC50 = sp + 848|0; - $pC51 = sp + 844|0; - $res52 = sp + 840|0; - $nKeyCol = sp + 836|0; - $pC53 = sp + 832|0; - $pC54 = sp + 828|0; - $pCrsr55 = sp + 824|0; - $n56 = sp + 820|0; - $n64 = sp + 72|0; - $pC57 = sp + 816|0; - $v58 = sp + 64|0; - $pVtab = sp + 812|0; - $pModule = sp + 808|0; - $pC59 = sp + 804|0; - $pC60 = sp + 800|0; - $pCrsr61 = sp + 796|0; - $res62 = sp + 792|0; - $pC63 = sp + 788|0; - $pCrsr64 = sp + 784|0; - $res65 = sp + 780|0; - $pC66 = sp + 776|0; - $res67 = sp + 772|0; - $pC68 = sp + 768|0; - $pCrsr69 = sp + 764|0; - $nKey = sp + 760|0; - $zKey = sp + 756|0; - $pC70 = sp + 752|0; - $pCrsr71 = sp + 748|0; - $res72 = sp + 744|0; - $r73 = sp + 724|0; - $pCrsr74 = sp + 720|0; - $pC75 = sp + 716|0; - $rowid = sp + 56|0; - $pC76 = sp + 712|0; - $res77 = sp + 708|0; - $r78 = sp + 688|0; - $iMoved = sp + 684|0; - $iCnt = sp + 680|0; - $pVdbe = sp + 676|0; - $iDb79 = sp + 672|0; - $nChange = sp + 668|0; - $pC80 = sp + 664|0; - $pgno81 = sp + 660|0; - $flags82 = sp + 656|0; - $pDb83 = sp + 652|0; - $iDb84 = sp + 648|0; - $zMaster = sp + 644|0; - $zSql = sp + 640|0; - $initData = sp + 624|0; - $nRoot = sp + 616|0; - $aRoot = sp + 612|0; - $j85 = sp + 608|0; - $nErr = sp + 604|0; - $z = sp + 600|0; - $pnErr = sp + 596|0; - $val = sp + 48|0; - $iSet = sp + 592|0; - $exists = sp + 588|0; - $nMem = sp + 584|0; - $nByte86 = sp + 580|0; - $pRt = sp + 576|0; - $pMem87 = sp + 572|0; - $pEnd = sp + 568|0; - $pFrame88 = sp + 564|0; - $pProgram = sp + 560|0; - $t89 = sp + 556|0; - $pFrame90 = sp + 552|0; - $pIn = sp + 548|0; - $pFrame91 = sp + 544|0; - $n92 = sp + 540|0; - $i93 = sp + 536|0; - $pMem94 = sp + 532|0; - $pRec95 = sp + 528|0; - $t96 = sp + 8|0; - $ctx97 = sp + 500|0; - $apVal98 = sp + 496|0; - $pMem99 = sp + 492|0; - $i100 = sp + 488|0; - $aRes = sp + 476|0; - $pMem101 = sp + 472|0; - $pBt102 = sp + 468|0; - $pPager = sp + 464|0; - $eNew = sp + 460|0; - $eOld = sp + 456|0; - $zFilename = sp + 452|0; - $pBt103 = sp + 448|0; - $isWriteLock = sp + 1483|0; - $p1104 = sp + 444|0; - $z105 = sp + 440|0; - $pVTab = sp + 436|0; - $pCur106 = sp + 432|0; - $pVtabCursor = sp + 428|0; - $pVtab107 = sp + 424|0; - $pModule108 = sp + 420|0; - $nArg = sp + 416|0; - $iQuery = sp + 412|0; - $pModule109 = sp + 408|0; - $pQuery = sp + 404|0; - $pArgc = sp + 400|0; - $pVtabCursor110 = sp + 396|0; - $pVtab111 = sp + 392|0; - $pCur112 = sp + 388|0; - $res113 = sp + 384|0; - $i114 = sp + 380|0; - $apArg = sp + 376|0; - $pVtab115 = sp + 372|0; - $pModule116 = sp + 368|0; - $pDest117 = sp + 364|0; - $sContext = sp + 336|0; - $pCur118 = sp + 332|0; - $pVtab119 = sp + 328|0; - $pModule120 = sp + 324|0; - $res121 = sp + 320|0; - $pCur122 = sp + 316|0; - $pVtab123 = sp + 312|0; - $pName = sp + 308|0; - $pVtab124 = sp + 304|0; - $pModule125 = sp + 300|0; - $nArg126 = sp + 296|0; - $i127 = sp + 292|0; - $rowid128 = sp; - $apArg129 = sp + 288|0; - $pX130 = sp + 284|0; - $vtabOnConflict = sp + 1482|0; - $newMax = sp + 280|0; - $pBt131 = sp + 276|0; - $zTrace = sp + 272|0; - $z132 = sp + 268|0; + $res35 = sp + 952|0; + $pFree = sp + 956|0; + $pIdxKey = sp + 960|0; + $r36 = sp + 964|0; + $aTempRec = sp + 1660|0; + $pC37 = sp + 984|0; + $pCrsr38 = sp + 988|0; + $res39 = sp + 992|0; + $iKey40 = sp + 40|0; + $v = sp + 376|0; + $pC41 = sp + 1020|0; + $res42 = sp + 1024|0; + $cnt43 = sp + 1576|0; + $pMem44 = sp + 1588|0; + $pFrame45 = sp + 1592|0; + $pData = sp + 1028|0; + $pKey = sp + 1600|0; + $iKey46 = sp + 64|0; + $pC47 = sp + 1616|0; + $nZero48 = sp + 1624|0; + $seekResult = sp + 648|0; + $zDb = sp + 1048|0; + $zTbl = sp + 652|0; + $op49 = sp + 1064|0; + $pC50 = sp + 1068|0; + $pC51 = sp + 1072|0; + $res52 = sp + 1076|0; + $nKeyCol = sp + 1080|0; + $pC53 = sp + 1084|0; + $pC54 = sp + 1088|0; + $pCrsr55 = sp + 1092|0; + $n56 = sp + 1096|0; + $n64 = sp + 328|0; + $pC57 = sp + 1100|0; + $v58 = sp + 48|0; + $pVtab = sp + 1104|0; + $pModule = sp + 1108|0; + $pC59 = sp + 1112|0; + $pC60 = sp + 1116|0; + $pCrsr61 = sp + 1120|0; + $res62 = sp + 1124|0; + $pC63 = sp + 1128|0; + $pCrsr64 = sp + 1132|0; + $res65 = sp + 1136|0; + $pC66 = sp + 1140|0; + $res67 = sp + 1144|0; + $pC68 = sp + 700|0; + $pCrsr69 = sp + 1152|0; + $nKey = sp + 704|0; + $zKey = sp + 1164|0; + $pC70 = sp + 1168|0; + $pCrsr71 = sp + 1172|0; + $res72 = sp + 712|0; + $r73 = sp + 1176|0; + $pCrsr74 = sp + 1196|0; + $pC75 = sp + 1200|0; + $rowid = sp + 96|0; + $pC76 = sp + 1208|0; + $res77 = sp + 1212|0; + $r78 = sp + 1216|0; + $iMoved = sp + 1236|0; + $iCnt = sp + 1240|0; + $pVdbe = sp + 732|0; + $iDb79 = sp + 1268|0; + $nChange = sp + 1272|0; + $pC80 = sp + 1276|0; + $pgno81 = sp + 740|0; + $flags82 = sp + 1280|0; + $pDb83 = sp + 1284|0; + $iDb84 = sp + 1288|0; + $zMaster = sp + 748|0; + $zSql = sp + 1292|0; + $initData = sp + 1296|0; + $nRoot = sp + 1312|0; + $aRoot = sp + 756|0; + $j85 = sp + 1316|0; + $nErr = sp + 760|0; + $z = sp + 1324|0; + $pnErr = sp + 764|0; + $val = sp + 360|0; + $iSet = sp + 1336|0; + $exists = sp + 1340|0; + $nMem = sp + 1344|0; + $nByte86 = sp + 1348|0; + $pRt = sp + 1352|0; + $pMem87 = sp + 1356|0; + $pEnd = sp + 1584|0; + $pFrame88 = sp + 1548|0; + $pProgram = sp + 1540|0; + $t89 = sp + 1500|0; + $pFrame90 = sp + 1400|0; + $pIn = sp + 1608|0; + $pFrame91 = sp + 1380|0; + $n92 = sp + 1384|0; + $i93 = sp + 1388|0; + $pMem94 = sp + 1392|0; + $pRec95 = sp + 1396|0; + $t96 = sp + 392|0; + $ctx97 = sp + 1436|0; + $apVal98 = sp + 1464|0; + $pMem99 = sp + 1468|0; + $i100 = sp + 1472|0; + $aRes = sp + 1244|0; + $pMem101 = sp + 1476|0; + $pBt102 = sp + 1480|0; + $pPager = sp + 1484|0; + $eNew = sp + 1156|0; + $eOld = sp + 1488|0; + $zFilename = sp + 1492|0; + $pBt103 = sp + 1496|0; + $isWriteLock = sp + 1657|0; + $p1104 = sp + 1504|0; + $z105 = sp + 1508|0; + $pVTab = sp + 1512|0; + $pCur106 = sp + 1516|0; + $pVtabCursor = sp + 1520|0; + $pVtab107 = sp + 1524|0; + $pModule108 = sp + 1528|0; + $nArg = sp + 1532|0; + $iQuery = sp + 1536|0; + $pModule109 = sp + 1564|0; + $pQuery = sp + 464|0; + $pArgc = sp + 1264|0; + $pVtabCursor110 = sp + 836|0; + $pVtab111 = sp + 1012|0; + $pCur112 = sp + 560|0; + $res113 = sp + 452|0; + $i114 = sp + 564|0; + $apArg = sp + 528|0; + $pVtab115 = sp + 1572|0; + $pModule116 = sp + 468|0; + $pDest117 = sp + 840|0; + $sContext = sp + 592|0; + $pCur118 = sp + 1568|0; + $pVtab119 = sp + 1016|0; + $pModule120 = sp + 860|0; + $res121 = sp + 1052|0; + $pCur122 = sp + 780|0; + $pVtab123 = sp + 692|0; + $pName = sp + 680|0; + $pVtab124 = sp + 880|0; + $pModule125 = sp + 896|0; + $nArg126 = sp + 944|0; + $i127 = sp + 1040|0; + $rowid128 = sp + 384|0; + $apArg129 = sp + 476|0; + $pX130 = sp + 472|0; + $vtabOnConflict = sp + 1655|0; + $newMax = sp + 504|0; + $pBt131 = sp + 572|0; + $zTrace = sp + 456|0; + $z132 = sp + 460|0; HEAP32[$0>>2] = $p; HEAP32[$pc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); + $2 = ((($1)) + 4|0); $3 = HEAP32[$2>>2]|0; HEAP32[$aOp>>2] = $3; HEAP32[$rc>>2] = 0; @@ -158530,18 +159895,18 @@ function _sqlite3VdbeExec($p) { HEAP32[$db>>2] = $5; HEAP8[$resetSchemaOnFault>>0] = 0; $6 = HEAP32[$db>>2]|0; - $7 = (($6) + 16|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 12|0); + $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 77|0); + $11 = ((($10)) + 77|0); $12 = HEAP8[$11>>0]|0; HEAP8[$encoding>>0] = $12; HEAP32[$iCompare>>2] = 0; HEAP32[$nVmStep>>2] = 0; HEAP32[$nProgressLimit>>2] = 0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; HEAP32[$aMem>>2] = $15; HEAP32[$pIn1>>2] = 0; @@ -158550,7 +159915,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$pOut>>2] = 0; HEAP32[$aPermute>>2] = 0; $16 = HEAP32[$db>>2]|0; - $17 = (($16) + 32|0); + $17 = ((($16)) + 32|0); $18 = $17; $19 = $18; $20 = HEAP32[$19>>2]|0; @@ -158564,18 +159929,18 @@ function _sqlite3VdbeExec($p) { $27 = $26; HEAP32[$27>>2] = $23; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 80|0); + $29 = ((($28)) + 80|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(7); L1: do { if ($31) { - label = 871; + label = 867; } else { $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 80|0); + $33 = ((($32)) + 80|0); HEAP32[$33>>2] = 0; $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 136|0); + $35 = ((($34)) + 136|0); $36 = $35; $37 = $36; HEAP32[$37>>2] = 0; @@ -158583,33 +159948,33 @@ function _sqlite3VdbeExec($p) { $39 = $38; HEAP32[$39>>2] = 0; $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 20|0); + $41 = ((($40)) + 20|0); HEAP32[$41>>2] = 0; $42 = HEAP32[$db>>2]|0; - $43 = (($42) + 444|0); - $44 = (($43) + 8|0); + $43 = ((($42)) + 444|0); + $44 = ((($43)) + 8|0); HEAP32[$44>>2] = 0; $45 = HEAP32[$db>>2]|0; - $46 = (($45) + 240|0); + $46 = ((($45)) + 240|0); $47 = HEAP32[$46>>2]|0; $48 = ($47|0)!=(0); L3: do { if (!($48)) { $49 = HEAP32[$db>>2]|0; - $50 = (($49) + 292|0); + $50 = ((($49)) + 292|0); $51 = HEAP32[$50>>2]|0; $52 = ($51|0)!=(0|0); do { if ($52) { $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 108|0); - $55 = (($54) + 16|0); + $54 = ((($53)) + 108|0); + $55 = ((($54)) + 16|0); $56 = HEAP32[$55>>2]|0; HEAP32[$nProgressLimit>>2] = $56; $57 = HEAP32[$nProgressLimit>>2]|0; $58 = ($57|0)==(0); $59 = HEAP32[$db>>2]|0; - $60 = (($59) + 300|0); + $60 = ((($59)) + 300|0); $61 = HEAP32[$60>>2]|0; if ($58) { HEAP32[$nProgressLimit>>2] = $61; @@ -158623,7 +159988,7 @@ function _sqlite3VdbeExec($p) { } } while(0); $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 76|0); + $65 = ((($64)) + 76|0); $66 = HEAP32[$65>>2]|0; HEAP32[$pc>>2] = $66; L11: while(1) { @@ -158633,11 +159998,11 @@ function _sqlite3VdbeExec($p) { break L1; } $69 = HEAP32[$db>>2]|0; - $70 = (($69) + 64|0); + $70 = ((($69)) + 64|0); $71 = HEAP8[$70>>0]|0; $72 = ($71<<24>>24)!=(0); if ($72) { - label = 871; + label = 867; break L1; } $73 = HEAP32[$nVmStep>>2]|0; @@ -158648,20 +160013,20 @@ function _sqlite3VdbeExec($p) { $77 = (($76) + (($75*20)|0)|0); HEAP32[$pOp>>2] = $77; $78 = HEAP32[$pOp>>2]|0; - $79 = (($78) + 2|0); + $79 = ((($78)) + 2|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 & 2; $83 = ($82|0)!=(0); if ($83) { $84 = HEAP32[$pOp>>2]|0; - $85 = (($84) + 8|0); + $85 = ((($84)) + 8|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$aMem>>2]|0; $88 = (($87) + (($86*40)|0)|0); HEAP32[$pOut>>2] = $88; $89 = HEAP32[$pOut>>2]|0; - $90 = (($89) + 8|0); + $90 = ((($89)) + 8|0); $91 = HEAP16[$90>>1]|0; $92 = $91&65535; $93 = $92 & 9312; @@ -158671,7 +160036,7 @@ function _sqlite3VdbeExec($p) { _sqlite3VdbeMemSetNull($95); } $96 = HEAP32[$pOut>>2]|0; - $97 = (($96) + 8|0); + $97 = ((($96)) + 8|0); HEAP16[$97>>1] = 4; } $98 = HEAP32[$pOp>>2]|0; @@ -158679,91 +160044,24 @@ function _sqlite3VdbeExec($p) { $100 = $99&255; L21: do { switch ($100|0) { - case 27: { - label = 57; - break; - } - case 22: { - $214 = HEAP32[$pOp>>2]|0; - $215 = (($214) + 4|0); - $216 = HEAP32[$215>>2]|0; - $217 = HEAP32[$aMem>>2]|0; - $218 = (($217) + (($216*40)|0)|0); - HEAP32[$pIn1>>2] = $218; - $219 = HEAP32[$pIn1>>2]|0; - $220 = (($219) + 8|0); - HEAP16[$220>>1] = 4; - $221 = HEAP32[$pIn1>>2]|0; - $222 = $221; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = (($222) + 4)|0; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - HEAP32[$pcDest>>2] = $224; - $228 = HEAP32[$pc>>2]|0; - $229 = ($228|0)<(0); - $230 = $229 << 31 >> 31; - $231 = HEAP32[$pIn1>>2]|0; - $232 = $231; - $233 = $232; - HEAP32[$233>>2] = $228; - $234 = (($232) + 4)|0; - $235 = $234; - HEAP32[$235>>2] = $230; - $236 = HEAP32[$pcDest>>2]|0; - HEAP32[$pc>>2] = $236; - break; - } - case 28: { - $483 = HEAP32[$pOp>>2]|0; - $484 = (($483) + 12|0); - $485 = HEAP32[$484>>2]|0; - $486 = HEAP32[$pOp>>2]|0; - $487 = (($486) + 8|0); - $488 = HEAP32[$487>>2]|0; - $489 = (($485) - ($488))|0; - HEAP32[$cnt>>2] = $489; - $490 = HEAP32[$pOp>>2]|0; - $491 = (($490) + 4|0); - $492 = HEAP32[$491>>2]|0; - $493 = ($492|0)!=(0); - $494 = $493 ? 257 : 1; - $495 = $494&65535; - HEAP16[$nullFlag>>1] = $495; - $496 = HEAP32[$pOut>>2]|0; - $497 = (($496) + 8|0); - HEAP16[$497>>1] = $495; - while(1) { - $498 = HEAP32[$cnt>>2]|0; - $499 = ($498|0)>(0); - if (!($499)) { - break L21; - } - $500 = HEAP32[$pOut>>2]|0; - $501 = (($500) + 40|0); - HEAP32[$pOut>>2] = $501; - $502 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($502); - $503 = HEAP16[$nullFlag>>1]|0; - $504 = HEAP32[$pOut>>2]|0; - $505 = (($504) + 8|0); - HEAP16[$505>>1] = $503; - $506 = HEAP32[$cnt>>2]|0; - $507 = (($506) + -1)|0; - HEAP32[$cnt>>2] = $507; - } + case 16: { + $101 = HEAP32[$pOp>>2]|0; + $102 = ((($101)) + 8|0); + $103 = HEAP32[$102>>2]|0; + $104 = (($103) - 1)|0; + HEAP32[$pc>>2] = $104; + label = 16; break; } case 17: { $135 = HEAP32[$pOp>>2]|0; - $136 = (($135) + 4|0); + $136 = ((($135)) + 4|0); $137 = HEAP32[$136>>2]|0; $138 = HEAP32[$aMem>>2]|0; $139 = (($138) + (($137*40)|0)|0); HEAP32[$pIn1>>2] = $139; $140 = HEAP32[$pIn1>>2]|0; - $141 = (($140) + 8|0); + $141 = ((($140)) + 8|0); HEAP16[$141>>1] = 4; $142 = HEAP32[$pc>>2]|0; $143 = ($142|0)<(0); @@ -158776,57 +160074,41 @@ function _sqlite3VdbeExec($p) { $149 = $148; HEAP32[$149>>2] = $144; $150 = HEAP32[$pOp>>2]|0; - $151 = (($150) + 8|0); + $151 = ((($150)) + 8|0); $152 = HEAP32[$151>>2]|0; $153 = (($152) - 1)|0; HEAP32[$pc>>2] = $153; break; } - case 21: { - $194 = HEAP32[$pOp>>2]|0; - $195 = (($194) + 4|0); - $196 = HEAP32[$195>>2]|0; - $197 = HEAP32[$aMem>>2]|0; - $198 = (($197) + (($196*40)|0)|0); - HEAP32[$pIn1>>2] = $198; - $199 = HEAP32[$pIn1>>2]|0; - $200 = $199; - $201 = $200; - $202 = HEAP32[$201>>2]|0; - $203 = (($200) + 4)|0; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - $206 = HEAP32[$aOp>>2]|0; - $207 = (($206) + (($202*20)|0)|0); - HEAP32[$pCaller>>2] = $207; - $208 = HEAP32[$pCaller>>2]|0; - $209 = (($208) + 8|0); - $210 = HEAP32[$209>>2]|0; - $211 = (($210) - 1)|0; - HEAP32[$pc>>2] = $211; - $212 = HEAP32[$pIn1>>2]|0; - $213 = (($212) + 8|0); - HEAP16[$213>>1] = 128; - break; - } - case 16: { - $101 = HEAP32[$pOp>>2]|0; - $102 = (($101) + 8|0); - $103 = HEAP32[$102>>2]|0; - $104 = (($103) - 1)|0; - HEAP32[$pc>>2] = $104; - label = 16; + case 18: { + $154 = HEAP32[$pOp>>2]|0; + $155 = ((($154)) + 4|0); + $156 = HEAP32[$155>>2]|0; + $157 = HEAP32[$aMem>>2]|0; + $158 = (($157) + (($156*40)|0)|0); + HEAP32[$pIn1>>2] = $158; + $159 = HEAP32[$pIn1>>2]|0; + $160 = $159; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (($160) + 4)|0; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + HEAP32[$pc>>2] = $162; + $166 = HEAP32[$pIn1>>2]|0; + $167 = ((($166)) + 8|0); + HEAP16[$167>>1] = 128; break; } case 20: { $168 = HEAP32[$pOp>>2]|0; - $169 = (($168) + 4|0); + $169 = ((($168)) + 4|0); $170 = HEAP32[$169>>2]|0; $171 = HEAP32[$aMem>>2]|0; $172 = (($171) + (($170*40)|0)|0); HEAP32[$pOut>>2] = $172; $173 = HEAP32[$pOp>>2]|0; - $174 = (($173) + 12|0); + $174 = ((($173)) + 12|0); $175 = HEAP32[$174>>2]|0; $176 = (($175) - 1)|0; $177 = ($176|0)<(0); @@ -158839,24 +160121,105 @@ function _sqlite3VdbeExec($p) { $183 = $182; HEAP32[$183>>2] = $178; $184 = HEAP32[$pOut>>2]|0; - $185 = (($184) + 8|0); + $185 = ((($184)) + 8|0); HEAP16[$185>>1] = 4; $186 = HEAP32[$pOp>>2]|0; - $187 = (($186) + 8|0); + $187 = ((($186)) + 8|0); $188 = HEAP32[$187>>2]|0; $189 = ($188|0)!=(0); if ($189) { $190 = HEAP32[$pOp>>2]|0; - $191 = (($190) + 8|0); + $191 = ((($190)) + 8|0); $192 = HEAP32[$191>>2]|0; $193 = (($192) - 1)|0; HEAP32[$pc>>2] = $193; } break; } + case 21: { + $194 = HEAP32[$pOp>>2]|0; + $195 = ((($194)) + 4|0); + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$aMem>>2]|0; + $198 = (($197) + (($196*40)|0)|0); + HEAP32[$pIn1>>2] = $198; + $199 = HEAP32[$pIn1>>2]|0; + $200 = $199; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = (($200) + 4)|0; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = HEAP32[$aOp>>2]|0; + $207 = (($206) + (($202*20)|0)|0); + HEAP32[$pCaller>>2] = $207; + $208 = HEAP32[$pCaller>>2]|0; + $209 = ((($208)) + 8|0); + $210 = HEAP32[$209>>2]|0; + $211 = (($210) - 1)|0; + HEAP32[$pc>>2] = $211; + $212 = HEAP32[$pIn1>>2]|0; + $213 = ((($212)) + 8|0); + HEAP16[$213>>1] = 128; + break; + } + case 22: { + $214 = HEAP32[$pOp>>2]|0; + $215 = ((($214)) + 4|0); + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$aMem>>2]|0; + $218 = (($217) + (($216*40)|0)|0); + HEAP32[$pIn1>>2] = $218; + $219 = HEAP32[$pIn1>>2]|0; + $220 = ((($219)) + 8|0); + HEAP16[$220>>1] = 4; + $221 = HEAP32[$pIn1>>2]|0; + $222 = $221; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + HEAP32[$pcDest>>2] = $224; + $228 = HEAP32[$pc>>2]|0; + $229 = ($228|0)<(0); + $230 = $229 << 31 >> 31; + $231 = HEAP32[$pIn1>>2]|0; + $232 = $231; + $233 = $232; + HEAP32[$233>>2] = $228; + $234 = (($232) + 4)|0; + $235 = $234; + HEAP32[$235>>2] = $230; + $236 = HEAP32[$pcDest>>2]|0; + HEAP32[$pc>>2] = $236; + break; + } + case 23: { + $237 = HEAP32[$pOp>>2]|0; + $238 = ((($237)) + 12|0); + $239 = HEAP32[$238>>2]|0; + $240 = HEAP32[$aMem>>2]|0; + $241 = (($240) + (($239*40)|0)|0); + HEAP32[$pIn3>>2] = $241; + $242 = HEAP32[$pIn3>>2]|0; + $243 = ((($242)) + 8|0); + $244 = HEAP16[$243>>1]|0; + $245 = $244&65535; + $246 = $245 & 1; + $247 = ($246|0)==(0); + if (!($247)) { + label = 28; + } + break; + } + case 24: { + label = 28; + break; + } case 25: { $379 = HEAP32[$pOp>>2]|0; - $380 = (($379) + 4|0); + $380 = ((($379)) + 4|0); $381 = HEAP32[$380>>2]|0; $382 = ($381|0)<(0); $383 = $382 << 31 >> 31; @@ -158869,69 +160232,31 @@ function _sqlite3VdbeExec($p) { HEAP32[$388>>2] = $383; break; } - case 18: { - $154 = HEAP32[$pOp>>2]|0; - $155 = (($154) + 4|0); - $156 = HEAP32[$155>>2]|0; - $157 = HEAP32[$aMem>>2]|0; - $158 = (($157) + (($156*40)|0)|0); - HEAP32[$pIn1>>2] = $158; - $159 = HEAP32[$pIn1>>2]|0; - $160 = $159; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (($160) + 4)|0; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - HEAP32[$pc>>2] = $162; - $166 = HEAP32[$pIn1>>2]|0; - $167 = (($166) + 8|0); - HEAP16[$167>>1] = 128; - break; - } - case 30: { - $522 = HEAP32[$pOut>>2]|0; - $523 = HEAP32[$pOp>>2]|0; - $524 = (($523) + 16|0); - $525 = HEAP32[$524>>2]|0; - $526 = HEAP32[$pOp>>2]|0; - $527 = (($526) + 4|0); - $528 = HEAP32[$527>>2]|0; - (_sqlite3VdbeMemSetStr($522,$525,$528,0,0)|0); - $529 = HEAP8[$encoding>>0]|0; - $530 = HEAP32[$pOut>>2]|0; - $531 = (($530) + 10|0); - HEAP8[$531>>0] = $529; - break; - } - case 31: { - $532 = HEAP32[$pOp>>2]|0; - $533 = (($532) + 4|0); - $534 = HEAP32[$533>>2]|0; - $535 = (($534) - 1)|0; - $536 = HEAP32[$0>>2]|0; - $537 = (($536) + 60|0); - $538 = HEAP32[$537>>2]|0; - $539 = (($538) + (($535*40)|0)|0); - HEAP32[$pVar>>2] = $539; - $540 = HEAP32[$pVar>>2]|0; - $541 = (_sqlite3VdbeMemTooBig($540)|0); - $542 = ($541|0)!=(0); - if ($542) { - label = 870; - break L11; - } - $543 = HEAP32[$pOut>>2]|0; - $544 = HEAP32[$pVar>>2]|0; - _sqlite3VdbeMemShallowCopy($543,$544,2048); + case 26: { + $389 = HEAP32[$pOp>>2]|0; + $390 = ((($389)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $392 = $391; + $393 = $392; + $394 = HEAP32[$393>>2]|0; + $395 = (($392) + 4)|0; + $396 = $395; + $397 = HEAP32[$396>>2]|0; + $398 = HEAP32[$pOut>>2]|0; + $399 = $398; + $400 = $399; + HEAP32[$400>>2] = $394; + $401 = (($399) + 4)|0; + $402 = $401; + HEAP32[$402>>2] = $397; break; } case 133: { $403 = HEAP32[$pOut>>2]|0; - $404 = (($403) + 8|0); + $404 = ((($403)) + 8|0); HEAP16[$404>>1] = 8; $405 = HEAP32[$pOp>>2]|0; - $406 = (($405) + 16|0); + $406 = ((($405)) + 16|0); $407 = HEAP32[$406>>2]|0; $408 = +HEAPF64[$407>>3]; $409 = HEAP32[$pOut>>2]|0; @@ -158942,11 +160267,11 @@ function _sqlite3VdbeExec($p) { $410 = HEAP32[$pOp>>2]|0; HEAP8[$410>>0] = 27; $411 = HEAP32[$pOp>>2]|0; - $412 = (($411) + 16|0); + $412 = ((($411)) + 16|0); $413 = HEAP32[$412>>2]|0; $414 = (_sqlite3Strlen30($413)|0); $415 = HEAP32[$pOp>>2]|0; - $416 = (($415) + 4|0); + $416 = ((($415)) + 4|0); HEAP32[$416>>2] = $414; $417 = HEAP8[$encoding>>0]|0; $418 = $417&255; @@ -158954,14 +160279,14 @@ function _sqlite3VdbeExec($p) { if ($419) { $420 = HEAP32[$pOut>>2]|0; $421 = HEAP32[$pOp>>2]|0; - $422 = (($421) + 16|0); + $422 = ((($421)) + 16|0); $423 = HEAP32[$422>>2]|0; $424 = (_sqlite3VdbeMemSetStr($420,$423,-1,1,0)|0); HEAP32[$rc>>2] = $424; $425 = HEAP32[$rc>>2]|0; $426 = ($425|0)==(18); if ($426) { - label = 870; + label = 866; break L11; } $427 = HEAP32[$pOut>>2]|0; @@ -158970,581 +160295,264 @@ function _sqlite3VdbeExec($p) { $430 = (_sqlite3VdbeChangeEncoding($427,$429)|0); $431 = (0)!=($430|0); if ($431) { - label = 871; + label = 867; break L1; } $432 = HEAP32[$pOut>>2]|0; - $433 = (($432) + 24|0); + $433 = ((($432)) + 24|0); HEAP32[$433>>2] = 0; $434 = HEAP32[$pOut>>2]|0; - $435 = (($434) + 8|0); + $435 = ((($434)) + 8|0); $436 = HEAP16[$435>>1]|0; $437 = $436&65535; $438 = $437 | 2048; $439 = $438&65535; HEAP16[$435>>1] = $439; $440 = HEAP32[$pOp>>2]|0; - $441 = (($440) + 1|0); + $441 = ((($440)) + 1|0); $442 = HEAP8[$441>>0]|0; $443 = $442 << 24 >> 24; $444 = ($443|0)==(-1); if ($444) { $445 = HEAP32[$db>>2]|0; $446 = HEAP32[$pOp>>2]|0; - $447 = (($446) + 16|0); + $447 = ((($446)) + 16|0); $448 = HEAP32[$447>>2]|0; _sqlite3DbFree($445,$448); } $449 = HEAP32[$pOp>>2]|0; - $450 = (($449) + 1|0); + $450 = ((($449)) + 1|0); HEAP8[$450>>0] = -1; $451 = HEAP32[$pOut>>2]|0; - $452 = (($451) + 16|0); + $452 = ((($451)) + 16|0); $453 = HEAP32[$452>>2]|0; $454 = HEAP32[$pOp>>2]|0; - $455 = (($454) + 16|0); + $455 = ((($454)) + 16|0); HEAP32[$455>>2] = $453; $456 = HEAP32[$pOut>>2]|0; - $457 = (($456) + 12|0); + $457 = ((($456)) + 12|0); $458 = HEAP32[$457>>2]|0; $459 = HEAP32[$pOp>>2]|0; - $460 = (($459) + 4|0); + $460 = ((($459)) + 4|0); HEAP32[$460>>2] = $458; } $461 = HEAP32[$pOp>>2]|0; - $462 = (($461) + 4|0); + $462 = ((($461)) + 4|0); $463 = HEAP32[$462>>2]|0; $464 = HEAP32[$db>>2]|0; - $465 = (($464) + 88|0); + $465 = ((($464)) + 88|0); $466 = HEAP32[$465>>2]|0; $467 = ($463|0)>($466|0); if ($467) { - label = 870; + label = 866; break L11; } else { label = 57; } break; } - case 24: { - label = 28; - break; - } - case 26: { - $389 = HEAP32[$pOp>>2]|0; - $390 = (($389) + 16|0); - $391 = HEAP32[$390>>2]|0; - $392 = $391; - $393 = $392; - $394 = HEAP32[$393>>2]|0; - $395 = (($392) + 4)|0; - $396 = $395; - $397 = HEAP32[$396>>2]|0; - $398 = HEAP32[$pOut>>2]|0; - $399 = $398; - $400 = $399; - HEAP32[$400>>2] = $394; - $401 = (($399) + 4)|0; - $402 = $401; - HEAP32[$402>>2] = $397; + case 27: { + label = 57; break; } - case 23: { - $237 = HEAP32[$pOp>>2]|0; - $238 = (($237) + 12|0); - $239 = HEAP32[$238>>2]|0; - $240 = HEAP32[$aMem>>2]|0; - $241 = (($240) + (($239*40)|0)|0); - HEAP32[$pIn3>>2] = $241; - $242 = HEAP32[$pIn3>>2]|0; - $243 = (($242) + 8|0); - $244 = HEAP16[$243>>1]|0; - $245 = $244&65535; - $246 = $245 & 1; - $247 = ($246|0)==(0); - if (!($247)) { - label = 28; + case 28: { + $483 = HEAP32[$pOp>>2]|0; + $484 = ((($483)) + 12|0); + $485 = HEAP32[$484>>2]|0; + $486 = HEAP32[$pOp>>2]|0; + $487 = ((($486)) + 8|0); + $488 = HEAP32[$487>>2]|0; + $489 = (($485) - ($488))|0; + HEAP32[$cnt>>2] = $489; + $490 = HEAP32[$pOp>>2]|0; + $491 = ((($490)) + 4|0); + $492 = HEAP32[$491>>2]|0; + $493 = ($492|0)!=(0); + $494 = $493 ? 257 : 1; + $495 = $494&65535; + HEAP16[$nullFlag>>1] = $495; + $496 = HEAP32[$pOut>>2]|0; + $497 = ((($496)) + 8|0); + HEAP16[$497>>1] = $495; + while(1) { + $498 = HEAP32[$cnt>>2]|0; + $499 = ($498|0)>(0); + if (!($499)) { + break L21; + } + $500 = HEAP32[$pOut>>2]|0; + $501 = ((($500)) + 40|0); + HEAP32[$pOut>>2] = $501; + $502 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($502); + $503 = HEAP16[$nullFlag>>1]|0; + $504 = HEAP32[$pOut>>2]|0; + $505 = ((($504)) + 8|0); + HEAP16[$505>>1] = $503; + $506 = HEAP32[$cnt>>2]|0; + $507 = (($506) + -1)|0; + HEAP32[$cnt>>2] = $507; } break; } case 29: { $508 = HEAP32[$pOp>>2]|0; - $509 = (($508) + 4|0); + $509 = ((($508)) + 4|0); $510 = HEAP32[$509>>2]|0; $511 = HEAP32[$aMem>>2]|0; $512 = (($511) + (($510*40)|0)|0); HEAP32[$pOut>>2] = $512; $513 = HEAP32[$pOut>>2]|0; - $514 = (($513) + 8|0); + $514 = ((($513)) + 8|0); $515 = HEAP16[$514>>1]|0; $516 = $515&65535; $517 = $516 | 1; $518 = $517 & -129; $519 = $518&65535; $520 = HEAP32[$pOut>>2]|0; - $521 = (($520) + 8|0); + $521 = ((($520)) + 8|0); HEAP16[$521>>1] = $519; break; } - case 37: { - $1502 = HEAP32[$pOp>>2]|0; - $1503 = (($1502) + 4|0); - $1504 = HEAP32[$1503>>2]|0; - $1505 = HEAP32[$aMem>>2]|0; - $1506 = (($1505) + (($1504*40)|0)|0); - HEAP32[$pIn1>>2] = $1506; - $1507 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemIntegerify($1507)|0); - $1508 = HEAP32[$pOp>>2]|0; - $1509 = (($1508) + 8|0); - $1510 = HEAP32[$1509>>2]|0; - $1511 = ($1510|0)<(0); - $1512 = $1511 << 31 >> 31; - $1513 = HEAP32[$pIn1>>2]|0; - $1514 = $1513; - $1515 = $1514; - $1516 = HEAP32[$1515>>2]|0; - $1517 = (($1514) + 4)|0; - $1518 = $1517; - $1519 = HEAP32[$1518>>2]|0; - $1520 = (_i64Add(($1516|0),($1519|0),($1510|0),($1512|0))|0); - $1521 = tempRet0; - $1522 = $1513; - $1523 = $1522; - HEAP32[$1523>>2] = $1520; - $1524 = (($1522) + 4)|0; - $1525 = $1524; - HEAP32[$1525>>2] = $1521; - break; - } - case 38: { - $1526 = HEAP32[$pOp>>2]|0; - $1527 = (($1526) + 4|0); - $1528 = HEAP32[$1527>>2]|0; - $1529 = HEAP32[$aMem>>2]|0; - $1530 = (($1529) + (($1528*40)|0)|0); - HEAP32[$pIn1>>2] = $1530; - $1531 = HEAP32[$pIn1>>2]|0; - $1532 = (($1531) + 8|0); - $1533 = HEAP16[$1532>>1]|0; - $1534 = $1533&65535; - $1535 = $1534 & 4; - $1536 = ($1535|0)==(0); - if ($1536) { - $1537 = HEAP32[$pIn1>>2]|0; - $1538 = HEAP8[$encoding>>0]|0; - _applyAffinity($1537,67,$1538); - $1539 = HEAP32[$pIn1>>2]|0; - $1540 = (($1539) + 8|0); - $1541 = HEAP16[$1540>>1]|0; - $1542 = $1541&65535; - $1543 = $1542 & 4; - $1544 = ($1543|0)==(0); - if ($1544) { - $1545 = HEAP32[$pOp>>2]|0; - $1546 = (($1545) + 8|0); - $1547 = HEAP32[$1546>>2]|0; - $1548 = ($1547|0)==(0); - if ($1548) { - label = 167; - break L11; - } - $1549 = HEAP32[$pOp>>2]|0; - $1550 = (($1549) + 8|0); - $1551 = HEAP32[$1550>>2]|0; - $1552 = (($1551) - 1)|0; - HEAP32[$pc>>2] = $1552; - break L21; - } - } - $1553 = HEAP32[$pIn1>>2]|0; - $1554 = (($1553) + 8|0); - $1555 = HEAP16[$1554>>1]|0; - $1556 = $1555&65535; - $1557 = $1556 & -16896; - $1558 = $1557 | 4; - $1559 = $1558&65535; - $1560 = HEAP32[$pIn1>>2]|0; - $1561 = (($1560) + 8|0); - HEAP16[$1561>>1] = $1559; + case 30: { + $522 = HEAP32[$pOut>>2]|0; + $523 = HEAP32[$pOp>>2]|0; + $524 = ((($523)) + 16|0); + $525 = HEAP32[$524>>2]|0; + $526 = HEAP32[$pOp>>2]|0; + $527 = ((($526)) + 4|0); + $528 = HEAP32[$527>>2]|0; + (_sqlite3VdbeMemSetStr($522,$525,$528,0,0)|0); + $529 = HEAP8[$encoding>>0]|0; + $530 = HEAP32[$pOut>>2]|0; + $531 = ((($530)) + 10|0); + HEAP8[$531>>0] = $529; break; } - case 40: { - $1574 = HEAP32[$pOp>>2]|0; - $1575 = (($1574) + 4|0); - $1576 = HEAP32[$1575>>2]|0; - $1577 = HEAP32[$aMem>>2]|0; - $1578 = (($1577) + (($1576*40)|0)|0); - HEAP32[$pIn1>>2] = $1578; - $1579 = HEAP32[$pIn1>>2]|0; - $1580 = (($1579) + 8|0); - $1581 = HEAP16[$1580>>1]|0; - $1582 = $1581&65535; - $1583 = $1582 & 16384; - $1584 = ($1583|0)!=(0); - if ($1584) { - $1585 = HEAP32[$pIn1>>2]|0; - $1586 = (_sqlite3VdbeMemExpandBlob($1585)|0); - $1587 = $1586; - } else { - $1587 = 0; + case 31: { + $532 = HEAP32[$pOp>>2]|0; + $533 = ((($532)) + 4|0); + $534 = HEAP32[$533>>2]|0; + $535 = (($534) - 1)|0; + $536 = HEAP32[$0>>2]|0; + $537 = ((($536)) + 60|0); + $538 = HEAP32[$537>>2]|0; + $539 = (($538) + (($535*40)|0)|0); + HEAP32[$pVar>>2] = $539; + $540 = HEAP32[$pVar>>2]|0; + $541 = (_sqlite3VdbeMemTooBig($540)|0); + $542 = ($541|0)!=(0); + if ($542) { + label = 866; + break L11; } - HEAP32[$rc>>2] = $1587; - $1588 = HEAP32[$pIn1>>2]|0; - $1589 = HEAP32[$pOp>>2]|0; - $1590 = (($1589) + 8|0); - $1591 = HEAP32[$1590>>2]|0; - $1592 = $1591&255; - $1593 = HEAP8[$encoding>>0]|0; - _sqlite3VdbeMemCast($1588,$1592,$1593); + $543 = HEAP32[$pOut>>2]|0; + $544 = HEAP32[$pVar>>2]|0; + _sqlite3VdbeMemShallowCopy($543,$544,2048); break; } - case 39: { - $1562 = HEAP32[$pOp>>2]|0; - $1563 = (($1562) + 4|0); - $1564 = HEAP32[$1563>>2]|0; - $1565 = HEAP32[$aMem>>2]|0; - $1566 = (($1565) + (($1564*40)|0)|0); - HEAP32[$pIn1>>2] = $1566; - $1567 = HEAP32[$pIn1>>2]|0; - $1568 = (($1567) + 8|0); - $1569 = HEAP16[$1568>>1]|0; - $1570 = $1569&65535; - $1571 = $1570 & 4; - $1572 = ($1571|0)!=(0); - if ($1572) { - $1573 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemRealify($1573)|0); + case 32: { + $545 = HEAP32[$pOp>>2]|0; + $546 = ((($545)) + 12|0); + $547 = HEAP32[$546>>2]|0; + HEAP32[$n>>2] = $547; + $548 = HEAP32[$pOp>>2]|0; + $549 = ((($548)) + 4|0); + $550 = HEAP32[$549>>2]|0; + HEAP32[$p1>>2] = $550; + $551 = HEAP32[$pOp>>2]|0; + $552 = ((($551)) + 8|0); + $553 = HEAP32[$552>>2]|0; + HEAP32[$p2>>2] = $553; + $554 = HEAP32[$p1>>2]|0; + $555 = HEAP32[$aMem>>2]|0; + $556 = (($555) + (($554*40)|0)|0); + HEAP32[$pIn1>>2] = $556; + $557 = HEAP32[$p2>>2]|0; + $558 = HEAP32[$aMem>>2]|0; + $559 = (($558) + (($557*40)|0)|0); + HEAP32[$pOut>>2] = $559; + while(1) { + $560 = HEAP32[$pOut>>2]|0; + $561 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemMove($560,$561); + $562 = HEAP32[$pIn1>>2]|0; + $563 = ((($562)) + 40|0); + HEAP32[$pIn1>>2] = $563; + $564 = HEAP32[$pOut>>2]|0; + $565 = ((($564)) + 40|0); + HEAP32[$pOut>>2] = $565; + $566 = HEAP32[$n>>2]|0; + $567 = (($566) + -1)|0; + HEAP32[$n>>2] = $567; + $568 = ($567|0)!=(0); + if (!($568)) { + break; + } } break; } - case 83: case 80: case 81: case 82: case 78: case 79: { - $1594 = HEAP32[$pOp>>2]|0; - $1595 = (($1594) + 4|0); - $1596 = HEAP32[$1595>>2]|0; - $1597 = HEAP32[$aMem>>2]|0; - $1598 = (($1597) + (($1596*40)|0)|0); - HEAP32[$pIn1>>2] = $1598; - $1599 = HEAP32[$pOp>>2]|0; - $1600 = (($1599) + 12|0); - $1601 = HEAP32[$1600>>2]|0; - $1602 = HEAP32[$aMem>>2]|0; - $1603 = (($1602) + (($1601*40)|0)|0); - HEAP32[$pIn3>>2] = $1603; - $1604 = HEAP32[$pIn1>>2]|0; - $1605 = (($1604) + 8|0); - $1606 = HEAP16[$1605>>1]|0; - HEAP16[$flags1>>1] = $1606; - $1607 = HEAP32[$pIn3>>2]|0; - $1608 = (($1607) + 8|0); - $1609 = HEAP16[$1608>>1]|0; - HEAP16[$flags3>>1] = $1609; - $1610 = HEAP16[$flags1>>1]|0; - $1611 = $1610&65535; - $1612 = HEAP16[$flags3>>1]|0; - $1613 = $1612&65535; - $1614 = $1611 | $1613; - $1615 = $1614 & 1; - $1616 = ($1615|0)!=(0); - $1617 = HEAP32[$pOp>>2]|0; - $1618 = (($1617) + 3|0); - $1619 = HEAP8[$1618>>0]|0; - $1620 = $1619&255; - do { - if ($1616) { - $1621 = $1620 & 128; - $1622 = ($1621|0)!=(0); - if (!($1622)) { - $1635 = HEAP32[$pOp>>2]|0; - $1636 = (($1635) + 3|0); - $1637 = HEAP8[$1636>>0]|0; - $1638 = $1637&255; - $1639 = $1638 & 32; - $1640 = ($1639|0)!=(0); - $1641 = HEAP32[$pOp>>2]|0; - if ($1640) { - $1642 = (($1641) + 8|0); - $1643 = HEAP32[$1642>>2]|0; - $1644 = HEAP32[$aMem>>2]|0; - $1645 = (($1644) + (($1643*40)|0)|0); - HEAP32[$pOut>>2] = $1645; - $1646 = HEAP32[$pOut>>2]|0; - $1647 = (($1646) + 8|0); - $1648 = HEAP16[$1647>>1]|0; - $1649 = $1648&65535; - $1650 = $1649 & -16896; - $1651 = $1650 | 1; - $1652 = $1651&65535; - $1653 = HEAP32[$pOut>>2]|0; - $1654 = (($1653) + 8|0); - HEAP16[$1654>>1] = $1652; - break L21; - } - $1655 = (($1641) + 3|0); - $1656 = HEAP8[$1655>>0]|0; - $1657 = $1656&255; - $1658 = $1657 & 16; - $1659 = ($1658|0)!=(0); - if (!($1659)) { - break L21; - } - $1660 = HEAP32[$pOp>>2]|0; - $1661 = (($1660) + 8|0); - $1662 = HEAP32[$1661>>2]|0; - $1663 = (($1662) - 1)|0; - HEAP32[$pc>>2] = $1663; - break L21; - } - $1623 = HEAP16[$flags1>>1]|0; - $1624 = $1623&65535; - $1625 = $1624 & 1; - $1626 = ($1625|0)!=(0); - if ($1626) { - $1627 = HEAP16[$flags3>>1]|0; - $1628 = $1627&65535; - $1629 = $1628 & 1; - $1630 = ($1629|0)!=(0); - if ($1630) { - $1631 = HEAP16[$flags3>>1]|0; - $1632 = $1631&65535; - $1633 = $1632 & 256; - $1634 = ($1633|0)==(0); - if ($1634) { - HEAP32[$res>>2] = 0; - break; - } - } - } - HEAP32[$res>>2] = 1; - } else { - $1664 = $1620 & 71; - $1665 = $1664&255; - HEAP8[$affinity>>0] = $1665; - $1666 = HEAP8[$affinity>>0]|0; - $1667 = $1666 << 24 >> 24; - $1668 = ($1667|0)>=(67); - if ($1668) { - $1669 = HEAP32[$pIn1>>2]|0; - $1670 = (($1669) + 8|0); - $1671 = HEAP16[$1670>>1]|0; - $1672 = $1671&65535; - $1673 = $1672 & 14; - $1674 = ($1673|0)==(2); - if ($1674) { - $1675 = HEAP32[$pIn1>>2]|0; - _applyNumericAffinity($1675,0); - } - $1676 = HEAP32[$pIn3>>2]|0; - $1677 = (($1676) + 8|0); - $1678 = HEAP16[$1677>>1]|0; - $1679 = $1678&65535; - $1680 = $1679 & 14; - $1681 = ($1680|0)==(2); - if ($1681) { - $1682 = HEAP32[$pIn3>>2]|0; - _applyNumericAffinity($1682,0); - } - } else { - $1683 = HEAP8[$affinity>>0]|0; - $1684 = $1683 << 24 >> 24; - $1685 = ($1684|0)==(66); - if ($1685) { - $1686 = HEAP32[$pIn1>>2]|0; - $1687 = (($1686) + 8|0); - $1688 = HEAP16[$1687>>1]|0; - $1689 = $1688&65535; - $1690 = $1689 & 2; - $1691 = ($1690|0)==(0); - if ($1691) { - $1692 = HEAP32[$pIn1>>2]|0; - $1693 = (($1692) + 8|0); - $1694 = HEAP16[$1693>>1]|0; - $1695 = $1694&65535; - $1696 = $1695 & 12; - $1697 = ($1696|0)!=(0); - if ($1697) { - $1698 = HEAP32[$pIn1>>2]|0; - $1699 = HEAP8[$encoding>>0]|0; - (_sqlite3VdbeMemStringify($1698,$1699,1)|0); - } - } - $1700 = HEAP32[$pIn3>>2]|0; - $1701 = (($1700) + 8|0); - $1702 = HEAP16[$1701>>1]|0; - $1703 = $1702&65535; - $1704 = $1703 & 2; - $1705 = ($1704|0)==(0); - if ($1705) { - $1706 = HEAP32[$pIn3>>2]|0; - $1707 = (($1706) + 8|0); - $1708 = HEAP16[$1707>>1]|0; - $1709 = $1708&65535; - $1710 = $1709 & 12; - $1711 = ($1710|0)!=(0); - if ($1711) { - $1712 = HEAP32[$pIn3>>2]|0; - $1713 = HEAP8[$encoding>>0]|0; - (_sqlite3VdbeMemStringify($1712,$1713,1)|0); - } - } - } - } - $1714 = HEAP32[$pIn1>>2]|0; - $1715 = (($1714) + 8|0); - $1716 = HEAP16[$1715>>1]|0; - $1717 = $1716&65535; - $1718 = $1717 & 16384; - $1719 = ($1718|0)!=(0); - if ($1719) { - $1720 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemExpandBlob($1720)|0); - $1721 = HEAP16[$flags1>>1]|0; - $1722 = $1721&65535; - $1723 = $1722 & -16385; - $1724 = $1723&65535; - HEAP16[$flags1>>1] = $1724; - } - $1725 = HEAP32[$pIn3>>2]|0; - $1726 = (($1725) + 8|0); - $1727 = HEAP16[$1726>>1]|0; - $1728 = $1727&65535; - $1729 = $1728 & 16384; - $1730 = ($1729|0)!=(0); - if ($1730) { - $1731 = HEAP32[$pIn3>>2]|0; - (_sqlite3VdbeMemExpandBlob($1731)|0); - $1732 = HEAP16[$flags3>>1]|0; - $1733 = $1732&65535; - $1734 = $1733 & -16385; - $1735 = $1734&65535; - HEAP16[$flags3>>1] = $1735; - } - $1736 = HEAP32[$db>>2]|0; - $1737 = (($1736) + 64|0); - $1738 = HEAP8[$1737>>0]|0; - $1739 = ($1738<<24>>24)!=(0); - if ($1739) { - label = 871; + case 33: { + $569 = HEAP32[$pOp>>2]|0; + $570 = ((($569)) + 12|0); + $571 = HEAP32[$570>>2]|0; + HEAP32[$n1>>2] = $571; + $572 = HEAP32[$pOp>>2]|0; + $573 = ((($572)) + 4|0); + $574 = HEAP32[$573>>2]|0; + $575 = HEAP32[$aMem>>2]|0; + $576 = (($575) + (($574*40)|0)|0); + HEAP32[$pIn1>>2] = $576; + $577 = HEAP32[$pOp>>2]|0; + $578 = ((($577)) + 8|0); + $579 = HEAP32[$578>>2]|0; + $580 = HEAP32[$aMem>>2]|0; + $581 = (($580) + (($579*40)|0)|0); + HEAP32[$pOut>>2] = $581; + while(1) { + $582 = HEAP32[$pOut>>2]|0; + $583 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemShallowCopy($582,$583,4096); + $584 = HEAP32[$pOut>>2]|0; + $585 = ((($584)) + 8|0); + $586 = HEAP16[$585>>1]|0; + $587 = $586&65535; + $588 = $587 & 4096; + $589 = ($588|0)!=(0); + if ($589) { + $590 = HEAP32[$pOut>>2]|0; + $591 = (_sqlite3VdbeMemMakeWriteable($590)|0); + $592 = ($591|0)!=(0); + if ($592) { + label = 867; break L1; } - $1740 = HEAP32[$pIn3>>2]|0; - $1741 = HEAP32[$pIn1>>2]|0; - $1742 = HEAP32[$pOp>>2]|0; - $1743 = (($1742) + 16|0); - $1744 = HEAP32[$1743>>2]|0; - $1745 = (_sqlite3MemCompare($1740,$1741,$1744)|0); - HEAP32[$res>>2] = $1745; } - } while(0); - $1746 = HEAP32[$pOp>>2]|0; - $1747 = HEAP8[$1746>>0]|0; - $1748 = $1747&255; - switch ($1748|0) { - case 79: { - $1749 = HEAP32[$res>>2]|0; - $1750 = ($1749|0)==(0); - $1751 = $1750&1; - HEAP32[$res>>2] = $1751; - break; - } - case 82: { - $1755 = HEAP32[$res>>2]|0; - $1756 = ($1755|0)<(0); - $1757 = $1756&1; - HEAP32[$res>>2] = $1757; - break; - } - case 81: { - $1758 = HEAP32[$res>>2]|0; - $1759 = ($1758|0)<=(0); - $1760 = $1759&1; - HEAP32[$res>>2] = $1760; - break; - } - case 80: { - $1761 = HEAP32[$res>>2]|0; - $1762 = ($1761|0)>(0); - $1763 = $1762&1; - HEAP32[$res>>2] = $1763; - break; - } - case 78: { - $1752 = HEAP32[$res>>2]|0; - $1753 = ($1752|0)!=(0); - $1754 = $1753&1; - HEAP32[$res>>2] = $1754; - break; - } - default: { - $1764 = HEAP32[$res>>2]|0; - $1765 = ($1764|0)>=(0); - $1766 = $1765&1; - HEAP32[$res>>2] = $1766; - } - } - $1767 = HEAP32[$pOp>>2]|0; - $1768 = (($1767) + 3|0); - $1769 = HEAP8[$1768>>0]|0; - $1770 = $1769&255; - $1771 = $1770 & 32; - $1772 = ($1771|0)!=(0); - if ($1772) { - $1773 = HEAP32[$pOp>>2]|0; - $1774 = (($1773) + 8|0); - $1775 = HEAP32[$1774>>2]|0; - $1776 = HEAP32[$aMem>>2]|0; - $1777 = (($1776) + (($1775*40)|0)|0); - HEAP32[$pOut>>2] = $1777; - $1778 = HEAP32[$pOut>>2]|0; - $1779 = (($1778) + 8|0); - $1780 = HEAP16[$1779>>1]|0; - $1781 = $1780&65535; - $1782 = $1781 & -16896; - $1783 = $1782 | 4; - $1784 = $1783&65535; - $1785 = HEAP32[$pOut>>2]|0; - $1786 = (($1785) + 8|0); - HEAP16[$1786>>1] = $1784; - $1787 = HEAP32[$res>>2]|0; - $1788 = ($1787|0)<(0); - $1789 = $1788 << 31 >> 31; - $1790 = HEAP32[$pOut>>2]|0; - $1791 = $1790; - $1792 = $1791; - HEAP32[$1792>>2] = $1787; - $1793 = (($1791) + 4)|0; - $1794 = $1793; - HEAP32[$1794>>2] = $1789; - } else { - $1795 = HEAP32[$res>>2]|0; - $1796 = ($1795|0)!=(0); - if ($1796) { - $1797 = HEAP32[$pOp>>2]|0; - $1798 = (($1797) + 8|0); - $1799 = HEAP32[$1798>>2]|0; - $1800 = (($1799) - 1)|0; - HEAP32[$pc>>2] = $1800; + $593 = HEAP32[$n1>>2]|0; + $594 = (($593) + -1)|0; + HEAP32[$n1>>2] = $594; + $595 = ($593|0)==(0); + if ($595) { + break L21; } + $596 = HEAP32[$pOut>>2]|0; + $597 = ((($596)) + 40|0); + HEAP32[$pOut>>2] = $597; + $598 = HEAP32[$pIn1>>2]|0; + $599 = ((($598)) + 40|0); + HEAP32[$pIn1>>2] = $599; } - $1801 = HEAP16[$flags1>>1]|0; - $1802 = HEAP32[$pIn1>>2]|0; - $1803 = (($1802) + 8|0); - HEAP16[$1803>>1] = $1801; - $1804 = HEAP16[$flags3>>1]|0; - $1805 = HEAP32[$pIn3>>2]|0; - $1806 = (($1805) + 8|0); - HEAP16[$1806>>1] = $1804; break; } case 34: { $600 = HEAP32[$pOp>>2]|0; - $601 = (($600) + 4|0); + $601 = ((($600)) + 4|0); $602 = HEAP32[$601>>2]|0; $603 = HEAP32[$aMem>>2]|0; $604 = (($603) + (($602*40)|0)|0); HEAP32[$pIn1>>2] = $604; $605 = HEAP32[$pOp>>2]|0; - $606 = (($605) + 8|0); + $606 = ((($605)) + 8|0); $607 = HEAP32[$606>>2]|0; $608 = HEAP32[$aMem>>2]|0; $609 = (($608) + (($607*40)|0)|0); @@ -159556,7 +160564,7 @@ function _sqlite3VdbeExec($p) { } case 35: { $612 = HEAP32[$db>>2]|0; - $613 = (($612) + 292|0); + $613 = ((($612)) + 292|0); $614 = HEAP32[$613>>2]|0; $615 = ($614|0)!=(0|0); if ($615) { @@ -159565,10 +160573,10 @@ function _sqlite3VdbeExec($p) { $618 = ($616>>>0)>=($617>>>0); if ($618) { $619 = HEAP32[$db>>2]|0; - $620 = (($619) + 292|0); + $620 = ((($619)) + 292|0); $621 = HEAP32[$620>>2]|0; $622 = HEAP32[$db>>2]|0; - $623 = (($622) + 296|0); + $623 = ((($622)) + 296|0); $624 = HEAP32[$623>>2]|0; $625 = (FUNCTION_TABLE_ii[$621 & 31]($624)|0); $626 = ($625|0)!=(0); @@ -159595,473 +160603,244 @@ function _sqlite3VdbeExec($p) { } break; } - case 1: { - $1160 = HEAP32[$pOp>>2]|0; - $1161 = (($1160) + 3|0); - $1162 = HEAP8[$1161>>0]|0; - $1163 = $1162&255; - HEAP32[$n3>>2] = $1163; - $1164 = HEAP32[$0>>2]|0; - $1165 = (($1164) + 12|0); - $1166 = HEAP32[$1165>>2]|0; - HEAP32[$apVal>>2] = $1166; - $1167 = HEAP32[$pOp>>2]|0; - $1168 = (($1167) + 12|0); - $1169 = HEAP32[$1168>>2]|0; - $1170 = HEAP32[$aMem>>2]|0; - $1171 = (($1170) + (($1169*40)|0)|0); - HEAP32[$ctx>>2] = $1171; - $1172 = HEAP32[$pOp>>2]|0; - $1173 = (($1172) + 8|0); - $1174 = HEAP32[$1173>>2]|0; - $1175 = HEAP32[$aMem>>2]|0; - $1176 = (($1175) + (($1174*40)|0)|0); - HEAP32[$pArg>>2] = $1176; - HEAP32[$i2>>2] = 0; - while(1) { - $1177 = HEAP32[$i2>>2]|0; - $1178 = HEAP32[$n3>>2]|0; - $1179 = ($1177|0)<($1178|0); - if (!($1179)) { - break; - } - $1180 = HEAP32[$pArg>>2]|0; - $1181 = HEAP32[$i2>>2]|0; - $1182 = HEAP32[$apVal>>2]|0; - $1183 = (($1182) + ($1181<<2)|0); - HEAP32[$1183>>2] = $1180; - $1184 = HEAP32[$pArg>>2]|0; - $1185 = (($1184) + 8|0); - $1186 = HEAP16[$1185>>1]|0; - $1187 = $1186&65535; - $1188 = $1187 & 4096; - $1189 = ($1188|0)!=(0); - if ($1189) { - $1190 = HEAP32[$pArg>>2]|0; - $1191 = (_sqlite3VdbeMemMakeWriteable($1190)|0); - $1192 = ($1191|0)!=(0); - if ($1192) { - label = 871; - break L1; - } + case 94: { + $679 = HEAP32[$pOp>>2]|0; + $680 = ((($679)) + 4|0); + $681 = HEAP32[$680>>2]|0; + $682 = HEAP32[$aMem>>2]|0; + $683 = (($682) + (($681*40)|0)|0); + HEAP32[$pIn1>>2] = $683; + $684 = HEAP32[$pOp>>2]|0; + $685 = ((($684)) + 8|0); + $686 = HEAP32[$685>>2]|0; + $687 = HEAP32[$aMem>>2]|0; + $688 = (($687) + (($686*40)|0)|0); + HEAP32[$pIn2>>2] = $688; + $689 = HEAP32[$pOp>>2]|0; + $690 = ((($689)) + 12|0); + $691 = HEAP32[$690>>2]|0; + $692 = HEAP32[$aMem>>2]|0; + $693 = (($692) + (($691*40)|0)|0); + HEAP32[$pOut>>2] = $693; + $694 = HEAP32[$pIn1>>2]|0; + $695 = ((($694)) + 8|0); + $696 = HEAP16[$695>>1]|0; + $697 = $696&65535; + $698 = HEAP32[$pIn2>>2]|0; + $699 = ((($698)) + 8|0); + $700 = HEAP16[$699>>1]|0; + $701 = $700&65535; + $702 = $697 | $701; + $703 = $702 & 1; + $704 = ($703|0)!=(0); + if ($704) { + $705 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($705); + break L21; + } + $706 = HEAP32[$pIn1>>2]|0; + $707 = ((($706)) + 8|0); + $708 = HEAP16[$707>>1]|0; + $709 = $708&65535; + $710 = $709 & 16384; + $711 = ($710|0)!=(0); + if ($711) { + $712 = HEAP32[$pIn1>>2]|0; + $713 = (_sqlite3VdbeMemExpandBlob($712)|0); + $714 = ($713|0)!=(0); + if ($714) { + label = 867; + break L1; } - $1193 = HEAP32[$i2>>2]|0; - $1194 = (($1193) + 1)|0; - HEAP32[$i2>>2] = $1194; - $1195 = HEAP32[$pArg>>2]|0; - $1196 = (($1195) + 40|0); - HEAP32[$pArg>>2] = $1196; } - $1197 = HEAP32[$pOp>>2]|0; - $1198 = (($1197) + 16|0); - $1199 = HEAP32[$1198>>2]|0; - $1200 = (($ctx) + 4|0); - HEAP32[$1200>>2] = $1199; - $1201 = HEAP32[$pc>>2]|0; - $1202 = (($ctx) + 16|0); - HEAP32[$1202>>2] = $1201; - $1203 = HEAP32[$0>>2]|0; - $1204 = (($ctx) + 12|0); - HEAP32[$1204>>2] = $1203; - $1205 = HEAP32[$ctx>>2]|0; - $1206 = (($1205) + 8|0); - $1207 = HEAP16[$1206>>1]|0; - $1208 = $1207&65535; - $1209 = $1208 & -16896; - $1210 = $1209 | 1; - $1211 = $1210&65535; - $1212 = HEAP32[$ctx>>2]|0; - $1213 = (($1212) + 8|0); - HEAP16[$1213>>1] = $1211; - $1214 = (($ctx) + 25|0); - HEAP8[$1214>>0] = 0; - $1215 = $lastRowid; - $1216 = $1215; - $1217 = HEAP32[$1216>>2]|0; - $1218 = (($1215) + 4)|0; - $1219 = $1218; - $1220 = HEAP32[$1219>>2]|0; - $1221 = HEAP32[$db>>2]|0; - $1222 = (($1221) + 32|0); - $1223 = $1222; - $1224 = $1223; - HEAP32[$1224>>2] = $1217; - $1225 = (($1223) + 4)|0; - $1226 = $1225; - HEAP32[$1226>>2] = $1220; - $1227 = (($ctx) + 4|0); - $1228 = HEAP32[$1227>>2]|0; - $1229 = (($1228) + 12|0); - $1230 = HEAP32[$1229>>2]|0; - $1231 = HEAP32[$n3>>2]|0; - $1232 = HEAP32[$apVal>>2]|0; - FUNCTION_TABLE_viii[$1230 & 63]($ctx,$1231,$1232); - $1233 = HEAP32[$db>>2]|0; - $1234 = (($1233) + 32|0); - $1235 = $1234; - $1236 = $1235; - $1237 = HEAP32[$1236>>2]|0; - $1238 = (($1235) + 4)|0; - $1239 = $1238; - $1240 = HEAP32[$1239>>2]|0; - $1241 = $lastRowid; - $1242 = $1241; - HEAP32[$1242>>2] = $1237; - $1243 = (($1241) + 4)|0; - $1244 = $1243; - HEAP32[$1244>>2] = $1240; - $1245 = (($ctx) + 25|0); - $1246 = HEAP8[$1245>>0]|0; - $1247 = ($1246<<24>>24)!=(0); - if ($1247) { - $1248 = (($ctx) + 20|0); - $1249 = HEAP32[$1248>>2]|0; - $1250 = ($1249|0)!=(0); - if ($1250) { - $1251 = HEAP32[$0>>2]|0; - $1252 = (($1251) + 44|0); - $1253 = HEAP32[$db>>2]|0; - $1254 = HEAP32[$ctx>>2]|0; - $1255 = (_sqlite3_value_text($1254)|0); - HEAP32[$vararg_buffer84>>2] = $1255; - _sqlite3SetString($1252,$1253,1200,$vararg_buffer84); - $1256 = (($ctx) + 20|0); - $1257 = HEAP32[$1256>>2]|0; - HEAP32[$rc>>2] = $1257; + $715 = HEAP32[$pIn2>>2]|0; + $716 = ((($715)) + 8|0); + $717 = HEAP16[$716>>1]|0; + $718 = $717&65535; + $719 = $718 & 16384; + $720 = ($719|0)!=(0); + if ($720) { + $721 = HEAP32[$pIn2>>2]|0; + $722 = (_sqlite3VdbeMemExpandBlob($721)|0); + $723 = ($722|0)!=(0); + if ($723) { + label = 867; + break L1; } - $1258 = HEAP32[$0>>2]|0; - $1259 = HEAP32[$pc>>2]|0; - $1260 = HEAP32[$pOp>>2]|0; - $1261 = (($1260) + 4|0); - $1262 = HEAP32[$1261>>2]|0; - _sqlite3VdbeDeleteAuxData($1258,$1259,$1262); } - $1263 = HEAP32[$ctx>>2]|0; - $1264 = HEAP8[$encoding>>0]|0; - $1265 = $1264&255; - (_sqlite3VdbeChangeEncoding($1263,$1265)|0); - $1266 = HEAP32[$ctx>>2]|0; - $1267 = (_sqlite3VdbeMemTooBig($1266)|0); - $1268 = ($1267|0)!=(0); - if ($1268) { - label = 870; - break L11; + $724 = HEAP32[$pIn1>>2]|0; + $725 = ((($724)) + 8|0); + $726 = HEAP16[$725>>1]|0; + $727 = $726&65535; + $728 = $727 & 18; + $729 = ($728|0)==(0); + if ($729) { + $730 = HEAP32[$pIn1>>2]|0; + $731 = HEAP8[$encoding>>0]|0; + $732 = (_sqlite3VdbeMemStringify($730,$731,0)|0); + $733 = ($732|0)!=(0); + if ($733) { + label = 867; + break L1; + } } - break; - } - case 36: { - $1151 = HEAP32[$pOp>>2]|0; - $1152 = (($1151) + 4|0); - $1153 = HEAP32[$1152>>2]|0; - $1154 = ($1153|0)!=(0); - if ($1154) { - $1155 = HEAP32[$pOp>>2]|0; - $1156 = (($1155) + 4|0); - $1157 = HEAP32[$1156>>2]|0; - $1158 = HEAP32[$aMem>>2]|0; - $1159 = (($1158) + (($1157*40)|0)|0); - _sqlite3VdbeMemSetInt64($1159,0,0); + $734 = HEAP32[$pIn2>>2]|0; + $735 = ((($734)) + 8|0); + $736 = HEAP16[$735>>1]|0; + $737 = $736&65535; + $738 = $737 & 18; + $739 = ($738|0)==(0); + if ($739) { + $740 = HEAP32[$pIn2>>2]|0; + $741 = HEAP8[$encoding>>0]|0; + $742 = (_sqlite3VdbeMemStringify($740,$741,0)|0); + $743 = ($742|0)!=(0); + if ($743) { + label = 867; + break L1; + } } - break; - } - case 88: case 87: case 86: case 85: { - $1269 = HEAP32[$pOp>>2]|0; - $1270 = (($1269) + 4|0); - $1271 = HEAP32[$1270>>2]|0; - $1272 = HEAP32[$aMem>>2]|0; - $1273 = (($1272) + (($1271*40)|0)|0); - HEAP32[$pIn1>>2] = $1273; - $1274 = HEAP32[$pOp>>2]|0; - $1275 = (($1274) + 8|0); - $1276 = HEAP32[$1275>>2]|0; - $1277 = HEAP32[$aMem>>2]|0; - $1278 = (($1277) + (($1276*40)|0)|0); - HEAP32[$pIn2>>2] = $1278; - $1279 = HEAP32[$pOp>>2]|0; - $1280 = (($1279) + 12|0); - $1281 = HEAP32[$1280>>2]|0; - $1282 = HEAP32[$aMem>>2]|0; - $1283 = (($1282) + (($1281*40)|0)|0); - HEAP32[$pOut>>2] = $1283; - $1284 = HEAP32[$pIn1>>2]|0; - $1285 = (($1284) + 8|0); - $1286 = HEAP16[$1285>>1]|0; - $1287 = $1286&65535; - $1288 = HEAP32[$pIn2>>2]|0; - $1289 = (($1288) + 8|0); - $1290 = HEAP16[$1289>>1]|0; - $1291 = $1290&65535; - $1292 = $1287 | $1291; - $1293 = $1292 & 1; - $1294 = ($1293|0)!=(0); - if ($1294) { - $1295 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($1295); - break L21; + $744 = HEAP32[$pIn1>>2]|0; + $745 = ((($744)) + 12|0); + $746 = HEAP32[$745>>2]|0; + $747 = HEAP32[$pIn2>>2]|0; + $748 = ((($747)) + 12|0); + $749 = HEAP32[$748>>2]|0; + $750 = (($746) + ($749))|0; + $751 = ($750|0)<(0); + $752 = $751 << 31 >> 31; + $753 = $nByte; + $754 = $753; + HEAP32[$754>>2] = $750; + $755 = (($753) + 4)|0; + $756 = $755; + HEAP32[$756>>2] = $752; + $757 = $nByte; + $758 = $757; + $759 = HEAP32[$758>>2]|0; + $760 = (($757) + 4)|0; + $761 = $760; + $762 = HEAP32[$761>>2]|0; + $763 = HEAP32[$db>>2]|0; + $764 = ((($763)) + 88|0); + $765 = HEAP32[$764>>2]|0; + $766 = ($765|0)<(0); + $767 = $766 << 31 >> 31; + $768 = ($762|0)>($767|0); + $769 = ($759>>>0)>($765>>>0); + $770 = ($762|0)==($767|0); + $771 = $770 & $769; + $772 = $768 | $771; + if ($772) { + label = 866; + break L11; } - $1296 = HEAP32[$pIn2>>2]|0; - $1297 = (_sqlite3VdbeIntValue($1296)|0); - $1298 = tempRet0; - $1299 = $iA4; - $1300 = $1299; - HEAP32[$1300>>2] = $1297; - $1301 = (($1299) + 4)|0; - $1302 = $1301; - HEAP32[$1302>>2] = $1298; - $1303 = HEAP32[$pIn1>>2]|0; - $1304 = (_sqlite3VdbeIntValue($1303)|0); - $1305 = tempRet0; - $1306 = $iB5; - $1307 = $1306; - HEAP32[$1307>>2] = $1304; - $1308 = (($1306) + 4)|0; - $1309 = $1308; - HEAP32[$1309>>2] = $1305; - $1310 = HEAP32[$pOp>>2]|0; - $1311 = HEAP8[$1310>>0]|0; - HEAP8[$op>>0] = $1311; - $1312 = HEAP8[$op>>0]|0; - $1313 = $1312&255; - $1314 = ($1313|0)==(85); - do { - if ($1314) { - $1315 = $iB5; - $1316 = $1315; - $1317 = HEAP32[$1316>>2]|0; - $1318 = (($1315) + 4)|0; - $1319 = $1318; - $1320 = HEAP32[$1319>>2]|0; - $1321 = $iA4; - $1322 = $1321; - $1323 = HEAP32[$1322>>2]|0; - $1324 = (($1321) + 4)|0; - $1325 = $1324; - $1326 = HEAP32[$1325>>2]|0; - $1327 = $1323 & $1317; - $1328 = $1326 & $1320; - $1329 = $iA4; - $1330 = $1329; - HEAP32[$1330>>2] = $1327; - $1331 = (($1329) + 4)|0; - $1332 = $1331; - HEAP32[$1332>>2] = $1328; - } else { - $1333 = HEAP8[$op>>0]|0; - $1334 = $1333&255; - $1335 = ($1334|0)==(86); - $1336 = $iB5; - $1337 = $1336; - $1338 = HEAP32[$1337>>2]|0; - $1339 = (($1336) + 4)|0; - $1340 = $1339; - $1341 = HEAP32[$1340>>2]|0; - if ($1335) { - $1342 = $iA4; - $1343 = $1342; - $1344 = HEAP32[$1343>>2]|0; - $1345 = (($1342) + 4)|0; - $1346 = $1345; - $1347 = HEAP32[$1346>>2]|0; - $1348 = $1344 | $1338; - $1349 = $1347 | $1341; - $1350 = $iA4; - $1351 = $1350; - HEAP32[$1351>>2] = $1348; - $1352 = (($1350) + 4)|0; - $1353 = $1352; - HEAP32[$1353>>2] = $1349; - break; - } - $1354 = ($1338|0)!=(0); - $1355 = ($1341|0)!=(0); - $1356 = $1354 | $1355; - if ($1356) { - $1357 = $iB5; - $1358 = $1357; - $1359 = HEAP32[$1358>>2]|0; - $1360 = (($1357) + 4)|0; - $1361 = $1360; - $1362 = HEAP32[$1361>>2]|0; - $1363 = ($1362|0)<(0); - if ($1363) { - $1364 = HEAP8[$op>>0]|0; - $1365 = $1364&255; - $1366 = (175 - ($1365))|0; - $1367 = $1366&255; - HEAP8[$op>>0] = $1367; - $1368 = $iB5; - $1369 = $1368; - $1370 = HEAP32[$1369>>2]|0; - $1371 = (($1368) + 4)|0; - $1372 = $1371; - $1373 = HEAP32[$1372>>2]|0; - $1374 = ($1373|0)>(-1); - $1375 = ($1370>>>0)>(4294967232); - $1376 = ($1373|0)==(-1); - $1377 = $1376 & $1375; - $1378 = $1374 | $1377; - if ($1378) { - $1379 = $iB5; - $1380 = $1379; - $1381 = HEAP32[$1380>>2]|0; - $1382 = (($1379) + 4)|0; - $1383 = $1382; - $1384 = HEAP32[$1383>>2]|0; - $1385 = (_i64Subtract(0,0,($1381|0),($1384|0))|0); - $1386 = tempRet0; - $1389 = $1385;$1392 = $1386; - } else { - $1389 = 64;$1392 = 0; - } - $1387 = $iB5; - $1388 = $1387; - HEAP32[$1388>>2] = $1389; - $1390 = (($1387) + 4)|0; - $1391 = $1390; - HEAP32[$1391>>2] = $1392; - } - $1393 = $iB5; - $1394 = $1393; - $1395 = HEAP32[$1394>>2]|0; - $1396 = (($1393) + 4)|0; - $1397 = $1396; - $1398 = HEAP32[$1397>>2]|0; - $1399 = ($1398|0)>(0); - $1400 = ($1395>>>0)>=(64); - $1401 = ($1398|0)==(0); - $1402 = $1401 & $1400; - $1403 = $1399 | $1402; - if ($1403) { - $1404 = $iA4; - $1405 = $1404; - $1406 = HEAP32[$1405>>2]|0; - $1407 = (($1404) + 4)|0; - $1408 = $1407; - $1409 = HEAP32[$1408>>2]|0; - $1410 = ($1409|0)>(0); - $1411 = ($1406>>>0)>=(0); - $1412 = ($1409|0)==(0); - $1413 = $1412 & $1411; - $1414 = $1410 | $1413; - if ($1414) { - $1419 = 1; - } else { - $1415 = HEAP8[$op>>0]|0; - $1416 = $1415&255; - $1417 = ($1416|0)==(87); - $1419 = $1417; - } - $1418 = $1419 ? 0 : -1; - $1420 = ($1418|0)<(0); - $1421 = $1420 << 31 >> 31; - $1422 = $iA4; - $1423 = $1422; - HEAP32[$1423>>2] = $1418; - $1424 = (($1422) + 4)|0; - $1425 = $1424; - HEAP32[$1425>>2] = $1421; - break; - } - ;HEAP32[$uA+0>>2]=HEAP32[$iA4+0>>2]|0;HEAP32[$uA+4>>2]=HEAP32[$iA4+4>>2]|0; - $1426 = HEAP8[$op>>0]|0; - $1427 = $1426&255; - $1428 = ($1427|0)==(87); - $1429 = $iB5; - $1430 = $1429; - $1431 = HEAP32[$1430>>2]|0; - $1432 = (($1429) + 4)|0; - $1433 = $1432; - $1434 = HEAP32[$1433>>2]|0; - $1435 = $uA; - $1436 = $1435; - $1437 = HEAP32[$1436>>2]|0; - $1438 = (($1435) + 4)|0; - $1439 = $1438; - $1440 = HEAP32[$1439>>2]|0; - if ($1428) { - $1441 = (_bitshift64Shl(($1437|0),($1440|0),($1431|0))|0); - $1442 = tempRet0; - $1443 = $uA; - $1444 = $1443; - HEAP32[$1444>>2] = $1441; - $1445 = (($1443) + 4)|0; - $1446 = $1445; - HEAP32[$1446>>2] = $1442; - } else { - $1447 = (_bitshift64Lshr(($1437|0),($1440|0),($1431|0))|0); - $1448 = tempRet0; - $1449 = $uA; - $1450 = $1449; - HEAP32[$1450>>2] = $1447; - $1451 = (($1449) + 4)|0; - $1452 = $1451; - HEAP32[$1452>>2] = $1448; - $1453 = $iA4; - $1454 = $1453; - $1455 = HEAP32[$1454>>2]|0; - $1456 = (($1453) + 4)|0; - $1457 = $1456; - $1458 = HEAP32[$1457>>2]|0; - $1459 = ($1458|0)<(0); - if ($1459) { - $1460 = $iB5; - $1461 = $1460; - $1462 = HEAP32[$1461>>2]|0; - $1463 = (($1460) + 4)|0; - $1464 = $1463; - $1465 = HEAP32[$1464>>2]|0; - $1466 = (_i64Subtract(64,0,($1462|0),($1465|0))|0); - $1467 = tempRet0; - $1468 = (_bitshift64Shl(-1,-1,($1466|0))|0); - $1469 = tempRet0; - $1470 = $uA; - $1471 = $1470; - $1472 = HEAP32[$1471>>2]|0; - $1473 = (($1470) + 4)|0; - $1474 = $1473; - $1475 = HEAP32[$1474>>2]|0; - $1476 = $1472 | $1468; - $1477 = $1475 | $1469; - $1478 = $uA; - $1479 = $1478; - HEAP32[$1479>>2] = $1476; - $1480 = (($1478) + 4)|0; - $1481 = $1480; - HEAP32[$1481>>2] = $1477; - } - } - ;HEAP32[$iA4+0>>2]=HEAP32[$uA+0>>2]|0;HEAP32[$iA4+4>>2]=HEAP32[$uA+4>>2]|0; - } - } - } while(0); - $1482 = $iA4; - $1483 = $1482; - $1484 = HEAP32[$1483>>2]|0; - $1485 = (($1482) + 4)|0; - $1486 = $1485; - $1487 = HEAP32[$1486>>2]|0; - $1488 = HEAP32[$pOut>>2]|0; - $1489 = $1488; - $1490 = $1489; - HEAP32[$1490>>2] = $1484; - $1491 = (($1489) + 4)|0; - $1492 = $1491; - HEAP32[$1492>>2] = $1487; - $1493 = HEAP32[$pOut>>2]|0; - $1494 = (($1493) + 8|0); - $1495 = HEAP16[$1494>>1]|0; - $1496 = $1495&65535; - $1497 = $1496 & -16896; - $1498 = $1497 | 4; - $1499 = $1498&65535; - $1500 = HEAP32[$pOut>>2]|0; - $1501 = (($1500) + 8|0); - HEAP16[$1501>>1] = $1499; + $773 = HEAP32[$pOut>>2]|0; + $774 = $nByte; + $775 = $774; + $776 = HEAP32[$775>>2]|0; + $777 = (($774) + 4)|0; + $778 = $777; + $779 = HEAP32[$778>>2]|0; + $780 = (($776) + 2)|0; + $781 = HEAP32[$pOut>>2]|0; + $782 = HEAP32[$pIn2>>2]|0; + $783 = ($781|0)==($782|0); + $784 = $783&1; + $785 = (_sqlite3VdbeMemGrow($773,$780,$784)|0); + $786 = ($785|0)!=(0); + if ($786) { + label = 867; + break L1; + } + $787 = HEAP32[$pOut>>2]|0; + $788 = ((($787)) + 8|0); + $789 = HEAP16[$788>>1]|0; + $790 = $789&65535; + $791 = $790 & -16896; + $792 = $791 | 2; + $793 = $792&65535; + $794 = HEAP32[$pOut>>2]|0; + $795 = ((($794)) + 8|0); + HEAP16[$795>>1] = $793; + $796 = HEAP32[$pOut>>2]|0; + $797 = HEAP32[$pIn2>>2]|0; + $798 = ($796|0)!=($797|0); + if ($798) { + $799 = HEAP32[$pOut>>2]|0; + $800 = ((($799)) + 16|0); + $801 = HEAP32[$800>>2]|0; + $802 = HEAP32[$pIn2>>2]|0; + $803 = ((($802)) + 16|0); + $804 = HEAP32[$803>>2]|0; + $805 = HEAP32[$pIn2>>2]|0; + $806 = ((($805)) + 12|0); + $807 = HEAP32[$806>>2]|0; + _memcpy(($801|0),($804|0),($807|0))|0; + } + $808 = HEAP32[$pIn2>>2]|0; + $809 = ((($808)) + 12|0); + $810 = HEAP32[$809>>2]|0; + $811 = HEAP32[$pOut>>2]|0; + $812 = ((($811)) + 16|0); + $813 = HEAP32[$812>>2]|0; + $814 = (($813) + ($810)|0); + $815 = HEAP32[$pIn1>>2]|0; + $816 = ((($815)) + 16|0); + $817 = HEAP32[$816>>2]|0; + $818 = HEAP32[$pIn1>>2]|0; + $819 = ((($818)) + 12|0); + $820 = HEAP32[$819>>2]|0; + _memcpy(($814|0),($817|0),($820|0))|0; + $821 = $nByte; + $822 = $821; + $823 = HEAP32[$822>>2]|0; + $824 = (($821) + 4)|0; + $825 = $824; + $826 = HEAP32[$825>>2]|0; + $827 = HEAP32[$pOut>>2]|0; + $828 = ((($827)) + 16|0); + $829 = HEAP32[$828>>2]|0; + $830 = (($829) + ($823)|0); + HEAP8[$830>>0] = 0; + $831 = $nByte; + $832 = $831; + $833 = HEAP32[$832>>2]|0; + $834 = (($831) + 4)|0; + $835 = $834; + $836 = HEAP32[$835>>2]|0; + $837 = (_i64Add(($833|0),($836|0),1,0)|0); + $838 = tempRet0; + $839 = HEAP32[$pOut>>2]|0; + $840 = ((($839)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = (($841) + ($837)|0); + HEAP8[$842>>0] = 0; + $843 = HEAP32[$pOut>>2]|0; + $844 = ((($843)) + 8|0); + $845 = HEAP16[$844>>1]|0; + $846 = $845&65535; + $847 = $846 | 512; + $848 = $847&65535; + HEAP16[$844>>1] = $848; + $849 = $nByte; + $850 = $849; + $851 = HEAP32[$850>>2]|0; + $852 = (($849) + 4)|0; + $853 = $852; + $854 = HEAP32[$853>>2]|0; + $855 = HEAP32[$pOut>>2]|0; + $856 = ((($855)) + 12|0); + HEAP32[$856>>2] = $851; + $857 = HEAP8[$encoding>>0]|0; + $858 = HEAP32[$pOut>>2]|0; + $859 = ((($858)) + 10|0); + HEAP8[$859>>0] = $857; break; } case 93: case 92: case 91: case 90: case 89: { $860 = HEAP32[$pOp>>2]|0; - $861 = (($860) + 4|0); + $861 = ((($860)) + 4|0); $862 = HEAP32[$861>>2]|0; $863 = HEAP32[$aMem>>2]|0; $864 = (($863) + (($862*40)|0)|0); @@ -160070,7 +160849,7 @@ function _sqlite3VdbeExec($p) { $866 = (_numericType($865)|0); HEAP16[$type1>>1] = $866; $867 = HEAP32[$pOp>>2]|0; - $868 = (($867) + 8|0); + $868 = ((($867)) + 8|0); $869 = HEAP32[$868>>2]|0; $870 = HEAP32[$aMem>>2]|0; $871 = (($870) + (($869*40)|0)|0); @@ -160079,17 +160858,17 @@ function _sqlite3VdbeExec($p) { $873 = (_numericType($872)|0); HEAP16[$type2>>1] = $873; $874 = HEAP32[$pOp>>2]|0; - $875 = (($874) + 12|0); + $875 = ((($874)) + 12|0); $876 = HEAP32[$875>>2]|0; $877 = HEAP32[$aMem>>2]|0; $878 = (($877) + (($876*40)|0)|0); HEAP32[$pOut>>2] = $878; $879 = HEAP32[$pIn1>>2]|0; - $880 = (($879) + 8|0); + $880 = ((($879)) + 8|0); $881 = HEAP16[$880>>1]|0; $882 = $881&65535; $883 = HEAP32[$pIn2>>2]|0; - $884 = (($883) + 8|0); + $884 = ((($883)) + 8|0); $885 = HEAP16[$884>>1]|0; $886 = $885&65535; $887 = $882 | $886; @@ -160099,7 +160878,7 @@ function _sqlite3VdbeExec($p) { $890 = $889&65535; $891 = $890 & 1; $892 = ($891|0)!=(0); - L168: do { + L89: do { if (!($892)) { $893 = HEAP16[$type1>>1]|0; $894 = $893&65535; @@ -160108,7 +160887,7 @@ function _sqlite3VdbeExec($p) { $897 = $894 & $896; $898 = $897 & 4; $899 = ($898|0)!=(0); - do { + L91: do { if ($899) { $900 = HEAP32[$pIn1>>2]|0; $901 = $900; @@ -160140,7 +160919,8 @@ function _sqlite3VdbeExec($p) { $922 = HEAP32[$pOp>>2]|0; $923 = HEAP8[$922>>0]|0; $924 = $923&255; - if ((($924|0) == 89)) { + switch ($924|0) { + case 89: { $925 = $iA; $926 = $925; $927 = HEAP32[$926>>2]|0; @@ -160150,9 +160930,11 @@ function _sqlite3VdbeExec($p) { $931 = (_sqlite3AddInt64($iB,$927,$930)|0); $932 = ($931|0)!=(0); if ($932) { - break; + break L91; } - } else if ((($924|0) == 90)) { + break; + } + case 90: { $933 = $iA; $934 = $933; $935 = HEAP32[$934>>2]|0; @@ -160162,9 +160944,11 @@ function _sqlite3VdbeExec($p) { $939 = (_sqlite3SubInt64($iB,$935,$938)|0); $940 = ($939|0)!=(0); if ($940) { - break; + break L91; } - } else if ((($924|0) == 91)) { + break; + } + case 91: { $941 = $iA; $942 = $941; $943 = HEAP32[$942>>2]|0; @@ -160174,9 +160958,11 @@ function _sqlite3VdbeExec($p) { $947 = (_sqlite3MulInt64($iB,$943,$946)|0); $948 = ($947|0)!=(0); if ($948) { - break; + break L91; } - } else if ((($924|0) == 92)) { + break; + } + case 92: { $949 = $iA; $950 = $949; $951 = HEAP32[$950>>2]|0; @@ -160187,7 +160973,7 @@ function _sqlite3VdbeExec($p) { $956 = ($954|0)==(0); $957 = $955 & $956; if ($957) { - break L168; + break L89; } $958 = $iA; $959 = $958; @@ -160209,7 +160995,7 @@ function _sqlite3VdbeExec($p) { $975 = $973 & $974; $or$cond = $966 & $975; if ($or$cond) { - break; + break L91; } $976 = $iA; $977 = $976; @@ -160231,7 +161017,9 @@ function _sqlite3VdbeExec($p) { $992 = (($990) + 4)|0; $993 = $992; HEAP32[$993>>2] = $989; - } else { + break; + } + default: { $994 = $iA; $995 = $994; $996 = HEAP32[$995>>2]|0; @@ -160242,7 +161030,7 @@ function _sqlite3VdbeExec($p) { $1001 = ($999|0)==(0); $1002 = $1000 & $1001; if ($1002) { - break L168; + break L89; } $1003 = $iA; $1004 = $1003; @@ -160282,6 +161070,7 @@ function _sqlite3VdbeExec($p) { $1033 = $1032; HEAP32[$1033>>2] = $1029; } + } $1034 = $iB; $1035 = $1034; $1036 = HEAP32[$1035>>2]|0; @@ -160296,14 +161085,14 @@ function _sqlite3VdbeExec($p) { $1044 = $1043; HEAP32[$1044>>2] = $1039; $1045 = HEAP32[$pOut>>2]|0; - $1046 = (($1045) + 8|0); + $1046 = ((($1045)) + 8|0); $1047 = HEAP16[$1046>>1]|0; $1048 = $1047&65535; $1049 = $1048 & -16896; $1050 = $1049 | 4; $1051 = $1050&65535; $1052 = HEAP32[$pOut>>2]|0; - $1053 = (($1052) + 8|0); + $1053 = ((($1052)) + 8|0); HEAP16[$1053>>1] = $1051; break L21; } else { @@ -160319,35 +161108,44 @@ function _sqlite3VdbeExec($p) { $1058 = HEAP32[$pOp>>2]|0; $1059 = HEAP8[$1058>>0]|0; $1060 = $1059&255; - if ((($1060|0) == 89)) { + switch ($1060|0) { + case 89: { $1061 = +HEAPF64[$rA>>3]; $1062 = +HEAPF64[$rB>>3]; $1063 = $1062 + $1061; HEAPF64[$rB>>3] = $1063; - } else if ((($1060|0) == 90)) { + break; + } + case 90: { $1064 = +HEAPF64[$rA>>3]; $1065 = +HEAPF64[$rB>>3]; $1066 = $1065 - $1064; HEAPF64[$rB>>3] = $1066; - } else if ((($1060|0) == 91)) { + break; + } + case 91: { $1067 = +HEAPF64[$rA>>3]; $1068 = +HEAPF64[$rB>>3]; $1069 = $1068 * $1067; HEAPF64[$rB>>3] = $1069; - } else if ((($1060|0) == 92)) { + break; + } + case 92: { $1070 = +HEAPF64[$rA>>3]; $1071 = $1070 == 0.0; if ($1071) { - break; + break L89; } $1072 = +HEAPF64[$rA>>3]; $1073 = +HEAPF64[$rB>>3]; $1074 = $1073 / $1072; HEAPF64[$rB>>3] = $1074; - } else { + break; + } + default: { $1075 = +HEAPF64[$rA>>3]; $1076 = (~~$1075)>>>0; - $1077 = +Math_abs($1075) >= 1.0 ? $1075 > 0.0 ? (Math_min(+Math_floor($1075 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($1075 - +(~~$1075 >>> 0)) / 4294967296.0) >>> 0 : 0; + $1077 = +Math_abs($1075) >= 1.0 ? $1075 > 0.0 ? (~~+Math_min(+Math_floor($1075 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1075 - +(~~$1075 >>> 0)) / 4294967296.0) >>> 0 : 0; $1078 = $iA; $1079 = $1078; HEAP32[$1079>>2] = $1076; @@ -160356,7 +161154,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$1081>>2] = $1077; $1082 = +HEAPF64[$rB>>3]; $1083 = (~~$1082)>>>0; - $1084 = +Math_abs($1082) >= 1.0 ? $1082 > 0.0 ? (Math_min(+Math_floor($1082 / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math_ceil(($1082 - +(~~$1082 >>> 0)) / 4294967296.0) >>> 0 : 0; + $1084 = +Math_abs($1082) >= 1.0 ? $1082 > 0.0 ? (~~+Math_min(+Math_floor($1082 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1082 - +(~~$1082 >>> 0)) / 4294967296.0) >>> 0 : 0; $1085 = $iB; $1086 = $1085; HEAP32[$1086>>2] = $1083; @@ -160373,7 +161171,7 @@ function _sqlite3VdbeExec($p) { $1096 = ($1094|0)==(0); $1097 = $1095 & $1096; if ($1097) { - break; + break L89; } $1098 = $iA; $1099 = $1098; @@ -160409,6 +161207,7 @@ function _sqlite3VdbeExec($p) { $1125 = (+($1123>>>0)) + (4294967296.0*(+($1124|0))); HEAPF64[$rB>>3] = $1125; } + } $1126 = +HEAPF64[$rB>>3]; $1127 = (_sqlite3IsNaN($1126)|0); $1128 = ($1127|0)!=(0); @@ -160417,14 +161216,14 @@ function _sqlite3VdbeExec($p) { $1130 = HEAP32[$pOut>>2]|0; HEAPF64[$1130>>3] = $1129; $1131 = HEAP32[$pOut>>2]|0; - $1132 = (($1131) + 8|0); + $1132 = ((($1131)) + 8|0); $1133 = HEAP16[$1132>>1]|0; $1134 = $1133&65535; $1135 = $1134 & -16896; $1136 = $1135 | 8; $1137 = $1136&65535; $1138 = HEAP32[$pOut>>2]|0; - $1139 = (($1138) + 8|0); + $1139 = ((($1138)) + 8|0); HEAP16[$1139>>1] = $1137; $1140 = HEAP16[$type1>>1]|0; $1141 = $1140&65535; @@ -160449,552 +161248,1135 @@ function _sqlite3VdbeExec($p) { _sqlite3VdbeMemSetNull($1150); break; } - case 94: { - $679 = HEAP32[$pOp>>2]|0; - $680 = (($679) + 4|0); - $681 = HEAP32[$680>>2]|0; - $682 = HEAP32[$aMem>>2]|0; - $683 = (($682) + (($681*40)|0)|0); - HEAP32[$pIn1>>2] = $683; - $684 = HEAP32[$pOp>>2]|0; - $685 = (($684) + 8|0); - $686 = HEAP32[$685>>2]|0; - $687 = HEAP32[$aMem>>2]|0; - $688 = (($687) + (($686*40)|0)|0); - HEAP32[$pIn2>>2] = $688; - $689 = HEAP32[$pOp>>2]|0; - $690 = (($689) + 12|0); - $691 = HEAP32[$690>>2]|0; - $692 = HEAP32[$aMem>>2]|0; - $693 = (($692) + (($691*40)|0)|0); - HEAP32[$pOut>>2] = $693; - $694 = HEAP32[$pIn1>>2]|0; - $695 = (($694) + 8|0); - $696 = HEAP16[$695>>1]|0; - $697 = $696&65535; - $698 = HEAP32[$pIn2>>2]|0; - $699 = (($698) + 8|0); - $700 = HEAP16[$699>>1]|0; - $701 = $700&65535; - $702 = $697 | $701; - $703 = $702 & 1; - $704 = ($703|0)!=(0); - if ($704) { - $705 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($705); - break L21; - } - $706 = HEAP32[$pIn1>>2]|0; - $707 = (($706) + 8|0); - $708 = HEAP16[$707>>1]|0; - $709 = $708&65535; - $710 = $709 & 16384; - $711 = ($710|0)!=(0); - if ($711) { - $712 = HEAP32[$pIn1>>2]|0; - $713 = (_sqlite3VdbeMemExpandBlob($712)|0); - $714 = ($713|0)!=(0); - if ($714) { - label = 871; - break L1; - } - } - $715 = HEAP32[$pIn2>>2]|0; - $716 = (($715) + 8|0); - $717 = HEAP16[$716>>1]|0; - $718 = $717&65535; - $719 = $718 & 16384; - $720 = ($719|0)!=(0); - if ($720) { - $721 = HEAP32[$pIn2>>2]|0; - $722 = (_sqlite3VdbeMemExpandBlob($721)|0); - $723 = ($722|0)!=(0); - if ($723) { - label = 871; - break L1; - } - } - $724 = HEAP32[$pIn1>>2]|0; - $725 = (($724) + 8|0); - $726 = HEAP16[$725>>1]|0; - $727 = $726&65535; - $728 = $727 & 18; - $729 = ($728|0)==(0); - if ($729) { - $730 = HEAP32[$pIn1>>2]|0; - $731 = HEAP8[$encoding>>0]|0; - $732 = (_sqlite3VdbeMemStringify($730,$731,0)|0); - $733 = ($732|0)!=(0); - if ($733) { - label = 871; - break L1; - } - } - $734 = HEAP32[$pIn2>>2]|0; - $735 = (($734) + 8|0); - $736 = HEAP16[$735>>1]|0; - $737 = $736&65535; - $738 = $737 & 18; - $739 = ($738|0)==(0); - if ($739) { - $740 = HEAP32[$pIn2>>2]|0; - $741 = HEAP8[$encoding>>0]|0; - $742 = (_sqlite3VdbeMemStringify($740,$741,0)|0); - $743 = ($742|0)!=(0); - if ($743) { - label = 871; - break L1; - } - } - $744 = HEAP32[$pIn1>>2]|0; - $745 = (($744) + 12|0); - $746 = HEAP32[$745>>2]|0; - $747 = HEAP32[$pIn2>>2]|0; - $748 = (($747) + 12|0); - $749 = HEAP32[$748>>2]|0; - $750 = (($746) + ($749))|0; - $751 = ($750|0)<(0); - $752 = $751 << 31 >> 31; - $753 = $nByte; - $754 = $753; - HEAP32[$754>>2] = $750; - $755 = (($753) + 4)|0; - $756 = $755; - HEAP32[$756>>2] = $752; - $757 = $nByte; - $758 = $757; - $759 = HEAP32[$758>>2]|0; - $760 = (($757) + 4)|0; - $761 = $760; - $762 = HEAP32[$761>>2]|0; - $763 = HEAP32[$db>>2]|0; - $764 = (($763) + 88|0); - $765 = HEAP32[$764>>2]|0; - $766 = ($765|0)<(0); - $767 = $766 << 31 >> 31; - $768 = ($762|0)>($767|0); - $769 = ($759>>>0)>($765>>>0); - $770 = ($762|0)==($767|0); - $771 = $770 & $769; - $772 = $768 | $771; - if ($772) { - label = 870; - break L11; - } - $773 = HEAP32[$pOut>>2]|0; - $774 = $nByte; - $775 = $774; - $776 = HEAP32[$775>>2]|0; - $777 = (($774) + 4)|0; - $778 = $777; - $779 = HEAP32[$778>>2]|0; - $780 = (($776) + 2)|0; - $781 = HEAP32[$pOut>>2]|0; - $782 = HEAP32[$pIn2>>2]|0; - $783 = ($781|0)==($782|0); - $784 = $783&1; - $785 = (_sqlite3VdbeMemGrow($773,$780,$784)|0); - $786 = ($785|0)!=(0); - if ($786) { - label = 871; - break L1; - } - $787 = HEAP32[$pOut>>2]|0; - $788 = (($787) + 8|0); - $789 = HEAP16[$788>>1]|0; - $790 = $789&65535; - $791 = $790 & -16896; - $792 = $791 | 2; - $793 = $792&65535; - $794 = HEAP32[$pOut>>2]|0; - $795 = (($794) + 8|0); - HEAP16[$795>>1] = $793; - $796 = HEAP32[$pOut>>2]|0; - $797 = HEAP32[$pIn2>>2]|0; - $798 = ($796|0)!=($797|0); - if ($798) { - $799 = HEAP32[$pOut>>2]|0; - $800 = (($799) + 16|0); - $801 = HEAP32[$800>>2]|0; - $802 = HEAP32[$pIn2>>2]|0; - $803 = (($802) + 16|0); - $804 = HEAP32[$803>>2]|0; - $805 = HEAP32[$pIn2>>2]|0; - $806 = (($805) + 12|0); - $807 = HEAP32[$806>>2]|0; - _memcpy(($801|0),($804|0),($807|0))|0; + case 36: { + $1151 = HEAP32[$pOp>>2]|0; + $1152 = ((($1151)) + 4|0); + $1153 = HEAP32[$1152>>2]|0; + $1154 = ($1153|0)!=(0); + if ($1154) { + $1155 = HEAP32[$pOp>>2]|0; + $1156 = ((($1155)) + 4|0); + $1157 = HEAP32[$1156>>2]|0; + $1158 = HEAP32[$aMem>>2]|0; + $1159 = (($1158) + (($1157*40)|0)|0); + _sqlite3VdbeMemSetInt64($1159,0,0); } - $808 = HEAP32[$pIn2>>2]|0; - $809 = (($808) + 12|0); - $810 = HEAP32[$809>>2]|0; - $811 = HEAP32[$pOut>>2]|0; - $812 = (($811) + 16|0); - $813 = HEAP32[$812>>2]|0; - $814 = (($813) + ($810)|0); - $815 = HEAP32[$pIn1>>2]|0; - $816 = (($815) + 16|0); - $817 = HEAP32[$816>>2]|0; - $818 = HEAP32[$pIn1>>2]|0; - $819 = (($818) + 12|0); - $820 = HEAP32[$819>>2]|0; - _memcpy(($814|0),($817|0),($820|0))|0; - $821 = $nByte; - $822 = $821; - $823 = HEAP32[$822>>2]|0; - $824 = (($821) + 4)|0; - $825 = $824; - $826 = HEAP32[$825>>2]|0; - $827 = HEAP32[$pOut>>2]|0; - $828 = (($827) + 16|0); - $829 = HEAP32[$828>>2]|0; - $830 = (($829) + ($823)|0); - HEAP8[$830>>0] = 0; - $831 = $nByte; - $832 = $831; - $833 = HEAP32[$832>>2]|0; - $834 = (($831) + 4)|0; - $835 = $834; - $836 = HEAP32[$835>>2]|0; - $837 = (_i64Add(($833|0),($836|0),1,0)|0); - $838 = tempRet0; - $839 = HEAP32[$pOut>>2]|0; - $840 = (($839) + 16|0); - $841 = HEAP32[$840>>2]|0; - $842 = (($841) + ($837)|0); - HEAP8[$842>>0] = 0; - $843 = HEAP32[$pOut>>2]|0; - $844 = (($843) + 8|0); - $845 = HEAP16[$844>>1]|0; - $846 = $845&65535; - $847 = $846 | 512; - $848 = $847&65535; - HEAP16[$844>>1] = $848; - $849 = $nByte; - $850 = $849; - $851 = HEAP32[$850>>2]|0; - $852 = (($849) + 4)|0; - $853 = $852; - $854 = HEAP32[$853>>2]|0; - $855 = HEAP32[$pOut>>2]|0; - $856 = (($855) + 12|0); - HEAP32[$856>>2] = $851; - $857 = HEAP8[$encoding>>0]|0; - $858 = HEAP32[$pOut>>2]|0; - $859 = (($858) + 10|0); - HEAP8[$859>>0] = $857; break; } - case 33: { - $569 = HEAP32[$pOp>>2]|0; - $570 = (($569) + 12|0); - $571 = HEAP32[$570>>2]|0; - HEAP32[$n1>>2] = $571; - $572 = HEAP32[$pOp>>2]|0; - $573 = (($572) + 4|0); - $574 = HEAP32[$573>>2]|0; - $575 = HEAP32[$aMem>>2]|0; - $576 = (($575) + (($574*40)|0)|0); - HEAP32[$pIn1>>2] = $576; - $577 = HEAP32[$pOp>>2]|0; - $578 = (($577) + 8|0); - $579 = HEAP32[$578>>2]|0; - $580 = HEAP32[$aMem>>2]|0; - $581 = (($580) + (($579*40)|0)|0); - HEAP32[$pOut>>2] = $581; + case 1: { + $1160 = HEAP32[$pOp>>2]|0; + $1161 = ((($1160)) + 3|0); + $1162 = HEAP8[$1161>>0]|0; + $1163 = $1162&255; + HEAP32[$n3>>2] = $1163; + $1164 = HEAP32[$0>>2]|0; + $1165 = ((($1164)) + 12|0); + $1166 = HEAP32[$1165>>2]|0; + HEAP32[$apVal>>2] = $1166; + $1167 = HEAP32[$pOp>>2]|0; + $1168 = ((($1167)) + 12|0); + $1169 = HEAP32[$1168>>2]|0; + $1170 = HEAP32[$aMem>>2]|0; + $1171 = (($1170) + (($1169*40)|0)|0); + HEAP32[$ctx>>2] = $1171; + $1172 = HEAP32[$pOp>>2]|0; + $1173 = ((($1172)) + 8|0); + $1174 = HEAP32[$1173>>2]|0; + $1175 = HEAP32[$aMem>>2]|0; + $1176 = (($1175) + (($1174*40)|0)|0); + HEAP32[$pArg>>2] = $1176; + HEAP32[$i2>>2] = 0; while(1) { - $582 = HEAP32[$pOut>>2]|0; - $583 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemShallowCopy($582,$583,4096); - $584 = HEAP32[$pOut>>2]|0; - $585 = (($584) + 8|0); - $586 = HEAP16[$585>>1]|0; - $587 = $586&65535; - $588 = $587 & 4096; - $589 = ($588|0)!=(0); - if ($589) { - $590 = HEAP32[$pOut>>2]|0; - $591 = (_sqlite3VdbeMemMakeWriteable($590)|0); - $592 = ($591|0)!=(0); - if ($592) { - label = 871; + $1177 = HEAP32[$i2>>2]|0; + $1178 = HEAP32[$n3>>2]|0; + $1179 = ($1177|0)<($1178|0); + if (!($1179)) { + break; + } + $1180 = HEAP32[$pArg>>2]|0; + $1181 = HEAP32[$i2>>2]|0; + $1182 = HEAP32[$apVal>>2]|0; + $1183 = (($1182) + ($1181<<2)|0); + HEAP32[$1183>>2] = $1180; + $1184 = HEAP32[$pArg>>2]|0; + $1185 = ((($1184)) + 8|0); + $1186 = HEAP16[$1185>>1]|0; + $1187 = $1186&65535; + $1188 = $1187 & 4096; + $1189 = ($1188|0)!=(0); + if ($1189) { + $1190 = HEAP32[$pArg>>2]|0; + $1191 = (_sqlite3VdbeMemMakeWriteable($1190)|0); + $1192 = ($1191|0)!=(0); + if ($1192) { + label = 867; break L1; } } - $593 = HEAP32[$n1>>2]|0; - $594 = (($593) + -1)|0; - HEAP32[$n1>>2] = $594; - $595 = ($593|0)==(0); - if ($595) { - break L21; - } - $596 = HEAP32[$pOut>>2]|0; - $597 = (($596) + 40|0); - HEAP32[$pOut>>2] = $597; - $598 = HEAP32[$pIn1>>2]|0; - $599 = (($598) + 40|0); - HEAP32[$pIn1>>2] = $599; - } - break; - } - case 32: { - $545 = HEAP32[$pOp>>2]|0; - $546 = (($545) + 12|0); - $547 = HEAP32[$546>>2]|0; - HEAP32[$n>>2] = $547; - $548 = HEAP32[$pOp>>2]|0; - $549 = (($548) + 4|0); - $550 = HEAP32[$549>>2]|0; - HEAP32[$p1>>2] = $550; - $551 = HEAP32[$pOp>>2]|0; - $552 = (($551) + 8|0); - $553 = HEAP32[$552>>2]|0; - HEAP32[$p2>>2] = $553; - $554 = HEAP32[$p1>>2]|0; - $555 = HEAP32[$aMem>>2]|0; - $556 = (($555) + (($554*40)|0)|0); - HEAP32[$pIn1>>2] = $556; - $557 = HEAP32[$p2>>2]|0; - $558 = HEAP32[$aMem>>2]|0; - $559 = (($558) + (($557*40)|0)|0); - HEAP32[$pOut>>2] = $559; - while(1) { - $560 = HEAP32[$pOut>>2]|0; - $561 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemMove($560,$561); - $562 = HEAP32[$pIn1>>2]|0; - $563 = (($562) + 40|0); - HEAP32[$pIn1>>2] = $563; - $564 = HEAP32[$pOut>>2]|0; - $565 = (($564) + 40|0); - HEAP32[$pOut>>2] = $565; - $566 = HEAP32[$n>>2]|0; - $567 = (($566) + -1)|0; - HEAP32[$n>>2] = $567; - $568 = ($567|0)!=(0); - if (!($568)) { - break; - } - } - break; - } - case 41: { - $1807 = HEAP32[$pOp>>2]|0; - $1808 = (($1807) + 16|0); - $1809 = HEAP32[$1808>>2]|0; - HEAP32[$aPermute>>2] = $1809; - break; - } - case 42: { - $1810 = HEAP32[$pOp>>2]|0; - $1811 = (($1810) + 3|0); - $1812 = HEAP8[$1811>>0]|0; - $1813 = $1812&255; - $1814 = $1813 & 1; - $1815 = ($1814|0)==(0); - if ($1815) { - HEAP32[$aPermute>>2] = 0; + $1193 = HEAP32[$i2>>2]|0; + $1194 = (($1193) + 1)|0; + HEAP32[$i2>>2] = $1194; + $1195 = HEAP32[$pArg>>2]|0; + $1196 = ((($1195)) + 40|0); + HEAP32[$pArg>>2] = $1196; } - $1816 = HEAP32[$pOp>>2]|0; - $1817 = (($1816) + 12|0); - $1818 = HEAP32[$1817>>2]|0; - HEAP32[$n6>>2] = $1818; - $1819 = HEAP32[$pOp>>2]|0; - $1820 = (($1819) + 16|0); - $1821 = HEAP32[$1820>>2]|0; - HEAP32[$pKeyInfo>>2] = $1821; - $1822 = HEAP32[$pOp>>2]|0; - $1823 = (($1822) + 4|0); - $1824 = HEAP32[$1823>>2]|0; - HEAP32[$p18>>2] = $1824; - $1825 = HEAP32[$pOp>>2]|0; - $1826 = (($1825) + 8|0); - $1827 = HEAP32[$1826>>2]|0; - HEAP32[$p29>>2] = $1827; - HEAP32[$i7>>2] = 0; - while(1) { - $1828 = HEAP32[$i7>>2]|0; - $1829 = HEAP32[$n6>>2]|0; - $1830 = ($1828|0)<($1829|0); - if (!($1830)) { - break; - } - $1831 = HEAP32[$aPermute>>2]|0; - $1832 = ($1831|0)!=(0|0); - $1833 = HEAP32[$i7>>2]|0; - if ($1832) { - $1834 = HEAP32[$aPermute>>2]|0; - $1835 = (($1834) + ($1833<<2)|0); - $1836 = HEAP32[$1835>>2]|0; - $1837 = $1836; - } else { - $1837 = $1833; - } - HEAP32[$idx>>2] = $1837; - $1838 = HEAP32[$i7>>2]|0; - $1839 = HEAP32[$pKeyInfo>>2]|0; - $1840 = (($1839) + 20|0); - $1841 = (($1840) + ($1838<<2)|0); - $1842 = HEAP32[$1841>>2]|0; - HEAP32[$pColl>>2] = $1842; - $1843 = HEAP32[$i7>>2]|0; - $1844 = HEAP32[$pKeyInfo>>2]|0; - $1845 = (($1844) + 16|0); - $1846 = HEAP32[$1845>>2]|0; - $1847 = (($1846) + ($1843)|0); - $1848 = HEAP8[$1847>>0]|0; - $1849 = $1848&255; - HEAP32[$bRev>>2] = $1849; - $1850 = HEAP32[$p18>>2]|0; - $1851 = HEAP32[$idx>>2]|0; - $1852 = (($1850) + ($1851))|0; - $1853 = HEAP32[$aMem>>2]|0; - $1854 = (($1853) + (($1852*40)|0)|0); - $1855 = HEAP32[$p29>>2]|0; - $1856 = HEAP32[$idx>>2]|0; - $1857 = (($1855) + ($1856))|0; - $1858 = HEAP32[$aMem>>2]|0; - $1859 = (($1858) + (($1857*40)|0)|0); - $1860 = HEAP32[$pColl>>2]|0; - $1861 = (_sqlite3MemCompare($1854,$1859,$1860)|0); - HEAP32[$iCompare>>2] = $1861; - $1862 = HEAP32[$iCompare>>2]|0; - $1863 = ($1862|0)!=(0); - if ($1863) { - label = 224; - break; + $1197 = HEAP32[$pOp>>2]|0; + $1198 = ((($1197)) + 16|0); + $1199 = HEAP32[$1198>>2]|0; + $1200 = ((($ctx)) + 4|0); + HEAP32[$1200>>2] = $1199; + $1201 = HEAP32[$pc>>2]|0; + $1202 = ((($ctx)) + 16|0); + HEAP32[$1202>>2] = $1201; + $1203 = HEAP32[$0>>2]|0; + $1204 = ((($ctx)) + 12|0); + HEAP32[$1204>>2] = $1203; + $1205 = HEAP32[$ctx>>2]|0; + $1206 = ((($1205)) + 8|0); + $1207 = HEAP16[$1206>>1]|0; + $1208 = $1207&65535; + $1209 = $1208 & -16896; + $1210 = $1209 | 1; + $1211 = $1210&65535; + $1212 = HEAP32[$ctx>>2]|0; + $1213 = ((($1212)) + 8|0); + HEAP16[$1213>>1] = $1211; + $1214 = ((($ctx)) + 25|0); + HEAP8[$1214>>0] = 0; + $1215 = $lastRowid; + $1216 = $1215; + $1217 = HEAP32[$1216>>2]|0; + $1218 = (($1215) + 4)|0; + $1219 = $1218; + $1220 = HEAP32[$1219>>2]|0; + $1221 = HEAP32[$db>>2]|0; + $1222 = ((($1221)) + 32|0); + $1223 = $1222; + $1224 = $1223; + HEAP32[$1224>>2] = $1217; + $1225 = (($1223) + 4)|0; + $1226 = $1225; + HEAP32[$1226>>2] = $1220; + $1227 = ((($ctx)) + 4|0); + $1228 = HEAP32[$1227>>2]|0; + $1229 = ((($1228)) + 12|0); + $1230 = HEAP32[$1229>>2]|0; + $1231 = HEAP32[$n3>>2]|0; + $1232 = HEAP32[$apVal>>2]|0; + FUNCTION_TABLE_viii[$1230 & 63]($ctx,$1231,$1232); + $1233 = HEAP32[$db>>2]|0; + $1234 = ((($1233)) + 32|0); + $1235 = $1234; + $1236 = $1235; + $1237 = HEAP32[$1236>>2]|0; + $1238 = (($1235) + 4)|0; + $1239 = $1238; + $1240 = HEAP32[$1239>>2]|0; + $1241 = $lastRowid; + $1242 = $1241; + HEAP32[$1242>>2] = $1237; + $1243 = (($1241) + 4)|0; + $1244 = $1243; + HEAP32[$1244>>2] = $1240; + $1245 = ((($ctx)) + 25|0); + $1246 = HEAP8[$1245>>0]|0; + $1247 = ($1246<<24>>24)!=(0); + if ($1247) { + $1248 = ((($ctx)) + 20|0); + $1249 = HEAP32[$1248>>2]|0; + $1250 = ($1249|0)!=(0); + if ($1250) { + $1251 = HEAP32[$0>>2]|0; + $1252 = ((($1251)) + 44|0); + $1253 = HEAP32[$db>>2]|0; + $1254 = HEAP32[$ctx>>2]|0; + $1255 = (_sqlite3_value_text($1254)|0); + HEAP32[$vararg_buffer41>>2] = $1255; + _sqlite3SetString($1252,$1253,14418,$vararg_buffer41); + $1256 = ((($ctx)) + 20|0); + $1257 = HEAP32[$1256>>2]|0; + HEAP32[$rc>>2] = $1257; } - $1868 = HEAP32[$i7>>2]|0; - $1869 = (($1868) + 1)|0; - HEAP32[$i7>>2] = $1869; + $1258 = HEAP32[$0>>2]|0; + $1259 = HEAP32[$pc>>2]|0; + $1260 = HEAP32[$pOp>>2]|0; + $1261 = ((($1260)) + 4|0); + $1262 = HEAP32[$1261>>2]|0; + _sqlite3VdbeDeleteAuxData($1258,$1259,$1262); } - if ((label|0) == 224) { - label = 0; - $1864 = HEAP32[$bRev>>2]|0; - $1865 = ($1864|0)!=(0); - if ($1865) { - $1866 = HEAP32[$iCompare>>2]|0; - $1867 = (0 - ($1866))|0; - HEAP32[$iCompare>>2] = $1867; - } + $1263 = HEAP32[$ctx>>2]|0; + $1264 = HEAP8[$encoding>>0]|0; + $1265 = $1264&255; + (_sqlite3VdbeChangeEncoding($1263,$1265)|0); + $1266 = HEAP32[$ctx>>2]|0; + $1267 = (_sqlite3VdbeMemTooBig($1266)|0); + $1268 = ($1267|0)!=(0); + if ($1268) { + label = 866; + break L11; } - HEAP32[$aPermute>>2] = 0; break; } - case 43: { - $1870 = HEAP32[$iCompare>>2]|0; - $1871 = ($1870|0)<(0); - if ($1871) { - $1872 = HEAP32[$pOp>>2]|0; - $1873 = (($1872) + 4|0); - $1874 = HEAP32[$1873>>2]|0; - $1875 = (($1874) - 1)|0; - HEAP32[$pc>>2] = $1875; - break L21; - } - $1876 = HEAP32[$iCompare>>2]|0; - $1877 = ($1876|0)==(0); - $1878 = HEAP32[$pOp>>2]|0; - if ($1877) { - $1879 = (($1878) + 8|0); - $1880 = HEAP32[$1879>>2]|0; - $1881 = (($1880) - 1)|0; - HEAP32[$pc>>2] = $1881; - break L21; - } else { - $1882 = (($1878) + 12|0); - $1883 = HEAP32[$1882>>2]|0; - $1884 = (($1883) - 1)|0; - HEAP32[$pc>>2] = $1884; + case 88: case 87: case 86: case 85: { + $1269 = HEAP32[$pOp>>2]|0; + $1270 = ((($1269)) + 4|0); + $1271 = HEAP32[$1270>>2]|0; + $1272 = HEAP32[$aMem>>2]|0; + $1273 = (($1272) + (($1271*40)|0)|0); + HEAP32[$pIn1>>2] = $1273; + $1274 = HEAP32[$pOp>>2]|0; + $1275 = ((($1274)) + 8|0); + $1276 = HEAP32[$1275>>2]|0; + $1277 = HEAP32[$aMem>>2]|0; + $1278 = (($1277) + (($1276*40)|0)|0); + HEAP32[$pIn2>>2] = $1278; + $1279 = HEAP32[$pOp>>2]|0; + $1280 = ((($1279)) + 12|0); + $1281 = HEAP32[$1280>>2]|0; + $1282 = HEAP32[$aMem>>2]|0; + $1283 = (($1282) + (($1281*40)|0)|0); + HEAP32[$pOut>>2] = $1283; + $1284 = HEAP32[$pIn1>>2]|0; + $1285 = ((($1284)) + 8|0); + $1286 = HEAP16[$1285>>1]|0; + $1287 = $1286&65535; + $1288 = HEAP32[$pIn2>>2]|0; + $1289 = ((($1288)) + 8|0); + $1290 = HEAP16[$1289>>1]|0; + $1291 = $1290&65535; + $1292 = $1287 | $1291; + $1293 = $1292 & 1; + $1294 = ($1293|0)!=(0); + if ($1294) { + $1295 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($1295); break L21; } - break; - } - case 71: case 72: { - $1885 = HEAP32[$pOp>>2]|0; - $1886 = (($1885) + 4|0); - $1887 = HEAP32[$1886>>2]|0; - $1888 = HEAP32[$aMem>>2]|0; - $1889 = (($1888) + (($1887*40)|0)|0); - HEAP32[$pIn1>>2] = $1889; - $1890 = HEAP32[$pIn1>>2]|0; - $1891 = (($1890) + 8|0); - $1892 = HEAP16[$1891>>1]|0; - $1893 = $1892&65535; - $1894 = $1893 & 1; - $1895 = ($1894|0)!=(0); - if ($1895) { - HEAP32[$v1>>2] = 2; - } else { - $1896 = HEAP32[$pIn1>>2]|0; - $1897 = (_sqlite3VdbeIntValue($1896)|0); - $1898 = tempRet0; - $1899 = ($1897|0)!=(0); - $1900 = ($1898|0)!=(0); - $1901 = $1899 | $1900; - $1902 = $1901&1; - HEAP32[$v1>>2] = $1902; - } - $1903 = HEAP32[$pOp>>2]|0; - $1904 = (($1903) + 8|0); - $1905 = HEAP32[$1904>>2]|0; - $1906 = HEAP32[$aMem>>2]|0; - $1907 = (($1906) + (($1905*40)|0)|0); - HEAP32[$pIn2>>2] = $1907; - $1908 = HEAP32[$pIn2>>2]|0; - $1909 = (($1908) + 8|0); - $1910 = HEAP16[$1909>>1]|0; - $1911 = $1910&65535; - $1912 = $1911 & 1; - $1913 = ($1912|0)!=(0); - if ($1913) { - HEAP32[$v2>>2] = 2; - } else { - $1914 = HEAP32[$pIn2>>2]|0; - $1915 = (_sqlite3VdbeIntValue($1914)|0); - $1916 = tempRet0; - $1917 = ($1915|0)!=(0); - $1918 = ($1916|0)!=(0); - $1919 = $1917 | $1918; - $1920 = $1919&1; - HEAP32[$v2>>2] = $1920; - } - $1921 = HEAP32[$pOp>>2]|0; - $1922 = HEAP8[$1921>>0]|0; - $1923 = $1922&255; - $1924 = ($1923|0)==(72); - $1925 = HEAP32[$v1>>2]|0; - $1926 = ($1925*3)|0; - $1927 = HEAP32[$v2>>2]|0; - $1928 = (($1926) + ($1927))|0; - if ($1924) { - $1929 = (31408 + ($1928)|0); - $1930 = HEAP8[$1929>>0]|0; - $1931 = $1930&255; - HEAP32[$v1>>2] = $1931; - } else { - $1932 = (31424 + ($1928)|0); - $1933 = HEAP8[$1932>>0]|0; - $1934 = $1933&255; - HEAP32[$v1>>2] = $1934; - } - $1935 = HEAP32[$pOp>>2]|0; - $1936 = (($1935) + 12|0); - $1937 = HEAP32[$1936>>2]|0; - $1938 = HEAP32[$aMem>>2]|0; - $1939 = (($1938) + (($1937*40)|0)|0); - HEAP32[$pOut>>2] = $1939; - $1940 = HEAP32[$v1>>2]|0; - $1941 = ($1940|0)==(2); - if ($1941) { - $1942 = HEAP32[$pOut>>2]|0; - $1943 = (($1942) + 8|0); + $1296 = HEAP32[$pIn2>>2]|0; + $1297 = (_sqlite3VdbeIntValue($1296)|0); + $1298 = tempRet0; + $1299 = $iA4; + $1300 = $1299; + HEAP32[$1300>>2] = $1297; + $1301 = (($1299) + 4)|0; + $1302 = $1301; + HEAP32[$1302>>2] = $1298; + $1303 = HEAP32[$pIn1>>2]|0; + $1304 = (_sqlite3VdbeIntValue($1303)|0); + $1305 = tempRet0; + $1306 = $iB5; + $1307 = $1306; + HEAP32[$1307>>2] = $1304; + $1308 = (($1306) + 4)|0; + $1309 = $1308; + HEAP32[$1309>>2] = $1305; + $1310 = HEAP32[$pOp>>2]|0; + $1311 = HEAP8[$1310>>0]|0; + HEAP8[$op>>0] = $1311; + $1312 = HEAP8[$op>>0]|0; + $1313 = $1312&255; + $1314 = ($1313|0)==(85); + do { + if ($1314) { + $1315 = $iB5; + $1316 = $1315; + $1317 = HEAP32[$1316>>2]|0; + $1318 = (($1315) + 4)|0; + $1319 = $1318; + $1320 = HEAP32[$1319>>2]|0; + $1321 = $iA4; + $1322 = $1321; + $1323 = HEAP32[$1322>>2]|0; + $1324 = (($1321) + 4)|0; + $1325 = $1324; + $1326 = HEAP32[$1325>>2]|0; + $1327 = $1323 & $1317; + $1328 = $1326 & $1320; + $1329 = $iA4; + $1330 = $1329; + HEAP32[$1330>>2] = $1327; + $1331 = (($1329) + 4)|0; + $1332 = $1331; + HEAP32[$1332>>2] = $1328; + } else { + $1333 = HEAP8[$op>>0]|0; + $1334 = $1333&255; + $1335 = ($1334|0)==(86); + $1336 = $iB5; + $1337 = $1336; + $1338 = HEAP32[$1337>>2]|0; + $1339 = (($1336) + 4)|0; + $1340 = $1339; + $1341 = HEAP32[$1340>>2]|0; + if ($1335) { + $1342 = $iA4; + $1343 = $1342; + $1344 = HEAP32[$1343>>2]|0; + $1345 = (($1342) + 4)|0; + $1346 = $1345; + $1347 = HEAP32[$1346>>2]|0; + $1348 = $1344 | $1338; + $1349 = $1347 | $1341; + $1350 = $iA4; + $1351 = $1350; + HEAP32[$1351>>2] = $1348; + $1352 = (($1350) + 4)|0; + $1353 = $1352; + HEAP32[$1353>>2] = $1349; + break; + } + $1354 = ($1338|0)!=(0); + $1355 = ($1341|0)!=(0); + $1356 = $1354 | $1355; + if ($1356) { + $1357 = $iB5; + $1358 = $1357; + $1359 = HEAP32[$1358>>2]|0; + $1360 = (($1357) + 4)|0; + $1361 = $1360; + $1362 = HEAP32[$1361>>2]|0; + $1363 = ($1362|0)<(0); + if ($1363) { + $1364 = HEAP8[$op>>0]|0; + $1365 = $1364&255; + $1366 = (175 - ($1365))|0; + $1367 = $1366&255; + HEAP8[$op>>0] = $1367; + $1368 = $iB5; + $1369 = $1368; + $1370 = HEAP32[$1369>>2]|0; + $1371 = (($1368) + 4)|0; + $1372 = $1371; + $1373 = HEAP32[$1372>>2]|0; + $1374 = ($1373|0)>(-1); + $1375 = ($1370>>>0)>(4294967232); + $1376 = ($1373|0)==(-1); + $1377 = $1376 & $1375; + $1378 = $1374 | $1377; + $1379 = $iB5; + $1380 = $1379; + $1381 = HEAP32[$1380>>2]|0; + $1382 = (($1379) + 4)|0; + $1383 = $1382; + $1384 = HEAP32[$1383>>2]|0; + $1385 = (_i64Subtract(0,0,($1381|0),($1384|0))|0); + $1386 = tempRet0; + $1387 = $1378 ? $1385 : 64; + $1388 = $1378 ? $1386 : 0; + $1389 = $iB5; + $1390 = $1389; + HEAP32[$1390>>2] = $1387; + $1391 = (($1389) + 4)|0; + $1392 = $1391; + HEAP32[$1392>>2] = $1388; + } + $1393 = $iB5; + $1394 = $1393; + $1395 = HEAP32[$1394>>2]|0; + $1396 = (($1393) + 4)|0; + $1397 = $1396; + $1398 = HEAP32[$1397>>2]|0; + $1399 = ($1398|0)>(0); + $1400 = ($1395>>>0)>=(64); + $1401 = ($1398|0)==(0); + $1402 = $1401 & $1400; + $1403 = $1399 | $1402; + if ($1403) { + $1404 = $iA4; + $1405 = $1404; + $1406 = HEAP32[$1405>>2]|0; + $1407 = (($1404) + 4)|0; + $1408 = $1407; + $1409 = HEAP32[$1408>>2]|0; + $1410 = ($1409|0)>(0); + $1411 = ($1406>>>0)>=(0); + $1412 = ($1409|0)==(0); + $1413 = $1412 & $1411; + $1414 = $1410 | $1413; + if ($1414) { + $1419 = 1; + } else { + $1415 = HEAP8[$op>>0]|0; + $1416 = $1415&255; + $1417 = ($1416|0)==(87); + $1419 = $1417; + } + $1418 = $1419 ? 0 : -1; + $1420 = ($1418|0)<(0); + $1421 = $1420 << 31 >> 31; + $1422 = $iA4; + $1423 = $1422; + HEAP32[$1423>>2] = $1418; + $1424 = (($1422) + 4)|0; + $1425 = $1424; + HEAP32[$1425>>2] = $1421; + break; + } + ;HEAP32[$uA>>2]=HEAP32[$iA4>>2]|0;HEAP32[$uA+4>>2]=HEAP32[$iA4+4>>2]|0; + $1426 = HEAP8[$op>>0]|0; + $1427 = $1426&255; + $1428 = ($1427|0)==(87); + $1429 = $iB5; + $1430 = $1429; + $1431 = HEAP32[$1430>>2]|0; + $1432 = (($1429) + 4)|0; + $1433 = $1432; + $1434 = HEAP32[$1433>>2]|0; + $1435 = $uA; + $1436 = $1435; + $1437 = HEAP32[$1436>>2]|0; + $1438 = (($1435) + 4)|0; + $1439 = $1438; + $1440 = HEAP32[$1439>>2]|0; + if ($1428) { + $1441 = (_bitshift64Shl(($1437|0),($1440|0),($1431|0))|0); + $1442 = tempRet0; + $1443 = $uA; + $1444 = $1443; + HEAP32[$1444>>2] = $1441; + $1445 = (($1443) + 4)|0; + $1446 = $1445; + HEAP32[$1446>>2] = $1442; + } else { + $1447 = (_bitshift64Lshr(($1437|0),($1440|0),($1431|0))|0); + $1448 = tempRet0; + $1449 = $uA; + $1450 = $1449; + HEAP32[$1450>>2] = $1447; + $1451 = (($1449) + 4)|0; + $1452 = $1451; + HEAP32[$1452>>2] = $1448; + $1453 = $iA4; + $1454 = $1453; + $1455 = HEAP32[$1454>>2]|0; + $1456 = (($1453) + 4)|0; + $1457 = $1456; + $1458 = HEAP32[$1457>>2]|0; + $1459 = ($1458|0)<(0); + if ($1459) { + $1460 = $iB5; + $1461 = $1460; + $1462 = HEAP32[$1461>>2]|0; + $1463 = (($1460) + 4)|0; + $1464 = $1463; + $1465 = HEAP32[$1464>>2]|0; + $1466 = (_i64Subtract(64,0,($1462|0),($1465|0))|0); + $1467 = tempRet0; + $1468 = (_bitshift64Shl(-1,-1,($1466|0))|0); + $1469 = tempRet0; + $1470 = $uA; + $1471 = $1470; + $1472 = HEAP32[$1471>>2]|0; + $1473 = (($1470) + 4)|0; + $1474 = $1473; + $1475 = HEAP32[$1474>>2]|0; + $1476 = $1472 | $1468; + $1477 = $1475 | $1469; + $1478 = $uA; + $1479 = $1478; + HEAP32[$1479>>2] = $1476; + $1480 = (($1478) + 4)|0; + $1481 = $1480; + HEAP32[$1481>>2] = $1477; + } + } + ;HEAP32[$iA4>>2]=HEAP32[$uA>>2]|0;HEAP32[$iA4+4>>2]=HEAP32[$uA+4>>2]|0; + } + } + } while(0); + $1482 = $iA4; + $1483 = $1482; + $1484 = HEAP32[$1483>>2]|0; + $1485 = (($1482) + 4)|0; + $1486 = $1485; + $1487 = HEAP32[$1486>>2]|0; + $1488 = HEAP32[$pOut>>2]|0; + $1489 = $1488; + $1490 = $1489; + HEAP32[$1490>>2] = $1484; + $1491 = (($1489) + 4)|0; + $1492 = $1491; + HEAP32[$1492>>2] = $1487; + $1493 = HEAP32[$pOut>>2]|0; + $1494 = ((($1493)) + 8|0); + $1495 = HEAP16[$1494>>1]|0; + $1496 = $1495&65535; + $1497 = $1496 & -16896; + $1498 = $1497 | 4; + $1499 = $1498&65535; + $1500 = HEAP32[$pOut>>2]|0; + $1501 = ((($1500)) + 8|0); + HEAP16[$1501>>1] = $1499; + break; + } + case 37: { + $1502 = HEAP32[$pOp>>2]|0; + $1503 = ((($1502)) + 4|0); + $1504 = HEAP32[$1503>>2]|0; + $1505 = HEAP32[$aMem>>2]|0; + $1506 = (($1505) + (($1504*40)|0)|0); + HEAP32[$pIn1>>2] = $1506; + $1507 = HEAP32[$pIn1>>2]|0; + (_sqlite3VdbeMemIntegerify($1507)|0); + $1508 = HEAP32[$pOp>>2]|0; + $1509 = ((($1508)) + 8|0); + $1510 = HEAP32[$1509>>2]|0; + $1511 = ($1510|0)<(0); + $1512 = $1511 << 31 >> 31; + $1513 = HEAP32[$pIn1>>2]|0; + $1514 = $1513; + $1515 = $1514; + $1516 = HEAP32[$1515>>2]|0; + $1517 = (($1514) + 4)|0; + $1518 = $1517; + $1519 = HEAP32[$1518>>2]|0; + $1520 = (_i64Add(($1516|0),($1519|0),($1510|0),($1512|0))|0); + $1521 = tempRet0; + $1522 = $1513; + $1523 = $1522; + HEAP32[$1523>>2] = $1520; + $1524 = (($1522) + 4)|0; + $1525 = $1524; + HEAP32[$1525>>2] = $1521; + break; + } + case 38: { + $1526 = HEAP32[$pOp>>2]|0; + $1527 = ((($1526)) + 4|0); + $1528 = HEAP32[$1527>>2]|0; + $1529 = HEAP32[$aMem>>2]|0; + $1530 = (($1529) + (($1528*40)|0)|0); + HEAP32[$pIn1>>2] = $1530; + $1531 = HEAP32[$pIn1>>2]|0; + $1532 = ((($1531)) + 8|0); + $1533 = HEAP16[$1532>>1]|0; + $1534 = $1533&65535; + $1535 = $1534 & 4; + $1536 = ($1535|0)==(0); + if ($1536) { + $1537 = HEAP32[$pIn1>>2]|0; + $1538 = HEAP8[$encoding>>0]|0; + _applyAffinity($1537,67,$1538); + $1539 = HEAP32[$pIn1>>2]|0; + $1540 = ((($1539)) + 8|0); + $1541 = HEAP16[$1540>>1]|0; + $1542 = $1541&65535; + $1543 = $1542 & 4; + $1544 = ($1543|0)==(0); + if ($1544) { + $1545 = HEAP32[$pOp>>2]|0; + $1546 = ((($1545)) + 8|0); + $1547 = HEAP32[$1546>>2]|0; + $1548 = ($1547|0)==(0); + if ($1548) { + label = 165; + break L11; + } + $1549 = HEAP32[$pOp>>2]|0; + $1550 = ((($1549)) + 8|0); + $1551 = HEAP32[$1550>>2]|0; + $1552 = (($1551) - 1)|0; + HEAP32[$pc>>2] = $1552; + break L21; + } + } + $1553 = HEAP32[$pIn1>>2]|0; + $1554 = ((($1553)) + 8|0); + $1555 = HEAP16[$1554>>1]|0; + $1556 = $1555&65535; + $1557 = $1556 & -16896; + $1558 = $1557 | 4; + $1559 = $1558&65535; + $1560 = HEAP32[$pIn1>>2]|0; + $1561 = ((($1560)) + 8|0); + HEAP16[$1561>>1] = $1559; + break; + } + case 39: { + $1562 = HEAP32[$pOp>>2]|0; + $1563 = ((($1562)) + 4|0); + $1564 = HEAP32[$1563>>2]|0; + $1565 = HEAP32[$aMem>>2]|0; + $1566 = (($1565) + (($1564*40)|0)|0); + HEAP32[$pIn1>>2] = $1566; + $1567 = HEAP32[$pIn1>>2]|0; + $1568 = ((($1567)) + 8|0); + $1569 = HEAP16[$1568>>1]|0; + $1570 = $1569&65535; + $1571 = $1570 & 4; + $1572 = ($1571|0)!=(0); + if ($1572) { + $1573 = HEAP32[$pIn1>>2]|0; + (_sqlite3VdbeMemRealify($1573)|0); + } + break; + } + case 40: { + $1574 = HEAP32[$pOp>>2]|0; + $1575 = ((($1574)) + 4|0); + $1576 = HEAP32[$1575>>2]|0; + $1577 = HEAP32[$aMem>>2]|0; + $1578 = (($1577) + (($1576*40)|0)|0); + HEAP32[$pIn1>>2] = $1578; + $1579 = HEAP32[$pIn1>>2]|0; + $1580 = ((($1579)) + 8|0); + $1581 = HEAP16[$1580>>1]|0; + $1582 = $1581&65535; + $1583 = $1582 & 16384; + $1584 = ($1583|0)!=(0); + if ($1584) { + $1585 = HEAP32[$pIn1>>2]|0; + $1586 = (_sqlite3VdbeMemExpandBlob($1585)|0); + $1587 = $1586; + } else { + $1587 = 0; + } + HEAP32[$rc>>2] = $1587; + $1588 = HEAP32[$pIn1>>2]|0; + $1589 = HEAP32[$pOp>>2]|0; + $1590 = ((($1589)) + 8|0); + $1591 = HEAP32[$1590>>2]|0; + $1592 = $1591&255; + $1593 = HEAP8[$encoding>>0]|0; + _sqlite3VdbeMemCast($1588,$1592,$1593); + break; + } + case 83: case 80: case 81: case 82: case 78: case 79: { + $1594 = HEAP32[$pOp>>2]|0; + $1595 = ((($1594)) + 4|0); + $1596 = HEAP32[$1595>>2]|0; + $1597 = HEAP32[$aMem>>2]|0; + $1598 = (($1597) + (($1596*40)|0)|0); + HEAP32[$pIn1>>2] = $1598; + $1599 = HEAP32[$pOp>>2]|0; + $1600 = ((($1599)) + 12|0); + $1601 = HEAP32[$1600>>2]|0; + $1602 = HEAP32[$aMem>>2]|0; + $1603 = (($1602) + (($1601*40)|0)|0); + HEAP32[$pIn3>>2] = $1603; + $1604 = HEAP32[$pIn1>>2]|0; + $1605 = ((($1604)) + 8|0); + $1606 = HEAP16[$1605>>1]|0; + HEAP16[$flags1>>1] = $1606; + $1607 = HEAP32[$pIn3>>2]|0; + $1608 = ((($1607)) + 8|0); + $1609 = HEAP16[$1608>>1]|0; + HEAP16[$flags3>>1] = $1609; + $1610 = HEAP16[$flags1>>1]|0; + $1611 = $1610&65535; + $1612 = HEAP16[$flags3>>1]|0; + $1613 = $1612&65535; + $1614 = $1611 | $1613; + $1615 = $1614 & 1; + $1616 = ($1615|0)!=(0); + $1617 = HEAP32[$pOp>>2]|0; + $1618 = ((($1617)) + 3|0); + $1619 = HEAP8[$1618>>0]|0; + $1620 = $1619&255; + do { + if ($1616) { + $1621 = $1620 & 128; + $1622 = ($1621|0)!=(0); + if (!($1622)) { + $1635 = HEAP32[$pOp>>2]|0; + $1636 = ((($1635)) + 3|0); + $1637 = HEAP8[$1636>>0]|0; + $1638 = $1637&255; + $1639 = $1638 & 32; + $1640 = ($1639|0)!=(0); + $1641 = HEAP32[$pOp>>2]|0; + if ($1640) { + $1642 = ((($1641)) + 8|0); + $1643 = HEAP32[$1642>>2]|0; + $1644 = HEAP32[$aMem>>2]|0; + $1645 = (($1644) + (($1643*40)|0)|0); + HEAP32[$pOut>>2] = $1645; + $1646 = HEAP32[$pOut>>2]|0; + $1647 = ((($1646)) + 8|0); + $1648 = HEAP16[$1647>>1]|0; + $1649 = $1648&65535; + $1650 = $1649 & -16896; + $1651 = $1650 | 1; + $1652 = $1651&65535; + $1653 = HEAP32[$pOut>>2]|0; + $1654 = ((($1653)) + 8|0); + HEAP16[$1654>>1] = $1652; + break L21; + } + $1655 = ((($1641)) + 3|0); + $1656 = HEAP8[$1655>>0]|0; + $1657 = $1656&255; + $1658 = $1657 & 16; + $1659 = ($1658|0)!=(0); + if (!($1659)) { + break L21; + } + $1660 = HEAP32[$pOp>>2]|0; + $1661 = ((($1660)) + 8|0); + $1662 = HEAP32[$1661>>2]|0; + $1663 = (($1662) - 1)|0; + HEAP32[$pc>>2] = $1663; + break L21; + } + $1623 = HEAP16[$flags1>>1]|0; + $1624 = $1623&65535; + $1625 = $1624 & 1; + $1626 = ($1625|0)!=(0); + if ($1626) { + $1627 = HEAP16[$flags3>>1]|0; + $1628 = $1627&65535; + $1629 = $1628 & 1; + $1630 = ($1629|0)!=(0); + if ($1630) { + $1631 = HEAP16[$flags3>>1]|0; + $1632 = $1631&65535; + $1633 = $1632 & 256; + $1634 = ($1633|0)==(0); + if ($1634) { + HEAP32[$res>>2] = 0; + break; + } + } + } + HEAP32[$res>>2] = 1; + } else { + $1664 = $1620 & 71; + $1665 = $1664&255; + HEAP8[$affinity>>0] = $1665; + $1666 = HEAP8[$affinity>>0]|0; + $1667 = $1666 << 24 >> 24; + $1668 = ($1667|0)>=(67); + if ($1668) { + $1669 = HEAP32[$pIn1>>2]|0; + $1670 = ((($1669)) + 8|0); + $1671 = HEAP16[$1670>>1]|0; + $1672 = $1671&65535; + $1673 = $1672 & 14; + $1674 = ($1673|0)==(2); + if ($1674) { + $1675 = HEAP32[$pIn1>>2]|0; + _applyNumericAffinity($1675,0); + } + $1676 = HEAP32[$pIn3>>2]|0; + $1677 = ((($1676)) + 8|0); + $1678 = HEAP16[$1677>>1]|0; + $1679 = $1678&65535; + $1680 = $1679 & 14; + $1681 = ($1680|0)==(2); + if ($1681) { + $1682 = HEAP32[$pIn3>>2]|0; + _applyNumericAffinity($1682,0); + } + } else { + $1683 = HEAP8[$affinity>>0]|0; + $1684 = $1683 << 24 >> 24; + $1685 = ($1684|0)==(66); + if ($1685) { + $1686 = HEAP32[$pIn1>>2]|0; + $1687 = ((($1686)) + 8|0); + $1688 = HEAP16[$1687>>1]|0; + $1689 = $1688&65535; + $1690 = $1689 & 2; + $1691 = ($1690|0)==(0); + if ($1691) { + $1692 = HEAP32[$pIn1>>2]|0; + $1693 = ((($1692)) + 8|0); + $1694 = HEAP16[$1693>>1]|0; + $1695 = $1694&65535; + $1696 = $1695 & 12; + $1697 = ($1696|0)!=(0); + if ($1697) { + $1698 = HEAP32[$pIn1>>2]|0; + $1699 = HEAP8[$encoding>>0]|0; + (_sqlite3VdbeMemStringify($1698,$1699,1)|0); + } + } + $1700 = HEAP32[$pIn3>>2]|0; + $1701 = ((($1700)) + 8|0); + $1702 = HEAP16[$1701>>1]|0; + $1703 = $1702&65535; + $1704 = $1703 & 2; + $1705 = ($1704|0)==(0); + if ($1705) { + $1706 = HEAP32[$pIn3>>2]|0; + $1707 = ((($1706)) + 8|0); + $1708 = HEAP16[$1707>>1]|0; + $1709 = $1708&65535; + $1710 = $1709 & 12; + $1711 = ($1710|0)!=(0); + if ($1711) { + $1712 = HEAP32[$pIn3>>2]|0; + $1713 = HEAP8[$encoding>>0]|0; + (_sqlite3VdbeMemStringify($1712,$1713,1)|0); + } + } + } + } + $1714 = HEAP32[$pIn1>>2]|0; + $1715 = ((($1714)) + 8|0); + $1716 = HEAP16[$1715>>1]|0; + $1717 = $1716&65535; + $1718 = $1717 & 16384; + $1719 = ($1718|0)!=(0); + if ($1719) { + $1720 = HEAP32[$pIn1>>2]|0; + (_sqlite3VdbeMemExpandBlob($1720)|0); + $1721 = HEAP16[$flags1>>1]|0; + $1722 = $1721&65535; + $1723 = $1722 & -16385; + $1724 = $1723&65535; + HEAP16[$flags1>>1] = $1724; + } + $1725 = HEAP32[$pIn3>>2]|0; + $1726 = ((($1725)) + 8|0); + $1727 = HEAP16[$1726>>1]|0; + $1728 = $1727&65535; + $1729 = $1728 & 16384; + $1730 = ($1729|0)!=(0); + if ($1730) { + $1731 = HEAP32[$pIn3>>2]|0; + (_sqlite3VdbeMemExpandBlob($1731)|0); + $1732 = HEAP16[$flags3>>1]|0; + $1733 = $1732&65535; + $1734 = $1733 & -16385; + $1735 = $1734&65535; + HEAP16[$flags3>>1] = $1735; + } + $1736 = HEAP32[$db>>2]|0; + $1737 = ((($1736)) + 64|0); + $1738 = HEAP8[$1737>>0]|0; + $1739 = ($1738<<24>>24)!=(0); + if ($1739) { + label = 867; + break L1; + } + $1740 = HEAP32[$pIn3>>2]|0; + $1741 = HEAP32[$pIn1>>2]|0; + $1742 = HEAP32[$pOp>>2]|0; + $1743 = ((($1742)) + 16|0); + $1744 = HEAP32[$1743>>2]|0; + $1745 = (_sqlite3MemCompare($1740,$1741,$1744)|0); + HEAP32[$res>>2] = $1745; + } + } while(0); + $1746 = HEAP32[$pOp>>2]|0; + $1747 = HEAP8[$1746>>0]|0; + $1748 = $1747&255; + switch ($1748|0) { + case 79: { + $1749 = HEAP32[$res>>2]|0; + $1750 = ($1749|0)==(0); + $1751 = $1750&1; + HEAP32[$res>>2] = $1751; + break; + } + case 78: { + $1752 = HEAP32[$res>>2]|0; + $1753 = ($1752|0)!=(0); + $1754 = $1753&1; + HEAP32[$res>>2] = $1754; + break; + } + case 82: { + $1755 = HEAP32[$res>>2]|0; + $1756 = ($1755|0)<(0); + $1757 = $1756&1; + HEAP32[$res>>2] = $1757; + break; + } + case 81: { + $1758 = HEAP32[$res>>2]|0; + $1759 = ($1758|0)<=(0); + $1760 = $1759&1; + HEAP32[$res>>2] = $1760; + break; + } + case 80: { + $1761 = HEAP32[$res>>2]|0; + $1762 = ($1761|0)>(0); + $1763 = $1762&1; + HEAP32[$res>>2] = $1763; + break; + } + default: { + $1764 = HEAP32[$res>>2]|0; + $1765 = ($1764|0)>=(0); + $1766 = $1765&1; + HEAP32[$res>>2] = $1766; + } + } + $1767 = HEAP32[$pOp>>2]|0; + $1768 = ((($1767)) + 3|0); + $1769 = HEAP8[$1768>>0]|0; + $1770 = $1769&255; + $1771 = $1770 & 32; + $1772 = ($1771|0)!=(0); + if ($1772) { + $1773 = HEAP32[$pOp>>2]|0; + $1774 = ((($1773)) + 8|0); + $1775 = HEAP32[$1774>>2]|0; + $1776 = HEAP32[$aMem>>2]|0; + $1777 = (($1776) + (($1775*40)|0)|0); + HEAP32[$pOut>>2] = $1777; + $1778 = HEAP32[$pOut>>2]|0; + $1779 = ((($1778)) + 8|0); + $1780 = HEAP16[$1779>>1]|0; + $1781 = $1780&65535; + $1782 = $1781 & -16896; + $1783 = $1782 | 4; + $1784 = $1783&65535; + $1785 = HEAP32[$pOut>>2]|0; + $1786 = ((($1785)) + 8|0); + HEAP16[$1786>>1] = $1784; + $1787 = HEAP32[$res>>2]|0; + $1788 = ($1787|0)<(0); + $1789 = $1788 << 31 >> 31; + $1790 = HEAP32[$pOut>>2]|0; + $1791 = $1790; + $1792 = $1791; + HEAP32[$1792>>2] = $1787; + $1793 = (($1791) + 4)|0; + $1794 = $1793; + HEAP32[$1794>>2] = $1789; + } else { + $1795 = HEAP32[$res>>2]|0; + $1796 = ($1795|0)!=(0); + if ($1796) { + $1797 = HEAP32[$pOp>>2]|0; + $1798 = ((($1797)) + 8|0); + $1799 = HEAP32[$1798>>2]|0; + $1800 = (($1799) - 1)|0; + HEAP32[$pc>>2] = $1800; + } + } + $1801 = HEAP16[$flags1>>1]|0; + $1802 = HEAP32[$pIn1>>2]|0; + $1803 = ((($1802)) + 8|0); + HEAP16[$1803>>1] = $1801; + $1804 = HEAP16[$flags3>>1]|0; + $1805 = HEAP32[$pIn3>>2]|0; + $1806 = ((($1805)) + 8|0); + HEAP16[$1806>>1] = $1804; + break; + } + case 41: { + $1807 = HEAP32[$pOp>>2]|0; + $1808 = ((($1807)) + 16|0); + $1809 = HEAP32[$1808>>2]|0; + HEAP32[$aPermute>>2] = $1809; + break; + } + case 42: { + $1810 = HEAP32[$pOp>>2]|0; + $1811 = ((($1810)) + 3|0); + $1812 = HEAP8[$1811>>0]|0; + $1813 = $1812&255; + $1814 = $1813 & 1; + $1815 = ($1814|0)==(0); + if ($1815) { + HEAP32[$aPermute>>2] = 0; + } + $1816 = HEAP32[$pOp>>2]|0; + $1817 = ((($1816)) + 12|0); + $1818 = HEAP32[$1817>>2]|0; + HEAP32[$n6>>2] = $1818; + $1819 = HEAP32[$pOp>>2]|0; + $1820 = ((($1819)) + 16|0); + $1821 = HEAP32[$1820>>2]|0; + HEAP32[$pKeyInfo>>2] = $1821; + $1822 = HEAP32[$pOp>>2]|0; + $1823 = ((($1822)) + 4|0); + $1824 = HEAP32[$1823>>2]|0; + HEAP32[$p18>>2] = $1824; + $1825 = HEAP32[$pOp>>2]|0; + $1826 = ((($1825)) + 8|0); + $1827 = HEAP32[$1826>>2]|0; + HEAP32[$p29>>2] = $1827; + HEAP32[$i7>>2] = 0; + while(1) { + $1828 = HEAP32[$i7>>2]|0; + $1829 = HEAP32[$n6>>2]|0; + $1830 = ($1828|0)<($1829|0); + if (!($1830)) { + break; + } + $1831 = HEAP32[$aPermute>>2]|0; + $1832 = ($1831|0)!=(0|0); + $1833 = HEAP32[$i7>>2]|0; + if ($1832) { + $1834 = HEAP32[$aPermute>>2]|0; + $1835 = (($1834) + ($1833<<2)|0); + $1836 = HEAP32[$1835>>2]|0; + $1837 = $1836; + } else { + $1837 = $1833; + } + HEAP32[$idx>>2] = $1837; + $1838 = HEAP32[$i7>>2]|0; + $1839 = HEAP32[$pKeyInfo>>2]|0; + $1840 = ((($1839)) + 20|0); + $1841 = (($1840) + ($1838<<2)|0); + $1842 = HEAP32[$1841>>2]|0; + HEAP32[$pColl>>2] = $1842; + $1843 = HEAP32[$i7>>2]|0; + $1844 = HEAP32[$pKeyInfo>>2]|0; + $1845 = ((($1844)) + 16|0); + $1846 = HEAP32[$1845>>2]|0; + $1847 = (($1846) + ($1843)|0); + $1848 = HEAP8[$1847>>0]|0; + $1849 = $1848&255; + HEAP32[$bRev>>2] = $1849; + $1850 = HEAP32[$p18>>2]|0; + $1851 = HEAP32[$idx>>2]|0; + $1852 = (($1850) + ($1851))|0; + $1853 = HEAP32[$aMem>>2]|0; + $1854 = (($1853) + (($1852*40)|0)|0); + $1855 = HEAP32[$p29>>2]|0; + $1856 = HEAP32[$idx>>2]|0; + $1857 = (($1855) + ($1856))|0; + $1858 = HEAP32[$aMem>>2]|0; + $1859 = (($1858) + (($1857*40)|0)|0); + $1860 = HEAP32[$pColl>>2]|0; + $1861 = (_sqlite3MemCompare($1854,$1859,$1860)|0); + HEAP32[$iCompare>>2] = $1861; + $1862 = HEAP32[$iCompare>>2]|0; + $1863 = ($1862|0)!=(0); + if ($1863) { + label = 222; + break; + } + $1868 = HEAP32[$i7>>2]|0; + $1869 = (($1868) + 1)|0; + HEAP32[$i7>>2] = $1869; + } + if ((label|0) == 222) { + label = 0; + $1864 = HEAP32[$bRev>>2]|0; + $1865 = ($1864|0)!=(0); + if ($1865) { + $1866 = HEAP32[$iCompare>>2]|0; + $1867 = (0 - ($1866))|0; + HEAP32[$iCompare>>2] = $1867; + } + } + HEAP32[$aPermute>>2] = 0; + break; + } + case 43: { + $1870 = HEAP32[$iCompare>>2]|0; + $1871 = ($1870|0)<(0); + if ($1871) { + $1872 = HEAP32[$pOp>>2]|0; + $1873 = ((($1872)) + 4|0); + $1874 = HEAP32[$1873>>2]|0; + $1875 = (($1874) - 1)|0; + HEAP32[$pc>>2] = $1875; + break L21; + } + $1876 = HEAP32[$iCompare>>2]|0; + $1877 = ($1876|0)==(0); + $1878 = HEAP32[$pOp>>2]|0; + if ($1877) { + $1879 = ((($1878)) + 8|0); + $1880 = HEAP32[$1879>>2]|0; + $1881 = (($1880) - 1)|0; + HEAP32[$pc>>2] = $1881; + break L21; + } else { + $1882 = ((($1878)) + 12|0); + $1883 = HEAP32[$1882>>2]|0; + $1884 = (($1883) - 1)|0; + HEAP32[$pc>>2] = $1884; + break L21; + } + break; + } + case 71: case 72: { + $1885 = HEAP32[$pOp>>2]|0; + $1886 = ((($1885)) + 4|0); + $1887 = HEAP32[$1886>>2]|0; + $1888 = HEAP32[$aMem>>2]|0; + $1889 = (($1888) + (($1887*40)|0)|0); + HEAP32[$pIn1>>2] = $1889; + $1890 = HEAP32[$pIn1>>2]|0; + $1891 = ((($1890)) + 8|0); + $1892 = HEAP16[$1891>>1]|0; + $1893 = $1892&65535; + $1894 = $1893 & 1; + $1895 = ($1894|0)!=(0); + if ($1895) { + HEAP32[$v1>>2] = 2; + } else { + $1896 = HEAP32[$pIn1>>2]|0; + $1897 = (_sqlite3VdbeIntValue($1896)|0); + $1898 = tempRet0; + $1899 = ($1897|0)!=(0); + $1900 = ($1898|0)!=(0); + $1901 = $1899 | $1900; + $1902 = $1901&1; + HEAP32[$v1>>2] = $1902; + } + $1903 = HEAP32[$pOp>>2]|0; + $1904 = ((($1903)) + 8|0); + $1905 = HEAP32[$1904>>2]|0; + $1906 = HEAP32[$aMem>>2]|0; + $1907 = (($1906) + (($1905*40)|0)|0); + HEAP32[$pIn2>>2] = $1907; + $1908 = HEAP32[$pIn2>>2]|0; + $1909 = ((($1908)) + 8|0); + $1910 = HEAP16[$1909>>1]|0; + $1911 = $1910&65535; + $1912 = $1911 & 1; + $1913 = ($1912|0)!=(0); + if ($1913) { + HEAP32[$v2>>2] = 2; + } else { + $1914 = HEAP32[$pIn2>>2]|0; + $1915 = (_sqlite3VdbeIntValue($1914)|0); + $1916 = tempRet0; + $1917 = ($1915|0)!=(0); + $1918 = ($1916|0)!=(0); + $1919 = $1917 | $1918; + $1920 = $1919&1; + HEAP32[$v2>>2] = $1920; + } + $1921 = HEAP32[$pOp>>2]|0; + $1922 = HEAP8[$1921>>0]|0; + $1923 = $1922&255; + $1924 = ($1923|0)==(72); + $1925 = HEAP32[$v1>>2]|0; + $1926 = ($1925*3)|0; + $1927 = HEAP32[$v2>>2]|0; + $1928 = (($1926) + ($1927))|0; + if ($1924) { + $1929 = (31124 + ($1928)|0); + $1930 = HEAP8[$1929>>0]|0; + $1931 = $1930&255; + HEAP32[$v1>>2] = $1931; + } else { + $1932 = (31133 + ($1928)|0); + $1933 = HEAP8[$1932>>0]|0; + $1934 = $1933&255; + HEAP32[$v1>>2] = $1934; + } + $1935 = HEAP32[$pOp>>2]|0; + $1936 = ((($1935)) + 12|0); + $1937 = HEAP32[$1936>>2]|0; + $1938 = HEAP32[$aMem>>2]|0; + $1939 = (($1938) + (($1937*40)|0)|0); + HEAP32[$pOut>>2] = $1939; + $1940 = HEAP32[$v1>>2]|0; + $1941 = ($1940|0)==(2); + if ($1941) { + $1942 = HEAP32[$pOut>>2]|0; + $1943 = ((($1942)) + 8|0); $1944 = HEAP16[$1943>>1]|0; $1945 = $1944&65535; $1946 = $1945 & -16896; $1947 = $1946 | 1; $1948 = $1947&65535; $1949 = HEAP32[$pOut>>2]|0; - $1950 = (($1949) + 8|0); + $1950 = ((($1949)) + 8|0); HEAP16[$1950>>1] = $1948; break L21; } else { @@ -161009,14 +162391,14 @@ function _sqlite3VdbeExec($p) { $1958 = $1957; HEAP32[$1958>>2] = $1953; $1959 = HEAP32[$pOut>>2]|0; - $1960 = (($1959) + 8|0); + $1960 = ((($1959)) + 8|0); $1961 = HEAP16[$1960>>1]|0; $1962 = $1961&65535; $1963 = $1962 & -16896; $1964 = $1963 | 4; $1965 = $1964&65535; $1966 = HEAP32[$pOut>>2]|0; - $1967 = (($1966) + 8|0); + $1967 = ((($1966)) + 8|0); HEAP16[$1967>>1] = $1965; break L21; } @@ -161024,13 +162406,13 @@ function _sqlite3VdbeExec($p) { } case 19: { $1968 = HEAP32[$pOp>>2]|0; - $1969 = (($1968) + 4|0); + $1969 = ((($1968)) + 4|0); $1970 = HEAP32[$1969>>2]|0; $1971 = HEAP32[$aMem>>2]|0; $1972 = (($1971) + (($1970*40)|0)|0); HEAP32[$pIn1>>2] = $1972; $1973 = HEAP32[$pOp>>2]|0; - $1974 = (($1973) + 8|0); + $1974 = ((($1973)) + 8|0); $1975 = HEAP32[$1974>>2]|0; $1976 = HEAP32[$aMem>>2]|0; $1977 = (($1976) + (($1975*40)|0)|0); @@ -161038,14 +162420,14 @@ function _sqlite3VdbeExec($p) { $1978 = HEAP32[$pOut>>2]|0; _sqlite3VdbeMemSetNull($1978); $1979 = HEAP32[$pIn1>>2]|0; - $1980 = (($1979) + 8|0); + $1980 = ((($1979)) + 8|0); $1981 = HEAP16[$1980>>1]|0; $1982 = $1981&65535; $1983 = $1982 & 1; $1984 = ($1983|0)==(0); if ($1984) { $1985 = HEAP32[$pOut>>2]|0; - $1986 = (($1985) + 8|0); + $1986 = ((($1985)) + 8|0); HEAP16[$1986>>1] = 4; $1987 = HEAP32[$pIn1>>2]|0; $1988 = (_sqlite3VdbeIntValue($1987)|0); @@ -161069,13 +162451,13 @@ function _sqlite3VdbeExec($p) { } case 96: { $2002 = HEAP32[$pOp>>2]|0; - $2003 = (($2002) + 4|0); + $2003 = ((($2002)) + 4|0); $2004 = HEAP32[$2003>>2]|0; $2005 = HEAP32[$aMem>>2]|0; $2006 = (($2005) + (($2004*40)|0)|0); HEAP32[$pIn1>>2] = $2006; $2007 = HEAP32[$pOp>>2]|0; - $2008 = (($2007) + 8|0); + $2008 = ((($2007)) + 8|0); $2009 = HEAP32[$2008>>2]|0; $2010 = HEAP32[$aMem>>2]|0; $2011 = (($2010) + (($2009*40)|0)|0); @@ -161083,14 +162465,14 @@ function _sqlite3VdbeExec($p) { $2012 = HEAP32[$pOut>>2]|0; _sqlite3VdbeMemSetNull($2012); $2013 = HEAP32[$pIn1>>2]|0; - $2014 = (($2013) + 8|0); + $2014 = ((($2013)) + 8|0); $2015 = HEAP16[$2014>>1]|0; $2016 = $2015&65535; $2017 = $2016 & 1; $2018 = ($2017|0)==(0); if ($2018) { $2019 = HEAP32[$pOut>>2]|0; - $2020 = (($2019) + 8|0); + $2020 = ((($2019)) + 8|0); HEAP16[$2020>>1] = 4; $2021 = HEAP32[$pIn1>>2]|0; $2022 = (_sqlite3VdbeIntValue($2021)|0); @@ -161109,26 +162491,26 @@ function _sqlite3VdbeExec($p) { } case 44: { $2031 = HEAP32[$pOp>>2]|0; - $2032 = (($2031) + 4|0); + $2032 = ((($2031)) + 4|0); $2033 = HEAP32[$2032>>2]|0; $2034 = HEAP32[$0>>2]|0; - $2035 = (($2034) + 200|0); + $2035 = ((($2034)) + 200|0); $2036 = HEAP32[$2035>>2]|0; $2037 = (($2036) + ($2033)|0); $2038 = HEAP8[$2037>>0]|0; $2039 = ($2038<<24>>24)!=(0); $2040 = HEAP32[$pOp>>2]|0; if ($2039) { - $2041 = (($2040) + 8|0); + $2041 = ((($2040)) + 8|0); $2042 = HEAP32[$2041>>2]|0; $2043 = (($2042) - 1)|0; HEAP32[$pc>>2] = $2043; break L21; } else { - $2044 = (($2040) + 4|0); + $2044 = ((($2040)) + 4|0); $2045 = HEAP32[$2044>>2]|0; $2046 = HEAP32[$0>>2]|0; - $2047 = (($2046) + 200|0); + $2047 = ((($2046)) + 200|0); $2048 = HEAP32[$2047>>2]|0; $2049 = (($2048) + ($2045)|0); HEAP8[$2049>>0] = 1; @@ -161138,20 +162520,20 @@ function _sqlite3VdbeExec($p) { } case 46: case 45: { $2050 = HEAP32[$pOp>>2]|0; - $2051 = (($2050) + 4|0); + $2051 = ((($2050)) + 4|0); $2052 = HEAP32[$2051>>2]|0; $2053 = HEAP32[$aMem>>2]|0; $2054 = (($2053) + (($2052*40)|0)|0); HEAP32[$pIn1>>2] = $2054; $2055 = HEAP32[$pIn1>>2]|0; - $2056 = (($2055) + 8|0); + $2056 = ((($2055)) + 8|0); $2057 = HEAP16[$2056>>1]|0; $2058 = $2057&65535; $2059 = $2058 & 1; $2060 = ($2059|0)!=(0); if ($2060) { $2061 = HEAP32[$pOp>>2]|0; - $2062 = (($2061) + 12|0); + $2062 = ((($2061)) + 12|0); $2063 = HEAP32[$2062>>2]|0; HEAP32[$c>>2] = $2063; } else { @@ -161176,7 +162558,7 @@ function _sqlite3VdbeExec($p) { $2077 = ($2076|0)!=(0); if ($2077) { $2078 = HEAP32[$pOp>>2]|0; - $2079 = (($2078) + 8|0); + $2079 = ((($2078)) + 8|0); $2080 = HEAP32[$2079>>2]|0; $2081 = (($2080) - 1)|0; HEAP32[$pc>>2] = $2081; @@ -161185,20 +162567,20 @@ function _sqlite3VdbeExec($p) { } case 76: { $2082 = HEAP32[$pOp>>2]|0; - $2083 = (($2082) + 4|0); + $2083 = ((($2082)) + 4|0); $2084 = HEAP32[$2083>>2]|0; $2085 = HEAP32[$aMem>>2]|0; $2086 = (($2085) + (($2084*40)|0)|0); HEAP32[$pIn1>>2] = $2086; $2087 = HEAP32[$pIn1>>2]|0; - $2088 = (($2087) + 8|0); + $2088 = ((($2087)) + 8|0); $2089 = HEAP16[$2088>>1]|0; $2090 = $2089&65535; $2091 = $2090 & 1; $2092 = ($2091|0)!=(0); if ($2092) { $2093 = HEAP32[$pOp>>2]|0; - $2094 = (($2093) + 8|0); + $2094 = ((($2093)) + 8|0); $2095 = HEAP32[$2094>>2]|0; $2096 = (($2095) - 1)|0; HEAP32[$pc>>2] = $2096; @@ -161207,20 +162589,20 @@ function _sqlite3VdbeExec($p) { } case 77: { $2097 = HEAP32[$pOp>>2]|0; - $2098 = (($2097) + 4|0); + $2098 = ((($2097)) + 4|0); $2099 = HEAP32[$2098>>2]|0; $2100 = HEAP32[$aMem>>2]|0; $2101 = (($2100) + (($2099*40)|0)|0); HEAP32[$pIn1>>2] = $2101; $2102 = HEAP32[$pIn1>>2]|0; - $2103 = (($2102) + 8|0); + $2103 = ((($2102)) + 8|0); $2104 = HEAP16[$2103>>1]|0; $2105 = $2104&65535; $2106 = $2105 & 1; $2107 = ($2106|0)==(0); if ($2107) { $2108 = HEAP32[$pOp>>2]|0; - $2109 = (($2108) + 8|0); + $2109 = ((($2108)) + 8|0); $2110 = HEAP32[$2109>>2]|0; $2111 = (($2110) - 1)|0; HEAP32[$pc>>2] = $2111; @@ -161229,26 +162611,26 @@ function _sqlite3VdbeExec($p) { } case 47: { $2112 = HEAP32[$pOp>>2]|0; - $2113 = (($2112) + 8|0); + $2113 = ((($2112)) + 8|0); $2114 = HEAP32[$2113>>2]|0; HEAP32[$p210>>2] = $2114; $2115 = HEAP32[$pOp>>2]|0; - $2116 = (($2115) + 12|0); + $2116 = ((($2115)) + 12|0); $2117 = HEAP32[$2116>>2]|0; $2118 = HEAP32[$aMem>>2]|0; $2119 = (($2118) + (($2117*40)|0)|0); HEAP32[$pDest>>2] = $2119; $2120 = HEAP32[$pOp>>2]|0; - $2121 = (($2120) + 4|0); + $2121 = ((($2120)) + 4|0); $2122 = HEAP32[$2121>>2]|0; $2123 = HEAP32[$0>>2]|0; - $2124 = (($2123) + 56|0); + $2124 = ((($2123)) + 56|0); $2125 = HEAP32[$2124>>2]|0; $2126 = (($2125) + ($2122<<2)|0); $2127 = HEAP32[$2126>>2]|0; HEAP32[$pC>>2] = $2127; $2128 = HEAP32[$pC>>2]|0; - $2129 = (($2128) + 80|0); + $2129 = ((($2128)) + 80|0); $2130 = HEAP32[$2129>>2]|0; HEAP32[$aOffset>>2] = $2130; $2131 = HEAP32[$pC>>2]|0; @@ -161263,16 +162645,16 @@ function _sqlite3VdbeExec($p) { break L11; } $2137 = HEAP32[$pC>>2]|0; - $2138 = (($2137) + 60|0); + $2138 = ((($2137)) + 60|0); $2139 = HEAP32[$2138>>2]|0; $2140 = HEAP32[$0>>2]|0; - $2141 = (($2140) + 72|0); + $2141 = ((($2140)) + 72|0); $2142 = HEAP32[$2141>>2]|0; $2143 = ($2139|0)!=($2142|0); $2144 = HEAP32[$pC>>2]|0; - L293: do { + L290: do { if ($2143) { - $2145 = (($2144) + 25|0); + $2145 = ((($2144)) + 25|0); $2146 = HEAP8[$2145>>0]|0; $2147 = ($2146<<24>>24)!=(0); do { @@ -161281,36 +162663,36 @@ function _sqlite3VdbeExec($p) { $2149 = ($2148|0)==(0|0); if ($2149) { $2150 = HEAP32[$pC>>2]|0; - $2151 = (($2150) + 16|0); + $2151 = ((($2150)) + 16|0); $2152 = HEAP32[$2151>>2]|0; $2153 = HEAP32[$aMem>>2]|0; $2154 = (($2153) + (($2152*40)|0)|0); HEAP32[$pReg>>2] = $2154; $2155 = HEAP32[$pReg>>2]|0; - $2156 = (($2155) + 12|0); + $2156 = ((($2155)) + 12|0); $2157 = HEAP32[$2156>>2]|0; HEAP32[$avail>>2] = $2157; $2158 = HEAP32[$pC>>2]|0; - $2159 = (($2158) + 68|0); + $2159 = ((($2158)) + 68|0); HEAP32[$2159>>2] = $2157; $2160 = HEAP32[$pC>>2]|0; - $2161 = (($2160) + 64|0); + $2161 = ((($2160)) + 64|0); HEAP32[$2161>>2] = $2157; $2162 = HEAP32[$pReg>>2]|0; - $2163 = (($2162) + 16|0); + $2163 = ((($2162)) + 16|0); $2164 = HEAP32[$2163>>2]|0; $2165 = HEAP32[$pC>>2]|0; - $2166 = (($2165) + 76|0); + $2166 = ((($2165)) + 76|0); HEAP32[$2166>>2] = $2164; break; } else { $2167 = HEAP32[$pDest>>2]|0; _sqlite3VdbeMemSetNull($2167); - break L293; + break L290; } } else { $2168 = HEAP32[$pC>>2]|0; - $2169 = (($2168) + 27|0); + $2169 = ((($2168)) + 27|0); $2170 = HEAP8[$2169>>0]|0; $2171 = ($2170&255) >>> 2; $2172 = $2171 & 1; @@ -161322,7 +162704,7 @@ function _sqlite3VdbeExec($p) { $2176 = HEAP32[$pCrsr>>2]|0; $2177 = (_sqlite3BtreeKeyFetch($2176,$avail)|0); $2178 = HEAP32[$pC>>2]|0; - $2179 = (($2178) + 76|0); + $2179 = ((($2178)) + 76|0); HEAP32[$2179>>2] = $2177; $2180 = $payloadSize64; $2181 = $2180; @@ -161331,63 +162713,63 @@ function _sqlite3VdbeExec($p) { $2184 = $2183; $2185 = HEAP32[$2184>>2]|0; $2186 = HEAP32[$pC>>2]|0; - $2187 = (($2186) + 64|0); + $2187 = ((($2186)) + 64|0); HEAP32[$2187>>2] = $2182; } else { $2188 = HEAP32[$pC>>2]|0; - $2189 = (($2188) + 64|0); + $2189 = ((($2188)) + 64|0); (_sqlite3BtreeDataSize($2175,$2189)|0); $2190 = HEAP32[$pCrsr>>2]|0; $2191 = (_sqlite3BtreeDataFetch($2190,$avail)|0); $2192 = HEAP32[$pC>>2]|0; - $2193 = (($2192) + 76|0); + $2193 = ((($2192)) + 76|0); HEAP32[$2193>>2] = $2191; } $2194 = HEAP32[$pC>>2]|0; - $2195 = (($2194) + 64|0); + $2195 = ((($2194)) + 64|0); $2196 = HEAP32[$2195>>2]|0; $2197 = HEAP32[$avail>>2]|0; $2198 = ($2196>>>0)<=($2197>>>0); if ($2198) { $2199 = HEAP32[$pC>>2]|0; - $2200 = (($2199) + 64|0); + $2200 = ((($2199)) + 64|0); $2201 = HEAP32[$2200>>2]|0; $2202 = HEAP32[$pC>>2]|0; - $2203 = (($2202) + 68|0); + $2203 = ((($2202)) + 68|0); HEAP32[$2203>>2] = $2201; } else { $2204 = HEAP32[$avail>>2]|0; $2205 = HEAP32[$pC>>2]|0; - $2206 = (($2205) + 68|0); + $2206 = ((($2205)) + 68|0); HEAP32[$2206>>2] = $2204; } $2207 = HEAP32[$pC>>2]|0; - $2208 = (($2207) + 64|0); + $2208 = ((($2207)) + 64|0); $2209 = HEAP32[$2208>>2]|0; $2210 = HEAP32[$db>>2]|0; - $2211 = (($2210) + 88|0); + $2211 = ((($2210)) + 88|0); $2212 = HEAP32[$2211>>2]|0; $2213 = ($2209>>>0)>($2212>>>0); if ($2213) { - label = 870; + label = 866; break L11; } } } while(0); $2214 = HEAP32[$0>>2]|0; - $2215 = (($2214) + 72|0); + $2215 = ((($2214)) + 72|0); $2216 = HEAP32[$2215>>2]|0; $2217 = HEAP32[$pC>>2]|0; - $2218 = (($2217) + 60|0); + $2218 = ((($2217)) + 60|0); HEAP32[$2218>>2] = $2216; $2219 = HEAP32[$pC>>2]|0; - $2220 = (($2219) + 76|0); + $2220 = ((($2219)) + 76|0); $2221 = HEAP32[$2220>>2]|0; $2222 = HEAP8[$2221>>0]|0; $2223 = $2222&255; $2224 = ($2223|0)<(128); $2225 = HEAP32[$pC>>2]|0; - $2226 = (($2225) + 76|0); + $2226 = ((($2225)) + 76|0); $2227 = HEAP32[$2226>>2]|0; if ($2224) { $2228 = HEAP8[$2227>>0]|0; @@ -161402,10 +162784,10 @@ function _sqlite3VdbeExec($p) { $2232 = $2233&255; $2234 = $2232&255; $2235 = HEAP32[$pC>>2]|0; - $2236 = (($2235) + 72|0); + $2236 = ((($2235)) + 72|0); HEAP32[$2236>>2] = $2234; $2237 = HEAP32[$pC>>2]|0; - $2238 = (($2237) + 22|0); + $2238 = ((($2237)) + 22|0); HEAP16[$2238>>1] = 0; $2239 = HEAP32[$offset>>2]|0; $2240 = HEAP32[$aOffset>>2]|0; @@ -161415,7 +162797,7 @@ function _sqlite3VdbeExec($p) { if (!($2242)) { $2243 = HEAP32[$offset>>2]|0; $2244 = HEAP32[$pC>>2]|0; - $2245 = (($2244) + 64|0); + $2245 = ((($2244)) + 64|0); $2246 = HEAP32[$2245>>2]|0; $2247 = ($2243>>>0)>($2246>>>0); if (!($2247)) { @@ -161423,16 +162805,16 @@ function _sqlite3VdbeExec($p) { $2250 = HEAP32[$offset>>2]|0; $2251 = ($2249>>>0)<($2250>>>0); if (!($2251)) { - label = 284; + label = 282; break; } $2252 = HEAP32[$pC>>2]|0; - $2253 = (($2252) + 76|0); + $2253 = ((($2252)) + 76|0); HEAP32[$2253>>2] = 0; $2254 = HEAP32[$pC>>2]|0; - $2255 = (($2254) + 68|0); + $2255 = ((($2254)) + 68|0); HEAP32[$2255>>2] = 0; - label = 284; + label = 282; break; } } @@ -161440,23 +162822,23 @@ function _sqlite3VdbeExec($p) { HEAP32[$rc>>2] = $2248; break L21; } else { - $2256 = (($2144) + 22|0); + $2256 = ((($2144)) + 22|0); $2257 = HEAP16[$2256>>1]|0; $2258 = $2257&65535; $2259 = HEAP32[$p210>>2]|0; $2260 = ($2258|0)<=($2259|0); if ($2260) { - label = 284; + label = 282; } else { - label = 308; + label = 306; } } } while(0); do { - if ((label|0) == 284) { + if ((label|0) == 282) { label = 0; $2261 = HEAP32[$pC>>2]|0; - $2262 = (($2261) + 72|0); + $2262 = ((($2261)) + 72|0); $2263 = HEAP32[$2262>>2]|0; $2264 = HEAP32[$aOffset>>2]|0; $2265 = HEAP32[$2264>>2]|0; @@ -161464,16 +162846,16 @@ function _sqlite3VdbeExec($p) { do { if ($2266) { $2267 = HEAP32[$pC>>2]|0; - $2268 = (($2267) + 76|0); + $2268 = ((($2267)) + 76|0); $2269 = HEAP32[$2268>>2]|0; $2270 = ($2269|0)==(0|0); if ($2270) { - dest=$sMem+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$sMem; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $2271 = HEAP32[$pCrsr>>2]|0; $2272 = HEAP32[$aOffset>>2]|0; $2273 = HEAP32[$2272>>2]|0; $2274 = HEAP32[$pC>>2]|0; - $2275 = (($2274) + 27|0); + $2275 = ((($2274)) + 27|0); $2276 = HEAP8[$2275>>0]|0; $2277 = ($2276&255) >>> 2; $2278 = $2277 & 1; @@ -161488,17 +162870,17 @@ function _sqlite3VdbeExec($p) { if ($2285) { break L21; } - $2286 = (($sMem) + 16|0); + $2286 = ((($sMem)) + 16|0); $2287 = HEAP32[$2286>>2]|0; HEAP32[$zData>>2] = $2287; } else { $2288 = HEAP32[$pC>>2]|0; - $2289 = (($2288) + 76|0); + $2289 = ((($2288)) + 76|0); $2290 = HEAP32[$2289>>2]|0; HEAP32[$zData>>2] = $2290; } $2291 = HEAP32[$pC>>2]|0; - $2292 = (($2291) + 22|0); + $2292 = ((($2291)) + 22|0); $2293 = HEAP16[$2292>>1]|0; $2294 = $2293&65535; HEAP32[$i11>>2] = $2294; @@ -161509,7 +162891,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$offset>>2] = $2298; $2299 = HEAP32[$zData>>2]|0; $2300 = HEAP32[$pC>>2]|0; - $2301 = (($2300) + 72|0); + $2301 = ((($2300)) + 72|0); $2302 = HEAP32[$2301>>2]|0; $2303 = (($2299) + ($2302)|0); HEAP32[$zHdr>>2] = $2303; @@ -161529,7 +162911,7 @@ function _sqlite3VdbeExec($p) { $2314 = $2313&255; HEAP32[$t>>2] = $2314; $2315 = HEAP32[$zHdr>>2]|0; - $2316 = (($2315) + 1|0); + $2316 = ((($2315)) + 1|0); HEAP32[$zHdr>>2] = $2316; } else { $2317 = (_sqlite3GetVarint32($2312,$t)|0); @@ -161541,7 +162923,7 @@ function _sqlite3VdbeExec($p) { $2321 = HEAP32[$t>>2]|0; $2322 = HEAP32[$i11>>2]|0; $2323 = HEAP32[$pC>>2]|0; - $2324 = (($2323) + 84|0); + $2324 = ((($2323)) + 84|0); $2325 = (($2324) + ($2322<<2)|0); HEAP32[$2325>>2] = $2321; $2326 = HEAP32[$t>>2]|0; @@ -161555,7 +162937,7 @@ function _sqlite3VdbeExec($p) { $2332 = HEAP32[$szField>>2]|0; $2333 = ($2331>>>0)<($2332>>>0); if ($2333) { - label = 294; + label = 292; break; } $2336 = HEAP32[$i11>>2]|0; @@ -161579,16 +162961,16 @@ function _sqlite3VdbeExec($p) { break; } } - if ((label|0) == 294) { + if ((label|0) == 292) { label = 0; $2334 = HEAP32[$zEndHdr>>2]|0; - $2335 = (($2334) + 1|0); + $2335 = ((($2334)) + 1|0); HEAP32[$zHdr>>2] = $2335; } $2348 = HEAP32[$i11>>2]|0; $2349 = $2348&65535; $2350 = HEAP32[$pC>>2]|0; - $2351 = (($2350) + 22|0); + $2351 = ((($2350)) + 22|0); HEAP16[$2351>>1] = $2349; $2352 = HEAP32[$zHdr>>2]|0; $2353 = HEAP32[$zData>>2]|0; @@ -161596,15 +162978,15 @@ function _sqlite3VdbeExec($p) { $2355 = $2353; $2356 = (($2354) - ($2355))|0; $2357 = HEAP32[$pC>>2]|0; - $2358 = (($2357) + 72|0); + $2358 = ((($2357)) + 72|0); HEAP32[$2358>>2] = $2356; $2359 = HEAP32[$pC>>2]|0; - $2360 = (($2359) + 76|0); + $2360 = ((($2359)) + 76|0); $2361 = HEAP32[$2360>>2]|0; $2362 = ($2361|0)==(0|0); if ($2362) { _sqlite3VdbeMemRelease($sMem); - $2363 = (($sMem) + 8|0); + $2363 = ((($sMem)) + 8|0); HEAP16[$2363>>1] = 1; } $2364 = HEAP32[$zHdr>>2]|0; @@ -161617,21 +162999,21 @@ function _sqlite3VdbeExec($p) { if (!($2369)) { $2370 = HEAP32[$offset>>2]|0; $2371 = HEAP32[$pC>>2]|0; - $2372 = (($2371) + 64|0); + $2372 = ((($2371)) + 64|0); $2373 = HEAP32[$2372>>2]|0; $2374 = ($2370|0)!=($2373|0); if (!($2374)) { - label = 302; + label = 300; } } } else { - label = 302; + label = 300; } - if ((label|0) == 302) { + if ((label|0) == 300) { label = 0; $2375 = HEAP32[$offset>>2]|0; $2376 = HEAP32[$pC>>2]|0; - $2377 = (($2376) + 64|0); + $2377 = ((($2376)) + 64|0); $2378 = HEAP32[$2377>>2]|0; $2379 = ($2375>>>0)>($2378>>>0); if (!($2379)) { @@ -161644,21 +163026,21 @@ function _sqlite3VdbeExec($p) { } } while(0); $2381 = HEAP32[$pC>>2]|0; - $2382 = (($2381) + 22|0); + $2382 = ((($2381)) + 22|0); $2383 = HEAP16[$2382>>1]|0; $2384 = $2383&65535; $2385 = HEAP32[$p210>>2]|0; $2386 = ($2384|0)<=($2385|0); if ($2386) { $2387 = HEAP32[$pOp>>2]|0; - $2388 = (($2387) + 1|0); + $2388 = ((($2387)) + 1|0); $2389 = HEAP8[$2388>>0]|0; $2390 = $2389 << 24 >> 24; $2391 = ($2390|0)==(-8); $2392 = HEAP32[$pDest>>2]|0; if ($2391) { $2393 = HEAP32[$pOp>>2]|0; - $2394 = (($2393) + 16|0); + $2394 = ((($2393)) + 16|0); $2395 = HEAP32[$2394>>2]|0; _sqlite3VdbeMemShallowCopy($2392,$2395,2048); break; @@ -161667,14 +163049,14 @@ function _sqlite3VdbeExec($p) { break; } } else { - label = 308; + label = 306; } } } while(0); - if ((label|0) == 308) { + if ((label|0) == 306) { label = 0; $2396 = HEAP32[$pDest>>2]|0; - $2397 = (($2396) + 8|0); + $2397 = ((($2396)) + 8|0); $2398 = HEAP16[$2397>>1]|0; $2399 = $2398&65535; $2400 = $2399 & 9312; @@ -161685,12 +163067,12 @@ function _sqlite3VdbeExec($p) { } $2403 = HEAP32[$p210>>2]|0; $2404 = HEAP32[$pC>>2]|0; - $2405 = (($2404) + 84|0); + $2405 = ((($2404)) + 84|0); $2406 = (($2405) + ($2403<<2)|0); $2407 = HEAP32[$2406>>2]|0; HEAP32[$t>>2] = $2407; $2408 = HEAP32[$pC>>2]|0; - $2409 = (($2408) + 68|0); + $2409 = ((($2408)) + 68|0); $2410 = HEAP32[$2409>>2]|0; $2411 = HEAP32[$p210>>2]|0; $2412 = (($2411) + 1)|0; @@ -161701,7 +163083,7 @@ function _sqlite3VdbeExec($p) { do { if ($2416) { $2417 = HEAP32[$pC>>2]|0; - $2418 = (($2417) + 76|0); + $2418 = ((($2417)) + 76|0); $2419 = HEAP32[$2418>>2]|0; $2420 = HEAP32[$p210>>2]|0; $2421 = HEAP32[$aOffset>>2]|0; @@ -161713,7 +163095,7 @@ function _sqlite3VdbeExec($p) { (_sqlite3VdbeSerialGet($2424,$2425,$2426)|0); } else { $2427 = HEAP32[$pOp>>2]|0; - $2428 = (($2427) + 3|0); + $2428 = ((($2427)) + 3|0); $2429 = HEAP8[$2428>>0]|0; $2430 = $2429&255; $2431 = $2430 & 192; @@ -161731,19 +163113,19 @@ function _sqlite3VdbeExec($p) { } } $2438 = HEAP32[$pOp>>2]|0; - $2439 = (($2438) + 3|0); + $2439 = ((($2438)) + 3|0); $2440 = HEAP8[$2439>>0]|0; $2441 = $2440&255; $2442 = $2441 & 128; $2443 = ($2442|0)!=(0); if (!($2443)) { - label = 316; + label = 314; } } else { - label = 316; + label = 314; } } while(0); - if ((label|0) == 316) { + if ((label|0) == 314) { label = 0; $2444 = HEAP32[$t>>2]|0; $2445 = (_sqlite3VdbeSerialTypeLen($2444)|0); @@ -161757,7 +163139,7 @@ function _sqlite3VdbeExec($p) { $2456 = HEAP32[$2455>>2]|0; $2457 = HEAP32[$len>>2]|0; $2458 = HEAP32[$pC>>2]|0; - $2459 = (($2458) + 27|0); + $2459 = ((($2458)) + 27|0); $2460 = HEAP8[$2459>>0]|0; $2461 = ($2460&255) >>> 2; $2462 = $2461 & 1; @@ -161774,13 +163156,13 @@ function _sqlite3VdbeExec($p) { break L21; } $2471 = HEAP32[$pDest>>2]|0; - $2472 = (($2471) + 16|0); + $2472 = ((($2471)) + 16|0); $2473 = HEAP32[$2472>>2]|0; $2474 = HEAP32[$t>>2]|0; $2475 = HEAP32[$pDest>>2]|0; (_sqlite3VdbeSerialGet($2473,$2474,$2475)|0); $2476 = HEAP32[$pDest>>2]|0; - $2477 = (($2476) + 8|0); + $2477 = ((($2476)) + 8|0); $2478 = HEAP16[$2477>>1]|0; $2479 = $2478&65535; $2480 = $2479 & -4097; @@ -161791,46 +163173,42 @@ function _sqlite3VdbeExec($p) { } $2447 = HEAP32[$t>>2]|0; $2448 = ($2447>>>0)<=(13); - if ($2448) { - $2451 = $payloadSize64; - } else { - $2451 = 0; - } - $2449 = HEAP32[$t>>2]|0; - $2450 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet($2451,$2449,$2450)|0); + $2449 = $2448 ? $payloadSize64 : 0; + $2450 = HEAP32[$t>>2]|0; + $2451 = HEAP32[$pDest>>2]|0; + (_sqlite3VdbeSerialGet($2449,$2450,$2451)|0); } } while(0); $2482 = HEAP8[$encoding>>0]|0; $2483 = HEAP32[$pDest>>2]|0; - $2484 = (($2483) + 10|0); + $2484 = ((($2483)) + 10|0); HEAP8[$2484>>0] = $2482; } $2485 = HEAP32[$pDest>>2]|0; - $2486 = (($2485) + 8|0); + $2486 = ((($2485)) + 8|0); $2487 = HEAP16[$2486>>1]|0; $2488 = $2487&65535; $2489 = $2488 & 4096; $2490 = ($2489|0)!=(0); if ($2490) { $2491 = HEAP32[$pDest>>2]|0; - $2492 = (($2491) + 16|0); + $2492 = ((($2491)) + 16|0); $2493 = HEAP32[$2492>>2]|0; $2494 = ($2493|0)!=(0|0); if ($2494) { $2495 = HEAP32[$pDest>>2]|0; - $2496 = (($2495) + 8|0); + $2496 = ((($2495)) + 8|0); $2497 = HEAP16[$2496>>1]|0; $2498 = $2497&65535; $2499 = $2498 & 18; $2500 = $2499&65535; HEAP16[$fx>>1] = $2500; $2501 = HEAP32[$pDest>>2]|0; - $2502 = (($2501) + 16|0); + $2502 = ((($2501)) + 16|0); $2503 = HEAP32[$2502>>2]|0; HEAP32[$zData>>2] = $2503; $2504 = HEAP32[$pDest>>2]|0; - $2505 = (($2504) + 12|0); + $2505 = ((($2504)) + 12|0); $2506 = HEAP32[$2505>>2]|0; HEAP32[$len>>2] = $2506; $2507 = HEAP32[$pDest>>2]|0; @@ -161839,25 +163217,25 @@ function _sqlite3VdbeExec($p) { $2510 = (_sqlite3VdbeMemClearAndResize($2507,$2509)|0); $2511 = ($2510|0)!=(0); if ($2511) { - label = 871; + label = 867; break L1; } $2512 = HEAP32[$pDest>>2]|0; - $2513 = (($2512) + 16|0); + $2513 = ((($2512)) + 16|0); $2514 = HEAP32[$2513>>2]|0; $2515 = HEAP32[$zData>>2]|0; $2516 = HEAP32[$len>>2]|0; _memcpy(($2514|0),($2515|0),($2516|0))|0; $2517 = HEAP32[$len>>2]|0; $2518 = HEAP32[$pDest>>2]|0; - $2519 = (($2518) + 16|0); + $2519 = ((($2518)) + 16|0); $2520 = HEAP32[$2519>>2]|0; $2521 = (($2520) + ($2517)|0); HEAP8[$2521>>0] = 0; $2522 = HEAP32[$len>>2]|0; $2523 = (($2522) + 1)|0; $2524 = HEAP32[$pDest>>2]|0; - $2525 = (($2524) + 16|0); + $2525 = ((($2524)) + 16|0); $2526 = HEAP32[$2525>>2]|0; $2527 = (($2526) + ($2523)|0); HEAP8[$2527>>0] = 0; @@ -161866,7 +163244,7 @@ function _sqlite3VdbeExec($p) { $2530 = $2529 | 512; $2531 = $2530&65535; $2532 = HEAP32[$pDest>>2]|0; - $2533 = (($2532) + 8|0); + $2533 = ((($2532)) + 8|0); HEAP16[$2533>>1] = $2531; } } @@ -161874,18 +163252,18 @@ function _sqlite3VdbeExec($p) { } case 48: { $2534 = HEAP32[$pOp>>2]|0; - $2535 = (($2534) + 16|0); + $2535 = ((($2534)) + 16|0); $2536 = HEAP32[$2535>>2]|0; HEAP32[$zAffinity>>2] = $2536; $2537 = HEAP32[$pOp>>2]|0; - $2538 = (($2537) + 4|0); + $2538 = ((($2537)) + 4|0); $2539 = HEAP32[$2538>>2]|0; $2540 = HEAP32[$aMem>>2]|0; $2541 = (($2540) + (($2539*40)|0)|0); HEAP32[$pIn1>>2] = $2541; while(1) { $2542 = HEAP32[$zAffinity>>2]|0; - $2543 = (($2542) + 1|0); + $2543 = ((($2542)) + 1|0); HEAP32[$zAffinity>>2] = $2543; $2544 = HEAP8[$2542>>0]|0; HEAP8[$cAff>>0] = $2544; @@ -161899,7 +163277,7 @@ function _sqlite3VdbeExec($p) { $2549 = HEAP8[$encoding>>0]|0; _applyAffinity($2547,$2548,$2549); $2550 = HEAP32[$pIn1>>2]|0; - $2551 = (($2550) + 40|0); + $2551 = ((($2550)) + 40|0); HEAP32[$pIn1>>2] = $2551; } break; @@ -161914,11 +163292,11 @@ function _sqlite3VdbeExec($p) { HEAP32[$nHdr>>2] = 0; HEAP32[$nZero>>2] = 0; $2556 = HEAP32[$pOp>>2]|0; - $2557 = (($2556) + 4|0); + $2557 = ((($2556)) + 4|0); $2558 = HEAP32[$2557>>2]|0; HEAP32[$nField>>2] = $2558; $2559 = HEAP32[$pOp>>2]|0; - $2560 = (($2559) + 16|0); + $2560 = ((($2559)) + 16|0); $2561 = HEAP32[$2560>>2]|0; HEAP32[$zAffinity13>>2] = $2561; $2562 = HEAP32[$nField>>2]|0; @@ -161926,7 +163304,7 @@ function _sqlite3VdbeExec($p) { $2564 = (($2563) + (($2562*40)|0)|0); HEAP32[$pData0>>2] = $2564; $2565 = HEAP32[$pOp>>2]|0; - $2566 = (($2565) + 8|0); + $2566 = ((($2565)) + 8|0); $2567 = HEAP32[$2566>>2]|0; HEAP32[$nField>>2] = $2567; $2568 = HEAP32[$nField>>2]|0; @@ -161935,12 +163313,12 @@ function _sqlite3VdbeExec($p) { $2571 = (($2570) + (($2569*40)|0)|0); HEAP32[$pLast>>2] = $2571; $2572 = HEAP32[$0>>2]|0; - $2573 = (($2572) + 87|0); + $2573 = ((($2572)) + 87|0); $2574 = HEAP8[$2573>>0]|0; $2575 = $2574&255; HEAP32[$file_format>>2] = $2575; $2576 = HEAP32[$pOp>>2]|0; - $2577 = (($2576) + 12|0); + $2577 = ((($2576)) + 12|0); $2578 = HEAP32[$2577>>2]|0; $2579 = HEAP32[$aMem>>2]|0; $2580 = (($2579) + (($2578*40)|0)|0); @@ -161952,10 +163330,10 @@ function _sqlite3VdbeExec($p) { HEAP32[$pRec>>2] = $2583; while(1) { $2584 = HEAP32[$pRec>>2]|0; - $2585 = (($2584) + 40|0); + $2585 = ((($2584)) + 40|0); HEAP32[$pRec>>2] = $2585; $2586 = HEAP32[$zAffinity13>>2]|0; - $2587 = (($2586) + 1|0); + $2587 = ((($2586)) + 1|0); HEAP32[$zAffinity13>>2] = $2587; $2588 = HEAP8[$2586>>0]|0; $2589 = HEAP8[$encoding>>0]|0; @@ -161976,13 +163354,13 @@ function _sqlite3VdbeExec($p) { $2596 = (_sqlite3VdbeSerialType($2594,$2595)|0); HEAP32[$serial_type>>2] = $2596; $2597 = HEAP32[$pRec>>2]|0; - $2598 = (($2597) + 28|0); + $2598 = ((($2597)) + 28|0); HEAP32[$2598>>2] = $2596; $2599 = HEAP32[$serial_type>>2]|0; $2600 = (_sqlite3VdbeSerialTypeLen($2599)|0); HEAP32[$len15>>2] = $2600; $2601 = HEAP32[$pRec>>2]|0; - $2602 = (($2601) + 8|0); + $2602 = ((($2601)) + 8|0); $2603 = HEAP16[$2602>>1]|0; $2604 = $2603&65535; $2605 = $2604 & 16384; @@ -162046,7 +163424,7 @@ function _sqlite3VdbeExec($p) { $2644 = (($2643) + ($2645))|0; HEAP32[$nHdr>>2] = $2644; $2646 = HEAP32[$pRec>>2]|0; - $2647 = (($2646) + -40|0); + $2647 = ((($2646)) + -40|0); HEAP32[$pRec>>2] = $2647; $2648 = HEAP32[$pData0>>2]|0; $2649 = ($2647>>>0)>=($2648>>>0); @@ -162105,7 +163483,7 @@ function _sqlite3VdbeExec($p) { $2687 = $2686; $2688 = HEAP32[$2687>>2]|0; $2689 = HEAP32[$db>>2]|0; - $2690 = (($2689) + 88|0); + $2690 = ((($2689)) + 88|0); $2691 = HEAP32[$2690>>2]|0; $2692 = ($2691|0)<(0); $2693 = $2692 << 31 >> 31; @@ -162115,7 +163493,7 @@ function _sqlite3VdbeExec($p) { $2697 = $2696 & $2695; $2698 = $2694 | $2697; if ($2698) { - label = 870; + label = 866; break L11; } $2699 = HEAP32[$pOut>>2]|0; @@ -162128,11 +163506,11 @@ function _sqlite3VdbeExec($p) { $2706 = (_sqlite3VdbeMemClearAndResize($2699,$2702)|0); $2707 = ($2706|0)!=(0); if ($2707) { - label = 871; + label = 867; break L1; } $2708 = HEAP32[$pOut>>2]|0; - $2709 = (($2708) + 16|0); + $2709 = ((($2708)) + 16|0); $2710 = HEAP32[$2709>>2]|0; HEAP32[$zNewRecord>>2] = $2710; $2711 = HEAP32[$nHdr>>2]|0; @@ -162160,7 +163538,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$pRec>>2] = $2725; while(1) { $2726 = HEAP32[$pRec>>2]|0; - $2727 = (($2726) + 28|0); + $2727 = ((($2726)) + 28|0); $2728 = HEAP32[$2727>>2]|0; HEAP32[$serial_type>>2] = $2728; $2729 = HEAP32[$serial_type>>2]|0; @@ -162196,7 +163574,7 @@ function _sqlite3VdbeExec($p) { $2753 = (($2752) + ($2751))|0; HEAP32[$j>>2] = $2753; $2754 = HEAP32[$pRec>>2]|0; - $2755 = (($2754) + 40|0); + $2755 = ((($2754)) + 40|0); HEAP32[$pRec>>2] = $2755; $2756 = HEAP32[$pLast>>2]|0; $2757 = ($2755>>>0)<=($2756>>>0); @@ -162211,10 +163589,10 @@ function _sqlite3VdbeExec($p) { $2762 = $2761; $2763 = HEAP32[$2762>>2]|0; $2764 = HEAP32[$pOut>>2]|0; - $2765 = (($2764) + 12|0); + $2765 = ((($2764)) + 12|0); HEAP32[$2765>>2] = $2760; $2766 = HEAP32[$pOut>>2]|0; - $2767 = (($2766) + 8|0); + $2767 = ((($2766)) + 8|0); HEAP16[$2767>>1] = 16; $2768 = HEAP32[$nZero>>2]|0; $2769 = ($2768|0)!=(0); @@ -162223,7 +163601,7 @@ function _sqlite3VdbeExec($p) { $2771 = HEAP32[$pOut>>2]|0; HEAP32[$2771>>2] = $2770; $2772 = HEAP32[$pOut>>2]|0; - $2773 = (($2772) + 8|0); + $2773 = ((($2772)) + 8|0); $2774 = HEAP16[$2773>>1]|0; $2775 = $2774&65535; $2776 = $2775 | 16384; @@ -162231,16 +163609,16 @@ function _sqlite3VdbeExec($p) { HEAP16[$2773>>1] = $2777; } $2778 = HEAP32[$pOut>>2]|0; - $2779 = (($2778) + 10|0); + $2779 = ((($2778)) + 10|0); HEAP8[$2779>>0] = 1; break; } case 50: { $2780 = HEAP32[$pOp>>2]|0; - $2781 = (($2780) + 4|0); + $2781 = ((($2780)) + 4|0); $2782 = HEAP32[$2781>>2]|0; $2783 = HEAP32[$0>>2]|0; - $2784 = (($2783) + 56|0); + $2784 = ((($2783)) + 56|0); $2785 = HEAP32[$2784>>2]|0; $2786 = (($2785) + ($2782<<2)|0); $2787 = HEAP32[$2786>>2]|0; @@ -162272,25 +163650,25 @@ function _sqlite3VdbeExec($p) { } case 2: { $2806 = HEAP32[$pOp>>2]|0; - $2807 = (($2806) + 4|0); + $2807 = ((($2806)) + 4|0); $2808 = HEAP32[$2807>>2]|0; HEAP32[$p117>>2] = $2808; $2809 = HEAP32[$pOp>>2]|0; - $2810 = (($2809) + 16|0); + $2810 = ((($2809)) + 16|0); $2811 = HEAP32[$2810>>2]|0; HEAP32[$zName>>2] = $2811; $2812 = HEAP32[$p117>>2]|0; $2813 = ($2812|0)==(0); if ($2813) { $2814 = HEAP32[$db>>2]|0; - $2815 = (($2814) + 156|0); + $2815 = ((($2814)) + 156|0); $2816 = HEAP32[$2815>>2]|0; $2817 = ($2816|0)>(0); if ($2817) { $2818 = HEAP32[$0>>2]|0; - $2819 = (($2818) + 44|0); + $2819 = ((($2818)) + 44|0); $2820 = HEAP32[$db>>2]|0; - _sqlite3SetString($2819,$2820,31440,$vararg_buffer84); + _sqlite3SetString($2819,$2820,31142,$vararg_buffer44); HEAP32[$rc>>2] = 5; break L21; } @@ -162299,10 +163677,10 @@ function _sqlite3VdbeExec($p) { HEAP32[$nName>>2] = $2822; $2823 = HEAP32[$db>>2]|0; $2824 = HEAP32[$db>>2]|0; - $2825 = (($2824) + 500|0); + $2825 = ((($2824)) + 500|0); $2826 = HEAP32[$2825>>2]|0; $2827 = HEAP32[$db>>2]|0; - $2828 = (($2827) + 496|0); + $2828 = ((($2827)) + 496|0); $2829 = HEAP32[$2828>>2]|0; $2830 = (($2826) + ($2829))|0; $2831 = (_sqlite3VtabSavepoint($2823,0,$2830)|0); @@ -162324,7 +163702,7 @@ function _sqlite3VdbeExec($p) { break L21; } $2841 = HEAP32[$pNew>>2]|0; - $2842 = (($2841) + 32|0); + $2842 = ((($2841)) + 32|0); $2843 = HEAP32[$pNew>>2]|0; HEAP32[$2843>>2] = $2842; $2844 = HEAP32[$pNew>>2]|0; @@ -162334,34 +163712,34 @@ function _sqlite3VdbeExec($p) { $2848 = (($2847) + 1)|0; _memcpy(($2845|0),($2846|0),($2848|0))|0; $2849 = HEAP32[$db>>2]|0; - $2850 = (($2849) + 62|0); + $2850 = ((($2849)) + 62|0); $2851 = HEAP8[$2850>>0]|0; $2852 = ($2851<<24>>24)!=(0); $2853 = HEAP32[$db>>2]|0; if ($2852) { - $2854 = (($2853) + 62|0); + $2854 = ((($2853)) + 62|0); HEAP8[$2854>>0] = 0; $2855 = HEAP32[$db>>2]|0; - $2856 = (($2855) + 69|0); + $2856 = ((($2855)) + 69|0); HEAP8[$2856>>0] = 1; } else { - $2857 = (($2853) + 496|0); + $2857 = ((($2853)) + 496|0); $2858 = HEAP32[$2857>>2]|0; $2859 = (($2858) + 1)|0; HEAP32[$2857>>2] = $2859; } $2860 = HEAP32[$db>>2]|0; - $2861 = (($2860) + 488|0); + $2861 = ((($2860)) + 488|0); $2862 = HEAP32[$2861>>2]|0; $2863 = HEAP32[$pNew>>2]|0; - $2864 = (($2863) + 24|0); + $2864 = ((($2863)) + 24|0); HEAP32[$2864>>2] = $2862; $2865 = HEAP32[$pNew>>2]|0; $2866 = HEAP32[$db>>2]|0; - $2867 = (($2866) + 488|0); + $2867 = ((($2866)) + 488|0); HEAP32[$2867>>2] = $2865; $2868 = HEAP32[$db>>2]|0; - $2869 = (($2868) + 504|0); + $2869 = ((($2868)) + 504|0); $2870 = $2869; $2871 = $2870; $2872 = HEAP32[$2871>>2]|0; @@ -162369,7 +163747,7 @@ function _sqlite3VdbeExec($p) { $2874 = $2873; $2875 = HEAP32[$2874>>2]|0; $2876 = HEAP32[$pNew>>2]|0; - $2877 = (($2876) + 8|0); + $2877 = ((($2876)) + 8|0); $2878 = $2877; $2879 = $2878; HEAP32[$2879>>2] = $2872; @@ -162377,7 +163755,7 @@ function _sqlite3VdbeExec($p) { $2881 = $2880; HEAP32[$2881>>2] = $2875; $2882 = HEAP32[$db>>2]|0; - $2883 = (($2882) + 512|0); + $2883 = ((($2882)) + 512|0); $2884 = $2883; $2885 = $2884; $2886 = HEAP32[$2885>>2]|0; @@ -162385,7 +163763,7 @@ function _sqlite3VdbeExec($p) { $2888 = $2887; $2889 = HEAP32[$2888>>2]|0; $2890 = HEAP32[$pNew>>2]|0; - $2891 = (($2890) + 16|0); + $2891 = ((($2890)) + 16|0); $2892 = $2891; $2893 = $2892; HEAP32[$2893>>2] = $2886; @@ -162396,7 +163774,7 @@ function _sqlite3VdbeExec($p) { } HEAP32[$iSavepoint>>2] = 0; $2896 = HEAP32[$db>>2]|0; - $2897 = (($2896) + 488|0); + $2897 = ((($2896)) + 488|0); $2898 = HEAP32[$2897>>2]|0; HEAP32[$pSavepoint>>2] = $2898; while(1) { @@ -162417,7 +163795,7 @@ function _sqlite3VdbeExec($p) { $2907 = (($2906) + 1)|0; HEAP32[$iSavepoint>>2] = $2907; $2908 = HEAP32[$pSavepoint>>2]|0; - $2909 = (($2908) + 24|0); + $2909 = ((($2908)) + 24|0); $2910 = HEAP32[$2909>>2]|0; HEAP32[$pSavepoint>>2] = $2910; } @@ -162425,36 +163803,36 @@ function _sqlite3VdbeExec($p) { $2912 = ($2911|0)!=(0|0); if (!($2912)) { $2913 = HEAP32[$0>>2]|0; - $2914 = (($2913) + 44|0); + $2914 = ((($2913)) + 44|0); $2915 = HEAP32[$db>>2]|0; $2916 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer84>>2] = $2916; - _sqlite3SetString($2914,$2915,31496,$vararg_buffer84); + HEAP32[$vararg_buffer46>>2] = $2916; + _sqlite3SetString($2914,$2915,31193,$vararg_buffer46); HEAP32[$rc>>2] = 1; break L21; } $2917 = HEAP32[$db>>2]|0; - $2918 = (($2917) + 156|0); + $2918 = ((($2917)) + 156|0); $2919 = HEAP32[$2918>>2]|0; $2920 = ($2919|0)>(0); $2921 = HEAP32[$p117>>2]|0; $2922 = ($2921|0)==(1); - $or$cond5 = $2920 & $2922; - if ($or$cond5) { + $or$cond6 = $2920 & $2922; + if ($or$cond6) { $2923 = HEAP32[$0>>2]|0; - $2924 = (($2923) + 44|0); + $2924 = ((($2923)) + 44|0); $2925 = HEAP32[$db>>2]|0; - _sqlite3SetString($2924,$2925,31520,$vararg_buffer84); + _sqlite3SetString($2924,$2925,31215,$vararg_buffer49); HEAP32[$rc>>2] = 5; break L21; } $2926 = HEAP32[$pSavepoint>>2]|0; - $2927 = (($2926) + 24|0); + $2927 = ((($2926)) + 24|0); $2928 = HEAP32[$2927>>2]|0; $2929 = ($2928|0)==(0|0); if ($2929) { $2930 = HEAP32[$db>>2]|0; - $2931 = (($2930) + 69|0); + $2931 = ((($2930)) + 69|0); $2932 = HEAP8[$2931>>0]|0; $2933 = $2932&255; $2934 = ($2933|0)!=(0); @@ -162468,36 +163846,36 @@ function _sqlite3VdbeExec($p) { $2938 = ($2937|0)!=(0); $2939 = HEAP32[$p117>>2]|0; $2940 = ($2939|0)==(1); - $or$cond7 = $2938 & $2940; - if ($or$cond7) { + $or$cond8 = $2938 & $2940; + if ($or$cond8) { $2941 = HEAP32[$0>>2]|0; $2942 = (_sqlite3VdbeCheckFk($2941,1)|0); HEAP32[$rc>>2] = $2942; $2943 = ($2942|0)!=(0); if ($2943) { - label = 869; + label = 865; break L11; } $2944 = HEAP32[$db>>2]|0; - $2945 = (($2944) + 62|0); + $2945 = ((($2944)) + 62|0); HEAP8[$2945>>0] = 1; $2946 = HEAP32[$0>>2]|0; $2947 = (_sqlite3VdbeHalt($2946)|0); $2948 = ($2947|0)==(5); if ($2948) { - label = 381; + label = 377; break L11; } $2956 = HEAP32[$db>>2]|0; - $2957 = (($2956) + 69|0); + $2957 = ((($2956)) + 69|0); HEAP8[$2957>>0] = 0; $2958 = HEAP32[$0>>2]|0; - $2959 = (($2958) + 80|0); + $2959 = ((($2958)) + 80|0); $2960 = HEAP32[$2959>>2]|0; HEAP32[$rc>>2] = $2960; } else { $2961 = HEAP32[$db>>2]|0; - $2962 = (($2961) + 496|0); + $2962 = ((($2961)) + 496|0); $2963 = HEAP32[$2962>>2]|0; $2964 = HEAP32[$iSavepoint>>2]|0; $2965 = (($2963) - ($2964))|0; @@ -162505,10 +163883,10 @@ function _sqlite3VdbeExec($p) { HEAP32[$iSavepoint>>2] = $2966; $2967 = HEAP32[$p117>>2]|0; $2968 = ($2967|0)==(2); - L456: do { + L450: do { if ($2968) { $2969 = HEAP32[$db>>2]|0; - $2970 = (($2969) + 24|0); + $2970 = ((($2969)) + 24|0); $2971 = HEAP32[$2970>>2]|0; $2972 = $2971 & 2; $2973 = ($2972|0)!=(0); @@ -162518,18 +163896,18 @@ function _sqlite3VdbeExec($p) { while(1) { $2975 = HEAP32[$ii>>2]|0; $2976 = HEAP32[$db>>2]|0; - $2977 = (($2976) + 20|0); + $2977 = ((($2976)) + 20|0); $2978 = HEAP32[$2977>>2]|0; $2979 = ($2975|0)<($2978|0); if (!($2979)) { - break L456; + break L450; } $2980 = HEAP32[$ii>>2]|0; $2981 = HEAP32[$db>>2]|0; - $2982 = (($2981) + 16|0); + $2982 = ((($2981)) + 16|0); $2983 = HEAP32[$2982>>2]|0; $2984 = (($2983) + ($2980<<4)|0); - $2985 = (($2984) + 4|0); + $2985 = ((($2984)) + 4|0); $2986 = HEAP32[$2985>>2]|0; $2987 = HEAP32[$isSchemaChange>>2]|0; $2988 = ($2987|0)==(0); @@ -162553,7 +163931,7 @@ function _sqlite3VdbeExec($p) { while(1) { $2995 = HEAP32[$ii>>2]|0; $2996 = HEAP32[$db>>2]|0; - $2997 = (($2996) + 20|0); + $2997 = ((($2996)) + 20|0); $2998 = HEAP32[$2997>>2]|0; $2999 = ($2995|0)<($2998|0); if (!($2999)) { @@ -162561,10 +163939,10 @@ function _sqlite3VdbeExec($p) { } $3000 = HEAP32[$ii>>2]|0; $3001 = HEAP32[$db>>2]|0; - $3002 = (($3001) + 16|0); + $3002 = ((($3001)) + 16|0); $3003 = HEAP32[$3002>>2]|0; $3004 = (($3003) + ($3000<<4)|0); - $3005 = (($3004) + 4|0); + $3005 = ((($3004)) + 4|0); $3006 = HEAP32[$3005>>2]|0; $3007 = HEAP32[$p117>>2]|0; $3008 = HEAP32[$iSavepoint>>2]|0; @@ -162587,17 +163965,17 @@ function _sqlite3VdbeExec($p) { $3017 = HEAP32[$db>>2]|0; _sqlite3ResetAllSchemasOfConnection($3017); $3018 = HEAP32[$db>>2]|0; - $3019 = (($3018) + 24|0); + $3019 = ((($3018)) + 24|0); $3020 = HEAP32[$3019>>2]|0; $3021 = $3020 | 2; $3022 = HEAP32[$db>>2]|0; - $3023 = (($3022) + 24|0); + $3023 = ((($3022)) + 24|0); HEAP32[$3023>>2] = $3021; } } while(1) { $3024 = HEAP32[$db>>2]|0; - $3025 = (($3024) + 488|0); + $3025 = ((($3024)) + 488|0); $3026 = HEAP32[$3025>>2]|0; $3027 = HEAP32[$pSavepoint>>2]|0; $3028 = ($3026|0)!=($3027|0); @@ -162605,20 +163983,20 @@ function _sqlite3VdbeExec($p) { break; } $3029 = HEAP32[$db>>2]|0; - $3030 = (($3029) + 488|0); + $3030 = ((($3029)) + 488|0); $3031 = HEAP32[$3030>>2]|0; HEAP32[$pTmp>>2] = $3031; $3032 = HEAP32[$pTmp>>2]|0; - $3033 = (($3032) + 24|0); + $3033 = ((($3032)) + 24|0); $3034 = HEAP32[$3033>>2]|0; $3035 = HEAP32[$db>>2]|0; - $3036 = (($3035) + 488|0); + $3036 = ((($3035)) + 488|0); HEAP32[$3036>>2] = $3034; $3037 = HEAP32[$db>>2]|0; $3038 = HEAP32[$pTmp>>2]|0; _sqlite3DbFree($3037,$3038); $3039 = HEAP32[$db>>2]|0; - $3040 = (($3039) + 496|0); + $3040 = ((($3039)) + 496|0); $3041 = HEAP32[$3040>>2]|0; $3042 = (($3041) + -1)|0; HEAP32[$3040>>2] = $3042; @@ -162627,10 +164005,10 @@ function _sqlite3VdbeExec($p) { $3044 = ($3043|0)==(1); $3045 = HEAP32[$pSavepoint>>2]|0; if ($3044) { - $3046 = (($3045) + 24|0); + $3046 = ((($3045)) + 24|0); $3047 = HEAP32[$3046>>2]|0; $3048 = HEAP32[$db>>2]|0; - $3049 = (($3048) + 488|0); + $3049 = ((($3048)) + 488|0); HEAP32[$3049>>2] = $3047; $3050 = HEAP32[$db>>2]|0; $3051 = HEAP32[$pSavepoint>>2]|0; @@ -162639,13 +164017,13 @@ function _sqlite3VdbeExec($p) { $3053 = ($3052|0)!=(0); if (!($3053)) { $3054 = HEAP32[$db>>2]|0; - $3055 = (($3054) + 496|0); + $3055 = ((($3054)) + 496|0); $3056 = HEAP32[$3055>>2]|0; $3057 = (($3056) + -1)|0; HEAP32[$3055>>2] = $3057; } } else { - $3058 = (($3045) + 8|0); + $3058 = ((($3045)) + 8|0); $3059 = $3058; $3060 = $3059; $3061 = HEAP32[$3060>>2]|0; @@ -162653,7 +164031,7 @@ function _sqlite3VdbeExec($p) { $3063 = $3062; $3064 = HEAP32[$3063>>2]|0; $3065 = HEAP32[$db>>2]|0; - $3066 = (($3065) + 504|0); + $3066 = ((($3065)) + 504|0); $3067 = $3066; $3068 = $3067; HEAP32[$3068>>2] = $3061; @@ -162661,7 +164039,7 @@ function _sqlite3VdbeExec($p) { $3070 = $3069; HEAP32[$3070>>2] = $3064; $3071 = HEAP32[$pSavepoint>>2]|0; - $3072 = (($3071) + 16|0); + $3072 = ((($3071)) + 16|0); $3073 = $3072; $3074 = $3073; $3075 = HEAP32[$3074>>2]|0; @@ -162669,7 +164047,7 @@ function _sqlite3VdbeExec($p) { $3077 = $3076; $3078 = HEAP32[$3077>>2]|0; $3079 = HEAP32[$db>>2]|0; - $3080 = (($3079) + 512|0); + $3080 = ((($3079)) + 512|0); $3081 = $3080; $3082 = $3081; HEAP32[$3082>>2] = $3075; @@ -162695,18 +164073,18 @@ function _sqlite3VdbeExec($p) { } case 3: { $3093 = HEAP32[$pOp>>2]|0; - $3094 = (($3093) + 4|0); + $3094 = ((($3093)) + 4|0); $3095 = HEAP32[$3094>>2]|0; HEAP32[$desiredAutoCommit>>2] = $3095; $3096 = HEAP32[$pOp>>2]|0; - $3097 = (($3096) + 8|0); + $3097 = ((($3096)) + 8|0); $3098 = HEAP32[$3097>>2]|0; HEAP32[$iRollback>>2] = $3098; $3099 = HEAP32[$desiredAutoCommit>>2]|0; $3100 = ($3099|0)!=(0); if ($3100) { $3101 = HEAP32[$db>>2]|0; - $3102 = (($3101) + 62|0); + $3102 = ((($3101)) + 62|0); $3103 = HEAP8[$3102>>0]|0; $3104 = ($3103<<24>>24)!=(0); $3105 = $3104 ^ 1; @@ -162720,72 +164098,72 @@ function _sqlite3VdbeExec($p) { $3109 = ($3108|0)==(0); $3110 = HEAP32[$iRollback>>2]|0; $3111 = ($3110|0)!=(0); - $or$cond9 = $3109 | $3111; - if (!($or$cond9)) { + $or$cond10 = $3109 | $3111; + if (!($or$cond10)) { $3112 = HEAP32[$db>>2]|0; - $3113 = (($3112) + 156|0); + $3113 = ((($3112)) + 156|0); $3114 = HEAP32[$3113>>2]|0; $3115 = ($3114|0)>(0); if ($3115) { $3116 = HEAP32[$0>>2]|0; - $3117 = (($3116) + 44|0); + $3117 = ((($3116)) + 44|0); $3118 = HEAP32[$db>>2]|0; - _sqlite3SetString($3117,$3118,31576,$vararg_buffer84); + _sqlite3SetString($3117,$3118,31269,$vararg_buffer51); HEAP32[$rc>>2] = 5; break L21; } } $3119 = HEAP32[$desiredAutoCommit>>2]|0; $3120 = HEAP32[$db>>2]|0; - $3121 = (($3120) + 62|0); + $3121 = ((($3120)) + 62|0); $3122 = HEAP8[$3121>>0]|0; $3123 = $3122&255; $3124 = ($3119|0)!=($3123|0); if ($3124) { - label = 409; + label = 405; break L11; } $3155 = HEAP32[$0>>2]|0; - $3156 = (($3155) + 44|0); + $3156 = ((($3155)) + 44|0); $3157 = HEAP32[$db>>2]|0; $3158 = HEAP32[$desiredAutoCommit>>2]|0; $3159 = ($3158|0)!=(0); if ($3159) { $3160 = HEAP32[$iRollback>>2]|0; $3161 = ($3160|0)!=(0); - $3162 = $3161 ? 31680 : 31728; + $3162 = $3161 ? 31324 : 31367; $3163 = $3162; } else { - $3163 = 31632; + $3163 = 31408; } - _sqlite3SetString($3156,$3157,$3163,$vararg_buffer84); + _sqlite3SetString($3156,$3157,$3163,$vararg_buffer53); HEAP32[$rc>>2] = 1; break; } case 4: { $3164 = HEAP32[$pOp>>2]|0; - $3165 = (($3164) + 8|0); + $3165 = ((($3164)) + 8|0); $3166 = HEAP32[$3165>>2]|0; $3167 = ($3166|0)!=(0); if ($3167) { $3168 = HEAP32[$db>>2]|0; - $3169 = (($3168) + 24|0); + $3169 = ((($3168)) + 24|0); $3170 = HEAP32[$3169>>2]|0; $3171 = $3170 & 33554432; $3172 = ($3171|0)!=(0); if ($3172) { - label = 422; + label = 418; break L11; } } $3173 = HEAP32[$pOp>>2]|0; - $3174 = (($3173) + 4|0); + $3174 = ((($3173)) + 4|0); $3175 = HEAP32[$3174>>2]|0; $3176 = HEAP32[$db>>2]|0; - $3177 = (($3176) + 16|0); + $3177 = ((($3176)) + 16|0); $3178 = HEAP32[$3177>>2]|0; $3179 = (($3178) + ($3175<<4)|0); - $3180 = (($3179) + 4|0); + $3180 = ((($3179)) + 4|0); $3181 = HEAP32[$3180>>2]|0; HEAP32[$pBt>>2] = $3181; $3182 = HEAP32[$pBt>>2]|0; @@ -162793,14 +164171,14 @@ function _sqlite3VdbeExec($p) { if ($3183) { $3184 = HEAP32[$pBt>>2]|0; $3185 = HEAP32[$pOp>>2]|0; - $3186 = (($3185) + 8|0); + $3186 = ((($3185)) + 8|0); $3187 = HEAP32[$3186>>2]|0; $3188 = (_sqlite3BtreeBeginTrans($3184,$3187)|0); HEAP32[$rc>>2] = $3188; $3189 = HEAP32[$rc>>2]|0; $3190 = ($3189|0)==(5); if ($3190) { - label = 425; + label = 421; break L11; } $3196 = HEAP32[$rc>>2]|0; @@ -162809,13 +164187,13 @@ function _sqlite3VdbeExec($p) { break L11; } $3198 = HEAP32[$pOp>>2]|0; - $3199 = (($3198) + 8|0); + $3199 = ((($3198)) + 8|0); $3200 = HEAP32[$3199>>2]|0; $3201 = ($3200|0)!=(0); do { if ($3201) { $3202 = HEAP32[$0>>2]|0; - $3203 = (($3202) + 88|0); + $3203 = ((($3202)) + 88|0); $3204 = HEAP16[$3203>>1]|0; $3205 = ($3204&65535) >>> 7; $3206 = $3205 & 1; @@ -162823,13 +164201,13 @@ function _sqlite3VdbeExec($p) { $3208 = ($3207|0)!=(0); if ($3208) { $3209 = HEAP32[$db>>2]|0; - $3210 = (($3209) + 62|0); + $3210 = ((($3209)) + 62|0); $3211 = HEAP8[$3210>>0]|0; $3212 = $3211&255; $3213 = ($3212|0)==(0); if (!($3213)) { $3214 = HEAP32[$db>>2]|0; - $3215 = (($3214) + 152|0); + $3215 = ((($3214)) + 152|0); $3216 = HEAP32[$3215>>2]|0; $3217 = ($3216|0)>(1); if (!($3217)) { @@ -162837,29 +164215,29 @@ function _sqlite3VdbeExec($p) { } } $3218 = HEAP32[$0>>2]|0; - $3219 = (($3218) + 104|0); + $3219 = ((($3218)) + 104|0); $3220 = HEAP32[$3219>>2]|0; $3221 = ($3220|0)==(0); if ($3221) { $3222 = HEAP32[$db>>2]|0; - $3223 = (($3222) + 500|0); + $3223 = ((($3222)) + 500|0); $3224 = HEAP32[$3223>>2]|0; $3225 = (($3224) + 1)|0; HEAP32[$3223>>2] = $3225; $3226 = HEAP32[$db>>2]|0; - $3227 = (($3226) + 496|0); + $3227 = ((($3226)) + 496|0); $3228 = HEAP32[$3227>>2]|0; $3229 = HEAP32[$db>>2]|0; - $3230 = (($3229) + 500|0); + $3230 = ((($3229)) + 500|0); $3231 = HEAP32[$3230>>2]|0; $3232 = (($3228) + ($3231))|0; $3233 = HEAP32[$0>>2]|0; - $3234 = (($3233) + 104|0); + $3234 = ((($3233)) + 104|0); HEAP32[$3234>>2] = $3232; } $3235 = HEAP32[$db>>2]|0; $3236 = HEAP32[$0>>2]|0; - $3237 = (($3236) + 104|0); + $3237 = ((($3236)) + 104|0); $3238 = HEAP32[$3237>>2]|0; $3239 = (($3238) - 1)|0; $3240 = (_sqlite3VtabSavepoint($3235,0,$3239)|0); @@ -162869,13 +164247,13 @@ function _sqlite3VdbeExec($p) { if ($3242) { $3243 = HEAP32[$pBt>>2]|0; $3244 = HEAP32[$0>>2]|0; - $3245 = (($3244) + 104|0); + $3245 = ((($3244)) + 104|0); $3246 = HEAP32[$3245>>2]|0; $3247 = (_sqlite3BtreeBeginStmt($3243,$3246)|0); HEAP32[$rc>>2] = $3247; } $3248 = HEAP32[$db>>2]|0; - $3249 = (($3248) + 504|0); + $3249 = ((($3248)) + 504|0); $3250 = $3249; $3251 = $3250; $3252 = HEAP32[$3251>>2]|0; @@ -162883,7 +164261,7 @@ function _sqlite3VdbeExec($p) { $3254 = $3253; $3255 = HEAP32[$3254>>2]|0; $3256 = HEAP32[$0>>2]|0; - $3257 = (($3256) + 152|0); + $3257 = ((($3256)) + 152|0); $3258 = $3257; $3259 = $3258; HEAP32[$3259>>2] = $3252; @@ -162891,7 +164269,7 @@ function _sqlite3VdbeExec($p) { $3261 = $3260; HEAP32[$3261>>2] = $3255; $3262 = HEAP32[$db>>2]|0; - $3263 = (($3262) + 512|0); + $3263 = ((($3262)) + 512|0); $3264 = $3263; $3265 = $3264; $3266 = HEAP32[$3265>>2]|0; @@ -162899,7 +164277,7 @@ function _sqlite3VdbeExec($p) { $3268 = $3267; $3269 = HEAP32[$3268>>2]|0; $3270 = HEAP32[$0>>2]|0; - $3271 = (($3270) + 160|0); + $3271 = ((($3270)) + 160|0); $3272 = $3271; $3273 = $3272; HEAP32[$3273>>2] = $3266; @@ -162912,15 +164290,15 @@ function _sqlite3VdbeExec($p) { $3276 = HEAP32[$pBt>>2]|0; _sqlite3BtreeGetMeta($3276,1,$iMeta); $3277 = HEAP32[$pOp>>2]|0; - $3278 = (($3277) + 4|0); + $3278 = ((($3277)) + 4|0); $3279 = HEAP32[$3278>>2]|0; $3280 = HEAP32[$db>>2]|0; - $3281 = (($3280) + 16|0); + $3281 = ((($3280)) + 16|0); $3282 = HEAP32[$3281>>2]|0; $3283 = (($3282) + ($3279<<4)|0); - $3284 = (($3283) + 12|0); + $3284 = ((($3283)) + 12|0); $3285 = HEAP32[$3284>>2]|0; - $3286 = (($3285) + 4|0); + $3286 = ((($3285)) + 4|0); $3287 = HEAP32[$3286>>2]|0; HEAP32[$iGen>>2] = $3287; } else { @@ -162928,20 +164306,20 @@ function _sqlite3VdbeExec($p) { HEAP32[$iGen>>2] = 0; } $3288 = HEAP32[$pOp>>2]|0; - $3289 = (($3288) + 3|0); + $3289 = ((($3288)) + 3|0); $3290 = HEAP8[$3289>>0]|0; $3291 = $3290&255; $3292 = ($3291|0)!=(0); if ($3292) { $3293 = HEAP32[$iMeta>>2]|0; $3294 = HEAP32[$pOp>>2]|0; - $3295 = (($3294) + 12|0); + $3295 = ((($3294)) + 12|0); $3296 = HEAP32[$3295>>2]|0; $3297 = ($3293|0)!=($3296|0); if (!($3297)) { $3298 = HEAP32[$iGen>>2]|0; $3299 = HEAP32[$pOp>>2]|0; - $3300 = (($3299) + 16|0); + $3300 = ((($3299)) + 16|0); $3301 = HEAP32[$3300>>2]|0; $3302 = ($3298|0)!=($3301|0); if (!($3302)) { @@ -162950,22 +164328,22 @@ function _sqlite3VdbeExec($p) { } $3303 = HEAP32[$db>>2]|0; $3304 = HEAP32[$0>>2]|0; - $3305 = (($3304) + 44|0); + $3305 = ((($3304)) + 44|0); $3306 = HEAP32[$3305>>2]|0; _sqlite3DbFree($3303,$3306); $3307 = HEAP32[$db>>2]|0; - $3308 = (_sqlite3DbStrDup($3307,5664)|0); + $3308 = (_sqlite3DbStrDup($3307,31456)|0); $3309 = HEAP32[$0>>2]|0; - $3310 = (($3309) + 44|0); + $3310 = ((($3309)) + 44|0); HEAP32[$3310>>2] = $3308; $3311 = HEAP32[$pOp>>2]|0; - $3312 = (($3311) + 4|0); + $3312 = ((($3311)) + 4|0); $3313 = HEAP32[$3312>>2]|0; $3314 = HEAP32[$db>>2]|0; - $3315 = (($3314) + 16|0); + $3315 = ((($3314)) + 16|0); $3316 = HEAP32[$3315>>2]|0; $3317 = (($3316) + ($3313<<4)|0); - $3318 = (($3317) + 12|0); + $3318 = ((($3317)) + 12|0); $3319 = HEAP32[$3318>>2]|0; $3320 = HEAP32[$3319>>2]|0; $3321 = HEAP32[$iMeta>>2]|0; @@ -162973,12 +164351,12 @@ function _sqlite3VdbeExec($p) { if ($3322) { $3323 = HEAP32[$db>>2]|0; $3324 = HEAP32[$pOp>>2]|0; - $3325 = (($3324) + 4|0); + $3325 = ((($3324)) + 4|0); $3326 = HEAP32[$3325>>2]|0; _sqlite3ResetOneSchema($3323,$3326); } $3327 = HEAP32[$0>>2]|0; - $3328 = (($3327) + 88|0); + $3328 = ((($3327)) + 88|0); $3329 = HEAP16[$3328>>1]|0; $3330 = $3329 & -33; $3331 = $3330 | 32; @@ -162989,19 +164367,19 @@ function _sqlite3VdbeExec($p) { } case 51: { $3332 = HEAP32[$pOp>>2]|0; - $3333 = (($3332) + 4|0); + $3333 = ((($3332)) + 4|0); $3334 = HEAP32[$3333>>2]|0; HEAP32[$iDb>>2] = $3334; $3335 = HEAP32[$pOp>>2]|0; - $3336 = (($3335) + 12|0); + $3336 = ((($3335)) + 12|0); $3337 = HEAP32[$3336>>2]|0; HEAP32[$iCookie>>2] = $3337; $3338 = HEAP32[$iDb>>2]|0; $3339 = HEAP32[$db>>2]|0; - $3340 = (($3339) + 16|0); + $3340 = ((($3339)) + 16|0); $3341 = HEAP32[$3340>>2]|0; $3342 = (($3341) + ($3338<<4)|0); - $3343 = (($3342) + 4|0); + $3343 = ((($3342)) + 4|0); $3344 = HEAP32[$3343>>2]|0; $3345 = HEAP32[$iCookie>>2]|0; _sqlite3BtreeGetMeta($3344,$3345,$iMeta18); @@ -163019,15 +164397,15 @@ function _sqlite3VdbeExec($p) { } case 52: { $3354 = HEAP32[$pOp>>2]|0; - $3355 = (($3354) + 4|0); + $3355 = ((($3354)) + 4|0); $3356 = HEAP32[$3355>>2]|0; $3357 = HEAP32[$db>>2]|0; - $3358 = (($3357) + 16|0); + $3358 = ((($3357)) + 16|0); $3359 = HEAP32[$3358>>2]|0; $3360 = (($3359) + ($3356<<4)|0); HEAP32[$pDb>>2] = $3360; $3361 = HEAP32[$pOp>>2]|0; - $3362 = (($3361) + 12|0); + $3362 = ((($3361)) + 12|0); $3363 = HEAP32[$3362>>2]|0; $3364 = HEAP32[$aMem>>2]|0; $3365 = (($3364) + (($3363*40)|0)|0); @@ -163035,10 +164413,10 @@ function _sqlite3VdbeExec($p) { $3366 = HEAP32[$pIn3>>2]|0; (_sqlite3VdbeMemIntegerify($3366)|0); $3367 = HEAP32[$pDb>>2]|0; - $3368 = (($3367) + 4|0); + $3368 = ((($3367)) + 4|0); $3369 = HEAP32[$3368>>2]|0; $3370 = HEAP32[$pOp>>2]|0; - $3371 = (($3370) + 8|0); + $3371 = ((($3370)) + 8|0); $3372 = HEAP32[$3371>>2]|0; $3373 = HEAP32[$pIn3>>2]|0; $3374 = $3373; @@ -163050,7 +164428,7 @@ function _sqlite3VdbeExec($p) { $3380 = (_sqlite3BtreeUpdateMeta($3369,$3372,$3376)|0); HEAP32[$rc>>2] = $3380; $3381 = HEAP32[$pOp>>2]|0; - $3382 = (($3381) + 8|0); + $3382 = ((($3381)) + 8|0); $3383 = HEAP32[$3382>>2]|0; $3384 = ($3383|0)==(1); if ($3384) { @@ -163062,17 +164440,17 @@ function _sqlite3VdbeExec($p) { $3390 = $3389; $3391 = HEAP32[$3390>>2]|0; $3392 = HEAP32[$pDb>>2]|0; - $3393 = (($3392) + 12|0); + $3393 = ((($3392)) + 12|0); $3394 = HEAP32[$3393>>2]|0; HEAP32[$3394>>2] = $3388; $3395 = HEAP32[$db>>2]|0; - $3396 = (($3395) + 24|0); + $3396 = ((($3395)) + 24|0); $3397 = HEAP32[$3396>>2]|0; $3398 = $3397 | 2; HEAP32[$3396>>2] = $3398; } else { $3399 = HEAP32[$pOp>>2]|0; - $3400 = (($3399) + 8|0); + $3400 = ((($3399)) + 8|0); $3401 = HEAP32[$3400>>2]|0; $3402 = ($3401|0)==(2); if ($3402) { @@ -163085,37 +164463,33 @@ function _sqlite3VdbeExec($p) { $3409 = HEAP32[$3408>>2]|0; $3410 = $3406&255; $3411 = HEAP32[$pDb>>2]|0; - $3412 = (($3411) + 12|0); + $3412 = ((($3411)) + 12|0); $3413 = HEAP32[$3412>>2]|0; - $3414 = (($3413) + 76|0); + $3414 = ((($3413)) + 76|0); HEAP8[$3414>>0] = $3410; } } $3415 = HEAP32[$pOp>>2]|0; - $3416 = (($3415) + 4|0); + $3416 = ((($3415)) + 4|0); $3417 = HEAP32[$3416>>2]|0; $3418 = ($3417|0)==(1); if ($3418) { $3419 = HEAP32[$db>>2]|0; _sqlite3ExpirePreparedStatements($3419); $3420 = HEAP32[$0>>2]|0; - $3421 = (($3420) + 88|0); + $3421 = ((($3420)) + 88|0); $3422 = HEAP16[$3421>>1]|0; $3423 = $3422 & -33; HEAP16[$3421>>1] = $3423; } break; } - case 55: case 54: { - label = 453; - break; - } case 53: { $3424 = HEAP32[$pOp>>2]|0; - $3425 = (($3424) + 4|0); + $3425 = ((($3424)) + 4|0); $3426 = HEAP32[$3425>>2]|0; $3427 = HEAP32[$0>>2]|0; - $3428 = (($3427) + 56|0); + $3428 = ((($3427)) + 56|0); $3429 = HEAP32[$3428>>2]|0; $3430 = (($3429) + ($3426<<2)|0); $3431 = HEAP32[$3430>>2]|0; @@ -163124,41 +164498,45 @@ function _sqlite3VdbeExec($p) { $3433 = ($3432|0)!=(0|0); if ($3433) { $3434 = HEAP32[$pCur>>2]|0; - $3435 = (($3434) + 28|0); + $3435 = ((($3434)) + 28|0); $3436 = HEAP32[$3435>>2]|0; $3437 = HEAP32[$pOp>>2]|0; - $3438 = (($3437) + 8|0); + $3438 = ((($3437)) + 8|0); $3439 = HEAP32[$3438>>2]|0; $3440 = ($3436|0)==($3439|0); if (!($3440)) { - label = 453; + label = 449; } } else { - label = 453; + label = 449; } break; } + case 55: case 54: { + label = 449; + break; + } case 57: case 56: { $3578 = HEAP32[$0>>2]|0; $3579 = HEAP32[$pOp>>2]|0; - $3580 = (($3579) + 4|0); + $3580 = ((($3579)) + 4|0); $3581 = HEAP32[$3580>>2]|0; $3582 = HEAP32[$pOp>>2]|0; - $3583 = (($3582) + 8|0); + $3583 = ((($3582)) + 8|0); $3584 = HEAP32[$3583>>2]|0; $3585 = (_allocateCursor($3578,$3581,$3584,-1,1)|0); HEAP32[$pCx>>2] = $3585; $3586 = HEAP32[$pCx>>2]|0; $3587 = ($3586|0)==(0|0); if ($3587) { - label = 871; + label = 867; break L1; } $3588 = HEAP32[$pCx>>2]|0; - $3589 = (($3588) + 25|0); + $3589 = ((($3588)) + 25|0); HEAP8[$3589>>0] = 1; $3590 = HEAP32[$pCx>>2]|0; - $3591 = (($3590) + 27|0); + $3591 = ((($3590)) + 27|0); $3592 = HEAP8[$3591>>0]|0; $3593 = $3592 & -2; $3594 = $3593 | 1; @@ -163167,9 +164545,9 @@ function _sqlite3VdbeExec($p) { $3596 = HEAP32[$3595>>2]|0; $3597 = HEAP32[$db>>2]|0; $3598 = HEAP32[$pCx>>2]|0; - $3599 = (($3598) + 4|0); + $3599 = ((($3598)) + 4|0); $3600 = HEAP32[$pOp>>2]|0; - $3601 = (($3600) + 3|0); + $3601 = ((($3600)) + 3|0); $3602 = HEAP8[$3601>>0]|0; $3603 = $3602&255; $3604 = 5 | $3603; @@ -163179,7 +164557,7 @@ function _sqlite3VdbeExec($p) { $3607 = ($3606|0)==(0); if ($3607) { $3608 = HEAP32[$pCx>>2]|0; - $3609 = (($3608) + 4|0); + $3609 = ((($3608)) + 4|0); $3610 = HEAP32[$3609>>2]|0; $3611 = (_sqlite3BtreeBeginTrans($3610,1)|0); HEAP32[$rc>>2] = $3611; @@ -163189,12 +164567,12 @@ function _sqlite3VdbeExec($p) { do { if ($3613) { $3614 = HEAP32[$pOp>>2]|0; - $3615 = (($3614) + 16|0); + $3615 = ((($3614)) + 16|0); $3616 = HEAP32[$3615>>2]|0; HEAP32[$pKeyInfo25>>2] = $3616; $3617 = ($3616|0)!=(0|0); $3618 = HEAP32[$pCx>>2]|0; - $3619 = (($3618) + 4|0); + $3619 = ((($3618)) + 4|0); $3620 = HEAP32[$3619>>2]|0; if (!($3617)) { $3644 = HEAP32[$pCx>>2]|0; @@ -163202,7 +164580,7 @@ function _sqlite3VdbeExec($p) { $3646 = (_sqlite3BtreeCursor($3620,1,1,0,$3645)|0); HEAP32[$rc>>2] = $3646; $3647 = HEAP32[$pCx>>2]|0; - $3648 = (($3647) + 27|0); + $3648 = ((($3647)) + 27|0); $3649 = HEAP8[$3648>>0]|0; $3650 = $3649 & -5; $3651 = $3650 | 4; @@ -163210,7 +164588,7 @@ function _sqlite3VdbeExec($p) { break; } $3621 = HEAP32[$pOp>>2]|0; - $3622 = (($3621) + 3|0); + $3622 = ((($3621)) + 3|0); $3623 = HEAP8[$3622>>0]|0; $3624 = $3623&255; $3625 = 2 | $3624; @@ -163221,10 +164599,10 @@ function _sqlite3VdbeExec($p) { if ($3628) { $3629 = HEAP32[$pKeyInfo25>>2]|0; $3630 = HEAP32[$pCx>>2]|0; - $3631 = (($3630) + 8|0); + $3631 = ((($3630)) + 8|0); HEAP32[$3631>>2] = $3629; $3632 = HEAP32[$pCx>>2]|0; - $3633 = (($3632) + 4|0); + $3633 = ((($3632)) + 4|0); $3634 = HEAP32[$3633>>2]|0; $3635 = HEAP32[$pgno>>2]|0; $3636 = HEAP32[$pKeyInfo25>>2]|0; @@ -163234,20 +164612,20 @@ function _sqlite3VdbeExec($p) { HEAP32[$rc>>2] = $3639; } $3640 = HEAP32[$pCx>>2]|0; - $3641 = (($3640) + 27|0); + $3641 = ((($3640)) + 27|0); $3642 = HEAP8[$3641>>0]|0; $3643 = $3642 & -5; HEAP8[$3641>>0] = $3643; } } while(0); $3652 = HEAP32[$pOp>>2]|0; - $3653 = (($3652) + 3|0); + $3653 = ((($3652)) + 3|0); $3654 = HEAP8[$3653>>0]|0; $3655 = $3654&255; $3656 = ($3655|0)!=(8); $3657 = $3656&1; $3658 = HEAP32[$pCx>>2]|0; - $3659 = (($3658) + 27|0); + $3659 = ((($3658)) + 27|0); $3660 = $3657&255; $3661 = HEAP8[$3659>>0]|0; $3662 = $3660 & 1; @@ -163260,28 +164638,28 @@ function _sqlite3VdbeExec($p) { case 58: { $3666 = HEAP32[$0>>2]|0; $3667 = HEAP32[$pOp>>2]|0; - $3668 = (($3667) + 4|0); + $3668 = ((($3667)) + 4|0); $3669 = HEAP32[$3668>>2]|0; $3670 = HEAP32[$pOp>>2]|0; - $3671 = (($3670) + 8|0); + $3671 = ((($3670)) + 8|0); $3672 = HEAP32[$3671>>2]|0; $3673 = (_allocateCursor($3666,$3669,$3672,-1,1)|0); HEAP32[$pCx26>>2] = $3673; $3674 = HEAP32[$pCx26>>2]|0; $3675 = ($3674|0)==(0|0); if ($3675) { - label = 871; + label = 867; break L1; } $3676 = HEAP32[$pOp>>2]|0; - $3677 = (($3676) + 16|0); + $3677 = ((($3676)) + 16|0); $3678 = HEAP32[$3677>>2]|0; $3679 = HEAP32[$pCx26>>2]|0; - $3680 = (($3679) + 8|0); + $3680 = ((($3679)) + 8|0); HEAP32[$3680>>2] = $3678; $3681 = HEAP32[$db>>2]|0; $3682 = HEAP32[$pOp>>2]|0; - $3683 = (($3682) + 12|0); + $3683 = ((($3682)) + 12|0); $3684 = HEAP32[$3683>>2]|0; $3685 = HEAP32[$pCx26>>2]|0; $3686 = (_sqlite3VdbeSorterInit($3681,$3684,$3685)|0); @@ -163290,16 +164668,16 @@ function _sqlite3VdbeExec($p) { } case 59: { $3687 = HEAP32[$pOp>>2]|0; - $3688 = (($3687) + 4|0); + $3688 = ((($3687)) + 4|0); $3689 = HEAP32[$3688>>2]|0; $3690 = HEAP32[$0>>2]|0; - $3691 = (($3690) + 56|0); + $3691 = ((($3690)) + 56|0); $3692 = HEAP32[$3691>>2]|0; $3693 = (($3692) + ($3689<<2)|0); $3694 = HEAP32[$3693>>2]|0; HEAP32[$pC27>>2] = $3694; $3695 = HEAP32[$pC27>>2]|0; - $3696 = (($3695) + 40|0); + $3696 = ((($3695)) + 40|0); $3697 = $3696; $3698 = $3697; $3699 = HEAP32[$3698>>2]|0; @@ -163319,7 +164697,7 @@ function _sqlite3VdbeExec($p) { $3711 = $3709 & $3710; if ($3711) { $3712 = HEAP32[$pOp>>2]|0; - $3713 = (($3712) + 8|0); + $3713 = ((($3712)) + 8|0); $3714 = HEAP32[$3713>>2]|0; $3715 = (($3714) - 1)|0; HEAP32[$pc>>2] = $3715; @@ -163329,30 +164707,30 @@ function _sqlite3VdbeExec($p) { case 60: { $3716 = HEAP32[$0>>2]|0; $3717 = HEAP32[$pOp>>2]|0; - $3718 = (($3717) + 4|0); + $3718 = ((($3717)) + 4|0); $3719 = HEAP32[$3718>>2]|0; $3720 = HEAP32[$pOp>>2]|0; - $3721 = (($3720) + 12|0); + $3721 = ((($3720)) + 12|0); $3722 = HEAP32[$3721>>2]|0; $3723 = (_allocateCursor($3716,$3719,$3722,-1,0)|0); HEAP32[$pCx28>>2] = $3723; $3724 = HEAP32[$pCx28>>2]|0; $3725 = ($3724|0)==(0|0); if ($3725) { - label = 871; + label = 867; break L1; } $3726 = HEAP32[$pCx28>>2]|0; - $3727 = (($3726) + 25|0); + $3727 = ((($3726)) + 25|0); HEAP8[$3727>>0] = 1; $3728 = HEAP32[$pOp>>2]|0; - $3729 = (($3728) + 8|0); + $3729 = ((($3728)) + 8|0); $3730 = HEAP32[$3729>>2]|0; $3731 = HEAP32[$pCx28>>2]|0; - $3732 = (($3731) + 16|0); + $3732 = ((($3731)) + 16|0); HEAP32[$3732>>2] = $3730; $3733 = HEAP32[$pCx28>>2]|0; - $3734 = (($3733) + 27|0); + $3734 = ((($3733)) + 27|0); $3735 = HEAP8[$3734>>0]|0; $3736 = $3735 & -5; $3737 = $3736 | 4; @@ -163362,19 +164740,19 @@ function _sqlite3VdbeExec($p) { case 61: { $3738 = HEAP32[$0>>2]|0; $3739 = HEAP32[$pOp>>2]|0; - $3740 = (($3739) + 4|0); + $3740 = ((($3739)) + 4|0); $3741 = HEAP32[$3740>>2]|0; $3742 = HEAP32[$0>>2]|0; - $3743 = (($3742) + 56|0); + $3743 = ((($3742)) + 56|0); $3744 = HEAP32[$3743>>2]|0; $3745 = (($3744) + ($3741<<2)|0); $3746 = HEAP32[$3745>>2]|0; _sqlite3VdbeFreeCursor($3738,$3746); $3747 = HEAP32[$pOp>>2]|0; - $3748 = (($3747) + 4|0); + $3748 = ((($3747)) + 4|0); $3749 = HEAP32[$3748>>2]|0; $3750 = HEAP32[$0>>2]|0; - $3751 = (($3750) + 56|0); + $3751 = ((($3750)) + 56|0); $3752 = HEAP32[$3751>>2]|0; $3753 = (($3752) + ($3749<<2)|0); HEAP32[$3753>>2] = 0; @@ -163382,10 +164760,10 @@ function _sqlite3VdbeExec($p) { } case 65: case 64: case 63: case 62: { $3754 = HEAP32[$pOp>>2]|0; - $3755 = (($3754) + 4|0); + $3755 = ((($3754)) + 4|0); $3756 = HEAP32[$3755>>2]|0; $3757 = HEAP32[$0>>2]|0; - $3758 = (($3757) + 56|0); + $3758 = ((($3757)) + 56|0); $3759 = HEAP32[$3758>>2]|0; $3760 = (($3759) + ($3756<<2)|0); $3761 = HEAP32[$3760>>2]|0; @@ -163395,10 +164773,10 @@ function _sqlite3VdbeExec($p) { $3764 = $3763&255; HEAP32[$oc>>2] = $3764; $3765 = HEAP32[$pC30>>2]|0; - $3766 = (($3765) + 25|0); + $3766 = ((($3765)) + 25|0); HEAP8[$3766>>0] = 0; $3767 = HEAP32[$pC30>>2]|0; - $3768 = (($3767) + 27|0); + $3768 = ((($3767)) + 27|0); $3769 = HEAP8[$3768>>0]|0; $3770 = ($3769&255) >>> 2; $3771 = $3770 & 1; @@ -163406,13 +164784,13 @@ function _sqlite3VdbeExec($p) { $3773 = ($3772|0)!=(0); $3774 = HEAP32[$pOp>>2]|0; if ($3773) { - $3775 = (($3774) + 12|0); + $3775 = ((($3774)) + 12|0); $3776 = HEAP32[$3775>>2]|0; $3777 = HEAP32[$aMem>>2]|0; $3778 = (($3777) + (($3776*40)|0)|0); HEAP32[$pIn3>>2] = $3778; $3779 = HEAP32[$pIn3>>2]|0; - $3780 = (($3779) + 8|0); + $3780 = ((($3779)) + 8|0); $3781 = HEAP16[$3780>>1]|0; $3782 = $3781&65535; $3783 = $3782 & 14; @@ -163431,7 +164809,7 @@ function _sqlite3VdbeExec($p) { $3792 = $3791; HEAP32[$3792>>2] = $3788; $3793 = HEAP32[$pIn3>>2]|0; - $3794 = (($3793) + 8|0); + $3794 = ((($3793)) + 8|0); $3795 = HEAP16[$3794>>1]|0; $3796 = $3795&65535; $3797 = $3796 & 4; @@ -163439,14 +164817,14 @@ function _sqlite3VdbeExec($p) { do { if ($3798) { $3799 = HEAP32[$pIn3>>2]|0; - $3800 = (($3799) + 8|0); + $3800 = ((($3799)) + 8|0); $3801 = HEAP16[$3800>>1]|0; $3802 = $3801&65535; $3803 = $3802 & 8; $3804 = ($3803|0)==(0); if ($3804) { $3805 = HEAP32[$pOp>>2]|0; - $3806 = (($3805) + 8|0); + $3806 = ((($3805)) + 8|0); $3807 = HEAP32[$3806>>2]|0; $3808 = (($3807) - 1)|0; HEAP32[$pc>>2] = $3808; @@ -163513,7 +164891,7 @@ function _sqlite3VdbeExec($p) { $3852 = $3851; $3853 = HEAP32[$3852>>2]|0; $3854 = HEAP32[$pC30>>2]|0; - $3855 = (($3854) + 48|0); + $3855 = ((($3854)) + 48|0); $3856 = $3855; $3857 = $3856; HEAP32[$3857>>2] = $3850; @@ -163526,16 +164904,16 @@ function _sqlite3VdbeExec($p) { break L11; } } else { - $3862 = (($3774) + 16|0); + $3862 = ((($3774)) + 16|0); $3863 = HEAP32[$3862>>2]|0; HEAP32[$nField31>>2] = $3863; $3864 = HEAP32[$pC30>>2]|0; - $3865 = (($3864) + 8|0); + $3865 = ((($3864)) + 8|0); $3866 = HEAP32[$3865>>2]|0; HEAP32[$r>>2] = $3866; $3867 = HEAP32[$nField31>>2]|0; $3868 = $3867&65535; - $3869 = (($r) + 4|0); + $3869 = ((($r)) + 4|0); HEAP16[$3869>>1] = $3868; $3870 = HEAP32[$oc>>2]|0; $3871 = (($3870) - 62)|0; @@ -163543,24 +164921,24 @@ function _sqlite3VdbeExec($p) { $3873 = ($3872|0)!=(0); $3874 = $3873 ? -1 : 1; $3875 = $3874&255; - $3876 = (($r) + 6|0); + $3876 = ((($r)) + 6|0); HEAP8[$3876>>0] = $3875; $3877 = HEAP32[$pOp>>2]|0; - $3878 = (($3877) + 12|0); + $3878 = ((($3877)) + 12|0); $3879 = HEAP32[$3878>>2]|0; $3880 = HEAP32[$aMem>>2]|0; $3881 = (($3880) + (($3879*40)|0)|0); - $3882 = (($r) + 8|0); + $3882 = ((($r)) + 8|0); HEAP32[$3882>>2] = $3881; - $3883 = (($r) + 8|0); + $3883 = ((($r)) + 8|0); $3884 = HEAP32[$3883>>2]|0; - $3885 = (($3884) + 8|0); + $3885 = ((($3884)) + 8|0); $3886 = HEAP16[$3885>>1]|0; $3887 = $3886&65535; $3888 = $3887 & 16384; $3889 = ($3888|0)!=(0); if ($3889) { - $3890 = (($r) + 8|0); + $3890 = ((($r)) + 8|0); $3891 = HEAP32[$3890>>2]|0; (_sqlite3VdbeMemExpandBlob($3891)|0); } @@ -163575,10 +164953,10 @@ function _sqlite3VdbeExec($p) { } } $3897 = HEAP32[$pC30>>2]|0; - $3898 = (($3897) + 26|0); + $3898 = ((($3897)) + 26|0); HEAP8[$3898>>0] = 0; $3899 = HEAP32[$pC30>>2]|0; - $3900 = (($3899) + 60|0); + $3900 = ((($3899)) + 60|0); HEAP32[$3900>>2] = 0; $3901 = HEAP32[$oc>>2]|0; $3902 = ($3901|0)>=(64); @@ -163591,8 +164969,8 @@ function _sqlite3VdbeExec($p) { $3906 = ($3905|0)==(0); $3907 = HEAP32[$oc>>2]|0; $3908 = ($3907|0)==(65); - $or$cond11 = $3906 & $3908; - if (!($or$cond11)) { + $or$cond12 = $3906 & $3908; + if (!($or$cond12)) { HEAP32[$res29>>2] = 0; break; } @@ -163614,8 +164992,8 @@ function _sqlite3VdbeExec($p) { $3916 = ($3915|0)==(0); $3917 = HEAP32[$oc>>2]|0; $3918 = ($3917|0)==(62); - $or$cond13 = $3916 & $3918; - if (!($or$cond13)) { + $or$cond14 = $3916 & $3918; + if (!($or$cond14)) { $3924 = HEAP32[$pC30>>2]|0; $3925 = HEAP32[$3924>>2]|0; $3926 = (_sqlite3BtreeEof($3925)|0); @@ -163639,7 +165017,7 @@ function _sqlite3VdbeExec($p) { $3928 = ($3927|0)!=(0); if ($3928) { $3929 = HEAP32[$pOp>>2]|0; - $3930 = (($3929) + 8|0); + $3930 = ((($3929)) + 8|0); $3931 = HEAP32[$3930>>2]|0; $3932 = (($3931) - 1)|0; HEAP32[$pc>>2] = $3932; @@ -163648,19 +165026,19 @@ function _sqlite3VdbeExec($p) { } case 66: { $3933 = HEAP32[$pOp>>2]|0; - $3934 = (($3933) + 4|0); + $3934 = ((($3933)) + 4|0); $3935 = HEAP32[$3934>>2]|0; $3936 = HEAP32[$0>>2]|0; - $3937 = (($3936) + 56|0); + $3937 = ((($3936)) + 56|0); $3938 = HEAP32[$3937>>2]|0; $3939 = (($3938) + ($3935<<2)|0); $3940 = HEAP32[$3939>>2]|0; HEAP32[$pC32>>2] = $3940; $3941 = HEAP32[$pC32>>2]|0; - $3942 = (($3941) + 25|0); + $3942 = ((($3941)) + 25|0); HEAP8[$3942>>0] = 0; $3943 = HEAP32[$pOp>>2]|0; - $3944 = (($3943) + 8|0); + $3944 = ((($3943)) + 8|0); $3945 = HEAP32[$3944>>2]|0; $3946 = HEAP32[$aMem>>2]|0; $3947 = (($3946) + (($3945*40)|0)|0); @@ -163669,7 +165047,7 @@ function _sqlite3VdbeExec($p) { $3949 = (_sqlite3VdbeIntValue($3948)|0); $3950 = tempRet0; $3951 = HEAP32[$pC32>>2]|0; - $3952 = (($3951) + 48|0); + $3952 = ((($3951)) + 48|0); $3953 = $3952; $3954 = $3953; HEAP32[$3954>>2] = $3949; @@ -163677,49 +165055,49 @@ function _sqlite3VdbeExec($p) { $3956 = $3955; HEAP32[$3956>>2] = $3950; $3957 = HEAP32[$pC32>>2]|0; - $3958 = (($3957) + 26|0); + $3958 = ((($3957)) + 26|0); HEAP8[$3958>>0] = 1; break; } case 69: case 68: case 67: { $3959 = HEAP32[$pOp>>2]|0; - $3960 = (($3959) + 4|0); + $3960 = ((($3959)) + 4|0); $3961 = HEAP32[$3960>>2]|0; $3962 = HEAP32[$0>>2]|0; - $3963 = (($3962) + 56|0); + $3963 = ((($3962)) + 56|0); $3964 = HEAP32[$3963>>2]|0; $3965 = (($3964) + ($3961<<2)|0); $3966 = HEAP32[$3965>>2]|0; HEAP32[$pC34>>2] = $3966; $3967 = HEAP32[$pOp>>2]|0; - $3968 = (($3967) + 12|0); + $3968 = ((($3967)) + 12|0); $3969 = HEAP32[$3968>>2]|0; $3970 = HEAP32[$aMem>>2]|0; $3971 = (($3970) + (($3969*40)|0)|0); HEAP32[$pIn3>>2] = $3971; HEAP32[$pFree>>2] = 0; $3972 = HEAP32[$pOp>>2]|0; - $3973 = (($3972) + 16|0); + $3973 = ((($3972)) + 16|0); $3974 = HEAP32[$3973>>2]|0; $3975 = ($3974|0)>(0); $3976 = HEAP32[$pC34>>2]|0; - $3977 = (($3976) + 8|0); + $3977 = ((($3976)) + 8|0); $3978 = HEAP32[$3977>>2]|0; if ($3975) { HEAP32[$r36>>2] = $3978; $3979 = HEAP32[$pOp>>2]|0; - $3980 = (($3979) + 16|0); + $3980 = ((($3979)) + 16|0); $3981 = HEAP32[$3980>>2]|0; $3982 = $3981&65535; - $3983 = (($r36) + 4|0); + $3983 = ((($r36)) + 4|0); HEAP16[$3983>>1] = $3982; $3984 = HEAP32[$pIn3>>2]|0; - $3985 = (($r36) + 8|0); + $3985 = ((($r36)) + 8|0); HEAP32[$3985>>2] = $3984; HEAP32[$ii33>>2] = 0; while(1) { $3986 = HEAP32[$ii33>>2]|0; - $3987 = (($r36) + 4|0); + $3987 = ((($r36)) + 4|0); $3988 = HEAP16[$3987>>1]|0; $3989 = $3988&65535; $3990 = ($3986|0)<($3989|0); @@ -163727,17 +165105,17 @@ function _sqlite3VdbeExec($p) { break; } $3991 = HEAP32[$ii33>>2]|0; - $3992 = (($r36) + 8|0); + $3992 = ((($r36)) + 8|0); $3993 = HEAP32[$3992>>2]|0; $3994 = (($3993) + (($3991*40)|0)|0); - $3995 = (($3994) + 8|0); + $3995 = ((($3994)) + 8|0); $3996 = HEAP16[$3995>>1]|0; $3997 = $3996&65535; $3998 = $3997 & 16384; $3999 = ($3998|0)!=(0); if ($3999) { $4000 = HEAP32[$ii33>>2]|0; - $4001 = (($r36) + 8|0); + $4001 = ((($r36)) + 8|0); $4002 = HEAP32[$4001>>2]|0; $4003 = (($4002) + (($4000*40)|0)|0); (_sqlite3VdbeMemExpandBlob($4003)|0); @@ -163753,45 +165131,45 @@ function _sqlite3VdbeExec($p) { $4007 = HEAP32[$pIdxKey>>2]|0; $4008 = ($4007|0)==(0|0); if ($4008) { - label = 871; + label = 867; break L1; } $4009 = HEAP32[$pC34>>2]|0; - $4010 = (($4009) + 8|0); + $4010 = ((($4009)) + 8|0); $4011 = HEAP32[$4010>>2]|0; $4012 = HEAP32[$pIn3>>2]|0; - $4013 = (($4012) + 12|0); + $4013 = ((($4012)) + 12|0); $4014 = HEAP32[$4013>>2]|0; $4015 = HEAP32[$pIn3>>2]|0; - $4016 = (($4015) + 16|0); + $4016 = ((($4015)) + 16|0); $4017 = HEAP32[$4016>>2]|0; $4018 = HEAP32[$pIdxKey>>2]|0; _sqlite3VdbeRecordUnpack($4011,$4014,$4017,$4018); } $4019 = HEAP32[$pIdxKey>>2]|0; - $4020 = (($4019) + 6|0); + $4020 = ((($4019)) + 6|0); HEAP8[$4020>>0] = 0; $4021 = HEAP32[$pOp>>2]|0; $4022 = HEAP8[$4021>>0]|0; $4023 = $4022&255; $4024 = ($4023|0)==(67); - L603: do { + L597: do { if ($4024) { HEAP32[$ii33>>2] = 0; while(1) { $4025 = HEAP32[$ii33>>2]|0; - $4026 = (($r36) + 4|0); + $4026 = ((($r36)) + 4|0); $4027 = HEAP16[$4026>>1]|0; $4028 = $4027&65535; $4029 = ($4025|0)<($4028|0); if (!($4029)) { - break L603; + break L597; } $4030 = HEAP32[$ii33>>2]|0; - $4031 = (($r36) + 8|0); + $4031 = ((($r36)) + 8|0); $4032 = HEAP32[$4031>>2]|0; $4033 = (($4032) + (($4030*40)|0)|0); - $4034 = (($4033) + 8|0); + $4034 = ((($4033)) + 8|0); $4035 = HEAP16[$4034>>1]|0; $4036 = $4035&65535; $4037 = $4036 & 1; @@ -163804,7 +165182,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$ii33>>2] = $4044; } $4039 = HEAP32[$pOp>>2]|0; - $4040 = (($4039) + 8|0); + $4040 = ((($4039)) + 8|0); $4041 = HEAP32[$4040>>2]|0; $4042 = (($4041) - 1)|0; HEAP32[$pc>>2] = $4042; @@ -163816,7 +165194,7 @@ function _sqlite3VdbeExec($p) { $4048 = (_sqlite3BtreeMovetoUnpacked($4046,$4047,0,0,0,$res35)|0); HEAP32[$rc>>2] = $4048; $4049 = HEAP32[$pOp>>2]|0; - $4050 = (($4049) + 16|0); + $4050 = ((($4049)) + 16|0); $4051 = HEAP32[$4050>>2]|0; $4052 = ($4051|0)==(0); if ($4052) { @@ -163829,7 +165207,7 @@ function _sqlite3VdbeExec($p) { if (!($4056)) { $4057 = HEAP32[$res35>>2]|0; $4058 = HEAP32[$pC34>>2]|0; - $4059 = (($4058) + 12|0); + $4059 = ((($4058)) + 12|0); HEAP32[$4059>>2] = $4057; $4060 = HEAP32[$res35>>2]|0; $4061 = ($4060|0)==(0); @@ -163839,13 +165217,13 @@ function _sqlite3VdbeExec($p) { $4064 = (1 - ($4063))|0; $4065 = $4064&255; $4066 = HEAP32[$pC34>>2]|0; - $4067 = (($4066) + 25|0); + $4067 = ((($4066)) + 25|0); HEAP8[$4067>>0] = $4065; $4068 = HEAP32[$pC34>>2]|0; - $4069 = (($4068) + 26|0); + $4069 = ((($4068)) + 26|0); HEAP8[$4069>>0] = 0; $4070 = HEAP32[$pC34>>2]|0; - $4071 = (($4070) + 60|0); + $4071 = ((($4070)) + 60|0); HEAP32[$4071>>2] = 0; $4072 = HEAP32[$pOp>>2]|0; $4073 = HEAP8[$4072>>0]|0; @@ -163858,7 +165236,7 @@ function _sqlite3VdbeExec($p) { break L21; } $4078 = HEAP32[$pOp>>2]|0; - $4079 = (($4078) + 8|0); + $4079 = ((($4078)) + 8|0); $4080 = HEAP32[$4079>>2]|0; $4081 = (($4080) - 1)|0; HEAP32[$pc>>2] = $4081; @@ -163868,7 +165246,7 @@ function _sqlite3VdbeExec($p) { break L21; } $4082 = HEAP32[$pOp>>2]|0; - $4083 = (($4082) + 8|0); + $4083 = ((($4082)) + 8|0); $4084 = HEAP32[$4083>>2]|0; $4085 = (($4084) - 1)|0; HEAP32[$pc>>2] = $4085; @@ -163877,51 +165255,18 @@ function _sqlite3VdbeExec($p) { } break; } - case 73: { - $4147 = HEAP32[$pOp>>2]|0; - $4148 = (($4147) + 4|0); - $4149 = HEAP32[$4148>>2]|0; - $4150 = HEAP32[$0>>2]|0; - $4151 = (($4150) + 56|0); - $4152 = HEAP32[$4151>>2]|0; - $4153 = (($4152) + ($4149<<2)|0); - $4154 = HEAP32[$4153>>2]|0; - $4155 = (($4154) + 40|0); - $4156 = $4155; - $4157 = $4156; - $4158 = HEAP32[$4157>>2]|0; - $4159 = (($4156) + 4)|0; - $4160 = $4159; - $4161 = HEAP32[$4160>>2]|0; - $4162 = (_i64Add(($4158|0),($4161|0),1,0)|0); - $4163 = tempRet0; - $4164 = $4155; - $4165 = $4164; - HEAP32[$4165>>2] = $4162; - $4166 = (($4164) + 4)|0; - $4167 = $4166; - HEAP32[$4167>>2] = $4163; - $4168 = HEAP32[$pOut>>2]|0; - $4169 = $4168; - $4170 = $4169; - HEAP32[$4170>>2] = $4158; - $4171 = (($4169) + 4)|0; - $4172 = $4171; - HEAP32[$4172>>2] = $4161; - break; - } case 70: { $4086 = HEAP32[$pOp>>2]|0; - $4087 = (($4086) + 12|0); + $4087 = ((($4086)) + 12|0); $4088 = HEAP32[$4087>>2]|0; $4089 = HEAP32[$aMem>>2]|0; $4090 = (($4089) + (($4088*40)|0)|0); HEAP32[$pIn3>>2] = $4090; $4091 = HEAP32[$pOp>>2]|0; - $4092 = (($4091) + 4|0); + $4092 = ((($4091)) + 4|0); $4093 = HEAP32[$4092>>2]|0; $4094 = HEAP32[$0>>2]|0; - $4095 = (($4094) + 56|0); + $4095 = ((($4094)) + 56|0); $4096 = HEAP32[$4095>>2]|0; $4097 = (($4096) + ($4093<<2)|0); $4098 = HEAP32[$4097>>2]|0; @@ -163959,7 +165304,7 @@ function _sqlite3VdbeExec($p) { $4124 = $4123; $4125 = HEAP32[$4124>>2]|0; $4126 = HEAP32[$pC37>>2]|0; - $4127 = (($4126) + 48|0); + $4127 = ((($4126)) + 48|0); $4128 = $4127; $4129 = $4128; HEAP32[$4129>>2] = $4122; @@ -163967,29 +165312,62 @@ function _sqlite3VdbeExec($p) { $4131 = $4130; HEAP32[$4131>>2] = $4125; $4132 = HEAP32[$pC37>>2]|0; - $4133 = (($4132) + 25|0); + $4133 = ((($4132)) + 25|0); HEAP8[$4133>>0] = 0; $4134 = HEAP32[$pC37>>2]|0; - $4135 = (($4134) + 60|0); + $4135 = ((($4134)) + 60|0); HEAP32[$4135>>2] = 0; $4136 = HEAP32[$pC37>>2]|0; - $4137 = (($4136) + 26|0); + $4137 = ((($4136)) + 26|0); HEAP8[$4137>>0] = 0; $4138 = HEAP32[$res39>>2]|0; $4139 = ($4138|0)!=(0); if ($4139) { $4140 = HEAP32[$pOp>>2]|0; - $4141 = (($4140) + 8|0); + $4141 = ((($4140)) + 8|0); $4142 = HEAP32[$4141>>2]|0; $4143 = (($4142) - 1)|0; HEAP32[$pc>>2] = $4143; } $4144 = HEAP32[$res39>>2]|0; $4145 = HEAP32[$pC37>>2]|0; - $4146 = (($4145) + 12|0); + $4146 = ((($4145)) + 12|0); HEAP32[$4146>>2] = $4144; break; } + case 73: { + $4147 = HEAP32[$pOp>>2]|0; + $4148 = ((($4147)) + 4|0); + $4149 = HEAP32[$4148>>2]|0; + $4150 = HEAP32[$0>>2]|0; + $4151 = ((($4150)) + 56|0); + $4152 = HEAP32[$4151>>2]|0; + $4153 = (($4152) + ($4149<<2)|0); + $4154 = HEAP32[$4153>>2]|0; + $4155 = ((($4154)) + 40|0); + $4156 = $4155; + $4157 = $4156; + $4158 = HEAP32[$4157>>2]|0; + $4159 = (($4156) + 4)|0; + $4160 = $4159; + $4161 = HEAP32[$4160>>2]|0; + $4162 = (_i64Add(($4158|0),($4161|0),1,0)|0); + $4163 = tempRet0; + $4164 = $4155; + $4165 = $4164; + HEAP32[$4165>>2] = $4162; + $4166 = (($4164) + 4)|0; + $4167 = $4166; + HEAP32[$4167>>2] = $4163; + $4168 = HEAP32[$pOut>>2]|0; + $4169 = $4168; + $4170 = $4169; + HEAP32[$4170>>2] = $4158; + $4171 = (($4169) + 4)|0; + $4172 = $4171; + HEAP32[$4172>>2] = $4161; + break; + } case 74: { $4173 = $v; $4174 = $4173; @@ -163999,10 +165377,10 @@ function _sqlite3VdbeExec($p) { HEAP32[$4176>>2] = 0; HEAP32[$res42>>2] = 0; $4177 = HEAP32[$pOp>>2]|0; - $4178 = (($4177) + 4|0); + $4178 = ((($4177)) + 4|0); $4179 = HEAP32[$4178>>2]|0; $4180 = HEAP32[$0>>2]|0; - $4181 = (($4180) + 56|0); + $4181 = ((($4180)) + 56|0); $4182 = HEAP32[$4181>>2]|0; $4183 = (($4182) + ($4179<<2)|0); $4184 = HEAP32[$4183>>2]|0; @@ -164012,7 +165390,7 @@ function _sqlite3VdbeExec($p) { $4187 = ($4186|0)==(0|0); if (!($4187)) { $4188 = HEAP32[$pC41>>2]|0; - $4189 = (($4188) + 27|0); + $4189 = ((($4188)) + 27|0); $4190 = HEAP8[$4189>>0]|0; $4191 = ($4190&255) >>> 1; $4192 = $4191 & 1; @@ -164057,7 +165435,7 @@ function _sqlite3VdbeExec($p) { $4219 = $4215 | $4218; if ($4219) { $4220 = HEAP32[$pC41>>2]|0; - $4221 = (($4220) + 27|0); + $4221 = ((($4220)) + 27|0); $4222 = HEAP8[$4221>>0]|0; $4223 = $4222 & -3; $4224 = $4223 | 2; @@ -164083,43 +165461,43 @@ function _sqlite3VdbeExec($p) { } } while(0); $4237 = HEAP32[$pOp>>2]|0; - $4238 = (($4237) + 12|0); + $4238 = ((($4237)) + 12|0); $4239 = HEAP32[$4238>>2]|0; $4240 = ($4239|0)!=(0); if ($4240) { $4241 = HEAP32[$0>>2]|0; - $4242 = (($4241) + 176|0); + $4242 = ((($4241)) + 176|0); $4243 = HEAP32[$4242>>2]|0; $4244 = ($4243|0)!=(0|0); if ($4244) { $4245 = HEAP32[$0>>2]|0; - $4246 = (($4245) + 176|0); + $4246 = ((($4245)) + 176|0); $4247 = HEAP32[$4246>>2]|0; HEAP32[$pFrame45>>2] = $4247; while(1) { $4248 = HEAP32[$pFrame45>>2]|0; - $4249 = (($4248) + 4|0); + $4249 = ((($4248)) + 4|0); $4250 = HEAP32[$4249>>2]|0; $4251 = ($4250|0)!=(0|0); if (!($4251)) { break; } $4252 = HEAP32[$pFrame45>>2]|0; - $4253 = (($4252) + 4|0); + $4253 = ((($4252)) + 4|0); $4254 = HEAP32[$4253>>2]|0; HEAP32[$pFrame45>>2] = $4254; } $4255 = HEAP32[$pOp>>2]|0; - $4256 = (($4255) + 12|0); + $4256 = ((($4255)) + 12|0); $4257 = HEAP32[$4256>>2]|0; $4258 = HEAP32[$pFrame45>>2]|0; - $4259 = (($4258) + 12|0); + $4259 = ((($4258)) + 12|0); $4260 = HEAP32[$4259>>2]|0; $4261 = (($4260) + (($4257*40)|0)|0); HEAP32[$pMem44>>2] = $4261; } else { $4262 = HEAP32[$pOp>>2]|0; - $4263 = (($4262) + 12|0); + $4263 = ((($4262)) + 12|0); $4264 = HEAP32[$4263>>2]|0; $4265 = HEAP32[$aMem>>2]|0; $4266 = (($4265) + (($4264*40)|0)|0); @@ -164138,18 +165516,18 @@ function _sqlite3VdbeExec($p) { $4276 = ($4274|0)==(2147483647); $4277 = $4275 & $4276; if ($4277) { - label = 557; + label = 553; break L11; } $4278 = HEAP32[$pC41>>2]|0; - $4279 = (($4278) + 27|0); + $4279 = ((($4278)) + 27|0); $4280 = HEAP8[$4279>>0]|0; $4281 = ($4280&255) >>> 1; $4282 = $4281 & 1; $4283 = $4282&255; $4284 = ($4283|0)!=(0); if ($4284) { - label = 557; + label = 553; break L11; } $4285 = $v; @@ -164204,7 +165582,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$4328>>2] = $4323; } $4329 = HEAP32[$pC41>>2]|0; - $4330 = (($4329) + 27|0); + $4330 = ((($4329)) + 27|0); $4331 = HEAP8[$4330>>0]|0; $4332 = ($4331&255) >>> 1; $4333 = $4332 & 1; @@ -164254,8 +165632,8 @@ function _sqlite3VdbeExec($p) { $4368 = ($4367|0)==(0); $4369 = HEAP32[$res42>>2]|0; $4370 = ($4369|0)==(0); - $or$cond15 = $4368 & $4370; - if (!($or$cond15)) { + $or$cond16 = $4368 & $4370; + if (!($or$cond16)) { break; } $4371 = HEAP32[$cnt43>>2]|0; @@ -164270,17 +165648,17 @@ function _sqlite3VdbeExec($p) { $4375 = ($4374|0)==(0); $4376 = HEAP32[$res42>>2]|0; $4377 = ($4376|0)==(0); - $or$cond18 = $4375 & $4377; - if ($or$cond18) { - label = 566; + $or$cond19 = $4375 & $4377; + if ($or$cond19) { + label = 562; break L11; } } $4378 = HEAP32[$pC41>>2]|0; - $4379 = (($4378) + 26|0); + $4379 = ((($4378)) + 26|0); HEAP8[$4379>>0] = 0; $4380 = HEAP32[$pC41>>2]|0; - $4381 = (($4380) + 60|0); + $4381 = ((($4380)) + 60|0); HEAP32[$4381>>2] = 0; } $4382 = $v; @@ -164300,16 +165678,16 @@ function _sqlite3VdbeExec($p) { } case 84: case 75: { $4393 = HEAP32[$pOp>>2]|0; - $4394 = (($4393) + 8|0); + $4394 = ((($4393)) + 8|0); $4395 = HEAP32[$4394>>2]|0; $4396 = HEAP32[$aMem>>2]|0; $4397 = (($4396) + (($4395*40)|0)|0); HEAP32[$pData>>2] = $4397; $4398 = HEAP32[$pOp>>2]|0; - $4399 = (($4398) + 4|0); + $4399 = ((($4398)) + 4|0); $4400 = HEAP32[$4399>>2]|0; $4401 = HEAP32[$0>>2]|0; - $4402 = (($4401) + 56|0); + $4402 = ((($4401)) + 56|0); $4403 = HEAP32[$4402>>2]|0; $4404 = (($4403) + ($4400<<2)|0); $4405 = HEAP32[$4404>>2]|0; @@ -164319,7 +165697,7 @@ function _sqlite3VdbeExec($p) { $4408 = $4407&255; $4409 = ($4408|0)==(75); $4410 = HEAP32[$pOp>>2]|0; - $4411 = (($4410) + 12|0); + $4411 = ((($4410)) + 12|0); $4412 = HEAP32[$4411>>2]|0; if ($4409) { $4413 = HEAP32[$aMem>>2]|0; @@ -164349,20 +165727,20 @@ function _sqlite3VdbeExec($p) { HEAP32[$4431>>2] = $4427; } $4432 = HEAP32[$pOp>>2]|0; - $4433 = (($4432) + 3|0); + $4433 = ((($4432)) + 3|0); $4434 = HEAP8[$4433>>0]|0; $4435 = $4434&255; $4436 = $4435 & 1; $4437 = ($4436|0)!=(0); if ($4437) { $4438 = HEAP32[$0>>2]|0; - $4439 = (($4438) + 92|0); + $4439 = ((($4438)) + 92|0); $4440 = HEAP32[$4439>>2]|0; $4441 = (($4440) + 1)|0; HEAP32[$4439>>2] = $4441; } $4442 = HEAP32[$pOp>>2]|0; - $4443 = (($4442) + 3|0); + $4443 = ((($4442)) + 3|0); $4444 = HEAP8[$4443>>0]|0; $4445 = $4444&255; $4446 = $4445 & 2; @@ -164381,7 +165759,7 @@ function _sqlite3VdbeExec($p) { $4457 = $4456; HEAP32[$4457>>2] = $4453; $4458 = HEAP32[$db>>2]|0; - $4459 = (($4458) + 32|0); + $4459 = ((($4458)) + 32|0); $4460 = $4459; $4461 = $4460; HEAP32[$4461>>2] = $4450; @@ -164390,28 +165768,28 @@ function _sqlite3VdbeExec($p) { HEAP32[$4463>>2] = $4453; } $4464 = HEAP32[$pData>>2]|0; - $4465 = (($4464) + 8|0); + $4465 = ((($4464)) + 8|0); $4466 = HEAP16[$4465>>1]|0; $4467 = $4466&65535; $4468 = $4467 & 1; $4469 = ($4468|0)!=(0); if ($4469) { $4470 = HEAP32[$pData>>2]|0; - $4471 = (($4470) + 16|0); + $4471 = ((($4470)) + 16|0); HEAP32[$4471>>2] = 0; $4472 = HEAP32[$pData>>2]|0; - $4473 = (($4472) + 12|0); + $4473 = ((($4472)) + 12|0); HEAP32[$4473>>2] = 0; } $4474 = HEAP32[$pOp>>2]|0; - $4475 = (($4474) + 3|0); + $4475 = ((($4474)) + 3|0); $4476 = HEAP8[$4475>>0]|0; $4477 = $4476&255; $4478 = $4477 & 16; $4479 = ($4478|0)!=(0); if ($4479) { $4480 = HEAP32[$pC47>>2]|0; - $4481 = (($4480) + 12|0); + $4481 = ((($4480)) + 12|0); $4482 = HEAP32[$4481>>2]|0; $4483 = $4482; } else { @@ -164419,7 +165797,7 @@ function _sqlite3VdbeExec($p) { } HEAP32[$seekResult>>2] = $4483; $4484 = HEAP32[$pData>>2]|0; - $4485 = (($4484) + 8|0); + $4485 = ((($4484)) + 8|0); $4486 = HEAP16[$4485>>1]|0; $4487 = $4486&65535; $4488 = $4487 & 16384; @@ -164440,14 +165818,14 @@ function _sqlite3VdbeExec($p) { $4498 = $4497; $4499 = HEAP32[$4498>>2]|0; $4500 = HEAP32[$pData>>2]|0; - $4501 = (($4500) + 16|0); + $4501 = ((($4500)) + 16|0); $4502 = HEAP32[$4501>>2]|0; $4503 = HEAP32[$pData>>2]|0; - $4504 = (($4503) + 12|0); + $4504 = ((($4503)) + 12|0); $4505 = HEAP32[$4504>>2]|0; $4506 = HEAP32[$nZero48>>2]|0; $4507 = HEAP32[$pOp>>2]|0; - $4508 = (($4507) + 3|0); + $4508 = ((($4507)) + 3|0); $4509 = HEAP8[$4508>>0]|0; $4510 = $4509&255; $4511 = $4510 & 8; @@ -164457,40 +165835,40 @@ function _sqlite3VdbeExec($p) { $4515 = (_sqlite3BtreeInsert($4493,0,$4496,$4499,$4502,$4505,$4506,$4513,$4514)|0); HEAP32[$rc>>2] = $4515; $4516 = HEAP32[$pC47>>2]|0; - $4517 = (($4516) + 26|0); + $4517 = ((($4516)) + 26|0); HEAP8[$4517>>0] = 0; $4518 = HEAP32[$pC47>>2]|0; - $4519 = (($4518) + 60|0); + $4519 = ((($4518)) + 60|0); HEAP32[$4519>>2] = 0; $4520 = HEAP32[$rc>>2]|0; $4521 = ($4520|0)==(0); if ($4521) { $4522 = HEAP32[$db>>2]|0; - $4523 = (($4522) + 208|0); + $4523 = ((($4522)) + 208|0); $4524 = HEAP32[$4523>>2]|0; $4525 = ($4524|0)!=(0|0); if ($4525) { $4526 = HEAP32[$pOp>>2]|0; - $4527 = (($4526) + 16|0); + $4527 = ((($4526)) + 16|0); $4528 = HEAP32[$4527>>2]|0; $4529 = ($4528|0)!=(0|0); if ($4529) { $4530 = HEAP32[$pC47>>2]|0; - $4531 = (($4530) + 24|0); + $4531 = ((($4530)) + 24|0); $4532 = HEAP8[$4531>>0]|0; $4533 = $4532 << 24 >> 24; $4534 = HEAP32[$db>>2]|0; - $4535 = (($4534) + 16|0); + $4535 = ((($4534)) + 16|0); $4536 = HEAP32[$4535>>2]|0; $4537 = (($4536) + ($4533<<4)|0); $4538 = HEAP32[$4537>>2]|0; HEAP32[$zDb>>2] = $4538; $4539 = HEAP32[$pOp>>2]|0; - $4540 = (($4539) + 16|0); + $4540 = ((($4539)) + 16|0); $4541 = HEAP32[$4540>>2]|0; HEAP32[$zTbl>>2] = $4541; $4542 = HEAP32[$pOp>>2]|0; - $4543 = (($4542) + 3|0); + $4543 = ((($4542)) + 3|0); $4544 = HEAP8[$4543>>0]|0; $4545 = $4544&255; $4546 = $4545 & 4; @@ -164498,10 +165876,10 @@ function _sqlite3VdbeExec($p) { $4548 = $4547 ? 23 : 18; HEAP32[$op49>>2] = $4548; $4549 = HEAP32[$db>>2]|0; - $4550 = (($4549) + 208|0); + $4550 = ((($4549)) + 208|0); $4551 = HEAP32[$4550>>2]|0; $4552 = HEAP32[$db>>2]|0; - $4553 = (($4552) + 204|0); + $4553 = ((($4552)) + 204|0); $4554 = HEAP32[$4553>>2]|0; $4555 = HEAP32[$op49>>2]|0; $4556 = HEAP32[$zDb>>2]|0; @@ -164520,10 +165898,10 @@ function _sqlite3VdbeExec($p) { } case 95: { $4564 = HEAP32[$pOp>>2]|0; - $4565 = (($4564) + 4|0); + $4565 = ((($4564)) + 4|0); $4566 = HEAP32[$4565>>2]|0; $4567 = HEAP32[$0>>2]|0; - $4568 = (($4567) + 56|0); + $4568 = ((($4567)) + 56|0); $4569 = HEAP32[$4568>>2]|0; $4570 = (($4569) + ($4566<<2)|0); $4571 = HEAP32[$4570>>2]|0; @@ -164533,23 +165911,23 @@ function _sqlite3VdbeExec($p) { $4574 = (_sqlite3BtreeDelete($4573)|0); HEAP32[$rc>>2] = $4574; $4575 = HEAP32[$pC50>>2]|0; - $4576 = (($4575) + 60|0); + $4576 = ((($4575)) + 60|0); HEAP32[$4576>>2] = 0; $4577 = HEAP32[$rc>>2]|0; $4578 = ($4577|0)==(0); if ($4578) { $4579 = HEAP32[$db>>2]|0; - $4580 = (($4579) + 208|0); + $4580 = ((($4579)) + 208|0); $4581 = HEAP32[$4580>>2]|0; $4582 = ($4581|0)!=(0|0); if ($4582) { $4583 = HEAP32[$pOp>>2]|0; - $4584 = (($4583) + 16|0); + $4584 = ((($4583)) + 16|0); $4585 = HEAP32[$4584>>2]|0; $4586 = ($4585|0)!=(0|0); if ($4586) { $4587 = HEAP32[$pC50>>2]|0; - $4588 = (($4587) + 27|0); + $4588 = ((($4587)) + 27|0); $4589 = HEAP8[$4588>>0]|0; $4590 = ($4589&255) >>> 2; $4591 = $4590 & 1; @@ -164557,25 +165935,25 @@ function _sqlite3VdbeExec($p) { $4593 = ($4592|0)!=(0); if ($4593) { $4594 = HEAP32[$db>>2]|0; - $4595 = (($4594) + 208|0); + $4595 = ((($4594)) + 208|0); $4596 = HEAP32[$4595>>2]|0; $4597 = HEAP32[$db>>2]|0; - $4598 = (($4597) + 204|0); + $4598 = ((($4597)) + 204|0); $4599 = HEAP32[$4598>>2]|0; $4600 = HEAP32[$pC50>>2]|0; - $4601 = (($4600) + 24|0); + $4601 = ((($4600)) + 24|0); $4602 = HEAP8[$4601>>0]|0; $4603 = $4602 << 24 >> 24; $4604 = HEAP32[$db>>2]|0; - $4605 = (($4604) + 16|0); + $4605 = ((($4604)) + 16|0); $4606 = HEAP32[$4605>>2]|0; $4607 = (($4606) + ($4603<<4)|0); $4608 = HEAP32[$4607>>2]|0; $4609 = HEAP32[$pOp>>2]|0; - $4610 = (($4609) + 16|0); + $4610 = ((($4609)) + 16|0); $4611 = HEAP32[$4610>>2]|0; $4612 = HEAP32[$pC50>>2]|0; - $4613 = (($4612) + 48|0); + $4613 = ((($4612)) + 48|0); $4614 = $4613; $4615 = $4614; $4616 = HEAP32[$4615>>2]|0; @@ -164588,13 +165966,13 @@ function _sqlite3VdbeExec($p) { } } $4620 = HEAP32[$pOp>>2]|0; - $4621 = (($4620) + 8|0); + $4621 = ((($4620)) + 8|0); $4622 = HEAP32[$4621>>2]|0; $4623 = $4622 & 1; $4624 = ($4623|0)!=(0); if ($4624) { $4625 = HEAP32[$0>>2]|0; - $4626 = (($4625) + 92|0); + $4626 = ((($4625)) + 92|0); $4627 = HEAP32[$4626>>2]|0; $4628 = (($4627) + 1)|0; HEAP32[$4626>>2] = $4628; @@ -164604,32 +165982,32 @@ function _sqlite3VdbeExec($p) { case 98: { $4629 = HEAP32[$db>>2]|0; $4630 = HEAP32[$0>>2]|0; - $4631 = (($4630) + 92|0); + $4631 = ((($4630)) + 92|0); $4632 = HEAP32[$4631>>2]|0; _sqlite3VdbeSetChanges($4629,$4632); $4633 = HEAP32[$0>>2]|0; - $4634 = (($4633) + 92|0); + $4634 = ((($4633)) + 92|0); HEAP32[$4634>>2] = 0; break; } case 99: { $4635 = HEAP32[$pOp>>2]|0; - $4636 = (($4635) + 4|0); + $4636 = ((($4635)) + 4|0); $4637 = HEAP32[$4636>>2]|0; $4638 = HEAP32[$0>>2]|0; - $4639 = (($4638) + 56|0); + $4639 = ((($4638)) + 56|0); $4640 = HEAP32[$4639>>2]|0; $4641 = (($4640) + ($4637<<2)|0); $4642 = HEAP32[$4641>>2]|0; HEAP32[$pC51>>2] = $4642; $4643 = HEAP32[$pOp>>2]|0; - $4644 = (($4643) + 12|0); + $4644 = ((($4643)) + 12|0); $4645 = HEAP32[$4644>>2]|0; $4646 = HEAP32[$aMem>>2]|0; $4647 = (($4646) + (($4645*40)|0)|0); HEAP32[$pIn3>>2] = $4647; $4648 = HEAP32[$pOp>>2]|0; - $4649 = (($4648) + 16|0); + $4649 = ((($4648)) + 16|0); $4650 = HEAP32[$4649>>2]|0; HEAP32[$nKeyCol>>2] = $4650; HEAP32[$res52>>2] = 0; @@ -164642,7 +166020,7 @@ function _sqlite3VdbeExec($p) { $4656 = ($4655|0)!=(0); if ($4656) { $4657 = HEAP32[$pOp>>2]|0; - $4658 = (($4657) + 8|0); + $4658 = ((($4657)) + 8|0); $4659 = HEAP32[$4658>>2]|0; $4660 = (($4659) - 1)|0; HEAP32[$pc>>2] = $4660; @@ -164651,16 +166029,16 @@ function _sqlite3VdbeExec($p) { } case 100: { $4661 = HEAP32[$pOp>>2]|0; - $4662 = (($4661) + 8|0); + $4662 = ((($4661)) + 8|0); $4663 = HEAP32[$4662>>2]|0; $4664 = HEAP32[$aMem>>2]|0; $4665 = (($4664) + (($4663*40)|0)|0); HEAP32[$pOut>>2] = $4665; $4666 = HEAP32[$pOp>>2]|0; - $4667 = (($4666) + 4|0); + $4667 = ((($4666)) + 4|0); $4668 = HEAP32[$4667>>2]|0; $4669 = HEAP32[$0>>2]|0; - $4670 = (($4669) + 56|0); + $4670 = ((($4669)) + 56|0); $4671 = HEAP32[$4670>>2]|0; $4672 = (($4671) + ($4668<<2)|0); $4673 = HEAP32[$4672>>2]|0; @@ -164670,29 +166048,29 @@ function _sqlite3VdbeExec($p) { $4676 = (_sqlite3VdbeSorterRowkey($4674,$4675)|0); HEAP32[$rc>>2] = $4676; $4677 = HEAP32[$pOp>>2]|0; - $4678 = (($4677) + 12|0); + $4678 = ((($4677)) + 12|0); $4679 = HEAP32[$4678>>2]|0; $4680 = HEAP32[$0>>2]|0; - $4681 = (($4680) + 56|0); + $4681 = ((($4680)) + 56|0); $4682 = HEAP32[$4681>>2]|0; $4683 = (($4682) + ($4679<<2)|0); $4684 = HEAP32[$4683>>2]|0; - $4685 = (($4684) + 60|0); + $4685 = ((($4684)) + 60|0); HEAP32[$4685>>2] = 0; break; } case 102: case 101: { $4686 = HEAP32[$pOp>>2]|0; - $4687 = (($4686) + 8|0); + $4687 = ((($4686)) + 8|0); $4688 = HEAP32[$4687>>2]|0; $4689 = HEAP32[$aMem>>2]|0; $4690 = (($4689) + (($4688*40)|0)|0); HEAP32[$pOut>>2] = $4690; $4691 = HEAP32[$pOp>>2]|0; - $4692 = (($4691) + 4|0); + $4692 = ((($4691)) + 4|0); $4693 = HEAP32[$4692>>2]|0; $4694 = HEAP32[$0>>2]|0; - $4695 = (($4694) + 56|0); + $4695 = ((($4694)) + 56|0); $4696 = HEAP32[$4695>>2]|0; $4697 = (($4696) + ($4693<<2)|0); $4698 = HEAP32[$4697>>2]|0; @@ -164701,7 +166079,7 @@ function _sqlite3VdbeExec($p) { $4700 = HEAP32[$4699>>2]|0; HEAP32[$pCrsr55>>2] = $4700; $4701 = HEAP32[$pC54>>2]|0; - $4702 = (($4701) + 27|0); + $4702 = ((($4701)) + 27|0); $4703 = HEAP8[$4702>>0]|0; $4704 = ($4703&255) >>> 2; $4705 = $4704 & 1; @@ -164717,7 +166095,7 @@ function _sqlite3VdbeExec($p) { $4713 = $4712; $4714 = HEAP32[$4713>>2]|0; $4715 = HEAP32[$db>>2]|0; - $4716 = (($4715) + 88|0); + $4716 = ((($4715)) + 88|0); $4717 = HEAP32[$4716>>2]|0; $4718 = ($4717|0)<(0); $4719 = $4718 << 31 >> 31; @@ -164727,7 +166105,7 @@ function _sqlite3VdbeExec($p) { $4723 = $4722 & $4721; $4724 = $4720 | $4723; if ($4724) { - label = 870; + label = 866; break L11; } $4725 = $n64; @@ -164741,11 +166119,11 @@ function _sqlite3VdbeExec($p) { (_sqlite3BtreeDataSize($4708,$n56)|0); $4731 = HEAP32[$n56>>2]|0; $4732 = HEAP32[$db>>2]|0; - $4733 = (($4732) + 88|0); + $4733 = ((($4732)) + 88|0); $4734 = HEAP32[$4733>>2]|0; $4735 = ($4731>>>0)>($4734>>>0); if ($4735) { - label = 870; + label = 866; break L11; } } @@ -164757,25 +166135,25 @@ function _sqlite3VdbeExec($p) { $4741 = (_sqlite3VdbeMemClearAndResize($4736,$4740)|0); $4742 = ($4741|0)!=(0); if ($4742) { - label = 871; + label = 867; break L1; } $4743 = HEAP32[$n56>>2]|0; $4744 = HEAP32[$pOut>>2]|0; - $4745 = (($4744) + 12|0); + $4745 = ((($4744)) + 12|0); HEAP32[$4745>>2] = $4743; $4746 = HEAP32[$pOut>>2]|0; - $4747 = (($4746) + 8|0); + $4747 = ((($4746)) + 8|0); $4748 = HEAP16[$4747>>1]|0; $4749 = $4748&65535; $4750 = $4749 & -16896; $4751 = $4750 | 16; $4752 = $4751&65535; $4753 = HEAP32[$pOut>>2]|0; - $4754 = (($4753) + 8|0); + $4754 = ((($4753)) + 8|0); HEAP16[$4754>>1] = $4752; $4755 = HEAP32[$pC54>>2]|0; - $4756 = (($4755) + 27|0); + $4756 = ((($4755)) + 27|0); $4757 = HEAP8[$4756>>0]|0; $4758 = ($4757&255) >>> 2; $4759 = $4758 & 1; @@ -164784,7 +166162,7 @@ function _sqlite3VdbeExec($p) { $4762 = HEAP32[$pCrsr55>>2]|0; $4763 = HEAP32[$n56>>2]|0; $4764 = HEAP32[$pOut>>2]|0; - $4765 = (($4764) + 16|0); + $4765 = ((($4764)) + 16|0); $4766 = HEAP32[$4765>>2]|0; if ($4761) { $4767 = (_sqlite3BtreeKey($4762,0,$4763,$4766)|0); @@ -164794,38 +166172,38 @@ function _sqlite3VdbeExec($p) { HEAP32[$rc>>2] = $4768; } $4769 = HEAP32[$pOut>>2]|0; - $4770 = (($4769) + 10|0); + $4770 = ((($4769)) + 10|0); HEAP8[$4770>>0] = 1; break; } case 103: { $4771 = HEAP32[$pOp>>2]|0; - $4772 = (($4771) + 4|0); + $4772 = ((($4771)) + 4|0); $4773 = HEAP32[$4772>>2]|0; $4774 = HEAP32[$0>>2]|0; - $4775 = (($4774) + 56|0); + $4775 = ((($4774)) + 56|0); $4776 = HEAP32[$4775>>2]|0; $4777 = (($4776) + ($4773<<2)|0); $4778 = HEAP32[$4777>>2]|0; HEAP32[$pC57>>2] = $4778; $4779 = HEAP32[$pC57>>2]|0; - $4780 = (($4779) + 25|0); + $4780 = ((($4779)) + 25|0); $4781 = HEAP8[$4780>>0]|0; $4782 = ($4781<<24>>24)!=(0); if ($4782) { $4783 = HEAP32[$pOut>>2]|0; - $4784 = (($4783) + 8|0); + $4784 = ((($4783)) + 8|0); HEAP16[$4784>>1] = 1; break L21; } $4785 = HEAP32[$pC57>>2]|0; - $4786 = (($4785) + 26|0); + $4786 = ((($4785)) + 26|0); $4787 = HEAP8[$4786>>0]|0; $4788 = ($4787<<24>>24)!=(0); $4789 = HEAP32[$pC57>>2]|0; do { if ($4788) { - $4790 = (($4789) + 48|0); + $4790 = ((($4789)) + 48|0); $4791 = $4790; $4792 = $4791; $4793 = HEAP32[$4792>>2]|0; @@ -164839,12 +166217,12 @@ function _sqlite3VdbeExec($p) { $4800 = $4799; HEAP32[$4800>>2] = $4796; } else { - $4801 = (($4789) + 32|0); + $4801 = ((($4789)) + 32|0); $4802 = HEAP32[$4801>>2]|0; $4803 = ($4802|0)!=(0|0); $4804 = HEAP32[$pC57>>2]|0; if ($4803) { - $4805 = (($4804) + 32|0); + $4805 = ((($4804)) + 32|0); $4806 = HEAP32[$4805>>2]|0; $4807 = HEAP32[$4806>>2]|0; HEAP32[$pVtab>>2] = $4807; @@ -164852,10 +166230,10 @@ function _sqlite3VdbeExec($p) { $4809 = HEAP32[$4808>>2]|0; HEAP32[$pModule>>2] = $4809; $4810 = HEAP32[$pModule>>2]|0; - $4811 = (($4810) + 48|0); + $4811 = ((($4810)) + 48|0); $4812 = HEAP32[$4811>>2]|0; $4813 = HEAP32[$pC57>>2]|0; - $4814 = (($4813) + 32|0); + $4814 = ((($4813)) + 32|0); $4815 = HEAP32[$4814>>2]|0; $4816 = (FUNCTION_TABLE_iii[$4812 & 63]($4815,$v58)|0); HEAP32[$rc>>2] = $4816; @@ -164872,12 +166250,12 @@ function _sqlite3VdbeExec($p) { break L11; } $4822 = HEAP32[$pC57>>2]|0; - $4823 = (($4822) + 25|0); + $4823 = ((($4822)) + 25|0); $4824 = HEAP8[$4823>>0]|0; $4825 = ($4824<<24>>24)!=(0); if ($4825) { $4826 = HEAP32[$pOut>>2]|0; - $4827 = (($4826) + 8|0); + $4827 = ((($4826)) + 8|0); HEAP16[$4827>>1] = 1; break L21; } else { @@ -164904,12 +166282,38 @@ function _sqlite3VdbeExec($p) { HEAP32[$4841>>2] = $4836; break; } + case 104: { + $4842 = HEAP32[$pOp>>2]|0; + $4843 = ((($4842)) + 4|0); + $4844 = HEAP32[$4843>>2]|0; + $4845 = HEAP32[$0>>2]|0; + $4846 = ((($4845)) + 56|0); + $4847 = HEAP32[$4846>>2]|0; + $4848 = (($4847) + ($4844<<2)|0); + $4849 = HEAP32[$4848>>2]|0; + HEAP32[$pC59>>2] = $4849; + $4850 = HEAP32[$pC59>>2]|0; + $4851 = ((($4850)) + 25|0); + HEAP8[$4851>>0] = 1; + $4852 = HEAP32[$pC59>>2]|0; + $4853 = ((($4852)) + 60|0); + HEAP32[$4853>>2] = 0; + $4854 = HEAP32[$pC59>>2]|0; + $4855 = HEAP32[$4854>>2]|0; + $4856 = ($4855|0)!=(0|0); + if ($4856) { + $4857 = HEAP32[$pC59>>2]|0; + $4858 = HEAP32[$4857>>2]|0; + _sqlite3BtreeClearCursor($4858); + } + break; + } case 105: { $4859 = HEAP32[$pOp>>2]|0; - $4860 = (($4859) + 4|0); + $4860 = ((($4859)) + 4|0); $4861 = HEAP32[$4860>>2]|0; $4862 = HEAP32[$0>>2]|0; - $4863 = (($4862) + 56|0); + $4863 = ((($4862)) + 56|0); $4864 = HEAP32[$4863>>2]|0; $4865 = (($4864) + ($4861<<2)|0); $4866 = HEAP32[$4865>>2]|0; @@ -164924,76 +166328,50 @@ function _sqlite3VdbeExec($p) { $4871 = HEAP32[$res62>>2]|0; $4872 = $4871&255; $4873 = HEAP32[$pC60>>2]|0; - $4874 = (($4873) + 25|0); + $4874 = ((($4873)) + 25|0); HEAP8[$4874>>0] = $4872; $4875 = HEAP32[$pC60>>2]|0; - $4876 = (($4875) + 26|0); + $4876 = ((($4875)) + 26|0); HEAP8[$4876>>0] = 0; $4877 = HEAP32[$pC60>>2]|0; - $4878 = (($4877) + 60|0); + $4878 = ((($4877)) + 60|0); HEAP32[$4878>>2] = 0; $4879 = HEAP32[$pOp>>2]|0; - $4880 = (($4879) + 8|0); + $4880 = ((($4879)) + 8|0); $4881 = HEAP32[$4880>>2]|0; $4882 = ($4881|0)>(0); $4883 = HEAP32[$res62>>2]|0; $4884 = ($4883|0)!=(0); - $or$cond26 = $4882 & $4884; - if ($or$cond26) { + $or$cond28 = $4882 & $4884; + if ($or$cond28) { $4885 = HEAP32[$pOp>>2]|0; - $4886 = (($4885) + 8|0); + $4886 = ((($4885)) + 8|0); $4887 = HEAP32[$4886>>2]|0; $4888 = (($4887) - 1)|0; HEAP32[$pc>>2] = $4888; } break; } - case 104: { - $4842 = HEAP32[$pOp>>2]|0; - $4843 = (($4842) + 4|0); - $4844 = HEAP32[$4843>>2]|0; - $4845 = HEAP32[$0>>2]|0; - $4846 = (($4845) + 56|0); - $4847 = HEAP32[$4846>>2]|0; - $4848 = (($4847) + ($4844<<2)|0); - $4849 = HEAP32[$4848>>2]|0; - HEAP32[$pC59>>2] = $4849; - $4850 = HEAP32[$pC59>>2]|0; - $4851 = (($4850) + 25|0); - HEAP8[$4851>>0] = 1; - $4852 = HEAP32[$pC59>>2]|0; - $4853 = (($4852) + 60|0); - HEAP32[$4853>>2] = 0; - $4854 = HEAP32[$pC59>>2]|0; - $4855 = HEAP32[$4854>>2]|0; - $4856 = ($4855|0)!=(0|0); - if ($4856) { - $4857 = HEAP32[$pC59>>2]|0; - $4858 = HEAP32[$4857>>2]|0; - _sqlite3BtreeClearCursor($4858); - } - break; - } case 107: case 106: { $4889 = HEAP32[$0>>2]|0; - $4890 = (($4889) + 108|0); - $4891 = (($4890) + 8|0); + $4890 = ((($4889)) + 108|0); + $4891 = ((($4890)) + 8|0); $4892 = HEAP32[$4891>>2]|0; $4893 = (($4892) + 1)|0; HEAP32[$4891>>2] = $4893; - label = 623; + label = 619; break; } case 108: { - label = 623; + label = 619; break; } case 5: { $4925 = HEAP32[$pOp>>2]|0; - $4926 = (($4925) + 4|0); + $4926 = ((($4925)) + 4|0); $4927 = HEAP32[$4926>>2]|0; $4928 = HEAP32[$0>>2]|0; - $4929 = (($4928) + 56|0); + $4929 = ((($4928)) + 56|0); $4930 = HEAP32[$4929>>2]|0; $4931 = (($4930) + ($4927<<2)|0); $4932 = HEAP32[$4931>>2]|0; @@ -165003,40 +166381,40 @@ function _sqlite3VdbeExec($p) { $4934 = HEAP32[$pC66>>2]|0; $4935 = (_sqlite3VdbeSorterNext($4933,$4934,$res67)|0); HEAP32[$rc>>2] = $4935; - label = 631; + label = 627; break; } case 7: case 6: { $4936 = HEAP32[$pOp>>2]|0; - $4937 = (($4936) + 4|0); + $4937 = ((($4936)) + 4|0); $4938 = HEAP32[$4937>>2]|0; $4939 = HEAP32[$0>>2]|0; - $4940 = (($4939) + 56|0); + $4940 = ((($4939)) + 56|0); $4941 = HEAP32[$4940>>2]|0; $4942 = (($4941) + ($4938<<2)|0); $4943 = HEAP32[$4942>>2]|0; $4944 = ($4943|0)==(0|0); if (!($4944)) { - label = 630; + label = 626; } break; } case 9: case 8: { - label = 630; + label = 626; break; } case 110: case 109: { $4981 = HEAP32[$pOp>>2]|0; - $4982 = (($4981) + 4|0); + $4982 = ((($4981)) + 4|0); $4983 = HEAP32[$4982>>2]|0; $4984 = HEAP32[$0>>2]|0; - $4985 = (($4984) + 56|0); + $4985 = ((($4984)) + 56|0); $4986 = HEAP32[$4985>>2]|0; $4987 = (($4986) + ($4983<<2)|0); $4988 = HEAP32[$4987>>2]|0; HEAP32[$pC68>>2] = $4988; $4989 = HEAP32[$pOp>>2]|0; - $4990 = (($4989) + 8|0); + $4990 = ((($4989)) + 8|0); $4991 = HEAP32[$4990>>2]|0; $4992 = HEAP32[$aMem>>2]|0; $4993 = (($4992) + (($4991*40)|0)|0); @@ -165045,20 +166423,20 @@ function _sqlite3VdbeExec($p) { $4995 = HEAP32[$4994>>2]|0; HEAP32[$pCrsr69>>2] = $4995; $4996 = HEAP32[$pOp>>2]|0; - $4997 = (($4996) + 3|0); + $4997 = ((($4996)) + 3|0); $4998 = HEAP8[$4997>>0]|0; $4999 = $4998&255; $5000 = $4999 & 1; $5001 = ($5000|0)!=(0); if ($5001) { $5002 = HEAP32[$0>>2]|0; - $5003 = (($5002) + 92|0); + $5003 = ((($5002)) + 92|0); $5004 = HEAP32[$5003>>2]|0; $5005 = (($5004) + 1)|0; HEAP32[$5003>>2] = $5005; } $5006 = HEAP32[$pIn2>>2]|0; - $5007 = (($5006) + 8|0); + $5007 = ((($5006)) + 8|0); $5008 = HEAP16[$5007>>1]|0; $5009 = $5008&65535; $5010 = $5009 & 16384; @@ -165075,7 +166453,7 @@ function _sqlite3VdbeExec($p) { $5016 = ($5015|0)==(0); if ($5016) { $5017 = HEAP32[$pC68>>2]|0; - $5018 = (($5017) + 56|0); + $5018 = ((($5017)) + 56|0); $5019 = HEAP32[$5018>>2]|0; $5020 = ($5019|0)!=(0|0); if ($5020) { @@ -165086,11 +166464,11 @@ function _sqlite3VdbeExec($p) { break L21; } $5024 = HEAP32[$pIn2>>2]|0; - $5025 = (($5024) + 12|0); + $5025 = ((($5024)) + 12|0); $5026 = HEAP32[$5025>>2]|0; HEAP32[$nKey>>2] = $5026; $5027 = HEAP32[$pIn2>>2]|0; - $5028 = (($5027) + 16|0); + $5028 = ((($5027)) + 16|0); $5029 = HEAP32[$5028>>2]|0; HEAP32[$zKey>>2] = $5029; $5030 = HEAP32[$pCrsr69>>2]|0; @@ -165099,36 +166477,86 @@ function _sqlite3VdbeExec($p) { $5033 = ($5032|0)<(0); $5034 = $5033 << 31 >> 31; $5035 = HEAP32[$pOp>>2]|0; - $5036 = (($5035) + 12|0); + $5036 = ((($5035)) + 12|0); $5037 = HEAP32[$5036>>2]|0; $5038 = HEAP32[$pOp>>2]|0; - $5039 = (($5038) + 3|0); + $5039 = ((($5038)) + 3|0); $5040 = HEAP8[$5039>>0]|0; $5041 = $5040&255; $5042 = $5041 & 16; $5043 = ($5042|0)!=(0); if ($5043) { $5044 = HEAP32[$pC68>>2]|0; - $5045 = (($5044) + 12|0); + $5045 = ((($5044)) + 12|0); $5046 = HEAP32[$5045>>2]|0; $5047 = $5046; } else { $5047 = 0; } - $5048 = (_sqlite3BtreeInsert($5030,$5031,$5032,$5034,1216,0,0,$5037,$5047)|0); + $5048 = (_sqlite3BtreeInsert($5030,$5031,$5032,$5034,14425,0,0,$5037,$5047)|0); HEAP32[$rc>>2] = $5048; $5049 = HEAP32[$pC68>>2]|0; - $5050 = (($5049) + 60|0); + $5050 = ((($5049)) + 60|0); HEAP32[$5050>>2] = 0; } break; } + case 111: { + $5051 = HEAP32[$pOp>>2]|0; + $5052 = ((($5051)) + 4|0); + $5053 = HEAP32[$5052>>2]|0; + $5054 = HEAP32[$0>>2]|0; + $5055 = ((($5054)) + 56|0); + $5056 = HEAP32[$5055>>2]|0; + $5057 = (($5056) + ($5053<<2)|0); + $5058 = HEAP32[$5057>>2]|0; + HEAP32[$pC70>>2] = $5058; + $5059 = HEAP32[$pC70>>2]|0; + $5060 = HEAP32[$5059>>2]|0; + HEAP32[$pCrsr71>>2] = $5060; + $5061 = HEAP32[$pC70>>2]|0; + $5062 = ((($5061)) + 8|0); + $5063 = HEAP32[$5062>>2]|0; + HEAP32[$r73>>2] = $5063; + $5064 = HEAP32[$pOp>>2]|0; + $5065 = ((($5064)) + 12|0); + $5066 = HEAP32[$5065>>2]|0; + $5067 = $5066&65535; + $5068 = ((($r73)) + 4|0); + HEAP16[$5068>>1] = $5067; + $5069 = ((($r73)) + 6|0); + HEAP8[$5069>>0] = 0; + $5070 = HEAP32[$pOp>>2]|0; + $5071 = ((($5070)) + 8|0); + $5072 = HEAP32[$5071>>2]|0; + $5073 = HEAP32[$aMem>>2]|0; + $5074 = (($5073) + (($5072*40)|0)|0); + $5075 = ((($r73)) + 8|0); + HEAP32[$5075>>2] = $5074; + $5076 = HEAP32[$pCrsr71>>2]|0; + $5077 = (_sqlite3BtreeMovetoUnpacked($5076,$r73,0,0,0,$res72)|0); + HEAP32[$rc>>2] = $5077; + $5078 = HEAP32[$rc>>2]|0; + $5079 = ($5078|0)==(0); + $5080 = HEAP32[$res72>>2]|0; + $5081 = ($5080|0)==(0); + $or$cond21 = $5079 & $5081; + if ($or$cond21) { + $5082 = HEAP32[$pCrsr71>>2]|0; + $5083 = (_sqlite3BtreeDelete($5082)|0); + HEAP32[$rc>>2] = $5083; + } + $5084 = HEAP32[$pC70>>2]|0; + $5085 = ((($5084)) + 60|0); + HEAP32[$5085>>2] = 0; + break; + } case 112: { $5086 = HEAP32[$pOp>>2]|0; - $5087 = (($5086) + 4|0); + $5087 = ((($5086)) + 4|0); $5088 = HEAP32[$5087>>2]|0; $5089 = HEAP32[$0>>2]|0; - $5090 = (($5089) + 56|0); + $5090 = ((($5089)) + 56|0); $5091 = HEAP32[$5090>>2]|0; $5092 = (($5091) + ($5088<<2)|0); $5093 = HEAP32[$5092>>2]|0; @@ -165137,7 +166565,7 @@ function _sqlite3VdbeExec($p) { $5095 = HEAP32[$5094>>2]|0; HEAP32[$pCrsr74>>2] = $5095; $5096 = HEAP32[$pOut>>2]|0; - $5097 = (($5096) + 8|0); + $5097 = ((($5096)) + 8|0); HEAP16[$5097>>1] = 1; $5098 = HEAP32[$pC75>>2]|0; $5099 = (_sqlite3VdbeCursorRestore($5098)|0); @@ -165148,7 +166576,7 @@ function _sqlite3VdbeExec($p) { break L11; } $5102 = HEAP32[$pC75>>2]|0; - $5103 = (($5102) + 25|0); + $5103 = ((($5102)) + 25|0); $5104 = HEAP8[$5103>>0]|0; $5105 = ($5104<<24>>24)!=(0); if (!($5105)) { @@ -165181,97 +166609,47 @@ function _sqlite3VdbeExec($p) { $5125 = $5124; HEAP32[$5125>>2] = $5120; $5126 = HEAP32[$pOut>>2]|0; - $5127 = (($5126) + 8|0); + $5127 = ((($5126)) + 8|0); HEAP16[$5127>>1] = 4; } break; } - case 111: { - $5051 = HEAP32[$pOp>>2]|0; - $5052 = (($5051) + 4|0); - $5053 = HEAP32[$5052>>2]|0; - $5054 = HEAP32[$0>>2]|0; - $5055 = (($5054) + 56|0); - $5056 = HEAP32[$5055>>2]|0; - $5057 = (($5056) + ($5053<<2)|0); - $5058 = HEAP32[$5057>>2]|0; - HEAP32[$pC70>>2] = $5058; - $5059 = HEAP32[$pC70>>2]|0; - $5060 = HEAP32[$5059>>2]|0; - HEAP32[$pCrsr71>>2] = $5060; - $5061 = HEAP32[$pC70>>2]|0; - $5062 = (($5061) + 8|0); - $5063 = HEAP32[$5062>>2]|0; - HEAP32[$r73>>2] = $5063; - $5064 = HEAP32[$pOp>>2]|0; - $5065 = (($5064) + 12|0); - $5066 = HEAP32[$5065>>2]|0; - $5067 = $5066&65535; - $5068 = (($r73) + 4|0); - HEAP16[$5068>>1] = $5067; - $5069 = (($r73) + 6|0); - HEAP8[$5069>>0] = 0; - $5070 = HEAP32[$pOp>>2]|0; - $5071 = (($5070) + 8|0); - $5072 = HEAP32[$5071>>2]|0; - $5073 = HEAP32[$aMem>>2]|0; - $5074 = (($5073) + (($5072*40)|0)|0); - $5075 = (($r73) + 8|0); - HEAP32[$5075>>2] = $5074; - $5076 = HEAP32[$pCrsr71>>2]|0; - $5077 = (_sqlite3BtreeMovetoUnpacked($5076,$r73,0,0,0,$res72)|0); - HEAP32[$rc>>2] = $5077; - $5078 = HEAP32[$rc>>2]|0; - $5079 = ($5078|0)==(0); - $5080 = HEAP32[$res72>>2]|0; - $5081 = ($5080|0)==(0); - $or$cond20 = $5079 & $5081; - if ($or$cond20) { - $5082 = HEAP32[$pCrsr71>>2]|0; - $5083 = (_sqlite3BtreeDelete($5082)|0); - HEAP32[$rc>>2] = $5083; - } - $5084 = HEAP32[$pC70>>2]|0; - $5085 = (($5084) + 60|0); - HEAP32[$5085>>2] = 0; - break; - } case 116: case 115: case 114: case 113: { $5128 = HEAP32[$pOp>>2]|0; - $5129 = (($5128) + 4|0); + $5129 = ((($5128)) + 4|0); $5130 = HEAP32[$5129>>2]|0; $5131 = HEAP32[$0>>2]|0; - $5132 = (($5131) + 56|0); + $5132 = ((($5131)) + 56|0); $5133 = HEAP32[$5132>>2]|0; $5134 = (($5133) + ($5130<<2)|0); $5135 = HEAP32[$5134>>2]|0; HEAP32[$pC76>>2] = $5135; $5136 = HEAP32[$pC76>>2]|0; - $5137 = (($5136) + 8|0); + $5137 = ((($5136)) + 8|0); $5138 = HEAP32[$5137>>2]|0; HEAP32[$r78>>2] = $5138; $5139 = HEAP32[$pOp>>2]|0; - $5140 = (($5139) + 16|0); + $5140 = ((($5139)) + 16|0); $5141 = HEAP32[$5140>>2]|0; $5142 = $5141&65535; - $5143 = (($r78) + 4|0); + $5143 = ((($r78)) + 4|0); HEAP16[$5143>>1] = $5142; $5144 = HEAP32[$pOp>>2]|0; $5145 = HEAP8[$5144>>0]|0; $5146 = $5145&255; $5147 = ($5146|0)<(115); - $5148 = (($r78) + 6|0); + $5148 = ((($r78)) + 6|0); if ($5147) { HEAP8[$5148>>0] = -1; } else { HEAP8[$5148>>0] = 0; } $5149 = HEAP32[$pOp>>2]|0; - $5150 = (($5149) + 12|0); + $5150 = ((($5149)) + 12|0); $5151 = HEAP32[$5150>>2]|0; $5152 = HEAP32[$aMem>>2]|0; $5153 = (($5152) + (($5151*40)|0)|0); - $5154 = (($r78) + 8|0); + $5154 = ((($r78)) + 8|0); HEAP32[$5154>>2] = $5153; HEAP32[$res77>>2] = 0; $5155 = HEAP32[$db>>2]|0; @@ -165295,7 +166673,7 @@ function _sqlite3VdbeExec($p) { $5167 = ($5166|0)>(0); if ($5167) { $5168 = HEAP32[$pOp>>2]|0; - $5169 = (($5168) + 8|0); + $5169 = ((($5168)) + 8|0); $5170 = HEAP32[$5169>>2]|0; $5171 = (($5170) - 1)|0; HEAP32[$pc>>2] = $5171; @@ -165305,7 +166683,7 @@ function _sqlite3VdbeExec($p) { case 117: { HEAP32[$iCnt>>2] = 0; $5172 = HEAP32[$db>>2]|0; - $5173 = (($5172) + 4|0); + $5173 = ((($5172)) + 4|0); $5174 = HEAP32[$5173>>2]|0; HEAP32[$pVdbe>>2] = $5174; while(1) { @@ -165315,12 +166693,12 @@ function _sqlite3VdbeExec($p) { break; } $5177 = HEAP32[$pVdbe>>2]|0; - $5178 = (($5177) + 40|0); + $5178 = ((($5177)) + 40|0); $5179 = HEAP32[$5178>>2]|0; $5180 = ($5179|0)==(-1108210269); if ($5180) { $5181 = HEAP32[$pVdbe>>2]|0; - $5182 = (($5181) + 88|0); + $5182 = ((($5181)) + 88|0); $5183 = HEAP16[$5182>>1]|0; $5184 = ($5183&65535) >>> 9; $5185 = $5184 & 1; @@ -165328,7 +166706,7 @@ function _sqlite3VdbeExec($p) { $5187 = ($5186|0)!=(0); if ($5187) { $5188 = HEAP32[$pVdbe>>2]|0; - $5189 = (($5188) + 88|0); + $5189 = ((($5188)) + 88|0); $5190 = HEAP16[$5189>>1]|0; $5191 = ($5190&65535) >>> 2; $5192 = $5191 & 3; @@ -165336,7 +166714,7 @@ function _sqlite3VdbeExec($p) { $5194 = ($5193|0)<(2); if ($5194) { $5195 = HEAP32[$pVdbe>>2]|0; - $5196 = (($5195) + 76|0); + $5196 = ((($5195)) + 76|0); $5197 = HEAP32[$5196>>2]|0; $5198 = ($5197|0)>=(0); if ($5198) { @@ -165348,41 +166726,41 @@ function _sqlite3VdbeExec($p) { } } $5201 = HEAP32[$pVdbe>>2]|0; - $5202 = (($5201) + 52|0); + $5202 = ((($5201)) + 52|0); $5203 = HEAP32[$5202>>2]|0; HEAP32[$pVdbe>>2] = $5203; } $5204 = HEAP32[$pOut>>2]|0; - $5205 = (($5204) + 8|0); + $5205 = ((($5204)) + 8|0); HEAP16[$5205>>1] = 1; $5206 = HEAP32[$iCnt>>2]|0; $5207 = ($5206|0)>(1); if ($5207) { HEAP32[$rc>>2] = 6; $5208 = HEAP32[$0>>2]|0; - $5209 = (($5208) + 86|0); + $5209 = ((($5208)) + 86|0); HEAP8[$5209>>0] = 2; break L21; } $5210 = HEAP32[$pOp>>2]|0; - $5211 = (($5210) + 12|0); + $5211 = ((($5210)) + 12|0); $5212 = HEAP32[$5211>>2]|0; HEAP32[$iDb79>>2] = $5212; HEAP32[$iMoved>>2] = 0; $5213 = HEAP32[$iDb79>>2]|0; $5214 = HEAP32[$db>>2]|0; - $5215 = (($5214) + 16|0); + $5215 = ((($5214)) + 16|0); $5216 = HEAP32[$5215>>2]|0; $5217 = (($5216) + ($5213<<4)|0); - $5218 = (($5217) + 4|0); + $5218 = ((($5217)) + 4|0); $5219 = HEAP32[$5218>>2]|0; $5220 = HEAP32[$pOp>>2]|0; - $5221 = (($5220) + 4|0); + $5221 = ((($5220)) + 4|0); $5222 = HEAP32[$5221>>2]|0; $5223 = (_sqlite3BtreeDropTable($5219,$5222,$iMoved)|0); HEAP32[$rc>>2] = $5223; $5224 = HEAP32[$pOut>>2]|0; - $5225 = (($5224) + 8|0); + $5225 = ((($5224)) + 8|0); HEAP16[$5225>>1] = 4; $5226 = HEAP32[$iMoved>>2]|0; $5227 = ($5226|0)<(0); @@ -165398,13 +166776,13 @@ function _sqlite3VdbeExec($p) { $5235 = ($5234|0)==(0); $5236 = HEAP32[$iMoved>>2]|0; $5237 = ($5236|0)!=(0); - $or$cond22 = $5235 & $5237; - if ($or$cond22) { + $or$cond23 = $5235 & $5237; + if ($or$cond23) { $5238 = HEAP32[$db>>2]|0; $5239 = HEAP32[$iDb79>>2]|0; $5240 = HEAP32[$iMoved>>2]|0; $5241 = HEAP32[$pOp>>2]|0; - $5242 = (($5241) + 4|0); + $5242 = ((($5241)) + 4|0); $5243 = HEAP32[$5242>>2]|0; _sqlite3RootPageMoved($5238,$5239,$5240,$5243); $5244 = HEAP32[$iDb79>>2]|0; @@ -165414,70 +166792,40 @@ function _sqlite3VdbeExec($p) { } break; } - case 119: { - $5297 = HEAP32[$pOp>>2]|0; - $5298 = (($5297) + 4|0); - $5299 = HEAP32[$5298>>2]|0; - $5300 = HEAP32[$0>>2]|0; - $5301 = (($5300) + 56|0); - $5302 = HEAP32[$5301>>2]|0; - $5303 = (($5302) + ($5299<<2)|0); - $5304 = HEAP32[$5303>>2]|0; - HEAP32[$pC80>>2] = $5304; - $5305 = HEAP32[$pC80>>2]|0; - $5306 = (($5305) + 56|0); - $5307 = HEAP32[$5306>>2]|0; - $5308 = ($5307|0)!=(0|0); - if ($5308) { - $5309 = HEAP32[$db>>2]|0; - $5310 = HEAP32[$pC80>>2]|0; - $5311 = (($5310) + 56|0); - $5312 = HEAP32[$5311>>2]|0; - _sqlite3VdbeSorterReset($5309,$5312); - break L21; - } else { - $5313 = HEAP32[$pC80>>2]|0; - $5314 = HEAP32[$5313>>2]|0; - $5315 = (_sqlite3BtreeClearTableOfCursor($5314)|0); - HEAP32[$rc>>2] = $5315; - break L21; - } - break; - } case 118: { HEAP32[$nChange>>2] = 0; $5247 = HEAP32[$pOp>>2]|0; - $5248 = (($5247) + 8|0); + $5248 = ((($5247)) + 8|0); $5249 = HEAP32[$5248>>2]|0; $5250 = HEAP32[$db>>2]|0; - $5251 = (($5250) + 16|0); + $5251 = ((($5250)) + 16|0); $5252 = HEAP32[$5251>>2]|0; $5253 = (($5252) + ($5249<<4)|0); - $5254 = (($5253) + 4|0); + $5254 = ((($5253)) + 4|0); $5255 = HEAP32[$5254>>2]|0; $5256 = HEAP32[$pOp>>2]|0; - $5257 = (($5256) + 4|0); + $5257 = ((($5256)) + 4|0); $5258 = HEAP32[$5257>>2]|0; $5259 = HEAP32[$pOp>>2]|0; - $5260 = (($5259) + 12|0); + $5260 = ((($5259)) + 12|0); $5261 = HEAP32[$5260>>2]|0; $5262 = ($5261|0)!=(0); $nChange$ = $5262 ? $nChange : 0; $5263 = (_sqlite3BtreeClearTable($5255,$5258,$nChange$)|0); HEAP32[$rc>>2] = $5263; $5264 = HEAP32[$pOp>>2]|0; - $5265 = (($5264) + 12|0); + $5265 = ((($5264)) + 12|0); $5266 = HEAP32[$5265>>2]|0; $5267 = ($5266|0)!=(0); if ($5267) { $5268 = HEAP32[$nChange>>2]|0; $5269 = HEAP32[$0>>2]|0; - $5270 = (($5269) + 92|0); + $5270 = ((($5269)) + 92|0); $5271 = HEAP32[$5270>>2]|0; $5272 = (($5271) + ($5268))|0; HEAP32[$5270>>2] = $5272; $5273 = HEAP32[$pOp>>2]|0; - $5274 = (($5273) + 12|0); + $5274 = ((($5273)) + 12|0); $5275 = HEAP32[$5274>>2]|0; $5276 = ($5275|0)>(0); if ($5276) { @@ -165485,7 +166833,7 @@ function _sqlite3VdbeExec($p) { $5278 = ($5277|0)<(0); $5279 = $5278 << 31 >> 31; $5280 = HEAP32[$pOp>>2]|0; - $5281 = (($5280) + 12|0); + $5281 = ((($5280)) + 12|0); $5282 = HEAP32[$5281>>2]|0; $5283 = HEAP32[$aMem>>2]|0; $5284 = (($5283) + (($5282*40)|0)|0); @@ -165507,13 +166855,43 @@ function _sqlite3VdbeExec($p) { } break; } + case 119: { + $5297 = HEAP32[$pOp>>2]|0; + $5298 = ((($5297)) + 4|0); + $5299 = HEAP32[$5298>>2]|0; + $5300 = HEAP32[$0>>2]|0; + $5301 = ((($5300)) + 56|0); + $5302 = HEAP32[$5301>>2]|0; + $5303 = (($5302) + ($5299<<2)|0); + $5304 = HEAP32[$5303>>2]|0; + HEAP32[$pC80>>2] = $5304; + $5305 = HEAP32[$pC80>>2]|0; + $5306 = ((($5305)) + 56|0); + $5307 = HEAP32[$5306>>2]|0; + $5308 = ($5307|0)!=(0|0); + if ($5308) { + $5309 = HEAP32[$db>>2]|0; + $5310 = HEAP32[$pC80>>2]|0; + $5311 = ((($5310)) + 56|0); + $5312 = HEAP32[$5311>>2]|0; + _sqlite3VdbeSorterReset($5309,$5312); + break L21; + } else { + $5313 = HEAP32[$pC80>>2]|0; + $5314 = HEAP32[$5313>>2]|0; + $5315 = (_sqlite3BtreeClearTableOfCursor($5314)|0); + HEAP32[$rc>>2] = $5315; + break L21; + } + break; + } case 121: case 120: { HEAP32[$pgno81>>2] = 0; $5316 = HEAP32[$pOp>>2]|0; - $5317 = (($5316) + 4|0); + $5317 = ((($5316)) + 4|0); $5318 = HEAP32[$5317>>2]|0; $5319 = HEAP32[$db>>2]|0; - $5320 = (($5319) + 16|0); + $5320 = ((($5319)) + 16|0); $5321 = HEAP32[$5320>>2]|0; $5322 = (($5321) + ($5318<<4)|0); HEAP32[$pDb83>>2] = $5322; @@ -165527,7 +166905,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$flags82>>2] = 2; } $5327 = HEAP32[$pDb83>>2]|0; - $5328 = (($5327) + 4|0); + $5328 = ((($5327)) + 4|0); $5329 = HEAP32[$5328>>2]|0; $5330 = HEAP32[$flags82>>2]|0; $5331 = (_sqlite3BtreeCreateTable($5329,$pgno81,$5330)|0); @@ -165544,63 +166922,43 @@ function _sqlite3VdbeExec($p) { HEAP32[$5339>>2] = $5334; break; } - case 123: { - $5389 = HEAP32[$db>>2]|0; - $5390 = HEAP32[$pOp>>2]|0; - $5391 = (($5390) + 4|0); - $5392 = HEAP32[$5391>>2]|0; - $5393 = (_sqlite3AnalysisLoad($5389,$5392)|0); - HEAP32[$rc>>2] = $5393; - break; - } - case 124: { - $5394 = HEAP32[$db>>2]|0; - $5395 = HEAP32[$pOp>>2]|0; - $5396 = (($5395) + 4|0); - $5397 = HEAP32[$5396>>2]|0; - $5398 = HEAP32[$pOp>>2]|0; - $5399 = (($5398) + 16|0); - $5400 = HEAP32[$5399>>2]|0; - _sqlite3UnlinkAndDeleteTable($5394,$5397,$5400); - break; - } case 122: { $5340 = HEAP32[$pOp>>2]|0; - $5341 = (($5340) + 4|0); + $5341 = ((($5340)) + 4|0); $5342 = HEAP32[$5341>>2]|0; HEAP32[$iDb84>>2] = $5342; $5343 = HEAP32[$iDb84>>2]|0; $5344 = ($5343|0)==(1); - $5345 = $5344 ? 14904 : 14928; + $5345 = $5344 ? 19269 : 19288; HEAP32[$zMaster>>2] = $5345; $5346 = HEAP32[$db>>2]|0; HEAP32[$initData>>2] = $5346; $5347 = HEAP32[$pOp>>2]|0; - $5348 = (($5347) + 4|0); + $5348 = ((($5347)) + 4|0); $5349 = HEAP32[$5348>>2]|0; - $5350 = (($initData) + 8|0); + $5350 = ((($initData)) + 8|0); HEAP32[$5350>>2] = $5349; $5351 = HEAP32[$0>>2]|0; - $5352 = (($5351) + 44|0); - $5353 = (($initData) + 4|0); + $5352 = ((($5351)) + 44|0); + $5353 = ((($initData)) + 4|0); HEAP32[$5353>>2] = $5352; $5354 = HEAP32[$db>>2]|0; $5355 = HEAP32[$iDb84>>2]|0; $5356 = HEAP32[$db>>2]|0; - $5357 = (($5356) + 16|0); + $5357 = ((($5356)) + 16|0); $5358 = HEAP32[$5357>>2]|0; $5359 = (($5358) + ($5355<<4)|0); $5360 = HEAP32[$5359>>2]|0; $5361 = HEAP32[$zMaster>>2]|0; $5362 = HEAP32[$pOp>>2]|0; - $5363 = (($5362) + 16|0); + $5363 = ((($5362)) + 16|0); $5364 = HEAP32[$5363>>2]|0; - HEAP32[$vararg_buffer84>>2] = $5360; - $vararg_ptr56 = (($vararg_buffer84) + 4|0); - HEAP32[$vararg_ptr56>>2] = $5361; - $vararg_ptr57 = (($vararg_buffer84) + 8|0); - HEAP32[$vararg_ptr57>>2] = $5364; - $5365 = (_sqlite3MPrintf($5354,31776,$vararg_buffer84)|0); + HEAP32[$vararg_buffer55>>2] = $5360; + $vararg_ptr58 = ((($vararg_buffer55)) + 4|0); + HEAP32[$vararg_ptr58>>2] = $5361; + $vararg_ptr59 = ((($vararg_buffer55)) + 8|0); + HEAP32[$vararg_ptr59>>2] = $5364; + $5365 = (_sqlite3MPrintf($5354,31484,$vararg_buffer55)|0); HEAP32[$zSql>>2] = $5365; $5366 = HEAP32[$zSql>>2]|0; $5367 = ($5366|0)==(0|0); @@ -165608,19 +166966,19 @@ function _sqlite3VdbeExec($p) { HEAP32[$rc>>2] = 7; } else { $5368 = HEAP32[$db>>2]|0; - $5369 = (($5368) + 140|0); - $5370 = (($5369) + 5|0); + $5369 = ((($5368)) + 140|0); + $5370 = ((($5369)) + 5|0); HEAP8[$5370>>0] = 1; - $5371 = (($initData) + 12|0); + $5371 = ((($initData)) + 12|0); HEAP32[$5371>>2] = 0; $5372 = HEAP32[$db>>2]|0; $5373 = HEAP32[$zSql>>2]|0; - $5374 = (_sqlite3_exec($5372,$5373,6,$initData,0)|0); + $5374 = (_sqlite3_exec($5372,$5373,7,$initData,0)|0); HEAP32[$rc>>2] = $5374; $5375 = HEAP32[$rc>>2]|0; $5376 = ($5375|0)==(0); if ($5376) { - $5377 = (($initData) + 12|0); + $5377 = ((($initData)) + 12|0); $5378 = HEAP32[$5377>>2]|0; HEAP32[$rc>>2] = $5378; } @@ -165628,8 +166986,8 @@ function _sqlite3VdbeExec($p) { $5380 = HEAP32[$zSql>>2]|0; _sqlite3DbFree($5379,$5380); $5381 = HEAP32[$db>>2]|0; - $5382 = (($5381) + 140|0); - $5383 = (($5382) + 5|0); + $5382 = ((($5381)) + 140|0); + $5383 = ((($5382)) + 5|0); HEAP8[$5383>>0] = 0; } $5384 = HEAP32[$rc>>2]|0; @@ -165641,25 +166999,56 @@ function _sqlite3VdbeExec($p) { $5387 = HEAP32[$rc>>2]|0; $5388 = ($5387|0)==(7); if ($5388) { - label = 871; + label = 867; break L1; } break; } + case 123: { + $5389 = HEAP32[$db>>2]|0; + $5390 = HEAP32[$pOp>>2]|0; + $5391 = ((($5390)) + 4|0); + $5392 = HEAP32[$5391>>2]|0; + $5393 = (_sqlite3AnalysisLoad($5389,$5392)|0); + HEAP32[$rc>>2] = $5393; + break; + } + case 124: { + $5394 = HEAP32[$db>>2]|0; + $5395 = HEAP32[$pOp>>2]|0; + $5396 = ((($5395)) + 4|0); + $5397 = HEAP32[$5396>>2]|0; + $5398 = HEAP32[$pOp>>2]|0; + $5399 = ((($5398)) + 16|0); + $5400 = HEAP32[$5399>>2]|0; + _sqlite3UnlinkAndDeleteTable($5394,$5397,$5400); + break; + } + case 125: { + $5401 = HEAP32[$db>>2]|0; + $5402 = HEAP32[$pOp>>2]|0; + $5403 = ((($5402)) + 4|0); + $5404 = HEAP32[$5403>>2]|0; + $5405 = HEAP32[$pOp>>2]|0; + $5406 = ((($5405)) + 16|0); + $5407 = HEAP32[$5406>>2]|0; + _sqlite3UnlinkAndDeleteIndex($5401,$5404,$5407); + break; + } case 126: { $5408 = HEAP32[$db>>2]|0; $5409 = HEAP32[$pOp>>2]|0; - $5410 = (($5409) + 4|0); + $5410 = ((($5409)) + 4|0); $5411 = HEAP32[$5410>>2]|0; $5412 = HEAP32[$pOp>>2]|0; - $5413 = (($5412) + 16|0); + $5413 = ((($5412)) + 16|0); $5414 = HEAP32[$5413>>2]|0; _sqlite3UnlinkAndDeleteTrigger($5408,$5411,$5414); break; } case 127: { $5415 = HEAP32[$pOp>>2]|0; - $5416 = (($5415) + 8|0); + $5416 = ((($5415)) + 8|0); $5417 = HEAP32[$5416>>2]|0; HEAP32[$nRoot>>2] = $5417; $5418 = HEAP32[$db>>2]|0; @@ -165671,17 +167060,17 @@ function _sqlite3VdbeExec($p) { $5423 = HEAP32[$aRoot>>2]|0; $5424 = ($5423|0)==(0|0); if ($5424) { - label = 871; + label = 867; break L1; } $5425 = HEAP32[$pOp>>2]|0; - $5426 = (($5425) + 12|0); + $5426 = ((($5425)) + 12|0); $5427 = HEAP32[$5426>>2]|0; $5428 = HEAP32[$aMem>>2]|0; $5429 = (($5428) + (($5427*40)|0)|0); HEAP32[$pnErr>>2] = $5429; $5430 = HEAP32[$pOp>>2]|0; - $5431 = (($5430) + 4|0); + $5431 = ((($5430)) + 4|0); $5432 = HEAP32[$5431>>2]|0; $5433 = HEAP32[$aMem>>2]|0; $5434 = (($5433) + (($5432*40)|0)|0); @@ -165711,14 +167100,14 @@ function _sqlite3VdbeExec($p) { $5449 = (($5448) + ($5438<<2)|0); HEAP32[$5449>>2] = 0; $5450 = HEAP32[$pOp>>2]|0; - $5451 = (($5450) + 3|0); + $5451 = ((($5450)) + 3|0); $5452 = HEAP8[$5451>>0]|0; $5453 = $5452&255; $5454 = HEAP32[$db>>2]|0; - $5455 = (($5454) + 16|0); + $5455 = ((($5454)) + 16|0); $5456 = HEAP32[$5455>>2]|0; $5457 = (($5456) + ($5453<<4)|0); - $5458 = (($5457) + 4|0); + $5458 = ((($5457)) + 4|0); $5459 = HEAP32[$5458>>2]|0; $5460 = HEAP32[$aRoot>>2]|0; $5461 = HEAP32[$nRoot>>2]|0; @@ -165760,7 +167149,7 @@ function _sqlite3VdbeExec($p) { $5491 = HEAP32[$z>>2]|0; $5492 = ($5491|0)==(0|0); if ($5492) { - label = 871; + label = 867; break L1; } $5493 = HEAP32[$pIn1>>2]|0; @@ -165773,32 +167162,21 @@ function _sqlite3VdbeExec($p) { (_sqlite3VdbeChangeEncoding($5495,$5497)|0); break; } - case 125: { - $5401 = HEAP32[$db>>2]|0; - $5402 = HEAP32[$pOp>>2]|0; - $5403 = (($5402) + 4|0); - $5404 = HEAP32[$5403>>2]|0; - $5405 = HEAP32[$pOp>>2]|0; - $5406 = (($5405) + 16|0); - $5407 = HEAP32[$5406>>2]|0; - _sqlite3UnlinkAndDeleteIndex($5401,$5404,$5407); - break; - } case 128: { $5498 = HEAP32[$pOp>>2]|0; - $5499 = (($5498) + 4|0); + $5499 = ((($5498)) + 4|0); $5500 = HEAP32[$5499>>2]|0; $5501 = HEAP32[$aMem>>2]|0; $5502 = (($5501) + (($5500*40)|0)|0); HEAP32[$pIn1>>2] = $5502; $5503 = HEAP32[$pOp>>2]|0; - $5504 = (($5503) + 8|0); + $5504 = ((($5503)) + 8|0); $5505 = HEAP32[$5504>>2]|0; $5506 = HEAP32[$aMem>>2]|0; $5507 = (($5506) + (($5505*40)|0)|0); HEAP32[$pIn2>>2] = $5507; $5508 = HEAP32[$pIn1>>2]|0; - $5509 = (($5508) + 8|0); + $5509 = ((($5508)) + 8|0); $5510 = HEAP16[$5509>>1]|0; $5511 = $5510&65535; $5512 = $5511 & 32; @@ -165807,13 +167185,13 @@ function _sqlite3VdbeExec($p) { $5514 = HEAP32[$pIn1>>2]|0; _sqlite3VdbeMemSetRowSet($5514); $5515 = HEAP32[$pIn1>>2]|0; - $5516 = (($5515) + 8|0); + $5516 = ((($5515)) + 8|0); $5517 = HEAP16[$5516>>1]|0; $5518 = $5517&65535; $5519 = $5518 & 32; $5520 = ($5519|0)==(0); if ($5520) { - label = 871; + label = 867; break L1; } } @@ -165831,13 +167209,13 @@ function _sqlite3VdbeExec($p) { } case 129: { $5530 = HEAP32[$pOp>>2]|0; - $5531 = (($5530) + 4|0); + $5531 = ((($5530)) + 4|0); $5532 = HEAP32[$5531>>2]|0; $5533 = HEAP32[$aMem>>2]|0; $5534 = (($5533) + (($5532*40)|0)|0); HEAP32[$pIn1>>2] = $5534; $5535 = HEAP32[$pIn1>>2]|0; - $5536 = (($5535) + 8|0); + $5536 = ((($5535)) + 8|0); $5537 = HEAP16[$5536>>1]|0; $5538 = $5537&65535; $5539 = $5538 & 32; @@ -165849,7 +167227,7 @@ function _sqlite3VdbeExec($p) { $5544 = ($5543|0)==(0); if (!($5544)) { $5550 = HEAP32[$pOp>>2]|0; - $5551 = (($5550) + 12|0); + $5551 = ((($5550)) + 12|0); $5552 = HEAP32[$5551>>2]|0; $5553 = HEAP32[$aMem>>2]|0; $5554 = (($5553) + (($5552*40)|0)|0); @@ -165867,7 +167245,7 @@ function _sqlite3VdbeExec($p) { $5545 = HEAP32[$pIn1>>2]|0; _sqlite3VdbeMemSetNull($5545); $5546 = HEAP32[$pOp>>2]|0; - $5547 = (($5546) + 8|0); + $5547 = ((($5546)) + 8|0); $5548 = HEAP32[$5547>>2]|0; $5549 = (($5548) - 1)|0; HEAP32[$pc>>2] = $5549; @@ -165876,23 +167254,23 @@ function _sqlite3VdbeExec($p) { } case 130: { $5561 = HEAP32[$pOp>>2]|0; - $5562 = (($5561) + 4|0); + $5562 = ((($5561)) + 4|0); $5563 = HEAP32[$5562>>2]|0; $5564 = HEAP32[$aMem>>2]|0; $5565 = (($5564) + (($5563*40)|0)|0); HEAP32[$pIn1>>2] = $5565; $5566 = HEAP32[$pOp>>2]|0; - $5567 = (($5566) + 12|0); + $5567 = ((($5566)) + 12|0); $5568 = HEAP32[$5567>>2]|0; $5569 = HEAP32[$aMem>>2]|0; $5570 = (($5569) + (($5568*40)|0)|0); HEAP32[$pIn3>>2] = $5570; $5571 = HEAP32[$pOp>>2]|0; - $5572 = (($5571) + 16|0); + $5572 = ((($5571)) + 16|0); $5573 = HEAP32[$5572>>2]|0; HEAP32[$iSet>>2] = $5573; $5574 = HEAP32[$pIn1>>2]|0; - $5575 = (($5574) + 8|0); + $5575 = ((($5574)) + 8|0); $5576 = HEAP16[$5575>>1]|0; $5577 = $5576&65535; $5578 = $5577 & 32; @@ -165901,13 +167279,13 @@ function _sqlite3VdbeExec($p) { $5580 = HEAP32[$pIn1>>2]|0; _sqlite3VdbeMemSetRowSet($5580); $5581 = HEAP32[$pIn1>>2]|0; - $5582 = (($5581) + 8|0); + $5582 = ((($5581)) + 8|0); $5583 = HEAP16[$5582>>1]|0; $5584 = $5583&65535; $5585 = $5584 & 32; $5586 = ($5585|0)==(0); if ($5586) { - label = 871; + label = 867; break L1; } } @@ -165930,7 +167308,7 @@ function _sqlite3VdbeExec($p) { $5601 = ($5600|0)!=(0); if ($5601) { $5602 = HEAP32[$pOp>>2]|0; - $5603 = (($5602) + 8|0); + $5603 = ((($5602)) + 8|0); $5604 = HEAP32[$5603>>2]|0; $5605 = (($5604) - 1)|0; HEAP32[$pc>>2] = $5605; @@ -165955,26 +167333,26 @@ function _sqlite3VdbeExec($p) { } case 131: { $5617 = HEAP32[$pOp>>2]|0; - $5618 = (($5617) + 16|0); + $5618 = ((($5617)) + 16|0); $5619 = HEAP32[$5618>>2]|0; HEAP32[$pProgram>>2] = $5619; $5620 = HEAP32[$pOp>>2]|0; - $5621 = (($5620) + 12|0); + $5621 = ((($5620)) + 12|0); $5622 = HEAP32[$5621>>2]|0; $5623 = HEAP32[$aMem>>2]|0; $5624 = (($5623) + (($5622*40)|0)|0); HEAP32[$pRt>>2] = $5624; $5625 = HEAP32[$pOp>>2]|0; - $5626 = (($5625) + 3|0); + $5626 = ((($5625)) + 3|0); $5627 = HEAP8[$5626>>0]|0; $5628 = ($5627<<24>>24)!=(0); if ($5628) { $5629 = HEAP32[$pProgram>>2]|0; - $5630 = (($5629) + 20|0); + $5630 = ((($5629)) + 20|0); $5631 = HEAP32[$5630>>2]|0; HEAP32[$t89>>2] = $5631; $5632 = HEAP32[$0>>2]|0; - $5633 = (($5632) + 176|0); + $5633 = ((($5632)) + 176|0); $5634 = HEAP32[$5633>>2]|0; HEAP32[$pFrame88>>2] = $5634; while(1) { @@ -165984,7 +167362,7 @@ function _sqlite3VdbeExec($p) { break; } $5637 = HEAP32[$pFrame88>>2]|0; - $5638 = (($5637) + 24|0); + $5638 = ((($5637)) + 24|0); $5639 = HEAP32[$5638>>2]|0; $5640 = HEAP32[$t89>>2]|0; $5641 = ($5639|0)!=($5640|0); @@ -165992,7 +167370,7 @@ function _sqlite3VdbeExec($p) { break; } $5642 = HEAP32[$pFrame88>>2]|0; - $5643 = (($5642) + 4|0); + $5643 = ((($5642)) + 4|0); $5644 = HEAP32[$5643>>2]|0; HEAP32[$pFrame88>>2] = $5644; } @@ -166003,34 +167381,34 @@ function _sqlite3VdbeExec($p) { } } $5647 = HEAP32[$0>>2]|0; - $5648 = (($5647) + 184|0); + $5648 = ((($5647)) + 184|0); $5649 = HEAP32[$5648>>2]|0; $5650 = HEAP32[$db>>2]|0; - $5651 = (($5650) + 88|0); - $5652 = (($5651) + 40|0); + $5651 = ((($5650)) + 88|0); + $5652 = ((($5651)) + 40|0); $5653 = HEAP32[$5652>>2]|0; $5654 = ($5649|0)>=($5653|0); if ($5654) { HEAP32[$rc>>2] = 1; $5655 = HEAP32[$0>>2]|0; - $5656 = (($5655) + 44|0); + $5656 = ((($5655)) + 44|0); $5657 = HEAP32[$db>>2]|0; - _sqlite3SetString($5656,$5657,31840,$vararg_buffer84); + _sqlite3SetString($5656,$5657,31548,$vararg_buffer60); break L21; } $5658 = HEAP32[$pRt>>2]|0; - $5659 = (($5658) + 8|0); + $5659 = ((($5658)) + 8|0); $5660 = HEAP16[$5659>>1]|0; $5661 = $5660&65535; $5662 = $5661 & 64; $5663 = ($5662|0)==(0); - L845: do { + L839: do { if ($5663) { $5664 = HEAP32[$pProgram>>2]|0; - $5665 = (($5664) + 8|0); + $5665 = ((($5664)) + 8|0); $5666 = HEAP32[$5665>>2]|0; $5667 = HEAP32[$pProgram>>2]|0; - $5668 = (($5667) + 12|0); + $5668 = ((($5667)) + 12|0); $5669 = HEAP32[$5668>>2]|0; $5670 = (($5666) + ($5669))|0; HEAP32[$nMem>>2] = $5670; @@ -166038,12 +167416,12 @@ function _sqlite3VdbeExec($p) { $5672 = ($5671*40)|0; $5673 = (72 + ($5672))|0; $5674 = HEAP32[$pProgram>>2]|0; - $5675 = (($5674) + 12|0); + $5675 = ((($5674)) + 12|0); $5676 = HEAP32[$5675>>2]|0; $5677 = $5676<<2; $5678 = (($5673) + ($5677))|0; $5679 = HEAP32[$pProgram>>2]|0; - $5680 = (($5679) + 16|0); + $5680 = ((($5679)) + 16|0); $5681 = HEAP32[$5680>>2]|0; $5682 = $5681; $5683 = (($5678) + ($5682))|0; @@ -166057,13 +167435,13 @@ function _sqlite3VdbeExec($p) { $5689 = HEAP32[$pFrame88>>2]|0; $5690 = ($5689|0)!=(0|0); if (!($5690)) { - label = 871; + label = 867; break L1; } $5691 = HEAP32[$pRt>>2]|0; _sqlite3VdbeMemRelease($5691); $5692 = HEAP32[$pRt>>2]|0; - $5693 = (($5692) + 8|0); + $5693 = ((($5692)) + 8|0); HEAP16[$5693>>1] = 64; $5694 = HEAP32[$pFrame88>>2]|0; $5695 = HEAP32[$pRt>>2]|0; @@ -166073,98 +167451,98 @@ function _sqlite3VdbeExec($p) { HEAP32[$5697>>2] = $5696; $5698 = HEAP32[$nMem>>2]|0; $5699 = HEAP32[$pFrame88>>2]|0; - $5700 = (($5699) + 60|0); + $5700 = ((($5699)) + 60|0); HEAP32[$5700>>2] = $5698; $5701 = HEAP32[$pProgram>>2]|0; - $5702 = (($5701) + 12|0); + $5702 = ((($5701)) + 12|0); $5703 = HEAP32[$5702>>2]|0; $5704 = HEAP32[$pFrame88>>2]|0; - $5705 = (($5704) + 64|0); + $5705 = ((($5704)) + 64|0); HEAP32[$5705>>2] = $5703; $5706 = HEAP32[$pc>>2]|0; $5707 = HEAP32[$pFrame88>>2]|0; - $5708 = (($5707) + 44|0); + $5708 = ((($5707)) + 44|0); HEAP32[$5708>>2] = $5706; $5709 = HEAP32[$0>>2]|0; - $5710 = (($5709) + 8|0); + $5710 = ((($5709)) + 8|0); $5711 = HEAP32[$5710>>2]|0; $5712 = HEAP32[$pFrame88>>2]|0; - $5713 = (($5712) + 12|0); + $5713 = ((($5712)) + 12|0); HEAP32[$5713>>2] = $5711; $5714 = HEAP32[$0>>2]|0; - $5715 = (($5714) + 28|0); + $5715 = ((($5714)) + 28|0); $5716 = HEAP32[$5715>>2]|0; $5717 = HEAP32[$pFrame88>>2]|0; - $5718 = (($5717) + 52|0); + $5718 = ((($5717)) + 52|0); HEAP32[$5718>>2] = $5716; $5719 = HEAP32[$0>>2]|0; - $5720 = (($5719) + 56|0); + $5720 = ((($5719)) + 56|0); $5721 = HEAP32[$5720>>2]|0; $5722 = HEAP32[$pFrame88>>2]|0; - $5723 = (($5722) + 20|0); + $5723 = ((($5722)) + 20|0); HEAP32[$5723>>2] = $5721; $5724 = HEAP32[$0>>2]|0; - $5725 = (($5724) + 36|0); + $5725 = ((($5724)) + 36|0); $5726 = HEAP32[$5725>>2]|0; $5727 = HEAP32[$pFrame88>>2]|0; - $5728 = (($5727) + 40|0); + $5728 = ((($5727)) + 40|0); HEAP32[$5728>>2] = $5726; $5729 = HEAP32[$0>>2]|0; - $5730 = (($5729) + 4|0); + $5730 = ((($5729)) + 4|0); $5731 = HEAP32[$5730>>2]|0; $5732 = HEAP32[$pFrame88>>2]|0; - $5733 = (($5732) + 8|0); + $5733 = ((($5732)) + 8|0); HEAP32[$5733>>2] = $5731; $5734 = HEAP32[$0>>2]|0; - $5735 = (($5734) + 32|0); + $5735 = ((($5734)) + 32|0); $5736 = HEAP32[$5735>>2]|0; $5737 = HEAP32[$pFrame88>>2]|0; - $5738 = (($5737) + 48|0); + $5738 = ((($5737)) + 48|0); HEAP32[$5738>>2] = $5736; $5739 = HEAP32[$pProgram>>2]|0; - $5740 = (($5739) + 20|0); + $5740 = ((($5739)) + 20|0); $5741 = HEAP32[$5740>>2]|0; $5742 = HEAP32[$pFrame88>>2]|0; - $5743 = (($5742) + 24|0); + $5743 = ((($5742)) + 24|0); HEAP32[$5743>>2] = $5741; $5744 = HEAP32[$0>>2]|0; - $5745 = (($5744) + 200|0); + $5745 = ((($5744)) + 200|0); $5746 = HEAP32[$5745>>2]|0; $5747 = HEAP32[$pFrame88>>2]|0; - $5748 = (($5747) + 16|0); + $5748 = ((($5747)) + 16|0); HEAP32[$5748>>2] = $5746; $5749 = HEAP32[$0>>2]|0; - $5750 = (($5749) + 196|0); + $5750 = ((($5749)) + 196|0); $5751 = HEAP32[$5750>>2]|0; $5752 = HEAP32[$pFrame88>>2]|0; - $5753 = (($5752) + 56|0); + $5753 = ((($5752)) + 56|0); HEAP32[$5753>>2] = $5751; $5754 = HEAP32[$pFrame88>>2]|0; - $5755 = (($5754) + 60|0); + $5755 = ((($5754)) + 60|0); $5756 = HEAP32[$5755>>2]|0; $5757 = HEAP32[$pFrame88>>2]|0; - $5758 = (($5757) + 72|0); + $5758 = ((($5757)) + 72|0); $5759 = (($5758) + (($5756*40)|0)|0); HEAP32[$pEnd>>2] = $5759; $5760 = HEAP32[$pFrame88>>2]|0; - $5761 = (($5760) + 72|0); + $5761 = ((($5760)) + 72|0); HEAP32[$pMem87>>2] = $5761; while(1) { $5762 = HEAP32[$pMem87>>2]|0; $5763 = HEAP32[$pEnd>>2]|0; $5764 = ($5762|0)!=($5763|0); if (!($5764)) { - break L845; + break L839; } $5765 = HEAP32[$pMem87>>2]|0; - $5766 = (($5765) + 8|0); + $5766 = ((($5765)) + 8|0); HEAP16[$5766>>1] = 128; $5767 = HEAP32[$db>>2]|0; $5768 = HEAP32[$pMem87>>2]|0; - $5769 = (($5768) + 32|0); + $5769 = ((($5768)) + 32|0); HEAP32[$5769>>2] = $5767; $5770 = HEAP32[$pMem87>>2]|0; - $5771 = (($5770) + 40|0); + $5771 = ((($5770)) + 40|0); HEAP32[$pMem87>>2] = $5771; } } else { @@ -166174,15 +167552,15 @@ function _sqlite3VdbeExec($p) { } } while(0); $5774 = HEAP32[$0>>2]|0; - $5775 = (($5774) + 184|0); + $5775 = ((($5774)) + 184|0); $5776 = HEAP32[$5775>>2]|0; $5777 = (($5776) + 1)|0; HEAP32[$5775>>2] = $5777; $5778 = HEAP32[$0>>2]|0; - $5779 = (($5778) + 176|0); + $5779 = ((($5778)) + 176|0); $5780 = HEAP32[$5779>>2]|0; $5781 = HEAP32[$pFrame88>>2]|0; - $5782 = (($5781) + 4|0); + $5782 = ((($5781)) + 4|0); HEAP32[$5782>>2] = $5780; $5783 = $lastRowid; $5784 = $5783; @@ -166191,7 +167569,7 @@ function _sqlite3VdbeExec($p) { $5787 = $5786; $5788 = HEAP32[$5787>>2]|0; $5789 = HEAP32[$pFrame88>>2]|0; - $5790 = (($5789) + 32|0); + $5790 = ((($5789)) + 32|0); $5791 = $5790; $5792 = $5791; HEAP32[$5792>>2] = $5785; @@ -166199,106 +167577,106 @@ function _sqlite3VdbeExec($p) { $5794 = $5793; HEAP32[$5794>>2] = $5788; $5795 = HEAP32[$0>>2]|0; - $5796 = (($5795) + 92|0); + $5796 = ((($5795)) + 92|0); $5797 = HEAP32[$5796>>2]|0; $5798 = HEAP32[$pFrame88>>2]|0; - $5799 = (($5798) + 68|0); + $5799 = ((($5798)) + 68|0); HEAP32[$5799>>2] = $5797; $5800 = HEAP32[$0>>2]|0; - $5801 = (($5800) + 92|0); + $5801 = ((($5800)) + 92|0); HEAP32[$5801>>2] = 0; $5802 = HEAP32[$pFrame88>>2]|0; $5803 = HEAP32[$0>>2]|0; - $5804 = (($5803) + 176|0); + $5804 = ((($5803)) + 176|0); HEAP32[$5804>>2] = $5802; $5805 = HEAP32[$pFrame88>>2]|0; - $5806 = (($5805) + 72|0); - $5807 = (($5806) + -40|0); + $5806 = ((($5805)) + 72|0); + $5807 = ((($5806)) + -40|0); HEAP32[$aMem>>2] = $5807; $5808 = HEAP32[$0>>2]|0; - $5809 = (($5808) + 8|0); + $5809 = ((($5808)) + 8|0); HEAP32[$5809>>2] = $5807; $5810 = HEAP32[$pFrame88>>2]|0; - $5811 = (($5810) + 60|0); + $5811 = ((($5810)) + 60|0); $5812 = HEAP32[$5811>>2]|0; $5813 = HEAP32[$0>>2]|0; - $5814 = (($5813) + 28|0); + $5814 = ((($5813)) + 28|0); HEAP32[$5814>>2] = $5812; $5815 = HEAP32[$pFrame88>>2]|0; - $5816 = (($5815) + 64|0); + $5816 = ((($5815)) + 64|0); $5817 = HEAP32[$5816>>2]|0; $5818 = $5817&65535; $5819 = $5818&65535; $5820 = HEAP32[$0>>2]|0; - $5821 = (($5820) + 36|0); + $5821 = ((($5820)) + 36|0); HEAP32[$5821>>2] = $5819; $5822 = HEAP32[$0>>2]|0; - $5823 = (($5822) + 28|0); + $5823 = ((($5822)) + 28|0); $5824 = HEAP32[$5823>>2]|0; $5825 = (($5824) + 1)|0; $5826 = HEAP32[$aMem>>2]|0; $5827 = (($5826) + (($5825*40)|0)|0); $5828 = HEAP32[$0>>2]|0; - $5829 = (($5828) + 56|0); + $5829 = ((($5828)) + 56|0); HEAP32[$5829>>2] = $5827; $5830 = HEAP32[$pProgram>>2]|0; $5831 = HEAP32[$5830>>2]|0; HEAP32[$aOp>>2] = $5831; $5832 = HEAP32[$0>>2]|0; - $5833 = (($5832) + 4|0); + $5833 = ((($5832)) + 4|0); HEAP32[$5833>>2] = $5831; $5834 = HEAP32[$pProgram>>2]|0; - $5835 = (($5834) + 4|0); + $5835 = ((($5834)) + 4|0); $5836 = HEAP32[$5835>>2]|0; $5837 = HEAP32[$0>>2]|0; - $5838 = (($5837) + 32|0); + $5838 = ((($5837)) + 32|0); HEAP32[$5838>>2] = $5836; $5839 = HEAP32[$0>>2]|0; - $5840 = (($5839) + 36|0); + $5840 = ((($5839)) + 36|0); $5841 = HEAP32[$5840>>2]|0; $5842 = HEAP32[$0>>2]|0; - $5843 = (($5842) + 56|0); + $5843 = ((($5842)) + 56|0); $5844 = HEAP32[$5843>>2]|0; $5845 = (($5844) + ($5841<<2)|0); $5846 = HEAP32[$0>>2]|0; - $5847 = (($5846) + 200|0); + $5847 = ((($5846)) + 200|0); HEAP32[$5847>>2] = $5845; $5848 = HEAP32[$pProgram>>2]|0; - $5849 = (($5848) + 16|0); + $5849 = ((($5848)) + 16|0); $5850 = HEAP32[$5849>>2]|0; $5851 = HEAP32[$0>>2]|0; - $5852 = (($5851) + 196|0); + $5852 = ((($5851)) + 196|0); HEAP32[$5852>>2] = $5850; HEAP32[$pc>>2] = -1; $5853 = HEAP32[$0>>2]|0; - $5854 = (($5853) + 200|0); + $5854 = ((($5853)) + 200|0); $5855 = HEAP32[$5854>>2]|0; $5856 = HEAP32[$0>>2]|0; - $5857 = (($5856) + 196|0); + $5857 = ((($5856)) + 196|0); $5858 = HEAP32[$5857>>2]|0; _memset(($5855|0),0,($5858|0))|0; break; } case 132: { $5859 = HEAP32[$0>>2]|0; - $5860 = (($5859) + 176|0); + $5860 = ((($5859)) + 176|0); $5861 = HEAP32[$5860>>2]|0; HEAP32[$pFrame90>>2] = $5861; $5862 = HEAP32[$pOp>>2]|0; - $5863 = (($5862) + 4|0); + $5863 = ((($5862)) + 4|0); $5864 = HEAP32[$5863>>2]|0; $5865 = HEAP32[$pFrame90>>2]|0; - $5866 = (($5865) + 44|0); + $5866 = ((($5865)) + 44|0); $5867 = HEAP32[$5866>>2]|0; $5868 = HEAP32[$pFrame90>>2]|0; - $5869 = (($5868) + 8|0); + $5869 = ((($5868)) + 8|0); $5870 = HEAP32[$5869>>2]|0; $5871 = (($5870) + (($5867*20)|0)|0); - $5872 = (($5871) + 4|0); + $5872 = ((($5871)) + 4|0); $5873 = HEAP32[$5872>>2]|0; $5874 = (($5864) + ($5873))|0; $5875 = HEAP32[$pFrame90>>2]|0; - $5876 = (($5875) + 12|0); + $5876 = ((($5875)) + 12|0); $5877 = HEAP32[$5876>>2]|0; $5878 = (($5877) + (($5874*40)|0)|0); HEAP32[$pIn>>2] = $5878; @@ -166309,18 +167687,18 @@ function _sqlite3VdbeExec($p) { } case 134: { $5881 = HEAP32[$db>>2]|0; - $5882 = (($5881) + 24|0); + $5882 = ((($5881)) + 24|0); $5883 = HEAP32[$5882>>2]|0; $5884 = $5883 & 16777216; $5885 = ($5884|0)!=(0); $5886 = HEAP32[$pOp>>2]|0; if ($5885) { - $5887 = (($5886) + 8|0); + $5887 = ((($5886)) + 8|0); $5888 = HEAP32[$5887>>2]|0; $5889 = ($5888|0)<(0); $5890 = $5889 << 31 >> 31; $5891 = HEAP32[$db>>2]|0; - $5892 = (($5891) + 512|0); + $5892 = ((($5891)) + 512|0); $5893 = $5892; $5894 = $5893; $5895 = HEAP32[$5894>>2]|0; @@ -166337,17 +167715,17 @@ function _sqlite3VdbeExec($p) { HEAP32[$5904>>2] = $5900; break L21; } - $5905 = (($5886) + 4|0); + $5905 = ((($5886)) + 4|0); $5906 = HEAP32[$5905>>2]|0; $5907 = ($5906|0)!=(0); $5908 = HEAP32[$pOp>>2]|0; - $5909 = (($5908) + 8|0); + $5909 = ((($5908)) + 8|0); $5910 = HEAP32[$5909>>2]|0; $5911 = ($5910|0)<(0); $5912 = $5911 << 31 >> 31; if ($5907) { $5913 = HEAP32[$db>>2]|0; - $5914 = (($5913) + 504|0); + $5914 = ((($5913)) + 504|0); $5915 = $5914; $5916 = $5915; $5917 = HEAP32[$5916>>2]|0; @@ -166365,7 +167743,7 @@ function _sqlite3VdbeExec($p) { break L21; } else { $5927 = HEAP32[$0>>2]|0; - $5928 = (($5927) + 144|0); + $5928 = ((($5927)) + 144|0); $5929 = $5928; $5930 = $5929; $5931 = HEAP32[$5930>>2]|0; @@ -166386,12 +167764,12 @@ function _sqlite3VdbeExec($p) { } case 135: { $5941 = HEAP32[$pOp>>2]|0; - $5942 = (($5941) + 4|0); + $5942 = ((($5941)) + 4|0); $5943 = HEAP32[$5942>>2]|0; $5944 = ($5943|0)!=(0); if ($5944) { $5945 = HEAP32[$db>>2]|0; - $5946 = (($5945) + 504|0); + $5946 = ((($5945)) + 504|0); $5947 = $5946; $5948 = $5947; $5949 = HEAP32[$5948>>2]|0; @@ -166405,7 +167783,7 @@ function _sqlite3VdbeExec($p) { break L21; } $5956 = HEAP32[$db>>2]|0; - $5957 = (($5956) + 512|0); + $5957 = ((($5956)) + 512|0); $5958 = $5957; $5959 = $5958; $5960 = HEAP32[$5959>>2]|0; @@ -166419,14 +167797,14 @@ function _sqlite3VdbeExec($p) { break L21; } $5967 = HEAP32[$pOp>>2]|0; - $5968 = (($5967) + 8|0); + $5968 = ((($5967)) + 8|0); $5969 = HEAP32[$5968>>2]|0; $5970 = (($5969) - 1)|0; HEAP32[$pc>>2] = $5970; break L21; } else { $5971 = HEAP32[$0>>2]|0; - $5972 = (($5971) + 144|0); + $5972 = ((($5971)) + 144|0); $5973 = $5972; $5974 = $5973; $5975 = HEAP32[$5974>>2]|0; @@ -166440,7 +167818,7 @@ function _sqlite3VdbeExec($p) { break L21; } $5982 = HEAP32[$db>>2]|0; - $5983 = (($5982) + 512|0); + $5983 = ((($5982)) + 512|0); $5984 = $5983; $5985 = $5984; $5986 = HEAP32[$5985>>2]|0; @@ -166454,7 +167832,7 @@ function _sqlite3VdbeExec($p) { break L21; } $5993 = HEAP32[$pOp>>2]|0; - $5994 = (($5993) + 8|0); + $5994 = ((($5993)) + 8|0); $5995 = HEAP32[$5994>>2]|0; $5996 = (($5995) - 1)|0; HEAP32[$pc>>2] = $5996; @@ -166464,38 +167842,38 @@ function _sqlite3VdbeExec($p) { } case 136: { $5997 = HEAP32[$0>>2]|0; - $5998 = (($5997) + 176|0); + $5998 = ((($5997)) + 176|0); $5999 = HEAP32[$5998>>2]|0; $6000 = ($5999|0)!=(0|0); if ($6000) { $6001 = HEAP32[$0>>2]|0; - $6002 = (($6001) + 176|0); + $6002 = ((($6001)) + 176|0); $6003 = HEAP32[$6002>>2]|0; HEAP32[$pFrame91>>2] = $6003; while(1) { $6004 = HEAP32[$pFrame91>>2]|0; - $6005 = (($6004) + 4|0); + $6005 = ((($6004)) + 4|0); $6006 = HEAP32[$6005>>2]|0; $6007 = ($6006|0)!=(0|0); if (!($6007)) { break; } $6008 = HEAP32[$pFrame91>>2]|0; - $6009 = (($6008) + 4|0); + $6009 = ((($6008)) + 4|0); $6010 = HEAP32[$6009>>2]|0; HEAP32[$pFrame91>>2] = $6010; } $6011 = HEAP32[$pOp>>2]|0; - $6012 = (($6011) + 4|0); + $6012 = ((($6011)) + 4|0); $6013 = HEAP32[$6012>>2]|0; $6014 = HEAP32[$pFrame91>>2]|0; - $6015 = (($6014) + 12|0); + $6015 = ((($6014)) + 12|0); $6016 = HEAP32[$6015>>2]|0; $6017 = (($6016) + (($6013*40)|0)|0); HEAP32[$pIn1>>2] = $6017; } else { $6018 = HEAP32[$pOp>>2]|0; - $6019 = (($6018) + 4|0); + $6019 = ((($6018)) + 4|0); $6020 = HEAP32[$6019>>2]|0; $6021 = HEAP32[$aMem>>2]|0; $6022 = (($6021) + (($6020*40)|0)|0); @@ -166504,7 +167882,7 @@ function _sqlite3VdbeExec($p) { $6023 = HEAP32[$pIn1>>2]|0; (_sqlite3VdbeMemIntegerify($6023)|0); $6024 = HEAP32[$pOp>>2]|0; - $6025 = (($6024) + 8|0); + $6025 = ((($6024)) + 8|0); $6026 = HEAP32[$6025>>2]|0; $6027 = HEAP32[$aMem>>2]|0; $6028 = (($6027) + (($6026*40)|0)|0); @@ -166550,7 +167928,7 @@ function _sqlite3VdbeExec($p) { } case 137: { $6061 = HEAP32[$pOp>>2]|0; - $6062 = (($6061) + 4|0); + $6062 = ((($6061)) + 4|0); $6063 = HEAP32[$6062>>2]|0; $6064 = HEAP32[$aMem>>2]|0; $6065 = (($6064) + (($6063*40)|0)|0); @@ -166569,7 +167947,7 @@ function _sqlite3VdbeExec($p) { $6077 = $6073 | $6076; if ($6077) { $6078 = HEAP32[$pOp>>2]|0; - $6079 = (($6078) + 8|0); + $6079 = ((($6078)) + 8|0); $6080 = HEAP32[$6079>>2]|0; $6081 = (($6080) - 1)|0; HEAP32[$pc>>2] = $6081; @@ -166578,13 +167956,13 @@ function _sqlite3VdbeExec($p) { } case 138: { $6082 = HEAP32[$pOp>>2]|0; - $6083 = (($6082) + 4|0); + $6083 = ((($6082)) + 4|0); $6084 = HEAP32[$6083>>2]|0; $6085 = HEAP32[$aMem>>2]|0; $6086 = (($6085) + (($6084*40)|0)|0); HEAP32[$pIn1>>2] = $6086; $6087 = HEAP32[$pOp>>2]|0; - $6088 = (($6087) + 12|0); + $6088 = ((($6087)) + 12|0); $6089 = HEAP32[$6088>>2]|0; $6090 = ($6089|0)<(0); $6091 = $6090 << 31 >> 31; @@ -166613,7 +167991,7 @@ function _sqlite3VdbeExec($p) { $6112 = ($6111|0)<(0); if ($6112) { $6113 = HEAP32[$pOp>>2]|0; - $6114 = (($6113) + 8|0); + $6114 = ((($6113)) + 8|0); $6115 = HEAP32[$6114>>2]|0; $6116 = (($6115) - 1)|0; HEAP32[$pc>>2] = $6116; @@ -166622,13 +168000,13 @@ function _sqlite3VdbeExec($p) { } case 139: { $6117 = HEAP32[$pOp>>2]|0; - $6118 = (($6117) + 4|0); + $6118 = ((($6117)) + 4|0); $6119 = HEAP32[$6118>>2]|0; $6120 = HEAP32[$aMem>>2]|0; $6121 = (($6120) + (($6119*40)|0)|0); HEAP32[$pIn1>>2] = $6121; $6122 = HEAP32[$pOp>>2]|0; - $6123 = (($6122) + 12|0); + $6123 = ((($6122)) + 12|0); $6124 = HEAP32[$6123>>2]|0; $6125 = ($6124|0)<(0); $6126 = $6125 << 31 >> 31; @@ -166659,7 +168037,7 @@ function _sqlite3VdbeExec($p) { $6149 = $6147 & $6148; if ($6149) { $6150 = HEAP32[$pOp>>2]|0; - $6151 = (($6150) + 8|0); + $6151 = ((($6150)) + 8|0); $6152 = HEAP32[$6151>>2]|0; $6153 = (($6152) - 1)|0; HEAP32[$pc>>2] = $6153; @@ -166668,18 +168046,18 @@ function _sqlite3VdbeExec($p) { } case 10: { $6154 = HEAP32[$pOp>>2]|0; - $6155 = (($6154) + 3|0); + $6155 = ((($6154)) + 3|0); $6156 = HEAP8[$6155>>0]|0; $6157 = $6156&255; HEAP32[$n92>>2] = $6157; $6158 = HEAP32[$pOp>>2]|0; - $6159 = (($6158) + 8|0); + $6159 = ((($6158)) + 8|0); $6160 = HEAP32[$6159>>2]|0; $6161 = HEAP32[$aMem>>2]|0; $6162 = (($6161) + (($6160*40)|0)|0); HEAP32[$pRec95>>2] = $6162; $6163 = HEAP32[$0>>2]|0; - $6164 = (($6163) + 12|0); + $6164 = ((($6163)) + 12|0); $6165 = HEAP32[$6164>>2]|0; HEAP32[$apVal98>>2] = $6165; HEAP32[$i93>>2] = 0; @@ -166699,68 +168077,68 @@ function _sqlite3VdbeExec($p) { $6174 = (($6173) + 1)|0; HEAP32[$i93>>2] = $6174; $6175 = HEAP32[$pRec95>>2]|0; - $6176 = (($6175) + 40|0); + $6176 = ((($6175)) + 40|0); HEAP32[$pRec95>>2] = $6176; } $6177 = HEAP32[$pOp>>2]|0; - $6178 = (($6177) + 16|0); + $6178 = ((($6177)) + 16|0); $6179 = HEAP32[$6178>>2]|0; - $6180 = (($ctx97) + 4|0); + $6180 = ((($ctx97)) + 4|0); HEAP32[$6180>>2] = $6179; $6181 = HEAP32[$pOp>>2]|0; - $6182 = (($6181) + 12|0); + $6182 = ((($6181)) + 12|0); $6183 = HEAP32[$6182>>2]|0; $6184 = HEAP32[$aMem>>2]|0; $6185 = (($6184) + (($6183*40)|0)|0); HEAP32[$pMem94>>2] = $6185; - $6186 = (($ctx97) + 8|0); + $6186 = ((($ctx97)) + 8|0); HEAP32[$6186>>2] = $6185; $6187 = HEAP32[$pMem94>>2]|0; - $6188 = (($6187) + 12|0); + $6188 = ((($6187)) + 12|0); $6189 = HEAP32[$6188>>2]|0; $6190 = (($6189) + 1)|0; HEAP32[$6188>>2] = $6190; $6191 = HEAP32[$db>>2]|0; _sqlite3VdbeMemInit($t96,$6191,1); HEAP32[$ctx97>>2] = $t96; - $6192 = (($ctx97) + 20|0); + $6192 = ((($ctx97)) + 20|0); HEAP32[$6192>>2] = 0; $6193 = HEAP32[$0>>2]|0; - $6194 = (($ctx97) + 12|0); + $6194 = ((($ctx97)) + 12|0); HEAP32[$6194>>2] = $6193; $6195 = HEAP32[$pc>>2]|0; - $6196 = (($ctx97) + 16|0); + $6196 = ((($ctx97)) + 16|0); HEAP32[$6196>>2] = $6195; - $6197 = (($ctx97) + 24|0); + $6197 = ((($ctx97)) + 24|0); HEAP8[$6197>>0] = 0; - $6198 = (($ctx97) + 4|0); + $6198 = ((($ctx97)) + 4|0); $6199 = HEAP32[$6198>>2]|0; - $6200 = (($6199) + 16|0); + $6200 = ((($6199)) + 16|0); $6201 = HEAP32[$6200>>2]|0; $6202 = HEAP32[$n92>>2]|0; $6203 = HEAP32[$apVal98>>2]|0; FUNCTION_TABLE_viii[$6201 & 63]($ctx97,$6202,$6203); - $6204 = (($ctx97) + 20|0); + $6204 = ((($ctx97)) + 20|0); $6205 = HEAP32[$6204>>2]|0; $6206 = ($6205|0)!=(0); if ($6206) { $6207 = HEAP32[$0>>2]|0; - $6208 = (($6207) + 44|0); + $6208 = ((($6207)) + 44|0); $6209 = HEAP32[$db>>2]|0; $6210 = (_sqlite3_value_text($t96)|0); - HEAP32[$vararg_buffer84>>2] = $6210; - _sqlite3SetString($6208,$6209,1200,$vararg_buffer84); - $6211 = (($ctx97) + 20|0); + HEAP32[$vararg_buffer62>>2] = $6210; + _sqlite3SetString($6208,$6209,14418,$vararg_buffer62); + $6211 = ((($ctx97)) + 20|0); $6212 = HEAP32[$6211>>2]|0; HEAP32[$rc>>2] = $6212; } - $6213 = (($ctx97) + 24|0); + $6213 = ((($ctx97)) + 24|0); $6214 = HEAP8[$6213>>0]|0; $6215 = ($6214<<24>>24)!=(0); if ($6215) { $6216 = HEAP32[$pOp>>2]|0; - $6217 = (($6216) + -20|0); - $6218 = (($6217) + 4|0); + $6217 = ((($6216)) + -20|0); + $6218 = ((($6217)) + 4|0); $6219 = HEAP32[$6218>>2]|0; HEAP32[$i93>>2] = $6219; $6220 = HEAP32[$i93>>2]|0; @@ -166777,14 +168155,14 @@ function _sqlite3VdbeExec($p) { } case 140: { $6225 = HEAP32[$pOp>>2]|0; - $6226 = (($6225) + 4|0); + $6226 = ((($6225)) + 4|0); $6227 = HEAP32[$6226>>2]|0; $6228 = HEAP32[$aMem>>2]|0; $6229 = (($6228) + (($6227*40)|0)|0); HEAP32[$pMem99>>2] = $6229; $6230 = HEAP32[$pMem99>>2]|0; $6231 = HEAP32[$pOp>>2]|0; - $6232 = (($6231) + 16|0); + $6232 = ((($6231)) + 16|0); $6233 = HEAP32[$6232>>2]|0; $6234 = (_sqlite3VdbeMemFinalize($6230,$6233)|0); HEAP32[$rc>>2] = $6234; @@ -166792,12 +168170,12 @@ function _sqlite3VdbeExec($p) { $6236 = ($6235|0)!=(0); if ($6236) { $6237 = HEAP32[$0>>2]|0; - $6238 = (($6237) + 44|0); + $6238 = ((($6237)) + 44|0); $6239 = HEAP32[$db>>2]|0; $6240 = HEAP32[$pMem99>>2]|0; $6241 = (_sqlite3_value_text($6240)|0); - HEAP32[$vararg_buffer84>>2] = $6241; - _sqlite3SetString($6238,$6239,1200,$vararg_buffer84); + HEAP32[$vararg_buffer65>>2] = $6241; + _sqlite3SetString($6238,$6239,14418,$vararg_buffer65); } $6242 = HEAP32[$pMem99>>2]|0; $6243 = HEAP8[$encoding>>0]|0; @@ -166807,24 +168185,76 @@ function _sqlite3VdbeExec($p) { $6246 = (_sqlite3VdbeMemTooBig($6245)|0); $6247 = ($6246|0)!=(0); if ($6247) { - label = 870; + label = 866; break L11; } break; } + case 11: { + HEAP32[$aRes>>2] = 0; + $6248 = ((($aRes)) + 8|0); + HEAP32[$6248>>2] = -1; + $6249 = ((($aRes)) + 4|0); + HEAP32[$6249>>2] = -1; + $6250 = HEAP32[$db>>2]|0; + $6251 = HEAP32[$pOp>>2]|0; + $6252 = ((($6251)) + 4|0); + $6253 = HEAP32[$6252>>2]|0; + $6254 = HEAP32[$pOp>>2]|0; + $6255 = ((($6254)) + 8|0); + $6256 = HEAP32[$6255>>2]|0; + $6257 = ((($aRes)) + 4|0); + $6258 = ((($aRes)) + 8|0); + $6259 = (_sqlite3Checkpoint($6250,$6253,$6256,$6257,$6258)|0); + HEAP32[$rc>>2] = $6259; + $6260 = HEAP32[$rc>>2]|0; + $6261 = ($6260|0)==(5); + if ($6261) { + HEAP32[$rc>>2] = 0; + HEAP32[$aRes>>2] = 1; + } + HEAP32[$i100>>2] = 0; + $6262 = HEAP32[$pOp>>2]|0; + $6263 = ((($6262)) + 12|0); + $6264 = HEAP32[$6263>>2]|0; + $6265 = HEAP32[$aMem>>2]|0; + $6266 = (($6265) + (($6264*40)|0)|0); + HEAP32[$pMem101>>2] = $6266; + while(1) { + $6267 = HEAP32[$i100>>2]|0; + $6268 = ($6267|0)<(3); + if (!($6268)) { + break L21; + } + $6269 = HEAP32[$pMem101>>2]|0; + $6270 = HEAP32[$i100>>2]|0; + $6271 = (($aRes) + ($6270<<2)|0); + $6272 = HEAP32[$6271>>2]|0; + $6273 = ($6272|0)<(0); + $6274 = $6273 << 31 >> 31; + _sqlite3VdbeMemSetInt64($6269,$6272,$6274); + $6275 = HEAP32[$i100>>2]|0; + $6276 = (($6275) + 1)|0; + HEAP32[$i100>>2] = $6276; + $6277 = HEAP32[$pMem101>>2]|0; + $6278 = ((($6277)) + 40|0); + HEAP32[$pMem101>>2] = $6278; + } + break; + } case 12: { $6279 = HEAP32[$pOp>>2]|0; - $6280 = (($6279) + 12|0); + $6280 = ((($6279)) + 12|0); $6281 = HEAP32[$6280>>2]|0; HEAP32[$eNew>>2] = $6281; $6282 = HEAP32[$pOp>>2]|0; - $6283 = (($6282) + 4|0); + $6283 = ((($6282)) + 4|0); $6284 = HEAP32[$6283>>2]|0; $6285 = HEAP32[$db>>2]|0; - $6286 = (($6285) + 16|0); + $6286 = ((($6285)) + 16|0); $6287 = HEAP32[$6286>>2]|0; $6288 = (($6287) + ($6284<<4)|0); - $6289 = (($6288) + 4|0); + $6289 = ((($6288)) + 4|0); $6290 = HEAP32[$6289>>2]|0; HEAP32[$pBt102>>2] = $6290; $6291 = HEAP32[$pBt102>>2]|0; @@ -166877,15 +168307,15 @@ function _sqlite3VdbeExec($p) { $6317 = ($6316|0)==(5); $6318 = HEAP32[$eNew>>2]|0; $6319 = ($6318|0)==(5); - $or$cond24 = $6317 | $6319; - if ($or$cond24) { + $or$cond26 = $6317 | $6319; + if ($or$cond26) { $6320 = HEAP32[$db>>2]|0; - $6321 = (($6320) + 62|0); + $6321 = ((($6320)) + 62|0); $6322 = HEAP8[$6321>>0]|0; $6323 = ($6322<<24>>24)!=(0); if ($6323) { $6324 = HEAP32[$db>>2]|0; - $6325 = (($6324) + 152|0); + $6325 = ((($6324)) + 152|0); $6326 = HEAP32[$6325>>2]|0; $6327 = ($6326|0)>(1); if (!($6327)) { @@ -166930,13 +168360,13 @@ function _sqlite3VdbeExec($p) { } HEAP32[$rc>>2] = 1; $6328 = HEAP32[$0>>2]|0; - $6329 = (($6328) + 44|0); + $6329 = ((($6328)) + 44|0); $6330 = HEAP32[$db>>2]|0; $6331 = HEAP32[$eNew>>2]|0; $6332 = ($6331|0)==(5); - $6333 = $6332 ? 31936 : 31944; - HEAP32[$vararg_buffer84>>2] = $6333; - _sqlite3SetString($6329,$6330,31880,$vararg_buffer84); + $6333 = $6332 ? 31585 : 31590; + HEAP32[$vararg_buffer68>>2] = $6333; + _sqlite3SetString($6329,$6330,31597,$vararg_buffer68); break L21; } } @@ -166952,28 +168382,28 @@ function _sqlite3VdbeExec($p) { $6357 = (_sqlite3PagerSetJournalMode($6355,$6356)|0); HEAP32[$eNew>>2] = $6357; $6358 = HEAP32[$pOp>>2]|0; - $6359 = (($6358) + 8|0); + $6359 = ((($6358)) + 8|0); $6360 = HEAP32[$6359>>2]|0; $6361 = HEAP32[$aMem>>2]|0; $6362 = (($6361) + (($6360*40)|0)|0); HEAP32[$pOut>>2] = $6362; $6363 = HEAP32[$pOut>>2]|0; - $6364 = (($6363) + 8|0); + $6364 = ((($6363)) + 8|0); HEAP16[$6364>>1] = 2562; $6365 = HEAP32[$eNew>>2]|0; $6366 = (_sqlite3JournalModename($6365)|0); $6367 = HEAP32[$pOut>>2]|0; - $6368 = (($6367) + 16|0); + $6368 = ((($6367)) + 16|0); HEAP32[$6368>>2] = $6366; $6369 = HEAP32[$pOut>>2]|0; - $6370 = (($6369) + 16|0); + $6370 = ((($6369)) + 16|0); $6371 = HEAP32[$6370>>2]|0; $6372 = (_sqlite3Strlen30($6371)|0); $6373 = HEAP32[$pOut>>2]|0; - $6374 = (($6373) + 12|0); + $6374 = ((($6373)) + 12|0); HEAP32[$6374>>2] = $6372; $6375 = HEAP32[$pOut>>2]|0; - $6376 = (($6375) + 10|0); + $6376 = ((($6375)) + 10|0); HEAP8[$6376>>0] = 1; $6377 = HEAP32[$pOut>>2]|0; $6378 = HEAP8[$encoding>>0]|0; @@ -166981,67 +168411,23 @@ function _sqlite3VdbeExec($p) { (_sqlite3VdbeChangeEncoding($6377,$6379)|0); break; } - case 11: { - HEAP32[$aRes>>2] = 0; - $6248 = (($aRes) + 8|0); - HEAP32[$6248>>2] = -1; - $6249 = (($aRes) + 4|0); - HEAP32[$6249>>2] = -1; - $6250 = HEAP32[$db>>2]|0; - $6251 = HEAP32[$pOp>>2]|0; - $6252 = (($6251) + 4|0); - $6253 = HEAP32[$6252>>2]|0; - $6254 = HEAP32[$pOp>>2]|0; - $6255 = (($6254) + 8|0); - $6256 = HEAP32[$6255>>2]|0; - $6257 = (($aRes) + 4|0); - $6258 = (($aRes) + 8|0); - $6259 = (_sqlite3Checkpoint($6250,$6253,$6256,$6257,$6258)|0); - HEAP32[$rc>>2] = $6259; - $6260 = HEAP32[$rc>>2]|0; - $6261 = ($6260|0)==(5); - if ($6261) { - HEAP32[$rc>>2] = 0; - HEAP32[$aRes>>2] = 1; - } - HEAP32[$i100>>2] = 0; - $6262 = HEAP32[$pOp>>2]|0; - $6263 = (($6262) + 12|0); - $6264 = HEAP32[$6263>>2]|0; - $6265 = HEAP32[$aMem>>2]|0; - $6266 = (($6265) + (($6264*40)|0)|0); - HEAP32[$pMem101>>2] = $6266; - while(1) { - $6267 = HEAP32[$i100>>2]|0; - $6268 = ($6267|0)<(3); - if (!($6268)) { - break L21; - } - $6269 = HEAP32[$pMem101>>2]|0; - $6270 = HEAP32[$i100>>2]|0; - $6271 = (($aRes) + ($6270<<2)|0); - $6272 = HEAP32[$6271>>2]|0; - $6273 = ($6272|0)<(0); - $6274 = $6273 << 31 >> 31; - _sqlite3VdbeMemSetInt64($6269,$6272,$6274); - $6275 = HEAP32[$i100>>2]|0; - $6276 = (($6275) + 1)|0; - HEAP32[$i100>>2] = $6276; - $6277 = HEAP32[$pMem101>>2]|0; - $6278 = (($6277) + 40|0); - HEAP32[$pMem101>>2] = $6278; - } + case 13: { + $6380 = HEAP32[$0>>2]|0; + $6381 = ((($6380)) + 44|0); + $6382 = HEAP32[$db>>2]|0; + $6383 = (_sqlite3RunVacuum($6381,$6382)|0); + HEAP32[$rc>>2] = $6383; break; } case 141: { $6384 = HEAP32[$pOp>>2]|0; - $6385 = (($6384) + 4|0); + $6385 = ((($6384)) + 4|0); $6386 = HEAP32[$6385>>2]|0; $6387 = HEAP32[$db>>2]|0; - $6388 = (($6387) + 16|0); + $6388 = ((($6387)) + 16|0); $6389 = HEAP32[$6388>>2]|0; $6390 = (($6389) + ($6386<<4)|0); - $6391 = (($6390) + 4|0); + $6391 = ((($6390)) + 4|0); $6392 = HEAP32[$6391>>2]|0; HEAP32[$pBt103>>2] = $6392; $6393 = HEAP32[$pBt103>>2]|0; @@ -167051,7 +168437,7 @@ function _sqlite3VdbeExec($p) { $6396 = ($6395|0)==(101); if ($6396) { $6397 = HEAP32[$pOp>>2]|0; - $6398 = (($6397) + 8|0); + $6398 = ((($6397)) + 8|0); $6399 = HEAP32[$6398>>2]|0; $6400 = (($6399) - 1)|0; HEAP32[$pc>>2] = $6400; @@ -167061,12 +168447,12 @@ function _sqlite3VdbeExec($p) { } case 142: { $6401 = HEAP32[$pOp>>2]|0; - $6402 = (($6401) + 4|0); + $6402 = ((($6401)) + 4|0); $6403 = HEAP32[$6402>>2]|0; $6404 = ($6403|0)!=(0); if ($6404) { $6406 = HEAP32[$0>>2]|0; - $6407 = (($6406) + 88|0); + $6407 = ((($6406)) + 88|0); $6408 = HEAP16[$6407>>1]|0; $6409 = $6408 & -33; $6410 = $6409 | 32; @@ -167079,17 +168465,9 @@ function _sqlite3VdbeExec($p) { } break; } - case 13: { - $6380 = HEAP32[$0>>2]|0; - $6381 = (($6380) + 44|0); - $6382 = HEAP32[$db>>2]|0; - $6383 = (_sqlite3RunVacuum($6381,$6382)|0); - HEAP32[$rc>>2] = $6383; - break; - } case 143: { $6411 = HEAP32[$pOp>>2]|0; - $6412 = (($6411) + 12|0); + $6412 = ((($6411)) + 12|0); $6413 = HEAP32[$6412>>2]|0; $6414 = $6413&255; HEAP8[$isWriteLock>>0] = $6414; @@ -167098,7 +168476,7 @@ function _sqlite3VdbeExec($p) { $6417 = ($6416|0)!=(0); if (!($6417)) { $6418 = HEAP32[$db>>2]|0; - $6419 = (($6418) + 24|0); + $6419 = ((($6418)) + 24|0); $6420 = HEAP32[$6419>>2]|0; $6421 = $6420 & 16384; $6422 = (0)==($6421|0); @@ -167107,18 +168485,18 @@ function _sqlite3VdbeExec($p) { } } $6423 = HEAP32[$pOp>>2]|0; - $6424 = (($6423) + 4|0); + $6424 = ((($6423)) + 4|0); $6425 = HEAP32[$6424>>2]|0; HEAP32[$p1104>>2] = $6425; $6426 = HEAP32[$p1104>>2]|0; $6427 = HEAP32[$db>>2]|0; - $6428 = (($6427) + 16|0); + $6428 = ((($6427)) + 16|0); $6429 = HEAP32[$6428>>2]|0; $6430 = (($6429) + ($6426<<4)|0); - $6431 = (($6430) + 4|0); + $6431 = ((($6430)) + 4|0); $6432 = HEAP32[$6431>>2]|0; $6433 = HEAP32[$pOp>>2]|0; - $6434 = (($6433) + 8|0); + $6434 = ((($6433)) + 8|0); $6435 = HEAP32[$6434>>2]|0; $6436 = HEAP8[$isWriteLock>>0]|0; $6437 = (_sqlite3BtreeLockTable($6432,$6435,$6436)|0); @@ -167128,89 +168506,89 @@ function _sqlite3VdbeExec($p) { $6440 = ($6439|0)==(6); if ($6440) { $6441 = HEAP32[$pOp>>2]|0; - $6442 = (($6441) + 16|0); + $6442 = ((($6441)) + 16|0); $6443 = HEAP32[$6442>>2]|0; HEAP32[$z105>>2] = $6443; $6444 = HEAP32[$0>>2]|0; - $6445 = (($6444) + 44|0); + $6445 = ((($6444)) + 44|0); $6446 = HEAP32[$db>>2]|0; $6447 = HEAP32[$z105>>2]|0; - HEAP32[$vararg_buffer84>>2] = $6447; - _sqlite3SetString($6445,$6446,31952,$vararg_buffer84); + HEAP32[$vararg_buffer71>>2] = $6447; + _sqlite3SetString($6445,$6446,31649,$vararg_buffer71); + } + break; + } + case 144: { + $6448 = HEAP32[$pOp>>2]|0; + $6449 = ((($6448)) + 16|0); + $6450 = HEAP32[$6449>>2]|0; + HEAP32[$pVTab>>2] = $6450; + $6451 = HEAP32[$db>>2]|0; + $6452 = HEAP32[$pVTab>>2]|0; + $6453 = (_sqlite3VtabBegin($6451,$6452)|0); + HEAP32[$rc>>2] = $6453; + $6454 = HEAP32[$pVTab>>2]|0; + $6455 = ($6454|0)!=(0|0); + if ($6455) { + $6456 = HEAP32[$0>>2]|0; + $6457 = HEAP32[$pVTab>>2]|0; + $6458 = ((($6457)) + 8|0); + $6459 = HEAP32[$6458>>2]|0; + _sqlite3VtabImportErrmsg($6456,$6459); } break; } case 145: { $6460 = HEAP32[$db>>2]|0; $6461 = HEAP32[$pOp>>2]|0; - $6462 = (($6461) + 4|0); + $6462 = ((($6461)) + 4|0); $6463 = HEAP32[$6462>>2]|0; $6464 = HEAP32[$pOp>>2]|0; - $6465 = (($6464) + 16|0); + $6465 = ((($6464)) + 16|0); $6466 = HEAP32[$6465>>2]|0; $6467 = HEAP32[$0>>2]|0; - $6468 = (($6467) + 44|0); + $6468 = ((($6467)) + 44|0); $6469 = (_sqlite3VtabCallCreate($6460,$6463,$6466,$6468)|0); HEAP32[$rc>>2] = $6469; break; } case 146: { $6470 = HEAP32[$0>>2]|0; - $6471 = (($6470) + 88|0); + $6471 = ((($6470)) + 88|0); $6472 = HEAP16[$6471>>1]|0; $6473 = $6472 & -13; $6474 = $6473 | 8; HEAP16[$6471>>1] = $6474; $6475 = HEAP32[$db>>2]|0; $6476 = HEAP32[$pOp>>2]|0; - $6477 = (($6476) + 4|0); + $6477 = ((($6476)) + 4|0); $6478 = HEAP32[$6477>>2]|0; $6479 = HEAP32[$pOp>>2]|0; - $6480 = (($6479) + 16|0); + $6480 = ((($6479)) + 16|0); $6481 = HEAP32[$6480>>2]|0; $6482 = (_sqlite3VtabCallDestroy($6475,$6478,$6481)|0); HEAP32[$rc>>2] = $6482; $6483 = HEAP32[$0>>2]|0; - $6484 = (($6483) + 88|0); + $6484 = ((($6483)) + 88|0); $6485 = HEAP16[$6484>>1]|0; $6486 = $6485 & -13; HEAP16[$6484>>1] = $6486; break; } - case 144: { - $6448 = HEAP32[$pOp>>2]|0; - $6449 = (($6448) + 16|0); - $6450 = HEAP32[$6449>>2]|0; - HEAP32[$pVTab>>2] = $6450; - $6451 = HEAP32[$db>>2]|0; - $6452 = HEAP32[$pVTab>>2]|0; - $6453 = (_sqlite3VtabBegin($6451,$6452)|0); - HEAP32[$rc>>2] = $6453; - $6454 = HEAP32[$pVTab>>2]|0; - $6455 = ($6454|0)!=(0|0); - if ($6455) { - $6456 = HEAP32[$0>>2]|0; - $6457 = HEAP32[$pVTab>>2]|0; - $6458 = (($6457) + 8|0); - $6459 = HEAP32[$6458>>2]|0; - _sqlite3VtabImportErrmsg($6456,$6459); - } - break; - } case 147: { HEAP32[$pCur106>>2] = 0; HEAP32[$pVtabCursor>>2] = 0; $6487 = HEAP32[$pOp>>2]|0; - $6488 = (($6487) + 16|0); + $6488 = ((($6487)) + 16|0); $6489 = HEAP32[$6488>>2]|0; - $6490 = (($6489) + 8|0); + $6490 = ((($6489)) + 8|0); $6491 = HEAP32[$6490>>2]|0; HEAP32[$pVtab107>>2] = $6491; $6492 = HEAP32[$pVtab107>>2]|0; $6493 = HEAP32[$6492>>2]|0; HEAP32[$pModule108>>2] = $6493; $6494 = HEAP32[$pModule108>>2]|0; - $6495 = (($6494) + 24|0); + $6495 = ((($6494)) + 24|0); $6496 = HEAP32[$6495>>2]|0; $6497 = HEAP32[$pVtab107>>2]|0; $6498 = (FUNCTION_TABLE_iii[$6496 & 63]($6497,$pVtabCursor)|0); @@ -167226,7 +168604,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$6504>>2] = $6503; $6505 = HEAP32[$0>>2]|0; $6506 = HEAP32[$pOp>>2]|0; - $6507 = (($6506) + 4|0); + $6507 = ((($6506)) + 4|0); $6508 = HEAP32[$6507>>2]|0; $6509 = (_allocateCursor($6505,$6508,0,-1,0)|0); HEAP32[$pCur106>>2] = $6509; @@ -167235,15 +168613,15 @@ function _sqlite3VdbeExec($p) { if ($6511) { $6512 = HEAP32[$pVtabCursor>>2]|0; $6513 = HEAP32[$pCur106>>2]|0; - $6514 = (($6513) + 32|0); + $6514 = ((($6513)) + 32|0); HEAP32[$6514>>2] = $6512; break L21; } else { $6515 = HEAP32[$db>>2]|0; - $6516 = (($6515) + 64|0); + $6516 = ((($6515)) + 64|0); HEAP8[$6516>>0] = 1; $6517 = HEAP32[$pModule108>>2]|0; - $6518 = (($6517) + 28|0); + $6518 = ((($6517)) + 28|0); $6519 = HEAP32[$6518>>2]|0; $6520 = HEAP32[$pVtabCursor>>2]|0; (FUNCTION_TABLE_ii[$6519 & 31]($6520)|0); @@ -167254,25 +168632,25 @@ function _sqlite3VdbeExec($p) { } case 14: { $6521 = HEAP32[$pOp>>2]|0; - $6522 = (($6521) + 12|0); + $6522 = ((($6521)) + 12|0); $6523 = HEAP32[$6522>>2]|0; $6524 = HEAP32[$aMem>>2]|0; $6525 = (($6524) + (($6523*40)|0)|0); HEAP32[$pQuery>>2] = $6525; $6526 = HEAP32[$pQuery>>2]|0; - $6527 = (($6526) + 40|0); + $6527 = ((($6526)) + 40|0); HEAP32[$pArgc>>2] = $6527; $6528 = HEAP32[$pOp>>2]|0; - $6529 = (($6528) + 4|0); + $6529 = ((($6528)) + 4|0); $6530 = HEAP32[$6529>>2]|0; $6531 = HEAP32[$0>>2]|0; - $6532 = (($6531) + 56|0); + $6532 = ((($6531)) + 56|0); $6533 = HEAP32[$6532>>2]|0; $6534 = (($6533) + ($6530<<2)|0); $6535 = HEAP32[$6534>>2]|0; HEAP32[$pCur112>>2] = $6535; $6536 = HEAP32[$pCur112>>2]|0; - $6537 = (($6536) + 32|0); + $6537 = ((($6536)) + 32|0); $6538 = HEAP32[$6537>>2]|0; HEAP32[$pVtabCursor110>>2] = $6538; $6539 = HEAP32[$pVtabCursor110>>2]|0; @@ -167299,7 +168677,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$iQuery>>2] = $6553; HEAP32[$res113>>2] = 0; $6557 = HEAP32[$0>>2]|0; - $6558 = (($6557) + 12|0); + $6558 = ((($6557)) + 12|0); $6559 = HEAP32[$6558>>2]|0; HEAP32[$apArg>>2] = $6559; HEAP32[$i114>>2] = 0; @@ -167323,25 +168701,25 @@ function _sqlite3VdbeExec($p) { HEAP32[$i114>>2] = $6571; } $6572 = HEAP32[$0>>2]|0; - $6573 = (($6572) + 88|0); + $6573 = ((($6572)) + 88|0); $6574 = HEAP16[$6573>>1]|0; $6575 = $6574 & -13; $6576 = $6575 | 4; HEAP16[$6573>>1] = $6576; $6577 = HEAP32[$pModule109>>2]|0; - $6578 = (($6577) + 32|0); + $6578 = ((($6577)) + 32|0); $6579 = HEAP32[$6578>>2]|0; $6580 = HEAP32[$pVtabCursor110>>2]|0; $6581 = HEAP32[$iQuery>>2]|0; $6582 = HEAP32[$pOp>>2]|0; - $6583 = (($6582) + 16|0); + $6583 = ((($6582)) + 16|0); $6584 = HEAP32[$6583>>2]|0; $6585 = HEAP32[$nArg>>2]|0; $6586 = HEAP32[$apArg>>2]|0; $6587 = (FUNCTION_TABLE_iiiiii[$6579 & 15]($6580,$6581,$6584,$6585,$6586)|0); HEAP32[$rc>>2] = $6587; $6588 = HEAP32[$0>>2]|0; - $6589 = (($6588) + 88|0); + $6589 = ((($6588)) + 88|0); $6590 = HEAP16[$6589>>1]|0; $6591 = $6590 & -13; HEAP16[$6589>>1] = $6591; @@ -167352,7 +168730,7 @@ function _sqlite3VdbeExec($p) { $6595 = ($6594|0)==(0); if ($6595) { $6596 = HEAP32[$pModule109>>2]|0; - $6597 = (($6596) + 40|0); + $6597 = ((($6596)) + 40|0); $6598 = HEAP32[$6597>>2]|0; $6599 = HEAP32[$pVtabCursor110>>2]|0; $6600 = (FUNCTION_TABLE_ii[$6598 & 31]($6599)|0); @@ -167362,34 +168740,34 @@ function _sqlite3VdbeExec($p) { $6602 = ($6601|0)!=(0); if ($6602) { $6603 = HEAP32[$pOp>>2]|0; - $6604 = (($6603) + 8|0); + $6604 = ((($6603)) + 8|0); $6605 = HEAP32[$6604>>2]|0; $6606 = (($6605) - 1)|0; HEAP32[$pc>>2] = $6606; } $6607 = HEAP32[$pCur112>>2]|0; - $6608 = (($6607) + 25|0); + $6608 = ((($6607)) + 25|0); HEAP8[$6608>>0] = 0; break; } case 148: { $6609 = HEAP32[$pOp>>2]|0; - $6610 = (($6609) + 4|0); + $6610 = ((($6609)) + 4|0); $6611 = HEAP32[$6610>>2]|0; $6612 = HEAP32[$0>>2]|0; - $6613 = (($6612) + 56|0); + $6613 = ((($6612)) + 56|0); $6614 = HEAP32[$6613>>2]|0; $6615 = (($6614) + ($6611<<2)|0); $6616 = HEAP32[$6615>>2]|0; HEAP32[$pCur118>>2] = $6616; $6617 = HEAP32[$pOp>>2]|0; - $6618 = (($6617) + 12|0); + $6618 = ((($6617)) + 12|0); $6619 = HEAP32[$6618>>2]|0; $6620 = HEAP32[$aMem>>2]|0; $6621 = (($6620) + (($6619*40)|0)|0); HEAP32[$pDest117>>2] = $6621; $6622 = HEAP32[$pCur118>>2]|0; - $6623 = (($6622) + 25|0); + $6623 = ((($6622)) + 25|0); $6624 = HEAP8[$6623>>0]|0; $6625 = ($6624<<24>>24)!=(0); if ($6625) { @@ -167398,45 +168776,45 @@ function _sqlite3VdbeExec($p) { break L21; } $6627 = HEAP32[$pCur118>>2]|0; - $6628 = (($6627) + 32|0); + $6628 = ((($6627)) + 32|0); $6629 = HEAP32[$6628>>2]|0; $6630 = HEAP32[$6629>>2]|0; HEAP32[$pVtab115>>2] = $6630; $6631 = HEAP32[$pVtab115>>2]|0; $6632 = HEAP32[$6631>>2]|0; HEAP32[$pModule116>>2] = $6632; - ;HEAP32[$sContext+0>>2]=0|0;HEAP32[$sContext+4>>2]=0|0;HEAP32[$sContext+8>>2]=0|0;HEAP32[$sContext+12>>2]=0|0;HEAP32[$sContext+16>>2]=0|0;HEAP32[$sContext+20>>2]=0|0;HEAP32[$sContext+24>>2]=0|0; + ;HEAP32[$sContext>>2]=0|0;HEAP32[$sContext+4>>2]=0|0;HEAP32[$sContext+8>>2]=0|0;HEAP32[$sContext+12>>2]=0|0;HEAP32[$sContext+16>>2]=0|0;HEAP32[$sContext+20>>2]=0|0;HEAP32[$sContext+24>>2]=0|0; $6633 = HEAP32[$pDest117>>2]|0; HEAP32[$sContext>>2] = $6633; $6634 = HEAP32[$pDest117>>2]|0; - $6635 = (($6634) + 8|0); + $6635 = ((($6634)) + 8|0); $6636 = HEAP16[$6635>>1]|0; $6637 = $6636&65535; $6638 = $6637 & -16896; $6639 = $6638 | 1; $6640 = $6639&65535; $6641 = HEAP32[$pDest117>>2]|0; - $6642 = (($6641) + 8|0); + $6642 = ((($6641)) + 8|0); HEAP16[$6642>>1] = $6640; $6643 = HEAP32[$pModule116>>2]|0; - $6644 = (($6643) + 44|0); + $6644 = ((($6643)) + 44|0); $6645 = HEAP32[$6644>>2]|0; $6646 = HEAP32[$pCur118>>2]|0; - $6647 = (($6646) + 32|0); + $6647 = ((($6646)) + 32|0); $6648 = HEAP32[$6647>>2]|0; $6649 = HEAP32[$pOp>>2]|0; - $6650 = (($6649) + 8|0); + $6650 = ((($6649)) + 8|0); $6651 = HEAP32[$6650>>2]|0; $6652 = (FUNCTION_TABLE_iiii[$6645 & 31]($6648,$sContext,$6651)|0); HEAP32[$rc>>2] = $6652; $6653 = HEAP32[$0>>2]|0; $6654 = HEAP32[$pVtab115>>2]|0; _sqlite3VtabImportErrmsg($6653,$6654); - $6655 = (($sContext) + 20|0); + $6655 = ((($sContext)) + 20|0); $6656 = HEAP32[$6655>>2]|0; $6657 = ($6656|0)!=(0); if ($6657) { - $6658 = (($sContext) + 20|0); + $6658 = ((($sContext)) + 20|0); $6659 = HEAP32[$6658>>2]|0; HEAP32[$rc>>2] = $6659; } @@ -167448,69 +168826,29 @@ function _sqlite3VdbeExec($p) { $6664 = (_sqlite3VdbeMemTooBig($6663)|0); $6665 = ($6664|0)!=(0); if ($6665) { - label = 870; + label = 866; break L11; } break; } - case 150: { - $6717 = HEAP32[$pOp>>2]|0; - $6718 = (($6717) + 16|0); - $6719 = HEAP32[$6718>>2]|0; - $6720 = (($6719) + 8|0); - $6721 = HEAP32[$6720>>2]|0; - HEAP32[$pVtab123>>2] = $6721; - $6722 = HEAP32[$pOp>>2]|0; - $6723 = (($6722) + 4|0); - $6724 = HEAP32[$6723>>2]|0; - $6725 = HEAP32[$aMem>>2]|0; - $6726 = (($6725) + (($6724*40)|0)|0); - HEAP32[$pName>>2] = $6726; - $6727 = HEAP32[$pName>>2]|0; - $6728 = (_sqlite3VdbeChangeEncoding($6727,1)|0); - HEAP32[$rc>>2] = $6728; - $6729 = HEAP32[$rc>>2]|0; - $6730 = ($6729|0)==(0); - if ($6730) { - $6731 = HEAP32[$pVtab123>>2]|0; - $6732 = HEAP32[$6731>>2]|0; - $6733 = (($6732) + 76|0); - $6734 = HEAP32[$6733>>2]|0; - $6735 = HEAP32[$pVtab123>>2]|0; - $6736 = HEAP32[$pName>>2]|0; - $6737 = (($6736) + 16|0); - $6738 = HEAP32[$6737>>2]|0; - $6739 = (FUNCTION_TABLE_iii[$6734 & 63]($6735,$6738)|0); - HEAP32[$rc>>2] = $6739; - $6740 = HEAP32[$0>>2]|0; - $6741 = HEAP32[$pVtab123>>2]|0; - _sqlite3VtabImportErrmsg($6740,$6741); - $6742 = HEAP32[$0>>2]|0; - $6743 = (($6742) + 88|0); - $6744 = HEAP16[$6743>>1]|0; - $6745 = $6744 & -33; - HEAP16[$6743>>1] = $6745; - } - break; - } case 149: { HEAP32[$res121>>2] = 0; $6666 = HEAP32[$pOp>>2]|0; - $6667 = (($6666) + 4|0); + $6667 = ((($6666)) + 4|0); $6668 = HEAP32[$6667>>2]|0; $6669 = HEAP32[$0>>2]|0; - $6670 = (($6669) + 56|0); + $6670 = ((($6669)) + 56|0); $6671 = HEAP32[$6670>>2]|0; $6672 = (($6671) + ($6668<<2)|0); $6673 = HEAP32[$6672>>2]|0; HEAP32[$pCur122>>2] = $6673; $6674 = HEAP32[$pCur122>>2]|0; - $6675 = (($6674) + 25|0); + $6675 = ((($6674)) + 25|0); $6676 = HEAP8[$6675>>0]|0; $6677 = ($6676<<24>>24)!=(0); if (!($6677)) { $6678 = HEAP32[$pCur122>>2]|0; - $6679 = (($6678) + 32|0); + $6679 = ((($6678)) + 32|0); $6680 = HEAP32[$6679>>2]|0; $6681 = HEAP32[$6680>>2]|0; HEAP32[$pVtab119>>2] = $6681; @@ -167518,21 +168856,21 @@ function _sqlite3VdbeExec($p) { $6683 = HEAP32[$6682>>2]|0; HEAP32[$pModule120>>2] = $6683; $6684 = HEAP32[$0>>2]|0; - $6685 = (($6684) + 88|0); + $6685 = ((($6684)) + 88|0); $6686 = HEAP16[$6685>>1]|0; $6687 = $6686 & -13; $6688 = $6687 | 4; HEAP16[$6685>>1] = $6688; $6689 = HEAP32[$pModule120>>2]|0; - $6690 = (($6689) + 36|0); + $6690 = ((($6689)) + 36|0); $6691 = HEAP32[$6690>>2]|0; $6692 = HEAP32[$pCur122>>2]|0; - $6693 = (($6692) + 32|0); + $6693 = ((($6692)) + 32|0); $6694 = HEAP32[$6693>>2]|0; $6695 = (FUNCTION_TABLE_ii[$6691 & 31]($6694)|0); HEAP32[$rc>>2] = $6695; $6696 = HEAP32[$0>>2]|0; - $6697 = (($6696) + 88|0); + $6697 = ((($6696)) + 88|0); $6698 = HEAP16[$6697>>1]|0; $6699 = $6698 & -13; HEAP16[$6697>>1] = $6699; @@ -167543,10 +168881,10 @@ function _sqlite3VdbeExec($p) { $6703 = ($6702|0)==(0); if ($6703) { $6704 = HEAP32[$pModule120>>2]|0; - $6705 = (($6704) + 40|0); + $6705 = ((($6704)) + 40|0); $6706 = HEAP32[$6705>>2]|0; $6707 = HEAP32[$pCur122>>2]|0; - $6708 = (($6707) + 32|0); + $6708 = ((($6707)) + 32|0); $6709 = HEAP32[$6708>>2]|0; $6710 = (FUNCTION_TABLE_ii[$6706 & 31]($6709)|0); HEAP32[$res121>>2] = $6710; @@ -167557,7 +168895,7 @@ function _sqlite3VdbeExec($p) { label = 16; } else { $6713 = HEAP32[$pOp>>2]|0; - $6714 = (($6713) + 8|0); + $6714 = ((($6713)) + 8|0); $6715 = HEAP32[$6714>>2]|0; $6716 = (($6715) - 1)|0; HEAP32[$pc>>2] = $6716; @@ -167566,35 +168904,75 @@ function _sqlite3VdbeExec($p) { } break; } + case 150: { + $6717 = HEAP32[$pOp>>2]|0; + $6718 = ((($6717)) + 16|0); + $6719 = HEAP32[$6718>>2]|0; + $6720 = ((($6719)) + 8|0); + $6721 = HEAP32[$6720>>2]|0; + HEAP32[$pVtab123>>2] = $6721; + $6722 = HEAP32[$pOp>>2]|0; + $6723 = ((($6722)) + 4|0); + $6724 = HEAP32[$6723>>2]|0; + $6725 = HEAP32[$aMem>>2]|0; + $6726 = (($6725) + (($6724*40)|0)|0); + HEAP32[$pName>>2] = $6726; + $6727 = HEAP32[$pName>>2]|0; + $6728 = (_sqlite3VdbeChangeEncoding($6727,1)|0); + HEAP32[$rc>>2] = $6728; + $6729 = HEAP32[$rc>>2]|0; + $6730 = ($6729|0)==(0); + if ($6730) { + $6731 = HEAP32[$pVtab123>>2]|0; + $6732 = HEAP32[$6731>>2]|0; + $6733 = ((($6732)) + 76|0); + $6734 = HEAP32[$6733>>2]|0; + $6735 = HEAP32[$pVtab123>>2]|0; + $6736 = HEAP32[$pName>>2]|0; + $6737 = ((($6736)) + 16|0); + $6738 = HEAP32[$6737>>2]|0; + $6739 = (FUNCTION_TABLE_iii[$6734 & 63]($6735,$6738)|0); + HEAP32[$rc>>2] = $6739; + $6740 = HEAP32[$0>>2]|0; + $6741 = HEAP32[$pVtab123>>2]|0; + _sqlite3VtabImportErrmsg($6740,$6741); + $6742 = HEAP32[$0>>2]|0; + $6743 = ((($6742)) + 88|0); + $6744 = HEAP16[$6743>>1]|0; + $6745 = $6744 & -33; + HEAP16[$6743>>1] = $6745; + } + break; + } case 15: { $6746 = HEAP32[$pOp>>2]|0; - $6747 = (($6746) + 16|0); + $6747 = ((($6746)) + 16|0); $6748 = HEAP32[$6747>>2]|0; - $6749 = (($6748) + 8|0); + $6749 = ((($6748)) + 8|0); $6750 = HEAP32[$6749>>2]|0; HEAP32[$pVtab124>>2] = $6750; $6751 = HEAP32[$pVtab124>>2]|0; $6752 = HEAP32[$6751>>2]|0; HEAP32[$pModule125>>2] = $6752; $6753 = HEAP32[$pOp>>2]|0; - $6754 = (($6753) + 8|0); + $6754 = ((($6753)) + 8|0); $6755 = HEAP32[$6754>>2]|0; HEAP32[$nArg126>>2] = $6755; $6756 = HEAP32[$pModule125>>2]|0; - $6757 = (($6756) + 52|0); + $6757 = ((($6756)) + 52|0); $6758 = HEAP32[$6757>>2]|0; $6759 = ($6758|0)!=(0|0); if ($6759) { $6760 = HEAP32[$db>>2]|0; - $6761 = (($6760) + 68|0); + $6761 = ((($6760)) + 68|0); $6762 = HEAP8[$6761>>0]|0; HEAP8[$vtabOnConflict>>0] = $6762; $6763 = HEAP32[$0>>2]|0; - $6764 = (($6763) + 12|0); + $6764 = ((($6763)) + 12|0); $6765 = HEAP32[$6764>>2]|0; HEAP32[$apArg129>>2] = $6765; $6766 = HEAP32[$pOp>>2]|0; - $6767 = (($6766) + 12|0); + $6767 = ((($6766)) + 12|0); $6768 = HEAP32[$6767>>2]|0; $6769 = HEAP32[$aMem>>2]|0; $6770 = (($6769) + (($6768*40)|0)|0); @@ -167613,29 +168991,29 @@ function _sqlite3VdbeExec($p) { $6777 = (($6776) + ($6775<<2)|0); HEAP32[$6777>>2] = $6774; $6778 = HEAP32[$pX130>>2]|0; - $6779 = (($6778) + 40|0); + $6779 = ((($6778)) + 40|0); HEAP32[$pX130>>2] = $6779; $6780 = HEAP32[$i127>>2]|0; $6781 = (($6780) + 1)|0; HEAP32[$i127>>2] = $6781; } $6782 = HEAP32[$pOp>>2]|0; - $6783 = (($6782) + 3|0); + $6783 = ((($6782)) + 3|0); $6784 = HEAP8[$6783>>0]|0; $6785 = HEAP32[$db>>2]|0; - $6786 = (($6785) + 68|0); + $6786 = ((($6785)) + 68|0); HEAP8[$6786>>0] = $6784; $6787 = HEAP32[$pModule125>>2]|0; - $6788 = (($6787) + 52|0); + $6788 = ((($6787)) + 52|0); $6789 = HEAP32[$6788>>2]|0; $6790 = HEAP32[$pVtab124>>2]|0; $6791 = HEAP32[$nArg126>>2]|0; $6792 = HEAP32[$apArg129>>2]|0; - $6793 = (FUNCTION_TABLE_iiiii[$6789 & 7]($6790,$6791,$6792,$rowid128)|0); + $6793 = (FUNCTION_TABLE_iiiii[$6789 & 15]($6790,$6791,$6792,$rowid128)|0); HEAP32[$rc>>2] = $6793; $6794 = HEAP8[$vtabOnConflict>>0]|0; $6795 = HEAP32[$db>>2]|0; - $6796 = (($6795) + 68|0); + $6796 = ((($6795)) + 68|0); HEAP8[$6796>>0] = $6794; $6797 = HEAP32[$0>>2]|0; $6798 = HEAP32[$pVtab124>>2]|0; @@ -167644,7 +169022,7 @@ function _sqlite3VdbeExec($p) { $6800 = ($6799|0)==(0); if ($6800) { $6801 = HEAP32[$pOp>>2]|0; - $6802 = (($6801) + 4|0); + $6802 = ((($6801)) + 4|0); $6803 = HEAP32[$6802>>2]|0; $6804 = ($6803|0)!=(0); if ($6804) { @@ -167661,7 +169039,7 @@ function _sqlite3VdbeExec($p) { $6814 = $6813; HEAP32[$6814>>2] = $6810; $6815 = HEAP32[$db>>2]|0; - $6816 = (($6815) + 32|0); + $6816 = ((($6815)) + 32|0); $6817 = $6816; $6818 = $6817; HEAP32[$6818>>2] = $6807; @@ -167675,15 +169053,15 @@ function _sqlite3VdbeExec($p) { $6823 = ($6822|0)==(19); if ($6823) { $6824 = HEAP32[$pOp>>2]|0; - $6825 = (($6824) + 16|0); + $6825 = ((($6824)) + 16|0); $6826 = HEAP32[$6825>>2]|0; - $6827 = (($6826) + 16|0); + $6827 = ((($6826)) + 16|0); $6828 = HEAP8[$6827>>0]|0; $6829 = $6828&255; $6830 = ($6829|0)!=(0); if ($6830) { $6831 = HEAP32[$pOp>>2]|0; - $6832 = (($6831) + 3|0); + $6832 = ((($6831)) + 3|0); $6833 = HEAP8[$6832>>0]|0; $6834 = $6833&255; $6835 = ($6834|0)==(4); @@ -167692,7 +169070,7 @@ function _sqlite3VdbeExec($p) { break L21; } $6836 = HEAP32[$pOp>>2]|0; - $6837 = (($6836) + 3|0); + $6837 = ((($6836)) + 3|0); $6838 = HEAP8[$6837>>0]|0; $6839 = $6838&255; $6840 = ($6839|0)==(5); @@ -167700,98 +169078,35 @@ function _sqlite3VdbeExec($p) { $6846 = 2; } else { $6841 = HEAP32[$pOp>>2]|0; - $6842 = (($6841) + 3|0); + $6842 = ((($6841)) + 3|0); $6843 = HEAP8[$6842>>0]|0; $6844 = $6843&255; $6846 = $6844; } $6845 = $6846&255; $6847 = HEAP32[$0>>2]|0; - $6848 = (($6847) + 86|0); + $6848 = ((($6847)) + 86|0); HEAP8[$6848>>0] = $6845; break L21; } } $6849 = HEAP32[$0>>2]|0; - $6850 = (($6849) + 92|0); + $6850 = ((($6849)) + 92|0); $6851 = HEAP32[$6850>>2]|0; $6852 = (($6851) + 1)|0; HEAP32[$6850>>2] = $6852; } break; } - case 153: { - $6901 = HEAP32[$pOp>>2]|0; - $6902 = (($6901) + 8|0); - $6903 = HEAP32[$6902>>2]|0; - $6904 = ($6903|0)!=(0); - if ($6904) { - $6905 = HEAP32[$pOp>>2]|0; - $6906 = (($6905) + 8|0); - $6907 = HEAP32[$6906>>2]|0; - $6908 = (($6907) - 1)|0; - HEAP32[$pc>>2] = $6908; - } - $6909 = HEAP32[$db>>2]|0; - $6910 = (($6909) + 172|0); - $6911 = HEAP32[$6910>>2]|0; - $6912 = ($6911|0)!=(0|0); - if ($6912) { - $6913 = HEAP32[$0>>2]|0; - $6914 = (($6913) + 88|0); - $6915 = HEAP16[$6914>>1]|0; - $6916 = ($6915&65535) >>> 11; - $6917 = $6916 & 1; - $6918 = $6917&65535; - $6919 = ($6918|0)!=(0); - if (!($6919)) { - $6920 = HEAP32[$pOp>>2]|0; - $6921 = (($6920) + 16|0); - $6922 = HEAP32[$6921>>2]|0; - $6923 = ($6922|0)!=(0|0); - if ($6923) { - $6924 = HEAP32[$pOp>>2]|0; - $6925 = (($6924) + 16|0); - $6926 = HEAP32[$6925>>2]|0; - $6930 = $6926; - } else { - $6927 = HEAP32[$0>>2]|0; - $6928 = (($6927) + 168|0); - $6929 = HEAP32[$6928>>2]|0; - $6930 = $6929; - } - HEAP32[$zTrace>>2] = $6930; - $6931 = ($6930|0)!=(0|0); - if ($6931) { - $6932 = HEAP32[$0>>2]|0; - $6933 = HEAP32[$zTrace>>2]|0; - $6934 = (_sqlite3VdbeExpandSql($6932,$6933)|0); - HEAP32[$z132>>2] = $6934; - $6935 = HEAP32[$db>>2]|0; - $6936 = (($6935) + 172|0); - $6937 = HEAP32[$6936>>2]|0; - $6938 = HEAP32[$db>>2]|0; - $6939 = (($6938) + 176|0); - $6940 = HEAP32[$6939>>2]|0; - $6941 = HEAP32[$z132>>2]|0; - FUNCTION_TABLE_vii[$6937 & 7]($6940,$6941); - $6942 = HEAP32[$db>>2]|0; - $6943 = HEAP32[$z132>>2]|0; - _sqlite3DbFree($6942,$6943); - } - } - } - break; - } case 151: { $6853 = HEAP32[$pOp>>2]|0; - $6854 = (($6853) + 4|0); + $6854 = ((($6853)) + 4|0); $6855 = HEAP32[$6854>>2]|0; $6856 = HEAP32[$db>>2]|0; - $6857 = (($6856) + 16|0); + $6857 = ((($6856)) + 16|0); $6858 = HEAP32[$6857>>2]|0; $6859 = (($6858) + ($6855<<4)|0); - $6860 = (($6859) + 4|0); + $6860 = ((($6859)) + 4|0); $6861 = HEAP32[$6860>>2]|0; $6862 = (_sqlite3BtreeLastPage($6861)|0); $6863 = HEAP32[$pOut>>2]|0; @@ -167805,18 +169120,18 @@ function _sqlite3VdbeExec($p) { } case 152: { $6868 = HEAP32[$pOp>>2]|0; - $6869 = (($6868) + 4|0); + $6869 = ((($6868)) + 4|0); $6870 = HEAP32[$6869>>2]|0; $6871 = HEAP32[$db>>2]|0; - $6872 = (($6871) + 16|0); + $6872 = ((($6871)) + 16|0); $6873 = HEAP32[$6872>>2]|0; $6874 = (($6873) + ($6870<<4)|0); - $6875 = (($6874) + 4|0); + $6875 = ((($6874)) + 4|0); $6876 = HEAP32[$6875>>2]|0; HEAP32[$pBt131>>2] = $6876; HEAP32[$newMax>>2] = 0; $6877 = HEAP32[$pOp>>2]|0; - $6878 = (($6877) + 12|0); + $6878 = ((($6877)) + 12|0); $6879 = HEAP32[$6878>>2]|0; $6880 = ($6879|0)!=(0); if ($6880) { @@ -167825,12 +169140,12 @@ function _sqlite3VdbeExec($p) { HEAP32[$newMax>>2] = $6882; $6883 = HEAP32[$newMax>>2]|0; $6884 = HEAP32[$pOp>>2]|0; - $6885 = (($6884) + 12|0); + $6885 = ((($6884)) + 12|0); $6886 = HEAP32[$6885>>2]|0; $6887 = ($6883>>>0)<($6886>>>0); if ($6887) { $6888 = HEAP32[$pOp>>2]|0; - $6889 = (($6888) + 12|0); + $6889 = ((($6888)) + 12|0); $6890 = HEAP32[$6889>>2]|0; HEAP32[$newMax>>2] = $6890; } @@ -167849,6 +169164,69 @@ function _sqlite3VdbeExec($p) { HEAP32[$6900>>2] = $6895; break; } + case 153: { + $6901 = HEAP32[$pOp>>2]|0; + $6902 = ((($6901)) + 8|0); + $6903 = HEAP32[$6902>>2]|0; + $6904 = ($6903|0)!=(0); + if ($6904) { + $6905 = HEAP32[$pOp>>2]|0; + $6906 = ((($6905)) + 8|0); + $6907 = HEAP32[$6906>>2]|0; + $6908 = (($6907) - 1)|0; + HEAP32[$pc>>2] = $6908; + } + $6909 = HEAP32[$db>>2]|0; + $6910 = ((($6909)) + 172|0); + $6911 = HEAP32[$6910>>2]|0; + $6912 = ($6911|0)!=(0|0); + if ($6912) { + $6913 = HEAP32[$0>>2]|0; + $6914 = ((($6913)) + 88|0); + $6915 = HEAP16[$6914>>1]|0; + $6916 = ($6915&65535) >>> 11; + $6917 = $6916 & 1; + $6918 = $6917&65535; + $6919 = ($6918|0)!=(0); + if (!($6919)) { + $6920 = HEAP32[$pOp>>2]|0; + $6921 = ((($6920)) + 16|0); + $6922 = HEAP32[$6921>>2]|0; + $6923 = ($6922|0)!=(0|0); + if ($6923) { + $6924 = HEAP32[$pOp>>2]|0; + $6925 = ((($6924)) + 16|0); + $6926 = HEAP32[$6925>>2]|0; + $6930 = $6926; + } else { + $6927 = HEAP32[$0>>2]|0; + $6928 = ((($6927)) + 168|0); + $6929 = HEAP32[$6928>>2]|0; + $6930 = $6929; + } + HEAP32[$zTrace>>2] = $6930; + $6931 = ($6930|0)!=(0|0); + if ($6931) { + $6932 = HEAP32[$0>>2]|0; + $6933 = HEAP32[$zTrace>>2]|0; + $6934 = (_sqlite3VdbeExpandSql($6932,$6933)|0); + HEAP32[$z132>>2] = $6934; + $6935 = HEAP32[$db>>2]|0; + $6936 = ((($6935)) + 172|0); + $6937 = HEAP32[$6936>>2]|0; + $6938 = HEAP32[$db>>2]|0; + $6939 = ((($6938)) + 176|0); + $6940 = HEAP32[$6939>>2]|0; + $6941 = HEAP32[$z132>>2]|0; + FUNCTION_TABLE_vii[$6937 & 7]($6940,$6941); + $6942 = HEAP32[$db>>2]|0; + $6943 = HEAP32[$z132>>2]|0; + _sqlite3DbFree($6942,$6943); + } + } + } + break; + } default: { } } @@ -167857,7 +169235,7 @@ function _sqlite3VdbeExec($p) { if ((label|0) == 28) { label = 0; $248 = HEAP32[$pOp>>2]|0; - $249 = (($248) + 4|0); + $249 = ((($248)) + 4|0); $250 = HEAP32[$249>>2]|0; $251 = ($250|0)==(0); if (!($251)) { @@ -167865,7 +169243,7 @@ function _sqlite3VdbeExec($p) { break L11; } $252 = HEAP32[$0>>2]|0; - $253 = (($252) + 176|0); + $253 = ((($252)) + 176|0); $254 = HEAP32[$253>>2]|0; $255 = ($254|0)!=(0|0); if (!($255)) { @@ -167873,30 +169251,30 @@ function _sqlite3VdbeExec($p) { break L11; } $256 = HEAP32[$0>>2]|0; - $257 = (($256) + 176|0); + $257 = ((($256)) + 176|0); $258 = HEAP32[$257>>2]|0; HEAP32[$pFrame>>2] = $258; $259 = HEAP32[$pFrame>>2]|0; - $260 = (($259) + 4|0); + $260 = ((($259)) + 4|0); $261 = HEAP32[$260>>2]|0; $262 = HEAP32[$0>>2]|0; - $263 = (($262) + 176|0); + $263 = ((($262)) + 176|0); HEAP32[$263>>2] = $261; $264 = HEAP32[$0>>2]|0; - $265 = (($264) + 184|0); + $265 = ((($264)) + 184|0); $266 = HEAP32[$265>>2]|0; $267 = (($266) + -1)|0; HEAP32[$265>>2] = $267; $268 = HEAP32[$db>>2]|0; $269 = HEAP32[$0>>2]|0; - $270 = (($269) + 92|0); + $270 = ((($269)) + 92|0); $271 = HEAP32[$270>>2]|0; _sqlite3VdbeSetChanges($268,$271); $272 = HEAP32[$pFrame>>2]|0; $273 = (_sqlite3VdbeFrameRestore($272)|0); HEAP32[$pc>>2] = $273; $274 = HEAP32[$db>>2]|0; - $275 = (($274) + 32|0); + $275 = ((($274)) + 32|0); $276 = $275; $277 = $276; $278 = HEAP32[$277>>2]|0; @@ -167910,55 +169288,55 @@ function _sqlite3VdbeExec($p) { $285 = $284; HEAP32[$285>>2] = $281; $286 = HEAP32[$pOp>>2]|0; - $287 = (($286) + 8|0); + $287 = ((($286)) + 8|0); $288 = HEAP32[$287>>2]|0; $289 = ($288|0)==(4); if ($289) { $290 = HEAP32[$pc>>2]|0; $291 = HEAP32[$0>>2]|0; - $292 = (($291) + 4|0); + $292 = ((($291)) + 4|0); $293 = HEAP32[$292>>2]|0; $294 = (($293) + (($290*20)|0)|0); - $295 = (($294) + 8|0); + $295 = ((($294)) + 8|0); $296 = HEAP32[$295>>2]|0; $297 = (($296) - 1)|0; HEAP32[$pc>>2] = $297; } $298 = HEAP32[$0>>2]|0; - $299 = (($298) + 4|0); + $299 = ((($298)) + 4|0); $300 = HEAP32[$299>>2]|0; HEAP32[$aOp>>2] = $300; $301 = HEAP32[$0>>2]|0; - $302 = (($301) + 8|0); + $302 = ((($301)) + 8|0); $303 = HEAP32[$302>>2]|0; HEAP32[$aMem>>2] = $303; } else if ((label|0) == 57) { label = 0; $468 = HEAP32[$pOut>>2]|0; - $469 = (($468) + 8|0); + $469 = ((($468)) + 8|0); HEAP16[$469>>1] = 2562; $470 = HEAP32[$pOp>>2]|0; - $471 = (($470) + 16|0); + $471 = ((($470)) + 16|0); $472 = HEAP32[$471>>2]|0; $473 = HEAP32[$pOut>>2]|0; - $474 = (($473) + 16|0); + $474 = ((($473)) + 16|0); HEAP32[$474>>2] = $472; $475 = HEAP32[$pOp>>2]|0; - $476 = (($475) + 4|0); + $476 = ((($475)) + 4|0); $477 = HEAP32[$476>>2]|0; $478 = HEAP32[$pOut>>2]|0; - $479 = (($478) + 12|0); + $479 = ((($478)) + 12|0); HEAP32[$479>>2] = $477; $480 = HEAP8[$encoding>>0]|0; $481 = HEAP32[$pOut>>2]|0; - $482 = (($481) + 10|0); + $482 = ((($481)) + 10|0); HEAP8[$482>>0] = $480; } - else if ((label|0) == 453) { + else if ((label|0) == 449) { label = 0; $3441 = HEAP32[$0>>2]|0; - $3442 = (($3441) + 88|0); + $3442 = ((($3441)) + 88|0); $3443 = HEAP16[$3442>>1]|0; $3444 = ($3443&65535) >>> 5; $3445 = $3444 & 1; @@ -167971,21 +169349,21 @@ function _sqlite3VdbeExec($p) { HEAP32[$nField19>>2] = 0; HEAP32[$pKeyInfo20>>2] = 0; $3448 = HEAP32[$pOp>>2]|0; - $3449 = (($3448) + 8|0); + $3449 = ((($3448)) + 8|0); $3450 = HEAP32[$3449>>2]|0; HEAP32[$p221>>2] = $3450; $3451 = HEAP32[$pOp>>2]|0; - $3452 = (($3451) + 12|0); + $3452 = ((($3451)) + 12|0); $3453 = HEAP32[$3452>>2]|0; HEAP32[$iDb22>>2] = $3453; $3454 = HEAP32[$iDb22>>2]|0; $3455 = HEAP32[$db>>2]|0; - $3456 = (($3455) + 16|0); + $3456 = ((($3455)) + 16|0); $3457 = HEAP32[$3456>>2]|0; $3458 = (($3457) + ($3454<<4)|0); HEAP32[$pDb24>>2] = $3458; $3459 = HEAP32[$pDb24>>2]|0; - $3460 = (($3459) + 4|0); + $3460 = ((($3459)) + 4|0); $3461 = HEAP32[$3460>>2]|0; HEAP32[$pX>>2] = $3461; $3462 = HEAP32[$pOp>>2]|0; @@ -167995,31 +169373,31 @@ function _sqlite3VdbeExec($p) { if ($3465) { HEAP32[$wrFlag>>2] = 1; $3466 = HEAP32[$pDb24>>2]|0; - $3467 = (($3466) + 12|0); + $3467 = ((($3466)) + 12|0); $3468 = HEAP32[$3467>>2]|0; - $3469 = (($3468) + 76|0); + $3469 = ((($3468)) + 76|0); $3470 = HEAP8[$3469>>0]|0; $3471 = $3470&255; $3472 = HEAP32[$0>>2]|0; - $3473 = (($3472) + 87|0); + $3473 = ((($3472)) + 87|0); $3474 = HEAP8[$3473>>0]|0; $3475 = $3474&255; $3476 = ($3471|0)<($3475|0); if ($3476) { $3477 = HEAP32[$pDb24>>2]|0; - $3478 = (($3477) + 12|0); + $3478 = ((($3477)) + 12|0); $3479 = HEAP32[$3478>>2]|0; - $3480 = (($3479) + 76|0); + $3480 = ((($3479)) + 76|0); $3481 = HEAP8[$3480>>0]|0; $3482 = HEAP32[$0>>2]|0; - $3483 = (($3482) + 87|0); + $3483 = ((($3482)) + 87|0); HEAP8[$3483>>0] = $3481; } } else { HEAP32[$wrFlag>>2] = 0; } $3484 = HEAP32[$pOp>>2]|0; - $3485 = (($3484) + 3|0); + $3485 = ((($3484)) + 3|0); $3486 = HEAP8[$3485>>0]|0; $3487 = $3486&255; $3488 = $3487 & 2; @@ -168042,45 +169420,45 @@ function _sqlite3VdbeExec($p) { $3501 = HEAP32[$p221>>2]|0; $3502 = ($3501|0)<(2); if ($3502) { - label = 461; + label = 457; break L11; } } $3504 = HEAP32[$pOp>>2]|0; - $3505 = (($3504) + 1|0); + $3505 = ((($3504)) + 1|0); $3506 = HEAP8[$3505>>0]|0; $3507 = $3506 << 24 >> 24; $3508 = ($3507|0)==(-6); $3509 = HEAP32[$pOp>>2]|0; if ($3508) { - $3510 = (($3509) + 16|0); + $3510 = ((($3509)) + 16|0); $3511 = HEAP32[$3510>>2]|0; HEAP32[$pKeyInfo20>>2] = $3511; $3512 = HEAP32[$pKeyInfo20>>2]|0; - $3513 = (($3512) + 6|0); + $3513 = ((($3512)) + 6|0); $3514 = HEAP16[$3513>>1]|0; $3515 = $3514&65535; $3516 = HEAP32[$pKeyInfo20>>2]|0; - $3517 = (($3516) + 8|0); + $3517 = ((($3516)) + 8|0); $3518 = HEAP16[$3517>>1]|0; $3519 = $3518&65535; $3520 = (($3515) + ($3519))|0; HEAP32[$nField19>>2] = $3520; } else { - $3521 = (($3509) + 1|0); + $3521 = ((($3509)) + 1|0); $3522 = HEAP8[$3521>>0]|0; $3523 = $3522 << 24 >> 24; $3524 = ($3523|0)==(-14); if ($3524) { $3525 = HEAP32[$pOp>>2]|0; - $3526 = (($3525) + 16|0); + $3526 = ((($3525)) + 16|0); $3527 = HEAP32[$3526>>2]|0; HEAP32[$nField19>>2] = $3527; } } $3528 = HEAP32[$0>>2]|0; $3529 = HEAP32[$pOp>>2]|0; - $3530 = (($3529) + 4|0); + $3530 = ((($3529)) + 4|0); $3531 = HEAP32[$3530>>2]|0; $3532 = HEAP32[$nField19>>2]|0; $3533 = HEAP32[$iDb22>>2]|0; @@ -168089,21 +169467,21 @@ function _sqlite3VdbeExec($p) { $3535 = HEAP32[$pCur23>>2]|0; $3536 = ($3535|0)==(0|0); if ($3536) { - label = 871; + label = 867; break L1; } $3537 = HEAP32[$pCur23>>2]|0; - $3538 = (($3537) + 25|0); + $3538 = ((($3537)) + 25|0); HEAP8[$3538>>0] = 1; $3539 = HEAP32[$pCur23>>2]|0; - $3540 = (($3539) + 27|0); + $3540 = ((($3539)) + 27|0); $3541 = HEAP8[$3540>>0]|0; $3542 = $3541 & -9; $3543 = $3542 | 8; HEAP8[$3540>>0] = $3543; $3544 = HEAP32[$p221>>2]|0; $3545 = HEAP32[$pCur23>>2]|0; - $3546 = (($3545) + 28|0); + $3546 = ((($3545)) + 28|0); HEAP32[$3546>>2] = $3544; $3547 = HEAP32[$pX>>2]|0; $3548 = HEAP32[$p221>>2]|0; @@ -168115,24 +169493,24 @@ function _sqlite3VdbeExec($p) { HEAP32[$rc>>2] = $3553; $3554 = HEAP32[$pKeyInfo20>>2]|0; $3555 = HEAP32[$pCur23>>2]|0; - $3556 = (($3555) + 8|0); + $3556 = ((($3555)) + 8|0); HEAP32[$3556>>2] = $3554; $3557 = HEAP32[$pCur23>>2]|0; $3558 = HEAP32[$3557>>2]|0; $3559 = HEAP32[$pOp>>2]|0; - $3560 = (($3559) + 3|0); + $3560 = ((($3559)) + 3|0); $3561 = HEAP8[$3560>>0]|0; $3562 = $3561&255; $3563 = $3562 & 1; _sqlite3BtreeCursorHints($3558,$3563); $3564 = HEAP32[$pOp>>2]|0; - $3565 = (($3564) + 1|0); + $3565 = ((($3564)) + 1|0); $3566 = HEAP8[$3565>>0]|0; $3567 = $3566 << 24 >> 24; $3568 = ($3567|0)!=(-6); $3569 = $3568&1; $3570 = HEAP32[$pCur23>>2]|0; - $3571 = (($3570) + 27|0); + $3571 = ((($3570)) + 27|0); $3572 = $3569&255; $3573 = HEAP8[$3571>>0]|0; $3574 = $3572 & 1; @@ -168141,20 +169519,20 @@ function _sqlite3VdbeExec($p) { $3577 = $3576 | $3575; HEAP8[$3571>>0] = $3577; } - else if ((label|0) == 623) { + else if ((label|0) == 619) { label = 0; $4894 = HEAP32[$pOp>>2]|0; - $4895 = (($4894) + 4|0); + $4895 = ((($4894)) + 4|0); $4896 = HEAP32[$4895>>2]|0; $4897 = HEAP32[$0>>2]|0; - $4898 = (($4897) + 56|0); + $4898 = ((($4897)) + 56|0); $4899 = HEAP32[$4898>>2]|0; $4900 = (($4899) + ($4896<<2)|0); $4901 = HEAP32[$4900>>2]|0; HEAP32[$pC63>>2] = $4901; HEAP32[$res65>>2] = 1; $4902 = HEAP32[$pC63>>2]|0; - $4903 = (($4902) + 56|0); + $4903 = ((($4902)) + 56|0); $4904 = HEAP32[$4903>>2]|0; $4905 = ($4904|0)!=(0|0); $4906 = HEAP32[$pC63>>2]|0; @@ -168168,75 +169546,75 @@ function _sqlite3VdbeExec($p) { $4910 = (_sqlite3BtreeFirst($4909,$res65)|0); HEAP32[$rc>>2] = $4910; $4911 = HEAP32[$pC63>>2]|0; - $4912 = (($4911) + 26|0); + $4912 = ((($4911)) + 26|0); HEAP8[$4912>>0] = 0; $4913 = HEAP32[$pC63>>2]|0; - $4914 = (($4913) + 60|0); + $4914 = ((($4913)) + 60|0); HEAP32[$4914>>2] = 0; } $4915 = HEAP32[$res65>>2]|0; $4916 = $4915&255; $4917 = HEAP32[$pC63>>2]|0; - $4918 = (($4917) + 25|0); + $4918 = ((($4917)) + 25|0); HEAP8[$4918>>0] = $4916; $4919 = HEAP32[$res65>>2]|0; $4920 = ($4919|0)!=(0); if ($4920) { $4921 = HEAP32[$pOp>>2]|0; - $4922 = (($4921) + 8|0); + $4922 = ((($4921)) + 8|0); $4923 = HEAP32[$4922>>2]|0; $4924 = (($4923) - 1)|0; HEAP32[$pc>>2] = $4924; } } - else if ((label|0) == 630) { + else if ((label|0) == 626) { label = 0; $4945 = HEAP32[$pOp>>2]|0; - $4946 = (($4945) + 4|0); + $4946 = ((($4945)) + 4|0); $4947 = HEAP32[$4946>>2]|0; $4948 = HEAP32[$0>>2]|0; - $4949 = (($4948) + 56|0); + $4949 = ((($4948)) + 56|0); $4950 = HEAP32[$4949>>2]|0; $4951 = (($4950) + ($4947<<2)|0); $4952 = HEAP32[$4951>>2]|0; HEAP32[$pC66>>2] = $4952; $4953 = HEAP32[$pOp>>2]|0; - $4954 = (($4953) + 12|0); + $4954 = ((($4953)) + 12|0); $4955 = HEAP32[$4954>>2]|0; HEAP32[$res67>>2] = $4955; $4956 = HEAP32[$pOp>>2]|0; - $4957 = (($4956) + 16|0); + $4957 = ((($4956)) + 16|0); $4958 = HEAP32[$4957>>2]|0; $4959 = HEAP32[$pC66>>2]|0; $4960 = HEAP32[$4959>>2]|0; $4961 = (FUNCTION_TABLE_iii[$4958 & 63]($4960,$res67)|0); HEAP32[$rc>>2] = $4961; - label = 631; + label = 627; } } while(0); do { - if ((label|0) == 631) { + if ((label|0) == 627) { label = 0; $4962 = HEAP32[$pC66>>2]|0; - $4963 = (($4962) + 60|0); + $4963 = ((($4962)) + 60|0); HEAP32[$4963>>2] = 0; $4964 = HEAP32[$res67>>2]|0; $4965 = ($4964|0)==(0); $4966 = HEAP32[$pC66>>2]|0; - $4967 = (($4966) + 25|0); + $4967 = ((($4966)) + 25|0); if ($4965) { HEAP8[$4967>>0] = 0; $4968 = HEAP32[$pOp>>2]|0; - $4969 = (($4968) + 8|0); + $4969 = ((($4968)) + 8|0); $4970 = HEAP32[$4969>>2]|0; $4971 = (($4970) - 1)|0; HEAP32[$pc>>2] = $4971; $4972 = HEAP32[$pOp>>2]|0; - $4973 = (($4972) + 3|0); + $4973 = ((($4972)) + 3|0); $4974 = HEAP8[$4973>>0]|0; $4975 = $4974&255; $4976 = HEAP32[$0>>2]|0; - $4977 = (($4976) + 108|0); + $4977 = ((($4976)) + 108|0); $4978 = (($4977) + ($4975<<2)|0); $4979 = HEAP32[$4978>>2]|0; $4980 = (($4979) + 1)|0; @@ -168253,14 +169631,14 @@ function _sqlite3VdbeExec($p) { if ((label|0) == 16) { label = 0; $105 = HEAP32[$db>>2]|0; - $106 = (($105) + 240|0); + $106 = ((($105)) + 240|0); $107 = HEAP32[$106>>2]|0; $108 = ($107|0)!=(0); if ($108) { break L3; } $109 = HEAP32[$db>>2]|0; - $110 = (($109) + 292|0); + $110 = ((($109)) + 292|0); $111 = HEAP32[$110>>2]|0; $112 = ($111|0)!=(0|0); if ($112) { @@ -168270,21 +169648,21 @@ function _sqlite3VdbeExec($p) { if ($115) { $116 = HEAP32[$nVmStep>>2]|0; $117 = HEAP32[$db>>2]|0; - $118 = (($117) + 300|0); + $118 = ((($117)) + 300|0); $119 = HEAP32[$118>>2]|0; $120 = (($116) + ($119))|0; $121 = HEAP32[$nVmStep>>2]|0; $122 = HEAP32[$db>>2]|0; - $123 = (($122) + 300|0); + $123 = ((($122)) + 300|0); $124 = HEAP32[$123>>2]|0; $125 = (($121>>>0) % ($124>>>0))&-1; $126 = (($120) - ($125))|0; HEAP32[$nProgressLimit>>2] = $126; $127 = HEAP32[$db>>2]|0; - $128 = (($127) + 292|0); + $128 = ((($127)) + 292|0); $129 = HEAP32[$128>>2]|0; $130 = HEAP32[$db>>2]|0; - $131 = (($130) + 296|0); + $131 = ((($130)) + 296|0); $132 = HEAP32[$131>>2]|0; $133 = (FUNCTION_TABLE_ii[$129 & 31]($132)|0); $134 = ($133|0)!=(0); @@ -168307,63 +169685,63 @@ function _sqlite3VdbeExec($p) { } case 33: { $304 = HEAP32[$pOp>>2]|0; - $305 = (($304) + 4|0); + $305 = ((($304)) + 4|0); $306 = HEAP32[$305>>2]|0; $307 = HEAP32[$0>>2]|0; - $308 = (($307) + 80|0); + $308 = ((($307)) + 80|0); HEAP32[$308>>2] = $306; $309 = HEAP32[$pOp>>2]|0; - $310 = (($309) + 8|0); + $310 = ((($309)) + 8|0); $311 = HEAP32[$310>>2]|0; $312 = $311&255; $313 = HEAP32[$0>>2]|0; - $314 = (($313) + 86|0); + $314 = ((($313)) + 86|0); HEAP8[$314>>0] = $312; $315 = HEAP32[$pc>>2]|0; $316 = HEAP32[$0>>2]|0; - $317 = (($316) + 76|0); + $317 = ((($316)) + 76|0); HEAP32[$317>>2] = $315; $318 = HEAP32[$0>>2]|0; - $319 = (($318) + 80|0); + $319 = ((($318)) + 80|0); $320 = HEAP32[$319>>2]|0; $321 = ($320|0)!=(0); if ($321) { $322 = HEAP32[$pOp>>2]|0; - $323 = (($322) + 3|0); + $323 = ((($322)) + 3|0); $324 = HEAP8[$323>>0]|0; $325 = ($324<<24>>24)!=(0); if ($325) { $326 = HEAP32[$pOp>>2]|0; - $327 = (($326) + 3|0); + $327 = ((($326)) + 3|0); $328 = HEAP8[$327>>0]|0; $329 = $328&255; $330 = (($329) - 1)|0; - $331 = (31264 + ($330<<2)|0); + $331 = (3368 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; HEAP32[$zType>>2] = $332; } else { HEAP32[$zType>>2] = 0; } - HEAP32[$zLogFmt>>2] = 31328; + HEAP32[$zLogFmt>>2] = 31054; $333 = HEAP32[$zType>>2]|0; $334 = ($333|0)!=(0|0); if ($334) { $335 = HEAP32[$pOp>>2]|0; - $336 = (($335) + 16|0); + $336 = ((($335)) + 16|0); $337 = HEAP32[$336>>2]|0; $338 = ($337|0)!=(0|0); if ($338) { $339 = HEAP32[$0>>2]|0; - $340 = (($339) + 44|0); + $340 = ((($339)) + 44|0); $341 = HEAP32[$db>>2]|0; $342 = HEAP32[$zType>>2]|0; $343 = HEAP32[$pOp>>2]|0; - $344 = (($343) + 16|0); + $344 = ((($343)) + 16|0); $345 = HEAP32[$344>>2]|0; - HEAP32[$vararg_buffer84>>2] = $342; - $vararg_ptr27 = (($vararg_buffer84) + 4|0); - HEAP32[$vararg_ptr27>>2] = $345; - _sqlite3SetString($340,$341,31352,$vararg_buffer84); + HEAP32[$vararg_buffer>>2] = $342; + $vararg_ptr29 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr29>>2] = $345; + _sqlite3SetString($340,$341,31078,$vararg_buffer); } else { label = 40; } @@ -168373,44 +169751,44 @@ function _sqlite3VdbeExec($p) { do { if ((label|0) == 40) { $346 = HEAP32[$pOp>>2]|0; - $347 = (($346) + 16|0); + $347 = ((($346)) + 16|0); $348 = HEAP32[$347>>2]|0; $349 = ($348|0)!=(0|0); $350 = HEAP32[$0>>2]|0; - $351 = (($350) + 44|0); + $351 = ((($350)) + 44|0); $352 = HEAP32[$db>>2]|0; if ($349) { $353 = HEAP32[$pOp>>2]|0; - $354 = (($353) + 16|0); + $354 = ((($353)) + 16|0); $355 = HEAP32[$354>>2]|0; - HEAP32[$vararg_buffer84>>2] = $355; - _sqlite3SetString($351,$352,1200,$vararg_buffer84); + HEAP32[$vararg_buffer30>>2] = $355; + _sqlite3SetString($351,$352,14418,$vararg_buffer30); break; } else { $356 = HEAP32[$zType>>2]|0; - HEAP32[$vararg_buffer84>>2] = $356; - _sqlite3SetString($351,$352,31384,$vararg_buffer84); + HEAP32[$vararg_buffer33>>2] = $356; + _sqlite3SetString($351,$352,31103,$vararg_buffer33); break; } } } while(0); $357 = HEAP32[$pOp>>2]|0; - $358 = (($357) + 4|0); + $358 = ((($357)) + 4|0); $359 = HEAP32[$358>>2]|0; $360 = HEAP32[$zLogFmt>>2]|0; $361 = HEAP32[$pc>>2]|0; $362 = HEAP32[$0>>2]|0; - $363 = (($362) + 168|0); + $363 = ((($362)) + 168|0); $364 = HEAP32[$363>>2]|0; $365 = HEAP32[$0>>2]|0; - $366 = (($365) + 44|0); + $366 = ((($365)) + 44|0); $367 = HEAP32[$366>>2]|0; - HEAP32[$vararg_buffer84>>2] = $361; - $vararg_ptr37 = (($vararg_buffer84) + 4|0); - HEAP32[$vararg_ptr37>>2] = $364; - $vararg_ptr38 = (($vararg_buffer84) + 8|0); - HEAP32[$vararg_ptr38>>2] = $367; - _sqlite3_log($359,$360,$vararg_buffer84); + HEAP32[$vararg_buffer36>>2] = $361; + $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); + HEAP32[$vararg_ptr39>>2] = $364; + $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); + HEAP32[$vararg_ptr40>>2] = $367; + _sqlite3_log($359,$360,$vararg_buffer36); } $368 = HEAP32[$0>>2]|0; $369 = (_sqlite3VdbeHalt($368)|0); @@ -168420,7 +169798,7 @@ function _sqlite3VdbeExec($p) { if ($371) { HEAP32[$rc>>2] = 5; $372 = HEAP32[$0>>2]|0; - $373 = (($372) + 80|0); + $373 = ((($372)) + 80|0); HEAP32[$373>>2] = 5; $6969 = $lastRowid; $6970 = $6969; @@ -168429,7 +169807,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168438,8 +169816,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168447,7 +169825,7 @@ function _sqlite3VdbeExec($p) { STACKTOP = sp;return ($6987|0); } else { $374 = HEAP32[$0>>2]|0; - $375 = (($374) + 80|0); + $375 = ((($374)) + 80|0); $376 = HEAP32[$375>>2]|0; $377 = ($376|0)!=(0); $378 = $377 ? 1 : 101; @@ -168459,7 +169837,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168468,8 +169846,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168485,27 +169863,27 @@ function _sqlite3VdbeExec($p) { } case 79: { $634 = HEAP32[$0>>2]|0; - $635 = (($634) + 72|0); + $635 = ((($634)) + 72|0); $636 = HEAP32[$635>>2]|0; $637 = (($636) + 2)|0; $638 = $637 | 1; $639 = HEAP32[$0>>2]|0; - $640 = (($639) + 72|0); + $640 = ((($639)) + 72|0); HEAP32[$640>>2] = $638; $641 = HEAP32[$pOp>>2]|0; - $642 = (($641) + 4|0); + $642 = ((($641)) + 4|0); $643 = HEAP32[$642>>2]|0; $644 = HEAP32[$aMem>>2]|0; $645 = (($644) + (($643*40)|0)|0); $646 = HEAP32[$0>>2]|0; - $647 = (($646) + 20|0); + $647 = ((($646)) + 20|0); HEAP32[$647>>2] = $645; HEAP32[$pMem>>2] = $645; HEAP32[$i>>2] = 0; while(1) { $648 = HEAP32[$i>>2]|0; $649 = HEAP32[$pOp>>2]|0; - $650 = (($649) + 8|0); + $650 = ((($649)) + 8|0); $651 = HEAP32[$650>>2]|0; $652 = ($648|0)<($651|0); if (!($652)) { @@ -168514,7 +169892,7 @@ function _sqlite3VdbeExec($p) { $653 = HEAP32[$i>>2]|0; $654 = HEAP32[$pMem>>2]|0; $655 = (($654) + (($653*40)|0)|0); - $656 = (($655) + 8|0); + $656 = ((($655)) + 8|0); $657 = HEAP16[$656>>1]|0; $658 = $657&65535; $659 = $658 & 4096; @@ -168526,7 +169904,7 @@ function _sqlite3VdbeExec($p) { $664 = (_sqlite3VdbeMemMakeWriteable($663)|0); $665 = ($664|0)!=(0); if ($665) { - label = 871; + label = 867; break L1; } } @@ -168539,17 +169917,17 @@ function _sqlite3VdbeExec($p) { HEAP32[$i>>2] = $670; } $671 = HEAP32[$db>>2]|0; - $672 = (($671) + 64|0); + $672 = ((($671)) + 64|0); $673 = HEAP8[$672>>0]|0; $674 = ($673<<24>>24)!=(0); if ($674) { - label = 871; + label = 867; break L1; } $675 = HEAP32[$pc>>2]|0; $676 = (($675) + 1)|0; $677 = HEAP32[$0>>2]|0; - $678 = (($677) + 76|0); + $678 = ((($677)) + 76|0); HEAP32[$678>>2] = $676; HEAP32[$rc>>2] = 100; $6969 = $lastRowid; @@ -168559,7 +169937,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168568,8 +169946,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168577,21 +169955,21 @@ function _sqlite3VdbeExec($p) { STACKTOP = sp;return ($6987|0); break; } - case 167: { + case 165: { HEAP32[$rc>>2] = 20; break; } - case 381: { + case 377: { $2949 = HEAP32[$pc>>2]|0; $2950 = HEAP32[$0>>2]|0; - $2951 = (($2950) + 76|0); + $2951 = ((($2950)) + 76|0); HEAP32[$2951>>2] = $2949; $2952 = HEAP32[$db>>2]|0; - $2953 = (($2952) + 62|0); + $2953 = ((($2952)) + 62|0); HEAP8[$2953>>0] = 0; HEAP32[$rc>>2] = 5; $2954 = HEAP32[$0>>2]|0; - $2955 = (($2954) + 80|0); + $2955 = ((($2954)) + 80|0); HEAP32[$2955>>2] = 5; $6969 = $lastRowid; $6970 = $6969; @@ -168600,7 +169978,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168609,8 +169987,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168618,14 +169996,14 @@ function _sqlite3VdbeExec($p) { STACKTOP = sp;return ($6987|0); break; } - case 409: { + case 405: { $3125 = HEAP32[$iRollback>>2]|0; $3126 = ($3125|0)!=(0); if ($3126) { $3127 = HEAP32[$db>>2]|0; _sqlite3RollbackAll($3127,516); $3128 = HEAP32[$db>>2]|0; - $3129 = (($3128) + 62|0); + $3129 = ((($3128)) + 62|0); HEAP8[$3129>>0] = 1; } else { $3130 = HEAP32[$0>>2]|0; @@ -168640,7 +170018,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168649,8 +170027,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168660,7 +170038,7 @@ function _sqlite3VdbeExec($p) { $3133 = HEAP32[$desiredAutoCommit>>2]|0; $3134 = $3133&255; $3135 = HEAP32[$db>>2]|0; - $3136 = (($3135) + 62|0); + $3136 = ((($3135)) + 62|0); HEAP8[$3136>>0] = $3134; $3137 = HEAP32[$0>>2]|0; $3138 = (_sqlite3VdbeHalt($3137)|0); @@ -168668,17 +170046,17 @@ function _sqlite3VdbeExec($p) { if ($3139) { $3140 = HEAP32[$pc>>2]|0; $3141 = HEAP32[$0>>2]|0; - $3142 = (($3141) + 76|0); + $3142 = ((($3141)) + 76|0); HEAP32[$3142>>2] = $3140; $3143 = HEAP32[$desiredAutoCommit>>2]|0; $3144 = (1 - ($3143))|0; $3145 = $3144&255; $3146 = HEAP32[$db>>2]|0; - $3147 = (($3146) + 62|0); + $3147 = ((($3146)) + 62|0); HEAP8[$3147>>0] = $3145; HEAP32[$rc>>2] = 5; $3148 = HEAP32[$0>>2]|0; - $3149 = (($3148) + 80|0); + $3149 = ((($3148)) + 80|0); HEAP32[$3149>>2] = 5; $6969 = $lastRowid; $6970 = $6969; @@ -168687,7 +170065,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168696,8 +170074,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168708,7 +170086,7 @@ function _sqlite3VdbeExec($p) { $3150 = HEAP32[$db>>2]|0; _sqlite3CloseSavepoints($3150); $3151 = HEAP32[$0>>2]|0; - $3152 = (($3151) + 80|0); + $3152 = ((($3151)) + 80|0); $3153 = HEAP32[$3152>>2]|0; $3154 = ($3153|0)==(0); if ($3154) { @@ -168720,7 +170098,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168729,8 +170107,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168745,7 +170123,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168754,8 +170132,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168764,18 +170142,18 @@ function _sqlite3VdbeExec($p) { } break; } - case 422: { + case 418: { HEAP32[$rc>>2] = 8; break; } - case 425: { + case 421: { $3191 = HEAP32[$pc>>2]|0; $3192 = HEAP32[$0>>2]|0; - $3193 = (($3192) + 76|0); + $3193 = ((($3192)) + 76|0); HEAP32[$3193>>2] = $3191; HEAP32[$rc>>2] = 5; $3194 = HEAP32[$0>>2]|0; - $3195 = (($3194) + 80|0); + $3195 = ((($3194)) + 80|0); HEAP32[$3195>>2] = 5; $6969 = $lastRowid; $6970 = $6969; @@ -168784,7 +170162,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168793,8 +170171,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168802,20 +170180,20 @@ function _sqlite3VdbeExec($p) { STACKTOP = sp;return ($6987|0); break; } - case 461: { + case 457: { $3503 = (_sqlite3CorruptError(72320)|0); HEAP32[$rc>>2] = $3503; break; } - case 557: { + case 553: { HEAP32[$rc>>2] = 13; break; } - case 566: { + case 562: { HEAP32[$rc>>2] = 13; break; } - case 869: { + case 865: { $6969 = $lastRowid; $6970 = $6969; $6971 = HEAP32[$6970>>2]|0; @@ -168823,7 +170201,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168832,8 +170210,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168841,18 +170219,18 @@ function _sqlite3VdbeExec($p) { STACKTOP = sp;return ($6987|0); break; } - case 870: { + case 866: { $6988 = HEAP32[$0>>2]|0; - $6989 = (($6988) + 44|0); + $6989 = ((($6988)) + 44|0); $6990 = HEAP32[$db>>2]|0; - _sqlite3SetString($6989,$6990,1176,$vararg_buffer84); + _sqlite3SetString($6989,$6990,14395,$vararg_buffer79); HEAP32[$rc>>2] = 18; break L1; break; } } $6996 = HEAP32[$db>>2]|0; - $6997 = (($6996) + 64|0); + $6997 = ((($6996)) + 64|0); $6998 = HEAP8[$6997>>0]|0; $6999 = ($6998<<24>>24)!=(0); if ($6999) { @@ -168864,64 +170242,64 @@ function _sqlite3VdbeExec($p) { break L1; } $7002 = HEAP32[$0>>2]|0; - $7003 = (($7002) + 44|0); + $7003 = ((($7002)) + 44|0); $7004 = HEAP32[$db>>2]|0; $7005 = HEAP32[$rc>>2]|0; $7006 = (_sqlite3ErrStr($7005)|0); - HEAP32[$vararg_buffer84>>2] = $7006; - _sqlite3SetString($7003,$7004,1200,$vararg_buffer84); + HEAP32[$vararg_buffer83>>2] = $7006; + _sqlite3SetString($7003,$7004,14418,$vararg_buffer83); break L1; } } while(0); HEAP32[$rc>>2] = 9; $7007 = HEAP32[$rc>>2]|0; $7008 = HEAP32[$0>>2]|0; - $7009 = (($7008) + 80|0); + $7009 = ((($7008)) + 80|0); HEAP32[$7009>>2] = $7007; $7010 = HEAP32[$0>>2]|0; - $7011 = (($7010) + 44|0); + $7011 = ((($7010)) + 44|0); $7012 = HEAP32[$db>>2]|0; $7013 = HEAP32[$rc>>2]|0; $7014 = (_sqlite3ErrStr($7013)|0); - HEAP32[$vararg_buffer84>>2] = $7014; - _sqlite3SetString($7011,$7012,1200,$vararg_buffer84); + HEAP32[$vararg_buffer86>>2] = $7014; + _sqlite3SetString($7011,$7012,14418,$vararg_buffer86); } } while(0); - if ((label|0) == 871) { + if ((label|0) == 867) { $6991 = HEAP32[$db>>2]|0; - $6992 = (($6991) + 64|0); + $6992 = ((($6991)) + 64|0); HEAP8[$6992>>0] = 1; $6993 = HEAP32[$0>>2]|0; - $6994 = (($6993) + 44|0); + $6994 = ((($6993)) + 44|0); $6995 = HEAP32[$db>>2]|0; - _sqlite3SetString($6994,$6995,5400,$vararg_buffer84); + _sqlite3SetString($6994,$6995,23480,$vararg_buffer81); HEAP32[$rc>>2] = 7; } $6946 = HEAP32[$rc>>2]|0; $6947 = HEAP32[$0>>2]|0; - $6948 = (($6947) + 80|0); + $6948 = ((($6947)) + 80|0); HEAP32[$6948>>2] = $6946; $6949 = HEAP32[$rc>>2]|0; $6950 = HEAP32[$pc>>2]|0; $6951 = HEAP32[$0>>2]|0; - $6952 = (($6951) + 168|0); + $6952 = ((($6951)) + 168|0); $6953 = HEAP32[$6952>>2]|0; $6954 = HEAP32[$0>>2]|0; - $6955 = (($6954) + 44|0); + $6955 = ((($6954)) + 44|0); $6956 = HEAP32[$6955>>2]|0; - HEAP32[$vararg_buffer84>>2] = $6950; - $vararg_ptr75 = (($vararg_buffer84) + 4|0); - HEAP32[$vararg_ptr75>>2] = $6953; - $vararg_ptr76 = (($vararg_buffer84) + 8|0); - HEAP32[$vararg_ptr76>>2] = $6956; - _sqlite3_log($6949,31984,$vararg_buffer84); + HEAP32[$vararg_buffer74>>2] = $6950; + $vararg_ptr77 = ((($vararg_buffer74)) + 4|0); + HEAP32[$vararg_ptr77>>2] = $6953; + $vararg_ptr78 = ((($vararg_buffer74)) + 8|0); + HEAP32[$vararg_ptr78>>2] = $6956; + _sqlite3_log($6949,31678,$vararg_buffer74); $6957 = HEAP32[$0>>2]|0; (_sqlite3VdbeHalt($6957)|0); $6958 = HEAP32[$rc>>2]|0; $6959 = ($6958|0)==(3082); if ($6959) { $6960 = HEAP32[$db>>2]|0; - $6961 = (($6960) + 64|0); + $6961 = ((($6960)) + 64|0); HEAP8[$6961>>0] = 1; } HEAP32[$rc>>2] = 1; @@ -168936,7 +170314,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168945,8 +170323,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -168965,7 +170343,7 @@ function _sqlite3VdbeExec($p) { $6973 = $6972; $6974 = HEAP32[$6973>>2]|0; $6975 = HEAP32[$db>>2]|0; - $6976 = (($6975) + 32|0); + $6976 = ((($6975)) + 32|0); $6977 = $6976; $6978 = $6977; HEAP32[$6978>>2] = $6971; @@ -168974,8 +170352,8 @@ function _sqlite3VdbeExec($p) { HEAP32[$6980>>2] = $6974; $6981 = HEAP32[$nVmStep>>2]|0; $6982 = HEAP32[$0>>2]|0; - $6983 = (($6982) + 108|0); - $6984 = (($6983) + 16|0); + $6983 = ((($6982)) + 108|0); + $6984 = ((($6983)) + 16|0); $6985 = HEAP32[$6984>>2]|0; $6986 = (($6985) + ($6981))|0; HEAP32[$6984>>2] = $6986; @@ -169000,7 +170378,7 @@ function _doWalCallbacks($db) { while(1) { $1 = HEAP32[$i>>2]|0; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 20|0); + $3 = ((($2)) + 20|0); $4 = HEAP32[$3>>2]|0; $5 = ($1|0)<($4|0); if (!($5)) { @@ -169008,10 +170386,10 @@ function _doWalCallbacks($db) { } $6 = HEAP32[$i>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 16|0); + $8 = ((($7)) + 16|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($6<<4)|0); - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; HEAP32[$pBt>>2] = $12; $13 = HEAP32[$pBt>>2]|0; @@ -169022,7 +170400,7 @@ function _doWalCallbacks($db) { $17 = (_sqlite3PagerWalCallback($16)|0); HEAP32[$nEntry>>2] = $17; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 212|0); + $19 = ((($18)) + 212|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)!=(0|0); $22 = HEAP32[$nEntry>>2]|0; @@ -169033,20 +170411,20 @@ function _doWalCallbacks($db) { $or$cond3 = $or$cond & $25; if ($or$cond3) { $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 212|0); + $27 = ((($26)) + 212|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 216|0); + $30 = ((($29)) + 216|0); $31 = HEAP32[$30>>2]|0; $32 = HEAP32[$0>>2]|0; $33 = HEAP32[$i>>2]|0; $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 16|0); + $35 = ((($34)) + 16|0); $36 = HEAP32[$35>>2]|0; $37 = (($36) + ($33<<4)|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$nEntry>>2]|0; - $40 = (FUNCTION_TABLE_iiiii[$28 & 7]($31,$32,$38,$39)|0); + $40 = (FUNCTION_TABLE_iiiii[$28 & 15]($31,$32,$38,$39)|0); HEAP32[$rc>>2] = $40; } } @@ -169072,11 +170450,11 @@ function _sqlite3VdbeTransferError($p) { $2 = HEAP32[$1>>2]|0; HEAP32[$db>>2] = $2; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 80|0); + $4 = ((($3)) + 80|0); $5 = HEAP32[$4>>2]|0; HEAP32[$rc>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 44|0); + $7 = ((($6)) + 44|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)!=(0|0); $10 = HEAP32[$db>>2]|0; @@ -169086,36 +170464,36 @@ function _sqlite3VdbeTransferError($p) { $34 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($34|0); } - $11 = (($10) + 64|0); + $11 = ((($10)) + 64|0); $12 = HEAP8[$11>>0]|0; HEAP8[$mallocFailed>>0] = $12; _sqlite3BeginBenignMalloc(); $13 = HEAP32[$db>>2]|0; - $14 = (($13) + 232|0); + $14 = ((($13)) + 232|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)==(0|0); if ($16) { $17 = HEAP32[$db>>2]|0; $18 = (_sqlite3ValueNew($17)|0); $19 = HEAP32[$db>>2]|0; - $20 = (($19) + 232|0); + $20 = ((($19)) + 232|0); HEAP32[$20>>2] = $18; } $21 = HEAP32[$db>>2]|0; - $22 = (($21) + 232|0); + $22 = ((($21)) + 232|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 44|0); + $25 = ((($24)) + 44|0); $26 = HEAP32[$25>>2]|0; _sqlite3ValueSetStr($23,-1,$26,1,(-1)); _sqlite3EndBenignMalloc(); $27 = HEAP8[$mallocFailed>>0]|0; $28 = HEAP32[$db>>2]|0; - $29 = (($28) + 64|0); + $29 = ((($28)) + 64|0); HEAP8[$29>>0] = $27; $30 = HEAP32[$rc>>2]|0; $31 = HEAP32[$db>>2]|0; - $32 = (($31) + 52|0); + $32 = ((($31)) + 52|0); HEAP32[$32>>2] = $30; $34 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($34|0); @@ -169128,7 +170506,7 @@ function _sqlite3PagerWalCallback($pPager) { $0 = sp; HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 208|0); + $2 = ((($1)) + 208|0); $3 = HEAP32[$2>>2]|0; $4 = (_sqlite3WalCallback($3)|0); STACKTOP = sp;return ($4|0); @@ -169149,11 +170527,11 @@ function _sqlite3WalCallback($pWal) { STACKTOP = sp;return ($8|0); } $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; HEAP32[$ret>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); HEAP32[$7>>2] = 0; $8 = HEAP32[$ret>>2]|0; STACKTOP = sp;return ($8|0); @@ -169170,11 +170548,11 @@ function _sqlite3VdbeSetChanges($db,$nChange) { HEAP32[$1>>2] = $nChange; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 80|0); + $4 = ((($3)) + 80|0); HEAP32[$4>>2] = $2; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 84|0); + $7 = ((($6)) + 84|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($5))|0; HEAP32[$7>>2] = $9; @@ -169195,55 +170573,55 @@ function _sqlite3VdbeFrameRestore($pFrame) { $2 = HEAP32[$1>>2]|0; HEAP32[$v>>2] = $2; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 16|0); + $4 = ((($3)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$v>>2]|0; - $7 = (($6) + 200|0); + $7 = ((($6)) + 200|0); HEAP32[$7>>2] = $5; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 56|0); + $9 = ((($8)) + 56|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$v>>2]|0; - $12 = (($11) + 196|0); + $12 = ((($11)) + 196|0); HEAP32[$12>>2] = $10; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$v>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); HEAP32[$17>>2] = $15; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 48|0); + $19 = ((($18)) + 48|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$v>>2]|0; - $22 = (($21) + 32|0); + $22 = ((($21)) + 32|0); HEAP32[$22>>2] = $20; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 12|0); + $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$v>>2]|0; - $27 = (($26) + 8|0); + $27 = ((($26)) + 8|0); HEAP32[$27>>2] = $25; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 52|0); + $29 = ((($28)) + 52|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$v>>2]|0; - $32 = (($31) + 28|0); + $32 = ((($31)) + 28|0); HEAP32[$32>>2] = $30; $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 20|0); + $34 = ((($33)) + 20|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[$v>>2]|0; - $37 = (($36) + 56|0); + $37 = ((($36)) + 56|0); HEAP32[$37>>2] = $35; $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 40|0); + $39 = ((($38)) + 40|0); $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$v>>2]|0; - $42 = (($41) + 36|0); + $42 = ((($41)) + 36|0); HEAP32[$42>>2] = $40; $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 32|0); + $44 = ((($43)) + 32|0); $45 = $44; $46 = $45; $47 = HEAP32[$46>>2]|0; @@ -169252,7 +170630,7 @@ function _sqlite3VdbeFrameRestore($pFrame) { $50 = HEAP32[$49>>2]|0; $51 = HEAP32[$v>>2]|0; $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 32|0); + $53 = ((($52)) + 32|0); $54 = $53; $55 = $54; HEAP32[$55>>2] = $47; @@ -169260,13 +170638,13 @@ function _sqlite3VdbeFrameRestore($pFrame) { $57 = $56; HEAP32[$57>>2] = $50; $58 = HEAP32[$0>>2]|0; - $59 = (($58) + 68|0); + $59 = ((($58)) + 68|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$v>>2]|0; - $62 = (($61) + 92|0); + $62 = ((($61)) + 92|0); HEAP32[$62>>2] = $60; $63 = HEAP32[$0>>2]|0; - $64 = (($63) + 44|0); + $64 = ((($63)) + 44|0); $65 = HEAP32[$64>>2]|0; STACKTOP = sp;return ($65|0); } @@ -169289,44 +170667,44 @@ function _sqlite3VdbeHalt($p) { var $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $db = sp + 12|0; - $mrc = sp + 8|0; - $eStatementOp = sp + 4|0; - $isSpecialError = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $rc = sp + 20|0; + $db = sp + 24|0; + $mrc = sp + 4|0; + $eStatementOp = sp; + $isSpecialError = sp + 12|0; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 64|0); + $6 = ((($5)) + 64|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if ($8) { $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 80|0); + $10 = ((($9)) + 80|0); HEAP32[$10>>2] = 7; } $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 200|0); + $12 = ((($11)) + 200|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)!=(0|0); if ($14) { $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 200|0); + $16 = ((($15)) + 200|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 196|0); + $19 = ((($18)) + 196|0); $20 = HEAP32[$19>>2]|0; _memset(($17|0),0,($20|0))|0; } $21 = HEAP32[$1>>2]|0; _closeAllCursors($21); $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 40|0); + $23 = ((($22)) + 40|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(-1108210269); if ($25) { @@ -169335,12 +170713,12 @@ function _sqlite3VdbeHalt($p) { STACKTOP = sp;return ($275|0); } $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 76|0); + $27 = ((($26)) + 76|0); $28 = HEAP32[$27>>2]|0; $29 = ($28|0)>=(0); if ($29) { $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 88|0); + $31 = ((($30)) + 88|0); $32 = HEAP16[$31>>1]|0; $33 = ($32&65535) >>> 9; $34 = $33 & 1; @@ -169349,7 +170727,7 @@ function _sqlite3VdbeHalt($p) { if ($36) { HEAP32[$eStatementOp>>2] = 0; $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 80|0); + $38 = ((($37)) + 80|0); $39 = HEAP32[$38>>2]|0; $40 = $39 & 255; HEAP32[$mrc>>2] = $40; @@ -169375,7 +170753,7 @@ function _sqlite3VdbeHalt($p) { do { if ($52) { $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 88|0); + $54 = ((($53)) + 88|0); $55 = HEAP16[$54>>1]|0; $56 = ($55&65535) >>> 8; $57 = $56 & 1; @@ -169392,7 +170770,7 @@ function _sqlite3VdbeHalt($p) { $or$cond7 = $63 | $65; if ($or$cond7) { $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 88|0); + $67 = ((($66)) + 88|0); $68 = HEAP16[$67>>1]|0; $69 = ($68&65535) >>> 7; $70 = $69 & 1; @@ -169408,13 +170786,13 @@ function _sqlite3VdbeHalt($p) { $74 = HEAP32[$db>>2]|0; _sqlite3CloseSavepoints($74); $75 = HEAP32[$db>>2]|0; - $76 = (($75) + 62|0); + $76 = ((($75)) + 62|0); HEAP8[$76>>0] = 1; } } } while(0); $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 80|0); + $78 = ((($77)) + 80|0); $79 = HEAP32[$78>>2]|0; $80 = ($79|0)==(0); if ($80) { @@ -169422,12 +170800,12 @@ function _sqlite3VdbeHalt($p) { (_sqlite3VdbeCheckFk($81,0)|0); } $82 = HEAP32[$db>>2]|0; - $83 = (($82) + 304|0); + $83 = ((($82)) + 304|0); $84 = HEAP32[$83>>2]|0; $85 = ($84|0)>(0); if ($85) { $86 = HEAP32[$db>>2]|0; - $87 = (($86) + 328|0); + $87 = ((($86)) + 328|0); $88 = HEAP32[$87>>2]|0; $89 = ($88|0)==(0|0); if ($89) { @@ -169440,16 +170818,16 @@ function _sqlite3VdbeHalt($p) { } if ((label|0) == 21) { $90 = HEAP32[$db>>2]|0; - $91 = (($90) + 62|0); + $91 = ((($90)) + 62|0); $92 = HEAP8[$91>>0]|0; $93 = $92&255; $94 = ($93|0)!=(0); if ($94) { $95 = HEAP32[$db>>2]|0; - $96 = (($95) + 156|0); + $96 = ((($95)) + 156|0); $97 = HEAP32[$96>>2]|0; $98 = HEAP32[$1>>2]|0; - $99 = (($98) + 88|0); + $99 = ((($98)) + 88|0); $100 = HEAP16[$99>>1]|0; $101 = ($100&65535) >>> 8; $102 = $101 & 1; @@ -169459,14 +170837,14 @@ function _sqlite3VdbeHalt($p) { $106 = ($97|0)==($105|0); if ($106) { $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 80|0); + $108 = ((($107)) + 80|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)==(0); if ($110) { label = 25; } else { $111 = HEAP32[$1>>2]|0; - $112 = (($111) + 86|0); + $112 = ((($111)) + 86|0); $113 = HEAP8[$112>>0]|0; $114 = $113&255; $115 = ($114|0)!=(3); @@ -169490,7 +170868,7 @@ function _sqlite3VdbeHalt($p) { do { if ($121) { $122 = HEAP32[$1>>2]|0; - $123 = (($122) + 88|0); + $123 = ((($122)) + 88|0); $124 = HEAP16[$123>>1]|0; $125 = ($124&65535) >>> 8; $126 = $125 & 1; @@ -169514,7 +170892,7 @@ function _sqlite3VdbeHalt($p) { $133 = ($132|0)==(5); if ($133) { $134 = HEAP32[$1>>2]|0; - $135 = (($134) + 88|0); + $135 = ((($134)) + 88|0); $136 = HEAP16[$135>>1]|0; $137 = ($136&65535) >>> 8; $138 = $137 & 1; @@ -169531,14 +170909,14 @@ function _sqlite3VdbeHalt($p) { if ($142) { $143 = HEAP32[$rc>>2]|0; $144 = HEAP32[$1>>2]|0; - $145 = (($144) + 80|0); + $145 = ((($144)) + 80|0); HEAP32[$145>>2] = $143; $146 = HEAP32[$db>>2]|0; _sqlite3RollbackAll($146,0); break; } else { $147 = HEAP32[$db>>2]|0; - $148 = (($147) + 504|0); + $148 = ((($147)) + 504|0); $149 = $148; $150 = $149; HEAP32[$150>>2] = 0; @@ -169546,7 +170924,7 @@ function _sqlite3VdbeHalt($p) { $152 = $151; HEAP32[$152>>2] = 0; $153 = HEAP32[$db>>2]|0; - $154 = (($153) + 512|0); + $154 = ((($153)) + 512|0); $155 = $154; $156 = $155; HEAP32[$156>>2] = 0; @@ -169554,7 +170932,7 @@ function _sqlite3VdbeHalt($p) { $158 = $157; HEAP32[$158>>2] = 0; $159 = HEAP32[$db>>2]|0; - $160 = (($159) + 24|0); + $160 = ((($159)) + 24|0); $161 = HEAP32[$160>>2]|0; $162 = $161 & -16777217; HEAP32[$160>>2] = $162; @@ -169565,7 +170943,7 @@ function _sqlite3VdbeHalt($p) { } } while(0); $165 = HEAP32[$db>>2]|0; - $166 = (($165) + 500|0); + $166 = ((($165)) + 500|0); HEAP32[$166>>2] = 0; } else { label = 38; @@ -169580,18 +170958,18 @@ function _sqlite3VdbeHalt($p) { $168 = ($167|0)==(0); if ($168) { $169 = HEAP32[$1>>2]|0; - $170 = (($169) + 80|0); + $170 = ((($169)) + 80|0); $171 = HEAP32[$170>>2]|0; $172 = ($171|0)==(0); if (!($172)) { $173 = HEAP32[$1>>2]|0; - $174 = (($173) + 86|0); + $174 = ((($173)) + 86|0); $175 = HEAP8[$174>>0]|0; $176 = $175&255; $177 = ($176|0)==(3); if (!($177)) { $178 = HEAP32[$1>>2]|0; - $179 = (($178) + 86|0); + $179 = ((($178)) + 86|0); $180 = HEAP8[$179>>0]|0; $181 = $180&255; $182 = ($181|0)==(2); @@ -169604,7 +170982,7 @@ function _sqlite3VdbeHalt($p) { $184 = HEAP32[$db>>2]|0; _sqlite3CloseSavepoints($184); $185 = HEAP32[$db>>2]|0; - $186 = (($185) + 62|0); + $186 = ((($185)) + 62|0); HEAP8[$186>>0] = 1; break; } @@ -169625,14 +171003,14 @@ function _sqlite3VdbeHalt($p) { $193 = ($192|0)!=(0); if ($193) { $194 = HEAP32[$1>>2]|0; - $195 = (($194) + 80|0); + $195 = ((($194)) + 80|0); $196 = HEAP32[$195>>2]|0; $197 = ($196|0)==(0); if ($197) { label = 49; } else { $198 = HEAP32[$1>>2]|0; - $199 = (($198) + 80|0); + $199 = ((($198)) + 80|0); $200 = HEAP32[$199>>2]|0; $201 = $200 & 255; $202 = ($201|0)==(19); @@ -169643,15 +171021,15 @@ function _sqlite3VdbeHalt($p) { if ((label|0) == 49) { $203 = HEAP32[$rc>>2]|0; $204 = HEAP32[$1>>2]|0; - $205 = (($204) + 80|0); + $205 = ((($204)) + 80|0); HEAP32[$205>>2] = $203; $206 = HEAP32[$db>>2]|0; $207 = HEAP32[$1>>2]|0; - $208 = (($207) + 44|0); + $208 = ((($207)) + 44|0); $209 = HEAP32[$208>>2]|0; _sqlite3DbFree($206,$209); $210 = HEAP32[$1>>2]|0; - $211 = (($210) + 44|0); + $211 = ((($210)) + 44|0); HEAP32[$211>>2] = 0; } $212 = HEAP32[$db>>2]|0; @@ -169659,12 +171037,12 @@ function _sqlite3VdbeHalt($p) { $213 = HEAP32[$db>>2]|0; _sqlite3CloseSavepoints($213); $214 = HEAP32[$db>>2]|0; - $215 = (($214) + 62|0); + $215 = ((($214)) + 62|0); HEAP8[$215>>0] = 1; } } $216 = HEAP32[$1>>2]|0; - $217 = (($216) + 88|0); + $217 = ((($216)) + 88|0); $218 = HEAP16[$217>>1]|0; $219 = ($218&65535) >>> 4; $220 = $219 & 1; @@ -169676,30 +171054,30 @@ function _sqlite3VdbeHalt($p) { $225 = HEAP32[$db>>2]|0; if ($224) { $226 = HEAP32[$1>>2]|0; - $227 = (($226) + 92|0); + $227 = ((($226)) + 92|0); $228 = HEAP32[$227>>2]|0; _sqlite3VdbeSetChanges($225,$228); } else { _sqlite3VdbeSetChanges($225,0); } $229 = HEAP32[$1>>2]|0; - $230 = (($229) + 92|0); + $230 = ((($229)) + 92|0); HEAP32[$230>>2] = 0; } } } $231 = HEAP32[$1>>2]|0; - $232 = (($231) + 76|0); + $232 = ((($231)) + 76|0); $233 = HEAP32[$232>>2]|0; $234 = ($233|0)>=(0); if ($234) { $235 = HEAP32[$db>>2]|0; - $236 = (($235) + 148|0); + $236 = ((($235)) + 148|0); $237 = HEAP32[$236>>2]|0; $238 = (($237) + -1)|0; HEAP32[$236>>2] = $238; $239 = HEAP32[$1>>2]|0; - $240 = (($239) + 88|0); + $240 = ((($239)) + 88|0); $241 = HEAP16[$240>>1]|0; $242 = ($241&65535) >>> 8; $243 = $242 & 1; @@ -169707,13 +171085,13 @@ function _sqlite3VdbeHalt($p) { $245 = ($244|0)!=(0); if (!($245)) { $246 = HEAP32[$db>>2]|0; - $247 = (($246) + 156|0); + $247 = ((($246)) + 156|0); $248 = HEAP32[$247>>2]|0; $249 = (($248) + -1)|0; HEAP32[$247>>2] = $249; } $250 = HEAP32[$1>>2]|0; - $251 = (($250) + 88|0); + $251 = ((($250)) + 88|0); $252 = HEAP16[$251>>1]|0; $253 = ($252&65535) >>> 9; $254 = $253 & 1; @@ -169721,27 +171099,27 @@ function _sqlite3VdbeHalt($p) { $256 = ($255|0)!=(0); if ($256) { $257 = HEAP32[$db>>2]|0; - $258 = (($257) + 152|0); + $258 = ((($257)) + 152|0); $259 = HEAP32[$258>>2]|0; $260 = (($259) + -1)|0; HEAP32[$258>>2] = $260; } } $261 = HEAP32[$1>>2]|0; - $262 = (($261) + 40|0); + $262 = ((($261)) + 40|0); HEAP32[$262>>2] = 1369188723; $263 = HEAP32[$1>>2]|0; $264 = HEAP32[$263>>2]|0; - $265 = (($264) + 64|0); + $265 = ((($264)) + 64|0); $266 = HEAP8[$265>>0]|0; $267 = ($266<<24>>24)!=(0); if ($267) { $268 = HEAP32[$1>>2]|0; - $269 = (($268) + 80|0); + $269 = ((($268)) + 80|0); HEAP32[$269>>2] = 7; } $270 = HEAP32[$1>>2]|0; - $271 = (($270) + 80|0); + $271 = ((($270)) + 80|0); $272 = HEAP32[$271>>2]|0; $273 = ($272|0)==(5); $274 = $273 ? 5 : 0; @@ -169760,7 +171138,7 @@ function _sqlite3VdbeMemTooBig($p) { $n = sp; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = $5 & 18; @@ -169771,11 +171149,11 @@ function _sqlite3VdbeMemTooBig($p) { STACKTOP = sp;return ($29|0); } $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 12|0); + $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; HEAP32[$n>>2] = $10; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = $14 & 16384; @@ -169789,9 +171167,9 @@ function _sqlite3VdbeMemTooBig($p) { } $21 = HEAP32[$n>>2]|0; $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 32|0); + $23 = ((($22)) + 32|0); $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 88|0); + $25 = ((($24)) + 88|0); $26 = HEAP32[$25>>2]|0; $27 = ($21|0)>($26|0); $28 = $27&1; @@ -169821,7 +171199,7 @@ function _sqlite3VdbeCheckFk($p,$deferred) { $6 = ($5|0)!=(0); if ($6) { $7 = HEAP32[$db>>2]|0; - $8 = (($7) + 504|0); + $8 = ((($7)) + 504|0); $9 = $8; $10 = $9; $11 = HEAP32[$10>>2]|0; @@ -169829,7 +171207,7 @@ function _sqlite3VdbeCheckFk($p,$deferred) { $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$db>>2]|0; - $16 = (($15) + 512|0); + $16 = ((($15)) + 512|0); $17 = $16; $18 = $17; $19 = HEAP32[$18>>2]|0; @@ -169855,7 +171233,7 @@ function _sqlite3VdbeCheckFk($p,$deferred) { $31 = ($30|0)!=(0); if (!($31)) { $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 144|0); + $33 = ((($32)) + 144|0); $34 = $33; $35 = $34; $36 = HEAP32[$35>>2]|0; @@ -169877,15 +171255,15 @@ function _sqlite3VdbeCheckFk($p,$deferred) { } } while(0); $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 80|0); + $46 = ((($45)) + 80|0); HEAP32[$46>>2] = 787; $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 86|0); + $48 = ((($47)) + 86|0); HEAP8[$48>>0] = 2; $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 44|0); + $50 = ((($49)) + 44|0); $51 = HEAP32[$db>>2]|0; - _sqlite3SetString($50,$51,24400,$vararg_buffer); + _sqlite3SetString($50,$51,26762,$vararg_buffer); HEAP32[$0>>2] = 1; $52 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($52|0); @@ -169901,14 +171279,14 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $db = sp + 20|0; - $rc = sp + 16|0; - $i = sp + 12|0; - $iSavepoint = sp + 8|0; - $rc2 = sp + 4|0; - $pBt = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $db = sp + 8|0; + $rc = sp + 20|0; + $i = sp + 28|0; + $iSavepoint = sp; + $rc2 = sp + 12|0; + $pBt = sp + 24|0; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $eOp; $2 = HEAP32[$0>>2]|0; @@ -169916,7 +171294,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { HEAP32[$db>>2] = $3; HEAP32[$rc>>2] = 0; $4 = HEAP32[$db>>2]|0; - $5 = (($4) + 500|0); + $5 = ((($4)) + 500|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0); if (!($7)) { @@ -169924,7 +171302,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { STACKTOP = sp;return ($93|0); } $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 104|0); + $9 = ((($8)) + 104|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0); if (!($11)) { @@ -169932,7 +171310,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { STACKTOP = sp;return ($93|0); } $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 104|0); + $13 = ((($12)) + 104|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) - 1)|0; HEAP32[$iSavepoint>>2] = $15; @@ -169940,7 +171318,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { while(1) { $16 = HEAP32[$i>>2]|0; $17 = HEAP32[$db>>2]|0; - $18 = (($17) + 20|0); + $18 = ((($17)) + 20|0); $19 = HEAP32[$18>>2]|0; $20 = ($16|0)<($19|0); if (!($20)) { @@ -169949,10 +171327,10 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { HEAP32[$rc2>>2] = 0; $21 = HEAP32[$i>>2]|0; $22 = HEAP32[$db>>2]|0; - $23 = (($22) + 16|0); + $23 = ((($22)) + 16|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + ($21<<4)|0); - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; HEAP32[$pBt>>2] = $27; $28 = HEAP32[$pBt>>2]|0; @@ -169986,12 +171364,12 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { HEAP32[$i>>2] = $44; } $45 = HEAP32[$db>>2]|0; - $46 = (($45) + 500|0); + $46 = ((($45)) + 500|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + -1)|0; HEAP32[$46>>2] = $48; $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 104|0); + $50 = ((($49)) + 104|0); HEAP32[$50>>2] = 0; $51 = HEAP32[$rc>>2]|0; $52 = ($51|0)==(0); @@ -170020,7 +171398,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { STACKTOP = sp;return ($93|0); } $65 = HEAP32[$0>>2]|0; - $66 = (($65) + 152|0); + $66 = ((($65)) + 152|0); $67 = $66; $68 = $67; $69 = HEAP32[$68>>2]|0; @@ -170028,7 +171406,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { $71 = $70; $72 = HEAP32[$71>>2]|0; $73 = HEAP32[$db>>2]|0; - $74 = (($73) + 504|0); + $74 = ((($73)) + 504|0); $75 = $74; $76 = $75; HEAP32[$76>>2] = $69; @@ -170036,7 +171414,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { $78 = $77; HEAP32[$78>>2] = $72; $79 = HEAP32[$0>>2]|0; - $80 = (($79) + 160|0); + $80 = ((($79)) + 160|0); $81 = $80; $82 = $81; $83 = HEAP32[$82>>2]|0; @@ -170044,7 +171422,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { $85 = $84; $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$db>>2]|0; - $88 = (($87) + 512|0); + $88 = ((($87)) + 512|0); $89 = $88; $90 = $89; HEAP32[$90>>2] = $83; @@ -170063,7 +171441,7 @@ function _sqlite3VdbeMemNulTerminate($pMem) { $1 = sp; HEAP32[$1>>2] = $pMem; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = $5 & 514; @@ -170079,7 +171457,7 @@ function _sqlite3VdbeMemNulTerminate($pMem) { $10 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($10|0); } - return 0|0; + return (0)|0; } function _numericType($pMem) { $pMem = $pMem|0; @@ -170091,13 +171469,13 @@ function _numericType($pMem) { $1 = sp; HEAP32[$1>>2] = $pMem; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = $5 & 12; $7 = ($6|0)!=(0); $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; do { @@ -170122,6 +171500,149 @@ function _numericType($pMem) { $18 = HEAP16[$0>>1]|0; STACKTOP = sp;return ($18|0); } +function _sqlite3AddInt64($pA,$0,$1) { + $pA = $pA|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $iA = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $iA = sp; + HEAP32[$3>>2] = $pA; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = $9; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = $iA; + $17 = $16; + HEAP32[$17>>2] = $12; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $15; + $20 = $4; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)>(0); + $27 = ($22>>>0)>=(0); + $28 = ($25|0)==(0); + $29 = $28 & $27; + $30 = $26 | $29; + $31 = $iA; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + if ($30) { + $37 = ($36|0)>(0); + $38 = ($33>>>0)>(0); + $39 = ($36|0)==(0); + $40 = $39 & $38; + $41 = $37 | $40; + if ($41) { + $42 = $iA; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (_i64Subtract(-1,2147483647,($44|0),($47|0))|0); + $49 = tempRet0; + $50 = $4; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = ($49|0)<($55|0); + $57 = ($48>>>0)<($52>>>0); + $58 = ($49|0)==($55|0); + $59 = $58 & $57; + $60 = $56 | $59; + if ($60) { + HEAP32[$2>>2] = 1; + $104 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($104|0); + } + } + } else { + $61 = ($36|0)<(0); + if ($61) { + $62 = $iA; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (_i64Add(($64|0),($67|0),-1,2147483647)|0); + $69 = tempRet0; + $70 = (_i64Subtract(0,0,($68|0),($69|0))|0); + $71 = tempRet0; + $72 = $4; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (_i64Add(($74|0),($77|0),1,0)|0); + $79 = tempRet0; + $80 = ($71|0)>($79|0); + $81 = ($70>>>0)>($78>>>0); + $82 = ($71|0)==($79|0); + $83 = $82 & $81; + $84 = $80 | $83; + if ($84) { + HEAP32[$2>>2] = 1; + $104 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($104|0); + } + } + } + $85 = $4; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$3>>2]|0; + $92 = $91; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (_i64Add(($94|0),($97|0),($87|0),($90|0))|0); + $99 = tempRet0; + $100 = $91; + $101 = $100; + HEAP32[$101>>2] = $98; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + HEAP32[$2>>2] = 0; + $104 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($104|0); +} function _sqlite3SubInt64($pA,$0,$1) { $pA = $pA|0; $0 = $0|0; @@ -170206,7 +171727,7 @@ function _sqlite3SubInt64($pA,$0,$1) { $58 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($58|0); } - return 0|0; + return (0)|0; } function _sqlite3MulInt64($pA,$0,$1) { $pA = $pA|0; @@ -170227,13 +171748,13 @@ function _sqlite3MulInt64($pA,$0,$1) { STACKTOP = STACKTOP + 64|0; $2 = sp + 60|0; $3 = sp + 56|0; - $4 = sp + 48|0; - $iA = sp + 40|0; - $iA1 = sp + 32|0; - $iA0 = sp + 24|0; - $iB1 = sp + 16|0; + $4 = sp + 24|0; + $iA = sp + 16|0; + $iA1 = sp + 48|0; + $iA0 = sp; + $iB1 = sp + 40|0; $iB0 = sp + 8|0; - $r = sp; + $r = sp + 32|0; HEAP32[$3>>2] = $pA; $5 = $4; $6 = $5; @@ -170486,7 +172007,7 @@ function _sqlite3MulInt64($pA,$0,$1) { $202 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($202|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeDeleteAuxData($pVdbe,$iOp,$mask) { $pVdbe = $pVdbe|0; @@ -170506,7 +172027,7 @@ function _sqlite3VdbeDeleteAuxData($pVdbe,$iOp,$mask) { HEAP32[$1>>2] = $iOp; HEAP32[$2>>2] = $mask; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 204|0); + $4 = ((($3)) + 204|0); HEAP32[$pp>>2] = $4; L1: while(1) { $5 = HEAP32[$pp>>2]|0; @@ -170528,7 +172049,7 @@ function _sqlite3VdbeDeleteAuxData($pVdbe,$iOp,$mask) { $15 = ($13|0)==($14|0); if ($15) { $16 = HEAP32[$pAux>>2]|0; - $17 = (($16) + 4|0); + $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)>(31); if ($19) { @@ -170536,7 +172057,7 @@ function _sqlite3VdbeDeleteAuxData($pVdbe,$iOp,$mask) { } $20 = HEAP32[$2>>2]|0; $21 = HEAP32[$pAux>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = 1 << $23; $25 = $20 & $24; @@ -170546,26 +172067,26 @@ function _sqlite3VdbeDeleteAuxData($pVdbe,$iOp,$mask) { } } $44 = HEAP32[$pAux>>2]|0; - $45 = (($44) + 16|0); + $45 = ((($44)) + 16|0); HEAP32[$pp>>2] = $45; continue L1; } } while(0); $27 = HEAP32[$pAux>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; $30 = ($29|0)!=(0|0); if ($30) { $31 = HEAP32[$pAux>>2]|0; - $32 = (($31) + 12|0); + $32 = ((($31)) + 12|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$pAux>>2]|0; - $35 = (($34) + 8|0); + $35 = ((($34)) + 8|0); $36 = HEAP32[$35>>2]|0; FUNCTION_TABLE_vi[$33 & 31]($36); } $37 = HEAP32[$pAux>>2]|0; - $38 = (($37) + 16|0); + $38 = ((($37)) + 16|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$pp>>2]|0; HEAP32[$40>>2] = $39; @@ -170576,6 +172097,232 @@ function _sqlite3VdbeDeleteAuxData($pVdbe,$iOp,$mask) { } STACKTOP = sp;return; } +function _sqlite3MemCompare($pMem1,$pMem2,$pColl) { + $pMem1 = $pMem1|0; + $pMem2 = $pMem2|0; + $pColl = $pColl|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $combined_flags = 0, $f1 = 0, $f2 = 0, $r1 = 0, $r2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 32|0; + $1 = sp + 28|0; + $2 = sp + 36|0; + $3 = sp + 16|0; + $f1 = sp + 40|0; + $f2 = sp + 24|0; + $combined_flags = sp + 20|0; + $r1 = sp; + $r2 = sp + 8|0; + HEAP32[$1>>2] = $pMem1; + HEAP32[$2>>2] = $pMem2; + HEAP32[$3>>2] = $pColl; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP16[$5>>1]|0; + $7 = $6&65535; + HEAP32[$f1>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + HEAP32[$f2>>2] = $11; + $12 = HEAP32[$f1>>2]|0; + $13 = HEAP32[$f2>>2]|0; + $14 = $12 | $13; + HEAP32[$combined_flags>>2] = $14; + $15 = HEAP32[$combined_flags>>2]|0; + $16 = $15 & 1; + $17 = ($16|0)!=(0); + L1: do { + if ($17) { + $18 = HEAP32[$f2>>2]|0; + $19 = $18 & 1; + $20 = HEAP32[$f1>>2]|0; + $21 = $20 & 1; + $22 = (($19) - ($21))|0; + HEAP32[$0>>2] = $22; + } else { + $23 = HEAP32[$combined_flags>>2]|0; + $24 = $23 & 12; + $25 = ($24|0)!=(0); + if (!($25)) { + $107 = HEAP32[$combined_flags>>2]|0; + $108 = $107 & 2; + $109 = ($108|0)!=(0); + if ($109) { + $110 = HEAP32[$f1>>2]|0; + $111 = $110 & 2; + $112 = ($111|0)==(0); + if ($112) { + HEAP32[$0>>2] = 1; + break; + } + $113 = HEAP32[$f2>>2]|0; + $114 = $113 & 2; + $115 = ($114|0)==(0); + if ($115) { + HEAP32[$0>>2] = -1; + break; + } + $116 = HEAP32[$3>>2]|0; + $117 = ($116|0)!=(0|0); + if ($117) { + $118 = HEAP32[$1>>2]|0; + $119 = HEAP32[$2>>2]|0; + $120 = HEAP32[$3>>2]|0; + $121 = (_vdbeCompareMemString($118,$119,$120,0)|0); + HEAP32[$0>>2] = $121; + break; + } + } + $122 = HEAP32[$1>>2]|0; + $123 = HEAP32[$2>>2]|0; + $124 = (_sqlite3BlobCompare($122,$123)|0); + HEAP32[$0>>2] = $124; + break; + } + $26 = HEAP32[$f1>>2]|0; + $27 = HEAP32[$f2>>2]|0; + $28 = $26 & $27; + $29 = $28 & 4; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$1>>2]|0; + $32 = $31; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = $38; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = ($37|0)<($44|0); + $46 = ($34>>>0)<($41>>>0); + $47 = ($37|0)==($44|0); + $48 = $47 & $46; + $49 = $45 | $48; + if ($49) { + HEAP32[$0>>2] = -1; + break; + } + $50 = HEAP32[$1>>2]|0; + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$2>>2]|0; + $58 = $57; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = ($56|0)>($63|0); + $65 = ($53>>>0)>($60>>>0); + $66 = ($56|0)==($63|0); + $67 = $66 & $65; + $68 = $64 | $67; + if ($68) { + HEAP32[$0>>2] = 1; + break; + } else { + HEAP32[$0>>2] = 0; + break; + } + } + $69 = HEAP32[$f1>>2]|0; + $70 = $69 & 8; + $71 = ($70|0)!=(0); + do { + if ($71) { + $72 = HEAP32[$1>>2]|0; + $73 = +HEAPF64[$72>>3]; + HEAPF64[$r1>>3] = $73; + } else { + $74 = HEAP32[$f1>>2]|0; + $75 = $74 & 4; + $76 = ($75|0)!=(0); + if ($76) { + $77 = HEAP32[$1>>2]|0; + $78 = $77; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (+($80>>>0)) + (4294967296.0*(+($83|0))); + HEAPF64[$r1>>3] = $84; + break; + } else { + HEAP32[$0>>2] = 1; + break L1; + } + } + } while(0); + $85 = HEAP32[$f2>>2]|0; + $86 = $85 & 8; + $87 = ($86|0)!=(0); + do { + if ($87) { + $88 = HEAP32[$2>>2]|0; + $89 = +HEAPF64[$88>>3]; + HEAPF64[$r2>>3] = $89; + } else { + $90 = HEAP32[$f2>>2]|0; + $91 = $90 & 4; + $92 = ($91|0)!=(0); + if ($92) { + $93 = HEAP32[$2>>2]|0; + $94 = $93; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (+($96>>>0)) + (4294967296.0*(+($99|0))); + HEAPF64[$r2>>3] = $100; + break; + } else { + HEAP32[$0>>2] = -1; + break L1; + } + } + } while(0); + $101 = +HEAPF64[$r1>>3]; + $102 = +HEAPF64[$r2>>3]; + $103 = $101 < $102; + if ($103) { + HEAP32[$0>>2] = -1; + break; + } + $104 = +HEAPF64[$r1>>3]; + $105 = +HEAPF64[$r2>>3]; + $106 = $104 > $105; + if ($106) { + HEAP32[$0>>2] = 1; + break; + } else { + HEAP32[$0>>2] = 0; + break; + } + } + } while(0); + $125 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($125|0); +} function _sqlite3VdbeCursorMoveto($p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; @@ -170585,7 +172332,7 @@ function _sqlite3VdbeCursorMoveto($p) { $1 = sp; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 26|0); + $3 = ((($2)) + 26|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)!=(0); $6 = HEAP32[$1>>2]|0; @@ -170642,49 +172389,49 @@ function _sqlite3BtreeDataSize($pCur,$pSize) { HEAP32[$0>>2] = $pCur; HEAP32[$1>>2] = $pSize; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 24|0); - $4 = (($3) + 20|0); + $3 = ((($2)) + 24|0); + $4 = ((($3)) + 20|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ($6|0)==(0); if (!($7)) { $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 24|0); - $33 = (($32) + 12|0); + $32 = ((($31)) + 24|0); + $33 = ((($32)) + 12|0); $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$1>>2]|0; HEAP32[$35>>2] = $34; STACKTOP = sp;return 0; } $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 76|0); + $9 = ((($8)) + 76|0); $10 = HEAP16[$9>>1]|0; $11 = $10 << 16 >> 16; HEAP32[$iPage>>2] = $11; $12 = HEAP32[$iPage>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 120|0); + $14 = ((($13)) + 120|0); $15 = (($14) + ($12<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$iPage>>2]|0; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 78|0); + $19 = ((($18)) + 78|0); $20 = (($19) + ($17<<1)|0); $21 = HEAP16[$20>>1]|0; $22 = $21&65535; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 24|0); + $24 = ((($23)) + 24|0); _btreeParseCell($16,$22,$24); $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 72|0); + $26 = ((($25)) + 72|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; $29 = $28 | 2; $30 = $29&255; HEAP8[$26>>0] = $30; $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 24|0); - $33 = (($32) + 12|0); + $32 = ((($31)) + 24|0); + $33 = ((($32)) + 12|0); $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$1>>2]|0; HEAP32[$35>>2] = $34; @@ -170717,14 +172464,14 @@ function _sqlite3VdbeMemFromBtree($pCur,$offset,$amt,$key,$pMem) { var $8 = 0, $9 = 0, $available = 0, $rc = 0, $zData = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $zData = sp + 8|0; - $available = sp + 4|0; - $rc = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $zData = sp; + $available = sp + 12|0; + $rc = sp + 24|0; HEAP32[$0>>2] = $pCur; HEAP32[$1>>2] = $offset; HEAP32[$2>>2] = $amt; @@ -170752,20 +172499,20 @@ function _sqlite3VdbeMemFromBtree($pCur,$offset,$amt,$key,$pMem) { $16 = HEAP32[$zData>>2]|0; $17 = (($16) + ($15)|0); $18 = HEAP32[$4>>2]|0; - $19 = (($18) + 16|0); + $19 = ((($18)) + 16|0); HEAP32[$19>>2] = $17; $20 = HEAP32[$4>>2]|0; - $21 = (($20) + 8|0); + $21 = ((($20)) + 8|0); HEAP16[$21>>1] = 4112; $22 = HEAP32[$2>>2]|0; $23 = HEAP32[$4>>2]|0; - $24 = (($23) + 12|0); + $24 = ((($23)) + 12|0); HEAP32[$24>>2] = $22; $61 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($61|0); } $25 = HEAP32[$4>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); HEAP16[$26>>1] = 1; $27 = HEAP32[$4>>2]|0; $28 = HEAP32[$2>>2]|0; @@ -170783,7 +172530,7 @@ function _sqlite3VdbeMemFromBtree($pCur,$offset,$amt,$key,$pMem) { $35 = HEAP32[$1>>2]|0; $36 = HEAP32[$2>>2]|0; $37 = HEAP32[$4>>2]|0; - $38 = (($37) + 16|0); + $38 = ((($37)) + 16|0); $39 = HEAP32[$38>>2]|0; if ($33) { $40 = (_sqlite3BtreeKey($34,$35,$36,$39)|0); @@ -170797,23 +172544,23 @@ function _sqlite3VdbeMemFromBtree($pCur,$offset,$amt,$key,$pMem) { if ($43) { $44 = HEAP32[$2>>2]|0; $45 = HEAP32[$4>>2]|0; - $46 = (($45) + 16|0); + $46 = ((($45)) + 16|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + ($44)|0); HEAP8[$48>>0] = 0; $49 = HEAP32[$2>>2]|0; $50 = (($49) + 1)|0; $51 = HEAP32[$4>>2]|0; - $52 = (($51) + 16|0); + $52 = ((($51)) + 16|0); $53 = HEAP32[$52>>2]|0; $54 = (($53) + ($50)|0); HEAP8[$54>>0] = 0; $55 = HEAP32[$4>>2]|0; - $56 = (($55) + 8|0); + $56 = ((($55)) + 8|0); HEAP16[$56>>1] = 528; $57 = HEAP32[$2>>2]|0; $58 = HEAP32[$4>>2]|0; - $59 = (($58) + 12|0); + $59 = ((($58)) + 12|0); HEAP32[$59>>2] = $57; $61 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($61|0); @@ -170823,7 +172570,7 @@ function _sqlite3VdbeMemFromBtree($pCur,$offset,$amt,$key,$pMem) { $61 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($61|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeSerialType($pMem,$file_format) { $pMem = $pMem|0; @@ -170839,17 +172586,17 @@ function _sqlite3VdbeSerialType($pMem,$file_format) { var $99 = 0, $flags = 0, $i = 0, $n = 0, $or$cond = 0, $u = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; + $0 = sp + 28|0; + $1 = sp + 20|0; $2 = sp + 24|0; - $flags = sp + 20|0; + $flags = sp + 32|0; $n = sp + 16|0; - $i = sp + 8|0; - $u = sp; + $i = sp; + $u = sp + 8|0; HEAP32[$1>>2] = $pMem; HEAP32[$2>>2] = $file_format; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; HEAP32[$flags>>2] = $6; @@ -170874,7 +172621,7 @@ function _sqlite3VdbeSerialType($pMem,$file_format) { STACKTOP = sp;return ($160|0); } $142 = HEAP32[$1>>2]|0; - $143 = (($142) + 12|0); + $143 = ((($142)) + 12|0); $144 = HEAP32[$143>>2]|0; HEAP32[$n>>2] = $144; $145 = HEAP32[$flags>>2]|0; @@ -171076,7 +172823,7 @@ function _sqlite3VdbeSerialType($pMem,$file_format) { $160 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($160|0); } - return 0|0; + return (0)|0; } function _sqlite3PutVarint($p,$0,$1) { $p = $p|0; @@ -171152,7 +172899,7 @@ function _sqlite3PutVarint($p,$0,$1) { $52 = $48 & 127; $53 = $52&255; $54 = HEAP32[$3>>2]|0; - $55 = (($54) + 1|0); + $55 = ((($54)) + 1|0); HEAP8[$55>>0] = $53; HEAP32[$2>>2] = 2; $64 = HEAP32[$2>>2]|0; @@ -171170,7 +172917,7 @@ function _sqlite3PutVarint($p,$0,$1) { $64 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($64|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeSerialPut($buf,$pMem,$serial_type) { $buf = $buf|0; @@ -171182,13 +172929,13 @@ function _sqlite3VdbeSerialPut($buf,$pMem,$serial_type) { var $8 = 0, $9 = 0, $i = 0, $len = 0, $or$cond = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $len = sp + 12|0; + $0 = sp + 12|0; + $1 = sp + 20|0; + $2 = sp + 24|0; + $3 = sp + 28|0; + $len = sp + 8|0; $v = sp; - $i = sp + 8|0; + $i = sp + 16|0; HEAP32[$1>>2] = $buf; HEAP32[$2>>2] = $pMem; HEAP32[$3>>2] = $serial_type; @@ -171202,12 +172949,12 @@ function _sqlite3VdbeSerialPut($buf,$pMem,$serial_type) { $51 = ($8>>>0)>=(12); if ($51) { $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 12|0); + $53 = ((($52)) + 12|0); $54 = HEAP32[$53>>2]|0; HEAP32[$len>>2] = $54; $55 = HEAP32[$1>>2]|0; $56 = HEAP32[$2>>2]|0; - $57 = (($56) + 16|0); + $57 = ((($56)) + 16|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$len>>2]|0; _memcpy(($55|0),($58|0),($59|0))|0; @@ -171224,7 +172971,7 @@ function _sqlite3VdbeSerialPut($buf,$pMem,$serial_type) { $9 = ($8|0)==(7); if ($9) { $10 = HEAP32[$2>>2]|0; - ;HEAP32[$v+0>>2]=HEAP32[$10+0>>2]|0;HEAP32[$v+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$v>>2]=HEAP32[$10>>2]|0;HEAP32[$v+4>>2]=HEAP32[$10+4>>2]|0; } else { $11 = HEAP32[$2>>2]|0; $12 = $11; @@ -171299,8 +173046,8 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; + $1 = sp + 20|0; + $2 = sp + 24|0; $nEntry = sp; $rc = sp + 16|0; $iIdx = sp + 12|0; @@ -171314,7 +173061,7 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { $6 = $5; HEAP32[$6>>2] = 0; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 60|0); + $8 = ((($7)) + 60|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0); if ($10) { @@ -171340,16 +173087,16 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { break; } $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 76|0); + $21 = ((($20)) + 76|0); $22 = HEAP16[$21>>1]|0; $23 = $22 << 16 >> 16; $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 120|0); + $25 = ((($24)) + 120|0); $26 = (($25) + ($23<<2)|0); $27 = HEAP32[$26>>2]|0; HEAP32[$pPage>>2] = $27; $28 = HEAP32[$pPage>>2]|0; - $29 = (($28) + 5|0); + $29 = ((($28)) + 5|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = ($31|0)!=(0); @@ -171357,7 +173104,7 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { label = 7; } else { $33 = HEAP32[$pPage>>2]|0; - $34 = (($33) + 2|0); + $34 = ((($33)) + 2|0); $35 = HEAP8[$34>>0]|0; $36 = ($35<<24>>24)!=(0); if (!($36)) { @@ -171367,7 +173114,7 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { if ((label|0) == 7) { label = 0; $37 = HEAP32[$pPage>>2]|0; - $38 = (($37) + 18|0); + $38 = ((($37)) + 18|0); $39 = HEAP16[$38>>1]|0; $40 = $39&65535; $41 = $nEntry; @@ -171386,13 +173133,13 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { HEAP32[$52>>2] = $48; } $53 = HEAP32[$pPage>>2]|0; - $54 = (($53) + 5|0); + $54 = ((($53)) + 5|0); $55 = HEAP8[$54>>0]|0; $56 = ($55<<24>>24)!=(0); if ($56) { while(1) { $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 76|0); + $58 = ((($57)) + 76|0); $59 = HEAP16[$58>>1]|0; $60 = $59 << 16 >> 16; $61 = ($60|0)==(0); @@ -171403,23 +173150,23 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { $73 = HEAP32[$1>>2]|0; _moveToParent($73); $74 = HEAP32[$1>>2]|0; - $75 = (($74) + 76|0); + $75 = ((($74)) + 76|0); $76 = HEAP16[$75>>1]|0; $77 = $76 << 16 >> 16; $78 = HEAP32[$1>>2]|0; - $79 = (($78) + 78|0); + $79 = ((($78)) + 78|0); $80 = (($79) + ($77<<1)|0); $81 = HEAP16[$80>>1]|0; $82 = $81&65535; $83 = HEAP32[$1>>2]|0; - $84 = (($83) + 76|0); + $84 = ((($83)) + 76|0); $85 = HEAP16[$84>>1]|0; $86 = $85 << 16 >> 16; $87 = HEAP32[$1>>2]|0; - $88 = (($87) + 120|0); + $88 = ((($87)) + 120|0); $89 = (($88) + ($86<<2)|0); $90 = HEAP32[$89>>2]|0; - $91 = (($90) + 18|0); + $91 = ((($90)) + 18|0); $92 = HEAP16[$91>>1]|0; $93 = $92&65535; $94 = ($82|0)>=($93|0); @@ -171428,50 +173175,50 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { } } $95 = HEAP32[$1>>2]|0; - $96 = (($95) + 76|0); + $96 = ((($95)) + 76|0); $97 = HEAP16[$96>>1]|0; $98 = $97 << 16 >> 16; $99 = HEAP32[$1>>2]|0; - $100 = (($99) + 78|0); + $100 = ((($99)) + 78|0); $101 = (($100) + ($98<<1)|0); $102 = HEAP16[$101>>1]|0; $103 = (($102) + 1)<<16>>16; HEAP16[$101>>1] = $103; $104 = HEAP32[$1>>2]|0; - $105 = (($104) + 76|0); + $105 = ((($104)) + 76|0); $106 = HEAP16[$105>>1]|0; $107 = $106 << 16 >> 16; $108 = HEAP32[$1>>2]|0; - $109 = (($108) + 120|0); + $109 = ((($108)) + 120|0); $110 = (($109) + ($107<<2)|0); $111 = HEAP32[$110>>2]|0; HEAP32[$pPage>>2] = $111; } $112 = HEAP32[$1>>2]|0; - $113 = (($112) + 76|0); + $113 = ((($112)) + 76|0); $114 = HEAP16[$113>>1]|0; $115 = $114 << 16 >> 16; $116 = HEAP32[$1>>2]|0; - $117 = (($116) + 78|0); + $117 = ((($116)) + 78|0); $118 = (($117) + ($115<<1)|0); $119 = HEAP16[$118>>1]|0; $120 = $119&65535; HEAP32[$iIdx>>2] = $120; $121 = HEAP32[$iIdx>>2]|0; $122 = HEAP32[$pPage>>2]|0; - $123 = (($122) + 18|0); + $123 = ((($122)) + 18|0); $124 = HEAP16[$123>>1]|0; $125 = $124&65535; $126 = ($121|0)==($125|0); $127 = HEAP32[$1>>2]|0; $128 = HEAP32[$pPage>>2]|0; if ($126) { - $129 = (($128) + 6|0); + $129 = ((($128)) + 6|0); $130 = HEAP8[$129>>0]|0; $131 = $130&255; $132 = (($131) + 8)|0; $133 = HEAP32[$pPage>>2]|0; - $134 = (($133) + 56|0); + $134 = ((($133)) + 56|0); $135 = HEAP32[$134>>2]|0; $136 = (($135) + ($132)|0); $137 = (_sqlite3Get4byte($136)|0); @@ -171479,16 +173226,16 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { HEAP32[$rc>>2] = $138; continue; } else { - $139 = (($128) + 56|0); + $139 = ((($128)) + 56|0); $140 = HEAP32[$139>>2]|0; $141 = HEAP32[$pPage>>2]|0; - $142 = (($141) + 20|0); + $142 = ((($141)) + 20|0); $143 = HEAP16[$142>>1]|0; $144 = $143&65535; $145 = HEAP32[$iIdx>>2]|0; $146 = $145<<1; $147 = HEAP32[$pPage>>2]|0; - $148 = (($147) + 64|0); + $148 = ((($147)) + 64|0); $149 = HEAP32[$148>>2]|0; $150 = (($149) + ($146)|0); $151 = HEAP8[$150>>0]|0; @@ -171497,10 +173244,10 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { $154 = HEAP32[$iIdx>>2]|0; $155 = $154<<1; $156 = HEAP32[$pPage>>2]|0; - $157 = (($156) + 64|0); + $157 = ((($156)) + 64|0); $158 = HEAP32[$157>>2]|0; $159 = (($158) + ($155)|0); - $160 = (($159) + 1|0); + $160 = ((($159)) + 1|0); $161 = HEAP8[$160>>0]|0; $162 = $161&255; $163 = $153 | $162; @@ -171536,7 +173283,7 @@ function _sqlite3BtreeCount($pCur,$pnEntry) { $169 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($169|0); } - return 0|0; + return (0)|0; } function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { $db = $db|0; @@ -171548,20 +173295,20 @@ function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { var $9 = 0, $i = 0, $pMod = 0, $pVTab = 0, $rc = 0, $xMethod = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $rc = sp + 16|0; - $i = sp + 12|0; - $pVTab = sp + 8|0; - $pMod = sp + 4|0; - $xMethod = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $rc = sp + 20|0; + $i = sp + 28|0; + $pVTab = sp; + $pMod = sp + 12|0; + $xMethod = sp + 24|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $op; HEAP32[$2>>2] = $iSavepoint; HEAP32[$rc>>2] = 0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 328|0); + $4 = ((($3)) + 328|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); if (!($6)) { @@ -171578,7 +173325,7 @@ function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { } $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 304|0); + $11 = ((($10)) + 304|0); $12 = HEAP32[$11>>2]|0; $13 = ($9|0)<($12|0); if (!($13)) { @@ -171587,18 +173334,18 @@ function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { } $14 = HEAP32[$i>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 328|0); + $16 = ((($15)) + 328|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($14<<2)|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pVTab>>2] = $19; $20 = HEAP32[$pVTab>>2]|0; - $21 = (($20) + 4|0); + $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$22>>2]|0; HEAP32[$pMod>>2] = $23; $24 = HEAP32[$pVTab>>2]|0; - $25 = (($24) + 8|0); + $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; $27 = ($26|0)!=(0|0); if ($27) { @@ -171607,39 +173354,45 @@ function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { $30 = ($29|0)>=(2); if ($30) { $31 = HEAP32[$1>>2]|0; - if ((($31|0) == 0)) { + switch ($31|0) { + case 0: { $32 = HEAP32[$pMod>>2]|0; - $33 = (($32) + 80|0); + $33 = ((($32)) + 80|0); $34 = HEAP32[$33>>2]|0; HEAP32[$xMethod>>2] = $34; $35 = HEAP32[$2>>2]|0; $36 = (($35) + 1)|0; $37 = HEAP32[$pVTab>>2]|0; - $38 = (($37) + 20|0); + $38 = ((($37)) + 20|0); HEAP32[$38>>2] = $36; - } else if ((($31|0) == 2)) { + break; + } + case 2: { $39 = HEAP32[$pMod>>2]|0; - $40 = (($39) + 88|0); + $40 = ((($39)) + 88|0); $41 = HEAP32[$40>>2]|0; HEAP32[$xMethod>>2] = $41; - } else { + break; + } + default: { $42 = HEAP32[$pMod>>2]|0; - $43 = (($42) + 84|0); + $43 = ((($42)) + 84|0); $44 = HEAP32[$43>>2]|0; HEAP32[$xMethod>>2] = $44; } + } $45 = HEAP32[$xMethod>>2]|0; $46 = ($45|0)!=(0|0); if ($46) { $47 = HEAP32[$pVTab>>2]|0; - $48 = (($47) + 20|0); + $48 = ((($47)) + 20|0); $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$2>>2]|0; $51 = ($49|0)>($50|0); if ($51) { $52 = HEAP32[$xMethod>>2]|0; $53 = HEAP32[$pVTab>>2]|0; - $54 = (($53) + 8|0); + $54 = ((($53)) + 8|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$2>>2]|0; $57 = (FUNCTION_TABLE_iii[$52 & 63]($55,$56)|0); @@ -171656,7 +173409,7 @@ function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { $60 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($60|0); } - return 0|0; + return (0)|0; } function _sqlite3BtreeTripAllCursors($pBtree,$errCode,$writeOnly) { $pBtree = $pBtree|0; @@ -171687,9 +173440,9 @@ function _sqlite3BtreeTripAllCursors($pBtree,$errCode,$writeOnly) { $5 = HEAP32[$0>>2]|0; _sqlite3BtreeEnter($5); $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; HEAP32[$p>>2] = $10; while(1) { @@ -171703,14 +173456,14 @@ function _sqlite3BtreeTripAllCursors($pBtree,$errCode,$writeOnly) { $14 = ($13|0)!=(0); if ($14) { $15 = HEAP32[$p>>2]|0; - $16 = (($15) + 72|0); + $16 = ((($15)) + 72|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 & 1; $20 = ($19|0)==(0); if ($20) { $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 73|0); + $22 = ((($21)) + 73|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = ($24|0)==(1); @@ -171735,18 +173488,18 @@ function _sqlite3BtreeTripAllCursors($pBtree,$errCode,$writeOnly) { $32 = HEAP32[$p>>2]|0; _sqlite3BtreeClearCursor($32); $33 = HEAP32[$p>>2]|0; - $34 = (($33) + 73|0); + $34 = ((($33)) + 73|0); HEAP8[$34>>0] = 4; $35 = HEAP32[$1>>2]|0; $36 = HEAP32[$p>>2]|0; - $37 = (($36) + 68|0); + $37 = ((($36)) + 68|0); HEAP32[$37>>2] = $35; } HEAP32[$i>>2] = 0; while(1) { $38 = HEAP32[$i>>2]|0; $39 = HEAP32[$p>>2]|0; - $40 = (($39) + 76|0); + $40 = ((($39)) + 76|0); $41 = HEAP16[$40>>1]|0; $42 = $41 << 16 >> 16; $43 = ($38|0)<=($42|0); @@ -171755,13 +173508,13 @@ function _sqlite3BtreeTripAllCursors($pBtree,$errCode,$writeOnly) { } $44 = HEAP32[$i>>2]|0; $45 = HEAP32[$p>>2]|0; - $46 = (($45) + 120|0); + $46 = ((($45)) + 120|0); $47 = (($46) + ($44<<2)|0); $48 = HEAP32[$47>>2]|0; _releasePage($48); $49 = HEAP32[$i>>2]|0; $50 = HEAP32[$p>>2]|0; - $51 = (($50) + 120|0); + $51 = ((($50)) + 120|0); $52 = (($51) + ($49<<2)|0); HEAP32[$52>>2] = 0; $53 = HEAP32[$i>>2]|0; @@ -171769,7 +173522,7 @@ function _sqlite3BtreeTripAllCursors($pBtree,$errCode,$writeOnly) { HEAP32[$i>>2] = $54; } $55 = HEAP32[$p>>2]|0; - $56 = (($55) + 8|0); + $56 = ((($55)) + 8|0); $57 = HEAP32[$56>>2]|0; HEAP32[$p>>2] = $57; } @@ -171808,7 +173561,7 @@ function _sqlite3BtreeSavepoint($p,$op,$iSavepoint) { STACKTOP = sp;return ($42|0); } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($8|0)==(2); @@ -171817,7 +173570,7 @@ function _sqlite3BtreeSavepoint($p,$op,$iSavepoint) { STACKTOP = sp;return ($42|0); } $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; HEAP32[$pBt>>2] = $12; $13 = HEAP32[$0>>2]|0; @@ -171838,14 +173591,14 @@ function _sqlite3BtreeSavepoint($p,$op,$iSavepoint) { $22 = ($21|0)<(0); if ($22) { $23 = HEAP32[$pBt>>2]|0; - $24 = (($23) + 22|0); + $24 = ((($23)) + 22|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = $26 & 8; $28 = ($27|0)!=(0); if ($28) { $29 = HEAP32[$pBt>>2]|0; - $30 = (($29) + 44|0); + $30 = ((($29)) + 44|0); HEAP32[$30>>2] = 0; } } @@ -171853,18 +173606,208 @@ function _sqlite3BtreeSavepoint($p,$op,$iSavepoint) { $32 = (_newDatabase($31)|0); HEAP32[$rc>>2] = $32; $33 = HEAP32[$pBt>>2]|0; - $34 = (($33) + 12|0); + $34 = ((($33)) + 12|0); $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 56|0); + $36 = ((($35)) + 56|0); $37 = HEAP32[$36>>2]|0; - $38 = (($37) + 28|0); + $38 = ((($37)) + 28|0); $39 = (_sqlite3Get4byte($38)|0); $40 = HEAP32[$pBt>>2]|0; - $41 = (($40) + 44|0); + $41 = ((($40)) + 44|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($42|0); } +function _sqlite3RollbackAll($db,$tripCode) { + $db = $db|0; + $tripCode = $tripCode|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $i = 0, $inTrans = 0, $p = 0, $schemaChange = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $i = sp + 12|0; + $inTrans = sp + 8|0; + $schemaChange = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $tripCode; + HEAP32[$inTrans>>2] = 0; + _sqlite3BeginBenignMalloc(); + $2 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnterAll($2); + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = $5 & 2; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 140|0); + $10 = ((($9)) + 5|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(0); + $15 = $13; + } else { + $15 = 0; + } + $14 = $15&1; + HEAP32[$schemaChange>>2] = $14; + HEAP32[$i>>2] = 0; + while(1) { + $16 = HEAP32[$i>>2]|0; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)<($19|0); + if (!($20)) { + break; + } + $21 = HEAP32[$i>>2]|0; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<4)|0); + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$p>>2] = $27; + $28 = HEAP32[$p>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$p>>2]|0; + $31 = (_sqlite3BtreeIsInTrans($30)|0); + $32 = ($31|0)!=(0); + if ($32) { + HEAP32[$inTrans>>2] = 1; + } + $33 = HEAP32[$p>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = HEAP32[$schemaChange>>2]|0; + $36 = ($35|0)!=(0); + $37 = $36 ^ 1; + $38 = $37&1; + (_sqlite3BtreeRollback($33,$34,$38)|0); + } + $39 = HEAP32[$i>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$i>>2] = $40; + } + $41 = HEAP32[$0>>2]|0; + (_sqlite3VtabRollback($41)|0); + _sqlite3EndBenignMalloc(); + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 24|0); + $44 = HEAP32[$43>>2]|0; + $45 = $44 & 2; + $46 = ($45|0)!=(0); + if ($46) { + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 140|0); + $49 = ((($48)) + 5|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$0>>2]|0; + _sqlite3ExpirePreparedStatements($53); + $54 = HEAP32[$0>>2]|0; + _sqlite3ResetAllSchemasOfConnection($54); + } + } + $55 = HEAP32[$0>>2]|0; + $56 = ((($55)) + 504|0); + $57 = $56; + $58 = $57; + HEAP32[$58>>2] = 0; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = 0; + $61 = HEAP32[$0>>2]|0; + $62 = ((($61)) + 512|0); + $63 = $62; + $64 = $63; + HEAP32[$64>>2] = 0; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = 0; + $67 = HEAP32[$0>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP32[$68>>2]|0; + $70 = $69 & -16777217; + HEAP32[$68>>2] = $70; + $71 = HEAP32[$0>>2]|0; + $72 = ((($71)) + 200|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0|0); + if (!($74)) { + STACKTOP = sp;return; + } + $75 = HEAP32[$inTrans>>2]|0; + $76 = ($75|0)!=(0); + if (!($76)) { + $77 = HEAP32[$0>>2]|0; + $78 = ((($77)) + 62|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)!=(0); + if ($80) { + STACKTOP = sp;return; + } + } + $81 = HEAP32[$0>>2]|0; + $82 = ((($81)) + 200|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$0>>2]|0; + $85 = ((($84)) + 196|0); + $86 = HEAP32[$85>>2]|0; + FUNCTION_TABLE_vi[$83 & 31]($86); + STACKTOP = sp;return; +} +function _sqlite3CloseSavepoints($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $pTmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pTmp = sp; + HEAP32[$0>>2] = $db; + while(1) { + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 488|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + $5 = HEAP32[$0>>2]|0; + if (!($4)) { + break; + } + $6 = ((($5)) + 488|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$pTmp>>2] = $7; + $8 = HEAP32[$pTmp>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 488|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$pTmp>>2]|0; + _sqlite3DbFree($13,$14); + } + $15 = ((($5)) + 496|0); + HEAP32[$15>>2] = 0; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 500|0); + HEAP32[$17>>2] = 0; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 69|0); + HEAP8[$19>>0] = 0; + STACKTOP = sp;return; +} function _sqlite3BtreeBeginStmt($p,$iStatement) { $p = $p|0; $iStatement = $iStatement|0; @@ -171878,7 +173821,7 @@ function _sqlite3BtreeBeginStmt($p,$iStatement) { HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $iStatement; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pBt>>2] = $4; $5 = HEAP32[$0>>2]|0; @@ -171904,26 +173847,26 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$isBtreeCursor) { var $9 = 0, $nByte = 0, $pCx = 0, $pMem = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $pMem = sp + 8|0; - $nByte = sp + 4|0; - $pCx = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $pMem = sp; + $nByte = sp + 12|0; + $pCx = sp + 24|0; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $iCur; HEAP32[$2>>2] = $nField; HEAP32[$3>>2] = $iDb; HEAP32[$4>>2] = $isBtreeCursor; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 28|0); + $6 = ((($5)) + 28|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$1>>2]|0; $9 = (($7) - ($8))|0; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + (($9*40)|0)|0); HEAP32[$pMem>>2] = $13; @@ -171943,7 +173886,7 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$isBtreeCursor) { HEAP32[$nByte>>2] = $20; $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 56|0); + $24 = ((($23)) + 56|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + ($22<<2)|0); $27 = HEAP32[$26>>2]|0; @@ -171952,14 +173895,14 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$isBtreeCursor) { $29 = HEAP32[$0>>2]|0; $30 = HEAP32[$1>>2]|0; $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 56|0); + $32 = ((($31)) + 56|0); $33 = HEAP32[$32>>2]|0; $34 = (($33) + ($30<<2)|0); $35 = HEAP32[$34>>2]|0; _sqlite3VdbeFreeCursor($29,$35); $36 = HEAP32[$1>>2]|0; $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 56|0); + $38 = ((($37)) + 56|0); $39 = HEAP32[$38>>2]|0; $40 = (($39) + ($36<<2)|0); HEAP32[$40>>2] = 0; @@ -171973,33 +173916,33 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$isBtreeCursor) { STACKTOP = sp;return ($80|0); } $45 = HEAP32[$pMem>>2]|0; - $46 = (($45) + 16|0); + $46 = ((($45)) + 16|0); $47 = HEAP32[$46>>2]|0; HEAP32[$pCx>>2] = $47; $48 = HEAP32[$1>>2]|0; $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 56|0); + $50 = ((($49)) + 56|0); $51 = HEAP32[$50>>2]|0; $52 = (($51) + ($48<<2)|0); HEAP32[$52>>2] = $47; $53 = HEAP32[$pCx>>2]|0; - dest=$53+0|0; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$53; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $54 = HEAP32[$3>>2]|0; $55 = $54&255; $56 = HEAP32[$pCx>>2]|0; - $57 = (($56) + 24|0); + $57 = ((($56)) + 24|0); HEAP8[$57>>0] = $55; $58 = HEAP32[$2>>2]|0; $59 = $58&65535; $60 = HEAP32[$pCx>>2]|0; - $61 = (($60) + 20|0); + $61 = ((($60)) + 20|0); HEAP16[$61>>1] = $59; $62 = HEAP32[$2>>2]|0; $63 = HEAP32[$pCx>>2]|0; - $64 = (($63) + 84|0); + $64 = ((($63)) + 84|0); $65 = (($64) + ($62<<2)|0); $66 = HEAP32[$pCx>>2]|0; - $67 = (($66) + 80|0); + $67 = ((($66)) + 80|0); HEAP32[$67>>2] = $65; $68 = HEAP32[$4>>2]|0; $69 = ($68|0)!=(0); @@ -172011,7 +173954,7 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$isBtreeCursor) { $71 = $70<<3; $72 = (88 + ($71))|0; $73 = HEAP32[$pMem>>2]|0; - $74 = (($73) + 16|0); + $74 = ((($73)) + 16|0); $75 = HEAP32[$74>>2]|0; $76 = (($75) + ($72)|0); $77 = HEAP32[$pCx>>2]|0; @@ -172067,7 +174010,7 @@ function _sqlite3BtreeCursorHints($pCsr,$mask) { $2 = HEAP32[$1>>2]|0; $3 = $2&255; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 74|0); + $5 = ((($4)) + 74|0); HEAP8[$5>>0] = $3; STACKTOP = sp;return; } @@ -172108,26 +174051,26 @@ function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { var $pKeyInfo = 0, $pSorter = 0, $pTask = 0, $pgsz = 0, $rc = 0, $sz = 0, $szKeyInfo = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; + $0 = sp; + $1 = sp + 8|0; $2 = sp + 36|0; - $pgsz = sp + 32|0; - $i = sp + 28|0; - $mxCache = sp + 24|0; - $pSorter = sp + 20|0; - $pKeyInfo = sp + 16|0; - $szKeyInfo = sp + 12|0; - $sz = sp + 8|0; + $pgsz = sp + 16|0; + $i = sp + 32|0; + $mxCache = sp + 40|0; + $pSorter = sp + 44|0; + $pKeyInfo = sp + 24|0; + $szKeyInfo = sp + 20|0; + $sz = sp + 12|0; $rc = sp + 4|0; - $pTask = sp; + $pTask = sp + 28|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $nField; HEAP32[$2>>2] = $pCsr; HEAP32[$rc>>2] = 0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 6|0); + $6 = ((($5)) + 6|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = (($8) - 1)|0; @@ -172145,7 +174088,7 @@ function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { HEAP32[$pSorter>>2] = $18; $19 = HEAP32[$pSorter>>2]|0; $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 56|0); + $21 = ((($20)) + 56|0); HEAP32[$21>>2] = $19; $22 = HEAP32[$pSorter>>2]|0; $23 = ($22|0)==(0|0); @@ -172159,16 +174102,16 @@ function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { $26 = (($24) + ($25)|0); HEAP32[$pKeyInfo>>2] = $26; $27 = HEAP32[$pSorter>>2]|0; - $28 = (($27) + 28|0); + $28 = ((($27)) + 28|0); HEAP32[$28>>2] = $26; $29 = HEAP32[$pKeyInfo>>2]|0; $30 = HEAP32[$2>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$szKeyInfo>>2]|0; _memcpy(($29|0),($32|0),($33|0))|0; $34 = HEAP32[$pKeyInfo>>2]|0; - $35 = (($34) + 12|0); + $35 = ((($34)) + 12|0); HEAP32[$35>>2] = 0; $36 = HEAP32[$1>>2]|0; $37 = ($36|0)!=(0); @@ -172176,41 +174119,41 @@ function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { $38 = HEAP32[$1>>2]|0; $39 = $38&65535; $40 = HEAP32[$pKeyInfo>>2]|0; - $41 = (($40) + 6|0); + $41 = ((($40)) + 6|0); HEAP16[$41>>1] = $39; } $42 = HEAP32[$0>>2]|0; - $43 = (($42) + 16|0); + $43 = ((($42)) + 16|0); $44 = HEAP32[$43>>2]|0; - $45 = (($44) + 4|0); + $45 = ((($44)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = (_sqlite3BtreeGetPageSize($46)|0); HEAP32[$pgsz>>2] = $47; $48 = HEAP32[$pSorter>>2]|0; - $49 = (($48) + 12|0); + $49 = ((($48)) + 12|0); HEAP32[$49>>2] = $47; $50 = HEAP32[$pSorter>>2]|0; - $51 = (($50) + 59|0); + $51 = ((($50)) + 59|0); HEAP8[$51>>0] = 1; $52 = HEAP32[$pSorter>>2]|0; - $53 = (($52) + 59|0); + $53 = ((($52)) + 59|0); $54 = HEAP8[$53>>0]|0; $55 = $54&255; $56 = ($55|0)>(1); $57 = $56&1; $58 = $57&255; $59 = HEAP32[$pSorter>>2]|0; - $60 = (($59) + 57|0); + $60 = ((($59)) + 57|0); HEAP8[$60>>0] = $58; $61 = HEAP32[$0>>2]|0; $62 = HEAP32[$pSorter>>2]|0; - $63 = (($62) + 24|0); + $63 = ((($62)) + 24|0); HEAP32[$63>>2] = $61; HEAP32[$i>>2] = 0; while(1) { $64 = HEAP32[$i>>2]|0; $65 = HEAP32[$pSorter>>2]|0; - $66 = (($65) + 59|0); + $66 = ((($65)) + 59|0); $67 = HEAP8[$66>>0]|0; $68 = $67&255; $69 = ($64|0)<($68|0); @@ -172219,12 +174162,12 @@ function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { } $70 = HEAP32[$i>>2]|0; $71 = HEAP32[$pSorter>>2]|0; - $72 = (($71) + 64|0); + $72 = ((($71)) + 64|0); $73 = (($72) + ($70<<6)|0); HEAP32[$pTask>>2] = $73; $74 = HEAP32[$pSorter>>2]|0; $75 = HEAP32[$pTask>>2]|0; - $76 = (($75) + 8|0); + $76 = ((($75)) + 8|0); HEAP32[$76>>2] = $74; $77 = HEAP32[$i>>2]|0; $78 = (($77) + 1)|0; @@ -172242,11 +174185,11 @@ function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { $84 = HEAP32[$pSorter>>2]|0; HEAP32[$84>>2] = $83; $85 = HEAP32[$0>>2]|0; - $86 = (($85) + 16|0); + $86 = ((($85)) + 16|0); $87 = HEAP32[$86>>2]|0; - $88 = (($87) + 12|0); + $88 = ((($87)) + 12|0); $89 = HEAP32[$88>>2]|0; - $90 = (($89) + 80|0); + $90 = ((($89)) + 80|0); $91 = HEAP32[$90>>2]|0; HEAP32[$mxCache>>2] = $91; $92 = HEAP32[$mxCache>>2]|0; @@ -172257,9 +174200,9 @@ function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { $95 = HEAP32[$pgsz>>2]|0; $96 = Math_imul($94, $95)|0; $97 = HEAP32[$pSorter>>2]|0; - $98 = (($97) + 4|0); + $98 = ((($97)) + 4|0); HEAP32[$98>>2] = $96; - $99 = HEAP32[((38640 + 192|0))>>2]|0; + $99 = HEAP32[(200)>>2]|0; $100 = ($99|0)==(0|0); if (!($100)) { $116 = HEAP32[$rc>>2]|0; @@ -172267,19 +174210,19 @@ function _sqlite3VdbeSorterInit($db,$nField,$pCsr) { } $101 = HEAP32[$pgsz>>2]|0; $102 = HEAP32[$pSorter>>2]|0; - $103 = (($102) + 52|0); + $103 = ((($102)) + 52|0); HEAP32[$103>>2] = $101; $104 = HEAP32[$pgsz>>2]|0; $105 = ($104|0)<(0); $106 = $105 << 31 >> 31; $107 = (_sqlite3Malloc($104,$106)|0); $108 = HEAP32[$pSorter>>2]|0; - $109 = (($108) + 36|0); - $110 = (($109) + 4|0); + $109 = ((($108)) + 36|0); + $110 = ((($109)) + 4|0); HEAP32[$110>>2] = $107; $111 = HEAP32[$pSorter>>2]|0; - $112 = (($111) + 36|0); - $113 = (($112) + 4|0); + $112 = ((($111)) + 36|0); + $113 = ((($112)) + 4|0); $114 = HEAP32[$113>>2]|0; $115 = ($114|0)!=(0|0); if ($115) { @@ -172314,12 +174257,12 @@ function _sqlite3VdbeFreeCursor($p,$pCx) { $6 = HEAP32[$1>>2]|0; _sqlite3VdbeSorterClose($5,$6); $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); $11 = HEAP32[$1>>2]|0; if ($10) { - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); $13 = HEAP32[$12>>2]|0; (_sqlite3BtreeClose($13)|0); STACKTOP = sp;return; @@ -172332,14 +174275,14 @@ function _sqlite3VdbeFreeCursor($p,$pCx) { (_sqlite3BtreeCloseCursor($17)|0); STACKTOP = sp;return; } - $18 = (($16) + 32|0); + $18 = ((($16)) + 32|0); $19 = HEAP32[$18>>2]|0; $20 = ($19|0)!=(0|0); if (!($20)) { STACKTOP = sp;return; } $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 32|0); + $22 = ((($21)) + 32|0); $23 = HEAP32[$22>>2]|0; HEAP32[$pVtabCursor>>2] = $23; $24 = HEAP32[$pVtabCursor>>2]|0; @@ -172347,18 +174290,18 @@ function _sqlite3VdbeFreeCursor($p,$pCx) { $26 = HEAP32[$25>>2]|0; HEAP32[$pModule>>2] = $26; $27 = HEAP32[$0>>2]|0; - $28 = (($27) + 88|0); + $28 = ((($27)) + 88|0); $29 = HEAP16[$28>>1]|0; $30 = $29 & -13; $31 = $30 | 4; HEAP16[$28>>1] = $31; $32 = HEAP32[$pModule>>2]|0; - $33 = (($32) + 28|0); + $33 = ((($32)) + 28|0); $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$pVtabCursor>>2]|0; (FUNCTION_TABLE_ii[$34 & 31]($35)|0); $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 88|0); + $37 = ((($36)) + 88|0); $38 = HEAP16[$37>>1]|0; $39 = $38 & -13; HEAP16[$37>>1] = $39; @@ -172372,7 +174315,7 @@ function _sqlite3BtreeEof($pCur) { $0 = sp; HEAP32[$0>>2] = $pCur; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 73|0); + $2 = ((($1)) + 73|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = (1)!=($4|0); @@ -172394,13 +174337,13 @@ function _sqlite3BtreeLast($pCur,$pRes) { HEAP32[$1>>2] = $pCur; HEAP32[$2>>2] = $pRes; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 73|0); + $4 = ((($3)) + 73|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = (1)==($6|0); if ($7) { $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 72|0); + $9 = ((($8)) + 72|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 & 8; @@ -172419,7 +174362,7 @@ function _sqlite3BtreeLast($pCur,$pRes) { do { if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 73|0); + $19 = ((($18)) + 73|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = (0)==($21|0); @@ -172435,7 +174378,7 @@ function _sqlite3BtreeLast($pCur,$pRes) { $26 = HEAP32[$rc>>2]|0; $27 = ($26|0)==(0); $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 72|0); + $29 = ((($28)) + 72|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; if ($27) { @@ -172482,23 +174425,23 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; + $3 = sp + 8|0; + $4 = sp + 20|0; $5 = sp; - $6 = sp + 60|0; - $7 = sp + 56|0; - $8 = sp + 52|0; - $9 = sp + 48|0; - $10 = sp + 44|0; - $rc = sp + 40|0; - $loc = sp + 36|0; - $szNew = sp + 32|0; - $idx = sp + 28|0; - $pPage = sp + 24|0; - $p = sp + 20|0; - $pBt = sp + 16|0; - $oldCell = sp + 12|0; - $newCell = sp + 8|0; + $6 = sp + 36|0; + $7 = sp + 12|0; + $8 = sp + 16|0; + $9 = sp + 32|0; + $10 = sp + 28|0; + $rc = sp + 24|0; + $loc = sp + 44|0; + $szNew = sp + 48|0; + $idx = sp + 52|0; + $pPage = sp + 56|0; + $p = sp + 60|0; + $pBt = sp + 64|0; + $oldCell = sp + 68|0; + $newCell = sp + 40|0; $szOld = sp + 76|0; HEAP32[$3>>2] = $pCur; HEAP32[$4>>2] = $pKey; @@ -172520,18 +174463,18 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $17 = HEAP32[$16>>2]|0; HEAP32[$p>>2] = $17; $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pBt>>2] = $20; HEAP32[$newCell>>2] = 0; $21 = HEAP32[$3>>2]|0; - $22 = (($21) + 73|0); + $22 = ((($21)) + 73|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = ($24|0)==(4); if ($25) { $26 = HEAP32[$3>>2]|0; - $27 = (($26) + 68|0); + $27 = ((($26)) + 68|0); $28 = HEAP32[$27>>2]|0; HEAP32[$2>>2] = $28; $237 = HEAP32[$2>>2]|0; @@ -172539,7 +174482,7 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, } $29 = HEAP32[$pBt>>2]|0; $30 = HEAP32[$3>>2]|0; - $31 = (($30) + 60|0); + $31 = ((($30)) + 60|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$3>>2]|0; $34 = (_saveAllCursors($29,$32,$33)|0); @@ -172553,7 +174496,7 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, STACKTOP = sp;return ($237|0); } $38 = HEAP32[$3>>2]|0; - $39 = (($38) + 16|0); + $39 = ((($38)) + 16|0); $40 = HEAP32[$39>>2]|0; $41 = ($40|0)==(0|0); if ($41) { @@ -172566,7 +174509,7 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $48 = HEAP32[$47>>2]|0; _invalidateIncrblobCursors($42,$45,$48,0); $49 = HEAP32[$3>>2]|0; - $50 = (($49) + 72|0); + $50 = ((($49)) + 72|0); $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = $52 & 2; @@ -172585,7 +174528,7 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $or$cond = $54 & $65; if ($or$cond) { $66 = HEAP32[$3>>2]|0; - $67 = (($66) + 24|0); + $67 = ((($66)) + 24|0); $68 = $67; $69 = $68; $70 = HEAP32[$69>>2]|0; @@ -172632,16 +174575,16 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, } } $100 = HEAP32[$3>>2]|0; - $101 = (($100) + 76|0); + $101 = ((($100)) + 76|0); $102 = HEAP16[$101>>1]|0; $103 = $102 << 16 >> 16; $104 = HEAP32[$3>>2]|0; - $105 = (($104) + 120|0); + $105 = ((($104)) + 120|0); $106 = (($105) + ($103<<2)|0); $107 = HEAP32[$106>>2]|0; HEAP32[$pPage>>2] = $107; $108 = HEAP32[$pBt>>2]|0; - $109 = (($108) + 80|0); + $109 = ((($108)) + 80|0); $110 = HEAP32[$109>>2]|0; HEAP32[$newCell>>2] = $110; $111 = HEAP32[$pPage>>2]|0; @@ -172663,11 +174606,11 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, do { if (!($125)) { $126 = HEAP32[$3>>2]|0; - $127 = (($126) + 76|0); + $127 = ((($126)) + 76|0); $128 = HEAP16[$127>>1]|0; $129 = $128 << 16 >> 16; $130 = HEAP32[$3>>2]|0; - $131 = (($130) + 78|0); + $131 = ((($130)) + 78|0); $132 = (($131) + ($129<<1)|0); $133 = HEAP16[$132>>1]|0; $134 = $133&65535; @@ -172676,7 +174619,7 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $136 = ($135|0)==(0); if ($136) { $137 = HEAP32[$pPage>>2]|0; - $138 = (($137) + 68|0); + $138 = ((($137)) + 68|0); $139 = HEAP32[$138>>2]|0; $140 = (_sqlite3PagerWrite($139)|0); HEAP32[$rc>>2] = $140; @@ -172686,16 +174629,16 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, break; } $143 = HEAP32[$pPage>>2]|0; - $144 = (($143) + 56|0); + $144 = ((($143)) + 56|0); $145 = HEAP32[$144>>2]|0; $146 = HEAP32[$pPage>>2]|0; - $147 = (($146) + 20|0); + $147 = ((($146)) + 20|0); $148 = HEAP16[$147>>1]|0; $149 = $148&65535; $150 = HEAP32[$idx>>2]|0; $151 = $150<<1; $152 = HEAP32[$pPage>>2]|0; - $153 = (($152) + 64|0); + $153 = ((($152)) + 64|0); $154 = HEAP32[$153>>2]|0; $155 = (($154) + ($151)|0); $156 = HEAP8[$155>>0]|0; @@ -172704,10 +174647,10 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $159 = HEAP32[$idx>>2]|0; $160 = $159<<1; $161 = HEAP32[$pPage>>2]|0; - $162 = (($161) + 64|0); + $162 = ((($161)) + 64|0); $163 = HEAP32[$162>>2]|0; $164 = (($163) + ($160)|0); - $165 = (($164) + 1|0); + $165 = ((($164)) + 1|0); $166 = HEAP8[$165>>0]|0; $167 = $166&255; $168 = $158 | $167; @@ -172715,13 +174658,13 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $170 = (($145) + ($169)|0); HEAP32[$oldCell>>2] = $170; $171 = HEAP32[$pPage>>2]|0; - $172 = (($171) + 5|0); + $172 = ((($171)) + 5|0); $173 = HEAP8[$172>>0]|0; $174 = ($173<<24>>24)!=(0); if (!($174)) { $175 = HEAP32[$newCell>>2]|0; $176 = HEAP32[$oldCell>>2]|0; - ;HEAP8[$175+0>>0]=HEAP8[$176+0>>0]|0;HEAP8[$175+1>>0]=HEAP8[$176+1>>0]|0;HEAP8[$175+2>>0]=HEAP8[$176+2>>0]|0;HEAP8[$175+3>>0]=HEAP8[$176+3>>0]|0; + ;HEAP8[$175>>0]=HEAP8[$176>>0]|0;HEAP8[$175+1>>0]=HEAP8[$176+1>>0]|0;HEAP8[$175+2>>0]=HEAP8[$176+2>>0]|0;HEAP8[$175+3>>0]=HEAP8[$176+3>>0]|0; } $177 = HEAP32[$pPage>>2]|0; $178 = HEAP32[$oldCell>>2]|0; @@ -172742,17 +174685,17 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $187 = ($186|0)<(0); if ($187) { $188 = HEAP32[$pPage>>2]|0; - $189 = (($188) + 18|0); + $189 = ((($188)) + 18|0); $190 = HEAP16[$189>>1]|0; $191 = $190&65535; $192 = ($191|0)>(0); if ($192) { $193 = HEAP32[$3>>2]|0; - $194 = (($193) + 76|0); + $194 = ((($193)) + 76|0); $195 = HEAP16[$194>>1]|0; $196 = $195 << 16 >> 16; $197 = HEAP32[$3>>2]|0; - $198 = (($197) + 78|0); + $198 = ((($197)) + 78|0); $199 = (($198) + ($196<<1)|0); $200 = HEAP16[$199>>1]|0; $201 = (($200) + 1)<<16>>16; @@ -172768,20 +174711,20 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $206 = HEAP32[$szNew>>2]|0; _insertCell($203,$204,$205,$206,0,0,$rc); $207 = HEAP32[$3>>2]|0; - $208 = (($207) + 24|0); - $209 = (($208) + 20|0); + $208 = ((($207)) + 24|0); + $209 = ((($208)) + 20|0); HEAP16[$209>>1] = 0; $210 = HEAP32[$rc>>2]|0; $211 = ($210|0)==(0); if ($211) { $212 = HEAP32[$pPage>>2]|0; - $213 = (($212) + 1|0); + $213 = ((($212)) + 1|0); $214 = HEAP8[$213>>0]|0; $215 = $214&255; $216 = ($215|0)!=(0); if ($216) { $217 = HEAP32[$3>>2]|0; - $218 = (($217) + 72|0); + $218 = ((($217)) + 72|0); $219 = HEAP8[$218>>0]|0; $220 = $219&255; $221 = $220 & -3; @@ -172791,17 +174734,17 @@ function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias, $224 = (_balance($223)|0); HEAP32[$rc>>2] = $224; $225 = HEAP32[$3>>2]|0; - $226 = (($225) + 76|0); + $226 = ((($225)) + 76|0); $227 = HEAP16[$226>>1]|0; $228 = $227 << 16 >> 16; $229 = HEAP32[$3>>2]|0; - $230 = (($229) + 120|0); + $230 = ((($229)) + 120|0); $231 = (($230) + ($228<<2)|0); $232 = HEAP32[$231>>2]|0; - $233 = (($232) + 1|0); + $233 = ((($232)) + 1|0); HEAP8[$233>>0] = 0; $234 = HEAP32[$3>>2]|0; - $235 = (($234) + 73|0); + $235 = ((($234)) + 73|0); HEAP8[$235>>0] = 0; } } @@ -172829,86 +174772,86 @@ function _sqlite3BtreeDelete($pCur) { var $iCellDepth = 0, $iCellIdx = 0, $n = 0, $nCell = 0, $notUsed = 0, $p = 0, $pBt = 0, $pCell = 0, $pLeaf = 0, $pPage = 0, $pTmp = 0, $rc = 0, $szCell = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $p = sp + 44|0; - $pBt = sp + 40|0; - $rc = sp + 36|0; - $pPage = sp + 32|0; - $pCell = sp + 28|0; - $iCellIdx = sp + 24|0; + $0 = sp + 16|0; + $1 = sp + 36|0; + $p = sp + 12|0; + $pBt = sp + 8|0; + $rc = sp + 32|0; + $pPage = sp + 40|0; + $pCell = sp + 48|0; + $iCellIdx = sp + 52|0; $iCellDepth = sp + 20|0; $szCell = sp + 56|0; - $notUsed = sp + 16|0; - $pLeaf = sp + 12|0; - $nCell = sp + 8|0; - $n = sp + 4|0; + $notUsed = sp + 28|0; + $pLeaf = sp + 4|0; + $nCell = sp + 24|0; + $n = sp + 44|0; $pTmp = sp; HEAP32[$1>>2] = $pCur; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; HEAP32[$p>>2] = $3; $4 = HEAP32[$p>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pBt>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 76|0); + $8 = ((($7)) + 76|0); $9 = HEAP16[$8>>1]|0; $10 = $9 << 16 >> 16; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 78|0); + $12 = ((($11)) + 78|0); $13 = (($12) + ($10<<1)|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 76|0); + $17 = ((($16)) + 76|0); $18 = HEAP16[$17>>1]|0; $19 = $18 << 16 >> 16; $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 120|0); + $21 = ((($20)) + 120|0); $22 = (($21) + ($19<<2)|0); $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 18|0); + $24 = ((($23)) + 18|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = ($15|0)>=($26|0); if (!($27)) { $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 73|0); + $29 = ((($28)) + 73|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = ($31|0)!=(1); if (!($32)) { $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 76|0); + $34 = ((($33)) + 76|0); $35 = HEAP16[$34>>1]|0; $36 = $35 << 16 >> 16; HEAP32[$iCellDepth>>2] = $36; $37 = HEAP32[$iCellDepth>>2]|0; $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 78|0); + $39 = ((($38)) + 78|0); $40 = (($39) + ($37<<1)|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; HEAP32[$iCellIdx>>2] = $42; $43 = HEAP32[$iCellDepth>>2]|0; $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 120|0); + $45 = ((($44)) + 120|0); $46 = (($45) + ($43<<2)|0); $47 = HEAP32[$46>>2]|0; HEAP32[$pPage>>2] = $47; $48 = HEAP32[$pPage>>2]|0; - $49 = (($48) + 56|0); + $49 = ((($48)) + 56|0); $50 = HEAP32[$49>>2]|0; $51 = HEAP32[$pPage>>2]|0; - $52 = (($51) + 20|0); + $52 = ((($51)) + 20|0); $53 = HEAP16[$52>>1]|0; $54 = $53&65535; $55 = HEAP32[$iCellIdx>>2]|0; $56 = $55<<1; $57 = HEAP32[$pPage>>2]|0; - $58 = (($57) + 64|0); + $58 = ((($57)) + 64|0); $59 = HEAP32[$58>>2]|0; $60 = (($59) + ($56)|0); $61 = HEAP8[$60>>0]|0; @@ -172917,10 +174860,10 @@ function _sqlite3BtreeDelete($pCur) { $64 = HEAP32[$iCellIdx>>2]|0; $65 = $64<<1; $66 = HEAP32[$pPage>>2]|0; - $67 = (($66) + 64|0); + $67 = ((($66)) + 64|0); $68 = HEAP32[$67>>2]|0; $69 = (($68) + ($65)|0); - $70 = (($69) + 1|0); + $70 = ((($69)) + 1|0); $71 = HEAP8[$70>>0]|0; $72 = $71&255; $73 = $63 | $72; @@ -172928,7 +174871,7 @@ function _sqlite3BtreeDelete($pCur) { $75 = (($50) + ($74)|0); HEAP32[$pCell>>2] = $75; $76 = HEAP32[$pPage>>2]|0; - $77 = (($76) + 5|0); + $77 = ((($76)) + 5|0); $78 = HEAP8[$77>>0]|0; $79 = ($78<<24>>24)!=(0); if (!($79)) { @@ -172947,7 +174890,7 @@ function _sqlite3BtreeDelete($pCur) { } $85 = HEAP32[$pBt>>2]|0; $86 = HEAP32[$1>>2]|0; - $87 = (($86) + 60|0); + $87 = ((($86)) + 60|0); $88 = HEAP32[$87>>2]|0; $89 = HEAP32[$1>>2]|0; $90 = (_saveAllCursors($85,$88,$89)|0); @@ -172961,13 +174904,13 @@ function _sqlite3BtreeDelete($pCur) { STACKTOP = sp;return ($239|0); } $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 16|0); + $95 = ((($94)) + 16|0); $96 = HEAP32[$95>>2]|0; $97 = ($96|0)==(0|0); if ($97) { $98 = HEAP32[$p>>2]|0; $99 = HEAP32[$1>>2]|0; - $100 = (($99) + 24|0); + $100 = ((($99)) + 24|0); $101 = $100; $102 = $101; $103 = HEAP32[$102>>2]|0; @@ -172977,7 +174920,7 @@ function _sqlite3BtreeDelete($pCur) { _invalidateIncrblobCursors($98,$103,$106,0); } $107 = HEAP32[$pPage>>2]|0; - $108 = (($107) + 68|0); + $108 = ((($107)) + 68|0); $109 = HEAP32[$108>>2]|0; $110 = (_sqlite3PagerWrite($109)|0); HEAP32[$rc>>2] = $110; @@ -173007,59 +174950,59 @@ function _sqlite3BtreeDelete($pCur) { STACKTOP = sp;return ($239|0); } $124 = HEAP32[$pPage>>2]|0; - $125 = (($124) + 5|0); + $125 = ((($124)) + 5|0); $126 = HEAP8[$125>>0]|0; $127 = ($126<<24>>24)!=(0); if (!($127)) { $128 = HEAP32[$1>>2]|0; - $129 = (($128) + 76|0); + $129 = ((($128)) + 76|0); $130 = HEAP16[$129>>1]|0; $131 = $130 << 16 >> 16; $132 = HEAP32[$1>>2]|0; - $133 = (($132) + 120|0); + $133 = ((($132)) + 120|0); $134 = (($133) + ($131<<2)|0); $135 = HEAP32[$134>>2]|0; HEAP32[$pLeaf>>2] = $135; $136 = HEAP32[$iCellDepth>>2]|0; $137 = (($136) + 1)|0; $138 = HEAP32[$1>>2]|0; - $139 = (($138) + 120|0); + $139 = ((($138)) + 120|0); $140 = (($139) + ($137<<2)|0); $141 = HEAP32[$140>>2]|0; - $142 = (($141) + 72|0); + $142 = ((($141)) + 72|0); $143 = HEAP32[$142>>2]|0; HEAP32[$n>>2] = $143; $144 = HEAP32[$pLeaf>>2]|0; - $145 = (($144) + 56|0); + $145 = ((($144)) + 56|0); $146 = HEAP32[$145>>2]|0; $147 = HEAP32[$pLeaf>>2]|0; - $148 = (($147) + 20|0); + $148 = ((($147)) + 20|0); $149 = HEAP16[$148>>1]|0; $150 = $149&65535; $151 = HEAP32[$pLeaf>>2]|0; - $152 = (($151) + 18|0); + $152 = ((($151)) + 18|0); $153 = HEAP16[$152>>1]|0; $154 = $153&65535; $155 = (($154) - 1)|0; $156 = $155<<1; $157 = HEAP32[$pLeaf>>2]|0; - $158 = (($157) + 64|0); + $158 = ((($157)) + 64|0); $159 = HEAP32[$158>>2]|0; $160 = (($159) + ($156)|0); $161 = HEAP8[$160>>0]|0; $162 = $161&255; $163 = $162 << 8; $164 = HEAP32[$pLeaf>>2]|0; - $165 = (($164) + 18|0); + $165 = ((($164)) + 18|0); $166 = HEAP16[$165>>1]|0; $167 = $166&65535; $168 = (($167) - 1)|0; $169 = $168<<1; $170 = HEAP32[$pLeaf>>2]|0; - $171 = (($170) + 64|0); + $171 = ((($170)) + 64|0); $172 = HEAP32[$171>>2]|0; $173 = (($172) + ($169)|0); - $174 = (($173) + 1|0); + $174 = ((($173)) + 1|0); $175 = HEAP8[$174>>0]|0; $176 = $175&255; $177 = $163 | $176; @@ -173072,18 +175015,18 @@ function _sqlite3BtreeDelete($pCur) { $183 = $182&65535; HEAP32[$nCell>>2] = $183; $184 = HEAP32[$pBt>>2]|0; - $185 = (($184) + 80|0); + $185 = ((($184)) + 80|0); $186 = HEAP32[$185>>2]|0; HEAP32[$pTmp>>2] = $186; $187 = HEAP32[$pLeaf>>2]|0; - $188 = (($187) + 68|0); + $188 = ((($187)) + 68|0); $189 = HEAP32[$188>>2]|0; $190 = (_sqlite3PagerWrite($189)|0); HEAP32[$rc>>2] = $190; $191 = HEAP32[$pPage>>2]|0; $192 = HEAP32[$iCellIdx>>2]|0; $193 = HEAP32[$pCell>>2]|0; - $194 = (($193) + -4|0); + $194 = ((($193)) + -4|0); $195 = HEAP32[$nCell>>2]|0; $196 = (($195) + 4)|0; $197 = HEAP32[$pTmp>>2]|0; @@ -173091,7 +175034,7 @@ function _sqlite3BtreeDelete($pCur) { _insertCell($191,$192,$194,$196,$197,$198,$rc); $199 = HEAP32[$pLeaf>>2]|0; $200 = HEAP32[$pLeaf>>2]|0; - $201 = (($200) + 18|0); + $201 = ((($200)) + 18|0); $202 = HEAP16[$201>>1]|0; $203 = $202&65535; $204 = (($203) - 1)|0; @@ -173113,7 +175056,7 @@ function _sqlite3BtreeDelete($pCur) { $212 = ($211|0)==(0); if ($212) { $213 = HEAP32[$1>>2]|0; - $214 = (($213) + 76|0); + $214 = ((($213)) + 76|0); $215 = HEAP16[$214>>1]|0; $216 = $215 << 16 >> 16; $217 = HEAP32[$iCellDepth>>2]|0; @@ -173121,7 +175064,7 @@ function _sqlite3BtreeDelete($pCur) { if ($218) { while(1) { $219 = HEAP32[$1>>2]|0; - $220 = (($219) + 76|0); + $220 = ((($219)) + 76|0); $221 = HEAP16[$220>>1]|0; $222 = $221 << 16 >> 16; $223 = HEAP32[$iCellDepth>>2]|0; @@ -173130,13 +175073,13 @@ function _sqlite3BtreeDelete($pCur) { if (!($224)) { break; } - $226 = (($225) + 76|0); + $226 = ((($225)) + 76|0); $227 = HEAP16[$226>>1]|0; $228 = (($227) + -1)<<16>>16; HEAP16[$226>>1] = $228; $229 = $227 << 16 >> 16; $230 = HEAP32[$1>>2]|0; - $231 = (($230) + 120|0); + $231 = ((($230)) + 120|0); $232 = (($231) + ($229<<2)|0); $233 = HEAP32[$232>>2]|0; _releasePage($233); @@ -173172,32 +175115,32 @@ function _sqlite3VdbeSorterCompare($pCsr,$pVal,$nKeyCol,$pRes) { var $p = 0, $pKey = 0, $pKeyInfo = 0, $pSorter = 0, $r2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; + $0 = sp; + $1 = sp + 8|0; $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $pSorter = sp + 24|0; - $r2 = sp + 20|0; - $pKeyInfo = sp + 16|0; - $i = sp + 12|0; - $pKey = sp + 8|0; + $3 = sp + 16|0; + $4 = sp + 32|0; + $pSorter = sp + 40|0; + $r2 = sp + 44|0; + $pKeyInfo = sp + 24|0; + $i = sp + 20|0; + $pKey = sp + 12|0; $nKey = sp + 4|0; - $p = sp; + $p = sp + 28|0; HEAP32[$1>>2] = $pCsr; HEAP32[$2>>2] = $pVal; HEAP32[$3>>2] = $nKeyCol; HEAP32[$4>>2] = $pRes; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 56|0); + $6 = ((($5)) + 56|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pSorter>>2] = $7; $8 = HEAP32[$pSorter>>2]|0; - $9 = (($8) + 32|0); + $9 = ((($8)) + 32|0); $10 = HEAP32[$9>>2]|0; HEAP32[$r2>>2] = $10; $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; HEAP32[$pKeyInfo>>2] = $13; $14 = HEAP32[$r2>>2]|0; @@ -173207,7 +175150,7 @@ function _sqlite3VdbeSorterCompare($pCsr,$pVal,$nKeyCol,$pRes) { $16 = HEAP32[$pKeyInfo>>2]|0; $17 = (_sqlite3VdbeAllocUnpackedRecord($16,0,0,$p)|0); $18 = HEAP32[$pSorter>>2]|0; - $19 = (($18) + 32|0); + $19 = ((($18)) + 32|0); HEAP32[$19>>2] = $17; HEAP32[$r2>>2] = $17; $20 = HEAP32[$r2>>2]|0; @@ -173216,7 +175159,7 @@ function _sqlite3VdbeSorterCompare($pCsr,$pVal,$nKeyCol,$pRes) { $22 = HEAP32[$3>>2]|0; $23 = $22&65535; $24 = HEAP32[$r2>>2]|0; - $25 = (($24) + 4|0); + $25 = ((($24)) + 4|0); HEAP16[$25>>1] = $23; break; } @@ -173244,10 +175187,10 @@ function _sqlite3VdbeSorterCompare($pCsr,$pVal,$nKeyCol,$pRes) { } $35 = HEAP32[$i>>2]|0; $36 = HEAP32[$r2>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = HEAP32[$37>>2]|0; $39 = (($38) + (($35*40)|0)|0); - $40 = (($39) + 8|0); + $40 = ((($39)) + 8|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; $43 = $42 & 1; @@ -173269,10 +175212,10 @@ function _sqlite3VdbeSorterCompare($pCsr,$pVal,$nKeyCol,$pRes) { } else if ((label|0) == 10) { $48 = HEAP32[$2>>2]|0; - $49 = (($48) + 12|0); + $49 = ((($48)) + 12|0); $50 = HEAP32[$49>>2]|0; $51 = HEAP32[$2>>2]|0; - $52 = (($51) + 16|0); + $52 = ((($51)) + 16|0); $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$r2>>2]|0; $55 = (_sqlite3VdbeRecordCompare($50,$53,$54)|0); @@ -173282,7 +175225,7 @@ function _sqlite3VdbeSorterCompare($pCsr,$pVal,$nKeyCol,$pRes) { $57 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($57|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeSorterRowkey($pCsr,$pOut) { $pCsr = $pCsr|0; @@ -173300,7 +175243,7 @@ function _sqlite3VdbeSorterRowkey($pCsr,$pOut) { HEAP32[$1>>2] = $pCsr; HEAP32[$2>>2] = $pOut; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 56|0); + $4 = ((($3)) + 56|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSorter>>2] = $5; $6 = HEAP32[$pSorter>>2]|0; @@ -173317,20 +175260,20 @@ function _sqlite3VdbeSorterRowkey($pCsr,$pOut) { } else { $12 = HEAP32[$nKey>>2]|0; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP16[$16>>1]|0; $18 = $17&65535; $19 = $18 & -16896; $20 = $19 | 16; $21 = $20&65535; $22 = HEAP32[$2>>2]|0; - $23 = (($22) + 8|0); + $23 = ((($22)) + 8|0); HEAP16[$23>>1] = $21; $24 = HEAP32[$2>>2]|0; - $25 = (($24) + 16|0); + $25 = ((($24)) + 16|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$pKey>>2]|0; $28 = HEAP32[$nKey>>2]|0; @@ -173339,7 +175282,7 @@ function _sqlite3VdbeSorterRowkey($pCsr,$pOut) { $29 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($29|0); } - return 0|0; + return (0)|0; } function _sqlite3VtabImportErrmsg($p,$pVtab) { $p = $p|0; @@ -173358,23 +175301,23 @@ function _sqlite3VtabImportErrmsg($p,$pVtab) { HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 44|0); + $6 = ((($5)) + 44|0); $7 = HEAP32[$6>>2]|0; _sqlite3DbFree($4,$7); $8 = HEAP32[$db>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = (_sqlite3DbStrDup($8,$11)|0); $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 44|0); + $14 = ((($13)) + 44|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; _sqlite3_free($17); $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); HEAP32[$19>>2] = 0; STACKTOP = sp;return; } @@ -173401,7 +175344,7 @@ function _sqlite3VdbeCursorRestore($p) { $8 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($8|0); } - return 0|0; + return (0)|0; } function _sqlite3VdbeSorterRewind($pCsr,$pbEof) { $pCsr = $pCsr|0; @@ -173418,12 +175361,12 @@ function _sqlite3VdbeSorterRewind($pCsr,$pbEof) { HEAP32[$1>>2] = $pCsr; HEAP32[$2>>2] = $pbEof; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 56|0); + $4 = ((($3)) + 56|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSorter>>2] = $5; HEAP32[$rc>>2] = 0; $6 = HEAP32[$pSorter>>2]|0; - $7 = (($6) + 56|0); + $7 = ((($6)) + 56|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)==(0); @@ -173447,16 +175390,16 @@ function _sqlite3VdbeSorterRewind($pCsr,$pbEof) { $30 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($30|0); } - $12 = (($11) + 36|0); + $12 = ((($11)) + 36|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)!=(0|0); $15 = HEAP32[$2>>2]|0; if ($14) { HEAP32[$15>>2] = 0; $16 = HEAP32[$pSorter>>2]|0; - $17 = (($16) + 64|0); + $17 = ((($16)) + 64|0); $18 = HEAP32[$pSorter>>2]|0; - $19 = (($18) + 36|0); + $19 = ((($18)) + 36|0); $20 = (_vdbeSorterSort($17,$19)|0); HEAP32[$rc>>2] = $20; } else { @@ -173486,7 +175429,7 @@ function _sqlite3BtreeFirst($pCur,$pRes) { do { if ($5) { $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 73|0); + $7 = ((($6)) + 73|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)==(0); @@ -173525,16 +175468,16 @@ function _sqlite3VdbeSorterNext($db,$pCsr,$pbEof) { HEAP32[$1>>2] = $pCsr; HEAP32[$2>>2] = $pbEof; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 56|0); + $4 = ((($3)) + 56|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSorter>>2] = $5; $6 = HEAP32[$pSorter>>2]|0; - $7 = (($6) + 56|0); + $7 = ((($6)) + 56|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(0); $10 = HEAP32[$pSorter>>2]|0; if ($9) { - $11 = (($10) + 20|0); + $11 = ((($10)) + 20|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$2>>2]|0; $14 = (_vdbeMergeEngineStep($12,$13)|0); @@ -173542,21 +175485,21 @@ function _sqlite3VdbeSorterNext($db,$pCsr,$pbEof) { $38 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($38|0); } - $15 = (($10) + 36|0); + $15 = ((($10)) + 36|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pFree>>2] = $16; $17 = HEAP32[$pFree>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$pSorter>>2]|0; - $21 = (($20) + 36|0); + $21 = ((($20)) + 36|0); HEAP32[$21>>2] = $19; $22 = HEAP32[$pFree>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); HEAP32[$23>>2] = 0; $24 = HEAP32[$pSorter>>2]|0; - $25 = (($24) + 36|0); - $26 = (($25) + 4|0); + $25 = ((($24)) + 36|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); if ($28) { @@ -173565,7 +175508,7 @@ function _sqlite3VdbeSorterNext($db,$pCsr,$pbEof) { _vdbeSorterRecordFree($29,$30); } $31 = HEAP32[$pSorter>>2]|0; - $32 = (($31) + 36|0); + $32 = ((($31)) + 36|0); $33 = HEAP32[$32>>2]|0; $34 = ($33|0)!=(0|0); $35 = $34 ^ 1; @@ -173592,35 +175535,35 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $bFlush = 0, $nMin = 0, $nNew = 0, $nPMA = 0, $nReq = 0, $pNew = 0, $pSorter = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; + $0 = sp; + $1 = sp + 8|0; $2 = sp + 36|0; - $pSorter = sp + 32|0; - $rc = sp + 28|0; - $pNew = sp + 24|0; - $bFlush = sp + 20|0; - $nReq = sp + 16|0; - $nPMA = sp + 12|0; - $nMin = sp + 8|0; + $pSorter = sp + 16|0; + $rc = sp + 32|0; + $pNew = sp + 40|0; + $bFlush = sp + 44|0; + $nReq = sp + 24|0; + $nPMA = sp + 20|0; + $nMin = sp + 12|0; $aNew = sp + 4|0; - $nNew = sp; + $nNew = sp + 28|0; HEAP32[$1>>2] = $pCsr; HEAP32[$2>>2] = $pVal; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 56|0); + $4 = ((($3)) + 56|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSorter>>2] = $5; HEAP32[$rc>>2] = 0; $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + 8)|0; HEAP32[$nReq>>2] = $9; $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 12|0); + $11 = ((($10)) + 12|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)<(0); $17 = $16 << 31 >> 31; @@ -173628,28 +175571,28 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { $19 = (($12) + ($18))|0; HEAP32[$nPMA>>2] = $19; $20 = HEAP32[$pSorter>>2]|0; - $21 = (($20) + 4|0); + $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0); if ($23) { $24 = HEAP32[$pSorter>>2]|0; - $25 = (($24) + 36|0); - $26 = (($25) + 4|0); + $25 = ((($24)) + 36|0); + $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0|0); $29 = HEAP32[$pSorter>>2]|0; if ($28) { - $30 = (($29) + 48|0); + $30 = ((($29)) + 48|0); $31 = HEAP32[$30>>2]|0; $32 = ($31|0)!=(0); if ($32) { $33 = HEAP32[$pSorter>>2]|0; - $34 = (($33) + 48|0); + $34 = ((($33)) + 48|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[$nReq>>2]|0; $37 = (($35) + ($36))|0; $38 = HEAP32[$pSorter>>2]|0; - $39 = (($38) + 4|0); + $39 = ((($38)) + 4|0); $40 = HEAP32[$39>>2]|0; $41 = ($37|0)>($40|0); $43 = $41; @@ -173659,19 +175602,19 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { $42 = $43&1; HEAP32[$bFlush>>2] = $42; } else { - $44 = (($29) + 36|0); - $45 = (($44) + 8|0); + $44 = ((($29)) + 36|0); + $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$pSorter>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); $49 = HEAP32[$48>>2]|0; $50 = ($46|0)>($49|0); if ($50) { $61 = 1; } else { $51 = HEAP32[$pSorter>>2]|0; - $52 = (($51) + 36|0); - $53 = (($52) + 8|0); + $52 = ((($51)) + 36|0); + $53 = ((($52)) + 8|0); $54 = HEAP32[$53>>2]|0; $55 = HEAP32[$pSorter>>2]|0; $56 = HEAP32[$55>>2]|0; @@ -173694,54 +175637,54 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { $65 = (_vdbeSorterFlushPMA($64)|0); HEAP32[$rc>>2] = $65; $66 = HEAP32[$pSorter>>2]|0; - $67 = (($66) + 36|0); - $68 = (($67) + 8|0); + $67 = ((($66)) + 36|0); + $68 = ((($67)) + 8|0); HEAP32[$68>>2] = 0; $69 = HEAP32[$pSorter>>2]|0; - $70 = (($69) + 48|0); + $70 = ((($69)) + 48|0); HEAP32[$70>>2] = 0; } } $71 = HEAP32[$nPMA>>2]|0; $72 = HEAP32[$pSorter>>2]|0; - $73 = (($72) + 36|0); - $74 = (($73) + 8|0); + $73 = ((($72)) + 36|0); + $74 = ((($73)) + 8|0); $75 = HEAP32[$74>>2]|0; $76 = (($75) + ($71))|0; HEAP32[$74>>2] = $76; $77 = HEAP32[$nPMA>>2]|0; $78 = HEAP32[$pSorter>>2]|0; - $79 = (($78) + 8|0); + $79 = ((($78)) + 8|0); $80 = HEAP32[$79>>2]|0; $81 = ($77|0)>($80|0); if ($81) { $82 = HEAP32[$nPMA>>2]|0; $83 = HEAP32[$pSorter>>2]|0; - $84 = (($83) + 8|0); + $84 = ((($83)) + 8|0); HEAP32[$84>>2] = $82; } $85 = HEAP32[$pSorter>>2]|0; - $86 = (($85) + 36|0); - $87 = (($86) + 4|0); + $86 = ((($85)) + 36|0); + $87 = ((($86)) + 4|0); $88 = HEAP32[$87>>2]|0; $89 = ($88|0)!=(0|0); do { if ($89) { $90 = HEAP32[$pSorter>>2]|0; - $91 = (($90) + 48|0); + $91 = ((($90)) + 48|0); $92 = HEAP32[$91>>2]|0; $93 = HEAP32[$nReq>>2]|0; $94 = (($92) + ($93))|0; HEAP32[$nMin>>2] = $94; $95 = HEAP32[$nMin>>2]|0; $96 = HEAP32[$pSorter>>2]|0; - $97 = (($96) + 52|0); + $97 = ((($96)) + 52|0); $98 = HEAP32[$97>>2]|0; $99 = ($95|0)>($98|0); do { if ($99) { $100 = HEAP32[$pSorter>>2]|0; - $101 = (($100) + 52|0); + $101 = ((($100)) + 52|0); $102 = HEAP32[$101>>2]|0; $103 = $102<<1; HEAP32[$nNew>>2] = $103; @@ -173757,12 +175700,12 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { HEAP32[$nNew>>2] = $108; } $109 = HEAP32[$pSorter>>2]|0; - $110 = (($109) + 4|0); + $110 = ((($109)) + 4|0); $111 = HEAP32[$110>>2]|0; $112 = ($107|0)>($111|0); if ($112) { $113 = HEAP32[$pSorter>>2]|0; - $114 = (($113) + 4|0); + $114 = ((($113)) + 4|0); $115 = HEAP32[$114>>2]|0; HEAP32[$nNew>>2] = $115; } @@ -173774,8 +175717,8 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { HEAP32[$nNew>>2] = $119; } $120 = HEAP32[$pSorter>>2]|0; - $121 = (($120) + 36|0); - $122 = (($121) + 4|0); + $121 = ((($120)) + 36|0); + $122 = ((($121)) + 4|0); $123 = HEAP32[$122>>2]|0; $124 = HEAP32[$nNew>>2]|0; $125 = ($124|0)<(0); @@ -173787,27 +175730,27 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { if ($129) { $130 = HEAP32[$aNew>>2]|0; $131 = HEAP32[$pSorter>>2]|0; - $132 = (($131) + 36|0); + $132 = ((($131)) + 36|0); $133 = HEAP32[$132>>2]|0; $134 = HEAP32[$pSorter>>2]|0; - $135 = (($134) + 36|0); - $136 = (($135) + 4|0); + $135 = ((($134)) + 36|0); + $136 = ((($135)) + 4|0); $137 = HEAP32[$136>>2]|0; $138 = $133; $139 = $137; $140 = (($138) - ($139))|0; $141 = (($130) + ($140)|0); $142 = HEAP32[$pSorter>>2]|0; - $143 = (($142) + 36|0); + $143 = ((($142)) + 36|0); HEAP32[$143>>2] = $141; $144 = HEAP32[$aNew>>2]|0; $145 = HEAP32[$pSorter>>2]|0; - $146 = (($145) + 36|0); - $147 = (($146) + 4|0); + $146 = ((($145)) + 36|0); + $147 = ((($146)) + 4|0); HEAP32[$147>>2] = $144; $148 = HEAP32[$nNew>>2]|0; $149 = HEAP32[$pSorter>>2]|0; - $150 = (($149) + 52|0); + $150 = ((($149)) + 52|0); HEAP32[$150>>2] = $148; break; } @@ -173817,11 +175760,11 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { } } while(0); $151 = HEAP32[$pSorter>>2]|0; - $152 = (($151) + 48|0); + $152 = ((($151)) + 48|0); $153 = HEAP32[$152>>2]|0; $154 = HEAP32[$pSorter>>2]|0; - $155 = (($154) + 36|0); - $156 = (($155) + 4|0); + $155 = ((($154)) + 36|0); + $156 = ((($155)) + 4|0); $157 = HEAP32[$156>>2]|0; $158 = (($157) + ($153)|0); HEAP32[$pNew>>2] = $158; @@ -173829,22 +175772,22 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { $160 = (($159) + 7)|0; $161 = $160 & -8; $162 = HEAP32[$pSorter>>2]|0; - $163 = (($162) + 48|0); + $163 = ((($162)) + 48|0); $164 = HEAP32[$163>>2]|0; $165 = (($164) + ($161))|0; HEAP32[$163>>2] = $165; $166 = HEAP32[$pSorter>>2]|0; - $167 = (($166) + 36|0); + $167 = ((($166)) + 36|0); $168 = HEAP32[$167>>2]|0; $169 = HEAP32[$pSorter>>2]|0; - $170 = (($169) + 36|0); - $171 = (($170) + 4|0); + $170 = ((($169)) + 36|0); + $171 = ((($170)) + 4|0); $172 = HEAP32[$171>>2]|0; $173 = $168; $174 = $172; $175 = (($173) - ($174))|0; $176 = HEAP32[$pNew>>2]|0; - $177 = (($176) + 4|0); + $177 = ((($176)) + 4|0); HEAP32[$177>>2] = $175; } else { $178 = HEAP32[$nReq>>2]|0; @@ -173856,10 +175799,10 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { $183 = ($182|0)==(0|0); if (!($183)) { $184 = HEAP32[$pSorter>>2]|0; - $185 = (($184) + 36|0); + $185 = ((($184)) + 36|0); $186 = HEAP32[$185>>2]|0; $187 = HEAP32[$pNew>>2]|0; - $188 = (($187) + 4|0); + $188 = ((($187)) + 4|0); HEAP32[$188>>2] = $186; break; } @@ -173869,22 +175812,22 @@ function _sqlite3VdbeSorterWrite($pCsr,$pVal) { } } while(0); $189 = HEAP32[$pNew>>2]|0; - $190 = (($189) + 8|0); + $190 = ((($189)) + 8|0); $191 = HEAP32[$2>>2]|0; - $192 = (($191) + 16|0); + $192 = ((($191)) + 16|0); $193 = HEAP32[$192>>2]|0; $194 = HEAP32[$2>>2]|0; - $195 = (($194) + 12|0); + $195 = ((($194)) + 12|0); $196 = HEAP32[$195>>2]|0; _memcpy(($190|0),($193|0),($196|0))|0; $197 = HEAP32[$2>>2]|0; - $198 = (($197) + 12|0); + $198 = ((($197)) + 12|0); $199 = HEAP32[$198>>2]|0; $200 = HEAP32[$pNew>>2]|0; HEAP32[$200>>2] = $199; $201 = HEAP32[$pNew>>2]|0; $202 = HEAP32[$pSorter>>2]|0; - $203 = (($202) + 36|0); + $203 = ((($202)) + 36|0); HEAP32[$203>>2] = $201; $204 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $204; @@ -173902,17 +175845,17 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $lenRowid = 0, $m = 0, $nCellKey = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $szHdr = 0, $typeRowid = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $3 = sp + 104|0; - $nCellKey = sp + 80|0; - $rc = sp + 100|0; - $szHdr = sp + 96|0; + $0 = sp + 108|0; + $1 = sp + 104|0; + $2 = sp + 96|0; + $3 = sp + 100|0; + $nCellKey = sp + 40|0; + $rc = sp + 116|0; + $szHdr = sp + 112|0; $typeRowid = sp + 92|0; $lenRowid = sp + 88|0; - $m = sp + 40|0; - $v = sp; + $m = sp; + $v = sp + 48|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pCur; HEAP32[$3>>2] = $rowid; @@ -173943,12 +175886,12 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { $85 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($85|0); } - $21 = (($m) + 16|0); + $21 = ((($m)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = ($24|0)<(128); - $26 = (($m) + 16|0); + $26 = ((($m)) + 16|0); $27 = HEAP32[$26>>2]|0; if ($25) { $28 = HEAP8[$27>>0]|0; @@ -173961,13 +175904,13 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { $31 = ($30>>>0)<(3); if (!($31)) { $32 = HEAP32[$szHdr>>2]|0; - $33 = (($m) + 12|0); + $33 = ((($m)) + 12|0); $34 = HEAP32[$33>>2]|0; $35 = ($32|0)>($34|0); if (!($35)) { $36 = HEAP32[$szHdr>>2]|0; $37 = (($36) - 1)|0; - $38 = (($m) + 16|0); + $38 = ((($m)) + 16|0); $39 = HEAP32[$38>>2]|0; $40 = (($39) + ($37)|0); $41 = HEAP8[$40>>0]|0; @@ -173975,7 +175918,7 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { $43 = ($42|0)<(128); $44 = HEAP32[$szHdr>>2]|0; $45 = (($44) - 1)|0; - $46 = (($m) + 16|0); + $46 = ((($m)) + 16|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + ($45)|0); if ($43) { @@ -173997,18 +175940,18 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { $57 = HEAP32[$typeRowid>>2]|0; $58 = (_sqlite3VdbeSerialTypeLen($57)|0); HEAP32[$lenRowid>>2] = $58; - $59 = (($m) + 12|0); + $59 = ((($m)) + 12|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$szHdr>>2]|0; $62 = HEAP32[$lenRowid>>2]|0; $63 = (($61) + ($62))|0; $64 = ($60>>>0)<($63>>>0); if (!($64)) { - $65 = (($m) + 12|0); + $65 = ((($m)) + 12|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$lenRowid>>2]|0; $68 = (($66) - ($67))|0; - $69 = (($m) + 16|0); + $69 = ((($m)) + 16|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + ($68)|0); $72 = HEAP32[$typeRowid>>2]|0; @@ -174051,15 +175994,15 @@ function _sqlite3VdbeIdxKeyCompare($db,$pC,$pUnpacked,$res) { var $pCur = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $3 = sp + 60|0; - $4 = sp + 56|0; - $nCellKey = sp + 40|0; + $0 = sp + 56|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $3 = sp + 48|0; + $4 = sp + 72|0; + $nCellKey = sp; $rc = sp + 52|0; - $pCur = sp + 48|0; - $m = sp; + $pCur = sp + 68|0; + $m = sp + 8|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pC; HEAP32[$3>>2] = $pUnpacked; @@ -174126,9 +176069,9 @@ function _sqlite3VdbeIdxKeyCompare($db,$pC,$pUnpacked,$res) { $56 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($56|0); } else { - $49 = (($m) + 12|0); + $49 = ((($m)) + 12|0); $50 = HEAP32[$49>>2]|0; - $51 = (($m) + 16|0); + $51 = ((($m)) + 16|0); $52 = HEAP32[$51>>2]|0; $53 = HEAP32[$3>>2]|0; $54 = (_sqlite3VdbeRecordCompare($50,$52,$53)|0); @@ -174139,7 +176082,7 @@ function _sqlite3VdbeIdxKeyCompare($db,$pC,$pUnpacked,$res) { $56 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($56|0); } - return 0|0; + return (0)|0; } function _sqlite3BtreeDropTable($p,$iTable,$piMoved) { $p = $p|0; @@ -174175,32 +176118,32 @@ function _sqlite3RootPageMoved($db,$iDb,$iFrom,$iTo) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDb = 0, $pElem = 0, $pHash = 0, $pIdx = 0, $pTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pElem = sp + 16|0; - $pHash = sp + 12|0; - $pDb = sp + 8|0; - $pTab = sp + 4|0; - $pIdx = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $pElem = sp + 32|0; + $pHash = sp; + $pDb = sp + 12|0; + $pTab = sp + 24|0; + $pIdx = sp + 20|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $iDb; HEAP32[$2>>2] = $iFrom; HEAP32[$3>>2] = $iTo; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 16|0); + $6 = ((($5)) + 16|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + ($4<<4)|0); HEAP32[$pDb>>2] = $8; $9 = HEAP32[$pDb>>2]|0; - $10 = (($9) + 12|0); + $10 = ((($9)) + 12|0); $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); HEAP32[$pHash>>2] = $12; $13 = HEAP32[$pHash>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; HEAP32[$pElem>>2] = $15; while(1) { @@ -174210,18 +176153,18 @@ function _sqlite3RootPageMoved($db,$iDb,$iFrom,$iTo) { break; } $18 = HEAP32[$pElem>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pTab>>2] = $20; $21 = HEAP32[$pTab>>2]|0; - $22 = (($21) + 32|0); + $22 = ((($21)) + 32|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$2>>2]|0; $25 = ($23|0)==($24|0); if ($25) { $26 = HEAP32[$3>>2]|0; $27 = HEAP32[$pTab>>2]|0; - $28 = (($27) + 32|0); + $28 = ((($27)) + 32|0); HEAP32[$28>>2] = $26; } $29 = HEAP32[$pElem>>2]|0; @@ -174229,12 +176172,12 @@ function _sqlite3RootPageMoved($db,$iDb,$iFrom,$iTo) { HEAP32[$pElem>>2] = $30; } $31 = HEAP32[$pDb>>2]|0; - $32 = (($31) + 12|0); + $32 = ((($31)) + 12|0); $33 = HEAP32[$32>>2]|0; - $34 = (($33) + 24|0); + $34 = ((($33)) + 24|0); HEAP32[$pHash>>2] = $34; $35 = HEAP32[$pHash>>2]|0; - $36 = (($35) + 8|0); + $36 = ((($35)) + 8|0); $37 = HEAP32[$36>>2]|0; HEAP32[$pElem>>2] = $37; while(1) { @@ -174244,18 +176187,18 @@ function _sqlite3RootPageMoved($db,$iDb,$iFrom,$iTo) { break; } $40 = HEAP32[$pElem>>2]|0; - $41 = (($40) + 8|0); + $41 = ((($40)) + 8|0); $42 = HEAP32[$41>>2]|0; HEAP32[$pIdx>>2] = $42; $43 = HEAP32[$pIdx>>2]|0; - $44 = (($43) + 44|0); + $44 = ((($43)) + 44|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$2>>2]|0; $47 = ($45|0)==($46|0); if ($47) { $48 = HEAP32[$3>>2]|0; $49 = HEAP32[$pIdx>>2]|0; - $50 = (($49) + 44|0); + $50 = ((($49)) + 44|0); HEAP32[$50>>2] = $48; } $51 = HEAP32[$pElem>>2]|0; @@ -174281,7 +176224,7 @@ function _sqlite3BtreeClearTable($p,$iTable,$pnChange) { HEAP32[$1>>2] = $iTable; HEAP32[$2>>2] = $pnChange; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pBt>>2] = $5; $6 = HEAP32[$0>>2]|0; @@ -174321,17 +176264,17 @@ function _sqlite3VdbeSorterReset($db,$pSorter) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $pSorter; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 20|0); + $3 = ((($2)) + 20|0); $4 = HEAP32[$3>>2]|0; _vdbeMergeEngineFree($4); $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 20|0); + $6 = ((($5)) + 20|0); HEAP32[$6>>2] = 0; HEAP32[$i>>2] = 0; while(1) { $7 = HEAP32[$i>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 59|0); + $9 = ((($8)) + 59|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = ($7|0)<($11|0); @@ -174340,7 +176283,7 @@ function _sqlite3VdbeSorterReset($db,$pSorter) { } $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 64|0); + $15 = ((($14)) + 64|0); $16 = (($15) + ($13<<6)|0); HEAP32[$pTask>>2] = $16; $17 = HEAP32[$0>>2]|0; @@ -174351,39 +176294,39 @@ function _sqlite3VdbeSorterReset($db,$pSorter) { HEAP32[$i>>2] = $20; } $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 36|0); - $23 = (($22) + 4|0); + $22 = ((($21)) + 36|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)==(0|0); if ($25) { $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 36|0); + $27 = ((($26)) + 36|0); $28 = HEAP32[$27>>2]|0; _vdbeSorterRecordFree(0,$28); } $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 36|0); + $30 = ((($29)) + 36|0); HEAP32[$30>>2] = 0; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 36|0); - $33 = (($32) + 8|0); + $32 = ((($31)) + 36|0); + $33 = ((($32)) + 8|0); HEAP32[$33>>2] = 0; $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 56|0); + $35 = ((($34)) + 56|0); HEAP8[$35>>0] = 0; $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 48|0); + $37 = ((($36)) + 48|0); HEAP32[$37>>2] = 0; $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 8|0); + $39 = ((($38)) + 8|0); HEAP32[$39>>2] = 0; $40 = HEAP32[$0>>2]|0; $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 32|0); + $42 = ((($41)) + 32|0); $43 = HEAP32[$42>>2]|0; _sqlite3DbFree($40,$43); $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 32|0); + $45 = ((($44)) + 32|0); HEAP32[$45>>2] = 0; STACKTOP = sp;return; } @@ -174397,7 +176340,7 @@ function _sqlite3BtreeClearTableOfCursor($pCur) { $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 60|0); + $4 = ((($3)) + 60|0); $5 = HEAP32[$4>>2]|0; $6 = (_sqlite3BtreeClearTable($2,$5,0)|0); STACKTOP = sp;return ($6|0); @@ -174420,14 +176363,14 @@ function _sqlite3UnlinkAndDeleteTable($db,$iDb,$zTabName) { HEAP32[$2>>2] = $zTabName; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + ($3<<4)|0); HEAP32[$pDb>>2] = $7; $8 = HEAP32[$pDb>>2]|0; - $9 = (($8) + 12|0); + $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$2>>2]|0; $13 = (_sqlite3HashInsert($11,$12,0)|0); HEAP32[$p>>2] = $13; @@ -174435,7 +176378,7 @@ function _sqlite3UnlinkAndDeleteTable($db,$iDb,$zTabName) { $15 = HEAP32[$p>>2]|0; _sqlite3DeleteTable($14,$15); $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 24|0); + $17 = ((($16)) + 24|0); $18 = HEAP32[$17>>2]|0; $19 = $18 | 2; HEAP32[$17>>2] = $19; @@ -174462,12 +176405,12 @@ function _sqlite3UnlinkAndDeleteIndex($db,$iDb,$zIdxName) { HEAP32[$2>>2] = $zIdxName; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + ($3<<4)|0); - $8 = (($7) + 12|0); + $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 24|0); + $10 = ((($9)) + 24|0); HEAP32[$pHash>>2] = $10; $11 = HEAP32[$pHash>>2]|0; $12 = HEAP32[$2>>2]|0; @@ -174477,32 +176420,32 @@ function _sqlite3UnlinkAndDeleteIndex($db,$iDb,$zIdxName) { $15 = ($14|0)!=(0|0); if (!($15)) { $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 24|0); + $58 = ((($57)) + 24|0); $59 = HEAP32[$58>>2]|0; $60 = $59 | 2; HEAP32[$58>>2] = $60; STACKTOP = sp;return; } $16 = HEAP32[$pIndex>>2]|0; - $17 = (($16) + 12|0); + $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$pIndex>>2]|0; $22 = ($20|0)==($21|0); $23 = HEAP32[$pIndex>>2]|0; if ($22) { - $24 = (($23) + 20|0); + $24 = ((($23)) + 20|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$pIndex>>2]|0; - $27 = (($26) + 12|0); + $27 = ((($26)) + 12|0); $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 8|0); + $29 = ((($28)) + 8|0); HEAP32[$29>>2] = $25; } else { - $30 = (($23) + 12|0); + $30 = ((($23)) + 12|0); $31 = HEAP32[$30>>2]|0; - $32 = (($31) + 8|0); + $32 = ((($31)) + 8|0); $33 = HEAP32[$32>>2]|0; HEAP32[$p>>2] = $33; while(1) { @@ -174510,7 +176453,7 @@ function _sqlite3UnlinkAndDeleteIndex($db,$iDb,$zIdxName) { $35 = ($34|0)!=(0|0); if ($35) { $36 = HEAP32[$p>>2]|0; - $37 = (($36) + 20|0); + $37 = ((($36)) + 20|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$pIndex>>2]|0; $40 = ($38|0)!=($39|0); @@ -174522,23 +176465,23 @@ function _sqlite3UnlinkAndDeleteIndex($db,$iDb,$zIdxName) { if (!($61)) { break; } - $42 = (($41) + 20|0); + $42 = ((($41)) + 20|0); $43 = HEAP32[$42>>2]|0; HEAP32[$p>>2] = $43; } $44 = ($41|0)!=(0|0); if ($44) { $45 = HEAP32[$p>>2]|0; - $46 = (($45) + 20|0); + $46 = ((($45)) + 20|0); $47 = HEAP32[$46>>2]|0; $48 = HEAP32[$pIndex>>2]|0; $49 = ($47|0)==($48|0); if ($49) { $50 = HEAP32[$pIndex>>2]|0; - $51 = (($50) + 20|0); + $51 = ((($50)) + 20|0); $52 = HEAP32[$51>>2]|0; $53 = HEAP32[$p>>2]|0; - $54 = (($53) + 20|0); + $54 = ((($53)) + 20|0); HEAP32[$54>>2] = $52; } } @@ -174547,7 +176490,7 @@ function _sqlite3UnlinkAndDeleteIndex($db,$iDb,$zIdxName) { $56 = HEAP32[$pIndex>>2]|0; _freeIndex($55,$56); $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 24|0); + $58 = ((($57)) + 24|0); $59 = HEAP32[$58>>2]|0; $60 = $59 | 2; HEAP32[$58>>2] = $60; @@ -174562,24 +176505,24 @@ function _sqlite3UnlinkAndDeleteTrigger($db,$iDb,$zName) { var $8 = 0, $9 = 0, $pHash = 0, $pTab = 0, $pTrigger = 0, $pp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pTrigger = sp + 12|0; - $pHash = sp + 8|0; - $pTab = sp + 4|0; - $pp = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $pTrigger = sp + 24|0; + $pHash = sp + 4|0; + $pTab = sp; + $pp = sp + 12|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $iDb; HEAP32[$2>>2] = $zName; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 16|0); + $5 = ((($4)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + ($3<<4)|0); - $8 = (($7) + 12|0); + $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 40|0); + $10 = ((($9)) + 40|0); HEAP32[$pHash>>2] = $10; $11 = HEAP32[$pHash>>2]|0; $12 = HEAP32[$2>>2]|0; @@ -174591,10 +176534,10 @@ function _sqlite3UnlinkAndDeleteTrigger($db,$iDb,$zName) { STACKTOP = sp;return; } $16 = HEAP32[$pTrigger>>2]|0; - $17 = (($16) + 20|0); + $17 = ((($16)) + 20|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$pTrigger>>2]|0; - $20 = (($19) + 24|0); + $20 = ((($19)) + 24|0); $21 = HEAP32[$20>>2]|0; $22 = ($18|0)==($21|0); if ($22) { @@ -174602,7 +176545,7 @@ function _sqlite3UnlinkAndDeleteTrigger($db,$iDb,$zName) { $24 = (_tableOfTrigger($23)|0); HEAP32[$pTab>>2] = $24; $25 = HEAP32[$pTab>>2]|0; - $26 = (($25) + 64|0); + $26 = ((($25)) + 64|0); HEAP32[$pp>>2] = $26; while(1) { $27 = HEAP32[$pp>>2]|0; @@ -174611,7 +176554,7 @@ function _sqlite3UnlinkAndDeleteTrigger($db,$iDb,$zName) { $30 = ($28|0)!=($29|0); $31 = HEAP32[$pp>>2]|0; $32 = HEAP32[$31>>2]|0; - $33 = (($32) + 32|0); + $33 = ((($32)) + 32|0); if (!($30)) { break; } @@ -174625,7 +176568,7 @@ function _sqlite3UnlinkAndDeleteTrigger($db,$iDb,$zName) { $37 = HEAP32[$pTrigger>>2]|0; _sqlite3DeleteTrigger($36,$37); $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 24|0); + $39 = ((($38)) + 24|0); $40 = HEAP32[$39>>2]|0; $41 = $40 | 2; HEAP32[$39>>2] = $41; @@ -174640,33 +176583,36 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $nRef = 0, $pBt = 0, $sCheck = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, $zErr = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $nRef = 0, $pBt = 0, $sCheck = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, $zErr = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; - $vararg_buffer4 = sp; - $0 = sp + 108|0; - $1 = sp + 104|0; - $2 = sp + 100|0; - $3 = sp + 96|0; - $4 = sp + 92|0; - $5 = sp + 88|0; - $i = sp + 84|0; - $nRef = sp + 80|0; - $sCheck = sp + 12|0; - $pBt = sp + 8|0; - $zErr = sp + 112|0; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer1 = sp; + $vararg_buffer = sp + 16|0; + $0 = sp + 20|0; + $1 = sp + 36|0; + $2 = sp + 24|0; + $3 = sp + 28|0; + $4 = sp + 120|0; + $5 = sp + 40|0; + $i = sp + 44|0; + $nRef = sp + 48|0; + $sCheck = sp + 52|0; + $pBt = sp + 32|0; + $zErr = sp + 124|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $aRoot; HEAP32[$3>>2] = $nRoot; HEAP32[$4>>2] = $mxErr; HEAP32[$5>>2] = $pnErr; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pBt>>2] = $8; $9 = HEAP32[$1>>2]|0; @@ -174679,258 +176625,254 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { HEAP32[$sCheck>>2] = $13; $14 = HEAP32[$pBt>>2]|0; $15 = HEAP32[$14>>2]|0; - $16 = (($sCheck) + 4|0); + $16 = ((($sCheck)) + 4|0); HEAP32[$16>>2] = $15; $17 = HEAP32[$sCheck>>2]|0; $18 = (_btreePagecount($17)|0); - $19 = (($sCheck) + 12|0); + $19 = ((($sCheck)) + 12|0); HEAP32[$19>>2] = $18; $20 = HEAP32[$4>>2]|0; - $21 = (($sCheck) + 16|0); + $21 = ((($sCheck)) + 16|0); HEAP32[$21>>2] = $20; - $22 = (($sCheck) + 20|0); + $22 = ((($sCheck)) + 20|0); HEAP32[$22>>2] = 0; - $23 = (($sCheck) + 24|0); + $23 = ((($sCheck)) + 24|0); HEAP32[$23>>2] = 0; - $24 = (($sCheck) + 28|0); + $24 = ((($sCheck)) + 28|0); HEAP32[$24>>2] = 0; - $25 = (($sCheck) + 32|0); + $25 = ((($sCheck)) + 32|0); HEAP32[$25>>2] = 0; - $26 = (($sCheck) + 36|0); + $26 = ((($sCheck)) + 36|0); HEAP32[$26>>2] = 0; $27 = HEAP32[$5>>2]|0; HEAP32[$27>>2] = 0; - $28 = (($sCheck) + 12|0); + $28 = ((($sCheck)) + 12|0); $29 = HEAP32[$28>>2]|0; $30 = ($29|0)==(0); if ($30) { HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + $170 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($170|0); } - $31 = (($sCheck) + 12|0); + $31 = ((($sCheck)) + 12|0); $32 = HEAP32[$31>>2]|0; $33 = (($32>>>0) / 8)&-1; $34 = (($33) + 1)|0; $35 = (_sqlite3MallocZero($34,0)|0); - $36 = (($sCheck) + 8|0); + $36 = ((($sCheck)) + 8|0); HEAP32[$36>>2] = $35; - $37 = (($sCheck) + 8|0); + $37 = ((($sCheck)) + 8|0); $38 = HEAP32[$37>>2]|0; $39 = ($38|0)!=(0|0); if (!($39)) { $40 = HEAP32[$5>>2]|0; HEAP32[$40>>2] = 1; HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + $170 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($170|0); } - $41 = HEAP32[1128>>2]|0; + $41 = HEAP32[916>>2]|0; $42 = HEAP32[$pBt>>2]|0; - $43 = (($42) + 32|0); + $43 = ((($42)) + 32|0); $44 = HEAP32[$43>>2]|0; $45 = (($41>>>0) / ($44>>>0))&-1; $46 = (($45) + 1)|0; HEAP32[$i>>2] = $46; $47 = HEAP32[$i>>2]|0; - $48 = (($sCheck) + 12|0); + $48 = ((($sCheck)) + 12|0); $49 = HEAP32[$48>>2]|0; $50 = ($47>>>0)<=($49>>>0); if ($50) { $51 = HEAP32[$i>>2]|0; _setPageReferenced($sCheck,$51); } - $52 = (($sCheck) + 40|0); + $52 = ((($sCheck)) + 40|0); _sqlite3StrAccumInit($52,$zErr,100,1000000000); - $53 = (($sCheck) + 40|0); - $54 = (($53) + 24|0); + $53 = ((($sCheck)) + 40|0); + $54 = ((($53)) + 24|0); HEAP8[$54>>0] = 2; - $55 = (($sCheck) + 28|0); - HEAP32[$55>>2] = 33320; + $55 = ((($sCheck)) + 28|0); + HEAP32[$55>>2] = 32951; $56 = HEAP32[$pBt>>2]|0; - $57 = (($56) + 12|0); + $57 = ((($56)) + 12|0); $58 = HEAP32[$57>>2]|0; - $59 = (($58) + 56|0); + $59 = ((($58)) + 56|0); $60 = HEAP32[$59>>2]|0; - $61 = (($60) + 32|0); + $61 = ((($60)) + 32|0); $62 = (_sqlite3Get4byte($61)|0); $63 = HEAP32[$pBt>>2]|0; - $64 = (($63) + 12|0); + $64 = ((($63)) + 12|0); $65 = HEAP32[$64>>2]|0; - $66 = (($65) + 56|0); + $66 = ((($65)) + 56|0); $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 36|0); + $68 = ((($67)) + 36|0); $69 = (_sqlite3Get4byte($68)|0); _checkList($sCheck,1,$62,$69); - $70 = (($sCheck) + 28|0); + $70 = ((($sCheck)) + 28|0); HEAP32[$70>>2] = 0; HEAP32[$i>>2] = 0; while(1) { $71 = HEAP32[$i>>2]|0; $72 = HEAP32[$3>>2]|0; $73 = ($71|0)<($72|0); - if (!($73)) { - break; - } - $74 = (($sCheck) + 16|0); + $74 = ((($sCheck)) + 16|0); $75 = HEAP32[$74>>2]|0; $76 = ($75|0)!=(0); - if (!($76)) { + $77 = $73 ? $76 : 0; + if (!($77)) { break; } - $77 = HEAP32[$i>>2]|0; - $78 = HEAP32[$2>>2]|0; - $79 = (($78) + ($77<<2)|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(0); - if (!($81)) { - $82 = HEAP32[$pBt>>2]|0; - $83 = (($82) + 17|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$i>>2]|0; - $88 = HEAP32[$2>>2]|0; - $89 = (($88) + ($87<<2)|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)>(1); - if ($91) { - $92 = HEAP32[$i>>2]|0; - $93 = HEAP32[$2>>2]|0; - $94 = (($93) + ($92<<2)|0); - $95 = HEAP32[$94>>2]|0; - _checkPtrmap($sCheck,$95,1,0); + $78 = HEAP32[$i>>2]|0; + $79 = HEAP32[$2>>2]|0; + $80 = (($79) + ($78<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==(0); + if (!($82)) { + $83 = HEAP32[$pBt>>2]|0; + $84 = ((($83)) + 17|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = ($86|0)!=(0); + if ($87) { + $88 = HEAP32[$i>>2]|0; + $89 = HEAP32[$2>>2]|0; + $90 = (($89) + ($88<<2)|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1); + if ($92) { + $93 = HEAP32[$i>>2]|0; + $94 = HEAP32[$2>>2]|0; + $95 = (($94) + ($93<<2)|0); + $96 = HEAP32[$95>>2]|0; + _checkPtrmap($sCheck,$96,1,0); } } - $96 = (($sCheck) + 28|0); - HEAP32[$96>>2] = 33336; - $97 = HEAP32[$i>>2]|0; - $98 = HEAP32[$2>>2]|0; - $99 = (($98) + ($97<<2)|0); - $100 = HEAP32[$99>>2]|0; - (_checkTreePage($sCheck,$100,0,0)|0); - $101 = (($sCheck) + 28|0); - HEAP32[$101>>2] = 0; + $97 = ((($sCheck)) + 28|0); + HEAP32[$97>>2] = 32967; + $98 = HEAP32[$i>>2]|0; + $99 = HEAP32[$2>>2]|0; + $100 = (($99) + ($98<<2)|0); + $101 = HEAP32[$100>>2]|0; + (_checkTreePage($sCheck,$101,0,0)|0); + $102 = ((($sCheck)) + 28|0); + HEAP32[$102>>2] = 0; } - $102 = HEAP32[$i>>2]|0; - $103 = (($102) + 1)|0; - HEAP32[$i>>2] = $103; + $103 = HEAP32[$i>>2]|0; + $104 = (($103) + 1)|0; + HEAP32[$i>>2] = $104; } HEAP32[$i>>2] = 1; while(1) { - $104 = HEAP32[$i>>2]|0; - $105 = (($sCheck) + 12|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($104>>>0)<=($106>>>0); - if (!($107)) { - break; - } - $108 = (($sCheck) + 16|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)!=(0); - if (!($110)) { + $105 = HEAP32[$i>>2]|0; + $106 = ((($sCheck)) + 12|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($105>>>0)<=($107>>>0); + $109 = ((($sCheck)) + 16|0); + $110 = HEAP32[$109>>2]|0; + $111 = ($110|0)!=(0); + $112 = $108 ? $111 : 0; + if (!($112)) { break; } - $111 = HEAP32[$i>>2]|0; - $112 = (_getPageReferenced($sCheck,$111)|0); - $113 = ($112|0)==(0); + $113 = HEAP32[$i>>2]|0; + $114 = (_getPageReferenced($sCheck,$113)|0); + $115 = ($114|0)==(0); do { - if ($113) { - $114 = HEAP32[$pBt>>2]|0; - $115 = HEAP32[$i>>2]|0; - $116 = (_ptrmapPageno($114,$115)|0); + if ($115) { + $116 = HEAP32[$pBt>>2]|0; $117 = HEAP32[$i>>2]|0; - $118 = ($116|0)!=($117|0); - if (!($118)) { - $119 = HEAP32[$pBt>>2]|0; - $120 = (($119) + 17|0); - $121 = HEAP8[$120>>0]|0; - $122 = ($121<<24>>24)!=(0); - if ($122) { + $118 = (_ptrmapPageno($116,$117)|0); + $119 = HEAP32[$i>>2]|0; + $120 = ($118|0)!=($119|0); + if (!($120)) { + $121 = HEAP32[$pBt>>2]|0; + $122 = ((($121)) + 17|0); + $123 = HEAP8[$122>>0]|0; + $124 = ($123<<24>>24)!=(0); + if ($124) { break; } } - $123 = HEAP32[$i>>2]|0; - HEAP32[$vararg_buffer4>>2] = $123; - _checkAppendMsg($sCheck,33360,$vararg_buffer4); + $125 = HEAP32[$i>>2]|0; + HEAP32[$vararg_buffer>>2] = $125; + _checkAppendMsg($sCheck,32988,$vararg_buffer); } } while(0); - $124 = HEAP32[$i>>2]|0; - $125 = (_getPageReferenced($sCheck,$124)|0); - $126 = ($125|0)!=(0); - if ($126) { - $127 = HEAP32[$pBt>>2]|0; - $128 = HEAP32[$i>>2]|0; - $129 = (_ptrmapPageno($127,$128)|0); + $126 = HEAP32[$i>>2]|0; + $127 = (_getPageReferenced($sCheck,$126)|0); + $128 = ($127|0)!=(0); + if ($128) { + $129 = HEAP32[$pBt>>2]|0; $130 = HEAP32[$i>>2]|0; - $131 = ($129|0)==($130|0); - if ($131) { - $132 = HEAP32[$pBt>>2]|0; - $133 = (($132) + 17|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = ($135|0)!=(0); - if ($136) { - $137 = HEAP32[$i>>2]|0; - HEAP32[$vararg_buffer4>>2] = $137; - _checkAppendMsg($sCheck,33384,$vararg_buffer4); + $131 = (_ptrmapPageno($129,$130)|0); + $132 = HEAP32[$i>>2]|0; + $133 = ($131|0)==($132|0); + if ($133) { + $134 = HEAP32[$pBt>>2]|0; + $135 = ((($134)) + 17|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ($137|0)!=(0); + if ($138) { + $139 = HEAP32[$i>>2]|0; + HEAP32[$vararg_buffer1>>2] = $139; + _checkAppendMsg($sCheck,33010,$vararg_buffer1); } } } - $138 = HEAP32[$i>>2]|0; - $139 = (($138) + 1)|0; - HEAP32[$i>>2] = $139; + $140 = HEAP32[$i>>2]|0; + $141 = (($140) + 1)|0; + HEAP32[$i>>2] = $141; } - $140 = HEAP32[$nRef>>2]|0; - $141 = HEAP32[$pBt>>2]|0; - $142 = HEAP32[$141>>2]|0; - $143 = (_sqlite3PagerRefcount($142)|0); - $144 = ($140|0)!=($143|0); - if ($144) { - $145 = HEAP32[$nRef>>2]|0; - $146 = HEAP32[$pBt>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = (_sqlite3PagerRefcount($147)|0); - HEAP32[$vararg_buffer4>>2] = $145; - $vararg_ptr7 = (($vararg_buffer4) + 4|0); - HEAP32[$vararg_ptr7>>2] = $148; - _checkAppendMsg($sCheck,33424,$vararg_buffer4); - } - $149 = (($sCheck) + 8|0); - $150 = HEAP32[$149>>2]|0; - _sqlite3_free($150); - $151 = (($sCheck) + 24|0); + $142 = HEAP32[$nRef>>2]|0; + $143 = HEAP32[$pBt>>2]|0; + $144 = HEAP32[$143>>2]|0; + $145 = (_sqlite3PagerRefcount($144)|0); + $146 = ($142|0)!=($145|0); + if ($146) { + $147 = HEAP32[$nRef>>2]|0; + $148 = HEAP32[$pBt>>2]|0; + $149 = HEAP32[$148>>2]|0; + $150 = (_sqlite3PagerRefcount($149)|0); + HEAP32[$vararg_buffer4>>2] = $147; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $150; + _checkAppendMsg($sCheck,33044,$vararg_buffer4); + } + $151 = ((($sCheck)) + 8|0); $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)!=(0); - if ($153) { - $154 = (($sCheck) + 40|0); - _sqlite3StrAccumReset($154); - $155 = (($sCheck) + 20|0); - $156 = HEAP32[$155>>2]|0; - $157 = (($156) + 1)|0; - $158 = HEAP32[$5>>2]|0; - HEAP32[$158>>2] = $157; + _sqlite3_free($152); + $153 = ((($sCheck)) + 24|0); + $154 = HEAP32[$153>>2]|0; + $155 = ($154|0)!=(0); + if ($155) { + $156 = ((($sCheck)) + 40|0); + _sqlite3StrAccumReset($156); + $157 = ((($sCheck)) + 20|0); + $158 = HEAP32[$157>>2]|0; + $159 = (($158) + 1)|0; + $160 = HEAP32[$5>>2]|0; + HEAP32[$160>>2] = $159; HEAP32[$0>>2] = 0; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + $170 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($170|0); } - $159 = (($sCheck) + 20|0); - $160 = HEAP32[$159>>2]|0; - $161 = HEAP32[$5>>2]|0; - HEAP32[$161>>2] = $160; - $162 = (($sCheck) + 20|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==(0); - if ($164) { - $165 = (($sCheck) + 40|0); - _sqlite3StrAccumReset($165); - } - $166 = (($sCheck) + 40|0); - $167 = (_sqlite3StrAccumFinish($166)|0); - HEAP32[$0>>2] = $167; - $168 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($168|0); + $161 = ((($sCheck)) + 20|0); + $162 = HEAP32[$161>>2]|0; + $163 = HEAP32[$5>>2]|0; + HEAP32[$163>>2] = $162; + $164 = ((($sCheck)) + 20|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==(0); + if ($166) { + $167 = ((($sCheck)) + 40|0); + _sqlite3StrAccumReset($167); + } + $168 = ((($sCheck)) + 40|0); + $169 = (_sqlite3StrAccumFinish($168)|0); + HEAP32[$0>>2] = $169; + $170 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($170|0); } function _sqlite3VdbeMemSetRowSet($pMem) { $pMem = $pMem|0; @@ -174942,7 +176884,7 @@ function _sqlite3VdbeMemSetRowSet($pMem) { $db = sp; HEAP32[$0>>2] = $pMem; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 32|0); + $2 = ((($1)) + 32|0); $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; @@ -174950,41 +176892,41 @@ function _sqlite3VdbeMemSetRowSet($pMem) { $5 = HEAP32[$db>>2]|0; $6 = (_sqlite3DbMallocRaw($5,64,0)|0); $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 20|0); + $8 = ((($7)) + 20|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$db>>2]|0; - $10 = (($9) + 64|0); + $10 = ((($9)) + 64|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); if ($12) { $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); HEAP16[$14>>1] = 1; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 24|0); + $16 = ((($15)) + 24|0); HEAP32[$16>>2] = 0; STACKTOP = sp;return; } else { $17 = HEAP32[$db>>2]|0; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 20|0); + $19 = ((($18)) + 20|0); $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3DbMallocSize($17,$20)|0); $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 24|0); + $23 = ((($22)) + 24|0); HEAP32[$23>>2] = $21; $24 = HEAP32[$db>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 20|0); + $26 = ((($25)) + 20|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 24|0); + $29 = ((($28)) + 24|0); $30 = HEAP32[$29>>2]|0; $31 = (_sqlite3RowSetInit($24,$27,$30)|0); $32 = HEAP32[$0>>2]|0; HEAP32[$32>>2] = $31; $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 8|0); + $34 = ((($33)) + 8|0); HEAP16[$34>>1] = 32; STACKTOP = sp;return; } @@ -175032,17 +176974,17 @@ function _sqlite3RowSetInsert($p,$0,$1) { $22 = $21; HEAP32[$22>>2] = $17; $23 = HEAP32[$pEntry>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); HEAP32[$24>>2] = 0; $25 = HEAP32[$2>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); $27 = HEAP32[$26>>2]|0; HEAP32[$pLast>>2] = $27; $28 = HEAP32[$pLast>>2]|0; $29 = ($28|0)!=(0|0); if ($29) { $30 = HEAP32[$2>>2]|0; - $31 = (($30) + 26|0); + $31 = ((($30)) + 26|0); $32 = HEAP16[$31>>1]|0; $33 = $32&65535; $34 = $33 & 1; @@ -175068,7 +177010,7 @@ function _sqlite3RowSetInsert($p,$0,$1) { $53 = $49 | $52; if ($53) { $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 26|0); + $55 = ((($54)) + 26|0); $56 = HEAP16[$55>>1]|0; $57 = $56&65535; $58 = $57 & -2; @@ -175078,17 +177020,17 @@ function _sqlite3RowSetInsert($p,$0,$1) { } $60 = HEAP32[$pEntry>>2]|0; $61 = HEAP32[$pLast>>2]|0; - $62 = (($61) + 8|0); + $62 = ((($61)) + 8|0); HEAP32[$62>>2] = $60; } else { $63 = HEAP32[$pEntry>>2]|0; $64 = HEAP32[$2>>2]|0; - $65 = (($64) + 8|0); + $65 = ((($64)) + 8|0); HEAP32[$65>>2] = $63; } $66 = HEAP32[$pEntry>>2]|0; $67 = HEAP32[$2>>2]|0; - $68 = (($67) + 12|0); + $68 = ((($67)) + 12|0); HEAP32[$68>>2] = $66; STACKTOP = sp;return; } @@ -175106,7 +177048,7 @@ function _sqlite3RowSetNext($p,$pRowid) { HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pRowid; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 26|0); + $4 = ((($3)) + 26|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = $6 & 2; @@ -175116,7 +177058,7 @@ function _sqlite3RowSetNext($p,$pRowid) { _rowSetToList($9); } $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)!=(0|0); if (!($13)) { @@ -175125,7 +177067,7 @@ function _sqlite3RowSetNext($p,$pRowid) { STACKTOP = sp;return ($40|0); } $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 8|0); + $15 = ((($14)) + 8|0); $16 = HEAP32[$15>>2]|0; $17 = $16; $18 = $17; @@ -175141,15 +177083,15 @@ function _sqlite3RowSetNext($p,$pRowid) { $27 = $26; HEAP32[$27>>2] = $22; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 8|0); + $29 = ((($28)) + 8|0); $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 8|0); + $34 = ((($33)) + 8|0); HEAP32[$34>>2] = $32; $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 8|0); + $36 = ((($35)) + 8|0); $37 = HEAP32[$36>>2]|0; $38 = ($37|0)==(0|0); if ($38) { @@ -175175,15 +177117,15 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { var $p = 0, $pAux = 0, $pTail = 0, $pTree = 0, $ppPrevTree = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; + $2 = sp + 32|0; + $3 = sp + 20|0; + $4 = sp + 12|0; $5 = sp; - $p = sp + 24|0; - $pTree = sp + 20|0; + $p = sp + 36|0; + $pTree = sp + 8|0; $ppPrevTree = sp + 16|0; - $pAux = sp + 12|0; - $pTail = sp + 8|0; + $pAux = sp + 28|0; + $pTail = sp + 24|0; HEAP32[$3>>2] = $pRowSet; HEAP32[$4>>2] = $iBatch; $6 = $5; @@ -175194,22 +177136,22 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { HEAP32[$9>>2] = $1; $10 = HEAP32[$4>>2]|0; $11 = HEAP32[$3>>2]|0; - $12 = (($11) + 28|0); + $12 = ((($11)) + 28|0); $13 = HEAP32[$12>>2]|0; $14 = ($10|0)!=($13|0); if ($14) { $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; HEAP32[$p>>2] = $17; $18 = HEAP32[$p>>2]|0; $19 = ($18|0)!=(0|0); if ($19) { $20 = HEAP32[$3>>2]|0; - $21 = (($20) + 20|0); + $21 = ((($20)) + 20|0); HEAP32[$ppPrevTree>>2] = $21; $22 = HEAP32[$3>>2]|0; - $23 = (($22) + 26|0); + $23 = ((($22)) + 26|0); $24 = HEAP16[$23>>1]|0; $25 = $24&65535; $26 = $25 & 1; @@ -175220,7 +177162,7 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { HEAP32[$p>>2] = $29; } $30 = HEAP32[$3>>2]|0; - $31 = (($30) + 20|0); + $31 = ((($30)) + 20|0); $32 = HEAP32[$31>>2]|0; HEAP32[$pTree>>2] = $32; while(1) { @@ -175230,10 +177172,10 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { break; } $35 = HEAP32[$pTree>>2]|0; - $36 = (($35) + 8|0); + $36 = ((($35)) + 8|0); HEAP32[$ppPrevTree>>2] = $36; $37 = HEAP32[$pTree>>2]|0; - $38 = (($37) + 12|0); + $38 = ((($37)) + 12|0); $39 = HEAP32[$38>>2]|0; $40 = ($39|0)==(0|0); if ($40) { @@ -175241,18 +177183,18 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { break; } $45 = HEAP32[$pTree>>2]|0; - $46 = (($45) + 12|0); + $46 = ((($45)) + 12|0); $47 = HEAP32[$46>>2]|0; _rowSetTreeToList($47,$pAux,$pTail); $48 = HEAP32[$pTree>>2]|0; - $49 = (($48) + 12|0); + $49 = ((($48)) + 12|0); HEAP32[$49>>2] = 0; $50 = HEAP32[$pAux>>2]|0; $51 = HEAP32[$p>>2]|0; $52 = (_rowSetEntryMerge($50,$51)|0); HEAP32[$p>>2] = $52; $53 = HEAP32[$pTree>>2]|0; - $54 = (($53) + 8|0); + $54 = ((($53)) + 8|0); $55 = HEAP32[$54>>2]|0; HEAP32[$pTree>>2] = $55; } @@ -175260,7 +177202,7 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { $41 = HEAP32[$p>>2]|0; $42 = (_rowSetListToTree($41)|0); $43 = HEAP32[$pTree>>2]|0; - $44 = (($43) + 12|0); + $44 = ((($43)) + 12|0); HEAP32[$44>>2] = $42; } $56 = HEAP32[$pTree>>2]|0; @@ -175282,23 +177224,23 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { $67 = $66; HEAP32[$67>>2] = 0; $68 = HEAP32[$pTree>>2]|0; - $69 = (($68) + 8|0); + $69 = ((($68)) + 8|0); HEAP32[$69>>2] = 0; $70 = HEAP32[$p>>2]|0; $71 = (_rowSetListToTree($70)|0); $72 = HEAP32[$pTree>>2]|0; - $73 = (($72) + 12|0); + $73 = ((($72)) + 12|0); HEAP32[$73>>2] = $71; } } $74 = HEAP32[$3>>2]|0; - $75 = (($74) + 8|0); + $75 = ((($74)) + 8|0); HEAP32[$75>>2] = 0; $76 = HEAP32[$3>>2]|0; - $77 = (($76) + 12|0); + $77 = ((($76)) + 12|0); HEAP32[$77>>2] = 0; $78 = HEAP32[$3>>2]|0; - $79 = (($78) + 26|0); + $79 = ((($78)) + 26|0); $80 = HEAP16[$79>>1]|0; $81 = $80&65535; $82 = $81 | 1; @@ -175307,11 +177249,11 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { } $84 = HEAP32[$4>>2]|0; $85 = HEAP32[$3>>2]|0; - $86 = (($85) + 28|0); + $86 = ((($85)) + 28|0); HEAP32[$86>>2] = $84; } $87 = HEAP32[$3>>2]|0; - $88 = (($87) + 20|0); + $88 = ((($87)) + 20|0); $89 = HEAP32[$88>>2]|0; HEAP32[$pTree>>2] = $89; L21: while(1) { @@ -175322,7 +177264,7 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { break; } $92 = HEAP32[$pTree>>2]|0; - $93 = (($92) + 12|0); + $93 = ((($92)) + 12|0); $94 = HEAP32[$93>>2]|0; HEAP32[$p>>2] = $94; while(1) { @@ -175351,7 +177293,7 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { $114 = $110 | $113; $115 = HEAP32[$p>>2]|0; if ($114) { - $116 = (($115) + 8|0); + $116 = ((($115)) + 8|0); $117 = HEAP32[$116>>2]|0; HEAP32[$p>>2] = $117; continue; @@ -175378,12 +177320,12 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { break L21; } $135 = HEAP32[$p>>2]|0; - $136 = (($135) + 12|0); + $136 = ((($135)) + 12|0); $137 = HEAP32[$136>>2]|0; HEAP32[$p>>2] = $137; } $138 = HEAP32[$pTree>>2]|0; - $139 = (($138) + 8|0); + $139 = ((($138)) + 8|0); $140 = HEAP32[$139>>2]|0; HEAP32[$pTree>>2] = $140; } @@ -175397,7 +177339,7 @@ function _sqlite3RowSetTest($pRowSet,$iBatch,$0,$1) { $141 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($141|0); } - return 0|0; + return (0)|0; } function _sqlite3PagerOkToChangeJournalMode($pPager) { $pPager = $pPager|0; @@ -175409,7 +177351,7 @@ function _sqlite3PagerOkToChangeJournalMode($pPager) { $1 = sp; HEAP32[$1>>2] = $pPager; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); + $3 = ((($2)) + 16|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)>=(3); @@ -175419,13 +177361,13 @@ function _sqlite3PagerOkToChangeJournalMode($pPager) { STACKTOP = sp;return ($25|0); } $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 64|0); + $8 = ((($7)) + 64|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 72|0); + $13 = ((($12)) + 72|0); $14 = $13; $15 = $14; $16 = HEAP32[$15>>2]|0; @@ -175457,12 +177399,12 @@ function _sqlite3PagerWalSupported($pPager) { $pMethods = sp; HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 60|0); + $2 = ((($1)) + 60|0); $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; HEAP32[$pMethods>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($8|0)!=(0); @@ -175480,7 +177422,7 @@ function _sqlite3PagerWalSupported($pPager) { STACKTOP = sp;return ($17|0); } $13 = HEAP32[$pMethods>>2]|0; - $14 = (($13) + 52|0); + $14 = ((($13)) + 52|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)!=(0|0); $18 = $16; @@ -175500,7 +177442,7 @@ function _sqlite3PagerCloseWal($pPager) { HEAP32[$0>>2] = $pPager; HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 208|0); + $2 = ((($1)) + 208|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { @@ -175514,7 +177456,7 @@ function _sqlite3PagerCloseWal($pPager) { $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 212|0); + $12 = ((($11)) + 212|0); $13 = HEAP32[$12>>2]|0; $14 = (_sqlite3OsAccess($10,$13,0,$logexists)|0); HEAP32[$rc>>2] = $14; @@ -175537,7 +177479,7 @@ function _sqlite3PagerCloseWal($pPager) { STACKTOP = sp;return ($48|0); } $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 208|0); + $24 = ((($23)) + 208|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0|0); if (!($26)) { @@ -175554,22 +177496,22 @@ function _sqlite3PagerCloseWal($pPager) { STACKTOP = sp;return ($48|0); } $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 208|0); + $32 = ((($31)) + 208|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 9|0); + $35 = ((($34)) + 9|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 152|0); + $39 = ((($38)) + 152|0); $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 200|0); + $42 = ((($41)) + 200|0); $43 = HEAP32[$42>>2]|0; $44 = (_sqlite3WalClose($33,$37,$40,$43)|0); HEAP32[$rc>>2] = $44; $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 208|0); + $46 = ((($45)) + 208|0); HEAP32[$46>>2] = 0; $47 = HEAP32[$0>>2]|0; _pagerFixMaplimit($47); @@ -175594,11 +177536,11 @@ function _sqlite3PagerSetJournalMode($pPager,$eMode) { HEAP32[$0>>2] = $pPager; HEAP32[$1>>2] = $eMode; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 5|0); + $3 = ((($2)) + 5|0); $4 = HEAP8[$3>>0]|0; HEAP8[$eOld>>0] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 15|0); + $6 = ((($5)) + 15|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if ($8) { @@ -175622,10 +177564,10 @@ function _sqlite3PagerSetJournalMode($pPager,$eMode) { $19 = HEAP32[$1>>2]|0; $20 = $19&255; $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 5|0); + $22 = ((($21)) + 5|0); HEAP8[$22>>0] = $20; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)!=(0); if (!($26)) { @@ -175639,11 +177581,11 @@ function _sqlite3PagerSetJournalMode($pPager,$eMode) { $33 = ($32|0)==(0); if ($33) { $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 64|0); + $35 = ((($34)) + 64|0); $36 = HEAP32[$35>>2]|0; (_sqlite3OsClose($36)|0); $37 = HEAP32[$0>>2]|0; - $38 = (($37) + 17|0); + $38 = ((($37)) + 17|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = ($40|0)>=(2); @@ -175651,14 +177593,14 @@ function _sqlite3PagerSetJournalMode($pPager,$eMode) { $42 = HEAP32[$0>>2]|0; $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 172|0); + $45 = ((($44)) + 172|0); $46 = HEAP32[$45>>2]|0; (_sqlite3OsDelete($43,$46,0)|0); break; } HEAP32[$rc>>2] = 0; $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 16|0); + $48 = ((($47)) + 16|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; HEAP32[$state>>2] = $50; @@ -175670,7 +177612,7 @@ function _sqlite3PagerSetJournalMode($pPager,$eMode) { HEAP32[$rc>>2] = $54; } $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 16|0); + $56 = ((($55)) + 16|0); $57 = HEAP8[$56>>0]|0; $58 = $57&255; $59 = ($58|0)==(1); @@ -175685,7 +177627,7 @@ function _sqlite3PagerSetJournalMode($pPager,$eMode) { $64 = HEAP32[$0>>2]|0; $65 = HEAP32[$64>>2]|0; $66 = HEAP32[$0>>2]|0; - $67 = (($66) + 172|0); + $67 = ((($66)) + 172|0); $68 = HEAP32[$67>>2]|0; (_sqlite3OsDelete($65,$68,0)|0); } @@ -175711,7 +177653,7 @@ function _sqlite3PagerSetJournalMode($pPager,$eMode) { } } while(0); $77 = HEAP32[$0>>2]|0; - $78 = (($77) + 5|0); + $78 = ((($77)) + 5|0); $79 = HEAP8[$78>>0]|0; $80 = $79&255; STACKTOP = sp;return ($80|0); @@ -175731,89 +177673,90 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $isMemDb = 0; - var $meta = 0, $nDb = 0, $nRes = 0, $pDb = 0, $pMain = 0, $pTemp = 0, $rc = 0, $saved_flags = 0, $saved_nChange = 0, $saved_nTotalChange = 0, $saved_xTrace = 0, $vararg_buffer1 = 0, $zSql = 0, label = 0, sp = 0; + var $meta = 0, $nDb = 0, $nRes = 0, $pDb = 0, $pMain = 0, $pTemp = 0, $rc = 0, $saved_flags = 0, $saved_nChange = 0, $saved_nTotalChange = 0, $saved_xTrace = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $zSql = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer1 = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $rc = sp + 56|0; - $pMain = sp + 52|0; - $pTemp = sp + 48|0; - $zSql = sp + 44|0; - $saved_flags = sp + 40|0; - $saved_nChange = sp + 36|0; - $saved_nTotalChange = sp + 32|0; - $saved_xTrace = sp + 28|0; - $pDb = sp + 24|0; - $isMemDb = sp + 20|0; - $nRes = sp + 16|0; - $nDb = sp + 12|0; - $meta = sp + 8|0; - $i = sp + 4|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 16|0; + $1 = sp + 44|0; + $2 = sp + 12|0; + $rc = sp + 24|0; + $pMain = sp + 20|0; + $pTemp = sp + 40|0; + $zSql = sp + 36|0; + $saved_flags = sp + 28|0; + $saved_nChange = sp + 32|0; + $saved_nTotalChange = sp + 48|0; + $saved_xTrace = sp + 52|0; + $pDb = sp + 56|0; + $isMemDb = sp + 60|0; + $nRes = sp + 64|0; + $nDb = sp + 68|0; + $meta = sp + 72|0; + $i = sp + 76|0; HEAP32[$1>>2] = $pzErrMsg; HEAP32[$2>>2] = $db; HEAP32[$rc>>2] = 0; HEAP32[$zSql>>2] = 0; HEAP32[$pDb>>2] = 0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 62|0); + $4 = ((($3)) + 62|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); if (!($6)) { $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$2>>2]|0; - _sqlite3SetString($7,$8,32072,$vararg_buffer1); + _sqlite3SetString($7,$8,31744,$vararg_buffer); HEAP32[$0>>2] = 1; $237 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($237|0); } $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 148|0); + $10 = ((($9)) + 148|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)>(1); if ($12) { $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$2>>2]|0; - _sqlite3SetString($13,$14,32112,$vararg_buffer1); + _sqlite3SetString($13,$14,31784,$vararg_buffer1); HEAP32[$0>>2] = 1; $237 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($237|0); } $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 24|0); + $16 = ((($15)) + 24|0); $17 = HEAP32[$16>>2]|0; HEAP32[$saved_flags>>2] = $17; $18 = HEAP32[$2>>2]|0; - $19 = (($18) + 80|0); + $19 = ((($18)) + 80|0); $20 = HEAP32[$19>>2]|0; HEAP32[$saved_nChange>>2] = $20; $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 84|0); + $22 = ((($21)) + 84|0); $23 = HEAP32[$22>>2]|0; HEAP32[$saved_nTotalChange>>2] = $23; $24 = HEAP32[$2>>2]|0; - $25 = (($24) + 172|0); + $25 = ((($24)) + 172|0); $26 = HEAP32[$25>>2]|0; HEAP32[$saved_xTrace>>2] = $26; $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 24|0); + $28 = ((($27)) + 24|0); $29 = HEAP32[$28>>2]|0; $30 = $29 | 2107392; HEAP32[$28>>2] = $30; $31 = HEAP32[$2>>2]|0; - $32 = (($31) + 24|0); + $32 = ((($31)) + 24|0); $33 = HEAP32[$32>>2]|0; $34 = $33 & -655361; HEAP32[$32>>2] = $34; $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 172|0); + $36 = ((($35)) + 172|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$2>>2]|0; - $38 = (($37) + 16|0); + $38 = ((($37)) + 16|0); $39 = HEAP32[$38>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; HEAP32[$pMain>>2] = $41; $42 = HEAP32[$pMain>>2]|0; @@ -175821,16 +177764,16 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { $44 = (_sqlite3PagerIsMemdb($43)|0); HEAP32[$isMemDb>>2] = $44; $45 = HEAP32[$2>>2]|0; - $46 = (($45) + 20|0); + $46 = ((($45)) + 20|0); $47 = HEAP32[$46>>2]|0; HEAP32[$nDb>>2] = $47; $48 = HEAP32[$2>>2]|0; $49 = (_sqlite3TempInMemory($48)|0); $50 = ($49|0)!=(0); if ($50) { - HEAP32[$zSql>>2] = 32160; + HEAP32[$zSql>>2] = 31827; } else { - HEAP32[$zSql>>2] = 32192; + HEAP32[$zSql>>2] = 31859; } $51 = HEAP32[$2>>2]|0; $52 = HEAP32[$1>>2]|0; @@ -175838,17 +177781,17 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { $54 = (_execSql($51,$52,$53)|0); HEAP32[$rc>>2] = $54; $55 = HEAP32[$2>>2]|0; - $56 = (($55) + 20|0); + $56 = ((($55)) + 20|0); $57 = HEAP32[$56>>2]|0; $58 = HEAP32[$nDb>>2]|0; $59 = ($57|0)>($58|0); if ($59) { $60 = HEAP32[$2>>2]|0; - $61 = (($60) + 20|0); + $61 = ((($60)) + 20|0); $62 = HEAP32[$61>>2]|0; $63 = (($62) - 1)|0; $64 = HEAP32[$2>>2]|0; - $65 = (($64) + 16|0); + $65 = ((($64)) + 16|0); $66 = HEAP32[$65>>2]|0; $67 = (($66) + ($63<<4)|0); HEAP32[$pDb>>2] = $67; @@ -175858,14 +177801,14 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { L16: do { if (!($69)) { $70 = HEAP32[$2>>2]|0; - $71 = (($70) + 20|0); + $71 = ((($70)) + 20|0); $72 = HEAP32[$71>>2]|0; $73 = (($72) - 1)|0; $74 = HEAP32[$2>>2]|0; - $75 = (($74) + 16|0); + $75 = ((($74)) + 16|0); $76 = HEAP32[$75>>2]|0; $77 = (($76) + ($73<<4)|0); - $78 = (($77) + 4|0); + $78 = ((($77)) + 4|0); $79 = HEAP32[$78>>2]|0; HEAP32[$pTemp>>2] = $79; $80 = HEAP32[$pTemp>>2]|0; @@ -175875,14 +177818,14 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { HEAP32[$nRes>>2] = $82; $83 = HEAP32[$2>>2]|0; $84 = HEAP32[$1>>2]|0; - $85 = (_execSql($83,$84,32216)|0); + $85 = (_execSql($83,$84,31883)|0); HEAP32[$rc>>2] = $85; $86 = HEAP32[$rc>>2]|0; $87 = ($86|0)!=(0); if (!($87)) { $88 = HEAP32[$2>>2]|0; $89 = HEAP32[$1>>2]|0; - $90 = (_execSql($88,$89,32256)|0); + $90 = (_execSql($88,$89,31916)|0); HEAP32[$rc>>2] = $90; $91 = HEAP32[$rc>>2]|0; $92 = ($91|0)!=(0); @@ -175899,7 +177842,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { $100 = ($99|0)==(5); if ($100) { $101 = HEAP32[$2>>2]|0; - $102 = (($101) + 72|0); + $102 = ((($101)) + 72|0); HEAP32[$102>>2] = 0; } $103 = HEAP32[$pTemp>>2]|0; @@ -175915,7 +177858,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { if (!($110)) { $111 = HEAP32[$pTemp>>2]|0; $112 = HEAP32[$2>>2]|0; - $113 = (($112) + 72|0); + $113 = ((($112)) + 72|0); $114 = HEAP32[$113>>2]|0; $115 = HEAP32[$nRes>>2]|0; $116 = (_sqlite3BtreeSetPageSize($111,$114,$115,0)|0); @@ -175925,20 +177868,20 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } } $118 = HEAP32[$2>>2]|0; - $119 = (($118) + 64|0); + $119 = ((($118)) + 64|0); $120 = HEAP8[$119>>0]|0; $121 = $120&255; $122 = ($121|0)!=(0); if (!($122)) { $123 = HEAP32[$pTemp>>2]|0; $124 = HEAP32[$2>>2]|0; - $125 = (($124) + 66|0); + $125 = ((($124)) + 66|0); $126 = HEAP8[$125>>0]|0; $127 = $126 << 24 >> 24; $128 = ($127|0)>=(0); if ($128) { $129 = HEAP32[$2>>2]|0; - $130 = (($129) + 66|0); + $130 = ((($129)) + 66|0); $131 = HEAP8[$130>>0]|0; $132 = $131 << 24 >> 24; $135 = $132; @@ -175950,7 +177893,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { (_sqlite3BtreeSetAutoVacuum($123,$135)|0); $136 = HEAP32[$2>>2]|0; $137 = HEAP32[$1>>2]|0; - $138 = (_execExecSql($136,$137,32264)|0); + $138 = (_execExecSql($136,$137,31923)|0); HEAP32[$rc>>2] = $138; $139 = HEAP32[$rc>>2]|0; $140 = ($139|0)!=(0); @@ -175959,7 +177902,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $141 = HEAP32[$2>>2]|0; $142 = HEAP32[$1>>2]|0; - $143 = (_execExecSql($141,$142,32416)|0); + $143 = (_execExecSql($141,$142,32071)|0); HEAP32[$rc>>2] = $143; $144 = HEAP32[$rc>>2]|0; $145 = ($144|0)!=(0); @@ -175968,7 +177911,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $146 = HEAP32[$2>>2]|0; $147 = HEAP32[$1>>2]|0; - $148 = (_execExecSql($146,$147,32520)|0); + $148 = (_execExecSql($146,$147,32175)|0); HEAP32[$rc>>2] = $148; $149 = HEAP32[$rc>>2]|0; $150 = ($149|0)!=(0); @@ -175977,7 +177920,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $151 = HEAP32[$2>>2]|0; $152 = HEAP32[$1>>2]|0; - $153 = (_execExecSql($151,$152,32640)|0); + $153 = (_execExecSql($151,$152,32293)|0); HEAP32[$rc>>2] = $153; $154 = HEAP32[$rc>>2]|0; $155 = ($154|0)!=(0); @@ -175986,7 +177929,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $156 = HEAP32[$2>>2]|0; $157 = HEAP32[$1>>2]|0; - $158 = (_execExecSql($156,$157,32840)|0); + $158 = (_execExecSql($156,$157,32489)|0); HEAP32[$rc>>2] = $158; $159 = HEAP32[$rc>>2]|0; $160 = ($159|0)!=(0); @@ -175995,7 +177938,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $161 = HEAP32[$2>>2]|0; $162 = HEAP32[$1>>2]|0; - $163 = (_execExecSql($161,$162,32960)|0); + $163 = (_execExecSql($161,$162,32602)|0); HEAP32[$rc>>2] = $163; $164 = HEAP32[$rc>>2]|0; $165 = ($164|0)!=(0); @@ -176004,7 +177947,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $166 = HEAP32[$2>>2]|0; $167 = HEAP32[$1>>2]|0; - $168 = (_execSql($166,$167,33120)|0); + $168 = (_execSql($166,$167,32757)|0); HEAP32[$rc>>2] = $168; $169 = HEAP32[$rc>>2]|0; $170 = ($169|0)!=(0); @@ -176020,19 +177963,19 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { break; } $174 = HEAP32[$i>>2]|0; - $175 = (33304 + ($174)|0); + $175 = (32941 + ($174)|0); $176 = HEAP8[$175>>0]|0; $177 = $176&255; _sqlite3BtreeGetMeta($173,$177,$meta); $178 = HEAP32[$pTemp>>2]|0; $179 = HEAP32[$i>>2]|0; - $180 = (33304 + ($179)|0); + $180 = (32941 + ($179)|0); $181 = HEAP8[$180>>0]|0; $182 = $181&255; $183 = HEAP32[$meta>>2]|0; $184 = HEAP32[$i>>2]|0; $185 = (($184) + 1)|0; - $186 = (33304 + ($185)|0); + $186 = (32941 + ($185)|0); $187 = HEAP8[$186>>0]|0; $188 = $187&255; $189 = (($183) + ($188))|0; @@ -176085,37 +178028,37 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } while(0); $211 = HEAP32[$saved_flags>>2]|0; $212 = HEAP32[$2>>2]|0; - $213 = (($212) + 24|0); + $213 = ((($212)) + 24|0); HEAP32[$213>>2] = $211; $214 = HEAP32[$saved_nChange>>2]|0; $215 = HEAP32[$2>>2]|0; - $216 = (($215) + 80|0); + $216 = ((($215)) + 80|0); HEAP32[$216>>2] = $214; $217 = HEAP32[$saved_nTotalChange>>2]|0; $218 = HEAP32[$2>>2]|0; - $219 = (($218) + 84|0); + $219 = ((($218)) + 84|0); HEAP32[$219>>2] = $217; $220 = HEAP32[$saved_xTrace>>2]|0; $221 = HEAP32[$2>>2]|0; - $222 = (($221) + 172|0); + $222 = ((($221)) + 172|0); HEAP32[$222>>2] = $220; $223 = HEAP32[$pMain>>2]|0; (_sqlite3BtreeSetPageSize($223,-1,-1,1)|0); $224 = HEAP32[$2>>2]|0; - $225 = (($224) + 62|0); + $225 = ((($224)) + 62|0); HEAP8[$225>>0] = 1; $226 = HEAP32[$pDb>>2]|0; $227 = ($226|0)!=(0|0); if ($227) { $228 = HEAP32[$pDb>>2]|0; - $229 = (($228) + 4|0); + $229 = ((($228)) + 4|0); $230 = HEAP32[$229>>2]|0; (_sqlite3BtreeClose($230)|0); $231 = HEAP32[$pDb>>2]|0; - $232 = (($231) + 4|0); + $232 = ((($231)) + 4|0); HEAP32[$232>>2] = 0; $233 = HEAP32[$pDb>>2]|0; - $234 = (($233) + 12|0); + $234 = ((($233)) + 12|0); HEAP32[$234>>2] = 0; } $235 = HEAP32[$2>>2]|0; @@ -176141,13 +178084,13 @@ function _sqlite3BtreeIncrVacuum($p) { $nFin = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); + $2 = ((($1)) + 4|0); $3 = HEAP32[$2>>2]|0; HEAP32[$pBt>>2] = $3; $4 = HEAP32[$0>>2]|0; _sqlite3BtreeEnter($4); $5 = HEAP32[$pBt>>2]|0; - $6 = (($5) + 17|0); + $6 = ((($5)) + 17|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if (!($8)) { @@ -176159,11 +178102,11 @@ function _sqlite3BtreeIncrVacuum($p) { $10 = (_btreePagecount($9)|0); HEAP32[$nOrig>>2] = $10; $11 = HEAP32[$pBt>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 56|0); + $14 = ((($13)) + 56|0); $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 36|0); + $16 = ((($15)) + 36|0); $17 = (_sqlite3Get4byte($16)|0); HEAP32[$nFree>>2] = $17; $18 = HEAP32[$pBt>>2]|0; @@ -176208,20 +178151,20 @@ function _sqlite3BtreeIncrVacuum($p) { STACKTOP = sp;return ($54|0); } $39 = HEAP32[$pBt>>2]|0; - $40 = (($39) + 12|0); + $40 = ((($39)) + 12|0); $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 68|0); + $42 = ((($41)) + 68|0); $43 = HEAP32[$42>>2]|0; $44 = (_sqlite3PagerWrite($43)|0); HEAP32[$rc>>2] = $44; $45 = HEAP32[$pBt>>2]|0; - $46 = (($45) + 12|0); + $46 = ((($45)) + 12|0); $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 56|0); + $48 = ((($47)) + 56|0); $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 28|0); + $50 = ((($49)) + 28|0); $51 = HEAP32[$pBt>>2]|0; - $52 = (($51) + 44|0); + $52 = ((($51)) + 44|0); $53 = HEAP32[$52>>2]|0; _sqlite3Put4byte($50,$53); $54 = HEAP32[$rc>>2]|0; @@ -176245,7 +178188,7 @@ function _sqlite3BtreeLockTable($p,$iTab,$isWriteLock) { HEAP8[$2>>0] = $isWriteLock; HEAP32[$rc>>2] = 0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 9|0); + $4 = ((($3)) + 9|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); if (!($6)) { @@ -176296,12 +178239,12 @@ function _sqlite3VtabBegin($db,$pVTab) { HEAP32[$2>>2] = $pVTab; HEAP32[$rc>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 304|0); + $4 = ((($3)) + 304|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if ($6) { $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 328|0); + $8 = ((($7)) + 328|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if ($10) { @@ -176318,12 +178261,12 @@ function _sqlite3VtabBegin($db,$pVTab) { STACKTOP = sp;return ($52|0); } $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; HEAP32[$pModule>>2] = $16; $17 = HEAP32[$pModule>>2]|0; - $18 = (($17) + 56|0); + $18 = ((($17)) + 56|0); $19 = HEAP32[$18>>2]|0; $20 = ($19|0)!=(0|0); if ($20) { @@ -176331,7 +178274,7 @@ function _sqlite3VtabBegin($db,$pVTab) { while(1) { $21 = HEAP32[$i>>2]|0; $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 304|0); + $23 = ((($22)) + 304|0); $24 = HEAP32[$23>>2]|0; $25 = ($21|0)<($24|0); if (!($25)) { @@ -176339,7 +178282,7 @@ function _sqlite3VtabBegin($db,$pVTab) { } $26 = HEAP32[$i>>2]|0; $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 328|0); + $28 = ((($27)) + 328|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + ($26<<2)|0); $31 = HEAP32[$30>>2]|0; @@ -176365,10 +178308,10 @@ function _sqlite3VtabBegin($db,$pVTab) { $39 = ($38|0)==(0); if ($39) { $40 = HEAP32[$pModule>>2]|0; - $41 = (($40) + 56|0); + $41 = ((($40)) + 56|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$2>>2]|0; - $44 = (($43) + 8|0); + $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; $46 = (FUNCTION_TABLE_ii[$42 & 31]($45)|0); HEAP32[$rc>>2] = $46; @@ -176397,14 +178340,14 @@ function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $rc = sp + 16|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 8|0; + $3 = sp + 16|0; + $rc = sp + 4|0; $pTab = sp + 12|0; - $pMod = sp + 8|0; - $zMod = sp + 4|0; + $pMod = sp + 28|0; + $zMod = sp + 32|0; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $iDb; HEAP32[$2>>2] = $zTab; @@ -176414,19 +178357,19 @@ function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { $5 = HEAP32[$2>>2]|0; $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 16|0); + $8 = ((($7)) + 16|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($6<<4)|0); $11 = HEAP32[$10>>2]|0; $12 = (_sqlite3FindTable($4,$5,$11)|0); HEAP32[$pTab>>2] = $12; $13 = HEAP32[$pTab>>2]|0; - $14 = (($13) + 56|0); + $14 = ((($13)) + 56|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; HEAP32[$zMod>>2] = $16; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 308|0); + $18 = ((($17)) + 308|0); $19 = HEAP32[$zMod>>2]|0; $20 = (_sqlite3HashFind($18,$19)|0); HEAP32[$pMod>>2] = $20; @@ -176438,7 +178381,7 @@ function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { $28 = HEAP32[$pMod>>2]|0; $29 = HEAP32[$pMod>>2]|0; $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 4|0); + $31 = ((($30)) + 4|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$3>>2]|0; $34 = (_vtabCallConstructor($23,$27,$28,$32,$33)|0); @@ -176446,7 +178389,7 @@ function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { } else { $24 = HEAP32[$zMod>>2]|0; HEAP32[$vararg_buffer>>2] = $24; - $25 = (_sqlite3MPrintf($23,17944,$vararg_buffer)|0); + $25 = (_sqlite3MPrintf($23,22142,$vararg_buffer)|0); $26 = HEAP32[$3>>2]|0; HEAP32[$26>>2] = $25; HEAP32[$rc>>2] = 1; @@ -176505,7 +178448,7 @@ function _sqlite3VtabCallDestroy($db,$iDb,$zTab) { $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 16|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($5<<4)|0); $10 = HEAP32[$9>>2]|0; @@ -176518,7 +178461,7 @@ function _sqlite3VtabCallDestroy($db,$iDb,$zTab) { STACKTOP = sp;return ($38|0); } $14 = HEAP32[$pTab>>2]|0; - $15 = (($14) + 60|0); + $15 = ((($14)) + 60|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)!=(0|0); if (!($17)) { @@ -176530,13 +178473,13 @@ function _sqlite3VtabCallDestroy($db,$iDb,$zTab) { $20 = (_vtabDisconnectAll($18,$19)|0); HEAP32[$p>>2] = $20; $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 4|0); + $22 = ((($21)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 20|0); + $25 = ((($24)) + 20|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$p>>2]|0; - $28 = (($27) + 8|0); + $28 = ((($27)) + 8|0); $29 = HEAP32[$28>>2]|0; $30 = (FUNCTION_TABLE_ii[$26 & 31]($29)|0); HEAP32[$rc>>2] = $30; @@ -176547,10 +178490,10 @@ function _sqlite3VtabCallDestroy($db,$iDb,$zTab) { STACKTOP = sp;return ($38|0); } $33 = HEAP32[$p>>2]|0; - $34 = (($33) + 8|0); + $34 = ((($33)) + 8|0); HEAP32[$34>>2] = 0; $35 = HEAP32[$pTab>>2]|0; - $36 = (($35) + 60|0); + $36 = ((($35)) + 60|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$p>>2]|0; _sqlite3VtabUnlock($37); @@ -176571,7 +178514,7 @@ function _sqlite3BtreeMaxPageCount($p,$mxPage) { $2 = HEAP32[$0>>2]|0; _sqlite3BtreeEnter($2); $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$1>>2]|0; @@ -176591,26 +178534,30 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $enc = 0, $i = 0, $idx = 0; - var $n = 0, $nOut = 0, $nOut1 = 0, $nToken = 0, $nextIndex = 0, $out = 0, $pVar = 0, $utf8 = 0, $vararg_buffer11 = 0, $vararg_ptr7 = 0, $zBase = 0, $zStart = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $n = 0, $nOut = 0, $nOut1 = 0, $nToken = 0, $nextIndex = 0, $out = 0, $pVar = 0, $utf8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $zBase = 0, $zStart = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $vararg_buffer11 = sp + 40|0; - $0 = sp + 120|0; - $1 = sp + 116|0; - $db = sp + 112|0; - $idx = sp + 108|0; - $nextIndex = sp + 104|0; - $n = sp + 100|0; - $nToken = sp + 96|0; - $i = sp + 92|0; - $pVar = sp + 88|0; - $out = sp + 60|0; - $zBase = sp + 128|0; - $zStart = sp + 56|0; - $nOut = sp + 52|0; - $enc = sp + 124|0; - $utf8 = sp; - $nOut1 = sp + 48|0; + STACKTOP = STACKTOP + 272|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 92|0; + $1 = sp + 88|0; + $db = sp + 96|0; + $idx = sp + 132|0; + $nextIndex = sp + 84|0; + $n = sp + 136|0; + $nToken = sp + 140|0; + $i = sp + 80|0; + $pVar = sp + 128|0; + $out = sp + 100|0; + $zBase = sp + 156|0; + $zStart = sp + 144|0; + $nOut = sp + 148|0; + $enc = sp + 256|0; + $utf8 = sp + 40|0; + $nOut1 = sp + 152|0; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $zRawSql; HEAP32[$idx>>2] = 0; @@ -176619,13 +178566,13 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = (($4) + 88|0); + $5 = ((($4)) + 88|0); $6 = HEAP32[$5>>2]|0; _sqlite3StrAccumInit($out,$zBase,100,$6); $7 = HEAP32[$db>>2]|0; HEAP32[$out>>2] = $7; $8 = HEAP32[$db>>2]|0; - $9 = (($8) + 160|0); + $9 = ((($8)) + 160|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)>(1); if ($11) { @@ -176640,7 +178587,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { HEAP32[$zStart>>2] = $15; while(1) { $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 1|0); + $17 = ((($16)) + 1|0); HEAP32[$1>>2] = $17; $18 = HEAP8[$16>>0]|0; $19 = $18 << 24 >> 24; @@ -176656,7 +178603,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { break; } } - _sqlite3StrAccumAppend($out,32016,3); + _sqlite3StrAccumAppend($out,31710,3); $25 = HEAP32[$zStart>>2]|0; $26 = HEAP32[$1>>2]|0; $27 = HEAP32[$zStart>>2]|0; @@ -176702,7 +178649,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $48 = ($47|0)>(1); if ($48) { $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 1|0); + $50 = ((($49)) + 1|0); (_sqlite3GetInt32($50,$idx)|0); break; } else { @@ -176728,22 +178675,22 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $61 = HEAP32[$idx>>2]|0; $62 = (($61) - 1)|0; $63 = HEAP32[$0>>2]|0; - $64 = (($63) + 60|0); + $64 = ((($63)) + 60|0); $65 = HEAP32[$64>>2]|0; $66 = (($65) + (($62*40)|0)|0); HEAP32[$pVar>>2] = $66; $67 = HEAP32[$pVar>>2]|0; - $68 = (($67) + 8|0); + $68 = ((($67)) + 8|0); $69 = HEAP16[$68>>1]|0; $70 = $69&65535; $71 = $70 & 1; $72 = ($71|0)!=(0); if ($72) { - _sqlite3StrAccumAppend($out,9840,4); + _sqlite3StrAccumAppend($out,30955,4); continue; } $73 = HEAP32[$pVar>>2]|0; - $74 = (($73) + 8|0); + $74 = ((($73)) + 8|0); $75 = HEAP16[$74>>1]|0; $76 = $75&65535; $77 = $76 & 4; @@ -176756,16 +178703,16 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $83 = (($80) + 4)|0; $84 = $83; $85 = HEAP32[$84>>2]|0; - $86 = $vararg_buffer11; + $86 = $vararg_buffer; $87 = $86; HEAP32[$87>>2] = $82; $88 = (($86) + 4)|0; $89 = $88; HEAP32[$89>>2] = $85; - _sqlite3XPrintf($out,0,9456,$vararg_buffer11); + _sqlite3XPrintf($out,0,17289,$vararg_buffer); continue; } - $90 = (($79) + 8|0); + $90 = ((($79)) + 8|0); $91 = HEAP16[$90>>1]|0; $92 = $91&65535; $93 = $92 & 8; @@ -176773,37 +178720,37 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $95 = HEAP32[$pVar>>2]|0; if ($94) { $96 = +HEAPF64[$95>>3]; - HEAPF64[tempDoublePtr>>3]=$96;HEAP32[$vararg_buffer11>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer11+4>>2]=HEAP32[tempDoublePtr+4>>2]; - _sqlite3XPrintf($out,0,9808,$vararg_buffer11); + HEAPF64[$vararg_buffer1>>3] = $96; + _sqlite3XPrintf($out,0,19997,$vararg_buffer1); continue; } - $97 = (($95) + 8|0); + $97 = ((($95)) + 8|0); $98 = HEAP16[$97>>1]|0; $99 = $98&65535; $100 = $99 & 2; $101 = ($100|0)!=(0); if ($101) { $102 = HEAP32[$db>>2]|0; - $103 = (($102) + 16|0); + $103 = ((($102)) + 16|0); $104 = HEAP32[$103>>2]|0; - $105 = (($104) + 12|0); + $105 = ((($104)) + 12|0); $106 = HEAP32[$105>>2]|0; - $107 = (($106) + 77|0); + $107 = ((($106)) + 77|0); $108 = HEAP8[$107>>0]|0; HEAP8[$enc>>0] = $108; $109 = HEAP8[$enc>>0]|0; $110 = $109&255; $111 = ($110|0)!=(1); if ($111) { - dest=$utf8+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$utf8; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $112 = HEAP32[$db>>2]|0; - $113 = (($utf8) + 32|0); + $113 = ((($utf8)) + 32|0); HEAP32[$113>>2] = $112; $114 = HEAP32[$pVar>>2]|0; - $115 = (($114) + 16|0); + $115 = ((($114)) + 16|0); $116 = HEAP32[$115>>2]|0; $117 = HEAP32[$pVar>>2]|0; - $118 = (($117) + 12|0); + $118 = ((($117)) + 12|0); $119 = HEAP32[$118>>2]|0; $120 = HEAP8[$enc>>0]|0; (_sqlite3VdbeMemSetStr($utf8,$116,$119,$120,0)|0); @@ -176811,17 +178758,17 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { HEAP32[$pVar>>2] = $utf8; } $121 = HEAP32[$pVar>>2]|0; - $122 = (($121) + 12|0); + $122 = ((($121)) + 12|0); $123 = HEAP32[$122>>2]|0; HEAP32[$nOut>>2] = $123; $124 = HEAP32[$nOut>>2]|0; $125 = HEAP32[$pVar>>2]|0; - $126 = (($125) + 16|0); + $126 = ((($125)) + 16|0); $127 = HEAP32[$126>>2]|0; - HEAP32[$vararg_buffer11>>2] = $124; - $vararg_ptr7 = (($vararg_buffer11) + 4|0); + HEAP32[$vararg_buffer4>>2] = $124; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $127; - _sqlite3XPrintf($out,0,32024,$vararg_buffer11); + _sqlite3XPrintf($out,0,31714,$vararg_buffer4); $128 = HEAP8[$enc>>0]|0; $129 = $128&255; $130 = ($129|0)!=(1); @@ -176832,7 +178779,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { continue; } $131 = HEAP32[$pVar>>2]|0; - $132 = (($131) + 8|0); + $132 = ((($131)) + 8|0); $133 = HEAP16[$132>>1]|0; $134 = $133&65535; $135 = $134 & 16384; @@ -176840,13 +178787,13 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { if ($136) { $137 = HEAP32[$pVar>>2]|0; $138 = HEAP32[$137>>2]|0; - HEAP32[$vararg_buffer11>>2] = $138; - _sqlite3XPrintf($out,0,32032,$vararg_buffer11); + HEAP32[$vararg_buffer8>>2] = $138; + _sqlite3XPrintf($out,0,31721,$vararg_buffer8); continue; } - _sqlite3StrAccumAppend($out,32048,2); + _sqlite3StrAccumAppend($out,31734,2); $139 = HEAP32[$pVar>>2]|0; - $140 = (($139) + 12|0); + $140 = ((($139)) + 12|0); $141 = HEAP32[$140>>2]|0; HEAP32[$nOut1>>2] = $141; HEAP32[$i>>2] = 0; @@ -176859,25 +178806,25 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { } $145 = HEAP32[$i>>2]|0; $146 = HEAP32[$pVar>>2]|0; - $147 = (($146) + 16|0); + $147 = ((($146)) + 16|0); $148 = HEAP32[$147>>2]|0; $149 = (($148) + ($145)|0); $150 = HEAP8[$149>>0]|0; $151 = $150 << 24 >> 24; $152 = $151 & 255; HEAP32[$vararg_buffer11>>2] = $152; - _sqlite3XPrintf($out,0,32056,$vararg_buffer11); + _sqlite3XPrintf($out,0,31737,$vararg_buffer11); $153 = HEAP32[$i>>2]|0; $154 = (($153) + 1)|0; HEAP32[$i>>2] = $154; } - _sqlite3StrAccumAppend($out,32064,1); + _sqlite3StrAccumAppend($out,31742,1); } if ((label|0) == 31) { $155 = (_sqlite3StrAccumFinish($out)|0); STACKTOP = sp;return ($155|0); } - return 0|0; + return (0)|0; } function _findNextHostParameter($zSql,$pnToken) { $zSql = $zSql|0; @@ -176945,14 +178892,81 @@ function _sqlite3PagerMaxPageCount($pPager,$mxPage) { if ($3) { $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 156|0); + $6 = ((($5)) + 156|0); HEAP32[$6>>2] = $4; } $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 156|0); + $8 = ((($7)) + 156|0); $9 = HEAP32[$8>>2]|0; STACKTOP = sp;return ($9|0); } +function _vtabDisconnectAll($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db2 = 0, $pNext = 0, $pRet = 0, $pVTable = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $pRet = sp + 12|0; + $pVTable = sp + 8|0; + $db2 = sp + 4|0; + $pNext = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + HEAP32[$pRet>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 60|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pVTable>>2] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 60|0); + HEAP32[$6>>2] = 0; + while(1) { + $7 = HEAP32[$pVTable>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + break; + } + $9 = HEAP32[$pVTable>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$db2>>2] = $10; + $11 = HEAP32[$pVTable>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pNext>>2] = $13; + $14 = HEAP32[$db2>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ($14|0)==($15|0); + if ($16) { + $17 = HEAP32[$pVTable>>2]|0; + HEAP32[$pRet>>2] = $17; + $18 = HEAP32[$pRet>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 60|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$pRet>>2]|0; + $22 = ((($21)) + 24|0); + HEAP32[$22>>2] = 0; + } else { + $23 = HEAP32[$db2>>2]|0; + $24 = ((($23)) + 332|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$pVTable>>2]|0; + $27 = ((($26)) + 24|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$pVTable>>2]|0; + $29 = HEAP32[$db2>>2]|0; + $30 = ((($29)) + 332|0); + HEAP32[$30>>2] = $28; + } + $31 = HEAP32[$pNext>>2]|0; + HEAP32[$pVTable>>2] = $31; + } + $32 = HEAP32[$pRet>>2]|0; + STACKTOP = sp;return ($32|0); +} function _growVTrans($db) { $db = $db|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; @@ -176967,21 +178981,21 @@ function _growVTrans($db) { HEAP32[$1>>2] = $db; HEAP32[$ARRAY_INCR>>2] = 5; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 304|0); + $3 = ((($2)) + 304|0); $4 = HEAP32[$3>>2]|0; $5 = (($4|0) % 5)&-1; $6 = ($5|0)==(0); do { if ($6) { $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 304|0); + $8 = ((($7)) + 304|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + 5)|0; $11 = $10<<2; HEAP32[$nBytes>>2] = $11; $12 = HEAP32[$1>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 328|0); + $14 = ((($13)) + 328|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$nBytes>>2]|0; $17 = ($16|0)<(0); @@ -176992,14 +179006,14 @@ function _growVTrans($db) { $21 = ($20|0)!=(0|0); if ($21) { $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 304|0); + $23 = ((($22)) + 304|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$aVTrans>>2]|0; $26 = (($25) + ($24<<2)|0); - ;HEAP32[$26+0>>2]=0|0;HEAP32[$26+4>>2]=0|0;HEAP32[$26+8>>2]=0|0;HEAP32[$26+12>>2]=0|0;HEAP32[$26+16>>2]=0|0; + ;HEAP32[$26>>2]=0|0;HEAP32[$26+4>>2]=0|0;HEAP32[$26+8>>2]=0|0;HEAP32[$26+12>>2]=0|0;HEAP32[$26+16>>2]=0|0; $27 = HEAP32[$aVTrans>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 328|0); + $29 = ((($28)) + 328|0); HEAP32[$29>>2] = $27; break; } @@ -177024,12 +179038,12 @@ function _addToVTrans($db,$pVTab) { HEAP32[$1>>2] = $pVTab; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 304|0); + $4 = ((($3)) + 304|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + 1)|0; HEAP32[$4>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 328|0); + $8 = ((($7)) + 328|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($5<<2)|0); HEAP32[$10>>2] = $2; @@ -177046,23 +179060,23 @@ function _setSharedCacheTableLock($p,$iTable,$eLock) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pIter = 0, $pLock = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; + $0 = sp + 8|0; $1 = sp + 16|0; - $2 = sp + 12|0; + $2 = sp + 20|0; $3 = sp + 24|0; - $pBt = sp + 8|0; - $pLock = sp + 4|0; - $pIter = sp; + $pBt = sp + 4|0; + $pLock = sp; + $pIter = sp + 12|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $iTable; HEAP8[$3>>0] = $eLock; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pBt>>2] = $6; HEAP32[$pLock>>2] = 0; $7 = HEAP32[$pBt>>2]|0; - $8 = (($7) + 72|0); + $8 = ((($7)) + 72|0); $9 = HEAP32[$8>>2]|0; HEAP32[$pIter>>2] = $9; while(1) { @@ -177072,7 +179086,7 @@ function _setSharedCacheTableLock($p,$iTable,$eLock) { break; } $12 = HEAP32[$pIter>>2]|0; - $13 = (($12) + 4|0); + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; $16 = ($14|0)==($15|0); @@ -177087,7 +179101,7 @@ function _setSharedCacheTableLock($p,$iTable,$eLock) { } } $22 = HEAP32[$pIter>>2]|0; - $23 = (($22) + 12|0); + $23 = ((($22)) + 12|0); $24 = HEAP32[$23>>2]|0; HEAP32[$pIter>>2] = $24; } @@ -177106,20 +179120,20 @@ function _setSharedCacheTableLock($p,$iTable,$eLock) { if ($29) { $30 = HEAP32[$2>>2]|0; $31 = HEAP32[$pLock>>2]|0; - $32 = (($31) + 4|0); + $32 = ((($31)) + 4|0); HEAP32[$32>>2] = $30; $33 = HEAP32[$1>>2]|0; $34 = HEAP32[$pLock>>2]|0; HEAP32[$34>>2] = $33; $35 = HEAP32[$pBt>>2]|0; - $36 = (($35) + 72|0); + $36 = ((($35)) + 72|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$pLock>>2]|0; - $39 = (($38) + 12|0); + $39 = ((($38)) + 12|0); HEAP32[$39>>2] = $37; $40 = HEAP32[$pLock>>2]|0; $41 = HEAP32[$pBt>>2]|0; - $42 = (($41) + 72|0); + $42 = ((($41)) + 72|0); HEAP32[$42>>2] = $40; break; } @@ -177131,14 +179145,14 @@ function _setSharedCacheTableLock($p,$iTable,$eLock) { $43 = HEAP8[$3>>0]|0; $44 = $43&255; $45 = HEAP32[$pLock>>2]|0; - $46 = (($45) + 8|0); + $46 = ((($45)) + 8|0); $47 = HEAP8[$46>>0]|0; $48 = $47&255; $49 = ($44|0)>($48|0); if ($49) { $50 = HEAP8[$3>>0]|0; $51 = HEAP32[$pLock>>2]|0; - $52 = (($51) + 8|0); + $52 = ((($51)) + 8|0); HEAP8[$52>>0] = $50; } HEAP32[$0>>2] = 0; @@ -177165,7 +179179,7 @@ function _finalDbSize($pBt,$nOrig,$nFree) { HEAP32[$1>>2] = $nOrig; HEAP32[$2>>2] = $nFree; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 36|0); + $4 = ((($3)) + 36|0); $5 = HEAP32[$4>>2]|0; $6 = (($5>>>0) / 5)&-1; HEAP32[$nEntry>>2] = $6; @@ -177188,18 +179202,18 @@ function _finalDbSize($pBt,$nOrig,$nFree) { $22 = (($20) - ($21))|0; HEAP32[$nFin>>2] = $22; $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[1128>>2]|0; + $24 = HEAP32[916>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 32|0); + $26 = ((($25)) + 32|0); $27 = HEAP32[$26>>2]|0; $28 = (($24>>>0) / ($27>>>0))&-1; $29 = (($28) + 1)|0; $30 = ($23>>>0)>($29>>>0); if ($30) { $31 = HEAP32[$nFin>>2]|0; - $32 = HEAP32[1128>>2]|0; + $32 = HEAP32[916>>2]|0; $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 32|0); + $34 = ((($33)) + 32|0); $35 = HEAP32[$34>>2]|0; $36 = (($32>>>0) / ($35>>>0))&-1; $37 = (($36) + 1)|0; @@ -177220,9 +179234,9 @@ function _finalDbSize($pBt,$nOrig,$nFree) { $56 = 1; } else { $46 = HEAP32[$nFin>>2]|0; - $47 = HEAP32[1128>>2]|0; + $47 = HEAP32[916>>2]|0; $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 32|0); + $49 = ((($48)) + 32|0); $50 = HEAP32[$49>>2]|0; $51 = (($47>>>0) / ($50>>>0))&-1; $52 = (($51) + 1)|0; @@ -177247,7 +179261,7 @@ function _invalidateAllOverflowCache($pBt) { $p = sp; HEAP32[$0>>2] = $pBt; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; HEAP32[$p>>2] = $3; while(1) { @@ -177257,14 +179271,14 @@ function _invalidateAllOverflowCache($pBt) { break; } $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 72|0); + $7 = ((($6)) + 72|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = $9 & -5; $11 = $10&255; HEAP8[$7>>0] = $11; $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); $14 = HEAP32[$13>>2]|0; HEAP32[$p>>2] = $14; } @@ -177283,22 +179297,22 @@ function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eMode = 0, $eType = 0, $iFreePg = 0, $iFreePg1 = 0, $iNear = 0, $iPtrPage = 0, $nFreeList = 0, $pFreePg = 0, $pFreePg2 = 0, $pLastPg = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $nFreeList = sp + 32|0; - $rc = sp + 28|0; - $eType = sp + 57|0; - $iPtrPage = sp + 24|0; - $iFreePg = sp + 20|0; - $pFreePg = sp + 16|0; - $iFreePg1 = sp + 12|0; - $pLastPg = sp + 8|0; - $eMode = sp + 56|0; - $iNear = sp + 4|0; - $pFreePg2 = sp; + $0 = sp + 20|0; + $1 = sp + 36|0; + $2 = sp; + $3 = sp + 8|0; + $4 = sp + 32|0; + $nFreeList = sp + 40|0; + $rc = sp + 48|0; + $eType = sp + 56|0; + $iPtrPage = sp + 52|0; + $iFreePg = sp + 12|0; + $pFreePg = sp + 4|0; + $iFreePg1 = sp + 28|0; + $pLastPg = sp + 16|0; + $eMode = sp + 57|0; + $iNear = sp + 44|0; + $pFreePg2 = sp + 24|0; HEAP32[$1>>2] = $pBt; HEAP32[$2>>2] = $nFin; HEAP32[$3>>2] = $iLastPg; @@ -177311,20 +179325,20 @@ function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { do { if (!($9)) { $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[1128>>2]|0; + $11 = HEAP32[916>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 32|0); + $13 = ((($12)) + 32|0); $14 = HEAP32[$13>>2]|0; $15 = (($11>>>0) / ($14>>>0))&-1; $16 = (($15) + 1)|0; $17 = ($10|0)!=($16|0); if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 12|0); + $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 56|0); + $21 = ((($20)) + 56|0); $22 = HEAP32[$21>>2]|0; - $23 = (($22) + 36|0); + $23 = ((($22)) + 36|0); $24 = (_sqlite3Get4byte($23)|0); HEAP32[$nFreeList>>2] = $24; $25 = HEAP32[$nFreeList>>2]|0; @@ -177464,9 +179478,9 @@ function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { $86 = (($85) + -1)|0; HEAP32[$3>>2] = $86; $87 = HEAP32[$3>>2]|0; - $88 = HEAP32[1128>>2]|0; + $88 = HEAP32[916>>2]|0; $89 = HEAP32[$1>>2]|0; - $90 = (($89) + 32|0); + $90 = ((($89)) + 32|0); $91 = HEAP32[$90>>2]|0; $92 = (($88>>>0) / ($91>>>0))&-1; $93 = (($92) + 1)|0; @@ -177484,11 +179498,11 @@ function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { } } $100 = HEAP32[$1>>2]|0; - $101 = (($100) + 19|0); + $101 = ((($100)) + 19|0); HEAP8[$101>>0] = 1; $102 = HEAP32[$3>>2]|0; $103 = HEAP32[$1>>2]|0; - $104 = (($103) + 44|0); + $104 = ((($103)) + 44|0); HEAP32[$104>>2] = $102; } HEAP32[$0>>2] = 0; @@ -177528,33 +179542,33 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { var $pNewTrunk = 0, $pPage1 = 0, $pPg = 0, $pPrevTrunk = 0, $pTrunk = 0, $rc = 0, $searchList = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; + $0 = sp + 36|0; + $1 = sp; + $2 = sp + 56|0; + $3 = sp + 28|0; $4 = sp + 76|0; - $5 = sp + 98|0; - $pPage1 = sp + 72|0; - $rc = sp + 68|0; + $5 = sp + 96|0; + $pPage1 = sp + 12|0; + $rc = sp + 48|0; $n = sp + 64|0; - $k = sp + 60|0; - $pTrunk = sp + 56|0; - $pPrevTrunk = sp + 52|0; - $mxPage = sp + 48|0; - $iTrunk = sp + 44|0; + $k = sp + 72|0; + $pTrunk = sp + 80|0; + $pPrevTrunk = sp + 88|0; + $mxPage = sp + 32|0; + $iTrunk = sp + 92|0; $searchList = sp + 97|0; - $eType = sp + 96|0; - $pNewTrunk = sp + 40|0; - $iNewTrunk = sp + 36|0; - $closest = sp + 32|0; - $iPage = sp + 28|0; - $aData = sp + 24|0; - $i = sp + 20|0; - $dist = sp + 16|0; - $d2 = sp + 12|0; - $noContent = sp + 8|0; - $bNoContent = sp + 4|0; - $pPg = sp; + $eType = sp + 98|0; + $pNewTrunk = sp + 52|0; + $iNewTrunk = sp + 60|0; + $closest = sp + 16|0; + $iPage = sp + 4|0; + $aData = sp + 20|0; + $i = sp + 68|0; + $dist = sp + 24|0; + $d2 = sp + 84|0; + $noContent = sp + 44|0; + $bNoContent = sp + 40|0; + $pPg = sp + 8|0; HEAP32[$1>>2] = $pBt; HEAP32[$2>>2] = $ppPage; HEAP32[$3>>2] = $pPgno; @@ -177563,16 +179577,16 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { HEAP32[$pTrunk>>2] = 0; HEAP32[$pPrevTrunk>>2] = 0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pPage1>>2] = $8; $9 = HEAP32[$1>>2]|0; $10 = (_btreePagecount($9)|0); HEAP32[$mxPage>>2] = $10; $11 = HEAP32[$pPage1>>2]|0; - $12 = (($11) + 56|0); + $12 = ((($11)) + 56|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 36|0); + $14 = ((($13)) + 36|0); $15 = (_sqlite3Get4byte($14)|0); HEAP32[$n>>2] = $15; $16 = HEAP32[$n>>2]|0; @@ -177630,7 +179644,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { } } while(0); $40 = HEAP32[$pPage1>>2]|0; - $41 = (($40) + 68|0); + $41 = ((($40)) + 68|0); $42 = HEAP32[$41>>2]|0; $43 = (_sqlite3PagerWrite($42)|0); HEAP32[$rc>>2] = $43; @@ -177643,9 +179657,9 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { STACKTOP = sp;return ($464|0); } $47 = HEAP32[$pPage1>>2]|0; - $48 = (($47) + 56|0); + $48 = ((($47)) + 56|0); $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 36|0); + $50 = ((($49)) + 36|0); $51 = HEAP32[$n>>2]|0; $52 = (($51) - 1)|0; _sqlite3Put4byte($50,$52); @@ -177656,15 +179670,15 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $55 = ($54|0)!=(0|0); if ($55) { $56 = HEAP32[$pPrevTrunk>>2]|0; - $57 = (($56) + 56|0); + $57 = ((($56)) + 56|0); $58 = HEAP32[$57>>2]|0; $59 = (_sqlite3Get4byte($58)|0); HEAP32[$iTrunk>>2] = $59; } else { $60 = HEAP32[$pPage1>>2]|0; - $61 = (($60) + 56|0); + $61 = ((($60)) + 56|0); $62 = HEAP32[$61>>2]|0; - $63 = (($62) + 32|0); + $63 = ((($62)) + 32|0); $64 = (_sqlite3Get4byte($63)|0); HEAP32[$iTrunk>>2] = $64; } @@ -177687,9 +179701,9 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break; } $74 = HEAP32[$pTrunk>>2]|0; - $75 = (($74) + 56|0); + $75 = ((($74)) + 56|0); $76 = HEAP32[$75>>2]|0; - $77 = (($76) + 4|0); + $77 = ((($76)) + 4|0); $78 = (_sqlite3Get4byte($77)|0); HEAP32[$k>>2] = $78; $79 = HEAP32[$k>>2]|0; @@ -177701,7 +179715,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { if ($or$cond) { $100 = HEAP32[$k>>2]|0; $101 = HEAP32[$1>>2]|0; - $102 = (($101) + 36|0); + $102 = ((($101)) + 36|0); $103 = HEAP32[$102>>2]|0; $104 = (($103>>>0) / 4)&-1; $105 = (($104) - 2)|0; @@ -177740,7 +179754,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { HEAP32[$123>>2] = $122; HEAP8[$searchList>>0] = 0; $124 = HEAP32[$pTrunk>>2]|0; - $125 = (($124) + 68|0); + $125 = ((($124)) + 68|0); $126 = HEAP32[$125>>2]|0; $127 = (_sqlite3PagerWrite($126)|0); HEAP32[$rc>>2] = $127; @@ -177757,17 +179771,17 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $133 = ($132|0)!=(0|0); if (!($133)) { $134 = HEAP32[$pPage1>>2]|0; - $135 = (($134) + 56|0); + $135 = ((($134)) + 56|0); $136 = HEAP32[$135>>2]|0; - $137 = (($136) + 32|0); + $137 = ((($136)) + 32|0); $138 = HEAP32[$pTrunk>>2]|0; - $139 = (($138) + 56|0); + $139 = ((($138)) + 56|0); $140 = HEAP32[$139>>2]|0; - ;HEAP8[$137+0>>0]=HEAP8[$140+0>>0]|0;HEAP8[$137+1>>0]=HEAP8[$140+1>>0]|0;HEAP8[$137+2>>0]=HEAP8[$140+2>>0]|0;HEAP8[$137+3>>0]=HEAP8[$140+3>>0]|0; + ;HEAP8[$137>>0]=HEAP8[$140>>0]|0;HEAP8[$137+1>>0]=HEAP8[$140+1>>0]|0;HEAP8[$137+2>>0]=HEAP8[$140+2>>0]|0;HEAP8[$137+3>>0]=HEAP8[$140+3>>0]|0; break; } $141 = HEAP32[$pPrevTrunk>>2]|0; - $142 = (($141) + 68|0); + $142 = ((($141)) + 68|0); $143 = HEAP32[$142>>2]|0; $144 = (_sqlite3PagerWrite($143)|0); HEAP32[$rc>>2] = $144; @@ -177777,17 +179791,17 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break L5; } $147 = HEAP32[$pPrevTrunk>>2]|0; - $148 = (($147) + 56|0); + $148 = ((($147)) + 56|0); $149 = HEAP32[$148>>2]|0; $150 = HEAP32[$pTrunk>>2]|0; - $151 = (($150) + 56|0); + $151 = ((($150)) + 56|0); $152 = HEAP32[$151>>2]|0; - ;HEAP8[$149+0>>0]=HEAP8[$152+0>>0]|0;HEAP8[$149+1>>0]=HEAP8[$152+1>>0]|0;HEAP8[$149+2>>0]=HEAP8[$152+2>>0]|0;HEAP8[$149+3>>0]=HEAP8[$152+3>>0]|0; + ;HEAP8[$149>>0]=HEAP8[$152>>0]|0;HEAP8[$149+1>>0]=HEAP8[$152+1>>0]|0;HEAP8[$149+2>>0]=HEAP8[$152+2>>0]|0;HEAP8[$149+3>>0]=HEAP8[$152+3>>0]|0; } else { $153 = HEAP32[$pTrunk>>2]|0; - $154 = (($153) + 56|0); + $154 = ((($153)) + 56|0); $155 = HEAP32[$154>>2]|0; - $156 = (($155) + 8|0); + $156 = ((($155)) + 8|0); $157 = (_sqlite3Get4byte($156)|0); HEAP32[$iNewTrunk>>2] = $157; $158 = HEAP32[$iNewTrunk>>2]|0; @@ -177807,7 +179821,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break L5; } $167 = HEAP32[$pNewTrunk>>2]|0; - $168 = (($167) + 68|0); + $168 = ((($167)) + 68|0); $169 = HEAP32[$168>>2]|0; $170 = (_sqlite3PagerWrite($169)|0); HEAP32[$rc>>2] = $170; @@ -177818,27 +179832,27 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { label = 42; break L22; } - $174 = (($173) + 56|0); + $174 = ((($173)) + 56|0); $175 = HEAP32[$174>>2]|0; $176 = HEAP32[$pTrunk>>2]|0; - $177 = (($176) + 56|0); + $177 = ((($176)) + 56|0); $178 = HEAP32[$177>>2]|0; - ;HEAP8[$175+0>>0]=HEAP8[$178+0>>0]|0;HEAP8[$175+1>>0]=HEAP8[$178+1>>0]|0;HEAP8[$175+2>>0]=HEAP8[$178+2>>0]|0;HEAP8[$175+3>>0]=HEAP8[$178+3>>0]|0; + ;HEAP8[$175>>0]=HEAP8[$178>>0]|0;HEAP8[$175+1>>0]=HEAP8[$178+1>>0]|0;HEAP8[$175+2>>0]=HEAP8[$178+2>>0]|0;HEAP8[$175+3>>0]=HEAP8[$178+3>>0]|0; $179 = HEAP32[$pNewTrunk>>2]|0; - $180 = (($179) + 56|0); + $180 = ((($179)) + 56|0); $181 = HEAP32[$180>>2]|0; - $182 = (($181) + 4|0); + $182 = ((($181)) + 4|0); $183 = HEAP32[$k>>2]|0; $184 = (($183) - 1)|0; _sqlite3Put4byte($182,$184); $185 = HEAP32[$pNewTrunk>>2]|0; - $186 = (($185) + 56|0); + $186 = ((($185)) + 56|0); $187 = HEAP32[$186>>2]|0; - $188 = (($187) + 8|0); + $188 = ((($187)) + 8|0); $189 = HEAP32[$pTrunk>>2]|0; - $190 = (($189) + 56|0); + $190 = ((($189)) + 56|0); $191 = HEAP32[$190>>2]|0; - $192 = (($191) + 12|0); + $192 = ((($191)) + 12|0); $193 = HEAP32[$k>>2]|0; $194 = (($193) - 1)|0; $195 = $194<<2; @@ -177849,15 +179863,15 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $198 = ($197|0)!=(0|0); if (!($198)) { $199 = HEAP32[$pPage1>>2]|0; - $200 = (($199) + 56|0); + $200 = ((($199)) + 56|0); $201 = HEAP32[$200>>2]|0; - $202 = (($201) + 32|0); + $202 = ((($201)) + 32|0); $203 = HEAP32[$iNewTrunk>>2]|0; _sqlite3Put4byte($202,$203); break; } $204 = HEAP32[$pPrevTrunk>>2]|0; - $205 = (($204) + 68|0); + $205 = ((($204)) + 68|0); $206 = HEAP32[$205>>2]|0; $207 = (_sqlite3PagerWrite($206)|0); HEAP32[$rc>>2] = $207; @@ -177867,7 +179881,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break L5; } $210 = HEAP32[$pPrevTrunk>>2]|0; - $211 = (($210) + 56|0); + $211 = ((($210)) + 56|0); $212 = HEAP32[$211>>2]|0; $213 = HEAP32[$iNewTrunk>>2]|0; _sqlite3Put4byte($212,$213); @@ -177881,7 +179895,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $215 = ($214>>>0)>(0); if ($215) { $216 = HEAP32[$pTrunk>>2]|0; - $217 = (($216) + 56|0); + $217 = ((($216)) + 56|0); $218 = HEAP32[$217>>2]|0; HEAP32[$aData>>2] = $218; $219 = HEAP32[$4>>2]|0; @@ -177922,7 +179936,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break; } else { $238 = HEAP32[$aData>>2]|0; - $239 = (($238) + 8|0); + $239 = ((($238)) + 8|0); $240 = (_sqlite3Get4byte($239)|0); $241 = HEAP32[$4>>2]|0; $242 = (($240) - ($241))|0; @@ -178001,7 +180015,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $285 = HEAP32[$3>>2]|0; HEAP32[$285>>2] = $284; $286 = HEAP32[$pTrunk>>2]|0; - $287 = (($286) + 68|0); + $287 = ((($286)) + 68|0); $288 = HEAP32[$287>>2]|0; $289 = (_sqlite3PagerWrite($288)|0); HEAP32[$rc>>2] = $289; @@ -178025,10 +180039,10 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $303 = (4 + ($302))|0; $304 = HEAP32[$aData>>2]|0; $305 = (($304) + ($303)|0); - ;HEAP8[$300+0>>0]=HEAP8[$305+0>>0]|0;HEAP8[$300+1>>0]=HEAP8[$305+1>>0]|0;HEAP8[$300+2>>0]=HEAP8[$305+2>>0]|0;HEAP8[$300+3>>0]=HEAP8[$305+3>>0]|0; + ;HEAP8[$300>>0]=HEAP8[$305>>0]|0;HEAP8[$300+1>>0]=HEAP8[$305+1>>0]|0;HEAP8[$300+2>>0]=HEAP8[$305+2>>0]|0;HEAP8[$300+3>>0]=HEAP8[$305+3>>0]|0; } $306 = HEAP32[$aData>>2]|0; - $307 = (($306) + 4|0); + $307 = ((($306)) + 4|0); $308 = HEAP32[$k>>2]|0; $309 = (($308) - 1)|0; _sqlite3Put4byte($307,$309); @@ -178053,7 +180067,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { if ($324) { $325 = HEAP32[$2>>2]|0; $326 = HEAP32[$325>>2]|0; - $327 = (($326) + 68|0); + $327 = ((($326)) + 68|0); $328 = HEAP32[$327>>2]|0; $329 = (_sqlite3PagerWrite($328)|0); HEAP32[$rc>>2] = $329; @@ -178071,7 +180085,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { } } else { $83 = HEAP32[$pTrunk>>2]|0; - $84 = (($83) + 68|0); + $84 = ((($83)) + 68|0); $85 = HEAP32[$84>>2]|0; $86 = (_sqlite3PagerWrite($85)|0); HEAP32[$rc>>2] = $86; @@ -178084,13 +180098,13 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $90 = HEAP32[$3>>2]|0; HEAP32[$90>>2] = $89; $91 = HEAP32[$pPage1>>2]|0; - $92 = (($91) + 56|0); + $92 = ((($91)) + 56|0); $93 = HEAP32[$92>>2]|0; - $94 = (($93) + 32|0); + $94 = ((($93)) + 32|0); $95 = HEAP32[$pTrunk>>2]|0; - $96 = (($95) + 56|0); + $96 = ((($95)) + 56|0); $97 = HEAP32[$96>>2]|0; - ;HEAP8[$94+0>>0]=HEAP8[$97+0>>0]|0;HEAP8[$94+1>>0]=HEAP8[$97+1>>0]|0;HEAP8[$94+2>>0]=HEAP8[$97+2>>0]|0;HEAP8[$94+3>>0]=HEAP8[$97+3>>0]|0; + ;HEAP8[$94>>0]=HEAP8[$97>>0]|0;HEAP8[$94+1>>0]=HEAP8[$97+1>>0]|0;HEAP8[$94+2>>0]=HEAP8[$97+2>>0]|0;HEAP8[$94+3>>0]=HEAP8[$97+3>>0]|0; $98 = HEAP32[$pTrunk>>2]|0; $99 = HEAP32[$2>>2]|0; HEAP32[$99>>2] = $98; @@ -178131,16 +180145,16 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { } } else { $337 = HEAP32[$1>>2]|0; - $338 = (($337) + 19|0); + $338 = ((($337)) + 19|0); $339 = HEAP8[$338>>0]|0; $340 = $339&255; $341 = (0)==($340|0); $342 = $341 ? 1 : 0; HEAP32[$bNoContent>>2] = $342; $343 = HEAP32[$1>>2]|0; - $344 = (($343) + 12|0); + $344 = ((($343)) + 12|0); $345 = HEAP32[$344>>2]|0; - $346 = (($345) + 68|0); + $346 = ((($345)) + 68|0); $347 = HEAP32[$346>>2]|0; $348 = (_sqlite3PagerWrite($347)|0); HEAP32[$rc>>2] = $348; @@ -178153,29 +180167,29 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { STACKTOP = sp;return ($464|0); } $352 = HEAP32[$1>>2]|0; - $353 = (($352) + 44|0); + $353 = ((($352)) + 44|0); $354 = HEAP32[$353>>2]|0; $355 = (($354) + 1)|0; HEAP32[$353>>2] = $355; $356 = HEAP32[$1>>2]|0; - $357 = (($356) + 44|0); + $357 = ((($356)) + 44|0); $358 = HEAP32[$357>>2]|0; - $359 = HEAP32[1128>>2]|0; + $359 = HEAP32[916>>2]|0; $360 = HEAP32[$1>>2]|0; - $361 = (($360) + 32|0); + $361 = ((($360)) + 32|0); $362 = HEAP32[$361>>2]|0; $363 = (($359>>>0) / ($362>>>0))&-1; $364 = (($363) + 1)|0; $365 = ($358|0)==($364|0); if ($365) { $366 = HEAP32[$1>>2]|0; - $367 = (($366) + 44|0); + $367 = ((($366)) + 44|0); $368 = HEAP32[$367>>2]|0; $369 = (($368) + 1)|0; HEAP32[$367>>2] = $369; } $370 = HEAP32[$1>>2]|0; - $371 = (($370) + 17|0); + $371 = ((($370)) + 17|0); $372 = HEAP8[$371>>0]|0; $373 = $372&255; $374 = ($373|0)!=(0); @@ -178183,18 +180197,18 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { if ($374) { $375 = HEAP32[$1>>2]|0; $376 = HEAP32[$1>>2]|0; - $377 = (($376) + 44|0); + $377 = ((($376)) + 44|0); $378 = HEAP32[$377>>2]|0; $379 = (_ptrmapPageno($375,$378)|0); $380 = HEAP32[$1>>2]|0; - $381 = (($380) + 44|0); + $381 = ((($380)) + 44|0); $382 = HEAP32[$381>>2]|0; $383 = ($379|0)==($382|0); if ($383) { HEAP32[$pPg>>2] = 0; $384 = HEAP32[$1>>2]|0; $385 = HEAP32[$1>>2]|0; - $386 = (($385) + 44|0); + $386 = ((($385)) + 44|0); $387 = HEAP32[$386>>2]|0; $388 = HEAP32[$bNoContent>>2]|0; $389 = (_btreeGetPage($384,$387,$pPg,$388)|0); @@ -178203,7 +180217,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $391 = ($390|0)==(0); if ($391) { $392 = HEAP32[$pPg>>2]|0; - $393 = (($392) + 68|0); + $393 = ((($392)) + 68|0); $394 = HEAP32[$393>>2]|0; $395 = (_sqlite3PagerWrite($394)|0); HEAP32[$rc>>2] = $395; @@ -178219,16 +180233,16 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { STACKTOP = sp;return ($464|0); } else { $400 = HEAP32[$1>>2]|0; - $401 = (($400) + 44|0); + $401 = ((($400)) + 44|0); $402 = HEAP32[$401>>2]|0; $403 = (($402) + 1)|0; HEAP32[$401>>2] = $403; $404 = HEAP32[$1>>2]|0; - $405 = (($404) + 44|0); + $405 = ((($404)) + 44|0); $406 = HEAP32[$405>>2]|0; - $407 = HEAP32[1128>>2]|0; + $407 = HEAP32[916>>2]|0; $408 = HEAP32[$1>>2]|0; - $409 = (($408) + 32|0); + $409 = ((($408)) + 32|0); $410 = HEAP32[$409>>2]|0; $411 = (($407>>>0) / ($410>>>0))&-1; $412 = (($411) + 1)|0; @@ -178237,7 +180251,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break; } $414 = HEAP32[$1>>2]|0; - $415 = (($414) + 44|0); + $415 = ((($414)) + 44|0); $416 = HEAP32[$415>>2]|0; $417 = (($416) + 1)|0; HEAP32[$415>>2] = $417; @@ -178247,17 +180261,17 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { } } while(0); $418 = HEAP32[$1>>2]|0; - $419 = (($418) + 12|0); + $419 = ((($418)) + 12|0); $420 = HEAP32[$419>>2]|0; - $421 = (($420) + 56|0); + $421 = ((($420)) + 56|0); $422 = HEAP32[$421>>2]|0; - $423 = (($422) + 28|0); + $423 = ((($422)) + 28|0); $424 = HEAP32[$1>>2]|0; - $425 = (($424) + 44|0); + $425 = ((($424)) + 44|0); $426 = HEAP32[$425>>2]|0; _sqlite3Put4byte($423,$426); $427 = HEAP32[$1>>2]|0; - $428 = (($427) + 44|0); + $428 = ((($427)) + 44|0); $429 = HEAP32[$428>>2]|0; $430 = HEAP32[$3>>2]|0; HEAP32[$430>>2] = $429; @@ -178278,7 +180292,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { } else { $440 = HEAP32[$2>>2]|0; $441 = HEAP32[$440>>2]|0; - $442 = (($441) + 68|0); + $442 = ((($441)) + 68|0); $443 = HEAP32[$442>>2]|0; $444 = (_sqlite3PagerWrite($443)|0); HEAP32[$rc>>2] = $444; @@ -178304,7 +180318,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { do { if ($452) { $454 = HEAP32[$453>>2]|0; - $455 = (($454) + 68|0); + $455 = ((($454)) + 68|0); $456 = HEAP32[$455>>2]|0; $457 = (_sqlite3PagerPageRefcount($456)|0); $458 = ($457|0)>(1); @@ -178344,18 +180358,18 @@ function _relocatePage($pBt,$pDbPage,$eType,$iPtrPage,$iFreePage,$isCommit) { var $pPager = 0, $pPtrPage = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; + $0 = sp + 12|0; + $1 = sp + 16|0; + $2 = sp + 28|0; $3 = sp + 44|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = sp + 20|0; - $pPtrPage = sp + 16|0; - $iDbPage = sp + 12|0; + $4 = sp + 32|0; + $5 = sp + 36|0; + $6 = sp + 40|0; + $pPtrPage = sp + 24|0; + $iDbPage = sp + 20|0; $pPager = sp + 8|0; - $rc = sp + 4|0; - $nextOvfl = sp; + $rc = sp; + $nextOvfl = sp + 4|0; HEAP32[$1>>2] = $pBt; HEAP32[$2>>2] = $pDbPage; HEAP8[$3>>0] = $eType; @@ -178363,7 +180377,7 @@ function _relocatePage($pBt,$pDbPage,$eType,$iPtrPage,$iFreePage,$isCommit) { HEAP32[$5>>2] = $iFreePage; HEAP32[$6>>2] = $isCommit; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 72|0); + $8 = ((($7)) + 72|0); $9 = HEAP32[$8>>2]|0; HEAP32[$iDbPage>>2] = $9; $10 = HEAP32[$1>>2]|0; @@ -178371,7 +180385,7 @@ function _relocatePage($pBt,$pDbPage,$eType,$iPtrPage,$iFreePage,$isCommit) { HEAP32[$pPager>>2] = $11; $12 = HEAP32[$pPager>>2]|0; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 68|0); + $14 = ((($13)) + 68|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$5>>2]|0; $17 = HEAP32[$6>>2]|0; @@ -178387,7 +180401,7 @@ function _relocatePage($pBt,$pDbPage,$eType,$iPtrPage,$iFreePage,$isCommit) { } $22 = HEAP32[$5>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = (($23) + 72|0); + $24 = ((($23)) + 72|0); HEAP32[$24>>2] = $22; $25 = HEAP8[$3>>0]|0; $26 = $25&255; @@ -178402,7 +180416,7 @@ function _relocatePage($pBt,$pDbPage,$eType,$iPtrPage,$iFreePage,$isCommit) { label = 5; } else { $36 = HEAP32[$2>>2]|0; - $37 = (($36) + 56|0); + $37 = ((($36)) + 56|0); $38 = HEAP32[$37>>2]|0; $39 = (_sqlite3Get4byte($38)|0); HEAP32[$nextOvfl>>2] = $39; @@ -178455,7 +180469,7 @@ function _relocatePage($pBt,$pDbPage,$eType,$iPtrPage,$iFreePage,$isCommit) { STACKTOP = sp;return ($77|0); } $57 = HEAP32[$pPtrPage>>2]|0; - $58 = (($57) + 68|0); + $58 = ((($57)) + 68|0); $59 = HEAP32[$58>>2]|0; $60 = (_sqlite3PagerWrite($59)|0); HEAP32[$rc>>2] = $60; @@ -178508,23 +180522,23 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $needSyncPgno = 0, $or$cond = 0, $origPgno = 0, $pPgHdr = 0, $pPgOld = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pPgOld = sp + 16|0; + $3 = sp + 4|0; + $4 = sp + 32|0; + $pPgOld = sp + 36|0; $needSyncPgno = sp + 12|0; - $rc = sp + 8|0; - $origPgno = sp + 4|0; - $pPgHdr = sp; + $rc = sp + 24|0; + $origPgno = sp + 20|0; + $pPgHdr = sp + 8|0; HEAP32[$1>>2] = $pPager; HEAP32[$2>>2] = $pPg; HEAP32[$3>>2] = $pgno; HEAP32[$4>>2] = $isCommit; HEAP32[$needSyncPgno>>2] = 0; $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 15|0); + $6 = ((($5)) + 15|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if ($8) { @@ -178541,7 +180555,7 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { } } $14 = HEAP32[$2>>2]|0; - $15 = (($14) + 24|0); + $15 = ((($14)) + 24|0); $16 = HEAP16[$15>>1]|0; $17 = $16&65535; $18 = $17 & 2; @@ -178564,7 +180578,7 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { } } $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 24|0); + $28 = ((($27)) + 24|0); $29 = HEAP16[$28>>1]|0; $30 = $29&65535; $31 = $30 & 4; @@ -178574,12 +180588,12 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { $or$cond = $32 | $34; if (!($or$cond)) { $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 20|0); + $36 = ((($35)) + 20|0); $37 = HEAP32[$36>>2]|0; HEAP32[$needSyncPgno>>2] = $37; } $38 = HEAP32[$2>>2]|0; - $39 = (($38) + 24|0); + $39 = ((($38)) + 24|0); $40 = HEAP16[$39>>1]|0; $41 = $40&65535; $42 = $41 & -5; @@ -178594,25 +180608,25 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { do { if ($48) { $49 = HEAP32[$pPgOld>>2]|0; - $50 = (($49) + 24|0); + $50 = ((($49)) + 24|0); $51 = HEAP16[$50>>1]|0; $52 = $51&65535; $53 = $52 & 4; $54 = HEAP32[$2>>2]|0; - $55 = (($54) + 24|0); + $55 = ((($54)) + 24|0); $56 = HEAP16[$55>>1]|0; $57 = $56&65535; $58 = $57 | $53; $59 = $58&65535; HEAP16[$55>>1] = $59; $60 = HEAP32[$1>>2]|0; - $61 = (($60) + 15|0); + $61 = ((($60)) + 15|0); $62 = HEAP8[$61>>0]|0; $63 = ($62<<24>>24)!=(0); $64 = HEAP32[$pPgOld>>2]|0; if ($63) { $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 24|0); + $66 = ((($65)) + 24|0); $67 = HEAP32[$66>>2]|0; $68 = (($67) + 1)|0; _sqlite3PcacheMove($64,$68); @@ -178624,7 +180638,7 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { } } while(0); $69 = HEAP32[$2>>2]|0; - $70 = (($69) + 20|0); + $70 = ((($69)) + 20|0); $71 = HEAP32[$70>>2]|0; HEAP32[$origPgno>>2] = $71; $72 = HEAP32[$2>>2]|0; @@ -178633,7 +180647,7 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { $74 = HEAP32[$2>>2]|0; _sqlite3PcacheMakeDirty($74); $75 = HEAP32[$1>>2]|0; - $76 = (($75) + 15|0); + $76 = ((($75)) + 15|0); $77 = HEAP8[$76>>0]|0; $78 = ($77<<24>>24)!=(0); if ($78) { @@ -178655,7 +180669,7 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { $88 = ($87|0)!=(0); if (!($88)) { $102 = HEAP32[$pPgHdr>>2]|0; - $103 = (($102) + 24|0); + $103 = ((($102)) + 24|0); $104 = HEAP16[$103>>1]|0; $105 = $104&65535; $106 = $105 | 4; @@ -178669,16 +180683,16 @@ function _sqlite3PagerMovepage($pPager,$pPg,$pgno,$isCommit) { } $89 = HEAP32[$needSyncPgno>>2]|0; $90 = HEAP32[$1>>2]|0; - $91 = (($90) + 28|0); + $91 = ((($90)) + 28|0); $92 = HEAP32[$91>>2]|0; $93 = ($89>>>0)<=($92>>>0); if ($93) { $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 56|0); + $95 = ((($94)) + 56|0); $96 = HEAP32[$95>>2]|0; $97 = HEAP32[$needSyncPgno>>2]|0; $98 = HEAP32[$1>>2]|0; - $99 = (($98) + 200|0); + $99 = ((($98)) + 200|0); $100 = HEAP32[$99>>2]|0; _sqlite3BitvecClear($96,$97,$100); } @@ -178702,25 +180716,25 @@ function _setChildPtrmaps($pPage) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 32|0; - $i = sp + 28|0; - $nCell = sp + 24|0; + $i = sp + 16|0; + $nCell = sp + 8|0; $rc = sp + 20|0; - $pBt = sp + 16|0; + $pBt = sp + 28|0; $isInitOrig = sp + 36|0; $pgno = sp + 12|0; - $pCell = sp + 8|0; + $pCell = sp + 24|0; $childPgno = sp + 4|0; $childPgno1 = sp; HEAP32[$0>>2] = $pPage; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 52|0); + $2 = ((($1)) + 52|0); $3 = HEAP32[$2>>2]|0; HEAP32[$pBt>>2] = $3; $4 = HEAP32[$0>>2]|0; $5 = HEAP8[$4>>0]|0; HEAP8[$isInitOrig>>0] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 72|0); + $7 = ((($6)) + 72|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pgno>>2] = $8; $9 = HEAP32[$0>>2]|0; @@ -178736,7 +180750,7 @@ function _setChildPtrmaps($pPage) { STACKTOP = sp;return ($79|0); } $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 18|0); + $14 = ((($13)) + 18|0); $15 = HEAP16[$14>>1]|0; $16 = $15&65535; HEAP32[$nCell>>2] = $16; @@ -178749,16 +180763,16 @@ function _setChildPtrmaps($pPage) { if (!($19)) { break; } - $21 = (($20) + 56|0); + $21 = ((($20)) + 56|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 20|0); + $24 = ((($23)) + 20|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = HEAP32[$i>>2]|0; $28 = $27<<1; $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 64|0); + $30 = ((($29)) + 64|0); $31 = HEAP32[$30>>2]|0; $32 = (($31) + ($28)|0); $33 = HEAP8[$32>>0]|0; @@ -178767,10 +180781,10 @@ function _setChildPtrmaps($pPage) { $36 = HEAP32[$i>>2]|0; $37 = $36<<1; $38 = HEAP32[$0>>2]|0; - $39 = (($38) + 64|0); + $39 = ((($38)) + 64|0); $40 = HEAP32[$39>>2]|0; $41 = (($40) + ($37)|0); - $42 = (($41) + 1|0); + $42 = ((($41)) + 1|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = $35 | $44; @@ -178781,7 +180795,7 @@ function _setChildPtrmaps($pPage) { $49 = HEAP32[$pCell>>2]|0; _ptrmapPutOvflPtr($48,$49,$rc); $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 5|0); + $51 = ((($50)) + 5|0); $52 = HEAP8[$51>>0]|0; $53 = ($52<<24>>24)!=(0); if (!($53)) { @@ -178797,7 +180811,7 @@ function _setChildPtrmaps($pPage) { $60 = (($59) + 1)|0; HEAP32[$i>>2] = $60; } - $61 = (($20) + 5|0); + $61 = ((($20)) + 5|0); $62 = HEAP8[$61>>0]|0; $63 = ($62<<24>>24)!=(0); if ($63) { @@ -178808,12 +180822,12 @@ function _setChildPtrmaps($pPage) { STACKTOP = sp;return ($79|0); } $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 6|0); + $65 = ((($64)) + 6|0); $66 = HEAP8[$65>>0]|0; $67 = $66&255; $68 = (($67) + 8)|0; $69 = HEAP32[$0>>2]|0; - $70 = (($69) + 56|0); + $70 = ((($69)) + 56|0); $71 = HEAP32[$70>>2]|0; $72 = (($71) + ($68)|0); $73 = (_sqlite3Get4byte($72)|0); @@ -178840,16 +180854,16 @@ function _ptrmapPut($pBt,$key,$eType,$parent,$pRC) { var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $iPtrmap = 0, $offset = 0, $pDbPage = 0, $pPtrmap = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 36|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pDbPage = sp + 16|0; + $3 = sp + 20|0; + $4 = sp + 28|0; + $pDbPage = sp + 32|0; $pPtrmap = sp + 12|0; - $iPtrmap = sp + 8|0; + $iPtrmap = sp + 24|0; $offset = sp + 4|0; - $rc = sp; + $rc = sp + 8|0; HEAP32[$0>>2] = $pBt; HEAP32[$1>>2] = $key; HEAP8[$2>>0] = $eType; @@ -178965,11 +180979,11 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 48|0; - $1 = sp + 44|0; + $1 = sp + 36|0; $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 53|0; - $isInitOrig = sp + 52|0; + $3 = sp + 44|0; + $4 = sp + 52|0; + $isInitOrig = sp + 53|0; $i = sp + 32|0; $nCell = sp + 28|0; $pCell = sp + 24|0; @@ -178984,14 +180998,14 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { $8 = HEAP32[$1>>2]|0; do { if ($7) { - $9 = (($8) + 56|0); + $9 = ((($8)) + 56|0); $10 = HEAP32[$9>>2]|0; $11 = (_sqlite3Get4byte($10)|0); $12 = HEAP32[$2>>2]|0; $13 = ($11|0)!=($12|0); if (!($13)) { $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 56|0); + $16 = ((($15)) + 56|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$3>>2]|0; _sqlite3Put4byte($17,$18); @@ -179007,7 +181021,7 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { $20 = HEAP32[$1>>2]|0; (_btreeInitPage($20)|0); $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 18|0); + $22 = ((($21)) + 18|0); $23 = HEAP16[$22>>1]|0; $24 = $23&65535; HEAP32[$nCell>>2] = $24; @@ -179020,16 +181034,16 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { break; } $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 56|0); + $29 = ((($28)) + 56|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 20|0); + $32 = ((($31)) + 20|0); $33 = HEAP16[$32>>1]|0; $34 = $33&65535; $35 = HEAP32[$i>>2]|0; $36 = $35<<1; $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 64|0); + $38 = ((($37)) + 64|0); $39 = HEAP32[$38>>2]|0; $40 = (($39) + ($36)|0); $41 = HEAP8[$40>>0]|0; @@ -179038,10 +181052,10 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { $44 = HEAP32[$i>>2]|0; $45 = $44<<1; $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 64|0); + $47 = ((($46)) + 64|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + ($45)|0); - $50 = (($49) + 1|0); + $50 = ((($49)) + 1|0); $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = $43 | $52; @@ -179055,29 +181069,29 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { $59 = HEAP32[$1>>2]|0; $60 = HEAP32[$pCell>>2]|0; _btreeParseCellPtr($59,$60,$info); - $61 = (($info) + 18|0); + $61 = ((($info)) + 18|0); $62 = HEAP16[$61>>1]|0; $63 = $62&65535; $64 = ($63|0)!=(0); if ($64) { $65 = HEAP32[$pCell>>2]|0; - $66 = (($info) + 18|0); + $66 = ((($info)) + 18|0); $67 = HEAP16[$66>>1]|0; $68 = $67&65535; $69 = (($65) + ($68)|0); - $70 = (($69) + 3|0); + $70 = ((($69)) + 3|0); $71 = HEAP32[$1>>2]|0; - $72 = (($71) + 56|0); + $72 = ((($71)) + 56|0); $73 = HEAP32[$72>>2]|0; $74 = HEAP32[$1>>2]|0; - $75 = (($74) + 20|0); + $75 = ((($74)) + 20|0); $76 = HEAP16[$75>>1]|0; $77 = $76&65535; $78 = (($73) + ($77)|0); $79 = ($70>>>0)<=($78>>>0); if ($79) { $80 = HEAP32[$2>>2]|0; - $81 = (($info) + 18|0); + $81 = ((($info)) + 18|0); $82 = HEAP16[$81>>1]|0; $83 = $82&65535; $84 = HEAP32[$pCell>>2]|0; @@ -179105,7 +181119,7 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { HEAP32[$i>>2] = $101; } if ((label|0) == 11) { - $88 = (($info) + 18|0); + $88 = ((($info)) + 18|0); $89 = HEAP16[$88>>1]|0; $90 = $89&65535; $91 = HEAP32[$pCell>>2]|0; @@ -179128,12 +181142,12 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { $107 = ($106|0)!=(5); if (!($107)) { $108 = HEAP32[$1>>2]|0; - $109 = (($108) + 6|0); + $109 = ((($108)) + 6|0); $110 = HEAP8[$109>>0]|0; $111 = $110&255; $112 = (($111) + 8)|0; $113 = HEAP32[$1>>2]|0; - $114 = (($113) + 56|0); + $114 = ((($113)) + 56|0); $115 = HEAP32[$114>>2]|0; $116 = (($115) + ($112)|0); $117 = (_sqlite3Get4byte($116)|0); @@ -179141,12 +181155,12 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { $119 = ($117|0)!=($118|0); if (!($119)) { $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 6|0); + $122 = ((($121)) + 6|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = (($124) + 8)|0; $126 = HEAP32[$1>>2]|0; - $127 = (($126) + 56|0); + $127 = ((($126)) + 56|0); $128 = HEAP32[$127>>2]|0; $129 = (($128) + ($125)|0); $130 = HEAP32[$3>>2]|0; @@ -179194,13 +181208,13 @@ function _ptrmapPutOvflPtr($pPage,$pCell,$pRC) { $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$1>>2]|0; _btreeParseCellPtr($6,$7,$info); - $8 = (($info) + 18|0); + $8 = ((($info)) + 18|0); $9 = HEAP16[$8>>1]|0; $10 = ($9<<16>>16)!=(0); if (!($10)) { STACKTOP = sp;return; } - $11 = (($info) + 18|0); + $11 = ((($info)) + 18|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = HEAP32[$1>>2]|0; @@ -179208,11 +181222,11 @@ function _ptrmapPutOvflPtr($pPage,$pCell,$pRC) { $16 = (_sqlite3Get4byte($15)|0); HEAP32[$ovfl>>2] = $16; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 52|0); + $18 = ((($17)) + 52|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$ovfl>>2]|0; $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 72|0); + $22 = ((($21)) + 72|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$2>>2]|0; _ptrmapPut($19,$20,3,$23,$24); @@ -179231,26 +181245,26 @@ function _sqlite3PcacheMove($p,$newPgno) { HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $newPgno; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 28|0); + $3 = ((($2)) + 28|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pCache>>2] = $4; - $5 = HEAP32[((38640 + 140|0))>>2]|0; + $5 = HEAP32[(148)>>2]|0; $6 = HEAP32[$pCache>>2]|0; - $7 = (($6) + 40|0); + $7 = ((($6)) + 40|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$1>>2]|0; FUNCTION_TABLE_viiii[$5 & 3]($8,$10,$13,$14); $15 = HEAP32[$1>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 20|0); + $17 = ((($16)) + 20|0); HEAP32[$17>>2] = $15; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 24|0); + $19 = ((($18)) + 24|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = $21 & 2; @@ -179259,7 +181273,7 @@ function _sqlite3PcacheMove($p,$newPgno) { STACKTOP = sp;return; } $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 24|0); + $25 = ((($24)) + 24|0); $26 = HEAP16[$25>>1]|0; $27 = $26&65535; $28 = $27 & 4; @@ -179283,7 +181297,7 @@ function _btreeGetHasContent($pBt,$pgno) { HEAP32[$0>>2] = $pBt; HEAP32[$1>>2] = $pgno; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 60|0); + $3 = ((($2)) + 60|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$p>>2]|0; @@ -179318,7 +181332,7 @@ function _sqlite3PagerIsMemdb($pPager) { $0 = sp; HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 15|0); + $2 = ((($1)) + 15|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; STACKTOP = sp;return ($4|0); @@ -179373,7 +181387,7 @@ function _execSql($db,$pzErrMsg,$zSql) { $21 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($21|0); } - return 0|0; + return (0)|0; } function _sqlite3BtreeGetReserve($p) { $p = $p|0; @@ -179386,14 +181400,14 @@ function _sqlite3BtreeGetReserve($p) { $1 = HEAP32[$0>>2]|0; _sqlite3BtreeEnter($1); $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 4|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 32|0); + $5 = ((($4)) + 32|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 36|0); + $10 = ((($9)) + 36|0); $11 = HEAP32[$10>>2]|0; $12 = (($6) - ($11))|0; HEAP32[$n>>2] = $12; @@ -179468,7 +181482,7 @@ function _execExecSql($db,$pzErrMsg,$zSql) { $27 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($27|0); } - return 0|0; + return (0)|0; } function _sqlite3BtreeCopyFile($pTo,$pFrom) { $pTo = $pTo|0; @@ -179526,18 +181540,18 @@ function _sqlite3BtreeCopyFile($pTo,$pFrom) { STACKTOP = sp;return ($50|0); } } - dest=$b+0|0; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$b; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $28 = HEAP32[$1>>2]|0; $29 = HEAP32[$28>>2]|0; - $30 = (($b) + 20|0); + $30 = ((($b)) + 20|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$1>>2]|0; - $32 = (($b) + 24|0); + $32 = ((($b)) + 24|0); HEAP32[$32>>2] = $31; $33 = HEAP32[$0>>2]|0; - $34 = (($b) + 4|0); + $34 = ((($b)) + 4|0); HEAP32[$34>>2] = $33; - $35 = (($b) + 16|0); + $35 = ((($b)) + 16|0); HEAP32[$35>>2] = 1; (_sqlite3_backup_step($b,2147483647)|0); $36 = (_sqlite3_backup_finish($b)|0); @@ -179546,9 +181560,9 @@ function _sqlite3BtreeCopyFile($pTo,$pFrom) { $38 = ($37|0)==(0); if ($38) { $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 4|0); + $40 = ((($39)) + 4|0); $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 22|0); + $42 = ((($41)) + 22|0); $43 = HEAP16[$42>>1]|0; $44 = $43&65535; $45 = $44 & -3; @@ -179557,14 +181571,14 @@ function _sqlite3BtreeCopyFile($pTo,$pFrom) { $50 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($50|0); } else { - $47 = (($b) + 4|0); + $47 = ((($b)) + 4|0); $48 = HEAP32[$47>>2]|0; $49 = (_sqlite3BtreePager($48)|0); _sqlite3PagerClearCache($49); $50 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($50|0); } - return 0|0; + return (0)|0; } function _sqlite3PagerClearCache($pPager) { $pPager = $pPager|0; @@ -179574,14 +181588,14 @@ function _sqlite3PagerClearCache($pPager) { $0 = sp; HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 15|0); + $2 = ((($1)) + 15|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)!=(0); if ($4) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 12|0); + $6 = ((($5)) + 12|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($8|0)==(0); @@ -179638,30 +181652,30 @@ function _sqlite3PagerSharedLock($pPager) { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 32|0; - $1 = sp + 28|0; - $rc = sp + 24|0; - $bHotJournal = sp + 20|0; - $pVfs = sp + 16|0; - $bExists = sp + 12|0; - $fout = sp + 8|0; - $f = sp + 4|0; - $nPage = sp; + $1 = sp + 16|0; + $rc = sp + 4|0; + $bHotJournal = sp + 8|0; + $pVfs = sp + 28|0; + $bExists = sp; + $fout = sp + 12|0; + $f = sp + 24|0; + $nPage = sp + 20|0; $dbFileVers = sp + 40|0; HEAP32[$1>>2] = $pPager; HEAP32[$rc>>2] = 0; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 15|0); + $3 = ((($2)) + 15|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)!=(0); if ($6) { $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 40|0); + $8 = ((($7)) + 40|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0); if ($10) { $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 40|0); + $12 = ((($11)) + 40|0); $13 = HEAP32[$12>>2]|0; HEAP32[$0>>2] = $13; $155 = HEAP32[$0>>2]|0; @@ -179676,7 +181690,7 @@ function _sqlite3PagerSharedLock($pPager) { label = 36; } else { $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 16|0); + $18 = ((($17)) + 16|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20|0)==(0); @@ -179689,7 +181703,7 @@ function _sqlite3PagerSharedLock($pPager) { $25 = ($24|0)!=(0); if (!($25)) { $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 17|0); + $27 = ((($26)) + 17|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = ($29|0)<=(1); @@ -179705,7 +181719,7 @@ function _sqlite3PagerSharedLock($pPager) { $36 = ($35|0)!=(0); if ($36) { $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 14|0); + $38 = ((($37)) + 14|0); $39 = HEAP8[$38>>0]|0; $40 = ($39<<24>>24)!=(0); if ($40) { @@ -179721,7 +181735,7 @@ function _sqlite3PagerSharedLock($pPager) { break; } $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 64|0); + $46 = ((($45)) + 64|0); $47 = HEAP32[$46>>2]|0; $48 = HEAP32[$47>>2]|0; $49 = ($48|0)!=(0|0); @@ -179731,7 +181745,7 @@ function _sqlite3PagerSharedLock($pPager) { HEAP32[$pVfs>>2] = $51; $52 = HEAP32[$pVfs>>2]|0; $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 172|0); + $54 = ((($53)) + 172|0); $55 = HEAP32[$54>>2]|0; $56 = (_sqlite3OsAccess($52,$55,0,$bExists)|0); HEAP32[$rc>>2] = $56; @@ -179745,10 +181759,10 @@ function _sqlite3PagerSharedLock($pPager) { HEAP32[$f>>2] = 2050; $61 = HEAP32[$pVfs>>2]|0; $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 172|0); + $63 = ((($62)) + 172|0); $64 = HEAP32[$63>>2]|0; $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 64|0); + $66 = ((($65)) + 64|0); $67 = HEAP32[$66>>2]|0; $68 = HEAP32[$f>>2]|0; $69 = (_sqlite3OsOpen($61,$64,$67,$68,$fout)|0); @@ -179763,7 +181777,7 @@ function _sqlite3PagerSharedLock($pPager) { $75 = (_sqlite3CantopenError(45936)|0); HEAP32[$rc>>2] = $75; $76 = HEAP32[$1>>2]|0; - $77 = (($76) + 64|0); + $77 = ((($76)) + 64|0); $78 = HEAP32[$77>>2]|0; (_sqlite3OsClose($78)|0); } @@ -179771,7 +181785,7 @@ function _sqlite3PagerSharedLock($pPager) { } } $79 = HEAP32[$1>>2]|0; - $80 = (($79) + 64|0); + $80 = ((($79)) + 64|0); $81 = HEAP32[$80>>2]|0; $82 = HEAP32[$81>>2]|0; $83 = ($82|0)!=(0|0); @@ -179786,11 +181800,11 @@ function _sqlite3PagerSharedLock($pPager) { $89 = (_pager_playback($88,1)|0); HEAP32[$rc>>2] = $89; $90 = HEAP32[$1>>2]|0; - $91 = (($90) + 16|0); + $91 = ((($90)) + 16|0); HEAP8[$91>>0] = 0; } } else { - $92 = (($84) + 4|0); + $92 = ((($84)) + 4|0); $93 = HEAP8[$92>>0]|0; $94 = ($93<<24>>24)!=(0); if (!($94)) { @@ -179808,18 +181822,18 @@ function _sqlite3PagerSharedLock($pPager) { } } $100 = HEAP32[$1>>2]|0; - $101 = (($100) + 12|0); + $101 = ((($100)) + 12|0); $102 = HEAP8[$101>>0]|0; $103 = ($102<<24>>24)!=(0); do { if (!($103)) { $104 = HEAP32[$1>>2]|0; - $105 = (($104) + 88|0); + $105 = ((($104)) + 88|0); $106 = HEAP32[$105>>2]|0; $107 = ($106|0)!=(0|0); if (!($107)) { $108 = HEAP32[$1>>2]|0; - $109 = (($108) + 204|0); + $109 = ((($108)) + 204|0); $110 = HEAP32[$109>>2]|0; $111 = (_sqlite3PcachePagecount($110)|0); $112 = ($111|0)>(0); @@ -179840,7 +181854,7 @@ function _sqlite3PagerSharedLock($pPager) { $118 = ($117>>>0)>(0); if ($118) { $119 = HEAP32[$1>>2]|0; - $120 = (($119) + 60|0); + $120 = ((($119)) + 60|0); $121 = HEAP32[$120>>2]|0; $122 = (_sqlite3OsRead($121,$dbFileVers,16,24,0)|0); HEAP32[$rc>>2] = $122; @@ -179853,10 +181867,10 @@ function _sqlite3PagerSharedLock($pPager) { break L6; } } else { - dest=$dbFileVers+0|0; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + dest=$dbFileVers; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); } $127 = HEAP32[$1>>2]|0; - $128 = (($127) + 100|0); + $128 = ((($127)) + 100|0); $129 = (_memcmp($128,$dbFileVers,16)|0); $130 = ($129|0)!=(0); if ($130) { @@ -179886,7 +181900,7 @@ function _sqlite3PagerSharedLock($pPager) { HEAP32[$rc>>2] = $138; } $139 = HEAP32[$1>>2]|0; - $140 = (($139) + 16|0); + $140 = ((($139)) + 16|0); $141 = HEAP8[$140>>0]|0; $142 = $141&255; $143 = ($142|0)==(0); @@ -179896,7 +181910,7 @@ function _sqlite3PagerSharedLock($pPager) { if ($or$cond5) { $146 = HEAP32[$1>>2]|0; $147 = HEAP32[$1>>2]|0; - $148 = (($147) + 24|0); + $148 = ((($147)) + 24|0); $149 = (_pagerPagecount($146,$148)|0); HEAP32[$rc>>2] = $149; } @@ -179907,7 +181921,7 @@ function _sqlite3PagerSharedLock($pPager) { if ($151) { _pager_unlock($152); } else { - $153 = (($152) + 16|0); + $153 = ((($152)) + 16|0); HEAP8[$153>>0] = 1; } $154 = HEAP32[$rc>>2]|0; @@ -179926,14 +181940,14 @@ function _hasHotJournal($pPager,$pExists) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 32|0; - $1 = sp + 28|0; - $pVfs = sp + 24|0; - $rc = sp + 20|0; - $exists = sp + 16|0; - $jrnlOpen = sp + 12|0; - $locked = sp + 8|0; - $nPage = sp + 4|0; - $f = sp; + $1 = sp + 16|0; + $pVfs = sp + 4|0; + $rc = sp + 8|0; + $exists = sp + 28|0; + $jrnlOpen = sp; + $locked = sp + 12|0; + $nPage = sp + 24|0; + $f = sp + 20|0; $first = sp + 36|0; HEAP32[$0>>2] = $pPager; HEAP32[$1>>2] = $pExists; @@ -179943,7 +181957,7 @@ function _hasHotJournal($pPager,$pExists) { HEAP32[$rc>>2] = 0; HEAP32[$exists>>2] = 1; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 64|0); + $5 = ((($4)) + 64|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); @@ -179958,7 +181972,7 @@ function _hasHotJournal($pPager,$pExists) { if (!($14)) { $15 = HEAP32[$pVfs>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 172|0); + $17 = ((($16)) + 172|0); $18 = HEAP32[$17>>2]|0; $19 = (_sqlite3OsAccess($15,$18,0,$exists)|0); HEAP32[$rc>>2] = $19; @@ -179974,7 +181988,7 @@ function _hasHotJournal($pPager,$pExists) { } HEAP32[$locked>>2] = 0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 60|0); + $25 = ((($24)) + 60|0); $26 = HEAP32[$25>>2]|0; $27 = (_sqlite3OsCheckReservedLock($26,$locked)|0); HEAP32[$rc>>2] = $27; @@ -180009,11 +182023,11 @@ function _hasHotJournal($pPager,$pExists) { if ($42) { $43 = HEAP32[$pVfs>>2]|0; $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 172|0); + $45 = ((($44)) + 172|0); $46 = HEAP32[$45>>2]|0; (_sqlite3OsDelete($43,$46,0)|0); $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 4|0); + $48 = ((($47)) + 4|0); $49 = HEAP8[$48>>0]|0; $50 = ($49<<24>>24)!=(0); if (!($50)) { @@ -180031,10 +182045,10 @@ function _hasHotJournal($pPager,$pExists) { HEAP32[$f>>2] = 2049; $54 = HEAP32[$pVfs>>2]|0; $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 172|0); + $56 = ((($55)) + 172|0); $57 = HEAP32[$56>>2]|0; $58 = HEAP32[$0>>2]|0; - $59 = (($58) + 64|0); + $59 = ((($58)) + 64|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$f>>2]|0; $62 = (_sqlite3OsOpen($54,$57,$60,$61,$f)|0); @@ -180045,7 +182059,7 @@ function _hasHotJournal($pPager,$pExists) { if ($64) { HEAP8[$first>>0] = 0; $65 = HEAP32[$0>>2]|0; - $66 = (($65) + 64|0); + $66 = ((($65)) + 64|0); $67 = HEAP32[$66>>2]|0; $68 = (_sqlite3OsRead($67,$first,1,0,0)|0); HEAP32[$rc>>2] = $68; @@ -180057,7 +182071,7 @@ function _hasHotJournal($pPager,$pExists) { $72 = ($71|0)!=(0); if (!($72)) { $73 = HEAP32[$0>>2]|0; - $74 = (($73) + 64|0); + $74 = ((($73)) + 64|0); $75 = HEAP32[$74>>2]|0; (_sqlite3OsClose($75)|0); } @@ -180082,7 +182096,7 @@ function _hasHotJournal($pPager,$pExists) { $84 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($84|0); } - return 0|0; + return (0)|0; } function _sqlite3PcachePagecount($pCache) { $pCache = $pCache|0; @@ -180091,9 +182105,9 @@ function _sqlite3PcachePagecount($pCache) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $pCache; - $1 = HEAP32[((38640 + 128|0))>>2]|0; + $1 = HEAP32[(136)>>2]|0; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 40|0); + $3 = ((($2)) + 40|0); $4 = HEAP32[$3>>2]|0; $5 = (FUNCTION_TABLE_ii[$1 & 31]($4)|0); STACKTOP = sp;return ($5|0); @@ -180116,7 +182130,7 @@ function _pagerPagecount($pPager,$pnPage) { HEAP32[$1>>2] = $pPager; HEAP32[$2>>2] = $pnPage; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 208|0); + $4 = ((($3)) + 208|0); $5 = HEAP32[$4>>2]|0; $6 = (_sqlite3WalDbsize($5)|0); HEAP32[$nPage>>2] = $6; @@ -180130,13 +182144,13 @@ function _pagerPagecount($pPager,$pnPage) { $12 = $11; HEAP32[$12>>2] = 0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 60|0); + $14 = ((($13)) + 60|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = ($16|0)!=(0|0); if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 60|0); + $19 = ((($18)) + 60|0); $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3OsFileSize($20,$n)|0); HEAP32[$rc>>2] = $21; @@ -180156,7 +182170,7 @@ function _pagerPagecount($pPager,$pnPage) { $29 = $28; $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 152|0); + $32 = ((($31)) + 152|0); $33 = HEAP32[$32>>2]|0; $34 = ($33|0)<(0); $35 = $34 << 31 >> 31; @@ -180165,7 +182179,7 @@ function _pagerPagecount($pPager,$pnPage) { $38 = (_i64Subtract(($36|0),($37|0),1,0)|0); $39 = tempRet0; $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 152|0); + $41 = ((($40)) + 152|0); $42 = HEAP32[$41>>2]|0; $43 = ($42|0)<(0); $44 = $43 << 31 >> 31; @@ -180175,13 +182189,13 @@ function _pagerPagecount($pPager,$pnPage) { } $47 = HEAP32[$nPage>>2]|0; $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 156|0); + $49 = ((($48)) + 156|0); $50 = HEAP32[$49>>2]|0; $51 = ($47>>>0)>($50>>>0); if ($51) { $52 = HEAP32[$nPage>>2]|0; $53 = HEAP32[$1>>2]|0; - $54 = (($53) + 156|0); + $54 = ((($53)) + 156|0); HEAP32[$54>>2] = $52; } $55 = HEAP32[$nPage>>2]|0; @@ -180206,7 +182220,7 @@ function _pagerOpenWalIfPresent($pPager) { HEAP32[$1>>2] = $pPager; HEAP32[$rc>>2] = 0; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 12|0); + $3 = ((($2)) + 12|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)!=(0); do { @@ -180227,7 +182241,7 @@ function _pagerOpenWalIfPresent($pPager) { $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 212|0); + $16 = ((($15)) + 212|0); $17 = HEAP32[$16>>2]|0; if ($12) { $18 = (_sqlite3OsDelete($14,$17,0)|0); @@ -180252,13 +182266,13 @@ function _pagerOpenWalIfPresent($pPager) { HEAP32[$rc>>2] = $27; break; } - $28 = (($26) + 5|0); + $28 = ((($26)) + 5|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = ($30|0)==(5); if ($31) { $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 5|0); + $33 = ((($32)) + 5|0); HEAP8[$33>>0] = 0; } } @@ -180280,11 +182294,11 @@ function _pagerBeginReadTransaction($pPager) { HEAP32[$0>>2] = $pPager; HEAP32[$changed>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 208|0); + $2 = ((($1)) + 208|0); $3 = HEAP32[$2>>2]|0; _sqlite3WalEndReadTransaction($3); $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 208|0); + $5 = ((($4)) + 208|0); $6 = HEAP32[$5>>2]|0; $7 = (_sqlite3WalBeginReadTransaction($6,$changed)|0); HEAP32[$rc>>2] = $7; @@ -180347,7 +182361,7 @@ function _sqlite3PagerOpenWal($pPager,$pbOpen) { HEAP32[$2>>2] = $pbOpen; HEAP32[$rc>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); do { @@ -180355,7 +182369,7 @@ function _sqlite3PagerOpenWal($pPager,$pbOpen) { label = 7; } else { $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 208|0); + $8 = ((($7)) + 208|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); if ($10) { @@ -180366,7 +182380,7 @@ function _sqlite3PagerOpenWal($pPager,$pbOpen) { $13 = ($12|0)!=(0); if ($13) { $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 64|0); + $15 = ((($14)) + 64|0); $16 = HEAP32[$15>>2]|0; (_sqlite3OsClose($16)|0); $17 = HEAP32[$1>>2]|0; @@ -180378,10 +182392,10 @@ function _sqlite3PagerOpenWal($pPager,$pbOpen) { break; } $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 5|0); + $22 = ((($21)) + 5|0); HEAP8[$22>>0] = 5; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 16|0); + $24 = ((($23)) + 16|0); HEAP8[$24>>0] = 0; break; } else { @@ -180412,7 +182426,7 @@ function _pagerOpenWal($pPager) { HEAP32[$0>>2] = $pPager; HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); + $2 = ((($1)) + 4|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)!=(0); if ($4) { @@ -180431,17 +182445,17 @@ function _pagerOpenWal($pPager) { $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 60|0); + $12 = ((($11)) + 60|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 212|0); + $15 = ((($14)) + 212|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 160|0); + $22 = ((($21)) + 160|0); $23 = $22; $24 = $23; $25 = HEAP32[$24>>2]|0; @@ -180449,7 +182463,7 @@ function _pagerOpenWal($pPager) { $27 = $26; $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 208|0); + $30 = ((($29)) + 208|0); $31 = (_sqlite3WalOpen($10,$13,$16,$20,$25,$28,$30)|0); HEAP32[$rc>>2] = $31; $32 = HEAP32[$0>>2]|0; @@ -180494,17 +182508,17 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $flags = 0, $iDC = 0, $pRet = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $4 = sp + 12|0; $5 = sp + 32|0; - $6 = sp + 28|0; + $6 = sp + 36|0; $7 = sp; - $8 = sp + 24|0; - $rc = sp + 20|0; - $pRet = sp + 16|0; - $flags = sp + 12|0; - $iDC = sp + 8|0; + $8 = sp + 16|0; + $rc = sp + 28|0; + $pRet = sp + 24|0; + $flags = sp + 40|0; + $iDC = sp + 44|0; HEAP32[$3>>2] = $pVfs; HEAP32[$4>>2] = $pDbFd; HEAP32[$5>>2] = $zWalName; @@ -180519,7 +182533,7 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { $13 = HEAP32[$8>>2]|0; HEAP32[$13>>2] = 0; $14 = HEAP32[$3>>2]|0; - $15 = (($14) + 4|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = (112 + ($16))|0; $18 = (_sqlite3MallocZero($17,0)|0); @@ -180535,16 +182549,16 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { $22 = HEAP32[$pRet>>2]|0; HEAP32[$22>>2] = $21; $23 = HEAP32[$pRet>>2]|0; - $24 = (($23) + 112|0); + $24 = ((($23)) + 112|0); $25 = HEAP32[$pRet>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); HEAP32[$26>>2] = $24; $27 = HEAP32[$4>>2]|0; $28 = HEAP32[$pRet>>2]|0; - $29 = (($28) + 4|0); + $29 = ((($28)) + 4|0); HEAP32[$29>>2] = $27; $30 = HEAP32[$pRet>>2]|0; - $31 = (($30) + 40|0); + $31 = ((($30)) + 40|0); HEAP16[$31>>1] = -1; $32 = $7; $33 = $32; @@ -180553,7 +182567,7 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { $36 = $35; $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$pRet>>2]|0; - $39 = (($38) + 16|0); + $39 = ((($38)) + 16|0); $40 = $39; $41 = $40; HEAP32[$41>>2] = $34; @@ -180562,26 +182576,26 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { HEAP32[$43>>2] = $37; $44 = HEAP32[$5>>2]|0; $45 = HEAP32[$pRet>>2]|0; - $46 = (($45) + 100|0); + $46 = ((($45)) + 100|0); HEAP32[$46>>2] = $44; $47 = HEAP32[$pRet>>2]|0; - $48 = (($47) + 48|0); + $48 = ((($47)) + 48|0); HEAP8[$48>>0] = 1; $49 = HEAP32[$pRet>>2]|0; - $50 = (($49) + 49|0); + $50 = ((($49)) + 49|0); HEAP8[$50>>0] = 1; $51 = HEAP32[$6>>2]|0; $52 = ($51|0)!=(0); $53 = $52 ? 2 : 0; $54 = $53&255; $55 = HEAP32[$pRet>>2]|0; - $56 = (($55) + 43|0); + $56 = ((($55)) + 43|0); HEAP8[$56>>0] = $54; HEAP32[$flags>>2] = 524294; $57 = HEAP32[$3>>2]|0; $58 = HEAP32[$5>>2]|0; $59 = HEAP32[$pRet>>2]|0; - $60 = (($59) + 8|0); + $60 = ((($59)) + 8|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$flags>>2]|0; $63 = (_sqlite3OsOpen($57,$58,$61,$62,$flags)|0); @@ -180594,7 +182608,7 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { $68 = ($67|0)!=(0); if ($68) { $69 = HEAP32[$pRet>>2]|0; - $70 = (($69) + 46|0); + $70 = ((($69)) + 46|0); HEAP8[$70>>0] = 1; } } @@ -180604,7 +182618,7 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { $73 = HEAP32[$pRet>>2]|0; _walIndexClose($73,0); $74 = HEAP32[$pRet>>2]|0; - $75 = (($74) + 8|0); + $75 = ((($74)) + 8|0); $76 = HEAP32[$75>>2]|0; (_sqlite3OsClose($76)|0); $77 = HEAP32[$pRet>>2]|0; @@ -180618,7 +182632,7 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { $82 = ($81|0)!=(0); if ($82) { $83 = HEAP32[$pRet>>2]|0; - $84 = (($83) + 48|0); + $84 = ((($83)) + 48|0); HEAP8[$84>>0] = 0; } $85 = HEAP32[$iDC>>2]|0; @@ -180626,7 +182640,7 @@ function _sqlite3WalOpen($pVfs,$pDbFd,$zWalName,$bNoShm,$0,$1,$ppWal) { $87 = ($86|0)!=(0); if ($87) { $88 = HEAP32[$pRet>>2]|0; - $89 = (($88) + 49|0); + $89 = ((($88)) + 49|0); HEAP8[$89>>0] = 0; } $90 = HEAP32[$pRet>>2]|0; @@ -180650,14 +182664,14 @@ function _sqlite3WalDbsize($pWal) { $3 = ($2|0)!=(0|0); if ($3) { $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 40|0); + $5 = ((($4)) + 40|0); $6 = HEAP16[$5>>1]|0; $7 = $6 << 16 >> 16; $8 = ($7|0)>=(0); if ($8) { $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 52|0); - $11 = (($10) + 20|0); + $10 = ((($9)) + 52|0); + $11 = ((($10)) + 20|0); $12 = HEAP32[$11>>2]|0; HEAP32[$0>>2] = $12; $13 = HEAP32[$0>>2]|0; @@ -180680,7 +182694,7 @@ function _sqlite3OsCheckReservedLock($id,$pResOut) { HEAP32[$1>>2] = $pResOut; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 36|0); + $4 = ((($3)) + 36|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$1>>2]|0; @@ -180706,11 +182720,11 @@ function _rowSetEntrySort($pIn) { break; } $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pNext>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); HEAP32[$7>>2] = 0; HEAP32[$i>>2] = 0; while(1) { @@ -180775,14 +182789,14 @@ function _rowSetListToTree($pList) { $1 = HEAP32[$0>>2]|0; HEAP32[$p>>2] = $1; $2 = HEAP32[$p>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; HEAP32[$0>>2] = $4; $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 8|0); + $6 = ((($5)) + 8|0); HEAP32[$6>>2] = 0; $7 = HEAP32[$p>>2]|0; - $8 = (($7) + 12|0); + $8 = ((($7)) + 12|0); HEAP32[$8>>2] = 0; HEAP32[$iDepth>>2] = 1; while(1) { @@ -180796,17 +182810,17 @@ function _rowSetListToTree($pList) { $12 = HEAP32[$0>>2]|0; HEAP32[$p>>2] = $12; $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; HEAP32[$0>>2] = $15; $16 = HEAP32[$pLeft>>2]|0; $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 12|0); + $18 = ((($17)) + 12|0); HEAP32[$18>>2] = $16; $19 = HEAP32[$iDepth>>2]|0; $20 = (_rowSetNDeepTree($0,$19)|0); $21 = HEAP32[$p>>2]|0; - $22 = (($21) + 8|0); + $22 = ((($21)) + 8|0); HEAP32[$22>>2] = $20; $23 = HEAP32[$iDepth>>2]|0; $24 = (($23) + 1)|0; @@ -180830,33 +182844,33 @@ function _rowSetTreeToList($pIn,$ppFirst,$ppLast) { HEAP32[$1>>2] = $ppFirst; HEAP32[$2>>2] = $ppLast; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); $7 = HEAP32[$0>>2]|0; if ($6) { - $8 = (($7) + 12|0); + $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$1>>2]|0; _rowSetTreeToList($9,$10,$p); $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); HEAP32[$13>>2] = $11; } else { $14 = HEAP32[$1>>2]|0; HEAP32[$14>>2] = $7; } $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)!=(0|0); $19 = HEAP32[$0>>2]|0; if ($18) { - $20 = (($19) + 8|0); + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 8|0); + $23 = ((($22)) + 8|0); $24 = HEAP32[$2>>2]|0; _rowSetTreeToList($21,$23,$24); STACKTOP = sp;return; @@ -180885,110 +182899,106 @@ function _rowSetEntryMerge($pA,$pB) { while(1) { $2 = HEAP32[$0>>2]|0; $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - $74 = $5; - } else { - $74 = 0; - } - $6 = HEAP32[$0>>2]|0; - if (!($74)) { + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(0|0); + $6 = $3 ? $5 : 0; + $7 = HEAP32[$0>>2]|0; + if (!($6)) { break; } - $7 = $6; $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = $13; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$1>>2]|0; $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = ($12|0)<($19|0); - $21 = ($9>>>0)<($16>>>0); - $22 = ($12|0)==($19|0); - $23 = $22 & $21; - $24 = $20 | $23; - if ($24) { - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$pTail>>2]|0; - $27 = (($26) + 8|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 8|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$0>>2] = $30; - $31 = HEAP32[$pTail>>2]|0; - $32 = (($31) + 8|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$pTail>>2] = $33; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = ($13|0)<($20|0); + $22 = ($10>>>0)<($17>>>0); + $23 = ($13|0)==($20|0); + $24 = $23 & $22; + $25 = $21 | $24; + if ($25) { + $26 = HEAP32[$0>>2]|0; + $27 = HEAP32[$pTail>>2]|0; + $28 = ((($27)) + 8|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$0>>2] = $31; + $32 = HEAP32[$pTail>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$pTail>>2] = $34; continue; } - $34 = HEAP32[$1>>2]|0; - $35 = $34; + $35 = HEAP32[$1>>2]|0; $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = $41; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$0>>2]|0; $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ($40|0)<($47|0); - $49 = ($37>>>0)<($44>>>0); - $50 = ($40|0)==($47|0); - $51 = $50 & $49; - $52 = $48 | $51; - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = HEAP32[$pTail>>2]|0; - $55 = (($54) + 8|0); - HEAP32[$55>>2] = $53; - $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 8|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$1>>2] = $58; - $59 = HEAP32[$pTail>>2]|0; - $60 = (($59) + 8|0); - $61 = HEAP32[$60>>2]|0; - HEAP32[$pTail>>2] = $61; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (($43) + 4)|0; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = ($41|0)<($48|0); + $50 = ($38>>>0)<($45>>>0); + $51 = ($41|0)==($48|0); + $52 = $51 & $50; + $53 = $49 | $52; + if ($53) { + $54 = HEAP32[$1>>2]|0; + $55 = HEAP32[$pTail>>2]|0; + $56 = ((($55)) + 8|0); + HEAP32[$56>>2] = $54; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$1>>2] = $59; + $60 = HEAP32[$pTail>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$pTail>>2] = $62; continue; } else { - $62 = HEAP32[$0>>2]|0; - $63 = (($62) + 8|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$0>>2] = $64; + $63 = HEAP32[$0>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$0>>2] = $65; continue; } } - $65 = ($6|0)!=(0|0); - if ($65) { - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$pTail>>2]|0; - $68 = (($67) + 8|0); - HEAP32[$68>>2] = $66; - $72 = (($head) + 8|0); - $73 = HEAP32[$72>>2]|0; - STACKTOP = sp;return ($73|0); + $66 = ($7|0)!=(0|0); + if ($66) { + $67 = HEAP32[$0>>2]|0; + $68 = HEAP32[$pTail>>2]|0; + $69 = ((($68)) + 8|0); + HEAP32[$69>>2] = $67; + $73 = ((($head)) + 8|0); + $74 = HEAP32[$73>>2]|0; + STACKTOP = sp;return ($74|0); } else { - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$pTail>>2]|0; - $71 = (($70) + 8|0); - HEAP32[$71>>2] = $69; - $72 = (($head) + 8|0); - $73 = HEAP32[$72>>2]|0; - STACKTOP = sp;return ($73|0); + $70 = HEAP32[$1>>2]|0; + $71 = HEAP32[$pTail>>2]|0; + $72 = ((($71)) + 8|0); + HEAP32[$72>>2] = $70; + $73 = ((($head)) + 8|0); + $74 = HEAP32[$73>>2]|0; + STACKTOP = sp;return ($74|0); } - return 0|0; + return (0)|0; } function _rowSetEntryAlloc($p) { $p = $p|0; @@ -181001,14 +183011,14 @@ function _rowSetEntryAlloc($p) { $pNew = sp; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 24|0); + $3 = ((($2)) + 24|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = ($5|0)==(0); do { if ($6) { $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = (_sqlite3DbMallocRaw($9,1016,0)|0); HEAP32[$pNew>>2] = $10; @@ -181023,12 +183033,12 @@ function _rowSetEntryAlloc($p) { $17 = HEAP32[$1>>2]|0; HEAP32[$17>>2] = $16; $18 = HEAP32[$pNew>>2]|0; - $19 = (($18) + 8|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 16|0); + $21 = ((($20)) + 16|0); HEAP32[$21>>2] = $19; $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 24|0); + $23 = ((($22)) + 24|0); HEAP16[$23>>1] = 63; break; } @@ -181038,14 +183048,14 @@ function _rowSetEntryAlloc($p) { } } while(0); $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 24|0); + $25 = ((($24)) + 24|0); $26 = HEAP16[$25>>1]|0; $27 = (($26) + -1)<<16>>16; HEAP16[$25>>1] = $27; $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 16|0); + $29 = ((($28)) + 16|0); $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 16|0); + $31 = ((($30)) + 16|0); HEAP32[$29>>2] = $31; HEAP32[$0>>2] = $30; $32 = HEAP32[$0>>2]|0; @@ -181081,15 +183091,15 @@ function _rowSetNDeepTree($ppList,$iDepth) { $9 = HEAP32[$8>>2]|0; HEAP32[$p>>2] = $9; $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$1>>2]|0; HEAP32[$13>>2] = $12; $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 8|0); + $15 = ((($14)) + 8|0); HEAP32[$15>>2] = 0; $16 = HEAP32[$p>>2]|0; - $17 = (($16) + 12|0); + $17 = ((($16)) + 12|0); HEAP32[$17>>2] = 0; $18 = HEAP32[$p>>2]|0; HEAP32[$0>>2] = $18; @@ -181112,10 +183122,10 @@ function _rowSetNDeepTree($ppList,$iDepth) { STACKTOP = sp;return ($40|0); } else { $27 = HEAP32[$p>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); HEAP32[$28>>2] = $26; $29 = HEAP32[$p>>2]|0; - $30 = (($29) + 8|0); + $30 = ((($29)) + 8|0); $31 = HEAP32[$30>>2]|0; $32 = HEAP32[$1>>2]|0; HEAP32[$32>>2] = $31; @@ -181124,14 +183134,14 @@ function _rowSetNDeepTree($ppList,$iDepth) { $35 = (($34) - 1)|0; $36 = (_rowSetNDeepTree($33,$35)|0); $37 = HEAP32[$p>>2]|0; - $38 = (($37) + 8|0); + $38 = ((($37)) + 8|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$p>>2]|0; HEAP32[$0>>2] = $39; $40 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($40|0); } - return 0|0; + return (0)|0; } function _rowSetToList($p) { $p = $p|0; @@ -181142,22 +183152,22 @@ function _rowSetToList($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 26|0); + $2 = ((($1)) + 26|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = $4 & 1; $6 = ($5|0)==(0); if ($6) { $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = (_rowSetEntrySort($9)|0); $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); HEAP32[$12>>2] = $10; } $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 26|0); + $14 = ((($13)) + 26|0); $15 = HEAP16[$14>>1]|0; $16 = $15&65535; $17 = $16 | 2; @@ -181186,34 +183196,34 @@ function _sqlite3RowSetInit($db,$pSpace,$N) { HEAP32[$4>>2] = 0; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 4|0); + $7 = ((($6)) + 4|0); HEAP32[$7>>2] = $5; $8 = HEAP32[$p>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); HEAP32[$9>>2] = 0; $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 12|0); + $11 = ((($10)) + 12|0); HEAP32[$11>>2] = 0; $12 = HEAP32[$p>>2]|0; - $13 = (($12) + 20|0); + $13 = ((($12)) + 20|0); HEAP32[$13>>2] = 0; $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 32|0); + $15 = ((($14)) + 32|0); $16 = HEAP32[$p>>2]|0; - $17 = (($16) + 16|0); + $17 = ((($16)) + 16|0); HEAP32[$17>>2] = $15; $18 = HEAP32[$2>>2]|0; $19 = (($18) - 32)|0; $20 = (($19>>>0) / 16)&-1; $21 = $20&65535; $22 = HEAP32[$p>>2]|0; - $23 = (($22) + 24|0); + $23 = ((($22)) + 24|0); HEAP16[$23>>1] = $21; $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 26|0); + $25 = ((($24)) + 26|0); HEAP16[$25>>1] = 1; $26 = HEAP32[$p>>2]|0; - $27 = (($26) + 28|0); + $27 = ((($26)) + 28|0); HEAP32[$27>>2] = 0; $28 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($28|0); @@ -181226,7 +183236,7 @@ function _sqlite3PagerRefcount($pPager) { $0 = sp; HEAP32[$0>>2] = $pPager; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 204|0); + $2 = ((($1)) + 204|0); $3 = HEAP32[$2>>2]|0; $4 = (_sqlite3PcacheRefCount($3)|0); STACKTOP = sp;return ($4|0); @@ -181247,7 +183257,7 @@ function _setPageReferenced($pCheck,$iPg) { $5 = HEAP32[$1>>2]|0; $6 = (($5>>>0) / 8)&-1; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($6)|0); $11 = HEAP8[$10>>0]|0; @@ -181267,21 +183277,23 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $expected = 0, $i = 0, $iFirst = 0, $iFreePage = 0; - var $n = 0, $or$cond = 0, $pOvflData = 0, $pOvflPage = 0, $vararg_buffer7 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + var $n = 0, $or$cond = 0, $pOvflData = 0, $pOvflPage = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer7 = sp; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $i = sp + 36|0; - $expected = sp + 32|0; - $iFirst = sp + 28|0; - $pOvflPage = sp + 24|0; - $pOvflData = sp + 20|0; - $n = sp + 16|0; - $iFreePage = sp + 12|0; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp; + $vararg_buffer = sp + 8|0; + $0 = sp + 36|0; + $1 = sp + 44|0; + $2 = sp + 28|0; + $3 = sp + 32|0; + $i = sp + 40|0; + $expected = sp + 48|0; + $iFirst = sp + 52|0; + $pOvflPage = sp + 56|0; + $pOvflData = sp + 60|0; + $n = sp + 64|0; + $iFreePage = sp + 68|0; HEAP32[$0>>2] = $pCheck; HEAP32[$1>>2] = $isFreeList; HEAP32[$2>>2] = $iPage; @@ -181300,7 +183312,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { break; } $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 16|0); + $10 = ((($9)) + 16|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)!=(0); if (!($12)) { @@ -181322,7 +183334,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { break; } $23 = HEAP32[$0>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$2>>2]|0; $27 = (_sqlite3PagerAcquire($25,$26,$pOvflPage,0)|0); @@ -181339,12 +183351,12 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { do { if ($34) { $35 = HEAP32[$pOvflData>>2]|0; - $36 = (($35) + 4|0); + $36 = ((($35)) + 4|0); $37 = (_sqlite3Get4byte($36)|0); HEAP32[$n>>2] = $37; $38 = HEAP32[$0>>2]|0; $39 = HEAP32[$38>>2]|0; - $40 = (($39) + 17|0); + $40 = ((($39)) + 17|0); $41 = HEAP8[$40>>0]|0; $42 = ($41<<24>>24)!=(0); if ($42) { @@ -181355,7 +183367,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { $45 = HEAP32[$n>>2]|0; $46 = HEAP32[$0>>2]|0; $47 = HEAP32[$46>>2]|0; - $48 = (($47) + 36|0); + $48 = ((($47)) + 36|0); $49 = HEAP32[$48>>2]|0; $50 = (($49|0) / 4)&-1; $51 = (($50) - 2)|0; @@ -181364,7 +183376,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { $53 = HEAP32[$0>>2]|0; $54 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer7>>2] = $54; - _checkAppendMsg($53,34368,$vararg_buffer7); + _checkAppendMsg($53,33899,$vararg_buffer7); $55 = HEAP32[$3>>2]|0; $56 = (($55) + -1)|0; HEAP32[$3>>2] = $56; @@ -181387,7 +183399,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { HEAP32[$iFreePage>>2] = $65; $66 = HEAP32[$0>>2]|0; $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 17|0); + $68 = ((($67)) + 17|0); $69 = HEAP8[$68>>0]|0; $70 = ($69<<24>>24)!=(0); if ($70) { @@ -181409,7 +183421,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { } else { $80 = HEAP32[$0>>2]|0; $81 = HEAP32[$80>>2]|0; - $82 = (($81) + 17|0); + $82 = ((($81)) + 17|0); $83 = HEAP8[$82>>0]|0; $84 = $83&255; $85 = ($84|0)!=(0); @@ -181438,19 +183450,19 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { $17 = (($16) + 1)|0; $18 = HEAP32[$expected>>2]|0; $19 = HEAP32[$iFirst>>2]|0; - HEAP32[$vararg_buffer7>>2] = $17; - $vararg_ptr2 = (($vararg_buffer7) + 4|0); + HEAP32[$vararg_buffer>>2] = $17; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $18; - $vararg_ptr3 = (($vararg_buffer7) + 8|0); + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr3>>2] = $19; - _checkAppendMsg($15,34280,$vararg_buffer7); + _checkAppendMsg($15,33820,$vararg_buffer); STACKTOP = sp;return; } else if ((label|0) == 8) { $29 = HEAP32[$0>>2]|0; $30 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer7>>2] = $30; - _checkAppendMsg($29,34344,$vararg_buffer7); + HEAP32[$vararg_buffer4>>2] = $30; + _checkAppendMsg($29,33877,$vararg_buffer4); STACKTOP = sp;return; } else if ((label|0) == 23) { @@ -181463,18 +183475,19 @@ function _checkPtrmap($pCheck,$iChild,$eType,$iParent) { $eType = $eType|0; $iParent = $iParent|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ePtrmapType = 0, $iPtrmapParent = 0, $or$cond = 0, $rc = 0, $vararg_buffer2 = 0, $vararg_ptr5 = 0; - var $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ePtrmapType = 0, $iPtrmapParent = 0, $or$cond = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0; + var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 64|0; $vararg_buffer2 = sp; + $vararg_buffer = sp + 24|0; $0 = sp + 36|0; $1 = sp + 32|0; - $2 = sp + 41|0; + $2 = sp + 48|0; $3 = sp + 28|0; - $rc = sp + 24|0; - $ePtrmapType = sp + 40|0; - $iPtrmapParent = sp + 20|0; + $rc = sp + 40|0; + $ePtrmapType = sp + 49|0; + $iPtrmapParent = sp + 44|0; HEAP32[$0>>2] = $pCheck; HEAP32[$1>>2] = $iChild; HEAP8[$2>>0] = $eType; @@ -181494,13 +183507,13 @@ function _checkPtrmap($pCheck,$iChild,$eType,$iParent) { $or$cond = $11 | $13; if ($or$cond) { $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 24|0); + $15 = ((($14)) + 24|0); HEAP32[$15>>2] = 1; } $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer2>>2] = $17; - _checkAppendMsg($16,34192,$vararg_buffer2); + HEAP32[$vararg_buffer>>2] = $17; + _checkAppendMsg($16,33737,$vararg_buffer); STACKTOP = sp;return; } $18 = HEAP8[$ePtrmapType>>0]|0; @@ -181525,15 +183538,15 @@ function _checkPtrmap($pCheck,$iChild,$eType,$iParent) { $32 = $31&255; $33 = HEAP32[$iPtrmapParent>>2]|0; HEAP32[$vararg_buffer2>>2] = $27; - $vararg_ptr5 = (($vararg_buffer2) + 4|0); + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); HEAP32[$vararg_ptr5>>2] = $29; - $vararg_ptr6 = (($vararg_buffer2) + 8|0); + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); HEAP32[$vararg_ptr6>>2] = $30; - $vararg_ptr7 = (($vararg_buffer2) + 12|0); + $vararg_ptr7 = ((($vararg_buffer2)) + 12|0); HEAP32[$vararg_ptr7>>2] = $32; - $vararg_ptr8 = (($vararg_buffer2) + 16|0); + $vararg_ptr8 = ((($vararg_buffer2)) + 16|0); HEAP32[$vararg_ptr8>>2] = $33; - _checkAppendMsg($26,34224,$vararg_buffer2); + _checkAppendMsg($26,33766,$vararg_buffer2); STACKTOP = sp;return; } function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { @@ -181577,45 +183590,56 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { var $692 = 0, $693 = 0, $694 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cellStart = 0, $cnt = 0, $contentOffset = 0, $d2 = 0; var $data = 0, $depth = 0, $hdr = 0, $hit = 0, $i = 0, $info = 0, $j = 0, $j2 = 0, $nCell = 0, $nMaxKey = 0, $nMaxKey$ = 0, $nMinKey = 0, $nPage = 0, $pBt = 0, $pCell = 0, $pPage = 0, $pc = 0, $pgno = 0, $pgnoOvfl = 0, $rc = 0; - var $saved_v1 = 0, $saved_v2 = 0, $saved_zPfx = 0, $size = 0, $size1 = 0, $sz = 0, $usableSize = 0, $vararg_buffer34 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + var $saved_v1 = 0, $saved_v2 = 0, $saved_zPfx = 0, $size = 0, $size1 = 0, $sz = 0, $usableSize = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0; + var $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer34 = sp + 40|0; - $0 = sp + 180|0; - $1 = sp + 176|0; - $2 = sp + 172|0; - $3 = sp + 168|0; - $4 = sp + 164|0; - $pPage = sp + 160|0; - $i = sp + 156|0; - $rc = sp + 152|0; - $depth = sp + 148|0; - $d2 = sp + 144|0; - $pgno = sp + 140|0; - $cnt = sp + 136|0; - $hdr = sp + 132|0; - $cellStart = sp + 128|0; - $nCell = sp + 124|0; - $data = sp + 120|0; - $pBt = sp + 116|0; - $usableSize = sp + 112|0; - $hit = sp + 108|0; - $nMinKey = sp + 32|0; - $nMaxKey = sp + 24|0; - $saved_zPfx = sp + 104|0; - $saved_v1 = sp + 100|0; - $saved_v2 = sp + 96|0; - $pCell = sp + 92|0; - $sz = sp + 88|0; - $info = sp; - $nPage = sp + 84|0; - $pgnoOvfl = sp + 80|0; - $contentOffset = sp + 76|0; - $pc = sp + 72|0; - $size = sp + 68|0; - $j = sp + 64|0; - $size1 = sp + 60|0; - $j2 = sp + 56|0; + STACKTOP = STACKTOP + 304|0; + $vararg_buffer34 = sp + 128|0; + $vararg_buffer30 = sp + 64|0; + $vararg_buffer26 = sp + 8|0; + $vararg_buffer22 = sp + 32|0; + $vararg_buffer18 = sp + 152|0; + $vararg_buffer14 = sp + 16|0; + $vararg_buffer10 = sp + 112|0; + $vararg_buffer8 = sp + 168|0; + $vararg_buffer4 = sp + 48|0; + $vararg_buffer1 = sp + 72|0; + $vararg_buffer = sp; + $0 = sp + 176|0; + $1 = sp + 220|0; + $2 = sp + 216|0; + $3 = sp + 272|0; + $4 = sp + 264|0; + $pPage = sp + 204|0; + $i = sp + 208|0; + $rc = sp + 260|0; + $depth = sp + 180|0; + $d2 = sp + 184|0; + $pgno = sp + 248|0; + $cnt = sp + 188|0; + $hdr = sp + 192|0; + $cellStart = sp + 196|0; + $nCell = sp + 200|0; + $data = sp + 268|0; + $pBt = sp + 276|0; + $usableSize = sp + 212|0; + $hit = sp + 244|0; + $nMinKey = sp + 144|0; + $nMaxKey = sp + 80|0; + $saved_zPfx = sp + 224|0; + $saved_v1 = sp + 228|0; + $saved_v2 = sp + 232|0; + $pCell = sp + 236|0; + $sz = sp + 240|0; + $info = sp + 88|0; + $nPage = sp + 288|0; + $pgnoOvfl = sp + 292|0; + $contentOffset = sp + 296|0; + $pc = sp + 280|0; + $size = sp + 284|0; + $j = sp + 172|0; + $size1 = sp + 256|0; + $j2 = sp + 252|0; HEAP32[$1>>2] = $pCheck; HEAP32[$2>>2] = $iPage; HEAP32[$3>>2] = $pnParentMinKey; @@ -181634,22 +183658,22 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $12 = $11; HEAP32[$12>>2] = 0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 28|0); + $14 = ((($13)) + 28|0); $15 = HEAP32[$14>>2]|0; HEAP32[$saved_zPfx>>2] = $15; $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 32|0); + $17 = ((($16)) + 32|0); $18 = HEAP32[$17>>2]|0; HEAP32[$saved_v1>>2] = $18; $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 36|0); + $20 = ((($19)) + 36|0); $21 = HEAP32[$20>>2]|0; HEAP32[$saved_v2>>2] = $21; $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$22>>2]|0; HEAP32[$pBt>>2] = $23; $24 = HEAP32[$pBt>>2]|0; - $25 = (($24) + 36|0); + $25 = ((($24)) + 36|0); $26 = HEAP32[$25>>2]|0; HEAP32[$usableSize>>2] = $26; $27 = HEAP32[$2>>2]|0; @@ -181669,11 +183693,11 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { STACKTOP = sp;return ($694|0); } $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 28|0); - HEAP32[$34>>2] = 33496; + $34 = ((($33)) + 28|0); + HEAP32[$34>>2] = 33109; $35 = HEAP32[$2>>2]|0; $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 32|0); + $37 = ((($36)) + 32|0); HEAP32[$37>>2] = $35; $38 = HEAP32[$pBt>>2]|0; $39 = HEAP32[$2>>2]|0; @@ -181684,8 +183708,8 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { if ($41) { $42 = HEAP32[$1>>2]|0; $43 = HEAP32[$rc>>2]|0; - HEAP32[$vararg_buffer34>>2] = $43; - _checkAppendMsg($42,33512,$vararg_buffer34); + HEAP32[$vararg_buffer>>2] = $43; + _checkAppendMsg($42,33119,$vararg_buffer); HEAP32[$depth>>2] = -1; } else { $44 = HEAP32[$pPage>>2]|0; @@ -181697,8 +183721,8 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { if ($47) { $48 = HEAP32[$1>>2]|0; $49 = HEAP32[$rc>>2]|0; - HEAP32[$vararg_buffer34>>2] = $49; - _checkAppendMsg($48,33552,$vararg_buffer34); + HEAP32[$vararg_buffer1>>2] = $49; + _checkAppendMsg($48,33157,$vararg_buffer1); $50 = HEAP32[$pPage>>2]|0; _releasePage($50); HEAP32[$depth>>2] = -1; @@ -181709,7 +183733,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { while(1) { $51 = HEAP32[$i>>2]|0; $52 = HEAP32[$pPage>>2]|0; - $53 = (($52) + 18|0); + $53 = ((($52)) + 18|0); $54 = HEAP16[$53>>1]|0; $55 = $54&65535; $56 = ($51|0)<($55|0); @@ -181717,34 +183741,34 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { break; } $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 16|0); + $58 = ((($57)) + 16|0); $59 = HEAP32[$58>>2]|0; $60 = ($59|0)!=(0); if (!($60)) { break; } $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 28|0); - HEAP32[$62>>2] = 33592; + $62 = ((($61)) + 28|0); + HEAP32[$62>>2] = 33195; $63 = HEAP32[$2>>2]|0; $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 32|0); + $65 = ((($64)) + 32|0); HEAP32[$65>>2] = $63; $66 = HEAP32[$i>>2]|0; $67 = HEAP32[$1>>2]|0; - $68 = (($67) + 36|0); + $68 = ((($67)) + 36|0); HEAP32[$68>>2] = $66; $69 = HEAP32[$pPage>>2]|0; - $70 = (($69) + 56|0); + $70 = ((($69)) + 56|0); $71 = HEAP32[$70>>2]|0; $72 = HEAP32[$pPage>>2]|0; - $73 = (($72) + 20|0); + $73 = ((($72)) + 20|0); $74 = HEAP16[$73>>1]|0; $75 = $74&65535; $76 = HEAP32[$i>>2]|0; $77 = $76<<1; $78 = HEAP32[$pPage>>2]|0; - $79 = (($78) + 64|0); + $79 = ((($78)) + 64|0); $80 = HEAP32[$79>>2]|0; $81 = (($80) + ($77)|0); $82 = HEAP8[$81>>0]|0; @@ -181753,10 +183777,10 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $85 = HEAP32[$i>>2]|0; $86 = $85<<1; $87 = HEAP32[$pPage>>2]|0; - $88 = (($87) + 64|0); + $88 = ((($87)) + 64|0); $89 = HEAP32[$88>>2]|0; $90 = (($89) + ($86)|0); - $91 = (($90) + 1|0); + $91 = ((($90)) + 1|0); $92 = HEAP8[$91>>0]|0; $93 = $92&255; $94 = $84 | $93; @@ -181766,11 +183790,11 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $97 = HEAP32[$pPage>>2]|0; $98 = HEAP32[$pCell>>2]|0; _btreeParseCellPtr($97,$98,$info); - $99 = (($info) + 12|0); + $99 = ((($info)) + 12|0); $100 = HEAP32[$99>>2]|0; HEAP32[$sz>>2] = $100; $101 = HEAP32[$pPage>>2]|0; - $102 = (($101) + 2|0); + $102 = ((($101)) + 2|0); $103 = HEAP8[$102>>0]|0; $104 = ($103<<24>>24)!=(0); if ($104) { @@ -181821,20 +183845,20 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $142 = (($139) + 4)|0; $143 = $142; $144 = HEAP32[$143>>2]|0; - $145 = $vararg_buffer34; + $145 = $vararg_buffer4; $146 = $145; HEAP32[$146>>2] = $135; $147 = (($145) + 4)|0; $148 = $147; HEAP32[$148>>2] = $138; - $vararg_ptr7 = (($vararg_buffer34) + 8|0); + $vararg_ptr7 = ((($vararg_buffer4)) + 8|0); $149 = $vararg_ptr7; $150 = $149; HEAP32[$150>>2] = $141; $151 = (($149) + 4)|0; $152 = $151; HEAP32[$152>>2] = $144; - _checkAppendMsg($132,33624,$vararg_buffer34); + _checkAppendMsg($132,33221,$vararg_buffer4); } } $153 = $info; @@ -181851,27 +183875,27 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { HEAP32[$162>>2] = $158; } $163 = HEAP32[$sz>>2]|0; - $164 = (($info) + 16|0); + $164 = ((($info)) + 16|0); $165 = HEAP16[$164>>1]|0; $166 = $165&65535; $167 = ($163>>>0)>($166>>>0); if ($167) { - $168 = (($info) + 18|0); + $168 = ((($info)) + 18|0); $169 = HEAP16[$168>>1]|0; $170 = $169&65535; $171 = HEAP32[$pCell>>2]|0; $172 = (($171) + ($170)|0); $173 = HEAP32[$pBt>>2]|0; - $174 = (($173) + 36|0); + $174 = ((($173)) + 36|0); $175 = HEAP32[$174>>2]|0; $176 = HEAP32[$pPage>>2]|0; - $177 = (($176) + 56|0); + $177 = ((($176)) + 56|0); $178 = HEAP32[$177>>2]|0; $179 = (($178) + ($175)|0); $180 = ($172>>>0)<=($179>>>0); if ($180) { $181 = HEAP32[$sz>>2]|0; - $182 = (($info) + 16|0); + $182 = ((($info)) + 16|0); $183 = HEAP16[$182>>1]|0; $184 = $183&65535; $185 = (($181) - ($184))|0; @@ -181882,7 +183906,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $190 = (($189) - 4)|0; $191 = (($188>>>0) / ($190>>>0))&-1; HEAP32[$nPage>>2] = $191; - $192 = (($info) + 18|0); + $192 = ((($info)) + 18|0); $193 = HEAP16[$192>>1]|0; $194 = $193&65535; $195 = HEAP32[$pCell>>2]|0; @@ -181890,7 +183914,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $197 = (_sqlite3Get4byte($196)|0); HEAP32[$pgnoOvfl>>2] = $197; $198 = HEAP32[$pBt>>2]|0; - $199 = (($198) + 17|0); + $199 = ((($198)) + 17|0); $200 = HEAP8[$199>>0]|0; $201 = ($200<<24>>24)!=(0); if ($201) { @@ -181906,7 +183930,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { } } $208 = HEAP32[$pPage>>2]|0; - $209 = (($208) + 5|0); + $209 = ((($208)) + 5|0); $210 = HEAP8[$209>>0]|0; $211 = ($210<<24>>24)!=(0); if (!($211)) { @@ -181914,7 +183938,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $213 = (_sqlite3Get4byte($212)|0); HEAP32[$pgno>>2] = $213; $214 = HEAP32[$pBt>>2]|0; - $215 = (($214) + 17|0); + $215 = ((($214)) + 17|0); $216 = HEAP8[$215>>0]|0; $217 = ($216<<24>>24)!=(0); if ($217) { @@ -181938,7 +183962,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $230 = ($228|0)!=($229|0); if ($230) { $231 = HEAP32[$1>>2]|0; - _checkAppendMsg($231,33672,$vararg_buffer34); + _checkAppendMsg($231,33265,$vararg_buffer8); } } $232 = HEAP32[$d2>>2]|0; @@ -181949,30 +183973,30 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { HEAP32[$i>>2] = $234; } $235 = HEAP32[$pPage>>2]|0; - $236 = (($235) + 5|0); + $236 = ((($235)) + 5|0); $237 = HEAP8[$236>>0]|0; $238 = ($237<<24>>24)!=(0); if (!($238)) { $239 = HEAP32[$pPage>>2]|0; - $240 = (($239) + 6|0); + $240 = ((($239)) + 6|0); $241 = HEAP8[$240>>0]|0; $242 = $241&255; $243 = (($242) + 8)|0; $244 = HEAP32[$pPage>>2]|0; - $245 = (($244) + 56|0); + $245 = ((($244)) + 56|0); $246 = HEAP32[$245>>2]|0; $247 = (($246) + ($243)|0); $248 = (_sqlite3Get4byte($247)|0); HEAP32[$pgno>>2] = $248; $249 = HEAP32[$1>>2]|0; - $250 = (($249) + 28|0); - HEAP32[$250>>2] = 33704; + $250 = ((($249)) + 28|0); + HEAP32[$250>>2] = 33290; $251 = HEAP32[$2>>2]|0; $252 = HEAP32[$1>>2]|0; - $253 = (($252) + 32|0); + $253 = ((($252)) + 32|0); HEAP32[$253>>2] = $251; $254 = HEAP32[$pBt>>2]|0; - $255 = (($254) + 17|0); + $255 = ((($254)) + 17|0); $256 = HEAP8[$255>>0]|0; $257 = ($256<<24>>24)!=(0); if ($257) { @@ -181984,28 +184008,28 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $261 = HEAP32[$1>>2]|0; $262 = HEAP32[$pgno>>2]|0; $263 = HEAP32[$pPage>>2]|0; - $264 = (($263) + 18|0); + $264 = ((($263)) + 18|0); $265 = HEAP16[$264>>1]|0; $266 = ($265<<16>>16)!=(0); $nMaxKey$ = $266 ? $nMaxKey : 0; (_checkTreePage($261,$262,0,$nMaxKey$)|0); } $267 = HEAP32[$1>>2]|0; - $268 = (($267) + 28|0); - HEAP32[$268>>2] = 33496; + $268 = ((($267)) + 28|0); + HEAP32[$268>>2] = 33109; $269 = HEAP32[$2>>2]|0; $270 = HEAP32[$1>>2]|0; - $271 = (($270) + 32|0); + $271 = ((($270)) + 32|0); HEAP32[$271>>2] = $269; $272 = HEAP32[$pPage>>2]|0; - $273 = (($272) + 5|0); + $273 = ((($272)) + 5|0); $274 = HEAP8[$273>>0]|0; $275 = $274&255; $276 = ($275|0)!=(0); do { if ($276) { $277 = HEAP32[$pPage>>2]|0; - $278 = (($277) + 2|0); + $278 = ((($277)) + 2|0); $279 = HEAP8[$278>>0]|0; $280 = $279&255; $281 = ($280|0)!=(0); @@ -182053,20 +184077,20 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $446 = (($443) + 4)|0; $447 = $446; $448 = HEAP32[$447>>2]|0; - $449 = $vararg_buffer34; + $449 = $vararg_buffer22; $450 = $449; HEAP32[$450>>2] = $438; $451 = (($449) + 4)|0; $452 = $451; HEAP32[$452>>2] = $441; - $vararg_ptr25 = (($vararg_buffer34) + 8|0); + $vararg_ptr25 = ((($vararg_buffer22)) + 8|0); $453 = $vararg_ptr25; $454 = $453; HEAP32[$454>>2] = $445; $455 = (($453) + 4)|0; $456 = $455; HEAP32[$456>>2] = $448; - _checkAppendMsg($435,33928,$vararg_buffer34); + _checkAppendMsg($435,33499,$vararg_buffer22); break; } if (!($285)) { @@ -182105,20 +184129,20 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $315 = (($312) + 4)|0; $316 = $315; $317 = HEAP32[$316>>2]|0; - $318 = $vararg_buffer34; + $318 = $vararg_buffer10; $319 = $318; HEAP32[$319>>2] = $307; $320 = (($318) + 4)|0; $321 = $320; HEAP32[$321>>2] = $310; - $vararg_ptr13 = (($vararg_buffer34) + 8|0); + $vararg_ptr13 = ((($vararg_buffer10)) + 8|0); $322 = $vararg_ptr13; $323 = $322; HEAP32[$323>>2] = $314; $324 = (($322) + 4)|0; $325 = $324; HEAP32[$325>>2] = $317; - _checkAppendMsg($304,33736,$vararg_buffer34); + _checkAppendMsg($304,33318,$vararg_buffer10); break; } $326 = $nMinKey; @@ -182154,20 +184178,20 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $355 = (($352) + 4)|0; $356 = $355; $357 = HEAP32[$356>>2]|0; - $358 = $vararg_buffer34; + $358 = $vararg_buffer14; $359 = $358; HEAP32[$359>>2] = $347; $360 = (($358) + 4)|0; $361 = $360; HEAP32[$361>>2] = $350; - $vararg_ptr17 = (($vararg_buffer34) + 8|0); + $vararg_ptr17 = ((($vararg_buffer14)) + 8|0); $362 = $vararg_ptr17; $363 = $362; HEAP32[$363>>2] = $354; $364 = (($362) + 4)|0; $365 = $364; HEAP32[$365>>2] = $357; - _checkAppendMsg($344,33800,$vararg_buffer34); + _checkAppendMsg($344,33379,$vararg_buffer14); } $366 = $nMaxKey; $367 = $366; @@ -182202,20 +184226,20 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $395 = (($392) + 4)|0; $396 = $395; $397 = HEAP32[$396>>2]|0; - $398 = $vararg_buffer34; + $398 = $vararg_buffer18; $399 = $398; HEAP32[$399>>2] = $387; $400 = (($398) + 4)|0; $401 = $400; HEAP32[$401>>2] = $390; - $vararg_ptr21 = (($vararg_buffer34) + 8|0); + $vararg_ptr21 = ((($vararg_buffer18)) + 8|0); $402 = $vararg_ptr21; $403 = $402; HEAP32[$403>>2] = $394; $404 = (($402) + 4)|0; $405 = $404; HEAP32[$405>>2] = $397; - _checkAppendMsg($384,33864,$vararg_buffer34); + _checkAppendMsg($384,33438,$vararg_buffer18); } $406 = $nMaxKey; $407 = $406; @@ -182234,27 +184258,27 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { } } while(0); $457 = HEAP32[$pPage>>2]|0; - $458 = (($457) + 56|0); + $458 = ((($457)) + 56|0); $459 = HEAP32[$458>>2]|0; HEAP32[$data>>2] = $459; $460 = HEAP32[$pPage>>2]|0; - $461 = (($460) + 6|0); + $461 = ((($460)) + 6|0); $462 = HEAP8[$461>>0]|0; $463 = $462&255; HEAP32[$hdr>>2] = $463; $464 = HEAP32[$pBt>>2]|0; - $465 = (($464) + 32|0); + $465 = ((($464)) + 32|0); $466 = HEAP32[$465>>2]|0; $467 = (_sqlite3PageMalloc($466)|0); HEAP32[$hit>>2] = $467; $468 = HEAP32[$1>>2]|0; - $469 = (($468) + 28|0); + $469 = ((($468)) + 28|0); HEAP32[$469>>2] = 0; $470 = HEAP32[$hit>>2]|0; $471 = ($470|0)==(0|0); if ($471) { $472 = HEAP32[$1>>2]|0; - $473 = (($472) + 24|0); + $473 = ((($472)) + 24|0); HEAP32[$473>>2] = 1; } else { $474 = HEAP32[$hdr>>2]|0; @@ -182268,7 +184292,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $482 = (($481) + 5)|0; $483 = HEAP32[$data>>2]|0; $484 = (($483) + ($482)|0); - $485 = (($484) + 1|0); + $485 = ((($484)) + 1|0); $486 = HEAP8[$485>>0]|0; $487 = $486&255; $488 = $480 | $487; @@ -182297,7 +184321,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $508 = (($507) + 3)|0; $509 = HEAP32[$data>>2]|0; $510 = (($509) + ($508)|0); - $511 = (($510) + 1|0); + $511 = ((($510)) + 1|0); $512 = HEAP8[$511>>0]|0; $513 = $512&255; $514 = $506 | $513; @@ -182305,7 +184329,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $515 = HEAP32[$hdr>>2]|0; $516 = (($515) + 12)|0; $517 = HEAP32[$pPage>>2]|0; - $518 = (($517) + 5|0); + $518 = ((($517)) + 5|0); $519 = HEAP8[$518>>0]|0; $520 = $519&255; $521 = $520<<2; @@ -182334,7 +184358,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $538 = (($535) + ($537))|0; $539 = HEAP32[$data>>2]|0; $540 = (($539) + ($538)|0); - $541 = (($540) + 1|0); + $541 = ((($540)) + 1|0); $542 = HEAP8[$541>>0]|0; $543 = $542&255; $544 = $534 | $543; @@ -182362,15 +184386,15 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { L79: do { if ($560) { $561 = HEAP32[$1>>2]|0; - $562 = (($561) + 28|0); + $562 = ((($561)) + 28|0); HEAP32[$562>>2] = 0; $563 = HEAP32[$1>>2]|0; $564 = HEAP32[$i>>2]|0; $565 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer34>>2] = $564; - $vararg_ptr29 = (($vararg_buffer34) + 4|0); + HEAP32[$vararg_buffer26>>2] = $564; + $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); HEAP32[$vararg_ptr29>>2] = $565; - _checkAppendMsg($563,33992,$vararg_buffer34); + _checkAppendMsg($563,33558,$vararg_buffer26); } else { $566 = HEAP32[$pc>>2]|0; $567 = HEAP32[$size>>2]|0; @@ -182411,7 +184435,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $590 = (($589) + 1)|0; $591 = HEAP32[$data>>2]|0; $592 = (($591) + ($590)|0); - $593 = (($592) + 1|0); + $593 = ((($592)) + 1|0); $594 = HEAP8[$593>>0]|0; $595 = $594&255; $596 = $588 | $595; @@ -182433,7 +184457,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $607 = (($606) + 2)|0; $608 = HEAP32[$data>>2]|0; $609 = (($608) + ($607)|0); - $610 = (($609) + 1|0); + $610 = ((($609)) + 1|0); $611 = HEAP8[$610>>0]|0; $612 = $611&255; $613 = $605 | $612; @@ -182469,7 +184493,7 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $634 = HEAP32[$i>>2]|0; $635 = HEAP32[$data>>2]|0; $636 = (($635) + ($634)|0); - $637 = (($636) + 1|0); + $637 = ((($636)) + 1|0); $638 = HEAP8[$637>>0]|0; $639 = $638&255; $640 = $633 | $639; @@ -182516,10 +184540,10 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $659 = HEAP32[$1>>2]|0; $660 = HEAP32[$i>>2]|0; $661 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer34>>2] = $660; - $vararg_ptr33 = (($vararg_buffer34) + 4|0); + HEAP32[$vararg_buffer30>>2] = $660; + $vararg_ptr33 = ((($vararg_buffer30)) + 4|0); HEAP32[$vararg_ptr33>>2] = $661; - _checkAppendMsg($659,34040,$vararg_buffer34); + _checkAppendMsg($659,33600,$vararg_buffer30); } $664 = HEAP32[$cnt>>2]|0; $665 = HEAP32[$hdr>>2]|0; @@ -182540,11 +184564,11 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { $679 = $678&255; $680 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer34>>2] = $673; - $vararg_ptr37 = (($vararg_buffer34) + 4|0); + $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); HEAP32[$vararg_ptr37>>2] = $679; - $vararg_ptr38 = (($vararg_buffer34) + 8|0); + $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); HEAP32[$vararg_ptr38>>2] = $680; - _checkAppendMsg($672,34080,$vararg_buffer34); + _checkAppendMsg($672,33637,$vararg_buffer34); } } $681 = HEAP32[$hit>>2]|0; @@ -182555,15 +184579,15 @@ function _checkTreePage($pCheck,$iPage,$pnParentMinKey,$pnParentMaxKey) { } while(0); $683 = HEAP32[$saved_zPfx>>2]|0; $684 = HEAP32[$1>>2]|0; - $685 = (($684) + 28|0); + $685 = ((($684)) + 28|0); HEAP32[$685>>2] = $683; $686 = HEAP32[$saved_v1>>2]|0; $687 = HEAP32[$1>>2]|0; - $688 = (($687) + 32|0); + $688 = ((($687)) + 32|0); HEAP32[$688>>2] = $686; $689 = HEAP32[$saved_v2>>2]|0; $690 = HEAP32[$1>>2]|0; - $691 = (($690) + 36|0); + $691 = ((($690)) + 36|0); HEAP32[$691>>2] = $689; $692 = HEAP32[$depth>>2]|0; $693 = (($692) + 1)|0; @@ -182584,7 +184608,7 @@ function _getPageReferenced($pCheck,$iPg) { $2 = HEAP32[$1>>2]|0; $3 = (($2>>>0) / 8)&-1; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 8|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + ($3)|0); $8 = HEAP8[$7>>0]|0; @@ -182612,62 +184636,62 @@ function _checkAppendMsg($pCheck,$zFormat,$varargs) { HEAP32[$0>>2] = $pCheck; HEAP32[$1>>2] = $zFormat; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 16|0); + $3 = ((($2)) + 16|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0); if (!($5)) { STACKTOP = sp;return; } $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 16|0); + $7 = ((($6)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + -1)|0; HEAP32[$7>>2] = $9; $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 20|0); + $11 = ((($10)) + 20|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + 1)|0; HEAP32[$11>>2] = $13; HEAP32[$ap>>2] = $varargs; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 40|0); - $16 = (($15) + 12|0); + $15 = ((($14)) + 40|0); + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)!=(0); if ($18) { $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 40|0); - _sqlite3StrAccumAppend($20,33488,1); + $20 = ((($19)) + 40|0); + _sqlite3StrAccumAppend($20,33107,1); } $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 28|0); + $22 = ((($21)) + 28|0); $23 = HEAP32[$22>>2]|0; $24 = ($23|0)!=(0|0); if ($24) { $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 28|0); + $26 = ((($25)) + 28|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 32|0); + $29 = ((($28)) + 32|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 36|0); + $32 = ((($31)) + 36|0); $33 = HEAP32[$32>>2]|0; HEAP32[$vararg_buffer>>2] = $30; - $vararg_ptr1 = (($vararg_buffer) + 4|0); + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $33; (_sqlite3_snprintf(200,$zBuf,$27,$vararg_buffer)|0); $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 40|0); + $35 = ((($34)) + 40|0); _sqlite3StrAccumAppendAll($35,$zBuf); } $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 40|0); + $37 = ((($36)) + 40|0); $38 = HEAP32[$1>>2]|0; _sqlite3VXPrintf($37,1,$38,$ap); $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 40|0); - $41 = (($40) + 25|0); + $40 = ((($39)) + 40|0); + $41 = ((($40)) + 25|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = ($43|0)==(1); @@ -182675,20 +184699,22 @@ function _checkAppendMsg($pCheck,$zFormat,$varargs) { STACKTOP = sp;return; } $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 24|0); + $46 = ((($45)) + 24|0); HEAP32[$46>>2] = 1; STACKTOP = sp;return; } function _checkRef($pCheck,$iPage) { $pCheck = $pCheck|0; $iPage = $iPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer1 = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; HEAP32[$1>>2] = $pCheck; HEAP32[$2>>2] = $iPage; $3 = HEAP32[$2>>2]|0; @@ -182699,14 +184725,14 @@ function _checkRef($pCheck,$iPage) { } else { $5 = HEAP32[$2>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = ($5>>>0)>($8>>>0); $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$2>>2]|0; if ($9) { - HEAP32[$vararg_buffer1>>2] = $11; - _checkAppendMsg($10,34136,$vararg_buffer1); + HEAP32[$vararg_buffer>>2] = $11; + _checkAppendMsg($10,33689,$vararg_buffer); HEAP32[$0>>2] = 1; break; } @@ -182716,7 +184742,7 @@ function _checkRef($pCheck,$iPage) { $15 = HEAP32[$2>>2]|0; if ($13) { HEAP32[$vararg_buffer1>>2] = $15; - _checkAppendMsg($14,34160,$vararg_buffer1); + _checkAppendMsg($14,33712,$vararg_buffer1); HEAP32[$0>>2] = 1; break; } else { @@ -182742,32 +184768,32 @@ function _cellSizePtr($pPage,$pCell) { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pIter = sp + 12|0; - $pEnd = sp + 8|0; - $nSize = sp + 4|0; - $minLocal = sp; + $1 = sp + 12|0; + $2 = sp + 8|0; + $pIter = sp + 20|0; + $pEnd = sp; + $nSize = sp + 16|0; + $minLocal = sp + 4|0; HEAP32[$1>>2] = $pPage; HEAP32[$2>>2] = $pCell; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 7|0); + $5 = ((($4)) + 7|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = (($3) + ($7)|0); HEAP32[$pIter>>2] = $8; $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); $13 = HEAP32[$pIter>>2]|0; if ($12) { - $14 = (($13) + 9|0); + $14 = ((($13)) + 9|0); HEAP32[$pEnd>>2] = $14; while(1) { $15 = HEAP32[$pIter>>2]|0; - $16 = (($15) + 1|0); + $16 = ((($15)) + 1|0); HEAP32[$pIter>>2] = $16; $17 = HEAP8[$15>>0]|0; $18 = $17&255; @@ -182801,7 +184827,7 @@ function _cellSizePtr($pPage,$pCell) { L9: do { if ($33) { $34 = HEAP32[$pIter>>2]|0; - $35 = (($34) + 9|0); + $35 = ((($34)) + 9|0); HEAP32[$pEnd>>2] = $35; $36 = HEAP32[$nSize>>2]|0; $37 = $36 & 127; @@ -182810,7 +184836,7 @@ function _cellSizePtr($pPage,$pCell) { $38 = HEAP32[$nSize>>2]|0; $39 = $38 << 7; $40 = HEAP32[$pIter>>2]|0; - $41 = (($40) + 1|0); + $41 = ((($40)) + 1|0); HEAP32[$pIter>>2] = $41; $42 = HEAP8[$41>>0]|0; $43 = $42&255; @@ -182834,20 +184860,20 @@ function _cellSizePtr($pPage,$pCell) { } } while(0); $53 = HEAP32[$pIter>>2]|0; - $54 = (($53) + 1|0); + $54 = ((($53)) + 1|0); HEAP32[$pIter>>2] = $54; $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 2|0); + $56 = ((($55)) + 2|0); $57 = HEAP8[$56>>0]|0; $58 = ($57<<24>>24)!=(0); L15: do { if ($58) { $59 = HEAP32[$pIter>>2]|0; - $60 = (($59) + 9|0); + $60 = ((($59)) + 9|0); HEAP32[$pEnd>>2] = $60; while(1) { $61 = HEAP32[$pIter>>2]|0; - $62 = (($61) + 1|0); + $62 = ((($61)) + 1|0); HEAP32[$pIter>>2] = $62; $63 = HEAP8[$61>>0]|0; $64 = $63&255; @@ -182867,7 +184893,7 @@ function _cellSizePtr($pPage,$pCell) { } while(0); $70 = HEAP32[$nSize>>2]|0; $71 = HEAP32[$1>>2]|0; - $72 = (($71) + 10|0); + $72 = ((($71)) + 10|0); $73 = HEAP16[$72>>1]|0; $74 = $73&65535; $75 = ($70>>>0)<=($74>>>0); @@ -182886,7 +184912,7 @@ function _cellSizePtr($pPage,$pCell) { HEAP32[$nSize>>2] = $$; } else { $85 = HEAP32[$1>>2]|0; - $86 = (($85) + 12|0); + $86 = ((($85)) + 12|0); $87 = HEAP16[$86>>1]|0; $88 = $87&65535; HEAP32[$minLocal>>2] = $88; @@ -182895,9 +184921,9 @@ function _cellSizePtr($pPage,$pCell) { $91 = HEAP32[$minLocal>>2]|0; $92 = (($90) - ($91))|0; $93 = HEAP32[$1>>2]|0; - $94 = (($93) + 52|0); + $94 = ((($93)) + 52|0); $95 = HEAP32[$94>>2]|0; - $96 = (($95) + 36|0); + $96 = ((($95)) + 36|0); $97 = HEAP32[$96>>2]|0; $98 = (($97) - 4)|0; $99 = (($92>>>0) % ($98>>>0))&-1; @@ -182905,7 +184931,7 @@ function _cellSizePtr($pPage,$pCell) { HEAP32[$nSize>>2] = $100; $101 = HEAP32[$nSize>>2]|0; $102 = HEAP32[$1>>2]|0; - $103 = (($102) + 10|0); + $103 = ((($102)) + 10|0); $104 = HEAP16[$103>>1]|0; $105 = $104&65535; $106 = ($101>>>0)>($105>>>0); @@ -182957,7 +184983,7 @@ function _vdbeMergeEngineFree($pMerger) { } $7 = HEAP32[$i>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 12|0); + $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; $11 = (($10) + (($7*56)|0)|0); _vdbePmaReaderClear($11); @@ -182983,34 +185009,34 @@ function _vdbeSortSubtaskCleanup($db,$pTask) { HEAP32[$1>>2] = $pTask; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; _sqlite3DbFree($2,$5); $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 12|0); + $7 = ((($6)) + 12|0); HEAP32[$7>>2] = 0; $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 16|0); + $9 = ((($8)) + 16|0); $10 = HEAP32[$9>>2]|0; _vdbeSorterRecordFree(0,$10); $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 16|0); + $12 = ((($11)) + 16|0); HEAP32[$12>>2] = 0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 32|0); + $14 = ((($13)) + 32|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)!=(0|0); if ($16) { $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 32|0); + $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; (_sqlite3OsCloseFree($19)|0); $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 32|0); + $21 = ((($20)) + 32|0); HEAP32[$21>>2] = 0; $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 32|0); - $24 = (($23) + 8|0); + $23 = ((($22)) + 32|0); + $24 = ((($23)) + 8|0); $25 = $24; $26 = $25; HEAP32[$26>>2] = 0; @@ -183019,22 +185045,22 @@ function _vdbeSortSubtaskCleanup($db,$pTask) { HEAP32[$28>>2] = 0; } $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 48|0); + $30 = ((($29)) + 48|0); $31 = HEAP32[$30>>2]|0; $32 = ($31|0)!=(0|0); if (!($32)) { STACKTOP = sp;return; } $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 48|0); + $34 = ((($33)) + 48|0); $35 = HEAP32[$34>>2]|0; (_sqlite3OsCloseFree($35)|0); $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 48|0); + $37 = ((($36)) + 48|0); HEAP32[$37>>2] = 0; $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 48|0); - $40 = (($39) + 8|0); + $39 = ((($38)) + 48|0); + $40 = ((($39)) + 8|0); $41 = $40; $42 = $41; HEAP32[$42>>2] = 0; @@ -183064,7 +185090,7 @@ function _vdbeSorterRecordFree($db,$pRecord) { break; } $5 = HEAP32[$p>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pNext>>2] = $7; $8 = HEAP32[$0>>2]|0; @@ -183101,32 +185127,32 @@ function _vdbePmaReaderClear($pReadr) { $0 = sp; HEAP32[$0>>2] = $pReadr; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 28|0); + $2 = ((($1)) + 28|0); $3 = HEAP32[$2>>2]|0; _sqlite3_free($3); $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 36|0); + $5 = ((($4)) + 36|0); $6 = HEAP32[$5>>2]|0; _sqlite3_free($6); $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 44|0); + $8 = ((($7)) + 44|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); if ($10) { $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 24|0); + $12 = ((($11)) + 24|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 44|0); + $15 = ((($14)) + 44|0); $16 = HEAP32[$15>>2]|0; (_sqlite3OsUnfetch($13,0,0,$16)|0); } $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 48|0); + $18 = ((($17)) + 48|0); $19 = HEAP32[$18>>2]|0; _vdbeIncrFree($19); $20 = HEAP32[$0>>2]|0; - dest=$20+0|0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$20; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _vdbeIncrFree($pIncr) { @@ -183142,7 +185168,7 @@ function _vdbeIncrFree($pIncr) { STACKTOP = sp;return; } $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 4|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; _vdbeMergeEngineFree($5); $6 = HEAP32[$0>>2]|0; @@ -183173,11 +185199,11 @@ function _invalidateIncrblobCursors($pBtree,$0,$1,$isClearTable) { HEAP32[$8>>2] = $1; HEAP32[$4>>2] = $isClearTable; $9 = HEAP32[$2>>2]|0; - $10 = (($9) + 4|0); + $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; HEAP32[$pBt>>2] = $11; $12 = HEAP32[$pBt>>2]|0; - $13 = (($12) + 8|0); + $13 = ((($12)) + 8|0); $14 = HEAP32[$13>>2]|0; HEAP32[$p>>2] = $14; while(1) { @@ -183187,7 +185213,7 @@ function _invalidateIncrblobCursors($pBtree,$0,$1,$isClearTable) { break; } $17 = HEAP32[$p>>2]|0; - $18 = (($17) + 72|0); + $18 = ((($17)) + 72|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = $20 & 16; @@ -183198,7 +185224,7 @@ function _invalidateIncrblobCursors($pBtree,$0,$1,$isClearTable) { $24 = ($23|0)!=(0); if (!($24)) { $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 24|0); + $26 = ((($25)) + 24|0); $27 = $26; $28 = $27; $29 = HEAP32[$28>>2]|0; @@ -183219,12 +185245,12 @@ function _invalidateIncrblobCursors($pBtree,$0,$1,$isClearTable) { } } $42 = HEAP32[$p>>2]|0; - $43 = (($42) + 73|0); + $43 = ((($42)) + 73|0); HEAP8[$43>>0] = 0; } } while(0); $44 = HEAP32[$p>>2]|0; - $45 = (($44) + 8|0); + $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; HEAP32[$p>>2] = $46; } @@ -183245,15 +185271,15 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 36|0; - $1 = sp + 32|0; + $1 = sp + 16|0; $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $pPage = sp + 16|0; + $3 = sp + 4|0; + $4 = sp + 32|0; + $pPage = sp; $rc = sp + 12|0; - $pCell = sp + 8|0; - $i = sp + 4|0; - $hdr = sp; + $pCell = sp + 24|0; + $i = sp + 20|0; + $hdr = sp + 8|0; $szCell = sp + 40|0; HEAP32[$1>>2] = $pBt; HEAP32[$2>>2] = $pgno; @@ -183282,7 +185308,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { STACKTOP = sp;return ($114|0); } $16 = HEAP32[$pPage>>2]|0; - $17 = (($16) + 6|0); + $17 = ((($16)) + 6|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; HEAP32[$hdr>>2] = $19; @@ -183290,7 +185316,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { while(1) { $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$pPage>>2]|0; - $22 = (($21) + 18|0); + $22 = ((($21)) + 18|0); $23 = HEAP16[$22>>1]|0; $24 = $23&65535; $25 = ($20|0)<($24|0); @@ -183299,16 +185325,16 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { label = 11; break; } - $27 = (($26) + 56|0); + $27 = ((($26)) + 56|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$pPage>>2]|0; - $30 = (($29) + 20|0); + $30 = ((($29)) + 20|0); $31 = HEAP16[$30>>1]|0; $32 = $31&65535; $33 = HEAP32[$i>>2]|0; $34 = $33<<1; $35 = HEAP32[$pPage>>2]|0; - $36 = (($35) + 64|0); + $36 = ((($35)) + 64|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + ($34)|0); $39 = HEAP8[$38>>0]|0; @@ -183317,10 +185343,10 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $42 = HEAP32[$i>>2]|0; $43 = $42<<1; $44 = HEAP32[$pPage>>2]|0; - $45 = (($44) + 64|0); + $45 = ((($44)) + 64|0); $46 = HEAP32[$45>>2]|0; $47 = (($46) + ($43)|0); - $48 = (($47) + 1|0); + $48 = ((($47)) + 1|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $41 | $50; @@ -183328,7 +185354,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $53 = (($28) + ($52)|0); HEAP32[$pCell>>2] = $53; $54 = HEAP32[$pPage>>2]|0; - $55 = (($54) + 5|0); + $55 = ((($54)) + 5|0); $56 = HEAP8[$55>>0]|0; $57 = ($56<<24>>24)!=(0); if (!($57)) { @@ -183359,7 +185385,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { } do { if ((label|0) == 11) { - $72 = (($26) + 5|0); + $72 = ((($26)) + 5|0); $73 = HEAP8[$72>>0]|0; $74 = ($73<<24>>24)!=(0); if ($74) { @@ -183367,7 +185393,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $88 = ($87|0)!=(0|0); if ($88) { $89 = HEAP32[$pPage>>2]|0; - $90 = (($89) + 18|0); + $90 = ((($89)) + 18|0); $91 = HEAP16[$90>>1]|0; $92 = $91&65535; $93 = HEAP32[$4>>2]|0; @@ -183380,7 +185406,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $76 = HEAP32[$hdr>>2]|0; $77 = (($76) + 8)|0; $78 = HEAP32[$pPage>>2]|0; - $79 = (($78) + 56|0); + $79 = ((($78)) + 56|0); $80 = HEAP32[$79>>2]|0; $81 = (($80) + ($77)|0); $82 = (_sqlite3Get4byte($81)|0); @@ -183400,7 +185426,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { _freePage($98,$rc); break; } - $99 = (($98) + 68|0); + $99 = ((($98)) + 68|0); $100 = HEAP32[$99>>2]|0; $101 = (_sqlite3PagerWrite($100)|0); HEAP32[$rc>>2] = $101; @@ -183409,7 +185435,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $103 = HEAP32[$pPage>>2]|0; $104 = HEAP32[$hdr>>2]|0; $105 = HEAP32[$pPage>>2]|0; - $106 = (($105) + 56|0); + $106 = ((($105)) + 56|0); $107 = HEAP32[$106>>2]|0; $108 = (($107) + ($104)|0); $109 = HEAP8[$108>>0]|0; @@ -183438,33 +185464,33 @@ function _clearCell($pPage,$pCell,$pnSize) { var $ovflPageSize = 0, $ovflPgno = 0, $pBt = 0, $pOvfl = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $pBt = sp + 48|0; + $0 = sp + 24|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 36|0; + $pBt = sp + 52|0; $info = sp; - $ovflPgno = sp + 44|0; - $rc = sp + 40|0; - $nOvfl = sp + 36|0; - $ovflPageSize = sp + 32|0; - $iNext = sp + 28|0; - $pOvfl = sp + 24|0; + $ovflPgno = sp + 64|0; + $rc = sp + 44|0; + $nOvfl = sp + 40|0; + $ovflPageSize = sp + 56|0; + $iNext = sp + 60|0; + $pOvfl = sp + 48|0; HEAP32[$1>>2] = $pPage; HEAP32[$2>>2] = $pCell; HEAP32[$3>>2] = $pnSize; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 52|0); + $5 = ((($4)) + 52|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pBt>>2] = $6; $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$2>>2]|0; _btreeParseCellPtr($7,$8,$info); - $9 = (($info) + 20|0); + $9 = ((($info)) + 20|0); $10 = HEAP16[$9>>1]|0; $11 = HEAP32[$3>>2]|0; HEAP16[$11>>1] = $10; - $12 = (($info) + 18|0); + $12 = ((($info)) + 18|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = ($14|0)==(0); @@ -183474,16 +185500,16 @@ function _clearCell($pPage,$pCell,$pnSize) { STACKTOP = sp;return ($96|0); } $16 = HEAP32[$2>>2]|0; - $17 = (($info) + 18|0); + $17 = ((($info)) + 18|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = (($16) + ($19)|0); - $21 = (($20) + 3|0); + $21 = ((($20)) + 3|0); $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 56|0); + $23 = ((($22)) + 56|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 20|0); + $26 = ((($25)) + 20|0); $27 = HEAP16[$26>>1]|0; $28 = $27&65535; $29 = (($24) + ($28)|0); @@ -183494,7 +185520,7 @@ function _clearCell($pPage,$pCell,$pnSize) { $96 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($96|0); } - $32 = (($info) + 18|0); + $32 = ((($info)) + 18|0); $33 = HEAP16[$32>>1]|0; $34 = $33&65535; $35 = HEAP32[$2>>2]|0; @@ -183502,13 +185528,13 @@ function _clearCell($pPage,$pCell,$pnSize) { $37 = (_sqlite3Get4byte($36)|0); HEAP32[$ovflPgno>>2] = $37; $38 = HEAP32[$pBt>>2]|0; - $39 = (($38) + 36|0); + $39 = ((($38)) + 36|0); $40 = HEAP32[$39>>2]|0; $41 = (($40) - 4)|0; HEAP32[$ovflPageSize>>2] = $41; - $42 = (($info) + 12|0); + $42 = ((($info)) + 12|0); $43 = HEAP32[$42>>2]|0; - $44 = (($info) + 16|0); + $44 = ((($info)) + 16|0); $45 = HEAP16[$44>>1]|0; $46 = $45&65535; $47 = (($43) - ($46))|0; @@ -183576,7 +185602,7 @@ function _clearCell($pPage,$pCell,$pnSize) { if ((label|0) == 15) { label = 0; $77 = HEAP32[$pOvfl>>2]|0; - $78 = (($77) + 68|0); + $78 = ((($77)) + 68|0); $79 = HEAP32[$78>>2]|0; $80 = (_sqlite3PagerPageRefcount($79)|0); $81 = ($80|0)!=(1); @@ -183599,7 +185625,7 @@ function _clearCell($pPage,$pCell,$pnSize) { $88 = ($87|0)!=(0|0); if ($88) { $89 = HEAP32[$pOvfl>>2]|0; - $90 = (($89) + 68|0); + $90 = ((($89)) + 68|0); $91 = HEAP32[$90>>2]|0; _sqlite3PagerUnref($91); } @@ -183635,7 +185661,7 @@ function _clearCell($pPage,$pCell,$pnSize) { $96 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($96|0); } - return 0|0; + return (0)|0; } function _freePage($pPage,$pRC) { $pPage = $pPage|0; @@ -183654,11 +185680,11 @@ function _freePage($pPage,$pRC) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 52|0); + $6 = ((($5)) + 52|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 72|0); + $10 = ((($9)) + 72|0); $11 = HEAP32[$10>>2]|0; $12 = (_freePage2($7,$8,$11)|0); $13 = HEAP32[$1>>2]|0; @@ -183685,19 +185711,19 @@ function _zeroPage($pPage,$flags) { HEAP32[$0>>2] = $pPage; HEAP32[$1>>2] = $flags; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 56|0); + $3 = ((($2)) + 56|0); $4 = HEAP32[$3>>2]|0; HEAP32[$data>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 52|0); + $6 = ((($5)) + 52|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pBt>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 6|0); + $9 = ((($8)) + 6|0); $10 = HEAP8[$9>>0]|0; HEAP8[$hdr>>0] = $10; $11 = HEAP32[$pBt>>2]|0; - $12 = (($11) + 22|0); + $12 = ((($11)) + 22|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = $14 & 4; @@ -183708,7 +185734,7 @@ function _zeroPage($pPage,$flags) { $19 = HEAP32[$data>>2]|0; $20 = (($19) + ($18)|0); $21 = HEAP32[$pBt>>2]|0; - $22 = (($21) + 36|0); + $22 = ((($21)) + 36|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP8[$hdr>>0]|0; $25 = $24&255; @@ -183736,7 +185762,7 @@ function _zeroPage($pPage,$flags) { $43 = (($42) + 1)|0; $44 = HEAP32[$data>>2]|0; $45 = (($44) + ($43)|0); - ;HEAP8[$45+0>>0]=0|0;HEAP8[$45+1>>0]=0|0;HEAP8[$45+2>>0]=0|0;HEAP8[$45+3>>0]=0|0; + ;HEAP8[$45>>0]=0|0;HEAP8[$45+1>>0]=0|0;HEAP8[$45+2>>0]=0|0;HEAP8[$45+3>>0]=0|0; $46 = HEAP8[$hdr>>0]|0; $47 = $46&255; $48 = (($47) + 7)|0; @@ -183744,7 +185770,7 @@ function _zeroPage($pPage,$flags) { $50 = (($49) + ($48)|0); HEAP8[$50>>0] = 0; $51 = HEAP32[$pBt>>2]|0; - $52 = (($51) + 36|0); + $52 = ((($51)) + 36|0); $53 = HEAP32[$52>>2]|0; $54 = $53 >>> 8; $55 = $54&255; @@ -183755,7 +185781,7 @@ function _zeroPage($pPage,$flags) { $60 = (($59) + ($58)|0); HEAP8[$60>>0] = $55; $61 = HEAP32[$pBt>>2]|0; - $62 = (($61) + 36|0); + $62 = ((($61)) + 36|0); $63 = HEAP32[$62>>2]|0; $64 = $63&255; $65 = HEAP8[$hdr>>0]|0; @@ -183763,53 +185789,53 @@ function _zeroPage($pPage,$flags) { $67 = (($66) + 5)|0; $68 = HEAP32[$data>>2]|0; $69 = (($68) + ($67)|0); - $70 = (($69) + 1|0); + $70 = ((($69)) + 1|0); HEAP8[$70>>0] = $64; $71 = HEAP32[$pBt>>2]|0; - $72 = (($71) + 36|0); + $72 = ((($71)) + 36|0); $73 = HEAP32[$72>>2]|0; $74 = HEAP16[$first>>1]|0; $75 = $74&65535; $76 = (($73) - ($75))|0; $77 = $76&65535; $78 = HEAP32[$0>>2]|0; - $79 = (($78) + 16|0); + $79 = ((($78)) + 16|0); HEAP16[$79>>1] = $77; $80 = HEAP32[$0>>2]|0; $81 = HEAP32[$1>>2]|0; (_decodeFlags($80,$81)|0); $82 = HEAP16[$first>>1]|0; $83 = HEAP32[$0>>2]|0; - $84 = (($83) + 14|0); + $84 = ((($83)) + 14|0); HEAP16[$84>>1] = $82; $85 = HEAP32[$pBt>>2]|0; - $86 = (($85) + 36|0); + $86 = ((($85)) + 36|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[$data>>2]|0; $89 = (($88) + ($87)|0); $90 = HEAP32[$0>>2]|0; - $91 = (($90) + 60|0); + $91 = ((($90)) + 60|0); HEAP32[$91>>2] = $89; $92 = HEAP16[$first>>1]|0; $93 = $92&65535; $94 = HEAP32[$data>>2]|0; $95 = (($94) + ($93)|0); $96 = HEAP32[$0>>2]|0; - $97 = (($96) + 64|0); + $97 = ((($96)) + 64|0); HEAP32[$97>>2] = $95; $98 = HEAP32[$0>>2]|0; - $99 = (($98) + 1|0); + $99 = ((($98)) + 1|0); HEAP8[$99>>0] = 0; $100 = HEAP32[$pBt>>2]|0; - $101 = (($100) + 32|0); + $101 = ((($100)) + 32|0); $102 = HEAP32[$101>>2]|0; $103 = (($102) - 1)|0; $104 = $103&65535; $105 = HEAP32[$0>>2]|0; - $106 = (($105) + 20|0); + $106 = ((($105)) + 20|0); HEAP16[$106>>1] = $104; $107 = HEAP32[$0>>2]|0; - $108 = (($107) + 18|0); + $108 = ((($107)) + 18|0); HEAP16[$108>>1] = 0; $109 = HEAP32[$0>>2]|0; HEAP8[$109>>0] = 1; @@ -183830,23 +185856,23 @@ function _freePage2($pBt,$pMemPage,$iPage) { var $98 = 0, $99 = 0, $iTrunk = 0, $nFree = 0, $nLeaf = 0, $pPage = 0, $pPage1 = 0, $pTrunk = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $2 = sp + 28|0; - $pTrunk = sp + 24|0; - $iTrunk = sp + 20|0; - $pPage1 = sp + 16|0; + $pTrunk = sp + 4|0; + $iTrunk = sp + 32|0; + $pPage1 = sp + 36|0; $pPage = sp + 12|0; - $rc = sp + 8|0; - $nFree = sp + 4|0; - $nLeaf = sp; + $rc = sp + 24|0; + $nFree = sp + 20|0; + $nLeaf = sp + 8|0; HEAP32[$0>>2] = $pBt; HEAP32[$1>>2] = $pMemPage; HEAP32[$2>>2] = $iPage; HEAP32[$pTrunk>>2] = 0; HEAP32[$iTrunk>>2] = 0; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 12|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pPage1>>2] = $5; $6 = HEAP32[$1>>2]|0; @@ -183855,7 +185881,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { $8 = HEAP32[$1>>2]|0; HEAP32[$pPage>>2] = $8; $9 = HEAP32[$pPage>>2]|0; - $10 = (($9) + 68|0); + $10 = ((($9)) + 68|0); $11 = HEAP32[$10>>2]|0; _sqlite3PagerRef($11); } else { @@ -183865,7 +185891,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { HEAP32[$pPage>>2] = $14; } $15 = HEAP32[$pPage1>>2]|0; - $16 = (($15) + 68|0); + $16 = ((($15)) + 68|0); $17 = HEAP32[$16>>2]|0; $18 = (_sqlite3PagerWrite($17)|0); HEAP32[$rc>>2] = $18; @@ -183874,20 +185900,20 @@ function _freePage2($pBt,$pMemPage,$iPage) { do { if (!($20)) { $21 = HEAP32[$pPage1>>2]|0; - $22 = (($21) + 56|0); + $22 = ((($21)) + 56|0); $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 36|0); + $24 = ((($23)) + 36|0); $25 = (_sqlite3Get4byte($24)|0); HEAP32[$nFree>>2] = $25; $26 = HEAP32[$pPage1>>2]|0; - $27 = (($26) + 56|0); + $27 = ((($26)) + 56|0); $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 36|0); + $29 = ((($28)) + 36|0); $30 = HEAP32[$nFree>>2]|0; $31 = (($30) + 1)|0; _sqlite3Put4byte($29,$31); $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 22|0); + $33 = ((($32)) + 22|0); $34 = HEAP16[$33>>1]|0; $35 = $34&65535; $36 = $35 & 4; @@ -183906,7 +185932,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { } } $44 = HEAP32[$pPage>>2]|0; - $45 = (($44) + 68|0); + $45 = ((($44)) + 68|0); $46 = HEAP32[$45>>2]|0; $47 = (_sqlite3PagerWrite($46)|0); HEAP32[$rc>>2] = $47; @@ -183915,17 +185941,17 @@ function _freePage2($pBt,$pMemPage,$iPage) { break; } $49 = HEAP32[$pPage>>2]|0; - $50 = (($49) + 56|0); + $50 = ((($49)) + 56|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$pPage>>2]|0; - $53 = (($52) + 52|0); + $53 = ((($52)) + 52|0); $54 = HEAP32[$53>>2]|0; - $55 = (($54) + 32|0); + $55 = ((($54)) + 32|0); $56 = HEAP32[$55>>2]|0; _memset(($51|0),0,($56|0))|0; } $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 17|0); + $58 = ((($57)) + 17|0); $59 = HEAP8[$58>>0]|0; $60 = ($59<<24>>24)!=(0); if ($60) { @@ -183942,9 +185968,9 @@ function _freePage2($pBt,$pMemPage,$iPage) { $66 = ($65|0)!=(0); if ($66) { $67 = HEAP32[$pPage1>>2]|0; - $68 = (($67) + 56|0); + $68 = ((($67)) + 56|0); $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 32|0); + $70 = ((($69)) + 32|0); $71 = (_sqlite3Get4byte($70)|0); HEAP32[$iTrunk>>2] = $71; $72 = HEAP32[$0>>2]|0; @@ -183957,14 +185983,14 @@ function _freePage2($pBt,$pMemPage,$iPage) { break; } $77 = HEAP32[$pTrunk>>2]|0; - $78 = (($77) + 56|0); + $78 = ((($77)) + 56|0); $79 = HEAP32[$78>>2]|0; - $80 = (($79) + 4|0); + $80 = ((($79)) + 4|0); $81 = (_sqlite3Get4byte($80)|0); HEAP32[$nLeaf>>2] = $81; $82 = HEAP32[$nLeaf>>2]|0; $83 = HEAP32[$0>>2]|0; - $84 = (($83) + 36|0); + $84 = ((($83)) + 36|0); $85 = HEAP32[$84>>2]|0; $86 = (($85>>>0) / 4)&-1; $87 = (($86) - 2)|0; @@ -183976,14 +186002,14 @@ function _freePage2($pBt,$pMemPage,$iPage) { } $90 = HEAP32[$nLeaf>>2]|0; $91 = HEAP32[$0>>2]|0; - $92 = (($91) + 36|0); + $92 = ((($91)) + 36|0); $93 = HEAP32[$92>>2]|0; $94 = (($93>>>0) / 4)&-1; $95 = (($94) - 8)|0; $96 = ($90>>>0)<($95>>>0); if ($96) { $97 = HEAP32[$pTrunk>>2]|0; - $98 = (($97) + 68|0); + $98 = ((($97)) + 68|0); $99 = HEAP32[$98>>2]|0; $100 = (_sqlite3PagerWrite($99)|0); HEAP32[$rc>>2] = $100; @@ -183993,9 +186019,9 @@ function _freePage2($pBt,$pMemPage,$iPage) { break; } $103 = HEAP32[$pTrunk>>2]|0; - $104 = (($103) + 56|0); + $104 = ((($103)) + 56|0); $105 = HEAP32[$104>>2]|0; - $106 = (($105) + 4|0); + $106 = ((($105)) + 4|0); $107 = HEAP32[$nLeaf>>2]|0; $108 = (($107) + 1)|0; _sqlite3Put4byte($106,$108); @@ -184003,7 +186029,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { $110 = $109<<2; $111 = (8 + ($110))|0; $112 = HEAP32[$pTrunk>>2]|0; - $113 = (($112) + 56|0); + $113 = ((($112)) + 56|0); $114 = HEAP32[$113>>2]|0; $115 = (($114) + ($111)|0); $116 = HEAP32[$2>>2]|0; @@ -184012,14 +186038,14 @@ function _freePage2($pBt,$pMemPage,$iPage) { $118 = ($117|0)!=(0|0); if ($118) { $119 = HEAP32[$0>>2]|0; - $120 = (($119) + 22|0); + $120 = ((($119)) + 22|0); $121 = HEAP16[$120>>1]|0; $122 = $121&65535; $123 = $122 & 4; $124 = ($123|0)==(0); if ($124) { $125 = HEAP32[$pPage>>2]|0; - $126 = (($125) + 68|0); + $126 = ((($125)) + 68|0); $127 = HEAP32[$126>>2]|0; _sqlite3PagerDontWrite($127); } @@ -184044,7 +186070,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { } } $137 = HEAP32[$pPage>>2]|0; - $138 = (($137) + 68|0); + $138 = ((($137)) + 68|0); $139 = HEAP32[$138>>2]|0; $140 = (_sqlite3PagerWrite($139)|0); HEAP32[$rc>>2] = $140; @@ -184052,19 +186078,19 @@ function _freePage2($pBt,$pMemPage,$iPage) { $142 = ($141|0)!=(0); if (!($142)) { $143 = HEAP32[$pPage>>2]|0; - $144 = (($143) + 56|0); + $144 = ((($143)) + 56|0); $145 = HEAP32[$144>>2]|0; $146 = HEAP32[$iTrunk>>2]|0; _sqlite3Put4byte($145,$146); $147 = HEAP32[$pPage>>2]|0; - $148 = (($147) + 56|0); + $148 = ((($147)) + 56|0); $149 = HEAP32[$148>>2]|0; - $150 = (($149) + 4|0); + $150 = ((($149)) + 4|0); _sqlite3Put4byte($150,0); $151 = HEAP32[$pPage1>>2]|0; - $152 = (($151) + 56|0); + $152 = ((($151)) + 56|0); $153 = HEAP32[$152>>2]|0; - $154 = (($153) + 32|0); + $154 = ((($153)) + 32|0); $155 = HEAP32[$2>>2]|0; _sqlite3Put4byte($154,$155); } @@ -184132,7 +186158,7 @@ function _btreePageLookup($pBt,$pgno) { $13 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($13|0); } - return 0|0; + return (0)|0; } function _sqlite3PagerDontWrite($pPg) { $pPg = $pPg|0; @@ -184144,11 +186170,11 @@ function _sqlite3PagerDontWrite($pPg) { $pPager = sp; HEAP32[$0>>2] = $pPg; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); + $2 = ((($1)) + 16|0); $3 = HEAP32[$2>>2]|0; HEAP32[$pPager>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 24|0); + $5 = ((($4)) + 24|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7 & 2; @@ -184157,14 +186183,14 @@ function _sqlite3PagerDontWrite($pPg) { STACKTOP = sp;return; } $10 = HEAP32[$pPager>>2]|0; - $11 = (($10) + 96|0); + $11 = ((($10)) + 96|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0); if (!($13)) { STACKTOP = sp;return; } $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 24|0); + $15 = ((($14)) + 24|0); $16 = HEAP16[$15>>1]|0; $17 = $16&65535; $18 = $17 | 32; @@ -184186,19 +186212,19 @@ function _btreeSetHasContent($pBt,$pgno) { HEAP32[$1>>2] = $pgno; HEAP32[$rc>>2] = 0; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 60|0); + $3 = ((($2)) + 60|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); if (!($5)) { $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 44|0); + $7 = ((($6)) + 44|0); $8 = HEAP32[$7>>2]|0; $9 = (_sqlite3BitvecCreate($8)|0); $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 60|0); + $11 = ((($10)) + 60|0); HEAP32[$11>>2] = $9; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 60|0); + $13 = ((($12)) + 60|0); $14 = HEAP32[$13>>2]|0; $15 = ($14|0)!=(0|0); if (!($15)) { @@ -184213,7 +186239,7 @@ function _btreeSetHasContent($pBt,$pgno) { } $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 60|0); + $20 = ((($19)) + 60|0); $21 = HEAP32[$20>>2]|0; $22 = (_sqlite3BitvecSize($21)|0); $23 = ($18>>>0)<=($22>>>0); @@ -184222,7 +186248,7 @@ function _btreeSetHasContent($pBt,$pgno) { STACKTOP = sp;return ($29|0); } $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 60|0); + $25 = ((($24)) + 60|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$1>>2]|0; $28 = (_sqlite3BitvecSet($26,$27)|0); @@ -184238,7 +186264,7 @@ function _sqlite3PcacheRef($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 26|0); + $2 = ((($1)) + 26|0); $3 = HEAP16[$2>>1]|0; $4 = (($3) + 1)<<16>>16; HEAP16[$2>>1] = $4; @@ -184255,25 +186281,25 @@ function _btreeDropTable($p,$iTable,$piMoved) { var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $maxRootPgno = 0, $pBt = 0, $pMove = 0, $pPage = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $rc = sp + 16|0; - $pPage = sp + 12|0; - $pBt = sp + 8|0; - $maxRootPgno = sp + 4|0; - $pMove = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $rc = sp + 32|0; + $pPage = sp; + $pBt = sp + 12|0; + $maxRootPgno = sp + 24|0; + $pMove = sp + 20|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $iTable; HEAP32[$3>>2] = $piMoved; HEAP32[$pPage>>2] = 0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pBt>>2] = $6; $7 = HEAP32[$pBt>>2]|0; - $8 = (($7) + 8|0); + $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); if ($10) { @@ -184314,7 +186340,7 @@ function _btreeDropTable($p,$iTable,$piMoved) { do { if ($26) { $27 = HEAP32[$pBt>>2]|0; - $28 = (($27) + 17|0); + $28 = ((($27)) + 17|0); $29 = HEAP8[$28>>0]|0; $30 = ($29<<24>>24)!=(0); if (!($30)) { @@ -184400,9 +186426,9 @@ function _btreeDropTable($p,$iTable,$piMoved) { HEAP32[$maxRootPgno>>2] = $65; while(1) { $66 = HEAP32[$maxRootPgno>>2]|0; - $67 = HEAP32[1128>>2]|0; + $67 = HEAP32[916>>2]|0; $68 = HEAP32[$pBt>>2]|0; - $69 = (($68) + 32|0); + $69 = ((($68)) + 32|0); $70 = HEAP32[$69>>2]|0; $71 = (($67>>>0) / ($70>>>0))&-1; $72 = (($71) + 1)|0; @@ -184445,12 +186471,12 @@ function _vdbeSorterFlushPMA($pSorter) { $0 = sp; HEAP32[$0>>2] = $pSorter; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 56|0); + $2 = ((($1)) + 56|0); HEAP8[$2>>0] = 1; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 64|0); + $4 = ((($3)) + 64|0); $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 36|0); + $6 = ((($5)) + 36|0); $7 = (_vdbeSorterListToPMA($4,$6)|0); STACKTOP = sp;return ($7|0); } @@ -184464,31 +186490,31 @@ function _vdbeSorterListToPMA($pTask,$pList) { var dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $db = sp + 52|0; - $rc = sp + 48|0; + $0 = sp + 44|0; + $1 = sp + 52|0; + $db = sp + 56|0; + $rc = sp + 60|0; $writer = sp; - $p = sp + 44|0; - $pNext = sp + 40|0; + $p = sp + 40|0; + $pNext = sp + 48|0; HEAP32[$0>>2] = $pTask; HEAP32[$1>>2] = $pList; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 24|0); + $5 = ((($4)) + 24|0); $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; HEAP32[$rc>>2] = 0; - dest=$writer+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$writer; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 32|0); + $8 = ((($7)) + 32|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if ($10) { $11 = HEAP32[$db>>2]|0; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 32|0); + $13 = ((($12)) + 32|0); $14 = (_vdbeSorterOpenTempFile($11,0,0,$13)|0); HEAP32[$rc>>2] = $14; } @@ -184508,16 +186534,16 @@ function _vdbeSorterListToPMA($pTask,$pList) { } HEAP32[$pNext>>2] = 0; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 32|0); + $23 = ((($22)) + 32|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 8|0); + $26 = ((($25)) + 8|0); $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 32|0); - $32 = (($31) + 8|0); + $31 = ((($30)) + 32|0); + $32 = ((($31)) + 8|0); $33 = $32; $34 = $33; $35 = HEAP32[$34>>2]|0; @@ -184526,12 +186552,12 @@ function _vdbeSorterListToPMA($pTask,$pList) { $38 = HEAP32[$37>>2]|0; _vdbePmaWriterInit($24,$writer,$29,$35,$38); $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 28|0); + $40 = ((($39)) + 28|0); $41 = HEAP32[$40>>2]|0; $42 = (($41) + 1)|0; HEAP32[$40>>2] = $42; $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 8|0); + $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; $46 = ($45|0)<(0); $47 = $46 << 31 >> 31; @@ -184546,7 +186572,7 @@ function _vdbeSorterListToPMA($pTask,$pList) { if (!($51)) { break; } - $53 = (($52) + 4|0); + $53 = ((($52)) + 4|0); $54 = HEAP32[$53>>2]|0; HEAP32[$pNext>>2] = $54; $55 = HEAP32[$p>>2]|0; @@ -184555,12 +186581,12 @@ function _vdbeSorterListToPMA($pTask,$pList) { $58 = $57 << 31 >> 31; _vdbePmaWriteVarint($writer,$56,$58); $59 = HEAP32[$p>>2]|0; - $60 = (($59) + 8|0); + $60 = ((($59)) + 8|0); $61 = HEAP32[$p>>2]|0; $62 = HEAP32[$61>>2]|0; _vdbePmaWriteBlob($writer,$60,$62); $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 4|0); + $64 = ((($63)) + 4|0); $65 = HEAP32[$64>>2]|0; $66 = ($65|0)==(0|0); if ($66) { @@ -184573,8 +186599,8 @@ function _vdbeSorterListToPMA($pTask,$pList) { $69 = HEAP32[$1>>2]|0; HEAP32[$69>>2] = $52; $70 = HEAP32[$0>>2]|0; - $71 = (($70) + 32|0); - $72 = (($71) + 8|0); + $71 = ((($70)) + 32|0); + $72 = ((($71)) + 8|0); $73 = (_vdbePmaWriterFinish($writer,$72)|0); HEAP32[$rc>>2] = $73; $74 = HEAP32[$rc>>2]|0; @@ -184635,14 +186661,14 @@ function _vdbeSorterSort($pTask,$pList) { var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $i = sp + 16|0; - $aSlot = sp + 12|0; - $p = sp + 8|0; - $rc = sp + 4|0; - $pNext = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $i = sp + 20|0; + $aSlot = sp + 28|0; + $p = sp; + $rc = sp + 12|0; + $pNext = sp + 24|0; HEAP32[$1>>2] = $pTask; HEAP32[$2>>2] = $pList; $3 = HEAP32[$1>>2]|0; @@ -184675,14 +186701,14 @@ function _vdbeSorterSort($pTask,$pList) { break; } $15 = HEAP32[$2>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)!=(0|0); $19 = HEAP32[$p>>2]|0; do { if ($18) { $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 4|0); + $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = ($19|0)==($22|0); if ($23) { @@ -184690,23 +186716,23 @@ function _vdbeSorterSort($pTask,$pList) { break; } else { $24 = HEAP32[$p>>2]|0; - $25 = (($24) + 4|0); + $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$2>>2]|0; - $28 = (($27) + 4|0); + $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + ($26)|0); HEAP32[$pNext>>2] = $30; break; } } else { - $31 = (($19) + 4|0); + $31 = ((($19)) + 4|0); $32 = HEAP32[$31>>2]|0; HEAP32[$pNext>>2] = $32; } } while(0); $33 = HEAP32[$p>>2]|0; - $34 = (($33) + 4|0); + $34 = ((($33)) + 4|0); HEAP32[$34>>2] = 0; HEAP32[$i>>2] = 0; while(1) { @@ -184766,9 +186792,9 @@ function _vdbeSorterSort($pTask,$pList) { $68 = HEAP32[$aSlot>>2]|0; _sqlite3_free($68); $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 12|0); + $70 = ((($69)) + 12|0); $71 = HEAP32[$70>>2]|0; - $72 = (($71) + 7|0); + $72 = ((($71)) + 7|0); $73 = HEAP8[$72>>0]|0; $74 = $73&255; HEAP32[$0>>2] = $74; @@ -184801,16 +186827,16 @@ function _vdbePmaWriterInit($pFd,$p,$nBuf,$0,$1) { $9 = $8; HEAP32[$9>>2] = $1; $10 = HEAP32[$3>>2]|0; - dest=$10+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$10; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $11 = HEAP32[$4>>2]|0; $12 = ($11|0)<(0); $13 = $12 << 31 >> 31; $14 = (_sqlite3Malloc($11,$13)|0); $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); HEAP32[$16>>2] = $14; $17 = HEAP32[$3>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = ($19|0)!=(0|0); if ($20) { @@ -184826,10 +186852,10 @@ function _vdbePmaWriterInit($pFd,$p,$nBuf,$0,$1) { $31 = (___remdi3(($24|0),($27|0),($28|0),($30|0))|0); $32 = tempRet0; $33 = HEAP32[$3>>2]|0; - $34 = (($33) + 12|0); + $34 = ((($33)) + 12|0); HEAP32[$34>>2] = $31; $35 = HEAP32[$3>>2]|0; - $36 = (($35) + 16|0); + $36 = ((($35)) + 16|0); HEAP32[$36>>2] = $31; $37 = $5; $38 = $37; @@ -184838,14 +186864,14 @@ function _vdbePmaWriterInit($pFd,$p,$nBuf,$0,$1) { $41 = $40; $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$3>>2]|0; - $44 = (($43) + 12|0); + $44 = ((($43)) + 12|0); $45 = HEAP32[$44>>2]|0; $46 = ($45|0)<(0); $47 = $46 << 31 >> 31; $48 = (_i64Subtract(($39|0),($42|0),($45|0),($47|0))|0); $49 = tempRet0; $50 = HEAP32[$3>>2]|0; - $51 = (($50) + 24|0); + $51 = ((($50)) + 24|0); $52 = $51; $53 = $52; HEAP32[$53>>2] = $48; @@ -184854,11 +186880,11 @@ function _vdbePmaWriterInit($pFd,$p,$nBuf,$0,$1) { HEAP32[$55>>2] = $49; $56 = HEAP32[$4>>2]|0; $57 = HEAP32[$3>>2]|0; - $58 = (($57) + 8|0); + $58 = ((($57)) + 8|0); HEAP32[$58>>2] = $56; $59 = HEAP32[$2>>2]|0; $60 = HEAP32[$3>>2]|0; - $61 = (($60) + 32|0); + $61 = ((($60)) + 32|0); HEAP32[$61>>2] = $59; STACKTOP = sp;return; } else { @@ -184938,28 +186964,28 @@ function _vdbePmaWriteBlob($p,$pData,$nData) { HEAP32[$nCopy>>2] = $9; $10 = HEAP32[$nCopy>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 16|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; $17 = (($13) - ($16))|0; $18 = ($10|0)>($17|0); if ($18) { $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 8|0); + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 16|0); + $23 = ((($22)) + 16|0); $24 = HEAP32[$23>>2]|0; $25 = (($21) - ($24))|0; HEAP32[$nCopy>>2] = $25; } $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 16|0); + $27 = ((($26)) + 16|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 4|0); + $30 = ((($29)) + 4|0); $31 = HEAP32[$30>>2]|0; $32 = (($31) + ($28)|0); $33 = HEAP32[$2>>2]|0; @@ -184971,37 +186997,37 @@ function _vdbePmaWriteBlob($p,$pData,$nData) { _memcpy(($32|0),($37|0),($38|0))|0; $39 = HEAP32[$nCopy>>2]|0; $40 = HEAP32[$0>>2]|0; - $41 = (($40) + 16|0); + $41 = ((($40)) + 16|0); $42 = HEAP32[$41>>2]|0; $43 = (($42) + ($39))|0; HEAP32[$41>>2] = $43; $44 = HEAP32[$0>>2]|0; - $45 = (($44) + 16|0); + $45 = ((($44)) + 16|0); $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 8|0); + $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; $50 = ($46|0)==($49|0); if ($50) { $51 = HEAP32[$0>>2]|0; - $52 = (($51) + 32|0); + $52 = ((($51)) + 32|0); $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$0>>2]|0; - $55 = (($54) + 12|0); + $55 = ((($54)) + 12|0); $56 = HEAP32[$55>>2]|0; $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 4|0); + $58 = ((($57)) + 4|0); $59 = HEAP32[$58>>2]|0; $60 = (($59) + ($56)|0); $61 = HEAP32[$0>>2]|0; - $62 = (($61) + 16|0); + $62 = ((($61)) + 16|0); $63 = HEAP32[$62>>2]|0; $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 12|0); + $65 = ((($64)) + 12|0); $66 = HEAP32[$65>>2]|0; $67 = (($63) - ($66))|0; $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 24|0); + $69 = ((($68)) + 24|0); $70 = $69; $71 = $70; $72 = HEAP32[$71>>2]|0; @@ -185009,7 +187035,7 @@ function _vdbePmaWriteBlob($p,$pData,$nData) { $74 = $73; $75 = HEAP32[$74>>2]|0; $76 = HEAP32[$0>>2]|0; - $77 = (($76) + 12|0); + $77 = ((($76)) + 12|0); $78 = HEAP32[$77>>2]|0; $79 = ($78|0)<(0); $80 = $79 << 31 >> 31; @@ -185019,18 +187045,18 @@ function _vdbePmaWriteBlob($p,$pData,$nData) { $84 = HEAP32[$0>>2]|0; HEAP32[$84>>2] = $83; $85 = HEAP32[$0>>2]|0; - $86 = (($85) + 16|0); + $86 = ((($85)) + 16|0); HEAP32[$86>>2] = 0; $87 = HEAP32[$0>>2]|0; - $88 = (($87) + 12|0); + $88 = ((($87)) + 12|0); HEAP32[$88>>2] = 0; $89 = HEAP32[$0>>2]|0; - $90 = (($89) + 8|0); + $90 = ((($89)) + 8|0); $91 = HEAP32[$90>>2]|0; $92 = ($91|0)<(0); $93 = $92 << 31 >> 31; $94 = HEAP32[$0>>2]|0; - $95 = (($94) + 24|0); + $95 = ((($94)) + 24|0); $96 = $95; $97 = $96; $98 = HEAP32[$97>>2]|0; @@ -185075,37 +187101,37 @@ function _vdbePmaWriterFinish($p,$piEof) { $4 = ($3|0)==(0); if ($4) { $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); if ($8) { $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 16|0); + $10 = ((($9)) + 16|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 12|0); + $13 = ((($12)) + 12|0); $14 = HEAP32[$13>>2]|0; $15 = ($11|0)>($14|0); if ($15) { $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 32|0); + $17 = ((($16)) + 32|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 12|0); + $20 = ((($19)) + 12|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 4|0); + $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + ($21)|0); $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 16|0); + $27 = ((($26)) + 16|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 12|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = (($28) - ($31))|0; $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 24|0); + $34 = ((($33)) + 24|0); $35 = $34; $36 = $35; $37 = HEAP32[$36>>2]|0; @@ -185113,7 +187139,7 @@ function _vdbePmaWriterFinish($p,$piEof) { $39 = $38; $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$0>>2]|0; - $42 = (($41) + 12|0); + $42 = ((($41)) + 12|0); $43 = HEAP32[$42>>2]|0; $44 = ($43|0)<(0); $45 = $44 << 31 >> 31; @@ -185126,7 +187152,7 @@ function _vdbePmaWriterFinish($p,$piEof) { } } $50 = HEAP32[$0>>2]|0; - $51 = (($50) + 24|0); + $51 = ((($50)) + 24|0); $52 = $51; $53 = $52; $54 = HEAP32[$53>>2]|0; @@ -185134,7 +187160,7 @@ function _vdbePmaWriterFinish($p,$piEof) { $56 = $55; $57 = HEAP32[$56>>2]|0; $58 = HEAP32[$0>>2]|0; - $59 = (($58) + 16|0); + $59 = ((($58)) + 16|0); $60 = HEAP32[$59>>2]|0; $61 = ($60|0)<(0); $62 = $61 << 31 >> 31; @@ -185148,14 +187174,14 @@ function _vdbePmaWriterFinish($p,$piEof) { $69 = $68; HEAP32[$69>>2] = $64; $70 = HEAP32[$0>>2]|0; - $71 = (($70) + 4|0); + $71 = ((($70)) + 4|0); $72 = HEAP32[$71>>2]|0; _sqlite3_free($72); $73 = HEAP32[$0>>2]|0; $74 = HEAP32[$73>>2]|0; HEAP32[$rc>>2] = $74; $75 = HEAP32[$0>>2]|0; - dest=$75+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$75; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $76 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($76|0); } @@ -185170,39 +187196,39 @@ function _vdbeSortAllocUnpacked($pTask) { $pFree = sp; HEAP32[$1>>2] = $pTask; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 12|0); + $3 = ((($2)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); do { if ($5) { $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 28|0); + $9 = ((($8)) + 28|0); $10 = HEAP32[$9>>2]|0; $11 = (_sqlite3VdbeAllocUnpackedRecord($10,0,0,$pFree)|0); $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 12|0); + $13 = ((($12)) + 12|0); HEAP32[$13>>2] = $11; $14 = HEAP32[$pFree>>2]|0; $15 = ($14|0)==(0|0); if (!($15)) { $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 28|0); + $19 = ((($18)) + 28|0); $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 6|0); + $21 = ((($20)) + 6|0); $22 = HEAP16[$21>>1]|0; $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 12|0); + $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 4|0); + $26 = ((($25)) + 4|0); HEAP16[$26>>1] = $22; $27 = HEAP32[$1>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; - $30 = (($29) + 7|0); + $30 = ((($29)) + 7|0); HEAP8[$30>>0] = 0; break; } @@ -185222,17 +187248,17 @@ function _vdbeSorterMerge($pTask,$p1,$p2,$ppOut) { $ppOut = $ppOut|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pFinal = 0, $pVal2 = 0, $pp = 0, $res = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFinal = 0, $pVal2 = 0, $pp = 0, $res = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $pFinal = sp + 12|0; - $pp = sp + 8|0; - $pVal2 = sp + 4|0; - $res = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 20|0; + $pFinal = sp + 28|0; + $pp = sp; + $pVal2 = sp + 12|0; + $res = sp + 24|0; HEAP32[$0>>2] = $pTask; HEAP32[$1>>2] = $p1; HEAP32[$2>>2] = $p2; @@ -185241,81 +187267,77 @@ function _vdbeSorterMerge($pTask,$p1,$p2,$ppOut) { HEAP32[$pp>>2] = $pFinal; $4 = HEAP32[$2>>2]|0; $5 = ($4|0)!=(0|0); - if ($5) { - $6 = HEAP32[$2>>2]|0; - $7 = (($6) + 8|0); - $8 = $7; - } else { - $8 = 0; - } + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 8|0); + $8 = $5 ? $7 : 0; HEAP32[$pVal2>>2] = $8; while(1) { $9 = HEAP32[$1>>2]|0; $10 = ($9|0)!=(0|0); $11 = HEAP32[$2>>2]|0; $12 = ($11|0)!=(0|0); - $or$cond = $10 & $12; - if (!($or$cond)) { - label = 9; + $13 = $10 ? $12 : 0; + if (!($13)) { + label = 7; break; } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 8|0); - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$pVal2>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (_vdbeSorterCompare($13,$15,$17,$18,$20)|0); - HEAP32[$res>>2] = $21; - $22 = HEAP32[$res>>2]|0; - $23 = ($22|0)<=(0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$pp>>2]|0; - HEAP32[$25>>2] = $24; - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 4|0); - HEAP32[$pp>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 4|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; + $14 = HEAP32[$0>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$pVal2>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = (_vdbeSorterCompare($14,$16,$18,$19,$21)|0); + HEAP32[$res>>2] = $22; + $23 = HEAP32[$res>>2]|0; + $24 = ($23|0)<=(0); + if ($24) { + $25 = HEAP32[$1>>2]|0; + $26 = HEAP32[$pp>>2]|0; + HEAP32[$26>>2] = $25; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 4|0); + HEAP32[$pp>>2] = $28; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$1>>2] = $31; HEAP32[$pVal2>>2] = 0; continue; } - $31 = HEAP32[$2>>2]|0; - $32 = HEAP32[$pp>>2]|0; - HEAP32[$32>>2] = $31; - $33 = HEAP32[$2>>2]|0; - $34 = (($33) + 4|0); - HEAP32[$pp>>2] = $34; - $35 = HEAP32[$2>>2]|0; - $36 = (($35) + 4|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$2>>2] = $37; - $38 = HEAP32[$2>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - label = 9; + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$pp>>2]|0; + HEAP32[$33>>2] = $32; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 4|0); + HEAP32[$pp>>2] = $35; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + HEAP32[$2>>2] = $38; + $39 = HEAP32[$2>>2]|0; + $40 = ($39|0)==(0|0); + if ($40) { + label = 7; break; } - $40 = HEAP32[$2>>2]|0; - $41 = (($40) + 8|0); - HEAP32[$pVal2>>2] = $41; + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 8|0); + HEAP32[$pVal2>>2] = $42; } - if ((label|0) == 9) { - $42 = HEAP32[$1>>2]|0; - $43 = ($42|0)!=(0|0); - $44 = HEAP32[$1>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = $43 ? $44 : $45; - $47 = HEAP32[$pp>>2]|0; - HEAP32[$47>>2] = $46; - $48 = HEAP32[$pFinal>>2]|0; - $49 = HEAP32[$3>>2]|0; - HEAP32[$49>>2] = $48; + if ((label|0) == 7) { + $43 = HEAP32[$1>>2]|0; + $44 = ($43|0)!=(0|0); + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = $44 ? $45 : $46; + $48 = HEAP32[$pp>>2]|0; + HEAP32[$48>>2] = $47; + $49 = HEAP32[$pFinal>>2]|0; + $50 = HEAP32[$3>>2]|0; + HEAP32[$50>>2] = $49; STACKTOP = sp;return; } } @@ -185341,16 +187363,16 @@ function _vdbeSorterCompare($pTask,$pKey1,$nKey1,$pKey2,$nKey2) { HEAP32[$3>>2] = $pKey2; HEAP32[$4>>2] = $nKey2; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 12|0); + $6 = ((($5)) + 12|0); $7 = HEAP32[$6>>2]|0; HEAP32[$r2>>2] = $7; $8 = HEAP32[$3>>2]|0; $9 = ($8|0)!=(0|0); if ($9) { $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 8|0); + $11 = ((($10)) + 8|0); $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 28|0); + $13 = ((($12)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$4>>2]|0; $16 = HEAP32[$3>>2]|0; @@ -185373,13 +187395,13 @@ function _sqlite3OsOpenMalloc($pVfs,$zFile,$ppFile,$flags,$pOutFlags) { var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $rc = sp + 4|0; - $pFile = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $rc = sp; + $pFile = sp + 12|0; HEAP32[$0>>2] = $pVfs; HEAP32[$1>>2] = $zFile; HEAP32[$2>>2] = $ppFile; @@ -185387,7 +187409,7 @@ function _sqlite3OsOpenMalloc($pVfs,$zFile,$ppFile,$flags,$pOutFlags) { HEAP32[$4>>2] = $pOutFlags; HEAP32[$rc>>2] = 7; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 4|0); + $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)<(0); $9 = $8 << 31 >> 31; @@ -185419,7 +187441,7 @@ function _sqlite3OsOpenMalloc($pVfs,$zFile,$ppFile,$flags,$pOutFlags) { $23 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($23|0); } - return 0|0; + return (0)|0; } function _vdbeMergeEngineStep($pMerger,$pbEof) { $pMerger = $pMerger|0; @@ -185434,31 +187456,31 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iPrev = 0, $iRes = 0, $pKey2 = 0, $pReadr1 = 0, $pReadr2 = 0, $pTask = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; + $0 = sp; + $1 = sp + 16|0; $rc = sp + 28|0; - $iPrev = sp + 24|0; - $pTask = sp + 20|0; - $i = sp + 16|0; + $iPrev = sp + 4|0; + $pTask = sp + 32|0; + $i = sp + 36|0; $pReadr1 = sp + 12|0; - $pReadr2 = sp + 8|0; - $pKey2 = sp + 4|0; - $iRes = sp; + $pReadr2 = sp + 24|0; + $pKey2 = sp + 20|0; + $iRes = sp + 8|0; HEAP32[$0>>2] = $pMerger; HEAP32[$1>>2] = $pbEof; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 8|0); + $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 4|0); + $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; HEAP32[$iPrev>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; HEAP32[$pTask>>2] = $9; $10 = HEAP32[$iPrev>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 12|0); + $12 = ((($11)) + 12|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + (($10*56)|0)|0); $15 = (_vdbePmaReaderNext($14)|0); @@ -185469,19 +187491,19 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { $18 = HEAP32[$iPrev>>2]|0; $19 = $18 & 65534; $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 12|0); + $21 = ((($20)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + (($19*56)|0)|0); HEAP32[$pReadr1>>2] = $23; $24 = HEAP32[$iPrev>>2]|0; $25 = $24 | 1; $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 12|0); + $27 = ((($26)) + 12|0); $28 = HEAP32[$27>>2]|0; $29 = (($28) + (($25*56)|0)|0); HEAP32[$pReadr2>>2] = $29; $30 = HEAP32[$pReadr2>>2]|0; - $31 = (($30) + 32|0); + $31 = ((($30)) + 32|0); $32 = HEAP32[$31>>2]|0; HEAP32[$pKey2>>2] = $32; $33 = HEAP32[$0>>2]|0; @@ -185497,7 +187519,7 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { break; } $40 = HEAP32[$pReadr1>>2]|0; - $41 = (($40) + 24|0); + $41 = ((($40)) + 24|0); $42 = HEAP32[$41>>2]|0; $43 = ($42|0)==(0|0); do { @@ -185505,7 +187527,7 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { HEAP32[$iRes>>2] = 1; } else { $44 = HEAP32[$pReadr2>>2]|0; - $45 = (($44) + 24|0); + $45 = ((($44)) + 24|0); $46 = HEAP32[$45>>2]|0; $47 = ($46|0)==(0|0); if ($47) { @@ -185514,14 +187536,14 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { } else { $48 = HEAP32[$pTask>>2]|0; $49 = HEAP32[$pReadr1>>2]|0; - $50 = (($49) + 32|0); + $50 = ((($49)) + 32|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$pReadr1>>2]|0; - $53 = (($52) + 20|0); + $53 = ((($52)) + 20|0); $54 = HEAP32[$53>>2]|0; $55 = HEAP32[$pKey2>>2]|0; $56 = HEAP32[$pReadr2>>2]|0; - $57 = (($56) + 20|0); + $57 = ((($56)) + 20|0); $58 = HEAP32[$57>>2]|0; $59 = (_vdbeSorterCompare($48,$51,$54,$55,$58)|0); HEAP32[$iRes>>2] = $59; @@ -185547,7 +187569,7 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { } } $94 = HEAP32[$pReadr1>>2]|0; - $95 = (($94) + 24|0); + $95 = ((($94)) + 24|0); $96 = HEAP32[$95>>2]|0; $97 = ($96|0)!=(0|0); if ($97) { @@ -185555,7 +187577,7 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { } $98 = HEAP32[$pReadr2>>2]|0; $99 = HEAP32[$0>>2]|0; - $100 = (($99) + 12|0); + $100 = ((($99)) + 12|0); $101 = HEAP32[$100>>2]|0; $102 = $98; $103 = $101; @@ -185563,19 +187585,19 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { $105 = (($104|0) / 56)&-1; $106 = HEAP32[$i>>2]|0; $107 = HEAP32[$0>>2]|0; - $108 = (($107) + 8|0); + $108 = ((($107)) + 8|0); $109 = HEAP32[$108>>2]|0; $110 = (($109) + ($106<<2)|0); HEAP32[$110>>2] = $105; $111 = HEAP32[$i>>2]|0; $112 = $111 ^ 1; $113 = HEAP32[$0>>2]|0; - $114 = (($113) + 8|0); + $114 = ((($113)) + 8|0); $115 = HEAP32[$114>>2]|0; $116 = (($115) + ($112<<2)|0); $117 = HEAP32[$116>>2]|0; $118 = HEAP32[$0>>2]|0; - $119 = (($118) + 12|0); + $119 = ((($118)) + 12|0); $120 = HEAP32[$119>>2]|0; $121 = (($120) + (($117*56)|0)|0); HEAP32[$pReadr1>>2] = $121; @@ -185585,7 +187607,7 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { label = 0; $67 = HEAP32[$pReadr1>>2]|0; $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 12|0); + $69 = ((($68)) + 12|0); $70 = HEAP32[$69>>2]|0; $71 = $67; $72 = $70; @@ -185593,24 +187615,24 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { $74 = (($73|0) / 56)&-1; $75 = HEAP32[$i>>2]|0; $76 = HEAP32[$0>>2]|0; - $77 = (($76) + 8|0); + $77 = ((($76)) + 8|0); $78 = HEAP32[$77>>2]|0; $79 = (($78) + ($75<<2)|0); HEAP32[$79>>2] = $74; $80 = HEAP32[$i>>2]|0; $81 = $80 ^ 1; $82 = HEAP32[$0>>2]|0; - $83 = (($82) + 8|0); + $83 = ((($82)) + 8|0); $84 = HEAP32[$83>>2]|0; $85 = (($84) + ($81<<2)|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$0>>2]|0; - $88 = (($87) + 12|0); + $88 = ((($87)) + 12|0); $89 = HEAP32[$88>>2]|0; $90 = (($89) + (($86*56)|0)|0); HEAP32[$pReadr2>>2] = $90; $91 = HEAP32[$pReadr2>>2]|0; - $92 = (($91) + 32|0); + $92 = ((($91)) + 32|0); $93 = HEAP32[$92>>2]|0; HEAP32[$pKey2>>2] = $93; } @@ -185619,15 +187641,15 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { HEAP32[$i>>2] = $123; } $124 = HEAP32[$0>>2]|0; - $125 = (($124) + 8|0); + $125 = ((($124)) + 8|0); $126 = HEAP32[$125>>2]|0; - $127 = (($126) + 4|0); + $127 = ((($126)) + 4|0); $128 = HEAP32[$127>>2]|0; $129 = HEAP32[$0>>2]|0; - $130 = (($129) + 12|0); + $130 = ((($129)) + 12|0); $131 = HEAP32[$130>>2]|0; $132 = (($131) + (($128*56)|0)|0); - $133 = (($132) + 24|0); + $133 = ((($132)) + 24|0); $134 = HEAP32[$133>>2]|0; $135 = ($134|0)==(0|0); $136 = $135&1; @@ -185638,9 +187660,9 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { $139 = ($138|0)==(0); if ($139) { $140 = HEAP32[$pTask>>2]|0; - $141 = (($140) + 12|0); + $141 = ((($140)) + 12|0); $142 = HEAP32[$141>>2]|0; - $143 = (($142) + 7|0); + $143 = ((($142)) + 7|0); $144 = HEAP8[$143>>0]|0; $145 = $144&255; $147 = $145; @@ -185650,7 +187672,7 @@ function _vdbeMergeEngineStep($pMerger,$pbEof) { $147 = $146; STACKTOP = sp;return ($147|0); } - return 0|0; + return (0)|0; } function _vdbePmaReaderNext($pReadr) { $pReadr = $pReadr|0; @@ -185683,7 +187705,7 @@ function _vdbePmaReaderNext($pReadr) { $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 8|0); + $14 = ((($13)) + 8|0); $15 = $14; $16 = $15; $17 = HEAP32[$16>>2]|0; @@ -185697,7 +187719,7 @@ function _vdbePmaReaderNext($pReadr) { $25 = $21 | $24; if ($25) { $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 48|0); + $27 = ((($26)) + 48|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pIncr>>2] = $28; HEAP32[$bEof>>2] = 1; @@ -185711,7 +187733,7 @@ function _vdbePmaReaderNext($pReadr) { $34 = ($33|0)==(0); if ($34) { $35 = HEAP32[$pIncr>>2]|0; - $36 = (($35) + 20|0); + $36 = ((($35)) + 20|0); $37 = HEAP32[$36>>2]|0; $38 = ($37|0)==(0); if ($38) { @@ -185719,9 +187741,9 @@ function _vdbePmaReaderNext($pReadr) { $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$pIncr>>2]|0; - $43 = (($42) + 32|0); + $43 = ((($42)) + 32|0); $44 = HEAP32[$pIncr>>2]|0; - $45 = (($44) + 8|0); + $45 = ((($44)) + 8|0); $46 = $45; $47 = $46; $48 = HEAP32[$47>>2]|0; @@ -185762,7 +187784,7 @@ function _vdbePmaReaderNext($pReadr) { $67 = $66; $68 = HEAP32[$67>>2]|0; $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 20|0); + $70 = ((($69)) + 20|0); HEAP32[$70>>2] = $65; $71 = HEAP32[$1>>2]|0; $72 = $nRec; @@ -185772,7 +187794,7 @@ function _vdbePmaReaderNext($pReadr) { $76 = $75; $77 = HEAP32[$76>>2]|0; $78 = HEAP32[$1>>2]|0; - $79 = (($78) + 32|0); + $79 = ((($78)) + 32|0); $80 = (_vdbePmaReadBlob($71,$74,$79)|0); HEAP32[$rc>>2] = $80; } @@ -185795,14 +187817,14 @@ function _vdbeIncrSwap($pIncr) { $2 = (_vdbeIncrPopulate($1)|0); HEAP32[$rc>>2] = $2; $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 32|0); + $4 = ((($3)) + 32|0); $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 32|0); - $7 = (($6) + 16|0); - ;HEAP32[$4+0>>2]=HEAP32[$7+0>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$7+12>>2]|0; + $6 = ((($5)) + 32|0); + $7 = ((($6)) + 16|0); + ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$7+12>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 32|0); - $10 = (($9) + 8|0); + $9 = ((($8)) + 32|0); + $10 = ((($9)) + 8|0); $11 = $10; $12 = $11; $13 = HEAP32[$12>>2]|0; @@ -185810,7 +187832,7 @@ function _vdbeIncrSwap($pIncr) { $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = $18; $20 = $19; $21 = HEAP32[$20>>2]|0; @@ -185825,7 +187847,7 @@ function _vdbeIncrSwap($pIncr) { STACKTOP = sp;return ($30|0); } $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 20|0); + $29 = ((($28)) + 20|0); HEAP32[$29>>2] = 1; $30 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($30|0); @@ -185847,15 +187869,15 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iBuf = 0, $nRead = 0, $or$cond = 0, $pgsz = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp + 32|0; + $2 = sp + 24|0; + $3 = sp + 20|0; $4 = sp + 28|0; - $5 = sp + 24|0; + $5 = sp + 12|0; $6 = sp; - $rc = sp + 20|0; + $rc = sp + 8|0; $pgsz = sp + 16|0; - $iBuf = sp + 12|0; - $nRead = sp + 8|0; + $iBuf = sp + 32|0; + $nRead = sp + 36|0; HEAP32[$3>>2] = $pTask; HEAP32[$4>>2] = $pReadr; HEAP32[$5>>2] = $pFile; @@ -185874,19 +187896,19 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { STACKTOP = sp;return ($166|0); } $13 = HEAP32[$4>>2]|0; - $14 = (($13) + 44|0); + $14 = ((($13)) + 44|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)!=(0|0); if ($16) { $17 = HEAP32[$4>>2]|0; - $18 = (($17) + 24|0); + $18 = ((($17)) + 24|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$4>>2]|0; - $21 = (($20) + 44|0); + $21 = ((($20)) + 44|0); $22 = HEAP32[$21>>2]|0; (_sqlite3OsUnfetch($19,0,0,$22)|0); $23 = HEAP32[$4>>2]|0; - $24 = (($23) + 44|0); + $24 = ((($23)) + 44|0); HEAP32[$24>>2] = 0; } $25 = $6; @@ -185903,7 +187925,7 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { $35 = $34; HEAP32[$35>>2] = $30; $36 = HEAP32[$5>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = $37; $39 = $38; $40 = HEAP32[$39>>2]|0; @@ -185911,7 +187933,7 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { $42 = $41; $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$4>>2]|0; - $45 = (($44) + 8|0); + $45 = ((($44)) + 8|0); $46 = $45; $47 = $46; HEAP32[$47>>2] = $40; @@ -185921,26 +187943,26 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { $50 = HEAP32[$5>>2]|0; $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$4>>2]|0; - $53 = (($52) + 24|0); + $53 = ((($52)) + 24|0); HEAP32[$53>>2] = $51; $54 = HEAP32[$3>>2]|0; $55 = HEAP32[$5>>2]|0; $56 = HEAP32[$4>>2]|0; - $57 = (($56) + 44|0); + $57 = ((($56)) + 44|0); $58 = (_vdbeSorterMapFile($54,$55,$57)|0); HEAP32[$rc>>2] = $58; $59 = HEAP32[$rc>>2]|0; $60 = ($59|0)==(0); if ($60) { $61 = HEAP32[$4>>2]|0; - $62 = (($61) + 44|0); + $62 = ((($61)) + 44|0); $63 = HEAP32[$62>>2]|0; $64 = ($63|0)==(0|0); if ($64) { $65 = HEAP32[$3>>2]|0; - $66 = (($65) + 8|0); + $66 = ((($65)) + 8|0); $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 12|0); + $68 = ((($67)) + 12|0); $69 = HEAP32[$68>>2]|0; HEAP32[$pgsz>>2] = $69; $70 = HEAP32[$4>>2]|0; @@ -185957,7 +187979,7 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { $81 = tempRet0; HEAP32[$iBuf>>2] = $80; $82 = HEAP32[$4>>2]|0; - $83 = (($82) + 36|0); + $83 = ((($82)) + 36|0); $84 = HEAP32[$83>>2]|0; $85 = ($84|0)==(0|0); if ($85) { @@ -185966,10 +187988,10 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { $88 = $87 << 31 >> 31; $89 = (_sqlite3Malloc($86,$88)|0); $90 = HEAP32[$4>>2]|0; - $91 = (($90) + 36|0); + $91 = ((($90)) + 36|0); HEAP32[$91>>2] = $89; $92 = HEAP32[$4>>2]|0; - $93 = (($92) + 36|0); + $93 = ((($92)) + 36|0); $94 = HEAP32[$93>>2]|0; $95 = ($94|0)==(0|0); if ($95) { @@ -185977,7 +187999,7 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { } $96 = HEAP32[$pgsz>>2]|0; $97 = HEAP32[$4>>2]|0; - $98 = (($97) + 40|0); + $98 = ((($97)) + 40|0); HEAP32[$98>>2] = $96; } $99 = HEAP32[$rc>>2]|0; @@ -186003,7 +188025,7 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { $116 = (_i64Add(($109|0),($112|0),($113|0),($115|0))|0); $117 = tempRet0; $118 = HEAP32[$4>>2]|0; - $119 = (($118) + 8|0); + $119 = ((($118)) + 8|0); $120 = $119; $121 = $120; $122 = HEAP32[$121>>2]|0; @@ -186017,7 +188039,7 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { $130 = $126 | $129; if ($130) { $131 = HEAP32[$4>>2]|0; - $132 = (($131) + 8|0); + $132 = ((($131)) + 8|0); $133 = $132; $134 = $133; $135 = HEAP32[$134>>2]|0; @@ -186036,11 +188058,11 @@ function _vdbePmaReaderSeek($pTask,$pReadr,$pFile,$0,$1) { HEAP32[$nRead>>2] = $146; } $148 = HEAP32[$4>>2]|0; - $149 = (($148) + 24|0); + $149 = ((($148)) + 24|0); $150 = HEAP32[$149>>2]|0; $151 = HEAP32[$iBuf>>2]|0; $152 = HEAP32[$4>>2]|0; - $153 = (($152) + 36|0); + $153 = ((($152)) + 36|0); $154 = HEAP32[$153>>2]|0; $155 = (($154) + ($151)|0); $156 = HEAP32[$nRead>>2]|0; @@ -186072,17 +188094,17 @@ function _vdbePmaReadVarint($p,$pnOut) { sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $iBuf = sp + 12|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $iBuf = sp + 8|0; $aVarint = sp + 32|0; - $a = sp + 8|0; - $i = sp + 4|0; - $rc = sp; + $a = sp; + $i = sp + 20|0; + $rc = sp + 4|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pnOut; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 44|0); + $4 = ((($3)) + 44|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); $7 = HEAP32[$1>>2]|0; @@ -186095,7 +188117,7 @@ function _vdbePmaReadVarint($p,$pnOut) { do { if ($6) { $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 44|0); + $15 = ((($14)) + 44|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + ($10)|0); $18 = HEAP32[$2>>2]|0; @@ -186118,7 +188140,7 @@ function _vdbePmaReadVarint($p,$pnOut) { HEAP32[$33>>2] = $29; } else { $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 40|0); + $35 = ((($34)) + 40|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)<(0); $38 = $37 << 31 >> 31; @@ -186129,7 +188151,7 @@ function _vdbePmaReadVarint($p,$pnOut) { $42 = ($41|0)!=(0); if ($42) { $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 40|0); + $44 = ((($43)) + 40|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$iBuf>>2]|0; $47 = (($45) - ($46))|0; @@ -186137,7 +188159,7 @@ function _vdbePmaReadVarint($p,$pnOut) { if ($48) { $49 = HEAP32[$iBuf>>2]|0; $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 36|0); + $51 = ((($50)) + 36|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + ($49)|0); $54 = HEAP32[$2>>2]|0; @@ -186223,25 +188245,25 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { var $nCopy = 0, $nNew = 0, $nRead = 0, $nRem = 0, $rc = 0, $rc1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; + $0 = sp + 16|0; + $1 = sp + 12|0; $2 = sp + 44|0; - $3 = sp + 40|0; - $iBuf = sp + 36|0; - $nAvail = sp + 32|0; - $nRead = sp + 28|0; - $rc = sp + 24|0; + $3 = sp + 36|0; + $iBuf = sp + 32|0; + $nAvail = sp + 40|0; + $nRead = sp + 48|0; + $rc = sp + 52|0; $nRem = sp + 20|0; - $aNew = sp + 16|0; - $nNew = sp + 12|0; - $rc1 = sp + 8|0; - $nCopy = sp + 4|0; - $aNext = sp; + $aNew = sp; + $nNew = sp + 28|0; + $rc1 = sp + 4|0; + $nCopy = sp + 24|0; + $aNext = sp + 8|0; HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $nByte; HEAP32[$3>>2] = $ppOut; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 44|0); + $5 = ((($4)) + 44|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0|0); $8 = HEAP32[$1>>2]|0; @@ -186253,7 +188275,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { $14 = HEAP32[$13>>2]|0; if ($7) { $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 44|0); + $16 = ((($15)) + 44|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($11)|0); $19 = HEAP32[$3>>2]|0; @@ -186281,7 +188303,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { STACKTOP = sp;return ($235|0); } $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 40|0); + $37 = ((($36)) + 40|0); $38 = HEAP32[$37>>2]|0; $39 = ($38|0)<(0); $40 = $39 << 31 >> 31; @@ -186292,7 +188314,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { $44 = ($43|0)==(0); if ($44) { $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 8|0); + $46 = ((($45)) + 8|0); $47 = $46; $48 = $47; $49 = HEAP32[$48>>2]|0; @@ -186309,7 +188331,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { $60 = (_i64Subtract(($49|0),($52|0),($56|0),($59|0))|0); $61 = tempRet0; $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 40|0); + $63 = ((($62)) + 40|0); $64 = HEAP32[$63>>2]|0; $65 = ($64|0)<(0); $66 = $65 << 31 >> 31; @@ -186320,11 +188342,11 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { $71 = $67 | $70; $72 = HEAP32[$1>>2]|0; if ($71) { - $73 = (($72) + 40|0); + $73 = ((($72)) + 40|0); $74 = HEAP32[$73>>2]|0; HEAP32[$nRead>>2] = $74; } else { - $75 = (($72) + 8|0); + $75 = ((($72)) + 8|0); $76 = $75; $77 = $76; $78 = HEAP32[$77>>2]|0; @@ -186343,10 +188365,10 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { HEAP32[$nRead>>2] = $89; } $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 24|0); + $92 = ((($91)) + 24|0); $93 = HEAP32[$92>>2]|0; $94 = HEAP32[$1>>2]|0; - $95 = (($94) + 36|0); + $95 = ((($94)) + 36|0); $96 = HEAP32[$95>>2]|0; $97 = HEAP32[$nRead>>2]|0; $98 = HEAP32[$1>>2]|0; @@ -186368,7 +188390,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { } } $109 = HEAP32[$1>>2]|0; - $110 = (($109) + 40|0); + $110 = ((($109)) + 40|0); $111 = HEAP32[$110>>2]|0; $112 = HEAP32[$iBuf>>2]|0; $113 = (($111) - ($112))|0; @@ -186380,7 +188402,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { if ($116) { $117 = HEAP32[$iBuf>>2]|0; $118 = HEAP32[$1>>2]|0; - $119 = (($118) + 36|0); + $119 = ((($118)) + 36|0); $120 = HEAP32[$119>>2]|0; $121 = (($120) + ($117)|0); $122 = HEAP32[$3>>2]|0; @@ -186405,14 +188427,14 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { HEAP32[$138>>2] = $134; } else { $139 = HEAP32[$1>>2]|0; - $140 = (($139) + 16|0); + $140 = ((($139)) + 16|0); $141 = HEAP32[$140>>2]|0; $142 = HEAP32[$2>>2]|0; $143 = ($141|0)<($142|0); do { if ($143) { $144 = HEAP32[$1>>2]|0; - $145 = (($144) + 16|0); + $145 = ((($144)) + 16|0); $146 = HEAP32[$145>>2]|0; $147 = $146<<1; $148 = (128)>($147|0); @@ -186420,7 +188442,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { $153 = 128; } else { $149 = HEAP32[$1>>2]|0; - $150 = (($149) + 16|0); + $150 = ((($149)) + 16|0); $151 = HEAP32[$150>>2]|0; $152 = $151<<1; $153 = $152; @@ -186438,7 +188460,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { HEAP32[$nNew>>2] = $158; } $159 = HEAP32[$1>>2]|0; - $160 = (($159) + 28|0); + $160 = ((($159)) + 28|0); $161 = HEAP32[$160>>2]|0; $162 = HEAP32[$nNew>>2]|0; $163 = ($162|0)<(0); @@ -186450,11 +188472,11 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { if ($167) { $168 = HEAP32[$nNew>>2]|0; $169 = HEAP32[$1>>2]|0; - $170 = (($169) + 16|0); + $170 = ((($169)) + 16|0); HEAP32[$170>>2] = $168; $171 = HEAP32[$aNew>>2]|0; $172 = HEAP32[$1>>2]|0; - $173 = (($172) + 28|0); + $173 = ((($172)) + 28|0); HEAP32[$173>>2] = $171; break; } @@ -186464,11 +188486,11 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { } } while(0); $174 = HEAP32[$1>>2]|0; - $175 = (($174) + 28|0); + $175 = ((($174)) + 28|0); $176 = HEAP32[$175>>2]|0; $177 = HEAP32[$iBuf>>2]|0; $178 = HEAP32[$1>>2]|0; - $179 = (($178) + 36|0); + $179 = ((($178)) + 36|0); $180 = HEAP32[$179>>2]|0; $181 = (($180) + ($177)|0); $182 = HEAP32[$nAvail>>2]|0; @@ -186506,12 +188528,12 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { HEAP32[$nCopy>>2] = $204; $205 = HEAP32[$nRem>>2]|0; $206 = HEAP32[$1>>2]|0; - $207 = (($206) + 40|0); + $207 = ((($206)) + 40|0); $208 = HEAP32[$207>>2]|0; $209 = ($205|0)>($208|0); if ($209) { $210 = HEAP32[$1>>2]|0; - $211 = (($210) + 40|0); + $211 = ((($210)) + 40|0); $212 = HEAP32[$211>>2]|0; HEAP32[$nCopy>>2] = $212; } @@ -186528,7 +188550,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { $220 = HEAP32[$nRem>>2]|0; $221 = (($219) - ($220))|0; $222 = HEAP32[$1>>2]|0; - $223 = (($222) + 28|0); + $223 = ((($222)) + 28|0); $224 = HEAP32[$223>>2]|0; $225 = (($224) + ($221)|0); $226 = HEAP32[$aNext>>2]|0; @@ -186541,7 +188563,7 @@ function _vdbePmaReadBlob($p,$nByte,$ppOut) { } if ((label|0) == 27) { $231 = HEAP32[$1>>2]|0; - $232 = (($231) + 28|0); + $232 = ((($231)) + 28|0); $233 = HEAP32[$232>>2]|0; $234 = HEAP32[$3>>2]|0; HEAP32[$234>>2] = $233; @@ -186576,7 +188598,7 @@ function _vdbeSorterMapFile($pTask,$pFile,$pp) { HEAP32[$2>>2] = $pp; HEAP32[$rc>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); + $4 = ((($3)) + 8|0); $5 = $4; $6 = $5; $7 = HEAP32[$6>>2]|0; @@ -186584,11 +188606,11 @@ function _vdbeSorterMapFile($pTask,$pFile,$pp) { $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 8|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 24|0); + $14 = ((($13)) + 24|0); $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 136|0); + $16 = ((($15)) + 136|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)<(0); $19 = $18 << 31 >> 31; @@ -186614,7 +188636,7 @@ function _vdbeSorterMapFile($pTask,$pFile,$pp) { } $31 = HEAP32[$pFd>>2]|0; $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 8|0); + $33 = ((($32)) + 8|0); $34 = $33; $35 = $34; $36 = HEAP32[$35>>2]|0; @@ -186664,22 +188686,22 @@ function _vdbeIncrPopulate($pIncr) { var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dummy = 0, $iEof = 0, $iStart = 0, $nKey = 0, $pMerger = 0, $pOut = 0, $pReader = 0, $pTask = 0, $rc = 0, $rc2 = 0, $writer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $rc = sp + 84|0; - $rc2 = sp + 80|0; - $iStart = sp + 48|0; - $pOut = sp + 76|0; - $pTask = sp + 72|0; - $pMerger = sp + 68|0; + $0 = sp + 60|0; + $rc = sp + 56|0; + $rc2 = sp + 68|0; + $iStart = sp; + $pOut = sp + 72|0; + $pTask = sp + 64|0; + $pMerger = sp + 88|0; $writer = sp + 8|0; - $dummy = sp + 64|0; - $pReader = sp + 60|0; - $nKey = sp + 56|0; - $iEof = sp; + $dummy = sp + 76|0; + $pReader = sp + 80|0; + $nKey = sp + 84|0; + $iEof = sp + 48|0; HEAP32[$0>>2] = $pIncr; HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); + $2 = ((($1)) + 8|0); $3 = $2; $4 = $3; $5 = HEAP32[$4>>2]|0; @@ -186693,22 +188715,22 @@ function _vdbeIncrPopulate($pIncr) { $12 = $11; HEAP32[$12>>2] = $8; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 32|0); - $15 = (($14) + 16|0); + $14 = ((($13)) + 32|0); + $15 = ((($14)) + 16|0); HEAP32[$pOut>>2] = $15; $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$16>>2]|0; HEAP32[$pTask>>2] = $17; $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 4|0); + $19 = ((($18)) + 4|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pMerger>>2] = $20; $21 = HEAP32[$pOut>>2]|0; $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$pTask>>2]|0; - $24 = (($23) + 8|0); + $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 12|0); + $26 = ((($25)) + 12|0); $27 = HEAP32[$26>>2]|0; $28 = $iStart; $29 = $28; @@ -186724,27 +188746,27 @@ function _vdbeIncrPopulate($pIncr) { break; } $36 = HEAP32[$pMerger>>2]|0; - $37 = (($36) + 8|0); + $37 = ((($36)) + 8|0); $38 = HEAP32[$37>>2]|0; - $39 = (($38) + 4|0); + $39 = ((($38)) + 4|0); $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$pMerger>>2]|0; - $42 = (($41) + 12|0); + $42 = ((($41)) + 12|0); $43 = HEAP32[$42>>2]|0; $44 = (($43) + (($40*56)|0)|0); HEAP32[$pReader>>2] = $44; $45 = HEAP32[$pReader>>2]|0; - $46 = (($45) + 20|0); + $46 = ((($45)) + 20|0); $47 = HEAP32[$46>>2]|0; HEAP32[$nKey>>2] = $47; - $48 = (($writer) + 24|0); + $48 = ((($writer)) + 24|0); $49 = $48; $50 = $49; $51 = HEAP32[$50>>2]|0; $52 = (($49) + 4)|0; $53 = $52; $54 = HEAP32[$53>>2]|0; - $55 = (($writer) + 16|0); + $55 = ((($writer)) + 16|0); $56 = HEAP32[$55>>2]|0; $57 = ($56|0)<(0); $58 = $57 << 31 >> 31; @@ -186757,7 +188779,7 @@ function _vdbeIncrPopulate($pIncr) { $64 = $63; HEAP32[$64>>2] = $60; $65 = HEAP32[$pReader>>2]|0; - $66 = (($65) + 24|0); + $66 = ((($65)) + 24|0); $67 = HEAP32[$66>>2]|0; $68 = ($67|0)==(0|0); if ($68) { @@ -186789,7 +188811,7 @@ function _vdbeIncrPopulate($pIncr) { $92 = $91; $93 = HEAP32[$92>>2]|0; $94 = HEAP32[$0>>2]|0; - $95 = (($94) + 16|0); + $95 = ((($94)) + 16|0); $96 = HEAP32[$95>>2]|0; $97 = ($96|0)<(0); $98 = $97 << 31 >> 31; @@ -186808,18 +188830,18 @@ function _vdbeIncrPopulate($pIncr) { $108 = $107 << 31 >> 31; _vdbePmaWriteVarint($writer,$106,$108); $109 = HEAP32[$pReader>>2]|0; - $110 = (($109) + 32|0); + $110 = ((($109)) + 32|0); $111 = HEAP32[$110>>2]|0; $112 = HEAP32[$nKey>>2]|0; _vdbePmaWriteBlob($writer,$111,$112); $113 = HEAP32[$0>>2]|0; - $114 = (($113) + 4|0); + $114 = ((($113)) + 4|0); $115 = HEAP32[$114>>2]|0; $116 = (_vdbeMergeEngineStep($115,$dummy)|0); HEAP32[$rc>>2] = $116; } $117 = HEAP32[$pOut>>2]|0; - $118 = (($117) + 8|0); + $118 = ((($117)) + 8|0); $119 = (_vdbePmaWriterFinish($writer,$118)|0); HEAP32[$rc2>>2] = $119; $120 = HEAP32[$rc>>2]|0; @@ -186845,7 +188867,7 @@ function _vdbeSorterSetupMerge($pSorter) { $pMain = sp; HEAP32[$0>>2] = $pSorter; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 64|0); + $2 = ((($1)) + 64|0); HEAP32[$pTask0>>2] = $2; HEAP32[$pMain>>2] = 0; $3 = HEAP32[$0>>2]|0; @@ -186860,7 +188882,7 @@ function _vdbeSorterSetupMerge($pSorter) { HEAP32[$rc>>2] = $9; $10 = HEAP32[$pMain>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 20|0); + $12 = ((($11)) + 20|0); HEAP32[$12>>2] = $10; HEAP32[$pMain>>2] = 0; } @@ -186881,23 +188903,23 @@ function _vdbeSorterMergeTreeBuild($pSorter,$ppOut) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $i = 0, $iReadOff = 0; - var $iSeq = 0, $iTask = 0, $nDepth = 0, $nReader = 0, $or$cond = 0, $pMain = 0, $pMerger = 0, $pRoot = 0, $pTask = 0, $rc = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $i = 0; + var $iReadOff = 0, $iSeq = 0, $iTask = 0, $nDepth = 0, $nReader = 0, $pMain = 0, $pMerger = 0, $pRoot = 0, $pTask = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $pMain = sp + 44|0; - $rc = sp + 40|0; + $0 = sp + 48|0; + $1 = sp + 40|0; + $pMain = sp + 16|0; + $rc = sp + 12|0; $iTask = sp + 36|0; - $pTask = sp + 32|0; - $pRoot = sp + 28|0; - $nDepth = sp + 24|0; + $pTask = sp + 44|0; + $pRoot = sp + 52|0; + $nDepth = sp + 32|0; $iReadOff = sp; $i = sp + 20|0; - $iSeq = sp + 16|0; - $pMerger = sp + 12|0; - $nReader = sp + 8|0; + $iSeq = sp + 8|0; + $pMerger = sp + 28|0; + $nReader = sp + 24|0; HEAP32[$0>>2] = $pSorter; HEAP32[$1>>2] = $ppOut; HEAP32[$pMain>>2] = 0; @@ -186911,7 +188933,7 @@ function _vdbeSorterMergeTreeBuild($pSorter,$ppOut) { } $4 = HEAP32[$iTask>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 59|0); + $6 = ((($5)) + 59|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($4|0)<($8|0); @@ -186920,12 +188942,12 @@ function _vdbeSorterMergeTreeBuild($pSorter,$ppOut) { } $10 = HEAP32[$iTask>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 64|0); + $12 = ((($11)) + 64|0); $13 = (($12) + ($10<<6)|0); HEAP32[$pTask>>2] = $13; HEAP32[$pRoot>>2] = 0; $14 = HEAP32[$pTask>>2]|0; - $15 = (($14) + 28|0); + $15 = ((($14)) + 28|0); $16 = HEAP32[$15>>2]|0; $17 = (_vdbeSorterTreeDepth($16)|0); HEAP32[$nDepth>>2] = $17; @@ -186936,14 +188958,14 @@ function _vdbeSorterMergeTreeBuild($pSorter,$ppOut) { $21 = $20; HEAP32[$21>>2] = 0; $22 = HEAP32[$pTask>>2]|0; - $23 = (($22) + 28|0); + $23 = ((($22)) + 28|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)<=(16); L5: do { if ($25) { $26 = HEAP32[$pTask>>2]|0; $27 = HEAP32[$pTask>>2]|0; - $28 = (($27) + 28|0); + $28 = ((($27)) + 28|0); $29 = HEAP32[$28>>2]|0; $30 = (_vdbeMergeEngineLevel0($26,$29,$iReadOff,$pRoot)|0); HEAP32[$rc>>2] = $30; @@ -186960,85 +188982,85 @@ function _vdbeSorterMergeTreeBuild($pSorter,$ppOut) { while(1) { $34 = HEAP32[$i>>2]|0; $35 = HEAP32[$pTask>>2]|0; - $36 = (($35) + 28|0); + $36 = ((($35)) + 28|0); $37 = HEAP32[$36>>2]|0; $38 = ($34|0)<($37|0); $39 = HEAP32[$rc>>2]|0; $40 = ($39|0)==(0); - $or$cond = $38 & $40; - if (!($or$cond)) { + $41 = $38 ? $40 : 0; + if (!($41)) { break L5; } HEAP32[$pMerger>>2] = 0; - $41 = HEAP32[$pTask>>2]|0; - $42 = (($41) + 28|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$i>>2]|0; - $45 = (($43) - ($44))|0; - $46 = ($45|0)<(16); - if ($46) { - $47 = HEAP32[$pTask>>2]|0; - $48 = (($47) + 28|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$i>>2]|0; - $51 = (($49) - ($50))|0; - $52 = $51; + $42 = HEAP32[$pTask>>2]|0; + $43 = ((($42)) + 28|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$i>>2]|0; + $46 = (($44) - ($45))|0; + $47 = ($46|0)<(16); + if ($47) { + $48 = HEAP32[$pTask>>2]|0; + $49 = ((($48)) + 28|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$i>>2]|0; + $52 = (($50) - ($51))|0; + $53 = $52; } else { - $52 = 16; + $53 = 16; } - HEAP32[$nReader>>2] = $52; - $53 = HEAP32[$pTask>>2]|0; - $54 = HEAP32[$nReader>>2]|0; - $55 = (_vdbeMergeEngineLevel0($53,$54,$iReadOff,$pMerger)|0); - HEAP32[$rc>>2] = $55; - $56 = HEAP32[$rc>>2]|0; - $57 = ($56|0)==(0); - if ($57) { - $58 = HEAP32[$pTask>>2]|0; - $59 = HEAP32[$nDepth>>2]|0; - $60 = HEAP32[$iSeq>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$iSeq>>2] = $61; - $62 = HEAP32[$pRoot>>2]|0; - $63 = HEAP32[$pMerger>>2]|0; - $64 = (_vdbeSorterAddToTree($58,$59,$60,$62,$63)|0); - HEAP32[$rc>>2] = $64; + HEAP32[$nReader>>2] = $53; + $54 = HEAP32[$pTask>>2]|0; + $55 = HEAP32[$nReader>>2]|0; + $56 = (_vdbeMergeEngineLevel0($54,$55,$iReadOff,$pMerger)|0); + HEAP32[$rc>>2] = $56; + $57 = HEAP32[$rc>>2]|0; + $58 = ($57|0)==(0); + if ($58) { + $59 = HEAP32[$pTask>>2]|0; + $60 = HEAP32[$nDepth>>2]|0; + $61 = HEAP32[$iSeq>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$iSeq>>2] = $62; + $63 = HEAP32[$pRoot>>2]|0; + $64 = HEAP32[$pMerger>>2]|0; + $65 = (_vdbeSorterAddToTree($59,$60,$61,$63,$64)|0); + HEAP32[$rc>>2] = $65; } - $65 = HEAP32[$i>>2]|0; - $66 = (($65) + 16)|0; - HEAP32[$i>>2] = $66; + $66 = HEAP32[$i>>2]|0; + $67 = (($66) + 16)|0; + HEAP32[$i>>2] = $67; } } } while(0); - $67 = HEAP32[$rc>>2]|0; - $68 = ($67|0)==(0); - $69 = HEAP32[$pRoot>>2]|0; - if ($68) { - HEAP32[$pMain>>2] = $69; + $68 = HEAP32[$rc>>2]|0; + $69 = ($68|0)==(0); + $70 = HEAP32[$pRoot>>2]|0; + if ($69) { + HEAP32[$pMain>>2] = $70; } else { - _vdbeMergeEngineFree($69); + _vdbeMergeEngineFree($70); } - $70 = HEAP32[$iTask>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$iTask>>2] = $71; + $71 = HEAP32[$iTask>>2]|0; + $72 = (($71) + 1)|0; + HEAP32[$iTask>>2] = $72; } - $72 = HEAP32[$rc>>2]|0; - $73 = ($72|0)!=(0); - if (!($73)) { - $75 = HEAP32[$pMain>>2]|0; - $76 = HEAP32[$1>>2]|0; - HEAP32[$76>>2] = $75; - $77 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($77|0); + $73 = HEAP32[$rc>>2]|0; + $74 = ($73|0)!=(0); + if (!($74)) { + $76 = HEAP32[$pMain>>2]|0; + $77 = HEAP32[$1>>2]|0; + HEAP32[$77>>2] = $76; + $78 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($78|0); } - $74 = HEAP32[$pMain>>2]|0; - _vdbeMergeEngineFree($74); - HEAP32[$pMain>>2] = 0; $75 = HEAP32[$pMain>>2]|0; - $76 = HEAP32[$1>>2]|0; - HEAP32[$76>>2] = $75; - $77 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($77|0); + _vdbeMergeEngineFree($75); + HEAP32[$pMain>>2] = 0; + $76 = HEAP32[$pMain>>2]|0; + $77 = HEAP32[$1>>2]|0; + HEAP32[$77>>2] = $76; + $78 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($78|0); } function _vdbeMergeEngineInit($pTask,$pMerger,$eMode) { $pTask = $pTask|0; @@ -187049,13 +189071,13 @@ function _vdbeMergeEngineInit($pTask,$pMerger,$eMode) { var $nTree = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $rc = sp + 8|0; - $i = sp + 4|0; - $nTree = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $rc = sp + 4|0; + $i = sp; + $nTree = sp + 12|0; HEAP32[$1>>2] = $pTask; HEAP32[$2>>2] = $pMerger; HEAP32[$3>>2] = $eMode; @@ -187065,7 +189087,7 @@ function _vdbeMergeEngineInit($pTask,$pMerger,$eMode) { HEAP32[$nTree>>2] = $5; $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 4|0); + $8 = ((($7)) + 4|0); HEAP32[$8>>2] = $6; HEAP32[$i>>2] = 0; while(1) { @@ -187077,7 +189099,7 @@ function _vdbeMergeEngineInit($pTask,$pMerger,$eMode) { } $12 = HEAP32[$i>>2]|0; $13 = HEAP32[$2>>2]|0; - $14 = (($13) + 12|0); + $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + (($12*56)|0)|0); $17 = (_vdbePmaReaderIncrMergeInit($16,0)|0); @@ -187116,9 +189138,9 @@ function _vdbeMergeEngineInit($pTask,$pMerger,$eMode) { HEAP32[$i>>2] = $31; } $32 = HEAP32[$1>>2]|0; - $33 = (($32) + 12|0); + $33 = ((($32)) + 12|0); $34 = HEAP32[$33>>2]|0; - $35 = (($34) + 7|0); + $35 = ((($34)) + 7|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; HEAP32[$0>>2] = $37; @@ -187136,18 +189158,18 @@ function _vdbePmaReaderIncrMergeInit($pReadr,$eMode) { var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $rc = sp + 16|0; - $pIncr = sp + 12|0; - $pTask = sp + 8|0; - $db = sp + 4|0; - $mxSz = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $rc = sp + 20|0; + $pIncr = sp + 24|0; + $pTask = sp + 4|0; + $db = sp; + $mxSz = sp + 12|0; HEAP32[$0>>2] = $pReadr; HEAP32[$1>>2] = $eMode; HEAP32[$rc>>2] = 0; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 48|0); + $3 = ((($2)) + 48|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pIncr>>2] = $4; $5 = HEAP32[$pIncr>>2]|0; @@ -187160,14 +189182,14 @@ function _vdbePmaReaderIncrMergeInit($pReadr,$eMode) { $8 = HEAP32[$7>>2]|0; HEAP32[$pTask>>2] = $8; $9 = HEAP32[$pTask>>2]|0; - $10 = (($9) + 8|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 24|0); + $12 = ((($11)) + 24|0); $13 = HEAP32[$12>>2]|0; HEAP32[$db>>2] = $13; $14 = HEAP32[$pTask>>2]|0; $15 = HEAP32[$pIncr>>2]|0; - $16 = (($15) + 4|0); + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$1>>2]|0; $19 = (_vdbeMergeEngineInit($14,$17,$18)|0); @@ -187176,18 +189198,18 @@ function _vdbePmaReaderIncrMergeInit($pReadr,$eMode) { $21 = ($20|0)==(0); if ($21) { $22 = HEAP32[$pIncr>>2]|0; - $23 = (($22) + 16|0); + $23 = ((($22)) + 16|0); $24 = HEAP32[$23>>2]|0; HEAP32[$mxSz>>2] = $24; $25 = HEAP32[$pTask>>2]|0; - $26 = (($25) + 48|0); + $26 = ((($25)) + 48|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); if ($28) { $29 = HEAP32[$db>>2]|0; $30 = HEAP32[$pTask>>2]|0; - $31 = (($30) + 48|0); - $32 = (($31) + 8|0); + $31 = ((($30)) + 48|0); + $32 = ((($31)) + 8|0); $33 = $32; $34 = $33; $35 = HEAP32[$34>>2]|0; @@ -187195,12 +189217,12 @@ function _vdbePmaReaderIncrMergeInit($pReadr,$eMode) { $37 = $36; $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$pTask>>2]|0; - $40 = (($39) + 48|0); + $40 = ((($39)) + 48|0); $41 = (_vdbeSorterOpenTempFile($29,$35,$38,$40)|0); HEAP32[$rc>>2] = $41; $42 = HEAP32[$pTask>>2]|0; - $43 = (($42) + 48|0); - $44 = (($43) + 8|0); + $43 = ((($42)) + 48|0); + $44 = ((($43)) + 8|0); $45 = $44; $46 = $45; HEAP32[$46>>2] = 0; @@ -187212,15 +189234,15 @@ function _vdbePmaReaderIncrMergeInit($pReadr,$eMode) { $50 = ($49|0)==(0); if ($50) { $51 = HEAP32[$pTask>>2]|0; - $52 = (($51) + 48|0); + $52 = ((($51)) + 48|0); $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$pIncr>>2]|0; - $55 = (($54) + 32|0); - $56 = (($55) + 16|0); + $55 = ((($54)) + 32|0); + $56 = ((($55)) + 16|0); HEAP32[$56>>2] = $53; $57 = HEAP32[$pTask>>2]|0; - $58 = (($57) + 48|0); - $59 = (($58) + 8|0); + $58 = ((($57)) + 48|0); + $59 = ((($58)) + 8|0); $60 = $59; $61 = $60; $62 = HEAP32[$61>>2]|0; @@ -187228,7 +189250,7 @@ function _vdbePmaReaderIncrMergeInit($pReadr,$eMode) { $64 = $63; $65 = HEAP32[$64>>2]|0; $66 = HEAP32[$pIncr>>2]|0; - $67 = (($66) + 8|0); + $67 = ((($66)) + 8|0); $68 = $67; $69 = $68; HEAP32[$69>>2] = $62; @@ -187239,8 +189261,8 @@ function _vdbePmaReaderIncrMergeInit($pReadr,$eMode) { $73 = ($72|0)<(0); $74 = $73 << 31 >> 31; $75 = HEAP32[$pTask>>2]|0; - $76 = (($75) + 48|0); - $77 = (($76) + 8|0); + $76 = ((($75)) + 48|0); + $77 = ((($76)) + 8|0); $78 = $77; $79 = $78; $80 = HEAP32[$79>>2]|0; @@ -187279,14 +189301,14 @@ function _vdbeMergeEngineCompare($pMerger,$iOut) { var $res = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $i1 = sp + 20|0; - $i2 = sp + 16|0; - $iRes = sp + 12|0; - $p1 = sp + 8|0; - $p2 = sp + 4|0; - $res = sp; + $0 = sp + 4|0; + $1 = sp + 16|0; + $i1 = sp + 8|0; + $i2 = sp + 20|0; + $iRes = sp + 28|0; + $p1 = sp; + $p2 = sp + 12|0; + $res = sp + 24|0; HEAP32[$0>>2] = $pMerger; HEAP32[$1>>2] = $iOut; $2 = HEAP32[$1>>2]|0; @@ -187308,7 +189330,7 @@ function _vdbeMergeEngineCompare($pMerger,$iOut) { } else { $15 = $7<<1; $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + ($15<<2)|0); $20 = HEAP32[$19>>2]|0; @@ -187317,7 +189339,7 @@ function _vdbeMergeEngineCompare($pMerger,$iOut) { $22 = $21<<1; $23 = (($22) + 1)|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 8|0); + $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + ($23<<2)|0); $28 = HEAP32[$27>>2]|0; @@ -187325,18 +189347,18 @@ function _vdbeMergeEngineCompare($pMerger,$iOut) { } $29 = HEAP32[$i1>>2]|0; $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 12|0); + $31 = ((($30)) + 12|0); $32 = HEAP32[$31>>2]|0; $33 = (($32) + (($29*56)|0)|0); HEAP32[$p1>>2] = $33; $34 = HEAP32[$i2>>2]|0; $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 12|0); + $36 = ((($35)) + 12|0); $37 = HEAP32[$36>>2]|0; $38 = (($37) + (($34*56)|0)|0); HEAP32[$p2>>2] = $38; $39 = HEAP32[$p1>>2]|0; - $40 = (($39) + 24|0); + $40 = ((($39)) + 24|0); $41 = HEAP32[$40>>2]|0; $42 = ($41|0)==(0|0); do { @@ -187345,7 +189367,7 @@ function _vdbeMergeEngineCompare($pMerger,$iOut) { HEAP32[$iRes>>2] = $43; } else { $44 = HEAP32[$p2>>2]|0; - $45 = (($44) + 24|0); + $45 = ((($44)) + 24|0); $46 = HEAP32[$45>>2]|0; $47 = ($46|0)==(0|0); if ($47) { @@ -187354,19 +189376,19 @@ function _vdbeMergeEngineCompare($pMerger,$iOut) { break; } $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 4|0); + $50 = ((($49)) + 4|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$p1>>2]|0; - $53 = (($52) + 32|0); + $53 = ((($52)) + 32|0); $54 = HEAP32[$53>>2]|0; $55 = HEAP32[$p1>>2]|0; - $56 = (($55) + 20|0); + $56 = ((($55)) + 20|0); $57 = HEAP32[$56>>2]|0; $58 = HEAP32[$p2>>2]|0; - $59 = (($58) + 32|0); + $59 = ((($58)) + 32|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$p2>>2]|0; - $62 = (($61) + 20|0); + $62 = ((($61)) + 20|0); $63 = HEAP32[$62>>2]|0; $64 = (_vdbeSorterCompare($51,$54,$57,$60,$63)|0); HEAP32[$res>>2] = $64; @@ -187386,7 +189408,7 @@ function _vdbeMergeEngineCompare($pMerger,$iOut) { $69 = HEAP32[$iRes>>2]|0; $70 = HEAP32[$1>>2]|0; $71 = HEAP32[$0>>2]|0; - $72 = (($71) + 8|0); + $72 = ((($71)) + 8|0); $73 = HEAP32[$72>>2]|0; $74 = (($73) + ($70<<2)|0); HEAP32[$74>>2] = $69; @@ -187456,19 +189478,19 @@ function _vdbeMergeEngineLevel0($pTask,$nPMA,$piOffset,$ppOut) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $i = 0, $iOff = 0, $nDummy = 0, $or$cond = 0, $pNew = 0, $pReadr = 0, $rc = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $i = 0, $iOff = 0, $nDummy = 0, $pNew = 0, $pReadr = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $pNew = sp + 28|0; - $iOff = sp + 8|0; - $i = sp + 24|0; - $rc = sp + 20|0; - $nDummy = sp; - $pReadr = sp + 16|0; + $0 = sp + 16|0; + $1 = sp + 32|0; + $2 = sp + 24|0; + $3 = sp + 28|0; + $pNew = sp + 40|0; + $iOff = sp; + $i = sp + 20|0; + $rc = sp + 36|0; + $nDummy = sp + 8|0; + $pReadr = sp + 44|0; HEAP32[$0>>2] = $pTask; HEAP32[$1>>2] = $nPMA; HEAP32[$2>>2] = $piOffset; @@ -187504,84 +189526,84 @@ function _vdbeMergeEngineLevel0($pTask,$nPMA,$piOffset,$ppOut) { $22 = ($20|0)<($21|0); $23 = HEAP32[$rc>>2]|0; $24 = ($23|0)==(0); - $or$cond = $22 & $24; - if (!($or$cond)) { + $25 = $22 ? $24 : 0; + if (!($25)) { break; } - $25 = HEAP32[$i>>2]|0; - $26 = HEAP32[$pNew>>2]|0; - $27 = (($26) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + (($25*56)|0)|0); - HEAP32[$pReadr>>2] = $29; - $30 = HEAP32[$0>>2]|0; + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$pNew>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + (($26*56)|0)|0); + HEAP32[$pReadr>>2] = $30; $31 = HEAP32[$0>>2]|0; - $32 = (($31) + 32|0); - $33 = $iOff; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$pReadr>>2]|0; - $40 = (_vdbePmaReaderInit($30,$32,$35,$38,$39,$nDummy)|0); - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$pReadr>>2]|0; - $42 = (($41) + 8|0); - $43 = $42; + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 32|0); + $34 = $iOff; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$pReadr>>2]|0; + $41 = (_vdbePmaReaderInit($31,$33,$36,$39,$40,$nDummy)|0); + HEAP32[$rc>>2] = $41; + $42 = HEAP32[$pReadr>>2]|0; + $43 = ((($42)) + 8|0); $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = $iOff; - $50 = $49; - HEAP32[$50>>2] = $45; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $48; - $53 = HEAP32[$i>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$i>>2] = $54; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = $iOff; + $51 = $50; + HEAP32[$51>>2] = $46; + $52 = (($50) + 4)|0; + $53 = $52; + HEAP32[$53>>2] = $49; + $54 = HEAP32[$i>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$i>>2] = $55; } - $55 = HEAP32[$rc>>2]|0; - $56 = ($55|0)!=(0); - if (!($56)) { - $59 = $iOff; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = $65; + $56 = HEAP32[$rc>>2]|0; + $57 = ($56|0)!=(0); + if (!($57)) { + $60 = $iOff; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$2>>2]|0; $67 = $66; - HEAP32[$67>>2] = $61; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $64; - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); + $68 = $67; + HEAP32[$68>>2] = $62; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $65; + $71 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($71|0); } - $57 = HEAP32[$pNew>>2]|0; - _vdbeMergeEngineFree($57); - $58 = HEAP32[$3>>2]|0; - HEAP32[$58>>2] = 0; - $59 = $iOff; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = $65; + $58 = HEAP32[$pNew>>2]|0; + _vdbeMergeEngineFree($58); + $59 = HEAP32[$3>>2]|0; + HEAP32[$59>>2] = 0; + $60 = $iOff; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$2>>2]|0; $67 = $66; - HEAP32[$67>>2] = $61; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $64; - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); + $68 = $67; + HEAP32[$68>>2] = $62; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $65; + $71 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($71|0); } function _vdbeMergeEngineNew($nReader) { $nReader = $nReader|0; @@ -187632,20 +189654,20 @@ function _vdbeMergeEngineNew($nReader) { $19 = HEAP32[$pNew>>2]|0; HEAP32[$19>>2] = $18; $20 = HEAP32[$pNew>>2]|0; - $21 = (($20) + 4|0); + $21 = ((($20)) + 4|0); HEAP32[$21>>2] = 0; $22 = HEAP32[$pNew>>2]|0; - $23 = (($22) + 16|0); + $23 = ((($22)) + 16|0); $24 = HEAP32[$pNew>>2]|0; - $25 = (($24) + 12|0); + $25 = ((($24)) + 12|0); HEAP32[$25>>2] = $23; $26 = HEAP32[$N>>2]|0; $27 = HEAP32[$pNew>>2]|0; - $28 = (($27) + 12|0); + $28 = ((($27)) + 12|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + (($26*56)|0)|0); $31 = HEAP32[$pNew>>2]|0; - $32 = (($31) + 8|0); + $32 = ((($31)) + 8|0); HEAP32[$32>>2] = $30; $33 = HEAP32[$pNew>>2]|0; STACKTOP = sp;return ($33|0); @@ -187659,22 +189681,22 @@ function _vdbeSorterAddToTree($pTask,$nDepth,$iSeq,$pRoot,$pLeaf) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iIter = 0, $nDiv = 0, $or$cond = 0, $p = 0, $pIncr = 0, $pNew = 0, $pReadr = 0, $rc = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iIter = 0, $nDiv = 0, $p = 0, $pIncr = 0, $pNew = 0, $pReadr = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; + $0 = sp + 44|0; + $1 = sp + 36|0; + $2 = sp + 12|0; + $3 = sp + 8|0; $4 = sp + 32|0; - $rc = sp + 28|0; - $nDiv = sp + 24|0; - $i = sp + 20|0; - $p = sp + 16|0; - $pIncr = sp + 12|0; - $iIter = sp + 8|0; - $pReadr = sp + 4|0; - $pNew = sp; + $rc = sp + 40|0; + $nDiv = sp + 48|0; + $i = sp + 16|0; + $p = sp; + $pIncr = sp + 24|0; + $iIter = sp + 4|0; + $pReadr = sp + 28|0; + $pNew = sp + 20|0; HEAP32[$0>>2] = $pTask; HEAP32[$1>>2] = $nDepth; HEAP32[$2>>2] = $iSeq; @@ -187710,82 +189732,82 @@ function _vdbeSorterAddToTree($pTask,$nDepth,$iSeq,$pRoot,$pLeaf) { $18 = ($16|0)<($17|0); $19 = HEAP32[$rc>>2]|0; $20 = ($19|0)==(0); - $or$cond = $18 & $20; - if (!($or$cond)) { + $21 = $18 ? $20 : 0; + if (!($21)) { break; } - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$nDiv>>2]|0; - $23 = (($21|0) / ($22|0))&-1; - $24 = (($23|0) % 16)&-1; - HEAP32[$iIter>>2] = $24; - $25 = HEAP32[$iIter>>2]|0; - $26 = HEAP32[$p>>2]|0; - $27 = (($26) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + (($25*56)|0)|0); - HEAP32[$pReadr>>2] = $29; - $30 = HEAP32[$pReadr>>2]|0; - $31 = (($30) + 48|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==(0|0); + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$nDiv>>2]|0; + $24 = (($22|0) / ($23|0))&-1; + $25 = (($24|0) % 16)&-1; + HEAP32[$iIter>>2] = $25; + $26 = HEAP32[$iIter>>2]|0; + $27 = HEAP32[$p>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + (($26*56)|0)|0); + HEAP32[$pReadr>>2] = $30; + $31 = HEAP32[$pReadr>>2]|0; + $32 = ((($31)) + 48|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0|0); do { - if ($33) { - $34 = (_vdbeMergeEngineNew(16)|0); - HEAP32[$pNew>>2] = $34; - $35 = HEAP32[$pNew>>2]|0; - $36 = ($35|0)==(0|0); - if ($36) { + if ($34) { + $35 = (_vdbeMergeEngineNew(16)|0); + HEAP32[$pNew>>2] = $35; + $36 = HEAP32[$pNew>>2]|0; + $37 = ($36|0)==(0|0); + if ($37) { HEAP32[$rc>>2] = 7; break; } else { - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$pNew>>2]|0; - $39 = HEAP32[$pReadr>>2]|0; - $40 = (($39) + 48|0); - $41 = (_vdbeIncrMergerNew($37,$38,$40)|0); - HEAP32[$rc>>2] = $41; + $38 = HEAP32[$0>>2]|0; + $39 = HEAP32[$pNew>>2]|0; + $40 = HEAP32[$pReadr>>2]|0; + $41 = ((($40)) + 48|0); + $42 = (_vdbeIncrMergerNew($38,$39,$41)|0); + HEAP32[$rc>>2] = $42; break; } } } while(0); - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - $44 = HEAP32[$pReadr>>2]|0; - $45 = (($44) + 48|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 4|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$p>>2] = $48; - $49 = HEAP32[$nDiv>>2]|0; - $50 = (($49|0) / 16)&-1; - HEAP32[$nDiv>>2] = $50; + $43 = HEAP32[$rc>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $45 = HEAP32[$pReadr>>2]|0; + $46 = ((($45)) + 48|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($47)) + 4|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$p>>2] = $49; + $50 = HEAP32[$nDiv>>2]|0; + $51 = (($50|0) / 16)&-1; + HEAP32[$nDiv>>2] = $51; } - $51 = HEAP32[$i>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$i>>2] = $52; + $52 = HEAP32[$i>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$i>>2] = $53; } - $53 = HEAP32[$rc>>2]|0; - $54 = ($53|0)==(0); - $55 = HEAP32[$pIncr>>2]|0; - if ($54) { - $56 = HEAP32[$2>>2]|0; - $57 = (($56|0) % 16)&-1; - $58 = HEAP32[$p>>2]|0; - $59 = (($58) + 12|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($60) + (($57*56)|0)|0); - $62 = (($61) + 48|0); - HEAP32[$62>>2] = $55; - $63 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($63|0); + $54 = HEAP32[$rc>>2]|0; + $55 = ($54|0)==(0); + $56 = HEAP32[$pIncr>>2]|0; + if ($55) { + $57 = HEAP32[$2>>2]|0; + $58 = (($57|0) % 16)&-1; + $59 = HEAP32[$p>>2]|0; + $60 = ((($59)) + 12|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($61) + (($58*56)|0)|0); + $63 = ((($62)) + 48|0); + HEAP32[$63>>2] = $56; + $64 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($64|0); } else { - _vdbeIncrFree($55); - $63 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($63|0); + _vdbeIncrFree($56); + $64 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($64|0); } - return 0|0; + return (0)|0; } function _vdbeIncrMergerNew($pTask,$pMerger,$ppOut) { $pTask = $pTask|0; @@ -187827,49 +189849,49 @@ function _vdbeIncrMergerNew($pTask,$pMerger,$ppOut) { STACKTOP = sp;return ($60|0); } $11 = HEAP32[$pIncr>>2]|0; - $12 = (($11) + 4|0); + $12 = ((($11)) + 4|0); HEAP32[$12>>2] = $10; $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$pIncr>>2]|0; HEAP32[$14>>2] = $13; $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 8|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 8|0); + $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + 9)|0; $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 8|0); + $22 = ((($21)) + 8|0); $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 4|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = (($25|0) / 2)&-1; $27 = ($20|0)>($26|0); $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 8|0); + $29 = ((($28)) + 8|0); $30 = HEAP32[$29>>2]|0; if ($27) { - $31 = (($30) + 8|0); + $31 = ((($30)) + 8|0); $32 = HEAP32[$31>>2]|0; $33 = (($32) + 9)|0; $39 = $33; } else { - $34 = (($30) + 4|0); + $34 = ((($30)) + 4|0); $35 = HEAP32[$34>>2]|0; $36 = (($35|0) / 2)&-1; $39 = $36; } $37 = HEAP32[$pIncr>>2]|0; - $38 = (($37) + 16|0); + $38 = ((($37)) + 16|0); HEAP32[$38>>2] = $39; $40 = HEAP32[$pIncr>>2]|0; - $41 = (($40) + 16|0); + $41 = ((($40)) + 16|0); $42 = HEAP32[$41>>2]|0; $43 = ($42|0)<(0); $44 = $43 << 31 >> 31; $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 48|0); - $47 = (($46) + 8|0); + $46 = ((($45)) + 48|0); + $47 = ((($46)) + 8|0); $48 = $47; $49 = $48; $50 = HEAP32[$49>>2]|0; @@ -187900,10 +189922,10 @@ function _vdbePmaReaderInit($pTask,$pFile,$0,$1,$pReadr,$pnByte) { var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $2 = sp + 32|0; - $3 = sp + 28|0; + $2 = sp + 28|0; + $3 = sp + 24|0; $4 = sp + 8|0; - $5 = sp + 24|0; + $5 = sp + 32|0; $6 = sp + 20|0; $rc = sp + 16|0; $nByte = sp; @@ -187950,7 +189972,7 @@ function _vdbePmaReaderInit($pTask,$pFile,$0,$1,$pReadr,$pnByte) { $38 = (_i64Add(($28|0),($31|0),($34|0),($37|0))|0); $39 = tempRet0; $40 = HEAP32[$5>>2]|0; - $41 = (($40) + 8|0); + $41 = ((($40)) + 8|0); $42 = $41; $43 = $42; HEAP32[$43>>2] = $38; @@ -187999,7 +190021,7 @@ function _sqlite3BtreeCursorHasMoved($pCur) { $0 = sp; HEAP32[$0>>2] = $pCur; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 73|0); + $2 = ((($1)) + 73|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = ($4|0)!=(1); @@ -188020,7 +190042,7 @@ function _handleMovedCursor($p) { $3 = (_sqlite3BtreeCursorRestore($2,$isDifferentRow)|0); HEAP32[$rc>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 60|0); + $5 = ((($4)) + 60|0); HEAP32[$5>>2] = 0; $6 = HEAP32[$isDifferentRow>>2]|0; $7 = ($6|0)!=(0); @@ -188029,7 +190051,7 @@ function _handleMovedCursor($p) { STACKTOP = sp;return ($10|0); } $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 25|0); + $9 = ((($8)) + 25|0); HEAP8[$9>>0] = 1; $10 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($10|0); @@ -188048,7 +190070,7 @@ function _sqlite3BtreeCursorRestore($pCur,$pDifferentRow) { HEAP32[$1>>2] = $pCur; HEAP32[$2>>2] = $pDifferentRow; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 73|0); + $4 = ((($3)) + 73|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)>=(3); @@ -188071,7 +190093,7 @@ function _sqlite3BtreeCursorRestore($pCur,$pDifferentRow) { STACKTOP = sp;return ($26|0); } $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 73|0); + $16 = ((($15)) + 73|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = ($18|0)!=(1); @@ -188079,7 +190101,7 @@ function _sqlite3BtreeCursorRestore($pCur,$pDifferentRow) { label = 7; } else { $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 68|0); + $21 = ((($20)) + 68|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0); if ($23) { @@ -188111,50 +190133,50 @@ function _vdbeSorterRowkey($pSorter,$pnKey) { HEAP32[$0>>2] = $pSorter; HEAP32[$1>>2] = $pnKey; $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 56|0); + $3 = ((($2)) + 56|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)!=(0); $6 = HEAP32[$0>>2]|0; if ($5) { - $7 = (($6) + 20|0); + $7 = ((($6)) + 20|0); $8 = HEAP32[$7>>2]|0; - $9 = (($8) + 8|0); + $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 4|0); + $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 20|0); + $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 12|0); + $16 = ((($15)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + (($12*56)|0)|0); HEAP32[$pReader>>2] = $18; $19 = HEAP32[$pReader>>2]|0; - $20 = (($19) + 20|0); + $20 = ((($19)) + 20|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$1>>2]|0; HEAP32[$22>>2] = $21; $23 = HEAP32[$pReader>>2]|0; - $24 = (($23) + 32|0); + $24 = ((($23)) + 32|0); $25 = HEAP32[$24>>2]|0; HEAP32[$pKey>>2] = $25; $34 = HEAP32[$pKey>>2]|0; STACKTOP = sp;return ($34|0); } else { - $26 = (($6) + 36|0); + $26 = ((($6)) + 36|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$1>>2]|0; HEAP32[$29>>2] = $28; $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 36|0); + $31 = ((($30)) + 36|0); $32 = HEAP32[$31>>2]|0; - $33 = (($32) + 8|0); + $33 = ((($32)) + 8|0); HEAP32[$pKey>>2] = $33; $34 = HEAP32[$pKey>>2]|0; STACKTOP = sp;return ($34|0); } - return 0|0; + return (0)|0; } function _dropCell($pPage,$idx,$sz,$pRC) { $pPage = $pPage|0; @@ -188169,15 +190191,15 @@ function _dropCell($pPage,$idx,$sz,$pRC) { var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $hdr = 0, $pc = 0, $ptr = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pc = sp + 16|0; - $data = sp + 12|0; - $ptr = sp + 8|0; - $rc = sp + 4|0; - $hdr = sp; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp + 8|0; + $pc = sp + 32|0; + $data = sp; + $ptr = sp + 12|0; + $rc = sp + 24|0; + $hdr = sp + 20|0; HEAP32[$0>>2] = $pPage; HEAP32[$1>>2] = $idx; HEAP32[$2>>2] = $sz; @@ -188189,13 +190211,13 @@ function _dropCell($pPage,$idx,$sz,$pRC) { STACKTOP = sp;return; } $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 56|0); + $8 = ((($7)) + 56|0); $9 = HEAP32[$8>>2]|0; HEAP32[$data>>2] = $9; $10 = HEAP32[$1>>2]|0; $11 = $10<<1; $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 64|0); + $13 = ((($12)) + 64|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + ($11)|0); HEAP32[$ptr>>2] = $15; @@ -188204,13 +190226,13 @@ function _dropCell($pPage,$idx,$sz,$pRC) { $18 = $17&255; $19 = $18 << 8; $20 = HEAP32[$ptr>>2]|0; - $21 = (($20) + 1|0); + $21 = ((($20)) + 1|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $19 | $23; HEAP32[$pc>>2] = $24; $25 = HEAP32[$0>>2]|0; - $26 = (($25) + 6|0); + $26 = ((($25)) + 6|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; HEAP32[$hdr>>2] = $28; @@ -188226,7 +190248,7 @@ function _dropCell($pPage,$idx,$sz,$pRC) { $38 = (($37) + 5)|0; $39 = HEAP32[$data>>2]|0; $40 = (($39) + ($38)|0); - $41 = (($40) + 1|0); + $41 = ((($40)) + 1|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = $36 | $43; @@ -188236,9 +190258,9 @@ function _dropCell($pPage,$idx,$sz,$pRC) { $47 = HEAP32[$2>>2]|0; $48 = (($46) + ($47))|0; $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 52|0); + $50 = ((($49)) + 52|0); $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 36|0); + $52 = ((($51)) + 36|0); $53 = HEAP32[$52>>2]|0; $54 = ($48>>>0)>($53>>>0); if (!($54)) { @@ -188258,15 +190280,15 @@ function _dropCell($pPage,$idx,$sz,$pRC) { STACKTOP = sp;return; } else { $67 = HEAP32[$0>>2]|0; - $68 = (($67) + 18|0); + $68 = ((($67)) + 18|0); $69 = HEAP16[$68>>1]|0; $70 = (($69) + -1)<<16>>16; HEAP16[$68>>1] = $70; $71 = HEAP32[$ptr>>2]|0; $72 = HEAP32[$ptr>>2]|0; - $73 = (($72) + 2|0); + $73 = ((($72)) + 2|0); $74 = HEAP32[$0>>2]|0; - $75 = (($74) + 18|0); + $75 = ((($74)) + 18|0); $76 = HEAP16[$75>>1]|0; $77 = $76&65535; $78 = HEAP32[$1>>2]|0; @@ -188274,7 +190296,7 @@ function _dropCell($pPage,$idx,$sz,$pRC) { $80 = $79<<1; _memmove(($71|0),($73|0),($80|0))|0; $81 = HEAP32[$0>>2]|0; - $82 = (($81) + 18|0); + $82 = ((($81)) + 18|0); $83 = HEAP16[$82>>1]|0; $84 = $83&65535; $85 = $84 >> 8; @@ -188285,17 +190307,17 @@ function _dropCell($pPage,$idx,$sz,$pRC) { $90 = (($89) + ($88)|0); HEAP8[$90>>0] = $86; $91 = HEAP32[$0>>2]|0; - $92 = (($91) + 18|0); + $92 = ((($91)) + 18|0); $93 = HEAP16[$92>>1]|0; $94 = $93&255; $95 = HEAP32[$hdr>>2]|0; $96 = (($95) + 3)|0; $97 = HEAP32[$data>>2]|0; $98 = (($97) + ($96)|0); - $99 = (($98) + 1|0); + $99 = ((($98)) + 1|0); HEAP8[$99>>0] = $94; $100 = HEAP32[$0>>2]|0; - $101 = (($100) + 16|0); + $101 = ((($100)) + 16|0); $102 = HEAP16[$101>>1]|0; $103 = $102&65535; $104 = (($103) + 2)|0; @@ -188329,20 +190351,20 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { var $98 = 0, $99 = 0, $cellOffset = 0, $data = 0, $end = 0, $idx = 0, $ins = 0, $j = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; + $0 = sp + 16|0; + $1 = sp + 12|0; $2 = sp + 44|0; - $3 = sp + 40|0; - $4 = sp + 36|0; - $5 = sp + 32|0; - $6 = sp + 28|0; - $idx = sp + 24|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp + 40|0; + $6 = sp + 48|0; + $idx = sp + 52|0; $j = sp + 20|0; - $end = sp + 16|0; - $ins = sp + 12|0; - $cellOffset = sp + 8|0; - $data = sp + 4|0; - $rc = sp; + $end = sp; + $ins = sp + 28|0; + $cellOffset = sp + 4|0; + $data = sp + 24|0; + $rc = sp + 8|0; HEAP32[$0>>2] = $pPage; HEAP32[$1>>2] = $i; HEAP32[$2>>2] = $pCell; @@ -188358,7 +190380,7 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { STACKTOP = sp;return; } $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 1|0); + $11 = ((($10)) + 1|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = ($13|0)!=(0); @@ -188366,13 +190388,13 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { $15 = HEAP32[$3>>2]|0; $16 = (($15) + 2)|0; $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 16|0); + $18 = ((($17)) + 16|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; $21 = ($16|0)>($20|0); if (!($21)) { $48 = HEAP32[$0>>2]|0; - $49 = (($48) + 68|0); + $49 = ((($48)) + 68|0); $50 = HEAP32[$49>>2]|0; $51 = (_sqlite3PagerWrite($50)|0); HEAP32[$rc>>2] = $51; @@ -188385,17 +190407,17 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { STACKTOP = sp;return; } $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 56|0); + $57 = ((($56)) + 56|0); $58 = HEAP32[$57>>2]|0; HEAP32[$data>>2] = $58; $59 = HEAP32[$0>>2]|0; - $60 = (($59) + 14|0); + $60 = ((($59)) + 14|0); $61 = HEAP16[$60>>1]|0; $62 = $61&65535; HEAP32[$cellOffset>>2] = $62; $63 = HEAP32[$cellOffset>>2]|0; $64 = HEAP32[$0>>2]|0; - $65 = (($64) + 18|0); + $65 = ((($64)) + 18|0); $66 = HEAP16[$65>>1]|0; $67 = $66&65535; $68 = $67<<1; @@ -188419,7 +190441,7 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { STACKTOP = sp;return; } $81 = HEAP32[$0>>2]|0; - $82 = (($81) + 18|0); + $82 = ((($81)) + 18|0); $83 = HEAP16[$82>>1]|0; $84 = (($83) + 1)<<16>>16; HEAP16[$82>>1] = $84; @@ -188428,7 +190450,7 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { $87 = $86&65535; $88 = $87&65535; $89 = HEAP32[$0>>2]|0; - $90 = (($89) + 16|0); + $90 = ((($89)) + 16|0); $91 = HEAP16[$90>>1]|0; $92 = $91&65535; $93 = (($92) - ($88))|0; @@ -188472,16 +190494,16 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { $124 = HEAP32[$ins>>2]|0; $125 = HEAP32[$data>>2]|0; $126 = (($125) + ($124)|0); - $127 = (($126) + 1|0); + $127 = ((($126)) + 1|0); HEAP8[$127>>0] = $123; $128 = HEAP32[$0>>2]|0; - $129 = (($128) + 18|0); + $129 = ((($128)) + 18|0); $130 = HEAP16[$129>>1]|0; $131 = $130&65535; $132 = $131 >> 8; $133 = $132&255; $134 = HEAP32[$0>>2]|0; - $135 = (($134) + 6|0); + $135 = ((($134)) + 6|0); $136 = HEAP8[$135>>0]|0; $137 = $136&255; $138 = (($137) + 3)|0; @@ -188489,22 +190511,22 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { $140 = (($139) + ($138)|0); HEAP8[$140>>0] = $133; $141 = HEAP32[$0>>2]|0; - $142 = (($141) + 18|0); + $142 = ((($141)) + 18|0); $143 = HEAP16[$142>>1]|0; $144 = $143&255; $145 = HEAP32[$0>>2]|0; - $146 = (($145) + 6|0); + $146 = ((($145)) + 6|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = (($148) + 3)|0; $150 = HEAP32[$data>>2]|0; $151 = (($150) + ($149)|0); - $152 = (($151) + 1|0); + $152 = ((($151)) + 1|0); HEAP8[$152>>0] = $144; $153 = HEAP32[$0>>2]|0; - $154 = (($153) + 52|0); + $154 = ((($153)) + 52|0); $155 = HEAP32[$154>>2]|0; - $156 = (($155) + 17|0); + $156 = ((($155)) + 17|0); $157 = HEAP8[$156>>0]|0; $158 = ($157<<24>>24)!=(0); if (!($158)) { @@ -188535,7 +190557,7 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { _sqlite3Put4byte($30,$31); } $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 1|0); + $33 = ((($32)) + 1|0); $34 = HEAP8[$33>>0]|0; $35 = (($34) + 1)<<24>>24; HEAP8[$33>>0] = $35; @@ -188544,14 +190566,14 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { $37 = HEAP32[$2>>2]|0; $38 = HEAP32[$j>>2]|0; $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 32|0); + $40 = ((($39)) + 32|0); $41 = (($40) + ($38<<2)|0); HEAP32[$41>>2] = $37; $42 = HEAP32[$1>>2]|0; $43 = $42&65535; $44 = HEAP32[$j>>2]|0; $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 22|0); + $46 = ((($45)) + 22|0); $47 = (($46) + ($44<<1)|0); HEAP16[$47>>1] = $43; STACKTOP = sp;return; @@ -188568,22 +190590,22 @@ function _balance($pCur) { var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 32|0; - $rc = sp + 28|0; - $nMin = sp + 24|0; + $0 = sp; + $rc = sp + 16|0; + $nMin = sp + 8|0; $aBalanceQuickSpace = sp + 36|0; - $pFree = sp + 20|0; - $iPage = sp + 16|0; + $pFree = sp + 28|0; + $iPage = sp + 32|0; $pPage = sp + 12|0; - $pParent = sp + 8|0; + $pParent = sp + 24|0; $iIdx = sp + 4|0; - $pSpace = sp; + $pSpace = sp + 20|0; HEAP32[$0>>2] = $pCur; HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); + $2 = ((($1)) + 4|0); $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 36|0); + $4 = ((($3)) + 36|0); $5 = HEAP32[$4>>2]|0; $6 = $5<<1; $7 = (($6>>>0) / 3)&-1; @@ -188591,20 +190613,20 @@ function _balance($pCur) { HEAP32[$pFree>>2] = 0; while(1) { $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 76|0); + $9 = ((($8)) + 76|0); $10 = HEAP16[$9>>1]|0; $11 = $10 << 16 >> 16; HEAP32[$iPage>>2] = $11; $12 = HEAP32[$iPage>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 120|0); + $14 = ((($13)) + 120|0); $15 = (($14) + ($12<<2)|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pPage>>2] = $16; $17 = HEAP32[$iPage>>2]|0; $18 = ($17|0)==(0); $19 = HEAP32[$pPage>>2]|0; - $20 = (($19) + 1|0); + $20 = ((($19)) + 1|0); $21 = HEAP8[$20>>0]|0; if ($18) { $22 = ($21<<24>>24)!=(0); @@ -188613,22 +190635,22 @@ function _balance($pCur) { } $23 = HEAP32[$pPage>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 120|0); - $26 = (($25) + 4|0); + $25 = ((($24)) + 120|0); + $26 = ((($25)) + 4|0); $27 = (_balance_deeper($23,$26)|0); HEAP32[$rc>>2] = $27; $28 = HEAP32[$rc>>2]|0; $29 = ($28|0)==(0); if ($29) { $30 = HEAP32[$0>>2]|0; - $31 = (($30) + 76|0); + $31 = ((($30)) + 76|0); HEAP16[$31>>1] = 1; $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 78|0); + $33 = ((($32)) + 78|0); HEAP16[$33>>1] = 0; $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 78|0); - $36 = (($35) + 2|0); + $35 = ((($34)) + 78|0); + $36 = ((($35)) + 2|0); HEAP16[$36>>1] = 0; } } else { @@ -188636,7 +190658,7 @@ function _balance($pCur) { $38 = ($37|0)==(0); if ($38) { $39 = HEAP32[$pPage>>2]|0; - $40 = (($39) + 16|0); + $40 = ((($39)) + 16|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; $43 = HEAP32[$nMin>>2]|0; @@ -188648,20 +190670,20 @@ function _balance($pCur) { $45 = HEAP32[$iPage>>2]|0; $46 = (($45) - 1)|0; $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 120|0); + $48 = ((($47)) + 120|0); $49 = (($48) + ($46<<2)|0); $50 = HEAP32[$49>>2]|0; HEAP32[$pParent>>2] = $50; $51 = HEAP32[$iPage>>2]|0; $52 = (($51) - 1)|0; $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 78|0); + $54 = ((($53)) + 78|0); $55 = (($54) + ($52<<1)|0); $56 = HEAP16[$55>>1]|0; $57 = $56&65535; HEAP32[$iIdx>>2] = $57; $58 = HEAP32[$pParent>>2]|0; - $59 = (($58) + 68|0); + $59 = ((($58)) + 68|0); $60 = HEAP32[$59>>2]|0; $61 = (_sqlite3PagerWrite($60)|0); HEAP32[$rc>>2] = $61; @@ -188670,34 +190692,34 @@ function _balance($pCur) { do { if ($63) { $64 = HEAP32[$pPage>>2]|0; - $65 = (($64) + 3|0); + $65 = ((($64)) + 3|0); $66 = HEAP8[$65>>0]|0; $67 = $66&255; $68 = ($67|0)!=(0); if ($68) { $69 = HEAP32[$pPage>>2]|0; - $70 = (($69) + 1|0); + $70 = ((($69)) + 1|0); $71 = HEAP8[$70>>0]|0; $72 = $71&255; $73 = ($72|0)==(1); if ($73) { $74 = HEAP32[$pPage>>2]|0; - $75 = (($74) + 22|0); + $75 = ((($74)) + 22|0); $76 = HEAP16[$75>>1]|0; $77 = $76&65535; $78 = HEAP32[$pPage>>2]|0; - $79 = (($78) + 18|0); + $79 = ((($78)) + 18|0); $80 = HEAP16[$79>>1]|0; $81 = $80&65535; $82 = ($77|0)==($81|0); if ($82) { $83 = HEAP32[$pParent>>2]|0; - $84 = (($83) + 72|0); + $84 = ((($83)) + 72|0); $85 = HEAP32[$84>>2]|0; $86 = ($85|0)!=(1); if ($86) { $87 = HEAP32[$pParent>>2]|0; - $88 = (($87) + 18|0); + $88 = ((($87)) + 18|0); $89 = HEAP16[$88>>1]|0; $90 = $89&65535; $91 = HEAP32[$iIdx>>2]|0; @@ -188714,9 +190736,9 @@ function _balance($pCur) { } } $96 = HEAP32[$0>>2]|0; - $97 = (($96) + 4|0); + $97 = ((($96)) + 4|0); $98 = HEAP32[$97>>2]|0; - $99 = (($98) + 32|0); + $99 = ((($98)) + 32|0); $100 = HEAP32[$99>>2]|0; $101 = (_sqlite3PageMalloc($100)|0); HEAP32[$pSpace>>2] = $101; @@ -188727,7 +190749,7 @@ function _balance($pCur) { $106 = ($105|0)==(1); $107 = $106&1; $108 = HEAP32[$0>>2]|0; - $109 = (($108) + 74|0); + $109 = ((($108)) + 74|0); $110 = HEAP8[$109>>0]|0; $111 = $110&255; $112 = (_balance_nonroot($102,$103,$104,$107,$111)|0); @@ -188743,12 +190765,12 @@ function _balance($pCur) { } } while(0); $117 = HEAP32[$pPage>>2]|0; - $118 = (($117) + 1|0); + $118 = ((($117)) + 1|0); HEAP8[$118>>0] = 0; $119 = HEAP32[$pPage>>2]|0; _releasePage($119); $120 = HEAP32[$0>>2]|0; - $121 = (($120) + 76|0); + $121 = ((($120)) + 76|0); $122 = HEAP16[$121>>1]|0; $123 = (($122) + -1)<<16>>16; HEAP16[$121>>1] = $123; @@ -188780,23 +190802,23 @@ function _balance_deeper($pRoot,$ppChild) { var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $pChild = sp + 8|0; - $pgnoChild = sp + 4|0; - $pBt = sp; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $rc = sp + 24|0; + $pChild = sp + 4|0; + $pgnoChild = sp; + $pBt = sp + 12|0; HEAP32[$1>>2] = $pRoot; HEAP32[$2>>2] = $ppChild; HEAP32[$pChild>>2] = 0; HEAP32[$pgnoChild>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 52|0); + $4 = ((($3)) + 52|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pBt>>2] = $5; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 68|0); + $7 = ((($6)) + 68|0); $8 = HEAP32[$7>>2]|0; $9 = (_sqlite3PagerWrite($8)|0); HEAP32[$rc>>2] = $9; @@ -188805,7 +190827,7 @@ function _balance_deeper($pRoot,$ppChild) { if ($11) { $12 = HEAP32[$pBt>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 72|0); + $14 = ((($13)) + 72|0); $15 = HEAP32[$14>>2]|0; $16 = (_allocateBtreePage($12,$pChild,$pgnoChild,$15,0)|0); HEAP32[$rc>>2] = $16; @@ -188813,14 +190835,14 @@ function _balance_deeper($pRoot,$ppChild) { $18 = HEAP32[$pChild>>2]|0; _copyNodeContent($17,$18,$rc); $19 = HEAP32[$pBt>>2]|0; - $20 = (($19) + 17|0); + $20 = ((($19)) + 17|0); $21 = HEAP8[$20>>0]|0; $22 = ($21<<24>>24)!=(0); if ($22) { $23 = HEAP32[$pBt>>2]|0; $24 = HEAP32[$pgnoChild>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 72|0); + $26 = ((($25)) + 72|0); $27 = HEAP32[$26>>2]|0; _ptrmapPut($23,$24,5,$27,$rc); } @@ -188838,46 +190860,46 @@ function _balance_deeper($pRoot,$ppChild) { STACKTOP = sp;return ($75|0); } else { $33 = HEAP32[$pChild>>2]|0; - $34 = (($33) + 22|0); + $34 = ((($33)) + 22|0); $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 22|0); + $36 = ((($35)) + 22|0); $37 = HEAP32[$1>>2]|0; - $38 = (($37) + 1|0); + $38 = ((($37)) + 1|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = $40<<1; _memcpy(($34|0),($36|0),($41|0))|0; $42 = HEAP32[$pChild>>2]|0; - $43 = (($42) + 32|0); + $43 = ((($42)) + 32|0); $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 32|0); + $45 = ((($44)) + 32|0); $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 1|0); + $47 = ((($46)) + 1|0); $48 = HEAP8[$47>>0]|0; $49 = $48&255; $50 = $49<<2; _memcpy(($43|0),($45|0),($50|0))|0; $51 = HEAP32[$1>>2]|0; - $52 = (($51) + 1|0); + $52 = ((($51)) + 1|0); $53 = HEAP8[$52>>0]|0; $54 = HEAP32[$pChild>>2]|0; - $55 = (($54) + 1|0); + $55 = ((($54)) + 1|0); HEAP8[$55>>0] = $53; $56 = HEAP32[$1>>2]|0; $57 = HEAP32[$pChild>>2]|0; - $58 = (($57) + 56|0); + $58 = ((($57)) + 56|0); $59 = HEAP32[$58>>2]|0; $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = $61 & -9; _zeroPage($56,$62); $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 6|0); + $64 = ((($63)) + 6|0); $65 = HEAP8[$64>>0]|0; $66 = $65&255; $67 = (($66) + 8)|0; $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 56|0); + $69 = ((($68)) + 56|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + ($67)|0); $72 = HEAP32[$pgnoChild>>2]|0; @@ -188889,7 +190911,7 @@ function _balance_deeper($pRoot,$ppChild) { $75 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($75|0); } - return 0|0; + return (0)|0; } function _balance_quick($pParent,$pPage,$pSpace) { $pParent = $pParent|0; @@ -188905,27 +190927,27 @@ function _balance_quick($pParent,$pPage,$pSpace) { var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $pBt = sp + 24|0; - $pNew = sp + 20|0; - $rc = sp + 16|0; - $pgnoNew = sp + 12|0; - $pOut = sp + 8|0; - $pCell = sp + 4|0; + $0 = sp + 12|0; + $1 = sp + 16|0; + $2 = sp + 28|0; + $3 = sp + 4|0; + $pBt = sp + 32|0; + $pNew = sp + 36|0; + $rc = sp + 40|0; + $pgnoNew = sp + 24|0; + $pOut = sp + 20|0; + $pCell = sp + 8|0; $szCell = sp + 44|0; $pStop = sp; HEAP32[$1>>2] = $pParent; HEAP32[$2>>2] = $pPage; HEAP32[$3>>2] = $pSpace; $4 = HEAP32[$2>>2]|0; - $5 = (($4) + 52|0); + $5 = ((($4)) + 52|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pBt>>2] = $6; $7 = HEAP32[$2>>2]|0; - $8 = (($7) + 18|0); + $8 = ((($7)) + 18|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = ($10|0)==(0); @@ -188942,10 +190964,10 @@ function _balance_quick($pParent,$pPage,$pSpace) { $16 = ($15|0)==(0); if ($16) { $17 = HEAP32[$3>>2]|0; - $18 = (($17) + 4|0); + $18 = ((($17)) + 4|0); HEAP32[$pOut>>2] = $18; $19 = HEAP32[$2>>2]|0; - $20 = (($19) + 32|0); + $20 = ((($19)) + 32|0); $21 = HEAP32[$20>>2]|0; HEAP32[$pCell>>2] = $21; $22 = HEAP32[$2>>2]|0; @@ -188957,20 +190979,20 @@ function _balance_quick($pParent,$pPage,$pSpace) { $26 = HEAP32[$pNew>>2]|0; _assemblePage($26,1,$pCell,$szCell); $27 = HEAP32[$pBt>>2]|0; - $28 = (($27) + 17|0); + $28 = ((($27)) + 17|0); $29 = HEAP8[$28>>0]|0; $30 = ($29<<24>>24)!=(0); if ($30) { $31 = HEAP32[$pBt>>2]|0; $32 = HEAP32[$pgnoNew>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 72|0); + $34 = ((($33)) + 72|0); $35 = HEAP32[$34>>2]|0; _ptrmapPut($31,$32,5,$35,$rc); $36 = HEAP16[$szCell>>1]|0; $37 = $36&65535; $38 = HEAP32[$pNew>>2]|0; - $39 = (($38) + 12|0); + $39 = ((($38)) + 12|0); $40 = HEAP16[$39>>1]|0; $41 = $40&65535; $42 = ($37|0)>($41|0); @@ -188981,36 +191003,36 @@ function _balance_quick($pParent,$pPage,$pSpace) { } } $45 = HEAP32[$2>>2]|0; - $46 = (($45) + 56|0); + $46 = ((($45)) + 56|0); $47 = HEAP32[$46>>2]|0; $48 = HEAP32[$2>>2]|0; - $49 = (($48) + 20|0); + $49 = ((($48)) + 20|0); $50 = HEAP16[$49>>1]|0; $51 = $50&65535; $52 = HEAP32[$2>>2]|0; - $53 = (($52) + 18|0); + $53 = ((($52)) + 18|0); $54 = HEAP16[$53>>1]|0; $55 = $54&65535; $56 = (($55) - 1)|0; $57 = $56<<1; $58 = HEAP32[$2>>2]|0; - $59 = (($58) + 64|0); + $59 = ((($58)) + 64|0); $60 = HEAP32[$59>>2]|0; $61 = (($60) + ($57)|0); $62 = HEAP8[$61>>0]|0; $63 = $62&255; $64 = $63 << 8; $65 = HEAP32[$2>>2]|0; - $66 = (($65) + 18|0); + $66 = ((($65)) + 18|0); $67 = HEAP16[$66>>1]|0; $68 = $67&65535; $69 = (($68) - 1)|0; $70 = $69<<1; $71 = HEAP32[$2>>2]|0; - $72 = (($71) + 64|0); + $72 = ((($71)) + 64|0); $73 = HEAP32[$72>>2]|0; $74 = (($73) + ($70)|0); - $75 = (($74) + 1|0); + $75 = ((($74)) + 1|0); $76 = HEAP8[$75>>0]|0; $77 = $76&255; $78 = $64 | $77; @@ -189018,11 +191040,11 @@ function _balance_quick($pParent,$pPage,$pSpace) { $80 = (($47) + ($79)|0); HEAP32[$pCell>>2] = $80; $81 = HEAP32[$pCell>>2]|0; - $82 = (($81) + 9|0); + $82 = ((($81)) + 9|0); HEAP32[$pStop>>2] = $82; while(1) { $83 = HEAP32[$pCell>>2]|0; - $84 = (($83) + 1|0); + $84 = ((($83)) + 1|0); HEAP32[$pCell>>2] = $84; $85 = HEAP8[$83>>0]|0; $86 = $85&255; @@ -189039,15 +191061,15 @@ function _balance_quick($pParent,$pPage,$pSpace) { } } $92 = HEAP32[$pCell>>2]|0; - $93 = (($92) + 9|0); + $93 = ((($92)) + 9|0); HEAP32[$pStop>>2] = $93; while(1) { $94 = HEAP32[$pCell>>2]|0; - $95 = (($94) + 1|0); + $95 = ((($94)) + 1|0); HEAP32[$pCell>>2] = $95; $96 = HEAP8[$94>>0]|0; $97 = HEAP32[$pOut>>2]|0; - $98 = (($97) + 1|0); + $98 = ((($97)) + 1|0); HEAP32[$pOut>>2] = $98; HEAP8[$97>>0] = $96; $99 = $96&255; @@ -189065,7 +191087,7 @@ function _balance_quick($pParent,$pPage,$pSpace) { } $105 = HEAP32[$1>>2]|0; $106 = HEAP32[$1>>2]|0; - $107 = (($106) + 18|0); + $107 = ((($106)) + 18|0); $108 = HEAP16[$107>>1]|0; $109 = $108&65535; $110 = HEAP32[$3>>2]|0; @@ -189075,16 +191097,16 @@ function _balance_quick($pParent,$pPage,$pSpace) { $114 = $112; $115 = (($113) - ($114))|0; $116 = HEAP32[$2>>2]|0; - $117 = (($116) + 72|0); + $117 = ((($116)) + 72|0); $118 = HEAP32[$117>>2]|0; _insertCell($105,$109,$110,$115,0,$118,$rc); $119 = HEAP32[$1>>2]|0; - $120 = (($119) + 6|0); + $120 = ((($119)) + 6|0); $121 = HEAP8[$120>>0]|0; $122 = $121&255; $123 = (($122) + 8)|0; $124 = HEAP32[$1>>2]|0; - $125 = (($124) + 56|0); + $125 = ((($124)) + 56|0); $126 = HEAP32[$125>>2]|0; $127 = (($126) + ($123)|0); $128 = HEAP32[$pgnoNew>>2]|0; @@ -189163,70 +191185,70 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { var src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 352|0; - $0 = sp + 328|0; - $1 = sp + 324|0; - $2 = sp + 320|0; - $3 = sp + 316|0; - $4 = sp + 312|0; - $5 = sp + 308|0; - $pBt = sp + 304|0; - $nCell = sp + 300|0; - $nMaxCells = sp + 296|0; - $nNew = sp + 292|0; - $nOld = sp + 288|0; - $i = sp + 284|0; - $j = sp + 280|0; - $k = sp + 276|0; - $nxDiv = sp + 272|0; - $rc = sp + 268|0; - $leafCorrection = sp + 338|0; - $leafData = sp + 264|0; - $usableSpace = sp + 260|0; - $pageFlags = sp + 256|0; - $subtotal = sp + 252|0; - $iSpace1 = sp + 248|0; - $iOvflSpace = sp + 244|0; - $szScratch = sp + 240|0; - $apOld = sp + 228|0; - $apCopy = sp + 216|0; - $apNew = sp + 196|0; - $pRight = sp + 192|0; - $apDiv = sp + 184|0; - $cntNew = sp + 160|0; - $szNew = sp + 140|0; - $apCell = sp + 136|0; - $szCell = sp + 132|0; - $aSpace1 = sp + 128|0; - $pgno = sp + 124|0; - $iOff = sp + 120|0; - $limit = sp + 116|0; - $pOld = sp + 112|0; - $aData = sp + 108|0; - $maskPage = sp + 336|0; - $cellOffset = sp + 334|0; - $sz = sp + 332|0; - $pTemp = sp + 104|0; - $szRight = sp + 100|0; - $szLeft = sp + 96|0; - $r = sp + 92|0; - $d = sp + 88|0; - $pNew = sp + 84|0; - $minV = sp + 80|0; - $minI = sp + 76|0; - $pT = sp + 72|0; - $pNew1 = sp + 68|0; - $pCell = sp + 64|0; - $pTemp2 = sp + 60|0; - $sz3 = sp + 56|0; + $0 = sp + 228|0; + $1 = sp + 24|0; + $2 = sp + 100|0; + $3 = sp + 144|0; + $4 = sp + 212|0; + $5 = sp + 116|0; + $pBt = sp + 280|0; + $nCell = sp + 32|0; + $nMaxCells = sp + 64|0; + $nNew = sp + 40|0; + $nOld = sp + 44|0; + $i = sp + 48|0; + $j = sp + 52|0; + $k = sp + 56|0; + $nxDiv = sp + 60|0; + $rc = sp + 208|0; + $leafCorrection = sp + 332|0; + $leafData = sp + 68|0; + $usableSpace = sp + 72|0; + $pageFlags = sp + 76|0; + $subtotal = sp + 80|0; + $iSpace1 = sp + 84|0; + $iOvflSpace = sp + 88|0; + $szScratch = sp + 92|0; + $apOld = sp + 320|0; + $apCopy = sp + 236|0; + $apNew = sp + 252|0; + $pRight = sp + 276|0; + $apDiv = sp + 288|0; + $cntNew = sp + 300|0; + $szNew = sp + 120|0; + $apCell = sp + 204|0; + $szCell = sp + 140|0; + $aSpace1 = sp + 272|0; + $pgno = sp + 148|0; + $iOff = sp + 152|0; + $limit = sp + 156|0; + $pOld = sp + 160|0; + $aData = sp + 164|0; + $maskPage = sp + 334|0; + $cellOffset = sp + 336|0; + $sz = sp + 338|0; + $pTemp = sp + 180|0; + $szRight = sp + 184|0; + $szLeft = sp + 188|0; + $r = sp + 192|0; + $d = sp + 196|0; + $pNew = sp + 200|0; + $minV = sp + 28|0; + $minI = sp + 220|0; + $pT = sp + 36|0; + $pNew1 = sp + 224|0; + $pCell = sp + 232|0; + $pTemp2 = sp + 104|0; + $sz3 = sp + 248|0; $info = sp; - $zChild = sp + 52|0; - $pNew4 = sp + 48|0; - $pOld5 = sp + 44|0; - $nOverflow = sp + 40|0; - $iNextOld = sp + 36|0; - $iOverflow = sp + 32|0; - $isDivider = sp + 28|0; - $key = sp + 24|0; + $zChild = sp + 96|0; + $pNew4 = sp + 216|0; + $pOld5 = sp + 112|0; + $nOverflow = sp + 296|0; + $iNextOld = sp + 176|0; + $iOverflow = sp + 172|0; + $isDivider = sp + 168|0; + $key = sp + 108|0; HEAP32[$1>>2] = $pParent; HEAP32[$2>>2] = $iParentIdx; HEAP32[$3>>2] = $aOvflSpace; @@ -189240,7 +191262,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$iOvflSpace>>2] = 0; HEAP32[$apCell>>2] = 0; $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 52|0); + $7 = ((($6)) + 52|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pBt>>2] = $8; $9 = HEAP32[$3>>2]|0; @@ -189251,11 +191273,11 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { STACKTOP = sp;return ($1077|0); } $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 1|0); + $12 = ((($11)) + 1|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 18|0); + $16 = ((($15)) + 18|0); $17 = HEAP16[$16>>1]|0; $18 = $17&65535; $19 = (($14) + ($18))|0; @@ -189300,44 +191322,44 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $38 = HEAP32[$nxDiv>>2]|0; $39 = (($37) + ($38))|0; $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 1|0); + $41 = ((($40)) + 1|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = (($39) - ($43))|0; $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 18|0); + $46 = ((($45)) + 18|0); $47 = HEAP16[$46>>1]|0; $48 = $47&65535; $49 = ($44|0)==($48|0); $50 = HEAP32[$1>>2]|0; if ($49) { - $51 = (($50) + 6|0); + $51 = ((($50)) + 6|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; $54 = (($53) + 8)|0; $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 56|0); + $56 = ((($55)) + 56|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + ($54)|0); HEAP32[$pRight>>2] = $58; } else { - $59 = (($50) + 56|0); + $59 = ((($50)) + 56|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 20|0); + $62 = ((($61)) + 20|0); $63 = HEAP16[$62>>1]|0; $64 = $63&65535; $65 = HEAP32[$i>>2]|0; $66 = HEAP32[$nxDiv>>2]|0; $67 = (($65) + ($66))|0; $68 = HEAP32[$1>>2]|0; - $69 = (($68) + 1|0); + $69 = ((($68)) + 1|0); $70 = HEAP8[$69>>0]|0; $71 = $70&255; $72 = (($67) - ($71))|0; $73 = $72<<1; $74 = HEAP32[$1>>2]|0; - $75 = (($74) + 64|0); + $75 = ((($74)) + 64|0); $76 = HEAP32[$75>>2]|0; $77 = (($76) + ($73)|0); $78 = HEAP8[$77>>0]|0; @@ -189347,16 +191369,16 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $82 = HEAP32[$nxDiv>>2]|0; $83 = (($81) + ($82))|0; $84 = HEAP32[$1>>2]|0; - $85 = (($84) + 1|0); + $85 = ((($84)) + 1|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; $88 = (($83) - ($87))|0; $89 = $88<<1; $90 = HEAP32[$1>>2]|0; - $91 = (($90) + 64|0); + $91 = ((($90)) + 64|0); $92 = HEAP32[$91>>2]|0; $93 = (($92) + ($89)|0); - $94 = (($93) + 1|0); + $94 = ((($93)) + 1|0); $95 = HEAP8[$94>>0]|0; $96 = $95&255; $97 = $80 | $96; @@ -189383,14 +191405,14 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $112 = HEAP32[$i>>2]|0; $113 = (($apOld) + ($112<<2)|0); $114 = HEAP32[$113>>2]|0; - $115 = (($114) + 18|0); + $115 = ((($114)) + 18|0); $116 = HEAP16[$115>>1]|0; $117 = $116&65535; $118 = (1 + ($117))|0; $119 = HEAP32[$i>>2]|0; $120 = (($apOld) + ($119<<2)|0); $121 = HEAP32[$120>>2]|0; - $122 = (($121) + 1|0); + $122 = ((($121)) + 1|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = (($118) + ($124))|0; @@ -189409,19 +191431,19 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $132 = HEAP32[$nxDiv>>2]|0; $133 = (($131) + ($132))|0; $134 = HEAP32[$1>>2]|0; - $135 = (($134) + 22|0); + $135 = ((($134)) + 22|0); $136 = HEAP16[$135>>1]|0; $137 = $136&65535; $138 = ($133|0)==($137|0); if ($138) { $139 = HEAP32[$1>>2]|0; - $140 = (($139) + 1|0); + $140 = ((($139)) + 1|0); $141 = HEAP8[$140>>0]|0; $142 = $141&255; $143 = ($142|0)!=(0); if ($143) { $144 = HEAP32[$1>>2]|0; - $145 = (($144) + 32|0); + $145 = ((($144)) + 32|0); $146 = HEAP32[$145>>2]|0; $147 = HEAP32[$i>>2]|0; $148 = (($apDiv) + ($147<<2)|0); @@ -189441,29 +191463,29 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $160 = (($szNew) + ($159<<2)|0); HEAP32[$160>>2] = $158; $161 = HEAP32[$1>>2]|0; - $162 = (($161) + 1|0); + $162 = ((($161)) + 1|0); HEAP8[$162>>0] = 0; continue; } } $163 = HEAP32[$1>>2]|0; - $164 = (($163) + 56|0); + $164 = ((($163)) + 56|0); $165 = HEAP32[$164>>2]|0; $166 = HEAP32[$1>>2]|0; - $167 = (($166) + 20|0); + $167 = ((($166)) + 20|0); $168 = HEAP16[$167>>1]|0; $169 = $168&65535; $170 = HEAP32[$i>>2]|0; $171 = HEAP32[$nxDiv>>2]|0; $172 = (($170) + ($171))|0; $173 = HEAP32[$1>>2]|0; - $174 = (($173) + 1|0); + $174 = ((($173)) + 1|0); $175 = HEAP8[$174>>0]|0; $176 = $175&255; $177 = (($172) - ($176))|0; $178 = $177<<1; $179 = HEAP32[$1>>2]|0; - $180 = (($179) + 64|0); + $180 = ((($179)) + 64|0); $181 = HEAP32[$180>>2]|0; $182 = (($181) + ($178)|0); $183 = HEAP8[$182>>0]|0; @@ -189473,16 +191495,16 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $187 = HEAP32[$nxDiv>>2]|0; $188 = (($186) + ($187))|0; $189 = HEAP32[$1>>2]|0; - $190 = (($189) + 1|0); + $190 = ((($189)) + 1|0); $191 = HEAP8[$190>>0]|0; $192 = $191&255; $193 = (($188) - ($192))|0; $194 = $193<<1; $195 = HEAP32[$1>>2]|0; - $196 = (($195) + 64|0); + $196 = ((($195)) + 64|0); $197 = HEAP32[$196>>2]|0; $198 = (($197) + ($194)|0); - $199 = (($198) + 1|0); + $199 = ((($198)) + 1|0); $200 = HEAP8[$199>>0]|0; $201 = $200&255; $202 = $185 | $201; @@ -189506,7 +191528,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $218 = (($szNew) + ($217<<2)|0); HEAP32[$218>>2] = $216; $219 = HEAP32[$pBt>>2]|0; - $220 = (($219) + 22|0); + $220 = ((($219)) + 22|0); $221 = HEAP16[$220>>1]|0; $222 = $221&65535; $223 = $222 & 4; @@ -189517,7 +191539,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $227 = HEAP32[$226>>2]|0; $228 = $227; $229 = HEAP32[$1>>2]|0; - $230 = (($229) + 56|0); + $230 = ((($229)) + 56|0); $231 = HEAP32[$230>>2]|0; $232 = $231; $233 = (($228) - ($232))|0; @@ -189528,7 +191550,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $237 = HEAP32[$236>>2]|0; $238 = (($234) + ($237))|0; $239 = HEAP32[$pBt>>2]|0; - $240 = (($239) + 36|0); + $240 = ((($239)) + 36|0); $241 = HEAP32[$240>>2]|0; $242 = ($238|0)>($241|0); if ($242) { @@ -189549,7 +191571,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $257 = (($apDiv) + ($256<<2)|0); $258 = HEAP32[$257>>2]|0; $259 = HEAP32[$1>>2]|0; - $260 = (($259) + 56|0); + $260 = ((($259)) + 56|0); $261 = HEAP32[$260>>2]|0; $262 = $258; $263 = $261; @@ -189565,7 +191587,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $271 = HEAP32[$nxDiv>>2]|0; $272 = (($270) + ($271))|0; $273 = HEAP32[$1>>2]|0; - $274 = (($273) + 1|0); + $274 = ((($273)) + 1|0); $275 = HEAP8[$274>>0]|0; $276 = $275&255; $277 = (($272) - ($276))|0; @@ -189595,7 +191617,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $283 = $282 & -4; HEAP32[$nMaxCells>>2] = $283; $284 = HEAP32[$pBt>>2]|0; - $285 = (($284) + 32|0); + $285 = ((($284)) + 32|0); $286 = HEAP32[$285>>2]|0; $287 = (($286) + 80)|0; HEAP32[$k>>2] = $287; @@ -189605,7 +191627,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $291 = $290<<1; $292 = (($289) + ($291))|0; $293 = HEAP32[$pBt>>2]|0; - $294 = (($293) + 32|0); + $294 = ((($293)) + 32|0); $295 = HEAP32[$294>>2]|0; $296 = (($292) + ($295))|0; $297 = HEAP32[$k>>2]|0; @@ -189631,14 +191653,14 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $310 = (($309) + ($308<<1)|0); HEAP32[$aSpace1>>2] = $310; $311 = HEAP32[$apOld>>2]|0; - $312 = (($311) + 5|0); + $312 = ((($311)) + 5|0); $313 = HEAP8[$312>>0]|0; $314 = $313&255; $315 = $314<<2; $316 = $315&65535; HEAP16[$leafCorrection>>1] = $316; $317 = HEAP32[$apOld>>2]|0; - $318 = (($317) + 3|0); + $318 = ((($317)) + 3|0); $319 = HEAP8[$318>>0]|0; $320 = $319&255; HEAP32[$leafData>>2] = $320; @@ -189651,7 +191673,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { if (!($323)) { break; } - $325 = (($324) + 32|0); + $325 = ((($324)) + 32|0); $326 = HEAP32[$325>>2]|0; $327 = HEAP32[$k>>2]|0; $328 = HEAP32[$i>>2]|0; @@ -189667,36 +191689,36 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $336 = HEAP32[$i>>2]|0; $337 = (($apOld) + ($336<<2)|0); $338 = HEAP32[$337>>2]|0; - dest=$335+0|0; src=$338+0|0; stop=dest+76|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$335; src=$338; stop=dest+76|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $339 = HEAP32[$pOld>>2]|0; - $340 = (($339) + 76|0); + $340 = ((($339)) + 76|0); $341 = HEAP32[$pOld>>2]|0; - $342 = (($341) + 56|0); + $342 = ((($341)) + 56|0); HEAP32[$342>>2] = $340; $343 = HEAP32[$pOld>>2]|0; - $344 = (($343) + 56|0); + $344 = ((($343)) + 56|0); $345 = HEAP32[$344>>2]|0; $346 = HEAP32[$i>>2]|0; $347 = (($apOld) + ($346<<2)|0); $348 = HEAP32[$347>>2]|0; - $349 = (($348) + 56|0); + $349 = ((($348)) + 56|0); $350 = HEAP32[$349>>2]|0; $351 = HEAP32[$pBt>>2]|0; - $352 = (($351) + 32|0); + $352 = ((($351)) + 32|0); $353 = HEAP32[$352>>2]|0; _memcpy(($345|0),($350|0),($353|0))|0; $354 = HEAP32[$pOld>>2]|0; - $355 = (($354) + 18|0); + $355 = ((($354)) + 18|0); $356 = HEAP16[$355>>1]|0; $357 = $356&65535; $358 = HEAP32[$pOld>>2]|0; - $359 = (($358) + 1|0); + $359 = ((($358)) + 1|0); $360 = HEAP8[$359>>0]|0; $361 = $360&255; $362 = (($357) + ($361))|0; HEAP32[$limit>>2] = $362; $363 = HEAP32[$pOld>>2]|0; - $364 = (($363) + 1|0); + $364 = ((($363)) + 1|0); $365 = HEAP8[$364>>0]|0; $366 = $365&255; $367 = ($366|0)>(0); @@ -189736,15 +191758,15 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { } } else { $390 = HEAP32[$pOld>>2]|0; - $391 = (($390) + 56|0); + $391 = ((($390)) + 56|0); $392 = HEAP32[$391>>2]|0; HEAP32[$aData>>2] = $392; $393 = HEAP32[$pOld>>2]|0; - $394 = (($393) + 20|0); + $394 = ((($393)) + 20|0); $395 = HEAP16[$394>>1]|0; HEAP16[$maskPage>>1] = $395; $396 = HEAP32[$pOld>>2]|0; - $397 = (($396) + 14|0); + $397 = ((($396)) + 14|0); $398 = HEAP16[$397>>1]|0; HEAP16[$cellOffset>>1] = $398; HEAP32[$j>>2] = 0; @@ -189775,7 +191797,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $419 = $418<<1; $420 = (($417) + ($419))|0; $421 = (($415) + ($420)|0); - $422 = (($421) + 1|0); + $422 = ((($421)) + 1|0); $423 = HEAP8[$422>>0]|0; $424 = $423&255; $425 = $414 | $424; @@ -189860,7 +191882,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $489 = (($488) + ($487<<1)|0); HEAP16[$489>>1] = $486; $490 = HEAP32[$pOld>>2]|0; - $491 = (($490) + 5|0); + $491 = ((($490)) + 5|0); $492 = HEAP8[$491>>0]|0; $493 = ($492<<24>>24)!=(0); $494 = HEAP32[$nCell>>2]|0; @@ -189881,10 +191903,10 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $496 = (($495) + ($494<<2)|0); $497 = HEAP32[$496>>2]|0; $498 = HEAP32[$pOld>>2]|0; - $499 = (($498) + 56|0); + $499 = ((($498)) + 56|0); $500 = HEAP32[$499>>2]|0; - $501 = (($500) + 8|0); - ;HEAP8[$497+0>>0]=HEAP8[$501+0>>0]|0;HEAP8[$497+1>>0]=HEAP8[$501+1>>0]|0;HEAP8[$497+2>>0]=HEAP8[$501+2>>0]|0;HEAP8[$497+3>>0]=HEAP8[$501+3>>0]|0; + $501 = ((($500)) + 8|0); + ;HEAP8[$497>>0]=HEAP8[$501>>0]|0;HEAP8[$497+1>>0]=HEAP8[$501+1>>0]|0;HEAP8[$497+2>>0]=HEAP8[$501+2>>0]|0;HEAP8[$497+3>>0]=HEAP8[$501+3>>0]|0; } $510 = HEAP32[$nCell>>2]|0; $511 = (($510) + 1)|0; @@ -189894,7 +191916,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $513 = (($512) + 1)|0; HEAP32[$i>>2] = $513; } - $514 = (($324) + 36|0); + $514 = ((($324)) + 36|0); $515 = HEAP32[$514>>2]|0; $516 = (($515) - 12)|0; $517 = HEAP16[$leafCorrection>>1]|0; @@ -190085,7 +192107,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $644; } $645 = HEAP32[$apOld>>2]|0; - $646 = (($645) + 72|0); + $646 = ((($645)) + 72|0); $647 = HEAP32[$646>>2]|0; $648 = ($647>>>0)<=(1); if ($648) { @@ -190094,7 +192116,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { break; } $650 = HEAP32[$apOld>>2]|0; - $651 = (($650) + 56|0); + $651 = ((($650)) + 56|0); $652 = HEAP32[$651>>2]|0; $653 = HEAP8[$652>>0]|0; $654 = $653&255; @@ -190122,7 +192144,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $667 = (($apOld) + ($666<<2)|0); HEAP32[$667>>2] = 0; $668 = HEAP32[$pNew>>2]|0; - $669 = (($668) + 68|0); + $669 = ((($668)) + 68|0); $670 = HEAP32[$669>>2]|0; $671 = (_sqlite3PagerWrite($670)|0); HEAP32[$rc>>2] = $671; @@ -190155,16 +192177,16 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $688 = (($687) + 1)|0; HEAP32[$nNew>>2] = $688; $689 = HEAP32[$pBt>>2]|0; - $690 = (($689) + 17|0); + $690 = ((($689)) + 17|0); $691 = HEAP8[$690>>0]|0; $692 = ($691<<24>>24)!=(0); if ($692) { $693 = HEAP32[$pBt>>2]|0; $694 = HEAP32[$pNew>>2]|0; - $695 = (($694) + 72|0); + $695 = ((($694)) + 72|0); $696 = HEAP32[$695>>2]|0; $697 = HEAP32[$1>>2]|0; - $698 = (($697) + 72|0); + $698 = ((($697)) + 72|0); $699 = HEAP32[$698>>2]|0; _ptrmapPut($693,$696,5,$699,$rc); $700 = HEAP32[$rc>>2]|0; @@ -190217,7 +192239,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $723 = HEAP32[$i>>2]|0; $724 = (($apNew) + ($723<<2)|0); $725 = HEAP32[$724>>2]|0; - $726 = (($725) + 72|0); + $726 = ((($725)) + 72|0); $727 = HEAP32[$726>>2]|0; HEAP32[$minV>>2] = $727; $728 = HEAP32[$i>>2]|0; @@ -190235,7 +192257,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $734 = HEAP32[$j>>2]|0; $735 = (($apNew) + ($734<<2)|0); $736 = HEAP32[$735>>2]|0; - $737 = (($736) + 72|0); + $737 = ((($736)) + 72|0); $738 = HEAP32[$737>>2]|0; $739 = HEAP32[$minV>>2]|0; $740 = ($738>>>0)<($739>>>0); @@ -190245,7 +192267,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $742 = HEAP32[$j>>2]|0; $743 = (($apNew) + ($742<<2)|0); $744 = HEAP32[$743>>2]|0; - $745 = (($744) + 72|0); + $745 = ((($744)) + 72|0); $746 = HEAP32[$745>>2]|0; HEAP32[$minV>>2] = $746; } @@ -190281,7 +192303,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $767 = (($766) - 1)|0; $768 = (($apNew) + ($767<<2)|0); $769 = HEAP32[$768>>2]|0; - $770 = (($769) + 72|0); + $770 = ((($769)) + 72|0); $771 = HEAP32[$770>>2]|0; _sqlite3Put4byte($765,$771); HEAP32[$j>>2] = 0; @@ -190340,7 +192362,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $812 = (($811) + ($810)|0); HEAP32[$pTemp2>>2] = $812; $813 = HEAP32[$pNew1>>2]|0; - $814 = (($813) + 5|0); + $814 = ((($813)) + 5|0); $815 = HEAP8[$814>>0]|0; $816 = ($815<<24>>24)!=(0); do { @@ -190360,7 +192382,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $831 = HEAP32[$pTemp2>>2]|0; HEAP32[$pCell>>2] = $831; $832 = HEAP32[$pCell>>2]|0; - $833 = (($832) + 4|0); + $833 = ((($832)) + 4|0); $834 = $info; $835 = $834; $836 = HEAP32[$835>>2]|0; @@ -190374,7 +192396,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { break; } $842 = HEAP32[$pCell>>2]|0; - $843 = (($842) + -4|0); + $843 = ((($842)) + -4|0); HEAP32[$pCell>>2] = $843; $844 = HEAP32[$j>>2]|0; $845 = HEAP32[$szCell>>2]|0; @@ -190391,11 +192413,11 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { } } else { $817 = HEAP32[$pNew1>>2]|0; - $818 = (($817) + 56|0); + $818 = ((($817)) + 56|0); $819 = HEAP32[$818>>2]|0; - $820 = (($819) + 8|0); + $820 = ((($819)) + 8|0); $821 = HEAP32[$pCell>>2]|0; - ;HEAP8[$820+0>>0]=HEAP8[$821+0>>0]|0;HEAP8[$820+1>>0]=HEAP8[$821+1>>0]|0;HEAP8[$820+2>>0]=HEAP8[$821+2>>0]|0;HEAP8[$820+3>>0]=HEAP8[$821+3>>0]|0; + ;HEAP8[$820>>0]=HEAP8[$821>>0]|0;HEAP8[$820+1>>0]=HEAP8[$821+1>>0]|0;HEAP8[$820+2>>0]=HEAP8[$821+2>>0]|0;HEAP8[$820+3>>0]=HEAP8[$821+3>>0]|0; } } while(0); $854 = HEAP32[$sz3>>2]|0; @@ -190408,7 +192430,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $860 = HEAP32[$sz3>>2]|0; $861 = HEAP32[$pTemp2>>2]|0; $862 = HEAP32[$pNew1>>2]|0; - $863 = (($862) + 72|0); + $863 = ((($862)) + 72|0); $864 = HEAP32[$863>>2]|0; _insertCell($857,$858,$859,$860,$861,$864,$rc); $865 = HEAP32[$rc>>2]|0; @@ -190435,35 +192457,35 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $877 = (($876) - 1)|0; $878 = (($apCopy) + ($877<<2)|0); $879 = HEAP32[$878>>2]|0; - $880 = (($879) + 56|0); + $880 = ((($879)) + 56|0); $881 = HEAP32[$880>>2]|0; - $882 = (($881) + 8|0); + $882 = ((($881)) + 8|0); HEAP32[$zChild>>2] = $882; $883 = HEAP32[$nNew>>2]|0; $884 = (($883) - 1)|0; $885 = (($apNew) + ($884<<2)|0); $886 = HEAP32[$885>>2]|0; - $887 = (($886) + 56|0); + $887 = ((($886)) + 56|0); $888 = HEAP32[$887>>2]|0; - $889 = (($888) + 8|0); + $889 = ((($888)) + 8|0); $890 = HEAP32[$zChild>>2]|0; - ;HEAP8[$889+0>>0]=HEAP8[$890+0>>0]|0;HEAP8[$889+1>>0]=HEAP8[$890+1>>0]|0;HEAP8[$889+2>>0]=HEAP8[$890+2>>0]|0;HEAP8[$889+3>>0]=HEAP8[$890+3>>0]|0; + ;HEAP8[$889>>0]=HEAP8[$890>>0]|0;HEAP8[$889+1>>0]=HEAP8[$890+1>>0]|0;HEAP8[$889+2>>0]=HEAP8[$890+2>>0]|0;HEAP8[$889+3>>0]=HEAP8[$890+3>>0]|0; } $891 = HEAP32[$4>>2]|0; $892 = ($891|0)!=(0); if ($892) { $893 = HEAP32[$1>>2]|0; - $894 = (($893) + 18|0); + $894 = ((($893)) + 18|0); $895 = HEAP16[$894>>1]|0; $896 = $895&65535; $897 = ($896|0)==(0); if ($897) { $898 = HEAP32[$1>>2]|0; - $899 = (($898) + 6|0); + $899 = ((($898)) + 6|0); $900 = HEAP8[$899>>0]|0; $901 = $900&255; $902 = HEAP32[$apNew>>2]|0; - $903 = (($902) + 16|0); + $903 = ((($902)) + 16|0); $904 = HEAP16[$903>>1]|0; $905 = $904&65535; $906 = ($901|0)<=($905|0); @@ -190478,7 +192500,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { } } $910 = HEAP32[$pBt>>2]|0; - $911 = (($910) + 17|0); + $911 = ((($910)) + 17|0); $912 = HEAP8[$911>>0]|0; $913 = ($912<<24>>24)!=(0); if ($913) { @@ -190487,12 +192509,12 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $915 = HEAP32[$apCopy>>2]|0; HEAP32[$pOld5>>2] = $915; $916 = HEAP32[$pOld5>>2]|0; - $917 = (($916) + 1|0); + $917 = ((($916)) + 1|0); $918 = HEAP8[$917>>0]|0; $919 = $918&255; HEAP32[$nOverflow>>2] = $919; $920 = HEAP32[$pOld5>>2]|0; - $921 = (($920) + 18|0); + $921 = ((($920)) + 18|0); $922 = HEAP16[$921>>1]|0; $923 = $922&65535; $924 = HEAP32[$nOverflow>>2]|0; @@ -190502,7 +192524,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $927 = ($926|0)!=(0); if ($927) { $928 = HEAP32[$pOld5>>2]|0; - $929 = (($928) + 22|0); + $929 = ((($928)) + 22|0); $930 = HEAP16[$929>>1]|0; $931 = $930&65535; $932 = $931; @@ -190541,23 +192563,23 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $947 = $946&1; $948 = (($943) + ($947))|0; $949 = HEAP32[$pOld5>>2]|0; - $950 = (($949) + 18|0); + $950 = ((($949)) + 18|0); $951 = HEAP16[$950>>1]|0; $952 = $951&65535; $953 = (($948) + ($952))|0; $954 = HEAP32[$pOld5>>2]|0; - $955 = (($954) + 1|0); + $955 = ((($954)) + 1|0); $956 = HEAP8[$955>>0]|0; $957 = $956&255; $958 = (($953) + ($957))|0; HEAP32[$iNextOld>>2] = $958; $959 = HEAP32[$pOld5>>2]|0; - $960 = (($959) + 1|0); + $960 = ((($959)) + 1|0); $961 = HEAP8[$960>>0]|0; $962 = ($961<<24>>24)!=(0); if ($962) { $963 = HEAP32[$pOld5>>2]|0; - $964 = (($963) + 1|0); + $964 = ((($963)) + 1|0); $965 = HEAP8[$964>>0]|0; $966 = $965&255; HEAP32[$nOverflow>>2] = $966; @@ -190568,7 +192590,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $971 = $970&1; $972 = (($967) + ($971))|0; $973 = HEAP32[$pOld5>>2]|0; - $974 = (($973) + 22|0); + $974 = ((($973)) + 22|0); $975 = HEAP16[$974>>1]|0; $976 = $975&65535; $977 = (($972) + ($976))|0; @@ -190622,10 +192644,10 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $1002 = ($1001|0)!=(0); if (!($1002)) { $1003 = HEAP32[$pOld5>>2]|0; - $1004 = (($1003) + 72|0); + $1004 = ((($1003)) + 72|0); $1005 = HEAP32[$1004>>2]|0; $1006 = HEAP32[$pNew4>>2]|0; - $1007 = (($1006) + 72|0); + $1007 = ((($1006)) + 72|0); $1008 = HEAP32[$1007>>2]|0; $1009 = ($1005|0)!=($1008|0); if (!($1009)) { @@ -190642,7 +192664,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $1016 = HEAP32[$1015>>2]|0; $1017 = (_sqlite3Get4byte($1016)|0); $1018 = HEAP32[$pNew4>>2]|0; - $1019 = (($1018) + 72|0); + $1019 = ((($1018)) + 72|0); $1020 = HEAP32[$1019>>2]|0; _ptrmapPut($1012,$1017,5,$1020,$rc); } @@ -190652,7 +192674,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $1024 = HEAP16[$1023>>1]|0; $1025 = $1024&65535; $1026 = HEAP32[$pNew4>>2]|0; - $1027 = (($1026) + 12|0); + $1027 = ((($1026)) + 12|0); $1028 = HEAP16[$1027>>1]|0; $1029 = $1028&65535; $1030 = ($1025|0)>($1029|0); @@ -190684,9 +192706,9 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $1043 = HEAP32[$i>>2]|0; $1044 = (($apNew) + ($1043<<2)|0); $1045 = HEAP32[$1044>>2]|0; - $1046 = (($1045) + 56|0); + $1046 = ((($1045)) + 56|0); $1047 = HEAP32[$1046>>2]|0; - $1048 = (($1047) + 8|0); + $1048 = ((($1047)) + 8|0); $1049 = (_sqlite3Get4byte($1048)|0); HEAP32[$key>>2] = $1049; $1050 = HEAP32[$pBt>>2]|0; @@ -190694,7 +192716,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $1052 = HEAP32[$i>>2]|0; $1053 = (($apNew) + ($1052<<2)|0); $1054 = HEAP32[$1053>>2]|0; - $1055 = (($1054) + 72|0); + $1055 = ((($1054)) + 72|0); $1056 = HEAP32[$1055>>2]|0; _ptrmapPut($1050,$1051,5,$1056,$rc); $1057 = HEAP32[$i>>2]|0; @@ -190723,12387 +192745,21251 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $1067 = (($1066) + 1)|0; HEAP32[$i>>2] = $1067; } - HEAP32[$i>>2] = 0; - while(1) { - $1068 = HEAP32[$i>>2]|0; - $1069 = HEAP32[$nNew>>2]|0; - $1070 = ($1068|0)<($1069|0); - if (!($1070)) { - break; + HEAP32[$i>>2] = 0; + while(1) { + $1068 = HEAP32[$i>>2]|0; + $1069 = HEAP32[$nNew>>2]|0; + $1070 = ($1068|0)<($1069|0); + if (!($1070)) { + break; + } + $1071 = HEAP32[$i>>2]|0; + $1072 = (($apNew) + ($1071<<2)|0); + $1073 = HEAP32[$1072>>2]|0; + _releasePage($1073); + $1074 = HEAP32[$i>>2]|0; + $1075 = (($1074) + 1)|0; + HEAP32[$i>>2] = $1075; + } + $1076 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $1076; + $1077 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1077|0); +} +function _findOverflowCell($pPage,$iCell) { + $pPage = $pPage|0; + $iCell = $iCell|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $i = 0, $k = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $i = sp + 4|0; + $k = sp; + HEAP32[$1>>2] = $pPage; + HEAP32[$2>>2] = $iCell; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = (($6) - 1)|0; + HEAP32[$i>>2] = $7; + while(1) { + $8 = HEAP32[$i>>2]|0; + $9 = ($8|0)>=(0); + if (!($9)) { + label = 8; + break; + } + $10 = HEAP32[$i>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 22|0); + $13 = (($12) + ($10<<1)|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + HEAP32[$k>>2] = $15; + $16 = HEAP32[$k>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ($16|0)<=($17|0); + if ($18) { + $19 = HEAP32[$k>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ($19|0)==($20|0); + if ($21) { + label = 5; + break; + } + $27 = HEAP32[$2>>2]|0; + $28 = (($27) + -1)|0; + HEAP32[$2>>2] = $28; + } + $29 = HEAP32[$i>>2]|0; + $30 = (($29) + -1)|0; + HEAP32[$i>>2] = $30; + } + if ((label|0) == 5) { + $22 = HEAP32[$i>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 32|0); + $25 = (($24) + ($22<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$0>>2] = $26; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } + else if ((label|0) == 8) { + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 56|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = HEAP32[$2>>2]|0; + $39 = $38<<1; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 64|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($42) + ($39)|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = $45 << 8; + $47 = HEAP32[$2>>2]|0; + $48 = $47<<1; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 64|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + ($48)|0); + $53 = ((($52)) + 1|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $46 | $55; + $57 = $37 & $56; + $58 = (($33) + ($57)|0); + HEAP32[$0>>2] = $58; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } + return (0)|0; +} +function _assemblePage($pPage,$nCell,$apCell,$aSize) { + $pPage = $pPage|0; + $nCell = $nCell|0; + $apCell = $apCell|0; + $aSize = $aSize|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $cellbody = 0, $data = 0, $hdr = 0, $i = 0, $nUsable = 0, $pCellptr = 0, $sz = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp + 28|0; + $3 = sp + 4|0; + $i = sp + 32|0; + $pCellptr = sp; + $cellbody = sp + 12|0; + $data = sp + 24|0; + $hdr = sp + 20|0; + $nUsable = sp + 8|0; + $sz = sp + 40|0; + HEAP32[$0>>2] = $pPage; + HEAP32[$1>>2] = $nCell; + HEAP32[$2>>2] = $apCell; + HEAP32[$3>>2] = $aSize; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 56|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$data>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 6|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + HEAP32[$hdr>>2] = $10; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$nUsable>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = $16<<1; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 64|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($17)|0); + HEAP32[$pCellptr>>2] = $21; + $22 = HEAP32[$nUsable>>2]|0; + HEAP32[$cellbody>>2] = $22; + $23 = HEAP32[$1>>2]|0; + $24 = (($23) - 1)|0; + HEAP32[$i>>2] = $24; + while(1) { + $25 = HEAP32[$i>>2]|0; + $26 = ($25|0)>=(0); + if (!($26)) { + break; + } + $27 = HEAP32[$i>>2]|0; + $28 = HEAP32[$3>>2]|0; + $29 = (($28) + ($27<<1)|0); + $30 = HEAP16[$29>>1]|0; + HEAP16[$sz>>1] = $30; + $31 = HEAP32[$pCellptr>>2]|0; + $32 = ((($31)) + -2|0); + HEAP32[$pCellptr>>2] = $32; + $33 = HEAP16[$sz>>1]|0; + $34 = $33&65535; + $35 = HEAP32[$cellbody>>2]|0; + $36 = (($35) - ($34))|0; + HEAP32[$cellbody>>2] = $36; + $37 = HEAP32[$cellbody>>2]|0; + $38 = $37 >> 8; + $39 = $38&255; + $40 = HEAP32[$pCellptr>>2]|0; + HEAP8[$40>>0] = $39; + $41 = HEAP32[$cellbody>>2]|0; + $42 = $41&255; + $43 = HEAP32[$pCellptr>>2]|0; + $44 = ((($43)) + 1|0); + HEAP8[$44>>0] = $42; + $45 = HEAP32[$cellbody>>2]|0; + $46 = HEAP32[$data>>2]|0; + $47 = (($46) + ($45)|0); + $48 = HEAP32[$i>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = (($49) + ($48<<2)|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP16[$sz>>1]|0; + $53 = $52&65535; + _memcpy(($47|0),($51|0),($53|0))|0; + $54 = HEAP32[$i>>2]|0; + $55 = (($54) + -1)|0; + HEAP32[$i>>2] = $55; + } + $56 = HEAP32[$1>>2]|0; + $57 = $56 >> 8; + $58 = $57&255; + $59 = HEAP32[$hdr>>2]|0; + $60 = (($59) + 3)|0; + $61 = HEAP32[$data>>2]|0; + $62 = (($61) + ($60)|0); + HEAP8[$62>>0] = $58; + $63 = HEAP32[$1>>2]|0; + $64 = $63&255; + $65 = HEAP32[$hdr>>2]|0; + $66 = (($65) + 3)|0; + $67 = HEAP32[$data>>2]|0; + $68 = (($67) + ($66)|0); + $69 = ((($68)) + 1|0); + HEAP8[$69>>0] = $64; + $70 = HEAP32[$cellbody>>2]|0; + $71 = $70 >> 8; + $72 = $71&255; + $73 = HEAP32[$hdr>>2]|0; + $74 = (($73) + 5)|0; + $75 = HEAP32[$data>>2]|0; + $76 = (($75) + ($74)|0); + HEAP8[$76>>0] = $72; + $77 = HEAP32[$cellbody>>2]|0; + $78 = $77&255; + $79 = HEAP32[$hdr>>2]|0; + $80 = (($79) + 5)|0; + $81 = HEAP32[$data>>2]|0; + $82 = (($81) + ($80)|0); + $83 = ((($82)) + 1|0); + HEAP8[$83>>0] = $78; + $84 = HEAP32[$1>>2]|0; + $85 = $84<<1; + $86 = HEAP32[$nUsable>>2]|0; + $87 = (($85) + ($86))|0; + $88 = HEAP32[$cellbody>>2]|0; + $89 = (($87) - ($88))|0; + $90 = HEAP32[$0>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP16[$91>>1]|0; + $93 = $92&65535; + $94 = (($93) - ($89))|0; + $95 = $94&65535; + HEAP16[$91>>1] = $95; + $96 = HEAP32[$1>>2]|0; + $97 = $96&65535; + $98 = HEAP32[$0>>2]|0; + $99 = ((($98)) + 18|0); + HEAP16[$99>>1] = $97; + STACKTOP = sp;return; +} +function _copyNodeContent($pFrom,$pTo,$pRC) { + $pFrom = $pFrom|0; + $pTo = $pTo|0; + $pRC = $pRC|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0; + var $aFrom = 0, $aTo = 0, $iData = 0, $iFromHdr = 0, $iToHdr = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp; + $1 = sp + 16|0; + $2 = sp + 28|0; + $pBt = sp + 4|0; + $aFrom = sp + 32|0; + $aTo = sp + 36|0; + $iFromHdr = sp + 12|0; + $iToHdr = sp + 24|0; + $rc = sp + 20|0; + $iData = sp + 8|0; + HEAP32[$0>>2] = $pFrom; + HEAP32[$1>>2] = $pTo; + HEAP32[$2>>2] = $pRC; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 52|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$pBt>>2] = $8; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 56|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$aFrom>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 56|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$aTo>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 6|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + HEAP32[$iFromHdr>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 72|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(1); + $23 = $22 ? 100 : 0; + HEAP32[$iToHdr>>2] = $23; + $24 = HEAP32[$iFromHdr>>2]|0; + $25 = (($24) + 5)|0; + $26 = HEAP32[$aFrom>>2]|0; + $27 = (($26) + ($25)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP32[$iFromHdr>>2]|0; + $32 = (($31) + 5)|0; + $33 = HEAP32[$aFrom>>2]|0; + $34 = (($33) + ($32)|0); + $35 = ((($34)) + 1|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = $30 | $37; + HEAP32[$iData>>2] = $38; + $39 = HEAP32[$iData>>2]|0; + $40 = HEAP32[$aTo>>2]|0; + $41 = (($40) + ($39)|0); + $42 = HEAP32[$iData>>2]|0; + $43 = HEAP32[$aFrom>>2]|0; + $44 = (($43) + ($42)|0); + $45 = HEAP32[$pBt>>2]|0; + $46 = ((($45)) + 36|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$iData>>2]|0; + $49 = (($47) - ($48))|0; + _memcpy(($41|0),($44|0),($49|0))|0; + $50 = HEAP32[$iToHdr>>2]|0; + $51 = HEAP32[$aTo>>2]|0; + $52 = (($51) + ($50)|0); + $53 = HEAP32[$iFromHdr>>2]|0; + $54 = HEAP32[$aFrom>>2]|0; + $55 = (($54) + ($53)|0); + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 14|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = HEAP32[$0>>2]|0; + $61 = ((($60)) + 18|0); + $62 = HEAP16[$61>>1]|0; + $63 = $62&65535; + $64 = $63<<1; + $65 = (($59) + ($64))|0; + _memcpy(($52|0),($55|0),($65|0))|0; + $66 = HEAP32[$1>>2]|0; + HEAP8[$66>>0] = 0; + $67 = HEAP32[$1>>2]|0; + $68 = (_btreeInitPage($67)|0); + HEAP32[$rc>>2] = $68; + $69 = HEAP32[$rc>>2]|0; + $70 = ($69|0)!=(0); + if ($70) { + $71 = HEAP32[$rc>>2]|0; + $72 = HEAP32[$2>>2]|0; + HEAP32[$72>>2] = $71; + STACKTOP = sp;return; + } + $73 = HEAP32[$pBt>>2]|0; + $74 = ((($73)) + 17|0); + $75 = HEAP8[$74>>0]|0; + $76 = ($75<<24>>24)!=(0); + if (!($76)) { + STACKTOP = sp;return; + } + $77 = HEAP32[$1>>2]|0; + $78 = (_setChildPtrmaps($77)|0); + $79 = HEAP32[$2>>2]|0; + HEAP32[$79>>2] = $78; + STACKTOP = sp;return; +} +function _allocateSpace($pPage,$nByte,$pIdx) { + $pPage = $pPage|0; + $nByte = $nByte|0; + $pIdx = $pIdx|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $data = 0, $gap = 0, $hdr = 0, $pc = 0, $rc = 0, $size = 0, $top = 0, $usableSize = 0; + var $x = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 44|0; + $3 = sp + 36|0; + $hdr = sp + 32|0; + $data = sp + 40|0; + $top = sp + 48|0; + $gap = sp + 52|0; + $rc = sp + 20|0; + $usableSize = sp; + $pc = sp + 28|0; + $addr = sp + 4|0; + $size = sp + 24|0; + $x = sp + 8|0; + HEAP32[$1>>2] = $pPage; + HEAP32[$2>>2] = $nByte; + HEAP32[$3>>2] = $pIdx; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 6|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + HEAP32[$hdr>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 56|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$data>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$usableSize>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 14|0); + $18 = HEAP16[$17>>1]|0; + $19 = $18&65535; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 18|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = $23<<1; + $25 = (($19) + ($24))|0; + HEAP32[$gap>>2] = $25; + $26 = HEAP32[$hdr>>2]|0; + $27 = (($26) + 5)|0; + $28 = HEAP32[$data>>2]|0; + $29 = (($28) + ($27)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = $31 << 8; + $33 = HEAP32[$hdr>>2]|0; + $34 = (($33) + 5)|0; + $35 = HEAP32[$data>>2]|0; + $36 = (($35) + ($34)|0); + $37 = ((($36)) + 1|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $32 | $39; + HEAP32[$top>>2] = $40; + $41 = HEAP32[$gap>>2]|0; + $42 = HEAP32[$top>>2]|0; + $43 = ($41|0)>($42|0); + do { + if ($43) { + $44 = HEAP32[$top>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + HEAP32[$top>>2] = 65536; + break; + } + $46 = (_sqlite3CorruptError(53453)|0); + HEAP32[$0>>2] = $46; + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); + } + } while(0); + $47 = HEAP32[$gap>>2]|0; + $48 = (($47) + 2)|0; + $49 = HEAP32[$top>>2]|0; + $50 = ($48|0)<=($49|0); + L8: do { + if ($50) { + $51 = HEAP32[$hdr>>2]|0; + $52 = (($51) + 1)|0; + $53 = HEAP32[$data>>2]|0; + $54 = (($53) + ($52)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $57 = ($56|0)!=(0); + if (!($57)) { + $58 = HEAP32[$hdr>>2]|0; + $59 = (($58) + 2)|0; + $60 = HEAP32[$data>>2]|0; + $61 = (($60) + ($59)|0); + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = ($63|0)!=(0); + if (!($64)) { + label = 22; + break; + } + } + $65 = HEAP32[$hdr>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$addr>>2] = $66; + while(1) { + $67 = HEAP32[$addr>>2]|0; + $68 = HEAP32[$data>>2]|0; + $69 = (($68) + ($67)|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70&255; + $72 = $71 << 8; + $73 = HEAP32[$addr>>2]|0; + $74 = HEAP32[$data>>2]|0; + $75 = (($74) + ($73)|0); + $76 = ((($75)) + 1|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = $72 | $78; + HEAP32[$pc>>2] = $79; + $80 = ($79|0)>(0); + if (!($80)) { + label = 22; + break L8; + } + $81 = HEAP32[$pc>>2]|0; + $82 = HEAP32[$usableSize>>2]|0; + $83 = (($82) - 4)|0; + $84 = ($81|0)>($83|0); + if ($84) { + label = 12; + break; + } + $85 = HEAP32[$pc>>2]|0; + $86 = HEAP32[$addr>>2]|0; + $87 = (($86) + 4)|0; + $88 = ($85|0)<($87|0); + if ($88) { + label = 12; + break; + } + $90 = HEAP32[$pc>>2]|0; + $91 = (($90) + 2)|0; + $92 = HEAP32[$data>>2]|0; + $93 = (($92) + ($91)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $94&255; + $96 = $95 << 8; + $97 = HEAP32[$pc>>2]|0; + $98 = (($97) + 2)|0; + $99 = HEAP32[$data>>2]|0; + $100 = (($99) + ($98)|0); + $101 = ((($100)) + 1|0); + $102 = HEAP8[$101>>0]|0; + $103 = $102&255; + $104 = $96 | $103; + HEAP32[$size>>2] = $104; + $105 = HEAP32[$size>>2]|0; + $106 = HEAP32[$2>>2]|0; + $107 = ($105|0)>=($106|0); + if ($107) { + break; + } + $161 = HEAP32[$pc>>2]|0; + HEAP32[$addr>>2] = $161; + } + if ((label|0) == 12) { + $89 = (_sqlite3CorruptError(53469)|0); + HEAP32[$0>>2] = $89; + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); + } + $108 = HEAP32[$size>>2]|0; + $109 = HEAP32[$2>>2]|0; + $110 = (($108) - ($109))|0; + HEAP32[$x>>2] = $110; + $111 = HEAP32[$x>>2]|0; + $112 = ($111|0)<(4); + do { + if ($112) { + $113 = HEAP32[$hdr>>2]|0; + $114 = (($113) + 7)|0; + $115 = HEAP32[$data>>2]|0; + $116 = (($115) + ($114)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ($118|0)>=(60); + if ($119) { + label = 23; + break L8; + } + $120 = HEAP32[$addr>>2]|0; + $121 = HEAP32[$data>>2]|0; + $122 = (($121) + ($120)|0); + $123 = HEAP32[$pc>>2]|0; + $124 = HEAP32[$data>>2]|0; + $125 = (($124) + ($123)|0); + ;HEAP8[$122>>0]=HEAP8[$125>>0]|0;HEAP8[$122+1>>0]=HEAP8[$125+1>>0]|0; + $126 = HEAP32[$x>>2]|0; + $127 = $126&255; + $128 = $127&255; + $129 = HEAP32[$hdr>>2]|0; + $130 = (($129) + 7)|0; + $131 = HEAP32[$data>>2]|0; + $132 = (($131) + ($130)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = (($134) + ($128))|0; + $136 = $135&255; + HEAP8[$132>>0] = $136; + } else { + $137 = HEAP32[$size>>2]|0; + $138 = HEAP32[$pc>>2]|0; + $139 = (($137) + ($138))|0; + $140 = HEAP32[$usableSize>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $143 = HEAP32[$x>>2]|0; + $144 = $143 >> 8; + $145 = $144&255; + $146 = HEAP32[$pc>>2]|0; + $147 = (($146) + 2)|0; + $148 = HEAP32[$data>>2]|0; + $149 = (($148) + ($147)|0); + HEAP8[$149>>0] = $145; + $150 = HEAP32[$x>>2]|0; + $151 = $150&255; + $152 = HEAP32[$pc>>2]|0; + $153 = (($152) + 2)|0; + $154 = HEAP32[$data>>2]|0; + $155 = (($154) + ($153)|0); + $156 = ((($155)) + 1|0); + HEAP8[$156>>0] = $151; + break; + } + $142 = (_sqlite3CorruptError(53483)|0); + HEAP32[$0>>2] = $142; + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); + } + } while(0); + $157 = HEAP32[$pc>>2]|0; + $158 = HEAP32[$x>>2]|0; + $159 = (($157) + ($158))|0; + $160 = HEAP32[$3>>2]|0; + HEAP32[$160>>2] = $159; + HEAP32[$0>>2] = 0; + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); + } else { + label = 22; + } + } while(0); + if ((label|0) == 22) { + $162 = HEAP32[$gap>>2]|0; + $163 = (($162) + 2)|0; + $164 = HEAP32[$2>>2]|0; + $165 = (($163) + ($164))|0; + $166 = HEAP32[$top>>2]|0; + $167 = ($165|0)>($166|0); + if ($167) { + label = 23; + } + } + do { + if ((label|0) == 23) { + $168 = HEAP32[$1>>2]|0; + $169 = (_defragmentPage($168)|0); + HEAP32[$rc>>2] = $169; + $170 = HEAP32[$rc>>2]|0; + $171 = ($170|0)!=(0); + if (!($171)) { + $173 = HEAP32[$hdr>>2]|0; + $174 = (($173) + 5)|0; + $175 = HEAP32[$data>>2]|0; + $176 = (($175) + ($174)|0); + $177 = HEAP8[$176>>0]|0; + $178 = $177&255; + $179 = $178 << 8; + $180 = HEAP32[$hdr>>2]|0; + $181 = (($180) + 5)|0; + $182 = HEAP32[$data>>2]|0; + $183 = (($182) + ($181)|0); + $184 = ((($183)) + 1|0); + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + $187 = $179 | $186; + $188 = (($187) - 1)|0; + $189 = $188 & 65535; + $190 = (($189) + 1)|0; + HEAP32[$top>>2] = $190; + break; + } + $172 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $172; + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); + } + } while(0); + $191 = HEAP32[$2>>2]|0; + $192 = HEAP32[$top>>2]|0; + $193 = (($192) - ($191))|0; + HEAP32[$top>>2] = $193; + $194 = HEAP32[$top>>2]|0; + $195 = $194 >> 8; + $196 = $195&255; + $197 = HEAP32[$hdr>>2]|0; + $198 = (($197) + 5)|0; + $199 = HEAP32[$data>>2]|0; + $200 = (($199) + ($198)|0); + HEAP8[$200>>0] = $196; + $201 = HEAP32[$top>>2]|0; + $202 = $201&255; + $203 = HEAP32[$hdr>>2]|0; + $204 = (($203) + 5)|0; + $205 = HEAP32[$data>>2]|0; + $206 = (($205) + ($204)|0); + $207 = ((($206)) + 1|0); + HEAP8[$207>>0] = $202; + $208 = HEAP32[$top>>2]|0; + $209 = HEAP32[$3>>2]|0; + HEAP32[$209>>2] = $208; + HEAP32[$0>>2] = 0; + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); +} +function _defragmentPage($pPage) { + $pPage = $pPage|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $cbrk = 0, $cellOffset = 0, $data = 0, $hdr = 0, $i = 0, $iCellFirst = 0, $iCellLast = 0, $nCell = 0, $pAddr = 0, $pc = 0, $size = 0, $temp = 0, $usableSize = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 52|0; + $1 = sp + 44|0; + $i = sp + 20|0; + $pc = sp + 12|0; + $hdr = sp + 4|0; + $size = sp + 40|0; + $usableSize = sp + 48|0; + $cellOffset = sp + 56|0; + $cbrk = sp + 16|0; + $nCell = sp + 24|0; + $data = sp; + $temp = sp + 32|0; + $iCellFirst = sp + 28|0; + $iCellLast = sp + 8|0; + $pAddr = sp + 36|0; + HEAP32[$1>>2] = $pPage; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3PagerTempSpace($5)|0); + HEAP32[$temp>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 56|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$data>>2] = $9; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 6|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + HEAP32[$hdr>>2] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 14|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + HEAP32[$cellOffset>>2] = $17; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 18|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + HEAP32[$nCell>>2] = $21; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 52|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$usableSize>>2] = $26; + $27 = HEAP32[$hdr>>2]|0; + $28 = (($27) + 5)|0; + $29 = HEAP32[$data>>2]|0; + $30 = (($29) + ($28)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 8; + $34 = HEAP32[$hdr>>2]|0; + $35 = (($34) + 5)|0; + $36 = HEAP32[$data>>2]|0; + $37 = (($36) + ($35)|0); + $38 = ((($37)) + 1|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $33 | $40; + HEAP32[$cbrk>>2] = $41; + $42 = HEAP32[$cbrk>>2]|0; + $43 = HEAP32[$temp>>2]|0; + $44 = (($43) + ($42)|0); + $45 = HEAP32[$cbrk>>2]|0; + $46 = HEAP32[$data>>2]|0; + $47 = (($46) + ($45)|0); + $48 = HEAP32[$usableSize>>2]|0; + $49 = HEAP32[$cbrk>>2]|0; + $50 = (($48) - ($49))|0; + _memcpy(($44|0),($47|0),($50|0))|0; + $51 = HEAP32[$usableSize>>2]|0; + HEAP32[$cbrk>>2] = $51; + $52 = HEAP32[$cellOffset>>2]|0; + $53 = HEAP32[$nCell>>2]|0; + $54 = $53<<1; + $55 = (($52) + ($54))|0; + HEAP32[$iCellFirst>>2] = $55; + $56 = HEAP32[$usableSize>>2]|0; + $57 = (($56) - 4)|0; + HEAP32[$iCellLast>>2] = $57; + HEAP32[$i>>2] = 0; + while(1) { + $58 = HEAP32[$i>>2]|0; + $59 = HEAP32[$nCell>>2]|0; + $60 = ($58|0)<($59|0); + if (!($60)) { + label = 10; + break; + } + $61 = HEAP32[$cellOffset>>2]|0; + $62 = HEAP32[$i>>2]|0; + $63 = $62<<1; + $64 = (($61) + ($63))|0; + $65 = HEAP32[$data>>2]|0; + $66 = (($65) + ($64)|0); + HEAP32[$pAddr>>2] = $66; + $67 = HEAP32[$pAddr>>2]|0; + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = $69 << 8; + $71 = HEAP32[$pAddr>>2]|0; + $72 = ((($71)) + 1|0); + $73 = HEAP8[$72>>0]|0; + $74 = $73&255; + $75 = $70 | $74; + HEAP32[$pc>>2] = $75; + $76 = HEAP32[$pc>>2]|0; + $77 = HEAP32[$iCellFirst>>2]|0; + $78 = ($76|0)<($77|0); + if ($78) { + label = 5; + break; + } + $79 = HEAP32[$pc>>2]|0; + $80 = HEAP32[$iCellLast>>2]|0; + $81 = ($79|0)>($80|0); + if ($81) { + label = 5; + break; + } + $83 = HEAP32[$1>>2]|0; + $84 = HEAP32[$pc>>2]|0; + $85 = HEAP32[$temp>>2]|0; + $86 = (($85) + ($84)|0); + $87 = (_cellSizePtr($83,$86)|0); + $88 = $87&65535; + HEAP32[$size>>2] = $88; + $89 = HEAP32[$size>>2]|0; + $90 = HEAP32[$cbrk>>2]|0; + $91 = (($90) - ($89))|0; + HEAP32[$cbrk>>2] = $91; + $92 = HEAP32[$cbrk>>2]|0; + $93 = HEAP32[$iCellFirst>>2]|0; + $94 = ($92|0)<($93|0); + if ($94) { + label = 8; + break; + } + $95 = HEAP32[$pc>>2]|0; + $96 = HEAP32[$size>>2]|0; + $97 = (($95) + ($96))|0; + $98 = HEAP32[$usableSize>>2]|0; + $99 = ($97|0)>($98|0); + if ($99) { + label = 8; + break; + } + $101 = HEAP32[$cbrk>>2]|0; + $102 = HEAP32[$data>>2]|0; + $103 = (($102) + ($101)|0); + $104 = HEAP32[$pc>>2]|0; + $105 = HEAP32[$temp>>2]|0; + $106 = (($105) + ($104)|0); + $107 = HEAP32[$size>>2]|0; + _memcpy(($103|0),($106|0),($107|0))|0; + $108 = HEAP32[$cbrk>>2]|0; + $109 = $108 >> 8; + $110 = $109&255; + $111 = HEAP32[$pAddr>>2]|0; + HEAP8[$111>>0] = $110; + $112 = HEAP32[$cbrk>>2]|0; + $113 = $112&255; + $114 = HEAP32[$pAddr>>2]|0; + $115 = ((($114)) + 1|0); + HEAP8[$115>>0] = $113; + $116 = HEAP32[$i>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$i>>2] = $117; + } + if ((label|0) == 5) { + $82 = (_sqlite3CorruptError(53381)|0); + HEAP32[$0>>2] = $82; + $159 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($159|0); + } + else if ((label|0) == 8) { + $100 = (_sqlite3CorruptError(53393)|0); + HEAP32[$0>>2] = $100; + $159 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($159|0); + } + else if ((label|0) == 10) { + $118 = HEAP32[$cbrk>>2]|0; + $119 = $118 >> 8; + $120 = $119&255; + $121 = HEAP32[$hdr>>2]|0; + $122 = (($121) + 5)|0; + $123 = HEAP32[$data>>2]|0; + $124 = (($123) + ($122)|0); + HEAP8[$124>>0] = $120; + $125 = HEAP32[$cbrk>>2]|0; + $126 = $125&255; + $127 = HEAP32[$hdr>>2]|0; + $128 = (($127) + 5)|0; + $129 = HEAP32[$data>>2]|0; + $130 = (($129) + ($128)|0); + $131 = ((($130)) + 1|0); + HEAP8[$131>>0] = $126; + $132 = HEAP32[$hdr>>2]|0; + $133 = (($132) + 1)|0; + $134 = HEAP32[$data>>2]|0; + $135 = (($134) + ($133)|0); + HEAP8[$135>>0] = 0; + $136 = HEAP32[$hdr>>2]|0; + $137 = (($136) + 2)|0; + $138 = HEAP32[$data>>2]|0; + $139 = (($138) + ($137)|0); + HEAP8[$139>>0] = 0; + $140 = HEAP32[$hdr>>2]|0; + $141 = (($140) + 7)|0; + $142 = HEAP32[$data>>2]|0; + $143 = (($142) + ($141)|0); + HEAP8[$143>>0] = 0; + $144 = HEAP32[$iCellFirst>>2]|0; + $145 = HEAP32[$data>>2]|0; + $146 = (($145) + ($144)|0); + $147 = HEAP32[$cbrk>>2]|0; + $148 = HEAP32[$iCellFirst>>2]|0; + $149 = (($147) - ($148))|0; + _memset(($146|0),0,($149|0))|0; + $150 = HEAP32[$cbrk>>2]|0; + $151 = HEAP32[$iCellFirst>>2]|0; + $152 = (($150) - ($151))|0; + $153 = HEAP32[$1>>2]|0; + $154 = ((($153)) + 16|0); + $155 = HEAP16[$154>>1]|0; + $156 = $155&65535; + $157 = ($152|0)!=($156|0); + if ($157) { + $158 = (_sqlite3CorruptError(53410)|0); + HEAP32[$0>>2] = $158; + $159 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($159|0); + } else { + HEAP32[$0>>2] = 0; + $159 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($159|0); + } + } + return (0)|0; +} +function _sqlite3PagerTempSpace($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 200|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _freeSpace($pPage,$iStart,$iSize) { + $pPage = $pPage|0; + $iStart = $iStart|0; + $iSize = $iSize|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $hdr = 0, $iEnd = 0; + var $iFreeBlk = 0, $iLast = 0, $iOrigSize = 0, $iPtr = 0, $iPtrEnd = 0, $nFrag = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 20|0; + $1 = sp + 12|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $iPtr = sp + 30|0; + $iFreeBlk = sp + 32|0; + $hdr = sp + 35|0; + $nFrag = sp + 34|0; + $iOrigSize = sp + 26|0; + $iLast = sp + 16|0; + $iEnd = sp; + $data = sp + 4|0; + $iPtrEnd = sp + 8|0; + HEAP32[$1>>2] = $pPage; + HEAP16[$2>>1] = $iStart; + HEAP16[$3>>1] = $iSize; + HEAP8[$nFrag>>0] = 0; + $4 = HEAP16[$3>>1]|0; + HEAP16[$iOrigSize>>1] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 52|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 36|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) - 4)|0; + HEAP32[$iLast>>2] = $10; + $11 = HEAP16[$2>>1]|0; + $12 = $11&65535; + $13 = HEAP16[$3>>1]|0; + $14 = $13&65535; + $15 = (($12) + ($14))|0; + HEAP32[$iEnd>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 56|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$data>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 52|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 22|0); + $23 = HEAP16[$22>>1]|0; + $24 = $23&65535; + $25 = $24 & 4; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP16[$2>>1]|0; + $28 = $27&65535; + $29 = HEAP32[$data>>2]|0; + $30 = (($29) + ($28)|0); + $31 = HEAP16[$3>>1]|0; + $32 = $31&65535; + _memset(($30|0),0,($32|0))|0; + } + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 6|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$hdr>>0] = $35; + $36 = HEAP8[$hdr>>0]|0; + $37 = $36&255; + $38 = (($37) + 1)|0; + $39 = $38&65535; + HEAP16[$iPtr>>1] = $39; + $40 = HEAP16[$iPtr>>1]|0; + $41 = $40&65535; + $42 = (($41) + 1)|0; + $43 = HEAP32[$data>>2]|0; + $44 = (($43) + ($42)|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP16[$iPtr>>1]|0; + $49 = $48&65535; + $50 = HEAP32[$data>>2]|0; + $51 = (($50) + ($49)|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = ($53|0)==(0); + if ($54) { + HEAP16[$iFreeBlk>>1] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + do { + if ((label|0) == 6) { + while(1) { + label = 0; + $55 = HEAP16[$iPtr>>1]|0; + $56 = $55&65535; + $57 = HEAP32[$data>>2]|0; + $58 = (($57) + ($56)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = $60 << 8; + $62 = HEAP16[$iPtr>>1]|0; + $63 = $62&65535; + $64 = HEAP32[$data>>2]|0; + $65 = (($64) + ($63)|0); + $66 = ((($65)) + 1|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $61 | $68; + $70 = $69&65535; + HEAP16[$iFreeBlk>>1] = $70; + $71 = $70&65535; + $72 = ($71|0)>(0); + if ($72) { + $73 = HEAP16[$iFreeBlk>>1]|0; + $74 = $73&65535; + $75 = HEAP16[$2>>1]|0; + $76 = $75&65535; + $77 = ($74|0)<($76|0); + $336 = $77; + } else { + $336 = 0; + } + $78 = HEAP16[$iFreeBlk>>1]|0; + $79 = $78&65535; + if (!($336)) { + break; + } + $80 = HEAP16[$iPtr>>1]|0; + $81 = $80&65535; + $82 = (($81) + 4)|0; + $83 = ($79|0)<($82|0); + if ($83) { + label = 10; + break; + } + $85 = HEAP16[$iFreeBlk>>1]|0; + HEAP16[$iPtr>>1] = $85; + label = 6; + } + if ((label|0) == 10) { + $84 = (_sqlite3CorruptError(53568)|0); + HEAP32[$0>>2] = $84; + $335 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($335|0); + } + $86 = HEAP32[$iLast>>2]|0; + $87 = ($79>>>0)>($86>>>0); + if ($87) { + $88 = (_sqlite3CorruptError(53571)|0); + HEAP32[$0>>2] = $88; + $335 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($335|0); + } + $89 = HEAP16[$iFreeBlk>>1]|0; + $90 = $89&65535; + $91 = ($90|0)!=(0); + do { + if ($91) { + $92 = HEAP32[$iEnd>>2]|0; + $93 = (($92) + 3)|0; + $94 = HEAP16[$iFreeBlk>>1]|0; + $95 = $94&65535; + $96 = ($93>>>0)>=($95>>>0); + if ($96) { + $97 = HEAP16[$iFreeBlk>>1]|0; + $98 = $97&65535; + $99 = HEAP32[$iEnd>>2]|0; + $100 = (($98) - ($99))|0; + $101 = $100&255; + HEAP8[$nFrag>>0] = $101; + $102 = HEAP32[$iEnd>>2]|0; + $103 = HEAP16[$iFreeBlk>>1]|0; + $104 = $103&65535; + $105 = ($102>>>0)>($104>>>0); + if (!($105)) { + $107 = HEAP16[$iFreeBlk>>1]|0; + $108 = $107&65535; + $109 = HEAP16[$iFreeBlk>>1]|0; + $110 = $109&65535; + $111 = (($110) + 2)|0; + $112 = HEAP32[$data>>2]|0; + $113 = (($112) + ($111)|0); + $114 = HEAP8[$113>>0]|0; + $115 = $114&255; + $116 = $115 << 8; + $117 = HEAP16[$iFreeBlk>>1]|0; + $118 = $117&65535; + $119 = (($118) + 2)|0; + $120 = HEAP32[$data>>2]|0; + $121 = (($120) + ($119)|0); + $122 = ((($121)) + 1|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = $116 | $124; + $126 = (($108) + ($125))|0; + HEAP32[$iEnd>>2] = $126; + $127 = HEAP32[$iEnd>>2]|0; + $128 = HEAP16[$2>>1]|0; + $129 = $128&65535; + $130 = (($127) - ($129))|0; + $131 = $130&65535; + HEAP16[$3>>1] = $131; + $132 = HEAP16[$iFreeBlk>>1]|0; + $133 = $132&65535; + $134 = HEAP32[$data>>2]|0; + $135 = (($134) + ($133)|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = $137 << 8; + $139 = HEAP16[$iFreeBlk>>1]|0; + $140 = $139&65535; + $141 = HEAP32[$data>>2]|0; + $142 = (($141) + ($140)|0); + $143 = ((($142)) + 1|0); + $144 = HEAP8[$143>>0]|0; + $145 = $144&255; + $146 = $138 | $145; + $147 = $146&65535; + HEAP16[$iFreeBlk>>1] = $147; + break; + } + $106 = (_sqlite3CorruptError(53582)|0); + HEAP32[$0>>2] = $106; + $335 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($335|0); + } + } + } while(0); + $148 = HEAP16[$iPtr>>1]|0; + $149 = $148&65535; + $150 = HEAP8[$hdr>>0]|0; + $151 = $150&255; + $152 = (($151) + 1)|0; + $153 = ($149|0)>($152|0); + do { + if ($153) { + $154 = HEAP16[$iPtr>>1]|0; + $155 = $154&65535; + $156 = HEAP16[$iPtr>>1]|0; + $157 = $156&65535; + $158 = (($157) + 2)|0; + $159 = HEAP32[$data>>2]|0; + $160 = (($159) + ($158)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = $162 << 8; + $164 = HEAP16[$iPtr>>1]|0; + $165 = $164&65535; + $166 = (($165) + 2)|0; + $167 = HEAP32[$data>>2]|0; + $168 = (($167) + ($166)|0); + $169 = ((($168)) + 1|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $172 = $163 | $171; + $173 = (($155) + ($172))|0; + HEAP32[$iPtrEnd>>2] = $173; + $174 = HEAP32[$iPtrEnd>>2]|0; + $175 = (($174) + 3)|0; + $176 = HEAP16[$2>>1]|0; + $177 = $176&65535; + $178 = ($175|0)>=($177|0); + if ($178) { + $179 = HEAP32[$iPtrEnd>>2]|0; + $180 = HEAP16[$2>>1]|0; + $181 = $180&65535; + $182 = ($179|0)>($181|0); + if (!($182)) { + $184 = HEAP16[$2>>1]|0; + $185 = $184&65535; + $186 = HEAP32[$iPtrEnd>>2]|0; + $187 = (($185) - ($186))|0; + $188 = HEAP8[$nFrag>>0]|0; + $189 = $188&255; + $190 = (($189) + ($187))|0; + $191 = $190&255; + HEAP8[$nFrag>>0] = $191; + $192 = HEAP32[$iEnd>>2]|0; + $193 = HEAP16[$iPtr>>1]|0; + $194 = $193&65535; + $195 = (($192) - ($194))|0; + $196 = $195&65535; + HEAP16[$3>>1] = $196; + $197 = HEAP16[$iPtr>>1]|0; + HEAP16[$2>>1] = $197; + break; + } + $183 = (_sqlite3CorruptError(53595)|0); + HEAP32[$0>>2] = $183; + $335 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($335|0); + } + } + } while(0); + $198 = HEAP8[$nFrag>>0]|0; + $199 = $198&255; + $200 = HEAP8[$hdr>>0]|0; + $201 = $200&255; + $202 = (($201) + 7)|0; + $203 = HEAP32[$data>>2]|0; + $204 = (($203) + ($202)|0); + $205 = HEAP8[$204>>0]|0; + $206 = $205&255; + $207 = ($199|0)>($206|0); + if (!($207)) { + $209 = HEAP8[$nFrag>>0]|0; + $210 = $209&255; + $211 = HEAP8[$hdr>>0]|0; + $212 = $211&255; + $213 = (($212) + 7)|0; + $214 = HEAP32[$data>>2]|0; + $215 = (($214) + ($213)|0); + $216 = HEAP8[$215>>0]|0; + $217 = $216&255; + $218 = (($217) - ($210))|0; + $219 = $218&255; + HEAP8[$215>>0] = $219; + break; + } + $208 = (_sqlite3CorruptError(53601)|0); + HEAP32[$0>>2] = $208; + $335 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($335|0); + } + } while(0); + $220 = HEAP16[$2>>1]|0; + $221 = $220&65535; + $222 = HEAP8[$hdr>>0]|0; + $223 = $222&255; + $224 = (($223) + 5)|0; + $225 = HEAP32[$data>>2]|0; + $226 = (($225) + ($224)|0); + $227 = HEAP8[$226>>0]|0; + $228 = $227&255; + $229 = $228 << 8; + $230 = HEAP8[$hdr>>0]|0; + $231 = $230&255; + $232 = (($231) + 5)|0; + $233 = HEAP32[$data>>2]|0; + $234 = (($233) + ($232)|0); + $235 = ((($234)) + 1|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = $229 | $237; + $239 = ($221|0)==($238|0); + do { + if ($239) { + $240 = HEAP16[$iPtr>>1]|0; + $241 = $240&65535; + $242 = HEAP8[$hdr>>0]|0; + $243 = $242&255; + $244 = (($243) + 1)|0; + $245 = ($241|0)!=($244|0); + if (!($245)) { + $247 = HEAP16[$iFreeBlk>>1]|0; + $248 = $247&65535; + $249 = $248 >> 8; + $250 = $249&255; + $251 = HEAP8[$hdr>>0]|0; + $252 = $251&255; + $253 = (($252) + 1)|0; + $254 = HEAP32[$data>>2]|0; + $255 = (($254) + ($253)|0); + HEAP8[$255>>0] = $250; + $256 = HEAP16[$iFreeBlk>>1]|0; + $257 = $256&255; + $258 = HEAP8[$hdr>>0]|0; + $259 = $258&255; + $260 = (($259) + 1)|0; + $261 = HEAP32[$data>>2]|0; + $262 = (($261) + ($260)|0); + $263 = ((($262)) + 1|0); + HEAP8[$263>>0] = $257; + $264 = HEAP32[$iEnd>>2]|0; + $265 = $264 >>> 8; + $266 = $265&255; + $267 = HEAP8[$hdr>>0]|0; + $268 = $267&255; + $269 = (($268) + 5)|0; + $270 = HEAP32[$data>>2]|0; + $271 = (($270) + ($269)|0); + HEAP8[$271>>0] = $266; + $272 = HEAP32[$iEnd>>2]|0; + $273 = $272&255; + $274 = HEAP8[$hdr>>0]|0; + $275 = $274&255; + $276 = (($275) + 5)|0; + $277 = HEAP32[$data>>2]|0; + $278 = (($277) + ($276)|0); + $279 = ((($278)) + 1|0); + HEAP8[$279>>0] = $273; + break; + } + $246 = (_sqlite3CorruptError(53608)|0); + HEAP32[$0>>2] = $246; + $335 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($335|0); + } else { + $280 = HEAP16[$2>>1]|0; + $281 = $280&65535; + $282 = $281 >> 8; + $283 = $282&255; + $284 = HEAP16[$iPtr>>1]|0; + $285 = $284&65535; + $286 = HEAP32[$data>>2]|0; + $287 = (($286) + ($285)|0); + HEAP8[$287>>0] = $283; + $288 = HEAP16[$2>>1]|0; + $289 = $288&255; + $290 = HEAP16[$iPtr>>1]|0; + $291 = $290&65535; + $292 = HEAP32[$data>>2]|0; + $293 = (($292) + ($291)|0); + $294 = ((($293)) + 1|0); + HEAP8[$294>>0] = $289; + $295 = HEAP16[$iFreeBlk>>1]|0; + $296 = $295&65535; + $297 = $296 >> 8; + $298 = $297&255; + $299 = HEAP16[$2>>1]|0; + $300 = $299&65535; + $301 = HEAP32[$data>>2]|0; + $302 = (($301) + ($300)|0); + HEAP8[$302>>0] = $298; + $303 = HEAP16[$iFreeBlk>>1]|0; + $304 = $303&255; + $305 = HEAP16[$2>>1]|0; + $306 = $305&65535; + $307 = HEAP32[$data>>2]|0; + $308 = (($307) + ($306)|0); + $309 = ((($308)) + 1|0); + HEAP8[$309>>0] = $304; + $310 = HEAP16[$3>>1]|0; + $311 = $310&65535; + $312 = $311 >> 8; + $313 = $312&255; + $314 = HEAP16[$2>>1]|0; + $315 = $314&65535; + $316 = (($315) + 2)|0; + $317 = HEAP32[$data>>2]|0; + $318 = (($317) + ($316)|0); + HEAP8[$318>>0] = $313; + $319 = HEAP16[$3>>1]|0; + $320 = $319&255; + $321 = HEAP16[$2>>1]|0; + $322 = $321&65535; + $323 = (($322) + 2)|0; + $324 = HEAP32[$data>>2]|0; + $325 = (($324) + ($323)|0); + $326 = ((($325)) + 1|0); + HEAP8[$326>>0] = $320; + } + } while(0); + $327 = HEAP16[$iOrigSize>>1]|0; + $328 = $327&65535; + $329 = HEAP32[$1>>2]|0; + $330 = ((($329)) + 16|0); + $331 = HEAP16[$330>>1]|0; + $332 = $331&65535; + $333 = (($332) + ($328))|0; + $334 = $333&65535; + HEAP16[$330>>1] = $334; + HEAP32[$0>>2] = 0; + $335 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($335|0); +} +function _fillInCell($pPage,$pCell,$pKey,$0,$1,$pData,$nData,$nZero,$pnSize) { + $pPage = $pPage|0; + $pCell = $pCell|0; + $pKey = $pKey|0; + $0 = $0|0; + $1 = $1|0; + $pData = $pData|0; + $nData = $nData|0; + $nZero = $nZero|0; + $pnSize = $pnSize|0; + var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eType = 0, $mn = 0, $n = 0, $nHeader = 0, $nPayload = 0, $nSrc = 0, $or$cond = 0, $or$cond3 = 0, $pBt = 0, $pOvfl = 0, $pPayload = 0, $pPrior = 0, $pSrc = 0, $pToRelease = 0; + var $pgnoOvfl = 0, $pgnoPtrmap = 0, $rc = 0, $spaceLeft = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $2 = sp + 96|0; + $3 = sp + 20|0; + $4 = sp + 60|0; + $5 = sp + 32|0; + $6 = sp; + $7 = sp + 12|0; + $8 = sp + 16|0; + $9 = sp + 56|0; + $10 = sp + 48|0; + $nPayload = sp + 24|0; + $pSrc = sp + 28|0; + $nSrc = sp + 92|0; + $n = sp + 36|0; + $rc = sp + 40|0; + $spaceLeft = sp + 44|0; + $pOvfl = sp + 52|0; + $pToRelease = sp + 68|0; + $pPrior = sp + 72|0; + $pPayload = sp + 76|0; + $pBt = sp + 80|0; + $pgnoOvfl = sp + 84|0; + $nHeader = sp + 88|0; + $mn = sp + 64|0; + $pgnoPtrmap = sp + 8|0; + $eType = sp + 100|0; + HEAP32[$3>>2] = $pPage; + HEAP32[$4>>2] = $pCell; + HEAP32[$5>>2] = $pKey; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $0; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $1; + HEAP32[$7>>2] = $pData; + HEAP32[$8>>2] = $nData; + HEAP32[$9>>2] = $nZero; + HEAP32[$10>>2] = $pnSize; + HEAP32[$pOvfl>>2] = 0; + HEAP32[$pToRelease>>2] = 0; + $15 = HEAP32[$3>>2]|0; + $16 = ((($15)) + 52|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$pBt>>2] = $17; + HEAP32[$pgnoOvfl>>2] = 0; + $18 = HEAP32[$3>>2]|0; + $19 = ((($18)) + 7|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + HEAP32[$nHeader>>2] = $21; + $22 = HEAP32[$8>>2]|0; + $23 = HEAP32[$9>>2]|0; + $24 = (($22) + ($23))|0; + HEAP32[$nPayload>>2] = $24; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 3|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if ($28) { + $29 = HEAP32[$nPayload>>2]|0; + $30 = ($29>>>0)<(128); + if ($30) { + $31 = HEAP32[$nPayload>>2]|0; + $32 = $31&255; + $33 = HEAP32[$nHeader>>2]|0; + $34 = HEAP32[$4>>2]|0; + $35 = (($34) + ($33)|0); + HEAP8[$35>>0] = $32; + $44 = 1; + } else { + $36 = HEAP32[$nHeader>>2]|0; + $37 = HEAP32[$4>>2]|0; + $38 = (($37) + ($36)|0); + $39 = HEAP32[$nPayload>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (_sqlite3PutVarint($38,$39,$41)|0); + $44 = $42; + } + $43 = $44&255; + $45 = $43&255; + $46 = HEAP32[$nHeader>>2]|0; + $47 = (($46) + ($45))|0; + HEAP32[$nHeader>>2] = $47; + } + $48 = HEAP32[$nHeader>>2]|0; + $49 = HEAP32[$4>>2]|0; + $50 = (($49) + ($48)|0); + $51 = $6; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (_sqlite3PutVarint($50,$53,$56)|0); + $58 = HEAP32[$nHeader>>2]|0; + $59 = (($58) + ($57))|0; + HEAP32[$nHeader>>2] = $59; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 2|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)!=(0); + do { + if ($63) { + $64 = HEAP32[$7>>2]|0; + HEAP32[$pSrc>>2] = $64; + $65 = HEAP32[$8>>2]|0; + HEAP32[$nSrc>>2] = $65; + HEAP32[$8>>2] = 0; + } else { + $66 = $6; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)>(0); + $73 = ($68>>>0)>(2147483647); + $74 = ($71|0)==(0); + $75 = $74 & $73; + $76 = $72 | $75; + $77 = HEAP32[$5>>2]|0; + $78 = ($77|0)==(0|0); + $or$cond = $76 | $78; + if (!($or$cond)) { + $80 = $6; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + HEAP32[$nPayload>>2] = $82; + $86 = HEAP32[$5>>2]|0; + HEAP32[$pSrc>>2] = $86; + $87 = $6; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + HEAP32[$nSrc>>2] = $89; + break; + } + $79 = (_sqlite3CorruptError(57891)|0); + HEAP32[$2>>2] = $79; + $246 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($246|0); + } + } while(0); + $93 = HEAP32[$nPayload>>2]|0; + $94 = HEAP32[$3>>2]|0; + $95 = ((($94)) + 10|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96&65535; + $98 = ($93|0)<=($97|0); + if ($98) { + $99 = HEAP32[$nHeader>>2]|0; + $100 = HEAP32[$nPayload>>2]|0; + $101 = (($99) + ($100))|0; + HEAP32[$n>>2] = $101; + $102 = HEAP32[$n>>2]|0; + $103 = ($102|0)<(4); + $$ = $103 ? 4 : $101; + HEAP32[$n>>2] = $$; + $104 = HEAP32[$n>>2]|0; + $105 = HEAP32[$10>>2]|0; + HEAP32[$105>>2] = $104; + $106 = HEAP32[$nPayload>>2]|0; + HEAP32[$spaceLeft>>2] = $106; + $107 = HEAP32[$4>>2]|0; + HEAP32[$pPrior>>2] = $107; + } else { + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + 12|0); + $110 = HEAP16[$109>>1]|0; + $111 = $110&65535; + HEAP32[$mn>>2] = $111; + $112 = HEAP32[$mn>>2]|0; + $113 = HEAP32[$nPayload>>2]|0; + $114 = HEAP32[$mn>>2]|0; + $115 = (($113) - ($114))|0; + $116 = HEAP32[$3>>2]|0; + $117 = ((($116)) + 52|0); + $118 = HEAP32[$117>>2]|0; + $119 = ((($118)) + 36|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) - 4)|0; + $122 = (($115>>>0) % ($121>>>0))&-1; + $123 = (($112) + ($122))|0; + HEAP32[$n>>2] = $123; + $124 = HEAP32[$n>>2]|0; + $125 = HEAP32[$3>>2]|0; + $126 = ((($125)) + 10|0); + $127 = HEAP16[$126>>1]|0; + $128 = $127&65535; + $129 = ($124|0)>($128|0); + if ($129) { + $130 = HEAP32[$mn>>2]|0; + HEAP32[$n>>2] = $130; + } + $131 = HEAP32[$n>>2]|0; + HEAP32[$spaceLeft>>2] = $131; + $132 = HEAP32[$n>>2]|0; + $133 = HEAP32[$nHeader>>2]|0; + $134 = (($132) + ($133))|0; + $135 = (($134) + 4)|0; + $136 = HEAP32[$10>>2]|0; + HEAP32[$136>>2] = $135; + $137 = HEAP32[$nHeader>>2]|0; + $138 = HEAP32[$n>>2]|0; + $139 = (($137) + ($138))|0; + $140 = HEAP32[$4>>2]|0; + $141 = (($140) + ($139)|0); + HEAP32[$pPrior>>2] = $141; + } + $142 = HEAP32[$nHeader>>2]|0; + $143 = HEAP32[$4>>2]|0; + $144 = (($143) + ($142)|0); + HEAP32[$pPayload>>2] = $144; + while(1) { + $145 = HEAP32[$nPayload>>2]|0; + $146 = ($145|0)>(0); + if (!($146)) { + label = 37; + break; + } + $147 = HEAP32[$spaceLeft>>2]|0; + $148 = ($147|0)==(0); + if ($148) { + $149 = HEAP32[$pgnoOvfl>>2]|0; + HEAP32[$pgnoPtrmap>>2] = $149; + $150 = HEAP32[$pBt>>2]|0; + $151 = ((($150)) + 17|0); + $152 = HEAP8[$151>>0]|0; + $153 = ($152<<24>>24)!=(0); + if ($153) { + while(1) { + $154 = HEAP32[$pgnoOvfl>>2]|0; + $155 = (($154) + 1)|0; + HEAP32[$pgnoOvfl>>2] = $155; + $156 = HEAP32[$pBt>>2]|0; + $157 = HEAP32[$pgnoOvfl>>2]|0; + $158 = (_ptrmapPageno($156,$157)|0); + $159 = HEAP32[$pgnoOvfl>>2]|0; + $160 = ($158|0)==($159|0); + if ($160) { + continue; + } + $161 = HEAP32[$pgnoOvfl>>2]|0; + $162 = HEAP32[916>>2]|0; + $163 = HEAP32[$pBt>>2]|0; + $164 = ((($163)) + 32|0); + $165 = HEAP32[$164>>2]|0; + $166 = (($162>>>0) / ($165>>>0))&-1; + $167 = (($166) + 1)|0; + $168 = ($161|0)==($167|0); + if (!($168)) { + break; + } + } + } + $169 = HEAP32[$pBt>>2]|0; + $170 = HEAP32[$pgnoOvfl>>2]|0; + $171 = (_allocateBtreePage($169,$pOvfl,$pgnoOvfl,$170,0)|0); + HEAP32[$rc>>2] = $171; + $172 = HEAP32[$pBt>>2]|0; + $173 = ((($172)) + 17|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = ($175|0)!=(0); + $177 = HEAP32[$rc>>2]|0; + $178 = ($177|0)==(0); + $or$cond3 = $176 & $178; + if ($or$cond3) { + $179 = HEAP32[$pgnoPtrmap>>2]|0; + $180 = ($179|0)!=(0); + $181 = $180 ? 4 : 3; + $182 = $181&255; + HEAP8[$eType>>0] = $182; + $183 = HEAP32[$pBt>>2]|0; + $184 = HEAP32[$pgnoOvfl>>2]|0; + $185 = HEAP8[$eType>>0]|0; + $186 = HEAP32[$pgnoPtrmap>>2]|0; + _ptrmapPut($183,$184,$185,$186,$rc); + $187 = HEAP32[$rc>>2]|0; + $188 = ($187|0)!=(0); + if ($188) { + $189 = HEAP32[$pOvfl>>2]|0; + _releasePage($189); + } + } + $190 = HEAP32[$rc>>2]|0; + $191 = ($190|0)!=(0); + if ($191) { + label = 26; + break; + } + $194 = HEAP32[$pPrior>>2]|0; + $195 = HEAP32[$pgnoOvfl>>2]|0; + _sqlite3Put4byte($194,$195); + $196 = HEAP32[$pToRelease>>2]|0; + _releasePage($196); + $197 = HEAP32[$pOvfl>>2]|0; + HEAP32[$pToRelease>>2] = $197; + $198 = HEAP32[$pOvfl>>2]|0; + $199 = ((($198)) + 56|0); + $200 = HEAP32[$199>>2]|0; + HEAP32[$pPrior>>2] = $200; + $201 = HEAP32[$pPrior>>2]|0; + _sqlite3Put4byte($201,0); + $202 = HEAP32[$pOvfl>>2]|0; + $203 = ((($202)) + 56|0); + $204 = HEAP32[$203>>2]|0; + $205 = ((($204)) + 4|0); + HEAP32[$pPayload>>2] = $205; + $206 = HEAP32[$pBt>>2]|0; + $207 = ((($206)) + 36|0); + $208 = HEAP32[$207>>2]|0; + $209 = (($208) - 4)|0; + HEAP32[$spaceLeft>>2] = $209; + } + $210 = HEAP32[$nPayload>>2]|0; + HEAP32[$n>>2] = $210; + $211 = HEAP32[$n>>2]|0; + $212 = HEAP32[$spaceLeft>>2]|0; + $213 = ($211|0)>($212|0); + if ($213) { + $214 = HEAP32[$spaceLeft>>2]|0; + HEAP32[$n>>2] = $214; + } + $215 = HEAP32[$nSrc>>2]|0; + $216 = ($215|0)>(0); + if ($216) { + $217 = HEAP32[$n>>2]|0; + $218 = HEAP32[$nSrc>>2]|0; + $219 = ($217|0)>($218|0); + if ($219) { + $220 = HEAP32[$nSrc>>2]|0; + HEAP32[$n>>2] = $220; + } + $221 = HEAP32[$pPayload>>2]|0; + $222 = HEAP32[$pSrc>>2]|0; + $223 = HEAP32[$n>>2]|0; + _memcpy(($221|0),($222|0),($223|0))|0; + } else { + $224 = HEAP32[$pPayload>>2]|0; + $225 = HEAP32[$n>>2]|0; + _memset(($224|0),0,($225|0))|0; + } + $226 = HEAP32[$n>>2]|0; + $227 = HEAP32[$nPayload>>2]|0; + $228 = (($227) - ($226))|0; + HEAP32[$nPayload>>2] = $228; + $229 = HEAP32[$n>>2]|0; + $230 = HEAP32[$pPayload>>2]|0; + $231 = (($230) + ($229)|0); + HEAP32[$pPayload>>2] = $231; + $232 = HEAP32[$n>>2]|0; + $233 = HEAP32[$pSrc>>2]|0; + $234 = (($233) + ($232)|0); + HEAP32[$pSrc>>2] = $234; + $235 = HEAP32[$n>>2]|0; + $236 = HEAP32[$nSrc>>2]|0; + $237 = (($236) - ($235))|0; + HEAP32[$nSrc>>2] = $237; + $238 = HEAP32[$n>>2]|0; + $239 = HEAP32[$spaceLeft>>2]|0; + $240 = (($239) - ($238))|0; + HEAP32[$spaceLeft>>2] = $240; + $241 = HEAP32[$nSrc>>2]|0; + $242 = ($241|0)==(0); + if (!($242)) { + continue; + } + $243 = HEAP32[$8>>2]|0; + HEAP32[$nSrc>>2] = $243; + $244 = HEAP32[$7>>2]|0; + HEAP32[$pSrc>>2] = $244; + } + if ((label|0) == 26) { + $192 = HEAP32[$pToRelease>>2]|0; + _releasePage($192); + $193 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $193; + $246 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($246|0); + } + else if ((label|0) == 37) { + $245 = HEAP32[$pToRelease>>2]|0; + _releasePage($245); + HEAP32[$2>>2] = 0; + $246 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($246|0); + } + return (0)|0; +} +function _sqlite3VdbeSorterClose($db,$pCsr) { + $db = $db|0; + $pCsr = $pCsr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pSorter = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $pSorter = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pCsr; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 56|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pSorter>>2] = $4; + $5 = HEAP32[$pSorter>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$pSorter>>2]|0; + _sqlite3VdbeSorterReset($7,$8); + $9 = HEAP32[$pSorter>>2]|0; + $10 = ((($9)) + 36|0); + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + _sqlite3_free($12); + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$pSorter>>2]|0; + _sqlite3DbFree($13,$14); + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 56|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; +} +function _btreeCreateTable($p,$piTable,$createTabFlags) { + $p = $p|0; + $piTable = $piTable|0; + $createTabFlags = $createTabFlags|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eType = 0, $iPtrPage = 0; + var $pBt = 0, $pPageMove = 0, $pRoot = 0, $pgnoMove = 0, $pgnoRoot = 0, $ptfFlags = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 4|0; + $1 = sp; + $2 = sp + 16|0; + $3 = sp + 28|0; + $pBt = sp + 32|0; + $pRoot = sp + 40|0; + $pgnoRoot = sp + 44|0; + $rc = sp + 24|0; + $ptfFlags = sp + 20|0; + $pgnoMove = sp + 8|0; + $pPageMove = sp + 12|0; + $eType = sp + 48|0; + $iPtrPage = sp + 36|0; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $piTable; + HEAP32[$3>>2] = $createTabFlags; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$pBt>>2] = $6; + $7 = HEAP32[$pBt>>2]|0; + $8 = ((($7)) + 17|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + $11 = HEAP32[$pBt>>2]|0; + if ($10) { + _invalidateAllOverflowCache($11); + $12 = HEAP32[$1>>2]|0; + _sqlite3BtreeGetMeta($12,4,$pgnoRoot); + $13 = HEAP32[$pgnoRoot>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$pgnoRoot>>2] = $14; + while(1) { + $15 = HEAP32[$pgnoRoot>>2]|0; + $16 = HEAP32[$pBt>>2]|0; + $17 = HEAP32[$pgnoRoot>>2]|0; + $18 = (_ptrmapPageno($16,$17)|0); + $19 = ($15|0)==($18|0); + if (!($19)) { + $20 = HEAP32[$pgnoRoot>>2]|0; + $21 = HEAP32[916>>2]|0; + $22 = HEAP32[$pBt>>2]|0; + $23 = ((($22)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($21>>>0) / ($24>>>0))&-1; + $26 = (($25) + 1)|0; + $27 = ($20|0)==($26|0); + if (!($27)) { + break; + } + } + $28 = HEAP32[$pgnoRoot>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$pgnoRoot>>2] = $29; + } + $30 = HEAP32[$pBt>>2]|0; + $31 = HEAP32[$pgnoRoot>>2]|0; + $32 = (_allocateBtreePage($30,$pPageMove,$pgnoMove,$31,1)|0); + HEAP32[$rc>>2] = $32; + $33 = HEAP32[$rc>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $35; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + $36 = HEAP32[$pgnoMove>>2]|0; + $37 = HEAP32[$pgnoRoot>>2]|0; + $38 = ($36|0)!=($37|0); + if ($38) { + HEAP8[$eType>>0] = 0; + HEAP32[$iPtrPage>>2] = 0; + $39 = HEAP32[$pBt>>2]|0; + $40 = (_saveAllCursors($39,0,0)|0); + HEAP32[$rc>>2] = $40; + $41 = HEAP32[$pPageMove>>2]|0; + _releasePage($41); + $42 = HEAP32[$rc>>2]|0; + $43 = ($42|0)!=(0); + if ($43) { + $44 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $44; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + $45 = HEAP32[$pBt>>2]|0; + $46 = HEAP32[$pgnoRoot>>2]|0; + $47 = (_btreeGetPage($45,$46,$pRoot,0)|0); + HEAP32[$rc>>2] = $47; + $48 = HEAP32[$rc>>2]|0; + $49 = ($48|0)!=(0); + if ($49) { + $50 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $50; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + $51 = HEAP32[$pBt>>2]|0; + $52 = HEAP32[$pgnoRoot>>2]|0; + $53 = (_ptrmapGet($51,$52,$eType,$iPtrPage)|0); + HEAP32[$rc>>2] = $53; + $54 = HEAP8[$eType>>0]|0; + $55 = $54&255; + $56 = ($55|0)==(1); + if ($56) { + label = 15; + } else { + $57 = HEAP8[$eType>>0]|0; + $58 = $57&255; + $59 = ($58|0)==(2); + if ($59) { + label = 15; + } + } + if ((label|0) == 15) { + $60 = (_sqlite3CorruptError(59666)|0); + HEAP32[$rc>>2] = $60; + } + $61 = HEAP32[$rc>>2]|0; + $62 = ($61|0)!=(0); + if ($62) { + $63 = HEAP32[$pRoot>>2]|0; + _releasePage($63); + $64 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $64; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + $65 = HEAP32[$pBt>>2]|0; + $66 = HEAP32[$pRoot>>2]|0; + $67 = HEAP8[$eType>>0]|0; + $68 = HEAP32[$iPtrPage>>2]|0; + $69 = HEAP32[$pgnoMove>>2]|0; + $70 = (_relocatePage($65,$66,$67,$68,$69,0)|0); + HEAP32[$rc>>2] = $70; + $71 = HEAP32[$pRoot>>2]|0; + _releasePage($71); + $72 = HEAP32[$rc>>2]|0; + $73 = ($72|0)!=(0); + if ($73) { + $74 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $74; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + $75 = HEAP32[$pBt>>2]|0; + $76 = HEAP32[$pgnoRoot>>2]|0; + $77 = (_btreeGetPage($75,$76,$pRoot,0)|0); + HEAP32[$rc>>2] = $77; + $78 = HEAP32[$rc>>2]|0; + $79 = ($78|0)!=(0); + if ($79) { + $80 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $80; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + $81 = HEAP32[$pRoot>>2]|0; + $82 = ((($81)) + 68|0); + $83 = HEAP32[$82>>2]|0; + $84 = (_sqlite3PagerWrite($83)|0); + HEAP32[$rc>>2] = $84; + $85 = HEAP32[$rc>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$pRoot>>2]|0; + _releasePage($87); + $88 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $88; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + } else { + $89 = HEAP32[$pPageMove>>2]|0; + HEAP32[$pRoot>>2] = $89; + } + $90 = HEAP32[$pBt>>2]|0; + $91 = HEAP32[$pgnoRoot>>2]|0; + _ptrmapPut($90,$91,1,0,$rc); + $92 = HEAP32[$rc>>2]|0; + $93 = ($92|0)!=(0); + if ($93) { + $94 = HEAP32[$pRoot>>2]|0; + _releasePage($94); + $95 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $95; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + $96 = HEAP32[$1>>2]|0; + $97 = HEAP32[$pgnoRoot>>2]|0; + $98 = (_sqlite3BtreeUpdateMeta($96,4,$97)|0); + HEAP32[$rc>>2] = $98; + $99 = HEAP32[$rc>>2]|0; + $100 = ($99|0)!=(0); + if ($100) { + $101 = HEAP32[$pRoot>>2]|0; + _releasePage($101); + $102 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $102; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + } else { + $103 = (_allocateBtreePage($11,$pRoot,$pgnoRoot,1,0)|0); + HEAP32[$rc>>2] = $103; + $104 = HEAP32[$rc>>2]|0; + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $106; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); + } + } + $107 = HEAP32[$3>>2]|0; + $108 = $107 & 1; + $109 = ($108|0)!=(0); + if ($109) { + HEAP32[$ptfFlags>>2] = 13; + } else { + HEAP32[$ptfFlags>>2] = 10; + } + $110 = HEAP32[$pRoot>>2]|0; + $111 = HEAP32[$ptfFlags>>2]|0; + _zeroPage($110,$111); + $112 = HEAP32[$pRoot>>2]|0; + $113 = ((($112)) + 68|0); + $114 = HEAP32[$113>>2]|0; + _sqlite3PagerUnref($114); + $115 = HEAP32[$pgnoRoot>>2]|0; + $116 = HEAP32[$2>>2]|0; + HEAP32[$116>>2] = $115; + HEAP32[$0>>2] = 0; + $117 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($117|0); +} +function _btreeCursor($p,$iTable,$wrFlag,$pKeyInfo,$pCur) { + $p = $p|0; + $iTable = $iTable|0; + $wrFlag = $wrFlag|0; + $pKeyInfo = $pKeyInfo|0; + $pCur = $pCur|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $5 = sp; + $pBt = sp + 12|0; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $iTable; + HEAP32[$3>>2] = $wrFlag; + HEAP32[$4>>2] = $pKeyInfo; + HEAP32[$5>>2] = $pCur; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$pBt>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP32[$pBt>>2]|0; + $12 = ((($11)) + 22|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 & 1; + $16 = ($15|0)!=(0); + if ($16) { + HEAP32[$0>>2] = 8; + $65 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($65|0); + } + } + $17 = HEAP32[$3>>2]|0; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$pBt>>2]|0; + _allocateTempSpace($19); + $20 = HEAP32[$pBt>>2]|0; + $21 = ((($20)) + 80|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0|0); + if ($23) { + HEAP32[$0>>2] = 7; + $65 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($65|0); + } + } + $24 = HEAP32[$2>>2]|0; + $25 = ($24|0)==(1); + if ($25) { + $26 = HEAP32[$pBt>>2]|0; + $27 = (_btreePagecount($26)|0); + $28 = ($27|0)==(0); + if ($28) { + HEAP32[$2>>2] = 0; + } + } + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$5>>2]|0; + $31 = ((($30)) + 60|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$5>>2]|0; + $33 = ((($32)) + 76|0); + HEAP16[$33>>1] = -1; + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$5>>2]|0; + $36 = ((($35)) + 16|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$1>>2]|0; + $38 = HEAP32[$5>>2]|0; + HEAP32[$38>>2] = $37; + $39 = HEAP32[$pBt>>2]|0; + $40 = HEAP32[$5>>2]|0; + $41 = ((($40)) + 4|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$3>>2]|0; + $43 = $42&255; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 72|0); + HEAP8[$45>>0] = $43; + $46 = HEAP32[$pBt>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$5>>2]|0; + $50 = ((($49)) + 8|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$5>>2]|0; + $52 = ((($51)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0|0); + if ($54) { + $55 = HEAP32[$5>>2]|0; + $56 = HEAP32[$5>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = ((($58)) + 12|0); + HEAP32[$59>>2] = $55; + } + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$pBt>>2]|0; + $62 = ((($61)) + 8|0); + HEAP32[$62>>2] = $60; + $63 = HEAP32[$5>>2]|0; + $64 = ((($63)) + 73|0); + HEAP8[$64>>0] = 0; + HEAP32[$0>>2] = 0; + $65 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($65|0); +} +function _allocateTempSpace($pBt) { + $pBt = $pBt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pBt; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 80|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3PageMalloc($7)|0); + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 80|0); + HEAP32[$10>>2] = $8; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 80|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + STACKTOP = sp;return; + } + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 80|0); + $17 = HEAP32[$16>>2]|0; + ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0;HEAP8[$17+5>>0]=0|0;HEAP8[$17+6>>0]=0|0;HEAP8[$17+7>>0]=0|0; + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 80|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$19>>2] = $21; + STACKTOP = sp;return; +} +function _sqlite3BtreeCursorSize() { + var label = 0, sp = 0; + sp = STACKTOP; + return 200; +} +function _sqlite3BtreeCursorZero($p) { + $p = $p|0; + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + dest=$1; stop=dest+76|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _sqlite3PagerOpenSavepoint($pPager,$nSavepoint) { + $pPager = $pPager|0; + $nSavepoint = $nSavepoint|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $ii = 0, $nCurrent = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $rc = sp + 24|0; + $nCurrent = sp + 4|0; + $ii = sp; + $aNew = sp + 12|0; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $nSavepoint; + HEAP32[$rc>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 96|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$nCurrent>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$nCurrent>>2]|0; + $8 = ($6|0)>($7|0); + L1: do { + if ($8) { + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 6|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 92|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = ($17*48)|0; + $19 = (_sqlite3Realloc($16,$18,0)|0); + HEAP32[$aNew>>2] = $19; + $20 = HEAP32[$aNew>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + HEAP32[$0>>2] = 7; + $124 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($124|0); + } + $22 = HEAP32[$nCurrent>>2]|0; + $23 = HEAP32[$aNew>>2]|0; + $24 = (($23) + (($22*48)|0)|0); + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$nCurrent>>2]|0; + $27 = (($25) - ($26))|0; + $28 = ($27*48)|0; + _memset(($24|0),0,($28|0))|0; + $29 = HEAP32[$aNew>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 92|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$nCurrent>>2]|0; + HEAP32[$ii>>2] = $32; + while(1) { + $33 = HEAP32[$ii>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = ($33|0)<($34|0); + if (!($35)) { + break L1; + } + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 24|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$ii>>2]|0; + $40 = HEAP32[$aNew>>2]|0; + $41 = (($40) + (($39*48)|0)|0); + $42 = ((($41)) + 20|0); + HEAP32[$42>>2] = $38; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)!=(0|0); + if ($47) { + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 72|0); + $50 = $49; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)>(0); + $57 = ($52>>>0)>(0); + $58 = ($55|0)==(0); + $59 = $58 & $57; + $60 = $56 | $59; + if ($60) { + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 72|0); + $63 = $62; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$ii>>2]|0; + $70 = HEAP32[$aNew>>2]|0; + $71 = (($70) + (($69*48)|0)|0); + $72 = $71; + $73 = $72; + HEAP32[$73>>2] = $65; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $68; + } else { + label = 10; + } + } else { + label = 10; + } + if ((label|0) == 10) { + label = 0; + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 148|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$ii>>2]|0; + $80 = HEAP32[$aNew>>2]|0; + $81 = (($80) + (($79*48)|0)|0); + $82 = $81; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = 0; + } + $86 = HEAP32[$1>>2]|0; + $87 = ((($86)) + 52|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$ii>>2]|0; + $90 = HEAP32[$aNew>>2]|0; + $91 = (($90) + (($89*48)|0)|0); + $92 = ((($91)) + 24|0); + HEAP32[$92>>2] = $88; + $93 = HEAP32[$1>>2]|0; + $94 = ((($93)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = (_sqlite3BitvecCreate($95)|0); + $97 = HEAP32[$ii>>2]|0; + $98 = HEAP32[$aNew>>2]|0; + $99 = (($98) + (($97*48)|0)|0); + $100 = ((($99)) + 16|0); + HEAP32[$100>>2] = $96; + $101 = HEAP32[$ii>>2]|0; + $102 = HEAP32[$aNew>>2]|0; + $103 = (($102) + (($101*48)|0)|0); + $104 = ((($103)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105|0)!=(0|0); + if (!($106)) { + break; + } + $107 = HEAP32[$1>>2]|0; + $108 = (_pagerUseWal($107)|0); + $109 = ($108|0)!=(0); + if ($109) { + $110 = HEAP32[$1>>2]|0; + $111 = ((($110)) + 208|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$ii>>2]|0; + $114 = HEAP32[$aNew>>2]|0; + $115 = (($114) + (($113*48)|0)|0); + $116 = ((($115)) + 28|0); + _sqlite3WalSavepoint($112,$116); + } + $117 = HEAP32[$ii>>2]|0; + $118 = (($117) + 1)|0; + $119 = HEAP32[$1>>2]|0; + $120 = ((($119)) + 96|0); + HEAP32[$120>>2] = $118; + $121 = HEAP32[$ii>>2]|0; + $122 = (($121) + 1)|0; + HEAP32[$ii>>2] = $122; + } + HEAP32[$0>>2] = 7; + $124 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($124|0); + } + } + } while(0); + $123 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $123; + $124 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($124|0); +} +function _sqlite3WalSavepoint($pWal,$aWalData) { + $pWal = $pWal|0; + $aWalData = $aWalData|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pWal; + HEAP32[$1>>2] = $aWalData; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 52|0); + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$1>>2]|0; + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 52|0); + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 4|0); + HEAP32[$12>>2] = $10; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 52|0); + $15 = ((($14)) + 24|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 8|0); + HEAP32[$19>>2] = $17; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 104|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 12|0); + HEAP32[$24>>2] = $22; + STACKTOP = sp;return; +} +function _sqlite3BtreeIsInTrans($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + $9 = 0; + $8 = $9&1; + STACKTOP = sp;return ($8|0); + } + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)==(2); + $9 = $7; + $8 = $9&1; + STACKTOP = sp;return ($8|0); +} +function _newDatabase($pBt) { + $pBt = $pBt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $9 = 0, $data = 0, $pP1 = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $pP1 = sp + 8|0; + $data = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pBt; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 44|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4>>>0)>(0); + if ($5) { + HEAP32[$0>>2] = 0; + $81 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($81|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$pP1>>2] = $8; + $9 = HEAP32[$pP1>>2]|0; + $10 = ((($9)) + 56|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$data>>2] = $11; + $12 = HEAP32[$pP1>>2]|0; + $13 = ((($12)) + 68|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3PagerWrite($14)|0); + HEAP32[$rc>>2] = $15; + $16 = HEAP32[$rc>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $18; + $81 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($81|0); + } else { + $19 = HEAP32[$data>>2]|0; + dest=$19; src=33938; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 >>> 8; + $24 = $23 & 255; + $25 = $24&255; + $26 = HEAP32[$data>>2]|0; + $27 = ((($26)) + 16|0); + HEAP8[$27>>0] = $25; + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30 >>> 16; + $32 = $31 & 255; + $33 = $32&255; + $34 = HEAP32[$data>>2]|0; + $35 = ((($34)) + 17|0); + HEAP8[$35>>0] = $33; + $36 = HEAP32[$data>>2]|0; + $37 = ((($36)) + 18|0); + HEAP8[$37>>0] = 1; + $38 = HEAP32[$data>>2]|0; + $39 = ((($38)) + 19|0); + HEAP8[$39>>0] = 1; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 32|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 36|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($42) - ($45))|0; + $47 = $46&255; + $48 = HEAP32[$data>>2]|0; + $49 = ((($48)) + 20|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[$data>>2]|0; + $51 = ((($50)) + 21|0); + HEAP8[$51>>0] = 64; + $52 = HEAP32[$data>>2]|0; + $53 = ((($52)) + 22|0); + HEAP8[$53>>0] = 32; + $54 = HEAP32[$data>>2]|0; + $55 = ((($54)) + 23|0); + HEAP8[$55>>0] = 32; + $56 = HEAP32[$data>>2]|0; + $57 = ((($56)) + 24|0); + dest=$57; stop=dest+76|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $58 = HEAP32[$pP1>>2]|0; + _zeroPage($58,13); + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 22|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 | 2; + $64 = $63&65535; + HEAP16[$60>>1] = $64; + $65 = HEAP32[$data>>2]|0; + $66 = ((($65)) + 52|0); + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 17|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + _sqlite3Put4byte($66,$70); + $71 = HEAP32[$data>>2]|0; + $72 = ((($71)) + 64|0); + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 18|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + _sqlite3Put4byte($72,$76); + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 44|0); + HEAP32[$78>>2] = 1; + $79 = HEAP32[$data>>2]|0; + $80 = ((($79)) + 31|0); + HEAP8[$80>>0] = 1; + HEAP32[$0>>2] = 0; + $81 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($81|0); + } + return (0)|0; +} +function _putVarint64($p,$0,$1) { + $p = $p|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $buf = 0; + var $i = 0, $j = 0, $n = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 12|0; + $3 = sp + 20|0; + $4 = sp; + $i = sp + 24|0; + $j = sp + 8|0; + $n = sp + 16|0; + $buf = sp + 28|0; + HEAP32[$3>>2] = $p; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = $4; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = $14 & -16777216; + $16 = (0)!=(0); + $17 = ($15|0)!=(0); + $18 = $16 | $17; + if ($18) { + $19 = $4; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = $21&255; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 8|0); + HEAP8[$27>>0] = $25; + $28 = $4; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (_bitshift64Lshr(($30|0),($33|0),8)|0); + $35 = tempRet0; + $36 = $4; + $37 = $36; + HEAP32[$37>>2] = $34; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = $35; + HEAP32[$i>>2] = 7; + while(1) { + $40 = HEAP32[$i>>2]|0; + $41 = ($40|0)>=(0); + if (!($41)) { + break; + } + $42 = $4; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $44 & 127; + $49 = $48 | 128; + $50 = $49&255; + $51 = HEAP32[$i>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = (($52) + ($51)|0); + HEAP8[$53>>0] = $50; + $54 = $4; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (_bitshift64Lshr(($56|0),($59|0),7)|0); + $61 = tempRet0; + $62 = $4; + $63 = $62; + HEAP32[$63>>2] = $60; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + $66 = HEAP32[$i>>2]|0; + $67 = (($66) + -1)|0; + HEAP32[$i>>2] = $67; + } + HEAP32[$2>>2] = 9; + $120 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($120|0); + } + HEAP32[$n>>2] = 0; + while(1) { + $68 = $4; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $70 & 127; + $75 = $74 | 128; + $76 = $75&255; + $77 = HEAP32[$n>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$n>>2] = $78; + $79 = (($buf) + ($77)|0); + HEAP8[$79>>0] = $76; + $80 = $4; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (_bitshift64Lshr(($82|0),($85|0),7)|0); + $87 = tempRet0; + $88 = $4; + $89 = $88; + HEAP32[$89>>2] = $86; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = $4; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = ($94|0)!=(0); + $99 = ($97|0)!=(0); + $100 = $98 | $99; + if (!($100)) { + break; + } + } + $101 = HEAP8[$buf>>0]|0; + $102 = $101&255; + $103 = $102 & 127; + $104 = $103&255; + HEAP8[$buf>>0] = $104; + HEAP32[$i>>2] = 0; + $105 = HEAP32[$n>>2]|0; + $106 = (($105) - 1)|0; + HEAP32[$j>>2] = $106; + while(1) { + $107 = HEAP32[$j>>2]|0; + $108 = ($107|0)>=(0); + if (!($108)) { + break; + } + $109 = HEAP32[$j>>2]|0; + $110 = (($buf) + ($109)|0); + $111 = HEAP8[$110>>0]|0; + $112 = HEAP32[$i>>2]|0; + $113 = HEAP32[$3>>2]|0; + $114 = (($113) + ($112)|0); + HEAP8[$114>>0] = $111; + $115 = HEAP32[$j>>2]|0; + $116 = (($115) + -1)|0; + HEAP32[$j>>2] = $116; + $117 = HEAP32[$i>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$i>>2] = $118; + } + $119 = HEAP32[$n>>2]|0; + HEAP32[$2>>2] = $119; + $120 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($120|0); +} +function _fetchPayload($pCur,$pAmt) { + $pCur = $pCur|0; + $pAmt = $pAmt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pCur; + HEAP32[$1>>2] = $pAmt; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 24|0); + $4 = ((($3)) + 16|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = HEAP32[$1>>2]|0; + HEAP32[$7>>2] = $6; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 24|0); + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _handleDeferredMoveto($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $res = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $res = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 48|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3BtreeMovetoUnpacked($3,0,$8,$11,0,$res)|0); + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$rc>>2]|0; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $15; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); + } + $16 = HEAP32[$res>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = (_sqlite3CorruptError(65954)|0); + HEAP32[$0>>2] = $18; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); + } else { + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 26|0); + HEAP8[$20>>0] = 0; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 60|0); + HEAP32[$22>>2] = 0; + HEAP32[$0>>2] = 0; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _sqlite3BlobCompare($pB1,$pB2) { + $pB1 = $pB1|0; + $pB2 = $pB2|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $c = sp; + HEAP32[$1>>2] = $pB1; + HEAP32[$2>>2] = $pB2; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($11|0)>($14|0); + if ($15) { + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $22 = $18; + } else { + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = $21; + } + $23 = (_memcmp($5,$8,$22)|0); + HEAP32[$c>>2] = $23; + $24 = HEAP32[$c>>2]|0; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$c>>2]|0; + HEAP32[$0>>2] = $26; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); + } else { + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($29) - ($32))|0; + HEAP32[$0>>2] = $33; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); + } + return (0)|0; +} +function _computeNumericType($pMem) { + $pMem = $pMem|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$1>>2] = $pMem; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 10|0); + $11 = HEAP8[$10>>0]|0; + $12 = (_sqlite3AtoF($4,$5,$8,$11)|0); + $13 = ($12|0)==(0); + if ($13) { + HEAP16[$0>>1] = 0; + $26 = HEAP16[$0>>1]|0; + STACKTOP = sp;return ($26|0); + } + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 10|0); + $23 = HEAP8[$22>>0]|0; + $24 = (_sqlite3Atoi64($16,$17,$20,$23)|0); + $25 = ($24|0)==(0); + if ($25) { + HEAP16[$0>>1] = 4; + $26 = HEAP16[$0>>1]|0; + STACKTOP = sp;return ($26|0); + } else { + HEAP16[$0>>1] = 8; + $26 = HEAP16[$0>>1]|0; + STACKTOP = sp;return ($26|0); + } + return (0)|0; +} +function _vdbeMemAddTerminator($pMem) { + $pMem = $pMem|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$1>>2] = $pMem; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + 2)|0; + $7 = (_sqlite3VdbeMemGrow($2,$6,1)|0); + $8 = ($7|0)!=(0); + if ($8) { + HEAP32[$0>>2] = 7; + $30 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($30|0); + } else { + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($11)|0); + HEAP8[$15>>0] = 0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + 1)|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($19)|0); + HEAP8[$23>>0] = 0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26&65535; + $28 = $27 | 512; + $29 = $28&65535; + HEAP16[$25>>1] = $29; + HEAP32[$0>>2] = 0; + $30 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($30|0); + } + return (0)|0; +} +function _closeAllCursors($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i = 0, $pC = 0, $pDel = 0, $pFrame = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $pFrame = sp + 12|0; + $i = sp + 8|0; + $pC = sp + 4|0; + $pDel = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 176|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 176|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$pFrame>>2] = $7; + while(1) { + $8 = HEAP32[$pFrame>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + $12 = HEAP32[$pFrame>>2]|0; + if (!($11)) { + break; + } + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$pFrame>>2] = $14; + } + (_sqlite3VdbeFrameRestore($12)|0); + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 176|0); + HEAP32[$16>>2] = 0; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 184|0); + HEAP32[$18>>2] = 0; + } + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(0|0); + L8: do { + if ($22) { + HEAP32[$i>>2] = 0; + while(1) { + $23 = HEAP32[$i>>2]|0; + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 36|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)<($26|0); + if (!($27)) { + break L8; + } + $28 = HEAP32[$i>>2]|0; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 56|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + ($28<<2)|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$pC>>2] = $33; + $34 = HEAP32[$pC>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $36 = HEAP32[$0>>2]|0; + $37 = HEAP32[$pC>>2]|0; + _sqlite3VdbeFreeCursor($36,$37); + $38 = HEAP32[$i>>2]|0; + $39 = HEAP32[$0>>2]|0; + $40 = ((($39)) + 56|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + ($38<<2)|0); + HEAP32[$42>>2] = 0; + } + $43 = HEAP32[$i>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$i>>2] = $44; + } + } + } while(0); + $45 = HEAP32[$0>>2]|0; + $46 = ((($45)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)!=(0|0); + if ($48) { + $49 = HEAP32[$0>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($51)) + 40|0); + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 28|0); + $55 = HEAP32[$54>>2]|0; + _releaseMemArray($52,$55); + } + while(1) { + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 180|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)!=(0|0); + $60 = HEAP32[$0>>2]|0; + if (!($59)) { + break; + } + $61 = ((($60)) + 180|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$pDel>>2] = $62; + $63 = HEAP32[$pDel>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 180|0); + HEAP32[$67>>2] = $65; + $68 = HEAP32[$pDel>>2]|0; + _sqlite3VdbeFrameDelete($68); + } + $69 = ((($60)) + 204|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0|0); + if (!($71)) { + STACKTOP = sp;return; + } + $72 = HEAP32[$0>>2]|0; + _sqlite3VdbeDeleteAuxData($72,-1,0); + STACKTOP = sp;return; +} +function _vdbeCommit($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $3 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iRandom = 0, $nMainFile = 0, $nTrans = 0, $needSync = 0, $needXcommit = 0; + var $offset = 0, $or$cond = 0, $pBt = 0, $pBt1 = 0, $pBt2 = 0, $pBt3 = 0, $pBt4 = 0, $pBt5 = 0, $pMaster = 0, $pVfs = 0, $rc = 0, $res = 0, $retryCount = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr14 = 0, $zFile = 0, $zMainFile = 0; + var $zMaster = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer8 = sp + 8|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer = sp + 24|0; + $0 = sp + 72|0; + $1 = sp + 48|0; + $2 = sp + 40|0; + $i = sp + 96|0; + $nTrans = sp + 84|0; + $rc = sp + 68|0; + $needXcommit = sp + 64|0; + $pBt = sp + 44|0; + $pBt1 = sp + 52|0; + $pBt2 = sp + 56|0; + $pVfs = sp + 60|0; + $needSync = sp + 92|0; + $zMaster = sp + 88|0; + $zMainFile = sp + 80|0; + $pMaster = sp + 76|0; + $offset = sp; + $res = sp + 100|0; + $retryCount = sp + 104|0; + $nMainFile = sp + 108|0; + $iRandom = sp + 112|0; + $pBt3 = sp + 116|0; + $zFile = sp + 120|0; + $pBt4 = sp + 124|0; + $pBt5 = sp + 128|0; + HEAP32[$1>>2] = $db; + HEAP32[$2>>2] = $p; + HEAP32[$nTrans>>2] = 0; + HEAP32[$rc>>2] = 0; + HEAP32[$needXcommit>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = (_sqlite3VtabSync($3,$4)|0); + HEAP32[$rc>>2] = $5; + HEAP32[$i>>2] = 0; + while(1) { + $6 = HEAP32[$rc>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + break; + } + $8 = HEAP32[$i>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + if (!($12)) { + break; + } + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + ($13<<4)|0); + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$pBt>>2] = $19; + $20 = HEAP32[$pBt>>2]|0; + $21 = (_sqlite3BtreeIsInTrans($20)|0); + $22 = ($21|0)!=(0); + if ($22) { + HEAP32[$needXcommit>>2] = 1; + $23 = HEAP32[$i>>2]|0; + $24 = ($23|0)!=(1); + if ($24) { + $25 = HEAP32[$nTrans>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$nTrans>>2] = $26; + } + $27 = HEAP32[$pBt>>2]|0; + _sqlite3BtreeEnter($27); + $28 = HEAP32[$pBt>>2]|0; + $29 = (_sqlite3BtreePager($28)|0); + $30 = (_sqlite3PagerExclusiveLock($29)|0); + HEAP32[$rc>>2] = $30; + } + $31 = HEAP32[$i>>2]|0; + $32 = (($31) + 1)|0; + HEAP32[$i>>2] = $32; + } + $33 = HEAP32[$rc>>2]|0; + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $35; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); + } + $36 = HEAP32[$needXcommit>>2]|0; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 192|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 192|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 188|0); + $47 = HEAP32[$46>>2]|0; + $48 = (FUNCTION_TABLE_ii[$44 & 31]($47)|0); + HEAP32[$rc>>2] = $48; + $49 = HEAP32[$rc>>2]|0; + $50 = ($49|0)!=(0); + if ($50) { + HEAP32[$0>>2] = 531; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); + } + } + } + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_sqlite3BtreeGetFilename($55)|0); + $57 = (_sqlite3Strlen30($56)|0); + $58 = (0)==($57|0); + $59 = HEAP32[$nTrans>>2]|0; + $60 = ($59|0)<=(1); + $or$cond = $58 | $60; + if ($or$cond) { + HEAP32[$i>>2] = 0; + while(1) { + $61 = HEAP32[$rc>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + break; + } + $63 = HEAP32[$i>>2]|0; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($63|0)<($66|0); + if (!($67)) { + break; + } + $68 = HEAP32[$i>>2]|0; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 16|0); + $71 = HEAP32[$70>>2]|0; + $72 = (($71) + ($68<<4)|0); + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + HEAP32[$pBt1>>2] = $74; + $75 = HEAP32[$pBt1>>2]|0; + $76 = ($75|0)!=(0|0); + if ($76) { + $77 = HEAP32[$pBt1>>2]|0; + $78 = (_sqlite3BtreeCommitPhaseOne($77,0)|0); + HEAP32[$rc>>2] = $78; + } + $79 = HEAP32[$i>>2]|0; + $80 = (($79) + 1)|0; + HEAP32[$i>>2] = $80; + } + HEAP32[$i>>2] = 0; + while(1) { + $81 = HEAP32[$rc>>2]|0; + $82 = ($81|0)==(0); + if (!($82)) { + break; + } + $83 = HEAP32[$i>>2]|0; + $84 = HEAP32[$1>>2]|0; + $85 = ((($84)) + 20|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($83|0)<($86|0); + if (!($87)) { + break; + } + $88 = HEAP32[$i>>2]|0; + $89 = HEAP32[$1>>2]|0; + $90 = ((($89)) + 16|0); + $91 = HEAP32[$90>>2]|0; + $92 = (($91) + ($88<<4)|0); + $93 = ((($92)) + 4|0); + $94 = HEAP32[$93>>2]|0; + HEAP32[$pBt2>>2] = $94; + $95 = HEAP32[$pBt2>>2]|0; + $96 = ($95|0)!=(0|0); + if ($96) { + $97 = HEAP32[$pBt2>>2]|0; + $98 = (_sqlite3BtreeCommitPhaseTwo($97,0)|0); + HEAP32[$rc>>2] = $98; + } + $99 = HEAP32[$i>>2]|0; + $100 = (($99) + 1)|0; + HEAP32[$i>>2] = $100; + } + $101 = HEAP32[$rc>>2]|0; + $102 = ($101|0)==(0); + if ($102) { + $103 = HEAP32[$1>>2]|0; + (_sqlite3VtabCommit($103)|0); + } + } else { + $104 = HEAP32[$1>>2]|0; + $105 = HEAP32[$104>>2]|0; + HEAP32[$pVfs>>2] = $105; + HEAP32[$needSync>>2] = 0; + HEAP32[$zMaster>>2] = 0; + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 16|0); + $108 = HEAP32[$107>>2]|0; + $109 = ((($108)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = (_sqlite3BtreeGetFilename($110)|0); + HEAP32[$zMainFile>>2] = $111; + HEAP32[$pMaster>>2] = 0; + $112 = $offset; + $113 = $112; + HEAP32[$113>>2] = 0; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = 0; + HEAP32[$retryCount>>2] = 0; + $116 = HEAP32[$zMainFile>>2]|0; + $117 = (_sqlite3Strlen30($116)|0); + HEAP32[$nMainFile>>2] = $117; + $118 = HEAP32[$1>>2]|0; + $119 = HEAP32[$zMainFile>>2]|0; + HEAP32[$vararg_buffer>>2] = $119; + $120 = (_sqlite3MPrintf($118,33954,$vararg_buffer)|0); + HEAP32[$zMaster>>2] = $120; + $121 = HEAP32[$zMaster>>2]|0; + $122 = ($121|0)==(0|0); + if ($122) { + HEAP32[$0>>2] = 7; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); + } + while(1) { + $123 = HEAP32[$retryCount>>2]|0; + $124 = ($123|0)!=(0); + if ($124) { + $125 = HEAP32[$retryCount>>2]|0; + $126 = ($125|0)>(100); + if ($126) { + label = 34; + break; + } + $130 = HEAP32[$retryCount>>2]|0; + $131 = ($130|0)==(1); + if ($131) { + $132 = HEAP32[$zMaster>>2]|0; + HEAP32[$vararg_buffer8>>2] = $132; + _sqlite3_log(13,33984,$vararg_buffer8); + } + } + $133 = HEAP32[$retryCount>>2]|0; + $134 = (($133) + 1)|0; + HEAP32[$retryCount>>2] = $134; + _sqlite3_randomness(4,$iRandom); + $135 = HEAP32[$nMainFile>>2]|0; + $136 = HEAP32[$zMaster>>2]|0; + $137 = (($136) + ($135)|0); + $138 = HEAP32[$iRandom>>2]|0; + $139 = $138 >>> 8; + $140 = $139 & 16777215; + $141 = HEAP32[$iRandom>>2]|0; + $142 = $141 & 255; + HEAP32[$vararg_buffer11>>2] = $140; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $142; + (_sqlite3_snprintf(13,$137,33999,$vararg_buffer11)|0); + $143 = HEAP32[$pVfs>>2]|0; + $144 = HEAP32[$zMaster>>2]|0; + $145 = (_sqlite3OsAccess($143,$144,0,$res)|0); + HEAP32[$rc>>2] = $145; + $146 = HEAP32[$rc>>2]|0; + $147 = ($146|0)==(0); + $148 = HEAP32[$res>>2]|0; + $149 = ($148|0)!=(0); + $150 = $147 ? $149 : 0; + if (!($150)) { + break; + } + } + if ((label|0) == 34) { + $127 = HEAP32[$zMaster>>2]|0; + HEAP32[$vararg_buffer5>>2] = $127; + _sqlite3_log(13,33970,$vararg_buffer5); + $128 = HEAP32[$pVfs>>2]|0; + $129 = HEAP32[$zMaster>>2]|0; + (_sqlite3OsDelete($128,$129,0)|0); + } + $151 = HEAP32[$rc>>2]|0; + $152 = ($151|0)==(0); + if ($152) { + $153 = HEAP32[$pVfs>>2]|0; + $154 = HEAP32[$zMaster>>2]|0; + $155 = (_sqlite3OsOpenMalloc($153,$154,$pMaster,16406,0)|0); + HEAP32[$rc>>2] = $155; + } + $156 = HEAP32[$rc>>2]|0; + $157 = ($156|0)!=(0); + if ($157) { + $158 = HEAP32[$1>>2]|0; + $159 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($158,$159); + $160 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $160; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); + } + HEAP32[$i>>2] = 0; + while(1) { + $161 = HEAP32[$i>>2]|0; + $162 = HEAP32[$1>>2]|0; + $163 = ((($162)) + 20|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($161|0)<($164|0); + if (!($165)) { + break; + } + $166 = HEAP32[$i>>2]|0; + $167 = HEAP32[$1>>2]|0; + $168 = ((($167)) + 16|0); + $169 = HEAP32[$168>>2]|0; + $170 = (($169) + ($166<<4)|0); + $171 = ((($170)) + 4|0); + $172 = HEAP32[$171>>2]|0; + HEAP32[$pBt3>>2] = $172; + $173 = HEAP32[$pBt3>>2]|0; + $174 = (_sqlite3BtreeIsInTrans($173)|0); + $175 = ($174|0)!=(0); + if ($175) { + $176 = HEAP32[$pBt3>>2]|0; + $177 = (_sqlite3BtreeGetJournalname($176)|0); + HEAP32[$zFile>>2] = $177; + $178 = HEAP32[$zFile>>2]|0; + $179 = ($178|0)==(0|0); + if (!($179)) { + $180 = HEAP32[$needSync>>2]|0; + $181 = ($180|0)!=(0); + if (!($181)) { + $182 = HEAP32[$pBt3>>2]|0; + $183 = (_sqlite3BtreeSyncDisabled($182)|0); + $184 = ($183|0)!=(0); + if (!($184)) { + HEAP32[$needSync>>2] = 1; + } + } + $185 = HEAP32[$pMaster>>2]|0; + $186 = HEAP32[$zFile>>2]|0; + $187 = HEAP32[$zFile>>2]|0; + $188 = (_sqlite3Strlen30($187)|0); + $189 = (($188) + 1)|0; + $190 = $offset; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = (($190) + 4)|0; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = (_sqlite3OsWrite($185,$186,$189,$192,$195)|0); + HEAP32[$rc>>2] = $196; + $197 = HEAP32[$zFile>>2]|0; + $198 = (_sqlite3Strlen30($197)|0); + $199 = (($198) + 1)|0; + $200 = ($199|0)<(0); + $201 = $200 << 31 >> 31; + $202 = $offset; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = (($202) + 4)|0; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = (_i64Add(($204|0),($207|0),($199|0),($201|0))|0); + $209 = tempRet0; + $210 = $offset; + $211 = $210; + HEAP32[$211>>2] = $208; + $212 = (($210) + 4)|0; + $213 = $212; + HEAP32[$213>>2] = $209; + $214 = HEAP32[$rc>>2]|0; + $215 = ($214|0)!=(0); + if ($215) { + label = 50; + break; + } + } + } + $222 = HEAP32[$i>>2]|0; + $223 = (($222) + 1)|0; + HEAP32[$i>>2] = $223; + } + if ((label|0) == 50) { + $216 = HEAP32[$pMaster>>2]|0; + (_sqlite3OsCloseFree($216)|0); + $217 = HEAP32[$pVfs>>2]|0; + $218 = HEAP32[$zMaster>>2]|0; + (_sqlite3OsDelete($217,$218,0)|0); + $219 = HEAP32[$1>>2]|0; + $220 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($219,$220); + $221 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $221; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); + } + $224 = HEAP32[$needSync>>2]|0; + $225 = ($224|0)!=(0); + if ($225) { + $226 = HEAP32[$pMaster>>2]|0; + $227 = (_sqlite3OsDeviceCharacteristics($226)|0); + $228 = $227 & 1024; + $229 = (0)==($228|0); + if ($229) { + $230 = HEAP32[$pMaster>>2]|0; + $231 = (_sqlite3OsSync($230,2)|0); + HEAP32[$rc>>2] = $231; + $232 = (0)!=($231|0); + if ($232) { + $233 = HEAP32[$pMaster>>2]|0; + (_sqlite3OsCloseFree($233)|0); + $234 = HEAP32[$pVfs>>2]|0; + $235 = HEAP32[$zMaster>>2]|0; + (_sqlite3OsDelete($234,$235,0)|0); + $236 = HEAP32[$1>>2]|0; + $237 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($236,$237); + $238 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $238; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); + } + } + } + HEAP32[$i>>2] = 0; + while(1) { + $239 = HEAP32[$rc>>2]|0; + $240 = ($239|0)==(0); + if (!($240)) { + break; + } + $241 = HEAP32[$i>>2]|0; + $242 = HEAP32[$1>>2]|0; + $243 = ((($242)) + 20|0); + $244 = HEAP32[$243>>2]|0; + $245 = ($241|0)<($244|0); + if (!($245)) { + break; + } + $246 = HEAP32[$i>>2]|0; + $247 = HEAP32[$1>>2]|0; + $248 = ((($247)) + 16|0); + $249 = HEAP32[$248>>2]|0; + $250 = (($249) + ($246<<4)|0); + $251 = ((($250)) + 4|0); + $252 = HEAP32[$251>>2]|0; + HEAP32[$pBt4>>2] = $252; + $253 = HEAP32[$pBt4>>2]|0; + $254 = ($253|0)!=(0|0); + if ($254) { + $255 = HEAP32[$pBt4>>2]|0; + $256 = HEAP32[$zMaster>>2]|0; + $257 = (_sqlite3BtreeCommitPhaseOne($255,$256)|0); + HEAP32[$rc>>2] = $257; + } + $258 = HEAP32[$i>>2]|0; + $259 = (($258) + 1)|0; + HEAP32[$i>>2] = $259; + } + $260 = HEAP32[$pMaster>>2]|0; + (_sqlite3OsCloseFree($260)|0); + $261 = HEAP32[$rc>>2]|0; + $262 = ($261|0)!=(0); + if ($262) { + $263 = HEAP32[$1>>2]|0; + $264 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($263,$264); + $265 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $265; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); + } + $266 = HEAP32[$pVfs>>2]|0; + $267 = HEAP32[$zMaster>>2]|0; + $268 = (_sqlite3OsDelete($266,$267,1)|0); + HEAP32[$rc>>2] = $268; + $269 = HEAP32[$1>>2]|0; + $270 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($269,$270); + HEAP32[$zMaster>>2] = 0; + $271 = HEAP32[$rc>>2]|0; + $272 = ($271|0)!=(0); + if ($272) { + $273 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $273; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); + } + _sqlite3BeginBenignMalloc(); + HEAP32[$i>>2] = 0; + while(1) { + $274 = HEAP32[$i>>2]|0; + $275 = HEAP32[$1>>2]|0; + $276 = ((($275)) + 20|0); + $277 = HEAP32[$276>>2]|0; + $278 = ($274|0)<($277|0); + if (!($278)) { + break; + } + $279 = HEAP32[$i>>2]|0; + $280 = HEAP32[$1>>2]|0; + $281 = ((($280)) + 16|0); + $282 = HEAP32[$281>>2]|0; + $283 = (($282) + ($279<<4)|0); + $284 = ((($283)) + 4|0); + $285 = HEAP32[$284>>2]|0; + HEAP32[$pBt5>>2] = $285; + $286 = HEAP32[$pBt5>>2]|0; + $287 = ($286|0)!=(0|0); + if ($287) { + $288 = HEAP32[$pBt5>>2]|0; + (_sqlite3BtreeCommitPhaseTwo($288,1)|0); + } + $289 = HEAP32[$i>>2]|0; + $290 = (($289) + 1)|0; + HEAP32[$i>>2] = $290; + } + _sqlite3EndBenignMalloc(); + $291 = HEAP32[$1>>2]|0; + (_sqlite3VtabCommit($291)|0); + } + $292 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $292; + $293 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($293|0); +} +function _sqlite3VtabSync($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aVTrans = 0, $i = 0; + var $pVtab = 0, $rc = 0, $x = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $i = sp + 20|0; + $rc = sp + 24|0; + $aVTrans = sp + 4|0; + $x = sp; + $pVtab = sp + 12|0; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 328|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$aVTrans>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 328|0); + HEAP32[$6>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $7 = HEAP32[$rc>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + label = 8; + break; + } + $9 = HEAP32[$i>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 304|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($9|0)<($12|0); + if (!($13)) { + label = 8; + break; + } + $14 = HEAP32[$i>>2]|0; + $15 = HEAP32[$aVTrans>>2]|0; + $16 = (($15) + ($14<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($17)) + 8|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$pVtab>>2] = $19; + $20 = HEAP32[$pVtab>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { + $22 = HEAP32[$pVtab>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 60|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$x>>2] = $25; + $26 = ($25|0)!=(0|0); + if ($26) { + $27 = HEAP32[$x>>2]|0; + $28 = HEAP32[$pVtab>>2]|0; + $29 = (FUNCTION_TABLE_ii[$27 & 31]($28)|0); + HEAP32[$rc>>2] = $29; + $30 = HEAP32[$1>>2]|0; + $31 = HEAP32[$pVtab>>2]|0; + _sqlite3VtabImportErrmsg($30,$31); + } + } + $32 = HEAP32[$i>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$i>>2] = $33; + } + if ((label|0) == 8) { + $34 = HEAP32[$aVTrans>>2]|0; + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 328|0); + HEAP32[$36>>2] = $34; + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); + } + return (0)|0; +} +function _sqlite3VtabCommit($db) { + $db = $db|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + _callFinaliser($1,64); + STACKTOP = sp;return 0; +} +function _sqlite3BtreeGetJournalname($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3PagerJournalname($4)|0); + STACKTOP = sp;return ($5|0); +} +function _sqlite3BtreeSyncDisabled($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pBt = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pBt>>2] = $3; + $4 = HEAP32[$0>>2]|0; + _sqlite3BtreeEnter($4); + $5 = HEAP32[$pBt>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3PagerNosync($6)|0); + HEAP32[$rc>>2] = $7; + $8 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($8|0); +} +function _sqlite3PagerNosync($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 7|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + STACKTOP = sp;return ($4|0); +} +function _sqlite3PagerJournalname($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pPager; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 172|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _sqlite3VdbeFrameDelete($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aMem = 0, $apCsr = 0, $i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $i = sp + 8|0; + $aMem = sp + 4|0; + $apCsr = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 72|0); + HEAP32[$aMem>>2] = $2; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$aMem>>2]|0; + $7 = (($6) + (($5*40)|0)|0); + HEAP32[$apCsr>>2] = $7; + HEAP32[$i>>2] = 0; + while(1) { + $8 = HEAP32[$i>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 64|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)<($11|0); + if (!($12)) { + break; + } + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$i>>2]|0; + $16 = HEAP32[$apCsr>>2]|0; + $17 = (($16) + ($15<<2)|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3VdbeFreeCursor($14,$18); + $19 = HEAP32[$i>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$i>>2] = $20; + } + $21 = HEAP32[$aMem>>2]|0; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 60|0); + $24 = HEAP32[$23>>2]|0; + _releaseMemArray($21,$24); + $25 = HEAP32[$0>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$0>>2]|0; + _sqlite3DbFree($27,$28); + STACKTOP = sp;return; +} +function _sqlite3OpcodeName($i) { + $i = $i|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $i; + $1 = HEAP32[$0>>2]|0; + $2 = (3384 + ($1<<2)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _displayP4($pOp,$zTemp,$nTemp) { + $pOp = $pOp|0; + $zTemp = $zTemp|0; + $nTemp = $nTemp|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0.0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $j = 0; + var $n = 0, $pColl = 0, $pColl1 = 0, $pDef = 0, $pKeyInfo = 0, $pMem = 0, $pVtab = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer20 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr28 = 0; + var $vararg_ptr7 = 0, $zColl = 0, $zP4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $vararg_buffer31 = sp + 32|0; + $vararg_buffer29 = sp + 56|0; + $vararg_buffer25 = sp + 88|0; + $vararg_buffer23 = sp; + $vararg_buffer20 = sp + 72|0; + $vararg_buffer17 = sp + 80|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer11 = sp + 16|0; + $vararg_buffer8 = sp + 8|0; + $vararg_buffer4 = sp + 48|0; + $vararg_buffer1 = sp + 24|0; + $vararg_buffer = sp + 64|0; + $0 = sp + 132|0; + $1 = sp + 96|0; + $2 = sp + 112|0; + $zP4 = sp + 124|0; + $i = sp + 128|0; + $j = sp + 136|0; + $pKeyInfo = sp + 116|0; + $pColl = sp + 104|0; + $zColl = sp + 100|0; + $n = sp + 120|0; + $pColl1 = sp + 108|0; + $pDef = sp + 140|0; + $pMem = sp + 144|0; + $pVtab = sp + 148|0; + HEAP32[$0>>2] = $pOp; + HEAP32[$1>>2] = $zTemp; + HEAP32[$2>>2] = $nTemp; + $3 = HEAP32[$1>>2]|0; + HEAP32[$zP4>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6 << 24 >> 24; + do { + switch ($7|0) { + case -6: { + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$pKeyInfo>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$pKeyInfo>>2]|0; + $14 = ((($13)) + 6|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + HEAP32[$vararg_buffer>>2] = $16; + (_sqlite3_snprintf($11,$12,34051,$vararg_buffer)|0); + $17 = HEAP32[$1>>2]|0; + $18 = (_sqlite3Strlen30($17)|0); + HEAP32[$i>>2] = $18; + HEAP32[$j>>2] = 0; + while(1) { + $19 = HEAP32[$j>>2]|0; + $20 = HEAP32[$pKeyInfo>>2]|0; + $21 = ((($20)) + 6|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($19|0)<($23|0); + if (!($24)) { + break; + } + $25 = HEAP32[$j>>2]|0; + $26 = HEAP32[$pKeyInfo>>2]|0; + $27 = ((($26)) + 20|0); + $28 = (($27) + ($25<<2)|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$pColl>>2] = $29; + $30 = HEAP32[$pColl>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$pColl>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = $33; + } else { + $34 = 34056; + } + HEAP32[$zColl>>2] = $34; + $35 = HEAP32[$zColl>>2]|0; + $36 = (_sqlite3Strlen30($35)|0); + HEAP32[$n>>2] = $36; + $37 = HEAP32[$n>>2]|0; + $38 = ($37|0)==(6); + if ($38) { + $39 = HEAP32[$zColl>>2]|0; + $40 = (_memcmp($39,15963,6)|0); + $41 = ($40|0)==(0); + if ($41) { + HEAP32[$zColl>>2] = 34060; + HEAP32[$n>>2] = 1; + } + } + $42 = HEAP32[$i>>2]|0; + $43 = HEAP32[$n>>2]|0; + $44 = (($42) + ($43))|0; + $45 = HEAP32[$2>>2]|0; + $46 = (($45) - 6)|0; + $47 = ($44|0)>($46|0); + $48 = HEAP32[$i>>2]|0; + if ($47) { + label = 10; + break; + } + $51 = (($48) + 1)|0; + HEAP32[$i>>2] = $51; + $52 = HEAP32[$1>>2]|0; + $53 = (($52) + ($48)|0); + HEAP8[$53>>0] = 44; + $54 = HEAP32[$j>>2]|0; + $55 = HEAP32[$pKeyInfo>>2]|0; + $56 = ((($55)) + 16|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + ($54)|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59<<24>>24)!=(0); + if ($60) { + $61 = HEAP32[$i>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$i>>2] = $62; + $63 = HEAP32[$1>>2]|0; + $64 = (($63) + ($61)|0); + HEAP8[$64>>0] = 45; + } + $65 = HEAP32[$i>>2]|0; + $66 = HEAP32[$1>>2]|0; + $67 = (($66) + ($65)|0); + $68 = HEAP32[$zColl>>2]|0; + $69 = HEAP32[$n>>2]|0; + $70 = (($69) + 1)|0; + _memcpy(($67|0),($68|0),($70|0))|0; + $71 = HEAP32[$n>>2]|0; + $72 = HEAP32[$i>>2]|0; + $73 = (($72) + ($71))|0; + HEAP32[$i>>2] = $73; + $74 = HEAP32[$j>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$j>>2] = $75; + } + if ((label|0) == 10) { + $49 = HEAP32[$1>>2]|0; + $50 = (($49) + ($48)|0); + ;HEAP8[$50>>0]=HEAP8[34062>>0]|0;HEAP8[$50+1>>0]=HEAP8[34062+1>>0]|0;HEAP8[$50+2>>0]=HEAP8[34062+2>>0]|0;HEAP8[$50+3>>0]=HEAP8[34062+3>>0]|0; + } + $76 = HEAP32[$i>>2]|0; + $77 = (($76) + 1)|0; + HEAP32[$i>>2] = $77; + $78 = HEAP32[$1>>2]|0; + $79 = (($78) + ($76)|0); + HEAP8[$79>>0] = 41; + $80 = HEAP32[$i>>2]|0; + $81 = HEAP32[$1>>2]|0; + $82 = (($81) + ($80)|0); + HEAP8[$82>>0] = 0; + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -4: { + $83 = HEAP32[$0>>2]|0; + $84 = ((($83)) + 16|0); + $85 = HEAP32[$84>>2]|0; + HEAP32[$pColl1>>2] = $85; + $86 = HEAP32[$2>>2]|0; + $87 = HEAP32[$1>>2]|0; + $88 = HEAP32[$pColl1>>2]|0; + $89 = HEAP32[$88>>2]|0; + HEAP32[$vararg_buffer1>>2] = $89; + (_sqlite3_snprintf($86,$87,34067,$vararg_buffer1)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -5: { + $90 = HEAP32[$0>>2]|0; + $91 = ((($90)) + 16|0); + $92 = HEAP32[$91>>2]|0; + HEAP32[$pDef>>2] = $92; + $93 = HEAP32[$2>>2]|0; + $94 = HEAP32[$1>>2]|0; + $95 = HEAP32[$pDef>>2]|0; + $96 = ((($95)) + 24|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$pDef>>2]|0; + $99 = HEAP16[$98>>1]|0; + $100 = $99 << 16 >> 16; + HEAP32[$vararg_buffer4>>2] = $97; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $100; + (_sqlite3_snprintf($93,$94,34075,$vararg_buffer4)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -13: { + $101 = HEAP32[$2>>2]|0; + $102 = HEAP32[$1>>2]|0; + $103 = HEAP32[$0>>2]|0; + $104 = ((($103)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = $vararg_buffer8; + $113 = $112; + HEAP32[$113>>2] = $108; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; + (_sqlite3_snprintf($101,$102,17289,$vararg_buffer8)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -14: { + $116 = HEAP32[$2>>2]|0; + $117 = HEAP32[$1>>2]|0; + $118 = HEAP32[$0>>2]|0; + $119 = ((($118)) + 16|0); + $120 = HEAP32[$119>>2]|0; + HEAP32[$vararg_buffer11>>2] = $120; + (_sqlite3_snprintf($116,$117,34082,$vararg_buffer11)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -12: { + $121 = HEAP32[$2>>2]|0; + $122 = HEAP32[$1>>2]|0; + $123 = HEAP32[$0>>2]|0; + $124 = ((($123)) + 16|0); + $125 = HEAP32[$124>>2]|0; + $126 = +HEAPF64[$125>>3]; + HEAPF64[$vararg_buffer14>>3] = $126; + (_sqlite3_snprintf($121,$122,34085,$vararg_buffer14)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -8: { + $127 = HEAP32[$0>>2]|0; + $128 = ((($127)) + 16|0); + $129 = HEAP32[$128>>2]|0; + HEAP32[$pMem>>2] = $129; + $130 = HEAP32[$pMem>>2]|0; + $131 = ((($130)) + 8|0); + $132 = HEAP16[$131>>1]|0; + $133 = $132&65535; + $134 = $133 & 2; + $135 = ($134|0)!=(0); + $136 = HEAP32[$pMem>>2]|0; + if ($135) { + $137 = ((($136)) + 16|0); + $138 = HEAP32[$137>>2]|0; + HEAP32[$zP4>>2] = $138; + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + } + $139 = ((($136)) + 8|0); + $140 = HEAP16[$139>>1]|0; + $141 = $140&65535; + $142 = $141 & 4; + $143 = ($142|0)!=(0); + if ($143) { + $144 = HEAP32[$2>>2]|0; + $145 = HEAP32[$1>>2]|0; + $146 = HEAP32[$pMem>>2]|0; + $147 = $146; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (($147) + 4)|0; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = $vararg_buffer17; + $154 = $153; + HEAP32[$154>>2] = $149; + $155 = (($153) + 4)|0; + $156 = $155; + HEAP32[$156>>2] = $152; + (_sqlite3_snprintf($144,$145,17289,$vararg_buffer17)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + } + $157 = HEAP32[$pMem>>2]|0; + $158 = ((($157)) + 8|0); + $159 = HEAP16[$158>>1]|0; + $160 = $159&65535; + $161 = $160 & 8; + $162 = ($161|0)!=(0); + if ($162) { + $163 = HEAP32[$2>>2]|0; + $164 = HEAP32[$1>>2]|0; + $165 = HEAP32[$pMem>>2]|0; + $166 = +HEAPF64[$165>>3]; + HEAPF64[$vararg_buffer20>>3] = $166; + (_sqlite3_snprintf($163,$164,34085,$vararg_buffer20)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + } + $167 = HEAP32[$pMem>>2]|0; + $168 = ((($167)) + 8|0); + $169 = HEAP16[$168>>1]|0; + $170 = $169&65535; + $171 = $170 & 1; + $172 = ($171|0)!=(0); + if ($172) { + $173 = HEAP32[$2>>2]|0; + $174 = HEAP32[$1>>2]|0; + (_sqlite3_snprintf($173,$174,30955,$vararg_buffer23)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + } else { + HEAP32[$zP4>>2] = 34091; + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + } + break; + } + case -10: { + $175 = HEAP32[$0>>2]|0; + $176 = ((($175)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($177)) + 8|0); + $179 = HEAP32[$178>>2]|0; + HEAP32[$pVtab>>2] = $179; + $180 = HEAP32[$2>>2]|0; + $181 = HEAP32[$1>>2]|0; + $182 = HEAP32[$pVtab>>2]|0; + $183 = HEAP32[$pVtab>>2]|0; + $184 = HEAP32[$183>>2]|0; + HEAP32[$vararg_buffer25>>2] = $182; + $vararg_ptr28 = ((($vararg_buffer25)) + 4|0); + HEAP32[$vararg_ptr28>>2] = $184; + (_sqlite3_snprintf($180,$181,34098,$vararg_buffer25)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -15: { + $185 = HEAP32[$2>>2]|0; + $186 = HEAP32[$1>>2]|0; + (_sqlite3_snprintf($185,$186,34109,$vararg_buffer29)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -18: { + $187 = HEAP32[$2>>2]|0; + $188 = HEAP32[$1>>2]|0; + (_sqlite3_snprintf($187,$188,34118,$vararg_buffer31)|0); + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + case -19: { + $189 = HEAP32[$1>>2]|0; + HEAP8[$189>>0] = 0; + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + break; + } + default: { + $190 = HEAP32[$0>>2]|0; + $191 = ((($190)) + 16|0); + $192 = HEAP32[$191>>2]|0; + HEAP32[$zP4>>2] = $192; + $193 = HEAP32[$zP4>>2]|0; + $194 = ($193|0)==(0|0); + if (!($194)) { + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + } + $195 = HEAP32[$1>>2]|0; + HEAP32[$zP4>>2] = $195; + $196 = HEAP32[$1>>2]|0; + HEAP8[$196>>0] = 0; + $197 = HEAP32[$zP4>>2]|0; + STACKTOP = sp;return ($197|0); + } + } + } while(0); + return (0)|0; +} +function _vdbeReleaseAndSetInt64($pMem,$0,$1) { + $pMem = $pMem|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 8|0; + $3 = sp; + HEAP32[$2>>2] = $pMem; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = HEAP32[$2>>2]|0; + _sqlite3VdbeMemSetNull($8); + $9 = $3; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = $15; + $17 = $16; + HEAP32[$17>>2] = $11; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $14; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 8|0); + HEAP16[$21>>1] = 4; + STACKTOP = sp;return; +} +function _sqlite3VdbeMemHandleBom($pMem) { + $pMem = $pMem|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $b1 = 0, $b2 = 0, $bom = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $rc = sp; + $bom = sp + 10|0; + $b1 = sp + 9|0; + $b2 = sp + 8|0; + HEAP32[$0>>2] = $pMem; + HEAP32[$rc>>2] = 0; + HEAP8[$bom>>0] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(1); + if ($4) { + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP8[$7>>0]|0; + HEAP8[$b1>>0] = $8; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 1|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$b2>>0] = $13; + $14 = HEAP8[$b1>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(254); + if ($16) { + $17 = HEAP8[$b2>>0]|0; + $18 = $17&255; + $19 = ($18|0)==(255); + if ($19) { + HEAP8[$bom>>0] = 3; + } + } + $20 = HEAP8[$b1>>0]|0; + $21 = $20&255; + $22 = ($21|0)==(255); + if ($22) { + $23 = HEAP8[$b2>>0]|0; + $24 = $23&255; + $25 = ($24|0)==(254); + if ($25) { + HEAP8[$bom>>0] = 2; + } + } + } + $26 = HEAP8[$bom>>0]|0; + $27 = ($26<<24>>24)!=(0); + if (!($27)) { + $70 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($70|0); + } + $28 = HEAP32[$0>>2]|0; + $29 = (_sqlite3VdbeMemMakeWriteable($28)|0); + HEAP32[$rc>>2] = $29; + $30 = HEAP32[$rc>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $70 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($70|0); + } + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) - 2)|0; + HEAP32[$33>>2] = $35; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$0>>2]|0; + $40 = ((($39)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 2|0); + $43 = HEAP32[$0>>2]|0; + $44 = ((($43)) + 12|0); + $45 = HEAP32[$44>>2]|0; + _memmove(($38|0),($42|0),($45|0))|0; + $46 = HEAP32[$0>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$0>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + ($48)|0); + HEAP8[$52>>0] = 0; + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + 1)|0; + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($59) + ($56)|0); + HEAP8[$60>>0] = 0; + $61 = HEAP32[$0>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP16[$62>>1]|0; + $64 = $63&65535; + $65 = $64 | 512; + $66 = $65&65535; + HEAP16[$62>>1] = $66; + $67 = HEAP8[$bom>>0]|0; + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 10|0); + HEAP8[$69>>0] = $67; + $70 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($70|0); +} +function _valueToText($pVal,$enc) { + $pVal = $pVal|0; + $enc = $enc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + $2 = sp + 8|0; + HEAP32[$1>>2] = $pVal; + HEAP8[$2>>0] = $enc; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = $6 & 18; + $8 = ($7|0)!=(0); + $9 = HEAP32[$1>>2]|0; + if ($8) { + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 | 2; + $14 = $13&65535; + HEAP16[$10>>1] = $14; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = $18 & 16384; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$1>>2]|0; + (_sqlite3VdbeMemExpandBlob($21)|0); + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 10|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP8[$2>>0]|0; + $27 = $26&255; + $28 = $27 & -9; + $29 = ($25|0)!=($28|0); + if ($29) { + $30 = HEAP32[$1>>2]|0; + $31 = HEAP8[$2>>0]|0; + $32 = $31&255; + $33 = $32 & -9; + (_sqlite3VdbeChangeEncoding($30,$33)|0); + } + $34 = HEAP8[$2>>0]|0; + $35 = $34&255; + $36 = $35 & 8; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = $40; + $42 = 1 & $41; + $43 = (1)==($42|0); + if ($43) { + $44 = HEAP32[$1>>2]|0; + $45 = (_sqlite3VdbeMemMakeWriteable($44)|0); + $46 = ($45|0)!=(0); + if ($46) { + HEAP32[$0>>2] = 0; + $60 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($60|0); + } + } + } + $47 = HEAP32[$1>>2]|0; + (_sqlite3VdbeMemNulTerminate($47)|0); + } else { + $48 = HEAP8[$2>>0]|0; + (_sqlite3VdbeMemStringify($9,$48,0)|0); + } + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 10|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = HEAP8[$2>>0]|0; + $54 = $53&255; + $55 = $54 & -9; + $56 = ($52|0)==($55|0); + if ($56) { + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$0>>2] = $59; + $60 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($60|0); + } else { + HEAP32[$0>>2] = 0; + $60 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($60|0); + } + return (0)|0; +} +function _vdbeMemClear($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & 9312; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[$0>>2]|0; + _vdbeMemClearExternAndSetNull($7); + } + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0); + if (!($11)) { + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 16|0); + HEAP32[$21>>2] = 0; + STACKTOP = sp;return; + } + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + _sqlite3DbFree($14,$17); + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 24|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 16|0); + HEAP32[$21>>2] = 0; + STACKTOP = sp;return; +} +function _Cleanup($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + HEAP32[$db>>2] = $2; + $3 = HEAP32[$db>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 44|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3DbFree($3,$6); + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 44|0); + HEAP32[$8>>2] = 0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 20|0); + HEAP32[$10>>2] = 0; + STACKTOP = sp;return; +} +function _apiOomError($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $db; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 64|0); + HEAP8[$2>>0] = 0; + $3 = HEAP32[$0>>2]|0; + _sqlite3Error($3,7); + STACKTOP = sp;return 7; +} +function _sqlite3CollapseDatabaseArray($db) { + $db = $db|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $pDb = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $i = sp + 8|0; + $j = sp + 4|0; + $pDb = sp; + HEAP32[$0>>2] = $db; + HEAP32[$j>>2] = 2; + HEAP32[$i>>2] = 2; + while(1) { + $1 = HEAP32[$i>>2]|0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 20|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($1|0)<($4|0); + if (!($5)) { + break; + } + $6 = HEAP32[$i>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($6<<4)|0); + HEAP32[$pDb>>2] = $10; + $11 = HEAP32[$pDb>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$pDb>>2]|0; + $17 = HEAP32[$16>>2]|0; + _sqlite3DbFree($15,$17); + $18 = HEAP32[$pDb>>2]|0; + HEAP32[$18>>2] = 0; + } else { + $19 = HEAP32[$j>>2]|0; + $20 = HEAP32[$i>>2]|0; + $21 = ($19|0)<($20|0); + if ($21) { + $22 = HEAP32[$j>>2]|0; + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($22<<4)|0); + $27 = HEAP32[$i>>2]|0; + $28 = HEAP32[$0>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + ($27<<4)|0); + ;HEAP32[$26>>2]=HEAP32[$31>>2]|0;HEAP32[$26+4>>2]=HEAP32[$31+4>>2]|0;HEAP32[$26+8>>2]=HEAP32[$31+8>>2]|0;HEAP32[$26+12>>2]=HEAP32[$31+12>>2]|0; + } + $32 = HEAP32[$j>>2]|0; + $33 = (($32) + 1)|0; + HEAP32[$j>>2] = $33; + } + $34 = HEAP32[$i>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$i>>2] = $35; + } + $36 = HEAP32[$j>>2]|0; + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 16|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($36<<4)|0); + $41 = HEAP32[$0>>2]|0; + $42 = ((($41)) + 20|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$j>>2]|0; + $45 = (($43) - ($44))|0; + $46 = $45<<4; + _memset(($40|0),0,($46|0))|0; + $47 = HEAP32[$j>>2]|0; + $48 = HEAP32[$0>>2]|0; + $49 = ((($48)) + 20|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$0>>2]|0; + $51 = ((($50)) + 20|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)<=(2); + if (!($53)) { + STACKTOP = sp;return; + } + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 16|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 456|0); + $59 = ($56|0)!=($58|0); + if (!($59)) { + STACKTOP = sp;return; + } + $60 = HEAP32[$0>>2]|0; + $61 = ((($60)) + 456|0); + $62 = HEAP32[$0>>2]|0; + $63 = ((($62)) + 16|0); + $64 = HEAP32[$63>>2]|0; + ;HEAP32[$61>>2]=HEAP32[$64>>2]|0;HEAP32[$61+4>>2]=HEAP32[$64+4>>2]|0;HEAP32[$61+8>>2]=HEAP32[$64+8>>2]|0;HEAP32[$61+12>>2]=HEAP32[$64+12>>2]|0;HEAP32[$61+16>>2]=HEAP32[$64+16>>2]|0;HEAP32[$61+20>>2]=HEAP32[$64+20>>2]|0;HEAP32[$61+24>>2]=HEAP32[$64+24>>2]|0;HEAP32[$61+28>>2]=HEAP32[$64+28>>2]|0; + $65 = HEAP32[$0>>2]|0; + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 16|0); + $68 = HEAP32[$67>>2]|0; + _sqlite3DbFree($65,$68); + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 456|0); + $71 = HEAP32[$0>>2]|0; + $72 = ((($71)) + 16|0); + HEAP32[$72>>2] = $70; + STACKTOP = sp;return; +} +function _btreeClearHasContent($pBt) { + $pBt = $pBt|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pBt; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 60|0); + $3 = HEAP32[$2>>2]|0; + _sqlite3BitvecDestroy($3); + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 60|0); + HEAP32[$5>>2] = 0; + STACKTOP = sp;return; +} +function _btreeEndTransaction($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0; + var $pBt = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pBt = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pBt>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$db>>2] = $5; + $6 = HEAP32[$pBt>>2]|0; + $7 = ((($6)) + 19|0); + HEAP8[$7>>0] = 0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)>(0); + if ($12) { + $13 = HEAP32[$db>>2]|0; + $14 = ((($13)) + 152|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(1); + if ($16) { + $17 = HEAP32[$0>>2]|0; + _downgradeAllSharedCacheTableLocks($17); + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 8|0); + HEAP8[$19>>0] = 1; + STACKTOP = sp;return; + } + } + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$0>>2]|0; + _clearAllSharedCacheTableLocks($25); + $26 = HEAP32[$pBt>>2]|0; + $27 = ((($26)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + -1)|0; + HEAP32[$27>>2] = $29; + $30 = HEAP32[$pBt>>2]|0; + $31 = ((($30)) + 40|0); + $32 = HEAP32[$31>>2]|0; + $33 = (0)==($32|0); + if ($33) { + $34 = HEAP32[$pBt>>2]|0; + $35 = ((($34)) + 20|0); + HEAP8[$35>>0] = 0; + } + } + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 8|0); + HEAP8[$37>>0] = 0; + $38 = HEAP32[$pBt>>2]|0; + _unlockBtreeIfUnused($38); + STACKTOP = sp;return; +} +function _downgradeAllSharedCacheTableLocks($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pLock = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $pBt = sp + 4|0; + $pLock = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pBt>>2] = $3; + $4 = HEAP32[$pBt>>2]|0; + $5 = ((($4)) + 76|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ($6|0)==($7|0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = HEAP32[$pBt>>2]|0; + $10 = ((($9)) + 76|0); + HEAP32[$10>>2] = 0; + $11 = HEAP32[$pBt>>2]|0; + $12 = ((($11)) + 22|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = $14 & -97; + $16 = $15&65535; + HEAP16[$12>>1] = $16; + $17 = HEAP32[$pBt>>2]|0; + $18 = ((($17)) + 72|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$pLock>>2] = $19; + while(1) { + $20 = HEAP32[$pLock>>2]|0; + $21 = ($20|0)!=(0|0); + if (!($21)) { + break; + } + $22 = HEAP32[$pLock>>2]|0; + $23 = ((($22)) + 8|0); + HEAP8[$23>>0] = 1; + $24 = HEAP32[$pLock>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$pLock>>2] = $26; + } + STACKTOP = sp;return; +} +function _clearAllSharedCacheTableLocks($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pLock = 0, $ppIter = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $pBt = sp + 8|0; + $ppIter = sp + 4|0; + $pLock = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pBt>>2] = $3; + $4 = HEAP32[$pBt>>2]|0; + $5 = ((($4)) + 72|0); + HEAP32[$ppIter>>2] = $5; + while(1) { + $6 = HEAP32[$ppIter>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + break; + } + $9 = HEAP32[$ppIter>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$pLock>>2] = $10; + $11 = HEAP32[$pLock>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $14 = ($12|0)==($13|0); + $15 = HEAP32[$pLock>>2]|0; + $16 = ((($15)) + 12|0); + if (!($14)) { + HEAP32[$ppIter>>2] = $16; + continue; + } + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$ppIter>>2]|0; + HEAP32[$18>>2] = $17; + $19 = HEAP32[$pLock>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)!=(1); + if (!($22)) { + continue; + } + $23 = HEAP32[$pLock>>2]|0; + _sqlite3_free($23); + } + $24 = HEAP32[$pBt>>2]|0; + $25 = ((($24)) + 76|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$0>>2]|0; + $28 = ($26|0)==($27|0); + $29 = HEAP32[$pBt>>2]|0; + if ($28) { + $30 = ((($29)) + 76|0); + HEAP32[$30>>2] = 0; + $31 = HEAP32[$pBt>>2]|0; + $32 = ((($31)) + 22|0); + $33 = HEAP16[$32>>1]|0; + $34 = $33&65535; + $35 = $34 & -97; + $36 = $35&65535; + HEAP16[$32>>1] = $36; + STACKTOP = sp;return; + } + $37 = ((($29)) + 40|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(2); + if (!($39)) { + STACKTOP = sp;return; + } + $40 = HEAP32[$pBt>>2]|0; + $41 = ((($40)) + 22|0); + $42 = HEAP16[$41>>1]|0; + $43 = $42&65535; + $44 = $43 & -65; + $45 = $44&65535; + HEAP16[$41>>1] = $45; + STACKTOP = sp;return; +} +function _autoVacuumCommit($pBt) { + $pBt = $pBt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $iFree = 0; + var $nFin = 0, $nFree = 0, $nOrig = 0, $or$cond = 0, $or$cond3 = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $rc = sp + 8|0; + $pPager = sp + 20|0; + $nFin = sp + 28|0; + $nFree = sp; + $iFree = sp + 12|0; + $nOrig = sp + 24|0; + HEAP32[$1>>2] = $pBt; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$pPager>>2] = $3; + $4 = HEAP32[$1>>2]|0; + _invalidateAllOverflowCache($4); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 18|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)!=(0); + do { + if (!($8)) { + $9 = HEAP32[$1>>2]|0; + $10 = (_btreePagecount($9)|0); + HEAP32[$nOrig>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$nOrig>>2]|0; + $13 = (_ptrmapPageno($11,$12)|0); + $14 = HEAP32[$nOrig>>2]|0; + $15 = ($13|0)==($14|0); + if (!($15)) { + $16 = HEAP32[$nOrig>>2]|0; + $17 = HEAP32[916>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 32|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($17>>>0) / ($20>>>0))&-1; + $22 = (($21) + 1)|0; + $23 = ($16|0)==($22|0); + if (!($23)) { + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($27)) + 56|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 36|0); + $31 = (_sqlite3Get4byte($30)|0); + HEAP32[$nFree>>2] = $31; + $32 = HEAP32[$1>>2]|0; + $33 = HEAP32[$nOrig>>2]|0; + $34 = HEAP32[$nFree>>2]|0; + $35 = (_finalDbSize($32,$33,$34)|0); + HEAP32[$nFin>>2] = $35; + $36 = HEAP32[$nFin>>2]|0; + $37 = HEAP32[$nOrig>>2]|0; + $38 = ($36>>>0)>($37>>>0); + if ($38) { + $39 = (_sqlite3CorruptError(55475)|0); + HEAP32[$0>>2] = $39; + $98 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($98|0); + } + $40 = HEAP32[$nFin>>2]|0; + $41 = HEAP32[$nOrig>>2]|0; + $42 = ($40>>>0)<($41>>>0); + if ($42) { + $43 = HEAP32[$1>>2]|0; + $44 = (_saveAllCursors($43,0,0)|0); + HEAP32[$rc>>2] = $44; + } + $45 = HEAP32[$nOrig>>2]|0; + HEAP32[$iFree>>2] = $45; + while(1) { + $46 = HEAP32[$iFree>>2]|0; + $47 = HEAP32[$nFin>>2]|0; + $48 = ($46>>>0)>($47>>>0); + $49 = HEAP32[$rc>>2]|0; + $50 = ($49|0)==(0); + $51 = $48 ? $50 : 0; + if (!($51)) { + break; + } + $52 = HEAP32[$1>>2]|0; + $53 = HEAP32[$nFin>>2]|0; + $54 = HEAP32[$iFree>>2]|0; + $55 = (_incrVacuumStep($52,$53,$54,1)|0); + HEAP32[$rc>>2] = $55; + $56 = HEAP32[$iFree>>2]|0; + $57 = (($56) + -1)|0; + HEAP32[$iFree>>2] = $57; + } + $58 = HEAP32[$rc>>2]|0; + $59 = ($58|0)==(101); + $60 = HEAP32[$rc>>2]|0; + $61 = ($60|0)==(0); + $or$cond = $59 | $61; + $62 = HEAP32[$nFree>>2]|0; + $63 = ($62>>>0)>(0); + $or$cond3 = $or$cond & $63; + if ($or$cond3) { + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = ((($66)) + 68|0); + $68 = HEAP32[$67>>2]|0; + $69 = (_sqlite3PagerWrite($68)|0); + HEAP32[$rc>>2] = $69; + $70 = HEAP32[$1>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + $73 = ((($72)) + 56|0); + $74 = HEAP32[$73>>2]|0; + $75 = ((($74)) + 32|0); + _sqlite3Put4byte($75,0); + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 12|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($78)) + 56|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($80)) + 36|0); + _sqlite3Put4byte($81,0); + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 12|0); + $84 = HEAP32[$83>>2]|0; + $85 = ((($84)) + 56|0); + $86 = HEAP32[$85>>2]|0; + $87 = ((($86)) + 28|0); + $88 = HEAP32[$nFin>>2]|0; + _sqlite3Put4byte($87,$88); + $89 = HEAP32[$1>>2]|0; + $90 = ((($89)) + 19|0); + HEAP8[$90>>0] = 1; + $91 = HEAP32[$nFin>>2]|0; + $92 = HEAP32[$1>>2]|0; + $93 = ((($92)) + 44|0); + HEAP32[$93>>2] = $91; + } + $94 = HEAP32[$rc>>2]|0; + $95 = ($94|0)!=(0); + if (!($95)) { + break; + } + $96 = HEAP32[$pPager>>2]|0; + (_sqlite3PagerRollback($96)|0); + break; + } + } + $24 = (_sqlite3CorruptError(55470)|0); + HEAP32[$0>>2] = $24; + $98 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($98|0); + } + } while(0); + $97 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $97; + $98 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($98|0); +} +function _sqlite3PagerCommitPhaseTwo($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pPager; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 40|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); + $6 = HEAP32[$1>>2]|0; + if ($5) { + $7 = ((($6)) + 40|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$0>>2] = $8; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); + } + $9 = ((($6)) + 16|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(2); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 5|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)==(1); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 16|0); + HEAP8[$24>>0] = 1; + HEAP32[$0>>2] = 0; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); + } + } + } + $25 = HEAP32[$1>>2]|0; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 19|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (_pager_end_transaction($25,$29,1)|0); + HEAP32[$rc>>2] = $30; + $31 = HEAP32[$1>>2]|0; + $32 = HEAP32[$rc>>2]|0; + $33 = (_pager_error($31,$32)|0); + HEAP32[$0>>2] = $33; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); +} +function _pager_incr_changecounter($pPager,$isDirectMode) { + $pPager = $pPager|0; + $isDirectMode = $isDirectMode|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $rc = sp + 4|0; + $pPgHdr = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $isDirectMode; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 18|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); + if ($5) { + $22 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($22|0); + } + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(0); + if (!($9)) { + $22 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($22|0); + } + $10 = HEAP32[$0>>2]|0; + $11 = (_sqlite3PagerAcquire($10,1,$pPgHdr,0)|0); + HEAP32[$rc>>2] = $11; + $12 = HEAP32[$rc>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = HEAP32[$pPgHdr>>2]|0; + $15 = (_sqlite3PagerWrite($14)|0); + HEAP32[$rc>>2] = $15; + } + $16 = HEAP32[$rc>>2]|0; + $17 = ($16|0)==(0); + if ($17) { + $18 = HEAP32[$pPgHdr>>2]|0; + _pager_write_changecounter($18); + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 18|0); + HEAP8[$20>>0] = 1; + } + $21 = HEAP32[$pPgHdr>>2]|0; + _sqlite3PagerUnref($21); + $22 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($22|0); +} +function _writeMasterJournal($pPager,$zMaster) { + $pPager = $pPager|0; + $zMaster = $zMaster|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cksum = 0, $iHdrOff = 0, $jrnlSize = 0, $nMaster = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 16|0; + $1 = sp + 20|0; + $2 = sp + 28|0; + $rc = sp + 24|0; + $nMaster = sp + 36|0; + $iHdrOff = sp; + $jrnlSize = sp + 8|0; + $cksum = sp + 32|0; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $zMaster; + HEAP32[$cksum>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if ($4) { + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 5|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(4); + if (!($9)) { + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 64|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 19|0); + HEAP8[$16>>0] = 1; + HEAP32[$nMaster>>2] = 0; + while(1) { + $17 = HEAP32[$nMaster>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = (($18) + ($17)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); + if (!($21)) { + break; + } + $22 = HEAP32[$nMaster>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = (($23) + ($22)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = HEAP32[$cksum>>2]|0; + $28 = (($27) + ($26))|0; + HEAP32[$cksum>>2] = $28; + $29 = HEAP32[$nMaster>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$nMaster>>2] = $30; + } + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 8|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)!=(0); + if ($34) { + $35 = HEAP32[$1>>2]|0; + $36 = (_journalHdrOffset($35)|0); + $37 = tempRet0; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 72|0); + $40 = $39; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $37; + } + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 72|0); + $46 = $45; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $iHdrOff; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 64|0); + $58 = HEAP32[$57>>2]|0; + $59 = $iHdrOff; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[916>>2]|0; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 152|0); + $68 = HEAP32[$67>>2]|0; + $69 = (($65|0) / ($68|0))&-1; + $70 = (($69) + 1)|0; + $71 = (_write32bits($58,$61,$64,$70)|0); + HEAP32[$rc>>2] = $71; + $72 = (0)!=($71|0); + if (!($72)) { + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 64|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$2>>2]|0; + $77 = HEAP32[$nMaster>>2]|0; + $78 = $iHdrOff; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (_i64Add(($80|0),($83|0),4,0)|0); + $85 = tempRet0; + $86 = (_sqlite3OsWrite($75,$76,$77,$84,$85)|0); + HEAP32[$rc>>2] = $86; + $87 = (0)!=($86|0); + if (!($87)) { + $88 = HEAP32[$1>>2]|0; + $89 = ((($88)) + 64|0); + $90 = HEAP32[$89>>2]|0; + $91 = $iHdrOff; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (_i64Add(($93|0),($96|0),4,0)|0); + $98 = tempRet0; + $99 = HEAP32[$nMaster>>2]|0; + $100 = ($99|0)<(0); + $101 = $100 << 31 >> 31; + $102 = (_i64Add(($97|0),($98|0),($99|0),($101|0))|0); + $103 = tempRet0; + $104 = HEAP32[$nMaster>>2]|0; + $105 = (_write32bits($90,$102,$103,$104)|0); + HEAP32[$rc>>2] = $105; + $106 = (0)!=($105|0); + if (!($106)) { + $107 = HEAP32[$1>>2]|0; + $108 = ((($107)) + 64|0); + $109 = HEAP32[$108>>2]|0; + $110 = $iHdrOff; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (_i64Add(($112|0),($115|0),4,0)|0); + $117 = tempRet0; + $118 = HEAP32[$nMaster>>2]|0; + $119 = ($118|0)<(0); + $120 = $119 << 31 >> 31; + $121 = (_i64Add(($116|0),($117|0),($118|0),($120|0))|0); + $122 = tempRet0; + $123 = (_i64Add(($121|0),($122|0),4,0)|0); + $124 = tempRet0; + $125 = HEAP32[$cksum>>2]|0; + $126 = (_write32bits($109,$123,$124,$125)|0); + HEAP32[$rc>>2] = $126; + $127 = (0)!=($126|0); + if (!($127)) { + $128 = HEAP32[$1>>2]|0; + $129 = ((($128)) + 64|0); + $130 = HEAP32[$129>>2]|0; + $131 = $iHdrOff; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (_i64Add(($133|0),($136|0),4,0)|0); + $138 = tempRet0; + $139 = HEAP32[$nMaster>>2]|0; + $140 = ($139|0)<(0); + $141 = $140 << 31 >> 31; + $142 = (_i64Add(($137|0),($138|0),($139|0),($141|0))|0); + $143 = tempRet0; + $144 = (_i64Add(($142|0),($143|0),8,0)|0); + $145 = tempRet0; + $146 = (_sqlite3OsWrite($130,17420,8,$144,$145)|0); + HEAP32[$rc>>2] = $146; + $147 = (0)!=($146|0); + if (!($147)) { + $149 = HEAP32[$nMaster>>2]|0; + $150 = (($149) + 20)|0; + $151 = ($150|0)<(0); + $152 = $151 << 31 >> 31; + $153 = HEAP32[$1>>2]|0; + $154 = ((($153)) + 72|0); + $155 = $154; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = (($155) + 4)|0; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (_i64Add(($157|0),($160|0),($150|0),($152|0))|0); + $162 = tempRet0; + $163 = $154; + $164 = $163; + HEAP32[$164>>2] = $161; + $165 = (($163) + 4)|0; + $166 = $165; + HEAP32[$166>>2] = $162; + $167 = HEAP32[$1>>2]|0; + $168 = ((($167)) + 64|0); + $169 = HEAP32[$168>>2]|0; + $170 = (_sqlite3OsFileSize($169,$jrnlSize)|0); + HEAP32[$rc>>2] = $170; + $171 = (0)==($170|0); + if ($171) { + $172 = $jrnlSize; + $173 = $172; + $174 = HEAP32[$173>>2]|0; + $175 = (($172) + 4)|0; + $176 = $175; + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$1>>2]|0; + $179 = ((($178)) + 72|0); + $180 = $179; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = (($180) + 4)|0; + $184 = $183; + $185 = HEAP32[$184>>2]|0; + $186 = ($177|0)>($185|0); + $187 = ($174>>>0)>($182>>>0); + $188 = ($177|0)==($185|0); + $189 = $188 & $187; + $190 = $186 | $189; + if ($190) { + $191 = HEAP32[$1>>2]|0; + $192 = ((($191)) + 64|0); + $193 = HEAP32[$192>>2]|0; + $194 = HEAP32[$1>>2]|0; + $195 = ((($194)) + 72|0); + $196 = $195; + $197 = $196; + $198 = HEAP32[$197>>2]|0; + $199 = (($196) + 4)|0; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = (_sqlite3OsTruncate($193,$198,$201)|0); + HEAP32[$rc>>2] = $202; + } + } + $203 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $203; + $204 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($204|0); + } + } + } + } + } + $148 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $148; + $204 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($204|0); + } + } + } + HEAP32[$0>>2] = 0; + $204 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($204|0); +} +function _pagerWriteLargeSector($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ii = 0, $nPage = 0, $nPageCount = 0, $nPagePerSector = 0; + var $needSync = 0, $or$cond = 0, $pPage = 0, $pPage1 = 0, $pPager = 0, $pg = 0, $pg1 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 4|0; + $rc = sp + 16|0; + $nPageCount = sp + 36|0; + $pg1 = sp; + $nPage = sp + 32|0; + $ii = sp + 40|0; + $needSync = sp + 44|0; + $pPager = sp + 24|0; + $nPagePerSector = sp + 20|0; + $pg = sp + 8|0; + $pPage = sp + 12|0; + $pPage1 = sp + 28|0; + HEAP32[$0>>2] = $pPg; + HEAP32[$rc>>2] = 0; + HEAP32[$nPage>>2] = 0; + HEAP32[$needSync>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pPager>>2] = $3; + $4 = HEAP32[$pPager>>2]|0; + $5 = ((($4)) + 148|0); + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$pPager>>2]|0; + $8 = ((($7)) + 152|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($6>>>0) / ($9>>>0))&-1; + HEAP32[$nPagePerSector>>2] = $10; + $11 = HEAP32[$pPager>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = $14 | 4; + $16 = $15&255; + HEAP8[$12>>0] = $16; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) - 1)|0; + $21 = HEAP32[$nPagePerSector>>2]|0; + $22 = (($21) - 1)|0; + $23 = $22 ^ -1; + $24 = $20 & $23; + $25 = (($24) + 1)|0; + HEAP32[$pg1>>2] = $25; + $26 = HEAP32[$pPager>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$nPageCount>>2] = $28; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$nPageCount>>2]|0; + $33 = ($31>>>0)>($32>>>0); + do { + if ($33) { + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 20|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$pg1>>2]|0; + $38 = (($36) - ($37))|0; + $39 = (($38) + 1)|0; + HEAP32[$nPage>>2] = $39; + } else { + $40 = HEAP32[$pg1>>2]|0; + $41 = HEAP32[$nPagePerSector>>2]|0; + $42 = (($40) + ($41))|0; + $43 = (($42) - 1)|0; + $44 = HEAP32[$nPageCount>>2]|0; + $45 = ($43>>>0)>($44>>>0); + if ($45) { + $46 = HEAP32[$nPageCount>>2]|0; + $47 = (($46) + 1)|0; + $48 = HEAP32[$pg1>>2]|0; + $49 = (($47) - ($48))|0; + HEAP32[$nPage>>2] = $49; + break; + } else { + $50 = HEAP32[$nPagePerSector>>2]|0; + HEAP32[$nPage>>2] = $50; + break; + } + } + } while(0); + HEAP32[$ii>>2] = 0; + while(1) { + $51 = HEAP32[$ii>>2]|0; + $52 = HEAP32[$nPage>>2]|0; + $53 = ($51|0)<($52|0); + $54 = HEAP32[$rc>>2]|0; + $55 = ($54|0)==(0); + $56 = $53 ? $55 : 0; + if (!($56)) { + break; + } + $57 = HEAP32[$pg1>>2]|0; + $58 = HEAP32[$ii>>2]|0; + $59 = (($57) + ($58))|0; + HEAP32[$pg>>2] = $59; + $60 = HEAP32[$pg>>2]|0; + $61 = HEAP32[$0>>2]|0; + $62 = ((($61)) + 20|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($60|0)==($63|0); + if ($64) { + label = 10; + } else { + $65 = HEAP32[$pPager>>2]|0; + $66 = ((($65)) + 56|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$pg>>2]|0; + $69 = (_sqlite3BitvecTest($67,$68)|0); + $70 = ($69|0)!=(0); + if ($70) { + $93 = HEAP32[$pPager>>2]|0; + $94 = HEAP32[$pg>>2]|0; + $95 = (_sqlite3PagerLookup($93,$94)|0); + HEAP32[$pPage>>2] = $95; + $96 = ($95|0)!=(0|0); + if ($96) { + $97 = HEAP32[$pPage>>2]|0; + $98 = ((($97)) + 24|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99&65535; + $101 = $100 & 4; + $102 = ($101|0)!=(0); + if ($102) { + HEAP32[$needSync>>2] = 1; + } + $103 = HEAP32[$pPage>>2]|0; + _sqlite3PagerUnrefNotNull($103); + } + } else { + label = 10; + } + } + if ((label|0) == 10) { + label = 0; + $71 = HEAP32[$pg>>2]|0; + $72 = HEAP32[916>>2]|0; + $73 = HEAP32[$pPager>>2]|0; + $74 = ((($73)) + 152|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($72|0) / ($75|0))&-1; + $77 = (($76) + 1)|0; + $78 = ($71|0)!=($77|0); + if ($78) { + $79 = HEAP32[$pPager>>2]|0; + $80 = HEAP32[$pg>>2]|0; + $81 = (_sqlite3PagerAcquire($79,$80,$pPage,0)|0); + HEAP32[$rc>>2] = $81; + $82 = HEAP32[$rc>>2]|0; + $83 = ($82|0)==(0); + if ($83) { + $84 = HEAP32[$pPage>>2]|0; + $85 = (_pager_write($84)|0); + HEAP32[$rc>>2] = $85; + $86 = HEAP32[$pPage>>2]|0; + $87 = ((($86)) + 24|0); + $88 = HEAP16[$87>>1]|0; + $89 = $88&65535; + $90 = $89 & 4; + $91 = ($90|0)!=(0); + if ($91) { + HEAP32[$needSync>>2] = 1; + } + $92 = HEAP32[$pPage>>2]|0; + _sqlite3PagerUnrefNotNull($92); + } + } + } + $104 = HEAP32[$ii>>2]|0; + $105 = (($104) + 1)|0; + HEAP32[$ii>>2] = $105; + } + $106 = HEAP32[$rc>>2]|0; + $107 = ($106|0)==(0); + $108 = HEAP32[$needSync>>2]|0; + $109 = ($108|0)!=(0); + $or$cond = $107 & $109; + if (!($or$cond)) { + $129 = HEAP32[$pPager>>2]|0; + $130 = ((($129)) + 20|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 & -5; + $134 = $133&255; + HEAP8[$130>>0] = $134; + $135 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($135|0); + } + HEAP32[$ii>>2] = 0; + while(1) { + $110 = HEAP32[$ii>>2]|0; + $111 = HEAP32[$nPage>>2]|0; + $112 = ($110|0)<($111|0); + if (!($112)) { + break; + } + $113 = HEAP32[$pPager>>2]|0; + $114 = HEAP32[$pg1>>2]|0; + $115 = HEAP32[$ii>>2]|0; + $116 = (($114) + ($115))|0; + $117 = (_sqlite3PagerLookup($113,$116)|0); + HEAP32[$pPage1>>2] = $117; + $118 = HEAP32[$pPage1>>2]|0; + $119 = ($118|0)!=(0|0); + if ($119) { + $120 = HEAP32[$pPage1>>2]|0; + $121 = ((($120)) + 24|0); + $122 = HEAP16[$121>>1]|0; + $123 = $122&65535; + $124 = $123 | 4; + $125 = $124&65535; + HEAP16[$121>>1] = $125; + $126 = HEAP32[$pPage1>>2]|0; + _sqlite3PagerUnrefNotNull($126); + } + $127 = HEAP32[$ii>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$ii>>2] = $128; + } + $129 = HEAP32[$pPager>>2]|0; + $130 = ((($129)) + 20|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 & -5; + $134 = $133&255; + HEAP8[$130>>0] = $134; + $135 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($135|0); +} +function _pager_write($pPg) { + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $cksum = 0, $iOff = 0, $inJournal = 0, $pData2 = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 12|0; + $pPager = sp + 24|0; + $rc = sp + 20|0; + $inJournal = sp + 32|0; + $cksum = sp + 8|0; + $pData2 = sp + 16|0; + $iOff = sp; + HEAP32[$1>>2] = $pPg; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pPager>>2] = $4; + HEAP32[$rc>>2] = 0; + $5 = HEAP32[$pPager>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(2); + if ($9) { + $10 = HEAP32[$pPager>>2]|0; + $11 = (_pager_open_journal($10)|0); + HEAP32[$rc>>2] = $11; + $12 = HEAP32[$rc>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $14; + $201 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($201|0); + } + } + $15 = HEAP32[$1>>2]|0; + _sqlite3PcacheMakeDirty($15); + $16 = HEAP32[$pPager>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = (_pageInJournal($16,$17)|0); + HEAP32[$inJournal>>2] = $18; + $19 = HEAP32[$inJournal>>2]|0; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$pPager>>2]|0; + $22 = ((($21)) + 96|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0); + if (!($24)) { + $25 = HEAP32[$1>>2]|0; + $26 = (_subjRequiresPage($25)|0); + $27 = ($26|0)!=(0); + if ($27) { + label = 7; + } + } + } else { + label = 7; + } + if ((label|0) == 7) { + $28 = HEAP32[$inJournal>>2]|0; + $29 = ($28|0)!=(0); + do { + if (!($29)) { + $30 = HEAP32[$pPager>>2]|0; + $31 = (_pagerUseWal($30)|0); + $32 = ($31|0)!=(0); + if (!($32)) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$pPager>>2]|0; + $37 = ((($36)) + 28|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($35>>>0)<=($38>>>0); + if ($39) { + $40 = HEAP32[$pPager>>2]|0; + $41 = ((($40)) + 64|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)!=(0|0); + if ($44) { + $45 = HEAP32[$pPager>>2]|0; + $46 = ((($45)) + 72|0); + $47 = $46; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $iOff; + $54 = $53; + HEAP32[$54>>2] = $49; + $55 = (($53) + 4)|0; + $56 = $55; + HEAP32[$56>>2] = $52; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$pData2>>2] = $59; + $60 = HEAP32[$pPager>>2]|0; + $61 = HEAP32[$pData2>>2]|0; + $62 = (_pager_cksum($60,$61)|0); + HEAP32[$cksum>>2] = $62; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 24|0); + $65 = HEAP16[$64>>1]|0; + $66 = $65&65535; + $67 = $66 | 4; + $68 = $67&65535; + HEAP16[$64>>1] = $68; + $69 = HEAP32[$pPager>>2]|0; + $70 = ((($69)) + 64|0); + $71 = HEAP32[$70>>2]|0; + $72 = $iOff; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 20|0); + $80 = HEAP32[$79>>2]|0; + $81 = (_write32bits($71,$74,$77,$80)|0); + HEAP32[$rc>>2] = $81; + $82 = HEAP32[$rc>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $84; + $201 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($201|0); + } + $85 = HEAP32[$pPager>>2]|0; + $86 = ((($85)) + 64|0); + $87 = HEAP32[$86>>2]|0; + $88 = HEAP32[$pData2>>2]|0; + $89 = HEAP32[$pPager>>2]|0; + $90 = ((($89)) + 152|0); + $91 = HEAP32[$90>>2]|0; + $92 = $iOff; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = (($92) + 4)|0; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (_i64Add(($94|0),($97|0),4,0)|0); + $99 = tempRet0; + $100 = (_sqlite3OsWrite($87,$88,$91,$98,$99)|0); + HEAP32[$rc>>2] = $100; + $101 = HEAP32[$rc>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + $103 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $103; + $201 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($201|0); + } + $104 = HEAP32[$pPager>>2]|0; + $105 = ((($104)) + 64|0); + $106 = HEAP32[$105>>2]|0; + $107 = $iOff; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (($107) + 4)|0; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$pPager>>2]|0; + $114 = ((($113)) + 152|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)<(0); + $117 = $116 << 31 >> 31; + $118 = (_i64Add(($109|0),($112|0),($115|0),($117|0))|0); + $119 = tempRet0; + $120 = (_i64Add(($118|0),($119|0),4,0)|0); + $121 = tempRet0; + $122 = HEAP32[$cksum>>2]|0; + $123 = (_write32bits($106,$120,$121,$122)|0); + HEAP32[$rc>>2] = $123; + $124 = HEAP32[$rc>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $126; + $201 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($201|0); + } + $127 = HEAP32[$pPager>>2]|0; + $128 = ((($127)) + 152|0); + $129 = HEAP32[$128>>2]|0; + $130 = (8 + ($129))|0; + $131 = ($130|0)<(0); + $132 = $131 << 31 >> 31; + $133 = HEAP32[$pPager>>2]|0; + $134 = ((($133)) + 72|0); + $135 = $134; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (_i64Add(($137|0),($140|0),($130|0),($132|0))|0); + $142 = tempRet0; + $143 = $134; + $144 = $143; + HEAP32[$144>>2] = $141; + $145 = (($143) + 4)|0; + $146 = $145; + HEAP32[$146>>2] = $142; + $147 = HEAP32[$pPager>>2]|0; + $148 = ((($147)) + 44|0); + $149 = HEAP32[$148>>2]|0; + $150 = (($149) + 1)|0; + HEAP32[$148>>2] = $150; + $151 = HEAP32[$pPager>>2]|0; + $152 = ((($151)) + 56|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$1>>2]|0; + $155 = ((($154)) + 20|0); + $156 = HEAP32[$155>>2]|0; + $157 = (_sqlite3BitvecSet($153,$156)|0); + HEAP32[$rc>>2] = $157; + $158 = HEAP32[$pPager>>2]|0; + $159 = HEAP32[$1>>2]|0; + $160 = ((($159)) + 20|0); + $161 = HEAP32[$160>>2]|0; + $162 = (_addToSavepointBitvecs($158,$161)|0); + $163 = HEAP32[$rc>>2]|0; + $164 = $163 | $162; + HEAP32[$rc>>2] = $164; + $165 = HEAP32[$rc>>2]|0; + $166 = ($165|0)!=(0); + if (!($166)) { + break; + } + $167 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $167; + $201 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($201|0); + } + } + $168 = HEAP32[$pPager>>2]|0; + $169 = ((($168)) + 16|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $172 = ($171|0)!=(4); + if ($172) { + $173 = HEAP32[$1>>2]|0; + $174 = ((($173)) + 24|0); + $175 = HEAP16[$174>>1]|0; + $176 = $175&65535; + $177 = $176 | 4; + $178 = $177&65535; + HEAP16[$174>>1] = $178; + } + } + } + } while(0); + $179 = HEAP32[$pPager>>2]|0; + $180 = ((($179)) + 96|0); + $181 = HEAP32[$180>>2]|0; + $182 = ($181|0)>(0); + if ($182) { + $183 = HEAP32[$1>>2]|0; + $184 = (_subjRequiresPage($183)|0); + $185 = ($184|0)!=(0); + if ($185) { + $186 = HEAP32[$1>>2]|0; + $187 = (_subjournalPage($186)|0); + HEAP32[$rc>>2] = $187; + } + } + } + $188 = HEAP32[$pPager>>2]|0; + $189 = ((($188)) + 24|0); + $190 = HEAP32[$189>>2]|0; + $191 = HEAP32[$1>>2]|0; + $192 = ((($191)) + 20|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($190>>>0)<($193>>>0); + if ($194) { + $195 = HEAP32[$1>>2]|0; + $196 = ((($195)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$pPager>>2]|0; + $199 = ((($198)) + 24|0); + HEAP32[$199>>2] = $197; + } + $200 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $200; + $201 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($201|0); +} +function _pager_open_journal($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $flags = 0, $pVfs = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $rc = sp + 8|0; + $pVfs = sp + 4|0; + $flags = sp; + HEAP32[$1>>2] = $pPager; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$pVfs>>2] = $3; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 40|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = HEAP32[$1>>2]|0; + if ($7) { + $9 = ((($8)) + 40|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$0>>2] = $10; + $89 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($89|0); + } + $11 = (_pagerUseWal($8)|0); + $12 = ($11|0)!=(0); + if (!($12)) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 5|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)!=(2); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3BitvecCreate($20)|0); + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 56|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 56|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if ($27) { + HEAP32[$0>>2] = 7; + $89 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($89|0); + } + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 64|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)!=(0|0); + do { + if (!($32)) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 5|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==(4); + $38 = HEAP32[$1>>2]|0; + if ($37) { + $39 = ((($38)) + 64|0); + $40 = HEAP32[$39>>2]|0; + _sqlite3MemJournalOpen($40); + break; + } + $41 = ((($38)) + 12|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = ($43|0)!=(0); + $45 = $44 ? 4104 : 2048; + $46 = 6 | $45; + HEAP32[$flags>>2] = $46; + $47 = HEAP32[$1>>2]|0; + $48 = (_databaseIsUnmoved($47)|0); + HEAP32[$rc>>2] = $48; + $49 = HEAP32[$rc>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = HEAP32[$pVfs>>2]|0; + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 172|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 64|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$flags>>2]|0; + $59 = (_sqlite3OsOpen($51,$54,$57,$58,0)|0); + HEAP32[$rc>>2] = $59; + } + } + } while(0); + $60 = HEAP32[$rc>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 44|0); + HEAP32[$63>>2] = 0; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 72|0); + $66 = $65; + $67 = $66; + HEAP32[$67>>2] = 0; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = 0; + $70 = HEAP32[$1>>2]|0; + $71 = ((($70)) + 19|0); + HEAP8[$71>>0] = 0; + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 80|0); + $74 = $73; + $75 = $74; + HEAP32[$75>>2] = 0; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = 0; + $78 = HEAP32[$1>>2]|0; + $79 = (_writeJournalHdr($78)|0); + HEAP32[$rc>>2] = $79; + } + } + } + $80 = HEAP32[$rc>>2]|0; + $81 = ($80|0)!=(0); + $82 = HEAP32[$1>>2]|0; + if ($81) { + $83 = ((($82)) + 56|0); + $84 = HEAP32[$83>>2]|0; + _sqlite3BitvecDestroy($84); + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 56|0); + HEAP32[$86>>2] = 0; + } else { + $87 = ((($82)) + 16|0); + HEAP8[$87>>0] = 3; + } + $88 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $88; + $89 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($89|0); +} +function _pageInJournal($pPager,$pPg) { + $pPager = $pPager|0; + $pPg = $pPg|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pPager; + HEAP32[$1>>2] = $pPg; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3BitvecTest($4,$7)|0); + STACKTOP = sp;return ($8|0); +} +function _databaseIsUnmoved($pPager) { + $pPager = $pPager|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $bHasMoved = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $bHasMoved = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pPager; + HEAP32[$bHasMoved>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 12|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); + if ($5) { + HEAP32[$0>>2] = 0; + $21 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($21|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 24|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + HEAP32[$0>>2] = 0; + $21 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($21|0); + } + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 60|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3OsFileControl($12,20,$bHasMoved)|0); + HEAP32[$rc>>2] = $13; + $14 = HEAP32[$rc>>2]|0; + $15 = ($14|0)==(12); + if ($15) { + HEAP32[$rc>>2] = 0; + } else { + $16 = HEAP32[$rc>>2]|0; + $17 = ($16|0)==(0); + $18 = HEAP32[$bHasMoved>>2]|0; + $19 = ($18|0)!=(0); + $or$cond = $17 & $19; + if ($or$cond) { + HEAP32[$rc>>2] = 1032; + } + } + $20 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $20; + $21 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($21|0); +} +function _pagerAcquireMapPage($pPager,$pgno,$pData,$ppPage) { + $pPager = $pPager|0; + $pgno = $pgno|0; + $pData = $pData|0; + $ppPage = $ppPage|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $p = sp; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $pgno; + HEAP32[$3>>2] = $pData; + HEAP32[$4>>2] = $ppPage; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 136|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + $9 = HEAP32[$1>>2]|0; + do { + if ($8) { + $10 = ((($9)) + 136|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$p>>2] = $11; + $12 = HEAP32[$4>>2]|0; + HEAP32[$12>>2] = $11; + $13 = HEAP32[$p>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 136|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$p>>2]|0; + $19 = ((($18)) + 12|0); + HEAP32[$19>>2] = 0; + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 140|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + _memset(($22|0),0,($26|0))|0; + } else { + $27 = ((($9)) + 140|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = (40 + ($29))|0; + $31 = (_sqlite3MallocZero($30,0)|0); + HEAP32[$p>>2] = $31; + $32 = HEAP32[$4>>2]|0; + HEAP32[$32>>2] = $31; + $33 = HEAP32[$p>>2]|0; + $34 = ($33|0)==(0|0); + if (!($34)) { + $48 = HEAP32[$p>>2]|0; + $49 = ((($48)) + 40|0); + $50 = HEAP32[$p>>2]|0; + $51 = ((($50)) + 8|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$p>>2]|0; + $53 = ((($52)) + 24|0); + HEAP16[$53>>1] = 64; + $54 = HEAP32[$p>>2]|0; + $55 = ((($54)) + 26|0); + HEAP16[$55>>1] = 1; + $56 = HEAP32[$1>>2]|0; + $57 = HEAP32[$p>>2]|0; + $58 = ((($57)) + 16|0); + HEAP32[$58>>2] = $56; + break; + } + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 60|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = (($38) - 1)|0; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 152|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)<(0); + $44 = $43 << 31 >> 31; + $45 = (___muldi3(($39|0),0,($42|0),($44|0))|0); + $46 = tempRet0; + $47 = HEAP32[$3>>2]|0; + (_sqlite3OsUnfetch($37,$45,$46,$47)|0); + HEAP32[$0>>2] = 7; + $69 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($69|0); + } + } while(0); + $59 = HEAP32[$2>>2]|0; + $60 = HEAP32[$p>>2]|0; + $61 = ((($60)) + 20|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$3>>2]|0; + $63 = HEAP32[$p>>2]|0; + $64 = ((($63)) + 4|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 120|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + HEAP32[$0>>2] = 0; + $69 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($69|0); +} +function _sqlite3PcacheFetchStress($pCache,$pgno,$ppPage) { + $pCache = $pCache|0; + $pgno = $pgno|0; + $ppPage = $ppPage|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pPg = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $pPg = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pCache; + HEAP32[$2>>2] = $pgno; + HEAP32[$3>>2] = $ppPage; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 29|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)==(2); + if ($8) { + HEAP32[$0>>2] = 0; + $72 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($72|0); + } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$pPg>>2] = $11; + while(1) { + $12 = HEAP32[$pPg>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { + break; + } + $14 = HEAP32[$pPg>>2]|0; + $15 = ((($14)) + 26|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16 << 16 >> 16; + $18 = ($17|0)!=(0); + if (!($18)) { + $19 = HEAP32[$pPg>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21&65535; + $23 = $22 & 4; + $24 = ($23|0)!=(0); + if (!($24)) { + break; + } + } + $25 = HEAP32[$pPg>>2]|0; + $26 = ((($25)) + 36|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$pPg>>2] = $27; + } + $28 = HEAP32[$pPg>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 8|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$pPg>>2]|0; + $32 = ($31|0)!=(0|0); + L12: do { + if (!($32)) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$pPg>>2] = $35; + while(1) { + $36 = HEAP32[$pPg>>2]|0; + $37 = ($36|0)!=(0|0); + if (!($37)) { + break L12; + } + $38 = HEAP32[$pPg>>2]|0; + $39 = ((($38)) + 26|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40 << 16 >> 16; + $42 = ($41|0)!=(0); + if (!($42)) { + break L12; + } + $43 = HEAP32[$pPg>>2]|0; + $44 = ((($43)) + 36|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$pPg>>2] = $45; + } + } + } while(0); + $46 = HEAP32[$pPg>>2]|0; + $47 = ($46|0)!=(0|0); + if ($47) { + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 32|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 36|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$pPg>>2]|0; + $55 = (FUNCTION_TABLE_iii[$50 & 63]($53,$54)|0); + HEAP32[$rc>>2] = $55; + $56 = HEAP32[$rc>>2]|0; + $57 = ($56|0)!=(0); + $58 = HEAP32[$rc>>2]|0; + $59 = ($58|0)!=(5); + $or$cond = $57 & $59; + if ($or$cond) { + $60 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $60; + $72 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($72|0); + } + } + $61 = HEAP32[(140)>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 40|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$2>>2]|0; + $66 = (FUNCTION_TABLE_iiii[$61 & 31]($64,$65,2)|0); + $67 = HEAP32[$3>>2]|0; + HEAP32[$67>>2] = $66; + $68 = HEAP32[$3>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + $71 = $70 ? 7 : 0; + HEAP32[$0>>2] = $71; + $72 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($72|0); +} +function _lockBtree($pBt) { + $pBt = $pBt|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $isOpen = 0, $nPage = 0, $nPageFile = 0, $nPageHeader = 0, $or$cond = 0, $or$cond3 = 0, $pPage1 = 0, $page1 = 0, $pageSize = 0, $rc = 0, $usableSize = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $rc = sp; + $pPage1 = sp + 28|0; + $nPage = sp + 32|0; + $nPageFile = sp + 40|0; + $nPageHeader = sp + 12|0; + $pageSize = sp + 24|0; + $usableSize = sp + 20|0; + $page1 = sp + 8|0; + $isOpen = sp + 4|0; + HEAP32[$1>>2] = $pBt; + HEAP32[$nPageFile>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = (_sqlite3PagerSharedLock($3)|0); + HEAP32[$rc>>2] = $4; + $5 = HEAP32[$rc>>2]|0; + $6 = ($5|0)!=(0); + if ($6) { + $7 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $7; + $222 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($222|0); + } + $8 = HEAP32[$1>>2]|0; + $9 = (_btreeGetPage($8,1,$pPage1,0)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $12; + $222 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($222|0); + } + $13 = HEAP32[$pPage1>>2]|0; + $14 = ((($13)) + 56|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 28|0); + $17 = (_sqlite3Get4byte($16)|0); + HEAP32[$nPageHeader>>2] = $17; + HEAP32[$nPage>>2] = $17; + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$18>>2]|0; + _sqlite3PagerPagecount($19,$nPageFile); + $20 = HEAP32[$nPage>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + label = 7; + } else { + $22 = HEAP32[$pPage1>>2]|0; + $23 = ((($22)) + 56|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$pPage1>>2]|0; + $27 = ((($26)) + 56|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 92|0); + $30 = (_memcmp($25,$29,4)|0); + $31 = ($30|0)!=(0); + if ($31) { + label = 7; + } + } + if ((label|0) == 7) { + $32 = HEAP32[$nPageFile>>2]|0; + HEAP32[$nPage>>2] = $32; + } + $33 = HEAP32[$nPage>>2]|0; + $34 = ($33|0)>(0); + L14: do { + if ($34) { + $35 = HEAP32[$pPage1>>2]|0; + $36 = ((($35)) + 56|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$page1>>2] = $37; + HEAP32[$rc>>2] = 26; + $38 = HEAP32[$page1>>2]|0; + $39 = (_memcmp($38,33938,16)|0); + $40 = ($39|0)!=(0); + L16: do { + if (!($40)) { + $41 = HEAP32[$page1>>2]|0; + $42 = ((($41)) + 18|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = ($44|0)>(2); + if ($45) { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 22|0); + $48 = HEAP16[$47>>1]|0; + $49 = $48&65535; + $50 = $49 | 1; + $51 = $50&65535; + HEAP16[$47>>1] = $51; + } + $52 = HEAP32[$page1>>2]|0; + $53 = ((($52)) + 19|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = ($55|0)>(2); + if (!($56)) { + $57 = HEAP32[$page1>>2]|0; + $58 = ((($57)) + 19|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = ($60|0)==(2); + do { + if ($61) { + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 22|0); + $64 = HEAP16[$63>>1]|0; + $65 = $64&65535; + $66 = $65 & 16; + $67 = ($66|0)==(0); + if ($67) { + HEAP32[$isOpen>>2] = 0; + $68 = HEAP32[$1>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = (_sqlite3PagerOpenWal($69,$isOpen)|0); + HEAP32[$rc>>2] = $70; + $71 = HEAP32[$rc>>2]|0; + $72 = ($71|0)!=(0); + if ($72) { + break L16; + } + $73 = HEAP32[$isOpen>>2]|0; + $74 = ($73|0)==(0); + if (!($74)) { + HEAP32[$rc>>2] = 26; + break; + } + $75 = HEAP32[$pPage1>>2]|0; + _releasePage($75); + HEAP32[$0>>2] = 0; + $222 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($222|0); + } + } + } while(0); + $76 = HEAP32[$page1>>2]|0; + $77 = ((($76)) + 21|0); + $78 = (_memcmp($77,36102,3)|0); + $79 = ($78|0)!=(0); + if (!($79)) { + $80 = HEAP32[$page1>>2]|0; + $81 = ((($80)) + 16|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 << 8; + $85 = HEAP32[$page1>>2]|0; + $86 = ((($85)) + 17|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + $89 = $88 << 16; + $90 = $84 | $89; + HEAP32[$pageSize>>2] = $90; + $91 = HEAP32[$pageSize>>2]|0; + $92 = (($91) - 1)|0; + $93 = HEAP32[$pageSize>>2]|0; + $94 = $92 & $93; + $95 = ($94|0)!=(0); + $96 = HEAP32[$pageSize>>2]|0; + $97 = ($96>>>0)>(65536); + $or$cond = $95 | $97; + $98 = HEAP32[$pageSize>>2]|0; + $99 = ($98>>>0)<=(256); + $or$cond3 = $or$cond | $99; + if (!($or$cond3)) { + $100 = HEAP32[$pageSize>>2]|0; + $101 = HEAP32[$page1>>2]|0; + $102 = ((($101)) + 20|0); + $103 = HEAP8[$102>>0]|0; + $104 = $103&255; + $105 = (($100) - ($104))|0; + HEAP32[$usableSize>>2] = $105; + $106 = HEAP32[$pageSize>>2]|0; + $107 = HEAP32[$1>>2]|0; + $108 = ((($107)) + 32|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($106|0)!=($109|0); + if ($110) { + $111 = HEAP32[$pPage1>>2]|0; + _releasePage($111); + $112 = HEAP32[$usableSize>>2]|0; + $113 = HEAP32[$1>>2]|0; + $114 = ((($113)) + 36|0); + HEAP32[$114>>2] = $112; + $115 = HEAP32[$pageSize>>2]|0; + $116 = HEAP32[$1>>2]|0; + $117 = ((($116)) + 32|0); + HEAP32[$117>>2] = $115; + $118 = HEAP32[$1>>2]|0; + _freeTempSpace($118); + $119 = HEAP32[$1>>2]|0; + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$1>>2]|0; + $122 = ((($121)) + 32|0); + $123 = HEAP32[$pageSize>>2]|0; + $124 = HEAP32[$usableSize>>2]|0; + $125 = (($123) - ($124))|0; + $126 = (_sqlite3PagerSetPagesize($120,$122,$125)|0); + HEAP32[$rc>>2] = $126; + $127 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $127; + $222 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($222|0); + } + $128 = HEAP32[$1>>2]|0; + $129 = ((($128)) + 4|0); + $130 = HEAP32[$129>>2]|0; + $131 = ((($130)) + 24|0); + $132 = HEAP32[$131>>2]|0; + $133 = $132 & 65536; + $134 = ($133|0)==(0); + if ($134) { + $135 = HEAP32[$nPage>>2]|0; + $136 = HEAP32[$nPageFile>>2]|0; + $137 = ($135|0)>($136|0); + if ($137) { + $138 = (_sqlite3CorruptError(54754)|0); + HEAP32[$rc>>2] = $138; + break; + } + } + $139 = HEAP32[$usableSize>>2]|0; + $140 = ($139>>>0)<(480); + if (!($140)) { + $141 = HEAP32[$pageSize>>2]|0; + $142 = HEAP32[$1>>2]|0; + $143 = ((($142)) + 32|0); + HEAP32[$143>>2] = $141; + $144 = HEAP32[$usableSize>>2]|0; + $145 = HEAP32[$1>>2]|0; + $146 = ((($145)) + 36|0); + HEAP32[$146>>2] = $144; + $147 = HEAP32[$page1>>2]|0; + $148 = ((($147)) + 52|0); + $149 = (_sqlite3Get4byte($148)|0); + $150 = ($149|0)!=(0); + $151 = $150 ? 1 : 0; + $152 = $151&255; + $153 = HEAP32[$1>>2]|0; + $154 = ((($153)) + 17|0); + HEAP8[$154>>0] = $152; + $155 = HEAP32[$page1>>2]|0; + $156 = ((($155)) + 64|0); + $157 = (_sqlite3Get4byte($156)|0); + $158 = ($157|0)!=(0); + $159 = $158 ? 1 : 0; + $160 = $159&255; + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 18|0); + HEAP8[$162>>0] = $160; + break L14; + } + } + } + } + } + } while(0); + $218 = HEAP32[$pPage1>>2]|0; + _releasePage($218); + $219 = HEAP32[$1>>2]|0; + $220 = ((($219)) + 12|0); + HEAP32[$220>>2] = 0; + $221 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $221; + $222 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($222|0); + } + } while(0); + $163 = HEAP32[$1>>2]|0; + $164 = ((($163)) + 36|0); + $165 = HEAP32[$164>>2]|0; + $166 = (($165) - 12)|0; + $167 = $166<<6; + $168 = (($167>>>0) / 255)&-1; + $169 = (($168) - 23)|0; + $170 = $169&65535; + $171 = HEAP32[$1>>2]|0; + $172 = ((($171)) + 24|0); + HEAP16[$172>>1] = $170; + $173 = HEAP32[$1>>2]|0; + $174 = ((($173)) + 36|0); + $175 = HEAP32[$174>>2]|0; + $176 = (($175) - 12)|0; + $177 = $176<<5; + $178 = (($177>>>0) / 255)&-1; + $179 = (($178) - 23)|0; + $180 = $179&65535; + $181 = HEAP32[$1>>2]|0; + $182 = ((($181)) + 26|0); + HEAP16[$182>>1] = $180; + $183 = HEAP32[$1>>2]|0; + $184 = ((($183)) + 36|0); + $185 = HEAP32[$184>>2]|0; + $186 = (($185) - 35)|0; + $187 = $186&65535; + $188 = HEAP32[$1>>2]|0; + $189 = ((($188)) + 28|0); + HEAP16[$189>>1] = $187; + $190 = HEAP32[$1>>2]|0; + $191 = ((($190)) + 36|0); + $192 = HEAP32[$191>>2]|0; + $193 = (($192) - 12)|0; + $194 = $193<<5; + $195 = (($194>>>0) / 255)&-1; + $196 = (($195) - 23)|0; + $197 = $196&65535; + $198 = HEAP32[$1>>2]|0; + $199 = ((($198)) + 30|0); + HEAP16[$199>>1] = $197; + $200 = HEAP32[$1>>2]|0; + $201 = ((($200)) + 24|0); + $202 = HEAP16[$201>>1]|0; + $203 = $202&65535; + $204 = ($203|0)>(127); + $205 = HEAP32[$1>>2]|0; + if ($204) { + $206 = ((($205)) + 21|0); + HEAP8[$206>>0] = 127; + } else { + $207 = ((($205)) + 24|0); + $208 = HEAP16[$207>>1]|0; + $209 = $208&255; + $210 = HEAP32[$1>>2]|0; + $211 = ((($210)) + 21|0); + HEAP8[$211>>0] = $209; + } + $212 = HEAP32[$pPage1>>2]|0; + $213 = HEAP32[$1>>2]|0; + $214 = ((($213)) + 12|0); + HEAP32[$214>>2] = $212; + $215 = HEAP32[$nPage>>2]|0; + $216 = HEAP32[$1>>2]|0; + $217 = ((($216)) + 44|0); + HEAP32[$217>>2] = $215; + HEAP32[$0>>2] = 0; + $222 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($222|0); +} +function _sqlite3PagerBegin($pPager,$exFlag,$subjInMemory) { + $pPager = $pPager|0; + $exFlag = $exFlag|0; + $subjInMemory = $subjInMemory|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $or$cond = 0; + var $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pPager; + HEAP32[$2>>2] = $exFlag; + HEAP32[$3>>2] = $subjInMemory; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 40|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 40|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$0>>2] = $10; + $78 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($78|0); + } + $11 = HEAP32[$3>>2]|0; + $12 = $11&255; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 21|0); + HEAP8[$14>>0] = $12; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)==(1); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = (_pagerUseWal($20)|0); + $22 = ($21|0)!=(0); + $23 = HEAP32[$1>>2]|0; + if ($22) { + $24 = ((($23)) + 4|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26|0)!=(0); + do { + if ($27) { + $28 = HEAP32[$1>>2]|0; + $29 = ((($28)) + 208|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3WalExclusiveMode($30,-1)|0); + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$1>>2]|0; + $34 = (_pagerLockDb($33,4)|0); + HEAP32[$rc>>2] = $34; + $35 = HEAP32[$rc>>2]|0; + $36 = ($35|0)!=(0); + if (!($36)) { + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 208|0); + $40 = HEAP32[$39>>2]|0; + (_sqlite3WalExclusiveMode($40,1)|0); + break; + } + $37 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $37; + $78 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($78|0); + } + } + } while(0); + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 208|0); + $43 = HEAP32[$42>>2]|0; + $44 = (_sqlite3WalBeginWriteTransaction($43)|0); + HEAP32[$rc>>2] = $44; + } else { + $45 = (_pagerLockDb($23,2)|0); + HEAP32[$rc>>2] = $45; + $46 = HEAP32[$rc>>2]|0; + $47 = ($46|0)==(0); + $48 = HEAP32[$2>>2]|0; + $49 = ($48|0)!=(0); + $or$cond = $47 & $49; + if ($or$cond) { + $50 = HEAP32[$1>>2]|0; + $51 = (_pager_wait_on_lock($50,4)|0); + HEAP32[$rc>>2] = $51; + } + } + $52 = HEAP32[$rc>>2]|0; + $53 = ($52|0)==(0); + if ($53) { + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 16|0); + HEAP8[$55>>0] = 2; + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 24|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 36|0); + HEAP32[$60>>2] = $58; + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 24|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 32|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 28|0); + HEAP32[$70>>2] = $68; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 72|0); + $73 = $72; + $74 = $73; + HEAP32[$74>>2] = 0; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = 0; + } + } + $77 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $77; + $78 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($78|0); +} +function _sqlite3WalBeginWriteTransaction($pWal) { + $pWal = $pWal|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $rc = sp; + HEAP32[$1>>2] = $pWal; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 46|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); + if ($5) { + HEAP32[$0>>2] = 8; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = (_walLockExclusive($6,0,1)|0); + HEAP32[$rc>>2] = $7; + $8 = HEAP32[$rc>>2]|0; + $9 = ($8|0)!=(0); + if ($9) { + $10 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $10; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); + } + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 44|0); + HEAP8[$12>>0] = 1; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 52|0); + $15 = HEAP32[$1>>2]|0; + $16 = (_walIndexHdr($15)|0); + $17 = (_memcmp($14,$16,48)|0); + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$1>>2]|0; + _walUnlockExclusive($19,0,1); + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 44|0); + HEAP8[$21>>0] = 0; + HEAP32[$rc>>2] = 517; + } + $22 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $22; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _sqlite3ValueSetNull($p) { + $p = $p|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + _sqlite3VdbeMemSetNull($1); + STACKTOP = sp;return; +} +function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { + $pVfs = $pVfs|0; + $zPath = $zPath|0; + $pFile = $pFile|0; + $flags = $flags|0; + $pOutFlags = $pOutFlags|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ctrlFlags = 0, $eType = 0, $fd = 0, $gid = 0, $isCreate = 0, $isDelete = 0, $isExclusive = 0; + var $isReadWrite = 0, $isReadonly = 0, $noLock = 0, $openFlags = 0, $openMode = 0, $or$cond = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0, $p = 0, $pUnused = 0, $rc = 0, $syncDir = 0, $uid = 0, $zName = 0, $zTmpname = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 624|0; + $0 = sp + 32|0; + $1 = sp; + $2 = sp + 56|0; + $3 = sp + 28|0; + $4 = sp + 76|0; + $5 = sp + 8|0; + $p = sp + 12|0; + $fd = sp + 48|0; + $openFlags = sp + 64|0; + $eType = sp + 72|0; + $noLock = sp + 80|0; + $rc = sp + 88|0; + $ctrlFlags = sp + 92|0; + $isExclusive = sp + 36|0; + $isDelete = sp + 40|0; + $isCreate = sp + 44|0; + $isReadonly = sp + 52|0; + $isReadWrite = sp + 60|0; + $syncDir = sp + 16|0; + $zTmpname = sp + 96|0; + $zName = sp + 20|0; + $pUnused = sp + 68|0; + $openMode = sp + 24|0; + $uid = sp + 84|0; + $gid = sp + 4|0; + HEAP32[$1>>2] = $pVfs; + HEAP32[$2>>2] = $zPath; + HEAP32[$3>>2] = $pFile; + HEAP32[$4>>2] = $flags; + HEAP32[$5>>2] = $pOutFlags; + $6 = HEAP32[$3>>2]|0; + HEAP32[$p>>2] = $6; + HEAP32[$fd>>2] = -1; + HEAP32[$openFlags>>2] = 0; + $7 = HEAP32[$4>>2]|0; + $8 = $7 & -256; + HEAP32[$eType>>2] = $8; + HEAP32[$rc>>2] = 0; + HEAP32[$ctrlFlags>>2] = 0; + $9 = HEAP32[$4>>2]|0; + $10 = $9 & 16; + HEAP32[$isExclusive>>2] = $10; + $11 = HEAP32[$4>>2]|0; + $12 = $11 & 8; + HEAP32[$isDelete>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = $13 & 4; + HEAP32[$isCreate>>2] = $14; + $15 = HEAP32[$4>>2]|0; + $16 = $15 & 1; + HEAP32[$isReadonly>>2] = $16; + $17 = HEAP32[$4>>2]|0; + $18 = $17 & 2; + HEAP32[$isReadWrite>>2] = $18; + $19 = HEAP32[$isCreate>>2]|0; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$eType>>2]|0; + $22 = ($21|0)==(16384); + $23 = HEAP32[$eType>>2]|0; + $24 = ($23|0)==(2048); + $or$cond = $22 | $24; + if ($or$cond) { + $28 = 1; + } else { + $25 = HEAP32[$eType>>2]|0; + $26 = ($25|0)==(524288); + $28 = $26; + } + } else { + $28 = 0; + } + $27 = $28&1; + HEAP32[$syncDir>>2] = $27; + $29 = HEAP32[$2>>2]|0; + HEAP32[$zName>>2] = $29; + $30 = HEAP32[4608>>2]|0; + $31 = (_getpid()|0); + $32 = ($30|0)!=($31|0); + if ($32) { + $33 = (_getpid()|0); + HEAP32[4608>>2] = $33; + _sqlite3_randomness(0,0); + } + $34 = HEAP32[$p>>2]|0; + dest=$34; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $35 = HEAP32[$eType>>2]|0; + $36 = ($35|0)==(256); + $37 = HEAP32[$zName>>2]|0; + do { + if ($36) { + $38 = HEAP32[$4>>2]|0; + $39 = (_findReusableFd($37,$38)|0); + HEAP32[$pUnused>>2] = $39; + $40 = HEAP32[$pUnused>>2]|0; + $41 = ($40|0)!=(0|0); + if ($41) { + $42 = HEAP32[$pUnused>>2]|0; + $43 = HEAP32[$42>>2]|0; + HEAP32[$fd>>2] = $43; + } else { + $44 = (_sqlite3_malloc(12)|0); + HEAP32[$pUnused>>2] = $44; + $45 = HEAP32[$pUnused>>2]|0; + $46 = ($45|0)!=(0|0); + if (!($46)) { + HEAP32[$0>>2] = 7; + $172 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($172|0); + } + } + $47 = HEAP32[$pUnused>>2]|0; + $48 = HEAP32[$p>>2]|0; + $49 = ((($48)) + 28|0); + HEAP32[$49>>2] = $47; + } else { + $50 = ($37|0)!=(0|0); + if (!($50)) { + $51 = (_unixGetTempname(514,$zTmpname)|0); + HEAP32[$rc>>2] = $51; + $52 = HEAP32[$rc>>2]|0; + $53 = ($52|0)!=(0); + if (!($53)) { + HEAP32[$zName>>2] = $zTmpname; + break; + } + $54 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $54; + $172 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($172|0); + } + } + } while(0); + $55 = HEAP32[$isReadonly>>2]|0; + $56 = ($55|0)!=(0); + if ($56) { + $57 = HEAP32[$openFlags>>2]|0; + HEAP32[$openFlags>>2] = $57; + } + $58 = HEAP32[$isReadWrite>>2]|0; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$openFlags>>2]|0; + $61 = $60 | 2; + HEAP32[$openFlags>>2] = $61; + } + $62 = HEAP32[$isCreate>>2]|0; + $63 = ($62|0)!=(0); + if ($63) { + $64 = HEAP32[$openFlags>>2]|0; + $65 = $64 | 64; + HEAP32[$openFlags>>2] = $65; + } + $66 = HEAP32[$isExclusive>>2]|0; + $67 = ($66|0)!=(0); + if ($67) { + $68 = HEAP32[$openFlags>>2]|0; + $69 = $68 | 131200; + HEAP32[$openFlags>>2] = $69; + } + $70 = HEAP32[$openFlags>>2]|0; + HEAP32[$openFlags>>2] = $70; + $71 = HEAP32[$fd>>2]|0; + $72 = ($71|0)<(0); + do { + if ($72) { + $73 = HEAP32[$zName>>2]|0; + $74 = HEAP32[$4>>2]|0; + $75 = (_findCreateFileMode($73,$74,$openMode,$uid,$gid)|0); + HEAP32[$rc>>2] = $75; + $76 = HEAP32[$rc>>2]|0; + $77 = ($76|0)!=(0); + if ($77) { + $78 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $78; + $172 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($172|0); + } + $79 = HEAP32[$zName>>2]|0; + $80 = HEAP32[$openFlags>>2]|0; + $81 = HEAP32[$openMode>>2]|0; + $82 = (_robust_open($79,$80,$81)|0); + HEAP32[$fd>>2] = $82; + $83 = HEAP32[$fd>>2]|0; + $84 = ($83|0)<(0); + if ($84) { + $85 = (___errno_location()|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)!=(21); + $88 = HEAP32[$isReadWrite>>2]|0; + $89 = ($88|0)!=(0); + $or$cond3 = $87 & $89; + $or$cond3$not = $or$cond3 ^ 1; + $90 = HEAP32[$isExclusive>>2]|0; + $91 = ($90|0)!=(0); + $or$cond5 = $or$cond3$not | $91; + if (!($or$cond5)) { + $92 = HEAP32[$4>>2]|0; + $93 = $92 & -7; + HEAP32[$4>>2] = $93; + $94 = HEAP32[$openFlags>>2]|0; + $95 = $94 & -67; + HEAP32[$openFlags>>2] = $95; + $96 = HEAP32[$4>>2]|0; + $97 = $96 | 1; + HEAP32[$4>>2] = $97; + $98 = HEAP32[$openFlags>>2]|0; + HEAP32[$openFlags>>2] = $98; + HEAP32[$isReadonly>>2] = 1; + $99 = HEAP32[$zName>>2]|0; + $100 = HEAP32[$openFlags>>2]|0; + $101 = HEAP32[$openMode>>2]|0; + $102 = (_robust_open($99,$100,$101)|0); + HEAP32[$fd>>2] = $102; + } + } + $103 = HEAP32[$fd>>2]|0; + $104 = ($103|0)<(0); + if ($104) { + $105 = (_sqlite3CantopenError(30591)|0); + $106 = HEAP32[$zName>>2]|0; + $107 = (_unixLogErrorAtLine($105,36181,$106,30591)|0); + HEAP32[$rc>>2] = $107; + break; + } + $108 = HEAP32[$4>>2]|0; + $109 = $108 & 526336; + $110 = ($109|0)!=(0); + if ($110) { + $111 = HEAP32[(4448)>>2]|0; + $112 = HEAP32[$fd>>2]|0; + $113 = HEAP32[$uid>>2]|0; + $114 = HEAP32[$gid>>2]|0; + (FUNCTION_TABLE_iiii[$111 & 31]($112,$113,$114)|0); + label = 34; + } else { + label = 34; + } + } else { + label = 34; + } + } while(0); + if ((label|0) == 34) { + $115 = HEAP32[$5>>2]|0; + $116 = ($115|0)!=(0|0); + if ($116) { + $117 = HEAP32[$4>>2]|0; + $118 = HEAP32[$5>>2]|0; + HEAP32[$118>>2] = $117; + } + $119 = HEAP32[$p>>2]|0; + $120 = ((($119)) + 28|0); + $121 = HEAP32[$120>>2]|0; + $122 = ($121|0)!=(0|0); + if ($122) { + $123 = HEAP32[$fd>>2]|0; + $124 = HEAP32[$p>>2]|0; + $125 = ((($124)) + 28|0); + $126 = HEAP32[$125>>2]|0; + HEAP32[$126>>2] = $123; + $127 = HEAP32[$4>>2]|0; + $128 = HEAP32[$p>>2]|0; + $129 = ((($128)) + 28|0); + $130 = HEAP32[$129>>2]|0; + $131 = ((($130)) + 4|0); + HEAP32[$131>>2] = $127; + } + $132 = HEAP32[$isDelete>>2]|0; + $133 = ($132|0)!=(0); + if ($133) { + $134 = HEAP32[(4400)>>2]|0; + $135 = HEAP32[$zName>>2]|0; + (FUNCTION_TABLE_ii[$134 & 31]($135)|0); + } + $136 = HEAP32[$eType>>2]|0; + $137 = ($136|0)!=(256); + $138 = $137&1; + HEAP32[$noLock>>2] = $138; + $139 = HEAP32[$isDelete>>2]|0; + $140 = ($139|0)!=(0); + if ($140) { + $141 = HEAP32[$ctrlFlags>>2]|0; + $142 = $141 | 32; + HEAP32[$ctrlFlags>>2] = $142; + } + $143 = HEAP32[$isReadonly>>2]|0; + $144 = ($143|0)!=(0); + if ($144) { + $145 = HEAP32[$ctrlFlags>>2]|0; + $146 = $145 | 2; + HEAP32[$ctrlFlags>>2] = $146; + } + $147 = HEAP32[$noLock>>2]|0; + $148 = ($147|0)!=(0); + if ($148) { + $149 = HEAP32[$ctrlFlags>>2]|0; + $150 = $149 | 128; + HEAP32[$ctrlFlags>>2] = $150; + } + $151 = HEAP32[$syncDir>>2]|0; + $152 = ($151|0)!=(0); + if ($152) { + $153 = HEAP32[$ctrlFlags>>2]|0; + $154 = $153 | 8; + HEAP32[$ctrlFlags>>2] = $154; + } + $155 = HEAP32[$4>>2]|0; + $156 = $155 & 64; + $157 = ($156|0)!=(0); + if ($157) { + $158 = HEAP32[$ctrlFlags>>2]|0; + $159 = $158 | 64; + HEAP32[$ctrlFlags>>2] = $159; + } + $160 = HEAP32[$1>>2]|0; + $161 = HEAP32[$fd>>2]|0; + $162 = HEAP32[$3>>2]|0; + $163 = HEAP32[$2>>2]|0; + $164 = HEAP32[$ctrlFlags>>2]|0; + $165 = (_fillInUnixFile($160,$161,$162,$163,$164)|0); + HEAP32[$rc>>2] = $165; + } + $166 = HEAP32[$rc>>2]|0; + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$p>>2]|0; + $169 = ((($168)) + 28|0); + $170 = HEAP32[$169>>2]|0; + _sqlite3_free($170); + } + $171 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $171; + $172 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($172|0); +} +function _unixDelete($NotUsed,$zPath,$dirSync) { + $NotUsed = $NotUsed|0; + $zPath = $zPath|0; + $dirSync = $dirSync|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $rc = sp + 4|0; + $fd = sp; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $zPath; + HEAP32[$3>>2] = $dirSync; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[(4400)>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (FUNCTION_TABLE_ii[$4 & 31]($5)|0); + $7 = ($6|0)==(-1); + if ($7) { + $8 = (___errno_location()|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(2); + if ($10) { + HEAP32[$rc>>2] = 5898; + } else { + $11 = HEAP32[$2>>2]|0; + $12 = (_unixLogErrorAtLine(2570,36278,$11,30729)|0); + HEAP32[$rc>>2] = $12; + } + $13 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $13; + $31 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($31|0); + } + $14 = HEAP32[$3>>2]|0; + $15 = $14 & 1; + $16 = ($15|0)!=(0); + do { + if ($16) { + $17 = HEAP32[(4412)>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = (FUNCTION_TABLE_iii[$17 & 63]($18,$fd)|0); + HEAP32[$rc>>2] = $19; + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $28 = HEAP32[$rc>>2]|0; + $29 = ($28|0)==(14); + if (!($29)) { + break; + } + HEAP32[$rc>>2] = 0; + break; + } + $22 = HEAP32[$fd>>2]|0; + $23 = (_fsync($22)|0); + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$2>>2]|0; + $26 = (_unixLogErrorAtLine(1290,36548,$25,30744)|0); + HEAP32[$rc>>2] = $26; + } + $27 = HEAP32[$fd>>2]|0; + _robust_close(0,$27,30746); + } + } while(0); + $30 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $30; + $31 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($31|0); +} +function _unixAccess($NotUsed,$zPath,$flags,$pResOut) { + $NotUsed = $NotUsed|0; + $zPath = $zPath|0; + $flags = $flags|0; + $pResOut = $pResOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $amode = 0, $buf = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 92|0; + $1 = sp + 88|0; + $2 = sp + 84|0; + $3 = sp + 80|0; + $amode = sp + 76|0; + $buf = sp; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $zPath; + HEAP32[$2>>2] = $flags; + HEAP32[$3>>2] = $pResOut; + HEAP32[$amode>>2] = 0; + $4 = HEAP32[$2>>2]|0; + switch ($4|0) { + case 0: { + HEAP32[$amode>>2] = 0; + break; + } + case 1: { + HEAP32[$amode>>2] = 6; + break; + } + case 2: { + HEAP32[$amode>>2] = 4; + break; + } + default: { + } + } + $5 = HEAP32[(4232)>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$amode>>2]|0; + $8 = (FUNCTION_TABLE_iii[$5 & 63]($6,$7)|0); + $9 = ($8|0)==(0); + $10 = $9&1; + $11 = HEAP32[$3>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$2>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + STACKTOP = sp;return 0; + } + $14 = HEAP32[$3>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0); + if (!($16)) { + STACKTOP = sp;return 0; + } + $17 = HEAP32[(4256)>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = (FUNCTION_TABLE_iii[$17 & 63]($18,$buf)|0); + $20 = (0)==($19|0); + if (!($20)) { + STACKTOP = sp;return 0; + } + $21 = ((($buf)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + STACKTOP = sp;return 0; + } + $24 = HEAP32[$3>>2]|0; + HEAP32[$24>>2] = 0; + STACKTOP = sp;return 0; +} +function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { + $pVfs = $pVfs|0; + $zPath = $zPath|0; + $nOut = $nOut|0; + $zOut = $zOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nCwd = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 16|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $3 = sp + 12|0; + $4 = sp + 20|0; + $nCwd = sp + 32|0; + HEAP32[$1>>2] = $pVfs; + HEAP32[$2>>2] = $zPath; + HEAP32[$3>>2] = $nOut; + HEAP32[$4>>2] = $zOut; + $5 = HEAP32[$3>>2]|0; + $6 = (($5) - 1)|0; + $7 = HEAP32[$4>>2]|0; + $8 = (($7) + ($6)|0); + HEAP8[$8>>0] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = ($11|0)==(47); + do { + if ($12) { + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$4>>2]|0; + $15 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $15; + (_sqlite3_snprintf($13,$14,14418,$vararg_buffer)|0); + } else { + $16 = HEAP32[(4244)>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = HEAP32[$3>>2]|0; + $19 = (($18) - 1)|0; + $20 = (FUNCTION_TABLE_iii[$16 & 63]($17,$19)|0); + $21 = ($20|0)==(0|0); + if (!($21)) { + $25 = HEAP32[$4>>2]|0; + $26 = (_strlen($25)|0); + HEAP32[$nCwd>>2] = $26; + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$nCwd>>2]|0; + $29 = (($27) - ($28))|0; + $30 = HEAP32[$nCwd>>2]|0; + $31 = HEAP32[$4>>2]|0; + $32 = (($31) + ($30)|0); + $33 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer1>>2] = $33; + (_sqlite3_snprintf($29,$32,36544,$vararg_buffer1)|0); + break; + } + $22 = (_sqlite3CantopenError(30831)|0); + $23 = HEAP32[$2>>2]|0; + $24 = (_unixLogErrorAtLine($22,36186,$23,30831)|0); + HEAP32[$0>>2] = $24; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); + } + } while(0); + HEAP32[$0>>2] = 0; + $34 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($34|0); +} +function _unixRandomness($NotUsed,$nBuf,$zBuf) { + $NotUsed = $NotUsed|0; + $nBuf = $nBuf|0; + $zBuf = $zBuf|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $got = 0, $t = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $fd = sp + 8|0; + $got = sp + 4|0; + $t = sp; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $nBuf; + HEAP32[$2>>2] = $zBuf; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + _memset(($3|0),0,($4|0))|0; + $5 = (_getpid()|0); + HEAP32[4608>>2] = $5; + $6 = (_robust_open(36531,0,0)|0); + HEAP32[$fd>>2] = $6; + $7 = HEAP32[$fd>>2]|0; + $8 = ($7|0)<(0); + if ($8) { + (_time(($t|0))|0); + $9 = HEAP32[$2>>2]|0; + ;HEAP8[$9>>0]=HEAP8[$t>>0]|0;HEAP8[$9+1>>0]=HEAP8[$t+1>>0]|0;HEAP8[$9+2>>0]=HEAP8[$t+2>>0]|0;HEAP8[$9+3>>0]=HEAP8[$t+3>>0]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + ;HEAP8[$11>>0]=HEAP8[4608>>0]|0;HEAP8[$11+1>>0]=HEAP8[4608+1>>0]|0;HEAP8[$11+2>>0]=HEAP8[4608+2>>0]|0;HEAP8[$11+3>>0]=HEAP8[4608+3>>0]|0; + HEAP32[$1>>2] = 8; + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); + } + while(1) { + $12 = HEAP32[(4304)>>2]|0; + $13 = HEAP32[$fd>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = (FUNCTION_TABLE_iiii[$12 & 31]($13,$14,$15)|0); + HEAP32[$got>>2] = $16; + $17 = HEAP32[$got>>2]|0; + $18 = ($17|0)<(0); + if (!($18)) { + break; + } + $19 = (___errno_location()|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(4); + if (!($21)) { + break; + } + } + $22 = HEAP32[$fd>>2]|0; + _robust_close(0,$22,30936); + $23 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _unixSleep($NotUsed,$microseconds) { + $NotUsed = $NotUsed|0; + $microseconds = $microseconds|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $seconds = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $seconds = sp; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $microseconds; + $2 = HEAP32[$1>>2]|0; + $3 = (($2) + 999999)|0; + $4 = (($3|0) / 1000000)&-1; + HEAP32[$seconds>>2] = $4; + $5 = HEAP32[$seconds>>2]|0; + (_sleep($5)|0); + $6 = HEAP32[$seconds>>2]|0; + $7 = ($6*1000000)|0; + STACKTOP = sp;return ($7|0); +} +function _unixCurrentTime($NotUsed,$prNow) { + $NotUsed = $NotUsed|0; + $prNow = $prNow|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $rc = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $i = sp; + $rc = sp + 8|0; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $prNow; + $2 = $i; + $3 = $2; + HEAP32[$3>>2] = 0; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + $6 = (_unixCurrentTimeInt64(0,$i)|0); + HEAP32[$rc>>2] = $6; + $7 = $i; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (+($9>>>0)) + (4294967296.0*(+($12|0))); + $14 = $13 / 8.64E+7; + $15 = HEAP32[$1>>2]|0; + HEAPF64[$15>>3] = $14; + $16 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($16|0); +} +function _unixGetLastError($NotUsed,$NotUsed2,$NotUsed3) { + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + $NotUsed3 = $NotUsed3|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $NotUsed2; + HEAP32[$2>>2] = $NotUsed3; + STACKTOP = sp;return 0; +} +function _unixCurrentTimeInt64($NotUsed,$piNow) { + $NotUsed = $NotUsed|0; + $piNow = $piNow|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $sNow = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $rc = sp + 8|0; + $sNow = sp; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $piNow; + HEAP32[$rc>>2] = 0; + $2 = (_gettimeofday(($sNow|0),(0|0))|0); + $3 = ($2|0)==(0); + if ($3) { + $4 = HEAP32[$sNow>>2]|0; + $5 = ($4|0)<(0); + $6 = $5 << 31 >> 31; + $7 = (___muldi3(1000,0,($4|0),($6|0))|0); + $8 = tempRet0; + $9 = (_i64Add(1045635584,49096,($7|0),($8|0))|0); + $10 = tempRet0; + $11 = ((($sNow)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($12|0) / 1000)&-1; + $14 = ($13|0)<(0); + $15 = $14 << 31 >> 31; + $16 = (_i64Add(($9|0),($10|0),($13|0),($15|0))|0); + $17 = tempRet0; + $18 = HEAP32[$1>>2]|0; + $19 = $18; + $20 = $19; + HEAP32[$20>>2] = $16; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($23|0); + } else { + HEAP32[$rc>>2] = 1; + $23 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { + $pNotUsed = $pNotUsed|0; + $zName = $zName|0; + $pNewFunc = $pNewFunc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $i = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pNotUsed; + HEAP32[$1>>2] = $zName; + HEAP32[$2>>2] = $pNewFunc; + HEAP32[$rc>>2] = 12; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$rc>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $5 = HEAP32[$i>>2]|0; + $6 = ($5>>>0)<(25); + if (!($6)) { + break; + } + $7 = HEAP32[$i>>2]|0; + $8 = (4204 + (($7*12)|0)|0); + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)!=(0|0); + if ($11) { + $12 = HEAP32[$i>>2]|0; + $13 = (4204 + (($12*12)|0)|0); + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$i>>2]|0; + $17 = (4204 + (($16*12)|0)|0); + $18 = ((($17)) + 4|0); + HEAP32[$18>>2] = $15; + } + $19 = HEAP32[$i>>2]|0; + $20 = (($19) + 1)|0; + HEAP32[$i>>2] = $20; + } + $52 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($52|0); + } + HEAP32[$i>>2] = 0; + while(1) { + $21 = HEAP32[$i>>2]|0; + $22 = ($21>>>0)<(25); + if (!($22)) { + label = 16; + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$i>>2]|0; + $25 = (4204 + (($24*12)|0)|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_strcmp($23,$26)|0); + $28 = ($27|0)==(0); + $29 = HEAP32[$i>>2]|0; + if ($28) { + break; + } + $51 = (($29) + 1)|0; + HEAP32[$i>>2] = $51; + } + if ((label|0) == 16) { + $52 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($52|0); + } + $30 = (4204 + (($29*12)|0)|0); + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0|0); + if ($33) { + $34 = HEAP32[$i>>2]|0; + $35 = (4204 + (($34*12)|0)|0); + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$i>>2]|0; + $39 = (4204 + (($38*12)|0)|0); + $40 = ((($39)) + 8|0); + HEAP32[$40>>2] = $37; + } + HEAP32[$rc>>2] = 0; + $41 = HEAP32[$2>>2]|0; + $42 = ($41|0)==(0|0); + if ($42) { + $43 = HEAP32[$i>>2]|0; + $44 = (4204 + (($43*12)|0)|0); + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$2>>2] = $46; + } + $47 = HEAP32[$2>>2]|0; + $48 = HEAP32[$i>>2]|0; + $49 = (4204 + (($48*12)|0)|0); + $50 = ((($49)) + 4|0); + HEAP32[$50>>2] = $47; + $52 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($52|0); +} +function _unixGetSystemCall($pNotUsed,$zName) { + $pNotUsed = $pNotUsed|0; + $zName = $zName|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $i = sp; + HEAP32[$1>>2] = $pNotUsed; + HEAP32[$2>>2] = $zName; + HEAP32[$i>>2] = 0; + while(1) { + $3 = HEAP32[$i>>2]|0; + $4 = ($3>>>0)<(25); + if (!($4)) { + label = 6; + break; + } + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$i>>2]|0; + $7 = (4204 + (($6*12)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_strcmp($5,$8)|0); + $10 = ($9|0)==(0); + $11 = HEAP32[$i>>2]|0; + if ($10) { + label = 4; + break; + } + $15 = (($11) + 1)|0; + HEAP32[$i>>2] = $15; + } + if ((label|0) == 4) { + $12 = (4204 + (($11*12)|0)|0); + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$0>>2] = $14; + $16 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($16|0); + } + else if ((label|0) == 6) { + HEAP32[$0>>2] = 0; + $16 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($16|0); + } + return (0)|0; +} +function _unixNextSystemCall($p,$zName) { + $p = $p|0; + $zName = $zName|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $i = sp; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $zName; + HEAP32[$i>>2] = -1; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + L1: do { + if ($4) { + HEAP32[$i>>2] = 0; + while(1) { + $5 = HEAP32[$i>>2]|0; + $6 = ($5|0)<(24); + if (!($6)) { + break L1; + } + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$i>>2]|0; + $9 = (4204 + (($8*12)|0)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_strcmp($7,$10)|0); + $12 = ($11|0)==(0); + if ($12) { + break L1; + } + $13 = HEAP32[$i>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$i>>2] = $14; + } + } + } while(0); + $15 = HEAP32[$i>>2]|0; + $16 = (($15) + 1)|0; + HEAP32[$i>>2] = $16; + while(1) { + $17 = HEAP32[$i>>2]|0; + $18 = ($17|0)<(25); + if (!($18)) { + label = 11; + break; + } + $19 = HEAP32[$i>>2]|0; + $20 = (4204 + (($19*12)|0)|0); + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); + $24 = HEAP32[$i>>2]|0; + if ($23) { + label = 9; + break; + } + $27 = (($24) + 1)|0; + HEAP32[$i>>2] = $27; + } + if ((label|0) == 9) { + $25 = (4204 + (($24*12)|0)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$0>>2] = $26; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); + } + else if ((label|0) == 11) { + HEAP32[$0>>2] = 0; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); + } + return (0)|0; +} +function _dotlockIoFinderImpl($z,$p) { + $z = $z|0; + $p = $p|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $z; + HEAP32[$1>>2] = $p; + STACKTOP = sp;return (4128|0); +} +function _dotlockClose($id) { + $id = $id|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $rc = sp + 4|0; + $pFile = sp; + HEAP32[$0>>2] = $id; + HEAP32[$rc>>2] = 0; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + $10 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($10|0); + } + $3 = HEAP32[$0>>2]|0; + HEAP32[$pFile>>2] = $3; + $4 = HEAP32[$0>>2]|0; + (_dotlockUnlock($4,0)|0); + $5 = HEAP32[$pFile>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + _sqlite3_free($7); + $8 = HEAP32[$0>>2]|0; + $9 = (_closeUnixFile($8)|0); + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($10|0); +} +function _unixRead($id,$pBuf,$amt,$0,$1) { + $id = $id|0; + $pBuf = $pBuf|0; + $amt = $amt|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $got = 0, $pFile = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp + 20|0; + $4 = sp + 24|0; + $5 = sp + 28|0; + $6 = sp; + $pFile = sp + 8|0; + $got = sp + 16|0; + HEAP32[$3>>2] = $id; + HEAP32[$4>>2] = $pBuf; + HEAP32[$5>>2] = $amt; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = HEAP32[$3>>2]|0; + HEAP32[$pFile>>2] = $11; + $12 = HEAP32[$pFile>>2]|0; + $13 = $6; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = (_seekAndRead($12,$15,$18,$19,$20)|0); + HEAP32[$got>>2] = $21; + $22 = HEAP32[$got>>2]|0; + $23 = HEAP32[$5>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + HEAP32[$2>>2] = 0; + $35 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($35|0); + } + $25 = HEAP32[$got>>2]|0; + $26 = ($25|0)<(0); + if ($26) { + HEAP32[$2>>2] = 266; + $35 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($35|0); + } else { + $27 = HEAP32[$pFile>>2]|0; + $28 = ((($27)) + 20|0); + HEAP32[$28>>2] = 0; + $29 = HEAP32[$got>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = (($30) + ($29)|0); + $32 = HEAP32[$5>>2]|0; + $33 = HEAP32[$got>>2]|0; + $34 = (($32) - ($33))|0; + _memset(($31|0),0,($34|0))|0; + HEAP32[$2>>2] = 522; + $35 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($35|0); + } + return (0)|0; +} +function _unixWrite($id,$pBuf,$amt,$0,$1) { + $id = $id|0; + $pBuf = $pBuf|0; + $amt = $amt|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $wrote = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 12|0; + $3 = sp + 20|0; + $4 = sp + 24|0; + $5 = sp + 28|0; + $6 = sp; + $pFile = sp + 8|0; + $wrote = sp + 16|0; + HEAP32[$3>>2] = $id; + HEAP32[$4>>2] = $pBuf; + HEAP32[$5>>2] = $amt; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $1; + $11 = HEAP32[$3>>2]|0; + HEAP32[$pFile>>2] = $11; + HEAP32[$wrote>>2] = 0; + while(1) { + $12 = HEAP32[$5>>2]|0; + $13 = ($12|0)>(0); + if (!($13)) { + break; + } + $14 = HEAP32[$pFile>>2]|0; + $15 = $6; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$5>>2]|0; + $23 = (_seekAndWrite($14,$17,$20,$21,$22)|0); + HEAP32[$wrote>>2] = $23; + $24 = ($23|0)>(0); + if (!($24)) { + break; + } + $25 = HEAP32[$wrote>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = (($26) - ($25))|0; + HEAP32[$5>>2] = $27; + $28 = HEAP32[$wrote>>2]|0; + $29 = ($28|0)<(0); + $30 = $29 << 31 >> 31; + $31 = $6; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (_i64Add(($33|0),($36|0),($28|0),($30|0))|0); + $38 = tempRet0; + $39 = $6; + $40 = $39; + HEAP32[$40>>2] = $37; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $43 = HEAP32[$wrote>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = (($44) + ($43)|0); + HEAP32[$4>>2] = $45; + } + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)>(0); + if (!($47)) { + HEAP32[$2>>2] = 0; + $56 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($56|0); + } + $48 = HEAP32[$wrote>>2]|0; + $49 = ($48|0)<(0); + if ($49) { + $50 = HEAP32[$pFile>>2]|0; + $51 = ((($50)) + 20|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)!=(28); + if ($53) { + HEAP32[$2>>2] = 778; + $56 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($56|0); + } + } + $54 = HEAP32[$pFile>>2]|0; + $55 = ((($54)) + 20|0); + HEAP32[$55>>2] = 0; + HEAP32[$2>>2] = 13; + $56 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($56|0); +} +function _unixTruncate($id,$0,$1) { + $id = $id|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp; + $pFile = sp + 12|0; + $rc = sp + 8|0; + HEAP32[$3>>2] = $id; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = HEAP32[$3>>2]|0; + HEAP32[$pFile>>2] = $9; + $10 = HEAP32[$pFile>>2]|0; + $11 = ((($10)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)>(0); + if ($13) { + $14 = $4; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$pFile>>2]|0; + $21 = ((($20)) + 40|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)<(0); + $24 = $23 << 31 >> 31; + $25 = (_i64Add(($16|0),($19|0),($22|0),($24|0))|0); + $26 = tempRet0; + $27 = (_i64Subtract(($25|0),($26|0),1,0)|0); + $28 = tempRet0; + $29 = HEAP32[$pFile>>2]|0; + $30 = ((($29)) + 40|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<(0); + $33 = $32 << 31 >> 31; + $34 = (___divdi3(($27|0),($28|0),($31|0),($33|0))|0); + $35 = tempRet0; + $36 = HEAP32[$pFile>>2]|0; + $37 = ((($36)) + 40|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)<(0); + $40 = $39 << 31 >> 31; + $41 = (___muldi3(($34|0),($35|0),($38|0),($40|0))|0); + $42 = tempRet0; + $43 = $4; + $44 = $43; + HEAP32[$44>>2] = $41; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = $42; + } + $47 = HEAP32[$pFile>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = $4; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (_robust_ftruncate($49,$52,$55)|0); + HEAP32[$rc>>2] = $56; + $57 = HEAP32[$rc>>2]|0; + $58 = ($57|0)!=(0); + if ($58) { + $59 = (___errno_location()|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$pFile>>2]|0; + $62 = ((($61)) + 20|0); + HEAP32[$62>>2] = $60; + $63 = HEAP32[$pFile>>2]|0; + $64 = ((($63)) + 32|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_unixLogErrorAtLine(1546,36204,$65,28429)|0); + HEAP32[$2>>2] = $66; + $67 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($67|0); + } else { + HEAP32[$2>>2] = 0; + $67 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($67|0); + } + return (0)|0; +} +function _unixSync($id,$flags) { + $id = $id|0; + $flags = $flags|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dirfd = 0, $isDataOnly = 0, $isFullsync = 0, $or$cond = 0, $pFile = 0, $rc = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $rc = sp + 20|0; + $pFile = sp + 28|0; + $isDataOnly = sp; + $isFullsync = sp + 12|0; + $dirfd = sp + 24|0; + HEAP32[$1>>2] = $id; + HEAP32[$2>>2] = $flags; + $3 = HEAP32[$1>>2]|0; + HEAP32[$pFile>>2] = $3; + $4 = HEAP32[$2>>2]|0; + $5 = $4 & 16; + HEAP32[$isDataOnly>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = $6 & 15; + $8 = ($7|0)==(3); + $9 = $8&1; + HEAP32[$isFullsync>>2] = $9; + $10 = HEAP32[$pFile>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$isFullsync>>2]|0; + $14 = HEAP32[$isDataOnly>>2]|0; + $15 = (_full_fsync($12,$13,$14)|0); + HEAP32[$rc>>2] = $15; + $16 = HEAP32[$rc>>2]|0; + $17 = ($16|0)!=(0); + if ($17) { + $18 = (___errno_location()|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$pFile>>2]|0; + $21 = ((($20)) + 20|0); + HEAP32[$21>>2] = $19; + $22 = HEAP32[$pFile>>2]|0; + $23 = ((($22)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_unixLogErrorAtLine(1034,36520,$24,28385)|0); + HEAP32[$0>>2] = $25; + $53 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($53|0); + } + $26 = HEAP32[$pFile>>2]|0; + $27 = ((($26)) + 18|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = $29 & 8; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[(4412)>>2]|0; + $33 = HEAP32[$pFile>>2]|0; + $34 = ((($33)) + 32|0); + $35 = HEAP32[$34>>2]|0; + $36 = (FUNCTION_TABLE_iii[$32 & 63]($35,$dirfd)|0); + HEAP32[$rc>>2] = $36; + $37 = HEAP32[$rc>>2]|0; + $38 = ($37|0)==(0); + $39 = HEAP32[$dirfd>>2]|0; + $40 = ($39|0)>=(0); + $or$cond = $38 & $40; + if ($or$cond) { + $41 = HEAP32[$dirfd>>2]|0; + (_full_fsync($41,0,0)|0); + $42 = HEAP32[$pFile>>2]|0; + $43 = HEAP32[$dirfd>>2]|0; + _robust_close($42,$43,28399); + } else { + $44 = HEAP32[$rc>>2]|0; + $45 = ($44|0)==(14); + if ($45) { + HEAP32[$rc>>2] = 0; + } + } + $46 = HEAP32[$pFile>>2]|0; + $47 = ((($46)) + 18|0); + $48 = HEAP16[$47>>1]|0; + $49 = $48&65535; + $50 = $49 & -9; + $51 = $50&65535; + HEAP16[$47>>1] = $51; + } + $52 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $52; + $53 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($53|0); +} +function _unixFileSize($id,$pSize) { + $id = $id|0; + $pSize = $pSize|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0; + var $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 88|0; + $1 = sp + 84|0; + $2 = sp + 80|0; + $rc = sp + 76|0; + $buf = sp; + HEAP32[$1>>2] = $id; + HEAP32[$2>>2] = $pSize; + $3 = HEAP32[(4268)>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = (FUNCTION_TABLE_iii[$3 & 63]($6,$buf)|0); + HEAP32[$rc>>2] = $7; + $8 = HEAP32[$rc>>2]|0; + $9 = ($8|0)!=(0); + if ($9) { + $10 = (___errno_location()|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 20|0); + HEAP32[$13>>2] = $11; + HEAP32[$0>>2] = 1802; + $38 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($38|0); + } + $14 = ((($buf)) + 36|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)<(0); + $17 = $16 << 31 >> 31; + $18 = HEAP32[$2>>2]|0; + $19 = $18; + $20 = $19; + HEAP32[$20>>2] = $15; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = HEAP32[$2>>2]|0; + $24 = $23; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = ($26|0)==(1); + $31 = ($29|0)==(0); + $32 = $30 & $31; + if ($32) { + $33 = HEAP32[$2>>2]|0; + $34 = $33; + $35 = $34; + HEAP32[$35>>2] = 0; + $36 = (($34) + 4)|0; + $37 = $36; + HEAP32[$37>>2] = 0; + } + HEAP32[$0>>2] = 0; + $38 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _dotlockLock($id,$eFileLock) { + $id = $id|0; + $eFileLock = $eFileLock|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $or$cond = 0, $pFile = 0, $rc = 0, $tErrno = 0, $zLockFile = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $pFile = sp + 24|0; + $zLockFile = sp + 4|0; + $rc = sp; + $tErrno = sp + 12|0; + HEAP32[$1>>2] = $id; + HEAP32[$2>>2] = $eFileLock; + $3 = HEAP32[$1>>2]|0; + HEAP32[$pFile>>2] = $3; + $4 = HEAP32[$pFile>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$zLockFile>>2] = $6; + HEAP32[$rc>>2] = 0; + $7 = HEAP32[$pFile>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)>(0); + if ($11) { + $12 = HEAP32[$2>>2]|0; + $13 = $12&255; + $14 = HEAP32[$pFile>>2]|0; + $15 = ((($14)) + 16|0); + HEAP8[$15>>0] = $13; + $16 = HEAP32[$zLockFile>>2]|0; + (_utimes(($16|0),(0|0))|0); + HEAP32[$0>>2] = 0; + $41 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($41|0); + } + $17 = HEAP32[(4424)>>2]|0; + $18 = HEAP32[$zLockFile>>2]|0; + $19 = (FUNCTION_TABLE_iii[$17 & 63]($18,511)|0); + HEAP32[$rc>>2] = $19; + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)<(0); + if (!($21)) { + $36 = HEAP32[$2>>2]|0; + $37 = $36&255; + $38 = HEAP32[$pFile>>2]|0; + $39 = ((($38)) + 16|0); + HEAP8[$39>>0] = $37; + $40 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $40; + $41 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($41|0); + } + $22 = (___errno_location()|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$tErrno>>2] = $23; + $24 = HEAP32[$tErrno>>2]|0; + $25 = (17)==($24|0); + if ($25) { + HEAP32[$rc>>2] = 5; + } else { + $26 = HEAP32[$tErrno>>2]|0; + $27 = (_sqliteErrorFromPosixError($26,3850)|0); + HEAP32[$rc>>2] = $27; + $28 = HEAP32[$rc>>2]|0; + $29 = ($28|0)!=(0); + $30 = HEAP32[$rc>>2]|0; + $31 = ($30|0)!=(5); + $or$cond = $29 & $31; + if ($or$cond) { + $32 = HEAP32[$tErrno>>2]|0; + $33 = HEAP32[$pFile>>2]|0; + $34 = ((($33)) + 20|0); + HEAP32[$34>>2] = $32; } - $1071 = HEAP32[$i>>2]|0; - $1072 = (($apNew) + ($1071<<2)|0); - $1073 = HEAP32[$1072>>2]|0; - _releasePage($1073); - $1074 = HEAP32[$i>>2]|0; - $1075 = (($1074) + 1)|0; - HEAP32[$i>>2] = $1075; } - $1076 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $1076; - $1077 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1077|0); + $35 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $35; + $41 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($41|0); } -function _findOverflowCell($pPage,$iCell) { - $pPage = $pPage|0; - $iCell = $iCell|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i = 0, $k = 0, label = 0, sp = 0; +function _dotlockUnlock($id,$eFileLock) { + $id = $id|0; + $eFileLock = $eFileLock|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pFile = 0, $rc = 0, $tErrno = 0, $zLockFile = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $i = sp + 4|0; - $k = sp; - HEAP32[$1>>2] = $pPage; - HEAP32[$2>>2] = $iCell; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $pFile = sp + 24|0; + $zLockFile = sp + 4|0; + $rc = sp; + $tErrno = sp + 12|0; + HEAP32[$1>>2] = $id; + HEAP32[$2>>2] = $eFileLock; $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = (($6) - 1)|0; - HEAP32[$i>>2] = $7; - while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = ($8|0)>=(0); - if (!($9)) { - label = 8; - break; - } - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 22|0); - $13 = (($12) + ($10<<1)|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - HEAP32[$k>>2] = $15; - $16 = HEAP32[$k>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ($16|0)<=($17|0); - if ($18) { - $19 = HEAP32[$k>>2]|0; - $20 = HEAP32[$2>>2]|0; - $21 = ($19|0)==($20|0); - if ($21) { - label = 5; - break; - } - $27 = HEAP32[$2>>2]|0; - $28 = (($27) + -1)|0; - HEAP32[$2>>2] = $28; + HEAP32[$pFile>>2] = $3; + $4 = HEAP32[$pFile>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$zLockFile>>2] = $6; + $7 = HEAP32[$pFile>>2]|0; + $8 = ((($7)) + 16|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)==($11|0); + if ($12) { + HEAP32[$0>>2] = 0; + $44 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($44|0); + } + $13 = HEAP32[$2>>2]|0; + $14 = ($13|0)==(1); + if ($14) { + $15 = HEAP32[$pFile>>2]|0; + $16 = ((($15)) + 16|0); + HEAP8[$16>>0] = 1; + HEAP32[$0>>2] = 0; + $44 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($44|0); + } + $17 = HEAP32[(4436)>>2]|0; + $18 = HEAP32[$zLockFile>>2]|0; + $19 = (FUNCTION_TABLE_ii[$17 & 31]($18)|0); + HEAP32[$rc>>2] = $19; + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)<(0); + if ($21) { + $22 = (___errno_location()|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(20); + if ($24) { + $25 = HEAP32[(4400)>>2]|0; + $26 = HEAP32[$zLockFile>>2]|0; + $27 = (FUNCTION_TABLE_ii[$25 & 31]($26)|0); + HEAP32[$rc>>2] = $27; } - $29 = HEAP32[$i>>2]|0; - $30 = (($29) + -1)|0; - HEAP32[$i>>2] = $30; } - if ((label|0) == 5) { - $22 = HEAP32[$i>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 32|0); - $25 = (($24) + ($22<<2)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$0>>2] = $26; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $28 = HEAP32[$rc>>2]|0; + $29 = ($28|0)<(0); + if (!($29)) { + $42 = HEAP32[$pFile>>2]|0; + $43 = ((($42)) + 16|0); + HEAP8[$43>>0] = 0; + HEAP32[$0>>2] = 0; + $44 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($44|0); } - else if ((label|0) == 8) { - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 56|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 20|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = HEAP32[$2>>2]|0; - $39 = $38<<1; - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 64|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + ($39)|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = $45 << 8; - $47 = HEAP32[$2>>2]|0; - $48 = $47<<1; - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 64|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($48)|0); - $53 = (($52) + 1|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $46 | $55; - $57 = $37 & $56; - $58 = (($33) + ($57)|0); - HEAP32[$0>>2] = $58; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $30 = (___errno_location()|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$tErrno>>2] = $31; + HEAP32[$rc>>2] = 0; + $32 = HEAP32[$tErrno>>2]|0; + $33 = (2)!=($32|0); + $$ = $33 ? 2058 : 0; + HEAP32[$rc>>2] = $$; + $34 = HEAP32[$rc>>2]|0; + $35 = ($34|0)!=(0); + $36 = HEAP32[$rc>>2]|0; + $37 = ($36|0)!=(5); + $or$cond = $35 & $37; + if ($or$cond) { + $38 = HEAP32[$tErrno>>2]|0; + $39 = HEAP32[$pFile>>2]|0; + $40 = ((($39)) + 20|0); + HEAP32[$40>>2] = $38; } - return 0|0; + $41 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $41; + $44 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($44|0); } -function _assemblePage($pPage,$nCell,$apCell,$aSize) { - $pPage = $pPage|0; - $nCell = $nCell|0; - $apCell = $apCell|0; - $aSize = $aSize|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cellbody = 0, $data = 0, $hdr = 0, $i = 0, $nUsable = 0, $pCellptr = 0, $sz = 0, label = 0, sp = 0; +function _dotlockCheckReservedLock($id,$pResOut) { + $id = $id|0; + $pResOut = $pResOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0; + var $rc = 0, $reserved = 0, $zLockFile = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $i = sp + 20|0; - $pCellptr = sp + 16|0; - $cellbody = sp + 12|0; - $data = sp + 8|0; - $hdr = sp + 4|0; - $nUsable = sp; - $sz = sp + 40|0; - HEAP32[$0>>2] = $pPage; - HEAP32[$1>>2] = $nCell; - HEAP32[$2>>2] = $apCell; - HEAP32[$3>>2] = $aSize; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 56|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$data>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 6|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - HEAP32[$hdr>>2] = $10; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 52|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 36|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$nUsable>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = $16<<1; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 64|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($17)|0); - HEAP32[$pCellptr>>2] = $21; - $22 = HEAP32[$nUsable>>2]|0; - HEAP32[$cellbody>>2] = $22; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) - 1)|0; - HEAP32[$i>>2] = $24; - while(1) { - $25 = HEAP32[$i>>2]|0; - $26 = ($25|0)>=(0); - if (!($26)) { - break; - } - $27 = HEAP32[$i>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = (($28) + ($27<<1)|0); - $30 = HEAP16[$29>>1]|0; - HEAP16[$sz>>1] = $30; - $31 = HEAP32[$pCellptr>>2]|0; - $32 = (($31) + -2|0); - HEAP32[$pCellptr>>2] = $32; - $33 = HEAP16[$sz>>1]|0; - $34 = $33&65535; - $35 = HEAP32[$cellbody>>2]|0; - $36 = (($35) - ($34))|0; - HEAP32[$cellbody>>2] = $36; - $37 = HEAP32[$cellbody>>2]|0; - $38 = $37 >> 8; - $39 = $38&255; - $40 = HEAP32[$pCellptr>>2]|0; - HEAP8[$40>>0] = $39; - $41 = HEAP32[$cellbody>>2]|0; - $42 = $41&255; - $43 = HEAP32[$pCellptr>>2]|0; - $44 = (($43) + 1|0); - HEAP8[$44>>0] = $42; - $45 = HEAP32[$cellbody>>2]|0; - $46 = HEAP32[$data>>2]|0; - $47 = (($46) + ($45)|0); - $48 = HEAP32[$i>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = (($49) + ($48<<2)|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP16[$sz>>1]|0; - $53 = $52&65535; - _memcpy(($47|0),($51|0),($53|0))|0; - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + -1)|0; - HEAP32[$i>>2] = $55; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $rc = sp + 12|0; + $reserved = sp + 8|0; + $pFile = sp + 4|0; + $zLockFile = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $pResOut; + HEAP32[$rc>>2] = 0; + HEAP32[$reserved>>2] = 0; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pFile>>2] = $2; + $3 = HEAP32[$pFile>>2]|0; + $4 = ((($3)) + 16|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = ($6|0)>(1); + if ($7) { + HEAP32[$reserved>>2] = 1; + $16 = HEAP32[$reserved>>2]|0; + $17 = HEAP32[$1>>2]|0; + HEAP32[$17>>2] = $16; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); + } else { + $8 = HEAP32[$pFile>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$zLockFile>>2] = $10; + $11 = HEAP32[(4232)>>2]|0; + $12 = HEAP32[$zLockFile>>2]|0; + $13 = (FUNCTION_TABLE_iii[$11 & 63]($12,0)|0); + $14 = ($13|0)==(0); + $15 = $14&1; + HEAP32[$reserved>>2] = $15; + $16 = HEAP32[$reserved>>2]|0; + $17 = HEAP32[$1>>2]|0; + HEAP32[$17>>2] = $16; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); } - $56 = HEAP32[$1>>2]|0; - $57 = $56 >> 8; - $58 = $57&255; - $59 = HEAP32[$hdr>>2]|0; - $60 = (($59) + 3)|0; - $61 = HEAP32[$data>>2]|0; - $62 = (($61) + ($60)|0); - HEAP8[$62>>0] = $58; - $63 = HEAP32[$1>>2]|0; - $64 = $63&255; - $65 = HEAP32[$hdr>>2]|0; - $66 = (($65) + 3)|0; - $67 = HEAP32[$data>>2]|0; - $68 = (($67) + ($66)|0); - $69 = (($68) + 1|0); - HEAP8[$69>>0] = $64; - $70 = HEAP32[$cellbody>>2]|0; - $71 = $70 >> 8; - $72 = $71&255; - $73 = HEAP32[$hdr>>2]|0; - $74 = (($73) + 5)|0; - $75 = HEAP32[$data>>2]|0; - $76 = (($75) + ($74)|0); - HEAP8[$76>>0] = $72; - $77 = HEAP32[$cellbody>>2]|0; - $78 = $77&255; - $79 = HEAP32[$hdr>>2]|0; - $80 = (($79) + 5)|0; - $81 = HEAP32[$data>>2]|0; - $82 = (($81) + ($80)|0); - $83 = (($82) + 1|0); - HEAP8[$83>>0] = $78; - $84 = HEAP32[$1>>2]|0; - $85 = $84<<1; - $86 = HEAP32[$nUsable>>2]|0; - $87 = (($85) + ($86))|0; - $88 = HEAP32[$cellbody>>2]|0; - $89 = (($87) - ($88))|0; - $90 = HEAP32[$0>>2]|0; - $91 = (($90) + 16|0); - $92 = HEAP16[$91>>1]|0; - $93 = $92&65535; - $94 = (($93) - ($89))|0; - $95 = $94&65535; - HEAP16[$91>>1] = $95; - $96 = HEAP32[$1>>2]|0; - $97 = $96&65535; - $98 = HEAP32[$0>>2]|0; - $99 = (($98) + 18|0); - HEAP16[$99>>1] = $97; - STACKTOP = sp;return; + return (0)|0; } -function _copyNodeContent($pFrom,$pTo,$pRC) { - $pFrom = $pFrom|0; - $pTo = $pTo|0; - $pRC = $pRC|0; +function _unixFileControl($id,$op,$pArg) { + $id = $id|0; + $op = $op|0; + $pArg = $pArg|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0; - var $aFrom = 0, $aTo = 0, $iData = 0, $iFromHdr = 0, $iToHdr = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $pBt = sp + 24|0; - $aFrom = sp + 20|0; - $aTo = sp + 16|0; - $iFromHdr = sp + 12|0; - $iToHdr = sp + 8|0; - $rc = sp + 4|0; - $iData = sp; - HEAP32[$0>>2] = $pFrom; - HEAP32[$1>>2] = $pTo; - HEAP32[$2>>2] = $pRC; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 52|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pBt>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 56|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$aFrom>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 56|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$aTo>>2] = $14; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 6|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - HEAP32[$iFromHdr>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 72|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(1); - $23 = $22 ? 100 : 0; - HEAP32[$iToHdr>>2] = $23; - $24 = HEAP32[$iFromHdr>>2]|0; - $25 = (($24) + 5)|0; - $26 = HEAP32[$aFrom>>2]|0; - $27 = (($26) + ($25)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP32[$iFromHdr>>2]|0; - $32 = (($31) + 5)|0; - $33 = HEAP32[$aFrom>>2]|0; - $34 = (($33) + ($32)|0); - $35 = (($34) + 1|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $30 | $37; - HEAP32[$iData>>2] = $38; - $39 = HEAP32[$iData>>2]|0; - $40 = HEAP32[$aTo>>2]|0; - $41 = (($40) + ($39)|0); - $42 = HEAP32[$iData>>2]|0; - $43 = HEAP32[$aFrom>>2]|0; - $44 = (($43) + ($42)|0); - $45 = HEAP32[$pBt>>2]|0; - $46 = (($45) + 36|0); - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$iData>>2]|0; - $49 = (($47) - ($48))|0; - _memcpy(($41|0),($44|0),($49|0))|0; - $50 = HEAP32[$iToHdr>>2]|0; - $51 = HEAP32[$aTo>>2]|0; - $52 = (($51) + ($50)|0); - $53 = HEAP32[$iFromHdr>>2]|0; - $54 = HEAP32[$aFrom>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 14|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 18|0); - $62 = HEAP16[$61>>1]|0; - $63 = $62&65535; - $64 = $63<<1; - $65 = (($59) + ($64))|0; - _memcpy(($52|0),($55|0),($65|0))|0; - $66 = HEAP32[$1>>2]|0; - HEAP8[$66>>0] = 0; - $67 = HEAP32[$1>>2]|0; - $68 = (_btreeInitPage($67)|0); - HEAP32[$rc>>2] = $68; - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)!=(0); - if ($70) { - $71 = HEAP32[$rc>>2]|0; - $72 = HEAP32[$2>>2]|0; - HEAP32[$72>>2] = $71; - STACKTOP = sp;return; - } - $73 = HEAP32[$pBt>>2]|0; - $74 = (($73) + 17|0); - $75 = HEAP8[$74>>0]|0; - $76 = ($75<<24>>24)!=(0); - if (!($76)) { - STACKTOP = sp;return; - } - $77 = HEAP32[$1>>2]|0; - $78 = (_setChildPtrmaps($77)|0); - $79 = HEAP32[$2>>2]|0; - HEAP32[$79>>2] = $78; - STACKTOP = sp;return; -} -function _allocateSpace($pPage,$nByte,$pIdx) { - $pPage = $pPage|0; - $nByte = $nByte|0; - $pIdx = $pIdx|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $data = 0, $gap = 0, $hdr = 0, $pc = 0, $rc = 0, $size = 0, $top = 0, $usableSize = 0; - var $x = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $pFile = 0, $rc = 0, $vararg_buffer = 0, $zTFile = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $3 = sp + 40|0; - $hdr = sp + 36|0; - $data = sp + 32|0; - $top = sp + 28|0; - $gap = sp + 24|0; - $rc = sp + 20|0; - $usableSize = sp + 16|0; - $pc = sp + 12|0; - $addr = sp + 8|0; - $size = sp + 4|0; - $x = sp; - HEAP32[$1>>2] = $pPage; - HEAP32[$2>>2] = $nByte; - HEAP32[$3>>2] = $pIdx; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 24|0; + $pFile = sp + 4|0; + $rc = sp + 12|0; + $zTFile = sp + 28|0; + HEAP32[$1>>2] = $id; + HEAP32[$2>>2] = $op; + HEAP32[$3>>2] = $pArg; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 6|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - HEAP32[$hdr>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 56|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$data>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 52|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 36|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$usableSize>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 14|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 18|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = $23<<1; - $25 = (($19) + ($24))|0; - HEAP32[$gap>>2] = $25; - $26 = HEAP32[$hdr>>2]|0; - $27 = (($26) + 5)|0; - $28 = HEAP32[$data>>2]|0; - $29 = (($28) + ($27)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = $31 << 8; - $33 = HEAP32[$hdr>>2]|0; - $34 = (($33) + 5)|0; - $35 = HEAP32[$data>>2]|0; - $36 = (($35) + ($34)|0); - $37 = (($36) + 1|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $32 | $39; - HEAP32[$top>>2] = $40; - $41 = HEAP32[$gap>>2]|0; - $42 = HEAP32[$top>>2]|0; - $43 = ($41|0)>($42|0); + HEAP32[$pFile>>2] = $4; + $5 = HEAP32[$2>>2]|0; do { - if ($43) { - $44 = HEAP32[$top>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - HEAP32[$top>>2] = 65536; - break; - } - $46 = (_sqlite3CorruptError(53453)|0); - HEAP32[$0>>2] = $46; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); + switch ($5|0) { + case 1: { + $6 = HEAP32[$pFile>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = HEAP32[$3>>2]|0; + HEAP32[$10>>2] = $9; + HEAP32[$0>>2] = 0; + break; } - } while(0); - $47 = HEAP32[$gap>>2]|0; - $48 = (($47) + 2)|0; - $49 = HEAP32[$top>>2]|0; - $50 = ($48|0)<=($49|0); - L8: do { - if ($50) { - $51 = HEAP32[$hdr>>2]|0; - $52 = (($51) + 1)|0; - $53 = HEAP32[$data>>2]|0; - $54 = (($53) + ($52)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = ($56|0)!=(0); - if (!($57)) { - $58 = HEAP32[$hdr>>2]|0; - $59 = (($58) + 2)|0; - $60 = HEAP32[$data>>2]|0; - $61 = (($60) + ($59)|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $64 = ($63|0)!=(0); - if (!($64)) { - label = 22; - break; - } - } - $65 = HEAP32[$hdr>>2]|0; - $66 = (($65) + 1)|0; - HEAP32[$addr>>2] = $66; - while(1) { - $67 = HEAP32[$addr>>2]|0; - $68 = HEAP32[$data>>2]|0; - $69 = (($68) + ($67)|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = $71 << 8; - $73 = HEAP32[$addr>>2]|0; - $74 = HEAP32[$data>>2]|0; - $75 = (($74) + ($73)|0); - $76 = (($75) + 1|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = $72 | $78; - HEAP32[$pc>>2] = $79; - $80 = ($79|0)>(0); - if (!($80)) { - label = 22; - break L8; - } - $81 = HEAP32[$pc>>2]|0; - $82 = HEAP32[$usableSize>>2]|0; - $83 = (($82) - 4)|0; - $84 = ($81|0)>($83|0); - if ($84) { - label = 12; - break; - } - $85 = HEAP32[$pc>>2]|0; - $86 = HEAP32[$addr>>2]|0; - $87 = (($86) + 4)|0; - $88 = ($85|0)<($87|0); - if ($88) { - label = 12; - break; - } - $90 = HEAP32[$pc>>2]|0; - $91 = (($90) + 2)|0; - $92 = HEAP32[$data>>2]|0; - $93 = (($92) + ($91)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $94&255; - $96 = $95 << 8; - $97 = HEAP32[$pc>>2]|0; - $98 = (($97) + 2)|0; - $99 = HEAP32[$data>>2]|0; - $100 = (($99) + ($98)|0); - $101 = (($100) + 1|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = $96 | $103; - HEAP32[$size>>2] = $104; - $105 = HEAP32[$size>>2]|0; - $106 = HEAP32[$2>>2]|0; - $107 = ($105|0)>=($106|0); - if ($107) { - break; - } - $161 = HEAP32[$pc>>2]|0; - HEAP32[$addr>>2] = $161; - } - if ((label|0) == 12) { - $89 = (_sqlite3CorruptError(53469)|0); - HEAP32[$0>>2] = $89; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); - } - $108 = HEAP32[$size>>2]|0; - $109 = HEAP32[$2>>2]|0; - $110 = (($108) - ($109))|0; - HEAP32[$x>>2] = $110; - $111 = HEAP32[$x>>2]|0; - $112 = ($111|0)<(4); - do { - if ($112) { - $113 = HEAP32[$hdr>>2]|0; - $114 = (($113) + 7)|0; - $115 = HEAP32[$data>>2]|0; - $116 = (($115) + ($114)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ($118|0)>=(60); - if ($119) { - label = 23; - break L8; - } - $120 = HEAP32[$addr>>2]|0; - $121 = HEAP32[$data>>2]|0; - $122 = (($121) + ($120)|0); - $123 = HEAP32[$pc>>2]|0; - $124 = HEAP32[$data>>2]|0; - $125 = (($124) + ($123)|0); - ;HEAP8[$122+0>>0]=HEAP8[$125+0>>0]|0;HEAP8[$122+1>>0]=HEAP8[$125+1>>0]|0; - $126 = HEAP32[$x>>2]|0; - $127 = $126&255; - $128 = $127&255; - $129 = HEAP32[$hdr>>2]|0; - $130 = (($129) + 7)|0; - $131 = HEAP32[$data>>2]|0; - $132 = (($131) + ($130)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = (($134) + ($128))|0; - $136 = $135&255; - HEAP8[$132>>0] = $136; - } else { - $137 = HEAP32[$size>>2]|0; - $138 = HEAP32[$pc>>2]|0; - $139 = (($137) + ($138))|0; - $140 = HEAP32[$usableSize>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $143 = HEAP32[$x>>2]|0; - $144 = $143 >> 8; - $145 = $144&255; - $146 = HEAP32[$pc>>2]|0; - $147 = (($146) + 2)|0; - $148 = HEAP32[$data>>2]|0; - $149 = (($148) + ($147)|0); - HEAP8[$149>>0] = $145; - $150 = HEAP32[$x>>2]|0; - $151 = $150&255; - $152 = HEAP32[$pc>>2]|0; - $153 = (($152) + 2)|0; - $154 = HEAP32[$data>>2]|0; - $155 = (($154) + ($153)|0); - $156 = (($155) + 1|0); - HEAP8[$156>>0] = $151; - break; - } - $142 = (_sqlite3CorruptError(53483)|0); - HEAP32[$0>>2] = $142; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); - } - } while(0); - $157 = HEAP32[$pc>>2]|0; - $158 = HEAP32[$x>>2]|0; - $159 = (($157) + ($158))|0; - $160 = HEAP32[$3>>2]|0; - HEAP32[$160>>2] = $159; + case 4: { + $11 = HEAP32[$pFile>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$3>>2]|0; + HEAP32[$14>>2] = $13; HEAP32[$0>>2] = 0; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); - } else { - label = 22; + break; } - } while(0); - if ((label|0) == 22) { - $162 = HEAP32[$gap>>2]|0; - $163 = (($162) + 2)|0; - $164 = HEAP32[$2>>2]|0; - $165 = (($163) + ($164))|0; - $166 = HEAP32[$top>>2]|0; - $167 = ($165|0)>($166|0); - if ($167) { - label = 23; + case 6: { + $15 = HEAP32[$3>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$pFile>>2]|0; + $18 = ((($17)) + 40|0); + HEAP32[$18>>2] = $16; + HEAP32[$0>>2] = 0; + break; } - } - do { - if ((label|0) == 23) { - $168 = HEAP32[$1>>2]|0; - $169 = (_defragmentPage($168)|0); - HEAP32[$rc>>2] = $169; - $170 = HEAP32[$rc>>2]|0; - $171 = ($170|0)!=(0); - if (!($171)) { - $173 = HEAP32[$hdr>>2]|0; - $174 = (($173) + 5)|0; - $175 = HEAP32[$data>>2]|0; - $176 = (($175) + ($174)|0); - $177 = HEAP8[$176>>0]|0; - $178 = $177&255; - $179 = $178 << 8; - $180 = HEAP32[$hdr>>2]|0; - $181 = (($180) + 5)|0; - $182 = HEAP32[$data>>2]|0; - $183 = (($182) + ($181)|0); - $184 = (($183) + 1|0); - $185 = HEAP8[$184>>0]|0; - $186 = $185&255; - $187 = $179 | $186; - $188 = (($187) - 1)|0; - $189 = $188 & 65535; - $190 = (($189) + 1)|0; - HEAP32[$top>>2] = $190; - break; - } - $172 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $172; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); + case 5: { + $19 = HEAP32[$pFile>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = $20; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (_fcntlSizeHint($19,$23,$26)|0); + HEAP32[$rc>>2] = $27; + $28 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $28; + break; } - } while(0); - $191 = HEAP32[$2>>2]|0; - $192 = HEAP32[$top>>2]|0; - $193 = (($192) - ($191))|0; - HEAP32[$top>>2] = $193; - $194 = HEAP32[$top>>2]|0; - $195 = $194 >> 8; - $196 = $195&255; - $197 = HEAP32[$hdr>>2]|0; - $198 = (($197) + 5)|0; - $199 = HEAP32[$data>>2]|0; - $200 = (($199) + ($198)|0); - HEAP8[$200>>0] = $196; - $201 = HEAP32[$top>>2]|0; - $202 = $201&255; - $203 = HEAP32[$hdr>>2]|0; - $204 = (($203) + 5)|0; - $205 = HEAP32[$data>>2]|0; - $206 = (($205) + ($204)|0); - $207 = (($206) + 1|0); - HEAP8[$207>>0] = $202; - $208 = HEAP32[$top>>2]|0; - $209 = HEAP32[$3>>2]|0; - HEAP32[$209>>2] = $208; - HEAP32[$0>>2] = 0; - $210 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($210|0); -} -function _defragmentPage($pPage) { - $pPage = $pPage|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cbrk = 0, $cellOffset = 0, $data = 0, $hdr = 0, $i = 0, $iCellFirst = 0, $iCellLast = 0, $nCell = 0, $pAddr = 0, $pc = 0, $size = 0, $temp = 0, $usableSize = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $i = sp + 48|0; - $pc = sp + 44|0; - $hdr = sp + 40|0; - $size = sp + 36|0; - $usableSize = sp + 32|0; - $cellOffset = sp + 28|0; - $cbrk = sp + 24|0; - $nCell = sp + 20|0; - $data = sp + 16|0; - $temp = sp + 12|0; - $iCellFirst = sp + 8|0; - $iCellLast = sp + 4|0; - $pAddr = sp; - HEAP32[$1>>2] = $pPage; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 52|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (_sqlite3PagerTempSpace($5)|0); - HEAP32[$temp>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = (($7) + 56|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$data>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 6|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - HEAP32[$hdr>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 14|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - HEAP32[$cellOffset>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 18|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - HEAP32[$nCell>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 52|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 36|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$usableSize>>2] = $26; - $27 = HEAP32[$hdr>>2]|0; - $28 = (($27) + 5)|0; - $29 = HEAP32[$data>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 8; - $34 = HEAP32[$hdr>>2]|0; - $35 = (($34) + 5)|0; - $36 = HEAP32[$data>>2]|0; - $37 = (($36) + ($35)|0); - $38 = (($37) + 1|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $33 | $40; - HEAP32[$cbrk>>2] = $41; - $42 = HEAP32[$cbrk>>2]|0; - $43 = HEAP32[$temp>>2]|0; - $44 = (($43) + ($42)|0); - $45 = HEAP32[$cbrk>>2]|0; - $46 = HEAP32[$data>>2]|0; - $47 = (($46) + ($45)|0); - $48 = HEAP32[$usableSize>>2]|0; - $49 = HEAP32[$cbrk>>2]|0; - $50 = (($48) - ($49))|0; - _memcpy(($44|0),($47|0),($50|0))|0; - $51 = HEAP32[$usableSize>>2]|0; - HEAP32[$cbrk>>2] = $51; - $52 = HEAP32[$cellOffset>>2]|0; - $53 = HEAP32[$nCell>>2]|0; - $54 = $53<<1; - $55 = (($52) + ($54))|0; - HEAP32[$iCellFirst>>2] = $55; - $56 = HEAP32[$usableSize>>2]|0; - $57 = (($56) - 4)|0; - HEAP32[$iCellLast>>2] = $57; - HEAP32[$i>>2] = 0; - while(1) { - $58 = HEAP32[$i>>2]|0; - $59 = HEAP32[$nCell>>2]|0; - $60 = ($58|0)<($59|0); - if (!($60)) { - label = 10; + case 10: { + $29 = HEAP32[$pFile>>2]|0; + $30 = HEAP32[$3>>2]|0; + _unixModeBit($29,4,$30); + HEAP32[$0>>2] = 0; break; } - $61 = HEAP32[$cellOffset>>2]|0; - $62 = HEAP32[$i>>2]|0; - $63 = $62<<1; - $64 = (($61) + ($63))|0; - $65 = HEAP32[$data>>2]|0; - $66 = (($65) + ($64)|0); - HEAP32[$pAddr>>2] = $66; - $67 = HEAP32[$pAddr>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = $69 << 8; - $71 = HEAP32[$pAddr>>2]|0; - $72 = (($71) + 1|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73&255; - $75 = $70 | $74; - HEAP32[$pc>>2] = $75; - $76 = HEAP32[$pc>>2]|0; - $77 = HEAP32[$iCellFirst>>2]|0; - $78 = ($76|0)<($77|0); - if ($78) { - label = 5; + case 13: { + $31 = HEAP32[$pFile>>2]|0; + $32 = HEAP32[$3>>2]|0; + _unixModeBit($31,16,$32); + HEAP32[$0>>2] = 0; break; } - $79 = HEAP32[$pc>>2]|0; - $80 = HEAP32[$iCellLast>>2]|0; - $81 = ($79|0)>($80|0); - if ($81) { - label = 5; + case 12: { + $33 = HEAP32[$pFile>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$vararg_buffer>>2] = $37; + $38 = (_sqlite3_mprintf(14418,$vararg_buffer)|0); + $39 = HEAP32[$3>>2]|0; + HEAP32[$39>>2] = $38; + HEAP32[$0>>2] = 0; break; } - $83 = HEAP32[$1>>2]|0; - $84 = HEAP32[$pc>>2]|0; - $85 = HEAP32[$temp>>2]|0; - $86 = (($85) + ($84)|0); - $87 = (_cellSizePtr($83,$86)|0); - $88 = $87&65535; - HEAP32[$size>>2] = $88; - $89 = HEAP32[$size>>2]|0; - $90 = HEAP32[$cbrk>>2]|0; - $91 = (($90) - ($89))|0; - HEAP32[$cbrk>>2] = $91; - $92 = HEAP32[$cbrk>>2]|0; - $93 = HEAP32[$iCellFirst>>2]|0; - $94 = ($92|0)<($93|0); - if ($94) { - label = 8; + case 16: { + $40 = HEAP32[$pFile>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + $45 = (_sqlite3_malloc($44)|0); + HEAP32[$zTFile>>2] = $45; + $46 = HEAP32[$zTFile>>2]|0; + $47 = ($46|0)!=(0|0); + if ($47) { + $48 = HEAP32[$pFile>>2]|0; + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$zTFile>>2]|0; + (_unixGetTempname($52,$53)|0); + $54 = HEAP32[$zTFile>>2]|0; + $55 = HEAP32[$3>>2]|0; + HEAP32[$55>>2] = $54; + } + HEAP32[$0>>2] = 0; break; } - $95 = HEAP32[$pc>>2]|0; - $96 = HEAP32[$size>>2]|0; - $97 = (($95) + ($96))|0; - $98 = HEAP32[$usableSize>>2]|0; - $99 = ($97|0)>($98|0); - if ($99) { - label = 8; + case 20: { + $56 = HEAP32[$pFile>>2]|0; + $57 = (_fileHasMoved($56)|0); + $58 = HEAP32[$3>>2]|0; + HEAP32[$58>>2] = $57; + HEAP32[$0>>2] = 0; break; } - $101 = HEAP32[$cbrk>>2]|0; - $102 = HEAP32[$data>>2]|0; - $103 = (($102) + ($101)|0); - $104 = HEAP32[$pc>>2]|0; - $105 = HEAP32[$temp>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP32[$size>>2]|0; - _memcpy(($103|0),($106|0),($107|0))|0; - $108 = HEAP32[$cbrk>>2]|0; - $109 = $108 >> 8; - $110 = $109&255; - $111 = HEAP32[$pAddr>>2]|0; - HEAP8[$111>>0] = $110; - $112 = HEAP32[$cbrk>>2]|0; - $113 = $112&255; - $114 = HEAP32[$pAddr>>2]|0; - $115 = (($114) + 1|0); - HEAP8[$115>>0] = $113; - $116 = HEAP32[$i>>2]|0; - $117 = (($116) + 1)|0; - HEAP32[$i>>2] = $117; - } - if ((label|0) == 5) { - $82 = (_sqlite3CorruptError(53381)|0); - HEAP32[$0>>2] = $82; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); - } - else if ((label|0) == 8) { - $100 = (_sqlite3CorruptError(53393)|0); - HEAP32[$0>>2] = $100; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); - } - else if ((label|0) == 10) { - $118 = HEAP32[$cbrk>>2]|0; - $119 = $118 >> 8; - $120 = $119&255; - $121 = HEAP32[$hdr>>2]|0; - $122 = (($121) + 5)|0; - $123 = HEAP32[$data>>2]|0; - $124 = (($123) + ($122)|0); - HEAP8[$124>>0] = $120; - $125 = HEAP32[$cbrk>>2]|0; - $126 = $125&255; - $127 = HEAP32[$hdr>>2]|0; - $128 = (($127) + 5)|0; - $129 = HEAP32[$data>>2]|0; - $130 = (($129) + ($128)|0); - $131 = (($130) + 1|0); - HEAP8[$131>>0] = $126; - $132 = HEAP32[$hdr>>2]|0; - $133 = (($132) + 1)|0; - $134 = HEAP32[$data>>2]|0; - $135 = (($134) + ($133)|0); - HEAP8[$135>>0] = 0; - $136 = HEAP32[$hdr>>2]|0; - $137 = (($136) + 2)|0; - $138 = HEAP32[$data>>2]|0; - $139 = (($138) + ($137)|0); - HEAP8[$139>>0] = 0; - $140 = HEAP32[$hdr>>2]|0; - $141 = (($140) + 7)|0; - $142 = HEAP32[$data>>2]|0; - $143 = (($142) + ($141)|0); - HEAP8[$143>>0] = 0; - $144 = HEAP32[$iCellFirst>>2]|0; - $145 = HEAP32[$data>>2]|0; - $146 = (($145) + ($144)|0); - $147 = HEAP32[$cbrk>>2]|0; - $148 = HEAP32[$iCellFirst>>2]|0; - $149 = (($147) - ($148))|0; - _memset(($146|0),0,($149|0))|0; - $150 = HEAP32[$cbrk>>2]|0; - $151 = HEAP32[$iCellFirst>>2]|0; - $152 = (($150) - ($151))|0; - $153 = HEAP32[$1>>2]|0; - $154 = (($153) + 16|0); - $155 = HEAP16[$154>>1]|0; - $156 = $155&65535; - $157 = ($152|0)!=($156|0); - if ($157) { - $158 = (_sqlite3CorruptError(53410)|0); - HEAP32[$0>>2] = $158; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); - } else { - HEAP32[$0>>2] = 0; - $159 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($159|0); + default: { + HEAP32[$0>>2] = 12; } - } - return 0|0; + } + } while(0); + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } -function _sqlite3PagerTempSpace($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _unixSectorSize($NotUsed) { + $NotUsed = $NotUsed|0; + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pPager; + HEAP32[$0>>2] = $NotUsed; + STACKTOP = sp;return 4096; +} +function _unixDeviceCharacteristics($id) { + $id = $id|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $p = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $id; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 200|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + HEAP32[$p>>2] = $1; + HEAP32[$rc>>2] = 0; + $2 = HEAP32[$p>>2]|0; + $3 = ((($2)) + 18|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 16; + $7 = ($6|0)!=(0); + if (!($7)) { + $10 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($10|0); + } + $8 = HEAP32[$rc>>2]|0; + $9 = $8 | 4096; + HEAP32[$rc>>2] = $9; + $10 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($10|0); } -function _freeSpace($pPage,$iStart,$iSize) { - $pPage = $pPage|0; - $iStart = $iStart|0; - $iSize = $iSize|0; +function _unixShmLock($fd,$ofst,$n,$flags) { + $fd = $fd|0; + $ofst = $ofst|0; + $n = $n|0; + $flags = $flags|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $hdr = 0, $iEnd = 0; - var $iFreeBlk = 0, $iLast = 0, $iOrigSize = 0, $iPtr = 0, $iPtrEnd = 0, $nFrag = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $allMask = 0, $allShared = 0, $mask = 0, $p = 0, $pDbFd = 0, $pShmNode = 0, $pX = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 32|0; - $3 = sp + 30|0; - $iPtr = sp + 28|0; - $iFreeBlk = sp + 26|0; - $hdr = sp + 35|0; - $nFrag = sp + 34|0; - $iOrigSize = sp + 24|0; - $iLast = sp + 12|0; - $iEnd = sp + 8|0; - $data = sp + 4|0; - $iPtrEnd = sp; - HEAP32[$1>>2] = $pPage; - HEAP16[$2>>1] = $iStart; - HEAP16[$3>>1] = $iSize; - HEAP8[$nFrag>>0] = 0; - $4 = HEAP16[$3>>1]|0; - HEAP16[$iOrigSize>>1] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 52|0); + $0 = sp + 32|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp + 16|0; + $pDbFd = sp + 28|0; + $p = sp; + $pX = sp + 12|0; + $pShmNode = sp + 24|0; + $rc = sp + 20|0; + $mask = sp + 40|0; + $allMask = sp + 38|0; + $allShared = sp + 36|0; + HEAP32[$0>>2] = $fd; + HEAP32[$1>>2] = $ofst; + HEAP32[$2>>2] = $n; + HEAP32[$3>>2] = $flags; + $4 = HEAP32[$0>>2]|0; + HEAP32[$pDbFd>>2] = $4; + $5 = HEAP32[$pDbFd>>2]|0; + $6 = ((($5)) + 36|0); $7 = HEAP32[$6>>2]|0; - $8 = (($7) + 36|0); + HEAP32[$p>>2] = $7; + $8 = HEAP32[$p>>2]|0; $9 = HEAP32[$8>>2]|0; - $10 = (($9) - 4)|0; - HEAP32[$iLast>>2] = $10; - $11 = HEAP16[$2>>1]|0; - $12 = $11&65535; - $13 = HEAP16[$3>>1]|0; - $14 = $13&65535; - $15 = (($12) + ($14))|0; - HEAP32[$iEnd>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 56|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$data>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 52|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 22|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - $25 = $24 & 4; - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP16[$2>>1]|0; - $28 = $27&65535; - $29 = HEAP32[$data>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP16[$3>>1]|0; - $32 = $31&65535; - _memset(($30|0),0,($32|0))|0; - } - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 6|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$hdr>>0] = $35; - $36 = HEAP8[$hdr>>0]|0; - $37 = $36&255; - $38 = (($37) + 1)|0; - $39 = $38&65535; - HEAP16[$iPtr>>1] = $39; - $40 = HEAP16[$iPtr>>1]|0; - $41 = $40&65535; - $42 = (($41) + 1)|0; - $43 = HEAP32[$data>>2]|0; - $44 = (($43) + ($42)|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $47 = ($46|0)==(0); - if ($47) { - $48 = HEAP16[$iPtr>>1]|0; - $49 = $48&65535; - $50 = HEAP32[$data>>2]|0; - $51 = (($50) + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = ($53|0)==(0); - if ($54) { - HEAP16[$iFreeBlk>>1] = 0; + HEAP32[$pShmNode>>2] = $9; + HEAP32[$rc>>2] = 0; + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = (($10) + ($11))|0; + $13 = 1 << $12; + $14 = HEAP32[$1>>2]|0; + $15 = 1 << $14; + $16 = (($13) - ($15))|0; + $17 = $16&65535; + HEAP16[$mask>>1] = $17; + $18 = HEAP32[$3>>2]|0; + $19 = $18 & 1; + $20 = ($19|0)!=(0); + if ($20) { + HEAP16[$allMask>>1] = 0; + $21 = HEAP32[$pShmNode>>2]|0; + $22 = ((($21)) + 32|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$pX>>2] = $23; + while(1) { + $24 = HEAP32[$pX>>2]|0; + $25 = ($24|0)!=(0|0); + if (!($25)) { + break; + } + $26 = HEAP32[$pX>>2]|0; + $27 = HEAP32[$p>>2]|0; + $28 = ($26|0)==($27|0); + if (!($28)) { + $29 = HEAP32[$pX>>2]|0; + $30 = ((($29)) + 10|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = HEAP16[$allMask>>1]|0; + $34 = $33&65535; + $35 = $34 | $32; + $36 = $35&65535; + HEAP16[$allMask>>1] = $36; + } + $37 = HEAP32[$pX>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$pX>>2] = $39; + } + $40 = HEAP16[$mask>>1]|0; + $41 = $40&65535; + $42 = HEAP16[$allMask>>1]|0; + $43 = $42&65535; + $44 = $41 & $43; + $45 = ($44|0)==(0); + if ($45) { + $46 = HEAP32[$pShmNode>>2]|0; + $47 = HEAP32[$1>>2]|0; + $48 = (($47) + 120)|0; + $49 = HEAP32[$2>>2]|0; + $50 = (_unixShmSystemLock($46,2,$48,$49)|0); + HEAP32[$rc>>2] = $50; } else { - label = 6; + HEAP32[$rc>>2] = 0; } - } else { - label = 6; + $51 = HEAP32[$rc>>2]|0; + $52 = ($51|0)==(0); + if (!($52)) { + $162 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($162|0); + } + $53 = HEAP16[$mask>>1]|0; + $54 = $53&65535; + $55 = $54 ^ -1; + $56 = HEAP32[$p>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = $59 & $55; + $61 = $60&65535; + HEAP16[$57>>1] = $61; + $62 = HEAP16[$mask>>1]|0; + $63 = $62&65535; + $64 = $63 ^ -1; + $65 = HEAP32[$p>>2]|0; + $66 = ((($65)) + 10|0); + $67 = HEAP16[$66>>1]|0; + $68 = $67&65535; + $69 = $68 & $64; + $70 = $69&65535; + HEAP16[$66>>1] = $70; + $162 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($162|0); } - do { - if ((label|0) == 6) { - while(1) { - label = 0; - $55 = HEAP16[$iPtr>>1]|0; - $56 = $55&65535; - $57 = HEAP32[$data>>2]|0; - $58 = (($57) + ($56)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = $60 << 8; - $62 = HEAP16[$iPtr>>1]|0; - $63 = $62&65535; - $64 = HEAP32[$data>>2]|0; - $65 = (($64) + ($63)|0); - $66 = (($65) + 1|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $61 | $68; - $70 = $69&65535; - HEAP16[$iFreeBlk>>1] = $70; - $71 = $70&65535; - $72 = ($71|0)>(0); - if ($72) { - $73 = HEAP16[$iFreeBlk>>1]|0; - $74 = $73&65535; - $75 = HEAP16[$2>>1]|0; - $76 = $75&65535; - $77 = ($74|0)<($76|0); - $336 = $77; - } else { - $336 = 0; - } - $78 = HEAP16[$iFreeBlk>>1]|0; - $79 = $78&65535; - if (!($336)) { - break; - } - $80 = HEAP16[$iPtr>>1]|0; - $81 = $80&65535; - $82 = (($81) + 4)|0; - $83 = ($79|0)<($82|0); - if ($83) { - label = 10; - break; - } - $85 = HEAP16[$iFreeBlk>>1]|0; - HEAP16[$iPtr>>1] = $85; - label = 6; - } - if ((label|0) == 10) { - $84 = (_sqlite3CorruptError(53568)|0); - HEAP32[$0>>2] = $84; - $335 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($335|0); - } - $86 = HEAP32[$iLast>>2]|0; - $87 = ($79>>>0)>($86>>>0); - if ($87) { - $88 = (_sqlite3CorruptError(53571)|0); - HEAP32[$0>>2] = $88; - $335 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($335|0); + $71 = HEAP32[$3>>2]|0; + $72 = $71 & 4; + $73 = ($72|0)!=(0); + if (!($73)) { + $121 = HEAP32[$pShmNode>>2]|0; + $122 = ((($121)) + 32|0); + $123 = HEAP32[$122>>2]|0; + HEAP32[$pX>>2] = $123; + while(1) { + $124 = HEAP32[$pX>>2]|0; + $125 = ($124|0)!=(0|0); + if (!($125)) { + break; } - $89 = HEAP16[$iFreeBlk>>1]|0; - $90 = $89&65535; - $91 = ($90|0)!=(0); - do { - if ($91) { - $92 = HEAP32[$iEnd>>2]|0; - $93 = (($92) + 3)|0; - $94 = HEAP16[$iFreeBlk>>1]|0; - $95 = $94&65535; - $96 = ($93>>>0)>=($95>>>0); - if ($96) { - $97 = HEAP16[$iFreeBlk>>1]|0; - $98 = $97&65535; - $99 = HEAP32[$iEnd>>2]|0; - $100 = (($98) - ($99))|0; - $101 = $100&255; - HEAP8[$nFrag>>0] = $101; - $102 = HEAP32[$iEnd>>2]|0; - $103 = HEAP16[$iFreeBlk>>1]|0; - $104 = $103&65535; - $105 = ($102>>>0)>($104>>>0); - if (!($105)) { - $107 = HEAP16[$iFreeBlk>>1]|0; - $108 = $107&65535; - $109 = HEAP16[$iFreeBlk>>1]|0; - $110 = $109&65535; - $111 = (($110) + 2)|0; - $112 = HEAP32[$data>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = $115 << 8; - $117 = HEAP16[$iFreeBlk>>1]|0; - $118 = $117&65535; - $119 = (($118) + 2)|0; - $120 = HEAP32[$data>>2]|0; - $121 = (($120) + ($119)|0); - $122 = (($121) + 1|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = $116 | $124; - $126 = (($108) + ($125))|0; - HEAP32[$iEnd>>2] = $126; - $127 = HEAP32[$iEnd>>2]|0; - $128 = HEAP16[$2>>1]|0; - $129 = $128&65535; - $130 = (($127) - ($129))|0; - $131 = $130&65535; - HEAP16[$3>>1] = $131; - $132 = HEAP16[$iFreeBlk>>1]|0; - $133 = $132&65535; - $134 = HEAP32[$data>>2]|0; - $135 = (($134) + ($133)|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = $137 << 8; - $139 = HEAP16[$iFreeBlk>>1]|0; - $140 = $139&65535; - $141 = HEAP32[$data>>2]|0; - $142 = (($141) + ($140)|0); - $143 = (($142) + 1|0); - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = $138 | $145; - $147 = $146&65535; - HEAP16[$iFreeBlk>>1] = $147; - break; - } - $106 = (_sqlite3CorruptError(53582)|0); - HEAP32[$0>>2] = $106; - $335 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($335|0); - } - } - } while(0); - $148 = HEAP16[$iPtr>>1]|0; - $149 = $148&65535; - $150 = HEAP8[$hdr>>0]|0; - $151 = $150&255; - $152 = (($151) + 1)|0; - $153 = ($149|0)>($152|0); - do { - if ($153) { - $154 = HEAP16[$iPtr>>1]|0; - $155 = $154&65535; - $156 = HEAP16[$iPtr>>1]|0; - $157 = $156&65535; - $158 = (($157) + 2)|0; - $159 = HEAP32[$data>>2]|0; - $160 = (($159) + ($158)|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $163 = $162 << 8; - $164 = HEAP16[$iPtr>>1]|0; - $165 = $164&65535; - $166 = (($165) + 2)|0; - $167 = HEAP32[$data>>2]|0; - $168 = (($167) + ($166)|0); - $169 = (($168) + 1|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = $163 | $171; - $173 = (($155) + ($172))|0; - HEAP32[$iPtrEnd>>2] = $173; - $174 = HEAP32[$iPtrEnd>>2]|0; - $175 = (($174) + 3)|0; - $176 = HEAP16[$2>>1]|0; - $177 = $176&65535; - $178 = ($175|0)>=($177|0); - if ($178) { - $179 = HEAP32[$iPtrEnd>>2]|0; - $180 = HEAP16[$2>>1]|0; - $181 = $180&65535; - $182 = ($179|0)>($181|0); - if (!($182)) { - $184 = HEAP16[$2>>1]|0; - $185 = $184&65535; - $186 = HEAP32[$iPtrEnd>>2]|0; - $187 = (($185) - ($186))|0; - $188 = HEAP8[$nFrag>>0]|0; - $189 = $188&255; - $190 = (($189) + ($187))|0; - $191 = $190&255; - HEAP8[$nFrag>>0] = $191; - $192 = HEAP32[$iEnd>>2]|0; - $193 = HEAP16[$iPtr>>1]|0; - $194 = $193&65535; - $195 = (($192) - ($194))|0; - $196 = $195&65535; - HEAP16[$3>>1] = $196; - $197 = HEAP16[$iPtr>>1]|0; - HEAP16[$2>>1] = $197; - break; - } - $183 = (_sqlite3CorruptError(53595)|0); - HEAP32[$0>>2] = $183; - $335 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($335|0); - } - } - } while(0); - $198 = HEAP8[$nFrag>>0]|0; - $199 = $198&255; - $200 = HEAP8[$hdr>>0]|0; - $201 = $200&255; - $202 = (($201) + 7)|0; - $203 = HEAP32[$data>>2]|0; - $204 = (($203) + ($202)|0); - $205 = HEAP8[$204>>0]|0; - $206 = $205&255; - $207 = ($199|0)>($206|0); - if (!($207)) { - $209 = HEAP8[$nFrag>>0]|0; - $210 = $209&255; - $211 = HEAP8[$hdr>>0]|0; - $212 = $211&255; - $213 = (($212) + 7)|0; - $214 = HEAP32[$data>>2]|0; - $215 = (($214) + ($213)|0); - $216 = HEAP8[$215>>0]|0; - $217 = $216&255; - $218 = (($217) - ($210))|0; - $219 = $218&255; - HEAP8[$215>>0] = $219; + $126 = HEAP32[$pX>>2]|0; + $127 = ((($126)) + 12|0); + $128 = HEAP16[$127>>1]|0; + $129 = $128&65535; + $130 = HEAP16[$mask>>1]|0; + $131 = $130&65535; + $132 = $129 & $131; + $133 = ($132|0)!=(0); + if ($133) { + label = 28; break; } - $208 = (_sqlite3CorruptError(53601)|0); - HEAP32[$0>>2] = $208; - $335 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($335|0); - } - } while(0); - $220 = HEAP16[$2>>1]|0; - $221 = $220&65535; - $222 = HEAP8[$hdr>>0]|0; - $223 = $222&255; - $224 = (($223) + 5)|0; - $225 = HEAP32[$data>>2]|0; - $226 = (($225) + ($224)|0); - $227 = HEAP8[$226>>0]|0; - $228 = $227&255; - $229 = $228 << 8; - $230 = HEAP8[$hdr>>0]|0; - $231 = $230&255; - $232 = (($231) + 5)|0; - $233 = HEAP32[$data>>2]|0; - $234 = (($233) + ($232)|0); - $235 = (($234) + 1|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = $229 | $237; - $239 = ($221|0)==($238|0); - do { - if ($239) { - $240 = HEAP16[$iPtr>>1]|0; - $241 = $240&65535; - $242 = HEAP8[$hdr>>0]|0; - $243 = $242&255; - $244 = (($243) + 1)|0; - $245 = ($241|0)!=($244|0); - if (!($245)) { - $247 = HEAP16[$iFreeBlk>>1]|0; - $248 = $247&65535; - $249 = $248 >> 8; - $250 = $249&255; - $251 = HEAP8[$hdr>>0]|0; - $252 = $251&255; - $253 = (($252) + 1)|0; - $254 = HEAP32[$data>>2]|0; - $255 = (($254) + ($253)|0); - HEAP8[$255>>0] = $250; - $256 = HEAP16[$iFreeBlk>>1]|0; - $257 = $256&255; - $258 = HEAP8[$hdr>>0]|0; - $259 = $258&255; - $260 = (($259) + 1)|0; - $261 = HEAP32[$data>>2]|0; - $262 = (($261) + ($260)|0); - $263 = (($262) + 1|0); - HEAP8[$263>>0] = $257; - $264 = HEAP32[$iEnd>>2]|0; - $265 = $264 >>> 8; - $266 = $265&255; - $267 = HEAP8[$hdr>>0]|0; - $268 = $267&255; - $269 = (($268) + 5)|0; - $270 = HEAP32[$data>>2]|0; - $271 = (($270) + ($269)|0); - HEAP8[$271>>0] = $266; - $272 = HEAP32[$iEnd>>2]|0; - $273 = $272&255; - $274 = HEAP8[$hdr>>0]|0; - $275 = $274&255; - $276 = (($275) + 5)|0; - $277 = HEAP32[$data>>2]|0; - $278 = (($277) + ($276)|0); - $279 = (($278) + 1|0); - HEAP8[$279>>0] = $273; + $134 = HEAP32[$pX>>2]|0; + $135 = ((($134)) + 10|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136&65535; + $138 = HEAP16[$mask>>1]|0; + $139 = $138&65535; + $140 = $137 & $139; + $141 = ($140|0)!=(0); + if ($141) { + label = 28; break; } - $246 = (_sqlite3CorruptError(53608)|0); - HEAP32[$0>>2] = $246; - $335 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($335|0); - } else { - $280 = HEAP16[$2>>1]|0; - $281 = $280&65535; - $282 = $281 >> 8; - $283 = $282&255; - $284 = HEAP16[$iPtr>>1]|0; - $285 = $284&65535; - $286 = HEAP32[$data>>2]|0; - $287 = (($286) + ($285)|0); - HEAP8[$287>>0] = $283; - $288 = HEAP16[$2>>1]|0; - $289 = $288&255; - $290 = HEAP16[$iPtr>>1]|0; - $291 = $290&65535; - $292 = HEAP32[$data>>2]|0; - $293 = (($292) + ($291)|0); - $294 = (($293) + 1|0); - HEAP8[$294>>0] = $289; - $295 = HEAP16[$iFreeBlk>>1]|0; - $296 = $295&65535; - $297 = $296 >> 8; - $298 = $297&255; - $299 = HEAP16[$2>>1]|0; - $300 = $299&65535; - $301 = HEAP32[$data>>2]|0; - $302 = (($301) + ($300)|0); - HEAP8[$302>>0] = $298; - $303 = HEAP16[$iFreeBlk>>1]|0; - $304 = $303&255; - $305 = HEAP16[$2>>1]|0; - $306 = $305&65535; - $307 = HEAP32[$data>>2]|0; - $308 = (($307) + ($306)|0); - $309 = (($308) + 1|0); - HEAP8[$309>>0] = $304; - $310 = HEAP16[$3>>1]|0; - $311 = $310&65535; - $312 = $311 >> 8; - $313 = $312&255; - $314 = HEAP16[$2>>1]|0; - $315 = $314&65535; - $316 = (($315) + 2)|0; - $317 = HEAP32[$data>>2]|0; - $318 = (($317) + ($316)|0); - HEAP8[$318>>0] = $313; - $319 = HEAP16[$3>>1]|0; - $320 = $319&255; - $321 = HEAP16[$2>>1]|0; - $322 = $321&65535; - $323 = (($322) + 2)|0; - $324 = HEAP32[$data>>2]|0; - $325 = (($324) + ($323)|0); - $326 = (($325) + 1|0); - HEAP8[$326>>0] = $320; + $142 = HEAP32[$pX>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP32[$143>>2]|0; + HEAP32[$pX>>2] = $144; } - } while(0); - $327 = HEAP16[$iOrigSize>>1]|0; - $328 = $327&65535; - $329 = HEAP32[$1>>2]|0; - $330 = (($329) + 16|0); - $331 = HEAP16[$330>>1]|0; - $332 = $331&65535; - $333 = (($332) + ($328))|0; - $334 = $333&65535; - HEAP16[$330>>1] = $334; - HEAP32[$0>>2] = 0; - $335 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($335|0); -} -function _fillInCell($pPage,$pCell,$pKey,$0,$1,$pData,$nData,$nZero,$pnSize) { - $pPage = $pPage|0; - $pCell = $pCell|0; - $pKey = $pKey|0; - $0 = $0|0; - $1 = $1|0; - $pData = $pData|0; - $nData = $nData|0; - $nZero = $nZero|0; - $pnSize = $pnSize|0; - var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eType = 0, $mn = 0, $n = 0, $nHeader = 0, $nPayload = 0, $nSrc = 0, $or$cond = 0, $or$cond3 = 0, $pBt = 0, $pOvfl = 0, $pPayload = 0, $pPrior = 0, $pSrc = 0, $pToRelease = 0; - var $pgnoOvfl = 0, $pgnoPtrmap = 0, $rc = 0, $spaceLeft = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $2 = sp + 96|0; - $3 = sp + 92|0; - $4 = sp + 88|0; - $5 = sp + 84|0; - $6 = sp; - $7 = sp + 80|0; - $8 = sp + 76|0; - $9 = sp + 72|0; - $10 = sp + 68|0; - $nPayload = sp + 64|0; - $pSrc = sp + 60|0; - $nSrc = sp + 56|0; - $n = sp + 52|0; - $rc = sp + 48|0; - $spaceLeft = sp + 44|0; - $pOvfl = sp + 40|0; - $pToRelease = sp + 36|0; - $pPrior = sp + 32|0; - $pPayload = sp + 28|0; - $pBt = sp + 24|0; - $pgnoOvfl = sp + 20|0; - $nHeader = sp + 16|0; - $mn = sp + 12|0; - $pgnoPtrmap = sp + 8|0; - $eType = sp + 100|0; - HEAP32[$3>>2] = $pPage; - HEAP32[$4>>2] = $pCell; - HEAP32[$5>>2] = $pKey; - $11 = $6; - $12 = $11; - HEAP32[$12>>2] = $0; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = $1; - HEAP32[$7>>2] = $pData; - HEAP32[$8>>2] = $nData; - HEAP32[$9>>2] = $nZero; - HEAP32[$10>>2] = $pnSize; - HEAP32[$pOvfl>>2] = 0; - HEAP32[$pToRelease>>2] = 0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 52|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pBt>>2] = $17; - HEAP32[$pgnoOvfl>>2] = 0; - $18 = HEAP32[$3>>2]|0; - $19 = (($18) + 7|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - HEAP32[$nHeader>>2] = $21; - $22 = HEAP32[$8>>2]|0; - $23 = HEAP32[$9>>2]|0; - $24 = (($22) + ($23))|0; - HEAP32[$nPayload>>2] = $24; - $25 = HEAP32[$3>>2]|0; - $26 = (($25) + 3|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)!=(0); - if ($28) { - $29 = HEAP32[$nPayload>>2]|0; - $30 = ($29>>>0)<(128); - if ($30) { - $31 = HEAP32[$nPayload>>2]|0; - $32 = $31&255; - $33 = HEAP32[$nHeader>>2]|0; - $34 = HEAP32[$4>>2]|0; - $35 = (($34) + ($33)|0); - HEAP8[$35>>0] = $32; - $44 = 1; - } else { - $36 = HEAP32[$nHeader>>2]|0; - $37 = HEAP32[$4>>2]|0; - $38 = (($37) + ($36)|0); - $39 = HEAP32[$nPayload>>2]|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = (_sqlite3PutVarint($38,$39,$41)|0); - $44 = $42; + if ((label|0) == 28) { + HEAP32[$rc>>2] = 5; } - $43 = $44&255; - $45 = $43&255; - $46 = HEAP32[$nHeader>>2]|0; - $47 = (($46) + ($45))|0; - HEAP32[$nHeader>>2] = $47; + $145 = HEAP32[$rc>>2]|0; + $146 = ($145|0)==(0); + if (!($146)) { + $162 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($162|0); + } + $147 = HEAP32[$pShmNode>>2]|0; + $148 = HEAP32[$1>>2]|0; + $149 = (($148) + 120)|0; + $150 = HEAP32[$2>>2]|0; + $151 = (_unixShmSystemLock($147,1,$149,$150)|0); + HEAP32[$rc>>2] = $151; + $152 = HEAP32[$rc>>2]|0; + $153 = ($152|0)==(0); + if (!($153)) { + $162 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($162|0); + } + $154 = HEAP16[$mask>>1]|0; + $155 = $154&65535; + $156 = HEAP32[$p>>2]|0; + $157 = ((($156)) + 12|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158&65535; + $160 = $159 | $155; + $161 = $160&65535; + HEAP16[$157>>1] = $161; + $162 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($162|0); } - $48 = HEAP32[$nHeader>>2]|0; - $49 = HEAP32[$4>>2]|0; - $50 = (($49) + ($48)|0); - $51 = $6; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (_sqlite3PutVarint($50,$53,$56)|0); - $58 = HEAP32[$nHeader>>2]|0; - $59 = (($58) + ($57))|0; - HEAP32[$nHeader>>2] = $59; - $60 = HEAP32[$3>>2]|0; - $61 = (($60) + 2|0); - $62 = HEAP8[$61>>0]|0; - $63 = ($62<<24>>24)!=(0); - do { - if ($63) { - $64 = HEAP32[$7>>2]|0; - HEAP32[$pSrc>>2] = $64; - $65 = HEAP32[$8>>2]|0; - HEAP32[$nSrc>>2] = $65; - HEAP32[$8>>2] = 0; - } else { - $66 = $6; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)>(0); - $73 = ($68>>>0)>(2147483647); - $74 = ($71|0)==(0); - $75 = $74 & $73; - $76 = $72 | $75; - $77 = HEAP32[$5>>2]|0; - $78 = ($77|0)==(0|0); - $or$cond = $76 | $78; - if (!($or$cond)) { - $80 = $6; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - HEAP32[$nPayload>>2] = $82; - $86 = HEAP32[$5>>2]|0; - HEAP32[$pSrc>>2] = $86; - $87 = $6; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - HEAP32[$nSrc>>2] = $89; - break; - } - $79 = (_sqlite3CorruptError(57891)|0); - HEAP32[$2>>2] = $79; - $246 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($246|0); + HEAP16[$allShared>>1] = 0; + $74 = HEAP32[$pShmNode>>2]|0; + $75 = ((($74)) + 32|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$pX>>2] = $76; + while(1) { + $77 = HEAP32[$pX>>2]|0; + $78 = ($77|0)!=(0|0); + if (!($78)) { + break; } - } while(0); - $93 = HEAP32[$nPayload>>2]|0; - $94 = HEAP32[$3>>2]|0; - $95 = (($94) + 10|0); - $96 = HEAP16[$95>>1]|0; - $97 = $96&65535; - $98 = ($93|0)<=($97|0); - if ($98) { - $99 = HEAP32[$nHeader>>2]|0; - $100 = HEAP32[$nPayload>>2]|0; - $101 = (($99) + ($100))|0; - HEAP32[$n>>2] = $101; - $102 = HEAP32[$n>>2]|0; - $103 = ($102|0)<(4); - $$ = $103 ? 4 : $101; - HEAP32[$n>>2] = $$; - $104 = HEAP32[$n>>2]|0; - $105 = HEAP32[$10>>2]|0; - HEAP32[$105>>2] = $104; - $106 = HEAP32[$nPayload>>2]|0; - HEAP32[$spaceLeft>>2] = $106; - $107 = HEAP32[$4>>2]|0; - HEAP32[$pPrior>>2] = $107; - } else { - $108 = HEAP32[$3>>2]|0; - $109 = (($108) + 12|0); - $110 = HEAP16[$109>>1]|0; - $111 = $110&65535; - HEAP32[$mn>>2] = $111; - $112 = HEAP32[$mn>>2]|0; - $113 = HEAP32[$nPayload>>2]|0; - $114 = HEAP32[$mn>>2]|0; - $115 = (($113) - ($114))|0; - $116 = HEAP32[$3>>2]|0; - $117 = (($116) + 52|0); - $118 = HEAP32[$117>>2]|0; - $119 = (($118) + 36|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($120) - 4)|0; - $122 = (($115>>>0) % ($121>>>0))&-1; - $123 = (($112) + ($122))|0; - HEAP32[$n>>2] = $123; - $124 = HEAP32[$n>>2]|0; - $125 = HEAP32[$3>>2]|0; - $126 = (($125) + 10|0); - $127 = HEAP16[$126>>1]|0; - $128 = $127&65535; - $129 = ($124|0)>($128|0); - if ($129) { - $130 = HEAP32[$mn>>2]|0; - HEAP32[$n>>2] = $130; + $79 = HEAP32[$pX>>2]|0; + $80 = ((($79)) + 12|0); + $81 = HEAP16[$80>>1]|0; + $82 = $81&65535; + $83 = HEAP16[$mask>>1]|0; + $84 = $83&65535; + $85 = $82 & $84; + $86 = ($85|0)!=(0); + if ($86) { + label = 16; + break; + } + $87 = HEAP32[$pX>>2]|0; + $88 = ((($87)) + 10|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = HEAP16[$allShared>>1]|0; + $92 = $91&65535; + $93 = $92 | $90; + $94 = $93&65535; + HEAP16[$allShared>>1] = $94; + $95 = HEAP32[$pX>>2]|0; + $96 = ((($95)) + 4|0); + $97 = HEAP32[$96>>2]|0; + HEAP32[$pX>>2] = $97; + } + if ((label|0) == 16) { + HEAP32[$rc>>2] = 5; + } + $98 = HEAP32[$rc>>2]|0; + $99 = ($98|0)==(0); + do { + if ($99) { + $100 = HEAP16[$allShared>>1]|0; + $101 = $100&65535; + $102 = HEAP16[$mask>>1]|0; + $103 = $102&65535; + $104 = $101 & $103; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$pShmNode>>2]|0; + $107 = HEAP32[$1>>2]|0; + $108 = (($107) + 120)|0; + $109 = HEAP32[$2>>2]|0; + $110 = (_unixShmSystemLock($106,0,$108,$109)|0); + HEAP32[$rc>>2] = $110; + break; + } else { + HEAP32[$rc>>2] = 0; + break; + } } - $131 = HEAP32[$n>>2]|0; - HEAP32[$spaceLeft>>2] = $131; - $132 = HEAP32[$n>>2]|0; - $133 = HEAP32[$nHeader>>2]|0; - $134 = (($132) + ($133))|0; - $135 = (($134) + 4)|0; - $136 = HEAP32[$10>>2]|0; - HEAP32[$136>>2] = $135; - $137 = HEAP32[$nHeader>>2]|0; - $138 = HEAP32[$n>>2]|0; - $139 = (($137) + ($138))|0; - $140 = HEAP32[$4>>2]|0; - $141 = (($140) + ($139)|0); - HEAP32[$pPrior>>2] = $141; + } while(0); + $111 = HEAP32[$rc>>2]|0; + $112 = ($111|0)==(0); + if (!($112)) { + $162 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($162|0); } - $142 = HEAP32[$nHeader>>2]|0; - $143 = HEAP32[$4>>2]|0; - $144 = (($143) + ($142)|0); - HEAP32[$pPayload>>2] = $144; + $113 = HEAP16[$mask>>1]|0; + $114 = $113&65535; + $115 = HEAP32[$p>>2]|0; + $116 = ((($115)) + 10|0); + $117 = HEAP16[$116>>1]|0; + $118 = $117&65535; + $119 = $118 | $114; + $120 = $119&65535; + HEAP16[$116>>1] = $120; + $162 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($162|0); +} +function _unixShmBarrier($fd) { + $fd = $fd|0; + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $fd; + _unixEnterMutex(); + _unixLeaveMutex(); + STACKTOP = sp;return; +} +function _unixShmUnmap($fd,$deleteFlag) { + $fd = $fd|0; + $deleteFlag = $deleteFlag|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pDbFd = 0, $pShmNode = 0, $pp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $p = sp + 24|0; + $pShmNode = sp + 4|0; + $pp = sp; + $pDbFd = sp + 12|0; + HEAP32[$1>>2] = $fd; + HEAP32[$2>>2] = $deleteFlag; + $3 = HEAP32[$1>>2]|0; + HEAP32[$pDbFd>>2] = $3; + $4 = HEAP32[$pDbFd>>2]|0; + $5 = ((($4)) + 36|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$p>>2] = $6; + $7 = HEAP32[$p>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + HEAP32[$0>>2] = 0; + $46 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($46|0); + } + $9 = HEAP32[$p>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$pShmNode>>2] = $10; + $11 = HEAP32[$pShmNode>>2]|0; + $12 = ((($11)) + 32|0); + HEAP32[$pp>>2] = $12; while(1) { - $145 = HEAP32[$nPayload>>2]|0; - $146 = ($145|0)>(0); - if (!($146)) { - label = 37; + $13 = HEAP32[$pp>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$p>>2]|0; + $16 = ($14|0)!=($15|0); + if (!($16)) { break; } - $147 = HEAP32[$spaceLeft>>2]|0; - $148 = ($147|0)==(0); - if ($148) { - $149 = HEAP32[$pgnoOvfl>>2]|0; - HEAP32[$pgnoPtrmap>>2] = $149; - $150 = HEAP32[$pBt>>2]|0; - $151 = (($150) + 17|0); - $152 = HEAP8[$151>>0]|0; - $153 = ($152<<24>>24)!=(0); - if ($153) { - while(1) { - $154 = HEAP32[$pgnoOvfl>>2]|0; - $155 = (($154) + 1)|0; - HEAP32[$pgnoOvfl>>2] = $155; - $156 = HEAP32[$pBt>>2]|0; - $157 = HEAP32[$pgnoOvfl>>2]|0; - $158 = (_ptrmapPageno($156,$157)|0); - $159 = HEAP32[$pgnoOvfl>>2]|0; - $160 = ($158|0)==($159|0); - if ($160) { - continue; - } - $161 = HEAP32[$pgnoOvfl>>2]|0; - $162 = HEAP32[1128>>2]|0; - $163 = HEAP32[$pBt>>2]|0; - $164 = (($163) + 32|0); - $165 = HEAP32[$164>>2]|0; - $166 = (($162>>>0) / ($165>>>0))&-1; - $167 = (($166) + 1)|0; - $168 = ($161|0)==($167|0); - if (!($168)) { - break; - } - } - } - $169 = HEAP32[$pBt>>2]|0; - $170 = HEAP32[$pgnoOvfl>>2]|0; - $171 = (_allocateBtreePage($169,$pOvfl,$pgnoOvfl,$170,0)|0); - HEAP32[$rc>>2] = $171; - $172 = HEAP32[$pBt>>2]|0; - $173 = (($172) + 17|0); - $174 = HEAP8[$173>>0]|0; - $175 = $174&255; - $176 = ($175|0)!=(0); - $177 = HEAP32[$rc>>2]|0; - $178 = ($177|0)==(0); - $or$cond3 = $176 & $178; - if ($or$cond3) { - $179 = HEAP32[$pgnoPtrmap>>2]|0; - $180 = ($179|0)!=(0); - $181 = $180 ? 4 : 3; - $182 = $181&255; - HEAP8[$eType>>0] = $182; - $183 = HEAP32[$pBt>>2]|0; - $184 = HEAP32[$pgnoOvfl>>2]|0; - $185 = HEAP8[$eType>>0]|0; - $186 = HEAP32[$pgnoPtrmap>>2]|0; - _ptrmapPut($183,$184,$185,$186,$rc); - $187 = HEAP32[$rc>>2]|0; - $188 = ($187|0)!=(0); - if ($188) { - $189 = HEAP32[$pOvfl>>2]|0; - _releasePage($189); - } - } - $190 = HEAP32[$rc>>2]|0; - $191 = ($190|0)!=(0); - if ($191) { - label = 26; - break; + $17 = HEAP32[$pp>>2]|0; + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 4|0); + HEAP32[$pp>>2] = $19; + } + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$pp>>2]|0; + HEAP32[$23>>2] = $22; + $24 = HEAP32[$p>>2]|0; + _sqlite3_free($24); + $25 = HEAP32[$pDbFd>>2]|0; + $26 = ((($25)) + 36|0); + HEAP32[$26>>2] = 0; + _unixEnterMutex(); + $27 = HEAP32[$pShmNode>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + -1)|0; + HEAP32[$28>>2] = $30; + $31 = HEAP32[$pShmNode>>2]|0; + $32 = ((($31)) + 28|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$2>>2]|0; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$pShmNode>>2]|0; + $38 = ((($37)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)>=(0); + if ($40) { + $41 = HEAP32[(4400)>>2]|0; + $42 = HEAP32[$pShmNode>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + (FUNCTION_TABLE_ii[$41 & 31]($44)|0); } - $194 = HEAP32[$pPrior>>2]|0; - $195 = HEAP32[$pgnoOvfl>>2]|0; - _sqlite3Put4byte($194,$195); - $196 = HEAP32[$pToRelease>>2]|0; - _releasePage($196); - $197 = HEAP32[$pOvfl>>2]|0; - HEAP32[$pToRelease>>2] = $197; - $198 = HEAP32[$pOvfl>>2]|0; - $199 = (($198) + 56|0); - $200 = HEAP32[$199>>2]|0; - HEAP32[$pPrior>>2] = $200; - $201 = HEAP32[$pPrior>>2]|0; - _sqlite3Put4byte($201,0); - $202 = HEAP32[$pOvfl>>2]|0; - $203 = (($202) + 56|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($204) + 4|0); - HEAP32[$pPayload>>2] = $205; - $206 = HEAP32[$pBt>>2]|0; - $207 = (($206) + 36|0); - $208 = HEAP32[$207>>2]|0; - $209 = (($208) - 4)|0; - HEAP32[$spaceLeft>>2] = $209; } - $210 = HEAP32[$nPayload>>2]|0; - HEAP32[$n>>2] = $210; - $211 = HEAP32[$n>>2]|0; - $212 = HEAP32[$spaceLeft>>2]|0; - $213 = ($211|0)>($212|0); - if ($213) { - $214 = HEAP32[$spaceLeft>>2]|0; - HEAP32[$n>>2] = $214; + $45 = HEAP32[$pDbFd>>2]|0; + _unixShmPurge($45); + } + _unixLeaveMutex(); + HEAP32[$0>>2] = 0; + $46 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($46|0); +} +function _unixFetch($fd,$0,$1,$nAmt,$pp) { + $fd = $fd|0; + $0 = $0|0; + $1 = $1|0; + $nAmt = $nAmt|0; + $pp = $pp|0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp; + $4 = sp + 12|0; + $5 = sp + 8|0; + HEAP32[$2>>2] = $fd; + $6 = $3; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + HEAP32[$4>>2] = $nAmt; + HEAP32[$5>>2] = $pp; + $10 = HEAP32[$5>>2]|0; + HEAP32[$10>>2] = 0; + STACKTOP = sp;return 0; +} +function _unixUnfetch($fd,$0,$1,$p) { + $fd = $fd|0; + $0 = $0|0; + $1 = $1|0; + $p = $p|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; + $3 = sp; + $4 = sp + 8|0; + HEAP32[$2>>2] = $fd; + $5 = $3; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + HEAP32[$4>>2] = $p; + STACKTOP = sp;return 0; +} +function _unixEnterMutex() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _unixShmPurge($pFd) { + $pFd = $pFd|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $nShmPerMap = 0; + var $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $p = sp + 8|0; + $nShmPerMap = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $pFd; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$p>>2] = $5; + $6 = HEAP32[$p>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$p>>2]|0; + $9 = ((($8)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = (_unixShmRegionPerMap()|0); + HEAP32[$nShmPerMap>>2] = $12; + HEAP32[$i>>2] = 0; + while(1) { + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$p>>2]|0; + $15 = ((($14)) + 20|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = ($13|0)<($17|0); + $19 = HEAP32[$p>>2]|0; + if (!($18)) { + break; } - $215 = HEAP32[$nSrc>>2]|0; - $216 = ($215|0)>(0); - if ($216) { - $217 = HEAP32[$n>>2]|0; - $218 = HEAP32[$nSrc>>2]|0; - $219 = ($217|0)>($218|0); - if ($219) { - $220 = HEAP32[$nSrc>>2]|0; - HEAP32[$n>>2] = $220; - } - $221 = HEAP32[$pPayload>>2]|0; - $222 = HEAP32[$pSrc>>2]|0; - $223 = HEAP32[$n>>2]|0; - _memcpy(($221|0),($222|0),($223|0))|0; + $20 = ((($19)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)>=(0); + if ($22) { + $23 = HEAP32[(4472)>>2]|0; + $24 = HEAP32[$i>>2]|0; + $25 = HEAP32[$p>>2]|0; + $26 = ((($25)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($24<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$p>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + (FUNCTION_TABLE_iii[$23 & 63]($29,$32)|0); } else { - $224 = HEAP32[$pPayload>>2]|0; - $225 = HEAP32[$n>>2]|0; - _memset(($224|0),0,($225|0))|0; - } - $226 = HEAP32[$n>>2]|0; - $227 = HEAP32[$nPayload>>2]|0; - $228 = (($227) - ($226))|0; - HEAP32[$nPayload>>2] = $228; - $229 = HEAP32[$n>>2]|0; - $230 = HEAP32[$pPayload>>2]|0; - $231 = (($230) + ($229)|0); - HEAP32[$pPayload>>2] = $231; - $232 = HEAP32[$n>>2]|0; - $233 = HEAP32[$pSrc>>2]|0; - $234 = (($233) + ($232)|0); - HEAP32[$pSrc>>2] = $234; - $235 = HEAP32[$n>>2]|0; - $236 = HEAP32[$nSrc>>2]|0; - $237 = (($236) - ($235))|0; - HEAP32[$nSrc>>2] = $237; - $238 = HEAP32[$n>>2]|0; - $239 = HEAP32[$spaceLeft>>2]|0; - $240 = (($239) - ($238))|0; - HEAP32[$spaceLeft>>2] = $240; - $241 = HEAP32[$nSrc>>2]|0; - $242 = ($241|0)==(0); - if (!($242)) { - continue; + $33 = HEAP32[$i>>2]|0; + $34 = HEAP32[$p>>2]|0; + $35 = ((($34)) + 24|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + ($33<<2)|0); + $38 = HEAP32[$37>>2]|0; + _sqlite3_free($38); } - $243 = HEAP32[$8>>2]|0; - HEAP32[$nSrc>>2] = $243; - $244 = HEAP32[$7>>2]|0; - HEAP32[$pSrc>>2] = $244; + $39 = HEAP32[$nShmPerMap>>2]|0; + $40 = HEAP32[$i>>2]|0; + $41 = (($40) + ($39))|0; + HEAP32[$i>>2] = $41; } - if ((label|0) == 26) { - $192 = HEAP32[$pToRelease>>2]|0; - _releasePage($192); - $193 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $193; - $246 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($246|0); + $42 = ((($19)) + 24|0); + $43 = HEAP32[$42>>2]|0; + _sqlite3_free($43); + $44 = HEAP32[$p>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)>=(0); + if ($47) { + $48 = HEAP32[$0>>2]|0; + $49 = HEAP32[$p>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + _robust_close($48,$51,28999); + $52 = HEAP32[$p>>2]|0; + $53 = ((($52)) + 12|0); + HEAP32[$53>>2] = -1; } - else if ((label|0) == 37) { - $245 = HEAP32[$pToRelease>>2]|0; - _releasePage($245); - HEAP32[$2>>2] = 0; - $246 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($246|0); + $54 = HEAP32[$p>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = ((($55)) + 20|0); + HEAP32[$56>>2] = 0; + $57 = HEAP32[$p>>2]|0; + _sqlite3_free($57); + STACKTOP = sp;return; +} +function _unixLeaveMutex() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _unixShmRegionPerMap() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pgsz = 0, $shmsz = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $shmsz = sp + 4|0; + $pgsz = sp; + HEAP32[$shmsz>>2] = 32768; + $1 = HEAP32[(4496)>>2]|0; + $2 = (FUNCTION_TABLE_i[$1 & 1]()|0); + HEAP32[$pgsz>>2] = $2; + $3 = HEAP32[$pgsz>>2]|0; + $4 = HEAP32[$shmsz>>2]|0; + $5 = ($3|0)<($4|0); + if ($5) { + HEAP32[$0>>2] = 1; + $9 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($9|0); + } else { + $6 = HEAP32[$pgsz>>2]|0; + $7 = HEAP32[$shmsz>>2]|0; + $8 = (($6|0) / ($7|0))&-1; + HEAP32[$0>>2] = $8; + $9 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($9|0); } - return 0|0; + return (0)|0; } -function _sqlite3VdbeSorterClose($db,$pCsr) { - $db = $db|0; - $pCsr = $pCsr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pSorter = 0, label = 0, sp = 0; +function _robust_close($pFile,$h,$lineno) { + $pFile = $pFile|0; + $h = $h|0; + $lineno = $lineno|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; - $pSorter = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pCsr; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 56|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pSorter>>2] = $4; - $5 = HEAP32[$pSorter>>2]|0; - $6 = ($5|0)!=(0|0); + $2 = sp; + HEAP32[$0>>2] = $pFile; + HEAP32[$1>>2] = $h; + HEAP32[$2>>2] = $lineno; + $3 = HEAP32[(4220)>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = (FUNCTION_TABLE_ii[$3 & 31]($4)|0); + $6 = ($5|0)!=(0); if (!($6)) { STACKTOP = sp;return; } $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$pSorter>>2]|0; - _sqlite3VdbeSorterReset($7,$8); - $9 = HEAP32[$pSorter>>2]|0; - $10 = (($9) + 36|0); - $11 = (($10) + 4|0); - $12 = HEAP32[$11>>2]|0; - _sqlite3_free($12); - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$pSorter>>2]|0; - _sqlite3DbFree($13,$14); - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 56|0); - HEAP32[$16>>2] = 0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 32|0); + $11 = HEAP32[$10>>2]|0; + $13 = $11; + } else { + $13 = 0; + } + $12 = HEAP32[$2>>2]|0; + (_unixLogErrorAtLine(4106,36144,$13,$12)|0); STACKTOP = sp;return; } -function _btreeCreateTable($p,$piTable,$createTabFlags) { - $p = $p|0; - $piTable = $piTable|0; - $createTabFlags = $createTabFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eType = 0, $iPtrPage = 0; - var $pBt = 0, $pPageMove = 0, $pRoot = 0, $pgnoMove = 0, $pgnoRoot = 0, $ptfFlags = 0, $rc = 0, label = 0, sp = 0; +function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { + $errcode = $errcode|0; + $zFunc = $zFunc|0; + $zPath = $zPath|0; + $iLine = $iLine|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iErrno = 0, $vararg_buffer = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $zErr = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $pBt = sp + 28|0; - $pRoot = sp + 24|0; - $pgnoRoot = sp + 20|0; - $rc = sp + 16|0; - $ptfFlags = sp + 12|0; - $pgnoMove = sp + 8|0; - $pPageMove = sp + 4|0; - $eType = sp + 48|0; - $iPtrPage = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $piTable; - HEAP32[$3>>2] = $createTabFlags; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $0 = sp + 32|0; + $1 = sp + 36|0; + $2 = sp + 40|0; + $3 = sp + 24|0; + $zErr = sp + 20|0; + $iErrno = sp + 28|0; + HEAP32[$0>>2] = $errcode; + HEAP32[$1>>2] = $zFunc; + HEAP32[$2>>2] = $zPath; + HEAP32[$3>>2] = $iLine; + $4 = (___errno_location()|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$iErrno>>2] = $5; + $6 = HEAP32[$iErrno>>2]|0; + $7 = (_strerror($6)|0); + HEAP32[$zErr>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + HEAP32[$2>>2] = 14425; + } + $10 = HEAP32[$0>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$iErrno>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$zErr>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $14; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $15; + _sqlite3_log($10,36150,$vararg_buffer); + $16 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($16|0); +} +function _posixOpen($zFile,$flags,$mode) { + $zFile = $zFile|0; + $flags = $flags|0; + $mode = $mode|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$0>>2] = $zFile; + HEAP32[$1>>2] = $flags; + HEAP32[$2>>2] = $mode; + $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$pBt>>2] = $6; - $7 = HEAP32[$pBt>>2]|0; - $8 = (($7) + 17|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)!=(0); - $11 = HEAP32[$pBt>>2]|0; - if ($10) { - _invalidateAllOverflowCache($11); - $12 = HEAP32[$1>>2]|0; - _sqlite3BtreeGetMeta($12,4,$pgnoRoot); - $13 = HEAP32[$pgnoRoot>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$pgnoRoot>>2] = $14; - while(1) { - $15 = HEAP32[$pgnoRoot>>2]|0; - $16 = HEAP32[$pBt>>2]|0; - $17 = HEAP32[$pgnoRoot>>2]|0; - $18 = (_ptrmapPageno($16,$17)|0); - $19 = ($15|0)==($18|0); - if (!($19)) { - $20 = HEAP32[$pgnoRoot>>2]|0; - $21 = HEAP32[1128>>2]|0; - $22 = HEAP32[$pBt>>2]|0; - $23 = (($22) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($21>>>0) / ($24>>>0))&-1; - $26 = (($25) + 1)|0; - $27 = ($20|0)==($26|0); - if (!($27)) { - break; - } - } - $28 = HEAP32[$pgnoRoot>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$pgnoRoot>>2] = $29; + $5 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $5; + $6 = (_open($3,$4,$vararg_buffer)|0); + STACKTOP = sp;return ($6|0); +} +function _openDirectory($zFilename,$pFd) { + $zFilename = $zFilename|0; + $pFd = $pFd|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $ii = 0, $vararg_buffer = 0, $zDirname = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 544|0; + $vararg_buffer = sp; + $0 = sp + 16|0; + $1 = sp + 12|0; + $ii = sp + 8|0; + $fd = sp + 4|0; + $zDirname = sp + 20|0; + HEAP32[$0>>2] = $zFilename; + HEAP32[$1>>2] = $pFd; + HEAP32[$fd>>2] = -1; + $2 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $2; + (_sqlite3_snprintf(512,$zDirname,14418,$vararg_buffer)|0); + $3 = (_strlen($zDirname)|0); + HEAP32[$ii>>2] = $3; + while(1) { + $4 = HEAP32[$ii>>2]|0; + $5 = ($4|0)>(1); + if (!($5)) { + break; } - $30 = HEAP32[$pBt>>2]|0; - $31 = HEAP32[$pgnoRoot>>2]|0; - $32 = (_allocateBtreePage($30,$pPageMove,$pgnoMove,$31,1)|0); - HEAP32[$rc>>2] = $32; - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $35; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); + $6 = HEAP32[$ii>>2]|0; + $7 = (($zDirname) + ($6)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)!=(47); + if (!($10)) { + break; } - $36 = HEAP32[$pgnoMove>>2]|0; - $37 = HEAP32[$pgnoRoot>>2]|0; - $38 = ($36|0)!=($37|0); - if ($38) { - HEAP8[$eType>>0] = 0; - HEAP32[$iPtrPage>>2] = 0; - $39 = HEAP32[$pBt>>2]|0; - $40 = (_saveAllCursors($39,0,0)|0); - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$pPageMove>>2]|0; - _releasePage($41); - $42 = HEAP32[$rc>>2]|0; - $43 = ($42|0)!=(0); - if ($43) { - $44 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $44; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); + $11 = HEAP32[$ii>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$ii>>2] = $12; + } + $13 = HEAP32[$ii>>2]|0; + $14 = ($13|0)>(0); + if ($14) { + $15 = HEAP32[$ii>>2]|0; + $16 = (($zDirname) + ($15)|0); + HEAP8[$16>>0] = 0; + $17 = (_robust_open($zDirname,0,0)|0); + HEAP32[$fd>>2] = $17; + } + $18 = HEAP32[$fd>>2]|0; + $19 = HEAP32[$1>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$fd>>2]|0; + $21 = ($20|0)>=(0); + if ($21) { + $24 = 0; + STACKTOP = sp;return ($24|0); + } + $22 = (_sqlite3CantopenError(28344)|0); + $23 = (_unixLogErrorAtLine($22,36181,$zDirname,28344)|0); + $24 = $23; + STACKTOP = sp;return ($24|0); +} +function _posixFchown($fd,$uid,$gid) { + $fd = $fd|0; + $uid = $uid|0; + $gid = $gid|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $fd; + HEAP32[$1>>2] = $uid; + HEAP32[$2>>2] = $gid; + $3 = (_geteuid()|0); + $4 = ($3|0)!=(0); + if ($4) { + $9 = 0; + STACKTOP = sp;return ($9|0); + } + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = (_fchown($5,$6,$7)|0); + $9 = $8; + STACKTOP = sp;return ($9|0); +} +function _unixGetpagesize() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_sysconf(30)|0); + return ($0|0); +} +function _robust_open($z,$f,$m) { + $z = $z|0; + $f = $f|0; + $m = $m|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $m2 = 0, $or$cond = 0, $statbuf = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer = sp; + $0 = sp + 92|0; + $1 = sp + 96|0; + $2 = sp + 100|0; + $fd = sp + 12|0; + $m2 = sp + 8|0; + $statbuf = sp + 16|0; + HEAP32[$0>>2] = $z; + HEAP32[$1>>2] = $f; + HEAP32[$2>>2] = $m; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0); + $5 = HEAP32[$2>>2]|0; + $6 = $4 ? $5 : 420; + HEAP32[$m2>>2] = $6; + while(1) { + $7 = HEAP32[(4208)>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = $9 | 524288; + $11 = HEAP32[$m2>>2]|0; + $12 = (FUNCTION_TABLE_iiii[$7 & 31]($8,$10,$11)|0); + HEAP32[$fd>>2] = $12; + $13 = HEAP32[$fd>>2]|0; + $14 = ($13|0)<(0); + if ($14) { + $15 = (___errno_location()|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(4); + if ($17) { + continue; + } else { + break; } - $45 = HEAP32[$pBt>>2]|0; - $46 = HEAP32[$pgnoRoot>>2]|0; - $47 = (_btreeGetPage($45,$46,$pRoot,0)|0); - HEAP32[$rc>>2] = $47; - $48 = HEAP32[$rc>>2]|0; - $49 = ($48|0)!=(0); - if ($49) { - $50 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $50; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); + } + $18 = HEAP32[$fd>>2]|0; + $19 = ($18|0)>=(3); + if ($19) { + break; + } + $20 = HEAP32[(4220)>>2]|0; + $21 = HEAP32[$fd>>2]|0; + (FUNCTION_TABLE_ii[$20 & 31]($21)|0); + $22 = HEAP32[$0>>2]|0; + $23 = HEAP32[$fd>>2]|0; + HEAP32[$vararg_buffer>>2] = $22; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $23; + _sqlite3_log(28,36349,$vararg_buffer); + HEAP32[$fd>>2] = -1; + $24 = HEAP32[(4208)>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = (FUNCTION_TABLE_iiii[$24 & 31](36392,$25,$26)|0); + $28 = ($27|0)<(0); + if ($28) { + break; + } + } + $29 = HEAP32[$fd>>2]|0; + $30 = ($29|0)>=(0); + $31 = HEAP32[$2>>2]|0; + $32 = ($31|0)!=(0); + $or$cond = $30 & $32; + if (!($or$cond)) { + $48 = HEAP32[$fd>>2]|0; + STACKTOP = sp;return ($48|0); + } + $33 = HEAP32[(4268)>>2]|0; + $34 = HEAP32[$fd>>2]|0; + $35 = (FUNCTION_TABLE_iii[$33 & 63]($34,$statbuf)|0); + $36 = ($35|0)==(0); + if (!($36)) { + $48 = HEAP32[$fd>>2]|0; + STACKTOP = sp;return ($48|0); + } + $37 = ((($statbuf)) + 36|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $48 = HEAP32[$fd>>2]|0; + STACKTOP = sp;return ($48|0); + } + $40 = ((($statbuf)) + 12|0); + $41 = HEAP32[$40>>2]|0; + $42 = $41 & 511; + $43 = HEAP32[$2>>2]|0; + $44 = ($42|0)!=($43|0); + if (!($44)) { + $48 = HEAP32[$fd>>2]|0; + STACKTOP = sp;return ($48|0); + } + $45 = HEAP32[(4376)>>2]|0; + $46 = HEAP32[$fd>>2]|0; + $47 = HEAP32[$2>>2]|0; + (FUNCTION_TABLE_iii[$45 & 63]($46,$47)|0); + $48 = HEAP32[$fd>>2]|0; + STACKTOP = sp;return ($48|0); +} +function _unixShmSystemLock($pShmNode,$lockType,$ofst,$n) { + $pShmNode = $pShmNode|0; + $lockType = $lockType|0; + $ofst = $ofst|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $f = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $0 = sp + 32|0; + $1 = sp + 36|0; + $2 = sp + 40|0; + $3 = sp + 24|0; + $f = sp + 8|0; + $rc = sp + 28|0; + HEAP32[$0>>2] = $pShmNode; + HEAP32[$1>>2] = $lockType; + HEAP32[$2>>2] = $ofst; + HEAP32[$3>>2] = $n; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>=(0); + if (!($7)) { + $23 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($23|0); + } + ;HEAP32[$f>>2]=0|0;HEAP32[$f+4>>2]=0|0;HEAP32[$f+8>>2]=0|0;HEAP32[$f+12>>2]=0|0; + $8 = HEAP32[$1>>2]|0; + $9 = $8&65535; + HEAP16[$f>>1] = $9; + $10 = ((($f)) + 2|0); + HEAP16[$10>>1] = 0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($f)) + 4|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$3>>2]|0; + $14 = ((($f)) + 8|0); + HEAP32[$14>>2] = $13; + $15 = HEAP32[(4292)>>2]|0; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer>>2] = $f; + $19 = (FUNCTION_TABLE_iiii[$15 & 31]($18,13,$vararg_buffer)|0); + HEAP32[$rc>>2] = $19; + $20 = HEAP32[$rc>>2]|0; + $21 = ($20|0)!=(-1); + $22 = $21 ? 0 : 5; + HEAP32[$rc>>2] = $22; + $23 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($23|0); +} +function _fcntlSizeHint($pFile,$0,$1) { + $pFile = $pFile|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $buf = 0, $iWrite = 0, $nBlk = 0, $nSize = 0, $nWrite = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $2 = sp + 28|0; + $3 = sp + 32|0; + $4 = sp; + $nSize = sp + 16|0; + $buf = sp + 40|0; + $nBlk = sp + 24|0; + $iWrite = sp + 8|0; + $nWrite = sp + 36|0; + HEAP32[$3>>2] = $pFile; + $5 = $4; + $6 = $5; + HEAP32[$6>>2] = $0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = $1; + $9 = HEAP32[$3>>2]|0; + $10 = ((($9)) + 40|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + L1: do { + if ($12) { + $13 = HEAP32[(4268)>>2]|0; + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = (FUNCTION_TABLE_iii[$13 & 63]($16,$buf)|0); + $18 = ($17|0)!=(0); + if ($18) { + HEAP32[$2>>2] = 1802; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); } - $51 = HEAP32[$pBt>>2]|0; - $52 = HEAP32[$pgnoRoot>>2]|0; - $53 = (_ptrmapGet($51,$52,$eType,$iPtrPage)|0); - HEAP32[$rc>>2] = $53; - $54 = HEAP8[$eType>>0]|0; - $55 = $54&255; - $56 = ($55|0)==(1); - if ($56) { - label = 15; - } else { - $57 = HEAP8[$eType>>0]|0; - $58 = $57&255; - $59 = ($58|0)==(2); - if ($59) { - label = 15; + $19 = $4; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 40|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)<(0); + $29 = $28 << 31 >> 31; + $30 = (_i64Add(($21|0),($24|0),($27|0),($29|0))|0); + $31 = tempRet0; + $32 = (_i64Subtract(($30|0),($31|0),1,0)|0); + $33 = tempRet0; + $34 = HEAP32[$3>>2]|0; + $35 = ((($34)) + 40|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)<(0); + $38 = $37 << 31 >> 31; + $39 = (___divdi3(($32|0),($33|0),($36|0),($38|0))|0); + $40 = tempRet0; + $41 = HEAP32[$3>>2]|0; + $42 = ((($41)) + 40|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)<(0); + $45 = $44 << 31 >> 31; + $46 = (___muldi3(($39|0),($40|0),($43|0),($45|0))|0); + $47 = tempRet0; + $48 = $nSize; + $49 = $48; + HEAP32[$49>>2] = $46; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + $52 = $nSize; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = ((($buf)) + 36|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)<(0); + $61 = $60 << 31 >> 31; + $62 = ($57|0)>($61|0); + $63 = ($54>>>0)>($59>>>0); + $64 = ($57|0)==($61|0); + $65 = $64 & $63; + $66 = $62 | $65; + if ($66) { + $67 = ((($buf)) + 40|0); + $68 = HEAP32[$67>>2]|0; + HEAP32[$nBlk>>2] = $68; + $69 = HEAP32[$3>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + $72 = $nSize; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (_robust_ftruncate($71,$74,$77)|0); + $79 = ($78|0)!=(0); + if ($79) { + $80 = (___errno_location()|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$3>>2]|0; + $83 = ((($82)) + 20|0); + HEAP32[$83>>2] = $81; + $84 = HEAP32[$3>>2]|0; + $85 = ((($84)) + 32|0); + $86 = HEAP32[$85>>2]|0; + $87 = (_unixLogErrorAtLine(1546,36204,$86,28530)|0); + HEAP32[$2>>2] = $87; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); + } + $88 = ((($buf)) + 36|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$nBlk>>2]|0; + $91 = $90<<1; + $92 = (($89) + ($91))|0; + $93 = (($92) - 1)|0; + $94 = HEAP32[$nBlk>>2]|0; + $95 = (($93|0) / ($94|0))&-1; + $96 = HEAP32[$nBlk>>2]|0; + $97 = Math_imul($95, $96)|0; + $98 = (($97) - 1)|0; + $99 = ($98|0)<(0); + $100 = $99 << 31 >> 31; + $101 = $iWrite; + $102 = $101; + HEAP32[$102>>2] = $98; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + while(1) { + $105 = $iWrite; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = $nSize; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = ($110|0)<($116|0); + $118 = ($107>>>0)<($113>>>0); + $119 = ($110|0)==($116|0); + $120 = $119 & $118; + $121 = $117 | $120; + if (!($121)) { + break L1; + } + $122 = HEAP32[$3>>2]|0; + $123 = $iWrite; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = (($123) + 4)|0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (_seekAndWrite($122,$125,$128,14425,1)|0); + HEAP32[$nWrite>>2] = $129; + $130 = HEAP32[$nWrite>>2]|0; + $131 = ($130|0)!=(1); + if ($131) { + break; + } + $132 = HEAP32[$nBlk>>2]|0; + $133 = ($132|0)<(0); + $134 = $133 << 31 >> 31; + $135 = $iWrite; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (_i64Add(($137|0),($140|0),($132|0),($134|0))|0); + $142 = tempRet0; + $143 = $iWrite; + $144 = $143; + HEAP32[$144>>2] = $141; + $145 = (($143) + 4)|0; + $146 = $145; + HEAP32[$146>>2] = $142; } + HEAP32[$2>>2] = 778; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); } - if ((label|0) == 15) { - $60 = (_sqlite3CorruptError(59666)|0); - HEAP32[$rc>>2] = $60; - } - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)!=(0); - if ($62) { - $63 = HEAP32[$pRoot>>2]|0; - _releasePage($63); - $64 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $64; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $65 = HEAP32[$pBt>>2]|0; - $66 = HEAP32[$pRoot>>2]|0; - $67 = HEAP8[$eType>>0]|0; - $68 = HEAP32[$iPtrPage>>2]|0; - $69 = HEAP32[$pgnoMove>>2]|0; - $70 = (_relocatePage($65,$66,$67,$68,$69,0)|0); - HEAP32[$rc>>2] = $70; - $71 = HEAP32[$pRoot>>2]|0; - _releasePage($71); - $72 = HEAP32[$rc>>2]|0; - $73 = ($72|0)!=(0); - if ($73) { - $74 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $74; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $75 = HEAP32[$pBt>>2]|0; - $76 = HEAP32[$pgnoRoot>>2]|0; - $77 = (_btreeGetPage($75,$76,$pRoot,0)|0); - HEAP32[$rc>>2] = $77; - $78 = HEAP32[$rc>>2]|0; - $79 = ($78|0)!=(0); - if ($79) { - $80 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $80; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $81 = HEAP32[$pRoot>>2]|0; - $82 = (($81) + 68|0); - $83 = HEAP32[$82>>2]|0; - $84 = (_sqlite3PagerWrite($83)|0); - HEAP32[$rc>>2] = $84; - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$pRoot>>2]|0; - _releasePage($87); - $88 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $88; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - } else { - $89 = HEAP32[$pPageMove>>2]|0; - HEAP32[$pRoot>>2] = $89; - } - $90 = HEAP32[$pBt>>2]|0; - $91 = HEAP32[$pgnoRoot>>2]|0; - _ptrmapPut($90,$91,1,0,$rc); - $92 = HEAP32[$rc>>2]|0; - $93 = ($92|0)!=(0); - if ($93) { - $94 = HEAP32[$pRoot>>2]|0; - _releasePage($94); - $95 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $95; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - $96 = HEAP32[$1>>2]|0; - $97 = HEAP32[$pgnoRoot>>2]|0; - $98 = (_sqlite3BtreeUpdateMeta($96,4,$97)|0); - HEAP32[$rc>>2] = $98; - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$pRoot>>2]|0; - _releasePage($101); - $102 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $102; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); - } - } else { - $103 = (_allocateBtreePage($11,$pRoot,$pgnoRoot,1,0)|0); - HEAP32[$rc>>2] = $103; - $104 = HEAP32[$rc>>2]|0; - $105 = ($104|0)!=(0); - if ($105) { - $106 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $106; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); } + } while(0); + HEAP32[$2>>2] = 0; + $147 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($147|0); +} +function _unixModeBit($pFile,$mask,$pArg) { + $pFile = $pFile|0; + $mask = $mask|0; + $pArg = $pArg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp + 8|0; + $2 = sp; + HEAP32[$0>>2] = $pFile; + HEAP8[$1>>0] = $mask; + HEAP32[$2>>2] = $pArg; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<(0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 18|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = HEAP8[$1>>0]|0; + $11 = $10&255; + $12 = $9 & $11; + $13 = ($12|0)!=(0); + $14 = $13&1; + $15 = HEAP32[$2>>2]|0; + HEAP32[$15>>2] = $14; + STACKTOP = sp;return; } - $107 = HEAP32[$3>>2]|0; - $108 = $107 & 1; - $109 = ($108|0)!=(0); - if ($109) { - HEAP32[$ptfFlags>>2] = 13; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0); + $19 = HEAP8[$1>>0]|0; + $20 = $19&255; + if ($18) { + $21 = $20 ^ -1; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 18|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24&65535; + $26 = $25 & $21; + $27 = $26&65535; + HEAP16[$23>>1] = $27; + STACKTOP = sp;return; } else { - HEAP32[$ptfFlags>>2] = 10; + $28 = HEAP32[$0>>2]|0; + $29 = ((($28)) + 18|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $32 = $31 | $20; + $33 = $32&65535; + HEAP16[$29>>1] = $33; + STACKTOP = sp;return; } - $110 = HEAP32[$pRoot>>2]|0; - $111 = HEAP32[$ptfFlags>>2]|0; - _zeroPage($110,$111); - $112 = HEAP32[$pRoot>>2]|0; - $113 = (($112) + 68|0); - $114 = HEAP32[$113>>2]|0; - _sqlite3PagerUnref($114); - $115 = HEAP32[$pgnoRoot>>2]|0; - $116 = HEAP32[$2>>2]|0; - HEAP32[$116>>2] = $115; - HEAP32[$0>>2] = 0; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); } -function _btreeCursor($p,$iTable,$wrFlag,$pKeyInfo,$pCur) { - $p = $p|0; - $iTable = $iTable|0; - $wrFlag = $wrFlag|0; - $pKeyInfo = $pKeyInfo|0; - $pCur = $pCur|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, label = 0, sp = 0; +function _unixGetTempname($nBuf,$zBuf) { + $nBuf = $nBuf|0; + $zBuf = $zBuf|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $vararg_buffer = 0, $zDir = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 16|0; $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $4 = sp + 8|0; - $5 = sp + 4|0; - $pBt = sp; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $iTable; - HEAP32[$3>>2] = $wrFlag; - HEAP32[$4>>2] = $pKeyInfo; - HEAP32[$5>>2] = $pCur; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 4|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pBt>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$pBt>>2]|0; - $12 = (($11) + 22|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & 1; - $16 = ($15|0)!=(0); - if ($16) { - HEAP32[$0>>2] = 8; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); - } + $2 = sp + 24|0; + $i = sp + 8|0; + $j = sp + 4|0; + $zDir = sp + 12|0; + HEAP32[$1>>2] = $nBuf; + HEAP32[$2>>2] = $zBuf; + $3 = (_unixTempFileDir()|0); + HEAP32[$zDir>>2] = $3; + $4 = HEAP32[$zDir>>2]|0; + $5 = ($4|0)==(0|0); + $$ = $5 ? 23024 : $3; + HEAP32[$zDir>>2] = $$; + $6 = HEAP32[$zDir>>2]|0; + $7 = (_strlen($6)|0); + $8 = (($7) + 7)|0; + $9 = (($8) + 18)|0; + $10 = HEAP32[$1>>2]|0; + $11 = ($9>>>0)>=($10>>>0); + if ($11) { + HEAP32[$0>>2] = 1; + $46 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($46|0); } - $17 = HEAP32[$3>>2]|0; - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$pBt>>2]|0; - _allocateTempSpace($19); - $20 = HEAP32[$pBt>>2]|0; - $21 = (($20) + 80|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0|0); - if ($23) { - HEAP32[$0>>2] = 7; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + while(1) { + $12 = HEAP32[$1>>2]|0; + $13 = (($12) - 18)|0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$zDir>>2]|0; + HEAP32[$vararg_buffer>>2] = $15; + (_sqlite3_snprintf($13,$14,36402,$vararg_buffer)|0); + $16 = HEAP32[$2>>2]|0; + $17 = (_strlen($16)|0); + HEAP32[$j>>2] = $17; + $18 = HEAP32[$j>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = (($19) + ($18)|0); + _sqlite3_randomness(15,$20); + HEAP32[$i>>2] = 0; + while(1) { + $21 = HEAP32[$i>>2]|0; + $22 = ($21>>>0)<(15); + $23 = HEAP32[$j>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = (($24) + ($23)|0); + if (!($22)) { + break; + } + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (($27>>>0) % 62)&-1; + $29 = (36413 + ($28)|0); + $30 = HEAP8[$29>>0]|0; + $31 = HEAP32[$j>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = (($32) + ($31)|0); + HEAP8[$33>>0] = $30; + $34 = HEAP32[$i>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$i>>2] = $35; + $36 = HEAP32[$j>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$j>>2] = $37; } - } - $24 = HEAP32[$2>>2]|0; - $25 = ($24|0)==(1); - if ($25) { - $26 = HEAP32[$pBt>>2]|0; - $27 = (_btreePagecount($26)|0); - $28 = ($27|0)==(0); - if ($28) { - HEAP32[$2>>2] = 0; + HEAP8[$25>>0] = 0; + $38 = HEAP32[$j>>2]|0; + $39 = (($38) + 1)|0; + $40 = HEAP32[$2>>2]|0; + $41 = (($40) + ($39)|0); + HEAP8[$41>>0] = 0; + $42 = HEAP32[(4232)>>2]|0; + $43 = HEAP32[$2>>2]|0; + $44 = (FUNCTION_TABLE_iii[$42 & 63]($43,0)|0); + $45 = ($44|0)==(0); + if (!($45)) { + break; } } - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$5>>2]|0; - $31 = (($30) + 60|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$5>>2]|0; - $33 = (($32) + 76|0); - HEAP16[$33>>1] = -1; - $34 = HEAP32[$4>>2]|0; - $35 = HEAP32[$5>>2]|0; - $36 = (($35) + 16|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$5>>2]|0; - HEAP32[$38>>2] = $37; - $39 = HEAP32[$pBt>>2]|0; - $40 = HEAP32[$5>>2]|0; - $41 = (($40) + 4|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$3>>2]|0; - $43 = $42&255; - $44 = HEAP32[$5>>2]|0; - $45 = (($44) + 72|0); - HEAP8[$45>>0] = $43; - $46 = HEAP32[$pBt>>2]|0; - $47 = (($46) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$5>>2]|0; - $50 = (($49) + 8|0); - HEAP32[$50>>2] = $48; - $51 = HEAP32[$5>>2]|0; - $52 = (($51) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - $55 = HEAP32[$5>>2]|0; - $56 = HEAP32[$5>>2]|0; - $57 = (($56) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + 12|0); - HEAP32[$59>>2] = $55; - } - $60 = HEAP32[$5>>2]|0; - $61 = HEAP32[$pBt>>2]|0; - $62 = (($61) + 8|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$5>>2]|0; - $64 = (($63) + 73|0); - HEAP8[$64>>0] = 0; HEAP32[$0>>2] = 0; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $46 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($46|0); } -function _allocateTempSpace($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _fileHasMoved($pFile) { + $pFile = $pFile|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $buf = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pBt; + STACKTOP = STACKTOP + 80|0; + $0 = sp + 76|0; + $buf = sp; + HEAP32[$0>>2] = $pFile; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 80|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); - if ($4) { - STACKTOP = sp;return; + if (!($4)) { + $20 = 0; + $19 = $20&1; + STACKTOP = sp;return ($19|0); } - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3PageMalloc($7)|0); - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 80|0); - HEAP32[$10>>2] = $8; - $11 = HEAP32[$0>>2]|0; - $12 = (($11) + 80|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; + $5 = HEAP32[(4256)>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 32|0); + $8 = HEAP32[$7>>2]|0; + $9 = (FUNCTION_TABLE_iii[$5 & 63]($8,$buf)|0); + $10 = ($9|0)!=(0); + if ($10) { + $20 = 1; + $19 = $20&1; + STACKTOP = sp;return ($19|0); } - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 80|0); + $11 = ((($buf)) + 72|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; - ;HEAP8[$17+0>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0;HEAP8[$17+5>>0]=0|0;HEAP8[$17+6>>0]=0|0;HEAP8[$17+7>>0]=0|0; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 80|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 4|0); - HEAP32[$19>>2] = $21; - STACKTOP = sp;return; -} -function _sqlite3BtreeCursorSize() { - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = sp;return 200; -} -function _sqlite3BtreeCursorZero($p) { - $p = $p|0; - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - dest=$1+0|0; stop=dest+76|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; + $18 = ($12|0)!=($17|0); + $20 = $18; + $19 = $20&1; + STACKTOP = sp;return ($19|0); } -function _sqlite3PagerOpenSavepoint($pPager,$nSavepoint) { - $pPager = $pPager|0; - $nSavepoint = $nSavepoint|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $ii = 0, $nCurrent = 0, $rc = 0, label = 0, sp = 0; +function _unixTempFileDir() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $i = 0, $zDir = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $rc = sp + 12|0; - $nCurrent = sp + 8|0; - $ii = sp + 4|0; - $aNew = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $nSavepoint; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 96|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$nCurrent>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$nCurrent>>2]|0; - $8 = ($6|0)>($7|0); - L1: do { - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 6|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 92|0); + STACKTOP = STACKTOP + 96|0; + $i = sp + 80|0; + $buf = sp + 4|0; + $zDir = sp; + HEAP32[$zDir>>2] = 0; + $0 = HEAP32[360>>2]|0; + HEAP32[4504>>2] = $0; + $1 = HEAP32[(4508)>>2]|0; + $2 = ($1|0)!=(0|0); + if (!($2)) { + $3 = (_getenv((36476|0))|0); + HEAP32[(4508)>>2] = $3; + } + $4 = HEAP32[(4512)>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $6 = (_getenv((36490|0))|0); + HEAP32[(4512)>>2] = $6; + } + HEAP32[$i>>2] = 0; + while(1) { + $7 = HEAP32[$i>>2]|0; + $8 = ($7>>>0)<(7); + if (!($8)) { + label = 12; + break; + } + $9 = HEAP32[$zDir>>2]|0; + $10 = ($9|0)==(0|0); + if (!($10)) { + $11 = HEAP32[(4256)>>2]|0; + $12 = HEAP32[$zDir>>2]|0; + $13 = (FUNCTION_TABLE_iii[$11 & 63]($12,$buf)|0); + $14 = ($13|0)!=(0); + if (!($14)) { + $15 = ((($buf)) + 12|0); $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ($17*48)|0; - $19 = (_sqlite3Realloc($16,$18,0)|0); - HEAP32[$aNew>>2] = $19; - $20 = HEAP32[$aNew>>2]|0; - $21 = ($20|0)!=(0|0); - if (!($21)) { - HEAP32[$0>>2] = 7; - $124 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($124|0); - } - $22 = HEAP32[$nCurrent>>2]|0; - $23 = HEAP32[$aNew>>2]|0; - $24 = (($23) + (($22*48)|0)|0); - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$nCurrent>>2]|0; - $27 = (($25) - ($26))|0; - $28 = ($27*48)|0; - _memset(($24|0),0,($28|0))|0; - $29 = HEAP32[$aNew>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = (($30) + 92|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$nCurrent>>2]|0; - HEAP32[$ii>>2] = $32; - while(1) { - $33 = HEAP32[$ii>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ($33|0)<($34|0); - if (!($35)) { - break L1; - } - $36 = HEAP32[$1>>2]|0; - $37 = (($36) + 24|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$ii>>2]|0; - $40 = HEAP32[$aNew>>2]|0; - $41 = (($40) + (($39*48)|0)|0); - $42 = (($41) + 20|0); - HEAP32[$42>>2] = $38; - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 64|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)!=(0|0); - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 72|0); - $50 = $49; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)>(0); - $57 = ($52>>>0)>(0); - $58 = ($55|0)==(0); - $59 = $58 & $57; - $60 = $56 | $59; - if ($60) { - $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 72|0); - $63 = $62; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = (($63) + 4)|0; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$ii>>2]|0; - $70 = HEAP32[$aNew>>2]|0; - $71 = (($70) + (($69*48)|0)|0); - $72 = $71; - $73 = $72; - HEAP32[$73>>2] = $65; - $74 = (($72) + 4)|0; - $75 = $74; - HEAP32[$75>>2] = $68; - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $76 = HEAP32[$1>>2]|0; - $77 = (($76) + 148|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP32[$ii>>2]|0; - $80 = HEAP32[$aNew>>2]|0; - $81 = (($80) + (($79*48)|0)|0); - $82 = $81; - $83 = $82; - HEAP32[$83>>2] = $78; - $84 = (($82) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = 0; - } - $86 = HEAP32[$1>>2]|0; - $87 = (($86) + 52|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$ii>>2]|0; - $90 = HEAP32[$aNew>>2]|0; - $91 = (($90) + (($89*48)|0)|0); - $92 = (($91) + 24|0); - HEAP32[$92>>2] = $88; - $93 = HEAP32[$1>>2]|0; - $94 = (($93) + 24|0); - $95 = HEAP32[$94>>2]|0; - $96 = (_sqlite3BitvecCreate($95)|0); - $97 = HEAP32[$ii>>2]|0; - $98 = HEAP32[$aNew>>2]|0; - $99 = (($98) + (($97*48)|0)|0); - $100 = (($99) + 16|0); - HEAP32[$100>>2] = $96; - $101 = HEAP32[$ii>>2]|0; - $102 = HEAP32[$aNew>>2]|0; - $103 = (($102) + (($101*48)|0)|0); - $104 = (($103) + 16|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105|0)!=(0|0); - if (!($106)) { + $17 = $16 & 61440; + $18 = ($17|0)==(16384); + if ($18) { + $19 = HEAP32[(4232)>>2]|0; + $20 = HEAP32[$zDir>>2]|0; + $21 = (FUNCTION_TABLE_iii[$19 & 63]($20,7)|0); + $22 = ($21|0)!=(0); + if (!($22)) { + label = 12; break; } - $107 = HEAP32[$1>>2]|0; - $108 = (_pagerUseWal($107)|0); - $109 = ($108|0)!=(0); - if ($109) { - $110 = HEAP32[$1>>2]|0; - $111 = (($110) + 208|0); - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$ii>>2]|0; - $114 = HEAP32[$aNew>>2]|0; - $115 = (($114) + (($113*48)|0)|0); - $116 = (($115) + 28|0); - _sqlite3WalSavepoint($112,$116); - } - $117 = HEAP32[$ii>>2]|0; - $118 = (($117) + 1)|0; - $119 = HEAP32[$1>>2]|0; - $120 = (($119) + 96|0); - HEAP32[$120>>2] = $118; - $121 = HEAP32[$ii>>2]|0; - $122 = (($121) + 1)|0; - HEAP32[$ii>>2] = $122; } - HEAP32[$0>>2] = 7; - $124 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($124|0); } } - } while(0); - $123 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $123; - $124 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($124|0); + $23 = HEAP32[$i>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$i>>2] = $24; + $25 = (4504 + ($23<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$zDir>>2] = $26; + } + if ((label|0) == 12) { + $27 = HEAP32[$zDir>>2]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; } -function _sqlite3WalSavepoint($pWal,$aWalData) { - $pWal = $pWal|0; - $aWalData = $aWalData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _robust_ftruncate($h,$0,$1) { + $h = $h|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pWal; - HEAP32[$1>>2] = $aWalData; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 52|0); - $4 = (($3) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - HEAP32[$6>>2] = $5; - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 52|0); - $9 = (($8) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 4|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 52|0); - $15 = (($14) + 24|0); - $16 = (($15) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 8|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 104|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 12|0); - HEAP32[$24>>2] = $22; - STACKTOP = sp;return; + $2 = sp + 12|0; + $3 = sp; + $rc = sp + 8|0; + HEAP32[$2>>2] = $h; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + while(1) { + $8 = HEAP32[(4280)>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = $3; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (FUNCTION_TABLE_iii[$8 & 63]($9,$12)|0); + HEAP32[$rc>>2] = $16; + $17 = HEAP32[$rc>>2]|0; + $18 = ($17|0)<(0); + if (!($18)) { + label = 4; + break; + } + $19 = (___errno_location()|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(4); + if (!($21)) { + label = 4; + break; + } + } + if ((label|0) == 4) { + $22 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($22|0); + } + return (0)|0; } -function _newDatabase($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $9 = 0, $data = 0, $pP1 = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _seekAndWrite($id,$0,$1,$pBuf,$cnt) { + $id = $id|0; + $0 = $0|0; + $1 = $1|0; + $pBuf = $pBuf|0; + $cnt = $cnt|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pP1 = sp + 8|0; - $data = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pBt; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4>>>0)>(0); - if ($5) { - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 12|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pP1>>2] = $8; - $9 = HEAP32[$pP1>>2]|0; - $10 = (($9) + 56|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$data>>2] = $11; - $12 = HEAP32[$pP1>>2]|0; - $13 = (($12) + 68|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3PagerWrite($14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $18; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); - } else { - $19 = HEAP32[$data>>2]|0; - dest=$19+0|0; src=34408+0|0; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 32|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 >>> 8; - $24 = $23 & 255; - $25 = $24&255; - $26 = HEAP32[$data>>2]|0; - $27 = (($26) + 16|0); - HEAP8[$27>>0] = $25; - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 32|0); + $2 = sp + 16|0; + $3 = sp; + $4 = sp + 12|0; + $5 = sp + 8|0; + HEAP32[$2>>2] = $id; + $6 = $3; + $7 = $6; + HEAP32[$7>>2] = $0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = $1; + HEAP32[$4>>2] = $pBuf; + HEAP32[$5>>2] = $cnt; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = $3; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$4>>2]|0; + $20 = HEAP32[$5>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = ((($21)) + 20|0); + $23 = (_seekAndWriteFd($12,$15,$18,$19,$20,$22)|0); + STACKTOP = sp;return ($23|0); +} +function _seekAndWriteFd($fd,$0,$1,$pBuf,$nBuf,$piErrno) { + $fd = $fd|0; + $0 = $0|0; + $1 = $1|0; + $pBuf = $pBuf|0; + $nBuf = $nBuf|0; + $piErrno = $piErrno|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $iSeek = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $2 = sp + 32|0; + $3 = sp + 20|0; + $4 = sp; + $5 = sp + 28|0; + $6 = sp + 36|0; + $7 = sp + 16|0; + $rc = sp + 24|0; + $iSeek = sp + 8|0; + HEAP32[$3>>2] = $fd; + $8 = $4; + $9 = $8; + HEAP32[$9>>2] = $0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = $1; + HEAP32[$5>>2] = $pBuf; + HEAP32[$6>>2] = $nBuf; + HEAP32[$7>>2] = $piErrno; + HEAP32[$rc>>2] = 0; + $12 = HEAP32[$6>>2]|0; + $13 = $12 & 131071; + HEAP32[$6>>2] = $13; + while(1) { + $14 = HEAP32[$3>>2]|0; + $15 = $4; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (_lseek($14,$17,0)|0); + $22 = ($21|0)<(0); + $23 = $22 << 31 >> 31; + $24 = $iSeek; + $25 = $24; + HEAP32[$25>>2] = $21; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = $iSeek; + $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = $30 >>> 16; - $32 = $31 & 255; - $33 = $32&255; - $34 = HEAP32[$data>>2]|0; - $35 = (($34) + 17|0); - HEAP8[$35>>0] = $33; - $36 = HEAP32[$data>>2]|0; - $37 = (($36) + 18|0); - HEAP8[$37>>0] = 1; - $38 = HEAP32[$data>>2]|0; - $39 = (($38) + 19|0); - HEAP8[$39>>0] = 1; - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 32|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = (($43) + 36|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($42) - ($45))|0; - $47 = $46&255; - $48 = HEAP32[$data>>2]|0; - $49 = (($48) + 20|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[$data>>2]|0; - $51 = (($50) + 21|0); - HEAP8[$51>>0] = 64; - $52 = HEAP32[$data>>2]|0; - $53 = (($52) + 22|0); - HEAP8[$53>>0] = 32; - $54 = HEAP32[$data>>2]|0; - $55 = (($54) + 23|0); - HEAP8[$55>>0] = 32; - $56 = HEAP32[$data>>2]|0; - $57 = (($56) + 24|0); - dest=$57+0|0; stop=dest+76|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $58 = HEAP32[$pP1>>2]|0; - _zeroPage($58,13); - $59 = HEAP32[$1>>2]|0; - $60 = (($59) + 22|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 | 2; - $64 = $63&65535; - HEAP16[$60>>1] = $64; - $65 = HEAP32[$data>>2]|0; - $66 = (($65) + 52|0); - $67 = HEAP32[$1>>2]|0; - $68 = (($67) + 17|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - _sqlite3Put4byte($66,$70); - $71 = HEAP32[$data>>2]|0; - $72 = (($71) + 64|0); - $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 18|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - _sqlite3Put4byte($72,$76); - $77 = HEAP32[$1>>2]|0; - $78 = (($77) + 44|0); - HEAP32[$78>>2] = 1; - $79 = HEAP32[$data>>2]|0; - $80 = (($79) + 31|0); - HEAP8[$80>>0] = 1; - HEAP32[$0>>2] = 0; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + $31 = (($28) + 4)|0; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = $4; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = ($30|0)!=($36|0); + $41 = ($33|0)!=($39|0); + $42 = $40 | $41; + if ($42) { + break; + } + $58 = HEAP32[(4340)>>2]|0; + $59 = HEAP32[$3>>2]|0; + $60 = HEAP32[$5>>2]|0; + $61 = HEAP32[$6>>2]|0; + $62 = (FUNCTION_TABLE_iiii[$58 & 31]($59,$60,$61)|0); + HEAP32[$rc>>2] = $62; + $63 = HEAP32[$rc>>2]|0; + $64 = ($63|0)<(0); + if (!($64)) { + label = 10; + break; + } + $65 = (___errno_location()|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(4); + if (!($67)) { + label = 10; + break; + } + } + if ((label|0) == 10) { + $68 = HEAP32[$rc>>2]|0; + $69 = ($68|0)<(0); + $70 = HEAP32[$7>>2]|0; + $71 = ($70|0)!=(0|0); + $or$cond = $69 & $71; + if ($or$cond) { + $72 = (___errno_location()|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$7>>2]|0; + HEAP32[$74>>2] = $73; + } + $75 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $75; + $76 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($76|0); + } + $43 = HEAP32[$7>>2]|0; + $44 = ($43|0)!=(0|0); + if ($44) { + $45 = $iSeek; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = ($47|0)==(-1); + $52 = ($50|0)==(-1); + $53 = $51 & $52; + if ($53) { + $54 = (___errno_location()|0); + $55 = HEAP32[$54>>2]|0; + $57 = $55; + } else { + $57 = 0; + } + $56 = HEAP32[$7>>2]|0; + HEAP32[$56>>2] = $57; + } + HEAP32[$2>>2] = -1; + $76 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($76|0); +} +function _sqliteErrorFromPosixError($posixError,$sqliteIOErr) { + $posixError = $posixError|0; + $sqliteIOErr = $sqliteIOErr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $posixError; + HEAP32[$2>>2] = $sqliteIOErr; + $3 = HEAP32[$1>>2]|0; + switch ($3|0) { + case 37: case 4: case 16: case 110: case 11: { + HEAP32[$0>>2] = 5; + break; + } + case 13: { + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(3850); + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(2058); + $or$cond = $5 | $7; + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)==(2314); + $or$cond3 = $or$cond | $9; + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)==(3594); + $or$cond5 = $or$cond3 | $11; + if ($or$cond5) { + HEAP32[$0>>2] = 5; + } else { + label = 5; + } + break; + } + case 1: { + label = 5; + break; + } + default: { + $12 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $12; + } + } + if ((label|0) == 5) { + HEAP32[$0>>2] = 3; } - return 0|0; + $13 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($13|0); } -function _putVarint64($p,$0,$1) { - $p = $p|0; +function _full_fsync($fd,$fullSync,$dataOnly) { + $fd = $fd|0; + $fullSync = $fullSync|0; + $dataOnly = $dataOnly|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $fd; + HEAP32[$1>>2] = $fullSync; + HEAP32[$2>>2] = $dataOnly; + $3 = HEAP32[$0>>2]|0; + $4 = (_fsync($3)|0); + HEAP32[$rc>>2] = $4; + $5 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _seekAndRead($id,$0,$1,$pBuf,$cnt) { + $id = $id|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $buf = 0; - var $i = 0, $j = 0, $n = 0, label = 0, sp = 0; + $pBuf = $pBuf|0; + $cnt = $cnt|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $got = 0, $newOffset = 0, $prior = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $2 = sp + 24|0; + $2 = sp + 32|0; $3 = sp + 20|0; $4 = sp; - $i = sp + 16|0; - $j = sp + 12|0; - $n = sp + 8|0; - $buf = sp + 28|0; - HEAP32[$3>>2] = $p; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; + $5 = sp + 28|0; + $6 = sp + 36|0; + $got = sp + 16|0; + $prior = sp + 24|0; + $newOffset = sp + 8|0; + HEAP32[$3>>2] = $id; + $7 = $4; $8 = $7; - HEAP32[$8>>2] = $1; - $9 = $4; + HEAP32[$8>>2] = $0; + $9 = (($7) + 4)|0; $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = $14 & -16777216; - $16 = (0)!=(0); - $17 = ($15|0)!=(0); - $18 = $16 | $17; - if ($18) { - $19 = $4; + HEAP32[$10>>2] = $1; + HEAP32[$5>>2] = $pBuf; + HEAP32[$6>>2] = $cnt; + HEAP32[$prior>>2] = 0; + $11 = HEAP32[$6>>2]|0; + $12 = $11 & 131071; + HEAP32[$6>>2] = $12; + while(1) { + $13 = HEAP32[$3>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = $4; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; $20 = $19; $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = $21&255; - $26 = HEAP32[$3>>2]|0; - $27 = (($26) + 8|0); - HEAP8[$27>>0] = $25; - $28 = $4; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (($28) + 4)|0; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (_bitshift64Lshr(($30|0),($33|0),8)|0); - $35 = tempRet0; - $36 = $4; - $37 = $36; - HEAP32[$37>>2] = $34; - $38 = (($36) + 4)|0; + $22 = (_lseek($15,$18,0)|0); + $23 = ($22|0)<(0); + $24 = $23 << 31 >> 31; + $25 = $newOffset; + $26 = $25; + HEAP32[$26>>2] = $22; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $24; + $29 = $newOffset; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $4; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; $39 = $38; - HEAP32[$39>>2] = $35; - HEAP32[$i>>2] = 7; - while(1) { - $40 = HEAP32[$i>>2]|0; - $41 = ($40|0)>=(0); - if (!($41)) { + $40 = HEAP32[$39>>2]|0; + $41 = ($31|0)!=($37|0); + $42 = ($34|0)!=($40|0); + $43 = $41 | $42; + if ($43) { + label = 3; + break; + } + $59 = HEAP32[(4304)>>2]|0; + $60 = HEAP32[$3>>2]|0; + $61 = ((($60)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$5>>2]|0; + $64 = HEAP32[$6>>2]|0; + $65 = (FUNCTION_TABLE_iiii[$59 & 31]($62,$63,$64)|0); + HEAP32[$got>>2] = $65; + $66 = HEAP32[$got>>2]|0; + $67 = HEAP32[$6>>2]|0; + $68 = ($66|0)==($67|0); + if ($68) { + break; + } + $69 = HEAP32[$got>>2]|0; + $70 = ($69|0)<(0); + if ($70) { + $71 = (___errno_location()|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)==(4); + if (!($73)) { + label = 11; break; } - $42 = $4; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = $44 & 127; - $49 = $48 | 128; - $50 = $49&255; - $51 = HEAP32[$i>>2]|0; - $52 = HEAP32[$3>>2]|0; - $53 = (($52) + ($51)|0); - HEAP8[$53>>0] = $50; - $54 = $4; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (_bitshift64Lshr(($56|0),($59|0),7)|0); - $61 = tempRet0; - $62 = $4; - $63 = $62; - HEAP32[$63>>2] = $60; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - $66 = HEAP32[$i>>2]|0; - $67 = (($66) + -1)|0; - HEAP32[$i>>2] = $67; + HEAP32[$got>>2] = 1; + } else { + $78 = HEAP32[$got>>2]|0; + $79 = ($78|0)>(0); + if ($79) { + $80 = HEAP32[$got>>2]|0; + $81 = HEAP32[$6>>2]|0; + $82 = (($81) - ($80))|0; + HEAP32[$6>>2] = $82; + $83 = HEAP32[$got>>2]|0; + $84 = ($83|0)<(0); + $85 = $84 << 31 >> 31; + $86 = $4; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (_i64Add(($88|0),($91|0),($83|0),($85|0))|0); + $93 = tempRet0; + $94 = $4; + $95 = $94; + HEAP32[$95>>2] = $92; + $96 = (($94) + 4)|0; + $97 = $96; + HEAP32[$97>>2] = $93; + $98 = HEAP32[$got>>2]|0; + $99 = HEAP32[$prior>>2]|0; + $100 = (($99) + ($98))|0; + HEAP32[$prior>>2] = $100; + $101 = HEAP32[$got>>2]|0; + $102 = HEAP32[$5>>2]|0; + $103 = (($102) + ($101)|0); + HEAP32[$5>>2] = $103; + } } - HEAP32[$2>>2] = 9; - $120 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($120|0); - } - HEAP32[$n>>2] = 0; - while(1) { - $68 = $4; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = $70 & 127; - $75 = $74 | 128; - $76 = $75&255; - $77 = HEAP32[$n>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$n>>2] = $78; - $79 = (($buf) + ($77)|0); - HEAP8[$79>>0] = $76; - $80 = $4; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($80) + 4)|0; - $84 = $83; - $85 = HEAP32[$84>>2]|0; - $86 = (_bitshift64Lshr(($82|0),($85|0),7)|0); - $87 = tempRet0; - $88 = $4; - $89 = $88; - HEAP32[$89>>2] = $86; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - $92 = $4; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = ($94|0)!=(0); - $99 = ($97|0)!=(0); - $100 = $98 | $99; - if (!($100)) { + $104 = HEAP32[$got>>2]|0; + $105 = ($104|0)>(0); + if (!($105)) { break; } } - $101 = HEAP8[$buf>>0]|0; - $102 = $101&255; - $103 = $102 & 127; - $104 = $103&255; - HEAP8[$buf>>0] = $104; - HEAP32[$i>>2] = 0; - $105 = HEAP32[$n>>2]|0; - $106 = (($105) - 1)|0; - HEAP32[$j>>2] = $106; - while(1) { - $107 = HEAP32[$j>>2]|0; - $108 = ($107|0)>=(0); - if (!($108)) { - break; + if ((label|0) == 3) { + $44 = $newOffset; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = ($46|0)==(-1); + $51 = ($49|0)==(-1); + $52 = $50 & $51; + if ($52) { + $53 = (___errno_location()|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = ((($55)) + 20|0); + HEAP32[$56>>2] = $54; + } else { + $57 = HEAP32[$3>>2]|0; + $58 = ((($57)) + 20|0); + HEAP32[$58>>2] = 0; } - $109 = HEAP32[$j>>2]|0; - $110 = (($buf) + ($109)|0); - $111 = HEAP8[$110>>0]|0; - $112 = HEAP32[$i>>2]|0; - $113 = HEAP32[$3>>2]|0; - $114 = (($113) + ($112)|0); - HEAP8[$114>>0] = $111; - $115 = HEAP32[$j>>2]|0; - $116 = (($115) + -1)|0; - HEAP32[$j>>2] = $116; - $117 = HEAP32[$i>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$i>>2] = $118; + HEAP32[$2>>2] = -1; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); } - $119 = HEAP32[$n>>2]|0; - HEAP32[$2>>2] = $119; - $120 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($120|0); + else if ((label|0) == 11) { + HEAP32[$prior>>2] = 0; + $74 = (___errno_location()|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$3>>2]|0; + $77 = ((($76)) + 20|0); + HEAP32[$77>>2] = $75; + } + $106 = HEAP32[$got>>2]|0; + $107 = HEAP32[$prior>>2]|0; + $108 = (($106) + ($107))|0; + HEAP32[$2>>2] = $108; + $109 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($109|0); } -function _fetchPayload($pCur,$pAmt) { - $pCur = $pCur|0; - $pAmt = $pAmt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _closeUnixFile($id) { + $id = $id|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, dest = 0, label = 0, sp = 0; + var stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $pAmt; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 24|0); - $4 = (($3) + 16|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = HEAP32[$1>>2]|0; - HEAP32[$7>>2] = $6; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 24|0); - $10 = (($9) + 8|0); - $11 = HEAP32[$10>>2]|0; - STACKTOP = sp;return ($11|0); + $pFile = sp; + HEAP32[$0>>2] = $id; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pFile>>2] = $1; + $2 = HEAP32[$pFile>>2]|0; + $3 = ((($2)) + 12|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>=(0); + if ($5) { + $6 = HEAP32[$pFile>>2]|0; + $7 = HEAP32[$pFile>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + _robust_close($6,$9,26735); + $10 = HEAP32[$pFile>>2]|0; + $11 = ((($10)) + 12|0); + HEAP32[$11>>2] = -1; + } + $12 = HEAP32[$pFile>>2]|0; + $13 = ((($12)) + 28|0); + $14 = HEAP32[$13>>2]|0; + _sqlite3_free($14); + $15 = HEAP32[$pFile>>2]|0; + dest=$15; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return 0; } -function _handleDeferredMoveto($p) { +function _nolockIoFinderImpl($z,$p) { + $z = $z|0; $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $res = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $res = sp + 4|0; - $rc = sp; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $z; HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 48|0); - $6 = $5; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3BtreeMovetoUnpacked($3,0,$8,$11,0,$res)|0); - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $15; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } - $16 = HEAP32[$res>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = (_sqlite3CorruptError(65954)|0); - HEAP32[$0>>2] = $18; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } else { - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 26|0); - HEAP8[$20>>0] = 0; - $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 60|0); - HEAP32[$22>>2] = 0; - HEAP32[$0>>2] = 0; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } - return 0|0; + STACKTOP = sp;return (4532|0); } -function _computeNumericType($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _nolockClose($id) { + $id = $id|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $id; + $1 = HEAP32[$0>>2]|0; + $2 = (_closeUnixFile($1)|0); + STACKTOP = sp;return ($2|0); +} +function _nolockLock($NotUsed,$NotUsed2) { + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$1>>2] = $pMem; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 10|0); - $11 = HEAP8[$10>>0]|0; - $12 = (_sqlite3AtoF($4,$5,$8,$11)|0); - $13 = ($12|0)==(0); - if ($13) { - HEAP16[$0>>1] = 0; - $26 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($26|0); - } - $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = (($21) + 10|0); - $23 = HEAP8[$22>>0]|0; - $24 = (_sqlite3Atoi64($16,$17,$20,$23)|0); - $25 = ($24|0)==(0); - if ($25) { - HEAP16[$0>>1] = 4; - $26 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($26|0); - } else { - HEAP16[$0>>1] = 8; - $26 = HEAP16[$0>>1]|0; - STACKTOP = sp;return ($26|0); - } - return 0|0; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $NotUsed2; + STACKTOP = sp;return 0; } -function _vdbeMemAddTerminator($pMem) { - $pMem = $pMem|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _nolockUnlock($NotUsed,$NotUsed2) { + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$1>>2] = $pMem; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $NotUsed2; + STACKTOP = sp;return 0; +} +function _nolockCheckReservedLock($NotUsed,$pResOut) { + $NotUsed = $NotUsed|0; + $pResOut = $pResOut|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $NotUsed; + HEAP32[$1>>2] = $pResOut; $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 2)|0; - $7 = (_sqlite3VdbeMemGrow($2,$6,1)|0); - $8 = ($7|0)!=(0); - if ($8) { - HEAP32[$0>>2] = 7; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } else { - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - HEAP8[$15>>0] = 0; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 1)|0; - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19)|0); - HEAP8[$23>>0] = 0; - $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 8|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = $27 | 512; - $29 = $28&65535; - HEAP16[$25>>1] = $29; - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - return 0|0; + HEAP32[$2>>2] = 0; + STACKTOP = sp;return 0; } -function _closeAllCursors($p) { - $p = $p|0; +function _findReusableFd($zPath,$flags) { + $zPath = $zPath|0; + $flags = $flags|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i = 0, $pC = 0, $pDel = 0, $pFrame = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pInode = 0, $pUnused = 0, $pp = 0, $sStat = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $pFrame = sp + 12|0; - $i = sp + 8|0; - $pC = sp + 4|0; - $pDel = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 176|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 176|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$pFrame>>2] = $7; - while(1) { - $8 = HEAP32[$pFrame>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)!=(0|0); - $12 = HEAP32[$pFrame>>2]|0; - if (!($11)) { - break; - } - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pFrame>>2] = $14; - } - (_sqlite3VdbeFrameRestore($12)|0); - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 176|0); - HEAP32[$16>>2] = 0; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 184|0); - HEAP32[$18>>2] = 0; - } - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 56|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0|0); - L8: do { - if ($22) { - HEAP32[$i>>2] = 0; - while(1) { - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 36|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($23|0)<($26|0); - if (!($27)) { - break L8; - } - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 56|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($31) + ($28<<2)|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$pC>>2] = $33; - $34 = HEAP32[$pC>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$pC>>2]|0; - _sqlite3VdbeFreeCursor($36,$37); - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 56|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + ($38<<2)|0); - HEAP32[$42>>2] = 0; - } - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; - } - } - } while(0); - $45 = HEAP32[$0>>2]|0; - $46 = (($45) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)!=(0|0); - if ($48) { - $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 40|0); - $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 28|0); - $55 = HEAP32[$54>>2]|0; - _releaseMemArray($52,$55); - } - while(1) { - $56 = HEAP32[$0>>2]|0; - $57 = (($56) + 180|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)!=(0|0); - $60 = HEAP32[$0>>2]|0; - if (!($59)) { - break; - } - $61 = (($60) + 180|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$pDel>>2] = $62; - $63 = HEAP32[$pDel>>2]|0; - $64 = (($63) + 4|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$0>>2]|0; - $67 = (($66) + 180|0); - HEAP32[$67>>2] = $65; - $68 = HEAP32[$pDel>>2]|0; - _sqlite3VdbeFrameDelete($68); - } - $69 = (($60) + 204|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)!=(0|0); - if (!($71)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 92|0; + $1 = sp + 88|0; + $pUnused = sp + 84|0; + $sStat = sp + 8|0; + $pInode = sp + 4|0; + $pp = sp; + HEAP32[$0>>2] = $zPath; + HEAP32[$1>>2] = $flags; + HEAP32[$pUnused>>2] = 0; + $2 = HEAP32[(4256)>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = (FUNCTION_TABLE_iii[$2 & 63]($3,$sStat)|0); + $5 = (0)==($4|0); + if (!($5)) { + $45 = HEAP32[$pUnused>>2]|0; + STACKTOP = sp;return ($45|0); } - $72 = HEAP32[$0>>2]|0; - _sqlite3VdbeDeleteAuxData($72,-1,0); - STACKTOP = sp;return; -} -function _vdbeCommit($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iRandom = 0, $nMainFile = 0, $nTrans = 0, $needSync = 0, $needXcommit = 0, $offset = 0; - var $or$cond = 0, $or$cond3 = 0, $pBt = 0, $pBt1 = 0, $pBt2 = 0, $pBt3 = 0, $pBt4 = 0, $pBt5 = 0, $pMaster = 0, $pVfs = 0, $rc = 0, $res = 0, $retryCount = 0, $vararg_buffer10 = 0, $vararg_ptr13 = 0, $zFile = 0, $zMainFile = 0, $zMaster = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer10 = sp + 8|0; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $i = sp + 92|0; - $nTrans = sp + 88|0; - $rc = sp + 84|0; - $needXcommit = sp + 80|0; - $pBt = sp + 76|0; - $pBt1 = sp + 72|0; - $pBt2 = sp + 68|0; - $pVfs = sp + 64|0; - $needSync = sp + 60|0; - $zMaster = sp + 56|0; - $zMainFile = sp + 52|0; - $pMaster = sp + 48|0; - $offset = sp; - $res = sp + 44|0; - $retryCount = sp + 40|0; - $nMainFile = sp + 36|0; - $iRandom = sp + 32|0; - $pBt3 = sp + 28|0; - $zFile = sp + 24|0; - $pBt4 = sp + 20|0; - $pBt5 = sp + 16|0; - HEAP32[$1>>2] = $db; - HEAP32[$2>>2] = $p; - HEAP32[$nTrans>>2] = 0; - HEAP32[$rc>>2] = 0; - HEAP32[$needXcommit>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = (_sqlite3VtabSync($3,$4)|0); - HEAP32[$rc>>2] = $5; - HEAP32[$i>>2] = 0; + _unixEnterMutex(); + $6 = HEAP32[4688>>2]|0; + HEAP32[$pInode>>2] = $6; while(1) { - $6 = HEAP32[$rc>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - break; - } - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { - break; - } - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = (($14) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($13<<4)|0); - $18 = (($17) + 4|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pBt>>2] = $19; - $20 = HEAP32[$pBt>>2]|0; - $21 = (_sqlite3BtreeIsInTrans($20)|0); - $22 = ($21|0)!=(0); - if ($22) { - HEAP32[$needXcommit>>2] = 1; - $23 = HEAP32[$i>>2]|0; - $24 = ($23|0)!=(1); - if ($24) { - $25 = HEAP32[$nTrans>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$nTrans>>2] = $26; + $7 = HEAP32[$pInode>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$pInode>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$sStat>>2]|0; + $12 = ($10|0)!=($11|0); + if ($12) { + $46 = 1; + } else { + $13 = HEAP32[$pInode>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($sStat)) + 72|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($15|0)!=($17|0); + $46 = $18; } - $27 = HEAP32[$pBt>>2]|0; - _sqlite3BtreeEnter($27); - $28 = HEAP32[$pBt>>2]|0; - $29 = (_sqlite3BtreePager($28)|0); - $30 = (_sqlite3PagerExclusiveLock($29)|0); - HEAP32[$rc>>2] = $30; + } else { + $46 = 0; } - $31 = HEAP32[$i>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$i>>2] = $32; - } - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $35; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); - } - $36 = HEAP32[$needXcommit>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 192|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)!=(0|0); - if ($41) { - $42 = HEAP32[$1>>2]|0; - $43 = (($42) + 192|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = (($45) + 188|0); - $47 = HEAP32[$46>>2]|0; - $48 = (FUNCTION_TABLE_ii[$44 & 31]($47)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)!=(0); - if ($50) { - HEAP32[$0>>2] = 531; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); - } + $19 = HEAP32[$pInode>>2]|0; + if (!($46)) { + break; } + $20 = ((($19)) + 32|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$pInode>>2] = $21; } - $51 = HEAP32[$1>>2]|0; - $52 = (($51) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($53) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_sqlite3BtreeGetFilename($55)|0); - $57 = (_sqlite3Strlen30($56)|0); - $58 = (0)==($57|0); - $59 = HEAP32[$nTrans>>2]|0; - $60 = ($59|0)<=(1); - $or$cond = $58 | $60; - if ($or$cond) { - HEAP32[$i>>2] = 0; - while(1) { - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)==(0); - if (!($62)) { - break; - } - $63 = HEAP32[$i>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($63|0)<($66|0); - if (!($67)) { - break; - } - $68 = HEAP32[$i>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 16|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + ($68<<4)|0); - $73 = (($72) + 4|0); - $74 = HEAP32[$73>>2]|0; - HEAP32[$pBt1>>2] = $74; - $75 = HEAP32[$pBt1>>2]|0; - $76 = ($75|0)!=(0|0); - if ($76) { - $77 = HEAP32[$pBt1>>2]|0; - $78 = (_sqlite3BtreeCommitPhaseOne($77,0)|0); - HEAP32[$rc>>2] = $78; - } - $79 = HEAP32[$i>>2]|0; - $80 = (($79) + 1)|0; - HEAP32[$i>>2] = $80; - } - HEAP32[$i>>2] = 0; - while(1) { - $81 = HEAP32[$rc>>2]|0; - $82 = ($81|0)==(0); - if (!($82)) { - break; - } - $83 = HEAP32[$i>>2]|0; - $84 = HEAP32[$1>>2]|0; - $85 = (($84) + 20|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($83|0)<($86|0); - if (!($87)) { - break; - } - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = (($89) + 16|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + ($88<<4)|0); - $93 = (($92) + 4|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$pBt2>>2] = $94; - $95 = HEAP32[$pBt2>>2]|0; - $96 = ($95|0)!=(0|0); - if ($96) { - $97 = HEAP32[$pBt2>>2]|0; - $98 = (_sqlite3BtreeCommitPhaseTwo($97,0)|0); - HEAP32[$rc>>2] = $98; - } - $99 = HEAP32[$i>>2]|0; - $100 = (($99) + 1)|0; - HEAP32[$i>>2] = $100; - } - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)==(0); - if ($102) { - $103 = HEAP32[$1>>2]|0; - (_sqlite3VtabCommit($103)|0); - } - } else { - $104 = HEAP32[$1>>2]|0; - $105 = HEAP32[$104>>2]|0; - HEAP32[$pVfs>>2] = $105; - HEAP32[$needSync>>2] = 0; - HEAP32[$zMaster>>2] = 0; - $106 = HEAP32[$1>>2]|0; - $107 = (($106) + 16|0); - $108 = HEAP32[$107>>2]|0; - $109 = (($108) + 4|0); - $110 = HEAP32[$109>>2]|0; - $111 = (_sqlite3BtreeGetFilename($110)|0); - HEAP32[$zMainFile>>2] = $111; - HEAP32[$pMaster>>2] = 0; - $112 = $offset; - $113 = $112; - HEAP32[$113>>2] = 0; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = 0; - HEAP32[$retryCount>>2] = 0; - $116 = HEAP32[$zMainFile>>2]|0; - $117 = (_sqlite3Strlen30($116)|0); - HEAP32[$nMainFile>>2] = $117; - $118 = HEAP32[$1>>2]|0; - $119 = HEAP32[$zMainFile>>2]|0; - HEAP32[$vararg_buffer10>>2] = $119; - $120 = (_sqlite3MPrintf($118,34424,$vararg_buffer10)|0); - HEAP32[$zMaster>>2] = $120; - $121 = HEAP32[$zMaster>>2]|0; - $122 = ($121|0)==(0|0); - if ($122) { - HEAP32[$0>>2] = 7; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); - } - while(1) { - $123 = HEAP32[$retryCount>>2]|0; - $124 = ($123|0)!=(0); - if ($124) { - $125 = HEAP32[$retryCount>>2]|0; - $126 = ($125|0)>(100); - if ($126) { - label = 34; - break; - } - $130 = HEAP32[$retryCount>>2]|0; - $131 = ($130|0)==(1); - if ($131) { - $132 = HEAP32[$zMaster>>2]|0; - HEAP32[$vararg_buffer10>>2] = $132; - _sqlite3_log(13,34456,$vararg_buffer10); - } - } - $133 = HEAP32[$retryCount>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[$retryCount>>2] = $134; - _sqlite3_randomness(4,$iRandom); - $135 = HEAP32[$nMainFile>>2]|0; - $136 = HEAP32[$zMaster>>2]|0; - $137 = (($136) + ($135)|0); - $138 = HEAP32[$iRandom>>2]|0; - $139 = $138 >>> 8; - $140 = $139 & 16777215; - $141 = HEAP32[$iRandom>>2]|0; - $142 = $141 & 255; - HEAP32[$vararg_buffer10>>2] = $140; - $vararg_ptr13 = (($vararg_buffer10) + 4|0); - HEAP32[$vararg_ptr13>>2] = $142; - (_sqlite3_snprintf(13,$137,34472,$vararg_buffer10)|0); - $143 = HEAP32[$pVfs>>2]|0; - $144 = HEAP32[$zMaster>>2]|0; - $145 = (_sqlite3OsAccess($143,$144,0,$res)|0); - HEAP32[$rc>>2] = $145; - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)==(0); - $148 = HEAP32[$res>>2]|0; - $149 = ($148|0)!=(0); - $or$cond3 = $147 & $149; - if (!($or$cond3)) { - break; - } - } - if ((label|0) == 34) { - $127 = HEAP32[$zMaster>>2]|0; - HEAP32[$vararg_buffer10>>2] = $127; - _sqlite3_log(13,34440,$vararg_buffer10); - $128 = HEAP32[$pVfs>>2]|0; - $129 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($128,$129,0)|0); - } - $150 = HEAP32[$rc>>2]|0; - $151 = ($150|0)==(0); - if ($151) { - $152 = HEAP32[$pVfs>>2]|0; - $153 = HEAP32[$zMaster>>2]|0; - $154 = (_sqlite3OsOpenMalloc($152,$153,$pMaster,16406,0)|0); - HEAP32[$rc>>2] = $154; - } - $155 = HEAP32[$rc>>2]|0; - $156 = ($155|0)!=(0); - if ($156) { - $157 = HEAP32[$1>>2]|0; - $158 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($157,$158); - $159 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $159; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); - } - HEAP32[$i>>2] = 0; - while(1) { - $160 = HEAP32[$i>>2]|0; - $161 = HEAP32[$1>>2]|0; - $162 = (($161) + 20|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($160|0)<($163|0); - if (!($164)) { - break; - } - $165 = HEAP32[$i>>2]|0; - $166 = HEAP32[$1>>2]|0; - $167 = (($166) + 16|0); - $168 = HEAP32[$167>>2]|0; - $169 = (($168) + ($165<<4)|0); - $170 = (($169) + 4|0); - $171 = HEAP32[$170>>2]|0; - HEAP32[$pBt3>>2] = $171; - $172 = HEAP32[$pBt3>>2]|0; - $173 = (_sqlite3BtreeIsInTrans($172)|0); - $174 = ($173|0)!=(0); - if ($174) { - $175 = HEAP32[$pBt3>>2]|0; - $176 = (_sqlite3BtreeGetJournalname($175)|0); - HEAP32[$zFile>>2] = $176; - $177 = HEAP32[$zFile>>2]|0; - $178 = ($177|0)==(0|0); - if (!($178)) { - $179 = HEAP32[$needSync>>2]|0; - $180 = ($179|0)!=(0); - if (!($180)) { - $181 = HEAP32[$pBt3>>2]|0; - $182 = (_sqlite3BtreeSyncDisabled($181)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$needSync>>2] = 1; - } - } - $184 = HEAP32[$pMaster>>2]|0; - $185 = HEAP32[$zFile>>2]|0; - $186 = HEAP32[$zFile>>2]|0; - $187 = (_sqlite3Strlen30($186)|0); - $188 = (($187) + 1)|0; - $189 = $offset; - $190 = $189; - $191 = HEAP32[$190>>2]|0; - $192 = (($189) + 4)|0; - $193 = $192; - $194 = HEAP32[$193>>2]|0; - $195 = (_sqlite3OsWrite($184,$185,$188,$191,$194)|0); - HEAP32[$rc>>2] = $195; - $196 = HEAP32[$zFile>>2]|0; - $197 = (_sqlite3Strlen30($196)|0); - $198 = (($197) + 1)|0; - $199 = ($198|0)<(0); - $200 = $199 << 31 >> 31; - $201 = $offset; - $202 = $201; - $203 = HEAP32[$202>>2]|0; - $204 = (($201) + 4)|0; - $205 = $204; - $206 = HEAP32[$205>>2]|0; - $207 = (_i64Add(($203|0),($206|0),($198|0),($200|0))|0); - $208 = tempRet0; - $209 = $offset; - $210 = $209; - HEAP32[$210>>2] = $207; - $211 = (($209) + 4)|0; - $212 = $211; - HEAP32[$212>>2] = $208; - $213 = HEAP32[$rc>>2]|0; - $214 = ($213|0)!=(0); - if ($214) { - label = 50; - break; - } - } - } - $221 = HEAP32[$i>>2]|0; - $222 = (($221) + 1)|0; - HEAP32[$i>>2] = $222; - } - if ((label|0) == 50) { - $215 = HEAP32[$pMaster>>2]|0; - (_sqlite3OsCloseFree($215)|0); - $216 = HEAP32[$pVfs>>2]|0; - $217 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($216,$217,0)|0); - $218 = HEAP32[$1>>2]|0; - $219 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($218,$219); - $220 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $220; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); - } - $223 = HEAP32[$needSync>>2]|0; - $224 = ($223|0)!=(0); - if ($224) { - $225 = HEAP32[$pMaster>>2]|0; - $226 = (_sqlite3OsDeviceCharacteristics($225)|0); - $227 = $226 & 1024; - $228 = (0)==($227|0); - if ($228) { - $229 = HEAP32[$pMaster>>2]|0; - $230 = (_sqlite3OsSync($229,2)|0); - HEAP32[$rc>>2] = $230; - $231 = (0)!=($230|0); - if ($231) { - $232 = HEAP32[$pMaster>>2]|0; - (_sqlite3OsCloseFree($232)|0); - $233 = HEAP32[$pVfs>>2]|0; - $234 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($233,$234,0)|0); - $235 = HEAP32[$1>>2]|0; - $236 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($235,$236); - $237 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $237; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); - } - } - } - HEAP32[$i>>2] = 0; - while(1) { - $238 = HEAP32[$rc>>2]|0; - $239 = ($238|0)==(0); - if (!($239)) { - break; - } - $240 = HEAP32[$i>>2]|0; - $241 = HEAP32[$1>>2]|0; - $242 = (($241) + 20|0); - $243 = HEAP32[$242>>2]|0; - $244 = ($240|0)<($243|0); - if (!($244)) { - break; - } - $245 = HEAP32[$i>>2]|0; - $246 = HEAP32[$1>>2]|0; - $247 = (($246) + 16|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($245<<4)|0); - $250 = (($249) + 4|0); - $251 = HEAP32[$250>>2]|0; - HEAP32[$pBt4>>2] = $251; - $252 = HEAP32[$pBt4>>2]|0; - $253 = ($252|0)!=(0|0); - if ($253) { - $254 = HEAP32[$pBt4>>2]|0; - $255 = HEAP32[$zMaster>>2]|0; - $256 = (_sqlite3BtreeCommitPhaseOne($254,$255)|0); - HEAP32[$rc>>2] = $256; - } - $257 = HEAP32[$i>>2]|0; - $258 = (($257) + 1)|0; - HEAP32[$i>>2] = $258; - } - $259 = HEAP32[$pMaster>>2]|0; - (_sqlite3OsCloseFree($259)|0); - $260 = HEAP32[$rc>>2]|0; - $261 = ($260|0)!=(0); - if ($261) { - $262 = HEAP32[$1>>2]|0; - $263 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($262,$263); - $264 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $264; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); - } - $265 = HEAP32[$pVfs>>2]|0; - $266 = HEAP32[$zMaster>>2]|0; - $267 = (_sqlite3OsDelete($265,$266,1)|0); - HEAP32[$rc>>2] = $267; - $268 = HEAP32[$1>>2]|0; - $269 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($268,$269); - HEAP32[$zMaster>>2] = 0; - $270 = HEAP32[$rc>>2]|0; - $271 = ($270|0)!=(0); - if ($271) { - $272 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $272; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); - } - _sqlite3BeginBenignMalloc(); - HEAP32[$i>>2] = 0; + $22 = ($19|0)!=(0|0); + if ($22) { + $23 = HEAP32[$pInode>>2]|0; + $24 = ((($23)) + 28|0); + HEAP32[$pp>>2] = $24; while(1) { - $273 = HEAP32[$i>>2]|0; - $274 = HEAP32[$1>>2]|0; - $275 = (($274) + 20|0); - $276 = HEAP32[$275>>2]|0; - $277 = ($273|0)<($276|0); - if (!($277)) { + $25 = HEAP32[$pp>>2]|0; + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)!=(0|0); + if (!($27)) { break; } - $278 = HEAP32[$i>>2]|0; - $279 = HEAP32[$1>>2]|0; - $280 = (($279) + 16|0); - $281 = HEAP32[$280>>2]|0; - $282 = (($281) + ($278<<4)|0); - $283 = (($282) + 4|0); - $284 = HEAP32[$283>>2]|0; - HEAP32[$pBt5>>2] = $284; - $285 = HEAP32[$pBt5>>2]|0; - $286 = ($285|0)!=(0|0); - if ($286) { - $287 = HEAP32[$pBt5>>2]|0; - (_sqlite3BtreeCommitPhaseTwo($287,1)|0); + $28 = HEAP32[$pp>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$1>>2]|0; + $33 = ($31|0)!=($32|0); + if (!($33)) { + break; } - $288 = HEAP32[$i>>2]|0; - $289 = (($288) + 1)|0; - HEAP32[$i>>2] = $289; + $34 = HEAP32[$pp>>2]|0; + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + HEAP32[$pp>>2] = $36; + } + $37 = HEAP32[$pp>>2]|0; + $38 = HEAP32[$37>>2]|0; + HEAP32[$pUnused>>2] = $38; + $39 = HEAP32[$pUnused>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $41 = HEAP32[$pUnused>>2]|0; + $42 = ((($41)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$pp>>2]|0; + HEAP32[$44>>2] = $43; } - _sqlite3EndBenignMalloc(); - $290 = HEAP32[$1>>2]|0; - (_sqlite3VtabCommit($290)|0); } - $291 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $291; - $292 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($292|0); + _unixLeaveMutex(); + $45 = HEAP32[$pUnused>>2]|0; + STACKTOP = sp;return ($45|0); } -function _sqlite3VtabSync($db,$p) { - $db = $db|0; - $p = $p|0; +function _findCreateFileMode($zPath,$flags,$pMode,$pUid,$pGid) { + $zPath = $zPath|0; + $flags = $flags|0; + $pMode = $pMode|0; + $pUid = $pUid|0; + $pGid = $pGid|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aVTrans = 0, $i = 0; - var $pVtab = 0, $rc = 0, $x = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nDb = 0, $rc = 0, $sStat = 0, $zDb = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $i = sp + 16|0; - $rc = sp + 12|0; - $aVTrans = sp + 8|0; - $x = sp + 4|0; - $pVtab = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; + STACKTOP = STACKTOP + 624|0; + $0 = sp + 4|0; + $1 = sp + 88|0; + $2 = sp + 92|0; + $3 = sp + 96|0; + $4 = sp + 100|0; + $rc = sp; + $zDb = sp + 104|0; + $nDb = sp + 8|0; + $sStat = sp + 12|0; + HEAP32[$0>>2] = $zPath; + HEAP32[$1>>2] = $flags; + HEAP32[$2>>2] = $pMode; + HEAP32[$3>>2] = $pUid; + HEAP32[$4>>2] = $pGid; HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 328|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$aVTrans>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 328|0); + $5 = HEAP32[$2>>2]|0; + HEAP32[$5>>2] = 0; + $6 = HEAP32[$3>>2]|0; HEAP32[$6>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - label = 8; - break; + $7 = HEAP32[$4>>2]|0; + HEAP32[$7>>2] = 0; + $8 = HEAP32[$1>>2]|0; + $9 = $8 & 526336; + $10 = ($9|0)!=(0); + if (!($10)) { + $39 = HEAP32[$1>>2]|0; + $40 = $39 & 8; + $41 = ($40|0)!=(0); + if (!($41)) { + $43 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($43|0); } - $9 = HEAP32[$i>>2]|0; - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 304|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($9|0)<($12|0); - if (!($13)) { - label = 8; + $42 = HEAP32[$2>>2]|0; + HEAP32[$42>>2] = 384; + $43 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($43|0); + } + $11 = HEAP32[$0>>2]|0; + $12 = (_sqlite3Strlen30($11)|0); + $13 = (($12) - 1)|0; + HEAP32[$nDb>>2] = $13; + while(1) { + $14 = HEAP32[$nDb>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = (($15) + ($14)|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)!=(45); + if (!($19)) { break; } - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$aVTrans>>2]|0; - $16 = (($15) + ($14<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 8|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pVtab>>2] = $19; - $20 = HEAP32[$pVtab>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$pVtab>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 60|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$x>>2] = $25; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$x>>2]|0; - $28 = HEAP32[$pVtab>>2]|0; - $29 = (FUNCTION_TABLE_ii[$27 & 31]($28)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$pVtab>>2]|0; - _sqlite3VtabImportErrmsg($30,$31); - } - } - $32 = HEAP32[$i>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$i>>2] = $33; + $20 = HEAP32[$nDb>>2]|0; + $21 = (($20) + -1)|0; + HEAP32[$nDb>>2] = $21; } - if ((label|0) == 8) { - $34 = HEAP32[$aVTrans>>2]|0; - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 328|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $22 = HEAP32[$0>>2]|0; + $23 = HEAP32[$nDb>>2]|0; + _memcpy(($zDb|0),($22|0),($23|0))|0; + $24 = HEAP32[$nDb>>2]|0; + $25 = (($zDb) + ($24)|0); + HEAP8[$25>>0] = 0; + $26 = HEAP32[(4256)>>2]|0; + $27 = (FUNCTION_TABLE_iii[$26 & 63]($zDb,$sStat)|0); + $28 = (0)==($27|0); + if ($28) { + $29 = ((($sStat)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30 & 511; + $32 = HEAP32[$2>>2]|0; + HEAP32[$32>>2] = $31; + $33 = ((($sStat)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$3>>2]|0; + HEAP32[$35>>2] = $34; + $36 = ((($sStat)) + 24|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$4>>2]|0; + HEAP32[$38>>2] = $37; + $43 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($43|0); + } else { + HEAP32[$rc>>2] = 1802; + $43 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($43|0); } - return 0|0; -} -function _sqlite3VtabCommit($db) { - $db = $db|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - _callFinaliser($1,64); - STACKTOP = sp;return 0; -} -function _sqlite3BtreeGetJournalname($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3PagerJournalname($4)|0); - STACKTOP = sp;return ($5|0); + return (0)|0; } -function _sqlite3BtreeSyncDisabled($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; +function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { + $pVfs = $pVfs|0; + $h = $h|0; + $pId = $pId|0; + $zFilename = $zFilename|0; + $ctrlFlags = $ctrlFlags|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $nFilename = 0, $pLockingStyle = 0, $pNew = 0, $rc = 0, $vararg_buffer = 0, $zLockFile = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; $0 = sp + 8|0; - $pBt = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($4); - $5 = HEAP32[$pBt>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3PagerNosync($6)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($8|0); -} -function _sqlite3PagerNosync($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 7|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); -} -function _sqlite3PagerJournalname($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 172|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 24|0; + $4 = sp + 4|0; + $pLockingStyle = sp + 12|0; + $pNew = sp + 28|0; + $rc = sp + 32|0; + $zLockFile = sp + 36|0; + $nFilename = sp + 40|0; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $h; + HEAP32[$2>>2] = $pId; + HEAP32[$3>>2] = $zFilename; + HEAP32[$4>>2] = $ctrlFlags; + $5 = HEAP32[$2>>2]|0; + HEAP32[$pNew>>2] = $5; + HEAP32[$rc>>2] = 0; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$pNew>>2]|0; + $8 = ((($7)) + 12|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$pNew>>2]|0; + $11 = ((($10)) + 4|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$pNew>>2]|0; + $14 = ((($13)) + 32|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$4>>2]|0; + $16 = $15&255; + $17 = $16&255; + $18 = HEAP32[$pNew>>2]|0; + $19 = ((($18)) + 18|0); + HEAP16[$19>>1] = $17; + $20 = HEAP32[$4>>2]|0; + $21 = $20 & 64; + $22 = ($21|0)!=(0); + $23 = HEAP32[$3>>2]|0; + $24 = $22 ? $23 : 0; + $25 = (_sqlite3_uri_boolean($24,36554,1)|0); + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$pNew>>2]|0; + $28 = ((($27)) + 18|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = $30 | 16; + $32 = $31&65535; + HEAP16[$28>>1] = $32; + } + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_strcmp($35,36134)|0); + $37 = ($36|0)==(0); + if ($37) { + $38 = HEAP32[$pNew>>2]|0; + $39 = ((($38)) + 18|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40&65535; + $42 = $41 | 1; + $43 = $42&65535; + HEAP16[$39>>1] = $43; + } + $44 = HEAP32[$4>>2]|0; + $45 = $44 & 128; + $46 = ($45|0)!=(0); + if ($46) { + HEAP32[$pLockingStyle>>2] = 4532; + } else { + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 20|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$3>>2]|0; + $52 = HEAP32[$pNew>>2]|0; + $53 = (FUNCTION_TABLE_iii[$50 & 63]($51,$52)|0); + HEAP32[$pLockingStyle>>2] = $53; + } + $54 = HEAP32[$pLockingStyle>>2]|0; + $55 = ($54|0)==(4612|0); + if ($55) { + _unixEnterMutex(); + $56 = HEAP32[$pNew>>2]|0; + $57 = HEAP32[$pNew>>2]|0; + $58 = ((($57)) + 8|0); + $59 = (_findInodeInfo($56,$58)|0); + HEAP32[$rc>>2] = $59; + $60 = HEAP32[$rc>>2]|0; + $61 = ($60|0)!=(0); + if ($61) { + $62 = HEAP32[$pNew>>2]|0; + $63 = HEAP32[$1>>2]|0; + _robust_close($62,$63,30114); + HEAP32[$1>>2] = -1; + } + _unixLeaveMutex(); + } else { + $64 = HEAP32[$pLockingStyle>>2]|0; + $65 = ($64|0)==(4128|0); + if ($65) { + $66 = HEAP32[$3>>2]|0; + $67 = (_strlen($66)|0); + $68 = (($67) + 6)|0; + HEAP32[$nFilename>>2] = $68; + $69 = HEAP32[$nFilename>>2]|0; + $70 = (_sqlite3_malloc($69)|0); + HEAP32[$zLockFile>>2] = $70; + $71 = HEAP32[$zLockFile>>2]|0; + $72 = ($71|0)==(0|0); + if ($72) { + HEAP32[$rc>>2] = 7; + } else { + $73 = HEAP32[$nFilename>>2]|0; + $74 = HEAP32[$zLockFile>>2]|0; + $75 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $75; + (_sqlite3_snprintf($73,$74,36559,$vararg_buffer)|0); + } + $76 = HEAP32[$zLockFile>>2]|0; + $77 = HEAP32[$pNew>>2]|0; + $78 = ((($77)) + 24|0); + HEAP32[$78>>2] = $76; + } + } + $79 = HEAP32[$pNew>>2]|0; + $80 = ((($79)) + 20|0); + HEAP32[$80>>2] = 0; + $81 = HEAP32[$rc>>2]|0; + $82 = ($81|0)!=(0); + if (!($82)) { + $87 = HEAP32[$pLockingStyle>>2]|0; + $88 = HEAP32[$pNew>>2]|0; + HEAP32[$88>>2] = $87; + $89 = HEAP32[$pNew>>2]|0; + _verifyDbFile($89); + $90 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($90|0); + } + $83 = HEAP32[$1>>2]|0; + $84 = ($83|0)>=(0); + if (!($84)) { + $90 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($90|0); + } + $85 = HEAP32[$pNew>>2]|0; + $86 = HEAP32[$1>>2]|0; + _robust_close($85,$86,30199); + $90 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($90|0); } -function _sqlite3VdbeFrameDelete($p) { - $p = $p|0; +function _findInodeInfo($pFile,$ppInode) { + $pFile = $pFile|0; + $ppInode = $ppInode|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aMem = 0, $apCsr = 0, $i = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0; + var $fileId = 0, $pInode = 0, $rc = 0, $statbuf = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $i = sp + 8|0; - $aMem = sp + 4|0; - $apCsr = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 72|0); - HEAP32[$aMem>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 60|0); + STACKTOP = STACKTOP + 112|0; + $0 = sp + 8|0; + $1 = sp + 92|0; + $2 = sp + 12|0; + $rc = sp + 96|0; + $fd = sp + 104|0; + $fileId = sp; + $statbuf = sp + 16|0; + $pInode = sp + 100|0; + HEAP32[$1>>2] = $pFile; + HEAP32[$2>>2] = $ppInode; + HEAP32[$pInode>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$aMem>>2]|0; - $7 = (($6) + (($5*40)|0)|0); - HEAP32[$apCsr>>2] = $7; - HEAP32[$i>>2] = 0; + HEAP32[$fd>>2] = $5; + $6 = HEAP32[(4268)>>2]|0; + $7 = HEAP32[$fd>>2]|0; + $8 = (FUNCTION_TABLE_iii[$6 & 63]($7,$statbuf)|0); + HEAP32[$rc>>2] = $8; + $9 = HEAP32[$rc>>2]|0; + $10 = ($9|0)!=(0); + if ($10) { + $11 = (___errno_location()|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 20|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(75); + if ($18) { + HEAP32[$0>>2] = 22; + $57 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($57|0); + } else { + HEAP32[$0>>2] = 10; + $57 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($57|0); + } + } + ;HEAP32[$fileId>>2]=0|0;HEAP32[$fileId+4>>2]=0|0; + $19 = HEAP32[$statbuf>>2]|0; + HEAP32[$fileId>>2] = $19; + $20 = ((($statbuf)) + 72|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($fileId)) + 4|0); + HEAP32[$22>>2] = $21; + $23 = HEAP32[4688>>2]|0; + HEAP32[$pInode>>2] = $23; while(1) { - $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 64|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)<($11|0); - if (!($12)) { + $24 = HEAP32[$pInode>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$pInode>>2]|0; + $27 = (_memcmp($fileId,$26,8)|0); + $28 = ($27|0)!=(0); + $58 = $28; + } else { + $58 = 0; + } + $29 = HEAP32[$pInode>>2]|0; + if (!($58)) { break; } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$apCsr>>2]|0; - $17 = (($16) + ($15<<2)|0); - $18 = HEAP32[$17>>2]|0; - _sqlite3VdbeFreeCursor($14,$18); - $19 = HEAP32[$i>>2]|0; - $20 = (($19) + 1)|0; - HEAP32[$i>>2] = $20; + $30 = ((($29)) + 32|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$pInode>>2] = $31; } - $21 = HEAP32[$aMem>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 60|0); + $32 = ($29|0)==(0|0); + if ($32) { + $33 = (_sqlite3_malloc(40)|0); + HEAP32[$pInode>>2] = $33; + $34 = HEAP32[$pInode>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$0>>2] = 7; + $57 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($57|0); + } + $36 = HEAP32[$pInode>>2]|0; + dest=$36; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $37 = HEAP32[$pInode>>2]|0; + ;HEAP32[$37>>2]=HEAP32[$fileId>>2]|0;HEAP32[$37+4>>2]=HEAP32[$fileId+4>>2]|0; + $38 = HEAP32[$pInode>>2]|0; + $39 = ((($38)) + 16|0); + HEAP32[$39>>2] = 1; + $40 = HEAP32[4688>>2]|0; + $41 = HEAP32[$pInode>>2]|0; + $42 = ((($41)) + 32|0); + HEAP32[$42>>2] = $40; + $43 = HEAP32[$pInode>>2]|0; + $44 = ((($43)) + 36|0); + HEAP32[$44>>2] = 0; + $45 = HEAP32[4688>>2]|0; + $46 = ($45|0)!=(0|0); + if ($46) { + $47 = HEAP32[$pInode>>2]|0; + $48 = HEAP32[4688>>2]|0; + $49 = ((($48)) + 36|0); + HEAP32[$49>>2] = $47; + } + $50 = HEAP32[$pInode>>2]|0; + HEAP32[4688>>2] = $50; + } else { + $51 = HEAP32[$pInode>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = (($53) + 1)|0; + HEAP32[$52>>2] = $54; + } + $55 = HEAP32[$pInode>>2]|0; + $56 = HEAP32[$2>>2]|0; + HEAP32[$56>>2] = $55; + HEAP32[$0>>2] = 0; + $57 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($57|0); +} +function _verifyDbFile($pFile) { + $pFile = $pFile|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer7 = sp; + $vararg_buffer4 = sp + 8|0; + $vararg_buffer1 = sp + 16|0; + $vararg_buffer = sp + 24|0; + $0 = sp + 108|0; + $buf = sp + 32|0; + $rc = sp + 28|0; + HEAP32[$0>>2] = $pFile; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 18|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & 256; + $6 = ($5|0)!=(0); + if ($6) { + STACKTOP = sp;return; + } + $7 = HEAP32[(4268)>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (FUNCTION_TABLE_iii[$7 & 63]($10,$buf)|0); + HEAP32[$rc>>2] = $11; + $12 = HEAP32[$rc>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 32|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer>>2] = $16; + _sqlite3_log(28,36567,$vararg_buffer); + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 18|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19&65535; + $21 = $20 | 256; + $22 = $21&65535; + HEAP16[$18>>1] = $22; + STACKTOP = sp;return; + } + $23 = ((($buf)) + 16|0); $24 = HEAP32[$23>>2]|0; - _releaseMemArray($21,$24); - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$0>>2]|0; - _sqlite3DbFree($27,$28); + $25 = ($24|0)==(0); + if ($25) { + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 18|0); + $28 = HEAP16[$27>>1]|0; + $29 = $28&65535; + $30 = $29 & 32; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 32|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$vararg_buffer1>>2] = $34; + _sqlite3_log(28,36591,$vararg_buffer1); + $35 = HEAP32[$0>>2]|0; + $36 = ((($35)) + 18|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + $39 = $38 | 256; + $40 = $39&65535; + HEAP16[$36>>1] = $40; + STACKTOP = sp;return; + } + } + $41 = ((($buf)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42>>>0)>(1); + $44 = HEAP32[$0>>2]|0; + if ($43) { + $45 = ((($44)) + 32|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$vararg_buffer4>>2] = $46; + _sqlite3_log(28,36620,$vararg_buffer4); + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 18|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49&65535; + $51 = $50 | 256; + $52 = $51&65535; + HEAP16[$48>>1] = $52; + STACKTOP = sp;return; + } + $53 = (_fileHasMoved($44)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + STACKTOP = sp;return; + } + $55 = HEAP32[$0>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP32[$56>>2]|0; + HEAP32[$vararg_buffer7>>2] = $57; + _sqlite3_log(28,36647,$vararg_buffer7); + $58 = HEAP32[$0>>2]|0; + $59 = ((($58)) + 18|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60&65535; + $62 = $61 | 256; + $63 = $62&65535; + HEAP16[$59>>1] = $63; STACKTOP = sp;return; } -function _sqlite3OpcodeName($i) { - $i = $i|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _unixClose($id) { + $id = $id|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0; + var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $i; + $0 = sp + 8|0; + $rc = sp + 4|0; + $pFile = sp; + HEAP32[$0>>2] = $id; + HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (34600 + ($1<<2)|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + HEAP32[$pFile>>2] = $1; + $2 = HEAP32[$pFile>>2]|0; + _verifyDbFile($2); + $3 = HEAP32[$0>>2]|0; + (_unixUnlock($3,0)|0); + _unixEnterMutex(); + $4 = HEAP32[$pFile>>2]|0; + $5 = ((($4)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$pFile>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$pFile>>2]|0; + _setPendingFd($14); + } + } + $15 = HEAP32[$pFile>>2]|0; + _releaseInodeInfo($15); + $16 = HEAP32[$0>>2]|0; + $17 = (_closeUnixFile($16)|0); + HEAP32[$rc>>2] = $17; + _unixLeaveMutex(); + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); } -function _displayP4($pOp,$zTemp,$nTemp) { - $pOp = $pOp|0; - $zTemp = $zTemp|0; - $nTemp = $nTemp|0; +function _unixLock($id,$eFileLock) { + $id = $id|0; + $eFileLock = $eFileLock|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0.0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $j = 0; - var $n = 0, $pColl = 0, $pColl1 = 0, $pDef = 0, $pKeyInfo = 0, $pMem = 0, $pVtab = 0, $vararg_buffer31 = 0, $vararg_ptr28 = 0, $vararg_ptr7 = 0, $zColl = 0, $zP4 = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $lock = 0, $or$cond = 0, $or$cond3 = 0, $pFile = 0, $pInode = 0, $rc = 0, $tErrno = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer31 = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $zP4 = sp + 48|0; - $i = sp + 44|0; - $j = sp + 40|0; - $pKeyInfo = sp + 36|0; - $pColl = sp + 32|0; - $zColl = sp + 28|0; - $n = sp + 24|0; - $pColl1 = sp + 20|0; - $pDef = sp + 16|0; - $pMem = sp + 12|0; - $pVtab = sp + 8|0; - HEAP32[$0>>2] = $pOp; - HEAP32[$1>>2] = $zTemp; - HEAP32[$2>>2] = $nTemp; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 4|0; + $1 = sp + 32|0; + $2 = sp + 8|0; + $rc = sp + 36|0; + $pFile = sp + 44|0; + $pInode = sp; + $lock = sp + 16|0; + $tErrno = sp + 40|0; + HEAP32[$1>>2] = $id; + HEAP32[$2>>2] = $eFileLock; + HEAP32[$rc>>2] = 0; $3 = HEAP32[$1>>2]|0; - HEAP32[$zP4>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 1|0); + HEAP32[$pFile>>2] = $3; + HEAP32[$tErrno>>2] = 0; + $4 = HEAP32[$pFile>>2]|0; + $5 = ((($4)) + 16|0); $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - do { - switch ($7|0) { - case -5: { - $90 = HEAP32[$0>>2]|0; - $91 = (($90) + 16|0); - $92 = HEAP32[$91>>2]|0; - HEAP32[$pDef>>2] = $92; - $93 = HEAP32[$2>>2]|0; - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$pDef>>2]|0; - $96 = (($95) + 24|0); - $97 = HEAP32[$96>>2]|0; - $98 = HEAP32[$pDef>>2]|0; - $99 = HEAP16[$98>>1]|0; - $100 = $99 << 16 >> 16; - HEAP32[$vararg_buffer31>>2] = $97; - $vararg_ptr7 = (($vararg_buffer31) + 4|0); - HEAP32[$vararg_ptr7>>2] = $100; - (_sqlite3_snprintf($93,$94,34536,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - case -18: { - $187 = HEAP32[$2>>2]|0; - $188 = HEAP32[$1>>2]|0; - (_sqlite3_snprintf($187,$188,34592,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - case -19: { - $189 = HEAP32[$1>>2]|0; - HEAP8[$189>>0] = 0; - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; + $7 = $6&255; + $8 = HEAP32[$2>>2]|0; + $9 = ($7|0)>=($8|0); + if ($9) { + HEAP32[$0>>2] = 0; + $161 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($161|0); + } + _unixEnterMutex(); + $10 = HEAP32[$pFile>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$pInode>>2] = $12; + $13 = HEAP32[$pFile>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = HEAP32[$pInode>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($16|0)!=($20|0); + if ($21) { + $22 = HEAP32[$pInode>>2]|0; + $23 = ((($22)) + 12|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = ($25|0)>=(3); + $27 = HEAP32[$2>>2]|0; + $28 = ($27|0)>(1); + $or$cond = $26 | $28; + if ($or$cond) { + HEAP32[$rc>>2] = 5; + } else { + label = 6; } - case -8: { - $127 = HEAP32[$0>>2]|0; - $128 = (($127) + 16|0); - $129 = HEAP32[$128>>2]|0; - HEAP32[$pMem>>2] = $129; - $130 = HEAP32[$pMem>>2]|0; - $131 = (($130) + 8|0); - $132 = HEAP16[$131>>1]|0; - $133 = $132&65535; - $134 = $133 & 2; - $135 = ($134|0)!=(0); - $136 = HEAP32[$pMem>>2]|0; - if ($135) { - $137 = (($136) + 16|0); - $138 = HEAP32[$137>>2]|0; - HEAP32[$zP4>>2] = $138; - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - } - $139 = (($136) + 8|0); - $140 = HEAP16[$139>>1]|0; - $141 = $140&65535; - $142 = $141 & 4; - $143 = ($142|0)!=(0); - if ($143) { - $144 = HEAP32[$2>>2]|0; - $145 = HEAP32[$1>>2]|0; - $146 = HEAP32[$pMem>>2]|0; - $147 = $146; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = (($147) + 4)|0; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = $vararg_buffer31; - $154 = $153; - HEAP32[$154>>2] = $149; - $155 = (($153) + 4)|0; - $156 = $155; - HEAP32[$156>>2] = $152; - (_sqlite3_snprintf($144,$145,9456,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - } - $157 = HEAP32[$pMem>>2]|0; - $158 = (($157) + 8|0); - $159 = HEAP16[$158>>1]|0; - $160 = $159&65535; - $161 = $160 & 8; - $162 = ($161|0)!=(0); - if ($162) { - $163 = HEAP32[$2>>2]|0; - $164 = HEAP32[$1>>2]|0; - $165 = HEAP32[$pMem>>2]|0; - $166 = +HEAPF64[$165>>3]; - HEAPF64[tempDoublePtr>>3]=$166;HEAP32[$vararg_buffer31>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer31+4>>2]=HEAP32[tempDoublePtr+4>>2]; - (_sqlite3_snprintf($163,$164,9448,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - } - $167 = HEAP32[$pMem>>2]|0; - $168 = (($167) + 8|0); - $169 = HEAP16[$168>>1]|0; - $170 = $169&65535; - $171 = $170 & 1; - $172 = ($171|0)!=(0); - if ($172) { - $173 = HEAP32[$2>>2]|0; - $174 = HEAP32[$1>>2]|0; - (_sqlite3_snprintf($173,$174,9840,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); + } else { + label = 6; + } + L8: do { + if ((label|0) == 6) { + $29 = HEAP32[$2>>2]|0; + $30 = ($29|0)==(1); + do { + if ($30) { + $31 = HEAP32[$pInode>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = ($34|0)==(1); + if (!($35)) { + $36 = HEAP32[$pInode>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = ($39|0)==(2); + if (!($40)) { + break; + } + } + $41 = HEAP32[$pFile>>2]|0; + $42 = ((($41)) + 16|0); + HEAP8[$42>>0] = 1; + $43 = HEAP32[$pInode>>2]|0; + $44 = ((($43)) + 8|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$44>>2] = $46; + $47 = HEAP32[$pInode>>2]|0; + $48 = ((($47)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$48>>2] = $50; + break L8; + } + } while(0); + $51 = ((($lock)) + 8|0); + HEAP32[$51>>2] = 1; + $52 = ((($lock)) + 2|0); + HEAP16[$52>>1] = 0; + $53 = HEAP32[$2>>2]|0; + $54 = ($53|0)==(1); + if ($54) { + label = 13; } else { - HEAP32[$zP4>>2] = 34552; - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); + $55 = HEAP32[$2>>2]|0; + $56 = ($55|0)==(4); + if ($56) { + $57 = HEAP32[$pFile>>2]|0; + $58 = ((($57)) + 16|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = ($60|0)<(3); + if ($61) { + label = 13; + } + } } - break; - } - case -13: { - $101 = HEAP32[$2>>2]|0; - $102 = HEAP32[$1>>2]|0; - $103 = HEAP32[$0>>2]|0; - $104 = (($103) + 16|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (($106) + 4)|0; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = $vararg_buffer31; - $113 = $112; - HEAP32[$113>>2] = $108; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = $111; - (_sqlite3_snprintf($101,$102,9456,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - case -15: { - $185 = HEAP32[$2>>2]|0; - $186 = HEAP32[$1>>2]|0; - (_sqlite3_snprintf($185,$186,34576,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - case -6: { - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 16|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$pKeyInfo>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$pKeyInfo>>2]|0; - $14 = (($13) + 6|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - HEAP32[$vararg_buffer31>>2] = $16; - (_sqlite3_snprintf($11,$12,34496,$vararg_buffer31)|0); - $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3Strlen30($17)|0); - HEAP32[$i>>2] = $18; - HEAP32[$j>>2] = 0; - while(1) { - $19 = HEAP32[$j>>2]|0; - $20 = HEAP32[$pKeyInfo>>2]|0; - $21 = (($20) + 6|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = ($19|0)<($23|0); - if (!($24)) { + if ((label|0) == 13) { + $62 = HEAP32[$2>>2]|0; + $63 = ($62|0)==(1); + $64 = $63 ? 0 : 1; + $65 = $64&65535; + HEAP16[$lock>>1] = $65; + $66 = HEAP32[916>>2]|0; + $67 = ((($lock)) + 4|0); + HEAP32[$67>>2] = $66; + $68 = HEAP32[$pFile>>2]|0; + $69 = (_unixFileLock($68,$lock)|0); + $70 = ($69|0)!=(0); + if ($70) { + $71 = (___errno_location()|0); + $72 = HEAP32[$71>>2]|0; + HEAP32[$tErrno>>2] = $72; + $73 = HEAP32[$tErrno>>2]|0; + $74 = (_sqliteErrorFromPosixError($73,3850)|0); + HEAP32[$rc>>2] = $74; + $75 = HEAP32[$rc>>2]|0; + $76 = ($75|0)!=(5); + if (!($76)) { + break; + } + $77 = HEAP32[$tErrno>>2]|0; + $78 = HEAP32[$pFile>>2]|0; + $79 = ((($78)) + 20|0); + HEAP32[$79>>2] = $77; break; } - $25 = HEAP32[$j>>2]|0; - $26 = HEAP32[$pKeyInfo>>2]|0; - $27 = (($26) + 20|0); - $28 = (($27) + ($25<<2)|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$pColl>>2] = $29; - $30 = HEAP32[$pColl>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$pColl>>2]|0; - $33 = HEAP32[$32>>2]|0; - $34 = $33; - } else { - $34 = 34504; - } - HEAP32[$zColl>>2] = $34; - $35 = HEAP32[$zColl>>2]|0; - $36 = (_sqlite3Strlen30($35)|0); - HEAP32[$n>>2] = $36; - $37 = HEAP32[$n>>2]|0; - $38 = ($37|0)==(6); - if ($38) { - $39 = HEAP32[$zColl>>2]|0; - $40 = (_memcmp($39,3320,6)|0); - $41 = ($40|0)==(0); - if ($41) { - HEAP32[$zColl>>2] = 34512; - HEAP32[$n>>2] = 1; + } + $80 = HEAP32[$2>>2]|0; + $81 = ($80|0)==(1); + do { + if ($81) { + $82 = HEAP32[916>>2]|0; + $83 = (($82) + 2)|0; + $84 = ((($lock)) + 4|0); + HEAP32[$84>>2] = $83; + $85 = ((($lock)) + 8|0); + HEAP32[$85>>2] = 510; + $86 = HEAP32[$pFile>>2]|0; + $87 = (_unixFileLock($86,$lock)|0); + $88 = ($87|0)!=(0); + if ($88) { + $89 = (___errno_location()|0); + $90 = HEAP32[$89>>2]|0; + HEAP32[$tErrno>>2] = $90; + $91 = HEAP32[$tErrno>>2]|0; + $92 = (_sqliteErrorFromPosixError($91,3850)|0); + HEAP32[$rc>>2] = $92; + } + $93 = HEAP32[916>>2]|0; + $94 = ((($lock)) + 4|0); + HEAP32[$94>>2] = $93; + $95 = ((($lock)) + 8|0); + HEAP32[$95>>2] = 1; + HEAP16[$lock>>1] = 2; + $96 = HEAP32[$pFile>>2]|0; + $97 = (_unixFileLock($96,$lock)|0); + $98 = ($97|0)!=(0); + $99 = HEAP32[$rc>>2]|0; + $100 = ($99|0)==(0); + $or$cond3 = $98 & $100; + if ($or$cond3) { + $101 = (___errno_location()|0); + $102 = HEAP32[$101>>2]|0; + HEAP32[$tErrno>>2] = $102; + HEAP32[$rc>>2] = 2058; + } + $103 = HEAP32[$rc>>2]|0; + $104 = ($103|0)!=(0); + if (!($104)) { + $110 = HEAP32[$pFile>>2]|0; + $111 = ((($110)) + 16|0); + HEAP8[$111>>0] = 1; + $112 = HEAP32[$pInode>>2]|0; + $113 = ((($112)) + 24|0); + $114 = HEAP32[$113>>2]|0; + $115 = (($114) + 1)|0; + HEAP32[$113>>2] = $115; + $116 = HEAP32[$pInode>>2]|0; + $117 = ((($116)) + 8|0); + HEAP32[$117>>2] = 1; + break; + } + $105 = HEAP32[$rc>>2]|0; + $106 = ($105|0)!=(5); + if (!($106)) { + break L8; + } + $107 = HEAP32[$tErrno>>2]|0; + $108 = HEAP32[$pFile>>2]|0; + $109 = ((($108)) + 20|0); + HEAP32[$109>>2] = $107; + break L8; + } else { + $118 = HEAP32[$2>>2]|0; + $119 = ($118|0)==(4); + if ($119) { + $120 = HEAP32[$pInode>>2]|0; + $121 = ((($120)) + 8|0); + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)>(1); + if ($123) { + HEAP32[$rc>>2] = 5; + break; + } + } + HEAP16[$lock>>1] = 1; + $124 = HEAP32[$2>>2]|0; + $125 = ($124|0)==(2); + $126 = HEAP32[916>>2]|0; + if ($125) { + $127 = (($126) + 1)|0; + $128 = ((($lock)) + 4|0); + HEAP32[$128>>2] = $127; + $129 = ((($lock)) + 8|0); + HEAP32[$129>>2] = 1; + } else { + $130 = (($126) + 2)|0; + $131 = ((($lock)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ((($lock)) + 8|0); + HEAP32[$132>>2] = 510; + } + $133 = HEAP32[$pFile>>2]|0; + $134 = (_unixFileLock($133,$lock)|0); + $135 = ($134|0)!=(0); + if ($135) { + $136 = (___errno_location()|0); + $137 = HEAP32[$136>>2]|0; + HEAP32[$tErrno>>2] = $137; + $138 = HEAP32[$tErrno>>2]|0; + $139 = (_sqliteErrorFromPosixError($138,3850)|0); + HEAP32[$rc>>2] = $139; + $140 = HEAP32[$rc>>2]|0; + $141 = ($140|0)!=(5); + if ($141) { + $142 = HEAP32[$tErrno>>2]|0; + $143 = HEAP32[$pFile>>2]|0; + $144 = ((($143)) + 20|0); + HEAP32[$144>>2] = $142; + } } } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$n>>2]|0; - $44 = (($42) + ($43))|0; - $45 = HEAP32[$2>>2]|0; - $46 = (($45) - 6)|0; - $47 = ($44|0)>($46|0); - $48 = HEAP32[$i>>2]|0; - if ($47) { - label = 10; - break; - } - $51 = (($48) + 1)|0; - HEAP32[$i>>2] = $51; - $52 = HEAP32[$1>>2]|0; - $53 = (($52) + ($48)|0); - HEAP8[$53>>0] = 44; - $54 = HEAP32[$j>>2]|0; - $55 = HEAP32[$pKeyInfo>>2]|0; - $56 = (($55) + 16|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + ($54)|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)!=(0); - if ($60) { - $61 = HEAP32[$i>>2]|0; - $62 = (($61) + 1)|0; - HEAP32[$i>>2] = $62; - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + ($61)|0); - HEAP8[$64>>0] = 45; - } - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = (($66) + ($65)|0); - $68 = HEAP32[$zColl>>2]|0; - $69 = HEAP32[$n>>2]|0; - $70 = (($69) + 1)|0; - _memcpy(($67|0),($68|0),($70|0))|0; - $71 = HEAP32[$n>>2]|0; - $72 = HEAP32[$i>>2]|0; - $73 = (($72) + ($71))|0; - HEAP32[$i>>2] = $73; - $74 = HEAP32[$j>>2]|0; - $75 = (($74) + 1)|0; - HEAP32[$j>>2] = $75; - } - if ((label|0) == 10) { - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + ($48)|0); - ;HEAP8[$50+0>>0]=HEAP8[34520+0>>0]|0;HEAP8[$50+1>>0]=HEAP8[34520+1>>0]|0;HEAP8[$50+2>>0]=HEAP8[34520+2>>0]|0;HEAP8[$50+3>>0]=HEAP8[34520+3>>0]|0; + } while(0); + $145 = HEAP32[$rc>>2]|0; + $146 = ($145|0)==(0); + $147 = HEAP32[$2>>2]|0; + if ($146) { + $148 = $147&255; + $149 = HEAP32[$pFile>>2]|0; + $150 = ((($149)) + 16|0); + HEAP8[$150>>0] = $148; + $151 = HEAP32[$2>>2]|0; + $152 = $151&255; + $153 = HEAP32[$pInode>>2]|0; + $154 = ((($153)) + 12|0); + HEAP8[$154>>0] = $152; + break; } - $76 = HEAP32[$i>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[$i>>2] = $77; - $78 = HEAP32[$1>>2]|0; - $79 = (($78) + ($76)|0); - HEAP8[$79>>0] = 41; - $80 = HEAP32[$i>>2]|0; - $81 = HEAP32[$1>>2]|0; - $82 = (($81) + ($80)|0); - HEAP8[$82>>0] = 0; - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - case -14: { - $116 = HEAP32[$2>>2]|0; - $117 = HEAP32[$1>>2]|0; - $118 = HEAP32[$0>>2]|0; - $119 = (($118) + 16|0); - $120 = HEAP32[$119>>2]|0; - HEAP32[$vararg_buffer31>>2] = $120; - (_sqlite3_snprintf($116,$117,34544,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - case -12: { - $121 = HEAP32[$2>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = HEAP32[$0>>2]|0; - $124 = (($123) + 16|0); - $125 = HEAP32[$124>>2]|0; - $126 = +HEAPF64[$125>>3]; - HEAPF64[tempDoublePtr>>3]=$126;HEAP32[$vararg_buffer31>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer31+4>>2]=HEAP32[tempDoublePtr+4>>2]; - (_sqlite3_snprintf($121,$122,9448,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - case -10: { - $175 = HEAP32[$0>>2]|0; - $176 = (($175) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = (($177) + 8|0); - $179 = HEAP32[$178>>2]|0; - HEAP32[$pVtab>>2] = $179; - $180 = HEAP32[$2>>2]|0; - $181 = HEAP32[$1>>2]|0; - $182 = HEAP32[$pVtab>>2]|0; - $183 = HEAP32[$pVtab>>2]|0; - $184 = HEAP32[$183>>2]|0; - HEAP32[$vararg_buffer31>>2] = $182; - $vararg_ptr28 = (($vararg_buffer31) + 4|0); - HEAP32[$vararg_ptr28>>2] = $184; - (_sqlite3_snprintf($180,$181,34560,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - case -4: { - $83 = HEAP32[$0>>2]|0; - $84 = (($83) + 16|0); - $85 = HEAP32[$84>>2]|0; - HEAP32[$pColl1>>2] = $85; - $86 = HEAP32[$2>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = HEAP32[$pColl1>>2]|0; - $89 = HEAP32[$88>>2]|0; - HEAP32[$vararg_buffer31>>2] = $89; - (_sqlite3_snprintf($86,$87,34528,$vararg_buffer31)|0); - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - break; - } - default: { - $190 = HEAP32[$0>>2]|0; - $191 = (($190) + 16|0); - $192 = HEAP32[$191>>2]|0; - HEAP32[$zP4>>2] = $192; - $193 = HEAP32[$zP4>>2]|0; - $194 = ($193|0)==(0|0); - if (!($194)) { - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); + $155 = ($147|0)==(4); + if ($155) { + $156 = HEAP32[$pFile>>2]|0; + $157 = ((($156)) + 16|0); + HEAP8[$157>>0] = 3; + $158 = HEAP32[$pInode>>2]|0; + $159 = ((($158)) + 12|0); + HEAP8[$159>>0] = 3; } - $195 = HEAP32[$1>>2]|0; - HEAP32[$zP4>>2] = $195; - $196 = HEAP32[$1>>2]|0; - HEAP8[$196>>0] = 0; - $197 = HEAP32[$zP4>>2]|0; - STACKTOP = sp;return ($197|0); - } } } while(0); - return 0|0; + _unixLeaveMutex(); + $160 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $160; + $161 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($161|0); } -function _vdbeReleaseAndSetInt64($pMem,$0,$1) { - $pMem = $pMem|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; +function _unixUnlock($id,$eFileLock) { + $id = $id|0; + $eFileLock = $eFileLock|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 8|0; - $3 = sp; - HEAP32[$2>>2] = $pMem; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - $8 = HEAP32[$2>>2]|0; - _sqlite3VdbeMemSetNull($8); - $9 = $3; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = $15; - $17 = $16; - HEAP32[$17>>2] = $11; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $14; - $20 = HEAP32[$2>>2]|0; - $21 = (($20) + 8|0); - HEAP16[$21>>1] = 4; - STACKTOP = sp;return; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $eFileLock; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_posixUnlock($2,$3,0)|0); + STACKTOP = sp;return ($4|0); } -function _sqlite3VdbeMemHandleBom($pMem) { - $pMem = $pMem|0; +function _unixCheckReservedLock($id,$pResOut) { + $id = $id|0; + $pResOut = $pResOut|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $b1 = 0, $b2 = 0, $bom = 0, $rc = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0; + var $pFile = 0, $rc = 0, $reserved = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; - $bom = sp + 10|0; - $b1 = sp + 9|0; - $b2 = sp + 8|0; - HEAP32[$0>>2] = $pMem; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $0 = sp + 32|0; + $1 = sp + 36|0; + $rc = sp + 40|0; + $reserved = sp + 8|0; + $pFile = sp + 4|0; + $lock = sp + 16|0; + HEAP32[$0>>2] = $id; + HEAP32[$1>>2] = $pResOut; HEAP32[$rc>>2] = 0; - HEAP8[$bom>>0] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(1); - if ($4) { - $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP8[$7>>0]|0; - HEAP8[$b1>>0] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + 1|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$b2>>0] = $13; - $14 = HEAP8[$b1>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(254); - if ($16) { - $17 = HEAP8[$b2>>0]|0; - $18 = $17&255; - $19 = ($18|0)==(255); - if ($19) { - HEAP8[$bom>>0] = 3; + HEAP32[$reserved>>2] = 0; + $2 = HEAP32[$0>>2]|0; + HEAP32[$pFile>>2] = $2; + _unixEnterMutex(); + $3 = HEAP32[$pFile>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)>(1); + if ($9) { + HEAP32[$reserved>>2] = 1; + } + $10 = HEAP32[$reserved>>2]|0; + $11 = ($10|0)!=(0); + do { + if (!($11)) { + $12 = HEAP32[$pFile>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 13|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + $18 = ((($lock)) + 2|0); + HEAP16[$18>>1] = 0; + $19 = HEAP32[916>>2]|0; + $20 = (($19) + 1)|0; + $21 = ((($lock)) + 4|0); + HEAP32[$21>>2] = $20; + $22 = ((($lock)) + 8|0); + HEAP32[$22>>2] = 1; + HEAP16[$lock>>1] = 1; + $23 = HEAP32[(4292)>>2]|0; + $24 = HEAP32[$pFile>>2]|0; + $25 = ((($24)) + 12|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$vararg_buffer>>2] = $lock; + $27 = (FUNCTION_TABLE_iiii[$23 & 31]($26,12,$vararg_buffer)|0); + $28 = ($27|0)!=(0); + if ($28) { + HEAP32[$rc>>2] = 3594; + $29 = (___errno_location()|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$pFile>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = $30; + break; + } + $33 = HEAP16[$lock>>1]|0; + $34 = $33 << 16 >> 16; + $35 = ($34|0)!=(2); + if ($35) { + HEAP32[$reserved>>2] = 1; + } } } - $20 = HEAP8[$b1>>0]|0; - $21 = $20&255; - $22 = ($21|0)==(255); - if ($22) { - $23 = HEAP8[$b2>>0]|0; - $24 = $23&255; - $25 = ($24|0)==(254); - if ($25) { - HEAP8[$bom>>0] = 2; + } while(0); + _unixLeaveMutex(); + $36 = HEAP32[$reserved>>2]|0; + $37 = HEAP32[$1>>2]|0; + HEAP32[$37>>2] = $36; + $38 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($38|0); +} +function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { + $fd = $fd|0; + $iRegion = $iRegion|0; + $szRegion = $szRegion|0; + $bExtend = $bExtend|0; + $pp = $pp|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $apNew = 0, $i = 0, $iPg = 0, $nByte = 0, $nMap = 0, $nReqRegion = 0, $nShmPerMap = 0, $or$cond = 0, $p = 0, $pDbFd = 0, $pMem = 0; + var $pShmNode = 0, $rc = 0, $sStat = 0, $zFile = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; + $0 = sp + 96|0; + $1 = sp + 104|0; + $2 = sp + 84|0; + $3 = sp + 140|0; + $4 = sp + 92|0; + $5 = sp + 80|0; + $pDbFd = sp + 120|0; + $p = sp + 128|0; + $pShmNode = sp + 136|0; + $rc = sp + 144|0; + $nShmPerMap = sp + 148|0; + $nReqRegion = sp + 100|0; + $apNew = sp + 108|0; + $nByte = sp + 112|0; + $sStat = sp; + $iPg = sp + 116|0; + $zFile = sp + 124|0; + $nMap = sp + 88|0; + $i = sp + 132|0; + $pMem = sp + 76|0; + HEAP32[$1>>2] = $fd; + HEAP32[$2>>2] = $iRegion; + HEAP32[$3>>2] = $szRegion; + HEAP32[$4>>2] = $bExtend; + HEAP32[$5>>2] = $pp; + $6 = HEAP32[$1>>2]|0; + HEAP32[$pDbFd>>2] = $6; + HEAP32[$rc>>2] = 0; + $7 = (_unixShmRegionPerMap()|0); + HEAP32[$nShmPerMap>>2] = $7; + $8 = HEAP32[$pDbFd>>2]|0; + $9 = ((($8)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + $12 = HEAP32[$pDbFd>>2]|0; + $13 = (_unixOpenSharedMemory($12)|0); + HEAP32[$rc>>2] = $13; + $14 = HEAP32[$rc>>2]|0; + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $16; + $188 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($188|0); + } + } + $17 = HEAP32[$pDbFd>>2]|0; + $18 = ((($17)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$p>>2] = $19; + $20 = HEAP32[$p>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$pShmNode>>2] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$nShmPerMap>>2]|0; + $24 = (($22) + ($23))|0; + $25 = HEAP32[$nShmPerMap>>2]|0; + $26 = (($24|0) / ($25|0))&-1; + $27 = HEAP32[$nShmPerMap>>2]|0; + $28 = Math_imul($26, $27)|0; + HEAP32[$nReqRegion>>2] = $28; + $29 = HEAP32[$pShmNode>>2]|0; + $30 = ((($29)) + 20|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = HEAP32[$nReqRegion>>2]|0; + $34 = ($32|0)<($33|0); + L6: do { + if ($34) { + $35 = HEAP32[$nReqRegion>>2]|0; + $36 = HEAP32[$3>>2]|0; + $37 = Math_imul($35, $36)|0; + HEAP32[$nByte>>2] = $37; + $38 = HEAP32[$3>>2]|0; + $39 = HEAP32[$pShmNode>>2]|0; + $40 = ((($39)) + 16|0); + HEAP32[$40>>2] = $38; + $41 = HEAP32[$pShmNode>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + $44 = ($43|0)>=(0); + L8: do { + if ($44) { + $45 = HEAP32[(4268)>>2]|0; + $46 = HEAP32[$pShmNode>>2]|0; + $47 = ((($46)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = (FUNCTION_TABLE_iii[$45 & 63]($48,$sStat)|0); + $50 = ($49|0)!=(0); + if ($50) { + HEAP32[$rc>>2] = 4874; + break L6; + } + $51 = ((($sStat)) + 36|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$nByte>>2]|0; + $54 = ($52|0)<($53|0); + if ($54) { + $55 = HEAP32[$4>>2]|0; + $56 = ($55|0)!=(0); + if (!($56)) { + break L6; + } + $57 = ((($sStat)) + 36|0); + $58 = HEAP32[$57>>2]|0; + $59 = (($58|0) / 4096)&-1; + HEAP32[$iPg>>2] = $59; + while(1) { + $60 = HEAP32[$iPg>>2]|0; + $61 = HEAP32[$nByte>>2]|0; + $62 = (($61|0) / 4096)&-1; + $63 = ($60|0)<($62|0); + if (!($63)) { + break L8; + } + $64 = HEAP32[$pShmNode>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$iPg>>2]|0; + $68 = $67<<12; + $69 = (($68) + 4096)|0; + $70 = (($69) - 1)|0; + $71 = ($70|0)<(0); + $72 = $71 << 31 >> 31; + $73 = (_seekAndWriteFd($66,$70,$72,14425,1,0)|0); + $74 = ($73|0)!=(1); + if ($74) { + break; + } + $80 = HEAP32[$iPg>>2]|0; + $81 = (($80) + 1)|0; + HEAP32[$iPg>>2] = $81; + } + $75 = HEAP32[$pShmNode>>2]|0; + $76 = ((($75)) + 8|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$zFile>>2] = $77; + $78 = HEAP32[$zFile>>2]|0; + $79 = (_unixLogErrorAtLine(4874,36239,$78,29258)|0); + HEAP32[$rc>>2] = $79; + break L6; + } + } + } while(0); + $82 = HEAP32[$pShmNode>>2]|0; + $83 = ((($82)) + 24|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$nReqRegion>>2]|0; + $86 = $85<<2; + $87 = (_sqlite3_realloc($84,$86)|0); + HEAP32[$apNew>>2] = $87; + $88 = HEAP32[$apNew>>2]|0; + $89 = ($88|0)!=(0|0); + if (!($89)) { + HEAP32[$rc>>2] = 3082; + break; + } + $90 = HEAP32[$apNew>>2]|0; + $91 = HEAP32[$pShmNode>>2]|0; + $92 = ((($91)) + 24|0); + HEAP32[$92>>2] = $90; + while(1) { + $93 = HEAP32[$pShmNode>>2]|0; + $94 = ((($93)) + 20|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = HEAP32[$nReqRegion>>2]|0; + $98 = ($96|0)<($97|0); + if (!($98)) { + break L6; + } + $99 = HEAP32[$3>>2]|0; + $100 = HEAP32[$nShmPerMap>>2]|0; + $101 = Math_imul($99, $100)|0; + HEAP32[$nMap>>2] = $101; + $102 = HEAP32[$pShmNode>>2]|0; + $103 = ((($102)) + 12|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)>=(0); + if ($105) { + $106 = HEAP32[(4460)>>2]|0; + $107 = HEAP32[$nMap>>2]|0; + $108 = HEAP32[$pShmNode>>2]|0; + $109 = ((($108)) + 22|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110&255; + $112 = ($111|0)!=(0); + $113 = $112 ? 1 : 3; + $114 = HEAP32[$pShmNode>>2]|0; + $115 = ((($114)) + 12|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$3>>2]|0; + $118 = ($117|0)<(0); + $119 = $118 << 31 >> 31; + $120 = HEAP32[$pShmNode>>2]|0; + $121 = ((($120)) + 20|0); + $122 = HEAP16[$121>>1]|0; + $123 = $122&65535; + $124 = (___muldi3(($117|0),($119|0),($123|0),0)|0); + $125 = tempRet0; + $126 = (FUNCTION_TABLE_iiiiiii[$106 & 3](0,$107,$113,1,$116,$124)|0); + HEAP32[$pMem>>2] = $126; + $127 = HEAP32[$pMem>>2]|0; + $128 = ($127|0)==((-1)|0); + if ($128) { + label = 21; + break; + } + } else { + $133 = HEAP32[$3>>2]|0; + $134 = (_sqlite3_malloc($133)|0); + HEAP32[$pMem>>2] = $134; + $135 = HEAP32[$pMem>>2]|0; + $136 = ($135|0)==(0|0); + if ($136) { + label = 23; + break; + } + $137 = HEAP32[$pMem>>2]|0; + $138 = HEAP32[$3>>2]|0; + _memset(($137|0),0,($138|0))|0; + } + HEAP32[$i>>2] = 0; + while(1) { + $139 = HEAP32[$i>>2]|0; + $140 = HEAP32[$nShmPerMap>>2]|0; + $141 = ($139|0)<($140|0); + if (!($141)) { + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = HEAP32[$i>>2]|0; + $144 = Math_imul($142, $143)|0; + $145 = HEAP32[$pMem>>2]|0; + $146 = (($145) + ($144)|0); + $147 = HEAP32[$pShmNode>>2]|0; + $148 = ((($147)) + 20|0); + $149 = HEAP16[$148>>1]|0; + $150 = $149&65535; + $151 = HEAP32[$i>>2]|0; + $152 = (($150) + ($151))|0; + $153 = HEAP32[$pShmNode>>2]|0; + $154 = ((($153)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = (($155) + ($152<<2)|0); + HEAP32[$156>>2] = $146; + $157 = HEAP32[$i>>2]|0; + $158 = (($157) + 1)|0; + HEAP32[$i>>2] = $158; + } + $159 = HEAP32[$nShmPerMap>>2]|0; + $160 = HEAP32[$pShmNode>>2]|0; + $161 = ((($160)) + 20|0); + $162 = HEAP16[$161>>1]|0; + $163 = $162&65535; + $164 = (($163) + ($159))|0; + $165 = $164&65535; + HEAP16[$161>>1] = $165; + } + if ((label|0) == 21) { + $129 = HEAP32[$pShmNode>>2]|0; + $130 = ((($129)) + 8|0); + $131 = HEAP32[$130>>2]|0; + $132 = (_unixLogErrorAtLine(5386,36318,$131,29285)|0); + HEAP32[$rc>>2] = $132; + break; + } + else if ((label|0) == 23) { + HEAP32[$rc>>2] = 7; + break; } } + } while(0); + $166 = HEAP32[$pShmNode>>2]|0; + $167 = ((($166)) + 20|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168&65535; + $170 = HEAP32[$2>>2]|0; + $171 = ($169|0)>($170|0); + if ($171) { + $172 = HEAP32[$2>>2]|0; + $173 = HEAP32[$pShmNode>>2]|0; + $174 = ((($173)) + 24|0); + $175 = HEAP32[$174>>2]|0; + $176 = (($175) + ($172<<2)|0); + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$5>>2]|0; + HEAP32[$178>>2] = $177; + } else { + $179 = HEAP32[$5>>2]|0; + HEAP32[$179>>2] = 0; } - $26 = HEAP8[$bom>>0]|0; - $27 = ($26<<24>>24)!=(0); - if (!($27)) { - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); + $180 = HEAP32[$pShmNode>>2]|0; + $181 = ((($180)) + 22|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = ($183|0)!=(0); + $185 = HEAP32[$rc>>2]|0; + $186 = ($185|0)==(0); + $or$cond = $184 & $186; + if ($or$cond) { + HEAP32[$rc>>2] = 8; } - $28 = HEAP32[$0>>2]|0; - $29 = (_sqlite3VdbeMemMakeWriteable($28)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); + $187 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $187; + $188 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($188|0); +} +function _unixOpenSharedMemory($pDbFd) { + $pDbFd = $pDbFd|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nShmFilename = 0, $openFlags = 0, $p = 0, $pInode = 0; + var $pShmNode = 0, $rc = 0, $sStat = 0, $vararg_buffer = 0, $zShmFilename = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + $1 = sp + 20|0; + $p = sp + 16|0; + $pShmNode = sp + 24|0; + $rc = sp + 4|0; + $pInode = sp + 12|0; + $zShmFilename = sp + 28|0; + $nShmFilename = sp + 32|0; + $sStat = sp + 36|0; + $openFlags = sp + 112|0; + HEAP32[$1>>2] = $pDbFd; + HEAP32[$p>>2] = 0; + $2 = (_sqlite3_malloc(16)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$0>>2] = 7; + $135 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($135|0); } - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 12|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) - 2)|0; - HEAP32[$33>>2] = $35; - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 16|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = (($39) + 16|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41) + 2|0); - $43 = HEAP32[$0>>2]|0; - $44 = (($43) + 12|0); - $45 = HEAP32[$44>>2]|0; - _memmove(($38|0),($42|0),($45|0))|0; - $46 = HEAP32[$0>>2]|0; - $47 = (($46) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = HEAP32[$0>>2]|0; - $50 = (($49) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($48)|0); - HEAP8[$52>>0] = 0; - $53 = HEAP32[$0>>2]|0; - $54 = (($53) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 1)|0; - $57 = HEAP32[$0>>2]|0; - $58 = (($57) + 16|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($59) + ($56)|0); - HEAP8[$60>>0] = 0; - $61 = HEAP32[$0>>2]|0; - $62 = (($61) + 8|0); - $63 = HEAP16[$62>>1]|0; - $64 = $63&65535; - $65 = $64 | 512; - $66 = $65&65535; - HEAP16[$62>>1] = $66; - $67 = HEAP8[$bom>>0]|0; - $68 = HEAP32[$0>>2]|0; - $69 = (($68) + 10|0); - HEAP8[$69>>0] = $67; - $70 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($70|0); + $5 = HEAP32[$p>>2]|0; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0; + _unixEnterMutex(); + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 8|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$pInode>>2] = $8; + $9 = HEAP32[$pInode>>2]|0; + $10 = ((($9)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$pShmNode>>2] = $11; + $12 = HEAP32[$pShmNode>>2]|0; + $13 = ($12|0)==(0|0); + L5: do { + if ($13) { + $14 = HEAP32[(4268)>>2]|0; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = (FUNCTION_TABLE_iii[$14 & 63]($17,$sStat)|0); + $19 = ($18|0)!=(0); + if ($19) { + $20 = HEAP32[$pInode>>2]|0; + $21 = ((($20)) + 13|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(0); + if ($24) { + HEAP32[$rc>>2] = 1802; + } else { + label = 7; + } + } else { + label = 7; + } + do { + if ((label|0) == 7) { + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 32|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_strlen($27)|0); + $29 = (6 + ($28))|0; + HEAP32[$nShmFilename>>2] = $29; + $30 = HEAP32[$nShmFilename>>2]|0; + $31 = (36 + ($30))|0; + $32 = (_sqlite3_malloc($31)|0); + HEAP32[$pShmNode>>2] = $32; + $33 = HEAP32[$pShmNode>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + HEAP32[$rc>>2] = 7; + break; + } + $35 = HEAP32[$pShmNode>>2]|0; + $36 = HEAP32[$nShmFilename>>2]|0; + $37 = (36 + ($36))|0; + _memset(($35|0),0,($37|0))|0; + $38 = HEAP32[$pShmNode>>2]|0; + $39 = ((($38)) + 36|0); + $40 = HEAP32[$pShmNode>>2]|0; + $41 = ((($40)) + 8|0); + HEAP32[$41>>2] = $39; + HEAP32[$zShmFilename>>2] = $39; + $42 = HEAP32[$nShmFilename>>2]|0; + $43 = HEAP32[$zShmFilename>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 32|0); + $46 = HEAP32[$45>>2]|0; + HEAP32[$vararg_buffer>>2] = $46; + (_sqlite3_snprintf($42,$43,36675,$vararg_buffer)|0); + $47 = HEAP32[$pShmNode>>2]|0; + $48 = ((($47)) + 12|0); + HEAP32[$48>>2] = -1; + $49 = HEAP32[$pShmNode>>2]|0; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = ((($52)) + 20|0); + HEAP32[$53>>2] = $49; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$pShmNode>>2]|0; + HEAP32[$57>>2] = $56; + $58 = HEAP32[$pShmNode>>2]|0; + $59 = ((($58)) + 4|0); + HEAP32[$59>>2] = (8); + $60 = HEAP32[$pShmNode>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if ($63) { + HEAP32[$rc>>2] = 7; + break; + } + $64 = HEAP32[$pInode>>2]|0; + $65 = ((($64)) + 13|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = ($67|0)==(0); + if (!($68)) { + break L5; + } + HEAP32[$openFlags>>2] = 66; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 32|0); + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3_uri_boolean($71,36682,0)|0); + $73 = ($72|0)!=(0); + if ($73) { + HEAP32[$openFlags>>2] = 0; + $74 = HEAP32[$pShmNode>>2]|0; + $75 = ((($74)) + 22|0); + HEAP8[$75>>0] = 1; + } + $76 = HEAP32[$zShmFilename>>2]|0; + $77 = HEAP32[$openFlags>>2]|0; + $78 = ((($sStat)) + 12|0); + $79 = HEAP32[$78>>2]|0; + $80 = $79 & 511; + $81 = (_robust_open($76,$77,$80)|0); + $82 = HEAP32[$pShmNode>>2]|0; + $83 = ((($82)) + 12|0); + HEAP32[$83>>2] = $81; + $84 = HEAP32[$pShmNode>>2]|0; + $85 = ((($84)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)<(0); + if ($87) { + $88 = (_sqlite3CantopenError(29111)|0); + $89 = HEAP32[$zShmFilename>>2]|0; + $90 = (_unixLogErrorAtLine($88,36181,$89,29111)|0); + HEAP32[$rc>>2] = $90; + break; + } + $91 = HEAP32[(4448)>>2]|0; + $92 = HEAP32[$pShmNode>>2]|0; + $93 = ((($92)) + 12|0); + $94 = HEAP32[$93>>2]|0; + $95 = ((($sStat)) + 20|0); + $96 = HEAP32[$95>>2]|0; + $97 = ((($sStat)) + 24|0); + $98 = HEAP32[$97>>2]|0; + (FUNCTION_TABLE_iiii[$91 & 31]($94,$96,$98)|0); + HEAP32[$rc>>2] = 0; + $99 = HEAP32[$pShmNode>>2]|0; + $100 = (_unixShmSystemLock($99,1,128,1)|0); + $101 = ($100|0)==(0); + if ($101) { + $102 = HEAP32[$pShmNode>>2]|0; + $103 = ((($102)) + 12|0); + $104 = HEAP32[$103>>2]|0; + $105 = (_robust_ftruncate($104,0,0)|0); + $106 = ($105|0)!=(0); + if ($106) { + $107 = HEAP32[$zShmFilename>>2]|0; + $108 = (_unixLogErrorAtLine(4618,36204,$107,29127)|0); + HEAP32[$rc>>2] = $108; + } + } + $109 = HEAP32[$rc>>2]|0; + $110 = ($109|0)==(0); + if ($110) { + $111 = HEAP32[$pShmNode>>2]|0; + $112 = (_unixShmSystemLock($111,0,128,1)|0); + HEAP32[$rc>>2] = $112; + } + $113 = HEAP32[$rc>>2]|0; + $114 = ($113|0)!=(0); + if (!($114)) { + break L5; + } + } + } while(0); + $132 = HEAP32[$1>>2]|0; + _unixShmPurge($132); + $133 = HEAP32[$p>>2]|0; + _sqlite3_free($133); + _unixLeaveMutex(); + $134 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $134; + $135 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($135|0); + } + } while(0); + $115 = HEAP32[$pShmNode>>2]|0; + $116 = HEAP32[$p>>2]|0; + HEAP32[$116>>2] = $115; + $117 = HEAP32[$pShmNode>>2]|0; + $118 = ((($117)) + 28|0); + $119 = HEAP32[$118>>2]|0; + $120 = (($119) + 1)|0; + HEAP32[$118>>2] = $120; + $121 = HEAP32[$p>>2]|0; + $122 = HEAP32[$1>>2]|0; + $123 = ((($122)) + 36|0); + HEAP32[$123>>2] = $121; + _unixLeaveMutex(); + $124 = HEAP32[$pShmNode>>2]|0; + $125 = ((($124)) + 32|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$p>>2]|0; + $128 = ((($127)) + 4|0); + HEAP32[$128>>2] = $126; + $129 = HEAP32[$p>>2]|0; + $130 = HEAP32[$pShmNode>>2]|0; + $131 = ((($130)) + 32|0); + HEAP32[$131>>2] = $129; + HEAP32[$0>>2] = 0; + $135 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($135|0); } -function _valueToText($pVal,$enc) { - $pVal = $pVal|0; - $enc = $enc|0; +function _posixUnlock($id,$eFileLock,$handleNFSUnlock) { + $id = $id|0; + $eFileLock = $eFileLock|0; + $handleNFSUnlock = $handleNFSUnlock|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $lock = 0, $pFile = 0, $pInode = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 48|0; $0 = sp + 4|0; - $1 = sp; + $1 = sp + 32|0; $2 = sp + 8|0; - HEAP32[$1>>2] = $pVal; - HEAP8[$2>>0] = $enc; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 18; - $8 = ($7|0)!=(0); - $9 = HEAP32[$1>>2]|0; - if ($8) { - $10 = (($9) + 8|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = $12 | 2; - $14 = $13&65535; - HEAP16[$10>>1] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 8|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = $18 & 16384; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemExpandBlob($21)|0); - } - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 10|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = HEAP8[$2>>0]|0; - $27 = $26&255; - $28 = $27 & -9; - $29 = ($25|0)!=($28|0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - $31 = HEAP8[$2>>0]|0; - $32 = $31&255; - $33 = $32 & -9; - (_sqlite3VdbeChangeEncoding($30,$33)|0); + $3 = sp + 36|0; + $pFile = sp + 44|0; + $pInode = sp; + $lock = sp + 16|0; + $rc = sp + 40|0; + HEAP32[$1>>2] = $id; + HEAP32[$2>>2] = $eFileLock; + HEAP32[$3>>2] = $handleNFSUnlock; + $4 = HEAP32[$1>>2]|0; + HEAP32[$pFile>>2] = $4; + HEAP32[$rc>>2] = 0; + $5 = HEAP32[$pFile>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = ($8|0)<=($9|0); + if ($10) { + HEAP32[$0>>2] = 0; + $88 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($88|0); + } + _unixEnterMutex(); + $11 = HEAP32[$pFile>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pInode>>2] = $13; + $14 = HEAP32[$pFile>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)>(1); + do { + if ($18) { + $19 = HEAP32[$2>>2]|0; + $20 = ($19|0)==(1); + if ($20) { + HEAP16[$lock>>1] = 0; + $21 = ((($lock)) + 2|0); + HEAP16[$21>>1] = 0; + $22 = HEAP32[916>>2]|0; + $23 = (($22) + 2)|0; + $24 = ((($lock)) + 4|0); + HEAP32[$24>>2] = $23; + $25 = ((($lock)) + 8|0); + HEAP32[$25>>2] = 510; + $26 = HEAP32[$pFile>>2]|0; + $27 = (_unixFileLock($26,$lock)|0); + $28 = ($27|0)!=(0); + if ($28) { + HEAP32[$rc>>2] = 2314; + $29 = (___errno_location()|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$pFile>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = $30; + break; + } + } + HEAP16[$lock>>1] = 2; + $33 = ((($lock)) + 2|0); + HEAP16[$33>>1] = 0; + $34 = HEAP32[916>>2]|0; + $35 = ((($lock)) + 4|0); + HEAP32[$35>>2] = $34; + $36 = ((($lock)) + 8|0); + HEAP32[$36>>2] = 2; + $37 = HEAP32[$pFile>>2]|0; + $38 = (_unixFileLock($37,$lock)|0); + $39 = ($38|0)==(0); + if ($39) { + $40 = HEAP32[$pInode>>2]|0; + $41 = ((($40)) + 12|0); + HEAP8[$41>>0] = 1; + label = 10; + break; + } else { + HEAP32[$rc>>2] = 2058; + $42 = (___errno_location()|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$pFile>>2]|0; + $45 = ((($44)) + 20|0); + HEAP32[$45>>2] = $43; + break; + } + } else { + label = 10; } - $34 = HEAP8[$2>>0]|0; - $35 = $34&255; - $36 = $35 & 8; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = $40; - $42 = 1 & $41; - $43 = (1)==($42|0); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = (_sqlite3VdbeMemMakeWriteable($44)|0); - $46 = ($45|0)!=(0); - if ($46) { - HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + } while(0); + if ((label|0) == 10) { + $46 = HEAP32[$2>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + $48 = HEAP32[$pInode>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + -1)|0; + HEAP32[$49>>2] = $51; + $52 = HEAP32[$pInode>>2]|0; + $53 = ((($52)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0); + do { + if ($55) { + HEAP16[$lock>>1] = 2; + $56 = ((($lock)) + 2|0); + HEAP16[$56>>1] = 0; + $57 = ((($lock)) + 8|0); + HEAP32[$57>>2] = 0; + $58 = ((($lock)) + 4|0); + HEAP32[$58>>2] = 0; + $59 = HEAP32[$pFile>>2]|0; + $60 = (_unixFileLock($59,$lock)|0); + $61 = ($60|0)==(0); + if ($61) { + $62 = HEAP32[$pInode>>2]|0; + $63 = ((($62)) + 12|0); + HEAP8[$63>>0] = 0; + break; + } else { + HEAP32[$rc>>2] = 2058; + $64 = (___errno_location()|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$pFile>>2]|0; + $67 = ((($66)) + 20|0); + HEAP32[$67>>2] = $65; + $68 = HEAP32[$pInode>>2]|0; + $69 = ((($68)) + 12|0); + HEAP8[$69>>0] = 0; + $70 = HEAP32[$pFile>>2]|0; + $71 = ((($70)) + 16|0); + HEAP8[$71>>0] = 0; + break; + } } + } while(0); + $72 = HEAP32[$pInode>>2]|0; + $73 = ((($72)) + 24|0); + $74 = HEAP32[$73>>2]|0; + $75 = (($74) + -1)|0; + HEAP32[$73>>2] = $75; + $76 = HEAP32[$pInode>>2]|0; + $77 = ((($76)) + 24|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)==(0); + if ($79) { + $80 = HEAP32[$pFile>>2]|0; + _closePendingFds($80); } } - $47 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemNulTerminate($47)|0); - } else { - $48 = HEAP8[$2>>0]|0; - (_sqlite3VdbeMemStringify($9,$48,0)|0); } - $49 = HEAP32[$1>>2]|0; - $50 = (($49) + 10|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = HEAP8[$2>>0]|0; - $54 = $53&255; - $55 = $54 & -9; - $56 = ($52|0)==($55|0); - if ($56) { - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 16|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$0>>2] = $59; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); - } else { - HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + _unixLeaveMutex(); + $81 = HEAP32[$rc>>2]|0; + $82 = ($81|0)==(0); + if ($82) { + $83 = HEAP32[$2>>2]|0; + $84 = $83&255; + $85 = HEAP32[$pFile>>2]|0; + $86 = ((($85)) + 16|0); + HEAP8[$86>>0] = $84; } - return 0|0; + $87 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $87; + $88 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($88|0); } -function _vdbeMemClear($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _unixFileLock($pFile,$pLock) { + $pFile = $pFile|0; + $pLock = $pLock|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0, $pInode = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 9312; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$0>>2]|0; - _vdbeMemClearExternAndSetNull($7); - } - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 24|0); - $10 = HEAP32[$9>>2]|0; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 16|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $rc = sp + 12|0; + $pInode = sp + 20|0; + $lock = sp + 32|0; + HEAP32[$1>>2] = $pFile; + HEAP32[$2>>2] = $pLock; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pInode>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 18|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = $9 & 1; $11 = ($10|0)!=(0); - if (!($11)) { - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 16|0); - HEAP32[$21>>2] = 0; - STACKTOP = sp;return; + if ($11) { + label = 3; + } else { + $12 = HEAP32[$pInode>>2]|0; + $13 = ((($12)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)!=(0); + if ($16) { + label = 3; + } else { + label = 9; + } } - $12 = HEAP32[$0>>2]|0; - $13 = (($12) + 32|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 20|0); - $17 = HEAP32[$16>>2]|0; - _sqlite3DbFree($14,$17); - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 24|0); - HEAP32[$19>>2] = 0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 16|0); - HEAP32[$21>>2] = 0; - STACKTOP = sp;return; + do { + if ((label|0) == 3) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 18|0); + $19 = HEAP16[$18>>1]|0; + $20 = $19&65535; + $21 = $20 & 2; + $22 = ($21|0)==(0); + if ($22) { + $23 = HEAP32[$pInode>>2]|0; + $24 = ((($23)) + 13|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = ($26|0)==(0); + if (!($27)) { + HEAP32[$rc>>2] = 0; + break; + } + $28 = ((($lock)) + 2|0); + HEAP16[$28>>1] = 0; + $29 = HEAP32[916>>2]|0; + $30 = (($29) + 2)|0; + $31 = ((($lock)) + 4|0); + HEAP32[$31>>2] = $30; + $32 = ((($lock)) + 8|0); + HEAP32[$32>>2] = 510; + HEAP16[$lock>>1] = 1; + $33 = HEAP32[(4292)>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 12|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$vararg_buffer>>2] = $lock; + $37 = (FUNCTION_TABLE_iiii[$33 & 31]($36,13,$vararg_buffer)|0); + HEAP32[$rc>>2] = $37; + $38 = HEAP32[$rc>>2]|0; + $39 = ($38|0)<(0); + if (!($39)) { + $41 = HEAP32[$pInode>>2]|0; + $42 = ((($41)) + 13|0); + HEAP8[$42>>0] = 1; + $43 = HEAP32[$pInode>>2]|0; + $44 = ((($43)) + 24|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$44>>2] = $46; + break; + } + $40 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $40; + $54 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($54|0); + } else { + label = 9; + } + } + } while(0); + if ((label|0) == 9) { + $47 = HEAP32[(4292)>>2]|0; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer1>>2] = $51; + $52 = (FUNCTION_TABLE_iiii[$47 & 31]($50,13,$vararg_buffer1)|0); + HEAP32[$rc>>2] = $52; + } + $53 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $53; + $54 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($54|0); } -function _Cleanup($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; +function _closePendingFds($pFile) { + $pFile = $pFile|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0; + var $pInode = 0, $pNext = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; + $0 = sp + 12|0; + $pInode = sp + 8|0; + $p = sp + 4|0; + $pNext = sp; + HEAP32[$0>>2] = $pFile; $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$db>>2] = $2; - $3 = HEAP32[$db>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 44|0); + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pInode>>2] = $3; + $4 = HEAP32[$pInode>>2]|0; + $5 = ((($4)) + 28|0); $6 = HEAP32[$5>>2]|0; - _sqlite3DbFree($3,$6); - $7 = HEAP32[$0>>2]|0; - $8 = (($7) + 44|0); - HEAP32[$8>>2] = 0; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 20|0); - HEAP32[$10>>2] = 0; - STACKTOP = sp;return; -} -function _apiOomError($db) { - $db = $db|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $db; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 64|0); - HEAP8[$2>>0] = 0; - $3 = HEAP32[$0>>2]|0; - _sqlite3Error($3,7); - STACKTOP = sp;return 7; -} -function _vdbeFreeOpArray($db,$aOp,$nOp) { - $db = $db|0; - $aOp = $aOp|0; - $nOp = $nOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pOp = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $aOp; - HEAP32[$2>>2] = $nOp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$1>>2]|0; - _sqlite3DbFree($21,$22); - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$pOp>>2] = $5; + HEAP32[$p>>2] = $6; while(1) { - $6 = HEAP32[$pOp>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + (($7*20)|0)|0); - $10 = ($6>>>0)<($9>>>0); - if (!($10)) { + $7 = HEAP32[$p>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { break; } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$pOp>>2]|0; - $13 = (($12) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = HEAP32[$pOp>>2]|0; - $17 = (($16) + 16|0); - $18 = HEAP32[$17>>2]|0; - _freeP4($11,$15,$18); - $19 = HEAP32[$pOp>>2]|0; - $20 = (($19) + 20|0); - HEAP32[$pOp>>2] = $20; + $9 = HEAP32[$p>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$pNext>>2] = $11; + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$p>>2]|0; + $14 = HEAP32[$13>>2]|0; + _robust_close($12,$14,25997); + $15 = HEAP32[$p>>2]|0; + _sqlite3_free($15); + $16 = HEAP32[$pNext>>2]|0; + HEAP32[$p>>2] = $16; } - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$1>>2]|0; - _sqlite3DbFree($21,$22); + $17 = HEAP32[$pInode>>2]|0; + $18 = ((($17)) + 28|0); + HEAP32[$18>>2] = 0; STACKTOP = sp;return; } -function _btreeClearHasContent($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _setPendingFd($pFile) { + $pFile = $pFile|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0; + var $pInode = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pBt; + $0 = sp + 8|0; + $pInode = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pFile; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 60|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; - _sqlite3BitvecDestroy($3); + HEAP32[$pInode>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 60|0); - HEAP32[$5>>2] = 0; + $5 = ((($4)) + 28|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$p>>2] = $6; + $7 = HEAP32[$pInode>>2]|0; + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$p>>2]|0; + $11 = ((($10)) + 8|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$p>>2]|0; + $13 = HEAP32[$pInode>>2]|0; + $14 = ((($13)) + 28|0); + HEAP32[$14>>2] = $12; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + HEAP32[$16>>2] = -1; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 28|0); + HEAP32[$18>>2] = 0; STACKTOP = sp;return; } -function _btreeEndTransaction($p) { - $p = $p|0; +function _releaseInodeInfo($pFile) { + $pFile = $pFile|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0; - var $pBt = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pInode = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pBt = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $p; + $0 = sp + 4|0; + $pInode = sp; + HEAP32[$0>>2] = $pFile; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); + $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$pBt>>2]|0; - $7 = (($6) + 19|0); - HEAP8[$7>>0] = 0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 8|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)>(0); - if ($12) { - $13 = HEAP32[$db>>2]|0; - $14 = (($13) + 152|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(1); - if ($16) { - $17 = HEAP32[$0>>2]|0; - _downgradeAllSharedCacheTableLocks($17); - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8|0); - HEAP8[$19>>0] = 1; - STACKTOP = sp;return; - } + HEAP32[$pInode>>2] = $3; + $4 = HEAP32[$pInode>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + STACKTOP = sp;return; } - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 8|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$0>>2]|0; - _clearAllSharedCacheTableLocks($25); - $26 = HEAP32[$pBt>>2]|0; - $27 = (($26) + 40|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + -1)|0; - HEAP32[$27>>2] = $29; - $30 = HEAP32[$pBt>>2]|0; - $31 = (($30) + 40|0); + $6 = HEAP32[$pInode>>2]|0; + $7 = ((($6)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$7>>2] = $9; + $10 = HEAP32[$pInode>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = HEAP32[$0>>2]|0; + _closePendingFds($14); + $15 = HEAP32[$pInode>>2]|0; + $16 = ((($15)) + 36|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + $19 = HEAP32[$pInode>>2]|0; + $20 = ((($19)) + 32|0); + $21 = HEAP32[$20>>2]|0; + if ($18) { + $22 = HEAP32[$pInode>>2]|0; + $23 = ((($22)) + 36|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($24)) + 32|0); + HEAP32[$25>>2] = $21; + } else { + HEAP32[4688>>2] = $21; + } + $26 = HEAP32[$pInode>>2]|0; + $27 = ((($26)) + 32|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$pInode>>2]|0; + $31 = ((($30)) + 36|0); $32 = HEAP32[$31>>2]|0; - $33 = (0)==($32|0); - if ($33) { - $34 = HEAP32[$pBt>>2]|0; - $35 = (($34) + 20|0); - HEAP8[$35>>0] = 0; - } + $33 = HEAP32[$pInode>>2]|0; + $34 = ((($33)) + 32|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 36|0); + HEAP32[$36>>2] = $32; } - $36 = HEAP32[$0>>2]|0; - $37 = (($36) + 8|0); - HEAP8[$37>>0] = 0; - $38 = HEAP32[$pBt>>2]|0; - _unlockBtreeIfUnused($38); + $37 = HEAP32[$pInode>>2]|0; + _sqlite3_free($37); STACKTOP = sp;return; } -function _downgradeAllSharedCacheTableLocks($p) { +function _posixIoFinderImpl($z,$p) { + $z = $z|0; $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pLock = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pBt = sp + 4|0; - $pLock = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$pBt>>2]|0; - $5 = (($4) + 76|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ($6|0)==($7|0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$pBt>>2]|0; - $10 = (($9) + 76|0); - HEAP32[$10>>2] = 0; - $11 = HEAP32[$pBt>>2]|0; - $12 = (($11) + 22|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & -97; - $16 = $15&65535; - HEAP16[$12>>1] = $16; - $17 = HEAP32[$pBt>>2]|0; - $18 = (($17) + 72|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pLock>>2] = $19; - while(1) { - $20 = HEAP32[$pLock>>2]|0; - $21 = ($20|0)!=(0|0); - if (!($21)) { - break; - } - $22 = HEAP32[$pLock>>2]|0; - $23 = (($22) + 8|0); - HEAP8[$23>>0] = 1; - $24 = HEAP32[$pLock>>2]|0; - $25 = (($24) + 12|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$pLock>>2] = $26; - } - STACKTOP = sp;return; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $z; + HEAP32[$1>>2] = $p; + STACKTOP = sp;return (4612|0); } -function _clearAllSharedCacheTableLocks($p) { +function _getIntArg($p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pBt = 0, $pLock = 0, $ppIter = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pBt = sp + 8|0; - $ppIter = sp + 4|0; - $pLock = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$pBt>>2]|0; - $5 = (($4) + 72|0); - HEAP32[$ppIter>>2] = $5; - while(1) { - $6 = HEAP32[$ppIter>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - break; - } - $9 = HEAP32[$ppIter>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$pLock>>2] = $10; - $11 = HEAP32[$pLock>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ($12|0)==($13|0); - $15 = HEAP32[$pLock>>2]|0; - $16 = (($15) + 12|0); - if (!($14)) { - HEAP32[$ppIter>>2] = $16; - continue; - } - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$ppIter>>2]|0; - HEAP32[$18>>2] = $17; - $19 = HEAP32[$pLock>>2]|0; - $20 = (($19) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(1); - if (!($22)) { - continue; - } - $23 = HEAP32[$pLock>>2]|0; - _sqlite3_free($23); - } - $24 = HEAP32[$pBt>>2]|0; - $25 = (($24) + 76|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$0>>2]|0; - $28 = ($26|0)==($27|0); - $29 = HEAP32[$pBt>>2]|0; - if ($28) { - $30 = (($29) + 76|0); - HEAP32[$30>>2] = 0; - $31 = HEAP32[$pBt>>2]|0; - $32 = (($31) + 22|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = $34 & -97; - $36 = $35&65535; - HEAP16[$32>>1] = $36; - STACKTOP = sp;return; - } - $37 = (($29) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(2); - if (!($39)) { - STACKTOP = sp;return; - } - $40 = HEAP32[$pBt>>2]|0; - $41 = (($40) + 22|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = $43 & -65; - $45 = $44&65535; - HEAP16[$41>>1] = $45; - STACKTOP = sp;return; -} -function _autoVacuumCommit($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $iFree = 0, $nFin = 0; - var $nFree = 0, $nOrig = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $rc = sp + 20|0; - $pPager = sp + 16|0; - $nFin = sp + 12|0; - $nFree = sp + 8|0; - $iFree = sp + 4|0; - $nOrig = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$rc>>2] = 0; + $0 = sp; + $1 = sp + 8|0; + HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; $4 = HEAP32[$1>>2]|0; - _invalidateAllOverflowCache($4); - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 18|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - do { - if (!($8)) { - $9 = HEAP32[$1>>2]|0; - $10 = (_btreePagecount($9)|0); - HEAP32[$nOrig>>2] = $10; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$nOrig>>2]|0; - $13 = (_ptrmapPageno($11,$12)|0); - $14 = HEAP32[$nOrig>>2]|0; - $15 = ($13|0)==($14|0); - if (!($15)) { - $16 = HEAP32[$nOrig>>2]|0; - $17 = HEAP32[1128>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($17>>>0) / ($20>>>0))&-1; - $22 = (($21) + 1)|0; - $23 = ($16|0)==($22|0); - if (!($23)) { - $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 12|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + 56|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + 36|0); - $31 = (_sqlite3Get4byte($30)|0); - HEAP32[$nFree>>2] = $31; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$nOrig>>2]|0; - $34 = HEAP32[$nFree>>2]|0; - $35 = (_finalDbSize($32,$33,$34)|0); - HEAP32[$nFin>>2] = $35; - $36 = HEAP32[$nFin>>2]|0; - $37 = HEAP32[$nOrig>>2]|0; - $38 = ($36>>>0)>($37>>>0); - if ($38) { - $39 = (_sqlite3CorruptError(55475)|0); - HEAP32[$0>>2] = $39; - $97 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($97|0); - } - $40 = HEAP32[$nFin>>2]|0; - $41 = HEAP32[$nOrig>>2]|0; - $42 = ($40>>>0)<($41>>>0); - if ($42) { - $43 = HEAP32[$1>>2]|0; - $44 = (_saveAllCursors($43,0,0)|0); - HEAP32[$rc>>2] = $44; - } - $45 = HEAP32[$nOrig>>2]|0; - HEAP32[$iFree>>2] = $45; - while(1) { - $46 = HEAP32[$iFree>>2]|0; - $47 = HEAP32[$nFin>>2]|0; - $48 = ($46>>>0)>($47>>>0); - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - $or$cond = $48 & $50; - if (!($or$cond)) { - break; - } - $51 = HEAP32[$1>>2]|0; - $52 = HEAP32[$nFin>>2]|0; - $53 = HEAP32[$iFree>>2]|0; - $54 = (_incrVacuumStep($51,$52,$53,1)|0); - HEAP32[$rc>>2] = $54; - $55 = HEAP32[$iFree>>2]|0; - $56 = (($55) + -1)|0; - HEAP32[$iFree>>2] = $56; - } - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)==(101); - $59 = HEAP32[$rc>>2]|0; - $60 = ($59|0)==(0); - $or$cond3 = $58 | $60; - $61 = HEAP32[$nFree>>2]|0; - $62 = ($61>>>0)>(0); - $or$cond5 = $or$cond3 & $62; - if ($or$cond5) { - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 12|0); - $65 = HEAP32[$64>>2]|0; - $66 = (($65) + 68|0); - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3PagerWrite($67)|0); - HEAP32[$rc>>2] = $68; - $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 12|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + 56|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + 32|0); - _sqlite3Put4byte($74,0); - $75 = HEAP32[$1>>2]|0; - $76 = (($75) + 12|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + 56|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + 36|0); - _sqlite3Put4byte($80,0); - $81 = HEAP32[$1>>2]|0; - $82 = (($81) + 12|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + 56|0); - $85 = HEAP32[$84>>2]|0; - $86 = (($85) + 28|0); - $87 = HEAP32[$nFin>>2]|0; - _sqlite3Put4byte($86,$87); - $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 19|0); - HEAP8[$89>>0] = 1; - $90 = HEAP32[$nFin>>2]|0; - $91 = HEAP32[$1>>2]|0; - $92 = (($91) + 44|0); - HEAP32[$92>>2] = $90; - } - $93 = HEAP32[$rc>>2]|0; - $94 = ($93|0)!=(0); - if (!($94)) { - break; - } - $95 = HEAP32[$pPager>>2]|0; - (_sqlite3PagerRollback($95)|0); - break; - } - } - $24 = (_sqlite3CorruptError(55470)|0); - HEAP32[$0>>2] = $24; - $97 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($97|0); - } - } while(0); - $96 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $96; - $97 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($97|0); -} -function _sqlite3PagerCommitPhaseTwo($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 40|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0); - $6 = HEAP32[$1>>2]|0; - if ($5) { - $7 = (($6) + 40|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$0>>2] = $8; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); - } - $9 = (($6) + 16|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)==(2); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 4|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 5|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = ($21|0)==(1); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 16|0); - HEAP8[$24>>0] = 1; - HEAP32[$0>>2] = 0; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); - } - } - } - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = (($26) + 19|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (_pager_end_transaction($25,$29,1)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$rc>>2]|0; - $33 = (_pager_error($31,$32)|0); - HEAP32[$0>>2] = $33; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); -} -function _pager_incr_changecounter($pPager,$isDirectMode) { - $pPager = $pPager|0; - $isDirectMode = $isDirectMode|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $pPgHdr = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $isDirectMode; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 18|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); - } - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(0); - if (!($9)) { - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); - } - $10 = HEAP32[$0>>2]|0; - $11 = (_sqlite3PagerAcquire($10,1,$pPgHdr,0)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $14 = HEAP32[$pPgHdr>>2]|0; - $15 = (_sqlite3PagerWrite($14)|0); - HEAP32[$rc>>2] = $15; - } - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$pPgHdr>>2]|0; - _pager_write_changecounter($18); - $19 = HEAP32[$0>>2]|0; - $20 = (($19) + 18|0); - HEAP8[$20>>0] = 1; - } - $21 = HEAP32[$pPgHdr>>2]|0; - _sqlite3PagerUnref($21); - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); -} -function _writeMasterJournal($pPager,$zMaster) { - $pPager = $pPager|0; - $zMaster = $zMaster|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cksum = 0, $iHdrOff = 0, $jrnlSize = 0, $nMaster = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $rc = sp + 24|0; - $nMaster = sp + 20|0; - $iHdrOff = sp + 8|0; - $jrnlSize = sp; - $cksum = sp + 16|0; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $zMaster; - HEAP32[$cksum>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 5|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(4); - if (!($9)) { - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 64|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 19|0); - HEAP8[$16>>0] = 1; - HEAP32[$nMaster>>2] = 0; - while(1) { - $17 = HEAP32[$nMaster>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = (($18) + ($17)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)!=(0); - if (!($21)) { - break; - } - $22 = HEAP32[$nMaster>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + ($22)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = HEAP32[$cksum>>2]|0; - $28 = (($27) + ($26))|0; - HEAP32[$cksum>>2] = $28; - $29 = HEAP32[$nMaster>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$nMaster>>2] = $30; - } - $31 = HEAP32[$1>>2]|0; - $32 = (($31) + 8|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)!=(0); - if ($34) { - $35 = HEAP32[$1>>2]|0; - $36 = (_journalHdrOffset($35)|0); - $37 = tempRet0; - $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 72|0); - $40 = $39; - $41 = $40; - HEAP32[$41>>2] = $36; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = $37; - } - $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 72|0); - $46 = $45; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = $iHdrOff; - $53 = $52; - HEAP32[$53>>2] = $48; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $51; - $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 64|0); - $58 = HEAP32[$57>>2]|0; - $59 = $iHdrOff; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[1128>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 152|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($65|0) / ($68|0))&-1; - $70 = (($69) + 1)|0; - $71 = (_write32bits($58,$61,$64,$70)|0); - HEAP32[$rc>>2] = $71; - $72 = (0)!=($71|0); - if (!($72)) { - $73 = HEAP32[$1>>2]|0; - $74 = (($73) + 64|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$2>>2]|0; - $77 = HEAP32[$nMaster>>2]|0; - $78 = $iHdrOff; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = (_i64Add(($80|0),($83|0),4,0)|0); - $85 = tempRet0; - $86 = (_sqlite3OsWrite($75,$76,$77,$84,$85)|0); - HEAP32[$rc>>2] = $86; - $87 = (0)!=($86|0); - if (!($87)) { - $88 = HEAP32[$1>>2]|0; - $89 = (($88) + 64|0); - $90 = HEAP32[$89>>2]|0; - $91 = $iHdrOff; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (($91) + 4)|0; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (_i64Add(($93|0),($96|0),4,0)|0); - $98 = tempRet0; - $99 = HEAP32[$nMaster>>2]|0; - $100 = ($99|0)<(0); - $101 = $100 << 31 >> 31; - $102 = (_i64Add(($97|0),($98|0),($99|0),($101|0))|0); - $103 = tempRet0; - $104 = HEAP32[$nMaster>>2]|0; - $105 = (_write32bits($90,$102,$103,$104)|0); - HEAP32[$rc>>2] = $105; - $106 = (0)!=($105|0); - if (!($106)) { - $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 64|0); - $109 = HEAP32[$108>>2]|0; - $110 = $iHdrOff; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = (_i64Add(($112|0),($115|0),4,0)|0); - $117 = tempRet0; - $118 = HEAP32[$nMaster>>2]|0; - $119 = ($118|0)<(0); - $120 = $119 << 31 >> 31; - $121 = (_i64Add(($116|0),($117|0),($118|0),($120|0))|0); - $122 = tempRet0; - $123 = (_i64Add(($121|0),($122|0),4,0)|0); - $124 = tempRet0; - $125 = HEAP32[$cksum>>2]|0; - $126 = (_write32bits($109,$123,$124,$125)|0); - HEAP32[$rc>>2] = $126; - $127 = (0)!=($126|0); - if (!($127)) { - $128 = HEAP32[$1>>2]|0; - $129 = (($128) + 64|0); - $130 = HEAP32[$129>>2]|0; - $131 = $iHdrOff; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (_i64Add(($133|0),($136|0),4,0)|0); - $138 = tempRet0; - $139 = HEAP32[$nMaster>>2]|0; - $140 = ($139|0)<(0); - $141 = $140 << 31 >> 31; - $142 = (_i64Add(($137|0),($138|0),($139|0),($141|0))|0); - $143 = tempRet0; - $144 = (_i64Add(($142|0),($143|0),8,0)|0); - $145 = tempRet0; - $146 = (_sqlite3OsWrite($130,4384,8,$144,$145)|0); - HEAP32[$rc>>2] = $146; - $147 = (0)!=($146|0); - if (!($147)) { - $149 = HEAP32[$nMaster>>2]|0; - $150 = (($149) + 20)|0; - $151 = ($150|0)<(0); - $152 = $151 << 31 >> 31; - $153 = HEAP32[$1>>2]|0; - $154 = (($153) + 72|0); - $155 = $154; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = (($155) + 4)|0; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = (_i64Add(($157|0),($160|0),($150|0),($152|0))|0); - $162 = tempRet0; - $163 = $154; - $164 = $163; - HEAP32[$164>>2] = $161; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - $167 = HEAP32[$1>>2]|0; - $168 = (($167) + 64|0); - $169 = HEAP32[$168>>2]|0; - $170 = (_sqlite3OsFileSize($169,$jrnlSize)|0); - HEAP32[$rc>>2] = $170; - $171 = (0)==($170|0); - if ($171) { - $172 = $jrnlSize; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = (($172) + 4)|0; - $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$1>>2]|0; - $179 = (($178) + 72|0); - $180 = $179; - $181 = $180; - $182 = HEAP32[$181>>2]|0; - $183 = (($180) + 4)|0; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = ($177|0)>($185|0); - $187 = ($174>>>0)>($182>>>0); - $188 = ($177|0)==($185|0); - $189 = $188 & $187; - $190 = $186 | $189; - if ($190) { - $191 = HEAP32[$1>>2]|0; - $192 = (($191) + 64|0); - $193 = HEAP32[$192>>2]|0; - $194 = HEAP32[$1>>2]|0; - $195 = (($194) + 72|0); - $196 = $195; - $197 = $196; - $198 = HEAP32[$197>>2]|0; - $199 = (($196) + 4)|0; - $200 = $199; - $201 = HEAP32[$200>>2]|0; - $202 = (_sqlite3OsTruncate($193,$198,$201)|0); - HEAP32[$rc>>2] = $202; - } - } - $203 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $203; - $204 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($204|0); - } - } - } - } - } - $148 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $148; - $204 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($204|0); - } + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($3|0)<=($6|0); + if ($7) { + $8 = $0; + $9 = $8; + HEAP32[$9>>2] = 0; + $10 = (($8) + 4)|0; + $11 = $10; + HEAP32[$11>>2] = 0; + $27 = $0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + tempRet0 = ($32); + STACKTOP = sp;return ($29|0); + } else { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + 1)|0; + HEAP32[$13>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($14<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_int64($20)|0); + $22 = tempRet0; + $23 = $0; + $24 = $23; + HEAP32[$24>>2] = $21; + $25 = (($23) + 4)|0; + $26 = $25; + HEAP32[$26>>2] = $22; + $27 = $0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + tempRet0 = ($32); + STACKTOP = sp;return ($29|0); + } + return (0)|0; +} +function _getDoubleArg($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + $1 = sp + 8|0; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($3|0)<=($6|0); + if ($7) { + HEAPF64[$0>>3] = 0.0; + $18 = +HEAPF64[$0>>3]; + STACKTOP = sp;return (+$18); + } else { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($10<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+_sqlite3_value_double($16)); + HEAPF64[$0>>3] = $17; + $18 = +HEAPF64[$0>>3]; + STACKTOP = sp;return (+$18); + } + return +(0.0); +} +function _et_getdigit($val,$cnt) { + $val = $val|0; + $cnt = $cnt|0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $d = 0, $digit = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $digit = sp + 8|0; + $d = sp; + HEAP32[$1>>2] = $val; + HEAP32[$2>>2] = $cnt; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<=(0); + if ($5) { + HEAP8[$0>>0] = 48; + $24 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($24|0); + } else { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + -1)|0; + HEAP32[$6>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = +HEAPF64[$9>>3]; + $11 = (~~(($10))); + HEAP32[$digit>>2] = $11; + $12 = HEAP32[$digit>>2]|0; + $13 = (+($12|0)); + HEAPF64[$d>>3] = $13; + $14 = HEAP32[$digit>>2]|0; + $15 = (($14) + 48)|0; + HEAP32[$digit>>2] = $15; + $16 = HEAP32[$1>>2]|0; + $17 = +HEAPF64[$16>>3]; + $18 = +HEAPF64[$d>>3]; + $19 = $17 - $18; + $20 = $19 * 10.0; + $21 = HEAP32[$1>>2]|0; + HEAPF64[$21>>3] = $20; + $22 = HEAP32[$digit>>2]|0; + $23 = $22&255; + HEAP8[$0>>0] = $23; + $24 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($24|0); + } + return (0)|0; +} +function _getTextArg($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($3|0)<=($6|0); + if ($7) { + HEAP32[$0>>2] = 0; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); + } else { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($10<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_text($16)|0); + HEAP32[$0>>2] = $17; + $18 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($18|0); + } + return (0)|0; +} +function _sqlite3AppendChar($p,$N,$c) { + $p = $p|0; + $N = $N|0; + $c = $c|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + $2 = sp + 8|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $N; + HEAP8[$2>>0] = $c; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = (($5) + ($6))|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($7|0)>=($10|0); + if ($11) { + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = (_sqlite3StrAccumEnlarge($12,$13)|0); + HEAP32[$1>>2] = $14; + $15 = ($14|0)<=(0); + if ($15) { + STACKTOP = sp;return; } } - HEAP32[$0>>2] = 0; - $204 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($204|0); + while(1) { + $16 = HEAP32[$1>>2]|0; + $17 = (($16) + -1)|0; + HEAP32[$1>>2] = $17; + $18 = ($16|0)>(0); + if (!($18)) { + break; + } + $19 = HEAP8[$2>>0]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + 1)|0; + HEAP32[$21>>2] = $23; + $24 = HEAP32[$0>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($26) + ($22)|0); + HEAP8[$27>>0] = $19; + } + STACKTOP = sp;return; } -function _pagerWriteLargeSector($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ii = 0, $nPage = 0, $nPageCount = 0, $nPagePerSector = 0, $needSync = 0; - var $or$cond = 0, $or$cond3 = 0, $pPage = 0, $pPage1 = 0, $pPager = 0, $pg = 0, $pg1 = 0, $rc = 0, label = 0, sp = 0; +function _sqlite3StatusValue($op) { + $op = $op|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $rc = sp + 40|0; - $nPageCount = sp + 36|0; - $pg1 = sp + 32|0; - $nPage = sp + 28|0; - $ii = sp + 24|0; - $needSync = sp + 20|0; - $pPager = sp + 16|0; - $nPagePerSector = sp + 12|0; - $pg = sp + 8|0; - $pPage = sp + 4|0; - $pPage1 = sp; - HEAP32[$0>>2] = $pPg; - HEAP32[$rc>>2] = 0; - HEAP32[$nPage>>2] = 0; - HEAP32[$needSync>>2] = 0; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $op; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); + $2 = (388 + ($1<<2)|0); $3 = HEAP32[$2>>2]|0; - HEAP32[$pPager>>2] = $3; - $4 = HEAP32[$pPager>>2]|0; - $5 = (($4) + 148|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$pPager>>2]|0; - $8 = (($7) + 152|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($6>>>0) / ($9>>>0))&-1; - HEAP32[$nPagePerSector>>2] = $10; - $11 = HEAP32[$pPager>>2]|0; - $12 = (($11) + 20|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = $14 | 4; - $16 = $15&255; - HEAP8[$12>>0] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 20|0); + STACKTOP = sp;return ($3|0); +} +function _sqlite3MallocAlarm($nByte) { + $nByte = $nByte|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $nowUsed = 0, $pArg = 0, $xCallback = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $xCallback = sp + 12|0; + $nowUsed = sp; + $pArg = sp + 8|0; + HEAP32[$0>>2] = $nByte; + $1 = HEAP32[(296)>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return; + } + $3 = HEAP32[(296)>>2]|0; + HEAP32[$xCallback>>2] = $3; + $4 = (_sqlite3StatusValue(0)|0); + $5 = ($4|0)<(0); + $6 = $5 << 31 >> 31; + $7 = $nowUsed; + $8 = $7; + HEAP32[$8>>2] = $4; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + $11 = HEAP32[(300)>>2]|0; + HEAP32[$pArg>>2] = $11; + HEAP32[(296)>>2] = 0; + $12 = HEAP32[$xCallback>>2]|0; + $13 = HEAP32[$pArg>>2]|0; + $14 = $nowUsed; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; $19 = HEAP32[$18>>2]|0; - $20 = (($19) - 1)|0; - $21 = HEAP32[$nPagePerSector>>2]|0; - $22 = (($21) - 1)|0; - $23 = $22 ^ -1; - $24 = $20 & $23; - $25 = (($24) + 1)|0; - HEAP32[$pg1>>2] = $25; - $26 = HEAP32[$pPager>>2]|0; - $27 = (($26) + 24|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$nPageCount>>2] = $28; - $29 = HEAP32[$0>>2]|0; - $30 = (($29) + 20|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$nPageCount>>2]|0; - $33 = ($31>>>0)>($32>>>0); + $20 = HEAP32[$0>>2]|0; + FUNCTION_TABLE_viiii[$12 & 3]($13,$16,$19,$20); + $21 = HEAP32[$xCallback>>2]|0; + HEAP32[(296)>>2] = $21; + $22 = HEAP32[$pArg>>2]|0; + HEAP32[(300)>>2] = $22; + STACKTOP = sp;return; +} +function _mallocWithAlarm($n,$pp) { + $n = $n|0; + $pp = $pp|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $nFull = 0, $nUsed = 0, $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $nFull = sp + 8|0; + $p = sp + 4|0; + $nUsed = sp; + HEAP32[$0>>2] = $n; + HEAP32[$1>>2] = $pp; + $2 = HEAP32[(60)>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = (FUNCTION_TABLE_ii[$2 & 31]($3)|0); + HEAP32[$nFull>>2] = $4; + $5 = HEAP32[$0>>2]|0; + _sqlite3StatusSet(5,$5); + $6 = HEAP32[(296)>>2]|0; + $7 = ($6|0)!=(0|0); do { - if ($33) { - $34 = HEAP32[$0>>2]|0; - $35 = (($34) + 20|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$pg1>>2]|0; - $38 = (($36) - ($37))|0; - $39 = (($38) + 1)|0; - HEAP32[$nPage>>2] = $39; - } else { - $40 = HEAP32[$pg1>>2]|0; - $41 = HEAP32[$nPagePerSector>>2]|0; - $42 = (($40) + ($41))|0; - $43 = (($42) - 1)|0; - $44 = HEAP32[$nPageCount>>2]|0; - $45 = ($43>>>0)>($44>>>0); - if ($45) { - $46 = HEAP32[$nPageCount>>2]|0; - $47 = (($46) + 1)|0; - $48 = HEAP32[$pg1>>2]|0; - $49 = (($47) - ($48))|0; - HEAP32[$nPage>>2] = $49; + if ($7) { + $8 = (_sqlite3StatusValue(0)|0); + HEAP32[$nUsed>>2] = $8; + $9 = HEAP32[$nUsed>>2]|0; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = (288); + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$nFull>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = (_i64Subtract(($14|0),($17|0),($18|0),($20|0))|0); + $22 = tempRet0; + $23 = ($11|0)>($22|0); + $24 = ($9>>>0)>=($21>>>0); + $25 = ($11|0)==($22|0); + $26 = $25 & $24; + $27 = $23 | $26; + if ($27) { + HEAP32[(316)>>2] = 1; + $28 = HEAP32[$nFull>>2]|0; + _sqlite3MallocAlarm($28); break; } else { - $50 = HEAP32[$nPagePerSector>>2]|0; - HEAP32[$nPage>>2] = $50; + HEAP32[(316)>>2] = 0; break; } } } while(0); - HEAP32[$ii>>2] = 0; + $29 = HEAP32[(44)>>2]|0; + $30 = HEAP32[$nFull>>2]|0; + $31 = (FUNCTION_TABLE_ii[$29 & 31]($30)|0); + HEAP32[$p>>2] = $31; + $32 = HEAP32[$p>>2]|0; + $33 = ($32|0)!=(0|0); + if (!($33)) { + $37 = HEAP32[$p>>2]|0; + $38 = HEAP32[$1>>2]|0; + HEAP32[$38>>2] = $37; + $39 = HEAP32[$nFull>>2]|0; + STACKTOP = sp;return ($39|0); + } + $34 = HEAP32[$p>>2]|0; + $35 = (_sqlite3MallocSize($34)|0); + HEAP32[$nFull>>2] = $35; + $36 = HEAP32[$nFull>>2]|0; + _sqlite3StatusAdd(0,$36); + _sqlite3StatusAdd(9,1); + $37 = HEAP32[$p>>2]|0; + $38 = HEAP32[$1>>2]|0; + HEAP32[$38>>2] = $37; + $39 = HEAP32[$nFull>>2]|0; + STACKTOP = sp;return ($39|0); +} +function _sqlite3RegisterDateTimeFunctions() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $i = sp + 8|0; + $pHash = sp + 4|0; + $aFunc = sp; + HEAP32[$pHash>>2] = 472; + HEAP32[$aFunc>>2] = 6852; + HEAP32[$i>>2] = 0; while(1) { - $51 = HEAP32[$ii>>2]|0; - $52 = HEAP32[$nPage>>2]|0; - $53 = ($51|0)<($52|0); - $54 = HEAP32[$rc>>2]|0; - $55 = ($54|0)==(0); - $or$cond = $53 & $55; - if (!($or$cond)) { + $0 = HEAP32[$i>>2]|0; + $1 = ($0|0)<(8); + if (!($1)) { break; } - $56 = HEAP32[$pg1>>2]|0; - $57 = HEAP32[$ii>>2]|0; - $58 = (($56) + ($57))|0; - HEAP32[$pg>>2] = $58; - $59 = HEAP32[$pg>>2]|0; - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($59|0)==($62|0); - if ($63) { - label = 10; - } else { - $64 = HEAP32[$pPager>>2]|0; - $65 = (($64) + 56|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$pg>>2]|0; - $68 = (_sqlite3BitvecTest($66,$67)|0); - $69 = ($68|0)!=(0); - if ($69) { - $92 = HEAP32[$pPager>>2]|0; - $93 = HEAP32[$pg>>2]|0; - $94 = (_sqlite3PagerLookup($92,$93)|0); - HEAP32[$pPage>>2] = $94; - $95 = ($94|0)!=(0|0); - if ($95) { - $96 = HEAP32[$pPage>>2]|0; - $97 = (($96) + 24|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = $99 & 4; - $101 = ($100|0)!=(0); - if ($101) { - HEAP32[$needSync>>2] = 1; - } - $102 = HEAP32[$pPage>>2]|0; - _sqlite3PagerUnrefNotNull($102); - } - } else { - label = 10; - } - } - if ((label|0) == 10) { - label = 0; - $70 = HEAP32[$pg>>2]|0; - $71 = HEAP32[1128>>2]|0; - $72 = HEAP32[$pPager>>2]|0; - $73 = (($72) + 152|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($71|0) / ($74|0))&-1; - $76 = (($75) + 1)|0; - $77 = ($70|0)!=($76|0); - if ($77) { - $78 = HEAP32[$pPager>>2]|0; - $79 = HEAP32[$pg>>2]|0; - $80 = (_sqlite3PagerAcquire($78,$79,$pPage,0)|0); - HEAP32[$rc>>2] = $80; - $81 = HEAP32[$rc>>2]|0; - $82 = ($81|0)==(0); - if ($82) { - $83 = HEAP32[$pPage>>2]|0; - $84 = (_pager_write($83)|0); - HEAP32[$rc>>2] = $84; - $85 = HEAP32[$pPage>>2]|0; - $86 = (($85) + 24|0); - $87 = HEAP16[$86>>1]|0; - $88 = $87&65535; - $89 = $88 & 4; - $90 = ($89|0)!=(0); - if ($90) { - HEAP32[$needSync>>2] = 1; - } - $91 = HEAP32[$pPage>>2]|0; - _sqlite3PagerUnrefNotNull($91); - } - } - } - $103 = HEAP32[$ii>>2]|0; - $104 = (($103) + 1)|0; - HEAP32[$ii>>2] = $104; - } - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)==(0); - $107 = HEAP32[$needSync>>2]|0; - $108 = ($107|0)!=(0); - $or$cond3 = $106 & $108; - if (!($or$cond3)) { - $128 = HEAP32[$pPager>>2]|0; - $129 = (($128) + 20|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = $131 & -5; - $133 = $132&255; - HEAP8[$129>>0] = $133; - $134 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($134|0); + $2 = HEAP32[$pHash>>2]|0; + $3 = HEAP32[$i>>2]|0; + $4 = HEAP32[$aFunc>>2]|0; + $5 = (($4) + (($3*36)|0)|0); + _sqlite3FuncDefInsert($2,$5); + $6 = HEAP32[$i>>2]|0; + $7 = (($6) + 1)|0; + HEAP32[$i>>2] = $7; } - HEAP32[$ii>>2] = 0; + STACKTOP = sp;return; +} +function _sqlite3AlterFunctions() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $i = sp + 8|0; + $pHash = sp + 4|0; + $aFunc = sp; + HEAP32[$pHash>>2] = 472; + HEAP32[$aFunc>>2] = 6744; + HEAP32[$i>>2] = 0; while(1) { - $109 = HEAP32[$ii>>2]|0; - $110 = HEAP32[$nPage>>2]|0; - $111 = ($109|0)<($110|0); - if (!($111)) { - break; - } - $112 = HEAP32[$pPager>>2]|0; - $113 = HEAP32[$pg1>>2]|0; - $114 = HEAP32[$ii>>2]|0; - $115 = (($113) + ($114))|0; - $116 = (_sqlite3PagerLookup($112,$115)|0); - HEAP32[$pPage1>>2] = $116; - $117 = HEAP32[$pPage1>>2]|0; - $118 = ($117|0)!=(0|0); - if ($118) { - $119 = HEAP32[$pPage1>>2]|0; - $120 = (($119) + 24|0); - $121 = HEAP16[$120>>1]|0; - $122 = $121&65535; - $123 = $122 | 4; - $124 = $123&65535; - HEAP16[$120>>1] = $124; - $125 = HEAP32[$pPage1>>2]|0; - _sqlite3PagerUnrefNotNull($125); - } - $126 = HEAP32[$ii>>2]|0; - $127 = (($126) + 1)|0; - HEAP32[$ii>>2] = $127; - } - $128 = HEAP32[$pPager>>2]|0; - $129 = (($128) + 20|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = $131 & -5; - $133 = $132&255; - HEAP8[$129>>0] = $133; - $134 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($134|0); + $0 = HEAP32[$i>>2]|0; + $1 = ($0|0)<(3); + if (!($1)) { + break; + } + $2 = HEAP32[$pHash>>2]|0; + $3 = HEAP32[$i>>2]|0; + $4 = HEAP32[$aFunc>>2]|0; + $5 = (($4) + (($3*36)|0)|0); + _sqlite3FuncDefInsert($2,$5); + $6 = HEAP32[$i>>2]|0; + $7 = (($6) + 1)|0; + HEAP32[$i>>2] = $7; + } + STACKTOP = sp;return; } -function _pager_write($pPg) { - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $cksum = 0, $iOff = 0, $inJournal = 0, $pData2 = 0, $pPager = 0, $rc = 0, label = 0, sp = 0; +function _renameTableFunc($context,$NotUsed,$argv) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $len = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $0 = sp + 36|0; $1 = sp + 28|0; - $pPager = sp + 24|0; - $rc = sp + 20|0; - $inJournal = sp + 16|0; - $cksum = sp + 12|0; - $pData2 = sp + 8|0; - $iOff = sp; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 16|0); + $2 = sp + 24|0; + $zSql = sp + 32|0; + $zTableName = sp + 20|0; + $token = sp + 16|0; + $tname = sp + 40|0; + $zCsr = sp + 48|0; + $len = sp + 52|0; + $zRet = sp + 56|0; + $db = sp + 60|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; - HEAP32[$pPager>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$pPager>>2]|0; - $6 = (($5) + 16|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(2); - if ($9) { - $10 = HEAP32[$pPager>>2]|0; - $11 = (_pager_open_journal($10)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $14; - $201 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($201|0); - } + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zSql>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$zTableName>>2] = $9; + $10 = HEAP32[$zSql>>2]|0; + HEAP32[$zCsr>>2] = $10; + HEAP32[$len>>2] = 0; + $11 = HEAP32[$0>>2]|0; + $12 = (_sqlite3_context_db_handle($11)|0); + HEAP32[$db>>2] = $12; + $13 = HEAP32[$zSql>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + STACKTOP = sp;return; } - $15 = HEAP32[$1>>2]|0; - _sqlite3PcacheMakeDirty($15); - $16 = HEAP32[$pPager>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = (_pageInJournal($16,$17)|0); - HEAP32[$inJournal>>2] = $18; - $19 = HEAP32[$inJournal>>2]|0; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$pPager>>2]|0; - $22 = (($21) + 96|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0); - if (!($24)) { - $25 = HEAP32[$1>>2]|0; - $26 = (_subjRequiresPage($25)|0); - $27 = ($26|0)!=(0); - if ($27) { - label = 7; + while(1) { + $15 = HEAP32[$zCsr>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + label = 7; + break; + } + $18 = HEAP32[$zCsr>>2]|0; + HEAP32[$tname>>2] = $18; + $19 = HEAP32[$len>>2]|0; + $20 = ((($tname)) + 4|0); + HEAP32[$20>>2] = $19; + while(1) { + $21 = HEAP32[$len>>2]|0; + $22 = HEAP32[$zCsr>>2]|0; + $23 = (($22) + ($21)|0); + HEAP32[$zCsr>>2] = $23; + $24 = HEAP32[$zCsr>>2]|0; + $25 = (_sqlite3GetToken($24,$token)|0); + HEAP32[$len>>2] = $25; + $26 = HEAP32[$token>>2]|0; + $27 = ($26|0)==(151); + if (!($27)) { + break; } } - } else { - label = 7; + $28 = HEAP32[$token>>2]|0; + $29 = ($28|0)!=(22); + $30 = HEAP32[$token>>2]|0; + $31 = ($30|0)!=(125); + $32 = $29 ? $31 : 0; + if (!($32)) { + break; + } } if ((label|0) == 7) { - $28 = HEAP32[$inJournal>>2]|0; - $29 = ($28|0)!=(0); - do { - if (!($29)) { - $30 = HEAP32[$pPager>>2]|0; - $31 = (_pagerUseWal($30)|0); - $32 = ($31|0)!=(0); - if (!($32)) { - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 20|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$pPager>>2]|0; - $37 = (($36) + 28|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($35>>>0)<=($38>>>0); - if ($39) { - $40 = HEAP32[$pPager>>2]|0; - $41 = (($40) + 64|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - if ($44) { - $45 = HEAP32[$pPager>>2]|0; - $46 = (($45) + 72|0); - $47 = $46; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = $iOff; - $54 = $53; - HEAP32[$54>>2] = $49; - $55 = (($53) + 4)|0; - $56 = $55; - HEAP32[$56>>2] = $52; - $57 = HEAP32[$1>>2]|0; - $58 = (($57) + 4|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$pData2>>2] = $59; - $60 = HEAP32[$pPager>>2]|0; - $61 = HEAP32[$pData2>>2]|0; - $62 = (_pager_cksum($60,$61)|0); - HEAP32[$cksum>>2] = $62; - $63 = HEAP32[$1>>2]|0; - $64 = (($63) + 24|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65&65535; - $67 = $66 | 4; - $68 = $67&65535; - HEAP16[$64>>1] = $68; - $69 = HEAP32[$pPager>>2]|0; - $70 = (($69) + 64|0); - $71 = HEAP32[$70>>2]|0; - $72 = $iOff; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$1>>2]|0; - $79 = (($78) + 20|0); - $80 = HEAP32[$79>>2]|0; - $81 = (_write32bits($71,$74,$77,$80)|0); - HEAP32[$rc>>2] = $81; - $82 = HEAP32[$rc>>2]|0; - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $84; - $201 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($201|0); - } - $85 = HEAP32[$pPager>>2]|0; - $86 = (($85) + 64|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$pData2>>2]|0; - $89 = HEAP32[$pPager>>2]|0; - $90 = (($89) + 152|0); - $91 = HEAP32[$90>>2]|0; - $92 = $iOff; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (_i64Add(($94|0),($97|0),4,0)|0); - $99 = tempRet0; - $100 = (_sqlite3OsWrite($87,$88,$91,$98,$99)|0); - HEAP32[$rc>>2] = $100; - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - $103 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $103; - $201 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($201|0); - } - $104 = HEAP32[$pPager>>2]|0; - $105 = (($104) + 64|0); - $106 = HEAP32[$105>>2]|0; - $107 = $iOff; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$pPager>>2]|0; - $114 = (($113) + 152|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)<(0); - $117 = $116 << 31 >> 31; - $118 = (_i64Add(($109|0),($112|0),($115|0),($117|0))|0); - $119 = tempRet0; - $120 = (_i64Add(($118|0),($119|0),4,0)|0); - $121 = tempRet0; - $122 = HEAP32[$cksum>>2]|0; - $123 = (_write32bits($106,$120,$121,$122)|0); - HEAP32[$rc>>2] = $123; - $124 = HEAP32[$rc>>2]|0; - $125 = ($124|0)!=(0); - if ($125) { - $126 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $126; - $201 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($201|0); - } - $127 = HEAP32[$pPager>>2]|0; - $128 = (($127) + 152|0); - $129 = HEAP32[$128>>2]|0; - $130 = (8 + ($129))|0; - $131 = ($130|0)<(0); - $132 = $131 << 31 >> 31; - $133 = HEAP32[$pPager>>2]|0; - $134 = (($133) + 72|0); - $135 = $134; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = (($135) + 4)|0; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (_i64Add(($137|0),($140|0),($130|0),($132|0))|0); - $142 = tempRet0; - $143 = $134; - $144 = $143; - HEAP32[$144>>2] = $141; - $145 = (($143) + 4)|0; - $146 = $145; - HEAP32[$146>>2] = $142; - $147 = HEAP32[$pPager>>2]|0; - $148 = (($147) + 44|0); - $149 = HEAP32[$148>>2]|0; - $150 = (($149) + 1)|0; - HEAP32[$148>>2] = $150; - $151 = HEAP32[$pPager>>2]|0; - $152 = (($151) + 56|0); - $153 = HEAP32[$152>>2]|0; - $154 = HEAP32[$1>>2]|0; - $155 = (($154) + 20|0); - $156 = HEAP32[$155>>2]|0; - $157 = (_sqlite3BitvecSet($153,$156)|0); - HEAP32[$rc>>2] = $157; - $158 = HEAP32[$pPager>>2]|0; - $159 = HEAP32[$1>>2]|0; - $160 = (($159) + 20|0); - $161 = HEAP32[$160>>2]|0; - $162 = (_addToSavepointBitvecs($158,$161)|0); - $163 = HEAP32[$rc>>2]|0; - $164 = $163 | $162; - HEAP32[$rc>>2] = $164; - $165 = HEAP32[$rc>>2]|0; - $166 = ($165|0)!=(0); - if (!($166)) { - break; - } - $167 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $167; - $201 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($201|0); - } - } - $168 = HEAP32[$pPager>>2]|0; - $169 = (($168) + 16|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = ($171|0)!=(4); - if ($172) { - $173 = HEAP32[$1>>2]|0; - $174 = (($173) + 24|0); - $175 = HEAP16[$174>>1]|0; - $176 = $175&65535; - $177 = $176 | 4; - $178 = $177&65535; - HEAP16[$174>>1] = $178; - } - } - } - } while(0); - $179 = HEAP32[$pPager>>2]|0; - $180 = (($179) + 96|0); - $181 = HEAP32[$180>>2]|0; - $182 = ($181|0)>(0); - if ($182) { - $183 = HEAP32[$1>>2]|0; - $184 = (_subjRequiresPage($183)|0); - $185 = ($184|0)!=(0); - if ($185) { - $186 = HEAP32[$1>>2]|0; - $187 = (_subjournalPage($186)|0); - HEAP32[$rc>>2] = $187; + STACKTOP = sp;return; + } + $33 = HEAP32[$db>>2]|0; + $34 = HEAP32[$tname>>2]|0; + $35 = HEAP32[$zSql>>2]|0; + $36 = $34; + $37 = $35; + $38 = (($36) - ($37))|0; + $39 = HEAP32[$zSql>>2]|0; + $40 = HEAP32[$zTableName>>2]|0; + $41 = HEAP32[$tname>>2]|0; + $42 = ((($tname)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + ($43)|0); + HEAP32[$vararg_buffer>>2] = $38; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $39; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $40; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $44; + $45 = (_sqlite3MPrintf($33,36983,$vararg_buffer)|0); + HEAP32[$zRet>>2] = $45; + $46 = HEAP32[$0>>2]|0; + $47 = HEAP32[$zRet>>2]|0; + _sqlite3_result_text($46,$47,-1,23); + STACKTOP = sp;return; +} +function _renameTriggerFunc($context,$NotUsed,$argv) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $dist = 0; + var $len = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $0 = sp + 16|0; + $1 = sp + 28|0; + $2 = sp + 32|0; + $zSql = sp + 36|0; + $zTableName = sp + 20|0; + $token = sp + 24|0; + $tname = sp + 40|0; + $dist = sp + 48|0; + $zCsr = sp + 52|0; + $len = sp + 56|0; + $zRet = sp + 60|0; + $db = sp + 64|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zSql>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$zTableName>>2] = $9; + HEAP32[$dist>>2] = 3; + $10 = HEAP32[$zSql>>2]|0; + HEAP32[$zCsr>>2] = $10; + HEAP32[$len>>2] = 0; + $11 = HEAP32[$0>>2]|0; + $12 = (_sqlite3_context_db_handle($11)|0); + HEAP32[$db>>2] = $12; + $13 = HEAP32[$zSql>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + STACKTOP = sp;return; + } + while(1) { + $15 = HEAP32[$zCsr>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + label = 8; + break; + } + $18 = HEAP32[$zCsr>>2]|0; + HEAP32[$tname>>2] = $18; + $19 = HEAP32[$len>>2]|0; + $20 = ((($tname)) + 4|0); + HEAP32[$20>>2] = $19; + while(1) { + $21 = HEAP32[$len>>2]|0; + $22 = HEAP32[$zCsr>>2]|0; + $23 = (($22) + ($21)|0); + HEAP32[$zCsr>>2] = $23; + $24 = HEAP32[$zCsr>>2]|0; + $25 = (_sqlite3GetToken($24,$token)|0); + HEAP32[$len>>2] = $25; + $26 = HEAP32[$token>>2]|0; + $27 = ($26|0)==(151); + if (!($27)) { + break; } } + $28 = HEAP32[$dist>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$dist>>2] = $29; + $30 = HEAP32[$token>>2]|0; + $31 = ($30|0)==(122); + $32 = HEAP32[$token>>2]|0; + $33 = ($32|0)==(107); + $or$cond = $31 | $33; + $$ = $or$cond ? 0 : $29; + HEAP32[$dist>>2] = $$; + $34 = HEAP32[$dist>>2]|0; + $35 = ($34|0)!=(2); + if ($35) { + continue; + } + $36 = HEAP32[$token>>2]|0; + $37 = ($36|0)!=(137); + $38 = HEAP32[$token>>2]|0; + $39 = ($38|0)!=(46); + $or$cond3 = $37 & $39; + $40 = HEAP32[$token>>2]|0; + $41 = ($40|0)!=(5); + $or$cond6 = $or$cond3 & $41; + if (!($or$cond6)) { + break; + } } - $188 = HEAP32[$pPager>>2]|0; - $189 = (($188) + 24|0); - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$1>>2]|0; - $192 = (($191) + 20|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($190>>>0)<($193>>>0); - if ($194) { - $195 = HEAP32[$1>>2]|0; - $196 = (($195) + 20|0); - $197 = HEAP32[$196>>2]|0; - $198 = HEAP32[$pPager>>2]|0; - $199 = (($198) + 24|0); - HEAP32[$199>>2] = $197; + if ((label|0) == 8) { + STACKTOP = sp;return; } - $200 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $200; - $201 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($201|0); + $42 = HEAP32[$db>>2]|0; + $43 = HEAP32[$tname>>2]|0; + $44 = HEAP32[$zSql>>2]|0; + $45 = $43; + $46 = $44; + $47 = (($45) - ($46))|0; + $48 = HEAP32[$zSql>>2]|0; + $49 = HEAP32[$zTableName>>2]|0; + $50 = HEAP32[$tname>>2]|0; + $51 = ((($tname)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + ($52)|0); + HEAP32[$vararg_buffer>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $48; + $vararg_ptr8 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $49; + $vararg_ptr9 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $53; + $54 = (_sqlite3MPrintf($42,36983,$vararg_buffer)|0); + HEAP32[$zRet>>2] = $54; + $55 = HEAP32[$0>>2]|0; + $56 = HEAP32[$zRet>>2]|0; + _sqlite3_result_text($55,$56,-1,23); + STACKTOP = sp;return; } -function _pager_open_journal($pPager) { - $pPager = $pPager|0; +function _renameParentFunc($context,$NotUsed,$argv) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $flags = 0, $pVfs = 0, $rc = 0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $9 = 0, $db = 0, $n = 0, $or$cond = 0, $token = 0, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $z = 0, $zInput = 0, $zNew = 0, $zOld = 0, $zOut = 0, $zOutput = 0, $zParent = 0; + var $zResult = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $rc = sp + 8|0; - $pVfs = sp + 4|0; - $flags = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$pVfs>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 40|0); + STACKTOP = STACKTOP + 80|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer = sp; + $0 = sp + 24|0; + $1 = sp + 36|0; + $2 = sp + 28|0; + $db = sp + 44|0; + $zOutput = sp + 32|0; + $zResult = sp + 40|0; + $zInput = sp + 48|0; + $zOld = sp + 52|0; + $zNew = sp + 56|0; + $z = sp + 60|0; + $n = sp + 64|0; + $token = sp + 68|0; + $zParent = sp + 72|0; + $zOut = sp + 76|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + HEAP32[$zOutput>>2] = 0; + $5 = HEAP32[$2>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = HEAP32[$1>>2]|0; - if ($7) { - $9 = (($8) + 40|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$0>>2] = $10; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); - } - $11 = (_pagerUseWal($8)|0); - $12 = ($11|0)!=(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 5|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($16|0)!=(2); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = (($18) + 24|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3BitvecCreate($20)|0); - $22 = HEAP32[$1>>2]|0; - $23 = (($22) + 56|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$1>>2]|0; - $25 = (($24) + 56|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if ($27) { - HEAP32[$0>>2] = 7; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); - } - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 64|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - do { - if (!($32)) { - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 5|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==(4); - $38 = HEAP32[$1>>2]|0; - if ($37) { - $39 = (($38) + 64|0); - $40 = HEAP32[$39>>2]|0; - _sqlite3MemJournalOpen($40); - break; - } - $41 = (($38) + 12|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43|0)!=(0); - $45 = $44 ? 4104 : 2048; - $46 = 6 | $45; - HEAP32[$flags>>2] = $46; - $47 = HEAP32[$1>>2]|0; - $48 = (_databaseIsUnmoved($47)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$pVfs>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = (($52) + 172|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = (($55) + 64|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$flags>>2]|0; - $59 = (_sqlite3OsOpen($51,$54,$57,$58,0)|0); - HEAP32[$rc>>2] = $59; - } + $7 = (_sqlite3_value_text($6)|0); + HEAP32[$zInput>>2] = $7; + $8 = HEAP32[$2>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3_value_text($10)|0); + HEAP32[$zOld>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_text($14)|0); + HEAP32[$zNew>>2] = $15; + $16 = HEAP32[$zInput>>2]|0; + $17 = ($16|0)==(0|0); + $18 = HEAP32[$zOld>>2]|0; + $19 = ($18|0)==(0|0); + $or$cond = $17 | $19; + if ($or$cond) { + STACKTOP = sp;return; + } + $20 = HEAP32[$zInput>>2]|0; + HEAP32[$z>>2] = $20; + while(1) { + $21 = HEAP32[$z>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = ($22<<24>>24)!=(0); + if (!($23)) { + break; + } + $24 = HEAP32[$z>>2]|0; + $25 = (_sqlite3GetToken($24,$token)|0); + HEAP32[$n>>2] = $25; + $26 = HEAP32[$token>>2]|0; + $27 = ($26|0)==(105); + if ($27) { + while(1) { + $28 = HEAP32[$n>>2]|0; + $29 = HEAP32[$z>>2]|0; + $30 = (($29) + ($28)|0); + HEAP32[$z>>2] = $30; + $31 = HEAP32[$z>>2]|0; + $32 = (_sqlite3GetToken($31,$token)|0); + HEAP32[$n>>2] = $32; + $33 = HEAP32[$token>>2]|0; + $34 = ($33|0)==(151); + if (!($34)) { + break; } - } while(0); - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)==(0); - if ($61) { - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 44|0); - HEAP32[$63>>2] = 0; - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 72|0); - $66 = $65; - $67 = $66; - HEAP32[$67>>2] = 0; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = 0; - $70 = HEAP32[$1>>2]|0; - $71 = (($70) + 19|0); - HEAP8[$71>>0] = 0; - $72 = HEAP32[$1>>2]|0; - $73 = (($72) + 80|0); - $74 = $73; - $75 = $74; - HEAP32[$75>>2] = 0; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = 0; - $78 = HEAP32[$1>>2]|0; - $79 = (_writeJournalHdr($78)|0); - HEAP32[$rc>>2] = $79; } + $35 = HEAP32[$db>>2]|0; + $36 = HEAP32[$z>>2]|0; + $37 = HEAP32[$n>>2]|0; + $38 = ($37|0)<(0); + $39 = $38 << 31 >> 31; + $40 = (_sqlite3DbStrNDup($35,$36,$37,$39)|0); + HEAP32[$zParent>>2] = $40; + $41 = HEAP32[$zParent>>2]|0; + $42 = ($41|0)==(0|0); + if ($42) { + break; + } + $43 = HEAP32[$zParent>>2]|0; + (_sqlite3Dequote($43)|0); + $44 = HEAP32[$zOld>>2]|0; + $45 = HEAP32[$zParent>>2]|0; + $46 = (_sqlite3_stricmp($44,$45)|0); + $47 = (0)==($46|0); + if ($47) { + $48 = HEAP32[$db>>2]|0; + $49 = HEAP32[$zOutput>>2]|0; + $50 = ($49|0)!=(0|0); + $51 = HEAP32[$zOutput>>2]|0; + $52 = $50 ? $51 : 14425; + $53 = HEAP32[$z>>2]|0; + $54 = HEAP32[$zInput>>2]|0; + $55 = $53; + $56 = $54; + $57 = (($55) - ($56))|0; + $58 = HEAP32[$zInput>>2]|0; + $59 = HEAP32[$zNew>>2]|0; + HEAP32[$vararg_buffer>>2] = $52; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $57; + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr3>>2] = $58; + $vararg_ptr4 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr4>>2] = $59; + $60 = (_sqlite3MPrintf($48,36972,$vararg_buffer)|0); + HEAP32[$zOut>>2] = $60; + $61 = HEAP32[$db>>2]|0; + $62 = HEAP32[$zOutput>>2]|0; + _sqlite3DbFree($61,$62); + $63 = HEAP32[$zOut>>2]|0; + HEAP32[$zOutput>>2] = $63; + $64 = HEAP32[$n>>2]|0; + $65 = HEAP32[$z>>2]|0; + $66 = (($65) + ($64)|0); + HEAP32[$zInput>>2] = $66; + } + $67 = HEAP32[$db>>2]|0; + $68 = HEAP32[$zParent>>2]|0; + _sqlite3DbFree($67,$68); } + $69 = HEAP32[$z>>2]|0; + $70 = HEAP32[$n>>2]|0; + $71 = (($69) + ($70)|0); + HEAP32[$z>>2] = $71; } - $80 = HEAP32[$rc>>2]|0; - $81 = ($80|0)!=(0); - $82 = HEAP32[$1>>2]|0; - if ($81) { - $83 = (($82) + 56|0); - $84 = HEAP32[$83>>2]|0; - _sqlite3BitvecDestroy($84); - $85 = HEAP32[$1>>2]|0; - $86 = (($85) + 56|0); - HEAP32[$86>>2] = 0; - } else { - $87 = (($82) + 16|0); - HEAP8[$87>>0] = 3; - } - $88 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $88; - $89 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($89|0); + $72 = HEAP32[$db>>2]|0; + $73 = HEAP32[$zOutput>>2]|0; + $74 = ($73|0)!=(0|0); + $75 = HEAP32[$zOutput>>2]|0; + $76 = $74 ? $75 : 14425; + $77 = HEAP32[$zInput>>2]|0; + HEAP32[$vararg_buffer5>>2] = $76; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $77; + $78 = (_sqlite3MPrintf($72,19992,$vararg_buffer5)|0); + HEAP32[$zResult>>2] = $78; + $79 = HEAP32[$0>>2]|0; + $80 = HEAP32[$zResult>>2]|0; + _sqlite3_result_text($79,$80,-1,23); + $81 = HEAP32[$db>>2]|0; + $82 = HEAP32[$zOutput>>2]|0; + _sqlite3DbFree($81,$82); + STACKTOP = sp;return; } -function _pageInJournal($pPager,$pPg) { - $pPager = $pPager|0; - $pPg = $pPg|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; +function _juliandayFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pPager; - HEAP32[$1>>2] = $pPg; - $2 = HEAP32[$0>>2]|0; - $3 = (($2) + 56|0); - $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3BitvecTest($4,$7)|0); - STACKTOP = sp;return ($8|0); + STACKTOP = STACKTOP + 64|0; + $0 = sp + 56|0; + $1 = sp + 52|0; + $2 = sp + 48|0; + $x = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_isDate($3,$4,$5,$x)|0); + $7 = ($6|0)==(0); + if (!($7)) { + STACKTOP = sp;return; + } + _computeJD($x); + $8 = HEAP32[$0>>2]|0; + $9 = $x; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (+($11>>>0)) + (4294967296.0*(+($14|0))); + $16 = $15 / 8.64E+7; + _sqlite3_result_double($8,$16); + STACKTOP = sp;return; } -function _databaseIsUnmoved($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $bHasMoved = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; +function _dateFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0, $zBuf = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $bHasMoved = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$bHasMoved>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 12|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + 60|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3OsFileControl($12,20,$bHasMoved)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)==(12); - if ($15) { - HEAP32[$rc>>2] = 0; - } else { - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)==(0); - $18 = HEAP32[$bHasMoved>>2]|0; - $19 = ($18|0)!=(0); - $or$cond = $17 & $19; - if ($or$cond) { - HEAP32[$rc>>2] = 1032; - } + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 48|0; + $0 = sp + 68|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $x = sp; + $zBuf = sp + 72|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_isDate($3,$4,$5,$x)|0); + $7 = ($6|0)==(0); + if (!($7)) { + STACKTOP = sp;return; } - $20 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $20; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + _computeYMD($x); + $8 = ((($x)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($x)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($x)) + 16|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $11; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + (_sqlite3_snprintf(100,$zBuf,37247,$vararg_buffer)|0); + $14 = HEAP32[$0>>2]|0; + _sqlite3_result_text($14,$zBuf,-1,(-1)); + STACKTOP = sp;return; } -function _pagerAcquireMapPage($pPager,$pgno,$pData,$ppPage) { - $pPager = $pPager|0; - $pgno = $pgno|0; - $pData = $pData|0; - $ppPage = $ppPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _timeFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0; + var $zBuf = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $pData; - HEAP32[$4>>2] = $ppPage; - $5 = HEAP32[$1>>2]|0; - $6 = (($5) + 136|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$1>>2]|0; - do { - if ($8) { - $10 = (($9) + 136|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$p>>2] = $11; - $12 = HEAP32[$4>>2]|0; - HEAP32[$12>>2] = $11; - $13 = HEAP32[$p>>2]|0; - $14 = (($13) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 136|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$p>>2]|0; - $19 = (($18) + 12|0); - HEAP32[$19>>2] = 0; - $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = (($23) + 140|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - _memset(($22|0),0,($26|0))|0; - } else { - $27 = (($9) + 140|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = (40 + ($29))|0; - $31 = (_sqlite3MallocZero($30,0)|0); - HEAP32[$p>>2] = $31; - $32 = HEAP32[$4>>2]|0; - HEAP32[$32>>2] = $31; - $33 = HEAP32[$p>>2]|0; - $34 = ($33|0)==(0|0); - if (!($34)) { - $48 = HEAP32[$p>>2]|0; - $49 = (($48) + 40|0); - $50 = HEAP32[$p>>2]|0; - $51 = (($50) + 8|0); - HEAP32[$51>>2] = $49; - $52 = HEAP32[$p>>2]|0; - $53 = (($52) + 24|0); - HEAP16[$53>>1] = 64; - $54 = HEAP32[$p>>2]|0; - $55 = (($54) + 26|0); - HEAP16[$55>>1] = 1; - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$p>>2]|0; - $58 = (($57) + 16|0); - HEAP32[$58>>2] = $56; - break; - } - $35 = HEAP32[$1>>2]|0; - $36 = (($35) + 60|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = (($38) - 1)|0; - $40 = HEAP32[$1>>2]|0; - $41 = (($40) + 152|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = (___muldi3(($39|0),0,($42|0),($44|0))|0); - $46 = tempRet0; - $47 = HEAP32[$3>>2]|0; - (_sqlite3OsUnfetch($37,$45,$46,$47)|0); - HEAP32[$0>>2] = 7; - $69 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($69|0); - } - } while(0); - $59 = HEAP32[$2>>2]|0; - $60 = HEAP32[$p>>2]|0; - $61 = (($60) + 20|0); - HEAP32[$61>>2] = $59; - $62 = HEAP32[$3>>2]|0; - $63 = HEAP32[$p>>2]|0; - $64 = (($63) + 4|0); - HEAP32[$64>>2] = $62; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + 120|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - HEAP32[$0>>2] = 0; - $69 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($69|0); + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 48|0; + $0 = sp + 68|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $x = sp; + $zBuf = sp + 72|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_isDate($3,$4,$5,$x)|0); + $7 = ($6|0)==(0); + if (!($7)) { + STACKTOP = sp;return; + } + _computeHMS($x); + $8 = ((($x)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($x)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($x)) + 32|0); + $13 = +HEAPF64[$12>>3]; + $14 = (~~(($13))); + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $11; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $14; + (_sqlite3_snprintf(100,$zBuf,37232,$vararg_buffer)|0); + $15 = HEAP32[$0>>2]|0; + _sqlite3_result_text($15,$zBuf,-1,(-1)); + STACKTOP = sp;return; } -function _sqlite3PcacheFetchStress($pCache,$pgno,$ppPage) { - $pCache = $pCache|0; - $pgno = $pgno|0; - $ppPage = $ppPage|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pPg = 0, $rc = 0, label = 0, sp = 0; +function _datetimeFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $x = 0, $zBuf = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pPg = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pCache; - HEAP32[$2>>2] = $pgno; - HEAP32[$3>>2] = $ppPage; + STACKTOP = STACKTOP + 192|0; + $vararg_buffer = sp + 48|0; + $0 = sp + 80|0; + $1 = sp + 76|0; + $2 = sp + 72|0; + $x = sp; + $zBuf = sp + 84|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 29|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)==(2); - if ($8) { - HEAP32[$0>>2] = 0; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); + $5 = HEAP32[$2>>2]|0; + $6 = (_isDate($3,$4,$5,$x)|0); + $7 = ($6|0)==(0); + if (!($7)) { + STACKTOP = sp;return; } - $9 = HEAP32[$1>>2]|0; - $10 = (($9) + 8|0); + _computeYMD_HMS($x); + $8 = ((($x)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($x)) + 12|0); $11 = HEAP32[$10>>2]|0; - HEAP32[$pPg>>2] = $11; - while(1) { - $12 = HEAP32[$pPg>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { + $12 = ((($x)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($x)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($x)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($x)) + 32|0); + $19 = +HEAPF64[$18>>3]; + $20 = (~~(($19))); + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $11; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $15; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $17; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $20; + (_sqlite3_snprintf(100,$zBuf,37202,$vararg_buffer)|0); + $21 = HEAP32[$0>>2]|0; + _sqlite3_result_text($21,$zBuf,-1,(-1)); + STACKTOP = sp;return; +} +function _strftimeFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0; + var $189 = 0.0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0.0, $274 = 0.0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $n = 0, $nDay = 0, $s = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0; + var $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $wd = 0, $x = 0, $y = 0, $z = 0, $zBuf = 0, $zFmt = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; + $vararg_buffer28 = sp + 136|0; + $vararg_buffer25 = sp + 152|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 192|0; + $vararg_buffer16 = sp + 168|0; + $vararg_buffer13 = sp + 160|0; + $vararg_buffer10 = sp + 176|0; + $vararg_buffer7 = sp + 184|0; + $vararg_buffer4 = sp + 72|0; + $vararg_buffer1 = sp + 128|0; + $vararg_buffer = sp; + $0 = sp + 220|0; + $1 = sp + 208|0; + $2 = sp + 200|0; + $x = sp + 80|0; + $n = sp + 56|0; + $i = sp + 212|0; + $j = sp + 204|0; + $z = sp + 216|0; + $db = sp + 224|0; + $zFmt = sp + 196|0; + $zBuf = sp + 236|0; + $s = sp + 144|0; + $nDay = sp + 228|0; + $y = sp + 8|0; + $wd = sp + 232|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zFmt>>2] = $5; + $6 = HEAP32[$zFmt>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = (($9) - 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + $13 = (_isDate($8,$10,$12,$x)|0); + $14 = ($13|0)!=(0); + if ($14) { + STACKTOP = sp;return; + } + $15 = HEAP32[$0>>2]|0; + $16 = (_sqlite3_context_db_handle($15)|0); + HEAP32[$db>>2] = $16; + HEAP32[$i>>2] = 0; + $17 = $n; + $18 = $17; + HEAP32[$18>>2] = 1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = 0; + L7: while(1) { + $21 = HEAP32[$i>>2]|0; + $22 = HEAP32[$zFmt>>2]|0; + $23 = (($22) + ($21)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)!=(0); + if (!($25)) { break; } - $14 = HEAP32[$pPg>>2]|0; - $15 = (($14) + 26|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16 << 16 >> 16; - $18 = ($17|0)!=(0); - if (!($18)) { - $19 = HEAP32[$pPg>>2]|0; - $20 = (($19) + 24|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 & 4; - $24 = ($23|0)!=(0); - if (!($24)) { + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$zFmt>>2]|0; + $28 = (($27) + ($26)|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)==(37); + if ($31) { + $32 = HEAP32[$i>>2]|0; + $33 = (($32) + 1)|0; + $34 = HEAP32[$zFmt>>2]|0; + $35 = (($34) + ($33)|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + switch ($37|0) { + case 87: case 83: case 77: case 109: case 72: case 100: { + $38 = $n; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (_i64Add(($40|0),($43|0),1,0)|0); + $45 = tempRet0; + $46 = $n; + $47 = $46; + HEAP32[$47>>2] = $44; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + break; + } + case 37: case 119: { + break; + } + case 102: { + $50 = $n; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (_i64Add(($52|0),($55|0),8,0)|0); + $57 = tempRet0; + $58 = $n; + $59 = $58; + HEAP32[$59>>2] = $56; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + break; + } + case 106: { + $62 = $n; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (_i64Add(($64|0),($67|0),3,0)|0); + $69 = tempRet0; + $70 = $n; + $71 = $70; + HEAP32[$71>>2] = $68; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + break; + } + case 89: { + $74 = $n; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (_i64Add(($76|0),($79|0),8,0)|0); + $81 = tempRet0; + $82 = $n; + $83 = $82; + HEAP32[$83>>2] = $80; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + break; + } + case 74: case 115: { + $86 = $n; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (_i64Add(($88|0),($91|0),50,0)|0); + $93 = tempRet0; + $94 = $n; + $95 = $94; + HEAP32[$95>>2] = $92; + $96 = (($94) + 4)|0; + $97 = $96; + HEAP32[$97>>2] = $93; break; } + default: { + label = 43; + break L7; + } + } + $98 = HEAP32[$i>>2]|0; + $99 = (($98) + 1)|0; + HEAP32[$i>>2] = $99; } - $25 = HEAP32[$pPg>>2]|0; - $26 = (($25) + 36|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pPg>>2] = $27; + $100 = HEAP32[$i>>2]|0; + $101 = (($100) + 1)|0; + HEAP32[$i>>2] = $101; + $102 = $n; + $103 = $102; + $104 = HEAP32[$103>>2]|0; + $105 = (($102) + 4)|0; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (_i64Add(($104|0),($107|0),1,0)|0); + $109 = tempRet0; + $110 = $n; + $111 = $110; + HEAP32[$111>>2] = $108; + $112 = (($110) + 4)|0; + $113 = $112; + HEAP32[$113>>2] = $109; } - $28 = HEAP32[$pPg>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = (($29) + 8|0); - HEAP32[$30>>2] = $28; - $31 = HEAP32[$pPg>>2]|0; - $32 = ($31|0)!=(0|0); - L12: do { - if (!($32)) { - $33 = HEAP32[$1>>2]|0; - $34 = (($33) + 4|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$pPg>>2] = $35; - while(1) { - $36 = HEAP32[$pPg>>2]|0; - $37 = ($36|0)!=(0|0); - if (!($37)) { - break L12; - } - $38 = HEAP32[$pPg>>2]|0; - $39 = (($38) + 26|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40 << 16 >> 16; - $42 = ($41|0)!=(0); - if (!($42)) { - break L12; - } - $43 = HEAP32[$pPg>>2]|0; - $44 = (($43) + 36|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$pPg>>2] = $45; + if ((label|0) == 43) { + STACKTOP = sp;return; + } + $114 = $n; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = (($114) + 4)|0; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = ($119>>>0)<(0); + $121 = ($116>>>0)<(100); + $122 = ($119|0)==(0); + $123 = $122 & $121; + $124 = $120 | $123; + if ($124) { + HEAP32[$z>>2] = $zBuf; + } else { + $125 = $n; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$db>>2]|0; + $132 = ((($131)) + 88|0); + $133 = HEAP32[$132>>2]|0; + $134 = ($133|0)<(0); + $135 = $134 << 31 >> 31; + $136 = ($130>>>0)>($135>>>0); + $137 = ($127>>>0)>($133>>>0); + $138 = ($130|0)==($135|0); + $139 = $138 & $137; + $140 = $136 | $139; + if ($140) { + $141 = HEAP32[$0>>2]|0; + _sqlite3_result_error_toobig($141); + STACKTOP = sp;return; + } + $142 = HEAP32[$db>>2]|0; + $143 = $n; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = (($143) + 4)|0; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = ($145|0)<(0); + $150 = $149 << 31 >> 31; + $151 = (_sqlite3DbMallocRaw($142,$145,$150)|0); + HEAP32[$z>>2] = $151; + $152 = HEAP32[$z>>2]|0; + $153 = ($152|0)==(0|0); + if ($153) { + $154 = HEAP32[$0>>2]|0; + _sqlite3_result_error_nomem($154); + STACKTOP = sp;return; + } + } + _computeJD($x); + _computeYMD_HMS($x); + HEAP32[$j>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $155 = HEAP32[$i>>2]|0; + $156 = HEAP32[$zFmt>>2]|0; + $157 = (($156) + ($155)|0); + $158 = HEAP8[$157>>0]|0; + $159 = ($158<<24>>24)!=(0); + if (!($159)) { + break; + } + $160 = HEAP32[$i>>2]|0; + $161 = HEAP32[$zFmt>>2]|0; + $162 = (($161) + ($160)|0); + $163 = HEAP8[$162>>0]|0; + $164 = $163 << 24 >> 24; + $165 = ($164|0)!=(37); + $166 = HEAP32[$i>>2]|0; + L36: do { + if ($165) { + $167 = HEAP32[$zFmt>>2]|0; + $168 = (($167) + ($166)|0); + $169 = HEAP8[$168>>0]|0; + $170 = HEAP32[$j>>2]|0; + $171 = (($170) + 1)|0; + HEAP32[$j>>2] = $171; + $172 = HEAP32[$z>>2]|0; + $173 = (($172) + ($170)|0); + HEAP8[$173>>0] = $169; + } else { + $174 = (($166) + 1)|0; + HEAP32[$i>>2] = $174; + $175 = HEAP32[$i>>2]|0; + $176 = HEAP32[$zFmt>>2]|0; + $177 = (($176) + ($175)|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178 << 24 >> 24; + do { + switch ($179|0) { + case 100: { + $180 = HEAP32[$j>>2]|0; + $181 = HEAP32[$z>>2]|0; + $182 = (($181) + ($180)|0); + $183 = ((($x)) + 16|0); + $184 = HEAP32[$183>>2]|0; + HEAP32[$vararg_buffer>>2] = $184; + (_sqlite3_snprintf(3,$182,37076,$vararg_buffer)|0); + $185 = HEAP32[$j>>2]|0; + $186 = (($185) + 2)|0; + HEAP32[$j>>2] = $186; + break L36; + break; + } + case 102: { + $187 = ((($x)) + 32|0); + $188 = +HEAPF64[$187>>3]; + HEAPF64[$s>>3] = $188; + $189 = +HEAPF64[$s>>3]; + $190 = $189 > 59.999000000000002; + if ($190) { + HEAPF64[$s>>3] = 59.999000000000002; + } + $191 = HEAP32[$j>>2]|0; + $192 = HEAP32[$z>>2]|0; + $193 = (($192) + ($191)|0); + $194 = +HEAPF64[$s>>3]; + HEAPF64[$vararg_buffer1>>3] = $194; + (_sqlite3_snprintf(7,$193,37081,$vararg_buffer1)|0); + $195 = HEAP32[$j>>2]|0; + $196 = HEAP32[$z>>2]|0; + $197 = (($196) + ($195)|0); + $198 = (_sqlite3Strlen30($197)|0); + $199 = HEAP32[$j>>2]|0; + $200 = (($199) + ($198))|0; + HEAP32[$j>>2] = $200; + break L36; + break; + } + case 72: { + $201 = HEAP32[$j>>2]|0; + $202 = HEAP32[$z>>2]|0; + $203 = (($202) + ($201)|0); + $204 = ((($x)) + 20|0); + $205 = HEAP32[$204>>2]|0; + HEAP32[$vararg_buffer4>>2] = $205; + (_sqlite3_snprintf(3,$203,37076,$vararg_buffer4)|0); + $206 = HEAP32[$j>>2]|0; + $207 = (($206) + 2)|0; + HEAP32[$j>>2] = $207; + break L36; + break; + } + case 106: case 87: { + dest=$y; src=$x; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $208 = ((($y)) + 42|0); + HEAP8[$208>>0] = 0; + $209 = ((($y)) + 12|0); + HEAP32[$209>>2] = 1; + $210 = ((($y)) + 16|0); + HEAP32[$210>>2] = 1; + _computeJD($y); + $211 = $x; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = (($211) + 4)|0; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = $y; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = (($217) + 4)|0; + $221 = $220; + $222 = HEAP32[$221>>2]|0; + $223 = (_i64Subtract(($213|0),($216|0),($219|0),($222|0))|0); + $224 = tempRet0; + $225 = (_i64Add(($223|0),($224|0),43200000,0)|0); + $226 = tempRet0; + $227 = (___divdi3(($225|0),($226|0),86400000,0)|0); + $228 = tempRet0; + HEAP32[$nDay>>2] = $227; + $229 = HEAP32[$i>>2]|0; + $230 = HEAP32[$zFmt>>2]|0; + $231 = (($230) + ($229)|0); + $232 = HEAP8[$231>>0]|0; + $233 = $232 << 24 >> 24; + $234 = ($233|0)==(87); + if ($234) { + $235 = $x; + $236 = $235; + $237 = HEAP32[$236>>2]|0; + $238 = (($235) + 4)|0; + $239 = $238; + $240 = HEAP32[$239>>2]|0; + $241 = (_i64Add(($237|0),($240|0),43200000,0)|0); + $242 = tempRet0; + $243 = (___divdi3(($241|0),($242|0),86400000,0)|0); + $244 = tempRet0; + $245 = (___remdi3(($243|0),($244|0),7,0)|0); + $246 = tempRet0; + HEAP32[$wd>>2] = $245; + $247 = HEAP32[$j>>2]|0; + $248 = HEAP32[$z>>2]|0; + $249 = (($248) + ($247)|0); + $250 = HEAP32[$nDay>>2]|0; + $251 = (($250) + 7)|0; + $252 = HEAP32[$wd>>2]|0; + $253 = (($251) - ($252))|0; + $254 = (($253|0) / 7)&-1; + HEAP32[$vararg_buffer7>>2] = $254; + (_sqlite3_snprintf(3,$249,37076,$vararg_buffer7)|0); + $255 = HEAP32[$j>>2]|0; + $256 = (($255) + 2)|0; + HEAP32[$j>>2] = $256; + break L36; + } else { + $257 = HEAP32[$j>>2]|0; + $258 = HEAP32[$z>>2]|0; + $259 = (($258) + ($257)|0); + $260 = HEAP32[$nDay>>2]|0; + $261 = (($260) + 1)|0; + HEAP32[$vararg_buffer10>>2] = $261; + (_sqlite3_snprintf(4,$259,37088,$vararg_buffer10)|0); + $262 = HEAP32[$j>>2]|0; + $263 = (($262) + 3)|0; + HEAP32[$j>>2] = $263; + break L36; + } + break; + } + case 74: { + $264 = HEAP32[$j>>2]|0; + $265 = HEAP32[$z>>2]|0; + $266 = (($265) + ($264)|0); + $267 = $x; + $268 = $267; + $269 = HEAP32[$268>>2]|0; + $270 = (($267) + 4)|0; + $271 = $270; + $272 = HEAP32[$271>>2]|0; + $273 = (+($269>>>0)) + (4294967296.0*(+($272|0))); + $274 = $273 / 8.64E+7; + HEAPF64[$vararg_buffer13>>3] = $274; + (_sqlite3_snprintf(20,$266,34085,$vararg_buffer13)|0); + $275 = HEAP32[$j>>2]|0; + $276 = HEAP32[$z>>2]|0; + $277 = (($276) + ($275)|0); + $278 = (_sqlite3Strlen30($277)|0); + $279 = HEAP32[$j>>2]|0; + $280 = (($279) + ($278))|0; + HEAP32[$j>>2] = $280; + break L36; + break; + } + case 109: { + $281 = HEAP32[$j>>2]|0; + $282 = HEAP32[$z>>2]|0; + $283 = (($282) + ($281)|0); + $284 = ((($x)) + 12|0); + $285 = HEAP32[$284>>2]|0; + HEAP32[$vararg_buffer16>>2] = $285; + (_sqlite3_snprintf(3,$283,37076,$vararg_buffer16)|0); + $286 = HEAP32[$j>>2]|0; + $287 = (($286) + 2)|0; + HEAP32[$j>>2] = $287; + break L36; + break; + } + case 77: { + $288 = HEAP32[$j>>2]|0; + $289 = HEAP32[$z>>2]|0; + $290 = (($289) + ($288)|0); + $291 = ((($x)) + 24|0); + $292 = HEAP32[$291>>2]|0; + HEAP32[$vararg_buffer19>>2] = $292; + (_sqlite3_snprintf(3,$290,37076,$vararg_buffer19)|0); + $293 = HEAP32[$j>>2]|0; + $294 = (($293) + 2)|0; + HEAP32[$j>>2] = $294; + break L36; + break; + } + case 115: { + $295 = HEAP32[$j>>2]|0; + $296 = HEAP32[$z>>2]|0; + $297 = (($296) + ($295)|0); + $298 = $x; + $299 = $298; + $300 = HEAP32[$299>>2]|0; + $301 = (($298) + 4)|0; + $302 = $301; + $303 = HEAP32[$302>>2]|0; + $304 = (___divdi3(($300|0),($303|0),1000,0)|0); + $305 = tempRet0; + $306 = (_i64Subtract(($304|0),($305|0),413362496,49)|0); + $307 = tempRet0; + $308 = $vararg_buffer22; + $309 = $308; + HEAP32[$309>>2] = $306; + $310 = (($308) + 4)|0; + $311 = $310; + HEAP32[$311>>2] = $307; + (_sqlite3_snprintf(30,$297,17289,$vararg_buffer22)|0); + $312 = HEAP32[$j>>2]|0; + $313 = HEAP32[$z>>2]|0; + $314 = (($313) + ($312)|0); + $315 = (_sqlite3Strlen30($314)|0); + $316 = HEAP32[$j>>2]|0; + $317 = (($316) + ($315))|0; + HEAP32[$j>>2] = $317; + break L36; + break; + } + case 83: { + $318 = HEAP32[$j>>2]|0; + $319 = HEAP32[$z>>2]|0; + $320 = (($319) + ($318)|0); + $321 = ((($x)) + 32|0); + $322 = +HEAPF64[$321>>3]; + $323 = (~~(($322))); + HEAP32[$vararg_buffer25>>2] = $323; + (_sqlite3_snprintf(3,$320,37076,$vararg_buffer25)|0); + $324 = HEAP32[$j>>2]|0; + $325 = (($324) + 2)|0; + HEAP32[$j>>2] = $325; + break L36; + break; + } + case 119: { + $326 = $x; + $327 = $326; + $328 = HEAP32[$327>>2]|0; + $329 = (($326) + 4)|0; + $330 = $329; + $331 = HEAP32[$330>>2]|0; + $332 = (_i64Add(($328|0),($331|0),129600000,0)|0); + $333 = tempRet0; + $334 = (___divdi3(($332|0),($333|0),86400000,0)|0); + $335 = tempRet0; + $336 = (___remdi3(($334|0),($335|0),7,0)|0); + $337 = tempRet0; + $338 = $336&255; + $339 = $338 << 24 >> 24; + $340 = (($339) + 48)|0; + $341 = $340&255; + $342 = HEAP32[$j>>2]|0; + $343 = (($342) + 1)|0; + HEAP32[$j>>2] = $343; + $344 = HEAP32[$z>>2]|0; + $345 = (($344) + ($342)|0); + HEAP8[$345>>0] = $341; + break L36; + break; + } + case 89: { + $346 = HEAP32[$j>>2]|0; + $347 = HEAP32[$z>>2]|0; + $348 = (($347) + ($346)|0); + $349 = ((($x)) + 8|0); + $350 = HEAP32[$349>>2]|0; + HEAP32[$vararg_buffer28>>2] = $350; + (_sqlite3_snprintf(5,$348,37093,$vararg_buffer28)|0); + $351 = HEAP32[$j>>2]|0; + $352 = HEAP32[$z>>2]|0; + $353 = (($352) + ($351)|0); + $354 = (_sqlite3Strlen30($353)|0); + $355 = HEAP32[$j>>2]|0; + $356 = (($355) + ($354))|0; + HEAP32[$j>>2] = $356; + break L36; + break; + } + default: { + $357 = HEAP32[$j>>2]|0; + $358 = (($357) + 1)|0; + HEAP32[$j>>2] = $358; + $359 = HEAP32[$z>>2]|0; + $360 = (($359) + ($357)|0); + HEAP8[$360>>0] = 37; + break L36; + } + } + } while(0); } - } - } while(0); - $46 = HEAP32[$pPg>>2]|0; - $47 = ($46|0)!=(0|0); - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 32|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$1>>2]|0; - $52 = (($51) + 36|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$pPg>>2]|0; - $55 = (FUNCTION_TABLE_iii[$50 & 63]($53,$54)|0); - HEAP32[$rc>>2] = $55; - $56 = HEAP32[$rc>>2]|0; - $57 = ($56|0)!=(0); - $58 = HEAP32[$rc>>2]|0; - $59 = ($58|0)!=(5); - $or$cond = $57 & $59; - if ($or$cond) { - $60 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $60; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); - } + } while(0); + $361 = HEAP32[$i>>2]|0; + $362 = (($361) + 1)|0; + HEAP32[$i>>2] = $362; } - $61 = HEAP32[((38640 + 132|0))>>2]|0; - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 40|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = (FUNCTION_TABLE_iiii[$61 & 31]($64,$65,2)|0); - $67 = HEAP32[$3>>2]|0; - HEAP32[$67>>2] = $66; - $68 = HEAP32[$3>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - $71 = $70 ? 7 : 0; - HEAP32[$0>>2] = $71; - $72 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($72|0); + $363 = HEAP32[$j>>2]|0; + $364 = HEAP32[$z>>2]|0; + $365 = (($364) + ($363)|0); + HEAP8[$365>>0] = 0; + $366 = HEAP32[$0>>2]|0; + $367 = HEAP32[$z>>2]|0; + $368 = HEAP32[$z>>2]|0; + $369 = ($368|0)==($zBuf|0); + $370 = $369 ? (-1) : 23; + _sqlite3_result_text($366,$367,-1,$370); + STACKTOP = sp;return; } -function _lockBtree($pBt) { - $pBt = $pBt|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $isOpen = 0, $nPage = 0, $nPageFile = 0, $nPageHeader = 0, $or$cond = 0, $or$cond3 = 0, $pPage1 = 0, $page1 = 0, $pageSize = 0, $rc = 0, $usableSize = 0, label = 0, sp = 0; +function _ctimeFunc($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $rc = sp + 32|0; - $pPage1 = sp + 28|0; - $nPage = sp + 24|0; - $nPageFile = sp + 20|0; - $nPageHeader = sp + 16|0; - $pageSize = sp + 12|0; - $usableSize = sp + 8|0; - $page1 = sp + 4|0; - $isOpen = sp; - HEAP32[$1>>2] = $pBt; - HEAP32[$nPageFile>>2] = 0; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3PagerSharedLock($3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)!=(0); - if ($6) { - $7 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $7; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - $8 = HEAP32[$1>>2]|0; - $9 = (_btreeGetPage($8,1,$pPage1,0)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - $11 = ($10|0)!=(0); - if ($11) { - $12 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $12; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - $13 = HEAP32[$pPage1>>2]|0; - $14 = (($13) + 56|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 28|0); - $17 = (_sqlite3Get4byte($16)|0); - HEAP32[$nPageHeader>>2] = $17; - HEAP32[$nPage>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$18>>2]|0; - _sqlite3PagerPagecount($19,$nPageFile); - $20 = HEAP32[$nPage>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - label = 7; - } else { - $22 = HEAP32[$pPage1>>2]|0; - $23 = (($22) + 56|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 24|0); - $26 = HEAP32[$pPage1>>2]|0; - $27 = (($26) + 56|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + 92|0); - $30 = (_memcmp($25,$29,4)|0); - $31 = ($30|0)!=(0); - if ($31) { - label = 7; - } - } - if ((label|0) == 7) { - $32 = HEAP32[$nPageFile>>2]|0; - HEAP32[$nPage>>2] = $32; - } - $33 = HEAP32[$nPage>>2]|0; - $34 = ($33|0)>(0); - L14: do { - if ($34) { - $35 = HEAP32[$pPage1>>2]|0; - $36 = (($35) + 56|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$page1>>2] = $37; - HEAP32[$rc>>2] = 26; - $38 = HEAP32[$page1>>2]|0; - $39 = (_memcmp($38,34408,16)|0); - $40 = ($39|0)!=(0); - L16: do { - if (!($40)) { - $41 = HEAP32[$page1>>2]|0; - $42 = (($41) + 18|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = ($44|0)>(2); - if ($45) { - $46 = HEAP32[$1>>2]|0; - $47 = (($46) + 22|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = $49 | 1; - $51 = $50&65535; - HEAP16[$47>>1] = $51; - } - $52 = HEAP32[$page1>>2]|0; - $53 = (($52) + 19|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = ($55|0)>(2); - if (!($56)) { - $57 = HEAP32[$page1>>2]|0; - $58 = (($57) + 19|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)==(2); - do { - if ($61) { - $62 = HEAP32[$1>>2]|0; - $63 = (($62) + 22|0); - $64 = HEAP16[$63>>1]|0; - $65 = $64&65535; - $66 = $65 & 16; - $67 = ($66|0)==(0); - if ($67) { - HEAP32[$isOpen>>2] = 0; - $68 = HEAP32[$1>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = (_sqlite3PagerOpenWal($69,$isOpen)|0); - HEAP32[$rc>>2] = $70; - $71 = HEAP32[$rc>>2]|0; - $72 = ($71|0)!=(0); - if ($72) { - break L16; - } - $73 = HEAP32[$isOpen>>2]|0; - $74 = ($73|0)==(0); - if (!($74)) { - HEAP32[$rc>>2] = 26; - break; - } - $75 = HEAP32[$pPage1>>2]|0; - _releasePage($75); - HEAP32[$0>>2] = 0; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - } - } while(0); - $76 = HEAP32[$page1>>2]|0; - $77 = (($76) + 21|0); - $78 = (_memcmp($77,37104,3)|0); - $79 = ($78|0)!=(0); - if (!($79)) { - $80 = HEAP32[$page1>>2]|0; - $81 = (($80) + 16|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 << 8; - $85 = HEAP32[$page1>>2]|0; - $86 = (($85) + 17|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = $88 << 16; - $90 = $84 | $89; - HEAP32[$pageSize>>2] = $90; - $91 = HEAP32[$pageSize>>2]|0; - $92 = (($91) - 1)|0; - $93 = HEAP32[$pageSize>>2]|0; - $94 = $92 & $93; - $95 = ($94|0)!=(0); - $96 = HEAP32[$pageSize>>2]|0; - $97 = ($96>>>0)>(65536); - $or$cond = $95 | $97; - $98 = HEAP32[$pageSize>>2]|0; - $99 = ($98>>>0)<=(256); - $or$cond3 = $or$cond | $99; - if (!($or$cond3)) { - $100 = HEAP32[$pageSize>>2]|0; - $101 = HEAP32[$page1>>2]|0; - $102 = (($101) + 20|0); - $103 = HEAP8[$102>>0]|0; - $104 = $103&255; - $105 = (($100) - ($104))|0; - HEAP32[$usableSize>>2] = $105; - $106 = HEAP32[$pageSize>>2]|0; - $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 32|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($106|0)!=($109|0); - if ($110) { - $111 = HEAP32[$pPage1>>2]|0; - _releasePage($111); - $112 = HEAP32[$usableSize>>2]|0; - $113 = HEAP32[$1>>2]|0; - $114 = (($113) + 36|0); - HEAP32[$114>>2] = $112; - $115 = HEAP32[$pageSize>>2]|0; - $116 = HEAP32[$1>>2]|0; - $117 = (($116) + 32|0); - HEAP32[$117>>2] = $115; - $118 = HEAP32[$1>>2]|0; - _freeTempSpace($118); - $119 = HEAP32[$1>>2]|0; - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$1>>2]|0; - $122 = (($121) + 32|0); - $123 = HEAP32[$pageSize>>2]|0; - $124 = HEAP32[$usableSize>>2]|0; - $125 = (($123) - ($124))|0; - $126 = (_sqlite3PagerSetPagesize($120,$122,$125)|0); - HEAP32[$rc>>2] = $126; - $127 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $127; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - $128 = HEAP32[$1>>2]|0; - $129 = (($128) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + 24|0); - $132 = HEAP32[$131>>2]|0; - $133 = $132 & 65536; - $134 = ($133|0)==(0); - if ($134) { - $135 = HEAP32[$nPage>>2]|0; - $136 = HEAP32[$nPageFile>>2]|0; - $137 = ($135|0)>($136|0); - if ($137) { - $138 = (_sqlite3CorruptError(54754)|0); - HEAP32[$rc>>2] = $138; - break; - } - } - $139 = HEAP32[$usableSize>>2]|0; - $140 = ($139>>>0)<(480); - if (!($140)) { - $141 = HEAP32[$pageSize>>2]|0; - $142 = HEAP32[$1>>2]|0; - $143 = (($142) + 32|0); - HEAP32[$143>>2] = $141; - $144 = HEAP32[$usableSize>>2]|0; - $145 = HEAP32[$1>>2]|0; - $146 = (($145) + 36|0); - HEAP32[$146>>2] = $144; - $147 = HEAP32[$page1>>2]|0; - $148 = (($147) + 52|0); - $149 = (_sqlite3Get4byte($148)|0); - $150 = ($149|0)!=(0); - $151 = $150 ? 1 : 0; - $152 = $151&255; - $153 = HEAP32[$1>>2]|0; - $154 = (($153) + 17|0); - HEAP8[$154>>0] = $152; - $155 = HEAP32[$page1>>2]|0; - $156 = (($155) + 64|0); - $157 = (_sqlite3Get4byte($156)|0); - $158 = ($157|0)!=(0); - $159 = $158 ? 1 : 0; - $160 = $159&255; - $161 = HEAP32[$1>>2]|0; - $162 = (($161) + 18|0); - HEAP8[$162>>0] = $160; - break L14; - } - } - } - } - } - } while(0); - $218 = HEAP32[$pPage1>>2]|0; - _releasePage($218); - $219 = HEAP32[$1>>2]|0; - $220 = (($219) + 12|0); - HEAP32[$220>>2] = 0; - $221 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $221; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); - } - } while(0); - $163 = HEAP32[$1>>2]|0; - $164 = (($163) + 36|0); - $165 = HEAP32[$164>>2]|0; - $166 = (($165) - 12)|0; - $167 = $166<<6; - $168 = (($167>>>0) / 255)&-1; - $169 = (($168) - 23)|0; - $170 = $169&65535; - $171 = HEAP32[$1>>2]|0; - $172 = (($171) + 24|0); - HEAP16[$172>>1] = $170; - $173 = HEAP32[$1>>2]|0; - $174 = (($173) + 36|0); - $175 = HEAP32[$174>>2]|0; - $176 = (($175) - 12)|0; - $177 = $176<<5; - $178 = (($177>>>0) / 255)&-1; - $179 = (($178) - 23)|0; - $180 = $179&65535; - $181 = HEAP32[$1>>2]|0; - $182 = (($181) + 26|0); - HEAP16[$182>>1] = $180; - $183 = HEAP32[$1>>2]|0; - $184 = (($183) + 36|0); - $185 = HEAP32[$184>>2]|0; - $186 = (($185) - 35)|0; - $187 = $186&65535; - $188 = HEAP32[$1>>2]|0; - $189 = (($188) + 28|0); - HEAP16[$189>>1] = $187; - $190 = HEAP32[$1>>2]|0; - $191 = (($190) + 36|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($192) - 12)|0; - $194 = $193<<5; - $195 = (($194>>>0) / 255)&-1; - $196 = (($195) - 23)|0; - $197 = $196&65535; - $198 = HEAP32[$1>>2]|0; - $199 = (($198) + 30|0); - HEAP16[$199>>1] = $197; - $200 = HEAP32[$1>>2]|0; - $201 = (($200) + 24|0); - $202 = HEAP16[$201>>1]|0; - $203 = $202&65535; - $204 = ($203|0)>(127); - $205 = HEAP32[$1>>2]|0; - if ($204) { - $206 = (($205) + 21|0); - HEAP8[$206>>0] = 127; - } else { - $207 = (($205) + 24|0); - $208 = HEAP16[$207>>1]|0; - $209 = $208&255; - $210 = HEAP32[$1>>2]|0; - $211 = (($210) + 21|0); - HEAP8[$211>>0] = $209; - } - $212 = HEAP32[$pPage1>>2]|0; - $213 = HEAP32[$1>>2]|0; - $214 = (($213) + 12|0); - HEAP32[$214>>2] = $212; - $215 = HEAP32[$nPage>>2]|0; - $216 = HEAP32[$1>>2]|0; - $217 = (($216) + 44|0); - HEAP32[$217>>2] = $215; - HEAP32[$0>>2] = 0; - $222 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($222|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + _timeFunc($3,0,0); + STACKTOP = sp;return; } -function _sqlite3PagerBegin($pPager,$exFlag,$subjInMemory) { - $pPager = $pPager|0; - $exFlag = $exFlag|0; - $subjInMemory = $subjInMemory|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; +function _ctimestampFunc($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + _datetimeFunc($3,0,0); + STACKTOP = sp;return; +} +function _cdateFunc($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + _dateFunc($3,0,0); + STACKTOP = sp;return; +} +function _isDate($context,$argc,$argv,$p) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $or$cond = 0; - var $rc = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $i = 0, $or$cond = 0; + var $z = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; + $0 = sp + 4|0; + $1 = sp + 16|0; $2 = sp + 8|0; - $3 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pPager; - HEAP32[$2>>2] = $exFlag; - HEAP32[$3>>2] = $subjInMemory; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 40|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); + $3 = sp + 20|0; + $4 = sp + 28|0; + $i = sp; + $z = sp + 12|0; + $eType = sp + 24|0; + HEAP32[$1>>2] = $context; + HEAP32[$2>>2] = $argc; + HEAP32[$3>>2] = $argv; + HEAP32[$4>>2] = $p; + $5 = HEAP32[$4>>2]|0; + dest=$5; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(0); if ($7) { $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 40|0); - $10 = HEAP32[$9>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_setDateTimeToCurrent($8,$9)|0); HEAP32[$0>>2] = $10; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); } $11 = HEAP32[$3>>2]|0; - $12 = $11&255; - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 21|0); - HEAP8[$14>>0] = $12; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 16|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = ($18|0)==(1); - if ($19) { - $20 = HEAP32[$1>>2]|0; - $21 = (_pagerUseWal($20)|0); - $22 = ($21|0)!=(0); - $23 = HEAP32[$1>>2]|0; - if ($22) { - $24 = (($23) + 4|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = ($26|0)!=(0); - do { - if ($27) { - $28 = HEAP32[$1>>2]|0; - $29 = (($28) + 208|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3WalExclusiveMode($30,-1)|0); - $32 = ($31|0)!=(0); - if ($32) { - $33 = HEAP32[$1>>2]|0; - $34 = (_pagerLockDb($33,4)|0); - HEAP32[$rc>>2] = $34; - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)!=(0); - if (!($36)) { - $38 = HEAP32[$1>>2]|0; - $39 = (($38) + 208|0); - $40 = HEAP32[$39>>2]|0; - (_sqlite3WalExclusiveMode($40,1)|0); - break; - } - $37 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $37; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); - } - } - } while(0); - $41 = HEAP32[$1>>2]|0; - $42 = (($41) + 208|0); - $43 = HEAP32[$42>>2]|0; - $44 = (_sqlite3WalBeginWriteTransaction($43)|0); - HEAP32[$rc>>2] = $44; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_type($12)|0); + HEAP32[$eType>>2] = $13; + $14 = ($13|0)==(2); + $15 = HEAP32[$eType>>2]|0; + $16 = ($15|0)==(1); + $or$cond = $14 | $16; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; + do { + if ($or$cond) { + $19 = (+_sqlite3_value_double($18)); + $20 = $19 * 8.64E+7; + $21 = $20 + 0.5; + $22 = (~~$21)>>>0; + $23 = +Math_abs($21) >= 1.0 ? $21 > 0.0 ? (~~+Math_min(+Math_floor($21 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($21 - +(~~$21 >>> 0)) / 4294967296.0) >>> 0 : 0; + $24 = HEAP32[$4>>2]|0; + $25 = $24; + $26 = $25; + HEAP32[$26>>2] = $22; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $23; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 42|0); + HEAP8[$30>>0] = 1; } else { - $45 = (_pagerLockDb($23,2)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)==(0); - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)!=(0); - $or$cond = $47 & $49; - if ($or$cond) { - $50 = HEAP32[$1>>2]|0; - $51 = (_pager_wait_on_lock($50,4)|0); - HEAP32[$rc>>2] = $51; + $31 = (_sqlite3_value_text($18)|0); + HEAP32[$z>>2] = $31; + $32 = HEAP32[$z>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$1>>2]|0; + $35 = HEAP32[$z>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = (_parseDateOrTime($34,$35,$36)|0); + $38 = ($37|0)!=(0); + if (!($38)) { + break; + } } + HEAP32[$0>>2] = 1; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); } - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)==(0); + } while(0); + HEAP32[$i>>2] = 1; + while(1) { + $39 = HEAP32[$i>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = ($39|0)<($40|0); + if (!($41)) { + label = 14; + break; + } + $42 = HEAP32[$i>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = (($43) + ($42<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3_value_text($45)|0); + HEAP32[$z>>2] = $46; + $47 = HEAP32[$z>>2]|0; + $48 = ($47|0)==(0|0); + if ($48) { + label = 12; + break; + } + $49 = HEAP32[$1>>2]|0; + $50 = HEAP32[$z>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = (_parseModifier($49,$50,$51)|0); + $53 = ($52|0)!=(0); if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 16|0); - HEAP8[$55>>0] = 2; - $56 = HEAP32[$1>>2]|0; - $57 = (($56) + 24|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$1>>2]|0; - $60 = (($59) + 36|0); - HEAP32[$60>>2] = $58; - $61 = HEAP32[$1>>2]|0; - $62 = (($61) + 24|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = (($64) + 32|0); - HEAP32[$65>>2] = $63; - $66 = HEAP32[$1>>2]|0; - $67 = (($66) + 24|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 28|0); - HEAP32[$70>>2] = $68; - $71 = HEAP32[$1>>2]|0; - $72 = (($71) + 72|0); - $73 = $72; - $74 = $73; - HEAP32[$74>>2] = 0; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; + label = 12; + break; } + $54 = HEAP32[$i>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$i>>2] = $55; } - $77 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $77; - $78 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($78|0); + if ((label|0) == 12) { + HEAP32[$0>>2] = 1; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); + } + else if ((label|0) == 14) { + HEAP32[$0>>2] = 0; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); + } + return (0)|0; } -function _sqlite3WalBeginWriteTransaction($pWal) { - $pWal = $pWal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; +function _computeJD($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $A = 0, $B = 0, $D = 0, $M = 0, $X1 = 0, $X2 = 0, $Y = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $rc = sp; - HEAP32[$1>>2] = $pWal; - $2 = HEAP32[$1>>2]|0; - $3 = (($2) + 46|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { - HEAP32[$0>>2] = 8; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $Y = sp + 16|0; + $M = sp + 8|0; + $D = sp + 20|0; + $A = sp + 28|0; + $B = sp; + $X1 = sp + 12|0; + $X2 = sp + 24|0; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 42|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if ($4) { + STACKTOP = sp;return; } - $6 = HEAP32[$1>>2]|0; - $7 = (_walLockExclusive($6,0,1)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - $10 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $10; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)!=(0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$Y>>2] = $11; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$M>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$D>>2] = $17; + } else { + HEAP32[$Y>>2] = 2000; + HEAP32[$M>>2] = 1; + HEAP32[$D>>2] = 1; } - $11 = HEAP32[$1>>2]|0; - $12 = (($11) + 44|0); - HEAP8[$12>>0] = 1; - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 52|0); - $15 = HEAP32[$1>>2]|0; - $16 = (_walIndexHdr($15)|0); - $17 = (_memcmp($14,$16,48)|0); - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$1>>2]|0; - _walUnlockExclusive($19,0,1); - $20 = HEAP32[$1>>2]|0; - $21 = (($20) + 44|0); - HEAP8[$21>>0] = 0; - HEAP32[$rc>>2] = 517; + $18 = HEAP32[$M>>2]|0; + $19 = ($18|0)<=(2); + if ($19) { + $20 = HEAP32[$Y>>2]|0; + $21 = (($20) + -1)|0; + HEAP32[$Y>>2] = $21; + $22 = HEAP32[$M>>2]|0; + $23 = (($22) + 12)|0; + HEAP32[$M>>2] = $23; } - $22 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $22; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + $24 = HEAP32[$Y>>2]|0; + $25 = (($24|0) / 100)&-1; + HEAP32[$A>>2] = $25; + $26 = HEAP32[$A>>2]|0; + $27 = (2 - ($26))|0; + $28 = HEAP32[$A>>2]|0; + $29 = (($28|0) / 4)&-1; + $30 = (($27) + ($29))|0; + HEAP32[$B>>2] = $30; + $31 = HEAP32[$Y>>2]|0; + $32 = (($31) + 4716)|0; + $33 = ($32*36525)|0; + $34 = (($33|0) / 100)&-1; + HEAP32[$X1>>2] = $34; + $35 = HEAP32[$M>>2]|0; + $36 = (($35) + 1)|0; + $37 = ($36*306001)|0; + $38 = (($37|0) / 10000)&-1; + HEAP32[$X2>>2] = $38; + $39 = HEAP32[$X1>>2]|0; + $40 = HEAP32[$X2>>2]|0; + $41 = (($39) + ($40))|0; + $42 = HEAP32[$D>>2]|0; + $43 = (($41) + ($42))|0; + $44 = HEAP32[$B>>2]|0; + $45 = (($43) + ($44))|0; + $46 = (+($45|0)); + $47 = $46 - 1524.5; + $48 = $47 * 8.64E+7; + $49 = (~~$48)>>>0; + $50 = +Math_abs($48) >= 1.0 ? $48 > 0.0 ? (~~+Math_min(+Math_floor($48 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($48 - +(~~$48 >>> 0)) / 4294967296.0) >>> 0 : 0; + $51 = HEAP32[$0>>2]|0; + $52 = $51; + $53 = $52; + HEAP32[$53>>2] = $49; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $50; + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 42|0); + HEAP8[$57>>0] = 1; + $58 = HEAP32[$0>>2]|0; + $59 = ((($58)) + 41|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)!=(0); + if (!($61)) { + STACKTOP = sp;return; + } + $62 = HEAP32[$0>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($64, 3600000)|0; + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68*60000)|0; + $70 = (($65) + ($69))|0; + $71 = ($70|0)<(0); + $72 = $71 << 31 >> 31; + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 32|0); + $75 = +HEAPF64[$74>>3]; + $76 = $75 * 1000.0; + $77 = (~~$76)>>>0; + $78 = +Math_abs($76) >= 1.0 ? $76 > 0.0 ? (~~+Math_min(+Math_floor($76 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($76 - +(~~$76 >>> 0)) / 4294967296.0) >>> 0 : 0; + $79 = (_i64Add(($70|0),($72|0),($77|0),($78|0))|0); + $80 = tempRet0; + $81 = HEAP32[$0>>2]|0; + $82 = $81; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (_i64Add(($84|0),($87|0),($79|0),($80|0))|0); + $89 = tempRet0; + $90 = $81; + $91 = $90; + HEAP32[$91>>2] = $88; + $92 = (($90) + 4)|0; + $93 = $92; + HEAP32[$93>>2] = $89; + $94 = HEAP32[$0>>2]|0; + $95 = ((($94)) + 43|0); + $96 = HEAP8[$95>>0]|0; + $97 = ($96<<24>>24)!=(0); + if (!($97)) { + STACKTOP = sp;return; + } + $98 = HEAP32[$0>>2]|0; + $99 = ((($98)) + 28|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100*60000)|0; + $102 = ($101|0)<(0); + $103 = $102 << 31 >> 31; + $104 = HEAP32[$0>>2]|0; + $105 = $104; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (_i64Subtract(($107|0),($110|0),($101|0),($103|0))|0); + $112 = tempRet0; + $113 = $104; + $114 = $113; + HEAP32[$114>>2] = $111; + $115 = (($113) + 4)|0; + $116 = $115; + HEAP32[$116>>2] = $112; + $117 = HEAP32[$0>>2]|0; + $118 = ((($117)) + 40|0); + HEAP8[$118>>0] = 0; + $119 = HEAP32[$0>>2]|0; + $120 = ((($119)) + 41|0); + HEAP8[$120>>0] = 0; + $121 = HEAP32[$0>>2]|0; + $122 = ((($121)) + 43|0); + HEAP8[$122>>0] = 0; + STACKTOP = sp;return; } -function _sqlite3ValueSetNull($p) { +function _computeYMD_HMS($p) { $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - _sqlite3VdbeMemSetNull($1); + _computeYMD($1); + $2 = HEAP32[$0>>2]|0; + _computeHMS($2); STACKTOP = sp;return; } -function _dotlockIoFinderImpl($z,$p) { - $z = $z|0; +function _computeYMD($p) { $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $9 = 0, $A = 0, $B = 0, $C = 0, $D = 0, $E = 0, $X1 = 0, $Z = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $Z = sp + 16|0; + $A = sp + 8|0; + $B = sp + 20|0; + $C = sp + 28|0; + $D = sp; + $E = sp + 12|0; + $X1 = sp + 24|0; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 40|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if ($4) { + STACKTOP = sp;return; + } + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 42|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)!=(0); + $9 = HEAP32[$0>>2]|0; + if ($8) { + $15 = $9; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (_i64Add(($17|0),($20|0),43200000,0)|0); + $22 = tempRet0; + $23 = (___divdi3(($21|0),($22|0),86400000,0)|0); + $24 = tempRet0; + HEAP32[$Z>>2] = $23; + $25 = HEAP32[$Z>>2]|0; + $26 = (+($25|0)); + $27 = $26 - 1867216.25; + $28 = $27 / 36524.25; + $29 = (~~(($28))); + HEAP32[$A>>2] = $29; + $30 = HEAP32[$Z>>2]|0; + $31 = (($30) + 1)|0; + $32 = HEAP32[$A>>2]|0; + $33 = (($31) + ($32))|0; + $34 = HEAP32[$A>>2]|0; + $35 = (($34|0) / 4)&-1; + $36 = (($33) - ($35))|0; + HEAP32[$A>>2] = $36; + $37 = HEAP32[$A>>2]|0; + $38 = (($37) + 1524)|0; + HEAP32[$B>>2] = $38; + $39 = HEAP32[$B>>2]|0; + $40 = (+($39|0)); + $41 = $40 - 122.09999999999999; + $42 = $41 / 365.25; + $43 = (~~(($42))); + HEAP32[$C>>2] = $43; + $44 = HEAP32[$C>>2]|0; + $45 = ($44*36525)|0; + $46 = (($45|0) / 100)&-1; + HEAP32[$D>>2] = $46; + $47 = HEAP32[$B>>2]|0; + $48 = HEAP32[$D>>2]|0; + $49 = (($47) - ($48))|0; + $50 = (+($49|0)); + $51 = $50 / 30.600100000000001; + $52 = (~~(($51))); + HEAP32[$E>>2] = $52; + $53 = HEAP32[$E>>2]|0; + $54 = (+($53|0)); + $55 = 30.600100000000001 * $54; + $56 = (~~(($55))); + HEAP32[$X1>>2] = $56; + $57 = HEAP32[$B>>2]|0; + $58 = HEAP32[$D>>2]|0; + $59 = (($57) - ($58))|0; + $60 = HEAP32[$X1>>2]|0; + $61 = (($59) - ($60))|0; + $62 = HEAP32[$0>>2]|0; + $63 = ((($62)) + 16|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$E>>2]|0; + $65 = ($64|0)<(14); + $66 = HEAP32[$E>>2]|0; + $67 = (($66) - 1)|0; + $68 = (($66) - 13)|0; + $69 = $65 ? $67 : $68; + $70 = HEAP32[$0>>2]|0; + $71 = ((($70)) + 12|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$0>>2]|0; + $73 = ((($72)) + 12|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)>(2); + $76 = HEAP32[$C>>2]|0; + $77 = (($76) - 4716)|0; + $78 = (($76) - 4715)|0; + $79 = $75 ? $77 : $78; + $80 = HEAP32[$0>>2]|0; + $81 = ((($80)) + 8|0); + HEAP32[$81>>2] = $79; + } else { + $10 = ((($9)) + 8|0); + HEAP32[$10>>2] = 2000; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 12|0); + HEAP32[$12>>2] = 1; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 16|0); + HEAP32[$14>>2] = 1; + } + $82 = HEAP32[$0>>2]|0; + $83 = ((($82)) + 40|0); + HEAP8[$83>>0] = 1; + STACKTOP = sp;return; +} +function _computeHMS($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; + var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $p; - STACKTOP = sp;return (37112|0); + $s = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 41|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if ($4) { + STACKTOP = sp;return; + } + $5 = HEAP32[$0>>2]|0; + _computeJD($5); + $6 = HEAP32[$0>>2]|0; + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (_i64Add(($9|0),($12|0),43200000,0)|0); + $14 = tempRet0; + $15 = (___remdi3(($13|0),($14|0),86400000,0)|0); + $16 = tempRet0; + HEAP32[$s>>2] = $15; + $17 = HEAP32[$s>>2]|0; + $18 = (+($17|0)); + $19 = $18 / 1000.0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 32|0); + HEAPF64[$21>>3] = $19; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 32|0); + $24 = +HEAPF64[$23>>3]; + $25 = (~~(($24))); + HEAP32[$s>>2] = $25; + $26 = HEAP32[$s>>2]|0; + $27 = (+($26|0)); + $28 = HEAP32[$0>>2]|0; + $29 = ((($28)) + 32|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30 - $27; + HEAPF64[$29>>3] = $31; + $32 = HEAP32[$s>>2]|0; + $33 = (($32|0) / 3600)&-1; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 20|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38*3600)|0; + $40 = HEAP32[$s>>2]|0; + $41 = (($40) - ($39))|0; + HEAP32[$s>>2] = $41; + $42 = HEAP32[$s>>2]|0; + $43 = (($42|0) / 60)&-1; + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 24|0); + HEAP32[$45>>2] = $43; + $46 = HEAP32[$s>>2]|0; + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49*60)|0; + $51 = (($46) - ($50))|0; + $52 = (+($51|0)); + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 32|0); + $55 = +HEAPF64[$54>>3]; + $56 = $55 + $52; + HEAPF64[$54>>3] = $56; + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 41|0); + HEAP8[$58>>0] = 1; + STACKTOP = sp;return; } -function _dotlockClose($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, label = 0, sp = 0; +function _setDateTimeToCurrent($context,$p) { + $context = $context|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; - $rc = sp + 4|0; - $pFile = sp; - HEAP32[$0>>2] = $id; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); - } - $3 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $3; - $4 = HEAP32[$0>>2]|0; - (_dotlockUnlock($4,0)|0); - $5 = HEAP32[$pFile>>2]|0; - $6 = (($5) + 24|0); - $7 = HEAP32[$6>>2]|0; - _sqlite3_free($7); - $8 = HEAP32[$0>>2]|0; - $9 = (_closeUnixFile($8)|0); - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); -} -function _unixRead($id,$pBuf,$amt,$0,$1) { - $id = $id|0; - $pBuf = $pBuf|0; - $amt = $amt|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $got = 0, $pFile = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp; - $pFile = sp + 12|0; - $got = sp + 8|0; - HEAP32[$3>>2] = $id; - HEAP32[$4>>2] = $pBuf; - HEAP32[$5>>2] = $amt; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $context; + HEAP32[$2>>2] = $p; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3StmtCurrentTime($3)|0); + $5 = tempRet0; + $6 = HEAP32[$2>>2]|0; $7 = $6; $8 = $7; - HEAP32[$8>>2] = $0; + HEAP32[$8>>2] = $4; $9 = (($7) + 4)|0; $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$3>>2]|0; - HEAP32[$pFile>>2] = $11; - $12 = HEAP32[$pFile>>2]|0; - $13 = $6; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$5>>2]|0; - $21 = (_seekAndRead($12,$15,$18,$19,$20)|0); - HEAP32[$got>>2] = $21; - $22 = HEAP32[$got>>2]|0; - $23 = HEAP32[$5>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - HEAP32[$2>>2] = 0; - $35 = HEAP32[$2>>2]|0; + HEAP32[$10>>2] = $5; + $11 = HEAP32[$2>>2]|0; + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + $19 = ($14>>>0)>(0); + $20 = ($17|0)==(0); + $21 = $20 & $19; + $22 = $18 | $21; + if ($22) { + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 42|0); + HEAP8[$24>>0] = 1; + HEAP32[$0>>2] = 0; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } else { + HEAP32[$0>>2] = 1; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } + return (0)|0; +} +function _parseDateOrTime($context,$zDate,$p) { + $context = $context|0; + $zDate = $zDate|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $r = sp; + HEAP32[$1>>2] = $context; + HEAP32[$2>>2] = $zDate; + HEAP32[$3>>2] = $p; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_parseYyyyMmDd($4,$5)|0); + $7 = ($6|0)==(0); + if ($7) { + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($35|0); } - $25 = HEAP32[$got>>2]|0; - $26 = ($25|0)<(0); - if ($26) { - HEAP32[$2>>2] = 266; - $35 = HEAP32[$2>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (_parseHhMmSs($8,$9)|0); + $11 = ($10|0)==(0); + if ($11) { + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + $12 = HEAP32[$2>>2]|0; + $13 = (_sqlite3_stricmp($12,37198)|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = (_setDateTimeToCurrent($15,$16)|0); + HEAP32[$0>>2] = $17; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = (_sqlite3Strlen30($19)|0); + $21 = (_sqlite3AtoF($18,$r,$20,1)|0); + $22 = ($21|0)!=(0); + if ($22) { + $23 = +HEAPF64[$r>>3]; + $24 = $23 * 8.64E+7; + $25 = $24 + 0.5; + $26 = (~~$25)>>>0; + $27 = +Math_abs($25) >= 1.0 ? $25 > 0.0 ? (~~+Math_min(+Math_floor($25 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($25 - +(~~$25 >>> 0)) / 4294967296.0) >>> 0 : 0; + $28 = HEAP32[$3>>2]|0; + $29 = $28; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 42|0); + HEAP8[$34>>0] = 1; + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($35|0); } else { - $27 = HEAP32[$pFile>>2]|0; - $28 = (($27) + 20|0); - HEAP32[$28>>2] = 0; - $29 = HEAP32[$got>>2]|0; - $30 = HEAP32[$4>>2]|0; - $31 = (($30) + ($29)|0); - $32 = HEAP32[$5>>2]|0; - $33 = HEAP32[$got>>2]|0; - $34 = (($32) - ($33))|0; - _memset(($31|0),0,($34|0))|0; - HEAP32[$2>>2] = 522; - $35 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = 1; + $35 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($35|0); } - return 0|0; + return (0)|0; } -function _unixWrite($id,$pBuf,$amt,$0,$1) { - $id = $id|0; - $pBuf = $pBuf|0; - $amt = $amt|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $wrote = 0, label = 0, sp = 0; +function _parseModifier($pCtx,$zMod,$p) { + $pCtx = $pCtx|0; + $zMod = $zMod|0; + $p = $p|0; + var $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; + var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; + var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; + var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; + var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; + var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; + var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; + var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0.0, $428 = 0, $429 = 0.0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0.0, $436 = 0.0, $437 = 0.0, $438 = 0.0, $439 = 0; + var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; + var $458 = 0, $459 = 0.0, $46 = 0, $460 = 0.0, $461 = 0.0, $462 = 0.0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; + var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0.0, $484 = 0.0, $485 = 0.0, $486 = 0.0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; + var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0.0, $508 = 0.0, $509 = 0.0, $51 = 0, $510 = 0.0; + var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; + var $53 = 0, $530 = 0, $531 = 0, $532 = 0.0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0; + var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0.0, $563 = 0, $564 = 0, $565 = 0.0; + var $566 = 0.0, $567 = 0, $568 = 0.0, $569 = 0, $57 = 0, $570 = 0.0, $571 = 0.0, $572 = 0.0, $573 = 0.0, $574 = 0.0, $575 = 0.0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0; + var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0.0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0; + var $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0.0, $609 = 0.0, $61 = 0, $610 = 0, $611 = 0.0, $612 = 0, $613 = 0.0, $614 = 0.0, $615 = 0.0, $616 = 0.0, $617 = 0.0, $618 = 0.0, $619 = 0; + var $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Z = 0, $c1 = 0; + var $day = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $r = 0, $rRounder = 0, $rc = 0, $tx = 0, $x = 0, $y = 0, $y1 = 0, $z = 0, $z2 = 0, $zBuf = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $4 = sp + 20|0; - $5 = sp + 16|0; - $6 = sp; - $pFile = sp + 12|0; - $wrote = sp + 8|0; - HEAP32[$3>>2] = $id; - HEAP32[$4>>2] = $pBuf; - HEAP32[$5>>2] = $amt; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - $11 = HEAP32[$3>>2]|0; - HEAP32[$pFile>>2] = $11; - HEAP32[$wrote>>2] = 0; + STACKTOP = STACKTOP + 160|0; + $0 = sp + 120|0; + $1 = sp + 112|0; + $2 = sp + 104|0; + $rc = sp + 108|0; + $n = sp + 92|0; + $r = sp + 72|0; + $z = sp + 96|0; + $zBuf = sp + 128|0; + $c1 = sp; + $Z = sp + 8|0; + $rRounder = sp + 16|0; + $z2 = sp + 88|0; + $tx = sp + 24|0; + $day = sp + 80|0; + $x = sp + 100|0; + $y = sp + 116|0; + $y1 = sp + 124|0; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $zMod; + HEAP32[$2>>2] = $p; + HEAP32[$rc>>2] = 1; + HEAP32[$z>>2] = $zBuf; + HEAP32[$n>>2] = 0; while(1) { - $12 = HEAP32[$5>>2]|0; - $13 = ($12|0)>(0); - if (!($13)) { - break; + $3 = HEAP32[$n>>2]|0; + $4 = ($3|0)<(29); + if ($4) { + $5 = HEAP32[$n>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = (($6) + ($5)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)!=(0); + $636 = $10; + } else { + $636 = 0; } - $14 = HEAP32[$pFile>>2]|0; - $15 = $6; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$4>>2]|0; - $22 = HEAP32[$5>>2]|0; - $23 = (_seekAndWrite($14,$17,$20,$21,$22)|0); - HEAP32[$wrote>>2] = $23; - $24 = ($23|0)>(0); - if (!($24)) { + $11 = HEAP32[$n>>2]|0; + if (!($636)) { break; } - $25 = HEAP32[$wrote>>2]|0; - $26 = HEAP32[$5>>2]|0; - $27 = (($26) - ($25))|0; - HEAP32[$5>>2] = $27; - $28 = HEAP32[$wrote>>2]|0; - $29 = ($28|0)<(0); - $30 = $29 << 31 >> 31; - $31 = $6; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (_i64Add(($33|0),($36|0),($28|0),($30|0))|0); - $38 = tempRet0; - $39 = $6; - $40 = $39; - HEAP32[$40>>2] = $37; - $41 = (($39) + 4)|0; - $42 = $41; - HEAP32[$42>>2] = $38; - $43 = HEAP32[$wrote>>2]|0; - $44 = HEAP32[$4>>2]|0; - $45 = (($44) + ($43)|0); - HEAP32[$4>>2] = $45; - } - $46 = HEAP32[$5>>2]|0; - $47 = ($46|0)>(0); - if (!($47)) { - HEAP32[$2>>2] = 0; - $56 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($56|0); + $12 = HEAP32[$1>>2]|0; + $13 = (($12) + ($11)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (13848 + ($15)|0); + $17 = HEAP8[$16>>0]|0; + $18 = HEAP32[$n>>2]|0; + $19 = HEAP32[$z>>2]|0; + $20 = (($19) + ($18)|0); + HEAP8[$20>>0] = $17; + $21 = HEAP32[$n>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$n>>2] = $22; } - $48 = HEAP32[$wrote>>2]|0; - $49 = ($48|0)<(0); - if ($49) { - $50 = HEAP32[$pFile>>2]|0; - $51 = (($50) + 20|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)!=(28); - if ($53) { - HEAP32[$2>>2] = 778; - $56 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($56|0); + $23 = HEAP32[$z>>2]|0; + $24 = (($23) + ($11)|0); + HEAP8[$24>>0] = 0; + $25 = HEAP32[$z>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + switch ($27|0) { + case 108: { + $28 = HEAP32[$z>>2]|0; + $29 = (_strcmp($28,37098)|0); + $30 = ($29|0)==(0); + if (!($30)) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); } - } - $54 = HEAP32[$pFile>>2]|0; - $55 = (($54) + 20|0); - HEAP32[$55>>2] = 0; - HEAP32[$2>>2] = 13; - $56 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($56|0); -} -function _unixTruncate($id,$0,$1) { - $id = $id|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp; - $pFile = sp + 12|0; - $rc = sp + 8|0; - HEAP32[$3>>2] = $id; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - HEAP32[$pFile>>2] = $9; - $10 = HEAP32[$pFile>>2]|0; - $11 = (($10) + 40|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = $4; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pFile>>2]|0; - $21 = (($20) + 40|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)<(0); - $24 = $23 << 31 >> 31; - $25 = (_i64Add(($16|0),($19|0),($22|0),($24|0))|0); - $26 = tempRet0; - $27 = (_i64Subtract(($25|0),($26|0),1,0)|0); - $28 = tempRet0; - $29 = HEAP32[$pFile>>2]|0; - $30 = (($29) + 40|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<(0); - $33 = $32 << 31 >> 31; - $34 = (___divdi3(($27|0),($28|0),($31|0),($33|0))|0); + $31 = HEAP32[$2>>2]|0; + _computeJD($31); + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$0>>2]|0; + $34 = (_localtimeOffset($32,$33,$rc)|0); $35 = tempRet0; - $36 = HEAP32[$pFile>>2]|0; - $37 = (($36) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)<(0); - $40 = $39 << 31 >> 31; - $41 = (___muldi3(($34|0),($35|0),($38|0),($40|0))|0); - $42 = tempRet0; - $43 = $4; - $44 = $43; - HEAP32[$44>>2] = $41; - $45 = (($43) + 4)|0; + $36 = HEAP32[$2>>2]|0; + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (_i64Add(($39|0),($42|0),($34|0),($35|0))|0); + $44 = tempRet0; + $45 = $36; $46 = $45; - HEAP32[$46>>2] = $42; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + $49 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($49); + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + break; + } + case 117: { + $50 = HEAP32[$z>>2]|0; + $51 = (_strcmp($50,37108)|0); + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 42|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55 << 24 >> 24; + $57 = ($56|0)!=(0); + if ($57) { + $58 = HEAP32[$2>>2]|0; + $59 = $58; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (_i64Add(($61|0),($64|0),43200,0)|0); + $66 = tempRet0; + $67 = (___divdi3(($65|0),($66|0),86400,0)|0); + $68 = tempRet0; + $69 = (_i64Add(($67|0),($68|0),1045635584,49096)|0); + $70 = tempRet0; + $71 = HEAP32[$2>>2]|0; + $72 = $71; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($76); + HEAP32[$rc>>2] = 0; + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + } + $77 = HEAP32[$z>>2]|0; + $78 = (_strcmp($77,37118)|0); + $79 = ($78|0)==(0); + if (!($79)) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $80 = HEAP32[$2>>2]|0; + _computeJD($80); + $81 = HEAP32[$2>>2]|0; + $82 = HEAP32[$0>>2]|0; + $83 = (_localtimeOffset($81,$82,$rc)|0); + $84 = tempRet0; + $85 = $c1; + $86 = $85; + HEAP32[$86>>2] = $83; + $87 = (($85) + 4)|0; + $88 = $87; + HEAP32[$88>>2] = $84; + $89 = HEAP32[$rc>>2]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $91 = $c1; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$2>>2]|0; + $98 = $97; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = (($98) + 4)|0; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (_i64Subtract(($100|0),($103|0),($93|0),($96|0))|0); + $105 = tempRet0; + $106 = $97; + $107 = $106; + HEAP32[$107>>2] = $104; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($110); + $111 = $c1; + $112 = $111; + $113 = HEAP32[$112>>2]|0; + $114 = (($111) + 4)|0; + $115 = $114; + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$2>>2]|0; + $118 = HEAP32[$0>>2]|0; + $119 = (_localtimeOffset($117,$118,$rc)|0); + $120 = tempRet0; + $121 = (_i64Subtract(($113|0),($116|0),($119|0),($120|0))|0); + $122 = tempRet0; + $123 = HEAP32[$2>>2]|0; + $124 = $123; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (($124) + 4)|0; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (_i64Add(($126|0),($129|0),($121|0),($122|0))|0); + $131 = tempRet0; + $132 = $123; + $133 = $132; + HEAP32[$133>>2] = $130; + $134 = (($132) + 4)|0; + $135 = $134; + HEAP32[$135>>2] = $131; + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + break; + } + case 119: { + $136 = HEAP32[$z>>2]|0; + $137 = (_strncmp($136,37122,8)|0); + $138 = ($137|0)==(0); + if (!($138)) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $139 = HEAP32[$z>>2]|0; + $140 = ((($139)) + 8|0); + $141 = HEAP32[$z>>2]|0; + $142 = ((($141)) + 8|0); + $143 = (_sqlite3Strlen30($142)|0); + $144 = (_sqlite3AtoF($140,$r,$143,1)|0); + $145 = ($144|0)!=(0); + if (!($145)) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $146 = +HEAPF64[$r>>3]; + $147 = (~~(($146))); + HEAP32[$n>>2] = $147; + $148 = (+($147|0)); + $149 = +HEAPF64[$r>>3]; + $150 = $148 == $149; + $151 = HEAP32[$n>>2]|0; + $152 = ($151|0)>=(0); + $or$cond = $150 & $152; + $153 = +HEAPF64[$r>>3]; + $154 = $153 < 7.0; + $or$cond3 = $or$cond & $154; + if (!($or$cond3)) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $155 = HEAP32[$2>>2]|0; + _computeYMD_HMS($155); + $156 = HEAP32[$2>>2]|0; + $157 = ((($156)) + 43|0); + HEAP8[$157>>0] = 0; + $158 = HEAP32[$2>>2]|0; + $159 = ((($158)) + 42|0); + HEAP8[$159>>0] = 0; + $160 = HEAP32[$2>>2]|0; + _computeJD($160); + $161 = HEAP32[$2>>2]|0; + $162 = $161; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = (($162) + 4)|0; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (_i64Add(($164|0),($167|0),129600000,0)|0); + $169 = tempRet0; + $170 = (___divdi3(($168|0),($169|0),86400000,0)|0); + $171 = tempRet0; + $172 = (___remdi3(($170|0),($171|0),7,0)|0); + $173 = tempRet0; + $174 = $Z; + $175 = $174; + HEAP32[$175>>2] = $172; + $176 = (($174) + 4)|0; + $177 = $176; + HEAP32[$177>>2] = $173; + $178 = $Z; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = (($178) + 4)|0; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = HEAP32[$n>>2]|0; + $185 = ($184|0)<(0); + $186 = $185 << 31 >> 31; + $187 = ($183|0)>($186|0); + $188 = ($180>>>0)>($184>>>0); + $189 = ($183|0)==($186|0); + $190 = $189 & $188; + $191 = $187 | $190; + if ($191) { + $192 = $Z; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = (($192) + 4)|0; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (_i64Subtract(($194|0),($197|0),7,0)|0); + $199 = tempRet0; + $200 = $Z; + $201 = $200; + HEAP32[$201>>2] = $198; + $202 = (($200) + 4)|0; + $203 = $202; + HEAP32[$203>>2] = $199; + } + $204 = HEAP32[$n>>2]|0; + $205 = ($204|0)<(0); + $206 = $205 << 31 >> 31; + $207 = $Z; + $208 = $207; + $209 = HEAP32[$208>>2]|0; + $210 = (($207) + 4)|0; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (_i64Subtract(($204|0),($206|0),($209|0),($212|0))|0); + $214 = tempRet0; + $215 = (___muldi3(($213|0),($214|0),86400000,0)|0); + $216 = tempRet0; + $217 = HEAP32[$2>>2]|0; + $218 = $217; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = (($218) + 4)|0; + $222 = $221; + $223 = HEAP32[$222>>2]|0; + $224 = (_i64Add(($220|0),($223|0),($215|0),($216|0))|0); + $225 = tempRet0; + $226 = $217; + $227 = $226; + HEAP32[$227>>2] = $224; + $228 = (($226) + 4)|0; + $229 = $228; + HEAP32[$229>>2] = $225; + $230 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($230); + HEAP32[$rc>>2] = 0; + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + break; + } + case 115: { + $231 = HEAP32[$z>>2]|0; + $232 = (_strncmp($231,37131,9)|0); + $233 = ($232|0)!=(0); + if ($233) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $234 = HEAP32[$z>>2]|0; + $235 = ((($234)) + 9|0); + HEAP32[$z>>2] = $235; + $236 = HEAP32[$2>>2]|0; + _computeYMD($236); + $237 = HEAP32[$2>>2]|0; + $238 = ((($237)) + 41|0); + HEAP8[$238>>0] = 1; + $239 = HEAP32[$2>>2]|0; + $240 = ((($239)) + 24|0); + HEAP32[$240>>2] = 0; + $241 = HEAP32[$2>>2]|0; + $242 = ((($241)) + 20|0); + HEAP32[$242>>2] = 0; + $243 = HEAP32[$2>>2]|0; + $244 = ((($243)) + 32|0); + HEAPF64[$244>>3] = 0.0; + $245 = HEAP32[$2>>2]|0; + $246 = ((($245)) + 43|0); + HEAP8[$246>>0] = 0; + $247 = HEAP32[$2>>2]|0; + $248 = ((($247)) + 42|0); + HEAP8[$248>>0] = 0; + $249 = HEAP32[$z>>2]|0; + $250 = (_strcmp($249,37141)|0); + $251 = ($250|0)==(0); + if ($251) { + $252 = HEAP32[$2>>2]|0; + $253 = ((($252)) + 16|0); + HEAP32[$253>>2] = 1; + HEAP32[$rc>>2] = 0; + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $254 = HEAP32[$z>>2]|0; + $255 = (_strcmp($254,37147)|0); + $256 = ($255|0)==(0); + if ($256) { + $257 = HEAP32[$2>>2]|0; + _computeYMD($257); + $258 = HEAP32[$2>>2]|0; + $259 = ((($258)) + 12|0); + HEAP32[$259>>2] = 1; + $260 = HEAP32[$2>>2]|0; + $261 = ((($260)) + 16|0); + HEAP32[$261>>2] = 1; + HEAP32[$rc>>2] = 0; + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $262 = HEAP32[$z>>2]|0; + $263 = (_strcmp($262,37152)|0); + $264 = ($263|0)==(0); + if (!($264)) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + HEAP32[$rc>>2] = 0; + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + break; + } + case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: case 45: case 43: { + HEAP32[$n>>2] = 1; + while(1) { + $265 = HEAP32[$n>>2]|0; + $266 = HEAP32[$z>>2]|0; + $267 = (($266) + ($265)|0); + $268 = HEAP8[$267>>0]|0; + $269 = $268 << 24 >> 24; + $270 = ($269|0)!=(0); + if (!($270)) { + break; + } + $271 = HEAP32[$n>>2]|0; + $272 = HEAP32[$z>>2]|0; + $273 = (($272) + ($271)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274 << 24 >> 24; + $276 = ($275|0)!=(58); + if (!($276)) { + break; + } + $277 = HEAP32[$n>>2]|0; + $278 = HEAP32[$z>>2]|0; + $279 = (($278) + ($277)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (14426 + ($281)|0); + $283 = HEAP8[$282>>0]|0; + $284 = $283&255; + $285 = $284 & 1; + $286 = ($285|0)!=(0); + $287 = $286 ^ 1; + if (!($287)) { + break; + } + $288 = HEAP32[$n>>2]|0; + $289 = (($288) + 1)|0; + HEAP32[$n>>2] = $289; + } + $290 = HEAP32[$z>>2]|0; + $291 = HEAP32[$n>>2]|0; + $292 = (_sqlite3AtoF($290,$r,$291,1)|0); + $293 = ($292|0)!=(0); + if (!($293)) { + HEAP32[$rc>>2] = 1; + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $294 = HEAP32[$n>>2]|0; + $295 = HEAP32[$z>>2]|0; + $296 = (($295) + ($294)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297 << 24 >> 24; + $299 = ($298|0)==(58); + if ($299) { + $300 = HEAP32[$z>>2]|0; + HEAP32[$z2>>2] = $300; + $301 = HEAP32[$z2>>2]|0; + $302 = HEAP8[$301>>0]|0; + $303 = $302&255; + $304 = (14426 + ($303)|0); + $305 = HEAP8[$304>>0]|0; + $306 = $305&255; + $307 = $306 & 4; + $308 = ($307|0)!=(0); + if (!($308)) { + $309 = HEAP32[$z2>>2]|0; + $310 = ((($309)) + 1|0); + HEAP32[$z2>>2] = $310; + } + dest=$tx; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $311 = HEAP32[$z2>>2]|0; + $312 = (_parseHhMmSs($311,$tx)|0); + $313 = ($312|0)!=(0); + if ($313) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + _computeJD($tx); + $314 = $tx; + $315 = $314; + $316 = HEAP32[$315>>2]|0; + $317 = (($314) + 4)|0; + $318 = $317; + $319 = HEAP32[$318>>2]|0; + $320 = (_i64Subtract(($316|0),($319|0),43200000,0)|0); + $321 = tempRet0; + $322 = $tx; + $323 = $322; + HEAP32[$323>>2] = $320; + $324 = (($322) + 4)|0; + $325 = $324; + HEAP32[$325>>2] = $321; + $326 = $tx; + $327 = $326; + $328 = HEAP32[$327>>2]|0; + $329 = (($326) + 4)|0; + $330 = $329; + $331 = HEAP32[$330>>2]|0; + $332 = (___divdi3(($328|0),($331|0),86400000,0)|0); + $333 = tempRet0; + $334 = $day; + $335 = $334; + HEAP32[$335>>2] = $332; + $336 = (($334) + 4)|0; + $337 = $336; + HEAP32[$337>>2] = $333; + $338 = $day; + $339 = $338; + $340 = HEAP32[$339>>2]|0; + $341 = (($338) + 4)|0; + $342 = $341; + $343 = HEAP32[$342>>2]|0; + $344 = (___muldi3(($340|0),($343|0),86400000,0)|0); + $345 = tempRet0; + $346 = $tx; + $347 = $346; + $348 = HEAP32[$347>>2]|0; + $349 = (($346) + 4)|0; + $350 = $349; + $351 = HEAP32[$350>>2]|0; + $352 = (_i64Subtract(($348|0),($351|0),($344|0),($345|0))|0); + $353 = tempRet0; + $354 = $tx; + $355 = $354; + HEAP32[$355>>2] = $352; + $356 = (($354) + 4)|0; + $357 = $356; + HEAP32[$357>>2] = $353; + $358 = HEAP32[$z>>2]|0; + $359 = HEAP8[$358>>0]|0; + $360 = $359 << 24 >> 24; + $361 = ($360|0)==(45); + if ($361) { + $362 = $tx; + $363 = $362; + $364 = HEAP32[$363>>2]|0; + $365 = (($362) + 4)|0; + $366 = $365; + $367 = HEAP32[$366>>2]|0; + $368 = (_i64Subtract(0,0,($364|0),($367|0))|0); + $369 = tempRet0; + $370 = $tx; + $371 = $370; + HEAP32[$371>>2] = $368; + $372 = (($370) + 4)|0; + $373 = $372; + HEAP32[$373>>2] = $369; + } + $374 = HEAP32[$2>>2]|0; + _computeJD($374); + $375 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($375); + $376 = $tx; + $377 = $376; + $378 = HEAP32[$377>>2]|0; + $379 = (($376) + 4)|0; + $380 = $379; + $381 = HEAP32[$380>>2]|0; + $382 = HEAP32[$2>>2]|0; + $383 = $382; + $384 = $383; + $385 = HEAP32[$384>>2]|0; + $386 = (($383) + 4)|0; + $387 = $386; + $388 = HEAP32[$387>>2]|0; + $389 = (_i64Add(($385|0),($388|0),($378|0),($381|0))|0); + $390 = tempRet0; + $391 = $382; + $392 = $391; + HEAP32[$392>>2] = $389; + $393 = (($391) + 4)|0; + $394 = $393; + HEAP32[$394>>2] = $390; + HEAP32[$rc>>2] = 0; + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $395 = HEAP32[$n>>2]|0; + $396 = HEAP32[$z>>2]|0; + $397 = (($396) + ($395)|0); + HEAP32[$z>>2] = $397; + while(1) { + $398 = HEAP32[$z>>2]|0; + $399 = HEAP8[$398>>0]|0; + $400 = $399&255; + $401 = (14426 + ($400)|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $404 = $403 & 1; + $405 = ($404|0)!=(0); + $406 = HEAP32[$z>>2]|0; + if (!($405)) { + break; + } + $407 = ((($406)) + 1|0); + HEAP32[$z>>2] = $407; + } + $408 = (_sqlite3Strlen30($406)|0); + HEAP32[$n>>2] = $408; + $409 = HEAP32[$n>>2]|0; + $410 = ($409|0)>(10); + $411 = HEAP32[$n>>2]|0; + $412 = ($411|0)<(3); + $or$cond6 = $410 | $412; + if ($or$cond6) { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + } + $413 = HEAP32[$n>>2]|0; + $414 = (($413) - 1)|0; + $415 = HEAP32[$z>>2]|0; + $416 = (($415) + ($414)|0); + $417 = HEAP8[$416>>0]|0; + $418 = $417 << 24 >> 24; + $419 = ($418|0)==(115); + if ($419) { + $420 = HEAP32[$n>>2]|0; + $421 = (($420) - 1)|0; + $422 = HEAP32[$z>>2]|0; + $423 = (($422) + ($421)|0); + HEAP8[$423>>0] = 0; + $424 = HEAP32[$n>>2]|0; + $425 = (($424) + -1)|0; + HEAP32[$n>>2] = $425; + } + $426 = HEAP32[$2>>2]|0; + _computeJD($426); + HEAP32[$rc>>2] = 0; + $427 = +HEAPF64[$r>>3]; + $428 = $427 < 0.0; + $429 = $428 ? -0.5 : 0.5; + HEAPF64[$rRounder>>3] = $429; + $430 = HEAP32[$n>>2]|0; + $431 = ($430|0)==(3); + if ($431) { + $432 = HEAP32[$z>>2]|0; + $433 = (_strcmp($432,37152)|0); + $434 = ($433|0)==(0); + if ($434) { + $435 = +HEAPF64[$r>>3]; + $436 = $435 * 8.64E+7; + $437 = +HEAPF64[$rRounder>>3]; + $438 = $436 + $437; + $439 = (~~$438)>>>0; + $440 = +Math_abs($438) >= 1.0 ? $438 > 0.0 ? (~~+Math_min(+Math_floor($438 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($438 - +(~~$438 >>> 0)) / 4294967296.0) >>> 0 : 0; + $441 = HEAP32[$2>>2]|0; + $442 = $441; + $443 = $442; + $444 = HEAP32[$443>>2]|0; + $445 = (($442) + 4)|0; + $446 = $445; + $447 = HEAP32[$446>>2]|0; + $448 = (_i64Add(($444|0),($447|0),($439|0),($440|0))|0); + $449 = tempRet0; + $450 = $441; + $451 = $450; + HEAP32[$451>>2] = $448; + $452 = (($450) + 4)|0; + $453 = $452; + HEAP32[$453>>2] = $449; + } else { + label = 51; + } + } else { + label = 51; + } + do { + if ((label|0) == 51) { + $454 = HEAP32[$n>>2]|0; + $455 = ($454|0)==(4); + if ($455) { + $456 = HEAP32[$z>>2]|0; + $457 = (_strcmp($456,37156)|0); + $458 = ($457|0)==(0); + if ($458) { + $459 = +HEAPF64[$r>>3]; + $460 = $459 * 3.6E+6; + $461 = +HEAPF64[$rRounder>>3]; + $462 = $460 + $461; + $463 = (~~$462)>>>0; + $464 = +Math_abs($462) >= 1.0 ? $462 > 0.0 ? (~~+Math_min(+Math_floor($462 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($462 - +(~~$462 >>> 0)) / 4294967296.0) >>> 0 : 0; + $465 = HEAP32[$2>>2]|0; + $466 = $465; + $467 = $466; + $468 = HEAP32[$467>>2]|0; + $469 = (($466) + 4)|0; + $470 = $469; + $471 = HEAP32[$470>>2]|0; + $472 = (_i64Add(($468|0),($471|0),($463|0),($464|0))|0); + $473 = tempRet0; + $474 = $465; + $475 = $474; + HEAP32[$475>>2] = $472; + $476 = (($474) + 4)|0; + $477 = $476; + HEAP32[$477>>2] = $473; + break; + } + } + $478 = HEAP32[$n>>2]|0; + $479 = ($478|0)==(6); + if ($479) { + $480 = HEAP32[$z>>2]|0; + $481 = (_strcmp($480,37161)|0); + $482 = ($481|0)==(0); + if ($482) { + $483 = +HEAPF64[$r>>3]; + $484 = $483 * 6.0E+4; + $485 = +HEAPF64[$rRounder>>3]; + $486 = $484 + $485; + $487 = (~~$486)>>>0; + $488 = +Math_abs($486) >= 1.0 ? $486 > 0.0 ? (~~+Math_min(+Math_floor($486 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($486 - +(~~$486 >>> 0)) / 4294967296.0) >>> 0 : 0; + $489 = HEAP32[$2>>2]|0; + $490 = $489; + $491 = $490; + $492 = HEAP32[$491>>2]|0; + $493 = (($490) + 4)|0; + $494 = $493; + $495 = HEAP32[$494>>2]|0; + $496 = (_i64Add(($492|0),($495|0),($487|0),($488|0))|0); + $497 = tempRet0; + $498 = $489; + $499 = $498; + HEAP32[$499>>2] = $496; + $500 = (($498) + 4)|0; + $501 = $500; + HEAP32[$501>>2] = $497; + break; + } + } + $502 = HEAP32[$n>>2]|0; + $503 = ($502|0)==(6); + if ($503) { + $504 = HEAP32[$z>>2]|0; + $505 = (_strcmp($504,37168)|0); + $506 = ($505|0)==(0); + if ($506) { + $507 = +HEAPF64[$r>>3]; + $508 = $507 * 1000.0; + $509 = +HEAPF64[$rRounder>>3]; + $510 = $508 + $509; + $511 = (~~$510)>>>0; + $512 = +Math_abs($510) >= 1.0 ? $510 > 0.0 ? (~~+Math_min(+Math_floor($510 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($510 - +(~~$510 >>> 0)) / 4294967296.0) >>> 0 : 0; + $513 = HEAP32[$2>>2]|0; + $514 = $513; + $515 = $514; + $516 = HEAP32[$515>>2]|0; + $517 = (($514) + 4)|0; + $518 = $517; + $519 = HEAP32[$518>>2]|0; + $520 = (_i64Add(($516|0),($519|0),($511|0),($512|0))|0); + $521 = tempRet0; + $522 = $513; + $523 = $522; + HEAP32[$523>>2] = $520; + $524 = (($522) + 4)|0; + $525 = $524; + HEAP32[$525>>2] = $521; + break; + } + } + $526 = HEAP32[$n>>2]|0; + $527 = ($526|0)==(5); + if ($527) { + $528 = HEAP32[$z>>2]|0; + $529 = (_strcmp($528,37141)|0); + $530 = ($529|0)==(0); + if ($530) { + $531 = HEAP32[$2>>2]|0; + _computeYMD_HMS($531); + $532 = +HEAPF64[$r>>3]; + $533 = (~~(($532))); + $534 = HEAP32[$2>>2]|0; + $535 = ((($534)) + 12|0); + $536 = HEAP32[$535>>2]|0; + $537 = (($536) + ($533))|0; + HEAP32[$535>>2] = $537; + $538 = HEAP32[$2>>2]|0; + $539 = ((($538)) + 12|0); + $540 = HEAP32[$539>>2]|0; + $541 = ($540|0)>(0); + $542 = HEAP32[$2>>2]|0; + $543 = ((($542)) + 12|0); + $544 = HEAP32[$543>>2]|0; + $545 = (($544) - 1)|0; + $546 = (($544) - 12)|0; + $$sink = $541 ? $545 : $546; + $547 = (($$sink|0) / 12)&-1; + HEAP32[$x>>2] = $547; + $548 = HEAP32[$x>>2]|0; + $549 = HEAP32[$2>>2]|0; + $550 = ((($549)) + 8|0); + $551 = HEAP32[$550>>2]|0; + $552 = (($551) + ($548))|0; + HEAP32[$550>>2] = $552; + $553 = HEAP32[$x>>2]|0; + $554 = ($553*12)|0; + $555 = HEAP32[$2>>2]|0; + $556 = ((($555)) + 12|0); + $557 = HEAP32[$556>>2]|0; + $558 = (($557) - ($554))|0; + HEAP32[$556>>2] = $558; + $559 = HEAP32[$2>>2]|0; + $560 = ((($559)) + 42|0); + HEAP8[$560>>0] = 0; + $561 = HEAP32[$2>>2]|0; + _computeJD($561); + $562 = +HEAPF64[$r>>3]; + $563 = (~~(($562))); + HEAP32[$y>>2] = $563; + $564 = HEAP32[$y>>2]|0; + $565 = (+($564|0)); + $566 = +HEAPF64[$r>>3]; + $567 = $565 != $566; + if (!($567)) { + break; + } + $568 = +HEAPF64[$r>>3]; + $569 = HEAP32[$y>>2]|0; + $570 = (+($569|0)); + $571 = $568 - $570; + $572 = $571 * 30.0; + $573 = $572 * 8.64E+7; + $574 = +HEAPF64[$rRounder>>3]; + $575 = $573 + $574; + $576 = (~~$575)>>>0; + $577 = +Math_abs($575) >= 1.0 ? $575 > 0.0 ? (~~+Math_min(+Math_floor($575 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($575 - +(~~$575 >>> 0)) / 4294967296.0) >>> 0 : 0; + $578 = HEAP32[$2>>2]|0; + $579 = $578; + $580 = $579; + $581 = HEAP32[$580>>2]|0; + $582 = (($579) + 4)|0; + $583 = $582; + $584 = HEAP32[$583>>2]|0; + $585 = (_i64Add(($581|0),($584|0),($576|0),($577|0))|0); + $586 = tempRet0; + $587 = $578; + $588 = $587; + HEAP32[$588>>2] = $585; + $589 = (($587) + 4)|0; + $590 = $589; + HEAP32[$590>>2] = $586; + break; + } + } + $591 = HEAP32[$n>>2]|0; + $592 = ($591|0)==(4); + if ($592) { + $593 = HEAP32[$z>>2]|0; + $594 = (_strcmp($593,37147)|0); + $595 = ($594|0)==(0); + if ($595) { + $596 = +HEAPF64[$r>>3]; + $597 = (~~(($596))); + HEAP32[$y1>>2] = $597; + $598 = HEAP32[$2>>2]|0; + _computeYMD_HMS($598); + $599 = HEAP32[$y1>>2]|0; + $600 = HEAP32[$2>>2]|0; + $601 = ((($600)) + 8|0); + $602 = HEAP32[$601>>2]|0; + $603 = (($602) + ($599))|0; + HEAP32[$601>>2] = $603; + $604 = HEAP32[$2>>2]|0; + $605 = ((($604)) + 42|0); + HEAP8[$605>>0] = 0; + $606 = HEAP32[$2>>2]|0; + _computeJD($606); + $607 = HEAP32[$y1>>2]|0; + $608 = (+($607|0)); + $609 = +HEAPF64[$r>>3]; + $610 = $608 != $609; + if (!($610)) { + break; + } + $611 = +HEAPF64[$r>>3]; + $612 = HEAP32[$y1>>2]|0; + $613 = (+($612|0)); + $614 = $611 - $613; + $615 = $614 * 365.0; + $616 = $615 * 8.64E+7; + $617 = +HEAPF64[$rRounder>>3]; + $618 = $616 + $617; + $619 = (~~$618)>>>0; + $620 = +Math_abs($618) >= 1.0 ? $618 > 0.0 ? (~~+Math_min(+Math_floor($618 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($618 - +(~~$618 >>> 0)) / 4294967296.0) >>> 0 : 0; + $621 = HEAP32[$2>>2]|0; + $622 = $621; + $623 = $622; + $624 = HEAP32[$623>>2]|0; + $625 = (($622) + 4)|0; + $626 = $625; + $627 = HEAP32[$626>>2]|0; + $628 = (_i64Add(($624|0),($627|0),($619|0),($620|0))|0); + $629 = tempRet0; + $630 = $621; + $631 = $630; + HEAP32[$631>>2] = $628; + $632 = (($630) + 4)|0; + $633 = $632; + HEAP32[$633>>2] = $629; + break; + } + } + HEAP32[$rc>>2] = 1; + } + } while(0); + $634 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($634); + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); + break; } - $47 = HEAP32[$pFile>>2]|0; - $48 = (($47) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = $4; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (_robust_ftruncate($49,$52,$55)|0); - HEAP32[$rc>>2] = $56; - $57 = HEAP32[$rc>>2]|0; - $58 = ($57|0)!=(0); - if ($58) { - $59 = (___errno_location()|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$pFile>>2]|0; - $62 = (($61) + 20|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$pFile>>2]|0; - $64 = (($63) + 32|0); - $65 = HEAP32[$64>>2]|0; - $66 = (_unixLogErrorAtLine(1546,37568,$65,28429)|0); - HEAP32[$2>>2] = $66; - $67 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($67|0); - } else { - HEAP32[$2>>2] = 0; - $67 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($67|0); + default: { + $635 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($635|0); } - return 0|0; + } + return (0)|0; } -function _unixSync($id,$flags) { - $id = $id|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; +function _localtimeOffset($p,$pCtx,$pRc) { + $p = $p|0; + $pCtx = $pCtx|0; + $pRc = $pRc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dirfd = 0, $isDataOnly = 0, $isFullsync = 0, $or$cond = 0, $pFile = 0, $rc = 0; - var label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $s = 0, $sLocal = 0, $t = 0, $x = 0, $y = 0, dest = 0, label = 0; + var sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $rc = sp + 16|0; - $pFile = sp + 12|0; - $isDataOnly = sp + 8|0; - $isFullsync = sp + 4|0; - $dirfd = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $flags; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $3; - $4 = HEAP32[$2>>2]|0; - $5 = $4 & 16; - HEAP32[$isDataOnly>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = $6 & 15; - $8 = ($7|0)==(3); - $9 = $8&1; - HEAP32[$isFullsync>>2] = $9; - $10 = HEAP32[$pFile>>2]|0; - $11 = (($10) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$isFullsync>>2]|0; - $14 = HEAP32[$isDataOnly>>2]|0; - $15 = (_full_fsync($12,$13,$14)|0); - HEAP32[$rc>>2] = $15; - $16 = HEAP32[$rc>>2]|0; - $17 = ($16|0)!=(0); - if ($17) { - $18 = (___errno_location()|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$pFile>>2]|0; - $21 = (($20) + 20|0); - HEAP32[$21>>2] = $19; - $22 = HEAP32[$pFile>>2]|0; - $23 = (($22) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_unixLogErrorAtLine(1034,38000,$24,28385)|0); - HEAP32[$0>>2] = $25; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); - } - $26 = HEAP32[$pFile>>2]|0; - $27 = (($26) + 18|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = $29 & 8; - $31 = ($30|0)!=(0); - if ($31) { - $32 = HEAP32[((37192 + 208|0))>>2]|0; - $33 = HEAP32[$pFile>>2]|0; - $34 = (($33) + 32|0); - $35 = HEAP32[$34>>2]|0; - $36 = (FUNCTION_TABLE_iii[$32 & 63]($35,$dirfd)|0); - HEAP32[$rc>>2] = $36; - $37 = HEAP32[$rc>>2]|0; - $38 = ($37|0)==(0); - $39 = HEAP32[$dirfd>>2]|0; - $40 = ($39|0)>=(0); - $or$cond = $38 & $40; - if ($or$cond) { - $41 = HEAP32[$dirfd>>2]|0; - (_full_fsync($41,0,0)|0); - $42 = HEAP32[$pFile>>2]|0; - $43 = HEAP32[$dirfd>>2]|0; - _robust_close($42,$43,28399); + STACKTOP = STACKTOP + 176|0; + $0 = sp + 96|0; + $1 = sp + 156|0; + $2 = sp + 160|0; + $3 = sp + 164|0; + $x = sp + 48|0; + $y = sp; + $t = sp + 152|0; + $sLocal = sp + 108|0; + $s = sp + 104|0; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $pCtx; + HEAP32[$3>>2] = $pRc; + dest=$sLocal; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = HEAP32[$1>>2]|0; + dest=$x; src=$4; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _computeYMD_HMS($x); + $5 = ((($x)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(1971); + if ($7) { + label = 3; + } else { + $8 = ((($x)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>=(2038); + if ($10) { + label = 3; } else { - $44 = HEAP32[$rc>>2]|0; - $45 = ($44|0)==(14); - if ($45) { - HEAP32[$rc>>2] = 0; - } + $17 = ((($x)) + 32|0); + $18 = +HEAPF64[$17>>3]; + $19 = $18 + 0.5; + $20 = (~~(($19))); + HEAP32[$s>>2] = $20; + $21 = HEAP32[$s>>2]|0; + $22 = (+($21|0)); + $23 = ((($x)) + 32|0); + HEAPF64[$23>>3] = $22; } - $46 = HEAP32[$pFile>>2]|0; - $47 = (($46) + 18|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = $49 & -9; - $51 = $50&65535; - HEAP16[$47>>1] = $51; } - $52 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $52; - $53 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($53|0); -} -function _unixFileSize($id,$pSize) { - $id = $id|0; - $pSize = $pSize|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0; - var $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $rc = sp + 76|0; - $buf = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $pSize; - $3 = HEAP32[((37192 + 64|0))>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iii[$3 & 63]($6,$buf)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - $10 = (___errno_location()|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 20|0); - HEAP32[$13>>2] = $11; - HEAP32[$0>>2] = 1802; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + if ((label|0) == 3) { + $11 = ((($x)) + 8|0); + HEAP32[$11>>2] = 2000; + $12 = ((($x)) + 12|0); + HEAP32[$12>>2] = 1; + $13 = ((($x)) + 16|0); + HEAP32[$13>>2] = 1; + $14 = ((($x)) + 20|0); + HEAP32[$14>>2] = 0; + $15 = ((($x)) + 24|0); + HEAP32[$15>>2] = 0; + $16 = ((($x)) + 32|0); + HEAPF64[$16>>3] = 0.0; } - $14 = (($buf) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)<(0); - $17 = $16 << 31 >> 31; - $18 = HEAP32[$2>>2]|0; - $19 = $18; - $20 = $19; - HEAP32[$20>>2] = $15; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = HEAP32[$2>>2]|0; - $24 = $23; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = ($26|0)==(1); - $31 = ($29|0)==(0); - $32 = $30 & $31; - if ($32) { - $33 = HEAP32[$2>>2]|0; - $34 = $33; - $35 = $34; - HEAP32[$35>>2] = 0; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = 0; + $24 = ((($x)) + 28|0); + HEAP32[$24>>2] = 0; + $25 = ((($x)) + 42|0); + HEAP8[$25>>0] = 0; + _computeJD($x); + $26 = $x; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (___divdi3(($28|0),($31|0),1000,0)|0); + $33 = tempRet0; + $34 = (_i64Subtract(($32|0),($33|0),413362496,49)|0); + $35 = tempRet0; + HEAP32[$t>>2] = $34; + $36 = (_osLocaltime($t,$sLocal)|0); + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$2>>2]|0; + _sqlite3_result_error($38,37175,-1); + $39 = HEAP32[$3>>2]|0; + HEAP32[$39>>2] = 1; + $40 = $0; + $41 = $40; + HEAP32[$41>>2] = 0; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = 0; + $87 = $0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + tempRet0 = ($92); + STACKTOP = sp;return ($89|0); + } else { + $44 = ((($sLocal)) + 20|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + 1900)|0; + $47 = ((($y)) + 8|0); + HEAP32[$47>>2] = $46; + $48 = ((($sLocal)) + 16|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + 1)|0; + $51 = ((($y)) + 12|0); + HEAP32[$51>>2] = $50; + $52 = ((($sLocal)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($y)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = ((($sLocal)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($y)) + 20|0); + HEAP32[$57>>2] = $56; + $58 = ((($sLocal)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = ((($y)) + 24|0); + HEAP32[$60>>2] = $59; + $61 = HEAP32[$sLocal>>2]|0; + $62 = (+($61|0)); + $63 = ((($y)) + 32|0); + HEAPF64[$63>>3] = $62; + $64 = ((($y)) + 40|0); + HEAP8[$64>>0] = 1; + $65 = ((($y)) + 41|0); + HEAP8[$65>>0] = 1; + $66 = ((($y)) + 42|0); + HEAP8[$66>>0] = 0; + $67 = ((($y)) + 43|0); + HEAP8[$67>>0] = 0; + _computeJD($y); + $68 = HEAP32[$3>>2]|0; + HEAP32[$68>>2] = 0; + $69 = $y; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = $x; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_i64Subtract(($71|0),($74|0),($77|0),($80|0))|0); + $82 = tempRet0; + $83 = $0; + $84 = $83; + HEAP32[$84>>2] = $81; + $85 = (($83) + 4)|0; + $86 = $85; + HEAP32[$86>>2] = $82; + $87 = $0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + tempRet0 = ($92); + STACKTOP = sp;return ($89|0); } - HEAP32[$0>>2] = 0; - $38 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($38|0); + return (0)|0; } -function _dotlockLock($id,$eFileLock) { - $id = $id|0; - $eFileLock = $eFileLock|0; +function _clearYMD_HMS_TZ($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 40|0); + HEAP8[$2>>0] = 0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 41|0); + HEAP8[$4>>0] = 0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 43|0); + HEAP8[$6>>0] = 0; + STACKTOP = sp;return; +} +function _parseHhMmSs($zDate,$p) { + $zDate = $zDate|0; + $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, $pFile = 0, $rc = 0, $tErrno = 0, $zLockFile = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $h = 0, $m = 0, $ms = 0, $rScale = 0, $s = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pFile = sp + 12|0; - $zLockFile = sp + 8|0; - $rc = sp + 4|0; - $tErrno = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $eFileLock; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer10 = sp + 56|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 76|0; + $1 = sp + 80|0; + $2 = sp + 96|0; + $h = sp + 92|0; + $m = sp + 88|0; + $s = sp + 84|0; + $ms = sp + 48|0; + $rScale = sp; + HEAP32[$1>>2] = $zDate; + HEAP32[$2>>2] = $p; + HEAPF64[$ms>>3] = 0.0; $3 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $3; - $4 = HEAP32[$pFile>>2]|0; - $5 = (($4) + 24|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$zLockFile>>2] = $6; - HEAP32[$rc>>2] = 0; - $7 = HEAP32[$pFile>>2]|0; - $8 = (($7) + 16|0); + HEAP32[$vararg_buffer>>2] = 2; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 24; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = 58; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $h; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = 2; + $vararg_ptr6 = ((($vararg_buffer)) + 24|0); + HEAP32[$vararg_ptr6>>2] = 0; + $vararg_ptr7 = ((($vararg_buffer)) + 28|0); + HEAP32[$vararg_ptr7>>2] = 59; + $vararg_ptr8 = ((($vararg_buffer)) + 32|0); + HEAP32[$vararg_ptr8>>2] = 0; + $vararg_ptr9 = ((($vararg_buffer)) + 36|0); + HEAP32[$vararg_ptr9>>2] = $m; + $4 = (_getDigits($3,$vararg_buffer)|0); + $5 = ($4|0)!=(2); + if ($5) { + HEAP32[$0>>2] = 1; + $85 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($85|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 5|0); + HEAP32[$1>>2] = $7; + $8 = HEAP32[$1>>2]|0; $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)>(0); + $10 = $9 << 24 >> 24; + $11 = ($10|0)==(58); if ($11) { - $12 = HEAP32[$2>>2]|0; - $13 = $12&255; - $14 = HEAP32[$pFile>>2]|0; - $15 = (($14) + 16|0); - HEAP8[$15>>0] = $13; - $16 = HEAP32[$zLockFile>>2]|0; - (_utimes(($16|0),(0|0))|0); - HEAP32[$0>>2] = 0; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } - $17 = HEAP32[((37192 + 220|0))>>2]|0; - $18 = HEAP32[$zLockFile>>2]|0; - $19 = (FUNCTION_TABLE_iii[$17 & 63]($18,511)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)<(0); - if (!($21)) { - $36 = HEAP32[$2>>2]|0; - $37 = $36&255; - $38 = HEAP32[$pFile>>2]|0; - $39 = (($38) + 16|0); - HEAP8[$39>>0] = $37; - $40 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $40; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } - $22 = (___errno_location()|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$tErrno>>2] = $23; - $24 = HEAP32[$tErrno>>2]|0; - $25 = (17)==($24|0); - if ($25) { - HEAP32[$rc>>2] = 5; - } else { - $26 = HEAP32[$tErrno>>2]|0; - $27 = (_sqliteErrorFromPosixError($26,3850)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)!=(0); - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)!=(5); - $or$cond = $29 & $31; - if ($or$cond) { - $32 = HEAP32[$tErrno>>2]|0; - $33 = HEAP32[$pFile>>2]|0; - $34 = (($33) + 20|0); - HEAP32[$34>>2] = $32; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 1|0); + HEAP32[$1>>2] = $13; + $14 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer10>>2] = 2; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = 0; + $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); + HEAP32[$vararg_ptr14>>2] = 59; + $vararg_ptr15 = ((($vararg_buffer10)) + 12|0); + HEAP32[$vararg_ptr15>>2] = 0; + $vararg_ptr16 = ((($vararg_buffer10)) + 16|0); + HEAP32[$vararg_ptr16>>2] = $s; + $15 = (_getDigits($14,$vararg_buffer10)|0); + $16 = ($15|0)!=(1); + if ($16) { + HEAP32[$0>>2] = 1; + $85 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($85|0); } - } - $35 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $35; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); -} -function _dotlockUnlock($id,$eFileLock) { - $id = $id|0; - $eFileLock = $eFileLock|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pFile = 0, $rc = 0, $tErrno = 0, $zLockFile = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $pFile = sp + 12|0; - $zLockFile = sp + 8|0; - $rc = sp + 4|0; - $tErrno = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $eFileLock; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $3; - $4 = HEAP32[$pFile>>2]|0; - $5 = (($4) + 24|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$zLockFile>>2] = $6; - $7 = HEAP32[$pFile>>2]|0; - $8 = (($7) + 16|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)==($11|0); - if ($12) { - HEAP32[$0>>2] = 0; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - $13 = HEAP32[$2>>2]|0; - $14 = ($13|0)==(1); - if ($14) { - $15 = HEAP32[$pFile>>2]|0; - $16 = (($15) + 16|0); - HEAP8[$16>>0] = 1; - HEAP32[$0>>2] = 0; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - $17 = HEAP32[((37192 + 232|0))>>2]|0; - $18 = HEAP32[$zLockFile>>2]|0; - $19 = (FUNCTION_TABLE_ii[$17 & 31]($18)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)<(0); - if ($21) { - $22 = (___errno_location()|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(20); - if ($24) { - $25 = HEAP32[((37192 + 196|0))>>2]|0; - $26 = HEAP32[$zLockFile>>2]|0; - $27 = (FUNCTION_TABLE_ii[$25 & 31]($26)|0); - HEAP32[$rc>>2] = $27; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 2|0); + HEAP32[$1>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($21|0)==(46); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = (14426 + ($26)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 & 4; + $31 = ($30|0)!=(0); + if ($31) { + HEAPF64[$rScale>>3] = 1.0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 1|0); + HEAP32[$1>>2] = $33; + while(1) { + $34 = HEAP32[$1>>2]|0; + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = (14426 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 & 4; + $41 = ($40|0)!=(0); + if (!($41)) { + break; + } + $42 = +HEAPF64[$ms>>3]; + $43 = $42 * 10.0; + $44 = HEAP32[$1>>2]|0; + $45 = HEAP8[$44>>0]|0; + $46 = $45 << 24 >> 24; + $47 = (+($46|0)); + $48 = $43 + $47; + $49 = $48 - 48.0; + HEAPF64[$ms>>3] = $49; + $50 = +HEAPF64[$rScale>>3]; + $51 = $50 * 10.0; + HEAPF64[$rScale>>3] = $51; + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 1|0); + HEAP32[$1>>2] = $53; + } + $54 = +HEAPF64[$rScale>>3]; + $55 = +HEAPF64[$ms>>3]; + $56 = $55 / $54; + HEAPF64[$ms>>3] = $56; + } } + } else { + HEAP32[$s>>2] = 0; } - $28 = HEAP32[$rc>>2]|0; - $29 = ($28|0)<(0); - if (!($29)) { - $42 = HEAP32[$pFile>>2]|0; - $43 = (($42) + 16|0); - HEAP8[$43>>0] = 0; - HEAP32[$0>>2] = 0; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - $30 = (___errno_location()|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$tErrno>>2] = $31; - HEAP32[$rc>>2] = 0; - $32 = HEAP32[$tErrno>>2]|0; - $33 = (2)!=($32|0); - $$ = $33 ? 2058 : 0; - HEAP32[$rc>>2] = $$; - $34 = HEAP32[$rc>>2]|0; - $35 = ($34|0)!=(0); - $36 = HEAP32[$rc>>2]|0; - $37 = ($36|0)!=(5); - $or$cond = $35 & $37; - if ($or$cond) { - $38 = HEAP32[$tErrno>>2]|0; - $39 = HEAP32[$pFile>>2]|0; - $40 = (($39) + 20|0); - HEAP32[$40>>2] = $38; - } - $41 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $41; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); -} -function _dotlockCheckReservedLock($id,$pResOut) { - $id = $id|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0; - var $rc = 0, $reserved = 0, $zLockFile = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $rc = sp + 12|0; - $reserved = sp + 8|0; - $pFile = sp + 4|0; - $zLockFile = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $pResOut; - HEAP32[$rc>>2] = 0; - HEAP32[$reserved>>2] = 0; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $2; - $3 = HEAP32[$pFile>>2]|0; - $4 = (($3) + 16|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ($6|0)>(1); - if ($7) { - HEAP32[$reserved>>2] = 1; - $16 = HEAP32[$reserved>>2]|0; - $17 = HEAP32[$1>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 42|0); + HEAP8[$58>>0] = 0; + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 41|0); + HEAP8[$60>>0] = 1; + $61 = HEAP32[$h>>2]|0; + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 20|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$m>>2]|0; + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 24|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$s>>2]|0; + $68 = (+($67|0)); + $69 = +HEAPF64[$ms>>3]; + $70 = $68 + $69; + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 32|0); + HEAPF64[$72>>3] = $70; + $73 = HEAP32[$1>>2]|0; + $74 = HEAP32[$2>>2]|0; + $75 = (_parseTimezone($73,$74)|0); + $76 = ($75|0)!=(0); + if ($76) { + HEAP32[$0>>2] = 1; + $85 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($85|0); } else { - $8 = HEAP32[$pFile>>2]|0; - $9 = (($8) + 24|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$zLockFile>>2] = $10; - $11 = HEAP32[((37192 + 28|0))>>2]|0; - $12 = HEAP32[$zLockFile>>2]|0; - $13 = (FUNCTION_TABLE_iii[$11 & 63]($12,0)|0); - $14 = ($13|0)==(0); - $15 = $14&1; - HEAP32[$reserved>>2] = $15; - $16 = HEAP32[$reserved>>2]|0; - $17 = HEAP32[$1>>2]|0; - HEAP32[$17>>2] = $16; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0); + $81 = $80 ? 1 : 0; + $82 = $81&255; + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 43|0); + HEAP8[$84>>0] = $82; + HEAP32[$0>>2] = 0; + $85 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($85|0); } - return 0|0; + return (0)|0; } -function _unixFileControl($id,$op,$pArg) { - $id = $id|0; - $op = $op|0; - $pArg = $pArg|0; +function _getDigits($zDate,$varargs) { + $zDate = $zDate|0; + $varargs = $varargs|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $pFile = 0, $rc = 0, $vararg_buffer = 0, $zTFile = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $pFile = sp + 12|0; - $rc = sp + 8|0; - $zTFile = sp + 4|0; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pArg; - $4 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $4; - $5 = HEAP32[$2>>2]|0; - do { - switch ($5|0) { - case 16: { - $40 = HEAP32[$pFile>>2]|0; - $41 = (($40) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($42) + 8|0); - $44 = HEAP32[$43>>2]|0; - $45 = (_sqlite3_malloc($44)|0); - HEAP32[$zTFile>>2] = $45; - $46 = HEAP32[$zTFile>>2]|0; - $47 = ($46|0)!=(0|0); - if ($47) { - $48 = HEAP32[$pFile>>2]|0; - $49 = (($48) + 4|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 8|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$zTFile>>2]|0; - (_unixGetTempname($52,$53)|0); - $54 = HEAP32[$zTFile>>2]|0; - $55 = HEAP32[$3>>2]|0; - HEAP32[$55>>2] = $54; - } - HEAP32[$0>>2] = 0; - break; - } - case 1: { - $6 = HEAP32[$pFile>>2]|0; - $7 = (($6) + 16|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = HEAP32[$3>>2]|0; - HEAP32[$10>>2] = $9; - HEAP32[$0>>2] = 0; - break; - } - case 12: { - $33 = HEAP32[$pFile>>2]|0; - $34 = (($33) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 16|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3_mprintf(1200,$vararg_buffer)|0); - $39 = HEAP32[$3>>2]|0; - HEAP32[$39>>2] = $38; - HEAP32[$0>>2] = 0; - break; - } - case 20: { - $56 = HEAP32[$pFile>>2]|0; - $57 = (_fileHasMoved($56)|0); - $58 = HEAP32[$3>>2]|0; - HEAP32[$58>>2] = $57; - HEAP32[$0>>2] = 0; - break; - } - case 4: { - $11 = HEAP32[$pFile>>2]|0; - $12 = (($11) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$3>>2]|0; - HEAP32[$14>>2] = $13; - HEAP32[$0>>2] = 0; - break; - } - case 5: { - $19 = HEAP32[$pFile>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = $20; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (_fcntlSizeHint($19,$23,$26)|0); - HEAP32[$rc>>2] = $27; - $28 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $28; - break; - } - case 10: { - $29 = HEAP32[$pFile>>2]|0; - $30 = HEAP32[$3>>2]|0; - _unixModeBit($29,4,$30); - HEAP32[$0>>2] = 0; - break; - } - case 13: { - $31 = HEAP32[$pFile>>2]|0; - $32 = HEAP32[$3>>2]|0; - _unixModeBit($31,16,$32); - HEAP32[$0>>2] = 0; - break; - } - case 6: { - $15 = HEAP32[$3>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$pFile>>2]|0; - $18 = (($17) + 40|0); - HEAP32[$18>>2] = $16; - HEAP32[$0>>2] = 0; - break; - } - default: { - HEAP32[$0>>2] = 12; - } - } - } while(0); - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); -} -function _unixSectorSize($NotUsed) { - $NotUsed = $NotUsed|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $NotUsed; - STACKTOP = sp;return 4096; -} -function _unixDeviceCharacteristics($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $p = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$rc>>2] = 0; - $2 = HEAP32[$p>>2]|0; - $3 = (($2) + 18|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 16; - $7 = ($6|0)!=(0); - if (!($7)) { - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); - } - $8 = HEAP32[$rc>>2]|0; - $9 = $8 | 4096; - HEAP32[$rc>>2] = $9; - $10 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($10|0); -} -function _unixShmLock($fd,$ofst,$n,$flags) { - $fd = $fd|0; - $ofst = $ofst|0; - $n = $n|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $allMask = 0, $allShared = 0, $mask = 0, $p = 0, $pDbFd = 0, $pShmNode = 0, $pX = 0, $rc = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $N = 0, $ap = 0; + var $arglist_current = 0, $arglist_current11 = 0, $arglist_current2 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $cnt = 0, $expanded = 0, $expanded10 = 0, $expanded12 = 0, $expanded13 = 0, $expanded14 = 0, $expanded16 = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0; + var $expanded21 = 0, $expanded23 = 0, $expanded24 = 0, $expanded26 = 0, $expanded27 = 0, $expanded28 = 0, $expanded3 = 0, $expanded30 = 0, $expanded31 = 0, $expanded33 = 0, $expanded34 = 0, $expanded35 = 0, $expanded5 = 0, $expanded6 = 0, $expanded7 = 0, $expanded9 = 0, $max = 0, $min = 0, $nextC = 0, $pVal = 0; + var $val = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $3 = sp + 20|0; - $pDbFd = sp + 16|0; - $p = sp + 12|0; - $pX = sp + 8|0; - $pShmNode = sp + 4|0; - $rc = sp; - $mask = sp + 40|0; - $allMask = sp + 38|0; - $allShared = sp + 36|0; - HEAP32[$0>>2] = $fd; - HEAP32[$1>>2] = $ofst; - HEAP32[$2>>2] = $n; - HEAP32[$3>>2] = $flags; - $4 = HEAP32[$0>>2]|0; - HEAP32[$pDbFd>>2] = $4; - $5 = HEAP32[$pDbFd>>2]|0; - $6 = (($5) + 36|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$p>>2] = $7; - $8 = HEAP32[$p>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$pShmNode>>2] = $9; - HEAP32[$rc>>2] = 0; - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (($10) + ($11))|0; - $13 = 1 << $12; - $14 = HEAP32[$1>>2]|0; - $15 = 1 << $14; - $16 = (($13) - ($15))|0; - $17 = $16&65535; - HEAP16[$mask>>1] = $17; - $18 = HEAP32[$3>>2]|0; - $19 = $18 & 1; - $20 = ($19|0)!=(0); - if ($20) { - HEAP16[$allMask>>1] = 0; - $21 = HEAP32[$pShmNode>>2]|0; - $22 = (($21) + 32|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$pX>>2] = $23; + $0 = sp + 40|0; + $ap = sp + 16|0; + $val = sp + 4|0; + $N = sp + 8|0; + $min = sp + 44|0; + $max = sp; + $nextC = sp + 12|0; + $pVal = sp + 36|0; + $cnt = sp + 32|0; + HEAP32[$0>>2] = $zDate; + HEAP32[$cnt>>2] = 0; + HEAP32[$ap>>2] = $varargs; + L1: while(1) { + $arglist_current = HEAP32[$ap>>2]|0; + $1 = $arglist_current; + $2 = ((0) + 4|0); + $expanded3 = $2; + $expanded = (($expanded3) - 1)|0; + $3 = (($1) + ($expanded))|0; + $4 = ((0) + 4|0); + $expanded7 = $4; + $expanded6 = (($expanded7) - 1)|0; + $expanded5 = $expanded6 ^ -1; + $5 = $3 & $expanded5; + $6 = $5; + $7 = HEAP32[$6>>2]|0; + $arglist_next = ((($6)) + 4|0); + HEAP32[$ap>>2] = $arglist_next; + HEAP32[$N>>2] = $7; + $arglist_current2 = HEAP32[$ap>>2]|0; + $8 = $arglist_current2; + $9 = ((0) + 4|0); + $expanded10 = $9; + $expanded9 = (($expanded10) - 1)|0; + $10 = (($8) + ($expanded9))|0; + $11 = ((0) + 4|0); + $expanded14 = $11; + $expanded13 = (($expanded14) - 1)|0; + $expanded12 = $expanded13 ^ -1; + $12 = $10 & $expanded12; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $arglist_next3 = ((($13)) + 4|0); + HEAP32[$ap>>2] = $arglist_next3; + HEAP32[$min>>2] = $14; + $arglist_current5 = HEAP32[$ap>>2]|0; + $15 = $arglist_current5; + $16 = ((0) + 4|0); + $expanded17 = $16; + $expanded16 = (($expanded17) - 1)|0; + $17 = (($15) + ($expanded16))|0; + $18 = ((0) + 4|0); + $expanded21 = $18; + $expanded20 = (($expanded21) - 1)|0; + $expanded19 = $expanded20 ^ -1; + $19 = $17 & $expanded19; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $arglist_next6 = ((($20)) + 4|0); + HEAP32[$ap>>2] = $arglist_next6; + HEAP32[$max>>2] = $21; + $arglist_current8 = HEAP32[$ap>>2]|0; + $22 = $arglist_current8; + $23 = ((0) + 4|0); + $expanded24 = $23; + $expanded23 = (($expanded24) - 1)|0; + $24 = (($22) + ($expanded23))|0; + $25 = ((0) + 4|0); + $expanded28 = $25; + $expanded27 = (($expanded28) - 1)|0; + $expanded26 = $expanded27 ^ -1; + $26 = $24 & $expanded26; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $arglist_next9 = ((($27)) + 4|0); + HEAP32[$ap>>2] = $arglist_next9; + HEAP32[$nextC>>2] = $28; + $arglist_current11 = HEAP32[$ap>>2]|0; + $29 = $arglist_current11; + $30 = ((0) + 4|0); + $expanded31 = $30; + $expanded30 = (($expanded31) - 1)|0; + $31 = (($29) + ($expanded30))|0; + $32 = ((0) + 4|0); + $expanded35 = $32; + $expanded34 = (($expanded35) - 1)|0; + $expanded33 = $expanded34 ^ -1; + $33 = $31 & $expanded33; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $arglist_next12 = ((($34)) + 4|0); + HEAP32[$ap>>2] = $arglist_next12; + HEAP32[$pVal>>2] = $35; + HEAP32[$val>>2] = 0; while(1) { - $24 = HEAP32[$pX>>2]|0; - $25 = ($24|0)!=(0|0); - if (!($25)) { + $36 = HEAP32[$N>>2]|0; + $37 = (($36) + -1)|0; + HEAP32[$N>>2] = $37; + $38 = ($36|0)!=(0); + if (!($38)) { break; } - $26 = HEAP32[$pX>>2]|0; - $27 = HEAP32[$p>>2]|0; - $28 = ($26|0)==($27|0); - if (!($28)) { - $29 = HEAP32[$pX>>2]|0; - $30 = (($29) + 10|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = HEAP16[$allMask>>1]|0; - $34 = $33&65535; - $35 = $34 | $32; - $36 = $35&65535; - HEAP16[$allMask>>1] = $36; + $39 = HEAP32[$0>>2]|0; + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = (14426 + ($41)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $43&255; + $45 = $44 & 4; + $46 = ($45|0)!=(0); + if (!($46)) { + label = 11; + break L1; } - $37 = HEAP32[$pX>>2]|0; - $38 = (($37) + 4|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$pX>>2] = $39; + $47 = HEAP32[$val>>2]|0; + $48 = ($47*10)|0; + $49 = HEAP32[$0>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = $50 << 24 >> 24; + $52 = (($48) + ($51))|0; + $53 = (($52) - 48)|0; + HEAP32[$val>>2] = $53; + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 1|0); + HEAP32[$0>>2] = $55; } - $40 = HEAP16[$mask>>1]|0; - $41 = $40&65535; - $42 = HEAP16[$allMask>>1]|0; - $43 = $42&65535; - $44 = $41 & $43; - $45 = ($44|0)==(0); - if ($45) { - $46 = HEAP32[$pShmNode>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = (($47) + 120)|0; - $49 = HEAP32[$2>>2]|0; - $50 = (_unixShmSystemLock($46,2,$48,$49)|0); - HEAP32[$rc>>2] = $50; - } else { - HEAP32[$rc>>2] = 0; + $56 = HEAP32[$val>>2]|0; + $57 = HEAP32[$min>>2]|0; + $58 = ($56|0)<($57|0); + if ($58) { + label = 11; + break; } - $51 = HEAP32[$rc>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); + $59 = HEAP32[$val>>2]|0; + $60 = HEAP32[$max>>2]|0; + $61 = ($59|0)>($60|0); + if ($61) { + label = 11; + break; } - $53 = HEAP16[$mask>>1]|0; - $54 = $53&65535; - $55 = $54 ^ -1; - $56 = HEAP32[$p>>2]|0; - $57 = (($56) + 12|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = $59 & $55; - $61 = $60&65535; - HEAP16[$57>>1] = $61; - $62 = HEAP16[$mask>>1]|0; - $63 = $62&65535; - $64 = $63 ^ -1; - $65 = HEAP32[$p>>2]|0; - $66 = (($65) + 10|0); - $67 = HEAP16[$66>>1]|0; - $68 = $67&65535; - $69 = $68 & $64; - $70 = $69&65535; - HEAP16[$66>>1] = $70; - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); - } - $71 = HEAP32[$3>>2]|0; - $72 = $71 & 4; - $73 = ($72|0)!=(0); - if (!($73)) { - $121 = HEAP32[$pShmNode>>2]|0; - $122 = (($121) + 32|0); - $123 = HEAP32[$122>>2]|0; - HEAP32[$pX>>2] = $123; - while(1) { - $124 = HEAP32[$pX>>2]|0; - $125 = ($124|0)!=(0|0); - if (!($125)) { - break; - } - $126 = HEAP32[$pX>>2]|0; - $127 = (($126) + 12|0); - $128 = HEAP16[$127>>1]|0; - $129 = $128&65535; - $130 = HEAP16[$mask>>1]|0; - $131 = $130&65535; - $132 = $129 & $131; - $133 = ($132|0)!=(0); - if ($133) { - label = 28; - break; - } - $134 = HEAP32[$pX>>2]|0; - $135 = (($134) + 10|0); - $136 = HEAP16[$135>>1]|0; - $137 = $136&65535; - $138 = HEAP16[$mask>>1]|0; - $139 = $138&65535; - $140 = $137 & $139; - $141 = ($140|0)!=(0); - if ($141) { - label = 28; + $62 = HEAP32[$nextC>>2]|0; + $63 = ($62|0)!=(0); + if ($63) { + $64 = HEAP32[$nextC>>2]|0; + $65 = HEAP32[$0>>2]|0; + $66 = HEAP8[$65>>0]|0; + $67 = $66 << 24 >> 24; + $68 = ($64|0)!=($67|0); + if ($68) { + label = 11; break; } - $142 = HEAP32[$pX>>2]|0; - $143 = (($142) + 4|0); - $144 = HEAP32[$143>>2]|0; - HEAP32[$pX>>2] = $144; - } - if ((label|0) == 28) { - HEAP32[$rc>>2] = 5; - } - $145 = HEAP32[$rc>>2]|0; - $146 = ($145|0)==(0); - if (!($146)) { - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); } - $147 = HEAP32[$pShmNode>>2]|0; - $148 = HEAP32[$1>>2]|0; - $149 = (($148) + 120)|0; - $150 = HEAP32[$2>>2]|0; - $151 = (_unixShmSystemLock($147,1,$149,$150)|0); - HEAP32[$rc>>2] = $151; - $152 = HEAP32[$rc>>2]|0; - $153 = ($152|0)==(0); - if (!($153)) { - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); + $69 = HEAP32[$val>>2]|0; + $70 = HEAP32[$pVal>>2]|0; + HEAP32[$70>>2] = $69; + $71 = HEAP32[$0>>2]|0; + $72 = ((($71)) + 1|0); + HEAP32[$0>>2] = $72; + $73 = HEAP32[$cnt>>2]|0; + $74 = (($73) + 1)|0; + HEAP32[$cnt>>2] = $74; + $75 = HEAP32[$nextC>>2]|0; + $76 = ($75|0)!=(0); + if (!($76)) { + label = 11; + break; } - $154 = HEAP16[$mask>>1]|0; - $155 = $154&65535; - $156 = HEAP32[$p>>2]|0; - $157 = (($156) + 12|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = $159 | $155; - $161 = $160&65535; - HEAP16[$157>>1] = $161; - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); } - HEAP16[$allShared>>1] = 0; - $74 = HEAP32[$pShmNode>>2]|0; - $75 = (($74) + 32|0); - $76 = HEAP32[$75>>2]|0; - HEAP32[$pX>>2] = $76; + if ((label|0) == 11) { + $77 = HEAP32[$cnt>>2]|0; + STACKTOP = sp;return ($77|0); + } + return (0)|0; +} +function _parseTimezone($zDate,$p) { + $zDate = $zDate|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, $c = 0, $nHr = 0, $nMn = 0, $or$cond = 0, $sgn = 0, $vararg_buffer = 0, $vararg_ptr10 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $0 = sp + 44|0; + $1 = sp + 56|0; + $2 = sp + 52|0; + $sgn = sp + 60|0; + $nHr = sp + 40|0; + $nMn = sp + 48|0; + $c = sp + 64|0; + HEAP32[$1>>2] = $zDate; + HEAP32[$2>>2] = $p; + HEAP32[$sgn>>2] = 0; while(1) { - $77 = HEAP32[$pX>>2]|0; - $78 = ($77|0)!=(0|0); - if (!($78)) { - break; - } - $79 = HEAP32[$pX>>2]|0; - $80 = (($79) + 12|0); - $81 = HEAP16[$80>>1]|0; - $82 = $81&65535; - $83 = HEAP16[$mask>>1]|0; - $84 = $83&65535; - $85 = $82 & $84; - $86 = ($85|0)!=(0); - if ($86) { - label = 16; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = (14426 + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = $8 & 1; + $10 = ($9|0)!=(0); + if (!($10)) { break; } - $87 = HEAP32[$pX>>2]|0; - $88 = (($87) + 10|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = HEAP16[$allShared>>1]|0; - $92 = $91&65535; - $93 = $92 | $90; - $94 = $93&65535; - HEAP16[$allShared>>1] = $94; - $95 = HEAP32[$pX>>2]|0; - $96 = (($95) + 4|0); - $97 = HEAP32[$96>>2]|0; - HEAP32[$pX>>2] = $97; - } - if ((label|0) == 16) { - HEAP32[$rc>>2] = 5; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 1|0); + HEAP32[$1>>2] = $12; } - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)==(0); + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 28|0); + HEAP32[$14>>2] = 0; + $15 = HEAP32[$1>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + HEAP32[$c>>2] = $17; + $18 = HEAP32[$c>>2]|0; + $19 = ($18|0)==(45); do { - if ($99) { - $100 = HEAP16[$allShared>>1]|0; - $101 = $100&65535; - $102 = HEAP16[$mask>>1]|0; - $103 = $102&65535; - $104 = $101 & $103; - $105 = ($104|0)==(0); - if ($105) { - $106 = HEAP32[$pShmNode>>2]|0; - $107 = HEAP32[$1>>2]|0; - $108 = (($107) + 120)|0; - $109 = HEAP32[$2>>2]|0; - $110 = (_unixShmSystemLock($106,0,$108,$109)|0); - HEAP32[$rc>>2] = $110; + if ($19) { + HEAP32[$sgn>>2] = -1; + label = 11; + } else { + $20 = HEAP32[$c>>2]|0; + $21 = ($20|0)==(43); + if ($21) { + HEAP32[$sgn>>2] = 1; + label = 11; break; - } else { - HEAP32[$rc>>2] = 0; + } + $22 = HEAP32[$c>>2]|0; + $23 = ($22|0)==(90); + $24 = HEAP32[$c>>2]|0; + $25 = ($24|0)==(122); + $or$cond = $23 | $25; + if ($or$cond) { + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 1|0); + HEAP32[$1>>2] = $27; break; } + $28 = HEAP32[$c>>2]|0; + $29 = ($28|0)!=(0); + $30 = $29&1; + HEAP32[$0>>2] = $30; + $60 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($60|0); } } while(0); - $111 = HEAP32[$rc>>2]|0; - $112 = ($111|0)==(0); - if (!($112)) { - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); + do { + if ((label|0) == 11) { + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$1>>2] = $32; + $33 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = 0; + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr3>>2] = 14; + $vararg_ptr4 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr4>>2] = 58; + $vararg_ptr5 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr5>>2] = $nHr; + $vararg_ptr6 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer)) + 24|0); + HEAP32[$vararg_ptr7>>2] = 0; + $vararg_ptr8 = ((($vararg_buffer)) + 28|0); + HEAP32[$vararg_ptr8>>2] = 59; + $vararg_ptr9 = ((($vararg_buffer)) + 32|0); + HEAP32[$vararg_ptr9>>2] = 0; + $vararg_ptr10 = ((($vararg_buffer)) + 36|0); + HEAP32[$vararg_ptr10>>2] = $nMn; + $34 = (_getDigits($33,$vararg_buffer)|0); + $35 = ($34|0)!=(2); + if (!($35)) { + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 5|0); + HEAP32[$1>>2] = $37; + $38 = HEAP32[$sgn>>2]|0; + $39 = HEAP32[$nMn>>2]|0; + $40 = HEAP32[$nHr>>2]|0; + $41 = ($40*60)|0; + $42 = (($39) + ($41))|0; + $43 = Math_imul($38, $42)|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 28|0); + HEAP32[$45>>2] = $43; + break; + } + HEAP32[$0>>2] = 1; + $60 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($60|0); + } + } while(0); + while(1) { + $46 = HEAP32[$1>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = (14426 + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = $51 & 1; + $53 = ($52|0)!=(0); + $54 = HEAP32[$1>>2]|0; + if (!($53)) { + break; + } + $55 = ((($54)) + 1|0); + HEAP32[$1>>2] = $55; } - $113 = HEAP16[$mask>>1]|0; - $114 = $113&65535; - $115 = HEAP32[$p>>2]|0; - $116 = (($115) + 10|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117&65535; - $119 = $118 | $114; - $120 = $119&65535; - HEAP16[$116>>1] = $120; - $162 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($162|0); + $56 = HEAP8[$54>>0]|0; + $57 = $56 << 24 >> 24; + $58 = ($57|0)!=(0); + $59 = $58&1; + HEAP32[$0>>2] = $59; + $60 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($60|0); } -function _unixShmBarrier($fd) { - $fd = $fd|0; - var $0 = 0, label = 0, sp = 0; +function _osLocaltime($t,$pTm) { + $t = $t|0; + $pTm = $pTm|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pX = 0, $rc = 0, dest = 0, label = 0, sp = 0; + var src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $fd; - _unixEnterMutex(); - _unixLeaveMutex(); - STACKTOP = sp;return; + $0 = sp + 12|0; + $1 = sp + 8|0; + $rc = sp + 4|0; + $pX = sp; + HEAP32[$0>>2] = $t; + HEAP32[$1>>2] = $pTm; + $2 = HEAP32[$0>>2]|0; + $3 = (_localtime(($2|0))|0); + HEAP32[$pX>>2] = $3; + $4 = HEAP32[(272)>>2]|0; + $5 = ($4|0)!=(0); + $$ = $5 ? 0 : $3; + HEAP32[$pX>>2] = $$; + $6 = HEAP32[$pX>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$pX>>2]|0; + dest=$8; src=$9; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + } + $10 = HEAP32[$pX>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $11&1; + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($13|0); } -function _unixShmUnmap($fd,$deleteFlag) { - $fd = $fd|0; - $deleteFlag = $deleteFlag|0; +function _parseYyyyMmDd($zDate,$p) { + $zDate = $zDate|0; + $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pDbFd = 0, $pShmNode = 0, $pp = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, $D = 0, $M = 0, $Y = 0, $neg = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $p = sp + 12|0; - $pShmNode = sp + 8|0; - $pp = sp + 4|0; - $pDbFd = sp; - HEAP32[$1>>2] = $fd; - HEAP32[$2>>2] = $deleteFlag; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer = sp; + $0 = sp + 64|0; + $1 = sp + 76|0; + $2 = sp + 72|0; + $Y = sp + 80|0; + $M = sp + 60|0; + $D = sp + 68|0; + $neg = sp + 84|0; + HEAP32[$1>>2] = $zDate; + HEAP32[$2>>2] = $p; $3 = HEAP32[$1>>2]|0; - HEAP32[$pDbFd>>2] = $3; - $4 = HEAP32[$pDbFd>>2]|0; - $5 = (($4) + 36|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - HEAP32[$0>>2] = 0; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4 << 24 >> 24; + $6 = ($5|0)==(45); + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 1|0); + HEAP32[$1>>2] = $8; + HEAP32[$neg>>2] = 1; + } else { + HEAP32[$neg>>2] = 0; } - $9 = HEAP32[$p>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$pShmNode>>2] = $10; - $11 = HEAP32[$pShmNode>>2]|0; - $12 = (($11) + 32|0); - HEAP32[$pp>>2] = $12; + $9 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = 4; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 9999; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = 45; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $Y; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = 2; + $vararg_ptr6 = ((($vararg_buffer)) + 24|0); + HEAP32[$vararg_ptr6>>2] = 1; + $vararg_ptr7 = ((($vararg_buffer)) + 28|0); + HEAP32[$vararg_ptr7>>2] = 12; + $vararg_ptr8 = ((($vararg_buffer)) + 32|0); + HEAP32[$vararg_ptr8>>2] = 45; + $vararg_ptr9 = ((($vararg_buffer)) + 36|0); + HEAP32[$vararg_ptr9>>2] = $M; + $vararg_ptr10 = ((($vararg_buffer)) + 40|0); + HEAP32[$vararg_ptr10>>2] = 2; + $vararg_ptr11 = ((($vararg_buffer)) + 44|0); + HEAP32[$vararg_ptr11>>2] = 1; + $vararg_ptr12 = ((($vararg_buffer)) + 48|0); + HEAP32[$vararg_ptr12>>2] = 31; + $vararg_ptr13 = ((($vararg_buffer)) + 52|0); + HEAP32[$vararg_ptr13>>2] = 0; + $vararg_ptr14 = ((($vararg_buffer)) + 56|0); + HEAP32[$vararg_ptr14>>2] = $D; + $10 = (_getDigits($9,$vararg_buffer)|0); + $11 = ($10|0)!=(3); + if ($11) { + HEAP32[$0>>2] = 1; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 10|0); + HEAP32[$1>>2] = $13; while(1) { - $13 = HEAP32[$pp>>2]|0; - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$p>>2]|0; - $16 = ($14|0)!=($15|0); - if (!($16)) { + $14 = HEAP32[$1>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (14426 + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $19 & 1; + $21 = ($20|0)!=(0); + if ($21) { + $60 = 1; + } else { + $22 = HEAP32[$1>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (84)==($24|0); + $60 = $25; + } + $26 = HEAP32[$1>>2]|0; + if (!($60)) { break; } - $17 = HEAP32[$pp>>2]|0; - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 4|0); - HEAP32[$pp>>2] = $19; + $27 = ((($26)) + 1|0); + HEAP32[$1>>2] = $27; } - $20 = HEAP32[$p>>2]|0; - $21 = (($20) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pp>>2]|0; - HEAP32[$23>>2] = $22; - $24 = HEAP32[$p>>2]|0; - _sqlite3_free($24); - $25 = HEAP32[$pDbFd>>2]|0; - $26 = (($25) + 36|0); - HEAP32[$26>>2] = 0; - _unixEnterMutex(); - $27 = HEAP32[$pShmNode>>2]|0; - $28 = (($27) + 28|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + -1)|0; - HEAP32[$28>>2] = $30; - $31 = HEAP32[$pShmNode>>2]|0; - $32 = (($31) + 28|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$pShmNode>>2]|0; - $38 = (($37) + 12|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)>=(0); - if ($40) { - $41 = HEAP32[((37192 + 196|0))>>2]|0; - $42 = HEAP32[$pShmNode>>2]|0; - $43 = (($42) + 8|0); - $44 = HEAP32[$43>>2]|0; - (FUNCTION_TABLE_ii[$41 & 31]($44)|0); + $28 = HEAP32[$2>>2]|0; + $29 = (_parseHhMmSs($26,$28)|0); + $30 = ($29|0)==(0); + do { + if (!($30)) { + $31 = HEAP32[$1>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 41|0); + HEAP8[$36>>0] = 0; + break; } + HEAP32[$0>>2] = 1; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } - $45 = HEAP32[$pDbFd>>2]|0; - _unixShmPurge($45); + } while(0); + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 42|0); + HEAP8[$38>>0] = 0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 40|0); + HEAP8[$40>>0] = 1; + $41 = HEAP32[$neg>>2]|0; + $42 = ($41|0)!=(0); + $43 = HEAP32[$Y>>2]|0; + $44 = (0 - ($43))|0; + $45 = $42 ? $44 : $43; + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 8|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$M>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 12|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$D>>2]|0; + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 16|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 43|0); + $56 = HEAP8[$55>>0]|0; + $57 = ($56<<24>>24)!=(0); + if ($57) { + $58 = HEAP32[$2>>2]|0; + _computeJD($58); } - _unixLeaveMutex(); HEAP32[$0>>2] = 0; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); -} -function _unixFetch($fd,$0,$1,$nAmt,$pp) { - $fd = $fd|0; - $0 = $0|0; - $1 = $1|0; - $nAmt = $nAmt|0; - $pp = $pp|0; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $4 = sp + 12|0; - $5 = sp + 8|0; - HEAP32[$2>>2] = $fd; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $nAmt; - HEAP32[$5>>2] = $pp; - $10 = HEAP32[$5>>2]|0; - HEAP32[$10>>2] = 0; - STACKTOP = sp;return 0; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } -function _unixUnfetch($fd,$0,$1,$p) { - $fd = $fd|0; - $0 = $0|0; - $1 = $1|0; +function _sqlite3StmtCurrentTime($p) { $p = $p|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0; + var $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $4 = sp + 8|0; - HEAP32[$2>>2] = $fd; - $5 = $3; + $0 = sp + 8|0; + $v = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 12|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$v>>2] = $3; + $4 = HEAP32[$v>>2]|0; + $5 = ((($4)) + 136|0); $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - HEAP32[$4>>2] = $p; - STACKTOP = sp;return 0; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)==(0); + $13 = ($11|0)==(0); + $14 = $12 & $13; + if ($14) { + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$v>>2]|0; + $21 = ((($20)) + 136|0); + $22 = (_sqlite3OsCurrentTimeInt64($19,$21)|0); + HEAP32[$rc>>2] = $22; + $23 = HEAP32[$rc>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$v>>2]|0; + $26 = ((($25)) + 136|0); + $27 = $26; + $28 = $27; + HEAP32[$28>>2] = 0; + $29 = (($27) + 4)|0; + $30 = $29; + HEAP32[$30>>2] = 0; + } + } + $31 = HEAP32[$v>>2]|0; + $32 = ((($31)) + 136|0); + $33 = $32; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + tempRet0 = ($38); + STACKTOP = sp;return ($35|0); } -function _unixEnterMutex() { - var label = 0, sp = 0; +function _trimFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $$old = 0, $$old1 = 0, $$old2 = 0, $$old3 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aLen = 0, $azChar = 0, $flags = 0, $i = 0, $len = 0, $len1 = 0; + var $nChar = 0, $nIn = 0, $or$cond = 0, $or$cond4 = 0, $z = 0, $zCharSet = 0, $zIn = 0, label = 0, sp = 0; sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 44|0; + $zIn = sp + 36|0; + $zCharSet = sp + 32|0; + $nIn = sp + 40|0; + $flags = sp + 48|0; + $i = sp + 52|0; + $aLen = sp + 20|0; + $azChar = sp; + $nChar = sp + 28|0; + $z = sp + 4|0; + $len = sp + 24|0; + $len1 = sp + 8|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$aLen>>2] = 0; + HEAP32[$azChar>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + $6 = ($5|0)==(5); + if ($6) { + STACKTOP = sp;return; + } + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$zIn>>2] = $9; + $10 = HEAP32[$zIn>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + STACKTOP = sp;return; + } + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_bytes($13)|0); + HEAP32[$nIn>>2] = $14; + $15 = HEAP32[$1>>2]|0; + $16 = ($15|0)==(1); + L7: do { + if ($16) { + HEAP32[$nChar>>2] = 1; + HEAP32[$aLen>>2] = 37665; + HEAP32[$azChar>>2] = 7140; + HEAP32[$zCharSet>>2] = 0; + } else { + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_text($19)|0); + HEAP32[$zCharSet>>2] = $20; + $21 = ($20|0)==(0|0); + if ($21) { + STACKTOP = sp;return; + } + $22 = HEAP32[$zCharSet>>2]|0; + HEAP32[$z>>2] = $22; + HEAP32[$nChar>>2] = 0; + while(1) { + $23 = HEAP32[$z>>2]|0; + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)!=(0); + if (!($25)) { + break; + } + $26 = HEAP32[$z>>2]|0; + $27 = ((($26)) + 1|0); + HEAP32[$z>>2] = $27; + $28 = HEAP8[$26>>0]|0; + $29 = $28&255; + $30 = ($29|0)>=(192); + L16: do { + if ($30) { + while(1) { + $31 = HEAP32[$z>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = $33 & 192; + $35 = ($34|0)==(128); + if (!($35)) { + break L16; + } + $36 = HEAP32[$z>>2]|0; + $37 = ((($36)) + 1|0); + HEAP32[$z>>2] = $37; + } + } + } while(0); + $38 = HEAP32[$nChar>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$nChar>>2] = $39; + } + $40 = HEAP32[$nChar>>2]|0; + $41 = ($40|0)>(0); + if ($41) { + $42 = HEAP32[$0>>2]|0; + $43 = HEAP32[$nChar>>2]|0; + $44 = ($43|0)<(0); + $45 = $44 << 31 >> 31; + $46 = (___muldi3(($43|0),($45|0),5,0)|0); + $47 = tempRet0; + $48 = (_contextMalloc($42,$46,$47)|0); + HEAP32[$azChar>>2] = $48; + $49 = HEAP32[$azChar>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + STACKTOP = sp;return; + } + $51 = HEAP32[$nChar>>2]|0; + $52 = HEAP32[$azChar>>2]|0; + $53 = (($52) + ($51<<2)|0); + HEAP32[$aLen>>2] = $53; + $54 = HEAP32[$zCharSet>>2]|0; + HEAP32[$z>>2] = $54; + HEAP32[$nChar>>2] = 0; + while(1) { + $55 = HEAP32[$z>>2]|0; + $56 = HEAP8[$55>>0]|0; + $57 = ($56<<24>>24)!=(0); + if (!($57)) { + break L7; + } + $58 = HEAP32[$z>>2]|0; + $59 = HEAP32[$nChar>>2]|0; + $60 = HEAP32[$azChar>>2]|0; + $61 = (($60) + ($59<<2)|0); + HEAP32[$61>>2] = $58; + $62 = HEAP32[$z>>2]|0; + $63 = ((($62)) + 1|0); + HEAP32[$z>>2] = $63; + $64 = HEAP8[$62>>0]|0; + $65 = $64&255; + $66 = ($65|0)>=(192); + L29: do { + if ($66) { + while(1) { + $67 = HEAP32[$z>>2]|0; + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = $69 & 192; + $71 = ($70|0)==(128); + if (!($71)) { + break L29; + } + $72 = HEAP32[$z>>2]|0; + $73 = ((($72)) + 1|0); + HEAP32[$z>>2] = $73; + } + } + } while(0); + $74 = HEAP32[$z>>2]|0; + $75 = HEAP32[$nChar>>2]|0; + $76 = HEAP32[$azChar>>2]|0; + $77 = (($76) + ($75<<2)|0); + $78 = HEAP32[$77>>2]|0; + $79 = $74; + $80 = $78; + $81 = (($79) - ($80))|0; + $82 = $81&255; + $83 = HEAP32[$nChar>>2]|0; + $84 = HEAP32[$aLen>>2]|0; + $85 = (($84) + ($83)|0); + HEAP8[$85>>0] = $82; + $86 = HEAP32[$nChar>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$nChar>>2] = $87; + } + } + } + } while(0); + $88 = HEAP32[$nChar>>2]|0; + $89 = ($88|0)>(0); + if ($89) { + $90 = HEAP32[$0>>2]|0; + $91 = (_sqlite3_user_data($90)|0); + $92 = $91; + HEAP32[$flags>>2] = $92; + $93 = HEAP32[$flags>>2]|0; + $94 = $93 & 1; + $95 = ($94|0)!=(0); + $96 = HEAP32[$nIn>>2]|0; + $97 = ($96|0)>(0); + $or$cond = $95 & $97; + L37: do { + if ($or$cond) { + while(1) { + HEAP32[$len>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $98 = HEAP32[$i>>2]|0; + $99 = HEAP32[$nChar>>2]|0; + $100 = ($98|0)<($99|0); + if (!($100)) { + break; + } + $101 = HEAP32[$i>>2]|0; + $102 = HEAP32[$aLen>>2]|0; + $103 = (($102) + ($101)|0); + $104 = HEAP8[$103>>0]|0; + $105 = $104&255; + HEAP32[$len>>2] = $105; + $106 = HEAP32[$len>>2]|0; + $107 = HEAP32[$nIn>>2]|0; + $108 = ($106|0)<=($107|0); + if ($108) { + $109 = HEAP32[$zIn>>2]|0; + $110 = HEAP32[$i>>2]|0; + $111 = HEAP32[$azChar>>2]|0; + $112 = (($111) + ($110<<2)|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$len>>2]|0; + $115 = (_memcmp($109,$113,$114)|0); + $116 = ($115|0)==(0); + if ($116) { + break; + } + } + $117 = HEAP32[$i>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$i>>2] = $118; + } + $119 = HEAP32[$i>>2]|0; + $120 = HEAP32[$nChar>>2]|0; + $121 = ($119|0)>=($120|0); + if ($121) { + break L37; + } + $122 = HEAP32[$len>>2]|0; + $123 = HEAP32[$zIn>>2]|0; + $124 = (($123) + ($122)|0); + HEAP32[$zIn>>2] = $124; + $125 = HEAP32[$len>>2]|0; + $126 = HEAP32[$nIn>>2]|0; + $127 = (($126) - ($125))|0; + HEAP32[$nIn>>2] = $127; + $$old = HEAP32[$nIn>>2]|0; + $$old1 = ($$old|0)>(0); + if (!($$old1)) { + break; + } + } + } + } while(0); + $128 = HEAP32[$flags>>2]|0; + $129 = $128 & 2; + $130 = ($129|0)!=(0); + $131 = HEAP32[$nIn>>2]|0; + $132 = ($131|0)>(0); + $or$cond4 = $130 & $132; + L49: do { + if ($or$cond4) { + while(1) { + HEAP32[$len1>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $133 = HEAP32[$i>>2]|0; + $134 = HEAP32[$nChar>>2]|0; + $135 = ($133|0)<($134|0); + if (!($135)) { + break; + } + $136 = HEAP32[$i>>2]|0; + $137 = HEAP32[$aLen>>2]|0; + $138 = (($137) + ($136)|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + HEAP32[$len1>>2] = $140; + $141 = HEAP32[$len1>>2]|0; + $142 = HEAP32[$nIn>>2]|0; + $143 = ($141|0)<=($142|0); + if ($143) { + $144 = HEAP32[$nIn>>2]|0; + $145 = HEAP32[$len1>>2]|0; + $146 = (($144) - ($145))|0; + $147 = HEAP32[$zIn>>2]|0; + $148 = (($147) + ($146)|0); + $149 = HEAP32[$i>>2]|0; + $150 = HEAP32[$azChar>>2]|0; + $151 = (($150) + ($149<<2)|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$len1>>2]|0; + $154 = (_memcmp($148,$152,$153)|0); + $155 = ($154|0)==(0); + if ($155) { + break; + } + } + $156 = HEAP32[$i>>2]|0; + $157 = (($156) + 1)|0; + HEAP32[$i>>2] = $157; + } + $158 = HEAP32[$i>>2]|0; + $159 = HEAP32[$nChar>>2]|0; + $160 = ($158|0)>=($159|0); + if ($160) { + break L49; + } + $161 = HEAP32[$len1>>2]|0; + $162 = HEAP32[$nIn>>2]|0; + $163 = (($162) - ($161))|0; + HEAP32[$nIn>>2] = $163; + $$old2 = HEAP32[$nIn>>2]|0; + $$old3 = ($$old2|0)>(0); + if (!($$old3)) { + break; + } + } + } + } while(0); + $164 = HEAP32[$zCharSet>>2]|0; + $165 = ($164|0)!=(0|0); + if ($165) { + $166 = HEAP32[$azChar>>2]|0; + _sqlite3_free($166); + } + } + $167 = HEAP32[$0>>2]|0; + $168 = HEAP32[$zIn>>2]|0; + $169 = HEAP32[$nIn>>2]|0; + _sqlite3_result_text($167,$168,$169,(-1)); STACKTOP = sp;return; } -function _unixShmPurge($pFd) { - $pFd = $pFd|0; +function _minmaxFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $nShmPerMap = 0; - var $p = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $i = 0, $iBest = 0, $mask = 0, $pColl = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $p = sp + 8|0; - $nShmPerMap = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $pFd; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 20|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$p>>2] = $5; - $6 = HEAP32[$p>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$p>>2]|0; - $9 = (($8) + 28|0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $i = sp + 24|0; + $mask = sp + 4|0; + $iBest = sp; + $pColl = sp + 12|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_user_data($3)|0); + $5 = ($4|0)==(0|0); + $6 = $5 ? 0 : -1; + HEAP32[$mask>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = (_sqlite3GetFuncCollSeq($7)|0); + HEAP32[$pColl>>2] = $8; + HEAP32[$iBest>>2] = 0; + $9 = HEAP32[$2>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if (!($11)) { + $11 = (_sqlite3_value_type($10)|0); + $12 = ($11|0)==(5); + if ($12) { STACKTOP = sp;return; } - $12 = (_unixShmRegionPerMap()|0); - HEAP32[$nShmPerMap>>2] = $12; - HEAP32[$i>>2] = 0; + HEAP32[$i>>2] = 1; while(1) { $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 20|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = ($13|0)<($17|0); - $19 = HEAP32[$p>>2]|0; - if (!($18)) { + $14 = HEAP32[$1>>2]|0; + $15 = ($13|0)<($14|0); + if (!($15)) { break; } - $20 = (($19) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)>=(0); - if ($22) { - $23 = HEAP32[((37192 + 268|0))>>2]|0; - $24 = HEAP32[$i>>2]|0; - $25 = HEAP32[$p>>2]|0; - $26 = (($25) + 24|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($24<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$p>>2]|0; - $31 = (($30) + 16|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iii[$23 & 63]($29,$32)|0); - } else { - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = (($34) + 24|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + ($33<<2)|0); - $38 = HEAP32[$37>>2]|0; - _sqlite3_free($38); + $16 = HEAP32[$i>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = (($17) + ($16<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_type($19)|0); + $21 = ($20|0)==(5); + if ($21) { + label = 9; + break; + } + $22 = HEAP32[$iBest>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = (($23) + ($22<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = (($27) + ($26<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$pColl>>2]|0; + $31 = (_sqlite3MemCompare($25,$29,$30)|0); + $32 = HEAP32[$mask>>2]|0; + $33 = $31 ^ $32; + $34 = ($33|0)>=(0); + if ($34) { + $35 = HEAP32[$i>>2]|0; + HEAP32[$iBest>>2] = $35; + } + $36 = HEAP32[$i>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$i>>2] = $37; + } + if ((label|0) == 9) { + STACKTOP = sp;return; + } + $38 = HEAP32[$0>>2]|0; + $39 = HEAP32[$iBest>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = (($40) + ($39<<2)|0); + $42 = HEAP32[$41>>2]|0; + _sqlite3_result_value($38,$42); + STACKTOP = sp;return; +} +function _minmaxStep($context,$NotUsed,$argv) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cmp = 0, $max = 0, $or$cond = 0, $or$cond3 = 0, $pArg = 0, $pBest = 0, $pColl = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 4|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $pArg = sp + 20|0; + $pBest = sp + 28|0; + $max = sp; + $cmp = sp + 12|0; + $pColl = sp + 24|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$pArg>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = (_sqlite3_aggregate_context($5,40)|0); + HEAP32[$pBest>>2] = $6; + $7 = HEAP32[$pBest>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3_value_type($10)|0); + $12 = ($11|0)==(5); + $13 = HEAP32[$pBest>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP16[$14>>1]|0; + $16 = ($15<<16>>16)!=(0); + if ($12) { + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$0>>2]|0; + _sqlite3SkipAccumulatorLoad($17); + STACKTOP = sp;return; + } + $18 = HEAP32[$0>>2]|0; + if (!($16)) { + $39 = (_sqlite3_context_db_handle($18)|0); + $40 = HEAP32[$pBest>>2]|0; + $41 = ((($40)) + 32|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$pBest>>2]|0; + $43 = HEAP32[$pArg>>2]|0; + (_sqlite3VdbeMemCopy($42,$43)|0); + STACKTOP = sp;return; + } + $19 = (_sqlite3GetFuncCollSeq($18)|0); + HEAP32[$pColl>>2] = $19; + $20 = HEAP32[$0>>2]|0; + $21 = (_sqlite3_user_data($20)|0); + $22 = ($21|0)!=(0|0); + $23 = $22&1; + HEAP32[$max>>2] = $23; + $24 = HEAP32[$pBest>>2]|0; + $25 = HEAP32[$pArg>>2]|0; + $26 = HEAP32[$pColl>>2]|0; + $27 = (_sqlite3MemCompare($24,$25,$26)|0); + HEAP32[$cmp>>2] = $27; + $28 = HEAP32[$max>>2]|0; + $29 = ($28|0)!=(0); + $30 = HEAP32[$cmp>>2]|0; + $31 = ($30|0)<(0); + $or$cond = $29 & $31; + if (!($or$cond)) { + $32 = HEAP32[$max>>2]|0; + $33 = ($32|0)==(0); + $34 = HEAP32[$cmp>>2]|0; + $35 = ($34|0)>(0); + $or$cond3 = $33 & $35; + if (!($or$cond3)) { + $38 = HEAP32[$0>>2]|0; + _sqlite3SkipAccumulatorLoad($38); + STACKTOP = sp;return; } - $39 = HEAP32[$nShmPerMap>>2]|0; - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + ($39))|0; - HEAP32[$i>>2] = $41; - } - $42 = (($19) + 24|0); - $43 = HEAP32[$42>>2]|0; - _sqlite3_free($43); - $44 = HEAP32[$p>>2]|0; - $45 = (($44) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)>=(0); - if ($47) { - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$p>>2]|0; - $50 = (($49) + 12|0); - $51 = HEAP32[$50>>2]|0; - _robust_close($48,$51,28999); - $52 = HEAP32[$p>>2]|0; - $53 = (($52) + 12|0); - HEAP32[$53>>2] = -1; } - $54 = HEAP32[$p>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 20|0); - HEAP32[$56>>2] = 0; - $57 = HEAP32[$p>>2]|0; - _sqlite3_free($57); - STACKTOP = sp;return; -} -function _unixLeaveMutex() { - var label = 0, sp = 0; - sp = STACKTOP; + $36 = HEAP32[$pBest>>2]|0; + $37 = HEAP32[$pArg>>2]|0; + (_sqlite3VdbeMemCopy($36,$37)|0); STACKTOP = sp;return; } -function _unixShmRegionPerMap() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pgsz = 0, $shmsz = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $shmsz = sp + 4|0; - $pgsz = sp; - HEAP32[$shmsz>>2] = 32768; - $1 = HEAP32[((37192 + 292|0))>>2]|0; - $2 = (FUNCTION_TABLE_i[$1 & 1]()|0); - HEAP32[$pgsz>>2] = $2; - $3 = HEAP32[$pgsz>>2]|0; - $4 = HEAP32[$shmsz>>2]|0; - $5 = ($3|0)<($4|0); - if ($5) { - HEAP32[$0>>2] = 1; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } else { - $6 = HEAP32[$pgsz>>2]|0; - $7 = HEAP32[$shmsz>>2]|0; - $8 = (($6|0) / ($7|0))&-1; - HEAP32[$0>>2] = $8; - $9 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($9|0); - } - return 0|0; -} -function _robust_close($pFile,$h,$lineno) { - $pFile = $pFile|0; - $h = $h|0; - $lineno = $lineno|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _minMaxFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRes = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $pFile; - HEAP32[$1>>2] = $h; - HEAP32[$2>>2] = $lineno; - $3 = HEAP32[((37192 + 16|0))>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (FUNCTION_TABLE_ii[$3 & 31]($4)|0); - $6 = ($5|0)!=(0); - if (!($6)) { + $0 = sp + 4|0; + $pRes = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$pRes>>2] = $2; + $3 = HEAP32[$pRes>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { STACKTOP = sp;return; } - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)!=(0|0); + $5 = HEAP32[$pRes>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = ($7<<16>>16)!=(0); if ($8) { $9 = HEAP32[$0>>2]|0; - $10 = (($9) + 32|0); - $11 = HEAP32[$10>>2]|0; - $13 = $11; - } else { - $13 = 0; + $10 = HEAP32[$pRes>>2]|0; + _sqlite3_result_value($9,$10); } - $12 = HEAP32[$2>>2]|0; - (_unixLogErrorAtLine(4106,37496,$13,$12)|0); + $11 = HEAP32[$pRes>>2]|0; + _sqlite3VdbeMemRelease($11); STACKTOP = sp;return; } -function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { - $errcode = $errcode|0; - $zFunc = $zFunc|0; - $zPath = $zPath|0; - $iLine = $iLine|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iErrno = 0, $vararg_buffer = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $zErr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $zErr = sp + 24|0; - $iErrno = sp + 20|0; - HEAP32[$0>>2] = $errcode; - HEAP32[$1>>2] = $zFunc; - HEAP32[$2>>2] = $zPath; - HEAP32[$3>>2] = $iLine; - $4 = (___errno_location()|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$iErrno>>2] = $5; - $6 = HEAP32[$iErrno>>2]|0; - $7 = (_strerror(($6|0))|0); - HEAP32[$zErr>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$2>>2] = 1216; - } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$iErrno>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = (($vararg_buffer) + 12|0); - HEAP32[$vararg_ptr3>>2] = $14; - $vararg_ptr4 = (($vararg_buffer) + 16|0); - HEAP32[$vararg_ptr4>>2] = $15; - _sqlite3_log($10,37504,$vararg_buffer); - $16 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($16|0); -} -function _posixOpen($zFile,$flags,$mode) { - $zFile = $zFile|0; - $flags = $flags|0; - $mode = $mode|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _typeofFunc($context,$NotUsed,$argv) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - HEAP32[$0>>2] = $zFile; - HEAP32[$1>>2] = $flags; - HEAP32[$2>>2] = $mode; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $6 = (_open(($3|0),($4|0),($vararg_buffer|0))|0); - STACKTOP = sp;return ($6|0); + $z = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + HEAP32[$z>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + switch ($5|0) { + case 1: { + HEAP32[$z>>2] = 30974; + break; + } + case 3: { + HEAP32[$z>>2] = 37655; + break; + } + case 2: { + HEAP32[$z>>2] = 30969; + break; + } + case 4: { + HEAP32[$z>>2] = 37660; + break; + } + default: { + HEAP32[$z>>2] = 30982; + } + } + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$z>>2]|0; + _sqlite3_result_text($6,$7,-1,0); + STACKTOP = sp;return; } -function _openDirectory($zFilename,$pFd) { - $zFilename = $zFilename|0; - $pFd = $pFd|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $ii = 0, $vararg_buffer = 0, $zDirname = 0, label = 0, sp = 0; +function _lengthFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $len = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 544|0; - $vararg_buffer = sp; + STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; - $ii = sp + 8|0; - $fd = sp + 4|0; - $zDirname = sp + 20|0; - HEAP32[$0>>2] = $zFilename; - HEAP32[$1>>2] = $pFd; - HEAP32[$fd>>2] = -1; - $2 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - (_sqlite3_snprintf(512,$zDirname,1200,$vararg_buffer)|0); - $3 = (_strlen(($zDirname|0))|0); - HEAP32[$ii>>2] = $3; - while(1) { - $4 = HEAP32[$ii>>2]|0; - $5 = ($4|0)>(1); - if (!($5)) { - break; + $2 = sp + 8|0; + $len = sp + 4|0; + $z = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + switch ($5|0) { + case 2: case 1: case 4: { + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_bytes($8)|0); + _sqlite3_result_int($6,$9); + STACKTOP = sp;return; + break; + } + case 3: { + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_text($11)|0); + HEAP32[$z>>2] = $12; + $13 = HEAP32[$z>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + STACKTOP = sp;return; } - $6 = HEAP32[$ii>>2]|0; - $7 = (($zDirname) + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(47); - if (!($10)) { - break; + HEAP32[$len>>2] = 0; + L10: while(1) { + $15 = HEAP32[$z>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + break; + } + $18 = HEAP32[$len>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$len>>2] = $19; + $20 = HEAP32[$z>>2]|0; + $21 = ((($20)) + 1|0); + HEAP32[$z>>2] = $21; + $22 = HEAP8[$20>>0]|0; + $23 = $22&255; + $24 = ($23|0)>=(192); + if (!($24)) { + continue; + } + while(1) { + $25 = HEAP32[$z>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $27 & 192; + $29 = ($28|0)==(128); + if (!($29)) { + continue L10; + } + $30 = HEAP32[$z>>2]|0; + $31 = ((($30)) + 1|0); + HEAP32[$z>>2] = $31; + } } - $11 = HEAP32[$ii>>2]|0; - $12 = (($11) + -1)|0; - HEAP32[$ii>>2] = $12; - } - $13 = HEAP32[$ii>>2]|0; - $14 = ($13|0)>(0); - if ($14) { - $15 = HEAP32[$ii>>2]|0; - $16 = (($zDirname) + ($15)|0); - HEAP8[$16>>0] = 0; - $17 = (_robust_open($zDirname,0,0)|0); - HEAP32[$fd>>2] = $17; + $32 = HEAP32[$0>>2]|0; + $33 = HEAP32[$len>>2]|0; + _sqlite3_result_int($32,$33); + STACKTOP = sp;return; + break; } - $18 = HEAP32[$fd>>2]|0; - $19 = HEAP32[$1>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$fd>>2]|0; - $21 = ($20|0)>=(0); - if ($21) { - $24 = 0; - STACKTOP = sp;return ($24|0); + default: { + $34 = HEAP32[$0>>2]|0; + _sqlite3_result_null($34); + STACKTOP = sp;return; } - $22 = (_sqlite3CantopenError(28344)|0); - $23 = (_unixLogErrorAtLine($22,37536,$zDirname,28344)|0); - $24 = $23; - STACKTOP = sp;return ($24|0); -} -function _posixFchown($fd,$uid,$gid) { - $fd = $fd|0; - $uid = $uid|0; - $gid = $gid|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $fd; - HEAP32[$1>>2] = $uid; - HEAP32[$2>>2] = $gid; - $3 = (_geteuid()|0); - $4 = ($3|0)!=(0); - if ($4) { - $9 = 0; - STACKTOP = sp;return ($9|0); } - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = (_fchown(($5|0),($6|0),($7|0))|0); - $9 = $8; - STACKTOP = sp;return ($9|0); -} -function _unixGetpagesize() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_sysconf(30)|0); - STACKTOP = sp;return ($0|0); } -function _robust_open($z,$f,$m) { - $z = $z|0; - $f = $f|0; - $m = $m|0; +function _instrFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $m2 = 0, $or$cond = 0, $statbuf = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $7 = 0, $8 = 0, $9 = 0, $N = 0, $isText = 0, $nHaystack = 0, $nNeedle = 0, $or$cond = 0, $or$cond3 = 0, $typeHaystack = 0, $typeNeedle = 0, $zHaystack = 0, $zNeedle = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer = sp; - $0 = sp + 100|0; - $1 = sp + 96|0; - $2 = sp + 92|0; - $fd = sp + 88|0; - $m2 = sp + 84|0; - $statbuf = sp + 8|0; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $f; - HEAP32[$2>>2] = $m; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 36|0; + $1 = sp + 16|0; + $2 = sp; + $zHaystack = sp + 28|0; + $zNeedle = sp + 32|0; + $nHaystack = sp + 40|0; + $nNeedle = sp + 12|0; + $typeHaystack = sp + 24|0; + $typeNeedle = sp + 20|0; + $N = sp + 8|0; + $isText = sp + 4|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$N>>2] = 1; $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0); - $5 = HEAP32[$2>>2]|0; - $6 = $4 ? $5 : 420; - HEAP32[$m2>>2] = $6; - while(1) { - $7 = HEAP32[((37192 + 4|0))>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = $9 | 524288; - $11 = HEAP32[$m2>>2]|0; - $12 = (FUNCTION_TABLE_iiii[$7 & 31]($8,$10,$11)|0); - HEAP32[$fd>>2] = $12; - $13 = HEAP32[$fd>>2]|0; - $14 = ($13|0)<(0); - if ($14) { - $15 = (___errno_location()|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(4); - if ($17) { - continue; - } else { - break; - } - } - $18 = HEAP32[$fd>>2]|0; - $19 = ($18|0)>=(3); - if ($19) { + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + HEAP32[$typeHaystack>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_type($8)|0); + HEAP32[$typeNeedle>>2] = $9; + $10 = HEAP32[$typeHaystack>>2]|0; + $11 = ($10|0)==(5); + $12 = HEAP32[$typeNeedle>>2]|0; + $13 = ($12|0)==(5); + $or$cond = $11 | $13; + if ($or$cond) { + STACKTOP = sp;return; + } + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_bytes($15)|0); + HEAP32[$nHaystack>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_bytes($19)|0); + HEAP32[$nNeedle>>2] = $20; + $21 = HEAP32[$typeHaystack>>2]|0; + $22 = ($21|0)==(4); + $23 = HEAP32[$typeNeedle>>2]|0; + $24 = ($23|0)==(4); + $or$cond3 = $22 & $24; + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$25>>2]|0; + if ($or$cond3) { + $27 = (_sqlite3_value_blob($26)|0); + HEAP32[$zHaystack>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_blob($30)|0); + HEAP32[$zNeedle>>2] = $31; + HEAP32[$isText>>2] = 0; + } else { + $32 = (_sqlite3_value_text($26)|0); + HEAP32[$zHaystack>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3_value_text($35)|0); + HEAP32[$zNeedle>>2] = $36; + HEAP32[$isText>>2] = 1; + } + L7: while(1) { + $37 = HEAP32[$nNeedle>>2]|0; + $38 = HEAP32[$nHaystack>>2]|0; + $39 = ($37|0)<=($38|0); + if (!($39)) { break; } - $20 = HEAP32[((37192 + 16|0))>>2]|0; - $21 = HEAP32[$fd>>2]|0; - (FUNCTION_TABLE_ii[$20 & 31]($21)|0); - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$fd>>2]|0; - HEAP32[$vararg_buffer>>2] = $22; - $vararg_ptr2 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr2>>2] = $23; - _sqlite3_log(28,37760,$vararg_buffer); - HEAP32[$fd>>2] = -1; - $24 = HEAP32[((37192 + 4|0))>>2]|0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = (FUNCTION_TABLE_iiii[$24 & 31](37808,$25,$26)|0); - $28 = ($27|0)<(0); - if ($28) { + $40 = HEAP32[$zHaystack>>2]|0; + $41 = HEAP32[$zNeedle>>2]|0; + $42 = HEAP32[$nNeedle>>2]|0; + $43 = (_memcmp($40,$41,$42)|0); + $44 = ($43|0)!=(0); + if (!($44)) { break; } + $45 = HEAP32[$N>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$N>>2] = $46; + while(1) { + $47 = HEAP32[$nHaystack>>2]|0; + $48 = (($47) + -1)|0; + HEAP32[$nHaystack>>2] = $48; + $49 = HEAP32[$zHaystack>>2]|0; + $50 = ((($49)) + 1|0); + HEAP32[$zHaystack>>2] = $50; + $51 = HEAP32[$isText>>2]|0; + $52 = ($51|0)!=(0); + if (!($52)) { + continue L7; + } + $53 = HEAP32[$zHaystack>>2]|0; + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 & 192; + $57 = ($56|0)==(128); + if (!($57)) { + continue L7; + } + } } - $29 = HEAP32[$fd>>2]|0; - $30 = ($29|0)>=(0); - $31 = HEAP32[$2>>2]|0; - $32 = ($31|0)!=(0); - $or$cond = $30 & $32; - if (!($or$cond)) { - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); - } - $33 = HEAP32[((37192 + 64|0))>>2]|0; - $34 = HEAP32[$fd>>2]|0; - $35 = (FUNCTION_TABLE_iii[$33 & 63]($34,$statbuf)|0); - $36 = ($35|0)==(0); - if (!($36)) { - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); - } - $37 = (($statbuf) + 36|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); - } - $40 = (($statbuf) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = $41 & 511; - $43 = HEAP32[$2>>2]|0; - $44 = ($42|0)!=($43|0); - if (!($44)) { - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); + $58 = HEAP32[$nNeedle>>2]|0; + $59 = HEAP32[$nHaystack>>2]|0; + $60 = ($58|0)>($59|0); + if ($60) { + HEAP32[$N>>2] = 0; } - $45 = HEAP32[((37192 + 172|0))>>2]|0; - $46 = HEAP32[$fd>>2]|0; - $47 = HEAP32[$2>>2]|0; - (FUNCTION_TABLE_iii[$45 & 63]($46,$47)|0); - $48 = HEAP32[$fd>>2]|0; - STACKTOP = sp;return ($48|0); + $61 = HEAP32[$0>>2]|0; + $62 = HEAP32[$N>>2]|0; + _sqlite3_result_int($61,$62); + STACKTOP = sp;return; } -function _unixShmSystemLock($pShmNode,$lockType,$ofst,$n) { - $pShmNode = $pShmNode|0; - $lockType = $lockType|0; - $ofst = $ofst|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $f = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _substrFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $len = 0, $negP2 = 0; + var $p0type = 0, $p1 = 0, $p2 = 0, $z = 0, $z2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $3 = sp + 24|0; - $f = sp + 8|0; - $rc = sp + 4|0; - HEAP32[$0>>2] = $pShmNode; - HEAP32[$1>>2] = $lockType; - HEAP32[$2>>2] = $ofst; - HEAP32[$3>>2] = $n; - HEAP32[$rc>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)>=(0); - if (!($7)) { - $23 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($23|0); + $0 = sp + 24|0; + $1 = sp + 28|0; + $2 = sp + 32|0; + $z = sp + 36|0; + $z2 = sp + 40|0; + $len = sp + 44|0; + $p0type = sp + 20|0; + $p1 = sp; + $p2 = sp + 8|0; + $negP2 = sp + 16|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$negP2>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3_value_type($5)|0); + $7 = ($6|0)==(5); + if ($7) { + STACKTOP = sp;return; } - ;HEAP32[$f+0>>2]=0|0;HEAP32[$f+4>>2]=0|0;HEAP32[$f+8>>2]=0|0;HEAP32[$f+12>>2]=0|0; $8 = HEAP32[$1>>2]|0; - $9 = $8&65535; - HEAP16[$f>>1] = $9; - $10 = (($f) + 2|0); - HEAP16[$10>>1] = 0; - $11 = HEAP32[$2>>2]|0; - $12 = (($f) + 4|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$3>>2]|0; - $14 = (($f) + 8|0); - HEAP32[$14>>2] = $13; - $15 = HEAP32[((37192 + 88|0))>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) + 12|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$vararg_buffer>>2] = $f; - $19 = (FUNCTION_TABLE_iiii[$15 & 31]($18,13,$vararg_buffer)|0); - HEAP32[$rc>>2] = $19; - $20 = HEAP32[$rc>>2]|0; - $21 = ($20|0)!=(-1); - $22 = $21 ? 0 : 5; - HEAP32[$rc>>2] = $22; - $23 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($23|0); -} -function _fcntlSizeHint($pFile,$0,$1) { - $pFile = $pFile|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $buf = 0, $iWrite = 0, $nBlk = 0, $nSize = 0, $nWrite = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $2 = sp + 112|0; - $3 = sp + 108|0; - $4 = sp + 16|0; - $nSize = sp + 8|0; - $buf = sp + 32|0; - $nBlk = sp + 28|0; - $iWrite = sp; - $nWrite = sp + 24|0; - HEAP32[$3>>2] = $pFile; - $5 = $4; - $6 = $5; - HEAP32[$6>>2] = $0; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = $1; - $9 = HEAP32[$3>>2]|0; - $10 = (($9) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - L1: do { - if ($12) { - $13 = HEAP32[((37192 + 64|0))>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = (($14) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iii[$13 & 63]($16,$buf)|0); - $18 = ($17|0)!=(0); - if ($18) { - HEAP32[$2>>2] = 1802; - $147 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($147|0); + $9 = ($8|0)==(3); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_type($12)|0); + $14 = ($13|0)==(5); + if ($14) { + STACKTOP = sp;return; + } + } + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + HEAP32[$p0type>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_int($20)|0); + $22 = ($21|0)<(0); + $23 = $22 << 31 >> 31; + $24 = $p1; + $25 = $24; + HEAP32[$25>>2] = $21; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = HEAP32[$p0type>>2]|0; + $29 = ($28|0)==(4); + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$30>>2]|0; + L8: do { + if ($29) { + $32 = (_sqlite3_value_bytes($31)|0); + HEAP32[$len>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3_value_blob($34)|0); + HEAP32[$z>>2] = $35; + $36 = HEAP32[$z>>2]|0; + $37 = ($36|0)==(0|0); + if ($37) { + STACKTOP = sp;return; } - $19 = $4; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$3>>2]|0; - $26 = (($25) + 40|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)<(0); - $29 = $28 << 31 >> 31; - $30 = (_i64Add(($21|0),($24|0),($27|0),($29|0))|0); - $31 = tempRet0; - $32 = (_i64Subtract(($30|0),($31|0),1,0)|0); - $33 = tempRet0; - $34 = HEAP32[$3>>2]|0; - $35 = (($34) + 40|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)<(0); - $38 = $37 << 31 >> 31; - $39 = (___divdi3(($32|0),($33|0),($36|0),($38|0))|0); - $40 = tempRet0; - $41 = HEAP32[$3>>2]|0; - $42 = (($41) + 40|0); + } else { + $38 = (_sqlite3_value_text($31)|0); + HEAP32[$z>>2] = $38; + $39 = HEAP32[$z>>2]|0; + $40 = ($39|0)==(0|0); + if ($40) { + STACKTOP = sp;return; + } + HEAP32[$len>>2] = 0; + $41 = $p1; + $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)<(0); - $45 = $44 << 31 >> 31; - $46 = (___muldi3(($39|0),($40|0),($43|0),($45|0))|0); - $47 = tempRet0; - $48 = $nSize; - $49 = $48; - HEAP32[$49>>2] = $46; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; - $52 = $nSize; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($buf) + 36|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = ($57|0)>($61|0); - $63 = ($54>>>0)>($59>>>0); - $64 = ($57|0)==($61|0); - $65 = $64 & $63; - $66 = $62 | $65; - if ($66) { - $67 = (($buf) + 40|0); - $68 = HEAP32[$67>>2]|0; - HEAP32[$nBlk>>2] = $68; - $69 = HEAP32[$3>>2]|0; - $70 = (($69) + 12|0); - $71 = HEAP32[$70>>2]|0; - $72 = $nSize; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (_robust_ftruncate($71,$74,$77)|0); - $79 = ($78|0)!=(0); - if ($79) { - $80 = (___errno_location()|0); - $81 = HEAP32[$80>>2]|0; - $82 = HEAP32[$3>>2]|0; - $83 = (($82) + 20|0); - HEAP32[$83>>2] = $81; - $84 = HEAP32[$3>>2]|0; - $85 = (($84) + 32|0); - $86 = HEAP32[$85>>2]|0; - $87 = (_unixLogErrorAtLine(1546,37568,$86,28530)|0); - HEAP32[$2>>2] = $87; - $147 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($147|0); - } - $88 = (($buf) + 36|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$nBlk>>2]|0; - $91 = $90<<1; - $92 = (($89) + ($91))|0; - $93 = (($92) - 1)|0; - $94 = HEAP32[$nBlk>>2]|0; - $95 = (($93|0) / ($94|0))&-1; - $96 = HEAP32[$nBlk>>2]|0; - $97 = Math_imul($95, $96)|0; - $98 = (($97) - 1)|0; - $99 = ($98|0)<(0); - $100 = $99 << 31 >> 31; - $101 = $iWrite; - $102 = $101; - HEAP32[$102>>2] = $98; - $103 = (($101) + 4)|0; - $104 = $103; - HEAP32[$104>>2] = $100; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)<(0); + if ($47) { + $48 = HEAP32[$z>>2]|0; + HEAP32[$z2>>2] = $48; while(1) { - $105 = $iWrite; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = $nSize; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (($111) + 4)|0; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = ($110|0)<($116|0); - $118 = ($107>>>0)<($113>>>0); - $119 = ($110|0)==($116|0); - $120 = $119 & $118; - $121 = $117 | $120; - if (!($121)) { - break L1; - } - $122 = HEAP32[$3>>2]|0; - $123 = $iWrite; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = (($123) + 4)|0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = (_seekAndWrite($122,$125,$128,1216,1)|0); - HEAP32[$nWrite>>2] = $129; - $130 = HEAP32[$nWrite>>2]|0; - $131 = ($130|0)!=(1); - if ($131) { - break; + $49 = HEAP32[$z2>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)!=(0); + if (!($51)) { + break L8; } - $132 = HEAP32[$nBlk>>2]|0; - $133 = ($132|0)<(0); - $134 = $133 << 31 >> 31; - $135 = $iWrite; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = (($135) + 4)|0; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (_i64Add(($137|0),($140|0),($132|0),($134|0))|0); - $142 = tempRet0; - $143 = $iWrite; - $144 = $143; - HEAP32[$144>>2] = $141; - $145 = (($143) + 4)|0; - $146 = $145; - HEAP32[$146>>2] = $142; + $52 = HEAP32[$z2>>2]|0; + $53 = ((($52)) + 1|0); + HEAP32[$z2>>2] = $53; + $54 = HEAP8[$52>>0]|0; + $55 = $54&255; + $56 = ($55|0)>=(192); + L19: do { + if ($56) { + while(1) { + $57 = HEAP32[$z2>>2]|0; + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = $59 & 192; + $61 = ($60|0)==(128); + if (!($61)) { + break L19; + } + $62 = HEAP32[$z2>>2]|0; + $63 = ((($62)) + 1|0); + HEAP32[$z2>>2] = $63; + } + } + } while(0); + $64 = HEAP32[$len>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$len>>2] = $65; } - HEAP32[$2>>2] = 778; - $147 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($147|0); } } } while(0); - HEAP32[$2>>2] = 0; - $147 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($147|0); -} -function _unixModeBit($pFile,$mask,$pArg) { - $pFile = $pFile|0; - $mask = $mask|0; - $pArg = $pArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp + 8|0; - $2 = sp; - HEAP32[$0>>2] = $pFile; - HEAP8[$1>>0] = $mask; - HEAP32[$2>>2] = $pArg; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 18|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8&65535; - $10 = HEAP8[$1>>0]|0; - $11 = $10&255; - $12 = $9 & $11; - $13 = ($12|0)!=(0); - $14 = $13&1; - $15 = HEAP32[$2>>2]|0; - HEAP32[$15>>2] = $14; - STACKTOP = sp;return; - } - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0); - $19 = HEAP8[$1>>0]|0; - $20 = $19&255; - if ($18) { - $21 = $20 ^ -1; - $22 = HEAP32[$0>>2]|0; - $23 = (($22) + 18|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = $25 & $21; - $27 = $26&65535; - HEAP16[$23>>1] = $27; - STACKTOP = sp;return; + $66 = HEAP32[$1>>2]|0; + $67 = ($66|0)==(3); + if ($67) { + $68 = HEAP32[$2>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3_value_int($70)|0); + $72 = ($71|0)<(0); + $73 = $72 << 31 >> 31; + $74 = $p2; + $75 = $74; + HEAP32[$75>>2] = $71; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $p2; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)<(0); + if ($84) { + $85 = $p2; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (_i64Subtract(0,0,($87|0),($90|0))|0); + $92 = tempRet0; + $93 = $p2; + $94 = $93; + HEAP32[$94>>2] = $91; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + HEAP32[$negP2>>2] = 1; + } } else { - $28 = HEAP32[$0>>2]|0; - $29 = (($28) + 18|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = $31 | $20; - $33 = $32&65535; - HEAP16[$29>>1] = $33; - STACKTOP = sp;return; - } -} -function _unixGetTempname($nBuf,$zBuf) { - $nBuf = $nBuf|0; - $zBuf = $zBuf|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $vararg_buffer = 0, $zDir = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $i = sp + 12|0; - $j = sp + 8|0; - $zDir = sp + 4|0; - HEAP32[$1>>2] = $nBuf; - HEAP32[$2>>2] = $zBuf; - $3 = (_unixTempFileDir()|0); - HEAP32[$zDir>>2] = $3; - $4 = HEAP32[$zDir>>2]|0; - $5 = ($4|0)==(0|0); - $$ = $5 ? 19120 : $3; - HEAP32[$zDir>>2] = $$; - $6 = HEAP32[$zDir>>2]|0; - $7 = (_strlen(($6|0))|0); - $8 = (($7) + 7)|0; - $9 = (($8) + 18)|0; - $10 = HEAP32[$1>>2]|0; - $11 = ($9>>>0)>=($10>>>0); - if ($11) { - HEAP32[$0>>2] = 1; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); + $97 = HEAP32[$0>>2]|0; + $98 = (_sqlite3_context_db_handle($97)|0); + $99 = ((($98)) + 88|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)<(0); + $102 = $101 << 31 >> 31; + $103 = $p2; + $104 = $103; + HEAP32[$104>>2] = $100; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; } - while(1) { - $12 = HEAP32[$1>>2]|0; - $13 = (($12) - 18)|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$zDir>>2]|0; - HEAP32[$vararg_buffer>>2] = $15; - (_sqlite3_snprintf($13,$14,37888,$vararg_buffer)|0); - $16 = HEAP32[$2>>2]|0; - $17 = (_strlen(($16|0))|0); - HEAP32[$j>>2] = $17; - $18 = HEAP32[$j>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (($19) + ($18)|0); - _sqlite3_randomness(15,$20); - HEAP32[$i>>2] = 0; - while(1) { - $21 = HEAP32[$i>>2]|0; - $22 = ($21>>>0)<(15); - $23 = HEAP32[$j>>2]|0; - $24 = HEAP32[$2>>2]|0; - $25 = (($24) + ($23)|0); - if (!($22)) { + $107 = $p1; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (($107) + 4)|0; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)<(0); + do { + if ($113) { + $114 = HEAP32[$len>>2]|0; + $115 = ($114|0)<(0); + $116 = $115 << 31 >> 31; + $117 = $p1; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (_i64Add(($119|0),($122|0),($114|0),($116|0))|0); + $124 = tempRet0; + $125 = $p1; + $126 = $125; + HEAP32[$126>>2] = $123; + $127 = (($125) + 4)|0; + $128 = $127; + HEAP32[$128>>2] = $124; + $129 = $p1; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = ($134|0)<(0); + if ($135) { + $136 = $p1; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = $p2; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (($142) + 4)|0; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (_i64Add(($144|0),($147|0),($138|0),($141|0))|0); + $149 = tempRet0; + $150 = $p2; + $151 = $150; + HEAP32[$151>>2] = $148; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $154 = $p2; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (($154) + 4)|0; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)<(0); + $161 = $160 ? 0 : $148; + $162 = $160 ? 0 : $149; + $163 = $p2; + $164 = $163; + HEAP32[$164>>2] = $161; + $165 = (($163) + 4)|0; + $166 = $165; + HEAP32[$166>>2] = $162; + $167 = $p1; + $168 = $167; + HEAP32[$168>>2] = 0; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = 0; + } + } else { + $171 = $p1; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = ($176|0)>(0); + $178 = ($173>>>0)>(0); + $179 = ($176|0)==(0); + $180 = $179 & $178; + $181 = $177 | $180; + if ($181) { + $182 = $p1; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (($182) + 4)|0; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (_i64Add(($184|0),($187|0),-1,-1)|0); + $189 = tempRet0; + $190 = $p1; + $191 = $190; + HEAP32[$191>>2] = $188; + $192 = (($190) + 4)|0; + $193 = $192; + HEAP32[$193>>2] = $189; break; } - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (($27>>>0) % 62)&-1; - $29 = (37824 + ($28)|0); - $30 = HEAP8[$29>>0]|0; - $31 = HEAP32[$j>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = (($32) + ($31)|0); - HEAP8[$33>>0] = $30; - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - HEAP32[$i>>2] = $35; - $36 = HEAP32[$j>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$j>>2] = $37; + $194 = $p2; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = (($194) + 4)|0; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = ($199|0)>(0); + $201 = ($196>>>0)>(0); + $202 = ($199|0)==(0); + $203 = $202 & $201; + $204 = $200 | $203; + if ($204) { + $205 = $p2; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = (($205) + 4)|0; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (_i64Add(($207|0),($210|0),-1,-1)|0); + $212 = tempRet0; + $213 = $p2; + $214 = $213; + HEAP32[$214>>2] = $211; + $215 = (($213) + 4)|0; + $216 = $215; + HEAP32[$216>>2] = $212; + } } - HEAP8[$25>>0] = 0; - $38 = HEAP32[$j>>2]|0; - $39 = (($38) + 1)|0; - $40 = HEAP32[$2>>2]|0; - $41 = (($40) + ($39)|0); - HEAP8[$41>>0] = 0; - $42 = HEAP32[((37192 + 28|0))>>2]|0; - $43 = HEAP32[$2>>2]|0; - $44 = (FUNCTION_TABLE_iii[$42 & 63]($43,0)|0); - $45 = ($44|0)==(0); - if (!($45)) { - break; + } while(0); + $217 = HEAP32[$negP2>>2]|0; + $218 = ($217|0)!=(0); + if ($218) { + $219 = $p2; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = (($219) + 4)|0; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = $p1; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = (($225) + 4)|0; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = (_i64Subtract(($227|0),($230|0),($221|0),($224|0))|0); + $232 = tempRet0; + $233 = $p1; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $237 = $p1; + $238 = $237; + $239 = HEAP32[$238>>2]|0; + $240 = (($237) + 4)|0; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = ($242|0)<(0); + if ($243) { + $244 = $p1; + $245 = $244; + $246 = HEAP32[$245>>2]|0; + $247 = (($244) + 4)|0; + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = $p2; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = (($250) + 4)|0; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = (_i64Add(($252|0),($255|0),($246|0),($249|0))|0); + $257 = tempRet0; + $258 = $p2; + $259 = $258; + HEAP32[$259>>2] = $256; + $260 = (($258) + 4)|0; + $261 = $260; + HEAP32[$261>>2] = $257; + $262 = $p1; + $263 = $262; + HEAP32[$263>>2] = 0; + $264 = (($262) + 4)|0; + $265 = $264; + HEAP32[$265>>2] = 0; } } - HEAP32[$0>>2] = 0; - $46 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($46|0); -} -function _fileHasMoved($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $buf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $buf = sp; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - $20 = 0; - $19 = $20&1; - STACKTOP = sp;return ($19|0); - } - $5 = HEAP32[((37192 + 52|0))>>2]|0; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + 32|0); - $8 = HEAP32[$7>>2]|0; - $9 = (FUNCTION_TABLE_iii[$5 & 63]($8,$buf)|0); - $10 = ($9|0)!=(0); - if ($10) { - $20 = 1; - $19 = $20&1; - STACKTOP = sp;return ($19|0); - } - $11 = (($buf) + 72|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = (($13) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($12|0)!=($17|0); - $20 = $18; - $19 = $20&1; - STACKTOP = sp;return ($19|0); -} -function _unixTempFileDir() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $i = 0, $zDir = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $i = sp + 80|0; - $buf = sp + 4|0; - $zDir = sp; - HEAP32[$zDir>>2] = 0; - $0 = HEAP32[1568>>2]|0; - HEAP32[37904>>2] = $0; - $1 = HEAP32[((37904 + 4|0))>>2]|0; - $2 = ($1|0)!=(0|0); - if (!($2)) { - $3 = (_getenv((37976|0))|0); - HEAP32[((37904 + 4|0))>>2] = $3; - } - $4 = HEAP32[((37904 + 8|0))>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $6 = (_getenv((37992|0))|0); - HEAP32[((37904 + 8|0))>>2] = $6; + $266 = HEAP32[$p0type>>2]|0; + $267 = ($266|0)!=(4); + if (!($267)) { + $353 = $p1; + $354 = $353; + $355 = HEAP32[$354>>2]|0; + $356 = (($353) + 4)|0; + $357 = $356; + $358 = HEAP32[$357>>2]|0; + $359 = $p2; + $360 = $359; + $361 = HEAP32[$360>>2]|0; + $362 = (($359) + 4)|0; + $363 = $362; + $364 = HEAP32[$363>>2]|0; + $365 = (_i64Add(($355|0),($358|0),($361|0),($364|0))|0); + $366 = tempRet0; + $367 = HEAP32[$len>>2]|0; + $368 = ($367|0)<(0); + $369 = $368 << 31 >> 31; + $370 = ($366|0)>($369|0); + $371 = ($365>>>0)>($367>>>0); + $372 = ($366|0)==($369|0); + $373 = $372 & $371; + $374 = $370 | $373; + if ($374) { + $375 = HEAP32[$len>>2]|0; + $376 = ($375|0)<(0); + $377 = $376 << 31 >> 31; + $378 = $p1; + $379 = $378; + $380 = HEAP32[$379>>2]|0; + $381 = (($378) + 4)|0; + $382 = $381; + $383 = HEAP32[$382>>2]|0; + $384 = (_i64Subtract(($375|0),($377|0),($380|0),($383|0))|0); + $385 = tempRet0; + $386 = $p2; + $387 = $386; + HEAP32[$387>>2] = $384; + $388 = (($386) + 4)|0; + $389 = $388; + HEAP32[$389>>2] = $385; + $390 = $p2; + $391 = $390; + $392 = HEAP32[$391>>2]|0; + $393 = (($390) + 4)|0; + $394 = $393; + $395 = HEAP32[$394>>2]|0; + $396 = ($395|0)<(0); + $397 = $396 ? 0 : $384; + $398 = $396 ? 0 : $385; + $399 = $p2; + $400 = $399; + HEAP32[$400>>2] = $397; + $401 = (($399) + 4)|0; + $402 = $401; + HEAP32[$402>>2] = $398; + } + $403 = HEAP32[$0>>2]|0; + $404 = $p1; + $405 = $404; + $406 = HEAP32[$405>>2]|0; + $407 = (($404) + 4)|0; + $408 = $407; + $409 = HEAP32[$408>>2]|0; + $410 = HEAP32[$z>>2]|0; + $411 = (($410) + ($406)|0); + $412 = $p2; + $413 = $412; + $414 = HEAP32[$413>>2]|0; + $415 = (($412) + 4)|0; + $416 = $415; + $417 = HEAP32[$416>>2]|0; + _sqlite3_result_blob64($403,$411,$414,$417,(-1)); + STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = ($7>>>0)<(7); - if (!($8)) { - label = 12; + $268 = HEAP32[$z>>2]|0; + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = ($270|0)!=(0); + $272 = $p1; + $273 = $272; + $274 = HEAP32[$273>>2]|0; + $275 = (($272) + 4)|0; + $276 = $275; + $277 = HEAP32[$276>>2]|0; + $278 = ($274|0)!=(0); + $279 = ($277|0)!=(0); + $280 = $278 | $279; + $281 = $271 ? $280 : 0; + $282 = HEAP32[$z>>2]|0; + if (!($281)) { break; } - $9 = HEAP32[$zDir>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = HEAP32[((37192 + 52|0))>>2]|0; - $12 = HEAP32[$zDir>>2]|0; - $13 = (FUNCTION_TABLE_iii[$11 & 63]($12,$buf)|0); - $14 = ($13|0)!=(0); - if (!($14)) { - $15 = (($buf) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = $16 & 61440; - $18 = ($17|0)==(16384); - if ($18) { - $19 = HEAP32[((37192 + 28|0))>>2]|0; - $20 = HEAP32[$zDir>>2]|0; - $21 = (FUNCTION_TABLE_iii[$19 & 63]($20,7)|0); - $22 = ($21|0)!=(0); - if (!($22)) { - label = 12; - break; + $283 = ((($282)) + 1|0); + HEAP32[$z>>2] = $283; + $284 = HEAP8[$282>>0]|0; + $285 = $284&255; + $286 = ($285|0)>=(192); + L52: do { + if ($286) { + while(1) { + $287 = HEAP32[$z>>2]|0; + $288 = HEAP8[$287>>0]|0; + $289 = $288&255; + $290 = $289 & 192; + $291 = ($290|0)==(128); + if (!($291)) { + break L52; } + $292 = HEAP32[$z>>2]|0; + $293 = ((($292)) + 1|0); + HEAP32[$z>>2] = $293; } } - } - $23 = HEAP32[$i>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; - $25 = (37904 + ($23<<2)|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$zDir>>2] = $26; - } - if ((label|0) == 12) { - $27 = HEAP32[$zDir>>2]|0; - STACKTOP = sp;return ($27|0); - } - return 0|0; -} -function _robust_ftruncate($h,$0,$1) { - $h = $h|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $2 = sp + 12|0; - $3 = sp; - $rc = sp + 8|0; - HEAP32[$2>>2] = $h; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; - while(1) { - $8 = HEAP32[((37192 + 76|0))>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (FUNCTION_TABLE_iii[$8 & 63]($9,$12)|0); - HEAP32[$rc>>2] = $16; - $17 = HEAP32[$rc>>2]|0; - $18 = ($17|0)<(0); - if (!($18)) { - label = 4; - break; - } - $19 = (___errno_location()|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(4); - if (!($21)) { - label = 4; - break; - } - } - if ((label|0) == 4) { - $22 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($22|0); - } - return 0|0; -} -function _seekAndWrite($id,$0,$1,$pBuf,$cnt) { - $id = $id|0; - $0 = $0|0; - $1 = $1|0; - $pBuf = $pBuf|0; - $cnt = $cnt|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $4 = sp + 12|0; - $5 = sp + 8|0; - HEAP32[$2>>2] = $id; - $6 = $3; - $7 = $6; - HEAP32[$7>>2] = $0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $1; - HEAP32[$4>>2] = $pBuf; - HEAP32[$5>>2] = $cnt; - $10 = HEAP32[$2>>2]|0; - $11 = (($10) + 12|0); - $12 = HEAP32[$11>>2]|0; - $13 = $3; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$5>>2]|0; - $21 = HEAP32[$2>>2]|0; - $22 = (($21) + 20|0); - $23 = (_seekAndWriteFd($12,$15,$18,$19,$20,$22)|0); - STACKTOP = sp;return ($23|0); -} -function _seekAndWriteFd($fd,$0,$1,$pBuf,$nBuf,$piErrno) { - $fd = $fd|0; - $0 = $0|0; - $1 = $1|0; - $pBuf = $pBuf|0; - $nBuf = $nBuf|0; - $piErrno = $piErrno|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $iSeek = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 8|0; - $5 = sp + 28|0; - $6 = sp + 24|0; - $7 = sp + 20|0; - $rc = sp + 16|0; - $iSeek = sp; - HEAP32[$3>>2] = $fd; - $8 = $4; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$5>>2] = $pBuf; - HEAP32[$6>>2] = $nBuf; - HEAP32[$7>>2] = $piErrno; - HEAP32[$rc>>2] = 0; - $12 = HEAP32[$6>>2]|0; - $13 = $12 & 131071; - HEAP32[$6>>2] = $13; + } while(0); + $294 = $p1; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = (($294) + 4)|0; + $298 = $297; + $299 = HEAP32[$298>>2]|0; + $300 = (_i64Add(($296|0),($299|0),-1,-1)|0); + $301 = tempRet0; + $302 = $p1; + $303 = $302; + HEAP32[$303>>2] = $300; + $304 = (($302) + 4)|0; + $305 = $304; + HEAP32[$305>>2] = $301; + } + HEAP32[$z2>>2] = $282; while(1) { - $14 = HEAP32[$3>>2]|0; - $15 = $4; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (_lseek(($14|0),($17|0),0)|0); - $22 = ($21|0)<(0); - $23 = $22 << 31 >> 31; - $24 = $iSeek; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $23; - $28 = $iSeek; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (($28) + 4)|0; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = $4; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = ($30|0)!=($36|0); - $41 = ($33|0)!=($39|0); - $42 = $40 | $41; - if ($42) { - break; - } - $58 = HEAP32[((37192 + 136|0))>>2]|0; - $59 = HEAP32[$3>>2]|0; - $60 = HEAP32[$5>>2]|0; - $61 = HEAP32[$6>>2]|0; - $62 = (FUNCTION_TABLE_iiii[$58 & 31]($59,$60,$61)|0); - HEAP32[$rc>>2] = $62; - $63 = HEAP32[$rc>>2]|0; - $64 = ($63|0)<(0); - if (!($64)) { - label = 10; - break; - } - $65 = (___errno_location()|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(4); - if (!($67)) { - label = 10; - break; - } - } - if ((label|0) == 10) { - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)<(0); - $70 = HEAP32[$7>>2]|0; - $71 = ($70|0)!=(0|0); - $or$cond = $69 & $71; - if ($or$cond) { - $72 = (___errno_location()|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$7>>2]|0; - HEAP32[$74>>2] = $73; - } - $75 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $75; - $76 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($76|0); - } - $43 = HEAP32[$7>>2]|0; - $44 = ($43|0)!=(0|0); - if ($44) { - $45 = $iSeek; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = ($47|0)==(-1); - $52 = ($50|0)==(-1); - $53 = $51 & $52; - if ($53) { - $54 = (___errno_location()|0); - $55 = HEAP32[$54>>2]|0; - $57 = $55; - } else { - $57 = 0; - } - $56 = HEAP32[$7>>2]|0; - HEAP32[$56>>2] = $57; + $306 = HEAP32[$z2>>2]|0; + $307 = HEAP8[$306>>0]|0; + $308 = $307&255; + $309 = ($308|0)!=(0); + $310 = $p2; + $311 = $310; + $312 = HEAP32[$311>>2]|0; + $313 = (($310) + 4)|0; + $314 = $313; + $315 = HEAP32[$314>>2]|0; + $316 = ($312|0)!=(0); + $317 = ($315|0)!=(0); + $318 = $316 | $317; + $319 = $309 ? $318 : 0; + if (!($319)) { + break; + } + $320 = HEAP32[$z2>>2]|0; + $321 = ((($320)) + 1|0); + HEAP32[$z2>>2] = $321; + $322 = HEAP8[$320>>0]|0; + $323 = $322&255; + $324 = ($323|0)>=(192); + L61: do { + if ($324) { + while(1) { + $325 = HEAP32[$z2>>2]|0; + $326 = HEAP8[$325>>0]|0; + $327 = $326&255; + $328 = $327 & 192; + $329 = ($328|0)==(128); + if (!($329)) { + break L61; + } + $330 = HEAP32[$z2>>2]|0; + $331 = ((($330)) + 1|0); + HEAP32[$z2>>2] = $331; + } + } + } while(0); + $332 = $p2; + $333 = $332; + $334 = HEAP32[$333>>2]|0; + $335 = (($332) + 4)|0; + $336 = $335; + $337 = HEAP32[$336>>2]|0; + $338 = (_i64Add(($334|0),($337|0),-1,-1)|0); + $339 = tempRet0; + $340 = $p2; + $341 = $340; + HEAP32[$341>>2] = $338; + $342 = (($340) + 4)|0; + $343 = $342; + HEAP32[$343>>2] = $339; } - HEAP32[$2>>2] = -1; - $76 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($76|0); + $344 = HEAP32[$0>>2]|0; + $345 = HEAP32[$z>>2]|0; + $346 = HEAP32[$z2>>2]|0; + $347 = HEAP32[$z>>2]|0; + $348 = $346; + $349 = $347; + $350 = (($348) - ($349))|0; + $351 = ($350|0)<(0); + $352 = $351 << 31 >> 31; + _sqlite3_result_text64($344,$345,$350,$352,(-1),1); + STACKTOP = sp;return; } -function _sqliteErrorFromPosixError($posixError,$sqliteIOErr) { - $posixError = $posixError|0; - $sqliteIOErr = $sqliteIOErr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; +function _printfFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $n = 0, $str = 0, $vararg_buffer = 0, $x = 0, $zFormat = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $posixError; - HEAP32[$2>>2] = $sqliteIOErr; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $0 = sp + 32|0; + $1 = sp + 44|0; + $2 = sp + 40|0; + $x = sp + 48|0; + $str = sp + 4|0; + $zFormat = sp + 36|0; + $n = sp + 60|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; $3 = HEAP32[$1>>2]|0; - switch ($3|0) { - case 1: { - label = 5; - break; - } - case 13: { - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(3850); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(2058); - $or$cond = $5 | $7; - $8 = HEAP32[$2>>2]|0; - $9 = ($8|0)==(2314); - $or$cond3 = $or$cond | $9; - $10 = HEAP32[$2>>2]|0; - $11 = ($10|0)==(3594); - $or$cond5 = $or$cond3 | $11; - if ($or$cond5) { - HEAP32[$0>>2] = 5; - } else { - label = 5; - } - break; - } - case 37: case 4: case 16: case 110: case 11: { - HEAP32[$0>>2] = 5; - break; - } - default: { - $12 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $12; - } + $4 = ($3|0)>=(1); + if (!($4)) { + STACKTOP = sp;return; } - if ((label|0) == 5) { - HEAP32[$0>>2] = 3; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3_value_text($6)|0); + HEAP32[$zFormat>>2] = $7; + $8 = ($7|0)!=(0|0); + if (!($8)) { + STACKTOP = sp;return; } - $13 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($13|0); + $9 = HEAP32[$1>>2]|0; + $10 = (($9) - 1)|0; + HEAP32[$x>>2] = $10; + $11 = ((($x)) + 4|0); + HEAP32[$11>>2] = 0; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 4|0); + $14 = ((($x)) + 8|0); + HEAP32[$14>>2] = $13; + _sqlite3StrAccumInit($str,0,0,1000000000); + $15 = HEAP32[$0>>2]|0; + $16 = (_sqlite3_context_db_handle($15)|0); + HEAP32[$str>>2] = $16; + $17 = HEAP32[$zFormat>>2]|0; + HEAP32[$vararg_buffer>>2] = $x; + _sqlite3XPrintf($str,2,$17,$vararg_buffer); + $18 = ((($str)) + 12|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$n>>2] = $19; + $20 = HEAP32[$0>>2]|0; + $21 = (_sqlite3StrAccumFinish($str)|0); + $22 = HEAP32[$n>>2]|0; + _sqlite3_result_text($20,$21,$22,23); + STACKTOP = sp;return; } -function _full_fsync($fd,$fullSync,$dataOnly) { - $fd = $fd|0; - $fullSync = $fullSync|0; - $dataOnly = $dataOnly|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $rc = 0, label = 0, sp = 0; +function _unicodeFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $fd; - HEAP32[$1>>2] = $fullSync; - HEAP32[$2>>2] = $dataOnly; - $3 = HEAP32[$0>>2]|0; - $4 = (_fsync(($3|0))|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($5|0); + $z = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$z>>2] = $5; + $6 = HEAP32[$z>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = HEAP32[$z>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$0>>2]|0; + $13 = (_sqlite3Utf8Read($z)|0); + _sqlite3_result_int($12,$13); + STACKTOP = sp;return; } -function _seekAndRead($id,$0,$1,$pBuf,$cnt) { - $id = $id|0; - $0 = $0|0; - $1 = $1|0; - $pBuf = $pBuf|0; - $cnt = $cnt|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $got = 0, $newOffset = 0, $prior = 0, label = 0, sp = 0; +function _charFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $or$cond = 0, $x = 0, $z = 0, $zOut = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 8|0; - $5 = sp + 28|0; - $6 = sp + 24|0; - $got = sp + 20|0; - $prior = sp + 16|0; - $newOffset = sp; - HEAP32[$3>>2] = $id; - $7 = $4; - $8 = $7; - HEAP32[$8>>2] = $0; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $1; - HEAP32[$5>>2] = $pBuf; - HEAP32[$6>>2] = $cnt; - HEAP32[$prior>>2] = 0; - $11 = HEAP32[$6>>2]|0; - $12 = $11 & 131071; - HEAP32[$6>>2] = $12; + $0 = sp + 12|0; + $1 = sp + 16|0; + $2 = sp + 24|0; + $z = sp + 20|0; + $zOut = sp + 32|0; + $i = sp + 8|0; + $x = sp; + $c = sp + 28|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$1>>2]|0; + $4 = $3<<2; + $5 = (($4) + 1)|0; + $6 = (_sqlite3_malloc($5)|0); + HEAP32[$z>>2] = $6; + HEAP32[$zOut>>2] = $6; + $7 = HEAP32[$z>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + _sqlite3_result_error_nomem($9); + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; while(1) { - $13 = HEAP32[$3>>2]|0; - $14 = (($13) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = $4; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + 4)|0; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (_lseek(($15|0),($18|0),0)|0); - $23 = ($22|0)<(0); - $24 = $23 << 31 >> 31; - $25 = $newOffset; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $24; - $29 = $newOffset; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = $4; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = ($31|0)!=($37|0); - $42 = ($34|0)!=($40|0); - $43 = $41 | $42; - if ($43) { - label = 3; - break; - } - $59 = HEAP32[((37192 + 100|0))>>2]|0; - $60 = HEAP32[$3>>2]|0; - $61 = (($60) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$5>>2]|0; - $64 = HEAP32[$6>>2]|0; - $65 = (FUNCTION_TABLE_iiii[$59 & 31]($62,$63,$64)|0); - HEAP32[$got>>2] = $65; - $66 = HEAP32[$got>>2]|0; - $67 = HEAP32[$6>>2]|0; - $68 = ($66|0)==($67|0); - if ($68) { + $10 = HEAP32[$i>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = ($10|0)<($11|0); + if (!($12)) { break; } - $69 = HEAP32[$got>>2]|0; - $70 = ($69|0)<(0); - if ($70) { - $71 = (___errno_location()|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)==(4); - if (!($73)) { - label = 11; - break; - } - HEAP32[$got>>2] = 1; - } else { - $78 = HEAP32[$got>>2]|0; - $79 = ($78|0)>(0); - if ($79) { - $80 = HEAP32[$got>>2]|0; - $81 = HEAP32[$6>>2]|0; - $82 = (($81) - ($80))|0; - HEAP32[$6>>2] = $82; - $83 = HEAP32[$got>>2]|0; - $84 = ($83|0)<(0); - $85 = $84 << 31 >> 31; - $86 = $4; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (_i64Add(($88|0),($91|0),($83|0),($85|0))|0); - $93 = tempRet0; - $94 = $4; - $95 = $94; - HEAP32[$95>>2] = $92; - $96 = (($94) + 4)|0; - $97 = $96; - HEAP32[$97>>2] = $93; - $98 = HEAP32[$got>>2]|0; - $99 = HEAP32[$prior>>2]|0; - $100 = (($99) + ($98))|0; - HEAP32[$prior>>2] = $100; - $101 = HEAP32[$got>>2]|0; - $102 = HEAP32[$5>>2]|0; - $103 = (($102) + ($101)|0); - HEAP32[$5>>2] = $103; + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) + ($13<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_int64($16)|0); + $18 = tempRet0; + $19 = $x; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = $x; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)<(0); + $30 = $x; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)>(0); + $37 = ($32>>>0)>(1114111); + $38 = ($35|0)==(0); + $39 = $38 & $37; + $40 = $36 | $39; + $or$cond = $29 | $40; + $41 = $or$cond ? 65533 : $17; + $42 = $or$cond ? 0 : $18; + $43 = $x; + $44 = $43; + HEAP32[$44>>2] = $41; + $45 = (($43) + 4)|0; + $46 = $45; + HEAP32[$46>>2] = $42; + $47 = $x; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = $49 & 2097151; + HEAP32[$c>>2] = $53; + $54 = HEAP32[$c>>2]|0; + $55 = ($54>>>0)<(128); + $56 = HEAP32[$c>>2]|0; + do { + if ($55) { + $57 = $56 & 255; + $58 = $57&255; + $59 = HEAP32[$zOut>>2]|0; + $60 = ((($59)) + 1|0); + HEAP32[$zOut>>2] = $60; + HEAP8[$59>>0] = $58; + } else { + $61 = ($56>>>0)<(2048); + $62 = HEAP32[$c>>2]|0; + if ($61) { + $63 = $62 >>> 6; + $64 = $63 & 31; + $65 = $64&255; + $66 = $65&255; + $67 = (192 + ($66))|0; + $68 = $67&255; + $69 = HEAP32[$zOut>>2]|0; + $70 = ((($69)) + 1|0); + HEAP32[$zOut>>2] = $70; + HEAP8[$69>>0] = $68; + $71 = HEAP32[$c>>2]|0; + $72 = $71 & 63; + $73 = $72&255; + $74 = $73&255; + $75 = (128 + ($74))|0; + $76 = $75&255; + $77 = HEAP32[$zOut>>2]|0; + $78 = ((($77)) + 1|0); + HEAP32[$zOut>>2] = $78; + HEAP8[$77>>0] = $76; + break; + } + $79 = ($62>>>0)<(65536); + $80 = HEAP32[$c>>2]|0; + if ($79) { + $81 = $80 >>> 12; + $82 = $81 & 15; + $83 = $82&255; + $84 = $83&255; + $85 = (224 + ($84))|0; + $86 = $85&255; + $87 = HEAP32[$zOut>>2]|0; + $88 = ((($87)) + 1|0); + HEAP32[$zOut>>2] = $88; + HEAP8[$87>>0] = $86; + $89 = HEAP32[$c>>2]|0; + $90 = $89 >>> 6; + $91 = $90 & 63; + $92 = $91&255; + $93 = $92&255; + $94 = (128 + ($93))|0; + $95 = $94&255; + $96 = HEAP32[$zOut>>2]|0; + $97 = ((($96)) + 1|0); + HEAP32[$zOut>>2] = $97; + HEAP8[$96>>0] = $95; + $98 = HEAP32[$c>>2]|0; + $99 = $98 & 63; + $100 = $99&255; + $101 = $100&255; + $102 = (128 + ($101))|0; + $103 = $102&255; + $104 = HEAP32[$zOut>>2]|0; + $105 = ((($104)) + 1|0); + HEAP32[$zOut>>2] = $105; + HEAP8[$104>>0] = $103; + break; + } else { + $106 = $80 >>> 18; + $107 = $106 & 7; + $108 = $107&255; + $109 = $108&255; + $110 = (240 + ($109))|0; + $111 = $110&255; + $112 = HEAP32[$zOut>>2]|0; + $113 = ((($112)) + 1|0); + HEAP32[$zOut>>2] = $113; + HEAP8[$112>>0] = $111; + $114 = HEAP32[$c>>2]|0; + $115 = $114 >>> 12; + $116 = $115 & 63; + $117 = $116&255; + $118 = $117&255; + $119 = (128 + ($118))|0; + $120 = $119&255; + $121 = HEAP32[$zOut>>2]|0; + $122 = ((($121)) + 1|0); + HEAP32[$zOut>>2] = $122; + HEAP8[$121>>0] = $120; + $123 = HEAP32[$c>>2]|0; + $124 = $123 >>> 6; + $125 = $124 & 63; + $126 = $125&255; + $127 = $126&255; + $128 = (128 + ($127))|0; + $129 = $128&255; + $130 = HEAP32[$zOut>>2]|0; + $131 = ((($130)) + 1|0); + HEAP32[$zOut>>2] = $131; + HEAP8[$130>>0] = $129; + $132 = HEAP32[$c>>2]|0; + $133 = $132 & 63; + $134 = $133&255; + $135 = $134&255; + $136 = (128 + ($135))|0; + $137 = $136&255; + $138 = HEAP32[$zOut>>2]|0; + $139 = ((($138)) + 1|0); + HEAP32[$zOut>>2] = $139; + HEAP8[$138>>0] = $137; + break; + } } - } - $104 = HEAP32[$got>>2]|0; - $105 = ($104|0)>(0); - if (!($105)) { - break; - } + } while(0); + $140 = HEAP32[$i>>2]|0; + $141 = (($140) + 1)|0; + HEAP32[$i>>2] = $141; } - if ((label|0) == 3) { - $44 = $newOffset; + $142 = HEAP32[$0>>2]|0; + $143 = HEAP32[$z>>2]|0; + $144 = HEAP32[$zOut>>2]|0; + $145 = HEAP32[$z>>2]|0; + $146 = $144; + $147 = $145; + $148 = (($146) - ($147))|0; + $149 = ($148|0)<(0); + $150 = $149 << 31 >> 31; + _sqlite3_result_text64($142,$143,$148,$150,13,1); + STACKTOP = sp;return; +} +function _absFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $iVal = 0, $rVal = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $iVal = sp + 8|0; + $rVal = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + switch ($5|0) { + case 1: { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_int64($7)|0); + $9 = tempRet0; + $10 = $iVal; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = $iVal; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)<(0); + do { + if ($20) { + $21 = $iVal; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)==(0); + $28 = ($26|0)==(-2147483648); + $29 = $27 & $28; + if (!($29)) { + $31 = $iVal; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (_i64Subtract(0,0,($33|0),($36|0))|0); + $38 = tempRet0; + $39 = $iVal; + $40 = $39; + HEAP32[$40>>2] = $37; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + break; + } + $30 = HEAP32[$0>>2]|0; + _sqlite3_result_error($30,37610,-1); + STACKTOP = sp;return; + } + } while(0); + $43 = HEAP32[$0>>2]|0; + $44 = $iVal; $45 = $44; $46 = HEAP32[$45>>2]|0; $47 = (($44) + 4)|0; $48 = $47; $49 = HEAP32[$48>>2]|0; - $50 = ($46|0)==(-1); - $51 = ($49|0)==(-1); - $52 = $50 & $51; - if ($52) { - $53 = (___errno_location()|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$3>>2]|0; - $56 = (($55) + 20|0); - HEAP32[$56>>2] = $54; - } else { - $57 = HEAP32[$3>>2]|0; - $58 = (($57) + 20|0); - HEAP32[$58>>2] = 0; - } - HEAP32[$2>>2] = -1; - $109 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($109|0); + _sqlite3_result_int64($43,$46,$49); + STACKTOP = sp;return; + break; } - else if ((label|0) == 11) { - HEAP32[$prior>>2] = 0; - $74 = (___errno_location()|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$3>>2]|0; - $77 = (($76) + 20|0); - HEAP32[$77>>2] = $75; + case 5: { + $50 = HEAP32[$0>>2]|0; + _sqlite3_result_null($50); + STACKTOP = sp;return; + break; + } + default: { + $51 = HEAP32[$2>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = (+_sqlite3_value_double($52)); + HEAPF64[$rVal>>3] = $53; + $54 = +HEAPF64[$rVal>>3]; + $55 = $54 < 0.0; + if ($55) { + $56 = +HEAPF64[$rVal>>3]; + $57 = -$56; + HEAPF64[$rVal>>3] = $57; + } + $58 = HEAP32[$0>>2]|0; + $59 = +HEAPF64[$rVal>>3]; + _sqlite3_result_double($58,$59); + STACKTOP = sp;return; } - $106 = HEAP32[$got>>2]|0; - $107 = HEAP32[$prior>>2]|0; - $108 = (($106) + ($107))|0; - HEAP32[$2>>2] = $108; - $109 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($109|0); -} -function _closeUnixFile($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0, dest = 0, label = 0, sp = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pFile = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $1; - $2 = HEAP32[$pFile>>2]|0; - $3 = (($2) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>=(0); - if ($5) { - $6 = HEAP32[$pFile>>2]|0; - $7 = HEAP32[$pFile>>2]|0; - $8 = (($7) + 12|0); - $9 = HEAP32[$8>>2]|0; - _robust_close($6,$9,26735); - $10 = HEAP32[$pFile>>2]|0; - $11 = (($10) + 12|0); - HEAP32[$11>>2] = -1; } - $12 = HEAP32[$pFile>>2]|0; - $13 = (($12) + 28|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3_free($14); - $15 = HEAP32[$pFile>>2]|0; - dest=$15+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return 0; -} -function _nolockIoFinderImpl($z,$p) { - $z = $z|0; - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $p; - STACKTOP = sp;return (38016|0); -} -function _nolockClose($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[$0>>2]|0; - $2 = (_closeUnixFile($1)|0); - STACKTOP = sp;return ($2|0); -} -function _nolockLock($NotUsed,$NotUsed2) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; - STACKTOP = sp;return 0; -} -function _nolockUnlock($NotUsed,$NotUsed2) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; - STACKTOP = sp;return 0; -} -function _nolockCheckReservedLock($NotUsed,$pResOut) { - $NotUsed = $NotUsed|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $pResOut; - $2 = HEAP32[$1>>2]|0; - HEAP32[$2>>2] = 0; - STACKTOP = sp;return 0; } -function _findReusableFd($zPath,$flags) { - $zPath = $zPath|0; - $flags = $flags|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pInode = 0, $pUnused = 0, $pp = 0, $sStat = 0, label = 0, sp = 0; +function _roundFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $$ = 0, $$$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0; + var $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $r = 0, $vararg_buffer = 0, $vararg_ptr6 = 0, $zBuf = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 92|0; - $1 = sp + 88|0; - $pUnused = sp + 84|0; - $sStat = sp + 8|0; - $pInode = sp + 4|0; - $pp = sp; - HEAP32[$0>>2] = $zPath; - HEAP32[$1>>2] = $flags; - HEAP32[$pUnused>>2] = 0; - $2 = HEAP32[((37192 + 52|0))>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (FUNCTION_TABLE_iii[$2 & 63]($3,$sStat)|0); - $5 = (0)==($4|0); - if (!($5)) { - $45 = HEAP32[$pUnused>>2]|0; - STACKTOP = sp;return ($45|0); - } - _unixEnterMutex(); - $6 = HEAP32[38352>>2]|0; - HEAP32[$pInode>>2] = $6; - while(1) { - $7 = HEAP32[$pInode>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$pInode>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$sStat>>2]|0; - $12 = ($10|0)!=($11|0); - if ($12) { - $46 = 1; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 32|0; + $1 = sp + 36|0; + $2 = sp + 40|0; + $n = sp + 24|0; + $r = sp; + $zBuf = sp + 28|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$n>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(2); + do { + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_type($7)|0); + $9 = (5)==($8|0); + if ($9) { + STACKTOP = sp;return; } else { - $13 = HEAP32[$pInode>>2]|0; - $14 = (($13) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($sStat) + 72|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($15|0)!=($17|0); - $46 = $18; + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_int($12)|0); + HEAP32[$n>>2] = $13; + $14 = HEAP32[$n>>2]|0; + $15 = ($14|0)>(30); + $$ = $15 ? 30 : $13; + HEAP32[$n>>2] = $$; + $16 = HEAP32[$n>>2]|0; + $17 = ($16|0)<(0); + $$$ = $17 ? 0 : $$; + HEAP32[$n>>2] = $$$; + break; } - } else { - $46 = 0; } - $19 = HEAP32[$pInode>>2]|0; - if (!($46)) { - break; - } - $20 = (($19) + 32|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pInode>>2] = $21; + } while(0); + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_type($19)|0); + $21 = ($20|0)==(5); + if ($21) { + STACKTOP = sp;return; } - $22 = ($19|0)!=(0|0); - if ($22) { - $23 = HEAP32[$pInode>>2]|0; - $24 = (($23) + 28|0); - HEAP32[$pp>>2] = $24; - while(1) { - $25 = HEAP32[$pp>>2]|0; - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0|0); - if (!($27)) { - break; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = (+_sqlite3_value_double($23)); + HEAPF64[$r>>3] = $24; + $25 = HEAP32[$n>>2]|0; + $26 = ($25|0)==(0); + $27 = +HEAPF64[$r>>3]; + $28 = $27 >= 0.0; + $or$cond = $26 & $28; + $29 = +HEAPF64[$r>>3]; + $30 = $29 < 9.2233720368547758E+18; + $or$cond3 = $or$cond & $30; + do { + if ($or$cond3) { + $31 = +HEAPF64[$r>>3]; + $32 = $31 + 0.5; + $33 = (~~$32)>>>0; + $34 = +Math_abs($32) >= 1.0 ? $32 > 0.0 ? (~~+Math_min(+Math_floor($32 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($32 - +(~~$32 >>> 0)) / 4294967296.0) >>> 0 : 0; + $35 = (+($33>>>0)) + (4294967296.0*(+($34|0))); + HEAPF64[$r>>3] = $35; + } else { + $36 = HEAP32[$n>>2]|0; + $37 = ($36|0)==(0); + $38 = +HEAPF64[$r>>3]; + $39 = $38 < 0.0; + $or$cond5 = $37 & $39; + if ($or$cond5) { + $40 = +HEAPF64[$r>>3]; + $41 = -$40; + $42 = $41 < 9.2233720368547758E+18; + if ($42) { + $43 = +HEAPF64[$r>>3]; + $44 = -$43; + $45 = $44 + 0.5; + $46 = (~~$45)>>>0; + $47 = +Math_abs($45) >= 1.0 ? $45 > 0.0 ? (~~+Math_min(+Math_floor($45 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($45 - +(~~$45 >>> 0)) / 4294967296.0) >>> 0 : 0; + $48 = (+($46>>>0)) + (4294967296.0*(+($47|0))); + $49 = -$48; + HEAPF64[$r>>3] = $49; + break; + } } - $28 = HEAP32[$pp>>2]|0; - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + 4|0); - $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = ($31|0)!=($32|0); - if (!($33)) { + $50 = HEAP32[$n>>2]|0; + $51 = +HEAPF64[$r>>3]; + HEAP32[$vararg_buffer>>2] = $50; + $vararg_ptr6 = ((($vararg_buffer)) + 8|0); + HEAPF64[$vararg_ptr6>>3] = $51; + $52 = (_sqlite3_mprintf(37650,$vararg_buffer)|0); + HEAP32[$zBuf>>2] = $52; + $53 = HEAP32[$zBuf>>2]|0; + $54 = ($53|0)==(0|0); + if (!($54)) { + $56 = HEAP32[$zBuf>>2]|0; + $57 = HEAP32[$zBuf>>2]|0; + $58 = (_sqlite3Strlen30($57)|0); + (_sqlite3AtoF($56,$r,$58,1)|0); + $59 = HEAP32[$zBuf>>2]|0; + _sqlite3_free($59); break; } - $34 = HEAP32[$pp>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 8|0); - HEAP32[$pp>>2] = $36; - } - $37 = HEAP32[$pp>>2]|0; - $38 = HEAP32[$37>>2]|0; - HEAP32[$pUnused>>2] = $38; - $39 = HEAP32[$pUnused>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$pUnused>>2]|0; - $42 = (($41) + 8|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$pp>>2]|0; - HEAP32[$44>>2] = $43; + $55 = HEAP32[$0>>2]|0; + _sqlite3_result_error_nomem($55); + STACKTOP = sp;return; } - } - _unixLeaveMutex(); - $45 = HEAP32[$pUnused>>2]|0; - STACKTOP = sp;return ($45|0); + } while(0); + $60 = HEAP32[$0>>2]|0; + $61 = +HEAPF64[$r>>3]; + _sqlite3_result_double($60,$61); + STACKTOP = sp;return; } -function _findCreateFileMode($zPath,$flags,$pMode,$pUid,$pGid) { - $zPath = $zPath|0; - $flags = $flags|0; - $pMode = $pMode|0; - $pUid = $pUid|0; - $pGid = $pGid|0; +function _upperFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nDb = 0, $rc = 0, $sStat = 0, $zDb = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 624|0; - $0 = sp + 100|0; - $1 = sp + 96|0; - $2 = sp + 92|0; - $3 = sp + 88|0; - $4 = sp + 84|0; - $rc = sp + 80|0; - $zDb = sp + 104|0; - $nDb = sp + 76|0; - $sStat = sp; - HEAP32[$0>>2] = $zPath; - HEAP32[$1>>2] = $flags; - HEAP32[$2>>2] = $pMode; - HEAP32[$3>>2] = $pUid; - HEAP32[$4>>2] = $pGid; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$2>>2]|0; - HEAP32[$5>>2] = 0; - $6 = HEAP32[$3>>2]|0; - HEAP32[$6>>2] = 0; - $7 = HEAP32[$4>>2]|0; - HEAP32[$7>>2] = 0; - $8 = HEAP32[$1>>2]|0; - $9 = $8 & 526336; - $10 = ($9|0)!=(0); + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $z1 = sp + 24|0; + $z2 = sp + 4|0; + $i = sp; + $n = sp + 12|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$z2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_bytes($7)|0); + HEAP32[$n>>2] = $8; + $9 = HEAP32[$z2>>2]|0; + $10 = ($9|0)!=(0|0); if (!($10)) { - $39 = HEAP32[$1>>2]|0; - $40 = $39 & 8; - $41 = ($40|0)!=(0); - if (!($41)) { - $43 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($43|0); - } - $42 = HEAP32[$2>>2]|0; - HEAP32[$42>>2] = 384; - $43 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($43|0); + STACKTOP = sp;return; } $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3Strlen30($11)|0); - $13 = (($12) - 1)|0; - HEAP32[$nDb>>2] = $13; + $12 = HEAP32[$n>>2]|0; + $13 = ($12|0)<(0); + $14 = $13 << 31 >> 31; + $15 = (_i64Add(($12|0),($14|0),1,0)|0); + $16 = tempRet0; + $17 = (_contextMalloc($11,$15,$16)|0); + HEAP32[$z1>>2] = $17; + $18 = HEAP32[$z1>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; while(1) { - $14 = HEAP32[$nDb>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + ($14)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = ($18|0)!=(45); - if (!($19)) { + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$n>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { break; } - $20 = HEAP32[$nDb>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$nDb>>2] = $21; - } - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$nDb>>2]|0; - _memcpy(($zDb|0),($22|0),($23|0))|0; - $24 = HEAP32[$nDb>>2]|0; - $25 = (($zDb) + ($24)|0); - HEAP8[$25>>0] = 0; - $26 = HEAP32[((37192 + 52|0))>>2]|0; - $27 = (FUNCTION_TABLE_iii[$26 & 63]($zDb,$sStat)|0); - $28 = (0)==($27|0); - if ($28) { - $29 = (($sStat) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = $30 & 511; - $32 = HEAP32[$2>>2]|0; - HEAP32[$32>>2] = $31; - $33 = (($sStat) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$3>>2]|0; - HEAP32[$35>>2] = $34; - $36 = (($sStat) + 24|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$4>>2]|0; - HEAP32[$38>>2] = $37; - $43 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($43|0); - } else { - HEAP32[$rc>>2] = 1802; - $43 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($43|0); + $23 = HEAP32[$i>>2]|0; + $24 = HEAP32[$z2>>2]|0; + $25 = (($24) + ($23)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = HEAP32[$i>>2]|0; + $29 = HEAP32[$z2>>2]|0; + $30 = (($29) + ($28)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (14426 + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $35 & 32; + $37 = $36 ^ -1; + $38 = $27 & $37; + $39 = $38&255; + $40 = HEAP32[$i>>2]|0; + $41 = HEAP32[$z1>>2]|0; + $42 = (($41) + ($40)|0); + HEAP8[$42>>0] = $39; + $43 = HEAP32[$i>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$i>>2] = $44; } - return 0|0; + $45 = HEAP32[$0>>2]|0; + $46 = HEAP32[$z1>>2]|0; + $47 = HEAP32[$n>>2]|0; + _sqlite3_result_text($45,$46,$47,13); + STACKTOP = sp;return; } -function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { - $pVfs = $pVfs|0; - $h = $h|0; - $pId = $pId|0; - $zFilename = $zFilename|0; - $ctrlFlags = $ctrlFlags|0; +function _lowerFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $nFilename = 0, $pLockingStyle = 0, $pNew = 0, $rc = 0, $vararg_buffer = 0, $zLockFile = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0; + var $z1 = 0, $z2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = sp + 28|0; - $4 = sp + 24|0; - $pLockingStyle = sp + 20|0; - $pNew = sp + 16|0; - $rc = sp + 12|0; - $zLockFile = sp + 8|0; - $nFilename = sp + 4|0; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $h; - HEAP32[$2>>2] = $pId; - HEAP32[$3>>2] = $zFilename; - HEAP32[$4>>2] = $ctrlFlags; - $5 = HEAP32[$2>>2]|0; - HEAP32[$pNew>>2] = $5; - HEAP32[$rc>>2] = 0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$pNew>>2]|0; - $8 = (($7) + 12|0); - HEAP32[$8>>2] = $6; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$pNew>>2]|0; - $11 = (($10) + 4|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$pNew>>2]|0; - $14 = (($13) + 32|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$4>>2]|0; - $16 = $15&255; - $17 = $16&255; - $18 = HEAP32[$pNew>>2]|0; - $19 = (($18) + 18|0); - HEAP16[$19>>1] = $17; - $20 = HEAP32[$4>>2]|0; - $21 = $20 & 64; - $22 = ($21|0)!=(0); - $23 = HEAP32[$3>>2]|0; - $24 = $22 ? $23 : 0; - $25 = (_sqlite3_uri_boolean($24,38136,1)|0); - $26 = ($25|0)!=(0); - if ($26) { - $27 = HEAP32[$pNew>>2]|0; - $28 = (($27) + 18|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = $30 | 16; - $32 = $31&65535; - HEAP16[$28>>1] = $32; - } - $33 = HEAP32[$0>>2]|0; - $34 = (($33) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_strcmp($35,1112)|0); - $37 = ($36|0)==(0); - if ($37) { - $38 = HEAP32[$pNew>>2]|0; - $39 = (($38) + 18|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = $41 | 1; - $43 = $42&65535; - HEAP16[$39>>1] = $43; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 20|0; + $z1 = sp + 24|0; + $z2 = sp + 4|0; + $i = sp; + $n = sp + 12|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$z2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_bytes($7)|0); + HEAP32[$n>>2] = $8; + $9 = HEAP32[$z2>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; } - $44 = HEAP32[$4>>2]|0; - $45 = $44 & 128; - $46 = ($45|0)!=(0); - if ($46) { - HEAP32[$pLockingStyle>>2] = 38016; - } else { - $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 20|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$3>>2]|0; - $52 = HEAP32[$pNew>>2]|0; - $53 = (FUNCTION_TABLE_iii[$50 & 63]($51,$52)|0); - HEAP32[$pLockingStyle>>2] = $53; + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$n>>2]|0; + $13 = ($12|0)<(0); + $14 = $13 << 31 >> 31; + $15 = (_i64Add(($12|0),($14|0),1,0)|0); + $16 = tempRet0; + $17 = (_contextMalloc($11,$15,$16)|0); + HEAP32[$z1>>2] = $17; + $18 = HEAP32[$z1>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + STACKTOP = sp;return; } - $54 = HEAP32[$pLockingStyle>>2]|0; - $55 = ($54|0)==(38144|0); - if ($55) { - _unixEnterMutex(); - $56 = HEAP32[$pNew>>2]|0; - $57 = HEAP32[$pNew>>2]|0; - $58 = (($57) + 8|0); - $59 = (_findInodeInfo($56,$58)|0); - HEAP32[$rc>>2] = $59; - $60 = HEAP32[$rc>>2]|0; - $61 = ($60|0)!=(0); - if ($61) { - $62 = HEAP32[$pNew>>2]|0; - $63 = HEAP32[$1>>2]|0; - _robust_close($62,$63,30114); - HEAP32[$1>>2] = -1; - } - _unixLeaveMutex(); - } else { - $64 = HEAP32[$pLockingStyle>>2]|0; - $65 = ($64|0)==(37112|0); - if ($65) { - $66 = HEAP32[$3>>2]|0; - $67 = (_strlen(($66|0))|0); - $68 = (($67) + 6)|0; - HEAP32[$nFilename>>2] = $68; - $69 = HEAP32[$nFilename>>2]|0; - $70 = (_sqlite3_malloc($69)|0); - HEAP32[$zLockFile>>2] = $70; - $71 = HEAP32[$zLockFile>>2]|0; - $72 = ($71|0)==(0|0); - if ($72) { - HEAP32[$rc>>2] = 7; - } else { - $73 = HEAP32[$nFilename>>2]|0; - $74 = HEAP32[$zLockFile>>2]|0; - $75 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $75; - (_sqlite3_snprintf($73,$74,38224,$vararg_buffer)|0); - } - $76 = HEAP32[$zLockFile>>2]|0; - $77 = HEAP32[$pNew>>2]|0; - $78 = (($77) + 24|0); - HEAP32[$78>>2] = $76; + HEAP32[$i>>2] = 0; + while(1) { + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$n>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { + break; } + $23 = HEAP32[$i>>2]|0; + $24 = HEAP32[$z2>>2]|0; + $25 = (($24) + ($23)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (13848 + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = HEAP32[$i>>2]|0; + $31 = HEAP32[$z1>>2]|0; + $32 = (($31) + ($30)|0); + HEAP8[$32>>0] = $29; + $33 = HEAP32[$i>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$i>>2] = $34; } - $79 = HEAP32[$pNew>>2]|0; - $80 = (($79) + 20|0); - HEAP32[$80>>2] = 0; - $81 = HEAP32[$rc>>2]|0; - $82 = ($81|0)!=(0); - if (!($82)) { - $87 = HEAP32[$pLockingStyle>>2]|0; - $88 = HEAP32[$pNew>>2]|0; - HEAP32[$88>>2] = $87; - $89 = HEAP32[$pNew>>2]|0; - _verifyDbFile($89); - $90 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($90|0); - } - $83 = HEAP32[$1>>2]|0; - $84 = ($83|0)>=(0); - if (!($84)) { - $90 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($90|0); - } - $85 = HEAP32[$pNew>>2]|0; - $86 = HEAP32[$1>>2]|0; - _robust_close($85,$86,30199); - $90 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($90|0); + $35 = HEAP32[$0>>2]|0; + $36 = HEAP32[$z1>>2]|0; + $37 = HEAP32[$n>>2]|0; + _sqlite3_result_text($35,$36,$37,13); + STACKTOP = sp;return; } -function _findInodeInfo($pFile,$ppInode) { - $pFile = $pFile|0; - $ppInode = $ppInode|0; +function _versionFunc($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_libversion()|0); + _sqlite3_result_text($3,$4,-1,0); + STACKTOP = sp;return; +} +function _hexFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0; - var $fileId = 0, $pInode = 0, $rc = 0, $statbuf = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $n = 0, $pBlob = 0, $z = 0, $zHex = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $0 = sp + 104|0; - $1 = sp + 100|0; - $2 = sp + 96|0; - $rc = sp + 92|0; - $fd = sp + 88|0; - $fileId = sp + 80|0; - $statbuf = sp + 4|0; - $pInode = sp; - HEAP32[$1>>2] = $pFile; - HEAP32[$2>>2] = $ppInode; - HEAP32[$pInode>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 12|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$fd>>2] = $5; - $6 = HEAP32[((37192 + 64|0))>>2]|0; - $7 = HEAP32[$fd>>2]|0; - $8 = (FUNCTION_TABLE_iii[$6 & 63]($7,$statbuf)|0); - HEAP32[$rc>>2] = $8; - $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - $11 = (___errno_location()|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (($13) + 20|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(75); - if ($18) { - HEAP32[$0>>2] = 22; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); - } else { - HEAP32[$0>>2] = 10; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); - } + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $i = sp + 20|0; + $n = sp + 4|0; + $pBlob = sp; + $zHex = sp + 12|0; + $z = sp + 24|0; + $c = sp + 32|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_blob($4)|0); + HEAP32[$pBlob>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_bytes($7)|0); + HEAP32[$n>>2] = $8; + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$n>>2]|0; + $11 = ($10|0)<(0); + $12 = $11 << 31 >> 31; + $13 = (___muldi3(($10|0),($12|0),2,0)|0); + $14 = tempRet0; + $15 = (_i64Add(($13|0),($14|0),1,0)|0); + $16 = tempRet0; + $17 = (_contextMalloc($9,$15,$16)|0); + HEAP32[$zHex>>2] = $17; + HEAP32[$z>>2] = $17; + $18 = HEAP32[$zHex>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + STACKTOP = sp;return; } - ;HEAP32[$fileId+0>>2]=0|0;HEAP32[$fileId+4>>2]=0|0; - $19 = HEAP32[$statbuf>>2]|0; - HEAP32[$fileId>>2] = $19; - $20 = (($statbuf) + 72|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($fileId) + 4|0); - HEAP32[$22>>2] = $21; - $23 = HEAP32[38352>>2]|0; - HEAP32[$pInode>>2] = $23; + HEAP32[$i>>2] = 0; while(1) { - $24 = HEAP32[$pInode>>2]|0; - $25 = ($24|0)!=(0|0); - if ($25) { - $26 = HEAP32[$pInode>>2]|0; - $27 = (_memcmp($fileId,$26,8)|0); - $28 = ($27|0)!=(0); - $58 = $28; - } else { - $58 = 0; - } - $29 = HEAP32[$pInode>>2]|0; - if (!($58)) { + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$n>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { break; } - $30 = (($29) + 32|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$pInode>>2] = $31; - } - $32 = ($29|0)==(0|0); - if ($32) { - $33 = (_sqlite3_malloc(40)|0); - HEAP32[$pInode>>2] = $33; - $34 = HEAP32[$pInode>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$0>>2] = 7; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); - } - $36 = HEAP32[$pInode>>2]|0; - dest=$36+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $37 = HEAP32[$pInode>>2]|0; - ;HEAP32[$37+0>>2]=HEAP32[$fileId+0>>2]|0;HEAP32[$37+4>>2]=HEAP32[$fileId+4>>2]|0; - $38 = HEAP32[$pInode>>2]|0; - $39 = (($38) + 16|0); - HEAP32[$39>>2] = 1; - $40 = HEAP32[38352>>2]|0; - $41 = HEAP32[$pInode>>2]|0; - $42 = (($41) + 32|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$pInode>>2]|0; - $44 = (($43) + 36|0); - HEAP32[$44>>2] = 0; - $45 = HEAP32[38352>>2]|0; - $46 = ($45|0)!=(0|0); - if ($46) { - $47 = HEAP32[$pInode>>2]|0; - $48 = HEAP32[38352>>2]|0; - $49 = (($48) + 36|0); - HEAP32[$49>>2] = $47; - } - $50 = HEAP32[$pInode>>2]|0; - HEAP32[38352>>2] = $50; - } else { - $51 = HEAP32[$pInode>>2]|0; - $52 = (($51) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$52>>2] = $54; + $23 = HEAP32[$pBlob>>2]|0; + $24 = HEAP8[$23>>0]|0; + HEAP8[$c>>0] = $24; + $25 = HEAP8[$c>>0]|0; + $26 = $25&255; + $27 = $26 >> 4; + $28 = $27 & 15; + $29 = (37634 + ($28)|0); + $30 = HEAP8[$29>>0]|0; + $31 = HEAP32[$z>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$z>>2] = $32; + HEAP8[$31>>0] = $30; + $33 = HEAP8[$c>>0]|0; + $34 = $33&255; + $35 = $34 & 15; + $36 = (37634 + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = HEAP32[$z>>2]|0; + $39 = ((($38)) + 1|0); + HEAP32[$z>>2] = $39; + HEAP8[$38>>0] = $37; + $40 = HEAP32[$i>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$i>>2] = $41; + $42 = HEAP32[$pBlob>>2]|0; + $43 = ((($42)) + 1|0); + HEAP32[$pBlob>>2] = $43; } - $55 = HEAP32[$pInode>>2]|0; - $56 = HEAP32[$2>>2]|0; - HEAP32[$56>>2] = $55; - HEAP32[$0>>2] = 0; - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + $44 = HEAP32[$z>>2]|0; + HEAP8[$44>>0] = 0; + $45 = HEAP32[$0>>2]|0; + $46 = HEAP32[$zHex>>2]|0; + $47 = HEAP32[$n>>2]|0; + $48 = $47<<1; + _sqlite3_result_text($45,$46,$48,13); + STACKTOP = sp;return; } -function _verifyDbFile($pFile) { - $pFile = $pFile|0; +function _randomFunc($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $rc = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $r = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + _sqlite3_randomness(8,$r); + $3 = $r; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + 4)|0; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<(0); + if ($9) { + $10 = $r; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = $15 & 2147483647; + $17 = (_i64Subtract(0,0,($12|0),($16|0))|0); + $18 = tempRet0; + $19 = $r; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + } + $23 = HEAP32[$0>>2]|0; + $24 = $r; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_int64($23,$26,$29); + STACKTOP = sp;return; +} +function _randomBlob($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $n = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer7 = sp; - $0 = sp + 84|0; - $buf = sp + 8|0; - $rc = sp + 4|0; - HEAP32[$0>>2] = $pFile; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 18|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = $4 & 256; - $6 = ($5|0)!=(0); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[((37192 + 64|0))>>2]|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $n = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_int($4)|0); + HEAP32[$n>>2] = $5; + $6 = HEAP32[$n>>2]|0; + $7 = ($6|0)<(1); + $$ = $7 ? 1 : $5; + HEAP32[$n>>2] = $$; $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (FUNCTION_TABLE_iii[$7 & 63]($10,$buf)|0); - HEAP32[$rc>>2] = $11; - $12 = HEAP32[$rc>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = (($14) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$vararg_buffer7>>2] = $16; - _sqlite3_log(28,38232,$vararg_buffer7); - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 18|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 | 256; - $22 = $21&65535; - HEAP16[$18>>1] = $22; - STACKTOP = sp;return; - } - $23 = (($buf) + 16|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$0>>2]|0; - $27 = (($26) + 18|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $30 = $29 & 32; - $31 = ($30|0)==(0); - if ($31) { - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + 32|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$vararg_buffer7>>2] = $34; - _sqlite3_log(28,38256,$vararg_buffer7); - $35 = HEAP32[$0>>2]|0; - $36 = (($35) + 18|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = $38 | 256; - $40 = $39&65535; - HEAP16[$36>>1] = $40; - STACKTOP = sp;return; - } - } - $41 = (($buf) + 16|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42>>>0)>(1); - $44 = HEAP32[$0>>2]|0; - if ($43) { - $45 = (($44) + 32|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$vararg_buffer7>>2] = $46; - _sqlite3_log(28,38288,$vararg_buffer7); - $47 = HEAP32[$0>>2]|0; - $48 = (($47) + 18|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = $50 | 256; - $52 = $51&65535; - HEAP16[$48>>1] = $52; - STACKTOP = sp;return; - } - $53 = (_fileHasMoved($44)|0); - $54 = ($53|0)!=(0); - if (!($54)) { + $9 = HEAP32[$n>>2]|0; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = (_contextMalloc($8,$9,$11)|0); + HEAP32[$p>>2] = $12; + $13 = HEAP32[$p>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { STACKTOP = sp;return; } - $55 = HEAP32[$0>>2]|0; - $56 = (($55) + 32|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$vararg_buffer7>>2] = $57; - _sqlite3_log(28,38320,$vararg_buffer7); - $58 = HEAP32[$0>>2]|0; - $59 = (($58) + 18|0); - $60 = HEAP16[$59>>1]|0; - $61 = $60&65535; - $62 = $61 | 256; - $63 = $62&65535; - HEAP16[$59>>1] = $63; + $15 = HEAP32[$n>>2]|0; + $16 = HEAP32[$p>>2]|0; + _sqlite3_randomness($15,$16); + $17 = HEAP32[$0>>2]|0; + $18 = HEAP32[$p>>2]|0; + $19 = HEAP32[$n>>2]|0; + _sqlite3_result_blob($17,$18,$19,13); STACKTOP = sp;return; } -function _unixClose($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pFile = 0; - var $rc = 0, label = 0, sp = 0; +function _nullifFunc($context,$NotUsed,$argv) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $pFile = sp; - HEAP32[$0>>2] = $id; - HEAP32[$rc>>2] = 0; - $1 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $1; - $2 = HEAP32[$pFile>>2]|0; - _verifyDbFile($2); + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $pColl = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; $3 = HEAP32[$0>>2]|0; - (_unixUnlock($3,0)|0); - _unixEnterMutex(); - $4 = HEAP32[$pFile>>2]|0; - $5 = (($4) + 8|0); + $4 = (_sqlite3GetFuncCollSeq($3)|0); + HEAP32[$pColl>>2] = $4; + $5 = HEAP32[$2>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$pFile>>2]|0; - $9 = (($8) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 24|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0); - if ($13) { - $14 = HEAP32[$pFile>>2]|0; - _setPendingFd($14); - } - } - $15 = HEAP32[$pFile>>2]|0; - _releaseInodeInfo($15); - $16 = HEAP32[$0>>2]|0; - $17 = (_closeUnixFile($16)|0); - HEAP32[$rc>>2] = $17; - _unixLeaveMutex(); - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); -} -function _unixLock($id,$eFileLock) { - $id = $id|0; - $eFileLock = $eFileLock|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $lock = 0, $or$cond = 0, $or$cond3 = 0, $pFile = 0, $pInode = 0, $rc = 0, $tErrno = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $rc = sp + 32|0; - $pFile = sp + 28|0; - $pInode = sp + 24|0; - $lock = sp + 8|0; - $tErrno = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $eFileLock; - HEAP32[$rc>>2] = 0; - $3 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $3; - HEAP32[$tErrno>>2] = 0; - $4 = HEAP32[$pFile>>2]|0; - $5 = (($4) + 16|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = HEAP32[$2>>2]|0; - $9 = ($7|0)>=($8|0); - if ($9) { - HEAP32[$0>>2] = 0; - $161 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($161|0); - } - _unixEnterMutex(); - $10 = HEAP32[$pFile>>2]|0; - $11 = (($10) + 8|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pInode>>2] = $12; - $13 = HEAP32[$pFile>>2]|0; - $14 = (($13) + 16|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = HEAP32[$pInode>>2]|0; - $18 = (($17) + 12|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($16|0)!=($20|0); - if ($21) { - $22 = HEAP32[$pInode>>2]|0; - $23 = (($22) + 12|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = ($25|0)>=(3); - $27 = HEAP32[$2>>2]|0; - $28 = ($27|0)>(1); - $or$cond = $26 | $28; - if ($or$cond) { - HEAP32[$rc>>2] = 5; - } else { - label = 6; - } - } else { - label = 6; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$pColl>>2]|0; + $11 = (_sqlite3MemCompare($6,$9,$10)|0); + $12 = ($11|0)!=(0); + if (!($12)) { + STACKTOP = sp;return; } - L8: do { - if ((label|0) == 6) { - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)==(1); - do { - if ($30) { - $31 = HEAP32[$pInode>>2]|0; - $32 = (($31) + 12|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34|0)==(1); - if (!($35)) { - $36 = HEAP32[$pInode>>2]|0; - $37 = (($36) + 12|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = ($39|0)==(2); - if (!($40)) { - break; - } - } - $41 = HEAP32[$pFile>>2]|0; - $42 = (($41) + 16|0); - HEAP8[$42>>0] = 1; - $43 = HEAP32[$pInode>>2]|0; - $44 = (($43) + 8|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$44>>2] = $46; - $47 = HEAP32[$pInode>>2]|0; - $48 = (($47) + 24|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 1)|0; - HEAP32[$48>>2] = $50; - break L8; - } - } while(0); - $51 = (($lock) + 8|0); - HEAP32[$51>>2] = 1; - $52 = (($lock) + 2|0); - HEAP16[$52>>1] = 0; - $53 = HEAP32[$2>>2]|0; - $54 = ($53|0)==(1); - if ($54) { - label = 13; - } else { - $55 = HEAP32[$2>>2]|0; - $56 = ($55|0)==(4); - if ($56) { - $57 = HEAP32[$pFile>>2]|0; - $58 = (($57) + 16|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)<(3); - if ($61) { - label = 13; - } - } - } - if ((label|0) == 13) { - $62 = HEAP32[$2>>2]|0; - $63 = ($62|0)==(1); - $64 = $63 ? 0 : 1; - $65 = $64&65535; - HEAP16[$lock>>1] = $65; - $66 = HEAP32[1128>>2]|0; - $67 = (($lock) + 4|0); - HEAP32[$67>>2] = $66; - $68 = HEAP32[$pFile>>2]|0; - $69 = (_unixFileLock($68,$lock)|0); - $70 = ($69|0)!=(0); - if ($70) { - $71 = (___errno_location()|0); - $72 = HEAP32[$71>>2]|0; - HEAP32[$tErrno>>2] = $72; - $73 = HEAP32[$tErrno>>2]|0; - $74 = (_sqliteErrorFromPosixError($73,3850)|0); - HEAP32[$rc>>2] = $74; - $75 = HEAP32[$rc>>2]|0; - $76 = ($75|0)!=(5); - if (!($76)) { - break; - } - $77 = HEAP32[$tErrno>>2]|0; - $78 = HEAP32[$pFile>>2]|0; - $79 = (($78) + 20|0); - HEAP32[$79>>2] = $77; - break; - } - } - $80 = HEAP32[$2>>2]|0; - $81 = ($80|0)==(1); - do { - if ($81) { - $82 = HEAP32[1128>>2]|0; - $83 = (($82) + 2)|0; - $84 = (($lock) + 4|0); - HEAP32[$84>>2] = $83; - $85 = (($lock) + 8|0); - HEAP32[$85>>2] = 510; - $86 = HEAP32[$pFile>>2]|0; - $87 = (_unixFileLock($86,$lock)|0); - $88 = ($87|0)!=(0); - if ($88) { - $89 = (___errno_location()|0); - $90 = HEAP32[$89>>2]|0; - HEAP32[$tErrno>>2] = $90; - $91 = HEAP32[$tErrno>>2]|0; - $92 = (_sqliteErrorFromPosixError($91,3850)|0); - HEAP32[$rc>>2] = $92; - } - $93 = HEAP32[1128>>2]|0; - $94 = (($lock) + 4|0); - HEAP32[$94>>2] = $93; - $95 = (($lock) + 8|0); - HEAP32[$95>>2] = 1; - HEAP16[$lock>>1] = 2; - $96 = HEAP32[$pFile>>2]|0; - $97 = (_unixFileLock($96,$lock)|0); - $98 = ($97|0)!=(0); - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)==(0); - $or$cond3 = $98 & $100; - if ($or$cond3) { - $101 = (___errno_location()|0); - $102 = HEAP32[$101>>2]|0; - HEAP32[$tErrno>>2] = $102; - HEAP32[$rc>>2] = 2058; - } - $103 = HEAP32[$rc>>2]|0; - $104 = ($103|0)!=(0); - if (!($104)) { - $110 = HEAP32[$pFile>>2]|0; - $111 = (($110) + 16|0); - HEAP8[$111>>0] = 1; - $112 = HEAP32[$pInode>>2]|0; - $113 = (($112) + 24|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + 1)|0; - HEAP32[$113>>2] = $115; - $116 = HEAP32[$pInode>>2]|0; - $117 = (($116) + 8|0); - HEAP32[$117>>2] = 1; - break; - } - $105 = HEAP32[$rc>>2]|0; - $106 = ($105|0)!=(5); - if (!($106)) { - break L8; - } - $107 = HEAP32[$tErrno>>2]|0; - $108 = HEAP32[$pFile>>2]|0; - $109 = (($108) + 20|0); - HEAP32[$109>>2] = $107; - break L8; - } else { - $118 = HEAP32[$2>>2]|0; - $119 = ($118|0)==(4); - if ($119) { - $120 = HEAP32[$pInode>>2]|0; - $121 = (($120) + 8|0); - $122 = HEAP32[$121>>2]|0; - $123 = ($122|0)>(1); - if ($123) { - HEAP32[$rc>>2] = 5; - break; - } - } - HEAP16[$lock>>1] = 1; - $124 = HEAP32[$2>>2]|0; - $125 = ($124|0)==(2); - $126 = HEAP32[1128>>2]|0; - if ($125) { - $127 = (($126) + 1)|0; - $128 = (($lock) + 4|0); - HEAP32[$128>>2] = $127; - $129 = (($lock) + 8|0); - HEAP32[$129>>2] = 1; - } else { - $130 = (($126) + 2)|0; - $131 = (($lock) + 4|0); - HEAP32[$131>>2] = $130; - $132 = (($lock) + 8|0); - HEAP32[$132>>2] = 510; - } - $133 = HEAP32[$pFile>>2]|0; - $134 = (_unixFileLock($133,$lock)|0); - $135 = ($134|0)!=(0); - if ($135) { - $136 = (___errno_location()|0); - $137 = HEAP32[$136>>2]|0; - HEAP32[$tErrno>>2] = $137; - $138 = HEAP32[$tErrno>>2]|0; - $139 = (_sqliteErrorFromPosixError($138,3850)|0); - HEAP32[$rc>>2] = $139; - $140 = HEAP32[$rc>>2]|0; - $141 = ($140|0)!=(5); - if ($141) { - $142 = HEAP32[$tErrno>>2]|0; - $143 = HEAP32[$pFile>>2]|0; - $144 = (($143) + 20|0); - HEAP32[$144>>2] = $142; - } - } - } - } while(0); - $145 = HEAP32[$rc>>2]|0; - $146 = ($145|0)==(0); - $147 = HEAP32[$2>>2]|0; - if ($146) { - $148 = $147&255; - $149 = HEAP32[$pFile>>2]|0; - $150 = (($149) + 16|0); - HEAP8[$150>>0] = $148; - $151 = HEAP32[$2>>2]|0; - $152 = $151&255; - $153 = HEAP32[$pInode>>2]|0; - $154 = (($153) + 12|0); - HEAP8[$154>>0] = $152; - break; - } - $155 = ($147|0)==(4); - if ($155) { - $156 = HEAP32[$pFile>>2]|0; - $157 = (($156) + 16|0); - HEAP8[$157>>0] = 3; - $158 = HEAP32[$pInode>>2]|0; - $159 = (($158) + 12|0); - HEAP8[$159>>0] = 3; - } - } - } while(0); - _unixLeaveMutex(); - $160 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $160; - $161 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($161|0); + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + _sqlite3_result_value($13,$15); + STACKTOP = sp;return; } -function _unixUnlock($id,$eFileLock) { - $id = $id|0; - $eFileLock = $eFileLock|0; +function _sourceidFunc($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $eFileLock; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_posixUnlock($2,$3,0)|0); - STACKTOP = sp;return ($4|0); + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_sourceid()|0); + _sqlite3_result_text($3,$4,-1,0); + STACKTOP = sp;return; } -function _unixCheckReservedLock($id,$pResOut) { - $id = $id|0; - $pResOut = $pResOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0; - var $pFile = 0, $rc = 0, $reserved = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _errlogFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $rc = sp + 32|0; - $reserved = sp + 28|0; - $pFile = sp + 24|0; - $lock = sp + 8|0; - HEAP32[$0>>2] = $id; - HEAP32[$1>>2] = $pResOut; - HEAP32[$rc>>2] = 0; - HEAP32[$reserved>>2] = 0; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pFile>>2] = $2; - _unixEnterMutex(); - $3 = HEAP32[$pFile>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 12|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)>(1); - if ($9) { - HEAP32[$reserved>>2] = 1; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_int($4)|0); + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$vararg_buffer>>2] = $9; + _sqlite3_log($5,14418,$vararg_buffer); + STACKTOP = sp;return; +} +function _compileoptionusedFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $zOptName = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $zOptName = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zOptName>>2] = $5; + $6 = ($5|0)!=(0|0); + if (!($6)) { + STACKTOP = sp;return; } - $10 = HEAP32[$reserved>>2]|0; - $11 = ($10|0)!=(0); - do { - if (!($11)) { - $12 = HEAP32[$pFile>>2]|0; - $13 = (($12) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 13|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - $18 = (($lock) + 2|0); - HEAP16[$18>>1] = 0; - $19 = HEAP32[1128>>2]|0; - $20 = (($19) + 1)|0; - $21 = (($lock) + 4|0); - HEAP32[$21>>2] = $20; - $22 = (($lock) + 8|0); - HEAP32[$22>>2] = 1; - HEAP16[$lock>>1] = 1; - $23 = HEAP32[((37192 + 88|0))>>2]|0; - $24 = HEAP32[$pFile>>2]|0; - $25 = (($24) + 12|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$vararg_buffer>>2] = $lock; - $27 = (FUNCTION_TABLE_iiii[$23 & 31]($26,12,$vararg_buffer)|0); - $28 = ($27|0)!=(0); - if ($28) { - HEAP32[$rc>>2] = 3594; - $29 = (___errno_location()|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$pFile>>2]|0; - $32 = (($31) + 20|0); - HEAP32[$32>>2] = $30; - break; - } - $33 = HEAP16[$lock>>1]|0; - $34 = $33 << 16 >> 16; - $35 = ($34|0)!=(2); - if ($35) { - HEAP32[$reserved>>2] = 1; - } - } - } - } while(0); - _unixLeaveMutex(); - $36 = HEAP32[$reserved>>2]|0; - $37 = HEAP32[$1>>2]|0; - HEAP32[$37>>2] = $36; - $38 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($38|0); + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$zOptName>>2]|0; + $9 = (_sqlite3_compileoption_used($8)|0); + _sqlite3_result_int($7,$9); + STACKTOP = sp;return; } -function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { - $fd = $fd|0; - $iRegion = $iRegion|0; - $szRegion = $szRegion|0; - $bExtend = $bExtend|0; - $pp = $pp|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; +function _compileoptiongetFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $n = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $n = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_int($4)|0); + HEAP32[$n>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$n>>2]|0; + $8 = (_sqlite3_compileoption_get($7)|0); + _sqlite3_result_text($6,$8,-1,0); + STACKTOP = sp;return; +} +function _quoteFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $apNew = 0, $i = 0, $iPg = 0, $nByte = 0, $nMap = 0, $nReqRegion = 0, $nShmPerMap = 0, $or$cond = 0, $p = 0, $pDbFd = 0, $pMem = 0; - var $pShmNode = 0, $rc = 0, $sStat = 0, $zFile = 0, label = 0, sp = 0; + var $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $i1 = 0, $j = 0, $n = 0, $nBlob = 0, $r1 = 0, $r2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var $z = 0, $zArg = 0, $zBlob = 0, $zBuf = 0, $zText = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 148|0; - $1 = sp + 144|0; - $2 = sp + 140|0; - $3 = sp + 136|0; - $4 = sp + 132|0; - $5 = sp + 128|0; - $pDbFd = sp + 124|0; - $p = sp + 120|0; - $pShmNode = sp + 116|0; - $rc = sp + 112|0; - $nShmPerMap = sp + 108|0; - $nReqRegion = sp + 104|0; - $apNew = sp + 100|0; - $nByte = sp + 96|0; - $sStat = sp + 20|0; - $iPg = sp + 16|0; - $zFile = sp + 12|0; - $nMap = sp + 8|0; - $i = sp + 4|0; - $pMem = sp; - HEAP32[$1>>2] = $fd; - HEAP32[$2>>2] = $iRegion; - HEAP32[$3>>2] = $szRegion; - HEAP32[$4>>2] = $bExtend; - HEAP32[$5>>2] = $pp; - $6 = HEAP32[$1>>2]|0; - HEAP32[$pDbFd>>2] = $6; - HEAP32[$rc>>2] = 0; - $7 = (_unixShmRegionPerMap()|0); - HEAP32[$nShmPerMap>>2] = $7; - $8 = HEAP32[$pDbFd>>2]|0; - $9 = (($8) + 36|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $12 = HEAP32[$pDbFd>>2]|0; - $13 = (_unixOpenSharedMemory($12)|0); - HEAP32[$rc>>2] = $13; - $14 = HEAP32[$rc>>2]|0; - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $16; - $188 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($188|0); + STACKTOP = STACKTOP + 144|0; + $vararg_buffer1 = sp + 32|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 48|0; + $1 = sp + 56|0; + $2 = sp + 40|0; + $r1 = sp + 24|0; + $r2 = sp; + $zBuf = sp + 84|0; + $zText = sp + 44|0; + $zBlob = sp + 72|0; + $nBlob = sp + 76|0; + $i = sp + 52|0; + $i1 = sp + 64|0; + $j = sp + 60|0; + $n = sp + 8|0; + $zArg = sp + 68|0; + $z = sp + 80|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + switch ($5|0) { + case 2: { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (+_sqlite3_value_double($7)); + HEAPF64[$r1>>3] = $8; + $9 = +HEAPF64[$r1>>3]; + HEAPF64[$vararg_buffer>>3] = $9; + (_sqlite3_snprintf(50,$zBuf,19997,$vararg_buffer)|0); + (_sqlite3AtoF($zBuf,$r2,20,1)|0); + $10 = +HEAPF64[$r1>>3]; + $11 = +HEAPF64[$r2>>3]; + $12 = $10 != $11; + if ($12) { + $13 = +HEAPF64[$r1>>3]; + HEAPF64[$vararg_buffer1>>3] = $13; + (_sqlite3_snprintf(50,$zBuf,37627,$vararg_buffer1)|0); } + $14 = HEAP32[$0>>2]|0; + _sqlite3_result_text($14,$zBuf,-1,(-1)); + STACKTOP = sp;return; + break; } - $17 = HEAP32[$pDbFd>>2]|0; - $18 = (($17) + 36|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$p>>2] = $19; - $20 = HEAP32[$p>>2]|0; - $21 = HEAP32[$20>>2]|0; - HEAP32[$pShmNode>>2] = $21; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$nShmPerMap>>2]|0; - $24 = (($22) + ($23))|0; - $25 = HEAP32[$nShmPerMap>>2]|0; - $26 = (($24|0) / ($25|0))&-1; - $27 = HEAP32[$nShmPerMap>>2]|0; - $28 = Math_imul($26, $27)|0; - HEAP32[$nReqRegion>>2] = $28; - $29 = HEAP32[$pShmNode>>2]|0; - $30 = (($29) + 20|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = HEAP32[$nReqRegion>>2]|0; - $34 = ($32|0)<($33|0); - L6: do { - if ($34) { - $35 = HEAP32[$nReqRegion>>2]|0; - $36 = HEAP32[$3>>2]|0; - $37 = Math_imul($35, $36)|0; - HEAP32[$nByte>>2] = $37; - $38 = HEAP32[$3>>2]|0; - $39 = HEAP32[$pShmNode>>2]|0; - $40 = (($39) + 16|0); - HEAP32[$40>>2] = $38; - $41 = HEAP32[$pShmNode>>2]|0; - $42 = (($41) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)>=(0); - L8: do { - if ($44) { - $45 = HEAP32[((37192 + 64|0))>>2]|0; - $46 = HEAP32[$pShmNode>>2]|0; - $47 = (($46) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = (FUNCTION_TABLE_iii[$45 & 63]($48,$sStat)|0); - $50 = ($49|0)!=(0); - if ($50) { - HEAP32[$rc>>2] = 4874; - break L6; - } - $51 = (($sStat) + 36|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$nByte>>2]|0; - $54 = ($52|0)<($53|0); - if ($54) { - $55 = HEAP32[$4>>2]|0; - $56 = ($55|0)!=(0); - if (!($56)) { - break L6; - } - $57 = (($sStat) + 36|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58|0) / 4096)&-1; - HEAP32[$iPg>>2] = $59; - while(1) { - $60 = HEAP32[$iPg>>2]|0; - $61 = HEAP32[$nByte>>2]|0; - $62 = (($61|0) / 4096)&-1; - $63 = ($60|0)<($62|0); - if (!($63)) { - break L8; - } - $64 = HEAP32[$pShmNode>>2]|0; - $65 = (($64) + 12|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$iPg>>2]|0; - $68 = $67<<12; - $69 = (($68) + 4096)|0; - $70 = (($69) - 1)|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = (_seekAndWriteFd($66,$70,$72,1216,1,0)|0); - $74 = ($73|0)!=(1); - if ($74) { - break; - } - $80 = HEAP32[$iPg>>2]|0; - $81 = (($80) + 1)|0; - HEAP32[$iPg>>2] = $81; - } - $75 = HEAP32[$pShmNode>>2]|0; - $76 = (($75) + 8|0); - $77 = HEAP32[$76>>2]|0; - HEAP32[$zFile>>2] = $77; - $78 = HEAP32[$zFile>>2]|0; - $79 = (_unixLogErrorAtLine(4874,37616,$78,29258)|0); - HEAP32[$rc>>2] = $79; - break L6; - } - } - } while(0); - $82 = HEAP32[$pShmNode>>2]|0; - $83 = (($82) + 24|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$nReqRegion>>2]|0; - $86 = $85<<2; - $87 = (_sqlite3_realloc($84,$86)|0); - HEAP32[$apNew>>2] = $87; - $88 = HEAP32[$apNew>>2]|0; - $89 = ($88|0)!=(0|0); - if (!($89)) { - HEAP32[$rc>>2] = 3082; + case 1: { + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = HEAP32[$16>>2]|0; + _sqlite3_result_value($15,$17); + STACKTOP = sp;return; + break; + } + case 4: { + HEAP32[$zText>>2] = 0; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_blob($19)|0); + HEAP32[$zBlob>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_value_bytes($22)|0); + HEAP32[$nBlob>>2] = $23; + $24 = HEAP32[$0>>2]|0; + $25 = HEAP32[$nBlob>>2]|0; + $26 = ($25|0)<(0); + $27 = $26 << 31 >> 31; + $28 = (___muldi3(2,0,($25|0),($27|0))|0); + $29 = tempRet0; + $30 = (_i64Add(($28|0),($29|0),4,0)|0); + $31 = tempRet0; + $32 = (_contextMalloc($24,$30,$31)|0); + HEAP32[$zText>>2] = $32; + $33 = HEAP32[$zText>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; + while(1) { + $35 = HEAP32[$i>>2]|0; + $36 = HEAP32[$nBlob>>2]|0; + $37 = ($35|0)<($36|0); + if (!($37)) { break; } - $90 = HEAP32[$apNew>>2]|0; - $91 = HEAP32[$pShmNode>>2]|0; - $92 = (($91) + 24|0); - HEAP32[$92>>2] = $90; - while(1) { - $93 = HEAP32[$pShmNode>>2]|0; - $94 = (($93) + 20|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = HEAP32[$nReqRegion>>2]|0; - $98 = ($96|0)<($97|0); - if (!($98)) { - break L6; - } - $99 = HEAP32[$3>>2]|0; - $100 = HEAP32[$nShmPerMap>>2]|0; - $101 = Math_imul($99, $100)|0; - HEAP32[$nMap>>2] = $101; - $102 = HEAP32[$pShmNode>>2]|0; - $103 = (($102) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)>=(0); - if ($105) { - $106 = HEAP32[((37192 + 256|0))>>2]|0; - $107 = HEAP32[$nMap>>2]|0; - $108 = HEAP32[$pShmNode>>2]|0; - $109 = (($108) + 22|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110&255; - $112 = ($111|0)!=(0); - $113 = $112 ? 1 : 3; - $114 = HEAP32[$pShmNode>>2]|0; - $115 = (($114) + 12|0); - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$3>>2]|0; - $118 = ($117|0)<(0); - $119 = $118 << 31 >> 31; - $120 = HEAP32[$pShmNode>>2]|0; - $121 = (($120) + 20|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122&65535; - $124 = (___muldi3(($117|0),($119|0),($123|0),0)|0); - $125 = tempRet0; - $126 = (FUNCTION_TABLE_iiiiiii[$106 & 1](0,$107,$113,1,$116,$124)|0); - HEAP32[$pMem>>2] = $126; - $127 = HEAP32[$pMem>>2]|0; - $128 = ($127|0)==((-1)|0); - if ($128) { - label = 21; - break; - } - } else { - $133 = HEAP32[$3>>2]|0; - $134 = (_sqlite3_malloc($133)|0); - HEAP32[$pMem>>2] = $134; - $135 = HEAP32[$pMem>>2]|0; - $136 = ($135|0)==(0|0); - if ($136) { - label = 23; - break; - } - $137 = HEAP32[$pMem>>2]|0; - $138 = HEAP32[$3>>2]|0; - _memset(($137|0),0,($138|0))|0; - } - HEAP32[$i>>2] = 0; - while(1) { - $139 = HEAP32[$i>>2]|0; - $140 = HEAP32[$nShmPerMap>>2]|0; - $141 = ($139|0)<($140|0); - if (!($141)) { - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = HEAP32[$i>>2]|0; - $144 = Math_imul($142, $143)|0; - $145 = HEAP32[$pMem>>2]|0; - $146 = (($145) + ($144)|0); - $147 = HEAP32[$pShmNode>>2]|0; - $148 = (($147) + 20|0); - $149 = HEAP16[$148>>1]|0; - $150 = $149&65535; - $151 = HEAP32[$i>>2]|0; - $152 = (($150) + ($151))|0; - $153 = HEAP32[$pShmNode>>2]|0; - $154 = (($153) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($155) + ($152<<2)|0); - HEAP32[$156>>2] = $146; - $157 = HEAP32[$i>>2]|0; - $158 = (($157) + 1)|0; - HEAP32[$i>>2] = $158; - } - $159 = HEAP32[$nShmPerMap>>2]|0; - $160 = HEAP32[$pShmNode>>2]|0; - $161 = (($160) + 20|0); - $162 = HEAP16[$161>>1]|0; - $163 = $162&65535; - $164 = (($163) + ($159))|0; - $165 = $164&65535; - HEAP16[$161>>1] = $165; + $38 = HEAP32[$i>>2]|0; + $39 = HEAP32[$zBlob>>2]|0; + $40 = (($39) + ($38)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 << 24 >> 24; + $43 = $42 >> 4; + $44 = $43 & 15; + $45 = (37634 + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = HEAP32[$i>>2]|0; + $48 = $47<<1; + $49 = (($48) + 2)|0; + $50 = HEAP32[$zText>>2]|0; + $51 = (($50) + ($49)|0); + HEAP8[$51>>0] = $46; + $52 = HEAP32[$i>>2]|0; + $53 = HEAP32[$zBlob>>2]|0; + $54 = (($53) + ($52)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55 << 24 >> 24; + $57 = $56 & 15; + $58 = (37634 + ($57)|0); + $59 = HEAP8[$58>>0]|0; + $60 = HEAP32[$i>>2]|0; + $61 = $60<<1; + $62 = (($61) + 3)|0; + $63 = HEAP32[$zText>>2]|0; + $64 = (($63) + ($62)|0); + HEAP8[$64>>0] = $59; + $65 = HEAP32[$i>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$i>>2] = $66; + } + $67 = HEAP32[$nBlob>>2]|0; + $68 = $67<<1; + $69 = (($68) + 2)|0; + $70 = HEAP32[$zText>>2]|0; + $71 = (($70) + ($69)|0); + HEAP8[$71>>0] = 39; + $72 = HEAP32[$nBlob>>2]|0; + $73 = $72<<1; + $74 = (($73) + 3)|0; + $75 = HEAP32[$zText>>2]|0; + $76 = (($75) + ($74)|0); + HEAP8[$76>>0] = 0; + $77 = HEAP32[$zText>>2]|0; + HEAP8[$77>>0] = 88; + $78 = HEAP32[$zText>>2]|0; + $79 = ((($78)) + 1|0); + HEAP8[$79>>0] = 39; + $80 = HEAP32[$0>>2]|0; + $81 = HEAP32[$zText>>2]|0; + _sqlite3_result_text($80,$81,-1,(-1)); + $82 = HEAP32[$zText>>2]|0; + _sqlite3_free($82); + STACKTOP = sp;return; + break; + } + case 3: { + $83 = HEAP32[$2>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = (_sqlite3_value_text($84)|0); + HEAP32[$zArg>>2] = $85; + $86 = HEAP32[$zArg>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + STACKTOP = sp;return; + } + HEAP32[$i1>>2] = 0; + $88 = $n; + $89 = $88; + HEAP32[$89>>2] = 0; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = 0; + while(1) { + $92 = HEAP32[$i1>>2]|0; + $93 = HEAP32[$zArg>>2]|0; + $94 = (($93) + ($92)|0); + $95 = HEAP8[$94>>0]|0; + $96 = ($95<<24>>24)!=(0); + if (!($96)) { + break; } - if ((label|0) == 21) { - $129 = HEAP32[$pShmNode>>2]|0; - $130 = (($129) + 8|0); - $131 = HEAP32[$130>>2]|0; - $132 = (_unixLogErrorAtLine(5386,37720,$131,29285)|0); - HEAP32[$rc>>2] = $132; + $97 = HEAP32[$i1>>2]|0; + $98 = HEAP32[$zArg>>2]|0; + $99 = (($98) + ($97)|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100&255; + $102 = ($101|0)==(39); + if ($102) { + $103 = $n; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (_i64Add(($105|0),($108|0),1,0)|0); + $110 = tempRet0; + $111 = $n; + $112 = $111; + HEAP32[$112>>2] = $109; + $113 = (($111) + 4)|0; + $114 = $113; + HEAP32[$114>>2] = $110; + } + $115 = HEAP32[$i1>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$i1>>2] = $116; + } + $117 = HEAP32[$0>>2]|0; + $118 = HEAP32[$i1>>2]|0; + $119 = ($118|0)<(0); + $120 = $119 << 31 >> 31; + $121 = $n; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (_i64Add(($118|0),($120|0),($123|0),($126|0))|0); + $128 = tempRet0; + $129 = (_i64Add(($127|0),($128|0),3,0)|0); + $130 = tempRet0; + $131 = (_contextMalloc($117,$129,$130)|0); + HEAP32[$z>>2] = $131; + $132 = HEAP32[$z>>2]|0; + $133 = ($132|0)!=(0|0); + if (!($133)) { + STACKTOP = sp;return; + } + $134 = HEAP32[$z>>2]|0; + HEAP8[$134>>0] = 39; + HEAP32[$i1>>2] = 0; + HEAP32[$j>>2] = 1; + while(1) { + $135 = HEAP32[$i1>>2]|0; + $136 = HEAP32[$zArg>>2]|0; + $137 = (($136) + ($135)|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)!=(0); + if (!($139)) { break; } - else if ((label|0) == 23) { - HEAP32[$rc>>2] = 7; - break; + $140 = HEAP32[$i1>>2]|0; + $141 = HEAP32[$zArg>>2]|0; + $142 = (($141) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = HEAP32[$j>>2]|0; + $145 = (($144) + 1)|0; + HEAP32[$j>>2] = $145; + $146 = HEAP32[$z>>2]|0; + $147 = (($146) + ($144)|0); + HEAP8[$147>>0] = $143; + $148 = HEAP32[$i1>>2]|0; + $149 = HEAP32[$zArg>>2]|0; + $150 = (($149) + ($148)|0); + $151 = HEAP8[$150>>0]|0; + $152 = $151&255; + $153 = ($152|0)==(39); + if ($153) { + $154 = HEAP32[$j>>2]|0; + $155 = (($154) + 1)|0; + HEAP32[$j>>2] = $155; + $156 = HEAP32[$z>>2]|0; + $157 = (($156) + ($154)|0); + HEAP8[$157>>0] = 39; } + $158 = HEAP32[$i1>>2]|0; + $159 = (($158) + 1)|0; + HEAP32[$i1>>2] = $159; } - } while(0); - $166 = HEAP32[$pShmNode>>2]|0; - $167 = (($166) + 20|0); - $168 = HEAP16[$167>>1]|0; - $169 = $168&65535; - $170 = HEAP32[$2>>2]|0; - $171 = ($169|0)>($170|0); - if ($171) { - $172 = HEAP32[$2>>2]|0; - $173 = HEAP32[$pShmNode>>2]|0; - $174 = (($173) + 24|0); - $175 = HEAP32[$174>>2]|0; - $176 = (($175) + ($172<<2)|0); - $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$5>>2]|0; - HEAP32[$178>>2] = $177; - } else { - $179 = HEAP32[$5>>2]|0; - HEAP32[$179>>2] = 0; + $160 = HEAP32[$j>>2]|0; + $161 = (($160) + 1)|0; + HEAP32[$j>>2] = $161; + $162 = HEAP32[$z>>2]|0; + $163 = (($162) + ($160)|0); + HEAP8[$163>>0] = 39; + $164 = HEAP32[$j>>2]|0; + $165 = HEAP32[$z>>2]|0; + $166 = (($165) + ($164)|0); + HEAP8[$166>>0] = 0; + $167 = HEAP32[$0>>2]|0; + $168 = HEAP32[$z>>2]|0; + $169 = HEAP32[$j>>2]|0; + _sqlite3_result_text($167,$168,$169,13); + STACKTOP = sp;return; + break; + } + default: { + $170 = HEAP32[$0>>2]|0; + _sqlite3_result_text($170,30955,4,0); + STACKTOP = sp;return; } - $180 = HEAP32[$pShmNode>>2]|0; - $181 = (($180) + 22|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = ($183|0)!=(0); - $185 = HEAP32[$rc>>2]|0; - $186 = ($185|0)==(0); - $or$cond = $184 & $186; - if ($or$cond) { - HEAP32[$rc>>2] = 8; } - $187 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $187; - $188 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($188|0); } -function _unixOpenSharedMemory($pDbFd) { - $pDbFd = $pDbFd|0; +function _last_insert_rowid($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $db = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$db>>2]|0; + $7 = (_sqlite3_last_insert_rowid($6)|0); + $8 = tempRet0; + _sqlite3_result_int64($5,$7,$8); + STACKTOP = sp;return; +} +function _changes($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$db>>2]|0; + $7 = (_sqlite3_changes($6)|0); + _sqlite3_result_int($5,$7); + STACKTOP = sp;return; +} +function _total_changes($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$db>>2]|0; + $7 = (_sqlite3_total_changes($6)|0); + _sqlite3_result_int($5,$7); + STACKTOP = sp;return; +} +function _replaceFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nShmFilename = 0, $openFlags = 0, $p = 0, $pInode = 0; - var $pShmNode = 0, $rc = 0, $sStat = 0, $vararg_buffer = 0, $zShmFilename = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $loopLimit = 0, $nOut = 0, $nPattern = 0, $nRep = 0, $nStr = 0; + var $zOld = 0, $zOut = 0, $zPattern = 0, $zRep = 0, $zStr = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer = sp; - $0 = sp + 112|0; - $1 = sp + 108|0; - $p = sp + 104|0; - $pShmNode = sp + 100|0; - $rc = sp + 96|0; - $pInode = sp + 92|0; - $zShmFilename = sp + 88|0; - $nShmFilename = sp + 84|0; - $sStat = sp + 8|0; - $openFlags = sp + 4|0; - HEAP32[$1>>2] = $pDbFd; - HEAP32[$p>>2] = 0; - $2 = (_sqlite3_malloc(16)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$0>>2] = 7; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); + STACKTOP = STACKTOP + 80|0; + $0 = sp + 36|0; + $1 = sp + 24|0; + $2 = sp + 48|0; + $zStr = sp + 56|0; + $zPattern = sp + 20|0; + $zRep = sp + 44|0; + $zOut = sp + 52|0; + $nStr = sp + 60|0; + $nPattern = sp + 64|0; + $nRep = sp + 40|0; + $nOut = sp; + $loopLimit = sp + 28|0; + $i = sp + 32|0; + $j = sp + 8|0; + $zOld = sp + 12|0; + $db = sp + 16|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zStr>>2] = $5; + $6 = HEAP32[$zStr>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return; } - $5 = HEAP32[$p>>2]|0; - ;HEAP32[$5+0>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0; - _unixEnterMutex(); - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$pInode>>2] = $8; - $9 = HEAP32[$pInode>>2]|0; - $10 = (($9) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pShmNode>>2] = $11; - $12 = HEAP32[$pShmNode>>2]|0; - $13 = ($12|0)==(0|0); - L5: do { - if ($13) { - $14 = HEAP32[((37192 + 64|0))>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = (($15) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = (FUNCTION_TABLE_iii[$14 & 63]($17,$sStat)|0); - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$pInode>>2]|0; - $21 = (($20) + 13|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = ($23|0)==(0); - if ($24) { - HEAP32[$rc>>2] = 1802; - } else { - label = 7; - } + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3_value_bytes($9)|0); + HEAP32[$nStr>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_text($13)|0); + HEAP32[$zPattern>>2] = $14; + $15 = HEAP32[$zPattern>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + STACKTOP = sp;return; + } + $17 = HEAP32[$zPattern>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(0); + if ($20) { + $21 = HEAP32[$0>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + _sqlite3_result_value($21,$23); + STACKTOP = sp;return; + } + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_bytes($26)|0); + HEAP32[$nPattern>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_text($30)|0); + HEAP32[$zRep>>2] = $31; + $32 = HEAP32[$zRep>>2]|0; + $33 = ($32|0)==(0|0); + if ($33) { + STACKTOP = sp;return; + } + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3_value_bytes($36)|0); + HEAP32[$nRep>>2] = $37; + $38 = HEAP32[$nStr>>2]|0; + $39 = (($38) + 1)|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = $nOut; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = HEAP32[$0>>2]|0; + $47 = $nOut; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (_contextMalloc($46,$49,$52)|0); + HEAP32[$zOut>>2] = $53; + $54 = HEAP32[$zOut>>2]|0; + $55 = ($54|0)==(0|0); + if ($55) { + STACKTOP = sp;return; + } + $56 = HEAP32[$nStr>>2]|0; + $57 = HEAP32[$nPattern>>2]|0; + $58 = (($56) - ($57))|0; + HEAP32[$loopLimit>>2] = $58; + HEAP32[$j>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $59 = HEAP32[$i>>2]|0; + $60 = HEAP32[$loopLimit>>2]|0; + $61 = ($59|0)<=($60|0); + if (!($61)) { + label = 18; + break; + } + $62 = HEAP32[$i>>2]|0; + $63 = HEAP32[$zStr>>2]|0; + $64 = (($63) + ($62)|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = HEAP32[$zPattern>>2]|0; + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = ($66|0)!=($69|0); + if ($70) { + label = 11; + } else { + $71 = HEAP32[$i>>2]|0; + $72 = HEAP32[$zStr>>2]|0; + $73 = (($72) + ($71)|0); + $74 = HEAP32[$zPattern>>2]|0; + $75 = HEAP32[$nPattern>>2]|0; + $76 = (_memcmp($73,$74,$75)|0); + $77 = ($76|0)!=(0); + if ($77) { + label = 11; } else { - label = 7; - } - do { - if ((label|0) == 7) { - $25 = HEAP32[$1>>2]|0; - $26 = (($25) + 32|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_strlen(($27|0))|0); - $29 = (6 + ($28))|0; - HEAP32[$nShmFilename>>2] = $29; - $30 = HEAP32[$nShmFilename>>2]|0; - $31 = (36 + ($30))|0; - $32 = (_sqlite3_malloc($31)|0); - HEAP32[$pShmNode>>2] = $32; - $33 = HEAP32[$pShmNode>>2]|0; - $34 = ($33|0)==(0|0); - if ($34) { - HEAP32[$rc>>2] = 7; - break; - } - $35 = HEAP32[$pShmNode>>2]|0; - $36 = HEAP32[$nShmFilename>>2]|0; - $37 = (36 + ($36))|0; - _memset(($35|0),0,($37|0))|0; - $38 = HEAP32[$pShmNode>>2]|0; - $39 = (($38) + 36|0); - $40 = HEAP32[$pShmNode>>2]|0; - $41 = (($40) + 8|0); - HEAP32[$41>>2] = $39; - HEAP32[$zShmFilename>>2] = $39; - $42 = HEAP32[$nShmFilename>>2]|0; - $43 = HEAP32[$zShmFilename>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = (($44) + 32|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$vararg_buffer>>2] = $46; - (_sqlite3_snprintf($42,$43,38360,$vararg_buffer)|0); - $47 = HEAP32[$pShmNode>>2]|0; - $48 = (($47) + 12|0); - HEAP32[$48>>2] = -1; - $49 = HEAP32[$pShmNode>>2]|0; - $50 = HEAP32[$1>>2]|0; - $51 = (($50) + 8|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + 20|0); - HEAP32[$53>>2] = $49; - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$pShmNode>>2]|0; - HEAP32[$57>>2] = $56; - $58 = HEAP32[$pShmNode>>2]|0; - $59 = (($58) + 4|0); - HEAP32[$59>>2] = (8); - $60 = HEAP32[$pShmNode>>2]|0; - $61 = (($60) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if ($63) { - HEAP32[$rc>>2] = 7; - break; - } - $64 = HEAP32[$pInode>>2]|0; - $65 = (($64) + 13|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = ($67|0)==(0); - if (!($68)) { - break L5; - } - HEAP32[$openFlags>>2] = 66; - $69 = HEAP32[$1>>2]|0; - $70 = (($69) + 32|0); - $71 = HEAP32[$70>>2]|0; - $72 = (_sqlite3_uri_boolean($71,38368,0)|0); - $73 = ($72|0)!=(0); - if ($73) { - HEAP32[$openFlags>>2] = 0; - $74 = HEAP32[$pShmNode>>2]|0; - $75 = (($74) + 22|0); - HEAP8[$75>>0] = 1; - } - $76 = HEAP32[$zShmFilename>>2]|0; - $77 = HEAP32[$openFlags>>2]|0; - $78 = (($sStat) + 12|0); - $79 = HEAP32[$78>>2]|0; - $80 = $79 & 511; - $81 = (_robust_open($76,$77,$80)|0); - $82 = HEAP32[$pShmNode>>2]|0; - $83 = (($82) + 12|0); - HEAP32[$83>>2] = $81; - $84 = HEAP32[$pShmNode>>2]|0; - $85 = (($84) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)<(0); - if ($87) { - $88 = (_sqlite3CantopenError(29111)|0); - $89 = HEAP32[$zShmFilename>>2]|0; - $90 = (_unixLogErrorAtLine($88,37536,$89,29111)|0); - HEAP32[$rc>>2] = $90; - break; - } - $91 = HEAP32[((37192 + 244|0))>>2]|0; - $92 = HEAP32[$pShmNode>>2]|0; - $93 = (($92) + 12|0); - $94 = HEAP32[$93>>2]|0; - $95 = (($sStat) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = (($sStat) + 24|0); - $98 = HEAP32[$97>>2]|0; - (FUNCTION_TABLE_iiii[$91 & 31]($94,$96,$98)|0); - HEAP32[$rc>>2] = 0; - $99 = HEAP32[$pShmNode>>2]|0; - $100 = (_unixShmSystemLock($99,1,128,1)|0); - $101 = ($100|0)==(0); - if ($101) { - $102 = HEAP32[$pShmNode>>2]|0; - $103 = (($102) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = (_robust_ftruncate($104,0,0)|0); - $106 = ($105|0)!=(0); - if ($106) { - $107 = HEAP32[$zShmFilename>>2]|0; - $108 = (_unixLogErrorAtLine(4618,37568,$107,29127)|0); - HEAP32[$rc>>2] = $108; - } - } - $109 = HEAP32[$rc>>2]|0; - $110 = ($109|0)==(0); - if ($110) { - $111 = HEAP32[$pShmNode>>2]|0; - $112 = (_unixShmSystemLock($111,0,128,1)|0); - HEAP32[$rc>>2] = $112; - } - $113 = HEAP32[$rc>>2]|0; - $114 = ($113|0)!=(0); - if (!($114)) { - break L5; - } + $86 = HEAP32[$0>>2]|0; + $87 = (_sqlite3_context_db_handle($86)|0); + HEAP32[$db>>2] = $87; + $88 = HEAP32[$nRep>>2]|0; + $89 = HEAP32[$nPattern>>2]|0; + $90 = (($88) - ($89))|0; + $91 = ($90|0)<(0); + $92 = $91 << 31 >> 31; + $93 = $nOut; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (_i64Add(($95|0),($98|0),($90|0),($92|0))|0); + $100 = tempRet0; + $101 = $nOut; + $102 = $101; + HEAP32[$102>>2] = $99; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + $105 = $nOut; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (_i64Subtract(($107|0),($110|0),1,0)|0); + $112 = tempRet0; + $113 = HEAP32[$db>>2]|0; + $114 = ((($113)) + 88|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)<(0); + $117 = $116 << 31 >> 31; + $118 = ($112|0)>($117|0); + $119 = ($111>>>0)>($115>>>0); + $120 = ($112|0)==($117|0); + $121 = $120 & $119; + $122 = $118 | $121; + if ($122) { + label = 13; + break; } - } while(0); - $132 = HEAP32[$1>>2]|0; - _unixShmPurge($132); - $133 = HEAP32[$p>>2]|0; - _sqlite3_free($133); - _unixLeaveMutex(); - $134 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $134; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); - } - } while(0); - $115 = HEAP32[$pShmNode>>2]|0; - $116 = HEAP32[$p>>2]|0; - HEAP32[$116>>2] = $115; - $117 = HEAP32[$pShmNode>>2]|0; - $118 = (($117) + 28|0); - $119 = HEAP32[$118>>2]|0; - $120 = (($119) + 1)|0; - HEAP32[$118>>2] = $120; - $121 = HEAP32[$p>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = (($122) + 36|0); - HEAP32[$123>>2] = $121; - _unixLeaveMutex(); - $124 = HEAP32[$pShmNode>>2]|0; - $125 = (($124) + 32|0); - $126 = HEAP32[$125>>2]|0; - $127 = HEAP32[$p>>2]|0; - $128 = (($127) + 4|0); - HEAP32[$128>>2] = $126; - $129 = HEAP32[$p>>2]|0; - $130 = HEAP32[$pShmNode>>2]|0; - $131 = (($130) + 32|0); - HEAP32[$131>>2] = $129; - HEAP32[$0>>2] = 0; - $135 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($135|0); -} -function _posixUnlock($id,$eFileLock,$handleNFSUnlock) { - $id = $id|0; - $eFileLock = $eFileLock|0; - $handleNFSUnlock = $handleNFSUnlock|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $lock = 0, $pFile = 0, $pInode = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $pFile = sp + 28|0; - $pInode = sp + 24|0; - $lock = sp + 8|0; - $rc = sp; - HEAP32[$1>>2] = $id; - HEAP32[$2>>2] = $eFileLock; - HEAP32[$3>>2] = $handleNFSUnlock; - $4 = HEAP32[$1>>2]|0; - HEAP32[$pFile>>2] = $4; - HEAP32[$rc>>2] = 0; - $5 = HEAP32[$pFile>>2]|0; - $6 = (($5) + 16|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = ($8|0)<=($9|0); - if ($10) { - HEAP32[$0>>2] = 0; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); - } - _unixEnterMutex(); - $11 = HEAP32[$pFile>>2]|0; - $12 = (($11) + 8|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pInode>>2] = $13; - $14 = HEAP32[$pFile>>2]|0; - $15 = (($14) + 16|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)>(1); - do { - if ($18) { - $19 = HEAP32[$2>>2]|0; - $20 = ($19|0)==(1); - if ($20) { - HEAP16[$lock>>1] = 0; - $21 = (($lock) + 2|0); - HEAP16[$21>>1] = 0; - $22 = HEAP32[1128>>2]|0; - $23 = (($22) + 2)|0; - $24 = (($lock) + 4|0); - HEAP32[$24>>2] = $23; - $25 = (($lock) + 8|0); - HEAP32[$25>>2] = 510; - $26 = HEAP32[$pFile>>2]|0; - $27 = (_unixFileLock($26,$lock)|0); - $28 = ($27|0)!=(0); - if ($28) { - HEAP32[$rc>>2] = 2314; - $29 = (___errno_location()|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$pFile>>2]|0; - $32 = (($31) + 20|0); - HEAP32[$32>>2] = $30; + $125 = HEAP32[$zOut>>2]|0; + HEAP32[$zOld>>2] = $125; + $126 = HEAP32[$zOut>>2]|0; + $127 = $nOut; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (_sqlite3_realloc($126,$129)|0); + HEAP32[$zOut>>2] = $133; + $134 = HEAP32[$zOut>>2]|0; + $135 = ($134|0)==(0|0); + if ($135) { + label = 15; break; } + $138 = HEAP32[$j>>2]|0; + $139 = HEAP32[$zOut>>2]|0; + $140 = (($139) + ($138)|0); + $141 = HEAP32[$zRep>>2]|0; + $142 = HEAP32[$nRep>>2]|0; + _memcpy(($140|0),($141|0),($142|0))|0; + $143 = HEAP32[$nRep>>2]|0; + $144 = HEAP32[$j>>2]|0; + $145 = (($144) + ($143))|0; + HEAP32[$j>>2] = $145; + $146 = HEAP32[$nPattern>>2]|0; + $147 = (($146) - 1)|0; + $148 = HEAP32[$i>>2]|0; + $149 = (($148) + ($147))|0; + HEAP32[$i>>2] = $149; } - HEAP16[$lock>>1] = 2; - $33 = (($lock) + 2|0); - HEAP16[$33>>1] = 0; - $34 = HEAP32[1128>>2]|0; - $35 = (($lock) + 4|0); - HEAP32[$35>>2] = $34; - $36 = (($lock) + 8|0); - HEAP32[$36>>2] = 2; - $37 = HEAP32[$pFile>>2]|0; - $38 = (_unixFileLock($37,$lock)|0); - $39 = ($38|0)==(0); - if ($39) { - $40 = HEAP32[$pInode>>2]|0; - $41 = (($40) + 12|0); - HEAP8[$41>>0] = 1; - label = 10; - break; - } else { - HEAP32[$rc>>2] = 2058; - $42 = (___errno_location()|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$pFile>>2]|0; - $45 = (($44) + 20|0); - HEAP32[$45>>2] = $43; - break; - } - } else { - label = 10; } - } while(0); - if ((label|0) == 10) { - $46 = HEAP32[$2>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - $48 = HEAP32[$pInode>>2]|0; - $49 = (($48) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + -1)|0; - HEAP32[$49>>2] = $51; - $52 = HEAP32[$pInode>>2]|0; - $53 = (($52) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0); - do { - if ($55) { - HEAP16[$lock>>1] = 2; - $56 = (($lock) + 2|0); - HEAP16[$56>>1] = 0; - $57 = (($lock) + 8|0); - HEAP32[$57>>2] = 0; - $58 = (($lock) + 4|0); - HEAP32[$58>>2] = 0; - $59 = HEAP32[$pFile>>2]|0; - $60 = (_unixFileLock($59,$lock)|0); - $61 = ($60|0)==(0); - if ($61) { - $62 = HEAP32[$pInode>>2]|0; - $63 = (($62) + 12|0); - HEAP8[$63>>0] = 0; - break; - } else { - HEAP32[$rc>>2] = 2058; - $64 = (___errno_location()|0); - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$pFile>>2]|0; - $67 = (($66) + 20|0); - HEAP32[$67>>2] = $65; - $68 = HEAP32[$pInode>>2]|0; - $69 = (($68) + 12|0); - HEAP8[$69>>0] = 0; - $70 = HEAP32[$pFile>>2]|0; - $71 = (($70) + 16|0); - HEAP8[$71>>0] = 0; - break; - } - } - } while(0); - $72 = HEAP32[$pInode>>2]|0; - $73 = (($72) + 24|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($74) + -1)|0; - HEAP32[$73>>2] = $75; - $76 = HEAP32[$pInode>>2]|0; - $77 = (($76) + 24|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==(0); - if ($79) { - $80 = HEAP32[$pFile>>2]|0; - _closePendingFds($80); - } + if ((label|0) == 11) { + label = 0; + $78 = HEAP32[$i>>2]|0; + $79 = HEAP32[$zStr>>2]|0; + $80 = (($79) + ($78)|0); + $81 = HEAP8[$80>>0]|0; + $82 = HEAP32[$j>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$j>>2] = $83; + $84 = HEAP32[$zOut>>2]|0; + $85 = (($84) + ($82)|0); + HEAP8[$85>>0] = $81; } + $150 = HEAP32[$i>>2]|0; + $151 = (($150) + 1)|0; + HEAP32[$i>>2] = $151; } - _unixLeaveMutex(); - $81 = HEAP32[$rc>>2]|0; - $82 = ($81|0)==(0); - if ($82) { - $83 = HEAP32[$2>>2]|0; - $84 = $83&255; - $85 = HEAP32[$pFile>>2]|0; - $86 = (($85) + 16|0); - HEAP8[$86>>0] = $84; + if ((label|0) == 13) { + $123 = HEAP32[$0>>2]|0; + _sqlite3_result_error_toobig($123); + $124 = HEAP32[$zOut>>2]|0; + _sqlite3_free($124); + STACKTOP = sp;return; + } + else if ((label|0) == 15) { + $136 = HEAP32[$0>>2]|0; + _sqlite3_result_error_nomem($136); + $137 = HEAP32[$zOld>>2]|0; + _sqlite3_free($137); + STACKTOP = sp;return; + } + else if ((label|0) == 18) { + $152 = HEAP32[$j>>2]|0; + $153 = HEAP32[$zOut>>2]|0; + $154 = (($153) + ($152)|0); + $155 = HEAP32[$i>>2]|0; + $156 = HEAP32[$zStr>>2]|0; + $157 = (($156) + ($155)|0); + $158 = HEAP32[$nStr>>2]|0; + $159 = HEAP32[$i>>2]|0; + $160 = (($158) - ($159))|0; + _memcpy(($154|0),($157|0),($160|0))|0; + $161 = HEAP32[$nStr>>2]|0; + $162 = HEAP32[$i>>2]|0; + $163 = (($161) - ($162))|0; + $164 = HEAP32[$j>>2]|0; + $165 = (($164) + ($163))|0; + HEAP32[$j>>2] = $165; + $166 = HEAP32[$j>>2]|0; + $167 = HEAP32[$zOut>>2]|0; + $168 = (($167) + ($166)|0); + HEAP8[$168>>0] = 0; + $169 = HEAP32[$0>>2]|0; + $170 = HEAP32[$zOut>>2]|0; + $171 = HEAP32[$j>>2]|0; + _sqlite3_result_text($169,$170,$171,13); + STACKTOP = sp;return; } - $87 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $87; - $88 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($88|0); } -function _unixFileLock($pFile,$pLock) { - $pFile = $pFile|0; - $pLock = $pLock|0; +function _zeroblobFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0, $pInode = 0, $rc = 0, $vararg_buffer1 = 0, label = 0; - var sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer1 = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $rc = sp + 28|0; - $pInode = sp + 24|0; - $lock = sp + 8|0; - HEAP32[$1>>2] = $pFile; - HEAP32[$2>>2] = $pLock; - $3 = HEAP32[$1>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$pInode>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + 18|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8&65535; - $10 = $9 & 1; - $11 = ($10|0)!=(0); - if ($11) { - label = 3; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $n = sp; + $db = sp + 8|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3_value_int64($6)|0); + $8 = tempRet0; + $9 = $n; + $10 = $9; + HEAP32[$10>>2] = $7; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $8; + $13 = $n; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$db>>2]|0; + $20 = ((($19)) + 88|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)<(0); + $23 = $22 << 31 >> 31; + $24 = ($18|0)>($23|0); + $25 = ($15>>>0)>($21>>>0); + $26 = ($18|0)==($23|0); + $27 = $26 & $25; + $28 = $24 | $27; + $29 = HEAP32[$0>>2]|0; + if ($28) { + _sqlite3_result_error_toobig($29); + STACKTOP = sp;return; } else { - $12 = HEAP32[$pInode>>2]|0; - $13 = (($12) + 13|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)!=(0); - if ($16) { - label = 3; - } else { - label = 9; - } + $30 = $n; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + _sqlite3_result_zeroblob($29,$32); + STACKTOP = sp;return; } - do { - if ((label|0) == 3) { - $17 = HEAP32[$1>>2]|0; - $18 = (($17) + 18|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 & 2; - $22 = ($21|0)==(0); - if ($22) { - $23 = HEAP32[$pInode>>2]|0; - $24 = (($23) + 13|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = ($26|0)==(0); - if (!($27)) { - HEAP32[$rc>>2] = 0; - break; - } - $28 = (($lock) + 2|0); - HEAP16[$28>>1] = 0; - $29 = HEAP32[1128>>2]|0; - $30 = (($29) + 2)|0; - $31 = (($lock) + 4|0); - HEAP32[$31>>2] = $30; - $32 = (($lock) + 8|0); - HEAP32[$32>>2] = 510; - HEAP16[$lock>>1] = 1; - $33 = HEAP32[((37192 + 88|0))>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = (($34) + 12|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$vararg_buffer1>>2] = $lock; - $37 = (FUNCTION_TABLE_iiii[$33 & 31]($36,13,$vararg_buffer1)|0); - HEAP32[$rc>>2] = $37; - $38 = HEAP32[$rc>>2]|0; - $39 = ($38|0)<(0); - if (!($39)) { - $41 = HEAP32[$pInode>>2]|0; - $42 = (($41) + 13|0); - HEAP8[$42>>0] = 1; - $43 = HEAP32[$pInode>>2]|0; - $44 = (($43) + 24|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$44>>2] = $46; - break; - } - $40 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $40; - $54 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($54|0); - } else { - label = 9; - } - } - } while(0); - if ((label|0) == 9) { - $47 = HEAP32[((37192 + 88|0))>>2]|0; - $48 = HEAP32[$1>>2]|0; - $49 = (($48) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer1>>2] = $51; - $52 = (FUNCTION_TABLE_iiii[$47 & 31]($50,13,$vararg_buffer1)|0); - HEAP32[$rc>>2] = $52; +} +function _sumStep($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $type = 0, $v = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $p = sp + 12|0; + $type = sp + 8|0; + $v = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_aggregate_context($3,32)|0); + HEAP32[$p>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3_value_numeric_type($6)|0); + HEAP32[$type>>2] = $7; + $8 = HEAP32[$p>>2]|0; + $9 = ($8|0)!=(0|0); + $10 = HEAP32[$type>>2]|0; + $11 = ($10|0)!=(5); + $or$cond = $9 & $11; + if (!($or$cond)) { + STACKTOP = sp;return; } - $53 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $53; - $54 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($54|0); + $12 = HEAP32[$p>>2]|0; + $13 = ((($12)) + 16|0); + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_i64Add(($16|0),($19|0),1,0)|0); + $21 = tempRet0; + $22 = $13; + $23 = $22; + HEAP32[$23>>2] = $20; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + $26 = HEAP32[$type>>2]|0; + $27 = ($26|0)==(1); + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$28>>2]|0; + if (!($27)) { + $68 = (+_sqlite3_value_double($29)); + $69 = HEAP32[$p>>2]|0; + $70 = +HEAPF64[$69>>3]; + $71 = $70 + $68; + HEAPF64[$69>>3] = $71; + $72 = HEAP32[$p>>2]|0; + $73 = ((($72)) + 25|0); + HEAP8[$73>>0] = 1; + STACKTOP = sp;return; + } + $30 = (_sqlite3_value_int64($29)|0); + $31 = tempRet0; + $32 = $v; + $33 = $32; + HEAP32[$33>>2] = $30; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = $31; + $36 = $v; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (+($38>>>0)) + (4294967296.0*(+($41|0))); + $43 = HEAP32[$p>>2]|0; + $44 = +HEAPF64[$43>>3]; + $45 = $44 + $42; + HEAPF64[$43>>3] = $45; + $46 = HEAP32[$p>>2]|0; + $47 = ((($46)) + 25|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = HEAP32[$p>>2]|0; + $51 = ((($50)) + 24|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $49 | $53; + $55 = ($54|0)==(0); + if (!($55)) { + STACKTOP = sp;return; + } + $56 = HEAP32[$p>>2]|0; + $57 = ((($56)) + 8|0); + $58 = $v; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3AddInt64($57,$60,$63)|0); + $65 = ($64|0)!=(0); + if (!($65)) { + STACKTOP = sp;return; + } + $66 = HEAP32[$p>>2]|0; + $67 = ((($66)) + 24|0); + HEAP8[$67>>0] = 1; + STACKTOP = sp;return; } -function _closePendingFds($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0; - var $pInode = 0, $pNext = 0, label = 0, sp = 0; +function _sumFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $pInode = sp + 8|0; - $p = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $pFile; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pInode>>2] = $3; - $4 = HEAP32[$pInode>>2]|0; - $5 = (($4) + 28|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - while(1) { - $7 = HEAP32[$p>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - break; - } - $9 = HEAP32[$p>>2]|0; - $10 = (($9) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pNext>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$p>>2]|0; - $14 = HEAP32[$13>>2]|0; - _robust_close($12,$14,25997); - $15 = HEAP32[$p>>2]|0; - _sqlite3_free($15); - $16 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $16; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + $5 = HEAP32[$p>>2]|0; + $6 = ((($5)) + 16|0); + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)>(0); + $14 = ($9>>>0)>(0); + $15 = ($12|0)==(0); + $16 = $15 & $14; + $17 = $13 | $16; + if (!($17)) { + STACKTOP = sp;return; + } + $18 = HEAP32[$p>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); + if ($21) { + $22 = HEAP32[$0>>2]|0; + _sqlite3_result_error($22,37610,-1); + STACKTOP = sp;return; + } + $23 = HEAP32[$p>>2]|0; + $24 = ((($23)) + 25|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)!=(0); + $27 = HEAP32[$0>>2]|0; + $28 = HEAP32[$p>>2]|0; + if ($26) { + $29 = +HEAPF64[$28>>3]; + _sqlite3_result_double($27,$29); + STACKTOP = sp;return; + } else { + $30 = ((($28)) + 8|0); + $31 = $30; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + _sqlite3_result_int64($27,$33,$36); + STACKTOP = sp;return; } - $17 = HEAP32[$pInode>>2]|0; - $18 = (($17) + 28|0); - HEAP32[$18>>2] = 0; - STACKTOP = sp;return; } -function _setPendingFd($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0; - var $pInode = 0, label = 0, sp = 0; +function _totalFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pInode = sp + 4|0; + $0 = sp + 4|0; $p = sp; - HEAP32[$0>>2] = $pFile; + HEAP32[$0>>2] = $context; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pInode>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = (($4) + 28|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - $7 = HEAP32[$pInode>>2]|0; - $8 = (($7) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$p>>2]|0; - $11 = (($10) + 8|0); - HEAP32[$11>>2] = $9; - $12 = HEAP32[$p>>2]|0; - $13 = HEAP32[$pInode>>2]|0; - $14 = (($13) + 28|0); - HEAP32[$14>>2] = $12; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + 12|0); - HEAP32[$16>>2] = -1; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) + 28|0); - HEAP32[$18>>2] = 0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$p>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $8 = 0.0; + _sqlite3_result_double($3,$8); + STACKTOP = sp;return; + } + $6 = HEAP32[$p>>2]|0; + $7 = +HEAPF64[$6>>3]; + $8 = $7; + _sqlite3_result_double($3,$8); STACKTOP = sp;return; } -function _releaseInodeInfo($pFile) { - $pFile = $pFile|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pInode = 0, label = 0; - var sp = 0; +function _avgFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $pInode = sp; - HEAP32[$0>>2] = $pFile; + $p = sp; + HEAP32[$0>>2] = $context; $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 8|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pInode>>2] = $3; - $4 = HEAP32[$pInode>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { STACKTOP = sp;return; } - $6 = HEAP32[$pInode>>2]|0; - $7 = (($6) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + -1)|0; - HEAP32[$7>>2] = $9; - $10 = HEAP32[$pInode>>2]|0; - $11 = (($10) + 16|0); + $5 = HEAP32[$p>>2]|0; + $6 = ((($5)) + 16|0); + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { + $13 = ($12|0)>(0); + $14 = ($9>>>0)>(0); + $15 = ($12|0)==(0); + $16 = $15 & $14; + $17 = $13 | $16; + if (!($17)) { STACKTOP = sp;return; } - $14 = HEAP32[$0>>2]|0; - _closePendingFds($14); - $15 = HEAP32[$pInode>>2]|0; - $16 = (($15) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)!=(0|0); - $19 = HEAP32[$pInode>>2]|0; - $20 = (($19) + 32|0); - $21 = HEAP32[$20>>2]|0; - if ($18) { - $22 = HEAP32[$pInode>>2]|0; - $23 = (($22) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + 32|0); - HEAP32[$25>>2] = $21; - } else { - HEAP32[38352>>2] = $21; - } - $26 = HEAP32[$pInode>>2]|0; - $27 = (($26) + 32|0); + $18 = HEAP32[$0>>2]|0; + $19 = HEAP32[$p>>2]|0; + $20 = +HEAPF64[$19>>3]; + $21 = HEAP32[$p>>2]|0; + $22 = ((($21)) + 16|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$pInode>>2]|0; - $31 = (($30) + 36|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$pInode>>2]|0; - $34 = (($33) + 32|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + 36|0); - HEAP32[$36>>2] = $32; - } - $37 = HEAP32[$pInode>>2]|0; - _sqlite3_free($37); + $29 = (+($25>>>0)) + (4294967296.0*(+($28|0))); + $30 = $20 / $29; + _sqlite3_result_double($18,$30); STACKTOP = sp;return; } -function _posixIoFinderImpl($z,$p) { - $z = $z|0; - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $z; - HEAP32[$1>>2] = $p; - STACKTOP = sp;return (38144|0); -} -function _getIntArg($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _countStep($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; + $0 = sp + 12|0; $1 = sp + 8|0; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<=($6|0); - if ($7) { - $8 = $0; - $9 = $8; - HEAP32[$9>>2] = 0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = 0; - $27 = $0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - tempRet0 = $32; - STACKTOP = sp;return ($29|0); + $2 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_aggregate_context($3,8)|0); + HEAP32[$p>>2] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$old = HEAP32[$p>>2]|0; + $$old1 = ($$old|0)!=(0|0); + if (!($$old1)) { + STACKTOP = sp;return; + } } else { - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + 1)|0; - HEAP32[$13>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + ($14<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_int64($20)|0); - $22 = tempRet0; - $23 = $0; - $24 = $23; - HEAP32[$24>>2] = $21; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = $0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - tempRet0 = $32; - STACKTOP = sp;return ($29|0); + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_type($8)|0); + $10 = (5)!=($9|0); + $11 = HEAP32[$p>>2]|0; + $12 = ($11|0)!=(0|0); + $or$cond = $10 & $12; + if (!($or$cond)) { + STACKTOP = sp;return; + } } - return 0|0; + $13 = HEAP32[$p>>2]|0; + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_i64Add(($16|0),($19|0),1,0)|0); + $21 = tempRet0; + $22 = $13; + $23 = $22; + HEAP32[$23>>2] = $20; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + STACKTOP = sp;return; } -function _getDoubleArg($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; +function _countFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - $1 = sp + 8|0; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<=($6|0); - if ($7) { - HEAPF64[$0>>3] = 0.0; - $18 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$18); - } else { - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($10<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+_sqlite3_value_double($16)); - HEAPF64[$0>>3] = $17; - $18 = +HEAPF64[$0>>3]; - STACKTOP = sp;return (+$18); + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$p>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $13 = 0;$14 = 0; + _sqlite3_result_int64($3,$13,$14); + STACKTOP = sp;return; } - return +0; + $6 = HEAP32[$p>>2]|0; + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $9;$14 = $12; + _sqlite3_result_int64($3,$13,$14); + STACKTOP = sp;return; } -function _et_getdigit($val,$cnt) { - $val = $val|0; - $cnt = $cnt|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $d = 0, $digit = 0, label = 0, sp = 0; +function _groupConcatStep($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $firstTerm = 0, $nSep = 0, $nVal = 0, $pAccum = 0, $zSep = 0; + var $zVal = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp; $1 = sp + 16|0; - $2 = sp + 12|0; - $digit = sp + 8|0; - $d = sp; - HEAP32[$1>>2] = $val; - HEAP32[$2>>2] = $cnt; + $2 = sp + 28|0; + $zVal = sp + 4|0; + $pAccum = sp + 32|0; + $zSep = sp + 36|0; + $nVal = sp + 12|0; + $nSep = sp + 24|0; + $db = sp + 20|0; + $firstTerm = sp + 8|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<=(0); - if ($5) { - HEAP8[$0>>0] = 48; - $24 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($24|0); - } else { - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -1)|0; - HEAP32[$6>>2] = $8; - $9 = HEAP32[$1>>2]|0; - $10 = +HEAPF64[$9>>3]; - $11 = (~~(($10))); - HEAP32[$digit>>2] = $11; - $12 = HEAP32[$digit>>2]|0; - $13 = (+($12|0)); - HEAPF64[$d>>3] = $13; - $14 = HEAP32[$digit>>2]|0; - $15 = (($14) + 48)|0; - HEAP32[$digit>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = +HEAPF64[$16>>3]; - $18 = +HEAPF64[$d>>3]; - $19 = $17 - $18; - $20 = $19 * 10.0; - $21 = HEAP32[$1>>2]|0; - HEAPF64[$21>>3] = $20; - $22 = HEAP32[$digit>>2]|0; - $23 = $22&255; - HEAP8[$0>>0] = $23; - $24 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($24|0); + $5 = (_sqlite3_value_type($4)|0); + $6 = ($5|0)==(5); + if ($6) { + STACKTOP = sp;return; + } + $7 = HEAP32[$0>>2]|0; + $8 = (_sqlite3_aggregate_context($7,28)|0); + HEAP32[$pAccum>>2] = $8; + $9 = HEAP32[$pAccum>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; } - return 0|0; + $11 = HEAP32[$0>>2]|0; + $12 = (_sqlite3_context_db_handle($11)|0); + HEAP32[$db>>2] = $12; + $13 = HEAP32[$pAccum>>2]|0; + $14 = ((($13)) + 24|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)==(0); + $18 = $17&1; + HEAP32[$firstTerm>>2] = $18; + $19 = HEAP32[$pAccum>>2]|0; + $20 = ((($19)) + 24|0); + HEAP8[$20>>0] = 2; + $21 = HEAP32[$db>>2]|0; + $22 = ((($21)) + 88|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$pAccum>>2]|0; + $25 = ((($24)) + 20|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$firstTerm>>2]|0; + $27 = ($26|0)!=(0); + if (!($27)) { + $28 = HEAP32[$1>>2]|0; + $29 = ($28|0)==(2); + if ($29) { + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3_value_text($32)|0); + HEAP32[$zSep>>2] = $33; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3_value_bytes($36)|0); + HEAP32[$nSep>>2] = $37; + } else { + HEAP32[$zSep>>2] = 29027; + HEAP32[$nSep>>2] = 1; + } + $38 = HEAP32[$nSep>>2]|0; + $39 = ($38|0)!=(0); + if ($39) { + $40 = HEAP32[$pAccum>>2]|0; + $41 = HEAP32[$zSep>>2]|0; + $42 = HEAP32[$nSep>>2]|0; + _sqlite3StrAccumAppend($40,$41,$42); + } + } + $43 = HEAP32[$2>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = (_sqlite3_value_text($44)|0); + HEAP32[$zVal>>2] = $45; + $46 = HEAP32[$2>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3_value_bytes($47)|0); + HEAP32[$nVal>>2] = $48; + $49 = HEAP32[$zVal>>2]|0; + $50 = ($49|0)!=(0|0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = HEAP32[$pAccum>>2]|0; + $52 = HEAP32[$zVal>>2]|0; + $53 = HEAP32[$nVal>>2]|0; + _sqlite3StrAccumAppend($51,$52,$53); + STACKTOP = sp;return; } -function _getTextArg($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; +function _groupConcatFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pAccum = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = (($4) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($3|0)<=($6|0); - if ($7) { - HEAP32[$0>>2] = 0; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); + $pAccum = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$pAccum>>2] = $2; + $3 = HEAP32[$pAccum>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + $5 = HEAP32[$pAccum>>2]|0; + $6 = ((($5)) + 25|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(2); + if ($9) { + $10 = HEAP32[$0>>2]|0; + _sqlite3_result_error_toobig($10); + STACKTOP = sp;return; + } + $11 = HEAP32[$pAccum>>2]|0; + $12 = ((($11)) + 25|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(1); + $16 = HEAP32[$0>>2]|0; + if ($15) { + _sqlite3_result_error_nomem($16); + STACKTOP = sp;return; } else { - $8 = HEAP32[$1>>2]|0; - $9 = (($8) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($10<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_text($16)|0); - HEAP32[$0>>2] = $17; - $18 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($18|0); + $17 = HEAP32[$pAccum>>2]|0; + $18 = (_sqlite3StrAccumFinish($17)|0); + _sqlite3_result_text($16,$18,-1,13); + STACKTOP = sp;return; } - return 0|0; } -function _sqlite3AppendChar($p,$N,$c) { - $p = $p|0; - $N = $N|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _contextMalloc($context,$0,$1) { + $context = $context|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 8|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $N; - HEAP8[$2>>0] = $c; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($5) + ($6))|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($7|0)>=($10|0); - if ($11) { - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = (_sqlite3StrAccumEnlarge($12,$13)|0); - HEAP32[$1>>2] = $14; - $15 = ($14|0)<=(0); - if ($15) { - STACKTOP = sp;return; - } + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp; + $z = sp + 12|0; + $db = sp + 8|0; + HEAP32[$2>>2] = $context; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; + $7 = $6; + HEAP32[$7>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3_context_db_handle($8)|0); + HEAP32[$db>>2] = $9; + $10 = $3; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$db>>2]|0; + $17 = ((($16)) + 88|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = ($15|0)>($20|0); + $22 = ($12>>>0)>($18>>>0); + $23 = ($15|0)==($20|0); + $24 = $23 & $22; + $25 = $21 | $24; + if ($25) { + $26 = HEAP32[$2>>2]|0; + _sqlite3_result_error_toobig($26); + HEAP32[$z>>2] = 0; + $37 = HEAP32[$z>>2]|0; + STACKTOP = sp;return ($37|0); } - while(1) { - $16 = HEAP32[$1>>2]|0; - $17 = (($16) + -1)|0; - HEAP32[$1>>2] = $17; - $18 = ($16|0)>(0); - if (!($18)) { - break; - } - $19 = HEAP8[$2>>0]|0; - $20 = HEAP32[$0>>2]|0; - $21 = (($20) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + 1)|0; - HEAP32[$21>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = (($24) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($22)|0); - HEAP8[$27>>0] = $19; + $27 = $3; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3Malloc($29,$32)|0); + HEAP32[$z>>2] = $33; + $34 = HEAP32[$z>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $37 = HEAP32[$z>>2]|0; + STACKTOP = sp;return ($37|0); } - STACKTOP = sp;return; + $36 = HEAP32[$2>>2]|0; + _sqlite3_result_error_nomem($36); + $37 = HEAP32[$z>>2]|0; + STACKTOP = sp;return ($37|0); } -function _sqlite3StatusValue($op) { - $op = $op|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _sqlite3GetFuncCollSeq($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $op; + $0 = sp + 4|0; + $pOp = sp; + HEAP32[$0>>2] = $context; $1 = HEAP32[$0>>2]|0; - $2 = (48 + ($1<<2)|0); + $2 = ((($1)) + 16|0); $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); + $4 = (($3) - 1)|0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + (($4*20)|0)|0); + HEAP32[$pOp>>2] = $10; + $11 = HEAP32[$pOp>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); } -function _sqlite3MallocAlarm($nByte) { - $nByte = $nByte|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $nowUsed = 0, $pArg = 0, $xCallback = 0, label = 0, sp = 0; +function _sqlite3SkipAccumulatorLoad($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $xCallback = sp + 12|0; - $nowUsed = sp; - $pArg = sp + 8|0; - HEAP32[$0>>2] = $nByte; - $1 = HEAP32[((136 + 16|0))>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - STACKTOP = sp;return; - } - $3 = HEAP32[((136 + 16|0))>>2]|0; - HEAP32[$xCallback>>2] = $3; - $4 = (_sqlite3StatusValue(0)|0); - $5 = ($4|0)<(0); - $6 = $5 << 31 >> 31; - $7 = $nowUsed; - $8 = $7; - HEAP32[$8>>2] = $4; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - $11 = HEAP32[((136 + 20|0))>>2]|0; - HEAP32[$pArg>>2] = $11; - HEAP32[((136 + 16|0))>>2] = 0; - $12 = HEAP32[$xCallback>>2]|0; - $13 = HEAP32[$pArg>>2]|0; - $14 = $nowUsed; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_viiii[$12 & 3]($13,$16,$19,$20); - $21 = HEAP32[$xCallback>>2]|0; - HEAP32[((136 + 16|0))>>2] = $21; - $22 = HEAP32[$pArg>>2]|0; - HEAP32[((136 + 20|0))>>2] = $22; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 24|0); + HEAP8[$2>>0] = 1; STACKTOP = sp;return; } function _measureAllocationSize($db,$p) { @@ -203120,188 +214006,342 @@ function _measureAllocationSize($db,$p) { $3 = HEAP32[$1>>2]|0; $4 = (_sqlite3DbMallocSize($2,$3)|0); $5 = HEAP32[$0>>2]|0; - $6 = (($5) + 520|0); + $6 = ((($5)) + 520|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($4))|0; HEAP32[$7>>2] = $9; STACKTOP = sp;return; } -function _mallocWithAlarm($n,$pp) { - $n = $n|0; - $pp = $pp|0; +function _vdbeFreeOpArray($db,$aOp,$nOp) { + $db = $db|0; + $aOp = $aOp|0; + $nOp = $nOp|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $pOp = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $aOp; + HEAP32[$2>>2] = $nOp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + $21 = HEAP32[$0>>2]|0; + $22 = HEAP32[$1>>2]|0; + _sqlite3DbFree($21,$22); + STACKTOP = sp;return; + } + $5 = HEAP32[$1>>2]|0; + HEAP32[$pOp>>2] = $5; + while(1) { + $6 = HEAP32[$pOp>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = (($8) + (($7*20)|0)|0); + $10 = ($6>>>0)<($9>>>0); + if (!($10)) { + break; + } + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$pOp>>2]|0; + $13 = ((($12)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 << 24 >> 24; + $16 = HEAP32[$pOp>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + _freeP4($11,$15,$18); + $19 = HEAP32[$pOp>>2]|0; + $20 = ((($19)) + 20|0); + HEAP32[$pOp>>2] = $20; + } + $21 = HEAP32[$0>>2]|0; + $22 = HEAP32[$1>>2]|0; + _sqlite3DbFree($21,$22); + STACKTOP = sp;return; +} +function _sqlite3FkDelete($db,$pTab) { + $db = $db|0; + $pTab = $pTab|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $nFull = 0, $nUsed = 0, $p = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pFKey = 0, $pNext = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $nFull = sp + 8|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $pFKey = sp + 12|0; + $pNext = sp + 8|0; $p = sp + 4|0; - $nUsed = sp; - HEAP32[$0>>2] = $n; - HEAP32[$1>>2] = $pp; - $2 = HEAP32[((38640 + 52|0))>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = (FUNCTION_TABLE_ii[$2 & 31]($3)|0); - HEAP32[$nFull>>2] = $4; - $5 = HEAP32[$0>>2]|0; - _sqlite3StatusSet(5,$5); - $6 = HEAP32[((136 + 16|0))>>2]|0; - $7 = ($6|0)!=(0|0); - do { - if ($7) { - $8 = (_sqlite3StatusValue(0)|0); - HEAP32[$nUsed>>2] = $8; - $9 = HEAP32[$nUsed>>2]|0; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = ((136 + 8|0)); - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$nFull>>2]|0; - $19 = ($18|0)<(0); - $20 = $19 << 31 >> 31; - $21 = (_i64Subtract(($14|0),($17|0),($18|0),($20|0))|0); - $22 = tempRet0; - $23 = ($11|0)>($22|0); - $24 = ($9>>>0)>=($21>>>0); - $25 = ($11|0)==($22|0); - $26 = $25 & $24; - $27 = $23 | $26; - if ($27) { - HEAP32[((136 + 36|0))>>2] = 1; - $28 = HEAP32[$nFull>>2]|0; - _sqlite3MallocAlarm($28); - break; + $z = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pTab; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pFKey>>2] = $4; + while(1) { + $5 = HEAP32[$pFKey>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + break; + } + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)!=(0|0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 520|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0|0); + if ($12) { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + label = 0; + $13 = HEAP32[$pFKey>>2]|0; + $14 = ((($13)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)!=(0|0); + $17 = HEAP32[$pFKey>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + if ($16) { + $20 = HEAP32[$pFKey>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 12|0); + HEAP32[$23>>2] = $19; } else { - HEAP32[((136 + 36|0))>>2] = 0; - break; + HEAP32[$p>>2] = $19; + $24 = HEAP32[$p>>2]|0; + $25 = ($24|0)!=(0|0); + $26 = HEAP32[$pFKey>>2]|0; + if ($25) { + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $33 = $30; + } else { + $31 = ((($26)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32; + } + HEAP32[$z>>2] = $33; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 68|0); + $36 = HEAP32[$35>>2]|0; + $37 = ((($36)) + 56|0); + $38 = HEAP32[$z>>2]|0; + $39 = HEAP32[$p>>2]|0; + (_sqlite3HashInsert($37,$38,$39)|0); + } + $40 = HEAP32[$pFKey>>2]|0; + $41 = ((($40)) + 12|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$pFKey>>2]|0; + $45 = ((($44)) + 16|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$pFKey>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($49)) + 16|0); + HEAP32[$50>>2] = $46; } } - } while(0); - $29 = HEAP32[((38640 + 36|0))>>2]|0; - $30 = HEAP32[$nFull>>2]|0; - $31 = (FUNCTION_TABLE_ii[$29 & 31]($30)|0); - HEAP32[$p>>2] = $31; - $32 = HEAP32[$p>>2]|0; - $33 = ($32|0)!=(0|0); - if (!($33)) { - $37 = HEAP32[$p>>2]|0; - $38 = HEAP32[$1>>2]|0; - HEAP32[$38>>2] = $37; - $39 = HEAP32[$nFull>>2]|0; - STACKTOP = sp;return ($39|0); + $51 = HEAP32[$0>>2]|0; + $52 = HEAP32[$pFKey>>2]|0; + $53 = ((($52)) + 28|0); + $54 = HEAP32[$53>>2]|0; + _fkTriggerDelete($51,$54); + $55 = HEAP32[$0>>2]|0; + $56 = HEAP32[$pFKey>>2]|0; + $57 = ((($56)) + 28|0); + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + _fkTriggerDelete($55,$59); + $60 = HEAP32[$pFKey>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$pNext>>2] = $62; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$pFKey>>2]|0; + _sqlite3DbFree($63,$64); + $65 = HEAP32[$pNext>>2]|0; + HEAP32[$pFKey>>2] = $65; } - $34 = HEAP32[$p>>2]|0; - $35 = (_sqlite3MallocSize($34)|0); - HEAP32[$nFull>>2] = $35; - $36 = HEAP32[$nFull>>2]|0; - _sqlite3StatusAdd(0,$36); - _sqlite3StatusAdd(9,1); - $37 = HEAP32[$p>>2]|0; - $38 = HEAP32[$1>>2]|0; - HEAP32[$38>>2] = $37; - $39 = HEAP32[$nFull>>2]|0; - STACKTOP = sp;return ($39|0); + STACKTOP = sp;return; +} +function _sqlite3VtabClear($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)!=(0|0); + if ($3) { + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 520|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $8 = HEAP32[$1>>2]|0; + (_vtabDisconnectAll(0,$8)|0); + } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 56|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; + while(1) { + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 52|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)<($16|0); + if (!($17)) { + break; + } + $18 = HEAP32[$i>>2]|0; + $19 = ($18|0)!=(1); + if ($19) { + $20 = HEAP32[$0>>2]|0; + $21 = HEAP32[$i>>2]|0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 56|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<2)|0); + $26 = HEAP32[$25>>2]|0; + _sqlite3DbFree($20,$26); + } + $27 = HEAP32[$i>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$i>>2] = $28; + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 56|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3DbFree($29,$32); + STACKTOP = sp;return; } function _malloc($bytes) { $bytes = $bytes|0; - var $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i23$i = 0, $$pre$i25 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i24$iZ2D = 0, $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi59$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre105 = 0, $$pre58$i$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0, $$sum$i12$i = 0, $$sum$i13$i = 0; - var $$sum$i16$i = 0, $$sum$i19$i = 0, $$sum$i2338 = 0, $$sum$i32 = 0, $$sum$i39 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i14$i = 0, $$sum1$i20$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum10$pre$i$i = 0, $$sum102$i = 0, $$sum103$i = 0, $$sum104$i = 0, $$sum105$i = 0, $$sum106$i = 0; - var $$sum107$i = 0, $$sum108$i = 0, $$sum109$i = 0, $$sum11$i = 0, $$sum11$i$i = 0, $$sum11$i22$i = 0, $$sum110$i = 0, $$sum111$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0, $$sum14$pre$i = 0, $$sum15$i = 0; - var $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0, $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i15$i = 0, $$sum2$i17$i = 0, $$sum2$i21$i = 0, $$sum2$pre$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0, $$sum23$i$i = 0, $$sum24$i$i = 0; - var $$sum25$i$i = 0, $$sum26$pre$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i$i = 0, $$sum3$i27 = 0, $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0, $$sum41$i$i = 0, $$sum42$i$i = 0; - var $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0, $$sum8$pre = 0, $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0; - var $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0; - var $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0; - var $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0; - var $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; - var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; - var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0; - var $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0; - var $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0; - var $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0; - var $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0; - var $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0; - var $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0; - var $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0; - var $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0; - var $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0; - var $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0; - var $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0; - var $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0; - var $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0; - var $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0; - var $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0; - var $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0; - var $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0; - var $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0; - var $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0; - var $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0; - var $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0; - var $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0; - var $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0; - var $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0; - var $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0; - var $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0; - var $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0; - var $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0; - var $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0; - var $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0; - var $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0; - var $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0; - var $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0, $F5$0$i = 0, $I1$0$c$i$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$027$i = 0, $K2$015$i$i = 0, $K8$053$i$i = 0; - var $R$0$i = 0, $R$0$i$i = 0, $R$0$i18 = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i17 = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i26$i = 0, $T$014$i$i = 0, $T$026$i = 0, $T$052$i$i = 0, $br$0$i = 0, $br$030$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0; - var $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond$i27$i = 0, $or$cond$i29 = 0, $or$cond1$i = 0, $or$cond19$i = 0, $or$cond2$i = 0, $or$cond24$i = 0, $or$cond3$i = 0, $or$cond4$i = 0, $or$cond47$i = 0, $or$cond5$i = 0, $or$cond6$i = 0, $or$cond8$i = 0; - var $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i15 = 0, $rsize$1$i = 0, $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$073$i = 0, $sp$166$i = 0, $ssize$0$i = 0, $ssize$1$i = 0, $ssize$129$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0; - var $t$1$i = 0, $t$2$ph$i = 0, $t$2$v$3$i = 0, $t$230$i = 0, $tbase$245$i = 0, $tsize$03141$i = 0, $tsize$1$i = 0, $tsize$244$i = 0, $v$0$i = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$332$i = 0, label = 0, sp = 0; + var $$3$i = 0, $$lcssa = 0, $$lcssa211 = 0, $$lcssa215 = 0, $$lcssa216 = 0, $$lcssa217 = 0, $$lcssa219 = 0, $$lcssa222 = 0, $$lcssa224 = 0, $$lcssa226 = 0, $$lcssa228 = 0, $$lcssa230 = 0, $$lcssa232 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i22$i = 0, $$pre$i25 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i23$iZ2D = 0; + var $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre105 = 0, $$pre106 = 0, $$pre14$i$i = 0, $$pre43$i = 0, $$pre56$i$i = 0, $$pre57$i$i = 0, $$pre8$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0, $$sum$i13$i = 0, $$sum$i15$i = 0, $$sum$i17$i = 0, $$sum$i19$i = 0; + var $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i14$i = 0, $$sum1$i20$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum11$i = 0, $$sum11$i$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0; + var $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum121$i = 0, $$sum122$i = 0, $$sum123$i = 0, $$sum124$i = 0, $$sum125$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0; + var $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i16$i = 0, $$sum2$i18$i = 0, $$sum2$i21$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0, $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i27 = 0; + var $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0, $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0; + var $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0; + var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0; + var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0; + var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0; + var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; + var $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0; + var $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0; + var $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0; + var $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0; + var $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0; + var $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0; + var $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0; + var $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0; + var $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0; + var $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0; + var $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0; + var $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0; + var $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0; + var $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0; + var $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0; + var $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0; + var $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0; + var $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0; + var $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0; + var $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0; + var $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0; + var $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0; + var $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0; + var $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0; + var $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0; + var $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0; + var $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0; + var $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0; + var $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0; + var $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0; + var $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0; + var $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0; + var $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0; + var $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0; + var $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0; + var $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0; + var $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0; + var $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0, $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$029$i = 0, $K2$07$i$i = 0, $K8$051$i$i = 0; + var $R$0$i = 0, $R$0$i$i = 0, $R$0$i$i$lcssa = 0, $R$0$i$lcssa = 0, $R$0$i18 = 0, $R$0$i18$lcssa = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i$i$lcssa = 0, $RP$0$i$lcssa = 0, $RP$0$i17 = 0, $RP$0$i17$lcssa = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i25$i = 0, $T$028$i = 0, $T$028$i$lcssa = 0; + var $T$050$i$i = 0, $T$050$i$i$lcssa = 0, $T$06$i$i = 0, $T$06$i$i$lcssa = 0, $br$0$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0, $not$$i = 0, $not$$i$i = 0, $not$$i26$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i30 = 0, $or$cond1$i = 0; + var $or$cond19$i = 0, $or$cond2$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond57$i = 0, $or$cond6$i = 0, $or$cond8$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i15 = 0, $rsize$1$i = 0, $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0; + var $sp$0$i$i$i = 0, $sp$084$i = 0, $sp$084$i$lcssa = 0, $sp$183$i = 0, $sp$183$i$lcssa = 0, $ssize$0$$i = 0, $ssize$0$i = 0, $ssize$1$ph$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0, $t$2$v$3$i = 0, $t$230$i = 0, $tbase$255$i = 0, $tsize$0$ph$i = 0, $tsize$0323944$i = 0, $tsize$1$i = 0, $tsize$254$i = 0; + var $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$3$ph$i = 0, $v$332$i = 0, label = 0, sp = 0; sp = STACKTOP; $0 = ($bytes>>>0)<(245); do { if ($0) { $1 = ($bytes>>>0)<(11); - if ($1) { - $5 = 16; - } else { - $2 = (($bytes) + 11)|0; - $3 = $2 & -8; - $5 = $3; - } - $4 = $5 >>> 3; - $6 = HEAP32[39000>>2]|0; - $7 = $6 >>> $4; + $2 = (($bytes) + 11)|0; + $3 = $2 & -8; + $4 = $1 ? 16 : $3; + $5 = $4 >>> 3; + $6 = HEAP32[7192>>2]|0; + $7 = $6 >>> $5; $8 = $7 & 3; $9 = ($8|0)==(0); if (!($9)) { $10 = $7 & 1; $11 = $10 ^ 1; - $12 = (($11) + ($4))|0; + $12 = (($11) + ($5))|0; $13 = $12 << 1; - $14 = ((39000 + ($13<<2)|0) + 40|0); + $14 = (7232 + ($13<<2)|0); $$sum10 = (($13) + 2)|0; - $15 = ((39000 + ($$sum10<<2)|0) + 40|0); + $15 = (7232 + ($$sum10<<2)|0); $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 8|0); + $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ($14|0)==($18|0); do { @@ -203309,30 +214349,27 @@ function _malloc($bytes) { $20 = 1 << $12; $21 = $20 ^ -1; $22 = $6 & $21; - HEAP32[39000>>2] = $22; + HEAP32[7192>>2] = $22; } else { - $23 = HEAP32[((39000 + 16|0))>>2]|0; + $23 = HEAP32[(7208)>>2]|0; $24 = ($18>>>0)<($23>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = (($18) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($16|0); - if ($27) { - HEAP32[$25>>2] = $14; - HEAP32[$15>>2] = $18; - break; - } else { - _abort(); - // unreachable; + if (!($24)) { + $25 = ((($18)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==($16|0); + if ($27) { + HEAP32[$25>>2] = $14; + HEAP32[$15>>2] = $18; + break; + } } + _abort(); + // unreachable; } } while(0); $28 = $12 << 3; $29 = $28 | 3; - $30 = (($16) + 4|0); + $30 = ((($16)) + 4|0); HEAP32[$30>>2] = $29; $$sum1112 = $28 | 4; $31 = (($16) + ($$sum1112)|0); @@ -203340,15 +214377,15 @@ function _malloc($bytes) { $33 = $32 | 1; HEAP32[$31>>2] = $33; $mem$0 = $17; - STACKTOP = sp;return ($mem$0|0); + break; } - $34 = HEAP32[((39000 + 8|0))>>2]|0; - $35 = ($5>>>0)>($34>>>0); + $34 = HEAP32[(7200)>>2]|0; + $35 = ($4>>>0)>($34>>>0); if ($35) { $36 = ($7|0)==(0); if (!($36)) { - $37 = $7 << $4; - $38 = 2 << $4; + $37 = $7 << $5; + $38 = 2 << $5; $39 = (0 - ($38))|0; $40 = $38 | $39; $41 = $37 & $40; @@ -203376,11 +214413,11 @@ function _malloc($bytes) { $63 = $59 >>> $61; $64 = (($62) + ($63))|0; $65 = $64 << 1; - $66 = ((39000 + ($65<<2)|0) + 40|0); + $66 = (7232 + ($65<<2)|0); $$sum4 = (($65) + 2)|0; - $67 = ((39000 + ($$sum4<<2)|0) + 40|0); + $67 = (7232 + ($$sum4<<2)|0); $68 = HEAP32[$67>>2]|0; - $69 = (($68) + 8|0); + $69 = ((($68)) + 8|0); $70 = HEAP32[$69>>2]|0; $71 = ($66|0)==($70|0); do { @@ -203388,63 +214425,60 @@ function _malloc($bytes) { $72 = 1 << $64; $73 = $72 ^ -1; $74 = $6 & $73; - HEAP32[39000>>2] = $74; + HEAP32[7192>>2] = $74; $89 = $34; } else { - $75 = HEAP32[((39000 + 16|0))>>2]|0; + $75 = HEAP32[(7208)>>2]|0; $76 = ($70>>>0)<($75>>>0); - if ($76) { - _abort(); - // unreachable; - } - $77 = (($70) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==($68|0); - if ($79) { - HEAP32[$77>>2] = $66; - HEAP32[$67>>2] = $70; - $$pre = HEAP32[((39000 + 8|0))>>2]|0; - $89 = $$pre; - break; - } else { - _abort(); - // unreachable; + if (!($76)) { + $77 = ((($70)) + 12|0); + $78 = HEAP32[$77>>2]|0; + $79 = ($78|0)==($68|0); + if ($79) { + HEAP32[$77>>2] = $66; + HEAP32[$67>>2] = $70; + $$pre = HEAP32[(7200)>>2]|0; + $89 = $$pre; + break; + } } + _abort(); + // unreachable; } } while(0); $80 = $64 << 3; - $81 = (($80) - ($5))|0; - $82 = $5 | 3; - $83 = (($68) + 4|0); + $81 = (($80) - ($4))|0; + $82 = $4 | 3; + $83 = ((($68)) + 4|0); HEAP32[$83>>2] = $82; - $84 = (($68) + ($5)|0); + $84 = (($68) + ($4)|0); $85 = $81 | 1; - $$sum56 = $5 | 4; + $$sum56 = $4 | 4; $86 = (($68) + ($$sum56)|0); HEAP32[$86>>2] = $85; $87 = (($68) + ($80)|0); HEAP32[$87>>2] = $81; $88 = ($89|0)==(0); if (!($88)) { - $90 = HEAP32[((39000 + 20|0))>>2]|0; + $90 = HEAP32[(7212)>>2]|0; $91 = $89 >>> 3; $92 = $91 << 1; - $93 = ((39000 + ($92<<2)|0) + 40|0); - $94 = HEAP32[39000>>2]|0; + $93 = (7232 + ($92<<2)|0); + $94 = HEAP32[7192>>2]|0; $95 = 1 << $91; $96 = $94 & $95; $97 = ($96|0)==(0); if ($97) { $98 = $94 | $95; - HEAP32[39000>>2] = $98; - $$sum8$pre = (($92) + 2)|0; - $$pre105 = ((39000 + ($$sum8$pre<<2)|0) + 40|0); - $$pre$phiZ2D = $$pre105;$F4$0 = $93; + HEAP32[7192>>2] = $98; + $$pre105 = (($92) + 2)|0; + $$pre106 = (7232 + ($$pre105<<2)|0); + $$pre$phiZ2D = $$pre106;$F4$0 = $93; } else { $$sum9 = (($92) + 2)|0; - $99 = ((39000 + ($$sum9<<2)|0) + 40|0); + $99 = (7232 + ($$sum9<<2)|0); $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[((39000 + 16|0))>>2]|0; + $101 = HEAP32[(7208)>>2]|0; $102 = ($100>>>0)<($101>>>0); if ($102) { _abort(); @@ -203454,22 +214488,23 @@ function _malloc($bytes) { } } HEAP32[$$pre$phiZ2D>>2] = $90; - $103 = (($F4$0) + 12|0); + $103 = ((($F4$0)) + 12|0); HEAP32[$103>>2] = $90; - $104 = (($90) + 8|0); + $104 = ((($90)) + 8|0); HEAP32[$104>>2] = $F4$0; - $105 = (($90) + 12|0); + $105 = ((($90)) + 12|0); HEAP32[$105>>2] = $93; } - HEAP32[((39000 + 8|0))>>2] = $81; - HEAP32[((39000 + 20|0))>>2] = $84; + HEAP32[(7200)>>2] = $81; + HEAP32[(7212)>>2] = $84; $mem$0 = $69; - STACKTOP = sp;return ($mem$0|0); + break; } - $106 = HEAP32[((39000 + 4|0))>>2]|0; + $106 = HEAP32[(7196)>>2]|0; $107 = ($106|0)==(0); if ($107) { - $nb$0 = $5; + $nb$0 = $4; + label = 154; } else { $108 = (0 - ($106))|0; $109 = $106 & $108; @@ -203494,22 +214529,23 @@ function _malloc($bytes) { $128 = $124 | $127; $129 = $125 >>> $127; $130 = (($128) + ($129))|0; - $131 = ((39000 + ($130<<2)|0) + 304|0); + $131 = (7496 + ($130<<2)|0); $132 = HEAP32[$131>>2]|0; - $133 = (($132) + 4|0); + $133 = ((($132)) + 4|0); $134 = HEAP32[$133>>2]|0; $135 = $134 & -8; - $136 = (($135) - ($5))|0; + $136 = (($135) - ($4))|0; $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; while(1) { - $137 = (($t$0$i) + 16|0); + $137 = ((($t$0$i)) + 16|0); $138 = HEAP32[$137>>2]|0; $139 = ($138|0)==(0|0); if ($139) { - $140 = (($t$0$i) + 20|0); + $140 = ((($t$0$i)) + 20|0); $141 = HEAP32[$140>>2]|0; $142 = ($141|0)==(0|0); if ($142) { + $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i; break; } else { $144 = $141; @@ -203517,271 +214553,268 @@ function _malloc($bytes) { } else { $144 = $138; } - $143 = (($144) + 4|0); + $143 = ((($144)) + 4|0); $145 = HEAP32[$143>>2]|0; $146 = $145 & -8; - $147 = (($146) - ($5))|0; + $147 = (($146) - ($4))|0; $148 = ($147>>>0)<($rsize$0$i>>>0); $$rsize$0$i = $148 ? $147 : $rsize$0$i; $$v$0$i = $148 ? $144 : $v$0$i; $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; } - $149 = HEAP32[((39000 + 16|0))>>2]|0; - $150 = ($v$0$i>>>0)<($149>>>0); - if ($150) { - _abort(); - // unreachable; - } - $151 = (($v$0$i) + ($5)|0); - $152 = ($v$0$i>>>0)<($151>>>0); - if (!($152)) { - _abort(); - // unreachable; - } - $153 = (($v$0$i) + 24|0); - $154 = HEAP32[$153>>2]|0; - $155 = (($v$0$i) + 12|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($v$0$i|0); - do { - if ($157) { - $167 = (($v$0$i) + 20|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $170 = (($v$0$i) + 16|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R$1$i = 0; - break; - } else { - $R$0$i = $171;$RP$0$i = $170; - } - } else { - $R$0$i = $168;$RP$0$i = $167; - } - while(1) { - $173 = (($R$0$i) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R$0$i = $174;$RP$0$i = $173; - continue; - } - $176 = (($R$0$i) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - break; + $149 = HEAP32[(7208)>>2]|0; + $150 = ($v$0$i$lcssa>>>0)<($149>>>0); + if (!($150)) { + $151 = (($v$0$i$lcssa) + ($4)|0); + $152 = ($v$0$i$lcssa>>>0)<($151>>>0); + if ($152) { + $153 = ((($v$0$i$lcssa)) + 24|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($v$0$i$lcssa)) + 12|0); + $156 = HEAP32[$155>>2]|0; + $157 = ($156|0)==($v$0$i$lcssa|0); + do { + if ($157) { + $167 = ((($v$0$i$lcssa)) + 20|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==(0|0); + if ($169) { + $170 = ((($v$0$i$lcssa)) + 16|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==(0|0); + if ($172) { + $R$1$i = 0; + break; + } else { + $R$0$i = $171;$RP$0$i = $170; + } + } else { + $R$0$i = $168;$RP$0$i = $167; + } + while(1) { + $173 = ((($R$0$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if (!($175)) { + $R$0$i = $174;$RP$0$i = $173; + continue; + } + $176 = ((($R$0$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $R$0$i$lcssa = $R$0$i;$RP$0$i$lcssa = $RP$0$i; + break; + } else { + $R$0$i = $177;$RP$0$i = $176; + } + } + $179 = ($RP$0$i$lcssa>>>0)<($149>>>0); + if ($179) { + _abort(); + // unreachable; + } else { + HEAP32[$RP$0$i$lcssa>>2] = 0; + $R$1$i = $R$0$i$lcssa; + break; + } } else { - $R$0$i = $177;$RP$0$i = $176; - } - } - $179 = ($RP$0$i>>>0)<($149>>>0); - if ($179) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i>>2] = 0; - $R$1$i = $R$0$i; - break; - } - } else { - $158 = (($v$0$i) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($149>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = (($159) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($v$0$i|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = (($156) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($v$0$i|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R$1$i = $156; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $180 = ($154|0)==(0|0); - do { - if (!($180)) { - $181 = (($v$0$i) + 28|0); - $182 = HEAP32[$181>>2]|0; - $183 = ((39000 + ($182<<2)|0) + 304|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($v$0$i|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R$1$i; - $cond$i = ($R$1$i|0)==(0|0); - if ($cond$i) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[((39000 + 4|0))>>2]|0; - $189 = $188 & $187; - HEAP32[((39000 + 4|0))>>2] = $189; - break; - } - } else { - $190 = HEAP32[((39000 + 16|0))>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { + $158 = ((($v$0$i$lcssa)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159>>>0)<($149>>>0); + if (!($160)) { + $161 = ((($159)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($v$0$i$lcssa|0); + if ($163) { + $164 = ((($156)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($v$0$i$lcssa|0); + if ($166) { + HEAP32[$161>>2] = $156; + HEAP32[$164>>2] = $159; + $R$1$i = $156; + break; + } + } + } _abort(); // unreachable; } - $192 = (($154) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($v$0$i|0); - if ($194) { - HEAP32[$192>>2] = $R$1$i; - } else { - $195 = (($154) + 20|0); - HEAP32[$195>>2] = $R$1$i; - } - $196 = ($R$1$i|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[((39000 + 16|0))>>2]|0; - $198 = ($R$1$i>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = (($R$1$i) + 24|0); - HEAP32[$199>>2] = $154; - $200 = (($v$0$i) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); + } while(0); + $180 = ($154|0)==(0|0); do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { + if (!($180)) { + $181 = ((($v$0$i$lcssa)) + 28|0); + $182 = HEAP32[$181>>2]|0; + $183 = (7496 + ($182<<2)|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($v$0$i$lcssa|0)==($184|0); + if ($185) { + HEAP32[$183>>2] = $R$1$i; + $cond$i = ($R$1$i|0)==(0|0); + if ($cond$i) { + $186 = 1 << $182; + $187 = $186 ^ -1; + $188 = HEAP32[(7196)>>2]|0; + $189 = $188 & $187; + HEAP32[(7196)>>2] = $189; + break; + } + } else { + $190 = HEAP32[(7208)>>2]|0; + $191 = ($154>>>0)<($190>>>0); + if ($191) { + _abort(); + // unreachable; + } + $192 = ((($154)) + 16|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($193|0)==($v$0$i$lcssa|0); + if ($194) { + HEAP32[$192>>2] = $R$1$i; + } else { + $195 = ((($154)) + 20|0); + HEAP32[$195>>2] = $R$1$i; + } + $196 = ($R$1$i|0)==(0|0); + if ($196) { + break; + } + } + $197 = HEAP32[(7208)>>2]|0; + $198 = ($R$1$i>>>0)<($197>>>0); + if ($198) { _abort(); // unreachable; - } else { - $204 = (($R$1$i) + 16|0); - HEAP32[$204>>2] = $201; - $205 = (($201) + 24|0); - HEAP32[$205>>2] = $R$1$i; - break; + } + $199 = ((($R$1$i)) + 24|0); + HEAP32[$199>>2] = $154; + $200 = ((($v$0$i$lcssa)) + 16|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + do { + if (!($202)) { + $203 = ($201>>>0)<($197>>>0); + if ($203) { + _abort(); + // unreachable; + } else { + $204 = ((($R$1$i)) + 16|0); + HEAP32[$204>>2] = $201; + $205 = ((($201)) + 24|0); + HEAP32[$205>>2] = $R$1$i; + break; + } + } + } while(0); + $206 = ((($v$0$i$lcssa)) + 20|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($207|0)==(0|0); + if (!($208)) { + $209 = HEAP32[(7208)>>2]|0; + $210 = ($207>>>0)<($209>>>0); + if ($210) { + _abort(); + // unreachable; + } else { + $211 = ((($R$1$i)) + 20|0); + HEAP32[$211>>2] = $207; + $212 = ((($207)) + 24|0); + HEAP32[$212>>2] = $R$1$i; + break; + } } } } while(0); - $206 = (($v$0$i) + 20|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[((39000 + 16|0))>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = (($R$1$i) + 20|0); - HEAP32[$211>>2] = $207; - $212 = (($207) + 24|0); - HEAP32[$212>>2] = $R$1$i; - break; - } - } - } - } while(0); - $213 = ($rsize$0$i>>>0)<(16); - if ($213) { - $214 = (($rsize$0$i) + ($5))|0; - $215 = $214 | 3; - $216 = (($v$0$i) + 4|0); - HEAP32[$216>>2] = $215; - $$sum4$i = (($214) + 4)|0; - $217 = (($v$0$i) + ($$sum4$i)|0); - $218 = HEAP32[$217>>2]|0; - $219 = $218 | 1; - HEAP32[$217>>2] = $219; - } else { - $220 = $5 | 3; - $221 = (($v$0$i) + 4|0); - HEAP32[$221>>2] = $220; - $222 = $rsize$0$i | 1; - $$sum$i39 = $5 | 4; - $223 = (($v$0$i) + ($$sum$i39)|0); - HEAP32[$223>>2] = $222; - $$sum1$i = (($rsize$0$i) + ($5))|0; - $224 = (($v$0$i) + ($$sum1$i)|0); - HEAP32[$224>>2] = $rsize$0$i; - $225 = HEAP32[((39000 + 8|0))>>2]|0; - $226 = ($225|0)==(0); - if (!($226)) { - $227 = HEAP32[((39000 + 20|0))>>2]|0; - $228 = $225 >>> 3; - $229 = $228 << 1; - $230 = ((39000 + ($229<<2)|0) + 40|0); - $231 = HEAP32[39000>>2]|0; - $232 = 1 << $228; - $233 = $231 & $232; - $234 = ($233|0)==(0); - if ($234) { - $235 = $231 | $232; - HEAP32[39000>>2] = $235; - $$sum2$pre$i = (($229) + 2)|0; - $$pre$i = ((39000 + ($$sum2$pre$i<<2)|0) + 40|0); - $$pre$phi$iZ2D = $$pre$i;$F1$0$i = $230; + $213 = ($rsize$0$i$lcssa>>>0)<(16); + if ($213) { + $214 = (($rsize$0$i$lcssa) + ($4))|0; + $215 = $214 | 3; + $216 = ((($v$0$i$lcssa)) + 4|0); + HEAP32[$216>>2] = $215; + $$sum4$i = (($214) + 4)|0; + $217 = (($v$0$i$lcssa) + ($$sum4$i)|0); + $218 = HEAP32[$217>>2]|0; + $219 = $218 | 1; + HEAP32[$217>>2] = $219; } else { - $$sum3$i = (($229) + 2)|0; - $236 = ((39000 + ($$sum3$i<<2)|0) + 40|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[((39000 + 16|0))>>2]|0; - $239 = ($237>>>0)<($238>>>0); - if ($239) { - _abort(); - // unreachable; - } else { - $$pre$phi$iZ2D = $236;$F1$0$i = $237; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $227; - $240 = (($F1$0$i) + 12|0); - HEAP32[$240>>2] = $227; - $241 = (($227) + 8|0); - HEAP32[$241>>2] = $F1$0$i; - $242 = (($227) + 12|0); - HEAP32[$242>>2] = $230; + $220 = $4 | 3; + $221 = ((($v$0$i$lcssa)) + 4|0); + HEAP32[$221>>2] = $220; + $222 = $rsize$0$i$lcssa | 1; + $$sum$i35 = $4 | 4; + $223 = (($v$0$i$lcssa) + ($$sum$i35)|0); + HEAP32[$223>>2] = $222; + $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; + $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); + HEAP32[$224>>2] = $rsize$0$i$lcssa; + $225 = HEAP32[(7200)>>2]|0; + $226 = ($225|0)==(0); + if (!($226)) { + $227 = HEAP32[(7212)>>2]|0; + $228 = $225 >>> 3; + $229 = $228 << 1; + $230 = (7232 + ($229<<2)|0); + $231 = HEAP32[7192>>2]|0; + $232 = 1 << $228; + $233 = $231 & $232; + $234 = ($233|0)==(0); + if ($234) { + $235 = $231 | $232; + HEAP32[7192>>2] = $235; + $$pre$i = (($229) + 2)|0; + $$pre8$i = (7232 + ($$pre$i<<2)|0); + $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; + } else { + $$sum3$i = (($229) + 2)|0; + $236 = (7232 + ($$sum3$i<<2)|0); + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[(7208)>>2]|0; + $239 = ($237>>>0)<($238>>>0); + if ($239) { + _abort(); + // unreachable; + } else { + $$pre$phi$iZ2D = $236;$F1$0$i = $237; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $227; + $240 = ((($F1$0$i)) + 12|0); + HEAP32[$240>>2] = $227; + $241 = ((($227)) + 8|0); + HEAP32[$241>>2] = $F1$0$i; + $242 = ((($227)) + 12|0); + HEAP32[$242>>2] = $230; + } + HEAP32[(7200)>>2] = $rsize$0$i$lcssa; + HEAP32[(7212)>>2] = $151; + } + $243 = ((($v$0$i$lcssa)) + 8|0); + $mem$0 = $243; + break; } - HEAP32[((39000 + 8|0))>>2] = $rsize$0$i; - HEAP32[((39000 + 20|0))>>2] = $151; } - $243 = (($v$0$i) + 8|0); - $mem$0 = $243; - STACKTOP = sp;return ($mem$0|0); + _abort(); + // unreachable; } } else { - $nb$0 = $5; + $nb$0 = $4; + label = 154; } } else { $244 = ($bytes>>>0)>(4294967231); if ($244) { $nb$0 = -1; + label = 154; } else { $245 = (($bytes) + 11)|0; $246 = $245 & -8; - $247 = HEAP32[((39000 + 4|0))>>2]|0; + $247 = HEAP32[(7196)>>2]|0; $248 = ($247|0)==(0); if ($248) { $nb$0 = $246; + label = 154; } else { $249 = (0 - ($246))|0; $250 = $245 >>> 8; @@ -203818,25 +214851,22 @@ function _malloc($bytes) { $idx$0$i = $274; } } - $275 = ((39000 + ($idx$0$i<<2)|0) + 304|0); + $275 = (7496 + ($idx$0$i<<2)|0); $276 = HEAP32[$275>>2]|0; $277 = ($276|0)==(0|0); - L126: do { + L110: do { if ($277) { $rsize$2$i = $249;$t$1$i = 0;$v$2$i = 0; + label = 86; } else { $278 = ($idx$0$i|0)==(31); - if ($278) { - $282 = 0; - } else { - $279 = $idx$0$i >>> 1; - $280 = (25 - ($279))|0; - $282 = $280; - } - $281 = $246 << $282; - $rsize$0$i15 = $249;$rst$0$i = 0;$sizebits$0$i = $281;$t$0$i14 = $276;$v$0$i16 = 0; + $279 = $idx$0$i >>> 1; + $280 = (25 - ($279))|0; + $281 = $278 ? 0 : $280; + $282 = $246 << $281; + $rsize$0$i15 = $249;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $276;$v$0$i16 = 0; while(1) { - $283 = (($t$0$i14) + 4|0); + $283 = ((($t$0$i14)) + 4|0); $284 = HEAP32[$283>>2]|0; $285 = $284 & -8; $286 = (($285) - ($246))|0; @@ -203844,18 +214874,19 @@ function _malloc($bytes) { if ($287) { $288 = ($285|0)==($246|0); if ($288) { - $rsize$2$i = $286;$t$1$i = $t$0$i14;$v$2$i = $t$0$i14; - break L126; + $rsize$331$i = $286;$t$230$i = $t$0$i14;$v$332$i = $t$0$i14; + label = 90; + break L110; } else { $rsize$1$i = $286;$v$1$i = $t$0$i14; } } else { $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; } - $289 = (($t$0$i14) + 20|0); + $289 = ((($t$0$i14)) + 20|0); $290 = HEAP32[$289>>2]|0; $291 = $sizebits$0$i >>> 31; - $292 = ((($t$0$i14) + ($291<<2)|0) + 16|0); + $292 = (((($t$0$i14)) + 16|0) + ($291<<2)|0); $293 = HEAP32[$292>>2]|0; $294 = ($290|0)==(0|0); $295 = ($290|0)==($293|0); @@ -203865,6 +214896,7 @@ function _malloc($bytes) { $297 = $sizebits$0$i << 1; if ($296) { $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; + label = 86; break; } else { $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $297;$t$0$i14 = $293;$v$0$i16 = $v$1$i; @@ -203872,69 +214904,77 @@ function _malloc($bytes) { } } } while(0); - $298 = ($t$1$i|0)==(0|0); - $299 = ($v$2$i|0)==(0|0); - $or$cond$i = $298 & $299; - if ($or$cond$i) { - $300 = 2 << $idx$0$i; - $301 = (0 - ($300))|0; - $302 = $300 | $301; - $303 = $247 & $302; - $304 = ($303|0)==(0); - if ($304) { - $nb$0 = $246; - break; + if ((label|0) == 86) { + $298 = ($t$1$i|0)==(0|0); + $299 = ($v$2$i|0)==(0|0); + $or$cond$i = $298 & $299; + if ($or$cond$i) { + $300 = 2 << $idx$0$i; + $301 = (0 - ($300))|0; + $302 = $300 | $301; + $303 = $247 & $302; + $304 = ($303|0)==(0); + if ($304) { + $nb$0 = $246; + label = 154; + break; + } + $305 = (0 - ($303))|0; + $306 = $303 & $305; + $307 = (($306) + -1)|0; + $308 = $307 >>> 12; + $309 = $308 & 16; + $310 = $307 >>> $309; + $311 = $310 >>> 5; + $312 = $311 & 8; + $313 = $312 | $309; + $314 = $310 >>> $312; + $315 = $314 >>> 2; + $316 = $315 & 4; + $317 = $313 | $316; + $318 = $314 >>> $316; + $319 = $318 >>> 1; + $320 = $319 & 2; + $321 = $317 | $320; + $322 = $318 >>> $320; + $323 = $322 >>> 1; + $324 = $323 & 1; + $325 = $321 | $324; + $326 = $322 >>> $324; + $327 = (($325) + ($326))|0; + $328 = (7496 + ($327<<2)|0); + $329 = HEAP32[$328>>2]|0; + $t$2$ph$i = $329;$v$3$ph$i = 0; + } else { + $t$2$ph$i = $t$1$i;$v$3$ph$i = $v$2$i; + } + $330 = ($t$2$ph$i|0)==(0|0); + if ($330) { + $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$3$ph$i; + } else { + $rsize$331$i = $rsize$2$i;$t$230$i = $t$2$ph$i;$v$332$i = $v$3$ph$i; + label = 90; } - $305 = (0 - ($303))|0; - $306 = $303 & $305; - $307 = (($306) + -1)|0; - $308 = $307 >>> 12; - $309 = $308 & 16; - $310 = $307 >>> $309; - $311 = $310 >>> 5; - $312 = $311 & 8; - $313 = $312 | $309; - $314 = $310 >>> $312; - $315 = $314 >>> 2; - $316 = $315 & 4; - $317 = $313 | $316; - $318 = $314 >>> $316; - $319 = $318 >>> 1; - $320 = $319 & 2; - $321 = $317 | $320; - $322 = $318 >>> $320; - $323 = $322 >>> 1; - $324 = $323 & 1; - $325 = $321 | $324; - $326 = $322 >>> $324; - $327 = (($325) + ($326))|0; - $328 = ((39000 + ($327<<2)|0) + 304|0); - $329 = HEAP32[$328>>2]|0; - $t$2$ph$i = $329; - } else { - $t$2$ph$i = $t$1$i; } - $330 = ($t$2$ph$i|0)==(0|0); - if ($330) { - $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$2$i; - } else { - $rsize$331$i = $rsize$2$i;$t$230$i = $t$2$ph$i;$v$332$i = $v$2$i; + if ((label|0) == 90) { while(1) { - $331 = (($t$230$i) + 4|0); + label = 0; + $331 = ((($t$230$i)) + 4|0); $332 = HEAP32[$331>>2]|0; $333 = $332 & -8; $334 = (($333) - ($246))|0; $335 = ($334>>>0)<($rsize$331$i>>>0); $$rsize$3$i = $335 ? $334 : $rsize$331$i; $t$2$v$3$i = $335 ? $t$230$i : $v$332$i; - $336 = (($t$230$i) + 16|0); + $336 = ((($t$230$i)) + 16|0); $337 = HEAP32[$336>>2]|0; $338 = ($337|0)==(0|0); if (!($338)) { $rsize$331$i = $$rsize$3$i;$t$230$i = $337;$v$332$i = $t$2$v$3$i; + label = 90; continue; } - $339 = (($t$230$i) + 20|0); + $339 = ((($t$230$i)) + 20|0); $340 = HEAP32[$339>>2]|0; $341 = ($340|0)==(0|0); if ($341) { @@ -203942,2560 +214982,2481 @@ function _malloc($bytes) { break; } else { $rsize$331$i = $$rsize$3$i;$t$230$i = $340;$v$332$i = $t$2$v$3$i; + label = 90; } } } $342 = ($v$3$lcssa$i|0)==(0|0); if ($342) { $nb$0 = $246; + label = 154; } else { - $343 = HEAP32[((39000 + 8|0))>>2]|0; + $343 = HEAP32[(7200)>>2]|0; $344 = (($343) - ($246))|0; $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); if ($345) { - $346 = HEAP32[((39000 + 16|0))>>2]|0; + $346 = HEAP32[(7208)>>2]|0; $347 = ($v$3$lcssa$i>>>0)<($346>>>0); - if ($347) { - _abort(); - // unreachable; - } - $348 = (($v$3$lcssa$i) + ($246)|0); - $349 = ($v$3$lcssa$i>>>0)<($348>>>0); - if (!($349)) { - _abort(); - // unreachable; - } - $350 = (($v$3$lcssa$i) + 24|0); - $351 = HEAP32[$350>>2]|0; - $352 = (($v$3$lcssa$i) + 12|0); - $353 = HEAP32[$352>>2]|0; - $354 = ($353|0)==($v$3$lcssa$i|0); - do { - if ($354) { - $364 = (($v$3$lcssa$i) + 20|0); - $365 = HEAP32[$364>>2]|0; - $366 = ($365|0)==(0|0); - if ($366) { - $367 = (($v$3$lcssa$i) + 16|0); - $368 = HEAP32[$367>>2]|0; - $369 = ($368|0)==(0|0); - if ($369) { - $R$1$i20 = 0; - break; - } else { - $R$0$i18 = $368;$RP$0$i17 = $367; - } - } else { - $R$0$i18 = $365;$RP$0$i17 = $364; - } - while(1) { - $370 = (($R$0$i18) + 20|0); - $371 = HEAP32[$370>>2]|0; - $372 = ($371|0)==(0|0); - if (!($372)) { - $R$0$i18 = $371;$RP$0$i17 = $370; - continue; - } - $373 = (($R$0$i18) + 16|0); - $374 = HEAP32[$373>>2]|0; - $375 = ($374|0)==(0|0); - if ($375) { - break; - } else { - $R$0$i18 = $374;$RP$0$i17 = $373; - } - } - $376 = ($RP$0$i17>>>0)<($346>>>0); - if ($376) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i17>>2] = 0; - $R$1$i20 = $R$0$i18; - break; - } - } else { - $355 = (($v$3$lcssa$i) + 8|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356>>>0)<($346>>>0); - if ($357) { - _abort(); - // unreachable; - } - $358 = (($356) + 12|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==($v$3$lcssa$i|0); - if (!($360)) { - _abort(); - // unreachable; - } - $361 = (($353) + 8|0); - $362 = HEAP32[$361>>2]|0; - $363 = ($362|0)==($v$3$lcssa$i|0); - if ($363) { - HEAP32[$358>>2] = $353; - HEAP32[$361>>2] = $356; - $R$1$i20 = $353; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $377 = ($351|0)==(0|0); - do { - if (!($377)) { - $378 = (($v$3$lcssa$i) + 28|0); - $379 = HEAP32[$378>>2]|0; - $380 = ((39000 + ($379<<2)|0) + 304|0); - $381 = HEAP32[$380>>2]|0; - $382 = ($v$3$lcssa$i|0)==($381|0); - if ($382) { - HEAP32[$380>>2] = $R$1$i20; - $cond$i21 = ($R$1$i20|0)==(0|0); - if ($cond$i21) { - $383 = 1 << $379; - $384 = $383 ^ -1; - $385 = HEAP32[((39000 + 4|0))>>2]|0; - $386 = $385 & $384; - HEAP32[((39000 + 4|0))>>2] = $386; - break; - } - } else { - $387 = HEAP32[((39000 + 16|0))>>2]|0; - $388 = ($351>>>0)<($387>>>0); - if ($388) { - _abort(); - // unreachable; - } - $389 = (($351) + 16|0); - $390 = HEAP32[$389>>2]|0; - $391 = ($390|0)==($v$3$lcssa$i|0); - if ($391) { - HEAP32[$389>>2] = $R$1$i20; - } else { - $392 = (($351) + 20|0); - HEAP32[$392>>2] = $R$1$i20; - } - $393 = ($R$1$i20|0)==(0|0); - if ($393) { - break; - } - } - $394 = HEAP32[((39000 + 16|0))>>2]|0; - $395 = ($R$1$i20>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = (($R$1$i20) + 24|0); - HEAP32[$396>>2] = $351; - $397 = (($v$3$lcssa$i) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); + if (!($347)) { + $348 = (($v$3$lcssa$i) + ($246)|0); + $349 = ($v$3$lcssa$i>>>0)<($348>>>0); + if ($349) { + $350 = ((($v$3$lcssa$i)) + 24|0); + $351 = HEAP32[$350>>2]|0; + $352 = ((($v$3$lcssa$i)) + 12|0); + $353 = HEAP32[$352>>2]|0; + $354 = ($353|0)==($v$3$lcssa$i|0); do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { + if ($354) { + $364 = ((($v$3$lcssa$i)) + 20|0); + $365 = HEAP32[$364>>2]|0; + $366 = ($365|0)==(0|0); + if ($366) { + $367 = ((($v$3$lcssa$i)) + 16|0); + $368 = HEAP32[$367>>2]|0; + $369 = ($368|0)==(0|0); + if ($369) { + $R$1$i20 = 0; + break; + } else { + $R$0$i18 = $368;$RP$0$i17 = $367; + } + } else { + $R$0$i18 = $365;$RP$0$i17 = $364; + } + while(1) { + $370 = ((($R$0$i18)) + 20|0); + $371 = HEAP32[$370>>2]|0; + $372 = ($371|0)==(0|0); + if (!($372)) { + $R$0$i18 = $371;$RP$0$i17 = $370; + continue; + } + $373 = ((($R$0$i18)) + 16|0); + $374 = HEAP32[$373>>2]|0; + $375 = ($374|0)==(0|0); + if ($375) { + $R$0$i18$lcssa = $R$0$i18;$RP$0$i17$lcssa = $RP$0$i17; + break; + } else { + $R$0$i18 = $374;$RP$0$i17 = $373; + } + } + $376 = ($RP$0$i17$lcssa>>>0)<($346>>>0); + if ($376) { _abort(); // unreachable; } else { - $401 = (($R$1$i20) + 16|0); - HEAP32[$401>>2] = $398; - $402 = (($398) + 24|0); - HEAP32[$402>>2] = $R$1$i20; + HEAP32[$RP$0$i17$lcssa>>2] = 0; + $R$1$i20 = $R$0$i18$lcssa; break; } - } - } while(0); - $403 = (($v$3$lcssa$i) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if (!($405)) { - $406 = HEAP32[((39000 + 16|0))>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { + } else { + $355 = ((($v$3$lcssa$i)) + 8|0); + $356 = HEAP32[$355>>2]|0; + $357 = ($356>>>0)<($346>>>0); + if (!($357)) { + $358 = ((($356)) + 12|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==($v$3$lcssa$i|0); + if ($360) { + $361 = ((($353)) + 8|0); + $362 = HEAP32[$361>>2]|0; + $363 = ($362|0)==($v$3$lcssa$i|0); + if ($363) { + HEAP32[$358>>2] = $353; + HEAP32[$361>>2] = $356; + $R$1$i20 = $353; + break; + } + } + } _abort(); // unreachable; - } else { - $408 = (($R$1$i20) + 20|0); - HEAP32[$408>>2] = $404; - $409 = (($404) + 24|0); - HEAP32[$409>>2] = $R$1$i20; - break; } - } - } - } while(0); - $410 = ($rsize$3$lcssa$i>>>0)<(16); - L204: do { - if ($410) { - $411 = (($rsize$3$lcssa$i) + ($246))|0; - $412 = $411 | 3; - $413 = (($v$3$lcssa$i) + 4|0); - HEAP32[$413>>2] = $412; - $$sum18$i = (($411) + 4)|0; - $414 = (($v$3$lcssa$i) + ($$sum18$i)|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 | 1; - HEAP32[$414>>2] = $416; - } else { - $417 = $246 | 3; - $418 = (($v$3$lcssa$i) + 4|0); - HEAP32[$418>>2] = $417; - $419 = $rsize$3$lcssa$i | 1; - $$sum$i2338 = $246 | 4; - $420 = (($v$3$lcssa$i) + ($$sum$i2338)|0); - HEAP32[$420>>2] = $419; - $$sum1$i24 = (($rsize$3$lcssa$i) + ($246))|0; - $421 = (($v$3$lcssa$i) + ($$sum1$i24)|0); - HEAP32[$421>>2] = $rsize$3$lcssa$i; - $422 = $rsize$3$lcssa$i >>> 3; - $423 = ($rsize$3$lcssa$i>>>0)<(256); - if ($423) { - $424 = $422 << 1; - $425 = ((39000 + ($424<<2)|0) + 40|0); - $426 = HEAP32[39000>>2]|0; - $427 = 1 << $422; - $428 = $426 & $427; - $429 = ($428|0)==(0); - do { - if ($429) { - $430 = $426 | $427; - HEAP32[39000>>2] = $430; - $$sum14$pre$i = (($424) + 2)|0; - $$pre$i25 = ((39000 + ($$sum14$pre$i<<2)|0) + 40|0); - $$pre$phi$i26Z2D = $$pre$i25;$F5$0$i = $425; + } while(0); + $377 = ($351|0)==(0|0); + do { + if (!($377)) { + $378 = ((($v$3$lcssa$i)) + 28|0); + $379 = HEAP32[$378>>2]|0; + $380 = (7496 + ($379<<2)|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($v$3$lcssa$i|0)==($381|0); + if ($382) { + HEAP32[$380>>2] = $R$1$i20; + $cond$i21 = ($R$1$i20|0)==(0|0); + if ($cond$i21) { + $383 = 1 << $379; + $384 = $383 ^ -1; + $385 = HEAP32[(7196)>>2]|0; + $386 = $385 & $384; + HEAP32[(7196)>>2] = $386; + break; + } } else { - $$sum17$i = (($424) + 2)|0; - $431 = ((39000 + ($$sum17$i<<2)|0) + 40|0); - $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[((39000 + 16|0))>>2]|0; - $434 = ($432>>>0)<($433>>>0); - if (!($434)) { - $$pre$phi$i26Z2D = $431;$F5$0$i = $432; + $387 = HEAP32[(7208)>>2]|0; + $388 = ($351>>>0)<($387>>>0); + if ($388) { + _abort(); + // unreachable; + } + $389 = ((($351)) + 16|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==($v$3$lcssa$i|0); + if ($391) { + HEAP32[$389>>2] = $R$1$i20; + } else { + $392 = ((($351)) + 20|0); + HEAP32[$392>>2] = $R$1$i20; + } + $393 = ($R$1$i20|0)==(0|0); + if ($393) { break; } + } + $394 = HEAP32[(7208)>>2]|0; + $395 = ($R$1$i20>>>0)<($394>>>0); + if ($395) { _abort(); // unreachable; } - } while(0); - HEAP32[$$pre$phi$i26Z2D>>2] = $348; - $435 = (($F5$0$i) + 12|0); - HEAP32[$435>>2] = $348; - $$sum15$i = (($246) + 8)|0; - $436 = (($v$3$lcssa$i) + ($$sum15$i)|0); - HEAP32[$436>>2] = $F5$0$i; - $$sum16$i = (($246) + 12)|0; - $437 = (($v$3$lcssa$i) + ($$sum16$i)|0); - HEAP32[$437>>2] = $425; - break; - } - $438 = $rsize$3$lcssa$i >>> 8; - $439 = ($438|0)==(0); - if ($439) { - $I7$0$i = 0; - } else { - $440 = ($rsize$3$lcssa$i>>>0)>(16777215); - if ($440) { - $I7$0$i = 31; - } else { - $441 = (($438) + 1048320)|0; - $442 = $441 >>> 16; - $443 = $442 & 8; - $444 = $438 << $443; - $445 = (($444) + 520192)|0; - $446 = $445 >>> 16; - $447 = $446 & 4; - $448 = $447 | $443; - $449 = $444 << $447; - $450 = (($449) + 245760)|0; - $451 = $450 >>> 16; - $452 = $451 & 2; - $453 = $448 | $452; - $454 = (14 - ($453))|0; - $455 = $449 << $452; - $456 = $455 >>> 15; - $457 = (($454) + ($456))|0; - $458 = $457 << 1; - $459 = (($457) + 7)|0; - $460 = $rsize$3$lcssa$i >>> $459; - $461 = $460 & 1; - $462 = $461 | $458; - $I7$0$i = $462; + $396 = ((($R$1$i20)) + 24|0); + HEAP32[$396>>2] = $351; + $397 = ((($v$3$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($R$1$i20)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $R$1$i20; + break; + } + } + } while(0); + $403 = ((($v$3$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if (!($405)) { + $406 = HEAP32[(7208)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($R$1$i20)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $R$1$i20; + break; + } + } } - } - $463 = ((39000 + ($I7$0$i<<2)|0) + 304|0); - $$sum2$i = (($246) + 28)|0; - $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); - HEAP32[$464>>2] = $I7$0$i; - $$sum3$i27 = (($246) + 16)|0; - $465 = (($v$3$lcssa$i) + ($$sum3$i27)|0); - $$sum4$i28 = (($246) + 20)|0; - $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); - HEAP32[$466>>2] = 0; - HEAP32[$465>>2] = 0; - $467 = HEAP32[((39000 + 4|0))>>2]|0; - $468 = 1 << $I7$0$i; - $469 = $467 & $468; - $470 = ($469|0)==(0); - if ($470) { - $471 = $467 | $468; - HEAP32[((39000 + 4|0))>>2] = $471; - HEAP32[$463>>2] = $348; - $$sum5$i = (($246) + 24)|0; - $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); - HEAP32[$472>>2] = $463; - $$sum6$i = (($246) + 12)|0; - $473 = (($v$3$lcssa$i) + ($$sum6$i)|0); - HEAP32[$473>>2] = $348; - $$sum7$i = (($246) + 8)|0; - $474 = (($v$3$lcssa$i) + ($$sum7$i)|0); - HEAP32[$474>>2] = $348; - break; - } - $475 = HEAP32[$463>>2]|0; - $476 = ($I7$0$i|0)==(31); - if ($476) { - $484 = 0; - } else { - $477 = $I7$0$i >>> 1; - $478 = (25 - ($477))|0; - $484 = $478; - } - $479 = (($475) + 4|0); - $480 = HEAP32[$479>>2]|0; - $481 = $480 & -8; - $482 = ($481|0)==($rsize$3$lcssa$i|0); - L224: do { - if ($482) { - $T$0$lcssa$i = $475; + } while(0); + $410 = ($rsize$3$lcssa$i>>>0)<(16); + L179: do { + if ($410) { + $411 = (($rsize$3$lcssa$i) + ($246))|0; + $412 = $411 | 3; + $413 = ((($v$3$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $$sum18$i = (($411) + 4)|0; + $414 = (($v$3$lcssa$i) + ($$sum18$i)|0); + $415 = HEAP32[$414>>2]|0; + $416 = $415 | 1; + HEAP32[$414>>2] = $416; } else { - $483 = $rsize$3$lcssa$i << $484; - $K12$027$i = $483;$T$026$i = $475; - while(1) { - $491 = $K12$027$i >>> 31; - $492 = ((($T$026$i) + ($491<<2)|0) + 16|0); - $487 = HEAP32[$492>>2]|0; - $493 = ($487|0)==(0|0); - if ($493) { - break; + $417 = $246 | 3; + $418 = ((($v$3$lcssa$i)) + 4|0); + HEAP32[$418>>2] = $417; + $419 = $rsize$3$lcssa$i | 1; + $$sum$i2334 = $246 | 4; + $420 = (($v$3$lcssa$i) + ($$sum$i2334)|0); + HEAP32[$420>>2] = $419; + $$sum1$i24 = (($rsize$3$lcssa$i) + ($246))|0; + $421 = (($v$3$lcssa$i) + ($$sum1$i24)|0); + HEAP32[$421>>2] = $rsize$3$lcssa$i; + $422 = $rsize$3$lcssa$i >>> 3; + $423 = ($rsize$3$lcssa$i>>>0)<(256); + if ($423) { + $424 = $422 << 1; + $425 = (7232 + ($424<<2)|0); + $426 = HEAP32[7192>>2]|0; + $427 = 1 << $422; + $428 = $426 & $427; + $429 = ($428|0)==(0); + if ($429) { + $430 = $426 | $427; + HEAP32[7192>>2] = $430; + $$pre$i25 = (($424) + 2)|0; + $$pre43$i = (7232 + ($$pre$i25<<2)|0); + $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; + } else { + $$sum17$i = (($424) + 2)|0; + $431 = (7232 + ($$sum17$i<<2)|0); + $432 = HEAP32[$431>>2]|0; + $433 = HEAP32[(7208)>>2]|0; + $434 = ($432>>>0)<($433>>>0); + if ($434) { + _abort(); + // unreachable; + } else { + $$pre$phi$i26Z2D = $431;$F5$0$i = $432; + } } - $485 = $K12$027$i << 1; - $486 = (($487) + 4|0); - $488 = HEAP32[$486>>2]|0; - $489 = $488 & -8; - $490 = ($489|0)==($rsize$3$lcssa$i|0); - if ($490) { - $T$0$lcssa$i = $487; - break L224; + HEAP32[$$pre$phi$i26Z2D>>2] = $348; + $435 = ((($F5$0$i)) + 12|0); + HEAP32[$435>>2] = $348; + $$sum15$i = (($246) + 8)|0; + $436 = (($v$3$lcssa$i) + ($$sum15$i)|0); + HEAP32[$436>>2] = $F5$0$i; + $$sum16$i = (($246) + 12)|0; + $437 = (($v$3$lcssa$i) + ($$sum16$i)|0); + HEAP32[$437>>2] = $425; + break; + } + $438 = $rsize$3$lcssa$i >>> 8; + $439 = ($438|0)==(0); + if ($439) { + $I7$0$i = 0; + } else { + $440 = ($rsize$3$lcssa$i>>>0)>(16777215); + if ($440) { + $I7$0$i = 31; } else { - $K12$027$i = $485;$T$026$i = $487; + $441 = (($438) + 1048320)|0; + $442 = $441 >>> 16; + $443 = $442 & 8; + $444 = $438 << $443; + $445 = (($444) + 520192)|0; + $446 = $445 >>> 16; + $447 = $446 & 4; + $448 = $447 | $443; + $449 = $444 << $447; + $450 = (($449) + 245760)|0; + $451 = $450 >>> 16; + $452 = $451 & 2; + $453 = $448 | $452; + $454 = (14 - ($453))|0; + $455 = $449 << $452; + $456 = $455 >>> 15; + $457 = (($454) + ($456))|0; + $458 = $457 << 1; + $459 = (($457) + 7)|0; + $460 = $rsize$3$lcssa$i >>> $459; + $461 = $460 & 1; + $462 = $461 | $458; + $I7$0$i = $462; } } - $494 = HEAP32[((39000 + 16|0))>>2]|0; - $495 = ($492>>>0)<($494>>>0); - if ($495) { + $463 = (7496 + ($I7$0$i<<2)|0); + $$sum2$i = (($246) + 28)|0; + $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); + HEAP32[$464>>2] = $I7$0$i; + $$sum3$i27 = (($246) + 16)|0; + $465 = (($v$3$lcssa$i) + ($$sum3$i27)|0); + $$sum4$i28 = (($246) + 20)|0; + $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); + HEAP32[$466>>2] = 0; + HEAP32[$465>>2] = 0; + $467 = HEAP32[(7196)>>2]|0; + $468 = 1 << $I7$0$i; + $469 = $467 & $468; + $470 = ($469|0)==(0); + if ($470) { + $471 = $467 | $468; + HEAP32[(7196)>>2] = $471; + HEAP32[$463>>2] = $348; + $$sum5$i = (($246) + 24)|0; + $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); + HEAP32[$472>>2] = $463; + $$sum6$i = (($246) + 12)|0; + $473 = (($v$3$lcssa$i) + ($$sum6$i)|0); + HEAP32[$473>>2] = $348; + $$sum7$i = (($246) + 8)|0; + $474 = (($v$3$lcssa$i) + ($$sum7$i)|0); + HEAP32[$474>>2] = $348; + break; + } + $475 = HEAP32[$463>>2]|0; + $476 = ((($475)) + 4|0); + $477 = HEAP32[$476>>2]|0; + $478 = $477 & -8; + $479 = ($478|0)==($rsize$3$lcssa$i|0); + L197: do { + if ($479) { + $T$0$lcssa$i = $475; + } else { + $480 = ($I7$0$i|0)==(31); + $481 = $I7$0$i >>> 1; + $482 = (25 - ($481))|0; + $483 = $480 ? 0 : $482; + $484 = $rsize$3$lcssa$i << $483; + $K12$029$i = $484;$T$028$i = $475; + while(1) { + $491 = $K12$029$i >>> 31; + $492 = (((($T$028$i)) + 16|0) + ($491<<2)|0); + $487 = HEAP32[$492>>2]|0; + $493 = ($487|0)==(0|0); + if ($493) { + $$lcssa232 = $492;$T$028$i$lcssa = $T$028$i; + break; + } + $485 = $K12$029$i << 1; + $486 = ((($487)) + 4|0); + $488 = HEAP32[$486>>2]|0; + $489 = $488 & -8; + $490 = ($489|0)==($rsize$3$lcssa$i|0); + if ($490) { + $T$0$lcssa$i = $487; + break L197; + } else { + $K12$029$i = $485;$T$028$i = $487; + } + } + $494 = HEAP32[(7208)>>2]|0; + $495 = ($$lcssa232>>>0)<($494>>>0); + if ($495) { + _abort(); + // unreachable; + } else { + HEAP32[$$lcssa232>>2] = $348; + $$sum11$i = (($246) + 24)|0; + $496 = (($v$3$lcssa$i) + ($$sum11$i)|0); + HEAP32[$496>>2] = $T$028$i$lcssa; + $$sum12$i = (($246) + 12)|0; + $497 = (($v$3$lcssa$i) + ($$sum12$i)|0); + HEAP32[$497>>2] = $348; + $$sum13$i = (($246) + 8)|0; + $498 = (($v$3$lcssa$i) + ($$sum13$i)|0); + HEAP32[$498>>2] = $348; + break L179; + } + } + } while(0); + $499 = ((($T$0$lcssa$i)) + 8|0); + $500 = HEAP32[$499>>2]|0; + $501 = HEAP32[(7208)>>2]|0; + $502 = ($500>>>0)>=($501>>>0); + $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); + $503 = $502 & $not$$i; + if ($503) { + $504 = ((($500)) + 12|0); + HEAP32[$504>>2] = $348; + HEAP32[$499>>2] = $348; + $$sum8$i = (($246) + 8)|0; + $505 = (($v$3$lcssa$i) + ($$sum8$i)|0); + HEAP32[$505>>2] = $500; + $$sum9$i = (($246) + 12)|0; + $506 = (($v$3$lcssa$i) + ($$sum9$i)|0); + HEAP32[$506>>2] = $T$0$lcssa$i; + $$sum10$i = (($246) + 24)|0; + $507 = (($v$3$lcssa$i) + ($$sum10$i)|0); + HEAP32[$507>>2] = 0; + break; + } else { _abort(); // unreachable; - } else { - HEAP32[$492>>2] = $348; - $$sum11$i = (($246) + 24)|0; - $496 = (($v$3$lcssa$i) + ($$sum11$i)|0); - HEAP32[$496>>2] = $T$026$i; - $$sum12$i = (($246) + 12)|0; - $497 = (($v$3$lcssa$i) + ($$sum12$i)|0); - HEAP32[$497>>2] = $348; - $$sum13$i = (($246) + 8)|0; - $498 = (($v$3$lcssa$i) + ($$sum13$i)|0); - HEAP32[$498>>2] = $348; - break L204; } } } while(0); - $499 = (($T$0$lcssa$i) + 8|0); - $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[((39000 + 16|0))>>2]|0; - $502 = ($T$0$lcssa$i>>>0)>=($501>>>0); - $503 = ($500>>>0)>=($501>>>0); - $or$cond24$i = $502 & $503; - if ($or$cond24$i) { - $504 = (($500) + 12|0); - HEAP32[$504>>2] = $348; - HEAP32[$499>>2] = $348; - $$sum8$i = (($246) + 8)|0; - $505 = (($v$3$lcssa$i) + ($$sum8$i)|0); - HEAP32[$505>>2] = $500; - $$sum9$i = (($246) + 12)|0; - $506 = (($v$3$lcssa$i) + ($$sum9$i)|0); - HEAP32[$506>>2] = $T$0$lcssa$i; - $$sum10$i = (($246) + 24)|0; - $507 = (($v$3$lcssa$i) + ($$sum10$i)|0); - HEAP32[$507>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } + $508 = ((($v$3$lcssa$i)) + 8|0); + $mem$0 = $508; + break; } - } while(0); - $508 = (($v$3$lcssa$i) + 8|0); - $mem$0 = $508; - STACKTOP = sp;return ($mem$0|0); + } + _abort(); + // unreachable; } else { $nb$0 = $246; + label = 154; } } } } } } while(0); - $509 = HEAP32[((39000 + 8|0))>>2]|0; - $510 = ($509>>>0)<($nb$0>>>0); - if (!($510)) { - $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[((39000 + 20|0))>>2]|0; - $513 = ($511>>>0)>(15); - if ($513) { - $514 = (($512) + ($nb$0)|0); - HEAP32[((39000 + 20|0))>>2] = $514; - HEAP32[((39000 + 8|0))>>2] = $511; - $515 = $511 | 1; - $$sum2 = (($nb$0) + 4)|0; - $516 = (($512) + ($$sum2)|0); - HEAP32[$516>>2] = $515; - $517 = (($512) + ($509)|0); - HEAP32[$517>>2] = $511; - $518 = $nb$0 | 3; - $519 = (($512) + 4|0); - HEAP32[$519>>2] = $518; - } else { - HEAP32[((39000 + 8|0))>>2] = 0; - HEAP32[((39000 + 20|0))>>2] = 0; - $520 = $509 | 3; - $521 = (($512) + 4|0); - HEAP32[$521>>2] = $520; - $$sum1 = (($509) + 4)|0; - $522 = (($512) + ($$sum1)|0); - $523 = HEAP32[$522>>2]|0; - $524 = $523 | 1; - HEAP32[$522>>2] = $524; - } - $525 = (($512) + 8|0); - $mem$0 = $525; - STACKTOP = sp;return ($mem$0|0); - } - $526 = HEAP32[((39000 + 12|0))>>2]|0; - $527 = ($526>>>0)>($nb$0>>>0); - if ($527) { - $528 = (($526) - ($nb$0))|0; - HEAP32[((39000 + 12|0))>>2] = $528; - $529 = HEAP32[((39000 + 24|0))>>2]|0; - $530 = (($529) + ($nb$0)|0); - HEAP32[((39000 + 24|0))>>2] = $530; - $531 = $528 | 1; - $$sum = (($nb$0) + 4)|0; - $532 = (($529) + ($$sum)|0); - HEAP32[$532>>2] = $531; - $533 = $nb$0 | 3; - $534 = (($529) + 4|0); - HEAP32[$534>>2] = $533; - $535 = (($529) + 8|0); - $mem$0 = $535; - STACKTOP = sp;return ($mem$0|0); - } - $536 = HEAP32[39472>>2]|0; - $537 = ($536|0)==(0); - do { - if ($537) { - $538 = (_sysconf(30)|0); - $539 = (($538) + -1)|0; - $540 = $539 & $538; - $541 = ($540|0)==(0); - if ($541) { - HEAP32[((39472 + 8|0))>>2] = $538; - HEAP32[((39472 + 4|0))>>2] = $538; - HEAP32[((39472 + 12|0))>>2] = -1; - HEAP32[((39472 + 16|0))>>2] = -1; - HEAP32[((39472 + 20|0))>>2] = 0; - HEAP32[((39000 + 444|0))>>2] = 0; - $542 = (_time((0|0))|0); - $543 = $542 & -16; - $544 = $543 ^ 1431655768; - HEAP32[39472>>2] = $544; + L212: do { + if ((label|0) == 154) { + $509 = HEAP32[(7200)>>2]|0; + $510 = ($509>>>0)<($nb$0>>>0); + if (!($510)) { + $511 = (($509) - ($nb$0))|0; + $512 = HEAP32[(7212)>>2]|0; + $513 = ($511>>>0)>(15); + if ($513) { + $514 = (($512) + ($nb$0)|0); + HEAP32[(7212)>>2] = $514; + HEAP32[(7200)>>2] = $511; + $515 = $511 | 1; + $$sum2 = (($nb$0) + 4)|0; + $516 = (($512) + ($$sum2)|0); + HEAP32[$516>>2] = $515; + $517 = (($512) + ($509)|0); + HEAP32[$517>>2] = $511; + $518 = $nb$0 | 3; + $519 = ((($512)) + 4|0); + HEAP32[$519>>2] = $518; + } else { + HEAP32[(7200)>>2] = 0; + HEAP32[(7212)>>2] = 0; + $520 = $509 | 3; + $521 = ((($512)) + 4|0); + HEAP32[$521>>2] = $520; + $$sum1 = (($509) + 4)|0; + $522 = (($512) + ($$sum1)|0); + $523 = HEAP32[$522>>2]|0; + $524 = $523 | 1; + HEAP32[$522>>2] = $524; + } + $525 = ((($512)) + 8|0); + $mem$0 = $525; break; - } else { - _abort(); - // unreachable; } - } - } while(0); - $545 = (($nb$0) + 48)|0; - $546 = HEAP32[((39472 + 8|0))>>2]|0; - $547 = (($nb$0) + 47)|0; - $548 = (($546) + ($547))|0; - $549 = (0 - ($546))|0; - $550 = $548 & $549; - $551 = ($550>>>0)>($nb$0>>>0); - if (!($551)) { - $mem$0 = 0; - STACKTOP = sp;return ($mem$0|0); - } - $552 = HEAP32[((39000 + 440|0))>>2]|0; - $553 = ($552|0)==(0); - if (!($553)) { - $554 = HEAP32[((39000 + 432|0))>>2]|0; - $555 = (($554) + ($550))|0; - $556 = ($555>>>0)<=($554>>>0); - $557 = ($555>>>0)>($552>>>0); - $or$cond1$i = $556 | $557; - if ($or$cond1$i) { - $mem$0 = 0; - STACKTOP = sp;return ($mem$0|0); - } - } - $558 = HEAP32[((39000 + 444|0))>>2]|0; - $559 = $558 & 4; - $560 = ($559|0)==(0); - L266: do { - if ($560) { - $561 = HEAP32[((39000 + 24|0))>>2]|0; - $562 = ($561|0)==(0|0); - L268: do { - if ($562) { - label = 181; - } else { - $sp$0$i$i = ((39000 + 448|0)); - while(1) { - $563 = HEAP32[$sp$0$i$i>>2]|0; - $564 = ($563>>>0)>($561>>>0); - if (!($564)) { - $565 = (($sp$0$i$i) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = (($563) + ($566)|0); - $568 = ($567>>>0)>($561>>>0); - if ($568) { - break; - } - } - $569 = (($sp$0$i$i) + 8|0); - $570 = HEAP32[$569>>2]|0; - $571 = ($570|0)==(0|0); - if ($571) { - label = 181; - break L268; - } else { - $sp$0$i$i = $570; - } - } - $572 = ($sp$0$i$i|0)==(0|0); - if ($572) { - label = 181; - } else { - $595 = HEAP32[((39000 + 12|0))>>2]|0; - $596 = (($548) - ($595))|0; - $597 = $596 & $549; - $598 = ($597>>>0)<(2147483647); - if ($598) { - $599 = (_sbrk(($597|0))|0); - $600 = HEAP32[$sp$0$i$i>>2]|0; - $601 = HEAP32[$565>>2]|0; - $602 = (($600) + ($601)|0); - $603 = ($599|0)==($602|0); - if ($603) { - $br$0$i = $599;$ssize$1$i = $597; - label = 190; - } else { - $br$030$i = $599;$ssize$129$i = $597; - label = 191; - } - } else { - $tsize$03141$i = 0; - } + $526 = HEAP32[(7204)>>2]|0; + $527 = ($526>>>0)>($nb$0>>>0); + if ($527) { + $528 = (($526) - ($nb$0))|0; + HEAP32[(7204)>>2] = $528; + $529 = HEAP32[(7216)>>2]|0; + $530 = (($529) + ($nb$0)|0); + HEAP32[(7216)>>2] = $530; + $531 = $528 | 1; + $$sum = (($nb$0) + 4)|0; + $532 = (($529) + ($$sum)|0); + HEAP32[$532>>2] = $531; + $533 = $nb$0 | 3; + $534 = ((($529)) + 4|0); + HEAP32[$534>>2] = $533; + $535 = ((($529)) + 8|0); + $mem$0 = $535; + break; + } + $536 = HEAP32[7664>>2]|0; + $537 = ($536|0)==(0); + if ($537) { + _init_mparams(); + } + $538 = (($nb$0) + 48)|0; + $539 = HEAP32[(7672)>>2]|0; + $540 = (($nb$0) + 47)|0; + $541 = (($539) + ($540))|0; + $542 = (0 - ($539))|0; + $543 = $541 & $542; + $544 = ($543>>>0)>($nb$0>>>0); + if ($544) { + $545 = HEAP32[(7632)>>2]|0; + $546 = ($545|0)==(0); + if (!($546)) { + $547 = HEAP32[(7624)>>2]|0; + $548 = (($547) + ($543))|0; + $549 = ($548>>>0)<=($547>>>0); + $550 = ($548>>>0)>($545>>>0); + $or$cond1$i = $549 | $550; + if ($or$cond1$i) { + $mem$0 = 0; + break; } } - } while(0); - do { - if ((label|0) == 181) { - $573 = (_sbrk(0)|0); - $574 = ($573|0)==((-1)|0); - if ($574) { - $tsize$03141$i = 0; - } else { - $575 = $573; - $576 = HEAP32[((39472 + 4|0))>>2]|0; - $577 = (($576) + -1)|0; - $578 = $577 & $575; - $579 = ($578|0)==(0); - if ($579) { - $ssize$0$i = $550; - } else { - $580 = (($577) + ($575))|0; - $581 = (0 - ($576))|0; - $582 = $580 & $581; - $583 = (($550) - ($575))|0; - $584 = (($583) + ($582))|0; - $ssize$0$i = $584; - } - $585 = HEAP32[((39000 + 432|0))>>2]|0; - $586 = (($585) + ($ssize$0$i))|0; - $587 = ($ssize$0$i>>>0)>($nb$0>>>0); - $588 = ($ssize$0$i>>>0)<(2147483647); - $or$cond$i29 = $587 & $588; - if ($or$cond$i29) { - $589 = HEAP32[((39000 + 440|0))>>2]|0; - $590 = ($589|0)==(0); - if (!($590)) { - $591 = ($586>>>0)<=($585>>>0); - $592 = ($586>>>0)>($589>>>0); - $or$cond2$i = $591 | $592; - if ($or$cond2$i) { - $tsize$03141$i = 0; - break; + $551 = HEAP32[(7636)>>2]|0; + $552 = $551 & 4; + $553 = ($552|0)==(0); + L231: do { + if ($553) { + $554 = HEAP32[(7216)>>2]|0; + $555 = ($554|0)==(0|0); + L233: do { + if ($555) { + label = 172; + } else { + $sp$0$i$i = (7640); + while(1) { + $556 = HEAP32[$sp$0$i$i>>2]|0; + $557 = ($556>>>0)>($554>>>0); + if (!($557)) { + $558 = ((($sp$0$i$i)) + 4|0); + $559 = HEAP32[$558>>2]|0; + $560 = (($556) + ($559)|0); + $561 = ($560>>>0)>($554>>>0); + if ($561) { + $$lcssa228 = $sp$0$i$i;$$lcssa230 = $558; + break; + } + } + $562 = ((($sp$0$i$i)) + 8|0); + $563 = HEAP32[$562>>2]|0; + $564 = ($563|0)==(0|0); + if ($564) { + label = 172; + break L233; + } else { + $sp$0$i$i = $563; + } + } + $587 = HEAP32[(7204)>>2]|0; + $588 = (($541) - ($587))|0; + $589 = $588 & $542; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$lcssa228>>2]|0; + $593 = HEAP32[$$lcssa230>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + $$3$i = $595 ? $589 : 0; + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $tsize$0323944$i = $$3$i; + } else { + $tbase$255$i = $591;$tsize$254$i = $$3$i; + label = 192; + break L231; + } + } else { + $br$0$ph$i = $591;$ssize$1$ph$i = $589;$tsize$0$ph$i = $$3$i; + label = 182; + } + } else { + $tsize$0323944$i = 0; } } - $593 = (_sbrk(($ssize$0$i|0))|0); - $594 = ($593|0)==($573|0); - if ($594) { - $br$0$i = $573;$ssize$1$i = $ssize$0$i; - label = 190; - } else { - $br$030$i = $593;$ssize$129$i = $ssize$0$i; - label = 191; + } while(0); + do { + if ((label|0) == 172) { + $565 = (_sbrk(0)|0); + $566 = ($565|0)==((-1)|0); + if ($566) { + $tsize$0323944$i = 0; + } else { + $567 = $565; + $568 = HEAP32[(7668)>>2]|0; + $569 = (($568) + -1)|0; + $570 = $569 & $567; + $571 = ($570|0)==(0); + if ($571) { + $ssize$0$i = $543; + } else { + $572 = (($569) + ($567))|0; + $573 = (0 - ($568))|0; + $574 = $572 & $573; + $575 = (($543) - ($567))|0; + $576 = (($575) + ($574))|0; + $ssize$0$i = $576; + } + $577 = HEAP32[(7624)>>2]|0; + $578 = (($577) + ($ssize$0$i))|0; + $579 = ($ssize$0$i>>>0)>($nb$0>>>0); + $580 = ($ssize$0$i>>>0)<(2147483647); + $or$cond$i30 = $579 & $580; + if ($or$cond$i30) { + $581 = HEAP32[(7632)>>2]|0; + $582 = ($581|0)==(0); + if (!($582)) { + $583 = ($578>>>0)<=($577>>>0); + $584 = ($578>>>0)>($581>>>0); + $or$cond2$i = $583 | $584; + if ($or$cond2$i) { + $tsize$0323944$i = 0; + break; + } + } + $585 = (_sbrk(($ssize$0$i|0))|0); + $586 = ($585|0)==($565|0); + $ssize$0$$i = $586 ? $ssize$0$i : 0; + if ($586) { + $tbase$255$i = $565;$tsize$254$i = $ssize$0$$i; + label = 192; + break L231; + } else { + $br$0$ph$i = $585;$ssize$1$ph$i = $ssize$0$i;$tsize$0$ph$i = $ssize$0$$i; + label = 182; + } + } else { + $tsize$0323944$i = 0; + } + } } - } else { - $tsize$03141$i = 0; - } - } - } - } while(0); - L288: do { - if ((label|0) == 190) { - $604 = ($br$0$i|0)==((-1)|0); - if ($604) { - $tsize$03141$i = $ssize$1$i; - } else { - $tbase$245$i = $br$0$i;$tsize$244$i = $ssize$1$i; - label = 201; - break L266; - } - } - else if ((label|0) == 191) { - $605 = (0 - ($ssize$129$i))|0; - $606 = ($br$030$i|0)!=((-1)|0); - $607 = ($ssize$129$i>>>0)<(2147483647); - $or$cond5$i = $606 & $607; - $608 = ($545>>>0)>($ssize$129$i>>>0); - $or$cond4$i = $or$cond5$i & $608; - do { - if ($or$cond4$i) { - $609 = HEAP32[((39472 + 8|0))>>2]|0; - $610 = (($547) - ($ssize$129$i))|0; - $611 = (($610) + ($609))|0; - $612 = (0 - ($609))|0; - $613 = $611 & $612; - $614 = ($613>>>0)<(2147483647); - if ($614) { - $615 = (_sbrk(($613|0))|0); - $616 = ($615|0)==((-1)|0); - if ($616) { - (_sbrk(($605|0))|0); - $tsize$03141$i = 0; - break L288; + } while(0); + L253: do { + if ((label|0) == 182) { + $597 = (0 - ($ssize$1$ph$i))|0; + $598 = ($br$0$ph$i|0)!=((-1)|0); + $599 = ($ssize$1$ph$i>>>0)<(2147483647); + $or$cond5$i = $599 & $598; + $600 = ($538>>>0)>($ssize$1$ph$i>>>0); + $or$cond6$i = $600 & $or$cond5$i; + do { + if ($or$cond6$i) { + $601 = HEAP32[(7672)>>2]|0; + $602 = (($540) - ($ssize$1$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if ($606) { + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $tsize$0323944$i = $tsize$0$ph$i; + break L253; + } else { + $609 = (($605) + ($ssize$1$ph$i))|0; + $ssize$2$i = $609; + break; + } + } else { + $ssize$2$i = $ssize$1$ph$i; + } + } else { + $ssize$2$i = $ssize$1$ph$i; + } + } while(0); + $610 = ($br$0$ph$i|0)==((-1)|0); + if ($610) { + $tsize$0323944$i = $tsize$0$ph$i; } else { - $617 = (($613) + ($ssize$129$i))|0; - $ssize$2$i = $617; - break; + $tbase$255$i = $br$0$ph$i;$tsize$254$i = $ssize$2$i; + label = 192; + break L231; } - } else { - $ssize$2$i = $ssize$129$i; } - } else { - $ssize$2$i = $ssize$129$i; - } - } while(0); - $618 = ($br$030$i|0)==((-1)|0); - if ($618) { - $tsize$03141$i = 0; - } else { - $tbase$245$i = $br$030$i;$tsize$244$i = $ssize$2$i; - label = 201; - break L266; - } - } - } while(0); - $619 = HEAP32[((39000 + 444|0))>>2]|0; - $620 = $619 | 4; - HEAP32[((39000 + 444|0))>>2] = $620; - $tsize$1$i = $tsize$03141$i; - label = 198; - } else { - $tsize$1$i = 0; - label = 198; - } - } while(0); - if ((label|0) == 198) { - $621 = ($550>>>0)<(2147483647); - if ($621) { - $622 = (_sbrk(($550|0))|0); - $623 = (_sbrk(0)|0); - $624 = ($622|0)!=((-1)|0); - $625 = ($623|0)!=((-1)|0); - $or$cond3$i = $624 & $625; - $626 = ($622>>>0)<($623>>>0); - $or$cond6$i = $or$cond3$i & $626; - if ($or$cond6$i) { - $627 = $623; - $628 = $622; - $629 = (($627) - ($628))|0; - $630 = (($nb$0) + 40)|0; - $631 = ($629>>>0)>($630>>>0); - $$tsize$1$i = $631 ? $629 : $tsize$1$i; - if ($631) { - $tbase$245$i = $622;$tsize$244$i = $$tsize$1$i; - label = 201; - } - } - } - } - if ((label|0) == 201) { - $632 = HEAP32[((39000 + 432|0))>>2]|0; - $633 = (($632) + ($tsize$244$i))|0; - HEAP32[((39000 + 432|0))>>2] = $633; - $634 = HEAP32[((39000 + 436|0))>>2]|0; - $635 = ($633>>>0)>($634>>>0); - if ($635) { - HEAP32[((39000 + 436|0))>>2] = $633; - } - $636 = HEAP32[((39000 + 24|0))>>2]|0; - $637 = ($636|0)==(0|0); - L308: do { - if ($637) { - $638 = HEAP32[((39000 + 16|0))>>2]|0; - $639 = ($638|0)==(0|0); - $640 = ($tbase$245$i>>>0)<($638>>>0); - $or$cond8$i = $639 | $640; - if ($or$cond8$i) { - HEAP32[((39000 + 16|0))>>2] = $tbase$245$i; - } - HEAP32[((39000 + 448|0))>>2] = $tbase$245$i; - HEAP32[((39000 + 452|0))>>2] = $tsize$244$i; - HEAP32[((39000 + 460|0))>>2] = 0; - $641 = HEAP32[39472>>2]|0; - HEAP32[((39000 + 36|0))>>2] = $641; - HEAP32[((39000 + 32|0))>>2] = -1; - $i$02$i$i = 0; - while(1) { - $642 = $i$02$i$i << 1; - $643 = ((39000 + ($642<<2)|0) + 40|0); - $$sum$i$i = (($642) + 3)|0; - $644 = ((39000 + ($$sum$i$i<<2)|0) + 40|0); - HEAP32[$644>>2] = $643; - $$sum1$i$i = (($642) + 2)|0; - $645 = ((39000 + ($$sum1$i$i<<2)|0) + 40|0); - HEAP32[$645>>2] = $643; - $646 = (($i$02$i$i) + 1)|0; - $exitcond$i$i = ($646|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $i$02$i$i = $646; - } - } - $647 = (($tsize$244$i) + -40)|0; - $648 = (($tbase$245$i) + 8|0); - $649 = $648; - $650 = $649 & 7; - $651 = ($650|0)==(0); - if ($651) { - $655 = 0; - } else { - $652 = (0 - ($649))|0; - $653 = $652 & 7; - $655 = $653; - } - $654 = (($tbase$245$i) + ($655)|0); - $656 = (($647) - ($655))|0; - HEAP32[((39000 + 24|0))>>2] = $654; - HEAP32[((39000 + 12|0))>>2] = $656; - $657 = $656 | 1; - $$sum$i12$i = (($655) + 4)|0; - $658 = (($tbase$245$i) + ($$sum$i12$i)|0); - HEAP32[$658>>2] = $657; - $$sum2$i$i = (($tsize$244$i) + -36)|0; - $659 = (($tbase$245$i) + ($$sum2$i$i)|0); - HEAP32[$659>>2] = 40; - $660 = HEAP32[((39472 + 16|0))>>2]|0; - HEAP32[((39000 + 28|0))>>2] = $660; - } else { - $sp$073$i = ((39000 + 448|0)); - while(1) { - $661 = HEAP32[$sp$073$i>>2]|0; - $662 = (($sp$073$i) + 4|0); - $663 = HEAP32[$662>>2]|0; - $664 = (($661) + ($663)|0); - $665 = ($tbase$245$i|0)==($664|0); - if ($665) { - label = 213; - break; - } - $666 = (($sp$073$i) + 8|0); - $667 = HEAP32[$666>>2]|0; - $668 = ($667|0)==(0|0); - if ($668) { - break; + } while(0); + $611 = HEAP32[(7636)>>2]|0; + $612 = $611 | 4; + HEAP32[(7636)>>2] = $612; + $tsize$1$i = $tsize$0323944$i; + label = 189; } else { - $sp$073$i = $667; - } - } - if ((label|0) == 213) { - $669 = (($sp$073$i) + 12|0); - $670 = HEAP32[$669>>2]|0; - $671 = $670 & 8; - $672 = ($671|0)==(0); - if ($672) { - $673 = ($636>>>0)>=($661>>>0); - $674 = ($636>>>0)<($tbase$245$i>>>0); - $or$cond47$i = $673 & $674; - if ($or$cond47$i) { - $675 = (($663) + ($tsize$244$i))|0; - HEAP32[$662>>2] = $675; - $676 = HEAP32[((39000 + 12|0))>>2]|0; - $677 = (($676) + ($tsize$244$i))|0; - $678 = (($636) + 8|0); - $679 = $678; - $680 = $679 & 7; - $681 = ($680|0)==(0); - if ($681) { - $685 = 0; - } else { - $682 = (0 - ($679))|0; - $683 = $682 & 7; - $685 = $683; - } - $684 = (($636) + ($685)|0); - $686 = (($677) - ($685))|0; - HEAP32[((39000 + 24|0))>>2] = $684; - HEAP32[((39000 + 12|0))>>2] = $686; - $687 = $686 | 1; - $$sum$i16$i = (($685) + 4)|0; - $688 = (($636) + ($$sum$i16$i)|0); - HEAP32[$688>>2] = $687; - $$sum2$i17$i = (($677) + 4)|0; - $689 = (($636) + ($$sum2$i17$i)|0); - HEAP32[$689>>2] = 40; - $690 = HEAP32[((39472 + 16|0))>>2]|0; - HEAP32[((39000 + 28|0))>>2] = $690; - break; - } - } - } - $691 = HEAP32[((39000 + 16|0))>>2]|0; - $692 = ($tbase$245$i>>>0)<($691>>>0); - if ($692) { - HEAP32[((39000 + 16|0))>>2] = $tbase$245$i; - $756 = $tbase$245$i; - } else { - $756 = $691; - } - $693 = (($tbase$245$i) + ($tsize$244$i)|0); - $sp$166$i = ((39000 + 448|0)); - while(1) { - $694 = HEAP32[$sp$166$i>>2]|0; - $695 = ($694|0)==($693|0); - if ($695) { - label = 223; - break; + $tsize$1$i = 0; + label = 189; } - $696 = (($sp$166$i) + 8|0); - $697 = HEAP32[$696>>2]|0; - $698 = ($697|0)==(0|0); - if ($698) { - break; - } else { - $sp$166$i = $697; - } - } - if ((label|0) == 223) { - $699 = (($sp$166$i) + 12|0); - $700 = HEAP32[$699>>2]|0; - $701 = $700 & 8; - $702 = ($701|0)==(0); - if ($702) { - HEAP32[$sp$166$i>>2] = $tbase$245$i; - $703 = (($sp$166$i) + 4|0); - $704 = HEAP32[$703>>2]|0; - $705 = (($704) + ($tsize$244$i))|0; - HEAP32[$703>>2] = $705; - $706 = (($tbase$245$i) + 8|0); - $707 = $706; - $708 = $707 & 7; - $709 = ($708|0)==(0); - if ($709) { - $713 = 0; - } else { - $710 = (0 - ($707))|0; - $711 = $710 & 7; - $713 = $711; - } - $712 = (($tbase$245$i) + ($713)|0); - $$sum102$i = (($tsize$244$i) + 8)|0; - $714 = (($tbase$245$i) + ($$sum102$i)|0); - $715 = $714; - $716 = $715 & 7; - $717 = ($716|0)==(0); - if ($717) { - $720 = 0; + } while(0); + if ((label|0) == 189) { + $613 = ($543>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($543|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond3$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond8$i = $618 & $or$cond3$i; + if ($or$cond8$i) { + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($nb$0) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$tsize$1$i = $623 ? $621 : $tsize$1$i; + if ($623) { + $tbase$255$i = $614;$tsize$254$i = $$tsize$1$i; + label = 192; + } + } + } + } + if ((label|0) == 192) { + $624 = HEAP32[(7624)>>2]|0; + $625 = (($624) + ($tsize$254$i))|0; + HEAP32[(7624)>>2] = $625; + $626 = HEAP32[(7628)>>2]|0; + $627 = ($625>>>0)>($626>>>0); + if ($627) { + HEAP32[(7628)>>2] = $625; + } + $628 = HEAP32[(7216)>>2]|0; + $629 = ($628|0)==(0|0); + L272: do { + if ($629) { + $630 = HEAP32[(7208)>>2]|0; + $631 = ($630|0)==(0|0); + $632 = ($tbase$255$i>>>0)<($630>>>0); + $or$cond9$i = $631 | $632; + if ($or$cond9$i) { + HEAP32[(7208)>>2] = $tbase$255$i; + } + HEAP32[(7640)>>2] = $tbase$255$i; + HEAP32[(7644)>>2] = $tsize$254$i; + HEAP32[(7652)>>2] = 0; + $633 = HEAP32[7664>>2]|0; + HEAP32[(7228)>>2] = $633; + HEAP32[(7224)>>2] = -1; + $i$02$i$i = 0; + while(1) { + $634 = $i$02$i$i << 1; + $635 = (7232 + ($634<<2)|0); + $$sum$i13$i = (($634) + 3)|0; + $636 = (7232 + ($$sum$i13$i<<2)|0); + HEAP32[$636>>2] = $635; + $$sum1$i14$i = (($634) + 2)|0; + $637 = (7232 + ($$sum1$i14$i<<2)|0); + HEAP32[$637>>2] = $635; + $638 = (($i$02$i$i) + 1)|0; + $exitcond$i$i = ($638|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $i$02$i$i = $638; + } + } + $639 = (($tsize$254$i) + -40)|0; + $640 = ((($tbase$255$i)) + 8|0); + $641 = $640; + $642 = $641 & 7; + $643 = ($642|0)==(0); + $644 = (0 - ($641))|0; + $645 = $644 & 7; + $646 = $643 ? 0 : $645; + $647 = (($tbase$255$i) + ($646)|0); + $648 = (($639) - ($646))|0; + HEAP32[(7216)>>2] = $647; + HEAP32[(7204)>>2] = $648; + $649 = $648 | 1; + $$sum$i15$i = (($646) + 4)|0; + $650 = (($tbase$255$i) + ($$sum$i15$i)|0); + HEAP32[$650>>2] = $649; + $$sum2$i16$i = (($tsize$254$i) + -36)|0; + $651 = (($tbase$255$i) + ($$sum2$i16$i)|0); + HEAP32[$651>>2] = 40; + $652 = HEAP32[(7680)>>2]|0; + HEAP32[(7220)>>2] = $652; } else { - $718 = (0 - ($715))|0; - $719 = $718 & 7; - $720 = $719; - } - $$sum103$i = (($720) + ($tsize$244$i))|0; - $721 = (($tbase$245$i) + ($$sum103$i)|0); - $722 = $721; - $723 = $712; - $724 = (($722) - ($723))|0; - $$sum$i19$i = (($713) + ($nb$0))|0; - $725 = (($tbase$245$i) + ($$sum$i19$i)|0); - $726 = (($724) - ($nb$0))|0; - $727 = $nb$0 | 3; - $$sum1$i20$i = (($713) + 4)|0; - $728 = (($tbase$245$i) + ($$sum1$i20$i)|0); - HEAP32[$728>>2] = $727; - $729 = ($721|0)==($636|0); - L345: do { - if ($729) { - $730 = HEAP32[((39000 + 12|0))>>2]|0; - $731 = (($730) + ($726))|0; - HEAP32[((39000 + 12|0))>>2] = $731; - HEAP32[((39000 + 24|0))>>2] = $725; - $732 = $731 | 1; - $$sum42$i$i = (($$sum$i19$i) + 4)|0; - $733 = (($tbase$245$i) + ($$sum42$i$i)|0); - HEAP32[$733>>2] = $732; + $sp$084$i = (7640); + while(1) { + $653 = HEAP32[$sp$084$i>>2]|0; + $654 = ((($sp$084$i)) + 4|0); + $655 = HEAP32[$654>>2]|0; + $656 = (($653) + ($655)|0); + $657 = ($tbase$255$i|0)==($656|0); + if ($657) { + $$lcssa222 = $653;$$lcssa224 = $654;$$lcssa226 = $655;$sp$084$i$lcssa = $sp$084$i; + label = 202; + break; + } + $658 = ((($sp$084$i)) + 8|0); + $659 = HEAP32[$658>>2]|0; + $660 = ($659|0)==(0|0); + if ($660) { + break; + } else { + $sp$084$i = $659; + } + } + if ((label|0) == 202) { + $661 = ((($sp$084$i$lcssa)) + 12|0); + $662 = HEAP32[$661>>2]|0; + $663 = $662 & 8; + $664 = ($663|0)==(0); + if ($664) { + $665 = ($628>>>0)>=($$lcssa222>>>0); + $666 = ($628>>>0)<($tbase$255$i>>>0); + $or$cond57$i = $666 & $665; + if ($or$cond57$i) { + $667 = (($$lcssa226) + ($tsize$254$i))|0; + HEAP32[$$lcssa224>>2] = $667; + $668 = HEAP32[(7204)>>2]|0; + $669 = (($668) + ($tsize$254$i))|0; + $670 = ((($628)) + 8|0); + $671 = $670; + $672 = $671 & 7; + $673 = ($672|0)==(0); + $674 = (0 - ($671))|0; + $675 = $674 & 7; + $676 = $673 ? 0 : $675; + $677 = (($628) + ($676)|0); + $678 = (($669) - ($676))|0; + HEAP32[(7216)>>2] = $677; + HEAP32[(7204)>>2] = $678; + $679 = $678 | 1; + $$sum$i17$i = (($676) + 4)|0; + $680 = (($628) + ($$sum$i17$i)|0); + HEAP32[$680>>2] = $679; + $$sum2$i18$i = (($669) + 4)|0; + $681 = (($628) + ($$sum2$i18$i)|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(7680)>>2]|0; + HEAP32[(7220)>>2] = $682; + break; + } + } + } + $683 = HEAP32[(7208)>>2]|0; + $684 = ($tbase$255$i>>>0)<($683>>>0); + if ($684) { + HEAP32[(7208)>>2] = $tbase$255$i; + $748 = $tbase$255$i; } else { - $734 = HEAP32[((39000 + 20|0))>>2]|0; - $735 = ($721|0)==($734|0); - if ($735) { - $736 = HEAP32[((39000 + 8|0))>>2]|0; - $737 = (($736) + ($726))|0; - HEAP32[((39000 + 8|0))>>2] = $737; - HEAP32[((39000 + 20|0))>>2] = $725; - $738 = $737 | 1; - $$sum40$i$i = (($$sum$i19$i) + 4)|0; - $739 = (($tbase$245$i) + ($$sum40$i$i)|0); - HEAP32[$739>>2] = $738; - $$sum41$i$i = (($737) + ($$sum$i19$i))|0; - $740 = (($tbase$245$i) + ($$sum41$i$i)|0); - HEAP32[$740>>2] = $737; + $748 = $683; + } + $685 = (($tbase$255$i) + ($tsize$254$i)|0); + $sp$183$i = (7640); + while(1) { + $686 = HEAP32[$sp$183$i>>2]|0; + $687 = ($686|0)==($685|0); + if ($687) { + $$lcssa219 = $sp$183$i;$sp$183$i$lcssa = $sp$183$i; + label = 210; break; } - $$sum2$i21$i = (($tsize$244$i) + 4)|0; - $$sum104$i = (($$sum2$i21$i) + ($720))|0; - $741 = (($tbase$245$i) + ($$sum104$i)|0); - $742 = HEAP32[$741>>2]|0; - $743 = $742 & 3; - $744 = ($743|0)==(1); - if ($744) { - $745 = $742 & -8; - $746 = $742 >>> 3; - $747 = ($742>>>0)<(256); - L352: do { - if ($747) { - $$sum3738$i$i = $720 | 8; - $$sum114$i = (($$sum3738$i$i) + ($tsize$244$i))|0; - $748 = (($tbase$245$i) + ($$sum114$i)|0); - $749 = HEAP32[$748>>2]|0; - $$sum39$i$i = (($tsize$244$i) + 12)|0; - $$sum115$i = (($$sum39$i$i) + ($720))|0; - $750 = (($tbase$245$i) + ($$sum115$i)|0); - $751 = HEAP32[$750>>2]|0; - $752 = $746 << 1; - $753 = ((39000 + ($752<<2)|0) + 40|0); - $754 = ($749|0)==($753|0); - do { - if (!($754)) { - $755 = ($749>>>0)<($756>>>0); - if ($755) { - _abort(); - // unreachable; - } - $757 = (($749) + 12|0); - $758 = HEAP32[$757>>2]|0; - $759 = ($758|0)==($721|0); - if ($759) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $760 = ($751|0)==($749|0); - if ($760) { - $761 = 1 << $746; - $762 = $761 ^ -1; - $763 = HEAP32[39000>>2]|0; - $764 = $763 & $762; - HEAP32[39000>>2] = $764; + $688 = ((($sp$183$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + $sp$0$i$i$i = (7640); + break; + } else { + $sp$183$i = $689; + } + } + if ((label|0) == 210) { + $691 = ((($sp$183$i$lcssa)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + HEAP32[$$lcssa219>>2] = $tbase$255$i; + $695 = ((($sp$183$i$lcssa)) + 4|0); + $696 = HEAP32[$695>>2]|0; + $697 = (($696) + ($tsize$254$i))|0; + HEAP32[$695>>2] = $697; + $698 = ((($tbase$255$i)) + 8|0); + $699 = $698; + $700 = $699 & 7; + $701 = ($700|0)==(0); + $702 = (0 - ($699))|0; + $703 = $702 & 7; + $704 = $701 ? 0 : $703; + $705 = (($tbase$255$i) + ($704)|0); + $$sum112$i = (($tsize$254$i) + 8)|0; + $706 = (($tbase$255$i) + ($$sum112$i)|0); + $707 = $706; + $708 = $707 & 7; + $709 = ($708|0)==(0); + $710 = (0 - ($707))|0; + $711 = $710 & 7; + $712 = $709 ? 0 : $711; + $$sum113$i = (($712) + ($tsize$254$i))|0; + $713 = (($tbase$255$i) + ($$sum113$i)|0); + $714 = $713; + $715 = $705; + $716 = (($714) - ($715))|0; + $$sum$i19$i = (($704) + ($nb$0))|0; + $717 = (($tbase$255$i) + ($$sum$i19$i)|0); + $718 = (($716) - ($nb$0))|0; + $719 = $nb$0 | 3; + $$sum1$i20$i = (($704) + 4)|0; + $720 = (($tbase$255$i) + ($$sum1$i20$i)|0); + HEAP32[$720>>2] = $719; + $721 = ($713|0)==($628|0); + L297: do { + if ($721) { + $722 = HEAP32[(7204)>>2]|0; + $723 = (($722) + ($718))|0; + HEAP32[(7204)>>2] = $723; + HEAP32[(7216)>>2] = $717; + $724 = $723 | 1; + $$sum42$i$i = (($$sum$i19$i) + 4)|0; + $725 = (($tbase$255$i) + ($$sum42$i$i)|0); + HEAP32[$725>>2] = $724; + } else { + $726 = HEAP32[(7212)>>2]|0; + $727 = ($713|0)==($726|0); + if ($727) { + $728 = HEAP32[(7200)>>2]|0; + $729 = (($728) + ($718))|0; + HEAP32[(7200)>>2] = $729; + HEAP32[(7212)>>2] = $717; + $730 = $729 | 1; + $$sum40$i$i = (($$sum$i19$i) + 4)|0; + $731 = (($tbase$255$i) + ($$sum40$i$i)|0); + HEAP32[$731>>2] = $730; + $$sum41$i$i = (($729) + ($$sum$i19$i))|0; + $732 = (($tbase$255$i) + ($$sum41$i$i)|0); + HEAP32[$732>>2] = $729; break; } - $765 = ($751|0)==($753|0); - do { - if ($765) { - $$pre58$i$i = (($751) + 8|0); - $$pre$phi59$i$iZ2D = $$pre58$i$i; - } else { - $766 = ($751>>>0)<($756>>>0); - if ($766) { - _abort(); - // unreachable; - } - $767 = (($751) + 8|0); - $768 = HEAP32[$767>>2]|0; - $769 = ($768|0)==($721|0); - if ($769) { - $$pre$phi59$i$iZ2D = $767; - break; - } - _abort(); - // unreachable; - } - } while(0); - $770 = (($749) + 12|0); - HEAP32[$770>>2] = $751; - HEAP32[$$pre$phi59$i$iZ2D>>2] = $749; - } else { - $$sum34$i$i = $720 | 24; - $$sum105$i = (($$sum34$i$i) + ($tsize$244$i))|0; - $771 = (($tbase$245$i) + ($$sum105$i)|0); - $772 = HEAP32[$771>>2]|0; - $$sum5$i$i = (($tsize$244$i) + 12)|0; - $$sum106$i = (($$sum5$i$i) + ($720))|0; - $773 = (($tbase$245$i) + ($$sum106$i)|0); - $774 = HEAP32[$773>>2]|0; - $775 = ($774|0)==($721|0); - do { - if ($775) { - $$sum67$i$i = $720 | 16; - $$sum112$i = (($$sum2$i21$i) + ($$sum67$i$i))|0; - $785 = (($tbase$245$i) + ($$sum112$i)|0); - $786 = HEAP32[$785>>2]|0; - $787 = ($786|0)==(0|0); - if ($787) { - $$sum113$i = (($$sum67$i$i) + ($tsize$244$i))|0; - $788 = (($tbase$245$i) + ($$sum113$i)|0); - $789 = HEAP32[$788>>2]|0; - $790 = ($789|0)==(0|0); - if ($790) { - $R$1$i$i = 0; + $$sum2$i21$i = (($tsize$254$i) + 4)|0; + $$sum114$i = (($$sum2$i21$i) + ($712))|0; + $733 = (($tbase$255$i) + ($$sum114$i)|0); + $734 = HEAP32[$733>>2]|0; + $735 = $734 & 3; + $736 = ($735|0)==(1); + if ($736) { + $737 = $734 & -8; + $738 = $734 >>> 3; + $739 = ($734>>>0)<(256); + L305: do { + if ($739) { + $$sum3738$i$i = $712 | 8; + $$sum124$i = (($$sum3738$i$i) + ($tsize$254$i))|0; + $740 = (($tbase$255$i) + ($$sum124$i)|0); + $741 = HEAP32[$740>>2]|0; + $$sum39$i$i = (($tsize$254$i) + 12)|0; + $$sum125$i = (($$sum39$i$i) + ($712))|0; + $742 = (($tbase$255$i) + ($$sum125$i)|0); + $743 = HEAP32[$742>>2]|0; + $744 = $738 << 1; + $745 = (7232 + ($744<<2)|0); + $746 = ($741|0)==($745|0); + do { + if (!($746)) { + $747 = ($741>>>0)<($748>>>0); + if (!($747)) { + $749 = ((($741)) + 12|0); + $750 = HEAP32[$749>>2]|0; + $751 = ($750|0)==($713|0); + if ($751) { + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $752 = ($743|0)==($741|0); + if ($752) { + $753 = 1 << $738; + $754 = $753 ^ -1; + $755 = HEAP32[7192>>2]|0; + $756 = $755 & $754; + HEAP32[7192>>2] = $756; break; - } else { - $R$0$i$i = $789;$RP$0$i$i = $788; } + $757 = ($743|0)==($745|0); + do { + if ($757) { + $$pre57$i$i = ((($743)) + 8|0); + $$pre$phi58$i$iZ2D = $$pre57$i$i; + } else { + $758 = ($743>>>0)<($748>>>0); + if (!($758)) { + $759 = ((($743)) + 8|0); + $760 = HEAP32[$759>>2]|0; + $761 = ($760|0)==($713|0); + if ($761) { + $$pre$phi58$i$iZ2D = $759; + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $762 = ((($741)) + 12|0); + HEAP32[$762>>2] = $743; + HEAP32[$$pre$phi58$i$iZ2D>>2] = $741; } else { - $R$0$i$i = $786;$RP$0$i$i = $785; - } - while(1) { - $791 = (($R$0$i$i) + 20|0); + $$sum34$i$i = $712 | 24; + $$sum115$i = (($$sum34$i$i) + ($tsize$254$i))|0; + $763 = (($tbase$255$i) + ($$sum115$i)|0); + $764 = HEAP32[$763>>2]|0; + $$sum5$i$i = (($tsize$254$i) + 12)|0; + $$sum116$i = (($$sum5$i$i) + ($712))|0; + $765 = (($tbase$255$i) + ($$sum116$i)|0); + $766 = HEAP32[$765>>2]|0; + $767 = ($766|0)==($713|0); + L324: do { + if ($767) { + $$sum67$i$i = $712 | 16; + $$sum122$i = (($$sum2$i21$i) + ($$sum67$i$i))|0; + $777 = (($tbase$255$i) + ($$sum122$i)|0); + $778 = HEAP32[$777>>2]|0; + $779 = ($778|0)==(0|0); + if ($779) { + $$sum123$i = (($$sum67$i$i) + ($tsize$254$i))|0; + $780 = (($tbase$255$i) + ($$sum123$i)|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==(0|0); + if ($782) { + $R$1$i$i = 0; + break; + } else { + $R$0$i$i = $781;$RP$0$i$i = $780; + } + } else { + $R$0$i$i = $778;$RP$0$i$i = $777; + } + while(1) { + $783 = ((($R$0$i$i)) + 20|0); + $784 = HEAP32[$783>>2]|0; + $785 = ($784|0)==(0|0); + if (!($785)) { + $R$0$i$i = $784;$RP$0$i$i = $783; + continue; + } + $786 = ((($R$0$i$i)) + 16|0); + $787 = HEAP32[$786>>2]|0; + $788 = ($787|0)==(0|0); + if ($788) { + $R$0$i$i$lcssa = $R$0$i$i;$RP$0$i$i$lcssa = $RP$0$i$i; + break; + } else { + $R$0$i$i = $787;$RP$0$i$i = $786; + } + } + $789 = ($RP$0$i$i$lcssa>>>0)<($748>>>0); + if ($789) { + _abort(); + // unreachable; + } else { + HEAP32[$RP$0$i$i$lcssa>>2] = 0; + $R$1$i$i = $R$0$i$i$lcssa; + break; + } + } else { + $$sum3536$i$i = $712 | 8; + $$sum117$i = (($$sum3536$i$i) + ($tsize$254$i))|0; + $768 = (($tbase$255$i) + ($$sum117$i)|0); + $769 = HEAP32[$768>>2]|0; + $770 = ($769>>>0)<($748>>>0); + do { + if (!($770)) { + $771 = ((($769)) + 12|0); + $772 = HEAP32[$771>>2]|0; + $773 = ($772|0)==($713|0); + if (!($773)) { + break; + } + $774 = ((($766)) + 8|0); + $775 = HEAP32[$774>>2]|0; + $776 = ($775|0)==($713|0); + if (!($776)) { + break; + } + HEAP32[$771>>2] = $766; + HEAP32[$774>>2] = $769; + $R$1$i$i = $766; + break L324; + } + } while(0); + _abort(); + // unreachable; + } + } while(0); + $790 = ($764|0)==(0|0); + if ($790) { + break; + } + $$sum30$i$i = (($tsize$254$i) + 28)|0; + $$sum118$i = (($$sum30$i$i) + ($712))|0; + $791 = (($tbase$255$i) + ($$sum118$i)|0); $792 = HEAP32[$791>>2]|0; - $793 = ($792|0)==(0|0); - if (!($793)) { - $R$0$i$i = $792;$RP$0$i$i = $791; - continue; + $793 = (7496 + ($792<<2)|0); + $794 = HEAP32[$793>>2]|0; + $795 = ($713|0)==($794|0); + do { + if ($795) { + HEAP32[$793>>2] = $R$1$i$i; + $cond$i$i = ($R$1$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $796 = 1 << $792; + $797 = $796 ^ -1; + $798 = HEAP32[(7196)>>2]|0; + $799 = $798 & $797; + HEAP32[(7196)>>2] = $799; + break L305; + } else { + $800 = HEAP32[(7208)>>2]|0; + $801 = ($764>>>0)<($800>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($764)) + 16|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($713|0); + if ($804) { + HEAP32[$802>>2] = $R$1$i$i; + } else { + $805 = ((($764)) + 20|0); + HEAP32[$805>>2] = $R$1$i$i; + } + $806 = ($R$1$i$i|0)==(0|0); + if ($806) { + break L305; + } + } + } while(0); + $807 = HEAP32[(7208)>>2]|0; + $808 = ($R$1$i$i>>>0)<($807>>>0); + if ($808) { + _abort(); + // unreachable; } - $794 = (($R$0$i$i) + 16|0); - $795 = HEAP32[$794>>2]|0; - $796 = ($795|0)==(0|0); - if ($796) { + $809 = ((($R$1$i$i)) + 24|0); + HEAP32[$809>>2] = $764; + $$sum3132$i$i = $712 | 16; + $$sum119$i = (($$sum3132$i$i) + ($tsize$254$i))|0; + $810 = (($tbase$255$i) + ($$sum119$i)|0); + $811 = HEAP32[$810>>2]|0; + $812 = ($811|0)==(0|0); + do { + if (!($812)) { + $813 = ($811>>>0)<($807>>>0); + if ($813) { + _abort(); + // unreachable; + } else { + $814 = ((($R$1$i$i)) + 16|0); + HEAP32[$814>>2] = $811; + $815 = ((($811)) + 24|0); + HEAP32[$815>>2] = $R$1$i$i; + break; + } + } + } while(0); + $$sum120$i = (($$sum2$i21$i) + ($$sum3132$i$i))|0; + $816 = (($tbase$255$i) + ($$sum120$i)|0); + $817 = HEAP32[$816>>2]|0; + $818 = ($817|0)==(0|0); + if ($818) { break; + } + $819 = HEAP32[(7208)>>2]|0; + $820 = ($817>>>0)<($819>>>0); + if ($820) { + _abort(); + // unreachable; } else { - $R$0$i$i = $795;$RP$0$i$i = $794; + $821 = ((($R$1$i$i)) + 20|0); + HEAP32[$821>>2] = $817; + $822 = ((($817)) + 24|0); + HEAP32[$822>>2] = $R$1$i$i; + break; } } - $797 = ($RP$0$i$i>>>0)<($756>>>0); - if ($797) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$i>>2] = 0; - $R$1$i$i = $R$0$i$i; - break; - } - } else { - $$sum3536$i$i = $720 | 8; - $$sum107$i = (($$sum3536$i$i) + ($tsize$244$i))|0; - $776 = (($tbase$245$i) + ($$sum107$i)|0); - $777 = HEAP32[$776>>2]|0; - $778 = ($777>>>0)<($756>>>0); - if ($778) { - _abort(); - // unreachable; - } - $779 = (($777) + 12|0); - $780 = HEAP32[$779>>2]|0; - $781 = ($780|0)==($721|0); - if (!($781)) { - _abort(); - // unreachable; - } - $782 = (($774) + 8|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==($721|0); - if ($784) { - HEAP32[$779>>2] = $774; - HEAP32[$782>>2] = $777; - $R$1$i$i = $774; - break; + } while(0); + $$sum9$i$i = $737 | $712; + $$sum121$i = (($$sum9$i$i) + ($tsize$254$i))|0; + $823 = (($tbase$255$i) + ($$sum121$i)|0); + $824 = (($737) + ($718))|0; + $oldfirst$0$i$i = $823;$qsize$0$i$i = $824; + } else { + $oldfirst$0$i$i = $713;$qsize$0$i$i = $718; + } + $825 = ((($oldfirst$0$i$i)) + 4|0); + $826 = HEAP32[$825>>2]|0; + $827 = $826 & -2; + HEAP32[$825>>2] = $827; + $828 = $qsize$0$i$i | 1; + $$sum10$i$i = (($$sum$i19$i) + 4)|0; + $829 = (($tbase$255$i) + ($$sum10$i$i)|0); + HEAP32[$829>>2] = $828; + $$sum11$i$i = (($qsize$0$i$i) + ($$sum$i19$i))|0; + $830 = (($tbase$255$i) + ($$sum11$i$i)|0); + HEAP32[$830>>2] = $qsize$0$i$i; + $831 = $qsize$0$i$i >>> 3; + $832 = ($qsize$0$i$i>>>0)<(256); + if ($832) { + $833 = $831 << 1; + $834 = (7232 + ($833<<2)|0); + $835 = HEAP32[7192>>2]|0; + $836 = 1 << $831; + $837 = $835 & $836; + $838 = ($837|0)==(0); + do { + if ($838) { + $839 = $835 | $836; + HEAP32[7192>>2] = $839; + $$pre$i22$i = (($833) + 2)|0; + $$pre56$i$i = (7232 + ($$pre$i22$i<<2)|0); + $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $834; } else { + $$sum29$i$i = (($833) + 2)|0; + $840 = (7232 + ($$sum29$i$i<<2)|0); + $841 = HEAP32[$840>>2]|0; + $842 = HEAP32[(7208)>>2]|0; + $843 = ($841>>>0)<($842>>>0); + if (!($843)) { + $$pre$phi$i23$iZ2D = $840;$F4$0$i$i = $841; + break; + } _abort(); // unreachable; } - } - } while(0); - $798 = ($772|0)==(0|0); - if ($798) { + } while(0); + HEAP32[$$pre$phi$i23$iZ2D>>2] = $717; + $844 = ((($F4$0$i$i)) + 12|0); + HEAP32[$844>>2] = $717; + $$sum27$i$i = (($$sum$i19$i) + 8)|0; + $845 = (($tbase$255$i) + ($$sum27$i$i)|0); + HEAP32[$845>>2] = $F4$0$i$i; + $$sum28$i$i = (($$sum$i19$i) + 12)|0; + $846 = (($tbase$255$i) + ($$sum28$i$i)|0); + HEAP32[$846>>2] = $834; break; } - $$sum30$i$i = (($tsize$244$i) + 28)|0; - $$sum108$i = (($$sum30$i$i) + ($720))|0; - $799 = (($tbase$245$i) + ($$sum108$i)|0); - $800 = HEAP32[$799>>2]|0; - $801 = ((39000 + ($800<<2)|0) + 304|0); - $802 = HEAP32[$801>>2]|0; - $803 = ($721|0)==($802|0); + $847 = $qsize$0$i$i >>> 8; + $848 = ($847|0)==(0); do { - if ($803) { - HEAP32[$801>>2] = $R$1$i$i; - $cond$i$i = ($R$1$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $804 = 1 << $800; - $805 = $804 ^ -1; - $806 = HEAP32[((39000 + 4|0))>>2]|0; - $807 = $806 & $805; - HEAP32[((39000 + 4|0))>>2] = $807; - break L352; + if ($848) { + $I7$0$i$i = 0; } else { - $808 = HEAP32[((39000 + 16|0))>>2]|0; - $809 = ($772>>>0)<($808>>>0); - if ($809) { - _abort(); - // unreachable; - } - $810 = (($772) + 16|0); - $811 = HEAP32[$810>>2]|0; - $812 = ($811|0)==($721|0); - if ($812) { - HEAP32[$810>>2] = $R$1$i$i; - } else { - $813 = (($772) + 20|0); - HEAP32[$813>>2] = $R$1$i$i; - } - $814 = ($R$1$i$i|0)==(0|0); - if ($814) { - break L352; + $849 = ($qsize$0$i$i>>>0)>(16777215); + if ($849) { + $I7$0$i$i = 31; + break; } + $850 = (($847) + 1048320)|0; + $851 = $850 >>> 16; + $852 = $851 & 8; + $853 = $847 << $852; + $854 = (($853) + 520192)|0; + $855 = $854 >>> 16; + $856 = $855 & 4; + $857 = $856 | $852; + $858 = $853 << $856; + $859 = (($858) + 245760)|0; + $860 = $859 >>> 16; + $861 = $860 & 2; + $862 = $857 | $861; + $863 = (14 - ($862))|0; + $864 = $858 << $861; + $865 = $864 >>> 15; + $866 = (($863) + ($865))|0; + $867 = $866 << 1; + $868 = (($866) + 7)|0; + $869 = $qsize$0$i$i >>> $868; + $870 = $869 & 1; + $871 = $870 | $867; + $I7$0$i$i = $871; } } while(0); - $815 = HEAP32[((39000 + 16|0))>>2]|0; - $816 = ($R$1$i$i>>>0)<($815>>>0); - if ($816) { - _abort(); - // unreachable; + $872 = (7496 + ($I7$0$i$i<<2)|0); + $$sum12$i$i = (($$sum$i19$i) + 28)|0; + $873 = (($tbase$255$i) + ($$sum12$i$i)|0); + HEAP32[$873>>2] = $I7$0$i$i; + $$sum13$i$i = (($$sum$i19$i) + 16)|0; + $874 = (($tbase$255$i) + ($$sum13$i$i)|0); + $$sum14$i$i = (($$sum$i19$i) + 20)|0; + $875 = (($tbase$255$i) + ($$sum14$i$i)|0); + HEAP32[$875>>2] = 0; + HEAP32[$874>>2] = 0; + $876 = HEAP32[(7196)>>2]|0; + $877 = 1 << $I7$0$i$i; + $878 = $876 & $877; + $879 = ($878|0)==(0); + if ($879) { + $880 = $876 | $877; + HEAP32[(7196)>>2] = $880; + HEAP32[$872>>2] = $717; + $$sum15$i$i = (($$sum$i19$i) + 24)|0; + $881 = (($tbase$255$i) + ($$sum15$i$i)|0); + HEAP32[$881>>2] = $872; + $$sum16$i$i = (($$sum$i19$i) + 12)|0; + $882 = (($tbase$255$i) + ($$sum16$i$i)|0); + HEAP32[$882>>2] = $717; + $$sum17$i$i = (($$sum$i19$i) + 8)|0; + $883 = (($tbase$255$i) + ($$sum17$i$i)|0); + HEAP32[$883>>2] = $717; + break; } - $817 = (($R$1$i$i) + 24|0); - HEAP32[$817>>2] = $772; - $$sum3132$i$i = $720 | 16; - $$sum109$i = (($$sum3132$i$i) + ($tsize$244$i))|0; - $818 = (($tbase$245$i) + ($$sum109$i)|0); - $819 = HEAP32[$818>>2]|0; - $820 = ($819|0)==(0|0); - do { - if (!($820)) { - $821 = ($819>>>0)<($815>>>0); - if ($821) { + $884 = HEAP32[$872>>2]|0; + $885 = ((($884)) + 4|0); + $886 = HEAP32[$885>>2]|0; + $887 = $886 & -8; + $888 = ($887|0)==($qsize$0$i$i|0); + L385: do { + if ($888) { + $T$0$lcssa$i25$i = $884; + } else { + $889 = ($I7$0$i$i|0)==(31); + $890 = $I7$0$i$i >>> 1; + $891 = (25 - ($890))|0; + $892 = $889 ? 0 : $891; + $893 = $qsize$0$i$i << $892; + $K8$051$i$i = $893;$T$050$i$i = $884; + while(1) { + $900 = $K8$051$i$i >>> 31; + $901 = (((($T$050$i$i)) + 16|0) + ($900<<2)|0); + $896 = HEAP32[$901>>2]|0; + $902 = ($896|0)==(0|0); + if ($902) { + $$lcssa = $901;$T$050$i$i$lcssa = $T$050$i$i; + break; + } + $894 = $K8$051$i$i << 1; + $895 = ((($896)) + 4|0); + $897 = HEAP32[$895>>2]|0; + $898 = $897 & -8; + $899 = ($898|0)==($qsize$0$i$i|0); + if ($899) { + $T$0$lcssa$i25$i = $896; + break L385; + } else { + $K8$051$i$i = $894;$T$050$i$i = $896; + } + } + $903 = HEAP32[(7208)>>2]|0; + $904 = ($$lcssa>>>0)<($903>>>0); + if ($904) { _abort(); // unreachable; } else { - $822 = (($R$1$i$i) + 16|0); - HEAP32[$822>>2] = $819; - $823 = (($819) + 24|0); - HEAP32[$823>>2] = $R$1$i$i; - break; + HEAP32[$$lcssa>>2] = $717; + $$sum23$i$i = (($$sum$i19$i) + 24)|0; + $905 = (($tbase$255$i) + ($$sum23$i$i)|0); + HEAP32[$905>>2] = $T$050$i$i$lcssa; + $$sum24$i$i = (($$sum$i19$i) + 12)|0; + $906 = (($tbase$255$i) + ($$sum24$i$i)|0); + HEAP32[$906>>2] = $717; + $$sum25$i$i = (($$sum$i19$i) + 8)|0; + $907 = (($tbase$255$i) + ($$sum25$i$i)|0); + HEAP32[$907>>2] = $717; + break L297; } } } while(0); - $$sum110$i = (($$sum2$i21$i) + ($$sum3132$i$i))|0; - $824 = (($tbase$245$i) + ($$sum110$i)|0); - $825 = HEAP32[$824>>2]|0; - $826 = ($825|0)==(0|0); - if ($826) { + $908 = ((($T$0$lcssa$i25$i)) + 8|0); + $909 = HEAP32[$908>>2]|0; + $910 = HEAP32[(7208)>>2]|0; + $911 = ($909>>>0)>=($910>>>0); + $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($910>>>0); + $912 = $911 & $not$$i26$i; + if ($912) { + $913 = ((($909)) + 12|0); + HEAP32[$913>>2] = $717; + HEAP32[$908>>2] = $717; + $$sum20$i$i = (($$sum$i19$i) + 8)|0; + $914 = (($tbase$255$i) + ($$sum20$i$i)|0); + HEAP32[$914>>2] = $909; + $$sum21$i$i = (($$sum$i19$i) + 12)|0; + $915 = (($tbase$255$i) + ($$sum21$i$i)|0); + HEAP32[$915>>2] = $T$0$lcssa$i25$i; + $$sum22$i$i = (($$sum$i19$i) + 24)|0; + $916 = (($tbase$255$i) + ($$sum22$i$i)|0); + HEAP32[$916>>2] = 0; break; - } - $827 = HEAP32[((39000 + 16|0))>>2]|0; - $828 = ($825>>>0)<($827>>>0); - if ($828) { + } else { _abort(); // unreachable; - } else { - $829 = (($R$1$i$i) + 20|0); - HEAP32[$829>>2] = $825; - $830 = (($825) + 24|0); - HEAP32[$830>>2] = $R$1$i$i; - break; } } } while(0); - $$sum9$i$i = $745 | $720; - $$sum111$i = (($$sum9$i$i) + ($tsize$244$i))|0; - $831 = (($tbase$245$i) + ($$sum111$i)|0); - $832 = (($745) + ($726))|0; - $oldfirst$0$i$i = $831;$qsize$0$i$i = $832; + $$sum1819$i$i = $704 | 8; + $917 = (($tbase$255$i) + ($$sum1819$i$i)|0); + $mem$0 = $917; + break L212; } else { - $oldfirst$0$i$i = $721;$qsize$0$i$i = $726; - } - $833 = (($oldfirst$0$i$i) + 4|0); - $834 = HEAP32[$833>>2]|0; - $835 = $834 & -2; - HEAP32[$833>>2] = $835; - $836 = $qsize$0$i$i | 1; - $$sum10$i$i = (($$sum$i19$i) + 4)|0; - $837 = (($tbase$245$i) + ($$sum10$i$i)|0); - HEAP32[$837>>2] = $836; - $$sum11$i22$i = (($qsize$0$i$i) + ($$sum$i19$i))|0; - $838 = (($tbase$245$i) + ($$sum11$i22$i)|0); - HEAP32[$838>>2] = $qsize$0$i$i; - $839 = $qsize$0$i$i >>> 3; - $840 = ($qsize$0$i$i>>>0)<(256); - if ($840) { - $841 = $839 << 1; - $842 = ((39000 + ($841<<2)|0) + 40|0); - $843 = HEAP32[39000>>2]|0; - $844 = 1 << $839; - $845 = $843 & $844; - $846 = ($845|0)==(0); - do { - if ($846) { - $847 = $843 | $844; - HEAP32[39000>>2] = $847; - $$sum26$pre$i$i = (($841) + 2)|0; - $$pre$i23$i = ((39000 + ($$sum26$pre$i$i<<2)|0) + 40|0); - $$pre$phi$i24$iZ2D = $$pre$i23$i;$F4$0$i$i = $842; - } else { - $$sum29$i$i = (($841) + 2)|0; - $848 = ((39000 + ($$sum29$i$i<<2)|0) + 40|0); - $849 = HEAP32[$848>>2]|0; - $850 = HEAP32[((39000 + 16|0))>>2]|0; - $851 = ($849>>>0)<($850>>>0); - if (!($851)) { - $$pre$phi$i24$iZ2D = $848;$F4$0$i$i = $849; - break; - } + $sp$0$i$i$i = (7640); + } + } + while(1) { + $918 = HEAP32[$sp$0$i$i$i>>2]|0; + $919 = ($918>>>0)>($628>>>0); + if (!($919)) { + $920 = ((($sp$0$i$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = (($918) + ($921)|0); + $923 = ($922>>>0)>($628>>>0); + if ($923) { + $$lcssa215 = $918;$$lcssa216 = $921;$$lcssa217 = $922; + break; + } + } + $924 = ((($sp$0$i$i$i)) + 8|0); + $925 = HEAP32[$924>>2]|0; + $sp$0$i$i$i = $925; + } + $$sum$i$i = (($$lcssa216) + -47)|0; + $$sum1$i$i = (($$lcssa216) + -39)|0; + $926 = (($$lcssa215) + ($$sum1$i$i)|0); + $927 = $926; + $928 = $927 & 7; + $929 = ($928|0)==(0); + $930 = (0 - ($927))|0; + $931 = $930 & 7; + $932 = $929 ? 0 : $931; + $$sum2$i$i = (($$sum$i$i) + ($932))|0; + $933 = (($$lcssa215) + ($$sum2$i$i)|0); + $934 = ((($628)) + 16|0); + $935 = ($933>>>0)<($934>>>0); + $936 = $935 ? $628 : $933; + $937 = ((($936)) + 8|0); + $938 = (($tsize$254$i) + -40)|0; + $939 = ((($tbase$255$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($tbase$255$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(7216)>>2] = $946; + HEAP32[(7204)>>2] = $947; + $948 = $947 | 1; + $$sum$i$i$i = (($945) + 4)|0; + $949 = (($tbase$255$i) + ($$sum$i$i$i)|0); + HEAP32[$949>>2] = $948; + $$sum2$i$i$i = (($tsize$254$i) + -36)|0; + $950 = (($tbase$255$i) + ($$sum2$i$i$i)|0); + HEAP32[$950>>2] = 40; + $951 = HEAP32[(7680)>>2]|0; + HEAP32[(7220)>>2] = $951; + $952 = ((($936)) + 4|0); + HEAP32[$952>>2] = 27; + ;HEAP32[$937>>2]=HEAP32[(7640)>>2]|0;HEAP32[$937+4>>2]=HEAP32[(7640)+4>>2]|0;HEAP32[$937+8>>2]=HEAP32[(7640)+8>>2]|0;HEAP32[$937+12>>2]=HEAP32[(7640)+12>>2]|0; + HEAP32[(7640)>>2] = $tbase$255$i; + HEAP32[(7644)>>2] = $tsize$254$i; + HEAP32[(7652)>>2] = 0; + HEAP32[(7648)>>2] = $937; + $953 = ((($936)) + 28|0); + HEAP32[$953>>2] = 7; + $954 = ((($936)) + 32|0); + $955 = ($954>>>0)<($$lcssa217>>>0); + if ($955) { + $957 = $953; + while(1) { + $956 = ((($957)) + 4|0); + HEAP32[$956>>2] = 7; + $958 = ((($957)) + 8|0); + $959 = ($958>>>0)<($$lcssa217>>>0); + if ($959) { + $957 = $956; + } else { + break; + } + } + } + $960 = ($936|0)==($628|0); + if (!($960)) { + $961 = $936; + $962 = $628; + $963 = (($961) - ($962))|0; + $964 = HEAP32[$952>>2]|0; + $965 = $964 & -2; + HEAP32[$952>>2] = $965; + $966 = $963 | 1; + $967 = ((($628)) + 4|0); + HEAP32[$967>>2] = $966; + HEAP32[$936>>2] = $963; + $968 = $963 >>> 3; + $969 = ($963>>>0)<(256); + if ($969) { + $970 = $968 << 1; + $971 = (7232 + ($970<<2)|0); + $972 = HEAP32[7192>>2]|0; + $973 = 1 << $968; + $974 = $972 & $973; + $975 = ($974|0)==(0); + if ($975) { + $976 = $972 | $973; + HEAP32[7192>>2] = $976; + $$pre$i$i = (($970) + 2)|0; + $$pre14$i$i = (7232 + ($$pre$i$i<<2)|0); + $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $971; + } else { + $$sum4$i$i = (($970) + 2)|0; + $977 = (7232 + ($$sum4$i$i<<2)|0); + $978 = HEAP32[$977>>2]|0; + $979 = HEAP32[(7208)>>2]|0; + $980 = ($978>>>0)<($979>>>0); + if ($980) { _abort(); // unreachable; + } else { + $$pre$phi$i$iZ2D = $977;$F$0$i$i = $978; } - } while(0); - HEAP32[$$pre$phi$i24$iZ2D>>2] = $725; - $852 = (($F4$0$i$i) + 12|0); - HEAP32[$852>>2] = $725; - $$sum27$i$i = (($$sum$i19$i) + 8)|0; - $853 = (($tbase$245$i) + ($$sum27$i$i)|0); - HEAP32[$853>>2] = $F4$0$i$i; - $$sum28$i$i = (($$sum$i19$i) + 12)|0; - $854 = (($tbase$245$i) + ($$sum28$i$i)|0); - HEAP32[$854>>2] = $842; + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $628; + $981 = ((($F$0$i$i)) + 12|0); + HEAP32[$981>>2] = $628; + $982 = ((($628)) + 8|0); + HEAP32[$982>>2] = $F$0$i$i; + $983 = ((($628)) + 12|0); + HEAP32[$983>>2] = $971; break; } - $855 = $qsize$0$i$i >>> 8; - $856 = ($855|0)==(0); - do { - if ($856) { - $I7$0$i$i = 0; + $984 = $963 >>> 8; + $985 = ($984|0)==(0); + if ($985) { + $I1$0$i$i = 0; + } else { + $986 = ($963>>>0)>(16777215); + if ($986) { + $I1$0$i$i = 31; } else { - $857 = ($qsize$0$i$i>>>0)>(16777215); - if ($857) { - $I7$0$i$i = 31; - break; - } - $858 = (($855) + 1048320)|0; - $859 = $858 >>> 16; - $860 = $859 & 8; - $861 = $855 << $860; - $862 = (($861) + 520192)|0; - $863 = $862 >>> 16; - $864 = $863 & 4; - $865 = $864 | $860; - $866 = $861 << $864; - $867 = (($866) + 245760)|0; - $868 = $867 >>> 16; - $869 = $868 & 2; - $870 = $865 | $869; - $871 = (14 - ($870))|0; - $872 = $866 << $869; - $873 = $872 >>> 15; - $874 = (($871) + ($873))|0; - $875 = $874 << 1; - $876 = (($874) + 7)|0; - $877 = $qsize$0$i$i >>> $876; - $878 = $877 & 1; - $879 = $878 | $875; - $I7$0$i$i = $879; + $987 = (($984) + 1048320)|0; + $988 = $987 >>> 16; + $989 = $988 & 8; + $990 = $984 << $989; + $991 = (($990) + 520192)|0; + $992 = $991 >>> 16; + $993 = $992 & 4; + $994 = $993 | $989; + $995 = $990 << $993; + $996 = (($995) + 245760)|0; + $997 = $996 >>> 16; + $998 = $997 & 2; + $999 = $994 | $998; + $1000 = (14 - ($999))|0; + $1001 = $995 << $998; + $1002 = $1001 >>> 15; + $1003 = (($1000) + ($1002))|0; + $1004 = $1003 << 1; + $1005 = (($1003) + 7)|0; + $1006 = $963 >>> $1005; + $1007 = $1006 & 1; + $1008 = $1007 | $1004; + $I1$0$i$i = $1008; } - } while(0); - $880 = ((39000 + ($I7$0$i$i<<2)|0) + 304|0); - $$sum12$i$i = (($$sum$i19$i) + 28)|0; - $881 = (($tbase$245$i) + ($$sum12$i$i)|0); - HEAP32[$881>>2] = $I7$0$i$i; - $$sum13$i$i = (($$sum$i19$i) + 16)|0; - $882 = (($tbase$245$i) + ($$sum13$i$i)|0); - $$sum14$i$i = (($$sum$i19$i) + 20)|0; - $883 = (($tbase$245$i) + ($$sum14$i$i)|0); - HEAP32[$883>>2] = 0; - HEAP32[$882>>2] = 0; - $884 = HEAP32[((39000 + 4|0))>>2]|0; - $885 = 1 << $I7$0$i$i; - $886 = $884 & $885; - $887 = ($886|0)==(0); - if ($887) { - $888 = $884 | $885; - HEAP32[((39000 + 4|0))>>2] = $888; - HEAP32[$880>>2] = $725; - $$sum15$i$i = (($$sum$i19$i) + 24)|0; - $889 = (($tbase$245$i) + ($$sum15$i$i)|0); - HEAP32[$889>>2] = $880; - $$sum16$i$i = (($$sum$i19$i) + 12)|0; - $890 = (($tbase$245$i) + ($$sum16$i$i)|0); - HEAP32[$890>>2] = $725; - $$sum17$i$i = (($$sum$i19$i) + 8)|0; - $891 = (($tbase$245$i) + ($$sum17$i$i)|0); - HEAP32[$891>>2] = $725; + } + $1009 = (7496 + ($I1$0$i$i<<2)|0); + $1010 = ((($628)) + 28|0); + HEAP32[$1010>>2] = $I1$0$i$i; + $1011 = ((($628)) + 20|0); + HEAP32[$1011>>2] = 0; + HEAP32[$934>>2] = 0; + $1012 = HEAP32[(7196)>>2]|0; + $1013 = 1 << $I1$0$i$i; + $1014 = $1012 & $1013; + $1015 = ($1014|0)==(0); + if ($1015) { + $1016 = $1012 | $1013; + HEAP32[(7196)>>2] = $1016; + HEAP32[$1009>>2] = $628; + $1017 = ((($628)) + 24|0); + HEAP32[$1017>>2] = $1009; + $1018 = ((($628)) + 12|0); + HEAP32[$1018>>2] = $628; + $1019 = ((($628)) + 8|0); + HEAP32[$1019>>2] = $628; break; } - $892 = HEAP32[$880>>2]|0; - $893 = ($I7$0$i$i|0)==(31); - if ($893) { - $901 = 0; - } else { - $894 = $I7$0$i$i >>> 1; - $895 = (25 - ($894))|0; - $901 = $895; - } - $896 = (($892) + 4|0); - $897 = HEAP32[$896>>2]|0; - $898 = $897 & -8; - $899 = ($898|0)==($qsize$0$i$i|0); - L441: do { - if ($899) { - $T$0$lcssa$i26$i = $892; + $1020 = HEAP32[$1009>>2]|0; + $1021 = ((($1020)) + 4|0); + $1022 = HEAP32[$1021>>2]|0; + $1023 = $1022 & -8; + $1024 = ($1023|0)==($963|0); + L425: do { + if ($1024) { + $T$0$lcssa$i$i = $1020; } else { - $900 = $qsize$0$i$i << $901; - $K8$053$i$i = $900;$T$052$i$i = $892; + $1025 = ($I1$0$i$i|0)==(31); + $1026 = $I1$0$i$i >>> 1; + $1027 = (25 - ($1026))|0; + $1028 = $1025 ? 0 : $1027; + $1029 = $963 << $1028; + $K2$07$i$i = $1029;$T$06$i$i = $1020; while(1) { - $908 = $K8$053$i$i >>> 31; - $909 = ((($T$052$i$i) + ($908<<2)|0) + 16|0); - $904 = HEAP32[$909>>2]|0; - $910 = ($904|0)==(0|0); - if ($910) { + $1036 = $K2$07$i$i >>> 31; + $1037 = (((($T$06$i$i)) + 16|0) + ($1036<<2)|0); + $1032 = HEAP32[$1037>>2]|0; + $1038 = ($1032|0)==(0|0); + if ($1038) { + $$lcssa211 = $1037;$T$06$i$i$lcssa = $T$06$i$i; break; } - $902 = $K8$053$i$i << 1; - $903 = (($904) + 4|0); - $905 = HEAP32[$903>>2]|0; - $906 = $905 & -8; - $907 = ($906|0)==($qsize$0$i$i|0); - if ($907) { - $T$0$lcssa$i26$i = $904; - break L441; + $1030 = $K2$07$i$i << 1; + $1031 = ((($1032)) + 4|0); + $1033 = HEAP32[$1031>>2]|0; + $1034 = $1033 & -8; + $1035 = ($1034|0)==($963|0); + if ($1035) { + $T$0$lcssa$i$i = $1032; + break L425; } else { - $K8$053$i$i = $902;$T$052$i$i = $904; + $K2$07$i$i = $1030;$T$06$i$i = $1032; } } - $911 = HEAP32[((39000 + 16|0))>>2]|0; - $912 = ($909>>>0)<($911>>>0); - if ($912) { + $1039 = HEAP32[(7208)>>2]|0; + $1040 = ($$lcssa211>>>0)<($1039>>>0); + if ($1040) { _abort(); // unreachable; } else { - HEAP32[$909>>2] = $725; - $$sum23$i$i = (($$sum$i19$i) + 24)|0; - $913 = (($tbase$245$i) + ($$sum23$i$i)|0); - HEAP32[$913>>2] = $T$052$i$i; - $$sum24$i$i = (($$sum$i19$i) + 12)|0; - $914 = (($tbase$245$i) + ($$sum24$i$i)|0); - HEAP32[$914>>2] = $725; - $$sum25$i$i = (($$sum$i19$i) + 8)|0; - $915 = (($tbase$245$i) + ($$sum25$i$i)|0); - HEAP32[$915>>2] = $725; - break L345; + HEAP32[$$lcssa211>>2] = $628; + $1041 = ((($628)) + 24|0); + HEAP32[$1041>>2] = $T$06$i$i$lcssa; + $1042 = ((($628)) + 12|0); + HEAP32[$1042>>2] = $628; + $1043 = ((($628)) + 8|0); + HEAP32[$1043>>2] = $628; + break L272; } } } while(0); - $916 = (($T$0$lcssa$i26$i) + 8|0); - $917 = HEAP32[$916>>2]|0; - $918 = HEAP32[((39000 + 16|0))>>2]|0; - $919 = ($T$0$lcssa$i26$i>>>0)>=($918>>>0); - $920 = ($917>>>0)>=($918>>>0); - $or$cond$i27$i = $919 & $920; - if ($or$cond$i27$i) { - $921 = (($917) + 12|0); - HEAP32[$921>>2] = $725; - HEAP32[$916>>2] = $725; - $$sum20$i$i = (($$sum$i19$i) + 8)|0; - $922 = (($tbase$245$i) + ($$sum20$i$i)|0); - HEAP32[$922>>2] = $917; - $$sum21$i$i = (($$sum$i19$i) + 12)|0; - $923 = (($tbase$245$i) + ($$sum21$i$i)|0); - HEAP32[$923>>2] = $T$0$lcssa$i26$i; - $$sum22$i$i = (($$sum$i19$i) + 24)|0; - $924 = (($tbase$245$i) + ($$sum22$i$i)|0); - HEAP32[$924>>2] = 0; + $1044 = ((($T$0$lcssa$i$i)) + 8|0); + $1045 = HEAP32[$1044>>2]|0; + $1046 = HEAP32[(7208)>>2]|0; + $1047 = ($1045>>>0)>=($1046>>>0); + $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1046>>>0); + $1048 = $1047 & $not$$i$i; + if ($1048) { + $1049 = ((($1045)) + 12|0); + HEAP32[$1049>>2] = $628; + HEAP32[$1044>>2] = $628; + $1050 = ((($628)) + 8|0); + HEAP32[$1050>>2] = $1045; + $1051 = ((($628)) + 12|0); + HEAP32[$1051>>2] = $T$0$lcssa$i$i; + $1052 = ((($628)) + 24|0); + HEAP32[$1052>>2] = 0; break; } else { _abort(); // unreachable; } } - } while(0); - $$sum1819$i$i = $713 | 8; - $925 = (($tbase$245$i) + ($$sum1819$i$i)|0); - $mem$0 = $925; - STACKTOP = sp;return ($mem$0|0); - } - } - $sp$0$i$i$i = ((39000 + 448|0)); - while(1) { - $926 = HEAP32[$sp$0$i$i$i>>2]|0; - $927 = ($926>>>0)>($636>>>0); - if (!($927)) { - $928 = (($sp$0$i$i$i) + 4|0); - $929 = HEAP32[$928>>2]|0; - $930 = (($926) + ($929)|0); - $931 = ($930>>>0)>($636>>>0); - if ($931) { - break; - } - } - $932 = (($sp$0$i$i$i) + 8|0); - $933 = HEAP32[$932>>2]|0; - $sp$0$i$i$i = $933; - } - $$sum$i13$i = (($929) + -47)|0; - $$sum1$i14$i = (($929) + -39)|0; - $934 = (($926) + ($$sum1$i14$i)|0); - $935 = $934; - $936 = $935 & 7; - $937 = ($936|0)==(0); - if ($937) { - $940 = 0; - } else { - $938 = (0 - ($935))|0; - $939 = $938 & 7; - $940 = $939; - } - $$sum2$i15$i = (($$sum$i13$i) + ($940))|0; - $941 = (($926) + ($$sum2$i15$i)|0); - $942 = (($636) + 16|0); - $943 = ($941>>>0)<($942>>>0); - $944 = $943 ? $636 : $941; - $945 = (($944) + 8|0); - $946 = (($tsize$244$i) + -40)|0; - $947 = (($tbase$245$i) + 8|0); - $948 = $947; - $949 = $948 & 7; - $950 = ($949|0)==(0); - if ($950) { - $954 = 0; - } else { - $951 = (0 - ($948))|0; - $952 = $951 & 7; - $954 = $952; - } - $953 = (($tbase$245$i) + ($954)|0); - $955 = (($946) - ($954))|0; - HEAP32[((39000 + 24|0))>>2] = $953; - HEAP32[((39000 + 12|0))>>2] = $955; - $956 = $955 | 1; - $$sum$i$i$i = (($954) + 4)|0; - $957 = (($tbase$245$i) + ($$sum$i$i$i)|0); - HEAP32[$957>>2] = $956; - $$sum2$i$i$i = (($tsize$244$i) + -36)|0; - $958 = (($tbase$245$i) + ($$sum2$i$i$i)|0); - HEAP32[$958>>2] = 40; - $959 = HEAP32[((39472 + 16|0))>>2]|0; - HEAP32[((39000 + 28|0))>>2] = $959; - $960 = (($944) + 4|0); - HEAP32[$960>>2] = 27; - ;HEAP32[$945+0>>2]=HEAP32[((39000 + 448|0))+0>>2]|0;HEAP32[$945+4>>2]=HEAP32[((39000 + 448|0))+4>>2]|0;HEAP32[$945+8>>2]=HEAP32[((39000 + 448|0))+8>>2]|0;HEAP32[$945+12>>2]=HEAP32[((39000 + 448|0))+12>>2]|0; - HEAP32[((39000 + 448|0))>>2] = $tbase$245$i; - HEAP32[((39000 + 452|0))>>2] = $tsize$244$i; - HEAP32[((39000 + 460|0))>>2] = 0; - HEAP32[((39000 + 456|0))>>2] = $945; - $961 = (($944) + 28|0); - HEAP32[$961>>2] = 7; - $962 = (($944) + 32|0); - $963 = ($962>>>0)<($930>>>0); - if ($963) { - $965 = $961; - while(1) { - $964 = (($965) + 4|0); - HEAP32[$964>>2] = 7; - $966 = (($965) + 8|0); - $967 = ($966>>>0)<($930>>>0); - if ($967) { - $965 = $964; - } else { - break; - } - } - } - $968 = ($944|0)==($636|0); - if (!($968)) { - $969 = $944; - $970 = $636; - $971 = (($969) - ($970))|0; - $972 = (($636) + ($971)|0); - $$sum3$i$i = (($971) + 4)|0; - $973 = (($636) + ($$sum3$i$i)|0); - $974 = HEAP32[$973>>2]|0; - $975 = $974 & -2; - HEAP32[$973>>2] = $975; - $976 = $971 | 1; - $977 = (($636) + 4|0); - HEAP32[$977>>2] = $976; - HEAP32[$972>>2] = $971; - $978 = $971 >>> 3; - $979 = ($971>>>0)<(256); - if ($979) { - $980 = $978 << 1; - $981 = ((39000 + ($980<<2)|0) + 40|0); - $982 = HEAP32[39000>>2]|0; - $983 = 1 << $978; - $984 = $982 & $983; - $985 = ($984|0)==(0); - do { - if ($985) { - $986 = $982 | $983; - HEAP32[39000>>2] = $986; - $$sum10$pre$i$i = (($980) + 2)|0; - $$pre$i$i = ((39000 + ($$sum10$pre$i$i<<2)|0) + 40|0); - $$pre$phi$i$iZ2D = $$pre$i$i;$F$0$i$i = $981; - } else { - $$sum11$i$i = (($980) + 2)|0; - $987 = ((39000 + ($$sum11$i$i<<2)|0) + 40|0); - $988 = HEAP32[$987>>2]|0; - $989 = HEAP32[((39000 + 16|0))>>2]|0; - $990 = ($988>>>0)<($989>>>0); - if (!($990)) { - $$pre$phi$i$iZ2D = $987;$F$0$i$i = $988; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i$iZ2D>>2] = $636; - $991 = (($F$0$i$i) + 12|0); - HEAP32[$991>>2] = $636; - $992 = (($636) + 8|0); - HEAP32[$992>>2] = $F$0$i$i; - $993 = (($636) + 12|0); - HEAP32[$993>>2] = $981; - break; - } - $994 = $971 >>> 8; - $995 = ($994|0)==(0); - if ($995) { - $I1$0$i$i = 0; - } else { - $996 = ($971>>>0)>(16777215); - if ($996) { - $I1$0$i$i = 31; - } else { - $997 = (($994) + 1048320)|0; - $998 = $997 >>> 16; - $999 = $998 & 8; - $1000 = $994 << $999; - $1001 = (($1000) + 520192)|0; - $1002 = $1001 >>> 16; - $1003 = $1002 & 4; - $1004 = $1003 | $999; - $1005 = $1000 << $1003; - $1006 = (($1005) + 245760)|0; - $1007 = $1006 >>> 16; - $1008 = $1007 & 2; - $1009 = $1004 | $1008; - $1010 = (14 - ($1009))|0; - $1011 = $1005 << $1008; - $1012 = $1011 >>> 15; - $1013 = (($1010) + ($1012))|0; - $1014 = $1013 << 1; - $1015 = (($1013) + 7)|0; - $1016 = $971 >>> $1015; - $1017 = $1016 & 1; - $1018 = $1017 | $1014; - $I1$0$i$i = $1018; - } - } - $1019 = ((39000 + ($I1$0$i$i<<2)|0) + 304|0); - $1020 = (($636) + 28|0); - $I1$0$c$i$i = $I1$0$i$i; - HEAP32[$1020>>2] = $I1$0$c$i$i; - $1021 = (($636) + 20|0); - HEAP32[$1021>>2] = 0; - $1022 = (($636) + 16|0); - HEAP32[$1022>>2] = 0; - $1023 = HEAP32[((39000 + 4|0))>>2]|0; - $1024 = 1 << $I1$0$i$i; - $1025 = $1023 & $1024; - $1026 = ($1025|0)==(0); - if ($1026) { - $1027 = $1023 | $1024; - HEAP32[((39000 + 4|0))>>2] = $1027; - HEAP32[$1019>>2] = $636; - $1028 = (($636) + 24|0); - HEAP32[$1028>>2] = $1019; - $1029 = (($636) + 12|0); - HEAP32[$1029>>2] = $636; - $1030 = (($636) + 8|0); - HEAP32[$1030>>2] = $636; - break; - } - $1031 = HEAP32[$1019>>2]|0; - $1032 = ($I1$0$i$i|0)==(31); - if ($1032) { - $1040 = 0; - } else { - $1033 = $I1$0$i$i >>> 1; - $1034 = (25 - ($1033))|0; - $1040 = $1034; - } - $1035 = (($1031) + 4|0); - $1036 = HEAP32[$1035>>2]|0; - $1037 = $1036 & -8; - $1038 = ($1037|0)==($971|0); - L493: do { - if ($1038) { - $T$0$lcssa$i$i = $1031; - } else { - $1039 = $971 << $1040; - $K2$015$i$i = $1039;$T$014$i$i = $1031; - while(1) { - $1047 = $K2$015$i$i >>> 31; - $1048 = ((($T$014$i$i) + ($1047<<2)|0) + 16|0); - $1043 = HEAP32[$1048>>2]|0; - $1049 = ($1043|0)==(0|0); - if ($1049) { - break; - } - $1041 = $K2$015$i$i << 1; - $1042 = (($1043) + 4|0); - $1044 = HEAP32[$1042>>2]|0; - $1045 = $1044 & -8; - $1046 = ($1045|0)==($971|0); - if ($1046) { - $T$0$lcssa$i$i = $1043; - break L493; - } else { - $K2$015$i$i = $1041;$T$014$i$i = $1043; - } - } - $1050 = HEAP32[((39000 + 16|0))>>2]|0; - $1051 = ($1048>>>0)<($1050>>>0); - if ($1051) { - _abort(); - // unreachable; - } else { - HEAP32[$1048>>2] = $636; - $1052 = (($636) + 24|0); - HEAP32[$1052>>2] = $T$014$i$i; - $1053 = (($636) + 12|0); - HEAP32[$1053>>2] = $636; - $1054 = (($636) + 8|0); - HEAP32[$1054>>2] = $636; - break L308; - } } } while(0); - $1055 = (($T$0$lcssa$i$i) + 8|0); - $1056 = HEAP32[$1055>>2]|0; - $1057 = HEAP32[((39000 + 16|0))>>2]|0; - $1058 = ($T$0$lcssa$i$i>>>0)>=($1057>>>0); - $1059 = ($1056>>>0)>=($1057>>>0); - $or$cond$i$i = $1058 & $1059; - if ($or$cond$i$i) { - $1060 = (($1056) + 12|0); - HEAP32[$1060>>2] = $636; - HEAP32[$1055>>2] = $636; - $1061 = (($636) + 8|0); - HEAP32[$1061>>2] = $1056; - $1062 = (($636) + 12|0); - HEAP32[$1062>>2] = $T$0$lcssa$i$i; - $1063 = (($636) + 24|0); - HEAP32[$1063>>2] = 0; + $1053 = HEAP32[(7204)>>2]|0; + $1054 = ($1053>>>0)>($nb$0>>>0); + if ($1054) { + $1055 = (($1053) - ($nb$0))|0; + HEAP32[(7204)>>2] = $1055; + $1056 = HEAP32[(7216)>>2]|0; + $1057 = (($1056) + ($nb$0)|0); + HEAP32[(7216)>>2] = $1057; + $1058 = $1055 | 1; + $$sum$i32 = (($nb$0) + 4)|0; + $1059 = (($1056) + ($$sum$i32)|0); + HEAP32[$1059>>2] = $1058; + $1060 = $nb$0 | 3; + $1061 = ((($1056)) + 4|0); + HEAP32[$1061>>2] = $1060; + $1062 = ((($1056)) + 8|0); + $mem$0 = $1062; break; - } else { - _abort(); - // unreachable; } } + $1063 = (___errno_location()|0); + HEAP32[$1063>>2] = 12; + $mem$0 = 0; + } else { + $mem$0 = 0; } - } while(0); - $1064 = HEAP32[((39000 + 12|0))>>2]|0; - $1065 = ($1064>>>0)>($nb$0>>>0); - if ($1065) { - $1066 = (($1064) - ($nb$0))|0; - HEAP32[((39000 + 12|0))>>2] = $1066; - $1067 = HEAP32[((39000 + 24|0))>>2]|0; - $1068 = (($1067) + ($nb$0)|0); - HEAP32[((39000 + 24|0))>>2] = $1068; - $1069 = $1066 | 1; - $$sum$i32 = (($nb$0) + 4)|0; - $1070 = (($1067) + ($$sum$i32)|0); - HEAP32[$1070>>2] = $1069; - $1071 = $nb$0 | 3; - $1072 = (($1067) + 4|0); - HEAP32[$1072>>2] = $1071; - $1073 = (($1067) + 8|0); - $mem$0 = $1073; - STACKTOP = sp;return ($mem$0|0); - } - } - $1074 = (___errno_location()|0); - HEAP32[$1074>>2] = 12; - $mem$0 = 0; - STACKTOP = sp;return ($mem$0|0); + } + } while(0); + return ($mem$0|0); } function _free($mem) { $mem = $mem|0; - var $$pre = 0, $$pre$phi66Z2D = 0, $$pre$phi68Z2D = 0, $$pre$phiZ2D = 0, $$pre65 = 0, $$pre67 = 0, $$sum = 0, $$sum16$pre = 0, $$sum17 = 0, $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum2324 = 0, $$sum25 = 0, $$sum26 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0; - var $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum35 = 0, $$sum36 = 0, $$sum37 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $I18$0$c = 0, $K19$058 = 0, $R$0 = 0, $R$1 = 0, $R7$0 = 0; - var $R7$1 = 0, $RP$0 = 0, $RP9$0 = 0, $T$0$lcssa = 0, $T$057 = 0, $cond = 0, $cond54 = 0, $or$cond = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; + var $$lcssa = 0, $$pre = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phiZ2D = 0, $$pre57 = 0, $$pre58 = 0, $$pre60 = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum1718 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0; + var $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; + var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; + var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; + var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; + var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; + var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; + var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; + var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; + var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; + var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; + var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; + var $321 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $K19$052 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0; + var $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$051 = 0, $T$051$lcssa = 0, $cond = 0, $cond47 = 0, $not$ = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; sp = STACKTOP; $0 = ($mem|0)==(0|0); - if ($0) { - STACKTOP = sp;return; - } - $1 = (($mem) + -8|0); - $2 = HEAP32[((39000 + 16|0))>>2]|0; - $3 = ($1>>>0)<($2>>>0); - if ($3) { - _abort(); - // unreachable; - } - $4 = (($mem) + -4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 3; - $7 = ($6|0)==(1); - if ($7) { - _abort(); - // unreachable; - } - $8 = $5 & -8; - $$sum = (($8) + -8)|0; - $9 = (($mem) + ($$sum)|0); - $10 = $5 & 1; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ($6|0)==(0); - if ($13) { - STACKTOP = sp;return; - } - $$sum2 = (-8 - ($12))|0; - $14 = (($mem) + ($$sum2)|0); - $15 = (($12) + ($8))|0; - $16 = ($14>>>0)<($2>>>0); - if ($16) { - _abort(); - // unreachable; - } - $17 = HEAP32[((39000 + 20|0))>>2]|0; - $18 = ($14|0)==($17|0); - if ($18) { - $$sum3 = (($8) + -4)|0; - $103 = (($mem) + ($$sum3)|0); - $104 = HEAP32[$103>>2]|0; - $105 = $104 & 3; - $106 = ($105|0)==(3); - if (!($106)) { - $p$0 = $14;$psize$0 = $15; - break; - } - HEAP32[((39000 + 8|0))>>2] = $15; - $107 = $104 & -2; - HEAP32[$103>>2] = $107; - $108 = $15 | 1; - $$sum26 = (($$sum2) + 4)|0; - $109 = (($mem) + ($$sum26)|0); - HEAP32[$109>>2] = $108; - HEAP32[$9>>2] = $15; - STACKTOP = sp;return; - } - $19 = $12 >>> 3; - $20 = ($12>>>0)<(256); - if ($20) { - $$sum36 = (($$sum2) + 8)|0; - $21 = (($mem) + ($$sum36)|0); - $22 = HEAP32[$21>>2]|0; - $$sum37 = (($$sum2) + 12)|0; - $23 = (($mem) + ($$sum37)|0); - $24 = HEAP32[$23>>2]|0; - $25 = $19 << 1; - $26 = ((39000 + ($25<<2)|0) + 40|0); - $27 = ($22|0)==($26|0); - if (!($27)) { - $28 = ($22>>>0)<($2>>>0); - if ($28) { - _abort(); - // unreachable; - } - $29 = (($22) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==($14|0); - if (!($31)) { - _abort(); - // unreachable; - } - } - $32 = ($24|0)==($22|0); - if ($32) { - $33 = 1 << $19; - $34 = $33 ^ -1; - $35 = HEAP32[39000>>2]|0; - $36 = $35 & $34; - HEAP32[39000>>2] = $36; - $p$0 = $14;$psize$0 = $15; - break; - } - $37 = ($24|0)==($26|0); - if ($37) { - $$pre67 = (($24) + 8|0); - $$pre$phi68Z2D = $$pre67; - } else { - $38 = ($24>>>0)<($2>>>0); - if ($38) { - _abort(); - // unreachable; - } - $39 = (($24) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==($14|0); - if ($41) { - $$pre$phi68Z2D = $39; - } else { - _abort(); - // unreachable; - } - } - $42 = (($22) + 12|0); - HEAP32[$42>>2] = $24; - HEAP32[$$pre$phi68Z2D>>2] = $22; - $p$0 = $14;$psize$0 = $15; - break; - } - $$sum28 = (($$sum2) + 24)|0; - $43 = (($mem) + ($$sum28)|0); - $44 = HEAP32[$43>>2]|0; - $$sum29 = (($$sum2) + 12)|0; - $45 = (($mem) + ($$sum29)|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==($14|0); - do { - if ($47) { - $$sum31 = (($$sum2) + 20)|0; - $57 = (($mem) + ($$sum31)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - $$sum30 = (($$sum2) + 16)|0; - $60 = (($mem) + ($$sum30)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $R$1 = 0; - break; - } else { - $R$0 = $61;$RP$0 = $60; - } - } else { - $R$0 = $58;$RP$0 = $57; - } - while(1) { - $63 = (($R$0) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $R$0 = $64;$RP$0 = $63; - continue; - } - $66 = (($R$0) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - break; - } else { - $R$0 = $67;$RP$0 = $66; - } - } - $69 = ($RP$0>>>0)<($2>>>0); - if ($69) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0>>2] = 0; - $R$1 = $R$0; - break; - } - } else { - $$sum35 = (($$sum2) + 8)|0; - $48 = (($mem) + ($$sum35)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49>>>0)<($2>>>0); - if ($50) { - _abort(); - // unreachable; - } - $51 = (($49) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==($14|0); - if (!($53)) { - _abort(); - // unreachable; - } - $54 = (($46) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==($14|0); - if ($56) { - HEAP32[$51>>2] = $46; - HEAP32[$54>>2] = $49; - $R$1 = $46; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $70 = ($44|0)==(0|0); - if ($70) { - $p$0 = $14;$psize$0 = $15; - } else { - $$sum32 = (($$sum2) + 28)|0; - $71 = (($mem) + ($$sum32)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ((39000 + ($72<<2)|0) + 304|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($14|0)==($74|0); - if ($75) { - HEAP32[$73>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $76 = 1 << $72; - $77 = $76 ^ -1; - $78 = HEAP32[((39000 + 4|0))>>2]|0; - $79 = $78 & $77; - HEAP32[((39000 + 4|0))>>2] = $79; - $p$0 = $14;$psize$0 = $15; - break; - } - } else { - $80 = HEAP32[((39000 + 16|0))>>2]|0; - $81 = ($44>>>0)<($80>>>0); - if ($81) { - _abort(); - // unreachable; - } - $82 = (($44) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==($14|0); - if ($84) { - HEAP32[$82>>2] = $R$1; - } else { - $85 = (($44) + 20|0); - HEAP32[$85>>2] = $R$1; - } - $86 = ($R$1|0)==(0|0); - if ($86) { - $p$0 = $14;$psize$0 = $15; - break; - } - } - $87 = HEAP32[((39000 + 16|0))>>2]|0; - $88 = ($R$1>>>0)<($87>>>0); - if ($88) { - _abort(); - // unreachable; - } - $89 = (($R$1) + 24|0); - HEAP32[$89>>2] = $44; - $$sum33 = (($$sum2) + 16)|0; - $90 = (($mem) + ($$sum33)|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); - do { - if (!($92)) { - $93 = ($91>>>0)<($87>>>0); - if ($93) { - _abort(); - // unreachable; - } else { - $94 = (($R$1) + 16|0); - HEAP32[$94>>2] = $91; - $95 = (($91) + 24|0); - HEAP32[$95>>2] = $R$1; - break; - } - } - } while(0); - $$sum34 = (($$sum2) + 20)|0; - $96 = (($mem) + ($$sum34)|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(0|0); - if ($98) { - $p$0 = $14;$psize$0 = $15; - } else { - $99 = HEAP32[((39000 + 16|0))>>2]|0; - $100 = ($97>>>0)<($99>>>0); - if ($100) { - _abort(); - // unreachable; - } else { - $101 = (($R$1) + 20|0); - HEAP32[$101>>2] = $97; - $102 = (($97) + 24|0); - HEAP32[$102>>2] = $R$1; - $p$0 = $14;$psize$0 = $15; - break; - } - } - } - } else { - $p$0 = $1;$psize$0 = $8; - } - } while(0); - $110 = ($p$0>>>0)<($9>>>0); - if (!($110)) { - _abort(); - // unreachable; - } - $$sum25 = (($8) + -4)|0; - $111 = (($mem) + ($$sum25)|0); - $112 = HEAP32[$111>>2]|0; - $113 = $112 & 1; - $114 = ($113|0)==(0); - if ($114) { - _abort(); - // unreachable; - } - $115 = $112 & 2; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[((39000 + 24|0))>>2]|0; - $118 = ($9|0)==($117|0); - if ($118) { - $119 = HEAP32[((39000 + 12|0))>>2]|0; - $120 = (($119) + ($psize$0))|0; - HEAP32[((39000 + 12|0))>>2] = $120; - HEAP32[((39000 + 24|0))>>2] = $p$0; - $121 = $120 | 1; - $122 = (($p$0) + 4|0); - HEAP32[$122>>2] = $121; - $123 = HEAP32[((39000 + 20|0))>>2]|0; - $124 = ($p$0|0)==($123|0); - if (!($124)) { - STACKTOP = sp;return; - } - HEAP32[((39000 + 20|0))>>2] = 0; - HEAP32[((39000 + 8|0))>>2] = 0; - STACKTOP = sp;return; - } - $125 = HEAP32[((39000 + 20|0))>>2]|0; - $126 = ($9|0)==($125|0); - if ($126) { - $127 = HEAP32[((39000 + 8|0))>>2]|0; - $128 = (($127) + ($psize$0))|0; - HEAP32[((39000 + 8|0))>>2] = $128; - HEAP32[((39000 + 20|0))>>2] = $p$0; - $129 = $128 | 1; - $130 = (($p$0) + 4|0); - HEAP32[$130>>2] = $129; - $131 = (($p$0) + ($128)|0); - HEAP32[$131>>2] = $128; - STACKTOP = sp;return; - } - $132 = $112 & -8; - $133 = (($132) + ($psize$0))|0; - $134 = $112 >>> 3; - $135 = ($112>>>0)<(256); - do { - if ($135) { - $136 = (($mem) + ($8)|0); - $137 = HEAP32[$136>>2]|0; - $$sum2324 = $8 | 4; - $138 = (($mem) + ($$sum2324)|0); - $139 = HEAP32[$138>>2]|0; - $140 = $134 << 1; - $141 = ((39000 + ($140<<2)|0) + 40|0); - $142 = ($137|0)==($141|0); - if (!($142)) { - $143 = HEAP32[((39000 + 16|0))>>2]|0; - $144 = ($137>>>0)<($143>>>0); - if ($144) { - _abort(); - // unreachable; - } - $145 = (($137) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==($9|0); - if (!($147)) { - _abort(); - // unreachable; - } - } - $148 = ($139|0)==($137|0); - if ($148) { - $149 = 1 << $134; - $150 = $149 ^ -1; - $151 = HEAP32[39000>>2]|0; - $152 = $151 & $150; - HEAP32[39000>>2] = $152; - break; - } - $153 = ($139|0)==($141|0); - if ($153) { - $$pre65 = (($139) + 8|0); - $$pre$phi66Z2D = $$pre65; - } else { - $154 = HEAP32[((39000 + 16|0))>>2]|0; - $155 = ($139>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } - $156 = (($139) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($9|0); - if ($158) { - $$pre$phi66Z2D = $156; - } else { - _abort(); - // unreachable; - } - } - $159 = (($137) + 12|0); - HEAP32[$159>>2] = $139; - HEAP32[$$pre$phi66Z2D>>2] = $137; - } else { - $$sum5 = (($8) + 16)|0; - $160 = (($mem) + ($$sum5)|0); - $161 = HEAP32[$160>>2]|0; - $$sum67 = $8 | 4; - $162 = (($mem) + ($$sum67)|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($9|0); - do { - if ($164) { - $$sum9 = (($8) + 12)|0; - $175 = (($mem) + ($$sum9)|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if ($177) { - $$sum8 = (($8) + 8)|0; - $178 = (($mem) + ($$sum8)|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $R7$1 = 0; - break; - } else { - $R7$0 = $179;$RP9$0 = $178; - } - } else { - $R7$0 = $176;$RP9$0 = $175; - } - while(1) { - $181 = (($R7$0) + 20|0); - $182 = HEAP32[$181>>2]|0; - $183 = ($182|0)==(0|0); - if (!($183)) { - $R7$0 = $182;$RP9$0 = $181; - continue; - } - $184 = (($R7$0) + 16|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)==(0|0); - if ($186) { - break; + L1: do { + if (!($0)) { + $1 = ((($mem)) + -8|0); + $2 = HEAP32[(7208)>>2]|0; + $3 = ($1>>>0)<($2>>>0); + L3: do { + if (!($3)) { + $4 = ((($mem)) + -4|0); + $5 = HEAP32[$4>>2]|0; + $6 = $5 & 3; + $7 = ($6|0)==(1); + if (!($7)) { + $8 = $5 & -8; + $$sum = (($8) + -8)|0; + $9 = (($mem) + ($$sum)|0); + $10 = $5 & 1; + $11 = ($10|0)==(0); + do { + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = ($6|0)==(0); + if ($13) { + break L1; + } + $$sum2 = (-8 - ($12))|0; + $14 = (($mem) + ($$sum2)|0); + $15 = (($12) + ($8))|0; + $16 = ($14>>>0)<($2>>>0); + if ($16) { + break L3; + } + $17 = HEAP32[(7212)>>2]|0; + $18 = ($14|0)==($17|0); + if ($18) { + $$sum3 = (($8) + -4)|0; + $103 = (($mem) + ($$sum3)|0); + $104 = HEAP32[$103>>2]|0; + $105 = $104 & 3; + $106 = ($105|0)==(3); + if (!($106)) { + $p$0 = $14;$psize$0 = $15; + break; + } + HEAP32[(7200)>>2] = $15; + $107 = $104 & -2; + HEAP32[$103>>2] = $107; + $108 = $15 | 1; + $$sum20 = (($$sum2) + 4)|0; + $109 = (($mem) + ($$sum20)|0); + HEAP32[$109>>2] = $108; + HEAP32[$9>>2] = $15; + break L1; + } + $19 = $12 >>> 3; + $20 = ($12>>>0)<(256); + if ($20) { + $$sum30 = (($$sum2) + 8)|0; + $21 = (($mem) + ($$sum30)|0); + $22 = HEAP32[$21>>2]|0; + $$sum31 = (($$sum2) + 12)|0; + $23 = (($mem) + ($$sum31)|0); + $24 = HEAP32[$23>>2]|0; + $25 = $19 << 1; + $26 = (7232 + ($25<<2)|0); + $27 = ($22|0)==($26|0); + do { + if (!($27)) { + $28 = ($22>>>0)<($2>>>0); + if (!($28)) { + $29 = ((($22)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==($14|0); + if ($31) { + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $32 = ($24|0)==($22|0); + if ($32) { + $33 = 1 << $19; + $34 = $33 ^ -1; + $35 = HEAP32[7192>>2]|0; + $36 = $35 & $34; + HEAP32[7192>>2] = $36; + $p$0 = $14;$psize$0 = $15; + break; + } + $37 = ($24|0)==($26|0); + do { + if ($37) { + $$pre60 = ((($24)) + 8|0); + $$pre$phi61Z2D = $$pre60; + } else { + $38 = ($24>>>0)<($2>>>0); + if (!($38)) { + $39 = ((($24)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)==($14|0); + if ($41) { + $$pre$phi61Z2D = $39; + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $42 = ((($22)) + 12|0); + HEAP32[$42>>2] = $24; + HEAP32[$$pre$phi61Z2D>>2] = $22; + $p$0 = $14;$psize$0 = $15; + break; + } + $$sum22 = (($$sum2) + 24)|0; + $43 = (($mem) + ($$sum22)|0); + $44 = HEAP32[$43>>2]|0; + $$sum23 = (($$sum2) + 12)|0; + $45 = (($mem) + ($$sum23)|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)==($14|0); + do { + if ($47) { + $$sum25 = (($$sum2) + 20)|0; + $57 = (($mem) + ($$sum25)|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(0|0); + if ($59) { + $$sum24 = (($$sum2) + 16)|0; + $60 = (($mem) + ($$sum24)|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $R$1 = 0; + break; + } else { + $R$0 = $61;$RP$0 = $60; + } + } else { + $R$0 = $58;$RP$0 = $57; + } + while(1) { + $63 = ((($R$0)) + 20|0); + $64 = HEAP32[$63>>2]|0; + $65 = ($64|0)==(0|0); + if (!($65)) { + $R$0 = $64;$RP$0 = $63; + continue; + } + $66 = ((($R$0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($67|0)==(0|0); + if ($68) { + $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; + break; + } else { + $R$0 = $67;$RP$0 = $66; + } + } + $69 = ($RP$0$lcssa>>>0)<($2>>>0); + if ($69) { + _abort(); + // unreachable; + } else { + HEAP32[$RP$0$lcssa>>2] = 0; + $R$1 = $R$0$lcssa; + break; + } + } else { + $$sum29 = (($$sum2) + 8)|0; + $48 = (($mem) + ($$sum29)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49>>>0)<($2>>>0); + if (!($50)) { + $51 = ((($49)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = ($52|0)==($14|0); + if ($53) { + $54 = ((($46)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)==($14|0); + if ($56) { + HEAP32[$51>>2] = $46; + HEAP32[$54>>2] = $49; + $R$1 = $46; + break; + } + } + } + _abort(); + // unreachable; + } + } while(0); + $70 = ($44|0)==(0|0); + if ($70) { + $p$0 = $14;$psize$0 = $15; + } else { + $$sum26 = (($$sum2) + 28)|0; + $71 = (($mem) + ($$sum26)|0); + $72 = HEAP32[$71>>2]|0; + $73 = (7496 + ($72<<2)|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($14|0)==($74|0); + if ($75) { + HEAP32[$73>>2] = $R$1; + $cond = ($R$1|0)==(0|0); + if ($cond) { + $76 = 1 << $72; + $77 = $76 ^ -1; + $78 = HEAP32[(7196)>>2]|0; + $79 = $78 & $77; + HEAP32[(7196)>>2] = $79; + $p$0 = $14;$psize$0 = $15; + break; + } + } else { + $80 = HEAP32[(7208)>>2]|0; + $81 = ($44>>>0)<($80>>>0); + if ($81) { + _abort(); + // unreachable; + } + $82 = ((($44)) + 16|0); + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)==($14|0); + if ($84) { + HEAP32[$82>>2] = $R$1; + } else { + $85 = ((($44)) + 20|0); + HEAP32[$85>>2] = $R$1; + } + $86 = ($R$1|0)==(0|0); + if ($86) { + $p$0 = $14;$psize$0 = $15; + break; + } + } + $87 = HEAP32[(7208)>>2]|0; + $88 = ($R$1>>>0)<($87>>>0); + if ($88) { + _abort(); + // unreachable; + } + $89 = ((($R$1)) + 24|0); + HEAP32[$89>>2] = $44; + $$sum27 = (($$sum2) + 16)|0; + $90 = (($mem) + ($$sum27)|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)==(0|0); + do { + if (!($92)) { + $93 = ($91>>>0)<($87>>>0); + if ($93) { + _abort(); + // unreachable; + } else { + $94 = ((($R$1)) + 16|0); + HEAP32[$94>>2] = $91; + $95 = ((($91)) + 24|0); + HEAP32[$95>>2] = $R$1; + break; + } + } + } while(0); + $$sum28 = (($$sum2) + 20)|0; + $96 = (($mem) + ($$sum28)|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); + if ($98) { + $p$0 = $14;$psize$0 = $15; + } else { + $99 = HEAP32[(7208)>>2]|0; + $100 = ($97>>>0)<($99>>>0); + if ($100) { + _abort(); + // unreachable; + } else { + $101 = ((($R$1)) + 20|0); + HEAP32[$101>>2] = $97; + $102 = ((($97)) + 24|0); + HEAP32[$102>>2] = $R$1; + $p$0 = $14;$psize$0 = $15; + break; + } + } + } } else { - $R7$0 = $185;$RP9$0 = $184; + $p$0 = $1;$psize$0 = $8; } - } - $187 = HEAP32[((39000 + 16|0))>>2]|0; - $188 = ($RP9$0>>>0)<($187>>>0); - if ($188) { - _abort(); - // unreachable; - } else { - HEAP32[$RP9$0>>2] = 0; - $R7$1 = $R7$0; - break; - } - } else { - $165 = (($mem) + ($8)|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[((39000 + 16|0))>>2]|0; - $168 = ($166>>>0)<($167>>>0); - if ($168) { - _abort(); - // unreachable; - } - $169 = (($166) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==($9|0); - if (!($171)) { - _abort(); - // unreachable; - } - $172 = (($163) + 8|0); - $173 = HEAP32[$172>>2]|0; - $174 = ($173|0)==($9|0); - if ($174) { - HEAP32[$169>>2] = $163; - HEAP32[$172>>2] = $166; - $R7$1 = $163; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $189 = ($161|0)==(0|0); - if (!($189)) { - $$sum18 = (($8) + 20)|0; - $190 = (($mem) + ($$sum18)|0); - $191 = HEAP32[$190>>2]|0; - $192 = ((39000 + ($191<<2)|0) + 304|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($9|0)==($193|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; - $cond54 = ($R7$1|0)==(0|0); - if ($cond54) { - $195 = 1 << $191; - $196 = $195 ^ -1; - $197 = HEAP32[((39000 + 4|0))>>2]|0; - $198 = $197 & $196; - HEAP32[((39000 + 4|0))>>2] = $198; - break; - } - } else { - $199 = HEAP32[((39000 + 16|0))>>2]|0; - $200 = ($161>>>0)<($199>>>0); - if ($200) { - _abort(); - // unreachable; - } - $201 = (($161) + 16|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)==($9|0); - if ($203) { - HEAP32[$201>>2] = $R7$1; - } else { - $204 = (($161) + 20|0); - HEAP32[$204>>2] = $R7$1; - } - $205 = ($R7$1|0)==(0|0); - if ($205) { - break; - } - } - $206 = HEAP32[((39000 + 16|0))>>2]|0; - $207 = ($R7$1>>>0)<($206>>>0); - if ($207) { - _abort(); - // unreachable; - } - $208 = (($R7$1) + 24|0); - HEAP32[$208>>2] = $161; - $$sum19 = (($8) + 8)|0; - $209 = (($mem) + ($$sum19)|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - do { - if (!($211)) { - $212 = ($210>>>0)<($206>>>0); - if ($212) { - _abort(); - // unreachable; - } else { - $213 = (($R7$1) + 16|0); - HEAP32[$213>>2] = $210; - $214 = (($210) + 24|0); - HEAP32[$214>>2] = $R7$1; - break; + } while(0); + $110 = ($p$0>>>0)<($9>>>0); + if ($110) { + $$sum19 = (($8) + -4)|0; + $111 = (($mem) + ($$sum19)|0); + $112 = HEAP32[$111>>2]|0; + $113 = $112 & 1; + $114 = ($113|0)==(0); + if (!($114)) { + $115 = $112 & 2; + $116 = ($115|0)==(0); + if ($116) { + $117 = HEAP32[(7216)>>2]|0; + $118 = ($9|0)==($117|0); + if ($118) { + $119 = HEAP32[(7204)>>2]|0; + $120 = (($119) + ($psize$0))|0; + HEAP32[(7204)>>2] = $120; + HEAP32[(7216)>>2] = $p$0; + $121 = $120 | 1; + $122 = ((($p$0)) + 4|0); + HEAP32[$122>>2] = $121; + $123 = HEAP32[(7212)>>2]|0; + $124 = ($p$0|0)==($123|0); + if (!($124)) { + break L1; + } + HEAP32[(7212)>>2] = 0; + HEAP32[(7200)>>2] = 0; + break L1; + } + $125 = HEAP32[(7212)>>2]|0; + $126 = ($9|0)==($125|0); + if ($126) { + $127 = HEAP32[(7200)>>2]|0; + $128 = (($127) + ($psize$0))|0; + HEAP32[(7200)>>2] = $128; + HEAP32[(7212)>>2] = $p$0; + $129 = $128 | 1; + $130 = ((($p$0)) + 4|0); + HEAP32[$130>>2] = $129; + $131 = (($p$0) + ($128)|0); + HEAP32[$131>>2] = $128; + break L1; + } + $132 = $112 & -8; + $133 = (($132) + ($psize$0))|0; + $134 = $112 >>> 3; + $135 = ($112>>>0)<(256); + do { + if ($135) { + $136 = (($mem) + ($8)|0); + $137 = HEAP32[$136>>2]|0; + $$sum1718 = $8 | 4; + $138 = (($mem) + ($$sum1718)|0); + $139 = HEAP32[$138>>2]|0; + $140 = $134 << 1; + $141 = (7232 + ($140<<2)|0); + $142 = ($137|0)==($141|0); + do { + if (!($142)) { + $143 = HEAP32[(7208)>>2]|0; + $144 = ($137>>>0)<($143>>>0); + if (!($144)) { + $145 = ((($137)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==($9|0); + if ($147) { + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $148 = ($139|0)==($137|0); + if ($148) { + $149 = 1 << $134; + $150 = $149 ^ -1; + $151 = HEAP32[7192>>2]|0; + $152 = $151 & $150; + HEAP32[7192>>2] = $152; + break; + } + $153 = ($139|0)==($141|0); + do { + if ($153) { + $$pre58 = ((($139)) + 8|0); + $$pre$phi59Z2D = $$pre58; + } else { + $154 = HEAP32[(7208)>>2]|0; + $155 = ($139>>>0)<($154>>>0); + if (!($155)) { + $156 = ((($139)) + 8|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($9|0); + if ($158) { + $$pre$phi59Z2D = $156; + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $159 = ((($137)) + 12|0); + HEAP32[$159>>2] = $139; + HEAP32[$$pre$phi59Z2D>>2] = $137; + } else { + $$sum5 = (($8) + 16)|0; + $160 = (($mem) + ($$sum5)|0); + $161 = HEAP32[$160>>2]|0; + $$sum67 = $8 | 4; + $162 = (($mem) + ($$sum67)|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($9|0); + do { + if ($164) { + $$sum9 = (($8) + 12)|0; + $175 = (($mem) + ($$sum9)|0); + $176 = HEAP32[$175>>2]|0; + $177 = ($176|0)==(0|0); + if ($177) { + $$sum8 = (($8) + 8)|0; + $178 = (($mem) + ($$sum8)|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $R7$1 = 0; + break; + } else { + $R7$0 = $179;$RP9$0 = $178; + } + } else { + $R7$0 = $176;$RP9$0 = $175; + } + while(1) { + $181 = ((($R7$0)) + 20|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182|0)==(0|0); + if (!($183)) { + $R7$0 = $182;$RP9$0 = $181; + continue; + } + $184 = ((($R7$0)) + 16|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==(0|0); + if ($186) { + $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + break; + } else { + $R7$0 = $185;$RP9$0 = $184; + } + } + $187 = HEAP32[(7208)>>2]|0; + $188 = ($RP9$0$lcssa>>>0)<($187>>>0); + if ($188) { + _abort(); + // unreachable; + } else { + HEAP32[$RP9$0$lcssa>>2] = 0; + $R7$1 = $R7$0$lcssa; + break; + } + } else { + $165 = (($mem) + ($8)|0); + $166 = HEAP32[$165>>2]|0; + $167 = HEAP32[(7208)>>2]|0; + $168 = ($166>>>0)<($167>>>0); + if (!($168)) { + $169 = ((($166)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($9|0); + if ($171) { + $172 = ((($163)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = ($173|0)==($9|0); + if ($174) { + HEAP32[$169>>2] = $163; + HEAP32[$172>>2] = $166; + $R7$1 = $163; + break; + } + } + } + _abort(); + // unreachable; + } + } while(0); + $189 = ($161|0)==(0|0); + if (!($189)) { + $$sum12 = (($8) + 20)|0; + $190 = (($mem) + ($$sum12)|0); + $191 = HEAP32[$190>>2]|0; + $192 = (7496 + ($191<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($9|0)==($193|0); + if ($194) { + HEAP32[$192>>2] = $R7$1; + $cond47 = ($R7$1|0)==(0|0); + if ($cond47) { + $195 = 1 << $191; + $196 = $195 ^ -1; + $197 = HEAP32[(7196)>>2]|0; + $198 = $197 & $196; + HEAP32[(7196)>>2] = $198; + break; + } + } else { + $199 = HEAP32[(7208)>>2]|0; + $200 = ($161>>>0)<($199>>>0); + if ($200) { + _abort(); + // unreachable; + } + $201 = ((($161)) + 16|0); + $202 = HEAP32[$201>>2]|0; + $203 = ($202|0)==($9|0); + if ($203) { + HEAP32[$201>>2] = $R7$1; + } else { + $204 = ((($161)) + 20|0); + HEAP32[$204>>2] = $R7$1; + } + $205 = ($R7$1|0)==(0|0); + if ($205) { + break; + } + } + $206 = HEAP32[(7208)>>2]|0; + $207 = ($R7$1>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } + $208 = ((($R7$1)) + 24|0); + HEAP32[$208>>2] = $161; + $$sum13 = (($8) + 8)|0; + $209 = (($mem) + ($$sum13)|0); + $210 = HEAP32[$209>>2]|0; + $211 = ($210|0)==(0|0); + do { + if (!($211)) { + $212 = ($210>>>0)<($206>>>0); + if ($212) { + _abort(); + // unreachable; + } else { + $213 = ((($R7$1)) + 16|0); + HEAP32[$213>>2] = $210; + $214 = ((($210)) + 24|0); + HEAP32[$214>>2] = $R7$1; + break; + } + } + } while(0); + $$sum14 = (($8) + 12)|0; + $215 = (($mem) + ($$sum14)|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + if (!($217)) { + $218 = HEAP32[(7208)>>2]|0; + $219 = ($216>>>0)<($218>>>0); + if ($219) { + _abort(); + // unreachable; + } else { + $220 = ((($R7$1)) + 20|0); + HEAP32[$220>>2] = $216; + $221 = ((($216)) + 24|0); + HEAP32[$221>>2] = $R7$1; + break; + } + } + } + } + } while(0); + $222 = $133 | 1; + $223 = ((($p$0)) + 4|0); + HEAP32[$223>>2] = $222; + $224 = (($p$0) + ($133)|0); + HEAP32[$224>>2] = $133; + $225 = HEAP32[(7212)>>2]|0; + $226 = ($p$0|0)==($225|0); + if ($226) { + HEAP32[(7200)>>2] = $133; + break L1; + } else { + $psize$1 = $133; + } + } else { + $227 = $112 & -2; + HEAP32[$111>>2] = $227; + $228 = $psize$0 | 1; + $229 = ((($p$0)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($p$0) + ($psize$0)|0); + HEAP32[$230>>2] = $psize$0; + $psize$1 = $psize$0; + } + $231 = $psize$1 >>> 3; + $232 = ($psize$1>>>0)<(256); + if ($232) { + $233 = $231 << 1; + $234 = (7232 + ($233<<2)|0); + $235 = HEAP32[7192>>2]|0; + $236 = 1 << $231; + $237 = $235 & $236; + $238 = ($237|0)==(0); + if ($238) { + $239 = $235 | $236; + HEAP32[7192>>2] = $239; + $$pre = (($233) + 2)|0; + $$pre57 = (7232 + ($$pre<<2)|0); + $$pre$phiZ2D = $$pre57;$F16$0 = $234; + } else { + $$sum11 = (($233) + 2)|0; + $240 = (7232 + ($$sum11<<2)|0); + $241 = HEAP32[$240>>2]|0; + $242 = HEAP32[(7208)>>2]|0; + $243 = ($241>>>0)<($242>>>0); + if ($243) { + _abort(); + // unreachable; + } else { + $$pre$phiZ2D = $240;$F16$0 = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $p$0; + $244 = ((($F16$0)) + 12|0); + HEAP32[$244>>2] = $p$0; + $245 = ((($p$0)) + 8|0); + HEAP32[$245>>2] = $F16$0; + $246 = ((($p$0)) + 12|0); + HEAP32[$246>>2] = $234; + break L1; + } + $247 = $psize$1 >>> 8; + $248 = ($247|0)==(0); + if ($248) { + $I18$0 = 0; + } else { + $249 = ($psize$1>>>0)>(16777215); + if ($249) { + $I18$0 = 31; + } else { + $250 = (($247) + 1048320)|0; + $251 = $250 >>> 16; + $252 = $251 & 8; + $253 = $247 << $252; + $254 = (($253) + 520192)|0; + $255 = $254 >>> 16; + $256 = $255 & 4; + $257 = $256 | $252; + $258 = $253 << $256; + $259 = (($258) + 245760)|0; + $260 = $259 >>> 16; + $261 = $260 & 2; + $262 = $257 | $261; + $263 = (14 - ($262))|0; + $264 = $258 << $261; + $265 = $264 >>> 15; + $266 = (($263) + ($265))|0; + $267 = $266 << 1; + $268 = (($266) + 7)|0; + $269 = $psize$1 >>> $268; + $270 = $269 & 1; + $271 = $270 | $267; + $I18$0 = $271; + } + } + $272 = (7496 + ($I18$0<<2)|0); + $273 = ((($p$0)) + 28|0); + HEAP32[$273>>2] = $I18$0; + $274 = ((($p$0)) + 16|0); + $275 = ((($p$0)) + 20|0); + HEAP32[$275>>2] = 0; + HEAP32[$274>>2] = 0; + $276 = HEAP32[(7196)>>2]|0; + $277 = 1 << $I18$0; + $278 = $276 & $277; + $279 = ($278|0)==(0); + L168: do { + if ($279) { + $280 = $276 | $277; + HEAP32[(7196)>>2] = $280; + HEAP32[$272>>2] = $p$0; + $281 = ((($p$0)) + 24|0); + HEAP32[$281>>2] = $272; + $282 = ((($p$0)) + 12|0); + HEAP32[$282>>2] = $p$0; + $283 = ((($p$0)) + 8|0); + HEAP32[$283>>2] = $p$0; + } else { + $284 = HEAP32[$272>>2]|0; + $285 = ((($284)) + 4|0); + $286 = HEAP32[$285>>2]|0; + $287 = $286 & -8; + $288 = ($287|0)==($psize$1|0); + L171: do { + if ($288) { + $T$0$lcssa = $284; + } else { + $289 = ($I18$0|0)==(31); + $290 = $I18$0 >>> 1; + $291 = (25 - ($290))|0; + $292 = $289 ? 0 : $291; + $293 = $psize$1 << $292; + $K19$052 = $293;$T$051 = $284; + while(1) { + $300 = $K19$052 >>> 31; + $301 = (((($T$051)) + 16|0) + ($300<<2)|0); + $296 = HEAP32[$301>>2]|0; + $302 = ($296|0)==(0|0); + if ($302) { + $$lcssa = $301;$T$051$lcssa = $T$051; + break; + } + $294 = $K19$052 << 1; + $295 = ((($296)) + 4|0); + $297 = HEAP32[$295>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($psize$1|0); + if ($299) { + $T$0$lcssa = $296; + break L171; + } else { + $K19$052 = $294;$T$051 = $296; + } + } + $303 = HEAP32[(7208)>>2]|0; + $304 = ($$lcssa>>>0)<($303>>>0); + if ($304) { + _abort(); + // unreachable; + } else { + HEAP32[$$lcssa>>2] = $p$0; + $305 = ((($p$0)) + 24|0); + HEAP32[$305>>2] = $T$051$lcssa; + $306 = ((($p$0)) + 12|0); + HEAP32[$306>>2] = $p$0; + $307 = ((($p$0)) + 8|0); + HEAP32[$307>>2] = $p$0; + break L168; + } + } + } while(0); + $308 = ((($T$0$lcssa)) + 8|0); + $309 = HEAP32[$308>>2]|0; + $310 = HEAP32[(7208)>>2]|0; + $311 = ($309>>>0)>=($310>>>0); + $not$ = ($T$0$lcssa>>>0)>=($310>>>0); + $312 = $311 & $not$; + if ($312) { + $313 = ((($309)) + 12|0); + HEAP32[$313>>2] = $p$0; + HEAP32[$308>>2] = $p$0; + $314 = ((($p$0)) + 8|0); + HEAP32[$314>>2] = $309; + $315 = ((($p$0)) + 12|0); + HEAP32[$315>>2] = $T$0$lcssa; + $316 = ((($p$0)) + 24|0); + HEAP32[$316>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $317 = HEAP32[(7224)>>2]|0; + $318 = (($317) + -1)|0; + HEAP32[(7224)>>2] = $318; + $319 = ($318|0)==(0); + if ($319) { + $sp$0$in$i = (7648); + } else { + break L1; + } + while(1) { + $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; + $320 = ($sp$0$i|0)==(0|0); + $321 = ((($sp$0$i)) + 8|0); + if ($320) { + break; + } else { + $sp$0$in$i = $321; + } + } + HEAP32[(7224)>>2] = -1; + break L1; } } - } while(0); - $$sum20 = (($8) + 12)|0; - $215 = (($mem) + ($$sum20)|0); - $216 = HEAP32[$215>>2]|0; - $217 = ($216|0)==(0|0); - if (!($217)) { - $218 = HEAP32[((39000 + 16|0))>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { - _abort(); - // unreachable; - } else { - $220 = (($R7$1) + 20|0); - HEAP32[$220>>2] = $216; - $221 = (($216) + 24|0); - HEAP32[$221>>2] = $R7$1; - break; - } - } - } - } - } while(0); - $222 = $133 | 1; - $223 = (($p$0) + 4|0); - HEAP32[$223>>2] = $222; - $224 = (($p$0) + ($133)|0); - HEAP32[$224>>2] = $133; - $225 = HEAP32[((39000 + 20|0))>>2]|0; - $226 = ($p$0|0)==($225|0); - if ($226) { - HEAP32[((39000 + 8|0))>>2] = $133; - STACKTOP = sp;return; - } else { - $psize$1 = $133; - } - } else { - $227 = $112 & -2; - HEAP32[$111>>2] = $227; - $228 = $psize$0 | 1; - $229 = (($p$0) + 4|0); - HEAP32[$229>>2] = $228; - $230 = (($p$0) + ($psize$0)|0); - HEAP32[$230>>2] = $psize$0; - $psize$1 = $psize$0; - } - $231 = $psize$1 >>> 3; - $232 = ($psize$1>>>0)<(256); - if ($232) { - $233 = $231 << 1; - $234 = ((39000 + ($233<<2)|0) + 40|0); - $235 = HEAP32[39000>>2]|0; - $236 = 1 << $231; - $237 = $235 & $236; - $238 = ($237|0)==(0); - if ($238) { - $239 = $235 | $236; - HEAP32[39000>>2] = $239; - $$sum16$pre = (($233) + 2)|0; - $$pre = ((39000 + ($$sum16$pre<<2)|0) + 40|0); - $$pre$phiZ2D = $$pre;$F16$0 = $234; - } else { - $$sum17 = (($233) + 2)|0; - $240 = ((39000 + ($$sum17<<2)|0) + 40|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[((39000 + 16|0))>>2]|0; - $243 = ($241>>>0)<($242>>>0); - if ($243) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $240;$F16$0 = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $p$0; - $244 = (($F16$0) + 12|0); - HEAP32[$244>>2] = $p$0; - $245 = (($p$0) + 8|0); - HEAP32[$245>>2] = $F16$0; - $246 = (($p$0) + 12|0); - HEAP32[$246>>2] = $234; - STACKTOP = sp;return; - } - $247 = $psize$1 >>> 8; - $248 = ($247|0)==(0); - if ($248) { - $I18$0 = 0; - } else { - $249 = ($psize$1>>>0)>(16777215); - if ($249) { - $I18$0 = 31; - } else { - $250 = (($247) + 1048320)|0; - $251 = $250 >>> 16; - $252 = $251 & 8; - $253 = $247 << $252; - $254 = (($253) + 520192)|0; - $255 = $254 >>> 16; - $256 = $255 & 4; - $257 = $256 | $252; - $258 = $253 << $256; - $259 = (($258) + 245760)|0; - $260 = $259 >>> 16; - $261 = $260 & 2; - $262 = $257 | $261; - $263 = (14 - ($262))|0; - $264 = $258 << $261; - $265 = $264 >>> 15; - $266 = (($263) + ($265))|0; - $267 = $266 << 1; - $268 = (($266) + 7)|0; - $269 = $psize$1 >>> $268; - $270 = $269 & 1; - $271 = $270 | $267; - $I18$0 = $271; - } - } - $272 = ((39000 + ($I18$0<<2)|0) + 304|0); - $273 = (($p$0) + 28|0); - $I18$0$c = $I18$0; - HEAP32[$273>>2] = $I18$0$c; - $274 = (($p$0) + 20|0); - HEAP32[$274>>2] = 0; - $275 = (($p$0) + 16|0); - HEAP32[$275>>2] = 0; - $276 = HEAP32[((39000 + 4|0))>>2]|0; - $277 = 1 << $I18$0; - $278 = $276 & $277; - $279 = ($278|0)==(0); - L199: do { - if ($279) { - $280 = $276 | $277; - HEAP32[((39000 + 4|0))>>2] = $280; - HEAP32[$272>>2] = $p$0; - $281 = (($p$0) + 24|0); - HEAP32[$281>>2] = $272; - $282 = (($p$0) + 12|0); - HEAP32[$282>>2] = $p$0; - $283 = (($p$0) + 8|0); - HEAP32[$283>>2] = $p$0; - } else { - $284 = HEAP32[$272>>2]|0; - $285 = ($I18$0|0)==(31); - if ($285) { - $293 = 0; - } else { - $286 = $I18$0 >>> 1; - $287 = (25 - ($286))|0; - $293 = $287; - } - $288 = (($284) + 4|0); - $289 = HEAP32[$288>>2]|0; - $290 = $289 & -8; - $291 = ($290|0)==($psize$1|0); - L205: do { - if ($291) { - $T$0$lcssa = $284; - } else { - $292 = $psize$1 << $293; - $K19$058 = $292;$T$057 = $284; - while(1) { - $300 = $K19$058 >>> 31; - $301 = ((($T$057) + ($300<<2)|0) + 16|0); - $296 = HEAP32[$301>>2]|0; - $302 = ($296|0)==(0|0); - if ($302) { - break; - } - $294 = $K19$058 << 1; - $295 = (($296) + 4|0); - $297 = HEAP32[$295>>2]|0; - $298 = $297 & -8; - $299 = ($298|0)==($psize$1|0); - if ($299) { - $T$0$lcssa = $296; - break L205; - } else { - $K19$058 = $294;$T$057 = $296; - } - } - $303 = HEAP32[((39000 + 16|0))>>2]|0; - $304 = ($301>>>0)<($303>>>0); - if ($304) { - _abort(); - // unreachable; - } else { - HEAP32[$301>>2] = $p$0; - $305 = (($p$0) + 24|0); - HEAP32[$305>>2] = $T$057; - $306 = (($p$0) + 12|0); - HEAP32[$306>>2] = $p$0; - $307 = (($p$0) + 8|0); - HEAP32[$307>>2] = $p$0; - break L199; } } } while(0); - $308 = (($T$0$lcssa) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[((39000 + 16|0))>>2]|0; - $311 = ($T$0$lcssa>>>0)>=($310>>>0); - $312 = ($309>>>0)>=($310>>>0); - $or$cond = $311 & $312; - if ($or$cond) { - $313 = (($309) + 12|0); - HEAP32[$313>>2] = $p$0; - HEAP32[$308>>2] = $p$0; - $314 = (($p$0) + 8|0); - HEAP32[$314>>2] = $309; - $315 = (($p$0) + 12|0); - HEAP32[$315>>2] = $T$0$lcssa; - $316 = (($p$0) + 24|0); - HEAP32[$316>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } + _abort(); + // unreachable; } } while(0); - $317 = HEAP32[((39000 + 32|0))>>2]|0; - $318 = (($317) + -1)|0; - HEAP32[((39000 + 32|0))>>2] = $318; - $319 = ($318|0)==(0); - if ($319) { - $sp$0$in$i = ((39000 + 456|0)); - } else { - STACKTOP = sp;return; - } - while(1) { - $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; - $320 = ($sp$0$i|0)==(0|0); - $321 = (($sp$0$i) + 8|0); - if ($320) { - break; - } else { - $sp$0$in$i = $321; - } - } - HEAP32[((39000 + 32|0))>>2] = -1; - STACKTOP = sp;return; + return; } function _realloc($oldmem,$bytes) { $oldmem = $oldmem|0; @@ -206517,18 +217478,14 @@ function _realloc($oldmem,$bytes) { break; } $4 = ($bytes>>>0)<(11); - if ($4) { - $8 = 16; - } else { - $5 = (($bytes) + 11)|0; - $6 = $5 & -8; - $8 = $6; - } - $7 = (($oldmem) + -8|0); - $9 = (_try_realloc_chunk($7,$8)|0); + $5 = (($bytes) + 11)|0; + $6 = $5 & -8; + $7 = $4 ? 16 : $6; + $8 = ((($oldmem)) + -8|0); + $9 = (_try_realloc_chunk($8,$7)|0); $10 = ($9|0)==(0|0); if (!($10)) { - $11 = (($9) + 8|0); + $11 = ((($9)) + 8|0); $mem$0 = $11; break; } @@ -206537,7 +217494,7 @@ function _realloc($oldmem,$bytes) { if ($13) { $mem$0 = 0; } else { - $14 = (($oldmem) + -4|0); + $14 = ((($oldmem)) + -4|0); $15 = HEAP32[$14>>2]|0; $16 = $15 & -8; $17 = $15 & 3; @@ -206552,45 +217509,915 @@ function _realloc($oldmem,$bytes) { } } } while(0); - STACKTOP = sp;return ($mem$0|0); + return ($mem$0|0); +} +function ___errno_location() { + var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7144>>2]|0; + $1 = ($0|0)==(0|0); + if ($1) { + $$0 = 7688; + } else { + $2 = (_pthread_self()|0); + $3 = ((($2)) + 60|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + } + return ($$0|0); +} +function _strerror($e) { + $e = $e|0; + var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $i$03 = 0; + while(1) { + $1 = (37778 + ($i$03)|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = ($3|0)==($e|0); + if ($4) { + $i$03$lcssa = $i$03; + label = 2; + break; + } + $5 = (($i$03) + 1)|0; + $6 = ($5|0)==(87); + if ($6) { + $i$12 = 87;$s$01 = 37866; + label = 5; + break; + } else { + $i$03 = $5; + } + } + if ((label|0) == 2) { + $0 = ($i$03$lcssa|0)==(0); + if ($0) { + $s$0$lcssa = 37866; + } else { + $i$12 = $i$03$lcssa;$s$01 = 37866; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $s$1 = $s$01; + while(1) { + $7 = HEAP8[$s$1>>0]|0; + $8 = ($7<<24>>24)==(0); + $9 = ((($s$1)) + 1|0); + if ($8) { + $$lcssa = $9; + break; + } else { + $s$1 = $9; + } + } + $10 = (($i$12) + -1)|0; + $11 = ($10|0)==(0); + if ($11) { + $s$0$lcssa = $$lcssa; + break; + } else { + $i$12 = $10;$s$01 = $$lcssa; + label = 5; + } + } + } + return ($s$0$lcssa|0); +} +function _fcntl($fd,$cmd,$varargs) { + $fd = $fd|0; + $cmd = $cmd|0; + $varargs = $varargs|0; + var $$ = 0, $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $ap = 0, $arglist_current = 0, $arglist_next = 0, $ex = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_buffer28 = 0, $vararg_buffer3 = 0, $vararg_buffer31 = 0, $vararg_buffer36 = 0, $vararg_buffer41 = 0; + var $vararg_buffer46 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr49 = 0, $vararg_ptr50 = 0; + var $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; + $vararg_buffer46 = sp + 152|0; + $vararg_buffer41 = sp + 112|0; + $vararg_buffer36 = sp; + $vararg_buffer31 = sp + 64|0; + $vararg_buffer28 = sp + 128|0; + $vararg_buffer23 = sp + 136|0; + $vararg_buffer18 = sp + 48|0; + $vararg_buffer13 = sp + 96|0; + $vararg_buffer8 = sp + 80|0; + $vararg_buffer3 = sp + 32|0; + $vararg_buffer = sp + 16|0; + $ap = sp + 176|0; + $ex = sp + 168|0; + HEAP32[$ap>>2] = $varargs; + $arglist_current = HEAP32[$ap>>2]|0; + $0 = $arglist_current; + $1 = ((0) + 4|0); + $expanded2 = $1; + $expanded = (($expanded2) - 1)|0; + $2 = (($0) + ($expanded))|0; + $3 = ((0) + 4|0); + $expanded6 = $3; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $4 = $2 & $expanded4; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $arglist_next = ((($5)) + 4|0); + HEAP32[$ap>>2] = $arglist_next; + $7 = ($cmd|0)==(4); + $8 = $6 | 32768; + $$ = $7 ? $8 : $6; + L1: do { + switch ($cmd|0) { + case 14: { + $9 = $$; + HEAP32[$vararg_buffer>>2] = $fd; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 14; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $9; + $10 = (___syscall221(221,($vararg_buffer|0))|0); + $11 = (___syscall_ret($10)|0); + $$0 = $11; + break; + } + case 9: { + HEAP32[$vararg_buffer3>>2] = $fd; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 16; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $ex; + $12 = (___syscall221(221,($vararg_buffer3|0))|0); + switch ($12|0) { + case -22: { + $13 = $$; + HEAP32[$vararg_buffer8>>2] = $fd; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = 9; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $13; + $14 = (___syscall221(221,($vararg_buffer8|0))|0); + $$0 = $14; + break L1; + break; + } + case 0: { + $16 = HEAP32[$ex>>2]|0; + $17 = ($16|0)==(2); + $18 = ((($ex)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (0 - ($19))|0; + $21 = $17 ? $20 : $19; + $$0 = $21; + break L1; + break; + } + default: { + $15 = (___syscall_ret($12)|0); + $$0 = $15; + break L1; + } + } + break; + } + case 1030: { + HEAP32[$vararg_buffer13>>2] = $fd; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = 1030; + $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); + HEAP32[$vararg_ptr17>>2] = $$; + $22 = (___syscall221(221,($vararg_buffer13|0))|0); + $23 = ($22|0)==(-22); + if (!($23)) { + $24 = ($22|0)>(-1); + if ($24) { + HEAP32[$vararg_buffer18>>2] = $22; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = 2; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = 1; + (___syscall221(221,($vararg_buffer18|0))|0); + } + $25 = (___syscall_ret($22)|0); + $$0 = $25; + break L1; + } + HEAP32[$vararg_buffer23>>2] = $fd; + $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); + HEAP32[$vararg_ptr26>>2] = 1030; + $vararg_ptr27 = ((($vararg_buffer23)) + 8|0); + HEAP32[$vararg_ptr27>>2] = 0; + $26 = (___syscall221(221,($vararg_buffer23|0))|0); + $27 = ($26|0)==(-22); + if ($27) { + HEAP32[$vararg_buffer31>>2] = $fd; + $vararg_ptr34 = ((($vararg_buffer31)) + 4|0); + HEAP32[$vararg_ptr34>>2] = 0; + $vararg_ptr35 = ((($vararg_buffer31)) + 8|0); + HEAP32[$vararg_ptr35>>2] = $$; + $30 = (___syscall221(221,($vararg_buffer31|0))|0); + $31 = ($30|0)>(-1); + if ($31) { + HEAP32[$vararg_buffer36>>2] = $30; + $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); + HEAP32[$vararg_ptr39>>2] = 2; + $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); + HEAP32[$vararg_ptr40>>2] = 1; + (___syscall221(221,($vararg_buffer36|0))|0); + } + $32 = (___syscall_ret($30)|0); + $$0 = $32; + break L1; + } else { + $28 = ($26|0)>(-1); + if ($28) { + HEAP32[$vararg_buffer28>>2] = $26; + (___syscall6(6,($vararg_buffer28|0))|0); + } + $29 = (___syscall_ret(-22)|0); + $$0 = $29; + break L1; + } + break; + } + default: { + $$off = (($cmd) + -12)|0; + $switch = ($$off>>>0)<(5); + if ($switch) { + $33 = $$; + HEAP32[$vararg_buffer41>>2] = $fd; + $vararg_ptr44 = ((($vararg_buffer41)) + 4|0); + HEAP32[$vararg_ptr44>>2] = $cmd; + $vararg_ptr45 = ((($vararg_buffer41)) + 8|0); + HEAP32[$vararg_ptr45>>2] = $33; + $34 = (___syscall221(221,($vararg_buffer41|0))|0); + $35 = (___syscall_ret($34)|0); + $$0 = $35; + break L1; + } else { + HEAP32[$vararg_buffer46>>2] = $fd; + $vararg_ptr49 = ((($vararg_buffer46)) + 4|0); + HEAP32[$vararg_ptr49>>2] = $cmd; + $vararg_ptr50 = ((($vararg_buffer46)) + 8|0); + HEAP32[$vararg_ptr50>>2] = $$; + $36 = (___syscall221(221,($vararg_buffer46|0))|0); + $37 = (___syscall_ret($36)|0); + $$0 = $37; + break L1; + } + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _open($filename,$flags,$varargs) { + $filename = $filename|0; + $flags = $flags|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $ap = sp + 16|0; + HEAP32[$ap>>2] = $varargs; + $arglist_current = HEAP32[$ap>>2]|0; + $0 = $arglist_current; + $1 = ((0) + 4|0); + $expanded2 = $1; + $expanded = (($expanded2) - 1)|0; + $2 = (($0) + ($expanded))|0; + $3 = ((0) + 4|0); + $expanded6 = $3; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $4 = $2 & $expanded4; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $arglist_next = ((($5)) + 4|0); + HEAP32[$ap>>2] = $arglist_next; + $7 = $flags | 32768; + HEAP32[$vararg_buffer>>2] = $filename; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $6; + $8 = (___syscall5(5,($vararg_buffer|0))|0); + $9 = (___syscall_ret($8)|0); + STACKTOP = sp;return ($9|0); +} +function ___procfdname($buf,$fd) { + $buf = $buf|0; + $fd = $fd|0; + var $$01 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $i$0 = 0, $i$13 = 0, $i$22 = 0, $j$04 = 0, $scevgep = 0, label = 0, sp = 0; + sp = STACKTOP; + $i$0 = 0; + while(1) { + $0 = (39670 + ($i$0)|0); + $1 = HEAP8[$0>>0]|0; + $2 = (($buf) + ($i$0)|0); + HEAP8[$2>>0] = $1; + $3 = ($i$0|0)==(14); + $4 = (($i$0) + 1)|0; + if ($3) { + break; + } else { + $i$0 = $4; + } + } + $5 = ($fd|0)==(0); + if ($5) { + $scevgep = ((($buf)) + 14|0); + HEAP8[$scevgep>>0] = 48; + $6 = ((($buf)) + 15|0); + HEAP8[$6>>0] = 0; + } else { + $i$13 = 14;$j$04 = $fd; + while(1) { + $7 = (($j$04>>>0) / 10)&-1; + $8 = (($i$13) + 1)|0; + $9 = ($j$04>>>0)<(10); + if ($9) { + $$lcssa = $8; + break; + } else { + $i$13 = $8;$j$04 = $7; + } + } + $10 = (($buf) + ($$lcssa)|0); + HEAP8[$10>>0] = 0; + $$01 = $fd;$i$22 = $$lcssa; + while(1) { + $11 = (($$01>>>0) % 10)&-1; + $12 = $11 | 48; + $13 = $12&255; + $14 = (($i$22) + -1)|0; + $15 = (($buf) + ($14)|0); + HEAP8[$15>>0] = $13; + $16 = (($$01>>>0) / 10)&-1; + $17 = ($$01>>>0)<(10); + if ($17) { + break; + } else { + $$01 = $16;$i$22 = $14; + } + } + } + return; +} +function ___syscall_ret($r) { + $r = $r|0; + var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = ($r>>>0)>(4294963200); + if ($0) { + $1 = (0 - ($r))|0; + $2 = (___errno_location()|0); + HEAP32[$2>>2] = $1; + $$0 = -1; + } else { + $$0 = $r; + } + return ($$0|0); +} +function ___mmap($start,$len,$prot,$flags,$fd,$off) { + $start = $start|0; + $len = $len|0; + $prot = $prot|0; + $flags = $flags|0; + $fd = $fd|0; + $off = $off|0; + var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = ($off|0)<(0); + $1 = $0 << 31 >> 31; + $2 = $off & 4095; + $3 = $1 & -4096; + $4 = ($2|0)==(0); + $5 = ($3|0)==(0); + $6 = $4 & $5; + do { + if ($6) { + $8 = ($len>>>0)>(2147483646); + if ($8) { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 12; + $$0 = (-1); + break; + } + $10 = $flags & 16; + $11 = ($10|0)!=(0); + if ($11) { + _dummy1(-1); + } + $12 = $off >> 12; + HEAP32[$vararg_buffer>>2] = $start; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $len; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $prot; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $flags; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $fd; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $12; + $13 = (___syscall192(192,($vararg_buffer|0))|0); + $14 = (___syscall_ret($13)|0); + $15 = $14; + if ($11) { + _dummy0(); + $$0 = $15; + } else { + $$0 = $15; + } + } else { + $7 = (___errno_location()|0); + HEAP32[$7>>2] = 22; + $$0 = (-1); + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function ___munmap($start,$len) { + $start = $start|0; + $len = $len|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + _dummy1(-1); + HEAP32[$vararg_buffer>>2] = $start; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $len; + $0 = (___syscall91(91,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + _dummy0(); + STACKTOP = sp;return ($1|0); +} +function _fchmod($fd,$mode) { + $fd = $fd|0; + $mode = $mode|0; + var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $buf = sp + 24|0; + HEAP32[$vararg_buffer>>2] = $fd; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $mode; + $0 = (___syscall94(94,($vararg_buffer|0))|0); + $1 = ($0|0)==(-9); + if ($1) { + HEAP32[$vararg_buffer2>>2] = $fd; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = 1; + $2 = (___syscall221(221,($vararg_buffer2|0))|0); + $3 = ($2|0)<(0); + if ($3) { + label = 3; + } else { + ___procfdname($buf,$fd); + HEAP32[$vararg_buffer6>>2] = $buf; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $mode; + $5 = (___syscall15(15,($vararg_buffer6|0))|0); + $6 = (___syscall_ret($5)|0); + $$0 = $6; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $4 = (___syscall_ret($0)|0); + $$0 = $4; + } + STACKTOP = sp;return ($$0|0); +} +function _fstat($fd,$st) { + $fd = $fd|0; + $st = $st|0; + var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $buf = sp + 24|0; + HEAP32[$vararg_buffer>>2] = $fd; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $st; + $0 = (___syscall197(197,($vararg_buffer|0))|0); + $1 = ($0|0)==(-9); + if ($1) { + HEAP32[$vararg_buffer2>>2] = $fd; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = 1; + $2 = (___syscall221(221,($vararg_buffer2|0))|0); + $3 = ($2|0)<(0); + if ($3) { + label = 3; + } else { + ___procfdname($buf,$fd); + HEAP32[$vararg_buffer6>>2] = $buf; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $st; + $5 = (___syscall195(195,($vararg_buffer6|0))|0); + $6 = (___syscall_ret($5)|0); + $$0 = $6; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $4 = (___syscall_ret($0)|0); + $$0 = $4; + } + STACKTOP = sp;return ($$0|0); +} +function _mkdir($path,$mode) { + $path = $path|0; + $mode = $mode|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $path; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $mode; + $0 = (___syscall39(39,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + STACKTOP = sp;return ($1|0); +} +function _stat($path,$buf) { + $path = $path|0; + $buf = $buf|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $path; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $buf; + $0 = (___syscall195(195,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + STACKTOP = sp;return ($1|0); +} +function ___lockfile($f) { + $f = $f|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function ___unlockfile($f) { + $f = $f|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function ___stdio_close($f) { + $f = $f|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = ((($f)) + 60|0); + $1 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $1; + $2 = (___syscall6(6,($vararg_buffer|0))|0); + $3 = (___syscall_ret($2)|0); + STACKTOP = sp;return ($3|0); +} +function ___stdio_seek($f,$off,$whence) { + $f = $f|0; + $off = $off|0; + $whence = $whence|0; + var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $ret = sp + 20|0; + $0 = ((($f)) + 60|0); + $1 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $1; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $off; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $ret; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $whence; + $2 = (___syscall140(140,($vararg_buffer|0))|0); + $3 = (___syscall_ret($2)|0); + $4 = ($3|0)<(0); + if ($4) { + HEAP32[$ret>>2] = -1; + $5 = -1; + } else { + $$pre = HEAP32[$ret>>2]|0; + $5 = $$pre; + } + STACKTOP = sp;return ($5|0); +} +function ___stdio_write($f,$buf,$len) { + $f = $f|0; + $buf = $buf|0; + $len = $len|0; + var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0; + var $iovcnt$0$lcssa12 = 0, $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $iovs = sp + 32|0; + $0 = ((($f)) + 28|0); + $1 = HEAP32[$0>>2]|0; + HEAP32[$iovs>>2] = $1; + $2 = ((($iovs)) + 4|0); + $3 = ((($f)) + 20|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4; + $6 = (($5) - ($1))|0; + HEAP32[$2>>2] = $6; + $7 = ((($iovs)) + 8|0); + HEAP32[$7>>2] = $buf; + $8 = ((($iovs)) + 12|0); + HEAP32[$8>>2] = $len; + $9 = (($6) + ($len))|0; + $10 = ((($f)) + 60|0); + $11 = ((($f)) + 44|0); + $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $9; + while(1) { + $12 = HEAP32[7144>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + $17 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer3>>2] = $17; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $iov$0; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $iovcnt$0; + $18 = (___syscall146(146,($vararg_buffer3|0))|0); + $19 = (___syscall_ret($18)|0); + $cnt$0 = $19; + } else { + _pthread_cleanup_push((17|0),($f|0)); + $14 = HEAP32[$10>>2]|0; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $iov$0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $iovcnt$0; + $15 = (___syscall146(146,($vararg_buffer|0))|0); + $16 = (___syscall_ret($15)|0); + _pthread_cleanup_pop(0); + $cnt$0 = $16; + } + $20 = ($rem$0|0)==($cnt$0|0); + if ($20) { + label = 6; + break; + } + $27 = ($cnt$0|0)<(0); + if ($27) { + $iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0; + label = 8; + break; + } + $35 = (($rem$0) - ($cnt$0))|0; + $36 = ((($iov$0)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($cnt$0>>>0)>($37>>>0); + if ($38) { + $39 = HEAP32[$11>>2]|0; + HEAP32[$0>>2] = $39; + HEAP32[$3>>2] = $39; + $40 = (($cnt$0) - ($37))|0; + $41 = ((($iov$0)) + 8|0); + $42 = (($iovcnt$0) + -1)|0; + $$phi$trans$insert = ((($iov$0)) + 12|0); + $$pre = HEAP32[$$phi$trans$insert>>2]|0; + $50 = $$pre;$cnt$1 = $40;$iov$1 = $41;$iovcnt$1 = $42; + } else { + $43 = ($iovcnt$0|0)==(2); + if ($43) { + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($cnt$0)|0); + HEAP32[$0>>2] = $45; + $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2; + } else { + $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0; + } + } + $46 = HEAP32[$iov$1>>2]|0; + $47 = (($46) + ($cnt$1)|0); + HEAP32[$iov$1>>2] = $47; + $48 = ((($iov$1)) + 4|0); + $49 = (($50) - ($cnt$1))|0; + HEAP32[$48>>2] = $49; + $iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $35; + } + if ((label|0) == 6) { + $21 = HEAP32[$11>>2]|0; + $22 = ((($f)) + 48|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + ($23)|0); + $25 = ((($f)) + 16|0); + HEAP32[$25>>2] = $24; + $26 = $21; + HEAP32[$0>>2] = $26; + HEAP32[$3>>2] = $26; + $$0 = $len; + } + else if ((label|0) == 8) { + $28 = ((($f)) + 16|0); + HEAP32[$28>>2] = 0; + HEAP32[$0>>2] = 0; + HEAP32[$3>>2] = 0; + $29 = HEAP32[$f>>2]|0; + $30 = $29 | 32; + HEAP32[$f>>2] = $30; + $31 = ($iovcnt$0$lcssa12|0)==(2); + if ($31) { + $$0 = 0; + } else { + $32 = ((($iov$0$lcssa11)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($len) - ($33))|0; + $$0 = $34; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___stdout_write($f,$buf,$len) { + $f = $f|0; + $buf = $buf|0; + $len = $len|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $tio = sp + 12|0; + $0 = ((($f)) + 36|0); + HEAP32[$0>>2] = 21; + $1 = HEAP32[$f>>2]|0; + $2 = $1 & 64; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($f)) + 60|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 21505; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $tio; + $6 = (___syscall54(54,($vararg_buffer|0))|0); + $7 = ($6|0)==(0); + if (!($7)) { + $8 = ((($f)) + 75|0); + HEAP8[$8>>0] = -1; + } + } + $9 = (___stdio_write($f,$buf,$len)|0); + STACKTOP = sp;return ($9|0); +} +function _fflush($f) { + $f = $f|0; + var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = ($f|0)==(0|0); + do { + if ($0) { + $7 = HEAP32[7188>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $27 = 0; + } else { + $9 = HEAP32[7188>>2]|0; + $10 = (_fflush($9)|0); + $27 = $10; + } + ___lock(((7172)|0)); + $$012 = HEAP32[(7168)>>2]|0; + $11 = ($$012|0)==(0|0); + if ($11) { + $r$0$lcssa = $27; + } else { + $$014 = $$012;$r$03 = $27; + while(1) { + $12 = ((($$014)) + 76|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)>(-1); + if ($14) { + $15 = (___lockfile($$014)|0); + $24 = $15; + } else { + $24 = 0; + } + $16 = ((($$014)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($$014)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($17>>>0)>($19>>>0); + if ($20) { + $21 = (___fflush_unlocked($$014)|0); + $22 = $21 | $r$03; + $r$1 = $22; + } else { + $r$1 = $r$03; + } + $23 = ($24|0)==(0); + if (!($23)) { + ___unlockfile($$014); + } + $25 = ((($$014)) + 56|0); + $$01 = HEAP32[$25>>2]|0; + $26 = ($$01|0)==(0|0); + if ($26) { + $r$0$lcssa = $r$1; + break; + } else { + $$014 = $$01;$r$03 = $r$1; + } + } + } + ___unlock(((7172)|0)); + $$0 = $r$0$lcssa; + } else { + $1 = ((($f)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if (!($3)) { + $4 = (___fflush_unlocked($f)|0); + $$0 = $4; + break; + } + $5 = (___lockfile($f)|0); + $phitmp = ($5|0)==(0); + $6 = (___fflush_unlocked($f)|0); + if ($phitmp) { + $$0 = $6; + } else { + ___unlockfile($f); + $$0 = $6; + } + } + } while(0); + return ($$0|0); } function _memcmp($vl,$vr,$n) { $vl = $vl|0; $vr = $vr|0; $n = $n|0; - var $$02 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$03 = 0, $r$04 = 0, label = 0, sp = 0; + var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = ($n|0)==(0); L1: do { if ($0) { $11 = 0; } else { - $$02 = $n;$l$03 = $vl;$r$04 = $vr; + $$03 = $n;$l$04 = $vl;$r$05 = $vr; while(1) { - $1 = HEAP8[$l$03>>0]|0; - $2 = HEAP8[$r$04>>0]|0; + $1 = HEAP8[$l$04>>0]|0; + $2 = HEAP8[$r$05>>0]|0; $3 = ($1<<24>>24)==($2<<24>>24); if (!($3)) { + $$lcssa = $1;$$lcssa19 = $2; break; } - $4 = (($$02) + -1)|0; - $5 = (($l$03) + 1|0); - $6 = (($r$04) + 1|0); + $4 = (($$03) + -1)|0; + $5 = ((($l$04)) + 1|0); + $6 = ((($r$05)) + 1|0); $7 = ($4|0)==(0); if ($7) { $11 = 0; break L1; } else { - $$02 = $4;$l$03 = $5;$r$04 = $6; + $$03 = $4;$l$04 = $5;$r$05 = $6; } } - $8 = $1&255; - $9 = $2&255; + $8 = $$lcssa&255; + $9 = $$lcssa19&255; $10 = (($8) - ($9))|0; $11 = $10; } } while(0); - STACKTOP = sp;return ($11|0); + return ($11|0); } function _strcmp($l,$r) { $l = $l|0; @@ -206602,19 +218429,19 @@ function _strcmp($l,$r) { $1 = HEAP8[$r>>0]|0; $2 = ($0<<24>>24)!=($1<<24>>24); $3 = ($0<<24>>24)==(0); - $or$cond3 = $2 | $3; + $or$cond3 = $3 | $2; if ($or$cond3) { $$lcssa = $0;$$lcssa2 = $1; } else { $$014 = $l;$$05 = $r; while(1) { - $4 = (($$014) + 1|0); - $5 = (($$05) + 1|0); + $4 = ((($$014)) + 1|0); + $5 = ((($$05)) + 1|0); $6 = HEAP8[$4>>0]|0; $7 = HEAP8[$5>>0]|0; $8 = ($6<<24>>24)!=($7<<24>>24); $9 = ($6<<24>>24)==(0); - $or$cond = $8 | $9; + $or$cond = $9 | $8; if ($or$cond) { $$lcssa = $6;$$lcssa2 = $7; break; @@ -206626,59 +218453,442 @@ function _strcmp($l,$r) { $10 = $$lcssa&255; $11 = $$lcssa2&255; $12 = (($10) - ($11))|0; - STACKTOP = sp;return ($12|0); + return ($12|0); } -function _strncmp($_l,$_r,$n) { - $_l = $_l|0; - $_r = $_r|0; - $n = $n|0; - var $$02 = 0, $$07 = 0, $$07$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $l$05 = 0, $or$cond = 0, $or$cond3 = 0, $r$0$lcssa = 0, $r$06 = 0, label = 0, sp = 0; +function ___strdup($s) { + $s = $s|0; + var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $$02 = 0; - STACKTOP = sp;return ($$02|0); + $0 = (_strlen($s)|0); + $1 = (($0) + 1)|0; + $2 = (_malloc($1)|0); + $3 = ($2|0)==(0|0); + if ($3) { + $$0 = 0; + } else { + _memcpy(($2|0),($s|0),($1|0))|0; + $$0 = $2; } - $1 = HEAP8[$_l>>0]|0; - $2 = ($1<<24>>24)==(0); - L4: do { + return ($$0|0); +} +function _strlen($s) { + $s = $s|0; + var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = $s; + $1 = $0 & 3; + $2 = ($1|0)==(0); + L1: do { if ($2) { - $13 = 0;$r$0$lcssa = $_r; + $$01$lcssa = $s; + label = 4; } else { - $$07$in = $n;$7 = $1;$l$05 = $_l;$r$06 = $_r; + $$014 = $s;$21 = $0; while(1) { - $$07 = (($$07$in) + -1)|0; - $3 = HEAP8[$r$06>>0]|0; - $4 = ($3<<24>>24)!=(0); - $5 = ($$07|0)!=(0); - $or$cond = $4 & $5; - $6 = ($7<<24>>24)==($3<<24>>24); - $or$cond3 = $or$cond & $6; - if (!($or$cond3)) { - $13 = $7;$r$0$lcssa = $r$06; - break L4; + $3 = HEAP8[$$014>>0]|0; + $4 = ($3<<24>>24)==(0); + if ($4) { + $$pn = $21; + break L1; } - $8 = (($l$05) + 1|0); - $9 = (($r$06) + 1|0); - $10 = HEAP8[$8>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $13 = 0;$r$0$lcssa = $9; + $5 = ((($$014)) + 1|0); + $6 = $5; + $7 = $6 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$01$lcssa = $5; + label = 4; break; } else { - $$07$in = $$07;$7 = $10;$l$05 = $8;$r$06 = $9; + $$014 = $5;$21 = $6; } } } } while(0); - $12 = $13&255; - $14 = HEAP8[$r$0$lcssa>>0]|0; - $15 = $14&255; - $16 = (($12) - ($15))|0; - $$02 = $16; + if ((label|0) == 4) { + $w$0 = $$01$lcssa; + while(1) { + $9 = HEAP32[$w$0>>2]|0; + $10 = (($9) + -16843009)|0; + $11 = $9 & -2139062144; + $12 = $11 ^ -2139062144; + $13 = $12 & $10; + $14 = ($13|0)==(0); + $15 = ((($w$0)) + 4|0); + if ($14) { + $w$0 = $15; + } else { + $$lcssa20 = $9;$w$0$lcssa = $w$0; + break; + } + } + $16 = $$lcssa20&255; + $17 = ($16<<24>>24)==(0); + if ($17) { + $$1$lcssa = $w$0$lcssa; + } else { + $$pn15 = $w$0$lcssa; + while(1) { + $18 = ((($$pn15)) + 1|0); + $$pre = HEAP8[$18>>0]|0; + $19 = ($$pre<<24>>24)==(0); + if ($19) { + $$1$lcssa = $18; + break; + } else { + $$pn15 = $18; + } + } + } + $20 = $$1$lcssa; + $$pn = $20; + } + $$0 = (($$pn) - ($0))|0; + return ($$0|0); +} +function _strncmp($_l,$_r,$n) { + $_l = $_l|0; + $_r = $_r|0; + $n = $n|0; + var $$03 = 0, $$08 = 0, $$08$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $l$06 = 0, $or$cond = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = ($n|0)==(0); + if ($0) { + $$03 = 0; + } else { + $1 = HEAP8[$_l>>0]|0; + $2 = ($1<<24>>24)==(0); + L3: do { + if ($2) { + $13 = 0;$r$0$lcssa = $_r; + } else { + $$08$in = $n;$7 = $1;$l$06 = $_l;$r$07 = $_r; + while(1) { + $$08 = (($$08$in) + -1)|0; + $3 = HEAP8[$r$07>>0]|0; + $4 = ($3<<24>>24)!=(0); + $5 = ($$08|0)!=(0); + $or$cond = $5 & $4; + $6 = ($7<<24>>24)==($3<<24>>24); + $or$cond4 = $6 & $or$cond; + if (!($or$cond4)) { + $13 = $7;$r$0$lcssa = $r$07; + break L3; + } + $8 = ((($l$06)) + 1|0); + $9 = ((($r$07)) + 1|0); + $10 = HEAP8[$8>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $13 = 0;$r$0$lcssa = $9; + break; + } else { + $$08$in = $$08;$7 = $10;$l$06 = $8;$r$07 = $9; + } + } + } + } while(0); + $12 = $13&255; + $14 = HEAP8[$r$0$lcssa>>0]|0; + $15 = $14&255; + $16 = (($12) - ($15))|0; + $$03 = $16; + } + return ($$03|0); +} +function _access($filename,$amode) { + $filename = $filename|0; + $amode = $amode|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $filename; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $amode; + $0 = (___syscall33(33,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + STACKTOP = sp;return ($1|0); +} +function _close($fd) { + $fd = $fd|0; + var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $fd; + $0 = (___syscall6(6,($vararg_buffer|0))|0); + $1 = ($0|0)==(-4); + $$ = $1 ? -115 : $0; + $2 = (___syscall_ret($$)|0); + STACKTOP = sp;return ($2|0); +} +function _fchown($fd,$uid,$gid) { + $fd = $fd|0; + $uid = $uid|0; + $gid = $gid|0; + var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $buf = sp + 36|0; + HEAP32[$vararg_buffer>>2] = $fd; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $uid; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $gid; + $0 = (___syscall207(207,($vararg_buffer|0))|0); + $1 = ($0|0)==(-9); + if ($1) { + HEAP32[$vararg_buffer3>>2] = $fd; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 1; + $2 = (___syscall221(221,($vararg_buffer3|0))|0); + $3 = ($2|0)<(0); + if ($3) { + label = 3; + } else { + ___procfdname($buf,$fd); + HEAP32[$vararg_buffer7>>2] = $buf; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $uid; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $gid; + $5 = (___syscall212(212,($vararg_buffer7|0))|0); + $6 = (___syscall_ret($5)|0); + $$0 = $6; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $4 = (___syscall_ret($0)|0); + $$0 = $4; + } + STACKTOP = sp;return ($$0|0); +} +function _fsync($fd) { + $fd = $fd|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $fd; + $0 = (___syscall118(118,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + STACKTOP = sp;return ($1|0); +} +function _ftruncate($fd,$length) { + $fd = $fd|0; + $length = $length|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = ($length|0)<(0); + $1 = $0 << 31 >> 31; + HEAP32[$vararg_buffer>>2] = $fd; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $length; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + $2 = (___syscall194(194,($vararg_buffer|0))|0); + $3 = (___syscall_ret($2)|0); + STACKTOP = sp;return ($3|0); +} +function _getcwd($buf,$size) { + $buf = $buf|0; + $size = $size|0; + var $$0 = 0, $$01 = 0, $$02 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $tmp = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4112|0; + $vararg_buffer = sp; + $tmp = sp + 8|0; + $0 = ($buf|0)==(0|0); + if ($0) { + $$0 = 4096;$$01 = $tmp; + label = 4; + } else { + $1 = ($size|0)==(0); + if ($1) { + $2 = (___errno_location()|0); + HEAP32[$2>>2] = 22; + $$02 = 0; + } else { + $$0 = $size;$$01 = $buf; + label = 4; + } + } + if ((label|0) == 4) { + HEAP32[$vararg_buffer>>2] = $$01; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $$0; + $3 = (___syscall183(183,($vararg_buffer|0))|0); + $4 = (___syscall_ret($3)|0); + $5 = ($4|0)<(0); + if ($5) { + $$02 = 0; + } else { + $6 = ($$01|0)==($tmp|0); + if ($6) { + $7 = (___strdup($tmp)|0); + $$02 = $7; + } else { + $$02 = $$01; + } + } + } STACKTOP = sp;return ($$02|0); } +function _geteuid() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = (___syscall201(201,($vararg_buffer|0))|0); + STACKTOP = sp;return ($0|0); +} +function _getpid() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = (___syscall20(20,($vararg_buffer|0))|0); + STACKTOP = sp;return ($0|0); +} +function _lseek($fd,$offset,$whence) { + $fd = $fd|0; + $offset = $offset|0; + $whence = $whence|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $result = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $result = sp + 20|0; + HEAP32[$vararg_buffer>>2] = $fd; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $offset; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $result; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $whence; + $0 = (___syscall140(140,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + $2 = ($1|0)!=(0); + $3 = HEAP32[$result>>2]|0; + $4 = $2 ? -1 : $3; + STACKTOP = sp;return ($4|0); +} +function _read($fd,$buf,$count) { + $fd = $fd|0; + $buf = $buf|0; + $count = $count|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $fd; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $buf; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $count; + $0 = (___syscall3(3,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + STACKTOP = sp;return ($1|0); +} +function _rmdir($path) { + $path = $path|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $path; + $0 = (___syscall40(40,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + STACKTOP = sp;return ($1|0); +} +function _sleep($seconds) { + $seconds = $seconds|0; + var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $tv = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $tv = sp; + HEAP32[$tv>>2] = $seconds; + $0 = ((($tv)) + 4|0); + HEAP32[$0>>2] = 0; + $1 = (_nanosleep(($tv|0),($tv|0))|0); + $2 = ($1|0)==(0); + $3 = HEAP32[$tv>>2]|0; + $$0 = $2 ? 0 : $3; + STACKTOP = sp;return ($$0|0); +} +function _unlink($path) { + $path = $path|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $path; + $0 = (___syscall10(10,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + STACKTOP = sp;return ($1|0); +} +function _write($fd,$buf,$count) { + $fd = $fd|0; + $buf = $buf|0; + $count = $count|0; + var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $fd; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $buf; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $count; + $0 = (___syscall4(4,($vararg_buffer|0))|0); + $1 = (___syscall_ret($0)|0); + STACKTOP = sp;return ($1|0); +} +function _init_mparams() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7664>>2]|0; + $1 = ($0|0)==(0); + do { + if ($1) { + $2 = (_sysconf(30)|0); + $3 = (($2) + -1)|0; + $4 = $3 & $2; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[(7672)>>2] = $2; + HEAP32[(7668)>>2] = $2; + HEAP32[(7676)>>2] = -1; + HEAP32[(7680)>>2] = -1; + HEAP32[(7684)>>2] = 0; + HEAP32[(7636)>>2] = 0; + $6 = (_time((0|0))|0); + $7 = $6 & -16; + $8 = $7 ^ 1431655768; + HEAP32[7664>>2] = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + return; +} function _try_realloc_chunk($p,$nb) { $p = $p|0; $nb = $nb|0; @@ -206691,454 +218901,453 @@ function _try_realloc_chunk($p,$nb) { var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$0 = 0, $R$1 = 0, $RP$0 = 0, $cond = 0, $newp$0 = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0; - var $or$cond30 = 0, $storemerge = 0, $storemerge21 = 0, label = 0, sp = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $cond = 0, $newp$0 = 0, $notlhs = 0; + var $notrhs = 0, $or$cond$not = 0, $or$cond30 = 0, $storemerge = 0, $storemerge21 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($p) + 4|0); + $0 = ((($p)) + 4|0); $1 = HEAP32[$0>>2]|0; $2 = $1 & -8; $3 = (($p) + ($2)|0); - $4 = HEAP32[((39000 + 16|0))>>2]|0; + $4 = HEAP32[(7208)>>2]|0; $5 = $1 & 3; $notlhs = ($p>>>0)>=($4>>>0); $notrhs = ($5|0)!=(1); $or$cond$not = $notrhs & $notlhs; $6 = ($p>>>0)<($3>>>0); $or$cond30 = $or$cond$not & $6; - if (!($or$cond30)) { - _abort(); - // unreachable; - } - $$sum2728 = $2 | 4; - $7 = (($p) + ($$sum2728)|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)==(0); - if ($10) { - _abort(); - // unreachable; - } - $11 = ($5|0)==(0); - if ($11) { - $12 = ($nb>>>0)<(256); - if ($12) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $13 = (($nb) + 4)|0; - $14 = ($2>>>0)<($13>>>0); - if (!($14)) { - $15 = (($2) - ($nb))|0; - $16 = HEAP32[((39472 + 8|0))>>2]|0; - $17 = $16 << 1; - $18 = ($15>>>0)>($17>>>0); - if (!($18)) { - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - } - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $19 = ($2>>>0)<($nb>>>0); - if (!($19)) { - $20 = (($2) - ($nb))|0; - $21 = ($20>>>0)>(15); - if (!($21)) { - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - $22 = (($p) + ($nb)|0); - $23 = $1 & 1; - $24 = $23 | $nb; - $25 = $24 | 2; - HEAP32[$0>>2] = $25; - $$sum23 = (($nb) + 4)|0; - $26 = (($p) + ($$sum23)|0); - $27 = $20 | 3; - HEAP32[$26>>2] = $27; - $28 = HEAP32[$7>>2]|0; - $29 = $28 | 1; - HEAP32[$7>>2] = $29; - _dispose_chunk($22,$20); - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - $30 = HEAP32[((39000 + 24|0))>>2]|0; - $31 = ($3|0)==($30|0); - if ($31) { - $32 = HEAP32[((39000 + 12|0))>>2]|0; - $33 = (($32) + ($2))|0; - $34 = ($33>>>0)>($nb>>>0); - if (!($34)) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $35 = (($33) - ($nb))|0; - $36 = (($p) + ($nb)|0); - $37 = $1 & 1; - $38 = $37 | $nb; - $39 = $38 | 2; - HEAP32[$0>>2] = $39; - $$sum22 = (($nb) + 4)|0; - $40 = (($p) + ($$sum22)|0); - $41 = $35 | 1; - HEAP32[$40>>2] = $41; - HEAP32[((39000 + 24|0))>>2] = $36; - HEAP32[((39000 + 12|0))>>2] = $35; - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - $42 = HEAP32[((39000 + 20|0))>>2]|0; - $43 = ($3|0)==($42|0); - if ($43) { - $44 = HEAP32[((39000 + 8|0))>>2]|0; - $45 = (($44) + ($2))|0; - $46 = ($45>>>0)<($nb>>>0); - if ($46) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $47 = (($45) - ($nb))|0; - $48 = ($47>>>0)>(15); - if ($48) { - $49 = (($p) + ($nb)|0); - $50 = (($p) + ($45)|0); - $51 = $1 & 1; - $52 = $51 | $nb; - $53 = $52 | 2; - HEAP32[$0>>2] = $53; - $$sum19 = (($nb) + 4)|0; - $54 = (($p) + ($$sum19)|0); - $55 = $47 | 1; - HEAP32[$54>>2] = $55; - HEAP32[$50>>2] = $47; - $$sum20 = (($45) + 4)|0; - $56 = (($p) + ($$sum20)|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57 & -2; - HEAP32[$56>>2] = $58; - $storemerge = $49;$storemerge21 = $47; - } else { - $59 = $1 & 1; - $60 = $59 | $45; - $61 = $60 | 2; - HEAP32[$0>>2] = $61; - $$sum17 = (($45) + 4)|0; - $62 = (($p) + ($$sum17)|0); - $63 = HEAP32[$62>>2]|0; - $64 = $63 | 1; - HEAP32[$62>>2] = $64; - $storemerge = 0;$storemerge21 = 0; - } - HEAP32[((39000 + 8|0))>>2] = $storemerge21; - HEAP32[((39000 + 20|0))>>2] = $storemerge; - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - $65 = $8 & 2; - $66 = ($65|0)==(0); - if (!($66)) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $67 = $8 & -8; - $68 = (($67) + ($2))|0; - $69 = ($68>>>0)<($nb>>>0); - if ($69) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $70 = (($68) - ($nb))|0; - $71 = $8 >>> 3; - $72 = ($8>>>0)<(256); - do { - if ($72) { - $$sum15 = (($2) + 8)|0; - $73 = (($p) + ($$sum15)|0); - $74 = HEAP32[$73>>2]|0; - $$sum16 = (($2) + 12)|0; - $75 = (($p) + ($$sum16)|0); - $76 = HEAP32[$75>>2]|0; - $77 = $71 << 1; - $78 = ((39000 + ($77<<2)|0) + 40|0); - $79 = ($74|0)==($78|0); - if (!($79)) { - $80 = ($74>>>0)<($4>>>0); - if ($80) { - _abort(); - // unreachable; - } - $81 = (($74) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)==($3|0); - if (!($83)) { - _abort(); - // unreachable; - } - } - $84 = ($76|0)==($74|0); - if ($84) { - $85 = 1 << $71; - $86 = $85 ^ -1; - $87 = HEAP32[39000>>2]|0; - $88 = $87 & $86; - HEAP32[39000>>2] = $88; - break; - } - $89 = ($76|0)==($78|0); - if ($89) { - $$pre = (($76) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $90 = ($76>>>0)<($4>>>0); - if ($90) { - _abort(); - // unreachable; - } - $91 = (($76) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==($3|0); - if ($93) { - $$pre$phiZ2D = $91; - } else { - _abort(); - // unreachable; - } - } - $94 = (($74) + 12|0); - HEAP32[$94>>2] = $76; - HEAP32[$$pre$phiZ2D>>2] = $74; - } else { - $$sum = (($2) + 24)|0; - $95 = (($p) + ($$sum)|0); - $96 = HEAP32[$95>>2]|0; - $$sum2 = (($2) + 12)|0; - $97 = (($p) + ($$sum2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==($3|0); + if ($or$cond30) { + $$sum2728 = $2 | 4; + $7 = (($p) + ($$sum2728)|0); + $8 = HEAP32[$7>>2]|0; + $9 = $8 & 1; + $10 = ($9|0)==(0); + if (!($10)) { + $11 = ($5|0)==(0); do { - if ($99) { - $$sum4 = (($2) + 20)|0; - $109 = (($p) + ($$sum4)|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if ($111) { - $$sum3 = (($2) + 16)|0; - $112 = (($p) + ($$sum3)|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)==(0|0); - if ($114) { - $R$1 = 0; - break; - } else { - $R$0 = $113;$RP$0 = $112; - } + if ($11) { + $12 = ($nb>>>0)<(256); + if ($12) { + $newp$0 = 0; } else { - $R$0 = $110;$RP$0 = $109; - } - while(1) { - $115 = (($R$0) + 20|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)==(0|0); - if (!($117)) { - $R$0 = $116;$RP$0 = $115; - continue; - } - $118 = (($R$0) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)==(0|0); - if ($120) { - break; - } else { - $R$0 = $119;$RP$0 = $118; + $13 = (($nb) + 4)|0; + $14 = ($2>>>0)<($13>>>0); + if (!($14)) { + $15 = (($2) - ($nb))|0; + $16 = HEAP32[(7672)>>2]|0; + $17 = $16 << 1; + $18 = ($15>>>0)>($17>>>0); + if (!($18)) { + $newp$0 = $p; + break; + } } - } - $121 = ($RP$0>>>0)<($4>>>0); - if ($121) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0>>2] = 0; - $R$1 = $R$0; - break; + $newp$0 = 0; } } else { - $$sum14 = (($2) + 8)|0; - $100 = (($p) + ($$sum14)|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101>>>0)<($4>>>0); - if ($102) { - _abort(); - // unreachable; - } - $103 = (($101) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==($3|0); - if (!($105)) { - _abort(); - // unreachable; - } - $106 = (($98) + 8|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)==($3|0); - if ($108) { - HEAP32[$103>>2] = $98; - HEAP32[$106>>2] = $101; - $R$1 = $98; + $19 = ($2>>>0)<($nb>>>0); + if (!($19)) { + $20 = (($2) - ($nb))|0; + $21 = ($20>>>0)>(15); + if (!($21)) { + $newp$0 = $p; + break; + } + $22 = (($p) + ($nb)|0); + $23 = $1 & 1; + $24 = $23 | $nb; + $25 = $24 | 2; + HEAP32[$0>>2] = $25; + $$sum23 = (($nb) + 4)|0; + $26 = (($p) + ($$sum23)|0); + $27 = $20 | 3; + HEAP32[$26>>2] = $27; + $28 = HEAP32[$7>>2]|0; + $29 = $28 | 1; + HEAP32[$7>>2] = $29; + _dispose_chunk($22,$20); + $newp$0 = $p; break; - } else { - _abort(); - // unreachable; } - } - } while(0); - $122 = ($96|0)==(0|0); - if (!($122)) { - $$sum11 = (($2) + 28)|0; - $123 = (($p) + ($$sum11)|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((39000 + ($124<<2)|0) + 304|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($3|0)==($126|0); - if ($127) { - HEAP32[$125>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $128 = 1 << $124; - $129 = $128 ^ -1; - $130 = HEAP32[((39000 + 4|0))>>2]|0; - $131 = $130 & $129; - HEAP32[((39000 + 4|0))>>2] = $131; + $30 = HEAP32[(7216)>>2]|0; + $31 = ($3|0)==($30|0); + if ($31) { + $32 = HEAP32[(7204)>>2]|0; + $33 = (($32) + ($2))|0; + $34 = ($33>>>0)>($nb>>>0); + if (!($34)) { + $newp$0 = 0; + break; + } + $35 = (($33) - ($nb))|0; + $36 = (($p) + ($nb)|0); + $37 = $1 & 1; + $38 = $37 | $nb; + $39 = $38 | 2; + HEAP32[$0>>2] = $39; + $$sum22 = (($nb) + 4)|0; + $40 = (($p) + ($$sum22)|0); + $41 = $35 | 1; + HEAP32[$40>>2] = $41; + HEAP32[(7216)>>2] = $36; + HEAP32[(7204)>>2] = $35; + $newp$0 = $p; break; } - } else { - $132 = HEAP32[((39000 + 16|0))>>2]|0; - $133 = ($96>>>0)<($132>>>0); - if ($133) { - _abort(); - // unreachable; - } - $134 = (($96) + 16|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)==($3|0); - if ($136) { - HEAP32[$134>>2] = $R$1; - } else { - $137 = (($96) + 20|0); - HEAP32[$137>>2] = $R$1; - } - $138 = ($R$1|0)==(0|0); - if ($138) { + $42 = HEAP32[(7212)>>2]|0; + $43 = ($3|0)==($42|0); + if ($43) { + $44 = HEAP32[(7200)>>2]|0; + $45 = (($44) + ($2))|0; + $46 = ($45>>>0)<($nb>>>0); + if ($46) { + $newp$0 = 0; + break; + } + $47 = (($45) - ($nb))|0; + $48 = ($47>>>0)>(15); + if ($48) { + $49 = (($p) + ($nb)|0); + $50 = (($p) + ($45)|0); + $51 = $1 & 1; + $52 = $51 | $nb; + $53 = $52 | 2; + HEAP32[$0>>2] = $53; + $$sum19 = (($nb) + 4)|0; + $54 = (($p) + ($$sum19)|0); + $55 = $47 | 1; + HEAP32[$54>>2] = $55; + HEAP32[$50>>2] = $47; + $$sum20 = (($45) + 4)|0; + $56 = (($p) + ($$sum20)|0); + $57 = HEAP32[$56>>2]|0; + $58 = $57 & -2; + HEAP32[$56>>2] = $58; + $storemerge = $49;$storemerge21 = $47; + } else { + $59 = $1 & 1; + $60 = $59 | $45; + $61 = $60 | 2; + HEAP32[$0>>2] = $61; + $$sum17 = (($45) + 4)|0; + $62 = (($p) + ($$sum17)|0); + $63 = HEAP32[$62>>2]|0; + $64 = $63 | 1; + HEAP32[$62>>2] = $64; + $storemerge = 0;$storemerge21 = 0; + } + HEAP32[(7200)>>2] = $storemerge21; + HEAP32[(7212)>>2] = $storemerge; + $newp$0 = $p; break; } - } - $139 = HEAP32[((39000 + 16|0))>>2]|0; - $140 = ($R$1>>>0)<($139>>>0); - if ($140) { - _abort(); - // unreachable; - } - $141 = (($R$1) + 24|0); - HEAP32[$141>>2] = $96; - $$sum12 = (($2) + 16)|0; - $142 = (($p) + ($$sum12)|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)==(0|0); - do { - if (!($144)) { - $145 = ($143>>>0)<($139>>>0); - if ($145) { - _abort(); - // unreachable; + $65 = $8 & 2; + $66 = ($65|0)==(0); + if ($66) { + $67 = $8 & -8; + $68 = (($67) + ($2))|0; + $69 = ($68>>>0)<($nb>>>0); + if ($69) { + $newp$0 = 0; } else { - $146 = (($R$1) + 16|0); - HEAP32[$146>>2] = $143; - $147 = (($143) + 24|0); - HEAP32[$147>>2] = $R$1; - break; + $70 = (($68) - ($nb))|0; + $71 = $8 >>> 3; + $72 = ($8>>>0)<(256); + do { + if ($72) { + $$sum15 = (($2) + 8)|0; + $73 = (($p) + ($$sum15)|0); + $74 = HEAP32[$73>>2]|0; + $$sum16 = (($2) + 12)|0; + $75 = (($p) + ($$sum16)|0); + $76 = HEAP32[$75>>2]|0; + $77 = $71 << 1; + $78 = (7232 + ($77<<2)|0); + $79 = ($74|0)==($78|0); + do { + if (!($79)) { + $80 = ($74>>>0)<($4>>>0); + if (!($80)) { + $81 = ((($74)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==($3|0); + if ($83) { + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $84 = ($76|0)==($74|0); + if ($84) { + $85 = 1 << $71; + $86 = $85 ^ -1; + $87 = HEAP32[7192>>2]|0; + $88 = $87 & $86; + HEAP32[7192>>2] = $88; + break; + } + $89 = ($76|0)==($78|0); + do { + if ($89) { + $$pre = ((($76)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $90 = ($76>>>0)<($4>>>0); + if (!($90)) { + $91 = ((($76)) + 8|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==($3|0); + if ($93) { + $$pre$phiZ2D = $91; + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $94 = ((($74)) + 12|0); + HEAP32[$94>>2] = $76; + HEAP32[$$pre$phiZ2D>>2] = $74; + } else { + $$sum = (($2) + 24)|0; + $95 = (($p) + ($$sum)|0); + $96 = HEAP32[$95>>2]|0; + $$sum2 = (($2) + 12)|0; + $97 = (($p) + ($$sum2)|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($3|0); + do { + if ($99) { + $$sum4 = (($2) + 20)|0; + $109 = (($p) + ($$sum4)|0); + $110 = HEAP32[$109>>2]|0; + $111 = ($110|0)==(0|0); + if ($111) { + $$sum3 = (($2) + 16)|0; + $112 = (($p) + ($$sum3)|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0|0); + if ($114) { + $R$1 = 0; + break; + } else { + $R$0 = $113;$RP$0 = $112; + } + } else { + $R$0 = $110;$RP$0 = $109; + } + while(1) { + $115 = ((($R$0)) + 20|0); + $116 = HEAP32[$115>>2]|0; + $117 = ($116|0)==(0|0); + if (!($117)) { + $R$0 = $116;$RP$0 = $115; + continue; + } + $118 = ((($R$0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)==(0|0); + if ($120) { + $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; + break; + } else { + $R$0 = $119;$RP$0 = $118; + } + } + $121 = ($RP$0$lcssa>>>0)<($4>>>0); + if ($121) { + _abort(); + // unreachable; + } else { + HEAP32[$RP$0$lcssa>>2] = 0; + $R$1 = $R$0$lcssa; + break; + } + } else { + $$sum14 = (($2) + 8)|0; + $100 = (($p) + ($$sum14)|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101>>>0)<($4>>>0); + if (!($102)) { + $103 = ((($101)) + 12|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==($3|0); + if ($105) { + $106 = ((($98)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)==($3|0); + if ($108) { + HEAP32[$103>>2] = $98; + HEAP32[$106>>2] = $101; + $R$1 = $98; + break; + } + } + } + _abort(); + // unreachable; + } + } while(0); + $122 = ($96|0)==(0|0); + if (!($122)) { + $$sum11 = (($2) + 28)|0; + $123 = (($p) + ($$sum11)|0); + $124 = HEAP32[$123>>2]|0; + $125 = (7496 + ($124<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($3|0)==($126|0); + if ($127) { + HEAP32[$125>>2] = $R$1; + $cond = ($R$1|0)==(0|0); + if ($cond) { + $128 = 1 << $124; + $129 = $128 ^ -1; + $130 = HEAP32[(7196)>>2]|0; + $131 = $130 & $129; + HEAP32[(7196)>>2] = $131; + break; + } + } else { + $132 = HEAP32[(7208)>>2]|0; + $133 = ($96>>>0)<($132>>>0); + if ($133) { + _abort(); + // unreachable; + } + $134 = ((($96)) + 16|0); + $135 = HEAP32[$134>>2]|0; + $136 = ($135|0)==($3|0); + if ($136) { + HEAP32[$134>>2] = $R$1; + } else { + $137 = ((($96)) + 20|0); + HEAP32[$137>>2] = $R$1; + } + $138 = ($R$1|0)==(0|0); + if ($138) { + break; + } + } + $139 = HEAP32[(7208)>>2]|0; + $140 = ($R$1>>>0)<($139>>>0); + if ($140) { + _abort(); + // unreachable; + } + $141 = ((($R$1)) + 24|0); + HEAP32[$141>>2] = $96; + $$sum12 = (($2) + 16)|0; + $142 = (($p) + ($$sum12)|0); + $143 = HEAP32[$142>>2]|0; + $144 = ($143|0)==(0|0); + do { + if (!($144)) { + $145 = ($143>>>0)<($139>>>0); + if ($145) { + _abort(); + // unreachable; + } else { + $146 = ((($R$1)) + 16|0); + HEAP32[$146>>2] = $143; + $147 = ((($143)) + 24|0); + HEAP32[$147>>2] = $R$1; + break; + } + } + } while(0); + $$sum13 = (($2) + 20)|0; + $148 = (($p) + ($$sum13)|0); + $149 = HEAP32[$148>>2]|0; + $150 = ($149|0)==(0|0); + if (!($150)) { + $151 = HEAP32[(7208)>>2]|0; + $152 = ($149>>>0)<($151>>>0); + if ($152) { + _abort(); + // unreachable; + } else { + $153 = ((($R$1)) + 20|0); + HEAP32[$153>>2] = $149; + $154 = ((($149)) + 24|0); + HEAP32[$154>>2] = $R$1; + break; + } + } + } + } + } while(0); + $155 = ($70>>>0)<(16); + if ($155) { + $156 = $1 & 1; + $157 = $68 | $156; + $158 = $157 | 2; + HEAP32[$0>>2] = $158; + $$sum910 = $68 | 4; + $159 = (($p) + ($$sum910)|0); + $160 = HEAP32[$159>>2]|0; + $161 = $160 | 1; + HEAP32[$159>>2] = $161; + $newp$0 = $p; + break; + } else { + $162 = (($p) + ($nb)|0); + $163 = $1 & 1; + $164 = $163 | $nb; + $165 = $164 | 2; + HEAP32[$0>>2] = $165; + $$sum5 = (($nb) + 4)|0; + $166 = (($p) + ($$sum5)|0); + $167 = $70 | 3; + HEAP32[$166>>2] = $167; + $$sum78 = $68 | 4; + $168 = (($p) + ($$sum78)|0); + $169 = HEAP32[$168>>2]|0; + $170 = $169 | 1; + HEAP32[$168>>2] = $170; + _dispose_chunk($162,$70); + $newp$0 = $p; + break; + } } - } - } while(0); - $$sum13 = (($2) + 20)|0; - $148 = (($p) + ($$sum13)|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)==(0|0); - if (!($150)) { - $151 = HEAP32[((39000 + 16|0))>>2]|0; - $152 = ($149>>>0)<($151>>>0); - if ($152) { - _abort(); - // unreachable; } else { - $153 = (($R$1) + 20|0); - HEAP32[$153>>2] = $149; - $154 = (($149) + 24|0); - HEAP32[$154>>2] = $R$1; - break; + $newp$0 = 0; } } - } + } while(0); + return ($newp$0|0); } - } while(0); - $155 = ($70>>>0)<(16); - if ($155) { - $156 = $1 & 1; - $157 = $68 | $156; - $158 = $157 | 2; - HEAP32[$0>>2] = $158; - $$sum910 = $68 | 4; - $159 = (($p) + ($$sum910)|0); - $160 = HEAP32[$159>>2]|0; - $161 = $160 | 1; - HEAP32[$159>>2] = $161; - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } else { - $162 = (($p) + ($nb)|0); - $163 = $1 & 1; - $164 = $163 | $nb; - $165 = $164 | 2; - HEAP32[$0>>2] = $165; - $$sum5 = (($nb) + 4)|0; - $166 = (($p) + ($$sum5)|0); - $167 = $70 | 3; - HEAP32[$166>>2] = $167; - $$sum78 = $68 | 4; - $168 = (($p) + ($$sum78)|0); - $169 = HEAP32[$168>>2]|0; - $170 = $169 | 1; - HEAP32[$168>>2] = $170; - _dispose_chunk($162,$70); - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); } - return 0|0; + _abort(); + // unreachable; + return (0)|0; } function _dispose_chunk($p,$psize) { $p = $p|0; $psize = $psize|0; - var $$0 = 0, $$02 = 0, $$1 = 0, $$pre = 0, $$pre$phi57Z2D = 0, $$pre$phi59Z2D = 0, $$pre$phiZ2D = 0, $$pre56 = 0, $$pre58 = 0, $$sum = 0, $$sum1 = 0, $$sum12$pre = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0, $$sum19 = 0, $$sum2 = 0; - var $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; - var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; - var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; - var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; - var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; - var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0; - var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $F16$0 = 0, $I19$0 = 0, $I19$0$c = 0, $K20$050 = 0, $R$0 = 0, $R$1 = 0, $R7$0 = 0, $R7$1 = 0, $RP$0 = 0, $RP9$0 = 0, $T$0$lcssa = 0, $T$049 = 0, $cond = 0, $cond46 = 0, $or$cond = 0, label = 0, sp = 0; + var $$0 = 0, $$02 = 0, $$1 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi50Z2D = 0, $$pre$phi52Z2D = 0, $$pre$phiZ2D = 0, $$pre48 = 0, $$pre49 = 0, $$pre51 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum16 = 0, $$sum17 = 0; + var $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0; + var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; + var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; + var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; + var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; + var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; + var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; + var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; + var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; + var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; + var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I19$0 = 0, $K20$043 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$042 = 0, $T$042$lcssa = 0, $cond = 0; + var $cond39 = 0, $not$ = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (($p) + ($psize)|0); - $1 = (($p) + 4|0); + $1 = ((($p)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = $2 & 1; $4 = ($3|0)==(0); @@ -207147,756 +219356,832 @@ function _dispose_chunk($p,$psize) { $5 = HEAP32[$p>>2]|0; $6 = $2 & 3; $7 = ($6|0)==(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = (0 - ($5))|0; - $9 = (($p) + ($8)|0); - $10 = (($5) + ($psize))|0; - $11 = HEAP32[((39000 + 16|0))>>2]|0; - $12 = ($9>>>0)<($11>>>0); - if ($12) { - _abort(); - // unreachable; - } - $13 = HEAP32[((39000 + 20|0))>>2]|0; - $14 = ($9|0)==($13|0); - if ($14) { - $$sum = (($psize) + 4)|0; - $99 = (($p) + ($$sum)|0); - $100 = HEAP32[$99>>2]|0; - $101 = $100 & 3; - $102 = ($101|0)==(3); - if (!($102)) { - $$0 = $9;$$02 = $10; - break; + if (!($7)) { + $8 = (0 - ($5))|0; + $9 = (($p) + ($8)|0); + $10 = (($5) + ($psize))|0; + $11 = HEAP32[(7208)>>2]|0; + $12 = ($9>>>0)<($11>>>0); + if ($12) { + _abort(); + // unreachable; } - HEAP32[((39000 + 8|0))>>2] = $10; - $103 = $100 & -2; - HEAP32[$99>>2] = $103; - $104 = $10 | 1; - $$sum20 = (4 - ($5))|0; - $105 = (($p) + ($$sum20)|0); - HEAP32[$105>>2] = $104; - HEAP32[$0>>2] = $10; - STACKTOP = sp;return; - } - $15 = $5 >>> 3; - $16 = ($5>>>0)<(256); - if ($16) { - $$sum30 = (8 - ($5))|0; - $17 = (($p) + ($$sum30)|0); - $18 = HEAP32[$17>>2]|0; - $$sum31 = (12 - ($5))|0; - $19 = (($p) + ($$sum31)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $15 << 1; - $22 = ((39000 + ($21<<2)|0) + 40|0); - $23 = ($18|0)==($22|0); - if (!($23)) { - $24 = ($18>>>0)<($11>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = (($18) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($9|0); - if (!($27)) { - _abort(); - // unreachable; + $13 = HEAP32[(7212)>>2]|0; + $14 = ($9|0)==($13|0); + if ($14) { + $$sum = (($psize) + 4)|0; + $99 = (($p) + ($$sum)|0); + $100 = HEAP32[$99>>2]|0; + $101 = $100 & 3; + $102 = ($101|0)==(3); + if (!($102)) { + $$0 = $9;$$02 = $10; + label = 54; + break; } - } - $28 = ($20|0)==($18|0); - if ($28) { - $29 = 1 << $15; - $30 = $29 ^ -1; - $31 = HEAP32[39000>>2]|0; - $32 = $31 & $30; - HEAP32[39000>>2] = $32; - $$0 = $9;$$02 = $10; + HEAP32[(7200)>>2] = $10; + $103 = $100 & -2; + HEAP32[$99>>2] = $103; + $104 = $10 | 1; + $$sum14 = (4 - ($5))|0; + $105 = (($p) + ($$sum14)|0); + HEAP32[$105>>2] = $104; + HEAP32[$0>>2] = $10; break; } - $33 = ($20|0)==($22|0); - if ($33) { - $$pre58 = (($20) + 8|0); - $$pre$phi59Z2D = $$pre58; - } else { - $34 = ($20>>>0)<($11>>>0); - if ($34) { - _abort(); - // unreachable; - } - $35 = (($20) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==($9|0); - if ($37) { - $$pre$phi59Z2D = $35; - } else { - _abort(); - // unreachable; - } - } - $38 = (($18) + 12|0); - HEAP32[$38>>2] = $20; - HEAP32[$$pre$phi59Z2D>>2] = $18; - $$0 = $9;$$02 = $10; - break; - } - $$sum22 = (24 - ($5))|0; - $39 = (($p) + ($$sum22)|0); - $40 = HEAP32[$39>>2]|0; - $$sum23 = (12 - ($5))|0; - $41 = (($p) + ($$sum23)|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($9|0); - do { - if ($43) { - $$sum24 = (16 - ($5))|0; - $$sum25 = (($$sum24) + 4)|0; - $53 = (($p) + ($$sum25)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = (($p) + ($$sum24)|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $R$1 = 0; - break; - } else { - $R$0 = $57;$RP$0 = $56; - } - } else { - $R$0 = $54;$RP$0 = $53; - } - while(1) { - $59 = (($R$0) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0|0); - if (!($61)) { - $R$0 = $60;$RP$0 = $59; - continue; - } - $62 = (($R$0) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - break; - } else { - $R$0 = $63;$RP$0 = $62; + $15 = $5 >>> 3; + $16 = ($5>>>0)<(256); + if ($16) { + $$sum24 = (8 - ($5))|0; + $17 = (($p) + ($$sum24)|0); + $18 = HEAP32[$17>>2]|0; + $$sum25 = (12 - ($5))|0; + $19 = (($p) + ($$sum25)|0); + $20 = HEAP32[$19>>2]|0; + $21 = $15 << 1; + $22 = (7232 + ($21<<2)|0); + $23 = ($18|0)==($22|0); + do { + if (!($23)) { + $24 = ($18>>>0)<($11>>>0); + if (!($24)) { + $25 = ((($18)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==($9|0); + if ($27) { + break; + } + } + _abort(); + // unreachable; } - } - $65 = ($RP$0>>>0)<($11>>>0); - if ($65) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0>>2] = 0; - $R$1 = $R$0; - break; - } - } else { - $$sum29 = (8 - ($5))|0; - $44 = (($p) + ($$sum29)|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45>>>0)<($11>>>0); - if ($46) { - _abort(); - // unreachable; - } - $47 = (($45) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($9|0); - if (!($49)) { - _abort(); - // unreachable; - } - $50 = (($42) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==($9|0); - if ($52) { - HEAP32[$47>>2] = $42; - HEAP32[$50>>2] = $45; - $R$1 = $42; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $66 = ($40|0)==(0|0); - if ($66) { - $$0 = $9;$$02 = $10; - } else { - $$sum26 = (28 - ($5))|0; - $67 = (($p) + ($$sum26)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((39000 + ($68<<2)|0) + 304|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($9|0)==($70|0); - if ($71) { - HEAP32[$69>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $72 = 1 << $68; - $73 = $72 ^ -1; - $74 = HEAP32[((39000 + 4|0))>>2]|0; - $75 = $74 & $73; - HEAP32[((39000 + 4|0))>>2] = $75; - $$0 = $9;$$02 = $10; - break; - } - } else { - $76 = HEAP32[((39000 + 16|0))>>2]|0; - $77 = ($40>>>0)<($76>>>0); - if ($77) { - _abort(); - // unreachable; - } - $78 = (($40) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==($9|0); - if ($80) { - HEAP32[$78>>2] = $R$1; - } else { - $81 = (($40) + 20|0); - HEAP32[$81>>2] = $R$1; - } - $82 = ($R$1|0)==(0|0); - if ($82) { + } while(0); + $28 = ($20|0)==($18|0); + if ($28) { + $29 = 1 << $15; + $30 = $29 ^ -1; + $31 = HEAP32[7192>>2]|0; + $32 = $31 & $30; + HEAP32[7192>>2] = $32; $$0 = $9;$$02 = $10; + label = 54; break; } - } - $83 = HEAP32[((39000 + 16|0))>>2]|0; - $84 = ($R$1>>>0)<($83>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = (($R$1) + 24|0); - HEAP32[$85>>2] = $40; - $$sum27 = (16 - ($5))|0; - $86 = (($p) + ($$sum27)|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(0|0); - do { - if (!($88)) { - $89 = ($87>>>0)<($83>>>0); - if ($89) { + $33 = ($20|0)==($22|0); + do { + if ($33) { + $$pre51 = ((($20)) + 8|0); + $$pre$phi52Z2D = $$pre51; + } else { + $34 = ($20>>>0)<($11>>>0); + if (!($34)) { + $35 = ((($20)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==($9|0); + if ($37) { + $$pre$phi52Z2D = $35; + break; + } + } _abort(); // unreachable; - } else { - $90 = (($R$1) + 16|0); - HEAP32[$90>>2] = $87; - $91 = (($87) + 24|0); - HEAP32[$91>>2] = $R$1; - break; } - } - } while(0); - $$sum28 = (($$sum27) + 4)|0; - $92 = (($p) + ($$sum28)|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { + } while(0); + $38 = ((($18)) + 12|0); + HEAP32[$38>>2] = $20; + HEAP32[$$pre$phi52Z2D>>2] = $18; $$0 = $9;$$02 = $10; - } else { - $95 = HEAP32[((39000 + 16|0))>>2]|0; - $96 = ($93>>>0)<($95>>>0); - if ($96) { - _abort(); - // unreachable; - } else { - $97 = (($R$1) + 20|0); - HEAP32[$97>>2] = $93; - $98 = (($93) + 24|0); - HEAP32[$98>>2] = $R$1; - $$0 = $9;$$02 = $10; - break; - } - } - } - } else { - $$0 = $p;$$02 = $psize; - } - } while(0); - $106 = HEAP32[((39000 + 16|0))>>2]|0; - $107 = ($0>>>0)<($106>>>0); - if ($107) { - _abort(); - // unreachable; - } - $$sum1 = (($psize) + 4)|0; - $108 = (($p) + ($$sum1)|0); - $109 = HEAP32[$108>>2]|0; - $110 = $109 & 2; - $111 = ($110|0)==(0); - if ($111) { - $112 = HEAP32[((39000 + 24|0))>>2]|0; - $113 = ($0|0)==($112|0); - if ($113) { - $114 = HEAP32[((39000 + 12|0))>>2]|0; - $115 = (($114) + ($$02))|0; - HEAP32[((39000 + 12|0))>>2] = $115; - HEAP32[((39000 + 24|0))>>2] = $$0; - $116 = $115 | 1; - $117 = (($$0) + 4|0); - HEAP32[$117>>2] = $116; - $118 = HEAP32[((39000 + 20|0))>>2]|0; - $119 = ($$0|0)==($118|0); - if (!($119)) { - STACKTOP = sp;return; - } - HEAP32[((39000 + 20|0))>>2] = 0; - HEAP32[((39000 + 8|0))>>2] = 0; - STACKTOP = sp;return; - } - $120 = HEAP32[((39000 + 20|0))>>2]|0; - $121 = ($0|0)==($120|0); - if ($121) { - $122 = HEAP32[((39000 + 8|0))>>2]|0; - $123 = (($122) + ($$02))|0; - HEAP32[((39000 + 8|0))>>2] = $123; - HEAP32[((39000 + 20|0))>>2] = $$0; - $124 = $123 | 1; - $125 = (($$0) + 4|0); - HEAP32[$125>>2] = $124; - $126 = (($$0) + ($123)|0); - HEAP32[$126>>2] = $123; - STACKTOP = sp;return; - } - $127 = $109 & -8; - $128 = (($127) + ($$02))|0; - $129 = $109 >>> 3; - $130 = ($109>>>0)<(256); - do { - if ($130) { - $$sum18 = (($psize) + 8)|0; - $131 = (($p) + ($$sum18)|0); - $132 = HEAP32[$131>>2]|0; - $$sum19 = (($psize) + 12)|0; - $133 = (($p) + ($$sum19)|0); - $134 = HEAP32[$133>>2]|0; - $135 = $129 << 1; - $136 = ((39000 + ($135<<2)|0) + 40|0); - $137 = ($132|0)==($136|0); - if (!($137)) { - $138 = ($132>>>0)<($106>>>0); - if ($138) { - _abort(); - // unreachable; - } - $139 = (($132) + 12|0); - $140 = HEAP32[$139>>2]|0; - $141 = ($140|0)==($0|0); - if (!($141)) { - _abort(); - // unreachable; - } - } - $142 = ($134|0)==($132|0); - if ($142) { - $143 = 1 << $129; - $144 = $143 ^ -1; - $145 = HEAP32[39000>>2]|0; - $146 = $145 & $144; - HEAP32[39000>>2] = $146; + label = 54; break; } - $147 = ($134|0)==($136|0); - if ($147) { - $$pre56 = (($134) + 8|0); - $$pre$phi57Z2D = $$pre56; - } else { - $148 = ($134>>>0)<($106>>>0); - if ($148) { - _abort(); - // unreachable; - } - $149 = (($134) + 8|0); - $150 = HEAP32[$149>>2]|0; - $151 = ($150|0)==($0|0); - if ($151) { - $$pre$phi57Z2D = $149; - } else { - _abort(); - // unreachable; - } - } - $152 = (($132) + 12|0); - HEAP32[$152>>2] = $134; - HEAP32[$$pre$phi57Z2D>>2] = $132; - } else { - $$sum2 = (($psize) + 24)|0; - $153 = (($p) + ($$sum2)|0); - $154 = HEAP32[$153>>2]|0; - $$sum3 = (($psize) + 12)|0; - $155 = (($p) + ($$sum3)|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($0|0); + $$sum16 = (24 - ($5))|0; + $39 = (($p) + ($$sum16)|0); + $40 = HEAP32[$39>>2]|0; + $$sum17 = (12 - ($5))|0; + $41 = (($p) + ($$sum17)|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($9|0); do { - if ($157) { - $$sum5 = (($psize) + 20)|0; - $167 = (($p) + ($$sum5)|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $$sum4 = (($psize) + 16)|0; - $170 = (($p) + ($$sum4)|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R7$1 = 0; + if ($43) { + $$sum18 = (16 - ($5))|0; + $$sum19 = (($$sum18) + 4)|0; + $53 = (($p) + ($$sum19)|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if ($55) { + $56 = (($p) + ($$sum18)|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $R$1 = 0; break; } else { - $R7$0 = $171;$RP9$0 = $170; + $R$0 = $57;$RP$0 = $56; } } else { - $R7$0 = $168;$RP9$0 = $167; + $R$0 = $54;$RP$0 = $53; } while(1) { - $173 = (($R7$0) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R7$0 = $174;$RP9$0 = $173; + $59 = ((($R$0)) + 20|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60|0)==(0|0); + if (!($61)) { + $R$0 = $60;$RP$0 = $59; continue; } - $176 = (($R7$0) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { + $62 = ((($R$0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; break; } else { - $R7$0 = $177;$RP9$0 = $176; + $R$0 = $63;$RP$0 = $62; } } - $179 = ($RP9$0>>>0)<($106>>>0); - if ($179) { + $65 = ($RP$0$lcssa>>>0)<($11>>>0); + if ($65) { _abort(); // unreachable; } else { - HEAP32[$RP9$0>>2] = 0; - $R7$1 = $R7$0; + HEAP32[$RP$0$lcssa>>2] = 0; + $R$1 = $R$0$lcssa; break; } } else { - $$sum17 = (($psize) + 8)|0; - $158 = (($p) + ($$sum17)|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($106>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = (($159) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($0|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = (($156) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($0|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R7$1 = $156; - break; - } else { - _abort(); - // unreachable; + $$sum23 = (8 - ($5))|0; + $44 = (($p) + ($$sum23)|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45>>>0)<($11>>>0); + if (!($46)) { + $47 = ((($45)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($9|0); + if ($49) { + $50 = ((($42)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)==($9|0); + if ($52) { + HEAP32[$47>>2] = $42; + HEAP32[$50>>2] = $45; + $R$1 = $42; + break; + } + } } + _abort(); + // unreachable; } } while(0); - $180 = ($154|0)==(0|0); - if (!($180)) { - $$sum14 = (($psize) + 28)|0; - $181 = (($p) + ($$sum14)|0); - $182 = HEAP32[$181>>2]|0; - $183 = ((39000 + ($182<<2)|0) + 304|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($0|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R7$1; - $cond46 = ($R7$1|0)==(0|0); - if ($cond46) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[((39000 + 4|0))>>2]|0; - $189 = $188 & $187; - HEAP32[((39000 + 4|0))>>2] = $189; + $66 = ($40|0)==(0|0); + if ($66) { + $$0 = $9;$$02 = $10; + label = 54; + } else { + $$sum20 = (28 - ($5))|0; + $67 = (($p) + ($$sum20)|0); + $68 = HEAP32[$67>>2]|0; + $69 = (7496 + ($68<<2)|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($9|0)==($70|0); + if ($71) { + HEAP32[$69>>2] = $R$1; + $cond = ($R$1|0)==(0|0); + if ($cond) { + $72 = 1 << $68; + $73 = $72 ^ -1; + $74 = HEAP32[(7196)>>2]|0; + $75 = $74 & $73; + HEAP32[(7196)>>2] = $75; + $$0 = $9;$$02 = $10; + label = 54; break; } } else { - $190 = HEAP32[((39000 + 16|0))>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { + $76 = HEAP32[(7208)>>2]|0; + $77 = ($40>>>0)<($76>>>0); + if ($77) { _abort(); // unreachable; } - $192 = (($154) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($0|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; + $78 = ((($40)) + 16|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==($9|0); + if ($80) { + HEAP32[$78>>2] = $R$1; } else { - $195 = (($154) + 20|0); - HEAP32[$195>>2] = $R7$1; + $81 = ((($40)) + 20|0); + HEAP32[$81>>2] = $R$1; } - $196 = ($R7$1|0)==(0|0); - if ($196) { + $82 = ($R$1|0)==(0|0); + if ($82) { + $$0 = $9;$$02 = $10; + label = 54; break; } } - $197 = HEAP32[((39000 + 16|0))>>2]|0; - $198 = ($R7$1>>>0)<($197>>>0); - if ($198) { + $83 = HEAP32[(7208)>>2]|0; + $84 = ($R$1>>>0)<($83>>>0); + if ($84) { _abort(); // unreachable; } - $199 = (($R7$1) + 24|0); - HEAP32[$199>>2] = $154; - $$sum15 = (($psize) + 16)|0; - $200 = (($p) + ($$sum15)|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); + $85 = ((($R$1)) + 24|0); + HEAP32[$85>>2] = $40; + $$sum21 = (16 - ($5))|0; + $86 = (($p) + ($$sum21)|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)==(0|0); do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { + if (!($88)) { + $89 = ($87>>>0)<($83>>>0); + if ($89) { _abort(); // unreachable; } else { - $204 = (($R7$1) + 16|0); - HEAP32[$204>>2] = $201; - $205 = (($201) + 24|0); - HEAP32[$205>>2] = $R7$1; + $90 = ((($R$1)) + 16|0); + HEAP32[$90>>2] = $87; + $91 = ((($87)) + 24|0); + HEAP32[$91>>2] = $R$1; break; } } } while(0); - $$sum16 = (($psize) + 20)|0; - $206 = (($p) + ($$sum16)|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[((39000 + 16|0))>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { + $$sum22 = (($$sum21) + 4)|0; + $92 = (($p) + ($$sum22)|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($93|0)==(0|0); + if ($94) { + $$0 = $9;$$02 = $10; + label = 54; + } else { + $95 = HEAP32[(7208)>>2]|0; + $96 = ($93>>>0)<($95>>>0); + if ($96) { _abort(); // unreachable; } else { - $211 = (($R7$1) + 20|0); - HEAP32[$211>>2] = $207; - $212 = (($207) + 24|0); - HEAP32[$212>>2] = $R7$1; + $97 = ((($R$1)) + 20|0); + HEAP32[$97>>2] = $93; + $98 = ((($93)) + 24|0); + HEAP32[$98>>2] = $R$1; + $$0 = $9;$$02 = $10; + label = 54; break; } } } } - } while(0); - $213 = $128 | 1; - $214 = (($$0) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$0) + ($128)|0); - HEAP32[$215>>2] = $128; - $216 = HEAP32[((39000 + 20|0))>>2]|0; - $217 = ($$0|0)==($216|0); - if ($217) { - HEAP32[((39000 + 8|0))>>2] = $128; - STACKTOP = sp;return; } else { - $$1 = $128; + $$0 = $p;$$02 = $psize; + label = 54; } - } else { - $218 = $109 & -2; - HEAP32[$108>>2] = $218; - $219 = $$02 | 1; - $220 = (($$0) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0) + ($$02)|0); - HEAP32[$221>>2] = $$02; - $$1 = $$02; - } - $222 = $$1 >>> 3; - $223 = ($$1>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = ((39000 + ($224<<2)|0) + 40|0); - $226 = HEAP32[39000>>2]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[39000>>2] = $230; - $$sum12$pre = (($224) + 2)|0; - $$pre = ((39000 + ($$sum12$pre<<2)|0) + 40|0); - $$pre$phiZ2D = $$pre;$F16$0 = $225; - } else { - $$sum13 = (($224) + 2)|0; - $231 = ((39000 + ($$sum13<<2)|0) + 40|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[((39000 + 16|0))>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { + } while(0); + L74: do { + if ((label|0) == 54) { + $106 = HEAP32[(7208)>>2]|0; + $107 = ($0>>>0)<($106>>>0); + if ($107) { _abort(); // unreachable; - } else { - $$pre$phiZ2D = $231;$F16$0 = $232; } - } - HEAP32[$$pre$phiZ2D>>2] = $$0; - $235 = (($F16$0) + 12|0); - HEAP32[$235>>2] = $$0; - $236 = (($$0) + 8|0); - HEAP32[$236>>2] = $F16$0; - $237 = (($$0) + 12|0); - HEAP32[$237>>2] = $225; - STACKTOP = sp;return; - } - $238 = $$1 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $I19$0 = 0; - } else { - $240 = ($$1>>>0)>(16777215); - if ($240) { - $I19$0 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$1 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $I19$0 = $262; - } - } - $263 = ((39000 + ($I19$0<<2)|0) + 304|0); - $264 = (($$0) + 28|0); - $I19$0$c = $I19$0; - HEAP32[$264>>2] = $I19$0$c; - $265 = (($$0) + 20|0); - HEAP32[$265>>2] = 0; - $266 = (($$0) + 16|0); - HEAP32[$266>>2] = 0; - $267 = HEAP32[((39000 + 4|0))>>2]|0; - $268 = 1 << $I19$0; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[((39000 + 4|0))>>2] = $271; - HEAP32[$263>>2] = $$0; - $272 = (($$0) + 24|0); - HEAP32[$272>>2] = $263; - $273 = (($$0) + 12|0); - HEAP32[$273>>2] = $$0; - $274 = (($$0) + 8|0); - HEAP32[$274>>2] = $$0; - STACKTOP = sp;return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($I19$0|0)==(31); - if ($276) { - $284 = 0; - } else { - $277 = $I19$0 >>> 1; - $278 = (25 - ($277))|0; - $284 = $278; - } - $279 = (($275) + 4|0); - $280 = HEAP32[$279>>2]|0; - $281 = $280 & -8; - $282 = ($281|0)==($$1|0); - L194: do { - if ($282) { - $T$0$lcssa = $275; - } else { - $283 = $$1 << $284; - $K20$050 = $283;$T$049 = $275; - while(1) { - $291 = $K20$050 >>> 31; - $292 = ((($T$049) + ($291<<2)|0) + 16|0); - $287 = HEAP32[$292>>2]|0; - $293 = ($287|0)==(0|0); - if ($293) { + $$sum1 = (($psize) + 4)|0; + $108 = (($p) + ($$sum1)|0); + $109 = HEAP32[$108>>2]|0; + $110 = $109 & 2; + $111 = ($110|0)==(0); + if ($111) { + $112 = HEAP32[(7216)>>2]|0; + $113 = ($0|0)==($112|0); + if ($113) { + $114 = HEAP32[(7204)>>2]|0; + $115 = (($114) + ($$02))|0; + HEAP32[(7204)>>2] = $115; + HEAP32[(7216)>>2] = $$0; + $116 = $115 | 1; + $117 = ((($$0)) + 4|0); + HEAP32[$117>>2] = $116; + $118 = HEAP32[(7212)>>2]|0; + $119 = ($$0|0)==($118|0); + if (!($119)) { + break; + } + HEAP32[(7212)>>2] = 0; + HEAP32[(7200)>>2] = 0; + break; + } + $120 = HEAP32[(7212)>>2]|0; + $121 = ($0|0)==($120|0); + if ($121) { + $122 = HEAP32[(7200)>>2]|0; + $123 = (($122) + ($$02))|0; + HEAP32[(7200)>>2] = $123; + HEAP32[(7212)>>2] = $$0; + $124 = $123 | 1; + $125 = ((($$0)) + 4|0); + HEAP32[$125>>2] = $124; + $126 = (($$0) + ($123)|0); + HEAP32[$126>>2] = $123; + break; + } + $127 = $109 & -8; + $128 = (($127) + ($$02))|0; + $129 = $109 >>> 3; + $130 = ($109>>>0)<(256); + do { + if ($130) { + $$sum12 = (($psize) + 8)|0; + $131 = (($p) + ($$sum12)|0); + $132 = HEAP32[$131>>2]|0; + $$sum13 = (($psize) + 12)|0; + $133 = (($p) + ($$sum13)|0); + $134 = HEAP32[$133>>2]|0; + $135 = $129 << 1; + $136 = (7232 + ($135<<2)|0); + $137 = ($132|0)==($136|0); + do { + if (!($137)) { + $138 = ($132>>>0)<($106>>>0); + if (!($138)) { + $139 = ((($132)) + 12|0); + $140 = HEAP32[$139>>2]|0; + $141 = ($140|0)==($0|0); + if ($141) { + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $142 = ($134|0)==($132|0); + if ($142) { + $143 = 1 << $129; + $144 = $143 ^ -1; + $145 = HEAP32[7192>>2]|0; + $146 = $145 & $144; + HEAP32[7192>>2] = $146; + break; + } + $147 = ($134|0)==($136|0); + do { + if ($147) { + $$pre49 = ((($134)) + 8|0); + $$pre$phi50Z2D = $$pre49; + } else { + $148 = ($134>>>0)<($106>>>0); + if (!($148)) { + $149 = ((($134)) + 8|0); + $150 = HEAP32[$149>>2]|0; + $151 = ($150|0)==($0|0); + if ($151) { + $$pre$phi50Z2D = $149; + break; + } + } + _abort(); + // unreachable; + } + } while(0); + $152 = ((($132)) + 12|0); + HEAP32[$152>>2] = $134; + HEAP32[$$pre$phi50Z2D>>2] = $132; + } else { + $$sum2 = (($psize) + 24)|0; + $153 = (($p) + ($$sum2)|0); + $154 = HEAP32[$153>>2]|0; + $$sum3 = (($psize) + 12)|0; + $155 = (($p) + ($$sum3)|0); + $156 = HEAP32[$155>>2]|0; + $157 = ($156|0)==($0|0); + do { + if ($157) { + $$sum5 = (($psize) + 20)|0; + $167 = (($p) + ($$sum5)|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==(0|0); + if ($169) { + $$sum4 = (($psize) + 16)|0; + $170 = (($p) + ($$sum4)|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==(0|0); + if ($172) { + $R7$1 = 0; + break; + } else { + $R7$0 = $171;$RP9$0 = $170; + } + } else { + $R7$0 = $168;$RP9$0 = $167; + } + while(1) { + $173 = ((($R7$0)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if (!($175)) { + $R7$0 = $174;$RP9$0 = $173; + continue; + } + $176 = ((($R7$0)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + break; + } else { + $R7$0 = $177;$RP9$0 = $176; + } + } + $179 = ($RP9$0$lcssa>>>0)<($106>>>0); + if ($179) { + _abort(); + // unreachable; + } else { + HEAP32[$RP9$0$lcssa>>2] = 0; + $R7$1 = $R7$0$lcssa; + break; + } + } else { + $$sum11 = (($psize) + 8)|0; + $158 = (($p) + ($$sum11)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159>>>0)<($106>>>0); + if (!($160)) { + $161 = ((($159)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($0|0); + if ($163) { + $164 = ((($156)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($0|0); + if ($166) { + HEAP32[$161>>2] = $156; + HEAP32[$164>>2] = $159; + $R7$1 = $156; + break; + } + } + } + _abort(); + // unreachable; + } + } while(0); + $180 = ($154|0)==(0|0); + if (!($180)) { + $$sum8 = (($psize) + 28)|0; + $181 = (($p) + ($$sum8)|0); + $182 = HEAP32[$181>>2]|0; + $183 = (7496 + ($182<<2)|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($0|0)==($184|0); + if ($185) { + HEAP32[$183>>2] = $R7$1; + $cond39 = ($R7$1|0)==(0|0); + if ($cond39) { + $186 = 1 << $182; + $187 = $186 ^ -1; + $188 = HEAP32[(7196)>>2]|0; + $189 = $188 & $187; + HEAP32[(7196)>>2] = $189; + break; + } + } else { + $190 = HEAP32[(7208)>>2]|0; + $191 = ($154>>>0)<($190>>>0); + if ($191) { + _abort(); + // unreachable; + } + $192 = ((($154)) + 16|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($193|0)==($0|0); + if ($194) { + HEAP32[$192>>2] = $R7$1; + } else { + $195 = ((($154)) + 20|0); + HEAP32[$195>>2] = $R7$1; + } + $196 = ($R7$1|0)==(0|0); + if ($196) { + break; + } + } + $197 = HEAP32[(7208)>>2]|0; + $198 = ($R7$1>>>0)<($197>>>0); + if ($198) { + _abort(); + // unreachable; + } + $199 = ((($R7$1)) + 24|0); + HEAP32[$199>>2] = $154; + $$sum9 = (($psize) + 16)|0; + $200 = (($p) + ($$sum9)|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + do { + if (!($202)) { + $203 = ($201>>>0)<($197>>>0); + if ($203) { + _abort(); + // unreachable; + } else { + $204 = ((($R7$1)) + 16|0); + HEAP32[$204>>2] = $201; + $205 = ((($201)) + 24|0); + HEAP32[$205>>2] = $R7$1; + break; + } + } + } while(0); + $$sum10 = (($psize) + 20)|0; + $206 = (($p) + ($$sum10)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($207|0)==(0|0); + if (!($208)) { + $209 = HEAP32[(7208)>>2]|0; + $210 = ($207>>>0)<($209>>>0); + if ($210) { + _abort(); + // unreachable; + } else { + $211 = ((($R7$1)) + 20|0); + HEAP32[$211>>2] = $207; + $212 = ((($207)) + 24|0); + HEAP32[$212>>2] = $R7$1; + break; + } + } + } + } + } while(0); + $213 = $128 | 1; + $214 = ((($$0)) + 4|0); + HEAP32[$214>>2] = $213; + $215 = (($$0) + ($128)|0); + HEAP32[$215>>2] = $128; + $216 = HEAP32[(7212)>>2]|0; + $217 = ($$0|0)==($216|0); + if ($217) { + HEAP32[(7200)>>2] = $128; break; + } else { + $$1 = $128; } - $285 = $K20$050 << 1; - $286 = (($287) + 4|0); - $288 = HEAP32[$286>>2]|0; - $289 = $288 & -8; - $290 = ($289|0)==($$1|0); - if ($290) { - $T$0$lcssa = $287; - break L194; + } else { + $218 = $109 & -2; + HEAP32[$108>>2] = $218; + $219 = $$02 | 1; + $220 = ((($$0)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0) + ($$02)|0); + HEAP32[$221>>2] = $$02; + $$1 = $$02; + } + $222 = $$1 >>> 3; + $223 = ($$1>>>0)<(256); + if ($223) { + $224 = $222 << 1; + $225 = (7232 + ($224<<2)|0); + $226 = HEAP32[7192>>2]|0; + $227 = 1 << $222; + $228 = $226 & $227; + $229 = ($228|0)==(0); + if ($229) { + $230 = $226 | $227; + HEAP32[7192>>2] = $230; + $$pre = (($224) + 2)|0; + $$pre48 = (7232 + ($$pre<<2)|0); + $$pre$phiZ2D = $$pre48;$F16$0 = $225; } else { - $K20$050 = $285;$T$049 = $287; + $$sum7 = (($224) + 2)|0; + $231 = (7232 + ($$sum7<<2)|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[(7208)>>2]|0; + $234 = ($232>>>0)<($233>>>0); + if ($234) { + _abort(); + // unreachable; + } else { + $$pre$phiZ2D = $231;$F16$0 = $232; + } } + HEAP32[$$pre$phiZ2D>>2] = $$0; + $235 = ((($F16$0)) + 12|0); + HEAP32[$235>>2] = $$0; + $236 = ((($$0)) + 8|0); + HEAP32[$236>>2] = $F16$0; + $237 = ((($$0)) + 12|0); + HEAP32[$237>>2] = $225; + break; + } + $238 = $$1 >>> 8; + $239 = ($238|0)==(0); + if ($239) { + $I19$0 = 0; + } else { + $240 = ($$1>>>0)>(16777215); + if ($240) { + $I19$0 = 31; + } else { + $241 = (($238) + 1048320)|0; + $242 = $241 >>> 16; + $243 = $242 & 8; + $244 = $238 << $243; + $245 = (($244) + 520192)|0; + $246 = $245 >>> 16; + $247 = $246 & 4; + $248 = $247 | $243; + $249 = $244 << $247; + $250 = (($249) + 245760)|0; + $251 = $250 >>> 16; + $252 = $251 & 2; + $253 = $248 | $252; + $254 = (14 - ($253))|0; + $255 = $249 << $252; + $256 = $255 >>> 15; + $257 = (($254) + ($256))|0; + $258 = $257 << 1; + $259 = (($257) + 7)|0; + $260 = $$1 >>> $259; + $261 = $260 & 1; + $262 = $261 | $258; + $I19$0 = $262; + } + } + $263 = (7496 + ($I19$0<<2)|0); + $264 = ((($$0)) + 28|0); + HEAP32[$264>>2] = $I19$0; + $265 = ((($$0)) + 16|0); + $266 = ((($$0)) + 20|0); + HEAP32[$266>>2] = 0; + HEAP32[$265>>2] = 0; + $267 = HEAP32[(7196)>>2]|0; + $268 = 1 << $I19$0; + $269 = $267 & $268; + $270 = ($269|0)==(0); + if ($270) { + $271 = $267 | $268; + HEAP32[(7196)>>2] = $271; + HEAP32[$263>>2] = $$0; + $272 = ((($$0)) + 24|0); + HEAP32[$272>>2] = $263; + $273 = ((($$0)) + 12|0); + HEAP32[$273>>2] = $$0; + $274 = ((($$0)) + 8|0); + HEAP32[$274>>2] = $$0; + break; } - $294 = HEAP32[((39000 + 16|0))>>2]|0; - $295 = ($292>>>0)<($294>>>0); - if ($295) { + $275 = HEAP32[$263>>2]|0; + $276 = ((($275)) + 4|0); + $277 = HEAP32[$276>>2]|0; + $278 = $277 & -8; + $279 = ($278|0)==($$1|0); + L170: do { + if ($279) { + $T$0$lcssa = $275; + } else { + $280 = ($I19$0|0)==(31); + $281 = $I19$0 >>> 1; + $282 = (25 - ($281))|0; + $283 = $280 ? 0 : $282; + $284 = $$1 << $283; + $K20$043 = $284;$T$042 = $275; + while(1) { + $291 = $K20$043 >>> 31; + $292 = (((($T$042)) + 16|0) + ($291<<2)|0); + $287 = HEAP32[$292>>2]|0; + $293 = ($287|0)==(0|0); + if ($293) { + $$lcssa = $292;$T$042$lcssa = $T$042; + break; + } + $285 = $K20$043 << 1; + $286 = ((($287)) + 4|0); + $288 = HEAP32[$286>>2]|0; + $289 = $288 & -8; + $290 = ($289|0)==($$1|0); + if ($290) { + $T$0$lcssa = $287; + break L170; + } else { + $K20$043 = $285;$T$042 = $287; + } + } + $294 = HEAP32[(7208)>>2]|0; + $295 = ($$lcssa>>>0)<($294>>>0); + if ($295) { + _abort(); + // unreachable; + } else { + HEAP32[$$lcssa>>2] = $$0; + $296 = ((($$0)) + 24|0); + HEAP32[$296>>2] = $T$042$lcssa; + $297 = ((($$0)) + 12|0); + HEAP32[$297>>2] = $$0; + $298 = ((($$0)) + 8|0); + HEAP32[$298>>2] = $$0; + break L74; + } + } + } while(0); + $299 = ((($T$0$lcssa)) + 8|0); + $300 = HEAP32[$299>>2]|0; + $301 = HEAP32[(7208)>>2]|0; + $302 = ($300>>>0)>=($301>>>0); + $not$ = ($T$0$lcssa>>>0)>=($301>>>0); + $303 = $302 & $not$; + if ($303) { + $304 = ((($300)) + 12|0); + HEAP32[$304>>2] = $$0; + HEAP32[$299>>2] = $$0; + $305 = ((($$0)) + 8|0); + HEAP32[$305>>2] = $300; + $306 = ((($$0)) + 12|0); + HEAP32[$306>>2] = $T$0$lcssa; + $307 = ((($$0)) + 24|0); + HEAP32[$307>>2] = 0; + break; + } else { _abort(); // unreachable; } - HEAP32[$292>>2] = $$0; - $296 = (($$0) + 24|0); - HEAP32[$296>>2] = $T$049; - $297 = (($$0) + 12|0); - HEAP32[$297>>2] = $$0; - $298 = (($$0) + 8|0); - HEAP32[$298>>2] = $$0; - STACKTOP = sp;return; } } while(0); - $299 = (($T$0$lcssa) + 8|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[((39000 + 16|0))>>2]|0; - $302 = ($T$0$lcssa>>>0)>=($301>>>0); - $303 = ($300>>>0)>=($301>>>0); - $or$cond = $302 & $303; - if (!($or$cond)) { - _abort(); - // unreachable; + return; +} +function _cleanup397($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = ((($p)) + 68|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + ___unlockfile($p); } - $304 = (($300) + 12|0); - HEAP32[$304>>2] = $$0; - HEAP32[$299>>2] = $$0; - $305 = (($$0) + 8|0); - HEAP32[$305>>2] = $300; - $306 = (($$0) + 12|0); - HEAP32[$306>>2] = $T$0$lcssa; - $307 = (($$0) + 24|0); - HEAP32[$307>>2] = 0; - STACKTOP = sp;return; + return; +} +function ___fflush_unlocked($f) { + $f = $f|0; + var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = ((($f)) + 20|0); + $1 = HEAP32[$0>>2]|0; + $2 = ((($f)) + 28|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)>($3>>>0); + if ($4) { + $5 = ((($f)) + 36|0); + $6 = HEAP32[$5>>2]|0; + (FUNCTION_TABLE_iiii[$6 & 31]($f,0,0)|0); + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = -1; + } else { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $9 = ((($f)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($f)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($10>>>0)<($12>>>0); + if ($13) { + $14 = ((($f)) + 40|0); + $15 = HEAP32[$14>>2]|0; + $16 = $10; + $17 = $12; + $18 = (($16) - ($17))|0; + (FUNCTION_TABLE_iiii[$15 & 31]($f,$18,1)|0); + } + $19 = ((($f)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$2>>2] = 0; + HEAP32[$0>>2] = 0; + HEAP32[$11>>2] = 0; + HEAP32[$9>>2] = 0; + $$0 = 0; + } + return ($$0|0); +} +function _dummy1($x) { + $x = $x|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _dummy0() { + var label = 0, sp = 0; + sp = STACKTOP; + return; } function runPostSets() { - + } function _i64Subtract(a, b, c, d) { a = a|0; b = b|0; c = c|0; d = d|0; @@ -207945,15 +220230,6 @@ function _bitshift64Shl(low, high, bits) { tempRet0 = low << (bits - 32); return 0; } -function _strlen(ptr) { - ptr = ptr|0; - var curr = 0; - curr = ptr; - while (((HEAP8[((curr)>>0)])|0)) { - curr = (curr + 1)|0; - } - return (curr - ptr)|0; -} function _i64Add(a, b, c, d) { /* x = a + b*2^32 @@ -207966,19 +220242,7 @@ function _i64Add(a, b, c, d) { h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. return ((tempRet0 = h,l|0)|0); } -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; var ret = 0; if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; @@ -208006,6 +220270,28 @@ function _memcpy(dest, src, num) { } return ret|0; } +function _bitshift64Ashr(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = high >> bits; + return (low >>> bits) | ((high&ander) << (32 - bits)); + } + tempRet0 = (high|0) < 0 ? -1 : 0; + return (high >> (bits - 32))|0; +} +function _bitshift64Lshr(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = high >>> bits; + return (low >>> bits) | ((high&ander) << (32 - bits)); + } + tempRet0 = 0; + return (high >>> (bits - 32))|0; +} function _memmove(dest, src, num) { dest = dest|0; src = src|0; num = num|0; var ret = 0; @@ -208026,29 +220312,6 @@ function _memmove(dest, src, num) { } return dest | 0; } -function _bitshift64Ashr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = (high|0) < 0 ? -1 : 0; - return (high >> (bits - 32))|0; - } -function _llvm_ctlz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((ctlz_i8)+(x >>> 24))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((ctlz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((ctlz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((ctlz_i8)+(x&0xff))>>0)])|0) + 24)|0; - } - function _llvm_cttz_i32(x) { x = x|0; var ret = 0; @@ -208092,7 +220355,7 @@ function ___divdi3($a$0, $a$1, $b$0, $b$1) { $7$1 = $2$1 ^ $1$1; $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0; $10$0 = _i64Subtract($8$0 ^ $7$0, tempRet0 ^ $7$1, $7$0, $7$1) | 0; - return (tempRet0 = tempRet0, $10$0) | 0; + return $10$0 | 0; } function ___remdi3($a$0, $a$1, $b$0, $b$1) { $a$0 = $a$0 | 0; @@ -208101,7 +220364,7 @@ function ___remdi3($a$0, $a$1, $b$0, $b$1) { $b$1 = $b$1 | 0; var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 8 | 0; + STACKTOP = STACKTOP + 16 | 0; $rem = __stackBase__ | 0; $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; @@ -208136,7 +220399,7 @@ function ___udivdi3($a$0, $a$1, $b$0, $b$1) { $b$1 = $b$1 | 0; var $1$0 = 0; $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return (tempRet0 = tempRet0, $1$0) | 0; + return $1$0 | 0; } function ___uremdi3($a$0, $a$1, $b$0, $b$1) { $a$0 = $a$0 | 0; @@ -208145,7 +220408,7 @@ function ___uremdi3($a$0, $a$1, $b$0, $b$1) { $b$1 = $b$1 | 0; var $rem = 0, __stackBase__ = 0; __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 8 | 0; + STACKTOP = STACKTOP + 16 | 0; $rem = __stackBase__ | 0; ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; STACKTOP = __stackBase__; @@ -208218,8 +220481,8 @@ function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); return (tempRet0 = $_0$1, $_0$0) | 0; } - $49 = _llvm_ctlz_i32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; if ($51 >>> 0 <= 30) { $57 = $51 + 1 | 0; $58 = 31 - $51 | 0; @@ -208242,8 +220505,8 @@ function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { return (tempRet0 = $_0$1, $_0$0) | 0; } else { if (!$17) { - $117 = _llvm_ctlz_i32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; if ($119 >>> 0 <= 31) { $125 = $119 + 1 | 0; $126 = 31 - $119 | 0; @@ -208268,8 +220531,8 @@ function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { } $66 = $d_sroa_0_0_extract_trunc - 1 | 0; if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (_llvm_ctlz_i32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; + $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; $89 = 64 - $88 | 0; $91 = 32 - $88 | 0; $92 = $91 >> 31; @@ -208308,7 +220571,7 @@ function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { } else { $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0, $d_sroa_0_0_insert_insert99$1, -1, -1) | 0; + $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; $137$1 = tempRet0; $q_sroa_1_1198 = $q_sroa_1_1_ph; $q_sroa_0_1199 = $q_sroa_0_1_ph; @@ -208362,154 +220625,137 @@ function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { -// EMSCRIPTEN_END_FUNCS - - function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&31](a1|0,a2|0,a3|0)|0; - } +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&31](a1|0,a2|0,a3|0)|0; +} - function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&1]()|0; - } +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&1]()|0; +} - function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); - } +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} - function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&7](a1|0,a2|0); - } +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&7](a1|0,a2|0); +} - function dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - return FUNCTION_TABLE_iiiiiii[index&1](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0)|0; - } +function dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + return FUNCTION_TABLE_iiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0)|0; +} - function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&31](a1|0)|0; - } +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&31](a1|0)|0; +} - function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&63](a1|0,a2|0,a3|0); - } +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&63](a1|0,a2|0,a3|0); +} - function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&0](); - } +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&0](); +} - function dynCall_iiiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - return FUNCTION_TABLE_iiiii[index&7](a1|0,a2|0,a3|0,a4|0)|0; - } +function dynCall_iiiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + return FUNCTION_TABLE_iiiii[index&15](a1|0,a2|0,a3|0,a4|0)|0; +} - function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&0](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); - } +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&0](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} - function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&63](a1|0,a2|0)|0; - } +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&63](a1|0,a2|0)|0; +} - function dynCall_iiiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - return FUNCTION_TABLE_iiiiii[index&15](a1|0,a2|0,a3|0,a4|0,a5|0)|0; - } +function dynCall_iiiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + return FUNCTION_TABLE_iiiiii[index&15](a1|0,a2|0,a3|0,a4|0,a5|0)|0; +} - function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&3](a1|0,a2|0,a3|0,a4|0); - } +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&3](a1|0,a2|0,a3|0,a4|0); +} function b0(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(0);return 0; } - function _fcntl__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; return _fcntl(p0|0,p1|0,p2|0)|0; } - function _read__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; return _read(p0|0,p1|0,p2|0)|0; } - function _write__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; return _write(p0|0,p1|0,p2|0)|0; } - function b1() { ; abort(1);return 0; } - function b2(p0) { p0 = p0|0; abort(2); } - function b3(p0,p1) { p0 = p0|0;p1 = p1|0; abort(3); } - function b4(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(4);return 0; } - function _mmap__wrapper(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; return _mmap(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0)|0; } - function b5(p0) { p0 = p0|0; abort(5);return 0; } - function _close__wrapper(p0) { p0 = p0|0; return _close(p0|0)|0; } - function _unlink__wrapper(p0) { p0 = p0|0; return _unlink(p0|0)|0; } - function _rmdir__wrapper(p0) { p0 = p0|0; return _rmdir(p0|0)|0; } - function b6(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(6); } - function b7() { ; abort(7); } - function b8(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(8);return 0; } - function b9(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(9); } - function b10(p0,p1) { p0 = p0|0;p1 = p1|0; abort(10);return 0; } - function _access__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _access(p0|0,p1|0)|0; } - function _getcwd__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _getcwd(p0|0,p1|0)|0; } - function _stat__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _stat(p0|0,p1|0)|0; } - function _fstat__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _fstat(p0|0,p1|0)|0; } - function _ftruncate__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _ftruncate(p0|0,p1|0)|0; } - function _fchmod__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _fchmod(p0|0,p1|0)|0; } - function _mkdir__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _mkdir(p0|0,p1|0)|0; } - function _munmap__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _munmap(p0|0,p1|0)|0; } - function b11(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(11);return 0; } - function b12(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(12); } - // EMSCRIPTEN_END_FUNCS - var FUNCTION_TABLE_iiii = [b0,_unixDelete,_unixRandomness,_unixGetLastError,_unixSetSystemCall,_memjrnlTruncate,_pcache1Create,_pcache1Fetch,_unixTruncate,_unixFileControl,_posixOpen,_fcntl__wrapper,_read__wrapper,_write__wrapper,_posixFchown,_vdbeRecordCompareInt,_vdbeRecordCompareString,_sqlite3VdbeRecordCompare,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0 - ,b0,b0,b0]; - var FUNCTION_TABLE_i = [b1,_unixGetpagesize]; - var FUNCTION_TABLE_vi = [b2,_pcache1Shutdown,_pcache1Destroy,_pcache1Shrink,_sqlite3MemFree,_sqlite3MemShutdown,_minMaxFinalize,_sumFinalize,_totalFinalize,_avgFinalize,_countFinalize,_groupConcatFinalize,_unixShmBarrier,_sqlite3_free,_pageReinit,_sqlite3SchemaClear,_stat4Destructor,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2 - ,b2,b2,b2]; - var FUNCTION_TABLE_vii = [b3,_pcache1Cachesize,_pcache1Truncate,_selectPopWith,_selectAddSubqueryTypeInfo,b3,b3,b3]; - var FUNCTION_TABLE_iiiiiii = [b4,_mmap__wrapper]; - var FUNCTION_TABLE_ii = [b5,_memjrnlClose,_pcache1Init,_pcache1Pagecount,_sqlite3MemMalloc,_sqlite3MemSize,_sqlite3MemRoundup,_sqlite3MemInit,_dotlockClose,_unixSectorSize,_unixDeviceCharacteristics,_close__wrapper,_unlink__wrapper,_rmdir__wrapper,_nolockClose,_unixClose,_sqlite3MallocSize,_sqlite3_value_text,_btreeInvokeBusyHandler,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 - ,b5,b5,b5]; - var FUNCTION_TABLE_viii = [b6,_pcache1Unpin,_trimFunc,_minmaxFunc,_minmaxStep,_typeofFunc,_lengthFunc,_instrFunc,_substrFunc,_printfFunc,_unicodeFunc,_charFunc,_absFunc,_roundFunc,_upperFunc,_lowerFunc,_versionFunc,_hexFunc,_randomFunc,_randomBlob,_nullifFunc,_sourceidFunc,_errlogFunc,_compileoptionusedFunc,_compileoptiongetFunc,_quoteFunc,_last_insert_rowid,_changes,_total_changes - ,_replaceFunc,_zeroblobFunc,_sumStep,_countStep,_groupConcatStep,_likeFunc,_renameTableFunc,_renameTriggerFunc,_renameParentFunc,_juliandayFunc,_dateFunc,_timeFunc,_datetimeFunc,_strftimeFunc,_ctimeFunc,_ctimestampFunc,_cdateFunc,_statInit,_statPush,_statGet,_detachFunc,_attachFunc,_sqlite3InvalidFunction,b6,b6,b6,b6,b6,b6,b6 - ,b6,b6,b6,b6,b6]; - var FUNCTION_TABLE_v = [b7]; - var FUNCTION_TABLE_iiiii = [b8,_unixAccess,_unixFullPathname,_unixShmLock,_unixUnfetch,_sqlite3WalDefaultHook,_sqlite3InitCallback,_analysisLoader]; - var FUNCTION_TABLE_viiiiii = [b9]; - var FUNCTION_TABLE_iii = [b10,_unixSleep,_unixCurrentTime,_unixCurrentTimeInt64,_unixGetSystemCall,_unixNextSystemCall,_posixIoFinderImpl,_nolockIoFinderImpl,_dotlockIoFinderImpl,_memjrnlSync,_memjrnlFileSize,_sqlite3MemRealloc,_unixSync,_unixFileSize,_dotlockLock,_dotlockUnlock,_dotlockCheckReservedLock,_unixShmUnmap,_access__wrapper,_getcwd__wrapper,_stat__wrapper,_fstat__wrapper,_ftruncate__wrapper,_fchmod__wrapper,_openDirectory,_mkdir__wrapper,_munmap__wrapper,_nolockLock,_nolockUnlock - ,_nolockCheckReservedLock,_unixLock,_unixUnlock,_unixCheckReservedLock,_sqlite3Malloc,_sqliteDefaultBusyCallback,_pagerStress,_pagerUndoCallback,_exprWalkNoop,_convertCompoundSelectToSubquery,_selectExpander,_resolveExprStep,_resolveSelectStep,_incrAggDepth,_exprSrcCount,_exprNodeIsConstant,_selectNodeIsConstant,_sqlite3BtreeNext,_sqlite3BtreePrevious,_analyzeAggregate,_analyzeAggregatesInSelect,b10,b10,b10,b10,b10,b10,b10,b10,b10 - ,b10,b10,b10,b10,b10]; - var FUNCTION_TABLE_iiiiii = [b11,_unixOpen,_memjrnlRead,_memjrnlWrite,_unixRead,_unixWrite,_unixFetch,_unixShmMap,_binCollFunc,_nocaseCollatingFunc,b11,b11,b11,b11,b11,b11]; - var FUNCTION_TABLE_viiii = [b12,_pcache1Rekey,_softHeapLimitEnforcer,b12]; +function b1() { ; abort(1);return 0; } +function b2(p0) { p0 = p0|0; abort(2); } +function b3(p0,p1) { p0 = p0|0;p1 = p1|0; abort(3); } +function b4(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(4);return 0; } +function b5(p0) { p0 = p0|0; abort(5);return 0; } +function b6(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(6); } +function b7() { ; abort(7); } +function b8(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(8);return 0; } +function b9(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(9); } +function b10(p0,p1) { p0 = p0|0;p1 = p1|0; abort(10);return 0; } +function b11(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(11);return 0; } +function b12(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(12); } - return { _strlen: _strlen, _sqlite3_column_name: _sqlite3_column_name, _sqlite3_reset: _sqlite3_reset, _sqlite3_column_type: _sqlite3_column_type, _sqlite3_exec: _sqlite3_exec, _sqlite3_step: _sqlite3_step, _bitshift64Lshr: _bitshift64Lshr, _sqlite3_prepare_v2: _sqlite3_prepare_v2, _sqlite3_close_v2: _sqlite3_close_v2, _sqlite3_open: _sqlite3_open, _bitshift64Shl: _bitshift64Shl, _sqlite3_column_bytes: _sqlite3_column_bytes, _sqlite3_bind_int: _sqlite3_bind_int, _sqlite3_bind_blob: _sqlite3_bind_blob, _memset: _memset, _memcpy: _memcpy, _sqlite3_column_blob: _sqlite3_column_blob, _sqlite3_bind_parameter_index: _sqlite3_bind_parameter_index, _i64Subtract: _i64Subtract, _sqlite3_column_text: _sqlite3_column_text, _realloc: _realloc, _i64Add: _i64Add, _sqlite3_finalize: _sqlite3_finalize, _sqlite3_column_double: _sqlite3_column_double, _sqlite3_errmsg: _sqlite3_errmsg, _sqlite3_data_count: _sqlite3_data_count, _sqlite3_bind_text: _sqlite3_bind_text, _sqlite3_bind_double: _sqlite3_bind_double, _free: _free, _memmove: _memmove, _sqlite3_free: _sqlite3_free, _sqlite3_clear_bindings: _sqlite3_clear_bindings, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_i: dynCall_i, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_iiiiiii: dynCall_iiiiiii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_v: dynCall_v, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_iiiiii: dynCall_iiiiii, dynCall_viiii: dynCall_viiii }; +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_iiii = [b0,_unixDelete,_unixRandomness,_unixGetLastError,_unixSetSystemCall,_rtreeColumn,_memjrnlTruncate,_pcache1Create,_pcache1Fetch,_unixTruncate,_unixFileControl,_posixOpen,_fcntl,_read,_write,_posixFchown,___stdout_write,___stdio_seek,_vdbeRecordCompareInt,_vdbeRecordCompareString,_sqlite3VdbeRecordCompare,___stdio_write,b0,b0,b0,b0,b0,b0,b0 +,b0,b0,b0]; +var FUNCTION_TABLE_i = [b1,_unixGetpagesize]; +var FUNCTION_TABLE_vi = [b2,_pcache1Shutdown,_pcache1Destroy,_pcache1Shrink,_sqlite3MemFree,_sqlite3MemShutdown,_unixShmBarrier,_minMaxFinalize,_sumFinalize,_totalFinalize,_avgFinalize,_countFinalize,_groupConcatFinalize,_sqlite3_free,_pageReinit,_sqlite3SchemaClear,_stat4Destructor,_cleanup397,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2 +,b2,b2,b2]; +var FUNCTION_TABLE_vii = [b3,_pcache1Cachesize,_pcache1Truncate,_selectPopWith,_selectAddSubqueryTypeInfo,b3,b3,b3]; +var FUNCTION_TABLE_iiiiiii = [b4,_rtreeCreate,_rtreeConnect,___mmap]; +var FUNCTION_TABLE_ii = [b5,_rtreeDisconnect,_rtreeDestroy,_rtreeClose,_rtreeNext,_rtreeEof,_memjrnlClose,_pcache1Init,_pcache1Pagecount,_sqlite3MemMalloc,_sqlite3MemSize,_sqlite3MemRoundup,_sqlite3MemInit,_dotlockClose,_unixSectorSize,_unixDeviceCharacteristics,_close,_unlink,_rmdir,_nolockClose,_unixClose,___stdio_close,_sqlite3_value_text,_sqlite3MallocSize,_btreeInvokeBusyHandler,b5,b5,b5,b5 +,b5,b5,b5]; +var FUNCTION_TABLE_viii = [b6,_pcache1Unpin,_statInit,_statPush,_statGet,_detachFunc,_attachFunc,_trimFunc,_minmaxFunc,_minmaxStep,_typeofFunc,_lengthFunc,_instrFunc,_substrFunc,_printfFunc,_unicodeFunc,_charFunc,_absFunc,_roundFunc,_upperFunc,_lowerFunc,_versionFunc,_hexFunc,_randomFunc,_randomBlob,_nullifFunc,_sourceidFunc,_errlogFunc,_compileoptionusedFunc +,_compileoptiongetFunc,_quoteFunc,_last_insert_rowid,_changes,_total_changes,_replaceFunc,_zeroblobFunc,_sumStep,_countStep,_groupConcatStep,_likeFunc,_renameTableFunc,_renameTriggerFunc,_renameParentFunc,_juliandayFunc,_dateFunc,_timeFunc,_datetimeFunc,_strftimeFunc,_ctimeFunc,_ctimestampFunc,_cdateFunc,_sqlite3InvalidFunction,_rtreenode,_rtreedepth,b6,b6,b6,b6,b6 +,b6,b6,b6,b6,b6]; +var FUNCTION_TABLE_v = [b7]; +var FUNCTION_TABLE_iiiii = [b8,_unixAccess,_unixFullPathname,_rtreeUpdate,_unixShmLock,_unixUnfetch,_sqlite3WalDefaultHook,_sqlite3InitCallback,_analysisLoader,b8,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiii = [b9]; +var FUNCTION_TABLE_iii = [b10,_unixSleep,_unixCurrentTime,_unixCurrentTimeInt64,_unixGetSystemCall,_unixNextSystemCall,_rtreeBestIndex,_rtreeOpen,_rtreeRowid,_rtreeRename,_memjrnlSync,_memjrnlFileSize,_sqlite3MemRealloc,_posixIoFinderImpl,_nolockIoFinderImpl,_dotlockIoFinderImpl,_unixSync,_unixFileSize,_dotlockLock,_dotlockUnlock,_dotlockCheckReservedLock,_unixShmUnmap,_access,_getcwd,_stat,_fstat,_ftruncate,_fchmod,_openDirectory +,_mkdir,___munmap,_nolockLock,_nolockUnlock,_nolockCheckReservedLock,_unixLock,_unixUnlock,_unixCheckReservedLock,_sqliteDefaultBusyCallback,_sqlite3Malloc,_pagerStress,_pagerUndoCallback,_exprWalkNoop,_convertCompoundSelectToSubquery,_selectExpander,_resolveExprStep,_resolveSelectStep,_incrAggDepth,_exprSrcCount,_exprNodeIsConstant,_selectNodeIsConstant,_sqlite3BtreeNext,_sqlite3BtreePrevious,_analyzeAggregate,_analyzeAggregatesInSelect,b10,b10,b10,b10,b10 +,b10,b10,b10,b10,b10]; +var FUNCTION_TABLE_iiiiii = [b11,_unixOpen,_rtreeFilter,_memjrnlRead,_memjrnlWrite,_unixRead,_unixWrite,_unixFetch,_unixShmMap,_binCollFunc,_nocaseCollatingFunc,_rowidWrite,_parentWrite,b11,b11,b11]; +var FUNCTION_TABLE_viiii = [b12,_pcache1Rekey,_softHeapLimitEnforcer,b12]; + + return { _sqlite3_column_name: _sqlite3_column_name, _sqlite3_reset: _sqlite3_reset, _sqlite3_column_type: _sqlite3_column_type, _sqlite3_exec: _sqlite3_exec, _sqlite3_step: _sqlite3_step, _bitshift64Lshr: _bitshift64Lshr, _sqlite3_prepare_v2: _sqlite3_prepare_v2, _sqlite3_close_v2: _sqlite3_close_v2, _sqlite3_open: _sqlite3_open, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _sqlite3_column_bytes: _sqlite3_column_bytes, _sqlite3_bind_int: _sqlite3_bind_int, _sqlite3_bind_blob: _sqlite3_bind_blob, _memset: _memset, _memcpy: _memcpy, _sqlite3_column_blob: _sqlite3_column_blob, _sqlite3_bind_parameter_index: _sqlite3_bind_parameter_index, _i64Subtract: _i64Subtract, _sqlite3_column_text: _sqlite3_column_text, _i64Add: _i64Add, _sqlite3_finalize: _sqlite3_finalize, _sqlite3_column_double: _sqlite3_column_double, _sqlite3_errmsg: _sqlite3_errmsg, _sqlite3_data_count: _sqlite3_data_count, _sqlite3_bind_text: _sqlite3_bind_text, _sqlite3_bind_double: _sqlite3_bind_double, ___errno_location: ___errno_location, _free: _free, _memmove: _memmove, _sqlite3_free: _sqlite3_free, _sqlite3_clear_bindings: _sqlite3_clear_bindings, _malloc: _malloc, _bitshift64Ashr: _bitshift64Ashr, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_i: dynCall_i, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_iiiiiii: dynCall_iiiiiii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_v: dynCall_v, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_iiiiii: dynCall_iiiiii, dynCall_viiii: dynCall_viiii }; }) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg, Module.asmLibraryArg, buffer); -var _strlen = Module["_strlen"] = asm["_strlen"]; var _sqlite3_column_name = Module["_sqlite3_column_name"] = asm["_sqlite3_column_name"]; var _sqlite3_reset = Module["_sqlite3_reset"] = asm["_sqlite3_reset"]; var _sqlite3_column_type = Module["_sqlite3_column_type"] = asm["_sqlite3_column_type"]; @@ -208520,6 +220766,7 @@ var _sqlite3_prepare_v2 = Module["_sqlite3_prepare_v2"] = asm["_sqlite3_prepare_ var _sqlite3_close_v2 = Module["_sqlite3_close_v2"] = asm["_sqlite3_close_v2"]; var _sqlite3_open = Module["_sqlite3_open"] = asm["_sqlite3_open"]; var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; var _sqlite3_column_bytes = Module["_sqlite3_column_bytes"] = asm["_sqlite3_column_bytes"]; var _sqlite3_bind_int = Module["_sqlite3_bind_int"] = asm["_sqlite3_bind_int"]; var _sqlite3_bind_blob = Module["_sqlite3_bind_blob"] = asm["_sqlite3_bind_blob"]; @@ -208529,7 +220776,6 @@ var _sqlite3_column_blob = Module["_sqlite3_column_blob"] = asm["_sqlite3_column var _sqlite3_bind_parameter_index = Module["_sqlite3_bind_parameter_index"] = asm["_sqlite3_bind_parameter_index"]; var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; var _sqlite3_column_text = Module["_sqlite3_column_text"] = asm["_sqlite3_column_text"]; -var _realloc = Module["_realloc"] = asm["_realloc"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; var _sqlite3_finalize = Module["_sqlite3_finalize"] = asm["_sqlite3_finalize"]; var _sqlite3_column_double = Module["_sqlite3_column_double"] = asm["_sqlite3_column_double"]; @@ -208537,12 +220783,14 @@ var _sqlite3_errmsg = Module["_sqlite3_errmsg"] = asm["_sqlite3_errmsg"]; var _sqlite3_data_count = Module["_sqlite3_data_count"] = asm["_sqlite3_data_count"]; var _sqlite3_bind_text = Module["_sqlite3_bind_text"] = asm["_sqlite3_bind_text"]; var _sqlite3_bind_double = Module["_sqlite3_bind_double"] = asm["_sqlite3_bind_double"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; var _memmove = Module["_memmove"] = asm["_memmove"]; var _sqlite3_free = Module["_sqlite3_free"] = asm["_sqlite3_free"]; var _sqlite3_clear_bindings = Module["_sqlite3_clear_bindings"] = asm["_sqlite3_clear_bindings"]; var _malloc = Module["_malloc"] = asm["_malloc"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"]; var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; @@ -208556,1646 +220804,20 @@ var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; Runtime.stackAlloc = asm['stackAlloc']; Runtime.stackSave = asm['stackSave']; Runtime.stackRestore = asm['stackRestore']; +Runtime.establishStackSpace = asm['establishStackSpace']; + Runtime.setTempRet0 = asm['setTempRet0']; Runtime.getTempRet0 = asm['getTempRet0']; -// TODO: strip out parts of this we do not need - -//======= begin closure i64 code ======= - -// Copyright 2009 The Closure Library Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS-IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** - * @fileoverview Defines a Long class for representing a 64-bit two's-complement - * integer value, which faithfully simulates the behavior of a Java "long". This - * implementation is derived from LongLib in GWT. - * - */ - -var i64Math = (function() { // Emscripten wrapper - var goog = { math: {} }; - - - /** - * Constructs a 64-bit two's-complement integer, given its low and high 32-bit - * values as *signed* integers. See the from* functions below for more - * convenient ways of constructing Longs. - * - * The internal representation of a long is the two given signed, 32-bit values. - * We use 32-bit pieces because these are the size of integers on which - * Javascript performs bit-operations. For operations like addition and - * multiplication, we split each number into 16-bit pieces, which can easily be - * multiplied within Javascript's floating-point representation without overflow - * or change in sign. - * - * In the algorithms below, we frequently reduce the negative case to the - * positive case by negating the input(s) and then post-processing the result. - * Note that we must ALWAYS check specially whether those values are MIN_VALUE - * (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as - * a positive number, it overflows back into a negative). Not handling this - * case would often result in infinite recursion. - * - * @param {number} low The low (signed) 32 bits of the long. - * @param {number} high The high (signed) 32 bits of the long. - * @constructor - */ - goog.math.Long = function(low, high) { - /** - * @type {number} - * @private - */ - this.low_ = low | 0; // force into 32 signed bits. - - /** - * @type {number} - * @private - */ - this.high_ = high | 0; // force into 32 signed bits. - }; - - - // NOTE: Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the - // from* methods on which they depend. - - - /** - * A cache of the Long representations of small integer values. - * @type {!Object} - * @private - */ - goog.math.Long.IntCache_ = {}; - - - /** - * Returns a Long representing the given (32-bit) integer value. - * @param {number} value The 32-bit integer in question. - * @return {!goog.math.Long} The corresponding Long value. - */ - goog.math.Long.fromInt = function(value) { - if (-128 <= value && value < 128) { - var cachedObj = goog.math.Long.IntCache_[value]; - if (cachedObj) { - return cachedObj; - } - } - - var obj = new goog.math.Long(value | 0, value < 0 ? -1 : 0); - if (-128 <= value && value < 128) { - goog.math.Long.IntCache_[value] = obj; - } - return obj; - }; - - - /** - * Returns a Long representing the given value, provided that it is a finite - * number. Otherwise, zero is returned. - * @param {number} value The number in question. - * @return {!goog.math.Long} The corresponding Long value. - */ - goog.math.Long.fromNumber = function(value) { - if (isNaN(value) || !isFinite(value)) { - return goog.math.Long.ZERO; - } else if (value <= -goog.math.Long.TWO_PWR_63_DBL_) { - return goog.math.Long.MIN_VALUE; - } else if (value + 1 >= goog.math.Long.TWO_PWR_63_DBL_) { - return goog.math.Long.MAX_VALUE; - } else if (value < 0) { - return goog.math.Long.fromNumber(-value).negate(); - } else { - return new goog.math.Long( - (value % goog.math.Long.TWO_PWR_32_DBL_) | 0, - (value / goog.math.Long.TWO_PWR_32_DBL_) | 0); - } - }; - - - /** - * Returns a Long representing the 64-bit integer that comes by concatenating - * the given high and low bits. Each is assumed to use 32 bits. - * @param {number} lowBits The low 32-bits. - * @param {number} highBits The high 32-bits. - * @return {!goog.math.Long} The corresponding Long value. - */ - goog.math.Long.fromBits = function(lowBits, highBits) { - return new goog.math.Long(lowBits, highBits); - }; - - - /** - * Returns a Long representation of the given string, written using the given - * radix. - * @param {string} str The textual representation of the Long. - * @param {number=} opt_radix The radix in which the text is written. - * @return {!goog.math.Long} The corresponding Long value. - */ - goog.math.Long.fromString = function(str, opt_radix) { - if (str.length == 0) { - throw Error('number format error: empty string'); - } - - var radix = opt_radix || 10; - if (radix < 2 || 36 < radix) { - throw Error('radix out of range: ' + radix); - } - - if (str.charAt(0) == '-') { - return goog.math.Long.fromString(str.substring(1), radix).negate(); - } else if (str.indexOf('-') >= 0) { - throw Error('number format error: interior "-" character: ' + str); - } - - // Do several (8) digits each time through the loop, so as to - // minimize the calls to the very expensive emulated div. - var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 8)); - - var result = goog.math.Long.ZERO; - for (var i = 0; i < str.length; i += 8) { - var size = Math.min(8, str.length - i); - var value = parseInt(str.substring(i, i + size), radix); - if (size < 8) { - var power = goog.math.Long.fromNumber(Math.pow(radix, size)); - result = result.multiply(power).add(goog.math.Long.fromNumber(value)); - } else { - result = result.multiply(radixToPower); - result = result.add(goog.math.Long.fromNumber(value)); - } - } - return result; - }; - - - // NOTE: the compiler should inline these constant values below and then remove - // these variables, so there should be no runtime penalty for these. - - - /** - * Number used repeated below in calculations. This must appear before the - * first call to any from* function below. - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_16_DBL_ = 1 << 16; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_24_DBL_ = 1 << 24; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_32_DBL_ = - goog.math.Long.TWO_PWR_16_DBL_ * goog.math.Long.TWO_PWR_16_DBL_; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_31_DBL_ = - goog.math.Long.TWO_PWR_32_DBL_ / 2; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_48_DBL_ = - goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_16_DBL_; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_64_DBL_ = - goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_32_DBL_; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_63_DBL_ = - goog.math.Long.TWO_PWR_64_DBL_ / 2; - - - /** @type {!goog.math.Long} */ - goog.math.Long.ZERO = goog.math.Long.fromInt(0); - - - /** @type {!goog.math.Long} */ - goog.math.Long.ONE = goog.math.Long.fromInt(1); - - - /** @type {!goog.math.Long} */ - goog.math.Long.NEG_ONE = goog.math.Long.fromInt(-1); - - - /** @type {!goog.math.Long} */ - goog.math.Long.MAX_VALUE = - goog.math.Long.fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0); - - - /** @type {!goog.math.Long} */ - goog.math.Long.MIN_VALUE = goog.math.Long.fromBits(0, 0x80000000 | 0); - - - /** - * @type {!goog.math.Long} - * @private - */ - goog.math.Long.TWO_PWR_24_ = goog.math.Long.fromInt(1 << 24); - - - /** @return {number} The value, assuming it is a 32-bit integer. */ - goog.math.Long.prototype.toInt = function() { - return this.low_; - }; - - - /** @return {number} The closest floating-point representation to this value. */ - goog.math.Long.prototype.toNumber = function() { - return this.high_ * goog.math.Long.TWO_PWR_32_DBL_ + - this.getLowBitsUnsigned(); - }; - - - /** - * @param {number=} opt_radix The radix in which the text should be written. - * @return {string} The textual representation of this value. - */ - goog.math.Long.prototype.toString = function(opt_radix) { - var radix = opt_radix || 10; - if (radix < 2 || 36 < radix) { - throw Error('radix out of range: ' + radix); - } - - if (this.isZero()) { - return '0'; - } - - if (this.isNegative()) { - if (this.equals(goog.math.Long.MIN_VALUE)) { - // We need to change the Long value before it can be negated, so we remove - // the bottom-most digit in this base and then recurse to do the rest. - var radixLong = goog.math.Long.fromNumber(radix); - var div = this.div(radixLong); - var rem = div.multiply(radixLong).subtract(this); - return div.toString(radix) + rem.toInt().toString(radix); - } else { - return '-' + this.negate().toString(radix); - } - } - - // Do several (6) digits each time through the loop, so as to - // minimize the calls to the very expensive emulated div. - var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 6)); - - var rem = this; - var result = ''; - while (true) { - var remDiv = rem.div(radixToPower); - var intval = rem.subtract(remDiv.multiply(radixToPower)).toInt(); - var digits = intval.toString(radix); - - rem = remDiv; - if (rem.isZero()) { - return digits + result; - } else { - while (digits.length < 6) { - digits = '0' + digits; - } - result = '' + digits + result; - } - } - }; - - - /** @return {number} The high 32-bits as a signed value. */ - goog.math.Long.prototype.getHighBits = function() { - return this.high_; - }; - - - /** @return {number} The low 32-bits as a signed value. */ - goog.math.Long.prototype.getLowBits = function() { - return this.low_; - }; - - - /** @return {number} The low 32-bits as an unsigned value. */ - goog.math.Long.prototype.getLowBitsUnsigned = function() { - return (this.low_ >= 0) ? - this.low_ : goog.math.Long.TWO_PWR_32_DBL_ + this.low_; - }; - - - /** - * @return {number} Returns the number of bits needed to represent the absolute - * value of this Long. - */ - goog.math.Long.prototype.getNumBitsAbs = function() { - if (this.isNegative()) { - if (this.equals(goog.math.Long.MIN_VALUE)) { - return 64; - } else { - return this.negate().getNumBitsAbs(); - } - } else { - var val = this.high_ != 0 ? this.high_ : this.low_; - for (var bit = 31; bit > 0; bit--) { - if ((val & (1 << bit)) != 0) { - break; - } - } - return this.high_ != 0 ? bit + 33 : bit + 1; - } - }; - - - /** @return {boolean} Whether this value is zero. */ - goog.math.Long.prototype.isZero = function() { - return this.high_ == 0 && this.low_ == 0; - }; - - - /** @return {boolean} Whether this value is negative. */ - goog.math.Long.prototype.isNegative = function() { - return this.high_ < 0; - }; - - - /** @return {boolean} Whether this value is odd. */ - goog.math.Long.prototype.isOdd = function() { - return (this.low_ & 1) == 1; - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long equals the other. - */ - goog.math.Long.prototype.equals = function(other) { - return (this.high_ == other.high_) && (this.low_ == other.low_); - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long does not equal the other. - */ - goog.math.Long.prototype.notEquals = function(other) { - return (this.high_ != other.high_) || (this.low_ != other.low_); - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long is less than the other. - */ - goog.math.Long.prototype.lessThan = function(other) { - return this.compare(other) < 0; - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long is less than or equal to the other. - */ - goog.math.Long.prototype.lessThanOrEqual = function(other) { - return this.compare(other) <= 0; - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long is greater than the other. - */ - goog.math.Long.prototype.greaterThan = function(other) { - return this.compare(other) > 0; - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long is greater than or equal to the other. - */ - goog.math.Long.prototype.greaterThanOrEqual = function(other) { - return this.compare(other) >= 0; - }; - - - /** - * Compares this Long with the given one. - * @param {goog.math.Long} other Long to compare against. - * @return {number} 0 if they are the same, 1 if the this is greater, and -1 - * if the given one is greater. - */ - goog.math.Long.prototype.compare = function(other) { - if (this.equals(other)) { - return 0; - } - - var thisNeg = this.isNegative(); - var otherNeg = other.isNegative(); - if (thisNeg && !otherNeg) { - return -1; - } - if (!thisNeg && otherNeg) { - return 1; - } - - // at this point, the signs are the same, so subtraction will not overflow - if (this.subtract(other).isNegative()) { - return -1; - } else { - return 1; - } - }; - - - /** @return {!goog.math.Long} The negation of this value. */ - goog.math.Long.prototype.negate = function() { - if (this.equals(goog.math.Long.MIN_VALUE)) { - return goog.math.Long.MIN_VALUE; - } else { - return this.not().add(goog.math.Long.ONE); - } - }; - - - /** - * Returns the sum of this and the given Long. - * @param {goog.math.Long} other Long to add to this one. - * @return {!goog.math.Long} The sum of this and the given Long. - */ - goog.math.Long.prototype.add = function(other) { - // Divide each number into 4 chunks of 16 bits, and then sum the chunks. - - var a48 = this.high_ >>> 16; - var a32 = this.high_ & 0xFFFF; - var a16 = this.low_ >>> 16; - var a00 = this.low_ & 0xFFFF; - - var b48 = other.high_ >>> 16; - var b32 = other.high_ & 0xFFFF; - var b16 = other.low_ >>> 16; - var b00 = other.low_ & 0xFFFF; - - var c48 = 0, c32 = 0, c16 = 0, c00 = 0; - c00 += a00 + b00; - c16 += c00 >>> 16; - c00 &= 0xFFFF; - c16 += a16 + b16; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c32 += a32 + b32; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c48 += a48 + b48; - c48 &= 0xFFFF; - return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32); - }; - - - /** - * Returns the difference of this and the given Long. - * @param {goog.math.Long} other Long to subtract from this. - * @return {!goog.math.Long} The difference of this and the given Long. - */ - goog.math.Long.prototype.subtract = function(other) { - return this.add(other.negate()); - }; - - - /** - * Returns the product of this and the given long. - * @param {goog.math.Long} other Long to multiply with this. - * @return {!goog.math.Long} The product of this and the other. - */ - goog.math.Long.prototype.multiply = function(other) { - if (this.isZero()) { - return goog.math.Long.ZERO; - } else if (other.isZero()) { - return goog.math.Long.ZERO; - } - - if (this.equals(goog.math.Long.MIN_VALUE)) { - return other.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO; - } else if (other.equals(goog.math.Long.MIN_VALUE)) { - return this.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO; - } - - if (this.isNegative()) { - if (other.isNegative()) { - return this.negate().multiply(other.negate()); - } else { - return this.negate().multiply(other).negate(); - } - } else if (other.isNegative()) { - return this.multiply(other.negate()).negate(); - } - - // If both longs are small, use float multiplication - if (this.lessThan(goog.math.Long.TWO_PWR_24_) && - other.lessThan(goog.math.Long.TWO_PWR_24_)) { - return goog.math.Long.fromNumber(this.toNumber() * other.toNumber()); - } - - // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products. - // We can skip products that would overflow. - - var a48 = this.high_ >>> 16; - var a32 = this.high_ & 0xFFFF; - var a16 = this.low_ >>> 16; - var a00 = this.low_ & 0xFFFF; - - var b48 = other.high_ >>> 16; - var b32 = other.high_ & 0xFFFF; - var b16 = other.low_ >>> 16; - var b00 = other.low_ & 0xFFFF; - - var c48 = 0, c32 = 0, c16 = 0, c00 = 0; - c00 += a00 * b00; - c16 += c00 >>> 16; - c00 &= 0xFFFF; - c16 += a16 * b00; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c16 += a00 * b16; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c32 += a32 * b00; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c32 += a16 * b16; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c32 += a00 * b32; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48; - c48 &= 0xFFFF; - return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32); - }; - - - /** - * Returns this Long divided by the given one. - * @param {goog.math.Long} other Long by which to divide. - * @return {!goog.math.Long} This Long divided by the given one. - */ - goog.math.Long.prototype.div = function(other) { - if (other.isZero()) { - throw Error('division by zero'); - } else if (this.isZero()) { - return goog.math.Long.ZERO; - } - - if (this.equals(goog.math.Long.MIN_VALUE)) { - if (other.equals(goog.math.Long.ONE) || - other.equals(goog.math.Long.NEG_ONE)) { - return goog.math.Long.MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE - } else if (other.equals(goog.math.Long.MIN_VALUE)) { - return goog.math.Long.ONE; - } else { - // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|. - var halfThis = this.shiftRight(1); - var approx = halfThis.div(other).shiftLeft(1); - if (approx.equals(goog.math.Long.ZERO)) { - return other.isNegative() ? goog.math.Long.ONE : goog.math.Long.NEG_ONE; - } else { - var rem = this.subtract(other.multiply(approx)); - var result = approx.add(rem.div(other)); - return result; - } - } - } else if (other.equals(goog.math.Long.MIN_VALUE)) { - return goog.math.Long.ZERO; - } - - if (this.isNegative()) { - if (other.isNegative()) { - return this.negate().div(other.negate()); - } else { - return this.negate().div(other).negate(); - } - } else if (other.isNegative()) { - return this.div(other.negate()).negate(); - } - - // Repeat the following until the remainder is less than other: find a - // floating-point that approximates remainder / other *from below*, add this - // into the result, and subtract it from the remainder. It is critical that - // the approximate value is less than or equal to the real value so that the - // remainder never becomes negative. - var res = goog.math.Long.ZERO; - var rem = this; - while (rem.greaterThanOrEqual(other)) { - // Approximate the result of division. This may be a little greater or - // smaller than the actual value. - var approx = Math.max(1, Math.floor(rem.toNumber() / other.toNumber())); - - // We will tweak the approximate result by changing it in the 48-th digit or - // the smallest non-fractional digit, whichever is larger. - var log2 = Math.ceil(Math.log(approx) / Math.LN2); - var delta = (log2 <= 48) ? 1 : Math.pow(2, log2 - 48); - - // Decrease the approximation until it is smaller than the remainder. Note - // that if it is too large, the product overflows and is negative. - var approxRes = goog.math.Long.fromNumber(approx); - var approxRem = approxRes.multiply(other); - while (approxRem.isNegative() || approxRem.greaterThan(rem)) { - approx -= delta; - approxRes = goog.math.Long.fromNumber(approx); - approxRem = approxRes.multiply(other); - } - - // We know the answer can't be zero... and actually, zero would cause - // infinite recursion since we would make no progress. - if (approxRes.isZero()) { - approxRes = goog.math.Long.ONE; - } - - res = res.add(approxRes); - rem = rem.subtract(approxRem); - } - return res; - }; - - - /** - * Returns this Long modulo the given one. - * @param {goog.math.Long} other Long by which to mod. - * @return {!goog.math.Long} This Long modulo the given one. - */ - goog.math.Long.prototype.modulo = function(other) { - return this.subtract(this.div(other).multiply(other)); - }; - - - /** @return {!goog.math.Long} The bitwise-NOT of this value. */ - goog.math.Long.prototype.not = function() { - return goog.math.Long.fromBits(~this.low_, ~this.high_); - }; - - - /** - * Returns the bitwise-AND of this Long and the given one. - * @param {goog.math.Long} other The Long with which to AND. - * @return {!goog.math.Long} The bitwise-AND of this and the other. - */ - goog.math.Long.prototype.and = function(other) { - return goog.math.Long.fromBits(this.low_ & other.low_, - this.high_ & other.high_); - }; - - - /** - * Returns the bitwise-OR of this Long and the given one. - * @param {goog.math.Long} other The Long with which to OR. - * @return {!goog.math.Long} The bitwise-OR of this and the other. - */ - goog.math.Long.prototype.or = function(other) { - return goog.math.Long.fromBits(this.low_ | other.low_, - this.high_ | other.high_); - }; - - - /** - * Returns the bitwise-XOR of this Long and the given one. - * @param {goog.math.Long} other The Long with which to XOR. - * @return {!goog.math.Long} The bitwise-XOR of this and the other. - */ - goog.math.Long.prototype.xor = function(other) { - return goog.math.Long.fromBits(this.low_ ^ other.low_, - this.high_ ^ other.high_); - }; - - - /** - * Returns this Long with bits shifted to the left by the given amount. - * @param {number} numBits The number of bits by which to shift. - * @return {!goog.math.Long} This shifted to the left by the given amount. - */ - goog.math.Long.prototype.shiftLeft = function(numBits) { - numBits &= 63; - if (numBits == 0) { - return this; - } else { - var low = this.low_; - if (numBits < 32) { - var high = this.high_; - return goog.math.Long.fromBits( - low << numBits, - (high << numBits) | (low >>> (32 - numBits))); - } else { - return goog.math.Long.fromBits(0, low << (numBits - 32)); - } - } - }; - - - /** - * Returns this Long with bits shifted to the right by the given amount. - * @param {number} numBits The number of bits by which to shift. - * @return {!goog.math.Long} This shifted to the right by the given amount. - */ - goog.math.Long.prototype.shiftRight = function(numBits) { - numBits &= 63; - if (numBits == 0) { - return this; - } else { - var high = this.high_; - if (numBits < 32) { - var low = this.low_; - return goog.math.Long.fromBits( - (low >>> numBits) | (high << (32 - numBits)), - high >> numBits); - } else { - return goog.math.Long.fromBits( - high >> (numBits - 32), - high >= 0 ? 0 : -1); - } - } - }; - - - /** - * Returns this Long with bits shifted to the right by the given amount, with - * the new top bits matching the current sign bit. - * @param {number} numBits The number of bits by which to shift. - * @return {!goog.math.Long} This shifted to the right by the given amount, with - * zeros placed into the new leading bits. - */ - goog.math.Long.prototype.shiftRightUnsigned = function(numBits) { - numBits &= 63; - if (numBits == 0) { - return this; - } else { - var high = this.high_; - if (numBits < 32) { - var low = this.low_; - return goog.math.Long.fromBits( - (low >>> numBits) | (high << (32 - numBits)), - high >>> numBits); - } else if (numBits == 32) { - return goog.math.Long.fromBits(high, 0); - } else { - return goog.math.Long.fromBits(high >>> (numBits - 32), 0); - } - } - }; - - //======= begin jsbn ======= - - var navigator = { appName: 'Modern Browser' }; // polyfill a little - - // Copyright (c) 2005 Tom Wu - // All Rights Reserved. - // http://www-cs-students.stanford.edu/~tjw/jsbn/ - - /* - * Copyright (c) 2003-2005 Tom Wu - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF - * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * In addition, the following condition applies: - * - * All redistributions must retain an intact copy of this copyright notice - * and disclaimer. - */ - - // Basic JavaScript BN library - subset useful for RSA encryption. - - // Bits per digit - var dbits; - - // JavaScript engine analysis - var canary = 0xdeadbeefcafe; - var j_lm = ((canary&0xffffff)==0xefcafe); - - // (public) Constructor - function BigInteger(a,b,c) { - if(a != null) - if("number" == typeof a) this.fromNumber(a,b,c); - else if(b == null && "string" != typeof a) this.fromString(a,256); - else this.fromString(a,b); - } - - // return new, unset BigInteger - function nbi() { return new BigInteger(null); } - - // am: Compute w_j += (x*this_i), propagate carries, - // c is initial carry, returns final carry. - // c < 3*dvalue, x < 2*dvalue, this_i < dvalue - // We need to select the fastest one that works in this environment. - - // am1: use a single mult and divide to get the high bits, - // max digit bits should be 26 because - // max internal value = 2*dvalue^2-2*dvalue (< 2^53) - function am1(i,x,w,j,c,n) { - while(--n >= 0) { - var v = x*this[i++]+w[j]+c; - c = Math.floor(v/0x4000000); - w[j++] = v&0x3ffffff; - } - return c; - } - // am2 avoids a big mult-and-extract completely. - // Max digit bits should be <= 30 because we do bitwise ops - // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) - function am2(i,x,w,j,c,n) { - var xl = x&0x7fff, xh = x>>15; - while(--n >= 0) { - var l = this[i]&0x7fff; - var h = this[i++]>>15; - var m = xh*l+h*xl; - l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff); - c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); - w[j++] = l&0x3fffffff; - } - return c; - } - // Alternately, set max digit bits to 28 since some - // browsers slow down when dealing with 32-bit numbers. - function am3(i,x,w,j,c,n) { - var xl = x&0x3fff, xh = x>>14; - while(--n >= 0) { - var l = this[i]&0x3fff; - var h = this[i++]>>14; - var m = xh*l+h*xl; - l = xl*l+((m&0x3fff)<<14)+w[j]+c; - c = (l>>28)+(m>>14)+xh*h; - w[j++] = l&0xfffffff; - } - return c; - } - if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) { - BigInteger.prototype.am = am2; - dbits = 30; - } - else if(j_lm && (navigator.appName != "Netscape")) { - BigInteger.prototype.am = am1; - dbits = 26; - } - else { // Mozilla/Netscape seems to prefer am3 - BigInteger.prototype.am = am3; - dbits = 28; - } - - BigInteger.prototype.DB = dbits; - BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i]; - r.t = this.t; - r.s = this.s; - } - - // (protected) set from integer value x, -DV <= x < DV - function bnpFromInt(x) { - this.t = 1; - this.s = (x<0)?-1:0; - if(x > 0) this[0] = x; - else if(x < -1) this[0] = x+DV; - else this.t = 0; - } - - // return bigint initialized to value - function nbv(i) { var r = nbi(); r.fromInt(i); return r; } - - // (protected) set from string and radix - function bnpFromString(s,b) { - var k; - if(b == 16) k = 4; - else if(b == 8) k = 3; - else if(b == 256) k = 8; // byte array - else if(b == 2) k = 1; - else if(b == 32) k = 5; - else if(b == 4) k = 2; - else { this.fromRadix(s,b); return; } - this.t = 0; - this.s = 0; - var i = s.length, mi = false, sh = 0; - while(--i >= 0) { - var x = (k==8)?s[i]&0xff:intAt(s,i); - if(x < 0) { - if(s.charAt(i) == "-") mi = true; - continue; - } - mi = false; - if(sh == 0) - this[this.t++] = x; - else if(sh+k > this.DB) { - this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh)); - } - else - this[this.t-1] |= x<= this.DB) sh -= this.DB; - } - if(k == 8 && (s[0]&0x80) != 0) { - this.s = -1; - if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t; - } - - // (public) return string representation in given radix - function bnToString(b) { - if(this.s < 0) return "-"+this.negate().toString(b); - var k; - if(b == 16) k = 4; - else if(b == 8) k = 3; - else if(b == 2) k = 1; - else if(b == 32) k = 5; - else if(b == 4) k = 2; - else return this.toRadix(b); - var km = (1< 0) { - if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); } - while(i >= 0) { - if(p < k) { - d = (this[i]&((1<>(p+=this.DB-k); - } - else { - d = (this[i]>>(p-=k))&km; - if(p <= 0) { p += this.DB; --i; } - } - if(d > 0) m = true; - if(m) r += int2char(d); - } - } - return m?r:"0"; - } - - // (public) -this - function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } - - // (public) |this| - function bnAbs() { return (this.s<0)?this.negate():this; } - - // (public) return + if this > a, - if this < a, 0 if equal - function bnCompareTo(a) { - var r = this.s-a.s; - if(r != 0) return r; - var i = this.t; - r = i-a.t; - if(r != 0) return (this.s<0)?-r:r; - while(--i >= 0) if((r=this[i]-a[i]) != 0) return r; - return 0; - } - - // returns bit length of the integer x - function nbits(x) { - var r = 1, t; - if((t=x>>>16) != 0) { x = t; r += 16; } - if((t=x>>8) != 0) { x = t; r += 8; } - if((t=x>>4) != 0) { x = t; r += 4; } - if((t=x>>2) != 0) { x = t; r += 2; } - if((t=x>>1) != 0) { x = t; r += 1; } - return r; - } - - // (public) return the number of bits in "this" - function bnBitLength() { - if(this.t <= 0) return 0; - return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM)); - } - - // (protected) r = this << n*DB - function bnpDLShiftTo(n,r) { - var i; - for(i = this.t-1; i >= 0; --i) r[i+n] = this[i]; - for(i = n-1; i >= 0; --i) r[i] = 0; - r.t = this.t+n; - r.s = this.s; - } - - // (protected) r = this >> n*DB - function bnpDRShiftTo(n,r) { - for(var i = n; i < this.t; ++i) r[i-n] = this[i]; - r.t = Math.max(this.t-n,0); - r.s = this.s; - } - - // (protected) r = this << n - function bnpLShiftTo(n,r) { - var bs = n%this.DB; - var cbs = this.DB-bs; - var bm = (1<= 0; --i) { - r[i+ds+1] = (this[i]>>cbs)|c; - c = (this[i]&bm)<= 0; --i) r[i] = 0; - r[ds] = c; - r.t = this.t+ds+1; - r.s = this.s; - r.clamp(); - } - - // (protected) r = this >> n - function bnpRShiftTo(n,r) { - r.s = this.s; - var ds = Math.floor(n/this.DB); - if(ds >= this.t) { r.t = 0; return; } - var bs = n%this.DB; - var cbs = this.DB-bs; - var bm = (1<>bs; - for(var i = ds+1; i < this.t; ++i) { - r[i-ds-1] |= (this[i]&bm)<>bs; - } - if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB; - } - if(a.t < this.t) { - c -= a.s; - while(i < this.t) { - c += this[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += this.s; - } - else { - c += this.s; - while(i < a.t) { - c -= a[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c -= a.s; - } - r.s = (c<0)?-1:0; - if(c < -1) r[i++] = this.DV+c; - else if(c > 0) r[i++] = c; - r.t = i; - r.clamp(); - } - - // (protected) r = this * a, r != this,a (HAC 14.12) - // "this" should be the larger one if appropriate. - function bnpMultiplyTo(a,r) { - var x = this.abs(), y = a.abs(); - var i = x.t; - r.t = i+y.t; - while(--i >= 0) r[i] = 0; - for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t); - r.s = 0; - r.clamp(); - if(this.s != a.s) BigInteger.ZERO.subTo(r,r); - } - - // (protected) r = this^2, r != this (HAC 14.16) - function bnpSquareTo(r) { - var x = this.abs(); - var i = r.t = 2*x.t; - while(--i >= 0) r[i] = 0; - for(i = 0; i < x.t-1; ++i) { - var c = x.am(i,x[i],r,2*i,0,1); - if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) { - r[i+x.t] -= x.DV; - r[i+x.t+1] = 1; - } - } - if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1); - r.s = 0; - r.clamp(); - } - - // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) - // r != q, this != m. q or r may be null. - function bnpDivRemTo(m,q,r) { - var pm = m.abs(); - if(pm.t <= 0) return; - var pt = this.abs(); - if(pt.t < pm.t) { - if(q != null) q.fromInt(0); - if(r != null) this.copyTo(r); - return; - } - if(r == null) r = nbi(); - var y = nbi(), ts = this.s, ms = m.s; - var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus - if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } - else { pm.copyTo(y); pt.copyTo(r); } - var ys = y.t; - var y0 = y[ys-1]; - if(y0 == 0) return; - var yt = y0*(1<1)?y[ys-2]>>this.F2:0); - var d1 = this.FV/yt, d2 = (1<= 0) { - r[r.t++] = 1; - r.subTo(t,r); - } - BigInteger.ONE.dlShiftTo(ys,t); - t.subTo(y,y); // "negative" y so we can replace sub with am later - while(y.t < ys) y[y.t++] = 0; - while(--j >= 0) { - // Estimate quotient digit - var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2); - if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out - y.dlShiftTo(j,t); - r.subTo(t,r); - while(r[i] < --qd) r.subTo(t,r); - } - } - if(q != null) { - r.drShiftTo(ys,q); - if(ts != ms) BigInteger.ZERO.subTo(q,q); - } - r.t = ys; - r.clamp(); - if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder - if(ts < 0) BigInteger.ZERO.subTo(r,r); - } - - // (public) this mod a - function bnMod(a) { - var r = nbi(); - this.abs().divRemTo(a,null,r); - if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); - return r; - } - - // Modular reduction using "classic" algorithm - function Classic(m) { this.m = m; } - function cConvert(x) { - if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); - else return x; - } - function cRevert(x) { return x; } - function cReduce(x) { x.divRemTo(this.m,null,x); } - function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } - function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } - - Classic.prototype.convert = cConvert; - Classic.prototype.revert = cRevert; - Classic.prototype.reduce = cReduce; - Classic.prototype.mulTo = cMulTo; - Classic.prototype.sqrTo = cSqrTo; - - // (protected) return "-1/this % 2^DB"; useful for Mont. reduction - // justification: - // xy == 1 (mod m) - // xy = 1+km - // xy(2-xy) = (1+km)(1-km) - // x[y(2-xy)] = 1-k^2m^2 - // x[y(2-xy)] == 1 (mod m^2) - // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 - // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. - // JS multiply "overflows" differently from C/C++, so care is needed here. - function bnpInvDigit() { - if(this.t < 1) return 0; - var x = this[0]; - if((x&1) == 0) return 0; - var y = x&3; // y == 1/x mod 2^2 - y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 - y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 - y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 - // last step - calculate inverse mod DV directly; - // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints - y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits - // we really want the negative inverse, and -DV < y < DV - return (y>0)?this.DV-y:-y; - } - - // Montgomery reduction - function Montgomery(m) { - this.m = m; - this.mp = m.invDigit(); - this.mpl = this.mp&0x7fff; - this.mph = this.mp>>15; - this.um = (1<<(m.DB-15))-1; - this.mt2 = 2*m.t; - } - - // xR mod m - function montConvert(x) { - var r = nbi(); - x.abs().dlShiftTo(this.m.t,r); - r.divRemTo(this.m,null,r); - if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); - return r; - } - - // x/R mod m - function montRevert(x) { - var r = nbi(); - x.copyTo(r); - this.reduce(r); - return r; - } - - // x = x/R mod m (HAC 14.32) - function montReduce(x) { - while(x.t <= this.mt2) // pad x so am has enough room later - x[x.t++] = 0; - for(var i = 0; i < this.m.t; ++i) { - // faster way of calculating u0 = x[i]*mp mod DV - var j = x[i]&0x7fff; - var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM; - // use am to combine the multiply-shift-add into one call - j = i+this.m.t; - x[j] += this.m.am(0,u0,x,i,0,this.m.t); - // propagate carry - while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; } - } - x.clamp(); - x.drShiftTo(this.m.t,x); - if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); - } - - // r = "x^2/R mod m"; x != r - function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } - - // r = "xy/R mod m"; x,y != r - function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } - - Montgomery.prototype.convert = montConvert; - Montgomery.prototype.revert = montRevert; - Montgomery.prototype.reduce = montReduce; - Montgomery.prototype.mulTo = montMulTo; - Montgomery.prototype.sqrTo = montSqrTo; - - // (protected) true iff this is even - function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; } - - // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) - function bnpExp(e,z) { - if(e > 0xffffffff || e < 1) return BigInteger.ONE; - var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; - g.copyTo(r); - while(--i >= 0) { - z.sqrTo(r,r2); - if((e&(1< 0) z.mulTo(r2,g,r); - else { var t = r; r = r2; r2 = t; } - } - return z.revert(r); - } - - // (public) this^e % m, 0 <= e < 2^32 - function bnModPowInt(e,m) { - var z; - if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); - return this.exp(e,z); - } - - // protected - BigInteger.prototype.copyTo = bnpCopyTo; - BigInteger.prototype.fromInt = bnpFromInt; - BigInteger.prototype.fromString = bnpFromString; - BigInteger.prototype.clamp = bnpClamp; - BigInteger.prototype.dlShiftTo = bnpDLShiftTo; - BigInteger.prototype.drShiftTo = bnpDRShiftTo; - BigInteger.prototype.lShiftTo = bnpLShiftTo; - BigInteger.prototype.rShiftTo = bnpRShiftTo; - BigInteger.prototype.subTo = bnpSubTo; - BigInteger.prototype.multiplyTo = bnpMultiplyTo; - BigInteger.prototype.squareTo = bnpSquareTo; - BigInteger.prototype.divRemTo = bnpDivRemTo; - BigInteger.prototype.invDigit = bnpInvDigit; - BigInteger.prototype.isEven = bnpIsEven; - BigInteger.prototype.exp = bnpExp; - - // public - BigInteger.prototype.toString = bnToString; - BigInteger.prototype.negate = bnNegate; - BigInteger.prototype.abs = bnAbs; - BigInteger.prototype.compareTo = bnCompareTo; - BigInteger.prototype.bitLength = bnBitLength; - BigInteger.prototype.mod = bnMod; - BigInteger.prototype.modPowInt = bnModPowInt; - - // "constants" - BigInteger.ZERO = nbv(0); - BigInteger.ONE = nbv(1); - - // jsbn2 stuff - - // (protected) convert from radix string - function bnpFromRadix(s,b) { - this.fromInt(0); - if(b == null) b = 10; - var cs = this.chunkSize(b); - var d = Math.pow(b,cs), mi = false, j = 0, w = 0; - for(var i = 0; i < s.length; ++i) { - var x = intAt(s,i); - if(x < 0) { - if(s.charAt(i) == "-" && this.signum() == 0) mi = true; - continue; - } - w = b*w+x; - if(++j >= cs) { - this.dMultiply(d); - this.dAddOffset(w,0); - j = 0; - w = 0; - } - } - if(j > 0) { - this.dMultiply(Math.pow(b,j)); - this.dAddOffset(w,0); - } - if(mi) BigInteger.ZERO.subTo(this,this); - } - - // (protected) return x s.t. r^x < DV - function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); } - - // (public) 0 if this == 0, 1 if this > 0 - function bnSigNum() { - if(this.s < 0) return -1; - else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0; - else return 1; - } - - // (protected) this *= n, this >= 0, 1 < n < DV - function bnpDMultiply(n) { - this[this.t] = this.am(0,n-1,this,0,0,this.t); - ++this.t; - this.clamp(); - } - - // (protected) this += n << w words, this >= 0 - function bnpDAddOffset(n,w) { - if(n == 0) return; - while(this.t <= w) this[this.t++] = 0; - this[w] += n; - while(this[w] >= this.DV) { - this[w] -= this.DV; - if(++w >= this.t) this[this.t++] = 0; - ++this[w]; - } - } - - // (protected) convert to radix string - function bnpToRadix(b) { - if(b == null) b = 10; - if(this.signum() == 0 || b < 2 || b > 36) return "0"; - var cs = this.chunkSize(b); - var a = Math.pow(b,cs); - var d = nbv(a), y = nbi(), z = nbi(), r = ""; - this.divRemTo(d,y,z); - while(y.signum() > 0) { - r = (a+z.intValue()).toString(b).substr(1) + r; - y.divRemTo(d,y,z); - } - return z.intValue().toString(b) + r; - } - - // (public) return value as integer - function bnIntValue() { - if(this.s < 0) { - if(this.t == 1) return this[0]-this.DV; - else if(this.t == 0) return -1; - } - else if(this.t == 1) return this[0]; - else if(this.t == 0) return 0; - // assumes 16 < DB < 32 - return ((this[1]&((1<<(32-this.DB))-1))<>= this.DB; - } - if(a.t < this.t) { - c += a.s; - while(i < this.t) { - c += this[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += this.s; - } - else { - c += this.s; - while(i < a.t) { - c += a[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += a.s; - } - r.s = (c<0)?-1:0; - if(c > 0) r[i++] = c; - else if(c < -1) r[i++] = this.DV+c; - r.t = i; - r.clamp(); - } - - BigInteger.prototype.fromRadix = bnpFromRadix; - BigInteger.prototype.chunkSize = bnpChunkSize; - BigInteger.prototype.signum = bnSigNum; - BigInteger.prototype.dMultiply = bnpDMultiply; - BigInteger.prototype.dAddOffset = bnpDAddOffset; - BigInteger.prototype.toRadix = bnpToRadix; - BigInteger.prototype.intValue = bnIntValue; - BigInteger.prototype.addTo = bnpAddTo; - - //======= end jsbn ======= - - // Emscripten wrapper - var Wrapper = { - abs: function(l, h) { - var x = new goog.math.Long(l, h); - var ret; - if (x.isNegative()) { - ret = x.negate(); - } else { - ret = x; - } - HEAP32[tempDoublePtr>>2] = ret.low_; - HEAP32[tempDoublePtr+4>>2] = ret.high_; - }, - ensureTemps: function() { - if (Wrapper.ensuredTemps) return; - Wrapper.ensuredTemps = true; - Wrapper.two32 = new BigInteger(); - Wrapper.two32.fromString('4294967296', 10); - Wrapper.two64 = new BigInteger(); - Wrapper.two64.fromString('18446744073709551616', 10); - Wrapper.temp1 = new BigInteger(); - Wrapper.temp2 = new BigInteger(); - }, - lh2bignum: function(l, h) { - var a = new BigInteger(); - a.fromString(h.toString(), 10); - var b = new BigInteger(); - a.multiplyTo(Wrapper.two32, b); - var c = new BigInteger(); - c.fromString(l.toString(), 10); - var d = new BigInteger(); - c.addTo(b, d); - return d; - }, - stringify: function(l, h, unsigned) { - var ret = new goog.math.Long(l, h).toString(); - if (unsigned && ret[0] == '-') { - // unsign slowly using jsbn bignums - Wrapper.ensureTemps(); - var bignum = new BigInteger(); - bignum.fromString(ret, 10); - ret = new BigInteger(); - Wrapper.two64.addTo(bignum, ret); - ret = ret.toString(10); - } - return ret; - }, - fromString: function(str, base, min, max, unsigned) { - Wrapper.ensureTemps(); - var bignum = new BigInteger(); - bignum.fromString(str, base); - var bigmin = new BigInteger(); - bigmin.fromString(min, 10); - var bigmax = new BigInteger(); - bigmax.fromString(max, 10); - if (unsigned && bignum.compareTo(BigInteger.ZERO) < 0) { - var temp = new BigInteger(); - bignum.addTo(Wrapper.two64, temp); - bignum = temp; - } - var error = false; - if (bignum.compareTo(bigmin) < 0) { - bignum = bigmin; - error = true; - } else if (bignum.compareTo(bigmax) > 0) { - bignum = bigmax; - error = true; - } - var ret = goog.math.Long.fromString(bignum.toString()); // min-max checks should have clamped this to a range goog.math.Long can handle well - HEAP32[tempDoublePtr>>2] = ret.low_; - HEAP32[tempDoublePtr+4>>2] = ret.high_; - if (error) throw 'range error'; - } - }; - return Wrapper; -})(); - -//======= end closure i64 code ======= - - // === Auto-generated postamble setup entry stuff === -if (memoryInitializer) { - if (typeof Module['locateFile'] === 'function') { - memoryInitializer = Module['locateFile'](memoryInitializer); - } else if (Module['memoryInitializerPrefixURL']) { - memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer; - } - if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { - var data = Module['readBinary'](memoryInitializer); - HEAPU8.set(data, STATIC_BASE); - } else { - addRunDependency('memory initializer'); - Browser.asyncLoad(memoryInitializer, function(data) { - HEAPU8.set(data, STATIC_BASE); - removeRunDependency('memory initializer'); - }, function(data) { - throw 'could not load memory initializer ' + memoryInitializer; - }); - } -} function ExitStatus(status) { this.name = "ExitStatus"; @@ -210211,7 +220833,7 @@ var calledMain = false; dependenciesFulfilled = function runCaller() { // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun'] && shouldRunNow) run(); + if (!Module['calledRun']) run(); if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled } @@ -210238,7 +220860,7 @@ Module['callMain'] = Module.callMain = function callMain(args) { argv.push(0); argv = allocate(argv, 'i32', ALLOC_NORMAL); - initialStackTop = STACKTOP; + initialStackTop = Runtime.stackSave(); try { @@ -210246,7 +220868,7 @@ Module['callMain'] = Module.callMain = function callMain(args) { // if we're not running an evented main loop, it's time to exit - exit(ret); + exit(ret, /* implicit = */ true); } catch(e) { if (e instanceof ExitStatus) { @@ -210256,6 +220878,7 @@ Module['callMain'] = Module.callMain = function callMain(args) { } else if (e == 'SimulateInfiniteLoop') { // running an evented main loop, don't immediately exit Module['noExitRuntime'] = true; + Runtime.stackRestore(initialStackTop); return; } else { if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); @@ -210297,9 +220920,9 @@ function run(args) { Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); } - if (Module['_main'] && shouldRunNow) { - Module['callMain'](args); - } + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); postRun(); } @@ -210318,17 +220941,22 @@ function run(args) { } Module['run'] = Module.run = run; -function exit(status) { - if (Module['noExitRuntime']) { +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { return; } - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; + if (Module['noExitRuntime']) { + } else { + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; - // exit the runtime - exitRuntime(); + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } if (ENVIRONMENT_IS_NODE) { // Work around a node.js bug where stdout buffer is not flushed at process exit: @@ -210353,10 +220981,15 @@ function exit(status) { } Module['exit'] = Module.exit = exit; -function abort(text) { - if (text) { - Module.print(text); - Module.printErr(text); +var abortDecorators = []; + +function abort(what) { + if (what !== undefined) { + Module.print(what); + Module.printErr(what); + what = JSON.stringify(what) + } else { + what = ''; } ABORT = true; @@ -210364,7 +220997,13 @@ function abort(text) { var extra = '\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.'; - throw 'abort() at ' + stackTrace() + extra; + var output = 'abort(' + what + ') at ' + stackTrace() + extra; + if (abortDecorators) { + abortDecorators.forEach(function(decorator) { + output = decorator(output, what); + }); + } + throw output; } Module['abort'] = Module.abort = abort; @@ -210397,7 +221036,7 @@ run(); -// Generated by CoffeeScript 1.7.1 +// Generated by CoffeeScript 1.9.3 var Database, NULL, Runtime, SQLite, Statement, apiTemp, i, sqlite3_bind_blob, sqlite3_bind_double, sqlite3_bind_int, sqlite3_bind_parameter_index, sqlite3_bind_text, sqlite3_clear_bindings, sqlite3_close_v2, sqlite3_column_blob, sqlite3_column_bytes, sqlite3_column_double, sqlite3_column_name, sqlite3_column_text, sqlite3_column_type, sqlite3_data_count, sqlite3_errmsg, sqlite3_exec, sqlite3_finalize, sqlite3_free, sqlite3_open, sqlite3_prepare_v2, sqlite3_prepare_v2_sqlptr, sqlite3_reset, sqlite3_step; Runtime = Module['Runtime']; @@ -210423,8 +221062,8 @@ closed too and become unusable. */ Statement = (function() { - function Statement(stmt, db) { - this.stmt = stmt; + function Statement(stmt1, db) { + this.stmt = stmt1; this.db = db; this.pos = 1; this.allocatedmem = []; @@ -210439,21 +221078,21 @@ Statement = (function() { *Warning*: ':', '@', and '$' are included in the parameters names - *# Binding values to named parameters + ## Binding values to named parameters @example Bind values to named parameters var stmt = db.prepare("UPDATE test SET a=@newval WHERE id BETWEEN $mini AND $maxi"); stmt.bind({$mini:10, $maxi:20, '@newval':5}); - Create a statement that contains parameters like '$VVV', ':VVV', '@VVV' - Call Statement.bind with an object as parameter - *# Binding values to parameters + ## Binding values to parameters @example Bind values to anonymous parameters var stmt = db.prepare("UPDATE test SET a=? WHERE id BETWEEN ? AND ?"); stmt.bind([5, 10, 20]); - Create a statement that contains parameters like '?', '?NNN' - Call Statement.bind with an array as parameter - *# Value types + ## Value types Javascript type | SQLite type --- | --- number | REAL, INTEGER @@ -210517,14 +221156,14 @@ Statement = (function() { }; Statement.prototype.getBlob = function(pos) { - var i, ptr, result, size, _i; + var i, j, ptr, ref, result, size; if (pos == null) { pos = this.pos++; } size = sqlite3_column_bytes(this.stmt, pos); ptr = sqlite3_column_blob(this.stmt, pos); result = new Uint8Array(size); - for (i = _i = 0; 0 <= size ? _i < size : _i > size; i = 0 <= size ? ++_i : --_i) { + for (i = j = 0, ref = size; 0 <= ref ? j < ref : j > ref; i = 0 <= ref ? ++j : --j) { result[i] = HEAP8[ptr + i]; } return result; @@ -210543,28 +221182,28 @@ Statement = (function() { */ Statement.prototype['get'] = function(params) { - var field, _i, _ref, _results; + var field, j, ref, results1; if (params != null) { this['bind'](params) && this['step'](); } - _results = []; - for (field = _i = 0, _ref = sqlite3_data_count(this.stmt); 0 <= _ref ? _i < _ref : _i > _ref; field = 0 <= _ref ? ++_i : --_i) { + results1 = []; + for (field = j = 0, ref = sqlite3_data_count(this.stmt); 0 <= ref ? j < ref : j > ref; field = 0 <= ref ? ++j : --j) { switch (sqlite3_column_type(this.stmt, field)) { case SQLite.INTEGER: case SQLite.FLOAT: - _results.push(this.getNumber(field)); + results1.push(this.getNumber(field)); break; case SQLite.TEXT: - _results.push(this.getString(field)); + results1.push(this.getString(field)); break; case SQLite.BLOB: - _results.push(this.getBlob(field)); + results1.push(this.getBlob(field)); break; default: - _results.push(null); + results1.push(null); } } - return _results; + return results1; }; @@ -210578,12 +221217,12 @@ Statement = (function() { */ Statement.prototype['getColumnNames'] = function() { - var i, _i, _ref, _results; - _results = []; - for (i = _i = 0, _ref = sqlite3_data_count(this.stmt); 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { - _results.push(sqlite3_column_name(this.stmt, i)); + var i, j, ref, results1; + results1 = []; + for (i = j = 0, ref = sqlite3_data_count(this.stmt); 0 <= ref ? j < ref : j > ref; i = 0 <= ref ? ++j : --j) { + results1.push(sqlite3_column_name(this.stmt, i)); } - return _results; + return results1; }; @@ -210601,11 +221240,11 @@ Statement = (function() { */ Statement.prototype['getAsObject'] = function(params) { - var i, name, names, rowObject, values, _i, _len; + var i, j, len, name, names, rowObject, values; values = this['get'](params); names = this['getColumnNames'](); rowObject = {}; - for (i = _i = 0, _len = names.length; _i < _len; i = ++_i) { + for (i = j = 0, len = names.length; j < len; i = ++j) { name = names[i]; rowObject[name] = values[i]; } @@ -210712,8 +221351,8 @@ Statement = (function() { */ Statement.prototype.bindFromArray = function(values) { - var num, value, _i, _len; - for (num = _i = 0, _len = values.length; _i < _len; num = ++_i) { + var j, len, num, value; + for (num = j = 0, len = values.length; j < len; num = ++j) { value = values[num]; this.bindValue(value, num + 1); } @@ -210814,7 +221453,7 @@ Database = (function() { 'columns' : the name of the columns of the result (as returned by Statement.getColumnNames()) 'values' : an array of rows. Each row is itself an array of values - *# Example use + ## Example use We have the following table, named *test* : | id | age | name | @@ -210948,10 +221587,10 @@ Database = (function() { */ Database.prototype['export'] = function() { - var binaryDb, stmt, _, _ref; - _ref = this.statements; - for (_ in _ref) { - stmt = _ref[_]; + var _, binaryDb, ref, stmt; + ref = this.statements; + for (_ in ref) { + stmt = ref[_]; stmt['free'](); } this.handleError(sqlite3_close_v2(this.db)); @@ -210977,10 +221616,10 @@ Database = (function() { */ Database.prototype['close'] = function() { - var stmt, _, _ref; - _ref = this.statements; - for (_ in _ref) { - stmt = _ref[_]; + var _, ref, stmt; + ref = this.statements; + for (_ in ref) { + stmt = ref[_]; stmt['free'](); } this.handleError(sqlite3_close_v2(this.db));